Copy MPW5 files
diff --git a/.gitignore b/.gitignore
index 9ccca4b..589a74a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -3,3 +3,4 @@
 *.lst
 *.vcd
 *.gtkw
+*.log
diff --git a/README.md b/README.md
index 3077244..4a8508b 100644
--- a/README.md
+++ b/README.md
@@ -1,12 +1,163 @@
-# Caravel User Project
+# Marmot RISC-V SoC 
 
-[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) [![UPRJ_CI](https://github.com/efabless/caravel_project_example/actions/workflows/user_project_ci.yml/badge.svg)](https://github.com/efabless/caravel_project_example/actions/workflows/user_project_ci.yml) [![Caravel Build](https://github.com/efabless/caravel_project_example/actions/workflows/caravel_build.yml/badge.svg)](https://github.com/efabless/caravel_project_example/actions/workflows/caravel_build.yml)
+## A Customizable RISC-V Microcomputer
+A custom microcomputer design is useful when off-the-shelf general-purpose microcontrollers fail to meet the system needs. The rocket SoC generator automatically generate an SoC. It circumvents labor-intensive, error-prone, top-level SoC design.
 
-| :exclamation: Important Note            |
-|-----------------------------------------|
+## SoC Customization Flow
+The Rocket SoC Generator and Caravel SoC Template are reused to create a twin (not identical) RISC-V SoC consisting of one Rocket RISC-V and one Caravel RISC-V. The objectives here is to save hours on design verification and reduce power consumption rather than saving die area or chip cost. 
 
-## Please fill in your project documentation in this README.md file 
+```mermaid
+graph TD
+A(A SoC Wish List) -- SoC Description in Chisel--> B
+B[The Rocket SoC Generator] --SoC RTL--> D[The OpenLane Flow]
+C[Caravel SoC Harness] --Harness RTL--> D
+B --FPGA RTL--> L
+P[RISC-V IDE Tools]--Code and Executables-->H
+L[_Yosys_+nextpnr] --Bitstream--> K[Lattice ECP5 Eval Board]
+E(Caravel Firmware)  --Init, Monitoring, Debug--> C
+D --Sky130 GDS II Layout Data--> F[eFabless MPW]
+O[Xschema]--Circuit schematics-->J
+F --MPW Chips--> H
+F --MPW Chips--> I
+I[Caravel EVB] --Breadboarding-->H{User system}
+J[KiCad]--Gerber and BOM-->H
+```
 
-Refer to [README](docs/source/quickstart.rst) for a quick start of how to use caravel_user_project
+##  Implementing low power operations
+The following shows a scheme to manage clock, reset, power and low power state.
 
-Refer to [README](docs/source/index.rst) for this sample project documentation. 
+```mermaid
+sequenceDiagram
+Note right of System: Powers<br/>Caravel<br/>Chip.
+System -->> Harness: Reset
+System -->> Harness: Reset
+System -->> Caravel SoC: Reset
+Harness -->> Caravel SoC: core clock
+Harness -->> Caravel SoC: core reset
+Caravel SoC->>Harness: Configuration of clk, DLL
+Caravel SoC->>Harness: Configure pad data routing and GPIO
+Harness-->>Rocket SoC: Set user_clock full speed
+Caravel SoC->>Rocket SoC: Reset user logic
+Note left of Rocket SoC: Rocket boots<br/>from ROM logic<br/>XIP SPI flash<br/>runs on DTIM.
+Rocket SoC -->> Caravel SoC: Rocket is running OK
+Note left of Caravel SoC: Acknoleging <br/>Rocket OK<br/>tuns off External<br/>CPG power<br/>via GPIO or I2C.
+Caravel SoC->>System: Turn off External CPG Power
+Note left of Rocket SoC: Rocket sends message<br/>"Bring Caravel<br/>to lowest power state"<br/>e.g. wishbone mailbox<br/>and interrupt.
+Rocket SoC->>Caravel SoC: "Go low on power"
+Note left of Caravel SoC: Management SoC sets<br/>Clocking and DLL<br/> to Caravel's<br/>lowest power state<br/>via System control.
+Caravel SoC->> Harness: Caravel goes low power.
+Note left of Rocket SoC: Rocket gets<br/>wake up signal<br/>from RTC.
+Rocket SoC->>Caravel SoC: "Go full power"
+Caravel SoC->>Harness: Configure Clock, DLL via System control
+Caravel SoC->>Rocket SoC: "Went full power".
+```
+## Peripheral Overviews
+|Peripheral|Units | Pins / unit | Total pins | Muxed with GPIO | Note
+|-------|-------|-------|-------|------|------|
+|Clock|1|1|0|-|From mgmt.SoC
+|Reset|1|1|0|-|From mgmt.SoC
+|QSPI 0 (XIP)|1|6|6|No|For Flash
+|QSPI 1 (no XIP)|1|7|7|Yes|For ADC, etc. (CS x2)
+|QSPI 2 (no XIP)|1|6|6|Yes|For PSRAM (no time to support XIP)
+|UART 0|1|2|2|No	
+|UART 1-4|4|2|8|Yes	
+|I2C 0-1|2|2|4|Yes	
+|JTAG|1|4|4|No	
+|Total|||37||Max. 38
+
+## Pinouts
+Caravel mprj_io[#]|Caravel Mgmt. SoC|Rocket (Marmot) IOF0|Rocket (Marmot) GPIO
+|-------|-------|-------|-------|
+0|JTAG|-|-
+1|SDO|TDO|-
+2|SDI|TDI|-
+3|CSB|TMS|-
+4|SCK|TCK|-
+5|ser_rx|uart0_rx|-
+6|ser_tx|uart0_tx|-
+7|irq|spi1_csb[1]|gpio[24]
+8|flash2_csb|spi0_flash_csb|-
+9|flash2_sck|spi0_flash_sck|-
+10|flash2_io[0]|spi0_flash_io[0]|-
+11|flash2_io[1]|spi0_flash_io[1]|-
+12|-|spi0_flash_io[2]|-
+13|-|spi0_flash_io[3]|-
+14|-|spi1_csb[0]|gpio[0]
+15|-|spi1_sck|gpio[1]
+16|-|spi1_io[0]|gpio[2]
+17|-|spi1_io[1]|gpio[3]
+18|-|spi1_io[2]|gpio[4]
+19|-|spi1_io[3]|gpio[5]
+20|-|spi2_csb|gpio[6]
+21|-|spi2_sck|gpio[7]
+22|-|spi2_io[0]|gpio[8]
+23|-|spi2_io[1]|gpio[9]
+24|-|spi2_io[2]|gpio[10]
+25|-|spi2_io[3]|gpio[11]
+26|-|i2c0_sda|gpio[12]
+27|-|i2c0_scl|gpio[13]
+28|-|i2c1_sda|gpio[14]
+29|-|i2c1_scl|gpio[15]
+30|-|uart1_rx|gpio[16]
+31|-|uart1_tx|gpio[17]
+32|-|uart2_rx|gpio[18]
+33|-|uart2_tx|gpio[19]
+34|-|uart3_rx|gpio[20]
+35|-|uart3_tx|gpio[21]
+36|-|uart4_rx|gpio[22]
+37|-|uart4_tx|gpio[23]
+
+## Address Map
+Base|Top|Attribute|Description|Notes
+|-------|-------|-------|-------|-------|
+0x0000_0000|0x0000_0FFF|RWX A|Debug|Debug Address Space
+0x0000_1000|0x0000_2FFF||Reserved|On-Chip Non Volatile Memory
+0x0000_3000|0x0000_3FFF|RWX A|Error Device|On-Chip Non Volatile Memory
+0x0000_4000|0x0000_FFFF||Reserved|On-Chip Non Volatile Memory
+0x0001_0000|0x0001_1FFF|R XC|Mask ROM (8 KiB)|On-Chip Non Volatile Memory
+0x0001_2000|0x0002_1FFF||Reserved|On-Chip Non Volatile Memory
+0x0200_0000|0x0200_FFFF|RW A|CLINT|On-Chip Peripherals
+0x0201_0000|0x07FF_FFFF||Reserved|On-Chip Peripherals
+0x0800_0000|0x0800_1FFF|RWX A|ITIM (8 KiB)[^1]|On-Chip Volatile Memory
+0x0800_2000|0x0BFF_FFFF||Reserved|On-Chip Volatile Memory
+0x0C00_0000|0x0FFF_FFFF|RW A|PLIC|On-Chip Peripherals
+0x1000_0000|0x1000_0FFF|RW A|AON|On-Chip Peripherals
+0x1000_1000|0x1001_1FFF||Reserved|On-Chip Peripherals
+0x1001_2000|0x1001_2FFF|RW A|GPlO|On-Chip Peripherals
+0x1001_3000|0x1001_3FFF|RW A|UART 0|On-Chip Peripherals
+0x1001_4000|0x1001_4FFF|RW A|QSPI 0|On-Chip Peripherals
+0x1001_5000|0x1001_5FFF||Reserved|On-Chip Peripherals
+0x1001_6000|0x1001_6FFF|RW A|I2C 0|On-Chip Peripherals
+0x1001_7000|0x1002_2FFF||Reserved|On-Chip Peripherals
+0x1002_3000|0x1002_3FFF|RW A|UART 1|On-Chip Peripherals
+0x1002_4000|0x1002_4FFF|RW A|QSPI 1|On-Chip Peripherals
+0x1002_5000|0x1002_5FFF||Reserved|On-Chip Peripherals
+0x1002_6000|0x1002_6FFF|RW A|I2C 1|On-Chip Peripherals
+0x1002_7000|0x1003_2FFF||Reserved|On-Chip Peripherals
+0x1003_3000|0x1003_3FFF|RW A|UART 2|On-Chip Peripherals
+0x1003_4000|0x1003_4FFF|RW A|QSPI 2|On-Chip Peripherals
+0x1003_5000|0x1FFF_FFFF||Reserved|On-Chip Peripherals
+0x1004_3000|0x1005_2FFF|RW A|UART3|On-Chip Peripherals
+0x1004_4000|0x1005_2FFF||Reserved|On-Chip Peripherals
+0x1005_3000|0x1005_3FFF|RW A|UART 4|On-Chip Peripherals
+0x1005_4000|0x1FFF_FFFF||Reserved|On-Chip Peripherals
+0x2000_0000|0x3FFF_FFFF|R XC|QSPI 0 Flash (512 MiB)|Off-Chip Non-Volatile Memory
+0x4000_0000|0x7FFF_FFFF||Reserved|Off-Chip Non-Volatile Memory
+0x8000_0000|0x8000_3FFF|RWX A|DTIM (16 KiB)[^1]|On-Chip Volatile Memory
+0x8000_4000|0xFFFF_FFFF||Reserved|On-Chip Volatile Memory
+
+[^1]: Memory size may be reduced due to chip size limitation.
+
+## Reference
+
+Freedom E300 Arty FPGA Dev Kit
+https://github.com/sifive/freedom#freedom-e300-arty-fpga-dev-kit
+
+Krste Asanović, Rimas Avižienis, Jonathan Bachrach, Scott Beamer, David Biancolin, Christopher Celio, Henry Cook, Palmer Dabbelt, John Hauser, Adam Izraelevitz, Sagar Karandikar, Benjamin Keller, Donggyu Kim, John Koenig, Yunsup Lee, Eric Love, Martin Maas, Albert Magyar, Howard Mao, Miquel Moreto, Albert Ou, David Patterson, Brian Richards, Colin Schmidt, Stephen Twigg, Huy Vo, and Andrew Waterman, _[The Rocket Chip Generator](http://www.eecs.berkeley.edu/Pubs/TechRpts/2016/EECS-2016-17.html)_, Technical Report UCB/EECS-2016-17, EECS Department, University of California, Berkeley, April 2016
+
+eFabless Caravel Architecture
+https://caravel-harness.readthedocs.io/en/latest/getting-started.html
+
+## Acknowledgements
+
+This work is based on results obtained from project, JPNP16007, commissioned by The New Energy and Industrial Technology Development Organization (NEDO). 
diff --git a/openlane/marmot/base.sdc b/openlane/marmot/base.sdc
new file mode 100644
index 0000000..82783e2
--- /dev/null
+++ b/openlane/marmot/base.sdc
@@ -0,0 +1,37 @@
+create_clock [get_ports $::env(CLOCK_PORT)]  -name $::env(CLOCK_PORT)  -period $::env(CLOCK_PERIOD)
+create_clock [get_pins MarmotCaravelChip/MarmotCaravelPlatform/io_pins_jtag_TCK_i_ival] -name jtag_TCK -period $::env(CLOCK_PERIOD)
+
+set input_delay_value [expr $::env(CLOCK_PERIOD) * $::env(IO_PCT)]
+set output_delay_value [expr $::env(CLOCK_PERIOD) * $::env(IO_PCT)]
+puts "\[INFO\]: Setting output delay to: $output_delay_value"
+puts "\[INFO\]: Setting input delay to: $input_delay_value"
+
+set_max_fanout $::env(SYNTH_MAX_FANOUT) [current_design]
+
+set clk_indx [lsearch [all_inputs] [get_port $::env(CLOCK_PORT)]]
+#set rst_indx [lsearch [all_inputs] [get_port resetn]]
+set all_inputs_wo_clk [lreplace [all_inputs] $clk_indx $clk_indx]
+#set all_inputs_wo_clk_rst [lreplace $all_inputs_wo_clk $rst_indx $rst_indx]
+set all_inputs_wo_clk_rst $all_inputs_wo_clk
+
+
+# correct resetn
+set_input_delay $input_delay_value  -clock [get_clocks $::env(CLOCK_PORT)] $all_inputs_wo_clk_rst
+#set_input_delay 0.0 -clock [get_clocks $::env(CLOCK_PORT)] {resetn}
+set_output_delay $output_delay_value  -clock [get_clocks $::env(CLOCK_PORT)] [all_outputs]
+
+# TODO set this as parameter
+set_driving_cell -lib_cell $::env(SYNTH_DRIVING_CELL) -pin $::env(SYNTH_DRIVING_CELL_PIN) [all_inputs]
+set cap_load [expr $::env(SYNTH_CAP_LOAD) / 1000.0]
+puts "\[INFO\]: Setting load to: $cap_load"
+set_load  $cap_load [all_outputs]
+
+puts "\[INFO\]: Setting clock uncertainity to: $::env(SYNTH_CLOCK_UNCERTAINITY)"
+set_clock_uncertainty $::env(SYNTH_CLOCK_UNCERTAINITY) [get_clocks $::env(CLOCK_PORT)]
+
+puts "\[INFO\]: Setting clock transition to: $::env(SYNTH_CLOCK_TRANSITION)"
+set_clock_transition $::env(SYNTH_CLOCK_TRANSITION) [get_clocks $::env(CLOCK_PORT)]
+
+puts "\[INFO\]: Setting timing derate to: [expr {$::env(SYNTH_TIMING_DERATE) * 10}] %"
+set_timing_derate -early [expr {1-$::env(SYNTH_TIMING_DERATE)}]
+set_timing_derate -late [expr {1+$::env(SYNTH_TIMING_DERATE)}]
diff --git a/openlane/marmot/config.tcl b/openlane/marmot/config.tcl
new file mode 100644
index 0000000..6e7a32b
--- /dev/null
+++ b/openlane/marmot/config.tcl
@@ -0,0 +1,71 @@
+# SPDX-FileCopyrightText: 2020 Efabless Corporation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# SPDX-License-Identifier: Apache-2.0
+
+set ::env(PDK) "sky130A"
+set ::env(STD_CELL_LIBRARY) "sky130_fd_sc_hd"
+
+set script_dir [file dirname [file normalize [info script]]]
+
+set ::env(ROUTING_CORES) 4
+
+# Define
+set ::env(SYNTH_DEFINES) "SYNTHESIS"
+
+set ::env(DESIGN_NAME) Marmot
+
+set ::env(VERILOG_FILES) "\
+	$::env(CARAVEL_ROOT)/verilog/rtl/defines.v \
+	[glob $script_dir/../../verilog/rtl/marmot/*.v]"
+
+set ::env(DESIGN_IS_CORE) 0
+
+set ::env(CLOCK_PORT) "wb_clk_i"
+#set ::env(CLOCK_NET)  "clk"
+set ::env(CLOCK_PERIOD) "40"
+
+set ::env(PL_RESIZER_HOLD_SLACK_MARGIN) 0.2
+
+set ::env(BASE_SDC_FILE) $script_dir/base.sdc
+
+#set ::env(SYNTH_STRATEGY) "AREA 0"
+
+set ::env(FP_CORE_UTIL) 30
+
+#set ::env(FP_SIZING) absolute
+#set ::env(DIE_AREA) "0 0 1757 1767"
+
+set ::env(FP_PIN_ORDER_CFG) $script_dir/pin_order.cfg
+
+set ::env(PL_BASIC_PLACEMENT) 0
+set ::env(PL_TARGET_DENSITY) 0.33
+
+set ::env(CELL_PAD) 2
+
+# Maximum layer used for routing is metal 4.
+# This is because this macro will be inserted in a top level (user_project_wrapper) 
+# where the PDN is planned on metal 5. So, to avoid having shorts between routes
+# in this macro and the top level metal 5 stripes, we have to restrict routes to metal4.  
+# 
+# set ::env(GLB_RT_MAXLAYER) 5
+
+set ::env(RT_MAX_LAYER) {met4}
+
+# You can draw more power domains if you need to 
+set ::env(VDD_NETS) [list {vccd1}]
+set ::env(GND_NETS) [list {vssd1}]
+
+set ::env(DIODE_INSERTION_STRATEGY) 4 
+# If you're going to use multiple power domains, then disable cvc run.
+set ::env(RUN_CVC) 1
diff --git a/openlane/marmot/pin_order.cfg b/openlane/marmot/pin_order.cfg
new file mode 100644
index 0000000..605f79f
--- /dev/null
+++ b/openlane/marmot/pin_order.cfg
@@ -0,0 +1,74 @@
+#BUS_SORT
+
+#S
+wb_.*
+wbs_.*
+la_.*
+irq.*
+
+#N
+tag_array_ext_ram_rdata0\[.*\]
+tag_array_ext_ram_addr\[.*\]
+tag_array_ext_ram_clk
+tag_array_ext_ram_wdata\[.*\]
+tag_array_ext_ram_wmask\[.*\]
+tag_array_ext_ram_csb
+tag_array_ext_ram_web
+tag_array_ext_ram_csb1\[.*\]
+tag_array_ext_ram_addr1\[.*\]
+tag_array_ext_ram_rdata1\[.*\]
+io_.*\[37\]
+io_.*\[36\]
+io_.*\[35\]
+io_.*\[34\]
+io_.*\[33\]
+io_.*\[32\]
+io_.*\[31\]
+io_.*\[30\]
+io_.*\[29\]
+io_.*\[28\]
+io_.*\[27\]
+io_.*\[26\]
+io_.*\[25\]
+io_.*\[24\]
+io_.*\[23\]
+io_.*\[22\]
+io_.*\[21\]
+io_.*\[20\]
+io_.*\[19\]
+io_.*\[18\]
+io_.*\[17\]
+io_.*\[16\]
+io_.*\[15\]
+data_arrays_0_0_ext_ram_rdata3\[.*\]
+
+#E
+io_.*\[0\]
+io_.*\[1\]
+io_.*\[2\]
+io_.*\[3\]
+io_.*\[4\]
+io_.*\[5\]
+io_.*\[6\]
+io_.*\[7\]
+io_.*\[8\]
+io_.*\[9\]
+io_.*\[10\]
+io_.*\[11\]
+io_.*\[12\]
+io_.*\[13\]
+io_.*\[14\]
+
+#W
+data_arrays_0_0_ext_ram_rdata0\[.*\]
+data_arrays_0_0_ext_ram_addr\[.*\]
+data_arrays_0_0_ext_ram_clk
+data_arrays_0_0_ext_ram_wdata\[.*\]
+data_arrays_0_0_ext_ram_wmask\[.*\]
+data_arrays_0_0_ext_ram_csb\[.*\]
+data_arrays_0_0_ext_ram_web
+data_arrays_0_0_ext_ram_csb1\[.*\]
+data_arrays_0_0_ext_ram_addr1\[.*\]
+data_arrays_0_0_ext_ram_rdata1\[.*\]
+data_arrays_0_0_ext_ram_rdata2\[.*\]
+
diff --git a/openlane/user_project_wrapper/config.tcl b/openlane/user_project_wrapper/config.tcl
old mode 100755
new mode 100644
index f720e39..9e897ed
--- a/openlane/user_project_wrapper/config.tcl
+++ b/openlane/user_project_wrapper/config.tcl
@@ -32,21 +32,48 @@
 
 # User Configurations
 
+# save some time
+set ::env(RUN_KLAYOUT_XOR) 0
+set ::env(RUN_KLAYOUT_DRC) 0
+# no point in running DRC with magic once openram is in because it will find 3M issues
+# try to turn off all DRC checking so the flow completes and use precheck for DRC instead.
+set ::env(MAGIC_DRC_USE_GDS) 0
+set ::env(RUN_MAGIC_DRC) 0
+set ::env(QUIT_ON_MAGIC_DRC) 0
+
+set ::env(ROUTING_CORES) 4
+
+# Define
+set ::env(SYNTH_DEFINES) "MARMOT_EMPTY"
+
 ## Source Verilog Files
 set ::env(VERILOG_FILES) "\
 	$::env(CARAVEL_ROOT)/verilog/rtl/defines.v \
 	$script_dir/../../verilog/rtl/user_project_wrapper.v"
 
 ## Clock configurations
-set ::env(CLOCK_PORT) "user_clock2"
-set ::env(CLOCK_NET) "mprj.clk"
+set ::env(CLOCK_PORT) "wb_clk_i"
+#set ::env(CLOCK_NET) "Marmot.clk"
 
-set ::env(CLOCK_PERIOD) "10"
+set ::env(CLOCK_PERIOD) "40"
+
+set ::env(FP_PDN_HPITCH) 100
+set ::env(FP_PDN_VPITCH) 100
 
 ## Internal Macros
 ### Macro PDN Connections
 set ::env(FP_PDN_MACRO_HOOKS) "\
-	mprj vccd1 vssd1"
+	Marmot vccd1 vssd1 \
+        data_arrays_0_0_ext_ram0l vccd1 vssd1 \
+        data_arrays_0_0_ext_ram0h vccd1 vssd1 \
+        data_arrays_0_0_ext_ram1l vccd1 vssd1 \
+        data_arrays_0_0_ext_ram1h vccd1 vssd1 \
+        data_arrays_0_0_ext_ram2l vccd1 vssd1 \
+        data_arrays_0_0_ext_ram2h vccd1 vssd1 \
+        data_arrays_0_0_ext_ram3l vccd1 vssd1 \
+        data_arrays_0_0_ext_ram3h vccd1 vssd1 \
+        tag_array_ext_ram0l vccd1 vssd1 \
+        tag_array_ext_ram0h vccd1 vssd1"
 
 ### Macro Placement
 set ::env(MACRO_PLACEMENT_CFG) $script_dir/macro.cfg
@@ -54,17 +81,72 @@
 ### Black-box verilog and views
 set ::env(VERILOG_FILES_BLACKBOX) "\
 	$::env(CARAVEL_ROOT)/verilog/rtl/defines.v \
-	$script_dir/../../verilog/rtl/user_proj_example.v"
+	$script_dir/../../verilog/rtl/marmot/Marmot.v \
+        $::env(PDK_ROOT)/sky130A/libs.ref/sky130_sram_macros/verilog/sky130_sram_2kbyte_1rw1r_32x512_8.v \
+        $::env(PDK_ROOT)/sky130A/libs.ref/sky130_sram_macros/verilog/sky130_sram_1kbyte_1rw1r_32x256_8.v"
 
 set ::env(EXTRA_LEFS) "\
-	$script_dir/../../lef/user_proj_example.lef"
+	$script_dir/../../lef/Marmot.lef \
+        $::env(PDK_ROOT)/sky130A/libs.ref/sky130_sram_macros/lef/sky130_sram_2kbyte_1rw1r_32x512_8.lef \
+        $::env(PDK_ROOT)/sky130A/libs.ref/sky130_sram_macros/lef/sky130_sram_1kbyte_1rw1r_32x256_8.lef"
 
 set ::env(EXTRA_GDS_FILES) "\
-	$script_dir/../../gds/user_proj_example.gds"
+	$script_dir/../../gds/Marmot.gds.gz \
+        $::env(PDK_ROOT)/sky130A/libs.ref/sky130_sram_macros/gds/sky130_sram_2kbyte_1rw1r_32x512_8.gds \
+        $::env(PDK_ROOT)/sky130A/libs.ref/sky130_sram_macros/gds/sky130_sram_1kbyte_1rw1r_32x256_8.gds"
+
+set ::env(EXTRA_LIBS) "\
+        $::env(PDK_ROOT)/sky130A/libs.ref/sky130_sram_macros/lib/sky130_sram_1kbyte_1rw1r_32x256_8_TT_1p8V_25C.lib \
+        $::env(PDK_ROOT)/sky130A/libs.ref/sky130_sram_macros/lib/sky130_sram_2kbyte_1rw1r_32x512_8_TT_1p8V_25C.lib"
+
+# Obstruction over SRAMs
+set ::env(GLB_RT_OBS) " \
+    met1  150.00  150.00  833.10  566.54,
+    met2  150.00  150.00  833.10  566.54,
+    met3  150.00  150.00  833.10  566.54,
+    met4  150.00  150.00  833.10  566.54,
+    met1  150.00  710.00  833.10 1126.54,
+    met2  150.00  710.00  833.10 1126.54,
+    met3  150.00  710.00  833.10 1126.54,
+    met4  150.00  710.00  833.10 1126.54,
+    met1  150.00 1270.00  833.10 1686.54,
+    met2  150.00 1270.00  833.10 1686.54,
+    met3  150.00 1270.00  833.10 1686.54,
+    met4  150.00 1270.00  833.10 1686.54,
+    met1  150.00 1830.00  833.10 2246.54,
+    met2  150.00 1830.00  833.10 2246.54,
+    met3  150.00 1830.00  833.10 2246.54,
+    met4  150.00 1830.00  833.10 2246.54,
+    met1  150.00 2390.00  833.10 2806.54,
+    met2  150.00 2390.00  833.10 2806.54,
+    met3  150.00 2390.00  833.10 2806.54,
+    met4  150.00 2390.00  833.10 2806.54,
+    met1  150.00 2950.00  833.10 3366.54,
+    met2  150.00 2950.00  833.10 3366.54,
+    met3  150.00 2950.00  833.10 3366.54,
+    met4  150.00 2950.00  833.10 3366.54,
+    met1 1000.00 2270.00 1683.10 2686.54,
+    met2 1000.00 2270.00 1683.10 2686.54,
+    met3 1000.00 2270.00 1683.10 2686.54,
+    met4 1000.00 2270.00 1683.10 2686.54,
+    met1 2050.00 2270.00 2733.10 2686.54,
+    met2 2050.00 2270.00 2733.10 2686.54,
+    met3 2050.00 2270.00 2733.10 2686.54,
+    met4 2050.00 2270.00 2733.10 2686.54,
+    met1 1200.00 2890.00 1679.78 3287.50,
+    met2 1200.00 2890.00 1679.78 3287.50,
+    met3 1200.00 2890.00 1679.78 3287.50,
+    met4 1200.00 2890.00 1679.78 3287.50,
+    met1 2050.00 2890.00 2529.78 3287.50,
+    met2 2050.00 2890.00 2529.78 3287.50,
+    met3 2050.00 2890.00 2529.78 3287.50,
+    met4 2050.00 2890.00 2529.78 3287.50"
 
 # set ::env(GLB_RT_MAXLAYER) 5
 set ::env(RT_MAX_LAYER) {met4}
 
+set ::env(GLB_RT_ALLOW_CONGESTION) 1
+
 # disable pdn check nodes becuase it hangs with multiple power domains.
 # any issue with pdn connections will be flagged with LVS so it is not a critical check.
 set ::env(FP_PDN_CHECK_NODES) 0
diff --git a/openlane/user_project_wrapper/macro.cfg b/openlane/user_project_wrapper/macro.cfg
index a7365ab..70ee044 100644
--- a/openlane/user_project_wrapper/macro.cfg
+++ b/openlane/user_project_wrapper/macro.cfg
@@ -1 +1,15 @@
-mprj 1175 1690 N
+# Logic
+Marmot 1000 300 N
+
+# I-Cache / ITIM
+data_arrays_0_0_ext_ram0l  150  150 FN
+data_arrays_0_0_ext_ram0h  150  710 FN
+data_arrays_0_0_ext_ram1l  150 1270 FN
+data_arrays_0_0_ext_ram1h  150 1830 FN
+data_arrays_0_0_ext_ram2l  150 2390 FN
+data_arrays_0_0_ext_ram2h  150 2950 FN
+data_arrays_0_0_ext_ram3l 1000 2270 FN
+data_arrays_0_0_ext_ram3h 2050 2270 N
+tag_array_ext_ram0l       1200 2890 FN
+tag_array_ext_ram0h       2050 2890 N
+
diff --git a/verilog/lib/sky130_sram_1kbyte_1rw1r_32x256_8.v b/verilog/lib/sky130_sram_1kbyte_1rw1r_32x256_8.v
new file mode 100644
index 0000000..62be88f
--- /dev/null
+++ b/verilog/lib/sky130_sram_1kbyte_1rw1r_32x256_8.v
@@ -0,0 +1,125 @@
+// OpenRAM SRAM model
+// Words: 256
+// Word size: 32
+// Write size: 8
+
+module sky130_sram_1kbyte_1rw1r_32x256_8(
+`ifdef USE_POWER_PINS
+    vccd1,
+    vssd1,
+`endif
+// Port 0: RW
+    clk0,csb0,web0,wmask0,addr0,din0,dout0,
+// Port 1: R
+    clk1,csb1,addr1,dout1
+  );
+
+  parameter NUM_WMASKS = 4 ;
+  parameter DATA_WIDTH = 32 ;
+  parameter ADDR_WIDTH = 8 ;
+  parameter RAM_DEPTH = 1 << ADDR_WIDTH;
+  // FIXME: This delay is arbitrary.
+  parameter DELAY = 3 ;
+  parameter VERBOSE = 0 ; //Set to 0 to only display warnings
+  parameter T_HOLD = 1 ; //Delay to hold dout value after posedge. Value is arbitrary
+
+`ifdef USE_POWER_PINS
+    inout vccd1;
+    inout vssd1;
+`endif
+  input  clk0; // clock
+  input   csb0; // active low chip select
+  input  web0; // active low write control
+  input [NUM_WMASKS-1:0]   wmask0; // write mask
+  input [ADDR_WIDTH-1:0]  addr0;
+  input [DATA_WIDTH-1:0]  din0;
+  output [DATA_WIDTH-1:0] dout0;
+  input  clk1; // clock
+  input   csb1; // active low chip select
+  input [ADDR_WIDTH-1:0]  addr1;
+  output [DATA_WIDTH-1:0] dout1;
+
+  reg  csb0_reg;
+  reg  web0_reg;
+  reg [NUM_WMASKS-1:0]   wmask0_reg;
+  reg [ADDR_WIDTH-1:0]  addr0_reg;
+  reg [DATA_WIDTH-1:0]  din0_reg;
+  reg [DATA_WIDTH-1:0]  dout0;
+
+  // All inputs are registers
+  always @(posedge clk0)
+  begin
+    csb0_reg = csb0;
+    web0_reg = web0;
+    wmask0_reg = wmask0;
+    addr0_reg = addr0;
+    din0_reg = din0;
+    #(T_HOLD) dout0 = 32'bx;
+    if ( !csb0_reg && web0_reg && VERBOSE ) 
+      $display($time," Reading %m addr0=%b dout0=%b",addr0_reg,mem[addr0_reg]);
+    if ( !csb0_reg && !web0_reg && VERBOSE )
+      $display($time," Writing %m addr0=%b din0=%b wmask0=%b",addr0_reg,din0_reg,wmask0_reg);
+  end
+
+  reg  csb1_reg;
+  reg [ADDR_WIDTH-1:0]  addr1_reg;
+  reg [DATA_WIDTH-1:0]  dout1;
+
+  // All inputs are registers
+  always @(posedge clk1)
+  begin
+    csb1_reg = csb1;
+    addr1_reg = addr1;
+    if (!csb0 && !web0 && !csb1 && (addr0 == addr1))
+         $display($time," WARNING: Writing and reading addr0=%b and addr1=%b simultaneously!",addr0,addr1);
+    #(T_HOLD) dout1 = 32'bx;
+    if ( !csb1_reg && VERBOSE ) 
+      $display($time," Reading %m addr1=%b dout1=%b",addr1_reg,mem[addr1_reg]);
+  end
+
+reg [DATA_WIDTH-1:0]    mem [0:RAM_DEPTH-1];
+
+  `ifdef RANDOMIZE_MEM_INIT
+    integer initvar;
+    initial begin
+      #`RANDOMIZE_DELAY begin end
+      for (initvar = 0; initvar < RAM_DEPTH; initvar = initvar+1)
+        mem[initvar] = {1 {$random}};
+      dout0 = {1 {$random}};
+      dout1 = {1 {$random}};
+    end
+  `endif
+
+  // Memory Write Block Port 0
+  // Write Operation : When web0 = 0, csb0 = 0
+  always @ (negedge clk0)
+  begin : MEM_WRITE0
+    if ( !csb0_reg && !web0_reg ) begin
+        if (wmask0_reg[0])
+                mem[addr0_reg][7:0] = din0_reg[7:0];
+        if (wmask0_reg[1])
+                mem[addr0_reg][15:8] = din0_reg[15:8];
+        if (wmask0_reg[2])
+                mem[addr0_reg][23:16] = din0_reg[23:16];
+        if (wmask0_reg[3])
+                mem[addr0_reg][31:24] = din0_reg[31:24];
+    end
+  end
+
+  // Memory Read Block Port 0
+  // Read Operation : When web0 = 1, csb0 = 0
+  always @ (negedge clk0)
+  begin : MEM_READ0
+    if (!csb0_reg && web0_reg)
+       dout0 <= #(DELAY) mem[addr0_reg];
+  end
+
+  // Memory Read Block Port 1
+  // Read Operation : When web1 = 1, csb1 = 0
+  always @ (negedge clk1)
+  begin : MEM_READ1
+    if (!csb1_reg)
+       dout1 <= #(DELAY) mem[addr1_reg];
+  end
+
+endmodule
diff --git a/verilog/lib/sky130_sram_2kbyte_1rw1r_32x512_8.v b/verilog/lib/sky130_sram_2kbyte_1rw1r_32x512_8.v
new file mode 100644
index 0000000..0b7fc44
--- /dev/null
+++ b/verilog/lib/sky130_sram_2kbyte_1rw1r_32x512_8.v
@@ -0,0 +1,125 @@
+// OpenRAM SRAM model
+// Words: 512
+// Word size: 32
+// Write size: 8
+
+module sky130_sram_2kbyte_1rw1r_32x512_8(
+`ifdef USE_POWER_PINS
+    vccd1,
+    vssd1,
+`endif
+// Port 0: RW
+    clk0,csb0,web0,wmask0,addr0,din0,dout0,
+// Port 1: R
+    clk1,csb1,addr1,dout1
+  );
+
+  parameter NUM_WMASKS = 4 ;
+  parameter DATA_WIDTH = 32 ;
+  parameter ADDR_WIDTH = 9 ;
+  parameter RAM_DEPTH = 1 << ADDR_WIDTH;
+  // FIXME: This delay is arbitrary.
+  parameter DELAY = 3 ;
+  parameter VERBOSE = 0 ; //Set to 0 to only display warnings
+  parameter T_HOLD = 1 ; //Delay to hold dout value after posedge. Value is arbitrary
+
+`ifdef USE_POWER_PINS
+    inout vccd1;
+    inout vssd1;
+`endif
+  input  clk0; // clock
+  input   csb0; // active low chip select
+  input  web0; // active low write control
+  input [NUM_WMASKS-1:0]   wmask0; // write mask
+  input [ADDR_WIDTH-1:0]  addr0;
+  input [DATA_WIDTH-1:0]  din0;
+  output [DATA_WIDTH-1:0] dout0;
+  input  clk1; // clock
+  input   csb1; // active low chip select
+  input [ADDR_WIDTH-1:0]  addr1;
+  output [DATA_WIDTH-1:0] dout1;
+
+  reg  csb0_reg;
+  reg  web0_reg;
+  reg [NUM_WMASKS-1:0]   wmask0_reg;
+  reg [ADDR_WIDTH-1:0]  addr0_reg;
+  reg [DATA_WIDTH-1:0]  din0_reg;
+  reg [DATA_WIDTH-1:0]  dout0;
+
+  // All inputs are registers
+  always @(posedge clk0)
+  begin
+    csb0_reg = csb0;
+    web0_reg = web0;
+    wmask0_reg = wmask0;
+    addr0_reg = addr0;
+    din0_reg = din0;
+    #(T_HOLD) dout0 = 32'bx;
+    if ( !csb0_reg && web0_reg && VERBOSE ) 
+      $display($time," Reading %m addr0=%b dout0=%b",addr0_reg,mem[addr0_reg]);
+    if ( !csb0_reg && !web0_reg && VERBOSE )
+      $display($time," Writing %m addr0=%b din0=%b wmask0=%b",addr0_reg,din0_reg,wmask0_reg);
+  end
+
+  reg  csb1_reg;
+  reg [ADDR_WIDTH-1:0]  addr1_reg;
+  reg [DATA_WIDTH-1:0]  dout1;
+
+  // All inputs are registers
+  always @(posedge clk1)
+  begin
+    csb1_reg = csb1;
+    addr1_reg = addr1;
+    if (!csb0 && !web0 && !csb1 && (addr0 == addr1))
+         $display($time," WARNING: Writing and reading addr0=%b and addr1=%b simultaneously!",addr0,addr1);
+    #(T_HOLD) dout1 = 32'bx;
+    if ( !csb1_reg && VERBOSE ) 
+      $display($time," Reading %m addr1=%b dout1=%b",addr1_reg,mem[addr1_reg]);
+  end
+
+reg [DATA_WIDTH-1:0]    mem [0:RAM_DEPTH-1];
+
+  `ifdef RANDOMIZE_MEM_INIT
+    integer initvar;
+    initial begin
+      #`RANDOMIZE_DELAY begin end
+      for (initvar = 0; initvar < RAM_DEPTH; initvar = initvar+1)
+        mem[initvar] = {1 {$random}};
+      dout0 = {1 {$random}};
+      dout1 = {1 {$random}};
+    end
+  `endif
+
+  // Memory Write Block Port 0
+  // Write Operation : When web0 = 0, csb0 = 0
+  always @ (negedge clk0)
+  begin : MEM_WRITE0
+    if ( !csb0_reg && !web0_reg ) begin
+        if (wmask0_reg[0])
+                mem[addr0_reg][7:0] = din0_reg[7:0];
+        if (wmask0_reg[1])
+                mem[addr0_reg][15:8] = din0_reg[15:8];
+        if (wmask0_reg[2])
+                mem[addr0_reg][23:16] = din0_reg[23:16];
+        if (wmask0_reg[3])
+                mem[addr0_reg][31:24] = din0_reg[31:24];
+    end
+  end
+
+  // Memory Read Block Port 0
+  // Read Operation : When web0 = 1, csb0 = 0
+  always @ (negedge clk0)
+  begin : MEM_READ0
+    if (!csb0_reg && web0_reg)
+       dout0 <= #(DELAY) mem[addr0_reg];
+  end
+
+  // Memory Read Block Port 1
+  // Read Operation : When web1 = 1, csb1 = 0
+  always @ (negedge clk1)
+  begin : MEM_READ1
+    if (!csb1_reg)
+       dout1 <= #(DELAY) mem[addr1_reg];
+  end
+
+endmodule
diff --git a/verilog/rtl/marmot/AsyncResetReg.v b/verilog/rtl/marmot/AsyncResetReg.v
new file mode 100644
index 0000000..067fb57
--- /dev/null
+++ b/verilog/rtl/marmot/AsyncResetReg.v
@@ -0,0 +1,80 @@
+// See LICENSE.SiFive for license details.
+
+/** This black-boxes an Async Reset
+  * Reg.
+  *  
+  * Because Chisel doesn't support
+  * parameterized black boxes, 
+  * we unfortunately have to 
+  * instantiate a number of these.
+  *  
+  * We also have to hard-code the set/reset.
+  *  
+  *  Do not confuse an asynchronous
+  *  reset signal with an asynchronously
+  *  reset reg. You should still 
+  *  properly synchronize your reset 
+  *  deassertion.
+  *  
+  *  @param d Data input
+  *  @param q Data Output
+  *  @param clk Clock Input
+  *  @param rst Reset Input
+  *  @param en Write Enable Input
+  *  
+  */
+
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+
+module AsyncResetReg (d, q, en, clk, rst);
+parameter RESET_VALUE = 0;
+
+input  wire d;
+output reg  q;
+input  wire en;
+input  wire clk;
+input  wire rst;
+
+   // There is a lot of initialization
+   // here you don't normally find in Verilog
+   // async registers because of scenarios in which reset
+   // is not actually asserted cleanly at time 0,
+   // and we want to make sure to properly model
+   // that, yet Chisel codebase is absolutely intolerant
+   // of Xs.
+`ifndef SYNTHESIS
+  initial begin
+    `ifdef RANDOMIZE
+    integer    initvar;
+    reg [31:0] _RAND;
+    _RAND = {1{$random}};
+    q = _RAND[0];
+    `endif // RANDOMIZE
+    if (rst) begin
+      q = RESET_VALUE;
+    end 
+  end
+`endif
+
+   always @(posedge clk or posedge rst) begin
+
+      if (rst) begin
+         q <= RESET_VALUE;
+      end else if (en) begin
+         q <= d;
+      end
+   end
+ 
+endmodule // AsyncResetReg
+
diff --git a/verilog/rtl/marmot/BootROM.v b/verilog/rtl/marmot/BootROM.v
new file mode 100644
index 0000000..e7bc996
--- /dev/null
+++ b/verilog/rtl/marmot/BootROM.v
@@ -0,0 +1,19 @@
+module BootROM(
+  input clock,
+  input oe,
+  input me,
+  input [10:0] address,
+  output [31:0] q
+);
+  reg [31:0] out;
+
+  always @(posedge clock) begin
+    if (me) begin
+      `include "rom.vh"
+    end
+  end
+
+  assign q = oe ? out : 32'b0;
+
+endmodule
+
diff --git a/verilog/rtl/marmot/Makefile b/verilog/rtl/marmot/Makefile
new file mode 100644
index 0000000..67830dc
--- /dev/null
+++ b/verilog/rtl/marmot/Makefile
@@ -0,0 +1,11 @@
+MARMOT_DIR = /home/shc/Development/RISC-V/freedom/marmotcaravel
+VSRCS = $(MARMOT_DIR)/Marmot.vc
+
+copy:
+	cp -p `grep -v '+incdir+' $(VSRCS)` .
+	cp -p $(MARMOT_DIR)/rom.vh .
+	rm -f user_project_wrapper.v
+	
+clean:
+	rm -f *.v *.vh
+
diff --git a/verilog/rtl/marmot/Marmot.v b/verilog/rtl/marmot/Marmot.v
new file mode 100644
index 0000000..4ef3209
--- /dev/null
+++ b/verilog/rtl/marmot/Marmot.v
@@ -0,0 +1,386 @@
+// SPDX-FileCopyrightText: 2020 Efabless Corporation
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+// SPDX-License-Identifier: Apache-2.0
+
+`default_nettype none
+
+module Marmot
+(
+`ifdef USE_POWER_PINS
+    inout vccd1,	// User area 1 1.8V supply
+    inout vssd1,	// User area 1 digital ground
+`endif
+
+    // Wishbone Slave ports (WB MI A)
+    input wb_clk_i,
+    input wb_rst_i,
+    input wbs_stb_i,
+    input wbs_cyc_i,
+    input wbs_we_i,
+    input [3:0] wbs_sel_i,
+    input [31:0] wbs_dat_i,
+    input [31:0] wbs_adr_i,
+    output wbs_ack_o,
+    output [31:0] wbs_dat_o,
+
+    // Logic Analyzer Signals
+    input  [127:0] la_data_in,
+    output [127:0] la_data_out,
+    input  [127:0] la_oenb,
+
+    // IOs
+    input  [`MPRJ_IO_PADS-1:0] io_in,
+    output [`MPRJ_IO_PADS-1:0] io_out,
+    output [`MPRJ_IO_PADS-1:0] io_oeb,
+
+    // IRQ
+    output [2:0] irq,
+
+    // RAM signals
+//  output        data_arrays_0_ext_ram_clk,
+//  output [7:0]  data_arrays_0_ext_ram_csb,
+//  output        data_arrays_0_ext_ram_web,
+//  output [8:0]  data_arrays_0_ext_ram_addr,
+//  output [31:0] data_arrays_0_ext_ram_wdata,
+//  output [3:0]  data_arrays_0_ext_ram_wmask,
+//  input  [31:0] data_arrays_0_ext_ram_rdata0,
+//  input  [31:0] data_arrays_0_ext_ram_rdata1,
+//  input  [31:0] data_arrays_0_ext_ram_rdata2,
+//  input  [31:0] data_arrays_0_ext_ram_rdata3,
+//  input  [31:0] data_arrays_0_ext_ram_rdata4,
+//  input  [31:0] data_arrays_0_ext_ram_rdata5,
+//  input  [31:0] data_arrays_0_ext_ram_rdata6,
+//  input  [31:0] data_arrays_0_ext_ram_rdata7,
+//  output [7:0]  data_arrays_0_ext_ram_csb1,
+//  output [8:0]  data_arrays_0_ext_ram_addr1,
+
+    output        tag_array_ext_ram_clk,
+    output        tag_array_ext_ram_csb,
+    output        tag_array_ext_ram_web,
+    output [7:0]  tag_array_ext_ram_addr,
+    output [63:0] tag_array_ext_ram_wdata,
+    output [1:0]  tag_array_ext_ram_wmask,
+    input  [31:0] tag_array_ext_ram_rdata0,
+    input  [31:0] tag_array_ext_ram_rdata1,
+    output [1:0]  tag_array_ext_ram_csb1,
+    output [7:0]  tag_array_ext_ram_addr1,
+
+    output        data_arrays_0_0_ext_ram_clk,
+    output [3:0]  data_arrays_0_0_ext_ram_csb,
+    output        data_arrays_0_0_ext_ram_web,
+    output [8:0]  data_arrays_0_0_ext_ram_addr,
+    output [63:0] data_arrays_0_0_ext_ram_wdata,
+    output [1:0]  data_arrays_0_0_ext_ram_wmask,
+    input  [63:0] data_arrays_0_0_ext_ram_rdata0,
+    input  [63:0] data_arrays_0_0_ext_ram_rdata1,
+    input  [63:0] data_arrays_0_0_ext_ram_rdata2,
+    input  [63:0] data_arrays_0_0_ext_ram_rdata3,
+    output [7:0]  data_arrays_0_0_ext_ram_csb1,
+    output [8:0]  data_arrays_0_0_ext_ram_addr1
+);
+
+`ifndef MARMOT_EMPTY
+    //------------------------------------------------------------------------------
+    // RAM signals
+    wire        data_arrays_0_ext_RW0_clk;
+    wire        data_arrays_0_ext_RW0_en;
+    wire        data_arrays_0_ext_RW0_wmode;
+    wire [11:0] data_arrays_0_ext_RW0_addr;
+    wire [31:0] data_arrays_0_ext_RW0_wdata;
+    wire [3:0]  data_arrays_0_ext_RW0_wmask;
+    wire [31:0] data_arrays_0_ext_RW0_rdata;
+
+    wire        tag_array_ext_RW0_clk;
+    wire        tag_array_ext_RW0_en;
+    wire        tag_array_ext_RW0_wmode;
+    wire [6:0]  tag_array_ext_RW0_addr;
+    wire [39:0] tag_array_ext_RW0_wdata;
+    wire [1:0]  tag_array_ext_RW0_wmask;
+    wire [39:0] tag_array_ext_RW0_rdata;
+
+    wire        data_arrays_0_0_ext_RW0_clk;
+    wire        data_arrays_0_0_ext_RW0_en;
+    wire        data_arrays_0_0_ext_RW0_wmode;
+    wire [10:0] data_arrays_0_0_ext_RW0_addr;
+    wire [63:0] data_arrays_0_0_ext_RW0_wdata;
+    wire [1:0]  data_arrays_0_0_ext_RW0_wmask;
+    wire [63:0] data_arrays_0_0_ext_RW0_rdata;
+
+    wire        data_arrays_0_ext_ram_clk;
+    wire [7:0]  data_arrays_0_ext_ram_csb;
+    wire        data_arrays_0_ext_ram_web;
+    wire [8:0]  data_arrays_0_ext_ram_addr;
+    wire [31:0] data_arrays_0_ext_ram_wdata;
+    wire [3:0]  data_arrays_0_ext_ram_wmask;
+    wire [7:0]  data_arrays_0_ext_ram_csb1;
+    wire [8:0]  data_arrays_0_ext_ram_addr1;
+    wire [31:0] data_arrays_0_ext_ram_rdata0 = 32'd0;
+    wire [31:0] data_arrays_0_ext_ram_rdata1 = 32'd0;
+    wire [31:0] data_arrays_0_ext_ram_rdata2 = 32'd0;
+    wire [31:0] data_arrays_0_ext_ram_rdata3 = 32'd0;
+    wire [31:0] data_arrays_0_ext_ram_rdata4 = 32'd0;
+    wire [31:0] data_arrays_0_ext_ram_rdata5 = 32'd0;
+    wire [31:0] data_arrays_0_ext_ram_rdata6 = 32'd0;
+    wire [31:0] data_arrays_0_ext_ram_rdata7 = 32'd0;
+
+    //------------------------------------------------------------------------------
+    // Wishbone Slave ports (WB MI A)
+    reg wbs_ack_o;
+    wire [31:0] wbs_dat_o;
+
+    always @(posedge wb_clk_i) begin
+      if (wb_rst_i) begin
+        wbs_ack_o <= 1'b0;
+      end
+      else begin
+        wbs_ack_o <= wbs_stb_i & wbs_cyc_i;
+      end
+    end
+
+    assign wbs_dat_o = 32'd0;
+
+    //------------------------------------------------------------------------------
+    // Logic Analyzer Signals
+    wire [127:0] la_data_out;
+
+    assign la_data_out = 128'd0;
+
+    //------------------------------------------------------------------------------
+    // IRQ
+    wire [2:0] irq;
+
+    assign irq = 3'b000;
+
+    //------------------------------------------------------------------------------
+    // Clock and Reset to MarmotCaravelChip
+    wire clk;
+    wire rst_n;
+
+    assign clk   = wb_clk_i;
+    assign rst_n = ~wb_rst_i;
+
+    //------------------------------------------------------------------------------
+    // MarmotCaravelChip
+    MarmotCaravelChip MarmotCaravelChip (
+     .clk(clk),
+     .rst_n(rst_n),
+     .io_in_0(io_in[0]),
+     .io_in_1(io_in[1]),
+     .io_in_2(io_in[2]),
+     .io_in_3(io_in[3]),
+     .io_in_4(io_in[4]),
+     .io_in_5(io_in[5]),
+     .io_in_6(io_in[6]),
+     .io_in_7(io_in[7]),
+     .io_in_8(io_in[8]),
+     .io_in_9(io_in[9]),
+     .io_in_10(io_in[10]),
+     .io_in_11(io_in[11]),
+     .io_in_12(io_in[12]),
+     .io_in_13(io_in[13]),
+     .io_in_14(io_in[14]),
+     .io_in_15(io_in[15]),
+     .io_in_16(io_in[16]),
+     .io_in_17(io_in[17]),
+     .io_in_18(io_in[18]),
+     .io_in_19(io_in[19]),
+     .io_in_20(io_in[20]),
+     .io_in_21(io_in[21]),
+     .io_in_22(io_in[22]),
+     .io_in_23(io_in[23]),
+     .io_in_24(io_in[24]),
+     .io_in_25(io_in[25]),
+     .io_in_26(io_in[26]),
+     .io_in_27(io_in[27]),
+     .io_in_28(io_in[28]),
+     .io_in_29(io_in[29]),
+     .io_in_30(io_in[30]),
+     .io_in_31(io_in[31]),
+     .io_in_32(io_in[32]),
+     .io_in_33(io_in[33]),
+     .io_in_34(io_in[34]),
+     .io_in_35(io_in[35]),
+     .io_in_36(io_in[36]),
+     .io_in_37(io_in[37]),
+     .io_out_0(io_out[0]),
+     .io_out_1(io_out[1]),
+     .io_out_2(io_out[2]),
+     .io_out_3(io_out[3]),
+     .io_out_4(io_out[4]),
+     .io_out_5(io_out[5]),
+     .io_out_6(io_out[6]),
+     .io_out_7(io_out[7]),
+     .io_out_8(io_out[8]),
+     .io_out_9(io_out[9]),
+     .io_out_10(io_out[10]),
+     .io_out_11(io_out[11]),
+     .io_out_12(io_out[12]),
+     .io_out_13(io_out[13]),
+     .io_out_14(io_out[14]),
+     .io_out_15(io_out[15]),
+     .io_out_16(io_out[16]),
+     .io_out_17(io_out[17]),
+     .io_out_18(io_out[18]),
+     .io_out_19(io_out[19]),
+     .io_out_20(io_out[20]),
+     .io_out_21(io_out[21]),
+     .io_out_22(io_out[22]),
+     .io_out_23(io_out[23]),
+     .io_out_24(io_out[24]),
+     .io_out_25(io_out[25]),
+     .io_out_26(io_out[26]),
+     .io_out_27(io_out[27]),
+     .io_out_28(io_out[28]),
+     .io_out_29(io_out[29]),
+     .io_out_30(io_out[30]),
+     .io_out_31(io_out[31]),
+     .io_out_32(io_out[32]),
+     .io_out_33(io_out[33]),
+     .io_out_34(io_out[34]),
+     .io_out_35(io_out[35]),
+     .io_out_36(io_out[36]),
+     .io_out_37(io_out[37]),
+     .io_oeb_0(io_oeb[0]),
+     .io_oeb_1(io_oeb[1]),
+     .io_oeb_2(io_oeb[2]),
+     .io_oeb_3(io_oeb[3]),
+     .io_oeb_4(io_oeb[4]),
+     .io_oeb_5(io_oeb[5]),
+     .io_oeb_6(io_oeb[6]),
+     .io_oeb_7(io_oeb[7]),
+     .io_oeb_8(io_oeb[8]),
+     .io_oeb_9(io_oeb[9]),
+     .io_oeb_10(io_oeb[10]),
+     .io_oeb_11(io_oeb[11]),
+     .io_oeb_12(io_oeb[12]),
+     .io_oeb_13(io_oeb[13]),
+     .io_oeb_14(io_oeb[14]),
+     .io_oeb_15(io_oeb[15]),
+     .io_oeb_16(io_oeb[16]),
+     .io_oeb_17(io_oeb[17]),
+     .io_oeb_18(io_oeb[18]),
+     .io_oeb_19(io_oeb[19]),
+     .io_oeb_20(io_oeb[20]),
+     .io_oeb_21(io_oeb[21]),
+     .io_oeb_22(io_oeb[22]),
+     .io_oeb_23(io_oeb[23]),
+     .io_oeb_24(io_oeb[24]),
+     .io_oeb_25(io_oeb[25]),
+     .io_oeb_26(io_oeb[26]),
+     .io_oeb_27(io_oeb[27]),
+     .io_oeb_28(io_oeb[28]),
+     .io_oeb_29(io_oeb[29]),
+     .io_oeb_30(io_oeb[30]),
+     .io_oeb_31(io_oeb[31]),
+     .io_oeb_32(io_oeb[32]),
+     .io_oeb_33(io_oeb[33]),
+     .io_oeb_34(io_oeb[34]),
+     .io_oeb_35(io_oeb[35]),
+     .io_oeb_36(io_oeb[36]),
+     .io_oeb_37(io_oeb[37]),
+     .data_arrays_0_ext_RW0_addr(data_arrays_0_ext_RW0_addr),
+     .data_arrays_0_ext_RW0_en(data_arrays_0_ext_RW0_en),
+     .data_arrays_0_ext_RW0_clk(data_arrays_0_ext_RW0_clk),
+     .data_arrays_0_ext_RW0_wmode(data_arrays_0_ext_RW0_wmode),
+     .data_arrays_0_ext_RW0_wdata(data_arrays_0_ext_RW0_wdata),
+     .data_arrays_0_ext_RW0_rdata(data_arrays_0_ext_RW0_rdata),
+     .data_arrays_0_ext_RW0_wmask(data_arrays_0_ext_RW0_wmask),
+     .tag_array_ext_RW0_addr(tag_array_ext_RW0_addr),
+     .tag_array_ext_RW0_en(tag_array_ext_RW0_en),
+     .tag_array_ext_RW0_clk(tag_array_ext_RW0_clk),
+     .tag_array_ext_RW0_wmode(tag_array_ext_RW0_wmode),
+     .tag_array_ext_RW0_wdata(tag_array_ext_RW0_wdata),
+     .tag_array_ext_RW0_rdata(tag_array_ext_RW0_rdata),
+     .tag_array_ext_RW0_wmask(tag_array_ext_RW0_wmask),
+     .data_arrays_0_0_ext_RW0_addr(data_arrays_0_0_ext_RW0_addr),
+     .data_arrays_0_0_ext_RW0_en(data_arrays_0_0_ext_RW0_en),
+     .data_arrays_0_0_ext_RW0_clk(data_arrays_0_0_ext_RW0_clk),
+     .data_arrays_0_0_ext_RW0_wmode(data_arrays_0_0_ext_RW0_wmode),
+     .data_arrays_0_0_ext_RW0_wdata(data_arrays_0_0_ext_RW0_wdata),
+     .data_arrays_0_0_ext_RW0_rdata(data_arrays_0_0_ext_RW0_rdata),
+     .data_arrays_0_0_ext_RW0_wmask(data_arrays_0_0_ext_RW0_wmask)
+    );
+
+    data_arrays_0_ext data_arrays_0_ext (
+      .RW0_addr(data_arrays_0_ext_RW0_addr),
+      .RW0_en(data_arrays_0_ext_RW0_en),
+      .RW0_clk(data_arrays_0_ext_RW0_clk),
+      .RW0_wmode(data_arrays_0_ext_RW0_wmode),
+      .RW0_wdata(data_arrays_0_ext_RW0_wdata),
+      .RW0_rdata(data_arrays_0_ext_RW0_rdata),
+      .RW0_wmask(data_arrays_0_ext_RW0_wmask),
+      .ram_csb(data_arrays_0_ext_ram_csb),
+      .ram_web(data_arrays_0_ext_ram_web),
+      .ram_rdata0(data_arrays_0_ext_ram_rdata0),
+      .ram_rdata1(data_arrays_0_ext_ram_rdata1),
+      .ram_rdata2(data_arrays_0_ext_ram_rdata2),
+      .ram_rdata3(data_arrays_0_ext_ram_rdata3),
+      .ram_rdata4(data_arrays_0_ext_ram_rdata4),
+      .ram_rdata5(data_arrays_0_ext_ram_rdata5),
+      .ram_rdata6(data_arrays_0_ext_ram_rdata6),
+      .ram_rdata7(data_arrays_0_ext_ram_rdata7)
+    );
+
+    assign data_arrays_0_ext_ram_addr  = data_arrays_0_ext_RW0_addr[8:0];
+    assign data_arrays_0_ext_ram_clk   = data_arrays_0_ext_RW0_clk;
+    assign data_arrays_0_ext_ram_wdata = data_arrays_0_ext_RW0_wdata;
+    assign data_arrays_0_ext_ram_wmask = data_arrays_0_ext_RW0_wmask;
+    assign data_arrays_0_ext_ram_csb1  = 8'hff;
+    assign data_arrays_0_ext_ram_addr1 = 9'h000;
+
+    tag_array_ext tag_array_ext (
+      .RW0_addr(tag_array_ext_RW0_addr),
+      .RW0_en(tag_array_ext_RW0_en),
+      .RW0_clk(tag_array_ext_RW0_clk),
+      .RW0_wmode(tag_array_ext_RW0_wmode),
+      .RW0_wdata(tag_array_ext_RW0_wdata),
+      .RW0_rdata(tag_array_ext_RW0_rdata),
+      .RW0_wmask(tag_array_ext_RW0_wmask),
+      .ram_csb(tag_array_ext_ram_csb),
+      .ram_web(tag_array_ext_ram_web),
+      .ram_rdata0(tag_array_ext_ram_rdata0),
+      .ram_rdata1(tag_array_ext_ram_rdata1)
+    );
+
+    assign tag_array_ext_ram_addr  = {1'b0, tag_array_ext_RW0_addr};
+    assign tag_array_ext_ram_clk   = tag_array_ext_RW0_clk;
+    assign tag_array_ext_ram_wdata = {12'd0, tag_array_ext_RW0_wdata[39:20], 12'd0, tag_array_ext_RW0_wdata[19:0]};
+    assign tag_array_ext_ram_wmask = tag_array_ext_RW0_wmask;
+    assign tag_array_ext_ram_csb1  = 2'b11;
+    assign tag_array_ext_ram_addr1 = 8'h00;
+
+    data_arrays_0_0_ext data_arrays_0_0_ext (
+      .RW0_addr(data_arrays_0_0_ext_RW0_addr),
+      .RW0_en(data_arrays_0_0_ext_RW0_en),
+      .RW0_clk(data_arrays_0_0_ext_RW0_clk),
+      .RW0_wmode(data_arrays_0_0_ext_RW0_wmode),
+      .RW0_wdata(data_arrays_0_0_ext_RW0_wdata),
+      .RW0_rdata(data_arrays_0_0_ext_RW0_rdata),
+      .RW0_wmask(data_arrays_0_0_ext_RW0_wmask),
+      .ram_csb(data_arrays_0_0_ext_ram_csb),
+      .ram_web(data_arrays_0_0_ext_ram_web),
+      .ram_rdata0(data_arrays_0_0_ext_ram_rdata0),
+      .ram_rdata1(data_arrays_0_0_ext_ram_rdata1),
+      .ram_rdata2(data_arrays_0_0_ext_ram_rdata2),
+      .ram_rdata3(data_arrays_0_0_ext_ram_rdata3)
+    );
+
+    assign data_arrays_0_0_ext_ram_addr  = data_arrays_0_0_ext_RW0_addr[8:0];
+    assign data_arrays_0_0_ext_ram_clk   = data_arrays_0_0_ext_RW0_clk;
+    assign data_arrays_0_0_ext_ram_wdata = data_arrays_0_0_ext_RW0_wdata;
+    assign data_arrays_0_0_ext_ram_wmask = data_arrays_0_0_ext_RW0_wmask;
+    assign data_arrays_0_0_ext_ram_csb1  = 8'hff;
+    assign data_arrays_0_0_ext_ram_addr1 = 9'h000;
+`endif  // MARMOT_EMPTY
+endmodule
diff --git a/verilog/rtl/marmot/Marmot_sram_control.v b/verilog/rtl/marmot/Marmot_sram_control.v
new file mode 100644
index 0000000..b391d80
--- /dev/null
+++ b/verilog/rtl/marmot/Marmot_sram_control.v
@@ -0,0 +1,124 @@
+//--------------------------------------------------------------------
+module data_arrays_0_ext(
+  input RW0_clk,
+  input [11:0] RW0_addr,
+  input RW0_en,
+  input RW0_wmode,
+  input [3:0] RW0_wmask,
+  input [31:0] RW0_wdata,
+  output [31:0] RW0_rdata,
+  output [7:0]  ram_csb,
+  output        ram_web,
+  input  [31:0] ram_rdata0,
+  input  [31:0] ram_rdata1,
+  input  [31:0] ram_rdata2,
+  input  [31:0] ram_rdata3,
+  input  [31:0] ram_rdata4,
+  input  [31:0] ram_rdata5,
+  input  [31:0] ram_rdata6,
+  input  [31:0] ram_rdata7
+);
+
+  wire [7:0]  ram_sel;
+  reg  [7:0]  ram_rdata_sel;
+
+  // RAM select
+  assign ram_sel[0] = RW0_en & (RW0_addr[11:9] == 3'b000);
+  assign ram_sel[1] = RW0_en & (RW0_addr[11:9] == 3'b001);
+  assign ram_sel[2] = RW0_en & (RW0_addr[11:9] == 3'b010);
+  assign ram_sel[3] = RW0_en & (RW0_addr[11:9] == 3'b011);
+  assign ram_sel[4] = RW0_en & (RW0_addr[11:9] == 3'b100);
+  assign ram_sel[5] = RW0_en & (RW0_addr[11:9] == 3'b101);
+  assign ram_sel[6] = RW0_en & (RW0_addr[11:9] == 3'b110);
+  assign ram_sel[7] = RW0_en & (RW0_addr[11:9] == 3'b111);
+
+  // RAM chip select (active low)
+  assign ram_csb = ~ram_sel;
+
+  // RAM write enable (active low)
+  assign ram_web = ~RW0_wmode;
+
+  // RAM read data select
+  always @(posedge RW0_clk) begin
+    ram_rdata_sel <= ram_sel;
+  end
+
+  // RAM read data selector
+  assign RW0_rdata = ram_rdata_sel[0] ? ram_rdata0 :
+                     ram_rdata_sel[1] ? ram_rdata1 :
+                     ram_rdata_sel[2] ? ram_rdata2 :
+                     ram_rdata_sel[3] ? ram_rdata3 :
+                     ram_rdata_sel[4] ? ram_rdata4 :
+                     ram_rdata_sel[5] ? ram_rdata5 :
+                     ram_rdata_sel[6] ? ram_rdata6 :
+                     ram_rdata_sel[7] ? ram_rdata7 : 32'd0;
+endmodule
+
+//--------------------------------------------------------------------
+module tag_array_ext(
+  input RW0_clk,
+  input [6:0] RW0_addr,
+  input RW0_en,
+  input RW0_wmode,
+  input [1:0] RW0_wmask,
+  input [39:0] RW0_wdata,
+  output [39:0] RW0_rdata,
+  output        ram_csb,
+  output        ram_web,
+  input  [31:0] ram_rdata0,
+  input  [31:0] ram_rdata1
+);
+
+  // RAM chip select (active low)
+  assign ram_csb = ~RW0_en;
+
+  // RAM write enable (active low)
+  assign ram_web = ~RW0_wmode;
+
+  // RAM read data
+  assign RW0_rdata = {ram_rdata1[19:0], ram_rdata0[19:0]};
+endmodule
+
+//--------------------------------------------------------------------
+module data_arrays_0_0_ext(
+  input RW0_clk,
+  input [10:0] RW0_addr,
+  input RW0_en,
+  input RW0_wmode,
+  input [1:0] RW0_wmask,
+  input [63:0] RW0_wdata,
+  output [63:0] RW0_rdata,
+  output [3:0]  ram_csb,
+  output        ram_web,
+  input  [63:0] ram_rdata0,
+  input  [63:0] ram_rdata1,
+  input  [63:0] ram_rdata2,
+  input  [63:0] ram_rdata3
+);
+
+  wire [3:0]  ram_sel;
+  reg  [3:0]  ram_rdata_sel;
+
+  // RAM select
+  assign ram_sel[0] = RW0_en & (RW0_addr[10:9] == 2'b00);
+  assign ram_sel[1] = RW0_en & (RW0_addr[10:9] == 2'b01);
+  assign ram_sel[2] = RW0_en & (RW0_addr[10:9] == 2'b10);
+  assign ram_sel[3] = RW0_en & (RW0_addr[10:9] == 2'b11);
+
+  // RAM chip select (active low)
+  assign ram_csb = ~ram_sel;
+
+  // RAM write enable (active low)
+  assign ram_web = ~RW0_wmode;
+
+  // RAM read data select
+  always @(posedge RW0_clk) begin
+    ram_rdata_sel <= ram_sel;
+  end
+
+  // RAM read data selector
+  assign RW0_rdata = ram_rdata_sel[0] ? ram_rdata0 :
+                     ram_rdata_sel[1] ? ram_rdata1 :
+                     ram_rdata_sel[2] ? ram_rdata2 :
+                     ram_rdata_sel[3] ? ram_rdata3 : 64'd0;
+endmodule
diff --git a/verilog/rtl/marmot/SRLatch.v b/verilog/rtl/marmot/SRLatch.v
new file mode 100644
index 0000000..d4849a1
--- /dev/null
+++ b/verilog/rtl/marmot/SRLatch.v
@@ -0,0 +1,22 @@
+// See LICENSE for license details.
+module SRLatch (
+  input set,
+  input reset,
+  output q
+);
+
+  reg latch;
+
+  // synopsys async_set_reset "set"
+  // synopsys one_hot "set, reset"
+  always @(set or reset)
+  begin
+    if (set)
+      latch <= 1'b1;
+    else if (reset)
+      latch <= 1'b0;
+  end
+
+  assign q = latch;
+
+endmodule
diff --git a/verilog/rtl/marmot/plusarg_reader.v b/verilog/rtl/marmot/plusarg_reader.v
new file mode 100644
index 0000000..a842529
--- /dev/null
+++ b/verilog/rtl/marmot/plusarg_reader.v
@@ -0,0 +1,22 @@
+// See LICENSE.SiFive for license details.
+
+//VCS coverage exclude_file
+
+// No default parameter values are intended, nor does IEEE 1800-2012 require them (clause A.2.4 param_assignment),
+// but Incisive demands them. These default values should never be used.
+module plusarg_reader #(parameter FORMAT="borked=%d", DEFAULT=0) (
+   output [31:0] out
+);
+
+`ifdef SYNTHESIS
+assign out = DEFAULT;
+`else
+reg [31:0] myplus;
+assign out = myplus;
+
+initial begin
+   if (!$value$plusargs(FORMAT, myplus)) myplus = DEFAULT;
+end
+`endif
+
+endmodule
diff --git a/verilog/rtl/marmot/rom.vh b/verilog/rtl/marmot/rom.vh
new file mode 100644
index 0000000..6328bcf
--- /dev/null
+++ b/verilog/rtl/marmot/rom.vh
@@ -0,0 +1,976 @@
+// /home/shc/Research/RISC-V/freedom/builds/marmotcaravel/xip.hex
+case (address)
+  11'h000: out <= 32'hf1402573;
+  11'h001: out <= 32'h00000597;
+  11'h002: out <= 32'h01058593;
+  11'h003: out <= 32'h200002b7;
+  11'h004: out <= 32'h00028067;
+  11'h005: out <= 32'hedfe0dd0;
+  11'h006: out <= 32'h1a0f0000;
+  11'h007: out <= 32'h38000000;
+  11'h008: out <= 32'h940d0000;
+  11'h009: out <= 32'h28000000;
+  11'h00a: out <= 32'h11000000;
+  11'h00b: out <= 32'h10000000;
+  11'h00c: out <= 32'h00000000;
+  11'h00d: out <= 32'h86010000;
+  11'h00e: out <= 32'h5c0d0000;
+  11'h00f: out <= 32'h00000000;
+  11'h010: out <= 32'h00000000;
+  11'h011: out <= 32'h00000000;
+  11'h012: out <= 32'h00000000;
+  11'h013: out <= 32'h01000000;
+  11'h014: out <= 32'h00000000;
+  11'h015: out <= 32'h03000000;
+  11'h016: out <= 32'h04000000;
+  11'h017: out <= 32'h00000000;
+  11'h018: out <= 32'h01000000;
+  11'h019: out <= 32'h03000000;
+  11'h01a: out <= 32'h04000000;
+  11'h01b: out <= 32'h0f000000;
+  11'h01c: out <= 32'h01000000;
+  11'h01d: out <= 32'h03000000;
+  11'h01e: out <= 32'h21000000;
+  11'h01f: out <= 32'h1b000000;
+  11'h020: out <= 32'h65657266;
+  11'h021: out <= 32'h70696863;
+  11'h022: out <= 32'h6f722c73;
+  11'h023: out <= 32'h74656b63;
+  11'h024: out <= 32'h70696863;
+  11'h025: out <= 32'h6b6e752d;
+  11'h026: out <= 32'h6e776f6e;
+  11'h027: out <= 32'h7665642d;
+  11'h028: out <= 32'h00000000;
+  11'h029: out <= 32'h03000000;
+  11'h02a: out <= 32'h1d000000;
+  11'h02b: out <= 32'h26000000;
+  11'h02c: out <= 32'h65657266;
+  11'h02d: out <= 32'h70696863;
+  11'h02e: out <= 32'h6f722c73;
+  11'h02f: out <= 32'h74656b63;
+  11'h030: out <= 32'h70696863;
+  11'h031: out <= 32'h6b6e752d;
+  11'h032: out <= 32'h6e776f6e;
+  11'h033: out <= 32'h00000000;
+  11'h034: out <= 32'h01000000;
+  11'h035: out <= 32'h61696c61;
+  11'h036: out <= 32'h00736573;
+  11'h037: out <= 32'h03000000;
+  11'h038: out <= 32'h15000000;
+  11'h039: out <= 32'h2c000000;
+  11'h03a: out <= 32'h636f732f;
+  11'h03b: out <= 32'h7265732f;
+  11'h03c: out <= 32'h406c6169;
+  11'h03d: out <= 32'h31303031;
+  11'h03e: out <= 32'h30303033;
+  11'h03f: out <= 32'h00000000;
+  11'h040: out <= 32'h03000000;
+  11'h041: out <= 32'h15000000;
+  11'h042: out <= 32'h34000000;
+  11'h043: out <= 32'h636f732f;
+  11'h044: out <= 32'h7265732f;
+  11'h045: out <= 32'h406c6169;
+  11'h046: out <= 32'h32303031;
+  11'h047: out <= 32'h30303033;
+  11'h048: out <= 32'h00000000;
+  11'h049: out <= 32'h03000000;
+  11'h04a: out <= 32'h15000000;
+  11'h04b: out <= 32'h3c000000;
+  11'h04c: out <= 32'h636f732f;
+  11'h04d: out <= 32'h7265732f;
+  11'h04e: out <= 32'h406c6169;
+  11'h04f: out <= 32'h33303031;
+  11'h050: out <= 32'h30303033;
+  11'h051: out <= 32'h00000000;
+  11'h052: out <= 32'h03000000;
+  11'h053: out <= 32'h15000000;
+  11'h054: out <= 32'h44000000;
+  11'h055: out <= 32'h636f732f;
+  11'h056: out <= 32'h7265732f;
+  11'h057: out <= 32'h406c6169;
+  11'h058: out <= 32'h34303031;
+  11'h059: out <= 32'h30303033;
+  11'h05a: out <= 32'h00000000;
+  11'h05b: out <= 32'h03000000;
+  11'h05c: out <= 32'h15000000;
+  11'h05d: out <= 32'h4c000000;
+  11'h05e: out <= 32'h636f732f;
+  11'h05f: out <= 32'h7265732f;
+  11'h060: out <= 32'h406c6169;
+  11'h061: out <= 32'h35303031;
+  11'h062: out <= 32'h30303033;
+  11'h063: out <= 32'h00000000;
+  11'h064: out <= 32'h02000000;
+  11'h065: out <= 32'h01000000;
+  11'h066: out <= 32'h73757063;
+  11'h067: out <= 32'h00000000;
+  11'h068: out <= 32'h03000000;
+  11'h069: out <= 32'h04000000;
+  11'h06a: out <= 32'h00000000;
+  11'h06b: out <= 32'h01000000;
+  11'h06c: out <= 32'h03000000;
+  11'h06d: out <= 32'h04000000;
+  11'h06e: out <= 32'h0f000000;
+  11'h06f: out <= 32'h00000000;
+  11'h070: out <= 32'h01000000;
+  11'h071: out <= 32'h40757063;
+  11'h072: out <= 32'h00000030;
+  11'h073: out <= 32'h03000000;
+  11'h074: out <= 32'h04000000;
+  11'h075: out <= 32'h54000000;
+  11'h076: out <= 32'h00000000;
+  11'h077: out <= 32'h03000000;
+  11'h078: out <= 32'h15000000;
+  11'h079: out <= 32'h1b000000;
+  11'h07a: out <= 32'h69666973;
+  11'h07b: out <= 32'h722c6576;
+  11'h07c: out <= 32'h656b636f;
+  11'h07d: out <= 32'h72003074;
+  11'h07e: out <= 32'h76637369;
+  11'h07f: out <= 32'h00000000;
+  11'h080: out <= 32'h03000000;
+  11'h081: out <= 32'h04000000;
+  11'h082: out <= 32'h64000000;
+  11'h083: out <= 32'h00757063;
+  11'h084: out <= 32'h03000000;
+  11'h085: out <= 32'h04000000;
+  11'h086: out <= 32'h70000000;
+  11'h087: out <= 32'h40000000;
+  11'h088: out <= 32'h03000000;
+  11'h089: out <= 32'h04000000;
+  11'h08a: out <= 32'h83000000;
+  11'h08b: out <= 32'h80000000;
+  11'h08c: out <= 32'h03000000;
+  11'h08d: out <= 32'h04000000;
+  11'h08e: out <= 32'h90000000;
+  11'h08f: out <= 32'h00400000;
+  11'h090: out <= 32'h03000000;
+  11'h091: out <= 32'h04000000;
+  11'h092: out <= 32'h9d000000;
+  11'h093: out <= 32'h00000000;
+  11'h094: out <= 32'h03000000;
+  11'h095: out <= 32'h09000000;
+  11'h096: out <= 32'ha1000000;
+  11'h097: out <= 32'h32337672;
+  11'h098: out <= 32'h63616d69;
+  11'h099: out <= 32'h00000000;
+  11'h09a: out <= 32'h03000000;
+  11'h09b: out <= 32'h04000000;
+  11'h09c: out <= 32'hab000000;
+  11'h09d: out <= 32'h01000000;
+  11'h09e: out <= 32'h03000000;
+  11'h09f: out <= 32'h04000000;
+  11'h0a0: out <= 32'hb7000000;
+  11'h0a1: out <= 32'h02000000;
+  11'h0a2: out <= 32'h03000000;
+  11'h0a3: out <= 32'h05000000;
+  11'h0a4: out <= 32'hc3000000;
+  11'h0a5: out <= 32'h79616b6f;
+  11'h0a6: out <= 32'h00000000;
+  11'h0a7: out <= 32'h03000000;
+  11'h0a8: out <= 32'h04000000;
+  11'h0a9: out <= 32'hca000000;
+  11'h0aa: out <= 32'h00800000;
+  11'h0ab: out <= 32'h01000000;
+  11'h0ac: out <= 32'h65746e69;
+  11'h0ad: out <= 32'h70757272;
+  11'h0ae: out <= 32'h6f632d74;
+  11'h0af: out <= 32'h6f72746e;
+  11'h0b0: out <= 32'h72656c6c;
+  11'h0b1: out <= 32'h00000000;
+  11'h0b2: out <= 32'h03000000;
+  11'h0b3: out <= 32'h04000000;
+  11'h0b4: out <= 32'hdd000000;
+  11'h0b5: out <= 32'h01000000;
+  11'h0b6: out <= 32'h03000000;
+  11'h0b7: out <= 32'h0f000000;
+  11'h0b8: out <= 32'h1b000000;
+  11'h0b9: out <= 32'h63736972;
+  11'h0ba: out <= 32'h70632c76;
+  11'h0bb: out <= 32'h6e692d75;
+  11'h0bc: out <= 32'h00006374;
+  11'h0bd: out <= 32'h03000000;
+  11'h0be: out <= 32'h00000000;
+  11'h0bf: out <= 32'hee000000;
+  11'h0c0: out <= 32'h03000000;
+  11'h0c1: out <= 32'h04000000;
+  11'h0c2: out <= 32'h03010000;
+  11'h0c3: out <= 32'h04000000;
+  11'h0c4: out <= 32'h02000000;
+  11'h0c5: out <= 32'h02000000;
+  11'h0c6: out <= 32'h02000000;
+  11'h0c7: out <= 32'h01000000;
+  11'h0c8: out <= 32'h00636f73;
+  11'h0c9: out <= 32'h03000000;
+  11'h0ca: out <= 32'h04000000;
+  11'h0cb: out <= 32'h00000000;
+  11'h0cc: out <= 32'h01000000;
+  11'h0cd: out <= 32'h03000000;
+  11'h0ce: out <= 32'h04000000;
+  11'h0cf: out <= 32'h0f000000;
+  11'h0d0: out <= 32'h01000000;
+  11'h0d1: out <= 32'h03000000;
+  11'h0d2: out <= 32'h2c000000;
+  11'h0d3: out <= 32'h1b000000;
+  11'h0d4: out <= 32'h65657266;
+  11'h0d5: out <= 32'h70696863;
+  11'h0d6: out <= 32'h6f722c73;
+  11'h0d7: out <= 32'h74656b63;
+  11'h0d8: out <= 32'h70696863;
+  11'h0d9: out <= 32'h6b6e752d;
+  11'h0da: out <= 32'h6e776f6e;
+  11'h0db: out <= 32'h636f732d;
+  11'h0dc: out <= 32'h6d697300;
+  11'h0dd: out <= 32'h2d656c70;
+  11'h0de: out <= 32'h00737562;
+  11'h0df: out <= 32'h03000000;
+  11'h0e0: out <= 32'h00000000;
+  11'h0e1: out <= 32'h0b010000;
+  11'h0e2: out <= 32'h01000000;
+  11'h0e3: out <= 32'h406e6f61;
+  11'h0e4: out <= 32'h30303031;
+  11'h0e5: out <= 32'h30303030;
+  11'h0e6: out <= 32'h00000000;
+  11'h0e7: out <= 32'h03000000;
+  11'h0e8: out <= 32'h0c000000;
+  11'h0e9: out <= 32'h1b000000;
+  11'h0ea: out <= 32'h69666973;
+  11'h0eb: out <= 32'h612c6576;
+  11'h0ec: out <= 32'h00306e6f;
+  11'h0ed: out <= 32'h03000000;
+  11'h0ee: out <= 32'h04000000;
+  11'h0ef: out <= 32'h12010000;
+  11'h0f0: out <= 32'h03000000;
+  11'h0f1: out <= 32'h03000000;
+  11'h0f2: out <= 32'h08000000;
+  11'h0f3: out <= 32'h23010000;
+  11'h0f4: out <= 32'h01000000;
+  11'h0f5: out <= 32'h02000000;
+  11'h0f6: out <= 32'h03000000;
+  11'h0f7: out <= 32'h08000000;
+  11'h0f8: out <= 32'h9d000000;
+  11'h0f9: out <= 32'h00000010;
+  11'h0fa: out <= 32'h00100000;
+  11'h0fb: out <= 32'h03000000;
+  11'h0fc: out <= 32'h08000000;
+  11'h0fd: out <= 32'h2e010000;
+  11'h0fe: out <= 32'h746e6f63;
+  11'h0ff: out <= 32'h006c6f72;
+  11'h100: out <= 32'h02000000;
+  11'h101: out <= 32'h01000000;
+  11'h102: out <= 32'h6e696c63;
+  11'h103: out <= 32'h30324074;
+  11'h104: out <= 32'h30303030;
+  11'h105: out <= 32'h00000030;
+  11'h106: out <= 32'h03000000;
+  11'h107: out <= 32'h0d000000;
+  11'h108: out <= 32'h1b000000;
+  11'h109: out <= 32'h63736972;
+  11'h10a: out <= 32'h6c632c76;
+  11'h10b: out <= 32'h30746e69;
+  11'h10c: out <= 32'h00000000;
+  11'h10d: out <= 32'h03000000;
+  11'h10e: out <= 32'h10000000;
+  11'h10f: out <= 32'h38010000;
+  11'h110: out <= 32'h04000000;
+  11'h111: out <= 32'h03000000;
+  11'h112: out <= 32'h04000000;
+  11'h113: out <= 32'h07000000;
+  11'h114: out <= 32'h03000000;
+  11'h115: out <= 32'h08000000;
+  11'h116: out <= 32'h9d000000;
+  11'h117: out <= 32'h00000002;
+  11'h118: out <= 32'h00000100;
+  11'h119: out <= 32'h03000000;
+  11'h11a: out <= 32'h08000000;
+  11'h11b: out <= 32'h2e010000;
+  11'h11c: out <= 32'h746e6f63;
+  11'h11d: out <= 32'h006c6f72;
+  11'h11e: out <= 32'h02000000;
+  11'h11f: out <= 32'h01000000;
+  11'h120: out <= 32'h75626564;
+  11'h121: out <= 32'h6f632d67;
+  11'h122: out <= 32'h6f72746e;
+  11'h123: out <= 32'h72656c6c;
+  11'h124: out <= 32'h00003040;
+  11'h125: out <= 32'h03000000;
+  11'h126: out <= 32'h21000000;
+  11'h127: out <= 32'h1b000000;
+  11'h128: out <= 32'h69666973;
+  11'h129: out <= 32'h642c6576;
+  11'h12a: out <= 32'h67756265;
+  11'h12b: out <= 32'h3331302d;
+  11'h12c: out <= 32'h73697200;
+  11'h12d: out <= 32'h642c7663;
+  11'h12e: out <= 32'h67756265;
+  11'h12f: out <= 32'h3331302d;
+  11'h130: out <= 32'h00000000;
+  11'h131: out <= 32'h03000000;
+  11'h132: out <= 32'h08000000;
+  11'h133: out <= 32'h38010000;
+  11'h134: out <= 32'h04000000;
+  11'h135: out <= 32'hffff0000;
+  11'h136: out <= 32'h03000000;
+  11'h137: out <= 32'h08000000;
+  11'h138: out <= 32'h9d000000;
+  11'h139: out <= 32'h00000000;
+  11'h13a: out <= 32'h00100000;
+  11'h13b: out <= 32'h03000000;
+  11'h13c: out <= 32'h08000000;
+  11'h13d: out <= 32'h2e010000;
+  11'h13e: out <= 32'h746e6f63;
+  11'h13f: out <= 32'h006c6f72;
+  11'h140: out <= 32'h02000000;
+  11'h141: out <= 32'h01000000;
+  11'h142: out <= 32'h6d697464;
+  11'h143: out <= 32'h30303840;
+  11'h144: out <= 32'h30303030;
+  11'h145: out <= 32'h00000030;
+  11'h146: out <= 32'h03000000;
+  11'h147: out <= 32'h0d000000;
+  11'h148: out <= 32'h1b000000;
+  11'h149: out <= 32'h69666973;
+  11'h14a: out <= 32'h642c6576;
+  11'h14b: out <= 32'h306d6974;
+  11'h14c: out <= 32'h00000000;
+  11'h14d: out <= 32'h03000000;
+  11'h14e: out <= 32'h08000000;
+  11'h14f: out <= 32'h9d000000;
+  11'h150: out <= 32'h00000080;
+  11'h151: out <= 32'h00400000;
+  11'h152: out <= 32'h03000000;
+  11'h153: out <= 32'h04000000;
+  11'h154: out <= 32'h2e010000;
+  11'h155: out <= 32'h006d656d;
+  11'h156: out <= 32'h03000000;
+  11'h157: out <= 32'h04000000;
+  11'h158: out <= 32'h03010000;
+  11'h159: out <= 32'h01000000;
+  11'h15a: out <= 32'h02000000;
+  11'h15b: out <= 32'h01000000;
+  11'h15c: out <= 32'h6f727265;
+  11'h15d: out <= 32'h65642d72;
+  11'h15e: out <= 32'h65636976;
+  11'h15f: out <= 32'h30303340;
+  11'h160: out <= 32'h00000030;
+  11'h161: out <= 32'h03000000;
+  11'h162: out <= 32'h0e000000;
+  11'h163: out <= 32'h1b000000;
+  11'h164: out <= 32'h69666973;
+  11'h165: out <= 32'h652c6576;
+  11'h166: out <= 32'h726f7272;
+  11'h167: out <= 32'h00000030;
+  11'h168: out <= 32'h03000000;
+  11'h169: out <= 32'h08000000;
+  11'h16a: out <= 32'h9d000000;
+  11'h16b: out <= 32'h00300000;
+  11'h16c: out <= 32'h00100000;
+  11'h16d: out <= 32'h02000000;
+  11'h16e: out <= 32'h01000000;
+  11'h16f: out <= 32'h6f697067;
+  11'h170: out <= 32'h30303140;
+  11'h171: out <= 32'h30303231;
+  11'h172: out <= 32'h00000030;
+  11'h173: out <= 32'h03000000;
+  11'h174: out <= 32'h04000000;
+  11'h175: out <= 32'h4c010000;
+  11'h176: out <= 32'h02000000;
+  11'h177: out <= 32'h03000000;
+  11'h178: out <= 32'h04000000;
+  11'h179: out <= 32'hdd000000;
+  11'h17a: out <= 32'h02000000;
+  11'h17b: out <= 32'h03000000;
+  11'h17c: out <= 32'h0d000000;
+  11'h17d: out <= 32'h1b000000;
+  11'h17e: out <= 32'h69666973;
+  11'h17f: out <= 32'h672c6576;
+  11'h180: out <= 32'h306f6970;
+  11'h181: out <= 32'h00000000;
+  11'h182: out <= 32'h03000000;
+  11'h183: out <= 32'h00000000;
+  11'h184: out <= 32'h58010000;
+  11'h185: out <= 32'h03000000;
+  11'h186: out <= 32'h00000000;
+  11'h187: out <= 32'hee000000;
+  11'h188: out <= 32'h03000000;
+  11'h189: out <= 32'h04000000;
+  11'h18a: out <= 32'h12010000;
+  11'h18b: out <= 32'h03000000;
+  11'h18c: out <= 32'h03000000;
+  11'h18d: out <= 32'h80000000;
+  11'h18e: out <= 32'h23010000;
+  11'h18f: out <= 32'h0b000000;
+  11'h190: out <= 32'h0c000000;
+  11'h191: out <= 32'h0d000000;
+  11'h192: out <= 32'h0e000000;
+  11'h193: out <= 32'h0f000000;
+  11'h194: out <= 32'h10000000;
+  11'h195: out <= 32'h11000000;
+  11'h196: out <= 32'h12000000;
+  11'h197: out <= 32'h13000000;
+  11'h198: out <= 32'h14000000;
+  11'h199: out <= 32'h15000000;
+  11'h19a: out <= 32'h16000000;
+  11'h19b: out <= 32'h17000000;
+  11'h19c: out <= 32'h18000000;
+  11'h19d: out <= 32'h19000000;
+  11'h19e: out <= 32'h1a000000;
+  11'h19f: out <= 32'h1b000000;
+  11'h1a0: out <= 32'h1c000000;
+  11'h1a1: out <= 32'h1d000000;
+  11'h1a2: out <= 32'h1e000000;
+  11'h1a3: out <= 32'h1f000000;
+  11'h1a4: out <= 32'h20000000;
+  11'h1a5: out <= 32'h21000000;
+  11'h1a6: out <= 32'h22000000;
+  11'h1a7: out <= 32'h23000000;
+  11'h1a8: out <= 32'h24000000;
+  11'h1a9: out <= 32'h25000000;
+  11'h1aa: out <= 32'h26000000;
+  11'h1ab: out <= 32'h27000000;
+  11'h1ac: out <= 32'h28000000;
+  11'h1ad: out <= 32'h29000000;
+  11'h1ae: out <= 32'h2a000000;
+  11'h1af: out <= 32'h03000000;
+  11'h1b0: out <= 32'h08000000;
+  11'h1b1: out <= 32'h9d000000;
+  11'h1b2: out <= 32'h00200110;
+  11'h1b3: out <= 32'h00100000;
+  11'h1b4: out <= 32'h03000000;
+  11'h1b5: out <= 32'h08000000;
+  11'h1b6: out <= 32'h2e010000;
+  11'h1b7: out <= 32'h746e6f63;
+  11'h1b8: out <= 32'h006c6f72;
+  11'h1b9: out <= 32'h02000000;
+  11'h1ba: out <= 32'h01000000;
+  11'h1bb: out <= 32'h40633269;
+  11'h1bc: out <= 32'h31303031;
+  11'h1bd: out <= 32'h30303036;
+  11'h1be: out <= 32'h00000000;
+  11'h1bf: out <= 32'h03000000;
+  11'h1c0: out <= 32'h0c000000;
+  11'h1c1: out <= 32'h1b000000;
+  11'h1c2: out <= 32'h69666973;
+  11'h1c3: out <= 32'h692c6576;
+  11'h1c4: out <= 32'h00306332;
+  11'h1c5: out <= 32'h03000000;
+  11'h1c6: out <= 32'h04000000;
+  11'h1c7: out <= 32'h12010000;
+  11'h1c8: out <= 32'h03000000;
+  11'h1c9: out <= 32'h03000000;
+  11'h1ca: out <= 32'h04000000;
+  11'h1cb: out <= 32'h23010000;
+  11'h1cc: out <= 32'h2b000000;
+  11'h1cd: out <= 32'h03000000;
+  11'h1ce: out <= 32'h08000000;
+  11'h1cf: out <= 32'h9d000000;
+  11'h1d0: out <= 32'h00600110;
+  11'h1d1: out <= 32'h00100000;
+  11'h1d2: out <= 32'h03000000;
+  11'h1d3: out <= 32'h08000000;
+  11'h1d4: out <= 32'h2e010000;
+  11'h1d5: out <= 32'h746e6f63;
+  11'h1d6: out <= 32'h006c6f72;
+  11'h1d7: out <= 32'h02000000;
+  11'h1d8: out <= 32'h01000000;
+  11'h1d9: out <= 32'h40633269;
+  11'h1da: out <= 32'h32303031;
+  11'h1db: out <= 32'h30303036;
+  11'h1dc: out <= 32'h00000000;
+  11'h1dd: out <= 32'h03000000;
+  11'h1de: out <= 32'h0c000000;
+  11'h1df: out <= 32'h1b000000;
+  11'h1e0: out <= 32'h69666973;
+  11'h1e1: out <= 32'h692c6576;
+  11'h1e2: out <= 32'h00306332;
+  11'h1e3: out <= 32'h03000000;
+  11'h1e4: out <= 32'h04000000;
+  11'h1e5: out <= 32'h12010000;
+  11'h1e6: out <= 32'h03000000;
+  11'h1e7: out <= 32'h03000000;
+  11'h1e8: out <= 32'h04000000;
+  11'h1e9: out <= 32'h23010000;
+  11'h1ea: out <= 32'h2c000000;
+  11'h1eb: out <= 32'h03000000;
+  11'h1ec: out <= 32'h08000000;
+  11'h1ed: out <= 32'h9d000000;
+  11'h1ee: out <= 32'h00600210;
+  11'h1ef: out <= 32'h00100000;
+  11'h1f0: out <= 32'h03000000;
+  11'h1f1: out <= 32'h08000000;
+  11'h1f2: out <= 32'h2e010000;
+  11'h1f3: out <= 32'h746e6f63;
+  11'h1f4: out <= 32'h006c6f72;
+  11'h1f5: out <= 32'h02000000;
+  11'h1f6: out <= 32'h01000000;
+  11'h1f7: out <= 32'h65746e69;
+  11'h1f8: out <= 32'h70757272;
+  11'h1f9: out <= 32'h6f632d74;
+  11'h1fa: out <= 32'h6f72746e;
+  11'h1fb: out <= 32'h72656c6c;
+  11'h1fc: out <= 32'h30306340;
+  11'h1fd: out <= 32'h30303030;
+  11'h1fe: out <= 32'h00000000;
+  11'h1ff: out <= 32'h03000000;
+  11'h200: out <= 32'h04000000;
+  11'h201: out <= 32'hdd000000;
+  11'h202: out <= 32'h01000000;
+  11'h203: out <= 32'h03000000;
+  11'h204: out <= 32'h0c000000;
+  11'h205: out <= 32'h1b000000;
+  11'h206: out <= 32'h63736972;
+  11'h207: out <= 32'h6c702c76;
+  11'h208: out <= 32'h00306369;
+  11'h209: out <= 32'h03000000;
+  11'h20a: out <= 32'h00000000;
+  11'h20b: out <= 32'hee000000;
+  11'h20c: out <= 32'h03000000;
+  11'h20d: out <= 32'h08000000;
+  11'h20e: out <= 32'h38010000;
+  11'h20f: out <= 32'h04000000;
+  11'h210: out <= 32'h0b000000;
+  11'h211: out <= 32'h03000000;
+  11'h212: out <= 32'h08000000;
+  11'h213: out <= 32'h9d000000;
+  11'h214: out <= 32'h0000000c;
+  11'h215: out <= 32'h00000004;
+  11'h216: out <= 32'h03000000;
+  11'h217: out <= 32'h08000000;
+  11'h218: out <= 32'h2e010000;
+  11'h219: out <= 32'h746e6f63;
+  11'h21a: out <= 32'h006c6f72;
+  11'h21b: out <= 32'h03000000;
+  11'h21c: out <= 32'h04000000;
+  11'h21d: out <= 32'h68010000;
+  11'h21e: out <= 32'h07000000;
+  11'h21f: out <= 32'h03000000;
+  11'h220: out <= 32'h04000000;
+  11'h221: out <= 32'h7b010000;
+  11'h222: out <= 32'h2c000000;
+  11'h223: out <= 32'h03000000;
+  11'h224: out <= 32'h04000000;
+  11'h225: out <= 32'h03010000;
+  11'h226: out <= 32'h03000000;
+  11'h227: out <= 32'h02000000;
+  11'h228: out <= 32'h01000000;
+  11'h229: out <= 32'h6d697469;
+  11'h22a: out <= 32'h30303840;
+  11'h22b: out <= 32'h30303030;
+  11'h22c: out <= 32'h00000000;
+  11'h22d: out <= 32'h03000000;
+  11'h22e: out <= 32'h0d000000;
+  11'h22f: out <= 32'h1b000000;
+  11'h230: out <= 32'h69666973;
+  11'h231: out <= 32'h692c6576;
+  11'h232: out <= 32'h306d6974;
+  11'h233: out <= 32'h00000000;
+  11'h234: out <= 32'h03000000;
+  11'h235: out <= 32'h08000000;
+  11'h236: out <= 32'h9d000000;
+  11'h237: out <= 32'h00000008;
+  11'h238: out <= 32'h00400000;
+  11'h239: out <= 32'h03000000;
+  11'h23a: out <= 32'h04000000;
+  11'h23b: out <= 32'h2e010000;
+  11'h23c: out <= 32'h006d656d;
+  11'h23d: out <= 32'h03000000;
+  11'h23e: out <= 32'h04000000;
+  11'h23f: out <= 32'h03010000;
+  11'h240: out <= 32'h02000000;
+  11'h241: out <= 32'h02000000;
+  11'h242: out <= 32'h01000000;
+  11'h243: out <= 32'h406d6f72;
+  11'h244: out <= 32'h30303031;
+  11'h245: out <= 32'h00000030;
+  11'h246: out <= 32'h03000000;
+  11'h247: out <= 32'h10000000;
+  11'h248: out <= 32'h1b000000;
+  11'h249: out <= 32'h69666973;
+  11'h24a: out <= 32'h6d2c6576;
+  11'h24b: out <= 32'h726b7361;
+  11'h24c: out <= 32'h00306d6f;
+  11'h24d: out <= 32'h03000000;
+  11'h24e: out <= 32'h08000000;
+  11'h24f: out <= 32'h9d000000;
+  11'h250: out <= 32'h00000100;
+  11'h251: out <= 32'h00200000;
+  11'h252: out <= 32'h03000000;
+  11'h253: out <= 32'h04000000;
+  11'h254: out <= 32'h2e010000;
+  11'h255: out <= 32'h006d656d;
+  11'h256: out <= 32'h02000000;
+  11'h257: out <= 32'h01000000;
+  11'h258: out <= 32'h69726573;
+  11'h259: out <= 32'h31406c61;
+  11'h25a: out <= 32'h33313030;
+  11'h25b: out <= 32'h00303030;
+  11'h25c: out <= 32'h03000000;
+  11'h25d: out <= 32'h0d000000;
+  11'h25e: out <= 32'h1b000000;
+  11'h25f: out <= 32'h69666973;
+  11'h260: out <= 32'h752c6576;
+  11'h261: out <= 32'h30747261;
+  11'h262: out <= 32'h00000000;
+  11'h263: out <= 32'h03000000;
+  11'h264: out <= 32'h04000000;
+  11'h265: out <= 32'h12010000;
+  11'h266: out <= 32'h03000000;
+  11'h267: out <= 32'h03000000;
+  11'h268: out <= 32'h04000000;
+  11'h269: out <= 32'h23010000;
+  11'h26a: out <= 32'h03000000;
+  11'h26b: out <= 32'h03000000;
+  11'h26c: out <= 32'h08000000;
+  11'h26d: out <= 32'h9d000000;
+  11'h26e: out <= 32'h00300110;
+  11'h26f: out <= 32'h00100000;
+  11'h270: out <= 32'h03000000;
+  11'h271: out <= 32'h08000000;
+  11'h272: out <= 32'h2e010000;
+  11'h273: out <= 32'h746e6f63;
+  11'h274: out <= 32'h006c6f72;
+  11'h275: out <= 32'h02000000;
+  11'h276: out <= 32'h01000000;
+  11'h277: out <= 32'h69726573;
+  11'h278: out <= 32'h31406c61;
+  11'h279: out <= 32'h33323030;
+  11'h27a: out <= 32'h00303030;
+  11'h27b: out <= 32'h03000000;
+  11'h27c: out <= 32'h0d000000;
+  11'h27d: out <= 32'h1b000000;
+  11'h27e: out <= 32'h69666973;
+  11'h27f: out <= 32'h752c6576;
+  11'h280: out <= 32'h30747261;
+  11'h281: out <= 32'h00000000;
+  11'h282: out <= 32'h03000000;
+  11'h283: out <= 32'h04000000;
+  11'h284: out <= 32'h12010000;
+  11'h285: out <= 32'h03000000;
+  11'h286: out <= 32'h03000000;
+  11'h287: out <= 32'h04000000;
+  11'h288: out <= 32'h23010000;
+  11'h289: out <= 32'h04000000;
+  11'h28a: out <= 32'h03000000;
+  11'h28b: out <= 32'h08000000;
+  11'h28c: out <= 32'h9d000000;
+  11'h28d: out <= 32'h00300210;
+  11'h28e: out <= 32'h00100000;
+  11'h28f: out <= 32'h03000000;
+  11'h290: out <= 32'h08000000;
+  11'h291: out <= 32'h2e010000;
+  11'h292: out <= 32'h746e6f63;
+  11'h293: out <= 32'h006c6f72;
+  11'h294: out <= 32'h02000000;
+  11'h295: out <= 32'h01000000;
+  11'h296: out <= 32'h69726573;
+  11'h297: out <= 32'h31406c61;
+  11'h298: out <= 32'h33333030;
+  11'h299: out <= 32'h00303030;
+  11'h29a: out <= 32'h03000000;
+  11'h29b: out <= 32'h0d000000;
+  11'h29c: out <= 32'h1b000000;
+  11'h29d: out <= 32'h69666973;
+  11'h29e: out <= 32'h752c6576;
+  11'h29f: out <= 32'h30747261;
+  11'h2a0: out <= 32'h00000000;
+  11'h2a1: out <= 32'h03000000;
+  11'h2a2: out <= 32'h04000000;
+  11'h2a3: out <= 32'h12010000;
+  11'h2a4: out <= 32'h03000000;
+  11'h2a5: out <= 32'h03000000;
+  11'h2a6: out <= 32'h04000000;
+  11'h2a7: out <= 32'h23010000;
+  11'h2a8: out <= 32'h05000000;
+  11'h2a9: out <= 32'h03000000;
+  11'h2aa: out <= 32'h08000000;
+  11'h2ab: out <= 32'h9d000000;
+  11'h2ac: out <= 32'h00300310;
+  11'h2ad: out <= 32'h00100000;
+  11'h2ae: out <= 32'h03000000;
+  11'h2af: out <= 32'h08000000;
+  11'h2b0: out <= 32'h2e010000;
+  11'h2b1: out <= 32'h746e6f63;
+  11'h2b2: out <= 32'h006c6f72;
+  11'h2b3: out <= 32'h02000000;
+  11'h2b4: out <= 32'h01000000;
+  11'h2b5: out <= 32'h69726573;
+  11'h2b6: out <= 32'h31406c61;
+  11'h2b7: out <= 32'h33343030;
+  11'h2b8: out <= 32'h00303030;
+  11'h2b9: out <= 32'h03000000;
+  11'h2ba: out <= 32'h0d000000;
+  11'h2bb: out <= 32'h1b000000;
+  11'h2bc: out <= 32'h69666973;
+  11'h2bd: out <= 32'h752c6576;
+  11'h2be: out <= 32'h30747261;
+  11'h2bf: out <= 32'h00000000;
+  11'h2c0: out <= 32'h03000000;
+  11'h2c1: out <= 32'h04000000;
+  11'h2c2: out <= 32'h12010000;
+  11'h2c3: out <= 32'h03000000;
+  11'h2c4: out <= 32'h03000000;
+  11'h2c5: out <= 32'h04000000;
+  11'h2c6: out <= 32'h23010000;
+  11'h2c7: out <= 32'h06000000;
+  11'h2c8: out <= 32'h03000000;
+  11'h2c9: out <= 32'h08000000;
+  11'h2ca: out <= 32'h9d000000;
+  11'h2cb: out <= 32'h00300410;
+  11'h2cc: out <= 32'h00100000;
+  11'h2cd: out <= 32'h03000000;
+  11'h2ce: out <= 32'h08000000;
+  11'h2cf: out <= 32'h2e010000;
+  11'h2d0: out <= 32'h746e6f63;
+  11'h2d1: out <= 32'h006c6f72;
+  11'h2d2: out <= 32'h02000000;
+  11'h2d3: out <= 32'h01000000;
+  11'h2d4: out <= 32'h69726573;
+  11'h2d5: out <= 32'h31406c61;
+  11'h2d6: out <= 32'h33353030;
+  11'h2d7: out <= 32'h00303030;
+  11'h2d8: out <= 32'h03000000;
+  11'h2d9: out <= 32'h0d000000;
+  11'h2da: out <= 32'h1b000000;
+  11'h2db: out <= 32'h69666973;
+  11'h2dc: out <= 32'h752c6576;
+  11'h2dd: out <= 32'h30747261;
+  11'h2de: out <= 32'h00000000;
+  11'h2df: out <= 32'h03000000;
+  11'h2e0: out <= 32'h04000000;
+  11'h2e1: out <= 32'h12010000;
+  11'h2e2: out <= 32'h03000000;
+  11'h2e3: out <= 32'h03000000;
+  11'h2e4: out <= 32'h04000000;
+  11'h2e5: out <= 32'h23010000;
+  11'h2e6: out <= 32'h07000000;
+  11'h2e7: out <= 32'h03000000;
+  11'h2e8: out <= 32'h08000000;
+  11'h2e9: out <= 32'h9d000000;
+  11'h2ea: out <= 32'h00300510;
+  11'h2eb: out <= 32'h00100000;
+  11'h2ec: out <= 32'h03000000;
+  11'h2ed: out <= 32'h08000000;
+  11'h2ee: out <= 32'h2e010000;
+  11'h2ef: out <= 32'h746e6f63;
+  11'h2f0: out <= 32'h006c6f72;
+  11'h2f1: out <= 32'h02000000;
+  11'h2f2: out <= 32'h01000000;
+  11'h2f3: out <= 32'h40697073;
+  11'h2f4: out <= 32'h31303031;
+  11'h2f5: out <= 32'h30303034;
+  11'h2f6: out <= 32'h00000000;
+  11'h2f7: out <= 32'h03000000;
+  11'h2f8: out <= 32'h04000000;
+  11'h2f9: out <= 32'h00000000;
+  11'h2fa: out <= 32'h01000000;
+  11'h2fb: out <= 32'h03000000;
+  11'h2fc: out <= 32'h04000000;
+  11'h2fd: out <= 32'h0f000000;
+  11'h2fe: out <= 32'h00000000;
+  11'h2ff: out <= 32'h03000000;
+  11'h300: out <= 32'h0c000000;
+  11'h301: out <= 32'h1b000000;
+  11'h302: out <= 32'h69666973;
+  11'h303: out <= 32'h732c6576;
+  11'h304: out <= 32'h00306970;
+  11'h305: out <= 32'h03000000;
+  11'h306: out <= 32'h04000000;
+  11'h307: out <= 32'h12010000;
+  11'h308: out <= 32'h03000000;
+  11'h309: out <= 32'h03000000;
+  11'h30a: out <= 32'h04000000;
+  11'h30b: out <= 32'h23010000;
+  11'h30c: out <= 32'h08000000;
+  11'h30d: out <= 32'h03000000;
+  11'h30e: out <= 32'h10000000;
+  11'h30f: out <= 32'h9d000000;
+  11'h310: out <= 32'h00400110;
+  11'h311: out <= 32'h00100000;
+  11'h312: out <= 32'h00000020;
+  11'h313: out <= 32'h00000020;
+  11'h314: out <= 32'h03000000;
+  11'h315: out <= 32'h0c000000;
+  11'h316: out <= 32'h2e010000;
+  11'h317: out <= 32'h746e6f63;
+  11'h318: out <= 32'h006c6f72;
+  11'h319: out <= 32'h006d656d;
+  11'h31a: out <= 32'h02000000;
+  11'h31b: out <= 32'h01000000;
+  11'h31c: out <= 32'h40697073;
+  11'h31d: out <= 32'h32303031;
+  11'h31e: out <= 32'h30303034;
+  11'h31f: out <= 32'h00000000;
+  11'h320: out <= 32'h03000000;
+  11'h321: out <= 32'h04000000;
+  11'h322: out <= 32'h00000000;
+  11'h323: out <= 32'h01000000;
+  11'h324: out <= 32'h03000000;
+  11'h325: out <= 32'h04000000;
+  11'h326: out <= 32'h0f000000;
+  11'h327: out <= 32'h00000000;
+  11'h328: out <= 32'h03000000;
+  11'h329: out <= 32'h0c000000;
+  11'h32a: out <= 32'h1b000000;
+  11'h32b: out <= 32'h69666973;
+  11'h32c: out <= 32'h732c6576;
+  11'h32d: out <= 32'h00306970;
+  11'h32e: out <= 32'h03000000;
+  11'h32f: out <= 32'h04000000;
+  11'h330: out <= 32'h12010000;
+  11'h331: out <= 32'h03000000;
+  11'h332: out <= 32'h03000000;
+  11'h333: out <= 32'h04000000;
+  11'h334: out <= 32'h23010000;
+  11'h335: out <= 32'h09000000;
+  11'h336: out <= 32'h03000000;
+  11'h337: out <= 32'h08000000;
+  11'h338: out <= 32'h9d000000;
+  11'h339: out <= 32'h00400210;
+  11'h33a: out <= 32'h00100000;
+  11'h33b: out <= 32'h03000000;
+  11'h33c: out <= 32'h08000000;
+  11'h33d: out <= 32'h2e010000;
+  11'h33e: out <= 32'h746e6f63;
+  11'h33f: out <= 32'h006c6f72;
+  11'h340: out <= 32'h02000000;
+  11'h341: out <= 32'h01000000;
+  11'h342: out <= 32'h40697073;
+  11'h343: out <= 32'h33303031;
+  11'h344: out <= 32'h30303034;
+  11'h345: out <= 32'h00000000;
+  11'h346: out <= 32'h03000000;
+  11'h347: out <= 32'h04000000;
+  11'h348: out <= 32'h00000000;
+  11'h349: out <= 32'h01000000;
+  11'h34a: out <= 32'h03000000;
+  11'h34b: out <= 32'h04000000;
+  11'h34c: out <= 32'h0f000000;
+  11'h34d: out <= 32'h00000000;
+  11'h34e: out <= 32'h03000000;
+  11'h34f: out <= 32'h0c000000;
+  11'h350: out <= 32'h1b000000;
+  11'h351: out <= 32'h69666973;
+  11'h352: out <= 32'h732c6576;
+  11'h353: out <= 32'h00306970;
+  11'h354: out <= 32'h03000000;
+  11'h355: out <= 32'h04000000;
+  11'h356: out <= 32'h12010000;
+  11'h357: out <= 32'h03000000;
+  11'h358: out <= 32'h03000000;
+  11'h359: out <= 32'h04000000;
+  11'h35a: out <= 32'h23010000;
+  11'h35b: out <= 32'h0a000000;
+  11'h35c: out <= 32'h03000000;
+  11'h35d: out <= 32'h08000000;
+  11'h35e: out <= 32'h9d000000;
+  11'h35f: out <= 32'h00400310;
+  11'h360: out <= 32'h00100000;
+  11'h361: out <= 32'h03000000;
+  11'h362: out <= 32'h08000000;
+  11'h363: out <= 32'h2e010000;
+  11'h364: out <= 32'h746e6f63;
+  11'h365: out <= 32'h006c6f72;
+  11'h366: out <= 32'h02000000;
+  11'h367: out <= 32'h02000000;
+  11'h368: out <= 32'h02000000;
+  11'h369: out <= 32'h09000000;
+  11'h36a: out <= 32'h64646123;
+  11'h36b: out <= 32'h73736572;
+  11'h36c: out <= 32'h6c65632d;
+  11'h36d: out <= 32'h2300736c;
+  11'h36e: out <= 32'h657a6973;
+  11'h36f: out <= 32'h6c65632d;
+  11'h370: out <= 32'h6300736c;
+  11'h371: out <= 32'h61706d6f;
+  11'h372: out <= 32'h6c626974;
+  11'h373: out <= 32'h6f6d0065;
+  11'h374: out <= 32'h006c6564;
+  11'h375: out <= 32'h69726573;
+  11'h376: out <= 32'h00306c61;
+  11'h377: out <= 32'h69726573;
+  11'h378: out <= 32'h00316c61;
+  11'h379: out <= 32'h69726573;
+  11'h37a: out <= 32'h00326c61;
+  11'h37b: out <= 32'h69726573;
+  11'h37c: out <= 32'h00336c61;
+  11'h37d: out <= 32'h69726573;
+  11'h37e: out <= 32'h00346c61;
+  11'h37f: out <= 32'h636f6c63;
+  11'h380: out <= 32'h72662d6b;
+  11'h381: out <= 32'h65757165;
+  11'h382: out <= 32'h0079636e;
+  11'h383: out <= 32'h69766564;
+  11'h384: out <= 32'h745f6563;
+  11'h385: out <= 32'h00657079;
+  11'h386: out <= 32'h61632d69;
+  11'h387: out <= 32'h2d656863;
+  11'h388: out <= 32'h636f6c62;
+  11'h389: out <= 32'h69732d6b;
+  11'h38a: out <= 32'h6900657a;
+  11'h38b: out <= 32'h6361632d;
+  11'h38c: out <= 32'h732d6568;
+  11'h38d: out <= 32'h00737465;
+  11'h38e: out <= 32'h61632d69;
+  11'h38f: out <= 32'h2d656863;
+  11'h390: out <= 32'h657a6973;
+  11'h391: out <= 32'h67657200;
+  11'h392: out <= 32'h73697200;
+  11'h393: out <= 32'h692c7663;
+  11'h394: out <= 32'h73006173;
+  11'h395: out <= 32'h76696669;
+  11'h396: out <= 32'h74642c65;
+  11'h397: out <= 32'h73006d69;
+  11'h398: out <= 32'h76696669;
+  11'h399: out <= 32'h74692c65;
+  11'h39a: out <= 32'h73006d69;
+  11'h39b: out <= 32'h75746174;
+  11'h39c: out <= 32'h69740073;
+  11'h39d: out <= 32'h6162656d;
+  11'h39e: out <= 32'h662d6573;
+  11'h39f: out <= 32'h75716572;
+  11'h3a0: out <= 32'h79636e65;
+  11'h3a1: out <= 32'h6e692300;
+  11'h3a2: out <= 32'h72726574;
+  11'h3a3: out <= 32'h2d747075;
+  11'h3a4: out <= 32'h6c6c6563;
+  11'h3a5: out <= 32'h6e690073;
+  11'h3a6: out <= 32'h72726574;
+  11'h3a7: out <= 32'h2d747075;
+  11'h3a8: out <= 32'h746e6f63;
+  11'h3a9: out <= 32'h6c6c6f72;
+  11'h3aa: out <= 32'h70007265;
+  11'h3ab: out <= 32'h646e6168;
+  11'h3ac: out <= 32'h7200656c;
+  11'h3ad: out <= 32'h65676e61;
+  11'h3ae: out <= 32'h6e690073;
+  11'h3af: out <= 32'h72726574;
+  11'h3b0: out <= 32'h2d747075;
+  11'h3b1: out <= 32'h65726170;
+  11'h3b2: out <= 32'h6900746e;
+  11'h3b3: out <= 32'h7265746e;
+  11'h3b4: out <= 32'h74707572;
+  11'h3b5: out <= 32'h65720073;
+  11'h3b6: out <= 32'h616e2d67;
+  11'h3b7: out <= 32'h0073656d;
+  11'h3b8: out <= 32'h65746e69;
+  11'h3b9: out <= 32'h70757272;
+  11'h3ba: out <= 32'h652d7374;
+  11'h3bb: out <= 32'h6e657478;
+  11'h3bc: out <= 32'h00646564;
+  11'h3bd: out <= 32'h69706723;
+  11'h3be: out <= 32'h65632d6f;
+  11'h3bf: out <= 32'h00736c6c;
+  11'h3c0: out <= 32'h6f697067;
+  11'h3c1: out <= 32'h6e6f632d;
+  11'h3c2: out <= 32'h6c6f7274;
+  11'h3c3: out <= 32'h0072656c;
+  11'h3c4: out <= 32'h63736972;
+  11'h3c5: out <= 32'h616d2c76;
+  11'h3c6: out <= 32'h72702d78;
+  11'h3c7: out <= 32'h69726f69;
+  11'h3c8: out <= 32'h72007974;
+  11'h3c9: out <= 32'h76637369;
+  11'h3ca: out <= 32'h65646e2c;
+  11'h3cb: out <= 32'h00000076;
+  default: out <= 32'hdeadbeef;
+endcase
diff --git a/verilog/rtl/marmot/shc.marmotcaravel.MarmotCaravelConfig.no_sram.v b/verilog/rtl/marmot/shc.marmotcaravel.MarmotCaravelConfig.no_sram.v
new file mode 100644
index 0000000..5f50a29
--- /dev/null
+++ b/verilog/rtl/marmot/shc.marmotcaravel.MarmotCaravelConfig.no_sram.v
@@ -0,0 +1,349618 @@
+module IntXbar( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@3.2]
+  input   auto_int_in_11_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
+  input   auto_int_in_10_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
+  input   auto_int_in_9_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
+  input   auto_int_in_9_1, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
+  input   auto_int_in_9_2, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
+  input   auto_int_in_9_3, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
+  input   auto_int_in_9_4, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
+  input   auto_int_in_9_5, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
+  input   auto_int_in_9_6, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
+  input   auto_int_in_9_7, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
+  input   auto_int_in_9_8, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
+  input   auto_int_in_9_9, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
+  input   auto_int_in_9_10, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
+  input   auto_int_in_9_11, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
+  input   auto_int_in_9_12, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
+  input   auto_int_in_9_13, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
+  input   auto_int_in_9_14, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
+  input   auto_int_in_9_15, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
+  input   auto_int_in_9_16, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
+  input   auto_int_in_9_17, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
+  input   auto_int_in_9_18, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
+  input   auto_int_in_9_19, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
+  input   auto_int_in_9_20, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
+  input   auto_int_in_9_21, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
+  input   auto_int_in_9_22, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
+  input   auto_int_in_9_23, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
+  input   auto_int_in_9_24, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
+  input   auto_int_in_9_25, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
+  input   auto_int_in_9_26, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
+  input   auto_int_in_9_27, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
+  input   auto_int_in_9_28, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
+  input   auto_int_in_9_29, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
+  input   auto_int_in_9_30, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
+  input   auto_int_in_9_31, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
+  input   auto_int_in_8_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
+  input   auto_int_in_7_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
+  input   auto_int_in_6_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
+  input   auto_int_in_5_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
+  input   auto_int_in_4_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
+  input   auto_int_in_3_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
+  input   auto_int_in_2_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
+  input   auto_int_in_1_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
+  input   auto_int_in_0_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
+  input   auto_int_in_0_1, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
+  output  auto_int_out_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
+  output  auto_int_out_1, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
+  output  auto_int_out_2, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
+  output  auto_int_out_3, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
+  output  auto_int_out_4, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
+  output  auto_int_out_5, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
+  output  auto_int_out_6, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
+  output  auto_int_out_7, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
+  output  auto_int_out_8, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
+  output  auto_int_out_9, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
+  output  auto_int_out_10, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
+  output  auto_int_out_11, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
+  output  auto_int_out_12, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
+  output  auto_int_out_13, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
+  output  auto_int_out_14, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
+  output  auto_int_out_15, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
+  output  auto_int_out_16, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
+  output  auto_int_out_17, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
+  output  auto_int_out_18, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
+  output  auto_int_out_19, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
+  output  auto_int_out_20, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
+  output  auto_int_out_21, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
+  output  auto_int_out_22, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
+  output  auto_int_out_23, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
+  output  auto_int_out_24, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
+  output  auto_int_out_25, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
+  output  auto_int_out_26, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
+  output  auto_int_out_27, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
+  output  auto_int_out_28, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
+  output  auto_int_out_29, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
+  output  auto_int_out_30, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
+  output  auto_int_out_31, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
+  output  auto_int_out_32, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
+  output  auto_int_out_33, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
+  output  auto_int_out_34, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
+  output  auto_int_out_35, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
+  output  auto_int_out_36, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
+  output  auto_int_out_37, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
+  output  auto_int_out_38, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
+  output  auto_int_out_39, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
+  output  auto_int_out_40, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
+  output  auto_int_out_41, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
+  output  auto_int_out_42, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
+  output  auto_int_out_43 // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
+);
+  assign auto_int_out_0 = auto_int_in_0_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@37.4]
+  assign auto_int_out_1 = auto_int_in_0_1; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@37.4]
+  assign auto_int_out_2 = auto_int_in_1_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@37.4]
+  assign auto_int_out_3 = auto_int_in_2_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@37.4]
+  assign auto_int_out_4 = auto_int_in_3_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@37.4]
+  assign auto_int_out_5 = auto_int_in_4_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@37.4]
+  assign auto_int_out_6 = auto_int_in_5_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@37.4]
+  assign auto_int_out_7 = auto_int_in_6_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@37.4]
+  assign auto_int_out_8 = auto_int_in_7_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@37.4]
+  assign auto_int_out_9 = auto_int_in_8_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@37.4]
+  assign auto_int_out_10 = auto_int_in_9_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@37.4]
+  assign auto_int_out_11 = auto_int_in_9_1; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@37.4]
+  assign auto_int_out_12 = auto_int_in_9_2; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@37.4]
+  assign auto_int_out_13 = auto_int_in_9_3; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@37.4]
+  assign auto_int_out_14 = auto_int_in_9_4; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@37.4]
+  assign auto_int_out_15 = auto_int_in_9_5; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@37.4]
+  assign auto_int_out_16 = auto_int_in_9_6; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@37.4]
+  assign auto_int_out_17 = auto_int_in_9_7; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@37.4]
+  assign auto_int_out_18 = auto_int_in_9_8; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@37.4]
+  assign auto_int_out_19 = auto_int_in_9_9; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@37.4]
+  assign auto_int_out_20 = auto_int_in_9_10; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@37.4]
+  assign auto_int_out_21 = auto_int_in_9_11; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@37.4]
+  assign auto_int_out_22 = auto_int_in_9_12; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@37.4]
+  assign auto_int_out_23 = auto_int_in_9_13; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@37.4]
+  assign auto_int_out_24 = auto_int_in_9_14; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@37.4]
+  assign auto_int_out_25 = auto_int_in_9_15; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@37.4]
+  assign auto_int_out_26 = auto_int_in_9_16; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@37.4]
+  assign auto_int_out_27 = auto_int_in_9_17; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@37.4]
+  assign auto_int_out_28 = auto_int_in_9_18; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@37.4]
+  assign auto_int_out_29 = auto_int_in_9_19; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@37.4]
+  assign auto_int_out_30 = auto_int_in_9_20; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@37.4]
+  assign auto_int_out_31 = auto_int_in_9_21; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@37.4]
+  assign auto_int_out_32 = auto_int_in_9_22; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@37.4]
+  assign auto_int_out_33 = auto_int_in_9_23; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@37.4]
+  assign auto_int_out_34 = auto_int_in_9_24; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@37.4]
+  assign auto_int_out_35 = auto_int_in_9_25; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@37.4]
+  assign auto_int_out_36 = auto_int_in_9_26; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@37.4]
+  assign auto_int_out_37 = auto_int_in_9_27; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@37.4]
+  assign auto_int_out_38 = auto_int_in_9_28; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@37.4]
+  assign auto_int_out_39 = auto_int_in_9_29; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@37.4]
+  assign auto_int_out_40 = auto_int_in_9_30; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@37.4]
+  assign auto_int_out_41 = auto_int_in_9_31; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@37.4]
+  assign auto_int_out_42 = auto_int_in_10_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@37.4]
+  assign auto_int_out_43 = auto_int_in_11_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@37.4]
+endmodule
+module TLMonitor( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@102.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@103.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@104.4]
+  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@105.4]
+  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@105.4]
+  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@105.4]
+  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@105.4]
+  input  [3:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@105.4]
+  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@105.4]
+  input  [31:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@105.4]
+  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@105.4]
+  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@105.4]
+  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@105.4]
+  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@105.4]
+  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@105.4]
+  input  [1:0]  io_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@105.4]
+  input  [3:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@105.4]
+  input         io_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@105.4]
+  input         io_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@105.4]
+  input         io_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@105.4]
+  input         io_in_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@105.4]
+);
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@1895.4]
+  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@121.6]
+  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@126.6]
+  wire [26:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@128.6]
+  wire [11:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@129.6]
+  wire [11:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@130.6]
+  wire [31:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@131.6]
+  wire [31:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@131.6]
+  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@132.6]
+  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@134.6]
+  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@135.6]
+  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@137.6]
+  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@138.6]
+  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@139.6]
+  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@140.6]
+  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@141.6]
+  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@143.6]
+  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@144.6]
+  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@146.6]
+  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@147.6]
+  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@148.6]
+  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@149.6]
+  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@150.6]
+  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@151.6]
+  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@152.6]
+  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@153.6]
+  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@154.6]
+  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@155.6]
+  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@156.6]
+  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@157.6]
+  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@158.6]
+  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@159.6]
+  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@160.6]
+  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@161.6]
+  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@162.6]
+  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163.6]
+  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164.6]
+  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165.6]
+  wire [32:0] _T_73; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@169.6]
+  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@190.6]
+  wire [31:0] _T_92; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193.8]
+  wire [32:0] _T_93; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@194.8]
+  wire [32:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@195.8]
+  wire [32:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@196.8]
+  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@197.8]
+  wire [31:0] _T_97; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@198.8]
+  wire [32:0] _T_98; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@199.8]
+  wire [32:0] _T_99; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@200.8]
+  wire [32:0] _T_100; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@201.8]
+  wire  _T_101; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@202.8]
+  wire [31:0] _T_102; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@203.8]
+  wire [32:0] _T_103; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@204.8]
+  wire [32:0] _T_104; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@205.8]
+  wire [32:0] _T_105; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206.8]
+  wire  _T_106; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@207.8]
+  wire [31:0] _T_107; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@208.8]
+  wire [32:0] _T_108; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@209.8]
+  wire [32:0] _T_109; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210.8]
+  wire [32:0] _T_110; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@211.8]
+  wire  _T_111; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@212.8]
+  wire [31:0] _T_112; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@213.8]
+  wire [32:0] _T_113; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@214.8]
+  wire [32:0] _T_114; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@215.8]
+  wire [32:0] _T_115; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@216.8]
+  wire  _T_116; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@217.8]
+  wire [31:0] _T_117; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@218.8]
+  wire [32:0] _T_118; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@219.8]
+  wire [32:0] _T_119; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@220.8]
+  wire [32:0] _T_120; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@221.8]
+  wire  _T_121; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@222.8]
+  wire [31:0] _T_122; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@223.8]
+  wire [32:0] _T_123; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@224.8]
+  wire [32:0] _T_124; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@225.8]
+  wire [32:0] _T_125; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@226.8]
+  wire  _T_126; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@227.8]
+  wire [31:0] _T_127; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@228.8]
+  wire [32:0] _T_128; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@229.8]
+  wire [32:0] _T_129; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@230.8]
+  wire [32:0] _T_130; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@231.8]
+  wire  _T_131; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@232.8]
+  wire [31:0] _T_132; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@233.8]
+  wire [32:0] _T_133; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@234.8]
+  wire [32:0] _T_134; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@235.8]
+  wire [32:0] _T_135; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@236.8]
+  wire  _T_136; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@237.8]
+  wire [31:0] _T_137; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@238.8]
+  wire [32:0] _T_138; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@239.8]
+  wire [32:0] _T_139; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@240.8]
+  wire [32:0] _T_140; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@241.8]
+  wire  _T_141; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@242.8]
+  wire [32:0] _T_144; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@245.8]
+  wire [32:0] _T_145; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@246.8]
+  wire  _T_146; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@247.8]
+  wire [31:0] _T_147; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@248.8]
+  wire [32:0] _T_148; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@249.8]
+  wire [32:0] _T_149; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@250.8]
+  wire [32:0] _T_150; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@251.8]
+  wire  _T_151; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@252.8]
+  wire [31:0] _T_152; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@253.8]
+  wire [32:0] _T_153; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@254.8]
+  wire [32:0] _T_154; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@255.8]
+  wire [32:0] _T_155; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@256.8]
+  wire  _T_156; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@257.8]
+  wire [31:0] _T_157; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@258.8]
+  wire [32:0] _T_158; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@259.8]
+  wire [32:0] _T_159; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@260.8]
+  wire [32:0] _T_160; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@261.8]
+  wire  _T_161; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262.8]
+  wire  _T_162; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@263.8]
+  wire  _T_163; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@264.8]
+  wire  _T_164; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@265.8]
+  wire  _T_165; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@266.8]
+  wire  _T_179; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@280.8]
+  wire  _T_184; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@293.8]
+  wire  _T_185; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@294.8]
+  wire  _T_188; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@301.8]
+  wire  _T_189; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@302.8]
+  wire  _T_191; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@308.8]
+  wire  _T_192; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@309.8]
+  wire  _T_193; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@314.8]
+  wire  _T_195; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@316.8]
+  wire  _T_196; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@317.8]
+  wire [3:0] _T_197; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@322.8]
+  wire  _T_198; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@323.8]
+  wire  _T_200; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@325.8]
+  wire  _T_201; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@326.8]
+  wire  _T_202; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@331.8]
+  wire  _T_204; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@333.8]
+  wire  _T_205; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@334.8]
+  wire  _T_206; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@340.6]
+  wire  _T_313; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@472.8]
+  wire  _T_315; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@474.8]
+  wire  _T_316; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@475.8]
+  wire  _T_326; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@498.6]
+  wire  _T_328; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@501.8]
+  wire  _T_336; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@509.8]
+  wire  _T_338; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@511.8]
+  wire  _T_406; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@579.8]
+  wire  _T_407; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@580.8]
+  wire  _T_408; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@581.8]
+  wire  _T_409; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@582.8]
+  wire  _T_410; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@583.8]
+  wire  _T_411; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@584.8]
+  wire  _T_412; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@585.8]
+  wire  _T_413; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@586.8]
+  wire  _T_414; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@587.8]
+  wire  _T_415; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@588.8]
+  wire  _T_416; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@589.8]
+  wire  _T_417; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@590.8]
+  wire  _T_418; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@591.8]
+  wire  _T_420; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@593.8]
+  wire  _T_422; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@595.8]
+  wire  _T_423; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@596.8]
+  wire  _T_430; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@615.8]
+  wire  _T_432; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@617.8]
+  wire  _T_433; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@618.8]
+  wire  _T_434; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@623.8]
+  wire  _T_436; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@625.8]
+  wire  _T_437; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@626.8]
+  wire  _T_442; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@640.6]
+  wire  _T_515; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@714.8]
+  wire  _T_516; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@715.8]
+  wire  _T_517; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@716.8]
+  wire  _T_518; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@717.8]
+  wire  _T_519; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@718.8]
+  wire  _T_520; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@719.8]
+  wire  _T_521; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@720.8]
+  wire  _T_522; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@721.8]
+  wire  _T_537; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@736.8]
+  wire  _T_540; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@739.8]
+  wire  _T_541; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@740.8]
+  wire  _T_556; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@776.6]
+  wire [3:0] _T_666; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@903.8]
+  wire [3:0] _T_667; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@904.8]
+  wire  _T_668; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@905.8]
+  wire  _T_670; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@907.8]
+  wire  _T_671; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@908.8]
+  wire  _T_672; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@914.6]
+  wire  _T_674; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@917.8]
+  wire  _T_741; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@984.8]
+  wire  _T_742; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@985.8]
+  wire  _T_743; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@986.8]
+  wire  _T_744; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@987.8]
+  wire  _T_745; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@988.8]
+  wire  _T_746; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@989.8]
+  wire  _T_747; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@990.8]
+  wire  _T_748; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@991.8]
+  wire  _T_765; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1008.8]
+  wire  _T_766; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1009.8]
+  wire  _T_773; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@1028.8]
+  wire  _T_775; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1030.8]
+  wire  _T_776; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1031.8]
+  wire  _T_781; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1045.6]
+  wire  _T_882; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@1159.8]
+  wire  _T_884; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1161.8]
+  wire  _T_885; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1162.8]
+  wire  _T_890; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1176.6]
+  wire  _T_983; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1270.8]
+  wire  _T_984; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1271.8]
+  wire  _T_999; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@1309.6]
+  wire  _T_1001; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@1311.6]
+  wire  _T_1002; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@1312.6]
+  wire  _T_1004; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@1318.6]
+  wire  _T_1013; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@1323.6]
+  wire  _T_1015; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1325.6]
+  wire  _T_1017; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1328.8]
+  wire  _T_1018; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1329.8]
+  wire  _T_1019; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@1334.8]
+  wire  _T_1021; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1336.8]
+  wire  _T_1022; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1337.8]
+  wire  _T_1023; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@1342.8]
+  wire  _T_1025; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1344.8]
+  wire  _T_1026; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1345.8]
+  wire  _T_1027; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@1350.8]
+  wire  _T_1029; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1352.8]
+  wire  _T_1030; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1353.8]
+  wire  _T_1031; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@1358.8]
+  wire  _T_1033; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1360.8]
+  wire  _T_1034; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1361.8]
+  wire  _T_1035; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1367.6]
+  wire  _T_1046; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@1391.8]
+  wire  _T_1048; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1393.8]
+  wire  _T_1049; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1394.8]
+  wire  _T_1050; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@1399.8]
+  wire  _T_1052; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1401.8]
+  wire  _T_1053; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1402.8]
+  wire  _T_1063; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1425.6]
+  wire  _T_1083; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@1466.8]
+  wire  _T_1085; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1468.8]
+  wire  _T_1086; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1469.8]
+  wire  _T_1092; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1484.6]
+  wire  _T_1109; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1519.6]
+  wire  _T_1127; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1555.6]
+  wire  _T_1156; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@1615.4]
+  wire [9:0] _T_1161; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@1620.4]
+  wire  _T_1162; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@1621.4]
+  wire  _T_1163; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@1622.4]
+  reg [9:0] _T_1166; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@1624.4]
+  reg [31:0] _RAND_0;
+  wire [10:0] _T_1167; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@1625.4]
+  wire [10:0] _T_1168; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@1626.4]
+  wire [9:0] _T_1169; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@1627.4]
+  wire  _T_1170; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1628.4]
+  reg [2:0] _T_1179; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@1639.4]
+  reg [31:0] _RAND_1;
+  reg [2:0] _T_1181; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@1640.4]
+  reg [31:0] _RAND_2;
+  reg [3:0] _T_1183; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@1641.4]
+  reg [31:0] _RAND_3;
+  reg  _T_1185; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@1642.4]
+  reg [31:0] _RAND_4;
+  reg [31:0] _T_1187; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@1643.4]
+  reg [31:0] _RAND_5;
+  wire  _T_1188; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@1644.4]
+  wire  _T_1189; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@1645.4]
+  wire  _T_1190; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@1647.6]
+  wire  _T_1192; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1649.6]
+  wire  _T_1193; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1650.6]
+  wire  _T_1194; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@1655.6]
+  wire  _T_1196; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1657.6]
+  wire  _T_1197; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1658.6]
+  wire  _T_1198; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@1663.6]
+  wire  _T_1200; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1665.6]
+  wire  _T_1201; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1666.6]
+  wire  _T_1202; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@1671.6]
+  wire  _T_1204; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1673.6]
+  wire  _T_1205; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1674.6]
+  wire  _T_1206; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@1679.6]
+  wire  _T_1208; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1681.6]
+  wire  _T_1209; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1682.6]
+  wire  _T_1211; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@1689.4]
+  wire  _T_1212; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@1697.4]
+  wire [26:0] _T_1214; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@1699.4]
+  wire [11:0] _T_1215; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@1700.4]
+  wire [11:0] _T_1216; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@1701.4]
+  wire [9:0] _T_1217; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@1702.4]
+  wire  _T_1218; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@1703.4]
+  reg [9:0] _T_1221; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@1705.4]
+  reg [31:0] _RAND_6;
+  wire [10:0] _T_1222; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@1706.4]
+  wire [10:0] _T_1223; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@1707.4]
+  wire [9:0] _T_1224; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@1708.4]
+  wire  _T_1225; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1709.4]
+  reg [2:0] _T_1234; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@1720.4]
+  reg [31:0] _RAND_7;
+  reg [1:0] _T_1236; // @[Monitor.scala 419:22:shc.marmotcaravel.MarmotCaravelConfig.fir@1721.4]
+  reg [31:0] _RAND_8;
+  reg [3:0] _T_1238; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@1722.4]
+  reg [31:0] _RAND_9;
+  reg  _T_1240; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@1723.4]
+  reg [31:0] _RAND_10;
+  reg  _T_1242; // @[Monitor.scala 422:22:shc.marmotcaravel.MarmotCaravelConfig.fir@1724.4]
+  reg [31:0] _RAND_11;
+  reg  _T_1244; // @[Monitor.scala 423:22:shc.marmotcaravel.MarmotCaravelConfig.fir@1725.4]
+  reg [31:0] _RAND_12;
+  wire  _T_1245; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@1726.4]
+  wire  _T_1246; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@1727.4]
+  wire  _T_1247; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@1729.6]
+  wire  _T_1249; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1731.6]
+  wire  _T_1250; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1732.6]
+  wire  _T_1251; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@1737.6]
+  wire  _T_1253; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1739.6]
+  wire  _T_1254; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1740.6]
+  wire  _T_1255; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@1745.6]
+  wire  _T_1257; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1747.6]
+  wire  _T_1258; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1748.6]
+  wire  _T_1259; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@1753.6]
+  wire  _T_1261; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1755.6]
+  wire  _T_1262; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1756.6]
+  wire  _T_1263; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@1761.6]
+  wire  _T_1265; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1763.6]
+  wire  _T_1266; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1764.6]
+  wire  _T_1267; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@1769.6]
+  wire  _T_1269; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1771.6]
+  wire  _T_1270; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1772.6]
+  wire  _T_1272; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@1779.4]
+  reg [1:0] _T_1274; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@1788.4]
+  reg [31:0] _RAND_13;
+  reg [9:0] _T_1285; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@1798.4]
+  reg [31:0] _RAND_14;
+  wire [10:0] _T_1286; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@1799.4]
+  wire [10:0] _T_1287; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@1800.4]
+  wire [9:0] _T_1288; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@1801.4]
+  wire  _T_1289; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1802.4]
+  reg [9:0] _T_1306; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@1821.4]
+  reg [31:0] _RAND_15;
+  wire [10:0] _T_1307; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@1822.4]
+  wire [10:0] _T_1308; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@1823.4]
+  wire [9:0] _T_1309; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@1824.4]
+  wire  _T_1310; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1825.4]
+  wire  _T_1321; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@1840.4]
+  wire [1:0] _T_1323; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@1843.6]
+  wire [1:0] _T_1324; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@1845.6]
+  wire  _T_1325; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@1846.6]
+  wire  _T_1326; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1847.6]
+  wire  _T_1328; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@1849.6]
+  wire  _T_1329; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@1850.6]
+  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@1842.4]
+  wire  _T_1334; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@1861.4]
+  wire  _T_1336; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@1863.4]
+  wire  _T_1337; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@1864.4]
+  wire [1:0] _T_1338; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@1866.6]
+  wire [1:0] _T_1339; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@1868.6]
+  wire [1:0] _T_1340; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@1869.6]
+  wire  _T_1341; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@1870.6]
+  wire  _T_1343; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@1872.6]
+  wire  _T_1344; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@1873.6]
+  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@1865.4]
+  wire  _T_1345; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@1879.4]
+  wire  _T_1346; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@1880.4]
+  wire  _T_1347; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@1881.4]
+  wire  _T_1348; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@1882.4]
+  wire  _T_1350; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@1884.4]
+  wire  _T_1351; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@1885.4]
+  wire [1:0] _T_1352; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@1890.4]
+  wire [1:0] _T_1353; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@1891.4]
+  wire [1:0] _T_1354; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@1892.4]
+  reg [31:0] _T_1356; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@1894.4]
+  reg [31:0] _RAND_16;
+  wire  _T_1357; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@1897.4]
+  wire  _T_1358; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@1898.4]
+  wire  _T_1359; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@1899.4]
+  wire  _T_1360; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@1900.4]
+  wire  _T_1361; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@1901.4]
+  wire  _T_1362; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@1902.4]
+  wire  _T_1364; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@1904.4]
+  wire  _T_1365; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@1905.4]
+  wire [31:0] _T_1367; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@1911.4]
+  wire  _T_1370; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@1915.4]
+  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@282.10]
+  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@432.10]
+  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@598.10]
+  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@742.10]
+  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@878.10]
+  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1011.10]
+  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1142.10]
+  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1273.10]
+  wire  _GEN_115; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1331.10]
+  wire  _GEN_125; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1373.10]
+  wire  _GEN_137; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1431.10]
+  wire  _GEN_149; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1490.10]
+  wire  _GEN_155; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1525.10]
+  wire  _GEN_161; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1561.10]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@1895.4]
+    .out(plusarg_reader_out)
+  );
+  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@121.6]
+  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@126.6]
+  assign _T_32 = 27'hfff << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@128.6]
+  assign _T_33 = _T_32[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@129.6]
+  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@130.6]
+  assign _GEN_18 = {{20'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@131.6]
+  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@131.6]
+  assign _T_36 = _T_35 == 32'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@132.6]
+  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@134.6]
+  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@135.6]
+  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@137.6]
+  assign _T_42 = io_in_a_bits_size >= 4'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@138.6]
+  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@139.6]
+  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@140.6]
+  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@141.6]
+  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@143.6]
+  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@144.6]
+  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@146.6]
+  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@147.6]
+  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@148.6]
+  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@149.6]
+  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@150.6]
+  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@151.6]
+  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@152.6]
+  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@153.6]
+  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@154.6]
+  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@155.6]
+  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@156.6]
+  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@157.6]
+  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@158.6]
+  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@159.6]
+  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@160.6]
+  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@161.6]
+  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@162.6]
+  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163.6]
+  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164.6]
+  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165.6]
+  assign _T_73 = {1'b0,$signed(io_in_a_bits_address)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@169.6]
+  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@190.6]
+  assign _T_92 = io_in_a_bits_address ^ 32'h3000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193.8]
+  assign _T_93 = {1'b0,$signed(_T_92)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@194.8]
+  assign _T_94 = $signed(_T_93) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@195.8]
+  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@196.8]
+  assign _T_96 = $signed(_T_95) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@197.8]
+  assign _T_97 = io_in_a_bits_address ^ 32'h10013000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@198.8]
+  assign _T_98 = {1'b0,$signed(_T_97)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@199.8]
+  assign _T_99 = $signed(_T_98) & $signed(-33'sh21000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@200.8]
+  assign _T_100 = $signed(_T_99); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@201.8]
+  assign _T_101 = $signed(_T_100) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@202.8]
+  assign _T_102 = io_in_a_bits_address ^ 32'h10023000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@203.8]
+  assign _T_103 = {1'b0,$signed(_T_102)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@204.8]
+  assign _T_104 = $signed(_T_103) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@205.8]
+  assign _T_105 = $signed(_T_104); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206.8]
+  assign _T_106 = $signed(_T_105) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@207.8]
+  assign _T_107 = io_in_a_bits_address ^ 32'h10043000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@208.8]
+  assign _T_108 = {1'b0,$signed(_T_107)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@209.8]
+  assign _T_109 = $signed(_T_108) & $signed(-33'sh11000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210.8]
+  assign _T_110 = $signed(_T_109); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@211.8]
+  assign _T_111 = $signed(_T_110) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@212.8]
+  assign _T_112 = io_in_a_bits_address ^ 32'h10014000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@213.8]
+  assign _T_113 = {1'b0,$signed(_T_112)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@214.8]
+  assign _T_114 = $signed(_T_113) & $signed(-33'sh21000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@215.8]
+  assign _T_115 = $signed(_T_114); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@216.8]
+  assign _T_116 = $signed(_T_115) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@217.8]
+  assign _T_117 = io_in_a_bits_address ^ 32'h20000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@218.8]
+  assign _T_118 = {1'b0,$signed(_T_117)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@219.8]
+  assign _T_119 = $signed(_T_118) & $signed(-33'sh20000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@220.8]
+  assign _T_120 = $signed(_T_119); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@221.8]
+  assign _T_121 = $signed(_T_120) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@222.8]
+  assign _T_122 = io_in_a_bits_address ^ 32'h10024000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@223.8]
+  assign _T_123 = {1'b0,$signed(_T_122)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@224.8]
+  assign _T_124 = $signed(_T_123) & $signed(-33'sh3000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@225.8]
+  assign _T_125 = $signed(_T_124); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@226.8]
+  assign _T_126 = $signed(_T_125) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@227.8]
+  assign _T_127 = io_in_a_bits_address ^ 32'h10012000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@228.8]
+  assign _T_128 = {1'b0,$signed(_T_127)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@229.8]
+  assign _T_129 = $signed(_T_128) & $signed(-33'sh5000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@230.8]
+  assign _T_130 = $signed(_T_129); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@231.8]
+  assign _T_131 = $signed(_T_130) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@232.8]
+  assign _T_132 = io_in_a_bits_address ^ 32'hc000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@233.8]
+  assign _T_133 = {1'b0,$signed(_T_132)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@234.8]
+  assign _T_134 = $signed(_T_133) & $signed(-33'sh4000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@235.8]
+  assign _T_135 = $signed(_T_134); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@236.8]
+  assign _T_136 = $signed(_T_135) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@237.8]
+  assign _T_137 = io_in_a_bits_address ^ 32'h2000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@238.8]
+  assign _T_138 = {1'b0,$signed(_T_137)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@239.8]
+  assign _T_139 = $signed(_T_138) & $signed(-33'sh10000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@240.8]
+  assign _T_140 = $signed(_T_139); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@241.8]
+  assign _T_141 = $signed(_T_140) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@242.8]
+  assign _T_144 = $signed(_T_73) & $signed(-33'sh10001000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@245.8]
+  assign _T_145 = $signed(_T_144); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@246.8]
+  assign _T_146 = $signed(_T_145) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@247.8]
+  assign _T_147 = io_in_a_bits_address ^ 32'h8000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@248.8]
+  assign _T_148 = {1'b0,$signed(_T_147)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@249.8]
+  assign _T_149 = $signed(_T_148) & $signed(-33'sh4000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@250.8]
+  assign _T_150 = $signed(_T_149); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@251.8]
+  assign _T_151 = $signed(_T_150) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@252.8]
+  assign _T_152 = io_in_a_bits_address ^ 32'h80000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@253.8]
+  assign _T_153 = {1'b0,$signed(_T_152)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@254.8]
+  assign _T_154 = $signed(_T_153) & $signed(-33'sh4000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@255.8]
+  assign _T_155 = $signed(_T_154); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@256.8]
+  assign _T_156 = $signed(_T_155) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@257.8]
+  assign _T_157 = io_in_a_bits_address ^ 32'h10000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@258.8]
+  assign _T_158 = {1'b0,$signed(_T_157)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@259.8]
+  assign _T_159 = $signed(_T_158) & $signed(-33'sh2000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@260.8]
+  assign _T_160 = $signed(_T_159); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@261.8]
+  assign _T_161 = $signed(_T_160) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262.8]
+  assign _T_162 = _T_96 | _T_101; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@263.8]
+  assign _T_163 = _T_162 | _T_106; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@264.8]
+  assign _T_164 = _T_163 | _T_111; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@265.8]
+  assign _T_165 = _T_164 | _T_116; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@266.8]
+  assign _T_179 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@280.8]
+  assign _T_184 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@293.8]
+  assign _T_185 = _T_184 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@294.8]
+  assign _T_188 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@301.8]
+  assign _T_189 = _T_188 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@302.8]
+  assign _T_191 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@308.8]
+  assign _T_192 = _T_191 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@309.8]
+  assign _T_193 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@314.8]
+  assign _T_195 = _T_193 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@316.8]
+  assign _T_196 = _T_195 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@317.8]
+  assign _T_197 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@322.8]
+  assign _T_198 = _T_197 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@323.8]
+  assign _T_200 = _T_198 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@325.8]
+  assign _T_201 = _T_200 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@326.8]
+  assign _T_202 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@331.8]
+  assign _T_204 = _T_202 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@333.8]
+  assign _T_205 = _T_204 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@334.8]
+  assign _T_206 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@340.6]
+  assign _T_313 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@472.8]
+  assign _T_315 = _T_313 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@474.8]
+  assign _T_316 = _T_315 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@475.8]
+  assign _T_326 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@498.6]
+  assign _T_328 = io_in_a_bits_size <= 4'hc; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@501.8]
+  assign _T_336 = _T_328 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@509.8]
+  assign _T_338 = io_in_a_bits_size <= 4'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@511.8]
+  assign _T_406 = _T_101 | _T_106; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@579.8]
+  assign _T_407 = _T_406 | _T_111; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@580.8]
+  assign _T_408 = _T_407 | _T_116; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@581.8]
+  assign _T_409 = _T_408 | _T_121; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@582.8]
+  assign _T_410 = _T_409 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@583.8]
+  assign _T_411 = _T_410 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@584.8]
+  assign _T_412 = _T_411 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@585.8]
+  assign _T_413 = _T_412 | _T_141; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@586.8]
+  assign _T_414 = _T_413 | _T_146; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@587.8]
+  assign _T_415 = _T_414 | _T_151; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@588.8]
+  assign _T_416 = _T_415 | _T_156; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@589.8]
+  assign _T_417 = _T_416 | _T_161; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@590.8]
+  assign _T_418 = _T_338 & _T_417; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@591.8]
+  assign _T_420 = _T_336 | _T_418; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@593.8]
+  assign _T_422 = _T_420 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@595.8]
+  assign _T_423 = _T_422 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@596.8]
+  assign _T_430 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@615.8]
+  assign _T_432 = _T_430 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@617.8]
+  assign _T_433 = _T_432 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@618.8]
+  assign _T_434 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@623.8]
+  assign _T_436 = _T_434 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@625.8]
+  assign _T_437 = _T_436 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@626.8]
+  assign _T_442 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@640.6]
+  assign _T_515 = _T_408 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@714.8]
+  assign _T_516 = _T_515 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@715.8]
+  assign _T_517 = _T_516 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@716.8]
+  assign _T_518 = _T_517 | _T_141; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@717.8]
+  assign _T_519 = _T_518 | _T_146; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@718.8]
+  assign _T_520 = _T_519 | _T_151; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@719.8]
+  assign _T_521 = _T_520 | _T_156; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@720.8]
+  assign _T_522 = _T_338 & _T_521; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@721.8]
+  assign _T_537 = _T_336 | _T_522; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@736.8]
+  assign _T_540 = _T_537 | reset; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@739.8]
+  assign _T_541 = _T_540 == 1'h0; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@740.8]
+  assign _T_556 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@776.6]
+  assign _T_666 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@903.8]
+  assign _T_667 = io_in_a_bits_mask & _T_666; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@904.8]
+  assign _T_668 = _T_667 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@905.8]
+  assign _T_670 = _T_668 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@907.8]
+  assign _T_671 = _T_670 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@908.8]
+  assign _T_672 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@914.6]
+  assign _T_674 = io_in_a_bits_size <= 4'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@917.8]
+  assign _T_741 = _T_165 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@984.8]
+  assign _T_742 = _T_741 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@985.8]
+  assign _T_743 = _T_742 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@986.8]
+  assign _T_744 = _T_743 | _T_141; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@987.8]
+  assign _T_745 = _T_744 | _T_146; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@988.8]
+  assign _T_746 = _T_745 | _T_151; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@989.8]
+  assign _T_747 = _T_746 | _T_156; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@990.8]
+  assign _T_748 = _T_674 & _T_747; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@991.8]
+  assign _T_765 = _T_748 | reset; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1008.8]
+  assign _T_766 = _T_765 == 1'h0; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1009.8]
+  assign _T_773 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@1028.8]
+  assign _T_775 = _T_773 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1030.8]
+  assign _T_776 = _T_775 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1031.8]
+  assign _T_781 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1045.6]
+  assign _T_882 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@1159.8]
+  assign _T_884 = _T_882 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1161.8]
+  assign _T_885 = _T_884 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1162.8]
+  assign _T_890 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1176.6]
+  assign _T_983 = _T_336 | reset; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1270.8]
+  assign _T_984 = _T_983 == 1'h0; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1271.8]
+  assign _T_999 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@1309.6]
+  assign _T_1001 = _T_999 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@1311.6]
+  assign _T_1002 = _T_1001 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@1312.6]
+  assign _T_1004 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@1318.6]
+  assign _T_1013 = io_in_d_bits_source | _T_1004; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@1323.6]
+  assign _T_1015 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1325.6]
+  assign _T_1017 = _T_1013 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1328.8]
+  assign _T_1018 = _T_1017 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1329.8]
+  assign _T_1019 = io_in_d_bits_size >= 4'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@1334.8]
+  assign _T_1021 = _T_1019 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1336.8]
+  assign _T_1022 = _T_1021 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1337.8]
+  assign _T_1023 = io_in_d_bits_param == 2'h0; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@1342.8]
+  assign _T_1025 = _T_1023 | reset; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1344.8]
+  assign _T_1026 = _T_1025 == 1'h0; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1345.8]
+  assign _T_1027 = io_in_d_bits_corrupt == 1'h0; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@1350.8]
+  assign _T_1029 = _T_1027 | reset; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1352.8]
+  assign _T_1030 = _T_1029 == 1'h0; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1353.8]
+  assign _T_1031 = io_in_d_bits_denied == 1'h0; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@1358.8]
+  assign _T_1033 = _T_1031 | reset; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1360.8]
+  assign _T_1034 = _T_1033 == 1'h0; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1361.8]
+  assign _T_1035 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1367.6]
+  assign _T_1046 = io_in_d_bits_param <= 2'h2; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@1391.8]
+  assign _T_1048 = _T_1046 | reset; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1393.8]
+  assign _T_1049 = _T_1048 == 1'h0; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1394.8]
+  assign _T_1050 = io_in_d_bits_param != 2'h2; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@1399.8]
+  assign _T_1052 = _T_1050 | reset; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1401.8]
+  assign _T_1053 = _T_1052 == 1'h0; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1402.8]
+  assign _T_1063 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1425.6]
+  assign _T_1083 = _T_1031 | io_in_d_bits_corrupt; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@1466.8]
+  assign _T_1085 = _T_1083 | reset; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1468.8]
+  assign _T_1086 = _T_1085 == 1'h0; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1469.8]
+  assign _T_1092 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1484.6]
+  assign _T_1109 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1519.6]
+  assign _T_1127 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1555.6]
+  assign _T_1156 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@1615.4]
+  assign _T_1161 = _T_34[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@1620.4]
+  assign _T_1162 = io_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@1621.4]
+  assign _T_1163 = _T_1162 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@1622.4]
+  assign _T_1167 = _T_1166 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@1625.4]
+  assign _T_1168 = $unsigned(_T_1167); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@1626.4]
+  assign _T_1169 = _T_1168[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@1627.4]
+  assign _T_1170 = _T_1166 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1628.4]
+  assign _T_1188 = _T_1170 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@1644.4]
+  assign _T_1189 = io_in_a_valid & _T_1188; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@1645.4]
+  assign _T_1190 = io_in_a_bits_opcode == _T_1179; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@1647.6]
+  assign _T_1192 = _T_1190 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1649.6]
+  assign _T_1193 = _T_1192 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1650.6]
+  assign _T_1194 = io_in_a_bits_param == _T_1181; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@1655.6]
+  assign _T_1196 = _T_1194 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1657.6]
+  assign _T_1197 = _T_1196 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1658.6]
+  assign _T_1198 = io_in_a_bits_size == _T_1183; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@1663.6]
+  assign _T_1200 = _T_1198 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1665.6]
+  assign _T_1201 = _T_1200 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1666.6]
+  assign _T_1202 = io_in_a_bits_source == _T_1185; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@1671.6]
+  assign _T_1204 = _T_1202 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1673.6]
+  assign _T_1205 = _T_1204 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1674.6]
+  assign _T_1206 = io_in_a_bits_address == _T_1187; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@1679.6]
+  assign _T_1208 = _T_1206 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1681.6]
+  assign _T_1209 = _T_1208 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1682.6]
+  assign _T_1211 = _T_1156 & _T_1170; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@1689.4]
+  assign _T_1212 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@1697.4]
+  assign _T_1214 = 27'hfff << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@1699.4]
+  assign _T_1215 = _T_1214[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@1700.4]
+  assign _T_1216 = ~ _T_1215; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@1701.4]
+  assign _T_1217 = _T_1216[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@1702.4]
+  assign _T_1218 = io_in_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@1703.4]
+  assign _T_1222 = _T_1221 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@1706.4]
+  assign _T_1223 = $unsigned(_T_1222); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@1707.4]
+  assign _T_1224 = _T_1223[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@1708.4]
+  assign _T_1225 = _T_1221 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1709.4]
+  assign _T_1245 = _T_1225 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@1726.4]
+  assign _T_1246 = io_in_d_valid & _T_1245; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@1727.4]
+  assign _T_1247 = io_in_d_bits_opcode == _T_1234; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@1729.6]
+  assign _T_1249 = _T_1247 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1731.6]
+  assign _T_1250 = _T_1249 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1732.6]
+  assign _T_1251 = io_in_d_bits_param == _T_1236; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@1737.6]
+  assign _T_1253 = _T_1251 | reset; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1739.6]
+  assign _T_1254 = _T_1253 == 1'h0; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1740.6]
+  assign _T_1255 = io_in_d_bits_size == _T_1238; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@1745.6]
+  assign _T_1257 = _T_1255 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1747.6]
+  assign _T_1258 = _T_1257 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1748.6]
+  assign _T_1259 = io_in_d_bits_source == _T_1240; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@1753.6]
+  assign _T_1261 = _T_1259 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1755.6]
+  assign _T_1262 = _T_1261 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1756.6]
+  assign _T_1263 = io_in_d_bits_sink == _T_1242; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@1761.6]
+  assign _T_1265 = _T_1263 | reset; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1763.6]
+  assign _T_1266 = _T_1265 == 1'h0; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1764.6]
+  assign _T_1267 = io_in_d_bits_denied == _T_1244; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@1769.6]
+  assign _T_1269 = _T_1267 | reset; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1771.6]
+  assign _T_1270 = _T_1269 == 1'h0; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1772.6]
+  assign _T_1272 = _T_1212 & _T_1225; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@1779.4]
+  assign _T_1286 = _T_1285 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@1799.4]
+  assign _T_1287 = $unsigned(_T_1286); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@1800.4]
+  assign _T_1288 = _T_1287[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@1801.4]
+  assign _T_1289 = _T_1285 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1802.4]
+  assign _T_1307 = _T_1306 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@1822.4]
+  assign _T_1308 = $unsigned(_T_1307); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@1823.4]
+  assign _T_1309 = _T_1308[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@1824.4]
+  assign _T_1310 = _T_1306 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1825.4]
+  assign _T_1321 = _T_1156 & _T_1289; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@1840.4]
+  assign _T_1323 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@1843.6]
+  assign _T_1324 = _T_1274 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@1845.6]
+  assign _T_1325 = _T_1324[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@1846.6]
+  assign _T_1326 = _T_1325 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1847.6]
+  assign _T_1328 = _T_1326 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@1849.6]
+  assign _T_1329 = _T_1328 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@1850.6]
+  assign _GEN_15 = _T_1321 ? _T_1323 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@1842.4]
+  assign _T_1334 = _T_1212 & _T_1310; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@1861.4]
+  assign _T_1336 = _T_1015 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@1863.4]
+  assign _T_1337 = _T_1334 & _T_1336; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@1864.4]
+  assign _T_1338 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@1866.6]
+  assign _T_1339 = _GEN_15 | _T_1274; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@1868.6]
+  assign _T_1340 = _T_1339 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@1869.6]
+  assign _T_1341 = _T_1340[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@1870.6]
+  assign _T_1343 = _T_1341 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@1872.6]
+  assign _T_1344 = _T_1343 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@1873.6]
+  assign _GEN_16 = _T_1337 ? _T_1338 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@1865.4]
+  assign _T_1345 = _GEN_15 != _GEN_16; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@1879.4]
+  assign _T_1346 = _GEN_15 != 2'h0; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@1880.4]
+  assign _T_1347 = _T_1346 == 1'h0; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@1881.4]
+  assign _T_1348 = _T_1345 | _T_1347; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@1882.4]
+  assign _T_1350 = _T_1348 | reset; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@1884.4]
+  assign _T_1351 = _T_1350 == 1'h0; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@1885.4]
+  assign _T_1352 = _T_1274 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@1890.4]
+  assign _T_1353 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@1891.4]
+  assign _T_1354 = _T_1352 & _T_1353; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@1892.4]
+  assign _T_1357 = _T_1274 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@1897.4]
+  assign _T_1358 = _T_1357 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@1898.4]
+  assign _T_1359 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@1899.4]
+  assign _T_1360 = _T_1358 | _T_1359; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@1900.4]
+  assign _T_1361 = _T_1356 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@1901.4]
+  assign _T_1362 = _T_1360 | _T_1361; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@1902.4]
+  assign _T_1364 = _T_1362 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@1904.4]
+  assign _T_1365 = _T_1364 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@1905.4]
+  assign _T_1367 = _T_1356 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@1911.4]
+  assign _T_1370 = _T_1156 | _T_1212; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@1915.4]
+  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@282.10]
+  assign _GEN_35 = io_in_a_valid & _T_206; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@432.10]
+  assign _GEN_53 = io_in_a_valid & _T_326; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@598.10]
+  assign _GEN_65 = io_in_a_valid & _T_442; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@742.10]
+  assign _GEN_75 = io_in_a_valid & _T_556; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@878.10]
+  assign _GEN_85 = io_in_a_valid & _T_672; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1011.10]
+  assign _GEN_95 = io_in_a_valid & _T_781; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1142.10]
+  assign _GEN_105 = io_in_a_valid & _T_890; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1273.10]
+  assign _GEN_115 = io_in_d_valid & _T_1015; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1331.10]
+  assign _GEN_125 = io_in_d_valid & _T_1035; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1373.10]
+  assign _GEN_137 = io_in_d_valid & _T_1063; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1431.10]
+  assign _GEN_149 = io_in_d_valid & _T_1092; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1490.10]
+  assign _GEN_155 = io_in_d_valid & _T_1109; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1525.10]
+  assign _GEN_161 = io_in_d_valid & _T_1127; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1561.10]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  _T_1166 = _RAND_0[9:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  _T_1179 = _RAND_1[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  _T_1181 = _RAND_2[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  _T_1183 = _RAND_3[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  _T_1185 = _RAND_4[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  _T_1187 = _RAND_5[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {1{`RANDOM}};
+  _T_1221 = _RAND_6[9:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {1{`RANDOM}};
+  _T_1234 = _RAND_7[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_8 = {1{`RANDOM}};
+  _T_1236 = _RAND_8[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_9 = {1{`RANDOM}};
+  _T_1238 = _RAND_9[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_10 = {1{`RANDOM}};
+  _T_1240 = _RAND_10[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_11 = {1{`RANDOM}};
+  _T_1242 = _RAND_11[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_12 = {1{`RANDOM}};
+  _T_1244 = _RAND_12[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_13 = {1{`RANDOM}};
+  _T_1274 = _RAND_13[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_14 = {1{`RANDOM}};
+  _T_1285 = _RAND_14[9:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_15 = {1{`RANDOM}};
+  _T_1306 = _RAND_15[9:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_16 = {1{`RANDOM}};
+  _T_1356 = _RAND_16[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      _T_1166 <= 10'h0;
+    end else begin
+      if (_T_1156) begin
+        if (_T_1170) begin
+          if (_T_1163) begin
+            _T_1166 <= _T_1161;
+          end else begin
+            _T_1166 <= 10'h0;
+          end
+        end else begin
+          _T_1166 <= _T_1169;
+        end
+      end
+    end
+    if (_T_1211) begin
+      _T_1179 <= io_in_a_bits_opcode;
+    end
+    if (_T_1211) begin
+      _T_1181 <= io_in_a_bits_param;
+    end
+    if (_T_1211) begin
+      _T_1183 <= io_in_a_bits_size;
+    end
+    if (_T_1211) begin
+      _T_1185 <= io_in_a_bits_source;
+    end
+    if (_T_1211) begin
+      _T_1187 <= io_in_a_bits_address;
+    end
+    if (reset) begin
+      _T_1221 <= 10'h0;
+    end else begin
+      if (_T_1212) begin
+        if (_T_1225) begin
+          if (_T_1218) begin
+            _T_1221 <= _T_1217;
+          end else begin
+            _T_1221 <= 10'h0;
+          end
+        end else begin
+          _T_1221 <= _T_1224;
+        end
+      end
+    end
+    if (_T_1272) begin
+      _T_1234 <= io_in_d_bits_opcode;
+    end
+    if (_T_1272) begin
+      _T_1236 <= io_in_d_bits_param;
+    end
+    if (_T_1272) begin
+      _T_1238 <= io_in_d_bits_size;
+    end
+    if (_T_1272) begin
+      _T_1240 <= io_in_d_bits_source;
+    end
+    if (_T_1272) begin
+      _T_1242 <= io_in_d_bits_sink;
+    end
+    if (_T_1272) begin
+      _T_1244 <= io_in_d_bits_denied;
+    end
+    if (reset) begin
+      _T_1274 <= 2'h0;
+    end else begin
+      _T_1274 <= _T_1354;
+    end
+    if (reset) begin
+      _T_1285 <= 10'h0;
+    end else begin
+      if (_T_1156) begin
+        if (_T_1289) begin
+          if (_T_1163) begin
+            _T_1285 <= _T_1161;
+          end else begin
+            _T_1285 <= 10'h0;
+          end
+        end else begin
+          _T_1285 <= _T_1288;
+        end
+      end
+    end
+    if (reset) begin
+      _T_1306 <= 10'h0;
+    end else begin
+      if (_T_1212) begin
+        if (_T_1310) begin
+          if (_T_1218) begin
+            _T_1306 <= _T_1217;
+          end else begin
+            _T_1306 <= 10'h0;
+          end
+        end else begin
+          _T_1306 <= _T_1309;
+        end
+      end
+    end
+    if (reset) begin
+      _T_1356 <= 32'h0;
+    end else begin
+      if (_T_1370) begin
+        _T_1356 <= 32'h0;
+      end else begin
+        _T_1356 <= _T_1367;
+      end
+    end
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at SystemBus.scala:37:14)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@117.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@118.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@187.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@188.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_179) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at SystemBus.scala:37:14)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@282.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_179) begin
+          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@283.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_179) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at SystemBus.scala:37:14)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@289.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_179) begin
+          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_185) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at SystemBus.scala:37:14)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@296.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_185) begin
+          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@297.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_189) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at SystemBus.scala:37:14)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@304.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_189) begin
+          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@305.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_192) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at SystemBus.scala:37:14)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@311.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_192) begin
+          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@312.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_196) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at SystemBus.scala:37:14)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@319.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_196) begin
+          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@320.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_201) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at SystemBus.scala:37:14)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@328.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_201) begin
+          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@329.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_205) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at SystemBus.scala:37:14)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@336.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_205) begin
+          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@337.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_179) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at SystemBus.scala:37:14)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@432.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_179) begin
+          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@433.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_179) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at SystemBus.scala:37:14)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@439.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_179) begin
+          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@440.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_185) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at SystemBus.scala:37:14)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@446.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_185) begin
+          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@447.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_189) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at SystemBus.scala:37:14)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@454.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_189) begin
+          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@455.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_192) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at SystemBus.scala:37:14)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@461.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_192) begin
+          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@462.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_196) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at SystemBus.scala:37:14)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@469.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_196) begin
+          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@470.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_316) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at SystemBus.scala:37:14)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@477.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_316) begin
+          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@478.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_201) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at SystemBus.scala:37:14)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@486.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_201) begin
+          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@487.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_205) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at SystemBus.scala:37:14)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@494.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_205) begin
+          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@495.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_423) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at SystemBus.scala:37:14)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@598.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_423) begin
+          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@599.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_185) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at SystemBus.scala:37:14)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@605.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_185) begin
+          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@606.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_192) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at SystemBus.scala:37:14)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@612.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_192) begin
+          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@613.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_433) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at SystemBus.scala:37:14)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@620.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_433) begin
+          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@621.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_437) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at SystemBus.scala:37:14)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@628.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_437) begin
+          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@629.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_205) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at SystemBus.scala:37:14)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@636.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_205) begin
+          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@637.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_541) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at SystemBus.scala:37:14)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@742.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_541) begin
+          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@743.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_185) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at SystemBus.scala:37:14)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@749.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_185) begin
+          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@750.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_192) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at SystemBus.scala:37:14)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@756.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_192) begin
+          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@757.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_433) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at SystemBus.scala:37:14)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@764.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_433) begin
+          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@765.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_437) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at SystemBus.scala:37:14)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@772.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_437) begin
+          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@773.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_541) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at SystemBus.scala:37:14)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@878.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_541) begin
+          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@879.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_185) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at SystemBus.scala:37:14)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@885.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_185) begin
+          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@886.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_192) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at SystemBus.scala:37:14)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@892.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_192) begin
+          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@893.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_433) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at SystemBus.scala:37:14)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@900.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_433) begin
+          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@901.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_671) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at SystemBus.scala:37:14)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@910.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_671) begin
+          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@911.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_766) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at SystemBus.scala:37:14)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1011.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_766) begin
+          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1012.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_185) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at SystemBus.scala:37:14)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1018.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_185) begin
+          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1019.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_192) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at SystemBus.scala:37:14)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1025.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_192) begin
+          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1026.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_776) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at SystemBus.scala:37:14)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1033.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_776) begin
+          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1034.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_437) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at SystemBus.scala:37:14)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1041.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_437) begin
+          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1042.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_766) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at SystemBus.scala:37:14)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1142.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_766) begin
+          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1143.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_185) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at SystemBus.scala:37:14)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1149.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_185) begin
+          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1150.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_192) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at SystemBus.scala:37:14)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1156.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_192) begin
+          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1157.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_885) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at SystemBus.scala:37:14)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1164.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_885) begin
+          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1165.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_437) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at SystemBus.scala:37:14)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1172.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_437) begin
+          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1173.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_984) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at SystemBus.scala:37:14)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1273.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_984) begin
+          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1274.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_185) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at SystemBus.scala:37:14)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1280.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_185) begin
+          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1281.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_192) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at SystemBus.scala:37:14)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1287.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_192) begin
+          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1288.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_437) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at SystemBus.scala:37:14)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1295.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_437) begin
+          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1296.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_205) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at SystemBus.scala:37:14)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1303.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_205) begin
+          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1304.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1002) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at SystemBus.scala:37:14)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@1314.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1002) begin
+          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@1315.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_1018) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at SystemBus.scala:37:14)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1331.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_1018) begin
+          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1332.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_1022) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at SystemBus.scala:37:14)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1339.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_1022) begin
+          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1340.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_1026) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at SystemBus.scala:37:14)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1347.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_1026) begin
+          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1348.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_1030) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at SystemBus.scala:37:14)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1355.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_1030) begin
+          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1356.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_1034) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at SystemBus.scala:37:14)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1363.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_1034) begin
+          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1364.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_1018) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at SystemBus.scala:37:14)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1373.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_1018) begin
+          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1374.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_179) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at SystemBus.scala:37:14)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1380.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_179) begin
+          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1381.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_1022) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at SystemBus.scala:37:14)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1388.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_1022) begin
+          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1389.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_1049) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at SystemBus.scala:37:14)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1396.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_1049) begin
+          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1397.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_1053) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at SystemBus.scala:37:14)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1404.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_1053) begin
+          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1405.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_1030) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at SystemBus.scala:37:14)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1412.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_1030) begin
+          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1413.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at SystemBus.scala:37:14)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1421.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1422.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_137 & _T_1018) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at SystemBus.scala:37:14)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1431.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_137 & _T_1018) begin
+          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1432.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_137 & _T_179) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at SystemBus.scala:37:14)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1438.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_137 & _T_179) begin
+          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1439.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_137 & _T_1022) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at SystemBus.scala:37:14)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1446.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_137 & _T_1022) begin
+          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1447.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_137 & _T_1049) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at SystemBus.scala:37:14)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1454.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_137 & _T_1049) begin
+          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1455.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_137 & _T_1053) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at SystemBus.scala:37:14)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1462.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_137 & _T_1053) begin
+          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1463.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_137 & _T_1086) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at SystemBus.scala:37:14)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1471.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_137 & _T_1086) begin
+          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1472.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at SystemBus.scala:37:14)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1480.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1481.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_149 & _T_1018) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at SystemBus.scala:37:14)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1490.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_149 & _T_1018) begin
+          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1491.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_149 & _T_1026) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at SystemBus.scala:37:14)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1498.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_149 & _T_1026) begin
+          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1499.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_149 & _T_1030) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at SystemBus.scala:37:14)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1506.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_149 & _T_1030) begin
+          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1507.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at SystemBus.scala:37:14)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1515.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1516.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_155 & _T_1018) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at SystemBus.scala:37:14)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1525.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_155 & _T_1018) begin
+          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1526.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_155 & _T_1026) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at SystemBus.scala:37:14)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1533.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_155 & _T_1026) begin
+          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1534.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_155 & _T_1086) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at SystemBus.scala:37:14)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1542.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_155 & _T_1086) begin
+          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1543.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at SystemBus.scala:37:14)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1551.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1552.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_161 & _T_1018) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at SystemBus.scala:37:14)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1561.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_161 & _T_1018) begin
+          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1562.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_161 & _T_1026) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at SystemBus.scala:37:14)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1569.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_161 & _T_1026) begin
+          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1570.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_161 & _T_1030) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at SystemBus.scala:37:14)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1577.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_161 & _T_1030) begin
+          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1578.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at SystemBus.scala:37:14)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1586.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1587.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at SystemBus.scala:37:14)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1596.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1597.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at SystemBus.scala:37:14)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1604.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1605.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at SystemBus.scala:37:14)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1612.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1613.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1189 & _T_1193) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at SystemBus.scala:37:14)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1652.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1189 & _T_1193) begin
+          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1653.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1189 & _T_1197) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at SystemBus.scala:37:14)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1660.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1189 & _T_1197) begin
+          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1661.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1189 & _T_1201) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at SystemBus.scala:37:14)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1668.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1189 & _T_1201) begin
+          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1669.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1189 & _T_1205) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at SystemBus.scala:37:14)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1676.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1189 & _T_1205) begin
+          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1677.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1189 & _T_1209) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at SystemBus.scala:37:14)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1684.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1189 & _T_1209) begin
+          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1685.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1246 & _T_1250) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at SystemBus.scala:37:14)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1734.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1246 & _T_1250) begin
+          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1735.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1246 & _T_1254) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at SystemBus.scala:37:14)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1742.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1246 & _T_1254) begin
+          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1743.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1246 & _T_1258) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at SystemBus.scala:37:14)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1750.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1246 & _T_1258) begin
+          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1751.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1246 & _T_1262) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at SystemBus.scala:37:14)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1758.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1246 & _T_1262) begin
+          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1759.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1246 & _T_1266) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at SystemBus.scala:37:14)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1766.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1246 & _T_1266) begin
+          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1767.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1246 & _T_1270) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at SystemBus.scala:37:14)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1774.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1246 & _T_1270) begin
+          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1775.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1321 & _T_1329) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at SystemBus.scala:37:14)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@1852.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1321 & _T_1329) begin
+          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@1853.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1337 & _T_1344) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at SystemBus.scala:37:14)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@1875.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1337 & _T_1344) begin
+          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@1876.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1351) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' and 'D' concurrent, despite minlatency 2 (connected at SystemBus.scala:37:14)\n    at Monitor.scala:471 assert(a_set =/= d_clr || !a_set.orR, s\"'A' and 'D' concurrent, despite minlatency ${edge.manager.minLatency}\" + extra)\n"); // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@1887.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1351) begin
+          $fatal; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@1888.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1365) begin
+          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at SystemBus.scala:37:14)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@1907.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1365) begin
+          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@1908.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+endmodule
+module TLXbar( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1920.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1921.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1922.4]
+  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1923.4]
+  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1923.4]
+  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1923.4]
+  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1923.4]
+  input  [3:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1923.4]
+  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1923.4]
+  input  [31:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1923.4]
+  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1923.4]
+  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1923.4]
+  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1923.4]
+  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1923.4]
+  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1923.4]
+  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1923.4]
+  output [1:0]  auto_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1923.4]
+  output [3:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1923.4]
+  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1923.4]
+  output        auto_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1923.4]
+  output        auto_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1923.4]
+  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1923.4]
+  output        auto_in_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1923.4]
+  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1923.4]
+  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1923.4]
+  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1923.4]
+  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1923.4]
+  output [3:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1923.4]
+  output        auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1923.4]
+  output [31:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1923.4]
+  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1923.4]
+  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1923.4]
+  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1923.4]
+  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1923.4]
+  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1923.4]
+  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1923.4]
+  input  [1:0]  auto_out_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1923.4]
+  input  [3:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1923.4]
+  input         auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1923.4]
+  input         auto_out_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1923.4]
+  input         auto_out_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1923.4]
+  input  [31:0] auto_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1923.4]
+  input         auto_out_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1923.4]
+);
+  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1930.4]
+  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1930.4]
+  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1930.4]
+  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1930.4]
+  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1930.4]
+  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1930.4]
+  wire [3:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1930.4]
+  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1930.4]
+  wire [31:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1930.4]
+  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1930.4]
+  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1930.4]
+  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1930.4]
+  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1930.4]
+  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1930.4]
+  wire [1:0] TLMonitor_io_in_d_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1930.4]
+  wire [3:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1930.4]
+  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1930.4]
+  wire  TLMonitor_io_in_d_bits_sink; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1930.4]
+  wire  TLMonitor_io_in_d_bits_denied; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1930.4]
+  wire  TLMonitor_io_in_d_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1930.4]
+  TLMonitor TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1930.4]
+    .clock(TLMonitor_clock),
+    .reset(TLMonitor_reset),
+    .io_in_a_ready(TLMonitor_io_in_a_ready),
+    .io_in_a_valid(TLMonitor_io_in_a_valid),
+    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
+    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
+    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
+    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
+    .io_in_d_ready(TLMonitor_io_in_d_ready),
+    .io_in_d_valid(TLMonitor_io_in_d_valid),
+    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
+    .io_in_d_bits_param(TLMonitor_io_in_d_bits_param),
+    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
+    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source),
+    .io_in_d_bits_sink(TLMonitor_io_in_d_bits_sink),
+    .io_in_d_bits_denied(TLMonitor_io_in_d_bits_denied),
+    .io_in_d_bits_corrupt(TLMonitor_io_in_d_bits_corrupt)
+  );
+  assign auto_in_a_ready = auto_out_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@1970.4]
+  assign auto_in_d_valid = auto_out_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@1970.4]
+  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@1970.4]
+  assign auto_in_d_bits_param = auto_out_d_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@1970.4]
+  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@1970.4]
+  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@1970.4]
+  assign auto_in_d_bits_sink = auto_out_d_bits_sink; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@1970.4]
+  assign auto_in_d_bits_denied = auto_out_d_bits_denied; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@1970.4]
+  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@1970.4]
+  assign auto_in_d_bits_corrupt = auto_out_d_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@1970.4]
+  assign auto_out_a_valid = auto_in_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@1969.4]
+  assign auto_out_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@1969.4]
+  assign auto_out_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@1969.4]
+  assign auto_out_a_bits_size = auto_in_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@1969.4]
+  assign auto_out_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@1969.4]
+  assign auto_out_a_bits_address = auto_in_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@1969.4]
+  assign auto_out_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@1969.4]
+  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@1969.4]
+  assign auto_out_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@1969.4]
+  assign auto_out_d_ready = auto_in_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@1969.4]
+  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1932.4]
+  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1933.4]
+  assign TLMonitor_io_in_a_ready = auto_out_a_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@1966.4]
+  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@1966.4]
+  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@1966.4]
+  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@1966.4]
+  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@1966.4]
+  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@1966.4]
+  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@1966.4]
+  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@1966.4]
+  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@1966.4]
+  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@1966.4]
+  assign TLMonitor_io_in_d_valid = auto_out_d_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@1966.4]
+  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@1966.4]
+  assign TLMonitor_io_in_d_bits_param = auto_out_d_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@1966.4]
+  assign TLMonitor_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@1966.4]
+  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@1966.4]
+  assign TLMonitor_io_in_d_bits_sink = auto_out_d_bits_sink; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@1966.4]
+  assign TLMonitor_io_in_d_bits_denied = auto_out_d_bits_denied; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@1966.4]
+  assign TLMonitor_io_in_d_bits_corrupt = auto_out_d_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@1966.4]
+endmodule
+module TLMonitor_1( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@2103.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@2104.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@2105.4]
+  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@2106.4]
+  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@2106.4]
+  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@2106.4]
+  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@2106.4]
+  input  [3:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@2106.4]
+  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@2106.4]
+  input  [31:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@2106.4]
+  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@2106.4]
+  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@2106.4]
+  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@2106.4]
+  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@2106.4]
+  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@2106.4]
+  input  [1:0]  io_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@2106.4]
+  input  [3:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@2106.4]
+  input         io_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@2106.4]
+  input         io_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@2106.4]
+  input         io_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@2106.4]
+  input         io_in_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@2106.4]
+);
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@3896.4]
+  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@2122.6]
+  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@2127.6]
+  wire [26:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@2129.6]
+  wire [11:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@2130.6]
+  wire [11:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@2131.6]
+  wire [31:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@2132.6]
+  wire [31:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@2132.6]
+  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@2133.6]
+  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@2135.6]
+  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@2136.6]
+  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@2138.6]
+  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@2139.6]
+  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@2140.6]
+  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@2141.6]
+  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@2142.6]
+  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@2144.6]
+  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@2145.6]
+  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@2147.6]
+  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@2148.6]
+  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@2149.6]
+  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@2150.6]
+  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@2151.6]
+  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@2152.6]
+  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@2153.6]
+  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@2154.6]
+  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@2155.6]
+  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@2156.6]
+  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@2157.6]
+  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@2158.6]
+  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@2159.6]
+  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@2160.6]
+  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@2161.6]
+  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@2162.6]
+  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@2163.6]
+  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@2164.6]
+  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@2165.6]
+  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@2166.6]
+  wire [32:0] _T_73; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@2170.6]
+  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@2191.6]
+  wire [31:0] _T_92; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@2194.8]
+  wire [32:0] _T_93; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@2195.8]
+  wire [32:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2196.8]
+  wire [32:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2197.8]
+  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@2198.8]
+  wire [31:0] _T_97; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@2199.8]
+  wire [32:0] _T_98; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@2200.8]
+  wire [32:0] _T_99; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2201.8]
+  wire [32:0] _T_100; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2202.8]
+  wire  _T_101; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@2203.8]
+  wire [31:0] _T_102; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@2204.8]
+  wire [32:0] _T_103; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@2205.8]
+  wire [32:0] _T_104; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2206.8]
+  wire [32:0] _T_105; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2207.8]
+  wire  _T_106; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@2208.8]
+  wire [31:0] _T_107; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@2209.8]
+  wire [32:0] _T_108; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@2210.8]
+  wire [32:0] _T_109; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2211.8]
+  wire [32:0] _T_110; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2212.8]
+  wire  _T_111; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@2213.8]
+  wire [31:0] _T_112; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@2214.8]
+  wire [32:0] _T_113; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@2215.8]
+  wire [32:0] _T_114; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2216.8]
+  wire [32:0] _T_115; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2217.8]
+  wire  _T_116; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@2218.8]
+  wire [31:0] _T_117; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@2219.8]
+  wire [32:0] _T_118; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@2220.8]
+  wire [32:0] _T_119; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2221.8]
+  wire [32:0] _T_120; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2222.8]
+  wire  _T_121; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@2223.8]
+  wire [31:0] _T_122; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@2224.8]
+  wire [32:0] _T_123; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@2225.8]
+  wire [32:0] _T_124; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2226.8]
+  wire [32:0] _T_125; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2227.8]
+  wire  _T_126; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@2228.8]
+  wire [31:0] _T_127; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@2229.8]
+  wire [32:0] _T_128; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@2230.8]
+  wire [32:0] _T_129; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2231.8]
+  wire [32:0] _T_130; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2232.8]
+  wire  _T_131; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@2233.8]
+  wire [31:0] _T_132; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@2234.8]
+  wire [32:0] _T_133; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@2235.8]
+  wire [32:0] _T_134; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2236.8]
+  wire [32:0] _T_135; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2237.8]
+  wire  _T_136; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@2238.8]
+  wire [31:0] _T_137; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@2239.8]
+  wire [32:0] _T_138; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@2240.8]
+  wire [32:0] _T_139; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2241.8]
+  wire [32:0] _T_140; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2242.8]
+  wire  _T_141; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@2243.8]
+  wire [32:0] _T_144; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2246.8]
+  wire [32:0] _T_145; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2247.8]
+  wire  _T_146; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@2248.8]
+  wire [31:0] _T_147; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@2249.8]
+  wire [32:0] _T_148; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@2250.8]
+  wire [32:0] _T_149; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2251.8]
+  wire [32:0] _T_150; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2252.8]
+  wire  _T_151; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@2253.8]
+  wire [31:0] _T_152; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@2254.8]
+  wire [32:0] _T_153; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@2255.8]
+  wire [32:0] _T_154; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2256.8]
+  wire [32:0] _T_155; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2257.8]
+  wire  _T_156; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@2258.8]
+  wire [31:0] _T_157; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@2259.8]
+  wire [32:0] _T_158; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@2260.8]
+  wire [32:0] _T_159; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2261.8]
+  wire [32:0] _T_160; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2262.8]
+  wire  _T_161; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@2263.8]
+  wire  _T_162; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2264.8]
+  wire  _T_163; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2265.8]
+  wire  _T_164; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2266.8]
+  wire  _T_165; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2267.8]
+  wire  _T_179; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2281.8]
+  wire  _T_184; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2294.8]
+  wire  _T_185; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2295.8]
+  wire  _T_188; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2302.8]
+  wire  _T_189; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2303.8]
+  wire  _T_191; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2309.8]
+  wire  _T_192; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2310.8]
+  wire  _T_193; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@2315.8]
+  wire  _T_195; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2317.8]
+  wire  _T_196; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2318.8]
+  wire [3:0] _T_197; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@2323.8]
+  wire  _T_198; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@2324.8]
+  wire  _T_200; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2326.8]
+  wire  _T_201; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2327.8]
+  wire  _T_202; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@2332.8]
+  wire  _T_204; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2334.8]
+  wire  _T_205; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2335.8]
+  wire  _T_206; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@2341.6]
+  wire  _T_313; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@2473.8]
+  wire  _T_315; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2475.8]
+  wire  _T_316; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2476.8]
+  wire  _T_326; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@2499.6]
+  wire  _T_328; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2502.8]
+  wire  _T_336; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@2510.8]
+  wire  _T_338; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2512.8]
+  wire  _T_406; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2580.8]
+  wire  _T_407; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2581.8]
+  wire  _T_408; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2582.8]
+  wire  _T_409; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2583.8]
+  wire  _T_410; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2584.8]
+  wire  _T_411; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2585.8]
+  wire  _T_412; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2586.8]
+  wire  _T_413; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2587.8]
+  wire  _T_414; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2588.8]
+  wire  _T_415; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2589.8]
+  wire  _T_416; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2590.8]
+  wire  _T_417; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2591.8]
+  wire  _T_418; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@2592.8]
+  wire  _T_420; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@2594.8]
+  wire  _T_422; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2596.8]
+  wire  _T_423; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2597.8]
+  wire  _T_430; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@2616.8]
+  wire  _T_432; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2618.8]
+  wire  _T_433; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2619.8]
+  wire  _T_434; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@2624.8]
+  wire  _T_436; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2626.8]
+  wire  _T_437; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2627.8]
+  wire  _T_442; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@2641.6]
+  wire  _T_515; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2715.8]
+  wire  _T_516; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2716.8]
+  wire  _T_517; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2717.8]
+  wire  _T_518; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2718.8]
+  wire  _T_519; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2719.8]
+  wire  _T_520; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2720.8]
+  wire  _T_521; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2721.8]
+  wire  _T_522; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@2722.8]
+  wire  _T_537; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@2737.8]
+  wire  _T_540; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2740.8]
+  wire  _T_541; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2741.8]
+  wire  _T_556; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@2777.6]
+  wire [3:0] _T_666; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@2904.8]
+  wire [3:0] _T_667; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@2905.8]
+  wire  _T_668; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@2906.8]
+  wire  _T_670; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2908.8]
+  wire  _T_671; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2909.8]
+  wire  _T_672; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@2915.6]
+  wire  _T_674; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2918.8]
+  wire  _T_741; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2985.8]
+  wire  _T_742; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2986.8]
+  wire  _T_743; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2987.8]
+  wire  _T_744; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2988.8]
+  wire  _T_745; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2989.8]
+  wire  _T_746; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2990.8]
+  wire  _T_747; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2991.8]
+  wire  _T_748; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@2992.8]
+  wire  _T_765; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3009.8]
+  wire  _T_766; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3010.8]
+  wire  _T_773; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@3029.8]
+  wire  _T_775; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3031.8]
+  wire  _T_776; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3032.8]
+  wire  _T_781; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@3046.6]
+  wire  _T_882; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@3160.8]
+  wire  _T_884; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3162.8]
+  wire  _T_885; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3163.8]
+  wire  _T_890; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@3177.6]
+  wire  _T_983; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3271.8]
+  wire  _T_984; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3272.8]
+  wire  _T_999; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@3310.6]
+  wire  _T_1001; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@3312.6]
+  wire  _T_1002; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@3313.6]
+  wire  _T_1004; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@3319.6]
+  wire  _T_1013; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@3324.6]
+  wire  _T_1015; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@3326.6]
+  wire  _T_1017; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3329.8]
+  wire  _T_1018; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3330.8]
+  wire  _T_1019; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@3335.8]
+  wire  _T_1021; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3337.8]
+  wire  _T_1022; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3338.8]
+  wire  _T_1023; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@3343.8]
+  wire  _T_1025; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3345.8]
+  wire  _T_1026; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3346.8]
+  wire  _T_1027; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@3351.8]
+  wire  _T_1029; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3353.8]
+  wire  _T_1030; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3354.8]
+  wire  _T_1031; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@3359.8]
+  wire  _T_1033; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3361.8]
+  wire  _T_1034; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3362.8]
+  wire  _T_1035; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@3368.6]
+  wire  _T_1046; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@3392.8]
+  wire  _T_1048; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3394.8]
+  wire  _T_1049; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3395.8]
+  wire  _T_1050; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@3400.8]
+  wire  _T_1052; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3402.8]
+  wire  _T_1053; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3403.8]
+  wire  _T_1063; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@3426.6]
+  wire  _T_1083; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@3467.8]
+  wire  _T_1085; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3469.8]
+  wire  _T_1086; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3470.8]
+  wire  _T_1092; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@3485.6]
+  wire  _T_1109; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@3520.6]
+  wire  _T_1127; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@3556.6]
+  wire  _T_1156; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@3616.4]
+  wire [9:0] _T_1161; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@3621.4]
+  wire  _T_1162; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@3622.4]
+  wire  _T_1163; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@3623.4]
+  reg [9:0] _T_1166; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@3625.4]
+  reg [31:0] _RAND_0;
+  wire [10:0] _T_1167; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@3626.4]
+  wire [10:0] _T_1168; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@3627.4]
+  wire [9:0] _T_1169; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@3628.4]
+  wire  _T_1170; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@3629.4]
+  reg [2:0] _T_1179; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@3640.4]
+  reg [31:0] _RAND_1;
+  reg [2:0] _T_1181; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@3641.4]
+  reg [31:0] _RAND_2;
+  reg [3:0] _T_1183; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@3642.4]
+  reg [31:0] _RAND_3;
+  reg  _T_1185; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@3643.4]
+  reg [31:0] _RAND_4;
+  reg [31:0] _T_1187; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@3644.4]
+  reg [31:0] _RAND_5;
+  wire  _T_1188; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@3645.4]
+  wire  _T_1189; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@3646.4]
+  wire  _T_1190; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@3648.6]
+  wire  _T_1192; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3650.6]
+  wire  _T_1193; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3651.6]
+  wire  _T_1194; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@3656.6]
+  wire  _T_1196; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3658.6]
+  wire  _T_1197; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3659.6]
+  wire  _T_1198; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@3664.6]
+  wire  _T_1200; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3666.6]
+  wire  _T_1201; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3667.6]
+  wire  _T_1202; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@3672.6]
+  wire  _T_1204; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3674.6]
+  wire  _T_1205; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3675.6]
+  wire  _T_1206; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@3680.6]
+  wire  _T_1208; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3682.6]
+  wire  _T_1209; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3683.6]
+  wire  _T_1211; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@3690.4]
+  wire  _T_1212; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@3698.4]
+  wire [26:0] _T_1214; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@3700.4]
+  wire [11:0] _T_1215; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@3701.4]
+  wire [11:0] _T_1216; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@3702.4]
+  wire [9:0] _T_1217; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@3703.4]
+  wire  _T_1218; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@3704.4]
+  reg [9:0] _T_1221; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@3706.4]
+  reg [31:0] _RAND_6;
+  wire [10:0] _T_1222; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@3707.4]
+  wire [10:0] _T_1223; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@3708.4]
+  wire [9:0] _T_1224; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@3709.4]
+  wire  _T_1225; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@3710.4]
+  reg [2:0] _T_1234; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@3721.4]
+  reg [31:0] _RAND_7;
+  reg [1:0] _T_1236; // @[Monitor.scala 419:22:shc.marmotcaravel.MarmotCaravelConfig.fir@3722.4]
+  reg [31:0] _RAND_8;
+  reg [3:0] _T_1238; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@3723.4]
+  reg [31:0] _RAND_9;
+  reg  _T_1240; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@3724.4]
+  reg [31:0] _RAND_10;
+  reg  _T_1242; // @[Monitor.scala 422:22:shc.marmotcaravel.MarmotCaravelConfig.fir@3725.4]
+  reg [31:0] _RAND_11;
+  reg  _T_1244; // @[Monitor.scala 423:22:shc.marmotcaravel.MarmotCaravelConfig.fir@3726.4]
+  reg [31:0] _RAND_12;
+  wire  _T_1245; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@3727.4]
+  wire  _T_1246; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@3728.4]
+  wire  _T_1247; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@3730.6]
+  wire  _T_1249; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3732.6]
+  wire  _T_1250; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3733.6]
+  wire  _T_1251; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@3738.6]
+  wire  _T_1253; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3740.6]
+  wire  _T_1254; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3741.6]
+  wire  _T_1255; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@3746.6]
+  wire  _T_1257; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3748.6]
+  wire  _T_1258; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3749.6]
+  wire  _T_1259; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@3754.6]
+  wire  _T_1261; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3756.6]
+  wire  _T_1262; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3757.6]
+  wire  _T_1263; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@3762.6]
+  wire  _T_1265; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3764.6]
+  wire  _T_1266; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3765.6]
+  wire  _T_1267; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@3770.6]
+  wire  _T_1269; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3772.6]
+  wire  _T_1270; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3773.6]
+  wire  _T_1272; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@3780.4]
+  reg [1:0] _T_1274; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@3789.4]
+  reg [31:0] _RAND_13;
+  reg [9:0] _T_1285; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@3799.4]
+  reg [31:0] _RAND_14;
+  wire [10:0] _T_1286; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@3800.4]
+  wire [10:0] _T_1287; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@3801.4]
+  wire [9:0] _T_1288; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@3802.4]
+  wire  _T_1289; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@3803.4]
+  reg [9:0] _T_1306; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@3822.4]
+  reg [31:0] _RAND_15;
+  wire [10:0] _T_1307; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@3823.4]
+  wire [10:0] _T_1308; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@3824.4]
+  wire [9:0] _T_1309; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@3825.4]
+  wire  _T_1310; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@3826.4]
+  wire  _T_1321; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@3841.4]
+  wire [1:0] _T_1323; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@3844.6]
+  wire [1:0] _T_1324; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@3846.6]
+  wire  _T_1325; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@3847.6]
+  wire  _T_1326; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3848.6]
+  wire  _T_1328; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@3850.6]
+  wire  _T_1329; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@3851.6]
+  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@3843.4]
+  wire  _T_1334; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@3862.4]
+  wire  _T_1336; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@3864.4]
+  wire  _T_1337; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@3865.4]
+  wire [1:0] _T_1338; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@3867.6]
+  wire [1:0] _T_1339; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@3869.6]
+  wire [1:0] _T_1340; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@3870.6]
+  wire  _T_1341; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@3871.6]
+  wire  _T_1343; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@3873.6]
+  wire  _T_1344; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@3874.6]
+  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@3866.4]
+  wire  _T_1345; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@3880.4]
+  wire  _T_1346; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@3881.4]
+  wire  _T_1347; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@3882.4]
+  wire  _T_1348; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@3883.4]
+  wire  _T_1350; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@3885.4]
+  wire  _T_1351; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@3886.4]
+  wire [1:0] _T_1352; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@3891.4]
+  wire [1:0] _T_1353; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@3892.4]
+  wire [1:0] _T_1354; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@3893.4]
+  reg [31:0] _T_1356; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@3895.4]
+  reg [31:0] _RAND_16;
+  wire  _T_1357; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@3898.4]
+  wire  _T_1358; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@3899.4]
+  wire  _T_1359; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@3900.4]
+  wire  _T_1360; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@3901.4]
+  wire  _T_1361; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@3902.4]
+  wire  _T_1362; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@3903.4]
+  wire  _T_1364; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@3905.4]
+  wire  _T_1365; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@3906.4]
+  wire [31:0] _T_1367; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@3912.4]
+  wire  _T_1370; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@3916.4]
+  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2283.10]
+  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2433.10]
+  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2599.10]
+  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2743.10]
+  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2879.10]
+  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3012.10]
+  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3143.10]
+  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3274.10]
+  wire  _GEN_115; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3332.10]
+  wire  _GEN_125; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3374.10]
+  wire  _GEN_137; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3432.10]
+  wire  _GEN_149; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3491.10]
+  wire  _GEN_155; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3526.10]
+  wire  _GEN_161; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3562.10]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@3896.4]
+    .out(plusarg_reader_out)
+  );
+  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@2122.6]
+  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@2127.6]
+  assign _T_32 = 27'hfff << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@2129.6]
+  assign _T_33 = _T_32[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@2130.6]
+  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@2131.6]
+  assign _GEN_18 = {{20'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@2132.6]
+  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@2132.6]
+  assign _T_36 = _T_35 == 32'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@2133.6]
+  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@2135.6]
+  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@2136.6]
+  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@2138.6]
+  assign _T_42 = io_in_a_bits_size >= 4'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@2139.6]
+  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@2140.6]
+  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@2141.6]
+  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@2142.6]
+  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@2144.6]
+  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@2145.6]
+  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@2147.6]
+  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@2148.6]
+  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@2149.6]
+  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@2150.6]
+  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@2151.6]
+  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@2152.6]
+  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@2153.6]
+  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@2154.6]
+  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@2155.6]
+  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@2156.6]
+  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@2157.6]
+  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@2158.6]
+  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@2159.6]
+  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@2160.6]
+  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@2161.6]
+  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@2162.6]
+  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@2163.6]
+  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@2164.6]
+  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@2165.6]
+  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@2166.6]
+  assign _T_73 = {1'b0,$signed(io_in_a_bits_address)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@2170.6]
+  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@2191.6]
+  assign _T_92 = io_in_a_bits_address ^ 32'h3000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@2194.8]
+  assign _T_93 = {1'b0,$signed(_T_92)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@2195.8]
+  assign _T_94 = $signed(_T_93) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2196.8]
+  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2197.8]
+  assign _T_96 = $signed(_T_95) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@2198.8]
+  assign _T_97 = io_in_a_bits_address ^ 32'h10013000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@2199.8]
+  assign _T_98 = {1'b0,$signed(_T_97)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@2200.8]
+  assign _T_99 = $signed(_T_98) & $signed(-33'sh21000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2201.8]
+  assign _T_100 = $signed(_T_99); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2202.8]
+  assign _T_101 = $signed(_T_100) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@2203.8]
+  assign _T_102 = io_in_a_bits_address ^ 32'h10023000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@2204.8]
+  assign _T_103 = {1'b0,$signed(_T_102)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@2205.8]
+  assign _T_104 = $signed(_T_103) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2206.8]
+  assign _T_105 = $signed(_T_104); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2207.8]
+  assign _T_106 = $signed(_T_105) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@2208.8]
+  assign _T_107 = io_in_a_bits_address ^ 32'h10043000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@2209.8]
+  assign _T_108 = {1'b0,$signed(_T_107)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@2210.8]
+  assign _T_109 = $signed(_T_108) & $signed(-33'sh11000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2211.8]
+  assign _T_110 = $signed(_T_109); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2212.8]
+  assign _T_111 = $signed(_T_110) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@2213.8]
+  assign _T_112 = io_in_a_bits_address ^ 32'h10014000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@2214.8]
+  assign _T_113 = {1'b0,$signed(_T_112)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@2215.8]
+  assign _T_114 = $signed(_T_113) & $signed(-33'sh21000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2216.8]
+  assign _T_115 = $signed(_T_114); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2217.8]
+  assign _T_116 = $signed(_T_115) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@2218.8]
+  assign _T_117 = io_in_a_bits_address ^ 32'h20000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@2219.8]
+  assign _T_118 = {1'b0,$signed(_T_117)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@2220.8]
+  assign _T_119 = $signed(_T_118) & $signed(-33'sh20000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2221.8]
+  assign _T_120 = $signed(_T_119); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2222.8]
+  assign _T_121 = $signed(_T_120) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@2223.8]
+  assign _T_122 = io_in_a_bits_address ^ 32'h10024000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@2224.8]
+  assign _T_123 = {1'b0,$signed(_T_122)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@2225.8]
+  assign _T_124 = $signed(_T_123) & $signed(-33'sh3000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2226.8]
+  assign _T_125 = $signed(_T_124); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2227.8]
+  assign _T_126 = $signed(_T_125) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@2228.8]
+  assign _T_127 = io_in_a_bits_address ^ 32'h10012000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@2229.8]
+  assign _T_128 = {1'b0,$signed(_T_127)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@2230.8]
+  assign _T_129 = $signed(_T_128) & $signed(-33'sh5000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2231.8]
+  assign _T_130 = $signed(_T_129); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2232.8]
+  assign _T_131 = $signed(_T_130) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@2233.8]
+  assign _T_132 = io_in_a_bits_address ^ 32'hc000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@2234.8]
+  assign _T_133 = {1'b0,$signed(_T_132)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@2235.8]
+  assign _T_134 = $signed(_T_133) & $signed(-33'sh4000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2236.8]
+  assign _T_135 = $signed(_T_134); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2237.8]
+  assign _T_136 = $signed(_T_135) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@2238.8]
+  assign _T_137 = io_in_a_bits_address ^ 32'h2000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@2239.8]
+  assign _T_138 = {1'b0,$signed(_T_137)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@2240.8]
+  assign _T_139 = $signed(_T_138) & $signed(-33'sh10000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2241.8]
+  assign _T_140 = $signed(_T_139); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2242.8]
+  assign _T_141 = $signed(_T_140) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@2243.8]
+  assign _T_144 = $signed(_T_73) & $signed(-33'sh10001000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2246.8]
+  assign _T_145 = $signed(_T_144); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2247.8]
+  assign _T_146 = $signed(_T_145) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@2248.8]
+  assign _T_147 = io_in_a_bits_address ^ 32'h8000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@2249.8]
+  assign _T_148 = {1'b0,$signed(_T_147)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@2250.8]
+  assign _T_149 = $signed(_T_148) & $signed(-33'sh4000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2251.8]
+  assign _T_150 = $signed(_T_149); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2252.8]
+  assign _T_151 = $signed(_T_150) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@2253.8]
+  assign _T_152 = io_in_a_bits_address ^ 32'h80000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@2254.8]
+  assign _T_153 = {1'b0,$signed(_T_152)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@2255.8]
+  assign _T_154 = $signed(_T_153) & $signed(-33'sh4000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2256.8]
+  assign _T_155 = $signed(_T_154); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2257.8]
+  assign _T_156 = $signed(_T_155) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@2258.8]
+  assign _T_157 = io_in_a_bits_address ^ 32'h10000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@2259.8]
+  assign _T_158 = {1'b0,$signed(_T_157)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@2260.8]
+  assign _T_159 = $signed(_T_158) & $signed(-33'sh2000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2261.8]
+  assign _T_160 = $signed(_T_159); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2262.8]
+  assign _T_161 = $signed(_T_160) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@2263.8]
+  assign _T_162 = _T_96 | _T_101; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2264.8]
+  assign _T_163 = _T_162 | _T_106; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2265.8]
+  assign _T_164 = _T_163 | _T_111; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2266.8]
+  assign _T_165 = _T_164 | _T_116; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2267.8]
+  assign _T_179 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2281.8]
+  assign _T_184 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2294.8]
+  assign _T_185 = _T_184 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2295.8]
+  assign _T_188 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2302.8]
+  assign _T_189 = _T_188 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2303.8]
+  assign _T_191 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2309.8]
+  assign _T_192 = _T_191 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2310.8]
+  assign _T_193 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@2315.8]
+  assign _T_195 = _T_193 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2317.8]
+  assign _T_196 = _T_195 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2318.8]
+  assign _T_197 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@2323.8]
+  assign _T_198 = _T_197 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@2324.8]
+  assign _T_200 = _T_198 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2326.8]
+  assign _T_201 = _T_200 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2327.8]
+  assign _T_202 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@2332.8]
+  assign _T_204 = _T_202 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2334.8]
+  assign _T_205 = _T_204 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2335.8]
+  assign _T_206 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@2341.6]
+  assign _T_313 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@2473.8]
+  assign _T_315 = _T_313 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2475.8]
+  assign _T_316 = _T_315 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2476.8]
+  assign _T_326 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@2499.6]
+  assign _T_328 = io_in_a_bits_size <= 4'hc; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2502.8]
+  assign _T_336 = _T_328 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@2510.8]
+  assign _T_338 = io_in_a_bits_size <= 4'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2512.8]
+  assign _T_406 = _T_101 | _T_106; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2580.8]
+  assign _T_407 = _T_406 | _T_111; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2581.8]
+  assign _T_408 = _T_407 | _T_116; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2582.8]
+  assign _T_409 = _T_408 | _T_121; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2583.8]
+  assign _T_410 = _T_409 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2584.8]
+  assign _T_411 = _T_410 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2585.8]
+  assign _T_412 = _T_411 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2586.8]
+  assign _T_413 = _T_412 | _T_141; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2587.8]
+  assign _T_414 = _T_413 | _T_146; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2588.8]
+  assign _T_415 = _T_414 | _T_151; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2589.8]
+  assign _T_416 = _T_415 | _T_156; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2590.8]
+  assign _T_417 = _T_416 | _T_161; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2591.8]
+  assign _T_418 = _T_338 & _T_417; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@2592.8]
+  assign _T_420 = _T_336 | _T_418; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@2594.8]
+  assign _T_422 = _T_420 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2596.8]
+  assign _T_423 = _T_422 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2597.8]
+  assign _T_430 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@2616.8]
+  assign _T_432 = _T_430 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2618.8]
+  assign _T_433 = _T_432 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2619.8]
+  assign _T_434 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@2624.8]
+  assign _T_436 = _T_434 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2626.8]
+  assign _T_437 = _T_436 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2627.8]
+  assign _T_442 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@2641.6]
+  assign _T_515 = _T_408 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2715.8]
+  assign _T_516 = _T_515 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2716.8]
+  assign _T_517 = _T_516 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2717.8]
+  assign _T_518 = _T_517 | _T_141; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2718.8]
+  assign _T_519 = _T_518 | _T_146; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2719.8]
+  assign _T_520 = _T_519 | _T_151; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2720.8]
+  assign _T_521 = _T_520 | _T_156; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2721.8]
+  assign _T_522 = _T_338 & _T_521; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@2722.8]
+  assign _T_537 = _T_336 | _T_522; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@2737.8]
+  assign _T_540 = _T_537 | reset; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2740.8]
+  assign _T_541 = _T_540 == 1'h0; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2741.8]
+  assign _T_556 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@2777.6]
+  assign _T_666 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@2904.8]
+  assign _T_667 = io_in_a_bits_mask & _T_666; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@2905.8]
+  assign _T_668 = _T_667 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@2906.8]
+  assign _T_670 = _T_668 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2908.8]
+  assign _T_671 = _T_670 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2909.8]
+  assign _T_672 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@2915.6]
+  assign _T_674 = io_in_a_bits_size <= 4'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2918.8]
+  assign _T_741 = _T_165 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2985.8]
+  assign _T_742 = _T_741 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2986.8]
+  assign _T_743 = _T_742 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2987.8]
+  assign _T_744 = _T_743 | _T_141; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2988.8]
+  assign _T_745 = _T_744 | _T_146; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2989.8]
+  assign _T_746 = _T_745 | _T_151; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2990.8]
+  assign _T_747 = _T_746 | _T_156; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2991.8]
+  assign _T_748 = _T_674 & _T_747; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@2992.8]
+  assign _T_765 = _T_748 | reset; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3009.8]
+  assign _T_766 = _T_765 == 1'h0; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3010.8]
+  assign _T_773 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@3029.8]
+  assign _T_775 = _T_773 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3031.8]
+  assign _T_776 = _T_775 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3032.8]
+  assign _T_781 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@3046.6]
+  assign _T_882 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@3160.8]
+  assign _T_884 = _T_882 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3162.8]
+  assign _T_885 = _T_884 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3163.8]
+  assign _T_890 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@3177.6]
+  assign _T_983 = _T_336 | reset; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3271.8]
+  assign _T_984 = _T_983 == 1'h0; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3272.8]
+  assign _T_999 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@3310.6]
+  assign _T_1001 = _T_999 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@3312.6]
+  assign _T_1002 = _T_1001 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@3313.6]
+  assign _T_1004 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@3319.6]
+  assign _T_1013 = io_in_d_bits_source | _T_1004; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@3324.6]
+  assign _T_1015 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@3326.6]
+  assign _T_1017 = _T_1013 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3329.8]
+  assign _T_1018 = _T_1017 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3330.8]
+  assign _T_1019 = io_in_d_bits_size >= 4'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@3335.8]
+  assign _T_1021 = _T_1019 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3337.8]
+  assign _T_1022 = _T_1021 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3338.8]
+  assign _T_1023 = io_in_d_bits_param == 2'h0; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@3343.8]
+  assign _T_1025 = _T_1023 | reset; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3345.8]
+  assign _T_1026 = _T_1025 == 1'h0; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3346.8]
+  assign _T_1027 = io_in_d_bits_corrupt == 1'h0; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@3351.8]
+  assign _T_1029 = _T_1027 | reset; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3353.8]
+  assign _T_1030 = _T_1029 == 1'h0; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3354.8]
+  assign _T_1031 = io_in_d_bits_denied == 1'h0; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@3359.8]
+  assign _T_1033 = _T_1031 | reset; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3361.8]
+  assign _T_1034 = _T_1033 == 1'h0; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3362.8]
+  assign _T_1035 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@3368.6]
+  assign _T_1046 = io_in_d_bits_param <= 2'h2; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@3392.8]
+  assign _T_1048 = _T_1046 | reset; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3394.8]
+  assign _T_1049 = _T_1048 == 1'h0; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3395.8]
+  assign _T_1050 = io_in_d_bits_param != 2'h2; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@3400.8]
+  assign _T_1052 = _T_1050 | reset; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3402.8]
+  assign _T_1053 = _T_1052 == 1'h0; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3403.8]
+  assign _T_1063 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@3426.6]
+  assign _T_1083 = _T_1031 | io_in_d_bits_corrupt; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@3467.8]
+  assign _T_1085 = _T_1083 | reset; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3469.8]
+  assign _T_1086 = _T_1085 == 1'h0; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3470.8]
+  assign _T_1092 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@3485.6]
+  assign _T_1109 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@3520.6]
+  assign _T_1127 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@3556.6]
+  assign _T_1156 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@3616.4]
+  assign _T_1161 = _T_34[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@3621.4]
+  assign _T_1162 = io_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@3622.4]
+  assign _T_1163 = _T_1162 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@3623.4]
+  assign _T_1167 = _T_1166 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@3626.4]
+  assign _T_1168 = $unsigned(_T_1167); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@3627.4]
+  assign _T_1169 = _T_1168[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@3628.4]
+  assign _T_1170 = _T_1166 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@3629.4]
+  assign _T_1188 = _T_1170 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@3645.4]
+  assign _T_1189 = io_in_a_valid & _T_1188; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@3646.4]
+  assign _T_1190 = io_in_a_bits_opcode == _T_1179; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@3648.6]
+  assign _T_1192 = _T_1190 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3650.6]
+  assign _T_1193 = _T_1192 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3651.6]
+  assign _T_1194 = io_in_a_bits_param == _T_1181; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@3656.6]
+  assign _T_1196 = _T_1194 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3658.6]
+  assign _T_1197 = _T_1196 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3659.6]
+  assign _T_1198 = io_in_a_bits_size == _T_1183; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@3664.6]
+  assign _T_1200 = _T_1198 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3666.6]
+  assign _T_1201 = _T_1200 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3667.6]
+  assign _T_1202 = io_in_a_bits_source == _T_1185; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@3672.6]
+  assign _T_1204 = _T_1202 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3674.6]
+  assign _T_1205 = _T_1204 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3675.6]
+  assign _T_1206 = io_in_a_bits_address == _T_1187; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@3680.6]
+  assign _T_1208 = _T_1206 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3682.6]
+  assign _T_1209 = _T_1208 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3683.6]
+  assign _T_1211 = _T_1156 & _T_1170; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@3690.4]
+  assign _T_1212 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@3698.4]
+  assign _T_1214 = 27'hfff << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@3700.4]
+  assign _T_1215 = _T_1214[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@3701.4]
+  assign _T_1216 = ~ _T_1215; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@3702.4]
+  assign _T_1217 = _T_1216[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@3703.4]
+  assign _T_1218 = io_in_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@3704.4]
+  assign _T_1222 = _T_1221 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@3707.4]
+  assign _T_1223 = $unsigned(_T_1222); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@3708.4]
+  assign _T_1224 = _T_1223[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@3709.4]
+  assign _T_1225 = _T_1221 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@3710.4]
+  assign _T_1245 = _T_1225 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@3727.4]
+  assign _T_1246 = io_in_d_valid & _T_1245; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@3728.4]
+  assign _T_1247 = io_in_d_bits_opcode == _T_1234; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@3730.6]
+  assign _T_1249 = _T_1247 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3732.6]
+  assign _T_1250 = _T_1249 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3733.6]
+  assign _T_1251 = io_in_d_bits_param == _T_1236; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@3738.6]
+  assign _T_1253 = _T_1251 | reset; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3740.6]
+  assign _T_1254 = _T_1253 == 1'h0; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3741.6]
+  assign _T_1255 = io_in_d_bits_size == _T_1238; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@3746.6]
+  assign _T_1257 = _T_1255 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3748.6]
+  assign _T_1258 = _T_1257 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3749.6]
+  assign _T_1259 = io_in_d_bits_source == _T_1240; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@3754.6]
+  assign _T_1261 = _T_1259 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3756.6]
+  assign _T_1262 = _T_1261 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3757.6]
+  assign _T_1263 = io_in_d_bits_sink == _T_1242; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@3762.6]
+  assign _T_1265 = _T_1263 | reset; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3764.6]
+  assign _T_1266 = _T_1265 == 1'h0; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3765.6]
+  assign _T_1267 = io_in_d_bits_denied == _T_1244; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@3770.6]
+  assign _T_1269 = _T_1267 | reset; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3772.6]
+  assign _T_1270 = _T_1269 == 1'h0; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3773.6]
+  assign _T_1272 = _T_1212 & _T_1225; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@3780.4]
+  assign _T_1286 = _T_1285 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@3800.4]
+  assign _T_1287 = $unsigned(_T_1286); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@3801.4]
+  assign _T_1288 = _T_1287[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@3802.4]
+  assign _T_1289 = _T_1285 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@3803.4]
+  assign _T_1307 = _T_1306 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@3823.4]
+  assign _T_1308 = $unsigned(_T_1307); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@3824.4]
+  assign _T_1309 = _T_1308[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@3825.4]
+  assign _T_1310 = _T_1306 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@3826.4]
+  assign _T_1321 = _T_1156 & _T_1289; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@3841.4]
+  assign _T_1323 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@3844.6]
+  assign _T_1324 = _T_1274 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@3846.6]
+  assign _T_1325 = _T_1324[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@3847.6]
+  assign _T_1326 = _T_1325 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3848.6]
+  assign _T_1328 = _T_1326 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@3850.6]
+  assign _T_1329 = _T_1328 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@3851.6]
+  assign _GEN_15 = _T_1321 ? _T_1323 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@3843.4]
+  assign _T_1334 = _T_1212 & _T_1310; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@3862.4]
+  assign _T_1336 = _T_1015 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@3864.4]
+  assign _T_1337 = _T_1334 & _T_1336; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@3865.4]
+  assign _T_1338 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@3867.6]
+  assign _T_1339 = _GEN_15 | _T_1274; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@3869.6]
+  assign _T_1340 = _T_1339 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@3870.6]
+  assign _T_1341 = _T_1340[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@3871.6]
+  assign _T_1343 = _T_1341 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@3873.6]
+  assign _T_1344 = _T_1343 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@3874.6]
+  assign _GEN_16 = _T_1337 ? _T_1338 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@3866.4]
+  assign _T_1345 = _GEN_15 != _GEN_16; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@3880.4]
+  assign _T_1346 = _GEN_15 != 2'h0; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@3881.4]
+  assign _T_1347 = _T_1346 == 1'h0; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@3882.4]
+  assign _T_1348 = _T_1345 | _T_1347; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@3883.4]
+  assign _T_1350 = _T_1348 | reset; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@3885.4]
+  assign _T_1351 = _T_1350 == 1'h0; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@3886.4]
+  assign _T_1352 = _T_1274 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@3891.4]
+  assign _T_1353 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@3892.4]
+  assign _T_1354 = _T_1352 & _T_1353; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@3893.4]
+  assign _T_1357 = _T_1274 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@3898.4]
+  assign _T_1358 = _T_1357 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@3899.4]
+  assign _T_1359 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@3900.4]
+  assign _T_1360 = _T_1358 | _T_1359; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@3901.4]
+  assign _T_1361 = _T_1356 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@3902.4]
+  assign _T_1362 = _T_1360 | _T_1361; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@3903.4]
+  assign _T_1364 = _T_1362 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@3905.4]
+  assign _T_1365 = _T_1364 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@3906.4]
+  assign _T_1367 = _T_1356 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@3912.4]
+  assign _T_1370 = _T_1156 | _T_1212; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@3916.4]
+  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2283.10]
+  assign _GEN_35 = io_in_a_valid & _T_206; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2433.10]
+  assign _GEN_53 = io_in_a_valid & _T_326; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2599.10]
+  assign _GEN_65 = io_in_a_valid & _T_442; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2743.10]
+  assign _GEN_75 = io_in_a_valid & _T_556; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2879.10]
+  assign _GEN_85 = io_in_a_valid & _T_672; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3012.10]
+  assign _GEN_95 = io_in_a_valid & _T_781; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3143.10]
+  assign _GEN_105 = io_in_a_valid & _T_890; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3274.10]
+  assign _GEN_115 = io_in_d_valid & _T_1015; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3332.10]
+  assign _GEN_125 = io_in_d_valid & _T_1035; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3374.10]
+  assign _GEN_137 = io_in_d_valid & _T_1063; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3432.10]
+  assign _GEN_149 = io_in_d_valid & _T_1092; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3491.10]
+  assign _GEN_155 = io_in_d_valid & _T_1109; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3526.10]
+  assign _GEN_161 = io_in_d_valid & _T_1127; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3562.10]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  _T_1166 = _RAND_0[9:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  _T_1179 = _RAND_1[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  _T_1181 = _RAND_2[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  _T_1183 = _RAND_3[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  _T_1185 = _RAND_4[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  _T_1187 = _RAND_5[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {1{`RANDOM}};
+  _T_1221 = _RAND_6[9:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {1{`RANDOM}};
+  _T_1234 = _RAND_7[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_8 = {1{`RANDOM}};
+  _T_1236 = _RAND_8[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_9 = {1{`RANDOM}};
+  _T_1238 = _RAND_9[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_10 = {1{`RANDOM}};
+  _T_1240 = _RAND_10[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_11 = {1{`RANDOM}};
+  _T_1242 = _RAND_11[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_12 = {1{`RANDOM}};
+  _T_1244 = _RAND_12[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_13 = {1{`RANDOM}};
+  _T_1274 = _RAND_13[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_14 = {1{`RANDOM}};
+  _T_1285 = _RAND_14[9:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_15 = {1{`RANDOM}};
+  _T_1306 = _RAND_15[9:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_16 = {1{`RANDOM}};
+  _T_1356 = _RAND_16[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      _T_1166 <= 10'h0;
+    end else begin
+      if (_T_1156) begin
+        if (_T_1170) begin
+          if (_T_1163) begin
+            _T_1166 <= _T_1161;
+          end else begin
+            _T_1166 <= 10'h0;
+          end
+        end else begin
+          _T_1166 <= _T_1169;
+        end
+      end
+    end
+    if (_T_1211) begin
+      _T_1179 <= io_in_a_bits_opcode;
+    end
+    if (_T_1211) begin
+      _T_1181 <= io_in_a_bits_param;
+    end
+    if (_T_1211) begin
+      _T_1183 <= io_in_a_bits_size;
+    end
+    if (_T_1211) begin
+      _T_1185 <= io_in_a_bits_source;
+    end
+    if (_T_1211) begin
+      _T_1187 <= io_in_a_bits_address;
+    end
+    if (reset) begin
+      _T_1221 <= 10'h0;
+    end else begin
+      if (_T_1212) begin
+        if (_T_1225) begin
+          if (_T_1218) begin
+            _T_1221 <= _T_1217;
+          end else begin
+            _T_1221 <= 10'h0;
+          end
+        end else begin
+          _T_1221 <= _T_1224;
+        end
+      end
+    end
+    if (_T_1272) begin
+      _T_1234 <= io_in_d_bits_opcode;
+    end
+    if (_T_1272) begin
+      _T_1236 <= io_in_d_bits_param;
+    end
+    if (_T_1272) begin
+      _T_1238 <= io_in_d_bits_size;
+    end
+    if (_T_1272) begin
+      _T_1240 <= io_in_d_bits_source;
+    end
+    if (_T_1272) begin
+      _T_1242 <= io_in_d_bits_sink;
+    end
+    if (_T_1272) begin
+      _T_1244 <= io_in_d_bits_denied;
+    end
+    if (reset) begin
+      _T_1274 <= 2'h0;
+    end else begin
+      _T_1274 <= _T_1354;
+    end
+    if (reset) begin
+      _T_1285 <= 10'h0;
+    end else begin
+      if (_T_1156) begin
+        if (_T_1289) begin
+          if (_T_1163) begin
+            _T_1285 <= _T_1161;
+          end else begin
+            _T_1285 <= 10'h0;
+          end
+        end else begin
+          _T_1285 <= _T_1288;
+        end
+      end
+    end
+    if (reset) begin
+      _T_1306 <= 10'h0;
+    end else begin
+      if (_T_1212) begin
+        if (_T_1310) begin
+          if (_T_1218) begin
+            _T_1306 <= _T_1217;
+          end else begin
+            _T_1306 <= 10'h0;
+          end
+        end else begin
+          _T_1306 <= _T_1309;
+        end
+      end
+    end
+    if (reset) begin
+      _T_1356 <= 32'h0;
+    end else begin
+      if (_T_1370) begin
+        _T_1356 <= 32'h0;
+      end else begin
+        _T_1356 <= _T_1367;
+      end
+    end
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@2118.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@2119.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@2188.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@2189.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_179) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2283.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_179) begin
+          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2284.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_179) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2290.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_179) begin
+          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2291.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_185) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2297.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_185) begin
+          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2298.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_189) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2305.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_189) begin
+          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2306.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_192) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2312.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_192) begin
+          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2313.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_196) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2320.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_196) begin
+          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2321.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_201) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2329.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_201) begin
+          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2330.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_205) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2337.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_205) begin
+          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2338.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_179) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2433.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_179) begin
+          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2434.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_179) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2440.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_179) begin
+          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2441.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_185) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2447.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_185) begin
+          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2448.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_189) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2455.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_189) begin
+          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2456.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_192) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2462.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_192) begin
+          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2463.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_196) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2470.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_196) begin
+          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2471.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_316) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2478.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_316) begin
+          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2479.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_201) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2487.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_201) begin
+          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2488.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_205) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2495.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_205) begin
+          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2496.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_423) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2599.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_423) begin
+          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2600.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_185) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2606.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_185) begin
+          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2607.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_192) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2613.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_192) begin
+          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2614.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_433) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2621.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_433) begin
+          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2622.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_437) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2629.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_437) begin
+          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2630.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_205) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2637.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_205) begin
+          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2638.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_541) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2743.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_541) begin
+          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2744.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_185) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2750.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_185) begin
+          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2751.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_192) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2757.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_192) begin
+          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2758.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_433) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2765.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_433) begin
+          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2766.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_437) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2773.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_437) begin
+          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2774.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_541) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2879.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_541) begin
+          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2880.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_185) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2886.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_185) begin
+          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2887.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_192) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2893.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_192) begin
+          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2894.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_433) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2901.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_433) begin
+          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2902.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_671) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2911.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_671) begin
+          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2912.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_766) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3012.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_766) begin
+          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3013.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_185) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3019.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_185) begin
+          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3020.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_192) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3026.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_192) begin
+          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3027.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_776) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3034.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_776) begin
+          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3035.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_437) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3042.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_437) begin
+          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3043.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_766) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3143.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_766) begin
+          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3144.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_185) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3150.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_185) begin
+          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3151.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_192) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3157.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_192) begin
+          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3158.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_885) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3165.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_885) begin
+          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3166.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_437) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3173.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_437) begin
+          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3174.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_984) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3274.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_984) begin
+          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3275.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_185) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3281.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_185) begin
+          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3282.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_192) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3288.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_192) begin
+          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3289.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_437) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3296.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_437) begin
+          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3297.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_205) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3304.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_205) begin
+          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3305.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1002) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@3315.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1002) begin
+          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@3316.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_1018) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3332.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_1018) begin
+          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3333.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_1022) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3340.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_1022) begin
+          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3341.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_1026) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3348.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_1026) begin
+          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3349.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_1030) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3356.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_1030) begin
+          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3357.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_1034) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3364.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_1034) begin
+          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3365.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_1018) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3374.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_1018) begin
+          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3375.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_179) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3381.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_179) begin
+          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3382.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_1022) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3389.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_1022) begin
+          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3390.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_1049) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3397.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_1049) begin
+          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3398.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_1053) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3405.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_1053) begin
+          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3406.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_1030) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3413.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_1030) begin
+          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3414.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3422.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3423.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_137 & _T_1018) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3432.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_137 & _T_1018) begin
+          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3433.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_137 & _T_179) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3439.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_137 & _T_179) begin
+          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3440.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_137 & _T_1022) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3447.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_137 & _T_1022) begin
+          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3448.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_137 & _T_1049) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3455.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_137 & _T_1049) begin
+          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3456.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_137 & _T_1053) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3463.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_137 & _T_1053) begin
+          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3464.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_137 & _T_1086) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3472.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_137 & _T_1086) begin
+          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3473.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3481.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3482.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_149 & _T_1018) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3491.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_149 & _T_1018) begin
+          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3492.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_149 & _T_1026) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3499.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_149 & _T_1026) begin
+          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3500.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_149 & _T_1030) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3507.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_149 & _T_1030) begin
+          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3508.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3516.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3517.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_155 & _T_1018) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3526.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_155 & _T_1018) begin
+          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3527.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_155 & _T_1026) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3534.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_155 & _T_1026) begin
+          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3535.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_155 & _T_1086) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3543.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_155 & _T_1086) begin
+          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3544.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3552.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3553.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_161 & _T_1018) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3562.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_161 & _T_1018) begin
+          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3563.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_161 & _T_1026) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3570.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_161 & _T_1026) begin
+          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3571.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_161 & _T_1030) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3578.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_161 & _T_1030) begin
+          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3579.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3587.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3588.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3597.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3598.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3605.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3606.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3613.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3614.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1189 & _T_1193) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3653.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1189 & _T_1193) begin
+          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3654.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1189 & _T_1197) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3661.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1189 & _T_1197) begin
+          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3662.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1189 & _T_1201) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3669.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1189 & _T_1201) begin
+          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3670.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1189 & _T_1205) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3677.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1189 & _T_1205) begin
+          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3678.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1189 & _T_1209) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3685.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1189 & _T_1209) begin
+          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3686.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1246 & _T_1250) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3735.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1246 & _T_1250) begin
+          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3736.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1246 & _T_1254) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3743.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1246 & _T_1254) begin
+          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3744.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1246 & _T_1258) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3751.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1246 & _T_1258) begin
+          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3752.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1246 & _T_1262) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3759.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1246 & _T_1262) begin
+          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3760.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1246 & _T_1266) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3767.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1246 & _T_1266) begin
+          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3768.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1246 & _T_1270) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3775.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1246 & _T_1270) begin
+          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3776.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1321 & _T_1329) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@3853.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1321 & _T_1329) begin
+          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@3854.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1337 & _T_1344) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@3876.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1337 & _T_1344) begin
+          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@3877.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1351) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' and 'D' concurrent, despite minlatency 2 (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:471 assert(a_set =/= d_clr || !a_set.orR, s\"'A' and 'D' concurrent, despite minlatency ${edge.manager.minLatency}\" + extra)\n"); // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@3888.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1351) begin
+          $fatal; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@3889.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1365) begin
+          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@3908.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1365) begin
+          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@3909.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+endmodule
+module TLXbar_1( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@3921.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@3922.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@3923.4]
+  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@3924.4]
+  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@3924.4]
+  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@3924.4]
+  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@3924.4]
+  input  [3:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@3924.4]
+  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@3924.4]
+  input  [31:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@3924.4]
+  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@3924.4]
+  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@3924.4]
+  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@3924.4]
+  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@3924.4]
+  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@3924.4]
+  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@3924.4]
+  output [1:0]  auto_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@3924.4]
+  output [3:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@3924.4]
+  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@3924.4]
+  output        auto_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@3924.4]
+  output        auto_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@3924.4]
+  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@3924.4]
+  output        auto_in_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@3924.4]
+  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@3924.4]
+  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@3924.4]
+  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@3924.4]
+  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@3924.4]
+  output [3:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@3924.4]
+  output        auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@3924.4]
+  output [31:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@3924.4]
+  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@3924.4]
+  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@3924.4]
+  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@3924.4]
+  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@3924.4]
+  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@3924.4]
+  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@3924.4]
+  input  [1:0]  auto_out_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@3924.4]
+  input  [3:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@3924.4]
+  input         auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@3924.4]
+  input         auto_out_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@3924.4]
+  input         auto_out_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@3924.4]
+  input  [31:0] auto_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@3924.4]
+  input         auto_out_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@3924.4]
+);
+  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@3931.4]
+  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@3931.4]
+  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@3931.4]
+  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@3931.4]
+  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@3931.4]
+  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@3931.4]
+  wire [3:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@3931.4]
+  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@3931.4]
+  wire [31:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@3931.4]
+  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@3931.4]
+  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@3931.4]
+  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@3931.4]
+  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@3931.4]
+  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@3931.4]
+  wire [1:0] TLMonitor_io_in_d_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@3931.4]
+  wire [3:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@3931.4]
+  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@3931.4]
+  wire  TLMonitor_io_in_d_bits_sink; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@3931.4]
+  wire  TLMonitor_io_in_d_bits_denied; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@3931.4]
+  wire  TLMonitor_io_in_d_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@3931.4]
+  TLMonitor_1 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@3931.4]
+    .clock(TLMonitor_clock),
+    .reset(TLMonitor_reset),
+    .io_in_a_ready(TLMonitor_io_in_a_ready),
+    .io_in_a_valid(TLMonitor_io_in_a_valid),
+    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
+    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
+    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
+    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
+    .io_in_d_ready(TLMonitor_io_in_d_ready),
+    .io_in_d_valid(TLMonitor_io_in_d_valid),
+    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
+    .io_in_d_bits_param(TLMonitor_io_in_d_bits_param),
+    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
+    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source),
+    .io_in_d_bits_sink(TLMonitor_io_in_d_bits_sink),
+    .io_in_d_bits_denied(TLMonitor_io_in_d_bits_denied),
+    .io_in_d_bits_corrupt(TLMonitor_io_in_d_bits_corrupt)
+  );
+  assign auto_in_a_ready = auto_out_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@3971.4]
+  assign auto_in_d_valid = auto_out_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@3971.4]
+  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@3971.4]
+  assign auto_in_d_bits_param = auto_out_d_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@3971.4]
+  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@3971.4]
+  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@3971.4]
+  assign auto_in_d_bits_sink = auto_out_d_bits_sink; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@3971.4]
+  assign auto_in_d_bits_denied = auto_out_d_bits_denied; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@3971.4]
+  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@3971.4]
+  assign auto_in_d_bits_corrupt = auto_out_d_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@3971.4]
+  assign auto_out_a_valid = auto_in_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@3970.4]
+  assign auto_out_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@3970.4]
+  assign auto_out_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@3970.4]
+  assign auto_out_a_bits_size = auto_in_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@3970.4]
+  assign auto_out_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@3970.4]
+  assign auto_out_a_bits_address = auto_in_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@3970.4]
+  assign auto_out_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@3970.4]
+  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@3970.4]
+  assign auto_out_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@3970.4]
+  assign auto_out_d_ready = auto_in_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@3970.4]
+  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@3933.4]
+  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@3934.4]
+  assign TLMonitor_io_in_a_ready = auto_out_a_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@3967.4]
+  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@3967.4]
+  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@3967.4]
+  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@3967.4]
+  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@3967.4]
+  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@3967.4]
+  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@3967.4]
+  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@3967.4]
+  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@3967.4]
+  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@3967.4]
+  assign TLMonitor_io_in_d_valid = auto_out_d_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@3967.4]
+  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@3967.4]
+  assign TLMonitor_io_in_d_bits_param = auto_out_d_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@3967.4]
+  assign TLMonitor_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@3967.4]
+  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@3967.4]
+  assign TLMonitor_io_in_d_bits_sink = auto_out_d_bits_sink; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@3967.4]
+  assign TLMonitor_io_in_d_bits_denied = auto_out_d_bits_denied; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@3967.4]
+  assign TLMonitor_io_in_d_bits_corrupt = auto_out_d_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@3967.4]
+endmodule
+module TLMonitor_2( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@4104.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@4105.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@4106.4]
+  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@4107.4]
+  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@4107.4]
+  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@4107.4]
+  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@4107.4]
+  input  [3:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@4107.4]
+  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@4107.4]
+  input  [31:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@4107.4]
+  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@4107.4]
+  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@4107.4]
+  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@4107.4]
+  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@4107.4]
+  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@4107.4]
+  input  [1:0]  io_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@4107.4]
+  input  [3:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@4107.4]
+  input         io_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@4107.4]
+  input         io_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@4107.4]
+  input         io_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@4107.4]
+  input         io_in_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@4107.4]
+);
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@5892.4]
+  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@4123.6]
+  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@4128.6]
+  wire [26:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@4130.6]
+  wire [11:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@4131.6]
+  wire [11:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@4132.6]
+  wire [31:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@4133.6]
+  wire [31:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@4133.6]
+  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@4134.6]
+  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@4136.6]
+  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@4137.6]
+  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@4139.6]
+  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@4140.6]
+  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@4141.6]
+  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@4142.6]
+  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@4143.6]
+  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@4145.6]
+  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@4146.6]
+  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@4148.6]
+  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@4149.6]
+  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@4150.6]
+  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@4151.6]
+  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@4152.6]
+  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@4153.6]
+  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@4154.6]
+  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@4155.6]
+  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@4156.6]
+  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@4157.6]
+  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@4158.6]
+  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@4159.6]
+  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@4160.6]
+  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@4161.6]
+  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@4162.6]
+  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@4163.6]
+  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@4164.6]
+  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@4165.6]
+  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@4166.6]
+  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@4167.6]
+  wire [32:0] _T_73; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@4171.6]
+  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@4192.6]
+  wire [31:0] _T_92; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@4195.8]
+  wire [32:0] _T_93; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@4196.8]
+  wire [32:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4197.8]
+  wire [32:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4198.8]
+  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@4199.8]
+  wire [31:0] _T_97; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@4200.8]
+  wire [32:0] _T_98; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@4201.8]
+  wire [32:0] _T_99; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4202.8]
+  wire [32:0] _T_100; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4203.8]
+  wire  _T_101; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@4204.8]
+  wire [31:0] _T_102; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@4205.8]
+  wire [32:0] _T_103; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@4206.8]
+  wire [32:0] _T_104; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4207.8]
+  wire [32:0] _T_105; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4208.8]
+  wire  _T_106; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@4209.8]
+  wire [31:0] _T_107; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@4210.8]
+  wire [32:0] _T_108; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@4211.8]
+  wire [32:0] _T_109; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4212.8]
+  wire [32:0] _T_110; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4213.8]
+  wire  _T_111; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@4214.8]
+  wire [31:0] _T_112; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@4215.8]
+  wire [32:0] _T_113; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@4216.8]
+  wire [32:0] _T_114; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4217.8]
+  wire [32:0] _T_115; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4218.8]
+  wire  _T_116; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@4219.8]
+  wire [31:0] _T_117; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@4220.8]
+  wire [32:0] _T_118; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@4221.8]
+  wire [32:0] _T_119; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4222.8]
+  wire [32:0] _T_120; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4223.8]
+  wire  _T_121; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@4224.8]
+  wire [31:0] _T_122; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@4225.8]
+  wire [32:0] _T_123; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@4226.8]
+  wire [32:0] _T_124; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4227.8]
+  wire [32:0] _T_125; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4228.8]
+  wire  _T_126; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@4229.8]
+  wire [31:0] _T_127; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@4230.8]
+  wire [32:0] _T_128; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@4231.8]
+  wire [32:0] _T_129; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4232.8]
+  wire [32:0] _T_130; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4233.8]
+  wire  _T_131; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@4234.8]
+  wire [31:0] _T_132; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@4235.8]
+  wire [32:0] _T_133; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@4236.8]
+  wire [32:0] _T_134; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4237.8]
+  wire [32:0] _T_135; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4238.8]
+  wire  _T_136; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@4239.8]
+  wire [31:0] _T_137; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@4240.8]
+  wire [32:0] _T_138; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@4241.8]
+  wire [32:0] _T_139; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4242.8]
+  wire [32:0] _T_140; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4243.8]
+  wire  _T_141; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@4244.8]
+  wire [32:0] _T_144; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4247.8]
+  wire [32:0] _T_145; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4248.8]
+  wire  _T_146; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@4249.8]
+  wire [31:0] _T_147; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@4250.8]
+  wire [32:0] _T_148; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@4251.8]
+  wire [32:0] _T_149; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4252.8]
+  wire [32:0] _T_150; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4253.8]
+  wire  _T_151; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@4254.8]
+  wire [31:0] _T_152; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@4255.8]
+  wire [32:0] _T_153; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@4256.8]
+  wire [32:0] _T_154; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4257.8]
+  wire [32:0] _T_155; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4258.8]
+  wire  _T_156; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@4259.8]
+  wire [31:0] _T_157; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@4260.8]
+  wire [32:0] _T_158; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@4261.8]
+  wire [32:0] _T_159; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4262.8]
+  wire [32:0] _T_160; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4263.8]
+  wire  _T_161; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@4264.8]
+  wire  _T_162; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4265.8]
+  wire  _T_163; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4266.8]
+  wire  _T_164; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4267.8]
+  wire  _T_165; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4268.8]
+  wire  _T_179; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4282.8]
+  wire  _T_184; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4295.8]
+  wire  _T_185; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4296.8]
+  wire  _T_188; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4303.8]
+  wire  _T_189; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4304.8]
+  wire  _T_191; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4310.8]
+  wire  _T_192; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4311.8]
+  wire  _T_193; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@4316.8]
+  wire  _T_195; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4318.8]
+  wire  _T_196; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4319.8]
+  wire [3:0] _T_197; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@4324.8]
+  wire  _T_198; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@4325.8]
+  wire  _T_200; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4327.8]
+  wire  _T_201; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4328.8]
+  wire  _T_202; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@4333.8]
+  wire  _T_204; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4335.8]
+  wire  _T_205; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4336.8]
+  wire  _T_206; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@4342.6]
+  wire  _T_313; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@4474.8]
+  wire  _T_315; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4476.8]
+  wire  _T_316; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4477.8]
+  wire  _T_326; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@4500.6]
+  wire  _T_328; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4503.8]
+  wire  _T_336; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@4511.8]
+  wire  _T_338; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4513.8]
+  wire  _T_406; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4581.8]
+  wire  _T_407; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4582.8]
+  wire  _T_408; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4583.8]
+  wire  _T_409; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4584.8]
+  wire  _T_410; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4585.8]
+  wire  _T_411; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4586.8]
+  wire  _T_412; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4587.8]
+  wire  _T_413; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4588.8]
+  wire  _T_414; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4589.8]
+  wire  _T_415; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4590.8]
+  wire  _T_416; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4591.8]
+  wire  _T_417; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4592.8]
+  wire  _T_418; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@4593.8]
+  wire  _T_420; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@4595.8]
+  wire  _T_422; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4597.8]
+  wire  _T_423; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4598.8]
+  wire  _T_430; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@4617.8]
+  wire  _T_432; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4619.8]
+  wire  _T_433; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4620.8]
+  wire  _T_434; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@4625.8]
+  wire  _T_436; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4627.8]
+  wire  _T_437; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4628.8]
+  wire  _T_442; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@4642.6]
+  wire  _T_515; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4716.8]
+  wire  _T_516; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4717.8]
+  wire  _T_517; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4718.8]
+  wire  _T_518; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4719.8]
+  wire  _T_519; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4720.8]
+  wire  _T_520; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4721.8]
+  wire  _T_521; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4722.8]
+  wire  _T_522; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@4723.8]
+  wire  _T_537; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@4738.8]
+  wire  _T_540; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4741.8]
+  wire  _T_541; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4742.8]
+  wire  _T_556; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@4778.6]
+  wire [3:0] _T_666; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@4905.8]
+  wire [3:0] _T_667; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@4906.8]
+  wire  _T_668; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@4907.8]
+  wire  _T_670; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4909.8]
+  wire  _T_671; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4910.8]
+  wire  _T_672; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@4916.6]
+  wire  _T_674; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4919.8]
+  wire  _T_716; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4961.8]
+  wire  _T_717; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4962.8]
+  wire  _T_718; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@4963.8]
+  wire  _T_719; // @[Parameters.scala 89:48:shc.marmotcaravel.MarmotCaravelConfig.fir@4964.8]
+  wire  _T_726; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@4971.8]
+  wire  _T_765; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@5010.8]
+  wire  _T_768; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5013.8]
+  wire  _T_769; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5014.8]
+  wire  _T_776; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@5033.8]
+  wire  _T_778; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5035.8]
+  wire  _T_779; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5036.8]
+  wire  _T_784; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@5050.6]
+  wire  _T_888; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@5167.8]
+  wire  _T_890; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5169.8]
+  wire  _T_891; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5170.8]
+  wire  _T_896; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@5184.6]
+  wire  _T_989; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5278.8]
+  wire  _T_990; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5279.8]
+  wire  _T_1005; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@5317.6]
+  wire  _T_1007; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@5319.6]
+  wire  _T_1008; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@5320.6]
+  wire  _T_1010; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@5326.6]
+  wire  _T_1019; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@5331.6]
+  wire  _T_1021; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@5333.6]
+  wire  _T_1023; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5336.8]
+  wire  _T_1024; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5337.8]
+  wire  _T_1025; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@5342.8]
+  wire  _T_1027; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5344.8]
+  wire  _T_1028; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5345.8]
+  wire  _T_1029; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@5350.8]
+  wire  _T_1031; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5352.8]
+  wire  _T_1032; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5353.8]
+  wire  _T_1033; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@5358.8]
+  wire  _T_1035; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5360.8]
+  wire  _T_1036; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5361.8]
+  wire  _T_1037; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@5366.8]
+  wire  _T_1039; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5368.8]
+  wire  _T_1040; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5369.8]
+  wire  _T_1041; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@5375.6]
+  wire  _T_1052; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@5399.8]
+  wire  _T_1054; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5401.8]
+  wire  _T_1055; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5402.8]
+  wire  _T_1056; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@5407.8]
+  wire  _T_1058; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5409.8]
+  wire  _T_1059; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5410.8]
+  wire  _T_1069; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@5433.6]
+  wire  _T_1089; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@5474.8]
+  wire  _T_1091; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5476.8]
+  wire  _T_1092; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5477.8]
+  wire  _T_1098; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@5492.6]
+  wire  _T_1115; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@5527.6]
+  wire  _T_1133; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@5563.6]
+  wire  _T_1162; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@5623.4]
+  wire [9:0] _T_1167; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@5628.4]
+  wire  _T_1168; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@5629.4]
+  wire  _T_1169; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@5630.4]
+  reg [9:0] _T_1172; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@5632.4]
+  reg [31:0] _RAND_0;
+  wire [10:0] _T_1173; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@5633.4]
+  wire [10:0] _T_1174; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@5634.4]
+  wire [9:0] _T_1175; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@5635.4]
+  wire  _T_1176; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@5636.4]
+  reg [2:0] _T_1185; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@5647.4]
+  reg [31:0] _RAND_1;
+  reg [2:0] _T_1187; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@5648.4]
+  reg [31:0] _RAND_2;
+  reg [3:0] _T_1189; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@5649.4]
+  reg [31:0] _RAND_3;
+  reg  _T_1191; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@5650.4]
+  reg [31:0] _RAND_4;
+  reg [31:0] _T_1193; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@5651.4]
+  reg [31:0] _RAND_5;
+  wire  _T_1194; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@5652.4]
+  wire  _T_1195; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@5653.4]
+  wire  _T_1196; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@5655.6]
+  wire  _T_1198; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5657.6]
+  wire  _T_1199; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5658.6]
+  wire  _T_1200; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@5663.6]
+  wire  _T_1202; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5665.6]
+  wire  _T_1203; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5666.6]
+  wire  _T_1204; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@5671.6]
+  wire  _T_1206; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5673.6]
+  wire  _T_1207; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5674.6]
+  wire  _T_1208; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@5679.6]
+  wire  _T_1210; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5681.6]
+  wire  _T_1211; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5682.6]
+  wire  _T_1212; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@5687.6]
+  wire  _T_1214; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5689.6]
+  wire  _T_1215; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5690.6]
+  wire  _T_1217; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@5697.4]
+  wire  _T_1218; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@5705.4]
+  wire [26:0] _T_1220; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@5707.4]
+  wire [11:0] _T_1221; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@5708.4]
+  wire [11:0] _T_1222; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@5709.4]
+  wire [9:0] _T_1223; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@5710.4]
+  wire  _T_1224; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@5711.4]
+  reg [9:0] _T_1227; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@5713.4]
+  reg [31:0] _RAND_6;
+  wire [10:0] _T_1228; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@5714.4]
+  wire [10:0] _T_1229; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@5715.4]
+  wire [9:0] _T_1230; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@5716.4]
+  wire  _T_1231; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@5717.4]
+  reg [2:0] _T_1240; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@5728.4]
+  reg [31:0] _RAND_7;
+  reg [1:0] _T_1242; // @[Monitor.scala 419:22:shc.marmotcaravel.MarmotCaravelConfig.fir@5729.4]
+  reg [31:0] _RAND_8;
+  reg [3:0] _T_1244; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@5730.4]
+  reg [31:0] _RAND_9;
+  reg  _T_1246; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@5731.4]
+  reg [31:0] _RAND_10;
+  reg  _T_1248; // @[Monitor.scala 422:22:shc.marmotcaravel.MarmotCaravelConfig.fir@5732.4]
+  reg [31:0] _RAND_11;
+  reg  _T_1250; // @[Monitor.scala 423:22:shc.marmotcaravel.MarmotCaravelConfig.fir@5733.4]
+  reg [31:0] _RAND_12;
+  wire  _T_1251; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@5734.4]
+  wire  _T_1252; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@5735.4]
+  wire  _T_1253; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@5737.6]
+  wire  _T_1255; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5739.6]
+  wire  _T_1256; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5740.6]
+  wire  _T_1257; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@5745.6]
+  wire  _T_1259; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5747.6]
+  wire  _T_1260; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5748.6]
+  wire  _T_1261; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@5753.6]
+  wire  _T_1263; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5755.6]
+  wire  _T_1264; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5756.6]
+  wire  _T_1265; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@5761.6]
+  wire  _T_1267; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5763.6]
+  wire  _T_1268; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5764.6]
+  wire  _T_1269; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@5769.6]
+  wire  _T_1271; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5771.6]
+  wire  _T_1272; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5772.6]
+  wire  _T_1273; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@5777.6]
+  wire  _T_1275; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5779.6]
+  wire  _T_1276; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5780.6]
+  wire  _T_1278; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@5787.4]
+  reg [1:0] _T_1280; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@5796.4]
+  reg [31:0] _RAND_13;
+  reg [9:0] _T_1291; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@5806.4]
+  reg [31:0] _RAND_14;
+  wire [10:0] _T_1292; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@5807.4]
+  wire [10:0] _T_1293; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@5808.4]
+  wire [9:0] _T_1294; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@5809.4]
+  wire  _T_1295; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@5810.4]
+  reg [9:0] _T_1312; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@5829.4]
+  reg [31:0] _RAND_15;
+  wire [10:0] _T_1313; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@5830.4]
+  wire [10:0] _T_1314; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@5831.4]
+  wire [9:0] _T_1315; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@5832.4]
+  wire  _T_1316; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@5833.4]
+  wire  _T_1327; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@5848.4]
+  wire [1:0] _T_1329; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@5851.6]
+  wire [1:0] _T_1330; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@5853.6]
+  wire  _T_1331; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@5854.6]
+  wire  _T_1332; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5855.6]
+  wire  _T_1334; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@5857.6]
+  wire  _T_1335; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@5858.6]
+  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@5850.4]
+  wire  _T_1340; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@5869.4]
+  wire  _T_1342; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@5871.4]
+  wire  _T_1343; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@5872.4]
+  wire [1:0] _T_1344; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@5874.6]
+  wire [1:0] _T_1345; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@5876.6]
+  wire [1:0] _T_1346; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@5877.6]
+  wire  _T_1347; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@5878.6]
+  wire  _T_1349; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@5880.6]
+  wire  _T_1350; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@5881.6]
+  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@5873.4]
+  wire [1:0] _T_1351; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@5887.4]
+  wire [1:0] _T_1352; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@5888.4]
+  wire [1:0] _T_1353; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@5889.4]
+  reg [31:0] _T_1355; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@5891.4]
+  reg [31:0] _RAND_16;
+  wire  _T_1356; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@5894.4]
+  wire  _T_1357; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@5895.4]
+  wire  _T_1358; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@5896.4]
+  wire  _T_1359; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@5897.4]
+  wire  _T_1360; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@5898.4]
+  wire  _T_1361; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@5899.4]
+  wire  _T_1363; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@5901.4]
+  wire  _T_1364; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@5902.4]
+  wire [31:0] _T_1366; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@5908.4]
+  wire  _T_1369; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@5912.4]
+  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4284.10]
+  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4434.10]
+  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4600.10]
+  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4744.10]
+  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4880.10]
+  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5016.10]
+  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5150.10]
+  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5281.10]
+  wire  _GEN_115; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5339.10]
+  wire  _GEN_125; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5381.10]
+  wire  _GEN_137; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5439.10]
+  wire  _GEN_149; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5498.10]
+  wire  _GEN_155; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5533.10]
+  wire  _GEN_161; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5569.10]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@5892.4]
+    .out(plusarg_reader_out)
+  );
+  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@4123.6]
+  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@4128.6]
+  assign _T_32 = 27'hfff << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@4130.6]
+  assign _T_33 = _T_32[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@4131.6]
+  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@4132.6]
+  assign _GEN_18 = {{20'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@4133.6]
+  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@4133.6]
+  assign _T_36 = _T_35 == 32'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@4134.6]
+  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@4136.6]
+  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@4137.6]
+  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@4139.6]
+  assign _T_42 = io_in_a_bits_size >= 4'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@4140.6]
+  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@4141.6]
+  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@4142.6]
+  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@4143.6]
+  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@4145.6]
+  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@4146.6]
+  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@4148.6]
+  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@4149.6]
+  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@4150.6]
+  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@4151.6]
+  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@4152.6]
+  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@4153.6]
+  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@4154.6]
+  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@4155.6]
+  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@4156.6]
+  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@4157.6]
+  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@4158.6]
+  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@4159.6]
+  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@4160.6]
+  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@4161.6]
+  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@4162.6]
+  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@4163.6]
+  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@4164.6]
+  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@4165.6]
+  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@4166.6]
+  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@4167.6]
+  assign _T_73 = {1'b0,$signed(io_in_a_bits_address)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@4171.6]
+  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@4192.6]
+  assign _T_92 = io_in_a_bits_address ^ 32'h3000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@4195.8]
+  assign _T_93 = {1'b0,$signed(_T_92)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@4196.8]
+  assign _T_94 = $signed(_T_93) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4197.8]
+  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4198.8]
+  assign _T_96 = $signed(_T_95) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@4199.8]
+  assign _T_97 = io_in_a_bits_address ^ 32'h10013000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@4200.8]
+  assign _T_98 = {1'b0,$signed(_T_97)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@4201.8]
+  assign _T_99 = $signed(_T_98) & $signed(-33'sh21000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4202.8]
+  assign _T_100 = $signed(_T_99); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4203.8]
+  assign _T_101 = $signed(_T_100) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@4204.8]
+  assign _T_102 = io_in_a_bits_address ^ 32'h10023000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@4205.8]
+  assign _T_103 = {1'b0,$signed(_T_102)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@4206.8]
+  assign _T_104 = $signed(_T_103) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4207.8]
+  assign _T_105 = $signed(_T_104); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4208.8]
+  assign _T_106 = $signed(_T_105) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@4209.8]
+  assign _T_107 = io_in_a_bits_address ^ 32'h10043000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@4210.8]
+  assign _T_108 = {1'b0,$signed(_T_107)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@4211.8]
+  assign _T_109 = $signed(_T_108) & $signed(-33'sh11000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4212.8]
+  assign _T_110 = $signed(_T_109); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4213.8]
+  assign _T_111 = $signed(_T_110) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@4214.8]
+  assign _T_112 = io_in_a_bits_address ^ 32'h10014000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@4215.8]
+  assign _T_113 = {1'b0,$signed(_T_112)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@4216.8]
+  assign _T_114 = $signed(_T_113) & $signed(-33'sh21000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4217.8]
+  assign _T_115 = $signed(_T_114); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4218.8]
+  assign _T_116 = $signed(_T_115) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@4219.8]
+  assign _T_117 = io_in_a_bits_address ^ 32'h20000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@4220.8]
+  assign _T_118 = {1'b0,$signed(_T_117)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@4221.8]
+  assign _T_119 = $signed(_T_118) & $signed(-33'sh20000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4222.8]
+  assign _T_120 = $signed(_T_119); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4223.8]
+  assign _T_121 = $signed(_T_120) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@4224.8]
+  assign _T_122 = io_in_a_bits_address ^ 32'h10024000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@4225.8]
+  assign _T_123 = {1'b0,$signed(_T_122)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@4226.8]
+  assign _T_124 = $signed(_T_123) & $signed(-33'sh3000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4227.8]
+  assign _T_125 = $signed(_T_124); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4228.8]
+  assign _T_126 = $signed(_T_125) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@4229.8]
+  assign _T_127 = io_in_a_bits_address ^ 32'h10012000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@4230.8]
+  assign _T_128 = {1'b0,$signed(_T_127)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@4231.8]
+  assign _T_129 = $signed(_T_128) & $signed(-33'sh5000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4232.8]
+  assign _T_130 = $signed(_T_129); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4233.8]
+  assign _T_131 = $signed(_T_130) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@4234.8]
+  assign _T_132 = io_in_a_bits_address ^ 32'hc000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@4235.8]
+  assign _T_133 = {1'b0,$signed(_T_132)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@4236.8]
+  assign _T_134 = $signed(_T_133) & $signed(-33'sh4000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4237.8]
+  assign _T_135 = $signed(_T_134); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4238.8]
+  assign _T_136 = $signed(_T_135) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@4239.8]
+  assign _T_137 = io_in_a_bits_address ^ 32'h2000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@4240.8]
+  assign _T_138 = {1'b0,$signed(_T_137)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@4241.8]
+  assign _T_139 = $signed(_T_138) & $signed(-33'sh10000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4242.8]
+  assign _T_140 = $signed(_T_139); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4243.8]
+  assign _T_141 = $signed(_T_140) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@4244.8]
+  assign _T_144 = $signed(_T_73) & $signed(-33'sh10001000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4247.8]
+  assign _T_145 = $signed(_T_144); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4248.8]
+  assign _T_146 = $signed(_T_145) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@4249.8]
+  assign _T_147 = io_in_a_bits_address ^ 32'h8000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@4250.8]
+  assign _T_148 = {1'b0,$signed(_T_147)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@4251.8]
+  assign _T_149 = $signed(_T_148) & $signed(-33'sh4000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4252.8]
+  assign _T_150 = $signed(_T_149); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4253.8]
+  assign _T_151 = $signed(_T_150) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@4254.8]
+  assign _T_152 = io_in_a_bits_address ^ 32'h80000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@4255.8]
+  assign _T_153 = {1'b0,$signed(_T_152)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@4256.8]
+  assign _T_154 = $signed(_T_153) & $signed(-33'sh4000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4257.8]
+  assign _T_155 = $signed(_T_154); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4258.8]
+  assign _T_156 = $signed(_T_155) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@4259.8]
+  assign _T_157 = io_in_a_bits_address ^ 32'h10000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@4260.8]
+  assign _T_158 = {1'b0,$signed(_T_157)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@4261.8]
+  assign _T_159 = $signed(_T_158) & $signed(-33'sh2000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4262.8]
+  assign _T_160 = $signed(_T_159); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4263.8]
+  assign _T_161 = $signed(_T_160) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@4264.8]
+  assign _T_162 = _T_96 | _T_101; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4265.8]
+  assign _T_163 = _T_162 | _T_106; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4266.8]
+  assign _T_164 = _T_163 | _T_111; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4267.8]
+  assign _T_165 = _T_164 | _T_116; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4268.8]
+  assign _T_179 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4282.8]
+  assign _T_184 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4295.8]
+  assign _T_185 = _T_184 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4296.8]
+  assign _T_188 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4303.8]
+  assign _T_189 = _T_188 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4304.8]
+  assign _T_191 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4310.8]
+  assign _T_192 = _T_191 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4311.8]
+  assign _T_193 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@4316.8]
+  assign _T_195 = _T_193 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4318.8]
+  assign _T_196 = _T_195 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4319.8]
+  assign _T_197 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@4324.8]
+  assign _T_198 = _T_197 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@4325.8]
+  assign _T_200 = _T_198 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4327.8]
+  assign _T_201 = _T_200 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4328.8]
+  assign _T_202 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@4333.8]
+  assign _T_204 = _T_202 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4335.8]
+  assign _T_205 = _T_204 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4336.8]
+  assign _T_206 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@4342.6]
+  assign _T_313 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@4474.8]
+  assign _T_315 = _T_313 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4476.8]
+  assign _T_316 = _T_315 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4477.8]
+  assign _T_326 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@4500.6]
+  assign _T_328 = io_in_a_bits_size <= 4'hc; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4503.8]
+  assign _T_336 = _T_328 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@4511.8]
+  assign _T_338 = io_in_a_bits_size <= 4'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4513.8]
+  assign _T_406 = _T_101 | _T_106; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4581.8]
+  assign _T_407 = _T_406 | _T_111; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4582.8]
+  assign _T_408 = _T_407 | _T_116; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4583.8]
+  assign _T_409 = _T_408 | _T_121; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4584.8]
+  assign _T_410 = _T_409 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4585.8]
+  assign _T_411 = _T_410 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4586.8]
+  assign _T_412 = _T_411 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4587.8]
+  assign _T_413 = _T_412 | _T_141; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4588.8]
+  assign _T_414 = _T_413 | _T_146; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4589.8]
+  assign _T_415 = _T_414 | _T_151; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4590.8]
+  assign _T_416 = _T_415 | _T_156; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4591.8]
+  assign _T_417 = _T_416 | _T_161; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4592.8]
+  assign _T_418 = _T_338 & _T_417; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@4593.8]
+  assign _T_420 = _T_336 | _T_418; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@4595.8]
+  assign _T_422 = _T_420 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4597.8]
+  assign _T_423 = _T_422 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4598.8]
+  assign _T_430 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@4617.8]
+  assign _T_432 = _T_430 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4619.8]
+  assign _T_433 = _T_432 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4620.8]
+  assign _T_434 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@4625.8]
+  assign _T_436 = _T_434 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4627.8]
+  assign _T_437 = _T_436 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4628.8]
+  assign _T_442 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@4642.6]
+  assign _T_515 = _T_408 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4716.8]
+  assign _T_516 = _T_515 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4717.8]
+  assign _T_517 = _T_516 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4718.8]
+  assign _T_518 = _T_517 | _T_141; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4719.8]
+  assign _T_519 = _T_518 | _T_146; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4720.8]
+  assign _T_520 = _T_519 | _T_151; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4721.8]
+  assign _T_521 = _T_520 | _T_156; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4722.8]
+  assign _T_522 = _T_338 & _T_521; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@4723.8]
+  assign _T_537 = _T_336 | _T_522; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@4738.8]
+  assign _T_540 = _T_537 | reset; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4741.8]
+  assign _T_541 = _T_540 == 1'h0; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4742.8]
+  assign _T_556 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@4778.6]
+  assign _T_666 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@4905.8]
+  assign _T_667 = io_in_a_bits_mask & _T_666; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@4906.8]
+  assign _T_668 = _T_667 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@4907.8]
+  assign _T_670 = _T_668 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4909.8]
+  assign _T_671 = _T_670 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4910.8]
+  assign _T_672 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@4916.6]
+  assign _T_674 = io_in_a_bits_size <= 4'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4919.8]
+  assign _T_716 = _T_165 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4961.8]
+  assign _T_717 = _T_716 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4962.8]
+  assign _T_718 = _T_674 & _T_717; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@4963.8]
+  assign _T_719 = 4'h2 == io_in_a_bits_size; // @[Parameters.scala 89:48:shc.marmotcaravel.MarmotCaravelConfig.fir@4964.8]
+  assign _T_726 = _T_719 & _T_156; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@4971.8]
+  assign _T_765 = _T_718 | _T_726; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@5010.8]
+  assign _T_768 = _T_765 | reset; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5013.8]
+  assign _T_769 = _T_768 == 1'h0; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5014.8]
+  assign _T_776 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@5033.8]
+  assign _T_778 = _T_776 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5035.8]
+  assign _T_779 = _T_778 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5036.8]
+  assign _T_784 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@5050.6]
+  assign _T_888 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@5167.8]
+  assign _T_890 = _T_888 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5169.8]
+  assign _T_891 = _T_890 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5170.8]
+  assign _T_896 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@5184.6]
+  assign _T_989 = _T_336 | reset; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5278.8]
+  assign _T_990 = _T_989 == 1'h0; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5279.8]
+  assign _T_1005 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@5317.6]
+  assign _T_1007 = _T_1005 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@5319.6]
+  assign _T_1008 = _T_1007 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@5320.6]
+  assign _T_1010 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@5326.6]
+  assign _T_1019 = io_in_d_bits_source | _T_1010; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@5331.6]
+  assign _T_1021 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@5333.6]
+  assign _T_1023 = _T_1019 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5336.8]
+  assign _T_1024 = _T_1023 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5337.8]
+  assign _T_1025 = io_in_d_bits_size >= 4'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@5342.8]
+  assign _T_1027 = _T_1025 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5344.8]
+  assign _T_1028 = _T_1027 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5345.8]
+  assign _T_1029 = io_in_d_bits_param == 2'h0; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@5350.8]
+  assign _T_1031 = _T_1029 | reset; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5352.8]
+  assign _T_1032 = _T_1031 == 1'h0; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5353.8]
+  assign _T_1033 = io_in_d_bits_corrupt == 1'h0; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@5358.8]
+  assign _T_1035 = _T_1033 | reset; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5360.8]
+  assign _T_1036 = _T_1035 == 1'h0; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5361.8]
+  assign _T_1037 = io_in_d_bits_denied == 1'h0; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@5366.8]
+  assign _T_1039 = _T_1037 | reset; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5368.8]
+  assign _T_1040 = _T_1039 == 1'h0; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5369.8]
+  assign _T_1041 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@5375.6]
+  assign _T_1052 = io_in_d_bits_param <= 2'h2; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@5399.8]
+  assign _T_1054 = _T_1052 | reset; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5401.8]
+  assign _T_1055 = _T_1054 == 1'h0; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5402.8]
+  assign _T_1056 = io_in_d_bits_param != 2'h2; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@5407.8]
+  assign _T_1058 = _T_1056 | reset; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5409.8]
+  assign _T_1059 = _T_1058 == 1'h0; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5410.8]
+  assign _T_1069 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@5433.6]
+  assign _T_1089 = _T_1037 | io_in_d_bits_corrupt; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@5474.8]
+  assign _T_1091 = _T_1089 | reset; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5476.8]
+  assign _T_1092 = _T_1091 == 1'h0; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5477.8]
+  assign _T_1098 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@5492.6]
+  assign _T_1115 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@5527.6]
+  assign _T_1133 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@5563.6]
+  assign _T_1162 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@5623.4]
+  assign _T_1167 = _T_34[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@5628.4]
+  assign _T_1168 = io_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@5629.4]
+  assign _T_1169 = _T_1168 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@5630.4]
+  assign _T_1173 = _T_1172 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@5633.4]
+  assign _T_1174 = $unsigned(_T_1173); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@5634.4]
+  assign _T_1175 = _T_1174[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@5635.4]
+  assign _T_1176 = _T_1172 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@5636.4]
+  assign _T_1194 = _T_1176 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@5652.4]
+  assign _T_1195 = io_in_a_valid & _T_1194; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@5653.4]
+  assign _T_1196 = io_in_a_bits_opcode == _T_1185; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@5655.6]
+  assign _T_1198 = _T_1196 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5657.6]
+  assign _T_1199 = _T_1198 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5658.6]
+  assign _T_1200 = io_in_a_bits_param == _T_1187; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@5663.6]
+  assign _T_1202 = _T_1200 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5665.6]
+  assign _T_1203 = _T_1202 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5666.6]
+  assign _T_1204 = io_in_a_bits_size == _T_1189; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@5671.6]
+  assign _T_1206 = _T_1204 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5673.6]
+  assign _T_1207 = _T_1206 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5674.6]
+  assign _T_1208 = io_in_a_bits_source == _T_1191; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@5679.6]
+  assign _T_1210 = _T_1208 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5681.6]
+  assign _T_1211 = _T_1210 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5682.6]
+  assign _T_1212 = io_in_a_bits_address == _T_1193; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@5687.6]
+  assign _T_1214 = _T_1212 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5689.6]
+  assign _T_1215 = _T_1214 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5690.6]
+  assign _T_1217 = _T_1162 & _T_1176; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@5697.4]
+  assign _T_1218 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@5705.4]
+  assign _T_1220 = 27'hfff << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@5707.4]
+  assign _T_1221 = _T_1220[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@5708.4]
+  assign _T_1222 = ~ _T_1221; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@5709.4]
+  assign _T_1223 = _T_1222[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@5710.4]
+  assign _T_1224 = io_in_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@5711.4]
+  assign _T_1228 = _T_1227 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@5714.4]
+  assign _T_1229 = $unsigned(_T_1228); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@5715.4]
+  assign _T_1230 = _T_1229[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@5716.4]
+  assign _T_1231 = _T_1227 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@5717.4]
+  assign _T_1251 = _T_1231 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@5734.4]
+  assign _T_1252 = io_in_d_valid & _T_1251; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@5735.4]
+  assign _T_1253 = io_in_d_bits_opcode == _T_1240; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@5737.6]
+  assign _T_1255 = _T_1253 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5739.6]
+  assign _T_1256 = _T_1255 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5740.6]
+  assign _T_1257 = io_in_d_bits_param == _T_1242; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@5745.6]
+  assign _T_1259 = _T_1257 | reset; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5747.6]
+  assign _T_1260 = _T_1259 == 1'h0; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5748.6]
+  assign _T_1261 = io_in_d_bits_size == _T_1244; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@5753.6]
+  assign _T_1263 = _T_1261 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5755.6]
+  assign _T_1264 = _T_1263 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5756.6]
+  assign _T_1265 = io_in_d_bits_source == _T_1246; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@5761.6]
+  assign _T_1267 = _T_1265 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5763.6]
+  assign _T_1268 = _T_1267 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5764.6]
+  assign _T_1269 = io_in_d_bits_sink == _T_1248; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@5769.6]
+  assign _T_1271 = _T_1269 | reset; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5771.6]
+  assign _T_1272 = _T_1271 == 1'h0; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5772.6]
+  assign _T_1273 = io_in_d_bits_denied == _T_1250; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@5777.6]
+  assign _T_1275 = _T_1273 | reset; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5779.6]
+  assign _T_1276 = _T_1275 == 1'h0; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5780.6]
+  assign _T_1278 = _T_1218 & _T_1231; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@5787.4]
+  assign _T_1292 = _T_1291 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@5807.4]
+  assign _T_1293 = $unsigned(_T_1292); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@5808.4]
+  assign _T_1294 = _T_1293[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@5809.4]
+  assign _T_1295 = _T_1291 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@5810.4]
+  assign _T_1313 = _T_1312 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@5830.4]
+  assign _T_1314 = $unsigned(_T_1313); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@5831.4]
+  assign _T_1315 = _T_1314[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@5832.4]
+  assign _T_1316 = _T_1312 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@5833.4]
+  assign _T_1327 = _T_1162 & _T_1295; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@5848.4]
+  assign _T_1329 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@5851.6]
+  assign _T_1330 = _T_1280 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@5853.6]
+  assign _T_1331 = _T_1330[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@5854.6]
+  assign _T_1332 = _T_1331 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5855.6]
+  assign _T_1334 = _T_1332 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@5857.6]
+  assign _T_1335 = _T_1334 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@5858.6]
+  assign _GEN_15 = _T_1327 ? _T_1329 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@5850.4]
+  assign _T_1340 = _T_1218 & _T_1316; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@5869.4]
+  assign _T_1342 = _T_1021 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@5871.4]
+  assign _T_1343 = _T_1340 & _T_1342; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@5872.4]
+  assign _T_1344 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@5874.6]
+  assign _T_1345 = _GEN_15 | _T_1280; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@5876.6]
+  assign _T_1346 = _T_1345 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@5877.6]
+  assign _T_1347 = _T_1346[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@5878.6]
+  assign _T_1349 = _T_1347 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@5880.6]
+  assign _T_1350 = _T_1349 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@5881.6]
+  assign _GEN_16 = _T_1343 ? _T_1344 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@5873.4]
+  assign _T_1351 = _T_1280 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@5887.4]
+  assign _T_1352 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@5888.4]
+  assign _T_1353 = _T_1351 & _T_1352; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@5889.4]
+  assign _T_1356 = _T_1280 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@5894.4]
+  assign _T_1357 = _T_1356 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@5895.4]
+  assign _T_1358 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@5896.4]
+  assign _T_1359 = _T_1357 | _T_1358; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@5897.4]
+  assign _T_1360 = _T_1355 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@5898.4]
+  assign _T_1361 = _T_1359 | _T_1360; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@5899.4]
+  assign _T_1363 = _T_1361 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@5901.4]
+  assign _T_1364 = _T_1363 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@5902.4]
+  assign _T_1366 = _T_1355 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@5908.4]
+  assign _T_1369 = _T_1162 | _T_1218; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@5912.4]
+  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4284.10]
+  assign _GEN_35 = io_in_a_valid & _T_206; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4434.10]
+  assign _GEN_53 = io_in_a_valid & _T_326; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4600.10]
+  assign _GEN_65 = io_in_a_valid & _T_442; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4744.10]
+  assign _GEN_75 = io_in_a_valid & _T_556; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4880.10]
+  assign _GEN_85 = io_in_a_valid & _T_672; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5016.10]
+  assign _GEN_95 = io_in_a_valid & _T_784; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5150.10]
+  assign _GEN_105 = io_in_a_valid & _T_896; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5281.10]
+  assign _GEN_115 = io_in_d_valid & _T_1021; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5339.10]
+  assign _GEN_125 = io_in_d_valid & _T_1041; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5381.10]
+  assign _GEN_137 = io_in_d_valid & _T_1069; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5439.10]
+  assign _GEN_149 = io_in_d_valid & _T_1098; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5498.10]
+  assign _GEN_155 = io_in_d_valid & _T_1115; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5533.10]
+  assign _GEN_161 = io_in_d_valid & _T_1133; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5569.10]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  _T_1172 = _RAND_0[9:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  _T_1185 = _RAND_1[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  _T_1187 = _RAND_2[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  _T_1189 = _RAND_3[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  _T_1191 = _RAND_4[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  _T_1193 = _RAND_5[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {1{`RANDOM}};
+  _T_1227 = _RAND_6[9:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {1{`RANDOM}};
+  _T_1240 = _RAND_7[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_8 = {1{`RANDOM}};
+  _T_1242 = _RAND_8[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_9 = {1{`RANDOM}};
+  _T_1244 = _RAND_9[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_10 = {1{`RANDOM}};
+  _T_1246 = _RAND_10[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_11 = {1{`RANDOM}};
+  _T_1248 = _RAND_11[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_12 = {1{`RANDOM}};
+  _T_1250 = _RAND_12[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_13 = {1{`RANDOM}};
+  _T_1280 = _RAND_13[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_14 = {1{`RANDOM}};
+  _T_1291 = _RAND_14[9:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_15 = {1{`RANDOM}};
+  _T_1312 = _RAND_15[9:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_16 = {1{`RANDOM}};
+  _T_1355 = _RAND_16[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      _T_1172 <= 10'h0;
+    end else begin
+      if (_T_1162) begin
+        if (_T_1176) begin
+          if (_T_1169) begin
+            _T_1172 <= _T_1167;
+          end else begin
+            _T_1172 <= 10'h0;
+          end
+        end else begin
+          _T_1172 <= _T_1175;
+        end
+      end
+    end
+    if (_T_1217) begin
+      _T_1185 <= io_in_a_bits_opcode;
+    end
+    if (_T_1217) begin
+      _T_1187 <= io_in_a_bits_param;
+    end
+    if (_T_1217) begin
+      _T_1189 <= io_in_a_bits_size;
+    end
+    if (_T_1217) begin
+      _T_1191 <= io_in_a_bits_source;
+    end
+    if (_T_1217) begin
+      _T_1193 <= io_in_a_bits_address;
+    end
+    if (reset) begin
+      _T_1227 <= 10'h0;
+    end else begin
+      if (_T_1218) begin
+        if (_T_1231) begin
+          if (_T_1224) begin
+            _T_1227 <= _T_1223;
+          end else begin
+            _T_1227 <= 10'h0;
+          end
+        end else begin
+          _T_1227 <= _T_1230;
+        end
+      end
+    end
+    if (_T_1278) begin
+      _T_1240 <= io_in_d_bits_opcode;
+    end
+    if (_T_1278) begin
+      _T_1242 <= io_in_d_bits_param;
+    end
+    if (_T_1278) begin
+      _T_1244 <= io_in_d_bits_size;
+    end
+    if (_T_1278) begin
+      _T_1246 <= io_in_d_bits_source;
+    end
+    if (_T_1278) begin
+      _T_1248 <= io_in_d_bits_sink;
+    end
+    if (_T_1278) begin
+      _T_1250 <= io_in_d_bits_denied;
+    end
+    if (reset) begin
+      _T_1280 <= 2'h0;
+    end else begin
+      _T_1280 <= _T_1353;
+    end
+    if (reset) begin
+      _T_1291 <= 10'h0;
+    end else begin
+      if (_T_1162) begin
+        if (_T_1295) begin
+          if (_T_1169) begin
+            _T_1291 <= _T_1167;
+          end else begin
+            _T_1291 <= 10'h0;
+          end
+        end else begin
+          _T_1291 <= _T_1294;
+        end
+      end
+    end
+    if (reset) begin
+      _T_1312 <= 10'h0;
+    end else begin
+      if (_T_1218) begin
+        if (_T_1316) begin
+          if (_T_1224) begin
+            _T_1312 <= _T_1223;
+          end else begin
+            _T_1312 <= 10'h0;
+          end
+        end else begin
+          _T_1312 <= _T_1315;
+        end
+      end
+    end
+    if (reset) begin
+      _T_1355 <= 32'h0;
+    end else begin
+      if (_T_1369) begin
+        _T_1355 <= 32'h0;
+      end else begin
+        _T_1355 <= _T_1366;
+      end
+    end
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@4119.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@4120.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@4189.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@4190.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_179) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4284.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_179) begin
+          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4285.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_179) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4291.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_179) begin
+          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4292.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_185) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4298.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_185) begin
+          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4299.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_189) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4306.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_189) begin
+          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4307.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_192) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4313.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_192) begin
+          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4314.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_196) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4321.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_196) begin
+          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4322.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_201) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4330.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_201) begin
+          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4331.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_205) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4338.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_205) begin
+          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4339.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_179) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4434.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_179) begin
+          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4435.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_179) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4441.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_179) begin
+          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4442.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_185) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4448.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_185) begin
+          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4449.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_189) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4456.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_189) begin
+          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4457.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_192) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4463.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_192) begin
+          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4464.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_196) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4471.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_196) begin
+          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4472.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_316) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4479.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_316) begin
+          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4480.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_201) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4488.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_201) begin
+          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4489.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_205) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4496.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_205) begin
+          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4497.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_423) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4600.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_423) begin
+          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4601.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_185) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4607.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_185) begin
+          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4608.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_192) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4614.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_192) begin
+          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4615.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_433) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4622.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_433) begin
+          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4623.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_437) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4630.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_437) begin
+          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4631.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_205) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4638.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_205) begin
+          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4639.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_541) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4744.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_541) begin
+          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4745.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_185) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4751.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_185) begin
+          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4752.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_192) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4758.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_192) begin
+          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4759.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_433) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4766.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_433) begin
+          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4767.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_437) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4774.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_437) begin
+          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4775.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_541) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4880.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_541) begin
+          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4881.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_185) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4887.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_185) begin
+          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4888.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_192) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4894.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_192) begin
+          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4895.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_433) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4902.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_433) begin
+          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4903.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_671) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4912.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_671) begin
+          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4913.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_769) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5016.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_769) begin
+          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5017.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_185) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5023.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_185) begin
+          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5024.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_192) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5030.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_192) begin
+          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5031.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_779) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5038.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_779) begin
+          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5039.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_437) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5046.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_437) begin
+          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5047.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_769) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5150.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_769) begin
+          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5151.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_185) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5157.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_185) begin
+          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5158.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_192) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5164.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_192) begin
+          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5165.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_891) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5172.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_891) begin
+          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5173.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_437) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5180.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_437) begin
+          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5181.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_990) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5281.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_990) begin
+          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5282.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_185) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5288.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_185) begin
+          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5289.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_192) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5295.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_192) begin
+          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5296.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_437) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5303.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_437) begin
+          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5304.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_205) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5311.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_205) begin
+          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5312.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1008) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@5322.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1008) begin
+          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@5323.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_1024) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5339.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_1024) begin
+          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5340.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_1028) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5347.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_1028) begin
+          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5348.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_1032) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5355.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_1032) begin
+          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5356.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_1036) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5363.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_1036) begin
+          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5364.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_1040) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5371.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_1040) begin
+          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5372.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_1024) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5381.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_1024) begin
+          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5382.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_179) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5388.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_179) begin
+          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5389.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_1028) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5396.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_1028) begin
+          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5397.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_1055) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5404.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_1055) begin
+          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5405.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_1059) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5412.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_1059) begin
+          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5413.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_1036) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5420.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_1036) begin
+          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5421.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5429.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5430.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_137 & _T_1024) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5439.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_137 & _T_1024) begin
+          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5440.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_137 & _T_179) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5446.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_137 & _T_179) begin
+          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5447.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_137 & _T_1028) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5454.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_137 & _T_1028) begin
+          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5455.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_137 & _T_1055) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5462.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_137 & _T_1055) begin
+          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5463.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_137 & _T_1059) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5470.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_137 & _T_1059) begin
+          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5471.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_137 & _T_1092) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5479.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_137 & _T_1092) begin
+          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5480.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5488.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5489.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_149 & _T_1024) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5498.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_149 & _T_1024) begin
+          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5499.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_149 & _T_1032) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5506.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_149 & _T_1032) begin
+          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5507.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_149 & _T_1036) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5514.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_149 & _T_1036) begin
+          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5515.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5523.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5524.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_155 & _T_1024) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5533.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_155 & _T_1024) begin
+          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5534.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_155 & _T_1032) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5541.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_155 & _T_1032) begin
+          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5542.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_155 & _T_1092) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5550.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_155 & _T_1092) begin
+          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5551.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5559.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5560.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_161 & _T_1024) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5569.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_161 & _T_1024) begin
+          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5570.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_161 & _T_1032) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5577.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_161 & _T_1032) begin
+          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5578.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_161 & _T_1036) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5585.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_161 & _T_1036) begin
+          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5586.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5594.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5595.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5604.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5605.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5612.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5613.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5620.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5621.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1195 & _T_1199) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5660.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1195 & _T_1199) begin
+          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5661.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1195 & _T_1203) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5668.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1195 & _T_1203) begin
+          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5669.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1195 & _T_1207) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5676.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1195 & _T_1207) begin
+          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5677.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1195 & _T_1211) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5684.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1195 & _T_1211) begin
+          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5685.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1195 & _T_1215) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5692.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1195 & _T_1215) begin
+          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5693.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1252 & _T_1256) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5742.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1252 & _T_1256) begin
+          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5743.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1252 & _T_1260) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5750.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1252 & _T_1260) begin
+          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5751.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1252 & _T_1264) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5758.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1252 & _T_1264) begin
+          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5759.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1252 & _T_1268) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5766.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1252 & _T_1268) begin
+          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5767.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1252 & _T_1272) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5774.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1252 & _T_1272) begin
+          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5775.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1252 & _T_1276) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5782.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1252 & _T_1276) begin
+          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5783.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1327 & _T_1335) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@5860.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1327 & _T_1335) begin
+          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@5861.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1343 & _T_1350) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@5883.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1343 & _T_1350) begin
+          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@5884.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1364) begin
+          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@5904.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1364) begin
+          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@5905.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+endmodule
+module TLXbar_2( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5917.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5918.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5919.4]
+  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  input  [3:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  input  [31:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  output [1:0]  auto_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  output [3:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  output        auto_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  output        auto_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  output        auto_in_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  input         auto_out_6_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  output        auto_out_6_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  output [2:0]  auto_out_6_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  output [2:0]  auto_out_6_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  output [2:0]  auto_out_6_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  output        auto_out_6_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  output [28:0] auto_out_6_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  output [3:0]  auto_out_6_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  output [31:0] auto_out_6_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  output        auto_out_6_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  output        auto_out_6_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  input         auto_out_6_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  input  [2:0]  auto_out_6_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  input  [1:0]  auto_out_6_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  input  [2:0]  auto_out_6_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  input         auto_out_6_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  input         auto_out_6_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  input         auto_out_6_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  input  [31:0] auto_out_6_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  input         auto_out_6_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  input         auto_out_5_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  output        auto_out_5_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  output [2:0]  auto_out_5_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  output [2:0]  auto_out_5_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  output [2:0]  auto_out_5_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  output        auto_out_5_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  output [16:0] auto_out_5_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  output [3:0]  auto_out_5_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  output        auto_out_5_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  output        auto_out_5_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  input         auto_out_5_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  input  [2:0]  auto_out_5_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  input         auto_out_5_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  input  [31:0] auto_out_5_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  input         auto_out_4_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  output        auto_out_4_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  output [2:0]  auto_out_4_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  output [2:0]  auto_out_4_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  output [2:0]  auto_out_4_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  output        auto_out_4_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  output [31:0] auto_out_4_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  output [3:0]  auto_out_4_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  output [31:0] auto_out_4_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  output        auto_out_4_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  output        auto_out_4_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  input         auto_out_4_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  input  [2:0]  auto_out_4_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  input  [1:0]  auto_out_4_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  input  [2:0]  auto_out_4_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  input         auto_out_4_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  input         auto_out_4_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  input         auto_out_4_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  input  [31:0] auto_out_4_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  input         auto_out_4_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  input         auto_out_3_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  output        auto_out_3_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  output [2:0]  auto_out_3_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  output [2:0]  auto_out_3_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  output [2:0]  auto_out_3_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  output        auto_out_3_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  output [11:0] auto_out_3_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  output [3:0]  auto_out_3_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  output [31:0] auto_out_3_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  output        auto_out_3_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  output        auto_out_3_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  input         auto_out_3_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  input  [2:0]  auto_out_3_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  input  [2:0]  auto_out_3_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  input         auto_out_3_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  input  [31:0] auto_out_3_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  input         auto_out_2_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  output        auto_out_2_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  output [2:0]  auto_out_2_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  output [2:0]  auto_out_2_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  output [2:0]  auto_out_2_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  output        auto_out_2_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  output [25:0] auto_out_2_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  output [3:0]  auto_out_2_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  output [31:0] auto_out_2_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  output        auto_out_2_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  output        auto_out_2_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  input         auto_out_2_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  input  [2:0]  auto_out_2_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  input  [2:0]  auto_out_2_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  input         auto_out_2_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  input  [31:0] auto_out_2_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  input         auto_out_1_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  output        auto_out_1_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  output [2:0]  auto_out_1_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  output [2:0]  auto_out_1_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  output [2:0]  auto_out_1_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  output        auto_out_1_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  output [27:0] auto_out_1_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  output [3:0]  auto_out_1_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  output [31:0] auto_out_1_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  output        auto_out_1_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  output        auto_out_1_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  input         auto_out_1_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  input  [2:0]  auto_out_1_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  input  [2:0]  auto_out_1_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  input         auto_out_1_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  input  [31:0] auto_out_1_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  input         auto_out_0_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  output        auto_out_0_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  output [2:0]  auto_out_0_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  output [2:0]  auto_out_0_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  output [3:0]  auto_out_0_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  output        auto_out_0_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  output [29:0] auto_out_0_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  output [3:0]  auto_out_0_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  output [31:0] auto_out_0_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  output        auto_out_0_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  output        auto_out_0_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  input         auto_out_0_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  input  [2:0]  auto_out_0_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  input  [1:0]  auto_out_0_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  input  [3:0]  auto_out_0_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  input         auto_out_0_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  input         auto_out_0_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  input         auto_out_0_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  input  [31:0] auto_out_0_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+  input         auto_out_0_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
+);
+  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@5927.4]
+  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@5927.4]
+  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@5927.4]
+  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@5927.4]
+  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@5927.4]
+  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@5927.4]
+  wire [3:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@5927.4]
+  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@5927.4]
+  wire [31:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@5927.4]
+  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@5927.4]
+  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@5927.4]
+  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@5927.4]
+  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@5927.4]
+  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@5927.4]
+  wire [1:0] TLMonitor_io_in_d_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@5927.4]
+  wire [3:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@5927.4]
+  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@5927.4]
+  wire  TLMonitor_io_in_d_bits_sink; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@5927.4]
+  wire  TLMonitor_io_in_d_bits_denied; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@5927.4]
+  wire  TLMonitor_io_in_d_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@5927.4]
+  reg [9:0] _T_2297; // @[Arbiter.scala 53:30:shc.marmotcaravel.MarmotCaravelConfig.fir@6670.4]
+  reg [31:0] _RAND_0;
+  wire  _T_2298; // @[Arbiter.scala 54:28:shc.marmotcaravel.MarmotCaravelConfig.fir@6671.4]
+  wire [1:0] _T_2303; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@6676.4]
+  wire [1:0] _T_2302; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@6675.4]
+  wire [3:0] _T_2304; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@6677.4]
+  wire [1:0] _T_2300; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@6673.4]
+  wire [2:0] _T_2301; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@6674.4]
+  wire [6:0] _T_2305; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@6678.4]
+  reg [6:0] _T_2313; // @[Arbiter.scala 20:23:shc.marmotcaravel.MarmotCaravelConfig.fir@6689.4]
+  reg [31:0] _RAND_1;
+  wire [6:0] _T_2314; // @[Arbiter.scala 21:30:shc.marmotcaravel.MarmotCaravelConfig.fir@6690.4]
+  wire [6:0] _T_2315; // @[Arbiter.scala 21:28:shc.marmotcaravel.MarmotCaravelConfig.fir@6691.4]
+  wire [13:0] _T_2316; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@6692.4]
+  wire [12:0] _T_2317; // @[package.scala 203:48:shc.marmotcaravel.MarmotCaravelConfig.fir@6693.4]
+  wire [13:0] _GEN_1; // @[package.scala 203:43:shc.marmotcaravel.MarmotCaravelConfig.fir@6694.4]
+  wire [13:0] _T_2318; // @[package.scala 203:43:shc.marmotcaravel.MarmotCaravelConfig.fir@6694.4]
+  wire [11:0] _T_2319; // @[package.scala 203:48:shc.marmotcaravel.MarmotCaravelConfig.fir@6695.4]
+  wire [13:0] _GEN_2; // @[package.scala 203:43:shc.marmotcaravel.MarmotCaravelConfig.fir@6696.4]
+  wire [13:0] _T_2320; // @[package.scala 203:43:shc.marmotcaravel.MarmotCaravelConfig.fir@6696.4]
+  wire [9:0] _T_2321; // @[package.scala 203:48:shc.marmotcaravel.MarmotCaravelConfig.fir@6697.4]
+  wire [13:0] _GEN_3; // @[package.scala 203:43:shc.marmotcaravel.MarmotCaravelConfig.fir@6698.4]
+  wire [13:0] _T_2322; // @[package.scala 203:43:shc.marmotcaravel.MarmotCaravelConfig.fir@6698.4]
+  wire [12:0] _T_2324; // @[Arbiter.scala 22:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6700.4]
+  wire [13:0] _GEN_4; // @[Arbiter.scala 22:66:shc.marmotcaravel.MarmotCaravelConfig.fir@6701.4]
+  wire [13:0] _T_2325; // @[Arbiter.scala 22:66:shc.marmotcaravel.MarmotCaravelConfig.fir@6701.4]
+  wire [13:0] _GEN_5; // @[Arbiter.scala 22:58:shc.marmotcaravel.MarmotCaravelConfig.fir@6702.4]
+  wire [13:0] _T_2326; // @[Arbiter.scala 22:58:shc.marmotcaravel.MarmotCaravelConfig.fir@6702.4]
+  wire [6:0] _T_2327; // @[Arbiter.scala 23:29:shc.marmotcaravel.MarmotCaravelConfig.fir@6703.4]
+  wire [6:0] _T_2328; // @[Arbiter.scala 23:48:shc.marmotcaravel.MarmotCaravelConfig.fir@6704.4]
+  wire [6:0] _T_2329; // @[Arbiter.scala 23:39:shc.marmotcaravel.MarmotCaravelConfig.fir@6705.4]
+  wire [6:0] _T_2330; // @[Arbiter.scala 23:18:shc.marmotcaravel.MarmotCaravelConfig.fir@6706.4]
+  wire  _T_2345; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6724.4]
+  wire  _T_2365; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@6740.4]
+  reg  _T_2488_0; // @[Arbiter.scala 78:26:shc.marmotcaravel.MarmotCaravelConfig.fir@6846.4]
+  reg [31:0] _RAND_2;
+  wire  _T_2514_0; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@6847.4]
+  wire [4:0] _T_2585; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6891.4]
+  wire [4:0] _T_2584; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6890.4]
+  wire [9:0] _T_2586; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6892.4]
+  wire [1:0] _T_2582; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6888.4]
+  wire [32:0] _T_2581; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6887.4]
+  wire [34:0] _T_2583; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6889.4]
+  wire [44:0] _T_2587; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6893.4]
+  wire [44:0] _T_2588; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6894.4]
+  wire  _T_2346; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6725.4]
+  wire  _T_2366; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@6741.4]
+  reg  _T_2488_1; // @[Arbiter.scala 78:26:shc.marmotcaravel.MarmotCaravelConfig.fir@6846.4]
+  reg [31:0] _RAND_3;
+  wire  _T_2514_1; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@6847.4]
+  wire [4:0] _T_2593; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6899.4]
+  wire [3:0] out_1_d_bits_size; // @[Xbar.scala 154:19:shc.marmotcaravel.MarmotCaravelConfig.fir@6000.4 Xbar.scala 180:18:shc.marmotcaravel.MarmotCaravelConfig.fir@6017.4]
+  wire [4:0] _T_2592; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6898.4]
+  wire [9:0] _T_2594; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6900.4]
+  wire [32:0] _T_2589; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6895.4]
+  wire [34:0] _T_2591; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6897.4]
+  wire [44:0] _T_2595; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6901.4]
+  wire [44:0] _T_2596; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6902.4]
+  wire [44:0] _T_2637; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6943.4]
+  wire  _T_2347; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6726.4]
+  wire  _T_2367; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@6742.4]
+  reg  _T_2488_2; // @[Arbiter.scala 78:26:shc.marmotcaravel.MarmotCaravelConfig.fir@6846.4]
+  reg [31:0] _RAND_4;
+  wire  _T_2514_2; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@6847.4]
+  wire [4:0] _T_2601; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6907.4]
+  wire [3:0] out_2_d_bits_size; // @[Xbar.scala 154:19:shc.marmotcaravel.MarmotCaravelConfig.fir@6000.4 Xbar.scala 180:18:shc.marmotcaravel.MarmotCaravelConfig.fir@6027.4]
+  wire [4:0] _T_2600; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6906.4]
+  wire [9:0] _T_2602; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6908.4]
+  wire [32:0] _T_2597; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6903.4]
+  wire [34:0] _T_2599; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6905.4]
+  wire [44:0] _T_2603; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6909.4]
+  wire [44:0] _T_2604; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6910.4]
+  wire [44:0] _T_2638; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6944.4]
+  wire  _T_2348; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6727.4]
+  wire  _T_2368; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@6743.4]
+  reg  _T_2488_3; // @[Arbiter.scala 78:26:shc.marmotcaravel.MarmotCaravelConfig.fir@6846.4]
+  reg [31:0] _RAND_5;
+  wire  _T_2514_3; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@6847.4]
+  wire [4:0] _T_2609; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6915.4]
+  wire [3:0] out_3_d_bits_size; // @[Xbar.scala 154:19:shc.marmotcaravel.MarmotCaravelConfig.fir@6000.4 Xbar.scala 180:18:shc.marmotcaravel.MarmotCaravelConfig.fir@6037.4]
+  wire [4:0] _T_2608; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6914.4]
+  wire [9:0] _T_2610; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6916.4]
+  wire [32:0] _T_2605; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6911.4]
+  wire [34:0] _T_2607; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6913.4]
+  wire [44:0] _T_2611; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6917.4]
+  wire [44:0] _T_2612; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6918.4]
+  wire [44:0] _T_2639; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6945.4]
+  wire  _T_2349; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6728.4]
+  wire  _T_2369; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@6744.4]
+  reg  _T_2488_4; // @[Arbiter.scala 78:26:shc.marmotcaravel.MarmotCaravelConfig.fir@6846.4]
+  reg [31:0] _RAND_6;
+  wire  _T_2514_4; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@6847.4]
+  wire [4:0] _T_2617; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6923.4]
+  wire [3:0] out_4_d_bits_size; // @[Xbar.scala 154:19:shc.marmotcaravel.MarmotCaravelConfig.fir@6000.4 Xbar.scala 180:18:shc.marmotcaravel.MarmotCaravelConfig.fir@6047.4]
+  wire [4:0] _T_2616; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6922.4]
+  wire [9:0] _T_2618; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6924.4]
+  wire [1:0] _T_2614; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6920.4]
+  wire [32:0] _T_2613; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6919.4]
+  wire [34:0] _T_2615; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6921.4]
+  wire [44:0] _T_2619; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6925.4]
+  wire [44:0] _T_2620; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6926.4]
+  wire [44:0] _T_2640; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6946.4]
+  wire  _T_2350; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6729.4]
+  wire  _T_2370; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@6745.4]
+  reg  _T_2488_5; // @[Arbiter.scala 78:26:shc.marmotcaravel.MarmotCaravelConfig.fir@6846.4]
+  reg [31:0] _RAND_7;
+  wire  _T_2514_5; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@6847.4]
+  wire [3:0] out_5_d_bits_size; // @[Xbar.scala 154:19:shc.marmotcaravel.MarmotCaravelConfig.fir@6000.4 Xbar.scala 180:18:shc.marmotcaravel.MarmotCaravelConfig.fir@6057.4]
+  wire [4:0] _T_2624; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6930.4]
+  wire [9:0] _T_2626; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6932.4]
+  wire [32:0] _T_2621; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6927.4]
+  wire [34:0] _T_2623; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6929.4]
+  wire [44:0] _T_2627; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6933.4]
+  wire [44:0] _T_2628; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6934.4]
+  wire [44:0] _T_2641; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6947.4]
+  wire  _T_2351; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6730.4]
+  wire  _T_2371; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@6746.4]
+  reg  _T_2488_6; // @[Arbiter.scala 78:26:shc.marmotcaravel.MarmotCaravelConfig.fir@6846.4]
+  reg [31:0] _RAND_8;
+  wire  _T_2514_6; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@6847.4]
+  wire [4:0] _T_2633; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6939.4]
+  wire [3:0] out_6_d_bits_size; // @[Xbar.scala 154:19:shc.marmotcaravel.MarmotCaravelConfig.fir@6000.4 Xbar.scala 180:18:shc.marmotcaravel.MarmotCaravelConfig.fir@6067.4]
+  wire [4:0] _T_2632; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6938.4]
+  wire [9:0] _T_2634; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6940.4]
+  wire [1:0] _T_2630; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6936.4]
+  wire [32:0] _T_2629; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6935.4]
+  wire [34:0] _T_2631; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6937.4]
+  wire [44:0] _T_2635; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6941.4]
+  wire [44:0] _T_2636; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6942.4]
+  wire [44:0] _T_2642; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6948.4]
+  wire [31:0] _T_1450; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@6072.4]
+  wire [32:0] _T_1451; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6073.4]
+  wire [32:0] _T_1452; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6074.4]
+  wire [32:0] _T_1453; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6075.4]
+  wire  _T_1454; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@6076.4]
+  wire [31:0] _T_1455; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@6077.4]
+  wire [32:0] _T_1456; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6078.4]
+  wire [32:0] _T_1457; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6079.4]
+  wire [32:0] _T_1458; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6080.4]
+  wire  _T_1459; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@6081.4]
+  wire [31:0] _T_1460; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@6082.4]
+  wire [32:0] _T_1461; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6083.4]
+  wire [32:0] _T_1462; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6084.4]
+  wire [32:0] _T_1463; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6085.4]
+  wire  _T_1464; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@6086.4]
+  wire [31:0] _T_1465; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@6087.4]
+  wire [32:0] _T_1466; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6088.4]
+  wire [32:0] _T_1467; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6089.4]
+  wire [32:0] _T_1468; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6090.4]
+  wire  _T_1469; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@6091.4]
+  wire  _T_1470; // @[Xbar.scala 217:92:shc.marmotcaravel.MarmotCaravelConfig.fir@6092.4]
+  wire  _T_1471; // @[Xbar.scala 217:92:shc.marmotcaravel.MarmotCaravelConfig.fir@6093.4]
+  wire  requestAIO_0_0; // @[Xbar.scala 217:92:shc.marmotcaravel.MarmotCaravelConfig.fir@6094.4]
+  wire [31:0] _T_1473; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@6096.4]
+  wire [32:0] _T_1474; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6097.4]
+  wire [32:0] _T_1475; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6098.4]
+  wire [32:0] _T_1476; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6099.4]
+  wire  requestAIO_0_1; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@6100.4]
+  wire [31:0] _T_1478; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@6102.4]
+  wire [32:0] _T_1479; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6103.4]
+  wire [32:0] _T_1480; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6104.4]
+  wire [32:0] _T_1481; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6105.4]
+  wire  requestAIO_0_2; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@6106.4]
+  wire [32:0] _T_1484; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6109.4]
+  wire [32:0] _T_1485; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6110.4]
+  wire [32:0] _T_1486; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6111.4]
+  wire  requestAIO_0_3; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@6112.4]
+  wire [31:0] _T_1488; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@6114.4]
+  wire [32:0] _T_1489; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6115.4]
+  wire [32:0] _T_1490; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6116.4]
+  wire [32:0] _T_1491; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6117.4]
+  wire  _T_1492; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@6118.4]
+  wire [31:0] _T_1493; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@6119.4]
+  wire [32:0] _T_1494; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6120.4]
+  wire [32:0] _T_1495; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6121.4]
+  wire [32:0] _T_1496; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6122.4]
+  wire  _T_1497; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@6123.4]
+  wire  requestAIO_0_4; // @[Xbar.scala 217:92:shc.marmotcaravel.MarmotCaravelConfig.fir@6124.4]
+  wire [31:0] _T_1499; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@6126.4]
+  wire [32:0] _T_1500; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6127.4]
+  wire [32:0] _T_1501; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6128.4]
+  wire [32:0] _T_1502; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6129.4]
+  wire  requestAIO_0_5; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@6130.4]
+  wire [31:0] _T_1504; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@6132.4]
+  wire [32:0] _T_1505; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6133.4]
+  wire [32:0] _T_1506; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6134.4]
+  wire [32:0] _T_1507; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6135.4]
+  wire  requestAIO_0_6; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@6136.4]
+  wire [26:0] _T_1705; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@6364.4]
+  wire [11:0] _T_1706; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@6365.4]
+  wire [11:0] _T_1707; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@6366.4]
+  wire [9:0] _T_1708; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@6367.4]
+  wire  _T_1709; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@6368.4]
+  wire [9:0] beatsDO_0; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@6369.4]
+  wire [20:0] _T_1711; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@6371.4]
+  wire [5:0] _T_1712; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@6372.4]
+  wire [5:0] _T_1713; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@6373.4]
+  wire [3:0] _T_1714; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@6374.4]
+  wire  _T_1715; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@6375.4]
+  wire [3:0] beatsDO_1; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@6376.4]
+  wire [20:0] _T_1717; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@6378.4]
+  wire [5:0] _T_1718; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@6379.4]
+  wire [5:0] _T_1719; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@6380.4]
+  wire [3:0] _T_1720; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@6381.4]
+  wire  _T_1721; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@6382.4]
+  wire [3:0] beatsDO_2; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@6383.4]
+  wire [20:0] _T_1723; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@6385.4]
+  wire [5:0] _T_1724; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@6386.4]
+  wire [5:0] _T_1725; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@6387.4]
+  wire [3:0] _T_1726; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@6388.4]
+  wire  _T_1727; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@6389.4]
+  wire [3:0] beatsDO_3; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@6390.4]
+  wire [20:0] _T_1729; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@6392.4]
+  wire [5:0] _T_1730; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@6393.4]
+  wire [5:0] _T_1731; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@6394.4]
+  wire [3:0] _T_1732; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@6395.4]
+  wire  _T_1733; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@6396.4]
+  wire [3:0] beatsDO_4; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@6397.4]
+  wire [20:0] _T_1735; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@6399.4]
+  wire [5:0] _T_1736; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@6400.4]
+  wire [5:0] _T_1737; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@6401.4]
+  wire [3:0] beatsDO_5; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@6402.4]
+  wire [20:0] _T_1741; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@6406.4]
+  wire [5:0] _T_1742; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@6407.4]
+  wire [5:0] _T_1743; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@6408.4]
+  wire [3:0] _T_1744; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@6409.4]
+  wire  _T_1745; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@6410.4]
+  wire [3:0] beatsDO_6; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@6411.4]
+  wire  _T_1821; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6442.4]
+  wire  _T_1822; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6443.4]
+  wire  _T_1823; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6444.4]
+  wire  _T_1824; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6445.4]
+  wire  _T_1825; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6446.4]
+  wire  _T_1826; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6447.4]
+  wire  _T_1827; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6448.4]
+  wire  _T_1828; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6449.4]
+  wire  _T_1829; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6450.4]
+  wire  _T_1830; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6451.4]
+  wire  _T_1831; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6452.4]
+  wire  _T_1832; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6453.4]
+  wire  _T_2299; // @[Arbiter.scala 55:24:shc.marmotcaravel.MarmotCaravelConfig.fir@6672.4]
+  wire  _T_2307; // @[Arbiter.scala 19:19:shc.marmotcaravel.MarmotCaravelConfig.fir@6680.4]
+  wire  _T_2309; // @[Arbiter.scala 19:12:shc.marmotcaravel.MarmotCaravelConfig.fir@6682.4]
+  wire  _T_2310; // @[Arbiter.scala 19:12:shc.marmotcaravel.MarmotCaravelConfig.fir@6683.4]
+  wire  _T_2331; // @[Arbiter.scala 24:27:shc.marmotcaravel.MarmotCaravelConfig.fir@6707.4]
+  wire  _T_2332; // @[Arbiter.scala 24:18:shc.marmotcaravel.MarmotCaravelConfig.fir@6708.4]
+  wire [6:0] _T_2333; // @[Arbiter.scala 25:29:shc.marmotcaravel.MarmotCaravelConfig.fir@6710.6]
+  wire [7:0] _GEN_6; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@6711.6]
+  wire [7:0] _T_2334; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@6711.6]
+  wire [6:0] _T_2335; // @[package.scala 194:53:shc.marmotcaravel.MarmotCaravelConfig.fir@6712.6]
+  wire [6:0] _T_2336; // @[package.scala 194:43:shc.marmotcaravel.MarmotCaravelConfig.fir@6713.6]
+  wire [8:0] _GEN_7; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@6714.6]
+  wire [8:0] _T_2337; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@6714.6]
+  wire [6:0] _T_2338; // @[package.scala 194:53:shc.marmotcaravel.MarmotCaravelConfig.fir@6715.6]
+  wire [6:0] _T_2339; // @[package.scala 194:43:shc.marmotcaravel.MarmotCaravelConfig.fir@6716.6]
+  wire [10:0] _GEN_8; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@6717.6]
+  wire [10:0] _T_2340; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@6717.6]
+  wire [6:0] _T_2341; // @[package.scala 194:53:shc.marmotcaravel.MarmotCaravelConfig.fir@6718.6]
+  wire [6:0] _T_2342; // @[package.scala 194:43:shc.marmotcaravel.MarmotCaravelConfig.fir@6719.6]
+  wire  _T_2386; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6757.4]
+  wire  _T_2387; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6758.4]
+  wire  _T_2388; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6759.4]
+  wire  _T_2389; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6760.4]
+  wire  _T_2390; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6761.4]
+  wire  _T_2391; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6762.4]
+  wire  _T_2393; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@6764.4]
+  wire  _T_2396; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@6767.4]
+  wire  _T_2397; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@6768.4]
+  wire  _T_2398; // @[Arbiter.scala 68:56:shc.marmotcaravel.MarmotCaravelConfig.fir@6769.4]
+  wire  _T_2399; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@6770.4]
+  wire  _T_2400; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@6771.4]
+  wire  _T_2401; // @[Arbiter.scala 68:56:shc.marmotcaravel.MarmotCaravelConfig.fir@6772.4]
+  wire  _T_2402; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@6773.4]
+  wire  _T_2403; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@6774.4]
+  wire  _T_2404; // @[Arbiter.scala 68:56:shc.marmotcaravel.MarmotCaravelConfig.fir@6775.4]
+  wire  _T_2405; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@6776.4]
+  wire  _T_2406; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@6777.4]
+  wire  _T_2407; // @[Arbiter.scala 68:56:shc.marmotcaravel.MarmotCaravelConfig.fir@6778.4]
+  wire  _T_2408; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@6779.4]
+  wire  _T_2409; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@6780.4]
+  wire  _T_2410; // @[Arbiter.scala 68:56:shc.marmotcaravel.MarmotCaravelConfig.fir@6781.4]
+  wire  _T_2411; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@6782.4]
+  wire  _T_2412; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@6783.4]
+  wire  _T_2414; // @[Arbiter.scala 68:77:shc.marmotcaravel.MarmotCaravelConfig.fir@6785.4]
+  wire  _T_2415; // @[Arbiter.scala 68:77:shc.marmotcaravel.MarmotCaravelConfig.fir@6786.4]
+  wire  _T_2416; // @[Arbiter.scala 68:77:shc.marmotcaravel.MarmotCaravelConfig.fir@6787.4]
+  wire  _T_2417; // @[Arbiter.scala 68:77:shc.marmotcaravel.MarmotCaravelConfig.fir@6788.4]
+  wire  _T_2418; // @[Arbiter.scala 68:77:shc.marmotcaravel.MarmotCaravelConfig.fir@6789.4]
+  wire  _T_2420; // @[Arbiter.scala 68:13:shc.marmotcaravel.MarmotCaravelConfig.fir@6791.4]
+  wire  _T_2421; // @[Arbiter.scala 68:13:shc.marmotcaravel.MarmotCaravelConfig.fir@6792.4]
+  wire  _T_2422; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@6797.4]
+  wire  _T_2423; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@6798.4]
+  wire  _T_2424; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@6799.4]
+  wire  _T_2425; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@6800.4]
+  wire  _T_2426; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@6801.4]
+  wire  _T_2427; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@6802.4]
+  wire  _T_2428; // @[Arbiter.scala 70:15:shc.marmotcaravel.MarmotCaravelConfig.fir@6803.4]
+  wire  _T_2435; // @[Arbiter.scala 70:36:shc.marmotcaravel.MarmotCaravelConfig.fir@6810.4]
+  wire  _T_2437; // @[Arbiter.scala 70:14:shc.marmotcaravel.MarmotCaravelConfig.fir@6812.4]
+  wire  _T_2438; // @[Arbiter.scala 70:14:shc.marmotcaravel.MarmotCaravelConfig.fir@6813.4]
+  wire [9:0] _T_2439; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@6818.4]
+  wire [3:0] _T_2440; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@6819.4]
+  wire [3:0] _T_2441; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@6820.4]
+  wire [3:0] _T_2442; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@6821.4]
+  wire [3:0] _T_2443; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@6822.4]
+  wire [3:0] _T_2444; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@6823.4]
+  wire [3:0] _T_2445; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@6824.4]
+  wire [9:0] _GEN_9; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@6825.4]
+  wire [9:0] _T_2446; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@6825.4]
+  wire [9:0] _GEN_10; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@6826.4]
+  wire [9:0] _T_2447; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@6826.4]
+  wire [9:0] _GEN_11; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@6827.4]
+  wire [9:0] _T_2448; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@6827.4]
+  wire [9:0] _GEN_12; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@6828.4]
+  wire [9:0] _T_2449; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@6828.4]
+  wire [9:0] _GEN_13; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@6829.4]
+  wire [9:0] _T_2450; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@6829.4]
+  wire [9:0] _GEN_14; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@6830.4]
+  wire [9:0] _T_2451; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@6830.4]
+  wire  _T_2564; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6870.4]
+  wire  _T_2565; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6871.4]
+  wire  _T_2571; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6877.4]
+  wire  _T_2566; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6872.4]
+  wire  _T_2572; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6878.4]
+  wire  _T_2567; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6873.4]
+  wire  _T_2573; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6879.4]
+  wire  _T_2568; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6874.4]
+  wire  _T_2574; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6880.4]
+  wire  _T_2569; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6875.4]
+  wire  _T_2575; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6881.4]
+  wire  _T_2570; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6876.4]
+  wire  _T_2576; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6882.4]
+  wire  in_0_d_valid; // @[Arbiter.scala 86:24:shc.marmotcaravel.MarmotCaravelConfig.fir@6885.4]
+  wire  _T_2452; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@6831.4]
+  wire [9:0] _GEN_15; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6832.4]
+  wire [10:0] _T_2453; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6832.4]
+  wire [10:0] _T_2454; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6833.4]
+  wire [9:0] _T_2455; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6834.4]
+  wire  _T_2532_0; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@6849.4]
+  wire  _T_2532_1; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@6849.4]
+  wire  _T_2532_2; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@6849.4]
+  wire  _T_2532_3; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@6849.4]
+  wire  _T_2532_4; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@6849.4]
+  wire  _T_2532_5; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@6849.4]
+  wire  _T_2532_6; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@6849.4]
+  TLMonitor_2 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@5927.4]
+    .clock(TLMonitor_clock),
+    .reset(TLMonitor_reset),
+    .io_in_a_ready(TLMonitor_io_in_a_ready),
+    .io_in_a_valid(TLMonitor_io_in_a_valid),
+    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
+    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
+    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
+    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
+    .io_in_d_ready(TLMonitor_io_in_d_ready),
+    .io_in_d_valid(TLMonitor_io_in_d_valid),
+    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
+    .io_in_d_bits_param(TLMonitor_io_in_d_bits_param),
+    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
+    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source),
+    .io_in_d_bits_sink(TLMonitor_io_in_d_bits_sink),
+    .io_in_d_bits_denied(TLMonitor_io_in_d_bits_denied),
+    .io_in_d_bits_corrupt(TLMonitor_io_in_d_bits_corrupt)
+  );
+  assign _T_2298 = _T_2297 == 10'h0; // @[Arbiter.scala 54:28:shc.marmotcaravel.MarmotCaravelConfig.fir@6671.4]
+  assign _T_2303 = {auto_out_6_d_valid,auto_out_5_d_valid}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@6676.4]
+  assign _T_2302 = {auto_out_4_d_valid,auto_out_3_d_valid}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@6675.4]
+  assign _T_2304 = {_T_2303,_T_2302}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@6677.4]
+  assign _T_2300 = {auto_out_2_d_valid,auto_out_1_d_valid}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@6673.4]
+  assign _T_2301 = {_T_2300,auto_out_0_d_valid}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@6674.4]
+  assign _T_2305 = {_T_2304,_T_2301}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@6678.4]
+  assign _T_2314 = ~ _T_2313; // @[Arbiter.scala 21:30:shc.marmotcaravel.MarmotCaravelConfig.fir@6690.4]
+  assign _T_2315 = _T_2305 & _T_2314; // @[Arbiter.scala 21:28:shc.marmotcaravel.MarmotCaravelConfig.fir@6691.4]
+  assign _T_2316 = {_T_2315,_T_2305}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@6692.4]
+  assign _T_2317 = _T_2316[13:1]; // @[package.scala 203:48:shc.marmotcaravel.MarmotCaravelConfig.fir@6693.4]
+  assign _GEN_1 = {{1'd0}, _T_2317}; // @[package.scala 203:43:shc.marmotcaravel.MarmotCaravelConfig.fir@6694.4]
+  assign _T_2318 = _T_2316 | _GEN_1; // @[package.scala 203:43:shc.marmotcaravel.MarmotCaravelConfig.fir@6694.4]
+  assign _T_2319 = _T_2318[13:2]; // @[package.scala 203:48:shc.marmotcaravel.MarmotCaravelConfig.fir@6695.4]
+  assign _GEN_2 = {{2'd0}, _T_2319}; // @[package.scala 203:43:shc.marmotcaravel.MarmotCaravelConfig.fir@6696.4]
+  assign _T_2320 = _T_2318 | _GEN_2; // @[package.scala 203:43:shc.marmotcaravel.MarmotCaravelConfig.fir@6696.4]
+  assign _T_2321 = _T_2320[13:4]; // @[package.scala 203:48:shc.marmotcaravel.MarmotCaravelConfig.fir@6697.4]
+  assign _GEN_3 = {{4'd0}, _T_2321}; // @[package.scala 203:43:shc.marmotcaravel.MarmotCaravelConfig.fir@6698.4]
+  assign _T_2322 = _T_2320 | _GEN_3; // @[package.scala 203:43:shc.marmotcaravel.MarmotCaravelConfig.fir@6698.4]
+  assign _T_2324 = _T_2322[13:1]; // @[Arbiter.scala 22:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6700.4]
+  assign _GEN_4 = {{7'd0}, _T_2313}; // @[Arbiter.scala 22:66:shc.marmotcaravel.MarmotCaravelConfig.fir@6701.4]
+  assign _T_2325 = _GEN_4 << 7; // @[Arbiter.scala 22:66:shc.marmotcaravel.MarmotCaravelConfig.fir@6701.4]
+  assign _GEN_5 = {{1'd0}, _T_2324}; // @[Arbiter.scala 22:58:shc.marmotcaravel.MarmotCaravelConfig.fir@6702.4]
+  assign _T_2326 = _GEN_5 | _T_2325; // @[Arbiter.scala 22:58:shc.marmotcaravel.MarmotCaravelConfig.fir@6702.4]
+  assign _T_2327 = _T_2326[13:7]; // @[Arbiter.scala 23:29:shc.marmotcaravel.MarmotCaravelConfig.fir@6703.4]
+  assign _T_2328 = _T_2326[6:0]; // @[Arbiter.scala 23:48:shc.marmotcaravel.MarmotCaravelConfig.fir@6704.4]
+  assign _T_2329 = _T_2327 & _T_2328; // @[Arbiter.scala 23:39:shc.marmotcaravel.MarmotCaravelConfig.fir@6705.4]
+  assign _T_2330 = ~ _T_2329; // @[Arbiter.scala 23:18:shc.marmotcaravel.MarmotCaravelConfig.fir@6706.4]
+  assign _T_2345 = _T_2330[0]; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6724.4]
+  assign _T_2365 = _T_2345 & auto_out_0_d_valid; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@6740.4]
+  assign _T_2514_0 = _T_2298 ? _T_2365 : _T_2488_0; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@6847.4]
+  assign _T_2585 = {auto_out_0_d_bits_opcode,auto_out_0_d_bits_param}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6891.4]
+  assign _T_2584 = {auto_out_0_d_bits_size,auto_out_0_d_bits_source}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6890.4]
+  assign _T_2586 = {_T_2585,_T_2584}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6892.4]
+  assign _T_2582 = {auto_out_0_d_bits_sink,auto_out_0_d_bits_denied}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6888.4]
+  assign _T_2581 = {auto_out_0_d_bits_data,auto_out_0_d_bits_corrupt}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6887.4]
+  assign _T_2583 = {_T_2582,_T_2581}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6889.4]
+  assign _T_2587 = {_T_2586,_T_2583}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6893.4]
+  assign _T_2588 = _T_2514_0 ? _T_2587 : 45'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6894.4]
+  assign _T_2346 = _T_2330[1]; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6725.4]
+  assign _T_2366 = _T_2346 & auto_out_1_d_valid; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@6741.4]
+  assign _T_2514_1 = _T_2298 ? _T_2366 : _T_2488_1; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@6847.4]
+  assign _T_2593 = {auto_out_1_d_bits_opcode,2'h0}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6899.4]
+  assign out_1_d_bits_size = {{1'd0}, auto_out_1_d_bits_size}; // @[Xbar.scala 154:19:shc.marmotcaravel.MarmotCaravelConfig.fir@6000.4 Xbar.scala 180:18:shc.marmotcaravel.MarmotCaravelConfig.fir@6017.4]
+  assign _T_2592 = {out_1_d_bits_size,auto_out_1_d_bits_source}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6898.4]
+  assign _T_2594 = {_T_2593,_T_2592}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6900.4]
+  assign _T_2589 = {auto_out_1_d_bits_data,1'h0}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6895.4]
+  assign _T_2591 = {2'h0,_T_2589}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6897.4]
+  assign _T_2595 = {_T_2594,_T_2591}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6901.4]
+  assign _T_2596 = _T_2514_1 ? _T_2595 : 45'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6902.4]
+  assign _T_2637 = _T_2588 | _T_2596; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6943.4]
+  assign _T_2347 = _T_2330[2]; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6726.4]
+  assign _T_2367 = _T_2347 & auto_out_2_d_valid; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@6742.4]
+  assign _T_2514_2 = _T_2298 ? _T_2367 : _T_2488_2; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@6847.4]
+  assign _T_2601 = {auto_out_2_d_bits_opcode,2'h0}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6907.4]
+  assign out_2_d_bits_size = {{1'd0}, auto_out_2_d_bits_size}; // @[Xbar.scala 154:19:shc.marmotcaravel.MarmotCaravelConfig.fir@6000.4 Xbar.scala 180:18:shc.marmotcaravel.MarmotCaravelConfig.fir@6027.4]
+  assign _T_2600 = {out_2_d_bits_size,auto_out_2_d_bits_source}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6906.4]
+  assign _T_2602 = {_T_2601,_T_2600}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6908.4]
+  assign _T_2597 = {auto_out_2_d_bits_data,1'h0}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6903.4]
+  assign _T_2599 = {2'h0,_T_2597}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6905.4]
+  assign _T_2603 = {_T_2602,_T_2599}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6909.4]
+  assign _T_2604 = _T_2514_2 ? _T_2603 : 45'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6910.4]
+  assign _T_2638 = _T_2637 | _T_2604; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6944.4]
+  assign _T_2348 = _T_2330[3]; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6727.4]
+  assign _T_2368 = _T_2348 & auto_out_3_d_valid; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@6743.4]
+  assign _T_2514_3 = _T_2298 ? _T_2368 : _T_2488_3; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@6847.4]
+  assign _T_2609 = {auto_out_3_d_bits_opcode,2'h0}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6915.4]
+  assign out_3_d_bits_size = {{1'd0}, auto_out_3_d_bits_size}; // @[Xbar.scala 154:19:shc.marmotcaravel.MarmotCaravelConfig.fir@6000.4 Xbar.scala 180:18:shc.marmotcaravel.MarmotCaravelConfig.fir@6037.4]
+  assign _T_2608 = {out_3_d_bits_size,auto_out_3_d_bits_source}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6914.4]
+  assign _T_2610 = {_T_2609,_T_2608}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6916.4]
+  assign _T_2605 = {auto_out_3_d_bits_data,1'h0}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6911.4]
+  assign _T_2607 = {2'h0,_T_2605}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6913.4]
+  assign _T_2611 = {_T_2610,_T_2607}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6917.4]
+  assign _T_2612 = _T_2514_3 ? _T_2611 : 45'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6918.4]
+  assign _T_2639 = _T_2638 | _T_2612; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6945.4]
+  assign _T_2349 = _T_2330[4]; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6728.4]
+  assign _T_2369 = _T_2349 & auto_out_4_d_valid; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@6744.4]
+  assign _T_2514_4 = _T_2298 ? _T_2369 : _T_2488_4; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@6847.4]
+  assign _T_2617 = {auto_out_4_d_bits_opcode,auto_out_4_d_bits_param}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6923.4]
+  assign out_4_d_bits_size = {{1'd0}, auto_out_4_d_bits_size}; // @[Xbar.scala 154:19:shc.marmotcaravel.MarmotCaravelConfig.fir@6000.4 Xbar.scala 180:18:shc.marmotcaravel.MarmotCaravelConfig.fir@6047.4]
+  assign _T_2616 = {out_4_d_bits_size,auto_out_4_d_bits_source}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6922.4]
+  assign _T_2618 = {_T_2617,_T_2616}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6924.4]
+  assign _T_2614 = {auto_out_4_d_bits_sink,auto_out_4_d_bits_denied}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6920.4]
+  assign _T_2613 = {auto_out_4_d_bits_data,auto_out_4_d_bits_corrupt}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6919.4]
+  assign _T_2615 = {_T_2614,_T_2613}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6921.4]
+  assign _T_2619 = {_T_2618,_T_2615}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6925.4]
+  assign _T_2620 = _T_2514_4 ? _T_2619 : 45'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6926.4]
+  assign _T_2640 = _T_2639 | _T_2620; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6946.4]
+  assign _T_2350 = _T_2330[5]; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6729.4]
+  assign _T_2370 = _T_2350 & auto_out_5_d_valid; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@6745.4]
+  assign _T_2514_5 = _T_2298 ? _T_2370 : _T_2488_5; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@6847.4]
+  assign out_5_d_bits_size = {{1'd0}, auto_out_5_d_bits_size}; // @[Xbar.scala 154:19:shc.marmotcaravel.MarmotCaravelConfig.fir@6000.4 Xbar.scala 180:18:shc.marmotcaravel.MarmotCaravelConfig.fir@6057.4]
+  assign _T_2624 = {out_5_d_bits_size,auto_out_5_d_bits_source}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6930.4]
+  assign _T_2626 = {5'h4,_T_2624}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6932.4]
+  assign _T_2621 = {auto_out_5_d_bits_data,1'h0}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6927.4]
+  assign _T_2623 = {2'h0,_T_2621}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6929.4]
+  assign _T_2627 = {_T_2626,_T_2623}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6933.4]
+  assign _T_2628 = _T_2514_5 ? _T_2627 : 45'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6934.4]
+  assign _T_2641 = _T_2640 | _T_2628; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6947.4]
+  assign _T_2351 = _T_2330[6]; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6730.4]
+  assign _T_2371 = _T_2351 & auto_out_6_d_valid; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@6746.4]
+  assign _T_2514_6 = _T_2298 ? _T_2371 : _T_2488_6; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@6847.4]
+  assign _T_2633 = {auto_out_6_d_bits_opcode,auto_out_6_d_bits_param}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6939.4]
+  assign out_6_d_bits_size = {{1'd0}, auto_out_6_d_bits_size}; // @[Xbar.scala 154:19:shc.marmotcaravel.MarmotCaravelConfig.fir@6000.4 Xbar.scala 180:18:shc.marmotcaravel.MarmotCaravelConfig.fir@6067.4]
+  assign _T_2632 = {out_6_d_bits_size,auto_out_6_d_bits_source}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6938.4]
+  assign _T_2634 = {_T_2633,_T_2632}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6940.4]
+  assign _T_2630 = {auto_out_6_d_bits_sink,auto_out_6_d_bits_denied}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6936.4]
+  assign _T_2629 = {auto_out_6_d_bits_data,auto_out_6_d_bits_corrupt}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6935.4]
+  assign _T_2631 = {_T_2630,_T_2629}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6937.4]
+  assign _T_2635 = {_T_2634,_T_2631}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6941.4]
+  assign _T_2636 = _T_2514_6 ? _T_2635 : 45'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6942.4]
+  assign _T_2642 = _T_2641 | _T_2636; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6948.4]
+  assign _T_1450 = auto_in_a_bits_address ^ 32'h1000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@6072.4]
+  assign _T_1451 = {1'b0,$signed(_T_1450)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6073.4]
+  assign _T_1452 = $signed(_T_1451) & $signed(33'sheff9d000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6074.4]
+  assign _T_1453 = $signed(_T_1452); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6075.4]
+  assign _T_1454 = $signed(_T_1453) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@6076.4]
+  assign _T_1455 = auto_in_a_bits_address ^ 32'h10010000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@6077.4]
+  assign _T_1456 = {1'b0,$signed(_T_1455)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6078.4]
+  assign _T_1457 = $signed(_T_1456) & $signed(33'shfff9c000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6079.4]
+  assign _T_1458 = $signed(_T_1457); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6080.4]
+  assign _T_1459 = $signed(_T_1458) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@6081.4]
+  assign _T_1460 = auto_in_a_bits_address ^ 32'h10004000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@6082.4]
+  assign _T_1461 = {1'b0,$signed(_T_1460)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6083.4]
+  assign _T_1462 = $signed(_T_1461) & $signed(33'shfff8d000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6084.4]
+  assign _T_1463 = $signed(_T_1462); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6085.4]
+  assign _T_1464 = $signed(_T_1463) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@6086.4]
+  assign _T_1465 = auto_in_a_bits_address ^ 32'h20000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@6087.4]
+  assign _T_1466 = {1'b0,$signed(_T_1465)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6088.4]
+  assign _T_1467 = $signed(_T_1466) & $signed(33'she0000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6089.4]
+  assign _T_1468 = $signed(_T_1467); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6090.4]
+  assign _T_1469 = $signed(_T_1468) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@6091.4]
+  assign _T_1470 = _T_1454 | _T_1459; // @[Xbar.scala 217:92:shc.marmotcaravel.MarmotCaravelConfig.fir@6092.4]
+  assign _T_1471 = _T_1470 | _T_1464; // @[Xbar.scala 217:92:shc.marmotcaravel.MarmotCaravelConfig.fir@6093.4]
+  assign requestAIO_0_0 = _T_1471 | _T_1469; // @[Xbar.scala 217:92:shc.marmotcaravel.MarmotCaravelConfig.fir@6094.4]
+  assign _T_1473 = auto_in_a_bits_address ^ 32'hc000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@6096.4]
+  assign _T_1474 = {1'b0,$signed(_T_1473)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6097.4]
+  assign _T_1475 = $signed(_T_1474) & $signed(33'shfc000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6098.4]
+  assign _T_1476 = $signed(_T_1475); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6099.4]
+  assign requestAIO_0_1 = $signed(_T_1476) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@6100.4]
+  assign _T_1478 = auto_in_a_bits_address ^ 32'h2000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@6102.4]
+  assign _T_1479 = {1'b0,$signed(_T_1478)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6103.4]
+  assign _T_1480 = $signed(_T_1479) & $signed(33'shfff90000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6104.4]
+  assign _T_1481 = $signed(_T_1480); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6105.4]
+  assign requestAIO_0_2 = $signed(_T_1481) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@6106.4]
+  assign _T_1484 = {1'b0,$signed(auto_in_a_bits_address)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6109.4]
+  assign _T_1485 = $signed(_T_1484) & $signed(33'shfff9d000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6110.4]
+  assign _T_1486 = $signed(_T_1485); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6111.4]
+  assign requestAIO_0_3 = $signed(_T_1486) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@6112.4]
+  assign _T_1488 = auto_in_a_bits_address ^ 32'h8000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@6114.4]
+  assign _T_1489 = {1'b0,$signed(_T_1488)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6115.4]
+  assign _T_1490 = $signed(_T_1489) & $signed(33'shfff9c000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6116.4]
+  assign _T_1491 = $signed(_T_1490); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6117.4]
+  assign _T_1492 = $signed(_T_1491) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@6118.4]
+  assign _T_1493 = auto_in_a_bits_address ^ 32'h80000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@6119.4]
+  assign _T_1494 = {1'b0,$signed(_T_1493)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6120.4]
+  assign _T_1495 = $signed(_T_1494) & $signed(33'shfff9c000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6121.4]
+  assign _T_1496 = $signed(_T_1495); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6122.4]
+  assign _T_1497 = $signed(_T_1496) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@6123.4]
+  assign requestAIO_0_4 = _T_1492 | _T_1497; // @[Xbar.scala 217:92:shc.marmotcaravel.MarmotCaravelConfig.fir@6124.4]
+  assign _T_1499 = auto_in_a_bits_address ^ 32'h10000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@6126.4]
+  assign _T_1500 = {1'b0,$signed(_T_1499)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6127.4]
+  assign _T_1501 = $signed(_T_1500) & $signed(33'shfff9c000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6128.4]
+  assign _T_1502 = $signed(_T_1501); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6129.4]
+  assign requestAIO_0_5 = $signed(_T_1502) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@6130.4]
+  assign _T_1504 = auto_in_a_bits_address ^ 32'h10000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@6132.4]
+  assign _T_1505 = {1'b0,$signed(_T_1504)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6133.4]
+  assign _T_1506 = $signed(_T_1505) & $signed(33'shfff9d000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6134.4]
+  assign _T_1507 = $signed(_T_1506); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6135.4]
+  assign requestAIO_0_6 = $signed(_T_1507) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@6136.4]
+  assign _T_1705 = 27'hfff << auto_out_0_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@6364.4]
+  assign _T_1706 = _T_1705[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@6365.4]
+  assign _T_1707 = ~ _T_1706; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@6366.4]
+  assign _T_1708 = _T_1707[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@6367.4]
+  assign _T_1709 = auto_out_0_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@6368.4]
+  assign beatsDO_0 = _T_1709 ? _T_1708 : 10'h0; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@6369.4]
+  assign _T_1711 = 21'h3f << out_1_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@6371.4]
+  assign _T_1712 = _T_1711[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@6372.4]
+  assign _T_1713 = ~ _T_1712; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@6373.4]
+  assign _T_1714 = _T_1713[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@6374.4]
+  assign _T_1715 = auto_out_1_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@6375.4]
+  assign beatsDO_1 = _T_1715 ? _T_1714 : 4'h0; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@6376.4]
+  assign _T_1717 = 21'h3f << out_2_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@6378.4]
+  assign _T_1718 = _T_1717[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@6379.4]
+  assign _T_1719 = ~ _T_1718; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@6380.4]
+  assign _T_1720 = _T_1719[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@6381.4]
+  assign _T_1721 = auto_out_2_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@6382.4]
+  assign beatsDO_2 = _T_1721 ? _T_1720 : 4'h0; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@6383.4]
+  assign _T_1723 = 21'h3f << out_3_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@6385.4]
+  assign _T_1724 = _T_1723[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@6386.4]
+  assign _T_1725 = ~ _T_1724; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@6387.4]
+  assign _T_1726 = _T_1725[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@6388.4]
+  assign _T_1727 = auto_out_3_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@6389.4]
+  assign beatsDO_3 = _T_1727 ? _T_1726 : 4'h0; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@6390.4]
+  assign _T_1729 = 21'h3f << out_4_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@6392.4]
+  assign _T_1730 = _T_1729[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@6393.4]
+  assign _T_1731 = ~ _T_1730; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@6394.4]
+  assign _T_1732 = _T_1731[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@6395.4]
+  assign _T_1733 = auto_out_4_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@6396.4]
+  assign beatsDO_4 = _T_1733 ? _T_1732 : 4'h0; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@6397.4]
+  assign _T_1735 = 21'h3f << out_5_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@6399.4]
+  assign _T_1736 = _T_1735[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@6400.4]
+  assign _T_1737 = ~ _T_1736; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@6401.4]
+  assign beatsDO_5 = _T_1737[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@6402.4]
+  assign _T_1741 = 21'h3f << out_6_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@6406.4]
+  assign _T_1742 = _T_1741[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@6407.4]
+  assign _T_1743 = ~ _T_1742; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@6408.4]
+  assign _T_1744 = _T_1743[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@6409.4]
+  assign _T_1745 = auto_out_6_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@6410.4]
+  assign beatsDO_6 = _T_1745 ? _T_1744 : 4'h0; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@6411.4]
+  assign _T_1821 = requestAIO_0_0 ? auto_out_0_a_ready : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6442.4]
+  assign _T_1822 = requestAIO_0_1 ? auto_out_1_a_ready : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6443.4]
+  assign _T_1823 = requestAIO_0_2 ? auto_out_2_a_ready : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6444.4]
+  assign _T_1824 = requestAIO_0_3 ? auto_out_3_a_ready : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6445.4]
+  assign _T_1825 = requestAIO_0_4 ? auto_out_4_a_ready : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6446.4]
+  assign _T_1826 = requestAIO_0_5 ? auto_out_5_a_ready : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6447.4]
+  assign _T_1827 = requestAIO_0_6 ? auto_out_6_a_ready : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6448.4]
+  assign _T_1828 = _T_1821 | _T_1822; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6449.4]
+  assign _T_1829 = _T_1828 | _T_1823; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6450.4]
+  assign _T_1830 = _T_1829 | _T_1824; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6451.4]
+  assign _T_1831 = _T_1830 | _T_1825; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6452.4]
+  assign _T_1832 = _T_1831 | _T_1826; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6453.4]
+  assign _T_2299 = _T_2298 & auto_in_d_ready; // @[Arbiter.scala 55:24:shc.marmotcaravel.MarmotCaravelConfig.fir@6672.4]
+  assign _T_2307 = _T_2305 == _T_2305; // @[Arbiter.scala 19:19:shc.marmotcaravel.MarmotCaravelConfig.fir@6680.4]
+  assign _T_2309 = _T_2307 | reset; // @[Arbiter.scala 19:12:shc.marmotcaravel.MarmotCaravelConfig.fir@6682.4]
+  assign _T_2310 = _T_2309 == 1'h0; // @[Arbiter.scala 19:12:shc.marmotcaravel.MarmotCaravelConfig.fir@6683.4]
+  assign _T_2331 = _T_2305 != 7'h0; // @[Arbiter.scala 24:27:shc.marmotcaravel.MarmotCaravelConfig.fir@6707.4]
+  assign _T_2332 = _T_2299 & _T_2331; // @[Arbiter.scala 24:18:shc.marmotcaravel.MarmotCaravelConfig.fir@6708.4]
+  assign _T_2333 = _T_2330 & _T_2305; // @[Arbiter.scala 25:29:shc.marmotcaravel.MarmotCaravelConfig.fir@6710.6]
+  assign _GEN_6 = {{1'd0}, _T_2333}; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@6711.6]
+  assign _T_2334 = _GEN_6 << 1; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@6711.6]
+  assign _T_2335 = _T_2334[6:0]; // @[package.scala 194:53:shc.marmotcaravel.MarmotCaravelConfig.fir@6712.6]
+  assign _T_2336 = _T_2333 | _T_2335; // @[package.scala 194:43:shc.marmotcaravel.MarmotCaravelConfig.fir@6713.6]
+  assign _GEN_7 = {{2'd0}, _T_2336}; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@6714.6]
+  assign _T_2337 = _GEN_7 << 2; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@6714.6]
+  assign _T_2338 = _T_2337[6:0]; // @[package.scala 194:53:shc.marmotcaravel.MarmotCaravelConfig.fir@6715.6]
+  assign _T_2339 = _T_2336 | _T_2338; // @[package.scala 194:43:shc.marmotcaravel.MarmotCaravelConfig.fir@6716.6]
+  assign _GEN_8 = {{4'd0}, _T_2339}; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@6717.6]
+  assign _T_2340 = _GEN_8 << 4; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@6717.6]
+  assign _T_2341 = _T_2340[6:0]; // @[package.scala 194:53:shc.marmotcaravel.MarmotCaravelConfig.fir@6718.6]
+  assign _T_2342 = _T_2339 | _T_2341; // @[package.scala 194:43:shc.marmotcaravel.MarmotCaravelConfig.fir@6719.6]
+  assign _T_2386 = _T_2365 | _T_2366; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6757.4]
+  assign _T_2387 = _T_2386 | _T_2367; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6758.4]
+  assign _T_2388 = _T_2387 | _T_2368; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6759.4]
+  assign _T_2389 = _T_2388 | _T_2369; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6760.4]
+  assign _T_2390 = _T_2389 | _T_2370; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6761.4]
+  assign _T_2391 = _T_2390 | _T_2371; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6762.4]
+  assign _T_2393 = _T_2365 == 1'h0; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@6764.4]
+  assign _T_2396 = _T_2366 == 1'h0; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@6767.4]
+  assign _T_2397 = _T_2393 | _T_2396; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@6768.4]
+  assign _T_2398 = _T_2386 == 1'h0; // @[Arbiter.scala 68:56:shc.marmotcaravel.MarmotCaravelConfig.fir@6769.4]
+  assign _T_2399 = _T_2367 == 1'h0; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@6770.4]
+  assign _T_2400 = _T_2398 | _T_2399; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@6771.4]
+  assign _T_2401 = _T_2387 == 1'h0; // @[Arbiter.scala 68:56:shc.marmotcaravel.MarmotCaravelConfig.fir@6772.4]
+  assign _T_2402 = _T_2368 == 1'h0; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@6773.4]
+  assign _T_2403 = _T_2401 | _T_2402; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@6774.4]
+  assign _T_2404 = _T_2388 == 1'h0; // @[Arbiter.scala 68:56:shc.marmotcaravel.MarmotCaravelConfig.fir@6775.4]
+  assign _T_2405 = _T_2369 == 1'h0; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@6776.4]
+  assign _T_2406 = _T_2404 | _T_2405; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@6777.4]
+  assign _T_2407 = _T_2389 == 1'h0; // @[Arbiter.scala 68:56:shc.marmotcaravel.MarmotCaravelConfig.fir@6778.4]
+  assign _T_2408 = _T_2370 == 1'h0; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@6779.4]
+  assign _T_2409 = _T_2407 | _T_2408; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@6780.4]
+  assign _T_2410 = _T_2390 == 1'h0; // @[Arbiter.scala 68:56:shc.marmotcaravel.MarmotCaravelConfig.fir@6781.4]
+  assign _T_2411 = _T_2371 == 1'h0; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@6782.4]
+  assign _T_2412 = _T_2410 | _T_2411; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@6783.4]
+  assign _T_2414 = _T_2397 & _T_2400; // @[Arbiter.scala 68:77:shc.marmotcaravel.MarmotCaravelConfig.fir@6785.4]
+  assign _T_2415 = _T_2414 & _T_2403; // @[Arbiter.scala 68:77:shc.marmotcaravel.MarmotCaravelConfig.fir@6786.4]
+  assign _T_2416 = _T_2415 & _T_2406; // @[Arbiter.scala 68:77:shc.marmotcaravel.MarmotCaravelConfig.fir@6787.4]
+  assign _T_2417 = _T_2416 & _T_2409; // @[Arbiter.scala 68:77:shc.marmotcaravel.MarmotCaravelConfig.fir@6788.4]
+  assign _T_2418 = _T_2417 & _T_2412; // @[Arbiter.scala 68:77:shc.marmotcaravel.MarmotCaravelConfig.fir@6789.4]
+  assign _T_2420 = _T_2418 | reset; // @[Arbiter.scala 68:13:shc.marmotcaravel.MarmotCaravelConfig.fir@6791.4]
+  assign _T_2421 = _T_2420 == 1'h0; // @[Arbiter.scala 68:13:shc.marmotcaravel.MarmotCaravelConfig.fir@6792.4]
+  assign _T_2422 = auto_out_0_d_valid | auto_out_1_d_valid; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@6797.4]
+  assign _T_2423 = _T_2422 | auto_out_2_d_valid; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@6798.4]
+  assign _T_2424 = _T_2423 | auto_out_3_d_valid; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@6799.4]
+  assign _T_2425 = _T_2424 | auto_out_4_d_valid; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@6800.4]
+  assign _T_2426 = _T_2425 | auto_out_5_d_valid; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@6801.4]
+  assign _T_2427 = _T_2426 | auto_out_6_d_valid; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@6802.4]
+  assign _T_2428 = _T_2427 == 1'h0; // @[Arbiter.scala 70:15:shc.marmotcaravel.MarmotCaravelConfig.fir@6803.4]
+  assign _T_2435 = _T_2428 | _T_2391; // @[Arbiter.scala 70:36:shc.marmotcaravel.MarmotCaravelConfig.fir@6810.4]
+  assign _T_2437 = _T_2435 | reset; // @[Arbiter.scala 70:14:shc.marmotcaravel.MarmotCaravelConfig.fir@6812.4]
+  assign _T_2438 = _T_2437 == 1'h0; // @[Arbiter.scala 70:14:shc.marmotcaravel.MarmotCaravelConfig.fir@6813.4]
+  assign _T_2439 = _T_2365 ? beatsDO_0 : 10'h0; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@6818.4]
+  assign _T_2440 = _T_2366 ? beatsDO_1 : 4'h0; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@6819.4]
+  assign _T_2441 = _T_2367 ? beatsDO_2 : 4'h0; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@6820.4]
+  assign _T_2442 = _T_2368 ? beatsDO_3 : 4'h0; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@6821.4]
+  assign _T_2443 = _T_2369 ? beatsDO_4 : 4'h0; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@6822.4]
+  assign _T_2444 = _T_2370 ? beatsDO_5 : 4'h0; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@6823.4]
+  assign _T_2445 = _T_2371 ? beatsDO_6 : 4'h0; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@6824.4]
+  assign _GEN_9 = {{6'd0}, _T_2440}; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@6825.4]
+  assign _T_2446 = _T_2439 | _GEN_9; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@6825.4]
+  assign _GEN_10 = {{6'd0}, _T_2441}; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@6826.4]
+  assign _T_2447 = _T_2446 | _GEN_10; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@6826.4]
+  assign _GEN_11 = {{6'd0}, _T_2442}; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@6827.4]
+  assign _T_2448 = _T_2447 | _GEN_11; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@6827.4]
+  assign _GEN_12 = {{6'd0}, _T_2443}; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@6828.4]
+  assign _T_2449 = _T_2448 | _GEN_12; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@6828.4]
+  assign _GEN_13 = {{6'd0}, _T_2444}; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@6829.4]
+  assign _T_2450 = _T_2449 | _GEN_13; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@6829.4]
+  assign _GEN_14 = {{6'd0}, _T_2445}; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@6830.4]
+  assign _T_2451 = _T_2450 | _GEN_14; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@6830.4]
+  assign _T_2564 = _T_2488_0 ? auto_out_0_d_valid : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6870.4]
+  assign _T_2565 = _T_2488_1 ? auto_out_1_d_valid : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6871.4]
+  assign _T_2571 = _T_2564 | _T_2565; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6877.4]
+  assign _T_2566 = _T_2488_2 ? auto_out_2_d_valid : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6872.4]
+  assign _T_2572 = _T_2571 | _T_2566; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6878.4]
+  assign _T_2567 = _T_2488_3 ? auto_out_3_d_valid : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6873.4]
+  assign _T_2573 = _T_2572 | _T_2567; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6879.4]
+  assign _T_2568 = _T_2488_4 ? auto_out_4_d_valid : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6874.4]
+  assign _T_2574 = _T_2573 | _T_2568; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6880.4]
+  assign _T_2569 = _T_2488_5 ? auto_out_5_d_valid : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6875.4]
+  assign _T_2575 = _T_2574 | _T_2569; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6881.4]
+  assign _T_2570 = _T_2488_6 ? auto_out_6_d_valid : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6876.4]
+  assign _T_2576 = _T_2575 | _T_2570; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6882.4]
+  assign in_0_d_valid = _T_2298 ? _T_2427 : _T_2576; // @[Arbiter.scala 86:24:shc.marmotcaravel.MarmotCaravelConfig.fir@6885.4]
+  assign _T_2452 = auto_in_d_ready & in_0_d_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@6831.4]
+  assign _GEN_15 = {{9'd0}, _T_2452}; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6832.4]
+  assign _T_2453 = _T_2297 - _GEN_15; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6832.4]
+  assign _T_2454 = $unsigned(_T_2453); // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6833.4]
+  assign _T_2455 = _T_2454[9:0]; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6834.4]
+  assign _T_2532_0 = _T_2298 ? _T_2345 : _T_2488_0; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@6849.4]
+  assign _T_2532_1 = _T_2298 ? _T_2346 : _T_2488_1; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@6849.4]
+  assign _T_2532_2 = _T_2298 ? _T_2347 : _T_2488_2; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@6849.4]
+  assign _T_2532_3 = _T_2298 ? _T_2348 : _T_2488_3; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@6849.4]
+  assign _T_2532_4 = _T_2298 ? _T_2349 : _T_2488_4; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@6849.4]
+  assign _T_2532_5 = _T_2298 ? _T_2350 : _T_2488_5; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@6849.4]
+  assign _T_2532_6 = _T_2298 ? _T_2351 : _T_2488_6; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@6849.4]
+  assign auto_in_a_ready = _T_1832 | _T_1827; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@5985.4]
+  assign auto_in_d_valid = _T_2298 ? _T_2427 : _T_2576; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@5985.4]
+  assign auto_in_d_bits_opcode = _T_2642[44:42]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@5985.4]
+  assign auto_in_d_bits_param = _T_2642[41:40]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@5985.4]
+  assign auto_in_d_bits_size = _T_2642[39:36]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@5985.4]
+  assign auto_in_d_bits_source = _T_2642[35]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@5985.4]
+  assign auto_in_d_bits_sink = _T_2642[34]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@5985.4]
+  assign auto_in_d_bits_denied = _T_2642[33]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@5985.4]
+  assign auto_in_d_bits_data = _T_2642[32:1]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@5985.4]
+  assign auto_in_d_bits_corrupt = _T_2642[0]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@5985.4]
+  assign auto_out_6_a_valid = auto_in_a_valid & requestAIO_0_6; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5984.4]
+  assign auto_out_6_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5984.4]
+  assign auto_out_6_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5984.4]
+  assign auto_out_6_a_bits_size = auto_in_a_bits_size[2:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5984.4]
+  assign auto_out_6_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5984.4]
+  assign auto_out_6_a_bits_address = auto_in_a_bits_address[28:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5984.4]
+  assign auto_out_6_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5984.4]
+  assign auto_out_6_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5984.4]
+  assign auto_out_6_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5984.4]
+  assign auto_out_6_d_ready = auto_in_d_ready & _T_2532_6; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5984.4]
+  assign auto_out_5_a_valid = auto_in_a_valid & requestAIO_0_5; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5983.4]
+  assign auto_out_5_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5983.4]
+  assign auto_out_5_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5983.4]
+  assign auto_out_5_a_bits_size = auto_in_a_bits_size[2:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5983.4]
+  assign auto_out_5_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5983.4]
+  assign auto_out_5_a_bits_address = auto_in_a_bits_address[16:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5983.4]
+  assign auto_out_5_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5983.4]
+  assign auto_out_5_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5983.4]
+  assign auto_out_5_d_ready = auto_in_d_ready & _T_2532_5; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5983.4]
+  assign auto_out_4_a_valid = auto_in_a_valid & requestAIO_0_4; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5982.4]
+  assign auto_out_4_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5982.4]
+  assign auto_out_4_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5982.4]
+  assign auto_out_4_a_bits_size = auto_in_a_bits_size[2:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5982.4]
+  assign auto_out_4_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5982.4]
+  assign auto_out_4_a_bits_address = auto_in_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5982.4]
+  assign auto_out_4_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5982.4]
+  assign auto_out_4_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5982.4]
+  assign auto_out_4_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5982.4]
+  assign auto_out_4_d_ready = auto_in_d_ready & _T_2532_4; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5982.4]
+  assign auto_out_3_a_valid = auto_in_a_valid & requestAIO_0_3; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5981.4]
+  assign auto_out_3_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5981.4]
+  assign auto_out_3_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5981.4]
+  assign auto_out_3_a_bits_size = auto_in_a_bits_size[2:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5981.4]
+  assign auto_out_3_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5981.4]
+  assign auto_out_3_a_bits_address = auto_in_a_bits_address[11:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5981.4]
+  assign auto_out_3_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5981.4]
+  assign auto_out_3_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5981.4]
+  assign auto_out_3_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5981.4]
+  assign auto_out_3_d_ready = auto_in_d_ready & _T_2532_3; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5981.4]
+  assign auto_out_2_a_valid = auto_in_a_valid & requestAIO_0_2; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5980.4]
+  assign auto_out_2_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5980.4]
+  assign auto_out_2_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5980.4]
+  assign auto_out_2_a_bits_size = auto_in_a_bits_size[2:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5980.4]
+  assign auto_out_2_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5980.4]
+  assign auto_out_2_a_bits_address = auto_in_a_bits_address[25:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5980.4]
+  assign auto_out_2_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5980.4]
+  assign auto_out_2_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5980.4]
+  assign auto_out_2_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5980.4]
+  assign auto_out_2_d_ready = auto_in_d_ready & _T_2532_2; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5980.4]
+  assign auto_out_1_a_valid = auto_in_a_valid & requestAIO_0_1; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5979.4]
+  assign auto_out_1_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5979.4]
+  assign auto_out_1_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5979.4]
+  assign auto_out_1_a_bits_size = auto_in_a_bits_size[2:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5979.4]
+  assign auto_out_1_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5979.4]
+  assign auto_out_1_a_bits_address = auto_in_a_bits_address[27:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5979.4]
+  assign auto_out_1_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5979.4]
+  assign auto_out_1_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5979.4]
+  assign auto_out_1_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5979.4]
+  assign auto_out_1_d_ready = auto_in_d_ready & _T_2532_1; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5979.4]
+  assign auto_out_0_a_valid = auto_in_a_valid & requestAIO_0_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5978.4]
+  assign auto_out_0_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5978.4]
+  assign auto_out_0_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5978.4]
+  assign auto_out_0_a_bits_size = auto_in_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5978.4]
+  assign auto_out_0_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5978.4]
+  assign auto_out_0_a_bits_address = auto_in_a_bits_address[29:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5978.4]
+  assign auto_out_0_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5978.4]
+  assign auto_out_0_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5978.4]
+  assign auto_out_0_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5978.4]
+  assign auto_out_0_d_ready = auto_in_d_ready & _T_2532_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5978.4]
+  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5929.4]
+  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5930.4]
+  assign TLMonitor_io_in_a_ready = _T_1832 | _T_1827; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@5963.4]
+  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@5963.4]
+  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@5963.4]
+  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@5963.4]
+  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@5963.4]
+  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@5963.4]
+  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@5963.4]
+  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@5963.4]
+  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@5963.4]
+  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@5963.4]
+  assign TLMonitor_io_in_d_valid = _T_2298 ? _T_2427 : _T_2576; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@5963.4]
+  assign TLMonitor_io_in_d_bits_opcode = _T_2642[44:42]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@5963.4]
+  assign TLMonitor_io_in_d_bits_param = _T_2642[41:40]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@5963.4]
+  assign TLMonitor_io_in_d_bits_size = _T_2642[39:36]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@5963.4]
+  assign TLMonitor_io_in_d_bits_source = _T_2642[35]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@5963.4]
+  assign TLMonitor_io_in_d_bits_sink = _T_2642[34]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@5963.4]
+  assign TLMonitor_io_in_d_bits_denied = _T_2642[33]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@5963.4]
+  assign TLMonitor_io_in_d_bits_corrupt = _T_2642[0]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@5963.4]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  _T_2297 = _RAND_0[9:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  _T_2313 = _RAND_1[6:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  _T_2488_0 = _RAND_2[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  _T_2488_1 = _RAND_3[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  _T_2488_2 = _RAND_4[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  _T_2488_3 = _RAND_5[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {1{`RANDOM}};
+  _T_2488_4 = _RAND_6[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {1{`RANDOM}};
+  _T_2488_5 = _RAND_7[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_8 = {1{`RANDOM}};
+  _T_2488_6 = _RAND_8[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      _T_2297 <= 10'h0;
+    end else begin
+      if (_T_2299) begin
+        _T_2297 <= _T_2451;
+      end else begin
+        _T_2297 <= _T_2455;
+      end
+    end
+    if (reset) begin
+      _T_2313 <= 7'h7f;
+    end else begin
+      if (_T_2332) begin
+        _T_2313 <= _T_2342;
+      end
+    end
+    if (reset) begin
+      _T_2488_0 <= 1'h0;
+    end else begin
+      if (_T_2298) begin
+        _T_2488_0 <= _T_2365;
+      end
+    end
+    if (reset) begin
+      _T_2488_1 <= 1'h0;
+    end else begin
+      if (_T_2298) begin
+        _T_2488_1 <= _T_2366;
+      end
+    end
+    if (reset) begin
+      _T_2488_2 <= 1'h0;
+    end else begin
+      if (_T_2298) begin
+        _T_2488_2 <= _T_2367;
+      end
+    end
+    if (reset) begin
+      _T_2488_3 <= 1'h0;
+    end else begin
+      if (_T_2298) begin
+        _T_2488_3 <= _T_2368;
+      end
+    end
+    if (reset) begin
+      _T_2488_4 <= 1'h0;
+    end else begin
+      if (_T_2298) begin
+        _T_2488_4 <= _T_2369;
+      end
+    end
+    if (reset) begin
+      _T_2488_5 <= 1'h0;
+    end else begin
+      if (_T_2298) begin
+        _T_2488_5 <= _T_2370;
+      end
+    end
+    if (reset) begin
+      _T_2488_6 <= 1'h0;
+    end else begin
+      if (_T_2298) begin
+        _T_2488_6 <= _T_2371;
+      end
+    end
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_2310) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at Arbiter.scala:19 assert (valid === valids)\n"); // @[Arbiter.scala 19:12:shc.marmotcaravel.MarmotCaravelConfig.fir@6685.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_2310) begin
+          $fatal; // @[Arbiter.scala 19:12:shc.marmotcaravel.MarmotCaravelConfig.fir@6686.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_2421) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at Arbiter.scala:68 assert((prefixOR zip winner) map { case (p,w) => !p || !w } reduce {_ && _})\n"); // @[Arbiter.scala 68:13:shc.marmotcaravel.MarmotCaravelConfig.fir@6794.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_2421) begin
+          $fatal; // @[Arbiter.scala 68:13:shc.marmotcaravel.MarmotCaravelConfig.fir@6795.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_2438) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at Arbiter.scala:70 assert (!valids.reduce(_||_) || winner.reduce(_||_))\n"); // @[Arbiter.scala 70:14:shc.marmotcaravel.MarmotCaravelConfig.fir@6815.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_2438) begin
+          $fatal; // @[Arbiter.scala 70:14:shc.marmotcaravel.MarmotCaravelConfig.fir@6816.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+endmodule
+module TLMonitor_3( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6977.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6978.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6979.4]
+  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6980.4]
+  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6980.4]
+  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6980.4]
+  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6980.4]
+  input  [3:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6980.4]
+  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6980.4]
+  input  [31:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6980.4]
+  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6980.4]
+  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6980.4]
+  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6980.4]
+  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6980.4]
+  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6980.4]
+  input  [1:0]  io_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6980.4]
+  input  [3:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6980.4]
+  input         io_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6980.4]
+  input         io_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6980.4]
+  input         io_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6980.4]
+  input         io_in_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6980.4]
+);
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@8776.4]
+  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@6996.6]
+  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@7001.6]
+  wire [26:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@7003.6]
+  wire [11:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@7004.6]
+  wire [11:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@7005.6]
+  wire [31:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@7006.6]
+  wire [31:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@7006.6]
+  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@7007.6]
+  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@7009.6]
+  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@7010.6]
+  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@7012.6]
+  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@7013.6]
+  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@7014.6]
+  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@7015.6]
+  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@7016.6]
+  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@7018.6]
+  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@7019.6]
+  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@7021.6]
+  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@7022.6]
+  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@7023.6]
+  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@7024.6]
+  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@7025.6]
+  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@7026.6]
+  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@7027.6]
+  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@7028.6]
+  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@7029.6]
+  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@7030.6]
+  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@7031.6]
+  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@7032.6]
+  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@7033.6]
+  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@7034.6]
+  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@7035.6]
+  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@7036.6]
+  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@7037.6]
+  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@7038.6]
+  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@7039.6]
+  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@7040.6]
+  wire [32:0] _T_73; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@7044.6]
+  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@7065.6]
+  wire [31:0] _T_92; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@7068.8]
+  wire [32:0] _T_93; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@7069.8]
+  wire [32:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7070.8]
+  wire [32:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7071.8]
+  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@7072.8]
+  wire [31:0] _T_97; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@7073.8]
+  wire [32:0] _T_98; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@7074.8]
+  wire [32:0] _T_99; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7075.8]
+  wire [32:0] _T_100; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7076.8]
+  wire  _T_101; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@7077.8]
+  wire [31:0] _T_102; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@7078.8]
+  wire [32:0] _T_103; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@7079.8]
+  wire [32:0] _T_104; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7080.8]
+  wire [32:0] _T_105; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7081.8]
+  wire  _T_106; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@7082.8]
+  wire [31:0] _T_107; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@7083.8]
+  wire [32:0] _T_108; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@7084.8]
+  wire [32:0] _T_109; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7085.8]
+  wire [32:0] _T_110; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7086.8]
+  wire  _T_111; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@7087.8]
+  wire [31:0] _T_112; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@7088.8]
+  wire [32:0] _T_113; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@7089.8]
+  wire [32:0] _T_114; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7090.8]
+  wire [32:0] _T_115; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7091.8]
+  wire  _T_116; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@7092.8]
+  wire [31:0] _T_117; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@7093.8]
+  wire [32:0] _T_118; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@7094.8]
+  wire [32:0] _T_119; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7095.8]
+  wire [32:0] _T_120; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7096.8]
+  wire  _T_121; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@7097.8]
+  wire [31:0] _T_122; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@7098.8]
+  wire [32:0] _T_123; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@7099.8]
+  wire [32:0] _T_124; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7100.8]
+  wire [32:0] _T_125; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7101.8]
+  wire  _T_126; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@7102.8]
+  wire [31:0] _T_127; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@7103.8]
+  wire [32:0] _T_128; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@7104.8]
+  wire [32:0] _T_129; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7105.8]
+  wire [32:0] _T_130; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7106.8]
+  wire  _T_131; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@7107.8]
+  wire [31:0] _T_132; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@7108.8]
+  wire [32:0] _T_133; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@7109.8]
+  wire [32:0] _T_134; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7110.8]
+  wire [32:0] _T_135; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7111.8]
+  wire  _T_136; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@7112.8]
+  wire [31:0] _T_137; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@7113.8]
+  wire [32:0] _T_138; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@7114.8]
+  wire [32:0] _T_139; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7115.8]
+  wire [32:0] _T_140; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7116.8]
+  wire  _T_141; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@7117.8]
+  wire [32:0] _T_144; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7120.8]
+  wire [32:0] _T_145; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7121.8]
+  wire  _T_146; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@7122.8]
+  wire [31:0] _T_147; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@7123.8]
+  wire [32:0] _T_148; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@7124.8]
+  wire [32:0] _T_149; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7125.8]
+  wire [32:0] _T_150; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7126.8]
+  wire  _T_151; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@7127.8]
+  wire [31:0] _T_152; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@7128.8]
+  wire [32:0] _T_153; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@7129.8]
+  wire [32:0] _T_154; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7130.8]
+  wire [32:0] _T_155; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7131.8]
+  wire  _T_156; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@7132.8]
+  wire [31:0] _T_157; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@7133.8]
+  wire [32:0] _T_158; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@7134.8]
+  wire [32:0] _T_159; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7135.8]
+  wire [32:0] _T_160; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7136.8]
+  wire  _T_161; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@7137.8]
+  wire  _T_162; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7138.8]
+  wire  _T_163; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7139.8]
+  wire  _T_164; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7140.8]
+  wire  _T_165; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7141.8]
+  wire  _T_179; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7155.8]
+  wire  _T_184; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7168.8]
+  wire  _T_185; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7169.8]
+  wire  _T_188; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7176.8]
+  wire  _T_189; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7177.8]
+  wire  _T_191; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7183.8]
+  wire  _T_192; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7184.8]
+  wire  _T_193; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@7189.8]
+  wire  _T_195; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7191.8]
+  wire  _T_196; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7192.8]
+  wire [3:0] _T_197; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@7197.8]
+  wire  _T_198; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@7198.8]
+  wire  _T_200; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7200.8]
+  wire  _T_201; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7201.8]
+  wire  _T_202; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@7206.8]
+  wire  _T_204; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7208.8]
+  wire  _T_205; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7209.8]
+  wire  _T_206; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@7215.6]
+  wire  _T_313; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@7347.8]
+  wire  _T_315; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7349.8]
+  wire  _T_316; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7350.8]
+  wire  _T_326; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@7373.6]
+  wire  _T_328; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7376.8]
+  wire  _T_336; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@7384.8]
+  wire  _T_338; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7386.8]
+  wire  _T_406; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7454.8]
+  wire  _T_407; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7455.8]
+  wire  _T_408; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7456.8]
+  wire  _T_409; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7457.8]
+  wire  _T_410; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7458.8]
+  wire  _T_411; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7459.8]
+  wire  _T_412; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7460.8]
+  wire  _T_413; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7461.8]
+  wire  _T_414; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7462.8]
+  wire  _T_415; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7463.8]
+  wire  _T_416; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7464.8]
+  wire  _T_417; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7465.8]
+  wire  _T_418; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@7466.8]
+  wire  _T_420; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@7468.8]
+  wire  _T_422; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7470.8]
+  wire  _T_423; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7471.8]
+  wire  _T_430; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@7490.8]
+  wire  _T_432; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7492.8]
+  wire  _T_433; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7493.8]
+  wire  _T_434; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@7498.8]
+  wire  _T_436; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7500.8]
+  wire  _T_437; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7501.8]
+  wire  _T_442; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@7515.6]
+  wire  _T_515; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7589.8]
+  wire  _T_516; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7590.8]
+  wire  _T_517; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7591.8]
+  wire  _T_518; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7592.8]
+  wire  _T_519; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7593.8]
+  wire  _T_520; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7594.8]
+  wire  _T_521; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7595.8]
+  wire  _T_522; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@7596.8]
+  wire  _T_537; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@7611.8]
+  wire  _T_540; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7614.8]
+  wire  _T_541; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7615.8]
+  wire  _T_556; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@7651.6]
+  wire [3:0] _T_666; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@7778.8]
+  wire [3:0] _T_667; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@7779.8]
+  wire  _T_668; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@7780.8]
+  wire  _T_670; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7782.8]
+  wire  _T_671; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7783.8]
+  wire  _T_672; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@7789.6]
+  wire  _T_674; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7792.8]
+  wire  _T_716; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7834.8]
+  wire  _T_717; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7835.8]
+  wire  _T_718; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@7836.8]
+  wire  _T_719; // @[Parameters.scala 89:48:shc.marmotcaravel.MarmotCaravelConfig.fir@7837.8]
+  wire  _T_726; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@7844.8]
+  wire  _T_765; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@7883.8]
+  wire  _T_768; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7886.8]
+  wire  _T_769; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7887.8]
+  wire  _T_776; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@7906.8]
+  wire  _T_778; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7908.8]
+  wire  _T_779; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7909.8]
+  wire  _T_784; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@7923.6]
+  wire  _T_888; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@8040.8]
+  wire  _T_890; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8042.8]
+  wire  _T_891; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8043.8]
+  wire  _T_896; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@8057.6]
+  wire  _T_989; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8151.8]
+  wire  _T_990; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8152.8]
+  wire  _T_1005; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8190.6]
+  wire  _T_1007; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@8192.6]
+  wire  _T_1008; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@8193.6]
+  wire  _T_1010; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@8199.6]
+  wire  _T_1019; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@8204.6]
+  wire  _T_1021; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@8206.6]
+  wire  _T_1023; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8209.8]
+  wire  _T_1024; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8210.8]
+  wire  _T_1025; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@8215.8]
+  wire  _T_1027; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8217.8]
+  wire  _T_1028; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8218.8]
+  wire  _T_1029; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@8223.8]
+  wire  _T_1031; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8225.8]
+  wire  _T_1032; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8226.8]
+  wire  _T_1033; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@8231.8]
+  wire  _T_1035; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8233.8]
+  wire  _T_1036; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8234.8]
+  wire  _T_1037; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@8239.8]
+  wire  _T_1039; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8241.8]
+  wire  _T_1040; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8242.8]
+  wire  _T_1041; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@8248.6]
+  wire  _T_1052; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@8272.8]
+  wire  _T_1054; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8274.8]
+  wire  _T_1055; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8275.8]
+  wire  _T_1056; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@8280.8]
+  wire  _T_1058; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8282.8]
+  wire  _T_1059; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8283.8]
+  wire  _T_1069; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@8306.6]
+  wire  _T_1089; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@8347.8]
+  wire  _T_1091; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8349.8]
+  wire  _T_1092; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8350.8]
+  wire  _T_1098; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@8365.6]
+  wire  _T_1115; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@8400.6]
+  wire  _T_1133; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@8436.6]
+  wire  _T_1162; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@8496.4]
+  wire [9:0] _T_1167; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@8501.4]
+  wire  _T_1168; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@8502.4]
+  wire  _T_1169; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@8503.4]
+  reg [9:0] _T_1172; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@8505.4]
+  reg [31:0] _RAND_0;
+  wire [10:0] _T_1173; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@8506.4]
+  wire [10:0] _T_1174; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@8507.4]
+  wire [9:0] _T_1175; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@8508.4]
+  wire  _T_1176; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@8509.4]
+  reg [2:0] _T_1185; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@8520.4]
+  reg [31:0] _RAND_1;
+  reg [2:0] _T_1187; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@8521.4]
+  reg [31:0] _RAND_2;
+  reg [3:0] _T_1189; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@8522.4]
+  reg [31:0] _RAND_3;
+  reg  _T_1191; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@8523.4]
+  reg [31:0] _RAND_4;
+  reg [31:0] _T_1193; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@8524.4]
+  reg [31:0] _RAND_5;
+  wire  _T_1194; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@8525.4]
+  wire  _T_1195; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@8526.4]
+  wire  _T_1196; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@8528.6]
+  wire  _T_1198; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8530.6]
+  wire  _T_1199; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8531.6]
+  wire  _T_1200; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@8536.6]
+  wire  _T_1202; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8538.6]
+  wire  _T_1203; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8539.6]
+  wire  _T_1204; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@8544.6]
+  wire  _T_1206; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8546.6]
+  wire  _T_1207; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8547.6]
+  wire  _T_1208; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@8552.6]
+  wire  _T_1210; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8554.6]
+  wire  _T_1211; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8555.6]
+  wire  _T_1212; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@8560.6]
+  wire  _T_1214; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8562.6]
+  wire  _T_1215; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8563.6]
+  wire  _T_1217; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@8570.4]
+  wire  _T_1218; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@8578.4]
+  wire [26:0] _T_1220; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@8580.4]
+  wire [11:0] _T_1221; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@8581.4]
+  wire [11:0] _T_1222; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@8582.4]
+  wire [9:0] _T_1223; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@8583.4]
+  wire  _T_1224; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@8584.4]
+  reg [9:0] _T_1227; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@8586.4]
+  reg [31:0] _RAND_6;
+  wire [10:0] _T_1228; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@8587.4]
+  wire [10:0] _T_1229; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@8588.4]
+  wire [9:0] _T_1230; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@8589.4]
+  wire  _T_1231; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@8590.4]
+  reg [2:0] _T_1240; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@8601.4]
+  reg [31:0] _RAND_7;
+  reg [1:0] _T_1242; // @[Monitor.scala 419:22:shc.marmotcaravel.MarmotCaravelConfig.fir@8602.4]
+  reg [31:0] _RAND_8;
+  reg [3:0] _T_1244; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@8603.4]
+  reg [31:0] _RAND_9;
+  reg  _T_1246; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@8604.4]
+  reg [31:0] _RAND_10;
+  reg  _T_1248; // @[Monitor.scala 422:22:shc.marmotcaravel.MarmotCaravelConfig.fir@8605.4]
+  reg [31:0] _RAND_11;
+  reg  _T_1250; // @[Monitor.scala 423:22:shc.marmotcaravel.MarmotCaravelConfig.fir@8606.4]
+  reg [31:0] _RAND_12;
+  wire  _T_1251; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@8607.4]
+  wire  _T_1252; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@8608.4]
+  wire  _T_1253; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@8610.6]
+  wire  _T_1255; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8612.6]
+  wire  _T_1256; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8613.6]
+  wire  _T_1257; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@8618.6]
+  wire  _T_1259; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8620.6]
+  wire  _T_1260; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8621.6]
+  wire  _T_1261; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@8626.6]
+  wire  _T_1263; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8628.6]
+  wire  _T_1264; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8629.6]
+  wire  _T_1265; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@8634.6]
+  wire  _T_1267; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8636.6]
+  wire  _T_1268; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8637.6]
+  wire  _T_1269; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@8642.6]
+  wire  _T_1271; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8644.6]
+  wire  _T_1272; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8645.6]
+  wire  _T_1273; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@8650.6]
+  wire  _T_1275; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8652.6]
+  wire  _T_1276; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8653.6]
+  wire  _T_1278; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@8660.4]
+  reg [1:0] _T_1280; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@8669.4]
+  reg [31:0] _RAND_13;
+  reg [9:0] _T_1291; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@8679.4]
+  reg [31:0] _RAND_14;
+  wire [10:0] _T_1292; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@8680.4]
+  wire [10:0] _T_1293; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@8681.4]
+  wire [9:0] _T_1294; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@8682.4]
+  wire  _T_1295; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@8683.4]
+  reg [9:0] _T_1312; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@8702.4]
+  reg [31:0] _RAND_15;
+  wire [10:0] _T_1313; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@8703.4]
+  wire [10:0] _T_1314; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@8704.4]
+  wire [9:0] _T_1315; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@8705.4]
+  wire  _T_1316; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@8706.4]
+  wire  _T_1327; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@8721.4]
+  wire [1:0] _T_1329; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@8724.6]
+  wire [1:0] _T_1330; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@8726.6]
+  wire  _T_1331; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@8727.6]
+  wire  _T_1332; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8728.6]
+  wire  _T_1334; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@8730.6]
+  wire  _T_1335; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@8731.6]
+  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@8723.4]
+  wire  _T_1340; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@8742.4]
+  wire  _T_1342; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@8744.4]
+  wire  _T_1343; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@8745.4]
+  wire [1:0] _T_1344; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@8747.6]
+  wire [1:0] _T_1345; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@8749.6]
+  wire [1:0] _T_1346; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@8750.6]
+  wire  _T_1347; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@8751.6]
+  wire  _T_1349; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@8753.6]
+  wire  _T_1350; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@8754.6]
+  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@8746.4]
+  wire  _T_1351; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@8760.4]
+  wire  _T_1352; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@8761.4]
+  wire  _T_1353; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@8762.4]
+  wire  _T_1354; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@8763.4]
+  wire  _T_1356; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@8765.4]
+  wire  _T_1357; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@8766.4]
+  wire [1:0] _T_1358; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@8771.4]
+  wire [1:0] _T_1359; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@8772.4]
+  wire [1:0] _T_1360; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@8773.4]
+  reg [31:0] _T_1362; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@8775.4]
+  reg [31:0] _RAND_16;
+  wire  _T_1363; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@8778.4]
+  wire  _T_1364; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@8779.4]
+  wire  _T_1365; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@8780.4]
+  wire  _T_1366; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@8781.4]
+  wire  _T_1367; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@8782.4]
+  wire  _T_1368; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@8783.4]
+  wire  _T_1370; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@8785.4]
+  wire  _T_1371; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@8786.4]
+  wire [31:0] _T_1373; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@8792.4]
+  wire  _T_1376; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@8796.4]
+  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7157.10]
+  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7307.10]
+  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7473.10]
+  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7617.10]
+  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7753.10]
+  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7889.10]
+  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8023.10]
+  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8154.10]
+  wire  _GEN_115; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8212.10]
+  wire  _GEN_125; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8254.10]
+  wire  _GEN_137; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8312.10]
+  wire  _GEN_149; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8371.10]
+  wire  _GEN_155; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8406.10]
+  wire  _GEN_161; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8442.10]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@8776.4]
+    .out(plusarg_reader_out)
+  );
+  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@6996.6]
+  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@7001.6]
+  assign _T_32 = 27'hfff << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@7003.6]
+  assign _T_33 = _T_32[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@7004.6]
+  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@7005.6]
+  assign _GEN_18 = {{20'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@7006.6]
+  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@7006.6]
+  assign _T_36 = _T_35 == 32'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@7007.6]
+  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@7009.6]
+  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@7010.6]
+  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@7012.6]
+  assign _T_42 = io_in_a_bits_size >= 4'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@7013.6]
+  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@7014.6]
+  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@7015.6]
+  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@7016.6]
+  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@7018.6]
+  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@7019.6]
+  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@7021.6]
+  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@7022.6]
+  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@7023.6]
+  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@7024.6]
+  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@7025.6]
+  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@7026.6]
+  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@7027.6]
+  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@7028.6]
+  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@7029.6]
+  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@7030.6]
+  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@7031.6]
+  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@7032.6]
+  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@7033.6]
+  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@7034.6]
+  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@7035.6]
+  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@7036.6]
+  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@7037.6]
+  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@7038.6]
+  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@7039.6]
+  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@7040.6]
+  assign _T_73 = {1'b0,$signed(io_in_a_bits_address)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@7044.6]
+  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@7065.6]
+  assign _T_92 = io_in_a_bits_address ^ 32'h3000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@7068.8]
+  assign _T_93 = {1'b0,$signed(_T_92)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@7069.8]
+  assign _T_94 = $signed(_T_93) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7070.8]
+  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7071.8]
+  assign _T_96 = $signed(_T_95) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@7072.8]
+  assign _T_97 = io_in_a_bits_address ^ 32'h10013000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@7073.8]
+  assign _T_98 = {1'b0,$signed(_T_97)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@7074.8]
+  assign _T_99 = $signed(_T_98) & $signed(-33'sh21000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7075.8]
+  assign _T_100 = $signed(_T_99); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7076.8]
+  assign _T_101 = $signed(_T_100) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@7077.8]
+  assign _T_102 = io_in_a_bits_address ^ 32'h10023000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@7078.8]
+  assign _T_103 = {1'b0,$signed(_T_102)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@7079.8]
+  assign _T_104 = $signed(_T_103) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7080.8]
+  assign _T_105 = $signed(_T_104); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7081.8]
+  assign _T_106 = $signed(_T_105) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@7082.8]
+  assign _T_107 = io_in_a_bits_address ^ 32'h10043000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@7083.8]
+  assign _T_108 = {1'b0,$signed(_T_107)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@7084.8]
+  assign _T_109 = $signed(_T_108) & $signed(-33'sh11000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7085.8]
+  assign _T_110 = $signed(_T_109); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7086.8]
+  assign _T_111 = $signed(_T_110) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@7087.8]
+  assign _T_112 = io_in_a_bits_address ^ 32'h10014000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@7088.8]
+  assign _T_113 = {1'b0,$signed(_T_112)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@7089.8]
+  assign _T_114 = $signed(_T_113) & $signed(-33'sh21000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7090.8]
+  assign _T_115 = $signed(_T_114); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7091.8]
+  assign _T_116 = $signed(_T_115) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@7092.8]
+  assign _T_117 = io_in_a_bits_address ^ 32'h20000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@7093.8]
+  assign _T_118 = {1'b0,$signed(_T_117)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@7094.8]
+  assign _T_119 = $signed(_T_118) & $signed(-33'sh20000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7095.8]
+  assign _T_120 = $signed(_T_119); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7096.8]
+  assign _T_121 = $signed(_T_120) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@7097.8]
+  assign _T_122 = io_in_a_bits_address ^ 32'h10024000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@7098.8]
+  assign _T_123 = {1'b0,$signed(_T_122)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@7099.8]
+  assign _T_124 = $signed(_T_123) & $signed(-33'sh3000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7100.8]
+  assign _T_125 = $signed(_T_124); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7101.8]
+  assign _T_126 = $signed(_T_125) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@7102.8]
+  assign _T_127 = io_in_a_bits_address ^ 32'h10012000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@7103.8]
+  assign _T_128 = {1'b0,$signed(_T_127)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@7104.8]
+  assign _T_129 = $signed(_T_128) & $signed(-33'sh5000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7105.8]
+  assign _T_130 = $signed(_T_129); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7106.8]
+  assign _T_131 = $signed(_T_130) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@7107.8]
+  assign _T_132 = io_in_a_bits_address ^ 32'hc000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@7108.8]
+  assign _T_133 = {1'b0,$signed(_T_132)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@7109.8]
+  assign _T_134 = $signed(_T_133) & $signed(-33'sh4000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7110.8]
+  assign _T_135 = $signed(_T_134); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7111.8]
+  assign _T_136 = $signed(_T_135) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@7112.8]
+  assign _T_137 = io_in_a_bits_address ^ 32'h2000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@7113.8]
+  assign _T_138 = {1'b0,$signed(_T_137)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@7114.8]
+  assign _T_139 = $signed(_T_138) & $signed(-33'sh10000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7115.8]
+  assign _T_140 = $signed(_T_139); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7116.8]
+  assign _T_141 = $signed(_T_140) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@7117.8]
+  assign _T_144 = $signed(_T_73) & $signed(-33'sh10001000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7120.8]
+  assign _T_145 = $signed(_T_144); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7121.8]
+  assign _T_146 = $signed(_T_145) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@7122.8]
+  assign _T_147 = io_in_a_bits_address ^ 32'h8000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@7123.8]
+  assign _T_148 = {1'b0,$signed(_T_147)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@7124.8]
+  assign _T_149 = $signed(_T_148) & $signed(-33'sh4000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7125.8]
+  assign _T_150 = $signed(_T_149); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7126.8]
+  assign _T_151 = $signed(_T_150) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@7127.8]
+  assign _T_152 = io_in_a_bits_address ^ 32'h80000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@7128.8]
+  assign _T_153 = {1'b0,$signed(_T_152)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@7129.8]
+  assign _T_154 = $signed(_T_153) & $signed(-33'sh4000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7130.8]
+  assign _T_155 = $signed(_T_154); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7131.8]
+  assign _T_156 = $signed(_T_155) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@7132.8]
+  assign _T_157 = io_in_a_bits_address ^ 32'h10000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@7133.8]
+  assign _T_158 = {1'b0,$signed(_T_157)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@7134.8]
+  assign _T_159 = $signed(_T_158) & $signed(-33'sh2000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7135.8]
+  assign _T_160 = $signed(_T_159); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7136.8]
+  assign _T_161 = $signed(_T_160) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@7137.8]
+  assign _T_162 = _T_96 | _T_101; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7138.8]
+  assign _T_163 = _T_162 | _T_106; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7139.8]
+  assign _T_164 = _T_163 | _T_111; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7140.8]
+  assign _T_165 = _T_164 | _T_116; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7141.8]
+  assign _T_179 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7155.8]
+  assign _T_184 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7168.8]
+  assign _T_185 = _T_184 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7169.8]
+  assign _T_188 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7176.8]
+  assign _T_189 = _T_188 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7177.8]
+  assign _T_191 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7183.8]
+  assign _T_192 = _T_191 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7184.8]
+  assign _T_193 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@7189.8]
+  assign _T_195 = _T_193 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7191.8]
+  assign _T_196 = _T_195 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7192.8]
+  assign _T_197 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@7197.8]
+  assign _T_198 = _T_197 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@7198.8]
+  assign _T_200 = _T_198 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7200.8]
+  assign _T_201 = _T_200 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7201.8]
+  assign _T_202 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@7206.8]
+  assign _T_204 = _T_202 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7208.8]
+  assign _T_205 = _T_204 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7209.8]
+  assign _T_206 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@7215.6]
+  assign _T_313 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@7347.8]
+  assign _T_315 = _T_313 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7349.8]
+  assign _T_316 = _T_315 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7350.8]
+  assign _T_326 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@7373.6]
+  assign _T_328 = io_in_a_bits_size <= 4'hc; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7376.8]
+  assign _T_336 = _T_328 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@7384.8]
+  assign _T_338 = io_in_a_bits_size <= 4'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7386.8]
+  assign _T_406 = _T_101 | _T_106; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7454.8]
+  assign _T_407 = _T_406 | _T_111; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7455.8]
+  assign _T_408 = _T_407 | _T_116; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7456.8]
+  assign _T_409 = _T_408 | _T_121; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7457.8]
+  assign _T_410 = _T_409 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7458.8]
+  assign _T_411 = _T_410 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7459.8]
+  assign _T_412 = _T_411 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7460.8]
+  assign _T_413 = _T_412 | _T_141; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7461.8]
+  assign _T_414 = _T_413 | _T_146; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7462.8]
+  assign _T_415 = _T_414 | _T_151; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7463.8]
+  assign _T_416 = _T_415 | _T_156; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7464.8]
+  assign _T_417 = _T_416 | _T_161; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7465.8]
+  assign _T_418 = _T_338 & _T_417; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@7466.8]
+  assign _T_420 = _T_336 | _T_418; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@7468.8]
+  assign _T_422 = _T_420 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7470.8]
+  assign _T_423 = _T_422 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7471.8]
+  assign _T_430 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@7490.8]
+  assign _T_432 = _T_430 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7492.8]
+  assign _T_433 = _T_432 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7493.8]
+  assign _T_434 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@7498.8]
+  assign _T_436 = _T_434 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7500.8]
+  assign _T_437 = _T_436 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7501.8]
+  assign _T_442 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@7515.6]
+  assign _T_515 = _T_408 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7589.8]
+  assign _T_516 = _T_515 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7590.8]
+  assign _T_517 = _T_516 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7591.8]
+  assign _T_518 = _T_517 | _T_141; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7592.8]
+  assign _T_519 = _T_518 | _T_146; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7593.8]
+  assign _T_520 = _T_519 | _T_151; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7594.8]
+  assign _T_521 = _T_520 | _T_156; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7595.8]
+  assign _T_522 = _T_338 & _T_521; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@7596.8]
+  assign _T_537 = _T_336 | _T_522; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@7611.8]
+  assign _T_540 = _T_537 | reset; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7614.8]
+  assign _T_541 = _T_540 == 1'h0; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7615.8]
+  assign _T_556 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@7651.6]
+  assign _T_666 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@7778.8]
+  assign _T_667 = io_in_a_bits_mask & _T_666; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@7779.8]
+  assign _T_668 = _T_667 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@7780.8]
+  assign _T_670 = _T_668 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7782.8]
+  assign _T_671 = _T_670 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7783.8]
+  assign _T_672 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@7789.6]
+  assign _T_674 = io_in_a_bits_size <= 4'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7792.8]
+  assign _T_716 = _T_165 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7834.8]
+  assign _T_717 = _T_716 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7835.8]
+  assign _T_718 = _T_674 & _T_717; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@7836.8]
+  assign _T_719 = 4'h2 == io_in_a_bits_size; // @[Parameters.scala 89:48:shc.marmotcaravel.MarmotCaravelConfig.fir@7837.8]
+  assign _T_726 = _T_719 & _T_156; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@7844.8]
+  assign _T_765 = _T_718 | _T_726; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@7883.8]
+  assign _T_768 = _T_765 | reset; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7886.8]
+  assign _T_769 = _T_768 == 1'h0; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7887.8]
+  assign _T_776 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@7906.8]
+  assign _T_778 = _T_776 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7908.8]
+  assign _T_779 = _T_778 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7909.8]
+  assign _T_784 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@7923.6]
+  assign _T_888 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@8040.8]
+  assign _T_890 = _T_888 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8042.8]
+  assign _T_891 = _T_890 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8043.8]
+  assign _T_896 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@8057.6]
+  assign _T_989 = _T_336 | reset; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8151.8]
+  assign _T_990 = _T_989 == 1'h0; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8152.8]
+  assign _T_1005 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8190.6]
+  assign _T_1007 = _T_1005 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@8192.6]
+  assign _T_1008 = _T_1007 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@8193.6]
+  assign _T_1010 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@8199.6]
+  assign _T_1019 = io_in_d_bits_source | _T_1010; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@8204.6]
+  assign _T_1021 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@8206.6]
+  assign _T_1023 = _T_1019 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8209.8]
+  assign _T_1024 = _T_1023 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8210.8]
+  assign _T_1025 = io_in_d_bits_size >= 4'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@8215.8]
+  assign _T_1027 = _T_1025 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8217.8]
+  assign _T_1028 = _T_1027 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8218.8]
+  assign _T_1029 = io_in_d_bits_param == 2'h0; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@8223.8]
+  assign _T_1031 = _T_1029 | reset; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8225.8]
+  assign _T_1032 = _T_1031 == 1'h0; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8226.8]
+  assign _T_1033 = io_in_d_bits_corrupt == 1'h0; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@8231.8]
+  assign _T_1035 = _T_1033 | reset; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8233.8]
+  assign _T_1036 = _T_1035 == 1'h0; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8234.8]
+  assign _T_1037 = io_in_d_bits_denied == 1'h0; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@8239.8]
+  assign _T_1039 = _T_1037 | reset; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8241.8]
+  assign _T_1040 = _T_1039 == 1'h0; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8242.8]
+  assign _T_1041 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@8248.6]
+  assign _T_1052 = io_in_d_bits_param <= 2'h2; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@8272.8]
+  assign _T_1054 = _T_1052 | reset; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8274.8]
+  assign _T_1055 = _T_1054 == 1'h0; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8275.8]
+  assign _T_1056 = io_in_d_bits_param != 2'h2; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@8280.8]
+  assign _T_1058 = _T_1056 | reset; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8282.8]
+  assign _T_1059 = _T_1058 == 1'h0; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8283.8]
+  assign _T_1069 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@8306.6]
+  assign _T_1089 = _T_1037 | io_in_d_bits_corrupt; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@8347.8]
+  assign _T_1091 = _T_1089 | reset; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8349.8]
+  assign _T_1092 = _T_1091 == 1'h0; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8350.8]
+  assign _T_1098 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@8365.6]
+  assign _T_1115 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@8400.6]
+  assign _T_1133 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@8436.6]
+  assign _T_1162 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@8496.4]
+  assign _T_1167 = _T_34[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@8501.4]
+  assign _T_1168 = io_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@8502.4]
+  assign _T_1169 = _T_1168 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@8503.4]
+  assign _T_1173 = _T_1172 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@8506.4]
+  assign _T_1174 = $unsigned(_T_1173); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@8507.4]
+  assign _T_1175 = _T_1174[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@8508.4]
+  assign _T_1176 = _T_1172 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@8509.4]
+  assign _T_1194 = _T_1176 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@8525.4]
+  assign _T_1195 = io_in_a_valid & _T_1194; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@8526.4]
+  assign _T_1196 = io_in_a_bits_opcode == _T_1185; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@8528.6]
+  assign _T_1198 = _T_1196 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8530.6]
+  assign _T_1199 = _T_1198 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8531.6]
+  assign _T_1200 = io_in_a_bits_param == _T_1187; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@8536.6]
+  assign _T_1202 = _T_1200 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8538.6]
+  assign _T_1203 = _T_1202 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8539.6]
+  assign _T_1204 = io_in_a_bits_size == _T_1189; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@8544.6]
+  assign _T_1206 = _T_1204 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8546.6]
+  assign _T_1207 = _T_1206 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8547.6]
+  assign _T_1208 = io_in_a_bits_source == _T_1191; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@8552.6]
+  assign _T_1210 = _T_1208 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8554.6]
+  assign _T_1211 = _T_1210 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8555.6]
+  assign _T_1212 = io_in_a_bits_address == _T_1193; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@8560.6]
+  assign _T_1214 = _T_1212 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8562.6]
+  assign _T_1215 = _T_1214 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8563.6]
+  assign _T_1217 = _T_1162 & _T_1176; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@8570.4]
+  assign _T_1218 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@8578.4]
+  assign _T_1220 = 27'hfff << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@8580.4]
+  assign _T_1221 = _T_1220[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@8581.4]
+  assign _T_1222 = ~ _T_1221; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@8582.4]
+  assign _T_1223 = _T_1222[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@8583.4]
+  assign _T_1224 = io_in_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@8584.4]
+  assign _T_1228 = _T_1227 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@8587.4]
+  assign _T_1229 = $unsigned(_T_1228); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@8588.4]
+  assign _T_1230 = _T_1229[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@8589.4]
+  assign _T_1231 = _T_1227 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@8590.4]
+  assign _T_1251 = _T_1231 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@8607.4]
+  assign _T_1252 = io_in_d_valid & _T_1251; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@8608.4]
+  assign _T_1253 = io_in_d_bits_opcode == _T_1240; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@8610.6]
+  assign _T_1255 = _T_1253 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8612.6]
+  assign _T_1256 = _T_1255 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8613.6]
+  assign _T_1257 = io_in_d_bits_param == _T_1242; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@8618.6]
+  assign _T_1259 = _T_1257 | reset; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8620.6]
+  assign _T_1260 = _T_1259 == 1'h0; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8621.6]
+  assign _T_1261 = io_in_d_bits_size == _T_1244; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@8626.6]
+  assign _T_1263 = _T_1261 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8628.6]
+  assign _T_1264 = _T_1263 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8629.6]
+  assign _T_1265 = io_in_d_bits_source == _T_1246; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@8634.6]
+  assign _T_1267 = _T_1265 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8636.6]
+  assign _T_1268 = _T_1267 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8637.6]
+  assign _T_1269 = io_in_d_bits_sink == _T_1248; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@8642.6]
+  assign _T_1271 = _T_1269 | reset; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8644.6]
+  assign _T_1272 = _T_1271 == 1'h0; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8645.6]
+  assign _T_1273 = io_in_d_bits_denied == _T_1250; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@8650.6]
+  assign _T_1275 = _T_1273 | reset; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8652.6]
+  assign _T_1276 = _T_1275 == 1'h0; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8653.6]
+  assign _T_1278 = _T_1218 & _T_1231; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@8660.4]
+  assign _T_1292 = _T_1291 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@8680.4]
+  assign _T_1293 = $unsigned(_T_1292); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@8681.4]
+  assign _T_1294 = _T_1293[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@8682.4]
+  assign _T_1295 = _T_1291 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@8683.4]
+  assign _T_1313 = _T_1312 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@8703.4]
+  assign _T_1314 = $unsigned(_T_1313); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@8704.4]
+  assign _T_1315 = _T_1314[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@8705.4]
+  assign _T_1316 = _T_1312 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@8706.4]
+  assign _T_1327 = _T_1162 & _T_1295; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@8721.4]
+  assign _T_1329 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@8724.6]
+  assign _T_1330 = _T_1280 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@8726.6]
+  assign _T_1331 = _T_1330[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@8727.6]
+  assign _T_1332 = _T_1331 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8728.6]
+  assign _T_1334 = _T_1332 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@8730.6]
+  assign _T_1335 = _T_1334 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@8731.6]
+  assign _GEN_15 = _T_1327 ? _T_1329 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@8723.4]
+  assign _T_1340 = _T_1218 & _T_1316; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@8742.4]
+  assign _T_1342 = _T_1021 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@8744.4]
+  assign _T_1343 = _T_1340 & _T_1342; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@8745.4]
+  assign _T_1344 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@8747.6]
+  assign _T_1345 = _GEN_15 | _T_1280; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@8749.6]
+  assign _T_1346 = _T_1345 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@8750.6]
+  assign _T_1347 = _T_1346[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@8751.6]
+  assign _T_1349 = _T_1347 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@8753.6]
+  assign _T_1350 = _T_1349 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@8754.6]
+  assign _GEN_16 = _T_1343 ? _T_1344 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@8746.4]
+  assign _T_1351 = _GEN_15 != _GEN_16; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@8760.4]
+  assign _T_1352 = _GEN_15 != 2'h0; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@8761.4]
+  assign _T_1353 = _T_1352 == 1'h0; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@8762.4]
+  assign _T_1354 = _T_1351 | _T_1353; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@8763.4]
+  assign _T_1356 = _T_1354 | reset; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@8765.4]
+  assign _T_1357 = _T_1356 == 1'h0; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@8766.4]
+  assign _T_1358 = _T_1280 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@8771.4]
+  assign _T_1359 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@8772.4]
+  assign _T_1360 = _T_1358 & _T_1359; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@8773.4]
+  assign _T_1363 = _T_1280 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@8778.4]
+  assign _T_1364 = _T_1363 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@8779.4]
+  assign _T_1365 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@8780.4]
+  assign _T_1366 = _T_1364 | _T_1365; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@8781.4]
+  assign _T_1367 = _T_1362 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@8782.4]
+  assign _T_1368 = _T_1366 | _T_1367; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@8783.4]
+  assign _T_1370 = _T_1368 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@8785.4]
+  assign _T_1371 = _T_1370 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@8786.4]
+  assign _T_1373 = _T_1362 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@8792.4]
+  assign _T_1376 = _T_1162 | _T_1218; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@8796.4]
+  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7157.10]
+  assign _GEN_35 = io_in_a_valid & _T_206; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7307.10]
+  assign _GEN_53 = io_in_a_valid & _T_326; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7473.10]
+  assign _GEN_65 = io_in_a_valid & _T_442; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7617.10]
+  assign _GEN_75 = io_in_a_valid & _T_556; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7753.10]
+  assign _GEN_85 = io_in_a_valid & _T_672; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7889.10]
+  assign _GEN_95 = io_in_a_valid & _T_784; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8023.10]
+  assign _GEN_105 = io_in_a_valid & _T_896; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8154.10]
+  assign _GEN_115 = io_in_d_valid & _T_1021; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8212.10]
+  assign _GEN_125 = io_in_d_valid & _T_1041; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8254.10]
+  assign _GEN_137 = io_in_d_valid & _T_1069; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8312.10]
+  assign _GEN_149 = io_in_d_valid & _T_1098; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8371.10]
+  assign _GEN_155 = io_in_d_valid & _T_1115; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8406.10]
+  assign _GEN_161 = io_in_d_valid & _T_1133; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8442.10]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  _T_1172 = _RAND_0[9:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  _T_1185 = _RAND_1[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  _T_1187 = _RAND_2[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  _T_1189 = _RAND_3[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  _T_1191 = _RAND_4[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  _T_1193 = _RAND_5[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {1{`RANDOM}};
+  _T_1227 = _RAND_6[9:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {1{`RANDOM}};
+  _T_1240 = _RAND_7[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_8 = {1{`RANDOM}};
+  _T_1242 = _RAND_8[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_9 = {1{`RANDOM}};
+  _T_1244 = _RAND_9[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_10 = {1{`RANDOM}};
+  _T_1246 = _RAND_10[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_11 = {1{`RANDOM}};
+  _T_1248 = _RAND_11[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_12 = {1{`RANDOM}};
+  _T_1250 = _RAND_12[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_13 = {1{`RANDOM}};
+  _T_1280 = _RAND_13[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_14 = {1{`RANDOM}};
+  _T_1291 = _RAND_14[9:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_15 = {1{`RANDOM}};
+  _T_1312 = _RAND_15[9:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_16 = {1{`RANDOM}};
+  _T_1362 = _RAND_16[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      _T_1172 <= 10'h0;
+    end else begin
+      if (_T_1162) begin
+        if (_T_1176) begin
+          if (_T_1169) begin
+            _T_1172 <= _T_1167;
+          end else begin
+            _T_1172 <= 10'h0;
+          end
+        end else begin
+          _T_1172 <= _T_1175;
+        end
+      end
+    end
+    if (_T_1217) begin
+      _T_1185 <= io_in_a_bits_opcode;
+    end
+    if (_T_1217) begin
+      _T_1187 <= io_in_a_bits_param;
+    end
+    if (_T_1217) begin
+      _T_1189 <= io_in_a_bits_size;
+    end
+    if (_T_1217) begin
+      _T_1191 <= io_in_a_bits_source;
+    end
+    if (_T_1217) begin
+      _T_1193 <= io_in_a_bits_address;
+    end
+    if (reset) begin
+      _T_1227 <= 10'h0;
+    end else begin
+      if (_T_1218) begin
+        if (_T_1231) begin
+          if (_T_1224) begin
+            _T_1227 <= _T_1223;
+          end else begin
+            _T_1227 <= 10'h0;
+          end
+        end else begin
+          _T_1227 <= _T_1230;
+        end
+      end
+    end
+    if (_T_1278) begin
+      _T_1240 <= io_in_d_bits_opcode;
+    end
+    if (_T_1278) begin
+      _T_1242 <= io_in_d_bits_param;
+    end
+    if (_T_1278) begin
+      _T_1244 <= io_in_d_bits_size;
+    end
+    if (_T_1278) begin
+      _T_1246 <= io_in_d_bits_source;
+    end
+    if (_T_1278) begin
+      _T_1248 <= io_in_d_bits_sink;
+    end
+    if (_T_1278) begin
+      _T_1250 <= io_in_d_bits_denied;
+    end
+    if (reset) begin
+      _T_1280 <= 2'h0;
+    end else begin
+      _T_1280 <= _T_1360;
+    end
+    if (reset) begin
+      _T_1291 <= 10'h0;
+    end else begin
+      if (_T_1162) begin
+        if (_T_1295) begin
+          if (_T_1169) begin
+            _T_1291 <= _T_1167;
+          end else begin
+            _T_1291 <= 10'h0;
+          end
+        end else begin
+          _T_1291 <= _T_1294;
+        end
+      end
+    end
+    if (reset) begin
+      _T_1312 <= 10'h0;
+    end else begin
+      if (_T_1218) begin
+        if (_T_1316) begin
+          if (_T_1224) begin
+            _T_1312 <= _T_1223;
+          end else begin
+            _T_1312 <= 10'h0;
+          end
+        end else begin
+          _T_1312 <= _T_1315;
+        end
+      end
+    end
+    if (reset) begin
+      _T_1362 <= 32'h0;
+    end else begin
+      if (_T_1376) begin
+        _T_1362 <= 32'h0;
+      end else begin
+        _T_1362 <= _T_1373;
+      end
+    end
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@6992.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@6993.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@7062.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@7063.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_179) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7157.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_179) begin
+          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7158.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_179) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7164.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_179) begin
+          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7165.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_185) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7171.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_185) begin
+          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7172.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_189) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7179.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_189) begin
+          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7180.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_192) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7186.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_192) begin
+          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7187.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_196) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7194.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_196) begin
+          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7195.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_201) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7203.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_201) begin
+          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7204.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_205) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7211.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_205) begin
+          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7212.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_179) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7307.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_179) begin
+          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7308.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_179) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7314.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_179) begin
+          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7315.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_185) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7321.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_185) begin
+          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7322.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_189) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7329.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_189) begin
+          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7330.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_192) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7336.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_192) begin
+          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7337.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_196) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7344.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_196) begin
+          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7345.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_316) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7352.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_316) begin
+          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7353.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_201) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7361.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_201) begin
+          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7362.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_205) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7369.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_205) begin
+          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7370.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_423) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7473.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_423) begin
+          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7474.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_185) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7480.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_185) begin
+          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7481.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_192) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7487.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_192) begin
+          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7488.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_433) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7495.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_433) begin
+          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7496.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_437) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7503.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_437) begin
+          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7504.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_205) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7511.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_205) begin
+          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7512.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_541) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7617.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_541) begin
+          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7618.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_185) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7624.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_185) begin
+          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7625.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_192) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7631.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_192) begin
+          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7632.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_433) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7639.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_433) begin
+          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7640.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_437) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7647.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_437) begin
+          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7648.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_541) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7753.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_541) begin
+          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7754.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_185) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7760.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_185) begin
+          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7761.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_192) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7767.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_192) begin
+          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7768.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_433) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7775.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_433) begin
+          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7776.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_671) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7785.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_671) begin
+          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7786.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_769) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7889.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_769) begin
+          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7890.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_185) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7896.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_185) begin
+          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7897.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_192) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7903.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_192) begin
+          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7904.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_779) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7911.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_779) begin
+          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7912.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_437) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7919.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_437) begin
+          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7920.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_769) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8023.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_769) begin
+          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8024.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_185) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8030.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_185) begin
+          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8031.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_192) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8037.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_192) begin
+          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8038.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_891) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8045.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_891) begin
+          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8046.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_437) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8053.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_437) begin
+          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8054.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_990) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8154.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_990) begin
+          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8155.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_185) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8161.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_185) begin
+          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8162.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_192) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8168.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_192) begin
+          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8169.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_437) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8176.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_437) begin
+          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8177.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_205) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8184.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_205) begin
+          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8185.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1008) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@8195.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1008) begin
+          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@8196.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_1024) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8212.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_1024) begin
+          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8213.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_1028) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8220.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_1028) begin
+          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8221.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_1032) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8228.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_1032) begin
+          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8229.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_1036) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8236.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_1036) begin
+          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8237.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_1040) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8244.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_1040) begin
+          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8245.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_1024) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8254.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_1024) begin
+          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8255.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_179) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8261.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_179) begin
+          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8262.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_1028) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8269.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_1028) begin
+          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8270.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_1055) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8277.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_1055) begin
+          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8278.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_1059) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8285.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_1059) begin
+          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8286.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_1036) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8293.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_1036) begin
+          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8294.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8302.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8303.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_137 & _T_1024) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8312.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_137 & _T_1024) begin
+          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8313.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_137 & _T_179) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8319.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_137 & _T_179) begin
+          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8320.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_137 & _T_1028) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8327.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_137 & _T_1028) begin
+          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8328.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_137 & _T_1055) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8335.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_137 & _T_1055) begin
+          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8336.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_137 & _T_1059) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8343.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_137 & _T_1059) begin
+          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8344.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_137 & _T_1092) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8352.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_137 & _T_1092) begin
+          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8353.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8361.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8362.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_149 & _T_1024) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8371.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_149 & _T_1024) begin
+          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8372.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_149 & _T_1032) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8379.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_149 & _T_1032) begin
+          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8380.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_149 & _T_1036) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8387.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_149 & _T_1036) begin
+          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8388.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8396.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8397.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_155 & _T_1024) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8406.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_155 & _T_1024) begin
+          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8407.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_155 & _T_1032) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8414.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_155 & _T_1032) begin
+          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8415.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_155 & _T_1092) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8423.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_155 & _T_1092) begin
+          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8424.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8432.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8433.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_161 & _T_1024) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8442.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_161 & _T_1024) begin
+          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8443.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_161 & _T_1032) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8450.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_161 & _T_1032) begin
+          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8451.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_161 & _T_1036) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8458.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_161 & _T_1036) begin
+          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8459.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8467.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8468.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8477.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8478.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8485.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8486.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8493.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8494.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1195 & _T_1199) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8533.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1195 & _T_1199) begin
+          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8534.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1195 & _T_1203) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8541.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1195 & _T_1203) begin
+          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8542.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1195 & _T_1207) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8549.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1195 & _T_1207) begin
+          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8550.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1195 & _T_1211) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8557.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1195 & _T_1211) begin
+          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8558.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1195 & _T_1215) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8565.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1195 & _T_1215) begin
+          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8566.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1252 & _T_1256) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8615.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1252 & _T_1256) begin
+          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8616.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1252 & _T_1260) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8623.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1252 & _T_1260) begin
+          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8624.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1252 & _T_1264) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8631.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1252 & _T_1264) begin
+          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8632.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1252 & _T_1268) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8639.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1252 & _T_1268) begin
+          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8640.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1252 & _T_1272) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8647.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1252 & _T_1272) begin
+          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8648.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1252 & _T_1276) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8655.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1252 & _T_1276) begin
+          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8656.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1327 & _T_1335) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@8733.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1327 & _T_1335) begin
+          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@8734.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1343 & _T_1350) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@8756.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1343 & _T_1350) begin
+          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@8757.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1357) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' and 'D' concurrent, despite minlatency 2 (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:471 assert(a_set =/= d_clr || !a_set.orR, s\"'A' and 'D' concurrent, despite minlatency ${edge.manager.minLatency}\" + extra)\n"); // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@8768.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1357) begin
+          $fatal; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@8769.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1371) begin
+          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@8788.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1371) begin
+          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@8789.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+endmodule
+module Queue( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8801.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8802.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8803.4]
+  output        io_enq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8804.4]
+  input         io_enq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8804.4]
+  input  [2:0]  io_enq_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8804.4]
+  input  [2:0]  io_enq_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8804.4]
+  input  [3:0]  io_enq_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8804.4]
+  input         io_enq_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8804.4]
+  input  [31:0] io_enq_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8804.4]
+  input  [3:0]  io_enq_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8804.4]
+  input  [31:0] io_enq_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8804.4]
+  input         io_enq_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8804.4]
+  input         io_deq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8804.4]
+  output        io_deq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8804.4]
+  output [2:0]  io_deq_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8804.4]
+  output [2:0]  io_deq_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8804.4]
+  output [3:0]  io_deq_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8804.4]
+  output        io_deq_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8804.4]
+  output [31:0] io_deq_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8804.4]
+  output [3:0]  io_deq_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8804.4]
+  output [31:0] io_deq_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8804.4]
+  output        io_deq_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8804.4]
+);
+  reg [2:0] _T_35_opcode [0:1]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
+  reg [31:0] _RAND_0;
+  wire [2:0] _T_35_opcode__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
+  wire  _T_35_opcode__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
+  wire [2:0] _T_35_opcode__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
+  wire  _T_35_opcode__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
+  wire  _T_35_opcode__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
+  wire  _T_35_opcode__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
+  reg [2:0] _T_35_param [0:1]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
+  reg [31:0] _RAND_1;
+  wire [2:0] _T_35_param__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
+  wire  _T_35_param__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
+  wire [2:0] _T_35_param__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
+  wire  _T_35_param__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
+  wire  _T_35_param__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
+  wire  _T_35_param__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
+  reg [3:0] _T_35_size [0:1]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
+  reg [31:0] _RAND_2;
+  wire [3:0] _T_35_size__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
+  wire  _T_35_size__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
+  wire [3:0] _T_35_size__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
+  wire  _T_35_size__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
+  wire  _T_35_size__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
+  wire  _T_35_size__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
+  reg  _T_35_source [0:1]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
+  reg [31:0] _RAND_3;
+  wire  _T_35_source__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
+  wire  _T_35_source__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
+  wire  _T_35_source__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
+  wire  _T_35_source__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
+  wire  _T_35_source__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
+  wire  _T_35_source__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
+  reg [31:0] _T_35_address [0:1]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
+  reg [31:0] _RAND_4;
+  wire [31:0] _T_35_address__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
+  wire  _T_35_address__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
+  wire [31:0] _T_35_address__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
+  wire  _T_35_address__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
+  wire  _T_35_address__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
+  wire  _T_35_address__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
+  reg [3:0] _T_35_mask [0:1]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
+  reg [31:0] _RAND_5;
+  wire [3:0] _T_35_mask__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
+  wire  _T_35_mask__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
+  wire [3:0] _T_35_mask__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
+  wire  _T_35_mask__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
+  wire  _T_35_mask__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
+  wire  _T_35_mask__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
+  reg [31:0] _T_35_data [0:1]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
+  reg [31:0] _RAND_6;
+  wire [31:0] _T_35_data__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
+  wire  _T_35_data__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
+  wire [31:0] _T_35_data__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
+  wire  _T_35_data__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
+  wire  _T_35_data__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
+  wire  _T_35_data__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
+  reg  _T_35_corrupt [0:1]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
+  reg [31:0] _RAND_7;
+  wire  _T_35_corrupt__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
+  wire  _T_35_corrupt__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
+  wire  _T_35_corrupt__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
+  wire  _T_35_corrupt__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
+  wire  _T_35_corrupt__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
+  wire  _T_35_corrupt__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
+  reg  value; // @[Counter.scala 26:33:shc.marmotcaravel.MarmotCaravelConfig.fir@8807.4]
+  reg [31:0] _RAND_8;
+  reg  value_1; // @[Counter.scala 26:33:shc.marmotcaravel.MarmotCaravelConfig.fir@8808.4]
+  reg [31:0] _RAND_9;
+  reg  _T_39; // @[Decoupled.scala 217:35:shc.marmotcaravel.MarmotCaravelConfig.fir@8809.4]
+  reg [31:0] _RAND_10;
+  wire  _T_40; // @[Decoupled.scala 219:41:shc.marmotcaravel.MarmotCaravelConfig.fir@8810.4]
+  wire  _T_41; // @[Decoupled.scala 220:36:shc.marmotcaravel.MarmotCaravelConfig.fir@8811.4]
+  wire  _T_42; // @[Decoupled.scala 220:33:shc.marmotcaravel.MarmotCaravelConfig.fir@8812.4]
+  wire  _T_43; // @[Decoupled.scala 221:32:shc.marmotcaravel.MarmotCaravelConfig.fir@8813.4]
+  wire  _T_44; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@8814.4]
+  wire  _T_47; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@8817.4]
+  wire  _T_52; // @[Counter.scala 35:22:shc.marmotcaravel.MarmotCaravelConfig.fir@8832.6]
+  wire  _T_54; // @[Counter.scala 35:22:shc.marmotcaravel.MarmotCaravelConfig.fir@8838.6]
+  wire  _T_55; // @[Decoupled.scala 232:16:shc.marmotcaravel.MarmotCaravelConfig.fir@8841.4]
+  assign _T_35_opcode__T_58_addr = value_1;
+  assign _T_35_opcode__T_58_data = _T_35_opcode[_T_35_opcode__T_58_addr]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
+  assign _T_35_opcode__T_50_data = io_enq_bits_opcode;
+  assign _T_35_opcode__T_50_addr = value;
+  assign _T_35_opcode__T_50_mask = 1'h1;
+  assign _T_35_opcode__T_50_en = io_enq_ready & io_enq_valid;
+  assign _T_35_param__T_58_addr = value_1;
+  assign _T_35_param__T_58_data = _T_35_param[_T_35_param__T_58_addr]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
+  assign _T_35_param__T_50_data = io_enq_bits_param;
+  assign _T_35_param__T_50_addr = value;
+  assign _T_35_param__T_50_mask = 1'h1;
+  assign _T_35_param__T_50_en = io_enq_ready & io_enq_valid;
+  assign _T_35_size__T_58_addr = value_1;
+  assign _T_35_size__T_58_data = _T_35_size[_T_35_size__T_58_addr]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
+  assign _T_35_size__T_50_data = io_enq_bits_size;
+  assign _T_35_size__T_50_addr = value;
+  assign _T_35_size__T_50_mask = 1'h1;
+  assign _T_35_size__T_50_en = io_enq_ready & io_enq_valid;
+  assign _T_35_source__T_58_addr = value_1;
+  assign _T_35_source__T_58_data = _T_35_source[_T_35_source__T_58_addr]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
+  assign _T_35_source__T_50_data = io_enq_bits_source;
+  assign _T_35_source__T_50_addr = value;
+  assign _T_35_source__T_50_mask = 1'h1;
+  assign _T_35_source__T_50_en = io_enq_ready & io_enq_valid;
+  assign _T_35_address__T_58_addr = value_1;
+  assign _T_35_address__T_58_data = _T_35_address[_T_35_address__T_58_addr]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
+  assign _T_35_address__T_50_data = io_enq_bits_address;
+  assign _T_35_address__T_50_addr = value;
+  assign _T_35_address__T_50_mask = 1'h1;
+  assign _T_35_address__T_50_en = io_enq_ready & io_enq_valid;
+  assign _T_35_mask__T_58_addr = value_1;
+  assign _T_35_mask__T_58_data = _T_35_mask[_T_35_mask__T_58_addr]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
+  assign _T_35_mask__T_50_data = io_enq_bits_mask;
+  assign _T_35_mask__T_50_addr = value;
+  assign _T_35_mask__T_50_mask = 1'h1;
+  assign _T_35_mask__T_50_en = io_enq_ready & io_enq_valid;
+  assign _T_35_data__T_58_addr = value_1;
+  assign _T_35_data__T_58_data = _T_35_data[_T_35_data__T_58_addr]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
+  assign _T_35_data__T_50_data = io_enq_bits_data;
+  assign _T_35_data__T_50_addr = value;
+  assign _T_35_data__T_50_mask = 1'h1;
+  assign _T_35_data__T_50_en = io_enq_ready & io_enq_valid;
+  assign _T_35_corrupt__T_58_addr = value_1;
+  assign _T_35_corrupt__T_58_data = _T_35_corrupt[_T_35_corrupt__T_58_addr]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
+  assign _T_35_corrupt__T_50_data = io_enq_bits_corrupt;
+  assign _T_35_corrupt__T_50_addr = value;
+  assign _T_35_corrupt__T_50_mask = 1'h1;
+  assign _T_35_corrupt__T_50_en = io_enq_ready & io_enq_valid;
+  assign _T_40 = value == value_1; // @[Decoupled.scala 219:41:shc.marmotcaravel.MarmotCaravelConfig.fir@8810.4]
+  assign _T_41 = _T_39 == 1'h0; // @[Decoupled.scala 220:36:shc.marmotcaravel.MarmotCaravelConfig.fir@8811.4]
+  assign _T_42 = _T_40 & _T_41; // @[Decoupled.scala 220:33:shc.marmotcaravel.MarmotCaravelConfig.fir@8812.4]
+  assign _T_43 = _T_40 & _T_39; // @[Decoupled.scala 221:32:shc.marmotcaravel.MarmotCaravelConfig.fir@8813.4]
+  assign _T_44 = io_enq_ready & io_enq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@8814.4]
+  assign _T_47 = io_deq_ready & io_deq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@8817.4]
+  assign _T_52 = value + 1'h1; // @[Counter.scala 35:22:shc.marmotcaravel.MarmotCaravelConfig.fir@8832.6]
+  assign _T_54 = value_1 + 1'h1; // @[Counter.scala 35:22:shc.marmotcaravel.MarmotCaravelConfig.fir@8838.6]
+  assign _T_55 = _T_44 != _T_47; // @[Decoupled.scala 232:16:shc.marmotcaravel.MarmotCaravelConfig.fir@8841.4]
+  assign io_enq_ready = _T_43 == 1'h0; // @[Decoupled.scala 237:16:shc.marmotcaravel.MarmotCaravelConfig.fir@8848.4]
+  assign io_deq_valid = _T_42 == 1'h0; // @[Decoupled.scala 236:16:shc.marmotcaravel.MarmotCaravelConfig.fir@8846.4]
+  assign io_deq_bits_opcode = _T_35_opcode__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@8857.4]
+  assign io_deq_bits_param = _T_35_param__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@8856.4]
+  assign io_deq_bits_size = _T_35_size__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@8855.4]
+  assign io_deq_bits_source = _T_35_source__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@8854.4]
+  assign io_deq_bits_address = _T_35_address__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@8853.4]
+  assign io_deq_bits_mask = _T_35_mask__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@8852.4]
+  assign io_deq_bits_data = _T_35_data__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@8851.4]
+  assign io_deq_bits_corrupt = _T_35_corrupt__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@8850.4]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  _RAND_0 = {1{`RANDOM}};
+  `ifdef RANDOMIZE_MEM_INIT
+  for (initvar = 0; initvar < 2; initvar = initvar+1)
+    _T_35_opcode[initvar] = _RAND_0[2:0];
+  `endif // RANDOMIZE_MEM_INIT
+  _RAND_1 = {1{`RANDOM}};
+  `ifdef RANDOMIZE_MEM_INIT
+  for (initvar = 0; initvar < 2; initvar = initvar+1)
+    _T_35_param[initvar] = _RAND_1[2:0];
+  `endif // RANDOMIZE_MEM_INIT
+  _RAND_2 = {1{`RANDOM}};
+  `ifdef RANDOMIZE_MEM_INIT
+  for (initvar = 0; initvar < 2; initvar = initvar+1)
+    _T_35_size[initvar] = _RAND_2[3:0];
+  `endif // RANDOMIZE_MEM_INIT
+  _RAND_3 = {1{`RANDOM}};
+  `ifdef RANDOMIZE_MEM_INIT
+  for (initvar = 0; initvar < 2; initvar = initvar+1)
+    _T_35_source[initvar] = _RAND_3[0:0];
+  `endif // RANDOMIZE_MEM_INIT
+  _RAND_4 = {1{`RANDOM}};
+  `ifdef RANDOMIZE_MEM_INIT
+  for (initvar = 0; initvar < 2; initvar = initvar+1)
+    _T_35_address[initvar] = _RAND_4[31:0];
+  `endif // RANDOMIZE_MEM_INIT
+  _RAND_5 = {1{`RANDOM}};
+  `ifdef RANDOMIZE_MEM_INIT
+  for (initvar = 0; initvar < 2; initvar = initvar+1)
+    _T_35_mask[initvar] = _RAND_5[3:0];
+  `endif // RANDOMIZE_MEM_INIT
+  _RAND_6 = {1{`RANDOM}};
+  `ifdef RANDOMIZE_MEM_INIT
+  for (initvar = 0; initvar < 2; initvar = initvar+1)
+    _T_35_data[initvar] = _RAND_6[31:0];
+  `endif // RANDOMIZE_MEM_INIT
+  _RAND_7 = {1{`RANDOM}};
+  `ifdef RANDOMIZE_MEM_INIT
+  for (initvar = 0; initvar < 2; initvar = initvar+1)
+    _T_35_corrupt[initvar] = _RAND_7[0:0];
+  `endif // RANDOMIZE_MEM_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_8 = {1{`RANDOM}};
+  value = _RAND_8[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_9 = {1{`RANDOM}};
+  value_1 = _RAND_9[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_10 = {1{`RANDOM}};
+  _T_39 = _RAND_10[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if(_T_35_opcode__T_50_en & _T_35_opcode__T_50_mask) begin
+      _T_35_opcode[_T_35_opcode__T_50_addr] <= _T_35_opcode__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
+    end
+    if(_T_35_param__T_50_en & _T_35_param__T_50_mask) begin
+      _T_35_param[_T_35_param__T_50_addr] <= _T_35_param__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
+    end
+    if(_T_35_size__T_50_en & _T_35_size__T_50_mask) begin
+      _T_35_size[_T_35_size__T_50_addr] <= _T_35_size__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
+    end
+    if(_T_35_source__T_50_en & _T_35_source__T_50_mask) begin
+      _T_35_source[_T_35_source__T_50_addr] <= _T_35_source__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
+    end
+    if(_T_35_address__T_50_en & _T_35_address__T_50_mask) begin
+      _T_35_address[_T_35_address__T_50_addr] <= _T_35_address__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
+    end
+    if(_T_35_mask__T_50_en & _T_35_mask__T_50_mask) begin
+      _T_35_mask[_T_35_mask__T_50_addr] <= _T_35_mask__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
+    end
+    if(_T_35_data__T_50_en & _T_35_data__T_50_mask) begin
+      _T_35_data[_T_35_data__T_50_addr] <= _T_35_data__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
+    end
+    if(_T_35_corrupt__T_50_en & _T_35_corrupt__T_50_mask) begin
+      _T_35_corrupt[_T_35_corrupt__T_50_addr] <= _T_35_corrupt__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
+    end
+    if (reset) begin
+      value <= 1'h0;
+    end else begin
+      if (_T_44) begin
+        value <= _T_52;
+      end
+    end
+    if (reset) begin
+      value_1 <= 1'h0;
+    end else begin
+      if (_T_47) begin
+        value_1 <= _T_54;
+      end
+    end
+    if (reset) begin
+      _T_39 <= 1'h0;
+    end else begin
+      if (_T_55) begin
+        _T_39 <= _T_44;
+      end
+    end
+  end
+endmodule
+module Queue_1( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8865.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8866.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8867.4]
+  output        io_enq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8868.4]
+  input         io_enq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8868.4]
+  input  [2:0]  io_enq_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8868.4]
+  input  [1:0]  io_enq_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8868.4]
+  input  [3:0]  io_enq_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8868.4]
+  input         io_enq_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8868.4]
+  input         io_enq_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8868.4]
+  input         io_enq_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8868.4]
+  input  [31:0] io_enq_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8868.4]
+  input         io_enq_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8868.4]
+  input         io_deq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8868.4]
+  output        io_deq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8868.4]
+  output [2:0]  io_deq_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8868.4]
+  output [1:0]  io_deq_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8868.4]
+  output [3:0]  io_deq_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8868.4]
+  output        io_deq_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8868.4]
+  output        io_deq_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8868.4]
+  output        io_deq_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8868.4]
+  output [31:0] io_deq_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8868.4]
+  output        io_deq_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8868.4]
+);
+  reg [2:0] _T_35_opcode [0:1]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
+  reg [31:0] _RAND_0;
+  wire [2:0] _T_35_opcode__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
+  wire  _T_35_opcode__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
+  wire [2:0] _T_35_opcode__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
+  wire  _T_35_opcode__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
+  wire  _T_35_opcode__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
+  wire  _T_35_opcode__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
+  reg [1:0] _T_35_param [0:1]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
+  reg [31:0] _RAND_1;
+  wire [1:0] _T_35_param__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
+  wire  _T_35_param__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
+  wire [1:0] _T_35_param__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
+  wire  _T_35_param__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
+  wire  _T_35_param__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
+  wire  _T_35_param__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
+  reg [3:0] _T_35_size [0:1]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
+  reg [31:0] _RAND_2;
+  wire [3:0] _T_35_size__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
+  wire  _T_35_size__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
+  wire [3:0] _T_35_size__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
+  wire  _T_35_size__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
+  wire  _T_35_size__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
+  wire  _T_35_size__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
+  reg  _T_35_source [0:1]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
+  reg [31:0] _RAND_3;
+  wire  _T_35_source__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
+  wire  _T_35_source__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
+  wire  _T_35_source__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
+  wire  _T_35_source__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
+  wire  _T_35_source__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
+  wire  _T_35_source__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
+  reg  _T_35_sink [0:1]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
+  reg [31:0] _RAND_4;
+  wire  _T_35_sink__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
+  wire  _T_35_sink__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
+  wire  _T_35_sink__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
+  wire  _T_35_sink__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
+  wire  _T_35_sink__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
+  wire  _T_35_sink__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
+  reg  _T_35_denied [0:1]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
+  reg [31:0] _RAND_5;
+  wire  _T_35_denied__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
+  wire  _T_35_denied__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
+  wire  _T_35_denied__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
+  wire  _T_35_denied__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
+  wire  _T_35_denied__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
+  wire  _T_35_denied__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
+  reg [31:0] _T_35_data [0:1]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
+  reg [31:0] _RAND_6;
+  wire [31:0] _T_35_data__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
+  wire  _T_35_data__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
+  wire [31:0] _T_35_data__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
+  wire  _T_35_data__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
+  wire  _T_35_data__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
+  wire  _T_35_data__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
+  reg  _T_35_corrupt [0:1]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
+  reg [31:0] _RAND_7;
+  wire  _T_35_corrupt__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
+  wire  _T_35_corrupt__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
+  wire  _T_35_corrupt__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
+  wire  _T_35_corrupt__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
+  wire  _T_35_corrupt__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
+  wire  _T_35_corrupt__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
+  reg  value; // @[Counter.scala 26:33:shc.marmotcaravel.MarmotCaravelConfig.fir@8871.4]
+  reg [31:0] _RAND_8;
+  reg  value_1; // @[Counter.scala 26:33:shc.marmotcaravel.MarmotCaravelConfig.fir@8872.4]
+  reg [31:0] _RAND_9;
+  reg  _T_39; // @[Decoupled.scala 217:35:shc.marmotcaravel.MarmotCaravelConfig.fir@8873.4]
+  reg [31:0] _RAND_10;
+  wire  _T_40; // @[Decoupled.scala 219:41:shc.marmotcaravel.MarmotCaravelConfig.fir@8874.4]
+  wire  _T_41; // @[Decoupled.scala 220:36:shc.marmotcaravel.MarmotCaravelConfig.fir@8875.4]
+  wire  _T_42; // @[Decoupled.scala 220:33:shc.marmotcaravel.MarmotCaravelConfig.fir@8876.4]
+  wire  _T_43; // @[Decoupled.scala 221:32:shc.marmotcaravel.MarmotCaravelConfig.fir@8877.4]
+  wire  _T_44; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@8878.4]
+  wire  _T_47; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@8881.4]
+  wire  _T_52; // @[Counter.scala 35:22:shc.marmotcaravel.MarmotCaravelConfig.fir@8896.6]
+  wire  _T_54; // @[Counter.scala 35:22:shc.marmotcaravel.MarmotCaravelConfig.fir@8902.6]
+  wire  _T_55; // @[Decoupled.scala 232:16:shc.marmotcaravel.MarmotCaravelConfig.fir@8905.4]
+  assign _T_35_opcode__T_58_addr = value_1;
+  assign _T_35_opcode__T_58_data = _T_35_opcode[_T_35_opcode__T_58_addr]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
+  assign _T_35_opcode__T_50_data = io_enq_bits_opcode;
+  assign _T_35_opcode__T_50_addr = value;
+  assign _T_35_opcode__T_50_mask = 1'h1;
+  assign _T_35_opcode__T_50_en = io_enq_ready & io_enq_valid;
+  assign _T_35_param__T_58_addr = value_1;
+  assign _T_35_param__T_58_data = _T_35_param[_T_35_param__T_58_addr]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
+  assign _T_35_param__T_50_data = io_enq_bits_param;
+  assign _T_35_param__T_50_addr = value;
+  assign _T_35_param__T_50_mask = 1'h1;
+  assign _T_35_param__T_50_en = io_enq_ready & io_enq_valid;
+  assign _T_35_size__T_58_addr = value_1;
+  assign _T_35_size__T_58_data = _T_35_size[_T_35_size__T_58_addr]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
+  assign _T_35_size__T_50_data = io_enq_bits_size;
+  assign _T_35_size__T_50_addr = value;
+  assign _T_35_size__T_50_mask = 1'h1;
+  assign _T_35_size__T_50_en = io_enq_ready & io_enq_valid;
+  assign _T_35_source__T_58_addr = value_1;
+  assign _T_35_source__T_58_data = _T_35_source[_T_35_source__T_58_addr]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
+  assign _T_35_source__T_50_data = io_enq_bits_source;
+  assign _T_35_source__T_50_addr = value;
+  assign _T_35_source__T_50_mask = 1'h1;
+  assign _T_35_source__T_50_en = io_enq_ready & io_enq_valid;
+  assign _T_35_sink__T_58_addr = value_1;
+  assign _T_35_sink__T_58_data = _T_35_sink[_T_35_sink__T_58_addr]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
+  assign _T_35_sink__T_50_data = io_enq_bits_sink;
+  assign _T_35_sink__T_50_addr = value;
+  assign _T_35_sink__T_50_mask = 1'h1;
+  assign _T_35_sink__T_50_en = io_enq_ready & io_enq_valid;
+  assign _T_35_denied__T_58_addr = value_1;
+  assign _T_35_denied__T_58_data = _T_35_denied[_T_35_denied__T_58_addr]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
+  assign _T_35_denied__T_50_data = io_enq_bits_denied;
+  assign _T_35_denied__T_50_addr = value;
+  assign _T_35_denied__T_50_mask = 1'h1;
+  assign _T_35_denied__T_50_en = io_enq_ready & io_enq_valid;
+  assign _T_35_data__T_58_addr = value_1;
+  assign _T_35_data__T_58_data = _T_35_data[_T_35_data__T_58_addr]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
+  assign _T_35_data__T_50_data = io_enq_bits_data;
+  assign _T_35_data__T_50_addr = value;
+  assign _T_35_data__T_50_mask = 1'h1;
+  assign _T_35_data__T_50_en = io_enq_ready & io_enq_valid;
+  assign _T_35_corrupt__T_58_addr = value_1;
+  assign _T_35_corrupt__T_58_data = _T_35_corrupt[_T_35_corrupt__T_58_addr]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
+  assign _T_35_corrupt__T_50_data = io_enq_bits_corrupt;
+  assign _T_35_corrupt__T_50_addr = value;
+  assign _T_35_corrupt__T_50_mask = 1'h1;
+  assign _T_35_corrupt__T_50_en = io_enq_ready & io_enq_valid;
+  assign _T_40 = value == value_1; // @[Decoupled.scala 219:41:shc.marmotcaravel.MarmotCaravelConfig.fir@8874.4]
+  assign _T_41 = _T_39 == 1'h0; // @[Decoupled.scala 220:36:shc.marmotcaravel.MarmotCaravelConfig.fir@8875.4]
+  assign _T_42 = _T_40 & _T_41; // @[Decoupled.scala 220:33:shc.marmotcaravel.MarmotCaravelConfig.fir@8876.4]
+  assign _T_43 = _T_40 & _T_39; // @[Decoupled.scala 221:32:shc.marmotcaravel.MarmotCaravelConfig.fir@8877.4]
+  assign _T_44 = io_enq_ready & io_enq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@8878.4]
+  assign _T_47 = io_deq_ready & io_deq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@8881.4]
+  assign _T_52 = value + 1'h1; // @[Counter.scala 35:22:shc.marmotcaravel.MarmotCaravelConfig.fir@8896.6]
+  assign _T_54 = value_1 + 1'h1; // @[Counter.scala 35:22:shc.marmotcaravel.MarmotCaravelConfig.fir@8902.6]
+  assign _T_55 = _T_44 != _T_47; // @[Decoupled.scala 232:16:shc.marmotcaravel.MarmotCaravelConfig.fir@8905.4]
+  assign io_enq_ready = _T_43 == 1'h0; // @[Decoupled.scala 237:16:shc.marmotcaravel.MarmotCaravelConfig.fir@8912.4]
+  assign io_deq_valid = _T_42 == 1'h0; // @[Decoupled.scala 236:16:shc.marmotcaravel.MarmotCaravelConfig.fir@8910.4]
+  assign io_deq_bits_opcode = _T_35_opcode__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@8921.4]
+  assign io_deq_bits_param = _T_35_param__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@8920.4]
+  assign io_deq_bits_size = _T_35_size__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@8919.4]
+  assign io_deq_bits_source = _T_35_source__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@8918.4]
+  assign io_deq_bits_sink = _T_35_sink__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@8917.4]
+  assign io_deq_bits_denied = _T_35_denied__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@8916.4]
+  assign io_deq_bits_data = _T_35_data__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@8915.4]
+  assign io_deq_bits_corrupt = _T_35_corrupt__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@8914.4]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  _RAND_0 = {1{`RANDOM}};
+  `ifdef RANDOMIZE_MEM_INIT
+  for (initvar = 0; initvar < 2; initvar = initvar+1)
+    _T_35_opcode[initvar] = _RAND_0[2:0];
+  `endif // RANDOMIZE_MEM_INIT
+  _RAND_1 = {1{`RANDOM}};
+  `ifdef RANDOMIZE_MEM_INIT
+  for (initvar = 0; initvar < 2; initvar = initvar+1)
+    _T_35_param[initvar] = _RAND_1[1:0];
+  `endif // RANDOMIZE_MEM_INIT
+  _RAND_2 = {1{`RANDOM}};
+  `ifdef RANDOMIZE_MEM_INIT
+  for (initvar = 0; initvar < 2; initvar = initvar+1)
+    _T_35_size[initvar] = _RAND_2[3:0];
+  `endif // RANDOMIZE_MEM_INIT
+  _RAND_3 = {1{`RANDOM}};
+  `ifdef RANDOMIZE_MEM_INIT
+  for (initvar = 0; initvar < 2; initvar = initvar+1)
+    _T_35_source[initvar] = _RAND_3[0:0];
+  `endif // RANDOMIZE_MEM_INIT
+  _RAND_4 = {1{`RANDOM}};
+  `ifdef RANDOMIZE_MEM_INIT
+  for (initvar = 0; initvar < 2; initvar = initvar+1)
+    _T_35_sink[initvar] = _RAND_4[0:0];
+  `endif // RANDOMIZE_MEM_INIT
+  _RAND_5 = {1{`RANDOM}};
+  `ifdef RANDOMIZE_MEM_INIT
+  for (initvar = 0; initvar < 2; initvar = initvar+1)
+    _T_35_denied[initvar] = _RAND_5[0:0];
+  `endif // RANDOMIZE_MEM_INIT
+  _RAND_6 = {1{`RANDOM}};
+  `ifdef RANDOMIZE_MEM_INIT
+  for (initvar = 0; initvar < 2; initvar = initvar+1)
+    _T_35_data[initvar] = _RAND_6[31:0];
+  `endif // RANDOMIZE_MEM_INIT
+  _RAND_7 = {1{`RANDOM}};
+  `ifdef RANDOMIZE_MEM_INIT
+  for (initvar = 0; initvar < 2; initvar = initvar+1)
+    _T_35_corrupt[initvar] = _RAND_7[0:0];
+  `endif // RANDOMIZE_MEM_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_8 = {1{`RANDOM}};
+  value = _RAND_8[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_9 = {1{`RANDOM}};
+  value_1 = _RAND_9[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_10 = {1{`RANDOM}};
+  _T_39 = _RAND_10[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if(_T_35_opcode__T_50_en & _T_35_opcode__T_50_mask) begin
+      _T_35_opcode[_T_35_opcode__T_50_addr] <= _T_35_opcode__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
+    end
+    if(_T_35_param__T_50_en & _T_35_param__T_50_mask) begin
+      _T_35_param[_T_35_param__T_50_addr] <= _T_35_param__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
+    end
+    if(_T_35_size__T_50_en & _T_35_size__T_50_mask) begin
+      _T_35_size[_T_35_size__T_50_addr] <= _T_35_size__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
+    end
+    if(_T_35_source__T_50_en & _T_35_source__T_50_mask) begin
+      _T_35_source[_T_35_source__T_50_addr] <= _T_35_source__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
+    end
+    if(_T_35_sink__T_50_en & _T_35_sink__T_50_mask) begin
+      _T_35_sink[_T_35_sink__T_50_addr] <= _T_35_sink__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
+    end
+    if(_T_35_denied__T_50_en & _T_35_denied__T_50_mask) begin
+      _T_35_denied[_T_35_denied__T_50_addr] <= _T_35_denied__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
+    end
+    if(_T_35_data__T_50_en & _T_35_data__T_50_mask) begin
+      _T_35_data[_T_35_data__T_50_addr] <= _T_35_data__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
+    end
+    if(_T_35_corrupt__T_50_en & _T_35_corrupt__T_50_mask) begin
+      _T_35_corrupt[_T_35_corrupt__T_50_addr] <= _T_35_corrupt__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
+    end
+    if (reset) begin
+      value <= 1'h0;
+    end else begin
+      if (_T_44) begin
+        value <= _T_52;
+      end
+    end
+    if (reset) begin
+      value_1 <= 1'h0;
+    end else begin
+      if (_T_47) begin
+        value_1 <= _T_54;
+      end
+    end
+    if (reset) begin
+      _T_39 <= 1'h0;
+    end else begin
+      if (_T_55) begin
+        _T_39 <= _T_44;
+      end
+    end
+  end
+endmodule
+module TLBuffer( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8929.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8930.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8931.4]
+  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8932.4]
+  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8932.4]
+  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8932.4]
+  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8932.4]
+  input  [3:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8932.4]
+  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8932.4]
+  input  [31:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8932.4]
+  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8932.4]
+  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8932.4]
+  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8932.4]
+  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8932.4]
+  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8932.4]
+  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8932.4]
+  output [1:0]  auto_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8932.4]
+  output [3:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8932.4]
+  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8932.4]
+  output        auto_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8932.4]
+  output        auto_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8932.4]
+  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8932.4]
+  output        auto_in_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8932.4]
+  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8932.4]
+  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8932.4]
+  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8932.4]
+  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8932.4]
+  output [3:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8932.4]
+  output        auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8932.4]
+  output [31:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8932.4]
+  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8932.4]
+  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8932.4]
+  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8932.4]
+  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8932.4]
+  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8932.4]
+  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8932.4]
+  input  [1:0]  auto_out_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8932.4]
+  input  [3:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8932.4]
+  input         auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8932.4]
+  input         auto_out_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8932.4]
+  input         auto_out_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8932.4]
+  input  [31:0] auto_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8932.4]
+  input         auto_out_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8932.4]
+);
+  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@8939.4]
+  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@8939.4]
+  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@8939.4]
+  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@8939.4]
+  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@8939.4]
+  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@8939.4]
+  wire [3:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@8939.4]
+  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@8939.4]
+  wire [31:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@8939.4]
+  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@8939.4]
+  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@8939.4]
+  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@8939.4]
+  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@8939.4]
+  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@8939.4]
+  wire [1:0] TLMonitor_io_in_d_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@8939.4]
+  wire [3:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@8939.4]
+  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@8939.4]
+  wire  TLMonitor_io_in_d_bits_sink; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@8939.4]
+  wire  TLMonitor_io_in_d_bits_denied; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@8939.4]
+  wire  TLMonitor_io_in_d_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@8939.4]
+  wire  Queue_clock; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@8980.4]
+  wire  Queue_reset; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@8980.4]
+  wire  Queue_io_enq_ready; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@8980.4]
+  wire  Queue_io_enq_valid; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@8980.4]
+  wire [2:0] Queue_io_enq_bits_opcode; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@8980.4]
+  wire [2:0] Queue_io_enq_bits_param; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@8980.4]
+  wire [3:0] Queue_io_enq_bits_size; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@8980.4]
+  wire  Queue_io_enq_bits_source; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@8980.4]
+  wire [31:0] Queue_io_enq_bits_address; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@8980.4]
+  wire [3:0] Queue_io_enq_bits_mask; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@8980.4]
+  wire [31:0] Queue_io_enq_bits_data; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@8980.4]
+  wire  Queue_io_enq_bits_corrupt; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@8980.4]
+  wire  Queue_io_deq_ready; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@8980.4]
+  wire  Queue_io_deq_valid; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@8980.4]
+  wire [2:0] Queue_io_deq_bits_opcode; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@8980.4]
+  wire [2:0] Queue_io_deq_bits_param; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@8980.4]
+  wire [3:0] Queue_io_deq_bits_size; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@8980.4]
+  wire  Queue_io_deq_bits_source; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@8980.4]
+  wire [31:0] Queue_io_deq_bits_address; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@8980.4]
+  wire [3:0] Queue_io_deq_bits_mask; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@8980.4]
+  wire [31:0] Queue_io_deq_bits_data; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@8980.4]
+  wire  Queue_io_deq_bits_corrupt; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@8980.4]
+  wire  Queue_1_clock; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@8994.4]
+  wire  Queue_1_reset; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@8994.4]
+  wire  Queue_1_io_enq_ready; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@8994.4]
+  wire  Queue_1_io_enq_valid; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@8994.4]
+  wire [2:0] Queue_1_io_enq_bits_opcode; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@8994.4]
+  wire [1:0] Queue_1_io_enq_bits_param; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@8994.4]
+  wire [3:0] Queue_1_io_enq_bits_size; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@8994.4]
+  wire  Queue_1_io_enq_bits_source; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@8994.4]
+  wire  Queue_1_io_enq_bits_sink; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@8994.4]
+  wire  Queue_1_io_enq_bits_denied; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@8994.4]
+  wire [31:0] Queue_1_io_enq_bits_data; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@8994.4]
+  wire  Queue_1_io_enq_bits_corrupt; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@8994.4]
+  wire  Queue_1_io_deq_ready; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@8994.4]
+  wire  Queue_1_io_deq_valid; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@8994.4]
+  wire [2:0] Queue_1_io_deq_bits_opcode; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@8994.4]
+  wire [1:0] Queue_1_io_deq_bits_param; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@8994.4]
+  wire [3:0] Queue_1_io_deq_bits_size; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@8994.4]
+  wire  Queue_1_io_deq_bits_source; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@8994.4]
+  wire  Queue_1_io_deq_bits_sink; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@8994.4]
+  wire  Queue_1_io_deq_bits_denied; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@8994.4]
+  wire [31:0] Queue_1_io_deq_bits_data; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@8994.4]
+  wire  Queue_1_io_deq_bits_corrupt; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@8994.4]
+  TLMonitor_3 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@8939.4]
+    .clock(TLMonitor_clock),
+    .reset(TLMonitor_reset),
+    .io_in_a_ready(TLMonitor_io_in_a_ready),
+    .io_in_a_valid(TLMonitor_io_in_a_valid),
+    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
+    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
+    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
+    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
+    .io_in_d_ready(TLMonitor_io_in_d_ready),
+    .io_in_d_valid(TLMonitor_io_in_d_valid),
+    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
+    .io_in_d_bits_param(TLMonitor_io_in_d_bits_param),
+    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
+    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source),
+    .io_in_d_bits_sink(TLMonitor_io_in_d_bits_sink),
+    .io_in_d_bits_denied(TLMonitor_io_in_d_bits_denied),
+    .io_in_d_bits_corrupt(TLMonitor_io_in_d_bits_corrupt)
+  );
+  Queue Queue ( // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@8980.4]
+    .clock(Queue_clock),
+    .reset(Queue_reset),
+    .io_enq_ready(Queue_io_enq_ready),
+    .io_enq_valid(Queue_io_enq_valid),
+    .io_enq_bits_opcode(Queue_io_enq_bits_opcode),
+    .io_enq_bits_param(Queue_io_enq_bits_param),
+    .io_enq_bits_size(Queue_io_enq_bits_size),
+    .io_enq_bits_source(Queue_io_enq_bits_source),
+    .io_enq_bits_address(Queue_io_enq_bits_address),
+    .io_enq_bits_mask(Queue_io_enq_bits_mask),
+    .io_enq_bits_data(Queue_io_enq_bits_data),
+    .io_enq_bits_corrupt(Queue_io_enq_bits_corrupt),
+    .io_deq_ready(Queue_io_deq_ready),
+    .io_deq_valid(Queue_io_deq_valid),
+    .io_deq_bits_opcode(Queue_io_deq_bits_opcode),
+    .io_deq_bits_param(Queue_io_deq_bits_param),
+    .io_deq_bits_size(Queue_io_deq_bits_size),
+    .io_deq_bits_source(Queue_io_deq_bits_source),
+    .io_deq_bits_address(Queue_io_deq_bits_address),
+    .io_deq_bits_mask(Queue_io_deq_bits_mask),
+    .io_deq_bits_data(Queue_io_deq_bits_data),
+    .io_deq_bits_corrupt(Queue_io_deq_bits_corrupt)
+  );
+  Queue_1 Queue_1 ( // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@8994.4]
+    .clock(Queue_1_clock),
+    .reset(Queue_1_reset),
+    .io_enq_ready(Queue_1_io_enq_ready),
+    .io_enq_valid(Queue_1_io_enq_valid),
+    .io_enq_bits_opcode(Queue_1_io_enq_bits_opcode),
+    .io_enq_bits_param(Queue_1_io_enq_bits_param),
+    .io_enq_bits_size(Queue_1_io_enq_bits_size),
+    .io_enq_bits_source(Queue_1_io_enq_bits_source),
+    .io_enq_bits_sink(Queue_1_io_enq_bits_sink),
+    .io_enq_bits_denied(Queue_1_io_enq_bits_denied),
+    .io_enq_bits_data(Queue_1_io_enq_bits_data),
+    .io_enq_bits_corrupt(Queue_1_io_enq_bits_corrupt),
+    .io_deq_ready(Queue_1_io_deq_ready),
+    .io_deq_valid(Queue_1_io_deq_valid),
+    .io_deq_bits_opcode(Queue_1_io_deq_bits_opcode),
+    .io_deq_bits_param(Queue_1_io_deq_bits_param),
+    .io_deq_bits_size(Queue_1_io_deq_bits_size),
+    .io_deq_bits_source(Queue_1_io_deq_bits_source),
+    .io_deq_bits_sink(Queue_1_io_deq_bits_sink),
+    .io_deq_bits_denied(Queue_1_io_deq_bits_denied),
+    .io_deq_bits_data(Queue_1_io_deq_bits_data),
+    .io_deq_bits_corrupt(Queue_1_io_deq_bits_corrupt)
+  );
+  assign auto_in_a_ready = Queue_io_enq_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@8979.4]
+  assign auto_in_d_valid = Queue_1_io_deq_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@8979.4]
+  assign auto_in_d_bits_opcode = Queue_1_io_deq_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@8979.4]
+  assign auto_in_d_bits_param = Queue_1_io_deq_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@8979.4]
+  assign auto_in_d_bits_size = Queue_1_io_deq_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@8979.4]
+  assign auto_in_d_bits_source = Queue_1_io_deq_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@8979.4]
+  assign auto_in_d_bits_sink = Queue_1_io_deq_bits_sink; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@8979.4]
+  assign auto_in_d_bits_denied = Queue_1_io_deq_bits_denied; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@8979.4]
+  assign auto_in_d_bits_data = Queue_1_io_deq_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@8979.4]
+  assign auto_in_d_bits_corrupt = Queue_1_io_deq_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@8979.4]
+  assign auto_out_a_valid = Queue_io_deq_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@8978.4]
+  assign auto_out_a_bits_opcode = Queue_io_deq_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@8978.4]
+  assign auto_out_a_bits_param = Queue_io_deq_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@8978.4]
+  assign auto_out_a_bits_size = Queue_io_deq_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@8978.4]
+  assign auto_out_a_bits_source = Queue_io_deq_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@8978.4]
+  assign auto_out_a_bits_address = Queue_io_deq_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@8978.4]
+  assign auto_out_a_bits_mask = Queue_io_deq_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@8978.4]
+  assign auto_out_a_bits_data = Queue_io_deq_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@8978.4]
+  assign auto_out_a_bits_corrupt = Queue_io_deq_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@8978.4]
+  assign auto_out_d_ready = Queue_1_io_enq_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@8978.4]
+  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8941.4]
+  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8942.4]
+  assign TLMonitor_io_in_a_ready = Queue_io_enq_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@8975.4]
+  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@8975.4]
+  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@8975.4]
+  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@8975.4]
+  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@8975.4]
+  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@8975.4]
+  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@8975.4]
+  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@8975.4]
+  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@8975.4]
+  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@8975.4]
+  assign TLMonitor_io_in_d_valid = Queue_1_io_deq_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@8975.4]
+  assign TLMonitor_io_in_d_bits_opcode = Queue_1_io_deq_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@8975.4]
+  assign TLMonitor_io_in_d_bits_param = Queue_1_io_deq_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@8975.4]
+  assign TLMonitor_io_in_d_bits_size = Queue_1_io_deq_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@8975.4]
+  assign TLMonitor_io_in_d_bits_source = Queue_1_io_deq_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@8975.4]
+  assign TLMonitor_io_in_d_bits_sink = Queue_1_io_deq_bits_sink; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@8975.4]
+  assign TLMonitor_io_in_d_bits_denied = Queue_1_io_deq_bits_denied; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@8975.4]
+  assign TLMonitor_io_in_d_bits_corrupt = Queue_1_io_deq_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@8975.4]
+  assign Queue_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8981.4]
+  assign Queue_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8982.4]
+  assign Queue_io_enq_valid = auto_in_a_valid; // @[Decoupled.scala 294:22:shc.marmotcaravel.MarmotCaravelConfig.fir@8983.4]
+  assign Queue_io_enq_bits_opcode = auto_in_a_bits_opcode; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@8991.4]
+  assign Queue_io_enq_bits_param = auto_in_a_bits_param; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@8990.4]
+  assign Queue_io_enq_bits_size = auto_in_a_bits_size; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@8989.4]
+  assign Queue_io_enq_bits_source = auto_in_a_bits_source; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@8988.4]
+  assign Queue_io_enq_bits_address = auto_in_a_bits_address; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@8987.4]
+  assign Queue_io_enq_bits_mask = auto_in_a_bits_mask; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@8986.4]
+  assign Queue_io_enq_bits_data = auto_in_a_bits_data; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@8985.4]
+  assign Queue_io_enq_bits_corrupt = auto_in_a_bits_corrupt; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@8984.4]
+  assign Queue_io_deq_ready = auto_out_a_ready; // @[Buffer.scala 38:13:shc.marmotcaravel.MarmotCaravelConfig.fir@8993.4]
+  assign Queue_1_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8995.4]
+  assign Queue_1_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8996.4]
+  assign Queue_1_io_enq_valid = auto_out_d_valid; // @[Decoupled.scala 294:22:shc.marmotcaravel.MarmotCaravelConfig.fir@8997.4]
+  assign Queue_1_io_enq_bits_opcode = auto_out_d_bits_opcode; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@9005.4]
+  assign Queue_1_io_enq_bits_param = auto_out_d_bits_param; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@9004.4]
+  assign Queue_1_io_enq_bits_size = auto_out_d_bits_size; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@9003.4]
+  assign Queue_1_io_enq_bits_source = auto_out_d_bits_source; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@9002.4]
+  assign Queue_1_io_enq_bits_sink = auto_out_d_bits_sink; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@9001.4]
+  assign Queue_1_io_enq_bits_denied = auto_out_d_bits_denied; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@9000.4]
+  assign Queue_1_io_enq_bits_data = auto_out_d_bits_data; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@8999.4]
+  assign Queue_1_io_enq_bits_corrupt = auto_out_d_bits_corrupt; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@8998.4]
+  assign Queue_1_io_deq_ready = auto_in_d_ready; // @[Buffer.scala 39:13:shc.marmotcaravel.MarmotCaravelConfig.fir@9007.4]
+endmodule
+module TLMonitor_4( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9022.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9023.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9024.4]
+  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9025.4]
+  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9025.4]
+  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9025.4]
+  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9025.4]
+  input  [3:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9025.4]
+  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9025.4]
+  input  [31:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9025.4]
+  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9025.4]
+  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9025.4]
+  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9025.4]
+  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9025.4]
+  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9025.4]
+  input  [1:0]  io_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9025.4]
+  input  [3:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9025.4]
+  input         io_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9025.4]
+  input         io_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9025.4]
+  input         io_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9025.4]
+  input         io_in_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9025.4]
+);
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@10815.4]
+  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@9041.6]
+  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@9046.6]
+  wire [26:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@9048.6]
+  wire [11:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@9049.6]
+  wire [11:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@9050.6]
+  wire [31:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@9051.6]
+  wire [31:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@9051.6]
+  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@9052.6]
+  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@9054.6]
+  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@9055.6]
+  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@9057.6]
+  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@9058.6]
+  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@9059.6]
+  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@9060.6]
+  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@9061.6]
+  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@9063.6]
+  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@9064.6]
+  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@9066.6]
+  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@9067.6]
+  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@9068.6]
+  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@9069.6]
+  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@9070.6]
+  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@9071.6]
+  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@9072.6]
+  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@9073.6]
+  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@9074.6]
+  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@9075.6]
+  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@9076.6]
+  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@9077.6]
+  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@9078.6]
+  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@9079.6]
+  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@9080.6]
+  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@9081.6]
+  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@9082.6]
+  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@9083.6]
+  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@9084.6]
+  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@9085.6]
+  wire [32:0] _T_73; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@9089.6]
+  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@9110.6]
+  wire [31:0] _T_92; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@9113.8]
+  wire [32:0] _T_93; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@9114.8]
+  wire [32:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9115.8]
+  wire [32:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9116.8]
+  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@9117.8]
+  wire [31:0] _T_97; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@9118.8]
+  wire [32:0] _T_98; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@9119.8]
+  wire [32:0] _T_99; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9120.8]
+  wire [32:0] _T_100; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9121.8]
+  wire  _T_101; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@9122.8]
+  wire [31:0] _T_102; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@9123.8]
+  wire [32:0] _T_103; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@9124.8]
+  wire [32:0] _T_104; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9125.8]
+  wire [32:0] _T_105; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9126.8]
+  wire  _T_106; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@9127.8]
+  wire [31:0] _T_107; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@9128.8]
+  wire [32:0] _T_108; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@9129.8]
+  wire [32:0] _T_109; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9130.8]
+  wire [32:0] _T_110; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9131.8]
+  wire  _T_111; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@9132.8]
+  wire [31:0] _T_112; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@9133.8]
+  wire [32:0] _T_113; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@9134.8]
+  wire [32:0] _T_114; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9135.8]
+  wire [32:0] _T_115; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9136.8]
+  wire  _T_116; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@9137.8]
+  wire [31:0] _T_117; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@9138.8]
+  wire [32:0] _T_118; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@9139.8]
+  wire [32:0] _T_119; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9140.8]
+  wire [32:0] _T_120; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9141.8]
+  wire  _T_121; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@9142.8]
+  wire [31:0] _T_122; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@9143.8]
+  wire [32:0] _T_123; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@9144.8]
+  wire [32:0] _T_124; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9145.8]
+  wire [32:0] _T_125; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9146.8]
+  wire  _T_126; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@9147.8]
+  wire [31:0] _T_127; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@9148.8]
+  wire [32:0] _T_128; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@9149.8]
+  wire [32:0] _T_129; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9150.8]
+  wire [32:0] _T_130; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9151.8]
+  wire  _T_131; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@9152.8]
+  wire [31:0] _T_132; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@9153.8]
+  wire [32:0] _T_133; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@9154.8]
+  wire [32:0] _T_134; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9155.8]
+  wire [32:0] _T_135; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9156.8]
+  wire  _T_136; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@9157.8]
+  wire [31:0] _T_137; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@9158.8]
+  wire [32:0] _T_138; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@9159.8]
+  wire [32:0] _T_139; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9160.8]
+  wire [32:0] _T_140; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9161.8]
+  wire  _T_141; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@9162.8]
+  wire [32:0] _T_144; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9165.8]
+  wire [32:0] _T_145; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9166.8]
+  wire  _T_146; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@9167.8]
+  wire [31:0] _T_147; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@9168.8]
+  wire [32:0] _T_148; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@9169.8]
+  wire [32:0] _T_149; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9170.8]
+  wire [32:0] _T_150; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9171.8]
+  wire  _T_151; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@9172.8]
+  wire [31:0] _T_152; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@9173.8]
+  wire [32:0] _T_153; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@9174.8]
+  wire [32:0] _T_154; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9175.8]
+  wire [32:0] _T_155; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9176.8]
+  wire  _T_156; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@9177.8]
+  wire [31:0] _T_157; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@9178.8]
+  wire [32:0] _T_158; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@9179.8]
+  wire [32:0] _T_159; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9180.8]
+  wire [32:0] _T_160; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9181.8]
+  wire  _T_161; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@9182.8]
+  wire  _T_162; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9183.8]
+  wire  _T_163; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9184.8]
+  wire  _T_164; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9185.8]
+  wire  _T_165; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9186.8]
+  wire  _T_179; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9200.8]
+  wire  _T_184; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9213.8]
+  wire  _T_185; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9214.8]
+  wire  _T_188; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9221.8]
+  wire  _T_189; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9222.8]
+  wire  _T_191; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9228.8]
+  wire  _T_192; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9229.8]
+  wire  _T_193; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@9234.8]
+  wire  _T_195; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9236.8]
+  wire  _T_196; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9237.8]
+  wire [3:0] _T_197; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@9242.8]
+  wire  _T_198; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@9243.8]
+  wire  _T_200; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9245.8]
+  wire  _T_201; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9246.8]
+  wire  _T_202; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@9251.8]
+  wire  _T_204; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9253.8]
+  wire  _T_205; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9254.8]
+  wire  _T_206; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@9260.6]
+  wire  _T_313; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@9392.8]
+  wire  _T_315; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9394.8]
+  wire  _T_316; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9395.8]
+  wire  _T_326; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@9418.6]
+  wire  _T_328; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9421.8]
+  wire  _T_336; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@9429.8]
+  wire  _T_338; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9431.8]
+  wire  _T_406; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9499.8]
+  wire  _T_407; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9500.8]
+  wire  _T_408; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9501.8]
+  wire  _T_409; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9502.8]
+  wire  _T_410; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9503.8]
+  wire  _T_411; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9504.8]
+  wire  _T_412; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9505.8]
+  wire  _T_413; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9506.8]
+  wire  _T_414; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9507.8]
+  wire  _T_415; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9508.8]
+  wire  _T_416; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9509.8]
+  wire  _T_417; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9510.8]
+  wire  _T_418; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@9511.8]
+  wire  _T_420; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@9513.8]
+  wire  _T_422; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9515.8]
+  wire  _T_423; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9516.8]
+  wire  _T_430; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@9535.8]
+  wire  _T_432; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9537.8]
+  wire  _T_433; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9538.8]
+  wire  _T_434; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@9543.8]
+  wire  _T_436; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9545.8]
+  wire  _T_437; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9546.8]
+  wire  _T_442; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@9560.6]
+  wire  _T_515; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9634.8]
+  wire  _T_516; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9635.8]
+  wire  _T_517; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9636.8]
+  wire  _T_518; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9637.8]
+  wire  _T_519; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9638.8]
+  wire  _T_520; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9639.8]
+  wire  _T_521; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9640.8]
+  wire  _T_522; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@9641.8]
+  wire  _T_537; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@9656.8]
+  wire  _T_540; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9659.8]
+  wire  _T_541; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9660.8]
+  wire  _T_556; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@9696.6]
+  wire [3:0] _T_666; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@9823.8]
+  wire [3:0] _T_667; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@9824.8]
+  wire  _T_668; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@9825.8]
+  wire  _T_670; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9827.8]
+  wire  _T_671; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9828.8]
+  wire  _T_672; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@9834.6]
+  wire  _T_674; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9837.8]
+  wire  _T_741; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9904.8]
+  wire  _T_742; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9905.8]
+  wire  _T_743; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9906.8]
+  wire  _T_744; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9907.8]
+  wire  _T_745; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9908.8]
+  wire  _T_746; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9909.8]
+  wire  _T_747; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9910.8]
+  wire  _T_748; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@9911.8]
+  wire  _T_765; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9928.8]
+  wire  _T_766; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9929.8]
+  wire  _T_773; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@9948.8]
+  wire  _T_775; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9950.8]
+  wire  _T_776; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9951.8]
+  wire  _T_781; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@9965.6]
+  wire  _T_882; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@10079.8]
+  wire  _T_884; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10081.8]
+  wire  _T_885; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10082.8]
+  wire  _T_890; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@10096.6]
+  wire  _T_983; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10190.8]
+  wire  _T_984; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10191.8]
+  wire  _T_999; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@10229.6]
+  wire  _T_1001; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@10231.6]
+  wire  _T_1002; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@10232.6]
+  wire  _T_1004; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@10238.6]
+  wire  _T_1013; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@10243.6]
+  wire  _T_1015; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@10245.6]
+  wire  _T_1017; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10248.8]
+  wire  _T_1018; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10249.8]
+  wire  _T_1019; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@10254.8]
+  wire  _T_1021; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10256.8]
+  wire  _T_1022; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10257.8]
+  wire  _T_1023; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@10262.8]
+  wire  _T_1025; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10264.8]
+  wire  _T_1026; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10265.8]
+  wire  _T_1027; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@10270.8]
+  wire  _T_1029; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10272.8]
+  wire  _T_1030; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10273.8]
+  wire  _T_1031; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@10278.8]
+  wire  _T_1033; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10280.8]
+  wire  _T_1034; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10281.8]
+  wire  _T_1035; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@10287.6]
+  wire  _T_1046; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@10311.8]
+  wire  _T_1048; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10313.8]
+  wire  _T_1049; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10314.8]
+  wire  _T_1050; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@10319.8]
+  wire  _T_1052; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10321.8]
+  wire  _T_1053; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10322.8]
+  wire  _T_1063; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@10345.6]
+  wire  _T_1083; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@10386.8]
+  wire  _T_1085; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10388.8]
+  wire  _T_1086; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10389.8]
+  wire  _T_1092; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@10404.6]
+  wire  _T_1109; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@10439.6]
+  wire  _T_1127; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@10475.6]
+  wire  _T_1156; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@10535.4]
+  wire [9:0] _T_1161; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@10540.4]
+  wire  _T_1162; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@10541.4]
+  wire  _T_1163; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@10542.4]
+  reg [9:0] _T_1166; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@10544.4]
+  reg [31:0] _RAND_0;
+  wire [10:0] _T_1167; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@10545.4]
+  wire [10:0] _T_1168; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@10546.4]
+  wire [9:0] _T_1169; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@10547.4]
+  wire  _T_1170; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@10548.4]
+  reg [2:0] _T_1179; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@10559.4]
+  reg [31:0] _RAND_1;
+  reg [2:0] _T_1181; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@10560.4]
+  reg [31:0] _RAND_2;
+  reg [3:0] _T_1183; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@10561.4]
+  reg [31:0] _RAND_3;
+  reg  _T_1185; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@10562.4]
+  reg [31:0] _RAND_4;
+  reg [31:0] _T_1187; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@10563.4]
+  reg [31:0] _RAND_5;
+  wire  _T_1188; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@10564.4]
+  wire  _T_1189; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@10565.4]
+  wire  _T_1190; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@10567.6]
+  wire  _T_1192; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10569.6]
+  wire  _T_1193; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10570.6]
+  wire  _T_1194; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@10575.6]
+  wire  _T_1196; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10577.6]
+  wire  _T_1197; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10578.6]
+  wire  _T_1198; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@10583.6]
+  wire  _T_1200; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10585.6]
+  wire  _T_1201; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10586.6]
+  wire  _T_1202; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@10591.6]
+  wire  _T_1204; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10593.6]
+  wire  _T_1205; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10594.6]
+  wire  _T_1206; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@10599.6]
+  wire  _T_1208; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10601.6]
+  wire  _T_1209; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10602.6]
+  wire  _T_1211; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@10609.4]
+  wire  _T_1212; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@10617.4]
+  wire [26:0] _T_1214; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@10619.4]
+  wire [11:0] _T_1215; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@10620.4]
+  wire [11:0] _T_1216; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@10621.4]
+  wire [9:0] _T_1217; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@10622.4]
+  wire  _T_1218; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@10623.4]
+  reg [9:0] _T_1221; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@10625.4]
+  reg [31:0] _RAND_6;
+  wire [10:0] _T_1222; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@10626.4]
+  wire [10:0] _T_1223; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@10627.4]
+  wire [9:0] _T_1224; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@10628.4]
+  wire  _T_1225; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@10629.4]
+  reg [2:0] _T_1234; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@10640.4]
+  reg [31:0] _RAND_7;
+  reg [1:0] _T_1236; // @[Monitor.scala 419:22:shc.marmotcaravel.MarmotCaravelConfig.fir@10641.4]
+  reg [31:0] _RAND_8;
+  reg [3:0] _T_1238; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@10642.4]
+  reg [31:0] _RAND_9;
+  reg  _T_1240; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@10643.4]
+  reg [31:0] _RAND_10;
+  reg  _T_1242; // @[Monitor.scala 422:22:shc.marmotcaravel.MarmotCaravelConfig.fir@10644.4]
+  reg [31:0] _RAND_11;
+  reg  _T_1244; // @[Monitor.scala 423:22:shc.marmotcaravel.MarmotCaravelConfig.fir@10645.4]
+  reg [31:0] _RAND_12;
+  wire  _T_1245; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@10646.4]
+  wire  _T_1246; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@10647.4]
+  wire  _T_1247; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@10649.6]
+  wire  _T_1249; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10651.6]
+  wire  _T_1250; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10652.6]
+  wire  _T_1251; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@10657.6]
+  wire  _T_1253; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10659.6]
+  wire  _T_1254; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10660.6]
+  wire  _T_1255; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@10665.6]
+  wire  _T_1257; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10667.6]
+  wire  _T_1258; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10668.6]
+  wire  _T_1259; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@10673.6]
+  wire  _T_1261; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10675.6]
+  wire  _T_1262; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10676.6]
+  wire  _T_1263; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@10681.6]
+  wire  _T_1265; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10683.6]
+  wire  _T_1266; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10684.6]
+  wire  _T_1267; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@10689.6]
+  wire  _T_1269; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10691.6]
+  wire  _T_1270; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10692.6]
+  wire  _T_1272; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@10699.4]
+  reg [1:0] _T_1274; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@10708.4]
+  reg [31:0] _RAND_13;
+  reg [9:0] _T_1285; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@10718.4]
+  reg [31:0] _RAND_14;
+  wire [10:0] _T_1286; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@10719.4]
+  wire [10:0] _T_1287; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@10720.4]
+  wire [9:0] _T_1288; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@10721.4]
+  wire  _T_1289; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@10722.4]
+  reg [9:0] _T_1306; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@10741.4]
+  reg [31:0] _RAND_15;
+  wire [10:0] _T_1307; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@10742.4]
+  wire [10:0] _T_1308; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@10743.4]
+  wire [9:0] _T_1309; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@10744.4]
+  wire  _T_1310; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@10745.4]
+  wire  _T_1321; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@10760.4]
+  wire [1:0] _T_1323; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@10763.6]
+  wire [1:0] _T_1324; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@10765.6]
+  wire  _T_1325; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@10766.6]
+  wire  _T_1326; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10767.6]
+  wire  _T_1328; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@10769.6]
+  wire  _T_1329; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@10770.6]
+  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@10762.4]
+  wire  _T_1334; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@10781.4]
+  wire  _T_1336; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@10783.4]
+  wire  _T_1337; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@10784.4]
+  wire [1:0] _T_1338; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@10786.6]
+  wire [1:0] _T_1339; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@10788.6]
+  wire [1:0] _T_1340; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@10789.6]
+  wire  _T_1341; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@10790.6]
+  wire  _T_1343; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@10792.6]
+  wire  _T_1344; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@10793.6]
+  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@10785.4]
+  wire  _T_1345; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@10799.4]
+  wire  _T_1346; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@10800.4]
+  wire  _T_1347; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@10801.4]
+  wire  _T_1348; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@10802.4]
+  wire  _T_1350; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@10804.4]
+  wire  _T_1351; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@10805.4]
+  wire [1:0] _T_1352; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@10810.4]
+  wire [1:0] _T_1353; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@10811.4]
+  wire [1:0] _T_1354; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@10812.4]
+  reg [31:0] _T_1356; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@10814.4]
+  reg [31:0] _RAND_16;
+  wire  _T_1357; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@10817.4]
+  wire  _T_1358; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@10818.4]
+  wire  _T_1359; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@10819.4]
+  wire  _T_1360; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@10820.4]
+  wire  _T_1361; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@10821.4]
+  wire  _T_1362; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@10822.4]
+  wire  _T_1364; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@10824.4]
+  wire  _T_1365; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@10825.4]
+  wire [31:0] _T_1367; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@10831.4]
+  wire  _T_1370; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@10835.4]
+  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9202.10]
+  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9352.10]
+  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9518.10]
+  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9662.10]
+  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9798.10]
+  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9931.10]
+  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10062.10]
+  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10193.10]
+  wire  _GEN_115; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10251.10]
+  wire  _GEN_125; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10293.10]
+  wire  _GEN_137; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10351.10]
+  wire  _GEN_149; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10410.10]
+  wire  _GEN_155; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10445.10]
+  wire  _GEN_161; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10481.10]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@10815.4]
+    .out(plusarg_reader_out)
+  );
+  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@9041.6]
+  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@9046.6]
+  assign _T_32 = 27'hfff << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@9048.6]
+  assign _T_33 = _T_32[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@9049.6]
+  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@9050.6]
+  assign _GEN_18 = {{20'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@9051.6]
+  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@9051.6]
+  assign _T_36 = _T_35 == 32'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@9052.6]
+  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@9054.6]
+  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@9055.6]
+  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@9057.6]
+  assign _T_42 = io_in_a_bits_size >= 4'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@9058.6]
+  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@9059.6]
+  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@9060.6]
+  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@9061.6]
+  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@9063.6]
+  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@9064.6]
+  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@9066.6]
+  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@9067.6]
+  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@9068.6]
+  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@9069.6]
+  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@9070.6]
+  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@9071.6]
+  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@9072.6]
+  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@9073.6]
+  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@9074.6]
+  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@9075.6]
+  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@9076.6]
+  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@9077.6]
+  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@9078.6]
+  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@9079.6]
+  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@9080.6]
+  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@9081.6]
+  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@9082.6]
+  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@9083.6]
+  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@9084.6]
+  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@9085.6]
+  assign _T_73 = {1'b0,$signed(io_in_a_bits_address)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@9089.6]
+  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@9110.6]
+  assign _T_92 = io_in_a_bits_address ^ 32'h3000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@9113.8]
+  assign _T_93 = {1'b0,$signed(_T_92)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@9114.8]
+  assign _T_94 = $signed(_T_93) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9115.8]
+  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9116.8]
+  assign _T_96 = $signed(_T_95) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@9117.8]
+  assign _T_97 = io_in_a_bits_address ^ 32'h10013000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@9118.8]
+  assign _T_98 = {1'b0,$signed(_T_97)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@9119.8]
+  assign _T_99 = $signed(_T_98) & $signed(-33'sh21000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9120.8]
+  assign _T_100 = $signed(_T_99); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9121.8]
+  assign _T_101 = $signed(_T_100) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@9122.8]
+  assign _T_102 = io_in_a_bits_address ^ 32'h10023000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@9123.8]
+  assign _T_103 = {1'b0,$signed(_T_102)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@9124.8]
+  assign _T_104 = $signed(_T_103) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9125.8]
+  assign _T_105 = $signed(_T_104); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9126.8]
+  assign _T_106 = $signed(_T_105) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@9127.8]
+  assign _T_107 = io_in_a_bits_address ^ 32'h10043000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@9128.8]
+  assign _T_108 = {1'b0,$signed(_T_107)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@9129.8]
+  assign _T_109 = $signed(_T_108) & $signed(-33'sh11000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9130.8]
+  assign _T_110 = $signed(_T_109); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9131.8]
+  assign _T_111 = $signed(_T_110) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@9132.8]
+  assign _T_112 = io_in_a_bits_address ^ 32'h10014000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@9133.8]
+  assign _T_113 = {1'b0,$signed(_T_112)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@9134.8]
+  assign _T_114 = $signed(_T_113) & $signed(-33'sh21000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9135.8]
+  assign _T_115 = $signed(_T_114); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9136.8]
+  assign _T_116 = $signed(_T_115) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@9137.8]
+  assign _T_117 = io_in_a_bits_address ^ 32'h20000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@9138.8]
+  assign _T_118 = {1'b0,$signed(_T_117)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@9139.8]
+  assign _T_119 = $signed(_T_118) & $signed(-33'sh20000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9140.8]
+  assign _T_120 = $signed(_T_119); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9141.8]
+  assign _T_121 = $signed(_T_120) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@9142.8]
+  assign _T_122 = io_in_a_bits_address ^ 32'h10024000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@9143.8]
+  assign _T_123 = {1'b0,$signed(_T_122)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@9144.8]
+  assign _T_124 = $signed(_T_123) & $signed(-33'sh3000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9145.8]
+  assign _T_125 = $signed(_T_124); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9146.8]
+  assign _T_126 = $signed(_T_125) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@9147.8]
+  assign _T_127 = io_in_a_bits_address ^ 32'h10012000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@9148.8]
+  assign _T_128 = {1'b0,$signed(_T_127)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@9149.8]
+  assign _T_129 = $signed(_T_128) & $signed(-33'sh5000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9150.8]
+  assign _T_130 = $signed(_T_129); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9151.8]
+  assign _T_131 = $signed(_T_130) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@9152.8]
+  assign _T_132 = io_in_a_bits_address ^ 32'hc000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@9153.8]
+  assign _T_133 = {1'b0,$signed(_T_132)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@9154.8]
+  assign _T_134 = $signed(_T_133) & $signed(-33'sh4000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9155.8]
+  assign _T_135 = $signed(_T_134); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9156.8]
+  assign _T_136 = $signed(_T_135) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@9157.8]
+  assign _T_137 = io_in_a_bits_address ^ 32'h2000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@9158.8]
+  assign _T_138 = {1'b0,$signed(_T_137)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@9159.8]
+  assign _T_139 = $signed(_T_138) & $signed(-33'sh10000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9160.8]
+  assign _T_140 = $signed(_T_139); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9161.8]
+  assign _T_141 = $signed(_T_140) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@9162.8]
+  assign _T_144 = $signed(_T_73) & $signed(-33'sh10001000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9165.8]
+  assign _T_145 = $signed(_T_144); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9166.8]
+  assign _T_146 = $signed(_T_145) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@9167.8]
+  assign _T_147 = io_in_a_bits_address ^ 32'h8000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@9168.8]
+  assign _T_148 = {1'b0,$signed(_T_147)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@9169.8]
+  assign _T_149 = $signed(_T_148) & $signed(-33'sh4000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9170.8]
+  assign _T_150 = $signed(_T_149); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9171.8]
+  assign _T_151 = $signed(_T_150) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@9172.8]
+  assign _T_152 = io_in_a_bits_address ^ 32'h80000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@9173.8]
+  assign _T_153 = {1'b0,$signed(_T_152)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@9174.8]
+  assign _T_154 = $signed(_T_153) & $signed(-33'sh4000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9175.8]
+  assign _T_155 = $signed(_T_154); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9176.8]
+  assign _T_156 = $signed(_T_155) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@9177.8]
+  assign _T_157 = io_in_a_bits_address ^ 32'h10000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@9178.8]
+  assign _T_158 = {1'b0,$signed(_T_157)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@9179.8]
+  assign _T_159 = $signed(_T_158) & $signed(-33'sh2000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9180.8]
+  assign _T_160 = $signed(_T_159); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9181.8]
+  assign _T_161 = $signed(_T_160) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@9182.8]
+  assign _T_162 = _T_96 | _T_101; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9183.8]
+  assign _T_163 = _T_162 | _T_106; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9184.8]
+  assign _T_164 = _T_163 | _T_111; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9185.8]
+  assign _T_165 = _T_164 | _T_116; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9186.8]
+  assign _T_179 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9200.8]
+  assign _T_184 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9213.8]
+  assign _T_185 = _T_184 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9214.8]
+  assign _T_188 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9221.8]
+  assign _T_189 = _T_188 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9222.8]
+  assign _T_191 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9228.8]
+  assign _T_192 = _T_191 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9229.8]
+  assign _T_193 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@9234.8]
+  assign _T_195 = _T_193 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9236.8]
+  assign _T_196 = _T_195 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9237.8]
+  assign _T_197 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@9242.8]
+  assign _T_198 = _T_197 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@9243.8]
+  assign _T_200 = _T_198 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9245.8]
+  assign _T_201 = _T_200 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9246.8]
+  assign _T_202 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@9251.8]
+  assign _T_204 = _T_202 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9253.8]
+  assign _T_205 = _T_204 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9254.8]
+  assign _T_206 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@9260.6]
+  assign _T_313 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@9392.8]
+  assign _T_315 = _T_313 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9394.8]
+  assign _T_316 = _T_315 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9395.8]
+  assign _T_326 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@9418.6]
+  assign _T_328 = io_in_a_bits_size <= 4'hc; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9421.8]
+  assign _T_336 = _T_328 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@9429.8]
+  assign _T_338 = io_in_a_bits_size <= 4'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9431.8]
+  assign _T_406 = _T_101 | _T_106; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9499.8]
+  assign _T_407 = _T_406 | _T_111; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9500.8]
+  assign _T_408 = _T_407 | _T_116; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9501.8]
+  assign _T_409 = _T_408 | _T_121; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9502.8]
+  assign _T_410 = _T_409 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9503.8]
+  assign _T_411 = _T_410 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9504.8]
+  assign _T_412 = _T_411 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9505.8]
+  assign _T_413 = _T_412 | _T_141; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9506.8]
+  assign _T_414 = _T_413 | _T_146; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9507.8]
+  assign _T_415 = _T_414 | _T_151; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9508.8]
+  assign _T_416 = _T_415 | _T_156; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9509.8]
+  assign _T_417 = _T_416 | _T_161; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9510.8]
+  assign _T_418 = _T_338 & _T_417; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@9511.8]
+  assign _T_420 = _T_336 | _T_418; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@9513.8]
+  assign _T_422 = _T_420 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9515.8]
+  assign _T_423 = _T_422 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9516.8]
+  assign _T_430 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@9535.8]
+  assign _T_432 = _T_430 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9537.8]
+  assign _T_433 = _T_432 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9538.8]
+  assign _T_434 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@9543.8]
+  assign _T_436 = _T_434 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9545.8]
+  assign _T_437 = _T_436 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9546.8]
+  assign _T_442 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@9560.6]
+  assign _T_515 = _T_408 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9634.8]
+  assign _T_516 = _T_515 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9635.8]
+  assign _T_517 = _T_516 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9636.8]
+  assign _T_518 = _T_517 | _T_141; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9637.8]
+  assign _T_519 = _T_518 | _T_146; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9638.8]
+  assign _T_520 = _T_519 | _T_151; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9639.8]
+  assign _T_521 = _T_520 | _T_156; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9640.8]
+  assign _T_522 = _T_338 & _T_521; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@9641.8]
+  assign _T_537 = _T_336 | _T_522; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@9656.8]
+  assign _T_540 = _T_537 | reset; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9659.8]
+  assign _T_541 = _T_540 == 1'h0; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9660.8]
+  assign _T_556 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@9696.6]
+  assign _T_666 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@9823.8]
+  assign _T_667 = io_in_a_bits_mask & _T_666; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@9824.8]
+  assign _T_668 = _T_667 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@9825.8]
+  assign _T_670 = _T_668 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9827.8]
+  assign _T_671 = _T_670 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9828.8]
+  assign _T_672 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@9834.6]
+  assign _T_674 = io_in_a_bits_size <= 4'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9837.8]
+  assign _T_741 = _T_165 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9904.8]
+  assign _T_742 = _T_741 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9905.8]
+  assign _T_743 = _T_742 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9906.8]
+  assign _T_744 = _T_743 | _T_141; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9907.8]
+  assign _T_745 = _T_744 | _T_146; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9908.8]
+  assign _T_746 = _T_745 | _T_151; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9909.8]
+  assign _T_747 = _T_746 | _T_156; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9910.8]
+  assign _T_748 = _T_674 & _T_747; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@9911.8]
+  assign _T_765 = _T_748 | reset; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9928.8]
+  assign _T_766 = _T_765 == 1'h0; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9929.8]
+  assign _T_773 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@9948.8]
+  assign _T_775 = _T_773 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9950.8]
+  assign _T_776 = _T_775 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9951.8]
+  assign _T_781 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@9965.6]
+  assign _T_882 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@10079.8]
+  assign _T_884 = _T_882 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10081.8]
+  assign _T_885 = _T_884 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10082.8]
+  assign _T_890 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@10096.6]
+  assign _T_983 = _T_336 | reset; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10190.8]
+  assign _T_984 = _T_983 == 1'h0; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10191.8]
+  assign _T_999 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@10229.6]
+  assign _T_1001 = _T_999 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@10231.6]
+  assign _T_1002 = _T_1001 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@10232.6]
+  assign _T_1004 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@10238.6]
+  assign _T_1013 = io_in_d_bits_source | _T_1004; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@10243.6]
+  assign _T_1015 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@10245.6]
+  assign _T_1017 = _T_1013 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10248.8]
+  assign _T_1018 = _T_1017 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10249.8]
+  assign _T_1019 = io_in_d_bits_size >= 4'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@10254.8]
+  assign _T_1021 = _T_1019 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10256.8]
+  assign _T_1022 = _T_1021 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10257.8]
+  assign _T_1023 = io_in_d_bits_param == 2'h0; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@10262.8]
+  assign _T_1025 = _T_1023 | reset; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10264.8]
+  assign _T_1026 = _T_1025 == 1'h0; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10265.8]
+  assign _T_1027 = io_in_d_bits_corrupt == 1'h0; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@10270.8]
+  assign _T_1029 = _T_1027 | reset; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10272.8]
+  assign _T_1030 = _T_1029 == 1'h0; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10273.8]
+  assign _T_1031 = io_in_d_bits_denied == 1'h0; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@10278.8]
+  assign _T_1033 = _T_1031 | reset; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10280.8]
+  assign _T_1034 = _T_1033 == 1'h0; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10281.8]
+  assign _T_1035 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@10287.6]
+  assign _T_1046 = io_in_d_bits_param <= 2'h2; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@10311.8]
+  assign _T_1048 = _T_1046 | reset; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10313.8]
+  assign _T_1049 = _T_1048 == 1'h0; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10314.8]
+  assign _T_1050 = io_in_d_bits_param != 2'h2; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@10319.8]
+  assign _T_1052 = _T_1050 | reset; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10321.8]
+  assign _T_1053 = _T_1052 == 1'h0; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10322.8]
+  assign _T_1063 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@10345.6]
+  assign _T_1083 = _T_1031 | io_in_d_bits_corrupt; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@10386.8]
+  assign _T_1085 = _T_1083 | reset; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10388.8]
+  assign _T_1086 = _T_1085 == 1'h0; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10389.8]
+  assign _T_1092 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@10404.6]
+  assign _T_1109 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@10439.6]
+  assign _T_1127 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@10475.6]
+  assign _T_1156 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@10535.4]
+  assign _T_1161 = _T_34[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@10540.4]
+  assign _T_1162 = io_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@10541.4]
+  assign _T_1163 = _T_1162 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@10542.4]
+  assign _T_1167 = _T_1166 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@10545.4]
+  assign _T_1168 = $unsigned(_T_1167); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@10546.4]
+  assign _T_1169 = _T_1168[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@10547.4]
+  assign _T_1170 = _T_1166 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@10548.4]
+  assign _T_1188 = _T_1170 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@10564.4]
+  assign _T_1189 = io_in_a_valid & _T_1188; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@10565.4]
+  assign _T_1190 = io_in_a_bits_opcode == _T_1179; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@10567.6]
+  assign _T_1192 = _T_1190 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10569.6]
+  assign _T_1193 = _T_1192 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10570.6]
+  assign _T_1194 = io_in_a_bits_param == _T_1181; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@10575.6]
+  assign _T_1196 = _T_1194 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10577.6]
+  assign _T_1197 = _T_1196 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10578.6]
+  assign _T_1198 = io_in_a_bits_size == _T_1183; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@10583.6]
+  assign _T_1200 = _T_1198 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10585.6]
+  assign _T_1201 = _T_1200 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10586.6]
+  assign _T_1202 = io_in_a_bits_source == _T_1185; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@10591.6]
+  assign _T_1204 = _T_1202 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10593.6]
+  assign _T_1205 = _T_1204 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10594.6]
+  assign _T_1206 = io_in_a_bits_address == _T_1187; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@10599.6]
+  assign _T_1208 = _T_1206 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10601.6]
+  assign _T_1209 = _T_1208 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10602.6]
+  assign _T_1211 = _T_1156 & _T_1170; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@10609.4]
+  assign _T_1212 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@10617.4]
+  assign _T_1214 = 27'hfff << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@10619.4]
+  assign _T_1215 = _T_1214[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@10620.4]
+  assign _T_1216 = ~ _T_1215; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@10621.4]
+  assign _T_1217 = _T_1216[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@10622.4]
+  assign _T_1218 = io_in_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@10623.4]
+  assign _T_1222 = _T_1221 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@10626.4]
+  assign _T_1223 = $unsigned(_T_1222); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@10627.4]
+  assign _T_1224 = _T_1223[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@10628.4]
+  assign _T_1225 = _T_1221 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@10629.4]
+  assign _T_1245 = _T_1225 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@10646.4]
+  assign _T_1246 = io_in_d_valid & _T_1245; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@10647.4]
+  assign _T_1247 = io_in_d_bits_opcode == _T_1234; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@10649.6]
+  assign _T_1249 = _T_1247 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10651.6]
+  assign _T_1250 = _T_1249 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10652.6]
+  assign _T_1251 = io_in_d_bits_param == _T_1236; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@10657.6]
+  assign _T_1253 = _T_1251 | reset; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10659.6]
+  assign _T_1254 = _T_1253 == 1'h0; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10660.6]
+  assign _T_1255 = io_in_d_bits_size == _T_1238; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@10665.6]
+  assign _T_1257 = _T_1255 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10667.6]
+  assign _T_1258 = _T_1257 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10668.6]
+  assign _T_1259 = io_in_d_bits_source == _T_1240; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@10673.6]
+  assign _T_1261 = _T_1259 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10675.6]
+  assign _T_1262 = _T_1261 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10676.6]
+  assign _T_1263 = io_in_d_bits_sink == _T_1242; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@10681.6]
+  assign _T_1265 = _T_1263 | reset; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10683.6]
+  assign _T_1266 = _T_1265 == 1'h0; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10684.6]
+  assign _T_1267 = io_in_d_bits_denied == _T_1244; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@10689.6]
+  assign _T_1269 = _T_1267 | reset; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10691.6]
+  assign _T_1270 = _T_1269 == 1'h0; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10692.6]
+  assign _T_1272 = _T_1212 & _T_1225; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@10699.4]
+  assign _T_1286 = _T_1285 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@10719.4]
+  assign _T_1287 = $unsigned(_T_1286); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@10720.4]
+  assign _T_1288 = _T_1287[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@10721.4]
+  assign _T_1289 = _T_1285 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@10722.4]
+  assign _T_1307 = _T_1306 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@10742.4]
+  assign _T_1308 = $unsigned(_T_1307); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@10743.4]
+  assign _T_1309 = _T_1308[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@10744.4]
+  assign _T_1310 = _T_1306 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@10745.4]
+  assign _T_1321 = _T_1156 & _T_1289; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@10760.4]
+  assign _T_1323 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@10763.6]
+  assign _T_1324 = _T_1274 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@10765.6]
+  assign _T_1325 = _T_1324[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@10766.6]
+  assign _T_1326 = _T_1325 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10767.6]
+  assign _T_1328 = _T_1326 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@10769.6]
+  assign _T_1329 = _T_1328 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@10770.6]
+  assign _GEN_15 = _T_1321 ? _T_1323 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@10762.4]
+  assign _T_1334 = _T_1212 & _T_1310; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@10781.4]
+  assign _T_1336 = _T_1015 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@10783.4]
+  assign _T_1337 = _T_1334 & _T_1336; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@10784.4]
+  assign _T_1338 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@10786.6]
+  assign _T_1339 = _GEN_15 | _T_1274; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@10788.6]
+  assign _T_1340 = _T_1339 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@10789.6]
+  assign _T_1341 = _T_1340[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@10790.6]
+  assign _T_1343 = _T_1341 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@10792.6]
+  assign _T_1344 = _T_1343 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@10793.6]
+  assign _GEN_16 = _T_1337 ? _T_1338 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@10785.4]
+  assign _T_1345 = _GEN_15 != _GEN_16; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@10799.4]
+  assign _T_1346 = _GEN_15 != 2'h0; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@10800.4]
+  assign _T_1347 = _T_1346 == 1'h0; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@10801.4]
+  assign _T_1348 = _T_1345 | _T_1347; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@10802.4]
+  assign _T_1350 = _T_1348 | reset; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@10804.4]
+  assign _T_1351 = _T_1350 == 1'h0; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@10805.4]
+  assign _T_1352 = _T_1274 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@10810.4]
+  assign _T_1353 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@10811.4]
+  assign _T_1354 = _T_1352 & _T_1353; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@10812.4]
+  assign _T_1357 = _T_1274 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@10817.4]
+  assign _T_1358 = _T_1357 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@10818.4]
+  assign _T_1359 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@10819.4]
+  assign _T_1360 = _T_1358 | _T_1359; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@10820.4]
+  assign _T_1361 = _T_1356 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@10821.4]
+  assign _T_1362 = _T_1360 | _T_1361; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@10822.4]
+  assign _T_1364 = _T_1362 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@10824.4]
+  assign _T_1365 = _T_1364 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@10825.4]
+  assign _T_1367 = _T_1356 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@10831.4]
+  assign _T_1370 = _T_1156 | _T_1212; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@10835.4]
+  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9202.10]
+  assign _GEN_35 = io_in_a_valid & _T_206; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9352.10]
+  assign _GEN_53 = io_in_a_valid & _T_326; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9518.10]
+  assign _GEN_65 = io_in_a_valid & _T_442; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9662.10]
+  assign _GEN_75 = io_in_a_valid & _T_556; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9798.10]
+  assign _GEN_85 = io_in_a_valid & _T_672; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9931.10]
+  assign _GEN_95 = io_in_a_valid & _T_781; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10062.10]
+  assign _GEN_105 = io_in_a_valid & _T_890; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10193.10]
+  assign _GEN_115 = io_in_d_valid & _T_1015; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10251.10]
+  assign _GEN_125 = io_in_d_valid & _T_1035; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10293.10]
+  assign _GEN_137 = io_in_d_valid & _T_1063; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10351.10]
+  assign _GEN_149 = io_in_d_valid & _T_1092; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10410.10]
+  assign _GEN_155 = io_in_d_valid & _T_1109; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10445.10]
+  assign _GEN_161 = io_in_d_valid & _T_1127; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10481.10]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  _T_1166 = _RAND_0[9:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  _T_1179 = _RAND_1[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  _T_1181 = _RAND_2[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  _T_1183 = _RAND_3[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  _T_1185 = _RAND_4[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  _T_1187 = _RAND_5[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {1{`RANDOM}};
+  _T_1221 = _RAND_6[9:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {1{`RANDOM}};
+  _T_1234 = _RAND_7[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_8 = {1{`RANDOM}};
+  _T_1236 = _RAND_8[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_9 = {1{`RANDOM}};
+  _T_1238 = _RAND_9[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_10 = {1{`RANDOM}};
+  _T_1240 = _RAND_10[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_11 = {1{`RANDOM}};
+  _T_1242 = _RAND_11[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_12 = {1{`RANDOM}};
+  _T_1244 = _RAND_12[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_13 = {1{`RANDOM}};
+  _T_1274 = _RAND_13[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_14 = {1{`RANDOM}};
+  _T_1285 = _RAND_14[9:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_15 = {1{`RANDOM}};
+  _T_1306 = _RAND_15[9:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_16 = {1{`RANDOM}};
+  _T_1356 = _RAND_16[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      _T_1166 <= 10'h0;
+    end else begin
+      if (_T_1156) begin
+        if (_T_1170) begin
+          if (_T_1163) begin
+            _T_1166 <= _T_1161;
+          end else begin
+            _T_1166 <= 10'h0;
+          end
+        end else begin
+          _T_1166 <= _T_1169;
+        end
+      end
+    end
+    if (_T_1211) begin
+      _T_1179 <= io_in_a_bits_opcode;
+    end
+    if (_T_1211) begin
+      _T_1181 <= io_in_a_bits_param;
+    end
+    if (_T_1211) begin
+      _T_1183 <= io_in_a_bits_size;
+    end
+    if (_T_1211) begin
+      _T_1185 <= io_in_a_bits_source;
+    end
+    if (_T_1211) begin
+      _T_1187 <= io_in_a_bits_address;
+    end
+    if (reset) begin
+      _T_1221 <= 10'h0;
+    end else begin
+      if (_T_1212) begin
+        if (_T_1225) begin
+          if (_T_1218) begin
+            _T_1221 <= _T_1217;
+          end else begin
+            _T_1221 <= 10'h0;
+          end
+        end else begin
+          _T_1221 <= _T_1224;
+        end
+      end
+    end
+    if (_T_1272) begin
+      _T_1234 <= io_in_d_bits_opcode;
+    end
+    if (_T_1272) begin
+      _T_1236 <= io_in_d_bits_param;
+    end
+    if (_T_1272) begin
+      _T_1238 <= io_in_d_bits_size;
+    end
+    if (_T_1272) begin
+      _T_1240 <= io_in_d_bits_source;
+    end
+    if (_T_1272) begin
+      _T_1242 <= io_in_d_bits_sink;
+    end
+    if (_T_1272) begin
+      _T_1244 <= io_in_d_bits_denied;
+    end
+    if (reset) begin
+      _T_1274 <= 2'h0;
+    end else begin
+      _T_1274 <= _T_1354;
+    end
+    if (reset) begin
+      _T_1285 <= 10'h0;
+    end else begin
+      if (_T_1156) begin
+        if (_T_1289) begin
+          if (_T_1163) begin
+            _T_1285 <= _T_1161;
+          end else begin
+            _T_1285 <= 10'h0;
+          end
+        end else begin
+          _T_1285 <= _T_1288;
+        end
+      end
+    end
+    if (reset) begin
+      _T_1306 <= 10'h0;
+    end else begin
+      if (_T_1212) begin
+        if (_T_1310) begin
+          if (_T_1218) begin
+            _T_1306 <= _T_1217;
+          end else begin
+            _T_1306 <= 10'h0;
+          end
+        end else begin
+          _T_1306 <= _T_1309;
+        end
+      end
+    end
+    if (reset) begin
+      _T_1356 <= 32'h0;
+    end else begin
+      if (_T_1370) begin
+        _T_1356 <= 32'h0;
+      end else begin
+        _T_1356 <= _T_1367;
+      end
+    end
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@9037.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@9038.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@9107.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@9108.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_179) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9202.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_179) begin
+          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9203.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_179) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9209.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_179) begin
+          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9210.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_185) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9216.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_185) begin
+          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9217.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_189) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9224.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_189) begin
+          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9225.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_192) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9231.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_192) begin
+          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9232.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_196) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9239.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_196) begin
+          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9240.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_201) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9248.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_201) begin
+          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9249.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_205) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9256.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_205) begin
+          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9257.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_179) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9352.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_179) begin
+          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9353.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_179) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9359.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_179) begin
+          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9360.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_185) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9366.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_185) begin
+          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9367.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_189) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9374.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_189) begin
+          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9375.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_192) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9381.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_192) begin
+          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9382.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_196) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9389.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_196) begin
+          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9390.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_316) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9397.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_316) begin
+          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9398.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_201) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9406.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_201) begin
+          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9407.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_205) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9414.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_205) begin
+          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9415.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_423) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9518.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_423) begin
+          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9519.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_185) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9525.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_185) begin
+          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9526.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_192) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9532.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_192) begin
+          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9533.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_433) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9540.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_433) begin
+          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9541.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_437) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9548.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_437) begin
+          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9549.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_205) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9556.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_205) begin
+          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9557.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_541) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9662.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_541) begin
+          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9663.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_185) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9669.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_185) begin
+          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9670.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_192) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9676.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_192) begin
+          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9677.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_433) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9684.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_433) begin
+          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9685.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_437) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9692.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_437) begin
+          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9693.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_541) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9798.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_541) begin
+          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9799.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_185) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9805.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_185) begin
+          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9806.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_192) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9812.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_192) begin
+          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9813.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_433) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9820.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_433) begin
+          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9821.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_671) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9830.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_671) begin
+          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9831.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_766) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9931.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_766) begin
+          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9932.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_185) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9938.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_185) begin
+          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9939.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_192) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9945.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_192) begin
+          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9946.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_776) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9953.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_776) begin
+          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9954.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_437) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9961.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_437) begin
+          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9962.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_766) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10062.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_766) begin
+          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10063.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_185) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10069.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_185) begin
+          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10070.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_192) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10076.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_192) begin
+          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10077.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_885) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10084.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_885) begin
+          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10085.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_437) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10092.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_437) begin
+          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10093.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_984) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10193.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_984) begin
+          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10194.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_185) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10200.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_185) begin
+          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10201.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_192) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10207.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_192) begin
+          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10208.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_437) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10215.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_437) begin
+          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10216.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_205) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10223.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_205) begin
+          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10224.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1002) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@10234.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1002) begin
+          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@10235.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_1018) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10251.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_1018) begin
+          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10252.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_1022) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10259.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_1022) begin
+          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10260.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_1026) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10267.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_1026) begin
+          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10268.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_1030) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10275.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_1030) begin
+          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10276.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_1034) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10283.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_1034) begin
+          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10284.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_1018) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10293.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_1018) begin
+          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10294.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_179) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10300.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_179) begin
+          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10301.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_1022) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10308.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_1022) begin
+          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10309.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_1049) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10316.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_1049) begin
+          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10317.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_1053) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10324.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_1053) begin
+          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10325.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_1030) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10332.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_1030) begin
+          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10333.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10341.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10342.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_137 & _T_1018) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10351.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_137 & _T_1018) begin
+          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10352.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_137 & _T_179) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10358.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_137 & _T_179) begin
+          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10359.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_137 & _T_1022) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10366.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_137 & _T_1022) begin
+          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10367.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_137 & _T_1049) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10374.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_137 & _T_1049) begin
+          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10375.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_137 & _T_1053) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10382.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_137 & _T_1053) begin
+          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10383.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_137 & _T_1086) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10391.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_137 & _T_1086) begin
+          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10392.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10400.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10401.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_149 & _T_1018) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10410.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_149 & _T_1018) begin
+          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10411.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_149 & _T_1026) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10418.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_149 & _T_1026) begin
+          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10419.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_149 & _T_1030) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10426.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_149 & _T_1030) begin
+          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10427.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10435.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10436.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_155 & _T_1018) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10445.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_155 & _T_1018) begin
+          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10446.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_155 & _T_1026) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10453.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_155 & _T_1026) begin
+          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10454.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_155 & _T_1086) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10462.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_155 & _T_1086) begin
+          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10463.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10471.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10472.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_161 & _T_1018) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10481.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_161 & _T_1018) begin
+          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10482.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_161 & _T_1026) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10489.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_161 & _T_1026) begin
+          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10490.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_161 & _T_1030) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10497.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_161 & _T_1030) begin
+          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10498.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10506.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10507.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10516.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10517.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10524.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10525.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10532.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10533.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1189 & _T_1193) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10572.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1189 & _T_1193) begin
+          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10573.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1189 & _T_1197) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10580.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1189 & _T_1197) begin
+          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10581.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1189 & _T_1201) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10588.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1189 & _T_1201) begin
+          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10589.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1189 & _T_1205) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10596.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1189 & _T_1205) begin
+          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10597.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1189 & _T_1209) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10604.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1189 & _T_1209) begin
+          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10605.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1246 & _T_1250) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10654.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1246 & _T_1250) begin
+          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10655.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1246 & _T_1254) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10662.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1246 & _T_1254) begin
+          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10663.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1246 & _T_1258) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10670.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1246 & _T_1258) begin
+          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10671.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1246 & _T_1262) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10678.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1246 & _T_1262) begin
+          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10679.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1246 & _T_1266) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10686.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1246 & _T_1266) begin
+          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10687.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1246 & _T_1270) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10694.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1246 & _T_1270) begin
+          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10695.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1321 & _T_1329) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@10772.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1321 & _T_1329) begin
+          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@10773.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1337 & _T_1344) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@10795.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1337 & _T_1344) begin
+          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@10796.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1351) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' and 'D' concurrent, despite minlatency 2 (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:471 assert(a_set =/= d_clr || !a_set.orR, s\"'A' and 'D' concurrent, despite minlatency ${edge.manager.minLatency}\" + extra)\n"); // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@10807.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1351) begin
+          $fatal; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@10808.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1365) begin
+          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@10827.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1365) begin
+          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@10828.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+endmodule
+module TLAtomicAutomata( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@10840.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@10841.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@10842.4]
+  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@10843.4]
+  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@10843.4]
+  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@10843.4]
+  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@10843.4]
+  input  [3:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@10843.4]
+  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@10843.4]
+  input  [31:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@10843.4]
+  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@10843.4]
+  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@10843.4]
+  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@10843.4]
+  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@10843.4]
+  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@10843.4]
+  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@10843.4]
+  output [1:0]  auto_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@10843.4]
+  output [3:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@10843.4]
+  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@10843.4]
+  output        auto_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@10843.4]
+  output        auto_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@10843.4]
+  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@10843.4]
+  output        auto_in_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@10843.4]
+  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@10843.4]
+  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@10843.4]
+  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@10843.4]
+  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@10843.4]
+  output [3:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@10843.4]
+  output        auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@10843.4]
+  output [31:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@10843.4]
+  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@10843.4]
+  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@10843.4]
+  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@10843.4]
+  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@10843.4]
+  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@10843.4]
+  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@10843.4]
+  input  [1:0]  auto_out_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@10843.4]
+  input  [3:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@10843.4]
+  input         auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@10843.4]
+  input         auto_out_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@10843.4]
+  input         auto_out_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@10843.4]
+  input  [31:0] auto_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@10843.4]
+  input         auto_out_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@10843.4]
+);
+  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@10850.4]
+  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@10850.4]
+  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@10850.4]
+  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@10850.4]
+  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@10850.4]
+  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@10850.4]
+  wire [3:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@10850.4]
+  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@10850.4]
+  wire [31:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@10850.4]
+  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@10850.4]
+  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@10850.4]
+  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@10850.4]
+  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@10850.4]
+  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@10850.4]
+  wire [1:0] TLMonitor_io_in_d_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@10850.4]
+  wire [3:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@10850.4]
+  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@10850.4]
+  wire  TLMonitor_io_in_d_bits_sink; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@10850.4]
+  wire  TLMonitor_io_in_d_bits_denied; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@10850.4]
+  wire  TLMonitor_io_in_d_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@10850.4]
+  reg [1:0] _T_258_0_state; // @[AtomicAutomata.scala 74:28:shc.marmotcaravel.MarmotCaravelConfig.fir@10897.4]
+  reg [31:0] _RAND_0;
+  reg [2:0] _T_269_0_bits_opcode; // @[AtomicAutomata.scala 75:24:shc.marmotcaravel.MarmotCaravelConfig.fir@10898.4]
+  reg [31:0] _RAND_1;
+  reg [2:0] _T_269_0_bits_param; // @[AtomicAutomata.scala 75:24:shc.marmotcaravel.MarmotCaravelConfig.fir@10898.4]
+  reg [31:0] _RAND_2;
+  reg [3:0] _T_269_0_bits_size; // @[AtomicAutomata.scala 75:24:shc.marmotcaravel.MarmotCaravelConfig.fir@10898.4]
+  reg [31:0] _RAND_3;
+  reg  _T_269_0_bits_source; // @[AtomicAutomata.scala 75:24:shc.marmotcaravel.MarmotCaravelConfig.fir@10898.4]
+  reg [31:0] _RAND_4;
+  reg [31:0] _T_269_0_bits_address; // @[AtomicAutomata.scala 75:24:shc.marmotcaravel.MarmotCaravelConfig.fir@10898.4]
+  reg [31:0] _RAND_5;
+  reg [3:0] _T_269_0_bits_mask; // @[AtomicAutomata.scala 75:24:shc.marmotcaravel.MarmotCaravelConfig.fir@10898.4]
+  reg [31:0] _RAND_6;
+  reg [31:0] _T_269_0_bits_data; // @[AtomicAutomata.scala 75:24:shc.marmotcaravel.MarmotCaravelConfig.fir@10898.4]
+  reg [31:0] _RAND_7;
+  reg  _T_269_0_bits_corrupt; // @[AtomicAutomata.scala 75:24:shc.marmotcaravel.MarmotCaravelConfig.fir@10898.4]
+  reg [31:0] _RAND_8;
+  reg [2:0] _T_269_0_fifoId; // @[AtomicAutomata.scala 75:24:shc.marmotcaravel.MarmotCaravelConfig.fir@10898.4]
+  reg [31:0] _RAND_9;
+  reg [3:0] _T_269_0_lut; // @[AtomicAutomata.scala 75:24:shc.marmotcaravel.MarmotCaravelConfig.fir@10898.4]
+  reg [31:0] _RAND_10;
+  reg [31:0] _T_276_0_data; // @[AtomicAutomata.scala 76:24:shc.marmotcaravel.MarmotCaravelConfig.fir@10899.4]
+  reg [31:0] _RAND_11;
+  reg  _T_276_0_denied; // @[AtomicAutomata.scala 76:24:shc.marmotcaravel.MarmotCaravelConfig.fir@10899.4]
+  reg [31:0] _RAND_12;
+  reg  _T_276_0_corrupt; // @[AtomicAutomata.scala 76:24:shc.marmotcaravel.MarmotCaravelConfig.fir@10899.4]
+  reg [31:0] _RAND_13;
+  wire  _T_280; // @[AtomicAutomata.scala 78:44:shc.marmotcaravel.MarmotCaravelConfig.fir@10900.4]
+  wire  _T_281; // @[AtomicAutomata.scala 79:44:shc.marmotcaravel.MarmotCaravelConfig.fir@10901.4]
+  wire  _T_282; // @[AtomicAutomata.scala 80:49:shc.marmotcaravel.MarmotCaravelConfig.fir@10902.4]
+  wire  _T_284; // @[AtomicAutomata.scala 80:57:shc.marmotcaravel.MarmotCaravelConfig.fir@10904.4]
+  wire  _T_285; // @[AtomicAutomata.scala 81:49:shc.marmotcaravel.MarmotCaravelConfig.fir@10905.4]
+  wire  _T_287; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@10907.4]
+  wire [31:0] _T_290; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@10910.4]
+  wire [32:0] _T_291; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@10911.4]
+  wire [32:0] _T_292; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@10912.4]
+  wire [32:0] _T_293; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@10913.4]
+  wire  _T_294; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@10914.4]
+  wire [31:0] _T_295; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@10915.4]
+  wire [32:0] _T_296; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@10916.4]
+  wire [32:0] _T_297; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@10917.4]
+  wire [32:0] _T_298; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@10918.4]
+  wire  _T_299; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@10919.4]
+  wire [31:0] _T_300; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@10920.4]
+  wire [32:0] _T_301; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@10921.4]
+  wire [32:0] _T_302; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@10922.4]
+  wire [32:0] _T_303; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@10923.4]
+  wire  _T_304; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@10924.4]
+  wire  _T_305; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@10925.4]
+  wire  _T_306; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@10926.4]
+  wire  _T_307; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@10927.4]
+  wire  _T_308; // @[Parameters.scala 89:48:shc.marmotcaravel.MarmotCaravelConfig.fir@10928.4]
+  wire [31:0] _T_310; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@10930.4]
+  wire [32:0] _T_311; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@10931.4]
+  wire [32:0] _T_312; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@10932.4]
+  wire [32:0] _T_313; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@10933.4]
+  wire  _T_314; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@10934.4]
+  wire  _T_315; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@10935.4]
+  wire [31:0] _T_327; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@10947.4]
+  wire [32:0] _T_328; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@10948.4]
+  wire [32:0] _T_333; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@10953.4]
+  wire [31:0] _T_337; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@10957.4]
+  wire [32:0] _T_338; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@10958.4]
+  wire  _T_354; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@10974.4]
+  wire  _T_428; // @[AtomicAutomata.scala 88:47:shc.marmotcaravel.MarmotCaravelConfig.fir@11048.4]
+  wire  _T_429; // @[AtomicAutomata.scala 89:47:shc.marmotcaravel.MarmotCaravelConfig.fir@11049.4]
+  wire  _T_430; // @[AtomicAutomata.scala 90:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11050.4]
+  wire  _T_431; // @[AtomicAutomata.scala 90:32:shc.marmotcaravel.MarmotCaravelConfig.fir@11051.4]
+  wire [31:0] _T_470; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11090.4]
+  wire [32:0] _T_471; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11091.4]
+  wire [32:0] _T_472; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11092.4]
+  wire [32:0] _T_473; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11093.4]
+  wire  _T_474; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@11094.4]
+  wire [32:0] _T_477; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11097.4]
+  wire [32:0] _T_478; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11098.4]
+  wire  _T_479; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@11099.4]
+  wire [32:0] _T_482; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11102.4]
+  wire [32:0] _T_483; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11103.4]
+  wire  _T_484; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@11104.4]
+  wire [32:0] _T_487; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11107.4]
+  wire [32:0] _T_488; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11108.4]
+  wire  _T_489; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@11109.4]
+  wire [32:0] _T_492; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11112.4]
+  wire [32:0] _T_493; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11113.4]
+  wire  _T_494; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@11114.4]
+  wire [1:0] _T_497; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11116.4]
+  wire [1:0] _T_498; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11117.4]
+  wire [2:0] _T_499; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11118.4]
+  wire [2:0] _T_500; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11119.4]
+  wire [1:0] _T_503; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11122.4]
+  wire [2:0] _GEN_39; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11123.4]
+  wire [2:0] _T_504; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11123.4]
+  wire [2:0] _T_505; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11124.4]
+  wire [2:0] _GEN_40; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11125.4]
+  wire [2:0] _T_506; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11125.4]
+  wire  _T_509; // @[AtomicAutomata.scala 103:60:shc.marmotcaravel.MarmotCaravelConfig.fir@11128.4]
+  wire  _T_510; // @[AtomicAutomata.scala 103:96:shc.marmotcaravel.MarmotCaravelConfig.fir@11129.4]
+  wire  _T_514; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11133.4]
+  wire  _T_515; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11134.4]
+  wire [1:0] _T_516; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11135.4]
+  wire  _T_517; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11136.4]
+  wire  _T_518; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11137.4]
+  wire [1:0] _T_519; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11138.4]
+  wire  _T_520; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11139.4]
+  wire  _T_521; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11140.4]
+  wire [1:0] _T_522; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11141.4]
+  wire  _T_523; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11142.4]
+  wire  _T_524; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11143.4]
+  wire [1:0] _T_525; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11144.4]
+  wire  _T_526; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11145.4]
+  wire  _T_527; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11146.4]
+  wire [1:0] _T_528; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11147.4]
+  wire  _T_529; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11148.4]
+  wire  _T_530; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11149.4]
+  wire [1:0] _T_531; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11150.4]
+  wire  _T_532; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11151.4]
+  wire  _T_533; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11152.4]
+  wire [1:0] _T_534; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11153.4]
+  wire  _T_535; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11154.4]
+  wire  _T_536; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11155.4]
+  wire [1:0] _T_537; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11156.4]
+  wire  _T_538; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11157.4]
+  wire  _T_539; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11158.4]
+  wire [1:0] _T_540; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11159.4]
+  wire  _T_541; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11160.4]
+  wire  _T_542; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11161.4]
+  wire [1:0] _T_543; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11162.4]
+  wire  _T_544; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11163.4]
+  wire  _T_545; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11164.4]
+  wire [1:0] _T_546; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11165.4]
+  wire  _T_547; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11166.4]
+  wire  _T_548; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11167.4]
+  wire [1:0] _T_549; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11168.4]
+  wire  _T_550; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11169.4]
+  wire  _T_551; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11170.4]
+  wire [1:0] _T_552; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11171.4]
+  wire  _T_553; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11172.4]
+  wire  _T_554; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11173.4]
+  wire [1:0] _T_555; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11174.4]
+  wire  _T_556; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11175.4]
+  wire  _T_557; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11176.4]
+  wire [1:0] _T_558; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11177.4]
+  wire  _T_559; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11178.4]
+  wire  _T_560; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11179.4]
+  wire [1:0] _T_561; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11180.4]
+  wire  _T_562; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11181.4]
+  wire  _T_563; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11182.4]
+  wire [1:0] _T_564; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11183.4]
+  wire  _T_565; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11184.4]
+  wire  _T_566; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11185.4]
+  wire [1:0] _T_567; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11186.4]
+  wire  _T_568; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11187.4]
+  wire  _T_569; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11188.4]
+  wire [1:0] _T_570; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11189.4]
+  wire  _T_571; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11190.4]
+  wire  _T_572; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11191.4]
+  wire [1:0] _T_573; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11192.4]
+  wire  _T_574; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11193.4]
+  wire  _T_575; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11194.4]
+  wire [1:0] _T_576; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11195.4]
+  wire  _T_577; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11196.4]
+  wire  _T_578; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11197.4]
+  wire [1:0] _T_579; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11198.4]
+  wire  _T_580; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11199.4]
+  wire  _T_581; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11200.4]
+  wire [1:0] _T_582; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11201.4]
+  wire  _T_583; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11202.4]
+  wire  _T_584; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11203.4]
+  wire [1:0] _T_585; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11204.4]
+  wire  _T_586; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11205.4]
+  wire  _T_587; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11206.4]
+  wire [1:0] _T_588; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11207.4]
+  wire  _T_589; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11208.4]
+  wire  _T_590; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11209.4]
+  wire [1:0] _T_591; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11210.4]
+  wire  _T_592; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11211.4]
+  wire  _T_593; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11212.4]
+  wire [1:0] _T_594; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11213.4]
+  wire  _T_595; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11214.4]
+  wire  _T_596; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11215.4]
+  wire [1:0] _T_597; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11216.4]
+  wire  _T_598; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11217.4]
+  wire  _T_599; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11218.4]
+  wire [1:0] _T_600; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11219.4]
+  wire  _T_601; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11220.4]
+  wire  _T_602; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11221.4]
+  wire [1:0] _T_603; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11222.4]
+  wire  _T_604; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11223.4]
+  wire  _T_605; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11224.4]
+  wire [1:0] _T_606; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11225.4]
+  wire  _T_607; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11226.4]
+  wire  _T_608; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11227.4]
+  wire [1:0] _T_609; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11228.4]
+  wire [3:0] _T_610; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11229.4]
+  wire  _T_611; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11230.4]
+  wire [3:0] _T_612; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11231.4]
+  wire  _T_613; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11232.4]
+  wire [3:0] _T_614; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11233.4]
+  wire  _T_615; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11234.4]
+  wire [3:0] _T_616; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11235.4]
+  wire  _T_617; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11236.4]
+  wire [3:0] _T_618; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11237.4]
+  wire  _T_619; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11238.4]
+  wire [3:0] _T_620; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11239.4]
+  wire  _T_621; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11240.4]
+  wire [3:0] _T_622; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11241.4]
+  wire  _T_623; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11242.4]
+  wire [3:0] _T_624; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11243.4]
+  wire  _T_625; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11244.4]
+  wire [3:0] _T_626; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11245.4]
+  wire  _T_627; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11246.4]
+  wire [3:0] _T_628; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11247.4]
+  wire  _T_629; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11248.4]
+  wire [3:0] _T_630; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11249.4]
+  wire  _T_631; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11250.4]
+  wire [3:0] _T_632; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11251.4]
+  wire  _T_633; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11252.4]
+  wire [3:0] _T_634; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11253.4]
+  wire  _T_635; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11254.4]
+  wire [3:0] _T_636; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11255.4]
+  wire  _T_637; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11256.4]
+  wire [3:0] _T_638; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11257.4]
+  wire  _T_639; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11258.4]
+  wire [3:0] _T_640; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11259.4]
+  wire  _T_641; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11260.4]
+  wire [3:0] _T_642; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11261.4]
+  wire  _T_643; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11262.4]
+  wire [3:0] _T_644; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11263.4]
+  wire  _T_645; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11264.4]
+  wire [3:0] _T_646; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11265.4]
+  wire  _T_647; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11266.4]
+  wire [3:0] _T_648; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11267.4]
+  wire  _T_649; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11268.4]
+  wire [3:0] _T_650; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11269.4]
+  wire  _T_651; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11270.4]
+  wire [3:0] _T_652; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11271.4]
+  wire  _T_653; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11272.4]
+  wire [3:0] _T_654; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11273.4]
+  wire  _T_655; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11274.4]
+  wire [3:0] _T_656; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11275.4]
+  wire  _T_657; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11276.4]
+  wire [3:0] _T_658; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11277.4]
+  wire  _T_659; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11278.4]
+  wire [3:0] _T_660; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11279.4]
+  wire  _T_661; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11280.4]
+  wire [3:0] _T_662; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11281.4]
+  wire  _T_663; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11282.4]
+  wire [3:0] _T_664; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11283.4]
+  wire  _T_665; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11284.4]
+  wire [3:0] _T_666; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11285.4]
+  wire  _T_667; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11286.4]
+  wire [3:0] _T_668; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11287.4]
+  wire  _T_669; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11288.4]
+  wire [3:0] _T_670; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11289.4]
+  wire  _T_671; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11290.4]
+  wire [3:0] _T_672; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11291.4]
+  wire  _T_673; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11292.4]
+  wire [1:0] _T_674; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11293.4]
+  wire [1:0] _T_675; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11294.4]
+  wire [3:0] _T_676; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11295.4]
+  wire [1:0] _T_677; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11296.4]
+  wire [1:0] _T_678; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11297.4]
+  wire [3:0] _T_679; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11298.4]
+  wire [7:0] _T_680; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11299.4]
+  wire [1:0] _T_681; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11300.4]
+  wire [1:0] _T_682; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11301.4]
+  wire [3:0] _T_683; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11302.4]
+  wire [1:0] _T_684; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11303.4]
+  wire [1:0] _T_685; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11304.4]
+  wire [3:0] _T_686; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11305.4]
+  wire [7:0] _T_687; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11306.4]
+  wire [15:0] _T_688; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11307.4]
+  wire [1:0] _T_689; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11308.4]
+  wire [1:0] _T_690; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11309.4]
+  wire [3:0] _T_691; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11310.4]
+  wire [1:0] _T_692; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11311.4]
+  wire [1:0] _T_693; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11312.4]
+  wire [3:0] _T_694; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11313.4]
+  wire [7:0] _T_695; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11314.4]
+  wire [1:0] _T_696; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11315.4]
+  wire [1:0] _T_697; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11316.4]
+  wire [3:0] _T_698; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11317.4]
+  wire [1:0] _T_699; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11318.4]
+  wire [1:0] _T_700; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11319.4]
+  wire [3:0] _T_701; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11320.4]
+  wire [7:0] _T_702; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11321.4]
+  wire [15:0] _T_703; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11322.4]
+  wire [31:0] _T_704; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11323.4]
+  wire  _T_705; // @[AtomicAutomata.scala 115:42:shc.marmotcaravel.MarmotCaravelConfig.fir@11324.4]
+  wire  _T_706; // @[AtomicAutomata.scala 116:42:shc.marmotcaravel.MarmotCaravelConfig.fir@11325.4]
+  wire  _T_707; // @[AtomicAutomata.scala 117:39:shc.marmotcaravel.MarmotCaravelConfig.fir@11326.4]
+  wire [3:0] _T_708; // @[AtomicAutomata.scala 119:25:shc.marmotcaravel.MarmotCaravelConfig.fir@11327.4]
+  wire [2:0] _T_709; // @[AtomicAutomata.scala 119:39:shc.marmotcaravel.MarmotCaravelConfig.fir@11328.4]
+  wire [3:0] _GEN_41; // @[AtomicAutomata.scala 119:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11329.4]
+  wire [3:0] _T_710; // @[AtomicAutomata.scala 119:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11329.4]
+  wire [3:0] _T_711; // @[AtomicAutomata.scala 119:23:shc.marmotcaravel.MarmotCaravelConfig.fir@11330.4]
+  wire [1:0] _T_716; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11335.4]
+  wire [1:0] _T_717; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11336.4]
+  wire [3:0] _T_718; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11337.4]
+  wire [1:0] _T_723; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11342.4]
+  wire [1:0] _T_724; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11343.4]
+  wire [3:0] _T_725; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11344.4]
+  wire [3:0] _T_726; // @[AtomicAutomata.scala 123:38:shc.marmotcaravel.MarmotCaravelConfig.fir@11345.4]
+  wire [4:0] _GEN_42; // @[AtomicAutomata.scala 123:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11346.4]
+  wire [4:0] _T_727; // @[AtomicAutomata.scala 123:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11346.4]
+  wire [3:0] _T_728; // @[AtomicAutomata.scala 123:54:shc.marmotcaravel.MarmotCaravelConfig.fir@11347.4]
+  wire [3:0] _T_729; // @[AtomicAutomata.scala 124:38:shc.marmotcaravel.MarmotCaravelConfig.fir@11348.4]
+  wire [4:0] _GEN_43; // @[AtomicAutomata.scala 124:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11349.4]
+  wire [4:0] _T_730; // @[AtomicAutomata.scala 124:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11349.4]
+  wire [3:0] _T_731; // @[AtomicAutomata.scala 124:54:shc.marmotcaravel.MarmotCaravelConfig.fir@11350.4]
+  wire [4:0] _GEN_44; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@11351.4]
+  wire [4:0] _T_732; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@11351.4]
+  wire [3:0] _T_733; // @[package.scala 194:53:shc.marmotcaravel.MarmotCaravelConfig.fir@11352.4]
+  wire [3:0] _T_734; // @[package.scala 194:43:shc.marmotcaravel.MarmotCaravelConfig.fir@11353.4]
+  wire [5:0] _GEN_45; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@11354.4]
+  wire [5:0] _T_735; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@11354.4]
+  wire [3:0] _T_736; // @[package.scala 194:53:shc.marmotcaravel.MarmotCaravelConfig.fir@11355.4]
+  wire [3:0] _T_737; // @[package.scala 194:43:shc.marmotcaravel.MarmotCaravelConfig.fir@11356.4]
+  wire  _T_739; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@11358.4]
+  wire  _T_740; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@11359.4]
+  wire  _T_741; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@11360.4]
+  wire  _T_742; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@11361.4]
+  wire [7:0] _T_744; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@11363.4]
+  wire [7:0] _T_746; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@11365.4]
+  wire [7:0] _T_748; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@11367.4]
+  wire [7:0] _T_750; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@11369.4]
+  wire [15:0] _T_751; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11370.4]
+  wire [15:0] _T_752; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11371.4]
+  wire [31:0] _T_753; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11372.4]
+  wire [4:0] _GEN_46; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@11373.4]
+  wire [4:0] _T_754; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@11373.4]
+  wire [3:0] _T_755; // @[package.scala 194:53:shc.marmotcaravel.MarmotCaravelConfig.fir@11374.4]
+  wire [3:0] _T_756; // @[package.scala 194:43:shc.marmotcaravel.MarmotCaravelConfig.fir@11375.4]
+  wire [5:0] _GEN_47; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@11376.4]
+  wire [5:0] _T_757; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@11376.4]
+  wire [3:0] _T_758; // @[package.scala 194:53:shc.marmotcaravel.MarmotCaravelConfig.fir@11377.4]
+  wire [3:0] _T_759; // @[package.scala 194:43:shc.marmotcaravel.MarmotCaravelConfig.fir@11378.4]
+  wire  _T_761; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@11380.4]
+  wire  _T_762; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@11381.4]
+  wire  _T_763; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@11382.4]
+  wire  _T_764; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@11383.4]
+  wire [7:0] _T_766; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@11385.4]
+  wire [7:0] _T_768; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@11387.4]
+  wire [7:0] _T_770; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@11389.4]
+  wire [7:0] _T_772; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@11391.4]
+  wire [15:0] _T_773; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11392.4]
+  wire [15:0] _T_774; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11393.4]
+  wire [31:0] _T_775; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11394.4]
+  wire  _T_776; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@11395.4]
+  wire  _T_777; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@11396.4]
+  wire  _T_778; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@11397.4]
+  wire  _T_779; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@11398.4]
+  wire [7:0] _T_781; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@11400.4]
+  wire [7:0] _T_783; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@11402.4]
+  wire [7:0] _T_785; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@11404.4]
+  wire [7:0] _T_787; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@11406.4]
+  wire [15:0] _T_788; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11407.4]
+  wire [15:0] _T_789; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11408.4]
+  wire [31:0] _T_790; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11409.4]
+  wire [31:0] _T_791; // @[AtomicAutomata.scala 129:28:shc.marmotcaravel.MarmotCaravelConfig.fir@11410.4]
+  wire [31:0] _T_792; // @[AtomicAutomata.scala 129:41:shc.marmotcaravel.MarmotCaravelConfig.fir@11411.4]
+  wire [31:0] _T_793; // @[AtomicAutomata.scala 130:28:shc.marmotcaravel.MarmotCaravelConfig.fir@11412.4]
+  wire [31:0] _T_794; // @[AtomicAutomata.scala 130:41:shc.marmotcaravel.MarmotCaravelConfig.fir@11413.4]
+  wire [31:0] _T_795; // @[AtomicAutomata.scala 131:43:shc.marmotcaravel.MarmotCaravelConfig.fir@11414.4]
+  wire [31:0] _T_796; // @[AtomicAutomata.scala 131:26:shc.marmotcaravel.MarmotCaravelConfig.fir@11415.4]
+  wire [31:0] _T_798; // @[AtomicAutomata.scala 132:33:shc.marmotcaravel.MarmotCaravelConfig.fir@11417.4]
+  wire  _T_799; // @[AtomicAutomata.scala 134:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11418.4]
+  wire  _T_800; // @[AtomicAutomata.scala 134:38:shc.marmotcaravel.MarmotCaravelConfig.fir@11419.4]
+  wire  _T_802; // @[AtomicAutomata.scala 135:50:shc.marmotcaravel.MarmotCaravelConfig.fir@11421.4]
+  wire  _T_803; // @[AtomicAutomata.scala 135:39:shc.marmotcaravel.MarmotCaravelConfig.fir@11422.4]
+  wire  _T_804; // @[AtomicAutomata.scala 135:65:shc.marmotcaravel.MarmotCaravelConfig.fir@11423.4]
+  wire  _T_805; // @[AtomicAutomata.scala 135:55:shc.marmotcaravel.MarmotCaravelConfig.fir@11424.4]
+  wire  _T_806; // @[AtomicAutomata.scala 135:27:shc.marmotcaravel.MarmotCaravelConfig.fir@11425.4]
+  wire  _T_807; // @[AtomicAutomata.scala 136:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11426.4]
+  wire [31:0] _T_808; // @[AtomicAutomata.scala 137:50:shc.marmotcaravel.MarmotCaravelConfig.fir@11427.4]
+  wire [31:0] _T_809; // @[AtomicAutomata.scala 137:28:shc.marmotcaravel.MarmotCaravelConfig.fir@11428.4]
+  wire  _T_810; // @[AtomicAutomata.scala 143:34:shc.marmotcaravel.MarmotCaravelConfig.fir@11429.4]
+  wire [31:0] _T_811; // @[AtomicAutomata.scala 143:14:shc.marmotcaravel.MarmotCaravelConfig.fir@11430.4]
+  wire  _T_815; // @[AtomicAutomata.scala 147:23:shc.marmotcaravel.MarmotCaravelConfig.fir@11433.4]
+  wire  _T_816; // @[AtomicAutomata.scala 147:53:shc.marmotcaravel.MarmotCaravelConfig.fir@11434.4]
+  wire  _T_817; // @[AtomicAutomata.scala 147:35:shc.marmotcaravel.MarmotCaravelConfig.fir@11435.4]
+  reg [9:0] _T_941; // @[Arbiter.scala 53:30:shc.marmotcaravel.MarmotCaravelConfig.fir@11574.4]
+  reg [31:0] _RAND_14;
+  wire  _T_942; // @[Arbiter.scala 54:28:shc.marmotcaravel.MarmotCaravelConfig.fir@11575.4]
+  wire  _T_819; // @[AtomicAutomata.scala 149:38:shc.marmotcaravel.MarmotCaravelConfig.fir@11438.4]
+  wire [1:0] _T_944; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11577.4]
+  wire [2:0] _GEN_48; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@11578.4]
+  wire [2:0] _T_945; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@11578.4]
+  wire [1:0] _T_946; // @[package.scala 194:53:shc.marmotcaravel.MarmotCaravelConfig.fir@11579.4]
+  wire [1:0] _T_947; // @[package.scala 194:43:shc.marmotcaravel.MarmotCaravelConfig.fir@11580.4]
+  wire [2:0] _GEN_49; // @[Arbiter.scala 15:78:shc.marmotcaravel.MarmotCaravelConfig.fir@11582.4]
+  wire [2:0] _T_949; // @[Arbiter.scala 15:78:shc.marmotcaravel.MarmotCaravelConfig.fir@11582.4]
+  wire [1:0] _T_950; // @[Arbiter.scala 15:83:shc.marmotcaravel.MarmotCaravelConfig.fir@11583.4]
+  wire [1:0] _T_951; // @[Arbiter.scala 15:61:shc.marmotcaravel.MarmotCaravelConfig.fir@11584.4]
+  wire  _T_953; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11586.4]
+  reg  _T_1015_1; // @[Arbiter.scala 78:26:shc.marmotcaravel.MarmotCaravelConfig.fir@11637.4]
+  reg [31:0] _RAND_15;
+  wire  _T_1034_1; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@11640.4]
+  wire  _T_1043; // @[Arbiter.scala 84:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11643.4]
+  wire  _T_820; // @[AtomicAutomata.scala 151:15:shc.marmotcaravel.MarmotCaravelConfig.fir@11441.4]
+  wire [2:0] _GEN_0; // @[AtomicAutomata.scala 151:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11442.4]
+  wire [2:0] _GEN_1; // @[AtomicAutomata.scala 151:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11442.4]
+  wire  _T_824; // @[AtomicAutomata.scala 164:45:shc.marmotcaravel.MarmotCaravelConfig.fir@11449.4]
+  wire  _T_900; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11530.4]
+  wire [1:0] _T_901; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@11531.4]
+  wire [1:0] _T_903; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@11533.4]
+  wire  _T_904; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@11534.4]
+  wire  _T_905; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@11535.4]
+  wire  _T_906; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@11536.4]
+  wire  _T_907; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@11537.4]
+  wire  _T_909; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@11539.4]
+  wire  _T_910; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@11540.4]
+  wire  _T_912; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@11542.4]
+  wire  _T_913; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@11543.4]
+  wire  _T_914; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@11544.4]
+  wire  _T_915; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@11545.4]
+  wire  _T_916; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@11546.4]
+  wire  _T_917; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@11547.4]
+  wire  _T_918; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@11548.4]
+  wire  _T_919; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@11549.4]
+  wire  _T_920; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@11550.4]
+  wire  _T_921; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@11551.4]
+  wire  _T_922; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@11552.4]
+  wire  _T_923; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@11553.4]
+  wire  _T_924; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@11554.4]
+  wire  _T_925; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@11555.4]
+  wire  _T_926; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@11556.4]
+  wire  _T_927; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@11557.4]
+  wire  _T_928; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@11558.4]
+  wire [1:0] _T_929; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11559.4]
+  wire [1:0] _T_930; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11560.4]
+  wire [3:0] _T_931; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11561.4]
+  wire [26:0] _T_933; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@11567.4]
+  wire [11:0] _T_934; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@11568.4]
+  wire [11:0] _T_935; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@11569.4]
+  wire [9:0] _T_936; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@11570.4]
+  wire  _T_937; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@11571.4]
+  wire  _T_938; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@11572.4]
+  wire  _T_943; // @[Arbiter.scala 55:24:shc.marmotcaravel.MarmotCaravelConfig.fir@11576.4]
+  wire  _T_952; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11585.4]
+  wire  _T_962; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@11591.4]
+  wire  _T_963; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@11592.4]
+  wire  _T_973; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11598.4]
+  wire  _T_975; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@11600.4]
+  wire  _T_978; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@11603.4]
+  wire  _T_979; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@11604.4]
+  wire  _T_982; // @[Arbiter.scala 68:13:shc.marmotcaravel.MarmotCaravelConfig.fir@11607.4]
+  wire  _T_983; // @[Arbiter.scala 68:13:shc.marmotcaravel.MarmotCaravelConfig.fir@11608.4]
+  wire  _T_984; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11613.4]
+  wire  _T_985; // @[Arbiter.scala 70:15:shc.marmotcaravel.MarmotCaravelConfig.fir@11614.4]
+  wire  _T_987; // @[Arbiter.scala 70:36:shc.marmotcaravel.MarmotCaravelConfig.fir@11616.4]
+  wire  _T_989; // @[Arbiter.scala 70:14:shc.marmotcaravel.MarmotCaravelConfig.fir@11618.4]
+  wire  _T_990; // @[Arbiter.scala 70:14:shc.marmotcaravel.MarmotCaravelConfig.fir@11619.4]
+  reg  _T_1015_0; // @[Arbiter.scala 78:26:shc.marmotcaravel.MarmotCaravelConfig.fir@11637.4]
+  reg [31:0] _RAND_16;
+  wire  _T_1046; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11646.4]
+  wire  _T_1047; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11647.4]
+  wire  _T_1048; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11648.4]
+  wire  _T_1051; // @[Arbiter.scala 86:24:shc.marmotcaravel.MarmotCaravelConfig.fir@11651.4]
+  wire  _T_994; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@11627.4]
+  wire [9:0] _GEN_50; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11628.4]
+  wire [10:0] _T_995; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11628.4]
+  wire [10:0] _T_996; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11629.4]
+  wire [9:0] _T_997; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11630.4]
+  wire  _T_1026_0; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@11638.4]
+  wire  _T_1026_1; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@11638.4]
+  wire  _T_1034_0; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@11640.4]
+  wire  _T_1042; // @[Arbiter.scala 84:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11641.4]
+  wire [32:0] _T_1053; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11653.4]
+  wire [35:0] _T_1054; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11654.4]
+  wire [68:0] _T_1055; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11655.4]
+  wire [4:0] _T_1056; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11656.4]
+  wire [10:0] _T_1058; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11658.4]
+  wire [79:0] _T_1059; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11659.4]
+  wire [79:0] _T_1060; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11660.4]
+  wire [32:0] _T_1061; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11661.4]
+  wire [35:0] _T_1062; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11662.4]
+  wire [68:0] _T_1063; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11663.4]
+  wire [4:0] _T_1064; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11664.4]
+  wire [5:0] _T_1065; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11665.4]
+  wire [10:0] _T_1066; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11666.4]
+  wire [79:0] _T_1067; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11667.4]
+  wire [79:0] _T_1068; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11668.4]
+  wire [79:0] _T_1069; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11669.4]
+  wire  _T_1082; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@11690.4]
+  wire  _T_1084; // @[AtomicAutomata.scala 170:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11692.4]
+  wire [1:0] _T_1085; // @[AtomicAutomata.scala 175:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11697.8]
+  wire [2:0] _GEN_51; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@11698.8]
+  wire  _T_1086; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@11698.8]
+  wire  _T_1088; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@11700.8]
+  wire  _T_1090; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@11702.8]
+  wire  _T_1092; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@11704.8]
+  wire  _T_1094; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@11712.4]
+  reg [9:0] _T_1104; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@11726.4]
+  reg [31:0] _RAND_17;
+  wire  _T_1108; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@11730.4]
+  wire  _T_1120; // @[AtomicAutomata.scala 209:40:shc.marmotcaravel.MarmotCaravelConfig.fir@11745.4]
+  wire  _T_1126; // @[AtomicAutomata.scala 228:30:shc.marmotcaravel.MarmotCaravelConfig.fir@11761.4]
+  wire  _T_1116; // @[AtomicAutomata.scala 200:53:shc.marmotcaravel.MarmotCaravelConfig.fir@11741.4]
+  wire  _T_1117; // @[AtomicAutomata.scala 201:83:shc.marmotcaravel.MarmotCaravelConfig.fir@11742.4]
+  wire  _T_1127; // @[AtomicAutomata.scala 228:40:shc.marmotcaravel.MarmotCaravelConfig.fir@11762.4]
+  wire  _T_1132; // @[AtomicAutomata.scala 232:35:shc.marmotcaravel.MarmotCaravelConfig.fir@11768.4]
+  wire  _T_1095; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@11718.4]
+  wire [26:0] _T_1097; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@11720.4]
+  wire [11:0] _T_1098; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@11721.4]
+  wire [11:0] _T_1099; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@11722.4]
+  wire [9:0] _T_1100; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@11723.4]
+  wire  _T_1101; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@11724.4]
+  wire [10:0] _T_1105; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@11727.4]
+  wire [10:0] _T_1106; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@11728.4]
+  wire [9:0] _T_1107; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@11729.4]
+  wire  _T_1121; // @[AtomicAutomata.scala 210:40:shc.marmotcaravel.MarmotCaravelConfig.fir@11746.4]
+  wire  _T_1123; // @[AtomicAutomata.scala 212:28:shc.marmotcaravel.MarmotCaravelConfig.fir@11748.4]
+  wire  _T_1124; // @[AtomicAutomata.scala 214:22:shc.marmotcaravel.MarmotCaravelConfig.fir@11750.6]
+  wire  _T_1128; // @[AtomicAutomata.scala 229:33:shc.marmotcaravel.MarmotCaravelConfig.fir@11763.4]
+  wire  _T_1129; // @[AtomicAutomata.scala 229:42:shc.marmotcaravel.MarmotCaravelConfig.fir@11764.4]
+  wire  _T_1130; // @[AtomicAutomata.scala 231:38:shc.marmotcaravel.MarmotCaravelConfig.fir@11765.4]
+  wire  _T_1133; // @[AtomicAutomata.scala 238:46:shc.marmotcaravel.MarmotCaravelConfig.fir@11774.6]
+  wire  _T_1134; // @[AtomicAutomata.scala 239:46:shc.marmotcaravel.MarmotCaravelConfig.fir@11776.6]
+  TLMonitor_4 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@10850.4]
+    .clock(TLMonitor_clock),
+    .reset(TLMonitor_reset),
+    .io_in_a_ready(TLMonitor_io_in_a_ready),
+    .io_in_a_valid(TLMonitor_io_in_a_valid),
+    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
+    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
+    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
+    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
+    .io_in_d_ready(TLMonitor_io_in_d_ready),
+    .io_in_d_valid(TLMonitor_io_in_d_valid),
+    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
+    .io_in_d_bits_param(TLMonitor_io_in_d_bits_param),
+    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
+    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source),
+    .io_in_d_bits_sink(TLMonitor_io_in_d_bits_sink),
+    .io_in_d_bits_denied(TLMonitor_io_in_d_bits_denied),
+    .io_in_d_bits_corrupt(TLMonitor_io_in_d_bits_corrupt)
+  );
+  assign _T_280 = _T_258_0_state == 2'h0; // @[AtomicAutomata.scala 78:44:shc.marmotcaravel.MarmotCaravelConfig.fir@10900.4]
+  assign _T_281 = _T_258_0_state == 2'h2; // @[AtomicAutomata.scala 79:44:shc.marmotcaravel.MarmotCaravelConfig.fir@10901.4]
+  assign _T_282 = _T_258_0_state == 2'h3; // @[AtomicAutomata.scala 80:49:shc.marmotcaravel.MarmotCaravelConfig.fir@10902.4]
+  assign _T_284 = _T_282 | _T_281; // @[AtomicAutomata.scala 80:57:shc.marmotcaravel.MarmotCaravelConfig.fir@10904.4]
+  assign _T_285 = _T_258_0_state != 2'h0; // @[AtomicAutomata.scala 81:49:shc.marmotcaravel.MarmotCaravelConfig.fir@10905.4]
+  assign _T_287 = auto_in_a_bits_size <= 4'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@10907.4]
+  assign _T_290 = auto_in_a_bits_address ^ 32'h1000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@10910.4]
+  assign _T_291 = {1'b0,$signed(_T_290)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@10911.4]
+  assign _T_292 = $signed(_T_291) & $signed(33'shee015000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@10912.4]
+  assign _T_293 = $signed(_T_292); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@10913.4]
+  assign _T_294 = $signed(_T_293) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@10914.4]
+  assign _T_295 = auto_in_a_bits_address ^ 32'h10010000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@10915.4]
+  assign _T_296 = {1'b0,$signed(_T_295)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@10916.4]
+  assign _T_297 = $signed(_T_296) & $signed(33'shfe014000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@10917.4]
+  assign _T_298 = $signed(_T_297); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@10918.4]
+  assign _T_299 = $signed(_T_298) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@10919.4]
+  assign _T_300 = auto_in_a_bits_address ^ 32'h10004000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@10920.4]
+  assign _T_301 = {1'b0,$signed(_T_300)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@10921.4]
+  assign _T_302 = $signed(_T_301) & $signed(33'shfe005000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@10922.4]
+  assign _T_303 = $signed(_T_302); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@10923.4]
+  assign _T_304 = $signed(_T_303) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@10924.4]
+  assign _T_305 = _T_294 | _T_299; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@10925.4]
+  assign _T_306 = _T_305 | _T_304; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@10926.4]
+  assign _T_307 = _T_287 & _T_306; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@10927.4]
+  assign _T_308 = 4'h2 == auto_in_a_bits_size; // @[Parameters.scala 89:48:shc.marmotcaravel.MarmotCaravelConfig.fir@10928.4]
+  assign _T_310 = auto_in_a_bits_address ^ 32'h80000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@10930.4]
+  assign _T_311 = {1'b0,$signed(_T_310)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@10931.4]
+  assign _T_312 = $signed(_T_311) & $signed(33'shfe014000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@10932.4]
+  assign _T_313 = $signed(_T_312); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@10933.4]
+  assign _T_314 = $signed(_T_313) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@10934.4]
+  assign _T_315 = _T_308 & _T_314; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@10935.4]
+  assign _T_327 = auto_in_a_bits_address ^ 32'h2000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@10947.4]
+  assign _T_328 = {1'b0,$signed(_T_327)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@10948.4]
+  assign _T_333 = {1'b0,$signed(auto_in_a_bits_address)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@10953.4]
+  assign _T_337 = auto_in_a_bits_address ^ 32'h8000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@10957.4]
+  assign _T_338 = {1'b0,$signed(_T_337)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@10958.4]
+  assign _T_354 = _T_307 | _T_315; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@10974.4]
+  assign _T_428 = auto_in_a_bits_opcode == 3'h3; // @[AtomicAutomata.scala 88:47:shc.marmotcaravel.MarmotCaravelConfig.fir@11048.4]
+  assign _T_429 = auto_in_a_bits_opcode == 3'h2; // @[AtomicAutomata.scala 89:47:shc.marmotcaravel.MarmotCaravelConfig.fir@11049.4]
+  assign _T_430 = _T_429 ? _T_354 : 1'h1; // @[AtomicAutomata.scala 90:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11050.4]
+  assign _T_431 = _T_428 ? _T_354 : _T_430; // @[AtomicAutomata.scala 90:32:shc.marmotcaravel.MarmotCaravelConfig.fir@11051.4]
+  assign _T_470 = auto_in_a_bits_address ^ 32'h10000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11090.4]
+  assign _T_471 = {1'b0,$signed(_T_470)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11091.4]
+  assign _T_472 = $signed(_T_471) & $signed(33'shbe031000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11092.4]
+  assign _T_473 = $signed(_T_472); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11093.4]
+  assign _T_474 = $signed(_T_473) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@11094.4]
+  assign _T_477 = $signed(_T_328) & $signed(33'shbe030000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11097.4]
+  assign _T_478 = $signed(_T_477); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11098.4]
+  assign _T_479 = $signed(_T_478) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@11099.4]
+  assign _T_482 = $signed(_T_333) & $signed(33'shbe031000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11102.4]
+  assign _T_483 = $signed(_T_482); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11103.4]
+  assign _T_484 = $signed(_T_483) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@11104.4]
+  assign _T_487 = $signed(_T_338) & $signed(33'shbe030000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11107.4]
+  assign _T_488 = $signed(_T_487); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11108.4]
+  assign _T_489 = $signed(_T_488) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@11109.4]
+  assign _T_492 = $signed(_T_311) & $signed(33'shbe030000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11112.4]
+  assign _T_493 = $signed(_T_492); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11113.4]
+  assign _T_494 = $signed(_T_493) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@11114.4]
+  assign _T_497 = _T_489 ? 2'h3 : 2'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11116.4]
+  assign _T_498 = _T_484 ? 2'h2 : 2'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11117.4]
+  assign _T_499 = _T_494 ? 3'h4 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11118.4]
+  assign _T_500 = _T_474 ? 3'h5 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11119.4]
+  assign _T_503 = _T_497 | _T_498; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11122.4]
+  assign _GEN_39 = {{1'd0}, _T_503}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11123.4]
+  assign _T_504 = _GEN_39 | _T_499; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11123.4]
+  assign _T_505 = _T_504 | _T_500; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11124.4]
+  assign _GEN_40 = {{2'd0}, _T_479}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11125.4]
+  assign _T_506 = _T_505 | _GEN_40; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11125.4]
+  assign _T_509 = _T_269_0_fifoId == _T_506; // @[AtomicAutomata.scala 103:60:shc.marmotcaravel.MarmotCaravelConfig.fir@11128.4]
+  assign _T_510 = _T_284 & _T_509; // @[AtomicAutomata.scala 103:96:shc.marmotcaravel.MarmotCaravelConfig.fir@11129.4]
+  assign _T_514 = _T_269_0_bits_data[0]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11133.4]
+  assign _T_515 = _T_276_0_data[0]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11134.4]
+  assign _T_516 = {_T_514,_T_515}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11135.4]
+  assign _T_517 = _T_269_0_bits_data[1]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11136.4]
+  assign _T_518 = _T_276_0_data[1]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11137.4]
+  assign _T_519 = {_T_517,_T_518}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11138.4]
+  assign _T_520 = _T_269_0_bits_data[2]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11139.4]
+  assign _T_521 = _T_276_0_data[2]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11140.4]
+  assign _T_522 = {_T_520,_T_521}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11141.4]
+  assign _T_523 = _T_269_0_bits_data[3]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11142.4]
+  assign _T_524 = _T_276_0_data[3]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11143.4]
+  assign _T_525 = {_T_523,_T_524}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11144.4]
+  assign _T_526 = _T_269_0_bits_data[4]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11145.4]
+  assign _T_527 = _T_276_0_data[4]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11146.4]
+  assign _T_528 = {_T_526,_T_527}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11147.4]
+  assign _T_529 = _T_269_0_bits_data[5]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11148.4]
+  assign _T_530 = _T_276_0_data[5]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11149.4]
+  assign _T_531 = {_T_529,_T_530}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11150.4]
+  assign _T_532 = _T_269_0_bits_data[6]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11151.4]
+  assign _T_533 = _T_276_0_data[6]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11152.4]
+  assign _T_534 = {_T_532,_T_533}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11153.4]
+  assign _T_535 = _T_269_0_bits_data[7]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11154.4]
+  assign _T_536 = _T_276_0_data[7]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11155.4]
+  assign _T_537 = {_T_535,_T_536}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11156.4]
+  assign _T_538 = _T_269_0_bits_data[8]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11157.4]
+  assign _T_539 = _T_276_0_data[8]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11158.4]
+  assign _T_540 = {_T_538,_T_539}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11159.4]
+  assign _T_541 = _T_269_0_bits_data[9]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11160.4]
+  assign _T_542 = _T_276_0_data[9]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11161.4]
+  assign _T_543 = {_T_541,_T_542}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11162.4]
+  assign _T_544 = _T_269_0_bits_data[10]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11163.4]
+  assign _T_545 = _T_276_0_data[10]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11164.4]
+  assign _T_546 = {_T_544,_T_545}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11165.4]
+  assign _T_547 = _T_269_0_bits_data[11]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11166.4]
+  assign _T_548 = _T_276_0_data[11]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11167.4]
+  assign _T_549 = {_T_547,_T_548}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11168.4]
+  assign _T_550 = _T_269_0_bits_data[12]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11169.4]
+  assign _T_551 = _T_276_0_data[12]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11170.4]
+  assign _T_552 = {_T_550,_T_551}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11171.4]
+  assign _T_553 = _T_269_0_bits_data[13]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11172.4]
+  assign _T_554 = _T_276_0_data[13]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11173.4]
+  assign _T_555 = {_T_553,_T_554}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11174.4]
+  assign _T_556 = _T_269_0_bits_data[14]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11175.4]
+  assign _T_557 = _T_276_0_data[14]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11176.4]
+  assign _T_558 = {_T_556,_T_557}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11177.4]
+  assign _T_559 = _T_269_0_bits_data[15]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11178.4]
+  assign _T_560 = _T_276_0_data[15]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11179.4]
+  assign _T_561 = {_T_559,_T_560}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11180.4]
+  assign _T_562 = _T_269_0_bits_data[16]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11181.4]
+  assign _T_563 = _T_276_0_data[16]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11182.4]
+  assign _T_564 = {_T_562,_T_563}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11183.4]
+  assign _T_565 = _T_269_0_bits_data[17]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11184.4]
+  assign _T_566 = _T_276_0_data[17]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11185.4]
+  assign _T_567 = {_T_565,_T_566}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11186.4]
+  assign _T_568 = _T_269_0_bits_data[18]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11187.4]
+  assign _T_569 = _T_276_0_data[18]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11188.4]
+  assign _T_570 = {_T_568,_T_569}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11189.4]
+  assign _T_571 = _T_269_0_bits_data[19]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11190.4]
+  assign _T_572 = _T_276_0_data[19]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11191.4]
+  assign _T_573 = {_T_571,_T_572}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11192.4]
+  assign _T_574 = _T_269_0_bits_data[20]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11193.4]
+  assign _T_575 = _T_276_0_data[20]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11194.4]
+  assign _T_576 = {_T_574,_T_575}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11195.4]
+  assign _T_577 = _T_269_0_bits_data[21]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11196.4]
+  assign _T_578 = _T_276_0_data[21]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11197.4]
+  assign _T_579 = {_T_577,_T_578}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11198.4]
+  assign _T_580 = _T_269_0_bits_data[22]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11199.4]
+  assign _T_581 = _T_276_0_data[22]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11200.4]
+  assign _T_582 = {_T_580,_T_581}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11201.4]
+  assign _T_583 = _T_269_0_bits_data[23]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11202.4]
+  assign _T_584 = _T_276_0_data[23]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11203.4]
+  assign _T_585 = {_T_583,_T_584}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11204.4]
+  assign _T_586 = _T_269_0_bits_data[24]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11205.4]
+  assign _T_587 = _T_276_0_data[24]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11206.4]
+  assign _T_588 = {_T_586,_T_587}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11207.4]
+  assign _T_589 = _T_269_0_bits_data[25]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11208.4]
+  assign _T_590 = _T_276_0_data[25]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11209.4]
+  assign _T_591 = {_T_589,_T_590}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11210.4]
+  assign _T_592 = _T_269_0_bits_data[26]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11211.4]
+  assign _T_593 = _T_276_0_data[26]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11212.4]
+  assign _T_594 = {_T_592,_T_593}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11213.4]
+  assign _T_595 = _T_269_0_bits_data[27]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11214.4]
+  assign _T_596 = _T_276_0_data[27]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11215.4]
+  assign _T_597 = {_T_595,_T_596}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11216.4]
+  assign _T_598 = _T_269_0_bits_data[28]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11217.4]
+  assign _T_599 = _T_276_0_data[28]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11218.4]
+  assign _T_600 = {_T_598,_T_599}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11219.4]
+  assign _T_601 = _T_269_0_bits_data[29]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11220.4]
+  assign _T_602 = _T_276_0_data[29]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11221.4]
+  assign _T_603 = {_T_601,_T_602}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11222.4]
+  assign _T_604 = _T_269_0_bits_data[30]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11223.4]
+  assign _T_605 = _T_276_0_data[30]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11224.4]
+  assign _T_606 = {_T_604,_T_605}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11225.4]
+  assign _T_607 = _T_269_0_bits_data[31]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11226.4]
+  assign _T_608 = _T_276_0_data[31]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11227.4]
+  assign _T_609 = {_T_607,_T_608}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11228.4]
+  assign _T_610 = _T_269_0_lut >> _T_516; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11229.4]
+  assign _T_611 = _T_610[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11230.4]
+  assign _T_612 = _T_269_0_lut >> _T_519; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11231.4]
+  assign _T_613 = _T_612[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11232.4]
+  assign _T_614 = _T_269_0_lut >> _T_522; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11233.4]
+  assign _T_615 = _T_614[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11234.4]
+  assign _T_616 = _T_269_0_lut >> _T_525; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11235.4]
+  assign _T_617 = _T_616[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11236.4]
+  assign _T_618 = _T_269_0_lut >> _T_528; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11237.4]
+  assign _T_619 = _T_618[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11238.4]
+  assign _T_620 = _T_269_0_lut >> _T_531; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11239.4]
+  assign _T_621 = _T_620[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11240.4]
+  assign _T_622 = _T_269_0_lut >> _T_534; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11241.4]
+  assign _T_623 = _T_622[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11242.4]
+  assign _T_624 = _T_269_0_lut >> _T_537; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11243.4]
+  assign _T_625 = _T_624[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11244.4]
+  assign _T_626 = _T_269_0_lut >> _T_540; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11245.4]
+  assign _T_627 = _T_626[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11246.4]
+  assign _T_628 = _T_269_0_lut >> _T_543; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11247.4]
+  assign _T_629 = _T_628[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11248.4]
+  assign _T_630 = _T_269_0_lut >> _T_546; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11249.4]
+  assign _T_631 = _T_630[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11250.4]
+  assign _T_632 = _T_269_0_lut >> _T_549; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11251.4]
+  assign _T_633 = _T_632[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11252.4]
+  assign _T_634 = _T_269_0_lut >> _T_552; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11253.4]
+  assign _T_635 = _T_634[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11254.4]
+  assign _T_636 = _T_269_0_lut >> _T_555; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11255.4]
+  assign _T_637 = _T_636[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11256.4]
+  assign _T_638 = _T_269_0_lut >> _T_558; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11257.4]
+  assign _T_639 = _T_638[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11258.4]
+  assign _T_640 = _T_269_0_lut >> _T_561; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11259.4]
+  assign _T_641 = _T_640[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11260.4]
+  assign _T_642 = _T_269_0_lut >> _T_564; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11261.4]
+  assign _T_643 = _T_642[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11262.4]
+  assign _T_644 = _T_269_0_lut >> _T_567; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11263.4]
+  assign _T_645 = _T_644[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11264.4]
+  assign _T_646 = _T_269_0_lut >> _T_570; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11265.4]
+  assign _T_647 = _T_646[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11266.4]
+  assign _T_648 = _T_269_0_lut >> _T_573; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11267.4]
+  assign _T_649 = _T_648[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11268.4]
+  assign _T_650 = _T_269_0_lut >> _T_576; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11269.4]
+  assign _T_651 = _T_650[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11270.4]
+  assign _T_652 = _T_269_0_lut >> _T_579; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11271.4]
+  assign _T_653 = _T_652[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11272.4]
+  assign _T_654 = _T_269_0_lut >> _T_582; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11273.4]
+  assign _T_655 = _T_654[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11274.4]
+  assign _T_656 = _T_269_0_lut >> _T_585; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11275.4]
+  assign _T_657 = _T_656[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11276.4]
+  assign _T_658 = _T_269_0_lut >> _T_588; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11277.4]
+  assign _T_659 = _T_658[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11278.4]
+  assign _T_660 = _T_269_0_lut >> _T_591; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11279.4]
+  assign _T_661 = _T_660[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11280.4]
+  assign _T_662 = _T_269_0_lut >> _T_594; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11281.4]
+  assign _T_663 = _T_662[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11282.4]
+  assign _T_664 = _T_269_0_lut >> _T_597; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11283.4]
+  assign _T_665 = _T_664[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11284.4]
+  assign _T_666 = _T_269_0_lut >> _T_600; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11285.4]
+  assign _T_667 = _T_666[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11286.4]
+  assign _T_668 = _T_269_0_lut >> _T_603; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11287.4]
+  assign _T_669 = _T_668[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11288.4]
+  assign _T_670 = _T_269_0_lut >> _T_606; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11289.4]
+  assign _T_671 = _T_670[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11290.4]
+  assign _T_672 = _T_269_0_lut >> _T_609; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11291.4]
+  assign _T_673 = _T_672[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11292.4]
+  assign _T_674 = {_T_613,_T_611}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11293.4]
+  assign _T_675 = {_T_617,_T_615}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11294.4]
+  assign _T_676 = {_T_675,_T_674}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11295.4]
+  assign _T_677 = {_T_621,_T_619}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11296.4]
+  assign _T_678 = {_T_625,_T_623}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11297.4]
+  assign _T_679 = {_T_678,_T_677}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11298.4]
+  assign _T_680 = {_T_679,_T_676}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11299.4]
+  assign _T_681 = {_T_629,_T_627}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11300.4]
+  assign _T_682 = {_T_633,_T_631}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11301.4]
+  assign _T_683 = {_T_682,_T_681}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11302.4]
+  assign _T_684 = {_T_637,_T_635}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11303.4]
+  assign _T_685 = {_T_641,_T_639}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11304.4]
+  assign _T_686 = {_T_685,_T_684}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11305.4]
+  assign _T_687 = {_T_686,_T_683}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11306.4]
+  assign _T_688 = {_T_687,_T_680}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11307.4]
+  assign _T_689 = {_T_645,_T_643}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11308.4]
+  assign _T_690 = {_T_649,_T_647}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11309.4]
+  assign _T_691 = {_T_690,_T_689}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11310.4]
+  assign _T_692 = {_T_653,_T_651}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11311.4]
+  assign _T_693 = {_T_657,_T_655}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11312.4]
+  assign _T_694 = {_T_693,_T_692}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11313.4]
+  assign _T_695 = {_T_694,_T_691}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11314.4]
+  assign _T_696 = {_T_661,_T_659}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11315.4]
+  assign _T_697 = {_T_665,_T_663}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11316.4]
+  assign _T_698 = {_T_697,_T_696}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11317.4]
+  assign _T_699 = {_T_669,_T_667}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11318.4]
+  assign _T_700 = {_T_673,_T_671}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11319.4]
+  assign _T_701 = {_T_700,_T_699}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11320.4]
+  assign _T_702 = {_T_701,_T_698}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11321.4]
+  assign _T_703 = {_T_702,_T_695}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11322.4]
+  assign _T_704 = {_T_703,_T_688}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11323.4]
+  assign _T_705 = _T_269_0_bits_param[1]; // @[AtomicAutomata.scala 115:42:shc.marmotcaravel.MarmotCaravelConfig.fir@11324.4]
+  assign _T_706 = _T_269_0_bits_param[0]; // @[AtomicAutomata.scala 116:42:shc.marmotcaravel.MarmotCaravelConfig.fir@11325.4]
+  assign _T_707 = _T_269_0_bits_param[2]; // @[AtomicAutomata.scala 117:39:shc.marmotcaravel.MarmotCaravelConfig.fir@11326.4]
+  assign _T_708 = ~ _T_269_0_bits_mask; // @[AtomicAutomata.scala 119:25:shc.marmotcaravel.MarmotCaravelConfig.fir@11327.4]
+  assign _T_709 = _T_269_0_bits_mask[3:1]; // @[AtomicAutomata.scala 119:39:shc.marmotcaravel.MarmotCaravelConfig.fir@11328.4]
+  assign _GEN_41 = {{1'd0}, _T_709}; // @[AtomicAutomata.scala 119:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11329.4]
+  assign _T_710 = _T_708 | _GEN_41; // @[AtomicAutomata.scala 119:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11329.4]
+  assign _T_711 = ~ _T_710; // @[AtomicAutomata.scala 119:23:shc.marmotcaravel.MarmotCaravelConfig.fir@11330.4]
+  assign _T_716 = {_T_559,_T_535}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11335.4]
+  assign _T_717 = {_T_607,_T_583}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11336.4]
+  assign _T_718 = {_T_717,_T_716}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11337.4]
+  assign _T_723 = {_T_560,_T_536}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11342.4]
+  assign _T_724 = {_T_608,_T_584}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11343.4]
+  assign _T_725 = {_T_724,_T_723}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11344.4]
+  assign _T_726 = _T_718 & _T_711; // @[AtomicAutomata.scala 123:38:shc.marmotcaravel.MarmotCaravelConfig.fir@11345.4]
+  assign _GEN_42 = {{1'd0}, _T_726}; // @[AtomicAutomata.scala 123:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11346.4]
+  assign _T_727 = _GEN_42 << 1; // @[AtomicAutomata.scala 123:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11346.4]
+  assign _T_728 = _T_727[3:0]; // @[AtomicAutomata.scala 123:54:shc.marmotcaravel.MarmotCaravelConfig.fir@11347.4]
+  assign _T_729 = _T_725 & _T_711; // @[AtomicAutomata.scala 124:38:shc.marmotcaravel.MarmotCaravelConfig.fir@11348.4]
+  assign _GEN_43 = {{1'd0}, _T_729}; // @[AtomicAutomata.scala 124:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11349.4]
+  assign _T_730 = _GEN_43 << 1; // @[AtomicAutomata.scala 124:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11349.4]
+  assign _T_731 = _T_730[3:0]; // @[AtomicAutomata.scala 124:54:shc.marmotcaravel.MarmotCaravelConfig.fir@11350.4]
+  assign _GEN_44 = {{1'd0}, _T_728}; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@11351.4]
+  assign _T_732 = _GEN_44 << 1; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@11351.4]
+  assign _T_733 = _T_732[3:0]; // @[package.scala 194:53:shc.marmotcaravel.MarmotCaravelConfig.fir@11352.4]
+  assign _T_734 = _T_728 | _T_733; // @[package.scala 194:43:shc.marmotcaravel.MarmotCaravelConfig.fir@11353.4]
+  assign _GEN_45 = {{2'd0}, _T_734}; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@11354.4]
+  assign _T_735 = _GEN_45 << 2; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@11354.4]
+  assign _T_736 = _T_735[3:0]; // @[package.scala 194:53:shc.marmotcaravel.MarmotCaravelConfig.fir@11355.4]
+  assign _T_737 = _T_734 | _T_736; // @[package.scala 194:43:shc.marmotcaravel.MarmotCaravelConfig.fir@11356.4]
+  assign _T_739 = _T_737[0]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@11358.4]
+  assign _T_740 = _T_737[1]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@11359.4]
+  assign _T_741 = _T_737[2]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@11360.4]
+  assign _T_742 = _T_737[3]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@11361.4]
+  assign _T_744 = _T_739 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@11363.4]
+  assign _T_746 = _T_740 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@11365.4]
+  assign _T_748 = _T_741 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@11367.4]
+  assign _T_750 = _T_742 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@11369.4]
+  assign _T_751 = {_T_746,_T_744}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11370.4]
+  assign _T_752 = {_T_750,_T_748}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11371.4]
+  assign _T_753 = {_T_752,_T_751}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11372.4]
+  assign _GEN_46 = {{1'd0}, _T_731}; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@11373.4]
+  assign _T_754 = _GEN_46 << 1; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@11373.4]
+  assign _T_755 = _T_754[3:0]; // @[package.scala 194:53:shc.marmotcaravel.MarmotCaravelConfig.fir@11374.4]
+  assign _T_756 = _T_731 | _T_755; // @[package.scala 194:43:shc.marmotcaravel.MarmotCaravelConfig.fir@11375.4]
+  assign _GEN_47 = {{2'd0}, _T_756}; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@11376.4]
+  assign _T_757 = _GEN_47 << 2; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@11376.4]
+  assign _T_758 = _T_757[3:0]; // @[package.scala 194:53:shc.marmotcaravel.MarmotCaravelConfig.fir@11377.4]
+  assign _T_759 = _T_756 | _T_758; // @[package.scala 194:43:shc.marmotcaravel.MarmotCaravelConfig.fir@11378.4]
+  assign _T_761 = _T_759[0]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@11380.4]
+  assign _T_762 = _T_759[1]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@11381.4]
+  assign _T_763 = _T_759[2]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@11382.4]
+  assign _T_764 = _T_759[3]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@11383.4]
+  assign _T_766 = _T_761 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@11385.4]
+  assign _T_768 = _T_762 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@11387.4]
+  assign _T_770 = _T_763 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@11389.4]
+  assign _T_772 = _T_764 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@11391.4]
+  assign _T_773 = {_T_768,_T_766}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11392.4]
+  assign _T_774 = {_T_772,_T_770}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11393.4]
+  assign _T_775 = {_T_774,_T_773}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11394.4]
+  assign _T_776 = _T_269_0_bits_mask[0]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@11395.4]
+  assign _T_777 = _T_269_0_bits_mask[1]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@11396.4]
+  assign _T_778 = _T_269_0_bits_mask[2]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@11397.4]
+  assign _T_779 = _T_269_0_bits_mask[3]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@11398.4]
+  assign _T_781 = _T_776 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@11400.4]
+  assign _T_783 = _T_777 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@11402.4]
+  assign _T_785 = _T_778 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@11404.4]
+  assign _T_787 = _T_779 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@11406.4]
+  assign _T_788 = {_T_783,_T_781}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11407.4]
+  assign _T_789 = {_T_787,_T_785}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11408.4]
+  assign _T_790 = {_T_789,_T_788}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11409.4]
+  assign _T_791 = _T_269_0_bits_data & _T_790; // @[AtomicAutomata.scala 129:28:shc.marmotcaravel.MarmotCaravelConfig.fir@11410.4]
+  assign _T_792 = _T_791 | _T_753; // @[AtomicAutomata.scala 129:41:shc.marmotcaravel.MarmotCaravelConfig.fir@11411.4]
+  assign _T_793 = _T_276_0_data & _T_790; // @[AtomicAutomata.scala 130:28:shc.marmotcaravel.MarmotCaravelConfig.fir@11412.4]
+  assign _T_794 = _T_793 | _T_775; // @[AtomicAutomata.scala 130:41:shc.marmotcaravel.MarmotCaravelConfig.fir@11413.4]
+  assign _T_795 = ~ _T_794; // @[AtomicAutomata.scala 131:43:shc.marmotcaravel.MarmotCaravelConfig.fir@11414.4]
+  assign _T_796 = _T_707 ? _T_794 : _T_795; // @[AtomicAutomata.scala 131:26:shc.marmotcaravel.MarmotCaravelConfig.fir@11415.4]
+  assign _T_798 = _T_792 + _T_796; // @[AtomicAutomata.scala 132:33:shc.marmotcaravel.MarmotCaravelConfig.fir@11417.4]
+  assign _T_799 = _T_792[31]; // @[AtomicAutomata.scala 134:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11418.4]
+  assign _T_800 = _T_705 == _T_799; // @[AtomicAutomata.scala 134:38:shc.marmotcaravel.MarmotCaravelConfig.fir@11419.4]
+  assign _T_802 = _T_794[31]; // @[AtomicAutomata.scala 135:50:shc.marmotcaravel.MarmotCaravelConfig.fir@11421.4]
+  assign _T_803 = _T_799 == _T_802; // @[AtomicAutomata.scala 135:39:shc.marmotcaravel.MarmotCaravelConfig.fir@11422.4]
+  assign _T_804 = _T_798[31]; // @[AtomicAutomata.scala 135:65:shc.marmotcaravel.MarmotCaravelConfig.fir@11423.4]
+  assign _T_805 = _T_804 == 1'h0; // @[AtomicAutomata.scala 135:55:shc.marmotcaravel.MarmotCaravelConfig.fir@11424.4]
+  assign _T_806 = _T_803 ? _T_805 : _T_800; // @[AtomicAutomata.scala 135:27:shc.marmotcaravel.MarmotCaravelConfig.fir@11425.4]
+  assign _T_807 = _T_706 == _T_806; // @[AtomicAutomata.scala 136:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11426.4]
+  assign _T_808 = _T_807 ? _T_269_0_bits_data : _T_276_0_data; // @[AtomicAutomata.scala 137:50:shc.marmotcaravel.MarmotCaravelConfig.fir@11427.4]
+  assign _T_809 = _T_707 ? _T_798 : _T_808; // @[AtomicAutomata.scala 137:28:shc.marmotcaravel.MarmotCaravelConfig.fir@11428.4]
+  assign _T_810 = _T_269_0_bits_opcode[0]; // @[AtomicAutomata.scala 143:34:shc.marmotcaravel.MarmotCaravelConfig.fir@11429.4]
+  assign _T_811 = _T_810 ? _T_704 : _T_809; // @[AtomicAutomata.scala 143:14:shc.marmotcaravel.MarmotCaravelConfig.fir@11430.4]
+  assign _T_815 = _T_510 == 1'h0; // @[AtomicAutomata.scala 147:23:shc.marmotcaravel.MarmotCaravelConfig.fir@11433.4]
+  assign _T_816 = _T_431 | _T_280; // @[AtomicAutomata.scala 147:53:shc.marmotcaravel.MarmotCaravelConfig.fir@11434.4]
+  assign _T_817 = _T_815 & _T_816; // @[AtomicAutomata.scala 147:35:shc.marmotcaravel.MarmotCaravelConfig.fir@11435.4]
+  assign _T_942 = _T_941 == 10'h0; // @[Arbiter.scala 54:28:shc.marmotcaravel.MarmotCaravelConfig.fir@11575.4]
+  assign _T_819 = auto_in_a_valid & _T_817; // @[AtomicAutomata.scala 149:38:shc.marmotcaravel.MarmotCaravelConfig.fir@11438.4]
+  assign _T_944 = {_T_819,_T_281}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11577.4]
+  assign _GEN_48 = {{1'd0}, _T_944}; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@11578.4]
+  assign _T_945 = _GEN_48 << 1; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@11578.4]
+  assign _T_946 = _T_945[1:0]; // @[package.scala 194:53:shc.marmotcaravel.MarmotCaravelConfig.fir@11579.4]
+  assign _T_947 = _T_944 | _T_946; // @[package.scala 194:43:shc.marmotcaravel.MarmotCaravelConfig.fir@11580.4]
+  assign _GEN_49 = {{1'd0}, _T_947}; // @[Arbiter.scala 15:78:shc.marmotcaravel.MarmotCaravelConfig.fir@11582.4]
+  assign _T_949 = _GEN_49 << 1; // @[Arbiter.scala 15:78:shc.marmotcaravel.MarmotCaravelConfig.fir@11582.4]
+  assign _T_950 = _T_949[1:0]; // @[Arbiter.scala 15:83:shc.marmotcaravel.MarmotCaravelConfig.fir@11583.4]
+  assign _T_951 = ~ _T_950; // @[Arbiter.scala 15:61:shc.marmotcaravel.MarmotCaravelConfig.fir@11584.4]
+  assign _T_953 = _T_951[1]; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11586.4]
+  assign _T_1034_1 = _T_942 ? _T_953 : _T_1015_1; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@11640.4]
+  assign _T_1043 = auto_out_a_ready & _T_1034_1; // @[Arbiter.scala 84:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11643.4]
+  assign _T_820 = _T_431 == 1'h0; // @[AtomicAutomata.scala 151:15:shc.marmotcaravel.MarmotCaravelConfig.fir@11441.4]
+  assign _GEN_0 = _T_820 ? 3'h4 : auto_in_a_bits_opcode; // @[AtomicAutomata.scala 151:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11442.4]
+  assign _GEN_1 = _T_820 ? 3'h0 : auto_in_a_bits_param; // @[AtomicAutomata.scala 151:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11442.4]
+  assign _T_824 = _T_269_0_bits_corrupt | _T_276_0_corrupt; // @[AtomicAutomata.scala 164:45:shc.marmotcaravel.MarmotCaravelConfig.fir@11449.4]
+  assign _T_900 = _T_269_0_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11530.4]
+  assign _T_901 = 2'h1 << _T_900; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@11531.4]
+  assign _T_903 = _T_901 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@11533.4]
+  assign _T_904 = _T_269_0_bits_size >= 4'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@11534.4]
+  assign _T_905 = _T_903[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@11535.4]
+  assign _T_906 = _T_269_0_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@11536.4]
+  assign _T_907 = _T_906 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@11537.4]
+  assign _T_909 = _T_905 & _T_907; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@11539.4]
+  assign _T_910 = _T_904 | _T_909; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@11540.4]
+  assign _T_912 = _T_905 & _T_906; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@11542.4]
+  assign _T_913 = _T_904 | _T_912; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@11543.4]
+  assign _T_914 = _T_903[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@11544.4]
+  assign _T_915 = _T_269_0_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@11545.4]
+  assign _T_916 = _T_915 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@11546.4]
+  assign _T_917 = _T_907 & _T_916; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@11547.4]
+  assign _T_918 = _T_914 & _T_917; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@11548.4]
+  assign _T_919 = _T_910 | _T_918; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@11549.4]
+  assign _T_920 = _T_907 & _T_915; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@11550.4]
+  assign _T_921 = _T_914 & _T_920; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@11551.4]
+  assign _T_922 = _T_910 | _T_921; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@11552.4]
+  assign _T_923 = _T_906 & _T_916; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@11553.4]
+  assign _T_924 = _T_914 & _T_923; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@11554.4]
+  assign _T_925 = _T_913 | _T_924; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@11555.4]
+  assign _T_926 = _T_906 & _T_915; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@11556.4]
+  assign _T_927 = _T_914 & _T_926; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@11557.4]
+  assign _T_928 = _T_913 | _T_927; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@11558.4]
+  assign _T_929 = {_T_922,_T_919}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11559.4]
+  assign _T_930 = {_T_928,_T_925}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11560.4]
+  assign _T_931 = {_T_930,_T_929}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11561.4]
+  assign _T_933 = 27'hfff << auto_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@11567.4]
+  assign _T_934 = _T_933[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@11568.4]
+  assign _T_935 = ~ _T_934; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@11569.4]
+  assign _T_936 = _T_935[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@11570.4]
+  assign _T_937 = auto_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@11571.4]
+  assign _T_938 = _T_937 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@11572.4]
+  assign _T_943 = _T_942 & auto_out_a_ready; // @[Arbiter.scala 55:24:shc.marmotcaravel.MarmotCaravelConfig.fir@11576.4]
+  assign _T_952 = _T_951[0]; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11585.4]
+  assign _T_962 = _T_952 & _T_281; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@11591.4]
+  assign _T_963 = _T_953 & _T_819; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@11592.4]
+  assign _T_973 = _T_962 | _T_963; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11598.4]
+  assign _T_975 = _T_962 == 1'h0; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@11600.4]
+  assign _T_978 = _T_963 == 1'h0; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@11603.4]
+  assign _T_979 = _T_975 | _T_978; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@11604.4]
+  assign _T_982 = _T_979 | reset; // @[Arbiter.scala 68:13:shc.marmotcaravel.MarmotCaravelConfig.fir@11607.4]
+  assign _T_983 = _T_982 == 1'h0; // @[Arbiter.scala 68:13:shc.marmotcaravel.MarmotCaravelConfig.fir@11608.4]
+  assign _T_984 = _T_281 | _T_819; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11613.4]
+  assign _T_985 = _T_984 == 1'h0; // @[Arbiter.scala 70:15:shc.marmotcaravel.MarmotCaravelConfig.fir@11614.4]
+  assign _T_987 = _T_985 | _T_973; // @[Arbiter.scala 70:36:shc.marmotcaravel.MarmotCaravelConfig.fir@11616.4]
+  assign _T_989 = _T_987 | reset; // @[Arbiter.scala 70:14:shc.marmotcaravel.MarmotCaravelConfig.fir@11618.4]
+  assign _T_990 = _T_989 == 1'h0; // @[Arbiter.scala 70:14:shc.marmotcaravel.MarmotCaravelConfig.fir@11619.4]
+  assign _T_1046 = _T_1015_0 ? _T_281 : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11646.4]
+  assign _T_1047 = _T_1015_1 ? _T_819 : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11647.4]
+  assign _T_1048 = _T_1046 | _T_1047; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11648.4]
+  assign _T_1051 = _T_942 ? _T_984 : _T_1048; // @[Arbiter.scala 86:24:shc.marmotcaravel.MarmotCaravelConfig.fir@11651.4]
+  assign _T_994 = auto_out_a_ready & _T_1051; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@11627.4]
+  assign _GEN_50 = {{9'd0}, _T_994}; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11628.4]
+  assign _T_995 = _T_941 - _GEN_50; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11628.4]
+  assign _T_996 = $unsigned(_T_995); // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11629.4]
+  assign _T_997 = _T_996[9:0]; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11630.4]
+  assign _T_1026_0 = _T_942 ? _T_962 : _T_1015_0; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@11638.4]
+  assign _T_1026_1 = _T_942 ? _T_963 : _T_1015_1; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@11638.4]
+  assign _T_1034_0 = _T_942 ? _T_952 : _T_1015_0; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@11640.4]
+  assign _T_1042 = auto_out_a_ready & _T_1034_0; // @[Arbiter.scala 84:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11641.4]
+  assign _T_1053 = {_T_811,_T_824}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11653.4]
+  assign _T_1054 = {_T_269_0_bits_address,_T_931}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11654.4]
+  assign _T_1055 = {_T_1054,_T_1053}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11655.4]
+  assign _T_1056 = {_T_269_0_bits_size,_T_269_0_bits_source}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11656.4]
+  assign _T_1058 = {6'h0,_T_1056}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11658.4]
+  assign _T_1059 = {_T_1058,_T_1055}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11659.4]
+  assign _T_1060 = _T_1026_0 ? _T_1059 : 80'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11660.4]
+  assign _T_1061 = {auto_in_a_bits_data,auto_in_a_bits_corrupt}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11661.4]
+  assign _T_1062 = {auto_in_a_bits_address,auto_in_a_bits_mask}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11662.4]
+  assign _T_1063 = {_T_1062,_T_1061}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11663.4]
+  assign _T_1064 = {auto_in_a_bits_size,auto_in_a_bits_source}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11664.4]
+  assign _T_1065 = {_GEN_0,_GEN_1}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11665.4]
+  assign _T_1066 = {_T_1065,_T_1064}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11666.4]
+  assign _T_1067 = {_T_1066,_T_1063}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11667.4]
+  assign _T_1068 = _T_1026_1 ? _T_1067 : 80'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11668.4]
+  assign _T_1069 = _T_1060 | _T_1068; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11669.4]
+  assign _T_1082 = _T_1043 & _T_819; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@11690.4]
+  assign _T_1084 = _T_1082 & _T_820; // @[AtomicAutomata.scala 170:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11692.4]
+  assign _T_1085 = auto_in_a_bits_param[1:0]; // @[AtomicAutomata.scala 175:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11697.8]
+  assign _GEN_51 = {{1'd0}, _T_1085}; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@11698.8]
+  assign _T_1086 = 3'h3 == _GEN_51; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@11698.8]
+  assign _T_1088 = 3'h0 == _GEN_51; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@11700.8]
+  assign _T_1090 = 3'h1 == _GEN_51; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@11702.8]
+  assign _T_1092 = 3'h2 == _GEN_51; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@11704.8]
+  assign _T_1094 = _T_1042 & _T_281; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@11712.4]
+  assign _T_1108 = _T_1104 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@11730.4]
+  assign _T_1120 = auto_out_d_bits_opcode == 3'h1; // @[AtomicAutomata.scala 209:40:shc.marmotcaravel.MarmotCaravelConfig.fir@11745.4]
+  assign _T_1126 = _T_1108 & _T_1120; // @[AtomicAutomata.scala 228:30:shc.marmotcaravel.MarmotCaravelConfig.fir@11761.4]
+  assign _T_1116 = _T_269_0_bits_source == auto_out_d_bits_source; // @[AtomicAutomata.scala 200:53:shc.marmotcaravel.MarmotCaravelConfig.fir@11741.4]
+  assign _T_1117 = _T_1116 & _T_285; // @[AtomicAutomata.scala 201:83:shc.marmotcaravel.MarmotCaravelConfig.fir@11742.4]
+  assign _T_1127 = _T_1126 & _T_1117; // @[AtomicAutomata.scala 228:40:shc.marmotcaravel.MarmotCaravelConfig.fir@11762.4]
+  assign _T_1132 = auto_in_d_ready | _T_1127; // @[AtomicAutomata.scala 232:35:shc.marmotcaravel.MarmotCaravelConfig.fir@11768.4]
+  assign _T_1095 = _T_1132 & auto_out_d_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@11718.4]
+  assign _T_1097 = 27'hfff << auto_out_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@11720.4]
+  assign _T_1098 = _T_1097[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@11721.4]
+  assign _T_1099 = ~ _T_1098; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@11722.4]
+  assign _T_1100 = _T_1099[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@11723.4]
+  assign _T_1101 = auto_out_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@11724.4]
+  assign _T_1105 = _T_1104 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@11727.4]
+  assign _T_1106 = $unsigned(_T_1105); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@11728.4]
+  assign _T_1107 = _T_1106[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@11729.4]
+  assign _T_1121 = auto_out_d_bits_opcode == 3'h0; // @[AtomicAutomata.scala 210:40:shc.marmotcaravel.MarmotCaravelConfig.fir@11746.4]
+  assign _T_1123 = _T_1095 & _T_1108; // @[AtomicAutomata.scala 212:28:shc.marmotcaravel.MarmotCaravelConfig.fir@11748.4]
+  assign _T_1124 = _T_1117 & _T_1120; // @[AtomicAutomata.scala 214:22:shc.marmotcaravel.MarmotCaravelConfig.fir@11750.6]
+  assign _T_1128 = _T_1108 & _T_1121; // @[AtomicAutomata.scala 229:33:shc.marmotcaravel.MarmotCaravelConfig.fir@11763.4]
+  assign _T_1129 = _T_1128 & _T_1117; // @[AtomicAutomata.scala 229:42:shc.marmotcaravel.MarmotCaravelConfig.fir@11764.4]
+  assign _T_1130 = _T_1127 == 1'h0; // @[AtomicAutomata.scala 231:38:shc.marmotcaravel.MarmotCaravelConfig.fir@11765.4]
+  assign _T_1133 = _T_276_0_corrupt | auto_out_d_bits_denied; // @[AtomicAutomata.scala 238:46:shc.marmotcaravel.MarmotCaravelConfig.fir@11774.6]
+  assign _T_1134 = _T_276_0_denied | auto_out_d_bits_denied; // @[AtomicAutomata.scala 239:46:shc.marmotcaravel.MarmotCaravelConfig.fir@11776.6]
+  assign auto_in_a_ready = _T_1043 & _T_817; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@10890.4]
+  assign auto_in_d_valid = auto_out_d_valid & _T_1130; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@10890.4]
+  assign auto_in_d_bits_opcode = _T_1129 ? 3'h1 : auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@10890.4]
+  assign auto_in_d_bits_param = auto_out_d_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@10890.4]
+  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@10890.4]
+  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@10890.4]
+  assign auto_in_d_bits_sink = auto_out_d_bits_sink; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@10890.4]
+  assign auto_in_d_bits_denied = _T_1129 ? _T_1134 : auto_out_d_bits_denied; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@10890.4]
+  assign auto_in_d_bits_data = _T_1129 ? _T_276_0_data : auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@10890.4]
+  assign auto_in_d_bits_corrupt = _T_1129 ? _T_1133 : auto_out_d_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@10890.4]
+  assign auto_out_a_valid = _T_942 ? _T_984 : _T_1048; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@10889.4]
+  assign auto_out_a_bits_opcode = _T_1069[79:77]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@10889.4]
+  assign auto_out_a_bits_param = _T_1069[76:74]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@10889.4]
+  assign auto_out_a_bits_size = _T_1069[73:70]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@10889.4]
+  assign auto_out_a_bits_source = _T_1069[69]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@10889.4]
+  assign auto_out_a_bits_address = _T_1069[68:37]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@10889.4]
+  assign auto_out_a_bits_mask = _T_1069[36:33]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@10889.4]
+  assign auto_out_a_bits_data = _T_1069[32:1]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@10889.4]
+  assign auto_out_a_bits_corrupt = _T_1069[0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@10889.4]
+  assign auto_out_d_ready = auto_in_d_ready | _T_1127; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@10889.4]
+  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@10852.4]
+  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@10853.4]
+  assign TLMonitor_io_in_a_ready = _T_1043 & _T_817; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@10886.4]
+  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@10886.4]
+  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@10886.4]
+  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@10886.4]
+  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@10886.4]
+  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@10886.4]
+  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@10886.4]
+  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@10886.4]
+  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@10886.4]
+  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@10886.4]
+  assign TLMonitor_io_in_d_valid = auto_out_d_valid & _T_1130; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@10886.4]
+  assign TLMonitor_io_in_d_bits_opcode = _T_1129 ? 3'h1 : auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@10886.4]
+  assign TLMonitor_io_in_d_bits_param = auto_out_d_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@10886.4]
+  assign TLMonitor_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@10886.4]
+  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@10886.4]
+  assign TLMonitor_io_in_d_bits_sink = auto_out_d_bits_sink; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@10886.4]
+  assign TLMonitor_io_in_d_bits_denied = _T_1129 ? _T_1134 : auto_out_d_bits_denied; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@10886.4]
+  assign TLMonitor_io_in_d_bits_corrupt = _T_1129 ? _T_1133 : auto_out_d_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@10886.4]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  _T_258_0_state = _RAND_0[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  _T_269_0_bits_opcode = _RAND_1[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  _T_269_0_bits_param = _RAND_2[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  _T_269_0_bits_size = _RAND_3[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  _T_269_0_bits_source = _RAND_4[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  _T_269_0_bits_address = _RAND_5[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {1{`RANDOM}};
+  _T_269_0_bits_mask = _RAND_6[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {1{`RANDOM}};
+  _T_269_0_bits_data = _RAND_7[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_8 = {1{`RANDOM}};
+  _T_269_0_bits_corrupt = _RAND_8[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_9 = {1{`RANDOM}};
+  _T_269_0_fifoId = _RAND_9[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_10 = {1{`RANDOM}};
+  _T_269_0_lut = _RAND_10[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_11 = {1{`RANDOM}};
+  _T_276_0_data = _RAND_11[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_12 = {1{`RANDOM}};
+  _T_276_0_denied = _RAND_12[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_13 = {1{`RANDOM}};
+  _T_276_0_corrupt = _RAND_13[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_14 = {1{`RANDOM}};
+  _T_941 = _RAND_14[9:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_15 = {1{`RANDOM}};
+  _T_1015_1 = _RAND_15[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_16 = {1{`RANDOM}};
+  _T_1015_0 = _RAND_16[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_17 = {1{`RANDOM}};
+  _T_1104 = _RAND_17[9:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      _T_258_0_state <= 2'h0;
+    end else begin
+      if (_T_1123) begin
+        if (_T_1117) begin
+          if (_T_1120) begin
+            _T_258_0_state <= 2'h2;
+          end else begin
+            _T_258_0_state <= 2'h0;
+          end
+        end else begin
+          if (_T_1094) begin
+            if (_T_281) begin
+              _T_258_0_state <= 2'h1;
+            end else begin
+              if (_T_1084) begin
+                if (_T_280) begin
+                  _T_258_0_state <= 2'h3;
+                end
+              end
+            end
+          end else begin
+            if (_T_1084) begin
+              if (_T_280) begin
+                _T_258_0_state <= 2'h3;
+              end
+            end
+          end
+        end
+      end else begin
+        if (_T_1094) begin
+          if (_T_281) begin
+            _T_258_0_state <= 2'h1;
+          end else begin
+            if (_T_1084) begin
+              if (_T_280) begin
+                _T_258_0_state <= 2'h3;
+              end
+            end
+          end
+        end else begin
+          if (_T_1084) begin
+            if (_T_280) begin
+              _T_258_0_state <= 2'h3;
+            end
+          end
+        end
+      end
+    end
+    if (_T_1084) begin
+      if (_T_280) begin
+        _T_269_0_bits_opcode <= auto_in_a_bits_opcode;
+      end
+    end
+    if (_T_1084) begin
+      if (_T_280) begin
+        _T_269_0_bits_param <= auto_in_a_bits_param;
+      end
+    end
+    if (_T_1084) begin
+      if (_T_280) begin
+        _T_269_0_bits_size <= auto_in_a_bits_size;
+      end
+    end
+    if (_T_1084) begin
+      if (_T_280) begin
+        _T_269_0_bits_source <= auto_in_a_bits_source;
+      end
+    end
+    if (_T_1084) begin
+      if (_T_280) begin
+        _T_269_0_bits_address <= auto_in_a_bits_address;
+      end
+    end
+    if (_T_1084) begin
+      if (_T_280) begin
+        _T_269_0_bits_mask <= auto_in_a_bits_mask;
+      end
+    end
+    if (_T_1084) begin
+      if (_T_280) begin
+        _T_269_0_bits_data <= auto_in_a_bits_data;
+      end
+    end
+    if (_T_1084) begin
+      if (_T_280) begin
+        _T_269_0_bits_corrupt <= auto_in_a_bits_corrupt;
+      end
+    end
+    if (_T_1084) begin
+      if (_T_280) begin
+        _T_269_0_fifoId <= _T_506;
+      end
+    end
+    if (_T_1084) begin
+      if (_T_280) begin
+        if (_T_1092) begin
+          _T_269_0_lut <= 4'h8;
+        end else begin
+          if (_T_1090) begin
+            _T_269_0_lut <= 4'he;
+          end else begin
+            if (_T_1088) begin
+              _T_269_0_lut <= 4'h6;
+            end else begin
+              if (_T_1086) begin
+                _T_269_0_lut <= 4'hc;
+              end else begin
+                _T_269_0_lut <= 4'h0;
+              end
+            end
+          end
+        end
+      end
+    end
+    if (_T_1123) begin
+      if (_T_1124) begin
+        _T_276_0_data <= auto_out_d_bits_data;
+      end
+    end
+    if (_T_1123) begin
+      if (_T_1124) begin
+        _T_276_0_denied <= auto_out_d_bits_denied;
+      end
+    end
+    if (_T_1123) begin
+      if (_T_1124) begin
+        _T_276_0_corrupt <= auto_out_d_bits_corrupt;
+      end
+    end
+    if (reset) begin
+      _T_941 <= 10'h0;
+    end else begin
+      if (_T_943) begin
+        if (_T_963) begin
+          if (_T_938) begin
+            _T_941 <= _T_936;
+          end else begin
+            _T_941 <= 10'h0;
+          end
+        end else begin
+          _T_941 <= 10'h0;
+        end
+      end else begin
+        _T_941 <= _T_997;
+      end
+    end
+    if (reset) begin
+      _T_1015_1 <= 1'h0;
+    end else begin
+      if (_T_942) begin
+        _T_1015_1 <= _T_963;
+      end
+    end
+    if (reset) begin
+      _T_1015_0 <= 1'h0;
+    end else begin
+      if (_T_942) begin
+        _T_1015_0 <= _T_962;
+      end
+    end
+    if (reset) begin
+      _T_1104 <= 10'h0;
+    end else begin
+      if (_T_1095) begin
+        if (_T_1108) begin
+          if (_T_1101) begin
+            _T_1104 <= _T_1100;
+          end else begin
+            _T_1104 <= 10'h0;
+          end
+        end else begin
+          _T_1104 <= _T_1107;
+        end
+      end
+    end
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_983) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at Arbiter.scala:68 assert((prefixOR zip winner) map { case (p,w) => !p || !w } reduce {_ && _})\n"); // @[Arbiter.scala 68:13:shc.marmotcaravel.MarmotCaravelConfig.fir@11610.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_983) begin
+          $fatal; // @[Arbiter.scala 68:13:shc.marmotcaravel.MarmotCaravelConfig.fir@11611.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_990) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at Arbiter.scala:70 assert (!valids.reduce(_||_) || winner.reduce(_||_))\n"); // @[Arbiter.scala 70:14:shc.marmotcaravel.MarmotCaravelConfig.fir@11621.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_990) begin
+          $fatal; // @[Arbiter.scala 70:14:shc.marmotcaravel.MarmotCaravelConfig.fir@11622.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+endmodule
+module TLMonitor_5( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@11802.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@11803.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@11804.4]
+  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@11805.4]
+  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@11805.4]
+  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@11805.4]
+  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@11805.4]
+  input  [3:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@11805.4]
+  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@11805.4]
+  input  [31:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@11805.4]
+  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@11805.4]
+  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@11805.4]
+  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@11805.4]
+  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@11805.4]
+  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@11805.4]
+  input  [1:0]  io_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@11805.4]
+  input  [3:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@11805.4]
+  input         io_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@11805.4]
+  input         io_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@11805.4]
+  input         io_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@11805.4]
+  input         io_in_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@11805.4]
+);
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@13595.4]
+  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@11821.6]
+  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@11826.6]
+  wire [26:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@11828.6]
+  wire [11:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@11829.6]
+  wire [11:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@11830.6]
+  wire [31:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@11831.6]
+  wire [31:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@11831.6]
+  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@11832.6]
+  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11834.6]
+  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@11835.6]
+  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@11837.6]
+  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@11838.6]
+  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@11839.6]
+  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@11840.6]
+  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@11841.6]
+  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@11843.6]
+  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@11844.6]
+  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@11846.6]
+  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@11847.6]
+  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@11848.6]
+  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@11849.6]
+  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@11850.6]
+  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@11851.6]
+  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@11852.6]
+  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@11853.6]
+  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@11854.6]
+  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@11855.6]
+  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@11856.6]
+  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@11857.6]
+  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@11858.6]
+  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@11859.6]
+  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@11860.6]
+  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@11861.6]
+  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@11862.6]
+  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11863.6]
+  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11864.6]
+  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11865.6]
+  wire [32:0] _T_73; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11869.6]
+  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@11890.6]
+  wire [31:0] _T_92; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11893.8]
+  wire [32:0] _T_93; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11894.8]
+  wire [32:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11895.8]
+  wire [32:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11896.8]
+  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@11897.8]
+  wire [31:0] _T_97; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11898.8]
+  wire [32:0] _T_98; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11899.8]
+  wire [32:0] _T_99; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11900.8]
+  wire [32:0] _T_100; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11901.8]
+  wire  _T_101; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@11902.8]
+  wire [31:0] _T_102; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11903.8]
+  wire [32:0] _T_103; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11904.8]
+  wire [32:0] _T_104; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11905.8]
+  wire [32:0] _T_105; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11906.8]
+  wire  _T_106; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@11907.8]
+  wire [31:0] _T_107; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11908.8]
+  wire [32:0] _T_108; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11909.8]
+  wire [32:0] _T_109; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11910.8]
+  wire [32:0] _T_110; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11911.8]
+  wire  _T_111; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@11912.8]
+  wire [31:0] _T_112; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11913.8]
+  wire [32:0] _T_113; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11914.8]
+  wire [32:0] _T_114; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11915.8]
+  wire [32:0] _T_115; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11916.8]
+  wire  _T_116; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@11917.8]
+  wire [31:0] _T_117; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11918.8]
+  wire [32:0] _T_118; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11919.8]
+  wire [32:0] _T_119; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11920.8]
+  wire [32:0] _T_120; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11921.8]
+  wire  _T_121; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@11922.8]
+  wire [31:0] _T_122; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11923.8]
+  wire [32:0] _T_123; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11924.8]
+  wire [32:0] _T_124; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11925.8]
+  wire [32:0] _T_125; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11926.8]
+  wire  _T_126; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@11927.8]
+  wire [31:0] _T_127; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11928.8]
+  wire [32:0] _T_128; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11929.8]
+  wire [32:0] _T_129; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11930.8]
+  wire [32:0] _T_130; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11931.8]
+  wire  _T_131; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@11932.8]
+  wire [31:0] _T_132; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11933.8]
+  wire [32:0] _T_133; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11934.8]
+  wire [32:0] _T_134; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11935.8]
+  wire [32:0] _T_135; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11936.8]
+  wire  _T_136; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@11937.8]
+  wire [31:0] _T_137; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11938.8]
+  wire [32:0] _T_138; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11939.8]
+  wire [32:0] _T_139; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11940.8]
+  wire [32:0] _T_140; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11941.8]
+  wire  _T_141; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@11942.8]
+  wire [32:0] _T_144; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11945.8]
+  wire [32:0] _T_145; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11946.8]
+  wire  _T_146; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@11947.8]
+  wire [31:0] _T_147; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11948.8]
+  wire [32:0] _T_148; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11949.8]
+  wire [32:0] _T_149; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11950.8]
+  wire [32:0] _T_150; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11951.8]
+  wire  _T_151; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@11952.8]
+  wire [31:0] _T_152; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11953.8]
+  wire [32:0] _T_153; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11954.8]
+  wire [32:0] _T_154; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11955.8]
+  wire [32:0] _T_155; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11956.8]
+  wire  _T_156; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@11957.8]
+  wire [31:0] _T_157; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11958.8]
+  wire [32:0] _T_158; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11959.8]
+  wire [32:0] _T_159; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11960.8]
+  wire [32:0] _T_160; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11961.8]
+  wire  _T_161; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@11962.8]
+  wire  _T_162; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@11963.8]
+  wire  _T_163; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@11964.8]
+  wire  _T_164; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@11965.8]
+  wire  _T_165; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@11966.8]
+  wire  _T_179; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@11980.8]
+  wire  _T_184; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@11993.8]
+  wire  _T_185; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@11994.8]
+  wire  _T_188; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12001.8]
+  wire  _T_189; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12002.8]
+  wire  _T_191; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12008.8]
+  wire  _T_192; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12009.8]
+  wire  _T_193; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@12014.8]
+  wire  _T_195; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12016.8]
+  wire  _T_196; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12017.8]
+  wire [3:0] _T_197; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@12022.8]
+  wire  _T_198; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@12023.8]
+  wire  _T_200; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12025.8]
+  wire  _T_201; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12026.8]
+  wire  _T_202; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@12031.8]
+  wire  _T_204; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12033.8]
+  wire  _T_205; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12034.8]
+  wire  _T_206; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@12040.6]
+  wire  _T_313; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@12172.8]
+  wire  _T_315; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12174.8]
+  wire  _T_316; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12175.8]
+  wire  _T_326; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@12198.6]
+  wire  _T_328; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12201.8]
+  wire  _T_336; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@12209.8]
+  wire  _T_338; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12211.8]
+  wire  _T_406; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12279.8]
+  wire  _T_407; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12280.8]
+  wire  _T_408; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12281.8]
+  wire  _T_409; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12282.8]
+  wire  _T_410; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12283.8]
+  wire  _T_411; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12284.8]
+  wire  _T_412; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12285.8]
+  wire  _T_413; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12286.8]
+  wire  _T_414; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12287.8]
+  wire  _T_415; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12288.8]
+  wire  _T_416; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12289.8]
+  wire  _T_417; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12290.8]
+  wire  _T_418; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@12291.8]
+  wire  _T_420; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@12293.8]
+  wire  _T_422; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12295.8]
+  wire  _T_423; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12296.8]
+  wire  _T_430; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@12315.8]
+  wire  _T_432; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12317.8]
+  wire  _T_433; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12318.8]
+  wire  _T_434; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@12323.8]
+  wire  _T_436; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12325.8]
+  wire  _T_437; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12326.8]
+  wire  _T_442; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@12340.6]
+  wire  _T_515; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12414.8]
+  wire  _T_516; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12415.8]
+  wire  _T_517; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12416.8]
+  wire  _T_518; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12417.8]
+  wire  _T_519; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12418.8]
+  wire  _T_520; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12419.8]
+  wire  _T_521; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12420.8]
+  wire  _T_522; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@12421.8]
+  wire  _T_537; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@12436.8]
+  wire  _T_540; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12439.8]
+  wire  _T_541; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12440.8]
+  wire  _T_556; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@12476.6]
+  wire [3:0] _T_666; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@12603.8]
+  wire [3:0] _T_667; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@12604.8]
+  wire  _T_668; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@12605.8]
+  wire  _T_670; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12607.8]
+  wire  _T_671; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12608.8]
+  wire  _T_672; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@12614.6]
+  wire  _T_674; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12617.8]
+  wire  _T_741; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12684.8]
+  wire  _T_742; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12685.8]
+  wire  _T_743; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12686.8]
+  wire  _T_744; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12687.8]
+  wire  _T_745; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12688.8]
+  wire  _T_746; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12689.8]
+  wire  _T_747; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12690.8]
+  wire  _T_748; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@12691.8]
+  wire  _T_765; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12708.8]
+  wire  _T_766; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12709.8]
+  wire  _T_773; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@12728.8]
+  wire  _T_775; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12730.8]
+  wire  _T_776; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12731.8]
+  wire  _T_781; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@12745.6]
+  wire  _T_882; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@12859.8]
+  wire  _T_884; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12861.8]
+  wire  _T_885; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12862.8]
+  wire  _T_890; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@12876.6]
+  wire  _T_983; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12970.8]
+  wire  _T_984; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12971.8]
+  wire  _T_999; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@13009.6]
+  wire  _T_1001; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@13011.6]
+  wire  _T_1002; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@13012.6]
+  wire  _T_1004; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@13018.6]
+  wire  _T_1013; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@13023.6]
+  wire  _T_1015; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13025.6]
+  wire  _T_1017; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13028.8]
+  wire  _T_1018; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13029.8]
+  wire  _T_1019; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@13034.8]
+  wire  _T_1021; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13036.8]
+  wire  _T_1022; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13037.8]
+  wire  _T_1023; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@13042.8]
+  wire  _T_1025; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13044.8]
+  wire  _T_1026; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13045.8]
+  wire  _T_1027; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@13050.8]
+  wire  _T_1029; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13052.8]
+  wire  _T_1030; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13053.8]
+  wire  _T_1031; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@13058.8]
+  wire  _T_1033; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13060.8]
+  wire  _T_1034; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13061.8]
+  wire  _T_1035; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13067.6]
+  wire  _T_1046; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@13091.8]
+  wire  _T_1048; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13093.8]
+  wire  _T_1049; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13094.8]
+  wire  _T_1050; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@13099.8]
+  wire  _T_1052; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13101.8]
+  wire  _T_1053; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13102.8]
+  wire  _T_1063; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13125.6]
+  wire  _T_1083; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@13166.8]
+  wire  _T_1085; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13168.8]
+  wire  _T_1086; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13169.8]
+  wire  _T_1092; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13184.6]
+  wire  _T_1109; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13219.6]
+  wire  _T_1127; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13255.6]
+  wire  _T_1156; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@13315.4]
+  wire [9:0] _T_1161; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@13320.4]
+  wire  _T_1162; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@13321.4]
+  wire  _T_1163; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@13322.4]
+  reg [9:0] _T_1166; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@13324.4]
+  reg [31:0] _RAND_0;
+  wire [10:0] _T_1167; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@13325.4]
+  wire [10:0] _T_1168; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@13326.4]
+  wire [9:0] _T_1169; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@13327.4]
+  wire  _T_1170; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13328.4]
+  reg [2:0] _T_1179; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@13339.4]
+  reg [31:0] _RAND_1;
+  reg [2:0] _T_1181; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@13340.4]
+  reg [31:0] _RAND_2;
+  reg [3:0] _T_1183; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@13341.4]
+  reg [31:0] _RAND_3;
+  reg  _T_1185; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@13342.4]
+  reg [31:0] _RAND_4;
+  reg [31:0] _T_1187; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@13343.4]
+  reg [31:0] _RAND_5;
+  wire  _T_1188; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@13344.4]
+  wire  _T_1189; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@13345.4]
+  wire  _T_1190; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@13347.6]
+  wire  _T_1192; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13349.6]
+  wire  _T_1193; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13350.6]
+  wire  _T_1194; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@13355.6]
+  wire  _T_1196; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13357.6]
+  wire  _T_1197; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13358.6]
+  wire  _T_1198; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@13363.6]
+  wire  _T_1200; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13365.6]
+  wire  _T_1201; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13366.6]
+  wire  _T_1202; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@13371.6]
+  wire  _T_1204; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13373.6]
+  wire  _T_1205; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13374.6]
+  wire  _T_1206; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@13379.6]
+  wire  _T_1208; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13381.6]
+  wire  _T_1209; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13382.6]
+  wire  _T_1211; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@13389.4]
+  wire  _T_1212; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@13397.4]
+  wire [26:0] _T_1214; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@13399.4]
+  wire [11:0] _T_1215; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@13400.4]
+  wire [11:0] _T_1216; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@13401.4]
+  wire [9:0] _T_1217; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@13402.4]
+  wire  _T_1218; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@13403.4]
+  reg [9:0] _T_1221; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@13405.4]
+  reg [31:0] _RAND_6;
+  wire [10:0] _T_1222; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@13406.4]
+  wire [10:0] _T_1223; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@13407.4]
+  wire [9:0] _T_1224; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@13408.4]
+  wire  _T_1225; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13409.4]
+  reg [2:0] _T_1234; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@13420.4]
+  reg [31:0] _RAND_7;
+  reg [1:0] _T_1236; // @[Monitor.scala 419:22:shc.marmotcaravel.MarmotCaravelConfig.fir@13421.4]
+  reg [31:0] _RAND_8;
+  reg [3:0] _T_1238; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@13422.4]
+  reg [31:0] _RAND_9;
+  reg  _T_1240; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@13423.4]
+  reg [31:0] _RAND_10;
+  reg  _T_1242; // @[Monitor.scala 422:22:shc.marmotcaravel.MarmotCaravelConfig.fir@13424.4]
+  reg [31:0] _RAND_11;
+  reg  _T_1244; // @[Monitor.scala 423:22:shc.marmotcaravel.MarmotCaravelConfig.fir@13425.4]
+  reg [31:0] _RAND_12;
+  wire  _T_1245; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@13426.4]
+  wire  _T_1246; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@13427.4]
+  wire  _T_1247; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@13429.6]
+  wire  _T_1249; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13431.6]
+  wire  _T_1250; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13432.6]
+  wire  _T_1251; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@13437.6]
+  wire  _T_1253; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13439.6]
+  wire  _T_1254; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13440.6]
+  wire  _T_1255; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@13445.6]
+  wire  _T_1257; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13447.6]
+  wire  _T_1258; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13448.6]
+  wire  _T_1259; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@13453.6]
+  wire  _T_1261; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13455.6]
+  wire  _T_1262; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13456.6]
+  wire  _T_1263; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@13461.6]
+  wire  _T_1265; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13463.6]
+  wire  _T_1266; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13464.6]
+  wire  _T_1267; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@13469.6]
+  wire  _T_1269; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13471.6]
+  wire  _T_1270; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13472.6]
+  wire  _T_1272; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@13479.4]
+  reg [1:0] _T_1274; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@13488.4]
+  reg [31:0] _RAND_13;
+  reg [9:0] _T_1285; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@13498.4]
+  reg [31:0] _RAND_14;
+  wire [10:0] _T_1286; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@13499.4]
+  wire [10:0] _T_1287; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@13500.4]
+  wire [9:0] _T_1288; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@13501.4]
+  wire  _T_1289; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13502.4]
+  reg [9:0] _T_1306; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@13521.4]
+  reg [31:0] _RAND_15;
+  wire [10:0] _T_1307; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@13522.4]
+  wire [10:0] _T_1308; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@13523.4]
+  wire [9:0] _T_1309; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@13524.4]
+  wire  _T_1310; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13525.4]
+  wire  _T_1321; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@13540.4]
+  wire [1:0] _T_1323; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@13543.6]
+  wire [1:0] _T_1324; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@13545.6]
+  wire  _T_1325; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@13546.6]
+  wire  _T_1326; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13547.6]
+  wire  _T_1328; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@13549.6]
+  wire  _T_1329; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@13550.6]
+  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@13542.4]
+  wire  _T_1334; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@13561.4]
+  wire  _T_1336; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@13563.4]
+  wire  _T_1337; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@13564.4]
+  wire [1:0] _T_1338; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@13566.6]
+  wire [1:0] _T_1339; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@13568.6]
+  wire [1:0] _T_1340; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@13569.6]
+  wire  _T_1341; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@13570.6]
+  wire  _T_1343; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@13572.6]
+  wire  _T_1344; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@13573.6]
+  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@13565.4]
+  wire  _T_1345; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@13579.4]
+  wire  _T_1346; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@13580.4]
+  wire  _T_1347; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@13581.4]
+  wire  _T_1348; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@13582.4]
+  wire  _T_1350; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@13584.4]
+  wire  _T_1351; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@13585.4]
+  wire [1:0] _T_1352; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@13590.4]
+  wire [1:0] _T_1353; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@13591.4]
+  wire [1:0] _T_1354; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@13592.4]
+  reg [31:0] _T_1356; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@13594.4]
+  reg [31:0] _RAND_16;
+  wire  _T_1357; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@13597.4]
+  wire  _T_1358; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@13598.4]
+  wire  _T_1359; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@13599.4]
+  wire  _T_1360; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@13600.4]
+  wire  _T_1361; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@13601.4]
+  wire  _T_1362; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@13602.4]
+  wire  _T_1364; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@13604.4]
+  wire  _T_1365; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@13605.4]
+  wire [31:0] _T_1367; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@13611.4]
+  wire  _T_1370; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@13615.4]
+  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@11982.10]
+  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12132.10]
+  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12298.10]
+  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12442.10]
+  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12578.10]
+  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12711.10]
+  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12842.10]
+  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12973.10]
+  wire  _GEN_115; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13031.10]
+  wire  _GEN_125; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13073.10]
+  wire  _GEN_137; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13131.10]
+  wire  _GEN_149; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13190.10]
+  wire  _GEN_155; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13225.10]
+  wire  _GEN_161; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13261.10]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@13595.4]
+    .out(plusarg_reader_out)
+  );
+  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@11821.6]
+  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@11826.6]
+  assign _T_32 = 27'hfff << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@11828.6]
+  assign _T_33 = _T_32[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@11829.6]
+  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@11830.6]
+  assign _GEN_18 = {{20'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@11831.6]
+  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@11831.6]
+  assign _T_36 = _T_35 == 32'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@11832.6]
+  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11834.6]
+  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@11835.6]
+  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@11837.6]
+  assign _T_42 = io_in_a_bits_size >= 4'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@11838.6]
+  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@11839.6]
+  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@11840.6]
+  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@11841.6]
+  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@11843.6]
+  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@11844.6]
+  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@11846.6]
+  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@11847.6]
+  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@11848.6]
+  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@11849.6]
+  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@11850.6]
+  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@11851.6]
+  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@11852.6]
+  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@11853.6]
+  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@11854.6]
+  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@11855.6]
+  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@11856.6]
+  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@11857.6]
+  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@11858.6]
+  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@11859.6]
+  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@11860.6]
+  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@11861.6]
+  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@11862.6]
+  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11863.6]
+  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11864.6]
+  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11865.6]
+  assign _T_73 = {1'b0,$signed(io_in_a_bits_address)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11869.6]
+  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@11890.6]
+  assign _T_92 = io_in_a_bits_address ^ 32'h3000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11893.8]
+  assign _T_93 = {1'b0,$signed(_T_92)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11894.8]
+  assign _T_94 = $signed(_T_93) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11895.8]
+  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11896.8]
+  assign _T_96 = $signed(_T_95) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@11897.8]
+  assign _T_97 = io_in_a_bits_address ^ 32'h10013000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11898.8]
+  assign _T_98 = {1'b0,$signed(_T_97)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11899.8]
+  assign _T_99 = $signed(_T_98) & $signed(-33'sh21000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11900.8]
+  assign _T_100 = $signed(_T_99); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11901.8]
+  assign _T_101 = $signed(_T_100) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@11902.8]
+  assign _T_102 = io_in_a_bits_address ^ 32'h10023000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11903.8]
+  assign _T_103 = {1'b0,$signed(_T_102)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11904.8]
+  assign _T_104 = $signed(_T_103) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11905.8]
+  assign _T_105 = $signed(_T_104); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11906.8]
+  assign _T_106 = $signed(_T_105) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@11907.8]
+  assign _T_107 = io_in_a_bits_address ^ 32'h10043000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11908.8]
+  assign _T_108 = {1'b0,$signed(_T_107)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11909.8]
+  assign _T_109 = $signed(_T_108) & $signed(-33'sh11000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11910.8]
+  assign _T_110 = $signed(_T_109); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11911.8]
+  assign _T_111 = $signed(_T_110) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@11912.8]
+  assign _T_112 = io_in_a_bits_address ^ 32'h10014000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11913.8]
+  assign _T_113 = {1'b0,$signed(_T_112)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11914.8]
+  assign _T_114 = $signed(_T_113) & $signed(-33'sh21000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11915.8]
+  assign _T_115 = $signed(_T_114); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11916.8]
+  assign _T_116 = $signed(_T_115) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@11917.8]
+  assign _T_117 = io_in_a_bits_address ^ 32'h20000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11918.8]
+  assign _T_118 = {1'b0,$signed(_T_117)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11919.8]
+  assign _T_119 = $signed(_T_118) & $signed(-33'sh20000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11920.8]
+  assign _T_120 = $signed(_T_119); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11921.8]
+  assign _T_121 = $signed(_T_120) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@11922.8]
+  assign _T_122 = io_in_a_bits_address ^ 32'h10024000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11923.8]
+  assign _T_123 = {1'b0,$signed(_T_122)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11924.8]
+  assign _T_124 = $signed(_T_123) & $signed(-33'sh3000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11925.8]
+  assign _T_125 = $signed(_T_124); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11926.8]
+  assign _T_126 = $signed(_T_125) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@11927.8]
+  assign _T_127 = io_in_a_bits_address ^ 32'h10012000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11928.8]
+  assign _T_128 = {1'b0,$signed(_T_127)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11929.8]
+  assign _T_129 = $signed(_T_128) & $signed(-33'sh5000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11930.8]
+  assign _T_130 = $signed(_T_129); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11931.8]
+  assign _T_131 = $signed(_T_130) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@11932.8]
+  assign _T_132 = io_in_a_bits_address ^ 32'hc000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11933.8]
+  assign _T_133 = {1'b0,$signed(_T_132)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11934.8]
+  assign _T_134 = $signed(_T_133) & $signed(-33'sh4000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11935.8]
+  assign _T_135 = $signed(_T_134); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11936.8]
+  assign _T_136 = $signed(_T_135) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@11937.8]
+  assign _T_137 = io_in_a_bits_address ^ 32'h2000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11938.8]
+  assign _T_138 = {1'b0,$signed(_T_137)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11939.8]
+  assign _T_139 = $signed(_T_138) & $signed(-33'sh10000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11940.8]
+  assign _T_140 = $signed(_T_139); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11941.8]
+  assign _T_141 = $signed(_T_140) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@11942.8]
+  assign _T_144 = $signed(_T_73) & $signed(-33'sh10001000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11945.8]
+  assign _T_145 = $signed(_T_144); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11946.8]
+  assign _T_146 = $signed(_T_145) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@11947.8]
+  assign _T_147 = io_in_a_bits_address ^ 32'h8000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11948.8]
+  assign _T_148 = {1'b0,$signed(_T_147)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11949.8]
+  assign _T_149 = $signed(_T_148) & $signed(-33'sh4000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11950.8]
+  assign _T_150 = $signed(_T_149); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11951.8]
+  assign _T_151 = $signed(_T_150) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@11952.8]
+  assign _T_152 = io_in_a_bits_address ^ 32'h80000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11953.8]
+  assign _T_153 = {1'b0,$signed(_T_152)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11954.8]
+  assign _T_154 = $signed(_T_153) & $signed(-33'sh4000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11955.8]
+  assign _T_155 = $signed(_T_154); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11956.8]
+  assign _T_156 = $signed(_T_155) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@11957.8]
+  assign _T_157 = io_in_a_bits_address ^ 32'h10000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11958.8]
+  assign _T_158 = {1'b0,$signed(_T_157)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11959.8]
+  assign _T_159 = $signed(_T_158) & $signed(-33'sh2000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11960.8]
+  assign _T_160 = $signed(_T_159); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11961.8]
+  assign _T_161 = $signed(_T_160) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@11962.8]
+  assign _T_162 = _T_96 | _T_101; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@11963.8]
+  assign _T_163 = _T_162 | _T_106; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@11964.8]
+  assign _T_164 = _T_163 | _T_111; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@11965.8]
+  assign _T_165 = _T_164 | _T_116; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@11966.8]
+  assign _T_179 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@11980.8]
+  assign _T_184 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@11993.8]
+  assign _T_185 = _T_184 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@11994.8]
+  assign _T_188 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12001.8]
+  assign _T_189 = _T_188 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12002.8]
+  assign _T_191 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12008.8]
+  assign _T_192 = _T_191 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12009.8]
+  assign _T_193 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@12014.8]
+  assign _T_195 = _T_193 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12016.8]
+  assign _T_196 = _T_195 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12017.8]
+  assign _T_197 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@12022.8]
+  assign _T_198 = _T_197 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@12023.8]
+  assign _T_200 = _T_198 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12025.8]
+  assign _T_201 = _T_200 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12026.8]
+  assign _T_202 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@12031.8]
+  assign _T_204 = _T_202 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12033.8]
+  assign _T_205 = _T_204 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12034.8]
+  assign _T_206 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@12040.6]
+  assign _T_313 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@12172.8]
+  assign _T_315 = _T_313 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12174.8]
+  assign _T_316 = _T_315 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12175.8]
+  assign _T_326 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@12198.6]
+  assign _T_328 = io_in_a_bits_size <= 4'hc; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12201.8]
+  assign _T_336 = _T_328 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@12209.8]
+  assign _T_338 = io_in_a_bits_size <= 4'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12211.8]
+  assign _T_406 = _T_101 | _T_106; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12279.8]
+  assign _T_407 = _T_406 | _T_111; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12280.8]
+  assign _T_408 = _T_407 | _T_116; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12281.8]
+  assign _T_409 = _T_408 | _T_121; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12282.8]
+  assign _T_410 = _T_409 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12283.8]
+  assign _T_411 = _T_410 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12284.8]
+  assign _T_412 = _T_411 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12285.8]
+  assign _T_413 = _T_412 | _T_141; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12286.8]
+  assign _T_414 = _T_413 | _T_146; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12287.8]
+  assign _T_415 = _T_414 | _T_151; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12288.8]
+  assign _T_416 = _T_415 | _T_156; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12289.8]
+  assign _T_417 = _T_416 | _T_161; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12290.8]
+  assign _T_418 = _T_338 & _T_417; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@12291.8]
+  assign _T_420 = _T_336 | _T_418; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@12293.8]
+  assign _T_422 = _T_420 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12295.8]
+  assign _T_423 = _T_422 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12296.8]
+  assign _T_430 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@12315.8]
+  assign _T_432 = _T_430 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12317.8]
+  assign _T_433 = _T_432 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12318.8]
+  assign _T_434 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@12323.8]
+  assign _T_436 = _T_434 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12325.8]
+  assign _T_437 = _T_436 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12326.8]
+  assign _T_442 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@12340.6]
+  assign _T_515 = _T_408 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12414.8]
+  assign _T_516 = _T_515 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12415.8]
+  assign _T_517 = _T_516 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12416.8]
+  assign _T_518 = _T_517 | _T_141; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12417.8]
+  assign _T_519 = _T_518 | _T_146; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12418.8]
+  assign _T_520 = _T_519 | _T_151; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12419.8]
+  assign _T_521 = _T_520 | _T_156; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12420.8]
+  assign _T_522 = _T_338 & _T_521; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@12421.8]
+  assign _T_537 = _T_336 | _T_522; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@12436.8]
+  assign _T_540 = _T_537 | reset; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12439.8]
+  assign _T_541 = _T_540 == 1'h0; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12440.8]
+  assign _T_556 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@12476.6]
+  assign _T_666 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@12603.8]
+  assign _T_667 = io_in_a_bits_mask & _T_666; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@12604.8]
+  assign _T_668 = _T_667 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@12605.8]
+  assign _T_670 = _T_668 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12607.8]
+  assign _T_671 = _T_670 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12608.8]
+  assign _T_672 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@12614.6]
+  assign _T_674 = io_in_a_bits_size <= 4'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12617.8]
+  assign _T_741 = _T_165 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12684.8]
+  assign _T_742 = _T_741 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12685.8]
+  assign _T_743 = _T_742 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12686.8]
+  assign _T_744 = _T_743 | _T_141; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12687.8]
+  assign _T_745 = _T_744 | _T_146; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12688.8]
+  assign _T_746 = _T_745 | _T_151; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12689.8]
+  assign _T_747 = _T_746 | _T_156; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12690.8]
+  assign _T_748 = _T_674 & _T_747; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@12691.8]
+  assign _T_765 = _T_748 | reset; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12708.8]
+  assign _T_766 = _T_765 == 1'h0; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12709.8]
+  assign _T_773 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@12728.8]
+  assign _T_775 = _T_773 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12730.8]
+  assign _T_776 = _T_775 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12731.8]
+  assign _T_781 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@12745.6]
+  assign _T_882 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@12859.8]
+  assign _T_884 = _T_882 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12861.8]
+  assign _T_885 = _T_884 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12862.8]
+  assign _T_890 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@12876.6]
+  assign _T_983 = _T_336 | reset; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12970.8]
+  assign _T_984 = _T_983 == 1'h0; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12971.8]
+  assign _T_999 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@13009.6]
+  assign _T_1001 = _T_999 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@13011.6]
+  assign _T_1002 = _T_1001 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@13012.6]
+  assign _T_1004 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@13018.6]
+  assign _T_1013 = io_in_d_bits_source | _T_1004; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@13023.6]
+  assign _T_1015 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13025.6]
+  assign _T_1017 = _T_1013 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13028.8]
+  assign _T_1018 = _T_1017 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13029.8]
+  assign _T_1019 = io_in_d_bits_size >= 4'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@13034.8]
+  assign _T_1021 = _T_1019 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13036.8]
+  assign _T_1022 = _T_1021 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13037.8]
+  assign _T_1023 = io_in_d_bits_param == 2'h0; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@13042.8]
+  assign _T_1025 = _T_1023 | reset; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13044.8]
+  assign _T_1026 = _T_1025 == 1'h0; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13045.8]
+  assign _T_1027 = io_in_d_bits_corrupt == 1'h0; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@13050.8]
+  assign _T_1029 = _T_1027 | reset; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13052.8]
+  assign _T_1030 = _T_1029 == 1'h0; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13053.8]
+  assign _T_1031 = io_in_d_bits_denied == 1'h0; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@13058.8]
+  assign _T_1033 = _T_1031 | reset; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13060.8]
+  assign _T_1034 = _T_1033 == 1'h0; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13061.8]
+  assign _T_1035 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13067.6]
+  assign _T_1046 = io_in_d_bits_param <= 2'h2; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@13091.8]
+  assign _T_1048 = _T_1046 | reset; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13093.8]
+  assign _T_1049 = _T_1048 == 1'h0; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13094.8]
+  assign _T_1050 = io_in_d_bits_param != 2'h2; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@13099.8]
+  assign _T_1052 = _T_1050 | reset; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13101.8]
+  assign _T_1053 = _T_1052 == 1'h0; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13102.8]
+  assign _T_1063 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13125.6]
+  assign _T_1083 = _T_1031 | io_in_d_bits_corrupt; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@13166.8]
+  assign _T_1085 = _T_1083 | reset; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13168.8]
+  assign _T_1086 = _T_1085 == 1'h0; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13169.8]
+  assign _T_1092 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13184.6]
+  assign _T_1109 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13219.6]
+  assign _T_1127 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13255.6]
+  assign _T_1156 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@13315.4]
+  assign _T_1161 = _T_34[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@13320.4]
+  assign _T_1162 = io_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@13321.4]
+  assign _T_1163 = _T_1162 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@13322.4]
+  assign _T_1167 = _T_1166 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@13325.4]
+  assign _T_1168 = $unsigned(_T_1167); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@13326.4]
+  assign _T_1169 = _T_1168[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@13327.4]
+  assign _T_1170 = _T_1166 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13328.4]
+  assign _T_1188 = _T_1170 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@13344.4]
+  assign _T_1189 = io_in_a_valid & _T_1188; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@13345.4]
+  assign _T_1190 = io_in_a_bits_opcode == _T_1179; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@13347.6]
+  assign _T_1192 = _T_1190 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13349.6]
+  assign _T_1193 = _T_1192 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13350.6]
+  assign _T_1194 = io_in_a_bits_param == _T_1181; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@13355.6]
+  assign _T_1196 = _T_1194 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13357.6]
+  assign _T_1197 = _T_1196 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13358.6]
+  assign _T_1198 = io_in_a_bits_size == _T_1183; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@13363.6]
+  assign _T_1200 = _T_1198 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13365.6]
+  assign _T_1201 = _T_1200 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13366.6]
+  assign _T_1202 = io_in_a_bits_source == _T_1185; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@13371.6]
+  assign _T_1204 = _T_1202 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13373.6]
+  assign _T_1205 = _T_1204 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13374.6]
+  assign _T_1206 = io_in_a_bits_address == _T_1187; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@13379.6]
+  assign _T_1208 = _T_1206 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13381.6]
+  assign _T_1209 = _T_1208 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13382.6]
+  assign _T_1211 = _T_1156 & _T_1170; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@13389.4]
+  assign _T_1212 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@13397.4]
+  assign _T_1214 = 27'hfff << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@13399.4]
+  assign _T_1215 = _T_1214[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@13400.4]
+  assign _T_1216 = ~ _T_1215; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@13401.4]
+  assign _T_1217 = _T_1216[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@13402.4]
+  assign _T_1218 = io_in_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@13403.4]
+  assign _T_1222 = _T_1221 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@13406.4]
+  assign _T_1223 = $unsigned(_T_1222); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@13407.4]
+  assign _T_1224 = _T_1223[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@13408.4]
+  assign _T_1225 = _T_1221 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13409.4]
+  assign _T_1245 = _T_1225 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@13426.4]
+  assign _T_1246 = io_in_d_valid & _T_1245; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@13427.4]
+  assign _T_1247 = io_in_d_bits_opcode == _T_1234; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@13429.6]
+  assign _T_1249 = _T_1247 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13431.6]
+  assign _T_1250 = _T_1249 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13432.6]
+  assign _T_1251 = io_in_d_bits_param == _T_1236; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@13437.6]
+  assign _T_1253 = _T_1251 | reset; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13439.6]
+  assign _T_1254 = _T_1253 == 1'h0; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13440.6]
+  assign _T_1255 = io_in_d_bits_size == _T_1238; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@13445.6]
+  assign _T_1257 = _T_1255 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13447.6]
+  assign _T_1258 = _T_1257 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13448.6]
+  assign _T_1259 = io_in_d_bits_source == _T_1240; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@13453.6]
+  assign _T_1261 = _T_1259 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13455.6]
+  assign _T_1262 = _T_1261 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13456.6]
+  assign _T_1263 = io_in_d_bits_sink == _T_1242; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@13461.6]
+  assign _T_1265 = _T_1263 | reset; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13463.6]
+  assign _T_1266 = _T_1265 == 1'h0; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13464.6]
+  assign _T_1267 = io_in_d_bits_denied == _T_1244; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@13469.6]
+  assign _T_1269 = _T_1267 | reset; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13471.6]
+  assign _T_1270 = _T_1269 == 1'h0; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13472.6]
+  assign _T_1272 = _T_1212 & _T_1225; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@13479.4]
+  assign _T_1286 = _T_1285 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@13499.4]
+  assign _T_1287 = $unsigned(_T_1286); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@13500.4]
+  assign _T_1288 = _T_1287[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@13501.4]
+  assign _T_1289 = _T_1285 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13502.4]
+  assign _T_1307 = _T_1306 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@13522.4]
+  assign _T_1308 = $unsigned(_T_1307); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@13523.4]
+  assign _T_1309 = _T_1308[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@13524.4]
+  assign _T_1310 = _T_1306 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13525.4]
+  assign _T_1321 = _T_1156 & _T_1289; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@13540.4]
+  assign _T_1323 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@13543.6]
+  assign _T_1324 = _T_1274 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@13545.6]
+  assign _T_1325 = _T_1324[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@13546.6]
+  assign _T_1326 = _T_1325 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13547.6]
+  assign _T_1328 = _T_1326 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@13549.6]
+  assign _T_1329 = _T_1328 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@13550.6]
+  assign _GEN_15 = _T_1321 ? _T_1323 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@13542.4]
+  assign _T_1334 = _T_1212 & _T_1310; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@13561.4]
+  assign _T_1336 = _T_1015 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@13563.4]
+  assign _T_1337 = _T_1334 & _T_1336; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@13564.4]
+  assign _T_1338 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@13566.6]
+  assign _T_1339 = _GEN_15 | _T_1274; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@13568.6]
+  assign _T_1340 = _T_1339 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@13569.6]
+  assign _T_1341 = _T_1340[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@13570.6]
+  assign _T_1343 = _T_1341 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@13572.6]
+  assign _T_1344 = _T_1343 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@13573.6]
+  assign _GEN_16 = _T_1337 ? _T_1338 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@13565.4]
+  assign _T_1345 = _GEN_15 != _GEN_16; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@13579.4]
+  assign _T_1346 = _GEN_15 != 2'h0; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@13580.4]
+  assign _T_1347 = _T_1346 == 1'h0; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@13581.4]
+  assign _T_1348 = _T_1345 | _T_1347; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@13582.4]
+  assign _T_1350 = _T_1348 | reset; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@13584.4]
+  assign _T_1351 = _T_1350 == 1'h0; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@13585.4]
+  assign _T_1352 = _T_1274 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@13590.4]
+  assign _T_1353 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@13591.4]
+  assign _T_1354 = _T_1352 & _T_1353; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@13592.4]
+  assign _T_1357 = _T_1274 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@13597.4]
+  assign _T_1358 = _T_1357 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@13598.4]
+  assign _T_1359 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@13599.4]
+  assign _T_1360 = _T_1358 | _T_1359; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@13600.4]
+  assign _T_1361 = _T_1356 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@13601.4]
+  assign _T_1362 = _T_1360 | _T_1361; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@13602.4]
+  assign _T_1364 = _T_1362 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@13604.4]
+  assign _T_1365 = _T_1364 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@13605.4]
+  assign _T_1367 = _T_1356 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@13611.4]
+  assign _T_1370 = _T_1156 | _T_1212; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@13615.4]
+  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@11982.10]
+  assign _GEN_35 = io_in_a_valid & _T_206; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12132.10]
+  assign _GEN_53 = io_in_a_valid & _T_326; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12298.10]
+  assign _GEN_65 = io_in_a_valid & _T_442; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12442.10]
+  assign _GEN_75 = io_in_a_valid & _T_556; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12578.10]
+  assign _GEN_85 = io_in_a_valid & _T_672; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12711.10]
+  assign _GEN_95 = io_in_a_valid & _T_781; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12842.10]
+  assign _GEN_105 = io_in_a_valid & _T_890; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12973.10]
+  assign _GEN_115 = io_in_d_valid & _T_1015; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13031.10]
+  assign _GEN_125 = io_in_d_valid & _T_1035; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13073.10]
+  assign _GEN_137 = io_in_d_valid & _T_1063; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13131.10]
+  assign _GEN_149 = io_in_d_valid & _T_1092; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13190.10]
+  assign _GEN_155 = io_in_d_valid & _T_1109; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13225.10]
+  assign _GEN_161 = io_in_d_valid & _T_1127; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13261.10]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  _T_1166 = _RAND_0[9:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  _T_1179 = _RAND_1[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  _T_1181 = _RAND_2[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  _T_1183 = _RAND_3[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  _T_1185 = _RAND_4[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  _T_1187 = _RAND_5[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {1{`RANDOM}};
+  _T_1221 = _RAND_6[9:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {1{`RANDOM}};
+  _T_1234 = _RAND_7[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_8 = {1{`RANDOM}};
+  _T_1236 = _RAND_8[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_9 = {1{`RANDOM}};
+  _T_1238 = _RAND_9[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_10 = {1{`RANDOM}};
+  _T_1240 = _RAND_10[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_11 = {1{`RANDOM}};
+  _T_1242 = _RAND_11[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_12 = {1{`RANDOM}};
+  _T_1244 = _RAND_12[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_13 = {1{`RANDOM}};
+  _T_1274 = _RAND_13[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_14 = {1{`RANDOM}};
+  _T_1285 = _RAND_14[9:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_15 = {1{`RANDOM}};
+  _T_1306 = _RAND_15[9:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_16 = {1{`RANDOM}};
+  _T_1356 = _RAND_16[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      _T_1166 <= 10'h0;
+    end else begin
+      if (_T_1156) begin
+        if (_T_1170) begin
+          if (_T_1163) begin
+            _T_1166 <= _T_1161;
+          end else begin
+            _T_1166 <= 10'h0;
+          end
+        end else begin
+          _T_1166 <= _T_1169;
+        end
+      end
+    end
+    if (_T_1211) begin
+      _T_1179 <= io_in_a_bits_opcode;
+    end
+    if (_T_1211) begin
+      _T_1181 <= io_in_a_bits_param;
+    end
+    if (_T_1211) begin
+      _T_1183 <= io_in_a_bits_size;
+    end
+    if (_T_1211) begin
+      _T_1185 <= io_in_a_bits_source;
+    end
+    if (_T_1211) begin
+      _T_1187 <= io_in_a_bits_address;
+    end
+    if (reset) begin
+      _T_1221 <= 10'h0;
+    end else begin
+      if (_T_1212) begin
+        if (_T_1225) begin
+          if (_T_1218) begin
+            _T_1221 <= _T_1217;
+          end else begin
+            _T_1221 <= 10'h0;
+          end
+        end else begin
+          _T_1221 <= _T_1224;
+        end
+      end
+    end
+    if (_T_1272) begin
+      _T_1234 <= io_in_d_bits_opcode;
+    end
+    if (_T_1272) begin
+      _T_1236 <= io_in_d_bits_param;
+    end
+    if (_T_1272) begin
+      _T_1238 <= io_in_d_bits_size;
+    end
+    if (_T_1272) begin
+      _T_1240 <= io_in_d_bits_source;
+    end
+    if (_T_1272) begin
+      _T_1242 <= io_in_d_bits_sink;
+    end
+    if (_T_1272) begin
+      _T_1244 <= io_in_d_bits_denied;
+    end
+    if (reset) begin
+      _T_1274 <= 2'h0;
+    end else begin
+      _T_1274 <= _T_1354;
+    end
+    if (reset) begin
+      _T_1285 <= 10'h0;
+    end else begin
+      if (_T_1156) begin
+        if (_T_1289) begin
+          if (_T_1163) begin
+            _T_1285 <= _T_1161;
+          end else begin
+            _T_1285 <= 10'h0;
+          end
+        end else begin
+          _T_1285 <= _T_1288;
+        end
+      end
+    end
+    if (reset) begin
+      _T_1306 <= 10'h0;
+    end else begin
+      if (_T_1212) begin
+        if (_T_1310) begin
+          if (_T_1218) begin
+            _T_1306 <= _T_1217;
+          end else begin
+            _T_1306 <= 10'h0;
+          end
+        end else begin
+          _T_1306 <= _T_1309;
+        end
+      end
+    end
+    if (reset) begin
+      _T_1356 <= 32'h0;
+    end else begin
+      if (_T_1370) begin
+        _T_1356 <= 32'h0;
+      end else begin
+        _T_1356 <= _T_1367;
+      end
+    end
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@11817.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@11818.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@11887.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@11888.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_179) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@11982.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_179) begin
+          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@11983.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_179) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@11989.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_179) begin
+          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@11990.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_185) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@11996.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_185) begin
+          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@11997.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_189) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12004.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_189) begin
+          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12005.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_192) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12011.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_192) begin
+          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12012.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_196) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12019.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_196) begin
+          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12020.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_201) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12028.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_201) begin
+          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12029.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_205) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12036.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_205) begin
+          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12037.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_179) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12132.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_179) begin
+          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12133.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_179) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12139.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_179) begin
+          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12140.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_185) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12146.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_185) begin
+          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12147.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_189) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12154.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_189) begin
+          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12155.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_192) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12161.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_192) begin
+          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12162.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_196) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12169.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_196) begin
+          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12170.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_316) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12177.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_316) begin
+          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12178.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_201) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12186.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_201) begin
+          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12187.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_205) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12194.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_205) begin
+          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12195.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_423) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12298.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_423) begin
+          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12299.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_185) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12305.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_185) begin
+          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12306.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_192) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12312.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_192) begin
+          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12313.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_433) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12320.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_433) begin
+          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12321.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_437) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12328.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_437) begin
+          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12329.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_205) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12336.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_205) begin
+          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12337.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_541) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12442.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_541) begin
+          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12443.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_185) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12449.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_185) begin
+          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12450.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_192) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12456.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_192) begin
+          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12457.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_433) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12464.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_433) begin
+          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12465.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_437) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12472.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_437) begin
+          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12473.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_541) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12578.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_541) begin
+          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12579.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_185) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12585.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_185) begin
+          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12586.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_192) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12592.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_192) begin
+          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12593.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_433) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12600.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_433) begin
+          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12601.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_671) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12610.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_671) begin
+          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12611.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_766) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12711.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_766) begin
+          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12712.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_185) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12718.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_185) begin
+          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12719.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_192) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12725.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_192) begin
+          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12726.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_776) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12733.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_776) begin
+          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12734.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_437) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12741.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_437) begin
+          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12742.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_766) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12842.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_766) begin
+          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12843.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_185) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12849.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_185) begin
+          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12850.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_192) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12856.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_192) begin
+          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12857.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_885) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12864.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_885) begin
+          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12865.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_437) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12872.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_437) begin
+          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12873.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_984) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12973.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_984) begin
+          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12974.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_185) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12980.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_185) begin
+          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12981.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_192) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12987.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_192) begin
+          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12988.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_437) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12995.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_437) begin
+          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12996.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_205) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13003.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_205) begin
+          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13004.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1002) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@13014.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1002) begin
+          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@13015.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_1018) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13031.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_1018) begin
+          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13032.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_1022) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13039.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_1022) begin
+          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13040.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_1026) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13047.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_1026) begin
+          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13048.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_1030) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13055.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_1030) begin
+          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13056.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_1034) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13063.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_1034) begin
+          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13064.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_1018) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13073.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_1018) begin
+          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13074.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_179) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13080.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_179) begin
+          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13081.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_1022) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13088.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_1022) begin
+          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13089.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_1049) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13096.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_1049) begin
+          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13097.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_1053) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13104.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_1053) begin
+          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13105.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_1030) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13112.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_1030) begin
+          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13113.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13121.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13122.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_137 & _T_1018) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13131.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_137 & _T_1018) begin
+          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13132.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_137 & _T_179) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13138.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_137 & _T_179) begin
+          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13139.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_137 & _T_1022) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13146.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_137 & _T_1022) begin
+          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13147.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_137 & _T_1049) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13154.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_137 & _T_1049) begin
+          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13155.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_137 & _T_1053) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13162.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_137 & _T_1053) begin
+          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13163.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_137 & _T_1086) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13171.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_137 & _T_1086) begin
+          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13172.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13180.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13181.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_149 & _T_1018) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13190.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_149 & _T_1018) begin
+          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13191.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_149 & _T_1026) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13198.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_149 & _T_1026) begin
+          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13199.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_149 & _T_1030) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13206.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_149 & _T_1030) begin
+          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13207.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13215.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13216.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_155 & _T_1018) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13225.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_155 & _T_1018) begin
+          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13226.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_155 & _T_1026) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13233.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_155 & _T_1026) begin
+          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13234.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_155 & _T_1086) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13242.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_155 & _T_1086) begin
+          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13243.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13251.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13252.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_161 & _T_1018) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13261.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_161 & _T_1018) begin
+          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13262.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_161 & _T_1026) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13269.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_161 & _T_1026) begin
+          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13270.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_161 & _T_1030) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13277.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_161 & _T_1030) begin
+          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13278.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13286.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13287.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13296.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13297.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13304.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13305.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13312.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13313.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1189 & _T_1193) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13352.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1189 & _T_1193) begin
+          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13353.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1189 & _T_1197) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13360.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1189 & _T_1197) begin
+          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13361.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1189 & _T_1201) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13368.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1189 & _T_1201) begin
+          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13369.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1189 & _T_1205) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13376.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1189 & _T_1205) begin
+          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13377.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1189 & _T_1209) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13384.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1189 & _T_1209) begin
+          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13385.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1246 & _T_1250) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13434.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1246 & _T_1250) begin
+          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13435.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1246 & _T_1254) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13442.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1246 & _T_1254) begin
+          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13443.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1246 & _T_1258) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13450.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1246 & _T_1258) begin
+          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13451.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1246 & _T_1262) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13458.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1246 & _T_1262) begin
+          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13459.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1246 & _T_1266) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13466.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1246 & _T_1266) begin
+          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13467.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1246 & _T_1270) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13474.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1246 & _T_1270) begin
+          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13475.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1321 & _T_1329) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@13552.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1321 & _T_1329) begin
+          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@13553.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1337 & _T_1344) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@13575.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1337 & _T_1344) begin
+          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@13576.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1351) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' and 'D' concurrent, despite minlatency 2 (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:471 assert(a_set =/= d_clr || !a_set.orR, s\"'A' and 'D' concurrent, despite minlatency ${edge.manager.minLatency}\" + extra)\n"); // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@13587.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1351) begin
+          $fatal; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@13588.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1365) begin
+          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@13607.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1365) begin
+          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@13608.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+endmodule
+module TLBuffer_1( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13620.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13621.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13622.4]
+  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13623.4]
+  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13623.4]
+  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13623.4]
+  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13623.4]
+  input  [3:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13623.4]
+  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13623.4]
+  input  [31:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13623.4]
+  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13623.4]
+  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13623.4]
+  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13623.4]
+  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13623.4]
+  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13623.4]
+  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13623.4]
+  output [1:0]  auto_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13623.4]
+  output [3:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13623.4]
+  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13623.4]
+  output        auto_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13623.4]
+  output        auto_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13623.4]
+  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13623.4]
+  output        auto_in_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13623.4]
+  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13623.4]
+  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13623.4]
+  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13623.4]
+  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13623.4]
+  output [3:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13623.4]
+  output        auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13623.4]
+  output [31:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13623.4]
+  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13623.4]
+  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13623.4]
+  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13623.4]
+  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13623.4]
+  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13623.4]
+  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13623.4]
+  input  [1:0]  auto_out_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13623.4]
+  input  [3:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13623.4]
+  input         auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13623.4]
+  input         auto_out_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13623.4]
+  input         auto_out_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13623.4]
+  input  [31:0] auto_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13623.4]
+  input         auto_out_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13623.4]
+);
+  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13630.4]
+  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13630.4]
+  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13630.4]
+  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13630.4]
+  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13630.4]
+  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13630.4]
+  wire [3:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13630.4]
+  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13630.4]
+  wire [31:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13630.4]
+  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13630.4]
+  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13630.4]
+  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13630.4]
+  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13630.4]
+  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13630.4]
+  wire [1:0] TLMonitor_io_in_d_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13630.4]
+  wire [3:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13630.4]
+  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13630.4]
+  wire  TLMonitor_io_in_d_bits_sink; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13630.4]
+  wire  TLMonitor_io_in_d_bits_denied; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13630.4]
+  wire  TLMonitor_io_in_d_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13630.4]
+  TLMonitor_5 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13630.4]
+    .clock(TLMonitor_clock),
+    .reset(TLMonitor_reset),
+    .io_in_a_ready(TLMonitor_io_in_a_ready),
+    .io_in_a_valid(TLMonitor_io_in_a_valid),
+    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
+    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
+    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
+    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
+    .io_in_d_ready(TLMonitor_io_in_d_ready),
+    .io_in_d_valid(TLMonitor_io_in_d_valid),
+    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
+    .io_in_d_bits_param(TLMonitor_io_in_d_bits_param),
+    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
+    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source),
+    .io_in_d_bits_sink(TLMonitor_io_in_d_bits_sink),
+    .io_in_d_bits_denied(TLMonitor_io_in_d_bits_denied),
+    .io_in_d_bits_corrupt(TLMonitor_io_in_d_bits_corrupt)
+  );
+  assign auto_in_a_ready = auto_out_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@13670.4]
+  assign auto_in_d_valid = auto_out_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@13670.4]
+  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@13670.4]
+  assign auto_in_d_bits_param = auto_out_d_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@13670.4]
+  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@13670.4]
+  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@13670.4]
+  assign auto_in_d_bits_sink = auto_out_d_bits_sink; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@13670.4]
+  assign auto_in_d_bits_denied = auto_out_d_bits_denied; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@13670.4]
+  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@13670.4]
+  assign auto_in_d_bits_corrupt = auto_out_d_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@13670.4]
+  assign auto_out_a_valid = auto_in_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@13669.4]
+  assign auto_out_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@13669.4]
+  assign auto_out_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@13669.4]
+  assign auto_out_a_bits_size = auto_in_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@13669.4]
+  assign auto_out_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@13669.4]
+  assign auto_out_a_bits_address = auto_in_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@13669.4]
+  assign auto_out_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@13669.4]
+  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@13669.4]
+  assign auto_out_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@13669.4]
+  assign auto_out_d_ready = auto_in_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@13669.4]
+  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13632.4]
+  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13633.4]
+  assign TLMonitor_io_in_a_ready = auto_out_a_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@13666.4]
+  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@13666.4]
+  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@13666.4]
+  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@13666.4]
+  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@13666.4]
+  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@13666.4]
+  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@13666.4]
+  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@13666.4]
+  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@13666.4]
+  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@13666.4]
+  assign TLMonitor_io_in_d_valid = auto_out_d_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@13666.4]
+  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@13666.4]
+  assign TLMonitor_io_in_d_bits_param = auto_out_d_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@13666.4]
+  assign TLMonitor_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@13666.4]
+  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@13666.4]
+  assign TLMonitor_io_in_d_bits_sink = auto_out_d_bits_sink; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@13666.4]
+  assign TLMonitor_io_in_d_bits_denied = auto_out_d_bits_denied; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@13666.4]
+  assign TLMonitor_io_in_d_bits_corrupt = auto_out_d_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@13666.4]
+endmodule
+module TLMonitor_6( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13687.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13688.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13689.4]
+  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13690.4]
+  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13690.4]
+  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13690.4]
+  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13690.4]
+  input  [3:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13690.4]
+  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13690.4]
+  input  [29:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13690.4]
+  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13690.4]
+  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13690.4]
+  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13690.4]
+  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13690.4]
+  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13690.4]
+  input  [1:0]  io_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13690.4]
+  input  [3:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13690.4]
+  input         io_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13690.4]
+  input         io_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13690.4]
+  input         io_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13690.4]
+  input         io_in_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13690.4]
+);
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@15192.4]
+  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@13706.6]
+  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@13711.6]
+  wire [26:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@13713.6]
+  wire [11:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@13714.6]
+  wire [11:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@13715.6]
+  wire [29:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@13716.6]
+  wire [29:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@13716.6]
+  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@13717.6]
+  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@13719.6]
+  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@13720.6]
+  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@13722.6]
+  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@13723.6]
+  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@13724.6]
+  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@13725.6]
+  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@13726.6]
+  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@13728.6]
+  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@13729.6]
+  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@13731.6]
+  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@13732.6]
+  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@13733.6]
+  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@13734.6]
+  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@13735.6]
+  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@13736.6]
+  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@13737.6]
+  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@13738.6]
+  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@13739.6]
+  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@13740.6]
+  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@13741.6]
+  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@13742.6]
+  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@13743.6]
+  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@13744.6]
+  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@13745.6]
+  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@13746.6]
+  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@13747.6]
+  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@13748.6]
+  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@13749.6]
+  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@13750.6]
+  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13775.6]
+  wire [29:0] _T_92; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@13778.8]
+  wire [30:0] _T_93; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@13779.8]
+  wire [30:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@13780.8]
+  wire [30:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@13781.8]
+  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@13782.8]
+  wire [29:0] _T_97; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@13783.8]
+  wire [30:0] _T_98; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@13784.8]
+  wire [30:0] _T_99; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@13785.8]
+  wire [30:0] _T_100; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@13786.8]
+  wire  _T_101; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@13787.8]
+  wire [29:0] _T_102; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@13788.8]
+  wire [30:0] _T_103; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@13789.8]
+  wire [30:0] _T_104; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@13790.8]
+  wire [30:0] _T_105; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@13791.8]
+  wire  _T_106; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@13792.8]
+  wire [29:0] _T_107; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@13793.8]
+  wire [30:0] _T_108; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@13794.8]
+  wire [30:0] _T_109; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@13795.8]
+  wire [30:0] _T_110; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@13796.8]
+  wire  _T_111; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@13797.8]
+  wire [29:0] _T_112; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@13798.8]
+  wire [30:0] _T_113; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@13799.8]
+  wire [30:0] _T_114; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@13800.8]
+  wire [30:0] _T_115; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@13801.8]
+  wire  _T_116; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@13802.8]
+  wire [29:0] _T_117; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@13803.8]
+  wire [30:0] _T_118; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@13804.8]
+  wire [30:0] _T_119; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@13805.8]
+  wire [30:0] _T_120; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@13806.8]
+  wire  _T_121; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@13807.8]
+  wire [29:0] _T_122; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@13808.8]
+  wire [30:0] _T_123; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@13809.8]
+  wire [30:0] _T_124; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@13810.8]
+  wire [30:0] _T_125; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@13811.8]
+  wire  _T_126; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@13812.8]
+  wire [29:0] _T_127; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@13813.8]
+  wire [30:0] _T_128; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@13814.8]
+  wire [30:0] _T_129; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@13815.8]
+  wire [30:0] _T_130; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@13816.8]
+  wire  _T_131; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@13817.8]
+  wire  _T_132; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@13818.8]
+  wire  _T_133; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@13819.8]
+  wire  _T_134; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@13820.8]
+  wire  _T_135; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@13821.8]
+  wire  _T_143; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13829.8]
+  wire  _T_148; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13842.8]
+  wire  _T_149; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13843.8]
+  wire  _T_152; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13850.8]
+  wire  _T_153; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13851.8]
+  wire  _T_155; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13857.8]
+  wire  _T_156; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13858.8]
+  wire  _T_157; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@13863.8]
+  wire  _T_159; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13865.8]
+  wire  _T_160; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13866.8]
+  wire [3:0] _T_161; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@13871.8]
+  wire  _T_162; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@13872.8]
+  wire  _T_164; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13874.8]
+  wire  _T_165; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13875.8]
+  wire  _T_166; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@13880.8]
+  wire  _T_168; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13882.8]
+  wire  _T_169; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13883.8]
+  wire  _T_170; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13889.6]
+  wire  _T_241; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@13985.8]
+  wire  _T_243; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13987.8]
+  wire  _T_244; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13988.8]
+  wire  _T_254; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@14011.6]
+  wire  _T_256; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@14014.8]
+  wire  _T_264; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@14022.8]
+  wire  _T_266; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@14024.8]
+  wire  _T_304; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@14062.8]
+  wire  _T_305; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@14063.8]
+  wire  _T_306; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@14064.8]
+  wire  _T_307; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@14065.8]
+  wire  _T_308; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@14066.8]
+  wire  _T_309; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@14067.8]
+  wire  _T_310; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@14068.8]
+  wire  _T_312; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@14070.8]
+  wire  _T_314; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14072.8]
+  wire  _T_315; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14073.8]
+  wire  _T_322; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@14092.8]
+  wire  _T_324; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14094.8]
+  wire  _T_325; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14095.8]
+  wire  _T_326; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@14100.8]
+  wire  _T_328; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14102.8]
+  wire  _T_329; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14103.8]
+  wire  _T_334; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@14117.6]
+  wire  _T_382; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@14166.8]
+  wire  _T_383; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@14167.8]
+  wire  _T_384; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@14168.8]
+  wire  _T_393; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@14177.8]
+  wire  _T_396; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14180.8]
+  wire  _T_397; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14181.8]
+  wire  _T_412; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@14217.6]
+  wire [3:0] _T_486; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@14308.8]
+  wire [3:0] _T_487; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@14309.8]
+  wire  _T_488; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@14310.8]
+  wire  _T_490; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14312.8]
+  wire  _T_491; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14313.8]
+  wire  _T_492; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@14319.6]
+  wire  _T_494; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@14322.8]
+  wire  _T_536; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@14364.8]
+  wire  _T_537; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@14365.8]
+  wire  _T_538; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@14366.8]
+  wire  _T_549; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14377.8]
+  wire  _T_550; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14378.8]
+  wire  _T_557; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@14397.8]
+  wire  _T_559; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14399.8]
+  wire  _T_560; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14400.8]
+  wire  _T_565; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@14414.6]
+  wire  _T_630; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@14492.8]
+  wire  _T_632; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14494.8]
+  wire  _T_633; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14495.8]
+  wire  _T_638; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@14509.6]
+  wire  _T_695; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14567.8]
+  wire  _T_696; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14568.8]
+  wire  _T_711; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@14606.6]
+  wire  _T_713; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@14608.6]
+  wire  _T_714; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@14609.6]
+  wire  _T_716; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@14615.6]
+  wire  _T_725; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@14620.6]
+  wire  _T_727; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@14622.6]
+  wire  _T_729; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14625.8]
+  wire  _T_730; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14626.8]
+  wire  _T_731; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@14631.8]
+  wire  _T_733; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14633.8]
+  wire  _T_734; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14634.8]
+  wire  _T_735; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@14639.8]
+  wire  _T_737; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14641.8]
+  wire  _T_738; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14642.8]
+  wire  _T_739; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@14647.8]
+  wire  _T_741; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14649.8]
+  wire  _T_742; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14650.8]
+  wire  _T_743; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@14655.8]
+  wire  _T_745; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14657.8]
+  wire  _T_746; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14658.8]
+  wire  _T_747; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@14664.6]
+  wire  _T_758; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@14688.8]
+  wire  _T_760; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14690.8]
+  wire  _T_761; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14691.8]
+  wire  _T_762; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@14696.8]
+  wire  _T_764; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14698.8]
+  wire  _T_765; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14699.8]
+  wire  _T_775; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@14722.6]
+  wire  _T_795; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@14763.8]
+  wire  _T_797; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14765.8]
+  wire  _T_798; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14766.8]
+  wire  _T_804; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@14781.6]
+  wire  _T_821; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@14816.6]
+  wire  _T_839; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@14852.6]
+  wire  _T_868; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@14912.4]
+  wire [9:0] _T_873; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@14917.4]
+  wire  _T_874; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@14918.4]
+  wire  _T_875; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@14919.4]
+  reg [9:0] _T_878; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@14921.4]
+  reg [31:0] _RAND_0;
+  wire [10:0] _T_879; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@14922.4]
+  wire [10:0] _T_880; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@14923.4]
+  wire [9:0] _T_881; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@14924.4]
+  wire  _T_882; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@14925.4]
+  reg [2:0] _T_891; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@14936.4]
+  reg [31:0] _RAND_1;
+  reg [2:0] _T_893; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@14937.4]
+  reg [31:0] _RAND_2;
+  reg [3:0] _T_895; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@14938.4]
+  reg [31:0] _RAND_3;
+  reg  _T_897; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@14939.4]
+  reg [31:0] _RAND_4;
+  reg [29:0] _T_899; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@14940.4]
+  reg [31:0] _RAND_5;
+  wire  _T_900; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@14941.4]
+  wire  _T_901; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@14942.4]
+  wire  _T_902; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@14944.6]
+  wire  _T_904; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14946.6]
+  wire  _T_905; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14947.6]
+  wire  _T_906; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@14952.6]
+  wire  _T_908; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14954.6]
+  wire  _T_909; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14955.6]
+  wire  _T_910; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@14960.6]
+  wire  _T_912; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14962.6]
+  wire  _T_913; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14963.6]
+  wire  _T_914; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@14968.6]
+  wire  _T_916; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14970.6]
+  wire  _T_917; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14971.6]
+  wire  _T_918; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@14976.6]
+  wire  _T_920; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14978.6]
+  wire  _T_921; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14979.6]
+  wire  _T_923; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@14986.4]
+  wire  _T_924; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@14994.4]
+  wire [26:0] _T_926; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@14996.4]
+  wire [11:0] _T_927; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@14997.4]
+  wire [11:0] _T_928; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@14998.4]
+  wire [9:0] _T_929; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@14999.4]
+  wire  _T_930; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@15000.4]
+  reg [9:0] _T_933; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@15002.4]
+  reg [31:0] _RAND_6;
+  wire [10:0] _T_934; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15003.4]
+  wire [10:0] _T_935; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15004.4]
+  wire [9:0] _T_936; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15005.4]
+  wire  _T_937; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15006.4]
+  reg [2:0] _T_946; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@15017.4]
+  reg [31:0] _RAND_7;
+  reg [1:0] _T_948; // @[Monitor.scala 419:22:shc.marmotcaravel.MarmotCaravelConfig.fir@15018.4]
+  reg [31:0] _RAND_8;
+  reg [3:0] _T_950; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@15019.4]
+  reg [31:0] _RAND_9;
+  reg  _T_952; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@15020.4]
+  reg [31:0] _RAND_10;
+  reg  _T_954; // @[Monitor.scala 422:22:shc.marmotcaravel.MarmotCaravelConfig.fir@15021.4]
+  reg [31:0] _RAND_11;
+  reg  _T_956; // @[Monitor.scala 423:22:shc.marmotcaravel.MarmotCaravelConfig.fir@15022.4]
+  reg [31:0] _RAND_12;
+  wire  _T_957; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@15023.4]
+  wire  _T_958; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@15024.4]
+  wire  _T_959; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@15026.6]
+  wire  _T_961; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15028.6]
+  wire  _T_962; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15029.6]
+  wire  _T_963; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@15034.6]
+  wire  _T_965; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15036.6]
+  wire  _T_966; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15037.6]
+  wire  _T_967; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@15042.6]
+  wire  _T_969; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15044.6]
+  wire  _T_970; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15045.6]
+  wire  _T_971; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@15050.6]
+  wire  _T_973; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15052.6]
+  wire  _T_974; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15053.6]
+  wire  _T_975; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@15058.6]
+  wire  _T_977; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15060.6]
+  wire  _T_978; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15061.6]
+  wire  _T_979; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@15066.6]
+  wire  _T_981; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15068.6]
+  wire  _T_982; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15069.6]
+  wire  _T_984; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@15076.4]
+  reg [1:0] _T_986; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@15085.4]
+  reg [31:0] _RAND_13;
+  reg [9:0] _T_997; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@15095.4]
+  reg [31:0] _RAND_14;
+  wire [10:0] _T_998; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15096.4]
+  wire [10:0] _T_999; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15097.4]
+  wire [9:0] _T_1000; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15098.4]
+  wire  _T_1001; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15099.4]
+  reg [9:0] _T_1018; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@15118.4]
+  reg [31:0] _RAND_15;
+  wire [10:0] _T_1019; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15119.4]
+  wire [10:0] _T_1020; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15120.4]
+  wire [9:0] _T_1021; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15121.4]
+  wire  _T_1022; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15122.4]
+  wire  _T_1033; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@15137.4]
+  wire [1:0] _T_1035; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@15140.6]
+  wire [1:0] _T_1036; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@15142.6]
+  wire  _T_1037; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@15143.6]
+  wire  _T_1038; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15144.6]
+  wire  _T_1040; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@15146.6]
+  wire  _T_1041; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@15147.6]
+  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@15139.4]
+  wire  _T_1046; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@15158.4]
+  wire  _T_1048; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@15160.4]
+  wire  _T_1049; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@15161.4]
+  wire [1:0] _T_1050; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@15163.6]
+  wire [1:0] _T_1051; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@15165.6]
+  wire [1:0] _T_1052; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@15166.6]
+  wire  _T_1053; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@15167.6]
+  wire  _T_1055; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@15169.6]
+  wire  _T_1056; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@15170.6]
+  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@15162.4]
+  wire  _T_1057; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@15176.4]
+  wire  _T_1058; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@15177.4]
+  wire  _T_1059; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@15178.4]
+  wire  _T_1060; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@15179.4]
+  wire  _T_1062; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@15181.4]
+  wire  _T_1063; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@15182.4]
+  wire [1:0] _T_1064; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@15187.4]
+  wire [1:0] _T_1065; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@15188.4]
+  wire [1:0] _T_1066; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@15189.4]
+  reg [31:0] _T_1068; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@15191.4]
+  reg [31:0] _RAND_16;
+  wire  _T_1069; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@15194.4]
+  wire  _T_1070; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@15195.4]
+  wire  _T_1071; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@15196.4]
+  wire  _T_1072; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@15197.4]
+  wire  _T_1073; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@15198.4]
+  wire  _T_1074; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@15199.4]
+  wire  _T_1076; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@15201.4]
+  wire  _T_1077; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@15202.4]
+  wire [31:0] _T_1079; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@15208.4]
+  wire  _T_1082; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@15212.4]
+  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13831.10]
+  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13945.10]
+  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14075.10]
+  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14183.10]
+  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14283.10]
+  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14380.10]
+  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14475.10]
+  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14570.10]
+  wire  _GEN_115; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14628.10]
+  wire  _GEN_125; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14670.10]
+  wire  _GEN_137; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14728.10]
+  wire  _GEN_149; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14787.10]
+  wire  _GEN_155; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14822.10]
+  wire  _GEN_161; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14858.10]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@15192.4]
+    .out(plusarg_reader_out)
+  );
+  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@13706.6]
+  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@13711.6]
+  assign _T_32 = 27'hfff << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@13713.6]
+  assign _T_33 = _T_32[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@13714.6]
+  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@13715.6]
+  assign _GEN_18 = {{18'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@13716.6]
+  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@13716.6]
+  assign _T_36 = _T_35 == 30'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@13717.6]
+  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@13719.6]
+  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@13720.6]
+  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@13722.6]
+  assign _T_42 = io_in_a_bits_size >= 4'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@13723.6]
+  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@13724.6]
+  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@13725.6]
+  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@13726.6]
+  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@13728.6]
+  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@13729.6]
+  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@13731.6]
+  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@13732.6]
+  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@13733.6]
+  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@13734.6]
+  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@13735.6]
+  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@13736.6]
+  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@13737.6]
+  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@13738.6]
+  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@13739.6]
+  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@13740.6]
+  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@13741.6]
+  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@13742.6]
+  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@13743.6]
+  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@13744.6]
+  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@13745.6]
+  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@13746.6]
+  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@13747.6]
+  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@13748.6]
+  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@13749.6]
+  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@13750.6]
+  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13775.6]
+  assign _T_92 = io_in_a_bits_address ^ 30'h3000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@13778.8]
+  assign _T_93 = {1'b0,$signed(_T_92)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@13779.8]
+  assign _T_94 = $signed(_T_93) & $signed(-31'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@13780.8]
+  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@13781.8]
+  assign _T_96 = $signed(_T_95) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@13782.8]
+  assign _T_97 = io_in_a_bits_address ^ 30'h10013000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@13783.8]
+  assign _T_98 = {1'b0,$signed(_T_97)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@13784.8]
+  assign _T_99 = $signed(_T_98) & $signed(-31'sh21000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@13785.8]
+  assign _T_100 = $signed(_T_99); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@13786.8]
+  assign _T_101 = $signed(_T_100) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@13787.8]
+  assign _T_102 = io_in_a_bits_address ^ 30'h10023000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@13788.8]
+  assign _T_103 = {1'b0,$signed(_T_102)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@13789.8]
+  assign _T_104 = $signed(_T_103) & $signed(-31'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@13790.8]
+  assign _T_105 = $signed(_T_104); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@13791.8]
+  assign _T_106 = $signed(_T_105) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@13792.8]
+  assign _T_107 = io_in_a_bits_address ^ 30'h10043000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@13793.8]
+  assign _T_108 = {1'b0,$signed(_T_107)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@13794.8]
+  assign _T_109 = $signed(_T_108) & $signed(-31'sh11000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@13795.8]
+  assign _T_110 = $signed(_T_109); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@13796.8]
+  assign _T_111 = $signed(_T_110) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@13797.8]
+  assign _T_112 = io_in_a_bits_address ^ 30'h10014000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@13798.8]
+  assign _T_113 = {1'b0,$signed(_T_112)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@13799.8]
+  assign _T_114 = $signed(_T_113) & $signed(-31'sh21000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@13800.8]
+  assign _T_115 = $signed(_T_114); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@13801.8]
+  assign _T_116 = $signed(_T_115) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@13802.8]
+  assign _T_117 = io_in_a_bits_address ^ 30'h20000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@13803.8]
+  assign _T_118 = {1'b0,$signed(_T_117)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@13804.8]
+  assign _T_119 = $signed(_T_118) & $signed(-31'sh20000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@13805.8]
+  assign _T_120 = $signed(_T_119); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@13806.8]
+  assign _T_121 = $signed(_T_120) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@13807.8]
+  assign _T_122 = io_in_a_bits_address ^ 30'h10024000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@13808.8]
+  assign _T_123 = {1'b0,$signed(_T_122)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@13809.8]
+  assign _T_124 = $signed(_T_123) & $signed(-31'sh3000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@13810.8]
+  assign _T_125 = $signed(_T_124); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@13811.8]
+  assign _T_126 = $signed(_T_125) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@13812.8]
+  assign _T_127 = io_in_a_bits_address ^ 30'h10012000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@13813.8]
+  assign _T_128 = {1'b0,$signed(_T_127)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@13814.8]
+  assign _T_129 = $signed(_T_128) & $signed(-31'sh5000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@13815.8]
+  assign _T_130 = $signed(_T_129); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@13816.8]
+  assign _T_131 = $signed(_T_130) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@13817.8]
+  assign _T_132 = _T_96 | _T_101; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@13818.8]
+  assign _T_133 = _T_132 | _T_106; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@13819.8]
+  assign _T_134 = _T_133 | _T_111; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@13820.8]
+  assign _T_135 = _T_134 | _T_116; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@13821.8]
+  assign _T_143 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13829.8]
+  assign _T_148 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13842.8]
+  assign _T_149 = _T_148 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13843.8]
+  assign _T_152 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13850.8]
+  assign _T_153 = _T_152 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13851.8]
+  assign _T_155 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13857.8]
+  assign _T_156 = _T_155 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13858.8]
+  assign _T_157 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@13863.8]
+  assign _T_159 = _T_157 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13865.8]
+  assign _T_160 = _T_159 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13866.8]
+  assign _T_161 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@13871.8]
+  assign _T_162 = _T_161 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@13872.8]
+  assign _T_164 = _T_162 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13874.8]
+  assign _T_165 = _T_164 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13875.8]
+  assign _T_166 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@13880.8]
+  assign _T_168 = _T_166 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13882.8]
+  assign _T_169 = _T_168 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13883.8]
+  assign _T_170 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13889.6]
+  assign _T_241 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@13985.8]
+  assign _T_243 = _T_241 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13987.8]
+  assign _T_244 = _T_243 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13988.8]
+  assign _T_254 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@14011.6]
+  assign _T_256 = io_in_a_bits_size <= 4'hc; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@14014.8]
+  assign _T_264 = _T_256 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@14022.8]
+  assign _T_266 = io_in_a_bits_size <= 4'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@14024.8]
+  assign _T_304 = _T_101 | _T_106; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@14062.8]
+  assign _T_305 = _T_304 | _T_111; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@14063.8]
+  assign _T_306 = _T_305 | _T_116; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@14064.8]
+  assign _T_307 = _T_306 | _T_121; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@14065.8]
+  assign _T_308 = _T_307 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@14066.8]
+  assign _T_309 = _T_308 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@14067.8]
+  assign _T_310 = _T_266 & _T_309; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@14068.8]
+  assign _T_312 = _T_264 | _T_310; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@14070.8]
+  assign _T_314 = _T_312 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14072.8]
+  assign _T_315 = _T_314 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14073.8]
+  assign _T_322 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@14092.8]
+  assign _T_324 = _T_322 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14094.8]
+  assign _T_325 = _T_324 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14095.8]
+  assign _T_326 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@14100.8]
+  assign _T_328 = _T_326 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14102.8]
+  assign _T_329 = _T_328 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14103.8]
+  assign _T_334 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@14117.6]
+  assign _T_382 = _T_306 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@14166.8]
+  assign _T_383 = _T_382 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@14167.8]
+  assign _T_384 = _T_266 & _T_383; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@14168.8]
+  assign _T_393 = _T_264 | _T_384; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@14177.8]
+  assign _T_396 = _T_393 | reset; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14180.8]
+  assign _T_397 = _T_396 == 1'h0; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14181.8]
+  assign _T_412 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@14217.6]
+  assign _T_486 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@14308.8]
+  assign _T_487 = io_in_a_bits_mask & _T_486; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@14309.8]
+  assign _T_488 = _T_487 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@14310.8]
+  assign _T_490 = _T_488 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14312.8]
+  assign _T_491 = _T_490 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14313.8]
+  assign _T_492 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@14319.6]
+  assign _T_494 = io_in_a_bits_size <= 4'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@14322.8]
+  assign _T_536 = _T_135 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@14364.8]
+  assign _T_537 = _T_536 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@14365.8]
+  assign _T_538 = _T_494 & _T_537; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@14366.8]
+  assign _T_549 = _T_538 | reset; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14377.8]
+  assign _T_550 = _T_549 == 1'h0; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14378.8]
+  assign _T_557 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@14397.8]
+  assign _T_559 = _T_557 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14399.8]
+  assign _T_560 = _T_559 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14400.8]
+  assign _T_565 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@14414.6]
+  assign _T_630 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@14492.8]
+  assign _T_632 = _T_630 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14494.8]
+  assign _T_633 = _T_632 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14495.8]
+  assign _T_638 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@14509.6]
+  assign _T_695 = _T_264 | reset; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14567.8]
+  assign _T_696 = _T_695 == 1'h0; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14568.8]
+  assign _T_711 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@14606.6]
+  assign _T_713 = _T_711 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@14608.6]
+  assign _T_714 = _T_713 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@14609.6]
+  assign _T_716 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@14615.6]
+  assign _T_725 = io_in_d_bits_source | _T_716; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@14620.6]
+  assign _T_727 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@14622.6]
+  assign _T_729 = _T_725 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14625.8]
+  assign _T_730 = _T_729 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14626.8]
+  assign _T_731 = io_in_d_bits_size >= 4'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@14631.8]
+  assign _T_733 = _T_731 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14633.8]
+  assign _T_734 = _T_733 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14634.8]
+  assign _T_735 = io_in_d_bits_param == 2'h0; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@14639.8]
+  assign _T_737 = _T_735 | reset; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14641.8]
+  assign _T_738 = _T_737 == 1'h0; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14642.8]
+  assign _T_739 = io_in_d_bits_corrupt == 1'h0; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@14647.8]
+  assign _T_741 = _T_739 | reset; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14649.8]
+  assign _T_742 = _T_741 == 1'h0; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14650.8]
+  assign _T_743 = io_in_d_bits_denied == 1'h0; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@14655.8]
+  assign _T_745 = _T_743 | reset; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14657.8]
+  assign _T_746 = _T_745 == 1'h0; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14658.8]
+  assign _T_747 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@14664.6]
+  assign _T_758 = io_in_d_bits_param <= 2'h2; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@14688.8]
+  assign _T_760 = _T_758 | reset; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14690.8]
+  assign _T_761 = _T_760 == 1'h0; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14691.8]
+  assign _T_762 = io_in_d_bits_param != 2'h2; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@14696.8]
+  assign _T_764 = _T_762 | reset; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14698.8]
+  assign _T_765 = _T_764 == 1'h0; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14699.8]
+  assign _T_775 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@14722.6]
+  assign _T_795 = _T_743 | io_in_d_bits_corrupt; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@14763.8]
+  assign _T_797 = _T_795 | reset; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14765.8]
+  assign _T_798 = _T_797 == 1'h0; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14766.8]
+  assign _T_804 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@14781.6]
+  assign _T_821 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@14816.6]
+  assign _T_839 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@14852.6]
+  assign _T_868 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@14912.4]
+  assign _T_873 = _T_34[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@14917.4]
+  assign _T_874 = io_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@14918.4]
+  assign _T_875 = _T_874 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@14919.4]
+  assign _T_879 = _T_878 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@14922.4]
+  assign _T_880 = $unsigned(_T_879); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@14923.4]
+  assign _T_881 = _T_880[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@14924.4]
+  assign _T_882 = _T_878 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@14925.4]
+  assign _T_900 = _T_882 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@14941.4]
+  assign _T_901 = io_in_a_valid & _T_900; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@14942.4]
+  assign _T_902 = io_in_a_bits_opcode == _T_891; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@14944.6]
+  assign _T_904 = _T_902 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14946.6]
+  assign _T_905 = _T_904 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14947.6]
+  assign _T_906 = io_in_a_bits_param == _T_893; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@14952.6]
+  assign _T_908 = _T_906 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14954.6]
+  assign _T_909 = _T_908 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14955.6]
+  assign _T_910 = io_in_a_bits_size == _T_895; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@14960.6]
+  assign _T_912 = _T_910 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14962.6]
+  assign _T_913 = _T_912 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14963.6]
+  assign _T_914 = io_in_a_bits_source == _T_897; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@14968.6]
+  assign _T_916 = _T_914 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14970.6]
+  assign _T_917 = _T_916 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14971.6]
+  assign _T_918 = io_in_a_bits_address == _T_899; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@14976.6]
+  assign _T_920 = _T_918 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14978.6]
+  assign _T_921 = _T_920 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14979.6]
+  assign _T_923 = _T_868 & _T_882; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@14986.4]
+  assign _T_924 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@14994.4]
+  assign _T_926 = 27'hfff << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@14996.4]
+  assign _T_927 = _T_926[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@14997.4]
+  assign _T_928 = ~ _T_927; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@14998.4]
+  assign _T_929 = _T_928[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@14999.4]
+  assign _T_930 = io_in_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@15000.4]
+  assign _T_934 = _T_933 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15003.4]
+  assign _T_935 = $unsigned(_T_934); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15004.4]
+  assign _T_936 = _T_935[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15005.4]
+  assign _T_937 = _T_933 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15006.4]
+  assign _T_957 = _T_937 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@15023.4]
+  assign _T_958 = io_in_d_valid & _T_957; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@15024.4]
+  assign _T_959 = io_in_d_bits_opcode == _T_946; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@15026.6]
+  assign _T_961 = _T_959 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15028.6]
+  assign _T_962 = _T_961 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15029.6]
+  assign _T_963 = io_in_d_bits_param == _T_948; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@15034.6]
+  assign _T_965 = _T_963 | reset; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15036.6]
+  assign _T_966 = _T_965 == 1'h0; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15037.6]
+  assign _T_967 = io_in_d_bits_size == _T_950; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@15042.6]
+  assign _T_969 = _T_967 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15044.6]
+  assign _T_970 = _T_969 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15045.6]
+  assign _T_971 = io_in_d_bits_source == _T_952; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@15050.6]
+  assign _T_973 = _T_971 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15052.6]
+  assign _T_974 = _T_973 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15053.6]
+  assign _T_975 = io_in_d_bits_sink == _T_954; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@15058.6]
+  assign _T_977 = _T_975 | reset; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15060.6]
+  assign _T_978 = _T_977 == 1'h0; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15061.6]
+  assign _T_979 = io_in_d_bits_denied == _T_956; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@15066.6]
+  assign _T_981 = _T_979 | reset; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15068.6]
+  assign _T_982 = _T_981 == 1'h0; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15069.6]
+  assign _T_984 = _T_924 & _T_937; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@15076.4]
+  assign _T_998 = _T_997 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15096.4]
+  assign _T_999 = $unsigned(_T_998); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15097.4]
+  assign _T_1000 = _T_999[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15098.4]
+  assign _T_1001 = _T_997 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15099.4]
+  assign _T_1019 = _T_1018 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15119.4]
+  assign _T_1020 = $unsigned(_T_1019); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15120.4]
+  assign _T_1021 = _T_1020[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15121.4]
+  assign _T_1022 = _T_1018 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15122.4]
+  assign _T_1033 = _T_868 & _T_1001; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@15137.4]
+  assign _T_1035 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@15140.6]
+  assign _T_1036 = _T_986 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@15142.6]
+  assign _T_1037 = _T_1036[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@15143.6]
+  assign _T_1038 = _T_1037 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15144.6]
+  assign _T_1040 = _T_1038 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@15146.6]
+  assign _T_1041 = _T_1040 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@15147.6]
+  assign _GEN_15 = _T_1033 ? _T_1035 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@15139.4]
+  assign _T_1046 = _T_924 & _T_1022; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@15158.4]
+  assign _T_1048 = _T_727 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@15160.4]
+  assign _T_1049 = _T_1046 & _T_1048; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@15161.4]
+  assign _T_1050 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@15163.6]
+  assign _T_1051 = _GEN_15 | _T_986; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@15165.6]
+  assign _T_1052 = _T_1051 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@15166.6]
+  assign _T_1053 = _T_1052[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@15167.6]
+  assign _T_1055 = _T_1053 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@15169.6]
+  assign _T_1056 = _T_1055 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@15170.6]
+  assign _GEN_16 = _T_1049 ? _T_1050 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@15162.4]
+  assign _T_1057 = _GEN_15 != _GEN_16; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@15176.4]
+  assign _T_1058 = _GEN_15 != 2'h0; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@15177.4]
+  assign _T_1059 = _T_1058 == 1'h0; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@15178.4]
+  assign _T_1060 = _T_1057 | _T_1059; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@15179.4]
+  assign _T_1062 = _T_1060 | reset; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@15181.4]
+  assign _T_1063 = _T_1062 == 1'h0; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@15182.4]
+  assign _T_1064 = _T_986 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@15187.4]
+  assign _T_1065 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@15188.4]
+  assign _T_1066 = _T_1064 & _T_1065; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@15189.4]
+  assign _T_1069 = _T_986 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@15194.4]
+  assign _T_1070 = _T_1069 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@15195.4]
+  assign _T_1071 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@15196.4]
+  assign _T_1072 = _T_1070 | _T_1071; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@15197.4]
+  assign _T_1073 = _T_1068 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@15198.4]
+  assign _T_1074 = _T_1072 | _T_1073; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@15199.4]
+  assign _T_1076 = _T_1074 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@15201.4]
+  assign _T_1077 = _T_1076 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@15202.4]
+  assign _T_1079 = _T_1068 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@15208.4]
+  assign _T_1082 = _T_868 | _T_924; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@15212.4]
+  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13831.10]
+  assign _GEN_35 = io_in_a_valid & _T_170; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13945.10]
+  assign _GEN_53 = io_in_a_valid & _T_254; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14075.10]
+  assign _GEN_65 = io_in_a_valid & _T_334; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14183.10]
+  assign _GEN_75 = io_in_a_valid & _T_412; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14283.10]
+  assign _GEN_85 = io_in_a_valid & _T_492; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14380.10]
+  assign _GEN_95 = io_in_a_valid & _T_565; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14475.10]
+  assign _GEN_105 = io_in_a_valid & _T_638; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14570.10]
+  assign _GEN_115 = io_in_d_valid & _T_727; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14628.10]
+  assign _GEN_125 = io_in_d_valid & _T_747; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14670.10]
+  assign _GEN_137 = io_in_d_valid & _T_775; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14728.10]
+  assign _GEN_149 = io_in_d_valid & _T_804; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14787.10]
+  assign _GEN_155 = io_in_d_valid & _T_821; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14822.10]
+  assign _GEN_161 = io_in_d_valid & _T_839; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14858.10]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  _T_878 = _RAND_0[9:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  _T_891 = _RAND_1[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  _T_893 = _RAND_2[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  _T_895 = _RAND_3[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  _T_897 = _RAND_4[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  _T_899 = _RAND_5[29:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {1{`RANDOM}};
+  _T_933 = _RAND_6[9:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {1{`RANDOM}};
+  _T_946 = _RAND_7[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_8 = {1{`RANDOM}};
+  _T_948 = _RAND_8[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_9 = {1{`RANDOM}};
+  _T_950 = _RAND_9[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_10 = {1{`RANDOM}};
+  _T_952 = _RAND_10[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_11 = {1{`RANDOM}};
+  _T_954 = _RAND_11[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_12 = {1{`RANDOM}};
+  _T_956 = _RAND_12[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_13 = {1{`RANDOM}};
+  _T_986 = _RAND_13[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_14 = {1{`RANDOM}};
+  _T_997 = _RAND_14[9:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_15 = {1{`RANDOM}};
+  _T_1018 = _RAND_15[9:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_16 = {1{`RANDOM}};
+  _T_1068 = _RAND_16[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      _T_878 <= 10'h0;
+    end else begin
+      if (_T_868) begin
+        if (_T_882) begin
+          if (_T_875) begin
+            _T_878 <= _T_873;
+          end else begin
+            _T_878 <= 10'h0;
+          end
+        end else begin
+          _T_878 <= _T_881;
+        end
+      end
+    end
+    if (_T_923) begin
+      _T_891 <= io_in_a_bits_opcode;
+    end
+    if (_T_923) begin
+      _T_893 <= io_in_a_bits_param;
+    end
+    if (_T_923) begin
+      _T_895 <= io_in_a_bits_size;
+    end
+    if (_T_923) begin
+      _T_897 <= io_in_a_bits_source;
+    end
+    if (_T_923) begin
+      _T_899 <= io_in_a_bits_address;
+    end
+    if (reset) begin
+      _T_933 <= 10'h0;
+    end else begin
+      if (_T_924) begin
+        if (_T_937) begin
+          if (_T_930) begin
+            _T_933 <= _T_929;
+          end else begin
+            _T_933 <= 10'h0;
+          end
+        end else begin
+          _T_933 <= _T_936;
+        end
+      end
+    end
+    if (_T_984) begin
+      _T_946 <= io_in_d_bits_opcode;
+    end
+    if (_T_984) begin
+      _T_948 <= io_in_d_bits_param;
+    end
+    if (_T_984) begin
+      _T_950 <= io_in_d_bits_size;
+    end
+    if (_T_984) begin
+      _T_952 <= io_in_d_bits_source;
+    end
+    if (_T_984) begin
+      _T_954 <= io_in_d_bits_sink;
+    end
+    if (_T_984) begin
+      _T_956 <= io_in_d_bits_denied;
+    end
+    if (reset) begin
+      _T_986 <= 2'h0;
+    end else begin
+      _T_986 <= _T_1066;
+    end
+    if (reset) begin
+      _T_997 <= 10'h0;
+    end else begin
+      if (_T_868) begin
+        if (_T_1001) begin
+          if (_T_875) begin
+            _T_997 <= _T_873;
+          end else begin
+            _T_997 <= 10'h0;
+          end
+        end else begin
+          _T_997 <= _T_1000;
+        end
+      end
+    end
+    if (reset) begin
+      _T_1018 <= 10'h0;
+    end else begin
+      if (_T_924) begin
+        if (_T_1022) begin
+          if (_T_930) begin
+            _T_1018 <= _T_929;
+          end else begin
+            _T_1018 <= 10'h0;
+          end
+        end else begin
+          _T_1018 <= _T_1021;
+        end
+      end
+    end
+    if (reset) begin
+      _T_1068 <= 32'h0;
+    end else begin
+      if (_T_1082) begin
+        _T_1068 <= 32'h0;
+      end else begin
+        _T_1068 <= _T_1079;
+      end
+    end
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@13702.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@13703.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@13772.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@13773.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_143) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13831.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_143) begin
+          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13832.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_143) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13838.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_143) begin
+          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13839.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_149) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13845.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_149) begin
+          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13846.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_153) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13853.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_153) begin
+          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13854.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_156) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13860.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_156) begin
+          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13861.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_160) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13868.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_160) begin
+          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13869.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_165) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13877.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_165) begin
+          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13878.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_169) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13885.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_169) begin
+          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13886.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_143) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13945.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_143) begin
+          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13946.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_143) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13952.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_143) begin
+          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13953.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_149) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13959.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_149) begin
+          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13960.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_153) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13967.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_153) begin
+          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13968.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_156) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13974.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_156) begin
+          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13975.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_160) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13982.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_160) begin
+          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13983.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_244) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13990.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_244) begin
+          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13991.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_165) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13999.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_165) begin
+          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14000.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_169) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14007.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_169) begin
+          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14008.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_315) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14075.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_315) begin
+          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14076.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_149) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14082.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_149) begin
+          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14083.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_156) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14089.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_156) begin
+          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14090.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_325) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14097.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_325) begin
+          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14098.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_329) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14105.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_329) begin
+          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14106.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_169) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14113.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_169) begin
+          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14114.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_397) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14183.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_397) begin
+          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14184.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_149) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14190.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_149) begin
+          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14191.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_156) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14197.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_156) begin
+          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14198.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_325) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14205.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_325) begin
+          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14206.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_329) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14213.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_329) begin
+          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14214.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_397) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14283.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_397) begin
+          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14284.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_149) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14290.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_149) begin
+          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14291.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_156) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14297.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_156) begin
+          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14298.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_325) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14305.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_325) begin
+          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14306.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_491) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14315.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_491) begin
+          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14316.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_550) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14380.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_550) begin
+          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14381.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_149) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14387.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_149) begin
+          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14388.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_156) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14394.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_156) begin
+          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14395.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_560) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14402.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_560) begin
+          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14403.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_329) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14410.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_329) begin
+          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14411.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_550) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14475.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_550) begin
+          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14476.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_149) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14482.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_149) begin
+          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14483.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_156) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14489.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_156) begin
+          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14490.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_633) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14497.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_633) begin
+          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14498.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_329) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14505.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_329) begin
+          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14506.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_696) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14570.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_696) begin
+          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14571.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_149) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14577.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_149) begin
+          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14578.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_156) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14584.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_156) begin
+          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14585.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_329) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14592.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_329) begin
+          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14593.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_169) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14600.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_169) begin
+          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14601.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_714) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@14611.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_714) begin
+          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@14612.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_730) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14628.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_730) begin
+          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14629.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_734) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14636.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_734) begin
+          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14637.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_738) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14644.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_738) begin
+          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14645.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_742) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14652.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_742) begin
+          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14653.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_746) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14660.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_746) begin
+          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14661.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_730) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14670.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_730) begin
+          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14671.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_143) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14677.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_143) begin
+          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14678.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_734) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14685.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_734) begin
+          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14686.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_761) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14693.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_761) begin
+          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14694.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_765) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14701.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_765) begin
+          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14702.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_742) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14709.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_742) begin
+          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14710.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14718.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14719.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_137 & _T_730) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14728.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_137 & _T_730) begin
+          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14729.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_137 & _T_143) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14735.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_137 & _T_143) begin
+          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14736.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_137 & _T_734) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14743.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_137 & _T_734) begin
+          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14744.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_137 & _T_761) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14751.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_137 & _T_761) begin
+          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14752.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_137 & _T_765) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14759.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_137 & _T_765) begin
+          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14760.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_137 & _T_798) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14768.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_137 & _T_798) begin
+          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14769.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14777.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14778.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_149 & _T_730) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14787.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_149 & _T_730) begin
+          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14788.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_149 & _T_738) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14795.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_149 & _T_738) begin
+          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14796.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_149 & _T_742) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14803.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_149 & _T_742) begin
+          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14804.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14812.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14813.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_155 & _T_730) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14822.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_155 & _T_730) begin
+          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14823.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_155 & _T_738) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14830.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_155 & _T_738) begin
+          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14831.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_155 & _T_798) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14839.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_155 & _T_798) begin
+          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14840.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14848.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14849.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_161 & _T_730) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14858.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_161 & _T_730) begin
+          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14859.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_161 & _T_738) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14866.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_161 & _T_738) begin
+          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14867.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_161 & _T_742) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14874.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_161 & _T_742) begin
+          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14875.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14883.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14884.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14893.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14894.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14901.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14902.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14909.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14910.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_901 & _T_905) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14949.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_901 & _T_905) begin
+          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14950.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_901 & _T_909) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14957.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_901 & _T_909) begin
+          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14958.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_901 & _T_913) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14965.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_901 & _T_913) begin
+          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14966.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_901 & _T_917) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14973.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_901 & _T_917) begin
+          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14974.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_901 & _T_921) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14981.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_901 & _T_921) begin
+          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14982.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_958 & _T_962) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15031.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_958 & _T_962) begin
+          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15032.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_958 & _T_966) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15039.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_958 & _T_966) begin
+          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15040.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_958 & _T_970) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15047.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_958 & _T_970) begin
+          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15048.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_958 & _T_974) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15055.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_958 & _T_974) begin
+          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15056.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_958 & _T_978) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15063.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_958 & _T_978) begin
+          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15064.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_958 & _T_982) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15071.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_958 & _T_982) begin
+          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15072.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1033 & _T_1041) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@15149.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1033 & _T_1041) begin
+          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@15150.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1049 & _T_1056) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@15172.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1049 & _T_1056) begin
+          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@15173.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1063) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' and 'D' concurrent, despite minlatency 4 (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:471 assert(a_set =/= d_clr || !a_set.orR, s\"'A' and 'D' concurrent, despite minlatency ${edge.manager.minLatency}\" + extra)\n"); // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@15184.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1063) begin
+          $fatal; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@15185.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1077) begin
+          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@15204.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1077) begin
+          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@15205.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+endmodule
+module TLWidthWidget( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15217.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15218.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15219.4]
+  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15220.4]
+  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15220.4]
+  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15220.4]
+  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15220.4]
+  input  [3:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15220.4]
+  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15220.4]
+  input  [29:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15220.4]
+  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15220.4]
+  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15220.4]
+  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15220.4]
+  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15220.4]
+  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15220.4]
+  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15220.4]
+  output [1:0]  auto_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15220.4]
+  output [3:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15220.4]
+  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15220.4]
+  output        auto_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15220.4]
+  output        auto_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15220.4]
+  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15220.4]
+  output        auto_in_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15220.4]
+  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15220.4]
+  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15220.4]
+  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15220.4]
+  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15220.4]
+  output [3:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15220.4]
+  output        auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15220.4]
+  output [29:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15220.4]
+  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15220.4]
+  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15220.4]
+  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15220.4]
+  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15220.4]
+  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15220.4]
+  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15220.4]
+  input  [1:0]  auto_out_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15220.4]
+  input  [3:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15220.4]
+  input         auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15220.4]
+  input         auto_out_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15220.4]
+  input         auto_out_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15220.4]
+  input  [31:0] auto_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15220.4]
+  input         auto_out_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15220.4]
+);
+  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15227.4]
+  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15227.4]
+  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15227.4]
+  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15227.4]
+  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15227.4]
+  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15227.4]
+  wire [3:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15227.4]
+  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15227.4]
+  wire [29:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15227.4]
+  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15227.4]
+  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15227.4]
+  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15227.4]
+  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15227.4]
+  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15227.4]
+  wire [1:0] TLMonitor_io_in_d_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15227.4]
+  wire [3:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15227.4]
+  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15227.4]
+  wire  TLMonitor_io_in_d_bits_sink; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15227.4]
+  wire  TLMonitor_io_in_d_bits_denied; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15227.4]
+  wire  TLMonitor_io_in_d_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15227.4]
+  TLMonitor_6 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15227.4]
+    .clock(TLMonitor_clock),
+    .reset(TLMonitor_reset),
+    .io_in_a_ready(TLMonitor_io_in_a_ready),
+    .io_in_a_valid(TLMonitor_io_in_a_valid),
+    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
+    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
+    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
+    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
+    .io_in_d_ready(TLMonitor_io_in_d_ready),
+    .io_in_d_valid(TLMonitor_io_in_d_valid),
+    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
+    .io_in_d_bits_param(TLMonitor_io_in_d_bits_param),
+    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
+    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source),
+    .io_in_d_bits_sink(TLMonitor_io_in_d_bits_sink),
+    .io_in_d_bits_denied(TLMonitor_io_in_d_bits_denied),
+    .io_in_d_bits_corrupt(TLMonitor_io_in_d_bits_corrupt)
+  );
+  assign auto_in_a_ready = auto_out_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@15267.4]
+  assign auto_in_d_valid = auto_out_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@15267.4]
+  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@15267.4]
+  assign auto_in_d_bits_param = auto_out_d_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@15267.4]
+  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@15267.4]
+  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@15267.4]
+  assign auto_in_d_bits_sink = auto_out_d_bits_sink; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@15267.4]
+  assign auto_in_d_bits_denied = auto_out_d_bits_denied; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@15267.4]
+  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@15267.4]
+  assign auto_in_d_bits_corrupt = auto_out_d_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@15267.4]
+  assign auto_out_a_valid = auto_in_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@15266.4]
+  assign auto_out_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@15266.4]
+  assign auto_out_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@15266.4]
+  assign auto_out_a_bits_size = auto_in_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@15266.4]
+  assign auto_out_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@15266.4]
+  assign auto_out_a_bits_address = auto_in_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@15266.4]
+  assign auto_out_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@15266.4]
+  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@15266.4]
+  assign auto_out_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@15266.4]
+  assign auto_out_d_ready = auto_in_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@15266.4]
+  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15229.4]
+  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15230.4]
+  assign TLMonitor_io_in_a_ready = auto_out_a_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@15263.4]
+  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@15263.4]
+  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@15263.4]
+  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@15263.4]
+  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@15263.4]
+  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@15263.4]
+  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@15263.4]
+  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@15263.4]
+  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@15263.4]
+  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@15263.4]
+  assign TLMonitor_io_in_d_valid = auto_out_d_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@15263.4]
+  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@15263.4]
+  assign TLMonitor_io_in_d_bits_param = auto_out_d_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@15263.4]
+  assign TLMonitor_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@15263.4]
+  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@15263.4]
+  assign TLMonitor_io_in_d_bits_sink = auto_out_d_bits_sink; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@15263.4]
+  assign TLMonitor_io_in_d_bits_denied = auto_out_d_bits_denied; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@15263.4]
+  assign TLMonitor_io_in_d_bits_corrupt = auto_out_d_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@15263.4]
+endmodule
+module SimpleLazyModule_1( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15277.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15278.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15279.4]
+  output        auto_widget_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15280.4]
+  input         auto_widget_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15280.4]
+  input  [2:0]  auto_widget_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15280.4]
+  input  [2:0]  auto_widget_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15280.4]
+  input  [3:0]  auto_widget_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15280.4]
+  input         auto_widget_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15280.4]
+  input  [29:0] auto_widget_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15280.4]
+  input  [3:0]  auto_widget_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15280.4]
+  input  [31:0] auto_widget_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15280.4]
+  input         auto_widget_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15280.4]
+  input         auto_widget_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15280.4]
+  output        auto_widget_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15280.4]
+  output [2:0]  auto_widget_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15280.4]
+  output [1:0]  auto_widget_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15280.4]
+  output [3:0]  auto_widget_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15280.4]
+  output        auto_widget_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15280.4]
+  output        auto_widget_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15280.4]
+  output        auto_widget_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15280.4]
+  output [31:0] auto_widget_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15280.4]
+  output        auto_widget_in_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15280.4]
+  input         auto_from_cbus_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15280.4]
+  output        auto_from_cbus_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15280.4]
+  output [2:0]  auto_from_cbus_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15280.4]
+  output [2:0]  auto_from_cbus_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15280.4]
+  output [3:0]  auto_from_cbus_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15280.4]
+  output        auto_from_cbus_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15280.4]
+  output [29:0] auto_from_cbus_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15280.4]
+  output [3:0]  auto_from_cbus_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15280.4]
+  output [31:0] auto_from_cbus_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15280.4]
+  output        auto_from_cbus_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15280.4]
+  output        auto_from_cbus_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15280.4]
+  input         auto_from_cbus_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15280.4]
+  input  [2:0]  auto_from_cbus_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15280.4]
+  input  [1:0]  auto_from_cbus_out_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15280.4]
+  input  [3:0]  auto_from_cbus_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15280.4]
+  input         auto_from_cbus_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15280.4]
+  input         auto_from_cbus_out_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15280.4]
+  input         auto_from_cbus_out_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15280.4]
+  input  [31:0] auto_from_cbus_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15280.4]
+  input         auto_from_cbus_out_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15280.4]
+);
+  wire  widget_clock; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15285.4]
+  wire  widget_reset; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15285.4]
+  wire  widget_auto_in_a_ready; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15285.4]
+  wire  widget_auto_in_a_valid; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15285.4]
+  wire [2:0] widget_auto_in_a_bits_opcode; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15285.4]
+  wire [2:0] widget_auto_in_a_bits_param; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15285.4]
+  wire [3:0] widget_auto_in_a_bits_size; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15285.4]
+  wire  widget_auto_in_a_bits_source; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15285.4]
+  wire [29:0] widget_auto_in_a_bits_address; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15285.4]
+  wire [3:0] widget_auto_in_a_bits_mask; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15285.4]
+  wire [31:0] widget_auto_in_a_bits_data; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15285.4]
+  wire  widget_auto_in_a_bits_corrupt; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15285.4]
+  wire  widget_auto_in_d_ready; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15285.4]
+  wire  widget_auto_in_d_valid; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15285.4]
+  wire [2:0] widget_auto_in_d_bits_opcode; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15285.4]
+  wire [1:0] widget_auto_in_d_bits_param; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15285.4]
+  wire [3:0] widget_auto_in_d_bits_size; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15285.4]
+  wire  widget_auto_in_d_bits_source; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15285.4]
+  wire  widget_auto_in_d_bits_sink; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15285.4]
+  wire  widget_auto_in_d_bits_denied; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15285.4]
+  wire [31:0] widget_auto_in_d_bits_data; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15285.4]
+  wire  widget_auto_in_d_bits_corrupt; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15285.4]
+  wire  widget_auto_out_a_ready; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15285.4]
+  wire  widget_auto_out_a_valid; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15285.4]
+  wire [2:0] widget_auto_out_a_bits_opcode; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15285.4]
+  wire [2:0] widget_auto_out_a_bits_param; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15285.4]
+  wire [3:0] widget_auto_out_a_bits_size; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15285.4]
+  wire  widget_auto_out_a_bits_source; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15285.4]
+  wire [29:0] widget_auto_out_a_bits_address; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15285.4]
+  wire [3:0] widget_auto_out_a_bits_mask; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15285.4]
+  wire [31:0] widget_auto_out_a_bits_data; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15285.4]
+  wire  widget_auto_out_a_bits_corrupt; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15285.4]
+  wire  widget_auto_out_d_ready; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15285.4]
+  wire  widget_auto_out_d_valid; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15285.4]
+  wire [2:0] widget_auto_out_d_bits_opcode; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15285.4]
+  wire [1:0] widget_auto_out_d_bits_param; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15285.4]
+  wire [3:0] widget_auto_out_d_bits_size; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15285.4]
+  wire  widget_auto_out_d_bits_source; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15285.4]
+  wire  widget_auto_out_d_bits_sink; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15285.4]
+  wire  widget_auto_out_d_bits_denied; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15285.4]
+  wire [31:0] widget_auto_out_d_bits_data; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15285.4]
+  wire  widget_auto_out_d_bits_corrupt; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15285.4]
+  TLWidthWidget widget ( // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15285.4]
+    .clock(widget_clock),
+    .reset(widget_reset),
+    .auto_in_a_ready(widget_auto_in_a_ready),
+    .auto_in_a_valid(widget_auto_in_a_valid),
+    .auto_in_a_bits_opcode(widget_auto_in_a_bits_opcode),
+    .auto_in_a_bits_param(widget_auto_in_a_bits_param),
+    .auto_in_a_bits_size(widget_auto_in_a_bits_size),
+    .auto_in_a_bits_source(widget_auto_in_a_bits_source),
+    .auto_in_a_bits_address(widget_auto_in_a_bits_address),
+    .auto_in_a_bits_mask(widget_auto_in_a_bits_mask),
+    .auto_in_a_bits_data(widget_auto_in_a_bits_data),
+    .auto_in_a_bits_corrupt(widget_auto_in_a_bits_corrupt),
+    .auto_in_d_ready(widget_auto_in_d_ready),
+    .auto_in_d_valid(widget_auto_in_d_valid),
+    .auto_in_d_bits_opcode(widget_auto_in_d_bits_opcode),
+    .auto_in_d_bits_param(widget_auto_in_d_bits_param),
+    .auto_in_d_bits_size(widget_auto_in_d_bits_size),
+    .auto_in_d_bits_source(widget_auto_in_d_bits_source),
+    .auto_in_d_bits_sink(widget_auto_in_d_bits_sink),
+    .auto_in_d_bits_denied(widget_auto_in_d_bits_denied),
+    .auto_in_d_bits_data(widget_auto_in_d_bits_data),
+    .auto_in_d_bits_corrupt(widget_auto_in_d_bits_corrupt),
+    .auto_out_a_ready(widget_auto_out_a_ready),
+    .auto_out_a_valid(widget_auto_out_a_valid),
+    .auto_out_a_bits_opcode(widget_auto_out_a_bits_opcode),
+    .auto_out_a_bits_param(widget_auto_out_a_bits_param),
+    .auto_out_a_bits_size(widget_auto_out_a_bits_size),
+    .auto_out_a_bits_source(widget_auto_out_a_bits_source),
+    .auto_out_a_bits_address(widget_auto_out_a_bits_address),
+    .auto_out_a_bits_mask(widget_auto_out_a_bits_mask),
+    .auto_out_a_bits_data(widget_auto_out_a_bits_data),
+    .auto_out_a_bits_corrupt(widget_auto_out_a_bits_corrupt),
+    .auto_out_d_ready(widget_auto_out_d_ready),
+    .auto_out_d_valid(widget_auto_out_d_valid),
+    .auto_out_d_bits_opcode(widget_auto_out_d_bits_opcode),
+    .auto_out_d_bits_param(widget_auto_out_d_bits_param),
+    .auto_out_d_bits_size(widget_auto_out_d_bits_size),
+    .auto_out_d_bits_source(widget_auto_out_d_bits_source),
+    .auto_out_d_bits_sink(widget_auto_out_d_bits_sink),
+    .auto_out_d_bits_denied(widget_auto_out_d_bits_denied),
+    .auto_out_d_bits_data(widget_auto_out_d_bits_data),
+    .auto_out_d_bits_corrupt(widget_auto_out_d_bits_corrupt)
+  );
+  assign auto_widget_in_a_ready = widget_auto_in_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@15298.4]
+  assign auto_widget_in_d_valid = widget_auto_in_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@15298.4]
+  assign auto_widget_in_d_bits_opcode = widget_auto_in_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@15298.4]
+  assign auto_widget_in_d_bits_param = widget_auto_in_d_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@15298.4]
+  assign auto_widget_in_d_bits_size = widget_auto_in_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@15298.4]
+  assign auto_widget_in_d_bits_source = widget_auto_in_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@15298.4]
+  assign auto_widget_in_d_bits_sink = widget_auto_in_d_bits_sink; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@15298.4]
+  assign auto_widget_in_d_bits_denied = widget_auto_in_d_bits_denied; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@15298.4]
+  assign auto_widget_in_d_bits_data = widget_auto_in_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@15298.4]
+  assign auto_widget_in_d_bits_corrupt = widget_auto_in_d_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@15298.4]
+  assign auto_from_cbus_out_a_valid = widget_auto_out_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@15297.4]
+  assign auto_from_cbus_out_a_bits_opcode = widget_auto_out_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@15297.4]
+  assign auto_from_cbus_out_a_bits_param = widget_auto_out_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@15297.4]
+  assign auto_from_cbus_out_a_bits_size = widget_auto_out_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@15297.4]
+  assign auto_from_cbus_out_a_bits_source = widget_auto_out_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@15297.4]
+  assign auto_from_cbus_out_a_bits_address = widget_auto_out_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@15297.4]
+  assign auto_from_cbus_out_a_bits_mask = widget_auto_out_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@15297.4]
+  assign auto_from_cbus_out_a_bits_data = widget_auto_out_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@15297.4]
+  assign auto_from_cbus_out_a_bits_corrupt = widget_auto_out_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@15297.4]
+  assign auto_from_cbus_out_d_ready = widget_auto_out_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@15297.4]
+  assign widget_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15289.4]
+  assign widget_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15290.4]
+  assign widget_auto_in_a_valid = auto_widget_in_a_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@15298.4]
+  assign widget_auto_in_a_bits_opcode = auto_widget_in_a_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@15298.4]
+  assign widget_auto_in_a_bits_param = auto_widget_in_a_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@15298.4]
+  assign widget_auto_in_a_bits_size = auto_widget_in_a_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@15298.4]
+  assign widget_auto_in_a_bits_source = auto_widget_in_a_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@15298.4]
+  assign widget_auto_in_a_bits_address = auto_widget_in_a_bits_address; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@15298.4]
+  assign widget_auto_in_a_bits_mask = auto_widget_in_a_bits_mask; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@15298.4]
+  assign widget_auto_in_a_bits_data = auto_widget_in_a_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@15298.4]
+  assign widget_auto_in_a_bits_corrupt = auto_widget_in_a_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@15298.4]
+  assign widget_auto_in_d_ready = auto_widget_in_d_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@15298.4]
+  assign widget_auto_out_a_ready = auto_from_cbus_out_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@15296.4]
+  assign widget_auto_out_d_valid = auto_from_cbus_out_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@15296.4]
+  assign widget_auto_out_d_bits_opcode = auto_from_cbus_out_d_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@15296.4]
+  assign widget_auto_out_d_bits_param = auto_from_cbus_out_d_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@15296.4]
+  assign widget_auto_out_d_bits_size = auto_from_cbus_out_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@15296.4]
+  assign widget_auto_out_d_bits_source = auto_from_cbus_out_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@15296.4]
+  assign widget_auto_out_d_bits_sink = auto_from_cbus_out_d_bits_sink; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@15296.4]
+  assign widget_auto_out_d_bits_denied = auto_from_cbus_out_d_bits_denied; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@15296.4]
+  assign widget_auto_out_d_bits_data = auto_from_cbus_out_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@15296.4]
+  assign widget_auto_out_d_bits_corrupt = auto_from_cbus_out_d_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@15296.4]
+endmodule
+module TLMonitor_7( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15307.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15308.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15309.4]
+  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15310.4]
+  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15310.4]
+  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15310.4]
+  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15310.4]
+  input  [2:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15310.4]
+  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15310.4]
+  input  [27:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15310.4]
+  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15310.4]
+  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15310.4]
+  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15310.4]
+  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15310.4]
+  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15310.4]
+  input  [2:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15310.4]
+  input         io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15310.4]
+);
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@16442.4]
+  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@15326.6]
+  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@15331.6]
+  wire [12:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@15333.6]
+  wire [5:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@15334.6]
+  wire [5:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@15335.6]
+  wire [27:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@15336.6]
+  wire [27:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@15336.6]
+  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@15337.6]
+  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@15339.6]
+  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@15340.6]
+  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@15342.6]
+  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@15343.6]
+  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@15344.6]
+  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@15345.6]
+  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@15346.6]
+  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@15348.6]
+  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@15349.6]
+  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@15351.6]
+  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@15352.6]
+  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@15353.6]
+  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@15354.6]
+  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@15355.6]
+  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@15356.6]
+  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@15357.6]
+  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@15358.6]
+  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@15359.6]
+  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@15360.6]
+  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@15361.6]
+  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@15362.6]
+  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@15363.6]
+  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@15364.6]
+  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@15365.6]
+  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@15366.6]
+  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@15367.6]
+  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@15368.6]
+  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@15369.6]
+  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@15370.6]
+  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15395.6]
+  wire [27:0] _T_92; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@15398.8]
+  wire [28:0] _T_93; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@15399.8]
+  wire [28:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@15400.8]
+  wire [28:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@15401.8]
+  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@15402.8]
+  wire  _T_101; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15407.8]
+  wire  _T_106; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15420.8]
+  wire  _T_107; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15421.8]
+  wire  _T_110; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15428.8]
+  wire  _T_111; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15429.8]
+  wire  _T_113; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15435.8]
+  wire  _T_114; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15436.8]
+  wire  _T_115; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@15441.8]
+  wire  _T_117; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15443.8]
+  wire  _T_118; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15444.8]
+  wire [3:0] _T_119; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@15449.8]
+  wire  _T_120; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15450.8]
+  wire  _T_122; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15452.8]
+  wire  _T_123; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15453.8]
+  wire  _T_124; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@15458.8]
+  wire  _T_126; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15460.8]
+  wire  _T_127; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15461.8]
+  wire  _T_128; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15467.6]
+  wire  _T_157; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15521.8]
+  wire  _T_159; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15523.8]
+  wire  _T_160; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15524.8]
+  wire  _T_170; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15547.6]
+  wire  _T_172; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@15550.8]
+  wire  _T_180; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@15558.8]
+  wire  _T_183; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15561.8]
+  wire  _T_184; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15562.8]
+  wire  _T_191; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15581.8]
+  wire  _T_193; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15583.8]
+  wire  _T_194; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15584.8]
+  wire  _T_195; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@15589.8]
+  wire  _T_197; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15591.8]
+  wire  _T_198; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15592.8]
+  wire  _T_203; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15606.6]
+  wire  _T_232; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15657.6]
+  wire [3:0] _T_257; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@15699.8]
+  wire [3:0] _T_258; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15700.8]
+  wire  _T_259; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@15701.8]
+  wire  _T_261; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15703.8]
+  wire  _T_262; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15704.8]
+  wire  _T_263; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15710.6]
+  wire  _T_281; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@15741.8]
+  wire  _T_283; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15743.8]
+  wire  _T_284; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15744.8]
+  wire  _T_289; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15758.6]
+  wire  _T_307; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@15789.8]
+  wire  _T_309; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15791.8]
+  wire  _T_310; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15792.8]
+  wire  _T_315; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15806.6]
+  wire  _T_341; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@15856.6]
+  wire  _T_343; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@15858.6]
+  wire  _T_344; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@15859.6]
+  wire  _T_346; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@15865.6]
+  wire  _T_355; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@15870.6]
+  wire  _T_357; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15872.6]
+  wire  _T_359; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15875.8]
+  wire  _T_360; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15876.8]
+  wire  _T_361; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@15881.8]
+  wire  _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15883.8]
+  wire  _T_364; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15884.8]
+  wire  _T_377; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15914.6]
+  wire  _T_405; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15972.6]
+  wire  _T_434; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@16031.6]
+  wire  _T_451; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@16066.6]
+  wire  _T_469; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@16102.6]
+  wire  _T_498; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@16162.4]
+  wire [3:0] _T_503; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@16167.4]
+  wire  _T_504; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@16168.4]
+  wire  _T_505; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16169.4]
+  reg [3:0] _T_508; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@16171.4]
+  reg [31:0] _RAND_0;
+  wire [4:0] _T_509; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16172.4]
+  wire [4:0] _T_510; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16173.4]
+  wire [3:0] _T_511; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16174.4]
+  wire  _T_512; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@16175.4]
+  reg [2:0] _T_521; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@16186.4]
+  reg [31:0] _RAND_1;
+  reg [2:0] _T_523; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@16187.4]
+  reg [31:0] _RAND_2;
+  reg [2:0] _T_525; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@16188.4]
+  reg [31:0] _RAND_3;
+  reg  _T_527; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@16189.4]
+  reg [31:0] _RAND_4;
+  reg [27:0] _T_529; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@16190.4]
+  reg [31:0] _RAND_5;
+  wire  _T_530; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@16191.4]
+  wire  _T_531; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@16192.4]
+  wire  _T_532; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@16194.6]
+  wire  _T_534; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16196.6]
+  wire  _T_535; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16197.6]
+  wire  _T_536; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@16202.6]
+  wire  _T_538; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16204.6]
+  wire  _T_539; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16205.6]
+  wire  _T_540; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@16210.6]
+  wire  _T_542; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16212.6]
+  wire  _T_543; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16213.6]
+  wire  _T_544; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@16218.6]
+  wire  _T_546; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16220.6]
+  wire  _T_547; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16221.6]
+  wire  _T_548; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@16226.6]
+  wire  _T_550; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16228.6]
+  wire  _T_551; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16229.6]
+  wire  _T_553; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@16236.4]
+  wire  _T_554; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@16244.4]
+  wire [12:0] _T_556; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@16246.4]
+  wire [5:0] _T_557; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@16247.4]
+  wire [5:0] _T_558; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@16248.4]
+  wire [3:0] _T_559; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@16249.4]
+  wire  _T_560; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@16250.4]
+  reg [3:0] _T_563; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@16252.4]
+  reg [31:0] _RAND_6;
+  wire [4:0] _T_564; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16253.4]
+  wire [4:0] _T_565; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16254.4]
+  wire [3:0] _T_566; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16255.4]
+  wire  _T_567; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@16256.4]
+  reg [2:0] _T_576; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@16267.4]
+  reg [31:0] _RAND_7;
+  reg [2:0] _T_580; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@16269.4]
+  reg [31:0] _RAND_8;
+  reg  _T_582; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@16270.4]
+  reg [31:0] _RAND_9;
+  wire  _T_587; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@16273.4]
+  wire  _T_588; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@16274.4]
+  wire  _T_589; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@16276.6]
+  wire  _T_591; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16278.6]
+  wire  _T_592; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16279.6]
+  wire  _T_597; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@16292.6]
+  wire  _T_599; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16294.6]
+  wire  _T_600; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16295.6]
+  wire  _T_601; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@16300.6]
+  wire  _T_603; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16302.6]
+  wire  _T_604; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16303.6]
+  wire  _T_614; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@16326.4]
+  reg [1:0] _T_616; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@16335.4]
+  reg [31:0] _RAND_10;
+  reg [3:0] _T_627; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@16345.4]
+  reg [31:0] _RAND_11;
+  wire [4:0] _T_628; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16346.4]
+  wire [4:0] _T_629; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16347.4]
+  wire [3:0] _T_630; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16348.4]
+  wire  _T_631; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@16349.4]
+  reg [3:0] _T_648; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@16368.4]
+  reg [31:0] _RAND_12;
+  wire [4:0] _T_649; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16369.4]
+  wire [4:0] _T_650; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16370.4]
+  wire [3:0] _T_651; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16371.4]
+  wire  _T_652; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@16372.4]
+  wire  _T_663; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@16387.4]
+  wire [1:0] _T_665; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@16390.6]
+  wire [1:0] _T_666; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@16392.6]
+  wire  _T_667; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@16393.6]
+  wire  _T_668; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16394.6]
+  wire  _T_670; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@16396.6]
+  wire  _T_671; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@16397.6]
+  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@16389.4]
+  wire  _T_676; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@16408.4]
+  wire  _T_678; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@16410.4]
+  wire  _T_679; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@16411.4]
+  wire [1:0] _T_680; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@16413.6]
+  wire [1:0] _T_681; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@16415.6]
+  wire [1:0] _T_682; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@16416.6]
+  wire  _T_683; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@16417.6]
+  wire  _T_685; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@16419.6]
+  wire  _T_686; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@16420.6]
+  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@16412.4]
+  wire  _T_687; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@16426.4]
+  wire  _T_688; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@16427.4]
+  wire  _T_689; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@16428.4]
+  wire  _T_690; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@16429.4]
+  wire  _T_692; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@16431.4]
+  wire  _T_693; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@16432.4]
+  wire [1:0] _T_694; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@16437.4]
+  wire [1:0] _T_695; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@16438.4]
+  wire [1:0] _T_696; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@16439.4]
+  reg [31:0] _T_698; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@16441.4]
+  reg [31:0] _RAND_13;
+  wire  _T_699; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@16444.4]
+  wire  _T_700; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@16445.4]
+  wire  _T_701; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@16446.4]
+  wire  _T_702; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@16447.4]
+  wire  _T_703; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@16448.4]
+  wire  _T_704; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@16449.4]
+  wire  _T_706; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@16451.4]
+  wire  _T_707; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@16452.4]
+  wire [31:0] _T_709; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@16458.4]
+  wire  _T_712; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@16462.4]
+  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15409.10]
+  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15481.10]
+  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15564.10]
+  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15623.10]
+  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15674.10]
+  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15724.10]
+  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15772.10]
+  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15820.10]
+  wire  _GEN_115; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15878.10]
+  wire  _GEN_119; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15920.10]
+  wire  _GEN_125; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15978.10]
+  wire  _GEN_131; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16037.10]
+  wire  _GEN_133; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16072.10]
+  wire  _GEN_135; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16108.10]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@16442.4]
+    .out(plusarg_reader_out)
+  );
+  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@15326.6]
+  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@15331.6]
+  assign _T_32 = 13'h3f << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@15333.6]
+  assign _T_33 = _T_32[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@15334.6]
+  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@15335.6]
+  assign _GEN_18 = {{22'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@15336.6]
+  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@15336.6]
+  assign _T_36 = _T_35 == 28'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@15337.6]
+  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@15339.6]
+  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@15340.6]
+  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@15342.6]
+  assign _T_42 = io_in_a_bits_size >= 3'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@15343.6]
+  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@15344.6]
+  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@15345.6]
+  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@15346.6]
+  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@15348.6]
+  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@15349.6]
+  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@15351.6]
+  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@15352.6]
+  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@15353.6]
+  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@15354.6]
+  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@15355.6]
+  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@15356.6]
+  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@15357.6]
+  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@15358.6]
+  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@15359.6]
+  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@15360.6]
+  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@15361.6]
+  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@15362.6]
+  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@15363.6]
+  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@15364.6]
+  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@15365.6]
+  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@15366.6]
+  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@15367.6]
+  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@15368.6]
+  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@15369.6]
+  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@15370.6]
+  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15395.6]
+  assign _T_92 = io_in_a_bits_address ^ 28'hc000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@15398.8]
+  assign _T_93 = {1'b0,$signed(_T_92)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@15399.8]
+  assign _T_94 = $signed(_T_93) & $signed(-29'sh4000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@15400.8]
+  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@15401.8]
+  assign _T_96 = $signed(_T_95) == $signed(29'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@15402.8]
+  assign _T_101 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15407.8]
+  assign _T_106 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15420.8]
+  assign _T_107 = _T_106 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15421.8]
+  assign _T_110 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15428.8]
+  assign _T_111 = _T_110 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15429.8]
+  assign _T_113 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15435.8]
+  assign _T_114 = _T_113 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15436.8]
+  assign _T_115 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@15441.8]
+  assign _T_117 = _T_115 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15443.8]
+  assign _T_118 = _T_117 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15444.8]
+  assign _T_119 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@15449.8]
+  assign _T_120 = _T_119 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15450.8]
+  assign _T_122 = _T_120 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15452.8]
+  assign _T_123 = _T_122 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15453.8]
+  assign _T_124 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@15458.8]
+  assign _T_126 = _T_124 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15460.8]
+  assign _T_127 = _T_126 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15461.8]
+  assign _T_128 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15467.6]
+  assign _T_157 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15521.8]
+  assign _T_159 = _T_157 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15523.8]
+  assign _T_160 = _T_159 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15524.8]
+  assign _T_170 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15547.6]
+  assign _T_172 = io_in_a_bits_size <= 3'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@15550.8]
+  assign _T_180 = _T_172 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@15558.8]
+  assign _T_183 = _T_180 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15561.8]
+  assign _T_184 = _T_183 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15562.8]
+  assign _T_191 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15581.8]
+  assign _T_193 = _T_191 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15583.8]
+  assign _T_194 = _T_193 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15584.8]
+  assign _T_195 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@15589.8]
+  assign _T_197 = _T_195 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15591.8]
+  assign _T_198 = _T_197 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15592.8]
+  assign _T_203 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15606.6]
+  assign _T_232 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15657.6]
+  assign _T_257 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@15699.8]
+  assign _T_258 = io_in_a_bits_mask & _T_257; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15700.8]
+  assign _T_259 = _T_258 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@15701.8]
+  assign _T_261 = _T_259 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15703.8]
+  assign _T_262 = _T_261 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15704.8]
+  assign _T_263 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15710.6]
+  assign _T_281 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@15741.8]
+  assign _T_283 = _T_281 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15743.8]
+  assign _T_284 = _T_283 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15744.8]
+  assign _T_289 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15758.6]
+  assign _T_307 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@15789.8]
+  assign _T_309 = _T_307 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15791.8]
+  assign _T_310 = _T_309 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15792.8]
+  assign _T_315 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15806.6]
+  assign _T_341 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@15856.6]
+  assign _T_343 = _T_341 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@15858.6]
+  assign _T_344 = _T_343 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@15859.6]
+  assign _T_346 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@15865.6]
+  assign _T_355 = io_in_d_bits_source | _T_346; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@15870.6]
+  assign _T_357 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15872.6]
+  assign _T_359 = _T_355 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15875.8]
+  assign _T_360 = _T_359 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15876.8]
+  assign _T_361 = io_in_d_bits_size >= 3'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@15881.8]
+  assign _T_363 = _T_361 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15883.8]
+  assign _T_364 = _T_363 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15884.8]
+  assign _T_377 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15914.6]
+  assign _T_405 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15972.6]
+  assign _T_434 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@16031.6]
+  assign _T_451 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@16066.6]
+  assign _T_469 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@16102.6]
+  assign _T_498 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@16162.4]
+  assign _T_503 = _T_34[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@16167.4]
+  assign _T_504 = io_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@16168.4]
+  assign _T_505 = _T_504 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16169.4]
+  assign _T_509 = _T_508 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16172.4]
+  assign _T_510 = $unsigned(_T_509); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16173.4]
+  assign _T_511 = _T_510[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16174.4]
+  assign _T_512 = _T_508 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@16175.4]
+  assign _T_530 = _T_512 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@16191.4]
+  assign _T_531 = io_in_a_valid & _T_530; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@16192.4]
+  assign _T_532 = io_in_a_bits_opcode == _T_521; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@16194.6]
+  assign _T_534 = _T_532 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16196.6]
+  assign _T_535 = _T_534 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16197.6]
+  assign _T_536 = io_in_a_bits_param == _T_523; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@16202.6]
+  assign _T_538 = _T_536 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16204.6]
+  assign _T_539 = _T_538 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16205.6]
+  assign _T_540 = io_in_a_bits_size == _T_525; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@16210.6]
+  assign _T_542 = _T_540 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16212.6]
+  assign _T_543 = _T_542 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16213.6]
+  assign _T_544 = io_in_a_bits_source == _T_527; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@16218.6]
+  assign _T_546 = _T_544 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16220.6]
+  assign _T_547 = _T_546 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16221.6]
+  assign _T_548 = io_in_a_bits_address == _T_529; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@16226.6]
+  assign _T_550 = _T_548 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16228.6]
+  assign _T_551 = _T_550 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16229.6]
+  assign _T_553 = _T_498 & _T_512; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@16236.4]
+  assign _T_554 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@16244.4]
+  assign _T_556 = 13'h3f << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@16246.4]
+  assign _T_557 = _T_556[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@16247.4]
+  assign _T_558 = ~ _T_557; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@16248.4]
+  assign _T_559 = _T_558[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@16249.4]
+  assign _T_560 = io_in_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@16250.4]
+  assign _T_564 = _T_563 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16253.4]
+  assign _T_565 = $unsigned(_T_564); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16254.4]
+  assign _T_566 = _T_565[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16255.4]
+  assign _T_567 = _T_563 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@16256.4]
+  assign _T_587 = _T_567 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@16273.4]
+  assign _T_588 = io_in_d_valid & _T_587; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@16274.4]
+  assign _T_589 = io_in_d_bits_opcode == _T_576; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@16276.6]
+  assign _T_591 = _T_589 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16278.6]
+  assign _T_592 = _T_591 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16279.6]
+  assign _T_597 = io_in_d_bits_size == _T_580; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@16292.6]
+  assign _T_599 = _T_597 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16294.6]
+  assign _T_600 = _T_599 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16295.6]
+  assign _T_601 = io_in_d_bits_source == _T_582; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@16300.6]
+  assign _T_603 = _T_601 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16302.6]
+  assign _T_604 = _T_603 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16303.6]
+  assign _T_614 = _T_554 & _T_567; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@16326.4]
+  assign _T_628 = _T_627 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16346.4]
+  assign _T_629 = $unsigned(_T_628); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16347.4]
+  assign _T_630 = _T_629[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16348.4]
+  assign _T_631 = _T_627 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@16349.4]
+  assign _T_649 = _T_648 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16369.4]
+  assign _T_650 = $unsigned(_T_649); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16370.4]
+  assign _T_651 = _T_650[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16371.4]
+  assign _T_652 = _T_648 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@16372.4]
+  assign _T_663 = _T_498 & _T_631; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@16387.4]
+  assign _T_665 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@16390.6]
+  assign _T_666 = _T_616 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@16392.6]
+  assign _T_667 = _T_666[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@16393.6]
+  assign _T_668 = _T_667 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16394.6]
+  assign _T_670 = _T_668 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@16396.6]
+  assign _T_671 = _T_670 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@16397.6]
+  assign _GEN_15 = _T_663 ? _T_665 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@16389.4]
+  assign _T_676 = _T_554 & _T_652; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@16408.4]
+  assign _T_678 = _T_357 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@16410.4]
+  assign _T_679 = _T_676 & _T_678; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@16411.4]
+  assign _T_680 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@16413.6]
+  assign _T_681 = _GEN_15 | _T_616; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@16415.6]
+  assign _T_682 = _T_681 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@16416.6]
+  assign _T_683 = _T_682[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@16417.6]
+  assign _T_685 = _T_683 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@16419.6]
+  assign _T_686 = _T_685 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@16420.6]
+  assign _GEN_16 = _T_679 ? _T_680 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@16412.4]
+  assign _T_687 = _GEN_15 != _GEN_16; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@16426.4]
+  assign _T_688 = _GEN_15 != 2'h0; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@16427.4]
+  assign _T_689 = _T_688 == 1'h0; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@16428.4]
+  assign _T_690 = _T_687 | _T_689; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@16429.4]
+  assign _T_692 = _T_690 | reset; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@16431.4]
+  assign _T_693 = _T_692 == 1'h0; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@16432.4]
+  assign _T_694 = _T_616 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@16437.4]
+  assign _T_695 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@16438.4]
+  assign _T_696 = _T_694 & _T_695; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@16439.4]
+  assign _T_699 = _T_616 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@16444.4]
+  assign _T_700 = _T_699 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@16445.4]
+  assign _T_701 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@16446.4]
+  assign _T_702 = _T_700 | _T_701; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@16447.4]
+  assign _T_703 = _T_698 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@16448.4]
+  assign _T_704 = _T_702 | _T_703; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@16449.4]
+  assign _T_706 = _T_704 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@16451.4]
+  assign _T_707 = _T_706 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@16452.4]
+  assign _T_709 = _T_698 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@16458.4]
+  assign _T_712 = _T_498 | _T_554; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@16462.4]
+  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15409.10]
+  assign _GEN_35 = io_in_a_valid & _T_128; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15481.10]
+  assign _GEN_53 = io_in_a_valid & _T_170; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15564.10]
+  assign _GEN_65 = io_in_a_valid & _T_203; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15623.10]
+  assign _GEN_75 = io_in_a_valid & _T_232; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15674.10]
+  assign _GEN_85 = io_in_a_valid & _T_263; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15724.10]
+  assign _GEN_95 = io_in_a_valid & _T_289; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15772.10]
+  assign _GEN_105 = io_in_a_valid & _T_315; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15820.10]
+  assign _GEN_115 = io_in_d_valid & _T_357; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15878.10]
+  assign _GEN_119 = io_in_d_valid & _T_377; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15920.10]
+  assign _GEN_125 = io_in_d_valid & _T_405; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15978.10]
+  assign _GEN_131 = io_in_d_valid & _T_434; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16037.10]
+  assign _GEN_133 = io_in_d_valid & _T_451; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16072.10]
+  assign _GEN_135 = io_in_d_valid & _T_469; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16108.10]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  _T_508 = _RAND_0[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  _T_521 = _RAND_1[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  _T_523 = _RAND_2[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  _T_525 = _RAND_3[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  _T_527 = _RAND_4[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  _T_529 = _RAND_5[27:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {1{`RANDOM}};
+  _T_563 = _RAND_6[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {1{`RANDOM}};
+  _T_576 = _RAND_7[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_8 = {1{`RANDOM}};
+  _T_580 = _RAND_8[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_9 = {1{`RANDOM}};
+  _T_582 = _RAND_9[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_10 = {1{`RANDOM}};
+  _T_616 = _RAND_10[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_11 = {1{`RANDOM}};
+  _T_627 = _RAND_11[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_12 = {1{`RANDOM}};
+  _T_648 = _RAND_12[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_13 = {1{`RANDOM}};
+  _T_698 = _RAND_13[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      _T_508 <= 4'h0;
+    end else begin
+      if (_T_498) begin
+        if (_T_512) begin
+          if (_T_505) begin
+            _T_508 <= _T_503;
+          end else begin
+            _T_508 <= 4'h0;
+          end
+        end else begin
+          _T_508 <= _T_511;
+        end
+      end
+    end
+    if (_T_553) begin
+      _T_521 <= io_in_a_bits_opcode;
+    end
+    if (_T_553) begin
+      _T_523 <= io_in_a_bits_param;
+    end
+    if (_T_553) begin
+      _T_525 <= io_in_a_bits_size;
+    end
+    if (_T_553) begin
+      _T_527 <= io_in_a_bits_source;
+    end
+    if (_T_553) begin
+      _T_529 <= io_in_a_bits_address;
+    end
+    if (reset) begin
+      _T_563 <= 4'h0;
+    end else begin
+      if (_T_554) begin
+        if (_T_567) begin
+          if (_T_560) begin
+            _T_563 <= _T_559;
+          end else begin
+            _T_563 <= 4'h0;
+          end
+        end else begin
+          _T_563 <= _T_566;
+        end
+      end
+    end
+    if (_T_614) begin
+      _T_576 <= io_in_d_bits_opcode;
+    end
+    if (_T_614) begin
+      _T_580 <= io_in_d_bits_size;
+    end
+    if (_T_614) begin
+      _T_582 <= io_in_d_bits_source;
+    end
+    if (reset) begin
+      _T_616 <= 2'h0;
+    end else begin
+      _T_616 <= _T_696;
+    end
+    if (reset) begin
+      _T_627 <= 4'h0;
+    end else begin
+      if (_T_498) begin
+        if (_T_631) begin
+          if (_T_505) begin
+            _T_627 <= _T_503;
+          end else begin
+            _T_627 <= 4'h0;
+          end
+        end else begin
+          _T_627 <= _T_630;
+        end
+      end
+    end
+    if (reset) begin
+      _T_648 <= 4'h0;
+    end else begin
+      if (_T_554) begin
+        if (_T_652) begin
+          if (_T_560) begin
+            _T_648 <= _T_559;
+          end else begin
+            _T_648 <= 4'h0;
+          end
+        end else begin
+          _T_648 <= _T_651;
+        end
+      end
+    end
+    if (reset) begin
+      _T_698 <= 32'h0;
+    end else begin
+      if (_T_712) begin
+        _T_698 <= 32'h0;
+      end else begin
+        _T_698 <= _T_709;
+      end
+    end
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@15322.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@15323.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@15392.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@15393.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15409.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_101) begin
+          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15410.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15416.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_101) begin
+          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15417.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15423.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_107) begin
+          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15424.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_111) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15431.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_111) begin
+          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15432.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15438.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_114) begin
+          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15439.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_118) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15446.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_118) begin
+          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15447.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_123) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15455.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_123) begin
+          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15456.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_127) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15463.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_127) begin
+          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15464.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15481.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_101) begin
+          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15482.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15488.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_101) begin
+          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15489.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15495.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_107) begin
+          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15496.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_111) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15503.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_111) begin
+          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15504.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15510.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_114) begin
+          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15511.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_118) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15518.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_118) begin
+          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15519.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_160) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15526.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_160) begin
+          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15527.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_123) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15535.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_123) begin
+          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15536.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_127) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15543.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_127) begin
+          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15544.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_184) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15564.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_184) begin
+          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15565.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15571.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_107) begin
+          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15572.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15578.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_114) begin
+          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15579.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_194) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15586.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_194) begin
+          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15587.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_198) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15594.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_198) begin
+          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15595.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_127) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15602.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_127) begin
+          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15603.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_184) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15623.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_184) begin
+          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15624.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15630.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_107) begin
+          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15631.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15637.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_114) begin
+          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15638.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_194) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15645.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_194) begin
+          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15646.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_198) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15653.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_198) begin
+          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15654.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_184) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15674.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_184) begin
+          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15675.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15681.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_107) begin
+          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15682.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15688.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_114) begin
+          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15689.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_194) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15696.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_194) begin
+          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15697.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_262) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15706.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_262) begin
+          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15707.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15724.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_101) begin
+          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15725.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15731.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_107) begin
+          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15732.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15738.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_114) begin
+          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15739.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_284) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15746.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_284) begin
+          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15747.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_198) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15754.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_198) begin
+          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15755.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15772.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_101) begin
+          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15773.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15779.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_107) begin
+          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15780.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15786.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_114) begin
+          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15787.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_310) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15794.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_310) begin
+          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15795.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_198) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15802.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_198) begin
+          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15803.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15820.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_101) begin
+          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15821.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15827.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_107) begin
+          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15828.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15834.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_114) begin
+          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15835.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_198) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15842.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_198) begin
+          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15843.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_127) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15850.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_127) begin
+          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15851.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_344) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@15861.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_344) begin
+          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@15862.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_360) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15878.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_360) begin
+          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15879.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_364) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15886.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_364) begin
+          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15887.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15894.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15895.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15902.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15903.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15910.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15911.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_119 & _T_360) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15920.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_119 & _T_360) begin
+          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15921.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_119 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15927.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_119 & _T_101) begin
+          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15928.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_119 & _T_364) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15935.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_119 & _T_364) begin
+          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15936.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15943.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15944.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15951.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15952.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15959.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15960.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15968.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15969.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_360) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15978.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_360) begin
+          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15979.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15985.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_101) begin
+          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15986.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_364) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15993.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_364) begin
+          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15994.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16001.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16002.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16009.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16010.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16018.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16019.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16027.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16028.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_131 & _T_360) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16037.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_131 & _T_360) begin
+          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16038.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16045.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16046.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16053.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16054.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16062.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16063.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_133 & _T_360) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16072.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_133 & _T_360) begin
+          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16073.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16080.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16081.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16089.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16090.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16098.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16099.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_135 & _T_360) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16108.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_135 & _T_360) begin
+          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16109.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16116.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16117.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16124.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16125.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16133.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16134.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16143.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16144.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16151.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16152.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16159.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16160.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_531 & _T_535) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16199.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_531 & _T_535) begin
+          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16200.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_531 & _T_539) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16207.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_531 & _T_539) begin
+          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16208.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_531 & _T_543) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16215.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_531 & _T_543) begin
+          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16216.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_531 & _T_547) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16223.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_531 & _T_547) begin
+          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16224.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_531 & _T_551) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16231.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_531 & _T_551) begin
+          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16232.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_588 & _T_592) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16281.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_588 & _T_592) begin
+          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16282.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16289.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16290.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_588 & _T_600) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16297.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_588 & _T_600) begin
+          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16298.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_588 & _T_604) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16305.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_588 & _T_604) begin
+          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16306.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16313.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16314.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16321.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16322.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_663 & _T_671) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@16399.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_663 & _T_671) begin
+          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@16400.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_679 & _T_686) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@16422.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_679 & _T_686) begin
+          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@16423.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_693) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' and 'D' concurrent, despite minlatency 1 (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:471 assert(a_set =/= d_clr || !a_set.orR, s\"'A' and 'D' concurrent, despite minlatency ${edge.manager.minLatency}\" + extra)\n"); // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@16434.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_693) begin
+          $fatal; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@16435.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_707) begin
+          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@16454.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_707) begin
+          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@16455.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+endmodule
+module Repeater( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16467.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16468.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16469.4]
+  input         io_repeat, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16470.4]
+  output        io_full, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16470.4]
+  output        io_enq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16470.4]
+  input         io_enq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16470.4]
+  input  [2:0]  io_enq_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16470.4]
+  input  [2:0]  io_enq_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16470.4]
+  input  [2:0]  io_enq_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16470.4]
+  input         io_enq_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16470.4]
+  input  [27:0] io_enq_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16470.4]
+  input  [3:0]  io_enq_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16470.4]
+  input         io_enq_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16470.4]
+  input         io_deq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16470.4]
+  output        io_deq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16470.4]
+  output [2:0]  io_deq_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16470.4]
+  output [2:0]  io_deq_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16470.4]
+  output [2:0]  io_deq_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16470.4]
+  output        io_deq_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16470.4]
+  output [27:0] io_deq_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16470.4]
+  output [3:0]  io_deq_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16470.4]
+  output        io_deq_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16470.4]
+);
+  reg  full; // @[Repeater.scala 18:21:shc.marmotcaravel.MarmotCaravelConfig.fir@16475.4]
+  reg [31:0] _RAND_0;
+  reg [2:0] saved_opcode; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@16476.4]
+  reg [31:0] _RAND_1;
+  reg [2:0] saved_param; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@16476.4]
+  reg [31:0] _RAND_2;
+  reg [2:0] saved_size; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@16476.4]
+  reg [31:0] _RAND_3;
+  reg  saved_source; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@16476.4]
+  reg [31:0] _RAND_4;
+  reg [27:0] saved_address; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@16476.4]
+  reg [31:0] _RAND_5;
+  reg [3:0] saved_mask; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@16476.4]
+  reg [31:0] _RAND_6;
+  reg  saved_corrupt; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@16476.4]
+  reg [31:0] _RAND_7;
+  wire  _T_18; // @[Repeater.scala 23:35:shc.marmotcaravel.MarmotCaravelConfig.fir@16479.4]
+  wire  _T_21; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@16485.4]
+  wire  _T_22; // @[Repeater.scala 27:23:shc.marmotcaravel.MarmotCaravelConfig.fir@16486.4]
+  wire  _T_23; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@16491.4]
+  wire  _T_24; // @[Repeater.scala 28:26:shc.marmotcaravel.MarmotCaravelConfig.fir@16492.4]
+  wire  _T_25; // @[Repeater.scala 28:23:shc.marmotcaravel.MarmotCaravelConfig.fir@16493.4]
+  assign _T_18 = full == 1'h0; // @[Repeater.scala 23:35:shc.marmotcaravel.MarmotCaravelConfig.fir@16479.4]
+  assign _T_21 = io_enq_ready & io_enq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@16485.4]
+  assign _T_22 = _T_21 & io_repeat; // @[Repeater.scala 27:23:shc.marmotcaravel.MarmotCaravelConfig.fir@16486.4]
+  assign _T_23 = io_deq_ready & io_deq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@16491.4]
+  assign _T_24 = io_repeat == 1'h0; // @[Repeater.scala 28:26:shc.marmotcaravel.MarmotCaravelConfig.fir@16492.4]
+  assign _T_25 = _T_23 & _T_24; // @[Repeater.scala 28:23:shc.marmotcaravel.MarmotCaravelConfig.fir@16493.4]
+  assign io_full = full; // @[Repeater.scala 25:11:shc.marmotcaravel.MarmotCaravelConfig.fir@16484.4]
+  assign io_enq_ready = io_deq_ready & _T_18; // @[Repeater.scala 23:16:shc.marmotcaravel.MarmotCaravelConfig.fir@16481.4]
+  assign io_deq_valid = io_enq_valid | full; // @[Repeater.scala 22:16:shc.marmotcaravel.MarmotCaravelConfig.fir@16478.4]
+  assign io_deq_bits_opcode = full ? saved_opcode : io_enq_bits_opcode; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@16483.4]
+  assign io_deq_bits_param = full ? saved_param : io_enq_bits_param; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@16483.4]
+  assign io_deq_bits_size = full ? saved_size : io_enq_bits_size; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@16483.4]
+  assign io_deq_bits_source = full ? saved_source : io_enq_bits_source; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@16483.4]
+  assign io_deq_bits_address = full ? saved_address : io_enq_bits_address; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@16483.4]
+  assign io_deq_bits_mask = full ? saved_mask : io_enq_bits_mask; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@16483.4]
+  assign io_deq_bits_corrupt = full ? saved_corrupt : io_enq_bits_corrupt; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@16483.4]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  full = _RAND_0[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  saved_opcode = _RAND_1[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  saved_param = _RAND_2[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  saved_size = _RAND_3[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  saved_source = _RAND_4[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  saved_address = _RAND_5[27:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {1{`RANDOM}};
+  saved_mask = _RAND_6[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {1{`RANDOM}};
+  saved_corrupt = _RAND_7[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      full <= 1'h0;
+    end else begin
+      if (_T_25) begin
+        full <= 1'h0;
+      end else begin
+        if (_T_22) begin
+          full <= 1'h1;
+        end
+      end
+    end
+    if (_T_22) begin
+      saved_opcode <= io_enq_bits_opcode;
+    end
+    if (_T_22) begin
+      saved_param <= io_enq_bits_param;
+    end
+    if (_T_22) begin
+      saved_size <= io_enq_bits_size;
+    end
+    if (_T_22) begin
+      saved_source <= io_enq_bits_source;
+    end
+    if (_T_22) begin
+      saved_address <= io_enq_bits_address;
+    end
+    if (_T_22) begin
+      saved_mask <= io_enq_bits_mask;
+    end
+    if (_T_22) begin
+      saved_corrupt <= io_enq_bits_corrupt;
+    end
+  end
+endmodule
+module TLFragmenter( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16498.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16499.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16500.4]
+  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16501.4]
+  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16501.4]
+  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16501.4]
+  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16501.4]
+  input  [2:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16501.4]
+  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16501.4]
+  input  [27:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16501.4]
+  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16501.4]
+  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16501.4]
+  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16501.4]
+  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16501.4]
+  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16501.4]
+  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16501.4]
+  output [2:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16501.4]
+  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16501.4]
+  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16501.4]
+  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16501.4]
+  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16501.4]
+  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16501.4]
+  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16501.4]
+  output [1:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16501.4]
+  output [5:0]  auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16501.4]
+  output [27:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16501.4]
+  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16501.4]
+  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16501.4]
+  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16501.4]
+  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16501.4]
+  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16501.4]
+  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16501.4]
+  input  [1:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16501.4]
+  input  [5:0]  auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16501.4]
+  input  [31:0] auto_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16501.4]
+);
+  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@16508.4]
+  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@16508.4]
+  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@16508.4]
+  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@16508.4]
+  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@16508.4]
+  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@16508.4]
+  wire [2:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@16508.4]
+  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@16508.4]
+  wire [27:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@16508.4]
+  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@16508.4]
+  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@16508.4]
+  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@16508.4]
+  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@16508.4]
+  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@16508.4]
+  wire [2:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@16508.4]
+  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@16508.4]
+  wire  Repeater_clock; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16625.4]
+  wire  Repeater_reset; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16625.4]
+  wire  Repeater_io_repeat; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16625.4]
+  wire  Repeater_io_full; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16625.4]
+  wire  Repeater_io_enq_ready; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16625.4]
+  wire  Repeater_io_enq_valid; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16625.4]
+  wire [2:0] Repeater_io_enq_bits_opcode; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16625.4]
+  wire [2:0] Repeater_io_enq_bits_param; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16625.4]
+  wire [2:0] Repeater_io_enq_bits_size; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16625.4]
+  wire  Repeater_io_enq_bits_source; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16625.4]
+  wire [27:0] Repeater_io_enq_bits_address; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16625.4]
+  wire [3:0] Repeater_io_enq_bits_mask; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16625.4]
+  wire  Repeater_io_enq_bits_corrupt; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16625.4]
+  wire  Repeater_io_deq_ready; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16625.4]
+  wire  Repeater_io_deq_valid; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16625.4]
+  wire [2:0] Repeater_io_deq_bits_opcode; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16625.4]
+  wire [2:0] Repeater_io_deq_bits_param; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16625.4]
+  wire [2:0] Repeater_io_deq_bits_size; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16625.4]
+  wire  Repeater_io_deq_bits_source; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16625.4]
+  wire [27:0] Repeater_io_deq_bits_address; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16625.4]
+  wire [3:0] Repeater_io_deq_bits_mask; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16625.4]
+  wire  Repeater_io_deq_bits_corrupt; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16625.4]
+  reg [3:0] _T_244; // @[Fragmenter.scala 167:27:shc.marmotcaravel.MarmotCaravelConfig.fir@16549.4]
+  reg [31:0] _RAND_0;
+  reg [2:0] _T_246; // @[Fragmenter.scala 168:22:shc.marmotcaravel.MarmotCaravelConfig.fir@16550.4]
+  reg [31:0] _RAND_1;
+  reg  _T_248; // @[Fragmenter.scala 169:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16551.4]
+  reg [31:0] _RAND_2;
+  wire [3:0] _T_249; // @[Fragmenter.scala 170:39:shc.marmotcaravel.MarmotCaravelConfig.fir@16552.4]
+  wire  _T_250; // @[Fragmenter.scala 171:27:shc.marmotcaravel.MarmotCaravelConfig.fir@16553.4]
+  wire  _T_251; // @[Fragmenter.scala 172:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16554.4]
+  wire [3:0] _T_253; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@16556.4]
+  wire [2:0] _T_254; // @[OneHot.scala 52:27:shc.marmotcaravel.MarmotCaravelConfig.fir@16557.4]
+  wire [4:0] _T_256; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@16559.4]
+  wire [1:0] _T_257; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@16560.4]
+  wire [1:0] _T_258; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@16561.4]
+  wire  _T_259; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@16562.4]
+  wire  _T_271; // @[Fragmenter.scala 182:58:shc.marmotcaravel.MarmotCaravelConfig.fir@16578.4]
+  wire  _T_272; // @[Fragmenter.scala 182:30:shc.marmotcaravel.MarmotCaravelConfig.fir@16579.4]
+  wire [5:0] _GEN_7; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@16580.4]
+  wire [5:0] _T_273; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@16580.4]
+  wire [5:0] _GEN_8; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@16581.4]
+  wire [5:0] _T_274; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@16581.4]
+  wire [6:0] _GEN_9; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@16582.4]
+  wire [6:0] _T_275; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@16582.4]
+  wire [6:0] _T_276; // @[package.scala 183:40:shc.marmotcaravel.MarmotCaravelConfig.fir@16583.4]
+  wire [6:0] _T_277; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@16584.4]
+  wire [6:0] _T_278; // @[package.scala 183:53:shc.marmotcaravel.MarmotCaravelConfig.fir@16585.4]
+  wire [6:0] _T_279; // @[package.scala 183:51:shc.marmotcaravel.MarmotCaravelConfig.fir@16586.4]
+  wire [2:0] _T_280; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@16587.4]
+  wire [3:0] _T_281; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@16588.4]
+  wire  _T_282; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16589.4]
+  wire [3:0] _GEN_10; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16590.4]
+  wire [3:0] _T_283; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16590.4]
+  wire [1:0] _T_284; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@16591.4]
+  wire [1:0] _T_285; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@16592.4]
+  wire  _T_286; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16593.4]
+  wire [1:0] _T_287; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16594.4]
+  wire  _T_288; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@16595.4]
+  wire [1:0] _T_289; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@16596.4]
+  wire [2:0] _T_290; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@16597.4]
+  wire  _T_297; // @[Fragmenter.scala 200:18:shc.marmotcaravel.MarmotCaravelConfig.fir@16611.4]
+  wire  _T_299; // @[Fragmenter.scala 200:31:shc.marmotcaravel.MarmotCaravelConfig.fir@16613.4]
+  wire  _T_300; // @[Fragmenter.scala 200:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16614.4]
+  wire  _T_301; // @[Fragmenter.scala 201:33:shc.marmotcaravel.MarmotCaravelConfig.fir@16615.4]
+  wire  _T_291; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@16598.4]
+  wire [3:0] _GEN_11; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@16600.6]
+  wire [4:0] _T_292; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@16600.6]
+  wire [4:0] _T_293; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@16601.6]
+  wire [3:0] _T_294; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@16602.6]
+  wire  _T_296; // @[Fragmenter.scala 190:39:shc.marmotcaravel.MarmotCaravelConfig.fir@16607.8]
+  wire  _T_302; // @[Fragmenter.scala 202:37:shc.marmotcaravel.MarmotCaravelConfig.fir@16617.4]
+  wire  _T_330; // @[Fragmenter.scala 262:29:shc.marmotcaravel.MarmotCaravelConfig.fir@16650.4]
+  wire [2:0] _T_331; // @[Fragmenter.scala 262:22:shc.marmotcaravel.MarmotCaravelConfig.fir@16651.4]
+  wire [12:0] _T_333; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@16653.4]
+  wire [5:0] _T_334; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@16654.4]
+  wire [5:0] _T_335; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@16655.4]
+  wire [8:0] _T_337; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@16657.4]
+  wire [1:0] _T_338; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@16658.4]
+  wire [1:0] _T_339; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@16659.4]
+  wire  _T_340; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@16660.4]
+  wire  _T_341; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16661.4]
+  reg [3:0] _T_344; // @[Fragmenter.scala 268:27:shc.marmotcaravel.MarmotCaravelConfig.fir@16663.4]
+  reg [31:0] _RAND_3;
+  wire  _T_345; // @[Fragmenter.scala 269:27:shc.marmotcaravel.MarmotCaravelConfig.fir@16664.4]
+  wire [3:0] _T_346; // @[Fragmenter.scala 270:46:shc.marmotcaravel.MarmotCaravelConfig.fir@16665.4]
+  wire [4:0] _T_347; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@16666.4]
+  wire [4:0] _T_348; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@16667.4]
+  wire [3:0] _T_349; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@16668.4]
+  wire [3:0] _T_350; // @[Fragmenter.scala 270:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16669.4]
+  wire [3:0] _T_351; // @[Fragmenter.scala 271:26:shc.marmotcaravel.MarmotCaravelConfig.fir@16670.4]
+  wire [3:0] _T_354; // @[Fragmenter.scala 271:24:shc.marmotcaravel.MarmotCaravelConfig.fir@16673.4]
+  reg  _T_362; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@16680.4]
+  reg [31:0] _RAND_4;
+  wire  _GEN_5; // @[Reg.scala 12:19:shc.marmotcaravel.MarmotCaravelConfig.fir@16681.4]
+  wire  _T_364; // @[Fragmenter.scala 274:21:shc.marmotcaravel.MarmotCaravelConfig.fir@16685.4]
+  wire  _T_92_a_valid; // @[Nodes.scala 332:76:shc.marmotcaravel.MarmotCaravelConfig.fir@16545.4 Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@16694.4]
+  wire  _T_365; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@16686.4]
+  wire  _T_366; // @[Fragmenter.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@16690.4]
+  wire  _T_367; // @[Fragmenter.scala 279:51:shc.marmotcaravel.MarmotCaravelConfig.fir@16691.4]
+  wire [5:0] _GEN_12; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@16695.4]
+  wire [5:0] _T_369; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@16695.4]
+  wire [5:0] _T_370; // @[Fragmenter.scala 281:88:shc.marmotcaravel.MarmotCaravelConfig.fir@16696.4]
+  wire [5:0] _T_371; // @[Fragmenter.scala 281:86:shc.marmotcaravel.MarmotCaravelConfig.fir@16697.4]
+  wire [5:0] _GEN_13; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@16698.4]
+  wire [5:0] _T_372; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@16698.4]
+  wire [5:0] _T_373; // @[Fragmenter.scala 281:109:shc.marmotcaravel.MarmotCaravelConfig.fir@16699.4]
+  wire [5:0] _T_374; // @[Fragmenter.scala 281:49:shc.marmotcaravel.MarmotCaravelConfig.fir@16700.4]
+  wire [27:0] _GEN_14; // @[Fragmenter.scala 281:47:shc.marmotcaravel.MarmotCaravelConfig.fir@16701.4]
+  wire [1:0] _T_376; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@16703.4]
+  wire  _T_378; // @[Fragmenter.scala 286:15:shc.marmotcaravel.MarmotCaravelConfig.fir@16707.4]
+  wire  _T_380; // @[Fragmenter.scala 286:33:shc.marmotcaravel.MarmotCaravelConfig.fir@16709.4]
+  wire  _T_382; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16711.4]
+  wire  _T_383; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16712.4]
+  wire  _T_385; // @[Fragmenter.scala 289:51:shc.marmotcaravel.MarmotCaravelConfig.fir@16719.4]
+  wire  _T_386; // @[Fragmenter.scala 289:33:shc.marmotcaravel.MarmotCaravelConfig.fir@16720.4]
+  wire  _T_388; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16722.4]
+  wire  _T_389; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16723.4]
+  TLMonitor_7 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@16508.4]
+    .clock(TLMonitor_clock),
+    .reset(TLMonitor_reset),
+    .io_in_a_ready(TLMonitor_io_in_a_ready),
+    .io_in_a_valid(TLMonitor_io_in_a_valid),
+    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
+    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
+    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
+    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
+    .io_in_d_ready(TLMonitor_io_in_d_ready),
+    .io_in_d_valid(TLMonitor_io_in_d_valid),
+    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
+    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
+    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source)
+  );
+  Repeater Repeater ( // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16625.4]
+    .clock(Repeater_clock),
+    .reset(Repeater_reset),
+    .io_repeat(Repeater_io_repeat),
+    .io_full(Repeater_io_full),
+    .io_enq_ready(Repeater_io_enq_ready),
+    .io_enq_valid(Repeater_io_enq_valid),
+    .io_enq_bits_opcode(Repeater_io_enq_bits_opcode),
+    .io_enq_bits_param(Repeater_io_enq_bits_param),
+    .io_enq_bits_size(Repeater_io_enq_bits_size),
+    .io_enq_bits_source(Repeater_io_enq_bits_source),
+    .io_enq_bits_address(Repeater_io_enq_bits_address),
+    .io_enq_bits_mask(Repeater_io_enq_bits_mask),
+    .io_enq_bits_corrupt(Repeater_io_enq_bits_corrupt),
+    .io_deq_ready(Repeater_io_deq_ready),
+    .io_deq_valid(Repeater_io_deq_valid),
+    .io_deq_bits_opcode(Repeater_io_deq_bits_opcode),
+    .io_deq_bits_param(Repeater_io_deq_bits_param),
+    .io_deq_bits_size(Repeater_io_deq_bits_size),
+    .io_deq_bits_source(Repeater_io_deq_bits_source),
+    .io_deq_bits_address(Repeater_io_deq_bits_address),
+    .io_deq_bits_mask(Repeater_io_deq_bits_mask),
+    .io_deq_bits_corrupt(Repeater_io_deq_bits_corrupt)
+  );
+  assign _T_249 = auto_out_d_bits_source[3:0]; // @[Fragmenter.scala 170:39:shc.marmotcaravel.MarmotCaravelConfig.fir@16552.4]
+  assign _T_250 = _T_244 == 4'h0; // @[Fragmenter.scala 171:27:shc.marmotcaravel.MarmotCaravelConfig.fir@16553.4]
+  assign _T_251 = _T_249 == 4'h0; // @[Fragmenter.scala 172:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16554.4]
+  assign _T_253 = 4'h1 << auto_out_d_bits_size; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@16556.4]
+  assign _T_254 = _T_253[2:0]; // @[OneHot.scala 52:27:shc.marmotcaravel.MarmotCaravelConfig.fir@16557.4]
+  assign _T_256 = 5'h3 << auto_out_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@16559.4]
+  assign _T_257 = _T_256[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@16560.4]
+  assign _T_258 = ~ _T_257; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@16561.4]
+  assign _T_259 = auto_out_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@16562.4]
+  assign _T_271 = _T_254[2:2]; // @[Fragmenter.scala 182:58:shc.marmotcaravel.MarmotCaravelConfig.fir@16578.4]
+  assign _T_272 = _T_259 ? 1'h1 : _T_271; // @[Fragmenter.scala 182:30:shc.marmotcaravel.MarmotCaravelConfig.fir@16579.4]
+  assign _GEN_7 = {{2'd0}, _T_249}; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@16580.4]
+  assign _T_273 = _GEN_7 << 2; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@16580.4]
+  assign _GEN_8 = {{4'd0}, _T_258}; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@16581.4]
+  assign _T_274 = _T_273 | _GEN_8; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@16581.4]
+  assign _GEN_9 = {{1'd0}, _T_274}; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@16582.4]
+  assign _T_275 = _GEN_9 << 1; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@16582.4]
+  assign _T_276 = _T_275 | 7'h1; // @[package.scala 183:40:shc.marmotcaravel.MarmotCaravelConfig.fir@16583.4]
+  assign _T_277 = {1'h0,_T_274}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@16584.4]
+  assign _T_278 = ~ _T_277; // @[package.scala 183:53:shc.marmotcaravel.MarmotCaravelConfig.fir@16585.4]
+  assign _T_279 = _T_276 & _T_278; // @[package.scala 183:51:shc.marmotcaravel.MarmotCaravelConfig.fir@16586.4]
+  assign _T_280 = _T_279[6:4]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@16587.4]
+  assign _T_281 = _T_279[3:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@16588.4]
+  assign _T_282 = _T_280 != 3'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16589.4]
+  assign _GEN_10 = {{1'd0}, _T_280}; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16590.4]
+  assign _T_283 = _GEN_10 | _T_281; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16590.4]
+  assign _T_284 = _T_283[3:2]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@16591.4]
+  assign _T_285 = _T_283[1:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@16592.4]
+  assign _T_286 = _T_284 != 2'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16593.4]
+  assign _T_287 = _T_284 | _T_285; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16594.4]
+  assign _T_288 = _T_287[1]; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@16595.4]
+  assign _T_289 = {_T_286,_T_288}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@16596.4]
+  assign _T_290 = {_T_282,_T_289}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@16597.4]
+  assign _T_297 = _T_259 == 1'h0; // @[Fragmenter.scala 200:18:shc.marmotcaravel.MarmotCaravelConfig.fir@16611.4]
+  assign _T_299 = _T_251 == 1'h0; // @[Fragmenter.scala 200:31:shc.marmotcaravel.MarmotCaravelConfig.fir@16613.4]
+  assign _T_300 = _T_297 & _T_299; // @[Fragmenter.scala 200:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16614.4]
+  assign _T_301 = auto_in_d_ready | _T_300; // @[Fragmenter.scala 201:33:shc.marmotcaravel.MarmotCaravelConfig.fir@16615.4]
+  assign _T_291 = _T_301 & auto_out_d_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@16598.4]
+  assign _GEN_11 = {{3'd0}, _T_272}; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@16600.6]
+  assign _T_292 = _T_244 - _GEN_11; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@16600.6]
+  assign _T_293 = $unsigned(_T_292); // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@16601.6]
+  assign _T_294 = _T_293[3:0]; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@16602.6]
+  assign _T_296 = auto_out_d_bits_source[4]; // @[Fragmenter.scala 190:39:shc.marmotcaravel.MarmotCaravelConfig.fir@16607.8]
+  assign _T_302 = _T_300 == 1'h0; // @[Fragmenter.scala 202:37:shc.marmotcaravel.MarmotCaravelConfig.fir@16617.4]
+  assign _T_330 = Repeater_io_deq_bits_size > 3'h2; // @[Fragmenter.scala 262:29:shc.marmotcaravel.MarmotCaravelConfig.fir@16650.4]
+  assign _T_331 = _T_330 ? 3'h2 : Repeater_io_deq_bits_size; // @[Fragmenter.scala 262:22:shc.marmotcaravel.MarmotCaravelConfig.fir@16651.4]
+  assign _T_333 = 13'h3f << Repeater_io_deq_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@16653.4]
+  assign _T_334 = _T_333[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@16654.4]
+  assign _T_335 = ~ _T_334; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@16655.4]
+  assign _T_337 = 9'h3 << _T_331; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@16657.4]
+  assign _T_338 = _T_337[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@16658.4]
+  assign _T_339 = ~ _T_338; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@16659.4]
+  assign _T_340 = Repeater_io_deq_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@16660.4]
+  assign _T_341 = _T_340 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16661.4]
+  assign _T_345 = _T_344 == 4'h0; // @[Fragmenter.scala 269:27:shc.marmotcaravel.MarmotCaravelConfig.fir@16664.4]
+  assign _T_346 = _T_335[5:2]; // @[Fragmenter.scala 270:46:shc.marmotcaravel.MarmotCaravelConfig.fir@16665.4]
+  assign _T_347 = _T_344 - 4'h1; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@16666.4]
+  assign _T_348 = $unsigned(_T_347); // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@16667.4]
+  assign _T_349 = _T_348[3:0]; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@16668.4]
+  assign _T_350 = _T_345 ? _T_346 : _T_349; // @[Fragmenter.scala 270:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16669.4]
+  assign _T_351 = ~ _T_350; // @[Fragmenter.scala 271:26:shc.marmotcaravel.MarmotCaravelConfig.fir@16670.4]
+  assign _T_354 = ~ _T_351; // @[Fragmenter.scala 271:24:shc.marmotcaravel.MarmotCaravelConfig.fir@16673.4]
+  assign _GEN_5 = _T_345 ? _T_248 : _T_362; // @[Reg.scala 12:19:shc.marmotcaravel.MarmotCaravelConfig.fir@16681.4]
+  assign _T_364 = _GEN_5 == 1'h0; // @[Fragmenter.scala 274:21:shc.marmotcaravel.MarmotCaravelConfig.fir@16685.4]
+  assign _T_92_a_valid = Repeater_io_deq_valid; // @[Nodes.scala 332:76:shc.marmotcaravel.MarmotCaravelConfig.fir@16545.4 Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@16694.4]
+  assign _T_365 = auto_out_a_ready & _T_92_a_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@16686.4]
+  assign _T_366 = _T_341 == 1'h0; // @[Fragmenter.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@16690.4]
+  assign _T_367 = _T_354 != 4'h0; // @[Fragmenter.scala 279:51:shc.marmotcaravel.MarmotCaravelConfig.fir@16691.4]
+  assign _GEN_12 = {{2'd0}, _T_350}; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@16695.4]
+  assign _T_369 = _GEN_12 << 2; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@16695.4]
+  assign _T_370 = ~ _T_335; // @[Fragmenter.scala 281:88:shc.marmotcaravel.MarmotCaravelConfig.fir@16696.4]
+  assign _T_371 = _T_369 | _T_370; // @[Fragmenter.scala 281:86:shc.marmotcaravel.MarmotCaravelConfig.fir@16697.4]
+  assign _GEN_13 = {{4'd0}, _T_339}; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@16698.4]
+  assign _T_372 = _T_371 | _GEN_13; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@16698.4]
+  assign _T_373 = _T_372 | 6'h3; // @[Fragmenter.scala 281:109:shc.marmotcaravel.MarmotCaravelConfig.fir@16699.4]
+  assign _T_374 = ~ _T_373; // @[Fragmenter.scala 281:49:shc.marmotcaravel.MarmotCaravelConfig.fir@16700.4]
+  assign _GEN_14 = {{22'd0}, _T_374}; // @[Fragmenter.scala 281:47:shc.marmotcaravel.MarmotCaravelConfig.fir@16701.4]
+  assign _T_376 = {Repeater_io_deq_bits_source,_T_364}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@16703.4]
+  assign _T_378 = Repeater_io_full == 1'h0; // @[Fragmenter.scala 286:15:shc.marmotcaravel.MarmotCaravelConfig.fir@16707.4]
+  assign _T_380 = _T_378 | _T_366; // @[Fragmenter.scala 286:33:shc.marmotcaravel.MarmotCaravelConfig.fir@16709.4]
+  assign _T_382 = _T_380 | reset; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16711.4]
+  assign _T_383 = _T_382 == 1'h0; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16712.4]
+  assign _T_385 = Repeater_io_deq_bits_mask == 4'hf; // @[Fragmenter.scala 289:51:shc.marmotcaravel.MarmotCaravelConfig.fir@16719.4]
+  assign _T_386 = _T_378 | _T_385; // @[Fragmenter.scala 289:33:shc.marmotcaravel.MarmotCaravelConfig.fir@16720.4]
+  assign _T_388 = _T_386 | reset; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16722.4]
+  assign _T_389 = _T_388 == 1'h0; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16723.4]
+  assign auto_in_a_ready = Repeater_io_enq_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@16548.4]
+  assign auto_in_d_valid = auto_out_d_valid & _T_302; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@16548.4]
+  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@16548.4]
+  assign auto_in_d_bits_size = _T_250 ? _T_290 : _T_246; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@16548.4]
+  assign auto_in_d_bits_source = auto_out_d_bits_source[5:5]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@16548.4]
+  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@16548.4]
+  assign auto_out_a_valid = Repeater_io_deq_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@16547.4]
+  assign auto_out_a_bits_opcode = Repeater_io_deq_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@16547.4]
+  assign auto_out_a_bits_param = Repeater_io_deq_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@16547.4]
+  assign auto_out_a_bits_size = _T_331[1:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@16547.4]
+  assign auto_out_a_bits_source = {_T_376,_T_354}; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@16547.4]
+  assign auto_out_a_bits_address = Repeater_io_deq_bits_address | _GEN_14; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@16547.4]
+  assign auto_out_a_bits_mask = Repeater_io_full ? 4'hf : auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@16547.4]
+  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@16547.4]
+  assign auto_out_a_bits_corrupt = Repeater_io_deq_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@16547.4]
+  assign auto_out_d_ready = auto_in_d_ready | _T_300; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@16547.4]
+  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16510.4]
+  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16511.4]
+  assign TLMonitor_io_in_a_ready = Repeater_io_enq_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@16544.4]
+  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@16544.4]
+  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@16544.4]
+  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@16544.4]
+  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@16544.4]
+  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@16544.4]
+  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@16544.4]
+  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@16544.4]
+  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@16544.4]
+  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@16544.4]
+  assign TLMonitor_io_in_d_valid = auto_out_d_valid & _T_302; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@16544.4]
+  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@16544.4]
+  assign TLMonitor_io_in_d_bits_size = _T_250 ? _T_290 : _T_246; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@16544.4]
+  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source[5:5]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@16544.4]
+  assign Repeater_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16627.4]
+  assign Repeater_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16628.4]
+  assign Repeater_io_repeat = _T_366 & _T_367; // @[Fragmenter.scala 279:26:shc.marmotcaravel.MarmotCaravelConfig.fir@16693.4]
+  assign Repeater_io_enq_valid = auto_in_a_valid; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@16629.4]
+  assign Repeater_io_enq_bits_opcode = auto_in_a_bits_opcode; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@16629.4]
+  assign Repeater_io_enq_bits_param = auto_in_a_bits_param; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@16629.4]
+  assign Repeater_io_enq_bits_size = auto_in_a_bits_size; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@16629.4]
+  assign Repeater_io_enq_bits_source = auto_in_a_bits_source; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@16629.4]
+  assign Repeater_io_enq_bits_address = auto_in_a_bits_address; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@16629.4]
+  assign Repeater_io_enq_bits_mask = auto_in_a_bits_mask; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@16629.4]
+  assign Repeater_io_enq_bits_corrupt = auto_in_a_bits_corrupt; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@16629.4]
+  assign Repeater_io_deq_ready = auto_out_a_ready; // @[Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@16694.4]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  _T_244 = _RAND_0[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  _T_246 = _RAND_1[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  _T_248 = _RAND_2[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  _T_344 = _RAND_3[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  _T_362 = _RAND_4[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      _T_244 <= 4'h0;
+    end else begin
+      if (_T_291) begin
+        if (_T_250) begin
+          _T_244 <= _T_249;
+        end else begin
+          _T_244 <= _T_294;
+        end
+      end
+    end
+    if (_T_291) begin
+      if (_T_250) begin
+        _T_246 <= _T_290;
+      end
+    end
+    if (reset) begin
+      _T_248 <= 1'h0;
+    end else begin
+      if (_T_291) begin
+        if (_T_250) begin
+          _T_248 <= _T_296;
+        end
+      end
+    end
+    if (reset) begin
+      _T_344 <= 4'h0;
+    end else begin
+      if (_T_365) begin
+        _T_344 <= _T_354;
+      end
+    end
+    if (_T_345) begin
+      _T_362 <= _T_248;
+    end
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:180 assert (!out.d.valid || (acknum_fragment & acknum_size) === UInt(0))\n"); // @[Fragmenter.scala 180:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16573.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Fragmenter.scala 180:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16574.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_383) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:286 assert (!repeater.io.full || !aHasData)\n"); // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16714.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_383) begin
+          $fatal; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16715.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_389) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:289 assert (!repeater.io.full || in_a.bits.mask === fullMask)\n"); // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16725.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_389) begin
+          $fatal; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16726.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+endmodule
+module TLMonitor_8( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16744.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16745.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16746.4]
+  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16747.4]
+  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16747.4]
+  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16747.4]
+  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16747.4]
+  input  [2:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16747.4]
+  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16747.4]
+  input  [27:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16747.4]
+  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16747.4]
+  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16747.4]
+  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16747.4]
+  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16747.4]
+  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16747.4]
+  input  [2:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16747.4]
+  input         io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16747.4]
+);
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@17879.4]
+  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@16763.6]
+  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@16768.6]
+  wire [12:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@16770.6]
+  wire [5:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@16771.6]
+  wire [5:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@16772.6]
+  wire [27:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@16773.6]
+  wire [27:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@16773.6]
+  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@16774.6]
+  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@16776.6]
+  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@16777.6]
+  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@16779.6]
+  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@16780.6]
+  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@16781.6]
+  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@16782.6]
+  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@16783.6]
+  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@16785.6]
+  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@16786.6]
+  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@16788.6]
+  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@16789.6]
+  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@16790.6]
+  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@16791.6]
+  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@16792.6]
+  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@16793.6]
+  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@16794.6]
+  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@16795.6]
+  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@16796.6]
+  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@16797.6]
+  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@16798.6]
+  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@16799.6]
+  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@16800.6]
+  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@16801.6]
+  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@16802.6]
+  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@16803.6]
+  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@16804.6]
+  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@16805.6]
+  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@16806.6]
+  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@16807.6]
+  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@16832.6]
+  wire [27:0] _T_92; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@16835.8]
+  wire [28:0] _T_93; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@16836.8]
+  wire [28:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@16837.8]
+  wire [28:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@16838.8]
+  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@16839.8]
+  wire  _T_101; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16844.8]
+  wire  _T_106; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16857.8]
+  wire  _T_107; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16858.8]
+  wire  _T_110; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16865.8]
+  wire  _T_111; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16866.8]
+  wire  _T_113; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16872.8]
+  wire  _T_114; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16873.8]
+  wire  _T_115; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@16878.8]
+  wire  _T_117; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16880.8]
+  wire  _T_118; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16881.8]
+  wire [3:0] _T_119; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@16886.8]
+  wire  _T_120; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16887.8]
+  wire  _T_122; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16889.8]
+  wire  _T_123; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16890.8]
+  wire  _T_124; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@16895.8]
+  wire  _T_126; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16897.8]
+  wire  _T_127; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16898.8]
+  wire  _T_128; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@16904.6]
+  wire  _T_157; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16958.8]
+  wire  _T_159; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16960.8]
+  wire  _T_160; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16961.8]
+  wire  _T_170; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@16984.6]
+  wire  _T_172; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@16987.8]
+  wire  _T_180; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@16995.8]
+  wire  _T_183; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16998.8]
+  wire  _T_184; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16999.8]
+  wire  _T_191; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17018.8]
+  wire  _T_193; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17020.8]
+  wire  _T_194; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17021.8]
+  wire  _T_195; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@17026.8]
+  wire  _T_197; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17028.8]
+  wire  _T_198; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17029.8]
+  wire  _T_203; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@17043.6]
+  wire  _T_232; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@17094.6]
+  wire [3:0] _T_257; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@17136.8]
+  wire [3:0] _T_258; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17137.8]
+  wire  _T_259; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@17138.8]
+  wire  _T_261; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17140.8]
+  wire  _T_262; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17141.8]
+  wire  _T_263; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@17147.6]
+  wire  _T_281; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@17178.8]
+  wire  _T_283; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17180.8]
+  wire  _T_284; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17181.8]
+  wire  _T_289; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@17195.6]
+  wire  _T_307; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@17226.8]
+  wire  _T_309; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17228.8]
+  wire  _T_310; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17229.8]
+  wire  _T_315; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@17243.6]
+  wire  _T_341; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@17293.6]
+  wire  _T_343; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@17295.6]
+  wire  _T_344; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@17296.6]
+  wire  _T_346; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@17302.6]
+  wire  _T_355; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@17307.6]
+  wire  _T_357; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@17309.6]
+  wire  _T_359; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17312.8]
+  wire  _T_360; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17313.8]
+  wire  _T_361; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@17318.8]
+  wire  _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17320.8]
+  wire  _T_364; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17321.8]
+  wire  _T_377; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@17351.6]
+  wire  _T_405; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@17409.6]
+  wire  _T_434; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@17468.6]
+  wire  _T_451; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@17503.6]
+  wire  _T_469; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@17539.6]
+  wire  _T_498; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@17599.4]
+  wire [3:0] _T_503; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@17604.4]
+  wire  _T_504; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@17605.4]
+  wire  _T_505; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17606.4]
+  reg [3:0] _T_508; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@17608.4]
+  reg [31:0] _RAND_0;
+  wire [4:0] _T_509; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17609.4]
+  wire [4:0] _T_510; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17610.4]
+  wire [3:0] _T_511; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17611.4]
+  wire  _T_512; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@17612.4]
+  reg [2:0] _T_521; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@17623.4]
+  reg [31:0] _RAND_1;
+  reg [2:0] _T_523; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@17624.4]
+  reg [31:0] _RAND_2;
+  reg [2:0] _T_525; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@17625.4]
+  reg [31:0] _RAND_3;
+  reg  _T_527; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@17626.4]
+  reg [31:0] _RAND_4;
+  reg [27:0] _T_529; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@17627.4]
+  reg [31:0] _RAND_5;
+  wire  _T_530; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@17628.4]
+  wire  _T_531; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@17629.4]
+  wire  _T_532; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@17631.6]
+  wire  _T_534; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17633.6]
+  wire  _T_535; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17634.6]
+  wire  _T_536; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@17639.6]
+  wire  _T_538; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17641.6]
+  wire  _T_539; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17642.6]
+  wire  _T_540; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@17647.6]
+  wire  _T_542; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17649.6]
+  wire  _T_543; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17650.6]
+  wire  _T_544; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@17655.6]
+  wire  _T_546; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17657.6]
+  wire  _T_547; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17658.6]
+  wire  _T_548; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@17663.6]
+  wire  _T_550; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17665.6]
+  wire  _T_551; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17666.6]
+  wire  _T_553; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@17673.4]
+  wire  _T_554; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@17681.4]
+  wire [12:0] _T_556; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@17683.4]
+  wire [5:0] _T_557; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@17684.4]
+  wire [5:0] _T_558; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@17685.4]
+  wire [3:0] _T_559; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@17686.4]
+  wire  _T_560; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@17687.4]
+  reg [3:0] _T_563; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@17689.4]
+  reg [31:0] _RAND_6;
+  wire [4:0] _T_564; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17690.4]
+  wire [4:0] _T_565; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17691.4]
+  wire [3:0] _T_566; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17692.4]
+  wire  _T_567; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@17693.4]
+  reg [2:0] _T_576; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@17704.4]
+  reg [31:0] _RAND_7;
+  reg [2:0] _T_580; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@17706.4]
+  reg [31:0] _RAND_8;
+  reg  _T_582; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@17707.4]
+  reg [31:0] _RAND_9;
+  wire  _T_587; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@17710.4]
+  wire  _T_588; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@17711.4]
+  wire  _T_589; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@17713.6]
+  wire  _T_591; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17715.6]
+  wire  _T_592; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17716.6]
+  wire  _T_597; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@17729.6]
+  wire  _T_599; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17731.6]
+  wire  _T_600; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17732.6]
+  wire  _T_601; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@17737.6]
+  wire  _T_603; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17739.6]
+  wire  _T_604; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17740.6]
+  wire  _T_614; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@17763.4]
+  reg [1:0] _T_616; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@17772.4]
+  reg [31:0] _RAND_10;
+  reg [3:0] _T_627; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@17782.4]
+  reg [31:0] _RAND_11;
+  wire [4:0] _T_628; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17783.4]
+  wire [4:0] _T_629; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17784.4]
+  wire [3:0] _T_630; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17785.4]
+  wire  _T_631; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@17786.4]
+  reg [3:0] _T_648; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@17805.4]
+  reg [31:0] _RAND_12;
+  wire [4:0] _T_649; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17806.4]
+  wire [4:0] _T_650; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17807.4]
+  wire [3:0] _T_651; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17808.4]
+  wire  _T_652; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@17809.4]
+  wire  _T_663; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@17824.4]
+  wire [1:0] _T_665; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@17827.6]
+  wire [1:0] _T_666; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@17829.6]
+  wire  _T_667; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@17830.6]
+  wire  _T_668; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17831.6]
+  wire  _T_670; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@17833.6]
+  wire  _T_671; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@17834.6]
+  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@17826.4]
+  wire  _T_676; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@17845.4]
+  wire  _T_678; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@17847.4]
+  wire  _T_679; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@17848.4]
+  wire [1:0] _T_680; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@17850.6]
+  wire [1:0] _T_681; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@17852.6]
+  wire [1:0] _T_682; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@17853.6]
+  wire  _T_683; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@17854.6]
+  wire  _T_685; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@17856.6]
+  wire  _T_686; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@17857.6]
+  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@17849.4]
+  wire  _T_687; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@17863.4]
+  wire  _T_688; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@17864.4]
+  wire  _T_689; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@17865.4]
+  wire  _T_690; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@17866.4]
+  wire  _T_692; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@17868.4]
+  wire  _T_693; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@17869.4]
+  wire [1:0] _T_694; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@17874.4]
+  wire [1:0] _T_695; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@17875.4]
+  wire [1:0] _T_696; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@17876.4]
+  reg [31:0] _T_698; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@17878.4]
+  reg [31:0] _RAND_13;
+  wire  _T_699; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@17881.4]
+  wire  _T_700; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@17882.4]
+  wire  _T_701; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@17883.4]
+  wire  _T_702; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@17884.4]
+  wire  _T_703; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@17885.4]
+  wire  _T_704; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@17886.4]
+  wire  _T_706; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@17888.4]
+  wire  _T_707; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@17889.4]
+  wire [31:0] _T_709; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@17895.4]
+  wire  _T_712; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@17899.4]
+  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16846.10]
+  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16918.10]
+  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17001.10]
+  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17060.10]
+  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17111.10]
+  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17161.10]
+  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17209.10]
+  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17257.10]
+  wire  _GEN_115; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17315.10]
+  wire  _GEN_119; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17357.10]
+  wire  _GEN_125; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17415.10]
+  wire  _GEN_131; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17474.10]
+  wire  _GEN_133; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17509.10]
+  wire  _GEN_135; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17545.10]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@17879.4]
+    .out(plusarg_reader_out)
+  );
+  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@16763.6]
+  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@16768.6]
+  assign _T_32 = 13'h3f << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@16770.6]
+  assign _T_33 = _T_32[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@16771.6]
+  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@16772.6]
+  assign _GEN_18 = {{22'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@16773.6]
+  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@16773.6]
+  assign _T_36 = _T_35 == 28'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@16774.6]
+  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@16776.6]
+  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@16777.6]
+  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@16779.6]
+  assign _T_42 = io_in_a_bits_size >= 3'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@16780.6]
+  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@16781.6]
+  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@16782.6]
+  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@16783.6]
+  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@16785.6]
+  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@16786.6]
+  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@16788.6]
+  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@16789.6]
+  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@16790.6]
+  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@16791.6]
+  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@16792.6]
+  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@16793.6]
+  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@16794.6]
+  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@16795.6]
+  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@16796.6]
+  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@16797.6]
+  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@16798.6]
+  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@16799.6]
+  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@16800.6]
+  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@16801.6]
+  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@16802.6]
+  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@16803.6]
+  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@16804.6]
+  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@16805.6]
+  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@16806.6]
+  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@16807.6]
+  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@16832.6]
+  assign _T_92 = io_in_a_bits_address ^ 28'hc000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@16835.8]
+  assign _T_93 = {1'b0,$signed(_T_92)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@16836.8]
+  assign _T_94 = $signed(_T_93) & $signed(-29'sh4000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@16837.8]
+  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@16838.8]
+  assign _T_96 = $signed(_T_95) == $signed(29'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@16839.8]
+  assign _T_101 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16844.8]
+  assign _T_106 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16857.8]
+  assign _T_107 = _T_106 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16858.8]
+  assign _T_110 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16865.8]
+  assign _T_111 = _T_110 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16866.8]
+  assign _T_113 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16872.8]
+  assign _T_114 = _T_113 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16873.8]
+  assign _T_115 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@16878.8]
+  assign _T_117 = _T_115 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16880.8]
+  assign _T_118 = _T_117 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16881.8]
+  assign _T_119 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@16886.8]
+  assign _T_120 = _T_119 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16887.8]
+  assign _T_122 = _T_120 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16889.8]
+  assign _T_123 = _T_122 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16890.8]
+  assign _T_124 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@16895.8]
+  assign _T_126 = _T_124 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16897.8]
+  assign _T_127 = _T_126 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16898.8]
+  assign _T_128 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@16904.6]
+  assign _T_157 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16958.8]
+  assign _T_159 = _T_157 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16960.8]
+  assign _T_160 = _T_159 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16961.8]
+  assign _T_170 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@16984.6]
+  assign _T_172 = io_in_a_bits_size <= 3'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@16987.8]
+  assign _T_180 = _T_172 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@16995.8]
+  assign _T_183 = _T_180 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16998.8]
+  assign _T_184 = _T_183 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16999.8]
+  assign _T_191 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17018.8]
+  assign _T_193 = _T_191 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17020.8]
+  assign _T_194 = _T_193 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17021.8]
+  assign _T_195 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@17026.8]
+  assign _T_197 = _T_195 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17028.8]
+  assign _T_198 = _T_197 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17029.8]
+  assign _T_203 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@17043.6]
+  assign _T_232 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@17094.6]
+  assign _T_257 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@17136.8]
+  assign _T_258 = io_in_a_bits_mask & _T_257; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17137.8]
+  assign _T_259 = _T_258 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@17138.8]
+  assign _T_261 = _T_259 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17140.8]
+  assign _T_262 = _T_261 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17141.8]
+  assign _T_263 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@17147.6]
+  assign _T_281 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@17178.8]
+  assign _T_283 = _T_281 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17180.8]
+  assign _T_284 = _T_283 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17181.8]
+  assign _T_289 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@17195.6]
+  assign _T_307 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@17226.8]
+  assign _T_309 = _T_307 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17228.8]
+  assign _T_310 = _T_309 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17229.8]
+  assign _T_315 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@17243.6]
+  assign _T_341 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@17293.6]
+  assign _T_343 = _T_341 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@17295.6]
+  assign _T_344 = _T_343 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@17296.6]
+  assign _T_346 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@17302.6]
+  assign _T_355 = io_in_d_bits_source | _T_346; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@17307.6]
+  assign _T_357 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@17309.6]
+  assign _T_359 = _T_355 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17312.8]
+  assign _T_360 = _T_359 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17313.8]
+  assign _T_361 = io_in_d_bits_size >= 3'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@17318.8]
+  assign _T_363 = _T_361 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17320.8]
+  assign _T_364 = _T_363 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17321.8]
+  assign _T_377 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@17351.6]
+  assign _T_405 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@17409.6]
+  assign _T_434 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@17468.6]
+  assign _T_451 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@17503.6]
+  assign _T_469 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@17539.6]
+  assign _T_498 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@17599.4]
+  assign _T_503 = _T_34[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@17604.4]
+  assign _T_504 = io_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@17605.4]
+  assign _T_505 = _T_504 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17606.4]
+  assign _T_509 = _T_508 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17609.4]
+  assign _T_510 = $unsigned(_T_509); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17610.4]
+  assign _T_511 = _T_510[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17611.4]
+  assign _T_512 = _T_508 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@17612.4]
+  assign _T_530 = _T_512 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@17628.4]
+  assign _T_531 = io_in_a_valid & _T_530; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@17629.4]
+  assign _T_532 = io_in_a_bits_opcode == _T_521; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@17631.6]
+  assign _T_534 = _T_532 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17633.6]
+  assign _T_535 = _T_534 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17634.6]
+  assign _T_536 = io_in_a_bits_param == _T_523; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@17639.6]
+  assign _T_538 = _T_536 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17641.6]
+  assign _T_539 = _T_538 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17642.6]
+  assign _T_540 = io_in_a_bits_size == _T_525; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@17647.6]
+  assign _T_542 = _T_540 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17649.6]
+  assign _T_543 = _T_542 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17650.6]
+  assign _T_544 = io_in_a_bits_source == _T_527; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@17655.6]
+  assign _T_546 = _T_544 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17657.6]
+  assign _T_547 = _T_546 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17658.6]
+  assign _T_548 = io_in_a_bits_address == _T_529; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@17663.6]
+  assign _T_550 = _T_548 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17665.6]
+  assign _T_551 = _T_550 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17666.6]
+  assign _T_553 = _T_498 & _T_512; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@17673.4]
+  assign _T_554 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@17681.4]
+  assign _T_556 = 13'h3f << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@17683.4]
+  assign _T_557 = _T_556[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@17684.4]
+  assign _T_558 = ~ _T_557; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@17685.4]
+  assign _T_559 = _T_558[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@17686.4]
+  assign _T_560 = io_in_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@17687.4]
+  assign _T_564 = _T_563 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17690.4]
+  assign _T_565 = $unsigned(_T_564); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17691.4]
+  assign _T_566 = _T_565[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17692.4]
+  assign _T_567 = _T_563 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@17693.4]
+  assign _T_587 = _T_567 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@17710.4]
+  assign _T_588 = io_in_d_valid & _T_587; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@17711.4]
+  assign _T_589 = io_in_d_bits_opcode == _T_576; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@17713.6]
+  assign _T_591 = _T_589 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17715.6]
+  assign _T_592 = _T_591 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17716.6]
+  assign _T_597 = io_in_d_bits_size == _T_580; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@17729.6]
+  assign _T_599 = _T_597 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17731.6]
+  assign _T_600 = _T_599 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17732.6]
+  assign _T_601 = io_in_d_bits_source == _T_582; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@17737.6]
+  assign _T_603 = _T_601 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17739.6]
+  assign _T_604 = _T_603 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17740.6]
+  assign _T_614 = _T_554 & _T_567; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@17763.4]
+  assign _T_628 = _T_627 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17783.4]
+  assign _T_629 = $unsigned(_T_628); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17784.4]
+  assign _T_630 = _T_629[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17785.4]
+  assign _T_631 = _T_627 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@17786.4]
+  assign _T_649 = _T_648 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17806.4]
+  assign _T_650 = $unsigned(_T_649); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17807.4]
+  assign _T_651 = _T_650[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17808.4]
+  assign _T_652 = _T_648 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@17809.4]
+  assign _T_663 = _T_498 & _T_631; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@17824.4]
+  assign _T_665 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@17827.6]
+  assign _T_666 = _T_616 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@17829.6]
+  assign _T_667 = _T_666[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@17830.6]
+  assign _T_668 = _T_667 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17831.6]
+  assign _T_670 = _T_668 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@17833.6]
+  assign _T_671 = _T_670 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@17834.6]
+  assign _GEN_15 = _T_663 ? _T_665 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@17826.4]
+  assign _T_676 = _T_554 & _T_652; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@17845.4]
+  assign _T_678 = _T_357 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@17847.4]
+  assign _T_679 = _T_676 & _T_678; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@17848.4]
+  assign _T_680 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@17850.6]
+  assign _T_681 = _GEN_15 | _T_616; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@17852.6]
+  assign _T_682 = _T_681 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@17853.6]
+  assign _T_683 = _T_682[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@17854.6]
+  assign _T_685 = _T_683 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@17856.6]
+  assign _T_686 = _T_685 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@17857.6]
+  assign _GEN_16 = _T_679 ? _T_680 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@17849.4]
+  assign _T_687 = _GEN_15 != _GEN_16; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@17863.4]
+  assign _T_688 = _GEN_15 != 2'h0; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@17864.4]
+  assign _T_689 = _T_688 == 1'h0; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@17865.4]
+  assign _T_690 = _T_687 | _T_689; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@17866.4]
+  assign _T_692 = _T_690 | reset; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@17868.4]
+  assign _T_693 = _T_692 == 1'h0; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@17869.4]
+  assign _T_694 = _T_616 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@17874.4]
+  assign _T_695 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@17875.4]
+  assign _T_696 = _T_694 & _T_695; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@17876.4]
+  assign _T_699 = _T_616 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@17881.4]
+  assign _T_700 = _T_699 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@17882.4]
+  assign _T_701 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@17883.4]
+  assign _T_702 = _T_700 | _T_701; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@17884.4]
+  assign _T_703 = _T_698 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@17885.4]
+  assign _T_704 = _T_702 | _T_703; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@17886.4]
+  assign _T_706 = _T_704 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@17888.4]
+  assign _T_707 = _T_706 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@17889.4]
+  assign _T_709 = _T_698 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@17895.4]
+  assign _T_712 = _T_498 | _T_554; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@17899.4]
+  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16846.10]
+  assign _GEN_35 = io_in_a_valid & _T_128; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16918.10]
+  assign _GEN_53 = io_in_a_valid & _T_170; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17001.10]
+  assign _GEN_65 = io_in_a_valid & _T_203; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17060.10]
+  assign _GEN_75 = io_in_a_valid & _T_232; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17111.10]
+  assign _GEN_85 = io_in_a_valid & _T_263; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17161.10]
+  assign _GEN_95 = io_in_a_valid & _T_289; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17209.10]
+  assign _GEN_105 = io_in_a_valid & _T_315; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17257.10]
+  assign _GEN_115 = io_in_d_valid & _T_357; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17315.10]
+  assign _GEN_119 = io_in_d_valid & _T_377; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17357.10]
+  assign _GEN_125 = io_in_d_valid & _T_405; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17415.10]
+  assign _GEN_131 = io_in_d_valid & _T_434; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17474.10]
+  assign _GEN_133 = io_in_d_valid & _T_451; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17509.10]
+  assign _GEN_135 = io_in_d_valid & _T_469; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17545.10]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  _T_508 = _RAND_0[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  _T_521 = _RAND_1[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  _T_523 = _RAND_2[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  _T_525 = _RAND_3[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  _T_527 = _RAND_4[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  _T_529 = _RAND_5[27:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {1{`RANDOM}};
+  _T_563 = _RAND_6[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {1{`RANDOM}};
+  _T_576 = _RAND_7[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_8 = {1{`RANDOM}};
+  _T_580 = _RAND_8[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_9 = {1{`RANDOM}};
+  _T_582 = _RAND_9[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_10 = {1{`RANDOM}};
+  _T_616 = _RAND_10[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_11 = {1{`RANDOM}};
+  _T_627 = _RAND_11[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_12 = {1{`RANDOM}};
+  _T_648 = _RAND_12[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_13 = {1{`RANDOM}};
+  _T_698 = _RAND_13[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      _T_508 <= 4'h0;
+    end else begin
+      if (_T_498) begin
+        if (_T_512) begin
+          if (_T_505) begin
+            _T_508 <= _T_503;
+          end else begin
+            _T_508 <= 4'h0;
+          end
+        end else begin
+          _T_508 <= _T_511;
+        end
+      end
+    end
+    if (_T_553) begin
+      _T_521 <= io_in_a_bits_opcode;
+    end
+    if (_T_553) begin
+      _T_523 <= io_in_a_bits_param;
+    end
+    if (_T_553) begin
+      _T_525 <= io_in_a_bits_size;
+    end
+    if (_T_553) begin
+      _T_527 <= io_in_a_bits_source;
+    end
+    if (_T_553) begin
+      _T_529 <= io_in_a_bits_address;
+    end
+    if (reset) begin
+      _T_563 <= 4'h0;
+    end else begin
+      if (_T_554) begin
+        if (_T_567) begin
+          if (_T_560) begin
+            _T_563 <= _T_559;
+          end else begin
+            _T_563 <= 4'h0;
+          end
+        end else begin
+          _T_563 <= _T_566;
+        end
+      end
+    end
+    if (_T_614) begin
+      _T_576 <= io_in_d_bits_opcode;
+    end
+    if (_T_614) begin
+      _T_580 <= io_in_d_bits_size;
+    end
+    if (_T_614) begin
+      _T_582 <= io_in_d_bits_source;
+    end
+    if (reset) begin
+      _T_616 <= 2'h0;
+    end else begin
+      _T_616 <= _T_696;
+    end
+    if (reset) begin
+      _T_627 <= 4'h0;
+    end else begin
+      if (_T_498) begin
+        if (_T_631) begin
+          if (_T_505) begin
+            _T_627 <= _T_503;
+          end else begin
+            _T_627 <= 4'h0;
+          end
+        end else begin
+          _T_627 <= _T_630;
+        end
+      end
+    end
+    if (reset) begin
+      _T_648 <= 4'h0;
+    end else begin
+      if (_T_554) begin
+        if (_T_652) begin
+          if (_T_560) begin
+            _T_648 <= _T_559;
+          end else begin
+            _T_648 <= 4'h0;
+          end
+        end else begin
+          _T_648 <= _T_651;
+        end
+      end
+    end
+    if (reset) begin
+      _T_698 <= 32'h0;
+    end else begin
+      if (_T_712) begin
+        _T_698 <= 32'h0;
+      end else begin
+        _T_698 <= _T_709;
+      end
+    end
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@16759.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@16760.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@16829.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@16830.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16846.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_101) begin
+          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16847.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16853.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_101) begin
+          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16854.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16860.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_107) begin
+          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16861.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_111) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16868.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_111) begin
+          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16869.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16875.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_114) begin
+          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16876.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_118) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16883.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_118) begin
+          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16884.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_123) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16892.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_123) begin
+          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16893.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_127) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16900.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_127) begin
+          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16901.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16918.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_101) begin
+          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16919.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16925.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_101) begin
+          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16926.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16932.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_107) begin
+          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16933.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_111) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16940.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_111) begin
+          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16941.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16947.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_114) begin
+          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16948.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_118) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16955.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_118) begin
+          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16956.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_160) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16963.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_160) begin
+          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16964.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_123) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16972.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_123) begin
+          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16973.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_127) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16980.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_127) begin
+          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16981.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_184) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17001.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_184) begin
+          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17002.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17008.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_107) begin
+          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17009.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17015.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_114) begin
+          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17016.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_194) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17023.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_194) begin
+          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17024.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_198) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17031.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_198) begin
+          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17032.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_127) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17039.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_127) begin
+          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17040.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_184) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17060.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_184) begin
+          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17061.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17067.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_107) begin
+          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17068.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17074.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_114) begin
+          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17075.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_194) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17082.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_194) begin
+          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17083.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_198) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17090.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_198) begin
+          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17091.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_184) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17111.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_184) begin
+          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17112.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17118.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_107) begin
+          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17119.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17125.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_114) begin
+          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17126.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_194) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17133.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_194) begin
+          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17134.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_262) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17143.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_262) begin
+          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17144.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17161.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_101) begin
+          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17162.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17168.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_107) begin
+          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17169.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17175.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_114) begin
+          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17176.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_284) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17183.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_284) begin
+          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17184.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_198) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17191.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_198) begin
+          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17192.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17209.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_101) begin
+          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17210.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17216.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_107) begin
+          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17217.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17223.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_114) begin
+          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17224.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_310) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17231.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_310) begin
+          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17232.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_198) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17239.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_198) begin
+          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17240.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17257.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_101) begin
+          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17258.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17264.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_107) begin
+          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17265.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17271.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_114) begin
+          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17272.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_198) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17279.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_198) begin
+          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17280.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_127) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17287.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_127) begin
+          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17288.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_344) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@17298.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_344) begin
+          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@17299.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_360) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17315.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_360) begin
+          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17316.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_364) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17323.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_364) begin
+          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17324.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17331.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17332.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17339.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17340.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17347.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17348.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_119 & _T_360) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17357.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_119 & _T_360) begin
+          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17358.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_119 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17364.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_119 & _T_101) begin
+          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17365.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_119 & _T_364) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17372.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_119 & _T_364) begin
+          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17373.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17380.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17381.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17388.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17389.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17396.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17397.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17405.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17406.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_360) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17415.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_360) begin
+          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17416.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17422.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_101) begin
+          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17423.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_364) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17430.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_364) begin
+          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17431.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17438.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17439.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17446.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17447.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17455.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17456.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17464.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17465.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_131 & _T_360) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17474.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_131 & _T_360) begin
+          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17475.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17482.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17483.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17490.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17491.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17499.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17500.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_133 & _T_360) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17509.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_133 & _T_360) begin
+          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17510.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17517.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17518.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17526.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17527.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17535.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17536.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_135 & _T_360) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17545.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_135 & _T_360) begin
+          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17546.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17553.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17554.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17561.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17562.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17570.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17571.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17580.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17581.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17588.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17589.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17596.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17597.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_531 & _T_535) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17636.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_531 & _T_535) begin
+          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17637.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_531 & _T_539) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17644.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_531 & _T_539) begin
+          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17645.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_531 & _T_543) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17652.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_531 & _T_543) begin
+          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17653.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_531 & _T_547) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17660.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_531 & _T_547) begin
+          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17661.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_531 & _T_551) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17668.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_531 & _T_551) begin
+          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17669.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_588 & _T_592) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17718.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_588 & _T_592) begin
+          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17719.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17726.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17727.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_588 & _T_600) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17734.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_588 & _T_600) begin
+          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17735.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_588 & _T_604) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17742.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_588 & _T_604) begin
+          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17743.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17750.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17751.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17758.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17759.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_663 & _T_671) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@17836.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_663 & _T_671) begin
+          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@17837.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_679 & _T_686) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@17859.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_679 & _T_686) begin
+          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@17860.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_693) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' and 'D' concurrent, despite minlatency 1 (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:471 assert(a_set =/= d_clr || !a_set.orR, s\"'A' and 'D' concurrent, despite minlatency ${edge.manager.minLatency}\" + extra)\n"); // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@17871.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_693) begin
+          $fatal; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@17872.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_707) begin
+          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@17891.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_707) begin
+          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@17892.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+endmodule
+module TLBuffer_2( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17904.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17905.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17906.4]
+  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17907.4]
+  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17907.4]
+  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17907.4]
+  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17907.4]
+  input  [2:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17907.4]
+  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17907.4]
+  input  [27:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17907.4]
+  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17907.4]
+  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17907.4]
+  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17907.4]
+  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17907.4]
+  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17907.4]
+  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17907.4]
+  output [2:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17907.4]
+  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17907.4]
+  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17907.4]
+  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17907.4]
+  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17907.4]
+  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17907.4]
+  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17907.4]
+  output [2:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17907.4]
+  output        auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17907.4]
+  output [27:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17907.4]
+  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17907.4]
+  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17907.4]
+  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17907.4]
+  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17907.4]
+  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17907.4]
+  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17907.4]
+  input  [2:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17907.4]
+  input         auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17907.4]
+  input  [31:0] auto_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17907.4]
+);
+  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@17914.4]
+  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@17914.4]
+  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@17914.4]
+  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@17914.4]
+  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@17914.4]
+  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@17914.4]
+  wire [2:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@17914.4]
+  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@17914.4]
+  wire [27:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@17914.4]
+  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@17914.4]
+  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@17914.4]
+  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@17914.4]
+  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@17914.4]
+  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@17914.4]
+  wire [2:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@17914.4]
+  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@17914.4]
+  TLMonitor_8 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@17914.4]
+    .clock(TLMonitor_clock),
+    .reset(TLMonitor_reset),
+    .io_in_a_ready(TLMonitor_io_in_a_ready),
+    .io_in_a_valid(TLMonitor_io_in_a_valid),
+    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
+    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
+    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
+    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
+    .io_in_d_ready(TLMonitor_io_in_d_ready),
+    .io_in_d_valid(TLMonitor_io_in_d_valid),
+    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
+    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
+    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source)
+  );
+  assign auto_in_a_ready = auto_out_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@17954.4]
+  assign auto_in_d_valid = auto_out_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@17954.4]
+  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@17954.4]
+  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@17954.4]
+  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@17954.4]
+  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@17954.4]
+  assign auto_out_a_valid = auto_in_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@17953.4]
+  assign auto_out_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@17953.4]
+  assign auto_out_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@17953.4]
+  assign auto_out_a_bits_size = auto_in_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@17953.4]
+  assign auto_out_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@17953.4]
+  assign auto_out_a_bits_address = auto_in_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@17953.4]
+  assign auto_out_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@17953.4]
+  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@17953.4]
+  assign auto_out_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@17953.4]
+  assign auto_out_d_ready = auto_in_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@17953.4]
+  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17916.4]
+  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17917.4]
+  assign TLMonitor_io_in_a_ready = auto_out_a_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@17950.4]
+  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@17950.4]
+  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@17950.4]
+  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@17950.4]
+  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@17950.4]
+  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@17950.4]
+  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@17950.4]
+  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@17950.4]
+  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@17950.4]
+  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@17950.4]
+  assign TLMonitor_io_in_d_valid = auto_out_d_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@17950.4]
+  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@17950.4]
+  assign TLMonitor_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@17950.4]
+  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@17950.4]
+endmodule
+module SimpleLazyModule_2( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17964.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17965.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17966.4]
+  output        auto_buffer_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17967.4]
+  input         auto_buffer_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17967.4]
+  input  [2:0]  auto_buffer_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17967.4]
+  input  [2:0]  auto_buffer_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17967.4]
+  input  [2:0]  auto_buffer_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17967.4]
+  input         auto_buffer_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17967.4]
+  input  [27:0] auto_buffer_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17967.4]
+  input  [3:0]  auto_buffer_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17967.4]
+  input  [31:0] auto_buffer_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17967.4]
+  input         auto_buffer_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17967.4]
+  input         auto_buffer_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17967.4]
+  output        auto_buffer_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17967.4]
+  output [2:0]  auto_buffer_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17967.4]
+  output [2:0]  auto_buffer_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17967.4]
+  output        auto_buffer_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17967.4]
+  output [31:0] auto_buffer_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17967.4]
+  input         auto_fragmenter_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17967.4]
+  output        auto_fragmenter_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17967.4]
+  output [2:0]  auto_fragmenter_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17967.4]
+  output [2:0]  auto_fragmenter_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17967.4]
+  output [1:0]  auto_fragmenter_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17967.4]
+  output [5:0]  auto_fragmenter_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17967.4]
+  output [27:0] auto_fragmenter_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17967.4]
+  output [3:0]  auto_fragmenter_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17967.4]
+  output [31:0] auto_fragmenter_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17967.4]
+  output        auto_fragmenter_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17967.4]
+  output        auto_fragmenter_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17967.4]
+  input         auto_fragmenter_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17967.4]
+  input  [2:0]  auto_fragmenter_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17967.4]
+  input  [1:0]  auto_fragmenter_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17967.4]
+  input  [5:0]  auto_fragmenter_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17967.4]
+  input  [31:0] auto_fragmenter_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17967.4]
+);
+  wire  fragmenter_clock; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@17972.4]
+  wire  fragmenter_reset; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@17972.4]
+  wire  fragmenter_auto_in_a_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@17972.4]
+  wire  fragmenter_auto_in_a_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@17972.4]
+  wire [2:0] fragmenter_auto_in_a_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@17972.4]
+  wire [2:0] fragmenter_auto_in_a_bits_param; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@17972.4]
+  wire [2:0] fragmenter_auto_in_a_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@17972.4]
+  wire  fragmenter_auto_in_a_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@17972.4]
+  wire [27:0] fragmenter_auto_in_a_bits_address; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@17972.4]
+  wire [3:0] fragmenter_auto_in_a_bits_mask; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@17972.4]
+  wire [31:0] fragmenter_auto_in_a_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@17972.4]
+  wire  fragmenter_auto_in_a_bits_corrupt; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@17972.4]
+  wire  fragmenter_auto_in_d_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@17972.4]
+  wire  fragmenter_auto_in_d_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@17972.4]
+  wire [2:0] fragmenter_auto_in_d_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@17972.4]
+  wire [2:0] fragmenter_auto_in_d_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@17972.4]
+  wire  fragmenter_auto_in_d_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@17972.4]
+  wire [31:0] fragmenter_auto_in_d_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@17972.4]
+  wire  fragmenter_auto_out_a_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@17972.4]
+  wire  fragmenter_auto_out_a_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@17972.4]
+  wire [2:0] fragmenter_auto_out_a_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@17972.4]
+  wire [2:0] fragmenter_auto_out_a_bits_param; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@17972.4]
+  wire [1:0] fragmenter_auto_out_a_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@17972.4]
+  wire [5:0] fragmenter_auto_out_a_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@17972.4]
+  wire [27:0] fragmenter_auto_out_a_bits_address; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@17972.4]
+  wire [3:0] fragmenter_auto_out_a_bits_mask; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@17972.4]
+  wire [31:0] fragmenter_auto_out_a_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@17972.4]
+  wire  fragmenter_auto_out_a_bits_corrupt; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@17972.4]
+  wire  fragmenter_auto_out_d_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@17972.4]
+  wire  fragmenter_auto_out_d_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@17972.4]
+  wire [2:0] fragmenter_auto_out_d_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@17972.4]
+  wire [1:0] fragmenter_auto_out_d_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@17972.4]
+  wire [5:0] fragmenter_auto_out_d_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@17972.4]
+  wire [31:0] fragmenter_auto_out_d_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@17972.4]
+  wire  buffer_clock; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17978.4]
+  wire  buffer_reset; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17978.4]
+  wire  buffer_auto_in_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17978.4]
+  wire  buffer_auto_in_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17978.4]
+  wire [2:0] buffer_auto_in_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17978.4]
+  wire [2:0] buffer_auto_in_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17978.4]
+  wire [2:0] buffer_auto_in_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17978.4]
+  wire  buffer_auto_in_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17978.4]
+  wire [27:0] buffer_auto_in_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17978.4]
+  wire [3:0] buffer_auto_in_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17978.4]
+  wire [31:0] buffer_auto_in_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17978.4]
+  wire  buffer_auto_in_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17978.4]
+  wire  buffer_auto_in_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17978.4]
+  wire  buffer_auto_in_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17978.4]
+  wire [2:0] buffer_auto_in_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17978.4]
+  wire [2:0] buffer_auto_in_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17978.4]
+  wire  buffer_auto_in_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17978.4]
+  wire [31:0] buffer_auto_in_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17978.4]
+  wire  buffer_auto_out_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17978.4]
+  wire  buffer_auto_out_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17978.4]
+  wire [2:0] buffer_auto_out_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17978.4]
+  wire [2:0] buffer_auto_out_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17978.4]
+  wire [2:0] buffer_auto_out_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17978.4]
+  wire  buffer_auto_out_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17978.4]
+  wire [27:0] buffer_auto_out_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17978.4]
+  wire [3:0] buffer_auto_out_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17978.4]
+  wire [31:0] buffer_auto_out_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17978.4]
+  wire  buffer_auto_out_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17978.4]
+  wire  buffer_auto_out_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17978.4]
+  wire  buffer_auto_out_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17978.4]
+  wire [2:0] buffer_auto_out_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17978.4]
+  wire [2:0] buffer_auto_out_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17978.4]
+  wire  buffer_auto_out_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17978.4]
+  wire [31:0] buffer_auto_out_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17978.4]
+  TLFragmenter fragmenter ( // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@17972.4]
+    .clock(fragmenter_clock),
+    .reset(fragmenter_reset),
+    .auto_in_a_ready(fragmenter_auto_in_a_ready),
+    .auto_in_a_valid(fragmenter_auto_in_a_valid),
+    .auto_in_a_bits_opcode(fragmenter_auto_in_a_bits_opcode),
+    .auto_in_a_bits_param(fragmenter_auto_in_a_bits_param),
+    .auto_in_a_bits_size(fragmenter_auto_in_a_bits_size),
+    .auto_in_a_bits_source(fragmenter_auto_in_a_bits_source),
+    .auto_in_a_bits_address(fragmenter_auto_in_a_bits_address),
+    .auto_in_a_bits_mask(fragmenter_auto_in_a_bits_mask),
+    .auto_in_a_bits_data(fragmenter_auto_in_a_bits_data),
+    .auto_in_a_bits_corrupt(fragmenter_auto_in_a_bits_corrupt),
+    .auto_in_d_ready(fragmenter_auto_in_d_ready),
+    .auto_in_d_valid(fragmenter_auto_in_d_valid),
+    .auto_in_d_bits_opcode(fragmenter_auto_in_d_bits_opcode),
+    .auto_in_d_bits_size(fragmenter_auto_in_d_bits_size),
+    .auto_in_d_bits_source(fragmenter_auto_in_d_bits_source),
+    .auto_in_d_bits_data(fragmenter_auto_in_d_bits_data),
+    .auto_out_a_ready(fragmenter_auto_out_a_ready),
+    .auto_out_a_valid(fragmenter_auto_out_a_valid),
+    .auto_out_a_bits_opcode(fragmenter_auto_out_a_bits_opcode),
+    .auto_out_a_bits_param(fragmenter_auto_out_a_bits_param),
+    .auto_out_a_bits_size(fragmenter_auto_out_a_bits_size),
+    .auto_out_a_bits_source(fragmenter_auto_out_a_bits_source),
+    .auto_out_a_bits_address(fragmenter_auto_out_a_bits_address),
+    .auto_out_a_bits_mask(fragmenter_auto_out_a_bits_mask),
+    .auto_out_a_bits_data(fragmenter_auto_out_a_bits_data),
+    .auto_out_a_bits_corrupt(fragmenter_auto_out_a_bits_corrupt),
+    .auto_out_d_ready(fragmenter_auto_out_d_ready),
+    .auto_out_d_valid(fragmenter_auto_out_d_valid),
+    .auto_out_d_bits_opcode(fragmenter_auto_out_d_bits_opcode),
+    .auto_out_d_bits_size(fragmenter_auto_out_d_bits_size),
+    .auto_out_d_bits_source(fragmenter_auto_out_d_bits_source),
+    .auto_out_d_bits_data(fragmenter_auto_out_d_bits_data)
+  );
+  TLBuffer_2 buffer ( // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17978.4]
+    .clock(buffer_clock),
+    .reset(buffer_reset),
+    .auto_in_a_ready(buffer_auto_in_a_ready),
+    .auto_in_a_valid(buffer_auto_in_a_valid),
+    .auto_in_a_bits_opcode(buffer_auto_in_a_bits_opcode),
+    .auto_in_a_bits_param(buffer_auto_in_a_bits_param),
+    .auto_in_a_bits_size(buffer_auto_in_a_bits_size),
+    .auto_in_a_bits_source(buffer_auto_in_a_bits_source),
+    .auto_in_a_bits_address(buffer_auto_in_a_bits_address),
+    .auto_in_a_bits_mask(buffer_auto_in_a_bits_mask),
+    .auto_in_a_bits_data(buffer_auto_in_a_bits_data),
+    .auto_in_a_bits_corrupt(buffer_auto_in_a_bits_corrupt),
+    .auto_in_d_ready(buffer_auto_in_d_ready),
+    .auto_in_d_valid(buffer_auto_in_d_valid),
+    .auto_in_d_bits_opcode(buffer_auto_in_d_bits_opcode),
+    .auto_in_d_bits_size(buffer_auto_in_d_bits_size),
+    .auto_in_d_bits_source(buffer_auto_in_d_bits_source),
+    .auto_in_d_bits_data(buffer_auto_in_d_bits_data),
+    .auto_out_a_ready(buffer_auto_out_a_ready),
+    .auto_out_a_valid(buffer_auto_out_a_valid),
+    .auto_out_a_bits_opcode(buffer_auto_out_a_bits_opcode),
+    .auto_out_a_bits_param(buffer_auto_out_a_bits_param),
+    .auto_out_a_bits_size(buffer_auto_out_a_bits_size),
+    .auto_out_a_bits_source(buffer_auto_out_a_bits_source),
+    .auto_out_a_bits_address(buffer_auto_out_a_bits_address),
+    .auto_out_a_bits_mask(buffer_auto_out_a_bits_mask),
+    .auto_out_a_bits_data(buffer_auto_out_a_bits_data),
+    .auto_out_a_bits_corrupt(buffer_auto_out_a_bits_corrupt),
+    .auto_out_d_ready(buffer_auto_out_d_ready),
+    .auto_out_d_valid(buffer_auto_out_d_valid),
+    .auto_out_d_bits_opcode(buffer_auto_out_d_bits_opcode),
+    .auto_out_d_bits_size(buffer_auto_out_d_bits_size),
+    .auto_out_d_bits_source(buffer_auto_out_d_bits_source),
+    .auto_out_d_bits_data(buffer_auto_out_d_bits_data)
+  );
+  assign auto_buffer_in_a_ready = buffer_auto_in_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@17986.4]
+  assign auto_buffer_in_d_valid = buffer_auto_in_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@17986.4]
+  assign auto_buffer_in_d_bits_opcode = buffer_auto_in_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@17986.4]
+  assign auto_buffer_in_d_bits_size = buffer_auto_in_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@17986.4]
+  assign auto_buffer_in_d_bits_source = buffer_auto_in_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@17986.4]
+  assign auto_buffer_in_d_bits_data = buffer_auto_in_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@17986.4]
+  assign auto_fragmenter_out_a_valid = fragmenter_auto_out_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@17985.4]
+  assign auto_fragmenter_out_a_bits_opcode = fragmenter_auto_out_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@17985.4]
+  assign auto_fragmenter_out_a_bits_param = fragmenter_auto_out_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@17985.4]
+  assign auto_fragmenter_out_a_bits_size = fragmenter_auto_out_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@17985.4]
+  assign auto_fragmenter_out_a_bits_source = fragmenter_auto_out_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@17985.4]
+  assign auto_fragmenter_out_a_bits_address = fragmenter_auto_out_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@17985.4]
+  assign auto_fragmenter_out_a_bits_mask = fragmenter_auto_out_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@17985.4]
+  assign auto_fragmenter_out_a_bits_data = fragmenter_auto_out_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@17985.4]
+  assign auto_fragmenter_out_a_bits_corrupt = fragmenter_auto_out_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@17985.4]
+  assign auto_fragmenter_out_d_ready = fragmenter_auto_out_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@17985.4]
+  assign fragmenter_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17976.4]
+  assign fragmenter_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17977.4]
+  assign fragmenter_auto_in_a_valid = buffer_auto_out_a_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@17984.4]
+  assign fragmenter_auto_in_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@17984.4]
+  assign fragmenter_auto_in_a_bits_param = buffer_auto_out_a_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@17984.4]
+  assign fragmenter_auto_in_a_bits_size = buffer_auto_out_a_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@17984.4]
+  assign fragmenter_auto_in_a_bits_source = buffer_auto_out_a_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@17984.4]
+  assign fragmenter_auto_in_a_bits_address = buffer_auto_out_a_bits_address; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@17984.4]
+  assign fragmenter_auto_in_a_bits_mask = buffer_auto_out_a_bits_mask; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@17984.4]
+  assign fragmenter_auto_in_a_bits_data = buffer_auto_out_a_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@17984.4]
+  assign fragmenter_auto_in_a_bits_corrupt = buffer_auto_out_a_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@17984.4]
+  assign fragmenter_auto_in_d_ready = buffer_auto_out_d_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@17984.4]
+  assign fragmenter_auto_out_a_ready = auto_fragmenter_out_a_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@17985.4]
+  assign fragmenter_auto_out_d_valid = auto_fragmenter_out_d_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@17985.4]
+  assign fragmenter_auto_out_d_bits_opcode = auto_fragmenter_out_d_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@17985.4]
+  assign fragmenter_auto_out_d_bits_size = auto_fragmenter_out_d_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@17985.4]
+  assign fragmenter_auto_out_d_bits_source = auto_fragmenter_out_d_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@17985.4]
+  assign fragmenter_auto_out_d_bits_data = auto_fragmenter_out_d_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@17985.4]
+  assign buffer_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17982.4]
+  assign buffer_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17983.4]
+  assign buffer_auto_in_a_valid = auto_buffer_in_a_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@17986.4]
+  assign buffer_auto_in_a_bits_opcode = auto_buffer_in_a_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@17986.4]
+  assign buffer_auto_in_a_bits_param = auto_buffer_in_a_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@17986.4]
+  assign buffer_auto_in_a_bits_size = auto_buffer_in_a_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@17986.4]
+  assign buffer_auto_in_a_bits_source = auto_buffer_in_a_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@17986.4]
+  assign buffer_auto_in_a_bits_address = auto_buffer_in_a_bits_address; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@17986.4]
+  assign buffer_auto_in_a_bits_mask = auto_buffer_in_a_bits_mask; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@17986.4]
+  assign buffer_auto_in_a_bits_data = auto_buffer_in_a_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@17986.4]
+  assign buffer_auto_in_a_bits_corrupt = auto_buffer_in_a_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@17986.4]
+  assign buffer_auto_in_d_ready = auto_buffer_in_d_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@17986.4]
+  assign buffer_auto_out_a_ready = fragmenter_auto_in_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@17984.4]
+  assign buffer_auto_out_d_valid = fragmenter_auto_in_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@17984.4]
+  assign buffer_auto_out_d_bits_opcode = fragmenter_auto_in_d_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@17984.4]
+  assign buffer_auto_out_d_bits_size = fragmenter_auto_in_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@17984.4]
+  assign buffer_auto_out_d_bits_source = fragmenter_auto_in_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@17984.4]
+  assign buffer_auto_out_d_bits_data = fragmenter_auto_in_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@17984.4]
+endmodule
+module TLMonitor_9( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17995.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17996.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17997.4]
+  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17998.4]
+  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17998.4]
+  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17998.4]
+  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17998.4]
+  input  [2:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17998.4]
+  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17998.4]
+  input  [25:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17998.4]
+  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17998.4]
+  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17998.4]
+  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17998.4]
+  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17998.4]
+  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17998.4]
+  input  [2:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17998.4]
+  input         io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17998.4]
+);
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@19119.4]
+  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@18014.6]
+  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@18019.6]
+  wire [12:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@18021.6]
+  wire [5:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@18022.6]
+  wire [5:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@18023.6]
+  wire [25:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@18024.6]
+  wire [25:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@18024.6]
+  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@18025.6]
+  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@18027.6]
+  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@18028.6]
+  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@18030.6]
+  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@18031.6]
+  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@18032.6]
+  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@18033.6]
+  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@18034.6]
+  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@18036.6]
+  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@18037.6]
+  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@18039.6]
+  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@18040.6]
+  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@18041.6]
+  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@18042.6]
+  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@18043.6]
+  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@18044.6]
+  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@18045.6]
+  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@18046.6]
+  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@18047.6]
+  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@18048.6]
+  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@18049.6]
+  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@18050.6]
+  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@18051.6]
+  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@18052.6]
+  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@18053.6]
+  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@18054.6]
+  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@18055.6]
+  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@18056.6]
+  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@18057.6]
+  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@18058.6]
+  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@18083.6]
+  wire [25:0] _T_92; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@18086.8]
+  wire [26:0] _T_93; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@18087.8]
+  wire [26:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@18088.8]
+  wire [26:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@18089.8]
+  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@18090.8]
+  wire  _T_101; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18095.8]
+  wire  _T_106; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18108.8]
+  wire  _T_107; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18109.8]
+  wire  _T_110; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18116.8]
+  wire  _T_111; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18117.8]
+  wire  _T_113; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18123.8]
+  wire  _T_114; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18124.8]
+  wire  _T_115; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@18129.8]
+  wire  _T_117; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18131.8]
+  wire  _T_118; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18132.8]
+  wire [3:0] _T_119; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@18137.8]
+  wire  _T_120; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@18138.8]
+  wire  _T_122; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18140.8]
+  wire  _T_123; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18141.8]
+  wire  _T_124; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@18146.8]
+  wire  _T_126; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18148.8]
+  wire  _T_127; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18149.8]
+  wire  _T_128; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@18155.6]
+  wire  _T_157; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@18209.8]
+  wire  _T_159; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18211.8]
+  wire  _T_160; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18212.8]
+  wire  _T_170; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@18235.6]
+  wire  _T_172; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@18238.8]
+  wire  _T_180; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@18246.8]
+  wire  _T_183; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18249.8]
+  wire  _T_184; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18250.8]
+  wire  _T_191; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@18269.8]
+  wire  _T_193; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18271.8]
+  wire  _T_194; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18272.8]
+  wire  _T_195; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@18277.8]
+  wire  _T_197; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18279.8]
+  wire  _T_198; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18280.8]
+  wire  _T_203; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@18294.6]
+  wire  _T_232; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@18345.6]
+  wire [3:0] _T_257; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@18387.8]
+  wire [3:0] _T_258; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@18388.8]
+  wire  _T_259; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@18389.8]
+  wire  _T_261; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18391.8]
+  wire  _T_262; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18392.8]
+  wire  _T_263; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@18398.6]
+  wire  _T_281; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@18429.8]
+  wire  _T_283; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18431.8]
+  wire  _T_284; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18432.8]
+  wire  _T_289; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@18446.6]
+  wire  _T_307; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@18477.8]
+  wire  _T_309; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18479.8]
+  wire  _T_310; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18480.8]
+  wire  _T_315; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@18494.6]
+  wire  _T_341; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@18544.6]
+  wire  _T_343; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@18546.6]
+  wire  _T_344; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@18547.6]
+  wire  _T_346; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@18553.6]
+  wire  _T_355; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@18558.6]
+  wire  _T_357; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@18560.6]
+  wire  _T_359; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18563.8]
+  wire  _T_360; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18564.8]
+  wire  _T_361; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@18569.8]
+  wire  _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18571.8]
+  wire  _T_364; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18572.8]
+  wire  _T_377; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@18602.6]
+  wire  _T_405; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@18660.6]
+  wire  _T_434; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@18719.6]
+  wire  _T_451; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@18754.6]
+  wire  _T_469; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@18790.6]
+  wire  _T_498; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@18850.4]
+  wire [3:0] _T_503; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@18855.4]
+  wire  _T_504; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@18856.4]
+  wire  _T_505; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@18857.4]
+  reg [3:0] _T_508; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@18859.4]
+  reg [31:0] _RAND_0;
+  wire [4:0] _T_509; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@18860.4]
+  wire [4:0] _T_510; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@18861.4]
+  wire [3:0] _T_511; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@18862.4]
+  wire  _T_512; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@18863.4]
+  reg [2:0] _T_521; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@18874.4]
+  reg [31:0] _RAND_1;
+  reg [2:0] _T_523; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@18875.4]
+  reg [31:0] _RAND_2;
+  reg [2:0] _T_525; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@18876.4]
+  reg [31:0] _RAND_3;
+  reg  _T_527; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@18877.4]
+  reg [31:0] _RAND_4;
+  reg [25:0] _T_529; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@18878.4]
+  reg [31:0] _RAND_5;
+  wire  _T_530; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@18879.4]
+  wire  _T_531; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@18880.4]
+  wire  _T_532; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@18882.6]
+  wire  _T_534; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18884.6]
+  wire  _T_535; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18885.6]
+  wire  _T_536; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@18890.6]
+  wire  _T_538; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18892.6]
+  wire  _T_539; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18893.6]
+  wire  _T_540; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@18898.6]
+  wire  _T_542; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18900.6]
+  wire  _T_543; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18901.6]
+  wire  _T_544; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@18906.6]
+  wire  _T_546; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18908.6]
+  wire  _T_547; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18909.6]
+  wire  _T_548; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@18914.6]
+  wire  _T_550; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18916.6]
+  wire  _T_551; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18917.6]
+  wire  _T_553; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@18924.4]
+  wire  _T_554; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@18932.4]
+  wire [12:0] _T_556; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@18934.4]
+  wire [5:0] _T_557; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@18935.4]
+  wire [5:0] _T_558; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@18936.4]
+  wire [3:0] _T_559; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@18937.4]
+  wire  _T_560; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@18938.4]
+  reg [3:0] _T_563; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@18940.4]
+  reg [31:0] _RAND_6;
+  wire [4:0] _T_564; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@18941.4]
+  wire [4:0] _T_565; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@18942.4]
+  wire [3:0] _T_566; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@18943.4]
+  wire  _T_567; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@18944.4]
+  reg [2:0] _T_576; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@18955.4]
+  reg [31:0] _RAND_7;
+  reg [2:0] _T_580; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@18957.4]
+  reg [31:0] _RAND_8;
+  reg  _T_582; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@18958.4]
+  reg [31:0] _RAND_9;
+  wire  _T_587; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@18961.4]
+  wire  _T_588; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@18962.4]
+  wire  _T_589; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@18964.6]
+  wire  _T_591; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18966.6]
+  wire  _T_592; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18967.6]
+  wire  _T_597; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@18980.6]
+  wire  _T_599; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18982.6]
+  wire  _T_600; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18983.6]
+  wire  _T_601; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@18988.6]
+  wire  _T_603; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18990.6]
+  wire  _T_604; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18991.6]
+  wire  _T_614; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@19014.4]
+  reg [1:0] _T_616; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@19023.4]
+  reg [31:0] _RAND_10;
+  reg [3:0] _T_627; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@19033.4]
+  reg [31:0] _RAND_11;
+  wire [4:0] _T_628; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19034.4]
+  wire [4:0] _T_629; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19035.4]
+  wire [3:0] _T_630; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19036.4]
+  wire  _T_631; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@19037.4]
+  reg [3:0] _T_648; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@19056.4]
+  reg [31:0] _RAND_12;
+  wire [4:0] _T_649; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19057.4]
+  wire [4:0] _T_650; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19058.4]
+  wire [3:0] _T_651; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19059.4]
+  wire  _T_652; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@19060.4]
+  wire  _T_663; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@19075.4]
+  wire [1:0] _T_665; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@19078.6]
+  wire [1:0] _T_666; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@19080.6]
+  wire  _T_667; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@19081.6]
+  wire  _T_668; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19082.6]
+  wire  _T_670; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@19084.6]
+  wire  _T_671; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@19085.6]
+  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@19077.4]
+  wire  _T_676; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@19096.4]
+  wire  _T_678; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@19098.4]
+  wire  _T_679; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@19099.4]
+  wire [1:0] _T_680; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@19101.6]
+  wire [1:0] _T_681; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@19103.6]
+  wire [1:0] _T_682; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@19104.6]
+  wire  _T_683; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@19105.6]
+  wire  _T_685; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@19107.6]
+  wire  _T_686; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@19108.6]
+  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@19100.4]
+  wire [1:0] _T_687; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@19114.4]
+  wire [1:0] _T_688; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@19115.4]
+  wire [1:0] _T_689; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@19116.4]
+  reg [31:0] _T_691; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@19118.4]
+  reg [31:0] _RAND_13;
+  wire  _T_692; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@19121.4]
+  wire  _T_693; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@19122.4]
+  wire  _T_694; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@19123.4]
+  wire  _T_695; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@19124.4]
+  wire  _T_696; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@19125.4]
+  wire  _T_697; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@19126.4]
+  wire  _T_699; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@19128.4]
+  wire  _T_700; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@19129.4]
+  wire [31:0] _T_702; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@19135.4]
+  wire  _T_705; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@19139.4]
+  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18097.10]
+  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18169.10]
+  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18252.10]
+  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18311.10]
+  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18362.10]
+  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18412.10]
+  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18460.10]
+  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18508.10]
+  wire  _GEN_115; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18566.10]
+  wire  _GEN_119; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18608.10]
+  wire  _GEN_125; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18666.10]
+  wire  _GEN_131; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18725.10]
+  wire  _GEN_133; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18760.10]
+  wire  _GEN_135; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18796.10]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@19119.4]
+    .out(plusarg_reader_out)
+  );
+  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@18014.6]
+  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@18019.6]
+  assign _T_32 = 13'h3f << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@18021.6]
+  assign _T_33 = _T_32[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@18022.6]
+  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@18023.6]
+  assign _GEN_18 = {{20'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@18024.6]
+  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@18024.6]
+  assign _T_36 = _T_35 == 26'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@18025.6]
+  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@18027.6]
+  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@18028.6]
+  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@18030.6]
+  assign _T_42 = io_in_a_bits_size >= 3'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@18031.6]
+  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@18032.6]
+  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@18033.6]
+  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@18034.6]
+  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@18036.6]
+  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@18037.6]
+  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@18039.6]
+  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@18040.6]
+  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@18041.6]
+  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@18042.6]
+  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@18043.6]
+  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@18044.6]
+  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@18045.6]
+  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@18046.6]
+  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@18047.6]
+  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@18048.6]
+  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@18049.6]
+  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@18050.6]
+  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@18051.6]
+  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@18052.6]
+  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@18053.6]
+  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@18054.6]
+  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@18055.6]
+  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@18056.6]
+  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@18057.6]
+  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@18058.6]
+  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@18083.6]
+  assign _T_92 = io_in_a_bits_address ^ 26'h2000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@18086.8]
+  assign _T_93 = {1'b0,$signed(_T_92)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@18087.8]
+  assign _T_94 = $signed(_T_93) & $signed(-27'sh10000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@18088.8]
+  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@18089.8]
+  assign _T_96 = $signed(_T_95) == $signed(27'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@18090.8]
+  assign _T_101 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18095.8]
+  assign _T_106 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18108.8]
+  assign _T_107 = _T_106 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18109.8]
+  assign _T_110 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18116.8]
+  assign _T_111 = _T_110 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18117.8]
+  assign _T_113 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18123.8]
+  assign _T_114 = _T_113 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18124.8]
+  assign _T_115 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@18129.8]
+  assign _T_117 = _T_115 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18131.8]
+  assign _T_118 = _T_117 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18132.8]
+  assign _T_119 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@18137.8]
+  assign _T_120 = _T_119 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@18138.8]
+  assign _T_122 = _T_120 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18140.8]
+  assign _T_123 = _T_122 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18141.8]
+  assign _T_124 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@18146.8]
+  assign _T_126 = _T_124 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18148.8]
+  assign _T_127 = _T_126 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18149.8]
+  assign _T_128 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@18155.6]
+  assign _T_157 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@18209.8]
+  assign _T_159 = _T_157 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18211.8]
+  assign _T_160 = _T_159 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18212.8]
+  assign _T_170 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@18235.6]
+  assign _T_172 = io_in_a_bits_size <= 3'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@18238.8]
+  assign _T_180 = _T_172 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@18246.8]
+  assign _T_183 = _T_180 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18249.8]
+  assign _T_184 = _T_183 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18250.8]
+  assign _T_191 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@18269.8]
+  assign _T_193 = _T_191 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18271.8]
+  assign _T_194 = _T_193 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18272.8]
+  assign _T_195 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@18277.8]
+  assign _T_197 = _T_195 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18279.8]
+  assign _T_198 = _T_197 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18280.8]
+  assign _T_203 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@18294.6]
+  assign _T_232 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@18345.6]
+  assign _T_257 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@18387.8]
+  assign _T_258 = io_in_a_bits_mask & _T_257; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@18388.8]
+  assign _T_259 = _T_258 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@18389.8]
+  assign _T_261 = _T_259 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18391.8]
+  assign _T_262 = _T_261 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18392.8]
+  assign _T_263 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@18398.6]
+  assign _T_281 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@18429.8]
+  assign _T_283 = _T_281 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18431.8]
+  assign _T_284 = _T_283 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18432.8]
+  assign _T_289 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@18446.6]
+  assign _T_307 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@18477.8]
+  assign _T_309 = _T_307 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18479.8]
+  assign _T_310 = _T_309 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18480.8]
+  assign _T_315 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@18494.6]
+  assign _T_341 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@18544.6]
+  assign _T_343 = _T_341 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@18546.6]
+  assign _T_344 = _T_343 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@18547.6]
+  assign _T_346 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@18553.6]
+  assign _T_355 = io_in_d_bits_source | _T_346; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@18558.6]
+  assign _T_357 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@18560.6]
+  assign _T_359 = _T_355 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18563.8]
+  assign _T_360 = _T_359 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18564.8]
+  assign _T_361 = io_in_d_bits_size >= 3'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@18569.8]
+  assign _T_363 = _T_361 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18571.8]
+  assign _T_364 = _T_363 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18572.8]
+  assign _T_377 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@18602.6]
+  assign _T_405 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@18660.6]
+  assign _T_434 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@18719.6]
+  assign _T_451 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@18754.6]
+  assign _T_469 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@18790.6]
+  assign _T_498 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@18850.4]
+  assign _T_503 = _T_34[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@18855.4]
+  assign _T_504 = io_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@18856.4]
+  assign _T_505 = _T_504 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@18857.4]
+  assign _T_509 = _T_508 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@18860.4]
+  assign _T_510 = $unsigned(_T_509); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@18861.4]
+  assign _T_511 = _T_510[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@18862.4]
+  assign _T_512 = _T_508 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@18863.4]
+  assign _T_530 = _T_512 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@18879.4]
+  assign _T_531 = io_in_a_valid & _T_530; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@18880.4]
+  assign _T_532 = io_in_a_bits_opcode == _T_521; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@18882.6]
+  assign _T_534 = _T_532 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18884.6]
+  assign _T_535 = _T_534 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18885.6]
+  assign _T_536 = io_in_a_bits_param == _T_523; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@18890.6]
+  assign _T_538 = _T_536 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18892.6]
+  assign _T_539 = _T_538 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18893.6]
+  assign _T_540 = io_in_a_bits_size == _T_525; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@18898.6]
+  assign _T_542 = _T_540 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18900.6]
+  assign _T_543 = _T_542 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18901.6]
+  assign _T_544 = io_in_a_bits_source == _T_527; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@18906.6]
+  assign _T_546 = _T_544 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18908.6]
+  assign _T_547 = _T_546 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18909.6]
+  assign _T_548 = io_in_a_bits_address == _T_529; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@18914.6]
+  assign _T_550 = _T_548 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18916.6]
+  assign _T_551 = _T_550 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18917.6]
+  assign _T_553 = _T_498 & _T_512; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@18924.4]
+  assign _T_554 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@18932.4]
+  assign _T_556 = 13'h3f << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@18934.4]
+  assign _T_557 = _T_556[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@18935.4]
+  assign _T_558 = ~ _T_557; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@18936.4]
+  assign _T_559 = _T_558[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@18937.4]
+  assign _T_560 = io_in_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@18938.4]
+  assign _T_564 = _T_563 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@18941.4]
+  assign _T_565 = $unsigned(_T_564); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@18942.4]
+  assign _T_566 = _T_565[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@18943.4]
+  assign _T_567 = _T_563 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@18944.4]
+  assign _T_587 = _T_567 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@18961.4]
+  assign _T_588 = io_in_d_valid & _T_587; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@18962.4]
+  assign _T_589 = io_in_d_bits_opcode == _T_576; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@18964.6]
+  assign _T_591 = _T_589 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18966.6]
+  assign _T_592 = _T_591 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18967.6]
+  assign _T_597 = io_in_d_bits_size == _T_580; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@18980.6]
+  assign _T_599 = _T_597 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18982.6]
+  assign _T_600 = _T_599 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18983.6]
+  assign _T_601 = io_in_d_bits_source == _T_582; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@18988.6]
+  assign _T_603 = _T_601 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18990.6]
+  assign _T_604 = _T_603 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18991.6]
+  assign _T_614 = _T_554 & _T_567; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@19014.4]
+  assign _T_628 = _T_627 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19034.4]
+  assign _T_629 = $unsigned(_T_628); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19035.4]
+  assign _T_630 = _T_629[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19036.4]
+  assign _T_631 = _T_627 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@19037.4]
+  assign _T_649 = _T_648 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19057.4]
+  assign _T_650 = $unsigned(_T_649); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19058.4]
+  assign _T_651 = _T_650[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19059.4]
+  assign _T_652 = _T_648 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@19060.4]
+  assign _T_663 = _T_498 & _T_631; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@19075.4]
+  assign _T_665 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@19078.6]
+  assign _T_666 = _T_616 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@19080.6]
+  assign _T_667 = _T_666[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@19081.6]
+  assign _T_668 = _T_667 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19082.6]
+  assign _T_670 = _T_668 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@19084.6]
+  assign _T_671 = _T_670 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@19085.6]
+  assign _GEN_15 = _T_663 ? _T_665 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@19077.4]
+  assign _T_676 = _T_554 & _T_652; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@19096.4]
+  assign _T_678 = _T_357 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@19098.4]
+  assign _T_679 = _T_676 & _T_678; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@19099.4]
+  assign _T_680 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@19101.6]
+  assign _T_681 = _GEN_15 | _T_616; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@19103.6]
+  assign _T_682 = _T_681 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@19104.6]
+  assign _T_683 = _T_682[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@19105.6]
+  assign _T_685 = _T_683 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@19107.6]
+  assign _T_686 = _T_685 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@19108.6]
+  assign _GEN_16 = _T_679 ? _T_680 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@19100.4]
+  assign _T_687 = _T_616 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@19114.4]
+  assign _T_688 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@19115.4]
+  assign _T_689 = _T_687 & _T_688; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@19116.4]
+  assign _T_692 = _T_616 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@19121.4]
+  assign _T_693 = _T_692 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@19122.4]
+  assign _T_694 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@19123.4]
+  assign _T_695 = _T_693 | _T_694; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@19124.4]
+  assign _T_696 = _T_691 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@19125.4]
+  assign _T_697 = _T_695 | _T_696; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@19126.4]
+  assign _T_699 = _T_697 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@19128.4]
+  assign _T_700 = _T_699 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@19129.4]
+  assign _T_702 = _T_691 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@19135.4]
+  assign _T_705 = _T_498 | _T_554; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@19139.4]
+  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18097.10]
+  assign _GEN_35 = io_in_a_valid & _T_128; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18169.10]
+  assign _GEN_53 = io_in_a_valid & _T_170; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18252.10]
+  assign _GEN_65 = io_in_a_valid & _T_203; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18311.10]
+  assign _GEN_75 = io_in_a_valid & _T_232; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18362.10]
+  assign _GEN_85 = io_in_a_valid & _T_263; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18412.10]
+  assign _GEN_95 = io_in_a_valid & _T_289; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18460.10]
+  assign _GEN_105 = io_in_a_valid & _T_315; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18508.10]
+  assign _GEN_115 = io_in_d_valid & _T_357; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18566.10]
+  assign _GEN_119 = io_in_d_valid & _T_377; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18608.10]
+  assign _GEN_125 = io_in_d_valid & _T_405; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18666.10]
+  assign _GEN_131 = io_in_d_valid & _T_434; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18725.10]
+  assign _GEN_133 = io_in_d_valid & _T_451; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18760.10]
+  assign _GEN_135 = io_in_d_valid & _T_469; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18796.10]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  _T_508 = _RAND_0[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  _T_521 = _RAND_1[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  _T_523 = _RAND_2[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  _T_525 = _RAND_3[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  _T_527 = _RAND_4[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  _T_529 = _RAND_5[25:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {1{`RANDOM}};
+  _T_563 = _RAND_6[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {1{`RANDOM}};
+  _T_576 = _RAND_7[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_8 = {1{`RANDOM}};
+  _T_580 = _RAND_8[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_9 = {1{`RANDOM}};
+  _T_582 = _RAND_9[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_10 = {1{`RANDOM}};
+  _T_616 = _RAND_10[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_11 = {1{`RANDOM}};
+  _T_627 = _RAND_11[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_12 = {1{`RANDOM}};
+  _T_648 = _RAND_12[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_13 = {1{`RANDOM}};
+  _T_691 = _RAND_13[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      _T_508 <= 4'h0;
+    end else begin
+      if (_T_498) begin
+        if (_T_512) begin
+          if (_T_505) begin
+            _T_508 <= _T_503;
+          end else begin
+            _T_508 <= 4'h0;
+          end
+        end else begin
+          _T_508 <= _T_511;
+        end
+      end
+    end
+    if (_T_553) begin
+      _T_521 <= io_in_a_bits_opcode;
+    end
+    if (_T_553) begin
+      _T_523 <= io_in_a_bits_param;
+    end
+    if (_T_553) begin
+      _T_525 <= io_in_a_bits_size;
+    end
+    if (_T_553) begin
+      _T_527 <= io_in_a_bits_source;
+    end
+    if (_T_553) begin
+      _T_529 <= io_in_a_bits_address;
+    end
+    if (reset) begin
+      _T_563 <= 4'h0;
+    end else begin
+      if (_T_554) begin
+        if (_T_567) begin
+          if (_T_560) begin
+            _T_563 <= _T_559;
+          end else begin
+            _T_563 <= 4'h0;
+          end
+        end else begin
+          _T_563 <= _T_566;
+        end
+      end
+    end
+    if (_T_614) begin
+      _T_576 <= io_in_d_bits_opcode;
+    end
+    if (_T_614) begin
+      _T_580 <= io_in_d_bits_size;
+    end
+    if (_T_614) begin
+      _T_582 <= io_in_d_bits_source;
+    end
+    if (reset) begin
+      _T_616 <= 2'h0;
+    end else begin
+      _T_616 <= _T_689;
+    end
+    if (reset) begin
+      _T_627 <= 4'h0;
+    end else begin
+      if (_T_498) begin
+        if (_T_631) begin
+          if (_T_505) begin
+            _T_627 <= _T_503;
+          end else begin
+            _T_627 <= 4'h0;
+          end
+        end else begin
+          _T_627 <= _T_630;
+        end
+      end
+    end
+    if (reset) begin
+      _T_648 <= 4'h0;
+    end else begin
+      if (_T_554) begin
+        if (_T_652) begin
+          if (_T_560) begin
+            _T_648 <= _T_559;
+          end else begin
+            _T_648 <= 4'h0;
+          end
+        end else begin
+          _T_648 <= _T_651;
+        end
+      end
+    end
+    if (reset) begin
+      _T_691 <= 32'h0;
+    end else begin
+      if (_T_705) begin
+        _T_691 <= 32'h0;
+      end else begin
+        _T_691 <= _T_702;
+      end
+    end
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@18010.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@18011.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@18080.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@18081.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18097.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_101) begin
+          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18098.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18104.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_101) begin
+          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18105.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18111.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_107) begin
+          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18112.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_111) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18119.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_111) begin
+          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18120.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18126.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_114) begin
+          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18127.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_118) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18134.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_118) begin
+          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18135.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_123) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18143.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_123) begin
+          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18144.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_127) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18151.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_127) begin
+          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18152.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18169.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_101) begin
+          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18170.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18176.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_101) begin
+          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18177.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18183.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_107) begin
+          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18184.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_111) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18191.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_111) begin
+          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18192.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18198.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_114) begin
+          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18199.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_118) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18206.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_118) begin
+          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18207.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_160) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18214.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_160) begin
+          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18215.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_123) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18223.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_123) begin
+          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18224.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_127) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18231.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_127) begin
+          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18232.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_184) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18252.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_184) begin
+          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18253.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18259.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_107) begin
+          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18260.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18266.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_114) begin
+          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18267.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_194) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18274.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_194) begin
+          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18275.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_198) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18282.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_198) begin
+          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18283.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_127) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18290.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_127) begin
+          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18291.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_184) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18311.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_184) begin
+          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18312.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18318.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_107) begin
+          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18319.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18325.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_114) begin
+          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18326.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_194) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18333.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_194) begin
+          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18334.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_198) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18341.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_198) begin
+          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18342.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_184) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18362.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_184) begin
+          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18363.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18369.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_107) begin
+          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18370.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18376.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_114) begin
+          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18377.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_194) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18384.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_194) begin
+          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18385.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_262) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18394.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_262) begin
+          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18395.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18412.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_101) begin
+          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18413.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18419.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_107) begin
+          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18420.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18426.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_114) begin
+          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18427.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_284) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18434.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_284) begin
+          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18435.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_198) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18442.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_198) begin
+          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18443.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18460.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_101) begin
+          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18461.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18467.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_107) begin
+          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18468.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18474.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_114) begin
+          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18475.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_310) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18482.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_310) begin
+          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18483.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_198) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18490.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_198) begin
+          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18491.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18508.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_101) begin
+          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18509.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18515.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_107) begin
+          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18516.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18522.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_114) begin
+          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18523.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_198) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18530.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_198) begin
+          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18531.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_127) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18538.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_127) begin
+          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18539.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_344) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@18549.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_344) begin
+          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@18550.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_360) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18566.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_360) begin
+          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18567.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_364) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18574.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_364) begin
+          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18575.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18582.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18583.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18590.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18591.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18598.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18599.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_119 & _T_360) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18608.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_119 & _T_360) begin
+          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18609.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_119 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18615.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_119 & _T_101) begin
+          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18616.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_119 & _T_364) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18623.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_119 & _T_364) begin
+          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18624.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18631.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18632.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18639.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18640.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18647.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18648.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18656.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18657.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_360) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18666.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_360) begin
+          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18667.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18673.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_101) begin
+          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18674.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_364) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18681.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_364) begin
+          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18682.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18689.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18690.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18697.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18698.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18706.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18707.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18715.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18716.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_131 & _T_360) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18725.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_131 & _T_360) begin
+          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18726.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18733.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18734.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18741.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18742.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18750.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18751.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_133 & _T_360) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18760.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_133 & _T_360) begin
+          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18761.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18768.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18769.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18777.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18778.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18786.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18787.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_135 & _T_360) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18796.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_135 & _T_360) begin
+          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18797.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18804.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18805.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18812.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18813.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18821.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18822.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18831.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18832.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18839.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18840.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18847.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18848.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_531 & _T_535) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18887.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_531 & _T_535) begin
+          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18888.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_531 & _T_539) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18895.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_531 & _T_539) begin
+          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18896.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_531 & _T_543) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18903.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_531 & _T_543) begin
+          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18904.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_531 & _T_547) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18911.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_531 & _T_547) begin
+          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18912.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_531 & _T_551) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18919.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_531 & _T_551) begin
+          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18920.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_588 & _T_592) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18969.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_588 & _T_592) begin
+          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18970.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18977.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18978.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_588 & _T_600) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18985.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_588 & _T_600) begin
+          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18986.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_588 & _T_604) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18993.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_588 & _T_604) begin
+          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18994.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19001.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19002.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19009.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19010.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_663 & _T_671) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@19087.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_663 & _T_671) begin
+          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@19088.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_679 & _T_686) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@19110.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_679 & _T_686) begin
+          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@19111.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_700) begin
+          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@19131.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_700) begin
+          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@19132.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+endmodule
+module Repeater_1( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19144.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19145.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19146.4]
+  input         io_repeat, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19147.4]
+  output        io_full, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19147.4]
+  output        io_enq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19147.4]
+  input         io_enq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19147.4]
+  input  [2:0]  io_enq_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19147.4]
+  input  [2:0]  io_enq_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19147.4]
+  input  [2:0]  io_enq_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19147.4]
+  input         io_enq_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19147.4]
+  input  [25:0] io_enq_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19147.4]
+  input  [3:0]  io_enq_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19147.4]
+  input         io_enq_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19147.4]
+  input         io_deq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19147.4]
+  output        io_deq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19147.4]
+  output [2:0]  io_deq_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19147.4]
+  output [2:0]  io_deq_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19147.4]
+  output [2:0]  io_deq_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19147.4]
+  output        io_deq_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19147.4]
+  output [25:0] io_deq_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19147.4]
+  output [3:0]  io_deq_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19147.4]
+  output        io_deq_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19147.4]
+);
+  reg  full; // @[Repeater.scala 18:21:shc.marmotcaravel.MarmotCaravelConfig.fir@19152.4]
+  reg [31:0] _RAND_0;
+  reg [2:0] saved_opcode; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@19153.4]
+  reg [31:0] _RAND_1;
+  reg [2:0] saved_param; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@19153.4]
+  reg [31:0] _RAND_2;
+  reg [2:0] saved_size; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@19153.4]
+  reg [31:0] _RAND_3;
+  reg  saved_source; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@19153.4]
+  reg [31:0] _RAND_4;
+  reg [25:0] saved_address; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@19153.4]
+  reg [31:0] _RAND_5;
+  reg [3:0] saved_mask; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@19153.4]
+  reg [31:0] _RAND_6;
+  reg  saved_corrupt; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@19153.4]
+  reg [31:0] _RAND_7;
+  wire  _T_18; // @[Repeater.scala 23:35:shc.marmotcaravel.MarmotCaravelConfig.fir@19156.4]
+  wire  _T_21; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@19162.4]
+  wire  _T_22; // @[Repeater.scala 27:23:shc.marmotcaravel.MarmotCaravelConfig.fir@19163.4]
+  wire  _T_23; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@19168.4]
+  wire  _T_24; // @[Repeater.scala 28:26:shc.marmotcaravel.MarmotCaravelConfig.fir@19169.4]
+  wire  _T_25; // @[Repeater.scala 28:23:shc.marmotcaravel.MarmotCaravelConfig.fir@19170.4]
+  assign _T_18 = full == 1'h0; // @[Repeater.scala 23:35:shc.marmotcaravel.MarmotCaravelConfig.fir@19156.4]
+  assign _T_21 = io_enq_ready & io_enq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@19162.4]
+  assign _T_22 = _T_21 & io_repeat; // @[Repeater.scala 27:23:shc.marmotcaravel.MarmotCaravelConfig.fir@19163.4]
+  assign _T_23 = io_deq_ready & io_deq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@19168.4]
+  assign _T_24 = io_repeat == 1'h0; // @[Repeater.scala 28:26:shc.marmotcaravel.MarmotCaravelConfig.fir@19169.4]
+  assign _T_25 = _T_23 & _T_24; // @[Repeater.scala 28:23:shc.marmotcaravel.MarmotCaravelConfig.fir@19170.4]
+  assign io_full = full; // @[Repeater.scala 25:11:shc.marmotcaravel.MarmotCaravelConfig.fir@19161.4]
+  assign io_enq_ready = io_deq_ready & _T_18; // @[Repeater.scala 23:16:shc.marmotcaravel.MarmotCaravelConfig.fir@19158.4]
+  assign io_deq_valid = io_enq_valid | full; // @[Repeater.scala 22:16:shc.marmotcaravel.MarmotCaravelConfig.fir@19155.4]
+  assign io_deq_bits_opcode = full ? saved_opcode : io_enq_bits_opcode; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@19160.4]
+  assign io_deq_bits_param = full ? saved_param : io_enq_bits_param; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@19160.4]
+  assign io_deq_bits_size = full ? saved_size : io_enq_bits_size; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@19160.4]
+  assign io_deq_bits_source = full ? saved_source : io_enq_bits_source; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@19160.4]
+  assign io_deq_bits_address = full ? saved_address : io_enq_bits_address; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@19160.4]
+  assign io_deq_bits_mask = full ? saved_mask : io_enq_bits_mask; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@19160.4]
+  assign io_deq_bits_corrupt = full ? saved_corrupt : io_enq_bits_corrupt; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@19160.4]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  full = _RAND_0[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  saved_opcode = _RAND_1[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  saved_param = _RAND_2[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  saved_size = _RAND_3[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  saved_source = _RAND_4[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  saved_address = _RAND_5[25:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {1{`RANDOM}};
+  saved_mask = _RAND_6[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {1{`RANDOM}};
+  saved_corrupt = _RAND_7[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      full <= 1'h0;
+    end else begin
+      if (_T_25) begin
+        full <= 1'h0;
+      end else begin
+        if (_T_22) begin
+          full <= 1'h1;
+        end
+      end
+    end
+    if (_T_22) begin
+      saved_opcode <= io_enq_bits_opcode;
+    end
+    if (_T_22) begin
+      saved_param <= io_enq_bits_param;
+    end
+    if (_T_22) begin
+      saved_size <= io_enq_bits_size;
+    end
+    if (_T_22) begin
+      saved_source <= io_enq_bits_source;
+    end
+    if (_T_22) begin
+      saved_address <= io_enq_bits_address;
+    end
+    if (_T_22) begin
+      saved_mask <= io_enq_bits_mask;
+    end
+    if (_T_22) begin
+      saved_corrupt <= io_enq_bits_corrupt;
+    end
+  end
+endmodule
+module TLFragmenter_1( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19175.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19176.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19177.4]
+  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19178.4]
+  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19178.4]
+  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19178.4]
+  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19178.4]
+  input  [2:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19178.4]
+  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19178.4]
+  input  [25:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19178.4]
+  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19178.4]
+  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19178.4]
+  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19178.4]
+  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19178.4]
+  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19178.4]
+  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19178.4]
+  output [2:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19178.4]
+  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19178.4]
+  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19178.4]
+  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19178.4]
+  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19178.4]
+  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19178.4]
+  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19178.4]
+  output [1:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19178.4]
+  output [5:0]  auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19178.4]
+  output [25:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19178.4]
+  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19178.4]
+  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19178.4]
+  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19178.4]
+  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19178.4]
+  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19178.4]
+  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19178.4]
+  input  [1:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19178.4]
+  input  [5:0]  auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19178.4]
+  input  [31:0] auto_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19178.4]
+);
+  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@19185.4]
+  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@19185.4]
+  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@19185.4]
+  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@19185.4]
+  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@19185.4]
+  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@19185.4]
+  wire [2:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@19185.4]
+  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@19185.4]
+  wire [25:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@19185.4]
+  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@19185.4]
+  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@19185.4]
+  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@19185.4]
+  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@19185.4]
+  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@19185.4]
+  wire [2:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@19185.4]
+  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@19185.4]
+  wire  Repeater_clock; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19302.4]
+  wire  Repeater_reset; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19302.4]
+  wire  Repeater_io_repeat; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19302.4]
+  wire  Repeater_io_full; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19302.4]
+  wire  Repeater_io_enq_ready; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19302.4]
+  wire  Repeater_io_enq_valid; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19302.4]
+  wire [2:0] Repeater_io_enq_bits_opcode; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19302.4]
+  wire [2:0] Repeater_io_enq_bits_param; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19302.4]
+  wire [2:0] Repeater_io_enq_bits_size; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19302.4]
+  wire  Repeater_io_enq_bits_source; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19302.4]
+  wire [25:0] Repeater_io_enq_bits_address; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19302.4]
+  wire [3:0] Repeater_io_enq_bits_mask; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19302.4]
+  wire  Repeater_io_enq_bits_corrupt; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19302.4]
+  wire  Repeater_io_deq_ready; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19302.4]
+  wire  Repeater_io_deq_valid; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19302.4]
+  wire [2:0] Repeater_io_deq_bits_opcode; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19302.4]
+  wire [2:0] Repeater_io_deq_bits_param; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19302.4]
+  wire [2:0] Repeater_io_deq_bits_size; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19302.4]
+  wire  Repeater_io_deq_bits_source; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19302.4]
+  wire [25:0] Repeater_io_deq_bits_address; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19302.4]
+  wire [3:0] Repeater_io_deq_bits_mask; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19302.4]
+  wire  Repeater_io_deq_bits_corrupt; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19302.4]
+  reg [3:0] _T_244; // @[Fragmenter.scala 167:27:shc.marmotcaravel.MarmotCaravelConfig.fir@19226.4]
+  reg [31:0] _RAND_0;
+  reg [2:0] _T_246; // @[Fragmenter.scala 168:22:shc.marmotcaravel.MarmotCaravelConfig.fir@19227.4]
+  reg [31:0] _RAND_1;
+  reg  _T_248; // @[Fragmenter.scala 169:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19228.4]
+  reg [31:0] _RAND_2;
+  wire [3:0] _T_249; // @[Fragmenter.scala 170:39:shc.marmotcaravel.MarmotCaravelConfig.fir@19229.4]
+  wire  _T_250; // @[Fragmenter.scala 171:27:shc.marmotcaravel.MarmotCaravelConfig.fir@19230.4]
+  wire  _T_251; // @[Fragmenter.scala 172:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19231.4]
+  wire [3:0] _T_253; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@19233.4]
+  wire [2:0] _T_254; // @[OneHot.scala 52:27:shc.marmotcaravel.MarmotCaravelConfig.fir@19234.4]
+  wire [4:0] _T_256; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@19236.4]
+  wire [1:0] _T_257; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@19237.4]
+  wire [1:0] _T_258; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@19238.4]
+  wire  _T_259; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@19239.4]
+  wire  _T_271; // @[Fragmenter.scala 182:58:shc.marmotcaravel.MarmotCaravelConfig.fir@19255.4]
+  wire  _T_272; // @[Fragmenter.scala 182:30:shc.marmotcaravel.MarmotCaravelConfig.fir@19256.4]
+  wire [5:0] _GEN_7; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@19257.4]
+  wire [5:0] _T_273; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@19257.4]
+  wire [5:0] _GEN_8; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@19258.4]
+  wire [5:0] _T_274; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@19258.4]
+  wire [6:0] _GEN_9; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@19259.4]
+  wire [6:0] _T_275; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@19259.4]
+  wire [6:0] _T_276; // @[package.scala 183:40:shc.marmotcaravel.MarmotCaravelConfig.fir@19260.4]
+  wire [6:0] _T_277; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@19261.4]
+  wire [6:0] _T_278; // @[package.scala 183:53:shc.marmotcaravel.MarmotCaravelConfig.fir@19262.4]
+  wire [6:0] _T_279; // @[package.scala 183:51:shc.marmotcaravel.MarmotCaravelConfig.fir@19263.4]
+  wire [2:0] _T_280; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@19264.4]
+  wire [3:0] _T_281; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@19265.4]
+  wire  _T_282; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19266.4]
+  wire [3:0] _GEN_10; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19267.4]
+  wire [3:0] _T_283; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19267.4]
+  wire [1:0] _T_284; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@19268.4]
+  wire [1:0] _T_285; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@19269.4]
+  wire  _T_286; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19270.4]
+  wire [1:0] _T_287; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19271.4]
+  wire  _T_288; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@19272.4]
+  wire [1:0] _T_289; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@19273.4]
+  wire [2:0] _T_290; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@19274.4]
+  wire  _T_297; // @[Fragmenter.scala 200:18:shc.marmotcaravel.MarmotCaravelConfig.fir@19288.4]
+  wire  _T_299; // @[Fragmenter.scala 200:31:shc.marmotcaravel.MarmotCaravelConfig.fir@19290.4]
+  wire  _T_300; // @[Fragmenter.scala 200:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19291.4]
+  wire  _T_301; // @[Fragmenter.scala 201:33:shc.marmotcaravel.MarmotCaravelConfig.fir@19292.4]
+  wire  _T_291; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@19275.4]
+  wire [3:0] _GEN_11; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@19277.6]
+  wire [4:0] _T_292; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@19277.6]
+  wire [4:0] _T_293; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@19278.6]
+  wire [3:0] _T_294; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@19279.6]
+  wire  _T_296; // @[Fragmenter.scala 190:39:shc.marmotcaravel.MarmotCaravelConfig.fir@19284.8]
+  wire  _T_302; // @[Fragmenter.scala 202:37:shc.marmotcaravel.MarmotCaravelConfig.fir@19294.4]
+  wire  _T_330; // @[Fragmenter.scala 262:29:shc.marmotcaravel.MarmotCaravelConfig.fir@19327.4]
+  wire [2:0] _T_331; // @[Fragmenter.scala 262:22:shc.marmotcaravel.MarmotCaravelConfig.fir@19328.4]
+  wire [12:0] _T_333; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@19330.4]
+  wire [5:0] _T_334; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@19331.4]
+  wire [5:0] _T_335; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@19332.4]
+  wire [8:0] _T_337; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@19334.4]
+  wire [1:0] _T_338; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@19335.4]
+  wire [1:0] _T_339; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@19336.4]
+  wire  _T_340; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@19337.4]
+  wire  _T_341; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19338.4]
+  reg [3:0] _T_344; // @[Fragmenter.scala 268:27:shc.marmotcaravel.MarmotCaravelConfig.fir@19340.4]
+  reg [31:0] _RAND_3;
+  wire  _T_345; // @[Fragmenter.scala 269:27:shc.marmotcaravel.MarmotCaravelConfig.fir@19341.4]
+  wire [3:0] _T_346; // @[Fragmenter.scala 270:46:shc.marmotcaravel.MarmotCaravelConfig.fir@19342.4]
+  wire [4:0] _T_347; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@19343.4]
+  wire [4:0] _T_348; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@19344.4]
+  wire [3:0] _T_349; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@19345.4]
+  wire [3:0] _T_350; // @[Fragmenter.scala 270:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19346.4]
+  wire [3:0] _T_351; // @[Fragmenter.scala 271:26:shc.marmotcaravel.MarmotCaravelConfig.fir@19347.4]
+  wire [3:0] _T_354; // @[Fragmenter.scala 271:24:shc.marmotcaravel.MarmotCaravelConfig.fir@19350.4]
+  reg  _T_362; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@19357.4]
+  reg [31:0] _RAND_4;
+  wire  _GEN_5; // @[Reg.scala 12:19:shc.marmotcaravel.MarmotCaravelConfig.fir@19358.4]
+  wire  _T_364; // @[Fragmenter.scala 274:21:shc.marmotcaravel.MarmotCaravelConfig.fir@19362.4]
+  wire  _T_92_a_valid; // @[Nodes.scala 332:76:shc.marmotcaravel.MarmotCaravelConfig.fir@19222.4 Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@19371.4]
+  wire  _T_365; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@19363.4]
+  wire  _T_366; // @[Fragmenter.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@19367.4]
+  wire  _T_367; // @[Fragmenter.scala 279:51:shc.marmotcaravel.MarmotCaravelConfig.fir@19368.4]
+  wire [5:0] _GEN_12; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@19372.4]
+  wire [5:0] _T_369; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@19372.4]
+  wire [5:0] _T_370; // @[Fragmenter.scala 281:88:shc.marmotcaravel.MarmotCaravelConfig.fir@19373.4]
+  wire [5:0] _T_371; // @[Fragmenter.scala 281:86:shc.marmotcaravel.MarmotCaravelConfig.fir@19374.4]
+  wire [5:0] _GEN_13; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@19375.4]
+  wire [5:0] _T_372; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@19375.4]
+  wire [5:0] _T_373; // @[Fragmenter.scala 281:109:shc.marmotcaravel.MarmotCaravelConfig.fir@19376.4]
+  wire [5:0] _T_374; // @[Fragmenter.scala 281:49:shc.marmotcaravel.MarmotCaravelConfig.fir@19377.4]
+  wire [25:0] _GEN_14; // @[Fragmenter.scala 281:47:shc.marmotcaravel.MarmotCaravelConfig.fir@19378.4]
+  wire [1:0] _T_376; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@19380.4]
+  wire  _T_378; // @[Fragmenter.scala 286:15:shc.marmotcaravel.MarmotCaravelConfig.fir@19384.4]
+  wire  _T_380; // @[Fragmenter.scala 286:33:shc.marmotcaravel.MarmotCaravelConfig.fir@19386.4]
+  wire  _T_382; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19388.4]
+  wire  _T_383; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19389.4]
+  wire  _T_385; // @[Fragmenter.scala 289:51:shc.marmotcaravel.MarmotCaravelConfig.fir@19396.4]
+  wire  _T_386; // @[Fragmenter.scala 289:33:shc.marmotcaravel.MarmotCaravelConfig.fir@19397.4]
+  wire  _T_388; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19399.4]
+  wire  _T_389; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19400.4]
+  TLMonitor_9 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@19185.4]
+    .clock(TLMonitor_clock),
+    .reset(TLMonitor_reset),
+    .io_in_a_ready(TLMonitor_io_in_a_ready),
+    .io_in_a_valid(TLMonitor_io_in_a_valid),
+    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
+    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
+    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
+    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
+    .io_in_d_ready(TLMonitor_io_in_d_ready),
+    .io_in_d_valid(TLMonitor_io_in_d_valid),
+    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
+    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
+    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source)
+  );
+  Repeater_1 Repeater ( // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19302.4]
+    .clock(Repeater_clock),
+    .reset(Repeater_reset),
+    .io_repeat(Repeater_io_repeat),
+    .io_full(Repeater_io_full),
+    .io_enq_ready(Repeater_io_enq_ready),
+    .io_enq_valid(Repeater_io_enq_valid),
+    .io_enq_bits_opcode(Repeater_io_enq_bits_opcode),
+    .io_enq_bits_param(Repeater_io_enq_bits_param),
+    .io_enq_bits_size(Repeater_io_enq_bits_size),
+    .io_enq_bits_source(Repeater_io_enq_bits_source),
+    .io_enq_bits_address(Repeater_io_enq_bits_address),
+    .io_enq_bits_mask(Repeater_io_enq_bits_mask),
+    .io_enq_bits_corrupt(Repeater_io_enq_bits_corrupt),
+    .io_deq_ready(Repeater_io_deq_ready),
+    .io_deq_valid(Repeater_io_deq_valid),
+    .io_deq_bits_opcode(Repeater_io_deq_bits_opcode),
+    .io_deq_bits_param(Repeater_io_deq_bits_param),
+    .io_deq_bits_size(Repeater_io_deq_bits_size),
+    .io_deq_bits_source(Repeater_io_deq_bits_source),
+    .io_deq_bits_address(Repeater_io_deq_bits_address),
+    .io_deq_bits_mask(Repeater_io_deq_bits_mask),
+    .io_deq_bits_corrupt(Repeater_io_deq_bits_corrupt)
+  );
+  assign _T_249 = auto_out_d_bits_source[3:0]; // @[Fragmenter.scala 170:39:shc.marmotcaravel.MarmotCaravelConfig.fir@19229.4]
+  assign _T_250 = _T_244 == 4'h0; // @[Fragmenter.scala 171:27:shc.marmotcaravel.MarmotCaravelConfig.fir@19230.4]
+  assign _T_251 = _T_249 == 4'h0; // @[Fragmenter.scala 172:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19231.4]
+  assign _T_253 = 4'h1 << auto_out_d_bits_size; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@19233.4]
+  assign _T_254 = _T_253[2:0]; // @[OneHot.scala 52:27:shc.marmotcaravel.MarmotCaravelConfig.fir@19234.4]
+  assign _T_256 = 5'h3 << auto_out_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@19236.4]
+  assign _T_257 = _T_256[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@19237.4]
+  assign _T_258 = ~ _T_257; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@19238.4]
+  assign _T_259 = auto_out_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@19239.4]
+  assign _T_271 = _T_254[2:2]; // @[Fragmenter.scala 182:58:shc.marmotcaravel.MarmotCaravelConfig.fir@19255.4]
+  assign _T_272 = _T_259 ? 1'h1 : _T_271; // @[Fragmenter.scala 182:30:shc.marmotcaravel.MarmotCaravelConfig.fir@19256.4]
+  assign _GEN_7 = {{2'd0}, _T_249}; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@19257.4]
+  assign _T_273 = _GEN_7 << 2; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@19257.4]
+  assign _GEN_8 = {{4'd0}, _T_258}; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@19258.4]
+  assign _T_274 = _T_273 | _GEN_8; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@19258.4]
+  assign _GEN_9 = {{1'd0}, _T_274}; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@19259.4]
+  assign _T_275 = _GEN_9 << 1; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@19259.4]
+  assign _T_276 = _T_275 | 7'h1; // @[package.scala 183:40:shc.marmotcaravel.MarmotCaravelConfig.fir@19260.4]
+  assign _T_277 = {1'h0,_T_274}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@19261.4]
+  assign _T_278 = ~ _T_277; // @[package.scala 183:53:shc.marmotcaravel.MarmotCaravelConfig.fir@19262.4]
+  assign _T_279 = _T_276 & _T_278; // @[package.scala 183:51:shc.marmotcaravel.MarmotCaravelConfig.fir@19263.4]
+  assign _T_280 = _T_279[6:4]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@19264.4]
+  assign _T_281 = _T_279[3:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@19265.4]
+  assign _T_282 = _T_280 != 3'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19266.4]
+  assign _GEN_10 = {{1'd0}, _T_280}; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19267.4]
+  assign _T_283 = _GEN_10 | _T_281; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19267.4]
+  assign _T_284 = _T_283[3:2]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@19268.4]
+  assign _T_285 = _T_283[1:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@19269.4]
+  assign _T_286 = _T_284 != 2'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19270.4]
+  assign _T_287 = _T_284 | _T_285; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19271.4]
+  assign _T_288 = _T_287[1]; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@19272.4]
+  assign _T_289 = {_T_286,_T_288}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@19273.4]
+  assign _T_290 = {_T_282,_T_289}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@19274.4]
+  assign _T_297 = _T_259 == 1'h0; // @[Fragmenter.scala 200:18:shc.marmotcaravel.MarmotCaravelConfig.fir@19288.4]
+  assign _T_299 = _T_251 == 1'h0; // @[Fragmenter.scala 200:31:shc.marmotcaravel.MarmotCaravelConfig.fir@19290.4]
+  assign _T_300 = _T_297 & _T_299; // @[Fragmenter.scala 200:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19291.4]
+  assign _T_301 = auto_in_d_ready | _T_300; // @[Fragmenter.scala 201:33:shc.marmotcaravel.MarmotCaravelConfig.fir@19292.4]
+  assign _T_291 = _T_301 & auto_out_d_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@19275.4]
+  assign _GEN_11 = {{3'd0}, _T_272}; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@19277.6]
+  assign _T_292 = _T_244 - _GEN_11; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@19277.6]
+  assign _T_293 = $unsigned(_T_292); // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@19278.6]
+  assign _T_294 = _T_293[3:0]; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@19279.6]
+  assign _T_296 = auto_out_d_bits_source[4]; // @[Fragmenter.scala 190:39:shc.marmotcaravel.MarmotCaravelConfig.fir@19284.8]
+  assign _T_302 = _T_300 == 1'h0; // @[Fragmenter.scala 202:37:shc.marmotcaravel.MarmotCaravelConfig.fir@19294.4]
+  assign _T_330 = Repeater_io_deq_bits_size > 3'h2; // @[Fragmenter.scala 262:29:shc.marmotcaravel.MarmotCaravelConfig.fir@19327.4]
+  assign _T_331 = _T_330 ? 3'h2 : Repeater_io_deq_bits_size; // @[Fragmenter.scala 262:22:shc.marmotcaravel.MarmotCaravelConfig.fir@19328.4]
+  assign _T_333 = 13'h3f << Repeater_io_deq_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@19330.4]
+  assign _T_334 = _T_333[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@19331.4]
+  assign _T_335 = ~ _T_334; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@19332.4]
+  assign _T_337 = 9'h3 << _T_331; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@19334.4]
+  assign _T_338 = _T_337[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@19335.4]
+  assign _T_339 = ~ _T_338; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@19336.4]
+  assign _T_340 = Repeater_io_deq_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@19337.4]
+  assign _T_341 = _T_340 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19338.4]
+  assign _T_345 = _T_344 == 4'h0; // @[Fragmenter.scala 269:27:shc.marmotcaravel.MarmotCaravelConfig.fir@19341.4]
+  assign _T_346 = _T_335[5:2]; // @[Fragmenter.scala 270:46:shc.marmotcaravel.MarmotCaravelConfig.fir@19342.4]
+  assign _T_347 = _T_344 - 4'h1; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@19343.4]
+  assign _T_348 = $unsigned(_T_347); // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@19344.4]
+  assign _T_349 = _T_348[3:0]; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@19345.4]
+  assign _T_350 = _T_345 ? _T_346 : _T_349; // @[Fragmenter.scala 270:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19346.4]
+  assign _T_351 = ~ _T_350; // @[Fragmenter.scala 271:26:shc.marmotcaravel.MarmotCaravelConfig.fir@19347.4]
+  assign _T_354 = ~ _T_351; // @[Fragmenter.scala 271:24:shc.marmotcaravel.MarmotCaravelConfig.fir@19350.4]
+  assign _GEN_5 = _T_345 ? _T_248 : _T_362; // @[Reg.scala 12:19:shc.marmotcaravel.MarmotCaravelConfig.fir@19358.4]
+  assign _T_364 = _GEN_5 == 1'h0; // @[Fragmenter.scala 274:21:shc.marmotcaravel.MarmotCaravelConfig.fir@19362.4]
+  assign _T_92_a_valid = Repeater_io_deq_valid; // @[Nodes.scala 332:76:shc.marmotcaravel.MarmotCaravelConfig.fir@19222.4 Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@19371.4]
+  assign _T_365 = auto_out_a_ready & _T_92_a_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@19363.4]
+  assign _T_366 = _T_341 == 1'h0; // @[Fragmenter.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@19367.4]
+  assign _T_367 = _T_354 != 4'h0; // @[Fragmenter.scala 279:51:shc.marmotcaravel.MarmotCaravelConfig.fir@19368.4]
+  assign _GEN_12 = {{2'd0}, _T_350}; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@19372.4]
+  assign _T_369 = _GEN_12 << 2; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@19372.4]
+  assign _T_370 = ~ _T_335; // @[Fragmenter.scala 281:88:shc.marmotcaravel.MarmotCaravelConfig.fir@19373.4]
+  assign _T_371 = _T_369 | _T_370; // @[Fragmenter.scala 281:86:shc.marmotcaravel.MarmotCaravelConfig.fir@19374.4]
+  assign _GEN_13 = {{4'd0}, _T_339}; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@19375.4]
+  assign _T_372 = _T_371 | _GEN_13; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@19375.4]
+  assign _T_373 = _T_372 | 6'h3; // @[Fragmenter.scala 281:109:shc.marmotcaravel.MarmotCaravelConfig.fir@19376.4]
+  assign _T_374 = ~ _T_373; // @[Fragmenter.scala 281:49:shc.marmotcaravel.MarmotCaravelConfig.fir@19377.4]
+  assign _GEN_14 = {{20'd0}, _T_374}; // @[Fragmenter.scala 281:47:shc.marmotcaravel.MarmotCaravelConfig.fir@19378.4]
+  assign _T_376 = {Repeater_io_deq_bits_source,_T_364}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@19380.4]
+  assign _T_378 = Repeater_io_full == 1'h0; // @[Fragmenter.scala 286:15:shc.marmotcaravel.MarmotCaravelConfig.fir@19384.4]
+  assign _T_380 = _T_378 | _T_366; // @[Fragmenter.scala 286:33:shc.marmotcaravel.MarmotCaravelConfig.fir@19386.4]
+  assign _T_382 = _T_380 | reset; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19388.4]
+  assign _T_383 = _T_382 == 1'h0; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19389.4]
+  assign _T_385 = Repeater_io_deq_bits_mask == 4'hf; // @[Fragmenter.scala 289:51:shc.marmotcaravel.MarmotCaravelConfig.fir@19396.4]
+  assign _T_386 = _T_378 | _T_385; // @[Fragmenter.scala 289:33:shc.marmotcaravel.MarmotCaravelConfig.fir@19397.4]
+  assign _T_388 = _T_386 | reset; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19399.4]
+  assign _T_389 = _T_388 == 1'h0; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19400.4]
+  assign auto_in_a_ready = Repeater_io_enq_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@19225.4]
+  assign auto_in_d_valid = auto_out_d_valid & _T_302; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@19225.4]
+  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@19225.4]
+  assign auto_in_d_bits_size = _T_250 ? _T_290 : _T_246; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@19225.4]
+  assign auto_in_d_bits_source = auto_out_d_bits_source[5:5]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@19225.4]
+  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@19225.4]
+  assign auto_out_a_valid = Repeater_io_deq_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@19224.4]
+  assign auto_out_a_bits_opcode = Repeater_io_deq_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@19224.4]
+  assign auto_out_a_bits_param = Repeater_io_deq_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@19224.4]
+  assign auto_out_a_bits_size = _T_331[1:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@19224.4]
+  assign auto_out_a_bits_source = {_T_376,_T_354}; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@19224.4]
+  assign auto_out_a_bits_address = Repeater_io_deq_bits_address | _GEN_14; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@19224.4]
+  assign auto_out_a_bits_mask = Repeater_io_full ? 4'hf : auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@19224.4]
+  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@19224.4]
+  assign auto_out_a_bits_corrupt = Repeater_io_deq_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@19224.4]
+  assign auto_out_d_ready = auto_in_d_ready | _T_300; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@19224.4]
+  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19187.4]
+  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19188.4]
+  assign TLMonitor_io_in_a_ready = Repeater_io_enq_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@19221.4]
+  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@19221.4]
+  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@19221.4]
+  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@19221.4]
+  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@19221.4]
+  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@19221.4]
+  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@19221.4]
+  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@19221.4]
+  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@19221.4]
+  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@19221.4]
+  assign TLMonitor_io_in_d_valid = auto_out_d_valid & _T_302; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@19221.4]
+  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@19221.4]
+  assign TLMonitor_io_in_d_bits_size = _T_250 ? _T_290 : _T_246; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@19221.4]
+  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source[5:5]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@19221.4]
+  assign Repeater_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19304.4]
+  assign Repeater_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19305.4]
+  assign Repeater_io_repeat = _T_366 & _T_367; // @[Fragmenter.scala 279:26:shc.marmotcaravel.MarmotCaravelConfig.fir@19370.4]
+  assign Repeater_io_enq_valid = auto_in_a_valid; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@19306.4]
+  assign Repeater_io_enq_bits_opcode = auto_in_a_bits_opcode; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@19306.4]
+  assign Repeater_io_enq_bits_param = auto_in_a_bits_param; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@19306.4]
+  assign Repeater_io_enq_bits_size = auto_in_a_bits_size; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@19306.4]
+  assign Repeater_io_enq_bits_source = auto_in_a_bits_source; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@19306.4]
+  assign Repeater_io_enq_bits_address = auto_in_a_bits_address; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@19306.4]
+  assign Repeater_io_enq_bits_mask = auto_in_a_bits_mask; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@19306.4]
+  assign Repeater_io_enq_bits_corrupt = auto_in_a_bits_corrupt; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@19306.4]
+  assign Repeater_io_deq_ready = auto_out_a_ready; // @[Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@19371.4]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  _T_244 = _RAND_0[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  _T_246 = _RAND_1[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  _T_248 = _RAND_2[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  _T_344 = _RAND_3[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  _T_362 = _RAND_4[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      _T_244 <= 4'h0;
+    end else begin
+      if (_T_291) begin
+        if (_T_250) begin
+          _T_244 <= _T_249;
+        end else begin
+          _T_244 <= _T_294;
+        end
+      end
+    end
+    if (_T_291) begin
+      if (_T_250) begin
+        _T_246 <= _T_290;
+      end
+    end
+    if (reset) begin
+      _T_248 <= 1'h0;
+    end else begin
+      if (_T_291) begin
+        if (_T_250) begin
+          _T_248 <= _T_296;
+        end
+      end
+    end
+    if (reset) begin
+      _T_344 <= 4'h0;
+    end else begin
+      if (_T_365) begin
+        _T_344 <= _T_354;
+      end
+    end
+    if (_T_345) begin
+      _T_362 <= _T_248;
+    end
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:180 assert (!out.d.valid || (acknum_fragment & acknum_size) === UInt(0))\n"); // @[Fragmenter.scala 180:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19250.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Fragmenter.scala 180:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19251.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_383) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:286 assert (!repeater.io.full || !aHasData)\n"); // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19391.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_383) begin
+          $fatal; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19392.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_389) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:289 assert (!repeater.io.full || in_a.bits.mask === fullMask)\n"); // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19402.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_389) begin
+          $fatal; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19403.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+endmodule
+module TLMonitor_10( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19421.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19422.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19423.4]
+  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19424.4]
+  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19424.4]
+  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19424.4]
+  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19424.4]
+  input  [2:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19424.4]
+  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19424.4]
+  input  [25:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19424.4]
+  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19424.4]
+  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19424.4]
+  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19424.4]
+  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19424.4]
+  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19424.4]
+  input  [2:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19424.4]
+  input         io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19424.4]
+);
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@20545.4]
+  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@19440.6]
+  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@19445.6]
+  wire [12:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@19447.6]
+  wire [5:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@19448.6]
+  wire [5:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@19449.6]
+  wire [25:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@19450.6]
+  wire [25:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@19450.6]
+  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@19451.6]
+  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@19453.6]
+  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@19454.6]
+  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@19456.6]
+  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@19457.6]
+  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@19458.6]
+  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@19459.6]
+  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@19460.6]
+  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@19462.6]
+  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@19463.6]
+  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@19465.6]
+  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@19466.6]
+  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@19467.6]
+  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@19468.6]
+  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@19469.6]
+  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@19470.6]
+  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@19471.6]
+  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@19472.6]
+  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@19473.6]
+  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@19474.6]
+  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@19475.6]
+  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@19476.6]
+  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@19477.6]
+  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@19478.6]
+  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@19479.6]
+  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@19480.6]
+  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@19481.6]
+  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@19482.6]
+  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@19483.6]
+  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@19484.6]
+  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@19509.6]
+  wire [25:0] _T_92; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@19512.8]
+  wire [26:0] _T_93; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@19513.8]
+  wire [26:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@19514.8]
+  wire [26:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@19515.8]
+  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@19516.8]
+  wire  _T_101; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19521.8]
+  wire  _T_106; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19534.8]
+  wire  _T_107; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19535.8]
+  wire  _T_110; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19542.8]
+  wire  _T_111; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19543.8]
+  wire  _T_113; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19549.8]
+  wire  _T_114; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19550.8]
+  wire  _T_115; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@19555.8]
+  wire  _T_117; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19557.8]
+  wire  _T_118; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19558.8]
+  wire [3:0] _T_119; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@19563.8]
+  wire  _T_120; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19564.8]
+  wire  _T_122; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19566.8]
+  wire  _T_123; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19567.8]
+  wire  _T_124; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@19572.8]
+  wire  _T_126; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19574.8]
+  wire  _T_127; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19575.8]
+  wire  _T_128; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@19581.6]
+  wire  _T_157; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19635.8]
+  wire  _T_159; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19637.8]
+  wire  _T_160; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19638.8]
+  wire  _T_170; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@19661.6]
+  wire  _T_172; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@19664.8]
+  wire  _T_180; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@19672.8]
+  wire  _T_183; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19675.8]
+  wire  _T_184; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19676.8]
+  wire  _T_191; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19695.8]
+  wire  _T_193; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19697.8]
+  wire  _T_194; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19698.8]
+  wire  _T_195; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@19703.8]
+  wire  _T_197; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19705.8]
+  wire  _T_198; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19706.8]
+  wire  _T_203; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@19720.6]
+  wire  _T_232; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@19771.6]
+  wire [3:0] _T_257; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@19813.8]
+  wire [3:0] _T_258; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19814.8]
+  wire  _T_259; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@19815.8]
+  wire  _T_261; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19817.8]
+  wire  _T_262; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19818.8]
+  wire  _T_263; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@19824.6]
+  wire  _T_281; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@19855.8]
+  wire  _T_283; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19857.8]
+  wire  _T_284; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19858.8]
+  wire  _T_289; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@19872.6]
+  wire  _T_307; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@19903.8]
+  wire  _T_309; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19905.8]
+  wire  _T_310; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19906.8]
+  wire  _T_315; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@19920.6]
+  wire  _T_341; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@19970.6]
+  wire  _T_343; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@19972.6]
+  wire  _T_344; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@19973.6]
+  wire  _T_346; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@19979.6]
+  wire  _T_355; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@19984.6]
+  wire  _T_357; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@19986.6]
+  wire  _T_359; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19989.8]
+  wire  _T_360; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19990.8]
+  wire  _T_361; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@19995.8]
+  wire  _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19997.8]
+  wire  _T_364; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19998.8]
+  wire  _T_377; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20028.6]
+  wire  _T_405; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20086.6]
+  wire  _T_434; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20145.6]
+  wire  _T_451; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20180.6]
+  wire  _T_469; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20216.6]
+  wire  _T_498; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@20276.4]
+  wire [3:0] _T_503; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@20281.4]
+  wire  _T_504; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@20282.4]
+  wire  _T_505; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20283.4]
+  reg [3:0] _T_508; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@20285.4]
+  reg [31:0] _RAND_0;
+  wire [4:0] _T_509; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20286.4]
+  wire [4:0] _T_510; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20287.4]
+  wire [3:0] _T_511; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20288.4]
+  wire  _T_512; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20289.4]
+  reg [2:0] _T_521; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@20300.4]
+  reg [31:0] _RAND_1;
+  reg [2:0] _T_523; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@20301.4]
+  reg [31:0] _RAND_2;
+  reg [2:0] _T_525; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@20302.4]
+  reg [31:0] _RAND_3;
+  reg  _T_527; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@20303.4]
+  reg [31:0] _RAND_4;
+  reg [25:0] _T_529; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@20304.4]
+  reg [31:0] _RAND_5;
+  wire  _T_530; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@20305.4]
+  wire  _T_531; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@20306.4]
+  wire  _T_532; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@20308.6]
+  wire  _T_534; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20310.6]
+  wire  _T_535; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20311.6]
+  wire  _T_536; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@20316.6]
+  wire  _T_538; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20318.6]
+  wire  _T_539; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20319.6]
+  wire  _T_540; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@20324.6]
+  wire  _T_542; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20326.6]
+  wire  _T_543; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20327.6]
+  wire  _T_544; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@20332.6]
+  wire  _T_546; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20334.6]
+  wire  _T_547; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20335.6]
+  wire  _T_548; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@20340.6]
+  wire  _T_550; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20342.6]
+  wire  _T_551; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20343.6]
+  wire  _T_553; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@20350.4]
+  wire  _T_554; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@20358.4]
+  wire [12:0] _T_556; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@20360.4]
+  wire [5:0] _T_557; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@20361.4]
+  wire [5:0] _T_558; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@20362.4]
+  wire [3:0] _T_559; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@20363.4]
+  wire  _T_560; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@20364.4]
+  reg [3:0] _T_563; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@20366.4]
+  reg [31:0] _RAND_6;
+  wire [4:0] _T_564; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20367.4]
+  wire [4:0] _T_565; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20368.4]
+  wire [3:0] _T_566; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20369.4]
+  wire  _T_567; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20370.4]
+  reg [2:0] _T_576; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@20381.4]
+  reg [31:0] _RAND_7;
+  reg [2:0] _T_580; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@20383.4]
+  reg [31:0] _RAND_8;
+  reg  _T_582; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@20384.4]
+  reg [31:0] _RAND_9;
+  wire  _T_587; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@20387.4]
+  wire  _T_588; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@20388.4]
+  wire  _T_589; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@20390.6]
+  wire  _T_591; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20392.6]
+  wire  _T_592; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20393.6]
+  wire  _T_597; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@20406.6]
+  wire  _T_599; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20408.6]
+  wire  _T_600; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20409.6]
+  wire  _T_601; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@20414.6]
+  wire  _T_603; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20416.6]
+  wire  _T_604; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20417.6]
+  wire  _T_614; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@20440.4]
+  reg [1:0] _T_616; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@20449.4]
+  reg [31:0] _RAND_10;
+  reg [3:0] _T_627; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@20459.4]
+  reg [31:0] _RAND_11;
+  wire [4:0] _T_628; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20460.4]
+  wire [4:0] _T_629; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20461.4]
+  wire [3:0] _T_630; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20462.4]
+  wire  _T_631; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20463.4]
+  reg [3:0] _T_648; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@20482.4]
+  reg [31:0] _RAND_12;
+  wire [4:0] _T_649; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20483.4]
+  wire [4:0] _T_650; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20484.4]
+  wire [3:0] _T_651; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20485.4]
+  wire  _T_652; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20486.4]
+  wire  _T_663; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@20501.4]
+  wire [1:0] _T_665; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@20504.6]
+  wire [1:0] _T_666; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@20506.6]
+  wire  _T_667; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@20507.6]
+  wire  _T_668; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20508.6]
+  wire  _T_670; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@20510.6]
+  wire  _T_671; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@20511.6]
+  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@20503.4]
+  wire  _T_676; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@20522.4]
+  wire  _T_678; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@20524.4]
+  wire  _T_679; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@20525.4]
+  wire [1:0] _T_680; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@20527.6]
+  wire [1:0] _T_681; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@20529.6]
+  wire [1:0] _T_682; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@20530.6]
+  wire  _T_683; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@20531.6]
+  wire  _T_685; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@20533.6]
+  wire  _T_686; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@20534.6]
+  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@20526.4]
+  wire [1:0] _T_687; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@20540.4]
+  wire [1:0] _T_688; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@20541.4]
+  wire [1:0] _T_689; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@20542.4]
+  reg [31:0] _T_691; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@20544.4]
+  reg [31:0] _RAND_13;
+  wire  _T_692; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@20547.4]
+  wire  _T_693; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@20548.4]
+  wire  _T_694; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@20549.4]
+  wire  _T_695; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@20550.4]
+  wire  _T_696; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@20551.4]
+  wire  _T_697; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@20552.4]
+  wire  _T_699; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@20554.4]
+  wire  _T_700; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@20555.4]
+  wire [31:0] _T_702; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@20561.4]
+  wire  _T_705; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@20565.4]
+  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19523.10]
+  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19595.10]
+  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19678.10]
+  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19737.10]
+  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19788.10]
+  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19838.10]
+  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19886.10]
+  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19934.10]
+  wire  _GEN_115; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19992.10]
+  wire  _GEN_119; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20034.10]
+  wire  _GEN_125; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20092.10]
+  wire  _GEN_131; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20151.10]
+  wire  _GEN_133; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20186.10]
+  wire  _GEN_135; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20222.10]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@20545.4]
+    .out(plusarg_reader_out)
+  );
+  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@19440.6]
+  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@19445.6]
+  assign _T_32 = 13'h3f << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@19447.6]
+  assign _T_33 = _T_32[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@19448.6]
+  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@19449.6]
+  assign _GEN_18 = {{20'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@19450.6]
+  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@19450.6]
+  assign _T_36 = _T_35 == 26'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@19451.6]
+  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@19453.6]
+  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@19454.6]
+  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@19456.6]
+  assign _T_42 = io_in_a_bits_size >= 3'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@19457.6]
+  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@19458.6]
+  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@19459.6]
+  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@19460.6]
+  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@19462.6]
+  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@19463.6]
+  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@19465.6]
+  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@19466.6]
+  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@19467.6]
+  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@19468.6]
+  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@19469.6]
+  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@19470.6]
+  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@19471.6]
+  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@19472.6]
+  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@19473.6]
+  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@19474.6]
+  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@19475.6]
+  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@19476.6]
+  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@19477.6]
+  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@19478.6]
+  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@19479.6]
+  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@19480.6]
+  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@19481.6]
+  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@19482.6]
+  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@19483.6]
+  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@19484.6]
+  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@19509.6]
+  assign _T_92 = io_in_a_bits_address ^ 26'h2000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@19512.8]
+  assign _T_93 = {1'b0,$signed(_T_92)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@19513.8]
+  assign _T_94 = $signed(_T_93) & $signed(-27'sh10000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@19514.8]
+  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@19515.8]
+  assign _T_96 = $signed(_T_95) == $signed(27'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@19516.8]
+  assign _T_101 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19521.8]
+  assign _T_106 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19534.8]
+  assign _T_107 = _T_106 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19535.8]
+  assign _T_110 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19542.8]
+  assign _T_111 = _T_110 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19543.8]
+  assign _T_113 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19549.8]
+  assign _T_114 = _T_113 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19550.8]
+  assign _T_115 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@19555.8]
+  assign _T_117 = _T_115 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19557.8]
+  assign _T_118 = _T_117 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19558.8]
+  assign _T_119 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@19563.8]
+  assign _T_120 = _T_119 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19564.8]
+  assign _T_122 = _T_120 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19566.8]
+  assign _T_123 = _T_122 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19567.8]
+  assign _T_124 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@19572.8]
+  assign _T_126 = _T_124 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19574.8]
+  assign _T_127 = _T_126 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19575.8]
+  assign _T_128 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@19581.6]
+  assign _T_157 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19635.8]
+  assign _T_159 = _T_157 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19637.8]
+  assign _T_160 = _T_159 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19638.8]
+  assign _T_170 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@19661.6]
+  assign _T_172 = io_in_a_bits_size <= 3'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@19664.8]
+  assign _T_180 = _T_172 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@19672.8]
+  assign _T_183 = _T_180 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19675.8]
+  assign _T_184 = _T_183 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19676.8]
+  assign _T_191 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19695.8]
+  assign _T_193 = _T_191 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19697.8]
+  assign _T_194 = _T_193 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19698.8]
+  assign _T_195 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@19703.8]
+  assign _T_197 = _T_195 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19705.8]
+  assign _T_198 = _T_197 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19706.8]
+  assign _T_203 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@19720.6]
+  assign _T_232 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@19771.6]
+  assign _T_257 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@19813.8]
+  assign _T_258 = io_in_a_bits_mask & _T_257; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19814.8]
+  assign _T_259 = _T_258 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@19815.8]
+  assign _T_261 = _T_259 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19817.8]
+  assign _T_262 = _T_261 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19818.8]
+  assign _T_263 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@19824.6]
+  assign _T_281 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@19855.8]
+  assign _T_283 = _T_281 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19857.8]
+  assign _T_284 = _T_283 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19858.8]
+  assign _T_289 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@19872.6]
+  assign _T_307 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@19903.8]
+  assign _T_309 = _T_307 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19905.8]
+  assign _T_310 = _T_309 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19906.8]
+  assign _T_315 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@19920.6]
+  assign _T_341 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@19970.6]
+  assign _T_343 = _T_341 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@19972.6]
+  assign _T_344 = _T_343 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@19973.6]
+  assign _T_346 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@19979.6]
+  assign _T_355 = io_in_d_bits_source | _T_346; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@19984.6]
+  assign _T_357 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@19986.6]
+  assign _T_359 = _T_355 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19989.8]
+  assign _T_360 = _T_359 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19990.8]
+  assign _T_361 = io_in_d_bits_size >= 3'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@19995.8]
+  assign _T_363 = _T_361 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19997.8]
+  assign _T_364 = _T_363 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19998.8]
+  assign _T_377 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20028.6]
+  assign _T_405 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20086.6]
+  assign _T_434 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20145.6]
+  assign _T_451 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20180.6]
+  assign _T_469 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20216.6]
+  assign _T_498 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@20276.4]
+  assign _T_503 = _T_34[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@20281.4]
+  assign _T_504 = io_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@20282.4]
+  assign _T_505 = _T_504 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20283.4]
+  assign _T_509 = _T_508 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20286.4]
+  assign _T_510 = $unsigned(_T_509); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20287.4]
+  assign _T_511 = _T_510[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20288.4]
+  assign _T_512 = _T_508 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20289.4]
+  assign _T_530 = _T_512 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@20305.4]
+  assign _T_531 = io_in_a_valid & _T_530; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@20306.4]
+  assign _T_532 = io_in_a_bits_opcode == _T_521; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@20308.6]
+  assign _T_534 = _T_532 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20310.6]
+  assign _T_535 = _T_534 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20311.6]
+  assign _T_536 = io_in_a_bits_param == _T_523; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@20316.6]
+  assign _T_538 = _T_536 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20318.6]
+  assign _T_539 = _T_538 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20319.6]
+  assign _T_540 = io_in_a_bits_size == _T_525; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@20324.6]
+  assign _T_542 = _T_540 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20326.6]
+  assign _T_543 = _T_542 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20327.6]
+  assign _T_544 = io_in_a_bits_source == _T_527; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@20332.6]
+  assign _T_546 = _T_544 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20334.6]
+  assign _T_547 = _T_546 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20335.6]
+  assign _T_548 = io_in_a_bits_address == _T_529; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@20340.6]
+  assign _T_550 = _T_548 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20342.6]
+  assign _T_551 = _T_550 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20343.6]
+  assign _T_553 = _T_498 & _T_512; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@20350.4]
+  assign _T_554 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@20358.4]
+  assign _T_556 = 13'h3f << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@20360.4]
+  assign _T_557 = _T_556[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@20361.4]
+  assign _T_558 = ~ _T_557; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@20362.4]
+  assign _T_559 = _T_558[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@20363.4]
+  assign _T_560 = io_in_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@20364.4]
+  assign _T_564 = _T_563 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20367.4]
+  assign _T_565 = $unsigned(_T_564); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20368.4]
+  assign _T_566 = _T_565[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20369.4]
+  assign _T_567 = _T_563 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20370.4]
+  assign _T_587 = _T_567 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@20387.4]
+  assign _T_588 = io_in_d_valid & _T_587; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@20388.4]
+  assign _T_589 = io_in_d_bits_opcode == _T_576; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@20390.6]
+  assign _T_591 = _T_589 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20392.6]
+  assign _T_592 = _T_591 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20393.6]
+  assign _T_597 = io_in_d_bits_size == _T_580; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@20406.6]
+  assign _T_599 = _T_597 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20408.6]
+  assign _T_600 = _T_599 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20409.6]
+  assign _T_601 = io_in_d_bits_source == _T_582; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@20414.6]
+  assign _T_603 = _T_601 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20416.6]
+  assign _T_604 = _T_603 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20417.6]
+  assign _T_614 = _T_554 & _T_567; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@20440.4]
+  assign _T_628 = _T_627 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20460.4]
+  assign _T_629 = $unsigned(_T_628); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20461.4]
+  assign _T_630 = _T_629[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20462.4]
+  assign _T_631 = _T_627 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20463.4]
+  assign _T_649 = _T_648 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20483.4]
+  assign _T_650 = $unsigned(_T_649); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20484.4]
+  assign _T_651 = _T_650[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20485.4]
+  assign _T_652 = _T_648 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20486.4]
+  assign _T_663 = _T_498 & _T_631; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@20501.4]
+  assign _T_665 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@20504.6]
+  assign _T_666 = _T_616 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@20506.6]
+  assign _T_667 = _T_666[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@20507.6]
+  assign _T_668 = _T_667 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20508.6]
+  assign _T_670 = _T_668 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@20510.6]
+  assign _T_671 = _T_670 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@20511.6]
+  assign _GEN_15 = _T_663 ? _T_665 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@20503.4]
+  assign _T_676 = _T_554 & _T_652; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@20522.4]
+  assign _T_678 = _T_357 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@20524.4]
+  assign _T_679 = _T_676 & _T_678; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@20525.4]
+  assign _T_680 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@20527.6]
+  assign _T_681 = _GEN_15 | _T_616; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@20529.6]
+  assign _T_682 = _T_681 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@20530.6]
+  assign _T_683 = _T_682[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@20531.6]
+  assign _T_685 = _T_683 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@20533.6]
+  assign _T_686 = _T_685 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@20534.6]
+  assign _GEN_16 = _T_679 ? _T_680 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@20526.4]
+  assign _T_687 = _T_616 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@20540.4]
+  assign _T_688 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@20541.4]
+  assign _T_689 = _T_687 & _T_688; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@20542.4]
+  assign _T_692 = _T_616 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@20547.4]
+  assign _T_693 = _T_692 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@20548.4]
+  assign _T_694 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@20549.4]
+  assign _T_695 = _T_693 | _T_694; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@20550.4]
+  assign _T_696 = _T_691 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@20551.4]
+  assign _T_697 = _T_695 | _T_696; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@20552.4]
+  assign _T_699 = _T_697 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@20554.4]
+  assign _T_700 = _T_699 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@20555.4]
+  assign _T_702 = _T_691 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@20561.4]
+  assign _T_705 = _T_498 | _T_554; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@20565.4]
+  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19523.10]
+  assign _GEN_35 = io_in_a_valid & _T_128; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19595.10]
+  assign _GEN_53 = io_in_a_valid & _T_170; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19678.10]
+  assign _GEN_65 = io_in_a_valid & _T_203; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19737.10]
+  assign _GEN_75 = io_in_a_valid & _T_232; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19788.10]
+  assign _GEN_85 = io_in_a_valid & _T_263; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19838.10]
+  assign _GEN_95 = io_in_a_valid & _T_289; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19886.10]
+  assign _GEN_105 = io_in_a_valid & _T_315; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19934.10]
+  assign _GEN_115 = io_in_d_valid & _T_357; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19992.10]
+  assign _GEN_119 = io_in_d_valid & _T_377; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20034.10]
+  assign _GEN_125 = io_in_d_valid & _T_405; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20092.10]
+  assign _GEN_131 = io_in_d_valid & _T_434; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20151.10]
+  assign _GEN_133 = io_in_d_valid & _T_451; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20186.10]
+  assign _GEN_135 = io_in_d_valid & _T_469; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20222.10]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  _T_508 = _RAND_0[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  _T_521 = _RAND_1[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  _T_523 = _RAND_2[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  _T_525 = _RAND_3[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  _T_527 = _RAND_4[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  _T_529 = _RAND_5[25:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {1{`RANDOM}};
+  _T_563 = _RAND_6[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {1{`RANDOM}};
+  _T_576 = _RAND_7[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_8 = {1{`RANDOM}};
+  _T_580 = _RAND_8[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_9 = {1{`RANDOM}};
+  _T_582 = _RAND_9[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_10 = {1{`RANDOM}};
+  _T_616 = _RAND_10[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_11 = {1{`RANDOM}};
+  _T_627 = _RAND_11[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_12 = {1{`RANDOM}};
+  _T_648 = _RAND_12[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_13 = {1{`RANDOM}};
+  _T_691 = _RAND_13[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      _T_508 <= 4'h0;
+    end else begin
+      if (_T_498) begin
+        if (_T_512) begin
+          if (_T_505) begin
+            _T_508 <= _T_503;
+          end else begin
+            _T_508 <= 4'h0;
+          end
+        end else begin
+          _T_508 <= _T_511;
+        end
+      end
+    end
+    if (_T_553) begin
+      _T_521 <= io_in_a_bits_opcode;
+    end
+    if (_T_553) begin
+      _T_523 <= io_in_a_bits_param;
+    end
+    if (_T_553) begin
+      _T_525 <= io_in_a_bits_size;
+    end
+    if (_T_553) begin
+      _T_527 <= io_in_a_bits_source;
+    end
+    if (_T_553) begin
+      _T_529 <= io_in_a_bits_address;
+    end
+    if (reset) begin
+      _T_563 <= 4'h0;
+    end else begin
+      if (_T_554) begin
+        if (_T_567) begin
+          if (_T_560) begin
+            _T_563 <= _T_559;
+          end else begin
+            _T_563 <= 4'h0;
+          end
+        end else begin
+          _T_563 <= _T_566;
+        end
+      end
+    end
+    if (_T_614) begin
+      _T_576 <= io_in_d_bits_opcode;
+    end
+    if (_T_614) begin
+      _T_580 <= io_in_d_bits_size;
+    end
+    if (_T_614) begin
+      _T_582 <= io_in_d_bits_source;
+    end
+    if (reset) begin
+      _T_616 <= 2'h0;
+    end else begin
+      _T_616 <= _T_689;
+    end
+    if (reset) begin
+      _T_627 <= 4'h0;
+    end else begin
+      if (_T_498) begin
+        if (_T_631) begin
+          if (_T_505) begin
+            _T_627 <= _T_503;
+          end else begin
+            _T_627 <= 4'h0;
+          end
+        end else begin
+          _T_627 <= _T_630;
+        end
+      end
+    end
+    if (reset) begin
+      _T_648 <= 4'h0;
+    end else begin
+      if (_T_554) begin
+        if (_T_652) begin
+          if (_T_560) begin
+            _T_648 <= _T_559;
+          end else begin
+            _T_648 <= 4'h0;
+          end
+        end else begin
+          _T_648 <= _T_651;
+        end
+      end
+    end
+    if (reset) begin
+      _T_691 <= 32'h0;
+    end else begin
+      if (_T_705) begin
+        _T_691 <= 32'h0;
+      end else begin
+        _T_691 <= _T_702;
+      end
+    end
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@19436.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@19437.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@19506.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@19507.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19523.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_101) begin
+          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19524.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19530.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_101) begin
+          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19531.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19537.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_107) begin
+          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19538.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_111) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19545.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_111) begin
+          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19546.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19552.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_114) begin
+          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19553.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_118) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19560.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_118) begin
+          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19561.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_123) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19569.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_123) begin
+          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19570.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_127) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19577.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_127) begin
+          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19578.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19595.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_101) begin
+          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19596.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19602.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_101) begin
+          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19603.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19609.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_107) begin
+          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19610.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_111) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19617.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_111) begin
+          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19618.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19624.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_114) begin
+          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19625.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_118) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19632.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_118) begin
+          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19633.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_160) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19640.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_160) begin
+          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19641.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_123) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19649.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_123) begin
+          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19650.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_127) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19657.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_127) begin
+          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19658.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_184) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19678.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_184) begin
+          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19679.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19685.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_107) begin
+          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19686.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19692.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_114) begin
+          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19693.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_194) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19700.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_194) begin
+          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19701.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_198) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19708.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_198) begin
+          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19709.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_127) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19716.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_127) begin
+          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19717.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_184) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19737.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_184) begin
+          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19738.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19744.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_107) begin
+          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19745.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19751.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_114) begin
+          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19752.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_194) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19759.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_194) begin
+          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19760.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_198) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19767.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_198) begin
+          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19768.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_184) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19788.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_184) begin
+          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19789.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19795.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_107) begin
+          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19796.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19802.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_114) begin
+          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19803.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_194) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19810.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_194) begin
+          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19811.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_262) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19820.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_262) begin
+          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19821.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19838.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_101) begin
+          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19839.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19845.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_107) begin
+          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19846.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19852.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_114) begin
+          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19853.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_284) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19860.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_284) begin
+          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19861.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_198) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19868.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_198) begin
+          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19869.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19886.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_101) begin
+          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19887.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19893.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_107) begin
+          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19894.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19900.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_114) begin
+          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19901.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_310) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19908.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_310) begin
+          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19909.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_198) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19916.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_198) begin
+          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19917.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19934.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_101) begin
+          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19935.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19941.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_107) begin
+          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19942.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19948.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_114) begin
+          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19949.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_198) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19956.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_198) begin
+          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19957.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_127) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19964.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_127) begin
+          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19965.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_344) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@19975.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_344) begin
+          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@19976.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_360) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19992.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_360) begin
+          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19993.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_364) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20000.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_364) begin
+          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20001.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20008.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20009.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20016.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20017.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20024.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20025.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_119 & _T_360) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20034.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_119 & _T_360) begin
+          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20035.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_119 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20041.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_119 & _T_101) begin
+          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20042.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_119 & _T_364) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20049.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_119 & _T_364) begin
+          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20050.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20057.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20058.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20065.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20066.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20073.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20074.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20082.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20083.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_360) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20092.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_360) begin
+          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20093.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20099.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_101) begin
+          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20100.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_364) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20107.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_364) begin
+          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20108.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20115.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20116.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20123.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20124.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20132.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20133.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20141.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20142.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_131 & _T_360) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20151.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_131 & _T_360) begin
+          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20152.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20159.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20160.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20167.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20168.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20176.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20177.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_133 & _T_360) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20186.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_133 & _T_360) begin
+          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20187.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20194.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20195.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20203.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20204.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20212.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20213.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_135 & _T_360) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20222.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_135 & _T_360) begin
+          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20223.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20230.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20231.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20238.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20239.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20247.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20248.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20257.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20258.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20265.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20266.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20273.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20274.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_531 & _T_535) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20313.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_531 & _T_535) begin
+          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20314.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_531 & _T_539) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20321.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_531 & _T_539) begin
+          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20322.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_531 & _T_543) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20329.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_531 & _T_543) begin
+          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20330.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_531 & _T_547) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20337.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_531 & _T_547) begin
+          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20338.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_531 & _T_551) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20345.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_531 & _T_551) begin
+          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20346.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_588 & _T_592) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20395.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_588 & _T_592) begin
+          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20396.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20403.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20404.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_588 & _T_600) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20411.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_588 & _T_600) begin
+          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20412.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_588 & _T_604) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20419.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_588 & _T_604) begin
+          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20420.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20427.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20428.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20435.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20436.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_663 & _T_671) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@20513.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_663 & _T_671) begin
+          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@20514.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_679 & _T_686) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@20536.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_679 & _T_686) begin
+          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@20537.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_700) begin
+          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@20557.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_700) begin
+          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@20558.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+endmodule
+module TLBuffer_3( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20570.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20571.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20572.4]
+  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20573.4]
+  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20573.4]
+  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20573.4]
+  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20573.4]
+  input  [2:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20573.4]
+  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20573.4]
+  input  [25:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20573.4]
+  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20573.4]
+  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20573.4]
+  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20573.4]
+  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20573.4]
+  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20573.4]
+  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20573.4]
+  output [2:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20573.4]
+  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20573.4]
+  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20573.4]
+  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20573.4]
+  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20573.4]
+  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20573.4]
+  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20573.4]
+  output [2:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20573.4]
+  output        auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20573.4]
+  output [25:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20573.4]
+  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20573.4]
+  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20573.4]
+  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20573.4]
+  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20573.4]
+  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20573.4]
+  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20573.4]
+  input  [2:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20573.4]
+  input         auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20573.4]
+  input  [31:0] auto_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20573.4]
+);
+  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20580.4]
+  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20580.4]
+  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20580.4]
+  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20580.4]
+  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20580.4]
+  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20580.4]
+  wire [2:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20580.4]
+  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20580.4]
+  wire [25:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20580.4]
+  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20580.4]
+  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20580.4]
+  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20580.4]
+  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20580.4]
+  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20580.4]
+  wire [2:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20580.4]
+  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20580.4]
+  TLMonitor_10 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20580.4]
+    .clock(TLMonitor_clock),
+    .reset(TLMonitor_reset),
+    .io_in_a_ready(TLMonitor_io_in_a_ready),
+    .io_in_a_valid(TLMonitor_io_in_a_valid),
+    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
+    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
+    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
+    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
+    .io_in_d_ready(TLMonitor_io_in_d_ready),
+    .io_in_d_valid(TLMonitor_io_in_d_valid),
+    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
+    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
+    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source)
+  );
+  assign auto_in_a_ready = auto_out_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@20620.4]
+  assign auto_in_d_valid = auto_out_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@20620.4]
+  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@20620.4]
+  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@20620.4]
+  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@20620.4]
+  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@20620.4]
+  assign auto_out_a_valid = auto_in_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@20619.4]
+  assign auto_out_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@20619.4]
+  assign auto_out_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@20619.4]
+  assign auto_out_a_bits_size = auto_in_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@20619.4]
+  assign auto_out_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@20619.4]
+  assign auto_out_a_bits_address = auto_in_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@20619.4]
+  assign auto_out_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@20619.4]
+  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@20619.4]
+  assign auto_out_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@20619.4]
+  assign auto_out_d_ready = auto_in_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@20619.4]
+  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20582.4]
+  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20583.4]
+  assign TLMonitor_io_in_a_ready = auto_out_a_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@20616.4]
+  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@20616.4]
+  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@20616.4]
+  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@20616.4]
+  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@20616.4]
+  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@20616.4]
+  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@20616.4]
+  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@20616.4]
+  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@20616.4]
+  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@20616.4]
+  assign TLMonitor_io_in_d_valid = auto_out_d_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@20616.4]
+  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@20616.4]
+  assign TLMonitor_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@20616.4]
+  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@20616.4]
+endmodule
+module SimpleLazyModule_3( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20630.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20631.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20632.4]
+  output        auto_buffer_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20633.4]
+  input         auto_buffer_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20633.4]
+  input  [2:0]  auto_buffer_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20633.4]
+  input  [2:0]  auto_buffer_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20633.4]
+  input  [2:0]  auto_buffer_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20633.4]
+  input         auto_buffer_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20633.4]
+  input  [25:0] auto_buffer_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20633.4]
+  input  [3:0]  auto_buffer_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20633.4]
+  input  [31:0] auto_buffer_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20633.4]
+  input         auto_buffer_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20633.4]
+  input         auto_buffer_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20633.4]
+  output        auto_buffer_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20633.4]
+  output [2:0]  auto_buffer_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20633.4]
+  output [2:0]  auto_buffer_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20633.4]
+  output        auto_buffer_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20633.4]
+  output [31:0] auto_buffer_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20633.4]
+  input         auto_fragmenter_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20633.4]
+  output        auto_fragmenter_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20633.4]
+  output [2:0]  auto_fragmenter_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20633.4]
+  output [2:0]  auto_fragmenter_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20633.4]
+  output [1:0]  auto_fragmenter_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20633.4]
+  output [5:0]  auto_fragmenter_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20633.4]
+  output [25:0] auto_fragmenter_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20633.4]
+  output [3:0]  auto_fragmenter_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20633.4]
+  output [31:0] auto_fragmenter_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20633.4]
+  output        auto_fragmenter_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20633.4]
+  output        auto_fragmenter_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20633.4]
+  input         auto_fragmenter_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20633.4]
+  input  [2:0]  auto_fragmenter_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20633.4]
+  input  [1:0]  auto_fragmenter_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20633.4]
+  input  [5:0]  auto_fragmenter_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20633.4]
+  input  [31:0] auto_fragmenter_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20633.4]
+);
+  wire  fragmenter_clock; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@20638.4]
+  wire  fragmenter_reset; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@20638.4]
+  wire  fragmenter_auto_in_a_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@20638.4]
+  wire  fragmenter_auto_in_a_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@20638.4]
+  wire [2:0] fragmenter_auto_in_a_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@20638.4]
+  wire [2:0] fragmenter_auto_in_a_bits_param; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@20638.4]
+  wire [2:0] fragmenter_auto_in_a_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@20638.4]
+  wire  fragmenter_auto_in_a_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@20638.4]
+  wire [25:0] fragmenter_auto_in_a_bits_address; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@20638.4]
+  wire [3:0] fragmenter_auto_in_a_bits_mask; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@20638.4]
+  wire [31:0] fragmenter_auto_in_a_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@20638.4]
+  wire  fragmenter_auto_in_a_bits_corrupt; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@20638.4]
+  wire  fragmenter_auto_in_d_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@20638.4]
+  wire  fragmenter_auto_in_d_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@20638.4]
+  wire [2:0] fragmenter_auto_in_d_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@20638.4]
+  wire [2:0] fragmenter_auto_in_d_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@20638.4]
+  wire  fragmenter_auto_in_d_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@20638.4]
+  wire [31:0] fragmenter_auto_in_d_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@20638.4]
+  wire  fragmenter_auto_out_a_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@20638.4]
+  wire  fragmenter_auto_out_a_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@20638.4]
+  wire [2:0] fragmenter_auto_out_a_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@20638.4]
+  wire [2:0] fragmenter_auto_out_a_bits_param; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@20638.4]
+  wire [1:0] fragmenter_auto_out_a_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@20638.4]
+  wire [5:0] fragmenter_auto_out_a_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@20638.4]
+  wire [25:0] fragmenter_auto_out_a_bits_address; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@20638.4]
+  wire [3:0] fragmenter_auto_out_a_bits_mask; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@20638.4]
+  wire [31:0] fragmenter_auto_out_a_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@20638.4]
+  wire  fragmenter_auto_out_a_bits_corrupt; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@20638.4]
+  wire  fragmenter_auto_out_d_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@20638.4]
+  wire  fragmenter_auto_out_d_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@20638.4]
+  wire [2:0] fragmenter_auto_out_d_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@20638.4]
+  wire [1:0] fragmenter_auto_out_d_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@20638.4]
+  wire [5:0] fragmenter_auto_out_d_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@20638.4]
+  wire [31:0] fragmenter_auto_out_d_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@20638.4]
+  wire  buffer_clock; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20644.4]
+  wire  buffer_reset; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20644.4]
+  wire  buffer_auto_in_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20644.4]
+  wire  buffer_auto_in_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20644.4]
+  wire [2:0] buffer_auto_in_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20644.4]
+  wire [2:0] buffer_auto_in_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20644.4]
+  wire [2:0] buffer_auto_in_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20644.4]
+  wire  buffer_auto_in_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20644.4]
+  wire [25:0] buffer_auto_in_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20644.4]
+  wire [3:0] buffer_auto_in_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20644.4]
+  wire [31:0] buffer_auto_in_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20644.4]
+  wire  buffer_auto_in_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20644.4]
+  wire  buffer_auto_in_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20644.4]
+  wire  buffer_auto_in_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20644.4]
+  wire [2:0] buffer_auto_in_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20644.4]
+  wire [2:0] buffer_auto_in_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20644.4]
+  wire  buffer_auto_in_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20644.4]
+  wire [31:0] buffer_auto_in_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20644.4]
+  wire  buffer_auto_out_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20644.4]
+  wire  buffer_auto_out_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20644.4]
+  wire [2:0] buffer_auto_out_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20644.4]
+  wire [2:0] buffer_auto_out_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20644.4]
+  wire [2:0] buffer_auto_out_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20644.4]
+  wire  buffer_auto_out_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20644.4]
+  wire [25:0] buffer_auto_out_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20644.4]
+  wire [3:0] buffer_auto_out_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20644.4]
+  wire [31:0] buffer_auto_out_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20644.4]
+  wire  buffer_auto_out_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20644.4]
+  wire  buffer_auto_out_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20644.4]
+  wire  buffer_auto_out_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20644.4]
+  wire [2:0] buffer_auto_out_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20644.4]
+  wire [2:0] buffer_auto_out_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20644.4]
+  wire  buffer_auto_out_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20644.4]
+  wire [31:0] buffer_auto_out_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20644.4]
+  TLFragmenter_1 fragmenter ( // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@20638.4]
+    .clock(fragmenter_clock),
+    .reset(fragmenter_reset),
+    .auto_in_a_ready(fragmenter_auto_in_a_ready),
+    .auto_in_a_valid(fragmenter_auto_in_a_valid),
+    .auto_in_a_bits_opcode(fragmenter_auto_in_a_bits_opcode),
+    .auto_in_a_bits_param(fragmenter_auto_in_a_bits_param),
+    .auto_in_a_bits_size(fragmenter_auto_in_a_bits_size),
+    .auto_in_a_bits_source(fragmenter_auto_in_a_bits_source),
+    .auto_in_a_bits_address(fragmenter_auto_in_a_bits_address),
+    .auto_in_a_bits_mask(fragmenter_auto_in_a_bits_mask),
+    .auto_in_a_bits_data(fragmenter_auto_in_a_bits_data),
+    .auto_in_a_bits_corrupt(fragmenter_auto_in_a_bits_corrupt),
+    .auto_in_d_ready(fragmenter_auto_in_d_ready),
+    .auto_in_d_valid(fragmenter_auto_in_d_valid),
+    .auto_in_d_bits_opcode(fragmenter_auto_in_d_bits_opcode),
+    .auto_in_d_bits_size(fragmenter_auto_in_d_bits_size),
+    .auto_in_d_bits_source(fragmenter_auto_in_d_bits_source),
+    .auto_in_d_bits_data(fragmenter_auto_in_d_bits_data),
+    .auto_out_a_ready(fragmenter_auto_out_a_ready),
+    .auto_out_a_valid(fragmenter_auto_out_a_valid),
+    .auto_out_a_bits_opcode(fragmenter_auto_out_a_bits_opcode),
+    .auto_out_a_bits_param(fragmenter_auto_out_a_bits_param),
+    .auto_out_a_bits_size(fragmenter_auto_out_a_bits_size),
+    .auto_out_a_bits_source(fragmenter_auto_out_a_bits_source),
+    .auto_out_a_bits_address(fragmenter_auto_out_a_bits_address),
+    .auto_out_a_bits_mask(fragmenter_auto_out_a_bits_mask),
+    .auto_out_a_bits_data(fragmenter_auto_out_a_bits_data),
+    .auto_out_a_bits_corrupt(fragmenter_auto_out_a_bits_corrupt),
+    .auto_out_d_ready(fragmenter_auto_out_d_ready),
+    .auto_out_d_valid(fragmenter_auto_out_d_valid),
+    .auto_out_d_bits_opcode(fragmenter_auto_out_d_bits_opcode),
+    .auto_out_d_bits_size(fragmenter_auto_out_d_bits_size),
+    .auto_out_d_bits_source(fragmenter_auto_out_d_bits_source),
+    .auto_out_d_bits_data(fragmenter_auto_out_d_bits_data)
+  );
+  TLBuffer_3 buffer ( // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20644.4]
+    .clock(buffer_clock),
+    .reset(buffer_reset),
+    .auto_in_a_ready(buffer_auto_in_a_ready),
+    .auto_in_a_valid(buffer_auto_in_a_valid),
+    .auto_in_a_bits_opcode(buffer_auto_in_a_bits_opcode),
+    .auto_in_a_bits_param(buffer_auto_in_a_bits_param),
+    .auto_in_a_bits_size(buffer_auto_in_a_bits_size),
+    .auto_in_a_bits_source(buffer_auto_in_a_bits_source),
+    .auto_in_a_bits_address(buffer_auto_in_a_bits_address),
+    .auto_in_a_bits_mask(buffer_auto_in_a_bits_mask),
+    .auto_in_a_bits_data(buffer_auto_in_a_bits_data),
+    .auto_in_a_bits_corrupt(buffer_auto_in_a_bits_corrupt),
+    .auto_in_d_ready(buffer_auto_in_d_ready),
+    .auto_in_d_valid(buffer_auto_in_d_valid),
+    .auto_in_d_bits_opcode(buffer_auto_in_d_bits_opcode),
+    .auto_in_d_bits_size(buffer_auto_in_d_bits_size),
+    .auto_in_d_bits_source(buffer_auto_in_d_bits_source),
+    .auto_in_d_bits_data(buffer_auto_in_d_bits_data),
+    .auto_out_a_ready(buffer_auto_out_a_ready),
+    .auto_out_a_valid(buffer_auto_out_a_valid),
+    .auto_out_a_bits_opcode(buffer_auto_out_a_bits_opcode),
+    .auto_out_a_bits_param(buffer_auto_out_a_bits_param),
+    .auto_out_a_bits_size(buffer_auto_out_a_bits_size),
+    .auto_out_a_bits_source(buffer_auto_out_a_bits_source),
+    .auto_out_a_bits_address(buffer_auto_out_a_bits_address),
+    .auto_out_a_bits_mask(buffer_auto_out_a_bits_mask),
+    .auto_out_a_bits_data(buffer_auto_out_a_bits_data),
+    .auto_out_a_bits_corrupt(buffer_auto_out_a_bits_corrupt),
+    .auto_out_d_ready(buffer_auto_out_d_ready),
+    .auto_out_d_valid(buffer_auto_out_d_valid),
+    .auto_out_d_bits_opcode(buffer_auto_out_d_bits_opcode),
+    .auto_out_d_bits_size(buffer_auto_out_d_bits_size),
+    .auto_out_d_bits_source(buffer_auto_out_d_bits_source),
+    .auto_out_d_bits_data(buffer_auto_out_d_bits_data)
+  );
+  assign auto_buffer_in_a_ready = buffer_auto_in_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@20652.4]
+  assign auto_buffer_in_d_valid = buffer_auto_in_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@20652.4]
+  assign auto_buffer_in_d_bits_opcode = buffer_auto_in_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@20652.4]
+  assign auto_buffer_in_d_bits_size = buffer_auto_in_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@20652.4]
+  assign auto_buffer_in_d_bits_source = buffer_auto_in_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@20652.4]
+  assign auto_buffer_in_d_bits_data = buffer_auto_in_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@20652.4]
+  assign auto_fragmenter_out_a_valid = fragmenter_auto_out_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@20651.4]
+  assign auto_fragmenter_out_a_bits_opcode = fragmenter_auto_out_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@20651.4]
+  assign auto_fragmenter_out_a_bits_param = fragmenter_auto_out_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@20651.4]
+  assign auto_fragmenter_out_a_bits_size = fragmenter_auto_out_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@20651.4]
+  assign auto_fragmenter_out_a_bits_source = fragmenter_auto_out_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@20651.4]
+  assign auto_fragmenter_out_a_bits_address = fragmenter_auto_out_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@20651.4]
+  assign auto_fragmenter_out_a_bits_mask = fragmenter_auto_out_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@20651.4]
+  assign auto_fragmenter_out_a_bits_data = fragmenter_auto_out_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@20651.4]
+  assign auto_fragmenter_out_a_bits_corrupt = fragmenter_auto_out_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@20651.4]
+  assign auto_fragmenter_out_d_ready = fragmenter_auto_out_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@20651.4]
+  assign fragmenter_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20642.4]
+  assign fragmenter_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20643.4]
+  assign fragmenter_auto_in_a_valid = buffer_auto_out_a_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@20650.4]
+  assign fragmenter_auto_in_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@20650.4]
+  assign fragmenter_auto_in_a_bits_param = buffer_auto_out_a_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@20650.4]
+  assign fragmenter_auto_in_a_bits_size = buffer_auto_out_a_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@20650.4]
+  assign fragmenter_auto_in_a_bits_source = buffer_auto_out_a_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@20650.4]
+  assign fragmenter_auto_in_a_bits_address = buffer_auto_out_a_bits_address; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@20650.4]
+  assign fragmenter_auto_in_a_bits_mask = buffer_auto_out_a_bits_mask; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@20650.4]
+  assign fragmenter_auto_in_a_bits_data = buffer_auto_out_a_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@20650.4]
+  assign fragmenter_auto_in_a_bits_corrupt = buffer_auto_out_a_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@20650.4]
+  assign fragmenter_auto_in_d_ready = buffer_auto_out_d_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@20650.4]
+  assign fragmenter_auto_out_a_ready = auto_fragmenter_out_a_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@20651.4]
+  assign fragmenter_auto_out_d_valid = auto_fragmenter_out_d_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@20651.4]
+  assign fragmenter_auto_out_d_bits_opcode = auto_fragmenter_out_d_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@20651.4]
+  assign fragmenter_auto_out_d_bits_size = auto_fragmenter_out_d_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@20651.4]
+  assign fragmenter_auto_out_d_bits_source = auto_fragmenter_out_d_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@20651.4]
+  assign fragmenter_auto_out_d_bits_data = auto_fragmenter_out_d_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@20651.4]
+  assign buffer_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20648.4]
+  assign buffer_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20649.4]
+  assign buffer_auto_in_a_valid = auto_buffer_in_a_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@20652.4]
+  assign buffer_auto_in_a_bits_opcode = auto_buffer_in_a_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@20652.4]
+  assign buffer_auto_in_a_bits_param = auto_buffer_in_a_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@20652.4]
+  assign buffer_auto_in_a_bits_size = auto_buffer_in_a_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@20652.4]
+  assign buffer_auto_in_a_bits_source = auto_buffer_in_a_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@20652.4]
+  assign buffer_auto_in_a_bits_address = auto_buffer_in_a_bits_address; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@20652.4]
+  assign buffer_auto_in_a_bits_mask = auto_buffer_in_a_bits_mask; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@20652.4]
+  assign buffer_auto_in_a_bits_data = auto_buffer_in_a_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@20652.4]
+  assign buffer_auto_in_a_bits_corrupt = auto_buffer_in_a_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@20652.4]
+  assign buffer_auto_in_d_ready = auto_buffer_in_d_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@20652.4]
+  assign buffer_auto_out_a_ready = fragmenter_auto_in_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@20650.4]
+  assign buffer_auto_out_d_valid = fragmenter_auto_in_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@20650.4]
+  assign buffer_auto_out_d_bits_opcode = fragmenter_auto_in_d_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@20650.4]
+  assign buffer_auto_out_d_bits_size = fragmenter_auto_in_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@20650.4]
+  assign buffer_auto_out_d_bits_source = fragmenter_auto_in_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@20650.4]
+  assign buffer_auto_out_d_bits_data = fragmenter_auto_in_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@20650.4]
+endmodule
+module TLMonitor_11( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20661.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20662.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20663.4]
+  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20664.4]
+  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20664.4]
+  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20664.4]
+  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20664.4]
+  input  [2:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20664.4]
+  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20664.4]
+  input  [11:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20664.4]
+  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20664.4]
+  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20664.4]
+  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20664.4]
+  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20664.4]
+  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20664.4]
+  input  [2:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20664.4]
+  input         io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20664.4]
+);
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@21785.4]
+  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@20680.6]
+  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@20685.6]
+  wire [12:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@20687.6]
+  wire [5:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@20688.6]
+  wire [5:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@20689.6]
+  wire [11:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@20690.6]
+  wire [11:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@20690.6]
+  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@20691.6]
+  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@20693.6]
+  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@20694.6]
+  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@20696.6]
+  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@20697.6]
+  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@20698.6]
+  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@20699.6]
+  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@20700.6]
+  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@20702.6]
+  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@20703.6]
+  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@20705.6]
+  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@20706.6]
+  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@20707.6]
+  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@20708.6]
+  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@20709.6]
+  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@20710.6]
+  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@20711.6]
+  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@20712.6]
+  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@20713.6]
+  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@20714.6]
+  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@20715.6]
+  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@20716.6]
+  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@20717.6]
+  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@20718.6]
+  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@20719.6]
+  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@20720.6]
+  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@20721.6]
+  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@20722.6]
+  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@20723.6]
+  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@20724.6]
+  wire [12:0] _T_73; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@20728.6]
+  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20749.6]
+  wire [12:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@20754.8]
+  wire [12:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@20755.8]
+  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@20756.8]
+  wire  _T_101; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20761.8]
+  wire  _T_106; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20774.8]
+  wire  _T_107; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20775.8]
+  wire  _T_110; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20782.8]
+  wire  _T_111; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20783.8]
+  wire  _T_113; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20789.8]
+  wire  _T_114; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20790.8]
+  wire  _T_115; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@20795.8]
+  wire  _T_117; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20797.8]
+  wire  _T_118; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20798.8]
+  wire [3:0] _T_119; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@20803.8]
+  wire  _T_120; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20804.8]
+  wire  _T_122; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20806.8]
+  wire  _T_123; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20807.8]
+  wire  _T_124; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@20812.8]
+  wire  _T_126; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20814.8]
+  wire  _T_127; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20815.8]
+  wire  _T_128; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20821.6]
+  wire  _T_157; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20875.8]
+  wire  _T_159; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20877.8]
+  wire  _T_160; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20878.8]
+  wire  _T_170; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20901.6]
+  wire  _T_172; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@20904.8]
+  wire  _T_180; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@20912.8]
+  wire  _T_183; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20915.8]
+  wire  _T_184; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20916.8]
+  wire  _T_191; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20935.8]
+  wire  _T_193; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20937.8]
+  wire  _T_194; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20938.8]
+  wire  _T_195; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@20943.8]
+  wire  _T_197; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20945.8]
+  wire  _T_198; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20946.8]
+  wire  _T_203; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20960.6]
+  wire  _T_232; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@21011.6]
+  wire [3:0] _T_257; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@21053.8]
+  wire [3:0] _T_258; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21054.8]
+  wire  _T_259; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@21055.8]
+  wire  _T_261; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21057.8]
+  wire  _T_262; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21058.8]
+  wire  _T_263; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@21064.6]
+  wire  _T_281; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@21095.8]
+  wire  _T_283; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21097.8]
+  wire  _T_284; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21098.8]
+  wire  _T_289; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@21112.6]
+  wire  _T_307; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@21143.8]
+  wire  _T_309; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21145.8]
+  wire  _T_310; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21146.8]
+  wire  _T_315; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@21160.6]
+  wire  _T_341; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@21210.6]
+  wire  _T_343; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@21212.6]
+  wire  _T_344; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@21213.6]
+  wire  _T_346; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@21219.6]
+  wire  _T_355; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@21224.6]
+  wire  _T_357; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@21226.6]
+  wire  _T_359; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21229.8]
+  wire  _T_360; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21230.8]
+  wire  _T_361; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@21235.8]
+  wire  _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21237.8]
+  wire  _T_364; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21238.8]
+  wire  _T_377; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@21268.6]
+  wire  _T_405; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@21326.6]
+  wire  _T_434; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@21385.6]
+  wire  _T_451; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@21420.6]
+  wire  _T_469; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@21456.6]
+  wire  _T_498; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@21516.4]
+  wire [3:0] _T_503; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@21521.4]
+  wire  _T_504; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@21522.4]
+  wire  _T_505; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21523.4]
+  reg [3:0] _T_508; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@21525.4]
+  reg [31:0] _RAND_0;
+  wire [4:0] _T_509; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21526.4]
+  wire [4:0] _T_510; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21527.4]
+  wire [3:0] _T_511; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21528.4]
+  wire  _T_512; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@21529.4]
+  reg [2:0] _T_521; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@21540.4]
+  reg [31:0] _RAND_1;
+  reg [2:0] _T_523; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@21541.4]
+  reg [31:0] _RAND_2;
+  reg [2:0] _T_525; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@21542.4]
+  reg [31:0] _RAND_3;
+  reg  _T_527; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@21543.4]
+  reg [31:0] _RAND_4;
+  reg [11:0] _T_529; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@21544.4]
+  reg [31:0] _RAND_5;
+  wire  _T_530; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@21545.4]
+  wire  _T_531; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@21546.4]
+  wire  _T_532; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@21548.6]
+  wire  _T_534; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21550.6]
+  wire  _T_535; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21551.6]
+  wire  _T_536; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@21556.6]
+  wire  _T_538; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21558.6]
+  wire  _T_539; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21559.6]
+  wire  _T_540; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@21564.6]
+  wire  _T_542; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21566.6]
+  wire  _T_543; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21567.6]
+  wire  _T_544; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@21572.6]
+  wire  _T_546; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21574.6]
+  wire  _T_547; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21575.6]
+  wire  _T_548; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@21580.6]
+  wire  _T_550; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21582.6]
+  wire  _T_551; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21583.6]
+  wire  _T_553; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@21590.4]
+  wire  _T_554; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@21598.4]
+  wire [12:0] _T_556; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@21600.4]
+  wire [5:0] _T_557; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@21601.4]
+  wire [5:0] _T_558; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@21602.4]
+  wire [3:0] _T_559; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@21603.4]
+  wire  _T_560; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@21604.4]
+  reg [3:0] _T_563; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@21606.4]
+  reg [31:0] _RAND_6;
+  wire [4:0] _T_564; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21607.4]
+  wire [4:0] _T_565; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21608.4]
+  wire [3:0] _T_566; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21609.4]
+  wire  _T_567; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@21610.4]
+  reg [2:0] _T_576; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@21621.4]
+  reg [31:0] _RAND_7;
+  reg [2:0] _T_580; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@21623.4]
+  reg [31:0] _RAND_8;
+  reg  _T_582; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@21624.4]
+  reg [31:0] _RAND_9;
+  wire  _T_587; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@21627.4]
+  wire  _T_588; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@21628.4]
+  wire  _T_589; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@21630.6]
+  wire  _T_591; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21632.6]
+  wire  _T_592; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21633.6]
+  wire  _T_597; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@21646.6]
+  wire  _T_599; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21648.6]
+  wire  _T_600; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21649.6]
+  wire  _T_601; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@21654.6]
+  wire  _T_603; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21656.6]
+  wire  _T_604; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21657.6]
+  wire  _T_614; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@21680.4]
+  reg [1:0] _T_616; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@21689.4]
+  reg [31:0] _RAND_10;
+  reg [3:0] _T_627; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@21699.4]
+  reg [31:0] _RAND_11;
+  wire [4:0] _T_628; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21700.4]
+  wire [4:0] _T_629; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21701.4]
+  wire [3:0] _T_630; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21702.4]
+  wire  _T_631; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@21703.4]
+  reg [3:0] _T_648; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@21722.4]
+  reg [31:0] _RAND_12;
+  wire [4:0] _T_649; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21723.4]
+  wire [4:0] _T_650; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21724.4]
+  wire [3:0] _T_651; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21725.4]
+  wire  _T_652; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@21726.4]
+  wire  _T_663; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@21741.4]
+  wire [1:0] _T_665; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@21744.6]
+  wire [1:0] _T_666; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@21746.6]
+  wire  _T_667; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@21747.6]
+  wire  _T_668; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21748.6]
+  wire  _T_670; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@21750.6]
+  wire  _T_671; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@21751.6]
+  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@21743.4]
+  wire  _T_676; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@21762.4]
+  wire  _T_678; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@21764.4]
+  wire  _T_679; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@21765.4]
+  wire [1:0] _T_680; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@21767.6]
+  wire [1:0] _T_681; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@21769.6]
+  wire [1:0] _T_682; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@21770.6]
+  wire  _T_683; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@21771.6]
+  wire  _T_685; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@21773.6]
+  wire  _T_686; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@21774.6]
+  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@21766.4]
+  wire [1:0] _T_687; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@21780.4]
+  wire [1:0] _T_688; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@21781.4]
+  wire [1:0] _T_689; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@21782.4]
+  reg [31:0] _T_691; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@21784.4]
+  reg [31:0] _RAND_13;
+  wire  _T_692; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@21787.4]
+  wire  _T_693; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@21788.4]
+  wire  _T_694; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@21789.4]
+  wire  _T_695; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@21790.4]
+  wire  _T_696; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@21791.4]
+  wire  _T_697; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@21792.4]
+  wire  _T_699; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@21794.4]
+  wire  _T_700; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@21795.4]
+  wire [31:0] _T_702; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@21801.4]
+  wire  _T_705; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@21805.4]
+  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20763.10]
+  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20835.10]
+  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20918.10]
+  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20977.10]
+  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21028.10]
+  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21078.10]
+  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21126.10]
+  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21174.10]
+  wire  _GEN_115; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21232.10]
+  wire  _GEN_119; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21274.10]
+  wire  _GEN_125; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21332.10]
+  wire  _GEN_131; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21391.10]
+  wire  _GEN_133; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21426.10]
+  wire  _GEN_135; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21462.10]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@21785.4]
+    .out(plusarg_reader_out)
+  );
+  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@20680.6]
+  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@20685.6]
+  assign _T_32 = 13'h3f << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@20687.6]
+  assign _T_33 = _T_32[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@20688.6]
+  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@20689.6]
+  assign _GEN_18 = {{6'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@20690.6]
+  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@20690.6]
+  assign _T_36 = _T_35 == 12'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@20691.6]
+  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@20693.6]
+  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@20694.6]
+  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@20696.6]
+  assign _T_42 = io_in_a_bits_size >= 3'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@20697.6]
+  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@20698.6]
+  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@20699.6]
+  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@20700.6]
+  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@20702.6]
+  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@20703.6]
+  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@20705.6]
+  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@20706.6]
+  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@20707.6]
+  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@20708.6]
+  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@20709.6]
+  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@20710.6]
+  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@20711.6]
+  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@20712.6]
+  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@20713.6]
+  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@20714.6]
+  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@20715.6]
+  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@20716.6]
+  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@20717.6]
+  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@20718.6]
+  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@20719.6]
+  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@20720.6]
+  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@20721.6]
+  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@20722.6]
+  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@20723.6]
+  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@20724.6]
+  assign _T_73 = {1'b0,$signed(io_in_a_bits_address)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@20728.6]
+  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20749.6]
+  assign _T_94 = $signed(_T_73) & $signed(-13'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@20754.8]
+  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@20755.8]
+  assign _T_96 = $signed(_T_95) == $signed(13'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@20756.8]
+  assign _T_101 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20761.8]
+  assign _T_106 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20774.8]
+  assign _T_107 = _T_106 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20775.8]
+  assign _T_110 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20782.8]
+  assign _T_111 = _T_110 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20783.8]
+  assign _T_113 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20789.8]
+  assign _T_114 = _T_113 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20790.8]
+  assign _T_115 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@20795.8]
+  assign _T_117 = _T_115 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20797.8]
+  assign _T_118 = _T_117 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20798.8]
+  assign _T_119 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@20803.8]
+  assign _T_120 = _T_119 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20804.8]
+  assign _T_122 = _T_120 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20806.8]
+  assign _T_123 = _T_122 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20807.8]
+  assign _T_124 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@20812.8]
+  assign _T_126 = _T_124 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20814.8]
+  assign _T_127 = _T_126 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20815.8]
+  assign _T_128 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20821.6]
+  assign _T_157 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20875.8]
+  assign _T_159 = _T_157 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20877.8]
+  assign _T_160 = _T_159 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20878.8]
+  assign _T_170 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20901.6]
+  assign _T_172 = io_in_a_bits_size <= 3'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@20904.8]
+  assign _T_180 = _T_172 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@20912.8]
+  assign _T_183 = _T_180 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20915.8]
+  assign _T_184 = _T_183 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20916.8]
+  assign _T_191 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20935.8]
+  assign _T_193 = _T_191 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20937.8]
+  assign _T_194 = _T_193 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20938.8]
+  assign _T_195 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@20943.8]
+  assign _T_197 = _T_195 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20945.8]
+  assign _T_198 = _T_197 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20946.8]
+  assign _T_203 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20960.6]
+  assign _T_232 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@21011.6]
+  assign _T_257 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@21053.8]
+  assign _T_258 = io_in_a_bits_mask & _T_257; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21054.8]
+  assign _T_259 = _T_258 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@21055.8]
+  assign _T_261 = _T_259 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21057.8]
+  assign _T_262 = _T_261 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21058.8]
+  assign _T_263 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@21064.6]
+  assign _T_281 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@21095.8]
+  assign _T_283 = _T_281 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21097.8]
+  assign _T_284 = _T_283 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21098.8]
+  assign _T_289 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@21112.6]
+  assign _T_307 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@21143.8]
+  assign _T_309 = _T_307 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21145.8]
+  assign _T_310 = _T_309 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21146.8]
+  assign _T_315 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@21160.6]
+  assign _T_341 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@21210.6]
+  assign _T_343 = _T_341 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@21212.6]
+  assign _T_344 = _T_343 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@21213.6]
+  assign _T_346 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@21219.6]
+  assign _T_355 = io_in_d_bits_source | _T_346; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@21224.6]
+  assign _T_357 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@21226.6]
+  assign _T_359 = _T_355 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21229.8]
+  assign _T_360 = _T_359 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21230.8]
+  assign _T_361 = io_in_d_bits_size >= 3'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@21235.8]
+  assign _T_363 = _T_361 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21237.8]
+  assign _T_364 = _T_363 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21238.8]
+  assign _T_377 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@21268.6]
+  assign _T_405 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@21326.6]
+  assign _T_434 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@21385.6]
+  assign _T_451 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@21420.6]
+  assign _T_469 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@21456.6]
+  assign _T_498 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@21516.4]
+  assign _T_503 = _T_34[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@21521.4]
+  assign _T_504 = io_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@21522.4]
+  assign _T_505 = _T_504 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21523.4]
+  assign _T_509 = _T_508 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21526.4]
+  assign _T_510 = $unsigned(_T_509); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21527.4]
+  assign _T_511 = _T_510[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21528.4]
+  assign _T_512 = _T_508 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@21529.4]
+  assign _T_530 = _T_512 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@21545.4]
+  assign _T_531 = io_in_a_valid & _T_530; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@21546.4]
+  assign _T_532 = io_in_a_bits_opcode == _T_521; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@21548.6]
+  assign _T_534 = _T_532 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21550.6]
+  assign _T_535 = _T_534 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21551.6]
+  assign _T_536 = io_in_a_bits_param == _T_523; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@21556.6]
+  assign _T_538 = _T_536 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21558.6]
+  assign _T_539 = _T_538 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21559.6]
+  assign _T_540 = io_in_a_bits_size == _T_525; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@21564.6]
+  assign _T_542 = _T_540 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21566.6]
+  assign _T_543 = _T_542 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21567.6]
+  assign _T_544 = io_in_a_bits_source == _T_527; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@21572.6]
+  assign _T_546 = _T_544 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21574.6]
+  assign _T_547 = _T_546 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21575.6]
+  assign _T_548 = io_in_a_bits_address == _T_529; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@21580.6]
+  assign _T_550 = _T_548 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21582.6]
+  assign _T_551 = _T_550 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21583.6]
+  assign _T_553 = _T_498 & _T_512; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@21590.4]
+  assign _T_554 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@21598.4]
+  assign _T_556 = 13'h3f << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@21600.4]
+  assign _T_557 = _T_556[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@21601.4]
+  assign _T_558 = ~ _T_557; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@21602.4]
+  assign _T_559 = _T_558[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@21603.4]
+  assign _T_560 = io_in_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@21604.4]
+  assign _T_564 = _T_563 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21607.4]
+  assign _T_565 = $unsigned(_T_564); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21608.4]
+  assign _T_566 = _T_565[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21609.4]
+  assign _T_567 = _T_563 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@21610.4]
+  assign _T_587 = _T_567 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@21627.4]
+  assign _T_588 = io_in_d_valid & _T_587; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@21628.4]
+  assign _T_589 = io_in_d_bits_opcode == _T_576; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@21630.6]
+  assign _T_591 = _T_589 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21632.6]
+  assign _T_592 = _T_591 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21633.6]
+  assign _T_597 = io_in_d_bits_size == _T_580; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@21646.6]
+  assign _T_599 = _T_597 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21648.6]
+  assign _T_600 = _T_599 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21649.6]
+  assign _T_601 = io_in_d_bits_source == _T_582; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@21654.6]
+  assign _T_603 = _T_601 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21656.6]
+  assign _T_604 = _T_603 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21657.6]
+  assign _T_614 = _T_554 & _T_567; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@21680.4]
+  assign _T_628 = _T_627 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21700.4]
+  assign _T_629 = $unsigned(_T_628); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21701.4]
+  assign _T_630 = _T_629[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21702.4]
+  assign _T_631 = _T_627 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@21703.4]
+  assign _T_649 = _T_648 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21723.4]
+  assign _T_650 = $unsigned(_T_649); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21724.4]
+  assign _T_651 = _T_650[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21725.4]
+  assign _T_652 = _T_648 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@21726.4]
+  assign _T_663 = _T_498 & _T_631; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@21741.4]
+  assign _T_665 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@21744.6]
+  assign _T_666 = _T_616 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@21746.6]
+  assign _T_667 = _T_666[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@21747.6]
+  assign _T_668 = _T_667 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21748.6]
+  assign _T_670 = _T_668 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@21750.6]
+  assign _T_671 = _T_670 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@21751.6]
+  assign _GEN_15 = _T_663 ? _T_665 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@21743.4]
+  assign _T_676 = _T_554 & _T_652; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@21762.4]
+  assign _T_678 = _T_357 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@21764.4]
+  assign _T_679 = _T_676 & _T_678; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@21765.4]
+  assign _T_680 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@21767.6]
+  assign _T_681 = _GEN_15 | _T_616; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@21769.6]
+  assign _T_682 = _T_681 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@21770.6]
+  assign _T_683 = _T_682[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@21771.6]
+  assign _T_685 = _T_683 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@21773.6]
+  assign _T_686 = _T_685 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@21774.6]
+  assign _GEN_16 = _T_679 ? _T_680 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@21766.4]
+  assign _T_687 = _T_616 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@21780.4]
+  assign _T_688 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@21781.4]
+  assign _T_689 = _T_687 & _T_688; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@21782.4]
+  assign _T_692 = _T_616 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@21787.4]
+  assign _T_693 = _T_692 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@21788.4]
+  assign _T_694 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@21789.4]
+  assign _T_695 = _T_693 | _T_694; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@21790.4]
+  assign _T_696 = _T_691 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@21791.4]
+  assign _T_697 = _T_695 | _T_696; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@21792.4]
+  assign _T_699 = _T_697 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@21794.4]
+  assign _T_700 = _T_699 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@21795.4]
+  assign _T_702 = _T_691 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@21801.4]
+  assign _T_705 = _T_498 | _T_554; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@21805.4]
+  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20763.10]
+  assign _GEN_35 = io_in_a_valid & _T_128; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20835.10]
+  assign _GEN_53 = io_in_a_valid & _T_170; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20918.10]
+  assign _GEN_65 = io_in_a_valid & _T_203; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20977.10]
+  assign _GEN_75 = io_in_a_valid & _T_232; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21028.10]
+  assign _GEN_85 = io_in_a_valid & _T_263; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21078.10]
+  assign _GEN_95 = io_in_a_valid & _T_289; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21126.10]
+  assign _GEN_105 = io_in_a_valid & _T_315; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21174.10]
+  assign _GEN_115 = io_in_d_valid & _T_357; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21232.10]
+  assign _GEN_119 = io_in_d_valid & _T_377; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21274.10]
+  assign _GEN_125 = io_in_d_valid & _T_405; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21332.10]
+  assign _GEN_131 = io_in_d_valid & _T_434; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21391.10]
+  assign _GEN_133 = io_in_d_valid & _T_451; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21426.10]
+  assign _GEN_135 = io_in_d_valid & _T_469; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21462.10]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  _T_508 = _RAND_0[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  _T_521 = _RAND_1[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  _T_523 = _RAND_2[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  _T_525 = _RAND_3[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  _T_527 = _RAND_4[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  _T_529 = _RAND_5[11:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {1{`RANDOM}};
+  _T_563 = _RAND_6[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {1{`RANDOM}};
+  _T_576 = _RAND_7[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_8 = {1{`RANDOM}};
+  _T_580 = _RAND_8[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_9 = {1{`RANDOM}};
+  _T_582 = _RAND_9[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_10 = {1{`RANDOM}};
+  _T_616 = _RAND_10[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_11 = {1{`RANDOM}};
+  _T_627 = _RAND_11[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_12 = {1{`RANDOM}};
+  _T_648 = _RAND_12[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_13 = {1{`RANDOM}};
+  _T_691 = _RAND_13[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      _T_508 <= 4'h0;
+    end else begin
+      if (_T_498) begin
+        if (_T_512) begin
+          if (_T_505) begin
+            _T_508 <= _T_503;
+          end else begin
+            _T_508 <= 4'h0;
+          end
+        end else begin
+          _T_508 <= _T_511;
+        end
+      end
+    end
+    if (_T_553) begin
+      _T_521 <= io_in_a_bits_opcode;
+    end
+    if (_T_553) begin
+      _T_523 <= io_in_a_bits_param;
+    end
+    if (_T_553) begin
+      _T_525 <= io_in_a_bits_size;
+    end
+    if (_T_553) begin
+      _T_527 <= io_in_a_bits_source;
+    end
+    if (_T_553) begin
+      _T_529 <= io_in_a_bits_address;
+    end
+    if (reset) begin
+      _T_563 <= 4'h0;
+    end else begin
+      if (_T_554) begin
+        if (_T_567) begin
+          if (_T_560) begin
+            _T_563 <= _T_559;
+          end else begin
+            _T_563 <= 4'h0;
+          end
+        end else begin
+          _T_563 <= _T_566;
+        end
+      end
+    end
+    if (_T_614) begin
+      _T_576 <= io_in_d_bits_opcode;
+    end
+    if (_T_614) begin
+      _T_580 <= io_in_d_bits_size;
+    end
+    if (_T_614) begin
+      _T_582 <= io_in_d_bits_source;
+    end
+    if (reset) begin
+      _T_616 <= 2'h0;
+    end else begin
+      _T_616 <= _T_689;
+    end
+    if (reset) begin
+      _T_627 <= 4'h0;
+    end else begin
+      if (_T_498) begin
+        if (_T_631) begin
+          if (_T_505) begin
+            _T_627 <= _T_503;
+          end else begin
+            _T_627 <= 4'h0;
+          end
+        end else begin
+          _T_627 <= _T_630;
+        end
+      end
+    end
+    if (reset) begin
+      _T_648 <= 4'h0;
+    end else begin
+      if (_T_554) begin
+        if (_T_652) begin
+          if (_T_560) begin
+            _T_648 <= _T_559;
+          end else begin
+            _T_648 <= 4'h0;
+          end
+        end else begin
+          _T_648 <= _T_651;
+        end
+      end
+    end
+    if (reset) begin
+      _T_691 <= 32'h0;
+    end else begin
+      if (_T_705) begin
+        _T_691 <= 32'h0;
+      end else begin
+        _T_691 <= _T_702;
+      end
+    end
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@20676.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@20677.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@20746.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@20747.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20763.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_101) begin
+          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20764.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20770.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_101) begin
+          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20771.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20777.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_107) begin
+          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20778.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_111) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20785.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_111) begin
+          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20786.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20792.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_114) begin
+          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20793.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_118) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20800.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_118) begin
+          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20801.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_123) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20809.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_123) begin
+          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20810.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_127) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20817.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_127) begin
+          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20818.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20835.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_101) begin
+          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20836.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20842.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_101) begin
+          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20843.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20849.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_107) begin
+          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20850.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_111) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20857.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_111) begin
+          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20858.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20864.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_114) begin
+          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20865.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_118) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20872.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_118) begin
+          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20873.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_160) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20880.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_160) begin
+          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20881.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_123) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20889.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_123) begin
+          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20890.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_127) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20897.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_127) begin
+          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20898.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_184) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20918.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_184) begin
+          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20919.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20925.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_107) begin
+          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20926.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20932.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_114) begin
+          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20933.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_194) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20940.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_194) begin
+          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20941.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_198) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20948.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_198) begin
+          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20949.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_127) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20956.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_127) begin
+          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20957.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_184) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20977.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_184) begin
+          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20978.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20984.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_107) begin
+          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20985.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20991.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_114) begin
+          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20992.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_194) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20999.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_194) begin
+          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21000.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_198) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21007.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_198) begin
+          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21008.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_184) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21028.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_184) begin
+          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21029.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21035.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_107) begin
+          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21036.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21042.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_114) begin
+          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21043.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_194) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21050.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_194) begin
+          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21051.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_262) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21060.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_262) begin
+          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21061.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21078.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_101) begin
+          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21079.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21085.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_107) begin
+          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21086.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21092.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_114) begin
+          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21093.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_284) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21100.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_284) begin
+          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21101.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_198) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21108.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_198) begin
+          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21109.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21126.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_101) begin
+          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21127.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21133.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_107) begin
+          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21134.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21140.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_114) begin
+          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21141.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_310) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21148.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_310) begin
+          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21149.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_198) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21156.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_198) begin
+          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21157.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21174.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_101) begin
+          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21175.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21181.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_107) begin
+          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21182.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21188.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_114) begin
+          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21189.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_198) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21196.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_198) begin
+          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21197.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_127) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21204.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_127) begin
+          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21205.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_344) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@21215.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_344) begin
+          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@21216.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_360) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21232.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_360) begin
+          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21233.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_364) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21240.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_364) begin
+          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21241.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21248.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21249.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21256.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21257.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21264.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21265.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_119 & _T_360) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21274.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_119 & _T_360) begin
+          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21275.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_119 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21281.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_119 & _T_101) begin
+          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21282.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_119 & _T_364) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21289.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_119 & _T_364) begin
+          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21290.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21297.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21298.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21305.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21306.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21313.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21314.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21322.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21323.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_360) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21332.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_360) begin
+          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21333.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21339.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_101) begin
+          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21340.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_364) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21347.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_364) begin
+          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21348.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21355.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21356.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21363.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21364.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21372.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21373.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21381.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21382.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_131 & _T_360) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21391.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_131 & _T_360) begin
+          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21392.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21399.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21400.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21407.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21408.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21416.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21417.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_133 & _T_360) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21426.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_133 & _T_360) begin
+          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21427.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21434.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21435.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21443.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21444.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21452.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21453.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_135 & _T_360) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21462.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_135 & _T_360) begin
+          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21463.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21470.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21471.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21478.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21479.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21487.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21488.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21497.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21498.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21505.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21506.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21513.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21514.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_531 & _T_535) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21553.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_531 & _T_535) begin
+          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21554.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_531 & _T_539) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21561.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_531 & _T_539) begin
+          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21562.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_531 & _T_543) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21569.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_531 & _T_543) begin
+          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21570.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_531 & _T_547) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21577.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_531 & _T_547) begin
+          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21578.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_531 & _T_551) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21585.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_531 & _T_551) begin
+          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21586.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_588 & _T_592) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21635.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_588 & _T_592) begin
+          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21636.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21643.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21644.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_588 & _T_600) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21651.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_588 & _T_600) begin
+          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21652.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_588 & _T_604) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21659.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_588 & _T_604) begin
+          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21660.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21667.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21668.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21675.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21676.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_663 & _T_671) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@21753.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_663 & _T_671) begin
+          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@21754.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_679 & _T_686) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@21776.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_679 & _T_686) begin
+          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@21777.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_700) begin
+          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@21797.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_700) begin
+          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@21798.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+endmodule
+module Repeater_2( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21810.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21811.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21812.4]
+  input         io_repeat, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21813.4]
+  output        io_full, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21813.4]
+  output        io_enq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21813.4]
+  input         io_enq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21813.4]
+  input  [2:0]  io_enq_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21813.4]
+  input  [2:0]  io_enq_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21813.4]
+  input  [2:0]  io_enq_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21813.4]
+  input         io_enq_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21813.4]
+  input  [11:0] io_enq_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21813.4]
+  input  [3:0]  io_enq_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21813.4]
+  input         io_enq_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21813.4]
+  input         io_deq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21813.4]
+  output        io_deq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21813.4]
+  output [2:0]  io_deq_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21813.4]
+  output [2:0]  io_deq_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21813.4]
+  output [2:0]  io_deq_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21813.4]
+  output        io_deq_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21813.4]
+  output [11:0] io_deq_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21813.4]
+  output [3:0]  io_deq_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21813.4]
+  output        io_deq_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21813.4]
+);
+  reg  full; // @[Repeater.scala 18:21:shc.marmotcaravel.MarmotCaravelConfig.fir@21818.4]
+  reg [31:0] _RAND_0;
+  reg [2:0] saved_opcode; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@21819.4]
+  reg [31:0] _RAND_1;
+  reg [2:0] saved_param; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@21819.4]
+  reg [31:0] _RAND_2;
+  reg [2:0] saved_size; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@21819.4]
+  reg [31:0] _RAND_3;
+  reg  saved_source; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@21819.4]
+  reg [31:0] _RAND_4;
+  reg [11:0] saved_address; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@21819.4]
+  reg [31:0] _RAND_5;
+  reg [3:0] saved_mask; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@21819.4]
+  reg [31:0] _RAND_6;
+  reg  saved_corrupt; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@21819.4]
+  reg [31:0] _RAND_7;
+  wire  _T_18; // @[Repeater.scala 23:35:shc.marmotcaravel.MarmotCaravelConfig.fir@21822.4]
+  wire  _T_21; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@21828.4]
+  wire  _T_22; // @[Repeater.scala 27:23:shc.marmotcaravel.MarmotCaravelConfig.fir@21829.4]
+  wire  _T_23; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@21834.4]
+  wire  _T_24; // @[Repeater.scala 28:26:shc.marmotcaravel.MarmotCaravelConfig.fir@21835.4]
+  wire  _T_25; // @[Repeater.scala 28:23:shc.marmotcaravel.MarmotCaravelConfig.fir@21836.4]
+  assign _T_18 = full == 1'h0; // @[Repeater.scala 23:35:shc.marmotcaravel.MarmotCaravelConfig.fir@21822.4]
+  assign _T_21 = io_enq_ready & io_enq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@21828.4]
+  assign _T_22 = _T_21 & io_repeat; // @[Repeater.scala 27:23:shc.marmotcaravel.MarmotCaravelConfig.fir@21829.4]
+  assign _T_23 = io_deq_ready & io_deq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@21834.4]
+  assign _T_24 = io_repeat == 1'h0; // @[Repeater.scala 28:26:shc.marmotcaravel.MarmotCaravelConfig.fir@21835.4]
+  assign _T_25 = _T_23 & _T_24; // @[Repeater.scala 28:23:shc.marmotcaravel.MarmotCaravelConfig.fir@21836.4]
+  assign io_full = full; // @[Repeater.scala 25:11:shc.marmotcaravel.MarmotCaravelConfig.fir@21827.4]
+  assign io_enq_ready = io_deq_ready & _T_18; // @[Repeater.scala 23:16:shc.marmotcaravel.MarmotCaravelConfig.fir@21824.4]
+  assign io_deq_valid = io_enq_valid | full; // @[Repeater.scala 22:16:shc.marmotcaravel.MarmotCaravelConfig.fir@21821.4]
+  assign io_deq_bits_opcode = full ? saved_opcode : io_enq_bits_opcode; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@21826.4]
+  assign io_deq_bits_param = full ? saved_param : io_enq_bits_param; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@21826.4]
+  assign io_deq_bits_size = full ? saved_size : io_enq_bits_size; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@21826.4]
+  assign io_deq_bits_source = full ? saved_source : io_enq_bits_source; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@21826.4]
+  assign io_deq_bits_address = full ? saved_address : io_enq_bits_address; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@21826.4]
+  assign io_deq_bits_mask = full ? saved_mask : io_enq_bits_mask; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@21826.4]
+  assign io_deq_bits_corrupt = full ? saved_corrupt : io_enq_bits_corrupt; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@21826.4]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  full = _RAND_0[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  saved_opcode = _RAND_1[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  saved_param = _RAND_2[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  saved_size = _RAND_3[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  saved_source = _RAND_4[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  saved_address = _RAND_5[11:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {1{`RANDOM}};
+  saved_mask = _RAND_6[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {1{`RANDOM}};
+  saved_corrupt = _RAND_7[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      full <= 1'h0;
+    end else begin
+      if (_T_25) begin
+        full <= 1'h0;
+      end else begin
+        if (_T_22) begin
+          full <= 1'h1;
+        end
+      end
+    end
+    if (_T_22) begin
+      saved_opcode <= io_enq_bits_opcode;
+    end
+    if (_T_22) begin
+      saved_param <= io_enq_bits_param;
+    end
+    if (_T_22) begin
+      saved_size <= io_enq_bits_size;
+    end
+    if (_T_22) begin
+      saved_source <= io_enq_bits_source;
+    end
+    if (_T_22) begin
+      saved_address <= io_enq_bits_address;
+    end
+    if (_T_22) begin
+      saved_mask <= io_enq_bits_mask;
+    end
+    if (_T_22) begin
+      saved_corrupt <= io_enq_bits_corrupt;
+    end
+  end
+endmodule
+module TLFragmenter_2( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21841.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21842.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21843.4]
+  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21844.4]
+  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21844.4]
+  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21844.4]
+  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21844.4]
+  input  [2:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21844.4]
+  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21844.4]
+  input  [11:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21844.4]
+  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21844.4]
+  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21844.4]
+  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21844.4]
+  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21844.4]
+  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21844.4]
+  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21844.4]
+  output [2:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21844.4]
+  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21844.4]
+  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21844.4]
+  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21844.4]
+  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21844.4]
+  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21844.4]
+  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21844.4]
+  output [1:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21844.4]
+  output [5:0]  auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21844.4]
+  output [11:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21844.4]
+  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21844.4]
+  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21844.4]
+  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21844.4]
+  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21844.4]
+  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21844.4]
+  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21844.4]
+  input  [1:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21844.4]
+  input  [5:0]  auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21844.4]
+  input  [31:0] auto_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21844.4]
+);
+  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@21851.4]
+  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@21851.4]
+  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@21851.4]
+  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@21851.4]
+  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@21851.4]
+  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@21851.4]
+  wire [2:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@21851.4]
+  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@21851.4]
+  wire [11:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@21851.4]
+  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@21851.4]
+  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@21851.4]
+  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@21851.4]
+  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@21851.4]
+  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@21851.4]
+  wire [2:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@21851.4]
+  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@21851.4]
+  wire  Repeater_clock; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21968.4]
+  wire  Repeater_reset; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21968.4]
+  wire  Repeater_io_repeat; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21968.4]
+  wire  Repeater_io_full; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21968.4]
+  wire  Repeater_io_enq_ready; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21968.4]
+  wire  Repeater_io_enq_valid; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21968.4]
+  wire [2:0] Repeater_io_enq_bits_opcode; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21968.4]
+  wire [2:0] Repeater_io_enq_bits_param; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21968.4]
+  wire [2:0] Repeater_io_enq_bits_size; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21968.4]
+  wire  Repeater_io_enq_bits_source; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21968.4]
+  wire [11:0] Repeater_io_enq_bits_address; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21968.4]
+  wire [3:0] Repeater_io_enq_bits_mask; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21968.4]
+  wire  Repeater_io_enq_bits_corrupt; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21968.4]
+  wire  Repeater_io_deq_ready; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21968.4]
+  wire  Repeater_io_deq_valid; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21968.4]
+  wire [2:0] Repeater_io_deq_bits_opcode; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21968.4]
+  wire [2:0] Repeater_io_deq_bits_param; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21968.4]
+  wire [2:0] Repeater_io_deq_bits_size; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21968.4]
+  wire  Repeater_io_deq_bits_source; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21968.4]
+  wire [11:0] Repeater_io_deq_bits_address; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21968.4]
+  wire [3:0] Repeater_io_deq_bits_mask; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21968.4]
+  wire  Repeater_io_deq_bits_corrupt; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21968.4]
+  reg [3:0] _T_244; // @[Fragmenter.scala 167:27:shc.marmotcaravel.MarmotCaravelConfig.fir@21892.4]
+  reg [31:0] _RAND_0;
+  reg [2:0] _T_246; // @[Fragmenter.scala 168:22:shc.marmotcaravel.MarmotCaravelConfig.fir@21893.4]
+  reg [31:0] _RAND_1;
+  reg  _T_248; // @[Fragmenter.scala 169:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21894.4]
+  reg [31:0] _RAND_2;
+  wire [3:0] _T_249; // @[Fragmenter.scala 170:39:shc.marmotcaravel.MarmotCaravelConfig.fir@21895.4]
+  wire  _T_250; // @[Fragmenter.scala 171:27:shc.marmotcaravel.MarmotCaravelConfig.fir@21896.4]
+  wire  _T_251; // @[Fragmenter.scala 172:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21897.4]
+  wire [3:0] _T_253; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@21899.4]
+  wire [2:0] _T_254; // @[OneHot.scala 52:27:shc.marmotcaravel.MarmotCaravelConfig.fir@21900.4]
+  wire [4:0] _T_256; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@21902.4]
+  wire [1:0] _T_257; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@21903.4]
+  wire [1:0] _T_258; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@21904.4]
+  wire  _T_259; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@21905.4]
+  wire  _T_271; // @[Fragmenter.scala 182:58:shc.marmotcaravel.MarmotCaravelConfig.fir@21921.4]
+  wire  _T_272; // @[Fragmenter.scala 182:30:shc.marmotcaravel.MarmotCaravelConfig.fir@21922.4]
+  wire [5:0] _GEN_7; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@21923.4]
+  wire [5:0] _T_273; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@21923.4]
+  wire [5:0] _GEN_8; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@21924.4]
+  wire [5:0] _T_274; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@21924.4]
+  wire [6:0] _GEN_9; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@21925.4]
+  wire [6:0] _T_275; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@21925.4]
+  wire [6:0] _T_276; // @[package.scala 183:40:shc.marmotcaravel.MarmotCaravelConfig.fir@21926.4]
+  wire [6:0] _T_277; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@21927.4]
+  wire [6:0] _T_278; // @[package.scala 183:53:shc.marmotcaravel.MarmotCaravelConfig.fir@21928.4]
+  wire [6:0] _T_279; // @[package.scala 183:51:shc.marmotcaravel.MarmotCaravelConfig.fir@21929.4]
+  wire [2:0] _T_280; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@21930.4]
+  wire [3:0] _T_281; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@21931.4]
+  wire  _T_282; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21932.4]
+  wire [3:0] _GEN_10; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21933.4]
+  wire [3:0] _T_283; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21933.4]
+  wire [1:0] _T_284; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@21934.4]
+  wire [1:0] _T_285; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@21935.4]
+  wire  _T_286; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21936.4]
+  wire [1:0] _T_287; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21937.4]
+  wire  _T_288; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@21938.4]
+  wire [1:0] _T_289; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@21939.4]
+  wire [2:0] _T_290; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@21940.4]
+  wire  _T_297; // @[Fragmenter.scala 200:18:shc.marmotcaravel.MarmotCaravelConfig.fir@21954.4]
+  wire  _T_299; // @[Fragmenter.scala 200:31:shc.marmotcaravel.MarmotCaravelConfig.fir@21956.4]
+  wire  _T_300; // @[Fragmenter.scala 200:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21957.4]
+  wire  _T_301; // @[Fragmenter.scala 201:33:shc.marmotcaravel.MarmotCaravelConfig.fir@21958.4]
+  wire  _T_291; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@21941.4]
+  wire [3:0] _GEN_11; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@21943.6]
+  wire [4:0] _T_292; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@21943.6]
+  wire [4:0] _T_293; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@21944.6]
+  wire [3:0] _T_294; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@21945.6]
+  wire  _T_296; // @[Fragmenter.scala 190:39:shc.marmotcaravel.MarmotCaravelConfig.fir@21950.8]
+  wire  _T_302; // @[Fragmenter.scala 202:37:shc.marmotcaravel.MarmotCaravelConfig.fir@21960.4]
+  wire  _T_330; // @[Fragmenter.scala 262:29:shc.marmotcaravel.MarmotCaravelConfig.fir@21993.4]
+  wire [2:0] _T_331; // @[Fragmenter.scala 262:22:shc.marmotcaravel.MarmotCaravelConfig.fir@21994.4]
+  wire [12:0] _T_333; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@21996.4]
+  wire [5:0] _T_334; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@21997.4]
+  wire [5:0] _T_335; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@21998.4]
+  wire [8:0] _T_337; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@22000.4]
+  wire [1:0] _T_338; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@22001.4]
+  wire [1:0] _T_339; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@22002.4]
+  wire  _T_340; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@22003.4]
+  wire  _T_341; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@22004.4]
+  reg [3:0] _T_344; // @[Fragmenter.scala 268:27:shc.marmotcaravel.MarmotCaravelConfig.fir@22006.4]
+  reg [31:0] _RAND_3;
+  wire  _T_345; // @[Fragmenter.scala 269:27:shc.marmotcaravel.MarmotCaravelConfig.fir@22007.4]
+  wire [3:0] _T_346; // @[Fragmenter.scala 270:46:shc.marmotcaravel.MarmotCaravelConfig.fir@22008.4]
+  wire [4:0] _T_347; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@22009.4]
+  wire [4:0] _T_348; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@22010.4]
+  wire [3:0] _T_349; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@22011.4]
+  wire [3:0] _T_350; // @[Fragmenter.scala 270:28:shc.marmotcaravel.MarmotCaravelConfig.fir@22012.4]
+  wire [3:0] _T_351; // @[Fragmenter.scala 271:26:shc.marmotcaravel.MarmotCaravelConfig.fir@22013.4]
+  wire [3:0] _T_354; // @[Fragmenter.scala 271:24:shc.marmotcaravel.MarmotCaravelConfig.fir@22016.4]
+  reg  _T_362; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@22023.4]
+  reg [31:0] _RAND_4;
+  wire  _GEN_5; // @[Reg.scala 12:19:shc.marmotcaravel.MarmotCaravelConfig.fir@22024.4]
+  wire  _T_364; // @[Fragmenter.scala 274:21:shc.marmotcaravel.MarmotCaravelConfig.fir@22028.4]
+  wire  _T_92_a_valid; // @[Nodes.scala 332:76:shc.marmotcaravel.MarmotCaravelConfig.fir@21888.4 Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@22037.4]
+  wire  _T_365; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@22029.4]
+  wire  _T_366; // @[Fragmenter.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@22033.4]
+  wire  _T_367; // @[Fragmenter.scala 279:51:shc.marmotcaravel.MarmotCaravelConfig.fir@22034.4]
+  wire [5:0] _GEN_12; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@22038.4]
+  wire [5:0] _T_369; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@22038.4]
+  wire [5:0] _T_370; // @[Fragmenter.scala 281:88:shc.marmotcaravel.MarmotCaravelConfig.fir@22039.4]
+  wire [5:0] _T_371; // @[Fragmenter.scala 281:86:shc.marmotcaravel.MarmotCaravelConfig.fir@22040.4]
+  wire [5:0] _GEN_13; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@22041.4]
+  wire [5:0] _T_372; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@22041.4]
+  wire [5:0] _T_373; // @[Fragmenter.scala 281:109:shc.marmotcaravel.MarmotCaravelConfig.fir@22042.4]
+  wire [5:0] _T_374; // @[Fragmenter.scala 281:49:shc.marmotcaravel.MarmotCaravelConfig.fir@22043.4]
+  wire [11:0] _GEN_14; // @[Fragmenter.scala 281:47:shc.marmotcaravel.MarmotCaravelConfig.fir@22044.4]
+  wire [1:0] _T_376; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@22046.4]
+  wire  _T_378; // @[Fragmenter.scala 286:15:shc.marmotcaravel.MarmotCaravelConfig.fir@22050.4]
+  wire  _T_380; // @[Fragmenter.scala 286:33:shc.marmotcaravel.MarmotCaravelConfig.fir@22052.4]
+  wire  _T_382; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22054.4]
+  wire  _T_383; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22055.4]
+  wire  _T_385; // @[Fragmenter.scala 289:51:shc.marmotcaravel.MarmotCaravelConfig.fir@22062.4]
+  wire  _T_386; // @[Fragmenter.scala 289:33:shc.marmotcaravel.MarmotCaravelConfig.fir@22063.4]
+  wire  _T_388; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22065.4]
+  wire  _T_389; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22066.4]
+  TLMonitor_11 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@21851.4]
+    .clock(TLMonitor_clock),
+    .reset(TLMonitor_reset),
+    .io_in_a_ready(TLMonitor_io_in_a_ready),
+    .io_in_a_valid(TLMonitor_io_in_a_valid),
+    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
+    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
+    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
+    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
+    .io_in_d_ready(TLMonitor_io_in_d_ready),
+    .io_in_d_valid(TLMonitor_io_in_d_valid),
+    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
+    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
+    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source)
+  );
+  Repeater_2 Repeater ( // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21968.4]
+    .clock(Repeater_clock),
+    .reset(Repeater_reset),
+    .io_repeat(Repeater_io_repeat),
+    .io_full(Repeater_io_full),
+    .io_enq_ready(Repeater_io_enq_ready),
+    .io_enq_valid(Repeater_io_enq_valid),
+    .io_enq_bits_opcode(Repeater_io_enq_bits_opcode),
+    .io_enq_bits_param(Repeater_io_enq_bits_param),
+    .io_enq_bits_size(Repeater_io_enq_bits_size),
+    .io_enq_bits_source(Repeater_io_enq_bits_source),
+    .io_enq_bits_address(Repeater_io_enq_bits_address),
+    .io_enq_bits_mask(Repeater_io_enq_bits_mask),
+    .io_enq_bits_corrupt(Repeater_io_enq_bits_corrupt),
+    .io_deq_ready(Repeater_io_deq_ready),
+    .io_deq_valid(Repeater_io_deq_valid),
+    .io_deq_bits_opcode(Repeater_io_deq_bits_opcode),
+    .io_deq_bits_param(Repeater_io_deq_bits_param),
+    .io_deq_bits_size(Repeater_io_deq_bits_size),
+    .io_deq_bits_source(Repeater_io_deq_bits_source),
+    .io_deq_bits_address(Repeater_io_deq_bits_address),
+    .io_deq_bits_mask(Repeater_io_deq_bits_mask),
+    .io_deq_bits_corrupt(Repeater_io_deq_bits_corrupt)
+  );
+  assign _T_249 = auto_out_d_bits_source[3:0]; // @[Fragmenter.scala 170:39:shc.marmotcaravel.MarmotCaravelConfig.fir@21895.4]
+  assign _T_250 = _T_244 == 4'h0; // @[Fragmenter.scala 171:27:shc.marmotcaravel.MarmotCaravelConfig.fir@21896.4]
+  assign _T_251 = _T_249 == 4'h0; // @[Fragmenter.scala 172:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21897.4]
+  assign _T_253 = 4'h1 << auto_out_d_bits_size; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@21899.4]
+  assign _T_254 = _T_253[2:0]; // @[OneHot.scala 52:27:shc.marmotcaravel.MarmotCaravelConfig.fir@21900.4]
+  assign _T_256 = 5'h3 << auto_out_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@21902.4]
+  assign _T_257 = _T_256[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@21903.4]
+  assign _T_258 = ~ _T_257; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@21904.4]
+  assign _T_259 = auto_out_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@21905.4]
+  assign _T_271 = _T_254[2:2]; // @[Fragmenter.scala 182:58:shc.marmotcaravel.MarmotCaravelConfig.fir@21921.4]
+  assign _T_272 = _T_259 ? 1'h1 : _T_271; // @[Fragmenter.scala 182:30:shc.marmotcaravel.MarmotCaravelConfig.fir@21922.4]
+  assign _GEN_7 = {{2'd0}, _T_249}; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@21923.4]
+  assign _T_273 = _GEN_7 << 2; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@21923.4]
+  assign _GEN_8 = {{4'd0}, _T_258}; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@21924.4]
+  assign _T_274 = _T_273 | _GEN_8; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@21924.4]
+  assign _GEN_9 = {{1'd0}, _T_274}; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@21925.4]
+  assign _T_275 = _GEN_9 << 1; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@21925.4]
+  assign _T_276 = _T_275 | 7'h1; // @[package.scala 183:40:shc.marmotcaravel.MarmotCaravelConfig.fir@21926.4]
+  assign _T_277 = {1'h0,_T_274}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@21927.4]
+  assign _T_278 = ~ _T_277; // @[package.scala 183:53:shc.marmotcaravel.MarmotCaravelConfig.fir@21928.4]
+  assign _T_279 = _T_276 & _T_278; // @[package.scala 183:51:shc.marmotcaravel.MarmotCaravelConfig.fir@21929.4]
+  assign _T_280 = _T_279[6:4]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@21930.4]
+  assign _T_281 = _T_279[3:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@21931.4]
+  assign _T_282 = _T_280 != 3'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21932.4]
+  assign _GEN_10 = {{1'd0}, _T_280}; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21933.4]
+  assign _T_283 = _GEN_10 | _T_281; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21933.4]
+  assign _T_284 = _T_283[3:2]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@21934.4]
+  assign _T_285 = _T_283[1:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@21935.4]
+  assign _T_286 = _T_284 != 2'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21936.4]
+  assign _T_287 = _T_284 | _T_285; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21937.4]
+  assign _T_288 = _T_287[1]; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@21938.4]
+  assign _T_289 = {_T_286,_T_288}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@21939.4]
+  assign _T_290 = {_T_282,_T_289}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@21940.4]
+  assign _T_297 = _T_259 == 1'h0; // @[Fragmenter.scala 200:18:shc.marmotcaravel.MarmotCaravelConfig.fir@21954.4]
+  assign _T_299 = _T_251 == 1'h0; // @[Fragmenter.scala 200:31:shc.marmotcaravel.MarmotCaravelConfig.fir@21956.4]
+  assign _T_300 = _T_297 & _T_299; // @[Fragmenter.scala 200:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21957.4]
+  assign _T_301 = auto_in_d_ready | _T_300; // @[Fragmenter.scala 201:33:shc.marmotcaravel.MarmotCaravelConfig.fir@21958.4]
+  assign _T_291 = _T_301 & auto_out_d_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@21941.4]
+  assign _GEN_11 = {{3'd0}, _T_272}; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@21943.6]
+  assign _T_292 = _T_244 - _GEN_11; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@21943.6]
+  assign _T_293 = $unsigned(_T_292); // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@21944.6]
+  assign _T_294 = _T_293[3:0]; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@21945.6]
+  assign _T_296 = auto_out_d_bits_source[4]; // @[Fragmenter.scala 190:39:shc.marmotcaravel.MarmotCaravelConfig.fir@21950.8]
+  assign _T_302 = _T_300 == 1'h0; // @[Fragmenter.scala 202:37:shc.marmotcaravel.MarmotCaravelConfig.fir@21960.4]
+  assign _T_330 = Repeater_io_deq_bits_size > 3'h2; // @[Fragmenter.scala 262:29:shc.marmotcaravel.MarmotCaravelConfig.fir@21993.4]
+  assign _T_331 = _T_330 ? 3'h2 : Repeater_io_deq_bits_size; // @[Fragmenter.scala 262:22:shc.marmotcaravel.MarmotCaravelConfig.fir@21994.4]
+  assign _T_333 = 13'h3f << Repeater_io_deq_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@21996.4]
+  assign _T_334 = _T_333[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@21997.4]
+  assign _T_335 = ~ _T_334; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@21998.4]
+  assign _T_337 = 9'h3 << _T_331; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@22000.4]
+  assign _T_338 = _T_337[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@22001.4]
+  assign _T_339 = ~ _T_338; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@22002.4]
+  assign _T_340 = Repeater_io_deq_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@22003.4]
+  assign _T_341 = _T_340 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@22004.4]
+  assign _T_345 = _T_344 == 4'h0; // @[Fragmenter.scala 269:27:shc.marmotcaravel.MarmotCaravelConfig.fir@22007.4]
+  assign _T_346 = _T_335[5:2]; // @[Fragmenter.scala 270:46:shc.marmotcaravel.MarmotCaravelConfig.fir@22008.4]
+  assign _T_347 = _T_344 - 4'h1; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@22009.4]
+  assign _T_348 = $unsigned(_T_347); // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@22010.4]
+  assign _T_349 = _T_348[3:0]; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@22011.4]
+  assign _T_350 = _T_345 ? _T_346 : _T_349; // @[Fragmenter.scala 270:28:shc.marmotcaravel.MarmotCaravelConfig.fir@22012.4]
+  assign _T_351 = ~ _T_350; // @[Fragmenter.scala 271:26:shc.marmotcaravel.MarmotCaravelConfig.fir@22013.4]
+  assign _T_354 = ~ _T_351; // @[Fragmenter.scala 271:24:shc.marmotcaravel.MarmotCaravelConfig.fir@22016.4]
+  assign _GEN_5 = _T_345 ? _T_248 : _T_362; // @[Reg.scala 12:19:shc.marmotcaravel.MarmotCaravelConfig.fir@22024.4]
+  assign _T_364 = _GEN_5 == 1'h0; // @[Fragmenter.scala 274:21:shc.marmotcaravel.MarmotCaravelConfig.fir@22028.4]
+  assign _T_92_a_valid = Repeater_io_deq_valid; // @[Nodes.scala 332:76:shc.marmotcaravel.MarmotCaravelConfig.fir@21888.4 Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@22037.4]
+  assign _T_365 = auto_out_a_ready & _T_92_a_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@22029.4]
+  assign _T_366 = _T_341 == 1'h0; // @[Fragmenter.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@22033.4]
+  assign _T_367 = _T_354 != 4'h0; // @[Fragmenter.scala 279:51:shc.marmotcaravel.MarmotCaravelConfig.fir@22034.4]
+  assign _GEN_12 = {{2'd0}, _T_350}; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@22038.4]
+  assign _T_369 = _GEN_12 << 2; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@22038.4]
+  assign _T_370 = ~ _T_335; // @[Fragmenter.scala 281:88:shc.marmotcaravel.MarmotCaravelConfig.fir@22039.4]
+  assign _T_371 = _T_369 | _T_370; // @[Fragmenter.scala 281:86:shc.marmotcaravel.MarmotCaravelConfig.fir@22040.4]
+  assign _GEN_13 = {{4'd0}, _T_339}; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@22041.4]
+  assign _T_372 = _T_371 | _GEN_13; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@22041.4]
+  assign _T_373 = _T_372 | 6'h3; // @[Fragmenter.scala 281:109:shc.marmotcaravel.MarmotCaravelConfig.fir@22042.4]
+  assign _T_374 = ~ _T_373; // @[Fragmenter.scala 281:49:shc.marmotcaravel.MarmotCaravelConfig.fir@22043.4]
+  assign _GEN_14 = {{6'd0}, _T_374}; // @[Fragmenter.scala 281:47:shc.marmotcaravel.MarmotCaravelConfig.fir@22044.4]
+  assign _T_376 = {Repeater_io_deq_bits_source,_T_364}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@22046.4]
+  assign _T_378 = Repeater_io_full == 1'h0; // @[Fragmenter.scala 286:15:shc.marmotcaravel.MarmotCaravelConfig.fir@22050.4]
+  assign _T_380 = _T_378 | _T_366; // @[Fragmenter.scala 286:33:shc.marmotcaravel.MarmotCaravelConfig.fir@22052.4]
+  assign _T_382 = _T_380 | reset; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22054.4]
+  assign _T_383 = _T_382 == 1'h0; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22055.4]
+  assign _T_385 = Repeater_io_deq_bits_mask == 4'hf; // @[Fragmenter.scala 289:51:shc.marmotcaravel.MarmotCaravelConfig.fir@22062.4]
+  assign _T_386 = _T_378 | _T_385; // @[Fragmenter.scala 289:33:shc.marmotcaravel.MarmotCaravelConfig.fir@22063.4]
+  assign _T_388 = _T_386 | reset; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22065.4]
+  assign _T_389 = _T_388 == 1'h0; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22066.4]
+  assign auto_in_a_ready = Repeater_io_enq_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@21891.4]
+  assign auto_in_d_valid = auto_out_d_valid & _T_302; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@21891.4]
+  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@21891.4]
+  assign auto_in_d_bits_size = _T_250 ? _T_290 : _T_246; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@21891.4]
+  assign auto_in_d_bits_source = auto_out_d_bits_source[5:5]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@21891.4]
+  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@21891.4]
+  assign auto_out_a_valid = Repeater_io_deq_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@21890.4]
+  assign auto_out_a_bits_opcode = Repeater_io_deq_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@21890.4]
+  assign auto_out_a_bits_param = Repeater_io_deq_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@21890.4]
+  assign auto_out_a_bits_size = _T_331[1:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@21890.4]
+  assign auto_out_a_bits_source = {_T_376,_T_354}; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@21890.4]
+  assign auto_out_a_bits_address = Repeater_io_deq_bits_address | _GEN_14; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@21890.4]
+  assign auto_out_a_bits_mask = Repeater_io_full ? 4'hf : auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@21890.4]
+  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@21890.4]
+  assign auto_out_a_bits_corrupt = Repeater_io_deq_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@21890.4]
+  assign auto_out_d_ready = auto_in_d_ready | _T_300; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@21890.4]
+  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21853.4]
+  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21854.4]
+  assign TLMonitor_io_in_a_ready = Repeater_io_enq_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@21887.4]
+  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@21887.4]
+  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@21887.4]
+  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@21887.4]
+  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@21887.4]
+  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@21887.4]
+  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@21887.4]
+  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@21887.4]
+  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@21887.4]
+  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@21887.4]
+  assign TLMonitor_io_in_d_valid = auto_out_d_valid & _T_302; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@21887.4]
+  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@21887.4]
+  assign TLMonitor_io_in_d_bits_size = _T_250 ? _T_290 : _T_246; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@21887.4]
+  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source[5:5]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@21887.4]
+  assign Repeater_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21970.4]
+  assign Repeater_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21971.4]
+  assign Repeater_io_repeat = _T_366 & _T_367; // @[Fragmenter.scala 279:26:shc.marmotcaravel.MarmotCaravelConfig.fir@22036.4]
+  assign Repeater_io_enq_valid = auto_in_a_valid; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@21972.4]
+  assign Repeater_io_enq_bits_opcode = auto_in_a_bits_opcode; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@21972.4]
+  assign Repeater_io_enq_bits_param = auto_in_a_bits_param; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@21972.4]
+  assign Repeater_io_enq_bits_size = auto_in_a_bits_size; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@21972.4]
+  assign Repeater_io_enq_bits_source = auto_in_a_bits_source; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@21972.4]
+  assign Repeater_io_enq_bits_address = auto_in_a_bits_address; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@21972.4]
+  assign Repeater_io_enq_bits_mask = auto_in_a_bits_mask; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@21972.4]
+  assign Repeater_io_enq_bits_corrupt = auto_in_a_bits_corrupt; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@21972.4]
+  assign Repeater_io_deq_ready = auto_out_a_ready; // @[Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@22037.4]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  _T_244 = _RAND_0[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  _T_246 = _RAND_1[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  _T_248 = _RAND_2[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  _T_344 = _RAND_3[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  _T_362 = _RAND_4[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      _T_244 <= 4'h0;
+    end else begin
+      if (_T_291) begin
+        if (_T_250) begin
+          _T_244 <= _T_249;
+        end else begin
+          _T_244 <= _T_294;
+        end
+      end
+    end
+    if (_T_291) begin
+      if (_T_250) begin
+        _T_246 <= _T_290;
+      end
+    end
+    if (reset) begin
+      _T_248 <= 1'h0;
+    end else begin
+      if (_T_291) begin
+        if (_T_250) begin
+          _T_248 <= _T_296;
+        end
+      end
+    end
+    if (reset) begin
+      _T_344 <= 4'h0;
+    end else begin
+      if (_T_365) begin
+        _T_344 <= _T_354;
+      end
+    end
+    if (_T_345) begin
+      _T_362 <= _T_248;
+    end
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:180 assert (!out.d.valid || (acknum_fragment & acknum_size) === UInt(0))\n"); // @[Fragmenter.scala 180:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21916.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Fragmenter.scala 180:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21917.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_383) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:286 assert (!repeater.io.full || !aHasData)\n"); // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22057.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_383) begin
+          $fatal; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22058.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_389) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:289 assert (!repeater.io.full || in_a.bits.mask === fullMask)\n"); // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22068.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_389) begin
+          $fatal; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22069.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+endmodule
+module TLMonitor_12( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@22087.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@22088.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@22089.4]
+  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@22090.4]
+  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@22090.4]
+  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@22090.4]
+  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@22090.4]
+  input  [2:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@22090.4]
+  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@22090.4]
+  input  [11:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@22090.4]
+  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@22090.4]
+  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@22090.4]
+  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@22090.4]
+  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@22090.4]
+  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@22090.4]
+  input  [2:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@22090.4]
+  input         io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@22090.4]
+);
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@23211.4]
+  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@22106.6]
+  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@22111.6]
+  wire [12:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@22113.6]
+  wire [5:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@22114.6]
+  wire [5:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@22115.6]
+  wire [11:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@22116.6]
+  wire [11:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@22116.6]
+  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@22117.6]
+  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@22119.6]
+  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@22120.6]
+  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@22122.6]
+  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@22123.6]
+  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@22124.6]
+  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@22125.6]
+  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@22126.6]
+  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@22128.6]
+  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@22129.6]
+  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@22131.6]
+  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@22132.6]
+  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@22133.6]
+  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@22134.6]
+  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@22135.6]
+  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@22136.6]
+  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@22137.6]
+  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@22138.6]
+  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@22139.6]
+  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@22140.6]
+  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@22141.6]
+  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@22142.6]
+  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@22143.6]
+  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@22144.6]
+  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@22145.6]
+  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@22146.6]
+  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@22147.6]
+  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@22148.6]
+  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@22149.6]
+  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@22150.6]
+  wire [12:0] _T_73; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@22154.6]
+  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@22175.6]
+  wire [12:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@22180.8]
+  wire [12:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@22181.8]
+  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@22182.8]
+  wire  _T_101; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22187.8]
+  wire  _T_106; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22200.8]
+  wire  _T_107; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22201.8]
+  wire  _T_110; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22208.8]
+  wire  _T_111; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22209.8]
+  wire  _T_113; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22215.8]
+  wire  _T_114; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22216.8]
+  wire  _T_115; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@22221.8]
+  wire  _T_117; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22223.8]
+  wire  _T_118; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22224.8]
+  wire [3:0] _T_119; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@22229.8]
+  wire  _T_120; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@22230.8]
+  wire  _T_122; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22232.8]
+  wire  _T_123; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22233.8]
+  wire  _T_124; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@22238.8]
+  wire  _T_126; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22240.8]
+  wire  _T_127; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22241.8]
+  wire  _T_128; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@22247.6]
+  wire  _T_157; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@22301.8]
+  wire  _T_159; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22303.8]
+  wire  _T_160; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22304.8]
+  wire  _T_170; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@22327.6]
+  wire  _T_172; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@22330.8]
+  wire  _T_180; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@22338.8]
+  wire  _T_183; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22341.8]
+  wire  _T_184; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22342.8]
+  wire  _T_191; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@22361.8]
+  wire  _T_193; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22363.8]
+  wire  _T_194; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22364.8]
+  wire  _T_195; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@22369.8]
+  wire  _T_197; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22371.8]
+  wire  _T_198; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22372.8]
+  wire  _T_203; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@22386.6]
+  wire  _T_232; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@22437.6]
+  wire [3:0] _T_257; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@22479.8]
+  wire [3:0] _T_258; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@22480.8]
+  wire  _T_259; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@22481.8]
+  wire  _T_261; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22483.8]
+  wire  _T_262; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22484.8]
+  wire  _T_263; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@22490.6]
+  wire  _T_281; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@22521.8]
+  wire  _T_283; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22523.8]
+  wire  _T_284; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22524.8]
+  wire  _T_289; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@22538.6]
+  wire  _T_307; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@22569.8]
+  wire  _T_309; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22571.8]
+  wire  _T_310; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22572.8]
+  wire  _T_315; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@22586.6]
+  wire  _T_341; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@22636.6]
+  wire  _T_343; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@22638.6]
+  wire  _T_344; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@22639.6]
+  wire  _T_346; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@22645.6]
+  wire  _T_355; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@22650.6]
+  wire  _T_357; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@22652.6]
+  wire  _T_359; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22655.8]
+  wire  _T_360; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22656.8]
+  wire  _T_361; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@22661.8]
+  wire  _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22663.8]
+  wire  _T_364; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22664.8]
+  wire  _T_377; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@22694.6]
+  wire  _T_405; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@22752.6]
+  wire  _T_434; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@22811.6]
+  wire  _T_451; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@22846.6]
+  wire  _T_469; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@22882.6]
+  wire  _T_498; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@22942.4]
+  wire [3:0] _T_503; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@22947.4]
+  wire  _T_504; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@22948.4]
+  wire  _T_505; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@22949.4]
+  reg [3:0] _T_508; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@22951.4]
+  reg [31:0] _RAND_0;
+  wire [4:0] _T_509; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@22952.4]
+  wire [4:0] _T_510; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@22953.4]
+  wire [3:0] _T_511; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@22954.4]
+  wire  _T_512; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@22955.4]
+  reg [2:0] _T_521; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@22966.4]
+  reg [31:0] _RAND_1;
+  reg [2:0] _T_523; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@22967.4]
+  reg [31:0] _RAND_2;
+  reg [2:0] _T_525; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@22968.4]
+  reg [31:0] _RAND_3;
+  reg  _T_527; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@22969.4]
+  reg [31:0] _RAND_4;
+  reg [11:0] _T_529; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@22970.4]
+  reg [31:0] _RAND_5;
+  wire  _T_530; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@22971.4]
+  wire  _T_531; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@22972.4]
+  wire  _T_532; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@22974.6]
+  wire  _T_534; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22976.6]
+  wire  _T_535; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22977.6]
+  wire  _T_536; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@22982.6]
+  wire  _T_538; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22984.6]
+  wire  _T_539; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22985.6]
+  wire  _T_540; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@22990.6]
+  wire  _T_542; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22992.6]
+  wire  _T_543; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22993.6]
+  wire  _T_544; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@22998.6]
+  wire  _T_546; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23000.6]
+  wire  _T_547; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23001.6]
+  wire  _T_548; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@23006.6]
+  wire  _T_550; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23008.6]
+  wire  _T_551; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23009.6]
+  wire  _T_553; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@23016.4]
+  wire  _T_554; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@23024.4]
+  wire [12:0] _T_556; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@23026.4]
+  wire [5:0] _T_557; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@23027.4]
+  wire [5:0] _T_558; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@23028.4]
+  wire [3:0] _T_559; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@23029.4]
+  wire  _T_560; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@23030.4]
+  reg [3:0] _T_563; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@23032.4]
+  reg [31:0] _RAND_6;
+  wire [4:0] _T_564; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23033.4]
+  wire [4:0] _T_565; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23034.4]
+  wire [3:0] _T_566; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23035.4]
+  wire  _T_567; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@23036.4]
+  reg [2:0] _T_576; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@23047.4]
+  reg [31:0] _RAND_7;
+  reg [2:0] _T_580; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@23049.4]
+  reg [31:0] _RAND_8;
+  reg  _T_582; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@23050.4]
+  reg [31:0] _RAND_9;
+  wire  _T_587; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@23053.4]
+  wire  _T_588; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@23054.4]
+  wire  _T_589; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@23056.6]
+  wire  _T_591; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23058.6]
+  wire  _T_592; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23059.6]
+  wire  _T_597; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@23072.6]
+  wire  _T_599; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23074.6]
+  wire  _T_600; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23075.6]
+  wire  _T_601; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@23080.6]
+  wire  _T_603; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23082.6]
+  wire  _T_604; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23083.6]
+  wire  _T_614; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@23106.4]
+  reg [1:0] _T_616; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@23115.4]
+  reg [31:0] _RAND_10;
+  reg [3:0] _T_627; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@23125.4]
+  reg [31:0] _RAND_11;
+  wire [4:0] _T_628; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23126.4]
+  wire [4:0] _T_629; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23127.4]
+  wire [3:0] _T_630; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23128.4]
+  wire  _T_631; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@23129.4]
+  reg [3:0] _T_648; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@23148.4]
+  reg [31:0] _RAND_12;
+  wire [4:0] _T_649; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23149.4]
+  wire [4:0] _T_650; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23150.4]
+  wire [3:0] _T_651; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23151.4]
+  wire  _T_652; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@23152.4]
+  wire  _T_663; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@23167.4]
+  wire [1:0] _T_665; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@23170.6]
+  wire [1:0] _T_666; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@23172.6]
+  wire  _T_667; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@23173.6]
+  wire  _T_668; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23174.6]
+  wire  _T_670; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@23176.6]
+  wire  _T_671; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@23177.6]
+  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@23169.4]
+  wire  _T_676; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@23188.4]
+  wire  _T_678; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@23190.4]
+  wire  _T_679; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@23191.4]
+  wire [1:0] _T_680; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@23193.6]
+  wire [1:0] _T_681; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@23195.6]
+  wire [1:0] _T_682; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@23196.6]
+  wire  _T_683; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@23197.6]
+  wire  _T_685; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@23199.6]
+  wire  _T_686; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@23200.6]
+  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@23192.4]
+  wire [1:0] _T_687; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@23206.4]
+  wire [1:0] _T_688; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@23207.4]
+  wire [1:0] _T_689; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@23208.4]
+  reg [31:0] _T_691; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@23210.4]
+  reg [31:0] _RAND_13;
+  wire  _T_692; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@23213.4]
+  wire  _T_693; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@23214.4]
+  wire  _T_694; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@23215.4]
+  wire  _T_695; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@23216.4]
+  wire  _T_696; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@23217.4]
+  wire  _T_697; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@23218.4]
+  wire  _T_699; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@23220.4]
+  wire  _T_700; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@23221.4]
+  wire [31:0] _T_702; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@23227.4]
+  wire  _T_705; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@23231.4]
+  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22189.10]
+  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22261.10]
+  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22344.10]
+  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22403.10]
+  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22454.10]
+  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22504.10]
+  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22552.10]
+  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22600.10]
+  wire  _GEN_115; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22658.10]
+  wire  _GEN_119; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22700.10]
+  wire  _GEN_125; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22758.10]
+  wire  _GEN_131; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22817.10]
+  wire  _GEN_133; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22852.10]
+  wire  _GEN_135; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22888.10]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@23211.4]
+    .out(plusarg_reader_out)
+  );
+  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@22106.6]
+  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@22111.6]
+  assign _T_32 = 13'h3f << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@22113.6]
+  assign _T_33 = _T_32[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@22114.6]
+  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@22115.6]
+  assign _GEN_18 = {{6'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@22116.6]
+  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@22116.6]
+  assign _T_36 = _T_35 == 12'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@22117.6]
+  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@22119.6]
+  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@22120.6]
+  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@22122.6]
+  assign _T_42 = io_in_a_bits_size >= 3'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@22123.6]
+  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@22124.6]
+  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@22125.6]
+  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@22126.6]
+  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@22128.6]
+  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@22129.6]
+  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@22131.6]
+  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@22132.6]
+  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@22133.6]
+  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@22134.6]
+  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@22135.6]
+  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@22136.6]
+  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@22137.6]
+  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@22138.6]
+  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@22139.6]
+  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@22140.6]
+  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@22141.6]
+  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@22142.6]
+  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@22143.6]
+  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@22144.6]
+  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@22145.6]
+  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@22146.6]
+  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@22147.6]
+  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@22148.6]
+  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@22149.6]
+  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@22150.6]
+  assign _T_73 = {1'b0,$signed(io_in_a_bits_address)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@22154.6]
+  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@22175.6]
+  assign _T_94 = $signed(_T_73) & $signed(-13'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@22180.8]
+  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@22181.8]
+  assign _T_96 = $signed(_T_95) == $signed(13'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@22182.8]
+  assign _T_101 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22187.8]
+  assign _T_106 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22200.8]
+  assign _T_107 = _T_106 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22201.8]
+  assign _T_110 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22208.8]
+  assign _T_111 = _T_110 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22209.8]
+  assign _T_113 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22215.8]
+  assign _T_114 = _T_113 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22216.8]
+  assign _T_115 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@22221.8]
+  assign _T_117 = _T_115 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22223.8]
+  assign _T_118 = _T_117 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22224.8]
+  assign _T_119 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@22229.8]
+  assign _T_120 = _T_119 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@22230.8]
+  assign _T_122 = _T_120 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22232.8]
+  assign _T_123 = _T_122 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22233.8]
+  assign _T_124 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@22238.8]
+  assign _T_126 = _T_124 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22240.8]
+  assign _T_127 = _T_126 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22241.8]
+  assign _T_128 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@22247.6]
+  assign _T_157 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@22301.8]
+  assign _T_159 = _T_157 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22303.8]
+  assign _T_160 = _T_159 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22304.8]
+  assign _T_170 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@22327.6]
+  assign _T_172 = io_in_a_bits_size <= 3'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@22330.8]
+  assign _T_180 = _T_172 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@22338.8]
+  assign _T_183 = _T_180 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22341.8]
+  assign _T_184 = _T_183 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22342.8]
+  assign _T_191 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@22361.8]
+  assign _T_193 = _T_191 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22363.8]
+  assign _T_194 = _T_193 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22364.8]
+  assign _T_195 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@22369.8]
+  assign _T_197 = _T_195 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22371.8]
+  assign _T_198 = _T_197 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22372.8]
+  assign _T_203 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@22386.6]
+  assign _T_232 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@22437.6]
+  assign _T_257 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@22479.8]
+  assign _T_258 = io_in_a_bits_mask & _T_257; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@22480.8]
+  assign _T_259 = _T_258 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@22481.8]
+  assign _T_261 = _T_259 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22483.8]
+  assign _T_262 = _T_261 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22484.8]
+  assign _T_263 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@22490.6]
+  assign _T_281 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@22521.8]
+  assign _T_283 = _T_281 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22523.8]
+  assign _T_284 = _T_283 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22524.8]
+  assign _T_289 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@22538.6]
+  assign _T_307 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@22569.8]
+  assign _T_309 = _T_307 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22571.8]
+  assign _T_310 = _T_309 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22572.8]
+  assign _T_315 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@22586.6]
+  assign _T_341 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@22636.6]
+  assign _T_343 = _T_341 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@22638.6]
+  assign _T_344 = _T_343 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@22639.6]
+  assign _T_346 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@22645.6]
+  assign _T_355 = io_in_d_bits_source | _T_346; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@22650.6]
+  assign _T_357 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@22652.6]
+  assign _T_359 = _T_355 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22655.8]
+  assign _T_360 = _T_359 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22656.8]
+  assign _T_361 = io_in_d_bits_size >= 3'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@22661.8]
+  assign _T_363 = _T_361 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22663.8]
+  assign _T_364 = _T_363 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22664.8]
+  assign _T_377 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@22694.6]
+  assign _T_405 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@22752.6]
+  assign _T_434 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@22811.6]
+  assign _T_451 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@22846.6]
+  assign _T_469 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@22882.6]
+  assign _T_498 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@22942.4]
+  assign _T_503 = _T_34[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@22947.4]
+  assign _T_504 = io_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@22948.4]
+  assign _T_505 = _T_504 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@22949.4]
+  assign _T_509 = _T_508 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@22952.4]
+  assign _T_510 = $unsigned(_T_509); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@22953.4]
+  assign _T_511 = _T_510[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@22954.4]
+  assign _T_512 = _T_508 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@22955.4]
+  assign _T_530 = _T_512 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@22971.4]
+  assign _T_531 = io_in_a_valid & _T_530; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@22972.4]
+  assign _T_532 = io_in_a_bits_opcode == _T_521; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@22974.6]
+  assign _T_534 = _T_532 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22976.6]
+  assign _T_535 = _T_534 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22977.6]
+  assign _T_536 = io_in_a_bits_param == _T_523; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@22982.6]
+  assign _T_538 = _T_536 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22984.6]
+  assign _T_539 = _T_538 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22985.6]
+  assign _T_540 = io_in_a_bits_size == _T_525; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@22990.6]
+  assign _T_542 = _T_540 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22992.6]
+  assign _T_543 = _T_542 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22993.6]
+  assign _T_544 = io_in_a_bits_source == _T_527; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@22998.6]
+  assign _T_546 = _T_544 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23000.6]
+  assign _T_547 = _T_546 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23001.6]
+  assign _T_548 = io_in_a_bits_address == _T_529; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@23006.6]
+  assign _T_550 = _T_548 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23008.6]
+  assign _T_551 = _T_550 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23009.6]
+  assign _T_553 = _T_498 & _T_512; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@23016.4]
+  assign _T_554 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@23024.4]
+  assign _T_556 = 13'h3f << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@23026.4]
+  assign _T_557 = _T_556[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@23027.4]
+  assign _T_558 = ~ _T_557; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@23028.4]
+  assign _T_559 = _T_558[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@23029.4]
+  assign _T_560 = io_in_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@23030.4]
+  assign _T_564 = _T_563 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23033.4]
+  assign _T_565 = $unsigned(_T_564); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23034.4]
+  assign _T_566 = _T_565[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23035.4]
+  assign _T_567 = _T_563 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@23036.4]
+  assign _T_587 = _T_567 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@23053.4]
+  assign _T_588 = io_in_d_valid & _T_587; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@23054.4]
+  assign _T_589 = io_in_d_bits_opcode == _T_576; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@23056.6]
+  assign _T_591 = _T_589 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23058.6]
+  assign _T_592 = _T_591 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23059.6]
+  assign _T_597 = io_in_d_bits_size == _T_580; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@23072.6]
+  assign _T_599 = _T_597 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23074.6]
+  assign _T_600 = _T_599 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23075.6]
+  assign _T_601 = io_in_d_bits_source == _T_582; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@23080.6]
+  assign _T_603 = _T_601 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23082.6]
+  assign _T_604 = _T_603 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23083.6]
+  assign _T_614 = _T_554 & _T_567; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@23106.4]
+  assign _T_628 = _T_627 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23126.4]
+  assign _T_629 = $unsigned(_T_628); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23127.4]
+  assign _T_630 = _T_629[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23128.4]
+  assign _T_631 = _T_627 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@23129.4]
+  assign _T_649 = _T_648 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23149.4]
+  assign _T_650 = $unsigned(_T_649); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23150.4]
+  assign _T_651 = _T_650[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23151.4]
+  assign _T_652 = _T_648 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@23152.4]
+  assign _T_663 = _T_498 & _T_631; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@23167.4]
+  assign _T_665 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@23170.6]
+  assign _T_666 = _T_616 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@23172.6]
+  assign _T_667 = _T_666[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@23173.6]
+  assign _T_668 = _T_667 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23174.6]
+  assign _T_670 = _T_668 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@23176.6]
+  assign _T_671 = _T_670 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@23177.6]
+  assign _GEN_15 = _T_663 ? _T_665 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@23169.4]
+  assign _T_676 = _T_554 & _T_652; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@23188.4]
+  assign _T_678 = _T_357 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@23190.4]
+  assign _T_679 = _T_676 & _T_678; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@23191.4]
+  assign _T_680 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@23193.6]
+  assign _T_681 = _GEN_15 | _T_616; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@23195.6]
+  assign _T_682 = _T_681 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@23196.6]
+  assign _T_683 = _T_682[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@23197.6]
+  assign _T_685 = _T_683 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@23199.6]
+  assign _T_686 = _T_685 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@23200.6]
+  assign _GEN_16 = _T_679 ? _T_680 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@23192.4]
+  assign _T_687 = _T_616 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@23206.4]
+  assign _T_688 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@23207.4]
+  assign _T_689 = _T_687 & _T_688; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@23208.4]
+  assign _T_692 = _T_616 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@23213.4]
+  assign _T_693 = _T_692 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@23214.4]
+  assign _T_694 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@23215.4]
+  assign _T_695 = _T_693 | _T_694; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@23216.4]
+  assign _T_696 = _T_691 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@23217.4]
+  assign _T_697 = _T_695 | _T_696; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@23218.4]
+  assign _T_699 = _T_697 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@23220.4]
+  assign _T_700 = _T_699 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@23221.4]
+  assign _T_702 = _T_691 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@23227.4]
+  assign _T_705 = _T_498 | _T_554; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@23231.4]
+  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22189.10]
+  assign _GEN_35 = io_in_a_valid & _T_128; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22261.10]
+  assign _GEN_53 = io_in_a_valid & _T_170; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22344.10]
+  assign _GEN_65 = io_in_a_valid & _T_203; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22403.10]
+  assign _GEN_75 = io_in_a_valid & _T_232; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22454.10]
+  assign _GEN_85 = io_in_a_valid & _T_263; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22504.10]
+  assign _GEN_95 = io_in_a_valid & _T_289; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22552.10]
+  assign _GEN_105 = io_in_a_valid & _T_315; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22600.10]
+  assign _GEN_115 = io_in_d_valid & _T_357; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22658.10]
+  assign _GEN_119 = io_in_d_valid & _T_377; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22700.10]
+  assign _GEN_125 = io_in_d_valid & _T_405; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22758.10]
+  assign _GEN_131 = io_in_d_valid & _T_434; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22817.10]
+  assign _GEN_133 = io_in_d_valid & _T_451; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22852.10]
+  assign _GEN_135 = io_in_d_valid & _T_469; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22888.10]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  _T_508 = _RAND_0[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  _T_521 = _RAND_1[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  _T_523 = _RAND_2[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  _T_525 = _RAND_3[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  _T_527 = _RAND_4[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  _T_529 = _RAND_5[11:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {1{`RANDOM}};
+  _T_563 = _RAND_6[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {1{`RANDOM}};
+  _T_576 = _RAND_7[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_8 = {1{`RANDOM}};
+  _T_580 = _RAND_8[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_9 = {1{`RANDOM}};
+  _T_582 = _RAND_9[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_10 = {1{`RANDOM}};
+  _T_616 = _RAND_10[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_11 = {1{`RANDOM}};
+  _T_627 = _RAND_11[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_12 = {1{`RANDOM}};
+  _T_648 = _RAND_12[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_13 = {1{`RANDOM}};
+  _T_691 = _RAND_13[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      _T_508 <= 4'h0;
+    end else begin
+      if (_T_498) begin
+        if (_T_512) begin
+          if (_T_505) begin
+            _T_508 <= _T_503;
+          end else begin
+            _T_508 <= 4'h0;
+          end
+        end else begin
+          _T_508 <= _T_511;
+        end
+      end
+    end
+    if (_T_553) begin
+      _T_521 <= io_in_a_bits_opcode;
+    end
+    if (_T_553) begin
+      _T_523 <= io_in_a_bits_param;
+    end
+    if (_T_553) begin
+      _T_525 <= io_in_a_bits_size;
+    end
+    if (_T_553) begin
+      _T_527 <= io_in_a_bits_source;
+    end
+    if (_T_553) begin
+      _T_529 <= io_in_a_bits_address;
+    end
+    if (reset) begin
+      _T_563 <= 4'h0;
+    end else begin
+      if (_T_554) begin
+        if (_T_567) begin
+          if (_T_560) begin
+            _T_563 <= _T_559;
+          end else begin
+            _T_563 <= 4'h0;
+          end
+        end else begin
+          _T_563 <= _T_566;
+        end
+      end
+    end
+    if (_T_614) begin
+      _T_576 <= io_in_d_bits_opcode;
+    end
+    if (_T_614) begin
+      _T_580 <= io_in_d_bits_size;
+    end
+    if (_T_614) begin
+      _T_582 <= io_in_d_bits_source;
+    end
+    if (reset) begin
+      _T_616 <= 2'h0;
+    end else begin
+      _T_616 <= _T_689;
+    end
+    if (reset) begin
+      _T_627 <= 4'h0;
+    end else begin
+      if (_T_498) begin
+        if (_T_631) begin
+          if (_T_505) begin
+            _T_627 <= _T_503;
+          end else begin
+            _T_627 <= 4'h0;
+          end
+        end else begin
+          _T_627 <= _T_630;
+        end
+      end
+    end
+    if (reset) begin
+      _T_648 <= 4'h0;
+    end else begin
+      if (_T_554) begin
+        if (_T_652) begin
+          if (_T_560) begin
+            _T_648 <= _T_559;
+          end else begin
+            _T_648 <= 4'h0;
+          end
+        end else begin
+          _T_648 <= _T_651;
+        end
+      end
+    end
+    if (reset) begin
+      _T_691 <= 32'h0;
+    end else begin
+      if (_T_705) begin
+        _T_691 <= 32'h0;
+      end else begin
+        _T_691 <= _T_702;
+      end
+    end
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@22102.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@22103.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@22172.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@22173.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22189.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_101) begin
+          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22190.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22196.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_101) begin
+          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22197.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22203.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_107) begin
+          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22204.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_111) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22211.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_111) begin
+          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22212.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22218.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_114) begin
+          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22219.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_118) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22226.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_118) begin
+          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22227.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_123) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22235.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_123) begin
+          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22236.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_127) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22243.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_127) begin
+          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22244.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22261.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_101) begin
+          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22262.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22268.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_101) begin
+          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22269.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22275.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_107) begin
+          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22276.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_111) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22283.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_111) begin
+          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22284.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22290.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_114) begin
+          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22291.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_118) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22298.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_118) begin
+          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22299.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_160) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22306.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_160) begin
+          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22307.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_123) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22315.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_123) begin
+          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22316.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_127) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22323.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_127) begin
+          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22324.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_184) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22344.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_184) begin
+          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22345.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22351.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_107) begin
+          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22352.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22358.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_114) begin
+          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22359.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_194) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22366.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_194) begin
+          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22367.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_198) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22374.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_198) begin
+          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22375.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_127) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22382.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_127) begin
+          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22383.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_184) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22403.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_184) begin
+          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22404.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22410.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_107) begin
+          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22411.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22417.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_114) begin
+          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22418.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_194) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22425.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_194) begin
+          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22426.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_198) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22433.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_198) begin
+          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22434.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_184) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22454.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_184) begin
+          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22455.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22461.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_107) begin
+          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22462.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22468.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_114) begin
+          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22469.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_194) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22476.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_194) begin
+          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22477.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_262) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22486.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_262) begin
+          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22487.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22504.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_101) begin
+          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22505.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22511.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_107) begin
+          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22512.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22518.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_114) begin
+          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22519.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_284) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22526.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_284) begin
+          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22527.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_198) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22534.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_198) begin
+          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22535.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22552.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_101) begin
+          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22553.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22559.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_107) begin
+          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22560.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22566.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_114) begin
+          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22567.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_310) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22574.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_310) begin
+          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22575.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_198) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22582.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_198) begin
+          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22583.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22600.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_101) begin
+          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22601.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22607.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_107) begin
+          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22608.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22614.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_114) begin
+          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22615.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_198) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22622.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_198) begin
+          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22623.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_127) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22630.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_127) begin
+          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22631.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_344) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@22641.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_344) begin
+          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@22642.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_360) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22658.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_360) begin
+          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22659.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_364) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22666.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_364) begin
+          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22667.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22674.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22675.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22682.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22683.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22690.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22691.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_119 & _T_360) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22700.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_119 & _T_360) begin
+          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22701.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_119 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22707.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_119 & _T_101) begin
+          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22708.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_119 & _T_364) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22715.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_119 & _T_364) begin
+          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22716.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22723.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22724.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22731.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22732.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22739.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22740.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22748.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22749.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_360) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22758.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_360) begin
+          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22759.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22765.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_101) begin
+          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22766.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_364) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22773.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_364) begin
+          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22774.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22781.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22782.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22789.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22790.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22798.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22799.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22807.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22808.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_131 & _T_360) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22817.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_131 & _T_360) begin
+          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22818.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22825.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22826.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22833.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22834.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22842.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22843.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_133 & _T_360) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22852.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_133 & _T_360) begin
+          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22853.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22860.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22861.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22869.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22870.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22878.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22879.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_135 & _T_360) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22888.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_135 & _T_360) begin
+          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22889.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22896.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22897.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22904.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22905.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22913.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22914.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22923.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22924.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22931.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22932.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22939.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22940.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_531 & _T_535) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22979.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_531 & _T_535) begin
+          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22980.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_531 & _T_539) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22987.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_531 & _T_539) begin
+          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22988.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_531 & _T_543) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22995.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_531 & _T_543) begin
+          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22996.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_531 & _T_547) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23003.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_531 & _T_547) begin
+          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23004.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_531 & _T_551) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23011.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_531 & _T_551) begin
+          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23012.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_588 & _T_592) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23061.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_588 & _T_592) begin
+          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23062.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23069.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23070.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_588 & _T_600) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23077.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_588 & _T_600) begin
+          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23078.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_588 & _T_604) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23085.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_588 & _T_604) begin
+          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23086.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23093.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23094.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23101.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23102.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_663 & _T_671) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@23179.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_663 & _T_671) begin
+          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@23180.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_679 & _T_686) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@23202.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_679 & _T_686) begin
+          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@23203.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_700) begin
+          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@23223.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_700) begin
+          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@23224.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+endmodule
+module TLBuffer_4( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23236.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23237.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23238.4]
+  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23239.4]
+  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23239.4]
+  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23239.4]
+  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23239.4]
+  input  [2:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23239.4]
+  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23239.4]
+  input  [11:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23239.4]
+  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23239.4]
+  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23239.4]
+  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23239.4]
+  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23239.4]
+  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23239.4]
+  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23239.4]
+  output [2:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23239.4]
+  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23239.4]
+  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23239.4]
+  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23239.4]
+  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23239.4]
+  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23239.4]
+  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23239.4]
+  output [2:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23239.4]
+  output        auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23239.4]
+  output [11:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23239.4]
+  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23239.4]
+  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23239.4]
+  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23239.4]
+  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23239.4]
+  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23239.4]
+  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23239.4]
+  input  [2:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23239.4]
+  input         auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23239.4]
+  input  [31:0] auto_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23239.4]
+);
+  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@23246.4]
+  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@23246.4]
+  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@23246.4]
+  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@23246.4]
+  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@23246.4]
+  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@23246.4]
+  wire [2:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@23246.4]
+  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@23246.4]
+  wire [11:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@23246.4]
+  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@23246.4]
+  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@23246.4]
+  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@23246.4]
+  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@23246.4]
+  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@23246.4]
+  wire [2:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@23246.4]
+  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@23246.4]
+  TLMonitor_12 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@23246.4]
+    .clock(TLMonitor_clock),
+    .reset(TLMonitor_reset),
+    .io_in_a_ready(TLMonitor_io_in_a_ready),
+    .io_in_a_valid(TLMonitor_io_in_a_valid),
+    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
+    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
+    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
+    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
+    .io_in_d_ready(TLMonitor_io_in_d_ready),
+    .io_in_d_valid(TLMonitor_io_in_d_valid),
+    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
+    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
+    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source)
+  );
+  assign auto_in_a_ready = auto_out_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@23286.4]
+  assign auto_in_d_valid = auto_out_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@23286.4]
+  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@23286.4]
+  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@23286.4]
+  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@23286.4]
+  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@23286.4]
+  assign auto_out_a_valid = auto_in_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@23285.4]
+  assign auto_out_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@23285.4]
+  assign auto_out_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@23285.4]
+  assign auto_out_a_bits_size = auto_in_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@23285.4]
+  assign auto_out_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@23285.4]
+  assign auto_out_a_bits_address = auto_in_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@23285.4]
+  assign auto_out_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@23285.4]
+  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@23285.4]
+  assign auto_out_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@23285.4]
+  assign auto_out_d_ready = auto_in_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@23285.4]
+  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23248.4]
+  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23249.4]
+  assign TLMonitor_io_in_a_ready = auto_out_a_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@23282.4]
+  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@23282.4]
+  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@23282.4]
+  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@23282.4]
+  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@23282.4]
+  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@23282.4]
+  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@23282.4]
+  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@23282.4]
+  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@23282.4]
+  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@23282.4]
+  assign TLMonitor_io_in_d_valid = auto_out_d_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@23282.4]
+  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@23282.4]
+  assign TLMonitor_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@23282.4]
+  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@23282.4]
+endmodule
+module SimpleLazyModule_4( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23296.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23297.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23298.4]
+  output        auto_buffer_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23299.4]
+  input         auto_buffer_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23299.4]
+  input  [2:0]  auto_buffer_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23299.4]
+  input  [2:0]  auto_buffer_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23299.4]
+  input  [2:0]  auto_buffer_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23299.4]
+  input         auto_buffer_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23299.4]
+  input  [11:0] auto_buffer_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23299.4]
+  input  [3:0]  auto_buffer_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23299.4]
+  input  [31:0] auto_buffer_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23299.4]
+  input         auto_buffer_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23299.4]
+  input         auto_buffer_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23299.4]
+  output        auto_buffer_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23299.4]
+  output [2:0]  auto_buffer_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23299.4]
+  output [2:0]  auto_buffer_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23299.4]
+  output        auto_buffer_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23299.4]
+  output [31:0] auto_buffer_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23299.4]
+  input         auto_fragmenter_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23299.4]
+  output        auto_fragmenter_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23299.4]
+  output [2:0]  auto_fragmenter_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23299.4]
+  output [2:0]  auto_fragmenter_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23299.4]
+  output [1:0]  auto_fragmenter_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23299.4]
+  output [5:0]  auto_fragmenter_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23299.4]
+  output [11:0] auto_fragmenter_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23299.4]
+  output [3:0]  auto_fragmenter_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23299.4]
+  output [31:0] auto_fragmenter_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23299.4]
+  output        auto_fragmenter_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23299.4]
+  output        auto_fragmenter_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23299.4]
+  input         auto_fragmenter_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23299.4]
+  input  [2:0]  auto_fragmenter_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23299.4]
+  input  [1:0]  auto_fragmenter_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23299.4]
+  input  [5:0]  auto_fragmenter_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23299.4]
+  input  [31:0] auto_fragmenter_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23299.4]
+);
+  wire  fragmenter_clock; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@23304.4]
+  wire  fragmenter_reset; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@23304.4]
+  wire  fragmenter_auto_in_a_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@23304.4]
+  wire  fragmenter_auto_in_a_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@23304.4]
+  wire [2:0] fragmenter_auto_in_a_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@23304.4]
+  wire [2:0] fragmenter_auto_in_a_bits_param; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@23304.4]
+  wire [2:0] fragmenter_auto_in_a_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@23304.4]
+  wire  fragmenter_auto_in_a_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@23304.4]
+  wire [11:0] fragmenter_auto_in_a_bits_address; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@23304.4]
+  wire [3:0] fragmenter_auto_in_a_bits_mask; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@23304.4]
+  wire [31:0] fragmenter_auto_in_a_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@23304.4]
+  wire  fragmenter_auto_in_a_bits_corrupt; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@23304.4]
+  wire  fragmenter_auto_in_d_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@23304.4]
+  wire  fragmenter_auto_in_d_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@23304.4]
+  wire [2:0] fragmenter_auto_in_d_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@23304.4]
+  wire [2:0] fragmenter_auto_in_d_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@23304.4]
+  wire  fragmenter_auto_in_d_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@23304.4]
+  wire [31:0] fragmenter_auto_in_d_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@23304.4]
+  wire  fragmenter_auto_out_a_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@23304.4]
+  wire  fragmenter_auto_out_a_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@23304.4]
+  wire [2:0] fragmenter_auto_out_a_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@23304.4]
+  wire [2:0] fragmenter_auto_out_a_bits_param; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@23304.4]
+  wire [1:0] fragmenter_auto_out_a_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@23304.4]
+  wire [5:0] fragmenter_auto_out_a_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@23304.4]
+  wire [11:0] fragmenter_auto_out_a_bits_address; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@23304.4]
+  wire [3:0] fragmenter_auto_out_a_bits_mask; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@23304.4]
+  wire [31:0] fragmenter_auto_out_a_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@23304.4]
+  wire  fragmenter_auto_out_a_bits_corrupt; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@23304.4]
+  wire  fragmenter_auto_out_d_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@23304.4]
+  wire  fragmenter_auto_out_d_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@23304.4]
+  wire [2:0] fragmenter_auto_out_d_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@23304.4]
+  wire [1:0] fragmenter_auto_out_d_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@23304.4]
+  wire [5:0] fragmenter_auto_out_d_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@23304.4]
+  wire [31:0] fragmenter_auto_out_d_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@23304.4]
+  wire  buffer_clock; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23310.4]
+  wire  buffer_reset; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23310.4]
+  wire  buffer_auto_in_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23310.4]
+  wire  buffer_auto_in_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23310.4]
+  wire [2:0] buffer_auto_in_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23310.4]
+  wire [2:0] buffer_auto_in_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23310.4]
+  wire [2:0] buffer_auto_in_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23310.4]
+  wire  buffer_auto_in_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23310.4]
+  wire [11:0] buffer_auto_in_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23310.4]
+  wire [3:0] buffer_auto_in_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23310.4]
+  wire [31:0] buffer_auto_in_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23310.4]
+  wire  buffer_auto_in_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23310.4]
+  wire  buffer_auto_in_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23310.4]
+  wire  buffer_auto_in_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23310.4]
+  wire [2:0] buffer_auto_in_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23310.4]
+  wire [2:0] buffer_auto_in_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23310.4]
+  wire  buffer_auto_in_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23310.4]
+  wire [31:0] buffer_auto_in_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23310.4]
+  wire  buffer_auto_out_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23310.4]
+  wire  buffer_auto_out_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23310.4]
+  wire [2:0] buffer_auto_out_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23310.4]
+  wire [2:0] buffer_auto_out_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23310.4]
+  wire [2:0] buffer_auto_out_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23310.4]
+  wire  buffer_auto_out_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23310.4]
+  wire [11:0] buffer_auto_out_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23310.4]
+  wire [3:0] buffer_auto_out_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23310.4]
+  wire [31:0] buffer_auto_out_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23310.4]
+  wire  buffer_auto_out_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23310.4]
+  wire  buffer_auto_out_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23310.4]
+  wire  buffer_auto_out_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23310.4]
+  wire [2:0] buffer_auto_out_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23310.4]
+  wire [2:0] buffer_auto_out_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23310.4]
+  wire  buffer_auto_out_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23310.4]
+  wire [31:0] buffer_auto_out_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23310.4]
+  TLFragmenter_2 fragmenter ( // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@23304.4]
+    .clock(fragmenter_clock),
+    .reset(fragmenter_reset),
+    .auto_in_a_ready(fragmenter_auto_in_a_ready),
+    .auto_in_a_valid(fragmenter_auto_in_a_valid),
+    .auto_in_a_bits_opcode(fragmenter_auto_in_a_bits_opcode),
+    .auto_in_a_bits_param(fragmenter_auto_in_a_bits_param),
+    .auto_in_a_bits_size(fragmenter_auto_in_a_bits_size),
+    .auto_in_a_bits_source(fragmenter_auto_in_a_bits_source),
+    .auto_in_a_bits_address(fragmenter_auto_in_a_bits_address),
+    .auto_in_a_bits_mask(fragmenter_auto_in_a_bits_mask),
+    .auto_in_a_bits_data(fragmenter_auto_in_a_bits_data),
+    .auto_in_a_bits_corrupt(fragmenter_auto_in_a_bits_corrupt),
+    .auto_in_d_ready(fragmenter_auto_in_d_ready),
+    .auto_in_d_valid(fragmenter_auto_in_d_valid),
+    .auto_in_d_bits_opcode(fragmenter_auto_in_d_bits_opcode),
+    .auto_in_d_bits_size(fragmenter_auto_in_d_bits_size),
+    .auto_in_d_bits_source(fragmenter_auto_in_d_bits_source),
+    .auto_in_d_bits_data(fragmenter_auto_in_d_bits_data),
+    .auto_out_a_ready(fragmenter_auto_out_a_ready),
+    .auto_out_a_valid(fragmenter_auto_out_a_valid),
+    .auto_out_a_bits_opcode(fragmenter_auto_out_a_bits_opcode),
+    .auto_out_a_bits_param(fragmenter_auto_out_a_bits_param),
+    .auto_out_a_bits_size(fragmenter_auto_out_a_bits_size),
+    .auto_out_a_bits_source(fragmenter_auto_out_a_bits_source),
+    .auto_out_a_bits_address(fragmenter_auto_out_a_bits_address),
+    .auto_out_a_bits_mask(fragmenter_auto_out_a_bits_mask),
+    .auto_out_a_bits_data(fragmenter_auto_out_a_bits_data),
+    .auto_out_a_bits_corrupt(fragmenter_auto_out_a_bits_corrupt),
+    .auto_out_d_ready(fragmenter_auto_out_d_ready),
+    .auto_out_d_valid(fragmenter_auto_out_d_valid),
+    .auto_out_d_bits_opcode(fragmenter_auto_out_d_bits_opcode),
+    .auto_out_d_bits_size(fragmenter_auto_out_d_bits_size),
+    .auto_out_d_bits_source(fragmenter_auto_out_d_bits_source),
+    .auto_out_d_bits_data(fragmenter_auto_out_d_bits_data)
+  );
+  TLBuffer_4 buffer ( // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23310.4]
+    .clock(buffer_clock),
+    .reset(buffer_reset),
+    .auto_in_a_ready(buffer_auto_in_a_ready),
+    .auto_in_a_valid(buffer_auto_in_a_valid),
+    .auto_in_a_bits_opcode(buffer_auto_in_a_bits_opcode),
+    .auto_in_a_bits_param(buffer_auto_in_a_bits_param),
+    .auto_in_a_bits_size(buffer_auto_in_a_bits_size),
+    .auto_in_a_bits_source(buffer_auto_in_a_bits_source),
+    .auto_in_a_bits_address(buffer_auto_in_a_bits_address),
+    .auto_in_a_bits_mask(buffer_auto_in_a_bits_mask),
+    .auto_in_a_bits_data(buffer_auto_in_a_bits_data),
+    .auto_in_a_bits_corrupt(buffer_auto_in_a_bits_corrupt),
+    .auto_in_d_ready(buffer_auto_in_d_ready),
+    .auto_in_d_valid(buffer_auto_in_d_valid),
+    .auto_in_d_bits_opcode(buffer_auto_in_d_bits_opcode),
+    .auto_in_d_bits_size(buffer_auto_in_d_bits_size),
+    .auto_in_d_bits_source(buffer_auto_in_d_bits_source),
+    .auto_in_d_bits_data(buffer_auto_in_d_bits_data),
+    .auto_out_a_ready(buffer_auto_out_a_ready),
+    .auto_out_a_valid(buffer_auto_out_a_valid),
+    .auto_out_a_bits_opcode(buffer_auto_out_a_bits_opcode),
+    .auto_out_a_bits_param(buffer_auto_out_a_bits_param),
+    .auto_out_a_bits_size(buffer_auto_out_a_bits_size),
+    .auto_out_a_bits_source(buffer_auto_out_a_bits_source),
+    .auto_out_a_bits_address(buffer_auto_out_a_bits_address),
+    .auto_out_a_bits_mask(buffer_auto_out_a_bits_mask),
+    .auto_out_a_bits_data(buffer_auto_out_a_bits_data),
+    .auto_out_a_bits_corrupt(buffer_auto_out_a_bits_corrupt),
+    .auto_out_d_ready(buffer_auto_out_d_ready),
+    .auto_out_d_valid(buffer_auto_out_d_valid),
+    .auto_out_d_bits_opcode(buffer_auto_out_d_bits_opcode),
+    .auto_out_d_bits_size(buffer_auto_out_d_bits_size),
+    .auto_out_d_bits_source(buffer_auto_out_d_bits_source),
+    .auto_out_d_bits_data(buffer_auto_out_d_bits_data)
+  );
+  assign auto_buffer_in_a_ready = buffer_auto_in_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@23318.4]
+  assign auto_buffer_in_d_valid = buffer_auto_in_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@23318.4]
+  assign auto_buffer_in_d_bits_opcode = buffer_auto_in_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@23318.4]
+  assign auto_buffer_in_d_bits_size = buffer_auto_in_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@23318.4]
+  assign auto_buffer_in_d_bits_source = buffer_auto_in_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@23318.4]
+  assign auto_buffer_in_d_bits_data = buffer_auto_in_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@23318.4]
+  assign auto_fragmenter_out_a_valid = fragmenter_auto_out_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@23317.4]
+  assign auto_fragmenter_out_a_bits_opcode = fragmenter_auto_out_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@23317.4]
+  assign auto_fragmenter_out_a_bits_param = fragmenter_auto_out_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@23317.4]
+  assign auto_fragmenter_out_a_bits_size = fragmenter_auto_out_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@23317.4]
+  assign auto_fragmenter_out_a_bits_source = fragmenter_auto_out_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@23317.4]
+  assign auto_fragmenter_out_a_bits_address = fragmenter_auto_out_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@23317.4]
+  assign auto_fragmenter_out_a_bits_mask = fragmenter_auto_out_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@23317.4]
+  assign auto_fragmenter_out_a_bits_data = fragmenter_auto_out_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@23317.4]
+  assign auto_fragmenter_out_a_bits_corrupt = fragmenter_auto_out_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@23317.4]
+  assign auto_fragmenter_out_d_ready = fragmenter_auto_out_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@23317.4]
+  assign fragmenter_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23308.4]
+  assign fragmenter_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23309.4]
+  assign fragmenter_auto_in_a_valid = buffer_auto_out_a_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@23316.4]
+  assign fragmenter_auto_in_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@23316.4]
+  assign fragmenter_auto_in_a_bits_param = buffer_auto_out_a_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@23316.4]
+  assign fragmenter_auto_in_a_bits_size = buffer_auto_out_a_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@23316.4]
+  assign fragmenter_auto_in_a_bits_source = buffer_auto_out_a_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@23316.4]
+  assign fragmenter_auto_in_a_bits_address = buffer_auto_out_a_bits_address; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@23316.4]
+  assign fragmenter_auto_in_a_bits_mask = buffer_auto_out_a_bits_mask; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@23316.4]
+  assign fragmenter_auto_in_a_bits_data = buffer_auto_out_a_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@23316.4]
+  assign fragmenter_auto_in_a_bits_corrupt = buffer_auto_out_a_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@23316.4]
+  assign fragmenter_auto_in_d_ready = buffer_auto_out_d_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@23316.4]
+  assign fragmenter_auto_out_a_ready = auto_fragmenter_out_a_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@23317.4]
+  assign fragmenter_auto_out_d_valid = auto_fragmenter_out_d_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@23317.4]
+  assign fragmenter_auto_out_d_bits_opcode = auto_fragmenter_out_d_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@23317.4]
+  assign fragmenter_auto_out_d_bits_size = auto_fragmenter_out_d_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@23317.4]
+  assign fragmenter_auto_out_d_bits_source = auto_fragmenter_out_d_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@23317.4]
+  assign fragmenter_auto_out_d_bits_data = auto_fragmenter_out_d_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@23317.4]
+  assign buffer_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23314.4]
+  assign buffer_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23315.4]
+  assign buffer_auto_in_a_valid = auto_buffer_in_a_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@23318.4]
+  assign buffer_auto_in_a_bits_opcode = auto_buffer_in_a_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@23318.4]
+  assign buffer_auto_in_a_bits_param = auto_buffer_in_a_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@23318.4]
+  assign buffer_auto_in_a_bits_size = auto_buffer_in_a_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@23318.4]
+  assign buffer_auto_in_a_bits_source = auto_buffer_in_a_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@23318.4]
+  assign buffer_auto_in_a_bits_address = auto_buffer_in_a_bits_address; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@23318.4]
+  assign buffer_auto_in_a_bits_mask = auto_buffer_in_a_bits_mask; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@23318.4]
+  assign buffer_auto_in_a_bits_data = auto_buffer_in_a_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@23318.4]
+  assign buffer_auto_in_a_bits_corrupt = auto_buffer_in_a_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@23318.4]
+  assign buffer_auto_in_d_ready = auto_buffer_in_d_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@23318.4]
+  assign buffer_auto_out_a_ready = fragmenter_auto_in_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@23316.4]
+  assign buffer_auto_out_d_valid = fragmenter_auto_in_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@23316.4]
+  assign buffer_auto_out_d_bits_opcode = fragmenter_auto_in_d_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@23316.4]
+  assign buffer_auto_out_d_bits_size = fragmenter_auto_in_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@23316.4]
+  assign buffer_auto_out_d_bits_source = fragmenter_auto_in_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@23316.4]
+  assign buffer_auto_out_d_bits_data = fragmenter_auto_in_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@23316.4]
+endmodule
+module TLMonitor_13( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23327.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23328.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23329.4]
+  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23330.4]
+  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23330.4]
+  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23330.4]
+  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23330.4]
+  input  [2:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23330.4]
+  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23330.4]
+  input  [31:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23330.4]
+  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23330.4]
+  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23330.4]
+  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23330.4]
+  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23330.4]
+  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23330.4]
+  input  [1:0]  io_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23330.4]
+  input  [2:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23330.4]
+  input         io_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23330.4]
+  input         io_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23330.4]
+  input         io_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23330.4]
+  input         io_in_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23330.4]
+);
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@24516.4]
+  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@23346.6]
+  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@23351.6]
+  wire [12:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@23353.6]
+  wire [5:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@23354.6]
+  wire [5:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@23355.6]
+  wire [31:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@23356.6]
+  wire [31:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@23356.6]
+  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@23357.6]
+  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@23359.6]
+  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@23360.6]
+  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@23362.6]
+  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@23363.6]
+  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@23364.6]
+  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@23365.6]
+  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@23366.6]
+  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@23368.6]
+  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@23369.6]
+  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@23371.6]
+  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@23372.6]
+  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@23373.6]
+  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@23374.6]
+  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@23375.6]
+  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@23376.6]
+  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@23377.6]
+  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@23378.6]
+  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@23379.6]
+  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@23380.6]
+  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@23381.6]
+  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@23382.6]
+  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@23383.6]
+  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@23384.6]
+  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@23385.6]
+  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@23386.6]
+  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@23387.6]
+  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@23388.6]
+  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@23389.6]
+  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@23390.6]
+  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@23415.6]
+  wire [31:0] _T_92; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@23418.8]
+  wire [32:0] _T_93; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@23419.8]
+  wire [32:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@23420.8]
+  wire [32:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@23421.8]
+  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@23422.8]
+  wire [31:0] _T_97; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@23423.8]
+  wire [32:0] _T_98; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@23424.8]
+  wire [32:0] _T_99; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@23425.8]
+  wire [32:0] _T_100; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@23426.8]
+  wire  _T_101; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@23427.8]
+  wire  _T_102; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@23428.8]
+  wire  _T_107; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23433.8]
+  wire  _T_112; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23446.8]
+  wire  _T_113; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23447.8]
+  wire  _T_116; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23454.8]
+  wire  _T_117; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23455.8]
+  wire  _T_119; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23461.8]
+  wire  _T_120; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23462.8]
+  wire  _T_121; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@23467.8]
+  wire  _T_123; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23469.8]
+  wire  _T_124; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23470.8]
+  wire [3:0] _T_125; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@23475.8]
+  wire  _T_126; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23476.8]
+  wire  _T_128; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23478.8]
+  wire  _T_129; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23479.8]
+  wire  _T_130; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@23484.8]
+  wire  _T_132; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23486.8]
+  wire  _T_133; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23487.8]
+  wire  _T_134; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@23493.6]
+  wire  _T_169; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23553.8]
+  wire  _T_171; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23555.8]
+  wire  _T_172; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23556.8]
+  wire  _T_182; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@23579.6]
+  wire  _T_184; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@23582.8]
+  wire  _T_198; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@23596.8]
+  wire  _T_201; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23599.8]
+  wire  _T_202; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23600.8]
+  wire  _T_209; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23619.8]
+  wire  _T_211; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23621.8]
+  wire  _T_212; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23622.8]
+  wire  _T_213; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@23627.8]
+  wire  _T_215; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23629.8]
+  wire  _T_216; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23630.8]
+  wire  _T_221; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@23644.6]
+  wire  _T_256; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@23701.6]
+  wire [3:0] _T_287; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@23749.8]
+  wire [3:0] _T_288; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23750.8]
+  wire  _T_289; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@23751.8]
+  wire  _T_291; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23753.8]
+  wire  _T_292; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23754.8]
+  wire  _T_293; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@23760.6]
+  wire  _T_294; // @[Parameters.scala 89:48:shc.marmotcaravel.MarmotCaravelConfig.fir@23762.8]
+  wire  _T_301; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@23769.8]
+  wire  _T_312; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23780.8]
+  wire  _T_313; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23781.8]
+  wire  _T_320; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@23800.8]
+  wire  _T_322; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23802.8]
+  wire  _T_323; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23803.8]
+  wire  _T_328; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@23817.6]
+  wire  _T_355; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@23857.8]
+  wire  _T_357; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23859.8]
+  wire  _T_358; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23860.8]
+  wire  _T_363; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@23874.6]
+  wire  _T_395; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@23930.6]
+  wire  _T_397; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@23932.6]
+  wire  _T_398; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@23933.6]
+  wire  _T_400; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@23939.6]
+  wire  _T_409; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@23944.6]
+  wire  _T_411; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@23946.6]
+  wire  _T_413; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23949.8]
+  wire  _T_414; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23950.8]
+  wire  _T_415; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@23955.8]
+  wire  _T_417; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23957.8]
+  wire  _T_418; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23958.8]
+  wire  _T_419; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23963.8]
+  wire  _T_421; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23965.8]
+  wire  _T_422; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23966.8]
+  wire  _T_423; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@23971.8]
+  wire  _T_425; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23973.8]
+  wire  _T_426; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23974.8]
+  wire  _T_427; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@23979.8]
+  wire  _T_429; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23981.8]
+  wire  _T_430; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23982.8]
+  wire  _T_431; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@23988.6]
+  wire  _T_442; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@24012.8]
+  wire  _T_444; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24014.8]
+  wire  _T_445; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24015.8]
+  wire  _T_446; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24020.8]
+  wire  _T_448; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24022.8]
+  wire  _T_449; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24023.8]
+  wire  _T_459; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24046.6]
+  wire  _T_479; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@24087.8]
+  wire  _T_481; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24089.8]
+  wire  _T_482; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24090.8]
+  wire  _T_488; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24105.6]
+  wire  _T_505; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24140.6]
+  wire  _T_523; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24176.6]
+  wire  _T_552; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@24236.4]
+  wire [3:0] _T_557; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@24241.4]
+  wire  _T_558; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@24242.4]
+  wire  _T_559; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24243.4]
+  reg [3:0] _T_562; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@24245.4]
+  reg [31:0] _RAND_0;
+  wire [4:0] _T_563; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24246.4]
+  wire [4:0] _T_564; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24247.4]
+  wire [3:0] _T_565; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24248.4]
+  wire  _T_566; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24249.4]
+  reg [2:0] _T_575; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@24260.4]
+  reg [31:0] _RAND_1;
+  reg [2:0] _T_577; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@24261.4]
+  reg [31:0] _RAND_2;
+  reg [2:0] _T_579; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@24262.4]
+  reg [31:0] _RAND_3;
+  reg  _T_581; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@24263.4]
+  reg [31:0] _RAND_4;
+  reg [31:0] _T_583; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@24264.4]
+  reg [31:0] _RAND_5;
+  wire  _T_584; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@24265.4]
+  wire  _T_585; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@24266.4]
+  wire  _T_586; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@24268.6]
+  wire  _T_588; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24270.6]
+  wire  _T_589; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24271.6]
+  wire  _T_590; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@24276.6]
+  wire  _T_592; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24278.6]
+  wire  _T_593; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24279.6]
+  wire  _T_594; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@24284.6]
+  wire  _T_596; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24286.6]
+  wire  _T_597; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24287.6]
+  wire  _T_598; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@24292.6]
+  wire  _T_600; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24294.6]
+  wire  _T_601; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24295.6]
+  wire  _T_602; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@24300.6]
+  wire  _T_604; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24302.6]
+  wire  _T_605; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24303.6]
+  wire  _T_607; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@24310.4]
+  wire  _T_608; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@24318.4]
+  wire [12:0] _T_610; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@24320.4]
+  wire [5:0] _T_611; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@24321.4]
+  wire [5:0] _T_612; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@24322.4]
+  wire [3:0] _T_613; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@24323.4]
+  wire  _T_614; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@24324.4]
+  reg [3:0] _T_617; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@24326.4]
+  reg [31:0] _RAND_6;
+  wire [4:0] _T_618; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24327.4]
+  wire [4:0] _T_619; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24328.4]
+  wire [3:0] _T_620; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24329.4]
+  wire  _T_621; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24330.4]
+  reg [2:0] _T_630; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@24341.4]
+  reg [31:0] _RAND_7;
+  reg [1:0] _T_632; // @[Monitor.scala 419:22:shc.marmotcaravel.MarmotCaravelConfig.fir@24342.4]
+  reg [31:0] _RAND_8;
+  reg [2:0] _T_634; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@24343.4]
+  reg [31:0] _RAND_9;
+  reg  _T_636; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@24344.4]
+  reg [31:0] _RAND_10;
+  reg  _T_638; // @[Monitor.scala 422:22:shc.marmotcaravel.MarmotCaravelConfig.fir@24345.4]
+  reg [31:0] _RAND_11;
+  reg  _T_640; // @[Monitor.scala 423:22:shc.marmotcaravel.MarmotCaravelConfig.fir@24346.4]
+  reg [31:0] _RAND_12;
+  wire  _T_641; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@24347.4]
+  wire  _T_642; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@24348.4]
+  wire  _T_643; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@24350.6]
+  wire  _T_645; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24352.6]
+  wire  _T_646; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24353.6]
+  wire  _T_647; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@24358.6]
+  wire  _T_649; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24360.6]
+  wire  _T_650; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24361.6]
+  wire  _T_651; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@24366.6]
+  wire  _T_653; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24368.6]
+  wire  _T_654; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24369.6]
+  wire  _T_655; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@24374.6]
+  wire  _T_657; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24376.6]
+  wire  _T_658; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24377.6]
+  wire  _T_659; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@24382.6]
+  wire  _T_661; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24384.6]
+  wire  _T_662; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24385.6]
+  wire  _T_663; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@24390.6]
+  wire  _T_665; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24392.6]
+  wire  _T_666; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24393.6]
+  wire  _T_668; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@24400.4]
+  reg [1:0] _T_670; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@24409.4]
+  reg [31:0] _RAND_13;
+  reg [3:0] _T_681; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@24419.4]
+  reg [31:0] _RAND_14;
+  wire [4:0] _T_682; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24420.4]
+  wire [4:0] _T_683; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24421.4]
+  wire [3:0] _T_684; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24422.4]
+  wire  _T_685; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24423.4]
+  reg [3:0] _T_702; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@24442.4]
+  reg [31:0] _RAND_15;
+  wire [4:0] _T_703; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24443.4]
+  wire [4:0] _T_704; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24444.4]
+  wire [3:0] _T_705; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24445.4]
+  wire  _T_706; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24446.4]
+  wire  _T_717; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@24461.4]
+  wire [1:0] _T_719; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@24464.6]
+  wire [1:0] _T_720; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@24466.6]
+  wire  _T_721; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@24467.6]
+  wire  _T_722; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24468.6]
+  wire  _T_724; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@24470.6]
+  wire  _T_725; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@24471.6]
+  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@24463.4]
+  wire  _T_730; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@24482.4]
+  wire  _T_732; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@24484.4]
+  wire  _T_733; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@24485.4]
+  wire [1:0] _T_734; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@24487.6]
+  wire [1:0] _T_735; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@24489.6]
+  wire [1:0] _T_736; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@24490.6]
+  wire  _T_737; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@24491.6]
+  wire  _T_739; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@24493.6]
+  wire  _T_740; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@24494.6]
+  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@24486.4]
+  wire  _T_741; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@24500.4]
+  wire  _T_742; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@24501.4]
+  wire  _T_743; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@24502.4]
+  wire  _T_744; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@24503.4]
+  wire  _T_746; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@24505.4]
+  wire  _T_747; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@24506.4]
+  wire [1:0] _T_748; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@24511.4]
+  wire [1:0] _T_749; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@24512.4]
+  wire [1:0] _T_750; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@24513.4]
+  reg [31:0] _T_752; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@24515.4]
+  reg [31:0] _RAND_16;
+  wire  _T_753; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@24518.4]
+  wire  _T_754; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@24519.4]
+  wire  _T_755; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@24520.4]
+  wire  _T_756; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@24521.4]
+  wire  _T_757; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@24522.4]
+  wire  _T_758; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@24523.4]
+  wire  _T_760; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@24525.4]
+  wire  _T_761; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@24526.4]
+  wire [31:0] _T_763; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@24532.4]
+  wire  _T_766; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@24536.4]
+  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23435.10]
+  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23513.10]
+  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23602.10]
+  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23667.10]
+  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23724.10]
+  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23783.10]
+  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23840.10]
+  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23894.10]
+  wire  _GEN_115; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23952.10]
+  wire  _GEN_125; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23994.10]
+  wire  _GEN_139; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24052.10]
+  wire  _GEN_153; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24111.10]
+  wire  _GEN_161; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24146.10]
+  wire  _GEN_169; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24182.10]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@24516.4]
+    .out(plusarg_reader_out)
+  );
+  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@23346.6]
+  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@23351.6]
+  assign _T_32 = 13'h3f << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@23353.6]
+  assign _T_33 = _T_32[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@23354.6]
+  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@23355.6]
+  assign _GEN_18 = {{26'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@23356.6]
+  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@23356.6]
+  assign _T_36 = _T_35 == 32'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@23357.6]
+  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@23359.6]
+  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@23360.6]
+  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@23362.6]
+  assign _T_42 = io_in_a_bits_size >= 3'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@23363.6]
+  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@23364.6]
+  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@23365.6]
+  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@23366.6]
+  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@23368.6]
+  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@23369.6]
+  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@23371.6]
+  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@23372.6]
+  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@23373.6]
+  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@23374.6]
+  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@23375.6]
+  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@23376.6]
+  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@23377.6]
+  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@23378.6]
+  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@23379.6]
+  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@23380.6]
+  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@23381.6]
+  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@23382.6]
+  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@23383.6]
+  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@23384.6]
+  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@23385.6]
+  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@23386.6]
+  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@23387.6]
+  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@23388.6]
+  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@23389.6]
+  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@23390.6]
+  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@23415.6]
+  assign _T_92 = io_in_a_bits_address ^ 32'h8000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@23418.8]
+  assign _T_93 = {1'b0,$signed(_T_92)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@23419.8]
+  assign _T_94 = $signed(_T_93) & $signed(-33'sh4000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@23420.8]
+  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@23421.8]
+  assign _T_96 = $signed(_T_95) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@23422.8]
+  assign _T_97 = io_in_a_bits_address ^ 32'h80000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@23423.8]
+  assign _T_98 = {1'b0,$signed(_T_97)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@23424.8]
+  assign _T_99 = $signed(_T_98) & $signed(-33'sh4000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@23425.8]
+  assign _T_100 = $signed(_T_99); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@23426.8]
+  assign _T_101 = $signed(_T_100) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@23427.8]
+  assign _T_102 = _T_96 | _T_101; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@23428.8]
+  assign _T_107 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23433.8]
+  assign _T_112 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23446.8]
+  assign _T_113 = _T_112 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23447.8]
+  assign _T_116 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23454.8]
+  assign _T_117 = _T_116 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23455.8]
+  assign _T_119 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23461.8]
+  assign _T_120 = _T_119 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23462.8]
+  assign _T_121 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@23467.8]
+  assign _T_123 = _T_121 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23469.8]
+  assign _T_124 = _T_123 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23470.8]
+  assign _T_125 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@23475.8]
+  assign _T_126 = _T_125 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23476.8]
+  assign _T_128 = _T_126 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23478.8]
+  assign _T_129 = _T_128 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23479.8]
+  assign _T_130 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@23484.8]
+  assign _T_132 = _T_130 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23486.8]
+  assign _T_133 = _T_132 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23487.8]
+  assign _T_134 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@23493.6]
+  assign _T_169 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23553.8]
+  assign _T_171 = _T_169 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23555.8]
+  assign _T_172 = _T_171 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23556.8]
+  assign _T_182 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@23579.6]
+  assign _T_184 = io_in_a_bits_size <= 3'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@23582.8]
+  assign _T_198 = _T_184 & _T_102; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@23596.8]
+  assign _T_201 = _T_198 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23599.8]
+  assign _T_202 = _T_201 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23600.8]
+  assign _T_209 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23619.8]
+  assign _T_211 = _T_209 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23621.8]
+  assign _T_212 = _T_211 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23622.8]
+  assign _T_213 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@23627.8]
+  assign _T_215 = _T_213 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23629.8]
+  assign _T_216 = _T_215 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23630.8]
+  assign _T_221 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@23644.6]
+  assign _T_256 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@23701.6]
+  assign _T_287 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@23749.8]
+  assign _T_288 = io_in_a_bits_mask & _T_287; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23750.8]
+  assign _T_289 = _T_288 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@23751.8]
+  assign _T_291 = _T_289 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23753.8]
+  assign _T_292 = _T_291 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23754.8]
+  assign _T_293 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@23760.6]
+  assign _T_294 = 3'h2 == io_in_a_bits_size; // @[Parameters.scala 89:48:shc.marmotcaravel.MarmotCaravelConfig.fir@23762.8]
+  assign _T_301 = _T_294 & _T_101; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@23769.8]
+  assign _T_312 = _T_301 | reset; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23780.8]
+  assign _T_313 = _T_312 == 1'h0; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23781.8]
+  assign _T_320 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@23800.8]
+  assign _T_322 = _T_320 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23802.8]
+  assign _T_323 = _T_322 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23803.8]
+  assign _T_328 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@23817.6]
+  assign _T_355 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@23857.8]
+  assign _T_357 = _T_355 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23859.8]
+  assign _T_358 = _T_357 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23860.8]
+  assign _T_363 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@23874.6]
+  assign _T_395 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@23930.6]
+  assign _T_397 = _T_395 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@23932.6]
+  assign _T_398 = _T_397 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@23933.6]
+  assign _T_400 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@23939.6]
+  assign _T_409 = io_in_d_bits_source | _T_400; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@23944.6]
+  assign _T_411 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@23946.6]
+  assign _T_413 = _T_409 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23949.8]
+  assign _T_414 = _T_413 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23950.8]
+  assign _T_415 = io_in_d_bits_size >= 3'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@23955.8]
+  assign _T_417 = _T_415 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23957.8]
+  assign _T_418 = _T_417 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23958.8]
+  assign _T_419 = io_in_d_bits_param == 2'h0; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23963.8]
+  assign _T_421 = _T_419 | reset; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23965.8]
+  assign _T_422 = _T_421 == 1'h0; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23966.8]
+  assign _T_423 = io_in_d_bits_corrupt == 1'h0; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@23971.8]
+  assign _T_425 = _T_423 | reset; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23973.8]
+  assign _T_426 = _T_425 == 1'h0; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23974.8]
+  assign _T_427 = io_in_d_bits_denied == 1'h0; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@23979.8]
+  assign _T_429 = _T_427 | reset; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23981.8]
+  assign _T_430 = _T_429 == 1'h0; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23982.8]
+  assign _T_431 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@23988.6]
+  assign _T_442 = io_in_d_bits_param <= 2'h2; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@24012.8]
+  assign _T_444 = _T_442 | reset; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24014.8]
+  assign _T_445 = _T_444 == 1'h0; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24015.8]
+  assign _T_446 = io_in_d_bits_param != 2'h2; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24020.8]
+  assign _T_448 = _T_446 | reset; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24022.8]
+  assign _T_449 = _T_448 == 1'h0; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24023.8]
+  assign _T_459 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24046.6]
+  assign _T_479 = _T_427 | io_in_d_bits_corrupt; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@24087.8]
+  assign _T_481 = _T_479 | reset; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24089.8]
+  assign _T_482 = _T_481 == 1'h0; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24090.8]
+  assign _T_488 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24105.6]
+  assign _T_505 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24140.6]
+  assign _T_523 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24176.6]
+  assign _T_552 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@24236.4]
+  assign _T_557 = _T_34[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@24241.4]
+  assign _T_558 = io_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@24242.4]
+  assign _T_559 = _T_558 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24243.4]
+  assign _T_563 = _T_562 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24246.4]
+  assign _T_564 = $unsigned(_T_563); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24247.4]
+  assign _T_565 = _T_564[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24248.4]
+  assign _T_566 = _T_562 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24249.4]
+  assign _T_584 = _T_566 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@24265.4]
+  assign _T_585 = io_in_a_valid & _T_584; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@24266.4]
+  assign _T_586 = io_in_a_bits_opcode == _T_575; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@24268.6]
+  assign _T_588 = _T_586 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24270.6]
+  assign _T_589 = _T_588 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24271.6]
+  assign _T_590 = io_in_a_bits_param == _T_577; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@24276.6]
+  assign _T_592 = _T_590 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24278.6]
+  assign _T_593 = _T_592 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24279.6]
+  assign _T_594 = io_in_a_bits_size == _T_579; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@24284.6]
+  assign _T_596 = _T_594 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24286.6]
+  assign _T_597 = _T_596 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24287.6]
+  assign _T_598 = io_in_a_bits_source == _T_581; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@24292.6]
+  assign _T_600 = _T_598 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24294.6]
+  assign _T_601 = _T_600 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24295.6]
+  assign _T_602 = io_in_a_bits_address == _T_583; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@24300.6]
+  assign _T_604 = _T_602 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24302.6]
+  assign _T_605 = _T_604 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24303.6]
+  assign _T_607 = _T_552 & _T_566; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@24310.4]
+  assign _T_608 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@24318.4]
+  assign _T_610 = 13'h3f << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@24320.4]
+  assign _T_611 = _T_610[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@24321.4]
+  assign _T_612 = ~ _T_611; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@24322.4]
+  assign _T_613 = _T_612[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@24323.4]
+  assign _T_614 = io_in_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@24324.4]
+  assign _T_618 = _T_617 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24327.4]
+  assign _T_619 = $unsigned(_T_618); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24328.4]
+  assign _T_620 = _T_619[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24329.4]
+  assign _T_621 = _T_617 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24330.4]
+  assign _T_641 = _T_621 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@24347.4]
+  assign _T_642 = io_in_d_valid & _T_641; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@24348.4]
+  assign _T_643 = io_in_d_bits_opcode == _T_630; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@24350.6]
+  assign _T_645 = _T_643 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24352.6]
+  assign _T_646 = _T_645 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24353.6]
+  assign _T_647 = io_in_d_bits_param == _T_632; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@24358.6]
+  assign _T_649 = _T_647 | reset; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24360.6]
+  assign _T_650 = _T_649 == 1'h0; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24361.6]
+  assign _T_651 = io_in_d_bits_size == _T_634; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@24366.6]
+  assign _T_653 = _T_651 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24368.6]
+  assign _T_654 = _T_653 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24369.6]
+  assign _T_655 = io_in_d_bits_source == _T_636; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@24374.6]
+  assign _T_657 = _T_655 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24376.6]
+  assign _T_658 = _T_657 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24377.6]
+  assign _T_659 = io_in_d_bits_sink == _T_638; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@24382.6]
+  assign _T_661 = _T_659 | reset; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24384.6]
+  assign _T_662 = _T_661 == 1'h0; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24385.6]
+  assign _T_663 = io_in_d_bits_denied == _T_640; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@24390.6]
+  assign _T_665 = _T_663 | reset; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24392.6]
+  assign _T_666 = _T_665 == 1'h0; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24393.6]
+  assign _T_668 = _T_608 & _T_621; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@24400.4]
+  assign _T_682 = _T_681 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24420.4]
+  assign _T_683 = $unsigned(_T_682); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24421.4]
+  assign _T_684 = _T_683[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24422.4]
+  assign _T_685 = _T_681 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24423.4]
+  assign _T_703 = _T_702 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24443.4]
+  assign _T_704 = $unsigned(_T_703); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24444.4]
+  assign _T_705 = _T_704[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24445.4]
+  assign _T_706 = _T_702 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24446.4]
+  assign _T_717 = _T_552 & _T_685; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@24461.4]
+  assign _T_719 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@24464.6]
+  assign _T_720 = _T_670 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@24466.6]
+  assign _T_721 = _T_720[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@24467.6]
+  assign _T_722 = _T_721 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24468.6]
+  assign _T_724 = _T_722 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@24470.6]
+  assign _T_725 = _T_724 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@24471.6]
+  assign _GEN_15 = _T_717 ? _T_719 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@24463.4]
+  assign _T_730 = _T_608 & _T_706; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@24482.4]
+  assign _T_732 = _T_411 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@24484.4]
+  assign _T_733 = _T_730 & _T_732; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@24485.4]
+  assign _T_734 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@24487.6]
+  assign _T_735 = _GEN_15 | _T_670; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@24489.6]
+  assign _T_736 = _T_735 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@24490.6]
+  assign _T_737 = _T_736[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@24491.6]
+  assign _T_739 = _T_737 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@24493.6]
+  assign _T_740 = _T_739 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@24494.6]
+  assign _GEN_16 = _T_733 ? _T_734 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@24486.4]
+  assign _T_741 = _GEN_15 != _GEN_16; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@24500.4]
+  assign _T_742 = _GEN_15 != 2'h0; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@24501.4]
+  assign _T_743 = _T_742 == 1'h0; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@24502.4]
+  assign _T_744 = _T_741 | _T_743; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@24503.4]
+  assign _T_746 = _T_744 | reset; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@24505.4]
+  assign _T_747 = _T_746 == 1'h0; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@24506.4]
+  assign _T_748 = _T_670 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@24511.4]
+  assign _T_749 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@24512.4]
+  assign _T_750 = _T_748 & _T_749; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@24513.4]
+  assign _T_753 = _T_670 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@24518.4]
+  assign _T_754 = _T_753 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@24519.4]
+  assign _T_755 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@24520.4]
+  assign _T_756 = _T_754 | _T_755; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@24521.4]
+  assign _T_757 = _T_752 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@24522.4]
+  assign _T_758 = _T_756 | _T_757; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@24523.4]
+  assign _T_760 = _T_758 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@24525.4]
+  assign _T_761 = _T_760 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@24526.4]
+  assign _T_763 = _T_752 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@24532.4]
+  assign _T_766 = _T_552 | _T_608; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@24536.4]
+  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23435.10]
+  assign _GEN_35 = io_in_a_valid & _T_134; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23513.10]
+  assign _GEN_53 = io_in_a_valid & _T_182; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23602.10]
+  assign _GEN_65 = io_in_a_valid & _T_221; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23667.10]
+  assign _GEN_75 = io_in_a_valid & _T_256; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23724.10]
+  assign _GEN_85 = io_in_a_valid & _T_293; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23783.10]
+  assign _GEN_95 = io_in_a_valid & _T_328; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23840.10]
+  assign _GEN_105 = io_in_a_valid & _T_363; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23894.10]
+  assign _GEN_115 = io_in_d_valid & _T_411; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23952.10]
+  assign _GEN_125 = io_in_d_valid & _T_431; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23994.10]
+  assign _GEN_139 = io_in_d_valid & _T_459; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24052.10]
+  assign _GEN_153 = io_in_d_valid & _T_488; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24111.10]
+  assign _GEN_161 = io_in_d_valid & _T_505; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24146.10]
+  assign _GEN_169 = io_in_d_valid & _T_523; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24182.10]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  _T_562 = _RAND_0[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  _T_575 = _RAND_1[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  _T_577 = _RAND_2[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  _T_579 = _RAND_3[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  _T_581 = _RAND_4[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  _T_583 = _RAND_5[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {1{`RANDOM}};
+  _T_617 = _RAND_6[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {1{`RANDOM}};
+  _T_630 = _RAND_7[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_8 = {1{`RANDOM}};
+  _T_632 = _RAND_8[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_9 = {1{`RANDOM}};
+  _T_634 = _RAND_9[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_10 = {1{`RANDOM}};
+  _T_636 = _RAND_10[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_11 = {1{`RANDOM}};
+  _T_638 = _RAND_11[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_12 = {1{`RANDOM}};
+  _T_640 = _RAND_12[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_13 = {1{`RANDOM}};
+  _T_670 = _RAND_13[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_14 = {1{`RANDOM}};
+  _T_681 = _RAND_14[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_15 = {1{`RANDOM}};
+  _T_702 = _RAND_15[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_16 = {1{`RANDOM}};
+  _T_752 = _RAND_16[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      _T_562 <= 4'h0;
+    end else begin
+      if (_T_552) begin
+        if (_T_566) begin
+          if (_T_559) begin
+            _T_562 <= _T_557;
+          end else begin
+            _T_562 <= 4'h0;
+          end
+        end else begin
+          _T_562 <= _T_565;
+        end
+      end
+    end
+    if (_T_607) begin
+      _T_575 <= io_in_a_bits_opcode;
+    end
+    if (_T_607) begin
+      _T_577 <= io_in_a_bits_param;
+    end
+    if (_T_607) begin
+      _T_579 <= io_in_a_bits_size;
+    end
+    if (_T_607) begin
+      _T_581 <= io_in_a_bits_source;
+    end
+    if (_T_607) begin
+      _T_583 <= io_in_a_bits_address;
+    end
+    if (reset) begin
+      _T_617 <= 4'h0;
+    end else begin
+      if (_T_608) begin
+        if (_T_621) begin
+          if (_T_614) begin
+            _T_617 <= _T_613;
+          end else begin
+            _T_617 <= 4'h0;
+          end
+        end else begin
+          _T_617 <= _T_620;
+        end
+      end
+    end
+    if (_T_668) begin
+      _T_630 <= io_in_d_bits_opcode;
+    end
+    if (_T_668) begin
+      _T_632 <= io_in_d_bits_param;
+    end
+    if (_T_668) begin
+      _T_634 <= io_in_d_bits_size;
+    end
+    if (_T_668) begin
+      _T_636 <= io_in_d_bits_source;
+    end
+    if (_T_668) begin
+      _T_638 <= io_in_d_bits_sink;
+    end
+    if (_T_668) begin
+      _T_640 <= io_in_d_bits_denied;
+    end
+    if (reset) begin
+      _T_670 <= 2'h0;
+    end else begin
+      _T_670 <= _T_750;
+    end
+    if (reset) begin
+      _T_681 <= 4'h0;
+    end else begin
+      if (_T_552) begin
+        if (_T_685) begin
+          if (_T_559) begin
+            _T_681 <= _T_557;
+          end else begin
+            _T_681 <= 4'h0;
+          end
+        end else begin
+          _T_681 <= _T_684;
+        end
+      end
+    end
+    if (reset) begin
+      _T_702 <= 4'h0;
+    end else begin
+      if (_T_608) begin
+        if (_T_706) begin
+          if (_T_614) begin
+            _T_702 <= _T_613;
+          end else begin
+            _T_702 <= 4'h0;
+          end
+        end else begin
+          _T_702 <= _T_705;
+        end
+      end
+    end
+    if (reset) begin
+      _T_752 <= 32'h0;
+    end else begin
+      if (_T_766) begin
+        _T_752 <= 32'h0;
+      end else begin
+        _T_752 <= _T_763;
+      end
+    end
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@23342.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@23343.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@23412.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@23413.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23435.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_107) begin
+          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23436.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23442.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_107) begin
+          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23443.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_113) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23449.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_113) begin
+          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23450.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_117) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23457.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_117) begin
+          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23458.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_120) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23464.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_120) begin
+          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23465.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_124) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23472.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_124) begin
+          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23473.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_129) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23481.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_129) begin
+          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23482.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_133) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23489.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_133) begin
+          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23490.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23513.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_107) begin
+          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23514.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23520.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_107) begin
+          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23521.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_113) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23527.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_113) begin
+          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23528.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_117) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23535.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_117) begin
+          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23536.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_120) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23542.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_120) begin
+          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23543.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_124) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23550.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_124) begin
+          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23551.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_172) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23558.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_172) begin
+          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23559.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_129) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23567.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_129) begin
+          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23568.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_133) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23575.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_133) begin
+          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23576.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_202) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23602.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_202) begin
+          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23603.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_113) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23609.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_113) begin
+          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23610.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_120) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23616.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_120) begin
+          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23617.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_212) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23624.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_212) begin
+          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23625.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_216) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23632.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_216) begin
+          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23633.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_133) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23640.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_133) begin
+          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23641.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_202) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23667.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_202) begin
+          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23668.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_113) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23674.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_113) begin
+          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23675.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_120) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23681.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_120) begin
+          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23682.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_212) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23689.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_212) begin
+          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23690.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_216) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23697.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_216) begin
+          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23698.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_202) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23724.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_202) begin
+          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23725.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_113) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23731.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_113) begin
+          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23732.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_120) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23738.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_120) begin
+          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23739.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_212) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23746.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_212) begin
+          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23747.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_292) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23756.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_292) begin
+          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23757.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_313) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23783.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_313) begin
+          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23784.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_113) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23790.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_113) begin
+          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23791.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_120) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23797.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_120) begin
+          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23798.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_323) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23805.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_323) begin
+          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23806.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_216) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23813.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_216) begin
+          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23814.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_313) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23840.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_313) begin
+          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23841.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_113) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23847.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_113) begin
+          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23848.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_120) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23854.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_120) begin
+          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23855.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_358) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23862.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_358) begin
+          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23863.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_216) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23870.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_216) begin
+          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23871.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23894.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_107) begin
+          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23895.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_113) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23901.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_113) begin
+          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23902.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_120) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23908.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_120) begin
+          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23909.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_216) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23916.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_216) begin
+          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23917.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_133) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23924.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_133) begin
+          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23925.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_398) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@23935.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_398) begin
+          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@23936.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_414) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23952.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_414) begin
+          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23953.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_418) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23960.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_418) begin
+          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23961.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_422) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23968.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_422) begin
+          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23969.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_426) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23976.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_426) begin
+          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23977.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_430) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23984.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_430) begin
+          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23985.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_414) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23994.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_414) begin
+          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23995.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24001.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_107) begin
+          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24002.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_418) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24009.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_418) begin
+          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24010.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_445) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24017.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_445) begin
+          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24018.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_449) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24025.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_449) begin
+          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24026.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_426) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24033.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_426) begin
+          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24034.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_430) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24042.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_430) begin
+          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24043.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_139 & _T_414) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24052.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_139 & _T_414) begin
+          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24053.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_139 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24059.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_139 & _T_107) begin
+          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24060.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_139 & _T_418) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24067.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_139 & _T_418) begin
+          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24068.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_139 & _T_445) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24075.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_139 & _T_445) begin
+          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24076.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_139 & _T_449) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24083.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_139 & _T_449) begin
+          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24084.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_139 & _T_482) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24092.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_139 & _T_482) begin
+          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24093.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_139 & _T_430) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24101.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_139 & _T_430) begin
+          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24102.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_153 & _T_414) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24111.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_153 & _T_414) begin
+          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24112.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_153 & _T_422) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24119.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_153 & _T_422) begin
+          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24120.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_153 & _T_426) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24127.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_153 & _T_426) begin
+          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24128.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_153 & _T_430) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24136.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_153 & _T_430) begin
+          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24137.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_161 & _T_414) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24146.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_161 & _T_414) begin
+          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24147.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_161 & _T_422) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24154.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_161 & _T_422) begin
+          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24155.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_161 & _T_482) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24163.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_161 & _T_482) begin
+          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24164.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_161 & _T_430) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24172.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_161 & _T_430) begin
+          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24173.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_169 & _T_414) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24182.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_169 & _T_414) begin
+          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24183.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_169 & _T_422) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24190.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_169 & _T_422) begin
+          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24191.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_169 & _T_426) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24198.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_169 & _T_426) begin
+          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24199.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_169 & _T_430) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24207.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_169 & _T_430) begin
+          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24208.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24217.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24218.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24225.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24226.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24233.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24234.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_585 & _T_589) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24273.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_585 & _T_589) begin
+          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24274.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_585 & _T_593) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24281.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_585 & _T_593) begin
+          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24282.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_585 & _T_597) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24289.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_585 & _T_597) begin
+          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24290.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_585 & _T_601) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24297.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_585 & _T_601) begin
+          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24298.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_585 & _T_605) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24305.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_585 & _T_605) begin
+          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24306.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_642 & _T_646) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24355.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_642 & _T_646) begin
+          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24356.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_642 & _T_650) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24363.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_642 & _T_650) begin
+          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24364.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_642 & _T_654) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24371.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_642 & _T_654) begin
+          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24372.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_642 & _T_658) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24379.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_642 & _T_658) begin
+          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24380.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_642 & _T_662) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24387.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_642 & _T_662) begin
+          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24388.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_642 & _T_666) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24395.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_642 & _T_666) begin
+          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24396.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_717 & _T_725) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@24473.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_717 & _T_725) begin
+          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@24474.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_733 & _T_740) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@24496.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_733 & _T_740) begin
+          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@24497.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_747) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' and 'D' concurrent, despite minlatency 3 (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:471 assert(a_set =/= d_clr || !a_set.orR, s\"'A' and 'D' concurrent, despite minlatency ${edge.manager.minLatency}\" + extra)\n"); // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@24508.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_747) begin
+          $fatal; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@24509.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_761) begin
+          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@24528.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_761) begin
+          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@24529.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+endmodule
+module TLBuffer_5( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24541.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24542.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24543.4]
+  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24544.4]
+  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24544.4]
+  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24544.4]
+  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24544.4]
+  input  [2:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24544.4]
+  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24544.4]
+  input  [31:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24544.4]
+  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24544.4]
+  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24544.4]
+  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24544.4]
+  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24544.4]
+  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24544.4]
+  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24544.4]
+  output [1:0]  auto_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24544.4]
+  output [2:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24544.4]
+  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24544.4]
+  output        auto_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24544.4]
+  output        auto_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24544.4]
+  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24544.4]
+  output        auto_in_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24544.4]
+  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24544.4]
+  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24544.4]
+  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24544.4]
+  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24544.4]
+  output [2:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24544.4]
+  output        auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24544.4]
+  output [31:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24544.4]
+  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24544.4]
+  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24544.4]
+  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24544.4]
+  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24544.4]
+  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24544.4]
+  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24544.4]
+  input  [1:0]  auto_out_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24544.4]
+  input  [2:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24544.4]
+  input         auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24544.4]
+  input         auto_out_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24544.4]
+  input         auto_out_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24544.4]
+  input  [31:0] auto_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24544.4]
+  input         auto_out_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24544.4]
+);
+  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24551.4]
+  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24551.4]
+  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24551.4]
+  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24551.4]
+  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24551.4]
+  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24551.4]
+  wire [2:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24551.4]
+  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24551.4]
+  wire [31:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24551.4]
+  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24551.4]
+  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24551.4]
+  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24551.4]
+  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24551.4]
+  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24551.4]
+  wire [1:0] TLMonitor_io_in_d_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24551.4]
+  wire [2:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24551.4]
+  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24551.4]
+  wire  TLMonitor_io_in_d_bits_sink; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24551.4]
+  wire  TLMonitor_io_in_d_bits_denied; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24551.4]
+  wire  TLMonitor_io_in_d_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24551.4]
+  TLMonitor_13 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24551.4]
+    .clock(TLMonitor_clock),
+    .reset(TLMonitor_reset),
+    .io_in_a_ready(TLMonitor_io_in_a_ready),
+    .io_in_a_valid(TLMonitor_io_in_a_valid),
+    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
+    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
+    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
+    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
+    .io_in_d_ready(TLMonitor_io_in_d_ready),
+    .io_in_d_valid(TLMonitor_io_in_d_valid),
+    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
+    .io_in_d_bits_param(TLMonitor_io_in_d_bits_param),
+    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
+    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source),
+    .io_in_d_bits_sink(TLMonitor_io_in_d_bits_sink),
+    .io_in_d_bits_denied(TLMonitor_io_in_d_bits_denied),
+    .io_in_d_bits_corrupt(TLMonitor_io_in_d_bits_corrupt)
+  );
+  assign auto_in_a_ready = auto_out_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@24591.4]
+  assign auto_in_d_valid = auto_out_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@24591.4]
+  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@24591.4]
+  assign auto_in_d_bits_param = auto_out_d_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@24591.4]
+  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@24591.4]
+  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@24591.4]
+  assign auto_in_d_bits_sink = auto_out_d_bits_sink; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@24591.4]
+  assign auto_in_d_bits_denied = auto_out_d_bits_denied; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@24591.4]
+  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@24591.4]
+  assign auto_in_d_bits_corrupt = auto_out_d_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@24591.4]
+  assign auto_out_a_valid = auto_in_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@24590.4]
+  assign auto_out_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@24590.4]
+  assign auto_out_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@24590.4]
+  assign auto_out_a_bits_size = auto_in_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@24590.4]
+  assign auto_out_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@24590.4]
+  assign auto_out_a_bits_address = auto_in_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@24590.4]
+  assign auto_out_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@24590.4]
+  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@24590.4]
+  assign auto_out_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@24590.4]
+  assign auto_out_d_ready = auto_in_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@24590.4]
+  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24553.4]
+  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24554.4]
+  assign TLMonitor_io_in_a_ready = auto_out_a_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@24587.4]
+  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@24587.4]
+  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@24587.4]
+  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@24587.4]
+  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@24587.4]
+  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@24587.4]
+  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@24587.4]
+  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@24587.4]
+  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@24587.4]
+  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@24587.4]
+  assign TLMonitor_io_in_d_valid = auto_out_d_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@24587.4]
+  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@24587.4]
+  assign TLMonitor_io_in_d_bits_param = auto_out_d_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@24587.4]
+  assign TLMonitor_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@24587.4]
+  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@24587.4]
+  assign TLMonitor_io_in_d_bits_sink = auto_out_d_bits_sink; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@24587.4]
+  assign TLMonitor_io_in_d_bits_denied = auto_out_d_bits_denied; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@24587.4]
+  assign TLMonitor_io_in_d_bits_corrupt = auto_out_d_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@24587.4]
+endmodule
+module SimpleLazyModule_5( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24601.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24602.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24603.4]
+  output        auto_buffer_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24604.4]
+  input         auto_buffer_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24604.4]
+  input  [2:0]  auto_buffer_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24604.4]
+  input  [2:0]  auto_buffer_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24604.4]
+  input  [2:0]  auto_buffer_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24604.4]
+  input         auto_buffer_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24604.4]
+  input  [31:0] auto_buffer_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24604.4]
+  input  [3:0]  auto_buffer_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24604.4]
+  input  [31:0] auto_buffer_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24604.4]
+  input         auto_buffer_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24604.4]
+  input         auto_buffer_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24604.4]
+  output        auto_buffer_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24604.4]
+  output [2:0]  auto_buffer_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24604.4]
+  output [1:0]  auto_buffer_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24604.4]
+  output [2:0]  auto_buffer_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24604.4]
+  output        auto_buffer_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24604.4]
+  output        auto_buffer_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24604.4]
+  output        auto_buffer_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24604.4]
+  output [31:0] auto_buffer_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24604.4]
+  output        auto_buffer_in_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24604.4]
+  input         auto_tl_slave_xing_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24604.4]
+  output        auto_tl_slave_xing_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24604.4]
+  output [2:0]  auto_tl_slave_xing_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24604.4]
+  output [2:0]  auto_tl_slave_xing_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24604.4]
+  output [2:0]  auto_tl_slave_xing_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24604.4]
+  output        auto_tl_slave_xing_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24604.4]
+  output [31:0] auto_tl_slave_xing_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24604.4]
+  output [3:0]  auto_tl_slave_xing_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24604.4]
+  output [31:0] auto_tl_slave_xing_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24604.4]
+  output        auto_tl_slave_xing_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24604.4]
+  output        auto_tl_slave_xing_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24604.4]
+  input         auto_tl_slave_xing_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24604.4]
+  input  [2:0]  auto_tl_slave_xing_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24604.4]
+  input  [1:0]  auto_tl_slave_xing_out_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24604.4]
+  input  [2:0]  auto_tl_slave_xing_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24604.4]
+  input         auto_tl_slave_xing_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24604.4]
+  input         auto_tl_slave_xing_out_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24604.4]
+  input         auto_tl_slave_xing_out_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24604.4]
+  input  [31:0] auto_tl_slave_xing_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24604.4]
+  input         auto_tl_slave_xing_out_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24604.4]
+);
+  wire  buffer_clock; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24609.4]
+  wire  buffer_reset; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24609.4]
+  wire  buffer_auto_in_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24609.4]
+  wire  buffer_auto_in_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24609.4]
+  wire [2:0] buffer_auto_in_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24609.4]
+  wire [2:0] buffer_auto_in_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24609.4]
+  wire [2:0] buffer_auto_in_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24609.4]
+  wire  buffer_auto_in_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24609.4]
+  wire [31:0] buffer_auto_in_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24609.4]
+  wire [3:0] buffer_auto_in_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24609.4]
+  wire [31:0] buffer_auto_in_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24609.4]
+  wire  buffer_auto_in_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24609.4]
+  wire  buffer_auto_in_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24609.4]
+  wire  buffer_auto_in_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24609.4]
+  wire [2:0] buffer_auto_in_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24609.4]
+  wire [1:0] buffer_auto_in_d_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24609.4]
+  wire [2:0] buffer_auto_in_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24609.4]
+  wire  buffer_auto_in_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24609.4]
+  wire  buffer_auto_in_d_bits_sink; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24609.4]
+  wire  buffer_auto_in_d_bits_denied; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24609.4]
+  wire [31:0] buffer_auto_in_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24609.4]
+  wire  buffer_auto_in_d_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24609.4]
+  wire  buffer_auto_out_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24609.4]
+  wire  buffer_auto_out_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24609.4]
+  wire [2:0] buffer_auto_out_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24609.4]
+  wire [2:0] buffer_auto_out_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24609.4]
+  wire [2:0] buffer_auto_out_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24609.4]
+  wire  buffer_auto_out_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24609.4]
+  wire [31:0] buffer_auto_out_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24609.4]
+  wire [3:0] buffer_auto_out_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24609.4]
+  wire [31:0] buffer_auto_out_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24609.4]
+  wire  buffer_auto_out_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24609.4]
+  wire  buffer_auto_out_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24609.4]
+  wire  buffer_auto_out_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24609.4]
+  wire [2:0] buffer_auto_out_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24609.4]
+  wire [1:0] buffer_auto_out_d_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24609.4]
+  wire [2:0] buffer_auto_out_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24609.4]
+  wire  buffer_auto_out_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24609.4]
+  wire  buffer_auto_out_d_bits_sink; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24609.4]
+  wire  buffer_auto_out_d_bits_denied; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24609.4]
+  wire [31:0] buffer_auto_out_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24609.4]
+  wire  buffer_auto_out_d_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24609.4]
+  TLBuffer_5 buffer ( // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24609.4]
+    .clock(buffer_clock),
+    .reset(buffer_reset),
+    .auto_in_a_ready(buffer_auto_in_a_ready),
+    .auto_in_a_valid(buffer_auto_in_a_valid),
+    .auto_in_a_bits_opcode(buffer_auto_in_a_bits_opcode),
+    .auto_in_a_bits_param(buffer_auto_in_a_bits_param),
+    .auto_in_a_bits_size(buffer_auto_in_a_bits_size),
+    .auto_in_a_bits_source(buffer_auto_in_a_bits_source),
+    .auto_in_a_bits_address(buffer_auto_in_a_bits_address),
+    .auto_in_a_bits_mask(buffer_auto_in_a_bits_mask),
+    .auto_in_a_bits_data(buffer_auto_in_a_bits_data),
+    .auto_in_a_bits_corrupt(buffer_auto_in_a_bits_corrupt),
+    .auto_in_d_ready(buffer_auto_in_d_ready),
+    .auto_in_d_valid(buffer_auto_in_d_valid),
+    .auto_in_d_bits_opcode(buffer_auto_in_d_bits_opcode),
+    .auto_in_d_bits_param(buffer_auto_in_d_bits_param),
+    .auto_in_d_bits_size(buffer_auto_in_d_bits_size),
+    .auto_in_d_bits_source(buffer_auto_in_d_bits_source),
+    .auto_in_d_bits_sink(buffer_auto_in_d_bits_sink),
+    .auto_in_d_bits_denied(buffer_auto_in_d_bits_denied),
+    .auto_in_d_bits_data(buffer_auto_in_d_bits_data),
+    .auto_in_d_bits_corrupt(buffer_auto_in_d_bits_corrupt),
+    .auto_out_a_ready(buffer_auto_out_a_ready),
+    .auto_out_a_valid(buffer_auto_out_a_valid),
+    .auto_out_a_bits_opcode(buffer_auto_out_a_bits_opcode),
+    .auto_out_a_bits_param(buffer_auto_out_a_bits_param),
+    .auto_out_a_bits_size(buffer_auto_out_a_bits_size),
+    .auto_out_a_bits_source(buffer_auto_out_a_bits_source),
+    .auto_out_a_bits_address(buffer_auto_out_a_bits_address),
+    .auto_out_a_bits_mask(buffer_auto_out_a_bits_mask),
+    .auto_out_a_bits_data(buffer_auto_out_a_bits_data),
+    .auto_out_a_bits_corrupt(buffer_auto_out_a_bits_corrupt),
+    .auto_out_d_ready(buffer_auto_out_d_ready),
+    .auto_out_d_valid(buffer_auto_out_d_valid),
+    .auto_out_d_bits_opcode(buffer_auto_out_d_bits_opcode),
+    .auto_out_d_bits_param(buffer_auto_out_d_bits_param),
+    .auto_out_d_bits_size(buffer_auto_out_d_bits_size),
+    .auto_out_d_bits_source(buffer_auto_out_d_bits_source),
+    .auto_out_d_bits_sink(buffer_auto_out_d_bits_sink),
+    .auto_out_d_bits_denied(buffer_auto_out_d_bits_denied),
+    .auto_out_d_bits_data(buffer_auto_out_d_bits_data),
+    .auto_out_d_bits_corrupt(buffer_auto_out_d_bits_corrupt)
+  );
+  assign auto_buffer_in_a_ready = buffer_auto_in_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@24622.4]
+  assign auto_buffer_in_d_valid = buffer_auto_in_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@24622.4]
+  assign auto_buffer_in_d_bits_opcode = buffer_auto_in_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@24622.4]
+  assign auto_buffer_in_d_bits_param = buffer_auto_in_d_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@24622.4]
+  assign auto_buffer_in_d_bits_size = buffer_auto_in_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@24622.4]
+  assign auto_buffer_in_d_bits_source = buffer_auto_in_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@24622.4]
+  assign auto_buffer_in_d_bits_sink = buffer_auto_in_d_bits_sink; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@24622.4]
+  assign auto_buffer_in_d_bits_denied = buffer_auto_in_d_bits_denied; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@24622.4]
+  assign auto_buffer_in_d_bits_data = buffer_auto_in_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@24622.4]
+  assign auto_buffer_in_d_bits_corrupt = buffer_auto_in_d_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@24622.4]
+  assign auto_tl_slave_xing_out_a_valid = buffer_auto_out_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@24621.4]
+  assign auto_tl_slave_xing_out_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@24621.4]
+  assign auto_tl_slave_xing_out_a_bits_param = buffer_auto_out_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@24621.4]
+  assign auto_tl_slave_xing_out_a_bits_size = buffer_auto_out_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@24621.4]
+  assign auto_tl_slave_xing_out_a_bits_source = buffer_auto_out_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@24621.4]
+  assign auto_tl_slave_xing_out_a_bits_address = buffer_auto_out_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@24621.4]
+  assign auto_tl_slave_xing_out_a_bits_mask = buffer_auto_out_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@24621.4]
+  assign auto_tl_slave_xing_out_a_bits_data = buffer_auto_out_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@24621.4]
+  assign auto_tl_slave_xing_out_a_bits_corrupt = buffer_auto_out_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@24621.4]
+  assign auto_tl_slave_xing_out_d_ready = buffer_auto_out_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@24621.4]
+  assign buffer_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24613.4]
+  assign buffer_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24614.4]
+  assign buffer_auto_in_a_valid = auto_buffer_in_a_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@24622.4]
+  assign buffer_auto_in_a_bits_opcode = auto_buffer_in_a_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@24622.4]
+  assign buffer_auto_in_a_bits_param = auto_buffer_in_a_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@24622.4]
+  assign buffer_auto_in_a_bits_size = auto_buffer_in_a_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@24622.4]
+  assign buffer_auto_in_a_bits_source = auto_buffer_in_a_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@24622.4]
+  assign buffer_auto_in_a_bits_address = auto_buffer_in_a_bits_address; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@24622.4]
+  assign buffer_auto_in_a_bits_mask = auto_buffer_in_a_bits_mask; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@24622.4]
+  assign buffer_auto_in_a_bits_data = auto_buffer_in_a_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@24622.4]
+  assign buffer_auto_in_a_bits_corrupt = auto_buffer_in_a_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@24622.4]
+  assign buffer_auto_in_d_ready = auto_buffer_in_d_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@24622.4]
+  assign buffer_auto_out_a_ready = auto_tl_slave_xing_out_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@24620.4]
+  assign buffer_auto_out_d_valid = auto_tl_slave_xing_out_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@24620.4]
+  assign buffer_auto_out_d_bits_opcode = auto_tl_slave_xing_out_d_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@24620.4]
+  assign buffer_auto_out_d_bits_param = auto_tl_slave_xing_out_d_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@24620.4]
+  assign buffer_auto_out_d_bits_size = auto_tl_slave_xing_out_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@24620.4]
+  assign buffer_auto_out_d_bits_source = auto_tl_slave_xing_out_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@24620.4]
+  assign buffer_auto_out_d_bits_sink = auto_tl_slave_xing_out_d_bits_sink; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@24620.4]
+  assign buffer_auto_out_d_bits_denied = auto_tl_slave_xing_out_d_bits_denied; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@24620.4]
+  assign buffer_auto_out_d_bits_data = auto_tl_slave_xing_out_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@24620.4]
+  assign buffer_auto_out_d_bits_corrupt = auto_tl_slave_xing_out_d_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@24620.4]
+endmodule
+module TLMonitor_14( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24631.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24632.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24633.4]
+  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24634.4]
+  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24634.4]
+  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24634.4]
+  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24634.4]
+  input  [2:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24634.4]
+  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24634.4]
+  input  [16:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24634.4]
+  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24634.4]
+  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24634.4]
+  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24634.4]
+  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24634.4]
+  input  [2:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24634.4]
+  input         io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24634.4]
+);
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@25749.4]
+  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@24650.6]
+  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@24655.6]
+  wire [12:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@24657.6]
+  wire [5:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@24658.6]
+  wire [5:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@24659.6]
+  wire [16:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@24660.6]
+  wire [16:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@24660.6]
+  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@24661.6]
+  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@24663.6]
+  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@24664.6]
+  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@24666.6]
+  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@24667.6]
+  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@24668.6]
+  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@24669.6]
+  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@24670.6]
+  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@24672.6]
+  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@24673.6]
+  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@24675.6]
+  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@24676.6]
+  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@24677.6]
+  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@24678.6]
+  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@24679.6]
+  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@24680.6]
+  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@24681.6]
+  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@24682.6]
+  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@24683.6]
+  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@24684.6]
+  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@24685.6]
+  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@24686.6]
+  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@24687.6]
+  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@24688.6]
+  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@24689.6]
+  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@24690.6]
+  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@24691.6]
+  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@24692.6]
+  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@24693.6]
+  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@24694.6]
+  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24719.6]
+  wire [16:0] _T_92; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@24722.8]
+  wire [17:0] _T_93; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@24723.8]
+  wire [17:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@24724.8]
+  wire [17:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@24725.8]
+  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@24726.8]
+  wire  _T_101; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24731.8]
+  wire  _T_106; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24744.8]
+  wire  _T_107; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24745.8]
+  wire  _T_110; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24752.8]
+  wire  _T_111; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24753.8]
+  wire  _T_113; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24759.8]
+  wire  _T_114; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24760.8]
+  wire  _T_115; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@24765.8]
+  wire  _T_117; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24767.8]
+  wire  _T_118; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24768.8]
+  wire [3:0] _T_119; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@24773.8]
+  wire  _T_120; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24774.8]
+  wire  _T_122; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24776.8]
+  wire  _T_123; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24777.8]
+  wire  _T_124; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@24782.8]
+  wire  _T_126; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24784.8]
+  wire  _T_127; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24785.8]
+  wire  _T_128; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24791.6]
+  wire  _T_157; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24845.8]
+  wire  _T_159; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24847.8]
+  wire  _T_160; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24848.8]
+  wire  _T_170; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24871.6]
+  wire  _T_172; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@24874.8]
+  wire  _T_180; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@24882.8]
+  wire  _T_183; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24885.8]
+  wire  _T_184; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24886.8]
+  wire  _T_191; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24905.8]
+  wire  _T_193; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24907.8]
+  wire  _T_194; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24908.8]
+  wire  _T_195; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@24913.8]
+  wire  _T_197; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24915.8]
+  wire  _T_198; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24916.8]
+  wire  _T_203; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24930.6]
+  wire  _T_229; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24978.6]
+  wire [3:0] _T_251; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@25017.8]
+  wire [3:0] _T_252; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25018.8]
+  wire  _T_253; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@25019.8]
+  wire  _T_255; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25021.8]
+  wire  _T_256; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25022.8]
+  wire  _T_257; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@25028.6]
+  wire  _T_275; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@25059.8]
+  wire  _T_277; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25061.8]
+  wire  _T_278; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25062.8]
+  wire  _T_283; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@25076.6]
+  wire  _T_301; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@25107.8]
+  wire  _T_303; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25109.8]
+  wire  _T_304; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25110.8]
+  wire  _T_309; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@25124.6]
+  wire  _T_340; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@25183.6]
+  wire  _T_349; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@25188.6]
+  wire  _T_353; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25193.8]
+  wire  _T_354; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25194.8]
+  wire  _T_492; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@25480.4]
+  reg [3:0] _T_502; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@25489.4]
+  reg [31:0] _RAND_0;
+  wire [4:0] _T_503; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25490.4]
+  wire [4:0] _T_504; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25491.4]
+  wire [3:0] _T_505; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25492.4]
+  wire  _T_506; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@25493.4]
+  reg [2:0] _T_515; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@25504.4]
+  reg [31:0] _RAND_1;
+  reg [2:0] _T_517; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@25505.4]
+  reg [31:0] _RAND_2;
+  reg [2:0] _T_519; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@25506.4]
+  reg [31:0] _RAND_3;
+  reg  _T_521; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@25507.4]
+  reg [31:0] _RAND_4;
+  reg [16:0] _T_523; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@25508.4]
+  reg [31:0] _RAND_5;
+  wire  _T_524; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@25509.4]
+  wire  _T_525; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@25510.4]
+  wire  _T_526; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@25512.6]
+  wire  _T_528; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25514.6]
+  wire  _T_529; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25515.6]
+  wire  _T_530; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@25520.6]
+  wire  _T_532; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25522.6]
+  wire  _T_533; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25523.6]
+  wire  _T_534; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@25528.6]
+  wire  _T_536; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25530.6]
+  wire  _T_537; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25531.6]
+  wire  _T_538; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@25536.6]
+  wire  _T_540; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25538.6]
+  wire  _T_541; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25539.6]
+  wire  _T_542; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@25544.6]
+  wire  _T_544; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25546.6]
+  wire  _T_545; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25547.6]
+  wire  _T_547; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@25554.4]
+  wire  _T_548; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@25562.4]
+  wire [12:0] _T_550; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@25564.4]
+  wire [5:0] _T_551; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@25565.4]
+  wire [5:0] _T_552; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@25566.4]
+  wire [3:0] _T_553; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@25567.4]
+  reg [3:0] _T_557; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@25570.4]
+  reg [31:0] _RAND_6;
+  wire [4:0] _T_558; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25571.4]
+  wire [4:0] _T_559; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25572.4]
+  wire [3:0] _T_560; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25573.4]
+  wire  _T_561; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@25574.4]
+  reg [2:0] _T_574; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@25587.4]
+  reg [31:0] _RAND_7;
+  reg  _T_576; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@25588.4]
+  reg [31:0] _RAND_8;
+  wire  _T_581; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@25591.4]
+  wire  _T_582; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@25592.4]
+  wire  _T_591; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@25610.6]
+  wire  _T_593; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25612.6]
+  wire  _T_594; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25613.6]
+  wire  _T_595; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@25618.6]
+  wire  _T_597; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25620.6]
+  wire  _T_598; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25621.6]
+  wire  _T_608; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@25644.4]
+  reg [1:0] _T_610; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@25653.4]
+  reg [31:0] _RAND_9;
+  reg [3:0] _T_621; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@25663.4]
+  reg [31:0] _RAND_10;
+  wire [4:0] _T_622; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25664.4]
+  wire [4:0] _T_623; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25665.4]
+  wire [3:0] _T_624; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25666.4]
+  wire  _T_625; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@25667.4]
+  reg [3:0] _T_642; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@25686.4]
+  reg [31:0] _RAND_11;
+  wire [4:0] _T_643; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25687.4]
+  wire [4:0] _T_644; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25688.4]
+  wire [3:0] _T_645; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25689.4]
+  wire  _T_646; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@25690.4]
+  wire  _T_657; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@25705.4]
+  wire [1:0] _T_659; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@25708.6]
+  wire [1:0] _T_660; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@25710.6]
+  wire  _T_661; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@25711.6]
+  wire  _T_662; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25712.6]
+  wire  _T_664; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@25714.6]
+  wire  _T_665; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@25715.6]
+  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@25707.4]
+  wire  _T_670; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@25726.4]
+  wire [1:0] _T_674; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@25731.6]
+  wire [1:0] _T_675; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@25733.6]
+  wire [1:0] _T_676; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@25734.6]
+  wire  _T_677; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@25735.6]
+  wire  _T_679; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@25737.6]
+  wire  _T_680; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@25738.6]
+  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@25730.4]
+  wire [1:0] _T_681; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@25744.4]
+  wire [1:0] _T_682; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@25745.4]
+  wire [1:0] _T_683; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@25746.4]
+  reg [31:0] _T_685; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@25748.4]
+  reg [31:0] _RAND_12;
+  wire  _T_686; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@25751.4]
+  wire  _T_687; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@25752.4]
+  wire  _T_688; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@25753.4]
+  wire  _T_689; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@25754.4]
+  wire  _T_690; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@25755.4]
+  wire  _T_691; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@25756.4]
+  wire  _T_693; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@25758.4]
+  wire  _T_694; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@25759.4]
+  wire [31:0] _T_696; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@25765.4]
+  wire  _T_699; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@25769.4]
+  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24733.10]
+  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24805.10]
+  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24888.10]
+  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24944.10]
+  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24992.10]
+  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25042.10]
+  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25090.10]
+  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25138.10]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@25749.4]
+    .out(plusarg_reader_out)
+  );
+  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@24650.6]
+  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@24655.6]
+  assign _T_32 = 13'h3f << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@24657.6]
+  assign _T_33 = _T_32[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@24658.6]
+  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@24659.6]
+  assign _GEN_18 = {{11'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@24660.6]
+  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@24660.6]
+  assign _T_36 = _T_35 == 17'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@24661.6]
+  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@24663.6]
+  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@24664.6]
+  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@24666.6]
+  assign _T_42 = io_in_a_bits_size >= 3'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@24667.6]
+  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@24668.6]
+  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@24669.6]
+  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@24670.6]
+  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@24672.6]
+  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@24673.6]
+  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@24675.6]
+  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@24676.6]
+  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@24677.6]
+  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@24678.6]
+  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@24679.6]
+  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@24680.6]
+  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@24681.6]
+  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@24682.6]
+  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@24683.6]
+  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@24684.6]
+  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@24685.6]
+  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@24686.6]
+  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@24687.6]
+  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@24688.6]
+  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@24689.6]
+  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@24690.6]
+  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@24691.6]
+  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@24692.6]
+  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@24693.6]
+  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@24694.6]
+  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24719.6]
+  assign _T_92 = io_in_a_bits_address ^ 17'h10000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@24722.8]
+  assign _T_93 = {1'b0,$signed(_T_92)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@24723.8]
+  assign _T_94 = $signed(_T_93) & $signed(-18'sh2000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@24724.8]
+  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@24725.8]
+  assign _T_96 = $signed(_T_95) == $signed(18'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@24726.8]
+  assign _T_101 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24731.8]
+  assign _T_106 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24744.8]
+  assign _T_107 = _T_106 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24745.8]
+  assign _T_110 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24752.8]
+  assign _T_111 = _T_110 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24753.8]
+  assign _T_113 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24759.8]
+  assign _T_114 = _T_113 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24760.8]
+  assign _T_115 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@24765.8]
+  assign _T_117 = _T_115 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24767.8]
+  assign _T_118 = _T_117 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24768.8]
+  assign _T_119 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@24773.8]
+  assign _T_120 = _T_119 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24774.8]
+  assign _T_122 = _T_120 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24776.8]
+  assign _T_123 = _T_122 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24777.8]
+  assign _T_124 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@24782.8]
+  assign _T_126 = _T_124 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24784.8]
+  assign _T_127 = _T_126 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24785.8]
+  assign _T_128 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24791.6]
+  assign _T_157 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24845.8]
+  assign _T_159 = _T_157 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24847.8]
+  assign _T_160 = _T_159 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24848.8]
+  assign _T_170 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24871.6]
+  assign _T_172 = io_in_a_bits_size <= 3'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@24874.8]
+  assign _T_180 = _T_172 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@24882.8]
+  assign _T_183 = _T_180 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24885.8]
+  assign _T_184 = _T_183 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24886.8]
+  assign _T_191 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24905.8]
+  assign _T_193 = _T_191 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24907.8]
+  assign _T_194 = _T_193 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24908.8]
+  assign _T_195 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@24913.8]
+  assign _T_197 = _T_195 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24915.8]
+  assign _T_198 = _T_197 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24916.8]
+  assign _T_203 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24930.6]
+  assign _T_229 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24978.6]
+  assign _T_251 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@25017.8]
+  assign _T_252 = io_in_a_bits_mask & _T_251; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25018.8]
+  assign _T_253 = _T_252 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@25019.8]
+  assign _T_255 = _T_253 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25021.8]
+  assign _T_256 = _T_255 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25022.8]
+  assign _T_257 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@25028.6]
+  assign _T_275 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@25059.8]
+  assign _T_277 = _T_275 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25061.8]
+  assign _T_278 = _T_277 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25062.8]
+  assign _T_283 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@25076.6]
+  assign _T_301 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@25107.8]
+  assign _T_303 = _T_301 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25109.8]
+  assign _T_304 = _T_303 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25110.8]
+  assign _T_309 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@25124.6]
+  assign _T_340 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@25183.6]
+  assign _T_349 = io_in_d_bits_source | _T_340; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@25188.6]
+  assign _T_353 = _T_349 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25193.8]
+  assign _T_354 = _T_353 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25194.8]
+  assign _T_492 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@25480.4]
+  assign _T_503 = _T_502 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25490.4]
+  assign _T_504 = $unsigned(_T_503); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25491.4]
+  assign _T_505 = _T_504[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25492.4]
+  assign _T_506 = _T_502 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@25493.4]
+  assign _T_524 = _T_506 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@25509.4]
+  assign _T_525 = io_in_a_valid & _T_524; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@25510.4]
+  assign _T_526 = io_in_a_bits_opcode == _T_515; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@25512.6]
+  assign _T_528 = _T_526 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25514.6]
+  assign _T_529 = _T_528 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25515.6]
+  assign _T_530 = io_in_a_bits_param == _T_517; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@25520.6]
+  assign _T_532 = _T_530 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25522.6]
+  assign _T_533 = _T_532 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25523.6]
+  assign _T_534 = io_in_a_bits_size == _T_519; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@25528.6]
+  assign _T_536 = _T_534 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25530.6]
+  assign _T_537 = _T_536 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25531.6]
+  assign _T_538 = io_in_a_bits_source == _T_521; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@25536.6]
+  assign _T_540 = _T_538 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25538.6]
+  assign _T_541 = _T_540 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25539.6]
+  assign _T_542 = io_in_a_bits_address == _T_523; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@25544.6]
+  assign _T_544 = _T_542 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25546.6]
+  assign _T_545 = _T_544 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25547.6]
+  assign _T_547 = _T_492 & _T_506; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@25554.4]
+  assign _T_548 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@25562.4]
+  assign _T_550 = 13'h3f << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@25564.4]
+  assign _T_551 = _T_550[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@25565.4]
+  assign _T_552 = ~ _T_551; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@25566.4]
+  assign _T_553 = _T_552[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@25567.4]
+  assign _T_558 = _T_557 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25571.4]
+  assign _T_559 = $unsigned(_T_558); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25572.4]
+  assign _T_560 = _T_559[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25573.4]
+  assign _T_561 = _T_557 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@25574.4]
+  assign _T_581 = _T_561 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@25591.4]
+  assign _T_582 = io_in_d_valid & _T_581; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@25592.4]
+  assign _T_591 = io_in_d_bits_size == _T_574; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@25610.6]
+  assign _T_593 = _T_591 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25612.6]
+  assign _T_594 = _T_593 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25613.6]
+  assign _T_595 = io_in_d_bits_source == _T_576; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@25618.6]
+  assign _T_597 = _T_595 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25620.6]
+  assign _T_598 = _T_597 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25621.6]
+  assign _T_608 = _T_548 & _T_561; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@25644.4]
+  assign _T_622 = _T_621 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25664.4]
+  assign _T_623 = $unsigned(_T_622); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25665.4]
+  assign _T_624 = _T_623[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25666.4]
+  assign _T_625 = _T_621 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@25667.4]
+  assign _T_643 = _T_642 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25687.4]
+  assign _T_644 = $unsigned(_T_643); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25688.4]
+  assign _T_645 = _T_644[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25689.4]
+  assign _T_646 = _T_642 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@25690.4]
+  assign _T_657 = _T_492 & _T_625; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@25705.4]
+  assign _T_659 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@25708.6]
+  assign _T_660 = _T_610 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@25710.6]
+  assign _T_661 = _T_660[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@25711.6]
+  assign _T_662 = _T_661 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25712.6]
+  assign _T_664 = _T_662 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@25714.6]
+  assign _T_665 = _T_664 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@25715.6]
+  assign _GEN_15 = _T_657 ? _T_659 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@25707.4]
+  assign _T_670 = _T_548 & _T_646; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@25726.4]
+  assign _T_674 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@25731.6]
+  assign _T_675 = _GEN_15 | _T_610; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@25733.6]
+  assign _T_676 = _T_675 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@25734.6]
+  assign _T_677 = _T_676[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@25735.6]
+  assign _T_679 = _T_677 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@25737.6]
+  assign _T_680 = _T_679 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@25738.6]
+  assign _GEN_16 = _T_670 ? _T_674 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@25730.4]
+  assign _T_681 = _T_610 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@25744.4]
+  assign _T_682 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@25745.4]
+  assign _T_683 = _T_681 & _T_682; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@25746.4]
+  assign _T_686 = _T_610 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@25751.4]
+  assign _T_687 = _T_686 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@25752.4]
+  assign _T_688 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@25753.4]
+  assign _T_689 = _T_687 | _T_688; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@25754.4]
+  assign _T_690 = _T_685 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@25755.4]
+  assign _T_691 = _T_689 | _T_690; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@25756.4]
+  assign _T_693 = _T_691 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@25758.4]
+  assign _T_694 = _T_693 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@25759.4]
+  assign _T_696 = _T_685 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@25765.4]
+  assign _T_699 = _T_492 | _T_548; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@25769.4]
+  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24733.10]
+  assign _GEN_35 = io_in_a_valid & _T_128; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24805.10]
+  assign _GEN_53 = io_in_a_valid & _T_170; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24888.10]
+  assign _GEN_65 = io_in_a_valid & _T_203; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24944.10]
+  assign _GEN_75 = io_in_a_valid & _T_229; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24992.10]
+  assign _GEN_85 = io_in_a_valid & _T_257; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25042.10]
+  assign _GEN_95 = io_in_a_valid & _T_283; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25090.10]
+  assign _GEN_105 = io_in_a_valid & _T_309; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25138.10]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  _T_502 = _RAND_0[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  _T_515 = _RAND_1[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  _T_517 = _RAND_2[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  _T_519 = _RAND_3[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  _T_521 = _RAND_4[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  _T_523 = _RAND_5[16:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {1{`RANDOM}};
+  _T_557 = _RAND_6[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {1{`RANDOM}};
+  _T_574 = _RAND_7[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_8 = {1{`RANDOM}};
+  _T_576 = _RAND_8[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_9 = {1{`RANDOM}};
+  _T_610 = _RAND_9[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_10 = {1{`RANDOM}};
+  _T_621 = _RAND_10[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_11 = {1{`RANDOM}};
+  _T_642 = _RAND_11[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_12 = {1{`RANDOM}};
+  _T_685 = _RAND_12[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      _T_502 <= 4'h0;
+    end else begin
+      if (_T_492) begin
+        if (_T_506) begin
+          _T_502 <= 4'h0;
+        end else begin
+          _T_502 <= _T_505;
+        end
+      end
+    end
+    if (_T_547) begin
+      _T_515 <= io_in_a_bits_opcode;
+    end
+    if (_T_547) begin
+      _T_517 <= io_in_a_bits_param;
+    end
+    if (_T_547) begin
+      _T_519 <= io_in_a_bits_size;
+    end
+    if (_T_547) begin
+      _T_521 <= io_in_a_bits_source;
+    end
+    if (_T_547) begin
+      _T_523 <= io_in_a_bits_address;
+    end
+    if (reset) begin
+      _T_557 <= 4'h0;
+    end else begin
+      if (_T_548) begin
+        if (_T_561) begin
+          _T_557 <= _T_553;
+        end else begin
+          _T_557 <= _T_560;
+        end
+      end
+    end
+    if (_T_608) begin
+      _T_574 <= io_in_d_bits_size;
+    end
+    if (_T_608) begin
+      _T_576 <= io_in_d_bits_source;
+    end
+    if (reset) begin
+      _T_610 <= 2'h0;
+    end else begin
+      _T_610 <= _T_683;
+    end
+    if (reset) begin
+      _T_621 <= 4'h0;
+    end else begin
+      if (_T_492) begin
+        if (_T_625) begin
+          _T_621 <= 4'h0;
+        end else begin
+          _T_621 <= _T_624;
+        end
+      end
+    end
+    if (reset) begin
+      _T_642 <= 4'h0;
+    end else begin
+      if (_T_548) begin
+        if (_T_646) begin
+          _T_642 <= _T_553;
+        end else begin
+          _T_642 <= _T_645;
+        end
+      end
+    end
+    if (reset) begin
+      _T_685 <= 32'h0;
+    end else begin
+      if (_T_699) begin
+        _T_685 <= 32'h0;
+      end else begin
+        _T_685 <= _T_696;
+      end
+    end
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@24646.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@24647.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@24716.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@24717.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24733.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_101) begin
+          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24734.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24740.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_101) begin
+          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24741.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24747.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_107) begin
+          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24748.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_111) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24755.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_111) begin
+          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24756.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24762.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_114) begin
+          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24763.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_118) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24770.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_118) begin
+          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24771.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_123) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24779.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_123) begin
+          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24780.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_127) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24787.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_127) begin
+          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24788.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24805.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_101) begin
+          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24806.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24812.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_101) begin
+          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24813.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24819.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_107) begin
+          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24820.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_111) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24827.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_111) begin
+          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24828.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24834.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_114) begin
+          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24835.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_118) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24842.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_118) begin
+          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24843.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_160) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24850.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_160) begin
+          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24851.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_123) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24859.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_123) begin
+          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24860.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_127) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24867.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_127) begin
+          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24868.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_184) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24888.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_184) begin
+          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24889.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24895.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_107) begin
+          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24896.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24902.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_114) begin
+          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24903.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_194) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24910.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_194) begin
+          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24911.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_198) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24918.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_198) begin
+          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24919.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_127) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24926.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_127) begin
+          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24927.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24944.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_101) begin
+          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24945.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24951.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_107) begin
+          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24952.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24958.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_114) begin
+          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24959.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_194) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24966.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_194) begin
+          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24967.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_198) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24974.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_198) begin
+          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24975.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24992.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_101) begin
+          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24993.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24999.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_107) begin
+          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25000.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25006.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_114) begin
+          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25007.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_194) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25014.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_194) begin
+          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25015.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_256) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25024.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_256) begin
+          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25025.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25042.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_101) begin
+          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25043.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25049.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_107) begin
+          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25050.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25056.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_114) begin
+          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25057.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_278) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25064.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_278) begin
+          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25065.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_198) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25072.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_198) begin
+          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25073.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25090.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_101) begin
+          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25091.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25097.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_107) begin
+          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25098.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25104.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_114) begin
+          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25105.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_304) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25112.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_304) begin
+          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25113.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_198) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25120.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_198) begin
+          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25121.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25138.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_101) begin
+          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25139.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25145.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_107) begin
+          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25146.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25152.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_114) begin
+          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25153.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_198) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25160.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_198) begin
+          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25161.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_127) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25168.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_127) begin
+          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25169.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@25179.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@25180.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25196.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25197.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25204.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25205.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25212.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25213.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25220.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25221.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25228.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25229.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25238.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25239.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25245.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25246.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25253.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25254.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25261.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25262.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25269.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25270.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25277.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25278.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25286.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25287.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25296.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25297.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25303.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25304.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25311.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25312.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25319.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25320.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25327.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25328.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25336.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25337.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25345.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25346.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25355.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25356.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25363.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25364.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25371.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25372.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25380.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25381.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_354) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25390.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_354) begin
+          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25391.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25398.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25399.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25407.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25408.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25416.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25417.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25426.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25427.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25434.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25435.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25442.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25443.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25451.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25452.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25461.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25462.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25469.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25470.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25477.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25478.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_525 & _T_529) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25517.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_525 & _T_529) begin
+          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25518.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_525 & _T_533) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25525.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_525 & _T_533) begin
+          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25526.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_525 & _T_537) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25533.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_525 & _T_537) begin
+          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25534.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_525 & _T_541) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25541.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_525 & _T_541) begin
+          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25542.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_525 & _T_545) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25549.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_525 & _T_545) begin
+          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25550.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25599.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25600.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25607.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25608.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_582 & _T_594) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25615.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_582 & _T_594) begin
+          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25616.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_582 & _T_598) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25623.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_582 & _T_598) begin
+          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25624.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25631.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25632.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25639.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25640.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_657 & _T_665) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@25717.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_657 & _T_665) begin
+          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@25718.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_670 & _T_680) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@25740.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_670 & _T_680) begin
+          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@25741.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_694) begin
+          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@25761.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_694) begin
+          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@25762.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+endmodule
+module Repeater_3( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@25774.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@25775.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@25776.4]
+  input         io_repeat, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@25777.4]
+  output        io_full, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@25777.4]
+  output        io_enq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@25777.4]
+  input         io_enq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@25777.4]
+  input  [2:0]  io_enq_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@25777.4]
+  input  [2:0]  io_enq_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@25777.4]
+  input  [2:0]  io_enq_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@25777.4]
+  input         io_enq_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@25777.4]
+  input  [16:0] io_enq_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@25777.4]
+  input  [3:0]  io_enq_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@25777.4]
+  input         io_enq_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@25777.4]
+  input         io_deq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@25777.4]
+  output        io_deq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@25777.4]
+  output [2:0]  io_deq_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@25777.4]
+  output [2:0]  io_deq_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@25777.4]
+  output [2:0]  io_deq_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@25777.4]
+  output        io_deq_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@25777.4]
+  output [16:0] io_deq_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@25777.4]
+  output [3:0]  io_deq_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@25777.4]
+  output        io_deq_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@25777.4]
+);
+  reg  full; // @[Repeater.scala 18:21:shc.marmotcaravel.MarmotCaravelConfig.fir@25782.4]
+  reg [31:0] _RAND_0;
+  reg [2:0] saved_opcode; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@25783.4]
+  reg [31:0] _RAND_1;
+  reg [2:0] saved_param; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@25783.4]
+  reg [31:0] _RAND_2;
+  reg [2:0] saved_size; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@25783.4]
+  reg [31:0] _RAND_3;
+  reg  saved_source; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@25783.4]
+  reg [31:0] _RAND_4;
+  reg [16:0] saved_address; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@25783.4]
+  reg [31:0] _RAND_5;
+  reg [3:0] saved_mask; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@25783.4]
+  reg [31:0] _RAND_6;
+  reg  saved_corrupt; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@25783.4]
+  reg [31:0] _RAND_7;
+  wire  _T_18; // @[Repeater.scala 23:35:shc.marmotcaravel.MarmotCaravelConfig.fir@25786.4]
+  wire  _T_21; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@25792.4]
+  wire  _T_22; // @[Repeater.scala 27:23:shc.marmotcaravel.MarmotCaravelConfig.fir@25793.4]
+  wire  _T_23; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@25798.4]
+  wire  _T_24; // @[Repeater.scala 28:26:shc.marmotcaravel.MarmotCaravelConfig.fir@25799.4]
+  wire  _T_25; // @[Repeater.scala 28:23:shc.marmotcaravel.MarmotCaravelConfig.fir@25800.4]
+  assign _T_18 = full == 1'h0; // @[Repeater.scala 23:35:shc.marmotcaravel.MarmotCaravelConfig.fir@25786.4]
+  assign _T_21 = io_enq_ready & io_enq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@25792.4]
+  assign _T_22 = _T_21 & io_repeat; // @[Repeater.scala 27:23:shc.marmotcaravel.MarmotCaravelConfig.fir@25793.4]
+  assign _T_23 = io_deq_ready & io_deq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@25798.4]
+  assign _T_24 = io_repeat == 1'h0; // @[Repeater.scala 28:26:shc.marmotcaravel.MarmotCaravelConfig.fir@25799.4]
+  assign _T_25 = _T_23 & _T_24; // @[Repeater.scala 28:23:shc.marmotcaravel.MarmotCaravelConfig.fir@25800.4]
+  assign io_full = full; // @[Repeater.scala 25:11:shc.marmotcaravel.MarmotCaravelConfig.fir@25791.4]
+  assign io_enq_ready = io_deq_ready & _T_18; // @[Repeater.scala 23:16:shc.marmotcaravel.MarmotCaravelConfig.fir@25788.4]
+  assign io_deq_valid = io_enq_valid | full; // @[Repeater.scala 22:16:shc.marmotcaravel.MarmotCaravelConfig.fir@25785.4]
+  assign io_deq_bits_opcode = full ? saved_opcode : io_enq_bits_opcode; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@25790.4]
+  assign io_deq_bits_param = full ? saved_param : io_enq_bits_param; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@25790.4]
+  assign io_deq_bits_size = full ? saved_size : io_enq_bits_size; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@25790.4]
+  assign io_deq_bits_source = full ? saved_source : io_enq_bits_source; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@25790.4]
+  assign io_deq_bits_address = full ? saved_address : io_enq_bits_address; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@25790.4]
+  assign io_deq_bits_mask = full ? saved_mask : io_enq_bits_mask; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@25790.4]
+  assign io_deq_bits_corrupt = full ? saved_corrupt : io_enq_bits_corrupt; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@25790.4]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  full = _RAND_0[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  saved_opcode = _RAND_1[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  saved_param = _RAND_2[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  saved_size = _RAND_3[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  saved_source = _RAND_4[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  saved_address = _RAND_5[16:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {1{`RANDOM}};
+  saved_mask = _RAND_6[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {1{`RANDOM}};
+  saved_corrupt = _RAND_7[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      full <= 1'h0;
+    end else begin
+      if (_T_25) begin
+        full <= 1'h0;
+      end else begin
+        if (_T_22) begin
+          full <= 1'h1;
+        end
+      end
+    end
+    if (_T_22) begin
+      saved_opcode <= io_enq_bits_opcode;
+    end
+    if (_T_22) begin
+      saved_param <= io_enq_bits_param;
+    end
+    if (_T_22) begin
+      saved_size <= io_enq_bits_size;
+    end
+    if (_T_22) begin
+      saved_source <= io_enq_bits_source;
+    end
+    if (_T_22) begin
+      saved_address <= io_enq_bits_address;
+    end
+    if (_T_22) begin
+      saved_mask <= io_enq_bits_mask;
+    end
+    if (_T_22) begin
+      saved_corrupt <= io_enq_bits_corrupt;
+    end
+  end
+endmodule
+module TLFragmenter_3( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@25805.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@25806.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@25807.4]
+  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@25808.4]
+  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@25808.4]
+  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@25808.4]
+  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@25808.4]
+  input  [2:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@25808.4]
+  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@25808.4]
+  input  [16:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@25808.4]
+  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@25808.4]
+  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@25808.4]
+  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@25808.4]
+  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@25808.4]
+  output [2:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@25808.4]
+  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@25808.4]
+  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@25808.4]
+  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@25808.4]
+  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@25808.4]
+  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@25808.4]
+  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@25808.4]
+  output [1:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@25808.4]
+  output [5:0]  auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@25808.4]
+  output [16:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@25808.4]
+  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@25808.4]
+  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@25808.4]
+  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@25808.4]
+  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@25808.4]
+  input  [1:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@25808.4]
+  input  [5:0]  auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@25808.4]
+  input  [31:0] auto_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@25808.4]
+);
+  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@25815.4]
+  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@25815.4]
+  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@25815.4]
+  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@25815.4]
+  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@25815.4]
+  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@25815.4]
+  wire [2:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@25815.4]
+  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@25815.4]
+  wire [16:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@25815.4]
+  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@25815.4]
+  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@25815.4]
+  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@25815.4]
+  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@25815.4]
+  wire [2:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@25815.4]
+  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@25815.4]
+  wire  Repeater_clock; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25932.4]
+  wire  Repeater_reset; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25932.4]
+  wire  Repeater_io_repeat; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25932.4]
+  wire  Repeater_io_full; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25932.4]
+  wire  Repeater_io_enq_ready; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25932.4]
+  wire  Repeater_io_enq_valid; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25932.4]
+  wire [2:0] Repeater_io_enq_bits_opcode; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25932.4]
+  wire [2:0] Repeater_io_enq_bits_param; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25932.4]
+  wire [2:0] Repeater_io_enq_bits_size; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25932.4]
+  wire  Repeater_io_enq_bits_source; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25932.4]
+  wire [16:0] Repeater_io_enq_bits_address; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25932.4]
+  wire [3:0] Repeater_io_enq_bits_mask; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25932.4]
+  wire  Repeater_io_enq_bits_corrupt; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25932.4]
+  wire  Repeater_io_deq_ready; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25932.4]
+  wire  Repeater_io_deq_valid; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25932.4]
+  wire [2:0] Repeater_io_deq_bits_opcode; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25932.4]
+  wire [2:0] Repeater_io_deq_bits_param; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25932.4]
+  wire [2:0] Repeater_io_deq_bits_size; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25932.4]
+  wire  Repeater_io_deq_bits_source; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25932.4]
+  wire [16:0] Repeater_io_deq_bits_address; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25932.4]
+  wire [3:0] Repeater_io_deq_bits_mask; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25932.4]
+  wire  Repeater_io_deq_bits_corrupt; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25932.4]
+  reg [3:0] _T_244; // @[Fragmenter.scala 167:27:shc.marmotcaravel.MarmotCaravelConfig.fir@25856.4]
+  reg [31:0] _RAND_0;
+  reg [2:0] _T_246; // @[Fragmenter.scala 168:22:shc.marmotcaravel.MarmotCaravelConfig.fir@25857.4]
+  reg [31:0] _RAND_1;
+  reg  _T_248; // @[Fragmenter.scala 169:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25858.4]
+  reg [31:0] _RAND_2;
+  wire [3:0] _T_249; // @[Fragmenter.scala 170:39:shc.marmotcaravel.MarmotCaravelConfig.fir@25859.4]
+  wire  _T_250; // @[Fragmenter.scala 171:27:shc.marmotcaravel.MarmotCaravelConfig.fir@25860.4]
+  wire [4:0] _T_256; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@25866.4]
+  wire [1:0] _T_257; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@25867.4]
+  wire [1:0] _T_258; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@25868.4]
+  wire [5:0] _GEN_7; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@25887.4]
+  wire [5:0] _T_273; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@25887.4]
+  wire [5:0] _GEN_8; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@25888.4]
+  wire [5:0] _T_274; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@25888.4]
+  wire [6:0] _GEN_9; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@25889.4]
+  wire [6:0] _T_275; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@25889.4]
+  wire [6:0] _T_276; // @[package.scala 183:40:shc.marmotcaravel.MarmotCaravelConfig.fir@25890.4]
+  wire [6:0] _T_277; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@25891.4]
+  wire [6:0] _T_278; // @[package.scala 183:53:shc.marmotcaravel.MarmotCaravelConfig.fir@25892.4]
+  wire [6:0] _T_279; // @[package.scala 183:51:shc.marmotcaravel.MarmotCaravelConfig.fir@25893.4]
+  wire [2:0] _T_280; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@25894.4]
+  wire [3:0] _T_281; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@25895.4]
+  wire  _T_282; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25896.4]
+  wire [3:0] _GEN_10; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25897.4]
+  wire [3:0] _T_283; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25897.4]
+  wire [1:0] _T_284; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@25898.4]
+  wire [1:0] _T_285; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@25899.4]
+  wire  _T_286; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25900.4]
+  wire [1:0] _T_287; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25901.4]
+  wire  _T_288; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@25902.4]
+  wire [1:0] _T_289; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@25903.4]
+  wire [2:0] _T_290; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@25904.4]
+  wire  _T_291; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@25905.4]
+  wire [4:0] _T_292; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@25907.6]
+  wire [4:0] _T_293; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@25908.6]
+  wire [3:0] _T_294; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@25909.6]
+  wire  _T_296; // @[Fragmenter.scala 190:39:shc.marmotcaravel.MarmotCaravelConfig.fir@25914.8]
+  wire  _T_330; // @[Fragmenter.scala 262:29:shc.marmotcaravel.MarmotCaravelConfig.fir@25957.4]
+  wire [2:0] _T_331; // @[Fragmenter.scala 262:22:shc.marmotcaravel.MarmotCaravelConfig.fir@25958.4]
+  wire [12:0] _T_333; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@25960.4]
+  wire [5:0] _T_334; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@25961.4]
+  wire [5:0] _T_335; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@25962.4]
+  wire [8:0] _T_337; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@25964.4]
+  wire [1:0] _T_338; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@25965.4]
+  wire [1:0] _T_339; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@25966.4]
+  reg [3:0] _T_344; // @[Fragmenter.scala 268:27:shc.marmotcaravel.MarmotCaravelConfig.fir@25970.4]
+  reg [31:0] _RAND_3;
+  wire  _T_345; // @[Fragmenter.scala 269:27:shc.marmotcaravel.MarmotCaravelConfig.fir@25971.4]
+  wire [3:0] _T_346; // @[Fragmenter.scala 270:46:shc.marmotcaravel.MarmotCaravelConfig.fir@25972.4]
+  wire [4:0] _T_347; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@25973.4]
+  wire [4:0] _T_348; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@25974.4]
+  wire [3:0] _T_349; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@25975.4]
+  wire [3:0] _T_350; // @[Fragmenter.scala 270:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25976.4]
+  wire [3:0] _T_351; // @[Fragmenter.scala 271:26:shc.marmotcaravel.MarmotCaravelConfig.fir@25977.4]
+  wire [3:0] _T_354; // @[Fragmenter.scala 271:24:shc.marmotcaravel.MarmotCaravelConfig.fir@25980.4]
+  reg  _T_362; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@25987.4]
+  reg [31:0] _RAND_4;
+  wire  _GEN_5; // @[Reg.scala 12:19:shc.marmotcaravel.MarmotCaravelConfig.fir@25988.4]
+  wire  _T_364; // @[Fragmenter.scala 274:21:shc.marmotcaravel.MarmotCaravelConfig.fir@25992.4]
+  wire  _T_92_a_valid; // @[Nodes.scala 332:76:shc.marmotcaravel.MarmotCaravelConfig.fir@25852.4 Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@26001.4]
+  wire  _T_365; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@25993.4]
+  wire [5:0] _GEN_11; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@26002.4]
+  wire [5:0] _T_369; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@26002.4]
+  wire [5:0] _T_370; // @[Fragmenter.scala 281:88:shc.marmotcaravel.MarmotCaravelConfig.fir@26003.4]
+  wire [5:0] _T_371; // @[Fragmenter.scala 281:86:shc.marmotcaravel.MarmotCaravelConfig.fir@26004.4]
+  wire [5:0] _GEN_12; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@26005.4]
+  wire [5:0] _T_372; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@26005.4]
+  wire [5:0] _T_373; // @[Fragmenter.scala 281:109:shc.marmotcaravel.MarmotCaravelConfig.fir@26006.4]
+  wire [5:0] _T_374; // @[Fragmenter.scala 281:49:shc.marmotcaravel.MarmotCaravelConfig.fir@26007.4]
+  wire [16:0] _GEN_13; // @[Fragmenter.scala 281:47:shc.marmotcaravel.MarmotCaravelConfig.fir@26008.4]
+  wire [1:0] _T_376; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@26010.4]
+  wire  _T_378; // @[Fragmenter.scala 286:15:shc.marmotcaravel.MarmotCaravelConfig.fir@26014.4]
+  wire  _T_385; // @[Fragmenter.scala 289:51:shc.marmotcaravel.MarmotCaravelConfig.fir@26026.4]
+  wire  _T_386; // @[Fragmenter.scala 289:33:shc.marmotcaravel.MarmotCaravelConfig.fir@26027.4]
+  wire  _T_388; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26029.4]
+  wire  _T_389; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26030.4]
+  TLMonitor_14 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@25815.4]
+    .clock(TLMonitor_clock),
+    .reset(TLMonitor_reset),
+    .io_in_a_ready(TLMonitor_io_in_a_ready),
+    .io_in_a_valid(TLMonitor_io_in_a_valid),
+    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
+    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
+    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
+    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
+    .io_in_d_ready(TLMonitor_io_in_d_ready),
+    .io_in_d_valid(TLMonitor_io_in_d_valid),
+    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
+    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source)
+  );
+  Repeater_3 Repeater ( // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25932.4]
+    .clock(Repeater_clock),
+    .reset(Repeater_reset),
+    .io_repeat(Repeater_io_repeat),
+    .io_full(Repeater_io_full),
+    .io_enq_ready(Repeater_io_enq_ready),
+    .io_enq_valid(Repeater_io_enq_valid),
+    .io_enq_bits_opcode(Repeater_io_enq_bits_opcode),
+    .io_enq_bits_param(Repeater_io_enq_bits_param),
+    .io_enq_bits_size(Repeater_io_enq_bits_size),
+    .io_enq_bits_source(Repeater_io_enq_bits_source),
+    .io_enq_bits_address(Repeater_io_enq_bits_address),
+    .io_enq_bits_mask(Repeater_io_enq_bits_mask),
+    .io_enq_bits_corrupt(Repeater_io_enq_bits_corrupt),
+    .io_deq_ready(Repeater_io_deq_ready),
+    .io_deq_valid(Repeater_io_deq_valid),
+    .io_deq_bits_opcode(Repeater_io_deq_bits_opcode),
+    .io_deq_bits_param(Repeater_io_deq_bits_param),
+    .io_deq_bits_size(Repeater_io_deq_bits_size),
+    .io_deq_bits_source(Repeater_io_deq_bits_source),
+    .io_deq_bits_address(Repeater_io_deq_bits_address),
+    .io_deq_bits_mask(Repeater_io_deq_bits_mask),
+    .io_deq_bits_corrupt(Repeater_io_deq_bits_corrupt)
+  );
+  assign _T_249 = auto_out_d_bits_source[3:0]; // @[Fragmenter.scala 170:39:shc.marmotcaravel.MarmotCaravelConfig.fir@25859.4]
+  assign _T_250 = _T_244 == 4'h0; // @[Fragmenter.scala 171:27:shc.marmotcaravel.MarmotCaravelConfig.fir@25860.4]
+  assign _T_256 = 5'h3 << auto_out_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@25866.4]
+  assign _T_257 = _T_256[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@25867.4]
+  assign _T_258 = ~ _T_257; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@25868.4]
+  assign _GEN_7 = {{2'd0}, _T_249}; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@25887.4]
+  assign _T_273 = _GEN_7 << 2; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@25887.4]
+  assign _GEN_8 = {{4'd0}, _T_258}; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@25888.4]
+  assign _T_274 = _T_273 | _GEN_8; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@25888.4]
+  assign _GEN_9 = {{1'd0}, _T_274}; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@25889.4]
+  assign _T_275 = _GEN_9 << 1; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@25889.4]
+  assign _T_276 = _T_275 | 7'h1; // @[package.scala 183:40:shc.marmotcaravel.MarmotCaravelConfig.fir@25890.4]
+  assign _T_277 = {1'h0,_T_274}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@25891.4]
+  assign _T_278 = ~ _T_277; // @[package.scala 183:53:shc.marmotcaravel.MarmotCaravelConfig.fir@25892.4]
+  assign _T_279 = _T_276 & _T_278; // @[package.scala 183:51:shc.marmotcaravel.MarmotCaravelConfig.fir@25893.4]
+  assign _T_280 = _T_279[6:4]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@25894.4]
+  assign _T_281 = _T_279[3:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@25895.4]
+  assign _T_282 = _T_280 != 3'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25896.4]
+  assign _GEN_10 = {{1'd0}, _T_280}; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25897.4]
+  assign _T_283 = _GEN_10 | _T_281; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25897.4]
+  assign _T_284 = _T_283[3:2]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@25898.4]
+  assign _T_285 = _T_283[1:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@25899.4]
+  assign _T_286 = _T_284 != 2'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25900.4]
+  assign _T_287 = _T_284 | _T_285; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25901.4]
+  assign _T_288 = _T_287[1]; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@25902.4]
+  assign _T_289 = {_T_286,_T_288}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@25903.4]
+  assign _T_290 = {_T_282,_T_289}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@25904.4]
+  assign _T_291 = auto_in_d_ready & auto_out_d_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@25905.4]
+  assign _T_292 = _T_244 - 4'h1; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@25907.6]
+  assign _T_293 = $unsigned(_T_292); // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@25908.6]
+  assign _T_294 = _T_293[3:0]; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@25909.6]
+  assign _T_296 = auto_out_d_bits_source[4]; // @[Fragmenter.scala 190:39:shc.marmotcaravel.MarmotCaravelConfig.fir@25914.8]
+  assign _T_330 = Repeater_io_deq_bits_size > 3'h2; // @[Fragmenter.scala 262:29:shc.marmotcaravel.MarmotCaravelConfig.fir@25957.4]
+  assign _T_331 = _T_330 ? 3'h2 : Repeater_io_deq_bits_size; // @[Fragmenter.scala 262:22:shc.marmotcaravel.MarmotCaravelConfig.fir@25958.4]
+  assign _T_333 = 13'h3f << Repeater_io_deq_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@25960.4]
+  assign _T_334 = _T_333[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@25961.4]
+  assign _T_335 = ~ _T_334; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@25962.4]
+  assign _T_337 = 9'h3 << _T_331; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@25964.4]
+  assign _T_338 = _T_337[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@25965.4]
+  assign _T_339 = ~ _T_338; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@25966.4]
+  assign _T_345 = _T_344 == 4'h0; // @[Fragmenter.scala 269:27:shc.marmotcaravel.MarmotCaravelConfig.fir@25971.4]
+  assign _T_346 = _T_335[5:2]; // @[Fragmenter.scala 270:46:shc.marmotcaravel.MarmotCaravelConfig.fir@25972.4]
+  assign _T_347 = _T_344 - 4'h1; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@25973.4]
+  assign _T_348 = $unsigned(_T_347); // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@25974.4]
+  assign _T_349 = _T_348[3:0]; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@25975.4]
+  assign _T_350 = _T_345 ? _T_346 : _T_349; // @[Fragmenter.scala 270:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25976.4]
+  assign _T_351 = ~ _T_350; // @[Fragmenter.scala 271:26:shc.marmotcaravel.MarmotCaravelConfig.fir@25977.4]
+  assign _T_354 = ~ _T_351; // @[Fragmenter.scala 271:24:shc.marmotcaravel.MarmotCaravelConfig.fir@25980.4]
+  assign _GEN_5 = _T_345 ? _T_248 : _T_362; // @[Reg.scala 12:19:shc.marmotcaravel.MarmotCaravelConfig.fir@25988.4]
+  assign _T_364 = _GEN_5 == 1'h0; // @[Fragmenter.scala 274:21:shc.marmotcaravel.MarmotCaravelConfig.fir@25992.4]
+  assign _T_92_a_valid = Repeater_io_deq_valid; // @[Nodes.scala 332:76:shc.marmotcaravel.MarmotCaravelConfig.fir@25852.4 Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@26001.4]
+  assign _T_365 = auto_out_a_ready & _T_92_a_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@25993.4]
+  assign _GEN_11 = {{2'd0}, _T_350}; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@26002.4]
+  assign _T_369 = _GEN_11 << 2; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@26002.4]
+  assign _T_370 = ~ _T_335; // @[Fragmenter.scala 281:88:shc.marmotcaravel.MarmotCaravelConfig.fir@26003.4]
+  assign _T_371 = _T_369 | _T_370; // @[Fragmenter.scala 281:86:shc.marmotcaravel.MarmotCaravelConfig.fir@26004.4]
+  assign _GEN_12 = {{4'd0}, _T_339}; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@26005.4]
+  assign _T_372 = _T_371 | _GEN_12; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@26005.4]
+  assign _T_373 = _T_372 | 6'h3; // @[Fragmenter.scala 281:109:shc.marmotcaravel.MarmotCaravelConfig.fir@26006.4]
+  assign _T_374 = ~ _T_373; // @[Fragmenter.scala 281:49:shc.marmotcaravel.MarmotCaravelConfig.fir@26007.4]
+  assign _GEN_13 = {{11'd0}, _T_374}; // @[Fragmenter.scala 281:47:shc.marmotcaravel.MarmotCaravelConfig.fir@26008.4]
+  assign _T_376 = {Repeater_io_deq_bits_source,_T_364}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@26010.4]
+  assign _T_378 = Repeater_io_full == 1'h0; // @[Fragmenter.scala 286:15:shc.marmotcaravel.MarmotCaravelConfig.fir@26014.4]
+  assign _T_385 = Repeater_io_deq_bits_mask == 4'hf; // @[Fragmenter.scala 289:51:shc.marmotcaravel.MarmotCaravelConfig.fir@26026.4]
+  assign _T_386 = _T_378 | _T_385; // @[Fragmenter.scala 289:33:shc.marmotcaravel.MarmotCaravelConfig.fir@26027.4]
+  assign _T_388 = _T_386 | reset; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26029.4]
+  assign _T_389 = _T_388 == 1'h0; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26030.4]
+  assign auto_in_a_ready = Repeater_io_enq_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@25855.4]
+  assign auto_in_d_valid = auto_out_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@25855.4]
+  assign auto_in_d_bits_size = _T_250 ? _T_290 : _T_246; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@25855.4]
+  assign auto_in_d_bits_source = auto_out_d_bits_source[5:5]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@25855.4]
+  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@25855.4]
+  assign auto_out_a_valid = Repeater_io_deq_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@25854.4]
+  assign auto_out_a_bits_opcode = Repeater_io_deq_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@25854.4]
+  assign auto_out_a_bits_param = Repeater_io_deq_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@25854.4]
+  assign auto_out_a_bits_size = _T_331[1:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@25854.4]
+  assign auto_out_a_bits_source = {_T_376,_T_354}; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@25854.4]
+  assign auto_out_a_bits_address = Repeater_io_deq_bits_address | _GEN_13; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@25854.4]
+  assign auto_out_a_bits_mask = Repeater_io_full ? 4'hf : auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@25854.4]
+  assign auto_out_a_bits_corrupt = Repeater_io_deq_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@25854.4]
+  assign auto_out_d_ready = auto_in_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@25854.4]
+  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@25817.4]
+  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@25818.4]
+  assign TLMonitor_io_in_a_ready = Repeater_io_enq_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@25851.4]
+  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@25851.4]
+  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@25851.4]
+  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@25851.4]
+  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@25851.4]
+  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@25851.4]
+  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@25851.4]
+  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@25851.4]
+  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@25851.4]
+  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@25851.4]
+  assign TLMonitor_io_in_d_valid = auto_out_d_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@25851.4]
+  assign TLMonitor_io_in_d_bits_size = _T_250 ? _T_290 : _T_246; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@25851.4]
+  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source[5:5]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@25851.4]
+  assign Repeater_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@25934.4]
+  assign Repeater_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@25935.4]
+  assign Repeater_io_repeat = _T_354 != 4'h0; // @[Fragmenter.scala 279:26:shc.marmotcaravel.MarmotCaravelConfig.fir@26000.4]
+  assign Repeater_io_enq_valid = auto_in_a_valid; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@25936.4]
+  assign Repeater_io_enq_bits_opcode = auto_in_a_bits_opcode; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@25936.4]
+  assign Repeater_io_enq_bits_param = auto_in_a_bits_param; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@25936.4]
+  assign Repeater_io_enq_bits_size = auto_in_a_bits_size; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@25936.4]
+  assign Repeater_io_enq_bits_source = auto_in_a_bits_source; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@25936.4]
+  assign Repeater_io_enq_bits_address = auto_in_a_bits_address; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@25936.4]
+  assign Repeater_io_enq_bits_mask = auto_in_a_bits_mask; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@25936.4]
+  assign Repeater_io_enq_bits_corrupt = auto_in_a_bits_corrupt; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@25936.4]
+  assign Repeater_io_deq_ready = auto_out_a_ready; // @[Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@26001.4]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  _T_244 = _RAND_0[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  _T_246 = _RAND_1[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  _T_248 = _RAND_2[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  _T_344 = _RAND_3[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  _T_362 = _RAND_4[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      _T_244 <= 4'h0;
+    end else begin
+      if (_T_291) begin
+        if (_T_250) begin
+          _T_244 <= _T_249;
+        end else begin
+          _T_244 <= _T_294;
+        end
+      end
+    end
+    if (_T_291) begin
+      if (_T_250) begin
+        _T_246 <= _T_290;
+      end
+    end
+    if (reset) begin
+      _T_248 <= 1'h0;
+    end else begin
+      if (_T_291) begin
+        if (_T_250) begin
+          _T_248 <= _T_296;
+        end
+      end
+    end
+    if (reset) begin
+      _T_344 <= 4'h0;
+    end else begin
+      if (_T_365) begin
+        _T_344 <= _T_354;
+      end
+    end
+    if (_T_345) begin
+      _T_362 <= _T_248;
+    end
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:180 assert (!out.d.valid || (acknum_fragment & acknum_size) === UInt(0))\n"); // @[Fragmenter.scala 180:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25880.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Fragmenter.scala 180:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25881.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:286 assert (!repeater.io.full || !aHasData)\n"); // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26021.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26022.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_389) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:289 assert (!repeater.io.full || in_a.bits.mask === fullMask)\n"); // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26032.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_389) begin
+          $fatal; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26033.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+endmodule
+module TLMonitor_15( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@26051.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@26052.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@26053.4]
+  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@26054.4]
+  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@26054.4]
+  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@26054.4]
+  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@26054.4]
+  input  [2:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@26054.4]
+  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@26054.4]
+  input  [16:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@26054.4]
+  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@26054.4]
+  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@26054.4]
+  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@26054.4]
+  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@26054.4]
+  input  [2:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@26054.4]
+  input         io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@26054.4]
+);
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@27169.4]
+  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@26070.6]
+  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@26075.6]
+  wire [12:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@26077.6]
+  wire [5:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@26078.6]
+  wire [5:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@26079.6]
+  wire [16:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@26080.6]
+  wire [16:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@26080.6]
+  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@26081.6]
+  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@26083.6]
+  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@26084.6]
+  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@26086.6]
+  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@26087.6]
+  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@26088.6]
+  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@26089.6]
+  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@26090.6]
+  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@26092.6]
+  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@26093.6]
+  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@26095.6]
+  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@26096.6]
+  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@26097.6]
+  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@26098.6]
+  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@26099.6]
+  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@26100.6]
+  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@26101.6]
+  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@26102.6]
+  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@26103.6]
+  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@26104.6]
+  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@26105.6]
+  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@26106.6]
+  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@26107.6]
+  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@26108.6]
+  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@26109.6]
+  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@26110.6]
+  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@26111.6]
+  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@26112.6]
+  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@26113.6]
+  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@26114.6]
+  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@26139.6]
+  wire [16:0] _T_92; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@26142.8]
+  wire [17:0] _T_93; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@26143.8]
+  wire [17:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@26144.8]
+  wire [17:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@26145.8]
+  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@26146.8]
+  wire  _T_101; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26151.8]
+  wire  _T_106; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26164.8]
+  wire  _T_107; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26165.8]
+  wire  _T_110; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26172.8]
+  wire  _T_111; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26173.8]
+  wire  _T_113; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26179.8]
+  wire  _T_114; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26180.8]
+  wire  _T_115; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@26185.8]
+  wire  _T_117; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26187.8]
+  wire  _T_118; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26188.8]
+  wire [3:0] _T_119; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@26193.8]
+  wire  _T_120; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@26194.8]
+  wire  _T_122; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26196.8]
+  wire  _T_123; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26197.8]
+  wire  _T_124; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@26202.8]
+  wire  _T_126; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26204.8]
+  wire  _T_127; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26205.8]
+  wire  _T_128; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@26211.6]
+  wire  _T_157; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@26265.8]
+  wire  _T_159; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26267.8]
+  wire  _T_160; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26268.8]
+  wire  _T_170; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@26291.6]
+  wire  _T_172; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@26294.8]
+  wire  _T_180; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@26302.8]
+  wire  _T_183; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26305.8]
+  wire  _T_184; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26306.8]
+  wire  _T_191; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@26325.8]
+  wire  _T_193; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26327.8]
+  wire  _T_194; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26328.8]
+  wire  _T_195; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@26333.8]
+  wire  _T_197; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26335.8]
+  wire  _T_198; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26336.8]
+  wire  _T_203; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@26350.6]
+  wire  _T_229; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@26398.6]
+  wire [3:0] _T_251; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@26437.8]
+  wire [3:0] _T_252; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@26438.8]
+  wire  _T_253; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@26439.8]
+  wire  _T_255; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26441.8]
+  wire  _T_256; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26442.8]
+  wire  _T_257; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@26448.6]
+  wire  _T_275; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@26479.8]
+  wire  _T_277; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26481.8]
+  wire  _T_278; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26482.8]
+  wire  _T_283; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@26496.6]
+  wire  _T_301; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@26527.8]
+  wire  _T_303; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26529.8]
+  wire  _T_304; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26530.8]
+  wire  _T_309; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@26544.6]
+  wire  _T_340; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@26603.6]
+  wire  _T_349; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@26608.6]
+  wire  _T_353; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26613.8]
+  wire  _T_354; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26614.8]
+  wire  _T_492; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@26900.4]
+  reg [3:0] _T_502; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@26909.4]
+  reg [31:0] _RAND_0;
+  wire [4:0] _T_503; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@26910.4]
+  wire [4:0] _T_504; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@26911.4]
+  wire [3:0] _T_505; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@26912.4]
+  wire  _T_506; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@26913.4]
+  reg [2:0] _T_515; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@26924.4]
+  reg [31:0] _RAND_1;
+  reg [2:0] _T_517; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@26925.4]
+  reg [31:0] _RAND_2;
+  reg [2:0] _T_519; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@26926.4]
+  reg [31:0] _RAND_3;
+  reg  _T_521; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@26927.4]
+  reg [31:0] _RAND_4;
+  reg [16:0] _T_523; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@26928.4]
+  reg [31:0] _RAND_5;
+  wire  _T_524; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@26929.4]
+  wire  _T_525; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@26930.4]
+  wire  _T_526; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@26932.6]
+  wire  _T_528; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26934.6]
+  wire  _T_529; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26935.6]
+  wire  _T_530; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@26940.6]
+  wire  _T_532; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26942.6]
+  wire  _T_533; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26943.6]
+  wire  _T_534; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@26948.6]
+  wire  _T_536; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26950.6]
+  wire  _T_537; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26951.6]
+  wire  _T_538; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@26956.6]
+  wire  _T_540; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26958.6]
+  wire  _T_541; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26959.6]
+  wire  _T_542; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@26964.6]
+  wire  _T_544; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26966.6]
+  wire  _T_545; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26967.6]
+  wire  _T_547; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@26974.4]
+  wire  _T_548; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@26982.4]
+  wire [12:0] _T_550; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@26984.4]
+  wire [5:0] _T_551; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@26985.4]
+  wire [5:0] _T_552; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@26986.4]
+  wire [3:0] _T_553; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@26987.4]
+  reg [3:0] _T_557; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@26990.4]
+  reg [31:0] _RAND_6;
+  wire [4:0] _T_558; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@26991.4]
+  wire [4:0] _T_559; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@26992.4]
+  wire [3:0] _T_560; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@26993.4]
+  wire  _T_561; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@26994.4]
+  reg [2:0] _T_574; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@27007.4]
+  reg [31:0] _RAND_7;
+  reg  _T_576; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@27008.4]
+  reg [31:0] _RAND_8;
+  wire  _T_581; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@27011.4]
+  wire  _T_582; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@27012.4]
+  wire  _T_591; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@27030.6]
+  wire  _T_593; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27032.6]
+  wire  _T_594; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27033.6]
+  wire  _T_595; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@27038.6]
+  wire  _T_597; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27040.6]
+  wire  _T_598; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27041.6]
+  wire  _T_608; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@27064.4]
+  reg [1:0] _T_610; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@27073.4]
+  reg [31:0] _RAND_9;
+  reg [3:0] _T_621; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@27083.4]
+  reg [31:0] _RAND_10;
+  wire [4:0] _T_622; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@27084.4]
+  wire [4:0] _T_623; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@27085.4]
+  wire [3:0] _T_624; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@27086.4]
+  wire  _T_625; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@27087.4]
+  reg [3:0] _T_642; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@27106.4]
+  reg [31:0] _RAND_11;
+  wire [4:0] _T_643; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@27107.4]
+  wire [4:0] _T_644; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@27108.4]
+  wire [3:0] _T_645; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@27109.4]
+  wire  _T_646; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@27110.4]
+  wire  _T_657; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@27125.4]
+  wire [1:0] _T_659; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@27128.6]
+  wire [1:0] _T_660; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@27130.6]
+  wire  _T_661; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@27131.6]
+  wire  _T_662; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27132.6]
+  wire  _T_664; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@27134.6]
+  wire  _T_665; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@27135.6]
+  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@27127.4]
+  wire  _T_670; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@27146.4]
+  wire [1:0] _T_674; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@27151.6]
+  wire [1:0] _T_675; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@27153.6]
+  wire [1:0] _T_676; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@27154.6]
+  wire  _T_677; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@27155.6]
+  wire  _T_679; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@27157.6]
+  wire  _T_680; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@27158.6]
+  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@27150.4]
+  wire [1:0] _T_681; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@27164.4]
+  wire [1:0] _T_682; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@27165.4]
+  wire [1:0] _T_683; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@27166.4]
+  reg [31:0] _T_685; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@27168.4]
+  reg [31:0] _RAND_12;
+  wire  _T_686; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@27171.4]
+  wire  _T_687; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@27172.4]
+  wire  _T_688; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@27173.4]
+  wire  _T_689; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@27174.4]
+  wire  _T_690; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@27175.4]
+  wire  _T_691; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@27176.4]
+  wire  _T_693; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@27178.4]
+  wire  _T_694; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@27179.4]
+  wire [31:0] _T_696; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@27185.4]
+  wire  _T_699; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@27189.4]
+  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26153.10]
+  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26225.10]
+  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26308.10]
+  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26364.10]
+  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26412.10]
+  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26462.10]
+  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26510.10]
+  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26558.10]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@27169.4]
+    .out(plusarg_reader_out)
+  );
+  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@26070.6]
+  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@26075.6]
+  assign _T_32 = 13'h3f << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@26077.6]
+  assign _T_33 = _T_32[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@26078.6]
+  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@26079.6]
+  assign _GEN_18 = {{11'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@26080.6]
+  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@26080.6]
+  assign _T_36 = _T_35 == 17'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@26081.6]
+  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@26083.6]
+  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@26084.6]
+  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@26086.6]
+  assign _T_42 = io_in_a_bits_size >= 3'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@26087.6]
+  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@26088.6]
+  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@26089.6]
+  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@26090.6]
+  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@26092.6]
+  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@26093.6]
+  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@26095.6]
+  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@26096.6]
+  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@26097.6]
+  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@26098.6]
+  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@26099.6]
+  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@26100.6]
+  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@26101.6]
+  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@26102.6]
+  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@26103.6]
+  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@26104.6]
+  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@26105.6]
+  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@26106.6]
+  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@26107.6]
+  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@26108.6]
+  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@26109.6]
+  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@26110.6]
+  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@26111.6]
+  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@26112.6]
+  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@26113.6]
+  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@26114.6]
+  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@26139.6]
+  assign _T_92 = io_in_a_bits_address ^ 17'h10000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@26142.8]
+  assign _T_93 = {1'b0,$signed(_T_92)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@26143.8]
+  assign _T_94 = $signed(_T_93) & $signed(-18'sh2000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@26144.8]
+  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@26145.8]
+  assign _T_96 = $signed(_T_95) == $signed(18'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@26146.8]
+  assign _T_101 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26151.8]
+  assign _T_106 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26164.8]
+  assign _T_107 = _T_106 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26165.8]
+  assign _T_110 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26172.8]
+  assign _T_111 = _T_110 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26173.8]
+  assign _T_113 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26179.8]
+  assign _T_114 = _T_113 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26180.8]
+  assign _T_115 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@26185.8]
+  assign _T_117 = _T_115 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26187.8]
+  assign _T_118 = _T_117 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26188.8]
+  assign _T_119 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@26193.8]
+  assign _T_120 = _T_119 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@26194.8]
+  assign _T_122 = _T_120 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26196.8]
+  assign _T_123 = _T_122 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26197.8]
+  assign _T_124 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@26202.8]
+  assign _T_126 = _T_124 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26204.8]
+  assign _T_127 = _T_126 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26205.8]
+  assign _T_128 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@26211.6]
+  assign _T_157 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@26265.8]
+  assign _T_159 = _T_157 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26267.8]
+  assign _T_160 = _T_159 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26268.8]
+  assign _T_170 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@26291.6]
+  assign _T_172 = io_in_a_bits_size <= 3'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@26294.8]
+  assign _T_180 = _T_172 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@26302.8]
+  assign _T_183 = _T_180 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26305.8]
+  assign _T_184 = _T_183 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26306.8]
+  assign _T_191 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@26325.8]
+  assign _T_193 = _T_191 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26327.8]
+  assign _T_194 = _T_193 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26328.8]
+  assign _T_195 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@26333.8]
+  assign _T_197 = _T_195 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26335.8]
+  assign _T_198 = _T_197 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26336.8]
+  assign _T_203 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@26350.6]
+  assign _T_229 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@26398.6]
+  assign _T_251 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@26437.8]
+  assign _T_252 = io_in_a_bits_mask & _T_251; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@26438.8]
+  assign _T_253 = _T_252 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@26439.8]
+  assign _T_255 = _T_253 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26441.8]
+  assign _T_256 = _T_255 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26442.8]
+  assign _T_257 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@26448.6]
+  assign _T_275 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@26479.8]
+  assign _T_277 = _T_275 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26481.8]
+  assign _T_278 = _T_277 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26482.8]
+  assign _T_283 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@26496.6]
+  assign _T_301 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@26527.8]
+  assign _T_303 = _T_301 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26529.8]
+  assign _T_304 = _T_303 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26530.8]
+  assign _T_309 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@26544.6]
+  assign _T_340 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@26603.6]
+  assign _T_349 = io_in_d_bits_source | _T_340; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@26608.6]
+  assign _T_353 = _T_349 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26613.8]
+  assign _T_354 = _T_353 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26614.8]
+  assign _T_492 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@26900.4]
+  assign _T_503 = _T_502 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@26910.4]
+  assign _T_504 = $unsigned(_T_503); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@26911.4]
+  assign _T_505 = _T_504[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@26912.4]
+  assign _T_506 = _T_502 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@26913.4]
+  assign _T_524 = _T_506 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@26929.4]
+  assign _T_525 = io_in_a_valid & _T_524; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@26930.4]
+  assign _T_526 = io_in_a_bits_opcode == _T_515; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@26932.6]
+  assign _T_528 = _T_526 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26934.6]
+  assign _T_529 = _T_528 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26935.6]
+  assign _T_530 = io_in_a_bits_param == _T_517; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@26940.6]
+  assign _T_532 = _T_530 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26942.6]
+  assign _T_533 = _T_532 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26943.6]
+  assign _T_534 = io_in_a_bits_size == _T_519; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@26948.6]
+  assign _T_536 = _T_534 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26950.6]
+  assign _T_537 = _T_536 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26951.6]
+  assign _T_538 = io_in_a_bits_source == _T_521; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@26956.6]
+  assign _T_540 = _T_538 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26958.6]
+  assign _T_541 = _T_540 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26959.6]
+  assign _T_542 = io_in_a_bits_address == _T_523; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@26964.6]
+  assign _T_544 = _T_542 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26966.6]
+  assign _T_545 = _T_544 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26967.6]
+  assign _T_547 = _T_492 & _T_506; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@26974.4]
+  assign _T_548 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@26982.4]
+  assign _T_550 = 13'h3f << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@26984.4]
+  assign _T_551 = _T_550[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@26985.4]
+  assign _T_552 = ~ _T_551; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@26986.4]
+  assign _T_553 = _T_552[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@26987.4]
+  assign _T_558 = _T_557 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@26991.4]
+  assign _T_559 = $unsigned(_T_558); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@26992.4]
+  assign _T_560 = _T_559[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@26993.4]
+  assign _T_561 = _T_557 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@26994.4]
+  assign _T_581 = _T_561 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@27011.4]
+  assign _T_582 = io_in_d_valid & _T_581; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@27012.4]
+  assign _T_591 = io_in_d_bits_size == _T_574; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@27030.6]
+  assign _T_593 = _T_591 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27032.6]
+  assign _T_594 = _T_593 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27033.6]
+  assign _T_595 = io_in_d_bits_source == _T_576; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@27038.6]
+  assign _T_597 = _T_595 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27040.6]
+  assign _T_598 = _T_597 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27041.6]
+  assign _T_608 = _T_548 & _T_561; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@27064.4]
+  assign _T_622 = _T_621 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@27084.4]
+  assign _T_623 = $unsigned(_T_622); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@27085.4]
+  assign _T_624 = _T_623[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@27086.4]
+  assign _T_625 = _T_621 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@27087.4]
+  assign _T_643 = _T_642 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@27107.4]
+  assign _T_644 = $unsigned(_T_643); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@27108.4]
+  assign _T_645 = _T_644[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@27109.4]
+  assign _T_646 = _T_642 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@27110.4]
+  assign _T_657 = _T_492 & _T_625; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@27125.4]
+  assign _T_659 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@27128.6]
+  assign _T_660 = _T_610 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@27130.6]
+  assign _T_661 = _T_660[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@27131.6]
+  assign _T_662 = _T_661 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27132.6]
+  assign _T_664 = _T_662 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@27134.6]
+  assign _T_665 = _T_664 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@27135.6]
+  assign _GEN_15 = _T_657 ? _T_659 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@27127.4]
+  assign _T_670 = _T_548 & _T_646; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@27146.4]
+  assign _T_674 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@27151.6]
+  assign _T_675 = _GEN_15 | _T_610; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@27153.6]
+  assign _T_676 = _T_675 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@27154.6]
+  assign _T_677 = _T_676[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@27155.6]
+  assign _T_679 = _T_677 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@27157.6]
+  assign _T_680 = _T_679 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@27158.6]
+  assign _GEN_16 = _T_670 ? _T_674 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@27150.4]
+  assign _T_681 = _T_610 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@27164.4]
+  assign _T_682 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@27165.4]
+  assign _T_683 = _T_681 & _T_682; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@27166.4]
+  assign _T_686 = _T_610 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@27171.4]
+  assign _T_687 = _T_686 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@27172.4]
+  assign _T_688 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@27173.4]
+  assign _T_689 = _T_687 | _T_688; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@27174.4]
+  assign _T_690 = _T_685 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@27175.4]
+  assign _T_691 = _T_689 | _T_690; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@27176.4]
+  assign _T_693 = _T_691 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@27178.4]
+  assign _T_694 = _T_693 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@27179.4]
+  assign _T_696 = _T_685 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@27185.4]
+  assign _T_699 = _T_492 | _T_548; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@27189.4]
+  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26153.10]
+  assign _GEN_35 = io_in_a_valid & _T_128; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26225.10]
+  assign _GEN_53 = io_in_a_valid & _T_170; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26308.10]
+  assign _GEN_65 = io_in_a_valid & _T_203; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26364.10]
+  assign _GEN_75 = io_in_a_valid & _T_229; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26412.10]
+  assign _GEN_85 = io_in_a_valid & _T_257; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26462.10]
+  assign _GEN_95 = io_in_a_valid & _T_283; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26510.10]
+  assign _GEN_105 = io_in_a_valid & _T_309; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26558.10]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  _T_502 = _RAND_0[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  _T_515 = _RAND_1[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  _T_517 = _RAND_2[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  _T_519 = _RAND_3[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  _T_521 = _RAND_4[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  _T_523 = _RAND_5[16:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {1{`RANDOM}};
+  _T_557 = _RAND_6[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {1{`RANDOM}};
+  _T_574 = _RAND_7[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_8 = {1{`RANDOM}};
+  _T_576 = _RAND_8[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_9 = {1{`RANDOM}};
+  _T_610 = _RAND_9[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_10 = {1{`RANDOM}};
+  _T_621 = _RAND_10[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_11 = {1{`RANDOM}};
+  _T_642 = _RAND_11[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_12 = {1{`RANDOM}};
+  _T_685 = _RAND_12[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      _T_502 <= 4'h0;
+    end else begin
+      if (_T_492) begin
+        if (_T_506) begin
+          _T_502 <= 4'h0;
+        end else begin
+          _T_502 <= _T_505;
+        end
+      end
+    end
+    if (_T_547) begin
+      _T_515 <= io_in_a_bits_opcode;
+    end
+    if (_T_547) begin
+      _T_517 <= io_in_a_bits_param;
+    end
+    if (_T_547) begin
+      _T_519 <= io_in_a_bits_size;
+    end
+    if (_T_547) begin
+      _T_521 <= io_in_a_bits_source;
+    end
+    if (_T_547) begin
+      _T_523 <= io_in_a_bits_address;
+    end
+    if (reset) begin
+      _T_557 <= 4'h0;
+    end else begin
+      if (_T_548) begin
+        if (_T_561) begin
+          _T_557 <= _T_553;
+        end else begin
+          _T_557 <= _T_560;
+        end
+      end
+    end
+    if (_T_608) begin
+      _T_574 <= io_in_d_bits_size;
+    end
+    if (_T_608) begin
+      _T_576 <= io_in_d_bits_source;
+    end
+    if (reset) begin
+      _T_610 <= 2'h0;
+    end else begin
+      _T_610 <= _T_683;
+    end
+    if (reset) begin
+      _T_621 <= 4'h0;
+    end else begin
+      if (_T_492) begin
+        if (_T_625) begin
+          _T_621 <= 4'h0;
+        end else begin
+          _T_621 <= _T_624;
+        end
+      end
+    end
+    if (reset) begin
+      _T_642 <= 4'h0;
+    end else begin
+      if (_T_548) begin
+        if (_T_646) begin
+          _T_642 <= _T_553;
+        end else begin
+          _T_642 <= _T_645;
+        end
+      end
+    end
+    if (reset) begin
+      _T_685 <= 32'h0;
+    end else begin
+      if (_T_699) begin
+        _T_685 <= 32'h0;
+      end else begin
+        _T_685 <= _T_696;
+      end
+    end
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@26066.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@26067.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@26136.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@26137.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26153.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_101) begin
+          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26154.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26160.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_101) begin
+          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26161.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26167.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_107) begin
+          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26168.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_111) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26175.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_111) begin
+          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26176.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26182.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_114) begin
+          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26183.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_118) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26190.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_118) begin
+          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26191.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_123) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26199.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_123) begin
+          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26200.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_127) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26207.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_127) begin
+          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26208.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26225.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_101) begin
+          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26226.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26232.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_101) begin
+          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26233.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26239.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_107) begin
+          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26240.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_111) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26247.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_111) begin
+          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26248.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26254.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_114) begin
+          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26255.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_118) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26262.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_118) begin
+          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26263.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_160) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26270.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_160) begin
+          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26271.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_123) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26279.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_123) begin
+          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26280.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_127) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26287.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_127) begin
+          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26288.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_184) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26308.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_184) begin
+          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26309.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26315.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_107) begin
+          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26316.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26322.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_114) begin
+          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26323.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_194) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26330.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_194) begin
+          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26331.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_198) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26338.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_198) begin
+          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26339.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_127) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26346.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_127) begin
+          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26347.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26364.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_101) begin
+          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26365.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26371.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_107) begin
+          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26372.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26378.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_114) begin
+          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26379.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_194) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26386.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_194) begin
+          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26387.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_198) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26394.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_198) begin
+          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26395.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26412.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_101) begin
+          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26413.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26419.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_107) begin
+          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26420.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26426.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_114) begin
+          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26427.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_194) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26434.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_194) begin
+          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26435.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_256) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26444.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_256) begin
+          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26445.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26462.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_101) begin
+          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26463.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26469.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_107) begin
+          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26470.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26476.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_114) begin
+          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26477.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_278) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26484.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_278) begin
+          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26485.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_198) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26492.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_198) begin
+          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26493.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26510.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_101) begin
+          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26511.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26517.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_107) begin
+          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26518.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26524.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_114) begin
+          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26525.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_304) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26532.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_304) begin
+          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26533.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_198) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26540.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_198) begin
+          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26541.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26558.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_101) begin
+          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26559.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26565.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_107) begin
+          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26566.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26572.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_114) begin
+          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26573.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_198) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26580.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_198) begin
+          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26581.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_127) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26588.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_127) begin
+          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26589.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@26599.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@26600.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26616.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26617.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26624.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26625.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26632.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26633.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26640.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26641.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26648.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26649.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26658.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26659.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26665.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26666.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26673.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26674.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26681.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26682.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26689.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26690.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26697.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26698.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26706.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26707.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26716.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26717.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26723.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26724.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26731.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26732.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26739.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26740.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26747.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26748.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26756.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26757.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26765.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26766.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26775.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26776.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26783.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26784.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26791.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26792.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26800.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26801.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_354) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26810.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_354) begin
+          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26811.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26818.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26819.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26827.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26828.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26836.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26837.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26846.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26847.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26854.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26855.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26862.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26863.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26871.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26872.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26881.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26882.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26889.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26890.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26897.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26898.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_525 & _T_529) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26937.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_525 & _T_529) begin
+          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26938.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_525 & _T_533) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26945.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_525 & _T_533) begin
+          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26946.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_525 & _T_537) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26953.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_525 & _T_537) begin
+          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26954.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_525 & _T_541) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26961.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_525 & _T_541) begin
+          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26962.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_525 & _T_545) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26969.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_525 & _T_545) begin
+          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26970.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27019.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27020.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27027.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27028.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_582 & _T_594) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27035.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_582 & _T_594) begin
+          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27036.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_582 & _T_598) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27043.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_582 & _T_598) begin
+          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27044.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27051.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27052.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27059.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27060.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_657 & _T_665) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@27137.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_657 & _T_665) begin
+          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@27138.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_670 & _T_680) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@27160.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_670 & _T_680) begin
+          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@27161.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_694) begin
+          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@27181.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_694) begin
+          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@27182.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+endmodule
+module TLWidthWidget_1( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27194.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27195.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27196.4]
+  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27197.4]
+  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27197.4]
+  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27197.4]
+  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27197.4]
+  input  [2:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27197.4]
+  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27197.4]
+  input  [16:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27197.4]
+  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27197.4]
+  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27197.4]
+  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27197.4]
+  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27197.4]
+  output [2:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27197.4]
+  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27197.4]
+  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27197.4]
+  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27197.4]
+  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27197.4]
+  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27197.4]
+  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27197.4]
+  output [2:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27197.4]
+  output        auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27197.4]
+  output [16:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27197.4]
+  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27197.4]
+  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27197.4]
+  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27197.4]
+  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27197.4]
+  input  [2:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27197.4]
+  input         auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27197.4]
+  input  [31:0] auto_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27197.4]
+);
+  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@27204.4]
+  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@27204.4]
+  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@27204.4]
+  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@27204.4]
+  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@27204.4]
+  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@27204.4]
+  wire [2:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@27204.4]
+  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@27204.4]
+  wire [16:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@27204.4]
+  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@27204.4]
+  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@27204.4]
+  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@27204.4]
+  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@27204.4]
+  wire [2:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@27204.4]
+  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@27204.4]
+  TLMonitor_15 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@27204.4]
+    .clock(TLMonitor_clock),
+    .reset(TLMonitor_reset),
+    .io_in_a_ready(TLMonitor_io_in_a_ready),
+    .io_in_a_valid(TLMonitor_io_in_a_valid),
+    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
+    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
+    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
+    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
+    .io_in_d_ready(TLMonitor_io_in_d_ready),
+    .io_in_d_valid(TLMonitor_io_in_d_valid),
+    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
+    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source)
+  );
+  assign auto_in_a_ready = auto_out_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@27244.4]
+  assign auto_in_d_valid = auto_out_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@27244.4]
+  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@27244.4]
+  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@27244.4]
+  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@27244.4]
+  assign auto_out_a_valid = auto_in_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@27243.4]
+  assign auto_out_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@27243.4]
+  assign auto_out_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@27243.4]
+  assign auto_out_a_bits_size = auto_in_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@27243.4]
+  assign auto_out_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@27243.4]
+  assign auto_out_a_bits_address = auto_in_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@27243.4]
+  assign auto_out_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@27243.4]
+  assign auto_out_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@27243.4]
+  assign auto_out_d_ready = auto_in_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@27243.4]
+  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27206.4]
+  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27207.4]
+  assign TLMonitor_io_in_a_ready = auto_out_a_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@27240.4]
+  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@27240.4]
+  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@27240.4]
+  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@27240.4]
+  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@27240.4]
+  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@27240.4]
+  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@27240.4]
+  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@27240.4]
+  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@27240.4]
+  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@27240.4]
+  assign TLMonitor_io_in_d_valid = auto_out_d_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@27240.4]
+  assign TLMonitor_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@27240.4]
+  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@27240.4]
+endmodule
+module TLMonitor_16( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27261.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27262.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27263.4]
+  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27264.4]
+  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27264.4]
+  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27264.4]
+  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27264.4]
+  input  [2:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27264.4]
+  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27264.4]
+  input  [16:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27264.4]
+  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27264.4]
+  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27264.4]
+  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27264.4]
+  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27264.4]
+  input  [2:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27264.4]
+  input         io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27264.4]
+);
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@28379.4]
+  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@27280.6]
+  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@27285.6]
+  wire [12:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@27287.6]
+  wire [5:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@27288.6]
+  wire [5:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@27289.6]
+  wire [16:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@27290.6]
+  wire [16:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@27290.6]
+  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@27291.6]
+  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@27293.6]
+  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@27294.6]
+  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@27296.6]
+  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@27297.6]
+  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@27298.6]
+  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@27299.6]
+  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@27300.6]
+  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@27302.6]
+  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@27303.6]
+  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@27305.6]
+  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@27306.6]
+  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@27307.6]
+  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@27308.6]
+  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@27309.6]
+  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@27310.6]
+  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@27311.6]
+  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@27312.6]
+  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@27313.6]
+  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@27314.6]
+  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@27315.6]
+  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@27316.6]
+  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@27317.6]
+  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@27318.6]
+  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@27319.6]
+  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@27320.6]
+  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@27321.6]
+  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@27322.6]
+  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@27323.6]
+  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@27324.6]
+  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@27349.6]
+  wire [16:0] _T_92; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@27352.8]
+  wire [17:0] _T_93; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@27353.8]
+  wire [17:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@27354.8]
+  wire [17:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@27355.8]
+  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@27356.8]
+  wire  _T_101; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27361.8]
+  wire  _T_106; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27374.8]
+  wire  _T_107; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27375.8]
+  wire  _T_110; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27382.8]
+  wire  _T_111; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27383.8]
+  wire  _T_113; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27389.8]
+  wire  _T_114; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27390.8]
+  wire  _T_115; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@27395.8]
+  wire  _T_117; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27397.8]
+  wire  _T_118; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27398.8]
+  wire [3:0] _T_119; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@27403.8]
+  wire  _T_120; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@27404.8]
+  wire  _T_122; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27406.8]
+  wire  _T_123; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27407.8]
+  wire  _T_124; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@27412.8]
+  wire  _T_126; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27414.8]
+  wire  _T_127; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27415.8]
+  wire  _T_128; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@27421.6]
+  wire  _T_157; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@27475.8]
+  wire  _T_159; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27477.8]
+  wire  _T_160; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27478.8]
+  wire  _T_170; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@27501.6]
+  wire  _T_172; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@27504.8]
+  wire  _T_180; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@27512.8]
+  wire  _T_183; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27515.8]
+  wire  _T_184; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27516.8]
+  wire  _T_191; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@27535.8]
+  wire  _T_193; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27537.8]
+  wire  _T_194; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27538.8]
+  wire  _T_195; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@27543.8]
+  wire  _T_197; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27545.8]
+  wire  _T_198; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27546.8]
+  wire  _T_203; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@27560.6]
+  wire  _T_229; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@27608.6]
+  wire [3:0] _T_251; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@27647.8]
+  wire [3:0] _T_252; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@27648.8]
+  wire  _T_253; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@27649.8]
+  wire  _T_255; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27651.8]
+  wire  _T_256; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27652.8]
+  wire  _T_257; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@27658.6]
+  wire  _T_275; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@27689.8]
+  wire  _T_277; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27691.8]
+  wire  _T_278; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27692.8]
+  wire  _T_283; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@27706.6]
+  wire  _T_301; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@27737.8]
+  wire  _T_303; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27739.8]
+  wire  _T_304; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27740.8]
+  wire  _T_309; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@27754.6]
+  wire  _T_340; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@27813.6]
+  wire  _T_349; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@27818.6]
+  wire  _T_353; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27823.8]
+  wire  _T_354; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27824.8]
+  wire  _T_492; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@28110.4]
+  reg [3:0] _T_502; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@28119.4]
+  reg [31:0] _RAND_0;
+  wire [4:0] _T_503; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28120.4]
+  wire [4:0] _T_504; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28121.4]
+  wire [3:0] _T_505; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28122.4]
+  wire  _T_506; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@28123.4]
+  reg [2:0] _T_515; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@28134.4]
+  reg [31:0] _RAND_1;
+  reg [2:0] _T_517; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@28135.4]
+  reg [31:0] _RAND_2;
+  reg [2:0] _T_519; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@28136.4]
+  reg [31:0] _RAND_3;
+  reg  _T_521; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@28137.4]
+  reg [31:0] _RAND_4;
+  reg [16:0] _T_523; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@28138.4]
+  reg [31:0] _RAND_5;
+  wire  _T_524; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@28139.4]
+  wire  _T_525; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@28140.4]
+  wire  _T_526; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@28142.6]
+  wire  _T_528; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28144.6]
+  wire  _T_529; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28145.6]
+  wire  _T_530; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@28150.6]
+  wire  _T_532; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28152.6]
+  wire  _T_533; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28153.6]
+  wire  _T_534; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@28158.6]
+  wire  _T_536; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28160.6]
+  wire  _T_537; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28161.6]
+  wire  _T_538; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@28166.6]
+  wire  _T_540; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28168.6]
+  wire  _T_541; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28169.6]
+  wire  _T_542; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@28174.6]
+  wire  _T_544; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28176.6]
+  wire  _T_545; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28177.6]
+  wire  _T_547; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@28184.4]
+  wire  _T_548; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@28192.4]
+  wire [12:0] _T_550; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@28194.4]
+  wire [5:0] _T_551; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@28195.4]
+  wire [5:0] _T_552; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@28196.4]
+  wire [3:0] _T_553; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@28197.4]
+  reg [3:0] _T_557; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@28200.4]
+  reg [31:0] _RAND_6;
+  wire [4:0] _T_558; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28201.4]
+  wire [4:0] _T_559; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28202.4]
+  wire [3:0] _T_560; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28203.4]
+  wire  _T_561; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@28204.4]
+  reg [2:0] _T_574; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@28217.4]
+  reg [31:0] _RAND_7;
+  reg  _T_576; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@28218.4]
+  reg [31:0] _RAND_8;
+  wire  _T_581; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@28221.4]
+  wire  _T_582; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@28222.4]
+  wire  _T_591; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@28240.6]
+  wire  _T_593; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28242.6]
+  wire  _T_594; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28243.6]
+  wire  _T_595; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@28248.6]
+  wire  _T_597; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28250.6]
+  wire  _T_598; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28251.6]
+  wire  _T_608; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@28274.4]
+  reg [1:0] _T_610; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@28283.4]
+  reg [31:0] _RAND_9;
+  reg [3:0] _T_621; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@28293.4]
+  reg [31:0] _RAND_10;
+  wire [4:0] _T_622; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28294.4]
+  wire [4:0] _T_623; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28295.4]
+  wire [3:0] _T_624; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28296.4]
+  wire  _T_625; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@28297.4]
+  reg [3:0] _T_642; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@28316.4]
+  reg [31:0] _RAND_11;
+  wire [4:0] _T_643; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28317.4]
+  wire [4:0] _T_644; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28318.4]
+  wire [3:0] _T_645; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28319.4]
+  wire  _T_646; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@28320.4]
+  wire  _T_657; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@28335.4]
+  wire [1:0] _T_659; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@28338.6]
+  wire [1:0] _T_660; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@28340.6]
+  wire  _T_661; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@28341.6]
+  wire  _T_662; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28342.6]
+  wire  _T_664; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@28344.6]
+  wire  _T_665; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@28345.6]
+  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@28337.4]
+  wire  _T_670; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@28356.4]
+  wire [1:0] _T_674; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@28361.6]
+  wire [1:0] _T_675; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@28363.6]
+  wire [1:0] _T_676; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@28364.6]
+  wire  _T_677; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@28365.6]
+  wire  _T_679; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@28367.6]
+  wire  _T_680; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@28368.6]
+  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@28360.4]
+  wire [1:0] _T_681; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@28374.4]
+  wire [1:0] _T_682; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@28375.4]
+  wire [1:0] _T_683; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@28376.4]
+  reg [31:0] _T_685; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@28378.4]
+  reg [31:0] _RAND_12;
+  wire  _T_686; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@28381.4]
+  wire  _T_687; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@28382.4]
+  wire  _T_688; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@28383.4]
+  wire  _T_689; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@28384.4]
+  wire  _T_690; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@28385.4]
+  wire  _T_691; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@28386.4]
+  wire  _T_693; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@28388.4]
+  wire  _T_694; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@28389.4]
+  wire [31:0] _T_696; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@28395.4]
+  wire  _T_699; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@28399.4]
+  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27363.10]
+  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27435.10]
+  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27518.10]
+  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27574.10]
+  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27622.10]
+  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27672.10]
+  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27720.10]
+  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27768.10]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@28379.4]
+    .out(plusarg_reader_out)
+  );
+  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@27280.6]
+  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@27285.6]
+  assign _T_32 = 13'h3f << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@27287.6]
+  assign _T_33 = _T_32[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@27288.6]
+  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@27289.6]
+  assign _GEN_18 = {{11'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@27290.6]
+  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@27290.6]
+  assign _T_36 = _T_35 == 17'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@27291.6]
+  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@27293.6]
+  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@27294.6]
+  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@27296.6]
+  assign _T_42 = io_in_a_bits_size >= 3'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@27297.6]
+  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@27298.6]
+  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@27299.6]
+  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@27300.6]
+  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@27302.6]
+  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@27303.6]
+  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@27305.6]
+  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@27306.6]
+  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@27307.6]
+  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@27308.6]
+  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@27309.6]
+  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@27310.6]
+  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@27311.6]
+  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@27312.6]
+  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@27313.6]
+  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@27314.6]
+  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@27315.6]
+  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@27316.6]
+  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@27317.6]
+  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@27318.6]
+  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@27319.6]
+  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@27320.6]
+  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@27321.6]
+  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@27322.6]
+  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@27323.6]
+  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@27324.6]
+  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@27349.6]
+  assign _T_92 = io_in_a_bits_address ^ 17'h10000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@27352.8]
+  assign _T_93 = {1'b0,$signed(_T_92)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@27353.8]
+  assign _T_94 = $signed(_T_93) & $signed(-18'sh2000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@27354.8]
+  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@27355.8]
+  assign _T_96 = $signed(_T_95) == $signed(18'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@27356.8]
+  assign _T_101 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27361.8]
+  assign _T_106 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27374.8]
+  assign _T_107 = _T_106 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27375.8]
+  assign _T_110 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27382.8]
+  assign _T_111 = _T_110 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27383.8]
+  assign _T_113 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27389.8]
+  assign _T_114 = _T_113 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27390.8]
+  assign _T_115 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@27395.8]
+  assign _T_117 = _T_115 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27397.8]
+  assign _T_118 = _T_117 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27398.8]
+  assign _T_119 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@27403.8]
+  assign _T_120 = _T_119 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@27404.8]
+  assign _T_122 = _T_120 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27406.8]
+  assign _T_123 = _T_122 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27407.8]
+  assign _T_124 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@27412.8]
+  assign _T_126 = _T_124 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27414.8]
+  assign _T_127 = _T_126 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27415.8]
+  assign _T_128 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@27421.6]
+  assign _T_157 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@27475.8]
+  assign _T_159 = _T_157 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27477.8]
+  assign _T_160 = _T_159 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27478.8]
+  assign _T_170 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@27501.6]
+  assign _T_172 = io_in_a_bits_size <= 3'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@27504.8]
+  assign _T_180 = _T_172 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@27512.8]
+  assign _T_183 = _T_180 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27515.8]
+  assign _T_184 = _T_183 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27516.8]
+  assign _T_191 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@27535.8]
+  assign _T_193 = _T_191 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27537.8]
+  assign _T_194 = _T_193 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27538.8]
+  assign _T_195 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@27543.8]
+  assign _T_197 = _T_195 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27545.8]
+  assign _T_198 = _T_197 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27546.8]
+  assign _T_203 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@27560.6]
+  assign _T_229 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@27608.6]
+  assign _T_251 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@27647.8]
+  assign _T_252 = io_in_a_bits_mask & _T_251; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@27648.8]
+  assign _T_253 = _T_252 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@27649.8]
+  assign _T_255 = _T_253 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27651.8]
+  assign _T_256 = _T_255 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27652.8]
+  assign _T_257 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@27658.6]
+  assign _T_275 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@27689.8]
+  assign _T_277 = _T_275 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27691.8]
+  assign _T_278 = _T_277 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27692.8]
+  assign _T_283 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@27706.6]
+  assign _T_301 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@27737.8]
+  assign _T_303 = _T_301 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27739.8]
+  assign _T_304 = _T_303 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27740.8]
+  assign _T_309 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@27754.6]
+  assign _T_340 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@27813.6]
+  assign _T_349 = io_in_d_bits_source | _T_340; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@27818.6]
+  assign _T_353 = _T_349 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27823.8]
+  assign _T_354 = _T_353 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27824.8]
+  assign _T_492 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@28110.4]
+  assign _T_503 = _T_502 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28120.4]
+  assign _T_504 = $unsigned(_T_503); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28121.4]
+  assign _T_505 = _T_504[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28122.4]
+  assign _T_506 = _T_502 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@28123.4]
+  assign _T_524 = _T_506 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@28139.4]
+  assign _T_525 = io_in_a_valid & _T_524; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@28140.4]
+  assign _T_526 = io_in_a_bits_opcode == _T_515; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@28142.6]
+  assign _T_528 = _T_526 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28144.6]
+  assign _T_529 = _T_528 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28145.6]
+  assign _T_530 = io_in_a_bits_param == _T_517; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@28150.6]
+  assign _T_532 = _T_530 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28152.6]
+  assign _T_533 = _T_532 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28153.6]
+  assign _T_534 = io_in_a_bits_size == _T_519; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@28158.6]
+  assign _T_536 = _T_534 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28160.6]
+  assign _T_537 = _T_536 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28161.6]
+  assign _T_538 = io_in_a_bits_source == _T_521; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@28166.6]
+  assign _T_540 = _T_538 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28168.6]
+  assign _T_541 = _T_540 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28169.6]
+  assign _T_542 = io_in_a_bits_address == _T_523; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@28174.6]
+  assign _T_544 = _T_542 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28176.6]
+  assign _T_545 = _T_544 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28177.6]
+  assign _T_547 = _T_492 & _T_506; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@28184.4]
+  assign _T_548 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@28192.4]
+  assign _T_550 = 13'h3f << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@28194.4]
+  assign _T_551 = _T_550[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@28195.4]
+  assign _T_552 = ~ _T_551; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@28196.4]
+  assign _T_553 = _T_552[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@28197.4]
+  assign _T_558 = _T_557 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28201.4]
+  assign _T_559 = $unsigned(_T_558); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28202.4]
+  assign _T_560 = _T_559[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28203.4]
+  assign _T_561 = _T_557 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@28204.4]
+  assign _T_581 = _T_561 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@28221.4]
+  assign _T_582 = io_in_d_valid & _T_581; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@28222.4]
+  assign _T_591 = io_in_d_bits_size == _T_574; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@28240.6]
+  assign _T_593 = _T_591 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28242.6]
+  assign _T_594 = _T_593 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28243.6]
+  assign _T_595 = io_in_d_bits_source == _T_576; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@28248.6]
+  assign _T_597 = _T_595 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28250.6]
+  assign _T_598 = _T_597 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28251.6]
+  assign _T_608 = _T_548 & _T_561; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@28274.4]
+  assign _T_622 = _T_621 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28294.4]
+  assign _T_623 = $unsigned(_T_622); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28295.4]
+  assign _T_624 = _T_623[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28296.4]
+  assign _T_625 = _T_621 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@28297.4]
+  assign _T_643 = _T_642 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28317.4]
+  assign _T_644 = $unsigned(_T_643); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28318.4]
+  assign _T_645 = _T_644[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28319.4]
+  assign _T_646 = _T_642 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@28320.4]
+  assign _T_657 = _T_492 & _T_625; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@28335.4]
+  assign _T_659 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@28338.6]
+  assign _T_660 = _T_610 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@28340.6]
+  assign _T_661 = _T_660[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@28341.6]
+  assign _T_662 = _T_661 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28342.6]
+  assign _T_664 = _T_662 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@28344.6]
+  assign _T_665 = _T_664 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@28345.6]
+  assign _GEN_15 = _T_657 ? _T_659 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@28337.4]
+  assign _T_670 = _T_548 & _T_646; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@28356.4]
+  assign _T_674 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@28361.6]
+  assign _T_675 = _GEN_15 | _T_610; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@28363.6]
+  assign _T_676 = _T_675 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@28364.6]
+  assign _T_677 = _T_676[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@28365.6]
+  assign _T_679 = _T_677 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@28367.6]
+  assign _T_680 = _T_679 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@28368.6]
+  assign _GEN_16 = _T_670 ? _T_674 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@28360.4]
+  assign _T_681 = _T_610 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@28374.4]
+  assign _T_682 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@28375.4]
+  assign _T_683 = _T_681 & _T_682; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@28376.4]
+  assign _T_686 = _T_610 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@28381.4]
+  assign _T_687 = _T_686 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@28382.4]
+  assign _T_688 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@28383.4]
+  assign _T_689 = _T_687 | _T_688; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@28384.4]
+  assign _T_690 = _T_685 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@28385.4]
+  assign _T_691 = _T_689 | _T_690; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@28386.4]
+  assign _T_693 = _T_691 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@28388.4]
+  assign _T_694 = _T_693 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@28389.4]
+  assign _T_696 = _T_685 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@28395.4]
+  assign _T_699 = _T_492 | _T_548; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@28399.4]
+  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27363.10]
+  assign _GEN_35 = io_in_a_valid & _T_128; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27435.10]
+  assign _GEN_53 = io_in_a_valid & _T_170; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27518.10]
+  assign _GEN_65 = io_in_a_valid & _T_203; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27574.10]
+  assign _GEN_75 = io_in_a_valid & _T_229; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27622.10]
+  assign _GEN_85 = io_in_a_valid & _T_257; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27672.10]
+  assign _GEN_95 = io_in_a_valid & _T_283; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27720.10]
+  assign _GEN_105 = io_in_a_valid & _T_309; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27768.10]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  _T_502 = _RAND_0[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  _T_515 = _RAND_1[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  _T_517 = _RAND_2[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  _T_519 = _RAND_3[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  _T_521 = _RAND_4[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  _T_523 = _RAND_5[16:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {1{`RANDOM}};
+  _T_557 = _RAND_6[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {1{`RANDOM}};
+  _T_574 = _RAND_7[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_8 = {1{`RANDOM}};
+  _T_576 = _RAND_8[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_9 = {1{`RANDOM}};
+  _T_610 = _RAND_9[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_10 = {1{`RANDOM}};
+  _T_621 = _RAND_10[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_11 = {1{`RANDOM}};
+  _T_642 = _RAND_11[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_12 = {1{`RANDOM}};
+  _T_685 = _RAND_12[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      _T_502 <= 4'h0;
+    end else begin
+      if (_T_492) begin
+        if (_T_506) begin
+          _T_502 <= 4'h0;
+        end else begin
+          _T_502 <= _T_505;
+        end
+      end
+    end
+    if (_T_547) begin
+      _T_515 <= io_in_a_bits_opcode;
+    end
+    if (_T_547) begin
+      _T_517 <= io_in_a_bits_param;
+    end
+    if (_T_547) begin
+      _T_519 <= io_in_a_bits_size;
+    end
+    if (_T_547) begin
+      _T_521 <= io_in_a_bits_source;
+    end
+    if (_T_547) begin
+      _T_523 <= io_in_a_bits_address;
+    end
+    if (reset) begin
+      _T_557 <= 4'h0;
+    end else begin
+      if (_T_548) begin
+        if (_T_561) begin
+          _T_557 <= _T_553;
+        end else begin
+          _T_557 <= _T_560;
+        end
+      end
+    end
+    if (_T_608) begin
+      _T_574 <= io_in_d_bits_size;
+    end
+    if (_T_608) begin
+      _T_576 <= io_in_d_bits_source;
+    end
+    if (reset) begin
+      _T_610 <= 2'h0;
+    end else begin
+      _T_610 <= _T_683;
+    end
+    if (reset) begin
+      _T_621 <= 4'h0;
+    end else begin
+      if (_T_492) begin
+        if (_T_625) begin
+          _T_621 <= 4'h0;
+        end else begin
+          _T_621 <= _T_624;
+        end
+      end
+    end
+    if (reset) begin
+      _T_642 <= 4'h0;
+    end else begin
+      if (_T_548) begin
+        if (_T_646) begin
+          _T_642 <= _T_553;
+        end else begin
+          _T_642 <= _T_645;
+        end
+      end
+    end
+    if (reset) begin
+      _T_685 <= 32'h0;
+    end else begin
+      if (_T_699) begin
+        _T_685 <= 32'h0;
+      end else begin
+        _T_685 <= _T_696;
+      end
+    end
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@27276.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@27277.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@27346.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@27347.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27363.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_101) begin
+          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27364.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27370.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_101) begin
+          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27371.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27377.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_107) begin
+          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27378.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_111) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27385.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_111) begin
+          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27386.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27392.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_114) begin
+          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27393.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_118) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27400.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_118) begin
+          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27401.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_123) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27409.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_123) begin
+          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27410.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_127) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27417.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_127) begin
+          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27418.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27435.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_101) begin
+          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27436.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27442.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_101) begin
+          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27443.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27449.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_107) begin
+          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27450.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_111) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27457.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_111) begin
+          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27458.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27464.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_114) begin
+          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27465.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_118) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27472.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_118) begin
+          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27473.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_160) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27480.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_160) begin
+          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27481.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_123) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27489.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_123) begin
+          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27490.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_127) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27497.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_127) begin
+          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27498.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_184) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27518.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_184) begin
+          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27519.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27525.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_107) begin
+          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27526.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27532.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_114) begin
+          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27533.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_194) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27540.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_194) begin
+          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27541.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_198) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27548.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_198) begin
+          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27549.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_127) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27556.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_127) begin
+          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27557.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27574.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_101) begin
+          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27575.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27581.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_107) begin
+          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27582.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27588.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_114) begin
+          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27589.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_194) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27596.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_194) begin
+          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27597.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_198) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27604.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_198) begin
+          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27605.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27622.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_101) begin
+          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27623.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27629.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_107) begin
+          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27630.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27636.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_114) begin
+          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27637.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_194) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27644.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_194) begin
+          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27645.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_256) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27654.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_256) begin
+          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27655.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27672.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_101) begin
+          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27673.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27679.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_107) begin
+          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27680.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27686.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_114) begin
+          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27687.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_278) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27694.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_278) begin
+          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27695.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_198) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27702.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_198) begin
+          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27703.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27720.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_101) begin
+          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27721.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27727.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_107) begin
+          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27728.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27734.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_114) begin
+          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27735.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_304) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27742.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_304) begin
+          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27743.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_198) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27750.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_198) begin
+          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27751.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27768.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_101) begin
+          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27769.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27775.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_107) begin
+          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27776.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27782.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_114) begin
+          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27783.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_198) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27790.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_198) begin
+          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27791.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_127) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27798.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_127) begin
+          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27799.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@27809.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@27810.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27826.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27827.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27834.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27835.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27842.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27843.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27850.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27851.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27858.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27859.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27868.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27869.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27875.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27876.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27883.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27884.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27891.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27892.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27899.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27900.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27907.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27908.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27916.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27917.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27926.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27927.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27933.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27934.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27941.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27942.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27949.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27950.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27957.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27958.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27966.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27967.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27975.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27976.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27985.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27986.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27993.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27994.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28001.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28002.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28010.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28011.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_354) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28020.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_354) begin
+          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28021.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28028.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28029.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28037.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28038.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28046.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28047.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28056.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28057.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28064.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28065.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28072.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28073.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28081.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28082.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28091.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28092.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28099.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28100.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28107.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28108.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_525 & _T_529) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28147.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_525 & _T_529) begin
+          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28148.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_525 & _T_533) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28155.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_525 & _T_533) begin
+          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28156.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_525 & _T_537) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28163.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_525 & _T_537) begin
+          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28164.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_525 & _T_541) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28171.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_525 & _T_541) begin
+          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28172.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_525 & _T_545) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28179.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_525 & _T_545) begin
+          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28180.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28229.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28230.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28237.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28238.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_582 & _T_594) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28245.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_582 & _T_594) begin
+          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28246.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_582 & _T_598) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28253.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_582 & _T_598) begin
+          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28254.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28261.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28262.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28269.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28270.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_657 & _T_665) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@28347.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_657 & _T_665) begin
+          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@28348.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_670 & _T_680) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@28370.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_670 & _T_680) begin
+          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@28371.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_694) begin
+          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@28391.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_694) begin
+          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@28392.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+endmodule
+module TLBuffer_6( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28404.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28405.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28406.4]
+  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28407.4]
+  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28407.4]
+  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28407.4]
+  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28407.4]
+  input  [2:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28407.4]
+  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28407.4]
+  input  [16:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28407.4]
+  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28407.4]
+  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28407.4]
+  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28407.4]
+  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28407.4]
+  output [2:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28407.4]
+  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28407.4]
+  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28407.4]
+  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28407.4]
+  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28407.4]
+  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28407.4]
+  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28407.4]
+  output [2:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28407.4]
+  output        auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28407.4]
+  output [16:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28407.4]
+  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28407.4]
+  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28407.4]
+  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28407.4]
+  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28407.4]
+  input  [2:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28407.4]
+  input         auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28407.4]
+  input  [31:0] auto_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28407.4]
+);
+  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@28414.4]
+  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@28414.4]
+  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@28414.4]
+  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@28414.4]
+  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@28414.4]
+  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@28414.4]
+  wire [2:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@28414.4]
+  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@28414.4]
+  wire [16:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@28414.4]
+  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@28414.4]
+  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@28414.4]
+  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@28414.4]
+  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@28414.4]
+  wire [2:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@28414.4]
+  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@28414.4]
+  TLMonitor_16 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@28414.4]
+    .clock(TLMonitor_clock),
+    .reset(TLMonitor_reset),
+    .io_in_a_ready(TLMonitor_io_in_a_ready),
+    .io_in_a_valid(TLMonitor_io_in_a_valid),
+    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
+    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
+    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
+    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
+    .io_in_d_ready(TLMonitor_io_in_d_ready),
+    .io_in_d_valid(TLMonitor_io_in_d_valid),
+    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
+    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source)
+  );
+  assign auto_in_a_ready = auto_out_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28454.4]
+  assign auto_in_d_valid = auto_out_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28454.4]
+  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28454.4]
+  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28454.4]
+  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28454.4]
+  assign auto_out_a_valid = auto_in_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@28453.4]
+  assign auto_out_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@28453.4]
+  assign auto_out_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@28453.4]
+  assign auto_out_a_bits_size = auto_in_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@28453.4]
+  assign auto_out_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@28453.4]
+  assign auto_out_a_bits_address = auto_in_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@28453.4]
+  assign auto_out_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@28453.4]
+  assign auto_out_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@28453.4]
+  assign auto_out_d_ready = auto_in_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@28453.4]
+  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28416.4]
+  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28417.4]
+  assign TLMonitor_io_in_a_ready = auto_out_a_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@28450.4]
+  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@28450.4]
+  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@28450.4]
+  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@28450.4]
+  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@28450.4]
+  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@28450.4]
+  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@28450.4]
+  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@28450.4]
+  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@28450.4]
+  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@28450.4]
+  assign TLMonitor_io_in_d_valid = auto_out_d_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@28450.4]
+  assign TLMonitor_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@28450.4]
+  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@28450.4]
+endmodule
+module SimpleLazyModule_6( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28464.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28465.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28466.4]
+  output        auto_buffer_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28467.4]
+  input         auto_buffer_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28467.4]
+  input  [2:0]  auto_buffer_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28467.4]
+  input  [2:0]  auto_buffer_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28467.4]
+  input  [2:0]  auto_buffer_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28467.4]
+  input         auto_buffer_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28467.4]
+  input  [16:0] auto_buffer_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28467.4]
+  input  [3:0]  auto_buffer_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28467.4]
+  input         auto_buffer_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28467.4]
+  input         auto_buffer_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28467.4]
+  output        auto_buffer_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28467.4]
+  output [2:0]  auto_buffer_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28467.4]
+  output        auto_buffer_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28467.4]
+  output [31:0] auto_buffer_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28467.4]
+  input         auto_fragmenter_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28467.4]
+  output        auto_fragmenter_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28467.4]
+  output [2:0]  auto_fragmenter_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28467.4]
+  output [2:0]  auto_fragmenter_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28467.4]
+  output [1:0]  auto_fragmenter_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28467.4]
+  output [5:0]  auto_fragmenter_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28467.4]
+  output [16:0] auto_fragmenter_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28467.4]
+  output [3:0]  auto_fragmenter_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28467.4]
+  output        auto_fragmenter_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28467.4]
+  output        auto_fragmenter_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28467.4]
+  input         auto_fragmenter_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28467.4]
+  input  [1:0]  auto_fragmenter_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28467.4]
+  input  [5:0]  auto_fragmenter_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28467.4]
+  input  [31:0] auto_fragmenter_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28467.4]
+);
+  wire  fragmenter_clock; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@28472.4]
+  wire  fragmenter_reset; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@28472.4]
+  wire  fragmenter_auto_in_a_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@28472.4]
+  wire  fragmenter_auto_in_a_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@28472.4]
+  wire [2:0] fragmenter_auto_in_a_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@28472.4]
+  wire [2:0] fragmenter_auto_in_a_bits_param; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@28472.4]
+  wire [2:0] fragmenter_auto_in_a_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@28472.4]
+  wire  fragmenter_auto_in_a_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@28472.4]
+  wire [16:0] fragmenter_auto_in_a_bits_address; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@28472.4]
+  wire [3:0] fragmenter_auto_in_a_bits_mask; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@28472.4]
+  wire  fragmenter_auto_in_a_bits_corrupt; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@28472.4]
+  wire  fragmenter_auto_in_d_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@28472.4]
+  wire  fragmenter_auto_in_d_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@28472.4]
+  wire [2:0] fragmenter_auto_in_d_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@28472.4]
+  wire  fragmenter_auto_in_d_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@28472.4]
+  wire [31:0] fragmenter_auto_in_d_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@28472.4]
+  wire  fragmenter_auto_out_a_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@28472.4]
+  wire  fragmenter_auto_out_a_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@28472.4]
+  wire [2:0] fragmenter_auto_out_a_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@28472.4]
+  wire [2:0] fragmenter_auto_out_a_bits_param; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@28472.4]
+  wire [1:0] fragmenter_auto_out_a_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@28472.4]
+  wire [5:0] fragmenter_auto_out_a_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@28472.4]
+  wire [16:0] fragmenter_auto_out_a_bits_address; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@28472.4]
+  wire [3:0] fragmenter_auto_out_a_bits_mask; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@28472.4]
+  wire  fragmenter_auto_out_a_bits_corrupt; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@28472.4]
+  wire  fragmenter_auto_out_d_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@28472.4]
+  wire  fragmenter_auto_out_d_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@28472.4]
+  wire [1:0] fragmenter_auto_out_d_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@28472.4]
+  wire [5:0] fragmenter_auto_out_d_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@28472.4]
+  wire [31:0] fragmenter_auto_out_d_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@28472.4]
+  wire  widget_clock; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28478.4]
+  wire  widget_reset; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28478.4]
+  wire  widget_auto_in_a_ready; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28478.4]
+  wire  widget_auto_in_a_valid; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28478.4]
+  wire [2:0] widget_auto_in_a_bits_opcode; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28478.4]
+  wire [2:0] widget_auto_in_a_bits_param; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28478.4]
+  wire [2:0] widget_auto_in_a_bits_size; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28478.4]
+  wire  widget_auto_in_a_bits_source; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28478.4]
+  wire [16:0] widget_auto_in_a_bits_address; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28478.4]
+  wire [3:0] widget_auto_in_a_bits_mask; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28478.4]
+  wire  widget_auto_in_a_bits_corrupt; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28478.4]
+  wire  widget_auto_in_d_ready; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28478.4]
+  wire  widget_auto_in_d_valid; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28478.4]
+  wire [2:0] widget_auto_in_d_bits_size; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28478.4]
+  wire  widget_auto_in_d_bits_source; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28478.4]
+  wire [31:0] widget_auto_in_d_bits_data; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28478.4]
+  wire  widget_auto_out_a_ready; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28478.4]
+  wire  widget_auto_out_a_valid; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28478.4]
+  wire [2:0] widget_auto_out_a_bits_opcode; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28478.4]
+  wire [2:0] widget_auto_out_a_bits_param; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28478.4]
+  wire [2:0] widget_auto_out_a_bits_size; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28478.4]
+  wire  widget_auto_out_a_bits_source; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28478.4]
+  wire [16:0] widget_auto_out_a_bits_address; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28478.4]
+  wire [3:0] widget_auto_out_a_bits_mask; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28478.4]
+  wire  widget_auto_out_a_bits_corrupt; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28478.4]
+  wire  widget_auto_out_d_ready; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28478.4]
+  wire  widget_auto_out_d_valid; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28478.4]
+  wire [2:0] widget_auto_out_d_bits_size; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28478.4]
+  wire  widget_auto_out_d_bits_source; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28478.4]
+  wire [31:0] widget_auto_out_d_bits_data; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28478.4]
+  wire  buffer_clock; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28484.4]
+  wire  buffer_reset; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28484.4]
+  wire  buffer_auto_in_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28484.4]
+  wire  buffer_auto_in_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28484.4]
+  wire [2:0] buffer_auto_in_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28484.4]
+  wire [2:0] buffer_auto_in_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28484.4]
+  wire [2:0] buffer_auto_in_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28484.4]
+  wire  buffer_auto_in_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28484.4]
+  wire [16:0] buffer_auto_in_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28484.4]
+  wire [3:0] buffer_auto_in_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28484.4]
+  wire  buffer_auto_in_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28484.4]
+  wire  buffer_auto_in_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28484.4]
+  wire  buffer_auto_in_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28484.4]
+  wire [2:0] buffer_auto_in_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28484.4]
+  wire  buffer_auto_in_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28484.4]
+  wire [31:0] buffer_auto_in_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28484.4]
+  wire  buffer_auto_out_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28484.4]
+  wire  buffer_auto_out_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28484.4]
+  wire [2:0] buffer_auto_out_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28484.4]
+  wire [2:0] buffer_auto_out_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28484.4]
+  wire [2:0] buffer_auto_out_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28484.4]
+  wire  buffer_auto_out_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28484.4]
+  wire [16:0] buffer_auto_out_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28484.4]
+  wire [3:0] buffer_auto_out_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28484.4]
+  wire  buffer_auto_out_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28484.4]
+  wire  buffer_auto_out_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28484.4]
+  wire  buffer_auto_out_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28484.4]
+  wire [2:0] buffer_auto_out_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28484.4]
+  wire  buffer_auto_out_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28484.4]
+  wire [31:0] buffer_auto_out_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28484.4]
+  TLFragmenter_3 fragmenter ( // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@28472.4]
+    .clock(fragmenter_clock),
+    .reset(fragmenter_reset),
+    .auto_in_a_ready(fragmenter_auto_in_a_ready),
+    .auto_in_a_valid(fragmenter_auto_in_a_valid),
+    .auto_in_a_bits_opcode(fragmenter_auto_in_a_bits_opcode),
+    .auto_in_a_bits_param(fragmenter_auto_in_a_bits_param),
+    .auto_in_a_bits_size(fragmenter_auto_in_a_bits_size),
+    .auto_in_a_bits_source(fragmenter_auto_in_a_bits_source),
+    .auto_in_a_bits_address(fragmenter_auto_in_a_bits_address),
+    .auto_in_a_bits_mask(fragmenter_auto_in_a_bits_mask),
+    .auto_in_a_bits_corrupt(fragmenter_auto_in_a_bits_corrupt),
+    .auto_in_d_ready(fragmenter_auto_in_d_ready),
+    .auto_in_d_valid(fragmenter_auto_in_d_valid),
+    .auto_in_d_bits_size(fragmenter_auto_in_d_bits_size),
+    .auto_in_d_bits_source(fragmenter_auto_in_d_bits_source),
+    .auto_in_d_bits_data(fragmenter_auto_in_d_bits_data),
+    .auto_out_a_ready(fragmenter_auto_out_a_ready),
+    .auto_out_a_valid(fragmenter_auto_out_a_valid),
+    .auto_out_a_bits_opcode(fragmenter_auto_out_a_bits_opcode),
+    .auto_out_a_bits_param(fragmenter_auto_out_a_bits_param),
+    .auto_out_a_bits_size(fragmenter_auto_out_a_bits_size),
+    .auto_out_a_bits_source(fragmenter_auto_out_a_bits_source),
+    .auto_out_a_bits_address(fragmenter_auto_out_a_bits_address),
+    .auto_out_a_bits_mask(fragmenter_auto_out_a_bits_mask),
+    .auto_out_a_bits_corrupt(fragmenter_auto_out_a_bits_corrupt),
+    .auto_out_d_ready(fragmenter_auto_out_d_ready),
+    .auto_out_d_valid(fragmenter_auto_out_d_valid),
+    .auto_out_d_bits_size(fragmenter_auto_out_d_bits_size),
+    .auto_out_d_bits_source(fragmenter_auto_out_d_bits_source),
+    .auto_out_d_bits_data(fragmenter_auto_out_d_bits_data)
+  );
+  TLWidthWidget_1 widget ( // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28478.4]
+    .clock(widget_clock),
+    .reset(widget_reset),
+    .auto_in_a_ready(widget_auto_in_a_ready),
+    .auto_in_a_valid(widget_auto_in_a_valid),
+    .auto_in_a_bits_opcode(widget_auto_in_a_bits_opcode),
+    .auto_in_a_bits_param(widget_auto_in_a_bits_param),
+    .auto_in_a_bits_size(widget_auto_in_a_bits_size),
+    .auto_in_a_bits_source(widget_auto_in_a_bits_source),
+    .auto_in_a_bits_address(widget_auto_in_a_bits_address),
+    .auto_in_a_bits_mask(widget_auto_in_a_bits_mask),
+    .auto_in_a_bits_corrupt(widget_auto_in_a_bits_corrupt),
+    .auto_in_d_ready(widget_auto_in_d_ready),
+    .auto_in_d_valid(widget_auto_in_d_valid),
+    .auto_in_d_bits_size(widget_auto_in_d_bits_size),
+    .auto_in_d_bits_source(widget_auto_in_d_bits_source),
+    .auto_in_d_bits_data(widget_auto_in_d_bits_data),
+    .auto_out_a_ready(widget_auto_out_a_ready),
+    .auto_out_a_valid(widget_auto_out_a_valid),
+    .auto_out_a_bits_opcode(widget_auto_out_a_bits_opcode),
+    .auto_out_a_bits_param(widget_auto_out_a_bits_param),
+    .auto_out_a_bits_size(widget_auto_out_a_bits_size),
+    .auto_out_a_bits_source(widget_auto_out_a_bits_source),
+    .auto_out_a_bits_address(widget_auto_out_a_bits_address),
+    .auto_out_a_bits_mask(widget_auto_out_a_bits_mask),
+    .auto_out_a_bits_corrupt(widget_auto_out_a_bits_corrupt),
+    .auto_out_d_ready(widget_auto_out_d_ready),
+    .auto_out_d_valid(widget_auto_out_d_valid),
+    .auto_out_d_bits_size(widget_auto_out_d_bits_size),
+    .auto_out_d_bits_source(widget_auto_out_d_bits_source),
+    .auto_out_d_bits_data(widget_auto_out_d_bits_data)
+  );
+  TLBuffer_6 buffer ( // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28484.4]
+    .clock(buffer_clock),
+    .reset(buffer_reset),
+    .auto_in_a_ready(buffer_auto_in_a_ready),
+    .auto_in_a_valid(buffer_auto_in_a_valid),
+    .auto_in_a_bits_opcode(buffer_auto_in_a_bits_opcode),
+    .auto_in_a_bits_param(buffer_auto_in_a_bits_param),
+    .auto_in_a_bits_size(buffer_auto_in_a_bits_size),
+    .auto_in_a_bits_source(buffer_auto_in_a_bits_source),
+    .auto_in_a_bits_address(buffer_auto_in_a_bits_address),
+    .auto_in_a_bits_mask(buffer_auto_in_a_bits_mask),
+    .auto_in_a_bits_corrupt(buffer_auto_in_a_bits_corrupt),
+    .auto_in_d_ready(buffer_auto_in_d_ready),
+    .auto_in_d_valid(buffer_auto_in_d_valid),
+    .auto_in_d_bits_size(buffer_auto_in_d_bits_size),
+    .auto_in_d_bits_source(buffer_auto_in_d_bits_source),
+    .auto_in_d_bits_data(buffer_auto_in_d_bits_data),
+    .auto_out_a_ready(buffer_auto_out_a_ready),
+    .auto_out_a_valid(buffer_auto_out_a_valid),
+    .auto_out_a_bits_opcode(buffer_auto_out_a_bits_opcode),
+    .auto_out_a_bits_param(buffer_auto_out_a_bits_param),
+    .auto_out_a_bits_size(buffer_auto_out_a_bits_size),
+    .auto_out_a_bits_source(buffer_auto_out_a_bits_source),
+    .auto_out_a_bits_address(buffer_auto_out_a_bits_address),
+    .auto_out_a_bits_mask(buffer_auto_out_a_bits_mask),
+    .auto_out_a_bits_corrupt(buffer_auto_out_a_bits_corrupt),
+    .auto_out_d_ready(buffer_auto_out_d_ready),
+    .auto_out_d_valid(buffer_auto_out_d_valid),
+    .auto_out_d_bits_size(buffer_auto_out_d_bits_size),
+    .auto_out_d_bits_source(buffer_auto_out_d_bits_source),
+    .auto_out_d_bits_data(buffer_auto_out_d_bits_data)
+  );
+  assign auto_buffer_in_a_ready = buffer_auto_in_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28493.4]
+  assign auto_buffer_in_d_valid = buffer_auto_in_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28493.4]
+  assign auto_buffer_in_d_bits_size = buffer_auto_in_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28493.4]
+  assign auto_buffer_in_d_bits_source = buffer_auto_in_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28493.4]
+  assign auto_buffer_in_d_bits_data = buffer_auto_in_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28493.4]
+  assign auto_fragmenter_out_a_valid = fragmenter_auto_out_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@28492.4]
+  assign auto_fragmenter_out_a_bits_opcode = fragmenter_auto_out_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@28492.4]
+  assign auto_fragmenter_out_a_bits_param = fragmenter_auto_out_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@28492.4]
+  assign auto_fragmenter_out_a_bits_size = fragmenter_auto_out_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@28492.4]
+  assign auto_fragmenter_out_a_bits_source = fragmenter_auto_out_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@28492.4]
+  assign auto_fragmenter_out_a_bits_address = fragmenter_auto_out_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@28492.4]
+  assign auto_fragmenter_out_a_bits_mask = fragmenter_auto_out_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@28492.4]
+  assign auto_fragmenter_out_a_bits_corrupt = fragmenter_auto_out_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@28492.4]
+  assign auto_fragmenter_out_d_ready = fragmenter_auto_out_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@28492.4]
+  assign fragmenter_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28476.4]
+  assign fragmenter_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28477.4]
+  assign fragmenter_auto_in_a_valid = widget_auto_out_a_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28490.4]
+  assign fragmenter_auto_in_a_bits_opcode = widget_auto_out_a_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28490.4]
+  assign fragmenter_auto_in_a_bits_param = widget_auto_out_a_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28490.4]
+  assign fragmenter_auto_in_a_bits_size = widget_auto_out_a_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28490.4]
+  assign fragmenter_auto_in_a_bits_source = widget_auto_out_a_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28490.4]
+  assign fragmenter_auto_in_a_bits_address = widget_auto_out_a_bits_address; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28490.4]
+  assign fragmenter_auto_in_a_bits_mask = widget_auto_out_a_bits_mask; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28490.4]
+  assign fragmenter_auto_in_a_bits_corrupt = widget_auto_out_a_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28490.4]
+  assign fragmenter_auto_in_d_ready = widget_auto_out_d_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28490.4]
+  assign fragmenter_auto_out_a_ready = auto_fragmenter_out_a_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@28492.4]
+  assign fragmenter_auto_out_d_valid = auto_fragmenter_out_d_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@28492.4]
+  assign fragmenter_auto_out_d_bits_size = auto_fragmenter_out_d_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@28492.4]
+  assign fragmenter_auto_out_d_bits_source = auto_fragmenter_out_d_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@28492.4]
+  assign fragmenter_auto_out_d_bits_data = auto_fragmenter_out_d_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@28492.4]
+  assign widget_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28482.4]
+  assign widget_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28483.4]
+  assign widget_auto_in_a_valid = buffer_auto_out_a_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28491.4]
+  assign widget_auto_in_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28491.4]
+  assign widget_auto_in_a_bits_param = buffer_auto_out_a_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28491.4]
+  assign widget_auto_in_a_bits_size = buffer_auto_out_a_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28491.4]
+  assign widget_auto_in_a_bits_source = buffer_auto_out_a_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28491.4]
+  assign widget_auto_in_a_bits_address = buffer_auto_out_a_bits_address; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28491.4]
+  assign widget_auto_in_a_bits_mask = buffer_auto_out_a_bits_mask; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28491.4]
+  assign widget_auto_in_a_bits_corrupt = buffer_auto_out_a_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28491.4]
+  assign widget_auto_in_d_ready = buffer_auto_out_d_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28491.4]
+  assign widget_auto_out_a_ready = fragmenter_auto_in_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28490.4]
+  assign widget_auto_out_d_valid = fragmenter_auto_in_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28490.4]
+  assign widget_auto_out_d_bits_size = fragmenter_auto_in_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28490.4]
+  assign widget_auto_out_d_bits_source = fragmenter_auto_in_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28490.4]
+  assign widget_auto_out_d_bits_data = fragmenter_auto_in_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28490.4]
+  assign buffer_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28488.4]
+  assign buffer_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28489.4]
+  assign buffer_auto_in_a_valid = auto_buffer_in_a_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28493.4]
+  assign buffer_auto_in_a_bits_opcode = auto_buffer_in_a_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28493.4]
+  assign buffer_auto_in_a_bits_param = auto_buffer_in_a_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28493.4]
+  assign buffer_auto_in_a_bits_size = auto_buffer_in_a_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28493.4]
+  assign buffer_auto_in_a_bits_source = auto_buffer_in_a_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28493.4]
+  assign buffer_auto_in_a_bits_address = auto_buffer_in_a_bits_address; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28493.4]
+  assign buffer_auto_in_a_bits_mask = auto_buffer_in_a_bits_mask; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28493.4]
+  assign buffer_auto_in_a_bits_corrupt = auto_buffer_in_a_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28493.4]
+  assign buffer_auto_in_d_ready = auto_buffer_in_d_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28493.4]
+  assign buffer_auto_out_a_ready = widget_auto_in_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28491.4]
+  assign buffer_auto_out_d_valid = widget_auto_in_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28491.4]
+  assign buffer_auto_out_d_bits_size = widget_auto_in_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28491.4]
+  assign buffer_auto_out_d_bits_source = widget_auto_in_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28491.4]
+  assign buffer_auto_out_d_bits_data = widget_auto_in_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28491.4]
+endmodule
+module TLMonitor_17( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28502.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28503.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28504.4]
+  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28505.4]
+  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28505.4]
+  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28505.4]
+  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28505.4]
+  input  [1:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28505.4]
+  input  [5:0]  io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28505.4]
+  input  [28:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28505.4]
+  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28505.4]
+  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28505.4]
+  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28505.4]
+  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28505.4]
+  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28505.4]
+  input  [1:0]  io_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28505.4]
+  input  [1:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28505.4]
+  input  [5:0]  io_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28505.4]
+  input         io_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28505.4]
+  input         io_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28505.4]
+  input         io_in_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28505.4]
+);
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@29643.4]
+  wire [4:0] _T_36; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@28532.6]
+  wire [1:0] _T_37; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@28533.6]
+  wire [1:0] _T_38; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@28534.6]
+  wire [28:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@28535.6]
+  wire [28:0] _T_39; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@28535.6]
+  wire  _T_40; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@28536.6]
+  wire  _T_42; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@28538.6]
+  wire [1:0] _T_43; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@28539.6]
+  wire [1:0] _T_45; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@28541.6]
+  wire  _T_46; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@28542.6]
+  wire  _T_47; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@28543.6]
+  wire  _T_48; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@28544.6]
+  wire  _T_49; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@28545.6]
+  wire  _T_51; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@28547.6]
+  wire  _T_52; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@28548.6]
+  wire  _T_54; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@28550.6]
+  wire  _T_55; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@28551.6]
+  wire  _T_56; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@28552.6]
+  wire  _T_57; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@28553.6]
+  wire  _T_58; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@28554.6]
+  wire  _T_59; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@28555.6]
+  wire  _T_60; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@28556.6]
+  wire  _T_61; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@28557.6]
+  wire  _T_62; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@28558.6]
+  wire  _T_63; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@28559.6]
+  wire  _T_64; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@28560.6]
+  wire  _T_65; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@28561.6]
+  wire  _T_66; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@28562.6]
+  wire  _T_67; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@28563.6]
+  wire  _T_68; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@28564.6]
+  wire  _T_69; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@28565.6]
+  wire  _T_70; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@28566.6]
+  wire [1:0] _T_71; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@28567.6]
+  wire [1:0] _T_72; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@28568.6]
+  wire [3:0] _T_73; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@28569.6]
+  wire  _T_92; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@28592.6]
+  wire [28:0] _T_94; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28595.8]
+  wire [29:0] _T_95; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@28596.8]
+  wire [29:0] _T_96; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@28597.8]
+  wire [29:0] _T_97; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@28598.8]
+  wire  _T_98; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@28599.8]
+  wire  _T_103; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28604.8]
+  wire  _T_112; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28625.8]
+  wire  _T_113; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28626.8]
+  wire  _T_115; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28632.8]
+  wire  _T_116; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28633.8]
+  wire  _T_117; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@28638.8]
+  wire  _T_119; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28640.8]
+  wire  _T_120; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28641.8]
+  wire [3:0] _T_121; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@28646.8]
+  wire  _T_122; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28647.8]
+  wire  _T_124; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28649.8]
+  wire  _T_125; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28650.8]
+  wire  _T_126; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@28655.8]
+  wire  _T_128; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28657.8]
+  wire  _T_129; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28658.8]
+  wire  _T_130; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@28664.6]
+  wire  _T_159; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28718.8]
+  wire  _T_161; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28720.8]
+  wire  _T_162; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28721.8]
+  wire  _T_172; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@28744.6]
+  wire  _T_174; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@28747.8]
+  wire  _T_182; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@28755.8]
+  wire  _T_185; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28758.8]
+  wire  _T_186; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28759.8]
+  wire  _T_193; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28778.8]
+  wire  _T_195; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28780.8]
+  wire  _T_196; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28781.8]
+  wire  _T_197; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@28786.8]
+  wire  _T_199; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28788.8]
+  wire  _T_200; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28789.8]
+  wire  _T_205; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@28803.6]
+  wire  _T_234; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@28854.6]
+  wire [3:0] _T_259; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@28896.8]
+  wire [3:0] _T_260; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28897.8]
+  wire  _T_261; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@28898.8]
+  wire  _T_263; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28900.8]
+  wire  _T_264; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28901.8]
+  wire  _T_265; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@28907.6]
+  wire  _T_283; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@28938.8]
+  wire  _T_285; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28940.8]
+  wire  _T_286; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28941.8]
+  wire  _T_291; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@28955.6]
+  wire  _T_309; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@28986.8]
+  wire  _T_311; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28988.8]
+  wire  _T_312; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28989.8]
+  wire  _T_317; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@29003.6]
+  wire  _T_343; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@29053.6]
+  wire  _T_345; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@29055.6]
+  wire  _T_346; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@29056.6]
+  wire  _T_363; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@29073.6]
+  wire  _T_367; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@29082.8]
+  wire  _T_369; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29084.8]
+  wire  _T_370; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29085.8]
+  wire  _T_371; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@29090.8]
+  wire  _T_373; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29092.8]
+  wire  _T_374; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29093.8]
+  wire  _T_375; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@29098.8]
+  wire  _T_377; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29100.8]
+  wire  _T_378; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29101.8]
+  wire  _T_379; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@29106.8]
+  wire  _T_381; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29108.8]
+  wire  _T_382; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29109.8]
+  wire  _T_383; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@29115.6]
+  wire  _T_394; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@29139.8]
+  wire  _T_396; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29141.8]
+  wire  _T_397; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29142.8]
+  wire  _T_398; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@29147.8]
+  wire  _T_400; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29149.8]
+  wire  _T_401; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29150.8]
+  wire  _T_411; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@29173.6]
+  wire  _T_431; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@29214.8]
+  wire  _T_433; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29216.8]
+  wire  _T_434; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29217.8]
+  wire  _T_440; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@29232.6]
+  wire  _T_457; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@29267.6]
+  wire  _T_475; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@29303.6]
+  wire  _T_504; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@29363.4]
+  reg  _T_514; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@29372.4]
+  reg [31:0] _RAND_0;
+  wire [1:0] _T_515; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@29373.4]
+  wire [1:0] _T_516; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@29374.4]
+  wire  _T_517; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@29375.4]
+  wire  _T_518; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@29376.4]
+  reg [2:0] _T_527; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@29387.4]
+  reg [31:0] _RAND_1;
+  reg [2:0] _T_529; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@29388.4]
+  reg [31:0] _RAND_2;
+  reg [1:0] _T_531; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@29389.4]
+  reg [31:0] _RAND_3;
+  reg [5:0] _T_533; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@29390.4]
+  reg [31:0] _RAND_4;
+  reg [28:0] _T_535; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@29391.4]
+  reg [31:0] _RAND_5;
+  wire  _T_536; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@29392.4]
+  wire  _T_537; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@29393.4]
+  wire  _T_538; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@29395.6]
+  wire  _T_540; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29397.6]
+  wire  _T_541; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29398.6]
+  wire  _T_542; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@29403.6]
+  wire  _T_544; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29405.6]
+  wire  _T_545; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29406.6]
+  wire  _T_546; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@29411.6]
+  wire  _T_548; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29413.6]
+  wire  _T_549; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29414.6]
+  wire  _T_550; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@29419.6]
+  wire  _T_552; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29421.6]
+  wire  _T_553; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29422.6]
+  wire  _T_554; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@29427.6]
+  wire  _T_556; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29429.6]
+  wire  _T_557; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29430.6]
+  wire  _T_559; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@29437.4]
+  wire  _T_560; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@29445.4]
+  reg  _T_569; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@29453.4]
+  reg [31:0] _RAND_6;
+  wire [1:0] _T_570; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@29454.4]
+  wire [1:0] _T_571; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@29455.4]
+  wire  _T_572; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@29456.4]
+  wire  _T_573; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@29457.4]
+  reg [2:0] _T_582; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@29468.4]
+  reg [31:0] _RAND_7;
+  reg [1:0] _T_584; // @[Monitor.scala 419:22:shc.marmotcaravel.MarmotCaravelConfig.fir@29469.4]
+  reg [31:0] _RAND_8;
+  reg [1:0] _T_586; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@29470.4]
+  reg [31:0] _RAND_9;
+  reg [5:0] _T_588; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@29471.4]
+  reg [31:0] _RAND_10;
+  reg  _T_590; // @[Monitor.scala 422:22:shc.marmotcaravel.MarmotCaravelConfig.fir@29472.4]
+  reg [31:0] _RAND_11;
+  reg  _T_592; // @[Monitor.scala 423:22:shc.marmotcaravel.MarmotCaravelConfig.fir@29473.4]
+  reg [31:0] _RAND_12;
+  wire  _T_593; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@29474.4]
+  wire  _T_594; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@29475.4]
+  wire  _T_595; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@29477.6]
+  wire  _T_597; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29479.6]
+  wire  _T_598; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29480.6]
+  wire  _T_599; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@29485.6]
+  wire  _T_601; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29487.6]
+  wire  _T_602; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29488.6]
+  wire  _T_603; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@29493.6]
+  wire  _T_605; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29495.6]
+  wire  _T_606; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29496.6]
+  wire  _T_607; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@29501.6]
+  wire  _T_609; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29503.6]
+  wire  _T_610; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29504.6]
+  wire  _T_611; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@29509.6]
+  wire  _T_613; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29511.6]
+  wire  _T_614; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29512.6]
+  wire  _T_615; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@29517.6]
+  wire  _T_617; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29519.6]
+  wire  _T_618; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29520.6]
+  wire  _T_620; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@29527.4]
+  reg [63:0] _T_622; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@29536.4]
+  reg [63:0] _RAND_13;
+  reg  _T_633; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@29546.4]
+  reg [31:0] _RAND_14;
+  wire [1:0] _T_634; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@29547.4]
+  wire [1:0] _T_635; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@29548.4]
+  wire  _T_636; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@29549.4]
+  wire  _T_637; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@29550.4]
+  reg  _T_654; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@29569.4]
+  reg [31:0] _RAND_15;
+  wire [1:0] _T_655; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@29570.4]
+  wire [1:0] _T_656; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@29571.4]
+  wire  _T_657; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@29572.4]
+  wire  _T_658; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@29573.4]
+  wire  _T_669; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@29588.4]
+  wire [63:0] _T_671; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@29591.6]
+  wire [63:0] _T_672; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@29593.6]
+  wire  _T_673; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@29594.6]
+  wire  _T_674; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29595.6]
+  wire  _T_676; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@29597.6]
+  wire  _T_677; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@29598.6]
+  wire [63:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@29590.4]
+  wire  _T_682; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@29609.4]
+  wire  _T_684; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@29611.4]
+  wire  _T_685; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@29612.4]
+  wire [63:0] _T_686; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@29614.6]
+  wire [63:0] _T_687; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@29616.6]
+  wire [63:0] _T_688; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@29617.6]
+  wire  _T_689; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@29618.6]
+  wire  _T_691; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@29620.6]
+  wire  _T_692; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@29621.6]
+  wire [63:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@29613.4]
+  wire  _T_693; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@29627.4]
+  wire  _T_694; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@29628.4]
+  wire  _T_695; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@29629.4]
+  wire  _T_696; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@29630.4]
+  wire  _T_698; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@29632.4]
+  wire  _T_699; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@29633.4]
+  wire [63:0] _T_700; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@29638.4]
+  wire [63:0] _T_701; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@29639.4]
+  wire [63:0] _T_702; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@29640.4]
+  reg [31:0] _T_704; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@29642.4]
+  reg [31:0] _RAND_16;
+  wire  _T_705; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@29645.4]
+  wire  _T_706; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@29646.4]
+  wire  _T_707; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@29647.4]
+  wire  _T_708; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@29648.4]
+  wire  _T_709; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@29649.4]
+  wire  _T_710; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@29650.4]
+  wire  _T_712; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@29652.4]
+  wire  _T_713; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@29653.4]
+  wire [31:0] _T_715; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@29659.4]
+  wire  _T_718; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@29663.4]
+  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28606.10]
+  wire  _GEN_33; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28678.10]
+  wire  _GEN_49; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28761.10]
+  wire  _GEN_59; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28820.10]
+  wire  _GEN_67; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28871.10]
+  wire  _GEN_75; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28921.10]
+  wire  _GEN_83; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28969.10]
+  wire  _GEN_91; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29017.10]
+  wire  _GEN_99; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29087.10]
+  wire  _GEN_107; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29128.10]
+  wire  _GEN_119; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29186.10]
+  wire  _GEN_131; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29246.10]
+  wire  _GEN_137; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29281.10]
+  wire  _GEN_143; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29317.10]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@29643.4]
+    .out(plusarg_reader_out)
+  );
+  assign _T_36 = 5'h3 << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@28532.6]
+  assign _T_37 = _T_36[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@28533.6]
+  assign _T_38 = ~ _T_37; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@28534.6]
+  assign _GEN_18 = {{27'd0}, _T_38}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@28535.6]
+  assign _T_39 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@28535.6]
+  assign _T_40 = _T_39 == 29'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@28536.6]
+  assign _T_42 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@28538.6]
+  assign _T_43 = 2'h1 << _T_42; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@28539.6]
+  assign _T_45 = _T_43 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@28541.6]
+  assign _T_46 = io_in_a_bits_size >= 2'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@28542.6]
+  assign _T_47 = _T_45[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@28543.6]
+  assign _T_48 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@28544.6]
+  assign _T_49 = _T_48 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@28545.6]
+  assign _T_51 = _T_47 & _T_49; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@28547.6]
+  assign _T_52 = _T_46 | _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@28548.6]
+  assign _T_54 = _T_47 & _T_48; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@28550.6]
+  assign _T_55 = _T_46 | _T_54; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@28551.6]
+  assign _T_56 = _T_45[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@28552.6]
+  assign _T_57 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@28553.6]
+  assign _T_58 = _T_57 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@28554.6]
+  assign _T_59 = _T_49 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@28555.6]
+  assign _T_60 = _T_56 & _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@28556.6]
+  assign _T_61 = _T_52 | _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@28557.6]
+  assign _T_62 = _T_49 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@28558.6]
+  assign _T_63 = _T_56 & _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@28559.6]
+  assign _T_64 = _T_52 | _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@28560.6]
+  assign _T_65 = _T_48 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@28561.6]
+  assign _T_66 = _T_56 & _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@28562.6]
+  assign _T_67 = _T_55 | _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@28563.6]
+  assign _T_68 = _T_48 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@28564.6]
+  assign _T_69 = _T_56 & _T_68; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@28565.6]
+  assign _T_70 = _T_55 | _T_69; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@28566.6]
+  assign _T_71 = {_T_64,_T_61}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@28567.6]
+  assign _T_72 = {_T_70,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@28568.6]
+  assign _T_73 = {_T_72,_T_71}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@28569.6]
+  assign _T_92 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@28592.6]
+  assign _T_94 = io_in_a_bits_address ^ 29'h10000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28595.8]
+  assign _T_95 = {1'b0,$signed(_T_94)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@28596.8]
+  assign _T_96 = $signed(_T_95) & $signed(-30'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@28597.8]
+  assign _T_97 = $signed(_T_96); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@28598.8]
+  assign _T_98 = $signed(_T_97) == $signed(30'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@28599.8]
+  assign _T_103 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28604.8]
+  assign _T_112 = _T_46 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28625.8]
+  assign _T_113 = _T_112 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28626.8]
+  assign _T_115 = _T_40 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28632.8]
+  assign _T_116 = _T_115 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28633.8]
+  assign _T_117 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@28638.8]
+  assign _T_119 = _T_117 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28640.8]
+  assign _T_120 = _T_119 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28641.8]
+  assign _T_121 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@28646.8]
+  assign _T_122 = _T_121 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28647.8]
+  assign _T_124 = _T_122 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28649.8]
+  assign _T_125 = _T_124 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28650.8]
+  assign _T_126 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@28655.8]
+  assign _T_128 = _T_126 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28657.8]
+  assign _T_129 = _T_128 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28658.8]
+  assign _T_130 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@28664.6]
+  assign _T_159 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28718.8]
+  assign _T_161 = _T_159 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28720.8]
+  assign _T_162 = _T_161 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28721.8]
+  assign _T_172 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@28744.6]
+  assign _T_174 = io_in_a_bits_size <= 2'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@28747.8]
+  assign _T_182 = _T_174 & _T_98; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@28755.8]
+  assign _T_185 = _T_182 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28758.8]
+  assign _T_186 = _T_185 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28759.8]
+  assign _T_193 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28778.8]
+  assign _T_195 = _T_193 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28780.8]
+  assign _T_196 = _T_195 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28781.8]
+  assign _T_197 = io_in_a_bits_mask == _T_73; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@28786.8]
+  assign _T_199 = _T_197 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28788.8]
+  assign _T_200 = _T_199 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28789.8]
+  assign _T_205 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@28803.6]
+  assign _T_234 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@28854.6]
+  assign _T_259 = ~ _T_73; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@28896.8]
+  assign _T_260 = io_in_a_bits_mask & _T_259; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28897.8]
+  assign _T_261 = _T_260 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@28898.8]
+  assign _T_263 = _T_261 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28900.8]
+  assign _T_264 = _T_263 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28901.8]
+  assign _T_265 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@28907.6]
+  assign _T_283 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@28938.8]
+  assign _T_285 = _T_283 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28940.8]
+  assign _T_286 = _T_285 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28941.8]
+  assign _T_291 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@28955.6]
+  assign _T_309 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@28986.8]
+  assign _T_311 = _T_309 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28988.8]
+  assign _T_312 = _T_311 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28989.8]
+  assign _T_317 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@29003.6]
+  assign _T_343 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@29053.6]
+  assign _T_345 = _T_343 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@29055.6]
+  assign _T_346 = _T_345 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@29056.6]
+  assign _T_363 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@29073.6]
+  assign _T_367 = io_in_d_bits_size >= 2'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@29082.8]
+  assign _T_369 = _T_367 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29084.8]
+  assign _T_370 = _T_369 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29085.8]
+  assign _T_371 = io_in_d_bits_param == 2'h0; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@29090.8]
+  assign _T_373 = _T_371 | reset; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29092.8]
+  assign _T_374 = _T_373 == 1'h0; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29093.8]
+  assign _T_375 = io_in_d_bits_corrupt == 1'h0; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@29098.8]
+  assign _T_377 = _T_375 | reset; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29100.8]
+  assign _T_378 = _T_377 == 1'h0; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29101.8]
+  assign _T_379 = io_in_d_bits_denied == 1'h0; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@29106.8]
+  assign _T_381 = _T_379 | reset; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29108.8]
+  assign _T_382 = _T_381 == 1'h0; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29109.8]
+  assign _T_383 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@29115.6]
+  assign _T_394 = io_in_d_bits_param <= 2'h2; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@29139.8]
+  assign _T_396 = _T_394 | reset; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29141.8]
+  assign _T_397 = _T_396 == 1'h0; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29142.8]
+  assign _T_398 = io_in_d_bits_param != 2'h2; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@29147.8]
+  assign _T_400 = _T_398 | reset; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29149.8]
+  assign _T_401 = _T_400 == 1'h0; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29150.8]
+  assign _T_411 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@29173.6]
+  assign _T_431 = _T_379 | io_in_d_bits_corrupt; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@29214.8]
+  assign _T_433 = _T_431 | reset; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29216.8]
+  assign _T_434 = _T_433 == 1'h0; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29217.8]
+  assign _T_440 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@29232.6]
+  assign _T_457 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@29267.6]
+  assign _T_475 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@29303.6]
+  assign _T_504 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@29363.4]
+  assign _T_515 = _T_514 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@29373.4]
+  assign _T_516 = $unsigned(_T_515); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@29374.4]
+  assign _T_517 = _T_516[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@29375.4]
+  assign _T_518 = _T_514 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@29376.4]
+  assign _T_536 = _T_518 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@29392.4]
+  assign _T_537 = io_in_a_valid & _T_536; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@29393.4]
+  assign _T_538 = io_in_a_bits_opcode == _T_527; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@29395.6]
+  assign _T_540 = _T_538 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29397.6]
+  assign _T_541 = _T_540 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29398.6]
+  assign _T_542 = io_in_a_bits_param == _T_529; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@29403.6]
+  assign _T_544 = _T_542 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29405.6]
+  assign _T_545 = _T_544 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29406.6]
+  assign _T_546 = io_in_a_bits_size == _T_531; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@29411.6]
+  assign _T_548 = _T_546 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29413.6]
+  assign _T_549 = _T_548 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29414.6]
+  assign _T_550 = io_in_a_bits_source == _T_533; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@29419.6]
+  assign _T_552 = _T_550 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29421.6]
+  assign _T_553 = _T_552 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29422.6]
+  assign _T_554 = io_in_a_bits_address == _T_535; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@29427.6]
+  assign _T_556 = _T_554 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29429.6]
+  assign _T_557 = _T_556 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29430.6]
+  assign _T_559 = _T_504 & _T_518; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@29437.4]
+  assign _T_560 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@29445.4]
+  assign _T_570 = _T_569 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@29454.4]
+  assign _T_571 = $unsigned(_T_570); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@29455.4]
+  assign _T_572 = _T_571[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@29456.4]
+  assign _T_573 = _T_569 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@29457.4]
+  assign _T_593 = _T_573 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@29474.4]
+  assign _T_594 = io_in_d_valid & _T_593; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@29475.4]
+  assign _T_595 = io_in_d_bits_opcode == _T_582; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@29477.6]
+  assign _T_597 = _T_595 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29479.6]
+  assign _T_598 = _T_597 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29480.6]
+  assign _T_599 = io_in_d_bits_param == _T_584; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@29485.6]
+  assign _T_601 = _T_599 | reset; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29487.6]
+  assign _T_602 = _T_601 == 1'h0; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29488.6]
+  assign _T_603 = io_in_d_bits_size == _T_586; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@29493.6]
+  assign _T_605 = _T_603 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29495.6]
+  assign _T_606 = _T_605 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29496.6]
+  assign _T_607 = io_in_d_bits_source == _T_588; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@29501.6]
+  assign _T_609 = _T_607 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29503.6]
+  assign _T_610 = _T_609 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29504.6]
+  assign _T_611 = io_in_d_bits_sink == _T_590; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@29509.6]
+  assign _T_613 = _T_611 | reset; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29511.6]
+  assign _T_614 = _T_613 == 1'h0; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29512.6]
+  assign _T_615 = io_in_d_bits_denied == _T_592; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@29517.6]
+  assign _T_617 = _T_615 | reset; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29519.6]
+  assign _T_618 = _T_617 == 1'h0; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29520.6]
+  assign _T_620 = _T_560 & _T_573; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@29527.4]
+  assign _T_634 = _T_633 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@29547.4]
+  assign _T_635 = $unsigned(_T_634); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@29548.4]
+  assign _T_636 = _T_635[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@29549.4]
+  assign _T_637 = _T_633 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@29550.4]
+  assign _T_655 = _T_654 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@29570.4]
+  assign _T_656 = $unsigned(_T_655); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@29571.4]
+  assign _T_657 = _T_656[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@29572.4]
+  assign _T_658 = _T_654 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@29573.4]
+  assign _T_669 = _T_504 & _T_637; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@29588.4]
+  assign _T_671 = 64'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@29591.6]
+  assign _T_672 = _T_622 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@29593.6]
+  assign _T_673 = _T_672[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@29594.6]
+  assign _T_674 = _T_673 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29595.6]
+  assign _T_676 = _T_674 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@29597.6]
+  assign _T_677 = _T_676 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@29598.6]
+  assign _GEN_15 = _T_669 ? _T_671 : 64'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@29590.4]
+  assign _T_682 = _T_560 & _T_658; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@29609.4]
+  assign _T_684 = _T_363 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@29611.4]
+  assign _T_685 = _T_682 & _T_684; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@29612.4]
+  assign _T_686 = 64'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@29614.6]
+  assign _T_687 = _GEN_15 | _T_622; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@29616.6]
+  assign _T_688 = _T_687 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@29617.6]
+  assign _T_689 = _T_688[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@29618.6]
+  assign _T_691 = _T_689 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@29620.6]
+  assign _T_692 = _T_691 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@29621.6]
+  assign _GEN_16 = _T_685 ? _T_686 : 64'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@29613.4]
+  assign _T_693 = _GEN_15 != _GEN_16; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@29627.4]
+  assign _T_694 = _GEN_15 != 64'h0; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@29628.4]
+  assign _T_695 = _T_694 == 1'h0; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@29629.4]
+  assign _T_696 = _T_693 | _T_695; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@29630.4]
+  assign _T_698 = _T_696 | reset; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@29632.4]
+  assign _T_699 = _T_698 == 1'h0; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@29633.4]
+  assign _T_700 = _T_622 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@29638.4]
+  assign _T_701 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@29639.4]
+  assign _T_702 = _T_700 & _T_701; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@29640.4]
+  assign _T_705 = _T_622 != 64'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@29645.4]
+  assign _T_706 = _T_705 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@29646.4]
+  assign _T_707 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@29647.4]
+  assign _T_708 = _T_706 | _T_707; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@29648.4]
+  assign _T_709 = _T_704 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@29649.4]
+  assign _T_710 = _T_708 | _T_709; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@29650.4]
+  assign _T_712 = _T_710 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@29652.4]
+  assign _T_713 = _T_712 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@29653.4]
+  assign _T_715 = _T_704 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@29659.4]
+  assign _T_718 = _T_504 | _T_560; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@29663.4]
+  assign _GEN_19 = io_in_a_valid & _T_92; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28606.10]
+  assign _GEN_33 = io_in_a_valid & _T_130; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28678.10]
+  assign _GEN_49 = io_in_a_valid & _T_172; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28761.10]
+  assign _GEN_59 = io_in_a_valid & _T_205; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28820.10]
+  assign _GEN_67 = io_in_a_valid & _T_234; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28871.10]
+  assign _GEN_75 = io_in_a_valid & _T_265; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28921.10]
+  assign _GEN_83 = io_in_a_valid & _T_291; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28969.10]
+  assign _GEN_91 = io_in_a_valid & _T_317; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29017.10]
+  assign _GEN_99 = io_in_d_valid & _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29087.10]
+  assign _GEN_107 = io_in_d_valid & _T_383; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29128.10]
+  assign _GEN_119 = io_in_d_valid & _T_411; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29186.10]
+  assign _GEN_131 = io_in_d_valid & _T_440; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29246.10]
+  assign _GEN_137 = io_in_d_valid & _T_457; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29281.10]
+  assign _GEN_143 = io_in_d_valid & _T_475; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29317.10]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  _T_514 = _RAND_0[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  _T_527 = _RAND_1[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  _T_529 = _RAND_2[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  _T_531 = _RAND_3[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  _T_533 = _RAND_4[5:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  _T_535 = _RAND_5[28:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {1{`RANDOM}};
+  _T_569 = _RAND_6[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {1{`RANDOM}};
+  _T_582 = _RAND_7[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_8 = {1{`RANDOM}};
+  _T_584 = _RAND_8[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_9 = {1{`RANDOM}};
+  _T_586 = _RAND_9[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_10 = {1{`RANDOM}};
+  _T_588 = _RAND_10[5:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_11 = {1{`RANDOM}};
+  _T_590 = _RAND_11[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_12 = {1{`RANDOM}};
+  _T_592 = _RAND_12[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_13 = {2{`RANDOM}};
+  _T_622 = _RAND_13[63:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_14 = {1{`RANDOM}};
+  _T_633 = _RAND_14[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_15 = {1{`RANDOM}};
+  _T_654 = _RAND_15[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_16 = {1{`RANDOM}};
+  _T_704 = _RAND_16[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      _T_514 <= 1'h0;
+    end else begin
+      if (_T_504) begin
+        if (_T_518) begin
+          _T_514 <= 1'h0;
+        end else begin
+          _T_514 <= _T_517;
+        end
+      end
+    end
+    if (_T_559) begin
+      _T_527 <= io_in_a_bits_opcode;
+    end
+    if (_T_559) begin
+      _T_529 <= io_in_a_bits_param;
+    end
+    if (_T_559) begin
+      _T_531 <= io_in_a_bits_size;
+    end
+    if (_T_559) begin
+      _T_533 <= io_in_a_bits_source;
+    end
+    if (_T_559) begin
+      _T_535 <= io_in_a_bits_address;
+    end
+    if (reset) begin
+      _T_569 <= 1'h0;
+    end else begin
+      if (_T_560) begin
+        if (_T_573) begin
+          _T_569 <= 1'h0;
+        end else begin
+          _T_569 <= _T_572;
+        end
+      end
+    end
+    if (_T_620) begin
+      _T_582 <= io_in_d_bits_opcode;
+    end
+    if (_T_620) begin
+      _T_584 <= io_in_d_bits_param;
+    end
+    if (_T_620) begin
+      _T_586 <= io_in_d_bits_size;
+    end
+    if (_T_620) begin
+      _T_588 <= io_in_d_bits_source;
+    end
+    if (_T_620) begin
+      _T_590 <= io_in_d_bits_sink;
+    end
+    if (_T_620) begin
+      _T_592 <= io_in_d_bits_denied;
+    end
+    if (reset) begin
+      _T_622 <= 64'h0;
+    end else begin
+      _T_622 <= _T_702;
+    end
+    if (reset) begin
+      _T_633 <= 1'h0;
+    end else begin
+      if (_T_504) begin
+        if (_T_637) begin
+          _T_633 <= 1'h0;
+        end else begin
+          _T_633 <= _T_636;
+        end
+      end
+    end
+    if (reset) begin
+      _T_654 <= 1'h0;
+    end else begin
+      if (_T_560) begin
+        if (_T_658) begin
+          _T_654 <= 1'h0;
+        end else begin
+          _T_654 <= _T_657;
+        end
+      end
+    end
+    if (reset) begin
+      _T_704 <= 32'h0;
+    end else begin
+      if (_T_718) begin
+        _T_704 <= 32'h0;
+      end else begin
+        _T_704 <= _T_715;
+      end
+    end
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@28517.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@28518.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@28589.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@28590.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28606.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_103) begin
+          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28607.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28613.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_103) begin
+          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28614.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28620.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28621.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_113) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28628.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_113) begin
+          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28629.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28635.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_116) begin
+          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28636.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_120) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28643.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_120) begin
+          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28644.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_125) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28652.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_125) begin
+          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28653.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_129) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28660.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_129) begin
+          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28661.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28678.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_103) begin
+          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28679.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28685.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_103) begin
+          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28686.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28692.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28693.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_113) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28700.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_113) begin
+          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28701.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28707.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_116) begin
+          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28708.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_120) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28715.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_120) begin
+          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28716.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_162) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28723.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_162) begin
+          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28724.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_125) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28732.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_125) begin
+          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28733.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_129) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28740.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_129) begin
+          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28741.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_186) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28761.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_186) begin
+          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28762.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28768.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28769.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28775.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_116) begin
+          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28776.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_196) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28783.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_196) begin
+          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28784.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28791.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_200) begin
+          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28792.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_129) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28799.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_129) begin
+          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28800.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_59 & _T_186) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28820.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_59 & _T_186) begin
+          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28821.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28827.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28828.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_59 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28834.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_59 & _T_116) begin
+          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28835.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_59 & _T_196) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28842.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_59 & _T_196) begin
+          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28843.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_59 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28850.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_59 & _T_200) begin
+          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28851.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_67 & _T_186) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28871.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_67 & _T_186) begin
+          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28872.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28878.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28879.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_67 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28885.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_67 & _T_116) begin
+          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28886.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_67 & _T_196) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28893.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_67 & _T_196) begin
+          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28894.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_67 & _T_264) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28903.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_67 & _T_264) begin
+          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28904.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28921.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_103) begin
+          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28922.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28928.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28929.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28935.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_116) begin
+          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28936.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_286) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28943.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_286) begin
+          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28944.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28951.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_200) begin
+          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28952.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_83 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28969.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_83 & _T_103) begin
+          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28970.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28976.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28977.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_83 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28983.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_83 & _T_116) begin
+          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28984.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_83 & _T_312) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28991.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_83 & _T_312) begin
+          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28992.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_83 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28999.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_83 & _T_200) begin
+          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29000.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_91 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29017.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_91 & _T_103) begin
+          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29018.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29024.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29025.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_91 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29031.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_91 & _T_116) begin
+          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29032.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_91 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29039.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_91 & _T_200) begin
+          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29040.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_91 & _T_129) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29047.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_91 & _T_129) begin
+          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29048.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_346) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@29058.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_346) begin
+          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@29059.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29079.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29080.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_99 & _T_370) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29087.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_99 & _T_370) begin
+          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29088.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_99 & _T_374) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29095.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_99 & _T_374) begin
+          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29096.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_99 & _T_378) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29103.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_99 & _T_378) begin
+          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29104.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_99 & _T_382) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29111.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_99 & _T_382) begin
+          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29112.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29121.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29122.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_107 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29128.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_107 & _T_103) begin
+          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29129.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_107 & _T_370) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29136.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_107 & _T_370) begin
+          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29137.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_107 & _T_397) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29144.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_107 & _T_397) begin
+          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29145.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_107 & _T_401) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29152.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_107 & _T_401) begin
+          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29153.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_107 & _T_378) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29160.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_107 & _T_378) begin
+          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29161.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_107 & _T_382) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29169.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_107 & _T_382) begin
+          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29170.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29179.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29180.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_119 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29186.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_119 & _T_103) begin
+          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29187.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_119 & _T_370) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29194.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_119 & _T_370) begin
+          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29195.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_119 & _T_397) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29202.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_119 & _T_397) begin
+          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29203.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_119 & _T_401) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29210.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_119 & _T_401) begin
+          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29211.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_119 & _T_434) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29219.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_119 & _T_434) begin
+          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29220.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_119 & _T_382) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29228.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_119 & _T_382) begin
+          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29229.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29238.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29239.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_131 & _T_374) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29246.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_131 & _T_374) begin
+          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29247.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_131 & _T_378) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29254.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_131 & _T_378) begin
+          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29255.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_131 & _T_382) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29263.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_131 & _T_382) begin
+          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29264.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29273.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29274.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_137 & _T_374) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29281.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_137 & _T_374) begin
+          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29282.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_137 & _T_434) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29290.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_137 & _T_434) begin
+          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29291.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_137 & _T_382) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29299.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_137 & _T_382) begin
+          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29300.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29309.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29310.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_143 & _T_374) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29317.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_143 & _T_374) begin
+          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29318.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_143 & _T_378) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29325.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_143 & _T_378) begin
+          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29326.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_143 & _T_382) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29334.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_143 & _T_382) begin
+          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29335.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29344.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29345.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29352.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29353.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29360.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29361.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_541) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29400.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_541) begin
+          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29401.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_545) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29408.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_545) begin
+          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29409.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_549) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29416.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_549) begin
+          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29417.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_553) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29424.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_553) begin
+          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29425.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_557) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29432.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_557) begin
+          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29433.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_594 & _T_598) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29482.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_594 & _T_598) begin
+          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29483.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_594 & _T_602) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29490.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_594 & _T_602) begin
+          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29491.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_594 & _T_606) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29498.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_594 & _T_606) begin
+          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29499.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_594 & _T_610) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29506.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_594 & _T_610) begin
+          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29507.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_594 & _T_614) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29514.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_594 & _T_614) begin
+          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29515.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_594 & _T_618) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29522.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_594 & _T_618) begin
+          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29523.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_669 & _T_677) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@29600.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_669 & _T_677) begin
+          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@29601.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_685 & _T_692) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@29623.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_685 & _T_692) begin
+          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@29624.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_699) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' and 'D' concurrent, despite minlatency 4 (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:471 assert(a_set =/= d_clr || !a_set.orR, s\"'A' and 'D' concurrent, despite minlatency ${edge.manager.minLatency}\" + extra)\n"); // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@29635.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_699) begin
+          $fatal; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@29636.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_713) begin
+          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@29655.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_713) begin
+          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@29656.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+endmodule
+module AsyncResetRegVec_w1_i0( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@29678.2]
+  input   clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@29679.4]
+  input   reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@29680.4]
+  input   io_d, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@29681.4]
+  output  io_q, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@29681.4]
+  input   io_en // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@29681.4]
+);
+  wire  reg_0_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@29686.4]
+  wire  reg_0_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@29686.4]
+  wire  reg_0_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@29686.4]
+  wire  reg_0_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@29686.4]
+  wire  reg_0_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@29686.4]
+  AsyncResetReg #(.RESET_VALUE(0)) reg_0 ( // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@29686.4]
+    .rst(reg_0_rst),
+    .clk(reg_0_clk),
+    .en(reg_0_en),
+    .q(reg_0_q),
+    .d(reg_0_d)
+  );
+  assign io_q = reg_0_q; // @[AsyncResetReg.scala 73:8:shc.marmotcaravel.MarmotCaravelConfig.fir@29697.4]
+  assign reg_0_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@29693.4]
+  assign reg_0_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@29692.4]
+  assign reg_0_en = io_en; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@29696.4]
+  assign reg_0_d = io_d; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@29695.4]
+endmodule
+module AsyncResetSynchronizerShiftReg_w1_d3_i0( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@29792.2]
+  input   clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@29793.4]
+  input   reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@29794.4]
+  input   io_d, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@29795.4]
+  output  io_q // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@29795.4]
+);
+  wire  sync_0_clock; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@29800.4]
+  wire  sync_0_reset; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@29800.4]
+  wire  sync_0_io_d; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@29800.4]
+  wire  sync_0_io_q; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@29800.4]
+  wire  sync_0_io_en; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@29800.4]
+  wire  sync_1_clock; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@29804.4]
+  wire  sync_1_reset; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@29804.4]
+  wire  sync_1_io_d; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@29804.4]
+  wire  sync_1_io_q; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@29804.4]
+  wire  sync_1_io_en; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@29804.4]
+  wire  sync_2_clock; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@29808.4]
+  wire  sync_2_reset; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@29808.4]
+  wire  sync_2_io_d; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@29808.4]
+  wire  sync_2_io_q; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@29808.4]
+  wire  sync_2_io_en; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@29808.4]
+  AsyncResetRegVec_w1_i0 sync_0 ( // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@29800.4]
+    .clock(sync_0_clock),
+    .reset(sync_0_reset),
+    .io_d(sync_0_io_d),
+    .io_q(sync_0_io_q),
+    .io_en(sync_0_io_en)
+  );
+  AsyncResetRegVec_w1_i0 sync_1 ( // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@29804.4]
+    .clock(sync_1_clock),
+    .reset(sync_1_reset),
+    .io_d(sync_1_io_d),
+    .io_q(sync_1_io_q),
+    .io_en(sync_1_io_en)
+  );
+  AsyncResetRegVec_w1_i0 sync_2 ( // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@29808.4]
+    .clock(sync_2_clock),
+    .reset(sync_2_reset),
+    .io_d(sync_2_io_d),
+    .io_q(sync_2_io_q),
+    .io_en(sync_2_io_en)
+  );
+  assign io_q = sync_0_io_q; // @[ShiftReg.scala 70:8:shc.marmotcaravel.MarmotCaravelConfig.fir@29818.4]
+  assign sync_0_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@29802.4]
+  assign sync_0_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@29803.4]
+  assign sync_0_io_d = sync_1_io_q; // @[ShiftReg.scala 67:15:shc.marmotcaravel.MarmotCaravelConfig.fir@29814.4]
+  assign sync_0_io_en = 1'h1; // @[ShiftReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@29815.4]
+  assign sync_1_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@29806.4]
+  assign sync_1_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@29807.4]
+  assign sync_1_io_d = sync_2_io_q; // @[ShiftReg.scala 67:15:shc.marmotcaravel.MarmotCaravelConfig.fir@29816.4]
+  assign sync_1_io_en = 1'h1; // @[ShiftReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@29817.4]
+  assign sync_2_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@29810.4]
+  assign sync_2_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@29811.4]
+  assign sync_2_io_d = io_d; // @[ShiftReg.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@29812.4]
+  assign sync_2_io_en = 1'h1; // @[ShiftReg.scala 64:20:shc.marmotcaravel.MarmotCaravelConfig.fir@29813.4]
+endmodule
+module AsyncResetSynchronizerShiftReg_w1_d4_i0( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30006.2]
+  input   clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30007.4]
+  input   reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30008.4]
+  input   io_d, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30009.4]
+  output  io_q // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30009.4]
+);
+  wire  sync_0_clock; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@30014.4]
+  wire  sync_0_reset; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@30014.4]
+  wire  sync_0_io_d; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@30014.4]
+  wire  sync_0_io_q; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@30014.4]
+  wire  sync_0_io_en; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@30014.4]
+  wire  sync_1_clock; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@30018.4]
+  wire  sync_1_reset; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@30018.4]
+  wire  sync_1_io_d; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@30018.4]
+  wire  sync_1_io_q; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@30018.4]
+  wire  sync_1_io_en; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@30018.4]
+  wire  sync_2_clock; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@30022.4]
+  wire  sync_2_reset; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@30022.4]
+  wire  sync_2_io_d; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@30022.4]
+  wire  sync_2_io_q; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@30022.4]
+  wire  sync_2_io_en; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@30022.4]
+  wire  sync_3_clock; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@30026.4]
+  wire  sync_3_reset; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@30026.4]
+  wire  sync_3_io_d; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@30026.4]
+  wire  sync_3_io_q; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@30026.4]
+  wire  sync_3_io_en; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@30026.4]
+  AsyncResetRegVec_w1_i0 sync_0 ( // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@30014.4]
+    .clock(sync_0_clock),
+    .reset(sync_0_reset),
+    .io_d(sync_0_io_d),
+    .io_q(sync_0_io_q),
+    .io_en(sync_0_io_en)
+  );
+  AsyncResetRegVec_w1_i0 sync_1 ( // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@30018.4]
+    .clock(sync_1_clock),
+    .reset(sync_1_reset),
+    .io_d(sync_1_io_d),
+    .io_q(sync_1_io_q),
+    .io_en(sync_1_io_en)
+  );
+  AsyncResetRegVec_w1_i0 sync_2 ( // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@30022.4]
+    .clock(sync_2_clock),
+    .reset(sync_2_reset),
+    .io_d(sync_2_io_d),
+    .io_q(sync_2_io_q),
+    .io_en(sync_2_io_en)
+  );
+  AsyncResetRegVec_w1_i0 sync_3 ( // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@30026.4]
+    .clock(sync_3_clock),
+    .reset(sync_3_reset),
+    .io_d(sync_3_io_d),
+    .io_q(sync_3_io_q),
+    .io_en(sync_3_io_en)
+  );
+  assign io_q = sync_0_io_q; // @[ShiftReg.scala 70:8:shc.marmotcaravel.MarmotCaravelConfig.fir@30038.4]
+  assign sync_0_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30016.4]
+  assign sync_0_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30017.4]
+  assign sync_0_io_d = sync_1_io_q; // @[ShiftReg.scala 67:15:shc.marmotcaravel.MarmotCaravelConfig.fir@30032.4]
+  assign sync_0_io_en = 1'h1; // @[ShiftReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@30033.4]
+  assign sync_1_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30020.4]
+  assign sync_1_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30021.4]
+  assign sync_1_io_d = sync_2_io_q; // @[ShiftReg.scala 67:15:shc.marmotcaravel.MarmotCaravelConfig.fir@30034.4]
+  assign sync_1_io_en = 1'h1; // @[ShiftReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@30035.4]
+  assign sync_2_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30024.4]
+  assign sync_2_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30025.4]
+  assign sync_2_io_d = sync_3_io_q; // @[ShiftReg.scala 67:15:shc.marmotcaravel.MarmotCaravelConfig.fir@30036.4]
+  assign sync_2_io_en = 1'h1; // @[ShiftReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@30037.4]
+  assign sync_3_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30028.4]
+  assign sync_3_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30029.4]
+  assign sync_3_io_d = io_d; // @[ShiftReg.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@30030.4]
+  assign sync_3_io_en = 1'h1; // @[ShiftReg.scala 64:20:shc.marmotcaravel.MarmotCaravelConfig.fir@30031.4]
+endmodule
+module AsyncValidSync( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30040.2]
+  input   clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30041.4]
+  input   reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30042.4]
+  output  io_out // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30043.4]
+);
+  wire  source_valid_clock; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@30045.4]
+  wire  source_valid_reset; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@30045.4]
+  wire  source_valid_io_d; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@30045.4]
+  wire  source_valid_io_q; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@30045.4]
+  AsyncResetSynchronizerShiftReg_w1_d4_i0 source_valid ( // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@30045.4]
+    .clock(source_valid_clock),
+    .reset(source_valid_reset),
+    .io_d(source_valid_io_d),
+    .io_q(source_valid_io_q)
+  );
+  assign io_out = source_valid_io_q; // @[AsyncQueue.scala 63:10:shc.marmotcaravel.MarmotCaravelConfig.fir@30053.4]
+  assign source_valid_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30047.4]
+  assign source_valid_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30048.4]
+  assign source_valid_io_d = 1'h1; // @[ShiftReg.scala 49:16:shc.marmotcaravel.MarmotCaravelConfig.fir@30049.4]
+endmodule
+module AsyncResetSynchronizerShiftReg_w1_d1_i0( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30086.2]
+  input   clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30087.4]
+  input   reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30088.4]
+  input   io_d, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30089.4]
+  output  io_q // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30089.4]
+);
+  wire  sync_0_clock; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@30094.4]
+  wire  sync_0_reset; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@30094.4]
+  wire  sync_0_io_d; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@30094.4]
+  wire  sync_0_io_q; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@30094.4]
+  wire  sync_0_io_en; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@30094.4]
+  AsyncResetRegVec_w1_i0 sync_0 ( // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@30094.4]
+    .clock(sync_0_clock),
+    .reset(sync_0_reset),
+    .io_d(sync_0_io_d),
+    .io_q(sync_0_io_q),
+    .io_en(sync_0_io_en)
+  );
+  assign io_q = sync_0_io_q; // @[ShiftReg.scala 70:8:shc.marmotcaravel.MarmotCaravelConfig.fir@30100.4]
+  assign sync_0_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30096.4]
+  assign sync_0_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30097.4]
+  assign sync_0_io_d = io_d; // @[ShiftReg.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@30098.4]
+  assign sync_0_io_en = 1'h1; // @[ShiftReg.scala 64:20:shc.marmotcaravel.MarmotCaravelConfig.fir@30099.4]
+endmodule
+module AsyncValidSync_1( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30102.2]
+  input   clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30103.4]
+  input   reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30104.4]
+  input   io_in, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30105.4]
+  output  io_out // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30105.4]
+);
+  wire  sink_extend_clock; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@30107.4]
+  wire  sink_extend_reset; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@30107.4]
+  wire  sink_extend_io_d; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@30107.4]
+  wire  sink_extend_io_q; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@30107.4]
+  AsyncResetSynchronizerShiftReg_w1_d1_i0 sink_extend ( // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@30107.4]
+    .clock(sink_extend_clock),
+    .reset(sink_extend_reset),
+    .io_d(sink_extend_io_d),
+    .io_q(sink_extend_io_q)
+  );
+  assign io_out = sink_extend_io_q; // @[AsyncQueue.scala 63:10:shc.marmotcaravel.MarmotCaravelConfig.fir@30115.4]
+  assign sink_extend_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30109.4]
+  assign sink_extend_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30110.4]
+  assign sink_extend_io_d = io_in; // @[ShiftReg.scala 49:16:shc.marmotcaravel.MarmotCaravelConfig.fir@30111.4]
+endmodule
+module AsyncValidSync_2( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30238.2]
+  input   clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30239.4]
+  input   reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30240.4]
+  input   io_in, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30241.4]
+  output  io_out // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30241.4]
+);
+  wire  sink_valid_clock; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@30243.4]
+  wire  sink_valid_reset; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@30243.4]
+  wire  sink_valid_io_d; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@30243.4]
+  wire  sink_valid_io_q; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@30243.4]
+  AsyncResetSynchronizerShiftReg_w1_d3_i0 sink_valid ( // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@30243.4]
+    .clock(sink_valid_clock),
+    .reset(sink_valid_reset),
+    .io_d(sink_valid_io_d),
+    .io_q(sink_valid_io_q)
+  );
+  assign io_out = sink_valid_io_q; // @[AsyncQueue.scala 63:10:shc.marmotcaravel.MarmotCaravelConfig.fir@30251.4]
+  assign sink_valid_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30245.4]
+  assign sink_valid_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30246.4]
+  assign sink_valid_io_d = io_in; // @[ShiftReg.scala 49:16:shc.marmotcaravel.MarmotCaravelConfig.fir@30247.4]
+endmodule
+module AsyncQueueSource( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30253.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30254.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30255.4]
+  output        io_enq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30256.4]
+  input         io_enq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30256.4]
+  input  [2:0]  io_enq_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30256.4]
+  input  [2:0]  io_enq_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30256.4]
+  input  [1:0]  io_enq_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30256.4]
+  input  [5:0]  io_enq_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30256.4]
+  input  [28:0] io_enq_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30256.4]
+  input  [3:0]  io_enq_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30256.4]
+  input  [31:0] io_enq_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30256.4]
+  input         io_enq_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30256.4]
+  output [2:0]  io_async_mem_0_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30256.4]
+  output [2:0]  io_async_mem_0_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30256.4]
+  output [1:0]  io_async_mem_0_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30256.4]
+  output [5:0]  io_async_mem_0_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30256.4]
+  output [28:0] io_async_mem_0_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30256.4]
+  output [3:0]  io_async_mem_0_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30256.4]
+  output [31:0] io_async_mem_0_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30256.4]
+  output        io_async_mem_0_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30256.4]
+  input         io_async_ridx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30256.4]
+  output        io_async_widx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30256.4]
+  input         io_async_safe_ridx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30256.4]
+  output        io_async_safe_widx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30256.4]
+  output        io_async_safe_source_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30256.4]
+  input         io_async_safe_sink_reset_n // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30256.4]
+);
+  wire  widx_bin_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@30264.4]
+  wire  widx_bin_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@30264.4]
+  wire  widx_bin_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@30264.4]
+  wire  widx_bin_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@30264.4]
+  wire  widx_bin_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@30264.4]
+  wire  ridx_gray_clock; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@30276.4]
+  wire  ridx_gray_reset; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@30276.4]
+  wire  ridx_gray_io_d; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@30276.4]
+  wire  ridx_gray_io_q; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@30276.4]
+  wire  ready_reg_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@30298.4]
+  wire  ready_reg_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@30298.4]
+  wire  ready_reg_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@30298.4]
+  wire  ready_reg_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@30298.4]
+  wire  ready_reg_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@30298.4]
+  wire  widx_gray_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@30307.4]
+  wire  widx_gray_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@30307.4]
+  wire  widx_gray_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@30307.4]
+  wire  widx_gray_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@30307.4]
+  wire  widx_gray_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@30307.4]
+  wire  AsyncValidSync_clock; // @[AsyncQueue.scala 96:30:shc.marmotcaravel.MarmotCaravelConfig.fir@30322.4]
+  wire  AsyncValidSync_reset; // @[AsyncQueue.scala 96:30:shc.marmotcaravel.MarmotCaravelConfig.fir@30322.4]
+  wire  AsyncValidSync_io_out; // @[AsyncQueue.scala 96:30:shc.marmotcaravel.MarmotCaravelConfig.fir@30322.4]
+  wire  AsyncValidSync_1_clock; // @[AsyncQueue.scala 97:30:shc.marmotcaravel.MarmotCaravelConfig.fir@30325.4]
+  wire  AsyncValidSync_1_reset; // @[AsyncQueue.scala 97:30:shc.marmotcaravel.MarmotCaravelConfig.fir@30325.4]
+  wire  AsyncValidSync_1_io_in; // @[AsyncQueue.scala 97:30:shc.marmotcaravel.MarmotCaravelConfig.fir@30325.4]
+  wire  AsyncValidSync_1_io_out; // @[AsyncQueue.scala 97:30:shc.marmotcaravel.MarmotCaravelConfig.fir@30325.4]
+  wire  AsyncValidSync_2_clock; // @[AsyncQueue.scala 98:30:shc.marmotcaravel.MarmotCaravelConfig.fir@30328.4]
+  wire  AsyncValidSync_2_reset; // @[AsyncQueue.scala 98:30:shc.marmotcaravel.MarmotCaravelConfig.fir@30328.4]
+  wire  AsyncValidSync_2_io_in; // @[AsyncQueue.scala 98:30:shc.marmotcaravel.MarmotCaravelConfig.fir@30328.4]
+  wire  AsyncValidSync_2_io_out; // @[AsyncQueue.scala 98:30:shc.marmotcaravel.MarmotCaravelConfig.fir@30328.4]
+  reg [2:0] mem_0_opcode; // @[AsyncQueue.scala 76:16:shc.marmotcaravel.MarmotCaravelConfig.fir@30260.4]
+  reg [31:0] _RAND_0;
+  reg [2:0] mem_0_param; // @[AsyncQueue.scala 76:16:shc.marmotcaravel.MarmotCaravelConfig.fir@30260.4]
+  reg [31:0] _RAND_1;
+  reg [1:0] mem_0_size; // @[AsyncQueue.scala 76:16:shc.marmotcaravel.MarmotCaravelConfig.fir@30260.4]
+  reg [31:0] _RAND_2;
+  reg [5:0] mem_0_source; // @[AsyncQueue.scala 76:16:shc.marmotcaravel.MarmotCaravelConfig.fir@30260.4]
+  reg [31:0] _RAND_3;
+  reg [28:0] mem_0_address; // @[AsyncQueue.scala 76:16:shc.marmotcaravel.MarmotCaravelConfig.fir@30260.4]
+  reg [31:0] _RAND_4;
+  reg [3:0] mem_0_mask; // @[AsyncQueue.scala 76:16:shc.marmotcaravel.MarmotCaravelConfig.fir@30260.4]
+  reg [31:0] _RAND_5;
+  reg [31:0] mem_0_data; // @[AsyncQueue.scala 76:16:shc.marmotcaravel.MarmotCaravelConfig.fir@30260.4]
+  reg [31:0] _RAND_6;
+  reg  mem_0_corrupt; // @[AsyncQueue.scala 76:16:shc.marmotcaravel.MarmotCaravelConfig.fir@30260.4]
+  reg [31:0] _RAND_7;
+  wire  _T_43; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@30261.4]
+  wire  sink_ready; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30258.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@30259.4 AsyncQueue.scala 106:16:shc.marmotcaravel.MarmotCaravelConfig.fir@30343.4]
+  wire  _T_44; // @[AsyncQueue.scala 77:49:shc.marmotcaravel.MarmotCaravelConfig.fir@30262.4]
+  wire  _T_48; // @[AsyncQueue.scala 53:43:shc.marmotcaravel.MarmotCaravelConfig.fir@30271.4]
+  wire  widx; // @[AsyncQueue.scala 53:23:shc.marmotcaravel.MarmotCaravelConfig.fir@30272.4]
+  wire  ridx; // @[ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@30281.4 ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@30283.4]
+  wire  _T_52; // @[AsyncQueue.scala 79:44:shc.marmotcaravel.MarmotCaravelConfig.fir@30284.4]
+  wire  _T_53; // @[AsyncQueue.scala 79:34:shc.marmotcaravel.MarmotCaravelConfig.fir@30285.4]
+  wire  ready_reg_1; // @[AsyncQueue.scala 84:59:shc.marmotcaravel.MarmotCaravelConfig.fir@30304.4]
+  wire  _T_58; // @[AsyncQueue.scala 99:43:shc.marmotcaravel.MarmotCaravelConfig.fir@30332.4]
+  AsyncResetRegVec_w1_i0 widx_bin ( // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@30264.4]
+    .clock(widx_bin_clock),
+    .reset(widx_bin_reset),
+    .io_d(widx_bin_io_d),
+    .io_q(widx_bin_io_q),
+    .io_en(widx_bin_io_en)
+  );
+  AsyncResetSynchronizerShiftReg_w1_d3_i0 ridx_gray ( // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@30276.4]
+    .clock(ridx_gray_clock),
+    .reset(ridx_gray_reset),
+    .io_d(ridx_gray_io_d),
+    .io_q(ridx_gray_io_q)
+  );
+  AsyncResetRegVec_w1_i0 ready_reg ( // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@30298.4]
+    .clock(ready_reg_clock),
+    .reset(ready_reg_reset),
+    .io_d(ready_reg_io_d),
+    .io_q(ready_reg_io_q),
+    .io_en(ready_reg_io_en)
+  );
+  AsyncResetRegVec_w1_i0 widx_gray ( // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@30307.4]
+    .clock(widx_gray_clock),
+    .reset(widx_gray_reset),
+    .io_d(widx_gray_io_d),
+    .io_q(widx_gray_io_q),
+    .io_en(widx_gray_io_en)
+  );
+  AsyncValidSync AsyncValidSync ( // @[AsyncQueue.scala 96:30:shc.marmotcaravel.MarmotCaravelConfig.fir@30322.4]
+    .clock(AsyncValidSync_clock),
+    .reset(AsyncValidSync_reset),
+    .io_out(AsyncValidSync_io_out)
+  );
+  AsyncValidSync_1 AsyncValidSync_1 ( // @[AsyncQueue.scala 97:30:shc.marmotcaravel.MarmotCaravelConfig.fir@30325.4]
+    .clock(AsyncValidSync_1_clock),
+    .reset(AsyncValidSync_1_reset),
+    .io_in(AsyncValidSync_1_io_in),
+    .io_out(AsyncValidSync_1_io_out)
+  );
+  AsyncValidSync_2 AsyncValidSync_2 ( // @[AsyncQueue.scala 98:30:shc.marmotcaravel.MarmotCaravelConfig.fir@30328.4]
+    .clock(AsyncValidSync_2_clock),
+    .reset(AsyncValidSync_2_reset),
+    .io_in(AsyncValidSync_2_io_in),
+    .io_out(AsyncValidSync_2_io_out)
+  );
+  assign _T_43 = io_enq_ready & io_enq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@30261.4]
+  assign sink_ready = AsyncValidSync_2_io_out; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30258.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@30259.4 AsyncQueue.scala 106:16:shc.marmotcaravel.MarmotCaravelConfig.fir@30343.4]
+  assign _T_44 = sink_ready == 1'h0; // @[AsyncQueue.scala 77:49:shc.marmotcaravel.MarmotCaravelConfig.fir@30262.4]
+  assign _T_48 = widx_bin_io_q + _T_43; // @[AsyncQueue.scala 53:43:shc.marmotcaravel.MarmotCaravelConfig.fir@30271.4]
+  assign widx = _T_44 ? 1'h0 : _T_48; // @[AsyncQueue.scala 53:23:shc.marmotcaravel.MarmotCaravelConfig.fir@30272.4]
+  assign ridx = ridx_gray_io_q; // @[ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@30281.4 ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@30283.4]
+  assign _T_52 = ridx ^ 1'h1; // @[AsyncQueue.scala 79:44:shc.marmotcaravel.MarmotCaravelConfig.fir@30284.4]
+  assign _T_53 = widx != _T_52; // @[AsyncQueue.scala 79:34:shc.marmotcaravel.MarmotCaravelConfig.fir@30285.4]
+  assign ready_reg_1 = ready_reg_io_q; // @[AsyncQueue.scala 84:59:shc.marmotcaravel.MarmotCaravelConfig.fir@30304.4]
+  assign _T_58 = io_async_safe_sink_reset_n == 1'h0; // @[AsyncQueue.scala 99:43:shc.marmotcaravel.MarmotCaravelConfig.fir@30332.4]
+  assign io_enq_ready = ready_reg_1 & sink_ready; // @[AsyncQueue.scala 85:16:shc.marmotcaravel.MarmotCaravelConfig.fir@30306.4]
+  assign io_async_mem_0_opcode = mem_0_opcode; // @[AsyncQueue.scala 92:31:shc.marmotcaravel.MarmotCaravelConfig.fir@30321.4]
+  assign io_async_mem_0_param = mem_0_param; // @[AsyncQueue.scala 92:31:shc.marmotcaravel.MarmotCaravelConfig.fir@30320.4]
+  assign io_async_mem_0_size = mem_0_size; // @[AsyncQueue.scala 92:31:shc.marmotcaravel.MarmotCaravelConfig.fir@30319.4]
+  assign io_async_mem_0_source = mem_0_source; // @[AsyncQueue.scala 92:31:shc.marmotcaravel.MarmotCaravelConfig.fir@30318.4]
+  assign io_async_mem_0_address = mem_0_address; // @[AsyncQueue.scala 92:31:shc.marmotcaravel.MarmotCaravelConfig.fir@30317.4]
+  assign io_async_mem_0_mask = mem_0_mask; // @[AsyncQueue.scala 92:31:shc.marmotcaravel.MarmotCaravelConfig.fir@30316.4]
+  assign io_async_mem_0_data = mem_0_data; // @[AsyncQueue.scala 92:31:shc.marmotcaravel.MarmotCaravelConfig.fir@30315.4]
+  assign io_async_mem_0_corrupt = mem_0_corrupt; // @[AsyncQueue.scala 92:31:shc.marmotcaravel.MarmotCaravelConfig.fir@30314.4]
+  assign io_async_widx = widx_gray_io_q; // @[AsyncQueue.scala 88:17:shc.marmotcaravel.MarmotCaravelConfig.fir@30313.4]
+  assign io_async_safe_widx_valid = AsyncValidSync_io_out; // @[AsyncQueue.scala 103:20:shc.marmotcaravel.MarmotCaravelConfig.fir@30340.4]
+  assign io_async_safe_source_reset_n = reset == 1'h0; // @[AsyncQueue.scala 107:24:shc.marmotcaravel.MarmotCaravelConfig.fir@30346.4]
+  assign widx_bin_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30266.4]
+  assign widx_bin_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30267.4]
+  assign widx_bin_io_d = _T_44 ? 1'h0 : _T_48; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@30268.4]
+  assign widx_bin_io_en = 1'h1; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@30269.4]
+  assign ridx_gray_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30278.4]
+  assign ridx_gray_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30279.4]
+  assign ridx_gray_io_d = io_async_ridx; // @[ShiftReg.scala 49:16:shc.marmotcaravel.MarmotCaravelConfig.fir@30280.4]
+  assign ready_reg_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30300.4]
+  assign ready_reg_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30301.4]
+  assign ready_reg_io_d = sink_ready & _T_53; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@30302.4]
+  assign ready_reg_io_en = 1'h1; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@30303.4]
+  assign widx_gray_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30309.4]
+  assign widx_gray_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30310.4]
+  assign widx_gray_io_d = _T_44 ? 1'h0 : _T_48; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@30311.4]
+  assign widx_gray_io_en = 1'h1; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@30312.4]
+  assign AsyncValidSync_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30323.4]
+  assign AsyncValidSync_reset = reset | _T_58; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30324.4 AsyncQueue.scala 99:24:shc.marmotcaravel.MarmotCaravelConfig.fir@30334.4]
+  assign AsyncValidSync_1_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30326.4]
+  assign AsyncValidSync_1_reset = reset | _T_58; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30327.4 AsyncQueue.scala 100:24:shc.marmotcaravel.MarmotCaravelConfig.fir@30338.4]
+  assign AsyncValidSync_1_io_in = io_async_safe_ridx_valid; // @[AsyncQueue.scala 104:23:shc.marmotcaravel.MarmotCaravelConfig.fir@30341.4]
+  assign AsyncValidSync_2_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30329.4]
+  assign AsyncValidSync_2_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30330.4]
+  assign AsyncValidSync_2_io_in = AsyncValidSync_1_io_out; // @[AsyncQueue.scala 105:22:shc.marmotcaravel.MarmotCaravelConfig.fir@30342.4]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  mem_0_opcode = _RAND_0[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  mem_0_param = _RAND_1[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  mem_0_size = _RAND_2[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  mem_0_source = _RAND_3[5:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  mem_0_address = _RAND_4[28:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  mem_0_mask = _RAND_5[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {1{`RANDOM}};
+  mem_0_data = _RAND_6[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {1{`RANDOM}};
+  mem_0_corrupt = _RAND_7[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (_T_43) begin
+      mem_0_opcode <= io_enq_bits_opcode;
+    end
+    if (_T_43) begin
+      mem_0_param <= io_enq_bits_param;
+    end
+    if (_T_43) begin
+      mem_0_size <= io_enq_bits_size;
+    end
+    if (_T_43) begin
+      mem_0_source <= io_enq_bits_source;
+    end
+    if (_T_43) begin
+      mem_0_address <= io_enq_bits_address;
+    end
+    if (_T_43) begin
+      mem_0_mask <= io_enq_bits_mask;
+    end
+    if (_T_43) begin
+      mem_0_data <= io_enq_bits_data;
+    end
+    if (_T_43) begin
+      mem_0_corrupt <= io_enq_bits_corrupt;
+    end
+  end
+endmodule
+module SynchronizerShiftReg_w48_d1( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30500.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30501.4]
+  input  [47:0] io_d, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30503.4]
+  output [47:0] io_q // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30503.4]
+);
+  reg [47:0] sync_0; // @[ShiftReg.scala 114:16:shc.marmotcaravel.MarmotCaravelConfig.fir@30508.4]
+  reg [63:0] _RAND_0;
+  assign io_q = sync_0; // @[ShiftReg.scala 123:8:shc.marmotcaravel.MarmotCaravelConfig.fir@30510.4]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {2{`RANDOM}};
+  sync_0 = _RAND_0[47:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    sync_0 <= io_d;
+  end
+endmodule
+module AsyncQueueSink( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30976.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30977.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30978.4]
+  input         io_deq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30979.4]
+  output        io_deq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30979.4]
+  output [2:0]  io_deq_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30979.4]
+  output [1:0]  io_deq_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30979.4]
+  output [1:0]  io_deq_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30979.4]
+  output [5:0]  io_deq_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30979.4]
+  output        io_deq_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30979.4]
+  output        io_deq_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30979.4]
+  output [31:0] io_deq_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30979.4]
+  output        io_deq_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30979.4]
+  input  [2:0]  io_async_mem_0_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30979.4]
+  input  [1:0]  io_async_mem_0_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30979.4]
+  input  [1:0]  io_async_mem_0_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30979.4]
+  input  [5:0]  io_async_mem_0_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30979.4]
+  input         io_async_mem_0_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30979.4]
+  input         io_async_mem_0_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30979.4]
+  input  [31:0] io_async_mem_0_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30979.4]
+  input         io_async_mem_0_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30979.4]
+  output        io_async_ridx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30979.4]
+  input         io_async_widx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30979.4]
+  output        io_async_safe_ridx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30979.4]
+  input         io_async_safe_widx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30979.4]
+  input         io_async_safe_source_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30979.4]
+  output        io_async_safe_sink_reset_n // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30979.4]
+);
+  wire  ridx_bin_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@30986.4]
+  wire  ridx_bin_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@30986.4]
+  wire  ridx_bin_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@30986.4]
+  wire  ridx_bin_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@30986.4]
+  wire  ridx_bin_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@30986.4]
+  wire  widx_gray_clock; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@30998.4]
+  wire  widx_gray_reset; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@30998.4]
+  wire  widx_gray_io_d; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@30998.4]
+  wire  widx_gray_io_q; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@30998.4]
+  wire  deq_bits_reg_clock; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@31009.4]
+  wire [47:0] deq_bits_reg_io_d; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@31009.4]
+  wire [47:0] deq_bits_reg_io_q; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@31009.4]
+  wire  valid_reg_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@31050.4]
+  wire  valid_reg_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@31050.4]
+  wire  valid_reg_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@31050.4]
+  wire  valid_reg_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@31050.4]
+  wire  valid_reg_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@31050.4]
+  wire  ridx_gray_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@31059.4]
+  wire  ridx_gray_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@31059.4]
+  wire  ridx_gray_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@31059.4]
+  wire  ridx_gray_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@31059.4]
+  wire  ridx_gray_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@31059.4]
+  wire  AsyncValidSync_clock; // @[AsyncQueue.scala 154:31:shc.marmotcaravel.MarmotCaravelConfig.fir@31066.4]
+  wire  AsyncValidSync_reset; // @[AsyncQueue.scala 154:31:shc.marmotcaravel.MarmotCaravelConfig.fir@31066.4]
+  wire  AsyncValidSync_io_out; // @[AsyncQueue.scala 154:31:shc.marmotcaravel.MarmotCaravelConfig.fir@31066.4]
+  wire  AsyncValidSync_1_clock; // @[AsyncQueue.scala 155:31:shc.marmotcaravel.MarmotCaravelConfig.fir@31069.4]
+  wire  AsyncValidSync_1_reset; // @[AsyncQueue.scala 155:31:shc.marmotcaravel.MarmotCaravelConfig.fir@31069.4]
+  wire  AsyncValidSync_1_io_in; // @[AsyncQueue.scala 155:31:shc.marmotcaravel.MarmotCaravelConfig.fir@31069.4]
+  wire  AsyncValidSync_1_io_out; // @[AsyncQueue.scala 155:31:shc.marmotcaravel.MarmotCaravelConfig.fir@31069.4]
+  wire  AsyncValidSync_2_clock; // @[AsyncQueue.scala 156:31:shc.marmotcaravel.MarmotCaravelConfig.fir@31072.4]
+  wire  AsyncValidSync_2_reset; // @[AsyncQueue.scala 156:31:shc.marmotcaravel.MarmotCaravelConfig.fir@31072.4]
+  wire  AsyncValidSync_2_io_in; // @[AsyncQueue.scala 156:31:shc.marmotcaravel.MarmotCaravelConfig.fir@31072.4]
+  wire  AsyncValidSync_2_io_out; // @[AsyncQueue.scala 156:31:shc.marmotcaravel.MarmotCaravelConfig.fir@31072.4]
+  wire  AsyncResetRegVec_w1_i0_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@31101.4]
+  wire  AsyncResetRegVec_w1_i0_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@31101.4]
+  wire  AsyncResetRegVec_w1_i0_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@31101.4]
+  wire  AsyncResetRegVec_w1_i0_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@31101.4]
+  wire  AsyncResetRegVec_w1_i0_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@31101.4]
+  wire  _T_58; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@30983.4]
+  wire  source_ready; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30981.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@30982.4 AsyncQueue.scala 164:18:shc.marmotcaravel.MarmotCaravelConfig.fir@31087.4]
+  wire  _T_59; // @[AsyncQueue.scala 130:49:shc.marmotcaravel.MarmotCaravelConfig.fir@30984.4]
+  wire  _T_63; // @[AsyncQueue.scala 53:43:shc.marmotcaravel.MarmotCaravelConfig.fir@30993.4]
+  wire  ridx; // @[AsyncQueue.scala 53:23:shc.marmotcaravel.MarmotCaravelConfig.fir@30994.4]
+  wire  widx; // @[ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@31003.4 ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@31005.4]
+  wire  _T_67; // @[AsyncQueue.scala 132:36:shc.marmotcaravel.MarmotCaravelConfig.fir@31006.4]
+  wire  valid; // @[AsyncQueue.scala 132:28:shc.marmotcaravel.MarmotCaravelConfig.fir@31007.4]
+  wire [2:0] deq_bits_nxt_opcode; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31008.4]
+  wire [1:0] deq_bits_nxt_param; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31008.4]
+  wire [1:0] deq_bits_nxt_size; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31008.4]
+  wire [5:0] deq_bits_nxt_source; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31008.4]
+  wire  deq_bits_nxt_sink; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31008.4]
+  wire  deq_bits_nxt_denied; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31008.4]
+  wire [31:0] deq_bits_nxt_data; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31008.4]
+  wire  deq_bits_nxt_corrupt; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31008.4]
+  wire [32:0] _T_69; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@31013.4]
+  wire [1:0] _T_70; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@31014.4]
+  wire [34:0] _T_71; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@31015.4]
+  wire [7:0] _T_72; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@31016.4]
+  wire [4:0] _T_73; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@31017.4]
+  wire [12:0] _T_74; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@31018.4]
+  wire [47:0] _T_79; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31023.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@31025.4]
+  wire  valid_reg_1; // @[AsyncQueue.scala 147:59:shc.marmotcaravel.MarmotCaravelConfig.fir@31056.4]
+  wire  _T_90; // @[AsyncQueue.scala 157:44:shc.marmotcaravel.MarmotCaravelConfig.fir@31076.4]
+  AsyncResetRegVec_w1_i0 ridx_bin ( // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@30986.4]
+    .clock(ridx_bin_clock),
+    .reset(ridx_bin_reset),
+    .io_d(ridx_bin_io_d),
+    .io_q(ridx_bin_io_q),
+    .io_en(ridx_bin_io_en)
+  );
+  AsyncResetSynchronizerShiftReg_w1_d3_i0 widx_gray ( // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@30998.4]
+    .clock(widx_gray_clock),
+    .reset(widx_gray_reset),
+    .io_d(widx_gray_io_d),
+    .io_q(widx_gray_io_q)
+  );
+  SynchronizerShiftReg_w48_d1 deq_bits_reg ( // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@31009.4]
+    .clock(deq_bits_reg_clock),
+    .io_d(deq_bits_reg_io_d),
+    .io_q(deq_bits_reg_io_q)
+  );
+  AsyncResetRegVec_w1_i0 valid_reg ( // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@31050.4]
+    .clock(valid_reg_clock),
+    .reset(valid_reg_reset),
+    .io_d(valid_reg_io_d),
+    .io_q(valid_reg_io_q),
+    .io_en(valid_reg_io_en)
+  );
+  AsyncResetRegVec_w1_i0 ridx_gray ( // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@31059.4]
+    .clock(ridx_gray_clock),
+    .reset(ridx_gray_reset),
+    .io_d(ridx_gray_io_d),
+    .io_q(ridx_gray_io_q),
+    .io_en(ridx_gray_io_en)
+  );
+  AsyncValidSync AsyncValidSync ( // @[AsyncQueue.scala 154:31:shc.marmotcaravel.MarmotCaravelConfig.fir@31066.4]
+    .clock(AsyncValidSync_clock),
+    .reset(AsyncValidSync_reset),
+    .io_out(AsyncValidSync_io_out)
+  );
+  AsyncValidSync_1 AsyncValidSync_1 ( // @[AsyncQueue.scala 155:31:shc.marmotcaravel.MarmotCaravelConfig.fir@31069.4]
+    .clock(AsyncValidSync_1_clock),
+    .reset(AsyncValidSync_1_reset),
+    .io_in(AsyncValidSync_1_io_in),
+    .io_out(AsyncValidSync_1_io_out)
+  );
+  AsyncValidSync_2 AsyncValidSync_2 ( // @[AsyncQueue.scala 156:31:shc.marmotcaravel.MarmotCaravelConfig.fir@31072.4]
+    .clock(AsyncValidSync_2_clock),
+    .reset(AsyncValidSync_2_reset),
+    .io_in(AsyncValidSync_2_io_in),
+    .io_out(AsyncValidSync_2_io_out)
+  );
+  AsyncResetRegVec_w1_i0 AsyncResetRegVec_w1_i0 ( // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@31101.4]
+    .clock(AsyncResetRegVec_w1_i0_clock),
+    .reset(AsyncResetRegVec_w1_i0_reset),
+    .io_d(AsyncResetRegVec_w1_i0_io_d),
+    .io_q(AsyncResetRegVec_w1_i0_io_q),
+    .io_en(AsyncResetRegVec_w1_i0_io_en)
+  );
+  assign _T_58 = io_deq_ready & io_deq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@30983.4]
+  assign source_ready = AsyncValidSync_2_io_out; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30981.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@30982.4 AsyncQueue.scala 164:18:shc.marmotcaravel.MarmotCaravelConfig.fir@31087.4]
+  assign _T_59 = source_ready == 1'h0; // @[AsyncQueue.scala 130:49:shc.marmotcaravel.MarmotCaravelConfig.fir@30984.4]
+  assign _T_63 = ridx_bin_io_q + _T_58; // @[AsyncQueue.scala 53:43:shc.marmotcaravel.MarmotCaravelConfig.fir@30993.4]
+  assign ridx = _T_59 ? 1'h0 : _T_63; // @[AsyncQueue.scala 53:23:shc.marmotcaravel.MarmotCaravelConfig.fir@30994.4]
+  assign widx = widx_gray_io_q; // @[ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@31003.4 ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@31005.4]
+  assign _T_67 = ridx != widx; // @[AsyncQueue.scala 132:36:shc.marmotcaravel.MarmotCaravelConfig.fir@31006.4]
+  assign valid = source_ready & _T_67; // @[AsyncQueue.scala 132:28:shc.marmotcaravel.MarmotCaravelConfig.fir@31007.4]
+  assign deq_bits_nxt_opcode = valid ? io_async_mem_0_opcode : io_deq_bits_opcode; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31008.4]
+  assign deq_bits_nxt_param = valid ? io_async_mem_0_param : io_deq_bits_param; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31008.4]
+  assign deq_bits_nxt_size = valid ? io_async_mem_0_size : io_deq_bits_size; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31008.4]
+  assign deq_bits_nxt_source = valid ? io_async_mem_0_source : io_deq_bits_source; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31008.4]
+  assign deq_bits_nxt_sink = valid ? io_async_mem_0_sink : io_deq_bits_sink; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31008.4]
+  assign deq_bits_nxt_denied = valid ? io_async_mem_0_denied : io_deq_bits_denied; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31008.4]
+  assign deq_bits_nxt_data = valid ? io_async_mem_0_data : io_deq_bits_data; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31008.4]
+  assign deq_bits_nxt_corrupt = valid ? io_async_mem_0_corrupt : io_deq_bits_corrupt; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31008.4]
+  assign _T_69 = {deq_bits_nxt_data,deq_bits_nxt_corrupt}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@31013.4]
+  assign _T_70 = {deq_bits_nxt_sink,deq_bits_nxt_denied}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@31014.4]
+  assign _T_71 = {_T_70,_T_69}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@31015.4]
+  assign _T_72 = {deq_bits_nxt_size,deq_bits_nxt_source}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@31016.4]
+  assign _T_73 = {deq_bits_nxt_opcode,deq_bits_nxt_param}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@31017.4]
+  assign _T_74 = {_T_73,_T_72}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@31018.4]
+  assign _T_79 = deq_bits_reg_io_q; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31023.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@31025.4]
+  assign valid_reg_1 = valid_reg_io_q; // @[AsyncQueue.scala 147:59:shc.marmotcaravel.MarmotCaravelConfig.fir@31056.4]
+  assign _T_90 = io_async_safe_source_reset_n == 1'h0; // @[AsyncQueue.scala 157:44:shc.marmotcaravel.MarmotCaravelConfig.fir@31076.4]
+  assign io_deq_valid = valid_reg_1 & source_ready; // @[AsyncQueue.scala 148:16:shc.marmotcaravel.MarmotCaravelConfig.fir@31058.4]
+  assign io_deq_bits_opcode = _T_79[47:45]; // @[AsyncQueue.scala 145:15:shc.marmotcaravel.MarmotCaravelConfig.fir@31049.4]
+  assign io_deq_bits_param = _T_79[44:43]; // @[AsyncQueue.scala 145:15:shc.marmotcaravel.MarmotCaravelConfig.fir@31048.4]
+  assign io_deq_bits_size = _T_79[42:41]; // @[AsyncQueue.scala 145:15:shc.marmotcaravel.MarmotCaravelConfig.fir@31047.4]
+  assign io_deq_bits_source = _T_79[40:35]; // @[AsyncQueue.scala 145:15:shc.marmotcaravel.MarmotCaravelConfig.fir@31046.4]
+  assign io_deq_bits_sink = _T_79[34]; // @[AsyncQueue.scala 145:15:shc.marmotcaravel.MarmotCaravelConfig.fir@31045.4]
+  assign io_deq_bits_denied = _T_79[33]; // @[AsyncQueue.scala 145:15:shc.marmotcaravel.MarmotCaravelConfig.fir@31044.4]
+  assign io_deq_bits_data = _T_79[32:1]; // @[AsyncQueue.scala 145:15:shc.marmotcaravel.MarmotCaravelConfig.fir@31043.4]
+  assign io_deq_bits_corrupt = _T_79[0]; // @[AsyncQueue.scala 145:15:shc.marmotcaravel.MarmotCaravelConfig.fir@31042.4]
+  assign io_async_ridx = ridx_gray_io_q; // @[AsyncQueue.scala 151:17:shc.marmotcaravel.MarmotCaravelConfig.fir@31065.4]
+  assign io_async_safe_ridx_valid = AsyncValidSync_io_out; // @[AsyncQueue.scala 161:20:shc.marmotcaravel.MarmotCaravelConfig.fir@31084.4]
+  assign io_async_safe_sink_reset_n = reset == 1'h0; // @[AsyncQueue.scala 165:22:shc.marmotcaravel.MarmotCaravelConfig.fir@31090.4]
+  assign ridx_bin_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30988.4]
+  assign ridx_bin_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30989.4]
+  assign ridx_bin_io_d = _T_59 ? 1'h0 : _T_63; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@30990.4]
+  assign ridx_bin_io_en = 1'h1; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@30991.4]
+  assign widx_gray_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31000.4]
+  assign widx_gray_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31001.4]
+  assign widx_gray_io_d = io_async_widx; // @[ShiftReg.scala 49:16:shc.marmotcaravel.MarmotCaravelConfig.fir@31002.4]
+  assign deq_bits_reg_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31011.4]
+  assign deq_bits_reg_io_d = {_T_74,_T_71}; // @[ShiftReg.scala 49:16:shc.marmotcaravel.MarmotCaravelConfig.fir@31020.4]
+  assign valid_reg_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31052.4]
+  assign valid_reg_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31053.4]
+  assign valid_reg_io_d = source_ready & _T_67; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31054.4]
+  assign valid_reg_io_en = 1'h1; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@31055.4]
+  assign ridx_gray_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31061.4]
+  assign ridx_gray_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31062.4]
+  assign ridx_gray_io_d = _T_59 ? 1'h0 : _T_63; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31063.4]
+  assign ridx_gray_io_en = 1'h1; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@31064.4]
+  assign AsyncValidSync_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31067.4]
+  assign AsyncValidSync_reset = reset | _T_90; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31068.4 AsyncQueue.scala 157:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31078.4]
+  assign AsyncValidSync_1_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31070.4]
+  assign AsyncValidSync_1_reset = reset | _T_90; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31071.4 AsyncQueue.scala 158:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31082.4]
+  assign AsyncValidSync_1_io_in = io_async_safe_widx_valid; // @[AsyncQueue.scala 162:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31085.4]
+  assign AsyncValidSync_2_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31073.4]
+  assign AsyncValidSync_2_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31074.4]
+  assign AsyncValidSync_2_io_in = AsyncValidSync_1_io_out; // @[AsyncQueue.scala 163:24:shc.marmotcaravel.MarmotCaravelConfig.fir@31086.4]
+  assign AsyncResetRegVec_w1_i0_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31103.4]
+  assign AsyncResetRegVec_w1_i0_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31104.4]
+  assign AsyncResetRegVec_w1_i0_io_d = io_async_widx == io_async_ridx; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31105.4]
+  assign AsyncResetRegVec_w1_i0_io_en = 1'h1; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@31106.4]
+endmodule
+module TLAsyncCrossingSource( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31108.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31109.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31110.4]
+  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31111.4]
+  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31111.4]
+  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31111.4]
+  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31111.4]
+  input  [1:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31111.4]
+  input  [5:0]  auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31111.4]
+  input  [28:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31111.4]
+  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31111.4]
+  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31111.4]
+  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31111.4]
+  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31111.4]
+  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31111.4]
+  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31111.4]
+  output [1:0]  auto_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31111.4]
+  output [1:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31111.4]
+  output [5:0]  auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31111.4]
+  output        auto_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31111.4]
+  output        auto_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31111.4]
+  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31111.4]
+  output        auto_in_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31111.4]
+  output [2:0]  auto_out_a_mem_0_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31111.4]
+  output [2:0]  auto_out_a_mem_0_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31111.4]
+  output [1:0]  auto_out_a_mem_0_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31111.4]
+  output [5:0]  auto_out_a_mem_0_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31111.4]
+  output [28:0] auto_out_a_mem_0_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31111.4]
+  output [3:0]  auto_out_a_mem_0_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31111.4]
+  output [31:0] auto_out_a_mem_0_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31111.4]
+  output        auto_out_a_mem_0_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31111.4]
+  input         auto_out_a_ridx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31111.4]
+  output        auto_out_a_widx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31111.4]
+  input         auto_out_a_safe_ridx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31111.4]
+  output        auto_out_a_safe_widx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31111.4]
+  output        auto_out_a_safe_source_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31111.4]
+  input         auto_out_a_safe_sink_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31111.4]
+  input  [2:0]  auto_out_d_mem_0_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31111.4]
+  input  [1:0]  auto_out_d_mem_0_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31111.4]
+  input  [1:0]  auto_out_d_mem_0_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31111.4]
+  input  [5:0]  auto_out_d_mem_0_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31111.4]
+  input         auto_out_d_mem_0_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31111.4]
+  input         auto_out_d_mem_0_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31111.4]
+  input  [31:0] auto_out_d_mem_0_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31111.4]
+  input         auto_out_d_mem_0_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31111.4]
+  output        auto_out_d_ridx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31111.4]
+  input         auto_out_d_widx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31111.4]
+  output        auto_out_d_safe_ridx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31111.4]
+  input         auto_out_d_safe_widx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31111.4]
+  input         auto_out_d_safe_source_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31111.4]
+  output        auto_out_d_safe_sink_reset_n // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31111.4]
+);
+  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31118.4]
+  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31118.4]
+  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31118.4]
+  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31118.4]
+  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31118.4]
+  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31118.4]
+  wire [1:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31118.4]
+  wire [5:0] TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31118.4]
+  wire [28:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31118.4]
+  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31118.4]
+  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31118.4]
+  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31118.4]
+  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31118.4]
+  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31118.4]
+  wire [1:0] TLMonitor_io_in_d_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31118.4]
+  wire [1:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31118.4]
+  wire [5:0] TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31118.4]
+  wire  TLMonitor_io_in_d_bits_sink; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31118.4]
+  wire  TLMonitor_io_in_d_bits_denied; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31118.4]
+  wire  TLMonitor_io_in_d_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31118.4]
+  wire  AsyncQueueSource_clock; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@31159.4]
+  wire  AsyncQueueSource_reset; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@31159.4]
+  wire  AsyncQueueSource_io_enq_ready; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@31159.4]
+  wire  AsyncQueueSource_io_enq_valid; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@31159.4]
+  wire [2:0] AsyncQueueSource_io_enq_bits_opcode; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@31159.4]
+  wire [2:0] AsyncQueueSource_io_enq_bits_param; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@31159.4]
+  wire [1:0] AsyncQueueSource_io_enq_bits_size; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@31159.4]
+  wire [5:0] AsyncQueueSource_io_enq_bits_source; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@31159.4]
+  wire [28:0] AsyncQueueSource_io_enq_bits_address; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@31159.4]
+  wire [3:0] AsyncQueueSource_io_enq_bits_mask; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@31159.4]
+  wire [31:0] AsyncQueueSource_io_enq_bits_data; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@31159.4]
+  wire  AsyncQueueSource_io_enq_bits_corrupt; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@31159.4]
+  wire [2:0] AsyncQueueSource_io_async_mem_0_opcode; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@31159.4]
+  wire [2:0] AsyncQueueSource_io_async_mem_0_param; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@31159.4]
+  wire [1:0] AsyncQueueSource_io_async_mem_0_size; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@31159.4]
+  wire [5:0] AsyncQueueSource_io_async_mem_0_source; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@31159.4]
+  wire [28:0] AsyncQueueSource_io_async_mem_0_address; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@31159.4]
+  wire [3:0] AsyncQueueSource_io_async_mem_0_mask; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@31159.4]
+  wire [31:0] AsyncQueueSource_io_async_mem_0_data; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@31159.4]
+  wire  AsyncQueueSource_io_async_mem_0_corrupt; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@31159.4]
+  wire  AsyncQueueSource_io_async_ridx; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@31159.4]
+  wire  AsyncQueueSource_io_async_widx; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@31159.4]
+  wire  AsyncQueueSource_io_async_safe_ridx_valid; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@31159.4]
+  wire  AsyncQueueSource_io_async_safe_widx_valid; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@31159.4]
+  wire  AsyncQueueSource_io_async_safe_source_reset_n; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@31159.4]
+  wire  AsyncQueueSource_io_async_safe_sink_reset_n; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@31159.4]
+  wire  AsyncQueueSink_clock; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@31166.4]
+  wire  AsyncQueueSink_reset; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@31166.4]
+  wire  AsyncQueueSink_io_deq_ready; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@31166.4]
+  wire  AsyncQueueSink_io_deq_valid; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@31166.4]
+  wire [2:0] AsyncQueueSink_io_deq_bits_opcode; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@31166.4]
+  wire [1:0] AsyncQueueSink_io_deq_bits_param; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@31166.4]
+  wire [1:0] AsyncQueueSink_io_deq_bits_size; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@31166.4]
+  wire [5:0] AsyncQueueSink_io_deq_bits_source; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@31166.4]
+  wire  AsyncQueueSink_io_deq_bits_sink; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@31166.4]
+  wire  AsyncQueueSink_io_deq_bits_denied; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@31166.4]
+  wire [31:0] AsyncQueueSink_io_deq_bits_data; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@31166.4]
+  wire  AsyncQueueSink_io_deq_bits_corrupt; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@31166.4]
+  wire [2:0] AsyncQueueSink_io_async_mem_0_opcode; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@31166.4]
+  wire [1:0] AsyncQueueSink_io_async_mem_0_param; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@31166.4]
+  wire [1:0] AsyncQueueSink_io_async_mem_0_size; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@31166.4]
+  wire [5:0] AsyncQueueSink_io_async_mem_0_source; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@31166.4]
+  wire  AsyncQueueSink_io_async_mem_0_sink; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@31166.4]
+  wire  AsyncQueueSink_io_async_mem_0_denied; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@31166.4]
+  wire [31:0] AsyncQueueSink_io_async_mem_0_data; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@31166.4]
+  wire  AsyncQueueSink_io_async_mem_0_corrupt; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@31166.4]
+  wire  AsyncQueueSink_io_async_ridx; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@31166.4]
+  wire  AsyncQueueSink_io_async_widx; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@31166.4]
+  wire  AsyncQueueSink_io_async_safe_ridx_valid; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@31166.4]
+  wire  AsyncQueueSink_io_async_safe_widx_valid; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@31166.4]
+  wire  AsyncQueueSink_io_async_safe_source_reset_n; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@31166.4]
+  wire  AsyncQueueSink_io_async_safe_sink_reset_n; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@31166.4]
+  TLMonitor_17 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31118.4]
+    .clock(TLMonitor_clock),
+    .reset(TLMonitor_reset),
+    .io_in_a_ready(TLMonitor_io_in_a_ready),
+    .io_in_a_valid(TLMonitor_io_in_a_valid),
+    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
+    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
+    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
+    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
+    .io_in_d_ready(TLMonitor_io_in_d_ready),
+    .io_in_d_valid(TLMonitor_io_in_d_valid),
+    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
+    .io_in_d_bits_param(TLMonitor_io_in_d_bits_param),
+    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
+    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source),
+    .io_in_d_bits_sink(TLMonitor_io_in_d_bits_sink),
+    .io_in_d_bits_denied(TLMonitor_io_in_d_bits_denied),
+    .io_in_d_bits_corrupt(TLMonitor_io_in_d_bits_corrupt)
+  );
+  AsyncQueueSource AsyncQueueSource ( // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@31159.4]
+    .clock(AsyncQueueSource_clock),
+    .reset(AsyncQueueSource_reset),
+    .io_enq_ready(AsyncQueueSource_io_enq_ready),
+    .io_enq_valid(AsyncQueueSource_io_enq_valid),
+    .io_enq_bits_opcode(AsyncQueueSource_io_enq_bits_opcode),
+    .io_enq_bits_param(AsyncQueueSource_io_enq_bits_param),
+    .io_enq_bits_size(AsyncQueueSource_io_enq_bits_size),
+    .io_enq_bits_source(AsyncQueueSource_io_enq_bits_source),
+    .io_enq_bits_address(AsyncQueueSource_io_enq_bits_address),
+    .io_enq_bits_mask(AsyncQueueSource_io_enq_bits_mask),
+    .io_enq_bits_data(AsyncQueueSource_io_enq_bits_data),
+    .io_enq_bits_corrupt(AsyncQueueSource_io_enq_bits_corrupt),
+    .io_async_mem_0_opcode(AsyncQueueSource_io_async_mem_0_opcode),
+    .io_async_mem_0_param(AsyncQueueSource_io_async_mem_0_param),
+    .io_async_mem_0_size(AsyncQueueSource_io_async_mem_0_size),
+    .io_async_mem_0_source(AsyncQueueSource_io_async_mem_0_source),
+    .io_async_mem_0_address(AsyncQueueSource_io_async_mem_0_address),
+    .io_async_mem_0_mask(AsyncQueueSource_io_async_mem_0_mask),
+    .io_async_mem_0_data(AsyncQueueSource_io_async_mem_0_data),
+    .io_async_mem_0_corrupt(AsyncQueueSource_io_async_mem_0_corrupt),
+    .io_async_ridx(AsyncQueueSource_io_async_ridx),
+    .io_async_widx(AsyncQueueSource_io_async_widx),
+    .io_async_safe_ridx_valid(AsyncQueueSource_io_async_safe_ridx_valid),
+    .io_async_safe_widx_valid(AsyncQueueSource_io_async_safe_widx_valid),
+    .io_async_safe_source_reset_n(AsyncQueueSource_io_async_safe_source_reset_n),
+    .io_async_safe_sink_reset_n(AsyncQueueSource_io_async_safe_sink_reset_n)
+  );
+  AsyncQueueSink AsyncQueueSink ( // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@31166.4]
+    .clock(AsyncQueueSink_clock),
+    .reset(AsyncQueueSink_reset),
+    .io_deq_ready(AsyncQueueSink_io_deq_ready),
+    .io_deq_valid(AsyncQueueSink_io_deq_valid),
+    .io_deq_bits_opcode(AsyncQueueSink_io_deq_bits_opcode),
+    .io_deq_bits_param(AsyncQueueSink_io_deq_bits_param),
+    .io_deq_bits_size(AsyncQueueSink_io_deq_bits_size),
+    .io_deq_bits_source(AsyncQueueSink_io_deq_bits_source),
+    .io_deq_bits_sink(AsyncQueueSink_io_deq_bits_sink),
+    .io_deq_bits_denied(AsyncQueueSink_io_deq_bits_denied),
+    .io_deq_bits_data(AsyncQueueSink_io_deq_bits_data),
+    .io_deq_bits_corrupt(AsyncQueueSink_io_deq_bits_corrupt),
+    .io_async_mem_0_opcode(AsyncQueueSink_io_async_mem_0_opcode),
+    .io_async_mem_0_param(AsyncQueueSink_io_async_mem_0_param),
+    .io_async_mem_0_size(AsyncQueueSink_io_async_mem_0_size),
+    .io_async_mem_0_source(AsyncQueueSink_io_async_mem_0_source),
+    .io_async_mem_0_sink(AsyncQueueSink_io_async_mem_0_sink),
+    .io_async_mem_0_denied(AsyncQueueSink_io_async_mem_0_denied),
+    .io_async_mem_0_data(AsyncQueueSink_io_async_mem_0_data),
+    .io_async_mem_0_corrupt(AsyncQueueSink_io_async_mem_0_corrupt),
+    .io_async_ridx(AsyncQueueSink_io_async_ridx),
+    .io_async_widx(AsyncQueueSink_io_async_widx),
+    .io_async_safe_ridx_valid(AsyncQueueSink_io_async_safe_ridx_valid),
+    .io_async_safe_widx_valid(AsyncQueueSink_io_async_safe_widx_valid),
+    .io_async_safe_source_reset_n(AsyncQueueSink_io_async_safe_source_reset_n),
+    .io_async_safe_sink_reset_n(AsyncQueueSink_io_async_safe_sink_reset_n)
+  );
+  assign auto_in_a_ready = AsyncQueueSource_io_enq_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@31158.4]
+  assign auto_in_d_valid = AsyncQueueSink_io_deq_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@31158.4]
+  assign auto_in_d_bits_opcode = AsyncQueueSink_io_deq_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@31158.4]
+  assign auto_in_d_bits_param = AsyncQueueSink_io_deq_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@31158.4]
+  assign auto_in_d_bits_size = AsyncQueueSink_io_deq_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@31158.4]
+  assign auto_in_d_bits_source = AsyncQueueSink_io_deq_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@31158.4]
+  assign auto_in_d_bits_sink = AsyncQueueSink_io_deq_bits_sink; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@31158.4]
+  assign auto_in_d_bits_denied = AsyncQueueSink_io_deq_bits_denied; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@31158.4]
+  assign auto_in_d_bits_data = AsyncQueueSink_io_deq_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@31158.4]
+  assign auto_in_d_bits_corrupt = AsyncQueueSink_io_deq_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@31158.4]
+  assign auto_out_a_mem_0_opcode = AsyncQueueSource_io_async_mem_0_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@31157.4]
+  assign auto_out_a_mem_0_param = AsyncQueueSource_io_async_mem_0_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@31157.4]
+  assign auto_out_a_mem_0_size = AsyncQueueSource_io_async_mem_0_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@31157.4]
+  assign auto_out_a_mem_0_source = AsyncQueueSource_io_async_mem_0_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@31157.4]
+  assign auto_out_a_mem_0_address = AsyncQueueSource_io_async_mem_0_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@31157.4]
+  assign auto_out_a_mem_0_mask = AsyncQueueSource_io_async_mem_0_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@31157.4]
+  assign auto_out_a_mem_0_data = AsyncQueueSource_io_async_mem_0_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@31157.4]
+  assign auto_out_a_mem_0_corrupt = AsyncQueueSource_io_async_mem_0_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@31157.4]
+  assign auto_out_a_widx = AsyncQueueSource_io_async_widx; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@31157.4]
+  assign auto_out_a_safe_widx_valid = AsyncQueueSource_io_async_safe_widx_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@31157.4]
+  assign auto_out_a_safe_source_reset_n = AsyncQueueSource_io_async_safe_source_reset_n; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@31157.4]
+  assign auto_out_d_ridx = AsyncQueueSink_io_async_ridx; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@31157.4]
+  assign auto_out_d_safe_ridx_valid = AsyncQueueSink_io_async_safe_ridx_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@31157.4]
+  assign auto_out_d_safe_sink_reset_n = AsyncQueueSink_io_async_safe_sink_reset_n; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@31157.4]
+  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31120.4]
+  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31121.4]
+  assign TLMonitor_io_in_a_ready = AsyncQueueSource_io_enq_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@31154.4]
+  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@31154.4]
+  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@31154.4]
+  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@31154.4]
+  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@31154.4]
+  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@31154.4]
+  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@31154.4]
+  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@31154.4]
+  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@31154.4]
+  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@31154.4]
+  assign TLMonitor_io_in_d_valid = AsyncQueueSink_io_deq_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@31154.4]
+  assign TLMonitor_io_in_d_bits_opcode = AsyncQueueSink_io_deq_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@31154.4]
+  assign TLMonitor_io_in_d_bits_param = AsyncQueueSink_io_deq_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@31154.4]
+  assign TLMonitor_io_in_d_bits_size = AsyncQueueSink_io_deq_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@31154.4]
+  assign TLMonitor_io_in_d_bits_source = AsyncQueueSink_io_deq_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@31154.4]
+  assign TLMonitor_io_in_d_bits_sink = AsyncQueueSink_io_deq_bits_sink; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@31154.4]
+  assign TLMonitor_io_in_d_bits_denied = AsyncQueueSink_io_deq_bits_denied; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@31154.4]
+  assign TLMonitor_io_in_d_bits_corrupt = AsyncQueueSink_io_deq_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@31154.4]
+  assign AsyncQueueSource_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31160.4]
+  assign AsyncQueueSource_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31161.4]
+  assign AsyncQueueSource_io_enq_valid = auto_in_a_valid; // @[AsyncQueue.scala 193:19:shc.marmotcaravel.MarmotCaravelConfig.fir@31163.4]
+  assign AsyncQueueSource_io_enq_bits_opcode = auto_in_a_bits_opcode; // @[AsyncQueue.scala 193:19:shc.marmotcaravel.MarmotCaravelConfig.fir@31162.4]
+  assign AsyncQueueSource_io_enq_bits_param = auto_in_a_bits_param; // @[AsyncQueue.scala 193:19:shc.marmotcaravel.MarmotCaravelConfig.fir@31162.4]
+  assign AsyncQueueSource_io_enq_bits_size = auto_in_a_bits_size; // @[AsyncQueue.scala 193:19:shc.marmotcaravel.MarmotCaravelConfig.fir@31162.4]
+  assign AsyncQueueSource_io_enq_bits_source = auto_in_a_bits_source; // @[AsyncQueue.scala 193:19:shc.marmotcaravel.MarmotCaravelConfig.fir@31162.4]
+  assign AsyncQueueSource_io_enq_bits_address = auto_in_a_bits_address; // @[AsyncQueue.scala 193:19:shc.marmotcaravel.MarmotCaravelConfig.fir@31162.4]
+  assign AsyncQueueSource_io_enq_bits_mask = auto_in_a_bits_mask; // @[AsyncQueue.scala 193:19:shc.marmotcaravel.MarmotCaravelConfig.fir@31162.4]
+  assign AsyncQueueSource_io_enq_bits_data = auto_in_a_bits_data; // @[AsyncQueue.scala 193:19:shc.marmotcaravel.MarmotCaravelConfig.fir@31162.4]
+  assign AsyncQueueSource_io_enq_bits_corrupt = auto_in_a_bits_corrupt; // @[AsyncQueue.scala 193:19:shc.marmotcaravel.MarmotCaravelConfig.fir@31162.4]
+  assign AsyncQueueSource_io_async_ridx = auto_out_a_ridx; // @[AsyncCrossing.scala 25:13:shc.marmotcaravel.MarmotCaravelConfig.fir@31165.4]
+  assign AsyncQueueSource_io_async_safe_ridx_valid = auto_out_a_safe_ridx_valid; // @[AsyncCrossing.scala 25:13:shc.marmotcaravel.MarmotCaravelConfig.fir@31165.4]
+  assign AsyncQueueSource_io_async_safe_sink_reset_n = auto_out_a_safe_sink_reset_n; // @[AsyncCrossing.scala 25:13:shc.marmotcaravel.MarmotCaravelConfig.fir@31165.4]
+  assign AsyncQueueSink_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31167.4]
+  assign AsyncQueueSink_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31168.4]
+  assign AsyncQueueSink_io_deq_ready = auto_in_d_ready; // @[AsyncCrossing.scala 26:12:shc.marmotcaravel.MarmotCaravelConfig.fir@31176.4]
+  assign AsyncQueueSink_io_async_mem_0_opcode = auto_out_d_mem_0_opcode; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@31175.4]
+  assign AsyncQueueSink_io_async_mem_0_param = auto_out_d_mem_0_param; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@31175.4]
+  assign AsyncQueueSink_io_async_mem_0_size = auto_out_d_mem_0_size; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@31175.4]
+  assign AsyncQueueSink_io_async_mem_0_source = auto_out_d_mem_0_source; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@31175.4]
+  assign AsyncQueueSink_io_async_mem_0_sink = auto_out_d_mem_0_sink; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@31175.4]
+  assign AsyncQueueSink_io_async_mem_0_denied = auto_out_d_mem_0_denied; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@31175.4]
+  assign AsyncQueueSink_io_async_mem_0_data = auto_out_d_mem_0_data; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@31175.4]
+  assign AsyncQueueSink_io_async_mem_0_corrupt = auto_out_d_mem_0_corrupt; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@31175.4]
+  assign AsyncQueueSink_io_async_widx = auto_out_d_widx; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@31173.4]
+  assign AsyncQueueSink_io_async_safe_widx_valid = auto_out_d_safe_widx_valid; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@31171.4]
+  assign AsyncQueueSink_io_async_safe_source_reset_n = auto_out_d_safe_source_reset_n; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@31170.4]
+endmodule
+module TLMonitor_18( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31207.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31208.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31209.4]
+  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31210.4]
+  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31210.4]
+  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31210.4]
+  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31210.4]
+  input  [2:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31210.4]
+  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31210.4]
+  input  [28:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31210.4]
+  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31210.4]
+  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31210.4]
+  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31210.4]
+  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31210.4]
+  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31210.4]
+  input  [1:0]  io_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31210.4]
+  input  [2:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31210.4]
+  input         io_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31210.4]
+  input         io_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31210.4]
+  input         io_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31210.4]
+  input         io_in_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31210.4]
+);
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@32342.4]
+  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@31226.6]
+  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@31231.6]
+  wire [12:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@31233.6]
+  wire [5:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@31234.6]
+  wire [5:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@31235.6]
+  wire [28:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@31236.6]
+  wire [28:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@31236.6]
+  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@31237.6]
+  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@31239.6]
+  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@31240.6]
+  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@31242.6]
+  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@31243.6]
+  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@31244.6]
+  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@31245.6]
+  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@31246.6]
+  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@31248.6]
+  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@31249.6]
+  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@31251.6]
+  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@31252.6]
+  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@31253.6]
+  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@31254.6]
+  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@31255.6]
+  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@31256.6]
+  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@31257.6]
+  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@31258.6]
+  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@31259.6]
+  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@31260.6]
+  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@31261.6]
+  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@31262.6]
+  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@31263.6]
+  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@31264.6]
+  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@31265.6]
+  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@31266.6]
+  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@31267.6]
+  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@31268.6]
+  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@31269.6]
+  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@31270.6]
+  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31295.6]
+  wire [28:0] _T_92; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@31298.8]
+  wire [29:0] _T_93; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@31299.8]
+  wire [29:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@31300.8]
+  wire [29:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@31301.8]
+  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@31302.8]
+  wire  _T_101; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31307.8]
+  wire  _T_106; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31320.8]
+  wire  _T_107; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31321.8]
+  wire  _T_110; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31328.8]
+  wire  _T_111; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31329.8]
+  wire  _T_113; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31335.8]
+  wire  _T_114; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31336.8]
+  wire  _T_115; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@31341.8]
+  wire  _T_117; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31343.8]
+  wire  _T_118; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31344.8]
+  wire [3:0] _T_119; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@31349.8]
+  wire  _T_120; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@31350.8]
+  wire  _T_122; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31352.8]
+  wire  _T_123; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31353.8]
+  wire  _T_124; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@31358.8]
+  wire  _T_126; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31360.8]
+  wire  _T_127; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31361.8]
+  wire  _T_128; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31367.6]
+  wire  _T_157; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@31421.8]
+  wire  _T_159; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31423.8]
+  wire  _T_160; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31424.8]
+  wire  _T_170; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31447.6]
+  wire  _T_172; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@31450.8]
+  wire  _T_180; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@31458.8]
+  wire  _T_183; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31461.8]
+  wire  _T_184; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31462.8]
+  wire  _T_191; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@31481.8]
+  wire  _T_193; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31483.8]
+  wire  _T_194; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31484.8]
+  wire  _T_195; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@31489.8]
+  wire  _T_197; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31491.8]
+  wire  _T_198; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31492.8]
+  wire  _T_203; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31506.6]
+  wire  _T_232; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31557.6]
+  wire [3:0] _T_257; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@31599.8]
+  wire [3:0] _T_258; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@31600.8]
+  wire  _T_259; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@31601.8]
+  wire  _T_261; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31603.8]
+  wire  _T_262; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31604.8]
+  wire  _T_263; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31610.6]
+  wire  _T_281; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@31641.8]
+  wire  _T_283; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31643.8]
+  wire  _T_284; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31644.8]
+  wire  _T_289; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31658.6]
+  wire  _T_307; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@31689.8]
+  wire  _T_309; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31691.8]
+  wire  _T_310; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31692.8]
+  wire  _T_315; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31706.6]
+  wire  _T_341; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@31756.6]
+  wire  _T_343; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@31758.6]
+  wire  _T_344; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@31759.6]
+  wire  _T_346; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@31765.6]
+  wire  _T_355; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@31770.6]
+  wire  _T_357; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31772.6]
+  wire  _T_359; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31775.8]
+  wire  _T_360; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31776.8]
+  wire  _T_361; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@31781.8]
+  wire  _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31783.8]
+  wire  _T_364; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31784.8]
+  wire  _T_365; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@31789.8]
+  wire  _T_367; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31791.8]
+  wire  _T_368; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31792.8]
+  wire  _T_369; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@31797.8]
+  wire  _T_371; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31799.8]
+  wire  _T_372; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31800.8]
+  wire  _T_373; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@31805.8]
+  wire  _T_375; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31807.8]
+  wire  _T_376; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31808.8]
+  wire  _T_377; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31814.6]
+  wire  _T_388; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@31838.8]
+  wire  _T_390; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31840.8]
+  wire  _T_391; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31841.8]
+  wire  _T_392; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@31846.8]
+  wire  _T_394; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31848.8]
+  wire  _T_395; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31849.8]
+  wire  _T_405; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31872.6]
+  wire  _T_425; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@31913.8]
+  wire  _T_427; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31915.8]
+  wire  _T_428; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31916.8]
+  wire  _T_434; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31931.6]
+  wire  _T_451; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31966.6]
+  wire  _T_469; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@32002.6]
+  wire  _T_498; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@32062.4]
+  wire [3:0] _T_503; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@32067.4]
+  wire  _T_504; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@32068.4]
+  wire  _T_505; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32069.4]
+  reg [3:0] _T_508; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@32071.4]
+  reg [31:0] _RAND_0;
+  wire [4:0] _T_509; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32072.4]
+  wire [4:0] _T_510; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32073.4]
+  wire [3:0] _T_511; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32074.4]
+  wire  _T_512; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@32075.4]
+  reg [2:0] _T_521; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@32086.4]
+  reg [31:0] _RAND_1;
+  reg [2:0] _T_523; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@32087.4]
+  reg [31:0] _RAND_2;
+  reg [2:0] _T_525; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@32088.4]
+  reg [31:0] _RAND_3;
+  reg  _T_527; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@32089.4]
+  reg [31:0] _RAND_4;
+  reg [28:0] _T_529; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@32090.4]
+  reg [31:0] _RAND_5;
+  wire  _T_530; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@32091.4]
+  wire  _T_531; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@32092.4]
+  wire  _T_532; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@32094.6]
+  wire  _T_534; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32096.6]
+  wire  _T_535; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32097.6]
+  wire  _T_536; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@32102.6]
+  wire  _T_538; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32104.6]
+  wire  _T_539; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32105.6]
+  wire  _T_540; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@32110.6]
+  wire  _T_542; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32112.6]
+  wire  _T_543; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32113.6]
+  wire  _T_544; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@32118.6]
+  wire  _T_546; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32120.6]
+  wire  _T_547; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32121.6]
+  wire  _T_548; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@32126.6]
+  wire  _T_550; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32128.6]
+  wire  _T_551; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32129.6]
+  wire  _T_553; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@32136.4]
+  wire  _T_554; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@32144.4]
+  wire [12:0] _T_556; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@32146.4]
+  wire [5:0] _T_557; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@32147.4]
+  wire [5:0] _T_558; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@32148.4]
+  wire [3:0] _T_559; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@32149.4]
+  wire  _T_560; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@32150.4]
+  reg [3:0] _T_563; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@32152.4]
+  reg [31:0] _RAND_6;
+  wire [4:0] _T_564; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32153.4]
+  wire [4:0] _T_565; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32154.4]
+  wire [3:0] _T_566; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32155.4]
+  wire  _T_567; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@32156.4]
+  reg [2:0] _T_576; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@32167.4]
+  reg [31:0] _RAND_7;
+  reg [1:0] _T_578; // @[Monitor.scala 419:22:shc.marmotcaravel.MarmotCaravelConfig.fir@32168.4]
+  reg [31:0] _RAND_8;
+  reg [2:0] _T_580; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@32169.4]
+  reg [31:0] _RAND_9;
+  reg  _T_582; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@32170.4]
+  reg [31:0] _RAND_10;
+  reg  _T_584; // @[Monitor.scala 422:22:shc.marmotcaravel.MarmotCaravelConfig.fir@32171.4]
+  reg [31:0] _RAND_11;
+  reg  _T_586; // @[Monitor.scala 423:22:shc.marmotcaravel.MarmotCaravelConfig.fir@32172.4]
+  reg [31:0] _RAND_12;
+  wire  _T_587; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@32173.4]
+  wire  _T_588; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@32174.4]
+  wire  _T_589; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@32176.6]
+  wire  _T_591; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32178.6]
+  wire  _T_592; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32179.6]
+  wire  _T_593; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@32184.6]
+  wire  _T_595; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32186.6]
+  wire  _T_596; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32187.6]
+  wire  _T_597; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@32192.6]
+  wire  _T_599; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32194.6]
+  wire  _T_600; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32195.6]
+  wire  _T_601; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@32200.6]
+  wire  _T_603; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32202.6]
+  wire  _T_604; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32203.6]
+  wire  _T_605; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@32208.6]
+  wire  _T_607; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32210.6]
+  wire  _T_608; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32211.6]
+  wire  _T_609; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@32216.6]
+  wire  _T_611; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32218.6]
+  wire  _T_612; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32219.6]
+  wire  _T_614; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@32226.4]
+  reg [1:0] _T_616; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@32235.4]
+  reg [31:0] _RAND_13;
+  reg [3:0] _T_627; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@32245.4]
+  reg [31:0] _RAND_14;
+  wire [4:0] _T_628; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32246.4]
+  wire [4:0] _T_629; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32247.4]
+  wire [3:0] _T_630; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32248.4]
+  wire  _T_631; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@32249.4]
+  reg [3:0] _T_648; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@32268.4]
+  reg [31:0] _RAND_15;
+  wire [4:0] _T_649; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32269.4]
+  wire [4:0] _T_650; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32270.4]
+  wire [3:0] _T_651; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32271.4]
+  wire  _T_652; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@32272.4]
+  wire  _T_663; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@32287.4]
+  wire [1:0] _T_665; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@32290.6]
+  wire [1:0] _T_666; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@32292.6]
+  wire  _T_667; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@32293.6]
+  wire  _T_668; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32294.6]
+  wire  _T_670; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@32296.6]
+  wire  _T_671; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@32297.6]
+  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@32289.4]
+  wire  _T_676; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@32308.4]
+  wire  _T_678; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@32310.4]
+  wire  _T_679; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@32311.4]
+  wire [1:0] _T_680; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@32313.6]
+  wire [1:0] _T_681; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@32315.6]
+  wire [1:0] _T_682; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@32316.6]
+  wire  _T_683; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@32317.6]
+  wire  _T_685; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@32319.6]
+  wire  _T_686; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@32320.6]
+  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@32312.4]
+  wire  _T_687; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@32326.4]
+  wire  _T_688; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@32327.4]
+  wire  _T_689; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@32328.4]
+  wire  _T_690; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@32329.4]
+  wire  _T_692; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@32331.4]
+  wire  _T_693; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@32332.4]
+  wire [1:0] _T_694; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@32337.4]
+  wire [1:0] _T_695; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@32338.4]
+  wire [1:0] _T_696; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@32339.4]
+  reg [31:0] _T_698; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@32341.4]
+  reg [31:0] _RAND_16;
+  wire  _T_699; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@32344.4]
+  wire  _T_700; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@32345.4]
+  wire  _T_701; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@32346.4]
+  wire  _T_702; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@32347.4]
+  wire  _T_703; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@32348.4]
+  wire  _T_704; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@32349.4]
+  wire  _T_706; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@32351.4]
+  wire  _T_707; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@32352.4]
+  wire [31:0] _T_709; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@32358.4]
+  wire  _T_712; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@32362.4]
+  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31309.10]
+  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31381.10]
+  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31464.10]
+  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31523.10]
+  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31574.10]
+  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31624.10]
+  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31672.10]
+  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31720.10]
+  wire  _GEN_115; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31778.10]
+  wire  _GEN_125; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31820.10]
+  wire  _GEN_139; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31878.10]
+  wire  _GEN_153; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31937.10]
+  wire  _GEN_161; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31972.10]
+  wire  _GEN_169; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32008.10]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@32342.4]
+    .out(plusarg_reader_out)
+  );
+  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@31226.6]
+  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@31231.6]
+  assign _T_32 = 13'h3f << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@31233.6]
+  assign _T_33 = _T_32[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@31234.6]
+  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@31235.6]
+  assign _GEN_18 = {{23'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@31236.6]
+  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@31236.6]
+  assign _T_36 = _T_35 == 29'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@31237.6]
+  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@31239.6]
+  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@31240.6]
+  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@31242.6]
+  assign _T_42 = io_in_a_bits_size >= 3'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@31243.6]
+  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@31244.6]
+  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@31245.6]
+  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@31246.6]
+  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@31248.6]
+  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@31249.6]
+  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@31251.6]
+  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@31252.6]
+  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@31253.6]
+  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@31254.6]
+  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@31255.6]
+  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@31256.6]
+  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@31257.6]
+  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@31258.6]
+  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@31259.6]
+  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@31260.6]
+  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@31261.6]
+  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@31262.6]
+  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@31263.6]
+  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@31264.6]
+  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@31265.6]
+  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@31266.6]
+  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@31267.6]
+  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@31268.6]
+  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@31269.6]
+  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@31270.6]
+  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31295.6]
+  assign _T_92 = io_in_a_bits_address ^ 29'h10000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@31298.8]
+  assign _T_93 = {1'b0,$signed(_T_92)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@31299.8]
+  assign _T_94 = $signed(_T_93) & $signed(-30'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@31300.8]
+  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@31301.8]
+  assign _T_96 = $signed(_T_95) == $signed(30'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@31302.8]
+  assign _T_101 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31307.8]
+  assign _T_106 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31320.8]
+  assign _T_107 = _T_106 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31321.8]
+  assign _T_110 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31328.8]
+  assign _T_111 = _T_110 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31329.8]
+  assign _T_113 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31335.8]
+  assign _T_114 = _T_113 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31336.8]
+  assign _T_115 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@31341.8]
+  assign _T_117 = _T_115 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31343.8]
+  assign _T_118 = _T_117 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31344.8]
+  assign _T_119 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@31349.8]
+  assign _T_120 = _T_119 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@31350.8]
+  assign _T_122 = _T_120 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31352.8]
+  assign _T_123 = _T_122 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31353.8]
+  assign _T_124 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@31358.8]
+  assign _T_126 = _T_124 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31360.8]
+  assign _T_127 = _T_126 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31361.8]
+  assign _T_128 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31367.6]
+  assign _T_157 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@31421.8]
+  assign _T_159 = _T_157 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31423.8]
+  assign _T_160 = _T_159 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31424.8]
+  assign _T_170 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31447.6]
+  assign _T_172 = io_in_a_bits_size <= 3'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@31450.8]
+  assign _T_180 = _T_172 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@31458.8]
+  assign _T_183 = _T_180 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31461.8]
+  assign _T_184 = _T_183 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31462.8]
+  assign _T_191 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@31481.8]
+  assign _T_193 = _T_191 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31483.8]
+  assign _T_194 = _T_193 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31484.8]
+  assign _T_195 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@31489.8]
+  assign _T_197 = _T_195 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31491.8]
+  assign _T_198 = _T_197 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31492.8]
+  assign _T_203 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31506.6]
+  assign _T_232 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31557.6]
+  assign _T_257 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@31599.8]
+  assign _T_258 = io_in_a_bits_mask & _T_257; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@31600.8]
+  assign _T_259 = _T_258 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@31601.8]
+  assign _T_261 = _T_259 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31603.8]
+  assign _T_262 = _T_261 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31604.8]
+  assign _T_263 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31610.6]
+  assign _T_281 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@31641.8]
+  assign _T_283 = _T_281 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31643.8]
+  assign _T_284 = _T_283 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31644.8]
+  assign _T_289 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31658.6]
+  assign _T_307 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@31689.8]
+  assign _T_309 = _T_307 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31691.8]
+  assign _T_310 = _T_309 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31692.8]
+  assign _T_315 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31706.6]
+  assign _T_341 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@31756.6]
+  assign _T_343 = _T_341 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@31758.6]
+  assign _T_344 = _T_343 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@31759.6]
+  assign _T_346 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@31765.6]
+  assign _T_355 = io_in_d_bits_source | _T_346; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@31770.6]
+  assign _T_357 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31772.6]
+  assign _T_359 = _T_355 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31775.8]
+  assign _T_360 = _T_359 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31776.8]
+  assign _T_361 = io_in_d_bits_size >= 3'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@31781.8]
+  assign _T_363 = _T_361 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31783.8]
+  assign _T_364 = _T_363 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31784.8]
+  assign _T_365 = io_in_d_bits_param == 2'h0; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@31789.8]
+  assign _T_367 = _T_365 | reset; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31791.8]
+  assign _T_368 = _T_367 == 1'h0; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31792.8]
+  assign _T_369 = io_in_d_bits_corrupt == 1'h0; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@31797.8]
+  assign _T_371 = _T_369 | reset; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31799.8]
+  assign _T_372 = _T_371 == 1'h0; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31800.8]
+  assign _T_373 = io_in_d_bits_denied == 1'h0; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@31805.8]
+  assign _T_375 = _T_373 | reset; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31807.8]
+  assign _T_376 = _T_375 == 1'h0; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31808.8]
+  assign _T_377 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31814.6]
+  assign _T_388 = io_in_d_bits_param <= 2'h2; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@31838.8]
+  assign _T_390 = _T_388 | reset; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31840.8]
+  assign _T_391 = _T_390 == 1'h0; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31841.8]
+  assign _T_392 = io_in_d_bits_param != 2'h2; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@31846.8]
+  assign _T_394 = _T_392 | reset; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31848.8]
+  assign _T_395 = _T_394 == 1'h0; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31849.8]
+  assign _T_405 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31872.6]
+  assign _T_425 = _T_373 | io_in_d_bits_corrupt; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@31913.8]
+  assign _T_427 = _T_425 | reset; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31915.8]
+  assign _T_428 = _T_427 == 1'h0; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31916.8]
+  assign _T_434 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31931.6]
+  assign _T_451 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31966.6]
+  assign _T_469 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@32002.6]
+  assign _T_498 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@32062.4]
+  assign _T_503 = _T_34[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@32067.4]
+  assign _T_504 = io_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@32068.4]
+  assign _T_505 = _T_504 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32069.4]
+  assign _T_509 = _T_508 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32072.4]
+  assign _T_510 = $unsigned(_T_509); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32073.4]
+  assign _T_511 = _T_510[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32074.4]
+  assign _T_512 = _T_508 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@32075.4]
+  assign _T_530 = _T_512 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@32091.4]
+  assign _T_531 = io_in_a_valid & _T_530; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@32092.4]
+  assign _T_532 = io_in_a_bits_opcode == _T_521; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@32094.6]
+  assign _T_534 = _T_532 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32096.6]
+  assign _T_535 = _T_534 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32097.6]
+  assign _T_536 = io_in_a_bits_param == _T_523; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@32102.6]
+  assign _T_538 = _T_536 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32104.6]
+  assign _T_539 = _T_538 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32105.6]
+  assign _T_540 = io_in_a_bits_size == _T_525; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@32110.6]
+  assign _T_542 = _T_540 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32112.6]
+  assign _T_543 = _T_542 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32113.6]
+  assign _T_544 = io_in_a_bits_source == _T_527; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@32118.6]
+  assign _T_546 = _T_544 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32120.6]
+  assign _T_547 = _T_546 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32121.6]
+  assign _T_548 = io_in_a_bits_address == _T_529; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@32126.6]
+  assign _T_550 = _T_548 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32128.6]
+  assign _T_551 = _T_550 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32129.6]
+  assign _T_553 = _T_498 & _T_512; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@32136.4]
+  assign _T_554 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@32144.4]
+  assign _T_556 = 13'h3f << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@32146.4]
+  assign _T_557 = _T_556[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@32147.4]
+  assign _T_558 = ~ _T_557; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@32148.4]
+  assign _T_559 = _T_558[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@32149.4]
+  assign _T_560 = io_in_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@32150.4]
+  assign _T_564 = _T_563 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32153.4]
+  assign _T_565 = $unsigned(_T_564); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32154.4]
+  assign _T_566 = _T_565[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32155.4]
+  assign _T_567 = _T_563 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@32156.4]
+  assign _T_587 = _T_567 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@32173.4]
+  assign _T_588 = io_in_d_valid & _T_587; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@32174.4]
+  assign _T_589 = io_in_d_bits_opcode == _T_576; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@32176.6]
+  assign _T_591 = _T_589 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32178.6]
+  assign _T_592 = _T_591 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32179.6]
+  assign _T_593 = io_in_d_bits_param == _T_578; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@32184.6]
+  assign _T_595 = _T_593 | reset; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32186.6]
+  assign _T_596 = _T_595 == 1'h0; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32187.6]
+  assign _T_597 = io_in_d_bits_size == _T_580; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@32192.6]
+  assign _T_599 = _T_597 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32194.6]
+  assign _T_600 = _T_599 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32195.6]
+  assign _T_601 = io_in_d_bits_source == _T_582; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@32200.6]
+  assign _T_603 = _T_601 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32202.6]
+  assign _T_604 = _T_603 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32203.6]
+  assign _T_605 = io_in_d_bits_sink == _T_584; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@32208.6]
+  assign _T_607 = _T_605 | reset; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32210.6]
+  assign _T_608 = _T_607 == 1'h0; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32211.6]
+  assign _T_609 = io_in_d_bits_denied == _T_586; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@32216.6]
+  assign _T_611 = _T_609 | reset; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32218.6]
+  assign _T_612 = _T_611 == 1'h0; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32219.6]
+  assign _T_614 = _T_554 & _T_567; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@32226.4]
+  assign _T_628 = _T_627 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32246.4]
+  assign _T_629 = $unsigned(_T_628); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32247.4]
+  assign _T_630 = _T_629[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32248.4]
+  assign _T_631 = _T_627 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@32249.4]
+  assign _T_649 = _T_648 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32269.4]
+  assign _T_650 = $unsigned(_T_649); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32270.4]
+  assign _T_651 = _T_650[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32271.4]
+  assign _T_652 = _T_648 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@32272.4]
+  assign _T_663 = _T_498 & _T_631; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@32287.4]
+  assign _T_665 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@32290.6]
+  assign _T_666 = _T_616 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@32292.6]
+  assign _T_667 = _T_666[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@32293.6]
+  assign _T_668 = _T_667 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32294.6]
+  assign _T_670 = _T_668 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@32296.6]
+  assign _T_671 = _T_670 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@32297.6]
+  assign _GEN_15 = _T_663 ? _T_665 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@32289.4]
+  assign _T_676 = _T_554 & _T_652; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@32308.4]
+  assign _T_678 = _T_357 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@32310.4]
+  assign _T_679 = _T_676 & _T_678; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@32311.4]
+  assign _T_680 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@32313.6]
+  assign _T_681 = _GEN_15 | _T_616; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@32315.6]
+  assign _T_682 = _T_681 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@32316.6]
+  assign _T_683 = _T_682[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@32317.6]
+  assign _T_685 = _T_683 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@32319.6]
+  assign _T_686 = _T_685 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@32320.6]
+  assign _GEN_16 = _T_679 ? _T_680 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@32312.4]
+  assign _T_687 = _GEN_15 != _GEN_16; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@32326.4]
+  assign _T_688 = _GEN_15 != 2'h0; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@32327.4]
+  assign _T_689 = _T_688 == 1'h0; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@32328.4]
+  assign _T_690 = _T_687 | _T_689; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@32329.4]
+  assign _T_692 = _T_690 | reset; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@32331.4]
+  assign _T_693 = _T_692 == 1'h0; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@32332.4]
+  assign _T_694 = _T_616 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@32337.4]
+  assign _T_695 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@32338.4]
+  assign _T_696 = _T_694 & _T_695; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@32339.4]
+  assign _T_699 = _T_616 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@32344.4]
+  assign _T_700 = _T_699 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@32345.4]
+  assign _T_701 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@32346.4]
+  assign _T_702 = _T_700 | _T_701; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@32347.4]
+  assign _T_703 = _T_698 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@32348.4]
+  assign _T_704 = _T_702 | _T_703; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@32349.4]
+  assign _T_706 = _T_704 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@32351.4]
+  assign _T_707 = _T_706 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@32352.4]
+  assign _T_709 = _T_698 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@32358.4]
+  assign _T_712 = _T_498 | _T_554; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@32362.4]
+  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31309.10]
+  assign _GEN_35 = io_in_a_valid & _T_128; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31381.10]
+  assign _GEN_53 = io_in_a_valid & _T_170; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31464.10]
+  assign _GEN_65 = io_in_a_valid & _T_203; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31523.10]
+  assign _GEN_75 = io_in_a_valid & _T_232; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31574.10]
+  assign _GEN_85 = io_in_a_valid & _T_263; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31624.10]
+  assign _GEN_95 = io_in_a_valid & _T_289; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31672.10]
+  assign _GEN_105 = io_in_a_valid & _T_315; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31720.10]
+  assign _GEN_115 = io_in_d_valid & _T_357; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31778.10]
+  assign _GEN_125 = io_in_d_valid & _T_377; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31820.10]
+  assign _GEN_139 = io_in_d_valid & _T_405; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31878.10]
+  assign _GEN_153 = io_in_d_valid & _T_434; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31937.10]
+  assign _GEN_161 = io_in_d_valid & _T_451; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31972.10]
+  assign _GEN_169 = io_in_d_valid & _T_469; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32008.10]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  _T_508 = _RAND_0[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  _T_521 = _RAND_1[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  _T_523 = _RAND_2[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  _T_525 = _RAND_3[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  _T_527 = _RAND_4[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  _T_529 = _RAND_5[28:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {1{`RANDOM}};
+  _T_563 = _RAND_6[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {1{`RANDOM}};
+  _T_576 = _RAND_7[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_8 = {1{`RANDOM}};
+  _T_578 = _RAND_8[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_9 = {1{`RANDOM}};
+  _T_580 = _RAND_9[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_10 = {1{`RANDOM}};
+  _T_582 = _RAND_10[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_11 = {1{`RANDOM}};
+  _T_584 = _RAND_11[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_12 = {1{`RANDOM}};
+  _T_586 = _RAND_12[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_13 = {1{`RANDOM}};
+  _T_616 = _RAND_13[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_14 = {1{`RANDOM}};
+  _T_627 = _RAND_14[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_15 = {1{`RANDOM}};
+  _T_648 = _RAND_15[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_16 = {1{`RANDOM}};
+  _T_698 = _RAND_16[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      _T_508 <= 4'h0;
+    end else begin
+      if (_T_498) begin
+        if (_T_512) begin
+          if (_T_505) begin
+            _T_508 <= _T_503;
+          end else begin
+            _T_508 <= 4'h0;
+          end
+        end else begin
+          _T_508 <= _T_511;
+        end
+      end
+    end
+    if (_T_553) begin
+      _T_521 <= io_in_a_bits_opcode;
+    end
+    if (_T_553) begin
+      _T_523 <= io_in_a_bits_param;
+    end
+    if (_T_553) begin
+      _T_525 <= io_in_a_bits_size;
+    end
+    if (_T_553) begin
+      _T_527 <= io_in_a_bits_source;
+    end
+    if (_T_553) begin
+      _T_529 <= io_in_a_bits_address;
+    end
+    if (reset) begin
+      _T_563 <= 4'h0;
+    end else begin
+      if (_T_554) begin
+        if (_T_567) begin
+          if (_T_560) begin
+            _T_563 <= _T_559;
+          end else begin
+            _T_563 <= 4'h0;
+          end
+        end else begin
+          _T_563 <= _T_566;
+        end
+      end
+    end
+    if (_T_614) begin
+      _T_576 <= io_in_d_bits_opcode;
+    end
+    if (_T_614) begin
+      _T_578 <= io_in_d_bits_param;
+    end
+    if (_T_614) begin
+      _T_580 <= io_in_d_bits_size;
+    end
+    if (_T_614) begin
+      _T_582 <= io_in_d_bits_source;
+    end
+    if (_T_614) begin
+      _T_584 <= io_in_d_bits_sink;
+    end
+    if (_T_614) begin
+      _T_586 <= io_in_d_bits_denied;
+    end
+    if (reset) begin
+      _T_616 <= 2'h0;
+    end else begin
+      _T_616 <= _T_696;
+    end
+    if (reset) begin
+      _T_627 <= 4'h0;
+    end else begin
+      if (_T_498) begin
+        if (_T_631) begin
+          if (_T_505) begin
+            _T_627 <= _T_503;
+          end else begin
+            _T_627 <= 4'h0;
+          end
+        end else begin
+          _T_627 <= _T_630;
+        end
+      end
+    end
+    if (reset) begin
+      _T_648 <= 4'h0;
+    end else begin
+      if (_T_554) begin
+        if (_T_652) begin
+          if (_T_560) begin
+            _T_648 <= _T_559;
+          end else begin
+            _T_648 <= 4'h0;
+          end
+        end else begin
+          _T_648 <= _T_651;
+        end
+      end
+    end
+    if (reset) begin
+      _T_698 <= 32'h0;
+    end else begin
+      if (_T_712) begin
+        _T_698 <= 32'h0;
+      end else begin
+        _T_698 <= _T_709;
+      end
+    end
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@31222.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@31223.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@31292.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@31293.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31309.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_101) begin
+          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31310.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31316.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_101) begin
+          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31317.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31323.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_107) begin
+          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31324.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_111) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31331.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_111) begin
+          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31332.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31338.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_114) begin
+          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31339.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_118) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31346.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_118) begin
+          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31347.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_123) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31355.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_123) begin
+          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31356.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_127) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31363.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_127) begin
+          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31364.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31381.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_101) begin
+          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31382.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31388.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_101) begin
+          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31389.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31395.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_107) begin
+          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31396.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_111) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31403.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_111) begin
+          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31404.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31410.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_114) begin
+          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31411.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_118) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31418.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_118) begin
+          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31419.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_160) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31426.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_160) begin
+          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31427.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_123) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31435.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_123) begin
+          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31436.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_127) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31443.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_127) begin
+          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31444.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_184) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31464.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_184) begin
+          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31465.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31471.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_107) begin
+          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31472.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31478.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_114) begin
+          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31479.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_194) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31486.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_194) begin
+          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31487.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_198) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31494.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_198) begin
+          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31495.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_127) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31502.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_127) begin
+          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31503.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_184) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31523.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_184) begin
+          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31524.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31530.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_107) begin
+          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31531.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31537.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_114) begin
+          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31538.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_194) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31545.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_194) begin
+          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31546.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_198) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31553.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_198) begin
+          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31554.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_184) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31574.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_184) begin
+          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31575.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31581.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_107) begin
+          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31582.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31588.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_114) begin
+          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31589.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_194) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31596.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_194) begin
+          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31597.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_262) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31606.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_262) begin
+          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31607.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31624.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_101) begin
+          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31625.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31631.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_107) begin
+          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31632.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31638.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_114) begin
+          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31639.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_284) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31646.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_284) begin
+          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31647.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_198) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31654.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_198) begin
+          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31655.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31672.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_101) begin
+          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31673.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31679.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_107) begin
+          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31680.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31686.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_114) begin
+          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31687.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_310) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31694.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_310) begin
+          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31695.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_198) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31702.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_198) begin
+          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31703.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31720.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_101) begin
+          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31721.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31727.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_107) begin
+          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31728.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31734.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_114) begin
+          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31735.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_198) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31742.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_198) begin
+          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31743.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_127) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31750.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_127) begin
+          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31751.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_344) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@31761.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_344) begin
+          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@31762.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_360) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31778.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_360) begin
+          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31779.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_364) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31786.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_364) begin
+          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31787.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_368) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31794.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_368) begin
+          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31795.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_372) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31802.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_372) begin
+          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31803.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_376) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31810.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_376) begin
+          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31811.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_360) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31820.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_360) begin
+          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31821.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31827.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_101) begin
+          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31828.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_364) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31835.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_364) begin
+          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31836.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_391) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31843.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_391) begin
+          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31844.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_395) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31851.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_395) begin
+          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31852.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_372) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31859.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_372) begin
+          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31860.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_376) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31868.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_376) begin
+          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31869.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_139 & _T_360) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31878.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_139 & _T_360) begin
+          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31879.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_139 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31885.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_139 & _T_101) begin
+          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31886.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_139 & _T_364) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31893.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_139 & _T_364) begin
+          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31894.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_139 & _T_391) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31901.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_139 & _T_391) begin
+          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31902.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_139 & _T_395) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31909.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_139 & _T_395) begin
+          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31910.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_139 & _T_428) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31918.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_139 & _T_428) begin
+          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31919.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_139 & _T_376) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31927.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_139 & _T_376) begin
+          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31928.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_153 & _T_360) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31937.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_153 & _T_360) begin
+          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31938.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_153 & _T_368) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31945.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_153 & _T_368) begin
+          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31946.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_153 & _T_372) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31953.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_153 & _T_372) begin
+          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31954.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_153 & _T_376) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31962.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_153 & _T_376) begin
+          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31963.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_161 & _T_360) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31972.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_161 & _T_360) begin
+          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31973.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_161 & _T_368) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31980.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_161 & _T_368) begin
+          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31981.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_161 & _T_428) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31989.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_161 & _T_428) begin
+          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31990.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_161 & _T_376) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31998.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_161 & _T_376) begin
+          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31999.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_169 & _T_360) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32008.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_169 & _T_360) begin
+          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32009.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_169 & _T_368) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32016.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_169 & _T_368) begin
+          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32017.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_169 & _T_372) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32024.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_169 & _T_372) begin
+          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32025.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_169 & _T_376) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32033.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_169 & _T_376) begin
+          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32034.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32043.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32044.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32051.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32052.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32059.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32060.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_531 & _T_535) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32099.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_531 & _T_535) begin
+          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32100.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_531 & _T_539) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32107.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_531 & _T_539) begin
+          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32108.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_531 & _T_543) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32115.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_531 & _T_543) begin
+          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32116.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_531 & _T_547) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32123.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_531 & _T_547) begin
+          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32124.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_531 & _T_551) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32131.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_531 & _T_551) begin
+          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32132.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_588 & _T_592) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32181.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_588 & _T_592) begin
+          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32182.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_588 & _T_596) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32189.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_588 & _T_596) begin
+          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32190.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_588 & _T_600) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32197.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_588 & _T_600) begin
+          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32198.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_588 & _T_604) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32205.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_588 & _T_604) begin
+          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32206.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_588 & _T_608) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32213.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_588 & _T_608) begin
+          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32214.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_588 & _T_612) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32221.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_588 & _T_612) begin
+          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32222.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_663 & _T_671) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@32299.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_663 & _T_671) begin
+          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@32300.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_679 & _T_686) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@32322.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_679 & _T_686) begin
+          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@32323.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_693) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' and 'D' concurrent, despite minlatency 4 (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:471 assert(a_set =/= d_clr || !a_set.orR, s\"'A' and 'D' concurrent, despite minlatency ${edge.manager.minLatency}\" + extra)\n"); // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@32334.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_693) begin
+          $fatal; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@32335.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_707) begin
+          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@32354.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_707) begin
+          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@32355.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+endmodule
+module Repeater_4( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32367.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32368.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32369.4]
+  input         io_repeat, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32370.4]
+  output        io_full, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32370.4]
+  output        io_enq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32370.4]
+  input         io_enq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32370.4]
+  input  [2:0]  io_enq_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32370.4]
+  input  [2:0]  io_enq_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32370.4]
+  input  [2:0]  io_enq_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32370.4]
+  input         io_enq_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32370.4]
+  input  [28:0] io_enq_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32370.4]
+  input  [3:0]  io_enq_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32370.4]
+  input         io_enq_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32370.4]
+  input         io_deq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32370.4]
+  output        io_deq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32370.4]
+  output [2:0]  io_deq_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32370.4]
+  output [2:0]  io_deq_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32370.4]
+  output [2:0]  io_deq_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32370.4]
+  output        io_deq_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32370.4]
+  output [28:0] io_deq_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32370.4]
+  output [3:0]  io_deq_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32370.4]
+  output        io_deq_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32370.4]
+);
+  reg  full; // @[Repeater.scala 18:21:shc.marmotcaravel.MarmotCaravelConfig.fir@32375.4]
+  reg [31:0] _RAND_0;
+  reg [2:0] saved_opcode; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@32376.4]
+  reg [31:0] _RAND_1;
+  reg [2:0] saved_param; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@32376.4]
+  reg [31:0] _RAND_2;
+  reg [2:0] saved_size; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@32376.4]
+  reg [31:0] _RAND_3;
+  reg  saved_source; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@32376.4]
+  reg [31:0] _RAND_4;
+  reg [28:0] saved_address; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@32376.4]
+  reg [31:0] _RAND_5;
+  reg [3:0] saved_mask; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@32376.4]
+  reg [31:0] _RAND_6;
+  reg  saved_corrupt; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@32376.4]
+  reg [31:0] _RAND_7;
+  wire  _T_18; // @[Repeater.scala 23:35:shc.marmotcaravel.MarmotCaravelConfig.fir@32379.4]
+  wire  _T_21; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@32385.4]
+  wire  _T_22; // @[Repeater.scala 27:23:shc.marmotcaravel.MarmotCaravelConfig.fir@32386.4]
+  wire  _T_23; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@32391.4]
+  wire  _T_24; // @[Repeater.scala 28:26:shc.marmotcaravel.MarmotCaravelConfig.fir@32392.4]
+  wire  _T_25; // @[Repeater.scala 28:23:shc.marmotcaravel.MarmotCaravelConfig.fir@32393.4]
+  assign _T_18 = full == 1'h0; // @[Repeater.scala 23:35:shc.marmotcaravel.MarmotCaravelConfig.fir@32379.4]
+  assign _T_21 = io_enq_ready & io_enq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@32385.4]
+  assign _T_22 = _T_21 & io_repeat; // @[Repeater.scala 27:23:shc.marmotcaravel.MarmotCaravelConfig.fir@32386.4]
+  assign _T_23 = io_deq_ready & io_deq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@32391.4]
+  assign _T_24 = io_repeat == 1'h0; // @[Repeater.scala 28:26:shc.marmotcaravel.MarmotCaravelConfig.fir@32392.4]
+  assign _T_25 = _T_23 & _T_24; // @[Repeater.scala 28:23:shc.marmotcaravel.MarmotCaravelConfig.fir@32393.4]
+  assign io_full = full; // @[Repeater.scala 25:11:shc.marmotcaravel.MarmotCaravelConfig.fir@32384.4]
+  assign io_enq_ready = io_deq_ready & _T_18; // @[Repeater.scala 23:16:shc.marmotcaravel.MarmotCaravelConfig.fir@32381.4]
+  assign io_deq_valid = io_enq_valid | full; // @[Repeater.scala 22:16:shc.marmotcaravel.MarmotCaravelConfig.fir@32378.4]
+  assign io_deq_bits_opcode = full ? saved_opcode : io_enq_bits_opcode; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@32383.4]
+  assign io_deq_bits_param = full ? saved_param : io_enq_bits_param; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@32383.4]
+  assign io_deq_bits_size = full ? saved_size : io_enq_bits_size; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@32383.4]
+  assign io_deq_bits_source = full ? saved_source : io_enq_bits_source; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@32383.4]
+  assign io_deq_bits_address = full ? saved_address : io_enq_bits_address; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@32383.4]
+  assign io_deq_bits_mask = full ? saved_mask : io_enq_bits_mask; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@32383.4]
+  assign io_deq_bits_corrupt = full ? saved_corrupt : io_enq_bits_corrupt; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@32383.4]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  full = _RAND_0[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  saved_opcode = _RAND_1[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  saved_param = _RAND_2[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  saved_size = _RAND_3[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  saved_source = _RAND_4[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  saved_address = _RAND_5[28:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {1{`RANDOM}};
+  saved_mask = _RAND_6[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {1{`RANDOM}};
+  saved_corrupt = _RAND_7[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      full <= 1'h0;
+    end else begin
+      if (_T_25) begin
+        full <= 1'h0;
+      end else begin
+        if (_T_22) begin
+          full <= 1'h1;
+        end
+      end
+    end
+    if (_T_22) begin
+      saved_opcode <= io_enq_bits_opcode;
+    end
+    if (_T_22) begin
+      saved_param <= io_enq_bits_param;
+    end
+    if (_T_22) begin
+      saved_size <= io_enq_bits_size;
+    end
+    if (_T_22) begin
+      saved_source <= io_enq_bits_source;
+    end
+    if (_T_22) begin
+      saved_address <= io_enq_bits_address;
+    end
+    if (_T_22) begin
+      saved_mask <= io_enq_bits_mask;
+    end
+    if (_T_22) begin
+      saved_corrupt <= io_enq_bits_corrupt;
+    end
+  end
+endmodule
+module TLFragmenter_4( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32398.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32399.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32400.4]
+  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32401.4]
+  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32401.4]
+  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32401.4]
+  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32401.4]
+  input  [2:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32401.4]
+  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32401.4]
+  input  [28:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32401.4]
+  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32401.4]
+  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32401.4]
+  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32401.4]
+  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32401.4]
+  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32401.4]
+  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32401.4]
+  output [1:0]  auto_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32401.4]
+  output [2:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32401.4]
+  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32401.4]
+  output        auto_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32401.4]
+  output        auto_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32401.4]
+  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32401.4]
+  output        auto_in_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32401.4]
+  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32401.4]
+  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32401.4]
+  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32401.4]
+  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32401.4]
+  output [1:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32401.4]
+  output [5:0]  auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32401.4]
+  output [28:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32401.4]
+  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32401.4]
+  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32401.4]
+  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32401.4]
+  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32401.4]
+  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32401.4]
+  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32401.4]
+  input  [1:0]  auto_out_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32401.4]
+  input  [1:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32401.4]
+  input  [5:0]  auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32401.4]
+  input         auto_out_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32401.4]
+  input         auto_out_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32401.4]
+  input  [31:0] auto_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32401.4]
+  input         auto_out_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32401.4]
+);
+  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@32408.4]
+  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@32408.4]
+  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@32408.4]
+  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@32408.4]
+  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@32408.4]
+  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@32408.4]
+  wire [2:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@32408.4]
+  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@32408.4]
+  wire [28:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@32408.4]
+  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@32408.4]
+  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@32408.4]
+  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@32408.4]
+  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@32408.4]
+  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@32408.4]
+  wire [1:0] TLMonitor_io_in_d_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@32408.4]
+  wire [2:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@32408.4]
+  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@32408.4]
+  wire  TLMonitor_io_in_d_bits_sink; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@32408.4]
+  wire  TLMonitor_io_in_d_bits_denied; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@32408.4]
+  wire  TLMonitor_io_in_d_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@32408.4]
+  wire  Repeater_clock; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32525.4]
+  wire  Repeater_reset; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32525.4]
+  wire  Repeater_io_repeat; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32525.4]
+  wire  Repeater_io_full; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32525.4]
+  wire  Repeater_io_enq_ready; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32525.4]
+  wire  Repeater_io_enq_valid; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32525.4]
+  wire [2:0] Repeater_io_enq_bits_opcode; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32525.4]
+  wire [2:0] Repeater_io_enq_bits_param; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32525.4]
+  wire [2:0] Repeater_io_enq_bits_size; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32525.4]
+  wire  Repeater_io_enq_bits_source; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32525.4]
+  wire [28:0] Repeater_io_enq_bits_address; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32525.4]
+  wire [3:0] Repeater_io_enq_bits_mask; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32525.4]
+  wire  Repeater_io_enq_bits_corrupt; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32525.4]
+  wire  Repeater_io_deq_ready; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32525.4]
+  wire  Repeater_io_deq_valid; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32525.4]
+  wire [2:0] Repeater_io_deq_bits_opcode; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32525.4]
+  wire [2:0] Repeater_io_deq_bits_param; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32525.4]
+  wire [2:0] Repeater_io_deq_bits_size; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32525.4]
+  wire  Repeater_io_deq_bits_source; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32525.4]
+  wire [28:0] Repeater_io_deq_bits_address; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32525.4]
+  wire [3:0] Repeater_io_deq_bits_mask; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32525.4]
+  wire  Repeater_io_deq_bits_corrupt; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32525.4]
+  reg [3:0] _T_244; // @[Fragmenter.scala 167:27:shc.marmotcaravel.MarmotCaravelConfig.fir@32449.4]
+  reg [31:0] _RAND_0;
+  reg [2:0] _T_246; // @[Fragmenter.scala 168:22:shc.marmotcaravel.MarmotCaravelConfig.fir@32450.4]
+  reg [31:0] _RAND_1;
+  reg  _T_248; // @[Fragmenter.scala 169:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32451.4]
+  reg [31:0] _RAND_2;
+  wire [3:0] _T_249; // @[Fragmenter.scala 170:39:shc.marmotcaravel.MarmotCaravelConfig.fir@32452.4]
+  wire  _T_250; // @[Fragmenter.scala 171:27:shc.marmotcaravel.MarmotCaravelConfig.fir@32453.4]
+  wire  _T_251; // @[Fragmenter.scala 172:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32454.4]
+  wire [3:0] _T_253; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@32456.4]
+  wire [2:0] _T_254; // @[OneHot.scala 52:27:shc.marmotcaravel.MarmotCaravelConfig.fir@32457.4]
+  wire [4:0] _T_256; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@32459.4]
+  wire [1:0] _T_257; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@32460.4]
+  wire [1:0] _T_258; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@32461.4]
+  wire  _T_259; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@32462.4]
+  wire  _T_271; // @[Fragmenter.scala 182:58:shc.marmotcaravel.MarmotCaravelConfig.fir@32478.4]
+  wire  _T_272; // @[Fragmenter.scala 182:30:shc.marmotcaravel.MarmotCaravelConfig.fir@32479.4]
+  wire [5:0] _GEN_7; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@32480.4]
+  wire [5:0] _T_273; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@32480.4]
+  wire [5:0] _GEN_8; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@32481.4]
+  wire [5:0] _T_274; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@32481.4]
+  wire [6:0] _GEN_9; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@32482.4]
+  wire [6:0] _T_275; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@32482.4]
+  wire [6:0] _T_276; // @[package.scala 183:40:shc.marmotcaravel.MarmotCaravelConfig.fir@32483.4]
+  wire [6:0] _T_277; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@32484.4]
+  wire [6:0] _T_278; // @[package.scala 183:53:shc.marmotcaravel.MarmotCaravelConfig.fir@32485.4]
+  wire [6:0] _T_279; // @[package.scala 183:51:shc.marmotcaravel.MarmotCaravelConfig.fir@32486.4]
+  wire [2:0] _T_280; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@32487.4]
+  wire [3:0] _T_281; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@32488.4]
+  wire  _T_282; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32489.4]
+  wire [3:0] _GEN_10; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32490.4]
+  wire [3:0] _T_283; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32490.4]
+  wire [1:0] _T_284; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@32491.4]
+  wire [1:0] _T_285; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@32492.4]
+  wire  _T_286; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32493.4]
+  wire [1:0] _T_287; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32494.4]
+  wire  _T_288; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@32495.4]
+  wire [1:0] _T_289; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@32496.4]
+  wire [2:0] _T_290; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@32497.4]
+  wire  _T_297; // @[Fragmenter.scala 200:18:shc.marmotcaravel.MarmotCaravelConfig.fir@32511.4]
+  wire  _T_299; // @[Fragmenter.scala 200:31:shc.marmotcaravel.MarmotCaravelConfig.fir@32513.4]
+  wire  _T_300; // @[Fragmenter.scala 200:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32514.4]
+  wire  _T_301; // @[Fragmenter.scala 201:33:shc.marmotcaravel.MarmotCaravelConfig.fir@32515.4]
+  wire  _T_291; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@32498.4]
+  wire [3:0] _GEN_11; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@32500.6]
+  wire [4:0] _T_292; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@32500.6]
+  wire [4:0] _T_293; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@32501.6]
+  wire [3:0] _T_294; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@32502.6]
+  wire  _T_296; // @[Fragmenter.scala 190:39:shc.marmotcaravel.MarmotCaravelConfig.fir@32507.8]
+  wire  _T_302; // @[Fragmenter.scala 202:37:shc.marmotcaravel.MarmotCaravelConfig.fir@32517.4]
+  wire  _T_330; // @[Fragmenter.scala 262:29:shc.marmotcaravel.MarmotCaravelConfig.fir@32550.4]
+  wire [2:0] _T_331; // @[Fragmenter.scala 262:22:shc.marmotcaravel.MarmotCaravelConfig.fir@32551.4]
+  wire [12:0] _T_333; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@32553.4]
+  wire [5:0] _T_334; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@32554.4]
+  wire [5:0] _T_335; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@32555.4]
+  wire [8:0] _T_337; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@32557.4]
+  wire [1:0] _T_338; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@32558.4]
+  wire [1:0] _T_339; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@32559.4]
+  wire  _T_340; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@32560.4]
+  wire  _T_341; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32561.4]
+  reg [3:0] _T_344; // @[Fragmenter.scala 268:27:shc.marmotcaravel.MarmotCaravelConfig.fir@32563.4]
+  reg [31:0] _RAND_3;
+  wire  _T_345; // @[Fragmenter.scala 269:27:shc.marmotcaravel.MarmotCaravelConfig.fir@32564.4]
+  wire [3:0] _T_346; // @[Fragmenter.scala 270:46:shc.marmotcaravel.MarmotCaravelConfig.fir@32565.4]
+  wire [4:0] _T_347; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@32566.4]
+  wire [4:0] _T_348; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@32567.4]
+  wire [3:0] _T_349; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@32568.4]
+  wire [3:0] _T_350; // @[Fragmenter.scala 270:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32569.4]
+  wire [3:0] _T_351; // @[Fragmenter.scala 271:26:shc.marmotcaravel.MarmotCaravelConfig.fir@32570.4]
+  wire [3:0] _T_354; // @[Fragmenter.scala 271:24:shc.marmotcaravel.MarmotCaravelConfig.fir@32573.4]
+  reg  _T_362; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@32580.4]
+  reg [31:0] _RAND_4;
+  wire  _GEN_5; // @[Reg.scala 12:19:shc.marmotcaravel.MarmotCaravelConfig.fir@32581.4]
+  wire  _T_364; // @[Fragmenter.scala 274:21:shc.marmotcaravel.MarmotCaravelConfig.fir@32585.4]
+  wire  _T_92_a_valid; // @[Nodes.scala 332:76:shc.marmotcaravel.MarmotCaravelConfig.fir@32445.4 Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@32594.4]
+  wire  _T_365; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@32586.4]
+  wire  _T_366; // @[Fragmenter.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@32590.4]
+  wire  _T_367; // @[Fragmenter.scala 279:51:shc.marmotcaravel.MarmotCaravelConfig.fir@32591.4]
+  wire [5:0] _GEN_12; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@32595.4]
+  wire [5:0] _T_369; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@32595.4]
+  wire [5:0] _T_370; // @[Fragmenter.scala 281:88:shc.marmotcaravel.MarmotCaravelConfig.fir@32596.4]
+  wire [5:0] _T_371; // @[Fragmenter.scala 281:86:shc.marmotcaravel.MarmotCaravelConfig.fir@32597.4]
+  wire [5:0] _GEN_13; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@32598.4]
+  wire [5:0] _T_372; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@32598.4]
+  wire [5:0] _T_373; // @[Fragmenter.scala 281:109:shc.marmotcaravel.MarmotCaravelConfig.fir@32599.4]
+  wire [5:0] _T_374; // @[Fragmenter.scala 281:49:shc.marmotcaravel.MarmotCaravelConfig.fir@32600.4]
+  wire [28:0] _GEN_14; // @[Fragmenter.scala 281:47:shc.marmotcaravel.MarmotCaravelConfig.fir@32601.4]
+  wire [1:0] _T_376; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@32603.4]
+  wire  _T_378; // @[Fragmenter.scala 286:15:shc.marmotcaravel.MarmotCaravelConfig.fir@32607.4]
+  wire  _T_380; // @[Fragmenter.scala 286:33:shc.marmotcaravel.MarmotCaravelConfig.fir@32609.4]
+  wire  _T_382; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32611.4]
+  wire  _T_383; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32612.4]
+  wire  _T_385; // @[Fragmenter.scala 289:51:shc.marmotcaravel.MarmotCaravelConfig.fir@32619.4]
+  wire  _T_386; // @[Fragmenter.scala 289:33:shc.marmotcaravel.MarmotCaravelConfig.fir@32620.4]
+  wire  _T_388; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32622.4]
+  wire  _T_389; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32623.4]
+  TLMonitor_18 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@32408.4]
+    .clock(TLMonitor_clock),
+    .reset(TLMonitor_reset),
+    .io_in_a_ready(TLMonitor_io_in_a_ready),
+    .io_in_a_valid(TLMonitor_io_in_a_valid),
+    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
+    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
+    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
+    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
+    .io_in_d_ready(TLMonitor_io_in_d_ready),
+    .io_in_d_valid(TLMonitor_io_in_d_valid),
+    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
+    .io_in_d_bits_param(TLMonitor_io_in_d_bits_param),
+    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
+    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source),
+    .io_in_d_bits_sink(TLMonitor_io_in_d_bits_sink),
+    .io_in_d_bits_denied(TLMonitor_io_in_d_bits_denied),
+    .io_in_d_bits_corrupt(TLMonitor_io_in_d_bits_corrupt)
+  );
+  Repeater_4 Repeater ( // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32525.4]
+    .clock(Repeater_clock),
+    .reset(Repeater_reset),
+    .io_repeat(Repeater_io_repeat),
+    .io_full(Repeater_io_full),
+    .io_enq_ready(Repeater_io_enq_ready),
+    .io_enq_valid(Repeater_io_enq_valid),
+    .io_enq_bits_opcode(Repeater_io_enq_bits_opcode),
+    .io_enq_bits_param(Repeater_io_enq_bits_param),
+    .io_enq_bits_size(Repeater_io_enq_bits_size),
+    .io_enq_bits_source(Repeater_io_enq_bits_source),
+    .io_enq_bits_address(Repeater_io_enq_bits_address),
+    .io_enq_bits_mask(Repeater_io_enq_bits_mask),
+    .io_enq_bits_corrupt(Repeater_io_enq_bits_corrupt),
+    .io_deq_ready(Repeater_io_deq_ready),
+    .io_deq_valid(Repeater_io_deq_valid),
+    .io_deq_bits_opcode(Repeater_io_deq_bits_opcode),
+    .io_deq_bits_param(Repeater_io_deq_bits_param),
+    .io_deq_bits_size(Repeater_io_deq_bits_size),
+    .io_deq_bits_source(Repeater_io_deq_bits_source),
+    .io_deq_bits_address(Repeater_io_deq_bits_address),
+    .io_deq_bits_mask(Repeater_io_deq_bits_mask),
+    .io_deq_bits_corrupt(Repeater_io_deq_bits_corrupt)
+  );
+  assign _T_249 = auto_out_d_bits_source[3:0]; // @[Fragmenter.scala 170:39:shc.marmotcaravel.MarmotCaravelConfig.fir@32452.4]
+  assign _T_250 = _T_244 == 4'h0; // @[Fragmenter.scala 171:27:shc.marmotcaravel.MarmotCaravelConfig.fir@32453.4]
+  assign _T_251 = _T_249 == 4'h0; // @[Fragmenter.scala 172:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32454.4]
+  assign _T_253 = 4'h1 << auto_out_d_bits_size; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@32456.4]
+  assign _T_254 = _T_253[2:0]; // @[OneHot.scala 52:27:shc.marmotcaravel.MarmotCaravelConfig.fir@32457.4]
+  assign _T_256 = 5'h3 << auto_out_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@32459.4]
+  assign _T_257 = _T_256[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@32460.4]
+  assign _T_258 = ~ _T_257; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@32461.4]
+  assign _T_259 = auto_out_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@32462.4]
+  assign _T_271 = _T_254[2:2]; // @[Fragmenter.scala 182:58:shc.marmotcaravel.MarmotCaravelConfig.fir@32478.4]
+  assign _T_272 = _T_259 ? 1'h1 : _T_271; // @[Fragmenter.scala 182:30:shc.marmotcaravel.MarmotCaravelConfig.fir@32479.4]
+  assign _GEN_7 = {{2'd0}, _T_249}; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@32480.4]
+  assign _T_273 = _GEN_7 << 2; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@32480.4]
+  assign _GEN_8 = {{4'd0}, _T_258}; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@32481.4]
+  assign _T_274 = _T_273 | _GEN_8; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@32481.4]
+  assign _GEN_9 = {{1'd0}, _T_274}; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@32482.4]
+  assign _T_275 = _GEN_9 << 1; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@32482.4]
+  assign _T_276 = _T_275 | 7'h1; // @[package.scala 183:40:shc.marmotcaravel.MarmotCaravelConfig.fir@32483.4]
+  assign _T_277 = {1'h0,_T_274}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@32484.4]
+  assign _T_278 = ~ _T_277; // @[package.scala 183:53:shc.marmotcaravel.MarmotCaravelConfig.fir@32485.4]
+  assign _T_279 = _T_276 & _T_278; // @[package.scala 183:51:shc.marmotcaravel.MarmotCaravelConfig.fir@32486.4]
+  assign _T_280 = _T_279[6:4]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@32487.4]
+  assign _T_281 = _T_279[3:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@32488.4]
+  assign _T_282 = _T_280 != 3'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32489.4]
+  assign _GEN_10 = {{1'd0}, _T_280}; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32490.4]
+  assign _T_283 = _GEN_10 | _T_281; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32490.4]
+  assign _T_284 = _T_283[3:2]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@32491.4]
+  assign _T_285 = _T_283[1:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@32492.4]
+  assign _T_286 = _T_284 != 2'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32493.4]
+  assign _T_287 = _T_284 | _T_285; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32494.4]
+  assign _T_288 = _T_287[1]; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@32495.4]
+  assign _T_289 = {_T_286,_T_288}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@32496.4]
+  assign _T_290 = {_T_282,_T_289}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@32497.4]
+  assign _T_297 = _T_259 == 1'h0; // @[Fragmenter.scala 200:18:shc.marmotcaravel.MarmotCaravelConfig.fir@32511.4]
+  assign _T_299 = _T_251 == 1'h0; // @[Fragmenter.scala 200:31:shc.marmotcaravel.MarmotCaravelConfig.fir@32513.4]
+  assign _T_300 = _T_297 & _T_299; // @[Fragmenter.scala 200:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32514.4]
+  assign _T_301 = auto_in_d_ready | _T_300; // @[Fragmenter.scala 201:33:shc.marmotcaravel.MarmotCaravelConfig.fir@32515.4]
+  assign _T_291 = _T_301 & auto_out_d_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@32498.4]
+  assign _GEN_11 = {{3'd0}, _T_272}; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@32500.6]
+  assign _T_292 = _T_244 - _GEN_11; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@32500.6]
+  assign _T_293 = $unsigned(_T_292); // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@32501.6]
+  assign _T_294 = _T_293[3:0]; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@32502.6]
+  assign _T_296 = auto_out_d_bits_source[4]; // @[Fragmenter.scala 190:39:shc.marmotcaravel.MarmotCaravelConfig.fir@32507.8]
+  assign _T_302 = _T_300 == 1'h0; // @[Fragmenter.scala 202:37:shc.marmotcaravel.MarmotCaravelConfig.fir@32517.4]
+  assign _T_330 = Repeater_io_deq_bits_size > 3'h2; // @[Fragmenter.scala 262:29:shc.marmotcaravel.MarmotCaravelConfig.fir@32550.4]
+  assign _T_331 = _T_330 ? 3'h2 : Repeater_io_deq_bits_size; // @[Fragmenter.scala 262:22:shc.marmotcaravel.MarmotCaravelConfig.fir@32551.4]
+  assign _T_333 = 13'h3f << Repeater_io_deq_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@32553.4]
+  assign _T_334 = _T_333[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@32554.4]
+  assign _T_335 = ~ _T_334; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@32555.4]
+  assign _T_337 = 9'h3 << _T_331; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@32557.4]
+  assign _T_338 = _T_337[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@32558.4]
+  assign _T_339 = ~ _T_338; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@32559.4]
+  assign _T_340 = Repeater_io_deq_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@32560.4]
+  assign _T_341 = _T_340 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32561.4]
+  assign _T_345 = _T_344 == 4'h0; // @[Fragmenter.scala 269:27:shc.marmotcaravel.MarmotCaravelConfig.fir@32564.4]
+  assign _T_346 = _T_335[5:2]; // @[Fragmenter.scala 270:46:shc.marmotcaravel.MarmotCaravelConfig.fir@32565.4]
+  assign _T_347 = _T_344 - 4'h1; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@32566.4]
+  assign _T_348 = $unsigned(_T_347); // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@32567.4]
+  assign _T_349 = _T_348[3:0]; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@32568.4]
+  assign _T_350 = _T_345 ? _T_346 : _T_349; // @[Fragmenter.scala 270:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32569.4]
+  assign _T_351 = ~ _T_350; // @[Fragmenter.scala 271:26:shc.marmotcaravel.MarmotCaravelConfig.fir@32570.4]
+  assign _T_354 = ~ _T_351; // @[Fragmenter.scala 271:24:shc.marmotcaravel.MarmotCaravelConfig.fir@32573.4]
+  assign _GEN_5 = _T_345 ? _T_248 : _T_362; // @[Reg.scala 12:19:shc.marmotcaravel.MarmotCaravelConfig.fir@32581.4]
+  assign _T_364 = _GEN_5 == 1'h0; // @[Fragmenter.scala 274:21:shc.marmotcaravel.MarmotCaravelConfig.fir@32585.4]
+  assign _T_92_a_valid = Repeater_io_deq_valid; // @[Nodes.scala 332:76:shc.marmotcaravel.MarmotCaravelConfig.fir@32445.4 Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@32594.4]
+  assign _T_365 = auto_out_a_ready & _T_92_a_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@32586.4]
+  assign _T_366 = _T_341 == 1'h0; // @[Fragmenter.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@32590.4]
+  assign _T_367 = _T_354 != 4'h0; // @[Fragmenter.scala 279:51:shc.marmotcaravel.MarmotCaravelConfig.fir@32591.4]
+  assign _GEN_12 = {{2'd0}, _T_350}; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@32595.4]
+  assign _T_369 = _GEN_12 << 2; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@32595.4]
+  assign _T_370 = ~ _T_335; // @[Fragmenter.scala 281:88:shc.marmotcaravel.MarmotCaravelConfig.fir@32596.4]
+  assign _T_371 = _T_369 | _T_370; // @[Fragmenter.scala 281:86:shc.marmotcaravel.MarmotCaravelConfig.fir@32597.4]
+  assign _GEN_13 = {{4'd0}, _T_339}; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@32598.4]
+  assign _T_372 = _T_371 | _GEN_13; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@32598.4]
+  assign _T_373 = _T_372 | 6'h3; // @[Fragmenter.scala 281:109:shc.marmotcaravel.MarmotCaravelConfig.fir@32599.4]
+  assign _T_374 = ~ _T_373; // @[Fragmenter.scala 281:49:shc.marmotcaravel.MarmotCaravelConfig.fir@32600.4]
+  assign _GEN_14 = {{23'd0}, _T_374}; // @[Fragmenter.scala 281:47:shc.marmotcaravel.MarmotCaravelConfig.fir@32601.4]
+  assign _T_376 = {Repeater_io_deq_bits_source,_T_364}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@32603.4]
+  assign _T_378 = Repeater_io_full == 1'h0; // @[Fragmenter.scala 286:15:shc.marmotcaravel.MarmotCaravelConfig.fir@32607.4]
+  assign _T_380 = _T_378 | _T_366; // @[Fragmenter.scala 286:33:shc.marmotcaravel.MarmotCaravelConfig.fir@32609.4]
+  assign _T_382 = _T_380 | reset; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32611.4]
+  assign _T_383 = _T_382 == 1'h0; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32612.4]
+  assign _T_385 = Repeater_io_deq_bits_mask == 4'hf; // @[Fragmenter.scala 289:51:shc.marmotcaravel.MarmotCaravelConfig.fir@32619.4]
+  assign _T_386 = _T_378 | _T_385; // @[Fragmenter.scala 289:33:shc.marmotcaravel.MarmotCaravelConfig.fir@32620.4]
+  assign _T_388 = _T_386 | reset; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32622.4]
+  assign _T_389 = _T_388 == 1'h0; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32623.4]
+  assign auto_in_a_ready = Repeater_io_enq_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@32448.4]
+  assign auto_in_d_valid = auto_out_d_valid & _T_302; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@32448.4]
+  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@32448.4]
+  assign auto_in_d_bits_param = auto_out_d_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@32448.4]
+  assign auto_in_d_bits_size = _T_250 ? _T_290 : _T_246; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@32448.4]
+  assign auto_in_d_bits_source = auto_out_d_bits_source[5:5]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@32448.4]
+  assign auto_in_d_bits_sink = auto_out_d_bits_sink; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@32448.4]
+  assign auto_in_d_bits_denied = auto_out_d_bits_denied; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@32448.4]
+  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@32448.4]
+  assign auto_in_d_bits_corrupt = auto_out_d_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@32448.4]
+  assign auto_out_a_valid = Repeater_io_deq_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@32447.4]
+  assign auto_out_a_bits_opcode = Repeater_io_deq_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@32447.4]
+  assign auto_out_a_bits_param = Repeater_io_deq_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@32447.4]
+  assign auto_out_a_bits_size = _T_331[1:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@32447.4]
+  assign auto_out_a_bits_source = {_T_376,_T_354}; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@32447.4]
+  assign auto_out_a_bits_address = Repeater_io_deq_bits_address | _GEN_14; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@32447.4]
+  assign auto_out_a_bits_mask = Repeater_io_full ? 4'hf : auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@32447.4]
+  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@32447.4]
+  assign auto_out_a_bits_corrupt = Repeater_io_deq_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@32447.4]
+  assign auto_out_d_ready = auto_in_d_ready | _T_300; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@32447.4]
+  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32410.4]
+  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32411.4]
+  assign TLMonitor_io_in_a_ready = Repeater_io_enq_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@32444.4]
+  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@32444.4]
+  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@32444.4]
+  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@32444.4]
+  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@32444.4]
+  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@32444.4]
+  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@32444.4]
+  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@32444.4]
+  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@32444.4]
+  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@32444.4]
+  assign TLMonitor_io_in_d_valid = auto_out_d_valid & _T_302; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@32444.4]
+  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@32444.4]
+  assign TLMonitor_io_in_d_bits_param = auto_out_d_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@32444.4]
+  assign TLMonitor_io_in_d_bits_size = _T_250 ? _T_290 : _T_246; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@32444.4]
+  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source[5:5]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@32444.4]
+  assign TLMonitor_io_in_d_bits_sink = auto_out_d_bits_sink; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@32444.4]
+  assign TLMonitor_io_in_d_bits_denied = auto_out_d_bits_denied; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@32444.4]
+  assign TLMonitor_io_in_d_bits_corrupt = auto_out_d_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@32444.4]
+  assign Repeater_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32527.4]
+  assign Repeater_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32528.4]
+  assign Repeater_io_repeat = _T_366 & _T_367; // @[Fragmenter.scala 279:26:shc.marmotcaravel.MarmotCaravelConfig.fir@32593.4]
+  assign Repeater_io_enq_valid = auto_in_a_valid; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@32529.4]
+  assign Repeater_io_enq_bits_opcode = auto_in_a_bits_opcode; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@32529.4]
+  assign Repeater_io_enq_bits_param = auto_in_a_bits_param; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@32529.4]
+  assign Repeater_io_enq_bits_size = auto_in_a_bits_size; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@32529.4]
+  assign Repeater_io_enq_bits_source = auto_in_a_bits_source; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@32529.4]
+  assign Repeater_io_enq_bits_address = auto_in_a_bits_address; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@32529.4]
+  assign Repeater_io_enq_bits_mask = auto_in_a_bits_mask; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@32529.4]
+  assign Repeater_io_enq_bits_corrupt = auto_in_a_bits_corrupt; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@32529.4]
+  assign Repeater_io_deq_ready = auto_out_a_ready; // @[Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@32594.4]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  _T_244 = _RAND_0[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  _T_246 = _RAND_1[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  _T_248 = _RAND_2[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  _T_344 = _RAND_3[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  _T_362 = _RAND_4[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      _T_244 <= 4'h0;
+    end else begin
+      if (_T_291) begin
+        if (_T_250) begin
+          _T_244 <= _T_249;
+        end else begin
+          _T_244 <= _T_294;
+        end
+      end
+    end
+    if (_T_291) begin
+      if (_T_250) begin
+        _T_246 <= _T_290;
+      end
+    end
+    if (reset) begin
+      _T_248 <= 1'h0;
+    end else begin
+      if (_T_291) begin
+        if (_T_250) begin
+          _T_248 <= _T_296;
+        end
+      end
+    end
+    if (reset) begin
+      _T_344 <= 4'h0;
+    end else begin
+      if (_T_365) begin
+        _T_344 <= _T_354;
+      end
+    end
+    if (_T_345) begin
+      _T_362 <= _T_248;
+    end
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:180 assert (!out.d.valid || (acknum_fragment & acknum_size) === UInt(0))\n"); // @[Fragmenter.scala 180:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32473.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Fragmenter.scala 180:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32474.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_383) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:286 assert (!repeater.io.full || !aHasData)\n"); // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32614.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_383) begin
+          $fatal; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32615.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_389) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:289 assert (!repeater.io.full || in_a.bits.mask === fullMask)\n"); // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32625.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_389) begin
+          $fatal; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32626.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+endmodule
+module TLMonitor_19( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32644.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32645.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32646.4]
+  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32647.4]
+  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32647.4]
+  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32647.4]
+  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32647.4]
+  input  [2:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32647.4]
+  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32647.4]
+  input  [28:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32647.4]
+  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32647.4]
+  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32647.4]
+  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32647.4]
+  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32647.4]
+  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32647.4]
+  input  [1:0]  io_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32647.4]
+  input  [2:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32647.4]
+  input         io_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32647.4]
+  input         io_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32647.4]
+  input         io_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32647.4]
+  input         io_in_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32647.4]
+);
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@33779.4]
+  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@32663.6]
+  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@32668.6]
+  wire [12:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@32670.6]
+  wire [5:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@32671.6]
+  wire [5:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@32672.6]
+  wire [28:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@32673.6]
+  wire [28:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@32673.6]
+  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@32674.6]
+  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@32676.6]
+  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@32677.6]
+  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@32679.6]
+  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@32680.6]
+  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@32681.6]
+  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@32682.6]
+  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@32683.6]
+  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@32685.6]
+  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@32686.6]
+  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@32688.6]
+  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@32689.6]
+  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@32690.6]
+  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@32691.6]
+  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@32692.6]
+  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@32693.6]
+  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@32694.6]
+  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@32695.6]
+  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@32696.6]
+  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@32697.6]
+  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@32698.6]
+  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@32699.6]
+  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@32700.6]
+  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@32701.6]
+  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@32702.6]
+  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@32703.6]
+  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@32704.6]
+  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@32705.6]
+  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@32706.6]
+  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@32707.6]
+  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@32732.6]
+  wire [28:0] _T_92; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@32735.8]
+  wire [29:0] _T_93; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@32736.8]
+  wire [29:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@32737.8]
+  wire [29:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@32738.8]
+  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@32739.8]
+  wire  _T_101; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32744.8]
+  wire  _T_106; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32757.8]
+  wire  _T_107; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32758.8]
+  wire  _T_110; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32765.8]
+  wire  _T_111; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32766.8]
+  wire  _T_113; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32772.8]
+  wire  _T_114; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32773.8]
+  wire  _T_115; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@32778.8]
+  wire  _T_117; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32780.8]
+  wire  _T_118; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32781.8]
+  wire [3:0] _T_119; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@32786.8]
+  wire  _T_120; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32787.8]
+  wire  _T_122; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32789.8]
+  wire  _T_123; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32790.8]
+  wire  _T_124; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@32795.8]
+  wire  _T_126; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32797.8]
+  wire  _T_127; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32798.8]
+  wire  _T_128; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@32804.6]
+  wire  _T_157; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32858.8]
+  wire  _T_159; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32860.8]
+  wire  _T_160; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32861.8]
+  wire  _T_170; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@32884.6]
+  wire  _T_172; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@32887.8]
+  wire  _T_180; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@32895.8]
+  wire  _T_183; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32898.8]
+  wire  _T_184; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32899.8]
+  wire  _T_191; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32918.8]
+  wire  _T_193; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32920.8]
+  wire  _T_194; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32921.8]
+  wire  _T_195; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@32926.8]
+  wire  _T_197; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32928.8]
+  wire  _T_198; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32929.8]
+  wire  _T_203; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@32943.6]
+  wire  _T_232; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@32994.6]
+  wire [3:0] _T_257; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@33036.8]
+  wire [3:0] _T_258; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33037.8]
+  wire  _T_259; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@33038.8]
+  wire  _T_261; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33040.8]
+  wire  _T_262; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33041.8]
+  wire  _T_263; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@33047.6]
+  wire  _T_281; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@33078.8]
+  wire  _T_283; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33080.8]
+  wire  _T_284; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33081.8]
+  wire  _T_289; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@33095.6]
+  wire  _T_307; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@33126.8]
+  wire  _T_309; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33128.8]
+  wire  _T_310; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33129.8]
+  wire  _T_315; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@33143.6]
+  wire  _T_341; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@33193.6]
+  wire  _T_343; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@33195.6]
+  wire  _T_344; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@33196.6]
+  wire  _T_346; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@33202.6]
+  wire  _T_355; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@33207.6]
+  wire  _T_357; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@33209.6]
+  wire  _T_359; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33212.8]
+  wire  _T_360; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33213.8]
+  wire  _T_361; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33218.8]
+  wire  _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33220.8]
+  wire  _T_364; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33221.8]
+  wire  _T_365; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33226.8]
+  wire  _T_367; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33228.8]
+  wire  _T_368; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33229.8]
+  wire  _T_369; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@33234.8]
+  wire  _T_371; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33236.8]
+  wire  _T_372; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33237.8]
+  wire  _T_373; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@33242.8]
+  wire  _T_375; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33244.8]
+  wire  _T_376; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33245.8]
+  wire  _T_377; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@33251.6]
+  wire  _T_388; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@33275.8]
+  wire  _T_390; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33277.8]
+  wire  _T_391; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33278.8]
+  wire  _T_392; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33283.8]
+  wire  _T_394; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33285.8]
+  wire  _T_395; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33286.8]
+  wire  _T_405; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@33309.6]
+  wire  _T_425; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@33350.8]
+  wire  _T_427; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33352.8]
+  wire  _T_428; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33353.8]
+  wire  _T_434; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@33368.6]
+  wire  _T_451; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@33403.6]
+  wire  _T_469; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@33439.6]
+  wire  _T_498; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@33499.4]
+  wire [3:0] _T_503; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@33504.4]
+  wire  _T_504; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@33505.4]
+  wire  _T_505; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33506.4]
+  reg [3:0] _T_508; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33508.4]
+  reg [31:0] _RAND_0;
+  wire [4:0] _T_509; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33509.4]
+  wire [4:0] _T_510; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33510.4]
+  wire [3:0] _T_511; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33511.4]
+  wire  _T_512; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@33512.4]
+  reg [2:0] _T_521; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@33523.4]
+  reg [31:0] _RAND_1;
+  reg [2:0] _T_523; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@33524.4]
+  reg [31:0] _RAND_2;
+  reg [2:0] _T_525; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@33525.4]
+  reg [31:0] _RAND_3;
+  reg  _T_527; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@33526.4]
+  reg [31:0] _RAND_4;
+  reg [28:0] _T_529; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@33527.4]
+  reg [31:0] _RAND_5;
+  wire  _T_530; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@33528.4]
+  wire  _T_531; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@33529.4]
+  wire  _T_532; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33531.6]
+  wire  _T_534; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33533.6]
+  wire  _T_535; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33534.6]
+  wire  _T_536; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33539.6]
+  wire  _T_538; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33541.6]
+  wire  _T_539; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33542.6]
+  wire  _T_540; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33547.6]
+  wire  _T_542; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33549.6]
+  wire  _T_543; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33550.6]
+  wire  _T_544; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33555.6]
+  wire  _T_546; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33557.6]
+  wire  _T_547; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33558.6]
+  wire  _T_548; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33563.6]
+  wire  _T_550; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33565.6]
+  wire  _T_551; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33566.6]
+  wire  _T_553; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@33573.4]
+  wire  _T_554; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@33581.4]
+  wire [12:0] _T_556; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@33583.4]
+  wire [5:0] _T_557; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@33584.4]
+  wire [5:0] _T_558; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@33585.4]
+  wire [3:0] _T_559; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@33586.4]
+  wire  _T_560; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33587.4]
+  reg [3:0] _T_563; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33589.4]
+  reg [31:0] _RAND_6;
+  wire [4:0] _T_564; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33590.4]
+  wire [4:0] _T_565; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33591.4]
+  wire [3:0] _T_566; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33592.4]
+  wire  _T_567; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@33593.4]
+  reg [2:0] _T_576; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@33604.4]
+  reg [31:0] _RAND_7;
+  reg [1:0] _T_578; // @[Monitor.scala 419:22:shc.marmotcaravel.MarmotCaravelConfig.fir@33605.4]
+  reg [31:0] _RAND_8;
+  reg [2:0] _T_580; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@33606.4]
+  reg [31:0] _RAND_9;
+  reg  _T_582; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@33607.4]
+  reg [31:0] _RAND_10;
+  reg  _T_584; // @[Monitor.scala 422:22:shc.marmotcaravel.MarmotCaravelConfig.fir@33608.4]
+  reg [31:0] _RAND_11;
+  reg  _T_586; // @[Monitor.scala 423:22:shc.marmotcaravel.MarmotCaravelConfig.fir@33609.4]
+  reg [31:0] _RAND_12;
+  wire  _T_587; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@33610.4]
+  wire  _T_588; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@33611.4]
+  wire  _T_589; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33613.6]
+  wire  _T_591; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33615.6]
+  wire  _T_592; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33616.6]
+  wire  _T_593; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33621.6]
+  wire  _T_595; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33623.6]
+  wire  _T_596; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33624.6]
+  wire  _T_597; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33629.6]
+  wire  _T_599; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33631.6]
+  wire  _T_600; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33632.6]
+  wire  _T_601; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33637.6]
+  wire  _T_603; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33639.6]
+  wire  _T_604; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33640.6]
+  wire  _T_605; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33645.6]
+  wire  _T_607; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33647.6]
+  wire  _T_608; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33648.6]
+  wire  _T_609; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33653.6]
+  wire  _T_611; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33655.6]
+  wire  _T_612; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33656.6]
+  wire  _T_614; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@33663.4]
+  reg [1:0] _T_616; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33672.4]
+  reg [31:0] _RAND_13;
+  reg [3:0] _T_627; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33682.4]
+  reg [31:0] _RAND_14;
+  wire [4:0] _T_628; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33683.4]
+  wire [4:0] _T_629; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33684.4]
+  wire [3:0] _T_630; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33685.4]
+  wire  _T_631; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@33686.4]
+  reg [3:0] _T_648; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33705.4]
+  reg [31:0] _RAND_15;
+  wire [4:0] _T_649; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33706.4]
+  wire [4:0] _T_650; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33707.4]
+  wire [3:0] _T_651; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33708.4]
+  wire  _T_652; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@33709.4]
+  wire  _T_663; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33724.4]
+  wire [1:0] _T_665; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@33727.6]
+  wire [1:0] _T_666; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@33729.6]
+  wire  _T_667; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@33730.6]
+  wire  _T_668; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33731.6]
+  wire  _T_670; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@33733.6]
+  wire  _T_671; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@33734.6]
+  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@33726.4]
+  wire  _T_676; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33745.4]
+  wire  _T_678; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@33747.4]
+  wire  _T_679; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@33748.4]
+  wire [1:0] _T_680; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@33750.6]
+  wire [1:0] _T_681; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@33752.6]
+  wire [1:0] _T_682; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@33753.6]
+  wire  _T_683; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@33754.6]
+  wire  _T_685; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@33756.6]
+  wire  _T_686; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@33757.6]
+  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@33749.4]
+  wire  _T_687; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@33763.4]
+  wire  _T_688; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@33764.4]
+  wire  _T_689; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@33765.4]
+  wire  _T_690; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@33766.4]
+  wire  _T_692; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@33768.4]
+  wire  _T_693; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@33769.4]
+  wire [1:0] _T_694; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33774.4]
+  wire [1:0] _T_695; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@33775.4]
+  wire [1:0] _T_696; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33776.4]
+  reg [31:0] _T_698; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33778.4]
+  reg [31:0] _RAND_16;
+  wire  _T_699; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@33781.4]
+  wire  _T_700; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@33782.4]
+  wire  _T_701; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33783.4]
+  wire  _T_702; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33784.4]
+  wire  _T_703; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@33785.4]
+  wire  _T_704; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@33786.4]
+  wire  _T_706; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@33788.4]
+  wire  _T_707; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@33789.4]
+  wire [31:0] _T_709; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@33795.4]
+  wire  _T_712; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33799.4]
+  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32746.10]
+  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32818.10]
+  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32901.10]
+  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32960.10]
+  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33011.10]
+  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33061.10]
+  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33109.10]
+  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33157.10]
+  wire  _GEN_115; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33215.10]
+  wire  _GEN_125; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33257.10]
+  wire  _GEN_139; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33315.10]
+  wire  _GEN_153; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33374.10]
+  wire  _GEN_161; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33409.10]
+  wire  _GEN_169; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33445.10]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@33779.4]
+    .out(plusarg_reader_out)
+  );
+  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@32663.6]
+  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@32668.6]
+  assign _T_32 = 13'h3f << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@32670.6]
+  assign _T_33 = _T_32[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@32671.6]
+  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@32672.6]
+  assign _GEN_18 = {{23'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@32673.6]
+  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@32673.6]
+  assign _T_36 = _T_35 == 29'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@32674.6]
+  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@32676.6]
+  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@32677.6]
+  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@32679.6]
+  assign _T_42 = io_in_a_bits_size >= 3'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@32680.6]
+  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@32681.6]
+  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@32682.6]
+  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@32683.6]
+  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@32685.6]
+  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@32686.6]
+  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@32688.6]
+  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@32689.6]
+  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@32690.6]
+  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@32691.6]
+  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@32692.6]
+  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@32693.6]
+  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@32694.6]
+  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@32695.6]
+  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@32696.6]
+  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@32697.6]
+  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@32698.6]
+  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@32699.6]
+  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@32700.6]
+  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@32701.6]
+  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@32702.6]
+  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@32703.6]
+  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@32704.6]
+  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@32705.6]
+  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@32706.6]
+  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@32707.6]
+  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@32732.6]
+  assign _T_92 = io_in_a_bits_address ^ 29'h10000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@32735.8]
+  assign _T_93 = {1'b0,$signed(_T_92)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@32736.8]
+  assign _T_94 = $signed(_T_93) & $signed(-30'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@32737.8]
+  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@32738.8]
+  assign _T_96 = $signed(_T_95) == $signed(30'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@32739.8]
+  assign _T_101 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32744.8]
+  assign _T_106 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32757.8]
+  assign _T_107 = _T_106 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32758.8]
+  assign _T_110 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32765.8]
+  assign _T_111 = _T_110 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32766.8]
+  assign _T_113 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32772.8]
+  assign _T_114 = _T_113 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32773.8]
+  assign _T_115 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@32778.8]
+  assign _T_117 = _T_115 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32780.8]
+  assign _T_118 = _T_117 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32781.8]
+  assign _T_119 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@32786.8]
+  assign _T_120 = _T_119 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32787.8]
+  assign _T_122 = _T_120 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32789.8]
+  assign _T_123 = _T_122 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32790.8]
+  assign _T_124 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@32795.8]
+  assign _T_126 = _T_124 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32797.8]
+  assign _T_127 = _T_126 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32798.8]
+  assign _T_128 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@32804.6]
+  assign _T_157 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32858.8]
+  assign _T_159 = _T_157 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32860.8]
+  assign _T_160 = _T_159 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32861.8]
+  assign _T_170 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@32884.6]
+  assign _T_172 = io_in_a_bits_size <= 3'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@32887.8]
+  assign _T_180 = _T_172 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@32895.8]
+  assign _T_183 = _T_180 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32898.8]
+  assign _T_184 = _T_183 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32899.8]
+  assign _T_191 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32918.8]
+  assign _T_193 = _T_191 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32920.8]
+  assign _T_194 = _T_193 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32921.8]
+  assign _T_195 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@32926.8]
+  assign _T_197 = _T_195 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32928.8]
+  assign _T_198 = _T_197 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32929.8]
+  assign _T_203 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@32943.6]
+  assign _T_232 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@32994.6]
+  assign _T_257 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@33036.8]
+  assign _T_258 = io_in_a_bits_mask & _T_257; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33037.8]
+  assign _T_259 = _T_258 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@33038.8]
+  assign _T_261 = _T_259 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33040.8]
+  assign _T_262 = _T_261 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33041.8]
+  assign _T_263 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@33047.6]
+  assign _T_281 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@33078.8]
+  assign _T_283 = _T_281 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33080.8]
+  assign _T_284 = _T_283 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33081.8]
+  assign _T_289 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@33095.6]
+  assign _T_307 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@33126.8]
+  assign _T_309 = _T_307 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33128.8]
+  assign _T_310 = _T_309 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33129.8]
+  assign _T_315 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@33143.6]
+  assign _T_341 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@33193.6]
+  assign _T_343 = _T_341 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@33195.6]
+  assign _T_344 = _T_343 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@33196.6]
+  assign _T_346 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@33202.6]
+  assign _T_355 = io_in_d_bits_source | _T_346; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@33207.6]
+  assign _T_357 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@33209.6]
+  assign _T_359 = _T_355 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33212.8]
+  assign _T_360 = _T_359 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33213.8]
+  assign _T_361 = io_in_d_bits_size >= 3'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33218.8]
+  assign _T_363 = _T_361 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33220.8]
+  assign _T_364 = _T_363 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33221.8]
+  assign _T_365 = io_in_d_bits_param == 2'h0; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33226.8]
+  assign _T_367 = _T_365 | reset; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33228.8]
+  assign _T_368 = _T_367 == 1'h0; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33229.8]
+  assign _T_369 = io_in_d_bits_corrupt == 1'h0; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@33234.8]
+  assign _T_371 = _T_369 | reset; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33236.8]
+  assign _T_372 = _T_371 == 1'h0; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33237.8]
+  assign _T_373 = io_in_d_bits_denied == 1'h0; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@33242.8]
+  assign _T_375 = _T_373 | reset; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33244.8]
+  assign _T_376 = _T_375 == 1'h0; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33245.8]
+  assign _T_377 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@33251.6]
+  assign _T_388 = io_in_d_bits_param <= 2'h2; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@33275.8]
+  assign _T_390 = _T_388 | reset; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33277.8]
+  assign _T_391 = _T_390 == 1'h0; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33278.8]
+  assign _T_392 = io_in_d_bits_param != 2'h2; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33283.8]
+  assign _T_394 = _T_392 | reset; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33285.8]
+  assign _T_395 = _T_394 == 1'h0; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33286.8]
+  assign _T_405 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@33309.6]
+  assign _T_425 = _T_373 | io_in_d_bits_corrupt; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@33350.8]
+  assign _T_427 = _T_425 | reset; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33352.8]
+  assign _T_428 = _T_427 == 1'h0; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33353.8]
+  assign _T_434 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@33368.6]
+  assign _T_451 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@33403.6]
+  assign _T_469 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@33439.6]
+  assign _T_498 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@33499.4]
+  assign _T_503 = _T_34[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@33504.4]
+  assign _T_504 = io_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@33505.4]
+  assign _T_505 = _T_504 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33506.4]
+  assign _T_509 = _T_508 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33509.4]
+  assign _T_510 = $unsigned(_T_509); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33510.4]
+  assign _T_511 = _T_510[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33511.4]
+  assign _T_512 = _T_508 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@33512.4]
+  assign _T_530 = _T_512 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@33528.4]
+  assign _T_531 = io_in_a_valid & _T_530; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@33529.4]
+  assign _T_532 = io_in_a_bits_opcode == _T_521; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33531.6]
+  assign _T_534 = _T_532 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33533.6]
+  assign _T_535 = _T_534 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33534.6]
+  assign _T_536 = io_in_a_bits_param == _T_523; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33539.6]
+  assign _T_538 = _T_536 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33541.6]
+  assign _T_539 = _T_538 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33542.6]
+  assign _T_540 = io_in_a_bits_size == _T_525; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33547.6]
+  assign _T_542 = _T_540 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33549.6]
+  assign _T_543 = _T_542 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33550.6]
+  assign _T_544 = io_in_a_bits_source == _T_527; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33555.6]
+  assign _T_546 = _T_544 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33557.6]
+  assign _T_547 = _T_546 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33558.6]
+  assign _T_548 = io_in_a_bits_address == _T_529; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33563.6]
+  assign _T_550 = _T_548 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33565.6]
+  assign _T_551 = _T_550 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33566.6]
+  assign _T_553 = _T_498 & _T_512; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@33573.4]
+  assign _T_554 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@33581.4]
+  assign _T_556 = 13'h3f << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@33583.4]
+  assign _T_557 = _T_556[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@33584.4]
+  assign _T_558 = ~ _T_557; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@33585.4]
+  assign _T_559 = _T_558[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@33586.4]
+  assign _T_560 = io_in_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33587.4]
+  assign _T_564 = _T_563 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33590.4]
+  assign _T_565 = $unsigned(_T_564); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33591.4]
+  assign _T_566 = _T_565[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33592.4]
+  assign _T_567 = _T_563 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@33593.4]
+  assign _T_587 = _T_567 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@33610.4]
+  assign _T_588 = io_in_d_valid & _T_587; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@33611.4]
+  assign _T_589 = io_in_d_bits_opcode == _T_576; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33613.6]
+  assign _T_591 = _T_589 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33615.6]
+  assign _T_592 = _T_591 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33616.6]
+  assign _T_593 = io_in_d_bits_param == _T_578; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33621.6]
+  assign _T_595 = _T_593 | reset; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33623.6]
+  assign _T_596 = _T_595 == 1'h0; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33624.6]
+  assign _T_597 = io_in_d_bits_size == _T_580; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33629.6]
+  assign _T_599 = _T_597 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33631.6]
+  assign _T_600 = _T_599 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33632.6]
+  assign _T_601 = io_in_d_bits_source == _T_582; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33637.6]
+  assign _T_603 = _T_601 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33639.6]
+  assign _T_604 = _T_603 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33640.6]
+  assign _T_605 = io_in_d_bits_sink == _T_584; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33645.6]
+  assign _T_607 = _T_605 | reset; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33647.6]
+  assign _T_608 = _T_607 == 1'h0; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33648.6]
+  assign _T_609 = io_in_d_bits_denied == _T_586; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33653.6]
+  assign _T_611 = _T_609 | reset; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33655.6]
+  assign _T_612 = _T_611 == 1'h0; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33656.6]
+  assign _T_614 = _T_554 & _T_567; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@33663.4]
+  assign _T_628 = _T_627 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33683.4]
+  assign _T_629 = $unsigned(_T_628); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33684.4]
+  assign _T_630 = _T_629[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33685.4]
+  assign _T_631 = _T_627 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@33686.4]
+  assign _T_649 = _T_648 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33706.4]
+  assign _T_650 = $unsigned(_T_649); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33707.4]
+  assign _T_651 = _T_650[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33708.4]
+  assign _T_652 = _T_648 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@33709.4]
+  assign _T_663 = _T_498 & _T_631; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33724.4]
+  assign _T_665 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@33727.6]
+  assign _T_666 = _T_616 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@33729.6]
+  assign _T_667 = _T_666[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@33730.6]
+  assign _T_668 = _T_667 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33731.6]
+  assign _T_670 = _T_668 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@33733.6]
+  assign _T_671 = _T_670 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@33734.6]
+  assign _GEN_15 = _T_663 ? _T_665 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@33726.4]
+  assign _T_676 = _T_554 & _T_652; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33745.4]
+  assign _T_678 = _T_357 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@33747.4]
+  assign _T_679 = _T_676 & _T_678; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@33748.4]
+  assign _T_680 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@33750.6]
+  assign _T_681 = _GEN_15 | _T_616; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@33752.6]
+  assign _T_682 = _T_681 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@33753.6]
+  assign _T_683 = _T_682[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@33754.6]
+  assign _T_685 = _T_683 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@33756.6]
+  assign _T_686 = _T_685 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@33757.6]
+  assign _GEN_16 = _T_679 ? _T_680 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@33749.4]
+  assign _T_687 = _GEN_15 != _GEN_16; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@33763.4]
+  assign _T_688 = _GEN_15 != 2'h0; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@33764.4]
+  assign _T_689 = _T_688 == 1'h0; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@33765.4]
+  assign _T_690 = _T_687 | _T_689; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@33766.4]
+  assign _T_692 = _T_690 | reset; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@33768.4]
+  assign _T_693 = _T_692 == 1'h0; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@33769.4]
+  assign _T_694 = _T_616 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33774.4]
+  assign _T_695 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@33775.4]
+  assign _T_696 = _T_694 & _T_695; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33776.4]
+  assign _T_699 = _T_616 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@33781.4]
+  assign _T_700 = _T_699 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@33782.4]
+  assign _T_701 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33783.4]
+  assign _T_702 = _T_700 | _T_701; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33784.4]
+  assign _T_703 = _T_698 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@33785.4]
+  assign _T_704 = _T_702 | _T_703; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@33786.4]
+  assign _T_706 = _T_704 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@33788.4]
+  assign _T_707 = _T_706 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@33789.4]
+  assign _T_709 = _T_698 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@33795.4]
+  assign _T_712 = _T_498 | _T_554; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33799.4]
+  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32746.10]
+  assign _GEN_35 = io_in_a_valid & _T_128; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32818.10]
+  assign _GEN_53 = io_in_a_valid & _T_170; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32901.10]
+  assign _GEN_65 = io_in_a_valid & _T_203; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32960.10]
+  assign _GEN_75 = io_in_a_valid & _T_232; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33011.10]
+  assign _GEN_85 = io_in_a_valid & _T_263; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33061.10]
+  assign _GEN_95 = io_in_a_valid & _T_289; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33109.10]
+  assign _GEN_105 = io_in_a_valid & _T_315; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33157.10]
+  assign _GEN_115 = io_in_d_valid & _T_357; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33215.10]
+  assign _GEN_125 = io_in_d_valid & _T_377; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33257.10]
+  assign _GEN_139 = io_in_d_valid & _T_405; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33315.10]
+  assign _GEN_153 = io_in_d_valid & _T_434; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33374.10]
+  assign _GEN_161 = io_in_d_valid & _T_451; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33409.10]
+  assign _GEN_169 = io_in_d_valid & _T_469; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33445.10]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  _T_508 = _RAND_0[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  _T_521 = _RAND_1[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  _T_523 = _RAND_2[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  _T_525 = _RAND_3[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  _T_527 = _RAND_4[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  _T_529 = _RAND_5[28:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {1{`RANDOM}};
+  _T_563 = _RAND_6[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {1{`RANDOM}};
+  _T_576 = _RAND_7[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_8 = {1{`RANDOM}};
+  _T_578 = _RAND_8[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_9 = {1{`RANDOM}};
+  _T_580 = _RAND_9[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_10 = {1{`RANDOM}};
+  _T_582 = _RAND_10[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_11 = {1{`RANDOM}};
+  _T_584 = _RAND_11[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_12 = {1{`RANDOM}};
+  _T_586 = _RAND_12[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_13 = {1{`RANDOM}};
+  _T_616 = _RAND_13[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_14 = {1{`RANDOM}};
+  _T_627 = _RAND_14[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_15 = {1{`RANDOM}};
+  _T_648 = _RAND_15[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_16 = {1{`RANDOM}};
+  _T_698 = _RAND_16[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      _T_508 <= 4'h0;
+    end else begin
+      if (_T_498) begin
+        if (_T_512) begin
+          if (_T_505) begin
+            _T_508 <= _T_503;
+          end else begin
+            _T_508 <= 4'h0;
+          end
+        end else begin
+          _T_508 <= _T_511;
+        end
+      end
+    end
+    if (_T_553) begin
+      _T_521 <= io_in_a_bits_opcode;
+    end
+    if (_T_553) begin
+      _T_523 <= io_in_a_bits_param;
+    end
+    if (_T_553) begin
+      _T_525 <= io_in_a_bits_size;
+    end
+    if (_T_553) begin
+      _T_527 <= io_in_a_bits_source;
+    end
+    if (_T_553) begin
+      _T_529 <= io_in_a_bits_address;
+    end
+    if (reset) begin
+      _T_563 <= 4'h0;
+    end else begin
+      if (_T_554) begin
+        if (_T_567) begin
+          if (_T_560) begin
+            _T_563 <= _T_559;
+          end else begin
+            _T_563 <= 4'h0;
+          end
+        end else begin
+          _T_563 <= _T_566;
+        end
+      end
+    end
+    if (_T_614) begin
+      _T_576 <= io_in_d_bits_opcode;
+    end
+    if (_T_614) begin
+      _T_578 <= io_in_d_bits_param;
+    end
+    if (_T_614) begin
+      _T_580 <= io_in_d_bits_size;
+    end
+    if (_T_614) begin
+      _T_582 <= io_in_d_bits_source;
+    end
+    if (_T_614) begin
+      _T_584 <= io_in_d_bits_sink;
+    end
+    if (_T_614) begin
+      _T_586 <= io_in_d_bits_denied;
+    end
+    if (reset) begin
+      _T_616 <= 2'h0;
+    end else begin
+      _T_616 <= _T_696;
+    end
+    if (reset) begin
+      _T_627 <= 4'h0;
+    end else begin
+      if (_T_498) begin
+        if (_T_631) begin
+          if (_T_505) begin
+            _T_627 <= _T_503;
+          end else begin
+            _T_627 <= 4'h0;
+          end
+        end else begin
+          _T_627 <= _T_630;
+        end
+      end
+    end
+    if (reset) begin
+      _T_648 <= 4'h0;
+    end else begin
+      if (_T_554) begin
+        if (_T_652) begin
+          if (_T_560) begin
+            _T_648 <= _T_559;
+          end else begin
+            _T_648 <= 4'h0;
+          end
+        end else begin
+          _T_648 <= _T_651;
+        end
+      end
+    end
+    if (reset) begin
+      _T_698 <= 32'h0;
+    end else begin
+      if (_T_712) begin
+        _T_698 <= 32'h0;
+      end else begin
+        _T_698 <= _T_709;
+      end
+    end
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@32659.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@32660.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@32729.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@32730.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32746.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_101) begin
+          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32747.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32753.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_101) begin
+          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32754.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32760.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_107) begin
+          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32761.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_111) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32768.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_111) begin
+          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32769.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32775.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_114) begin
+          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32776.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_118) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32783.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_118) begin
+          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32784.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_123) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32792.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_123) begin
+          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32793.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_127) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32800.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_127) begin
+          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32801.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32818.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_101) begin
+          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32819.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32825.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_101) begin
+          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32826.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32832.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_107) begin
+          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32833.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_111) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32840.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_111) begin
+          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32841.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32847.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_114) begin
+          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32848.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_118) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32855.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_118) begin
+          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32856.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_160) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32863.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_160) begin
+          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32864.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_123) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32872.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_123) begin
+          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32873.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_127) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32880.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_127) begin
+          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32881.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_184) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32901.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_184) begin
+          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32902.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32908.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_107) begin
+          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32909.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32915.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_114) begin
+          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32916.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_194) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32923.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_194) begin
+          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32924.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_198) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32931.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_198) begin
+          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32932.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_127) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32939.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_127) begin
+          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32940.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_184) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32960.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_184) begin
+          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32961.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32967.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_107) begin
+          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32968.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32974.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_114) begin
+          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32975.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_194) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32982.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_194) begin
+          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32983.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_198) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32990.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_198) begin
+          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32991.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_184) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33011.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_184) begin
+          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33012.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33018.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_107) begin
+          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33019.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33025.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_114) begin
+          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33026.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_194) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33033.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_194) begin
+          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33034.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_262) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33043.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_262) begin
+          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33044.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33061.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_101) begin
+          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33062.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33068.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_107) begin
+          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33069.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33075.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_114) begin
+          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33076.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_284) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33083.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_284) begin
+          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33084.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_198) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33091.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_198) begin
+          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33092.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33109.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_101) begin
+          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33110.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33116.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_107) begin
+          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33117.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33123.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_114) begin
+          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33124.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_310) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33131.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_310) begin
+          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33132.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_198) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33139.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_198) begin
+          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33140.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33157.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_101) begin
+          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33158.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33164.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_107) begin
+          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33165.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33171.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_114) begin
+          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33172.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_198) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33179.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_198) begin
+          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33180.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_127) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33187.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_127) begin
+          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33188.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_344) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@33198.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_344) begin
+          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@33199.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_360) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33215.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_360) begin
+          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33216.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_364) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33223.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_364) begin
+          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33224.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_368) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33231.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_368) begin
+          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33232.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_372) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33239.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_372) begin
+          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33240.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_376) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33247.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_376) begin
+          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33248.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_360) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33257.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_360) begin
+          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33258.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33264.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_101) begin
+          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33265.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_364) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33272.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_364) begin
+          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33273.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_391) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33280.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_391) begin
+          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33281.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_395) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33288.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_395) begin
+          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33289.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_372) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33296.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_372) begin
+          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33297.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_376) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33305.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_376) begin
+          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33306.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_139 & _T_360) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33315.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_139 & _T_360) begin
+          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33316.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_139 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33322.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_139 & _T_101) begin
+          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33323.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_139 & _T_364) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33330.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_139 & _T_364) begin
+          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33331.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_139 & _T_391) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33338.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_139 & _T_391) begin
+          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33339.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_139 & _T_395) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33346.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_139 & _T_395) begin
+          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33347.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_139 & _T_428) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33355.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_139 & _T_428) begin
+          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33356.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_139 & _T_376) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33364.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_139 & _T_376) begin
+          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33365.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_153 & _T_360) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33374.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_153 & _T_360) begin
+          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33375.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_153 & _T_368) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33382.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_153 & _T_368) begin
+          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33383.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_153 & _T_372) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33390.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_153 & _T_372) begin
+          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33391.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_153 & _T_376) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33399.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_153 & _T_376) begin
+          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33400.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_161 & _T_360) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33409.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_161 & _T_360) begin
+          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33410.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_161 & _T_368) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33417.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_161 & _T_368) begin
+          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33418.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_161 & _T_428) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33426.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_161 & _T_428) begin
+          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33427.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_161 & _T_376) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33435.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_161 & _T_376) begin
+          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33436.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_169 & _T_360) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33445.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_169 & _T_360) begin
+          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33446.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_169 & _T_368) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33453.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_169 & _T_368) begin
+          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33454.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_169 & _T_372) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33461.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_169 & _T_372) begin
+          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33462.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_169 & _T_376) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33470.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_169 & _T_376) begin
+          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33471.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33480.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33481.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33488.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33489.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33496.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33497.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_531 & _T_535) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33536.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_531 & _T_535) begin
+          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33537.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_531 & _T_539) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33544.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_531 & _T_539) begin
+          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33545.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_531 & _T_543) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33552.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_531 & _T_543) begin
+          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33553.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_531 & _T_547) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33560.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_531 & _T_547) begin
+          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33561.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_531 & _T_551) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33568.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_531 & _T_551) begin
+          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33569.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_588 & _T_592) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33618.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_588 & _T_592) begin
+          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33619.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_588 & _T_596) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33626.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_588 & _T_596) begin
+          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33627.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_588 & _T_600) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33634.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_588 & _T_600) begin
+          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33635.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_588 & _T_604) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33642.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_588 & _T_604) begin
+          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33643.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_588 & _T_608) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33650.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_588 & _T_608) begin
+          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33651.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_588 & _T_612) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33658.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_588 & _T_612) begin
+          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33659.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_663 & _T_671) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@33736.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_663 & _T_671) begin
+          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@33737.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_679 & _T_686) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@33759.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_679 & _T_686) begin
+          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@33760.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_693) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' and 'D' concurrent, despite minlatency 4 (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:471 assert(a_set =/= d_clr || !a_set.orR, s\"'A' and 'D' concurrent, despite minlatency ${edge.manager.minLatency}\" + extra)\n"); // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@33771.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_693) begin
+          $fatal; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@33772.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_707) begin
+          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@33791.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_707) begin
+          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@33792.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+endmodule
+module TLBuffer_7( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33804.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33805.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33806.4]
+  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33807.4]
+  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33807.4]
+  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33807.4]
+  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33807.4]
+  input  [2:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33807.4]
+  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33807.4]
+  input  [28:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33807.4]
+  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33807.4]
+  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33807.4]
+  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33807.4]
+  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33807.4]
+  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33807.4]
+  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33807.4]
+  output [1:0]  auto_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33807.4]
+  output [2:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33807.4]
+  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33807.4]
+  output        auto_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33807.4]
+  output        auto_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33807.4]
+  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33807.4]
+  output        auto_in_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33807.4]
+  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33807.4]
+  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33807.4]
+  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33807.4]
+  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33807.4]
+  output [2:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33807.4]
+  output        auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33807.4]
+  output [28:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33807.4]
+  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33807.4]
+  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33807.4]
+  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33807.4]
+  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33807.4]
+  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33807.4]
+  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33807.4]
+  input  [1:0]  auto_out_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33807.4]
+  input  [2:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33807.4]
+  input         auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33807.4]
+  input         auto_out_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33807.4]
+  input         auto_out_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33807.4]
+  input  [31:0] auto_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33807.4]
+  input         auto_out_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33807.4]
+);
+  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@33814.4]
+  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@33814.4]
+  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@33814.4]
+  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@33814.4]
+  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@33814.4]
+  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@33814.4]
+  wire [2:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@33814.4]
+  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@33814.4]
+  wire [28:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@33814.4]
+  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@33814.4]
+  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@33814.4]
+  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@33814.4]
+  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@33814.4]
+  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@33814.4]
+  wire [1:0] TLMonitor_io_in_d_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@33814.4]
+  wire [2:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@33814.4]
+  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@33814.4]
+  wire  TLMonitor_io_in_d_bits_sink; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@33814.4]
+  wire  TLMonitor_io_in_d_bits_denied; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@33814.4]
+  wire  TLMonitor_io_in_d_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@33814.4]
+  TLMonitor_19 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@33814.4]
+    .clock(TLMonitor_clock),
+    .reset(TLMonitor_reset),
+    .io_in_a_ready(TLMonitor_io_in_a_ready),
+    .io_in_a_valid(TLMonitor_io_in_a_valid),
+    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
+    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
+    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
+    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
+    .io_in_d_ready(TLMonitor_io_in_d_ready),
+    .io_in_d_valid(TLMonitor_io_in_d_valid),
+    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
+    .io_in_d_bits_param(TLMonitor_io_in_d_bits_param),
+    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
+    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source),
+    .io_in_d_bits_sink(TLMonitor_io_in_d_bits_sink),
+    .io_in_d_bits_denied(TLMonitor_io_in_d_bits_denied),
+    .io_in_d_bits_corrupt(TLMonitor_io_in_d_bits_corrupt)
+  );
+  assign auto_in_a_ready = auto_out_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33854.4]
+  assign auto_in_d_valid = auto_out_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33854.4]
+  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33854.4]
+  assign auto_in_d_bits_param = auto_out_d_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33854.4]
+  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33854.4]
+  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33854.4]
+  assign auto_in_d_bits_sink = auto_out_d_bits_sink; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33854.4]
+  assign auto_in_d_bits_denied = auto_out_d_bits_denied; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33854.4]
+  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33854.4]
+  assign auto_in_d_bits_corrupt = auto_out_d_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33854.4]
+  assign auto_out_a_valid = auto_in_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@33853.4]
+  assign auto_out_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@33853.4]
+  assign auto_out_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@33853.4]
+  assign auto_out_a_bits_size = auto_in_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@33853.4]
+  assign auto_out_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@33853.4]
+  assign auto_out_a_bits_address = auto_in_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@33853.4]
+  assign auto_out_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@33853.4]
+  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@33853.4]
+  assign auto_out_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@33853.4]
+  assign auto_out_d_ready = auto_in_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@33853.4]
+  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33816.4]
+  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33817.4]
+  assign TLMonitor_io_in_a_ready = auto_out_a_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@33850.4]
+  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@33850.4]
+  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@33850.4]
+  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@33850.4]
+  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@33850.4]
+  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@33850.4]
+  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@33850.4]
+  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@33850.4]
+  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@33850.4]
+  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@33850.4]
+  assign TLMonitor_io_in_d_valid = auto_out_d_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@33850.4]
+  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@33850.4]
+  assign TLMonitor_io_in_d_bits_param = auto_out_d_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@33850.4]
+  assign TLMonitor_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@33850.4]
+  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@33850.4]
+  assign TLMonitor_io_in_d_bits_sink = auto_out_d_bits_sink; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@33850.4]
+  assign TLMonitor_io_in_d_bits_denied = auto_out_d_bits_denied; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@33850.4]
+  assign TLMonitor_io_in_d_bits_corrupt = auto_out_d_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@33850.4]
+endmodule
+module SimpleLazyModule_7( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33864.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33865.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33866.4]
+  output        auto_buffer_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33867.4]
+  input         auto_buffer_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33867.4]
+  input  [2:0]  auto_buffer_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33867.4]
+  input  [2:0]  auto_buffer_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33867.4]
+  input  [2:0]  auto_buffer_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33867.4]
+  input         auto_buffer_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33867.4]
+  input  [28:0] auto_buffer_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33867.4]
+  input  [3:0]  auto_buffer_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33867.4]
+  input  [31:0] auto_buffer_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33867.4]
+  input         auto_buffer_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33867.4]
+  input         auto_buffer_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33867.4]
+  output        auto_buffer_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33867.4]
+  output [2:0]  auto_buffer_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33867.4]
+  output [1:0]  auto_buffer_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33867.4]
+  output [2:0]  auto_buffer_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33867.4]
+  output        auto_buffer_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33867.4]
+  output        auto_buffer_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33867.4]
+  output        auto_buffer_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33867.4]
+  output [31:0] auto_buffer_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33867.4]
+  output        auto_buffer_in_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33867.4]
+  output [2:0]  auto_asource_out_a_mem_0_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33867.4]
+  output [2:0]  auto_asource_out_a_mem_0_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33867.4]
+  output [1:0]  auto_asource_out_a_mem_0_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33867.4]
+  output [5:0]  auto_asource_out_a_mem_0_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33867.4]
+  output [28:0] auto_asource_out_a_mem_0_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33867.4]
+  output [3:0]  auto_asource_out_a_mem_0_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33867.4]
+  output [31:0] auto_asource_out_a_mem_0_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33867.4]
+  output        auto_asource_out_a_mem_0_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33867.4]
+  input         auto_asource_out_a_ridx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33867.4]
+  output        auto_asource_out_a_widx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33867.4]
+  input         auto_asource_out_a_safe_ridx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33867.4]
+  output        auto_asource_out_a_safe_widx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33867.4]
+  output        auto_asource_out_a_safe_source_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33867.4]
+  input         auto_asource_out_a_safe_sink_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33867.4]
+  input  [2:0]  auto_asource_out_d_mem_0_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33867.4]
+  input  [1:0]  auto_asource_out_d_mem_0_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33867.4]
+  input  [1:0]  auto_asource_out_d_mem_0_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33867.4]
+  input  [5:0]  auto_asource_out_d_mem_0_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33867.4]
+  input         auto_asource_out_d_mem_0_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33867.4]
+  input         auto_asource_out_d_mem_0_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33867.4]
+  input  [31:0] auto_asource_out_d_mem_0_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33867.4]
+  input         auto_asource_out_d_mem_0_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33867.4]
+  output        auto_asource_out_d_ridx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33867.4]
+  input         auto_asource_out_d_widx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33867.4]
+  output        auto_asource_out_d_safe_ridx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33867.4]
+  input         auto_asource_out_d_safe_widx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33867.4]
+  input         auto_asource_out_d_safe_source_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33867.4]
+  output        auto_asource_out_d_safe_sink_reset_n // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33867.4]
+);
+  wire  asource_clock; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33872.4]
+  wire  asource_reset; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33872.4]
+  wire  asource_auto_in_a_ready; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33872.4]
+  wire  asource_auto_in_a_valid; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33872.4]
+  wire [2:0] asource_auto_in_a_bits_opcode; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33872.4]
+  wire [2:0] asource_auto_in_a_bits_param; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33872.4]
+  wire [1:0] asource_auto_in_a_bits_size; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33872.4]
+  wire [5:0] asource_auto_in_a_bits_source; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33872.4]
+  wire [28:0] asource_auto_in_a_bits_address; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33872.4]
+  wire [3:0] asource_auto_in_a_bits_mask; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33872.4]
+  wire [31:0] asource_auto_in_a_bits_data; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33872.4]
+  wire  asource_auto_in_a_bits_corrupt; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33872.4]
+  wire  asource_auto_in_d_ready; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33872.4]
+  wire  asource_auto_in_d_valid; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33872.4]
+  wire [2:0] asource_auto_in_d_bits_opcode; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33872.4]
+  wire [1:0] asource_auto_in_d_bits_param; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33872.4]
+  wire [1:0] asource_auto_in_d_bits_size; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33872.4]
+  wire [5:0] asource_auto_in_d_bits_source; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33872.4]
+  wire  asource_auto_in_d_bits_sink; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33872.4]
+  wire  asource_auto_in_d_bits_denied; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33872.4]
+  wire [31:0] asource_auto_in_d_bits_data; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33872.4]
+  wire  asource_auto_in_d_bits_corrupt; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33872.4]
+  wire [2:0] asource_auto_out_a_mem_0_opcode; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33872.4]
+  wire [2:0] asource_auto_out_a_mem_0_param; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33872.4]
+  wire [1:0] asource_auto_out_a_mem_0_size; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33872.4]
+  wire [5:0] asource_auto_out_a_mem_0_source; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33872.4]
+  wire [28:0] asource_auto_out_a_mem_0_address; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33872.4]
+  wire [3:0] asource_auto_out_a_mem_0_mask; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33872.4]
+  wire [31:0] asource_auto_out_a_mem_0_data; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33872.4]
+  wire  asource_auto_out_a_mem_0_corrupt; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33872.4]
+  wire  asource_auto_out_a_ridx; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33872.4]
+  wire  asource_auto_out_a_widx; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33872.4]
+  wire  asource_auto_out_a_safe_ridx_valid; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33872.4]
+  wire  asource_auto_out_a_safe_widx_valid; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33872.4]
+  wire  asource_auto_out_a_safe_source_reset_n; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33872.4]
+  wire  asource_auto_out_a_safe_sink_reset_n; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33872.4]
+  wire [2:0] asource_auto_out_d_mem_0_opcode; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33872.4]
+  wire [1:0] asource_auto_out_d_mem_0_param; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33872.4]
+  wire [1:0] asource_auto_out_d_mem_0_size; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33872.4]
+  wire [5:0] asource_auto_out_d_mem_0_source; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33872.4]
+  wire  asource_auto_out_d_mem_0_sink; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33872.4]
+  wire  asource_auto_out_d_mem_0_denied; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33872.4]
+  wire [31:0] asource_auto_out_d_mem_0_data; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33872.4]
+  wire  asource_auto_out_d_mem_0_corrupt; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33872.4]
+  wire  asource_auto_out_d_ridx; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33872.4]
+  wire  asource_auto_out_d_widx; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33872.4]
+  wire  asource_auto_out_d_safe_ridx_valid; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33872.4]
+  wire  asource_auto_out_d_safe_widx_valid; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33872.4]
+  wire  asource_auto_out_d_safe_source_reset_n; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33872.4]
+  wire  asource_auto_out_d_safe_sink_reset_n; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33872.4]
+  wire  fragmenter_clock; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@33878.4]
+  wire  fragmenter_reset; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@33878.4]
+  wire  fragmenter_auto_in_a_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@33878.4]
+  wire  fragmenter_auto_in_a_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@33878.4]
+  wire [2:0] fragmenter_auto_in_a_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@33878.4]
+  wire [2:0] fragmenter_auto_in_a_bits_param; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@33878.4]
+  wire [2:0] fragmenter_auto_in_a_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@33878.4]
+  wire  fragmenter_auto_in_a_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@33878.4]
+  wire [28:0] fragmenter_auto_in_a_bits_address; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@33878.4]
+  wire [3:0] fragmenter_auto_in_a_bits_mask; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@33878.4]
+  wire [31:0] fragmenter_auto_in_a_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@33878.4]
+  wire  fragmenter_auto_in_a_bits_corrupt; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@33878.4]
+  wire  fragmenter_auto_in_d_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@33878.4]
+  wire  fragmenter_auto_in_d_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@33878.4]
+  wire [2:0] fragmenter_auto_in_d_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@33878.4]
+  wire [1:0] fragmenter_auto_in_d_bits_param; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@33878.4]
+  wire [2:0] fragmenter_auto_in_d_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@33878.4]
+  wire  fragmenter_auto_in_d_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@33878.4]
+  wire  fragmenter_auto_in_d_bits_sink; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@33878.4]
+  wire  fragmenter_auto_in_d_bits_denied; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@33878.4]
+  wire [31:0] fragmenter_auto_in_d_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@33878.4]
+  wire  fragmenter_auto_in_d_bits_corrupt; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@33878.4]
+  wire  fragmenter_auto_out_a_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@33878.4]
+  wire  fragmenter_auto_out_a_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@33878.4]
+  wire [2:0] fragmenter_auto_out_a_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@33878.4]
+  wire [2:0] fragmenter_auto_out_a_bits_param; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@33878.4]
+  wire [1:0] fragmenter_auto_out_a_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@33878.4]
+  wire [5:0] fragmenter_auto_out_a_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@33878.4]
+  wire [28:0] fragmenter_auto_out_a_bits_address; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@33878.4]
+  wire [3:0] fragmenter_auto_out_a_bits_mask; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@33878.4]
+  wire [31:0] fragmenter_auto_out_a_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@33878.4]
+  wire  fragmenter_auto_out_a_bits_corrupt; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@33878.4]
+  wire  fragmenter_auto_out_d_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@33878.4]
+  wire  fragmenter_auto_out_d_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@33878.4]
+  wire [2:0] fragmenter_auto_out_d_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@33878.4]
+  wire [1:0] fragmenter_auto_out_d_bits_param; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@33878.4]
+  wire [1:0] fragmenter_auto_out_d_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@33878.4]
+  wire [5:0] fragmenter_auto_out_d_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@33878.4]
+  wire  fragmenter_auto_out_d_bits_sink; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@33878.4]
+  wire  fragmenter_auto_out_d_bits_denied; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@33878.4]
+  wire [31:0] fragmenter_auto_out_d_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@33878.4]
+  wire  fragmenter_auto_out_d_bits_corrupt; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@33878.4]
+  wire  buffer_clock; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33884.4]
+  wire  buffer_reset; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33884.4]
+  wire  buffer_auto_in_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33884.4]
+  wire  buffer_auto_in_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33884.4]
+  wire [2:0] buffer_auto_in_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33884.4]
+  wire [2:0] buffer_auto_in_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33884.4]
+  wire [2:0] buffer_auto_in_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33884.4]
+  wire  buffer_auto_in_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33884.4]
+  wire [28:0] buffer_auto_in_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33884.4]
+  wire [3:0] buffer_auto_in_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33884.4]
+  wire [31:0] buffer_auto_in_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33884.4]
+  wire  buffer_auto_in_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33884.4]
+  wire  buffer_auto_in_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33884.4]
+  wire  buffer_auto_in_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33884.4]
+  wire [2:0] buffer_auto_in_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33884.4]
+  wire [1:0] buffer_auto_in_d_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33884.4]
+  wire [2:0] buffer_auto_in_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33884.4]
+  wire  buffer_auto_in_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33884.4]
+  wire  buffer_auto_in_d_bits_sink; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33884.4]
+  wire  buffer_auto_in_d_bits_denied; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33884.4]
+  wire [31:0] buffer_auto_in_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33884.4]
+  wire  buffer_auto_in_d_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33884.4]
+  wire  buffer_auto_out_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33884.4]
+  wire  buffer_auto_out_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33884.4]
+  wire [2:0] buffer_auto_out_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33884.4]
+  wire [2:0] buffer_auto_out_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33884.4]
+  wire [2:0] buffer_auto_out_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33884.4]
+  wire  buffer_auto_out_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33884.4]
+  wire [28:0] buffer_auto_out_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33884.4]
+  wire [3:0] buffer_auto_out_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33884.4]
+  wire [31:0] buffer_auto_out_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33884.4]
+  wire  buffer_auto_out_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33884.4]
+  wire  buffer_auto_out_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33884.4]
+  wire  buffer_auto_out_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33884.4]
+  wire [2:0] buffer_auto_out_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33884.4]
+  wire [1:0] buffer_auto_out_d_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33884.4]
+  wire [2:0] buffer_auto_out_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33884.4]
+  wire  buffer_auto_out_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33884.4]
+  wire  buffer_auto_out_d_bits_sink; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33884.4]
+  wire  buffer_auto_out_d_bits_denied; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33884.4]
+  wire [31:0] buffer_auto_out_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33884.4]
+  wire  buffer_auto_out_d_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33884.4]
+  TLAsyncCrossingSource asource ( // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33872.4]
+    .clock(asource_clock),
+    .reset(asource_reset),
+    .auto_in_a_ready(asource_auto_in_a_ready),
+    .auto_in_a_valid(asource_auto_in_a_valid),
+    .auto_in_a_bits_opcode(asource_auto_in_a_bits_opcode),
+    .auto_in_a_bits_param(asource_auto_in_a_bits_param),
+    .auto_in_a_bits_size(asource_auto_in_a_bits_size),
+    .auto_in_a_bits_source(asource_auto_in_a_bits_source),
+    .auto_in_a_bits_address(asource_auto_in_a_bits_address),
+    .auto_in_a_bits_mask(asource_auto_in_a_bits_mask),
+    .auto_in_a_bits_data(asource_auto_in_a_bits_data),
+    .auto_in_a_bits_corrupt(asource_auto_in_a_bits_corrupt),
+    .auto_in_d_ready(asource_auto_in_d_ready),
+    .auto_in_d_valid(asource_auto_in_d_valid),
+    .auto_in_d_bits_opcode(asource_auto_in_d_bits_opcode),
+    .auto_in_d_bits_param(asource_auto_in_d_bits_param),
+    .auto_in_d_bits_size(asource_auto_in_d_bits_size),
+    .auto_in_d_bits_source(asource_auto_in_d_bits_source),
+    .auto_in_d_bits_sink(asource_auto_in_d_bits_sink),
+    .auto_in_d_bits_denied(asource_auto_in_d_bits_denied),
+    .auto_in_d_bits_data(asource_auto_in_d_bits_data),
+    .auto_in_d_bits_corrupt(asource_auto_in_d_bits_corrupt),
+    .auto_out_a_mem_0_opcode(asource_auto_out_a_mem_0_opcode),
+    .auto_out_a_mem_0_param(asource_auto_out_a_mem_0_param),
+    .auto_out_a_mem_0_size(asource_auto_out_a_mem_0_size),
+    .auto_out_a_mem_0_source(asource_auto_out_a_mem_0_source),
+    .auto_out_a_mem_0_address(asource_auto_out_a_mem_0_address),
+    .auto_out_a_mem_0_mask(asource_auto_out_a_mem_0_mask),
+    .auto_out_a_mem_0_data(asource_auto_out_a_mem_0_data),
+    .auto_out_a_mem_0_corrupt(asource_auto_out_a_mem_0_corrupt),
+    .auto_out_a_ridx(asource_auto_out_a_ridx),
+    .auto_out_a_widx(asource_auto_out_a_widx),
+    .auto_out_a_safe_ridx_valid(asource_auto_out_a_safe_ridx_valid),
+    .auto_out_a_safe_widx_valid(asource_auto_out_a_safe_widx_valid),
+    .auto_out_a_safe_source_reset_n(asource_auto_out_a_safe_source_reset_n),
+    .auto_out_a_safe_sink_reset_n(asource_auto_out_a_safe_sink_reset_n),
+    .auto_out_d_mem_0_opcode(asource_auto_out_d_mem_0_opcode),
+    .auto_out_d_mem_0_param(asource_auto_out_d_mem_0_param),
+    .auto_out_d_mem_0_size(asource_auto_out_d_mem_0_size),
+    .auto_out_d_mem_0_source(asource_auto_out_d_mem_0_source),
+    .auto_out_d_mem_0_sink(asource_auto_out_d_mem_0_sink),
+    .auto_out_d_mem_0_denied(asource_auto_out_d_mem_0_denied),
+    .auto_out_d_mem_0_data(asource_auto_out_d_mem_0_data),
+    .auto_out_d_mem_0_corrupt(asource_auto_out_d_mem_0_corrupt),
+    .auto_out_d_ridx(asource_auto_out_d_ridx),
+    .auto_out_d_widx(asource_auto_out_d_widx),
+    .auto_out_d_safe_ridx_valid(asource_auto_out_d_safe_ridx_valid),
+    .auto_out_d_safe_widx_valid(asource_auto_out_d_safe_widx_valid),
+    .auto_out_d_safe_source_reset_n(asource_auto_out_d_safe_source_reset_n),
+    .auto_out_d_safe_sink_reset_n(asource_auto_out_d_safe_sink_reset_n)
+  );
+  TLFragmenter_4 fragmenter ( // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@33878.4]
+    .clock(fragmenter_clock),
+    .reset(fragmenter_reset),
+    .auto_in_a_ready(fragmenter_auto_in_a_ready),
+    .auto_in_a_valid(fragmenter_auto_in_a_valid),
+    .auto_in_a_bits_opcode(fragmenter_auto_in_a_bits_opcode),
+    .auto_in_a_bits_param(fragmenter_auto_in_a_bits_param),
+    .auto_in_a_bits_size(fragmenter_auto_in_a_bits_size),
+    .auto_in_a_bits_source(fragmenter_auto_in_a_bits_source),
+    .auto_in_a_bits_address(fragmenter_auto_in_a_bits_address),
+    .auto_in_a_bits_mask(fragmenter_auto_in_a_bits_mask),
+    .auto_in_a_bits_data(fragmenter_auto_in_a_bits_data),
+    .auto_in_a_bits_corrupt(fragmenter_auto_in_a_bits_corrupt),
+    .auto_in_d_ready(fragmenter_auto_in_d_ready),
+    .auto_in_d_valid(fragmenter_auto_in_d_valid),
+    .auto_in_d_bits_opcode(fragmenter_auto_in_d_bits_opcode),
+    .auto_in_d_bits_param(fragmenter_auto_in_d_bits_param),
+    .auto_in_d_bits_size(fragmenter_auto_in_d_bits_size),
+    .auto_in_d_bits_source(fragmenter_auto_in_d_bits_source),
+    .auto_in_d_bits_sink(fragmenter_auto_in_d_bits_sink),
+    .auto_in_d_bits_denied(fragmenter_auto_in_d_bits_denied),
+    .auto_in_d_bits_data(fragmenter_auto_in_d_bits_data),
+    .auto_in_d_bits_corrupt(fragmenter_auto_in_d_bits_corrupt),
+    .auto_out_a_ready(fragmenter_auto_out_a_ready),
+    .auto_out_a_valid(fragmenter_auto_out_a_valid),
+    .auto_out_a_bits_opcode(fragmenter_auto_out_a_bits_opcode),
+    .auto_out_a_bits_param(fragmenter_auto_out_a_bits_param),
+    .auto_out_a_bits_size(fragmenter_auto_out_a_bits_size),
+    .auto_out_a_bits_source(fragmenter_auto_out_a_bits_source),
+    .auto_out_a_bits_address(fragmenter_auto_out_a_bits_address),
+    .auto_out_a_bits_mask(fragmenter_auto_out_a_bits_mask),
+    .auto_out_a_bits_data(fragmenter_auto_out_a_bits_data),
+    .auto_out_a_bits_corrupt(fragmenter_auto_out_a_bits_corrupt),
+    .auto_out_d_ready(fragmenter_auto_out_d_ready),
+    .auto_out_d_valid(fragmenter_auto_out_d_valid),
+    .auto_out_d_bits_opcode(fragmenter_auto_out_d_bits_opcode),
+    .auto_out_d_bits_param(fragmenter_auto_out_d_bits_param),
+    .auto_out_d_bits_size(fragmenter_auto_out_d_bits_size),
+    .auto_out_d_bits_source(fragmenter_auto_out_d_bits_source),
+    .auto_out_d_bits_sink(fragmenter_auto_out_d_bits_sink),
+    .auto_out_d_bits_denied(fragmenter_auto_out_d_bits_denied),
+    .auto_out_d_bits_data(fragmenter_auto_out_d_bits_data),
+    .auto_out_d_bits_corrupt(fragmenter_auto_out_d_bits_corrupt)
+  );
+  TLBuffer_7 buffer ( // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33884.4]
+    .clock(buffer_clock),
+    .reset(buffer_reset),
+    .auto_in_a_ready(buffer_auto_in_a_ready),
+    .auto_in_a_valid(buffer_auto_in_a_valid),
+    .auto_in_a_bits_opcode(buffer_auto_in_a_bits_opcode),
+    .auto_in_a_bits_param(buffer_auto_in_a_bits_param),
+    .auto_in_a_bits_size(buffer_auto_in_a_bits_size),
+    .auto_in_a_bits_source(buffer_auto_in_a_bits_source),
+    .auto_in_a_bits_address(buffer_auto_in_a_bits_address),
+    .auto_in_a_bits_mask(buffer_auto_in_a_bits_mask),
+    .auto_in_a_bits_data(buffer_auto_in_a_bits_data),
+    .auto_in_a_bits_corrupt(buffer_auto_in_a_bits_corrupt),
+    .auto_in_d_ready(buffer_auto_in_d_ready),
+    .auto_in_d_valid(buffer_auto_in_d_valid),
+    .auto_in_d_bits_opcode(buffer_auto_in_d_bits_opcode),
+    .auto_in_d_bits_param(buffer_auto_in_d_bits_param),
+    .auto_in_d_bits_size(buffer_auto_in_d_bits_size),
+    .auto_in_d_bits_source(buffer_auto_in_d_bits_source),
+    .auto_in_d_bits_sink(buffer_auto_in_d_bits_sink),
+    .auto_in_d_bits_denied(buffer_auto_in_d_bits_denied),
+    .auto_in_d_bits_data(buffer_auto_in_d_bits_data),
+    .auto_in_d_bits_corrupt(buffer_auto_in_d_bits_corrupt),
+    .auto_out_a_ready(buffer_auto_out_a_ready),
+    .auto_out_a_valid(buffer_auto_out_a_valid),
+    .auto_out_a_bits_opcode(buffer_auto_out_a_bits_opcode),
+    .auto_out_a_bits_param(buffer_auto_out_a_bits_param),
+    .auto_out_a_bits_size(buffer_auto_out_a_bits_size),
+    .auto_out_a_bits_source(buffer_auto_out_a_bits_source),
+    .auto_out_a_bits_address(buffer_auto_out_a_bits_address),
+    .auto_out_a_bits_mask(buffer_auto_out_a_bits_mask),
+    .auto_out_a_bits_data(buffer_auto_out_a_bits_data),
+    .auto_out_a_bits_corrupt(buffer_auto_out_a_bits_corrupt),
+    .auto_out_d_ready(buffer_auto_out_d_ready),
+    .auto_out_d_valid(buffer_auto_out_d_valid),
+    .auto_out_d_bits_opcode(buffer_auto_out_d_bits_opcode),
+    .auto_out_d_bits_param(buffer_auto_out_d_bits_param),
+    .auto_out_d_bits_size(buffer_auto_out_d_bits_size),
+    .auto_out_d_bits_source(buffer_auto_out_d_bits_source),
+    .auto_out_d_bits_sink(buffer_auto_out_d_bits_sink),
+    .auto_out_d_bits_denied(buffer_auto_out_d_bits_denied),
+    .auto_out_d_bits_data(buffer_auto_out_d_bits_data),
+    .auto_out_d_bits_corrupt(buffer_auto_out_d_bits_corrupt)
+  );
+  assign auto_buffer_in_a_ready = buffer_auto_in_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33893.4]
+  assign auto_buffer_in_d_valid = buffer_auto_in_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33893.4]
+  assign auto_buffer_in_d_bits_opcode = buffer_auto_in_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33893.4]
+  assign auto_buffer_in_d_bits_param = buffer_auto_in_d_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33893.4]
+  assign auto_buffer_in_d_bits_size = buffer_auto_in_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33893.4]
+  assign auto_buffer_in_d_bits_source = buffer_auto_in_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33893.4]
+  assign auto_buffer_in_d_bits_sink = buffer_auto_in_d_bits_sink; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33893.4]
+  assign auto_buffer_in_d_bits_denied = buffer_auto_in_d_bits_denied; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33893.4]
+  assign auto_buffer_in_d_bits_data = buffer_auto_in_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33893.4]
+  assign auto_buffer_in_d_bits_corrupt = buffer_auto_in_d_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33893.4]
+  assign auto_asource_out_a_mem_0_opcode = asource_auto_out_a_mem_0_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@33892.4]
+  assign auto_asource_out_a_mem_0_param = asource_auto_out_a_mem_0_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@33892.4]
+  assign auto_asource_out_a_mem_0_size = asource_auto_out_a_mem_0_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@33892.4]
+  assign auto_asource_out_a_mem_0_source = asource_auto_out_a_mem_0_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@33892.4]
+  assign auto_asource_out_a_mem_0_address = asource_auto_out_a_mem_0_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@33892.4]
+  assign auto_asource_out_a_mem_0_mask = asource_auto_out_a_mem_0_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@33892.4]
+  assign auto_asource_out_a_mem_0_data = asource_auto_out_a_mem_0_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@33892.4]
+  assign auto_asource_out_a_mem_0_corrupt = asource_auto_out_a_mem_0_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@33892.4]
+  assign auto_asource_out_a_widx = asource_auto_out_a_widx; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@33892.4]
+  assign auto_asource_out_a_safe_widx_valid = asource_auto_out_a_safe_widx_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@33892.4]
+  assign auto_asource_out_a_safe_source_reset_n = asource_auto_out_a_safe_source_reset_n; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@33892.4]
+  assign auto_asource_out_d_ridx = asource_auto_out_d_ridx; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@33892.4]
+  assign auto_asource_out_d_safe_ridx_valid = asource_auto_out_d_safe_ridx_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@33892.4]
+  assign auto_asource_out_d_safe_sink_reset_n = asource_auto_out_d_safe_sink_reset_n; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@33892.4]
+  assign asource_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33876.4]
+  assign asource_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33877.4]
+  assign asource_auto_in_a_valid = fragmenter_auto_out_a_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33890.4]
+  assign asource_auto_in_a_bits_opcode = fragmenter_auto_out_a_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33890.4]
+  assign asource_auto_in_a_bits_param = fragmenter_auto_out_a_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33890.4]
+  assign asource_auto_in_a_bits_size = fragmenter_auto_out_a_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33890.4]
+  assign asource_auto_in_a_bits_source = fragmenter_auto_out_a_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33890.4]
+  assign asource_auto_in_a_bits_address = fragmenter_auto_out_a_bits_address; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33890.4]
+  assign asource_auto_in_a_bits_mask = fragmenter_auto_out_a_bits_mask; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33890.4]
+  assign asource_auto_in_a_bits_data = fragmenter_auto_out_a_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33890.4]
+  assign asource_auto_in_a_bits_corrupt = fragmenter_auto_out_a_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33890.4]
+  assign asource_auto_in_d_ready = fragmenter_auto_out_d_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33890.4]
+  assign asource_auto_out_a_ridx = auto_asource_out_a_ridx; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@33892.4]
+  assign asource_auto_out_a_safe_ridx_valid = auto_asource_out_a_safe_ridx_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@33892.4]
+  assign asource_auto_out_a_safe_sink_reset_n = auto_asource_out_a_safe_sink_reset_n; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@33892.4]
+  assign asource_auto_out_d_mem_0_opcode = auto_asource_out_d_mem_0_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@33892.4]
+  assign asource_auto_out_d_mem_0_param = auto_asource_out_d_mem_0_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@33892.4]
+  assign asource_auto_out_d_mem_0_size = auto_asource_out_d_mem_0_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@33892.4]
+  assign asource_auto_out_d_mem_0_source = auto_asource_out_d_mem_0_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@33892.4]
+  assign asource_auto_out_d_mem_0_sink = auto_asource_out_d_mem_0_sink; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@33892.4]
+  assign asource_auto_out_d_mem_0_denied = auto_asource_out_d_mem_0_denied; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@33892.4]
+  assign asource_auto_out_d_mem_0_data = auto_asource_out_d_mem_0_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@33892.4]
+  assign asource_auto_out_d_mem_0_corrupt = auto_asource_out_d_mem_0_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@33892.4]
+  assign asource_auto_out_d_widx = auto_asource_out_d_widx; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@33892.4]
+  assign asource_auto_out_d_safe_widx_valid = auto_asource_out_d_safe_widx_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@33892.4]
+  assign asource_auto_out_d_safe_source_reset_n = auto_asource_out_d_safe_source_reset_n; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@33892.4]
+  assign fragmenter_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33882.4]
+  assign fragmenter_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33883.4]
+  assign fragmenter_auto_in_a_valid = buffer_auto_out_a_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33891.4]
+  assign fragmenter_auto_in_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33891.4]
+  assign fragmenter_auto_in_a_bits_param = buffer_auto_out_a_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33891.4]
+  assign fragmenter_auto_in_a_bits_size = buffer_auto_out_a_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33891.4]
+  assign fragmenter_auto_in_a_bits_source = buffer_auto_out_a_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33891.4]
+  assign fragmenter_auto_in_a_bits_address = buffer_auto_out_a_bits_address; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33891.4]
+  assign fragmenter_auto_in_a_bits_mask = buffer_auto_out_a_bits_mask; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33891.4]
+  assign fragmenter_auto_in_a_bits_data = buffer_auto_out_a_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33891.4]
+  assign fragmenter_auto_in_a_bits_corrupt = buffer_auto_out_a_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33891.4]
+  assign fragmenter_auto_in_d_ready = buffer_auto_out_d_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33891.4]
+  assign fragmenter_auto_out_a_ready = asource_auto_in_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33890.4]
+  assign fragmenter_auto_out_d_valid = asource_auto_in_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33890.4]
+  assign fragmenter_auto_out_d_bits_opcode = asource_auto_in_d_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33890.4]
+  assign fragmenter_auto_out_d_bits_param = asource_auto_in_d_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33890.4]
+  assign fragmenter_auto_out_d_bits_size = asource_auto_in_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33890.4]
+  assign fragmenter_auto_out_d_bits_source = asource_auto_in_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33890.4]
+  assign fragmenter_auto_out_d_bits_sink = asource_auto_in_d_bits_sink; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33890.4]
+  assign fragmenter_auto_out_d_bits_denied = asource_auto_in_d_bits_denied; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33890.4]
+  assign fragmenter_auto_out_d_bits_data = asource_auto_in_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33890.4]
+  assign fragmenter_auto_out_d_bits_corrupt = asource_auto_in_d_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33890.4]
+  assign buffer_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33888.4]
+  assign buffer_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33889.4]
+  assign buffer_auto_in_a_valid = auto_buffer_in_a_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33893.4]
+  assign buffer_auto_in_a_bits_opcode = auto_buffer_in_a_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33893.4]
+  assign buffer_auto_in_a_bits_param = auto_buffer_in_a_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33893.4]
+  assign buffer_auto_in_a_bits_size = auto_buffer_in_a_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33893.4]
+  assign buffer_auto_in_a_bits_source = auto_buffer_in_a_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33893.4]
+  assign buffer_auto_in_a_bits_address = auto_buffer_in_a_bits_address; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33893.4]
+  assign buffer_auto_in_a_bits_mask = auto_buffer_in_a_bits_mask; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33893.4]
+  assign buffer_auto_in_a_bits_data = auto_buffer_in_a_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33893.4]
+  assign buffer_auto_in_a_bits_corrupt = auto_buffer_in_a_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33893.4]
+  assign buffer_auto_in_d_ready = auto_buffer_in_d_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33893.4]
+  assign buffer_auto_out_a_ready = fragmenter_auto_in_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33891.4]
+  assign buffer_auto_out_d_valid = fragmenter_auto_in_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33891.4]
+  assign buffer_auto_out_d_bits_opcode = fragmenter_auto_in_d_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33891.4]
+  assign buffer_auto_out_d_bits_param = fragmenter_auto_in_d_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33891.4]
+  assign buffer_auto_out_d_bits_size = fragmenter_auto_in_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33891.4]
+  assign buffer_auto_out_d_bits_source = fragmenter_auto_in_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33891.4]
+  assign buffer_auto_out_d_bits_sink = fragmenter_auto_in_d_bits_sink; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33891.4]
+  assign buffer_auto_out_d_bits_denied = fragmenter_auto_in_d_bits_denied; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33891.4]
+  assign buffer_auto_out_d_bits_data = fragmenter_auto_in_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33891.4]
+  assign buffer_auto_out_d_bits_corrupt = fragmenter_auto_in_d_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33891.4]
+endmodule
+module PeripheryBus( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33895.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33896.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33897.4]
+  output [2:0]  auto_coupler_to_slave_named_aon_asource_out_a_mem_0_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  output [2:0]  auto_coupler_to_slave_named_aon_asource_out_a_mem_0_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  output [1:0]  auto_coupler_to_slave_named_aon_asource_out_a_mem_0_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  output [5:0]  auto_coupler_to_slave_named_aon_asource_out_a_mem_0_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  output [28:0] auto_coupler_to_slave_named_aon_asource_out_a_mem_0_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  output [3:0]  auto_coupler_to_slave_named_aon_asource_out_a_mem_0_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  output [31:0] auto_coupler_to_slave_named_aon_asource_out_a_mem_0_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  output        auto_coupler_to_slave_named_aon_asource_out_a_mem_0_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  input         auto_coupler_to_slave_named_aon_asource_out_a_ridx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  output        auto_coupler_to_slave_named_aon_asource_out_a_widx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  input         auto_coupler_to_slave_named_aon_asource_out_a_safe_ridx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  output        auto_coupler_to_slave_named_aon_asource_out_a_safe_widx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  output        auto_coupler_to_slave_named_aon_asource_out_a_safe_source_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  input         auto_coupler_to_slave_named_aon_asource_out_a_safe_sink_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  input  [2:0]  auto_coupler_to_slave_named_aon_asource_out_d_mem_0_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  input  [1:0]  auto_coupler_to_slave_named_aon_asource_out_d_mem_0_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  input  [1:0]  auto_coupler_to_slave_named_aon_asource_out_d_mem_0_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  input  [5:0]  auto_coupler_to_slave_named_aon_asource_out_d_mem_0_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  input         auto_coupler_to_slave_named_aon_asource_out_d_mem_0_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  input         auto_coupler_to_slave_named_aon_asource_out_d_mem_0_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  input  [31:0] auto_coupler_to_slave_named_aon_asource_out_d_mem_0_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  input         auto_coupler_to_slave_named_aon_asource_out_d_mem_0_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  output        auto_coupler_to_slave_named_aon_asource_out_d_ridx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  input         auto_coupler_to_slave_named_aon_asource_out_d_widx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  output        auto_coupler_to_slave_named_aon_asource_out_d_safe_ridx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  input         auto_coupler_to_slave_named_aon_asource_out_d_safe_widx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  input         auto_coupler_to_slave_named_aon_asource_out_d_safe_source_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  output        auto_coupler_to_slave_named_aon_asource_out_d_safe_sink_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  input         auto_coupler_to_slave_named_MaskROM_fragmenter_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  output        auto_coupler_to_slave_named_MaskROM_fragmenter_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  output [2:0]  auto_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  output [2:0]  auto_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  output [1:0]  auto_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  output [5:0]  auto_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  output [16:0] auto_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  output [3:0]  auto_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  output        auto_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  output        auto_coupler_to_slave_named_MaskROM_fragmenter_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  input         auto_coupler_to_slave_named_MaskROM_fragmenter_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  input  [1:0]  auto_coupler_to_slave_named_MaskROM_fragmenter_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  input  [5:0]  auto_coupler_to_slave_named_MaskROM_fragmenter_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  input  [31:0] auto_coupler_to_slave_named_MaskROM_fragmenter_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  input         auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  output        auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  output [2:0]  auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  output [2:0]  auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  output [2:0]  auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  output        auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  output [31:0] auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  output [3:0]  auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  output [31:0] auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  output        auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  output        auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  input         auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  input  [2:0]  auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  input  [1:0]  auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  input  [2:0]  auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  input         auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  input         auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  input         auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  input  [31:0] auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  input         auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  input         auto_coupler_to_slave_named_debug_fragmenter_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  output        auto_coupler_to_slave_named_debug_fragmenter_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  output [2:0]  auto_coupler_to_slave_named_debug_fragmenter_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  output [2:0]  auto_coupler_to_slave_named_debug_fragmenter_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  output [1:0]  auto_coupler_to_slave_named_debug_fragmenter_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  output [5:0]  auto_coupler_to_slave_named_debug_fragmenter_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  output [11:0] auto_coupler_to_slave_named_debug_fragmenter_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  output [3:0]  auto_coupler_to_slave_named_debug_fragmenter_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  output [31:0] auto_coupler_to_slave_named_debug_fragmenter_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  output        auto_coupler_to_slave_named_debug_fragmenter_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  output        auto_coupler_to_slave_named_debug_fragmenter_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  input         auto_coupler_to_slave_named_debug_fragmenter_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  input  [2:0]  auto_coupler_to_slave_named_debug_fragmenter_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  input  [1:0]  auto_coupler_to_slave_named_debug_fragmenter_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  input  [5:0]  auto_coupler_to_slave_named_debug_fragmenter_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  input  [31:0] auto_coupler_to_slave_named_debug_fragmenter_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  input         auto_coupler_to_slave_named_clint_fragmenter_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  output        auto_coupler_to_slave_named_clint_fragmenter_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  output [2:0]  auto_coupler_to_slave_named_clint_fragmenter_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  output [2:0]  auto_coupler_to_slave_named_clint_fragmenter_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  output [1:0]  auto_coupler_to_slave_named_clint_fragmenter_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  output [5:0]  auto_coupler_to_slave_named_clint_fragmenter_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  output [25:0] auto_coupler_to_slave_named_clint_fragmenter_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  output [3:0]  auto_coupler_to_slave_named_clint_fragmenter_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  output [31:0] auto_coupler_to_slave_named_clint_fragmenter_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  output        auto_coupler_to_slave_named_clint_fragmenter_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  output        auto_coupler_to_slave_named_clint_fragmenter_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  input         auto_coupler_to_slave_named_clint_fragmenter_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  input  [2:0]  auto_coupler_to_slave_named_clint_fragmenter_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  input  [1:0]  auto_coupler_to_slave_named_clint_fragmenter_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  input  [5:0]  auto_coupler_to_slave_named_clint_fragmenter_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  input  [31:0] auto_coupler_to_slave_named_clint_fragmenter_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  input         auto_coupler_to_slave_named_plic_fragmenter_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  output        auto_coupler_to_slave_named_plic_fragmenter_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  output [2:0]  auto_coupler_to_slave_named_plic_fragmenter_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  output [2:0]  auto_coupler_to_slave_named_plic_fragmenter_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  output [1:0]  auto_coupler_to_slave_named_plic_fragmenter_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  output [5:0]  auto_coupler_to_slave_named_plic_fragmenter_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  output [27:0] auto_coupler_to_slave_named_plic_fragmenter_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  output [3:0]  auto_coupler_to_slave_named_plic_fragmenter_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  output [31:0] auto_coupler_to_slave_named_plic_fragmenter_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  output        auto_coupler_to_slave_named_plic_fragmenter_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  output        auto_coupler_to_slave_named_plic_fragmenter_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  input         auto_coupler_to_slave_named_plic_fragmenter_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  input  [2:0]  auto_coupler_to_slave_named_plic_fragmenter_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  input  [1:0]  auto_coupler_to_slave_named_plic_fragmenter_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  input  [5:0]  auto_coupler_to_slave_named_plic_fragmenter_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  input  [31:0] auto_coupler_to_slave_named_plic_fragmenter_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  input         auto_coupler_to_bus_named_pbus_from_cbus_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  output        auto_coupler_to_bus_named_pbus_from_cbus_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  output [2:0]  auto_coupler_to_bus_named_pbus_from_cbus_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  output [2:0]  auto_coupler_to_bus_named_pbus_from_cbus_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  output [3:0]  auto_coupler_to_bus_named_pbus_from_cbus_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  output        auto_coupler_to_bus_named_pbus_from_cbus_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  output [29:0] auto_coupler_to_bus_named_pbus_from_cbus_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  output [3:0]  auto_coupler_to_bus_named_pbus_from_cbus_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  output [31:0] auto_coupler_to_bus_named_pbus_from_cbus_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  output        auto_coupler_to_bus_named_pbus_from_cbus_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  output        auto_coupler_to_bus_named_pbus_from_cbus_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  input         auto_coupler_to_bus_named_pbus_from_cbus_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  input  [2:0]  auto_coupler_to_bus_named_pbus_from_cbus_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  input  [1:0]  auto_coupler_to_bus_named_pbus_from_cbus_out_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  input  [3:0]  auto_coupler_to_bus_named_pbus_from_cbus_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  input         auto_coupler_to_bus_named_pbus_from_cbus_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  input         auto_coupler_to_bus_named_pbus_from_cbus_out_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  input         auto_coupler_to_bus_named_pbus_from_cbus_out_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  input  [31:0] auto_coupler_to_bus_named_pbus_from_cbus_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  input         auto_coupler_to_bus_named_pbus_from_cbus_out_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  output        auto_from_sbus_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  input         auto_from_sbus_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  input  [2:0]  auto_from_sbus_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  input  [2:0]  auto_from_sbus_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  input  [3:0]  auto_from_sbus_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  input         auto_from_sbus_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  input  [31:0] auto_from_sbus_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  input  [3:0]  auto_from_sbus_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  input  [31:0] auto_from_sbus_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  input         auto_from_sbus_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  input         auto_from_sbus_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  output        auto_from_sbus_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  output [2:0]  auto_from_sbus_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  output [1:0]  auto_from_sbus_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  output [3:0]  auto_from_sbus_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  output        auto_from_sbus_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  output        auto_from_sbus_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  output        auto_from_sbus_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  output [31:0] auto_from_sbus_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+  output        auto_from_sbus_in_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
+);
+  wire  in_xbar_clock; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@33903.4]
+  wire  in_xbar_reset; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@33903.4]
+  wire  in_xbar_auto_in_a_ready; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@33903.4]
+  wire  in_xbar_auto_in_a_valid; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@33903.4]
+  wire [2:0] in_xbar_auto_in_a_bits_opcode; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@33903.4]
+  wire [2:0] in_xbar_auto_in_a_bits_param; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@33903.4]
+  wire [3:0] in_xbar_auto_in_a_bits_size; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@33903.4]
+  wire  in_xbar_auto_in_a_bits_source; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@33903.4]
+  wire [31:0] in_xbar_auto_in_a_bits_address; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@33903.4]
+  wire [3:0] in_xbar_auto_in_a_bits_mask; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@33903.4]
+  wire [31:0] in_xbar_auto_in_a_bits_data; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@33903.4]
+  wire  in_xbar_auto_in_a_bits_corrupt; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@33903.4]
+  wire  in_xbar_auto_in_d_ready; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@33903.4]
+  wire  in_xbar_auto_in_d_valid; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@33903.4]
+  wire [2:0] in_xbar_auto_in_d_bits_opcode; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@33903.4]
+  wire [1:0] in_xbar_auto_in_d_bits_param; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@33903.4]
+  wire [3:0] in_xbar_auto_in_d_bits_size; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@33903.4]
+  wire  in_xbar_auto_in_d_bits_source; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@33903.4]
+  wire  in_xbar_auto_in_d_bits_sink; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@33903.4]
+  wire  in_xbar_auto_in_d_bits_denied; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@33903.4]
+  wire [31:0] in_xbar_auto_in_d_bits_data; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@33903.4]
+  wire  in_xbar_auto_in_d_bits_corrupt; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@33903.4]
+  wire  in_xbar_auto_out_a_ready; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@33903.4]
+  wire  in_xbar_auto_out_a_valid; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@33903.4]
+  wire [2:0] in_xbar_auto_out_a_bits_opcode; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@33903.4]
+  wire [2:0] in_xbar_auto_out_a_bits_param; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@33903.4]
+  wire [3:0] in_xbar_auto_out_a_bits_size; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@33903.4]
+  wire  in_xbar_auto_out_a_bits_source; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@33903.4]
+  wire [31:0] in_xbar_auto_out_a_bits_address; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@33903.4]
+  wire [3:0] in_xbar_auto_out_a_bits_mask; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@33903.4]
+  wire [31:0] in_xbar_auto_out_a_bits_data; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@33903.4]
+  wire  in_xbar_auto_out_a_bits_corrupt; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@33903.4]
+  wire  in_xbar_auto_out_d_ready; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@33903.4]
+  wire  in_xbar_auto_out_d_valid; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@33903.4]
+  wire [2:0] in_xbar_auto_out_d_bits_opcode; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@33903.4]
+  wire [1:0] in_xbar_auto_out_d_bits_param; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@33903.4]
+  wire [3:0] in_xbar_auto_out_d_bits_size; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@33903.4]
+  wire  in_xbar_auto_out_d_bits_source; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@33903.4]
+  wire  in_xbar_auto_out_d_bits_sink; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@33903.4]
+  wire  in_xbar_auto_out_d_bits_denied; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@33903.4]
+  wire [31:0] in_xbar_auto_out_d_bits_data; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@33903.4]
+  wire  in_xbar_auto_out_d_bits_corrupt; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@33903.4]
+  wire  out_xbar_clock; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire  out_xbar_reset; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire  out_xbar_auto_in_a_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire  out_xbar_auto_in_a_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire [2:0] out_xbar_auto_in_a_bits_opcode; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire [2:0] out_xbar_auto_in_a_bits_param; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire [3:0] out_xbar_auto_in_a_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire  out_xbar_auto_in_a_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire [31:0] out_xbar_auto_in_a_bits_address; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire [3:0] out_xbar_auto_in_a_bits_mask; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire [31:0] out_xbar_auto_in_a_bits_data; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire  out_xbar_auto_in_a_bits_corrupt; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire  out_xbar_auto_in_d_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire  out_xbar_auto_in_d_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire [2:0] out_xbar_auto_in_d_bits_opcode; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire [1:0] out_xbar_auto_in_d_bits_param; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire [3:0] out_xbar_auto_in_d_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire  out_xbar_auto_in_d_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire  out_xbar_auto_in_d_bits_sink; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire  out_xbar_auto_in_d_bits_denied; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire [31:0] out_xbar_auto_in_d_bits_data; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire  out_xbar_auto_in_d_bits_corrupt; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire  out_xbar_auto_out_6_a_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire  out_xbar_auto_out_6_a_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire [2:0] out_xbar_auto_out_6_a_bits_opcode; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire [2:0] out_xbar_auto_out_6_a_bits_param; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire [2:0] out_xbar_auto_out_6_a_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire  out_xbar_auto_out_6_a_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire [28:0] out_xbar_auto_out_6_a_bits_address; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire [3:0] out_xbar_auto_out_6_a_bits_mask; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire [31:0] out_xbar_auto_out_6_a_bits_data; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire  out_xbar_auto_out_6_a_bits_corrupt; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire  out_xbar_auto_out_6_d_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire  out_xbar_auto_out_6_d_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire [2:0] out_xbar_auto_out_6_d_bits_opcode; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire [1:0] out_xbar_auto_out_6_d_bits_param; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire [2:0] out_xbar_auto_out_6_d_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire  out_xbar_auto_out_6_d_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire  out_xbar_auto_out_6_d_bits_sink; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire  out_xbar_auto_out_6_d_bits_denied; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire [31:0] out_xbar_auto_out_6_d_bits_data; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire  out_xbar_auto_out_6_d_bits_corrupt; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire  out_xbar_auto_out_5_a_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire  out_xbar_auto_out_5_a_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire [2:0] out_xbar_auto_out_5_a_bits_opcode; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire [2:0] out_xbar_auto_out_5_a_bits_param; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire [2:0] out_xbar_auto_out_5_a_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire  out_xbar_auto_out_5_a_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire [16:0] out_xbar_auto_out_5_a_bits_address; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire [3:0] out_xbar_auto_out_5_a_bits_mask; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire  out_xbar_auto_out_5_a_bits_corrupt; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire  out_xbar_auto_out_5_d_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire  out_xbar_auto_out_5_d_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire [2:0] out_xbar_auto_out_5_d_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire  out_xbar_auto_out_5_d_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire [31:0] out_xbar_auto_out_5_d_bits_data; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire  out_xbar_auto_out_4_a_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire  out_xbar_auto_out_4_a_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire [2:0] out_xbar_auto_out_4_a_bits_opcode; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire [2:0] out_xbar_auto_out_4_a_bits_param; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire [2:0] out_xbar_auto_out_4_a_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire  out_xbar_auto_out_4_a_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire [31:0] out_xbar_auto_out_4_a_bits_address; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire [3:0] out_xbar_auto_out_4_a_bits_mask; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire [31:0] out_xbar_auto_out_4_a_bits_data; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire  out_xbar_auto_out_4_a_bits_corrupt; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire  out_xbar_auto_out_4_d_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire  out_xbar_auto_out_4_d_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire [2:0] out_xbar_auto_out_4_d_bits_opcode; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire [1:0] out_xbar_auto_out_4_d_bits_param; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire [2:0] out_xbar_auto_out_4_d_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire  out_xbar_auto_out_4_d_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire  out_xbar_auto_out_4_d_bits_sink; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire  out_xbar_auto_out_4_d_bits_denied; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire [31:0] out_xbar_auto_out_4_d_bits_data; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire  out_xbar_auto_out_4_d_bits_corrupt; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire  out_xbar_auto_out_3_a_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire  out_xbar_auto_out_3_a_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire [2:0] out_xbar_auto_out_3_a_bits_opcode; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire [2:0] out_xbar_auto_out_3_a_bits_param; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire [2:0] out_xbar_auto_out_3_a_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire  out_xbar_auto_out_3_a_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire [11:0] out_xbar_auto_out_3_a_bits_address; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire [3:0] out_xbar_auto_out_3_a_bits_mask; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire [31:0] out_xbar_auto_out_3_a_bits_data; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire  out_xbar_auto_out_3_a_bits_corrupt; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire  out_xbar_auto_out_3_d_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire  out_xbar_auto_out_3_d_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire [2:0] out_xbar_auto_out_3_d_bits_opcode; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire [2:0] out_xbar_auto_out_3_d_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire  out_xbar_auto_out_3_d_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire [31:0] out_xbar_auto_out_3_d_bits_data; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire  out_xbar_auto_out_2_a_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire  out_xbar_auto_out_2_a_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire [2:0] out_xbar_auto_out_2_a_bits_opcode; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire [2:0] out_xbar_auto_out_2_a_bits_param; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire [2:0] out_xbar_auto_out_2_a_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire  out_xbar_auto_out_2_a_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire [25:0] out_xbar_auto_out_2_a_bits_address; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire [3:0] out_xbar_auto_out_2_a_bits_mask; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire [31:0] out_xbar_auto_out_2_a_bits_data; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire  out_xbar_auto_out_2_a_bits_corrupt; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire  out_xbar_auto_out_2_d_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire  out_xbar_auto_out_2_d_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire [2:0] out_xbar_auto_out_2_d_bits_opcode; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire [2:0] out_xbar_auto_out_2_d_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire  out_xbar_auto_out_2_d_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire [31:0] out_xbar_auto_out_2_d_bits_data; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire  out_xbar_auto_out_1_a_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire  out_xbar_auto_out_1_a_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire [2:0] out_xbar_auto_out_1_a_bits_opcode; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire [2:0] out_xbar_auto_out_1_a_bits_param; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire [2:0] out_xbar_auto_out_1_a_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire  out_xbar_auto_out_1_a_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire [27:0] out_xbar_auto_out_1_a_bits_address; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire [3:0] out_xbar_auto_out_1_a_bits_mask; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire [31:0] out_xbar_auto_out_1_a_bits_data; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire  out_xbar_auto_out_1_a_bits_corrupt; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire  out_xbar_auto_out_1_d_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire  out_xbar_auto_out_1_d_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire [2:0] out_xbar_auto_out_1_d_bits_opcode; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire [2:0] out_xbar_auto_out_1_d_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire  out_xbar_auto_out_1_d_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire [31:0] out_xbar_auto_out_1_d_bits_data; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire  out_xbar_auto_out_0_a_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire  out_xbar_auto_out_0_a_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire [2:0] out_xbar_auto_out_0_a_bits_opcode; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire [2:0] out_xbar_auto_out_0_a_bits_param; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire [3:0] out_xbar_auto_out_0_a_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire  out_xbar_auto_out_0_a_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire [29:0] out_xbar_auto_out_0_a_bits_address; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire [3:0] out_xbar_auto_out_0_a_bits_mask; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire [31:0] out_xbar_auto_out_0_a_bits_data; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire  out_xbar_auto_out_0_a_bits_corrupt; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire  out_xbar_auto_out_0_d_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire  out_xbar_auto_out_0_d_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire [2:0] out_xbar_auto_out_0_d_bits_opcode; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire [1:0] out_xbar_auto_out_0_d_bits_param; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire [3:0] out_xbar_auto_out_0_d_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire  out_xbar_auto_out_0_d_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire  out_xbar_auto_out_0_d_bits_sink; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire  out_xbar_auto_out_0_d_bits_denied; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire [31:0] out_xbar_auto_out_0_d_bits_data; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire  out_xbar_auto_out_0_d_bits_corrupt; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+  wire  buffer_clock; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33915.4]
+  wire  buffer_reset; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33915.4]
+  wire  buffer_auto_in_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33915.4]
+  wire  buffer_auto_in_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33915.4]
+  wire [2:0] buffer_auto_in_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33915.4]
+  wire [2:0] buffer_auto_in_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33915.4]
+  wire [3:0] buffer_auto_in_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33915.4]
+  wire  buffer_auto_in_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33915.4]
+  wire [31:0] buffer_auto_in_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33915.4]
+  wire [3:0] buffer_auto_in_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33915.4]
+  wire [31:0] buffer_auto_in_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33915.4]
+  wire  buffer_auto_in_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33915.4]
+  wire  buffer_auto_in_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33915.4]
+  wire  buffer_auto_in_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33915.4]
+  wire [2:0] buffer_auto_in_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33915.4]
+  wire [1:0] buffer_auto_in_d_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33915.4]
+  wire [3:0] buffer_auto_in_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33915.4]
+  wire  buffer_auto_in_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33915.4]
+  wire  buffer_auto_in_d_bits_sink; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33915.4]
+  wire  buffer_auto_in_d_bits_denied; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33915.4]
+  wire [31:0] buffer_auto_in_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33915.4]
+  wire  buffer_auto_in_d_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33915.4]
+  wire  buffer_auto_out_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33915.4]
+  wire  buffer_auto_out_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33915.4]
+  wire [2:0] buffer_auto_out_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33915.4]
+  wire [2:0] buffer_auto_out_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33915.4]
+  wire [3:0] buffer_auto_out_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33915.4]
+  wire  buffer_auto_out_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33915.4]
+  wire [31:0] buffer_auto_out_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33915.4]
+  wire [3:0] buffer_auto_out_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33915.4]
+  wire [31:0] buffer_auto_out_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33915.4]
+  wire  buffer_auto_out_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33915.4]
+  wire  buffer_auto_out_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33915.4]
+  wire  buffer_auto_out_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33915.4]
+  wire [2:0] buffer_auto_out_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33915.4]
+  wire [1:0] buffer_auto_out_d_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33915.4]
+  wire [3:0] buffer_auto_out_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33915.4]
+  wire  buffer_auto_out_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33915.4]
+  wire  buffer_auto_out_d_bits_sink; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33915.4]
+  wire  buffer_auto_out_d_bits_denied; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33915.4]
+  wire [31:0] buffer_auto_out_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33915.4]
+  wire  buffer_auto_out_d_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33915.4]
+  wire  atomics_clock; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33921.4]
+  wire  atomics_reset; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33921.4]
+  wire  atomics_auto_in_a_ready; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33921.4]
+  wire  atomics_auto_in_a_valid; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33921.4]
+  wire [2:0] atomics_auto_in_a_bits_opcode; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33921.4]
+  wire [2:0] atomics_auto_in_a_bits_param; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33921.4]
+  wire [3:0] atomics_auto_in_a_bits_size; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33921.4]
+  wire  atomics_auto_in_a_bits_source; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33921.4]
+  wire [31:0] atomics_auto_in_a_bits_address; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33921.4]
+  wire [3:0] atomics_auto_in_a_bits_mask; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33921.4]
+  wire [31:0] atomics_auto_in_a_bits_data; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33921.4]
+  wire  atomics_auto_in_a_bits_corrupt; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33921.4]
+  wire  atomics_auto_in_d_ready; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33921.4]
+  wire  atomics_auto_in_d_valid; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33921.4]
+  wire [2:0] atomics_auto_in_d_bits_opcode; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33921.4]
+  wire [1:0] atomics_auto_in_d_bits_param; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33921.4]
+  wire [3:0] atomics_auto_in_d_bits_size; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33921.4]
+  wire  atomics_auto_in_d_bits_source; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33921.4]
+  wire  atomics_auto_in_d_bits_sink; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33921.4]
+  wire  atomics_auto_in_d_bits_denied; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33921.4]
+  wire [31:0] atomics_auto_in_d_bits_data; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33921.4]
+  wire  atomics_auto_in_d_bits_corrupt; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33921.4]
+  wire  atomics_auto_out_a_ready; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33921.4]
+  wire  atomics_auto_out_a_valid; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33921.4]
+  wire [2:0] atomics_auto_out_a_bits_opcode; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33921.4]
+  wire [2:0] atomics_auto_out_a_bits_param; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33921.4]
+  wire [3:0] atomics_auto_out_a_bits_size; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33921.4]
+  wire  atomics_auto_out_a_bits_source; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33921.4]
+  wire [31:0] atomics_auto_out_a_bits_address; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33921.4]
+  wire [3:0] atomics_auto_out_a_bits_mask; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33921.4]
+  wire [31:0] atomics_auto_out_a_bits_data; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33921.4]
+  wire  atomics_auto_out_a_bits_corrupt; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33921.4]
+  wire  atomics_auto_out_d_ready; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33921.4]
+  wire  atomics_auto_out_d_valid; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33921.4]
+  wire [2:0] atomics_auto_out_d_bits_opcode; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33921.4]
+  wire [1:0] atomics_auto_out_d_bits_param; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33921.4]
+  wire [3:0] atomics_auto_out_d_bits_size; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33921.4]
+  wire  atomics_auto_out_d_bits_source; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33921.4]
+  wire  atomics_auto_out_d_bits_sink; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33921.4]
+  wire  atomics_auto_out_d_bits_denied; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33921.4]
+  wire [31:0] atomics_auto_out_d_bits_data; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33921.4]
+  wire  atomics_auto_out_d_bits_corrupt; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33921.4]
+  wire  buffer_1_clock; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33933.4]
+  wire  buffer_1_reset; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33933.4]
+  wire  buffer_1_auto_in_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33933.4]
+  wire  buffer_1_auto_in_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33933.4]
+  wire [2:0] buffer_1_auto_in_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33933.4]
+  wire [2:0] buffer_1_auto_in_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33933.4]
+  wire [3:0] buffer_1_auto_in_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33933.4]
+  wire  buffer_1_auto_in_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33933.4]
+  wire [31:0] buffer_1_auto_in_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33933.4]
+  wire [3:0] buffer_1_auto_in_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33933.4]
+  wire [31:0] buffer_1_auto_in_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33933.4]
+  wire  buffer_1_auto_in_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33933.4]
+  wire  buffer_1_auto_in_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33933.4]
+  wire  buffer_1_auto_in_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33933.4]
+  wire [2:0] buffer_1_auto_in_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33933.4]
+  wire [1:0] buffer_1_auto_in_d_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33933.4]
+  wire [3:0] buffer_1_auto_in_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33933.4]
+  wire  buffer_1_auto_in_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33933.4]
+  wire  buffer_1_auto_in_d_bits_sink; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33933.4]
+  wire  buffer_1_auto_in_d_bits_denied; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33933.4]
+  wire [31:0] buffer_1_auto_in_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33933.4]
+  wire  buffer_1_auto_in_d_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33933.4]
+  wire  buffer_1_auto_out_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33933.4]
+  wire  buffer_1_auto_out_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33933.4]
+  wire [2:0] buffer_1_auto_out_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33933.4]
+  wire [2:0] buffer_1_auto_out_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33933.4]
+  wire [3:0] buffer_1_auto_out_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33933.4]
+  wire  buffer_1_auto_out_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33933.4]
+  wire [31:0] buffer_1_auto_out_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33933.4]
+  wire [3:0] buffer_1_auto_out_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33933.4]
+  wire [31:0] buffer_1_auto_out_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33933.4]
+  wire  buffer_1_auto_out_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33933.4]
+  wire  buffer_1_auto_out_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33933.4]
+  wire  buffer_1_auto_out_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33933.4]
+  wire [2:0] buffer_1_auto_out_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33933.4]
+  wire [1:0] buffer_1_auto_out_d_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33933.4]
+  wire [3:0] buffer_1_auto_out_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33933.4]
+  wire  buffer_1_auto_out_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33933.4]
+  wire  buffer_1_auto_out_d_bits_sink; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33933.4]
+  wire  buffer_1_auto_out_d_bits_denied; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33933.4]
+  wire [31:0] buffer_1_auto_out_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33933.4]
+  wire  buffer_1_auto_out_d_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33933.4]
+  wire  coupler_to_bus_named_pbus_clock; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33939.4]
+  wire  coupler_to_bus_named_pbus_reset; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33939.4]
+  wire  coupler_to_bus_named_pbus_auto_widget_in_a_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33939.4]
+  wire  coupler_to_bus_named_pbus_auto_widget_in_a_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33939.4]
+  wire [2:0] coupler_to_bus_named_pbus_auto_widget_in_a_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33939.4]
+  wire [2:0] coupler_to_bus_named_pbus_auto_widget_in_a_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33939.4]
+  wire [3:0] coupler_to_bus_named_pbus_auto_widget_in_a_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33939.4]
+  wire  coupler_to_bus_named_pbus_auto_widget_in_a_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33939.4]
+  wire [29:0] coupler_to_bus_named_pbus_auto_widget_in_a_bits_address; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33939.4]
+  wire [3:0] coupler_to_bus_named_pbus_auto_widget_in_a_bits_mask; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33939.4]
+  wire [31:0] coupler_to_bus_named_pbus_auto_widget_in_a_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33939.4]
+  wire  coupler_to_bus_named_pbus_auto_widget_in_a_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33939.4]
+  wire  coupler_to_bus_named_pbus_auto_widget_in_d_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33939.4]
+  wire  coupler_to_bus_named_pbus_auto_widget_in_d_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33939.4]
+  wire [2:0] coupler_to_bus_named_pbus_auto_widget_in_d_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33939.4]
+  wire [1:0] coupler_to_bus_named_pbus_auto_widget_in_d_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33939.4]
+  wire [3:0] coupler_to_bus_named_pbus_auto_widget_in_d_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33939.4]
+  wire  coupler_to_bus_named_pbus_auto_widget_in_d_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33939.4]
+  wire  coupler_to_bus_named_pbus_auto_widget_in_d_bits_sink; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33939.4]
+  wire  coupler_to_bus_named_pbus_auto_widget_in_d_bits_denied; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33939.4]
+  wire [31:0] coupler_to_bus_named_pbus_auto_widget_in_d_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33939.4]
+  wire  coupler_to_bus_named_pbus_auto_widget_in_d_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33939.4]
+  wire  coupler_to_bus_named_pbus_auto_from_cbus_out_a_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33939.4]
+  wire  coupler_to_bus_named_pbus_auto_from_cbus_out_a_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33939.4]
+  wire [2:0] coupler_to_bus_named_pbus_auto_from_cbus_out_a_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33939.4]
+  wire [2:0] coupler_to_bus_named_pbus_auto_from_cbus_out_a_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33939.4]
+  wire [3:0] coupler_to_bus_named_pbus_auto_from_cbus_out_a_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33939.4]
+  wire  coupler_to_bus_named_pbus_auto_from_cbus_out_a_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33939.4]
+  wire [29:0] coupler_to_bus_named_pbus_auto_from_cbus_out_a_bits_address; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33939.4]
+  wire [3:0] coupler_to_bus_named_pbus_auto_from_cbus_out_a_bits_mask; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33939.4]
+  wire [31:0] coupler_to_bus_named_pbus_auto_from_cbus_out_a_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33939.4]
+  wire  coupler_to_bus_named_pbus_auto_from_cbus_out_a_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33939.4]
+  wire  coupler_to_bus_named_pbus_auto_from_cbus_out_d_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33939.4]
+  wire  coupler_to_bus_named_pbus_auto_from_cbus_out_d_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33939.4]
+  wire [2:0] coupler_to_bus_named_pbus_auto_from_cbus_out_d_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33939.4]
+  wire [1:0] coupler_to_bus_named_pbus_auto_from_cbus_out_d_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33939.4]
+  wire [3:0] coupler_to_bus_named_pbus_auto_from_cbus_out_d_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33939.4]
+  wire  coupler_to_bus_named_pbus_auto_from_cbus_out_d_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33939.4]
+  wire  coupler_to_bus_named_pbus_auto_from_cbus_out_d_bits_sink; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33939.4]
+  wire  coupler_to_bus_named_pbus_auto_from_cbus_out_d_bits_denied; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33939.4]
+  wire [31:0] coupler_to_bus_named_pbus_auto_from_cbus_out_d_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33939.4]
+  wire  coupler_to_bus_named_pbus_auto_from_cbus_out_d_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33939.4]
+  wire  coupler_to_slave_named_plic_clock; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33945.4]
+  wire  coupler_to_slave_named_plic_reset; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33945.4]
+  wire  coupler_to_slave_named_plic_auto_buffer_in_a_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33945.4]
+  wire  coupler_to_slave_named_plic_auto_buffer_in_a_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33945.4]
+  wire [2:0] coupler_to_slave_named_plic_auto_buffer_in_a_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33945.4]
+  wire [2:0] coupler_to_slave_named_plic_auto_buffer_in_a_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33945.4]
+  wire [2:0] coupler_to_slave_named_plic_auto_buffer_in_a_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33945.4]
+  wire  coupler_to_slave_named_plic_auto_buffer_in_a_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33945.4]
+  wire [27:0] coupler_to_slave_named_plic_auto_buffer_in_a_bits_address; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33945.4]
+  wire [3:0] coupler_to_slave_named_plic_auto_buffer_in_a_bits_mask; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33945.4]
+  wire [31:0] coupler_to_slave_named_plic_auto_buffer_in_a_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33945.4]
+  wire  coupler_to_slave_named_plic_auto_buffer_in_a_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33945.4]
+  wire  coupler_to_slave_named_plic_auto_buffer_in_d_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33945.4]
+  wire  coupler_to_slave_named_plic_auto_buffer_in_d_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33945.4]
+  wire [2:0] coupler_to_slave_named_plic_auto_buffer_in_d_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33945.4]
+  wire [2:0] coupler_to_slave_named_plic_auto_buffer_in_d_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33945.4]
+  wire  coupler_to_slave_named_plic_auto_buffer_in_d_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33945.4]
+  wire [31:0] coupler_to_slave_named_plic_auto_buffer_in_d_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33945.4]
+  wire  coupler_to_slave_named_plic_auto_fragmenter_out_a_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33945.4]
+  wire  coupler_to_slave_named_plic_auto_fragmenter_out_a_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33945.4]
+  wire [2:0] coupler_to_slave_named_plic_auto_fragmenter_out_a_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33945.4]
+  wire [2:0] coupler_to_slave_named_plic_auto_fragmenter_out_a_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33945.4]
+  wire [1:0] coupler_to_slave_named_plic_auto_fragmenter_out_a_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33945.4]
+  wire [5:0] coupler_to_slave_named_plic_auto_fragmenter_out_a_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33945.4]
+  wire [27:0] coupler_to_slave_named_plic_auto_fragmenter_out_a_bits_address; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33945.4]
+  wire [3:0] coupler_to_slave_named_plic_auto_fragmenter_out_a_bits_mask; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33945.4]
+  wire [31:0] coupler_to_slave_named_plic_auto_fragmenter_out_a_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33945.4]
+  wire  coupler_to_slave_named_plic_auto_fragmenter_out_a_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33945.4]
+  wire  coupler_to_slave_named_plic_auto_fragmenter_out_d_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33945.4]
+  wire  coupler_to_slave_named_plic_auto_fragmenter_out_d_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33945.4]
+  wire [2:0] coupler_to_slave_named_plic_auto_fragmenter_out_d_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33945.4]
+  wire [1:0] coupler_to_slave_named_plic_auto_fragmenter_out_d_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33945.4]
+  wire [5:0] coupler_to_slave_named_plic_auto_fragmenter_out_d_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33945.4]
+  wire [31:0] coupler_to_slave_named_plic_auto_fragmenter_out_d_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33945.4]
+  wire  coupler_to_slave_named_clint_clock; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33951.4]
+  wire  coupler_to_slave_named_clint_reset; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33951.4]
+  wire  coupler_to_slave_named_clint_auto_buffer_in_a_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33951.4]
+  wire  coupler_to_slave_named_clint_auto_buffer_in_a_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33951.4]
+  wire [2:0] coupler_to_slave_named_clint_auto_buffer_in_a_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33951.4]
+  wire [2:0] coupler_to_slave_named_clint_auto_buffer_in_a_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33951.4]
+  wire [2:0] coupler_to_slave_named_clint_auto_buffer_in_a_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33951.4]
+  wire  coupler_to_slave_named_clint_auto_buffer_in_a_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33951.4]
+  wire [25:0] coupler_to_slave_named_clint_auto_buffer_in_a_bits_address; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33951.4]
+  wire [3:0] coupler_to_slave_named_clint_auto_buffer_in_a_bits_mask; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33951.4]
+  wire [31:0] coupler_to_slave_named_clint_auto_buffer_in_a_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33951.4]
+  wire  coupler_to_slave_named_clint_auto_buffer_in_a_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33951.4]
+  wire  coupler_to_slave_named_clint_auto_buffer_in_d_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33951.4]
+  wire  coupler_to_slave_named_clint_auto_buffer_in_d_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33951.4]
+  wire [2:0] coupler_to_slave_named_clint_auto_buffer_in_d_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33951.4]
+  wire [2:0] coupler_to_slave_named_clint_auto_buffer_in_d_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33951.4]
+  wire  coupler_to_slave_named_clint_auto_buffer_in_d_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33951.4]
+  wire [31:0] coupler_to_slave_named_clint_auto_buffer_in_d_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33951.4]
+  wire  coupler_to_slave_named_clint_auto_fragmenter_out_a_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33951.4]
+  wire  coupler_to_slave_named_clint_auto_fragmenter_out_a_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33951.4]
+  wire [2:0] coupler_to_slave_named_clint_auto_fragmenter_out_a_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33951.4]
+  wire [2:0] coupler_to_slave_named_clint_auto_fragmenter_out_a_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33951.4]
+  wire [1:0] coupler_to_slave_named_clint_auto_fragmenter_out_a_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33951.4]
+  wire [5:0] coupler_to_slave_named_clint_auto_fragmenter_out_a_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33951.4]
+  wire [25:0] coupler_to_slave_named_clint_auto_fragmenter_out_a_bits_address; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33951.4]
+  wire [3:0] coupler_to_slave_named_clint_auto_fragmenter_out_a_bits_mask; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33951.4]
+  wire [31:0] coupler_to_slave_named_clint_auto_fragmenter_out_a_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33951.4]
+  wire  coupler_to_slave_named_clint_auto_fragmenter_out_a_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33951.4]
+  wire  coupler_to_slave_named_clint_auto_fragmenter_out_d_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33951.4]
+  wire  coupler_to_slave_named_clint_auto_fragmenter_out_d_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33951.4]
+  wire [2:0] coupler_to_slave_named_clint_auto_fragmenter_out_d_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33951.4]
+  wire [1:0] coupler_to_slave_named_clint_auto_fragmenter_out_d_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33951.4]
+  wire [5:0] coupler_to_slave_named_clint_auto_fragmenter_out_d_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33951.4]
+  wire [31:0] coupler_to_slave_named_clint_auto_fragmenter_out_d_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33951.4]
+  wire  coupler_to_slave_named_debug_clock; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33957.4]
+  wire  coupler_to_slave_named_debug_reset; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33957.4]
+  wire  coupler_to_slave_named_debug_auto_buffer_in_a_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33957.4]
+  wire  coupler_to_slave_named_debug_auto_buffer_in_a_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33957.4]
+  wire [2:0] coupler_to_slave_named_debug_auto_buffer_in_a_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33957.4]
+  wire [2:0] coupler_to_slave_named_debug_auto_buffer_in_a_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33957.4]
+  wire [2:0] coupler_to_slave_named_debug_auto_buffer_in_a_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33957.4]
+  wire  coupler_to_slave_named_debug_auto_buffer_in_a_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33957.4]
+  wire [11:0] coupler_to_slave_named_debug_auto_buffer_in_a_bits_address; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33957.4]
+  wire [3:0] coupler_to_slave_named_debug_auto_buffer_in_a_bits_mask; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33957.4]
+  wire [31:0] coupler_to_slave_named_debug_auto_buffer_in_a_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33957.4]
+  wire  coupler_to_slave_named_debug_auto_buffer_in_a_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33957.4]
+  wire  coupler_to_slave_named_debug_auto_buffer_in_d_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33957.4]
+  wire  coupler_to_slave_named_debug_auto_buffer_in_d_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33957.4]
+  wire [2:0] coupler_to_slave_named_debug_auto_buffer_in_d_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33957.4]
+  wire [2:0] coupler_to_slave_named_debug_auto_buffer_in_d_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33957.4]
+  wire  coupler_to_slave_named_debug_auto_buffer_in_d_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33957.4]
+  wire [31:0] coupler_to_slave_named_debug_auto_buffer_in_d_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33957.4]
+  wire  coupler_to_slave_named_debug_auto_fragmenter_out_a_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33957.4]
+  wire  coupler_to_slave_named_debug_auto_fragmenter_out_a_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33957.4]
+  wire [2:0] coupler_to_slave_named_debug_auto_fragmenter_out_a_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33957.4]
+  wire [2:0] coupler_to_slave_named_debug_auto_fragmenter_out_a_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33957.4]
+  wire [1:0] coupler_to_slave_named_debug_auto_fragmenter_out_a_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33957.4]
+  wire [5:0] coupler_to_slave_named_debug_auto_fragmenter_out_a_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33957.4]
+  wire [11:0] coupler_to_slave_named_debug_auto_fragmenter_out_a_bits_address; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33957.4]
+  wire [3:0] coupler_to_slave_named_debug_auto_fragmenter_out_a_bits_mask; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33957.4]
+  wire [31:0] coupler_to_slave_named_debug_auto_fragmenter_out_a_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33957.4]
+  wire  coupler_to_slave_named_debug_auto_fragmenter_out_a_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33957.4]
+  wire  coupler_to_slave_named_debug_auto_fragmenter_out_d_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33957.4]
+  wire  coupler_to_slave_named_debug_auto_fragmenter_out_d_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33957.4]
+  wire [2:0] coupler_to_slave_named_debug_auto_fragmenter_out_d_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33957.4]
+  wire [1:0] coupler_to_slave_named_debug_auto_fragmenter_out_d_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33957.4]
+  wire [5:0] coupler_to_slave_named_debug_auto_fragmenter_out_d_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33957.4]
+  wire [31:0] coupler_to_slave_named_debug_auto_fragmenter_out_d_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33957.4]
+  wire  coupler_to_tile_named_tile_clock; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33963.4]
+  wire  coupler_to_tile_named_tile_reset; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33963.4]
+  wire  coupler_to_tile_named_tile_auto_buffer_in_a_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33963.4]
+  wire  coupler_to_tile_named_tile_auto_buffer_in_a_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33963.4]
+  wire [2:0] coupler_to_tile_named_tile_auto_buffer_in_a_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33963.4]
+  wire [2:0] coupler_to_tile_named_tile_auto_buffer_in_a_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33963.4]
+  wire [2:0] coupler_to_tile_named_tile_auto_buffer_in_a_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33963.4]
+  wire  coupler_to_tile_named_tile_auto_buffer_in_a_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33963.4]
+  wire [31:0] coupler_to_tile_named_tile_auto_buffer_in_a_bits_address; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33963.4]
+  wire [3:0] coupler_to_tile_named_tile_auto_buffer_in_a_bits_mask; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33963.4]
+  wire [31:0] coupler_to_tile_named_tile_auto_buffer_in_a_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33963.4]
+  wire  coupler_to_tile_named_tile_auto_buffer_in_a_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33963.4]
+  wire  coupler_to_tile_named_tile_auto_buffer_in_d_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33963.4]
+  wire  coupler_to_tile_named_tile_auto_buffer_in_d_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33963.4]
+  wire [2:0] coupler_to_tile_named_tile_auto_buffer_in_d_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33963.4]
+  wire [1:0] coupler_to_tile_named_tile_auto_buffer_in_d_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33963.4]
+  wire [2:0] coupler_to_tile_named_tile_auto_buffer_in_d_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33963.4]
+  wire  coupler_to_tile_named_tile_auto_buffer_in_d_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33963.4]
+  wire  coupler_to_tile_named_tile_auto_buffer_in_d_bits_sink; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33963.4]
+  wire  coupler_to_tile_named_tile_auto_buffer_in_d_bits_denied; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33963.4]
+  wire [31:0] coupler_to_tile_named_tile_auto_buffer_in_d_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33963.4]
+  wire  coupler_to_tile_named_tile_auto_buffer_in_d_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33963.4]
+  wire  coupler_to_tile_named_tile_auto_tl_slave_xing_out_a_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33963.4]
+  wire  coupler_to_tile_named_tile_auto_tl_slave_xing_out_a_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33963.4]
+  wire [2:0] coupler_to_tile_named_tile_auto_tl_slave_xing_out_a_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33963.4]
+  wire [2:0] coupler_to_tile_named_tile_auto_tl_slave_xing_out_a_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33963.4]
+  wire [2:0] coupler_to_tile_named_tile_auto_tl_slave_xing_out_a_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33963.4]
+  wire  coupler_to_tile_named_tile_auto_tl_slave_xing_out_a_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33963.4]
+  wire [31:0] coupler_to_tile_named_tile_auto_tl_slave_xing_out_a_bits_address; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33963.4]
+  wire [3:0] coupler_to_tile_named_tile_auto_tl_slave_xing_out_a_bits_mask; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33963.4]
+  wire [31:0] coupler_to_tile_named_tile_auto_tl_slave_xing_out_a_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33963.4]
+  wire  coupler_to_tile_named_tile_auto_tl_slave_xing_out_a_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33963.4]
+  wire  coupler_to_tile_named_tile_auto_tl_slave_xing_out_d_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33963.4]
+  wire  coupler_to_tile_named_tile_auto_tl_slave_xing_out_d_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33963.4]
+  wire [2:0] coupler_to_tile_named_tile_auto_tl_slave_xing_out_d_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33963.4]
+  wire [1:0] coupler_to_tile_named_tile_auto_tl_slave_xing_out_d_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33963.4]
+  wire [2:0] coupler_to_tile_named_tile_auto_tl_slave_xing_out_d_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33963.4]
+  wire  coupler_to_tile_named_tile_auto_tl_slave_xing_out_d_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33963.4]
+  wire  coupler_to_tile_named_tile_auto_tl_slave_xing_out_d_bits_sink; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33963.4]
+  wire  coupler_to_tile_named_tile_auto_tl_slave_xing_out_d_bits_denied; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33963.4]
+  wire [31:0] coupler_to_tile_named_tile_auto_tl_slave_xing_out_d_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33963.4]
+  wire  coupler_to_tile_named_tile_auto_tl_slave_xing_out_d_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33963.4]
+  wire  coupler_to_slave_named_MaskROM_clock; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33969.4]
+  wire  coupler_to_slave_named_MaskROM_reset; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33969.4]
+  wire  coupler_to_slave_named_MaskROM_auto_buffer_in_a_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33969.4]
+  wire  coupler_to_slave_named_MaskROM_auto_buffer_in_a_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33969.4]
+  wire [2:0] coupler_to_slave_named_MaskROM_auto_buffer_in_a_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33969.4]
+  wire [2:0] coupler_to_slave_named_MaskROM_auto_buffer_in_a_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33969.4]
+  wire [2:0] coupler_to_slave_named_MaskROM_auto_buffer_in_a_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33969.4]
+  wire  coupler_to_slave_named_MaskROM_auto_buffer_in_a_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33969.4]
+  wire [16:0] coupler_to_slave_named_MaskROM_auto_buffer_in_a_bits_address; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33969.4]
+  wire [3:0] coupler_to_slave_named_MaskROM_auto_buffer_in_a_bits_mask; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33969.4]
+  wire  coupler_to_slave_named_MaskROM_auto_buffer_in_a_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33969.4]
+  wire  coupler_to_slave_named_MaskROM_auto_buffer_in_d_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33969.4]
+  wire  coupler_to_slave_named_MaskROM_auto_buffer_in_d_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33969.4]
+  wire [2:0] coupler_to_slave_named_MaskROM_auto_buffer_in_d_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33969.4]
+  wire  coupler_to_slave_named_MaskROM_auto_buffer_in_d_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33969.4]
+  wire [31:0] coupler_to_slave_named_MaskROM_auto_buffer_in_d_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33969.4]
+  wire  coupler_to_slave_named_MaskROM_auto_fragmenter_out_a_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33969.4]
+  wire  coupler_to_slave_named_MaskROM_auto_fragmenter_out_a_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33969.4]
+  wire [2:0] coupler_to_slave_named_MaskROM_auto_fragmenter_out_a_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33969.4]
+  wire [2:0] coupler_to_slave_named_MaskROM_auto_fragmenter_out_a_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33969.4]
+  wire [1:0] coupler_to_slave_named_MaskROM_auto_fragmenter_out_a_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33969.4]
+  wire [5:0] coupler_to_slave_named_MaskROM_auto_fragmenter_out_a_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33969.4]
+  wire [16:0] coupler_to_slave_named_MaskROM_auto_fragmenter_out_a_bits_address; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33969.4]
+  wire [3:0] coupler_to_slave_named_MaskROM_auto_fragmenter_out_a_bits_mask; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33969.4]
+  wire  coupler_to_slave_named_MaskROM_auto_fragmenter_out_a_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33969.4]
+  wire  coupler_to_slave_named_MaskROM_auto_fragmenter_out_d_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33969.4]
+  wire  coupler_to_slave_named_MaskROM_auto_fragmenter_out_d_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33969.4]
+  wire [1:0] coupler_to_slave_named_MaskROM_auto_fragmenter_out_d_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33969.4]
+  wire [5:0] coupler_to_slave_named_MaskROM_auto_fragmenter_out_d_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33969.4]
+  wire [31:0] coupler_to_slave_named_MaskROM_auto_fragmenter_out_d_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33969.4]
+  wire  coupler_to_slave_named_aon_clock; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33975.4]
+  wire  coupler_to_slave_named_aon_reset; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33975.4]
+  wire  coupler_to_slave_named_aon_auto_buffer_in_a_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33975.4]
+  wire  coupler_to_slave_named_aon_auto_buffer_in_a_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33975.4]
+  wire [2:0] coupler_to_slave_named_aon_auto_buffer_in_a_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33975.4]
+  wire [2:0] coupler_to_slave_named_aon_auto_buffer_in_a_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33975.4]
+  wire [2:0] coupler_to_slave_named_aon_auto_buffer_in_a_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33975.4]
+  wire  coupler_to_slave_named_aon_auto_buffer_in_a_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33975.4]
+  wire [28:0] coupler_to_slave_named_aon_auto_buffer_in_a_bits_address; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33975.4]
+  wire [3:0] coupler_to_slave_named_aon_auto_buffer_in_a_bits_mask; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33975.4]
+  wire [31:0] coupler_to_slave_named_aon_auto_buffer_in_a_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33975.4]
+  wire  coupler_to_slave_named_aon_auto_buffer_in_a_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33975.4]
+  wire  coupler_to_slave_named_aon_auto_buffer_in_d_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33975.4]
+  wire  coupler_to_slave_named_aon_auto_buffer_in_d_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33975.4]
+  wire [2:0] coupler_to_slave_named_aon_auto_buffer_in_d_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33975.4]
+  wire [1:0] coupler_to_slave_named_aon_auto_buffer_in_d_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33975.4]
+  wire [2:0] coupler_to_slave_named_aon_auto_buffer_in_d_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33975.4]
+  wire  coupler_to_slave_named_aon_auto_buffer_in_d_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33975.4]
+  wire  coupler_to_slave_named_aon_auto_buffer_in_d_bits_sink; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33975.4]
+  wire  coupler_to_slave_named_aon_auto_buffer_in_d_bits_denied; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33975.4]
+  wire [31:0] coupler_to_slave_named_aon_auto_buffer_in_d_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33975.4]
+  wire  coupler_to_slave_named_aon_auto_buffer_in_d_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33975.4]
+  wire [2:0] coupler_to_slave_named_aon_auto_asource_out_a_mem_0_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33975.4]
+  wire [2:0] coupler_to_slave_named_aon_auto_asource_out_a_mem_0_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33975.4]
+  wire [1:0] coupler_to_slave_named_aon_auto_asource_out_a_mem_0_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33975.4]
+  wire [5:0] coupler_to_slave_named_aon_auto_asource_out_a_mem_0_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33975.4]
+  wire [28:0] coupler_to_slave_named_aon_auto_asource_out_a_mem_0_address; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33975.4]
+  wire [3:0] coupler_to_slave_named_aon_auto_asource_out_a_mem_0_mask; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33975.4]
+  wire [31:0] coupler_to_slave_named_aon_auto_asource_out_a_mem_0_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33975.4]
+  wire  coupler_to_slave_named_aon_auto_asource_out_a_mem_0_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33975.4]
+  wire  coupler_to_slave_named_aon_auto_asource_out_a_ridx; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33975.4]
+  wire  coupler_to_slave_named_aon_auto_asource_out_a_widx; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33975.4]
+  wire  coupler_to_slave_named_aon_auto_asource_out_a_safe_ridx_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33975.4]
+  wire  coupler_to_slave_named_aon_auto_asource_out_a_safe_widx_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33975.4]
+  wire  coupler_to_slave_named_aon_auto_asource_out_a_safe_source_reset_n; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33975.4]
+  wire  coupler_to_slave_named_aon_auto_asource_out_a_safe_sink_reset_n; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33975.4]
+  wire [2:0] coupler_to_slave_named_aon_auto_asource_out_d_mem_0_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33975.4]
+  wire [1:0] coupler_to_slave_named_aon_auto_asource_out_d_mem_0_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33975.4]
+  wire [1:0] coupler_to_slave_named_aon_auto_asource_out_d_mem_0_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33975.4]
+  wire [5:0] coupler_to_slave_named_aon_auto_asource_out_d_mem_0_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33975.4]
+  wire  coupler_to_slave_named_aon_auto_asource_out_d_mem_0_sink; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33975.4]
+  wire  coupler_to_slave_named_aon_auto_asource_out_d_mem_0_denied; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33975.4]
+  wire [31:0] coupler_to_slave_named_aon_auto_asource_out_d_mem_0_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33975.4]
+  wire  coupler_to_slave_named_aon_auto_asource_out_d_mem_0_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33975.4]
+  wire  coupler_to_slave_named_aon_auto_asource_out_d_ridx; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33975.4]
+  wire  coupler_to_slave_named_aon_auto_asource_out_d_widx; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33975.4]
+  wire  coupler_to_slave_named_aon_auto_asource_out_d_safe_ridx_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33975.4]
+  wire  coupler_to_slave_named_aon_auto_asource_out_d_safe_widx_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33975.4]
+  wire  coupler_to_slave_named_aon_auto_asource_out_d_safe_source_reset_n; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33975.4]
+  wire  coupler_to_slave_named_aon_auto_asource_out_d_safe_sink_reset_n; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33975.4]
+  TLXbar_1 in_xbar ( // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@33903.4]
+    .clock(in_xbar_clock),
+    .reset(in_xbar_reset),
+    .auto_in_a_ready(in_xbar_auto_in_a_ready),
+    .auto_in_a_valid(in_xbar_auto_in_a_valid),
+    .auto_in_a_bits_opcode(in_xbar_auto_in_a_bits_opcode),
+    .auto_in_a_bits_param(in_xbar_auto_in_a_bits_param),
+    .auto_in_a_bits_size(in_xbar_auto_in_a_bits_size),
+    .auto_in_a_bits_source(in_xbar_auto_in_a_bits_source),
+    .auto_in_a_bits_address(in_xbar_auto_in_a_bits_address),
+    .auto_in_a_bits_mask(in_xbar_auto_in_a_bits_mask),
+    .auto_in_a_bits_data(in_xbar_auto_in_a_bits_data),
+    .auto_in_a_bits_corrupt(in_xbar_auto_in_a_bits_corrupt),
+    .auto_in_d_ready(in_xbar_auto_in_d_ready),
+    .auto_in_d_valid(in_xbar_auto_in_d_valid),
+    .auto_in_d_bits_opcode(in_xbar_auto_in_d_bits_opcode),
+    .auto_in_d_bits_param(in_xbar_auto_in_d_bits_param),
+    .auto_in_d_bits_size(in_xbar_auto_in_d_bits_size),
+    .auto_in_d_bits_source(in_xbar_auto_in_d_bits_source),
+    .auto_in_d_bits_sink(in_xbar_auto_in_d_bits_sink),
+    .auto_in_d_bits_denied(in_xbar_auto_in_d_bits_denied),
+    .auto_in_d_bits_data(in_xbar_auto_in_d_bits_data),
+    .auto_in_d_bits_corrupt(in_xbar_auto_in_d_bits_corrupt),
+    .auto_out_a_ready(in_xbar_auto_out_a_ready),
+    .auto_out_a_valid(in_xbar_auto_out_a_valid),
+    .auto_out_a_bits_opcode(in_xbar_auto_out_a_bits_opcode),
+    .auto_out_a_bits_param(in_xbar_auto_out_a_bits_param),
+    .auto_out_a_bits_size(in_xbar_auto_out_a_bits_size),
+    .auto_out_a_bits_source(in_xbar_auto_out_a_bits_source),
+    .auto_out_a_bits_address(in_xbar_auto_out_a_bits_address),
+    .auto_out_a_bits_mask(in_xbar_auto_out_a_bits_mask),
+    .auto_out_a_bits_data(in_xbar_auto_out_a_bits_data),
+    .auto_out_a_bits_corrupt(in_xbar_auto_out_a_bits_corrupt),
+    .auto_out_d_ready(in_xbar_auto_out_d_ready),
+    .auto_out_d_valid(in_xbar_auto_out_d_valid),
+    .auto_out_d_bits_opcode(in_xbar_auto_out_d_bits_opcode),
+    .auto_out_d_bits_param(in_xbar_auto_out_d_bits_param),
+    .auto_out_d_bits_size(in_xbar_auto_out_d_bits_size),
+    .auto_out_d_bits_source(in_xbar_auto_out_d_bits_source),
+    .auto_out_d_bits_sink(in_xbar_auto_out_d_bits_sink),
+    .auto_out_d_bits_denied(in_xbar_auto_out_d_bits_denied),
+    .auto_out_d_bits_data(in_xbar_auto_out_d_bits_data),
+    .auto_out_d_bits_corrupt(in_xbar_auto_out_d_bits_corrupt)
+  );
+  TLXbar_2 out_xbar ( // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
+    .clock(out_xbar_clock),
+    .reset(out_xbar_reset),
+    .auto_in_a_ready(out_xbar_auto_in_a_ready),
+    .auto_in_a_valid(out_xbar_auto_in_a_valid),
+    .auto_in_a_bits_opcode(out_xbar_auto_in_a_bits_opcode),
+    .auto_in_a_bits_param(out_xbar_auto_in_a_bits_param),
+    .auto_in_a_bits_size(out_xbar_auto_in_a_bits_size),
+    .auto_in_a_bits_source(out_xbar_auto_in_a_bits_source),
+    .auto_in_a_bits_address(out_xbar_auto_in_a_bits_address),
+    .auto_in_a_bits_mask(out_xbar_auto_in_a_bits_mask),
+    .auto_in_a_bits_data(out_xbar_auto_in_a_bits_data),
+    .auto_in_a_bits_corrupt(out_xbar_auto_in_a_bits_corrupt),
+    .auto_in_d_ready(out_xbar_auto_in_d_ready),
+    .auto_in_d_valid(out_xbar_auto_in_d_valid),
+    .auto_in_d_bits_opcode(out_xbar_auto_in_d_bits_opcode),
+    .auto_in_d_bits_param(out_xbar_auto_in_d_bits_param),
+    .auto_in_d_bits_size(out_xbar_auto_in_d_bits_size),
+    .auto_in_d_bits_source(out_xbar_auto_in_d_bits_source),
+    .auto_in_d_bits_sink(out_xbar_auto_in_d_bits_sink),
+    .auto_in_d_bits_denied(out_xbar_auto_in_d_bits_denied),
+    .auto_in_d_bits_data(out_xbar_auto_in_d_bits_data),
+    .auto_in_d_bits_corrupt(out_xbar_auto_in_d_bits_corrupt),
+    .auto_out_6_a_ready(out_xbar_auto_out_6_a_ready),
+    .auto_out_6_a_valid(out_xbar_auto_out_6_a_valid),
+    .auto_out_6_a_bits_opcode(out_xbar_auto_out_6_a_bits_opcode),
+    .auto_out_6_a_bits_param(out_xbar_auto_out_6_a_bits_param),
+    .auto_out_6_a_bits_size(out_xbar_auto_out_6_a_bits_size),
+    .auto_out_6_a_bits_source(out_xbar_auto_out_6_a_bits_source),
+    .auto_out_6_a_bits_address(out_xbar_auto_out_6_a_bits_address),
+    .auto_out_6_a_bits_mask(out_xbar_auto_out_6_a_bits_mask),
+    .auto_out_6_a_bits_data(out_xbar_auto_out_6_a_bits_data),
+    .auto_out_6_a_bits_corrupt(out_xbar_auto_out_6_a_bits_corrupt),
+    .auto_out_6_d_ready(out_xbar_auto_out_6_d_ready),
+    .auto_out_6_d_valid(out_xbar_auto_out_6_d_valid),
+    .auto_out_6_d_bits_opcode(out_xbar_auto_out_6_d_bits_opcode),
+    .auto_out_6_d_bits_param(out_xbar_auto_out_6_d_bits_param),
+    .auto_out_6_d_bits_size(out_xbar_auto_out_6_d_bits_size),
+    .auto_out_6_d_bits_source(out_xbar_auto_out_6_d_bits_source),
+    .auto_out_6_d_bits_sink(out_xbar_auto_out_6_d_bits_sink),
+    .auto_out_6_d_bits_denied(out_xbar_auto_out_6_d_bits_denied),
+    .auto_out_6_d_bits_data(out_xbar_auto_out_6_d_bits_data),
+    .auto_out_6_d_bits_corrupt(out_xbar_auto_out_6_d_bits_corrupt),
+    .auto_out_5_a_ready(out_xbar_auto_out_5_a_ready),
+    .auto_out_5_a_valid(out_xbar_auto_out_5_a_valid),
+    .auto_out_5_a_bits_opcode(out_xbar_auto_out_5_a_bits_opcode),
+    .auto_out_5_a_bits_param(out_xbar_auto_out_5_a_bits_param),
+    .auto_out_5_a_bits_size(out_xbar_auto_out_5_a_bits_size),
+    .auto_out_5_a_bits_source(out_xbar_auto_out_5_a_bits_source),
+    .auto_out_5_a_bits_address(out_xbar_auto_out_5_a_bits_address),
+    .auto_out_5_a_bits_mask(out_xbar_auto_out_5_a_bits_mask),
+    .auto_out_5_a_bits_corrupt(out_xbar_auto_out_5_a_bits_corrupt),
+    .auto_out_5_d_ready(out_xbar_auto_out_5_d_ready),
+    .auto_out_5_d_valid(out_xbar_auto_out_5_d_valid),
+    .auto_out_5_d_bits_size(out_xbar_auto_out_5_d_bits_size),
+    .auto_out_5_d_bits_source(out_xbar_auto_out_5_d_bits_source),
+    .auto_out_5_d_bits_data(out_xbar_auto_out_5_d_bits_data),
+    .auto_out_4_a_ready(out_xbar_auto_out_4_a_ready),
+    .auto_out_4_a_valid(out_xbar_auto_out_4_a_valid),
+    .auto_out_4_a_bits_opcode(out_xbar_auto_out_4_a_bits_opcode),
+    .auto_out_4_a_bits_param(out_xbar_auto_out_4_a_bits_param),
+    .auto_out_4_a_bits_size(out_xbar_auto_out_4_a_bits_size),
+    .auto_out_4_a_bits_source(out_xbar_auto_out_4_a_bits_source),
+    .auto_out_4_a_bits_address(out_xbar_auto_out_4_a_bits_address),
+    .auto_out_4_a_bits_mask(out_xbar_auto_out_4_a_bits_mask),
+    .auto_out_4_a_bits_data(out_xbar_auto_out_4_a_bits_data),
+    .auto_out_4_a_bits_corrupt(out_xbar_auto_out_4_a_bits_corrupt),
+    .auto_out_4_d_ready(out_xbar_auto_out_4_d_ready),
+    .auto_out_4_d_valid(out_xbar_auto_out_4_d_valid),
+    .auto_out_4_d_bits_opcode(out_xbar_auto_out_4_d_bits_opcode),
+    .auto_out_4_d_bits_param(out_xbar_auto_out_4_d_bits_param),
+    .auto_out_4_d_bits_size(out_xbar_auto_out_4_d_bits_size),
+    .auto_out_4_d_bits_source(out_xbar_auto_out_4_d_bits_source),
+    .auto_out_4_d_bits_sink(out_xbar_auto_out_4_d_bits_sink),
+    .auto_out_4_d_bits_denied(out_xbar_auto_out_4_d_bits_denied),
+    .auto_out_4_d_bits_data(out_xbar_auto_out_4_d_bits_data),
+    .auto_out_4_d_bits_corrupt(out_xbar_auto_out_4_d_bits_corrupt),
+    .auto_out_3_a_ready(out_xbar_auto_out_3_a_ready),
+    .auto_out_3_a_valid(out_xbar_auto_out_3_a_valid),
+    .auto_out_3_a_bits_opcode(out_xbar_auto_out_3_a_bits_opcode),
+    .auto_out_3_a_bits_param(out_xbar_auto_out_3_a_bits_param),
+    .auto_out_3_a_bits_size(out_xbar_auto_out_3_a_bits_size),
+    .auto_out_3_a_bits_source(out_xbar_auto_out_3_a_bits_source),
+    .auto_out_3_a_bits_address(out_xbar_auto_out_3_a_bits_address),
+    .auto_out_3_a_bits_mask(out_xbar_auto_out_3_a_bits_mask),
+    .auto_out_3_a_bits_data(out_xbar_auto_out_3_a_bits_data),
+    .auto_out_3_a_bits_corrupt(out_xbar_auto_out_3_a_bits_corrupt),
+    .auto_out_3_d_ready(out_xbar_auto_out_3_d_ready),
+    .auto_out_3_d_valid(out_xbar_auto_out_3_d_valid),
+    .auto_out_3_d_bits_opcode(out_xbar_auto_out_3_d_bits_opcode),
+    .auto_out_3_d_bits_size(out_xbar_auto_out_3_d_bits_size),
+    .auto_out_3_d_bits_source(out_xbar_auto_out_3_d_bits_source),
+    .auto_out_3_d_bits_data(out_xbar_auto_out_3_d_bits_data),
+    .auto_out_2_a_ready(out_xbar_auto_out_2_a_ready),
+    .auto_out_2_a_valid(out_xbar_auto_out_2_a_valid),
+    .auto_out_2_a_bits_opcode(out_xbar_auto_out_2_a_bits_opcode),
+    .auto_out_2_a_bits_param(out_xbar_auto_out_2_a_bits_param),
+    .auto_out_2_a_bits_size(out_xbar_auto_out_2_a_bits_size),
+    .auto_out_2_a_bits_source(out_xbar_auto_out_2_a_bits_source),
+    .auto_out_2_a_bits_address(out_xbar_auto_out_2_a_bits_address),
+    .auto_out_2_a_bits_mask(out_xbar_auto_out_2_a_bits_mask),
+    .auto_out_2_a_bits_data(out_xbar_auto_out_2_a_bits_data),
+    .auto_out_2_a_bits_corrupt(out_xbar_auto_out_2_a_bits_corrupt),
+    .auto_out_2_d_ready(out_xbar_auto_out_2_d_ready),
+    .auto_out_2_d_valid(out_xbar_auto_out_2_d_valid),
+    .auto_out_2_d_bits_opcode(out_xbar_auto_out_2_d_bits_opcode),
+    .auto_out_2_d_bits_size(out_xbar_auto_out_2_d_bits_size),
+    .auto_out_2_d_bits_source(out_xbar_auto_out_2_d_bits_source),
+    .auto_out_2_d_bits_data(out_xbar_auto_out_2_d_bits_data),
+    .auto_out_1_a_ready(out_xbar_auto_out_1_a_ready),
+    .auto_out_1_a_valid(out_xbar_auto_out_1_a_valid),
+    .auto_out_1_a_bits_opcode(out_xbar_auto_out_1_a_bits_opcode),
+    .auto_out_1_a_bits_param(out_xbar_auto_out_1_a_bits_param),
+    .auto_out_1_a_bits_size(out_xbar_auto_out_1_a_bits_size),
+    .auto_out_1_a_bits_source(out_xbar_auto_out_1_a_bits_source),
+    .auto_out_1_a_bits_address(out_xbar_auto_out_1_a_bits_address),
+    .auto_out_1_a_bits_mask(out_xbar_auto_out_1_a_bits_mask),
+    .auto_out_1_a_bits_data(out_xbar_auto_out_1_a_bits_data),
+    .auto_out_1_a_bits_corrupt(out_xbar_auto_out_1_a_bits_corrupt),
+    .auto_out_1_d_ready(out_xbar_auto_out_1_d_ready),
+    .auto_out_1_d_valid(out_xbar_auto_out_1_d_valid),
+    .auto_out_1_d_bits_opcode(out_xbar_auto_out_1_d_bits_opcode),
+    .auto_out_1_d_bits_size(out_xbar_auto_out_1_d_bits_size),
+    .auto_out_1_d_bits_source(out_xbar_auto_out_1_d_bits_source),
+    .auto_out_1_d_bits_data(out_xbar_auto_out_1_d_bits_data),
+    .auto_out_0_a_ready(out_xbar_auto_out_0_a_ready),
+    .auto_out_0_a_valid(out_xbar_auto_out_0_a_valid),
+    .auto_out_0_a_bits_opcode(out_xbar_auto_out_0_a_bits_opcode),
+    .auto_out_0_a_bits_param(out_xbar_auto_out_0_a_bits_param),
+    .auto_out_0_a_bits_size(out_xbar_auto_out_0_a_bits_size),
+    .auto_out_0_a_bits_source(out_xbar_auto_out_0_a_bits_source),
+    .auto_out_0_a_bits_address(out_xbar_auto_out_0_a_bits_address),
+    .auto_out_0_a_bits_mask(out_xbar_auto_out_0_a_bits_mask),
+    .auto_out_0_a_bits_data(out_xbar_auto_out_0_a_bits_data),
+    .auto_out_0_a_bits_corrupt(out_xbar_auto_out_0_a_bits_corrupt),
+    .auto_out_0_d_ready(out_xbar_auto_out_0_d_ready),
+    .auto_out_0_d_valid(out_xbar_auto_out_0_d_valid),
+    .auto_out_0_d_bits_opcode(out_xbar_auto_out_0_d_bits_opcode),
+    .auto_out_0_d_bits_param(out_xbar_auto_out_0_d_bits_param),
+    .auto_out_0_d_bits_size(out_xbar_auto_out_0_d_bits_size),
+    .auto_out_0_d_bits_source(out_xbar_auto_out_0_d_bits_source),
+    .auto_out_0_d_bits_sink(out_xbar_auto_out_0_d_bits_sink),
+    .auto_out_0_d_bits_denied(out_xbar_auto_out_0_d_bits_denied),
+    .auto_out_0_d_bits_data(out_xbar_auto_out_0_d_bits_data),
+    .auto_out_0_d_bits_corrupt(out_xbar_auto_out_0_d_bits_corrupt)
+  );
+  TLBuffer buffer ( // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33915.4]
+    .clock(buffer_clock),
+    .reset(buffer_reset),
+    .auto_in_a_ready(buffer_auto_in_a_ready),
+    .auto_in_a_valid(buffer_auto_in_a_valid),
+    .auto_in_a_bits_opcode(buffer_auto_in_a_bits_opcode),
+    .auto_in_a_bits_param(buffer_auto_in_a_bits_param),
+    .auto_in_a_bits_size(buffer_auto_in_a_bits_size),
+    .auto_in_a_bits_source(buffer_auto_in_a_bits_source),
+    .auto_in_a_bits_address(buffer_auto_in_a_bits_address),
+    .auto_in_a_bits_mask(buffer_auto_in_a_bits_mask),
+    .auto_in_a_bits_data(buffer_auto_in_a_bits_data),
+    .auto_in_a_bits_corrupt(buffer_auto_in_a_bits_corrupt),
+    .auto_in_d_ready(buffer_auto_in_d_ready),
+    .auto_in_d_valid(buffer_auto_in_d_valid),
+    .auto_in_d_bits_opcode(buffer_auto_in_d_bits_opcode),
+    .auto_in_d_bits_param(buffer_auto_in_d_bits_param),
+    .auto_in_d_bits_size(buffer_auto_in_d_bits_size),
+    .auto_in_d_bits_source(buffer_auto_in_d_bits_source),
+    .auto_in_d_bits_sink(buffer_auto_in_d_bits_sink),
+    .auto_in_d_bits_denied(buffer_auto_in_d_bits_denied),
+    .auto_in_d_bits_data(buffer_auto_in_d_bits_data),
+    .auto_in_d_bits_corrupt(buffer_auto_in_d_bits_corrupt),
+    .auto_out_a_ready(buffer_auto_out_a_ready),
+    .auto_out_a_valid(buffer_auto_out_a_valid),
+    .auto_out_a_bits_opcode(buffer_auto_out_a_bits_opcode),
+    .auto_out_a_bits_param(buffer_auto_out_a_bits_param),
+    .auto_out_a_bits_size(buffer_auto_out_a_bits_size),
+    .auto_out_a_bits_source(buffer_auto_out_a_bits_source),
+    .auto_out_a_bits_address(buffer_auto_out_a_bits_address),
+    .auto_out_a_bits_mask(buffer_auto_out_a_bits_mask),
+    .auto_out_a_bits_data(buffer_auto_out_a_bits_data),
+    .auto_out_a_bits_corrupt(buffer_auto_out_a_bits_corrupt),
+    .auto_out_d_ready(buffer_auto_out_d_ready),
+    .auto_out_d_valid(buffer_auto_out_d_valid),
+    .auto_out_d_bits_opcode(buffer_auto_out_d_bits_opcode),
+    .auto_out_d_bits_param(buffer_auto_out_d_bits_param),
+    .auto_out_d_bits_size(buffer_auto_out_d_bits_size),
+    .auto_out_d_bits_source(buffer_auto_out_d_bits_source),
+    .auto_out_d_bits_sink(buffer_auto_out_d_bits_sink),
+    .auto_out_d_bits_denied(buffer_auto_out_d_bits_denied),
+    .auto_out_d_bits_data(buffer_auto_out_d_bits_data),
+    .auto_out_d_bits_corrupt(buffer_auto_out_d_bits_corrupt)
+  );
+  TLAtomicAutomata atomics ( // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33921.4]
+    .clock(atomics_clock),
+    .reset(atomics_reset),
+    .auto_in_a_ready(atomics_auto_in_a_ready),
+    .auto_in_a_valid(atomics_auto_in_a_valid),
+    .auto_in_a_bits_opcode(atomics_auto_in_a_bits_opcode),
+    .auto_in_a_bits_param(atomics_auto_in_a_bits_param),
+    .auto_in_a_bits_size(atomics_auto_in_a_bits_size),
+    .auto_in_a_bits_source(atomics_auto_in_a_bits_source),
+    .auto_in_a_bits_address(atomics_auto_in_a_bits_address),
+    .auto_in_a_bits_mask(atomics_auto_in_a_bits_mask),
+    .auto_in_a_bits_data(atomics_auto_in_a_bits_data),
+    .auto_in_a_bits_corrupt(atomics_auto_in_a_bits_corrupt),
+    .auto_in_d_ready(atomics_auto_in_d_ready),
+    .auto_in_d_valid(atomics_auto_in_d_valid),
+    .auto_in_d_bits_opcode(atomics_auto_in_d_bits_opcode),
+    .auto_in_d_bits_param(atomics_auto_in_d_bits_param),
+    .auto_in_d_bits_size(atomics_auto_in_d_bits_size),
+    .auto_in_d_bits_source(atomics_auto_in_d_bits_source),
+    .auto_in_d_bits_sink(atomics_auto_in_d_bits_sink),
+    .auto_in_d_bits_denied(atomics_auto_in_d_bits_denied),
+    .auto_in_d_bits_data(atomics_auto_in_d_bits_data),
+    .auto_in_d_bits_corrupt(atomics_auto_in_d_bits_corrupt),
+    .auto_out_a_ready(atomics_auto_out_a_ready),
+    .auto_out_a_valid(atomics_auto_out_a_valid),
+    .auto_out_a_bits_opcode(atomics_auto_out_a_bits_opcode),
+    .auto_out_a_bits_param(atomics_auto_out_a_bits_param),
+    .auto_out_a_bits_size(atomics_auto_out_a_bits_size),
+    .auto_out_a_bits_source(atomics_auto_out_a_bits_source),
+    .auto_out_a_bits_address(atomics_auto_out_a_bits_address),
+    .auto_out_a_bits_mask(atomics_auto_out_a_bits_mask),
+    .auto_out_a_bits_data(atomics_auto_out_a_bits_data),
+    .auto_out_a_bits_corrupt(atomics_auto_out_a_bits_corrupt),
+    .auto_out_d_ready(atomics_auto_out_d_ready),
+    .auto_out_d_valid(atomics_auto_out_d_valid),
+    .auto_out_d_bits_opcode(atomics_auto_out_d_bits_opcode),
+    .auto_out_d_bits_param(atomics_auto_out_d_bits_param),
+    .auto_out_d_bits_size(atomics_auto_out_d_bits_size),
+    .auto_out_d_bits_source(atomics_auto_out_d_bits_source),
+    .auto_out_d_bits_sink(atomics_auto_out_d_bits_sink),
+    .auto_out_d_bits_denied(atomics_auto_out_d_bits_denied),
+    .auto_out_d_bits_data(atomics_auto_out_d_bits_data),
+    .auto_out_d_bits_corrupt(atomics_auto_out_d_bits_corrupt)
+  );
+  TLBuffer_1 buffer_1 ( // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33933.4]
+    .clock(buffer_1_clock),
+    .reset(buffer_1_reset),
+    .auto_in_a_ready(buffer_1_auto_in_a_ready),
+    .auto_in_a_valid(buffer_1_auto_in_a_valid),
+    .auto_in_a_bits_opcode(buffer_1_auto_in_a_bits_opcode),
+    .auto_in_a_bits_param(buffer_1_auto_in_a_bits_param),
+    .auto_in_a_bits_size(buffer_1_auto_in_a_bits_size),
+    .auto_in_a_bits_source(buffer_1_auto_in_a_bits_source),
+    .auto_in_a_bits_address(buffer_1_auto_in_a_bits_address),
+    .auto_in_a_bits_mask(buffer_1_auto_in_a_bits_mask),
+    .auto_in_a_bits_data(buffer_1_auto_in_a_bits_data),
+    .auto_in_a_bits_corrupt(buffer_1_auto_in_a_bits_corrupt),
+    .auto_in_d_ready(buffer_1_auto_in_d_ready),
+    .auto_in_d_valid(buffer_1_auto_in_d_valid),
+    .auto_in_d_bits_opcode(buffer_1_auto_in_d_bits_opcode),
+    .auto_in_d_bits_param(buffer_1_auto_in_d_bits_param),
+    .auto_in_d_bits_size(buffer_1_auto_in_d_bits_size),
+    .auto_in_d_bits_source(buffer_1_auto_in_d_bits_source),
+    .auto_in_d_bits_sink(buffer_1_auto_in_d_bits_sink),
+    .auto_in_d_bits_denied(buffer_1_auto_in_d_bits_denied),
+    .auto_in_d_bits_data(buffer_1_auto_in_d_bits_data),
+    .auto_in_d_bits_corrupt(buffer_1_auto_in_d_bits_corrupt),
+    .auto_out_a_ready(buffer_1_auto_out_a_ready),
+    .auto_out_a_valid(buffer_1_auto_out_a_valid),
+    .auto_out_a_bits_opcode(buffer_1_auto_out_a_bits_opcode),
+    .auto_out_a_bits_param(buffer_1_auto_out_a_bits_param),
+    .auto_out_a_bits_size(buffer_1_auto_out_a_bits_size),
+    .auto_out_a_bits_source(buffer_1_auto_out_a_bits_source),
+    .auto_out_a_bits_address(buffer_1_auto_out_a_bits_address),
+    .auto_out_a_bits_mask(buffer_1_auto_out_a_bits_mask),
+    .auto_out_a_bits_data(buffer_1_auto_out_a_bits_data),
+    .auto_out_a_bits_corrupt(buffer_1_auto_out_a_bits_corrupt),
+    .auto_out_d_ready(buffer_1_auto_out_d_ready),
+    .auto_out_d_valid(buffer_1_auto_out_d_valid),
+    .auto_out_d_bits_opcode(buffer_1_auto_out_d_bits_opcode),
+    .auto_out_d_bits_param(buffer_1_auto_out_d_bits_param),
+    .auto_out_d_bits_size(buffer_1_auto_out_d_bits_size),
+    .auto_out_d_bits_source(buffer_1_auto_out_d_bits_source),
+    .auto_out_d_bits_sink(buffer_1_auto_out_d_bits_sink),
+    .auto_out_d_bits_denied(buffer_1_auto_out_d_bits_denied),
+    .auto_out_d_bits_data(buffer_1_auto_out_d_bits_data),
+    .auto_out_d_bits_corrupt(buffer_1_auto_out_d_bits_corrupt)
+  );
+  SimpleLazyModule_1 coupler_to_bus_named_pbus ( // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33939.4]
+    .clock(coupler_to_bus_named_pbus_clock),
+    .reset(coupler_to_bus_named_pbus_reset),
+    .auto_widget_in_a_ready(coupler_to_bus_named_pbus_auto_widget_in_a_ready),
+    .auto_widget_in_a_valid(coupler_to_bus_named_pbus_auto_widget_in_a_valid),
+    .auto_widget_in_a_bits_opcode(coupler_to_bus_named_pbus_auto_widget_in_a_bits_opcode),
+    .auto_widget_in_a_bits_param(coupler_to_bus_named_pbus_auto_widget_in_a_bits_param),
+    .auto_widget_in_a_bits_size(coupler_to_bus_named_pbus_auto_widget_in_a_bits_size),
+    .auto_widget_in_a_bits_source(coupler_to_bus_named_pbus_auto_widget_in_a_bits_source),
+    .auto_widget_in_a_bits_address(coupler_to_bus_named_pbus_auto_widget_in_a_bits_address),
+    .auto_widget_in_a_bits_mask(coupler_to_bus_named_pbus_auto_widget_in_a_bits_mask),
+    .auto_widget_in_a_bits_data(coupler_to_bus_named_pbus_auto_widget_in_a_bits_data),
+    .auto_widget_in_a_bits_corrupt(coupler_to_bus_named_pbus_auto_widget_in_a_bits_corrupt),
+    .auto_widget_in_d_ready(coupler_to_bus_named_pbus_auto_widget_in_d_ready),
+    .auto_widget_in_d_valid(coupler_to_bus_named_pbus_auto_widget_in_d_valid),
+    .auto_widget_in_d_bits_opcode(coupler_to_bus_named_pbus_auto_widget_in_d_bits_opcode),
+    .auto_widget_in_d_bits_param(coupler_to_bus_named_pbus_auto_widget_in_d_bits_param),
+    .auto_widget_in_d_bits_size(coupler_to_bus_named_pbus_auto_widget_in_d_bits_size),
+    .auto_widget_in_d_bits_source(coupler_to_bus_named_pbus_auto_widget_in_d_bits_source),
+    .auto_widget_in_d_bits_sink(coupler_to_bus_named_pbus_auto_widget_in_d_bits_sink),
+    .auto_widget_in_d_bits_denied(coupler_to_bus_named_pbus_auto_widget_in_d_bits_denied),
+    .auto_widget_in_d_bits_data(coupler_to_bus_named_pbus_auto_widget_in_d_bits_data),
+    .auto_widget_in_d_bits_corrupt(coupler_to_bus_named_pbus_auto_widget_in_d_bits_corrupt),
+    .auto_from_cbus_out_a_ready(coupler_to_bus_named_pbus_auto_from_cbus_out_a_ready),
+    .auto_from_cbus_out_a_valid(coupler_to_bus_named_pbus_auto_from_cbus_out_a_valid),
+    .auto_from_cbus_out_a_bits_opcode(coupler_to_bus_named_pbus_auto_from_cbus_out_a_bits_opcode),
+    .auto_from_cbus_out_a_bits_param(coupler_to_bus_named_pbus_auto_from_cbus_out_a_bits_param),
+    .auto_from_cbus_out_a_bits_size(coupler_to_bus_named_pbus_auto_from_cbus_out_a_bits_size),
+    .auto_from_cbus_out_a_bits_source(coupler_to_bus_named_pbus_auto_from_cbus_out_a_bits_source),
+    .auto_from_cbus_out_a_bits_address(coupler_to_bus_named_pbus_auto_from_cbus_out_a_bits_address),
+    .auto_from_cbus_out_a_bits_mask(coupler_to_bus_named_pbus_auto_from_cbus_out_a_bits_mask),
+    .auto_from_cbus_out_a_bits_data(coupler_to_bus_named_pbus_auto_from_cbus_out_a_bits_data),
+    .auto_from_cbus_out_a_bits_corrupt(coupler_to_bus_named_pbus_auto_from_cbus_out_a_bits_corrupt),
+    .auto_from_cbus_out_d_ready(coupler_to_bus_named_pbus_auto_from_cbus_out_d_ready),
+    .auto_from_cbus_out_d_valid(coupler_to_bus_named_pbus_auto_from_cbus_out_d_valid),
+    .auto_from_cbus_out_d_bits_opcode(coupler_to_bus_named_pbus_auto_from_cbus_out_d_bits_opcode),
+    .auto_from_cbus_out_d_bits_param(coupler_to_bus_named_pbus_auto_from_cbus_out_d_bits_param),
+    .auto_from_cbus_out_d_bits_size(coupler_to_bus_named_pbus_auto_from_cbus_out_d_bits_size),
+    .auto_from_cbus_out_d_bits_source(coupler_to_bus_named_pbus_auto_from_cbus_out_d_bits_source),
+    .auto_from_cbus_out_d_bits_sink(coupler_to_bus_named_pbus_auto_from_cbus_out_d_bits_sink),
+    .auto_from_cbus_out_d_bits_denied(coupler_to_bus_named_pbus_auto_from_cbus_out_d_bits_denied),
+    .auto_from_cbus_out_d_bits_data(coupler_to_bus_named_pbus_auto_from_cbus_out_d_bits_data),
+    .auto_from_cbus_out_d_bits_corrupt(coupler_to_bus_named_pbus_auto_from_cbus_out_d_bits_corrupt)
+  );
+  SimpleLazyModule_2 coupler_to_slave_named_plic ( // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33945.4]
+    .clock(coupler_to_slave_named_plic_clock),
+    .reset(coupler_to_slave_named_plic_reset),
+    .auto_buffer_in_a_ready(coupler_to_slave_named_plic_auto_buffer_in_a_ready),
+    .auto_buffer_in_a_valid(coupler_to_slave_named_plic_auto_buffer_in_a_valid),
+    .auto_buffer_in_a_bits_opcode(coupler_to_slave_named_plic_auto_buffer_in_a_bits_opcode),
+    .auto_buffer_in_a_bits_param(coupler_to_slave_named_plic_auto_buffer_in_a_bits_param),
+    .auto_buffer_in_a_bits_size(coupler_to_slave_named_plic_auto_buffer_in_a_bits_size),
+    .auto_buffer_in_a_bits_source(coupler_to_slave_named_plic_auto_buffer_in_a_bits_source),
+    .auto_buffer_in_a_bits_address(coupler_to_slave_named_plic_auto_buffer_in_a_bits_address),
+    .auto_buffer_in_a_bits_mask(coupler_to_slave_named_plic_auto_buffer_in_a_bits_mask),
+    .auto_buffer_in_a_bits_data(coupler_to_slave_named_plic_auto_buffer_in_a_bits_data),
+    .auto_buffer_in_a_bits_corrupt(coupler_to_slave_named_plic_auto_buffer_in_a_bits_corrupt),
+    .auto_buffer_in_d_ready(coupler_to_slave_named_plic_auto_buffer_in_d_ready),
+    .auto_buffer_in_d_valid(coupler_to_slave_named_plic_auto_buffer_in_d_valid),
+    .auto_buffer_in_d_bits_opcode(coupler_to_slave_named_plic_auto_buffer_in_d_bits_opcode),
+    .auto_buffer_in_d_bits_size(coupler_to_slave_named_plic_auto_buffer_in_d_bits_size),
+    .auto_buffer_in_d_bits_source(coupler_to_slave_named_plic_auto_buffer_in_d_bits_source),
+    .auto_buffer_in_d_bits_data(coupler_to_slave_named_plic_auto_buffer_in_d_bits_data),
+    .auto_fragmenter_out_a_ready(coupler_to_slave_named_plic_auto_fragmenter_out_a_ready),
+    .auto_fragmenter_out_a_valid(coupler_to_slave_named_plic_auto_fragmenter_out_a_valid),
+    .auto_fragmenter_out_a_bits_opcode(coupler_to_slave_named_plic_auto_fragmenter_out_a_bits_opcode),
+    .auto_fragmenter_out_a_bits_param(coupler_to_slave_named_plic_auto_fragmenter_out_a_bits_param),
+    .auto_fragmenter_out_a_bits_size(coupler_to_slave_named_plic_auto_fragmenter_out_a_bits_size),
+    .auto_fragmenter_out_a_bits_source(coupler_to_slave_named_plic_auto_fragmenter_out_a_bits_source),
+    .auto_fragmenter_out_a_bits_address(coupler_to_slave_named_plic_auto_fragmenter_out_a_bits_address),
+    .auto_fragmenter_out_a_bits_mask(coupler_to_slave_named_plic_auto_fragmenter_out_a_bits_mask),
+    .auto_fragmenter_out_a_bits_data(coupler_to_slave_named_plic_auto_fragmenter_out_a_bits_data),
+    .auto_fragmenter_out_a_bits_corrupt(coupler_to_slave_named_plic_auto_fragmenter_out_a_bits_corrupt),
+    .auto_fragmenter_out_d_ready(coupler_to_slave_named_plic_auto_fragmenter_out_d_ready),
+    .auto_fragmenter_out_d_valid(coupler_to_slave_named_plic_auto_fragmenter_out_d_valid),
+    .auto_fragmenter_out_d_bits_opcode(coupler_to_slave_named_plic_auto_fragmenter_out_d_bits_opcode),
+    .auto_fragmenter_out_d_bits_size(coupler_to_slave_named_plic_auto_fragmenter_out_d_bits_size),
+    .auto_fragmenter_out_d_bits_source(coupler_to_slave_named_plic_auto_fragmenter_out_d_bits_source),
+    .auto_fragmenter_out_d_bits_data(coupler_to_slave_named_plic_auto_fragmenter_out_d_bits_data)
+  );
+  SimpleLazyModule_3 coupler_to_slave_named_clint ( // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33951.4]
+    .clock(coupler_to_slave_named_clint_clock),
+    .reset(coupler_to_slave_named_clint_reset),
+    .auto_buffer_in_a_ready(coupler_to_slave_named_clint_auto_buffer_in_a_ready),
+    .auto_buffer_in_a_valid(coupler_to_slave_named_clint_auto_buffer_in_a_valid),
+    .auto_buffer_in_a_bits_opcode(coupler_to_slave_named_clint_auto_buffer_in_a_bits_opcode),
+    .auto_buffer_in_a_bits_param(coupler_to_slave_named_clint_auto_buffer_in_a_bits_param),
+    .auto_buffer_in_a_bits_size(coupler_to_slave_named_clint_auto_buffer_in_a_bits_size),
+    .auto_buffer_in_a_bits_source(coupler_to_slave_named_clint_auto_buffer_in_a_bits_source),
+    .auto_buffer_in_a_bits_address(coupler_to_slave_named_clint_auto_buffer_in_a_bits_address),
+    .auto_buffer_in_a_bits_mask(coupler_to_slave_named_clint_auto_buffer_in_a_bits_mask),
+    .auto_buffer_in_a_bits_data(coupler_to_slave_named_clint_auto_buffer_in_a_bits_data),
+    .auto_buffer_in_a_bits_corrupt(coupler_to_slave_named_clint_auto_buffer_in_a_bits_corrupt),
+    .auto_buffer_in_d_ready(coupler_to_slave_named_clint_auto_buffer_in_d_ready),
+    .auto_buffer_in_d_valid(coupler_to_slave_named_clint_auto_buffer_in_d_valid),
+    .auto_buffer_in_d_bits_opcode(coupler_to_slave_named_clint_auto_buffer_in_d_bits_opcode),
+    .auto_buffer_in_d_bits_size(coupler_to_slave_named_clint_auto_buffer_in_d_bits_size),
+    .auto_buffer_in_d_bits_source(coupler_to_slave_named_clint_auto_buffer_in_d_bits_source),
+    .auto_buffer_in_d_bits_data(coupler_to_slave_named_clint_auto_buffer_in_d_bits_data),
+    .auto_fragmenter_out_a_ready(coupler_to_slave_named_clint_auto_fragmenter_out_a_ready),
+    .auto_fragmenter_out_a_valid(coupler_to_slave_named_clint_auto_fragmenter_out_a_valid),
+    .auto_fragmenter_out_a_bits_opcode(coupler_to_slave_named_clint_auto_fragmenter_out_a_bits_opcode),
+    .auto_fragmenter_out_a_bits_param(coupler_to_slave_named_clint_auto_fragmenter_out_a_bits_param),
+    .auto_fragmenter_out_a_bits_size(coupler_to_slave_named_clint_auto_fragmenter_out_a_bits_size),
+    .auto_fragmenter_out_a_bits_source(coupler_to_slave_named_clint_auto_fragmenter_out_a_bits_source),
+    .auto_fragmenter_out_a_bits_address(coupler_to_slave_named_clint_auto_fragmenter_out_a_bits_address),
+    .auto_fragmenter_out_a_bits_mask(coupler_to_slave_named_clint_auto_fragmenter_out_a_bits_mask),
+    .auto_fragmenter_out_a_bits_data(coupler_to_slave_named_clint_auto_fragmenter_out_a_bits_data),
+    .auto_fragmenter_out_a_bits_corrupt(coupler_to_slave_named_clint_auto_fragmenter_out_a_bits_corrupt),
+    .auto_fragmenter_out_d_ready(coupler_to_slave_named_clint_auto_fragmenter_out_d_ready),
+    .auto_fragmenter_out_d_valid(coupler_to_slave_named_clint_auto_fragmenter_out_d_valid),
+    .auto_fragmenter_out_d_bits_opcode(coupler_to_slave_named_clint_auto_fragmenter_out_d_bits_opcode),
+    .auto_fragmenter_out_d_bits_size(coupler_to_slave_named_clint_auto_fragmenter_out_d_bits_size),
+    .auto_fragmenter_out_d_bits_source(coupler_to_slave_named_clint_auto_fragmenter_out_d_bits_source),
+    .auto_fragmenter_out_d_bits_data(coupler_to_slave_named_clint_auto_fragmenter_out_d_bits_data)
+  );
+  SimpleLazyModule_4 coupler_to_slave_named_debug ( // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33957.4]
+    .clock(coupler_to_slave_named_debug_clock),
+    .reset(coupler_to_slave_named_debug_reset),
+    .auto_buffer_in_a_ready(coupler_to_slave_named_debug_auto_buffer_in_a_ready),
+    .auto_buffer_in_a_valid(coupler_to_slave_named_debug_auto_buffer_in_a_valid),
+    .auto_buffer_in_a_bits_opcode(coupler_to_slave_named_debug_auto_buffer_in_a_bits_opcode),
+    .auto_buffer_in_a_bits_param(coupler_to_slave_named_debug_auto_buffer_in_a_bits_param),
+    .auto_buffer_in_a_bits_size(coupler_to_slave_named_debug_auto_buffer_in_a_bits_size),
+    .auto_buffer_in_a_bits_source(coupler_to_slave_named_debug_auto_buffer_in_a_bits_source),
+    .auto_buffer_in_a_bits_address(coupler_to_slave_named_debug_auto_buffer_in_a_bits_address),
+    .auto_buffer_in_a_bits_mask(coupler_to_slave_named_debug_auto_buffer_in_a_bits_mask),
+    .auto_buffer_in_a_bits_data(coupler_to_slave_named_debug_auto_buffer_in_a_bits_data),
+    .auto_buffer_in_a_bits_corrupt(coupler_to_slave_named_debug_auto_buffer_in_a_bits_corrupt),
+    .auto_buffer_in_d_ready(coupler_to_slave_named_debug_auto_buffer_in_d_ready),
+    .auto_buffer_in_d_valid(coupler_to_slave_named_debug_auto_buffer_in_d_valid),
+    .auto_buffer_in_d_bits_opcode(coupler_to_slave_named_debug_auto_buffer_in_d_bits_opcode),
+    .auto_buffer_in_d_bits_size(coupler_to_slave_named_debug_auto_buffer_in_d_bits_size),
+    .auto_buffer_in_d_bits_source(coupler_to_slave_named_debug_auto_buffer_in_d_bits_source),
+    .auto_buffer_in_d_bits_data(coupler_to_slave_named_debug_auto_buffer_in_d_bits_data),
+    .auto_fragmenter_out_a_ready(coupler_to_slave_named_debug_auto_fragmenter_out_a_ready),
+    .auto_fragmenter_out_a_valid(coupler_to_slave_named_debug_auto_fragmenter_out_a_valid),
+    .auto_fragmenter_out_a_bits_opcode(coupler_to_slave_named_debug_auto_fragmenter_out_a_bits_opcode),
+    .auto_fragmenter_out_a_bits_param(coupler_to_slave_named_debug_auto_fragmenter_out_a_bits_param),
+    .auto_fragmenter_out_a_bits_size(coupler_to_slave_named_debug_auto_fragmenter_out_a_bits_size),
+    .auto_fragmenter_out_a_bits_source(coupler_to_slave_named_debug_auto_fragmenter_out_a_bits_source),
+    .auto_fragmenter_out_a_bits_address(coupler_to_slave_named_debug_auto_fragmenter_out_a_bits_address),
+    .auto_fragmenter_out_a_bits_mask(coupler_to_slave_named_debug_auto_fragmenter_out_a_bits_mask),
+    .auto_fragmenter_out_a_bits_data(coupler_to_slave_named_debug_auto_fragmenter_out_a_bits_data),
+    .auto_fragmenter_out_a_bits_corrupt(coupler_to_slave_named_debug_auto_fragmenter_out_a_bits_corrupt),
+    .auto_fragmenter_out_d_ready(coupler_to_slave_named_debug_auto_fragmenter_out_d_ready),
+    .auto_fragmenter_out_d_valid(coupler_to_slave_named_debug_auto_fragmenter_out_d_valid),
+    .auto_fragmenter_out_d_bits_opcode(coupler_to_slave_named_debug_auto_fragmenter_out_d_bits_opcode),
+    .auto_fragmenter_out_d_bits_size(coupler_to_slave_named_debug_auto_fragmenter_out_d_bits_size),
+    .auto_fragmenter_out_d_bits_source(coupler_to_slave_named_debug_auto_fragmenter_out_d_bits_source),
+    .auto_fragmenter_out_d_bits_data(coupler_to_slave_named_debug_auto_fragmenter_out_d_bits_data)
+  );
+  SimpleLazyModule_5 coupler_to_tile_named_tile ( // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33963.4]
+    .clock(coupler_to_tile_named_tile_clock),
+    .reset(coupler_to_tile_named_tile_reset),
+    .auto_buffer_in_a_ready(coupler_to_tile_named_tile_auto_buffer_in_a_ready),
+    .auto_buffer_in_a_valid(coupler_to_tile_named_tile_auto_buffer_in_a_valid),
+    .auto_buffer_in_a_bits_opcode(coupler_to_tile_named_tile_auto_buffer_in_a_bits_opcode),
+    .auto_buffer_in_a_bits_param(coupler_to_tile_named_tile_auto_buffer_in_a_bits_param),
+    .auto_buffer_in_a_bits_size(coupler_to_tile_named_tile_auto_buffer_in_a_bits_size),
+    .auto_buffer_in_a_bits_source(coupler_to_tile_named_tile_auto_buffer_in_a_bits_source),
+    .auto_buffer_in_a_bits_address(coupler_to_tile_named_tile_auto_buffer_in_a_bits_address),
+    .auto_buffer_in_a_bits_mask(coupler_to_tile_named_tile_auto_buffer_in_a_bits_mask),
+    .auto_buffer_in_a_bits_data(coupler_to_tile_named_tile_auto_buffer_in_a_bits_data),
+    .auto_buffer_in_a_bits_corrupt(coupler_to_tile_named_tile_auto_buffer_in_a_bits_corrupt),
+    .auto_buffer_in_d_ready(coupler_to_tile_named_tile_auto_buffer_in_d_ready),
+    .auto_buffer_in_d_valid(coupler_to_tile_named_tile_auto_buffer_in_d_valid),
+    .auto_buffer_in_d_bits_opcode(coupler_to_tile_named_tile_auto_buffer_in_d_bits_opcode),
+    .auto_buffer_in_d_bits_param(coupler_to_tile_named_tile_auto_buffer_in_d_bits_param),
+    .auto_buffer_in_d_bits_size(coupler_to_tile_named_tile_auto_buffer_in_d_bits_size),
+    .auto_buffer_in_d_bits_source(coupler_to_tile_named_tile_auto_buffer_in_d_bits_source),
+    .auto_buffer_in_d_bits_sink(coupler_to_tile_named_tile_auto_buffer_in_d_bits_sink),
+    .auto_buffer_in_d_bits_denied(coupler_to_tile_named_tile_auto_buffer_in_d_bits_denied),
+    .auto_buffer_in_d_bits_data(coupler_to_tile_named_tile_auto_buffer_in_d_bits_data),
+    .auto_buffer_in_d_bits_corrupt(coupler_to_tile_named_tile_auto_buffer_in_d_bits_corrupt),
+    .auto_tl_slave_xing_out_a_ready(coupler_to_tile_named_tile_auto_tl_slave_xing_out_a_ready),
+    .auto_tl_slave_xing_out_a_valid(coupler_to_tile_named_tile_auto_tl_slave_xing_out_a_valid),
+    .auto_tl_slave_xing_out_a_bits_opcode(coupler_to_tile_named_tile_auto_tl_slave_xing_out_a_bits_opcode),
+    .auto_tl_slave_xing_out_a_bits_param(coupler_to_tile_named_tile_auto_tl_slave_xing_out_a_bits_param),
+    .auto_tl_slave_xing_out_a_bits_size(coupler_to_tile_named_tile_auto_tl_slave_xing_out_a_bits_size),
+    .auto_tl_slave_xing_out_a_bits_source(coupler_to_tile_named_tile_auto_tl_slave_xing_out_a_bits_source),
+    .auto_tl_slave_xing_out_a_bits_address(coupler_to_tile_named_tile_auto_tl_slave_xing_out_a_bits_address),
+    .auto_tl_slave_xing_out_a_bits_mask(coupler_to_tile_named_tile_auto_tl_slave_xing_out_a_bits_mask),
+    .auto_tl_slave_xing_out_a_bits_data(coupler_to_tile_named_tile_auto_tl_slave_xing_out_a_bits_data),
+    .auto_tl_slave_xing_out_a_bits_corrupt(coupler_to_tile_named_tile_auto_tl_slave_xing_out_a_bits_corrupt),
+    .auto_tl_slave_xing_out_d_ready(coupler_to_tile_named_tile_auto_tl_slave_xing_out_d_ready),
+    .auto_tl_slave_xing_out_d_valid(coupler_to_tile_named_tile_auto_tl_slave_xing_out_d_valid),
+    .auto_tl_slave_xing_out_d_bits_opcode(coupler_to_tile_named_tile_auto_tl_slave_xing_out_d_bits_opcode),
+    .auto_tl_slave_xing_out_d_bits_param(coupler_to_tile_named_tile_auto_tl_slave_xing_out_d_bits_param),
+    .auto_tl_slave_xing_out_d_bits_size(coupler_to_tile_named_tile_auto_tl_slave_xing_out_d_bits_size),
+    .auto_tl_slave_xing_out_d_bits_source(coupler_to_tile_named_tile_auto_tl_slave_xing_out_d_bits_source),
+    .auto_tl_slave_xing_out_d_bits_sink(coupler_to_tile_named_tile_auto_tl_slave_xing_out_d_bits_sink),
+    .auto_tl_slave_xing_out_d_bits_denied(coupler_to_tile_named_tile_auto_tl_slave_xing_out_d_bits_denied),
+    .auto_tl_slave_xing_out_d_bits_data(coupler_to_tile_named_tile_auto_tl_slave_xing_out_d_bits_data),
+    .auto_tl_slave_xing_out_d_bits_corrupt(coupler_to_tile_named_tile_auto_tl_slave_xing_out_d_bits_corrupt)
+  );
+  SimpleLazyModule_6 coupler_to_slave_named_MaskROM ( // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33969.4]
+    .clock(coupler_to_slave_named_MaskROM_clock),
+    .reset(coupler_to_slave_named_MaskROM_reset),
+    .auto_buffer_in_a_ready(coupler_to_slave_named_MaskROM_auto_buffer_in_a_ready),
+    .auto_buffer_in_a_valid(coupler_to_slave_named_MaskROM_auto_buffer_in_a_valid),
+    .auto_buffer_in_a_bits_opcode(coupler_to_slave_named_MaskROM_auto_buffer_in_a_bits_opcode),
+    .auto_buffer_in_a_bits_param(coupler_to_slave_named_MaskROM_auto_buffer_in_a_bits_param),
+    .auto_buffer_in_a_bits_size(coupler_to_slave_named_MaskROM_auto_buffer_in_a_bits_size),
+    .auto_buffer_in_a_bits_source(coupler_to_slave_named_MaskROM_auto_buffer_in_a_bits_source),
+    .auto_buffer_in_a_bits_address(coupler_to_slave_named_MaskROM_auto_buffer_in_a_bits_address),
+    .auto_buffer_in_a_bits_mask(coupler_to_slave_named_MaskROM_auto_buffer_in_a_bits_mask),
+    .auto_buffer_in_a_bits_corrupt(coupler_to_slave_named_MaskROM_auto_buffer_in_a_bits_corrupt),
+    .auto_buffer_in_d_ready(coupler_to_slave_named_MaskROM_auto_buffer_in_d_ready),
+    .auto_buffer_in_d_valid(coupler_to_slave_named_MaskROM_auto_buffer_in_d_valid),
+    .auto_buffer_in_d_bits_size(coupler_to_slave_named_MaskROM_auto_buffer_in_d_bits_size),
+    .auto_buffer_in_d_bits_source(coupler_to_slave_named_MaskROM_auto_buffer_in_d_bits_source),
+    .auto_buffer_in_d_bits_data(coupler_to_slave_named_MaskROM_auto_buffer_in_d_bits_data),
+    .auto_fragmenter_out_a_ready(coupler_to_slave_named_MaskROM_auto_fragmenter_out_a_ready),
+    .auto_fragmenter_out_a_valid(coupler_to_slave_named_MaskROM_auto_fragmenter_out_a_valid),
+    .auto_fragmenter_out_a_bits_opcode(coupler_to_slave_named_MaskROM_auto_fragmenter_out_a_bits_opcode),
+    .auto_fragmenter_out_a_bits_param(coupler_to_slave_named_MaskROM_auto_fragmenter_out_a_bits_param),
+    .auto_fragmenter_out_a_bits_size(coupler_to_slave_named_MaskROM_auto_fragmenter_out_a_bits_size),
+    .auto_fragmenter_out_a_bits_source(coupler_to_slave_named_MaskROM_auto_fragmenter_out_a_bits_source),
+    .auto_fragmenter_out_a_bits_address(coupler_to_slave_named_MaskROM_auto_fragmenter_out_a_bits_address),
+    .auto_fragmenter_out_a_bits_mask(coupler_to_slave_named_MaskROM_auto_fragmenter_out_a_bits_mask),
+    .auto_fragmenter_out_a_bits_corrupt(coupler_to_slave_named_MaskROM_auto_fragmenter_out_a_bits_corrupt),
+    .auto_fragmenter_out_d_ready(coupler_to_slave_named_MaskROM_auto_fragmenter_out_d_ready),
+    .auto_fragmenter_out_d_valid(coupler_to_slave_named_MaskROM_auto_fragmenter_out_d_valid),
+    .auto_fragmenter_out_d_bits_size(coupler_to_slave_named_MaskROM_auto_fragmenter_out_d_bits_size),
+    .auto_fragmenter_out_d_bits_source(coupler_to_slave_named_MaskROM_auto_fragmenter_out_d_bits_source),
+    .auto_fragmenter_out_d_bits_data(coupler_to_slave_named_MaskROM_auto_fragmenter_out_d_bits_data)
+  );
+  SimpleLazyModule_7 coupler_to_slave_named_aon ( // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33975.4]
+    .clock(coupler_to_slave_named_aon_clock),
+    .reset(coupler_to_slave_named_aon_reset),
+    .auto_buffer_in_a_ready(coupler_to_slave_named_aon_auto_buffer_in_a_ready),
+    .auto_buffer_in_a_valid(coupler_to_slave_named_aon_auto_buffer_in_a_valid),
+    .auto_buffer_in_a_bits_opcode(coupler_to_slave_named_aon_auto_buffer_in_a_bits_opcode),
+    .auto_buffer_in_a_bits_param(coupler_to_slave_named_aon_auto_buffer_in_a_bits_param),
+    .auto_buffer_in_a_bits_size(coupler_to_slave_named_aon_auto_buffer_in_a_bits_size),
+    .auto_buffer_in_a_bits_source(coupler_to_slave_named_aon_auto_buffer_in_a_bits_source),
+    .auto_buffer_in_a_bits_address(coupler_to_slave_named_aon_auto_buffer_in_a_bits_address),
+    .auto_buffer_in_a_bits_mask(coupler_to_slave_named_aon_auto_buffer_in_a_bits_mask),
+    .auto_buffer_in_a_bits_data(coupler_to_slave_named_aon_auto_buffer_in_a_bits_data),
+    .auto_buffer_in_a_bits_corrupt(coupler_to_slave_named_aon_auto_buffer_in_a_bits_corrupt),
+    .auto_buffer_in_d_ready(coupler_to_slave_named_aon_auto_buffer_in_d_ready),
+    .auto_buffer_in_d_valid(coupler_to_slave_named_aon_auto_buffer_in_d_valid),
+    .auto_buffer_in_d_bits_opcode(coupler_to_slave_named_aon_auto_buffer_in_d_bits_opcode),
+    .auto_buffer_in_d_bits_param(coupler_to_slave_named_aon_auto_buffer_in_d_bits_param),
+    .auto_buffer_in_d_bits_size(coupler_to_slave_named_aon_auto_buffer_in_d_bits_size),
+    .auto_buffer_in_d_bits_source(coupler_to_slave_named_aon_auto_buffer_in_d_bits_source),
+    .auto_buffer_in_d_bits_sink(coupler_to_slave_named_aon_auto_buffer_in_d_bits_sink),
+    .auto_buffer_in_d_bits_denied(coupler_to_slave_named_aon_auto_buffer_in_d_bits_denied),
+    .auto_buffer_in_d_bits_data(coupler_to_slave_named_aon_auto_buffer_in_d_bits_data),
+    .auto_buffer_in_d_bits_corrupt(coupler_to_slave_named_aon_auto_buffer_in_d_bits_corrupt),
+    .auto_asource_out_a_mem_0_opcode(coupler_to_slave_named_aon_auto_asource_out_a_mem_0_opcode),
+    .auto_asource_out_a_mem_0_param(coupler_to_slave_named_aon_auto_asource_out_a_mem_0_param),
+    .auto_asource_out_a_mem_0_size(coupler_to_slave_named_aon_auto_asource_out_a_mem_0_size),
+    .auto_asource_out_a_mem_0_source(coupler_to_slave_named_aon_auto_asource_out_a_mem_0_source),
+    .auto_asource_out_a_mem_0_address(coupler_to_slave_named_aon_auto_asource_out_a_mem_0_address),
+    .auto_asource_out_a_mem_0_mask(coupler_to_slave_named_aon_auto_asource_out_a_mem_0_mask),
+    .auto_asource_out_a_mem_0_data(coupler_to_slave_named_aon_auto_asource_out_a_mem_0_data),
+    .auto_asource_out_a_mem_0_corrupt(coupler_to_slave_named_aon_auto_asource_out_a_mem_0_corrupt),
+    .auto_asource_out_a_ridx(coupler_to_slave_named_aon_auto_asource_out_a_ridx),
+    .auto_asource_out_a_widx(coupler_to_slave_named_aon_auto_asource_out_a_widx),
+    .auto_asource_out_a_safe_ridx_valid(coupler_to_slave_named_aon_auto_asource_out_a_safe_ridx_valid),
+    .auto_asource_out_a_safe_widx_valid(coupler_to_slave_named_aon_auto_asource_out_a_safe_widx_valid),
+    .auto_asource_out_a_safe_source_reset_n(coupler_to_slave_named_aon_auto_asource_out_a_safe_source_reset_n),
+    .auto_asource_out_a_safe_sink_reset_n(coupler_to_slave_named_aon_auto_asource_out_a_safe_sink_reset_n),
+    .auto_asource_out_d_mem_0_opcode(coupler_to_slave_named_aon_auto_asource_out_d_mem_0_opcode),
+    .auto_asource_out_d_mem_0_param(coupler_to_slave_named_aon_auto_asource_out_d_mem_0_param),
+    .auto_asource_out_d_mem_0_size(coupler_to_slave_named_aon_auto_asource_out_d_mem_0_size),
+    .auto_asource_out_d_mem_0_source(coupler_to_slave_named_aon_auto_asource_out_d_mem_0_source),
+    .auto_asource_out_d_mem_0_sink(coupler_to_slave_named_aon_auto_asource_out_d_mem_0_sink),
+    .auto_asource_out_d_mem_0_denied(coupler_to_slave_named_aon_auto_asource_out_d_mem_0_denied),
+    .auto_asource_out_d_mem_0_data(coupler_to_slave_named_aon_auto_asource_out_d_mem_0_data),
+    .auto_asource_out_d_mem_0_corrupt(coupler_to_slave_named_aon_auto_asource_out_d_mem_0_corrupt),
+    .auto_asource_out_d_ridx(coupler_to_slave_named_aon_auto_asource_out_d_ridx),
+    .auto_asource_out_d_widx(coupler_to_slave_named_aon_auto_asource_out_d_widx),
+    .auto_asource_out_d_safe_ridx_valid(coupler_to_slave_named_aon_auto_asource_out_d_safe_ridx_valid),
+    .auto_asource_out_d_safe_widx_valid(coupler_to_slave_named_aon_auto_asource_out_d_safe_widx_valid),
+    .auto_asource_out_d_safe_source_reset_n(coupler_to_slave_named_aon_auto_asource_out_d_safe_source_reset_n),
+    .auto_asource_out_d_safe_sink_reset_n(coupler_to_slave_named_aon_auto_asource_out_d_safe_sink_reset_n)
+  );
+  assign auto_coupler_to_slave_named_aon_asource_out_a_mem_0_opcode = coupler_to_slave_named_aon_auto_asource_out_a_mem_0_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34005.4]
+  assign auto_coupler_to_slave_named_aon_asource_out_a_mem_0_param = coupler_to_slave_named_aon_auto_asource_out_a_mem_0_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34005.4]
+  assign auto_coupler_to_slave_named_aon_asource_out_a_mem_0_size = coupler_to_slave_named_aon_auto_asource_out_a_mem_0_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34005.4]
+  assign auto_coupler_to_slave_named_aon_asource_out_a_mem_0_source = coupler_to_slave_named_aon_auto_asource_out_a_mem_0_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34005.4]
+  assign auto_coupler_to_slave_named_aon_asource_out_a_mem_0_address = coupler_to_slave_named_aon_auto_asource_out_a_mem_0_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34005.4]
+  assign auto_coupler_to_slave_named_aon_asource_out_a_mem_0_mask = coupler_to_slave_named_aon_auto_asource_out_a_mem_0_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34005.4]
+  assign auto_coupler_to_slave_named_aon_asource_out_a_mem_0_data = coupler_to_slave_named_aon_auto_asource_out_a_mem_0_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34005.4]
+  assign auto_coupler_to_slave_named_aon_asource_out_a_mem_0_corrupt = coupler_to_slave_named_aon_auto_asource_out_a_mem_0_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34005.4]
+  assign auto_coupler_to_slave_named_aon_asource_out_a_widx = coupler_to_slave_named_aon_auto_asource_out_a_widx; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34005.4]
+  assign auto_coupler_to_slave_named_aon_asource_out_a_safe_widx_valid = coupler_to_slave_named_aon_auto_asource_out_a_safe_widx_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34005.4]
+  assign auto_coupler_to_slave_named_aon_asource_out_a_safe_source_reset_n = coupler_to_slave_named_aon_auto_asource_out_a_safe_source_reset_n; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34005.4]
+  assign auto_coupler_to_slave_named_aon_asource_out_d_ridx = coupler_to_slave_named_aon_auto_asource_out_d_ridx; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34005.4]
+  assign auto_coupler_to_slave_named_aon_asource_out_d_safe_ridx_valid = coupler_to_slave_named_aon_auto_asource_out_d_safe_ridx_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34005.4]
+  assign auto_coupler_to_slave_named_aon_asource_out_d_safe_sink_reset_n = coupler_to_slave_named_aon_auto_asource_out_d_safe_sink_reset_n; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34005.4]
+  assign auto_coupler_to_slave_named_MaskROM_fragmenter_out_a_valid = coupler_to_slave_named_MaskROM_auto_fragmenter_out_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34004.4]
+  assign auto_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_opcode = coupler_to_slave_named_MaskROM_auto_fragmenter_out_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34004.4]
+  assign auto_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_param = coupler_to_slave_named_MaskROM_auto_fragmenter_out_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34004.4]
+  assign auto_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_size = coupler_to_slave_named_MaskROM_auto_fragmenter_out_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34004.4]
+  assign auto_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_source = coupler_to_slave_named_MaskROM_auto_fragmenter_out_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34004.4]
+  assign auto_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_address = coupler_to_slave_named_MaskROM_auto_fragmenter_out_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34004.4]
+  assign auto_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_mask = coupler_to_slave_named_MaskROM_auto_fragmenter_out_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34004.4]
+  assign auto_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_corrupt = coupler_to_slave_named_MaskROM_auto_fragmenter_out_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34004.4]
+  assign auto_coupler_to_slave_named_MaskROM_fragmenter_out_d_ready = coupler_to_slave_named_MaskROM_auto_fragmenter_out_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34004.4]
+  assign auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_valid = coupler_to_tile_named_tile_auto_tl_slave_xing_out_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34003.4]
+  assign auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_opcode = coupler_to_tile_named_tile_auto_tl_slave_xing_out_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34003.4]
+  assign auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_param = coupler_to_tile_named_tile_auto_tl_slave_xing_out_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34003.4]
+  assign auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_size = coupler_to_tile_named_tile_auto_tl_slave_xing_out_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34003.4]
+  assign auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_source = coupler_to_tile_named_tile_auto_tl_slave_xing_out_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34003.4]
+  assign auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_address = coupler_to_tile_named_tile_auto_tl_slave_xing_out_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34003.4]
+  assign auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_mask = coupler_to_tile_named_tile_auto_tl_slave_xing_out_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34003.4]
+  assign auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_data = coupler_to_tile_named_tile_auto_tl_slave_xing_out_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34003.4]
+  assign auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_corrupt = coupler_to_tile_named_tile_auto_tl_slave_xing_out_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34003.4]
+  assign auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_ready = coupler_to_tile_named_tile_auto_tl_slave_xing_out_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34003.4]
+  assign auto_coupler_to_slave_named_debug_fragmenter_out_a_valid = coupler_to_slave_named_debug_auto_fragmenter_out_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34002.4]
+  assign auto_coupler_to_slave_named_debug_fragmenter_out_a_bits_opcode = coupler_to_slave_named_debug_auto_fragmenter_out_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34002.4]
+  assign auto_coupler_to_slave_named_debug_fragmenter_out_a_bits_param = coupler_to_slave_named_debug_auto_fragmenter_out_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34002.4]
+  assign auto_coupler_to_slave_named_debug_fragmenter_out_a_bits_size = coupler_to_slave_named_debug_auto_fragmenter_out_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34002.4]
+  assign auto_coupler_to_slave_named_debug_fragmenter_out_a_bits_source = coupler_to_slave_named_debug_auto_fragmenter_out_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34002.4]
+  assign auto_coupler_to_slave_named_debug_fragmenter_out_a_bits_address = coupler_to_slave_named_debug_auto_fragmenter_out_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34002.4]
+  assign auto_coupler_to_slave_named_debug_fragmenter_out_a_bits_mask = coupler_to_slave_named_debug_auto_fragmenter_out_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34002.4]
+  assign auto_coupler_to_slave_named_debug_fragmenter_out_a_bits_data = coupler_to_slave_named_debug_auto_fragmenter_out_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34002.4]
+  assign auto_coupler_to_slave_named_debug_fragmenter_out_a_bits_corrupt = coupler_to_slave_named_debug_auto_fragmenter_out_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34002.4]
+  assign auto_coupler_to_slave_named_debug_fragmenter_out_d_ready = coupler_to_slave_named_debug_auto_fragmenter_out_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34002.4]
+  assign auto_coupler_to_slave_named_clint_fragmenter_out_a_valid = coupler_to_slave_named_clint_auto_fragmenter_out_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34001.4]
+  assign auto_coupler_to_slave_named_clint_fragmenter_out_a_bits_opcode = coupler_to_slave_named_clint_auto_fragmenter_out_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34001.4]
+  assign auto_coupler_to_slave_named_clint_fragmenter_out_a_bits_param = coupler_to_slave_named_clint_auto_fragmenter_out_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34001.4]
+  assign auto_coupler_to_slave_named_clint_fragmenter_out_a_bits_size = coupler_to_slave_named_clint_auto_fragmenter_out_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34001.4]
+  assign auto_coupler_to_slave_named_clint_fragmenter_out_a_bits_source = coupler_to_slave_named_clint_auto_fragmenter_out_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34001.4]
+  assign auto_coupler_to_slave_named_clint_fragmenter_out_a_bits_address = coupler_to_slave_named_clint_auto_fragmenter_out_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34001.4]
+  assign auto_coupler_to_slave_named_clint_fragmenter_out_a_bits_mask = coupler_to_slave_named_clint_auto_fragmenter_out_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34001.4]
+  assign auto_coupler_to_slave_named_clint_fragmenter_out_a_bits_data = coupler_to_slave_named_clint_auto_fragmenter_out_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34001.4]
+  assign auto_coupler_to_slave_named_clint_fragmenter_out_a_bits_corrupt = coupler_to_slave_named_clint_auto_fragmenter_out_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34001.4]
+  assign auto_coupler_to_slave_named_clint_fragmenter_out_d_ready = coupler_to_slave_named_clint_auto_fragmenter_out_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34001.4]
+  assign auto_coupler_to_slave_named_plic_fragmenter_out_a_valid = coupler_to_slave_named_plic_auto_fragmenter_out_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34000.4]
+  assign auto_coupler_to_slave_named_plic_fragmenter_out_a_bits_opcode = coupler_to_slave_named_plic_auto_fragmenter_out_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34000.4]
+  assign auto_coupler_to_slave_named_plic_fragmenter_out_a_bits_param = coupler_to_slave_named_plic_auto_fragmenter_out_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34000.4]
+  assign auto_coupler_to_slave_named_plic_fragmenter_out_a_bits_size = coupler_to_slave_named_plic_auto_fragmenter_out_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34000.4]
+  assign auto_coupler_to_slave_named_plic_fragmenter_out_a_bits_source = coupler_to_slave_named_plic_auto_fragmenter_out_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34000.4]
+  assign auto_coupler_to_slave_named_plic_fragmenter_out_a_bits_address = coupler_to_slave_named_plic_auto_fragmenter_out_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34000.4]
+  assign auto_coupler_to_slave_named_plic_fragmenter_out_a_bits_mask = coupler_to_slave_named_plic_auto_fragmenter_out_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34000.4]
+  assign auto_coupler_to_slave_named_plic_fragmenter_out_a_bits_data = coupler_to_slave_named_plic_auto_fragmenter_out_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34000.4]
+  assign auto_coupler_to_slave_named_plic_fragmenter_out_a_bits_corrupt = coupler_to_slave_named_plic_auto_fragmenter_out_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34000.4]
+  assign auto_coupler_to_slave_named_plic_fragmenter_out_d_ready = coupler_to_slave_named_plic_auto_fragmenter_out_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34000.4]
+  assign auto_coupler_to_bus_named_pbus_from_cbus_out_a_valid = coupler_to_bus_named_pbus_auto_from_cbus_out_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@33999.4]
+  assign auto_coupler_to_bus_named_pbus_from_cbus_out_a_bits_opcode = coupler_to_bus_named_pbus_auto_from_cbus_out_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@33999.4]
+  assign auto_coupler_to_bus_named_pbus_from_cbus_out_a_bits_param = coupler_to_bus_named_pbus_auto_from_cbus_out_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@33999.4]
+  assign auto_coupler_to_bus_named_pbus_from_cbus_out_a_bits_size = coupler_to_bus_named_pbus_auto_from_cbus_out_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@33999.4]
+  assign auto_coupler_to_bus_named_pbus_from_cbus_out_a_bits_source = coupler_to_bus_named_pbus_auto_from_cbus_out_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@33999.4]
+  assign auto_coupler_to_bus_named_pbus_from_cbus_out_a_bits_address = coupler_to_bus_named_pbus_auto_from_cbus_out_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@33999.4]
+  assign auto_coupler_to_bus_named_pbus_from_cbus_out_a_bits_mask = coupler_to_bus_named_pbus_auto_from_cbus_out_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@33999.4]
+  assign auto_coupler_to_bus_named_pbus_from_cbus_out_a_bits_data = coupler_to_bus_named_pbus_auto_from_cbus_out_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@33999.4]
+  assign auto_coupler_to_bus_named_pbus_from_cbus_out_a_bits_corrupt = coupler_to_bus_named_pbus_auto_from_cbus_out_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@33999.4]
+  assign auto_coupler_to_bus_named_pbus_from_cbus_out_d_ready = coupler_to_bus_named_pbus_auto_from_cbus_out_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@33999.4]
+  assign auto_from_sbus_in_a_ready = buffer_1_auto_in_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33998.4]
+  assign auto_from_sbus_in_d_valid = buffer_1_auto_in_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33998.4]
+  assign auto_from_sbus_in_d_bits_opcode = buffer_1_auto_in_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33998.4]
+  assign auto_from_sbus_in_d_bits_param = buffer_1_auto_in_d_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33998.4]
+  assign auto_from_sbus_in_d_bits_size = buffer_1_auto_in_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33998.4]
+  assign auto_from_sbus_in_d_bits_source = buffer_1_auto_in_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33998.4]
+  assign auto_from_sbus_in_d_bits_sink = buffer_1_auto_in_d_bits_sink; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33998.4]
+  assign auto_from_sbus_in_d_bits_denied = buffer_1_auto_in_d_bits_denied; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33998.4]
+  assign auto_from_sbus_in_d_bits_data = buffer_1_auto_in_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33998.4]
+  assign auto_from_sbus_in_d_bits_corrupt = buffer_1_auto_in_d_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33998.4]
+  assign in_xbar_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33907.4]
+  assign in_xbar_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33908.4]
+  assign in_xbar_auto_in_a_valid = buffer_1_auto_out_a_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33996.4]
+  assign in_xbar_auto_in_a_bits_opcode = buffer_1_auto_out_a_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33996.4]
+  assign in_xbar_auto_in_a_bits_param = buffer_1_auto_out_a_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33996.4]
+  assign in_xbar_auto_in_a_bits_size = buffer_1_auto_out_a_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33996.4]
+  assign in_xbar_auto_in_a_bits_source = buffer_1_auto_out_a_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33996.4]
+  assign in_xbar_auto_in_a_bits_address = buffer_1_auto_out_a_bits_address; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33996.4]
+  assign in_xbar_auto_in_a_bits_mask = buffer_1_auto_out_a_bits_mask; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33996.4]
+  assign in_xbar_auto_in_a_bits_data = buffer_1_auto_out_a_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33996.4]
+  assign in_xbar_auto_in_a_bits_corrupt = buffer_1_auto_out_a_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33996.4]
+  assign in_xbar_auto_in_d_ready = buffer_1_auto_out_d_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33996.4]
+  assign in_xbar_auto_out_a_ready = atomics_auto_in_a_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33986.4]
+  assign in_xbar_auto_out_d_valid = atomics_auto_in_d_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33986.4]
+  assign in_xbar_auto_out_d_bits_opcode = atomics_auto_in_d_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33986.4]
+  assign in_xbar_auto_out_d_bits_param = atomics_auto_in_d_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33986.4]
+  assign in_xbar_auto_out_d_bits_size = atomics_auto_in_d_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33986.4]
+  assign in_xbar_auto_out_d_bits_source = atomics_auto_in_d_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33986.4]
+  assign in_xbar_auto_out_d_bits_sink = atomics_auto_in_d_bits_sink; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33986.4]
+  assign in_xbar_auto_out_d_bits_denied = atomics_auto_in_d_bits_denied; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33986.4]
+  assign in_xbar_auto_out_d_bits_data = atomics_auto_in_d_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33986.4]
+  assign in_xbar_auto_out_d_bits_corrupt = atomics_auto_in_d_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33986.4]
+  assign out_xbar_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33913.4]
+  assign out_xbar_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33914.4]
+  assign out_xbar_auto_in_a_valid = buffer_auto_out_a_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33994.4]
+  assign out_xbar_auto_in_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33994.4]
+  assign out_xbar_auto_in_a_bits_param = buffer_auto_out_a_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33994.4]
+  assign out_xbar_auto_in_a_bits_size = buffer_auto_out_a_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33994.4]
+  assign out_xbar_auto_in_a_bits_source = buffer_auto_out_a_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33994.4]
+  assign out_xbar_auto_in_a_bits_address = buffer_auto_out_a_bits_address; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33994.4]
+  assign out_xbar_auto_in_a_bits_mask = buffer_auto_out_a_bits_mask; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33994.4]
+  assign out_xbar_auto_in_a_bits_data = buffer_auto_out_a_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33994.4]
+  assign out_xbar_auto_in_a_bits_corrupt = buffer_auto_out_a_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33994.4]
+  assign out_xbar_auto_in_d_ready = buffer_auto_out_d_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33994.4]
+  assign out_xbar_auto_out_6_a_ready = coupler_to_slave_named_aon_auto_buffer_in_a_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33993.4]
+  assign out_xbar_auto_out_6_d_valid = coupler_to_slave_named_aon_auto_buffer_in_d_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33993.4]
+  assign out_xbar_auto_out_6_d_bits_opcode = coupler_to_slave_named_aon_auto_buffer_in_d_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33993.4]
+  assign out_xbar_auto_out_6_d_bits_param = coupler_to_slave_named_aon_auto_buffer_in_d_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33993.4]
+  assign out_xbar_auto_out_6_d_bits_size = coupler_to_slave_named_aon_auto_buffer_in_d_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33993.4]
+  assign out_xbar_auto_out_6_d_bits_source = coupler_to_slave_named_aon_auto_buffer_in_d_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33993.4]
+  assign out_xbar_auto_out_6_d_bits_sink = coupler_to_slave_named_aon_auto_buffer_in_d_bits_sink; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33993.4]
+  assign out_xbar_auto_out_6_d_bits_denied = coupler_to_slave_named_aon_auto_buffer_in_d_bits_denied; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33993.4]
+  assign out_xbar_auto_out_6_d_bits_data = coupler_to_slave_named_aon_auto_buffer_in_d_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33993.4]
+  assign out_xbar_auto_out_6_d_bits_corrupt = coupler_to_slave_named_aon_auto_buffer_in_d_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33993.4]
+  assign out_xbar_auto_out_5_a_ready = coupler_to_slave_named_MaskROM_auto_buffer_in_a_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33992.4]
+  assign out_xbar_auto_out_5_d_valid = coupler_to_slave_named_MaskROM_auto_buffer_in_d_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33992.4]
+  assign out_xbar_auto_out_5_d_bits_size = coupler_to_slave_named_MaskROM_auto_buffer_in_d_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33992.4]
+  assign out_xbar_auto_out_5_d_bits_source = coupler_to_slave_named_MaskROM_auto_buffer_in_d_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33992.4]
+  assign out_xbar_auto_out_5_d_bits_data = coupler_to_slave_named_MaskROM_auto_buffer_in_d_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33992.4]
+  assign out_xbar_auto_out_4_a_ready = coupler_to_tile_named_tile_auto_buffer_in_a_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33991.4]
+  assign out_xbar_auto_out_4_d_valid = coupler_to_tile_named_tile_auto_buffer_in_d_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33991.4]
+  assign out_xbar_auto_out_4_d_bits_opcode = coupler_to_tile_named_tile_auto_buffer_in_d_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33991.4]
+  assign out_xbar_auto_out_4_d_bits_param = coupler_to_tile_named_tile_auto_buffer_in_d_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33991.4]
+  assign out_xbar_auto_out_4_d_bits_size = coupler_to_tile_named_tile_auto_buffer_in_d_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33991.4]
+  assign out_xbar_auto_out_4_d_bits_source = coupler_to_tile_named_tile_auto_buffer_in_d_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33991.4]
+  assign out_xbar_auto_out_4_d_bits_sink = coupler_to_tile_named_tile_auto_buffer_in_d_bits_sink; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33991.4]
+  assign out_xbar_auto_out_4_d_bits_denied = coupler_to_tile_named_tile_auto_buffer_in_d_bits_denied; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33991.4]
+  assign out_xbar_auto_out_4_d_bits_data = coupler_to_tile_named_tile_auto_buffer_in_d_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33991.4]
+  assign out_xbar_auto_out_4_d_bits_corrupt = coupler_to_tile_named_tile_auto_buffer_in_d_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33991.4]
+  assign out_xbar_auto_out_3_a_ready = coupler_to_slave_named_debug_auto_buffer_in_a_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33990.4]
+  assign out_xbar_auto_out_3_d_valid = coupler_to_slave_named_debug_auto_buffer_in_d_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33990.4]
+  assign out_xbar_auto_out_3_d_bits_opcode = coupler_to_slave_named_debug_auto_buffer_in_d_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33990.4]
+  assign out_xbar_auto_out_3_d_bits_size = coupler_to_slave_named_debug_auto_buffer_in_d_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33990.4]
+  assign out_xbar_auto_out_3_d_bits_source = coupler_to_slave_named_debug_auto_buffer_in_d_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33990.4]
+  assign out_xbar_auto_out_3_d_bits_data = coupler_to_slave_named_debug_auto_buffer_in_d_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33990.4]
+  assign out_xbar_auto_out_2_a_ready = coupler_to_slave_named_clint_auto_buffer_in_a_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33989.4]
+  assign out_xbar_auto_out_2_d_valid = coupler_to_slave_named_clint_auto_buffer_in_d_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33989.4]
+  assign out_xbar_auto_out_2_d_bits_opcode = coupler_to_slave_named_clint_auto_buffer_in_d_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33989.4]
+  assign out_xbar_auto_out_2_d_bits_size = coupler_to_slave_named_clint_auto_buffer_in_d_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33989.4]
+  assign out_xbar_auto_out_2_d_bits_source = coupler_to_slave_named_clint_auto_buffer_in_d_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33989.4]
+  assign out_xbar_auto_out_2_d_bits_data = coupler_to_slave_named_clint_auto_buffer_in_d_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33989.4]
+  assign out_xbar_auto_out_1_a_ready = coupler_to_slave_named_plic_auto_buffer_in_a_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33988.4]
+  assign out_xbar_auto_out_1_d_valid = coupler_to_slave_named_plic_auto_buffer_in_d_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33988.4]
+  assign out_xbar_auto_out_1_d_bits_opcode = coupler_to_slave_named_plic_auto_buffer_in_d_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33988.4]
+  assign out_xbar_auto_out_1_d_bits_size = coupler_to_slave_named_plic_auto_buffer_in_d_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33988.4]
+  assign out_xbar_auto_out_1_d_bits_source = coupler_to_slave_named_plic_auto_buffer_in_d_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33988.4]
+  assign out_xbar_auto_out_1_d_bits_data = coupler_to_slave_named_plic_auto_buffer_in_d_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33988.4]
+  assign out_xbar_auto_out_0_a_ready = coupler_to_bus_named_pbus_auto_widget_in_a_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33987.4]
+  assign out_xbar_auto_out_0_d_valid = coupler_to_bus_named_pbus_auto_widget_in_d_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33987.4]
+  assign out_xbar_auto_out_0_d_bits_opcode = coupler_to_bus_named_pbus_auto_widget_in_d_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33987.4]
+  assign out_xbar_auto_out_0_d_bits_param = coupler_to_bus_named_pbus_auto_widget_in_d_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33987.4]
+  assign out_xbar_auto_out_0_d_bits_size = coupler_to_bus_named_pbus_auto_widget_in_d_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33987.4]
+  assign out_xbar_auto_out_0_d_bits_source = coupler_to_bus_named_pbus_auto_widget_in_d_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33987.4]
+  assign out_xbar_auto_out_0_d_bits_sink = coupler_to_bus_named_pbus_auto_widget_in_d_bits_sink; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33987.4]
+  assign out_xbar_auto_out_0_d_bits_denied = coupler_to_bus_named_pbus_auto_widget_in_d_bits_denied; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33987.4]
+  assign out_xbar_auto_out_0_d_bits_data = coupler_to_bus_named_pbus_auto_widget_in_d_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33987.4]
+  assign out_xbar_auto_out_0_d_bits_corrupt = coupler_to_bus_named_pbus_auto_widget_in_d_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33987.4]
+  assign buffer_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33919.4]
+  assign buffer_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33920.4]
+  assign buffer_auto_in_a_valid = atomics_auto_out_a_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33995.4]
+  assign buffer_auto_in_a_bits_opcode = atomics_auto_out_a_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33995.4]
+  assign buffer_auto_in_a_bits_param = atomics_auto_out_a_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33995.4]
+  assign buffer_auto_in_a_bits_size = atomics_auto_out_a_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33995.4]
+  assign buffer_auto_in_a_bits_source = atomics_auto_out_a_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33995.4]
+  assign buffer_auto_in_a_bits_address = atomics_auto_out_a_bits_address; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33995.4]
+  assign buffer_auto_in_a_bits_mask = atomics_auto_out_a_bits_mask; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33995.4]
+  assign buffer_auto_in_a_bits_data = atomics_auto_out_a_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33995.4]
+  assign buffer_auto_in_a_bits_corrupt = atomics_auto_out_a_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33995.4]
+  assign buffer_auto_in_d_ready = atomics_auto_out_d_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33995.4]
+  assign buffer_auto_out_a_ready = out_xbar_auto_in_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33994.4]
+  assign buffer_auto_out_d_valid = out_xbar_auto_in_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33994.4]
+  assign buffer_auto_out_d_bits_opcode = out_xbar_auto_in_d_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33994.4]
+  assign buffer_auto_out_d_bits_param = out_xbar_auto_in_d_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33994.4]
+  assign buffer_auto_out_d_bits_size = out_xbar_auto_in_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33994.4]
+  assign buffer_auto_out_d_bits_source = out_xbar_auto_in_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33994.4]
+  assign buffer_auto_out_d_bits_sink = out_xbar_auto_in_d_bits_sink; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33994.4]
+  assign buffer_auto_out_d_bits_denied = out_xbar_auto_in_d_bits_denied; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33994.4]
+  assign buffer_auto_out_d_bits_data = out_xbar_auto_in_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33994.4]
+  assign buffer_auto_out_d_bits_corrupt = out_xbar_auto_in_d_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33994.4]
+  assign atomics_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33925.4]
+  assign atomics_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33926.4]
+  assign atomics_auto_in_a_valid = in_xbar_auto_out_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33986.4]
+  assign atomics_auto_in_a_bits_opcode = in_xbar_auto_out_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33986.4]
+  assign atomics_auto_in_a_bits_param = in_xbar_auto_out_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33986.4]
+  assign atomics_auto_in_a_bits_size = in_xbar_auto_out_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33986.4]
+  assign atomics_auto_in_a_bits_source = in_xbar_auto_out_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33986.4]
+  assign atomics_auto_in_a_bits_address = in_xbar_auto_out_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33986.4]
+  assign atomics_auto_in_a_bits_mask = in_xbar_auto_out_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33986.4]
+  assign atomics_auto_in_a_bits_data = in_xbar_auto_out_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33986.4]
+  assign atomics_auto_in_a_bits_corrupt = in_xbar_auto_out_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33986.4]
+  assign atomics_auto_in_d_ready = in_xbar_auto_out_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33986.4]
+  assign atomics_auto_out_a_ready = buffer_auto_in_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33995.4]
+  assign atomics_auto_out_d_valid = buffer_auto_in_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33995.4]
+  assign atomics_auto_out_d_bits_opcode = buffer_auto_in_d_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33995.4]
+  assign atomics_auto_out_d_bits_param = buffer_auto_in_d_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33995.4]
+  assign atomics_auto_out_d_bits_size = buffer_auto_in_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33995.4]
+  assign atomics_auto_out_d_bits_source = buffer_auto_in_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33995.4]
+  assign atomics_auto_out_d_bits_sink = buffer_auto_in_d_bits_sink; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33995.4]
+  assign atomics_auto_out_d_bits_denied = buffer_auto_in_d_bits_denied; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33995.4]
+  assign atomics_auto_out_d_bits_data = buffer_auto_in_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33995.4]
+  assign atomics_auto_out_d_bits_corrupt = buffer_auto_in_d_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33995.4]
+  assign buffer_1_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33937.4]
+  assign buffer_1_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33938.4]
+  assign buffer_1_auto_in_a_valid = auto_from_sbus_in_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33997.4]
+  assign buffer_1_auto_in_a_bits_opcode = auto_from_sbus_in_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33997.4]
+  assign buffer_1_auto_in_a_bits_param = auto_from_sbus_in_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33997.4]
+  assign buffer_1_auto_in_a_bits_size = auto_from_sbus_in_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33997.4]
+  assign buffer_1_auto_in_a_bits_source = auto_from_sbus_in_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33997.4]
+  assign buffer_1_auto_in_a_bits_address = auto_from_sbus_in_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33997.4]
+  assign buffer_1_auto_in_a_bits_mask = auto_from_sbus_in_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33997.4]
+  assign buffer_1_auto_in_a_bits_data = auto_from_sbus_in_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33997.4]
+  assign buffer_1_auto_in_a_bits_corrupt = auto_from_sbus_in_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33997.4]
+  assign buffer_1_auto_in_d_ready = auto_from_sbus_in_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33997.4]
+  assign buffer_1_auto_out_a_ready = in_xbar_auto_in_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33996.4]
+  assign buffer_1_auto_out_d_valid = in_xbar_auto_in_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33996.4]
+  assign buffer_1_auto_out_d_bits_opcode = in_xbar_auto_in_d_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33996.4]
+  assign buffer_1_auto_out_d_bits_param = in_xbar_auto_in_d_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33996.4]
+  assign buffer_1_auto_out_d_bits_size = in_xbar_auto_in_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33996.4]
+  assign buffer_1_auto_out_d_bits_source = in_xbar_auto_in_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33996.4]
+  assign buffer_1_auto_out_d_bits_sink = in_xbar_auto_in_d_bits_sink; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33996.4]
+  assign buffer_1_auto_out_d_bits_denied = in_xbar_auto_in_d_bits_denied; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33996.4]
+  assign buffer_1_auto_out_d_bits_data = in_xbar_auto_in_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33996.4]
+  assign buffer_1_auto_out_d_bits_corrupt = in_xbar_auto_in_d_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33996.4]
+  assign coupler_to_bus_named_pbus_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33943.4]
+  assign coupler_to_bus_named_pbus_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33944.4]
+  assign coupler_to_bus_named_pbus_auto_widget_in_a_valid = out_xbar_auto_out_0_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33987.4]
+  assign coupler_to_bus_named_pbus_auto_widget_in_a_bits_opcode = out_xbar_auto_out_0_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33987.4]
+  assign coupler_to_bus_named_pbus_auto_widget_in_a_bits_param = out_xbar_auto_out_0_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33987.4]
+  assign coupler_to_bus_named_pbus_auto_widget_in_a_bits_size = out_xbar_auto_out_0_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33987.4]
+  assign coupler_to_bus_named_pbus_auto_widget_in_a_bits_source = out_xbar_auto_out_0_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33987.4]
+  assign coupler_to_bus_named_pbus_auto_widget_in_a_bits_address = out_xbar_auto_out_0_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33987.4]
+  assign coupler_to_bus_named_pbus_auto_widget_in_a_bits_mask = out_xbar_auto_out_0_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33987.4]
+  assign coupler_to_bus_named_pbus_auto_widget_in_a_bits_data = out_xbar_auto_out_0_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33987.4]
+  assign coupler_to_bus_named_pbus_auto_widget_in_a_bits_corrupt = out_xbar_auto_out_0_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33987.4]
+  assign coupler_to_bus_named_pbus_auto_widget_in_d_ready = out_xbar_auto_out_0_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33987.4]
+  assign coupler_to_bus_named_pbus_auto_from_cbus_out_a_ready = auto_coupler_to_bus_named_pbus_from_cbus_out_a_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@33999.4]
+  assign coupler_to_bus_named_pbus_auto_from_cbus_out_d_valid = auto_coupler_to_bus_named_pbus_from_cbus_out_d_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@33999.4]
+  assign coupler_to_bus_named_pbus_auto_from_cbus_out_d_bits_opcode = auto_coupler_to_bus_named_pbus_from_cbus_out_d_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@33999.4]
+  assign coupler_to_bus_named_pbus_auto_from_cbus_out_d_bits_param = auto_coupler_to_bus_named_pbus_from_cbus_out_d_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@33999.4]
+  assign coupler_to_bus_named_pbus_auto_from_cbus_out_d_bits_size = auto_coupler_to_bus_named_pbus_from_cbus_out_d_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@33999.4]
+  assign coupler_to_bus_named_pbus_auto_from_cbus_out_d_bits_source = auto_coupler_to_bus_named_pbus_from_cbus_out_d_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@33999.4]
+  assign coupler_to_bus_named_pbus_auto_from_cbus_out_d_bits_sink = auto_coupler_to_bus_named_pbus_from_cbus_out_d_bits_sink; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@33999.4]
+  assign coupler_to_bus_named_pbus_auto_from_cbus_out_d_bits_denied = auto_coupler_to_bus_named_pbus_from_cbus_out_d_bits_denied; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@33999.4]
+  assign coupler_to_bus_named_pbus_auto_from_cbus_out_d_bits_data = auto_coupler_to_bus_named_pbus_from_cbus_out_d_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@33999.4]
+  assign coupler_to_bus_named_pbus_auto_from_cbus_out_d_bits_corrupt = auto_coupler_to_bus_named_pbus_from_cbus_out_d_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@33999.4]
+  assign coupler_to_slave_named_plic_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33949.4]
+  assign coupler_to_slave_named_plic_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33950.4]
+  assign coupler_to_slave_named_plic_auto_buffer_in_a_valid = out_xbar_auto_out_1_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33988.4]
+  assign coupler_to_slave_named_plic_auto_buffer_in_a_bits_opcode = out_xbar_auto_out_1_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33988.4]
+  assign coupler_to_slave_named_plic_auto_buffer_in_a_bits_param = out_xbar_auto_out_1_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33988.4]
+  assign coupler_to_slave_named_plic_auto_buffer_in_a_bits_size = out_xbar_auto_out_1_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33988.4]
+  assign coupler_to_slave_named_plic_auto_buffer_in_a_bits_source = out_xbar_auto_out_1_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33988.4]
+  assign coupler_to_slave_named_plic_auto_buffer_in_a_bits_address = out_xbar_auto_out_1_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33988.4]
+  assign coupler_to_slave_named_plic_auto_buffer_in_a_bits_mask = out_xbar_auto_out_1_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33988.4]
+  assign coupler_to_slave_named_plic_auto_buffer_in_a_bits_data = out_xbar_auto_out_1_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33988.4]
+  assign coupler_to_slave_named_plic_auto_buffer_in_a_bits_corrupt = out_xbar_auto_out_1_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33988.4]
+  assign coupler_to_slave_named_plic_auto_buffer_in_d_ready = out_xbar_auto_out_1_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33988.4]
+  assign coupler_to_slave_named_plic_auto_fragmenter_out_a_ready = auto_coupler_to_slave_named_plic_fragmenter_out_a_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34000.4]
+  assign coupler_to_slave_named_plic_auto_fragmenter_out_d_valid = auto_coupler_to_slave_named_plic_fragmenter_out_d_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34000.4]
+  assign coupler_to_slave_named_plic_auto_fragmenter_out_d_bits_opcode = auto_coupler_to_slave_named_plic_fragmenter_out_d_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34000.4]
+  assign coupler_to_slave_named_plic_auto_fragmenter_out_d_bits_size = auto_coupler_to_slave_named_plic_fragmenter_out_d_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34000.4]
+  assign coupler_to_slave_named_plic_auto_fragmenter_out_d_bits_source = auto_coupler_to_slave_named_plic_fragmenter_out_d_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34000.4]
+  assign coupler_to_slave_named_plic_auto_fragmenter_out_d_bits_data = auto_coupler_to_slave_named_plic_fragmenter_out_d_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34000.4]
+  assign coupler_to_slave_named_clint_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33955.4]
+  assign coupler_to_slave_named_clint_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33956.4]
+  assign coupler_to_slave_named_clint_auto_buffer_in_a_valid = out_xbar_auto_out_2_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33989.4]
+  assign coupler_to_slave_named_clint_auto_buffer_in_a_bits_opcode = out_xbar_auto_out_2_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33989.4]
+  assign coupler_to_slave_named_clint_auto_buffer_in_a_bits_param = out_xbar_auto_out_2_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33989.4]
+  assign coupler_to_slave_named_clint_auto_buffer_in_a_bits_size = out_xbar_auto_out_2_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33989.4]
+  assign coupler_to_slave_named_clint_auto_buffer_in_a_bits_source = out_xbar_auto_out_2_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33989.4]
+  assign coupler_to_slave_named_clint_auto_buffer_in_a_bits_address = out_xbar_auto_out_2_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33989.4]
+  assign coupler_to_slave_named_clint_auto_buffer_in_a_bits_mask = out_xbar_auto_out_2_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33989.4]
+  assign coupler_to_slave_named_clint_auto_buffer_in_a_bits_data = out_xbar_auto_out_2_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33989.4]
+  assign coupler_to_slave_named_clint_auto_buffer_in_a_bits_corrupt = out_xbar_auto_out_2_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33989.4]
+  assign coupler_to_slave_named_clint_auto_buffer_in_d_ready = out_xbar_auto_out_2_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33989.4]
+  assign coupler_to_slave_named_clint_auto_fragmenter_out_a_ready = auto_coupler_to_slave_named_clint_fragmenter_out_a_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34001.4]
+  assign coupler_to_slave_named_clint_auto_fragmenter_out_d_valid = auto_coupler_to_slave_named_clint_fragmenter_out_d_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34001.4]
+  assign coupler_to_slave_named_clint_auto_fragmenter_out_d_bits_opcode = auto_coupler_to_slave_named_clint_fragmenter_out_d_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34001.4]
+  assign coupler_to_slave_named_clint_auto_fragmenter_out_d_bits_size = auto_coupler_to_slave_named_clint_fragmenter_out_d_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34001.4]
+  assign coupler_to_slave_named_clint_auto_fragmenter_out_d_bits_source = auto_coupler_to_slave_named_clint_fragmenter_out_d_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34001.4]
+  assign coupler_to_slave_named_clint_auto_fragmenter_out_d_bits_data = auto_coupler_to_slave_named_clint_fragmenter_out_d_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34001.4]
+  assign coupler_to_slave_named_debug_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33961.4]
+  assign coupler_to_slave_named_debug_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33962.4]
+  assign coupler_to_slave_named_debug_auto_buffer_in_a_valid = out_xbar_auto_out_3_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33990.4]
+  assign coupler_to_slave_named_debug_auto_buffer_in_a_bits_opcode = out_xbar_auto_out_3_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33990.4]
+  assign coupler_to_slave_named_debug_auto_buffer_in_a_bits_param = out_xbar_auto_out_3_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33990.4]
+  assign coupler_to_slave_named_debug_auto_buffer_in_a_bits_size = out_xbar_auto_out_3_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33990.4]
+  assign coupler_to_slave_named_debug_auto_buffer_in_a_bits_source = out_xbar_auto_out_3_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33990.4]
+  assign coupler_to_slave_named_debug_auto_buffer_in_a_bits_address = out_xbar_auto_out_3_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33990.4]
+  assign coupler_to_slave_named_debug_auto_buffer_in_a_bits_mask = out_xbar_auto_out_3_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33990.4]
+  assign coupler_to_slave_named_debug_auto_buffer_in_a_bits_data = out_xbar_auto_out_3_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33990.4]
+  assign coupler_to_slave_named_debug_auto_buffer_in_a_bits_corrupt = out_xbar_auto_out_3_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33990.4]
+  assign coupler_to_slave_named_debug_auto_buffer_in_d_ready = out_xbar_auto_out_3_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33990.4]
+  assign coupler_to_slave_named_debug_auto_fragmenter_out_a_ready = auto_coupler_to_slave_named_debug_fragmenter_out_a_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34002.4]
+  assign coupler_to_slave_named_debug_auto_fragmenter_out_d_valid = auto_coupler_to_slave_named_debug_fragmenter_out_d_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34002.4]
+  assign coupler_to_slave_named_debug_auto_fragmenter_out_d_bits_opcode = auto_coupler_to_slave_named_debug_fragmenter_out_d_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34002.4]
+  assign coupler_to_slave_named_debug_auto_fragmenter_out_d_bits_size = auto_coupler_to_slave_named_debug_fragmenter_out_d_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34002.4]
+  assign coupler_to_slave_named_debug_auto_fragmenter_out_d_bits_source = auto_coupler_to_slave_named_debug_fragmenter_out_d_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34002.4]
+  assign coupler_to_slave_named_debug_auto_fragmenter_out_d_bits_data = auto_coupler_to_slave_named_debug_fragmenter_out_d_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34002.4]
+  assign coupler_to_tile_named_tile_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33967.4]
+  assign coupler_to_tile_named_tile_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33968.4]
+  assign coupler_to_tile_named_tile_auto_buffer_in_a_valid = out_xbar_auto_out_4_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33991.4]
+  assign coupler_to_tile_named_tile_auto_buffer_in_a_bits_opcode = out_xbar_auto_out_4_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33991.4]
+  assign coupler_to_tile_named_tile_auto_buffer_in_a_bits_param = out_xbar_auto_out_4_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33991.4]
+  assign coupler_to_tile_named_tile_auto_buffer_in_a_bits_size = out_xbar_auto_out_4_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33991.4]
+  assign coupler_to_tile_named_tile_auto_buffer_in_a_bits_source = out_xbar_auto_out_4_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33991.4]
+  assign coupler_to_tile_named_tile_auto_buffer_in_a_bits_address = out_xbar_auto_out_4_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33991.4]
+  assign coupler_to_tile_named_tile_auto_buffer_in_a_bits_mask = out_xbar_auto_out_4_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33991.4]
+  assign coupler_to_tile_named_tile_auto_buffer_in_a_bits_data = out_xbar_auto_out_4_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33991.4]
+  assign coupler_to_tile_named_tile_auto_buffer_in_a_bits_corrupt = out_xbar_auto_out_4_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33991.4]
+  assign coupler_to_tile_named_tile_auto_buffer_in_d_ready = out_xbar_auto_out_4_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33991.4]
+  assign coupler_to_tile_named_tile_auto_tl_slave_xing_out_a_ready = auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34003.4]
+  assign coupler_to_tile_named_tile_auto_tl_slave_xing_out_d_valid = auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34003.4]
+  assign coupler_to_tile_named_tile_auto_tl_slave_xing_out_d_bits_opcode = auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34003.4]
+  assign coupler_to_tile_named_tile_auto_tl_slave_xing_out_d_bits_param = auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34003.4]
+  assign coupler_to_tile_named_tile_auto_tl_slave_xing_out_d_bits_size = auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34003.4]
+  assign coupler_to_tile_named_tile_auto_tl_slave_xing_out_d_bits_source = auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34003.4]
+  assign coupler_to_tile_named_tile_auto_tl_slave_xing_out_d_bits_sink = auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_sink; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34003.4]
+  assign coupler_to_tile_named_tile_auto_tl_slave_xing_out_d_bits_denied = auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_denied; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34003.4]
+  assign coupler_to_tile_named_tile_auto_tl_slave_xing_out_d_bits_data = auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34003.4]
+  assign coupler_to_tile_named_tile_auto_tl_slave_xing_out_d_bits_corrupt = auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34003.4]
+  assign coupler_to_slave_named_MaskROM_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33973.4]
+  assign coupler_to_slave_named_MaskROM_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33974.4]
+  assign coupler_to_slave_named_MaskROM_auto_buffer_in_a_valid = out_xbar_auto_out_5_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33992.4]
+  assign coupler_to_slave_named_MaskROM_auto_buffer_in_a_bits_opcode = out_xbar_auto_out_5_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33992.4]
+  assign coupler_to_slave_named_MaskROM_auto_buffer_in_a_bits_param = out_xbar_auto_out_5_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33992.4]
+  assign coupler_to_slave_named_MaskROM_auto_buffer_in_a_bits_size = out_xbar_auto_out_5_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33992.4]
+  assign coupler_to_slave_named_MaskROM_auto_buffer_in_a_bits_source = out_xbar_auto_out_5_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33992.4]
+  assign coupler_to_slave_named_MaskROM_auto_buffer_in_a_bits_address = out_xbar_auto_out_5_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33992.4]
+  assign coupler_to_slave_named_MaskROM_auto_buffer_in_a_bits_mask = out_xbar_auto_out_5_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33992.4]
+  assign coupler_to_slave_named_MaskROM_auto_buffer_in_a_bits_corrupt = out_xbar_auto_out_5_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33992.4]
+  assign coupler_to_slave_named_MaskROM_auto_buffer_in_d_ready = out_xbar_auto_out_5_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33992.4]
+  assign coupler_to_slave_named_MaskROM_auto_fragmenter_out_a_ready = auto_coupler_to_slave_named_MaskROM_fragmenter_out_a_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34004.4]
+  assign coupler_to_slave_named_MaskROM_auto_fragmenter_out_d_valid = auto_coupler_to_slave_named_MaskROM_fragmenter_out_d_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34004.4]
+  assign coupler_to_slave_named_MaskROM_auto_fragmenter_out_d_bits_size = auto_coupler_to_slave_named_MaskROM_fragmenter_out_d_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34004.4]
+  assign coupler_to_slave_named_MaskROM_auto_fragmenter_out_d_bits_source = auto_coupler_to_slave_named_MaskROM_fragmenter_out_d_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34004.4]
+  assign coupler_to_slave_named_MaskROM_auto_fragmenter_out_d_bits_data = auto_coupler_to_slave_named_MaskROM_fragmenter_out_d_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34004.4]
+  assign coupler_to_slave_named_aon_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33979.4]
+  assign coupler_to_slave_named_aon_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33980.4]
+  assign coupler_to_slave_named_aon_auto_buffer_in_a_valid = out_xbar_auto_out_6_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33993.4]
+  assign coupler_to_slave_named_aon_auto_buffer_in_a_bits_opcode = out_xbar_auto_out_6_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33993.4]
+  assign coupler_to_slave_named_aon_auto_buffer_in_a_bits_param = out_xbar_auto_out_6_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33993.4]
+  assign coupler_to_slave_named_aon_auto_buffer_in_a_bits_size = out_xbar_auto_out_6_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33993.4]
+  assign coupler_to_slave_named_aon_auto_buffer_in_a_bits_source = out_xbar_auto_out_6_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33993.4]
+  assign coupler_to_slave_named_aon_auto_buffer_in_a_bits_address = out_xbar_auto_out_6_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33993.4]
+  assign coupler_to_slave_named_aon_auto_buffer_in_a_bits_mask = out_xbar_auto_out_6_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33993.4]
+  assign coupler_to_slave_named_aon_auto_buffer_in_a_bits_data = out_xbar_auto_out_6_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33993.4]
+  assign coupler_to_slave_named_aon_auto_buffer_in_a_bits_corrupt = out_xbar_auto_out_6_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33993.4]
+  assign coupler_to_slave_named_aon_auto_buffer_in_d_ready = out_xbar_auto_out_6_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33993.4]
+  assign coupler_to_slave_named_aon_auto_asource_out_a_ridx = auto_coupler_to_slave_named_aon_asource_out_a_ridx; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34005.4]
+  assign coupler_to_slave_named_aon_auto_asource_out_a_safe_ridx_valid = auto_coupler_to_slave_named_aon_asource_out_a_safe_ridx_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34005.4]
+  assign coupler_to_slave_named_aon_auto_asource_out_a_safe_sink_reset_n = auto_coupler_to_slave_named_aon_asource_out_a_safe_sink_reset_n; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34005.4]
+  assign coupler_to_slave_named_aon_auto_asource_out_d_mem_0_opcode = auto_coupler_to_slave_named_aon_asource_out_d_mem_0_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34005.4]
+  assign coupler_to_slave_named_aon_auto_asource_out_d_mem_0_param = auto_coupler_to_slave_named_aon_asource_out_d_mem_0_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34005.4]
+  assign coupler_to_slave_named_aon_auto_asource_out_d_mem_0_size = auto_coupler_to_slave_named_aon_asource_out_d_mem_0_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34005.4]
+  assign coupler_to_slave_named_aon_auto_asource_out_d_mem_0_source = auto_coupler_to_slave_named_aon_asource_out_d_mem_0_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34005.4]
+  assign coupler_to_slave_named_aon_auto_asource_out_d_mem_0_sink = auto_coupler_to_slave_named_aon_asource_out_d_mem_0_sink; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34005.4]
+  assign coupler_to_slave_named_aon_auto_asource_out_d_mem_0_denied = auto_coupler_to_slave_named_aon_asource_out_d_mem_0_denied; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34005.4]
+  assign coupler_to_slave_named_aon_auto_asource_out_d_mem_0_data = auto_coupler_to_slave_named_aon_asource_out_d_mem_0_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34005.4]
+  assign coupler_to_slave_named_aon_auto_asource_out_d_mem_0_corrupt = auto_coupler_to_slave_named_aon_asource_out_d_mem_0_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34005.4]
+  assign coupler_to_slave_named_aon_auto_asource_out_d_widx = auto_coupler_to_slave_named_aon_asource_out_d_widx; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34005.4]
+  assign coupler_to_slave_named_aon_auto_asource_out_d_safe_widx_valid = auto_coupler_to_slave_named_aon_asource_out_d_safe_widx_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34005.4]
+  assign coupler_to_slave_named_aon_auto_asource_out_d_safe_source_reset_n = auto_coupler_to_slave_named_aon_asource_out_d_safe_source_reset_n; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34005.4]
+endmodule
+module TLMonitor_20( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34014.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34015.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34016.4]
+  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34017.4]
+  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34017.4]
+  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34017.4]
+  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34017.4]
+  input  [3:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34017.4]
+  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34017.4]
+  input  [31:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34017.4]
+  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34017.4]
+  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34017.4]
+  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34017.4]
+  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34017.4]
+  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34017.4]
+  input  [1:0]  io_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34017.4]
+  input  [3:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34017.4]
+  input         io_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34017.4]
+  input         io_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34017.4]
+  input         io_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34017.4]
+  input         io_in_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34017.4]
+);
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@35807.4]
+  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@34033.6]
+  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@34038.6]
+  wire [26:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@34040.6]
+  wire [11:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@34041.6]
+  wire [11:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@34042.6]
+  wire [31:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@34043.6]
+  wire [31:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@34043.6]
+  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@34044.6]
+  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34046.6]
+  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@34047.6]
+  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@34049.6]
+  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@34050.6]
+  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@34051.6]
+  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@34052.6]
+  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@34053.6]
+  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@34055.6]
+  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34056.6]
+  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@34058.6]
+  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34059.6]
+  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@34060.6]
+  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@34061.6]
+  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@34062.6]
+  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34063.6]
+  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@34064.6]
+  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34065.6]
+  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34066.6]
+  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@34067.6]
+  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34068.6]
+  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34069.6]
+  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@34070.6]
+  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34071.6]
+  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34072.6]
+  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@34073.6]
+  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34074.6]
+  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@34075.6]
+  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@34076.6]
+  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@34077.6]
+  wire [32:0] _T_73; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34081.6]
+  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@34102.6]
+  wire [31:0] _T_92; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34105.8]
+  wire [32:0] _T_93; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34106.8]
+  wire [32:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34107.8]
+  wire [32:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34108.8]
+  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@34109.8]
+  wire [31:0] _T_97; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34110.8]
+  wire [32:0] _T_98; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34111.8]
+  wire [32:0] _T_99; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34112.8]
+  wire [32:0] _T_100; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34113.8]
+  wire  _T_101; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@34114.8]
+  wire [31:0] _T_102; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34115.8]
+  wire [32:0] _T_103; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34116.8]
+  wire [32:0] _T_104; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34117.8]
+  wire [32:0] _T_105; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34118.8]
+  wire  _T_106; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@34119.8]
+  wire [31:0] _T_107; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34120.8]
+  wire [32:0] _T_108; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34121.8]
+  wire [32:0] _T_109; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34122.8]
+  wire [32:0] _T_110; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34123.8]
+  wire  _T_111; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@34124.8]
+  wire [31:0] _T_112; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34125.8]
+  wire [32:0] _T_113; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34126.8]
+  wire [32:0] _T_114; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34127.8]
+  wire [32:0] _T_115; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34128.8]
+  wire  _T_116; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@34129.8]
+  wire [31:0] _T_117; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34130.8]
+  wire [32:0] _T_118; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34131.8]
+  wire [32:0] _T_119; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34132.8]
+  wire [32:0] _T_120; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34133.8]
+  wire  _T_121; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@34134.8]
+  wire [31:0] _T_122; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34135.8]
+  wire [32:0] _T_123; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34136.8]
+  wire [32:0] _T_124; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34137.8]
+  wire [32:0] _T_125; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34138.8]
+  wire  _T_126; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@34139.8]
+  wire [31:0] _T_127; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34140.8]
+  wire [32:0] _T_128; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34141.8]
+  wire [32:0] _T_129; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34142.8]
+  wire [32:0] _T_130; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34143.8]
+  wire  _T_131; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@34144.8]
+  wire [31:0] _T_132; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34145.8]
+  wire [32:0] _T_133; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34146.8]
+  wire [32:0] _T_134; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34147.8]
+  wire [32:0] _T_135; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34148.8]
+  wire  _T_136; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@34149.8]
+  wire [31:0] _T_137; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34150.8]
+  wire [32:0] _T_138; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34151.8]
+  wire [32:0] _T_139; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34152.8]
+  wire [32:0] _T_140; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34153.8]
+  wire  _T_141; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@34154.8]
+  wire [32:0] _T_144; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34157.8]
+  wire [32:0] _T_145; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34158.8]
+  wire  _T_146; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@34159.8]
+  wire [31:0] _T_147; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34160.8]
+  wire [32:0] _T_148; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34161.8]
+  wire [32:0] _T_149; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34162.8]
+  wire [32:0] _T_150; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34163.8]
+  wire  _T_151; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@34164.8]
+  wire [31:0] _T_152; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34165.8]
+  wire [32:0] _T_153; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34166.8]
+  wire [32:0] _T_154; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34167.8]
+  wire [32:0] _T_155; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34168.8]
+  wire  _T_156; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@34169.8]
+  wire [31:0] _T_157; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34170.8]
+  wire [32:0] _T_158; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34171.8]
+  wire [32:0] _T_159; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34172.8]
+  wire [32:0] _T_160; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34173.8]
+  wire  _T_161; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@34174.8]
+  wire  _T_162; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34175.8]
+  wire  _T_163; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34176.8]
+  wire  _T_164; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34177.8]
+  wire  _T_165; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34178.8]
+  wire  _T_179; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34192.8]
+  wire  _T_184; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34205.8]
+  wire  _T_185; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34206.8]
+  wire  _T_188; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34213.8]
+  wire  _T_189; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34214.8]
+  wire  _T_191; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34220.8]
+  wire  _T_192; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34221.8]
+  wire  _T_193; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34226.8]
+  wire  _T_195; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34228.8]
+  wire  _T_196; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34229.8]
+  wire [3:0] _T_197; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@34234.8]
+  wire  _T_198; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34235.8]
+  wire  _T_200; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34237.8]
+  wire  _T_201; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34238.8]
+  wire  _T_202; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@34243.8]
+  wire  _T_204; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34245.8]
+  wire  _T_205; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34246.8]
+  wire  _T_206; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@34252.6]
+  wire  _T_313; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34384.8]
+  wire  _T_315; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34386.8]
+  wire  _T_316; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34387.8]
+  wire  _T_326; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@34410.6]
+  wire  _T_328; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34413.8]
+  wire  _T_336; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@34421.8]
+  wire  _T_338; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34423.8]
+  wire  _T_406; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34491.8]
+  wire  _T_407; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34492.8]
+  wire  _T_408; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34493.8]
+  wire  _T_409; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34494.8]
+  wire  _T_410; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34495.8]
+  wire  _T_411; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34496.8]
+  wire  _T_412; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34497.8]
+  wire  _T_413; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34498.8]
+  wire  _T_414; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34499.8]
+  wire  _T_415; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34500.8]
+  wire  _T_416; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34501.8]
+  wire  _T_417; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34502.8]
+  wire  _T_418; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@34503.8]
+  wire  _T_420; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@34505.8]
+  wire  _T_422; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34507.8]
+  wire  _T_423; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34508.8]
+  wire  _T_430; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34527.8]
+  wire  _T_432; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34529.8]
+  wire  _T_433; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34530.8]
+  wire  _T_434; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34535.8]
+  wire  _T_436; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34537.8]
+  wire  _T_437; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34538.8]
+  wire  _T_442; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@34552.6]
+  wire  _T_515; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34626.8]
+  wire  _T_516; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34627.8]
+  wire  _T_517; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34628.8]
+  wire  _T_518; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34629.8]
+  wire  _T_519; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34630.8]
+  wire  _T_520; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34631.8]
+  wire  _T_521; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34632.8]
+  wire  _T_522; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@34633.8]
+  wire  _T_537; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@34648.8]
+  wire  _T_540; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34651.8]
+  wire  _T_541; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34652.8]
+  wire  _T_556; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@34688.6]
+  wire [3:0] _T_666; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@34815.8]
+  wire [3:0] _T_667; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34816.8]
+  wire  _T_668; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@34817.8]
+  wire  _T_670; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34819.8]
+  wire  _T_671; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34820.8]
+  wire  _T_672; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@34826.6]
+  wire  _T_674; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34829.8]
+  wire  _T_741; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34896.8]
+  wire  _T_742; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34897.8]
+  wire  _T_743; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34898.8]
+  wire  _T_744; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34899.8]
+  wire  _T_745; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34900.8]
+  wire  _T_746; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34901.8]
+  wire  _T_747; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34902.8]
+  wire  _T_748; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@34903.8]
+  wire  _T_765; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34920.8]
+  wire  _T_766; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34921.8]
+  wire  _T_773; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@34940.8]
+  wire  _T_775; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34942.8]
+  wire  _T_776; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34943.8]
+  wire  _T_781; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@34957.6]
+  wire  _T_882; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@35071.8]
+  wire  _T_884; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35073.8]
+  wire  _T_885; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35074.8]
+  wire  _T_890; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@35088.6]
+  wire  _T_983; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35182.8]
+  wire  _T_984; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35183.8]
+  wire  _T_999; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@35221.6]
+  wire  _T_1001; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@35223.6]
+  wire  _T_1002; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@35224.6]
+  wire  _T_1004; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@35230.6]
+  wire  _T_1013; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@35235.6]
+  wire  _T_1015; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@35237.6]
+  wire  _T_1017; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35240.8]
+  wire  _T_1018; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35241.8]
+  wire  _T_1019; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@35246.8]
+  wire  _T_1021; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35248.8]
+  wire  _T_1022; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35249.8]
+  wire  _T_1023; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@35254.8]
+  wire  _T_1025; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35256.8]
+  wire  _T_1026; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35257.8]
+  wire  _T_1027; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@35262.8]
+  wire  _T_1029; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35264.8]
+  wire  _T_1030; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35265.8]
+  wire  _T_1031; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@35270.8]
+  wire  _T_1033; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35272.8]
+  wire  _T_1034; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35273.8]
+  wire  _T_1035; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@35279.6]
+  wire  _T_1046; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@35303.8]
+  wire  _T_1048; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35305.8]
+  wire  _T_1049; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35306.8]
+  wire  _T_1050; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@35311.8]
+  wire  _T_1052; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35313.8]
+  wire  _T_1053; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35314.8]
+  wire  _T_1063; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@35337.6]
+  wire  _T_1083; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@35378.8]
+  wire  _T_1085; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35380.8]
+  wire  _T_1086; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35381.8]
+  wire  _T_1092; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@35396.6]
+  wire  _T_1109; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@35431.6]
+  wire  _T_1127; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@35467.6]
+  wire  _T_1156; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@35527.4]
+  wire [9:0] _T_1161; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@35532.4]
+  wire  _T_1162; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@35533.4]
+  wire  _T_1163; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@35534.4]
+  reg [9:0] _T_1166; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@35536.4]
+  reg [31:0] _RAND_0;
+  wire [10:0] _T_1167; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@35537.4]
+  wire [10:0] _T_1168; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@35538.4]
+  wire [9:0] _T_1169; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@35539.4]
+  wire  _T_1170; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@35540.4]
+  reg [2:0] _T_1179; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@35551.4]
+  reg [31:0] _RAND_1;
+  reg [2:0] _T_1181; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@35552.4]
+  reg [31:0] _RAND_2;
+  reg [3:0] _T_1183; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@35553.4]
+  reg [31:0] _RAND_3;
+  reg  _T_1185; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@35554.4]
+  reg [31:0] _RAND_4;
+  reg [31:0] _T_1187; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@35555.4]
+  reg [31:0] _RAND_5;
+  wire  _T_1188; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@35556.4]
+  wire  _T_1189; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@35557.4]
+  wire  _T_1190; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@35559.6]
+  wire  _T_1192; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35561.6]
+  wire  _T_1193; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35562.6]
+  wire  _T_1194; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@35567.6]
+  wire  _T_1196; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35569.6]
+  wire  _T_1197; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35570.6]
+  wire  _T_1198; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@35575.6]
+  wire  _T_1200; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35577.6]
+  wire  _T_1201; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35578.6]
+  wire  _T_1202; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@35583.6]
+  wire  _T_1204; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35585.6]
+  wire  _T_1205; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35586.6]
+  wire  _T_1206; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@35591.6]
+  wire  _T_1208; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35593.6]
+  wire  _T_1209; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35594.6]
+  wire  _T_1211; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@35601.4]
+  wire  _T_1212; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@35609.4]
+  wire [26:0] _T_1214; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@35611.4]
+  wire [11:0] _T_1215; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@35612.4]
+  wire [11:0] _T_1216; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@35613.4]
+  wire [9:0] _T_1217; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@35614.4]
+  wire  _T_1218; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@35615.4]
+  reg [9:0] _T_1221; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@35617.4]
+  reg [31:0] _RAND_6;
+  wire [10:0] _T_1222; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@35618.4]
+  wire [10:0] _T_1223; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@35619.4]
+  wire [9:0] _T_1224; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@35620.4]
+  wire  _T_1225; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@35621.4]
+  reg [2:0] _T_1234; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@35632.4]
+  reg [31:0] _RAND_7;
+  reg [1:0] _T_1236; // @[Monitor.scala 419:22:shc.marmotcaravel.MarmotCaravelConfig.fir@35633.4]
+  reg [31:0] _RAND_8;
+  reg [3:0] _T_1238; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@35634.4]
+  reg [31:0] _RAND_9;
+  reg  _T_1240; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@35635.4]
+  reg [31:0] _RAND_10;
+  reg  _T_1242; // @[Monitor.scala 422:22:shc.marmotcaravel.MarmotCaravelConfig.fir@35636.4]
+  reg [31:0] _RAND_11;
+  reg  _T_1244; // @[Monitor.scala 423:22:shc.marmotcaravel.MarmotCaravelConfig.fir@35637.4]
+  reg [31:0] _RAND_12;
+  wire  _T_1245; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@35638.4]
+  wire  _T_1246; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@35639.4]
+  wire  _T_1247; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@35641.6]
+  wire  _T_1249; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35643.6]
+  wire  _T_1250; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35644.6]
+  wire  _T_1251; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@35649.6]
+  wire  _T_1253; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35651.6]
+  wire  _T_1254; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35652.6]
+  wire  _T_1255; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@35657.6]
+  wire  _T_1257; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35659.6]
+  wire  _T_1258; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35660.6]
+  wire  _T_1259; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@35665.6]
+  wire  _T_1261; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35667.6]
+  wire  _T_1262; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35668.6]
+  wire  _T_1263; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@35673.6]
+  wire  _T_1265; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35675.6]
+  wire  _T_1266; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35676.6]
+  wire  _T_1267; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@35681.6]
+  wire  _T_1269; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35683.6]
+  wire  _T_1270; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35684.6]
+  wire  _T_1272; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@35691.4]
+  reg [1:0] _T_1274; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@35700.4]
+  reg [31:0] _RAND_13;
+  reg [9:0] _T_1285; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@35710.4]
+  reg [31:0] _RAND_14;
+  wire [10:0] _T_1286; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@35711.4]
+  wire [10:0] _T_1287; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@35712.4]
+  wire [9:0] _T_1288; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@35713.4]
+  wire  _T_1289; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@35714.4]
+  reg [9:0] _T_1306; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@35733.4]
+  reg [31:0] _RAND_15;
+  wire [10:0] _T_1307; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@35734.4]
+  wire [10:0] _T_1308; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@35735.4]
+  wire [9:0] _T_1309; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@35736.4]
+  wire  _T_1310; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@35737.4]
+  wire  _T_1321; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@35752.4]
+  wire [1:0] _T_1323; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@35755.6]
+  wire [1:0] _T_1324; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@35757.6]
+  wire  _T_1325; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@35758.6]
+  wire  _T_1326; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35759.6]
+  wire  _T_1328; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@35761.6]
+  wire  _T_1329; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@35762.6]
+  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@35754.4]
+  wire  _T_1334; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@35773.4]
+  wire  _T_1336; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@35775.4]
+  wire  _T_1337; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@35776.4]
+  wire [1:0] _T_1338; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@35778.6]
+  wire [1:0] _T_1339; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@35780.6]
+  wire [1:0] _T_1340; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@35781.6]
+  wire  _T_1341; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@35782.6]
+  wire  _T_1343; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@35784.6]
+  wire  _T_1344; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@35785.6]
+  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@35777.4]
+  wire  _T_1345; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@35791.4]
+  wire  _T_1346; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@35792.4]
+  wire  _T_1347; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@35793.4]
+  wire  _T_1348; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@35794.4]
+  wire  _T_1350; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@35796.4]
+  wire  _T_1351; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@35797.4]
+  wire [1:0] _T_1352; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@35802.4]
+  wire [1:0] _T_1353; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@35803.4]
+  wire [1:0] _T_1354; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@35804.4]
+  reg [31:0] _T_1356; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@35806.4]
+  reg [31:0] _RAND_16;
+  wire  _T_1357; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@35809.4]
+  wire  _T_1358; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@35810.4]
+  wire  _T_1359; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@35811.4]
+  wire  _T_1360; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@35812.4]
+  wire  _T_1361; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@35813.4]
+  wire  _T_1362; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@35814.4]
+  wire  _T_1364; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@35816.4]
+  wire  _T_1365; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@35817.4]
+  wire [31:0] _T_1367; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@35823.4]
+  wire  _T_1370; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@35827.4]
+  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34194.10]
+  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34344.10]
+  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34510.10]
+  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34654.10]
+  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34790.10]
+  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34923.10]
+  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35054.10]
+  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35185.10]
+  wire  _GEN_115; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35243.10]
+  wire  _GEN_125; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35285.10]
+  wire  _GEN_137; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35343.10]
+  wire  _GEN_149; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35402.10]
+  wire  _GEN_155; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35437.10]
+  wire  _GEN_161; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35473.10]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@35807.4]
+    .out(plusarg_reader_out)
+  );
+  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@34033.6]
+  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@34038.6]
+  assign _T_32 = 27'hfff << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@34040.6]
+  assign _T_33 = _T_32[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@34041.6]
+  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@34042.6]
+  assign _GEN_18 = {{20'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@34043.6]
+  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@34043.6]
+  assign _T_36 = _T_35 == 32'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@34044.6]
+  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34046.6]
+  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@34047.6]
+  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@34049.6]
+  assign _T_42 = io_in_a_bits_size >= 4'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@34050.6]
+  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@34051.6]
+  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@34052.6]
+  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@34053.6]
+  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@34055.6]
+  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34056.6]
+  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@34058.6]
+  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34059.6]
+  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@34060.6]
+  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@34061.6]
+  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@34062.6]
+  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34063.6]
+  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@34064.6]
+  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34065.6]
+  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34066.6]
+  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@34067.6]
+  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34068.6]
+  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34069.6]
+  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@34070.6]
+  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34071.6]
+  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34072.6]
+  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@34073.6]
+  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34074.6]
+  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@34075.6]
+  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@34076.6]
+  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@34077.6]
+  assign _T_73 = {1'b0,$signed(io_in_a_bits_address)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34081.6]
+  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@34102.6]
+  assign _T_92 = io_in_a_bits_address ^ 32'h3000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34105.8]
+  assign _T_93 = {1'b0,$signed(_T_92)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34106.8]
+  assign _T_94 = $signed(_T_93) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34107.8]
+  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34108.8]
+  assign _T_96 = $signed(_T_95) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@34109.8]
+  assign _T_97 = io_in_a_bits_address ^ 32'h10013000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34110.8]
+  assign _T_98 = {1'b0,$signed(_T_97)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34111.8]
+  assign _T_99 = $signed(_T_98) & $signed(-33'sh21000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34112.8]
+  assign _T_100 = $signed(_T_99); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34113.8]
+  assign _T_101 = $signed(_T_100) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@34114.8]
+  assign _T_102 = io_in_a_bits_address ^ 32'h10023000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34115.8]
+  assign _T_103 = {1'b0,$signed(_T_102)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34116.8]
+  assign _T_104 = $signed(_T_103) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34117.8]
+  assign _T_105 = $signed(_T_104); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34118.8]
+  assign _T_106 = $signed(_T_105) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@34119.8]
+  assign _T_107 = io_in_a_bits_address ^ 32'h10043000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34120.8]
+  assign _T_108 = {1'b0,$signed(_T_107)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34121.8]
+  assign _T_109 = $signed(_T_108) & $signed(-33'sh11000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34122.8]
+  assign _T_110 = $signed(_T_109); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34123.8]
+  assign _T_111 = $signed(_T_110) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@34124.8]
+  assign _T_112 = io_in_a_bits_address ^ 32'h10014000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34125.8]
+  assign _T_113 = {1'b0,$signed(_T_112)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34126.8]
+  assign _T_114 = $signed(_T_113) & $signed(-33'sh21000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34127.8]
+  assign _T_115 = $signed(_T_114); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34128.8]
+  assign _T_116 = $signed(_T_115) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@34129.8]
+  assign _T_117 = io_in_a_bits_address ^ 32'h20000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34130.8]
+  assign _T_118 = {1'b0,$signed(_T_117)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34131.8]
+  assign _T_119 = $signed(_T_118) & $signed(-33'sh20000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34132.8]
+  assign _T_120 = $signed(_T_119); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34133.8]
+  assign _T_121 = $signed(_T_120) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@34134.8]
+  assign _T_122 = io_in_a_bits_address ^ 32'h10024000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34135.8]
+  assign _T_123 = {1'b0,$signed(_T_122)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34136.8]
+  assign _T_124 = $signed(_T_123) & $signed(-33'sh3000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34137.8]
+  assign _T_125 = $signed(_T_124); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34138.8]
+  assign _T_126 = $signed(_T_125) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@34139.8]
+  assign _T_127 = io_in_a_bits_address ^ 32'h10012000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34140.8]
+  assign _T_128 = {1'b0,$signed(_T_127)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34141.8]
+  assign _T_129 = $signed(_T_128) & $signed(-33'sh5000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34142.8]
+  assign _T_130 = $signed(_T_129); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34143.8]
+  assign _T_131 = $signed(_T_130) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@34144.8]
+  assign _T_132 = io_in_a_bits_address ^ 32'hc000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34145.8]
+  assign _T_133 = {1'b0,$signed(_T_132)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34146.8]
+  assign _T_134 = $signed(_T_133) & $signed(-33'sh4000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34147.8]
+  assign _T_135 = $signed(_T_134); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34148.8]
+  assign _T_136 = $signed(_T_135) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@34149.8]
+  assign _T_137 = io_in_a_bits_address ^ 32'h2000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34150.8]
+  assign _T_138 = {1'b0,$signed(_T_137)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34151.8]
+  assign _T_139 = $signed(_T_138) & $signed(-33'sh10000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34152.8]
+  assign _T_140 = $signed(_T_139); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34153.8]
+  assign _T_141 = $signed(_T_140) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@34154.8]
+  assign _T_144 = $signed(_T_73) & $signed(-33'sh10001000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34157.8]
+  assign _T_145 = $signed(_T_144); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34158.8]
+  assign _T_146 = $signed(_T_145) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@34159.8]
+  assign _T_147 = io_in_a_bits_address ^ 32'h8000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34160.8]
+  assign _T_148 = {1'b0,$signed(_T_147)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34161.8]
+  assign _T_149 = $signed(_T_148) & $signed(-33'sh4000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34162.8]
+  assign _T_150 = $signed(_T_149); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34163.8]
+  assign _T_151 = $signed(_T_150) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@34164.8]
+  assign _T_152 = io_in_a_bits_address ^ 32'h80000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34165.8]
+  assign _T_153 = {1'b0,$signed(_T_152)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34166.8]
+  assign _T_154 = $signed(_T_153) & $signed(-33'sh4000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34167.8]
+  assign _T_155 = $signed(_T_154); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34168.8]
+  assign _T_156 = $signed(_T_155) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@34169.8]
+  assign _T_157 = io_in_a_bits_address ^ 32'h10000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34170.8]
+  assign _T_158 = {1'b0,$signed(_T_157)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34171.8]
+  assign _T_159 = $signed(_T_158) & $signed(-33'sh2000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34172.8]
+  assign _T_160 = $signed(_T_159); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34173.8]
+  assign _T_161 = $signed(_T_160) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@34174.8]
+  assign _T_162 = _T_96 | _T_101; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34175.8]
+  assign _T_163 = _T_162 | _T_106; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34176.8]
+  assign _T_164 = _T_163 | _T_111; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34177.8]
+  assign _T_165 = _T_164 | _T_116; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34178.8]
+  assign _T_179 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34192.8]
+  assign _T_184 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34205.8]
+  assign _T_185 = _T_184 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34206.8]
+  assign _T_188 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34213.8]
+  assign _T_189 = _T_188 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34214.8]
+  assign _T_191 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34220.8]
+  assign _T_192 = _T_191 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34221.8]
+  assign _T_193 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34226.8]
+  assign _T_195 = _T_193 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34228.8]
+  assign _T_196 = _T_195 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34229.8]
+  assign _T_197 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@34234.8]
+  assign _T_198 = _T_197 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34235.8]
+  assign _T_200 = _T_198 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34237.8]
+  assign _T_201 = _T_200 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34238.8]
+  assign _T_202 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@34243.8]
+  assign _T_204 = _T_202 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34245.8]
+  assign _T_205 = _T_204 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34246.8]
+  assign _T_206 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@34252.6]
+  assign _T_313 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34384.8]
+  assign _T_315 = _T_313 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34386.8]
+  assign _T_316 = _T_315 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34387.8]
+  assign _T_326 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@34410.6]
+  assign _T_328 = io_in_a_bits_size <= 4'hc; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34413.8]
+  assign _T_336 = _T_328 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@34421.8]
+  assign _T_338 = io_in_a_bits_size <= 4'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34423.8]
+  assign _T_406 = _T_101 | _T_106; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34491.8]
+  assign _T_407 = _T_406 | _T_111; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34492.8]
+  assign _T_408 = _T_407 | _T_116; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34493.8]
+  assign _T_409 = _T_408 | _T_121; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34494.8]
+  assign _T_410 = _T_409 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34495.8]
+  assign _T_411 = _T_410 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34496.8]
+  assign _T_412 = _T_411 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34497.8]
+  assign _T_413 = _T_412 | _T_141; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34498.8]
+  assign _T_414 = _T_413 | _T_146; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34499.8]
+  assign _T_415 = _T_414 | _T_151; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34500.8]
+  assign _T_416 = _T_415 | _T_156; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34501.8]
+  assign _T_417 = _T_416 | _T_161; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34502.8]
+  assign _T_418 = _T_338 & _T_417; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@34503.8]
+  assign _T_420 = _T_336 | _T_418; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@34505.8]
+  assign _T_422 = _T_420 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34507.8]
+  assign _T_423 = _T_422 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34508.8]
+  assign _T_430 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34527.8]
+  assign _T_432 = _T_430 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34529.8]
+  assign _T_433 = _T_432 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34530.8]
+  assign _T_434 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34535.8]
+  assign _T_436 = _T_434 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34537.8]
+  assign _T_437 = _T_436 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34538.8]
+  assign _T_442 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@34552.6]
+  assign _T_515 = _T_408 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34626.8]
+  assign _T_516 = _T_515 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34627.8]
+  assign _T_517 = _T_516 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34628.8]
+  assign _T_518 = _T_517 | _T_141; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34629.8]
+  assign _T_519 = _T_518 | _T_146; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34630.8]
+  assign _T_520 = _T_519 | _T_151; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34631.8]
+  assign _T_521 = _T_520 | _T_156; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34632.8]
+  assign _T_522 = _T_338 & _T_521; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@34633.8]
+  assign _T_537 = _T_336 | _T_522; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@34648.8]
+  assign _T_540 = _T_537 | reset; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34651.8]
+  assign _T_541 = _T_540 == 1'h0; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34652.8]
+  assign _T_556 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@34688.6]
+  assign _T_666 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@34815.8]
+  assign _T_667 = io_in_a_bits_mask & _T_666; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34816.8]
+  assign _T_668 = _T_667 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@34817.8]
+  assign _T_670 = _T_668 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34819.8]
+  assign _T_671 = _T_670 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34820.8]
+  assign _T_672 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@34826.6]
+  assign _T_674 = io_in_a_bits_size <= 4'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34829.8]
+  assign _T_741 = _T_165 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34896.8]
+  assign _T_742 = _T_741 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34897.8]
+  assign _T_743 = _T_742 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34898.8]
+  assign _T_744 = _T_743 | _T_141; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34899.8]
+  assign _T_745 = _T_744 | _T_146; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34900.8]
+  assign _T_746 = _T_745 | _T_151; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34901.8]
+  assign _T_747 = _T_746 | _T_156; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34902.8]
+  assign _T_748 = _T_674 & _T_747; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@34903.8]
+  assign _T_765 = _T_748 | reset; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34920.8]
+  assign _T_766 = _T_765 == 1'h0; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34921.8]
+  assign _T_773 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@34940.8]
+  assign _T_775 = _T_773 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34942.8]
+  assign _T_776 = _T_775 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34943.8]
+  assign _T_781 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@34957.6]
+  assign _T_882 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@35071.8]
+  assign _T_884 = _T_882 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35073.8]
+  assign _T_885 = _T_884 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35074.8]
+  assign _T_890 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@35088.6]
+  assign _T_983 = _T_336 | reset; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35182.8]
+  assign _T_984 = _T_983 == 1'h0; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35183.8]
+  assign _T_999 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@35221.6]
+  assign _T_1001 = _T_999 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@35223.6]
+  assign _T_1002 = _T_1001 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@35224.6]
+  assign _T_1004 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@35230.6]
+  assign _T_1013 = io_in_d_bits_source | _T_1004; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@35235.6]
+  assign _T_1015 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@35237.6]
+  assign _T_1017 = _T_1013 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35240.8]
+  assign _T_1018 = _T_1017 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35241.8]
+  assign _T_1019 = io_in_d_bits_size >= 4'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@35246.8]
+  assign _T_1021 = _T_1019 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35248.8]
+  assign _T_1022 = _T_1021 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35249.8]
+  assign _T_1023 = io_in_d_bits_param == 2'h0; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@35254.8]
+  assign _T_1025 = _T_1023 | reset; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35256.8]
+  assign _T_1026 = _T_1025 == 1'h0; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35257.8]
+  assign _T_1027 = io_in_d_bits_corrupt == 1'h0; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@35262.8]
+  assign _T_1029 = _T_1027 | reset; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35264.8]
+  assign _T_1030 = _T_1029 == 1'h0; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35265.8]
+  assign _T_1031 = io_in_d_bits_denied == 1'h0; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@35270.8]
+  assign _T_1033 = _T_1031 | reset; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35272.8]
+  assign _T_1034 = _T_1033 == 1'h0; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35273.8]
+  assign _T_1035 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@35279.6]
+  assign _T_1046 = io_in_d_bits_param <= 2'h2; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@35303.8]
+  assign _T_1048 = _T_1046 | reset; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35305.8]
+  assign _T_1049 = _T_1048 == 1'h0; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35306.8]
+  assign _T_1050 = io_in_d_bits_param != 2'h2; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@35311.8]
+  assign _T_1052 = _T_1050 | reset; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35313.8]
+  assign _T_1053 = _T_1052 == 1'h0; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35314.8]
+  assign _T_1063 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@35337.6]
+  assign _T_1083 = _T_1031 | io_in_d_bits_corrupt; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@35378.8]
+  assign _T_1085 = _T_1083 | reset; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35380.8]
+  assign _T_1086 = _T_1085 == 1'h0; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35381.8]
+  assign _T_1092 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@35396.6]
+  assign _T_1109 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@35431.6]
+  assign _T_1127 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@35467.6]
+  assign _T_1156 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@35527.4]
+  assign _T_1161 = _T_34[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@35532.4]
+  assign _T_1162 = io_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@35533.4]
+  assign _T_1163 = _T_1162 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@35534.4]
+  assign _T_1167 = _T_1166 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@35537.4]
+  assign _T_1168 = $unsigned(_T_1167); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@35538.4]
+  assign _T_1169 = _T_1168[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@35539.4]
+  assign _T_1170 = _T_1166 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@35540.4]
+  assign _T_1188 = _T_1170 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@35556.4]
+  assign _T_1189 = io_in_a_valid & _T_1188; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@35557.4]
+  assign _T_1190 = io_in_a_bits_opcode == _T_1179; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@35559.6]
+  assign _T_1192 = _T_1190 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35561.6]
+  assign _T_1193 = _T_1192 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35562.6]
+  assign _T_1194 = io_in_a_bits_param == _T_1181; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@35567.6]
+  assign _T_1196 = _T_1194 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35569.6]
+  assign _T_1197 = _T_1196 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35570.6]
+  assign _T_1198 = io_in_a_bits_size == _T_1183; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@35575.6]
+  assign _T_1200 = _T_1198 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35577.6]
+  assign _T_1201 = _T_1200 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35578.6]
+  assign _T_1202 = io_in_a_bits_source == _T_1185; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@35583.6]
+  assign _T_1204 = _T_1202 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35585.6]
+  assign _T_1205 = _T_1204 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35586.6]
+  assign _T_1206 = io_in_a_bits_address == _T_1187; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@35591.6]
+  assign _T_1208 = _T_1206 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35593.6]
+  assign _T_1209 = _T_1208 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35594.6]
+  assign _T_1211 = _T_1156 & _T_1170; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@35601.4]
+  assign _T_1212 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@35609.4]
+  assign _T_1214 = 27'hfff << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@35611.4]
+  assign _T_1215 = _T_1214[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@35612.4]
+  assign _T_1216 = ~ _T_1215; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@35613.4]
+  assign _T_1217 = _T_1216[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@35614.4]
+  assign _T_1218 = io_in_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@35615.4]
+  assign _T_1222 = _T_1221 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@35618.4]
+  assign _T_1223 = $unsigned(_T_1222); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@35619.4]
+  assign _T_1224 = _T_1223[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@35620.4]
+  assign _T_1225 = _T_1221 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@35621.4]
+  assign _T_1245 = _T_1225 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@35638.4]
+  assign _T_1246 = io_in_d_valid & _T_1245; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@35639.4]
+  assign _T_1247 = io_in_d_bits_opcode == _T_1234; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@35641.6]
+  assign _T_1249 = _T_1247 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35643.6]
+  assign _T_1250 = _T_1249 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35644.6]
+  assign _T_1251 = io_in_d_bits_param == _T_1236; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@35649.6]
+  assign _T_1253 = _T_1251 | reset; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35651.6]
+  assign _T_1254 = _T_1253 == 1'h0; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35652.6]
+  assign _T_1255 = io_in_d_bits_size == _T_1238; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@35657.6]
+  assign _T_1257 = _T_1255 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35659.6]
+  assign _T_1258 = _T_1257 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35660.6]
+  assign _T_1259 = io_in_d_bits_source == _T_1240; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@35665.6]
+  assign _T_1261 = _T_1259 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35667.6]
+  assign _T_1262 = _T_1261 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35668.6]
+  assign _T_1263 = io_in_d_bits_sink == _T_1242; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@35673.6]
+  assign _T_1265 = _T_1263 | reset; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35675.6]
+  assign _T_1266 = _T_1265 == 1'h0; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35676.6]
+  assign _T_1267 = io_in_d_bits_denied == _T_1244; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@35681.6]
+  assign _T_1269 = _T_1267 | reset; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35683.6]
+  assign _T_1270 = _T_1269 == 1'h0; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35684.6]
+  assign _T_1272 = _T_1212 & _T_1225; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@35691.4]
+  assign _T_1286 = _T_1285 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@35711.4]
+  assign _T_1287 = $unsigned(_T_1286); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@35712.4]
+  assign _T_1288 = _T_1287[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@35713.4]
+  assign _T_1289 = _T_1285 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@35714.4]
+  assign _T_1307 = _T_1306 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@35734.4]
+  assign _T_1308 = $unsigned(_T_1307); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@35735.4]
+  assign _T_1309 = _T_1308[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@35736.4]
+  assign _T_1310 = _T_1306 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@35737.4]
+  assign _T_1321 = _T_1156 & _T_1289; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@35752.4]
+  assign _T_1323 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@35755.6]
+  assign _T_1324 = _T_1274 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@35757.6]
+  assign _T_1325 = _T_1324[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@35758.6]
+  assign _T_1326 = _T_1325 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35759.6]
+  assign _T_1328 = _T_1326 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@35761.6]
+  assign _T_1329 = _T_1328 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@35762.6]
+  assign _GEN_15 = _T_1321 ? _T_1323 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@35754.4]
+  assign _T_1334 = _T_1212 & _T_1310; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@35773.4]
+  assign _T_1336 = _T_1015 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@35775.4]
+  assign _T_1337 = _T_1334 & _T_1336; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@35776.4]
+  assign _T_1338 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@35778.6]
+  assign _T_1339 = _GEN_15 | _T_1274; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@35780.6]
+  assign _T_1340 = _T_1339 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@35781.6]
+  assign _T_1341 = _T_1340[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@35782.6]
+  assign _T_1343 = _T_1341 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@35784.6]
+  assign _T_1344 = _T_1343 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@35785.6]
+  assign _GEN_16 = _T_1337 ? _T_1338 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@35777.4]
+  assign _T_1345 = _GEN_15 != _GEN_16; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@35791.4]
+  assign _T_1346 = _GEN_15 != 2'h0; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@35792.4]
+  assign _T_1347 = _T_1346 == 1'h0; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@35793.4]
+  assign _T_1348 = _T_1345 | _T_1347; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@35794.4]
+  assign _T_1350 = _T_1348 | reset; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@35796.4]
+  assign _T_1351 = _T_1350 == 1'h0; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@35797.4]
+  assign _T_1352 = _T_1274 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@35802.4]
+  assign _T_1353 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@35803.4]
+  assign _T_1354 = _T_1352 & _T_1353; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@35804.4]
+  assign _T_1357 = _T_1274 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@35809.4]
+  assign _T_1358 = _T_1357 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@35810.4]
+  assign _T_1359 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@35811.4]
+  assign _T_1360 = _T_1358 | _T_1359; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@35812.4]
+  assign _T_1361 = _T_1356 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@35813.4]
+  assign _T_1362 = _T_1360 | _T_1361; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@35814.4]
+  assign _T_1364 = _T_1362 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@35816.4]
+  assign _T_1365 = _T_1364 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@35817.4]
+  assign _T_1367 = _T_1356 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@35823.4]
+  assign _T_1370 = _T_1156 | _T_1212; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@35827.4]
+  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34194.10]
+  assign _GEN_35 = io_in_a_valid & _T_206; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34344.10]
+  assign _GEN_53 = io_in_a_valid & _T_326; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34510.10]
+  assign _GEN_65 = io_in_a_valid & _T_442; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34654.10]
+  assign _GEN_75 = io_in_a_valid & _T_556; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34790.10]
+  assign _GEN_85 = io_in_a_valid & _T_672; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34923.10]
+  assign _GEN_95 = io_in_a_valid & _T_781; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35054.10]
+  assign _GEN_105 = io_in_a_valid & _T_890; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35185.10]
+  assign _GEN_115 = io_in_d_valid & _T_1015; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35243.10]
+  assign _GEN_125 = io_in_d_valid & _T_1035; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35285.10]
+  assign _GEN_137 = io_in_d_valid & _T_1063; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35343.10]
+  assign _GEN_149 = io_in_d_valid & _T_1092; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35402.10]
+  assign _GEN_155 = io_in_d_valid & _T_1109; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35437.10]
+  assign _GEN_161 = io_in_d_valid & _T_1127; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35473.10]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  _T_1166 = _RAND_0[9:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  _T_1179 = _RAND_1[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  _T_1181 = _RAND_2[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  _T_1183 = _RAND_3[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  _T_1185 = _RAND_4[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  _T_1187 = _RAND_5[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {1{`RANDOM}};
+  _T_1221 = _RAND_6[9:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {1{`RANDOM}};
+  _T_1234 = _RAND_7[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_8 = {1{`RANDOM}};
+  _T_1236 = _RAND_8[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_9 = {1{`RANDOM}};
+  _T_1238 = _RAND_9[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_10 = {1{`RANDOM}};
+  _T_1240 = _RAND_10[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_11 = {1{`RANDOM}};
+  _T_1242 = _RAND_11[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_12 = {1{`RANDOM}};
+  _T_1244 = _RAND_12[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_13 = {1{`RANDOM}};
+  _T_1274 = _RAND_13[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_14 = {1{`RANDOM}};
+  _T_1285 = _RAND_14[9:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_15 = {1{`RANDOM}};
+  _T_1306 = _RAND_15[9:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_16 = {1{`RANDOM}};
+  _T_1356 = _RAND_16[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      _T_1166 <= 10'h0;
+    end else begin
+      if (_T_1156) begin
+        if (_T_1170) begin
+          if (_T_1163) begin
+            _T_1166 <= _T_1161;
+          end else begin
+            _T_1166 <= 10'h0;
+          end
+        end else begin
+          _T_1166 <= _T_1169;
+        end
+      end
+    end
+    if (_T_1211) begin
+      _T_1179 <= io_in_a_bits_opcode;
+    end
+    if (_T_1211) begin
+      _T_1181 <= io_in_a_bits_param;
+    end
+    if (_T_1211) begin
+      _T_1183 <= io_in_a_bits_size;
+    end
+    if (_T_1211) begin
+      _T_1185 <= io_in_a_bits_source;
+    end
+    if (_T_1211) begin
+      _T_1187 <= io_in_a_bits_address;
+    end
+    if (reset) begin
+      _T_1221 <= 10'h0;
+    end else begin
+      if (_T_1212) begin
+        if (_T_1225) begin
+          if (_T_1218) begin
+            _T_1221 <= _T_1217;
+          end else begin
+            _T_1221 <= 10'h0;
+          end
+        end else begin
+          _T_1221 <= _T_1224;
+        end
+      end
+    end
+    if (_T_1272) begin
+      _T_1234 <= io_in_d_bits_opcode;
+    end
+    if (_T_1272) begin
+      _T_1236 <= io_in_d_bits_param;
+    end
+    if (_T_1272) begin
+      _T_1238 <= io_in_d_bits_size;
+    end
+    if (_T_1272) begin
+      _T_1240 <= io_in_d_bits_source;
+    end
+    if (_T_1272) begin
+      _T_1242 <= io_in_d_bits_sink;
+    end
+    if (_T_1272) begin
+      _T_1244 <= io_in_d_bits_denied;
+    end
+    if (reset) begin
+      _T_1274 <= 2'h0;
+    end else begin
+      _T_1274 <= _T_1354;
+    end
+    if (reset) begin
+      _T_1285 <= 10'h0;
+    end else begin
+      if (_T_1156) begin
+        if (_T_1289) begin
+          if (_T_1163) begin
+            _T_1285 <= _T_1161;
+          end else begin
+            _T_1285 <= 10'h0;
+          end
+        end else begin
+          _T_1285 <= _T_1288;
+        end
+      end
+    end
+    if (reset) begin
+      _T_1306 <= 10'h0;
+    end else begin
+      if (_T_1212) begin
+        if (_T_1310) begin
+          if (_T_1218) begin
+            _T_1306 <= _T_1217;
+          end else begin
+            _T_1306 <= 10'h0;
+          end
+        end else begin
+          _T_1306 <= _T_1309;
+        end
+      end
+    end
+    if (reset) begin
+      _T_1356 <= 32'h0;
+    end else begin
+      if (_T_1370) begin
+        _T_1356 <= 32'h0;
+      end else begin
+        _T_1356 <= _T_1367;
+      end
+    end
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at SystemBus.scala:49:9)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@34029.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@34030.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@34099.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@34100.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_179) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at SystemBus.scala:49:9)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34194.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_179) begin
+          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34195.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_179) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at SystemBus.scala:49:9)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34201.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_179) begin
+          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34202.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_185) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at SystemBus.scala:49:9)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34208.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_185) begin
+          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34209.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_189) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at SystemBus.scala:49:9)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34216.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_189) begin
+          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34217.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_192) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at SystemBus.scala:49:9)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34223.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_192) begin
+          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34224.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_196) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at SystemBus.scala:49:9)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34231.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_196) begin
+          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34232.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_201) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at SystemBus.scala:49:9)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34240.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_201) begin
+          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34241.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_205) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at SystemBus.scala:49:9)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34248.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_205) begin
+          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34249.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_179) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at SystemBus.scala:49:9)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34344.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_179) begin
+          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34345.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_179) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at SystemBus.scala:49:9)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34351.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_179) begin
+          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34352.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_185) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at SystemBus.scala:49:9)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34358.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_185) begin
+          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34359.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_189) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at SystemBus.scala:49:9)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34366.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_189) begin
+          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34367.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_192) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at SystemBus.scala:49:9)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34373.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_192) begin
+          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34374.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_196) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at SystemBus.scala:49:9)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34381.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_196) begin
+          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34382.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_316) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at SystemBus.scala:49:9)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34389.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_316) begin
+          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34390.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_201) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at SystemBus.scala:49:9)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34398.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_201) begin
+          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34399.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_205) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at SystemBus.scala:49:9)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34406.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_205) begin
+          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34407.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_423) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at SystemBus.scala:49:9)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34510.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_423) begin
+          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34511.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_185) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at SystemBus.scala:49:9)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34517.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_185) begin
+          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34518.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_192) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at SystemBus.scala:49:9)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34524.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_192) begin
+          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34525.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_433) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at SystemBus.scala:49:9)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34532.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_433) begin
+          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34533.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_437) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at SystemBus.scala:49:9)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34540.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_437) begin
+          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34541.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_205) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at SystemBus.scala:49:9)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34548.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_205) begin
+          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34549.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_541) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at SystemBus.scala:49:9)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34654.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_541) begin
+          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34655.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_185) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at SystemBus.scala:49:9)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34661.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_185) begin
+          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34662.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_192) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at SystemBus.scala:49:9)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34668.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_192) begin
+          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34669.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_433) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at SystemBus.scala:49:9)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34676.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_433) begin
+          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34677.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_437) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at SystemBus.scala:49:9)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34684.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_437) begin
+          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34685.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_541) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at SystemBus.scala:49:9)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34790.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_541) begin
+          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34791.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_185) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at SystemBus.scala:49:9)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34797.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_185) begin
+          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34798.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_192) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at SystemBus.scala:49:9)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34804.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_192) begin
+          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34805.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_433) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at SystemBus.scala:49:9)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34812.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_433) begin
+          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34813.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_671) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at SystemBus.scala:49:9)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34822.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_671) begin
+          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34823.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_766) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at SystemBus.scala:49:9)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34923.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_766) begin
+          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34924.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_185) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at SystemBus.scala:49:9)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34930.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_185) begin
+          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34931.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_192) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at SystemBus.scala:49:9)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34937.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_192) begin
+          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34938.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_776) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at SystemBus.scala:49:9)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34945.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_776) begin
+          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34946.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_437) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at SystemBus.scala:49:9)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34953.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_437) begin
+          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34954.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_766) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at SystemBus.scala:49:9)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35054.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_766) begin
+          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35055.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_185) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at SystemBus.scala:49:9)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35061.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_185) begin
+          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35062.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_192) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at SystemBus.scala:49:9)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35068.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_192) begin
+          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35069.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_885) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at SystemBus.scala:49:9)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35076.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_885) begin
+          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35077.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_437) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at SystemBus.scala:49:9)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35084.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_437) begin
+          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35085.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_984) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at SystemBus.scala:49:9)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35185.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_984) begin
+          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35186.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_185) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at SystemBus.scala:49:9)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35192.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_185) begin
+          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35193.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_192) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at SystemBus.scala:49:9)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35199.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_192) begin
+          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35200.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_437) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at SystemBus.scala:49:9)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35207.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_437) begin
+          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35208.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_205) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at SystemBus.scala:49:9)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35215.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_205) begin
+          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35216.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1002) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at SystemBus.scala:49:9)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@35226.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1002) begin
+          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@35227.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_1018) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at SystemBus.scala:49:9)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35243.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_1018) begin
+          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35244.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_1022) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at SystemBus.scala:49:9)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35251.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_1022) begin
+          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35252.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_1026) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at SystemBus.scala:49:9)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35259.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_1026) begin
+          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35260.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_1030) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at SystemBus.scala:49:9)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35267.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_1030) begin
+          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35268.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_1034) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at SystemBus.scala:49:9)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35275.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_1034) begin
+          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35276.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_1018) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at SystemBus.scala:49:9)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35285.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_1018) begin
+          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35286.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_179) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at SystemBus.scala:49:9)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35292.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_179) begin
+          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35293.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_1022) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at SystemBus.scala:49:9)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35300.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_1022) begin
+          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35301.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_1049) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at SystemBus.scala:49:9)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35308.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_1049) begin
+          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35309.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_1053) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at SystemBus.scala:49:9)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35316.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_1053) begin
+          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35317.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_1030) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at SystemBus.scala:49:9)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35324.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_1030) begin
+          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35325.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at SystemBus.scala:49:9)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35333.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35334.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_137 & _T_1018) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at SystemBus.scala:49:9)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35343.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_137 & _T_1018) begin
+          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35344.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_137 & _T_179) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at SystemBus.scala:49:9)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35350.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_137 & _T_179) begin
+          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35351.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_137 & _T_1022) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at SystemBus.scala:49:9)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35358.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_137 & _T_1022) begin
+          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35359.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_137 & _T_1049) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at SystemBus.scala:49:9)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35366.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_137 & _T_1049) begin
+          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35367.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_137 & _T_1053) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at SystemBus.scala:49:9)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35374.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_137 & _T_1053) begin
+          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35375.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_137 & _T_1086) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at SystemBus.scala:49:9)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35383.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_137 & _T_1086) begin
+          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35384.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at SystemBus.scala:49:9)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35392.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35393.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_149 & _T_1018) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at SystemBus.scala:49:9)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35402.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_149 & _T_1018) begin
+          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35403.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_149 & _T_1026) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at SystemBus.scala:49:9)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35410.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_149 & _T_1026) begin
+          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35411.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_149 & _T_1030) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at SystemBus.scala:49:9)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35418.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_149 & _T_1030) begin
+          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35419.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at SystemBus.scala:49:9)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35427.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35428.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_155 & _T_1018) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at SystemBus.scala:49:9)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35437.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_155 & _T_1018) begin
+          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35438.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_155 & _T_1026) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at SystemBus.scala:49:9)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35445.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_155 & _T_1026) begin
+          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35446.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_155 & _T_1086) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at SystemBus.scala:49:9)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35454.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_155 & _T_1086) begin
+          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35455.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at SystemBus.scala:49:9)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35463.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35464.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_161 & _T_1018) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at SystemBus.scala:49:9)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35473.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_161 & _T_1018) begin
+          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35474.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_161 & _T_1026) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at SystemBus.scala:49:9)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35481.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_161 & _T_1026) begin
+          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35482.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_161 & _T_1030) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at SystemBus.scala:49:9)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35489.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_161 & _T_1030) begin
+          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35490.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at SystemBus.scala:49:9)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35498.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35499.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at SystemBus.scala:49:9)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35508.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35509.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at SystemBus.scala:49:9)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35516.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35517.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at SystemBus.scala:49:9)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35524.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35525.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1189 & _T_1193) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at SystemBus.scala:49:9)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35564.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1189 & _T_1193) begin
+          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35565.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1189 & _T_1197) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at SystemBus.scala:49:9)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35572.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1189 & _T_1197) begin
+          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35573.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1189 & _T_1201) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at SystemBus.scala:49:9)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35580.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1189 & _T_1201) begin
+          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35581.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1189 & _T_1205) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at SystemBus.scala:49:9)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35588.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1189 & _T_1205) begin
+          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35589.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1189 & _T_1209) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at SystemBus.scala:49:9)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35596.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1189 & _T_1209) begin
+          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35597.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1246 & _T_1250) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at SystemBus.scala:49:9)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35646.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1246 & _T_1250) begin
+          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35647.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1246 & _T_1254) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at SystemBus.scala:49:9)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35654.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1246 & _T_1254) begin
+          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35655.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1246 & _T_1258) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at SystemBus.scala:49:9)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35662.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1246 & _T_1258) begin
+          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35663.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1246 & _T_1262) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at SystemBus.scala:49:9)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35670.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1246 & _T_1262) begin
+          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35671.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1246 & _T_1266) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at SystemBus.scala:49:9)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35678.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1246 & _T_1266) begin
+          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35679.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1246 & _T_1270) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at SystemBus.scala:49:9)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35686.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1246 & _T_1270) begin
+          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35687.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1321 & _T_1329) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at SystemBus.scala:49:9)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@35764.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1321 & _T_1329) begin
+          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@35765.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1337 & _T_1344) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at SystemBus.scala:49:9)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@35787.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1337 & _T_1344) begin
+          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@35788.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1351) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' and 'D' concurrent, despite minlatency 2 (connected at SystemBus.scala:49:9)\n    at Monitor.scala:471 assert(a_set =/= d_clr || !a_set.orR, s\"'A' and 'D' concurrent, despite minlatency ${edge.manager.minLatency}\" + extra)\n"); // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@35799.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1351) begin
+          $fatal; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@35800.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1365) begin
+          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at SystemBus.scala:49:9)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@35819.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1365) begin
+          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@35820.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+endmodule
+module TLFIFOFixer( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@35832.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@35833.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@35834.4]
+  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@35835.4]
+  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@35835.4]
+  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@35835.4]
+  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@35835.4]
+  input  [3:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@35835.4]
+  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@35835.4]
+  input  [31:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@35835.4]
+  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@35835.4]
+  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@35835.4]
+  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@35835.4]
+  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@35835.4]
+  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@35835.4]
+  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@35835.4]
+  output [1:0]  auto_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@35835.4]
+  output [3:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@35835.4]
+  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@35835.4]
+  output        auto_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@35835.4]
+  output        auto_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@35835.4]
+  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@35835.4]
+  output        auto_in_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@35835.4]
+  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@35835.4]
+  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@35835.4]
+  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@35835.4]
+  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@35835.4]
+  output [3:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@35835.4]
+  output        auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@35835.4]
+  output [31:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@35835.4]
+  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@35835.4]
+  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@35835.4]
+  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@35835.4]
+  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@35835.4]
+  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@35835.4]
+  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@35835.4]
+  input  [1:0]  auto_out_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@35835.4]
+  input  [3:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@35835.4]
+  input         auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@35835.4]
+  input         auto_out_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@35835.4]
+  input         auto_out_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@35835.4]
+  input  [31:0] auto_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@35835.4]
+  input         auto_out_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@35835.4]
+);
+  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@35842.4]
+  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@35842.4]
+  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@35842.4]
+  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@35842.4]
+  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@35842.4]
+  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@35842.4]
+  wire [3:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@35842.4]
+  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@35842.4]
+  wire [31:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@35842.4]
+  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@35842.4]
+  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@35842.4]
+  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@35842.4]
+  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@35842.4]
+  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@35842.4]
+  wire [1:0] TLMonitor_io_in_d_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@35842.4]
+  wire [3:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@35842.4]
+  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@35842.4]
+  wire  TLMonitor_io_in_d_bits_sink; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@35842.4]
+  wire  TLMonitor_io_in_d_bits_denied; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@35842.4]
+  wire  TLMonitor_io_in_d_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@35842.4]
+  TLMonitor_20 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@35842.4]
+    .clock(TLMonitor_clock),
+    .reset(TLMonitor_reset),
+    .io_in_a_ready(TLMonitor_io_in_a_ready),
+    .io_in_a_valid(TLMonitor_io_in_a_valid),
+    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
+    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
+    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
+    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
+    .io_in_d_ready(TLMonitor_io_in_d_ready),
+    .io_in_d_valid(TLMonitor_io_in_d_valid),
+    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
+    .io_in_d_bits_param(TLMonitor_io_in_d_bits_param),
+    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
+    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source),
+    .io_in_d_bits_sink(TLMonitor_io_in_d_bits_sink),
+    .io_in_d_bits_denied(TLMonitor_io_in_d_bits_denied),
+    .io_in_d_bits_corrupt(TLMonitor_io_in_d_bits_corrupt)
+  );
+  assign auto_in_a_ready = auto_out_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@35882.4]
+  assign auto_in_d_valid = auto_out_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@35882.4]
+  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@35882.4]
+  assign auto_in_d_bits_param = auto_out_d_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@35882.4]
+  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@35882.4]
+  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@35882.4]
+  assign auto_in_d_bits_sink = auto_out_d_bits_sink; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@35882.4]
+  assign auto_in_d_bits_denied = auto_out_d_bits_denied; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@35882.4]
+  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@35882.4]
+  assign auto_in_d_bits_corrupt = auto_out_d_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@35882.4]
+  assign auto_out_a_valid = auto_in_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@35881.4]
+  assign auto_out_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@35881.4]
+  assign auto_out_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@35881.4]
+  assign auto_out_a_bits_size = auto_in_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@35881.4]
+  assign auto_out_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@35881.4]
+  assign auto_out_a_bits_address = auto_in_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@35881.4]
+  assign auto_out_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@35881.4]
+  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@35881.4]
+  assign auto_out_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@35881.4]
+  assign auto_out_d_ready = auto_in_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@35881.4]
+  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@35844.4]
+  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@35845.4]
+  assign TLMonitor_io_in_a_ready = auto_out_a_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@35878.4]
+  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@35878.4]
+  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@35878.4]
+  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@35878.4]
+  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@35878.4]
+  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@35878.4]
+  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@35878.4]
+  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@35878.4]
+  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@35878.4]
+  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@35878.4]
+  assign TLMonitor_io_in_d_valid = auto_out_d_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@35878.4]
+  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@35878.4]
+  assign TLMonitor_io_in_d_bits_param = auto_out_d_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@35878.4]
+  assign TLMonitor_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@35878.4]
+  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@35878.4]
+  assign TLMonitor_io_in_d_bits_sink = auto_out_d_bits_sink; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@35878.4]
+  assign TLMonitor_io_in_d_bits_denied = auto_out_d_bits_denied; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@35878.4]
+  assign TLMonitor_io_in_d_bits_corrupt = auto_out_d_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@35878.4]
+endmodule
+module TLMonitor_21( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@36149.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@36150.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@36151.4]
+  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@36152.4]
+  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@36152.4]
+  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@36152.4]
+  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@36152.4]
+  input  [3:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@36152.4]
+  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@36152.4]
+  input  [31:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@36152.4]
+  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@36152.4]
+  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@36152.4]
+  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@36152.4]
+  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@36152.4]
+  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@36152.4]
+  input  [1:0]  io_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@36152.4]
+  input  [3:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@36152.4]
+  input         io_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@36152.4]
+  input         io_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@36152.4]
+  input         io_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@36152.4]
+  input         io_in_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@36152.4]
+);
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@37942.4]
+  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@36168.6]
+  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@36173.6]
+  wire [26:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@36175.6]
+  wire [11:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@36176.6]
+  wire [11:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@36177.6]
+  wire [31:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@36178.6]
+  wire [31:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@36178.6]
+  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@36179.6]
+  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@36181.6]
+  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@36182.6]
+  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@36184.6]
+  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@36185.6]
+  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@36186.6]
+  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@36187.6]
+  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@36188.6]
+  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@36190.6]
+  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@36191.6]
+  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@36193.6]
+  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@36194.6]
+  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@36195.6]
+  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@36196.6]
+  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@36197.6]
+  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@36198.6]
+  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@36199.6]
+  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@36200.6]
+  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@36201.6]
+  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@36202.6]
+  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@36203.6]
+  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@36204.6]
+  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@36205.6]
+  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@36206.6]
+  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@36207.6]
+  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@36208.6]
+  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@36209.6]
+  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@36210.6]
+  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@36211.6]
+  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@36212.6]
+  wire [32:0] _T_73; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@36216.6]
+  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@36237.6]
+  wire [31:0] _T_92; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@36240.8]
+  wire [32:0] _T_93; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@36241.8]
+  wire [32:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36242.8]
+  wire [32:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36243.8]
+  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@36244.8]
+  wire [31:0] _T_97; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@36245.8]
+  wire [32:0] _T_98; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@36246.8]
+  wire [32:0] _T_99; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36247.8]
+  wire [32:0] _T_100; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36248.8]
+  wire  _T_101; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@36249.8]
+  wire [31:0] _T_102; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@36250.8]
+  wire [32:0] _T_103; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@36251.8]
+  wire [32:0] _T_104; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36252.8]
+  wire [32:0] _T_105; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36253.8]
+  wire  _T_106; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@36254.8]
+  wire [31:0] _T_107; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@36255.8]
+  wire [32:0] _T_108; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@36256.8]
+  wire [32:0] _T_109; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36257.8]
+  wire [32:0] _T_110; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36258.8]
+  wire  _T_111; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@36259.8]
+  wire [31:0] _T_112; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@36260.8]
+  wire [32:0] _T_113; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@36261.8]
+  wire [32:0] _T_114; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36262.8]
+  wire [32:0] _T_115; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36263.8]
+  wire  _T_116; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@36264.8]
+  wire [31:0] _T_117; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@36265.8]
+  wire [32:0] _T_118; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@36266.8]
+  wire [32:0] _T_119; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36267.8]
+  wire [32:0] _T_120; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36268.8]
+  wire  _T_121; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@36269.8]
+  wire [31:0] _T_122; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@36270.8]
+  wire [32:0] _T_123; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@36271.8]
+  wire [32:0] _T_124; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36272.8]
+  wire [32:0] _T_125; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36273.8]
+  wire  _T_126; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@36274.8]
+  wire [31:0] _T_127; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@36275.8]
+  wire [32:0] _T_128; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@36276.8]
+  wire [32:0] _T_129; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36277.8]
+  wire [32:0] _T_130; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36278.8]
+  wire  _T_131; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@36279.8]
+  wire [31:0] _T_132; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@36280.8]
+  wire [32:0] _T_133; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@36281.8]
+  wire [32:0] _T_134; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36282.8]
+  wire [32:0] _T_135; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36283.8]
+  wire  _T_136; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@36284.8]
+  wire [31:0] _T_137; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@36285.8]
+  wire [32:0] _T_138; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@36286.8]
+  wire [32:0] _T_139; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36287.8]
+  wire [32:0] _T_140; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36288.8]
+  wire  _T_141; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@36289.8]
+  wire [32:0] _T_144; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36292.8]
+  wire [32:0] _T_145; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36293.8]
+  wire  _T_146; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@36294.8]
+  wire [31:0] _T_147; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@36295.8]
+  wire [32:0] _T_148; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@36296.8]
+  wire [32:0] _T_149; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36297.8]
+  wire [32:0] _T_150; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36298.8]
+  wire  _T_151; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@36299.8]
+  wire [31:0] _T_152; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@36300.8]
+  wire [32:0] _T_153; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@36301.8]
+  wire [32:0] _T_154; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36302.8]
+  wire [32:0] _T_155; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36303.8]
+  wire  _T_156; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@36304.8]
+  wire [31:0] _T_157; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@36305.8]
+  wire [32:0] _T_158; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@36306.8]
+  wire [32:0] _T_159; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36307.8]
+  wire [32:0] _T_160; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36308.8]
+  wire  _T_161; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@36309.8]
+  wire  _T_162; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@36310.8]
+  wire  _T_163; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@36311.8]
+  wire  _T_164; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@36312.8]
+  wire  _T_165; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@36313.8]
+  wire  _T_179; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36327.8]
+  wire  _T_184; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36340.8]
+  wire  _T_185; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36341.8]
+  wire  _T_188; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36348.8]
+  wire  _T_189; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36349.8]
+  wire  _T_191; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36355.8]
+  wire  _T_192; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36356.8]
+  wire  _T_193; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@36361.8]
+  wire  _T_195; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36363.8]
+  wire  _T_196; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36364.8]
+  wire [3:0] _T_197; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@36369.8]
+  wire  _T_198; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@36370.8]
+  wire  _T_200; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36372.8]
+  wire  _T_201; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36373.8]
+  wire  _T_202; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@36378.8]
+  wire  _T_204; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36380.8]
+  wire  _T_205; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36381.8]
+  wire  _T_206; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@36387.6]
+  wire  _T_313; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@36519.8]
+  wire  _T_315; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36521.8]
+  wire  _T_316; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36522.8]
+  wire  _T_326; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@36545.6]
+  wire  _T_328; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@36548.8]
+  wire  _T_336; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@36556.8]
+  wire  _T_338; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@36558.8]
+  wire  _T_406; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@36626.8]
+  wire  _T_407; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@36627.8]
+  wire  _T_408; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@36628.8]
+  wire  _T_409; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@36629.8]
+  wire  _T_410; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@36630.8]
+  wire  _T_411; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@36631.8]
+  wire  _T_412; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@36632.8]
+  wire  _T_413; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@36633.8]
+  wire  _T_414; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@36634.8]
+  wire  _T_415; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@36635.8]
+  wire  _T_416; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@36636.8]
+  wire  _T_417; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@36637.8]
+  wire  _T_418; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@36638.8]
+  wire  _T_420; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@36640.8]
+  wire  _T_422; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36642.8]
+  wire  _T_423; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36643.8]
+  wire  _T_430; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@36662.8]
+  wire  _T_432; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36664.8]
+  wire  _T_433; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36665.8]
+  wire  _T_434; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@36670.8]
+  wire  _T_436; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36672.8]
+  wire  _T_437; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36673.8]
+  wire  _T_442; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@36687.6]
+  wire  _T_515; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@36761.8]
+  wire  _T_516; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@36762.8]
+  wire  _T_517; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@36763.8]
+  wire  _T_518; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@36764.8]
+  wire  _T_519; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@36765.8]
+  wire  _T_520; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@36766.8]
+  wire  _T_521; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@36767.8]
+  wire  _T_522; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@36768.8]
+  wire  _T_537; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@36783.8]
+  wire  _T_540; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36786.8]
+  wire  _T_541; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36787.8]
+  wire  _T_556; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@36823.6]
+  wire [3:0] _T_666; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@36950.8]
+  wire [3:0] _T_667; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@36951.8]
+  wire  _T_668; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@36952.8]
+  wire  _T_670; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36954.8]
+  wire  _T_671; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36955.8]
+  wire  _T_672; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@36961.6]
+  wire  _T_674; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@36964.8]
+  wire  _T_741; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@37031.8]
+  wire  _T_742; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@37032.8]
+  wire  _T_743; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@37033.8]
+  wire  _T_744; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@37034.8]
+  wire  _T_745; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@37035.8]
+  wire  _T_746; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@37036.8]
+  wire  _T_747; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@37037.8]
+  wire  _T_748; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@37038.8]
+  wire  _T_765; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37055.8]
+  wire  _T_766; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37056.8]
+  wire  _T_773; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@37075.8]
+  wire  _T_775; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37077.8]
+  wire  _T_776; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37078.8]
+  wire  _T_781; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@37092.6]
+  wire  _T_882; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@37206.8]
+  wire  _T_884; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37208.8]
+  wire  _T_885; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37209.8]
+  wire  _T_890; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@37223.6]
+  wire  _T_983; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37317.8]
+  wire  _T_984; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37318.8]
+  wire  _T_999; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@37356.6]
+  wire  _T_1001; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@37358.6]
+  wire  _T_1002; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@37359.6]
+  wire  _T_1004; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@37365.6]
+  wire  _T_1013; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@37370.6]
+  wire  _T_1015; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@37372.6]
+  wire  _T_1017; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37375.8]
+  wire  _T_1018; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37376.8]
+  wire  _T_1019; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@37381.8]
+  wire  _T_1021; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37383.8]
+  wire  _T_1022; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37384.8]
+  wire  _T_1023; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@37389.8]
+  wire  _T_1025; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37391.8]
+  wire  _T_1026; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37392.8]
+  wire  _T_1027; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@37397.8]
+  wire  _T_1029; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37399.8]
+  wire  _T_1030; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37400.8]
+  wire  _T_1031; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@37405.8]
+  wire  _T_1033; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37407.8]
+  wire  _T_1034; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37408.8]
+  wire  _T_1035; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@37414.6]
+  wire  _T_1046; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@37438.8]
+  wire  _T_1048; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37440.8]
+  wire  _T_1049; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37441.8]
+  wire  _T_1050; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@37446.8]
+  wire  _T_1052; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37448.8]
+  wire  _T_1053; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37449.8]
+  wire  _T_1063; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@37472.6]
+  wire  _T_1083; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@37513.8]
+  wire  _T_1085; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37515.8]
+  wire  _T_1086; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37516.8]
+  wire  _T_1092; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@37531.6]
+  wire  _T_1109; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@37566.6]
+  wire  _T_1127; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@37602.6]
+  wire  _T_1156; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@37662.4]
+  wire [9:0] _T_1161; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@37667.4]
+  wire  _T_1162; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@37668.4]
+  wire  _T_1163; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@37669.4]
+  reg [9:0] _T_1166; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@37671.4]
+  reg [31:0] _RAND_0;
+  wire [10:0] _T_1167; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@37672.4]
+  wire [10:0] _T_1168; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@37673.4]
+  wire [9:0] _T_1169; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@37674.4]
+  wire  _T_1170; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@37675.4]
+  reg [2:0] _T_1179; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@37686.4]
+  reg [31:0] _RAND_1;
+  reg [2:0] _T_1181; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@37687.4]
+  reg [31:0] _RAND_2;
+  reg [3:0] _T_1183; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@37688.4]
+  reg [31:0] _RAND_3;
+  reg  _T_1185; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@37689.4]
+  reg [31:0] _RAND_4;
+  reg [31:0] _T_1187; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@37690.4]
+  reg [31:0] _RAND_5;
+  wire  _T_1188; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@37691.4]
+  wire  _T_1189; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@37692.4]
+  wire  _T_1190; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@37694.6]
+  wire  _T_1192; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37696.6]
+  wire  _T_1193; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37697.6]
+  wire  _T_1194; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@37702.6]
+  wire  _T_1196; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37704.6]
+  wire  _T_1197; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37705.6]
+  wire  _T_1198; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@37710.6]
+  wire  _T_1200; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37712.6]
+  wire  _T_1201; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37713.6]
+  wire  _T_1202; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@37718.6]
+  wire  _T_1204; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37720.6]
+  wire  _T_1205; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37721.6]
+  wire  _T_1206; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@37726.6]
+  wire  _T_1208; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37728.6]
+  wire  _T_1209; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37729.6]
+  wire  _T_1211; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@37736.4]
+  wire  _T_1212; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@37744.4]
+  wire [26:0] _T_1214; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@37746.4]
+  wire [11:0] _T_1215; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@37747.4]
+  wire [11:0] _T_1216; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@37748.4]
+  wire [9:0] _T_1217; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@37749.4]
+  wire  _T_1218; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@37750.4]
+  reg [9:0] _T_1221; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@37752.4]
+  reg [31:0] _RAND_6;
+  wire [10:0] _T_1222; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@37753.4]
+  wire [10:0] _T_1223; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@37754.4]
+  wire [9:0] _T_1224; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@37755.4]
+  wire  _T_1225; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@37756.4]
+  reg [2:0] _T_1234; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@37767.4]
+  reg [31:0] _RAND_7;
+  reg [1:0] _T_1236; // @[Monitor.scala 419:22:shc.marmotcaravel.MarmotCaravelConfig.fir@37768.4]
+  reg [31:0] _RAND_8;
+  reg [3:0] _T_1238; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@37769.4]
+  reg [31:0] _RAND_9;
+  reg  _T_1240; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@37770.4]
+  reg [31:0] _RAND_10;
+  reg  _T_1242; // @[Monitor.scala 422:22:shc.marmotcaravel.MarmotCaravelConfig.fir@37771.4]
+  reg [31:0] _RAND_11;
+  reg  _T_1244; // @[Monitor.scala 423:22:shc.marmotcaravel.MarmotCaravelConfig.fir@37772.4]
+  reg [31:0] _RAND_12;
+  wire  _T_1245; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@37773.4]
+  wire  _T_1246; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@37774.4]
+  wire  _T_1247; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@37776.6]
+  wire  _T_1249; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37778.6]
+  wire  _T_1250; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37779.6]
+  wire  _T_1251; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@37784.6]
+  wire  _T_1253; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37786.6]
+  wire  _T_1254; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37787.6]
+  wire  _T_1255; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@37792.6]
+  wire  _T_1257; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37794.6]
+  wire  _T_1258; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37795.6]
+  wire  _T_1259; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@37800.6]
+  wire  _T_1261; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37802.6]
+  wire  _T_1262; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37803.6]
+  wire  _T_1263; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@37808.6]
+  wire  _T_1265; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37810.6]
+  wire  _T_1266; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37811.6]
+  wire  _T_1267; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@37816.6]
+  wire  _T_1269; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37818.6]
+  wire  _T_1270; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37819.6]
+  wire  _T_1272; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@37826.4]
+  reg [1:0] _T_1274; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@37835.4]
+  reg [31:0] _RAND_13;
+  reg [9:0] _T_1285; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@37845.4]
+  reg [31:0] _RAND_14;
+  wire [10:0] _T_1286; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@37846.4]
+  wire [10:0] _T_1287; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@37847.4]
+  wire [9:0] _T_1288; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@37848.4]
+  wire  _T_1289; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@37849.4]
+  reg [9:0] _T_1306; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@37868.4]
+  reg [31:0] _RAND_15;
+  wire [10:0] _T_1307; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@37869.4]
+  wire [10:0] _T_1308; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@37870.4]
+  wire [9:0] _T_1309; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@37871.4]
+  wire  _T_1310; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@37872.4]
+  wire  _T_1321; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@37887.4]
+  wire [1:0] _T_1323; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@37890.6]
+  wire [1:0] _T_1324; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@37892.6]
+  wire  _T_1325; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@37893.6]
+  wire  _T_1326; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37894.6]
+  wire  _T_1328; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@37896.6]
+  wire  _T_1329; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@37897.6]
+  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@37889.4]
+  wire  _T_1334; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@37908.4]
+  wire  _T_1336; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@37910.4]
+  wire  _T_1337; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@37911.4]
+  wire [1:0] _T_1338; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@37913.6]
+  wire [1:0] _T_1339; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@37915.6]
+  wire [1:0] _T_1340; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@37916.6]
+  wire  _T_1341; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@37917.6]
+  wire  _T_1343; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@37919.6]
+  wire  _T_1344; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@37920.6]
+  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@37912.4]
+  wire  _T_1345; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@37926.4]
+  wire  _T_1346; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@37927.4]
+  wire  _T_1347; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@37928.4]
+  wire  _T_1348; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@37929.4]
+  wire  _T_1350; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@37931.4]
+  wire  _T_1351; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@37932.4]
+  wire [1:0] _T_1352; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@37937.4]
+  wire [1:0] _T_1353; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@37938.4]
+  wire [1:0] _T_1354; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@37939.4]
+  reg [31:0] _T_1356; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@37941.4]
+  reg [31:0] _RAND_16;
+  wire  _T_1357; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@37944.4]
+  wire  _T_1358; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@37945.4]
+  wire  _T_1359; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@37946.4]
+  wire  _T_1360; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@37947.4]
+  wire  _T_1361; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@37948.4]
+  wire  _T_1362; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@37949.4]
+  wire  _T_1364; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@37951.4]
+  wire  _T_1365; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@37952.4]
+  wire [31:0] _T_1367; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@37958.4]
+  wire  _T_1370; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@37962.4]
+  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36329.10]
+  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36479.10]
+  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36645.10]
+  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36789.10]
+  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36925.10]
+  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37058.10]
+  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37189.10]
+  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37320.10]
+  wire  _GEN_115; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37378.10]
+  wire  _GEN_125; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37420.10]
+  wire  _GEN_137; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37478.10]
+  wire  _GEN_149; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37537.10]
+  wire  _GEN_155; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37572.10]
+  wire  _GEN_161; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37608.10]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@37942.4]
+    .out(plusarg_reader_out)
+  );
+  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@36168.6]
+  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@36173.6]
+  assign _T_32 = 27'hfff << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@36175.6]
+  assign _T_33 = _T_32[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@36176.6]
+  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@36177.6]
+  assign _GEN_18 = {{20'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@36178.6]
+  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@36178.6]
+  assign _T_36 = _T_35 == 32'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@36179.6]
+  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@36181.6]
+  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@36182.6]
+  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@36184.6]
+  assign _T_42 = io_in_a_bits_size >= 4'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@36185.6]
+  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@36186.6]
+  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@36187.6]
+  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@36188.6]
+  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@36190.6]
+  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@36191.6]
+  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@36193.6]
+  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@36194.6]
+  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@36195.6]
+  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@36196.6]
+  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@36197.6]
+  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@36198.6]
+  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@36199.6]
+  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@36200.6]
+  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@36201.6]
+  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@36202.6]
+  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@36203.6]
+  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@36204.6]
+  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@36205.6]
+  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@36206.6]
+  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@36207.6]
+  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@36208.6]
+  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@36209.6]
+  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@36210.6]
+  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@36211.6]
+  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@36212.6]
+  assign _T_73 = {1'b0,$signed(io_in_a_bits_address)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@36216.6]
+  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@36237.6]
+  assign _T_92 = io_in_a_bits_address ^ 32'h3000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@36240.8]
+  assign _T_93 = {1'b0,$signed(_T_92)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@36241.8]
+  assign _T_94 = $signed(_T_93) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36242.8]
+  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36243.8]
+  assign _T_96 = $signed(_T_95) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@36244.8]
+  assign _T_97 = io_in_a_bits_address ^ 32'h10013000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@36245.8]
+  assign _T_98 = {1'b0,$signed(_T_97)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@36246.8]
+  assign _T_99 = $signed(_T_98) & $signed(-33'sh21000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36247.8]
+  assign _T_100 = $signed(_T_99); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36248.8]
+  assign _T_101 = $signed(_T_100) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@36249.8]
+  assign _T_102 = io_in_a_bits_address ^ 32'h10023000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@36250.8]
+  assign _T_103 = {1'b0,$signed(_T_102)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@36251.8]
+  assign _T_104 = $signed(_T_103) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36252.8]
+  assign _T_105 = $signed(_T_104); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36253.8]
+  assign _T_106 = $signed(_T_105) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@36254.8]
+  assign _T_107 = io_in_a_bits_address ^ 32'h10043000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@36255.8]
+  assign _T_108 = {1'b0,$signed(_T_107)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@36256.8]
+  assign _T_109 = $signed(_T_108) & $signed(-33'sh11000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36257.8]
+  assign _T_110 = $signed(_T_109); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36258.8]
+  assign _T_111 = $signed(_T_110) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@36259.8]
+  assign _T_112 = io_in_a_bits_address ^ 32'h10014000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@36260.8]
+  assign _T_113 = {1'b0,$signed(_T_112)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@36261.8]
+  assign _T_114 = $signed(_T_113) & $signed(-33'sh21000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36262.8]
+  assign _T_115 = $signed(_T_114); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36263.8]
+  assign _T_116 = $signed(_T_115) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@36264.8]
+  assign _T_117 = io_in_a_bits_address ^ 32'h20000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@36265.8]
+  assign _T_118 = {1'b0,$signed(_T_117)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@36266.8]
+  assign _T_119 = $signed(_T_118) & $signed(-33'sh20000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36267.8]
+  assign _T_120 = $signed(_T_119); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36268.8]
+  assign _T_121 = $signed(_T_120) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@36269.8]
+  assign _T_122 = io_in_a_bits_address ^ 32'h10024000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@36270.8]
+  assign _T_123 = {1'b0,$signed(_T_122)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@36271.8]
+  assign _T_124 = $signed(_T_123) & $signed(-33'sh3000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36272.8]
+  assign _T_125 = $signed(_T_124); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36273.8]
+  assign _T_126 = $signed(_T_125) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@36274.8]
+  assign _T_127 = io_in_a_bits_address ^ 32'h10012000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@36275.8]
+  assign _T_128 = {1'b0,$signed(_T_127)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@36276.8]
+  assign _T_129 = $signed(_T_128) & $signed(-33'sh5000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36277.8]
+  assign _T_130 = $signed(_T_129); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36278.8]
+  assign _T_131 = $signed(_T_130) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@36279.8]
+  assign _T_132 = io_in_a_bits_address ^ 32'hc000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@36280.8]
+  assign _T_133 = {1'b0,$signed(_T_132)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@36281.8]
+  assign _T_134 = $signed(_T_133) & $signed(-33'sh4000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36282.8]
+  assign _T_135 = $signed(_T_134); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36283.8]
+  assign _T_136 = $signed(_T_135) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@36284.8]
+  assign _T_137 = io_in_a_bits_address ^ 32'h2000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@36285.8]
+  assign _T_138 = {1'b0,$signed(_T_137)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@36286.8]
+  assign _T_139 = $signed(_T_138) & $signed(-33'sh10000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36287.8]
+  assign _T_140 = $signed(_T_139); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36288.8]
+  assign _T_141 = $signed(_T_140) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@36289.8]
+  assign _T_144 = $signed(_T_73) & $signed(-33'sh10001000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36292.8]
+  assign _T_145 = $signed(_T_144); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36293.8]
+  assign _T_146 = $signed(_T_145) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@36294.8]
+  assign _T_147 = io_in_a_bits_address ^ 32'h8000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@36295.8]
+  assign _T_148 = {1'b0,$signed(_T_147)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@36296.8]
+  assign _T_149 = $signed(_T_148) & $signed(-33'sh4000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36297.8]
+  assign _T_150 = $signed(_T_149); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36298.8]
+  assign _T_151 = $signed(_T_150) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@36299.8]
+  assign _T_152 = io_in_a_bits_address ^ 32'h80000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@36300.8]
+  assign _T_153 = {1'b0,$signed(_T_152)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@36301.8]
+  assign _T_154 = $signed(_T_153) & $signed(-33'sh4000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36302.8]
+  assign _T_155 = $signed(_T_154); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36303.8]
+  assign _T_156 = $signed(_T_155) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@36304.8]
+  assign _T_157 = io_in_a_bits_address ^ 32'h10000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@36305.8]
+  assign _T_158 = {1'b0,$signed(_T_157)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@36306.8]
+  assign _T_159 = $signed(_T_158) & $signed(-33'sh2000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36307.8]
+  assign _T_160 = $signed(_T_159); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36308.8]
+  assign _T_161 = $signed(_T_160) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@36309.8]
+  assign _T_162 = _T_96 | _T_101; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@36310.8]
+  assign _T_163 = _T_162 | _T_106; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@36311.8]
+  assign _T_164 = _T_163 | _T_111; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@36312.8]
+  assign _T_165 = _T_164 | _T_116; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@36313.8]
+  assign _T_179 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36327.8]
+  assign _T_184 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36340.8]
+  assign _T_185 = _T_184 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36341.8]
+  assign _T_188 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36348.8]
+  assign _T_189 = _T_188 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36349.8]
+  assign _T_191 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36355.8]
+  assign _T_192 = _T_191 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36356.8]
+  assign _T_193 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@36361.8]
+  assign _T_195 = _T_193 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36363.8]
+  assign _T_196 = _T_195 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36364.8]
+  assign _T_197 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@36369.8]
+  assign _T_198 = _T_197 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@36370.8]
+  assign _T_200 = _T_198 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36372.8]
+  assign _T_201 = _T_200 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36373.8]
+  assign _T_202 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@36378.8]
+  assign _T_204 = _T_202 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36380.8]
+  assign _T_205 = _T_204 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36381.8]
+  assign _T_206 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@36387.6]
+  assign _T_313 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@36519.8]
+  assign _T_315 = _T_313 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36521.8]
+  assign _T_316 = _T_315 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36522.8]
+  assign _T_326 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@36545.6]
+  assign _T_328 = io_in_a_bits_size <= 4'hc; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@36548.8]
+  assign _T_336 = _T_328 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@36556.8]
+  assign _T_338 = io_in_a_bits_size <= 4'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@36558.8]
+  assign _T_406 = _T_101 | _T_106; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@36626.8]
+  assign _T_407 = _T_406 | _T_111; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@36627.8]
+  assign _T_408 = _T_407 | _T_116; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@36628.8]
+  assign _T_409 = _T_408 | _T_121; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@36629.8]
+  assign _T_410 = _T_409 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@36630.8]
+  assign _T_411 = _T_410 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@36631.8]
+  assign _T_412 = _T_411 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@36632.8]
+  assign _T_413 = _T_412 | _T_141; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@36633.8]
+  assign _T_414 = _T_413 | _T_146; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@36634.8]
+  assign _T_415 = _T_414 | _T_151; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@36635.8]
+  assign _T_416 = _T_415 | _T_156; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@36636.8]
+  assign _T_417 = _T_416 | _T_161; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@36637.8]
+  assign _T_418 = _T_338 & _T_417; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@36638.8]
+  assign _T_420 = _T_336 | _T_418; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@36640.8]
+  assign _T_422 = _T_420 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36642.8]
+  assign _T_423 = _T_422 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36643.8]
+  assign _T_430 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@36662.8]
+  assign _T_432 = _T_430 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36664.8]
+  assign _T_433 = _T_432 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36665.8]
+  assign _T_434 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@36670.8]
+  assign _T_436 = _T_434 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36672.8]
+  assign _T_437 = _T_436 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36673.8]
+  assign _T_442 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@36687.6]
+  assign _T_515 = _T_408 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@36761.8]
+  assign _T_516 = _T_515 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@36762.8]
+  assign _T_517 = _T_516 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@36763.8]
+  assign _T_518 = _T_517 | _T_141; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@36764.8]
+  assign _T_519 = _T_518 | _T_146; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@36765.8]
+  assign _T_520 = _T_519 | _T_151; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@36766.8]
+  assign _T_521 = _T_520 | _T_156; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@36767.8]
+  assign _T_522 = _T_338 & _T_521; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@36768.8]
+  assign _T_537 = _T_336 | _T_522; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@36783.8]
+  assign _T_540 = _T_537 | reset; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36786.8]
+  assign _T_541 = _T_540 == 1'h0; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36787.8]
+  assign _T_556 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@36823.6]
+  assign _T_666 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@36950.8]
+  assign _T_667 = io_in_a_bits_mask & _T_666; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@36951.8]
+  assign _T_668 = _T_667 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@36952.8]
+  assign _T_670 = _T_668 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36954.8]
+  assign _T_671 = _T_670 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36955.8]
+  assign _T_672 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@36961.6]
+  assign _T_674 = io_in_a_bits_size <= 4'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@36964.8]
+  assign _T_741 = _T_165 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@37031.8]
+  assign _T_742 = _T_741 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@37032.8]
+  assign _T_743 = _T_742 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@37033.8]
+  assign _T_744 = _T_743 | _T_141; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@37034.8]
+  assign _T_745 = _T_744 | _T_146; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@37035.8]
+  assign _T_746 = _T_745 | _T_151; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@37036.8]
+  assign _T_747 = _T_746 | _T_156; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@37037.8]
+  assign _T_748 = _T_674 & _T_747; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@37038.8]
+  assign _T_765 = _T_748 | reset; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37055.8]
+  assign _T_766 = _T_765 == 1'h0; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37056.8]
+  assign _T_773 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@37075.8]
+  assign _T_775 = _T_773 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37077.8]
+  assign _T_776 = _T_775 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37078.8]
+  assign _T_781 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@37092.6]
+  assign _T_882 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@37206.8]
+  assign _T_884 = _T_882 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37208.8]
+  assign _T_885 = _T_884 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37209.8]
+  assign _T_890 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@37223.6]
+  assign _T_983 = _T_336 | reset; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37317.8]
+  assign _T_984 = _T_983 == 1'h0; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37318.8]
+  assign _T_999 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@37356.6]
+  assign _T_1001 = _T_999 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@37358.6]
+  assign _T_1002 = _T_1001 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@37359.6]
+  assign _T_1004 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@37365.6]
+  assign _T_1013 = io_in_d_bits_source | _T_1004; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@37370.6]
+  assign _T_1015 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@37372.6]
+  assign _T_1017 = _T_1013 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37375.8]
+  assign _T_1018 = _T_1017 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37376.8]
+  assign _T_1019 = io_in_d_bits_size >= 4'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@37381.8]
+  assign _T_1021 = _T_1019 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37383.8]
+  assign _T_1022 = _T_1021 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37384.8]
+  assign _T_1023 = io_in_d_bits_param == 2'h0; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@37389.8]
+  assign _T_1025 = _T_1023 | reset; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37391.8]
+  assign _T_1026 = _T_1025 == 1'h0; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37392.8]
+  assign _T_1027 = io_in_d_bits_corrupt == 1'h0; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@37397.8]
+  assign _T_1029 = _T_1027 | reset; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37399.8]
+  assign _T_1030 = _T_1029 == 1'h0; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37400.8]
+  assign _T_1031 = io_in_d_bits_denied == 1'h0; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@37405.8]
+  assign _T_1033 = _T_1031 | reset; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37407.8]
+  assign _T_1034 = _T_1033 == 1'h0; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37408.8]
+  assign _T_1035 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@37414.6]
+  assign _T_1046 = io_in_d_bits_param <= 2'h2; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@37438.8]
+  assign _T_1048 = _T_1046 | reset; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37440.8]
+  assign _T_1049 = _T_1048 == 1'h0; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37441.8]
+  assign _T_1050 = io_in_d_bits_param != 2'h2; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@37446.8]
+  assign _T_1052 = _T_1050 | reset; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37448.8]
+  assign _T_1053 = _T_1052 == 1'h0; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37449.8]
+  assign _T_1063 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@37472.6]
+  assign _T_1083 = _T_1031 | io_in_d_bits_corrupt; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@37513.8]
+  assign _T_1085 = _T_1083 | reset; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37515.8]
+  assign _T_1086 = _T_1085 == 1'h0; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37516.8]
+  assign _T_1092 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@37531.6]
+  assign _T_1109 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@37566.6]
+  assign _T_1127 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@37602.6]
+  assign _T_1156 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@37662.4]
+  assign _T_1161 = _T_34[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@37667.4]
+  assign _T_1162 = io_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@37668.4]
+  assign _T_1163 = _T_1162 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@37669.4]
+  assign _T_1167 = _T_1166 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@37672.4]
+  assign _T_1168 = $unsigned(_T_1167); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@37673.4]
+  assign _T_1169 = _T_1168[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@37674.4]
+  assign _T_1170 = _T_1166 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@37675.4]
+  assign _T_1188 = _T_1170 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@37691.4]
+  assign _T_1189 = io_in_a_valid & _T_1188; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@37692.4]
+  assign _T_1190 = io_in_a_bits_opcode == _T_1179; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@37694.6]
+  assign _T_1192 = _T_1190 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37696.6]
+  assign _T_1193 = _T_1192 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37697.6]
+  assign _T_1194 = io_in_a_bits_param == _T_1181; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@37702.6]
+  assign _T_1196 = _T_1194 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37704.6]
+  assign _T_1197 = _T_1196 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37705.6]
+  assign _T_1198 = io_in_a_bits_size == _T_1183; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@37710.6]
+  assign _T_1200 = _T_1198 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37712.6]
+  assign _T_1201 = _T_1200 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37713.6]
+  assign _T_1202 = io_in_a_bits_source == _T_1185; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@37718.6]
+  assign _T_1204 = _T_1202 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37720.6]
+  assign _T_1205 = _T_1204 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37721.6]
+  assign _T_1206 = io_in_a_bits_address == _T_1187; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@37726.6]
+  assign _T_1208 = _T_1206 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37728.6]
+  assign _T_1209 = _T_1208 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37729.6]
+  assign _T_1211 = _T_1156 & _T_1170; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@37736.4]
+  assign _T_1212 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@37744.4]
+  assign _T_1214 = 27'hfff << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@37746.4]
+  assign _T_1215 = _T_1214[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@37747.4]
+  assign _T_1216 = ~ _T_1215; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@37748.4]
+  assign _T_1217 = _T_1216[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@37749.4]
+  assign _T_1218 = io_in_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@37750.4]
+  assign _T_1222 = _T_1221 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@37753.4]
+  assign _T_1223 = $unsigned(_T_1222); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@37754.4]
+  assign _T_1224 = _T_1223[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@37755.4]
+  assign _T_1225 = _T_1221 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@37756.4]
+  assign _T_1245 = _T_1225 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@37773.4]
+  assign _T_1246 = io_in_d_valid & _T_1245; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@37774.4]
+  assign _T_1247 = io_in_d_bits_opcode == _T_1234; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@37776.6]
+  assign _T_1249 = _T_1247 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37778.6]
+  assign _T_1250 = _T_1249 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37779.6]
+  assign _T_1251 = io_in_d_bits_param == _T_1236; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@37784.6]
+  assign _T_1253 = _T_1251 | reset; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37786.6]
+  assign _T_1254 = _T_1253 == 1'h0; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37787.6]
+  assign _T_1255 = io_in_d_bits_size == _T_1238; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@37792.6]
+  assign _T_1257 = _T_1255 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37794.6]
+  assign _T_1258 = _T_1257 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37795.6]
+  assign _T_1259 = io_in_d_bits_source == _T_1240; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@37800.6]
+  assign _T_1261 = _T_1259 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37802.6]
+  assign _T_1262 = _T_1261 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37803.6]
+  assign _T_1263 = io_in_d_bits_sink == _T_1242; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@37808.6]
+  assign _T_1265 = _T_1263 | reset; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37810.6]
+  assign _T_1266 = _T_1265 == 1'h0; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37811.6]
+  assign _T_1267 = io_in_d_bits_denied == _T_1244; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@37816.6]
+  assign _T_1269 = _T_1267 | reset; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37818.6]
+  assign _T_1270 = _T_1269 == 1'h0; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37819.6]
+  assign _T_1272 = _T_1212 & _T_1225; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@37826.4]
+  assign _T_1286 = _T_1285 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@37846.4]
+  assign _T_1287 = $unsigned(_T_1286); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@37847.4]
+  assign _T_1288 = _T_1287[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@37848.4]
+  assign _T_1289 = _T_1285 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@37849.4]
+  assign _T_1307 = _T_1306 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@37869.4]
+  assign _T_1308 = $unsigned(_T_1307); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@37870.4]
+  assign _T_1309 = _T_1308[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@37871.4]
+  assign _T_1310 = _T_1306 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@37872.4]
+  assign _T_1321 = _T_1156 & _T_1289; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@37887.4]
+  assign _T_1323 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@37890.6]
+  assign _T_1324 = _T_1274 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@37892.6]
+  assign _T_1325 = _T_1324[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@37893.6]
+  assign _T_1326 = _T_1325 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37894.6]
+  assign _T_1328 = _T_1326 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@37896.6]
+  assign _T_1329 = _T_1328 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@37897.6]
+  assign _GEN_15 = _T_1321 ? _T_1323 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@37889.4]
+  assign _T_1334 = _T_1212 & _T_1310; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@37908.4]
+  assign _T_1336 = _T_1015 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@37910.4]
+  assign _T_1337 = _T_1334 & _T_1336; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@37911.4]
+  assign _T_1338 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@37913.6]
+  assign _T_1339 = _GEN_15 | _T_1274; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@37915.6]
+  assign _T_1340 = _T_1339 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@37916.6]
+  assign _T_1341 = _T_1340[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@37917.6]
+  assign _T_1343 = _T_1341 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@37919.6]
+  assign _T_1344 = _T_1343 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@37920.6]
+  assign _GEN_16 = _T_1337 ? _T_1338 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@37912.4]
+  assign _T_1345 = _GEN_15 != _GEN_16; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@37926.4]
+  assign _T_1346 = _GEN_15 != 2'h0; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@37927.4]
+  assign _T_1347 = _T_1346 == 1'h0; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@37928.4]
+  assign _T_1348 = _T_1345 | _T_1347; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@37929.4]
+  assign _T_1350 = _T_1348 | reset; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@37931.4]
+  assign _T_1351 = _T_1350 == 1'h0; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@37932.4]
+  assign _T_1352 = _T_1274 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@37937.4]
+  assign _T_1353 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@37938.4]
+  assign _T_1354 = _T_1352 & _T_1353; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@37939.4]
+  assign _T_1357 = _T_1274 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@37944.4]
+  assign _T_1358 = _T_1357 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@37945.4]
+  assign _T_1359 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@37946.4]
+  assign _T_1360 = _T_1358 | _T_1359; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@37947.4]
+  assign _T_1361 = _T_1356 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@37948.4]
+  assign _T_1362 = _T_1360 | _T_1361; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@37949.4]
+  assign _T_1364 = _T_1362 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@37951.4]
+  assign _T_1365 = _T_1364 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@37952.4]
+  assign _T_1367 = _T_1356 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@37958.4]
+  assign _T_1370 = _T_1156 | _T_1212; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@37962.4]
+  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36329.10]
+  assign _GEN_35 = io_in_a_valid & _T_206; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36479.10]
+  assign _GEN_53 = io_in_a_valid & _T_326; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36645.10]
+  assign _GEN_65 = io_in_a_valid & _T_442; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36789.10]
+  assign _GEN_75 = io_in_a_valid & _T_556; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36925.10]
+  assign _GEN_85 = io_in_a_valid & _T_672; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37058.10]
+  assign _GEN_95 = io_in_a_valid & _T_781; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37189.10]
+  assign _GEN_105 = io_in_a_valid & _T_890; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37320.10]
+  assign _GEN_115 = io_in_d_valid & _T_1015; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37378.10]
+  assign _GEN_125 = io_in_d_valid & _T_1035; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37420.10]
+  assign _GEN_137 = io_in_d_valid & _T_1063; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37478.10]
+  assign _GEN_149 = io_in_d_valid & _T_1092; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37537.10]
+  assign _GEN_155 = io_in_d_valid & _T_1109; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37572.10]
+  assign _GEN_161 = io_in_d_valid & _T_1127; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37608.10]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  _T_1166 = _RAND_0[9:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  _T_1179 = _RAND_1[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  _T_1181 = _RAND_2[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  _T_1183 = _RAND_3[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  _T_1185 = _RAND_4[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  _T_1187 = _RAND_5[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {1{`RANDOM}};
+  _T_1221 = _RAND_6[9:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {1{`RANDOM}};
+  _T_1234 = _RAND_7[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_8 = {1{`RANDOM}};
+  _T_1236 = _RAND_8[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_9 = {1{`RANDOM}};
+  _T_1238 = _RAND_9[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_10 = {1{`RANDOM}};
+  _T_1240 = _RAND_10[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_11 = {1{`RANDOM}};
+  _T_1242 = _RAND_11[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_12 = {1{`RANDOM}};
+  _T_1244 = _RAND_12[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_13 = {1{`RANDOM}};
+  _T_1274 = _RAND_13[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_14 = {1{`RANDOM}};
+  _T_1285 = _RAND_14[9:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_15 = {1{`RANDOM}};
+  _T_1306 = _RAND_15[9:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_16 = {1{`RANDOM}};
+  _T_1356 = _RAND_16[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      _T_1166 <= 10'h0;
+    end else begin
+      if (_T_1156) begin
+        if (_T_1170) begin
+          if (_T_1163) begin
+            _T_1166 <= _T_1161;
+          end else begin
+            _T_1166 <= 10'h0;
+          end
+        end else begin
+          _T_1166 <= _T_1169;
+        end
+      end
+    end
+    if (_T_1211) begin
+      _T_1179 <= io_in_a_bits_opcode;
+    end
+    if (_T_1211) begin
+      _T_1181 <= io_in_a_bits_param;
+    end
+    if (_T_1211) begin
+      _T_1183 <= io_in_a_bits_size;
+    end
+    if (_T_1211) begin
+      _T_1185 <= io_in_a_bits_source;
+    end
+    if (_T_1211) begin
+      _T_1187 <= io_in_a_bits_address;
+    end
+    if (reset) begin
+      _T_1221 <= 10'h0;
+    end else begin
+      if (_T_1212) begin
+        if (_T_1225) begin
+          if (_T_1218) begin
+            _T_1221 <= _T_1217;
+          end else begin
+            _T_1221 <= 10'h0;
+          end
+        end else begin
+          _T_1221 <= _T_1224;
+        end
+      end
+    end
+    if (_T_1272) begin
+      _T_1234 <= io_in_d_bits_opcode;
+    end
+    if (_T_1272) begin
+      _T_1236 <= io_in_d_bits_param;
+    end
+    if (_T_1272) begin
+      _T_1238 <= io_in_d_bits_size;
+    end
+    if (_T_1272) begin
+      _T_1240 <= io_in_d_bits_source;
+    end
+    if (_T_1272) begin
+      _T_1242 <= io_in_d_bits_sink;
+    end
+    if (_T_1272) begin
+      _T_1244 <= io_in_d_bits_denied;
+    end
+    if (reset) begin
+      _T_1274 <= 2'h0;
+    end else begin
+      _T_1274 <= _T_1354;
+    end
+    if (reset) begin
+      _T_1285 <= 10'h0;
+    end else begin
+      if (_T_1156) begin
+        if (_T_1289) begin
+          if (_T_1163) begin
+            _T_1285 <= _T_1161;
+          end else begin
+            _T_1285 <= 10'h0;
+          end
+        end else begin
+          _T_1285 <= _T_1288;
+        end
+      end
+    end
+    if (reset) begin
+      _T_1306 <= 10'h0;
+    end else begin
+      if (_T_1212) begin
+        if (_T_1310) begin
+          if (_T_1218) begin
+            _T_1306 <= _T_1217;
+          end else begin
+            _T_1306 <= 10'h0;
+          end
+        end else begin
+          _T_1306 <= _T_1309;
+        end
+      end
+    end
+    if (reset) begin
+      _T_1356 <= 32'h0;
+    end else begin
+      if (_T_1370) begin
+        _T_1356 <= 32'h0;
+      end else begin
+        _T_1356 <= _T_1367;
+      end
+    end
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at SystemBus.scala:50:9)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@36164.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@36165.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@36234.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@36235.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_179) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at SystemBus.scala:50:9)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36329.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_179) begin
+          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36330.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_179) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at SystemBus.scala:50:9)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36336.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_179) begin
+          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36337.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_185) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at SystemBus.scala:50:9)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36343.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_185) begin
+          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36344.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_189) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at SystemBus.scala:50:9)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36351.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_189) begin
+          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36352.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_192) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at SystemBus.scala:50:9)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36358.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_192) begin
+          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36359.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_196) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at SystemBus.scala:50:9)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36366.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_196) begin
+          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36367.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_201) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at SystemBus.scala:50:9)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36375.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_201) begin
+          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36376.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_205) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at SystemBus.scala:50:9)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36383.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_205) begin
+          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36384.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_179) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at SystemBus.scala:50:9)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36479.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_179) begin
+          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36480.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_179) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at SystemBus.scala:50:9)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36486.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_179) begin
+          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36487.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_185) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at SystemBus.scala:50:9)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36493.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_185) begin
+          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36494.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_189) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at SystemBus.scala:50:9)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36501.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_189) begin
+          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36502.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_192) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at SystemBus.scala:50:9)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36508.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_192) begin
+          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36509.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_196) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at SystemBus.scala:50:9)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36516.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_196) begin
+          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36517.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_316) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at SystemBus.scala:50:9)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36524.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_316) begin
+          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36525.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_201) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at SystemBus.scala:50:9)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36533.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_201) begin
+          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36534.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_205) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at SystemBus.scala:50:9)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36541.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_205) begin
+          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36542.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_423) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at SystemBus.scala:50:9)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36645.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_423) begin
+          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36646.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_185) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at SystemBus.scala:50:9)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36652.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_185) begin
+          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36653.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_192) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at SystemBus.scala:50:9)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36659.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_192) begin
+          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36660.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_433) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at SystemBus.scala:50:9)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36667.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_433) begin
+          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36668.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_437) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at SystemBus.scala:50:9)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36675.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_437) begin
+          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36676.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_205) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at SystemBus.scala:50:9)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36683.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_205) begin
+          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36684.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_541) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at SystemBus.scala:50:9)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36789.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_541) begin
+          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36790.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_185) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at SystemBus.scala:50:9)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36796.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_185) begin
+          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36797.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_192) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at SystemBus.scala:50:9)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36803.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_192) begin
+          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36804.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_433) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at SystemBus.scala:50:9)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36811.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_433) begin
+          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36812.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_437) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at SystemBus.scala:50:9)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36819.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_437) begin
+          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36820.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_541) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at SystemBus.scala:50:9)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36925.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_541) begin
+          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36926.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_185) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at SystemBus.scala:50:9)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36932.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_185) begin
+          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36933.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_192) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at SystemBus.scala:50:9)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36939.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_192) begin
+          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36940.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_433) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at SystemBus.scala:50:9)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36947.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_433) begin
+          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36948.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_671) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at SystemBus.scala:50:9)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36957.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_671) begin
+          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36958.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_766) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at SystemBus.scala:50:9)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37058.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_766) begin
+          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37059.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_185) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at SystemBus.scala:50:9)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37065.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_185) begin
+          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37066.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_192) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at SystemBus.scala:50:9)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37072.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_192) begin
+          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37073.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_776) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at SystemBus.scala:50:9)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37080.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_776) begin
+          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37081.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_437) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at SystemBus.scala:50:9)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37088.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_437) begin
+          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37089.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_766) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at SystemBus.scala:50:9)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37189.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_766) begin
+          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37190.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_185) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at SystemBus.scala:50:9)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37196.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_185) begin
+          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37197.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_192) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at SystemBus.scala:50:9)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37203.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_192) begin
+          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37204.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_885) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at SystemBus.scala:50:9)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37211.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_885) begin
+          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37212.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_437) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at SystemBus.scala:50:9)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37219.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_437) begin
+          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37220.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_984) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at SystemBus.scala:50:9)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37320.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_984) begin
+          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37321.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_185) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at SystemBus.scala:50:9)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37327.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_185) begin
+          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37328.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_192) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at SystemBus.scala:50:9)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37334.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_192) begin
+          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37335.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_437) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at SystemBus.scala:50:9)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37342.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_437) begin
+          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37343.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_205) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at SystemBus.scala:50:9)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37350.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_205) begin
+          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37351.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1002) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at SystemBus.scala:50:9)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@37361.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1002) begin
+          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@37362.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_1018) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at SystemBus.scala:50:9)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37378.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_1018) begin
+          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37379.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_1022) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at SystemBus.scala:50:9)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37386.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_1022) begin
+          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37387.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_1026) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at SystemBus.scala:50:9)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37394.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_1026) begin
+          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37395.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_1030) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at SystemBus.scala:50:9)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37402.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_1030) begin
+          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37403.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_1034) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at SystemBus.scala:50:9)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37410.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_1034) begin
+          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37411.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_1018) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at SystemBus.scala:50:9)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37420.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_1018) begin
+          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37421.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_179) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at SystemBus.scala:50:9)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37427.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_179) begin
+          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37428.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_1022) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at SystemBus.scala:50:9)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37435.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_1022) begin
+          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37436.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_1049) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at SystemBus.scala:50:9)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37443.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_1049) begin
+          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37444.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_1053) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at SystemBus.scala:50:9)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37451.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_1053) begin
+          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37452.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_1030) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at SystemBus.scala:50:9)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37459.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_1030) begin
+          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37460.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at SystemBus.scala:50:9)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37468.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37469.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_137 & _T_1018) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at SystemBus.scala:50:9)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37478.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_137 & _T_1018) begin
+          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37479.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_137 & _T_179) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at SystemBus.scala:50:9)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37485.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_137 & _T_179) begin
+          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37486.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_137 & _T_1022) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at SystemBus.scala:50:9)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37493.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_137 & _T_1022) begin
+          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37494.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_137 & _T_1049) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at SystemBus.scala:50:9)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37501.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_137 & _T_1049) begin
+          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37502.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_137 & _T_1053) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at SystemBus.scala:50:9)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37509.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_137 & _T_1053) begin
+          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37510.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_137 & _T_1086) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at SystemBus.scala:50:9)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37518.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_137 & _T_1086) begin
+          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37519.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at SystemBus.scala:50:9)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37527.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37528.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_149 & _T_1018) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at SystemBus.scala:50:9)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37537.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_149 & _T_1018) begin
+          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37538.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_149 & _T_1026) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at SystemBus.scala:50:9)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37545.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_149 & _T_1026) begin
+          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37546.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_149 & _T_1030) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at SystemBus.scala:50:9)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37553.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_149 & _T_1030) begin
+          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37554.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at SystemBus.scala:50:9)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37562.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37563.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_155 & _T_1018) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at SystemBus.scala:50:9)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37572.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_155 & _T_1018) begin
+          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37573.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_155 & _T_1026) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at SystemBus.scala:50:9)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37580.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_155 & _T_1026) begin
+          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37581.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_155 & _T_1086) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at SystemBus.scala:50:9)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37589.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_155 & _T_1086) begin
+          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37590.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at SystemBus.scala:50:9)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37598.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37599.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_161 & _T_1018) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at SystemBus.scala:50:9)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37608.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_161 & _T_1018) begin
+          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37609.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_161 & _T_1026) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at SystemBus.scala:50:9)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37616.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_161 & _T_1026) begin
+          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37617.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_161 & _T_1030) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at SystemBus.scala:50:9)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37624.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_161 & _T_1030) begin
+          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37625.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at SystemBus.scala:50:9)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37633.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37634.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at SystemBus.scala:50:9)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37643.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37644.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at SystemBus.scala:50:9)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37651.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37652.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at SystemBus.scala:50:9)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37659.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37660.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1189 & _T_1193) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at SystemBus.scala:50:9)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37699.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1189 & _T_1193) begin
+          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37700.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1189 & _T_1197) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at SystemBus.scala:50:9)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37707.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1189 & _T_1197) begin
+          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37708.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1189 & _T_1201) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at SystemBus.scala:50:9)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37715.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1189 & _T_1201) begin
+          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37716.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1189 & _T_1205) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at SystemBus.scala:50:9)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37723.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1189 & _T_1205) begin
+          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37724.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1189 & _T_1209) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at SystemBus.scala:50:9)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37731.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1189 & _T_1209) begin
+          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37732.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1246 & _T_1250) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at SystemBus.scala:50:9)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37781.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1246 & _T_1250) begin
+          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37782.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1246 & _T_1254) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at SystemBus.scala:50:9)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37789.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1246 & _T_1254) begin
+          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37790.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1246 & _T_1258) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at SystemBus.scala:50:9)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37797.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1246 & _T_1258) begin
+          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37798.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1246 & _T_1262) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at SystemBus.scala:50:9)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37805.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1246 & _T_1262) begin
+          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37806.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1246 & _T_1266) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at SystemBus.scala:50:9)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37813.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1246 & _T_1266) begin
+          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37814.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1246 & _T_1270) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at SystemBus.scala:50:9)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37821.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1246 & _T_1270) begin
+          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37822.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1321 & _T_1329) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at SystemBus.scala:50:9)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@37899.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1321 & _T_1329) begin
+          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@37900.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1337 & _T_1344) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at SystemBus.scala:50:9)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@37922.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1337 & _T_1344) begin
+          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@37923.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1351) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' and 'D' concurrent, despite minlatency 2 (connected at SystemBus.scala:50:9)\n    at Monitor.scala:471 assert(a_set =/= d_clr || !a_set.orR, s\"'A' and 'D' concurrent, despite minlatency ${edge.manager.minLatency}\" + extra)\n"); // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@37934.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1351) begin
+          $fatal; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@37935.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1365) begin
+          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at SystemBus.scala:50:9)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@37954.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1365) begin
+          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@37955.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+endmodule
+module TLWidthWidget_2( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@37967.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@37968.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@37969.4]
+  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@37970.4]
+  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@37970.4]
+  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@37970.4]
+  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@37970.4]
+  input  [3:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@37970.4]
+  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@37970.4]
+  input  [31:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@37970.4]
+  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@37970.4]
+  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@37970.4]
+  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@37970.4]
+  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@37970.4]
+  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@37970.4]
+  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@37970.4]
+  output [1:0]  auto_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@37970.4]
+  output [3:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@37970.4]
+  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@37970.4]
+  output        auto_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@37970.4]
+  output        auto_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@37970.4]
+  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@37970.4]
+  output        auto_in_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@37970.4]
+  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@37970.4]
+  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@37970.4]
+  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@37970.4]
+  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@37970.4]
+  output [3:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@37970.4]
+  output        auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@37970.4]
+  output [31:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@37970.4]
+  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@37970.4]
+  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@37970.4]
+  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@37970.4]
+  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@37970.4]
+  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@37970.4]
+  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@37970.4]
+  input  [1:0]  auto_out_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@37970.4]
+  input  [3:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@37970.4]
+  input         auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@37970.4]
+  input         auto_out_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@37970.4]
+  input         auto_out_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@37970.4]
+  input  [31:0] auto_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@37970.4]
+  input         auto_out_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@37970.4]
+);
+  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@37977.4]
+  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@37977.4]
+  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@37977.4]
+  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@37977.4]
+  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@37977.4]
+  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@37977.4]
+  wire [3:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@37977.4]
+  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@37977.4]
+  wire [31:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@37977.4]
+  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@37977.4]
+  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@37977.4]
+  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@37977.4]
+  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@37977.4]
+  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@37977.4]
+  wire [1:0] TLMonitor_io_in_d_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@37977.4]
+  wire [3:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@37977.4]
+  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@37977.4]
+  wire  TLMonitor_io_in_d_bits_sink; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@37977.4]
+  wire  TLMonitor_io_in_d_bits_denied; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@37977.4]
+  wire  TLMonitor_io_in_d_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@37977.4]
+  TLMonitor_21 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@37977.4]
+    .clock(TLMonitor_clock),
+    .reset(TLMonitor_reset),
+    .io_in_a_ready(TLMonitor_io_in_a_ready),
+    .io_in_a_valid(TLMonitor_io_in_a_valid),
+    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
+    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
+    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
+    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
+    .io_in_d_ready(TLMonitor_io_in_d_ready),
+    .io_in_d_valid(TLMonitor_io_in_d_valid),
+    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
+    .io_in_d_bits_param(TLMonitor_io_in_d_bits_param),
+    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
+    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source),
+    .io_in_d_bits_sink(TLMonitor_io_in_d_bits_sink),
+    .io_in_d_bits_denied(TLMonitor_io_in_d_bits_denied),
+    .io_in_d_bits_corrupt(TLMonitor_io_in_d_bits_corrupt)
+  );
+  assign auto_in_a_ready = auto_out_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@38017.4]
+  assign auto_in_d_valid = auto_out_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@38017.4]
+  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@38017.4]
+  assign auto_in_d_bits_param = auto_out_d_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@38017.4]
+  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@38017.4]
+  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@38017.4]
+  assign auto_in_d_bits_sink = auto_out_d_bits_sink; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@38017.4]
+  assign auto_in_d_bits_denied = auto_out_d_bits_denied; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@38017.4]
+  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@38017.4]
+  assign auto_in_d_bits_corrupt = auto_out_d_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@38017.4]
+  assign auto_out_a_valid = auto_in_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@38016.4]
+  assign auto_out_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@38016.4]
+  assign auto_out_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@38016.4]
+  assign auto_out_a_bits_size = auto_in_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@38016.4]
+  assign auto_out_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@38016.4]
+  assign auto_out_a_bits_address = auto_in_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@38016.4]
+  assign auto_out_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@38016.4]
+  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@38016.4]
+  assign auto_out_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@38016.4]
+  assign auto_out_d_ready = auto_in_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@38016.4]
+  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@37979.4]
+  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@37980.4]
+  assign TLMonitor_io_in_a_ready = auto_out_a_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@38013.4]
+  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@38013.4]
+  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@38013.4]
+  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@38013.4]
+  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@38013.4]
+  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@38013.4]
+  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@38013.4]
+  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@38013.4]
+  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@38013.4]
+  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@38013.4]
+  assign TLMonitor_io_in_d_valid = auto_out_d_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@38013.4]
+  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@38013.4]
+  assign TLMonitor_io_in_d_bits_param = auto_out_d_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@38013.4]
+  assign TLMonitor_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@38013.4]
+  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@38013.4]
+  assign TLMonitor_io_in_d_bits_sink = auto_out_d_bits_sink; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@38013.4]
+  assign TLMonitor_io_in_d_bits_denied = auto_out_d_bits_denied; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@38013.4]
+  assign TLMonitor_io_in_d_bits_corrupt = auto_out_d_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@38013.4]
+endmodule
+module TLMonitor_22( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@38034.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@38035.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@38036.4]
+  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@38037.4]
+  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@38037.4]
+  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@38037.4]
+  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@38037.4]
+  input  [3:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@38037.4]
+  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@38037.4]
+  input  [31:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@38037.4]
+  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@38037.4]
+  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@38037.4]
+  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@38037.4]
+  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@38037.4]
+  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@38037.4]
+  input  [1:0]  io_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@38037.4]
+  input  [3:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@38037.4]
+  input         io_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@38037.4]
+  input         io_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@38037.4]
+  input         io_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@38037.4]
+  input         io_in_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@38037.4]
+);
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@39827.4]
+  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@38053.6]
+  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@38058.6]
+  wire [26:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@38060.6]
+  wire [11:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@38061.6]
+  wire [11:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@38062.6]
+  wire [31:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@38063.6]
+  wire [31:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@38063.6]
+  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@38064.6]
+  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@38066.6]
+  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@38067.6]
+  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@38069.6]
+  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@38070.6]
+  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@38071.6]
+  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@38072.6]
+  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@38073.6]
+  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@38075.6]
+  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@38076.6]
+  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@38078.6]
+  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@38079.6]
+  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@38080.6]
+  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@38081.6]
+  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@38082.6]
+  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@38083.6]
+  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@38084.6]
+  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@38085.6]
+  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@38086.6]
+  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@38087.6]
+  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@38088.6]
+  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@38089.6]
+  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@38090.6]
+  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@38091.6]
+  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@38092.6]
+  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@38093.6]
+  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@38094.6]
+  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@38095.6]
+  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@38096.6]
+  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@38097.6]
+  wire [32:0] _T_73; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@38101.6]
+  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@38122.6]
+  wire [31:0] _T_92; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@38125.8]
+  wire [32:0] _T_93; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@38126.8]
+  wire [32:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38127.8]
+  wire [32:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38128.8]
+  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@38129.8]
+  wire [31:0] _T_97; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@38130.8]
+  wire [32:0] _T_98; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@38131.8]
+  wire [32:0] _T_99; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38132.8]
+  wire [32:0] _T_100; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38133.8]
+  wire  _T_101; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@38134.8]
+  wire [31:0] _T_102; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@38135.8]
+  wire [32:0] _T_103; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@38136.8]
+  wire [32:0] _T_104; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38137.8]
+  wire [32:0] _T_105; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38138.8]
+  wire  _T_106; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@38139.8]
+  wire [31:0] _T_107; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@38140.8]
+  wire [32:0] _T_108; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@38141.8]
+  wire [32:0] _T_109; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38142.8]
+  wire [32:0] _T_110; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38143.8]
+  wire  _T_111; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@38144.8]
+  wire [31:0] _T_112; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@38145.8]
+  wire [32:0] _T_113; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@38146.8]
+  wire [32:0] _T_114; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38147.8]
+  wire [32:0] _T_115; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38148.8]
+  wire  _T_116; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@38149.8]
+  wire [31:0] _T_117; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@38150.8]
+  wire [32:0] _T_118; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@38151.8]
+  wire [32:0] _T_119; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38152.8]
+  wire [32:0] _T_120; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38153.8]
+  wire  _T_121; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@38154.8]
+  wire [31:0] _T_122; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@38155.8]
+  wire [32:0] _T_123; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@38156.8]
+  wire [32:0] _T_124; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38157.8]
+  wire [32:0] _T_125; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38158.8]
+  wire  _T_126; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@38159.8]
+  wire [31:0] _T_127; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@38160.8]
+  wire [32:0] _T_128; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@38161.8]
+  wire [32:0] _T_129; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38162.8]
+  wire [32:0] _T_130; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38163.8]
+  wire  _T_131; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@38164.8]
+  wire [31:0] _T_132; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@38165.8]
+  wire [32:0] _T_133; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@38166.8]
+  wire [32:0] _T_134; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38167.8]
+  wire [32:0] _T_135; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38168.8]
+  wire  _T_136; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@38169.8]
+  wire [31:0] _T_137; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@38170.8]
+  wire [32:0] _T_138; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@38171.8]
+  wire [32:0] _T_139; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38172.8]
+  wire [32:0] _T_140; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38173.8]
+  wire  _T_141; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@38174.8]
+  wire [32:0] _T_144; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38177.8]
+  wire [32:0] _T_145; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38178.8]
+  wire  _T_146; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@38179.8]
+  wire [31:0] _T_147; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@38180.8]
+  wire [32:0] _T_148; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@38181.8]
+  wire [32:0] _T_149; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38182.8]
+  wire [32:0] _T_150; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38183.8]
+  wire  _T_151; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@38184.8]
+  wire [31:0] _T_152; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@38185.8]
+  wire [32:0] _T_153; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@38186.8]
+  wire [32:0] _T_154; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38187.8]
+  wire [32:0] _T_155; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38188.8]
+  wire  _T_156; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@38189.8]
+  wire [31:0] _T_157; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@38190.8]
+  wire [32:0] _T_158; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@38191.8]
+  wire [32:0] _T_159; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38192.8]
+  wire [32:0] _T_160; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38193.8]
+  wire  _T_161; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@38194.8]
+  wire  _T_162; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38195.8]
+  wire  _T_163; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38196.8]
+  wire  _T_164; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38197.8]
+  wire  _T_165; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38198.8]
+  wire  _T_179; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38212.8]
+  wire  _T_184; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38225.8]
+  wire  _T_185; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38226.8]
+  wire  _T_188; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38233.8]
+  wire  _T_189; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38234.8]
+  wire  _T_191; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38240.8]
+  wire  _T_192; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38241.8]
+  wire  _T_193; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@38246.8]
+  wire  _T_195; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38248.8]
+  wire  _T_196; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38249.8]
+  wire [3:0] _T_197; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@38254.8]
+  wire  _T_198; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@38255.8]
+  wire  _T_200; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38257.8]
+  wire  _T_201; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38258.8]
+  wire  _T_202; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@38263.8]
+  wire  _T_204; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38265.8]
+  wire  _T_205; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38266.8]
+  wire  _T_206; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@38272.6]
+  wire  _T_313; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@38404.8]
+  wire  _T_315; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38406.8]
+  wire  _T_316; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38407.8]
+  wire  _T_326; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@38430.6]
+  wire  _T_328; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38433.8]
+  wire  _T_336; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@38441.8]
+  wire  _T_338; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38443.8]
+  wire  _T_406; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38511.8]
+  wire  _T_407; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38512.8]
+  wire  _T_408; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38513.8]
+  wire  _T_409; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38514.8]
+  wire  _T_410; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38515.8]
+  wire  _T_411; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38516.8]
+  wire  _T_412; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38517.8]
+  wire  _T_413; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38518.8]
+  wire  _T_414; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38519.8]
+  wire  _T_415; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38520.8]
+  wire  _T_416; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38521.8]
+  wire  _T_417; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38522.8]
+  wire  _T_418; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@38523.8]
+  wire  _T_420; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@38525.8]
+  wire  _T_422; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38527.8]
+  wire  _T_423; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38528.8]
+  wire  _T_430; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@38547.8]
+  wire  _T_432; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38549.8]
+  wire  _T_433; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38550.8]
+  wire  _T_434; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@38555.8]
+  wire  _T_436; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38557.8]
+  wire  _T_437; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38558.8]
+  wire  _T_442; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@38572.6]
+  wire  _T_515; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38646.8]
+  wire  _T_516; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38647.8]
+  wire  _T_517; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38648.8]
+  wire  _T_518; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38649.8]
+  wire  _T_519; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38650.8]
+  wire  _T_520; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38651.8]
+  wire  _T_521; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38652.8]
+  wire  _T_522; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@38653.8]
+  wire  _T_537; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@38668.8]
+  wire  _T_540; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38671.8]
+  wire  _T_541; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38672.8]
+  wire  _T_556; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@38708.6]
+  wire [3:0] _T_666; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@38835.8]
+  wire [3:0] _T_667; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@38836.8]
+  wire  _T_668; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@38837.8]
+  wire  _T_670; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38839.8]
+  wire  _T_671; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38840.8]
+  wire  _T_672; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@38846.6]
+  wire  _T_674; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38849.8]
+  wire  _T_741; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38916.8]
+  wire  _T_742; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38917.8]
+  wire  _T_743; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38918.8]
+  wire  _T_744; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38919.8]
+  wire  _T_745; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38920.8]
+  wire  _T_746; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38921.8]
+  wire  _T_747; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38922.8]
+  wire  _T_748; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@38923.8]
+  wire  _T_765; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38940.8]
+  wire  _T_766; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38941.8]
+  wire  _T_773; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@38960.8]
+  wire  _T_775; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38962.8]
+  wire  _T_776; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38963.8]
+  wire  _T_781; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@38977.6]
+  wire  _T_882; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@39091.8]
+  wire  _T_884; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39093.8]
+  wire  _T_885; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39094.8]
+  wire  _T_890; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@39108.6]
+  wire  _T_983; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39202.8]
+  wire  _T_984; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39203.8]
+  wire  _T_999; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@39241.6]
+  wire  _T_1001; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@39243.6]
+  wire  _T_1002; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@39244.6]
+  wire  _T_1004; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@39250.6]
+  wire  _T_1013; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@39255.6]
+  wire  _T_1015; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@39257.6]
+  wire  _T_1017; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39260.8]
+  wire  _T_1018; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39261.8]
+  wire  _T_1019; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@39266.8]
+  wire  _T_1021; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39268.8]
+  wire  _T_1022; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39269.8]
+  wire  _T_1023; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39274.8]
+  wire  _T_1025; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39276.8]
+  wire  _T_1026; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39277.8]
+  wire  _T_1027; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@39282.8]
+  wire  _T_1029; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39284.8]
+  wire  _T_1030; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39285.8]
+  wire  _T_1031; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@39290.8]
+  wire  _T_1033; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39292.8]
+  wire  _T_1034; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39293.8]
+  wire  _T_1035; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@39299.6]
+  wire  _T_1046; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@39323.8]
+  wire  _T_1048; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39325.8]
+  wire  _T_1049; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39326.8]
+  wire  _T_1050; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39331.8]
+  wire  _T_1052; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39333.8]
+  wire  _T_1053; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39334.8]
+  wire  _T_1063; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@39357.6]
+  wire  _T_1083; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@39398.8]
+  wire  _T_1085; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39400.8]
+  wire  _T_1086; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39401.8]
+  wire  _T_1092; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@39416.6]
+  wire  _T_1109; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@39451.6]
+  wire  _T_1127; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@39487.6]
+  wire  _T_1156; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@39547.4]
+  wire [9:0] _T_1161; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@39552.4]
+  wire  _T_1162; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@39553.4]
+  wire  _T_1163; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39554.4]
+  reg [9:0] _T_1166; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@39556.4]
+  reg [31:0] _RAND_0;
+  wire [10:0] _T_1167; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39557.4]
+  wire [10:0] _T_1168; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39558.4]
+  wire [9:0] _T_1169; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39559.4]
+  wire  _T_1170; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@39560.4]
+  reg [2:0] _T_1179; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@39571.4]
+  reg [31:0] _RAND_1;
+  reg [2:0] _T_1181; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@39572.4]
+  reg [31:0] _RAND_2;
+  reg [3:0] _T_1183; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@39573.4]
+  reg [31:0] _RAND_3;
+  reg  _T_1185; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@39574.4]
+  reg [31:0] _RAND_4;
+  reg [31:0] _T_1187; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@39575.4]
+  reg [31:0] _RAND_5;
+  wire  _T_1188; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@39576.4]
+  wire  _T_1189; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@39577.4]
+  wire  _T_1190; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@39579.6]
+  wire  _T_1192; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39581.6]
+  wire  _T_1193; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39582.6]
+  wire  _T_1194; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@39587.6]
+  wire  _T_1196; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39589.6]
+  wire  _T_1197; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39590.6]
+  wire  _T_1198; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@39595.6]
+  wire  _T_1200; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39597.6]
+  wire  _T_1201; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39598.6]
+  wire  _T_1202; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@39603.6]
+  wire  _T_1204; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39605.6]
+  wire  _T_1205; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39606.6]
+  wire  _T_1206; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@39611.6]
+  wire  _T_1208; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39613.6]
+  wire  _T_1209; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39614.6]
+  wire  _T_1211; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@39621.4]
+  wire  _T_1212; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@39629.4]
+  wire [26:0] _T_1214; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@39631.4]
+  wire [11:0] _T_1215; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@39632.4]
+  wire [11:0] _T_1216; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@39633.4]
+  wire [9:0] _T_1217; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@39634.4]
+  wire  _T_1218; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@39635.4]
+  reg [9:0] _T_1221; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@39637.4]
+  reg [31:0] _RAND_6;
+  wire [10:0] _T_1222; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39638.4]
+  wire [10:0] _T_1223; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39639.4]
+  wire [9:0] _T_1224; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39640.4]
+  wire  _T_1225; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@39641.4]
+  reg [2:0] _T_1234; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@39652.4]
+  reg [31:0] _RAND_7;
+  reg [1:0] _T_1236; // @[Monitor.scala 419:22:shc.marmotcaravel.MarmotCaravelConfig.fir@39653.4]
+  reg [31:0] _RAND_8;
+  reg [3:0] _T_1238; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@39654.4]
+  reg [31:0] _RAND_9;
+  reg  _T_1240; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@39655.4]
+  reg [31:0] _RAND_10;
+  reg  _T_1242; // @[Monitor.scala 422:22:shc.marmotcaravel.MarmotCaravelConfig.fir@39656.4]
+  reg [31:0] _RAND_11;
+  reg  _T_1244; // @[Monitor.scala 423:22:shc.marmotcaravel.MarmotCaravelConfig.fir@39657.4]
+  reg [31:0] _RAND_12;
+  wire  _T_1245; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@39658.4]
+  wire  _T_1246; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@39659.4]
+  wire  _T_1247; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@39661.6]
+  wire  _T_1249; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39663.6]
+  wire  _T_1250; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39664.6]
+  wire  _T_1251; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@39669.6]
+  wire  _T_1253; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39671.6]
+  wire  _T_1254; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39672.6]
+  wire  _T_1255; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@39677.6]
+  wire  _T_1257; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39679.6]
+  wire  _T_1258; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39680.6]
+  wire  _T_1259; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@39685.6]
+  wire  _T_1261; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39687.6]
+  wire  _T_1262; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39688.6]
+  wire  _T_1263; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@39693.6]
+  wire  _T_1265; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39695.6]
+  wire  _T_1266; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39696.6]
+  wire  _T_1267; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@39701.6]
+  wire  _T_1269; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39703.6]
+  wire  _T_1270; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39704.6]
+  wire  _T_1272; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@39711.4]
+  reg [1:0] _T_1274; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@39720.4]
+  reg [31:0] _RAND_13;
+  reg [9:0] _T_1285; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@39730.4]
+  reg [31:0] _RAND_14;
+  wire [10:0] _T_1286; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39731.4]
+  wire [10:0] _T_1287; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39732.4]
+  wire [9:0] _T_1288; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39733.4]
+  wire  _T_1289; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@39734.4]
+  reg [9:0] _T_1306; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@39753.4]
+  reg [31:0] _RAND_15;
+  wire [10:0] _T_1307; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39754.4]
+  wire [10:0] _T_1308; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39755.4]
+  wire [9:0] _T_1309; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39756.4]
+  wire  _T_1310; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@39757.4]
+  wire  _T_1321; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@39772.4]
+  wire [1:0] _T_1323; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@39775.6]
+  wire [1:0] _T_1324; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@39777.6]
+  wire  _T_1325; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@39778.6]
+  wire  _T_1326; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39779.6]
+  wire  _T_1328; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@39781.6]
+  wire  _T_1329; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@39782.6]
+  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@39774.4]
+  wire  _T_1334; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@39793.4]
+  wire  _T_1336; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@39795.4]
+  wire  _T_1337; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@39796.4]
+  wire [1:0] _T_1338; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@39798.6]
+  wire [1:0] _T_1339; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@39800.6]
+  wire [1:0] _T_1340; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@39801.6]
+  wire  _T_1341; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@39802.6]
+  wire  _T_1343; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@39804.6]
+  wire  _T_1344; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@39805.6]
+  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@39797.4]
+  wire  _T_1345; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@39811.4]
+  wire  _T_1346; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@39812.4]
+  wire  _T_1347; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@39813.4]
+  wire  _T_1348; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@39814.4]
+  wire  _T_1350; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@39816.4]
+  wire  _T_1351; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@39817.4]
+  wire [1:0] _T_1352; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@39822.4]
+  wire [1:0] _T_1353; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@39823.4]
+  wire [1:0] _T_1354; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@39824.4]
+  reg [31:0] _T_1356; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@39826.4]
+  reg [31:0] _RAND_16;
+  wire  _T_1357; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@39829.4]
+  wire  _T_1358; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@39830.4]
+  wire  _T_1359; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@39831.4]
+  wire  _T_1360; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@39832.4]
+  wire  _T_1361; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@39833.4]
+  wire  _T_1362; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@39834.4]
+  wire  _T_1364; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@39836.4]
+  wire  _T_1365; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@39837.4]
+  wire [31:0] _T_1367; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@39843.4]
+  wire  _T_1370; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@39847.4]
+  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38214.10]
+  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38364.10]
+  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38530.10]
+  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38674.10]
+  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38810.10]
+  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38943.10]
+  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39074.10]
+  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39205.10]
+  wire  _GEN_115; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39263.10]
+  wire  _GEN_125; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39305.10]
+  wire  _GEN_137; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39363.10]
+  wire  _GEN_149; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39422.10]
+  wire  _GEN_155; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39457.10]
+  wire  _GEN_161; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39493.10]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@39827.4]
+    .out(plusarg_reader_out)
+  );
+  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@38053.6]
+  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@38058.6]
+  assign _T_32 = 27'hfff << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@38060.6]
+  assign _T_33 = _T_32[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@38061.6]
+  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@38062.6]
+  assign _GEN_18 = {{20'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@38063.6]
+  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@38063.6]
+  assign _T_36 = _T_35 == 32'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@38064.6]
+  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@38066.6]
+  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@38067.6]
+  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@38069.6]
+  assign _T_42 = io_in_a_bits_size >= 4'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@38070.6]
+  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@38071.6]
+  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@38072.6]
+  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@38073.6]
+  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@38075.6]
+  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@38076.6]
+  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@38078.6]
+  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@38079.6]
+  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@38080.6]
+  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@38081.6]
+  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@38082.6]
+  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@38083.6]
+  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@38084.6]
+  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@38085.6]
+  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@38086.6]
+  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@38087.6]
+  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@38088.6]
+  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@38089.6]
+  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@38090.6]
+  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@38091.6]
+  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@38092.6]
+  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@38093.6]
+  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@38094.6]
+  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@38095.6]
+  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@38096.6]
+  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@38097.6]
+  assign _T_73 = {1'b0,$signed(io_in_a_bits_address)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@38101.6]
+  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@38122.6]
+  assign _T_92 = io_in_a_bits_address ^ 32'h3000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@38125.8]
+  assign _T_93 = {1'b0,$signed(_T_92)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@38126.8]
+  assign _T_94 = $signed(_T_93) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38127.8]
+  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38128.8]
+  assign _T_96 = $signed(_T_95) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@38129.8]
+  assign _T_97 = io_in_a_bits_address ^ 32'h10013000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@38130.8]
+  assign _T_98 = {1'b0,$signed(_T_97)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@38131.8]
+  assign _T_99 = $signed(_T_98) & $signed(-33'sh21000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38132.8]
+  assign _T_100 = $signed(_T_99); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38133.8]
+  assign _T_101 = $signed(_T_100) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@38134.8]
+  assign _T_102 = io_in_a_bits_address ^ 32'h10023000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@38135.8]
+  assign _T_103 = {1'b0,$signed(_T_102)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@38136.8]
+  assign _T_104 = $signed(_T_103) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38137.8]
+  assign _T_105 = $signed(_T_104); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38138.8]
+  assign _T_106 = $signed(_T_105) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@38139.8]
+  assign _T_107 = io_in_a_bits_address ^ 32'h10043000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@38140.8]
+  assign _T_108 = {1'b0,$signed(_T_107)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@38141.8]
+  assign _T_109 = $signed(_T_108) & $signed(-33'sh11000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38142.8]
+  assign _T_110 = $signed(_T_109); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38143.8]
+  assign _T_111 = $signed(_T_110) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@38144.8]
+  assign _T_112 = io_in_a_bits_address ^ 32'h10014000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@38145.8]
+  assign _T_113 = {1'b0,$signed(_T_112)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@38146.8]
+  assign _T_114 = $signed(_T_113) & $signed(-33'sh21000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38147.8]
+  assign _T_115 = $signed(_T_114); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38148.8]
+  assign _T_116 = $signed(_T_115) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@38149.8]
+  assign _T_117 = io_in_a_bits_address ^ 32'h20000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@38150.8]
+  assign _T_118 = {1'b0,$signed(_T_117)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@38151.8]
+  assign _T_119 = $signed(_T_118) & $signed(-33'sh20000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38152.8]
+  assign _T_120 = $signed(_T_119); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38153.8]
+  assign _T_121 = $signed(_T_120) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@38154.8]
+  assign _T_122 = io_in_a_bits_address ^ 32'h10024000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@38155.8]
+  assign _T_123 = {1'b0,$signed(_T_122)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@38156.8]
+  assign _T_124 = $signed(_T_123) & $signed(-33'sh3000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38157.8]
+  assign _T_125 = $signed(_T_124); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38158.8]
+  assign _T_126 = $signed(_T_125) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@38159.8]
+  assign _T_127 = io_in_a_bits_address ^ 32'h10012000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@38160.8]
+  assign _T_128 = {1'b0,$signed(_T_127)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@38161.8]
+  assign _T_129 = $signed(_T_128) & $signed(-33'sh5000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38162.8]
+  assign _T_130 = $signed(_T_129); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38163.8]
+  assign _T_131 = $signed(_T_130) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@38164.8]
+  assign _T_132 = io_in_a_bits_address ^ 32'hc000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@38165.8]
+  assign _T_133 = {1'b0,$signed(_T_132)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@38166.8]
+  assign _T_134 = $signed(_T_133) & $signed(-33'sh4000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38167.8]
+  assign _T_135 = $signed(_T_134); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38168.8]
+  assign _T_136 = $signed(_T_135) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@38169.8]
+  assign _T_137 = io_in_a_bits_address ^ 32'h2000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@38170.8]
+  assign _T_138 = {1'b0,$signed(_T_137)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@38171.8]
+  assign _T_139 = $signed(_T_138) & $signed(-33'sh10000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38172.8]
+  assign _T_140 = $signed(_T_139); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38173.8]
+  assign _T_141 = $signed(_T_140) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@38174.8]
+  assign _T_144 = $signed(_T_73) & $signed(-33'sh10001000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38177.8]
+  assign _T_145 = $signed(_T_144); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38178.8]
+  assign _T_146 = $signed(_T_145) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@38179.8]
+  assign _T_147 = io_in_a_bits_address ^ 32'h8000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@38180.8]
+  assign _T_148 = {1'b0,$signed(_T_147)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@38181.8]
+  assign _T_149 = $signed(_T_148) & $signed(-33'sh4000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38182.8]
+  assign _T_150 = $signed(_T_149); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38183.8]
+  assign _T_151 = $signed(_T_150) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@38184.8]
+  assign _T_152 = io_in_a_bits_address ^ 32'h80000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@38185.8]
+  assign _T_153 = {1'b0,$signed(_T_152)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@38186.8]
+  assign _T_154 = $signed(_T_153) & $signed(-33'sh4000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38187.8]
+  assign _T_155 = $signed(_T_154); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38188.8]
+  assign _T_156 = $signed(_T_155) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@38189.8]
+  assign _T_157 = io_in_a_bits_address ^ 32'h10000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@38190.8]
+  assign _T_158 = {1'b0,$signed(_T_157)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@38191.8]
+  assign _T_159 = $signed(_T_158) & $signed(-33'sh2000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38192.8]
+  assign _T_160 = $signed(_T_159); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38193.8]
+  assign _T_161 = $signed(_T_160) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@38194.8]
+  assign _T_162 = _T_96 | _T_101; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38195.8]
+  assign _T_163 = _T_162 | _T_106; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38196.8]
+  assign _T_164 = _T_163 | _T_111; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38197.8]
+  assign _T_165 = _T_164 | _T_116; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38198.8]
+  assign _T_179 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38212.8]
+  assign _T_184 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38225.8]
+  assign _T_185 = _T_184 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38226.8]
+  assign _T_188 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38233.8]
+  assign _T_189 = _T_188 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38234.8]
+  assign _T_191 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38240.8]
+  assign _T_192 = _T_191 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38241.8]
+  assign _T_193 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@38246.8]
+  assign _T_195 = _T_193 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38248.8]
+  assign _T_196 = _T_195 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38249.8]
+  assign _T_197 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@38254.8]
+  assign _T_198 = _T_197 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@38255.8]
+  assign _T_200 = _T_198 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38257.8]
+  assign _T_201 = _T_200 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38258.8]
+  assign _T_202 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@38263.8]
+  assign _T_204 = _T_202 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38265.8]
+  assign _T_205 = _T_204 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38266.8]
+  assign _T_206 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@38272.6]
+  assign _T_313 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@38404.8]
+  assign _T_315 = _T_313 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38406.8]
+  assign _T_316 = _T_315 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38407.8]
+  assign _T_326 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@38430.6]
+  assign _T_328 = io_in_a_bits_size <= 4'hc; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38433.8]
+  assign _T_336 = _T_328 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@38441.8]
+  assign _T_338 = io_in_a_bits_size <= 4'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38443.8]
+  assign _T_406 = _T_101 | _T_106; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38511.8]
+  assign _T_407 = _T_406 | _T_111; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38512.8]
+  assign _T_408 = _T_407 | _T_116; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38513.8]
+  assign _T_409 = _T_408 | _T_121; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38514.8]
+  assign _T_410 = _T_409 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38515.8]
+  assign _T_411 = _T_410 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38516.8]
+  assign _T_412 = _T_411 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38517.8]
+  assign _T_413 = _T_412 | _T_141; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38518.8]
+  assign _T_414 = _T_413 | _T_146; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38519.8]
+  assign _T_415 = _T_414 | _T_151; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38520.8]
+  assign _T_416 = _T_415 | _T_156; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38521.8]
+  assign _T_417 = _T_416 | _T_161; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38522.8]
+  assign _T_418 = _T_338 & _T_417; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@38523.8]
+  assign _T_420 = _T_336 | _T_418; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@38525.8]
+  assign _T_422 = _T_420 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38527.8]
+  assign _T_423 = _T_422 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38528.8]
+  assign _T_430 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@38547.8]
+  assign _T_432 = _T_430 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38549.8]
+  assign _T_433 = _T_432 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38550.8]
+  assign _T_434 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@38555.8]
+  assign _T_436 = _T_434 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38557.8]
+  assign _T_437 = _T_436 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38558.8]
+  assign _T_442 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@38572.6]
+  assign _T_515 = _T_408 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38646.8]
+  assign _T_516 = _T_515 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38647.8]
+  assign _T_517 = _T_516 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38648.8]
+  assign _T_518 = _T_517 | _T_141; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38649.8]
+  assign _T_519 = _T_518 | _T_146; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38650.8]
+  assign _T_520 = _T_519 | _T_151; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38651.8]
+  assign _T_521 = _T_520 | _T_156; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38652.8]
+  assign _T_522 = _T_338 & _T_521; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@38653.8]
+  assign _T_537 = _T_336 | _T_522; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@38668.8]
+  assign _T_540 = _T_537 | reset; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38671.8]
+  assign _T_541 = _T_540 == 1'h0; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38672.8]
+  assign _T_556 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@38708.6]
+  assign _T_666 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@38835.8]
+  assign _T_667 = io_in_a_bits_mask & _T_666; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@38836.8]
+  assign _T_668 = _T_667 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@38837.8]
+  assign _T_670 = _T_668 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38839.8]
+  assign _T_671 = _T_670 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38840.8]
+  assign _T_672 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@38846.6]
+  assign _T_674 = io_in_a_bits_size <= 4'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38849.8]
+  assign _T_741 = _T_165 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38916.8]
+  assign _T_742 = _T_741 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38917.8]
+  assign _T_743 = _T_742 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38918.8]
+  assign _T_744 = _T_743 | _T_141; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38919.8]
+  assign _T_745 = _T_744 | _T_146; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38920.8]
+  assign _T_746 = _T_745 | _T_151; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38921.8]
+  assign _T_747 = _T_746 | _T_156; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38922.8]
+  assign _T_748 = _T_674 & _T_747; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@38923.8]
+  assign _T_765 = _T_748 | reset; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38940.8]
+  assign _T_766 = _T_765 == 1'h0; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38941.8]
+  assign _T_773 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@38960.8]
+  assign _T_775 = _T_773 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38962.8]
+  assign _T_776 = _T_775 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38963.8]
+  assign _T_781 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@38977.6]
+  assign _T_882 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@39091.8]
+  assign _T_884 = _T_882 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39093.8]
+  assign _T_885 = _T_884 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39094.8]
+  assign _T_890 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@39108.6]
+  assign _T_983 = _T_336 | reset; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39202.8]
+  assign _T_984 = _T_983 == 1'h0; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39203.8]
+  assign _T_999 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@39241.6]
+  assign _T_1001 = _T_999 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@39243.6]
+  assign _T_1002 = _T_1001 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@39244.6]
+  assign _T_1004 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@39250.6]
+  assign _T_1013 = io_in_d_bits_source | _T_1004; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@39255.6]
+  assign _T_1015 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@39257.6]
+  assign _T_1017 = _T_1013 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39260.8]
+  assign _T_1018 = _T_1017 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39261.8]
+  assign _T_1019 = io_in_d_bits_size >= 4'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@39266.8]
+  assign _T_1021 = _T_1019 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39268.8]
+  assign _T_1022 = _T_1021 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39269.8]
+  assign _T_1023 = io_in_d_bits_param == 2'h0; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39274.8]
+  assign _T_1025 = _T_1023 | reset; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39276.8]
+  assign _T_1026 = _T_1025 == 1'h0; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39277.8]
+  assign _T_1027 = io_in_d_bits_corrupt == 1'h0; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@39282.8]
+  assign _T_1029 = _T_1027 | reset; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39284.8]
+  assign _T_1030 = _T_1029 == 1'h0; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39285.8]
+  assign _T_1031 = io_in_d_bits_denied == 1'h0; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@39290.8]
+  assign _T_1033 = _T_1031 | reset; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39292.8]
+  assign _T_1034 = _T_1033 == 1'h0; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39293.8]
+  assign _T_1035 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@39299.6]
+  assign _T_1046 = io_in_d_bits_param <= 2'h2; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@39323.8]
+  assign _T_1048 = _T_1046 | reset; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39325.8]
+  assign _T_1049 = _T_1048 == 1'h0; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39326.8]
+  assign _T_1050 = io_in_d_bits_param != 2'h2; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39331.8]
+  assign _T_1052 = _T_1050 | reset; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39333.8]
+  assign _T_1053 = _T_1052 == 1'h0; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39334.8]
+  assign _T_1063 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@39357.6]
+  assign _T_1083 = _T_1031 | io_in_d_bits_corrupt; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@39398.8]
+  assign _T_1085 = _T_1083 | reset; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39400.8]
+  assign _T_1086 = _T_1085 == 1'h0; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39401.8]
+  assign _T_1092 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@39416.6]
+  assign _T_1109 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@39451.6]
+  assign _T_1127 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@39487.6]
+  assign _T_1156 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@39547.4]
+  assign _T_1161 = _T_34[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@39552.4]
+  assign _T_1162 = io_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@39553.4]
+  assign _T_1163 = _T_1162 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39554.4]
+  assign _T_1167 = _T_1166 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39557.4]
+  assign _T_1168 = $unsigned(_T_1167); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39558.4]
+  assign _T_1169 = _T_1168[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39559.4]
+  assign _T_1170 = _T_1166 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@39560.4]
+  assign _T_1188 = _T_1170 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@39576.4]
+  assign _T_1189 = io_in_a_valid & _T_1188; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@39577.4]
+  assign _T_1190 = io_in_a_bits_opcode == _T_1179; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@39579.6]
+  assign _T_1192 = _T_1190 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39581.6]
+  assign _T_1193 = _T_1192 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39582.6]
+  assign _T_1194 = io_in_a_bits_param == _T_1181; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@39587.6]
+  assign _T_1196 = _T_1194 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39589.6]
+  assign _T_1197 = _T_1196 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39590.6]
+  assign _T_1198 = io_in_a_bits_size == _T_1183; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@39595.6]
+  assign _T_1200 = _T_1198 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39597.6]
+  assign _T_1201 = _T_1200 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39598.6]
+  assign _T_1202 = io_in_a_bits_source == _T_1185; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@39603.6]
+  assign _T_1204 = _T_1202 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39605.6]
+  assign _T_1205 = _T_1204 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39606.6]
+  assign _T_1206 = io_in_a_bits_address == _T_1187; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@39611.6]
+  assign _T_1208 = _T_1206 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39613.6]
+  assign _T_1209 = _T_1208 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39614.6]
+  assign _T_1211 = _T_1156 & _T_1170; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@39621.4]
+  assign _T_1212 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@39629.4]
+  assign _T_1214 = 27'hfff << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@39631.4]
+  assign _T_1215 = _T_1214[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@39632.4]
+  assign _T_1216 = ~ _T_1215; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@39633.4]
+  assign _T_1217 = _T_1216[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@39634.4]
+  assign _T_1218 = io_in_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@39635.4]
+  assign _T_1222 = _T_1221 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39638.4]
+  assign _T_1223 = $unsigned(_T_1222); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39639.4]
+  assign _T_1224 = _T_1223[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39640.4]
+  assign _T_1225 = _T_1221 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@39641.4]
+  assign _T_1245 = _T_1225 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@39658.4]
+  assign _T_1246 = io_in_d_valid & _T_1245; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@39659.4]
+  assign _T_1247 = io_in_d_bits_opcode == _T_1234; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@39661.6]
+  assign _T_1249 = _T_1247 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39663.6]
+  assign _T_1250 = _T_1249 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39664.6]
+  assign _T_1251 = io_in_d_bits_param == _T_1236; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@39669.6]
+  assign _T_1253 = _T_1251 | reset; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39671.6]
+  assign _T_1254 = _T_1253 == 1'h0; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39672.6]
+  assign _T_1255 = io_in_d_bits_size == _T_1238; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@39677.6]
+  assign _T_1257 = _T_1255 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39679.6]
+  assign _T_1258 = _T_1257 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39680.6]
+  assign _T_1259 = io_in_d_bits_source == _T_1240; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@39685.6]
+  assign _T_1261 = _T_1259 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39687.6]
+  assign _T_1262 = _T_1261 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39688.6]
+  assign _T_1263 = io_in_d_bits_sink == _T_1242; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@39693.6]
+  assign _T_1265 = _T_1263 | reset; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39695.6]
+  assign _T_1266 = _T_1265 == 1'h0; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39696.6]
+  assign _T_1267 = io_in_d_bits_denied == _T_1244; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@39701.6]
+  assign _T_1269 = _T_1267 | reset; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39703.6]
+  assign _T_1270 = _T_1269 == 1'h0; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39704.6]
+  assign _T_1272 = _T_1212 & _T_1225; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@39711.4]
+  assign _T_1286 = _T_1285 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39731.4]
+  assign _T_1287 = $unsigned(_T_1286); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39732.4]
+  assign _T_1288 = _T_1287[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39733.4]
+  assign _T_1289 = _T_1285 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@39734.4]
+  assign _T_1307 = _T_1306 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39754.4]
+  assign _T_1308 = $unsigned(_T_1307); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39755.4]
+  assign _T_1309 = _T_1308[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39756.4]
+  assign _T_1310 = _T_1306 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@39757.4]
+  assign _T_1321 = _T_1156 & _T_1289; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@39772.4]
+  assign _T_1323 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@39775.6]
+  assign _T_1324 = _T_1274 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@39777.6]
+  assign _T_1325 = _T_1324[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@39778.6]
+  assign _T_1326 = _T_1325 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39779.6]
+  assign _T_1328 = _T_1326 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@39781.6]
+  assign _T_1329 = _T_1328 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@39782.6]
+  assign _GEN_15 = _T_1321 ? _T_1323 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@39774.4]
+  assign _T_1334 = _T_1212 & _T_1310; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@39793.4]
+  assign _T_1336 = _T_1015 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@39795.4]
+  assign _T_1337 = _T_1334 & _T_1336; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@39796.4]
+  assign _T_1338 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@39798.6]
+  assign _T_1339 = _GEN_15 | _T_1274; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@39800.6]
+  assign _T_1340 = _T_1339 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@39801.6]
+  assign _T_1341 = _T_1340[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@39802.6]
+  assign _T_1343 = _T_1341 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@39804.6]
+  assign _T_1344 = _T_1343 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@39805.6]
+  assign _GEN_16 = _T_1337 ? _T_1338 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@39797.4]
+  assign _T_1345 = _GEN_15 != _GEN_16; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@39811.4]
+  assign _T_1346 = _GEN_15 != 2'h0; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@39812.4]
+  assign _T_1347 = _T_1346 == 1'h0; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@39813.4]
+  assign _T_1348 = _T_1345 | _T_1347; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@39814.4]
+  assign _T_1350 = _T_1348 | reset; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@39816.4]
+  assign _T_1351 = _T_1350 == 1'h0; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@39817.4]
+  assign _T_1352 = _T_1274 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@39822.4]
+  assign _T_1353 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@39823.4]
+  assign _T_1354 = _T_1352 & _T_1353; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@39824.4]
+  assign _T_1357 = _T_1274 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@39829.4]
+  assign _T_1358 = _T_1357 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@39830.4]
+  assign _T_1359 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@39831.4]
+  assign _T_1360 = _T_1358 | _T_1359; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@39832.4]
+  assign _T_1361 = _T_1356 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@39833.4]
+  assign _T_1362 = _T_1360 | _T_1361; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@39834.4]
+  assign _T_1364 = _T_1362 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@39836.4]
+  assign _T_1365 = _T_1364 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@39837.4]
+  assign _T_1367 = _T_1356 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@39843.4]
+  assign _T_1370 = _T_1156 | _T_1212; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@39847.4]
+  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38214.10]
+  assign _GEN_35 = io_in_a_valid & _T_206; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38364.10]
+  assign _GEN_53 = io_in_a_valid & _T_326; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38530.10]
+  assign _GEN_65 = io_in_a_valid & _T_442; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38674.10]
+  assign _GEN_75 = io_in_a_valid & _T_556; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38810.10]
+  assign _GEN_85 = io_in_a_valid & _T_672; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38943.10]
+  assign _GEN_95 = io_in_a_valid & _T_781; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39074.10]
+  assign _GEN_105 = io_in_a_valid & _T_890; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39205.10]
+  assign _GEN_115 = io_in_d_valid & _T_1015; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39263.10]
+  assign _GEN_125 = io_in_d_valid & _T_1035; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39305.10]
+  assign _GEN_137 = io_in_d_valid & _T_1063; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39363.10]
+  assign _GEN_149 = io_in_d_valid & _T_1092; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39422.10]
+  assign _GEN_155 = io_in_d_valid & _T_1109; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39457.10]
+  assign _GEN_161 = io_in_d_valid & _T_1127; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39493.10]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  _T_1166 = _RAND_0[9:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  _T_1179 = _RAND_1[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  _T_1181 = _RAND_2[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  _T_1183 = _RAND_3[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  _T_1185 = _RAND_4[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  _T_1187 = _RAND_5[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {1{`RANDOM}};
+  _T_1221 = _RAND_6[9:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {1{`RANDOM}};
+  _T_1234 = _RAND_7[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_8 = {1{`RANDOM}};
+  _T_1236 = _RAND_8[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_9 = {1{`RANDOM}};
+  _T_1238 = _RAND_9[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_10 = {1{`RANDOM}};
+  _T_1240 = _RAND_10[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_11 = {1{`RANDOM}};
+  _T_1242 = _RAND_11[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_12 = {1{`RANDOM}};
+  _T_1244 = _RAND_12[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_13 = {1{`RANDOM}};
+  _T_1274 = _RAND_13[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_14 = {1{`RANDOM}};
+  _T_1285 = _RAND_14[9:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_15 = {1{`RANDOM}};
+  _T_1306 = _RAND_15[9:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_16 = {1{`RANDOM}};
+  _T_1356 = _RAND_16[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      _T_1166 <= 10'h0;
+    end else begin
+      if (_T_1156) begin
+        if (_T_1170) begin
+          if (_T_1163) begin
+            _T_1166 <= _T_1161;
+          end else begin
+            _T_1166 <= 10'h0;
+          end
+        end else begin
+          _T_1166 <= _T_1169;
+        end
+      end
+    end
+    if (_T_1211) begin
+      _T_1179 <= io_in_a_bits_opcode;
+    end
+    if (_T_1211) begin
+      _T_1181 <= io_in_a_bits_param;
+    end
+    if (_T_1211) begin
+      _T_1183 <= io_in_a_bits_size;
+    end
+    if (_T_1211) begin
+      _T_1185 <= io_in_a_bits_source;
+    end
+    if (_T_1211) begin
+      _T_1187 <= io_in_a_bits_address;
+    end
+    if (reset) begin
+      _T_1221 <= 10'h0;
+    end else begin
+      if (_T_1212) begin
+        if (_T_1225) begin
+          if (_T_1218) begin
+            _T_1221 <= _T_1217;
+          end else begin
+            _T_1221 <= 10'h0;
+          end
+        end else begin
+          _T_1221 <= _T_1224;
+        end
+      end
+    end
+    if (_T_1272) begin
+      _T_1234 <= io_in_d_bits_opcode;
+    end
+    if (_T_1272) begin
+      _T_1236 <= io_in_d_bits_param;
+    end
+    if (_T_1272) begin
+      _T_1238 <= io_in_d_bits_size;
+    end
+    if (_T_1272) begin
+      _T_1240 <= io_in_d_bits_source;
+    end
+    if (_T_1272) begin
+      _T_1242 <= io_in_d_bits_sink;
+    end
+    if (_T_1272) begin
+      _T_1244 <= io_in_d_bits_denied;
+    end
+    if (reset) begin
+      _T_1274 <= 2'h0;
+    end else begin
+      _T_1274 <= _T_1354;
+    end
+    if (reset) begin
+      _T_1285 <= 10'h0;
+    end else begin
+      if (_T_1156) begin
+        if (_T_1289) begin
+          if (_T_1163) begin
+            _T_1285 <= _T_1161;
+          end else begin
+            _T_1285 <= 10'h0;
+          end
+        end else begin
+          _T_1285 <= _T_1288;
+        end
+      end
+    end
+    if (reset) begin
+      _T_1306 <= 10'h0;
+    end else begin
+      if (_T_1212) begin
+        if (_T_1310) begin
+          if (_T_1218) begin
+            _T_1306 <= _T_1217;
+          end else begin
+            _T_1306 <= 10'h0;
+          end
+        end else begin
+          _T_1306 <= _T_1309;
+        end
+      end
+    end
+    if (reset) begin
+      _T_1356 <= 32'h0;
+    end else begin
+      if (_T_1370) begin
+        _T_1356 <= 32'h0;
+      end else begin
+        _T_1356 <= _T_1367;
+      end
+    end
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at SystemBus.scala:51:9)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@38049.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@38050.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@38119.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@38120.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_179) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at SystemBus.scala:51:9)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38214.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_179) begin
+          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38215.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_179) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at SystemBus.scala:51:9)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38221.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_179) begin
+          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38222.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_185) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at SystemBus.scala:51:9)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38228.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_185) begin
+          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38229.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_189) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at SystemBus.scala:51:9)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38236.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_189) begin
+          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38237.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_192) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at SystemBus.scala:51:9)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38243.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_192) begin
+          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38244.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_196) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at SystemBus.scala:51:9)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38251.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_196) begin
+          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38252.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_201) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at SystemBus.scala:51:9)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38260.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_201) begin
+          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38261.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_205) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at SystemBus.scala:51:9)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38268.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_205) begin
+          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38269.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_179) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at SystemBus.scala:51:9)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38364.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_179) begin
+          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38365.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_179) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at SystemBus.scala:51:9)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38371.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_179) begin
+          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38372.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_185) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at SystemBus.scala:51:9)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38378.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_185) begin
+          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38379.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_189) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at SystemBus.scala:51:9)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38386.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_189) begin
+          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38387.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_192) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at SystemBus.scala:51:9)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38393.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_192) begin
+          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38394.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_196) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at SystemBus.scala:51:9)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38401.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_196) begin
+          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38402.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_316) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at SystemBus.scala:51:9)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38409.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_316) begin
+          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38410.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_201) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at SystemBus.scala:51:9)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38418.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_201) begin
+          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38419.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_205) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at SystemBus.scala:51:9)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38426.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_205) begin
+          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38427.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_423) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at SystemBus.scala:51:9)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38530.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_423) begin
+          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38531.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_185) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at SystemBus.scala:51:9)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38537.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_185) begin
+          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38538.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_192) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at SystemBus.scala:51:9)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38544.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_192) begin
+          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38545.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_433) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at SystemBus.scala:51:9)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38552.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_433) begin
+          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38553.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_437) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at SystemBus.scala:51:9)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38560.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_437) begin
+          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38561.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_205) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at SystemBus.scala:51:9)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38568.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_205) begin
+          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38569.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_541) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at SystemBus.scala:51:9)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38674.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_541) begin
+          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38675.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_185) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at SystemBus.scala:51:9)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38681.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_185) begin
+          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38682.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_192) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at SystemBus.scala:51:9)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38688.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_192) begin
+          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38689.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_433) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at SystemBus.scala:51:9)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38696.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_433) begin
+          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38697.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_437) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at SystemBus.scala:51:9)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38704.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_437) begin
+          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38705.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_541) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at SystemBus.scala:51:9)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38810.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_541) begin
+          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38811.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_185) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at SystemBus.scala:51:9)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38817.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_185) begin
+          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38818.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_192) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at SystemBus.scala:51:9)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38824.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_192) begin
+          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38825.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_433) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at SystemBus.scala:51:9)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38832.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_433) begin
+          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38833.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_671) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at SystemBus.scala:51:9)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38842.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_671) begin
+          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38843.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_766) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at SystemBus.scala:51:9)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38943.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_766) begin
+          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38944.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_185) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at SystemBus.scala:51:9)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38950.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_185) begin
+          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38951.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_192) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at SystemBus.scala:51:9)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38957.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_192) begin
+          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38958.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_776) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at SystemBus.scala:51:9)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38965.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_776) begin
+          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38966.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_437) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at SystemBus.scala:51:9)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38973.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_437) begin
+          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38974.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_766) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at SystemBus.scala:51:9)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39074.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_766) begin
+          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39075.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_185) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at SystemBus.scala:51:9)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39081.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_185) begin
+          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39082.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_192) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at SystemBus.scala:51:9)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39088.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_192) begin
+          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39089.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_885) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at SystemBus.scala:51:9)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39096.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_885) begin
+          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39097.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_437) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at SystemBus.scala:51:9)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39104.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_437) begin
+          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39105.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_984) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at SystemBus.scala:51:9)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39205.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_984) begin
+          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39206.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_185) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at SystemBus.scala:51:9)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39212.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_185) begin
+          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39213.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_192) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at SystemBus.scala:51:9)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39219.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_192) begin
+          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39220.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_437) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at SystemBus.scala:51:9)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39227.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_437) begin
+          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39228.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_205) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at SystemBus.scala:51:9)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39235.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_205) begin
+          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39236.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1002) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at SystemBus.scala:51:9)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@39246.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1002) begin
+          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@39247.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_1018) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at SystemBus.scala:51:9)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39263.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_1018) begin
+          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39264.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_1022) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at SystemBus.scala:51:9)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39271.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_1022) begin
+          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39272.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_1026) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at SystemBus.scala:51:9)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39279.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_1026) begin
+          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39280.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_1030) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at SystemBus.scala:51:9)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39287.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_1030) begin
+          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39288.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_1034) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at SystemBus.scala:51:9)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39295.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_1034) begin
+          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39296.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_1018) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at SystemBus.scala:51:9)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39305.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_1018) begin
+          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39306.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_179) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at SystemBus.scala:51:9)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39312.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_179) begin
+          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39313.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_1022) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at SystemBus.scala:51:9)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39320.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_1022) begin
+          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39321.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_1049) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at SystemBus.scala:51:9)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39328.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_1049) begin
+          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39329.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_1053) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at SystemBus.scala:51:9)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39336.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_1053) begin
+          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39337.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_1030) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at SystemBus.scala:51:9)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39344.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_1030) begin
+          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39345.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at SystemBus.scala:51:9)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39353.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39354.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_137 & _T_1018) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at SystemBus.scala:51:9)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39363.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_137 & _T_1018) begin
+          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39364.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_137 & _T_179) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at SystemBus.scala:51:9)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39370.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_137 & _T_179) begin
+          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39371.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_137 & _T_1022) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at SystemBus.scala:51:9)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39378.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_137 & _T_1022) begin
+          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39379.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_137 & _T_1049) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at SystemBus.scala:51:9)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39386.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_137 & _T_1049) begin
+          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39387.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_137 & _T_1053) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at SystemBus.scala:51:9)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39394.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_137 & _T_1053) begin
+          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39395.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_137 & _T_1086) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at SystemBus.scala:51:9)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39403.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_137 & _T_1086) begin
+          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39404.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at SystemBus.scala:51:9)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39412.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39413.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_149 & _T_1018) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at SystemBus.scala:51:9)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39422.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_149 & _T_1018) begin
+          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39423.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_149 & _T_1026) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at SystemBus.scala:51:9)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39430.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_149 & _T_1026) begin
+          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39431.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_149 & _T_1030) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at SystemBus.scala:51:9)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39438.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_149 & _T_1030) begin
+          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39439.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at SystemBus.scala:51:9)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39447.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39448.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_155 & _T_1018) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at SystemBus.scala:51:9)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39457.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_155 & _T_1018) begin
+          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39458.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_155 & _T_1026) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at SystemBus.scala:51:9)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39465.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_155 & _T_1026) begin
+          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39466.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_155 & _T_1086) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at SystemBus.scala:51:9)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39474.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_155 & _T_1086) begin
+          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39475.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at SystemBus.scala:51:9)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39483.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39484.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_161 & _T_1018) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at SystemBus.scala:51:9)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39493.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_161 & _T_1018) begin
+          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39494.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_161 & _T_1026) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at SystemBus.scala:51:9)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39501.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_161 & _T_1026) begin
+          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39502.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_161 & _T_1030) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at SystemBus.scala:51:9)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39509.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_161 & _T_1030) begin
+          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39510.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at SystemBus.scala:51:9)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39518.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39519.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at SystemBus.scala:51:9)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39528.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39529.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at SystemBus.scala:51:9)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39536.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39537.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at SystemBus.scala:51:9)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39544.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39545.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1189 & _T_1193) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at SystemBus.scala:51:9)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39584.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1189 & _T_1193) begin
+          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39585.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1189 & _T_1197) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at SystemBus.scala:51:9)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39592.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1189 & _T_1197) begin
+          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39593.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1189 & _T_1201) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at SystemBus.scala:51:9)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39600.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1189 & _T_1201) begin
+          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39601.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1189 & _T_1205) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at SystemBus.scala:51:9)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39608.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1189 & _T_1205) begin
+          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39609.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1189 & _T_1209) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at SystemBus.scala:51:9)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39616.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1189 & _T_1209) begin
+          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39617.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1246 & _T_1250) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at SystemBus.scala:51:9)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39666.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1246 & _T_1250) begin
+          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39667.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1246 & _T_1254) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at SystemBus.scala:51:9)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39674.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1246 & _T_1254) begin
+          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39675.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1246 & _T_1258) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at SystemBus.scala:51:9)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39682.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1246 & _T_1258) begin
+          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39683.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1246 & _T_1262) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at SystemBus.scala:51:9)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39690.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1246 & _T_1262) begin
+          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39691.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1246 & _T_1266) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at SystemBus.scala:51:9)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39698.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1246 & _T_1266) begin
+          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39699.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1246 & _T_1270) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at SystemBus.scala:51:9)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39706.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1246 & _T_1270) begin
+          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39707.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1321 & _T_1329) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at SystemBus.scala:51:9)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@39784.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1321 & _T_1329) begin
+          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@39785.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1337 & _T_1344) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at SystemBus.scala:51:9)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@39807.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1337 & _T_1344) begin
+          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@39808.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1351) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' and 'D' concurrent, despite minlatency 2 (connected at SystemBus.scala:51:9)\n    at Monitor.scala:471 assert(a_set =/= d_clr || !a_set.orR, s\"'A' and 'D' concurrent, despite minlatency ${edge.manager.minLatency}\" + extra)\n"); // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@39819.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1351) begin
+          $fatal; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@39820.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1365) begin
+          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at SystemBus.scala:51:9)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@39839.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1365) begin
+          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@39840.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+endmodule
+module TLBuffer_8( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39852.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39853.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39854.4]
+  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39855.4]
+  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39855.4]
+  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39855.4]
+  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39855.4]
+  input  [3:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39855.4]
+  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39855.4]
+  input  [31:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39855.4]
+  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39855.4]
+  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39855.4]
+  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39855.4]
+  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39855.4]
+  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39855.4]
+  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39855.4]
+  output [1:0]  auto_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39855.4]
+  output [3:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39855.4]
+  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39855.4]
+  output        auto_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39855.4]
+  output        auto_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39855.4]
+  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39855.4]
+  output        auto_in_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39855.4]
+  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39855.4]
+  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39855.4]
+  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39855.4]
+  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39855.4]
+  output [3:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39855.4]
+  output        auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39855.4]
+  output [31:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39855.4]
+  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39855.4]
+  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39855.4]
+  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39855.4]
+  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39855.4]
+  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39855.4]
+  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39855.4]
+  input  [1:0]  auto_out_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39855.4]
+  input  [3:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39855.4]
+  input         auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39855.4]
+  input         auto_out_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39855.4]
+  input         auto_out_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39855.4]
+  input  [31:0] auto_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39855.4]
+  input         auto_out_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39855.4]
+);
+  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@39862.4]
+  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@39862.4]
+  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@39862.4]
+  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@39862.4]
+  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@39862.4]
+  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@39862.4]
+  wire [3:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@39862.4]
+  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@39862.4]
+  wire [31:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@39862.4]
+  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@39862.4]
+  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@39862.4]
+  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@39862.4]
+  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@39862.4]
+  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@39862.4]
+  wire [1:0] TLMonitor_io_in_d_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@39862.4]
+  wire [3:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@39862.4]
+  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@39862.4]
+  wire  TLMonitor_io_in_d_bits_sink; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@39862.4]
+  wire  TLMonitor_io_in_d_bits_denied; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@39862.4]
+  wire  TLMonitor_io_in_d_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@39862.4]
+  TLMonitor_22 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@39862.4]
+    .clock(TLMonitor_clock),
+    .reset(TLMonitor_reset),
+    .io_in_a_ready(TLMonitor_io_in_a_ready),
+    .io_in_a_valid(TLMonitor_io_in_a_valid),
+    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
+    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
+    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
+    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
+    .io_in_d_ready(TLMonitor_io_in_d_ready),
+    .io_in_d_valid(TLMonitor_io_in_d_valid),
+    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
+    .io_in_d_bits_param(TLMonitor_io_in_d_bits_param),
+    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
+    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source),
+    .io_in_d_bits_sink(TLMonitor_io_in_d_bits_sink),
+    .io_in_d_bits_denied(TLMonitor_io_in_d_bits_denied),
+    .io_in_d_bits_corrupt(TLMonitor_io_in_d_bits_corrupt)
+  );
+  assign auto_in_a_ready = auto_out_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39902.4]
+  assign auto_in_d_valid = auto_out_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39902.4]
+  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39902.4]
+  assign auto_in_d_bits_param = auto_out_d_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39902.4]
+  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39902.4]
+  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39902.4]
+  assign auto_in_d_bits_sink = auto_out_d_bits_sink; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39902.4]
+  assign auto_in_d_bits_denied = auto_out_d_bits_denied; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39902.4]
+  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39902.4]
+  assign auto_in_d_bits_corrupt = auto_out_d_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39902.4]
+  assign auto_out_a_valid = auto_in_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@39901.4]
+  assign auto_out_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@39901.4]
+  assign auto_out_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@39901.4]
+  assign auto_out_a_bits_size = auto_in_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@39901.4]
+  assign auto_out_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@39901.4]
+  assign auto_out_a_bits_address = auto_in_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@39901.4]
+  assign auto_out_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@39901.4]
+  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@39901.4]
+  assign auto_out_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@39901.4]
+  assign auto_out_d_ready = auto_in_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@39901.4]
+  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39864.4]
+  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39865.4]
+  assign TLMonitor_io_in_a_ready = auto_out_a_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@39898.4]
+  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@39898.4]
+  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@39898.4]
+  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@39898.4]
+  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@39898.4]
+  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@39898.4]
+  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@39898.4]
+  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@39898.4]
+  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@39898.4]
+  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@39898.4]
+  assign TLMonitor_io_in_d_valid = auto_out_d_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@39898.4]
+  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@39898.4]
+  assign TLMonitor_io_in_d_bits_param = auto_out_d_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@39898.4]
+  assign TLMonitor_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@39898.4]
+  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@39898.4]
+  assign TLMonitor_io_in_d_bits_sink = auto_out_d_bits_sink; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@39898.4]
+  assign TLMonitor_io_in_d_bits_denied = auto_out_d_bits_denied; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@39898.4]
+  assign TLMonitor_io_in_d_bits_corrupt = auto_out_d_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@39898.4]
+endmodule
+module SimpleLazyModule_8( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39912.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39913.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39914.4]
+  output        auto_buffer_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39915.4]
+  input         auto_buffer_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39915.4]
+  input  [2:0]  auto_buffer_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39915.4]
+  input  [2:0]  auto_buffer_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39915.4]
+  input  [3:0]  auto_buffer_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39915.4]
+  input         auto_buffer_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39915.4]
+  input  [31:0] auto_buffer_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39915.4]
+  input  [3:0]  auto_buffer_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39915.4]
+  input  [31:0] auto_buffer_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39915.4]
+  input         auto_buffer_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39915.4]
+  input         auto_buffer_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39915.4]
+  output        auto_buffer_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39915.4]
+  output [2:0]  auto_buffer_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39915.4]
+  output [1:0]  auto_buffer_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39915.4]
+  output [3:0]  auto_buffer_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39915.4]
+  output        auto_buffer_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39915.4]
+  output        auto_buffer_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39915.4]
+  output        auto_buffer_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39915.4]
+  output [31:0] auto_buffer_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39915.4]
+  output        auto_buffer_in_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39915.4]
+  input         auto_from_sbus_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39915.4]
+  output        auto_from_sbus_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39915.4]
+  output [2:0]  auto_from_sbus_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39915.4]
+  output [2:0]  auto_from_sbus_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39915.4]
+  output [3:0]  auto_from_sbus_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39915.4]
+  output        auto_from_sbus_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39915.4]
+  output [31:0] auto_from_sbus_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39915.4]
+  output [3:0]  auto_from_sbus_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39915.4]
+  output [31:0] auto_from_sbus_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39915.4]
+  output        auto_from_sbus_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39915.4]
+  output        auto_from_sbus_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39915.4]
+  input         auto_from_sbus_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39915.4]
+  input  [2:0]  auto_from_sbus_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39915.4]
+  input  [1:0]  auto_from_sbus_out_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39915.4]
+  input  [3:0]  auto_from_sbus_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39915.4]
+  input         auto_from_sbus_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39915.4]
+  input         auto_from_sbus_out_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39915.4]
+  input         auto_from_sbus_out_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39915.4]
+  input  [31:0] auto_from_sbus_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39915.4]
+  input         auto_from_sbus_out_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39915.4]
+);
+  wire  fixer_clock; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@39920.4]
+  wire  fixer_reset; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@39920.4]
+  wire  fixer_auto_in_a_ready; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@39920.4]
+  wire  fixer_auto_in_a_valid; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@39920.4]
+  wire [2:0] fixer_auto_in_a_bits_opcode; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@39920.4]
+  wire [2:0] fixer_auto_in_a_bits_param; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@39920.4]
+  wire [3:0] fixer_auto_in_a_bits_size; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@39920.4]
+  wire  fixer_auto_in_a_bits_source; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@39920.4]
+  wire [31:0] fixer_auto_in_a_bits_address; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@39920.4]
+  wire [3:0] fixer_auto_in_a_bits_mask; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@39920.4]
+  wire [31:0] fixer_auto_in_a_bits_data; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@39920.4]
+  wire  fixer_auto_in_a_bits_corrupt; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@39920.4]
+  wire  fixer_auto_in_d_ready; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@39920.4]
+  wire  fixer_auto_in_d_valid; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@39920.4]
+  wire [2:0] fixer_auto_in_d_bits_opcode; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@39920.4]
+  wire [1:0] fixer_auto_in_d_bits_param; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@39920.4]
+  wire [3:0] fixer_auto_in_d_bits_size; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@39920.4]
+  wire  fixer_auto_in_d_bits_source; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@39920.4]
+  wire  fixer_auto_in_d_bits_sink; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@39920.4]
+  wire  fixer_auto_in_d_bits_denied; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@39920.4]
+  wire [31:0] fixer_auto_in_d_bits_data; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@39920.4]
+  wire  fixer_auto_in_d_bits_corrupt; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@39920.4]
+  wire  fixer_auto_out_a_ready; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@39920.4]
+  wire  fixer_auto_out_a_valid; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@39920.4]
+  wire [2:0] fixer_auto_out_a_bits_opcode; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@39920.4]
+  wire [2:0] fixer_auto_out_a_bits_param; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@39920.4]
+  wire [3:0] fixer_auto_out_a_bits_size; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@39920.4]
+  wire  fixer_auto_out_a_bits_source; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@39920.4]
+  wire [31:0] fixer_auto_out_a_bits_address; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@39920.4]
+  wire [3:0] fixer_auto_out_a_bits_mask; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@39920.4]
+  wire [31:0] fixer_auto_out_a_bits_data; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@39920.4]
+  wire  fixer_auto_out_a_bits_corrupt; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@39920.4]
+  wire  fixer_auto_out_d_ready; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@39920.4]
+  wire  fixer_auto_out_d_valid; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@39920.4]
+  wire [2:0] fixer_auto_out_d_bits_opcode; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@39920.4]
+  wire [1:0] fixer_auto_out_d_bits_param; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@39920.4]
+  wire [3:0] fixer_auto_out_d_bits_size; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@39920.4]
+  wire  fixer_auto_out_d_bits_source; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@39920.4]
+  wire  fixer_auto_out_d_bits_sink; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@39920.4]
+  wire  fixer_auto_out_d_bits_denied; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@39920.4]
+  wire [31:0] fixer_auto_out_d_bits_data; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@39920.4]
+  wire  fixer_auto_out_d_bits_corrupt; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@39920.4]
+  wire  widget_clock; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39926.4]
+  wire  widget_reset; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39926.4]
+  wire  widget_auto_in_a_ready; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39926.4]
+  wire  widget_auto_in_a_valid; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39926.4]
+  wire [2:0] widget_auto_in_a_bits_opcode; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39926.4]
+  wire [2:0] widget_auto_in_a_bits_param; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39926.4]
+  wire [3:0] widget_auto_in_a_bits_size; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39926.4]
+  wire  widget_auto_in_a_bits_source; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39926.4]
+  wire [31:0] widget_auto_in_a_bits_address; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39926.4]
+  wire [3:0] widget_auto_in_a_bits_mask; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39926.4]
+  wire [31:0] widget_auto_in_a_bits_data; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39926.4]
+  wire  widget_auto_in_a_bits_corrupt; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39926.4]
+  wire  widget_auto_in_d_ready; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39926.4]
+  wire  widget_auto_in_d_valid; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39926.4]
+  wire [2:0] widget_auto_in_d_bits_opcode; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39926.4]
+  wire [1:0] widget_auto_in_d_bits_param; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39926.4]
+  wire [3:0] widget_auto_in_d_bits_size; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39926.4]
+  wire  widget_auto_in_d_bits_source; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39926.4]
+  wire  widget_auto_in_d_bits_sink; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39926.4]
+  wire  widget_auto_in_d_bits_denied; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39926.4]
+  wire [31:0] widget_auto_in_d_bits_data; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39926.4]
+  wire  widget_auto_in_d_bits_corrupt; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39926.4]
+  wire  widget_auto_out_a_ready; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39926.4]
+  wire  widget_auto_out_a_valid; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39926.4]
+  wire [2:0] widget_auto_out_a_bits_opcode; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39926.4]
+  wire [2:0] widget_auto_out_a_bits_param; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39926.4]
+  wire [3:0] widget_auto_out_a_bits_size; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39926.4]
+  wire  widget_auto_out_a_bits_source; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39926.4]
+  wire [31:0] widget_auto_out_a_bits_address; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39926.4]
+  wire [3:0] widget_auto_out_a_bits_mask; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39926.4]
+  wire [31:0] widget_auto_out_a_bits_data; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39926.4]
+  wire  widget_auto_out_a_bits_corrupt; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39926.4]
+  wire  widget_auto_out_d_ready; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39926.4]
+  wire  widget_auto_out_d_valid; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39926.4]
+  wire [2:0] widget_auto_out_d_bits_opcode; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39926.4]
+  wire [1:0] widget_auto_out_d_bits_param; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39926.4]
+  wire [3:0] widget_auto_out_d_bits_size; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39926.4]
+  wire  widget_auto_out_d_bits_source; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39926.4]
+  wire  widget_auto_out_d_bits_sink; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39926.4]
+  wire  widget_auto_out_d_bits_denied; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39926.4]
+  wire [31:0] widget_auto_out_d_bits_data; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39926.4]
+  wire  widget_auto_out_d_bits_corrupt; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39926.4]
+  wire  buffer_clock; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39932.4]
+  wire  buffer_reset; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39932.4]
+  wire  buffer_auto_in_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39932.4]
+  wire  buffer_auto_in_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39932.4]
+  wire [2:0] buffer_auto_in_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39932.4]
+  wire [2:0] buffer_auto_in_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39932.4]
+  wire [3:0] buffer_auto_in_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39932.4]
+  wire  buffer_auto_in_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39932.4]
+  wire [31:0] buffer_auto_in_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39932.4]
+  wire [3:0] buffer_auto_in_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39932.4]
+  wire [31:0] buffer_auto_in_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39932.4]
+  wire  buffer_auto_in_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39932.4]
+  wire  buffer_auto_in_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39932.4]
+  wire  buffer_auto_in_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39932.4]
+  wire [2:0] buffer_auto_in_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39932.4]
+  wire [1:0] buffer_auto_in_d_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39932.4]
+  wire [3:0] buffer_auto_in_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39932.4]
+  wire  buffer_auto_in_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39932.4]
+  wire  buffer_auto_in_d_bits_sink; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39932.4]
+  wire  buffer_auto_in_d_bits_denied; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39932.4]
+  wire [31:0] buffer_auto_in_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39932.4]
+  wire  buffer_auto_in_d_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39932.4]
+  wire  buffer_auto_out_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39932.4]
+  wire  buffer_auto_out_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39932.4]
+  wire [2:0] buffer_auto_out_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39932.4]
+  wire [2:0] buffer_auto_out_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39932.4]
+  wire [3:0] buffer_auto_out_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39932.4]
+  wire  buffer_auto_out_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39932.4]
+  wire [31:0] buffer_auto_out_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39932.4]
+  wire [3:0] buffer_auto_out_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39932.4]
+  wire [31:0] buffer_auto_out_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39932.4]
+  wire  buffer_auto_out_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39932.4]
+  wire  buffer_auto_out_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39932.4]
+  wire  buffer_auto_out_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39932.4]
+  wire [2:0] buffer_auto_out_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39932.4]
+  wire [1:0] buffer_auto_out_d_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39932.4]
+  wire [3:0] buffer_auto_out_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39932.4]
+  wire  buffer_auto_out_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39932.4]
+  wire  buffer_auto_out_d_bits_sink; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39932.4]
+  wire  buffer_auto_out_d_bits_denied; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39932.4]
+  wire [31:0] buffer_auto_out_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39932.4]
+  wire  buffer_auto_out_d_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39932.4]
+  TLFIFOFixer fixer ( // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@39920.4]
+    .clock(fixer_clock),
+    .reset(fixer_reset),
+    .auto_in_a_ready(fixer_auto_in_a_ready),
+    .auto_in_a_valid(fixer_auto_in_a_valid),
+    .auto_in_a_bits_opcode(fixer_auto_in_a_bits_opcode),
+    .auto_in_a_bits_param(fixer_auto_in_a_bits_param),
+    .auto_in_a_bits_size(fixer_auto_in_a_bits_size),
+    .auto_in_a_bits_source(fixer_auto_in_a_bits_source),
+    .auto_in_a_bits_address(fixer_auto_in_a_bits_address),
+    .auto_in_a_bits_mask(fixer_auto_in_a_bits_mask),
+    .auto_in_a_bits_data(fixer_auto_in_a_bits_data),
+    .auto_in_a_bits_corrupt(fixer_auto_in_a_bits_corrupt),
+    .auto_in_d_ready(fixer_auto_in_d_ready),
+    .auto_in_d_valid(fixer_auto_in_d_valid),
+    .auto_in_d_bits_opcode(fixer_auto_in_d_bits_opcode),
+    .auto_in_d_bits_param(fixer_auto_in_d_bits_param),
+    .auto_in_d_bits_size(fixer_auto_in_d_bits_size),
+    .auto_in_d_bits_source(fixer_auto_in_d_bits_source),
+    .auto_in_d_bits_sink(fixer_auto_in_d_bits_sink),
+    .auto_in_d_bits_denied(fixer_auto_in_d_bits_denied),
+    .auto_in_d_bits_data(fixer_auto_in_d_bits_data),
+    .auto_in_d_bits_corrupt(fixer_auto_in_d_bits_corrupt),
+    .auto_out_a_ready(fixer_auto_out_a_ready),
+    .auto_out_a_valid(fixer_auto_out_a_valid),
+    .auto_out_a_bits_opcode(fixer_auto_out_a_bits_opcode),
+    .auto_out_a_bits_param(fixer_auto_out_a_bits_param),
+    .auto_out_a_bits_size(fixer_auto_out_a_bits_size),
+    .auto_out_a_bits_source(fixer_auto_out_a_bits_source),
+    .auto_out_a_bits_address(fixer_auto_out_a_bits_address),
+    .auto_out_a_bits_mask(fixer_auto_out_a_bits_mask),
+    .auto_out_a_bits_data(fixer_auto_out_a_bits_data),
+    .auto_out_a_bits_corrupt(fixer_auto_out_a_bits_corrupt),
+    .auto_out_d_ready(fixer_auto_out_d_ready),
+    .auto_out_d_valid(fixer_auto_out_d_valid),
+    .auto_out_d_bits_opcode(fixer_auto_out_d_bits_opcode),
+    .auto_out_d_bits_param(fixer_auto_out_d_bits_param),
+    .auto_out_d_bits_size(fixer_auto_out_d_bits_size),
+    .auto_out_d_bits_source(fixer_auto_out_d_bits_source),
+    .auto_out_d_bits_sink(fixer_auto_out_d_bits_sink),
+    .auto_out_d_bits_denied(fixer_auto_out_d_bits_denied),
+    .auto_out_d_bits_data(fixer_auto_out_d_bits_data),
+    .auto_out_d_bits_corrupt(fixer_auto_out_d_bits_corrupt)
+  );
+  TLWidthWidget_2 widget ( // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39926.4]
+    .clock(widget_clock),
+    .reset(widget_reset),
+    .auto_in_a_ready(widget_auto_in_a_ready),
+    .auto_in_a_valid(widget_auto_in_a_valid),
+    .auto_in_a_bits_opcode(widget_auto_in_a_bits_opcode),
+    .auto_in_a_bits_param(widget_auto_in_a_bits_param),
+    .auto_in_a_bits_size(widget_auto_in_a_bits_size),
+    .auto_in_a_bits_source(widget_auto_in_a_bits_source),
+    .auto_in_a_bits_address(widget_auto_in_a_bits_address),
+    .auto_in_a_bits_mask(widget_auto_in_a_bits_mask),
+    .auto_in_a_bits_data(widget_auto_in_a_bits_data),
+    .auto_in_a_bits_corrupt(widget_auto_in_a_bits_corrupt),
+    .auto_in_d_ready(widget_auto_in_d_ready),
+    .auto_in_d_valid(widget_auto_in_d_valid),
+    .auto_in_d_bits_opcode(widget_auto_in_d_bits_opcode),
+    .auto_in_d_bits_param(widget_auto_in_d_bits_param),
+    .auto_in_d_bits_size(widget_auto_in_d_bits_size),
+    .auto_in_d_bits_source(widget_auto_in_d_bits_source),
+    .auto_in_d_bits_sink(widget_auto_in_d_bits_sink),
+    .auto_in_d_bits_denied(widget_auto_in_d_bits_denied),
+    .auto_in_d_bits_data(widget_auto_in_d_bits_data),
+    .auto_in_d_bits_corrupt(widget_auto_in_d_bits_corrupt),
+    .auto_out_a_ready(widget_auto_out_a_ready),
+    .auto_out_a_valid(widget_auto_out_a_valid),
+    .auto_out_a_bits_opcode(widget_auto_out_a_bits_opcode),
+    .auto_out_a_bits_param(widget_auto_out_a_bits_param),
+    .auto_out_a_bits_size(widget_auto_out_a_bits_size),
+    .auto_out_a_bits_source(widget_auto_out_a_bits_source),
+    .auto_out_a_bits_address(widget_auto_out_a_bits_address),
+    .auto_out_a_bits_mask(widget_auto_out_a_bits_mask),
+    .auto_out_a_bits_data(widget_auto_out_a_bits_data),
+    .auto_out_a_bits_corrupt(widget_auto_out_a_bits_corrupt),
+    .auto_out_d_ready(widget_auto_out_d_ready),
+    .auto_out_d_valid(widget_auto_out_d_valid),
+    .auto_out_d_bits_opcode(widget_auto_out_d_bits_opcode),
+    .auto_out_d_bits_param(widget_auto_out_d_bits_param),
+    .auto_out_d_bits_size(widget_auto_out_d_bits_size),
+    .auto_out_d_bits_source(widget_auto_out_d_bits_source),
+    .auto_out_d_bits_sink(widget_auto_out_d_bits_sink),
+    .auto_out_d_bits_denied(widget_auto_out_d_bits_denied),
+    .auto_out_d_bits_data(widget_auto_out_d_bits_data),
+    .auto_out_d_bits_corrupt(widget_auto_out_d_bits_corrupt)
+  );
+  TLBuffer_8 buffer ( // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39932.4]
+    .clock(buffer_clock),
+    .reset(buffer_reset),
+    .auto_in_a_ready(buffer_auto_in_a_ready),
+    .auto_in_a_valid(buffer_auto_in_a_valid),
+    .auto_in_a_bits_opcode(buffer_auto_in_a_bits_opcode),
+    .auto_in_a_bits_param(buffer_auto_in_a_bits_param),
+    .auto_in_a_bits_size(buffer_auto_in_a_bits_size),
+    .auto_in_a_bits_source(buffer_auto_in_a_bits_source),
+    .auto_in_a_bits_address(buffer_auto_in_a_bits_address),
+    .auto_in_a_bits_mask(buffer_auto_in_a_bits_mask),
+    .auto_in_a_bits_data(buffer_auto_in_a_bits_data),
+    .auto_in_a_bits_corrupt(buffer_auto_in_a_bits_corrupt),
+    .auto_in_d_ready(buffer_auto_in_d_ready),
+    .auto_in_d_valid(buffer_auto_in_d_valid),
+    .auto_in_d_bits_opcode(buffer_auto_in_d_bits_opcode),
+    .auto_in_d_bits_param(buffer_auto_in_d_bits_param),
+    .auto_in_d_bits_size(buffer_auto_in_d_bits_size),
+    .auto_in_d_bits_source(buffer_auto_in_d_bits_source),
+    .auto_in_d_bits_sink(buffer_auto_in_d_bits_sink),
+    .auto_in_d_bits_denied(buffer_auto_in_d_bits_denied),
+    .auto_in_d_bits_data(buffer_auto_in_d_bits_data),
+    .auto_in_d_bits_corrupt(buffer_auto_in_d_bits_corrupt),
+    .auto_out_a_ready(buffer_auto_out_a_ready),
+    .auto_out_a_valid(buffer_auto_out_a_valid),
+    .auto_out_a_bits_opcode(buffer_auto_out_a_bits_opcode),
+    .auto_out_a_bits_param(buffer_auto_out_a_bits_param),
+    .auto_out_a_bits_size(buffer_auto_out_a_bits_size),
+    .auto_out_a_bits_source(buffer_auto_out_a_bits_source),
+    .auto_out_a_bits_address(buffer_auto_out_a_bits_address),
+    .auto_out_a_bits_mask(buffer_auto_out_a_bits_mask),
+    .auto_out_a_bits_data(buffer_auto_out_a_bits_data),
+    .auto_out_a_bits_corrupt(buffer_auto_out_a_bits_corrupt),
+    .auto_out_d_ready(buffer_auto_out_d_ready),
+    .auto_out_d_valid(buffer_auto_out_d_valid),
+    .auto_out_d_bits_opcode(buffer_auto_out_d_bits_opcode),
+    .auto_out_d_bits_param(buffer_auto_out_d_bits_param),
+    .auto_out_d_bits_size(buffer_auto_out_d_bits_size),
+    .auto_out_d_bits_source(buffer_auto_out_d_bits_source),
+    .auto_out_d_bits_sink(buffer_auto_out_d_bits_sink),
+    .auto_out_d_bits_denied(buffer_auto_out_d_bits_denied),
+    .auto_out_d_bits_data(buffer_auto_out_d_bits_data),
+    .auto_out_d_bits_corrupt(buffer_auto_out_d_bits_corrupt)
+  );
+  assign auto_buffer_in_a_ready = buffer_auto_in_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39947.4]
+  assign auto_buffer_in_d_valid = buffer_auto_in_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39947.4]
+  assign auto_buffer_in_d_bits_opcode = buffer_auto_in_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39947.4]
+  assign auto_buffer_in_d_bits_param = buffer_auto_in_d_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39947.4]
+  assign auto_buffer_in_d_bits_size = buffer_auto_in_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39947.4]
+  assign auto_buffer_in_d_bits_source = buffer_auto_in_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39947.4]
+  assign auto_buffer_in_d_bits_sink = buffer_auto_in_d_bits_sink; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39947.4]
+  assign auto_buffer_in_d_bits_denied = buffer_auto_in_d_bits_denied; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39947.4]
+  assign auto_buffer_in_d_bits_data = buffer_auto_in_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39947.4]
+  assign auto_buffer_in_d_bits_corrupt = buffer_auto_in_d_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39947.4]
+  assign auto_from_sbus_out_a_valid = fixer_auto_out_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@39946.4]
+  assign auto_from_sbus_out_a_bits_opcode = fixer_auto_out_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@39946.4]
+  assign auto_from_sbus_out_a_bits_param = fixer_auto_out_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@39946.4]
+  assign auto_from_sbus_out_a_bits_size = fixer_auto_out_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@39946.4]
+  assign auto_from_sbus_out_a_bits_source = fixer_auto_out_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@39946.4]
+  assign auto_from_sbus_out_a_bits_address = fixer_auto_out_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@39946.4]
+  assign auto_from_sbus_out_a_bits_mask = fixer_auto_out_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@39946.4]
+  assign auto_from_sbus_out_a_bits_data = fixer_auto_out_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@39946.4]
+  assign auto_from_sbus_out_a_bits_corrupt = fixer_auto_out_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@39946.4]
+  assign auto_from_sbus_out_d_ready = fixer_auto_out_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@39946.4]
+  assign fixer_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39924.4]
+  assign fixer_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39925.4]
+  assign fixer_auto_in_a_valid = widget_auto_out_a_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39944.4]
+  assign fixer_auto_in_a_bits_opcode = widget_auto_out_a_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39944.4]
+  assign fixer_auto_in_a_bits_param = widget_auto_out_a_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39944.4]
+  assign fixer_auto_in_a_bits_size = widget_auto_out_a_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39944.4]
+  assign fixer_auto_in_a_bits_source = widget_auto_out_a_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39944.4]
+  assign fixer_auto_in_a_bits_address = widget_auto_out_a_bits_address; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39944.4]
+  assign fixer_auto_in_a_bits_mask = widget_auto_out_a_bits_mask; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39944.4]
+  assign fixer_auto_in_a_bits_data = widget_auto_out_a_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39944.4]
+  assign fixer_auto_in_a_bits_corrupt = widget_auto_out_a_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39944.4]
+  assign fixer_auto_in_d_ready = widget_auto_out_d_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39944.4]
+  assign fixer_auto_out_a_ready = auto_from_sbus_out_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39943.4]
+  assign fixer_auto_out_d_valid = auto_from_sbus_out_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39943.4]
+  assign fixer_auto_out_d_bits_opcode = auto_from_sbus_out_d_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39943.4]
+  assign fixer_auto_out_d_bits_param = auto_from_sbus_out_d_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39943.4]
+  assign fixer_auto_out_d_bits_size = auto_from_sbus_out_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39943.4]
+  assign fixer_auto_out_d_bits_source = auto_from_sbus_out_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39943.4]
+  assign fixer_auto_out_d_bits_sink = auto_from_sbus_out_d_bits_sink; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39943.4]
+  assign fixer_auto_out_d_bits_denied = auto_from_sbus_out_d_bits_denied; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39943.4]
+  assign fixer_auto_out_d_bits_data = auto_from_sbus_out_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39943.4]
+  assign fixer_auto_out_d_bits_corrupt = auto_from_sbus_out_d_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39943.4]
+  assign widget_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39930.4]
+  assign widget_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39931.4]
+  assign widget_auto_in_a_valid = buffer_auto_out_a_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39945.4]
+  assign widget_auto_in_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39945.4]
+  assign widget_auto_in_a_bits_param = buffer_auto_out_a_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39945.4]
+  assign widget_auto_in_a_bits_size = buffer_auto_out_a_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39945.4]
+  assign widget_auto_in_a_bits_source = buffer_auto_out_a_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39945.4]
+  assign widget_auto_in_a_bits_address = buffer_auto_out_a_bits_address; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39945.4]
+  assign widget_auto_in_a_bits_mask = buffer_auto_out_a_bits_mask; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39945.4]
+  assign widget_auto_in_a_bits_data = buffer_auto_out_a_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39945.4]
+  assign widget_auto_in_a_bits_corrupt = buffer_auto_out_a_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39945.4]
+  assign widget_auto_in_d_ready = buffer_auto_out_d_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39945.4]
+  assign widget_auto_out_a_ready = fixer_auto_in_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39944.4]
+  assign widget_auto_out_d_valid = fixer_auto_in_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39944.4]
+  assign widget_auto_out_d_bits_opcode = fixer_auto_in_d_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39944.4]
+  assign widget_auto_out_d_bits_param = fixer_auto_in_d_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39944.4]
+  assign widget_auto_out_d_bits_size = fixer_auto_in_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39944.4]
+  assign widget_auto_out_d_bits_source = fixer_auto_in_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39944.4]
+  assign widget_auto_out_d_bits_sink = fixer_auto_in_d_bits_sink; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39944.4]
+  assign widget_auto_out_d_bits_denied = fixer_auto_in_d_bits_denied; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39944.4]
+  assign widget_auto_out_d_bits_data = fixer_auto_in_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39944.4]
+  assign widget_auto_out_d_bits_corrupt = fixer_auto_in_d_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39944.4]
+  assign buffer_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39936.4]
+  assign buffer_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39937.4]
+  assign buffer_auto_in_a_valid = auto_buffer_in_a_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39947.4]
+  assign buffer_auto_in_a_bits_opcode = auto_buffer_in_a_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39947.4]
+  assign buffer_auto_in_a_bits_param = auto_buffer_in_a_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39947.4]
+  assign buffer_auto_in_a_bits_size = auto_buffer_in_a_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39947.4]
+  assign buffer_auto_in_a_bits_source = auto_buffer_in_a_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39947.4]
+  assign buffer_auto_in_a_bits_address = auto_buffer_in_a_bits_address; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39947.4]
+  assign buffer_auto_in_a_bits_mask = auto_buffer_in_a_bits_mask; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39947.4]
+  assign buffer_auto_in_a_bits_data = auto_buffer_in_a_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39947.4]
+  assign buffer_auto_in_a_bits_corrupt = auto_buffer_in_a_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39947.4]
+  assign buffer_auto_in_d_ready = auto_buffer_in_d_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39947.4]
+  assign buffer_auto_out_a_ready = widget_auto_in_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39945.4]
+  assign buffer_auto_out_d_valid = widget_auto_in_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39945.4]
+  assign buffer_auto_out_d_bits_opcode = widget_auto_in_d_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39945.4]
+  assign buffer_auto_out_d_bits_param = widget_auto_in_d_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39945.4]
+  assign buffer_auto_out_d_bits_size = widget_auto_in_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39945.4]
+  assign buffer_auto_out_d_bits_source = widget_auto_in_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39945.4]
+  assign buffer_auto_out_d_bits_sink = widget_auto_in_d_bits_sink; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39945.4]
+  assign buffer_auto_out_d_bits_denied = widget_auto_in_d_bits_denied; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39945.4]
+  assign buffer_auto_out_d_bits_data = widget_auto_in_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39945.4]
+  assign buffer_auto_out_d_bits_corrupt = widget_auto_in_d_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39945.4]
+endmodule
+module TLMonitor_23( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39956.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39957.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39958.4]
+  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39959.4]
+  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39959.4]
+  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39959.4]
+  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39959.4]
+  input  [3:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39959.4]
+  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39959.4]
+  input  [31:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39959.4]
+  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39959.4]
+  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39959.4]
+  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39959.4]
+  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39959.4]
+  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39959.4]
+  input  [1:0]  io_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39959.4]
+  input  [3:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39959.4]
+  input         io_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39959.4]
+  input         io_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39959.4]
+  input         io_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39959.4]
+  input         io_in_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39959.4]
+);
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@41749.4]
+  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@39975.6]
+  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@39980.6]
+  wire [26:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@39982.6]
+  wire [11:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@39983.6]
+  wire [11:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@39984.6]
+  wire [31:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@39985.6]
+  wire [31:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@39985.6]
+  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@39986.6]
+  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@39988.6]
+  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@39989.6]
+  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@39991.6]
+  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@39992.6]
+  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@39993.6]
+  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@39994.6]
+  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@39995.6]
+  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@39997.6]
+  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@39998.6]
+  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@40000.6]
+  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@40001.6]
+  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@40002.6]
+  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@40003.6]
+  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@40004.6]
+  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@40005.6]
+  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@40006.6]
+  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@40007.6]
+  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@40008.6]
+  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@40009.6]
+  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@40010.6]
+  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@40011.6]
+  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@40012.6]
+  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@40013.6]
+  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@40014.6]
+  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@40015.6]
+  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@40016.6]
+  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@40017.6]
+  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@40018.6]
+  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@40019.6]
+  wire [32:0] _T_73; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@40023.6]
+  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@40044.6]
+  wire [31:0] _T_92; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40047.8]
+  wire [32:0] _T_93; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@40048.8]
+  wire [32:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40049.8]
+  wire [32:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40050.8]
+  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@40051.8]
+  wire [31:0] _T_97; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40052.8]
+  wire [32:0] _T_98; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@40053.8]
+  wire [32:0] _T_99; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40054.8]
+  wire [32:0] _T_100; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40055.8]
+  wire  _T_101; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@40056.8]
+  wire [31:0] _T_102; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40057.8]
+  wire [32:0] _T_103; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@40058.8]
+  wire [32:0] _T_104; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40059.8]
+  wire [32:0] _T_105; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40060.8]
+  wire  _T_106; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@40061.8]
+  wire [31:0] _T_107; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40062.8]
+  wire [32:0] _T_108; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@40063.8]
+  wire [32:0] _T_109; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40064.8]
+  wire [32:0] _T_110; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40065.8]
+  wire  _T_111; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@40066.8]
+  wire [31:0] _T_112; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40067.8]
+  wire [32:0] _T_113; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@40068.8]
+  wire [32:0] _T_114; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40069.8]
+  wire [32:0] _T_115; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40070.8]
+  wire  _T_116; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@40071.8]
+  wire [31:0] _T_117; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40072.8]
+  wire [32:0] _T_118; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@40073.8]
+  wire [32:0] _T_119; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40074.8]
+  wire [32:0] _T_120; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40075.8]
+  wire  _T_121; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@40076.8]
+  wire [31:0] _T_122; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40077.8]
+  wire [32:0] _T_123; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@40078.8]
+  wire [32:0] _T_124; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40079.8]
+  wire [32:0] _T_125; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40080.8]
+  wire  _T_126; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@40081.8]
+  wire [31:0] _T_127; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40082.8]
+  wire [32:0] _T_128; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@40083.8]
+  wire [32:0] _T_129; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40084.8]
+  wire [32:0] _T_130; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40085.8]
+  wire  _T_131; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@40086.8]
+  wire [31:0] _T_132; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40087.8]
+  wire [32:0] _T_133; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@40088.8]
+  wire [32:0] _T_134; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40089.8]
+  wire [32:0] _T_135; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40090.8]
+  wire  _T_136; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@40091.8]
+  wire [31:0] _T_137; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40092.8]
+  wire [32:0] _T_138; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@40093.8]
+  wire [32:0] _T_139; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40094.8]
+  wire [32:0] _T_140; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40095.8]
+  wire  _T_141; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@40096.8]
+  wire [32:0] _T_144; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40099.8]
+  wire [32:0] _T_145; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40100.8]
+  wire  _T_146; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@40101.8]
+  wire [31:0] _T_147; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40102.8]
+  wire [32:0] _T_148; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@40103.8]
+  wire [32:0] _T_149; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40104.8]
+  wire [32:0] _T_150; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40105.8]
+  wire  _T_151; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@40106.8]
+  wire [31:0] _T_152; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40107.8]
+  wire [32:0] _T_153; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@40108.8]
+  wire [32:0] _T_154; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40109.8]
+  wire [32:0] _T_155; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40110.8]
+  wire  _T_156; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@40111.8]
+  wire [31:0] _T_157; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40112.8]
+  wire [32:0] _T_158; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@40113.8]
+  wire [32:0] _T_159; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40114.8]
+  wire [32:0] _T_160; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40115.8]
+  wire  _T_161; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@40116.8]
+  wire  _T_162; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40117.8]
+  wire  _T_163; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40118.8]
+  wire  _T_164; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40119.8]
+  wire  _T_165; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40120.8]
+  wire  _T_179; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40134.8]
+  wire  _T_184; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40147.8]
+  wire  _T_185; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40148.8]
+  wire  _T_188; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40155.8]
+  wire  _T_189; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40156.8]
+  wire  _T_191; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40162.8]
+  wire  _T_192; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40163.8]
+  wire  _T_193; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@40168.8]
+  wire  _T_195; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40170.8]
+  wire  _T_196; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40171.8]
+  wire [3:0] _T_197; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@40176.8]
+  wire  _T_198; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40177.8]
+  wire  _T_200; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40179.8]
+  wire  _T_201; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40180.8]
+  wire  _T_202; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@40185.8]
+  wire  _T_204; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40187.8]
+  wire  _T_205; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40188.8]
+  wire  _T_206; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@40194.6]
+  wire  _T_313; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40326.8]
+  wire  _T_315; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40328.8]
+  wire  _T_316; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40329.8]
+  wire  _T_326; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@40352.6]
+  wire  _T_328; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40355.8]
+  wire  _T_336; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@40363.8]
+  wire  _T_338; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40365.8]
+  wire  _T_406; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40433.8]
+  wire  _T_407; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40434.8]
+  wire  _T_408; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40435.8]
+  wire  _T_409; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40436.8]
+  wire  _T_410; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40437.8]
+  wire  _T_411; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40438.8]
+  wire  _T_412; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40439.8]
+  wire  _T_413; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40440.8]
+  wire  _T_414; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40441.8]
+  wire  _T_415; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40442.8]
+  wire  _T_416; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40443.8]
+  wire  _T_417; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40444.8]
+  wire  _T_418; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@40445.8]
+  wire  _T_420; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@40447.8]
+  wire  _T_422; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40449.8]
+  wire  _T_423; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40450.8]
+  wire  _T_430; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40469.8]
+  wire  _T_432; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40471.8]
+  wire  _T_433; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40472.8]
+  wire  _T_434; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@40477.8]
+  wire  _T_436; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40479.8]
+  wire  _T_437; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40480.8]
+  wire  _T_442; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@40494.6]
+  wire  _T_515; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40568.8]
+  wire  _T_516; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40569.8]
+  wire  _T_517; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40570.8]
+  wire  _T_518; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40571.8]
+  wire  _T_519; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40572.8]
+  wire  _T_520; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40573.8]
+  wire  _T_521; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40574.8]
+  wire  _T_522; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@40575.8]
+  wire  _T_537; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@40590.8]
+  wire  _T_540; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40593.8]
+  wire  _T_541; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40594.8]
+  wire  _T_556; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@40630.6]
+  wire [3:0] _T_666; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@40757.8]
+  wire [3:0] _T_667; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40758.8]
+  wire  _T_668; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@40759.8]
+  wire  _T_670; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40761.8]
+  wire  _T_671; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40762.8]
+  wire  _T_672; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@40768.6]
+  wire  _T_674; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40771.8]
+  wire  _T_741; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40838.8]
+  wire  _T_742; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40839.8]
+  wire  _T_743; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40840.8]
+  wire  _T_744; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40841.8]
+  wire  _T_745; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40842.8]
+  wire  _T_746; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40843.8]
+  wire  _T_747; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40844.8]
+  wire  _T_748; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@40845.8]
+  wire  _T_765; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40862.8]
+  wire  _T_766; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40863.8]
+  wire  _T_773; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@40882.8]
+  wire  _T_775; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40884.8]
+  wire  _T_776; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40885.8]
+  wire  _T_781; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@40899.6]
+  wire  _T_882; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@41013.8]
+  wire  _T_884; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41015.8]
+  wire  _T_885; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41016.8]
+  wire  _T_890; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@41030.6]
+  wire  _T_983; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41124.8]
+  wire  _T_984; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41125.8]
+  wire  _T_999; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@41163.6]
+  wire  _T_1001; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@41165.6]
+  wire  _T_1002; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@41166.6]
+  wire  _T_1004; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@41172.6]
+  wire  _T_1013; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@41177.6]
+  wire  _T_1015; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@41179.6]
+  wire  _T_1017; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41182.8]
+  wire  _T_1018; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41183.8]
+  wire  _T_1019; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@41188.8]
+  wire  _T_1021; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41190.8]
+  wire  _T_1022; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41191.8]
+  wire  _T_1023; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@41196.8]
+  wire  _T_1025; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41198.8]
+  wire  _T_1026; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41199.8]
+  wire  _T_1027; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@41204.8]
+  wire  _T_1029; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41206.8]
+  wire  _T_1030; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41207.8]
+  wire  _T_1031; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@41212.8]
+  wire  _T_1033; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41214.8]
+  wire  _T_1034; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41215.8]
+  wire  _T_1035; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@41221.6]
+  wire  _T_1046; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@41245.8]
+  wire  _T_1048; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41247.8]
+  wire  _T_1049; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41248.8]
+  wire  _T_1050; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@41253.8]
+  wire  _T_1052; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41255.8]
+  wire  _T_1053; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41256.8]
+  wire  _T_1063; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@41279.6]
+  wire  _T_1083; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@41320.8]
+  wire  _T_1085; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41322.8]
+  wire  _T_1086; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41323.8]
+  wire  _T_1092; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@41338.6]
+  wire  _T_1109; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@41373.6]
+  wire  _T_1127; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@41409.6]
+  wire  _T_1156; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@41469.4]
+  wire [9:0] _T_1161; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@41474.4]
+  wire  _T_1162; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@41475.4]
+  wire  _T_1163; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@41476.4]
+  reg [9:0] _T_1166; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@41478.4]
+  reg [31:0] _RAND_0;
+  wire [10:0] _T_1167; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@41479.4]
+  wire [10:0] _T_1168; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@41480.4]
+  wire [9:0] _T_1169; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@41481.4]
+  wire  _T_1170; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@41482.4]
+  reg [2:0] _T_1179; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@41493.4]
+  reg [31:0] _RAND_1;
+  reg [2:0] _T_1181; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@41494.4]
+  reg [31:0] _RAND_2;
+  reg [3:0] _T_1183; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@41495.4]
+  reg [31:0] _RAND_3;
+  reg  _T_1185; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@41496.4]
+  reg [31:0] _RAND_4;
+  reg [31:0] _T_1187; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@41497.4]
+  reg [31:0] _RAND_5;
+  wire  _T_1188; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@41498.4]
+  wire  _T_1189; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@41499.4]
+  wire  _T_1190; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@41501.6]
+  wire  _T_1192; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41503.6]
+  wire  _T_1193; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41504.6]
+  wire  _T_1194; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@41509.6]
+  wire  _T_1196; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41511.6]
+  wire  _T_1197; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41512.6]
+  wire  _T_1198; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@41517.6]
+  wire  _T_1200; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41519.6]
+  wire  _T_1201; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41520.6]
+  wire  _T_1202; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@41525.6]
+  wire  _T_1204; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41527.6]
+  wire  _T_1205; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41528.6]
+  wire  _T_1206; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@41533.6]
+  wire  _T_1208; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41535.6]
+  wire  _T_1209; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41536.6]
+  wire  _T_1211; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@41543.4]
+  wire  _T_1212; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@41551.4]
+  wire [26:0] _T_1214; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@41553.4]
+  wire [11:0] _T_1215; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@41554.4]
+  wire [11:0] _T_1216; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@41555.4]
+  wire [9:0] _T_1217; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@41556.4]
+  wire  _T_1218; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@41557.4]
+  reg [9:0] _T_1221; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@41559.4]
+  reg [31:0] _RAND_6;
+  wire [10:0] _T_1222; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@41560.4]
+  wire [10:0] _T_1223; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@41561.4]
+  wire [9:0] _T_1224; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@41562.4]
+  wire  _T_1225; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@41563.4]
+  reg [2:0] _T_1234; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@41574.4]
+  reg [31:0] _RAND_7;
+  reg [1:0] _T_1236; // @[Monitor.scala 419:22:shc.marmotcaravel.MarmotCaravelConfig.fir@41575.4]
+  reg [31:0] _RAND_8;
+  reg [3:0] _T_1238; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@41576.4]
+  reg [31:0] _RAND_9;
+  reg  _T_1240; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@41577.4]
+  reg [31:0] _RAND_10;
+  reg  _T_1242; // @[Monitor.scala 422:22:shc.marmotcaravel.MarmotCaravelConfig.fir@41578.4]
+  reg [31:0] _RAND_11;
+  reg  _T_1244; // @[Monitor.scala 423:22:shc.marmotcaravel.MarmotCaravelConfig.fir@41579.4]
+  reg [31:0] _RAND_12;
+  wire  _T_1245; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@41580.4]
+  wire  _T_1246; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@41581.4]
+  wire  _T_1247; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@41583.6]
+  wire  _T_1249; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41585.6]
+  wire  _T_1250; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41586.6]
+  wire  _T_1251; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@41591.6]
+  wire  _T_1253; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41593.6]
+  wire  _T_1254; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41594.6]
+  wire  _T_1255; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@41599.6]
+  wire  _T_1257; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41601.6]
+  wire  _T_1258; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41602.6]
+  wire  _T_1259; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@41607.6]
+  wire  _T_1261; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41609.6]
+  wire  _T_1262; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41610.6]
+  wire  _T_1263; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@41615.6]
+  wire  _T_1265; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41617.6]
+  wire  _T_1266; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41618.6]
+  wire  _T_1267; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@41623.6]
+  wire  _T_1269; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41625.6]
+  wire  _T_1270; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41626.6]
+  wire  _T_1272; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@41633.4]
+  reg [1:0] _T_1274; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@41642.4]
+  reg [31:0] _RAND_13;
+  reg [9:0] _T_1285; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@41652.4]
+  reg [31:0] _RAND_14;
+  wire [10:0] _T_1286; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@41653.4]
+  wire [10:0] _T_1287; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@41654.4]
+  wire [9:0] _T_1288; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@41655.4]
+  wire  _T_1289; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@41656.4]
+  reg [9:0] _T_1306; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@41675.4]
+  reg [31:0] _RAND_15;
+  wire [10:0] _T_1307; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@41676.4]
+  wire [10:0] _T_1308; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@41677.4]
+  wire [9:0] _T_1309; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@41678.4]
+  wire  _T_1310; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@41679.4]
+  wire  _T_1321; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@41694.4]
+  wire [1:0] _T_1323; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@41697.6]
+  wire [1:0] _T_1324; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@41699.6]
+  wire  _T_1325; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@41700.6]
+  wire  _T_1326; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41701.6]
+  wire  _T_1328; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@41703.6]
+  wire  _T_1329; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@41704.6]
+  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@41696.4]
+  wire  _T_1334; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@41715.4]
+  wire  _T_1336; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@41717.4]
+  wire  _T_1337; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@41718.4]
+  wire [1:0] _T_1338; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@41720.6]
+  wire [1:0] _T_1339; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@41722.6]
+  wire [1:0] _T_1340; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@41723.6]
+  wire  _T_1341; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@41724.6]
+  wire  _T_1343; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@41726.6]
+  wire  _T_1344; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@41727.6]
+  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@41719.4]
+  wire  _T_1345; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@41733.4]
+  wire  _T_1346; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@41734.4]
+  wire  _T_1347; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@41735.4]
+  wire  _T_1348; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@41736.4]
+  wire  _T_1350; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@41738.4]
+  wire  _T_1351; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@41739.4]
+  wire [1:0] _T_1352; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@41744.4]
+  wire [1:0] _T_1353; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@41745.4]
+  wire [1:0] _T_1354; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@41746.4]
+  reg [31:0] _T_1356; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@41748.4]
+  reg [31:0] _RAND_16;
+  wire  _T_1357; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@41751.4]
+  wire  _T_1358; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@41752.4]
+  wire  _T_1359; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@41753.4]
+  wire  _T_1360; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@41754.4]
+  wire  _T_1361; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@41755.4]
+  wire  _T_1362; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@41756.4]
+  wire  _T_1364; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@41758.4]
+  wire  _T_1365; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@41759.4]
+  wire [31:0] _T_1367; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@41765.4]
+  wire  _T_1370; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@41769.4]
+  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40136.10]
+  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40286.10]
+  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40452.10]
+  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40596.10]
+  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40732.10]
+  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40865.10]
+  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40996.10]
+  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41127.10]
+  wire  _GEN_115; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41185.10]
+  wire  _GEN_125; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41227.10]
+  wire  _GEN_137; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41285.10]
+  wire  _GEN_149; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41344.10]
+  wire  _GEN_155; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41379.10]
+  wire  _GEN_161; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41415.10]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@41749.4]
+    .out(plusarg_reader_out)
+  );
+  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@39975.6]
+  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@39980.6]
+  assign _T_32 = 27'hfff << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@39982.6]
+  assign _T_33 = _T_32[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@39983.6]
+  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@39984.6]
+  assign _GEN_18 = {{20'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@39985.6]
+  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@39985.6]
+  assign _T_36 = _T_35 == 32'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@39986.6]
+  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@39988.6]
+  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@39989.6]
+  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@39991.6]
+  assign _T_42 = io_in_a_bits_size >= 4'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@39992.6]
+  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@39993.6]
+  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@39994.6]
+  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@39995.6]
+  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@39997.6]
+  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@39998.6]
+  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@40000.6]
+  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@40001.6]
+  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@40002.6]
+  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@40003.6]
+  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@40004.6]
+  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@40005.6]
+  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@40006.6]
+  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@40007.6]
+  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@40008.6]
+  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@40009.6]
+  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@40010.6]
+  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@40011.6]
+  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@40012.6]
+  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@40013.6]
+  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@40014.6]
+  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@40015.6]
+  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@40016.6]
+  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@40017.6]
+  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@40018.6]
+  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@40019.6]
+  assign _T_73 = {1'b0,$signed(io_in_a_bits_address)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@40023.6]
+  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@40044.6]
+  assign _T_92 = io_in_a_bits_address ^ 32'h3000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40047.8]
+  assign _T_93 = {1'b0,$signed(_T_92)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@40048.8]
+  assign _T_94 = $signed(_T_93) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40049.8]
+  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40050.8]
+  assign _T_96 = $signed(_T_95) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@40051.8]
+  assign _T_97 = io_in_a_bits_address ^ 32'h10013000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40052.8]
+  assign _T_98 = {1'b0,$signed(_T_97)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@40053.8]
+  assign _T_99 = $signed(_T_98) & $signed(-33'sh21000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40054.8]
+  assign _T_100 = $signed(_T_99); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40055.8]
+  assign _T_101 = $signed(_T_100) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@40056.8]
+  assign _T_102 = io_in_a_bits_address ^ 32'h10023000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40057.8]
+  assign _T_103 = {1'b0,$signed(_T_102)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@40058.8]
+  assign _T_104 = $signed(_T_103) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40059.8]
+  assign _T_105 = $signed(_T_104); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40060.8]
+  assign _T_106 = $signed(_T_105) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@40061.8]
+  assign _T_107 = io_in_a_bits_address ^ 32'h10043000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40062.8]
+  assign _T_108 = {1'b0,$signed(_T_107)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@40063.8]
+  assign _T_109 = $signed(_T_108) & $signed(-33'sh11000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40064.8]
+  assign _T_110 = $signed(_T_109); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40065.8]
+  assign _T_111 = $signed(_T_110) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@40066.8]
+  assign _T_112 = io_in_a_bits_address ^ 32'h10014000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40067.8]
+  assign _T_113 = {1'b0,$signed(_T_112)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@40068.8]
+  assign _T_114 = $signed(_T_113) & $signed(-33'sh21000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40069.8]
+  assign _T_115 = $signed(_T_114); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40070.8]
+  assign _T_116 = $signed(_T_115) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@40071.8]
+  assign _T_117 = io_in_a_bits_address ^ 32'h20000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40072.8]
+  assign _T_118 = {1'b0,$signed(_T_117)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@40073.8]
+  assign _T_119 = $signed(_T_118) & $signed(-33'sh20000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40074.8]
+  assign _T_120 = $signed(_T_119); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40075.8]
+  assign _T_121 = $signed(_T_120) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@40076.8]
+  assign _T_122 = io_in_a_bits_address ^ 32'h10024000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40077.8]
+  assign _T_123 = {1'b0,$signed(_T_122)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@40078.8]
+  assign _T_124 = $signed(_T_123) & $signed(-33'sh3000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40079.8]
+  assign _T_125 = $signed(_T_124); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40080.8]
+  assign _T_126 = $signed(_T_125) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@40081.8]
+  assign _T_127 = io_in_a_bits_address ^ 32'h10012000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40082.8]
+  assign _T_128 = {1'b0,$signed(_T_127)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@40083.8]
+  assign _T_129 = $signed(_T_128) & $signed(-33'sh5000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40084.8]
+  assign _T_130 = $signed(_T_129); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40085.8]
+  assign _T_131 = $signed(_T_130) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@40086.8]
+  assign _T_132 = io_in_a_bits_address ^ 32'hc000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40087.8]
+  assign _T_133 = {1'b0,$signed(_T_132)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@40088.8]
+  assign _T_134 = $signed(_T_133) & $signed(-33'sh4000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40089.8]
+  assign _T_135 = $signed(_T_134); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40090.8]
+  assign _T_136 = $signed(_T_135) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@40091.8]
+  assign _T_137 = io_in_a_bits_address ^ 32'h2000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40092.8]
+  assign _T_138 = {1'b0,$signed(_T_137)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@40093.8]
+  assign _T_139 = $signed(_T_138) & $signed(-33'sh10000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40094.8]
+  assign _T_140 = $signed(_T_139); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40095.8]
+  assign _T_141 = $signed(_T_140) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@40096.8]
+  assign _T_144 = $signed(_T_73) & $signed(-33'sh10001000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40099.8]
+  assign _T_145 = $signed(_T_144); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40100.8]
+  assign _T_146 = $signed(_T_145) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@40101.8]
+  assign _T_147 = io_in_a_bits_address ^ 32'h8000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40102.8]
+  assign _T_148 = {1'b0,$signed(_T_147)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@40103.8]
+  assign _T_149 = $signed(_T_148) & $signed(-33'sh4000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40104.8]
+  assign _T_150 = $signed(_T_149); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40105.8]
+  assign _T_151 = $signed(_T_150) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@40106.8]
+  assign _T_152 = io_in_a_bits_address ^ 32'h80000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40107.8]
+  assign _T_153 = {1'b0,$signed(_T_152)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@40108.8]
+  assign _T_154 = $signed(_T_153) & $signed(-33'sh4000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40109.8]
+  assign _T_155 = $signed(_T_154); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40110.8]
+  assign _T_156 = $signed(_T_155) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@40111.8]
+  assign _T_157 = io_in_a_bits_address ^ 32'h10000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40112.8]
+  assign _T_158 = {1'b0,$signed(_T_157)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@40113.8]
+  assign _T_159 = $signed(_T_158) & $signed(-33'sh2000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40114.8]
+  assign _T_160 = $signed(_T_159); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40115.8]
+  assign _T_161 = $signed(_T_160) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@40116.8]
+  assign _T_162 = _T_96 | _T_101; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40117.8]
+  assign _T_163 = _T_162 | _T_106; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40118.8]
+  assign _T_164 = _T_163 | _T_111; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40119.8]
+  assign _T_165 = _T_164 | _T_116; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40120.8]
+  assign _T_179 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40134.8]
+  assign _T_184 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40147.8]
+  assign _T_185 = _T_184 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40148.8]
+  assign _T_188 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40155.8]
+  assign _T_189 = _T_188 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40156.8]
+  assign _T_191 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40162.8]
+  assign _T_192 = _T_191 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40163.8]
+  assign _T_193 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@40168.8]
+  assign _T_195 = _T_193 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40170.8]
+  assign _T_196 = _T_195 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40171.8]
+  assign _T_197 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@40176.8]
+  assign _T_198 = _T_197 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40177.8]
+  assign _T_200 = _T_198 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40179.8]
+  assign _T_201 = _T_200 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40180.8]
+  assign _T_202 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@40185.8]
+  assign _T_204 = _T_202 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40187.8]
+  assign _T_205 = _T_204 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40188.8]
+  assign _T_206 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@40194.6]
+  assign _T_313 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40326.8]
+  assign _T_315 = _T_313 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40328.8]
+  assign _T_316 = _T_315 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40329.8]
+  assign _T_326 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@40352.6]
+  assign _T_328 = io_in_a_bits_size <= 4'hc; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40355.8]
+  assign _T_336 = _T_328 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@40363.8]
+  assign _T_338 = io_in_a_bits_size <= 4'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40365.8]
+  assign _T_406 = _T_101 | _T_106; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40433.8]
+  assign _T_407 = _T_406 | _T_111; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40434.8]
+  assign _T_408 = _T_407 | _T_116; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40435.8]
+  assign _T_409 = _T_408 | _T_121; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40436.8]
+  assign _T_410 = _T_409 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40437.8]
+  assign _T_411 = _T_410 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40438.8]
+  assign _T_412 = _T_411 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40439.8]
+  assign _T_413 = _T_412 | _T_141; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40440.8]
+  assign _T_414 = _T_413 | _T_146; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40441.8]
+  assign _T_415 = _T_414 | _T_151; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40442.8]
+  assign _T_416 = _T_415 | _T_156; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40443.8]
+  assign _T_417 = _T_416 | _T_161; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40444.8]
+  assign _T_418 = _T_338 & _T_417; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@40445.8]
+  assign _T_420 = _T_336 | _T_418; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@40447.8]
+  assign _T_422 = _T_420 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40449.8]
+  assign _T_423 = _T_422 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40450.8]
+  assign _T_430 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40469.8]
+  assign _T_432 = _T_430 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40471.8]
+  assign _T_433 = _T_432 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40472.8]
+  assign _T_434 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@40477.8]
+  assign _T_436 = _T_434 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40479.8]
+  assign _T_437 = _T_436 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40480.8]
+  assign _T_442 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@40494.6]
+  assign _T_515 = _T_408 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40568.8]
+  assign _T_516 = _T_515 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40569.8]
+  assign _T_517 = _T_516 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40570.8]
+  assign _T_518 = _T_517 | _T_141; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40571.8]
+  assign _T_519 = _T_518 | _T_146; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40572.8]
+  assign _T_520 = _T_519 | _T_151; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40573.8]
+  assign _T_521 = _T_520 | _T_156; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40574.8]
+  assign _T_522 = _T_338 & _T_521; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@40575.8]
+  assign _T_537 = _T_336 | _T_522; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@40590.8]
+  assign _T_540 = _T_537 | reset; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40593.8]
+  assign _T_541 = _T_540 == 1'h0; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40594.8]
+  assign _T_556 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@40630.6]
+  assign _T_666 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@40757.8]
+  assign _T_667 = io_in_a_bits_mask & _T_666; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40758.8]
+  assign _T_668 = _T_667 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@40759.8]
+  assign _T_670 = _T_668 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40761.8]
+  assign _T_671 = _T_670 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40762.8]
+  assign _T_672 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@40768.6]
+  assign _T_674 = io_in_a_bits_size <= 4'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40771.8]
+  assign _T_741 = _T_165 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40838.8]
+  assign _T_742 = _T_741 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40839.8]
+  assign _T_743 = _T_742 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40840.8]
+  assign _T_744 = _T_743 | _T_141; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40841.8]
+  assign _T_745 = _T_744 | _T_146; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40842.8]
+  assign _T_746 = _T_745 | _T_151; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40843.8]
+  assign _T_747 = _T_746 | _T_156; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40844.8]
+  assign _T_748 = _T_674 & _T_747; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@40845.8]
+  assign _T_765 = _T_748 | reset; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40862.8]
+  assign _T_766 = _T_765 == 1'h0; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40863.8]
+  assign _T_773 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@40882.8]
+  assign _T_775 = _T_773 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40884.8]
+  assign _T_776 = _T_775 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40885.8]
+  assign _T_781 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@40899.6]
+  assign _T_882 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@41013.8]
+  assign _T_884 = _T_882 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41015.8]
+  assign _T_885 = _T_884 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41016.8]
+  assign _T_890 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@41030.6]
+  assign _T_983 = _T_336 | reset; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41124.8]
+  assign _T_984 = _T_983 == 1'h0; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41125.8]
+  assign _T_999 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@41163.6]
+  assign _T_1001 = _T_999 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@41165.6]
+  assign _T_1002 = _T_1001 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@41166.6]
+  assign _T_1004 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@41172.6]
+  assign _T_1013 = io_in_d_bits_source | _T_1004; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@41177.6]
+  assign _T_1015 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@41179.6]
+  assign _T_1017 = _T_1013 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41182.8]
+  assign _T_1018 = _T_1017 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41183.8]
+  assign _T_1019 = io_in_d_bits_size >= 4'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@41188.8]
+  assign _T_1021 = _T_1019 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41190.8]
+  assign _T_1022 = _T_1021 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41191.8]
+  assign _T_1023 = io_in_d_bits_param == 2'h0; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@41196.8]
+  assign _T_1025 = _T_1023 | reset; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41198.8]
+  assign _T_1026 = _T_1025 == 1'h0; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41199.8]
+  assign _T_1027 = io_in_d_bits_corrupt == 1'h0; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@41204.8]
+  assign _T_1029 = _T_1027 | reset; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41206.8]
+  assign _T_1030 = _T_1029 == 1'h0; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41207.8]
+  assign _T_1031 = io_in_d_bits_denied == 1'h0; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@41212.8]
+  assign _T_1033 = _T_1031 | reset; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41214.8]
+  assign _T_1034 = _T_1033 == 1'h0; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41215.8]
+  assign _T_1035 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@41221.6]
+  assign _T_1046 = io_in_d_bits_param <= 2'h2; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@41245.8]
+  assign _T_1048 = _T_1046 | reset; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41247.8]
+  assign _T_1049 = _T_1048 == 1'h0; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41248.8]
+  assign _T_1050 = io_in_d_bits_param != 2'h2; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@41253.8]
+  assign _T_1052 = _T_1050 | reset; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41255.8]
+  assign _T_1053 = _T_1052 == 1'h0; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41256.8]
+  assign _T_1063 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@41279.6]
+  assign _T_1083 = _T_1031 | io_in_d_bits_corrupt; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@41320.8]
+  assign _T_1085 = _T_1083 | reset; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41322.8]
+  assign _T_1086 = _T_1085 == 1'h0; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41323.8]
+  assign _T_1092 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@41338.6]
+  assign _T_1109 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@41373.6]
+  assign _T_1127 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@41409.6]
+  assign _T_1156 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@41469.4]
+  assign _T_1161 = _T_34[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@41474.4]
+  assign _T_1162 = io_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@41475.4]
+  assign _T_1163 = _T_1162 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@41476.4]
+  assign _T_1167 = _T_1166 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@41479.4]
+  assign _T_1168 = $unsigned(_T_1167); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@41480.4]
+  assign _T_1169 = _T_1168[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@41481.4]
+  assign _T_1170 = _T_1166 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@41482.4]
+  assign _T_1188 = _T_1170 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@41498.4]
+  assign _T_1189 = io_in_a_valid & _T_1188; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@41499.4]
+  assign _T_1190 = io_in_a_bits_opcode == _T_1179; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@41501.6]
+  assign _T_1192 = _T_1190 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41503.6]
+  assign _T_1193 = _T_1192 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41504.6]
+  assign _T_1194 = io_in_a_bits_param == _T_1181; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@41509.6]
+  assign _T_1196 = _T_1194 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41511.6]
+  assign _T_1197 = _T_1196 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41512.6]
+  assign _T_1198 = io_in_a_bits_size == _T_1183; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@41517.6]
+  assign _T_1200 = _T_1198 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41519.6]
+  assign _T_1201 = _T_1200 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41520.6]
+  assign _T_1202 = io_in_a_bits_source == _T_1185; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@41525.6]
+  assign _T_1204 = _T_1202 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41527.6]
+  assign _T_1205 = _T_1204 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41528.6]
+  assign _T_1206 = io_in_a_bits_address == _T_1187; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@41533.6]
+  assign _T_1208 = _T_1206 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41535.6]
+  assign _T_1209 = _T_1208 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41536.6]
+  assign _T_1211 = _T_1156 & _T_1170; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@41543.4]
+  assign _T_1212 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@41551.4]
+  assign _T_1214 = 27'hfff << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@41553.4]
+  assign _T_1215 = _T_1214[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@41554.4]
+  assign _T_1216 = ~ _T_1215; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@41555.4]
+  assign _T_1217 = _T_1216[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@41556.4]
+  assign _T_1218 = io_in_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@41557.4]
+  assign _T_1222 = _T_1221 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@41560.4]
+  assign _T_1223 = $unsigned(_T_1222); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@41561.4]
+  assign _T_1224 = _T_1223[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@41562.4]
+  assign _T_1225 = _T_1221 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@41563.4]
+  assign _T_1245 = _T_1225 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@41580.4]
+  assign _T_1246 = io_in_d_valid & _T_1245; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@41581.4]
+  assign _T_1247 = io_in_d_bits_opcode == _T_1234; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@41583.6]
+  assign _T_1249 = _T_1247 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41585.6]
+  assign _T_1250 = _T_1249 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41586.6]
+  assign _T_1251 = io_in_d_bits_param == _T_1236; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@41591.6]
+  assign _T_1253 = _T_1251 | reset; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41593.6]
+  assign _T_1254 = _T_1253 == 1'h0; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41594.6]
+  assign _T_1255 = io_in_d_bits_size == _T_1238; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@41599.6]
+  assign _T_1257 = _T_1255 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41601.6]
+  assign _T_1258 = _T_1257 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41602.6]
+  assign _T_1259 = io_in_d_bits_source == _T_1240; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@41607.6]
+  assign _T_1261 = _T_1259 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41609.6]
+  assign _T_1262 = _T_1261 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41610.6]
+  assign _T_1263 = io_in_d_bits_sink == _T_1242; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@41615.6]
+  assign _T_1265 = _T_1263 | reset; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41617.6]
+  assign _T_1266 = _T_1265 == 1'h0; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41618.6]
+  assign _T_1267 = io_in_d_bits_denied == _T_1244; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@41623.6]
+  assign _T_1269 = _T_1267 | reset; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41625.6]
+  assign _T_1270 = _T_1269 == 1'h0; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41626.6]
+  assign _T_1272 = _T_1212 & _T_1225; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@41633.4]
+  assign _T_1286 = _T_1285 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@41653.4]
+  assign _T_1287 = $unsigned(_T_1286); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@41654.4]
+  assign _T_1288 = _T_1287[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@41655.4]
+  assign _T_1289 = _T_1285 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@41656.4]
+  assign _T_1307 = _T_1306 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@41676.4]
+  assign _T_1308 = $unsigned(_T_1307); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@41677.4]
+  assign _T_1309 = _T_1308[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@41678.4]
+  assign _T_1310 = _T_1306 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@41679.4]
+  assign _T_1321 = _T_1156 & _T_1289; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@41694.4]
+  assign _T_1323 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@41697.6]
+  assign _T_1324 = _T_1274 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@41699.6]
+  assign _T_1325 = _T_1324[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@41700.6]
+  assign _T_1326 = _T_1325 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41701.6]
+  assign _T_1328 = _T_1326 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@41703.6]
+  assign _T_1329 = _T_1328 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@41704.6]
+  assign _GEN_15 = _T_1321 ? _T_1323 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@41696.4]
+  assign _T_1334 = _T_1212 & _T_1310; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@41715.4]
+  assign _T_1336 = _T_1015 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@41717.4]
+  assign _T_1337 = _T_1334 & _T_1336; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@41718.4]
+  assign _T_1338 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@41720.6]
+  assign _T_1339 = _GEN_15 | _T_1274; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@41722.6]
+  assign _T_1340 = _T_1339 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@41723.6]
+  assign _T_1341 = _T_1340[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@41724.6]
+  assign _T_1343 = _T_1341 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@41726.6]
+  assign _T_1344 = _T_1343 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@41727.6]
+  assign _GEN_16 = _T_1337 ? _T_1338 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@41719.4]
+  assign _T_1345 = _GEN_15 != _GEN_16; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@41733.4]
+  assign _T_1346 = _GEN_15 != 2'h0; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@41734.4]
+  assign _T_1347 = _T_1346 == 1'h0; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@41735.4]
+  assign _T_1348 = _T_1345 | _T_1347; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@41736.4]
+  assign _T_1350 = _T_1348 | reset; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@41738.4]
+  assign _T_1351 = _T_1350 == 1'h0; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@41739.4]
+  assign _T_1352 = _T_1274 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@41744.4]
+  assign _T_1353 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@41745.4]
+  assign _T_1354 = _T_1352 & _T_1353; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@41746.4]
+  assign _T_1357 = _T_1274 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@41751.4]
+  assign _T_1358 = _T_1357 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@41752.4]
+  assign _T_1359 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@41753.4]
+  assign _T_1360 = _T_1358 | _T_1359; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@41754.4]
+  assign _T_1361 = _T_1356 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@41755.4]
+  assign _T_1362 = _T_1360 | _T_1361; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@41756.4]
+  assign _T_1364 = _T_1362 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@41758.4]
+  assign _T_1365 = _T_1364 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@41759.4]
+  assign _T_1367 = _T_1356 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@41765.4]
+  assign _T_1370 = _T_1156 | _T_1212; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@41769.4]
+  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40136.10]
+  assign _GEN_35 = io_in_a_valid & _T_206; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40286.10]
+  assign _GEN_53 = io_in_a_valid & _T_326; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40452.10]
+  assign _GEN_65 = io_in_a_valid & _T_442; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40596.10]
+  assign _GEN_75 = io_in_a_valid & _T_556; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40732.10]
+  assign _GEN_85 = io_in_a_valid & _T_672; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40865.10]
+  assign _GEN_95 = io_in_a_valid & _T_781; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40996.10]
+  assign _GEN_105 = io_in_a_valid & _T_890; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41127.10]
+  assign _GEN_115 = io_in_d_valid & _T_1015; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41185.10]
+  assign _GEN_125 = io_in_d_valid & _T_1035; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41227.10]
+  assign _GEN_137 = io_in_d_valid & _T_1063; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41285.10]
+  assign _GEN_149 = io_in_d_valid & _T_1092; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41344.10]
+  assign _GEN_155 = io_in_d_valid & _T_1109; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41379.10]
+  assign _GEN_161 = io_in_d_valid & _T_1127; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41415.10]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  _T_1166 = _RAND_0[9:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  _T_1179 = _RAND_1[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  _T_1181 = _RAND_2[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  _T_1183 = _RAND_3[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  _T_1185 = _RAND_4[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  _T_1187 = _RAND_5[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {1{`RANDOM}};
+  _T_1221 = _RAND_6[9:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {1{`RANDOM}};
+  _T_1234 = _RAND_7[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_8 = {1{`RANDOM}};
+  _T_1236 = _RAND_8[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_9 = {1{`RANDOM}};
+  _T_1238 = _RAND_9[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_10 = {1{`RANDOM}};
+  _T_1240 = _RAND_10[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_11 = {1{`RANDOM}};
+  _T_1242 = _RAND_11[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_12 = {1{`RANDOM}};
+  _T_1244 = _RAND_12[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_13 = {1{`RANDOM}};
+  _T_1274 = _RAND_13[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_14 = {1{`RANDOM}};
+  _T_1285 = _RAND_14[9:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_15 = {1{`RANDOM}};
+  _T_1306 = _RAND_15[9:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_16 = {1{`RANDOM}};
+  _T_1356 = _RAND_16[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      _T_1166 <= 10'h0;
+    end else begin
+      if (_T_1156) begin
+        if (_T_1170) begin
+          if (_T_1163) begin
+            _T_1166 <= _T_1161;
+          end else begin
+            _T_1166 <= 10'h0;
+          end
+        end else begin
+          _T_1166 <= _T_1169;
+        end
+      end
+    end
+    if (_T_1211) begin
+      _T_1179 <= io_in_a_bits_opcode;
+    end
+    if (_T_1211) begin
+      _T_1181 <= io_in_a_bits_param;
+    end
+    if (_T_1211) begin
+      _T_1183 <= io_in_a_bits_size;
+    end
+    if (_T_1211) begin
+      _T_1185 <= io_in_a_bits_source;
+    end
+    if (_T_1211) begin
+      _T_1187 <= io_in_a_bits_address;
+    end
+    if (reset) begin
+      _T_1221 <= 10'h0;
+    end else begin
+      if (_T_1212) begin
+        if (_T_1225) begin
+          if (_T_1218) begin
+            _T_1221 <= _T_1217;
+          end else begin
+            _T_1221 <= 10'h0;
+          end
+        end else begin
+          _T_1221 <= _T_1224;
+        end
+      end
+    end
+    if (_T_1272) begin
+      _T_1234 <= io_in_d_bits_opcode;
+    end
+    if (_T_1272) begin
+      _T_1236 <= io_in_d_bits_param;
+    end
+    if (_T_1272) begin
+      _T_1238 <= io_in_d_bits_size;
+    end
+    if (_T_1272) begin
+      _T_1240 <= io_in_d_bits_source;
+    end
+    if (_T_1272) begin
+      _T_1242 <= io_in_d_bits_sink;
+    end
+    if (_T_1272) begin
+      _T_1244 <= io_in_d_bits_denied;
+    end
+    if (reset) begin
+      _T_1274 <= 2'h0;
+    end else begin
+      _T_1274 <= _T_1354;
+    end
+    if (reset) begin
+      _T_1285 <= 10'h0;
+    end else begin
+      if (_T_1156) begin
+        if (_T_1289) begin
+          if (_T_1163) begin
+            _T_1285 <= _T_1161;
+          end else begin
+            _T_1285 <= 10'h0;
+          end
+        end else begin
+          _T_1285 <= _T_1288;
+        end
+      end
+    end
+    if (reset) begin
+      _T_1306 <= 10'h0;
+    end else begin
+      if (_T_1212) begin
+        if (_T_1310) begin
+          if (_T_1218) begin
+            _T_1306 <= _T_1217;
+          end else begin
+            _T_1306 <= 10'h0;
+          end
+        end else begin
+          _T_1306 <= _T_1309;
+        end
+      end
+    end
+    if (reset) begin
+      _T_1356 <= 32'h0;
+    end else begin
+      if (_T_1370) begin
+        _T_1356 <= 32'h0;
+      end else begin
+        _T_1356 <= _T_1367;
+      end
+    end
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at SystemBus.scala:68:28)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@39971.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@39972.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@40041.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@40042.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_179) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at SystemBus.scala:68:28)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40136.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_179) begin
+          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40137.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_179) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at SystemBus.scala:68:28)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40143.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_179) begin
+          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40144.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_185) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at SystemBus.scala:68:28)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40150.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_185) begin
+          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40151.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_189) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at SystemBus.scala:68:28)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40158.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_189) begin
+          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40159.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_192) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at SystemBus.scala:68:28)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40165.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_192) begin
+          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40166.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_196) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at SystemBus.scala:68:28)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40173.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_196) begin
+          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40174.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_201) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at SystemBus.scala:68:28)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40182.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_201) begin
+          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40183.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_205) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at SystemBus.scala:68:28)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40190.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_205) begin
+          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40191.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_179) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at SystemBus.scala:68:28)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40286.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_179) begin
+          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40287.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_179) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at SystemBus.scala:68:28)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40293.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_179) begin
+          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40294.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_185) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at SystemBus.scala:68:28)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40300.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_185) begin
+          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40301.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_189) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at SystemBus.scala:68:28)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40308.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_189) begin
+          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40309.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_192) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at SystemBus.scala:68:28)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40315.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_192) begin
+          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40316.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_196) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at SystemBus.scala:68:28)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40323.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_196) begin
+          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40324.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_316) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at SystemBus.scala:68:28)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40331.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_316) begin
+          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40332.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_201) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at SystemBus.scala:68:28)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40340.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_201) begin
+          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40341.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_205) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at SystemBus.scala:68:28)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40348.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_205) begin
+          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40349.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_423) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at SystemBus.scala:68:28)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40452.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_423) begin
+          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40453.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_185) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at SystemBus.scala:68:28)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40459.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_185) begin
+          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40460.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_192) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at SystemBus.scala:68:28)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40466.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_192) begin
+          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40467.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_433) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at SystemBus.scala:68:28)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40474.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_433) begin
+          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40475.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_437) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at SystemBus.scala:68:28)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40482.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_437) begin
+          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40483.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_205) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at SystemBus.scala:68:28)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40490.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_205) begin
+          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40491.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_541) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at SystemBus.scala:68:28)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40596.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_541) begin
+          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40597.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_185) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at SystemBus.scala:68:28)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40603.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_185) begin
+          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40604.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_192) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at SystemBus.scala:68:28)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40610.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_192) begin
+          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40611.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_433) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at SystemBus.scala:68:28)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40618.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_433) begin
+          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40619.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_437) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at SystemBus.scala:68:28)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40626.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_437) begin
+          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40627.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_541) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at SystemBus.scala:68:28)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40732.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_541) begin
+          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40733.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_185) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at SystemBus.scala:68:28)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40739.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_185) begin
+          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40740.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_192) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at SystemBus.scala:68:28)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40746.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_192) begin
+          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40747.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_433) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at SystemBus.scala:68:28)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40754.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_433) begin
+          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40755.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_671) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at SystemBus.scala:68:28)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40764.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_671) begin
+          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40765.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_766) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at SystemBus.scala:68:28)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40865.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_766) begin
+          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40866.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_185) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at SystemBus.scala:68:28)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40872.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_185) begin
+          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40873.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_192) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at SystemBus.scala:68:28)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40879.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_192) begin
+          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40880.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_776) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at SystemBus.scala:68:28)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40887.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_776) begin
+          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40888.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_437) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at SystemBus.scala:68:28)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40895.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_437) begin
+          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40896.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_766) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at SystemBus.scala:68:28)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40996.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_766) begin
+          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40997.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_185) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at SystemBus.scala:68:28)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41003.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_185) begin
+          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41004.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_192) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at SystemBus.scala:68:28)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41010.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_192) begin
+          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41011.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_885) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at SystemBus.scala:68:28)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41018.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_885) begin
+          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41019.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_437) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at SystemBus.scala:68:28)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41026.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_437) begin
+          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41027.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_984) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at SystemBus.scala:68:28)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41127.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_984) begin
+          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41128.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_185) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at SystemBus.scala:68:28)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41134.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_185) begin
+          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41135.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_192) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at SystemBus.scala:68:28)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41141.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_192) begin
+          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41142.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_437) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at SystemBus.scala:68:28)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41149.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_437) begin
+          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41150.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_205) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at SystemBus.scala:68:28)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41157.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_205) begin
+          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41158.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1002) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at SystemBus.scala:68:28)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@41168.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1002) begin
+          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@41169.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_1018) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at SystemBus.scala:68:28)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41185.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_1018) begin
+          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41186.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_1022) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at SystemBus.scala:68:28)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41193.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_1022) begin
+          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41194.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_1026) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at SystemBus.scala:68:28)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41201.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_1026) begin
+          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41202.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_1030) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at SystemBus.scala:68:28)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41209.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_1030) begin
+          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41210.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_1034) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at SystemBus.scala:68:28)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41217.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_1034) begin
+          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41218.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_1018) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at SystemBus.scala:68:28)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41227.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_1018) begin
+          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41228.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_179) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at SystemBus.scala:68:28)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41234.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_179) begin
+          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41235.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_1022) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at SystemBus.scala:68:28)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41242.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_1022) begin
+          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41243.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_1049) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at SystemBus.scala:68:28)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41250.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_1049) begin
+          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41251.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_1053) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at SystemBus.scala:68:28)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41258.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_1053) begin
+          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41259.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_1030) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at SystemBus.scala:68:28)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41266.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_1030) begin
+          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41267.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at SystemBus.scala:68:28)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41275.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41276.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_137 & _T_1018) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at SystemBus.scala:68:28)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41285.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_137 & _T_1018) begin
+          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41286.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_137 & _T_179) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at SystemBus.scala:68:28)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41292.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_137 & _T_179) begin
+          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41293.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_137 & _T_1022) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at SystemBus.scala:68:28)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41300.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_137 & _T_1022) begin
+          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41301.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_137 & _T_1049) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at SystemBus.scala:68:28)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41308.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_137 & _T_1049) begin
+          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41309.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_137 & _T_1053) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at SystemBus.scala:68:28)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41316.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_137 & _T_1053) begin
+          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41317.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_137 & _T_1086) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at SystemBus.scala:68:28)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41325.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_137 & _T_1086) begin
+          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41326.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at SystemBus.scala:68:28)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41334.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41335.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_149 & _T_1018) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at SystemBus.scala:68:28)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41344.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_149 & _T_1018) begin
+          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41345.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_149 & _T_1026) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at SystemBus.scala:68:28)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41352.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_149 & _T_1026) begin
+          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41353.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_149 & _T_1030) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at SystemBus.scala:68:28)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41360.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_149 & _T_1030) begin
+          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41361.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at SystemBus.scala:68:28)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41369.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41370.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_155 & _T_1018) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at SystemBus.scala:68:28)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41379.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_155 & _T_1018) begin
+          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41380.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_155 & _T_1026) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at SystemBus.scala:68:28)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41387.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_155 & _T_1026) begin
+          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41388.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_155 & _T_1086) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at SystemBus.scala:68:28)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41396.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_155 & _T_1086) begin
+          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41397.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at SystemBus.scala:68:28)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41405.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41406.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_161 & _T_1018) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at SystemBus.scala:68:28)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41415.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_161 & _T_1018) begin
+          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41416.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_161 & _T_1026) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at SystemBus.scala:68:28)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41423.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_161 & _T_1026) begin
+          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41424.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_161 & _T_1030) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at SystemBus.scala:68:28)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41431.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_161 & _T_1030) begin
+          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41432.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at SystemBus.scala:68:28)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41440.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41441.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at SystemBus.scala:68:28)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41450.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41451.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at SystemBus.scala:68:28)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41458.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41459.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at SystemBus.scala:68:28)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41466.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41467.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1189 & _T_1193) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at SystemBus.scala:68:28)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41506.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1189 & _T_1193) begin
+          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41507.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1189 & _T_1197) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at SystemBus.scala:68:28)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41514.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1189 & _T_1197) begin
+          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41515.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1189 & _T_1201) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at SystemBus.scala:68:28)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41522.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1189 & _T_1201) begin
+          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41523.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1189 & _T_1205) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at SystemBus.scala:68:28)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41530.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1189 & _T_1205) begin
+          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41531.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1189 & _T_1209) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at SystemBus.scala:68:28)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41538.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1189 & _T_1209) begin
+          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41539.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1246 & _T_1250) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at SystemBus.scala:68:28)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41588.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1246 & _T_1250) begin
+          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41589.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1246 & _T_1254) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at SystemBus.scala:68:28)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41596.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1246 & _T_1254) begin
+          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41597.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1246 & _T_1258) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at SystemBus.scala:68:28)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41604.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1246 & _T_1258) begin
+          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41605.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1246 & _T_1262) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at SystemBus.scala:68:28)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41612.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1246 & _T_1262) begin
+          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41613.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1246 & _T_1266) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at SystemBus.scala:68:28)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41620.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1246 & _T_1266) begin
+          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41621.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1246 & _T_1270) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at SystemBus.scala:68:28)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41628.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1246 & _T_1270) begin
+          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41629.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1321 & _T_1329) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at SystemBus.scala:68:28)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@41706.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1321 & _T_1329) begin
+          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@41707.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1337 & _T_1344) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at SystemBus.scala:68:28)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@41729.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1337 & _T_1344) begin
+          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@41730.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1351) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' and 'D' concurrent, despite minlatency 2 (connected at SystemBus.scala:68:28)\n    at Monitor.scala:471 assert(a_set =/= d_clr || !a_set.orR, s\"'A' and 'D' concurrent, despite minlatency ${edge.manager.minLatency}\" + extra)\n"); // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@41741.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1351) begin
+          $fatal; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@41742.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1365) begin
+          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at SystemBus.scala:68:28)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@41761.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1365) begin
+          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@41762.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+endmodule
+module TLSplitter( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41774.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41775.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41776.4]
+  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41777.4]
+  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41777.4]
+  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41777.4]
+  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41777.4]
+  input  [3:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41777.4]
+  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41777.4]
+  input  [31:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41777.4]
+  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41777.4]
+  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41777.4]
+  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41777.4]
+  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41777.4]
+  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41777.4]
+  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41777.4]
+  output [1:0]  auto_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41777.4]
+  output [3:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41777.4]
+  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41777.4]
+  output        auto_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41777.4]
+  output        auto_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41777.4]
+  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41777.4]
+  output        auto_in_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41777.4]
+  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41777.4]
+  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41777.4]
+  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41777.4]
+  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41777.4]
+  output [3:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41777.4]
+  output        auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41777.4]
+  output [31:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41777.4]
+  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41777.4]
+  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41777.4]
+  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41777.4]
+  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41777.4]
+  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41777.4]
+  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41777.4]
+  input  [1:0]  auto_out_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41777.4]
+  input  [3:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41777.4]
+  input         auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41777.4]
+  input         auto_out_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41777.4]
+  input         auto_out_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41777.4]
+  input  [31:0] auto_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41777.4]
+  input         auto_out_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41777.4]
+);
+  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@41784.4]
+  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@41784.4]
+  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@41784.4]
+  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@41784.4]
+  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@41784.4]
+  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@41784.4]
+  wire [3:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@41784.4]
+  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@41784.4]
+  wire [31:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@41784.4]
+  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@41784.4]
+  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@41784.4]
+  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@41784.4]
+  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@41784.4]
+  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@41784.4]
+  wire [1:0] TLMonitor_io_in_d_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@41784.4]
+  wire [3:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@41784.4]
+  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@41784.4]
+  wire  TLMonitor_io_in_d_bits_sink; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@41784.4]
+  wire  TLMonitor_io_in_d_bits_denied; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@41784.4]
+  wire  TLMonitor_io_in_d_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@41784.4]
+  TLMonitor_23 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@41784.4]
+    .clock(TLMonitor_clock),
+    .reset(TLMonitor_reset),
+    .io_in_a_ready(TLMonitor_io_in_a_ready),
+    .io_in_a_valid(TLMonitor_io_in_a_valid),
+    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
+    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
+    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
+    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
+    .io_in_d_ready(TLMonitor_io_in_d_ready),
+    .io_in_d_valid(TLMonitor_io_in_d_valid),
+    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
+    .io_in_d_bits_param(TLMonitor_io_in_d_bits_param),
+    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
+    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source),
+    .io_in_d_bits_sink(TLMonitor_io_in_d_bits_sink),
+    .io_in_d_bits_denied(TLMonitor_io_in_d_bits_denied),
+    .io_in_d_bits_corrupt(TLMonitor_io_in_d_bits_corrupt)
+  );
+  assign auto_in_a_ready = auto_out_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@41824.4]
+  assign auto_in_d_valid = auto_out_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@41824.4]
+  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@41824.4]
+  assign auto_in_d_bits_param = auto_out_d_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@41824.4]
+  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@41824.4]
+  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@41824.4]
+  assign auto_in_d_bits_sink = auto_out_d_bits_sink; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@41824.4]
+  assign auto_in_d_bits_denied = auto_out_d_bits_denied; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@41824.4]
+  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@41824.4]
+  assign auto_in_d_bits_corrupt = auto_out_d_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@41824.4]
+  assign auto_out_a_valid = auto_in_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@41823.4]
+  assign auto_out_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@41823.4]
+  assign auto_out_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@41823.4]
+  assign auto_out_a_bits_size = auto_in_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@41823.4]
+  assign auto_out_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@41823.4]
+  assign auto_out_a_bits_address = auto_in_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@41823.4]
+  assign auto_out_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@41823.4]
+  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@41823.4]
+  assign auto_out_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@41823.4]
+  assign auto_out_d_ready = auto_in_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@41823.4]
+  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41786.4]
+  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41787.4]
+  assign TLMonitor_io_in_a_ready = auto_out_a_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@41820.4]
+  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@41820.4]
+  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@41820.4]
+  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@41820.4]
+  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@41820.4]
+  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@41820.4]
+  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@41820.4]
+  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@41820.4]
+  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@41820.4]
+  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@41820.4]
+  assign TLMonitor_io_in_d_valid = auto_out_d_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@41820.4]
+  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@41820.4]
+  assign TLMonitor_io_in_d_bits_param = auto_out_d_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@41820.4]
+  assign TLMonitor_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@41820.4]
+  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@41820.4]
+  assign TLMonitor_io_in_d_bits_sink = auto_out_d_bits_sink; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@41820.4]
+  assign TLMonitor_io_in_d_bits_denied = auto_out_d_bits_denied; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@41820.4]
+  assign TLMonitor_io_in_d_bits_corrupt = auto_out_d_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@41820.4]
+endmodule
+module TLMonitor_24( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41843.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41844.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41845.4]
+  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41846.4]
+  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41846.4]
+  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41846.4]
+  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41846.4]
+  input  [3:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41846.4]
+  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41846.4]
+  input  [31:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41846.4]
+  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41846.4]
+  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41846.4]
+  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41846.4]
+  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41846.4]
+  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41846.4]
+  input  [1:0]  io_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41846.4]
+  input  [3:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41846.4]
+  input         io_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41846.4]
+  input         io_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41846.4]
+  input         io_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41846.4]
+  input         io_in_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41846.4]
+);
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@43636.4]
+  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@41862.6]
+  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@41867.6]
+  wire [26:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@41869.6]
+  wire [11:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@41870.6]
+  wire [11:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@41871.6]
+  wire [31:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@41872.6]
+  wire [31:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@41872.6]
+  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@41873.6]
+  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@41875.6]
+  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@41876.6]
+  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@41878.6]
+  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@41879.6]
+  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@41880.6]
+  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@41881.6]
+  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@41882.6]
+  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@41884.6]
+  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@41885.6]
+  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@41887.6]
+  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@41888.6]
+  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@41889.6]
+  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@41890.6]
+  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@41891.6]
+  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@41892.6]
+  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@41893.6]
+  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@41894.6]
+  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@41895.6]
+  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@41896.6]
+  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@41897.6]
+  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@41898.6]
+  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@41899.6]
+  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@41900.6]
+  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@41901.6]
+  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@41902.6]
+  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@41903.6]
+  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@41904.6]
+  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@41905.6]
+  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@41906.6]
+  wire [32:0] _T_73; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@41910.6]
+  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@41931.6]
+  wire [31:0] _T_92; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@41934.8]
+  wire [32:0] _T_93; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@41935.8]
+  wire [32:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@41936.8]
+  wire [32:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@41937.8]
+  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@41938.8]
+  wire [31:0] _T_97; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@41939.8]
+  wire [32:0] _T_98; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@41940.8]
+  wire [32:0] _T_99; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@41941.8]
+  wire [32:0] _T_100; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@41942.8]
+  wire  _T_101; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@41943.8]
+  wire [31:0] _T_102; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@41944.8]
+  wire [32:0] _T_103; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@41945.8]
+  wire [32:0] _T_104; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@41946.8]
+  wire [32:0] _T_105; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@41947.8]
+  wire  _T_106; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@41948.8]
+  wire [31:0] _T_107; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@41949.8]
+  wire [32:0] _T_108; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@41950.8]
+  wire [32:0] _T_109; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@41951.8]
+  wire [32:0] _T_110; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@41952.8]
+  wire  _T_111; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@41953.8]
+  wire [31:0] _T_112; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@41954.8]
+  wire [32:0] _T_113; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@41955.8]
+  wire [32:0] _T_114; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@41956.8]
+  wire [32:0] _T_115; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@41957.8]
+  wire  _T_116; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@41958.8]
+  wire [31:0] _T_117; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@41959.8]
+  wire [32:0] _T_118; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@41960.8]
+  wire [32:0] _T_119; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@41961.8]
+  wire [32:0] _T_120; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@41962.8]
+  wire  _T_121; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@41963.8]
+  wire [31:0] _T_122; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@41964.8]
+  wire [32:0] _T_123; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@41965.8]
+  wire [32:0] _T_124; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@41966.8]
+  wire [32:0] _T_125; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@41967.8]
+  wire  _T_126; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@41968.8]
+  wire [31:0] _T_127; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@41969.8]
+  wire [32:0] _T_128; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@41970.8]
+  wire [32:0] _T_129; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@41971.8]
+  wire [32:0] _T_130; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@41972.8]
+  wire  _T_131; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@41973.8]
+  wire [31:0] _T_132; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@41974.8]
+  wire [32:0] _T_133; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@41975.8]
+  wire [32:0] _T_134; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@41976.8]
+  wire [32:0] _T_135; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@41977.8]
+  wire  _T_136; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@41978.8]
+  wire [31:0] _T_137; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@41979.8]
+  wire [32:0] _T_138; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@41980.8]
+  wire [32:0] _T_139; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@41981.8]
+  wire [32:0] _T_140; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@41982.8]
+  wire  _T_141; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@41983.8]
+  wire [32:0] _T_144; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@41986.8]
+  wire [32:0] _T_145; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@41987.8]
+  wire  _T_146; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@41988.8]
+  wire [31:0] _T_147; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@41989.8]
+  wire [32:0] _T_148; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@41990.8]
+  wire [32:0] _T_149; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@41991.8]
+  wire [32:0] _T_150; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@41992.8]
+  wire  _T_151; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@41993.8]
+  wire [31:0] _T_152; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@41994.8]
+  wire [32:0] _T_153; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@41995.8]
+  wire [32:0] _T_154; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@41996.8]
+  wire [32:0] _T_155; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@41997.8]
+  wire  _T_156; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@41998.8]
+  wire [31:0] _T_157; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@41999.8]
+  wire [32:0] _T_158; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@42000.8]
+  wire [32:0] _T_159; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@42001.8]
+  wire [32:0] _T_160; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@42002.8]
+  wire  _T_161; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@42003.8]
+  wire  _T_162; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42004.8]
+  wire  _T_163; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42005.8]
+  wire  _T_164; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42006.8]
+  wire  _T_165; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42007.8]
+  wire  _T_179; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42021.8]
+  wire  _T_184; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42034.8]
+  wire  _T_185; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42035.8]
+  wire  _T_188; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42042.8]
+  wire  _T_189; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42043.8]
+  wire  _T_191; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42049.8]
+  wire  _T_192; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42050.8]
+  wire  _T_193; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@42055.8]
+  wire  _T_195; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42057.8]
+  wire  _T_196; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42058.8]
+  wire [3:0] _T_197; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@42063.8]
+  wire  _T_198; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@42064.8]
+  wire  _T_200; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42066.8]
+  wire  _T_201; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42067.8]
+  wire  _T_202; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@42072.8]
+  wire  _T_204; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42074.8]
+  wire  _T_205; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42075.8]
+  wire  _T_206; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@42081.6]
+  wire  _T_313; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@42213.8]
+  wire  _T_315; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42215.8]
+  wire  _T_316; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42216.8]
+  wire  _T_326; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@42239.6]
+  wire  _T_328; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42242.8]
+  wire  _T_336; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@42250.8]
+  wire  _T_338; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42252.8]
+  wire  _T_406; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42320.8]
+  wire  _T_407; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42321.8]
+  wire  _T_408; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42322.8]
+  wire  _T_409; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42323.8]
+  wire  _T_410; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42324.8]
+  wire  _T_411; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42325.8]
+  wire  _T_412; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42326.8]
+  wire  _T_413; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42327.8]
+  wire  _T_414; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42328.8]
+  wire  _T_415; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42329.8]
+  wire  _T_416; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42330.8]
+  wire  _T_417; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42331.8]
+  wire  _T_418; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@42332.8]
+  wire  _T_420; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@42334.8]
+  wire  _T_422; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42336.8]
+  wire  _T_423; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42337.8]
+  wire  _T_430; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@42356.8]
+  wire  _T_432; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42358.8]
+  wire  _T_433; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42359.8]
+  wire  _T_434; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@42364.8]
+  wire  _T_436; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42366.8]
+  wire  _T_437; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42367.8]
+  wire  _T_442; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@42381.6]
+  wire  _T_515; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42455.8]
+  wire  _T_516; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42456.8]
+  wire  _T_517; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42457.8]
+  wire  _T_518; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42458.8]
+  wire  _T_519; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42459.8]
+  wire  _T_520; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42460.8]
+  wire  _T_521; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42461.8]
+  wire  _T_522; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@42462.8]
+  wire  _T_537; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@42477.8]
+  wire  _T_540; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42480.8]
+  wire  _T_541; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42481.8]
+  wire  _T_556; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@42517.6]
+  wire [3:0] _T_666; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@42644.8]
+  wire [3:0] _T_667; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@42645.8]
+  wire  _T_668; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@42646.8]
+  wire  _T_670; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42648.8]
+  wire  _T_671; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42649.8]
+  wire  _T_672; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@42655.6]
+  wire  _T_674; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42658.8]
+  wire  _T_741; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42725.8]
+  wire  _T_742; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42726.8]
+  wire  _T_743; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42727.8]
+  wire  _T_744; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42728.8]
+  wire  _T_745; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42729.8]
+  wire  _T_746; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42730.8]
+  wire  _T_747; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42731.8]
+  wire  _T_748; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@42732.8]
+  wire  _T_765; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42749.8]
+  wire  _T_766; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42750.8]
+  wire  _T_773; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@42769.8]
+  wire  _T_775; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42771.8]
+  wire  _T_776; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42772.8]
+  wire  _T_781; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@42786.6]
+  wire  _T_882; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@42900.8]
+  wire  _T_884; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42902.8]
+  wire  _T_885; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42903.8]
+  wire  _T_890; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@42917.6]
+  wire  _T_983; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43011.8]
+  wire  _T_984; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43012.8]
+  wire  _T_999; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@43050.6]
+  wire  _T_1001; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@43052.6]
+  wire  _T_1002; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@43053.6]
+  wire  _T_1004; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@43059.6]
+  wire  _T_1013; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@43064.6]
+  wire  _T_1015; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@43066.6]
+  wire  _T_1017; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43069.8]
+  wire  _T_1018; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43070.8]
+  wire  _T_1019; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@43075.8]
+  wire  _T_1021; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43077.8]
+  wire  _T_1022; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43078.8]
+  wire  _T_1023; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@43083.8]
+  wire  _T_1025; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43085.8]
+  wire  _T_1026; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43086.8]
+  wire  _T_1027; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@43091.8]
+  wire  _T_1029; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43093.8]
+  wire  _T_1030; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43094.8]
+  wire  _T_1031; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@43099.8]
+  wire  _T_1033; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43101.8]
+  wire  _T_1034; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43102.8]
+  wire  _T_1035; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@43108.6]
+  wire  _T_1046; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@43132.8]
+  wire  _T_1048; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43134.8]
+  wire  _T_1049; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43135.8]
+  wire  _T_1050; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@43140.8]
+  wire  _T_1052; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43142.8]
+  wire  _T_1053; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43143.8]
+  wire  _T_1063; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@43166.6]
+  wire  _T_1083; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@43207.8]
+  wire  _T_1085; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43209.8]
+  wire  _T_1086; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43210.8]
+  wire  _T_1092; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@43225.6]
+  wire  _T_1109; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@43260.6]
+  wire  _T_1127; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@43296.6]
+  wire  _T_1156; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@43356.4]
+  wire [9:0] _T_1161; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@43361.4]
+  wire  _T_1162; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@43362.4]
+  wire  _T_1163; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@43363.4]
+  reg [9:0] _T_1166; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@43365.4]
+  reg [31:0] _RAND_0;
+  wire [10:0] _T_1167; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@43366.4]
+  wire [10:0] _T_1168; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@43367.4]
+  wire [9:0] _T_1169; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@43368.4]
+  wire  _T_1170; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@43369.4]
+  reg [2:0] _T_1179; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@43380.4]
+  reg [31:0] _RAND_1;
+  reg [2:0] _T_1181; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@43381.4]
+  reg [31:0] _RAND_2;
+  reg [3:0] _T_1183; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@43382.4]
+  reg [31:0] _RAND_3;
+  reg  _T_1185; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@43383.4]
+  reg [31:0] _RAND_4;
+  reg [31:0] _T_1187; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@43384.4]
+  reg [31:0] _RAND_5;
+  wire  _T_1188; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@43385.4]
+  wire  _T_1189; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@43386.4]
+  wire  _T_1190; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@43388.6]
+  wire  _T_1192; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43390.6]
+  wire  _T_1193; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43391.6]
+  wire  _T_1194; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@43396.6]
+  wire  _T_1196; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43398.6]
+  wire  _T_1197; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43399.6]
+  wire  _T_1198; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@43404.6]
+  wire  _T_1200; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43406.6]
+  wire  _T_1201; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43407.6]
+  wire  _T_1202; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@43412.6]
+  wire  _T_1204; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43414.6]
+  wire  _T_1205; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43415.6]
+  wire  _T_1206; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@43420.6]
+  wire  _T_1208; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43422.6]
+  wire  _T_1209; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43423.6]
+  wire  _T_1211; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@43430.4]
+  wire  _T_1212; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@43438.4]
+  wire [26:0] _T_1214; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@43440.4]
+  wire [11:0] _T_1215; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@43441.4]
+  wire [11:0] _T_1216; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@43442.4]
+  wire [9:0] _T_1217; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@43443.4]
+  wire  _T_1218; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@43444.4]
+  reg [9:0] _T_1221; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@43446.4]
+  reg [31:0] _RAND_6;
+  wire [10:0] _T_1222; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@43447.4]
+  wire [10:0] _T_1223; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@43448.4]
+  wire [9:0] _T_1224; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@43449.4]
+  wire  _T_1225; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@43450.4]
+  reg [2:0] _T_1234; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@43461.4]
+  reg [31:0] _RAND_7;
+  reg [1:0] _T_1236; // @[Monitor.scala 419:22:shc.marmotcaravel.MarmotCaravelConfig.fir@43462.4]
+  reg [31:0] _RAND_8;
+  reg [3:0] _T_1238; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@43463.4]
+  reg [31:0] _RAND_9;
+  reg  _T_1240; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@43464.4]
+  reg [31:0] _RAND_10;
+  reg  _T_1242; // @[Monitor.scala 422:22:shc.marmotcaravel.MarmotCaravelConfig.fir@43465.4]
+  reg [31:0] _RAND_11;
+  reg  _T_1244; // @[Monitor.scala 423:22:shc.marmotcaravel.MarmotCaravelConfig.fir@43466.4]
+  reg [31:0] _RAND_12;
+  wire  _T_1245; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@43467.4]
+  wire  _T_1246; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@43468.4]
+  wire  _T_1247; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@43470.6]
+  wire  _T_1249; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43472.6]
+  wire  _T_1250; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43473.6]
+  wire  _T_1251; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@43478.6]
+  wire  _T_1253; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43480.6]
+  wire  _T_1254; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43481.6]
+  wire  _T_1255; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@43486.6]
+  wire  _T_1257; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43488.6]
+  wire  _T_1258; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43489.6]
+  wire  _T_1259; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@43494.6]
+  wire  _T_1261; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43496.6]
+  wire  _T_1262; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43497.6]
+  wire  _T_1263; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@43502.6]
+  wire  _T_1265; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43504.6]
+  wire  _T_1266; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43505.6]
+  wire  _T_1267; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@43510.6]
+  wire  _T_1269; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43512.6]
+  wire  _T_1270; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43513.6]
+  wire  _T_1272; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@43520.4]
+  reg [1:0] _T_1274; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@43529.4]
+  reg [31:0] _RAND_13;
+  reg [9:0] _T_1285; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@43539.4]
+  reg [31:0] _RAND_14;
+  wire [10:0] _T_1286; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@43540.4]
+  wire [10:0] _T_1287; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@43541.4]
+  wire [9:0] _T_1288; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@43542.4]
+  wire  _T_1289; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@43543.4]
+  reg [9:0] _T_1306; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@43562.4]
+  reg [31:0] _RAND_15;
+  wire [10:0] _T_1307; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@43563.4]
+  wire [10:0] _T_1308; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@43564.4]
+  wire [9:0] _T_1309; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@43565.4]
+  wire  _T_1310; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@43566.4]
+  wire  _T_1321; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@43581.4]
+  wire [1:0] _T_1323; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@43584.6]
+  wire [1:0] _T_1324; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@43586.6]
+  wire  _T_1325; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@43587.6]
+  wire  _T_1326; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43588.6]
+  wire  _T_1328; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@43590.6]
+  wire  _T_1329; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@43591.6]
+  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@43583.4]
+  wire  _T_1334; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@43602.4]
+  wire  _T_1336; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@43604.4]
+  wire  _T_1337; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@43605.4]
+  wire [1:0] _T_1338; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@43607.6]
+  wire [1:0] _T_1339; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@43609.6]
+  wire [1:0] _T_1340; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@43610.6]
+  wire  _T_1341; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@43611.6]
+  wire  _T_1343; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@43613.6]
+  wire  _T_1344; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@43614.6]
+  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@43606.4]
+  wire  _T_1345; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@43620.4]
+  wire  _T_1346; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@43621.4]
+  wire  _T_1347; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@43622.4]
+  wire  _T_1348; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@43623.4]
+  wire  _T_1350; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@43625.4]
+  wire  _T_1351; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@43626.4]
+  wire [1:0] _T_1352; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@43631.4]
+  wire [1:0] _T_1353; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@43632.4]
+  wire [1:0] _T_1354; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@43633.4]
+  reg [31:0] _T_1356; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@43635.4]
+  reg [31:0] _RAND_16;
+  wire  _T_1357; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@43638.4]
+  wire  _T_1358; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@43639.4]
+  wire  _T_1359; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@43640.4]
+  wire  _T_1360; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@43641.4]
+  wire  _T_1361; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@43642.4]
+  wire  _T_1362; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@43643.4]
+  wire  _T_1364; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@43645.4]
+  wire  _T_1365; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@43646.4]
+  wire [31:0] _T_1367; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@43652.4]
+  wire  _T_1370; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@43656.4]
+  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42023.10]
+  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42173.10]
+  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42339.10]
+  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42483.10]
+  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42619.10]
+  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42752.10]
+  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42883.10]
+  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43014.10]
+  wire  _GEN_115; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43072.10]
+  wire  _GEN_125; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43114.10]
+  wire  _GEN_137; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43172.10]
+  wire  _GEN_149; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43231.10]
+  wire  _GEN_155; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43266.10]
+  wire  _GEN_161; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43302.10]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@43636.4]
+    .out(plusarg_reader_out)
+  );
+  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@41862.6]
+  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@41867.6]
+  assign _T_32 = 27'hfff << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@41869.6]
+  assign _T_33 = _T_32[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@41870.6]
+  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@41871.6]
+  assign _GEN_18 = {{20'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@41872.6]
+  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@41872.6]
+  assign _T_36 = _T_35 == 32'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@41873.6]
+  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@41875.6]
+  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@41876.6]
+  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@41878.6]
+  assign _T_42 = io_in_a_bits_size >= 4'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@41879.6]
+  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@41880.6]
+  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@41881.6]
+  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@41882.6]
+  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@41884.6]
+  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@41885.6]
+  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@41887.6]
+  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@41888.6]
+  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@41889.6]
+  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@41890.6]
+  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@41891.6]
+  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@41892.6]
+  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@41893.6]
+  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@41894.6]
+  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@41895.6]
+  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@41896.6]
+  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@41897.6]
+  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@41898.6]
+  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@41899.6]
+  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@41900.6]
+  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@41901.6]
+  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@41902.6]
+  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@41903.6]
+  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@41904.6]
+  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@41905.6]
+  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@41906.6]
+  assign _T_73 = {1'b0,$signed(io_in_a_bits_address)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@41910.6]
+  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@41931.6]
+  assign _T_92 = io_in_a_bits_address ^ 32'h3000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@41934.8]
+  assign _T_93 = {1'b0,$signed(_T_92)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@41935.8]
+  assign _T_94 = $signed(_T_93) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@41936.8]
+  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@41937.8]
+  assign _T_96 = $signed(_T_95) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@41938.8]
+  assign _T_97 = io_in_a_bits_address ^ 32'h10013000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@41939.8]
+  assign _T_98 = {1'b0,$signed(_T_97)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@41940.8]
+  assign _T_99 = $signed(_T_98) & $signed(-33'sh21000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@41941.8]
+  assign _T_100 = $signed(_T_99); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@41942.8]
+  assign _T_101 = $signed(_T_100) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@41943.8]
+  assign _T_102 = io_in_a_bits_address ^ 32'h10023000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@41944.8]
+  assign _T_103 = {1'b0,$signed(_T_102)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@41945.8]
+  assign _T_104 = $signed(_T_103) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@41946.8]
+  assign _T_105 = $signed(_T_104); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@41947.8]
+  assign _T_106 = $signed(_T_105) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@41948.8]
+  assign _T_107 = io_in_a_bits_address ^ 32'h10043000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@41949.8]
+  assign _T_108 = {1'b0,$signed(_T_107)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@41950.8]
+  assign _T_109 = $signed(_T_108) & $signed(-33'sh11000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@41951.8]
+  assign _T_110 = $signed(_T_109); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@41952.8]
+  assign _T_111 = $signed(_T_110) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@41953.8]
+  assign _T_112 = io_in_a_bits_address ^ 32'h10014000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@41954.8]
+  assign _T_113 = {1'b0,$signed(_T_112)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@41955.8]
+  assign _T_114 = $signed(_T_113) & $signed(-33'sh21000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@41956.8]
+  assign _T_115 = $signed(_T_114); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@41957.8]
+  assign _T_116 = $signed(_T_115) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@41958.8]
+  assign _T_117 = io_in_a_bits_address ^ 32'h20000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@41959.8]
+  assign _T_118 = {1'b0,$signed(_T_117)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@41960.8]
+  assign _T_119 = $signed(_T_118) & $signed(-33'sh20000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@41961.8]
+  assign _T_120 = $signed(_T_119); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@41962.8]
+  assign _T_121 = $signed(_T_120) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@41963.8]
+  assign _T_122 = io_in_a_bits_address ^ 32'h10024000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@41964.8]
+  assign _T_123 = {1'b0,$signed(_T_122)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@41965.8]
+  assign _T_124 = $signed(_T_123) & $signed(-33'sh3000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@41966.8]
+  assign _T_125 = $signed(_T_124); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@41967.8]
+  assign _T_126 = $signed(_T_125) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@41968.8]
+  assign _T_127 = io_in_a_bits_address ^ 32'h10012000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@41969.8]
+  assign _T_128 = {1'b0,$signed(_T_127)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@41970.8]
+  assign _T_129 = $signed(_T_128) & $signed(-33'sh5000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@41971.8]
+  assign _T_130 = $signed(_T_129); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@41972.8]
+  assign _T_131 = $signed(_T_130) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@41973.8]
+  assign _T_132 = io_in_a_bits_address ^ 32'hc000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@41974.8]
+  assign _T_133 = {1'b0,$signed(_T_132)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@41975.8]
+  assign _T_134 = $signed(_T_133) & $signed(-33'sh4000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@41976.8]
+  assign _T_135 = $signed(_T_134); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@41977.8]
+  assign _T_136 = $signed(_T_135) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@41978.8]
+  assign _T_137 = io_in_a_bits_address ^ 32'h2000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@41979.8]
+  assign _T_138 = {1'b0,$signed(_T_137)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@41980.8]
+  assign _T_139 = $signed(_T_138) & $signed(-33'sh10000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@41981.8]
+  assign _T_140 = $signed(_T_139); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@41982.8]
+  assign _T_141 = $signed(_T_140) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@41983.8]
+  assign _T_144 = $signed(_T_73) & $signed(-33'sh10001000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@41986.8]
+  assign _T_145 = $signed(_T_144); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@41987.8]
+  assign _T_146 = $signed(_T_145) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@41988.8]
+  assign _T_147 = io_in_a_bits_address ^ 32'h8000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@41989.8]
+  assign _T_148 = {1'b0,$signed(_T_147)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@41990.8]
+  assign _T_149 = $signed(_T_148) & $signed(-33'sh4000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@41991.8]
+  assign _T_150 = $signed(_T_149); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@41992.8]
+  assign _T_151 = $signed(_T_150) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@41993.8]
+  assign _T_152 = io_in_a_bits_address ^ 32'h80000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@41994.8]
+  assign _T_153 = {1'b0,$signed(_T_152)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@41995.8]
+  assign _T_154 = $signed(_T_153) & $signed(-33'sh4000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@41996.8]
+  assign _T_155 = $signed(_T_154); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@41997.8]
+  assign _T_156 = $signed(_T_155) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@41998.8]
+  assign _T_157 = io_in_a_bits_address ^ 32'h10000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@41999.8]
+  assign _T_158 = {1'b0,$signed(_T_157)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@42000.8]
+  assign _T_159 = $signed(_T_158) & $signed(-33'sh2000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@42001.8]
+  assign _T_160 = $signed(_T_159); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@42002.8]
+  assign _T_161 = $signed(_T_160) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@42003.8]
+  assign _T_162 = _T_96 | _T_101; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42004.8]
+  assign _T_163 = _T_162 | _T_106; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42005.8]
+  assign _T_164 = _T_163 | _T_111; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42006.8]
+  assign _T_165 = _T_164 | _T_116; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42007.8]
+  assign _T_179 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42021.8]
+  assign _T_184 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42034.8]
+  assign _T_185 = _T_184 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42035.8]
+  assign _T_188 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42042.8]
+  assign _T_189 = _T_188 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42043.8]
+  assign _T_191 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42049.8]
+  assign _T_192 = _T_191 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42050.8]
+  assign _T_193 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@42055.8]
+  assign _T_195 = _T_193 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42057.8]
+  assign _T_196 = _T_195 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42058.8]
+  assign _T_197 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@42063.8]
+  assign _T_198 = _T_197 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@42064.8]
+  assign _T_200 = _T_198 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42066.8]
+  assign _T_201 = _T_200 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42067.8]
+  assign _T_202 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@42072.8]
+  assign _T_204 = _T_202 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42074.8]
+  assign _T_205 = _T_204 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42075.8]
+  assign _T_206 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@42081.6]
+  assign _T_313 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@42213.8]
+  assign _T_315 = _T_313 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42215.8]
+  assign _T_316 = _T_315 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42216.8]
+  assign _T_326 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@42239.6]
+  assign _T_328 = io_in_a_bits_size <= 4'hc; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42242.8]
+  assign _T_336 = _T_328 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@42250.8]
+  assign _T_338 = io_in_a_bits_size <= 4'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42252.8]
+  assign _T_406 = _T_101 | _T_106; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42320.8]
+  assign _T_407 = _T_406 | _T_111; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42321.8]
+  assign _T_408 = _T_407 | _T_116; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42322.8]
+  assign _T_409 = _T_408 | _T_121; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42323.8]
+  assign _T_410 = _T_409 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42324.8]
+  assign _T_411 = _T_410 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42325.8]
+  assign _T_412 = _T_411 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42326.8]
+  assign _T_413 = _T_412 | _T_141; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42327.8]
+  assign _T_414 = _T_413 | _T_146; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42328.8]
+  assign _T_415 = _T_414 | _T_151; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42329.8]
+  assign _T_416 = _T_415 | _T_156; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42330.8]
+  assign _T_417 = _T_416 | _T_161; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42331.8]
+  assign _T_418 = _T_338 & _T_417; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@42332.8]
+  assign _T_420 = _T_336 | _T_418; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@42334.8]
+  assign _T_422 = _T_420 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42336.8]
+  assign _T_423 = _T_422 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42337.8]
+  assign _T_430 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@42356.8]
+  assign _T_432 = _T_430 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42358.8]
+  assign _T_433 = _T_432 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42359.8]
+  assign _T_434 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@42364.8]
+  assign _T_436 = _T_434 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42366.8]
+  assign _T_437 = _T_436 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42367.8]
+  assign _T_442 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@42381.6]
+  assign _T_515 = _T_408 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42455.8]
+  assign _T_516 = _T_515 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42456.8]
+  assign _T_517 = _T_516 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42457.8]
+  assign _T_518 = _T_517 | _T_141; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42458.8]
+  assign _T_519 = _T_518 | _T_146; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42459.8]
+  assign _T_520 = _T_519 | _T_151; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42460.8]
+  assign _T_521 = _T_520 | _T_156; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42461.8]
+  assign _T_522 = _T_338 & _T_521; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@42462.8]
+  assign _T_537 = _T_336 | _T_522; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@42477.8]
+  assign _T_540 = _T_537 | reset; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42480.8]
+  assign _T_541 = _T_540 == 1'h0; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42481.8]
+  assign _T_556 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@42517.6]
+  assign _T_666 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@42644.8]
+  assign _T_667 = io_in_a_bits_mask & _T_666; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@42645.8]
+  assign _T_668 = _T_667 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@42646.8]
+  assign _T_670 = _T_668 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42648.8]
+  assign _T_671 = _T_670 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42649.8]
+  assign _T_672 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@42655.6]
+  assign _T_674 = io_in_a_bits_size <= 4'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42658.8]
+  assign _T_741 = _T_165 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42725.8]
+  assign _T_742 = _T_741 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42726.8]
+  assign _T_743 = _T_742 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42727.8]
+  assign _T_744 = _T_743 | _T_141; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42728.8]
+  assign _T_745 = _T_744 | _T_146; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42729.8]
+  assign _T_746 = _T_745 | _T_151; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42730.8]
+  assign _T_747 = _T_746 | _T_156; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42731.8]
+  assign _T_748 = _T_674 & _T_747; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@42732.8]
+  assign _T_765 = _T_748 | reset; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42749.8]
+  assign _T_766 = _T_765 == 1'h0; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42750.8]
+  assign _T_773 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@42769.8]
+  assign _T_775 = _T_773 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42771.8]
+  assign _T_776 = _T_775 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42772.8]
+  assign _T_781 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@42786.6]
+  assign _T_882 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@42900.8]
+  assign _T_884 = _T_882 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42902.8]
+  assign _T_885 = _T_884 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42903.8]
+  assign _T_890 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@42917.6]
+  assign _T_983 = _T_336 | reset; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43011.8]
+  assign _T_984 = _T_983 == 1'h0; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43012.8]
+  assign _T_999 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@43050.6]
+  assign _T_1001 = _T_999 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@43052.6]
+  assign _T_1002 = _T_1001 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@43053.6]
+  assign _T_1004 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@43059.6]
+  assign _T_1013 = io_in_d_bits_source | _T_1004; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@43064.6]
+  assign _T_1015 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@43066.6]
+  assign _T_1017 = _T_1013 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43069.8]
+  assign _T_1018 = _T_1017 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43070.8]
+  assign _T_1019 = io_in_d_bits_size >= 4'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@43075.8]
+  assign _T_1021 = _T_1019 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43077.8]
+  assign _T_1022 = _T_1021 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43078.8]
+  assign _T_1023 = io_in_d_bits_param == 2'h0; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@43083.8]
+  assign _T_1025 = _T_1023 | reset; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43085.8]
+  assign _T_1026 = _T_1025 == 1'h0; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43086.8]
+  assign _T_1027 = io_in_d_bits_corrupt == 1'h0; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@43091.8]
+  assign _T_1029 = _T_1027 | reset; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43093.8]
+  assign _T_1030 = _T_1029 == 1'h0; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43094.8]
+  assign _T_1031 = io_in_d_bits_denied == 1'h0; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@43099.8]
+  assign _T_1033 = _T_1031 | reset; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43101.8]
+  assign _T_1034 = _T_1033 == 1'h0; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43102.8]
+  assign _T_1035 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@43108.6]
+  assign _T_1046 = io_in_d_bits_param <= 2'h2; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@43132.8]
+  assign _T_1048 = _T_1046 | reset; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43134.8]
+  assign _T_1049 = _T_1048 == 1'h0; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43135.8]
+  assign _T_1050 = io_in_d_bits_param != 2'h2; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@43140.8]
+  assign _T_1052 = _T_1050 | reset; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43142.8]
+  assign _T_1053 = _T_1052 == 1'h0; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43143.8]
+  assign _T_1063 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@43166.6]
+  assign _T_1083 = _T_1031 | io_in_d_bits_corrupt; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@43207.8]
+  assign _T_1085 = _T_1083 | reset; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43209.8]
+  assign _T_1086 = _T_1085 == 1'h0; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43210.8]
+  assign _T_1092 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@43225.6]
+  assign _T_1109 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@43260.6]
+  assign _T_1127 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@43296.6]
+  assign _T_1156 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@43356.4]
+  assign _T_1161 = _T_34[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@43361.4]
+  assign _T_1162 = io_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@43362.4]
+  assign _T_1163 = _T_1162 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@43363.4]
+  assign _T_1167 = _T_1166 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@43366.4]
+  assign _T_1168 = $unsigned(_T_1167); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@43367.4]
+  assign _T_1169 = _T_1168[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@43368.4]
+  assign _T_1170 = _T_1166 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@43369.4]
+  assign _T_1188 = _T_1170 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@43385.4]
+  assign _T_1189 = io_in_a_valid & _T_1188; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@43386.4]
+  assign _T_1190 = io_in_a_bits_opcode == _T_1179; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@43388.6]
+  assign _T_1192 = _T_1190 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43390.6]
+  assign _T_1193 = _T_1192 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43391.6]
+  assign _T_1194 = io_in_a_bits_param == _T_1181; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@43396.6]
+  assign _T_1196 = _T_1194 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43398.6]
+  assign _T_1197 = _T_1196 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43399.6]
+  assign _T_1198 = io_in_a_bits_size == _T_1183; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@43404.6]
+  assign _T_1200 = _T_1198 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43406.6]
+  assign _T_1201 = _T_1200 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43407.6]
+  assign _T_1202 = io_in_a_bits_source == _T_1185; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@43412.6]
+  assign _T_1204 = _T_1202 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43414.6]
+  assign _T_1205 = _T_1204 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43415.6]
+  assign _T_1206 = io_in_a_bits_address == _T_1187; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@43420.6]
+  assign _T_1208 = _T_1206 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43422.6]
+  assign _T_1209 = _T_1208 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43423.6]
+  assign _T_1211 = _T_1156 & _T_1170; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@43430.4]
+  assign _T_1212 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@43438.4]
+  assign _T_1214 = 27'hfff << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@43440.4]
+  assign _T_1215 = _T_1214[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@43441.4]
+  assign _T_1216 = ~ _T_1215; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@43442.4]
+  assign _T_1217 = _T_1216[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@43443.4]
+  assign _T_1218 = io_in_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@43444.4]
+  assign _T_1222 = _T_1221 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@43447.4]
+  assign _T_1223 = $unsigned(_T_1222); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@43448.4]
+  assign _T_1224 = _T_1223[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@43449.4]
+  assign _T_1225 = _T_1221 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@43450.4]
+  assign _T_1245 = _T_1225 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@43467.4]
+  assign _T_1246 = io_in_d_valid & _T_1245; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@43468.4]
+  assign _T_1247 = io_in_d_bits_opcode == _T_1234; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@43470.6]
+  assign _T_1249 = _T_1247 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43472.6]
+  assign _T_1250 = _T_1249 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43473.6]
+  assign _T_1251 = io_in_d_bits_param == _T_1236; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@43478.6]
+  assign _T_1253 = _T_1251 | reset; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43480.6]
+  assign _T_1254 = _T_1253 == 1'h0; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43481.6]
+  assign _T_1255 = io_in_d_bits_size == _T_1238; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@43486.6]
+  assign _T_1257 = _T_1255 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43488.6]
+  assign _T_1258 = _T_1257 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43489.6]
+  assign _T_1259 = io_in_d_bits_source == _T_1240; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@43494.6]
+  assign _T_1261 = _T_1259 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43496.6]
+  assign _T_1262 = _T_1261 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43497.6]
+  assign _T_1263 = io_in_d_bits_sink == _T_1242; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@43502.6]
+  assign _T_1265 = _T_1263 | reset; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43504.6]
+  assign _T_1266 = _T_1265 == 1'h0; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43505.6]
+  assign _T_1267 = io_in_d_bits_denied == _T_1244; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@43510.6]
+  assign _T_1269 = _T_1267 | reset; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43512.6]
+  assign _T_1270 = _T_1269 == 1'h0; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43513.6]
+  assign _T_1272 = _T_1212 & _T_1225; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@43520.4]
+  assign _T_1286 = _T_1285 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@43540.4]
+  assign _T_1287 = $unsigned(_T_1286); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@43541.4]
+  assign _T_1288 = _T_1287[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@43542.4]
+  assign _T_1289 = _T_1285 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@43543.4]
+  assign _T_1307 = _T_1306 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@43563.4]
+  assign _T_1308 = $unsigned(_T_1307); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@43564.4]
+  assign _T_1309 = _T_1308[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@43565.4]
+  assign _T_1310 = _T_1306 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@43566.4]
+  assign _T_1321 = _T_1156 & _T_1289; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@43581.4]
+  assign _T_1323 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@43584.6]
+  assign _T_1324 = _T_1274 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@43586.6]
+  assign _T_1325 = _T_1324[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@43587.6]
+  assign _T_1326 = _T_1325 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43588.6]
+  assign _T_1328 = _T_1326 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@43590.6]
+  assign _T_1329 = _T_1328 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@43591.6]
+  assign _GEN_15 = _T_1321 ? _T_1323 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@43583.4]
+  assign _T_1334 = _T_1212 & _T_1310; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@43602.4]
+  assign _T_1336 = _T_1015 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@43604.4]
+  assign _T_1337 = _T_1334 & _T_1336; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@43605.4]
+  assign _T_1338 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@43607.6]
+  assign _T_1339 = _GEN_15 | _T_1274; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@43609.6]
+  assign _T_1340 = _T_1339 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@43610.6]
+  assign _T_1341 = _T_1340[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@43611.6]
+  assign _T_1343 = _T_1341 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@43613.6]
+  assign _T_1344 = _T_1343 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@43614.6]
+  assign _GEN_16 = _T_1337 ? _T_1338 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@43606.4]
+  assign _T_1345 = _GEN_15 != _GEN_16; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@43620.4]
+  assign _T_1346 = _GEN_15 != 2'h0; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@43621.4]
+  assign _T_1347 = _T_1346 == 1'h0; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@43622.4]
+  assign _T_1348 = _T_1345 | _T_1347; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@43623.4]
+  assign _T_1350 = _T_1348 | reset; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@43625.4]
+  assign _T_1351 = _T_1350 == 1'h0; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@43626.4]
+  assign _T_1352 = _T_1274 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@43631.4]
+  assign _T_1353 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@43632.4]
+  assign _T_1354 = _T_1352 & _T_1353; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@43633.4]
+  assign _T_1357 = _T_1274 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@43638.4]
+  assign _T_1358 = _T_1357 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@43639.4]
+  assign _T_1359 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@43640.4]
+  assign _T_1360 = _T_1358 | _T_1359; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@43641.4]
+  assign _T_1361 = _T_1356 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@43642.4]
+  assign _T_1362 = _T_1360 | _T_1361; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@43643.4]
+  assign _T_1364 = _T_1362 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@43645.4]
+  assign _T_1365 = _T_1364 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@43646.4]
+  assign _T_1367 = _T_1356 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@43652.4]
+  assign _T_1370 = _T_1156 | _T_1212; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@43656.4]
+  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42023.10]
+  assign _GEN_35 = io_in_a_valid & _T_206; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42173.10]
+  assign _GEN_53 = io_in_a_valid & _T_326; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42339.10]
+  assign _GEN_65 = io_in_a_valid & _T_442; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42483.10]
+  assign _GEN_75 = io_in_a_valid & _T_556; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42619.10]
+  assign _GEN_85 = io_in_a_valid & _T_672; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42752.10]
+  assign _GEN_95 = io_in_a_valid & _T_781; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42883.10]
+  assign _GEN_105 = io_in_a_valid & _T_890; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43014.10]
+  assign _GEN_115 = io_in_d_valid & _T_1015; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43072.10]
+  assign _GEN_125 = io_in_d_valid & _T_1035; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43114.10]
+  assign _GEN_137 = io_in_d_valid & _T_1063; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43172.10]
+  assign _GEN_149 = io_in_d_valid & _T_1092; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43231.10]
+  assign _GEN_155 = io_in_d_valid & _T_1109; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43266.10]
+  assign _GEN_161 = io_in_d_valid & _T_1127; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43302.10]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  _T_1166 = _RAND_0[9:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  _T_1179 = _RAND_1[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  _T_1181 = _RAND_2[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  _T_1183 = _RAND_3[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  _T_1185 = _RAND_4[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  _T_1187 = _RAND_5[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {1{`RANDOM}};
+  _T_1221 = _RAND_6[9:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {1{`RANDOM}};
+  _T_1234 = _RAND_7[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_8 = {1{`RANDOM}};
+  _T_1236 = _RAND_8[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_9 = {1{`RANDOM}};
+  _T_1238 = _RAND_9[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_10 = {1{`RANDOM}};
+  _T_1240 = _RAND_10[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_11 = {1{`RANDOM}};
+  _T_1242 = _RAND_11[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_12 = {1{`RANDOM}};
+  _T_1244 = _RAND_12[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_13 = {1{`RANDOM}};
+  _T_1274 = _RAND_13[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_14 = {1{`RANDOM}};
+  _T_1285 = _RAND_14[9:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_15 = {1{`RANDOM}};
+  _T_1306 = _RAND_15[9:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_16 = {1{`RANDOM}};
+  _T_1356 = _RAND_16[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      _T_1166 <= 10'h0;
+    end else begin
+      if (_T_1156) begin
+        if (_T_1170) begin
+          if (_T_1163) begin
+            _T_1166 <= _T_1161;
+          end else begin
+            _T_1166 <= 10'h0;
+          end
+        end else begin
+          _T_1166 <= _T_1169;
+        end
+      end
+    end
+    if (_T_1211) begin
+      _T_1179 <= io_in_a_bits_opcode;
+    end
+    if (_T_1211) begin
+      _T_1181 <= io_in_a_bits_param;
+    end
+    if (_T_1211) begin
+      _T_1183 <= io_in_a_bits_size;
+    end
+    if (_T_1211) begin
+      _T_1185 <= io_in_a_bits_source;
+    end
+    if (_T_1211) begin
+      _T_1187 <= io_in_a_bits_address;
+    end
+    if (reset) begin
+      _T_1221 <= 10'h0;
+    end else begin
+      if (_T_1212) begin
+        if (_T_1225) begin
+          if (_T_1218) begin
+            _T_1221 <= _T_1217;
+          end else begin
+            _T_1221 <= 10'h0;
+          end
+        end else begin
+          _T_1221 <= _T_1224;
+        end
+      end
+    end
+    if (_T_1272) begin
+      _T_1234 <= io_in_d_bits_opcode;
+    end
+    if (_T_1272) begin
+      _T_1236 <= io_in_d_bits_param;
+    end
+    if (_T_1272) begin
+      _T_1238 <= io_in_d_bits_size;
+    end
+    if (_T_1272) begin
+      _T_1240 <= io_in_d_bits_source;
+    end
+    if (_T_1272) begin
+      _T_1242 <= io_in_d_bits_sink;
+    end
+    if (_T_1272) begin
+      _T_1244 <= io_in_d_bits_denied;
+    end
+    if (reset) begin
+      _T_1274 <= 2'h0;
+    end else begin
+      _T_1274 <= _T_1354;
+    end
+    if (reset) begin
+      _T_1285 <= 10'h0;
+    end else begin
+      if (_T_1156) begin
+        if (_T_1289) begin
+          if (_T_1163) begin
+            _T_1285 <= _T_1161;
+          end else begin
+            _T_1285 <= 10'h0;
+          end
+        end else begin
+          _T_1285 <= _T_1288;
+        end
+      end
+    end
+    if (reset) begin
+      _T_1306 <= 10'h0;
+    end else begin
+      if (_T_1212) begin
+        if (_T_1310) begin
+          if (_T_1218) begin
+            _T_1306 <= _T_1217;
+          end else begin
+            _T_1306 <= 10'h0;
+          end
+        end else begin
+          _T_1306 <= _T_1309;
+        end
+      end
+    end
+    if (reset) begin
+      _T_1356 <= 32'h0;
+    end else begin
+      if (_T_1370) begin
+        _T_1356 <= 32'h0;
+      end else begin
+        _T_1356 <= _T_1367;
+      end
+    end
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at SystemBus.scala:68:49)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@41858.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@41859.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@41928.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@41929.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_179) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at SystemBus.scala:68:49)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42023.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_179) begin
+          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42024.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_179) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at SystemBus.scala:68:49)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42030.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_179) begin
+          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42031.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_185) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at SystemBus.scala:68:49)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42037.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_185) begin
+          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42038.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_189) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at SystemBus.scala:68:49)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42045.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_189) begin
+          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42046.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_192) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at SystemBus.scala:68:49)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42052.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_192) begin
+          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42053.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_196) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at SystemBus.scala:68:49)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42060.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_196) begin
+          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42061.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_201) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at SystemBus.scala:68:49)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42069.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_201) begin
+          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42070.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_205) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at SystemBus.scala:68:49)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42077.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_205) begin
+          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42078.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_179) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at SystemBus.scala:68:49)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42173.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_179) begin
+          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42174.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_179) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at SystemBus.scala:68:49)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42180.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_179) begin
+          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42181.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_185) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at SystemBus.scala:68:49)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42187.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_185) begin
+          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42188.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_189) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at SystemBus.scala:68:49)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42195.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_189) begin
+          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42196.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_192) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at SystemBus.scala:68:49)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42202.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_192) begin
+          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42203.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_196) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at SystemBus.scala:68:49)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42210.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_196) begin
+          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42211.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_316) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at SystemBus.scala:68:49)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42218.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_316) begin
+          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42219.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_201) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at SystemBus.scala:68:49)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42227.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_201) begin
+          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42228.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_205) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at SystemBus.scala:68:49)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42235.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_205) begin
+          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42236.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_423) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at SystemBus.scala:68:49)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42339.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_423) begin
+          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42340.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_185) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at SystemBus.scala:68:49)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42346.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_185) begin
+          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42347.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_192) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at SystemBus.scala:68:49)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42353.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_192) begin
+          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42354.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_433) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at SystemBus.scala:68:49)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42361.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_433) begin
+          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42362.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_437) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at SystemBus.scala:68:49)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42369.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_437) begin
+          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42370.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_205) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at SystemBus.scala:68:49)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42377.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_205) begin
+          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42378.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_541) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at SystemBus.scala:68:49)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42483.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_541) begin
+          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42484.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_185) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at SystemBus.scala:68:49)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42490.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_185) begin
+          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42491.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_192) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at SystemBus.scala:68:49)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42497.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_192) begin
+          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42498.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_433) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at SystemBus.scala:68:49)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42505.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_433) begin
+          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42506.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_437) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at SystemBus.scala:68:49)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42513.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_437) begin
+          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42514.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_541) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at SystemBus.scala:68:49)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42619.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_541) begin
+          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42620.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_185) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at SystemBus.scala:68:49)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42626.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_185) begin
+          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42627.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_192) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at SystemBus.scala:68:49)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42633.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_192) begin
+          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42634.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_433) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at SystemBus.scala:68:49)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42641.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_433) begin
+          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42642.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_671) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at SystemBus.scala:68:49)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42651.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_671) begin
+          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42652.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_766) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at SystemBus.scala:68:49)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42752.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_766) begin
+          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42753.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_185) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at SystemBus.scala:68:49)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42759.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_185) begin
+          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42760.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_192) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at SystemBus.scala:68:49)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42766.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_192) begin
+          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42767.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_776) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at SystemBus.scala:68:49)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42774.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_776) begin
+          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42775.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_437) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at SystemBus.scala:68:49)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42782.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_437) begin
+          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42783.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_766) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at SystemBus.scala:68:49)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42883.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_766) begin
+          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42884.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_185) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at SystemBus.scala:68:49)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42890.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_185) begin
+          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42891.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_192) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at SystemBus.scala:68:49)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42897.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_192) begin
+          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42898.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_885) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at SystemBus.scala:68:49)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42905.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_885) begin
+          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42906.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_437) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at SystemBus.scala:68:49)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42913.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_437) begin
+          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42914.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_984) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at SystemBus.scala:68:49)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43014.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_984) begin
+          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43015.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_185) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at SystemBus.scala:68:49)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43021.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_185) begin
+          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43022.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_192) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at SystemBus.scala:68:49)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43028.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_192) begin
+          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43029.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_437) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at SystemBus.scala:68:49)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43036.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_437) begin
+          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43037.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_205) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at SystemBus.scala:68:49)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43044.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_205) begin
+          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43045.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1002) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at SystemBus.scala:68:49)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@43055.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1002) begin
+          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@43056.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_1018) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at SystemBus.scala:68:49)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43072.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_1018) begin
+          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43073.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_1022) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at SystemBus.scala:68:49)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43080.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_1022) begin
+          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43081.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_1026) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at SystemBus.scala:68:49)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43088.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_1026) begin
+          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43089.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_1030) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at SystemBus.scala:68:49)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43096.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_1030) begin
+          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43097.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_1034) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at SystemBus.scala:68:49)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43104.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_1034) begin
+          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43105.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_1018) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at SystemBus.scala:68:49)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43114.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_1018) begin
+          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43115.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_179) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at SystemBus.scala:68:49)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43121.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_179) begin
+          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43122.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_1022) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at SystemBus.scala:68:49)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43129.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_1022) begin
+          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43130.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_1049) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at SystemBus.scala:68:49)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43137.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_1049) begin
+          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43138.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_1053) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at SystemBus.scala:68:49)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43145.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_1053) begin
+          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43146.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_1030) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at SystemBus.scala:68:49)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43153.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_1030) begin
+          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43154.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at SystemBus.scala:68:49)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43162.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43163.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_137 & _T_1018) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at SystemBus.scala:68:49)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43172.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_137 & _T_1018) begin
+          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43173.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_137 & _T_179) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at SystemBus.scala:68:49)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43179.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_137 & _T_179) begin
+          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43180.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_137 & _T_1022) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at SystemBus.scala:68:49)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43187.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_137 & _T_1022) begin
+          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43188.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_137 & _T_1049) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at SystemBus.scala:68:49)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43195.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_137 & _T_1049) begin
+          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43196.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_137 & _T_1053) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at SystemBus.scala:68:49)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43203.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_137 & _T_1053) begin
+          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43204.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_137 & _T_1086) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at SystemBus.scala:68:49)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43212.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_137 & _T_1086) begin
+          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43213.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at SystemBus.scala:68:49)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43221.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43222.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_149 & _T_1018) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at SystemBus.scala:68:49)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43231.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_149 & _T_1018) begin
+          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43232.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_149 & _T_1026) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at SystemBus.scala:68:49)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43239.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_149 & _T_1026) begin
+          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43240.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_149 & _T_1030) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at SystemBus.scala:68:49)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43247.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_149 & _T_1030) begin
+          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43248.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at SystemBus.scala:68:49)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43256.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43257.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_155 & _T_1018) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at SystemBus.scala:68:49)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43266.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_155 & _T_1018) begin
+          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43267.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_155 & _T_1026) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at SystemBus.scala:68:49)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43274.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_155 & _T_1026) begin
+          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43275.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_155 & _T_1086) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at SystemBus.scala:68:49)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43283.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_155 & _T_1086) begin
+          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43284.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at SystemBus.scala:68:49)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43292.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43293.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_161 & _T_1018) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at SystemBus.scala:68:49)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43302.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_161 & _T_1018) begin
+          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43303.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_161 & _T_1026) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at SystemBus.scala:68:49)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43310.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_161 & _T_1026) begin
+          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43311.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_161 & _T_1030) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at SystemBus.scala:68:49)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43318.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_161 & _T_1030) begin
+          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43319.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at SystemBus.scala:68:49)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43327.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43328.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at SystemBus.scala:68:49)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43337.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43338.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at SystemBus.scala:68:49)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43345.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43346.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at SystemBus.scala:68:49)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43353.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43354.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1189 & _T_1193) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at SystemBus.scala:68:49)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43393.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1189 & _T_1193) begin
+          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43394.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1189 & _T_1197) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at SystemBus.scala:68:49)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43401.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1189 & _T_1197) begin
+          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43402.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1189 & _T_1201) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at SystemBus.scala:68:49)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43409.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1189 & _T_1201) begin
+          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43410.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1189 & _T_1205) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at SystemBus.scala:68:49)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43417.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1189 & _T_1205) begin
+          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43418.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1189 & _T_1209) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at SystemBus.scala:68:49)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43425.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1189 & _T_1209) begin
+          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43426.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1246 & _T_1250) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at SystemBus.scala:68:49)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43475.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1246 & _T_1250) begin
+          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43476.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1246 & _T_1254) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at SystemBus.scala:68:49)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43483.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1246 & _T_1254) begin
+          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43484.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1246 & _T_1258) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at SystemBus.scala:68:49)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43491.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1246 & _T_1258) begin
+          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43492.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1246 & _T_1262) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at SystemBus.scala:68:49)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43499.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1246 & _T_1262) begin
+          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43500.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1246 & _T_1266) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at SystemBus.scala:68:49)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43507.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1246 & _T_1266) begin
+          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43508.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1246 & _T_1270) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at SystemBus.scala:68:49)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43515.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1246 & _T_1270) begin
+          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43516.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1321 & _T_1329) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at SystemBus.scala:68:49)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@43593.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1321 & _T_1329) begin
+          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@43594.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1337 & _T_1344) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at SystemBus.scala:68:49)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@43616.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1337 & _T_1344) begin
+          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@43617.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1351) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' and 'D' concurrent, despite minlatency 2 (connected at SystemBus.scala:68:49)\n    at Monitor.scala:471 assert(a_set =/= d_clr || !a_set.orR, s\"'A' and 'D' concurrent, despite minlatency ${edge.manager.minLatency}\" + extra)\n"); // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@43628.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1351) begin
+          $fatal; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@43629.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1365) begin
+          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at SystemBus.scala:68:49)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@43648.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1365) begin
+          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@43649.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+endmodule
+module TLBuffer_9( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43661.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43662.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43663.4]
+  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43664.4]
+  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43664.4]
+  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43664.4]
+  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43664.4]
+  input  [3:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43664.4]
+  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43664.4]
+  input  [31:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43664.4]
+  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43664.4]
+  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43664.4]
+  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43664.4]
+  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43664.4]
+  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43664.4]
+  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43664.4]
+  output [1:0]  auto_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43664.4]
+  output [3:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43664.4]
+  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43664.4]
+  output        auto_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43664.4]
+  output        auto_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43664.4]
+  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43664.4]
+  output        auto_in_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43664.4]
+  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43664.4]
+  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43664.4]
+  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43664.4]
+  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43664.4]
+  output [3:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43664.4]
+  output        auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43664.4]
+  output [31:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43664.4]
+  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43664.4]
+  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43664.4]
+  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43664.4]
+  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43664.4]
+  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43664.4]
+  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43664.4]
+  input  [1:0]  auto_out_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43664.4]
+  input  [3:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43664.4]
+  input         auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43664.4]
+  input         auto_out_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43664.4]
+  input         auto_out_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43664.4]
+  input  [31:0] auto_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43664.4]
+  input         auto_out_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43664.4]
+);
+  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@43671.4]
+  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@43671.4]
+  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@43671.4]
+  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@43671.4]
+  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@43671.4]
+  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@43671.4]
+  wire [3:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@43671.4]
+  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@43671.4]
+  wire [31:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@43671.4]
+  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@43671.4]
+  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@43671.4]
+  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@43671.4]
+  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@43671.4]
+  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@43671.4]
+  wire [1:0] TLMonitor_io_in_d_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@43671.4]
+  wire [3:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@43671.4]
+  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@43671.4]
+  wire  TLMonitor_io_in_d_bits_sink; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@43671.4]
+  wire  TLMonitor_io_in_d_bits_denied; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@43671.4]
+  wire  TLMonitor_io_in_d_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@43671.4]
+  TLMonitor_24 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@43671.4]
+    .clock(TLMonitor_clock),
+    .reset(TLMonitor_reset),
+    .io_in_a_ready(TLMonitor_io_in_a_ready),
+    .io_in_a_valid(TLMonitor_io_in_a_valid),
+    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
+    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
+    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
+    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
+    .io_in_d_ready(TLMonitor_io_in_d_ready),
+    .io_in_d_valid(TLMonitor_io_in_d_valid),
+    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
+    .io_in_d_bits_param(TLMonitor_io_in_d_bits_param),
+    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
+    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source),
+    .io_in_d_bits_sink(TLMonitor_io_in_d_bits_sink),
+    .io_in_d_bits_denied(TLMonitor_io_in_d_bits_denied),
+    .io_in_d_bits_corrupt(TLMonitor_io_in_d_bits_corrupt)
+  );
+  assign auto_in_a_ready = auto_out_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@43711.4]
+  assign auto_in_d_valid = auto_out_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@43711.4]
+  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@43711.4]
+  assign auto_in_d_bits_param = auto_out_d_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@43711.4]
+  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@43711.4]
+  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@43711.4]
+  assign auto_in_d_bits_sink = auto_out_d_bits_sink; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@43711.4]
+  assign auto_in_d_bits_denied = auto_out_d_bits_denied; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@43711.4]
+  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@43711.4]
+  assign auto_in_d_bits_corrupt = auto_out_d_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@43711.4]
+  assign auto_out_a_valid = auto_in_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@43710.4]
+  assign auto_out_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@43710.4]
+  assign auto_out_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@43710.4]
+  assign auto_out_a_bits_size = auto_in_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@43710.4]
+  assign auto_out_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@43710.4]
+  assign auto_out_a_bits_address = auto_in_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@43710.4]
+  assign auto_out_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@43710.4]
+  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@43710.4]
+  assign auto_out_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@43710.4]
+  assign auto_out_d_ready = auto_in_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@43710.4]
+  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43673.4]
+  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43674.4]
+  assign TLMonitor_io_in_a_ready = auto_out_a_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@43707.4]
+  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@43707.4]
+  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@43707.4]
+  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@43707.4]
+  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@43707.4]
+  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@43707.4]
+  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@43707.4]
+  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@43707.4]
+  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@43707.4]
+  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@43707.4]
+  assign TLMonitor_io_in_d_valid = auto_out_d_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@43707.4]
+  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@43707.4]
+  assign TLMonitor_io_in_d_bits_param = auto_out_d_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@43707.4]
+  assign TLMonitor_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@43707.4]
+  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@43707.4]
+  assign TLMonitor_io_in_d_bits_sink = auto_out_d_bits_sink; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@43707.4]
+  assign TLMonitor_io_in_d_bits_denied = auto_out_d_bits_denied; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@43707.4]
+  assign TLMonitor_io_in_d_bits_corrupt = auto_out_d_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@43707.4]
+endmodule
+module TLMonitor_25( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43728.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43729.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43730.4]
+  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43731.4]
+  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43731.4]
+  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43731.4]
+  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43731.4]
+  input  [3:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43731.4]
+  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43731.4]
+  input  [31:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43731.4]
+  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43731.4]
+  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43731.4]
+  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43731.4]
+  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43731.4]
+  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43731.4]
+  input  [1:0]  io_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43731.4]
+  input  [3:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43731.4]
+  input         io_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43731.4]
+  input         io_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43731.4]
+  input         io_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43731.4]
+  input         io_in_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43731.4]
+);
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@45521.4]
+  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@43747.6]
+  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@43752.6]
+  wire [26:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@43754.6]
+  wire [11:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@43755.6]
+  wire [11:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@43756.6]
+  wire [31:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@43757.6]
+  wire [31:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@43757.6]
+  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@43758.6]
+  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@43760.6]
+  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@43761.6]
+  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@43763.6]
+  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@43764.6]
+  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@43765.6]
+  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@43766.6]
+  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@43767.6]
+  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@43769.6]
+  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@43770.6]
+  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@43772.6]
+  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@43773.6]
+  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@43774.6]
+  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@43775.6]
+  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@43776.6]
+  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@43777.6]
+  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@43778.6]
+  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@43779.6]
+  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@43780.6]
+  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@43781.6]
+  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@43782.6]
+  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@43783.6]
+  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@43784.6]
+  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@43785.6]
+  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@43786.6]
+  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@43787.6]
+  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@43788.6]
+  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@43789.6]
+  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@43790.6]
+  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@43791.6]
+  wire [32:0] _T_73; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@43795.6]
+  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@43816.6]
+  wire [31:0] _T_92; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@43819.8]
+  wire [32:0] _T_93; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@43820.8]
+  wire [32:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@43821.8]
+  wire [32:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@43822.8]
+  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@43823.8]
+  wire [31:0] _T_97; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@43824.8]
+  wire [32:0] _T_98; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@43825.8]
+  wire [32:0] _T_99; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@43826.8]
+  wire [32:0] _T_100; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@43827.8]
+  wire  _T_101; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@43828.8]
+  wire [31:0] _T_102; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@43829.8]
+  wire [32:0] _T_103; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@43830.8]
+  wire [32:0] _T_104; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@43831.8]
+  wire [32:0] _T_105; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@43832.8]
+  wire  _T_106; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@43833.8]
+  wire [31:0] _T_107; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@43834.8]
+  wire [32:0] _T_108; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@43835.8]
+  wire [32:0] _T_109; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@43836.8]
+  wire [32:0] _T_110; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@43837.8]
+  wire  _T_111; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@43838.8]
+  wire [31:0] _T_112; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@43839.8]
+  wire [32:0] _T_113; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@43840.8]
+  wire [32:0] _T_114; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@43841.8]
+  wire [32:0] _T_115; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@43842.8]
+  wire  _T_116; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@43843.8]
+  wire [31:0] _T_117; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@43844.8]
+  wire [32:0] _T_118; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@43845.8]
+  wire [32:0] _T_119; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@43846.8]
+  wire [32:0] _T_120; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@43847.8]
+  wire  _T_121; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@43848.8]
+  wire [31:0] _T_122; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@43849.8]
+  wire [32:0] _T_123; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@43850.8]
+  wire [32:0] _T_124; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@43851.8]
+  wire [32:0] _T_125; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@43852.8]
+  wire  _T_126; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@43853.8]
+  wire [31:0] _T_127; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@43854.8]
+  wire [32:0] _T_128; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@43855.8]
+  wire [32:0] _T_129; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@43856.8]
+  wire [32:0] _T_130; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@43857.8]
+  wire  _T_131; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@43858.8]
+  wire [31:0] _T_132; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@43859.8]
+  wire [32:0] _T_133; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@43860.8]
+  wire [32:0] _T_134; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@43861.8]
+  wire [32:0] _T_135; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@43862.8]
+  wire  _T_136; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@43863.8]
+  wire [31:0] _T_137; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@43864.8]
+  wire [32:0] _T_138; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@43865.8]
+  wire [32:0] _T_139; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@43866.8]
+  wire [32:0] _T_140; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@43867.8]
+  wire  _T_141; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@43868.8]
+  wire [32:0] _T_144; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@43871.8]
+  wire [32:0] _T_145; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@43872.8]
+  wire  _T_146; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@43873.8]
+  wire [31:0] _T_147; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@43874.8]
+  wire [32:0] _T_148; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@43875.8]
+  wire [32:0] _T_149; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@43876.8]
+  wire [32:0] _T_150; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@43877.8]
+  wire  _T_151; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@43878.8]
+  wire [31:0] _T_152; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@43879.8]
+  wire [32:0] _T_153; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@43880.8]
+  wire [32:0] _T_154; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@43881.8]
+  wire [32:0] _T_155; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@43882.8]
+  wire  _T_156; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@43883.8]
+  wire [31:0] _T_157; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@43884.8]
+  wire [32:0] _T_158; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@43885.8]
+  wire [32:0] _T_159; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@43886.8]
+  wire [32:0] _T_160; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@43887.8]
+  wire  _T_161; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@43888.8]
+  wire  _T_162; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@43889.8]
+  wire  _T_163; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@43890.8]
+  wire  _T_164; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@43891.8]
+  wire  _T_165; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@43892.8]
+  wire  _T_179; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43906.8]
+  wire  _T_184; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43919.8]
+  wire  _T_185; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43920.8]
+  wire  _T_188; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43927.8]
+  wire  _T_189; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43928.8]
+  wire  _T_191; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43934.8]
+  wire  _T_192; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43935.8]
+  wire  _T_193; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@43940.8]
+  wire  _T_195; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43942.8]
+  wire  _T_196; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43943.8]
+  wire [3:0] _T_197; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@43948.8]
+  wire  _T_198; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@43949.8]
+  wire  _T_200; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43951.8]
+  wire  _T_201; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43952.8]
+  wire  _T_202; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@43957.8]
+  wire  _T_204; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43959.8]
+  wire  _T_205; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43960.8]
+  wire  _T_206; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@43966.6]
+  wire  _T_313; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@44098.8]
+  wire  _T_315; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44100.8]
+  wire  _T_316; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44101.8]
+  wire  _T_326; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@44124.6]
+  wire  _T_328; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44127.8]
+  wire  _T_336; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@44135.8]
+  wire  _T_338; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44137.8]
+  wire  _T_406; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44205.8]
+  wire  _T_407; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44206.8]
+  wire  _T_408; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44207.8]
+  wire  _T_409; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44208.8]
+  wire  _T_410; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44209.8]
+  wire  _T_411; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44210.8]
+  wire  _T_412; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44211.8]
+  wire  _T_413; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44212.8]
+  wire  _T_414; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44213.8]
+  wire  _T_415; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44214.8]
+  wire  _T_416; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44215.8]
+  wire  _T_417; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44216.8]
+  wire  _T_418; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@44217.8]
+  wire  _T_420; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@44219.8]
+  wire  _T_422; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44221.8]
+  wire  _T_423; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44222.8]
+  wire  _T_430; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@44241.8]
+  wire  _T_432; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44243.8]
+  wire  _T_433; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44244.8]
+  wire  _T_434; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@44249.8]
+  wire  _T_436; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44251.8]
+  wire  _T_437; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44252.8]
+  wire  _T_442; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@44266.6]
+  wire  _T_515; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44340.8]
+  wire  _T_516; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44341.8]
+  wire  _T_517; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44342.8]
+  wire  _T_518; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44343.8]
+  wire  _T_519; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44344.8]
+  wire  _T_520; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44345.8]
+  wire  _T_521; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44346.8]
+  wire  _T_522; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@44347.8]
+  wire  _T_537; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@44362.8]
+  wire  _T_540; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44365.8]
+  wire  _T_541; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44366.8]
+  wire  _T_556; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@44402.6]
+  wire [3:0] _T_666; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@44529.8]
+  wire [3:0] _T_667; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@44530.8]
+  wire  _T_668; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@44531.8]
+  wire  _T_670; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44533.8]
+  wire  _T_671; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44534.8]
+  wire  _T_672; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@44540.6]
+  wire  _T_674; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44543.8]
+  wire  _T_741; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44610.8]
+  wire  _T_742; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44611.8]
+  wire  _T_743; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44612.8]
+  wire  _T_744; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44613.8]
+  wire  _T_745; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44614.8]
+  wire  _T_746; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44615.8]
+  wire  _T_747; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44616.8]
+  wire  _T_748; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@44617.8]
+  wire  _T_765; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44634.8]
+  wire  _T_766; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44635.8]
+  wire  _T_773; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@44654.8]
+  wire  _T_775; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44656.8]
+  wire  _T_776; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44657.8]
+  wire  _T_781; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@44671.6]
+  wire  _T_882; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@44785.8]
+  wire  _T_884; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44787.8]
+  wire  _T_885; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44788.8]
+  wire  _T_890; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@44802.6]
+  wire  _T_983; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44896.8]
+  wire  _T_984; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44897.8]
+  wire  _T_999; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@44935.6]
+  wire  _T_1001; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@44937.6]
+  wire  _T_1002; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@44938.6]
+  wire  _T_1004; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@44944.6]
+  wire  _T_1013; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@44949.6]
+  wire  _T_1015; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@44951.6]
+  wire  _T_1017; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44954.8]
+  wire  _T_1018; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44955.8]
+  wire  _T_1019; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@44960.8]
+  wire  _T_1021; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44962.8]
+  wire  _T_1022; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44963.8]
+  wire  _T_1023; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@44968.8]
+  wire  _T_1025; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44970.8]
+  wire  _T_1026; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44971.8]
+  wire  _T_1027; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@44976.8]
+  wire  _T_1029; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44978.8]
+  wire  _T_1030; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44979.8]
+  wire  _T_1031; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@44984.8]
+  wire  _T_1033; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44986.8]
+  wire  _T_1034; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44987.8]
+  wire  _T_1035; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@44993.6]
+  wire  _T_1046; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@45017.8]
+  wire  _T_1048; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45019.8]
+  wire  _T_1049; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45020.8]
+  wire  _T_1050; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45025.8]
+  wire  _T_1052; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45027.8]
+  wire  _T_1053; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45028.8]
+  wire  _T_1063; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@45051.6]
+  wire  _T_1083; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@45092.8]
+  wire  _T_1085; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45094.8]
+  wire  _T_1086; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45095.8]
+  wire  _T_1092; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@45110.6]
+  wire  _T_1109; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@45145.6]
+  wire  _T_1127; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@45181.6]
+  wire  _T_1156; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@45241.4]
+  wire [9:0] _T_1161; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@45246.4]
+  wire  _T_1162; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@45247.4]
+  wire  _T_1163; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45248.4]
+  reg [9:0] _T_1166; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45250.4]
+  reg [31:0] _RAND_0;
+  wire [10:0] _T_1167; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45251.4]
+  wire [10:0] _T_1168; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45252.4]
+  wire [9:0] _T_1169; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45253.4]
+  wire  _T_1170; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@45254.4]
+  reg [2:0] _T_1179; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@45265.4]
+  reg [31:0] _RAND_1;
+  reg [2:0] _T_1181; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@45266.4]
+  reg [31:0] _RAND_2;
+  reg [3:0] _T_1183; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@45267.4]
+  reg [31:0] _RAND_3;
+  reg  _T_1185; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@45268.4]
+  reg [31:0] _RAND_4;
+  reg [31:0] _T_1187; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@45269.4]
+  reg [31:0] _RAND_5;
+  wire  _T_1188; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@45270.4]
+  wire  _T_1189; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@45271.4]
+  wire  _T_1190; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@45273.6]
+  wire  _T_1192; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45275.6]
+  wire  _T_1193; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45276.6]
+  wire  _T_1194; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@45281.6]
+  wire  _T_1196; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45283.6]
+  wire  _T_1197; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45284.6]
+  wire  _T_1198; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@45289.6]
+  wire  _T_1200; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45291.6]
+  wire  _T_1201; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45292.6]
+  wire  _T_1202; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@45297.6]
+  wire  _T_1204; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45299.6]
+  wire  _T_1205; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45300.6]
+  wire  _T_1206; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@45305.6]
+  wire  _T_1208; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45307.6]
+  wire  _T_1209; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45308.6]
+  wire  _T_1211; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@45315.4]
+  wire  _T_1212; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@45323.4]
+  wire [26:0] _T_1214; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@45325.4]
+  wire [11:0] _T_1215; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@45326.4]
+  wire [11:0] _T_1216; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@45327.4]
+  wire [9:0] _T_1217; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@45328.4]
+  wire  _T_1218; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@45329.4]
+  reg [9:0] _T_1221; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45331.4]
+  reg [31:0] _RAND_6;
+  wire [10:0] _T_1222; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45332.4]
+  wire [10:0] _T_1223; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45333.4]
+  wire [9:0] _T_1224; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45334.4]
+  wire  _T_1225; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@45335.4]
+  reg [2:0] _T_1234; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@45346.4]
+  reg [31:0] _RAND_7;
+  reg [1:0] _T_1236; // @[Monitor.scala 419:22:shc.marmotcaravel.MarmotCaravelConfig.fir@45347.4]
+  reg [31:0] _RAND_8;
+  reg [3:0] _T_1238; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@45348.4]
+  reg [31:0] _RAND_9;
+  reg  _T_1240; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@45349.4]
+  reg [31:0] _RAND_10;
+  reg  _T_1242; // @[Monitor.scala 422:22:shc.marmotcaravel.MarmotCaravelConfig.fir@45350.4]
+  reg [31:0] _RAND_11;
+  reg  _T_1244; // @[Monitor.scala 423:22:shc.marmotcaravel.MarmotCaravelConfig.fir@45351.4]
+  reg [31:0] _RAND_12;
+  wire  _T_1245; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@45352.4]
+  wire  _T_1246; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@45353.4]
+  wire  _T_1247; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@45355.6]
+  wire  _T_1249; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45357.6]
+  wire  _T_1250; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45358.6]
+  wire  _T_1251; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@45363.6]
+  wire  _T_1253; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45365.6]
+  wire  _T_1254; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45366.6]
+  wire  _T_1255; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@45371.6]
+  wire  _T_1257; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45373.6]
+  wire  _T_1258; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45374.6]
+  wire  _T_1259; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@45379.6]
+  wire  _T_1261; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45381.6]
+  wire  _T_1262; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45382.6]
+  wire  _T_1263; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@45387.6]
+  wire  _T_1265; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45389.6]
+  wire  _T_1266; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45390.6]
+  wire  _T_1267; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@45395.6]
+  wire  _T_1269; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45397.6]
+  wire  _T_1270; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45398.6]
+  wire  _T_1272; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@45405.4]
+  reg [1:0] _T_1274; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45414.4]
+  reg [31:0] _RAND_13;
+  reg [9:0] _T_1285; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45424.4]
+  reg [31:0] _RAND_14;
+  wire [10:0] _T_1286; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45425.4]
+  wire [10:0] _T_1287; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45426.4]
+  wire [9:0] _T_1288; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45427.4]
+  wire  _T_1289; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@45428.4]
+  reg [9:0] _T_1306; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45447.4]
+  reg [31:0] _RAND_15;
+  wire [10:0] _T_1307; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45448.4]
+  wire [10:0] _T_1308; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45449.4]
+  wire [9:0] _T_1309; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45450.4]
+  wire  _T_1310; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@45451.4]
+  wire  _T_1321; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45466.4]
+  wire [1:0] _T_1323; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@45469.6]
+  wire [1:0] _T_1324; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@45471.6]
+  wire  _T_1325; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@45472.6]
+  wire  _T_1326; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45473.6]
+  wire  _T_1328; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@45475.6]
+  wire  _T_1329; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@45476.6]
+  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@45468.4]
+  wire  _T_1334; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45487.4]
+  wire  _T_1336; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@45489.4]
+  wire  _T_1337; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@45490.4]
+  wire [1:0] _T_1338; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@45492.6]
+  wire [1:0] _T_1339; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@45494.6]
+  wire [1:0] _T_1340; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@45495.6]
+  wire  _T_1341; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@45496.6]
+  wire  _T_1343; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@45498.6]
+  wire  _T_1344; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@45499.6]
+  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@45491.4]
+  wire  _T_1345; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@45505.4]
+  wire  _T_1346; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@45506.4]
+  wire  _T_1347; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@45507.4]
+  wire  _T_1348; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@45508.4]
+  wire  _T_1350; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@45510.4]
+  wire  _T_1351; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@45511.4]
+  wire [1:0] _T_1352; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45516.4]
+  wire [1:0] _T_1353; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@45517.4]
+  wire [1:0] _T_1354; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@45518.4]
+  reg [31:0] _T_1356; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45520.4]
+  reg [31:0] _RAND_16;
+  wire  _T_1357; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@45523.4]
+  wire  _T_1358; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@45524.4]
+  wire  _T_1359; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@45525.4]
+  wire  _T_1360; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45526.4]
+  wire  _T_1361; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@45527.4]
+  wire  _T_1362; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@45528.4]
+  wire  _T_1364; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@45530.4]
+  wire  _T_1365; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@45531.4]
+  wire [31:0] _T_1367; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@45537.4]
+  wire  _T_1370; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45541.4]
+  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43908.10]
+  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44058.10]
+  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44224.10]
+  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44368.10]
+  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44504.10]
+  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44637.10]
+  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44768.10]
+  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44899.10]
+  wire  _GEN_115; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44957.10]
+  wire  _GEN_125; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44999.10]
+  wire  _GEN_137; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45057.10]
+  wire  _GEN_149; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45116.10]
+  wire  _GEN_155; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45151.10]
+  wire  _GEN_161; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45187.10]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@45521.4]
+    .out(plusarg_reader_out)
+  );
+  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@43747.6]
+  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@43752.6]
+  assign _T_32 = 27'hfff << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@43754.6]
+  assign _T_33 = _T_32[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@43755.6]
+  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@43756.6]
+  assign _GEN_18 = {{20'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@43757.6]
+  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@43757.6]
+  assign _T_36 = _T_35 == 32'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@43758.6]
+  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@43760.6]
+  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@43761.6]
+  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@43763.6]
+  assign _T_42 = io_in_a_bits_size >= 4'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@43764.6]
+  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@43765.6]
+  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@43766.6]
+  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@43767.6]
+  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@43769.6]
+  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@43770.6]
+  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@43772.6]
+  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@43773.6]
+  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@43774.6]
+  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@43775.6]
+  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@43776.6]
+  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@43777.6]
+  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@43778.6]
+  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@43779.6]
+  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@43780.6]
+  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@43781.6]
+  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@43782.6]
+  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@43783.6]
+  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@43784.6]
+  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@43785.6]
+  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@43786.6]
+  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@43787.6]
+  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@43788.6]
+  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@43789.6]
+  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@43790.6]
+  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@43791.6]
+  assign _T_73 = {1'b0,$signed(io_in_a_bits_address)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@43795.6]
+  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@43816.6]
+  assign _T_92 = io_in_a_bits_address ^ 32'h3000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@43819.8]
+  assign _T_93 = {1'b0,$signed(_T_92)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@43820.8]
+  assign _T_94 = $signed(_T_93) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@43821.8]
+  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@43822.8]
+  assign _T_96 = $signed(_T_95) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@43823.8]
+  assign _T_97 = io_in_a_bits_address ^ 32'h10013000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@43824.8]
+  assign _T_98 = {1'b0,$signed(_T_97)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@43825.8]
+  assign _T_99 = $signed(_T_98) & $signed(-33'sh21000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@43826.8]
+  assign _T_100 = $signed(_T_99); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@43827.8]
+  assign _T_101 = $signed(_T_100) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@43828.8]
+  assign _T_102 = io_in_a_bits_address ^ 32'h10023000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@43829.8]
+  assign _T_103 = {1'b0,$signed(_T_102)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@43830.8]
+  assign _T_104 = $signed(_T_103) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@43831.8]
+  assign _T_105 = $signed(_T_104); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@43832.8]
+  assign _T_106 = $signed(_T_105) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@43833.8]
+  assign _T_107 = io_in_a_bits_address ^ 32'h10043000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@43834.8]
+  assign _T_108 = {1'b0,$signed(_T_107)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@43835.8]
+  assign _T_109 = $signed(_T_108) & $signed(-33'sh11000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@43836.8]
+  assign _T_110 = $signed(_T_109); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@43837.8]
+  assign _T_111 = $signed(_T_110) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@43838.8]
+  assign _T_112 = io_in_a_bits_address ^ 32'h10014000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@43839.8]
+  assign _T_113 = {1'b0,$signed(_T_112)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@43840.8]
+  assign _T_114 = $signed(_T_113) & $signed(-33'sh21000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@43841.8]
+  assign _T_115 = $signed(_T_114); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@43842.8]
+  assign _T_116 = $signed(_T_115) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@43843.8]
+  assign _T_117 = io_in_a_bits_address ^ 32'h20000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@43844.8]
+  assign _T_118 = {1'b0,$signed(_T_117)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@43845.8]
+  assign _T_119 = $signed(_T_118) & $signed(-33'sh20000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@43846.8]
+  assign _T_120 = $signed(_T_119); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@43847.8]
+  assign _T_121 = $signed(_T_120) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@43848.8]
+  assign _T_122 = io_in_a_bits_address ^ 32'h10024000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@43849.8]
+  assign _T_123 = {1'b0,$signed(_T_122)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@43850.8]
+  assign _T_124 = $signed(_T_123) & $signed(-33'sh3000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@43851.8]
+  assign _T_125 = $signed(_T_124); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@43852.8]
+  assign _T_126 = $signed(_T_125) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@43853.8]
+  assign _T_127 = io_in_a_bits_address ^ 32'h10012000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@43854.8]
+  assign _T_128 = {1'b0,$signed(_T_127)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@43855.8]
+  assign _T_129 = $signed(_T_128) & $signed(-33'sh5000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@43856.8]
+  assign _T_130 = $signed(_T_129); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@43857.8]
+  assign _T_131 = $signed(_T_130) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@43858.8]
+  assign _T_132 = io_in_a_bits_address ^ 32'hc000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@43859.8]
+  assign _T_133 = {1'b0,$signed(_T_132)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@43860.8]
+  assign _T_134 = $signed(_T_133) & $signed(-33'sh4000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@43861.8]
+  assign _T_135 = $signed(_T_134); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@43862.8]
+  assign _T_136 = $signed(_T_135) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@43863.8]
+  assign _T_137 = io_in_a_bits_address ^ 32'h2000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@43864.8]
+  assign _T_138 = {1'b0,$signed(_T_137)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@43865.8]
+  assign _T_139 = $signed(_T_138) & $signed(-33'sh10000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@43866.8]
+  assign _T_140 = $signed(_T_139); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@43867.8]
+  assign _T_141 = $signed(_T_140) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@43868.8]
+  assign _T_144 = $signed(_T_73) & $signed(-33'sh10001000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@43871.8]
+  assign _T_145 = $signed(_T_144); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@43872.8]
+  assign _T_146 = $signed(_T_145) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@43873.8]
+  assign _T_147 = io_in_a_bits_address ^ 32'h8000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@43874.8]
+  assign _T_148 = {1'b0,$signed(_T_147)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@43875.8]
+  assign _T_149 = $signed(_T_148) & $signed(-33'sh4000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@43876.8]
+  assign _T_150 = $signed(_T_149); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@43877.8]
+  assign _T_151 = $signed(_T_150) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@43878.8]
+  assign _T_152 = io_in_a_bits_address ^ 32'h80000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@43879.8]
+  assign _T_153 = {1'b0,$signed(_T_152)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@43880.8]
+  assign _T_154 = $signed(_T_153) & $signed(-33'sh4000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@43881.8]
+  assign _T_155 = $signed(_T_154); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@43882.8]
+  assign _T_156 = $signed(_T_155) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@43883.8]
+  assign _T_157 = io_in_a_bits_address ^ 32'h10000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@43884.8]
+  assign _T_158 = {1'b0,$signed(_T_157)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@43885.8]
+  assign _T_159 = $signed(_T_158) & $signed(-33'sh2000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@43886.8]
+  assign _T_160 = $signed(_T_159); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@43887.8]
+  assign _T_161 = $signed(_T_160) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@43888.8]
+  assign _T_162 = _T_96 | _T_101; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@43889.8]
+  assign _T_163 = _T_162 | _T_106; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@43890.8]
+  assign _T_164 = _T_163 | _T_111; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@43891.8]
+  assign _T_165 = _T_164 | _T_116; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@43892.8]
+  assign _T_179 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43906.8]
+  assign _T_184 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43919.8]
+  assign _T_185 = _T_184 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43920.8]
+  assign _T_188 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43927.8]
+  assign _T_189 = _T_188 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43928.8]
+  assign _T_191 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43934.8]
+  assign _T_192 = _T_191 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43935.8]
+  assign _T_193 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@43940.8]
+  assign _T_195 = _T_193 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43942.8]
+  assign _T_196 = _T_195 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43943.8]
+  assign _T_197 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@43948.8]
+  assign _T_198 = _T_197 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@43949.8]
+  assign _T_200 = _T_198 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43951.8]
+  assign _T_201 = _T_200 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43952.8]
+  assign _T_202 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@43957.8]
+  assign _T_204 = _T_202 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43959.8]
+  assign _T_205 = _T_204 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43960.8]
+  assign _T_206 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@43966.6]
+  assign _T_313 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@44098.8]
+  assign _T_315 = _T_313 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44100.8]
+  assign _T_316 = _T_315 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44101.8]
+  assign _T_326 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@44124.6]
+  assign _T_328 = io_in_a_bits_size <= 4'hc; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44127.8]
+  assign _T_336 = _T_328 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@44135.8]
+  assign _T_338 = io_in_a_bits_size <= 4'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44137.8]
+  assign _T_406 = _T_101 | _T_106; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44205.8]
+  assign _T_407 = _T_406 | _T_111; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44206.8]
+  assign _T_408 = _T_407 | _T_116; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44207.8]
+  assign _T_409 = _T_408 | _T_121; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44208.8]
+  assign _T_410 = _T_409 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44209.8]
+  assign _T_411 = _T_410 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44210.8]
+  assign _T_412 = _T_411 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44211.8]
+  assign _T_413 = _T_412 | _T_141; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44212.8]
+  assign _T_414 = _T_413 | _T_146; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44213.8]
+  assign _T_415 = _T_414 | _T_151; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44214.8]
+  assign _T_416 = _T_415 | _T_156; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44215.8]
+  assign _T_417 = _T_416 | _T_161; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44216.8]
+  assign _T_418 = _T_338 & _T_417; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@44217.8]
+  assign _T_420 = _T_336 | _T_418; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@44219.8]
+  assign _T_422 = _T_420 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44221.8]
+  assign _T_423 = _T_422 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44222.8]
+  assign _T_430 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@44241.8]
+  assign _T_432 = _T_430 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44243.8]
+  assign _T_433 = _T_432 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44244.8]
+  assign _T_434 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@44249.8]
+  assign _T_436 = _T_434 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44251.8]
+  assign _T_437 = _T_436 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44252.8]
+  assign _T_442 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@44266.6]
+  assign _T_515 = _T_408 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44340.8]
+  assign _T_516 = _T_515 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44341.8]
+  assign _T_517 = _T_516 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44342.8]
+  assign _T_518 = _T_517 | _T_141; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44343.8]
+  assign _T_519 = _T_518 | _T_146; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44344.8]
+  assign _T_520 = _T_519 | _T_151; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44345.8]
+  assign _T_521 = _T_520 | _T_156; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44346.8]
+  assign _T_522 = _T_338 & _T_521; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@44347.8]
+  assign _T_537 = _T_336 | _T_522; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@44362.8]
+  assign _T_540 = _T_537 | reset; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44365.8]
+  assign _T_541 = _T_540 == 1'h0; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44366.8]
+  assign _T_556 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@44402.6]
+  assign _T_666 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@44529.8]
+  assign _T_667 = io_in_a_bits_mask & _T_666; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@44530.8]
+  assign _T_668 = _T_667 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@44531.8]
+  assign _T_670 = _T_668 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44533.8]
+  assign _T_671 = _T_670 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44534.8]
+  assign _T_672 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@44540.6]
+  assign _T_674 = io_in_a_bits_size <= 4'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44543.8]
+  assign _T_741 = _T_165 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44610.8]
+  assign _T_742 = _T_741 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44611.8]
+  assign _T_743 = _T_742 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44612.8]
+  assign _T_744 = _T_743 | _T_141; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44613.8]
+  assign _T_745 = _T_744 | _T_146; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44614.8]
+  assign _T_746 = _T_745 | _T_151; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44615.8]
+  assign _T_747 = _T_746 | _T_156; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44616.8]
+  assign _T_748 = _T_674 & _T_747; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@44617.8]
+  assign _T_765 = _T_748 | reset; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44634.8]
+  assign _T_766 = _T_765 == 1'h0; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44635.8]
+  assign _T_773 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@44654.8]
+  assign _T_775 = _T_773 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44656.8]
+  assign _T_776 = _T_775 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44657.8]
+  assign _T_781 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@44671.6]
+  assign _T_882 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@44785.8]
+  assign _T_884 = _T_882 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44787.8]
+  assign _T_885 = _T_884 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44788.8]
+  assign _T_890 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@44802.6]
+  assign _T_983 = _T_336 | reset; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44896.8]
+  assign _T_984 = _T_983 == 1'h0; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44897.8]
+  assign _T_999 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@44935.6]
+  assign _T_1001 = _T_999 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@44937.6]
+  assign _T_1002 = _T_1001 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@44938.6]
+  assign _T_1004 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@44944.6]
+  assign _T_1013 = io_in_d_bits_source | _T_1004; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@44949.6]
+  assign _T_1015 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@44951.6]
+  assign _T_1017 = _T_1013 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44954.8]
+  assign _T_1018 = _T_1017 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44955.8]
+  assign _T_1019 = io_in_d_bits_size >= 4'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@44960.8]
+  assign _T_1021 = _T_1019 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44962.8]
+  assign _T_1022 = _T_1021 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44963.8]
+  assign _T_1023 = io_in_d_bits_param == 2'h0; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@44968.8]
+  assign _T_1025 = _T_1023 | reset; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44970.8]
+  assign _T_1026 = _T_1025 == 1'h0; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44971.8]
+  assign _T_1027 = io_in_d_bits_corrupt == 1'h0; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@44976.8]
+  assign _T_1029 = _T_1027 | reset; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44978.8]
+  assign _T_1030 = _T_1029 == 1'h0; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44979.8]
+  assign _T_1031 = io_in_d_bits_denied == 1'h0; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@44984.8]
+  assign _T_1033 = _T_1031 | reset; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44986.8]
+  assign _T_1034 = _T_1033 == 1'h0; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44987.8]
+  assign _T_1035 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@44993.6]
+  assign _T_1046 = io_in_d_bits_param <= 2'h2; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@45017.8]
+  assign _T_1048 = _T_1046 | reset; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45019.8]
+  assign _T_1049 = _T_1048 == 1'h0; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45020.8]
+  assign _T_1050 = io_in_d_bits_param != 2'h2; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45025.8]
+  assign _T_1052 = _T_1050 | reset; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45027.8]
+  assign _T_1053 = _T_1052 == 1'h0; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45028.8]
+  assign _T_1063 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@45051.6]
+  assign _T_1083 = _T_1031 | io_in_d_bits_corrupt; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@45092.8]
+  assign _T_1085 = _T_1083 | reset; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45094.8]
+  assign _T_1086 = _T_1085 == 1'h0; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45095.8]
+  assign _T_1092 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@45110.6]
+  assign _T_1109 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@45145.6]
+  assign _T_1127 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@45181.6]
+  assign _T_1156 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@45241.4]
+  assign _T_1161 = _T_34[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@45246.4]
+  assign _T_1162 = io_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@45247.4]
+  assign _T_1163 = _T_1162 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45248.4]
+  assign _T_1167 = _T_1166 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45251.4]
+  assign _T_1168 = $unsigned(_T_1167); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45252.4]
+  assign _T_1169 = _T_1168[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45253.4]
+  assign _T_1170 = _T_1166 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@45254.4]
+  assign _T_1188 = _T_1170 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@45270.4]
+  assign _T_1189 = io_in_a_valid & _T_1188; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@45271.4]
+  assign _T_1190 = io_in_a_bits_opcode == _T_1179; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@45273.6]
+  assign _T_1192 = _T_1190 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45275.6]
+  assign _T_1193 = _T_1192 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45276.6]
+  assign _T_1194 = io_in_a_bits_param == _T_1181; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@45281.6]
+  assign _T_1196 = _T_1194 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45283.6]
+  assign _T_1197 = _T_1196 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45284.6]
+  assign _T_1198 = io_in_a_bits_size == _T_1183; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@45289.6]
+  assign _T_1200 = _T_1198 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45291.6]
+  assign _T_1201 = _T_1200 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45292.6]
+  assign _T_1202 = io_in_a_bits_source == _T_1185; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@45297.6]
+  assign _T_1204 = _T_1202 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45299.6]
+  assign _T_1205 = _T_1204 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45300.6]
+  assign _T_1206 = io_in_a_bits_address == _T_1187; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@45305.6]
+  assign _T_1208 = _T_1206 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45307.6]
+  assign _T_1209 = _T_1208 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45308.6]
+  assign _T_1211 = _T_1156 & _T_1170; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@45315.4]
+  assign _T_1212 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@45323.4]
+  assign _T_1214 = 27'hfff << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@45325.4]
+  assign _T_1215 = _T_1214[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@45326.4]
+  assign _T_1216 = ~ _T_1215; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@45327.4]
+  assign _T_1217 = _T_1216[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@45328.4]
+  assign _T_1218 = io_in_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@45329.4]
+  assign _T_1222 = _T_1221 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45332.4]
+  assign _T_1223 = $unsigned(_T_1222); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45333.4]
+  assign _T_1224 = _T_1223[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45334.4]
+  assign _T_1225 = _T_1221 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@45335.4]
+  assign _T_1245 = _T_1225 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@45352.4]
+  assign _T_1246 = io_in_d_valid & _T_1245; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@45353.4]
+  assign _T_1247 = io_in_d_bits_opcode == _T_1234; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@45355.6]
+  assign _T_1249 = _T_1247 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45357.6]
+  assign _T_1250 = _T_1249 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45358.6]
+  assign _T_1251 = io_in_d_bits_param == _T_1236; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@45363.6]
+  assign _T_1253 = _T_1251 | reset; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45365.6]
+  assign _T_1254 = _T_1253 == 1'h0; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45366.6]
+  assign _T_1255 = io_in_d_bits_size == _T_1238; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@45371.6]
+  assign _T_1257 = _T_1255 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45373.6]
+  assign _T_1258 = _T_1257 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45374.6]
+  assign _T_1259 = io_in_d_bits_source == _T_1240; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@45379.6]
+  assign _T_1261 = _T_1259 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45381.6]
+  assign _T_1262 = _T_1261 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45382.6]
+  assign _T_1263 = io_in_d_bits_sink == _T_1242; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@45387.6]
+  assign _T_1265 = _T_1263 | reset; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45389.6]
+  assign _T_1266 = _T_1265 == 1'h0; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45390.6]
+  assign _T_1267 = io_in_d_bits_denied == _T_1244; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@45395.6]
+  assign _T_1269 = _T_1267 | reset; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45397.6]
+  assign _T_1270 = _T_1269 == 1'h0; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45398.6]
+  assign _T_1272 = _T_1212 & _T_1225; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@45405.4]
+  assign _T_1286 = _T_1285 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45425.4]
+  assign _T_1287 = $unsigned(_T_1286); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45426.4]
+  assign _T_1288 = _T_1287[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45427.4]
+  assign _T_1289 = _T_1285 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@45428.4]
+  assign _T_1307 = _T_1306 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45448.4]
+  assign _T_1308 = $unsigned(_T_1307); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45449.4]
+  assign _T_1309 = _T_1308[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45450.4]
+  assign _T_1310 = _T_1306 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@45451.4]
+  assign _T_1321 = _T_1156 & _T_1289; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45466.4]
+  assign _T_1323 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@45469.6]
+  assign _T_1324 = _T_1274 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@45471.6]
+  assign _T_1325 = _T_1324[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@45472.6]
+  assign _T_1326 = _T_1325 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45473.6]
+  assign _T_1328 = _T_1326 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@45475.6]
+  assign _T_1329 = _T_1328 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@45476.6]
+  assign _GEN_15 = _T_1321 ? _T_1323 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@45468.4]
+  assign _T_1334 = _T_1212 & _T_1310; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45487.4]
+  assign _T_1336 = _T_1015 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@45489.4]
+  assign _T_1337 = _T_1334 & _T_1336; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@45490.4]
+  assign _T_1338 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@45492.6]
+  assign _T_1339 = _GEN_15 | _T_1274; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@45494.6]
+  assign _T_1340 = _T_1339 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@45495.6]
+  assign _T_1341 = _T_1340[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@45496.6]
+  assign _T_1343 = _T_1341 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@45498.6]
+  assign _T_1344 = _T_1343 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@45499.6]
+  assign _GEN_16 = _T_1337 ? _T_1338 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@45491.4]
+  assign _T_1345 = _GEN_15 != _GEN_16; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@45505.4]
+  assign _T_1346 = _GEN_15 != 2'h0; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@45506.4]
+  assign _T_1347 = _T_1346 == 1'h0; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@45507.4]
+  assign _T_1348 = _T_1345 | _T_1347; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@45508.4]
+  assign _T_1350 = _T_1348 | reset; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@45510.4]
+  assign _T_1351 = _T_1350 == 1'h0; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@45511.4]
+  assign _T_1352 = _T_1274 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45516.4]
+  assign _T_1353 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@45517.4]
+  assign _T_1354 = _T_1352 & _T_1353; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@45518.4]
+  assign _T_1357 = _T_1274 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@45523.4]
+  assign _T_1358 = _T_1357 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@45524.4]
+  assign _T_1359 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@45525.4]
+  assign _T_1360 = _T_1358 | _T_1359; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45526.4]
+  assign _T_1361 = _T_1356 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@45527.4]
+  assign _T_1362 = _T_1360 | _T_1361; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@45528.4]
+  assign _T_1364 = _T_1362 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@45530.4]
+  assign _T_1365 = _T_1364 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@45531.4]
+  assign _T_1367 = _T_1356 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@45537.4]
+  assign _T_1370 = _T_1156 | _T_1212; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45541.4]
+  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43908.10]
+  assign _GEN_35 = io_in_a_valid & _T_206; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44058.10]
+  assign _GEN_53 = io_in_a_valid & _T_326; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44224.10]
+  assign _GEN_65 = io_in_a_valid & _T_442; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44368.10]
+  assign _GEN_75 = io_in_a_valid & _T_556; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44504.10]
+  assign _GEN_85 = io_in_a_valid & _T_672; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44637.10]
+  assign _GEN_95 = io_in_a_valid & _T_781; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44768.10]
+  assign _GEN_105 = io_in_a_valid & _T_890; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44899.10]
+  assign _GEN_115 = io_in_d_valid & _T_1015; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44957.10]
+  assign _GEN_125 = io_in_d_valid & _T_1035; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44999.10]
+  assign _GEN_137 = io_in_d_valid & _T_1063; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45057.10]
+  assign _GEN_149 = io_in_d_valid & _T_1092; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45116.10]
+  assign _GEN_155 = io_in_d_valid & _T_1109; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45151.10]
+  assign _GEN_161 = io_in_d_valid & _T_1127; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45187.10]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  _T_1166 = _RAND_0[9:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  _T_1179 = _RAND_1[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  _T_1181 = _RAND_2[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  _T_1183 = _RAND_3[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  _T_1185 = _RAND_4[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  _T_1187 = _RAND_5[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {1{`RANDOM}};
+  _T_1221 = _RAND_6[9:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {1{`RANDOM}};
+  _T_1234 = _RAND_7[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_8 = {1{`RANDOM}};
+  _T_1236 = _RAND_8[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_9 = {1{`RANDOM}};
+  _T_1238 = _RAND_9[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_10 = {1{`RANDOM}};
+  _T_1240 = _RAND_10[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_11 = {1{`RANDOM}};
+  _T_1242 = _RAND_11[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_12 = {1{`RANDOM}};
+  _T_1244 = _RAND_12[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_13 = {1{`RANDOM}};
+  _T_1274 = _RAND_13[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_14 = {1{`RANDOM}};
+  _T_1285 = _RAND_14[9:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_15 = {1{`RANDOM}};
+  _T_1306 = _RAND_15[9:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_16 = {1{`RANDOM}};
+  _T_1356 = _RAND_16[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      _T_1166 <= 10'h0;
+    end else begin
+      if (_T_1156) begin
+        if (_T_1170) begin
+          if (_T_1163) begin
+            _T_1166 <= _T_1161;
+          end else begin
+            _T_1166 <= 10'h0;
+          end
+        end else begin
+          _T_1166 <= _T_1169;
+        end
+      end
+    end
+    if (_T_1211) begin
+      _T_1179 <= io_in_a_bits_opcode;
+    end
+    if (_T_1211) begin
+      _T_1181 <= io_in_a_bits_param;
+    end
+    if (_T_1211) begin
+      _T_1183 <= io_in_a_bits_size;
+    end
+    if (_T_1211) begin
+      _T_1185 <= io_in_a_bits_source;
+    end
+    if (_T_1211) begin
+      _T_1187 <= io_in_a_bits_address;
+    end
+    if (reset) begin
+      _T_1221 <= 10'h0;
+    end else begin
+      if (_T_1212) begin
+        if (_T_1225) begin
+          if (_T_1218) begin
+            _T_1221 <= _T_1217;
+          end else begin
+            _T_1221 <= 10'h0;
+          end
+        end else begin
+          _T_1221 <= _T_1224;
+        end
+      end
+    end
+    if (_T_1272) begin
+      _T_1234 <= io_in_d_bits_opcode;
+    end
+    if (_T_1272) begin
+      _T_1236 <= io_in_d_bits_param;
+    end
+    if (_T_1272) begin
+      _T_1238 <= io_in_d_bits_size;
+    end
+    if (_T_1272) begin
+      _T_1240 <= io_in_d_bits_source;
+    end
+    if (_T_1272) begin
+      _T_1242 <= io_in_d_bits_sink;
+    end
+    if (_T_1272) begin
+      _T_1244 <= io_in_d_bits_denied;
+    end
+    if (reset) begin
+      _T_1274 <= 2'h0;
+    end else begin
+      _T_1274 <= _T_1354;
+    end
+    if (reset) begin
+      _T_1285 <= 10'h0;
+    end else begin
+      if (_T_1156) begin
+        if (_T_1289) begin
+          if (_T_1163) begin
+            _T_1285 <= _T_1161;
+          end else begin
+            _T_1285 <= 10'h0;
+          end
+        end else begin
+          _T_1285 <= _T_1288;
+        end
+      end
+    end
+    if (reset) begin
+      _T_1306 <= 10'h0;
+    end else begin
+      if (_T_1212) begin
+        if (_T_1310) begin
+          if (_T_1218) begin
+            _T_1306 <= _T_1217;
+          end else begin
+            _T_1306 <= 10'h0;
+          end
+        end else begin
+          _T_1306 <= _T_1309;
+        end
+      end
+    end
+    if (reset) begin
+      _T_1356 <= 32'h0;
+    end else begin
+      if (_T_1370) begin
+        _T_1356 <= 32'h0;
+      end else begin
+        _T_1356 <= _T_1367;
+      end
+    end
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at SystemBus.scala:68:93)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@43743.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@43744.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@43813.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@43814.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_179) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at SystemBus.scala:68:93)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43908.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_179) begin
+          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43909.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_179) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at SystemBus.scala:68:93)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43915.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_179) begin
+          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43916.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_185) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at SystemBus.scala:68:93)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43922.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_185) begin
+          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43923.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_189) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at SystemBus.scala:68:93)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43930.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_189) begin
+          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43931.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_192) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at SystemBus.scala:68:93)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43937.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_192) begin
+          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43938.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_196) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at SystemBus.scala:68:93)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43945.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_196) begin
+          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43946.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_201) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at SystemBus.scala:68:93)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43954.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_201) begin
+          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43955.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_205) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at SystemBus.scala:68:93)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43962.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_205) begin
+          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43963.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_179) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at SystemBus.scala:68:93)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44058.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_179) begin
+          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44059.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_179) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at SystemBus.scala:68:93)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44065.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_179) begin
+          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44066.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_185) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at SystemBus.scala:68:93)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44072.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_185) begin
+          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44073.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_189) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at SystemBus.scala:68:93)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44080.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_189) begin
+          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44081.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_192) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at SystemBus.scala:68:93)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44087.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_192) begin
+          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44088.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_196) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at SystemBus.scala:68:93)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44095.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_196) begin
+          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44096.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_316) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at SystemBus.scala:68:93)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44103.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_316) begin
+          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44104.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_201) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at SystemBus.scala:68:93)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44112.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_201) begin
+          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44113.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_205) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at SystemBus.scala:68:93)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44120.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_205) begin
+          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44121.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_423) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at SystemBus.scala:68:93)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44224.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_423) begin
+          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44225.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_185) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at SystemBus.scala:68:93)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44231.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_185) begin
+          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44232.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_192) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at SystemBus.scala:68:93)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44238.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_192) begin
+          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44239.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_433) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at SystemBus.scala:68:93)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44246.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_433) begin
+          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44247.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_437) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at SystemBus.scala:68:93)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44254.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_437) begin
+          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44255.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_205) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at SystemBus.scala:68:93)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44262.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_205) begin
+          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44263.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_541) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at SystemBus.scala:68:93)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44368.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_541) begin
+          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44369.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_185) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at SystemBus.scala:68:93)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44375.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_185) begin
+          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44376.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_192) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at SystemBus.scala:68:93)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44382.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_192) begin
+          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44383.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_433) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at SystemBus.scala:68:93)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44390.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_433) begin
+          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44391.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_437) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at SystemBus.scala:68:93)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44398.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_437) begin
+          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44399.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_541) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at SystemBus.scala:68:93)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44504.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_541) begin
+          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44505.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_185) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at SystemBus.scala:68:93)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44511.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_185) begin
+          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44512.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_192) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at SystemBus.scala:68:93)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44518.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_192) begin
+          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44519.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_433) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at SystemBus.scala:68:93)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44526.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_433) begin
+          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44527.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_671) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at SystemBus.scala:68:93)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44536.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_671) begin
+          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44537.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_766) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at SystemBus.scala:68:93)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44637.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_766) begin
+          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44638.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_185) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at SystemBus.scala:68:93)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44644.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_185) begin
+          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44645.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_192) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at SystemBus.scala:68:93)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44651.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_192) begin
+          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44652.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_776) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at SystemBus.scala:68:93)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44659.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_776) begin
+          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44660.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_437) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at SystemBus.scala:68:93)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44667.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_437) begin
+          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44668.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_766) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at SystemBus.scala:68:93)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44768.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_766) begin
+          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44769.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_185) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at SystemBus.scala:68:93)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44775.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_185) begin
+          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44776.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_192) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at SystemBus.scala:68:93)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44782.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_192) begin
+          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44783.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_885) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at SystemBus.scala:68:93)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44790.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_885) begin
+          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44791.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_437) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at SystemBus.scala:68:93)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44798.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_437) begin
+          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44799.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_984) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at SystemBus.scala:68:93)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44899.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_984) begin
+          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44900.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_185) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at SystemBus.scala:68:93)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44906.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_185) begin
+          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44907.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_192) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at SystemBus.scala:68:93)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44913.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_192) begin
+          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44914.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_437) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at SystemBus.scala:68:93)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44921.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_437) begin
+          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44922.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_205) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at SystemBus.scala:68:93)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44929.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_205) begin
+          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44930.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1002) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at SystemBus.scala:68:93)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@44940.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1002) begin
+          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@44941.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_1018) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at SystemBus.scala:68:93)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44957.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_1018) begin
+          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44958.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_1022) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at SystemBus.scala:68:93)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44965.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_1022) begin
+          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44966.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_1026) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at SystemBus.scala:68:93)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44973.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_1026) begin
+          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44974.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_1030) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at SystemBus.scala:68:93)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44981.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_1030) begin
+          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44982.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_1034) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at SystemBus.scala:68:93)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44989.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_1034) begin
+          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44990.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_1018) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at SystemBus.scala:68:93)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44999.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_1018) begin
+          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45000.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_179) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at SystemBus.scala:68:93)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45006.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_179) begin
+          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45007.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_1022) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at SystemBus.scala:68:93)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45014.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_1022) begin
+          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45015.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_1049) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at SystemBus.scala:68:93)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45022.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_1049) begin
+          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45023.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_1053) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at SystemBus.scala:68:93)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45030.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_1053) begin
+          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45031.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_1030) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at SystemBus.scala:68:93)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45038.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_1030) begin
+          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45039.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at SystemBus.scala:68:93)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45047.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45048.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_137 & _T_1018) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at SystemBus.scala:68:93)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45057.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_137 & _T_1018) begin
+          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45058.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_137 & _T_179) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at SystemBus.scala:68:93)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45064.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_137 & _T_179) begin
+          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45065.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_137 & _T_1022) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at SystemBus.scala:68:93)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45072.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_137 & _T_1022) begin
+          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45073.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_137 & _T_1049) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at SystemBus.scala:68:93)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45080.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_137 & _T_1049) begin
+          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45081.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_137 & _T_1053) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at SystemBus.scala:68:93)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45088.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_137 & _T_1053) begin
+          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45089.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_137 & _T_1086) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at SystemBus.scala:68:93)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45097.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_137 & _T_1086) begin
+          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45098.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at SystemBus.scala:68:93)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45106.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45107.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_149 & _T_1018) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at SystemBus.scala:68:93)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45116.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_149 & _T_1018) begin
+          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45117.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_149 & _T_1026) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at SystemBus.scala:68:93)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45124.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_149 & _T_1026) begin
+          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45125.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_149 & _T_1030) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at SystemBus.scala:68:93)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45132.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_149 & _T_1030) begin
+          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45133.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at SystemBus.scala:68:93)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45141.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45142.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_155 & _T_1018) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at SystemBus.scala:68:93)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45151.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_155 & _T_1018) begin
+          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45152.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_155 & _T_1026) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at SystemBus.scala:68:93)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45159.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_155 & _T_1026) begin
+          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45160.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_155 & _T_1086) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at SystemBus.scala:68:93)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45168.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_155 & _T_1086) begin
+          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45169.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at SystemBus.scala:68:93)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45177.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45178.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_161 & _T_1018) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at SystemBus.scala:68:93)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45187.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_161 & _T_1018) begin
+          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45188.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_161 & _T_1026) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at SystemBus.scala:68:93)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45195.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_161 & _T_1026) begin
+          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45196.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_161 & _T_1030) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at SystemBus.scala:68:93)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45203.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_161 & _T_1030) begin
+          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45204.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at SystemBus.scala:68:93)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45212.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45213.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at SystemBus.scala:68:93)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45222.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45223.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at SystemBus.scala:68:93)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45230.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45231.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at SystemBus.scala:68:93)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45238.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45239.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1189 & _T_1193) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at SystemBus.scala:68:93)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45278.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1189 & _T_1193) begin
+          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45279.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1189 & _T_1197) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at SystemBus.scala:68:93)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45286.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1189 & _T_1197) begin
+          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45287.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1189 & _T_1201) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at SystemBus.scala:68:93)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45294.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1189 & _T_1201) begin
+          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45295.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1189 & _T_1205) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at SystemBus.scala:68:93)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45302.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1189 & _T_1205) begin
+          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45303.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1189 & _T_1209) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at SystemBus.scala:68:93)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45310.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1189 & _T_1209) begin
+          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45311.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1246 & _T_1250) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at SystemBus.scala:68:93)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45360.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1246 & _T_1250) begin
+          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45361.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1246 & _T_1254) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at SystemBus.scala:68:93)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45368.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1246 & _T_1254) begin
+          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45369.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1246 & _T_1258) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at SystemBus.scala:68:93)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45376.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1246 & _T_1258) begin
+          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45377.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1246 & _T_1262) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at SystemBus.scala:68:93)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45384.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1246 & _T_1262) begin
+          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45385.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1246 & _T_1266) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at SystemBus.scala:68:93)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45392.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1246 & _T_1266) begin
+          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45393.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1246 & _T_1270) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at SystemBus.scala:68:93)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45400.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1246 & _T_1270) begin
+          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45401.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1321 & _T_1329) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at SystemBus.scala:68:93)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@45478.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1321 & _T_1329) begin
+          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@45479.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1337 & _T_1344) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at SystemBus.scala:68:93)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@45501.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1337 & _T_1344) begin
+          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@45502.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1351) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' and 'D' concurrent, despite minlatency 2 (connected at SystemBus.scala:68:93)\n    at Monitor.scala:471 assert(a_set =/= d_clr || !a_set.orR, s\"'A' and 'D' concurrent, despite minlatency ${edge.manager.minLatency}\" + extra)\n"); // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@45513.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1351) begin
+          $fatal; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@45514.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1365) begin
+          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at SystemBus.scala:68:93)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@45533.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1365) begin
+          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@45534.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+endmodule
+module TLFIFOFixer_1( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45546.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45547.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45548.4]
+  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45549.4]
+  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45549.4]
+  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45549.4]
+  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45549.4]
+  input  [3:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45549.4]
+  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45549.4]
+  input  [31:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45549.4]
+  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45549.4]
+  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45549.4]
+  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45549.4]
+  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45549.4]
+  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45549.4]
+  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45549.4]
+  output [1:0]  auto_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45549.4]
+  output [3:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45549.4]
+  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45549.4]
+  output        auto_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45549.4]
+  output        auto_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45549.4]
+  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45549.4]
+  output        auto_in_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45549.4]
+  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45549.4]
+  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45549.4]
+  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45549.4]
+  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45549.4]
+  output [3:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45549.4]
+  output        auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45549.4]
+  output [31:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45549.4]
+  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45549.4]
+  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45549.4]
+  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45549.4]
+  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45549.4]
+  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45549.4]
+  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45549.4]
+  input  [1:0]  auto_out_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45549.4]
+  input  [3:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45549.4]
+  input         auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45549.4]
+  input         auto_out_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45549.4]
+  input         auto_out_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45549.4]
+  input  [31:0] auto_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45549.4]
+  input         auto_out_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45549.4]
+);
+  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@45556.4]
+  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@45556.4]
+  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@45556.4]
+  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@45556.4]
+  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@45556.4]
+  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@45556.4]
+  wire [3:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@45556.4]
+  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@45556.4]
+  wire [31:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@45556.4]
+  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@45556.4]
+  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@45556.4]
+  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@45556.4]
+  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@45556.4]
+  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@45556.4]
+  wire [1:0] TLMonitor_io_in_d_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@45556.4]
+  wire [3:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@45556.4]
+  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@45556.4]
+  wire  TLMonitor_io_in_d_bits_sink; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@45556.4]
+  wire  TLMonitor_io_in_d_bits_denied; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@45556.4]
+  wire  TLMonitor_io_in_d_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@45556.4]
+  TLMonitor_25 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@45556.4]
+    .clock(TLMonitor_clock),
+    .reset(TLMonitor_reset),
+    .io_in_a_ready(TLMonitor_io_in_a_ready),
+    .io_in_a_valid(TLMonitor_io_in_a_valid),
+    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
+    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
+    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
+    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
+    .io_in_d_ready(TLMonitor_io_in_d_ready),
+    .io_in_d_valid(TLMonitor_io_in_d_valid),
+    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
+    .io_in_d_bits_param(TLMonitor_io_in_d_bits_param),
+    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
+    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source),
+    .io_in_d_bits_sink(TLMonitor_io_in_d_bits_sink),
+    .io_in_d_bits_denied(TLMonitor_io_in_d_bits_denied),
+    .io_in_d_bits_corrupt(TLMonitor_io_in_d_bits_corrupt)
+  );
+  assign auto_in_a_ready = auto_out_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45596.4]
+  assign auto_in_d_valid = auto_out_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45596.4]
+  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45596.4]
+  assign auto_in_d_bits_param = auto_out_d_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45596.4]
+  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45596.4]
+  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45596.4]
+  assign auto_in_d_bits_sink = auto_out_d_bits_sink; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45596.4]
+  assign auto_in_d_bits_denied = auto_out_d_bits_denied; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45596.4]
+  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45596.4]
+  assign auto_in_d_bits_corrupt = auto_out_d_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45596.4]
+  assign auto_out_a_valid = auto_in_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45595.4]
+  assign auto_out_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45595.4]
+  assign auto_out_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45595.4]
+  assign auto_out_a_bits_size = auto_in_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45595.4]
+  assign auto_out_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45595.4]
+  assign auto_out_a_bits_address = auto_in_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45595.4]
+  assign auto_out_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45595.4]
+  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45595.4]
+  assign auto_out_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45595.4]
+  assign auto_out_d_ready = auto_in_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45595.4]
+  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45558.4]
+  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45559.4]
+  assign TLMonitor_io_in_a_ready = auto_out_a_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@45592.4]
+  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@45592.4]
+  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@45592.4]
+  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@45592.4]
+  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@45592.4]
+  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@45592.4]
+  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@45592.4]
+  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@45592.4]
+  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@45592.4]
+  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@45592.4]
+  assign TLMonitor_io_in_d_valid = auto_out_d_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@45592.4]
+  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@45592.4]
+  assign TLMonitor_io_in_d_bits_param = auto_out_d_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@45592.4]
+  assign TLMonitor_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@45592.4]
+  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@45592.4]
+  assign TLMonitor_io_in_d_bits_sink = auto_out_d_bits_sink; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@45592.4]
+  assign TLMonitor_io_in_d_bits_denied = auto_out_d_bits_denied; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@45592.4]
+  assign TLMonitor_io_in_d_bits_corrupt = auto_out_d_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@45592.4]
+endmodule
+module SimpleLazyModule_10( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45720.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45721.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45722.4]
+  input         auto_buffer_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45723.4]
+  output        auto_buffer_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45723.4]
+  output [2:0]  auto_buffer_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45723.4]
+  output [2:0]  auto_buffer_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45723.4]
+  output [3:0]  auto_buffer_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45723.4]
+  output        auto_buffer_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45723.4]
+  output [31:0] auto_buffer_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45723.4]
+  output [3:0]  auto_buffer_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45723.4]
+  output [31:0] auto_buffer_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45723.4]
+  output        auto_buffer_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45723.4]
+  output        auto_buffer_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45723.4]
+  input         auto_buffer_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45723.4]
+  input  [2:0]  auto_buffer_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45723.4]
+  input  [1:0]  auto_buffer_out_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45723.4]
+  input  [3:0]  auto_buffer_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45723.4]
+  input         auto_buffer_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45723.4]
+  input         auto_buffer_out_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45723.4]
+  input         auto_buffer_out_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45723.4]
+  input  [31:0] auto_buffer_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45723.4]
+  input         auto_buffer_out_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45723.4]
+  output        auto_tl_master_xing_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45723.4]
+  input         auto_tl_master_xing_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45723.4]
+  input  [2:0]  auto_tl_master_xing_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45723.4]
+  input  [2:0]  auto_tl_master_xing_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45723.4]
+  input  [3:0]  auto_tl_master_xing_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45723.4]
+  input         auto_tl_master_xing_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45723.4]
+  input  [31:0] auto_tl_master_xing_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45723.4]
+  input  [3:0]  auto_tl_master_xing_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45723.4]
+  input  [31:0] auto_tl_master_xing_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45723.4]
+  input         auto_tl_master_xing_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45723.4]
+  input         auto_tl_master_xing_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45723.4]
+  output        auto_tl_master_xing_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45723.4]
+  output [2:0]  auto_tl_master_xing_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45723.4]
+  output [1:0]  auto_tl_master_xing_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45723.4]
+  output [3:0]  auto_tl_master_xing_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45723.4]
+  output        auto_tl_master_xing_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45723.4]
+  output        auto_tl_master_xing_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45723.4]
+  output        auto_tl_master_xing_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45723.4]
+  output [31:0] auto_tl_master_xing_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45723.4]
+  output        auto_tl_master_xing_in_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45723.4]
+);
+  wire  buffer_clock; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45728.4]
+  wire  buffer_reset; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45728.4]
+  wire  buffer_auto_in_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45728.4]
+  wire  buffer_auto_in_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45728.4]
+  wire [2:0] buffer_auto_in_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45728.4]
+  wire [2:0] buffer_auto_in_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45728.4]
+  wire [3:0] buffer_auto_in_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45728.4]
+  wire  buffer_auto_in_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45728.4]
+  wire [31:0] buffer_auto_in_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45728.4]
+  wire [3:0] buffer_auto_in_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45728.4]
+  wire [31:0] buffer_auto_in_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45728.4]
+  wire  buffer_auto_in_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45728.4]
+  wire  buffer_auto_in_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45728.4]
+  wire  buffer_auto_in_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45728.4]
+  wire [2:0] buffer_auto_in_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45728.4]
+  wire [1:0] buffer_auto_in_d_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45728.4]
+  wire [3:0] buffer_auto_in_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45728.4]
+  wire  buffer_auto_in_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45728.4]
+  wire  buffer_auto_in_d_bits_sink; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45728.4]
+  wire  buffer_auto_in_d_bits_denied; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45728.4]
+  wire [31:0] buffer_auto_in_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45728.4]
+  wire  buffer_auto_in_d_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45728.4]
+  wire  buffer_auto_out_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45728.4]
+  wire  buffer_auto_out_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45728.4]
+  wire [2:0] buffer_auto_out_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45728.4]
+  wire [2:0] buffer_auto_out_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45728.4]
+  wire [3:0] buffer_auto_out_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45728.4]
+  wire  buffer_auto_out_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45728.4]
+  wire [31:0] buffer_auto_out_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45728.4]
+  wire [3:0] buffer_auto_out_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45728.4]
+  wire [31:0] buffer_auto_out_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45728.4]
+  wire  buffer_auto_out_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45728.4]
+  wire  buffer_auto_out_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45728.4]
+  wire  buffer_auto_out_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45728.4]
+  wire [2:0] buffer_auto_out_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45728.4]
+  wire [1:0] buffer_auto_out_d_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45728.4]
+  wire [3:0] buffer_auto_out_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45728.4]
+  wire  buffer_auto_out_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45728.4]
+  wire  buffer_auto_out_d_bits_sink; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45728.4]
+  wire  buffer_auto_out_d_bits_denied; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45728.4]
+  wire [31:0] buffer_auto_out_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45728.4]
+  wire  buffer_auto_out_d_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45728.4]
+  wire  fixer_clock; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45734.4]
+  wire  fixer_reset; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45734.4]
+  wire  fixer_auto_in_a_ready; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45734.4]
+  wire  fixer_auto_in_a_valid; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45734.4]
+  wire [2:0] fixer_auto_in_a_bits_opcode; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45734.4]
+  wire [2:0] fixer_auto_in_a_bits_param; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45734.4]
+  wire [3:0] fixer_auto_in_a_bits_size; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45734.4]
+  wire  fixer_auto_in_a_bits_source; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45734.4]
+  wire [31:0] fixer_auto_in_a_bits_address; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45734.4]
+  wire [3:0] fixer_auto_in_a_bits_mask; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45734.4]
+  wire [31:0] fixer_auto_in_a_bits_data; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45734.4]
+  wire  fixer_auto_in_a_bits_corrupt; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45734.4]
+  wire  fixer_auto_in_d_ready; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45734.4]
+  wire  fixer_auto_in_d_valid; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45734.4]
+  wire [2:0] fixer_auto_in_d_bits_opcode; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45734.4]
+  wire [1:0] fixer_auto_in_d_bits_param; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45734.4]
+  wire [3:0] fixer_auto_in_d_bits_size; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45734.4]
+  wire  fixer_auto_in_d_bits_source; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45734.4]
+  wire  fixer_auto_in_d_bits_sink; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45734.4]
+  wire  fixer_auto_in_d_bits_denied; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45734.4]
+  wire [31:0] fixer_auto_in_d_bits_data; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45734.4]
+  wire  fixer_auto_in_d_bits_corrupt; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45734.4]
+  wire  fixer_auto_out_a_ready; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45734.4]
+  wire  fixer_auto_out_a_valid; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45734.4]
+  wire [2:0] fixer_auto_out_a_bits_opcode; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45734.4]
+  wire [2:0] fixer_auto_out_a_bits_param; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45734.4]
+  wire [3:0] fixer_auto_out_a_bits_size; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45734.4]
+  wire  fixer_auto_out_a_bits_source; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45734.4]
+  wire [31:0] fixer_auto_out_a_bits_address; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45734.4]
+  wire [3:0] fixer_auto_out_a_bits_mask; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45734.4]
+  wire [31:0] fixer_auto_out_a_bits_data; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45734.4]
+  wire  fixer_auto_out_a_bits_corrupt; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45734.4]
+  wire  fixer_auto_out_d_ready; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45734.4]
+  wire  fixer_auto_out_d_valid; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45734.4]
+  wire [2:0] fixer_auto_out_d_bits_opcode; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45734.4]
+  wire [1:0] fixer_auto_out_d_bits_param; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45734.4]
+  wire [3:0] fixer_auto_out_d_bits_size; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45734.4]
+  wire  fixer_auto_out_d_bits_source; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45734.4]
+  wire  fixer_auto_out_d_bits_sink; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45734.4]
+  wire  fixer_auto_out_d_bits_denied; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45734.4]
+  wire [31:0] fixer_auto_out_d_bits_data; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45734.4]
+  wire  fixer_auto_out_d_bits_corrupt; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45734.4]
+  TLBuffer_9 buffer ( // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45728.4]
+    .clock(buffer_clock),
+    .reset(buffer_reset),
+    .auto_in_a_ready(buffer_auto_in_a_ready),
+    .auto_in_a_valid(buffer_auto_in_a_valid),
+    .auto_in_a_bits_opcode(buffer_auto_in_a_bits_opcode),
+    .auto_in_a_bits_param(buffer_auto_in_a_bits_param),
+    .auto_in_a_bits_size(buffer_auto_in_a_bits_size),
+    .auto_in_a_bits_source(buffer_auto_in_a_bits_source),
+    .auto_in_a_bits_address(buffer_auto_in_a_bits_address),
+    .auto_in_a_bits_mask(buffer_auto_in_a_bits_mask),
+    .auto_in_a_bits_data(buffer_auto_in_a_bits_data),
+    .auto_in_a_bits_corrupt(buffer_auto_in_a_bits_corrupt),
+    .auto_in_d_ready(buffer_auto_in_d_ready),
+    .auto_in_d_valid(buffer_auto_in_d_valid),
+    .auto_in_d_bits_opcode(buffer_auto_in_d_bits_opcode),
+    .auto_in_d_bits_param(buffer_auto_in_d_bits_param),
+    .auto_in_d_bits_size(buffer_auto_in_d_bits_size),
+    .auto_in_d_bits_source(buffer_auto_in_d_bits_source),
+    .auto_in_d_bits_sink(buffer_auto_in_d_bits_sink),
+    .auto_in_d_bits_denied(buffer_auto_in_d_bits_denied),
+    .auto_in_d_bits_data(buffer_auto_in_d_bits_data),
+    .auto_in_d_bits_corrupt(buffer_auto_in_d_bits_corrupt),
+    .auto_out_a_ready(buffer_auto_out_a_ready),
+    .auto_out_a_valid(buffer_auto_out_a_valid),
+    .auto_out_a_bits_opcode(buffer_auto_out_a_bits_opcode),
+    .auto_out_a_bits_param(buffer_auto_out_a_bits_param),
+    .auto_out_a_bits_size(buffer_auto_out_a_bits_size),
+    .auto_out_a_bits_source(buffer_auto_out_a_bits_source),
+    .auto_out_a_bits_address(buffer_auto_out_a_bits_address),
+    .auto_out_a_bits_mask(buffer_auto_out_a_bits_mask),
+    .auto_out_a_bits_data(buffer_auto_out_a_bits_data),
+    .auto_out_a_bits_corrupt(buffer_auto_out_a_bits_corrupt),
+    .auto_out_d_ready(buffer_auto_out_d_ready),
+    .auto_out_d_valid(buffer_auto_out_d_valid),
+    .auto_out_d_bits_opcode(buffer_auto_out_d_bits_opcode),
+    .auto_out_d_bits_param(buffer_auto_out_d_bits_param),
+    .auto_out_d_bits_size(buffer_auto_out_d_bits_size),
+    .auto_out_d_bits_source(buffer_auto_out_d_bits_source),
+    .auto_out_d_bits_sink(buffer_auto_out_d_bits_sink),
+    .auto_out_d_bits_denied(buffer_auto_out_d_bits_denied),
+    .auto_out_d_bits_data(buffer_auto_out_d_bits_data),
+    .auto_out_d_bits_corrupt(buffer_auto_out_d_bits_corrupt)
+  );
+  TLFIFOFixer_1 fixer ( // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45734.4]
+    .clock(fixer_clock),
+    .reset(fixer_reset),
+    .auto_in_a_ready(fixer_auto_in_a_ready),
+    .auto_in_a_valid(fixer_auto_in_a_valid),
+    .auto_in_a_bits_opcode(fixer_auto_in_a_bits_opcode),
+    .auto_in_a_bits_param(fixer_auto_in_a_bits_param),
+    .auto_in_a_bits_size(fixer_auto_in_a_bits_size),
+    .auto_in_a_bits_source(fixer_auto_in_a_bits_source),
+    .auto_in_a_bits_address(fixer_auto_in_a_bits_address),
+    .auto_in_a_bits_mask(fixer_auto_in_a_bits_mask),
+    .auto_in_a_bits_data(fixer_auto_in_a_bits_data),
+    .auto_in_a_bits_corrupt(fixer_auto_in_a_bits_corrupt),
+    .auto_in_d_ready(fixer_auto_in_d_ready),
+    .auto_in_d_valid(fixer_auto_in_d_valid),
+    .auto_in_d_bits_opcode(fixer_auto_in_d_bits_opcode),
+    .auto_in_d_bits_param(fixer_auto_in_d_bits_param),
+    .auto_in_d_bits_size(fixer_auto_in_d_bits_size),
+    .auto_in_d_bits_source(fixer_auto_in_d_bits_source),
+    .auto_in_d_bits_sink(fixer_auto_in_d_bits_sink),
+    .auto_in_d_bits_denied(fixer_auto_in_d_bits_denied),
+    .auto_in_d_bits_data(fixer_auto_in_d_bits_data),
+    .auto_in_d_bits_corrupt(fixer_auto_in_d_bits_corrupt),
+    .auto_out_a_ready(fixer_auto_out_a_ready),
+    .auto_out_a_valid(fixer_auto_out_a_valid),
+    .auto_out_a_bits_opcode(fixer_auto_out_a_bits_opcode),
+    .auto_out_a_bits_param(fixer_auto_out_a_bits_param),
+    .auto_out_a_bits_size(fixer_auto_out_a_bits_size),
+    .auto_out_a_bits_source(fixer_auto_out_a_bits_source),
+    .auto_out_a_bits_address(fixer_auto_out_a_bits_address),
+    .auto_out_a_bits_mask(fixer_auto_out_a_bits_mask),
+    .auto_out_a_bits_data(fixer_auto_out_a_bits_data),
+    .auto_out_a_bits_corrupt(fixer_auto_out_a_bits_corrupt),
+    .auto_out_d_ready(fixer_auto_out_d_ready),
+    .auto_out_d_valid(fixer_auto_out_d_valid),
+    .auto_out_d_bits_opcode(fixer_auto_out_d_bits_opcode),
+    .auto_out_d_bits_param(fixer_auto_out_d_bits_param),
+    .auto_out_d_bits_size(fixer_auto_out_d_bits_size),
+    .auto_out_d_bits_source(fixer_auto_out_d_bits_source),
+    .auto_out_d_bits_sink(fixer_auto_out_d_bits_sink),
+    .auto_out_d_bits_denied(fixer_auto_out_d_bits_denied),
+    .auto_out_d_bits_data(fixer_auto_out_d_bits_data),
+    .auto_out_d_bits_corrupt(fixer_auto_out_d_bits_corrupt)
+  );
+  assign auto_buffer_out_a_valid = buffer_auto_out_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45748.4]
+  assign auto_buffer_out_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45748.4]
+  assign auto_buffer_out_a_bits_param = buffer_auto_out_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45748.4]
+  assign auto_buffer_out_a_bits_size = buffer_auto_out_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45748.4]
+  assign auto_buffer_out_a_bits_source = buffer_auto_out_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45748.4]
+  assign auto_buffer_out_a_bits_address = buffer_auto_out_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45748.4]
+  assign auto_buffer_out_a_bits_mask = buffer_auto_out_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45748.4]
+  assign auto_buffer_out_a_bits_data = buffer_auto_out_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45748.4]
+  assign auto_buffer_out_a_bits_corrupt = buffer_auto_out_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45748.4]
+  assign auto_buffer_out_d_ready = buffer_auto_out_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45748.4]
+  assign auto_tl_master_xing_in_a_ready = fixer_auto_in_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45747.4]
+  assign auto_tl_master_xing_in_d_valid = fixer_auto_in_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45747.4]
+  assign auto_tl_master_xing_in_d_bits_opcode = fixer_auto_in_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45747.4]
+  assign auto_tl_master_xing_in_d_bits_param = fixer_auto_in_d_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45747.4]
+  assign auto_tl_master_xing_in_d_bits_size = fixer_auto_in_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45747.4]
+  assign auto_tl_master_xing_in_d_bits_source = fixer_auto_in_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45747.4]
+  assign auto_tl_master_xing_in_d_bits_sink = fixer_auto_in_d_bits_sink; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45747.4]
+  assign auto_tl_master_xing_in_d_bits_denied = fixer_auto_in_d_bits_denied; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45747.4]
+  assign auto_tl_master_xing_in_d_bits_data = fixer_auto_in_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45747.4]
+  assign auto_tl_master_xing_in_d_bits_corrupt = fixer_auto_in_d_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45747.4]
+  assign buffer_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45732.4]
+  assign buffer_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45733.4]
+  assign buffer_auto_in_a_valid = fixer_auto_out_a_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45745.4]
+  assign buffer_auto_in_a_bits_opcode = fixer_auto_out_a_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45745.4]
+  assign buffer_auto_in_a_bits_param = fixer_auto_out_a_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45745.4]
+  assign buffer_auto_in_a_bits_size = fixer_auto_out_a_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45745.4]
+  assign buffer_auto_in_a_bits_source = fixer_auto_out_a_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45745.4]
+  assign buffer_auto_in_a_bits_address = fixer_auto_out_a_bits_address; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45745.4]
+  assign buffer_auto_in_a_bits_mask = fixer_auto_out_a_bits_mask; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45745.4]
+  assign buffer_auto_in_a_bits_data = fixer_auto_out_a_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45745.4]
+  assign buffer_auto_in_a_bits_corrupt = fixer_auto_out_a_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45745.4]
+  assign buffer_auto_in_d_ready = fixer_auto_out_d_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45745.4]
+  assign buffer_auto_out_a_ready = auto_buffer_out_a_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45748.4]
+  assign buffer_auto_out_d_valid = auto_buffer_out_d_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45748.4]
+  assign buffer_auto_out_d_bits_opcode = auto_buffer_out_d_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45748.4]
+  assign buffer_auto_out_d_bits_param = auto_buffer_out_d_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45748.4]
+  assign buffer_auto_out_d_bits_size = auto_buffer_out_d_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45748.4]
+  assign buffer_auto_out_d_bits_source = auto_buffer_out_d_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45748.4]
+  assign buffer_auto_out_d_bits_sink = auto_buffer_out_d_bits_sink; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45748.4]
+  assign buffer_auto_out_d_bits_denied = auto_buffer_out_d_bits_denied; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45748.4]
+  assign buffer_auto_out_d_bits_data = auto_buffer_out_d_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45748.4]
+  assign buffer_auto_out_d_bits_corrupt = auto_buffer_out_d_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45748.4]
+  assign fixer_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45738.4]
+  assign fixer_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45739.4]
+  assign fixer_auto_in_a_valid = auto_tl_master_xing_in_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@45746.4]
+  assign fixer_auto_in_a_bits_opcode = auto_tl_master_xing_in_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@45746.4]
+  assign fixer_auto_in_a_bits_param = auto_tl_master_xing_in_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@45746.4]
+  assign fixer_auto_in_a_bits_size = auto_tl_master_xing_in_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@45746.4]
+  assign fixer_auto_in_a_bits_source = auto_tl_master_xing_in_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@45746.4]
+  assign fixer_auto_in_a_bits_address = auto_tl_master_xing_in_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@45746.4]
+  assign fixer_auto_in_a_bits_mask = auto_tl_master_xing_in_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@45746.4]
+  assign fixer_auto_in_a_bits_data = auto_tl_master_xing_in_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@45746.4]
+  assign fixer_auto_in_a_bits_corrupt = auto_tl_master_xing_in_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@45746.4]
+  assign fixer_auto_in_d_ready = auto_tl_master_xing_in_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@45746.4]
+  assign fixer_auto_out_a_ready = buffer_auto_in_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45745.4]
+  assign fixer_auto_out_d_valid = buffer_auto_in_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45745.4]
+  assign fixer_auto_out_d_bits_opcode = buffer_auto_in_d_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45745.4]
+  assign fixer_auto_out_d_bits_param = buffer_auto_in_d_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45745.4]
+  assign fixer_auto_out_d_bits_size = buffer_auto_in_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45745.4]
+  assign fixer_auto_out_d_bits_source = buffer_auto_in_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45745.4]
+  assign fixer_auto_out_d_bits_sink = buffer_auto_in_d_bits_sink; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45745.4]
+  assign fixer_auto_out_d_bits_denied = buffer_auto_in_d_bits_denied; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45745.4]
+  assign fixer_auto_out_d_bits_data = buffer_auto_in_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45745.4]
+  assign fixer_auto_out_d_bits_corrupt = buffer_auto_in_d_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45745.4]
+endmodule
+module SystemBus( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45750.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45751.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45752.4]
+  output        auto_coupler_from_tile_named_tile_tl_master_xing_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  input         auto_coupler_from_tile_named_tile_tl_master_xing_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  input  [2:0]  auto_coupler_from_tile_named_tile_tl_master_xing_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  input  [2:0]  auto_coupler_from_tile_named_tile_tl_master_xing_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  input  [3:0]  auto_coupler_from_tile_named_tile_tl_master_xing_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  input         auto_coupler_from_tile_named_tile_tl_master_xing_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  input  [31:0] auto_coupler_from_tile_named_tile_tl_master_xing_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  input  [3:0]  auto_coupler_from_tile_named_tile_tl_master_xing_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  input  [31:0] auto_coupler_from_tile_named_tile_tl_master_xing_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  input         auto_coupler_from_tile_named_tile_tl_master_xing_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  input         auto_coupler_from_tile_named_tile_tl_master_xing_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  output        auto_coupler_from_tile_named_tile_tl_master_xing_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  output [2:0]  auto_coupler_from_tile_named_tile_tl_master_xing_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  output [1:0]  auto_coupler_from_tile_named_tile_tl_master_xing_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  output [3:0]  auto_coupler_from_tile_named_tile_tl_master_xing_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  output        auto_coupler_from_tile_named_tile_tl_master_xing_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  output        auto_coupler_from_tile_named_tile_tl_master_xing_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  output        auto_coupler_from_tile_named_tile_tl_master_xing_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  output [31:0] auto_coupler_from_tile_named_tile_tl_master_xing_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  output        auto_coupler_from_tile_named_tile_tl_master_xing_in_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  output [2:0]  auto_control_bus_coupler_to_slave_named_aon_asource_out_a_mem_0_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  output [2:0]  auto_control_bus_coupler_to_slave_named_aon_asource_out_a_mem_0_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  output [1:0]  auto_control_bus_coupler_to_slave_named_aon_asource_out_a_mem_0_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  output [5:0]  auto_control_bus_coupler_to_slave_named_aon_asource_out_a_mem_0_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  output [28:0] auto_control_bus_coupler_to_slave_named_aon_asource_out_a_mem_0_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  output [3:0]  auto_control_bus_coupler_to_slave_named_aon_asource_out_a_mem_0_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  output [31:0] auto_control_bus_coupler_to_slave_named_aon_asource_out_a_mem_0_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  output        auto_control_bus_coupler_to_slave_named_aon_asource_out_a_mem_0_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  input         auto_control_bus_coupler_to_slave_named_aon_asource_out_a_ridx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  output        auto_control_bus_coupler_to_slave_named_aon_asource_out_a_widx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  input         auto_control_bus_coupler_to_slave_named_aon_asource_out_a_safe_ridx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  output        auto_control_bus_coupler_to_slave_named_aon_asource_out_a_safe_widx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  output        auto_control_bus_coupler_to_slave_named_aon_asource_out_a_safe_source_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  input         auto_control_bus_coupler_to_slave_named_aon_asource_out_a_safe_sink_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  input  [2:0]  auto_control_bus_coupler_to_slave_named_aon_asource_out_d_mem_0_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  input  [1:0]  auto_control_bus_coupler_to_slave_named_aon_asource_out_d_mem_0_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  input  [1:0]  auto_control_bus_coupler_to_slave_named_aon_asource_out_d_mem_0_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  input  [5:0]  auto_control_bus_coupler_to_slave_named_aon_asource_out_d_mem_0_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  input         auto_control_bus_coupler_to_slave_named_aon_asource_out_d_mem_0_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  input         auto_control_bus_coupler_to_slave_named_aon_asource_out_d_mem_0_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  input  [31:0] auto_control_bus_coupler_to_slave_named_aon_asource_out_d_mem_0_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  input         auto_control_bus_coupler_to_slave_named_aon_asource_out_d_mem_0_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  output        auto_control_bus_coupler_to_slave_named_aon_asource_out_d_ridx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  input         auto_control_bus_coupler_to_slave_named_aon_asource_out_d_widx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  output        auto_control_bus_coupler_to_slave_named_aon_asource_out_d_safe_ridx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  input         auto_control_bus_coupler_to_slave_named_aon_asource_out_d_safe_widx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  input         auto_control_bus_coupler_to_slave_named_aon_asource_out_d_safe_source_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  output        auto_control_bus_coupler_to_slave_named_aon_asource_out_d_safe_sink_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  input         auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  output        auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  output [2:0]  auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  output [2:0]  auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  output [1:0]  auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  output [5:0]  auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  output [16:0] auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  output [3:0]  auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  output        auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  output        auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  input         auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  input  [1:0]  auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  input  [5:0]  auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  input  [31:0] auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  input         auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  output        auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  output [2:0]  auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  output [2:0]  auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  output [2:0]  auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  output        auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  output [31:0] auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  output [3:0]  auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  output [31:0] auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  output        auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  output        auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  input         auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  input  [2:0]  auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  input  [1:0]  auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  input  [2:0]  auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  input         auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  input         auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  input         auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  input  [31:0] auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  input         auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  input         auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  output        auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  output [2:0]  auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  output [2:0]  auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  output [1:0]  auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  output [5:0]  auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  output [11:0] auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  output [3:0]  auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  output [31:0] auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  output        auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  output        auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  input         auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  input  [2:0]  auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  input  [1:0]  auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  input  [5:0]  auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  input  [31:0] auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  input         auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  output        auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  output [2:0]  auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  output [2:0]  auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  output [1:0]  auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  output [5:0]  auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  output [25:0] auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  output [3:0]  auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  output [31:0] auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  output        auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  output        auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  input         auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  input  [2:0]  auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  input  [1:0]  auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  input  [5:0]  auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  input  [31:0] auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  input         auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  output        auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  output [2:0]  auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  output [2:0]  auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  output [1:0]  auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  output [5:0]  auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  output [27:0] auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  output [3:0]  auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  output [31:0] auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  output        auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  output        auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  input         auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  input  [2:0]  auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  input  [1:0]  auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  input  [5:0]  auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  input  [31:0] auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  input         auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  output        auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  output [2:0]  auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  output [2:0]  auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  output [3:0]  auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  output        auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  output [29:0] auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  output [3:0]  auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  output [31:0] auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  output        auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  output        auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  input         auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  input  [2:0]  auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  input  [1:0]  auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  input  [3:0]  auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  input         auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  input         auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  input         auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  input  [31:0] auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+  input         auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
+);
+  wire  system_bus_xbar_clock; // @[BusWrapper.scala 160:32:shc.marmotcaravel.MarmotCaravelConfig.fir@45758.4]
+  wire  system_bus_xbar_reset; // @[BusWrapper.scala 160:32:shc.marmotcaravel.MarmotCaravelConfig.fir@45758.4]
+  wire  system_bus_xbar_auto_in_a_ready; // @[BusWrapper.scala 160:32:shc.marmotcaravel.MarmotCaravelConfig.fir@45758.4]
+  wire  system_bus_xbar_auto_in_a_valid; // @[BusWrapper.scala 160:32:shc.marmotcaravel.MarmotCaravelConfig.fir@45758.4]
+  wire [2:0] system_bus_xbar_auto_in_a_bits_opcode; // @[BusWrapper.scala 160:32:shc.marmotcaravel.MarmotCaravelConfig.fir@45758.4]
+  wire [2:0] system_bus_xbar_auto_in_a_bits_param; // @[BusWrapper.scala 160:32:shc.marmotcaravel.MarmotCaravelConfig.fir@45758.4]
+  wire [3:0] system_bus_xbar_auto_in_a_bits_size; // @[BusWrapper.scala 160:32:shc.marmotcaravel.MarmotCaravelConfig.fir@45758.4]
+  wire  system_bus_xbar_auto_in_a_bits_source; // @[BusWrapper.scala 160:32:shc.marmotcaravel.MarmotCaravelConfig.fir@45758.4]
+  wire [31:0] system_bus_xbar_auto_in_a_bits_address; // @[BusWrapper.scala 160:32:shc.marmotcaravel.MarmotCaravelConfig.fir@45758.4]
+  wire [3:0] system_bus_xbar_auto_in_a_bits_mask; // @[BusWrapper.scala 160:32:shc.marmotcaravel.MarmotCaravelConfig.fir@45758.4]
+  wire [31:0] system_bus_xbar_auto_in_a_bits_data; // @[BusWrapper.scala 160:32:shc.marmotcaravel.MarmotCaravelConfig.fir@45758.4]
+  wire  system_bus_xbar_auto_in_a_bits_corrupt; // @[BusWrapper.scala 160:32:shc.marmotcaravel.MarmotCaravelConfig.fir@45758.4]
+  wire  system_bus_xbar_auto_in_d_ready; // @[BusWrapper.scala 160:32:shc.marmotcaravel.MarmotCaravelConfig.fir@45758.4]
+  wire  system_bus_xbar_auto_in_d_valid; // @[BusWrapper.scala 160:32:shc.marmotcaravel.MarmotCaravelConfig.fir@45758.4]
+  wire [2:0] system_bus_xbar_auto_in_d_bits_opcode; // @[BusWrapper.scala 160:32:shc.marmotcaravel.MarmotCaravelConfig.fir@45758.4]
+  wire [1:0] system_bus_xbar_auto_in_d_bits_param; // @[BusWrapper.scala 160:32:shc.marmotcaravel.MarmotCaravelConfig.fir@45758.4]
+  wire [3:0] system_bus_xbar_auto_in_d_bits_size; // @[BusWrapper.scala 160:32:shc.marmotcaravel.MarmotCaravelConfig.fir@45758.4]
+  wire  system_bus_xbar_auto_in_d_bits_source; // @[BusWrapper.scala 160:32:shc.marmotcaravel.MarmotCaravelConfig.fir@45758.4]
+  wire  system_bus_xbar_auto_in_d_bits_sink; // @[BusWrapper.scala 160:32:shc.marmotcaravel.MarmotCaravelConfig.fir@45758.4]
+  wire  system_bus_xbar_auto_in_d_bits_denied; // @[BusWrapper.scala 160:32:shc.marmotcaravel.MarmotCaravelConfig.fir@45758.4]
+  wire [31:0] system_bus_xbar_auto_in_d_bits_data; // @[BusWrapper.scala 160:32:shc.marmotcaravel.MarmotCaravelConfig.fir@45758.4]
+  wire  system_bus_xbar_auto_in_d_bits_corrupt; // @[BusWrapper.scala 160:32:shc.marmotcaravel.MarmotCaravelConfig.fir@45758.4]
+  wire  system_bus_xbar_auto_out_a_ready; // @[BusWrapper.scala 160:32:shc.marmotcaravel.MarmotCaravelConfig.fir@45758.4]
+  wire  system_bus_xbar_auto_out_a_valid; // @[BusWrapper.scala 160:32:shc.marmotcaravel.MarmotCaravelConfig.fir@45758.4]
+  wire [2:0] system_bus_xbar_auto_out_a_bits_opcode; // @[BusWrapper.scala 160:32:shc.marmotcaravel.MarmotCaravelConfig.fir@45758.4]
+  wire [2:0] system_bus_xbar_auto_out_a_bits_param; // @[BusWrapper.scala 160:32:shc.marmotcaravel.MarmotCaravelConfig.fir@45758.4]
+  wire [3:0] system_bus_xbar_auto_out_a_bits_size; // @[BusWrapper.scala 160:32:shc.marmotcaravel.MarmotCaravelConfig.fir@45758.4]
+  wire  system_bus_xbar_auto_out_a_bits_source; // @[BusWrapper.scala 160:32:shc.marmotcaravel.MarmotCaravelConfig.fir@45758.4]
+  wire [31:0] system_bus_xbar_auto_out_a_bits_address; // @[BusWrapper.scala 160:32:shc.marmotcaravel.MarmotCaravelConfig.fir@45758.4]
+  wire [3:0] system_bus_xbar_auto_out_a_bits_mask; // @[BusWrapper.scala 160:32:shc.marmotcaravel.MarmotCaravelConfig.fir@45758.4]
+  wire [31:0] system_bus_xbar_auto_out_a_bits_data; // @[BusWrapper.scala 160:32:shc.marmotcaravel.MarmotCaravelConfig.fir@45758.4]
+  wire  system_bus_xbar_auto_out_a_bits_corrupt; // @[BusWrapper.scala 160:32:shc.marmotcaravel.MarmotCaravelConfig.fir@45758.4]
+  wire  system_bus_xbar_auto_out_d_ready; // @[BusWrapper.scala 160:32:shc.marmotcaravel.MarmotCaravelConfig.fir@45758.4]
+  wire  system_bus_xbar_auto_out_d_valid; // @[BusWrapper.scala 160:32:shc.marmotcaravel.MarmotCaravelConfig.fir@45758.4]
+  wire [2:0] system_bus_xbar_auto_out_d_bits_opcode; // @[BusWrapper.scala 160:32:shc.marmotcaravel.MarmotCaravelConfig.fir@45758.4]
+  wire [1:0] system_bus_xbar_auto_out_d_bits_param; // @[BusWrapper.scala 160:32:shc.marmotcaravel.MarmotCaravelConfig.fir@45758.4]
+  wire [3:0] system_bus_xbar_auto_out_d_bits_size; // @[BusWrapper.scala 160:32:shc.marmotcaravel.MarmotCaravelConfig.fir@45758.4]
+  wire  system_bus_xbar_auto_out_d_bits_source; // @[BusWrapper.scala 160:32:shc.marmotcaravel.MarmotCaravelConfig.fir@45758.4]
+  wire  system_bus_xbar_auto_out_d_bits_sink; // @[BusWrapper.scala 160:32:shc.marmotcaravel.MarmotCaravelConfig.fir@45758.4]
+  wire  system_bus_xbar_auto_out_d_bits_denied; // @[BusWrapper.scala 160:32:shc.marmotcaravel.MarmotCaravelConfig.fir@45758.4]
+  wire [31:0] system_bus_xbar_auto_out_d_bits_data; // @[BusWrapper.scala 160:32:shc.marmotcaravel.MarmotCaravelConfig.fir@45758.4]
+  wire  system_bus_xbar_auto_out_d_bits_corrupt; // @[BusWrapper.scala 160:32:shc.marmotcaravel.MarmotCaravelConfig.fir@45758.4]
+  wire  control_bus_clock; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire  control_bus_reset; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire [2:0] control_bus_auto_coupler_to_slave_named_aon_asource_out_a_mem_0_opcode; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire [2:0] control_bus_auto_coupler_to_slave_named_aon_asource_out_a_mem_0_param; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire [1:0] control_bus_auto_coupler_to_slave_named_aon_asource_out_a_mem_0_size; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire [5:0] control_bus_auto_coupler_to_slave_named_aon_asource_out_a_mem_0_source; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire [28:0] control_bus_auto_coupler_to_slave_named_aon_asource_out_a_mem_0_address; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire [3:0] control_bus_auto_coupler_to_slave_named_aon_asource_out_a_mem_0_mask; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire [31:0] control_bus_auto_coupler_to_slave_named_aon_asource_out_a_mem_0_data; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire  control_bus_auto_coupler_to_slave_named_aon_asource_out_a_mem_0_corrupt; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire  control_bus_auto_coupler_to_slave_named_aon_asource_out_a_ridx; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire  control_bus_auto_coupler_to_slave_named_aon_asource_out_a_widx; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire  control_bus_auto_coupler_to_slave_named_aon_asource_out_a_safe_ridx_valid; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire  control_bus_auto_coupler_to_slave_named_aon_asource_out_a_safe_widx_valid; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire  control_bus_auto_coupler_to_slave_named_aon_asource_out_a_safe_source_reset_n; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire  control_bus_auto_coupler_to_slave_named_aon_asource_out_a_safe_sink_reset_n; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire [2:0] control_bus_auto_coupler_to_slave_named_aon_asource_out_d_mem_0_opcode; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire [1:0] control_bus_auto_coupler_to_slave_named_aon_asource_out_d_mem_0_param; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire [1:0] control_bus_auto_coupler_to_slave_named_aon_asource_out_d_mem_0_size; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire [5:0] control_bus_auto_coupler_to_slave_named_aon_asource_out_d_mem_0_source; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire  control_bus_auto_coupler_to_slave_named_aon_asource_out_d_mem_0_sink; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire  control_bus_auto_coupler_to_slave_named_aon_asource_out_d_mem_0_denied; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire [31:0] control_bus_auto_coupler_to_slave_named_aon_asource_out_d_mem_0_data; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire  control_bus_auto_coupler_to_slave_named_aon_asource_out_d_mem_0_corrupt; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire  control_bus_auto_coupler_to_slave_named_aon_asource_out_d_ridx; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire  control_bus_auto_coupler_to_slave_named_aon_asource_out_d_widx; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire  control_bus_auto_coupler_to_slave_named_aon_asource_out_d_safe_ridx_valid; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire  control_bus_auto_coupler_to_slave_named_aon_asource_out_d_safe_widx_valid; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire  control_bus_auto_coupler_to_slave_named_aon_asource_out_d_safe_source_reset_n; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire  control_bus_auto_coupler_to_slave_named_aon_asource_out_d_safe_sink_reset_n; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire  control_bus_auto_coupler_to_slave_named_MaskROM_fragmenter_out_a_ready; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire  control_bus_auto_coupler_to_slave_named_MaskROM_fragmenter_out_a_valid; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire [2:0] control_bus_auto_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_opcode; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire [2:0] control_bus_auto_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_param; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire [1:0] control_bus_auto_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_size; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire [5:0] control_bus_auto_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_source; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire [16:0] control_bus_auto_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_address; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire [3:0] control_bus_auto_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_mask; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire  control_bus_auto_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_corrupt; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire  control_bus_auto_coupler_to_slave_named_MaskROM_fragmenter_out_d_ready; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire  control_bus_auto_coupler_to_slave_named_MaskROM_fragmenter_out_d_valid; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire [1:0] control_bus_auto_coupler_to_slave_named_MaskROM_fragmenter_out_d_bits_size; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire [5:0] control_bus_auto_coupler_to_slave_named_MaskROM_fragmenter_out_d_bits_source; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire [31:0] control_bus_auto_coupler_to_slave_named_MaskROM_fragmenter_out_d_bits_data; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire  control_bus_auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_ready; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire  control_bus_auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_valid; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire [2:0] control_bus_auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_opcode; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire [2:0] control_bus_auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_param; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire [2:0] control_bus_auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_size; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire  control_bus_auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_source; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire [31:0] control_bus_auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_address; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire [3:0] control_bus_auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_mask; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire [31:0] control_bus_auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_data; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire  control_bus_auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_corrupt; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire  control_bus_auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_ready; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire  control_bus_auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_valid; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire [2:0] control_bus_auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_opcode; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire [1:0] control_bus_auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_param; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire [2:0] control_bus_auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_size; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire  control_bus_auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_source; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire  control_bus_auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_sink; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire  control_bus_auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_denied; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire [31:0] control_bus_auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_data; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire  control_bus_auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_corrupt; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire  control_bus_auto_coupler_to_slave_named_debug_fragmenter_out_a_ready; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire  control_bus_auto_coupler_to_slave_named_debug_fragmenter_out_a_valid; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire [2:0] control_bus_auto_coupler_to_slave_named_debug_fragmenter_out_a_bits_opcode; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire [2:0] control_bus_auto_coupler_to_slave_named_debug_fragmenter_out_a_bits_param; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire [1:0] control_bus_auto_coupler_to_slave_named_debug_fragmenter_out_a_bits_size; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire [5:0] control_bus_auto_coupler_to_slave_named_debug_fragmenter_out_a_bits_source; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire [11:0] control_bus_auto_coupler_to_slave_named_debug_fragmenter_out_a_bits_address; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire [3:0] control_bus_auto_coupler_to_slave_named_debug_fragmenter_out_a_bits_mask; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire [31:0] control_bus_auto_coupler_to_slave_named_debug_fragmenter_out_a_bits_data; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire  control_bus_auto_coupler_to_slave_named_debug_fragmenter_out_a_bits_corrupt; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire  control_bus_auto_coupler_to_slave_named_debug_fragmenter_out_d_ready; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire  control_bus_auto_coupler_to_slave_named_debug_fragmenter_out_d_valid; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire [2:0] control_bus_auto_coupler_to_slave_named_debug_fragmenter_out_d_bits_opcode; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire [1:0] control_bus_auto_coupler_to_slave_named_debug_fragmenter_out_d_bits_size; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire [5:0] control_bus_auto_coupler_to_slave_named_debug_fragmenter_out_d_bits_source; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire [31:0] control_bus_auto_coupler_to_slave_named_debug_fragmenter_out_d_bits_data; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire  control_bus_auto_coupler_to_slave_named_clint_fragmenter_out_a_ready; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire  control_bus_auto_coupler_to_slave_named_clint_fragmenter_out_a_valid; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire [2:0] control_bus_auto_coupler_to_slave_named_clint_fragmenter_out_a_bits_opcode; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire [2:0] control_bus_auto_coupler_to_slave_named_clint_fragmenter_out_a_bits_param; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire [1:0] control_bus_auto_coupler_to_slave_named_clint_fragmenter_out_a_bits_size; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire [5:0] control_bus_auto_coupler_to_slave_named_clint_fragmenter_out_a_bits_source; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire [25:0] control_bus_auto_coupler_to_slave_named_clint_fragmenter_out_a_bits_address; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire [3:0] control_bus_auto_coupler_to_slave_named_clint_fragmenter_out_a_bits_mask; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire [31:0] control_bus_auto_coupler_to_slave_named_clint_fragmenter_out_a_bits_data; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire  control_bus_auto_coupler_to_slave_named_clint_fragmenter_out_a_bits_corrupt; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire  control_bus_auto_coupler_to_slave_named_clint_fragmenter_out_d_ready; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire  control_bus_auto_coupler_to_slave_named_clint_fragmenter_out_d_valid; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire [2:0] control_bus_auto_coupler_to_slave_named_clint_fragmenter_out_d_bits_opcode; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire [1:0] control_bus_auto_coupler_to_slave_named_clint_fragmenter_out_d_bits_size; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire [5:0] control_bus_auto_coupler_to_slave_named_clint_fragmenter_out_d_bits_source; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire [31:0] control_bus_auto_coupler_to_slave_named_clint_fragmenter_out_d_bits_data; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire  control_bus_auto_coupler_to_slave_named_plic_fragmenter_out_a_ready; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire  control_bus_auto_coupler_to_slave_named_plic_fragmenter_out_a_valid; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire [2:0] control_bus_auto_coupler_to_slave_named_plic_fragmenter_out_a_bits_opcode; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire [2:0] control_bus_auto_coupler_to_slave_named_plic_fragmenter_out_a_bits_param; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire [1:0] control_bus_auto_coupler_to_slave_named_plic_fragmenter_out_a_bits_size; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire [5:0] control_bus_auto_coupler_to_slave_named_plic_fragmenter_out_a_bits_source; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire [27:0] control_bus_auto_coupler_to_slave_named_plic_fragmenter_out_a_bits_address; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire [3:0] control_bus_auto_coupler_to_slave_named_plic_fragmenter_out_a_bits_mask; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire [31:0] control_bus_auto_coupler_to_slave_named_plic_fragmenter_out_a_bits_data; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire  control_bus_auto_coupler_to_slave_named_plic_fragmenter_out_a_bits_corrupt; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire  control_bus_auto_coupler_to_slave_named_plic_fragmenter_out_d_ready; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire  control_bus_auto_coupler_to_slave_named_plic_fragmenter_out_d_valid; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire [2:0] control_bus_auto_coupler_to_slave_named_plic_fragmenter_out_d_bits_opcode; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire [1:0] control_bus_auto_coupler_to_slave_named_plic_fragmenter_out_d_bits_size; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire [5:0] control_bus_auto_coupler_to_slave_named_plic_fragmenter_out_d_bits_source; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire [31:0] control_bus_auto_coupler_to_slave_named_plic_fragmenter_out_d_bits_data; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire  control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_a_ready; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire  control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_a_valid; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire [2:0] control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_a_bits_opcode; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire [2:0] control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_a_bits_param; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire [3:0] control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_a_bits_size; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire  control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_a_bits_source; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire [29:0] control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_a_bits_address; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire [3:0] control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_a_bits_mask; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire [31:0] control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_a_bits_data; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire  control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_a_bits_corrupt; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire  control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_d_ready; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire  control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_d_valid; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire [2:0] control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_d_bits_opcode; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire [1:0] control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_d_bits_param; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire [3:0] control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_d_bits_size; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire  control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_d_bits_source; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire  control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_d_bits_sink; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire  control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_d_bits_denied; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire [31:0] control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_d_bits_data; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire  control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_d_bits_corrupt; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire  control_bus_auto_from_sbus_in_a_ready; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire  control_bus_auto_from_sbus_in_a_valid; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire [2:0] control_bus_auto_from_sbus_in_a_bits_opcode; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire [2:0] control_bus_auto_from_sbus_in_a_bits_param; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire [3:0] control_bus_auto_from_sbus_in_a_bits_size; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire  control_bus_auto_from_sbus_in_a_bits_source; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire [31:0] control_bus_auto_from_sbus_in_a_bits_address; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire [3:0] control_bus_auto_from_sbus_in_a_bits_mask; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire [31:0] control_bus_auto_from_sbus_in_a_bits_data; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire  control_bus_auto_from_sbus_in_a_bits_corrupt; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire  control_bus_auto_from_sbus_in_d_ready; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire  control_bus_auto_from_sbus_in_d_valid; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire [2:0] control_bus_auto_from_sbus_in_d_bits_opcode; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire [1:0] control_bus_auto_from_sbus_in_d_bits_param; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire [3:0] control_bus_auto_from_sbus_in_d_bits_size; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire  control_bus_auto_from_sbus_in_d_bits_source; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire  control_bus_auto_from_sbus_in_d_bits_sink; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire  control_bus_auto_from_sbus_in_d_bits_denied; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire [31:0] control_bus_auto_from_sbus_in_d_bits_data; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire  control_bus_auto_from_sbus_in_d_bits_corrupt; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+  wire  coupler_to_bus_named_cbus_clock; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45770.4]
+  wire  coupler_to_bus_named_cbus_reset; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45770.4]
+  wire  coupler_to_bus_named_cbus_auto_buffer_in_a_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45770.4]
+  wire  coupler_to_bus_named_cbus_auto_buffer_in_a_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45770.4]
+  wire [2:0] coupler_to_bus_named_cbus_auto_buffer_in_a_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45770.4]
+  wire [2:0] coupler_to_bus_named_cbus_auto_buffer_in_a_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45770.4]
+  wire [3:0] coupler_to_bus_named_cbus_auto_buffer_in_a_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45770.4]
+  wire  coupler_to_bus_named_cbus_auto_buffer_in_a_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45770.4]
+  wire [31:0] coupler_to_bus_named_cbus_auto_buffer_in_a_bits_address; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45770.4]
+  wire [3:0] coupler_to_bus_named_cbus_auto_buffer_in_a_bits_mask; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45770.4]
+  wire [31:0] coupler_to_bus_named_cbus_auto_buffer_in_a_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45770.4]
+  wire  coupler_to_bus_named_cbus_auto_buffer_in_a_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45770.4]
+  wire  coupler_to_bus_named_cbus_auto_buffer_in_d_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45770.4]
+  wire  coupler_to_bus_named_cbus_auto_buffer_in_d_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45770.4]
+  wire [2:0] coupler_to_bus_named_cbus_auto_buffer_in_d_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45770.4]
+  wire [1:0] coupler_to_bus_named_cbus_auto_buffer_in_d_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45770.4]
+  wire [3:0] coupler_to_bus_named_cbus_auto_buffer_in_d_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45770.4]
+  wire  coupler_to_bus_named_cbus_auto_buffer_in_d_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45770.4]
+  wire  coupler_to_bus_named_cbus_auto_buffer_in_d_bits_sink; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45770.4]
+  wire  coupler_to_bus_named_cbus_auto_buffer_in_d_bits_denied; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45770.4]
+  wire [31:0] coupler_to_bus_named_cbus_auto_buffer_in_d_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45770.4]
+  wire  coupler_to_bus_named_cbus_auto_buffer_in_d_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45770.4]
+  wire  coupler_to_bus_named_cbus_auto_from_sbus_out_a_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45770.4]
+  wire  coupler_to_bus_named_cbus_auto_from_sbus_out_a_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45770.4]
+  wire [2:0] coupler_to_bus_named_cbus_auto_from_sbus_out_a_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45770.4]
+  wire [2:0] coupler_to_bus_named_cbus_auto_from_sbus_out_a_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45770.4]
+  wire [3:0] coupler_to_bus_named_cbus_auto_from_sbus_out_a_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45770.4]
+  wire  coupler_to_bus_named_cbus_auto_from_sbus_out_a_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45770.4]
+  wire [31:0] coupler_to_bus_named_cbus_auto_from_sbus_out_a_bits_address; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45770.4]
+  wire [3:0] coupler_to_bus_named_cbus_auto_from_sbus_out_a_bits_mask; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45770.4]
+  wire [31:0] coupler_to_bus_named_cbus_auto_from_sbus_out_a_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45770.4]
+  wire  coupler_to_bus_named_cbus_auto_from_sbus_out_a_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45770.4]
+  wire  coupler_to_bus_named_cbus_auto_from_sbus_out_d_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45770.4]
+  wire  coupler_to_bus_named_cbus_auto_from_sbus_out_d_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45770.4]
+  wire [2:0] coupler_to_bus_named_cbus_auto_from_sbus_out_d_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45770.4]
+  wire [1:0] coupler_to_bus_named_cbus_auto_from_sbus_out_d_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45770.4]
+  wire [3:0] coupler_to_bus_named_cbus_auto_from_sbus_out_d_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45770.4]
+  wire  coupler_to_bus_named_cbus_auto_from_sbus_out_d_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45770.4]
+  wire  coupler_to_bus_named_cbus_auto_from_sbus_out_d_bits_sink; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45770.4]
+  wire  coupler_to_bus_named_cbus_auto_from_sbus_out_d_bits_denied; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45770.4]
+  wire [31:0] coupler_to_bus_named_cbus_auto_from_sbus_out_d_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45770.4]
+  wire  coupler_to_bus_named_cbus_auto_from_sbus_out_d_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45770.4]
+  wire  master_splitter_clock; // @[SystemBus.scala 36:43:shc.marmotcaravel.MarmotCaravelConfig.fir@45776.4]
+  wire  master_splitter_reset; // @[SystemBus.scala 36:43:shc.marmotcaravel.MarmotCaravelConfig.fir@45776.4]
+  wire  master_splitter_auto_in_a_ready; // @[SystemBus.scala 36:43:shc.marmotcaravel.MarmotCaravelConfig.fir@45776.4]
+  wire  master_splitter_auto_in_a_valid; // @[SystemBus.scala 36:43:shc.marmotcaravel.MarmotCaravelConfig.fir@45776.4]
+  wire [2:0] master_splitter_auto_in_a_bits_opcode; // @[SystemBus.scala 36:43:shc.marmotcaravel.MarmotCaravelConfig.fir@45776.4]
+  wire [2:0] master_splitter_auto_in_a_bits_param; // @[SystemBus.scala 36:43:shc.marmotcaravel.MarmotCaravelConfig.fir@45776.4]
+  wire [3:0] master_splitter_auto_in_a_bits_size; // @[SystemBus.scala 36:43:shc.marmotcaravel.MarmotCaravelConfig.fir@45776.4]
+  wire  master_splitter_auto_in_a_bits_source; // @[SystemBus.scala 36:43:shc.marmotcaravel.MarmotCaravelConfig.fir@45776.4]
+  wire [31:0] master_splitter_auto_in_a_bits_address; // @[SystemBus.scala 36:43:shc.marmotcaravel.MarmotCaravelConfig.fir@45776.4]
+  wire [3:0] master_splitter_auto_in_a_bits_mask; // @[SystemBus.scala 36:43:shc.marmotcaravel.MarmotCaravelConfig.fir@45776.4]
+  wire [31:0] master_splitter_auto_in_a_bits_data; // @[SystemBus.scala 36:43:shc.marmotcaravel.MarmotCaravelConfig.fir@45776.4]
+  wire  master_splitter_auto_in_a_bits_corrupt; // @[SystemBus.scala 36:43:shc.marmotcaravel.MarmotCaravelConfig.fir@45776.4]
+  wire  master_splitter_auto_in_d_ready; // @[SystemBus.scala 36:43:shc.marmotcaravel.MarmotCaravelConfig.fir@45776.4]
+  wire  master_splitter_auto_in_d_valid; // @[SystemBus.scala 36:43:shc.marmotcaravel.MarmotCaravelConfig.fir@45776.4]
+  wire [2:0] master_splitter_auto_in_d_bits_opcode; // @[SystemBus.scala 36:43:shc.marmotcaravel.MarmotCaravelConfig.fir@45776.4]
+  wire [1:0] master_splitter_auto_in_d_bits_param; // @[SystemBus.scala 36:43:shc.marmotcaravel.MarmotCaravelConfig.fir@45776.4]
+  wire [3:0] master_splitter_auto_in_d_bits_size; // @[SystemBus.scala 36:43:shc.marmotcaravel.MarmotCaravelConfig.fir@45776.4]
+  wire  master_splitter_auto_in_d_bits_source; // @[SystemBus.scala 36:43:shc.marmotcaravel.MarmotCaravelConfig.fir@45776.4]
+  wire  master_splitter_auto_in_d_bits_sink; // @[SystemBus.scala 36:43:shc.marmotcaravel.MarmotCaravelConfig.fir@45776.4]
+  wire  master_splitter_auto_in_d_bits_denied; // @[SystemBus.scala 36:43:shc.marmotcaravel.MarmotCaravelConfig.fir@45776.4]
+  wire [31:0] master_splitter_auto_in_d_bits_data; // @[SystemBus.scala 36:43:shc.marmotcaravel.MarmotCaravelConfig.fir@45776.4]
+  wire  master_splitter_auto_in_d_bits_corrupt; // @[SystemBus.scala 36:43:shc.marmotcaravel.MarmotCaravelConfig.fir@45776.4]
+  wire  master_splitter_auto_out_a_ready; // @[SystemBus.scala 36:43:shc.marmotcaravel.MarmotCaravelConfig.fir@45776.4]
+  wire  master_splitter_auto_out_a_valid; // @[SystemBus.scala 36:43:shc.marmotcaravel.MarmotCaravelConfig.fir@45776.4]
+  wire [2:0] master_splitter_auto_out_a_bits_opcode; // @[SystemBus.scala 36:43:shc.marmotcaravel.MarmotCaravelConfig.fir@45776.4]
+  wire [2:0] master_splitter_auto_out_a_bits_param; // @[SystemBus.scala 36:43:shc.marmotcaravel.MarmotCaravelConfig.fir@45776.4]
+  wire [3:0] master_splitter_auto_out_a_bits_size; // @[SystemBus.scala 36:43:shc.marmotcaravel.MarmotCaravelConfig.fir@45776.4]
+  wire  master_splitter_auto_out_a_bits_source; // @[SystemBus.scala 36:43:shc.marmotcaravel.MarmotCaravelConfig.fir@45776.4]
+  wire [31:0] master_splitter_auto_out_a_bits_address; // @[SystemBus.scala 36:43:shc.marmotcaravel.MarmotCaravelConfig.fir@45776.4]
+  wire [3:0] master_splitter_auto_out_a_bits_mask; // @[SystemBus.scala 36:43:shc.marmotcaravel.MarmotCaravelConfig.fir@45776.4]
+  wire [31:0] master_splitter_auto_out_a_bits_data; // @[SystemBus.scala 36:43:shc.marmotcaravel.MarmotCaravelConfig.fir@45776.4]
+  wire  master_splitter_auto_out_a_bits_corrupt; // @[SystemBus.scala 36:43:shc.marmotcaravel.MarmotCaravelConfig.fir@45776.4]
+  wire  master_splitter_auto_out_d_ready; // @[SystemBus.scala 36:43:shc.marmotcaravel.MarmotCaravelConfig.fir@45776.4]
+  wire  master_splitter_auto_out_d_valid; // @[SystemBus.scala 36:43:shc.marmotcaravel.MarmotCaravelConfig.fir@45776.4]
+  wire [2:0] master_splitter_auto_out_d_bits_opcode; // @[SystemBus.scala 36:43:shc.marmotcaravel.MarmotCaravelConfig.fir@45776.4]
+  wire [1:0] master_splitter_auto_out_d_bits_param; // @[SystemBus.scala 36:43:shc.marmotcaravel.MarmotCaravelConfig.fir@45776.4]
+  wire [3:0] master_splitter_auto_out_d_bits_size; // @[SystemBus.scala 36:43:shc.marmotcaravel.MarmotCaravelConfig.fir@45776.4]
+  wire  master_splitter_auto_out_d_bits_source; // @[SystemBus.scala 36:43:shc.marmotcaravel.MarmotCaravelConfig.fir@45776.4]
+  wire  master_splitter_auto_out_d_bits_sink; // @[SystemBus.scala 36:43:shc.marmotcaravel.MarmotCaravelConfig.fir@45776.4]
+  wire  master_splitter_auto_out_d_bits_denied; // @[SystemBus.scala 36:43:shc.marmotcaravel.MarmotCaravelConfig.fir@45776.4]
+  wire [31:0] master_splitter_auto_out_d_bits_data; // @[SystemBus.scala 36:43:shc.marmotcaravel.MarmotCaravelConfig.fir@45776.4]
+  wire  master_splitter_auto_out_d_bits_corrupt; // @[SystemBus.scala 36:43:shc.marmotcaravel.MarmotCaravelConfig.fir@45776.4]
+  wire  coupler_from_tile_named_tile_clock; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45788.4]
+  wire  coupler_from_tile_named_tile_reset; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45788.4]
+  wire  coupler_from_tile_named_tile_auto_buffer_out_a_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45788.4]
+  wire  coupler_from_tile_named_tile_auto_buffer_out_a_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45788.4]
+  wire [2:0] coupler_from_tile_named_tile_auto_buffer_out_a_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45788.4]
+  wire [2:0] coupler_from_tile_named_tile_auto_buffer_out_a_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45788.4]
+  wire [3:0] coupler_from_tile_named_tile_auto_buffer_out_a_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45788.4]
+  wire  coupler_from_tile_named_tile_auto_buffer_out_a_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45788.4]
+  wire [31:0] coupler_from_tile_named_tile_auto_buffer_out_a_bits_address; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45788.4]
+  wire [3:0] coupler_from_tile_named_tile_auto_buffer_out_a_bits_mask; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45788.4]
+  wire [31:0] coupler_from_tile_named_tile_auto_buffer_out_a_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45788.4]
+  wire  coupler_from_tile_named_tile_auto_buffer_out_a_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45788.4]
+  wire  coupler_from_tile_named_tile_auto_buffer_out_d_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45788.4]
+  wire  coupler_from_tile_named_tile_auto_buffer_out_d_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45788.4]
+  wire [2:0] coupler_from_tile_named_tile_auto_buffer_out_d_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45788.4]
+  wire [1:0] coupler_from_tile_named_tile_auto_buffer_out_d_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45788.4]
+  wire [3:0] coupler_from_tile_named_tile_auto_buffer_out_d_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45788.4]
+  wire  coupler_from_tile_named_tile_auto_buffer_out_d_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45788.4]
+  wire  coupler_from_tile_named_tile_auto_buffer_out_d_bits_sink; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45788.4]
+  wire  coupler_from_tile_named_tile_auto_buffer_out_d_bits_denied; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45788.4]
+  wire [31:0] coupler_from_tile_named_tile_auto_buffer_out_d_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45788.4]
+  wire  coupler_from_tile_named_tile_auto_buffer_out_d_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45788.4]
+  wire  coupler_from_tile_named_tile_auto_tl_master_xing_in_a_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45788.4]
+  wire  coupler_from_tile_named_tile_auto_tl_master_xing_in_a_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45788.4]
+  wire [2:0] coupler_from_tile_named_tile_auto_tl_master_xing_in_a_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45788.4]
+  wire [2:0] coupler_from_tile_named_tile_auto_tl_master_xing_in_a_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45788.4]
+  wire [3:0] coupler_from_tile_named_tile_auto_tl_master_xing_in_a_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45788.4]
+  wire  coupler_from_tile_named_tile_auto_tl_master_xing_in_a_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45788.4]
+  wire [31:0] coupler_from_tile_named_tile_auto_tl_master_xing_in_a_bits_address; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45788.4]
+  wire [3:0] coupler_from_tile_named_tile_auto_tl_master_xing_in_a_bits_mask; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45788.4]
+  wire [31:0] coupler_from_tile_named_tile_auto_tl_master_xing_in_a_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45788.4]
+  wire  coupler_from_tile_named_tile_auto_tl_master_xing_in_a_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45788.4]
+  wire  coupler_from_tile_named_tile_auto_tl_master_xing_in_d_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45788.4]
+  wire  coupler_from_tile_named_tile_auto_tl_master_xing_in_d_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45788.4]
+  wire [2:0] coupler_from_tile_named_tile_auto_tl_master_xing_in_d_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45788.4]
+  wire [1:0] coupler_from_tile_named_tile_auto_tl_master_xing_in_d_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45788.4]
+  wire [3:0] coupler_from_tile_named_tile_auto_tl_master_xing_in_d_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45788.4]
+  wire  coupler_from_tile_named_tile_auto_tl_master_xing_in_d_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45788.4]
+  wire  coupler_from_tile_named_tile_auto_tl_master_xing_in_d_bits_sink; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45788.4]
+  wire  coupler_from_tile_named_tile_auto_tl_master_xing_in_d_bits_denied; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45788.4]
+  wire [31:0] coupler_from_tile_named_tile_auto_tl_master_xing_in_d_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45788.4]
+  wire  coupler_from_tile_named_tile_auto_tl_master_xing_in_d_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45788.4]
+  TLXbar system_bus_xbar ( // @[BusWrapper.scala 160:32:shc.marmotcaravel.MarmotCaravelConfig.fir@45758.4]
+    .clock(system_bus_xbar_clock),
+    .reset(system_bus_xbar_reset),
+    .auto_in_a_ready(system_bus_xbar_auto_in_a_ready),
+    .auto_in_a_valid(system_bus_xbar_auto_in_a_valid),
+    .auto_in_a_bits_opcode(system_bus_xbar_auto_in_a_bits_opcode),
+    .auto_in_a_bits_param(system_bus_xbar_auto_in_a_bits_param),
+    .auto_in_a_bits_size(system_bus_xbar_auto_in_a_bits_size),
+    .auto_in_a_bits_source(system_bus_xbar_auto_in_a_bits_source),
+    .auto_in_a_bits_address(system_bus_xbar_auto_in_a_bits_address),
+    .auto_in_a_bits_mask(system_bus_xbar_auto_in_a_bits_mask),
+    .auto_in_a_bits_data(system_bus_xbar_auto_in_a_bits_data),
+    .auto_in_a_bits_corrupt(system_bus_xbar_auto_in_a_bits_corrupt),
+    .auto_in_d_ready(system_bus_xbar_auto_in_d_ready),
+    .auto_in_d_valid(system_bus_xbar_auto_in_d_valid),
+    .auto_in_d_bits_opcode(system_bus_xbar_auto_in_d_bits_opcode),
+    .auto_in_d_bits_param(system_bus_xbar_auto_in_d_bits_param),
+    .auto_in_d_bits_size(system_bus_xbar_auto_in_d_bits_size),
+    .auto_in_d_bits_source(system_bus_xbar_auto_in_d_bits_source),
+    .auto_in_d_bits_sink(system_bus_xbar_auto_in_d_bits_sink),
+    .auto_in_d_bits_denied(system_bus_xbar_auto_in_d_bits_denied),
+    .auto_in_d_bits_data(system_bus_xbar_auto_in_d_bits_data),
+    .auto_in_d_bits_corrupt(system_bus_xbar_auto_in_d_bits_corrupt),
+    .auto_out_a_ready(system_bus_xbar_auto_out_a_ready),
+    .auto_out_a_valid(system_bus_xbar_auto_out_a_valid),
+    .auto_out_a_bits_opcode(system_bus_xbar_auto_out_a_bits_opcode),
+    .auto_out_a_bits_param(system_bus_xbar_auto_out_a_bits_param),
+    .auto_out_a_bits_size(system_bus_xbar_auto_out_a_bits_size),
+    .auto_out_a_bits_source(system_bus_xbar_auto_out_a_bits_source),
+    .auto_out_a_bits_address(system_bus_xbar_auto_out_a_bits_address),
+    .auto_out_a_bits_mask(system_bus_xbar_auto_out_a_bits_mask),
+    .auto_out_a_bits_data(system_bus_xbar_auto_out_a_bits_data),
+    .auto_out_a_bits_corrupt(system_bus_xbar_auto_out_a_bits_corrupt),
+    .auto_out_d_ready(system_bus_xbar_auto_out_d_ready),
+    .auto_out_d_valid(system_bus_xbar_auto_out_d_valid),
+    .auto_out_d_bits_opcode(system_bus_xbar_auto_out_d_bits_opcode),
+    .auto_out_d_bits_param(system_bus_xbar_auto_out_d_bits_param),
+    .auto_out_d_bits_size(system_bus_xbar_auto_out_d_bits_size),
+    .auto_out_d_bits_source(system_bus_xbar_auto_out_d_bits_source),
+    .auto_out_d_bits_sink(system_bus_xbar_auto_out_d_bits_sink),
+    .auto_out_d_bits_denied(system_bus_xbar_auto_out_d_bits_denied),
+    .auto_out_d_bits_data(system_bus_xbar_auto_out_d_bits_data),
+    .auto_out_d_bits_corrupt(system_bus_xbar_auto_out_d_bits_corrupt)
+  );
+  PeripheryBus control_bus ( // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
+    .clock(control_bus_clock),
+    .reset(control_bus_reset),
+    .auto_coupler_to_slave_named_aon_asource_out_a_mem_0_opcode(control_bus_auto_coupler_to_slave_named_aon_asource_out_a_mem_0_opcode),
+    .auto_coupler_to_slave_named_aon_asource_out_a_mem_0_param(control_bus_auto_coupler_to_slave_named_aon_asource_out_a_mem_0_param),
+    .auto_coupler_to_slave_named_aon_asource_out_a_mem_0_size(control_bus_auto_coupler_to_slave_named_aon_asource_out_a_mem_0_size),
+    .auto_coupler_to_slave_named_aon_asource_out_a_mem_0_source(control_bus_auto_coupler_to_slave_named_aon_asource_out_a_mem_0_source),
+    .auto_coupler_to_slave_named_aon_asource_out_a_mem_0_address(control_bus_auto_coupler_to_slave_named_aon_asource_out_a_mem_0_address),
+    .auto_coupler_to_slave_named_aon_asource_out_a_mem_0_mask(control_bus_auto_coupler_to_slave_named_aon_asource_out_a_mem_0_mask),
+    .auto_coupler_to_slave_named_aon_asource_out_a_mem_0_data(control_bus_auto_coupler_to_slave_named_aon_asource_out_a_mem_0_data),
+    .auto_coupler_to_slave_named_aon_asource_out_a_mem_0_corrupt(control_bus_auto_coupler_to_slave_named_aon_asource_out_a_mem_0_corrupt),
+    .auto_coupler_to_slave_named_aon_asource_out_a_ridx(control_bus_auto_coupler_to_slave_named_aon_asource_out_a_ridx),
+    .auto_coupler_to_slave_named_aon_asource_out_a_widx(control_bus_auto_coupler_to_slave_named_aon_asource_out_a_widx),
+    .auto_coupler_to_slave_named_aon_asource_out_a_safe_ridx_valid(control_bus_auto_coupler_to_slave_named_aon_asource_out_a_safe_ridx_valid),
+    .auto_coupler_to_slave_named_aon_asource_out_a_safe_widx_valid(control_bus_auto_coupler_to_slave_named_aon_asource_out_a_safe_widx_valid),
+    .auto_coupler_to_slave_named_aon_asource_out_a_safe_source_reset_n(control_bus_auto_coupler_to_slave_named_aon_asource_out_a_safe_source_reset_n),
+    .auto_coupler_to_slave_named_aon_asource_out_a_safe_sink_reset_n(control_bus_auto_coupler_to_slave_named_aon_asource_out_a_safe_sink_reset_n),
+    .auto_coupler_to_slave_named_aon_asource_out_d_mem_0_opcode(control_bus_auto_coupler_to_slave_named_aon_asource_out_d_mem_0_opcode),
+    .auto_coupler_to_slave_named_aon_asource_out_d_mem_0_param(control_bus_auto_coupler_to_slave_named_aon_asource_out_d_mem_0_param),
+    .auto_coupler_to_slave_named_aon_asource_out_d_mem_0_size(control_bus_auto_coupler_to_slave_named_aon_asource_out_d_mem_0_size),
+    .auto_coupler_to_slave_named_aon_asource_out_d_mem_0_source(control_bus_auto_coupler_to_slave_named_aon_asource_out_d_mem_0_source),
+    .auto_coupler_to_slave_named_aon_asource_out_d_mem_0_sink(control_bus_auto_coupler_to_slave_named_aon_asource_out_d_mem_0_sink),
+    .auto_coupler_to_slave_named_aon_asource_out_d_mem_0_denied(control_bus_auto_coupler_to_slave_named_aon_asource_out_d_mem_0_denied),
+    .auto_coupler_to_slave_named_aon_asource_out_d_mem_0_data(control_bus_auto_coupler_to_slave_named_aon_asource_out_d_mem_0_data),
+    .auto_coupler_to_slave_named_aon_asource_out_d_mem_0_corrupt(control_bus_auto_coupler_to_slave_named_aon_asource_out_d_mem_0_corrupt),
+    .auto_coupler_to_slave_named_aon_asource_out_d_ridx(control_bus_auto_coupler_to_slave_named_aon_asource_out_d_ridx),
+    .auto_coupler_to_slave_named_aon_asource_out_d_widx(control_bus_auto_coupler_to_slave_named_aon_asource_out_d_widx),
+    .auto_coupler_to_slave_named_aon_asource_out_d_safe_ridx_valid(control_bus_auto_coupler_to_slave_named_aon_asource_out_d_safe_ridx_valid),
+    .auto_coupler_to_slave_named_aon_asource_out_d_safe_widx_valid(control_bus_auto_coupler_to_slave_named_aon_asource_out_d_safe_widx_valid),
+    .auto_coupler_to_slave_named_aon_asource_out_d_safe_source_reset_n(control_bus_auto_coupler_to_slave_named_aon_asource_out_d_safe_source_reset_n),
+    .auto_coupler_to_slave_named_aon_asource_out_d_safe_sink_reset_n(control_bus_auto_coupler_to_slave_named_aon_asource_out_d_safe_sink_reset_n),
+    .auto_coupler_to_slave_named_MaskROM_fragmenter_out_a_ready(control_bus_auto_coupler_to_slave_named_MaskROM_fragmenter_out_a_ready),
+    .auto_coupler_to_slave_named_MaskROM_fragmenter_out_a_valid(control_bus_auto_coupler_to_slave_named_MaskROM_fragmenter_out_a_valid),
+    .auto_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_opcode(control_bus_auto_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_opcode),
+    .auto_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_param(control_bus_auto_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_param),
+    .auto_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_size(control_bus_auto_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_size),
+    .auto_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_source(control_bus_auto_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_source),
+    .auto_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_address(control_bus_auto_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_address),
+    .auto_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_mask(control_bus_auto_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_mask),
+    .auto_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_corrupt(control_bus_auto_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_corrupt),
+    .auto_coupler_to_slave_named_MaskROM_fragmenter_out_d_ready(control_bus_auto_coupler_to_slave_named_MaskROM_fragmenter_out_d_ready),
+    .auto_coupler_to_slave_named_MaskROM_fragmenter_out_d_valid(control_bus_auto_coupler_to_slave_named_MaskROM_fragmenter_out_d_valid),
+    .auto_coupler_to_slave_named_MaskROM_fragmenter_out_d_bits_size(control_bus_auto_coupler_to_slave_named_MaskROM_fragmenter_out_d_bits_size),
+    .auto_coupler_to_slave_named_MaskROM_fragmenter_out_d_bits_source(control_bus_auto_coupler_to_slave_named_MaskROM_fragmenter_out_d_bits_source),
+    .auto_coupler_to_slave_named_MaskROM_fragmenter_out_d_bits_data(control_bus_auto_coupler_to_slave_named_MaskROM_fragmenter_out_d_bits_data),
+    .auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_ready(control_bus_auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_ready),
+    .auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_valid(control_bus_auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_valid),
+    .auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_opcode(control_bus_auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_opcode),
+    .auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_param(control_bus_auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_param),
+    .auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_size(control_bus_auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_size),
+    .auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_source(control_bus_auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_source),
+    .auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_address(control_bus_auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_address),
+    .auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_mask(control_bus_auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_mask),
+    .auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_data(control_bus_auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_data),
+    .auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_corrupt(control_bus_auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_corrupt),
+    .auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_ready(control_bus_auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_ready),
+    .auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_valid(control_bus_auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_valid),
+    .auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_opcode(control_bus_auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_opcode),
+    .auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_param(control_bus_auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_param),
+    .auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_size(control_bus_auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_size),
+    .auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_source(control_bus_auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_source),
+    .auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_sink(control_bus_auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_sink),
+    .auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_denied(control_bus_auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_denied),
+    .auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_data(control_bus_auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_data),
+    .auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_corrupt(control_bus_auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_corrupt),
+    .auto_coupler_to_slave_named_debug_fragmenter_out_a_ready(control_bus_auto_coupler_to_slave_named_debug_fragmenter_out_a_ready),
+    .auto_coupler_to_slave_named_debug_fragmenter_out_a_valid(control_bus_auto_coupler_to_slave_named_debug_fragmenter_out_a_valid),
+    .auto_coupler_to_slave_named_debug_fragmenter_out_a_bits_opcode(control_bus_auto_coupler_to_slave_named_debug_fragmenter_out_a_bits_opcode),
+    .auto_coupler_to_slave_named_debug_fragmenter_out_a_bits_param(control_bus_auto_coupler_to_slave_named_debug_fragmenter_out_a_bits_param),
+    .auto_coupler_to_slave_named_debug_fragmenter_out_a_bits_size(control_bus_auto_coupler_to_slave_named_debug_fragmenter_out_a_bits_size),
+    .auto_coupler_to_slave_named_debug_fragmenter_out_a_bits_source(control_bus_auto_coupler_to_slave_named_debug_fragmenter_out_a_bits_source),
+    .auto_coupler_to_slave_named_debug_fragmenter_out_a_bits_address(control_bus_auto_coupler_to_slave_named_debug_fragmenter_out_a_bits_address),
+    .auto_coupler_to_slave_named_debug_fragmenter_out_a_bits_mask(control_bus_auto_coupler_to_slave_named_debug_fragmenter_out_a_bits_mask),
+    .auto_coupler_to_slave_named_debug_fragmenter_out_a_bits_data(control_bus_auto_coupler_to_slave_named_debug_fragmenter_out_a_bits_data),
+    .auto_coupler_to_slave_named_debug_fragmenter_out_a_bits_corrupt(control_bus_auto_coupler_to_slave_named_debug_fragmenter_out_a_bits_corrupt),
+    .auto_coupler_to_slave_named_debug_fragmenter_out_d_ready(control_bus_auto_coupler_to_slave_named_debug_fragmenter_out_d_ready),
+    .auto_coupler_to_slave_named_debug_fragmenter_out_d_valid(control_bus_auto_coupler_to_slave_named_debug_fragmenter_out_d_valid),
+    .auto_coupler_to_slave_named_debug_fragmenter_out_d_bits_opcode(control_bus_auto_coupler_to_slave_named_debug_fragmenter_out_d_bits_opcode),
+    .auto_coupler_to_slave_named_debug_fragmenter_out_d_bits_size(control_bus_auto_coupler_to_slave_named_debug_fragmenter_out_d_bits_size),
+    .auto_coupler_to_slave_named_debug_fragmenter_out_d_bits_source(control_bus_auto_coupler_to_slave_named_debug_fragmenter_out_d_bits_source),
+    .auto_coupler_to_slave_named_debug_fragmenter_out_d_bits_data(control_bus_auto_coupler_to_slave_named_debug_fragmenter_out_d_bits_data),
+    .auto_coupler_to_slave_named_clint_fragmenter_out_a_ready(control_bus_auto_coupler_to_slave_named_clint_fragmenter_out_a_ready),
+    .auto_coupler_to_slave_named_clint_fragmenter_out_a_valid(control_bus_auto_coupler_to_slave_named_clint_fragmenter_out_a_valid),
+    .auto_coupler_to_slave_named_clint_fragmenter_out_a_bits_opcode(control_bus_auto_coupler_to_slave_named_clint_fragmenter_out_a_bits_opcode),
+    .auto_coupler_to_slave_named_clint_fragmenter_out_a_bits_param(control_bus_auto_coupler_to_slave_named_clint_fragmenter_out_a_bits_param),
+    .auto_coupler_to_slave_named_clint_fragmenter_out_a_bits_size(control_bus_auto_coupler_to_slave_named_clint_fragmenter_out_a_bits_size),
+    .auto_coupler_to_slave_named_clint_fragmenter_out_a_bits_source(control_bus_auto_coupler_to_slave_named_clint_fragmenter_out_a_bits_source),
+    .auto_coupler_to_slave_named_clint_fragmenter_out_a_bits_address(control_bus_auto_coupler_to_slave_named_clint_fragmenter_out_a_bits_address),
+    .auto_coupler_to_slave_named_clint_fragmenter_out_a_bits_mask(control_bus_auto_coupler_to_slave_named_clint_fragmenter_out_a_bits_mask),
+    .auto_coupler_to_slave_named_clint_fragmenter_out_a_bits_data(control_bus_auto_coupler_to_slave_named_clint_fragmenter_out_a_bits_data),
+    .auto_coupler_to_slave_named_clint_fragmenter_out_a_bits_corrupt(control_bus_auto_coupler_to_slave_named_clint_fragmenter_out_a_bits_corrupt),
+    .auto_coupler_to_slave_named_clint_fragmenter_out_d_ready(control_bus_auto_coupler_to_slave_named_clint_fragmenter_out_d_ready),
+    .auto_coupler_to_slave_named_clint_fragmenter_out_d_valid(control_bus_auto_coupler_to_slave_named_clint_fragmenter_out_d_valid),
+    .auto_coupler_to_slave_named_clint_fragmenter_out_d_bits_opcode(control_bus_auto_coupler_to_slave_named_clint_fragmenter_out_d_bits_opcode),
+    .auto_coupler_to_slave_named_clint_fragmenter_out_d_bits_size(control_bus_auto_coupler_to_slave_named_clint_fragmenter_out_d_bits_size),
+    .auto_coupler_to_slave_named_clint_fragmenter_out_d_bits_source(control_bus_auto_coupler_to_slave_named_clint_fragmenter_out_d_bits_source),
+    .auto_coupler_to_slave_named_clint_fragmenter_out_d_bits_data(control_bus_auto_coupler_to_slave_named_clint_fragmenter_out_d_bits_data),
+    .auto_coupler_to_slave_named_plic_fragmenter_out_a_ready(control_bus_auto_coupler_to_slave_named_plic_fragmenter_out_a_ready),
+    .auto_coupler_to_slave_named_plic_fragmenter_out_a_valid(control_bus_auto_coupler_to_slave_named_plic_fragmenter_out_a_valid),
+    .auto_coupler_to_slave_named_plic_fragmenter_out_a_bits_opcode(control_bus_auto_coupler_to_slave_named_plic_fragmenter_out_a_bits_opcode),
+    .auto_coupler_to_slave_named_plic_fragmenter_out_a_bits_param(control_bus_auto_coupler_to_slave_named_plic_fragmenter_out_a_bits_param),
+    .auto_coupler_to_slave_named_plic_fragmenter_out_a_bits_size(control_bus_auto_coupler_to_slave_named_plic_fragmenter_out_a_bits_size),
+    .auto_coupler_to_slave_named_plic_fragmenter_out_a_bits_source(control_bus_auto_coupler_to_slave_named_plic_fragmenter_out_a_bits_source),
+    .auto_coupler_to_slave_named_plic_fragmenter_out_a_bits_address(control_bus_auto_coupler_to_slave_named_plic_fragmenter_out_a_bits_address),
+    .auto_coupler_to_slave_named_plic_fragmenter_out_a_bits_mask(control_bus_auto_coupler_to_slave_named_plic_fragmenter_out_a_bits_mask),
+    .auto_coupler_to_slave_named_plic_fragmenter_out_a_bits_data(control_bus_auto_coupler_to_slave_named_plic_fragmenter_out_a_bits_data),
+    .auto_coupler_to_slave_named_plic_fragmenter_out_a_bits_corrupt(control_bus_auto_coupler_to_slave_named_plic_fragmenter_out_a_bits_corrupt),
+    .auto_coupler_to_slave_named_plic_fragmenter_out_d_ready(control_bus_auto_coupler_to_slave_named_plic_fragmenter_out_d_ready),
+    .auto_coupler_to_slave_named_plic_fragmenter_out_d_valid(control_bus_auto_coupler_to_slave_named_plic_fragmenter_out_d_valid),
+    .auto_coupler_to_slave_named_plic_fragmenter_out_d_bits_opcode(control_bus_auto_coupler_to_slave_named_plic_fragmenter_out_d_bits_opcode),
+    .auto_coupler_to_slave_named_plic_fragmenter_out_d_bits_size(control_bus_auto_coupler_to_slave_named_plic_fragmenter_out_d_bits_size),
+    .auto_coupler_to_slave_named_plic_fragmenter_out_d_bits_source(control_bus_auto_coupler_to_slave_named_plic_fragmenter_out_d_bits_source),
+    .auto_coupler_to_slave_named_plic_fragmenter_out_d_bits_data(control_bus_auto_coupler_to_slave_named_plic_fragmenter_out_d_bits_data),
+    .auto_coupler_to_bus_named_pbus_from_cbus_out_a_ready(control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_a_ready),
+    .auto_coupler_to_bus_named_pbus_from_cbus_out_a_valid(control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_a_valid),
+    .auto_coupler_to_bus_named_pbus_from_cbus_out_a_bits_opcode(control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_a_bits_opcode),
+    .auto_coupler_to_bus_named_pbus_from_cbus_out_a_bits_param(control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_a_bits_param),
+    .auto_coupler_to_bus_named_pbus_from_cbus_out_a_bits_size(control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_a_bits_size),
+    .auto_coupler_to_bus_named_pbus_from_cbus_out_a_bits_source(control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_a_bits_source),
+    .auto_coupler_to_bus_named_pbus_from_cbus_out_a_bits_address(control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_a_bits_address),
+    .auto_coupler_to_bus_named_pbus_from_cbus_out_a_bits_mask(control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_a_bits_mask),
+    .auto_coupler_to_bus_named_pbus_from_cbus_out_a_bits_data(control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_a_bits_data),
+    .auto_coupler_to_bus_named_pbus_from_cbus_out_a_bits_corrupt(control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_a_bits_corrupt),
+    .auto_coupler_to_bus_named_pbus_from_cbus_out_d_ready(control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_d_ready),
+    .auto_coupler_to_bus_named_pbus_from_cbus_out_d_valid(control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_d_valid),
+    .auto_coupler_to_bus_named_pbus_from_cbus_out_d_bits_opcode(control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_d_bits_opcode),
+    .auto_coupler_to_bus_named_pbus_from_cbus_out_d_bits_param(control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_d_bits_param),
+    .auto_coupler_to_bus_named_pbus_from_cbus_out_d_bits_size(control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_d_bits_size),
+    .auto_coupler_to_bus_named_pbus_from_cbus_out_d_bits_source(control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_d_bits_source),
+    .auto_coupler_to_bus_named_pbus_from_cbus_out_d_bits_sink(control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_d_bits_sink),
+    .auto_coupler_to_bus_named_pbus_from_cbus_out_d_bits_denied(control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_d_bits_denied),
+    .auto_coupler_to_bus_named_pbus_from_cbus_out_d_bits_data(control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_d_bits_data),
+    .auto_coupler_to_bus_named_pbus_from_cbus_out_d_bits_corrupt(control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_d_bits_corrupt),
+    .auto_from_sbus_in_a_ready(control_bus_auto_from_sbus_in_a_ready),
+    .auto_from_sbus_in_a_valid(control_bus_auto_from_sbus_in_a_valid),
+    .auto_from_sbus_in_a_bits_opcode(control_bus_auto_from_sbus_in_a_bits_opcode),
+    .auto_from_sbus_in_a_bits_param(control_bus_auto_from_sbus_in_a_bits_param),
+    .auto_from_sbus_in_a_bits_size(control_bus_auto_from_sbus_in_a_bits_size),
+    .auto_from_sbus_in_a_bits_source(control_bus_auto_from_sbus_in_a_bits_source),
+    .auto_from_sbus_in_a_bits_address(control_bus_auto_from_sbus_in_a_bits_address),
+    .auto_from_sbus_in_a_bits_mask(control_bus_auto_from_sbus_in_a_bits_mask),
+    .auto_from_sbus_in_a_bits_data(control_bus_auto_from_sbus_in_a_bits_data),
+    .auto_from_sbus_in_a_bits_corrupt(control_bus_auto_from_sbus_in_a_bits_corrupt),
+    .auto_from_sbus_in_d_ready(control_bus_auto_from_sbus_in_d_ready),
+    .auto_from_sbus_in_d_valid(control_bus_auto_from_sbus_in_d_valid),
+    .auto_from_sbus_in_d_bits_opcode(control_bus_auto_from_sbus_in_d_bits_opcode),
+    .auto_from_sbus_in_d_bits_param(control_bus_auto_from_sbus_in_d_bits_param),
+    .auto_from_sbus_in_d_bits_size(control_bus_auto_from_sbus_in_d_bits_size),
+    .auto_from_sbus_in_d_bits_source(control_bus_auto_from_sbus_in_d_bits_source),
+    .auto_from_sbus_in_d_bits_sink(control_bus_auto_from_sbus_in_d_bits_sink),
+    .auto_from_sbus_in_d_bits_denied(control_bus_auto_from_sbus_in_d_bits_denied),
+    .auto_from_sbus_in_d_bits_data(control_bus_auto_from_sbus_in_d_bits_data),
+    .auto_from_sbus_in_d_bits_corrupt(control_bus_auto_from_sbus_in_d_bits_corrupt)
+  );
+  SimpleLazyModule_8 coupler_to_bus_named_cbus ( // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45770.4]
+    .clock(coupler_to_bus_named_cbus_clock),
+    .reset(coupler_to_bus_named_cbus_reset),
+    .auto_buffer_in_a_ready(coupler_to_bus_named_cbus_auto_buffer_in_a_ready),
+    .auto_buffer_in_a_valid(coupler_to_bus_named_cbus_auto_buffer_in_a_valid),
+    .auto_buffer_in_a_bits_opcode(coupler_to_bus_named_cbus_auto_buffer_in_a_bits_opcode),
+    .auto_buffer_in_a_bits_param(coupler_to_bus_named_cbus_auto_buffer_in_a_bits_param),
+    .auto_buffer_in_a_bits_size(coupler_to_bus_named_cbus_auto_buffer_in_a_bits_size),
+    .auto_buffer_in_a_bits_source(coupler_to_bus_named_cbus_auto_buffer_in_a_bits_source),
+    .auto_buffer_in_a_bits_address(coupler_to_bus_named_cbus_auto_buffer_in_a_bits_address),
+    .auto_buffer_in_a_bits_mask(coupler_to_bus_named_cbus_auto_buffer_in_a_bits_mask),
+    .auto_buffer_in_a_bits_data(coupler_to_bus_named_cbus_auto_buffer_in_a_bits_data),
+    .auto_buffer_in_a_bits_corrupt(coupler_to_bus_named_cbus_auto_buffer_in_a_bits_corrupt),
+    .auto_buffer_in_d_ready(coupler_to_bus_named_cbus_auto_buffer_in_d_ready),
+    .auto_buffer_in_d_valid(coupler_to_bus_named_cbus_auto_buffer_in_d_valid),
+    .auto_buffer_in_d_bits_opcode(coupler_to_bus_named_cbus_auto_buffer_in_d_bits_opcode),
+    .auto_buffer_in_d_bits_param(coupler_to_bus_named_cbus_auto_buffer_in_d_bits_param),
+    .auto_buffer_in_d_bits_size(coupler_to_bus_named_cbus_auto_buffer_in_d_bits_size),
+    .auto_buffer_in_d_bits_source(coupler_to_bus_named_cbus_auto_buffer_in_d_bits_source),
+    .auto_buffer_in_d_bits_sink(coupler_to_bus_named_cbus_auto_buffer_in_d_bits_sink),
+    .auto_buffer_in_d_bits_denied(coupler_to_bus_named_cbus_auto_buffer_in_d_bits_denied),
+    .auto_buffer_in_d_bits_data(coupler_to_bus_named_cbus_auto_buffer_in_d_bits_data),
+    .auto_buffer_in_d_bits_corrupt(coupler_to_bus_named_cbus_auto_buffer_in_d_bits_corrupt),
+    .auto_from_sbus_out_a_ready(coupler_to_bus_named_cbus_auto_from_sbus_out_a_ready),
+    .auto_from_sbus_out_a_valid(coupler_to_bus_named_cbus_auto_from_sbus_out_a_valid),
+    .auto_from_sbus_out_a_bits_opcode(coupler_to_bus_named_cbus_auto_from_sbus_out_a_bits_opcode),
+    .auto_from_sbus_out_a_bits_param(coupler_to_bus_named_cbus_auto_from_sbus_out_a_bits_param),
+    .auto_from_sbus_out_a_bits_size(coupler_to_bus_named_cbus_auto_from_sbus_out_a_bits_size),
+    .auto_from_sbus_out_a_bits_source(coupler_to_bus_named_cbus_auto_from_sbus_out_a_bits_source),
+    .auto_from_sbus_out_a_bits_address(coupler_to_bus_named_cbus_auto_from_sbus_out_a_bits_address),
+    .auto_from_sbus_out_a_bits_mask(coupler_to_bus_named_cbus_auto_from_sbus_out_a_bits_mask),
+    .auto_from_sbus_out_a_bits_data(coupler_to_bus_named_cbus_auto_from_sbus_out_a_bits_data),
+    .auto_from_sbus_out_a_bits_corrupt(coupler_to_bus_named_cbus_auto_from_sbus_out_a_bits_corrupt),
+    .auto_from_sbus_out_d_ready(coupler_to_bus_named_cbus_auto_from_sbus_out_d_ready),
+    .auto_from_sbus_out_d_valid(coupler_to_bus_named_cbus_auto_from_sbus_out_d_valid),
+    .auto_from_sbus_out_d_bits_opcode(coupler_to_bus_named_cbus_auto_from_sbus_out_d_bits_opcode),
+    .auto_from_sbus_out_d_bits_param(coupler_to_bus_named_cbus_auto_from_sbus_out_d_bits_param),
+    .auto_from_sbus_out_d_bits_size(coupler_to_bus_named_cbus_auto_from_sbus_out_d_bits_size),
+    .auto_from_sbus_out_d_bits_source(coupler_to_bus_named_cbus_auto_from_sbus_out_d_bits_source),
+    .auto_from_sbus_out_d_bits_sink(coupler_to_bus_named_cbus_auto_from_sbus_out_d_bits_sink),
+    .auto_from_sbus_out_d_bits_denied(coupler_to_bus_named_cbus_auto_from_sbus_out_d_bits_denied),
+    .auto_from_sbus_out_d_bits_data(coupler_to_bus_named_cbus_auto_from_sbus_out_d_bits_data),
+    .auto_from_sbus_out_d_bits_corrupt(coupler_to_bus_named_cbus_auto_from_sbus_out_d_bits_corrupt)
+  );
+  TLSplitter master_splitter ( // @[SystemBus.scala 36:43:shc.marmotcaravel.MarmotCaravelConfig.fir@45776.4]
+    .clock(master_splitter_clock),
+    .reset(master_splitter_reset),
+    .auto_in_a_ready(master_splitter_auto_in_a_ready),
+    .auto_in_a_valid(master_splitter_auto_in_a_valid),
+    .auto_in_a_bits_opcode(master_splitter_auto_in_a_bits_opcode),
+    .auto_in_a_bits_param(master_splitter_auto_in_a_bits_param),
+    .auto_in_a_bits_size(master_splitter_auto_in_a_bits_size),
+    .auto_in_a_bits_source(master_splitter_auto_in_a_bits_source),
+    .auto_in_a_bits_address(master_splitter_auto_in_a_bits_address),
+    .auto_in_a_bits_mask(master_splitter_auto_in_a_bits_mask),
+    .auto_in_a_bits_data(master_splitter_auto_in_a_bits_data),
+    .auto_in_a_bits_corrupt(master_splitter_auto_in_a_bits_corrupt),
+    .auto_in_d_ready(master_splitter_auto_in_d_ready),
+    .auto_in_d_valid(master_splitter_auto_in_d_valid),
+    .auto_in_d_bits_opcode(master_splitter_auto_in_d_bits_opcode),
+    .auto_in_d_bits_param(master_splitter_auto_in_d_bits_param),
+    .auto_in_d_bits_size(master_splitter_auto_in_d_bits_size),
+    .auto_in_d_bits_source(master_splitter_auto_in_d_bits_source),
+    .auto_in_d_bits_sink(master_splitter_auto_in_d_bits_sink),
+    .auto_in_d_bits_denied(master_splitter_auto_in_d_bits_denied),
+    .auto_in_d_bits_data(master_splitter_auto_in_d_bits_data),
+    .auto_in_d_bits_corrupt(master_splitter_auto_in_d_bits_corrupt),
+    .auto_out_a_ready(master_splitter_auto_out_a_ready),
+    .auto_out_a_valid(master_splitter_auto_out_a_valid),
+    .auto_out_a_bits_opcode(master_splitter_auto_out_a_bits_opcode),
+    .auto_out_a_bits_param(master_splitter_auto_out_a_bits_param),
+    .auto_out_a_bits_size(master_splitter_auto_out_a_bits_size),
+    .auto_out_a_bits_source(master_splitter_auto_out_a_bits_source),
+    .auto_out_a_bits_address(master_splitter_auto_out_a_bits_address),
+    .auto_out_a_bits_mask(master_splitter_auto_out_a_bits_mask),
+    .auto_out_a_bits_data(master_splitter_auto_out_a_bits_data),
+    .auto_out_a_bits_corrupt(master_splitter_auto_out_a_bits_corrupt),
+    .auto_out_d_ready(master_splitter_auto_out_d_ready),
+    .auto_out_d_valid(master_splitter_auto_out_d_valid),
+    .auto_out_d_bits_opcode(master_splitter_auto_out_d_bits_opcode),
+    .auto_out_d_bits_param(master_splitter_auto_out_d_bits_param),
+    .auto_out_d_bits_size(master_splitter_auto_out_d_bits_size),
+    .auto_out_d_bits_source(master_splitter_auto_out_d_bits_source),
+    .auto_out_d_bits_sink(master_splitter_auto_out_d_bits_sink),
+    .auto_out_d_bits_denied(master_splitter_auto_out_d_bits_denied),
+    .auto_out_d_bits_data(master_splitter_auto_out_d_bits_data),
+    .auto_out_d_bits_corrupt(master_splitter_auto_out_d_bits_corrupt)
+  );
+  SimpleLazyModule_10 coupler_from_tile_named_tile ( // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45788.4]
+    .clock(coupler_from_tile_named_tile_clock),
+    .reset(coupler_from_tile_named_tile_reset),
+    .auto_buffer_out_a_ready(coupler_from_tile_named_tile_auto_buffer_out_a_ready),
+    .auto_buffer_out_a_valid(coupler_from_tile_named_tile_auto_buffer_out_a_valid),
+    .auto_buffer_out_a_bits_opcode(coupler_from_tile_named_tile_auto_buffer_out_a_bits_opcode),
+    .auto_buffer_out_a_bits_param(coupler_from_tile_named_tile_auto_buffer_out_a_bits_param),
+    .auto_buffer_out_a_bits_size(coupler_from_tile_named_tile_auto_buffer_out_a_bits_size),
+    .auto_buffer_out_a_bits_source(coupler_from_tile_named_tile_auto_buffer_out_a_bits_source),
+    .auto_buffer_out_a_bits_address(coupler_from_tile_named_tile_auto_buffer_out_a_bits_address),
+    .auto_buffer_out_a_bits_mask(coupler_from_tile_named_tile_auto_buffer_out_a_bits_mask),
+    .auto_buffer_out_a_bits_data(coupler_from_tile_named_tile_auto_buffer_out_a_bits_data),
+    .auto_buffer_out_a_bits_corrupt(coupler_from_tile_named_tile_auto_buffer_out_a_bits_corrupt),
+    .auto_buffer_out_d_ready(coupler_from_tile_named_tile_auto_buffer_out_d_ready),
+    .auto_buffer_out_d_valid(coupler_from_tile_named_tile_auto_buffer_out_d_valid),
+    .auto_buffer_out_d_bits_opcode(coupler_from_tile_named_tile_auto_buffer_out_d_bits_opcode),
+    .auto_buffer_out_d_bits_param(coupler_from_tile_named_tile_auto_buffer_out_d_bits_param),
+    .auto_buffer_out_d_bits_size(coupler_from_tile_named_tile_auto_buffer_out_d_bits_size),
+    .auto_buffer_out_d_bits_source(coupler_from_tile_named_tile_auto_buffer_out_d_bits_source),
+    .auto_buffer_out_d_bits_sink(coupler_from_tile_named_tile_auto_buffer_out_d_bits_sink),
+    .auto_buffer_out_d_bits_denied(coupler_from_tile_named_tile_auto_buffer_out_d_bits_denied),
+    .auto_buffer_out_d_bits_data(coupler_from_tile_named_tile_auto_buffer_out_d_bits_data),
+    .auto_buffer_out_d_bits_corrupt(coupler_from_tile_named_tile_auto_buffer_out_d_bits_corrupt),
+    .auto_tl_master_xing_in_a_ready(coupler_from_tile_named_tile_auto_tl_master_xing_in_a_ready),
+    .auto_tl_master_xing_in_a_valid(coupler_from_tile_named_tile_auto_tl_master_xing_in_a_valid),
+    .auto_tl_master_xing_in_a_bits_opcode(coupler_from_tile_named_tile_auto_tl_master_xing_in_a_bits_opcode),
+    .auto_tl_master_xing_in_a_bits_param(coupler_from_tile_named_tile_auto_tl_master_xing_in_a_bits_param),
+    .auto_tl_master_xing_in_a_bits_size(coupler_from_tile_named_tile_auto_tl_master_xing_in_a_bits_size),
+    .auto_tl_master_xing_in_a_bits_source(coupler_from_tile_named_tile_auto_tl_master_xing_in_a_bits_source),
+    .auto_tl_master_xing_in_a_bits_address(coupler_from_tile_named_tile_auto_tl_master_xing_in_a_bits_address),
+    .auto_tl_master_xing_in_a_bits_mask(coupler_from_tile_named_tile_auto_tl_master_xing_in_a_bits_mask),
+    .auto_tl_master_xing_in_a_bits_data(coupler_from_tile_named_tile_auto_tl_master_xing_in_a_bits_data),
+    .auto_tl_master_xing_in_a_bits_corrupt(coupler_from_tile_named_tile_auto_tl_master_xing_in_a_bits_corrupt),
+    .auto_tl_master_xing_in_d_ready(coupler_from_tile_named_tile_auto_tl_master_xing_in_d_ready),
+    .auto_tl_master_xing_in_d_valid(coupler_from_tile_named_tile_auto_tl_master_xing_in_d_valid),
+    .auto_tl_master_xing_in_d_bits_opcode(coupler_from_tile_named_tile_auto_tl_master_xing_in_d_bits_opcode),
+    .auto_tl_master_xing_in_d_bits_param(coupler_from_tile_named_tile_auto_tl_master_xing_in_d_bits_param),
+    .auto_tl_master_xing_in_d_bits_size(coupler_from_tile_named_tile_auto_tl_master_xing_in_d_bits_size),
+    .auto_tl_master_xing_in_d_bits_source(coupler_from_tile_named_tile_auto_tl_master_xing_in_d_bits_source),
+    .auto_tl_master_xing_in_d_bits_sink(coupler_from_tile_named_tile_auto_tl_master_xing_in_d_bits_sink),
+    .auto_tl_master_xing_in_d_bits_denied(coupler_from_tile_named_tile_auto_tl_master_xing_in_d_bits_denied),
+    .auto_tl_master_xing_in_d_bits_data(coupler_from_tile_named_tile_auto_tl_master_xing_in_d_bits_data),
+    .auto_tl_master_xing_in_d_bits_corrupt(coupler_from_tile_named_tile_auto_tl_master_xing_in_d_bits_corrupt)
+  );
+  assign auto_coupler_from_tile_named_tile_tl_master_xing_in_a_ready = coupler_from_tile_named_tile_auto_tl_master_xing_in_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45805.4]
+  assign auto_coupler_from_tile_named_tile_tl_master_xing_in_d_valid = coupler_from_tile_named_tile_auto_tl_master_xing_in_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45805.4]
+  assign auto_coupler_from_tile_named_tile_tl_master_xing_in_d_bits_opcode = coupler_from_tile_named_tile_auto_tl_master_xing_in_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45805.4]
+  assign auto_coupler_from_tile_named_tile_tl_master_xing_in_d_bits_param = coupler_from_tile_named_tile_auto_tl_master_xing_in_d_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45805.4]
+  assign auto_coupler_from_tile_named_tile_tl_master_xing_in_d_bits_size = coupler_from_tile_named_tile_auto_tl_master_xing_in_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45805.4]
+  assign auto_coupler_from_tile_named_tile_tl_master_xing_in_d_bits_source = coupler_from_tile_named_tile_auto_tl_master_xing_in_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45805.4]
+  assign auto_coupler_from_tile_named_tile_tl_master_xing_in_d_bits_sink = coupler_from_tile_named_tile_auto_tl_master_xing_in_d_bits_sink; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45805.4]
+  assign auto_coupler_from_tile_named_tile_tl_master_xing_in_d_bits_denied = coupler_from_tile_named_tile_auto_tl_master_xing_in_d_bits_denied; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45805.4]
+  assign auto_coupler_from_tile_named_tile_tl_master_xing_in_d_bits_data = coupler_from_tile_named_tile_auto_tl_master_xing_in_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45805.4]
+  assign auto_coupler_from_tile_named_tile_tl_master_xing_in_d_bits_corrupt = coupler_from_tile_named_tile_auto_tl_master_xing_in_d_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45805.4]
+  assign auto_control_bus_coupler_to_slave_named_aon_asource_out_a_mem_0_opcode = control_bus_auto_coupler_to_slave_named_aon_asource_out_a_mem_0_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45804.4]
+  assign auto_control_bus_coupler_to_slave_named_aon_asource_out_a_mem_0_param = control_bus_auto_coupler_to_slave_named_aon_asource_out_a_mem_0_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45804.4]
+  assign auto_control_bus_coupler_to_slave_named_aon_asource_out_a_mem_0_size = control_bus_auto_coupler_to_slave_named_aon_asource_out_a_mem_0_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45804.4]
+  assign auto_control_bus_coupler_to_slave_named_aon_asource_out_a_mem_0_source = control_bus_auto_coupler_to_slave_named_aon_asource_out_a_mem_0_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45804.4]
+  assign auto_control_bus_coupler_to_slave_named_aon_asource_out_a_mem_0_address = control_bus_auto_coupler_to_slave_named_aon_asource_out_a_mem_0_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45804.4]
+  assign auto_control_bus_coupler_to_slave_named_aon_asource_out_a_mem_0_mask = control_bus_auto_coupler_to_slave_named_aon_asource_out_a_mem_0_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45804.4]
+  assign auto_control_bus_coupler_to_slave_named_aon_asource_out_a_mem_0_data = control_bus_auto_coupler_to_slave_named_aon_asource_out_a_mem_0_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45804.4]
+  assign auto_control_bus_coupler_to_slave_named_aon_asource_out_a_mem_0_corrupt = control_bus_auto_coupler_to_slave_named_aon_asource_out_a_mem_0_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45804.4]
+  assign auto_control_bus_coupler_to_slave_named_aon_asource_out_a_widx = control_bus_auto_coupler_to_slave_named_aon_asource_out_a_widx; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45804.4]
+  assign auto_control_bus_coupler_to_slave_named_aon_asource_out_a_safe_widx_valid = control_bus_auto_coupler_to_slave_named_aon_asource_out_a_safe_widx_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45804.4]
+  assign auto_control_bus_coupler_to_slave_named_aon_asource_out_a_safe_source_reset_n = control_bus_auto_coupler_to_slave_named_aon_asource_out_a_safe_source_reset_n; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45804.4]
+  assign auto_control_bus_coupler_to_slave_named_aon_asource_out_d_ridx = control_bus_auto_coupler_to_slave_named_aon_asource_out_d_ridx; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45804.4]
+  assign auto_control_bus_coupler_to_slave_named_aon_asource_out_d_safe_ridx_valid = control_bus_auto_coupler_to_slave_named_aon_asource_out_d_safe_ridx_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45804.4]
+  assign auto_control_bus_coupler_to_slave_named_aon_asource_out_d_safe_sink_reset_n = control_bus_auto_coupler_to_slave_named_aon_asource_out_d_safe_sink_reset_n; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45804.4]
+  assign auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_a_valid = control_bus_auto_coupler_to_slave_named_MaskROM_fragmenter_out_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45803.4]
+  assign auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_opcode = control_bus_auto_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45803.4]
+  assign auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_param = control_bus_auto_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45803.4]
+  assign auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_size = control_bus_auto_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45803.4]
+  assign auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_source = control_bus_auto_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45803.4]
+  assign auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_address = control_bus_auto_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45803.4]
+  assign auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_mask = control_bus_auto_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45803.4]
+  assign auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_corrupt = control_bus_auto_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45803.4]
+  assign auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_d_ready = control_bus_auto_coupler_to_slave_named_MaskROM_fragmenter_out_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45803.4]
+  assign auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_valid = control_bus_auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45802.4]
+  assign auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_opcode = control_bus_auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45802.4]
+  assign auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_param = control_bus_auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45802.4]
+  assign auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_size = control_bus_auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45802.4]
+  assign auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_source = control_bus_auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45802.4]
+  assign auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_address = control_bus_auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45802.4]
+  assign auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_mask = control_bus_auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45802.4]
+  assign auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_data = control_bus_auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45802.4]
+  assign auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_corrupt = control_bus_auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45802.4]
+  assign auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_ready = control_bus_auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45802.4]
+  assign auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_valid = control_bus_auto_coupler_to_slave_named_debug_fragmenter_out_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45801.4]
+  assign auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_bits_opcode = control_bus_auto_coupler_to_slave_named_debug_fragmenter_out_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45801.4]
+  assign auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_bits_param = control_bus_auto_coupler_to_slave_named_debug_fragmenter_out_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45801.4]
+  assign auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_bits_size = control_bus_auto_coupler_to_slave_named_debug_fragmenter_out_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45801.4]
+  assign auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_bits_source = control_bus_auto_coupler_to_slave_named_debug_fragmenter_out_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45801.4]
+  assign auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_bits_address = control_bus_auto_coupler_to_slave_named_debug_fragmenter_out_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45801.4]
+  assign auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_bits_mask = control_bus_auto_coupler_to_slave_named_debug_fragmenter_out_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45801.4]
+  assign auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_bits_data = control_bus_auto_coupler_to_slave_named_debug_fragmenter_out_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45801.4]
+  assign auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_bits_corrupt = control_bus_auto_coupler_to_slave_named_debug_fragmenter_out_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45801.4]
+  assign auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_d_ready = control_bus_auto_coupler_to_slave_named_debug_fragmenter_out_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45801.4]
+  assign auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_valid = control_bus_auto_coupler_to_slave_named_clint_fragmenter_out_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45800.4]
+  assign auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_bits_opcode = control_bus_auto_coupler_to_slave_named_clint_fragmenter_out_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45800.4]
+  assign auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_bits_param = control_bus_auto_coupler_to_slave_named_clint_fragmenter_out_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45800.4]
+  assign auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_bits_size = control_bus_auto_coupler_to_slave_named_clint_fragmenter_out_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45800.4]
+  assign auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_bits_source = control_bus_auto_coupler_to_slave_named_clint_fragmenter_out_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45800.4]
+  assign auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_bits_address = control_bus_auto_coupler_to_slave_named_clint_fragmenter_out_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45800.4]
+  assign auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_bits_mask = control_bus_auto_coupler_to_slave_named_clint_fragmenter_out_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45800.4]
+  assign auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_bits_data = control_bus_auto_coupler_to_slave_named_clint_fragmenter_out_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45800.4]
+  assign auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_bits_corrupt = control_bus_auto_coupler_to_slave_named_clint_fragmenter_out_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45800.4]
+  assign auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_d_ready = control_bus_auto_coupler_to_slave_named_clint_fragmenter_out_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45800.4]
+  assign auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_valid = control_bus_auto_coupler_to_slave_named_plic_fragmenter_out_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45799.4]
+  assign auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_bits_opcode = control_bus_auto_coupler_to_slave_named_plic_fragmenter_out_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45799.4]
+  assign auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_bits_param = control_bus_auto_coupler_to_slave_named_plic_fragmenter_out_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45799.4]
+  assign auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_bits_size = control_bus_auto_coupler_to_slave_named_plic_fragmenter_out_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45799.4]
+  assign auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_bits_source = control_bus_auto_coupler_to_slave_named_plic_fragmenter_out_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45799.4]
+  assign auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_bits_address = control_bus_auto_coupler_to_slave_named_plic_fragmenter_out_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45799.4]
+  assign auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_bits_mask = control_bus_auto_coupler_to_slave_named_plic_fragmenter_out_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45799.4]
+  assign auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_bits_data = control_bus_auto_coupler_to_slave_named_plic_fragmenter_out_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45799.4]
+  assign auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_bits_corrupt = control_bus_auto_coupler_to_slave_named_plic_fragmenter_out_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45799.4]
+  assign auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_d_ready = control_bus_auto_coupler_to_slave_named_plic_fragmenter_out_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45799.4]
+  assign auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_valid = control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45798.4]
+  assign auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_bits_opcode = control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45798.4]
+  assign auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_bits_param = control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45798.4]
+  assign auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_bits_size = control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45798.4]
+  assign auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_bits_source = control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45798.4]
+  assign auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_bits_address = control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45798.4]
+  assign auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_bits_mask = control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45798.4]
+  assign auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_bits_data = control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45798.4]
+  assign auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_bits_corrupt = control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45798.4]
+  assign auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_ready = control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45798.4]
+  assign system_bus_xbar_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45762.4]
+  assign system_bus_xbar_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45763.4]
+  assign system_bus_xbar_auto_in_a_valid = master_splitter_auto_out_a_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45796.4]
+  assign system_bus_xbar_auto_in_a_bits_opcode = master_splitter_auto_out_a_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45796.4]
+  assign system_bus_xbar_auto_in_a_bits_param = master_splitter_auto_out_a_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45796.4]
+  assign system_bus_xbar_auto_in_a_bits_size = master_splitter_auto_out_a_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45796.4]
+  assign system_bus_xbar_auto_in_a_bits_source = master_splitter_auto_out_a_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45796.4]
+  assign system_bus_xbar_auto_in_a_bits_address = master_splitter_auto_out_a_bits_address; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45796.4]
+  assign system_bus_xbar_auto_in_a_bits_mask = master_splitter_auto_out_a_bits_mask; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45796.4]
+  assign system_bus_xbar_auto_in_a_bits_data = master_splitter_auto_out_a_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45796.4]
+  assign system_bus_xbar_auto_in_a_bits_corrupt = master_splitter_auto_out_a_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45796.4]
+  assign system_bus_xbar_auto_in_d_ready = master_splitter_auto_out_d_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45796.4]
+  assign system_bus_xbar_auto_out_a_ready = coupler_to_bus_named_cbus_auto_buffer_in_a_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@45794.4]
+  assign system_bus_xbar_auto_out_d_valid = coupler_to_bus_named_cbus_auto_buffer_in_d_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@45794.4]
+  assign system_bus_xbar_auto_out_d_bits_opcode = coupler_to_bus_named_cbus_auto_buffer_in_d_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@45794.4]
+  assign system_bus_xbar_auto_out_d_bits_param = coupler_to_bus_named_cbus_auto_buffer_in_d_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@45794.4]
+  assign system_bus_xbar_auto_out_d_bits_size = coupler_to_bus_named_cbus_auto_buffer_in_d_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@45794.4]
+  assign system_bus_xbar_auto_out_d_bits_source = coupler_to_bus_named_cbus_auto_buffer_in_d_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@45794.4]
+  assign system_bus_xbar_auto_out_d_bits_sink = coupler_to_bus_named_cbus_auto_buffer_in_d_bits_sink; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@45794.4]
+  assign system_bus_xbar_auto_out_d_bits_denied = coupler_to_bus_named_cbus_auto_buffer_in_d_bits_denied; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@45794.4]
+  assign system_bus_xbar_auto_out_d_bits_data = coupler_to_bus_named_cbus_auto_buffer_in_d_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@45794.4]
+  assign system_bus_xbar_auto_out_d_bits_corrupt = coupler_to_bus_named_cbus_auto_buffer_in_d_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@45794.4]
+  assign control_bus_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45768.4]
+  assign control_bus_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45769.4]
+  assign control_bus_auto_coupler_to_slave_named_aon_asource_out_a_ridx = auto_control_bus_coupler_to_slave_named_aon_asource_out_a_ridx; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45804.4]
+  assign control_bus_auto_coupler_to_slave_named_aon_asource_out_a_safe_ridx_valid = auto_control_bus_coupler_to_slave_named_aon_asource_out_a_safe_ridx_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45804.4]
+  assign control_bus_auto_coupler_to_slave_named_aon_asource_out_a_safe_sink_reset_n = auto_control_bus_coupler_to_slave_named_aon_asource_out_a_safe_sink_reset_n; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45804.4]
+  assign control_bus_auto_coupler_to_slave_named_aon_asource_out_d_mem_0_opcode = auto_control_bus_coupler_to_slave_named_aon_asource_out_d_mem_0_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45804.4]
+  assign control_bus_auto_coupler_to_slave_named_aon_asource_out_d_mem_0_param = auto_control_bus_coupler_to_slave_named_aon_asource_out_d_mem_0_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45804.4]
+  assign control_bus_auto_coupler_to_slave_named_aon_asource_out_d_mem_0_size = auto_control_bus_coupler_to_slave_named_aon_asource_out_d_mem_0_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45804.4]
+  assign control_bus_auto_coupler_to_slave_named_aon_asource_out_d_mem_0_source = auto_control_bus_coupler_to_slave_named_aon_asource_out_d_mem_0_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45804.4]
+  assign control_bus_auto_coupler_to_slave_named_aon_asource_out_d_mem_0_sink = auto_control_bus_coupler_to_slave_named_aon_asource_out_d_mem_0_sink; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45804.4]
+  assign control_bus_auto_coupler_to_slave_named_aon_asource_out_d_mem_0_denied = auto_control_bus_coupler_to_slave_named_aon_asource_out_d_mem_0_denied; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45804.4]
+  assign control_bus_auto_coupler_to_slave_named_aon_asource_out_d_mem_0_data = auto_control_bus_coupler_to_slave_named_aon_asource_out_d_mem_0_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45804.4]
+  assign control_bus_auto_coupler_to_slave_named_aon_asource_out_d_mem_0_corrupt = auto_control_bus_coupler_to_slave_named_aon_asource_out_d_mem_0_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45804.4]
+  assign control_bus_auto_coupler_to_slave_named_aon_asource_out_d_widx = auto_control_bus_coupler_to_slave_named_aon_asource_out_d_widx; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45804.4]
+  assign control_bus_auto_coupler_to_slave_named_aon_asource_out_d_safe_widx_valid = auto_control_bus_coupler_to_slave_named_aon_asource_out_d_safe_widx_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45804.4]
+  assign control_bus_auto_coupler_to_slave_named_aon_asource_out_d_safe_source_reset_n = auto_control_bus_coupler_to_slave_named_aon_asource_out_d_safe_source_reset_n; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45804.4]
+  assign control_bus_auto_coupler_to_slave_named_MaskROM_fragmenter_out_a_ready = auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_a_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45803.4]
+  assign control_bus_auto_coupler_to_slave_named_MaskROM_fragmenter_out_d_valid = auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_d_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45803.4]
+  assign control_bus_auto_coupler_to_slave_named_MaskROM_fragmenter_out_d_bits_size = auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_d_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45803.4]
+  assign control_bus_auto_coupler_to_slave_named_MaskROM_fragmenter_out_d_bits_source = auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_d_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45803.4]
+  assign control_bus_auto_coupler_to_slave_named_MaskROM_fragmenter_out_d_bits_data = auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_d_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45803.4]
+  assign control_bus_auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_ready = auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45802.4]
+  assign control_bus_auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_valid = auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45802.4]
+  assign control_bus_auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_opcode = auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45802.4]
+  assign control_bus_auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_param = auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45802.4]
+  assign control_bus_auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_size = auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45802.4]
+  assign control_bus_auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_source = auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45802.4]
+  assign control_bus_auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_sink = auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_sink; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45802.4]
+  assign control_bus_auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_denied = auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_denied; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45802.4]
+  assign control_bus_auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_data = auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45802.4]
+  assign control_bus_auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_corrupt = auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45802.4]
+  assign control_bus_auto_coupler_to_slave_named_debug_fragmenter_out_a_ready = auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45801.4]
+  assign control_bus_auto_coupler_to_slave_named_debug_fragmenter_out_d_valid = auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_d_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45801.4]
+  assign control_bus_auto_coupler_to_slave_named_debug_fragmenter_out_d_bits_opcode = auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_d_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45801.4]
+  assign control_bus_auto_coupler_to_slave_named_debug_fragmenter_out_d_bits_size = auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_d_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45801.4]
+  assign control_bus_auto_coupler_to_slave_named_debug_fragmenter_out_d_bits_source = auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_d_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45801.4]
+  assign control_bus_auto_coupler_to_slave_named_debug_fragmenter_out_d_bits_data = auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_d_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45801.4]
+  assign control_bus_auto_coupler_to_slave_named_clint_fragmenter_out_a_ready = auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45800.4]
+  assign control_bus_auto_coupler_to_slave_named_clint_fragmenter_out_d_valid = auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_d_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45800.4]
+  assign control_bus_auto_coupler_to_slave_named_clint_fragmenter_out_d_bits_opcode = auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_d_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45800.4]
+  assign control_bus_auto_coupler_to_slave_named_clint_fragmenter_out_d_bits_size = auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_d_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45800.4]
+  assign control_bus_auto_coupler_to_slave_named_clint_fragmenter_out_d_bits_source = auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_d_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45800.4]
+  assign control_bus_auto_coupler_to_slave_named_clint_fragmenter_out_d_bits_data = auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_d_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45800.4]
+  assign control_bus_auto_coupler_to_slave_named_plic_fragmenter_out_a_ready = auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45799.4]
+  assign control_bus_auto_coupler_to_slave_named_plic_fragmenter_out_d_valid = auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_d_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45799.4]
+  assign control_bus_auto_coupler_to_slave_named_plic_fragmenter_out_d_bits_opcode = auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_d_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45799.4]
+  assign control_bus_auto_coupler_to_slave_named_plic_fragmenter_out_d_bits_size = auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_d_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45799.4]
+  assign control_bus_auto_coupler_to_slave_named_plic_fragmenter_out_d_bits_source = auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_d_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45799.4]
+  assign control_bus_auto_coupler_to_slave_named_plic_fragmenter_out_d_bits_data = auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_d_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45799.4]
+  assign control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_a_ready = auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45798.4]
+  assign control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_d_valid = auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45798.4]
+  assign control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_d_bits_opcode = auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45798.4]
+  assign control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_d_bits_param = auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45798.4]
+  assign control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_d_bits_size = auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45798.4]
+  assign control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_d_bits_source = auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45798.4]
+  assign control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_d_bits_sink = auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_bits_sink; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45798.4]
+  assign control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_d_bits_denied = auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_bits_denied; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45798.4]
+  assign control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_d_bits_data = auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45798.4]
+  assign control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_d_bits_corrupt = auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45798.4]
+  assign control_bus_auto_from_sbus_in_a_valid = coupler_to_bus_named_cbus_auto_from_sbus_out_a_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45795.4]
+  assign control_bus_auto_from_sbus_in_a_bits_opcode = coupler_to_bus_named_cbus_auto_from_sbus_out_a_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45795.4]
+  assign control_bus_auto_from_sbus_in_a_bits_param = coupler_to_bus_named_cbus_auto_from_sbus_out_a_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45795.4]
+  assign control_bus_auto_from_sbus_in_a_bits_size = coupler_to_bus_named_cbus_auto_from_sbus_out_a_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45795.4]
+  assign control_bus_auto_from_sbus_in_a_bits_source = coupler_to_bus_named_cbus_auto_from_sbus_out_a_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45795.4]
+  assign control_bus_auto_from_sbus_in_a_bits_address = coupler_to_bus_named_cbus_auto_from_sbus_out_a_bits_address; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45795.4]
+  assign control_bus_auto_from_sbus_in_a_bits_mask = coupler_to_bus_named_cbus_auto_from_sbus_out_a_bits_mask; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45795.4]
+  assign control_bus_auto_from_sbus_in_a_bits_data = coupler_to_bus_named_cbus_auto_from_sbus_out_a_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45795.4]
+  assign control_bus_auto_from_sbus_in_a_bits_corrupt = coupler_to_bus_named_cbus_auto_from_sbus_out_a_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45795.4]
+  assign control_bus_auto_from_sbus_in_d_ready = coupler_to_bus_named_cbus_auto_from_sbus_out_d_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45795.4]
+  assign coupler_to_bus_named_cbus_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45774.4]
+  assign coupler_to_bus_named_cbus_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45775.4]
+  assign coupler_to_bus_named_cbus_auto_buffer_in_a_valid = system_bus_xbar_auto_out_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@45794.4]
+  assign coupler_to_bus_named_cbus_auto_buffer_in_a_bits_opcode = system_bus_xbar_auto_out_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@45794.4]
+  assign coupler_to_bus_named_cbus_auto_buffer_in_a_bits_param = system_bus_xbar_auto_out_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@45794.4]
+  assign coupler_to_bus_named_cbus_auto_buffer_in_a_bits_size = system_bus_xbar_auto_out_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@45794.4]
+  assign coupler_to_bus_named_cbus_auto_buffer_in_a_bits_source = system_bus_xbar_auto_out_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@45794.4]
+  assign coupler_to_bus_named_cbus_auto_buffer_in_a_bits_address = system_bus_xbar_auto_out_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@45794.4]
+  assign coupler_to_bus_named_cbus_auto_buffer_in_a_bits_mask = system_bus_xbar_auto_out_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@45794.4]
+  assign coupler_to_bus_named_cbus_auto_buffer_in_a_bits_data = system_bus_xbar_auto_out_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@45794.4]
+  assign coupler_to_bus_named_cbus_auto_buffer_in_a_bits_corrupt = system_bus_xbar_auto_out_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@45794.4]
+  assign coupler_to_bus_named_cbus_auto_buffer_in_d_ready = system_bus_xbar_auto_out_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@45794.4]
+  assign coupler_to_bus_named_cbus_auto_from_sbus_out_a_ready = control_bus_auto_from_sbus_in_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45795.4]
+  assign coupler_to_bus_named_cbus_auto_from_sbus_out_d_valid = control_bus_auto_from_sbus_in_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45795.4]
+  assign coupler_to_bus_named_cbus_auto_from_sbus_out_d_bits_opcode = control_bus_auto_from_sbus_in_d_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45795.4]
+  assign coupler_to_bus_named_cbus_auto_from_sbus_out_d_bits_param = control_bus_auto_from_sbus_in_d_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45795.4]
+  assign coupler_to_bus_named_cbus_auto_from_sbus_out_d_bits_size = control_bus_auto_from_sbus_in_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45795.4]
+  assign coupler_to_bus_named_cbus_auto_from_sbus_out_d_bits_source = control_bus_auto_from_sbus_in_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45795.4]
+  assign coupler_to_bus_named_cbus_auto_from_sbus_out_d_bits_sink = control_bus_auto_from_sbus_in_d_bits_sink; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45795.4]
+  assign coupler_to_bus_named_cbus_auto_from_sbus_out_d_bits_denied = control_bus_auto_from_sbus_in_d_bits_denied; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45795.4]
+  assign coupler_to_bus_named_cbus_auto_from_sbus_out_d_bits_data = control_bus_auto_from_sbus_in_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45795.4]
+  assign coupler_to_bus_named_cbus_auto_from_sbus_out_d_bits_corrupt = control_bus_auto_from_sbus_in_d_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45795.4]
+  assign master_splitter_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45780.4]
+  assign master_splitter_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45781.4]
+  assign master_splitter_auto_in_a_valid = coupler_from_tile_named_tile_auto_buffer_out_a_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45797.4]
+  assign master_splitter_auto_in_a_bits_opcode = coupler_from_tile_named_tile_auto_buffer_out_a_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45797.4]
+  assign master_splitter_auto_in_a_bits_param = coupler_from_tile_named_tile_auto_buffer_out_a_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45797.4]
+  assign master_splitter_auto_in_a_bits_size = coupler_from_tile_named_tile_auto_buffer_out_a_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45797.4]
+  assign master_splitter_auto_in_a_bits_source = coupler_from_tile_named_tile_auto_buffer_out_a_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45797.4]
+  assign master_splitter_auto_in_a_bits_address = coupler_from_tile_named_tile_auto_buffer_out_a_bits_address; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45797.4]
+  assign master_splitter_auto_in_a_bits_mask = coupler_from_tile_named_tile_auto_buffer_out_a_bits_mask; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45797.4]
+  assign master_splitter_auto_in_a_bits_data = coupler_from_tile_named_tile_auto_buffer_out_a_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45797.4]
+  assign master_splitter_auto_in_a_bits_corrupt = coupler_from_tile_named_tile_auto_buffer_out_a_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45797.4]
+  assign master_splitter_auto_in_d_ready = coupler_from_tile_named_tile_auto_buffer_out_d_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45797.4]
+  assign master_splitter_auto_out_a_ready = system_bus_xbar_auto_in_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45796.4]
+  assign master_splitter_auto_out_d_valid = system_bus_xbar_auto_in_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45796.4]
+  assign master_splitter_auto_out_d_bits_opcode = system_bus_xbar_auto_in_d_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45796.4]
+  assign master_splitter_auto_out_d_bits_param = system_bus_xbar_auto_in_d_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45796.4]
+  assign master_splitter_auto_out_d_bits_size = system_bus_xbar_auto_in_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45796.4]
+  assign master_splitter_auto_out_d_bits_source = system_bus_xbar_auto_in_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45796.4]
+  assign master_splitter_auto_out_d_bits_sink = system_bus_xbar_auto_in_d_bits_sink; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45796.4]
+  assign master_splitter_auto_out_d_bits_denied = system_bus_xbar_auto_in_d_bits_denied; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45796.4]
+  assign master_splitter_auto_out_d_bits_data = system_bus_xbar_auto_in_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45796.4]
+  assign master_splitter_auto_out_d_bits_corrupt = system_bus_xbar_auto_in_d_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45796.4]
+  assign coupler_from_tile_named_tile_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45792.4]
+  assign coupler_from_tile_named_tile_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45793.4]
+  assign coupler_from_tile_named_tile_auto_buffer_out_a_ready = master_splitter_auto_in_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45797.4]
+  assign coupler_from_tile_named_tile_auto_buffer_out_d_valid = master_splitter_auto_in_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45797.4]
+  assign coupler_from_tile_named_tile_auto_buffer_out_d_bits_opcode = master_splitter_auto_in_d_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45797.4]
+  assign coupler_from_tile_named_tile_auto_buffer_out_d_bits_param = master_splitter_auto_in_d_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45797.4]
+  assign coupler_from_tile_named_tile_auto_buffer_out_d_bits_size = master_splitter_auto_in_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45797.4]
+  assign coupler_from_tile_named_tile_auto_buffer_out_d_bits_source = master_splitter_auto_in_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45797.4]
+  assign coupler_from_tile_named_tile_auto_buffer_out_d_bits_sink = master_splitter_auto_in_d_bits_sink; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45797.4]
+  assign coupler_from_tile_named_tile_auto_buffer_out_d_bits_denied = master_splitter_auto_in_d_bits_denied; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45797.4]
+  assign coupler_from_tile_named_tile_auto_buffer_out_d_bits_data = master_splitter_auto_in_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45797.4]
+  assign coupler_from_tile_named_tile_auto_buffer_out_d_bits_corrupt = master_splitter_auto_in_d_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45797.4]
+  assign coupler_from_tile_named_tile_auto_tl_master_xing_in_a_valid = auto_coupler_from_tile_named_tile_tl_master_xing_in_a_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45805.4]
+  assign coupler_from_tile_named_tile_auto_tl_master_xing_in_a_bits_opcode = auto_coupler_from_tile_named_tile_tl_master_xing_in_a_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45805.4]
+  assign coupler_from_tile_named_tile_auto_tl_master_xing_in_a_bits_param = auto_coupler_from_tile_named_tile_tl_master_xing_in_a_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45805.4]
+  assign coupler_from_tile_named_tile_auto_tl_master_xing_in_a_bits_size = auto_coupler_from_tile_named_tile_tl_master_xing_in_a_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45805.4]
+  assign coupler_from_tile_named_tile_auto_tl_master_xing_in_a_bits_source = auto_coupler_from_tile_named_tile_tl_master_xing_in_a_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45805.4]
+  assign coupler_from_tile_named_tile_auto_tl_master_xing_in_a_bits_address = auto_coupler_from_tile_named_tile_tl_master_xing_in_a_bits_address; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45805.4]
+  assign coupler_from_tile_named_tile_auto_tl_master_xing_in_a_bits_mask = auto_coupler_from_tile_named_tile_tl_master_xing_in_a_bits_mask; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45805.4]
+  assign coupler_from_tile_named_tile_auto_tl_master_xing_in_a_bits_data = auto_coupler_from_tile_named_tile_tl_master_xing_in_a_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45805.4]
+  assign coupler_from_tile_named_tile_auto_tl_master_xing_in_a_bits_corrupt = auto_coupler_from_tile_named_tile_tl_master_xing_in_a_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45805.4]
+  assign coupler_from_tile_named_tile_auto_tl_master_xing_in_d_ready = auto_coupler_from_tile_named_tile_tl_master_xing_in_d_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45805.4]
+endmodule
+module TLMonitor_26( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45814.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45815.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45816.4]
+  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45817.4]
+  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45817.4]
+  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45817.4]
+  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45817.4]
+  input  [3:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45817.4]
+  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45817.4]
+  input  [29:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45817.4]
+  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45817.4]
+  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45817.4]
+  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45817.4]
+  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45817.4]
+  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45817.4]
+  input  [1:0]  io_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45817.4]
+  input  [3:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45817.4]
+  input         io_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45817.4]
+  input         io_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45817.4]
+  input         io_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45817.4]
+  input         io_in_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45817.4]
+);
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@47319.4]
+  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@45833.6]
+  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@45838.6]
+  wire [26:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@45840.6]
+  wire [11:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@45841.6]
+  wire [11:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@45842.6]
+  wire [29:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@45843.6]
+  wire [29:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@45843.6]
+  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@45844.6]
+  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45846.6]
+  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@45847.6]
+  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@45849.6]
+  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@45850.6]
+  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@45851.6]
+  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@45852.6]
+  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@45853.6]
+  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@45855.6]
+  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@45856.6]
+  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@45858.6]
+  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@45859.6]
+  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@45860.6]
+  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@45861.6]
+  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@45862.6]
+  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45863.6]
+  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@45864.6]
+  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@45865.6]
+  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45866.6]
+  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@45867.6]
+  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@45868.6]
+  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45869.6]
+  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@45870.6]
+  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@45871.6]
+  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45872.6]
+  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@45873.6]
+  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@45874.6]
+  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@45875.6]
+  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@45876.6]
+  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@45877.6]
+  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@45902.6]
+  wire [29:0] _T_92; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45905.8]
+  wire [30:0] _T_93; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45906.8]
+  wire [30:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@45907.8]
+  wire [30:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@45908.8]
+  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@45909.8]
+  wire [29:0] _T_97; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45910.8]
+  wire [30:0] _T_98; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45911.8]
+  wire [30:0] _T_99; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@45912.8]
+  wire [30:0] _T_100; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@45913.8]
+  wire  _T_101; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@45914.8]
+  wire [29:0] _T_102; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45915.8]
+  wire [30:0] _T_103; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45916.8]
+  wire [30:0] _T_104; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@45917.8]
+  wire [30:0] _T_105; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@45918.8]
+  wire  _T_106; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@45919.8]
+  wire [29:0] _T_107; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45920.8]
+  wire [30:0] _T_108; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45921.8]
+  wire [30:0] _T_109; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@45922.8]
+  wire [30:0] _T_110; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@45923.8]
+  wire  _T_111; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@45924.8]
+  wire [29:0] _T_112; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45925.8]
+  wire [30:0] _T_113; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45926.8]
+  wire [30:0] _T_114; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@45927.8]
+  wire [30:0] _T_115; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@45928.8]
+  wire  _T_116; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@45929.8]
+  wire [29:0] _T_117; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45930.8]
+  wire [30:0] _T_118; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45931.8]
+  wire [30:0] _T_119; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@45932.8]
+  wire [30:0] _T_120; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@45933.8]
+  wire  _T_121; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@45934.8]
+  wire [29:0] _T_122; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45935.8]
+  wire [30:0] _T_123; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45936.8]
+  wire [30:0] _T_124; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@45937.8]
+  wire [30:0] _T_125; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@45938.8]
+  wire  _T_126; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@45939.8]
+  wire [29:0] _T_127; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45940.8]
+  wire [30:0] _T_128; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45941.8]
+  wire [30:0] _T_129; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@45942.8]
+  wire [30:0] _T_130; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@45943.8]
+  wire  _T_131; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@45944.8]
+  wire  _T_132; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@45945.8]
+  wire  _T_133; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@45946.8]
+  wire  _T_134; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@45947.8]
+  wire  _T_135; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@45948.8]
+  wire  _T_143; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45956.8]
+  wire  _T_148; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45969.8]
+  wire  _T_149; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45970.8]
+  wire  _T_152; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45977.8]
+  wire  _T_153; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45978.8]
+  wire  _T_155; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45984.8]
+  wire  _T_156; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45985.8]
+  wire  _T_157; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45990.8]
+  wire  _T_159; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45992.8]
+  wire  _T_160; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45993.8]
+  wire [3:0] _T_161; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@45998.8]
+  wire  _T_162; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45999.8]
+  wire  _T_164; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46001.8]
+  wire  _T_165; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46002.8]
+  wire  _T_166; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@46007.8]
+  wire  _T_168; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46009.8]
+  wire  _T_169; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46010.8]
+  wire  _T_170; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@46016.6]
+  wire  _T_241; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@46112.8]
+  wire  _T_243; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46114.8]
+  wire  _T_244; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46115.8]
+  wire  _T_254; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@46138.6]
+  wire  _T_256; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@46141.8]
+  wire  _T_264; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@46149.8]
+  wire  _T_266; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@46151.8]
+  wire  _T_304; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@46189.8]
+  wire  _T_305; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@46190.8]
+  wire  _T_306; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@46191.8]
+  wire  _T_307; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@46192.8]
+  wire  _T_308; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@46193.8]
+  wire  _T_309; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@46194.8]
+  wire  _T_310; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@46195.8]
+  wire  _T_312; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@46197.8]
+  wire  _T_314; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46199.8]
+  wire  _T_315; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46200.8]
+  wire  _T_322; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@46219.8]
+  wire  _T_324; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46221.8]
+  wire  _T_325; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46222.8]
+  wire  _T_326; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46227.8]
+  wire  _T_328; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46229.8]
+  wire  _T_329; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46230.8]
+  wire  _T_334; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@46244.6]
+  wire  _T_382; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@46293.8]
+  wire  _T_383; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@46294.8]
+  wire  _T_384; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@46295.8]
+  wire  _T_393; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@46304.8]
+  wire  _T_396; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46307.8]
+  wire  _T_397; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46308.8]
+  wire  _T_412; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@46344.6]
+  wire [3:0] _T_486; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@46435.8]
+  wire [3:0] _T_487; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@46436.8]
+  wire  _T_488; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@46437.8]
+  wire  _T_490; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46439.8]
+  wire  _T_491; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46440.8]
+  wire  _T_492; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@46446.6]
+  wire  _T_494; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@46449.8]
+  wire  _T_536; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@46491.8]
+  wire  _T_537; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@46492.8]
+  wire  _T_538; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@46493.8]
+  wire  _T_549; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46504.8]
+  wire  _T_550; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46505.8]
+  wire  _T_557; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@46524.8]
+  wire  _T_559; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46526.8]
+  wire  _T_560; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46527.8]
+  wire  _T_565; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@46541.6]
+  wire  _T_630; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@46619.8]
+  wire  _T_632; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46621.8]
+  wire  _T_633; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46622.8]
+  wire  _T_638; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@46636.6]
+  wire  _T_695; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46694.8]
+  wire  _T_696; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46695.8]
+  wire  _T_711; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@46733.6]
+  wire  _T_713; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@46735.6]
+  wire  _T_714; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@46736.6]
+  wire  _T_716; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@46742.6]
+  wire  _T_725; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@46747.6]
+  wire  _T_727; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@46749.6]
+  wire  _T_729; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46752.8]
+  wire  _T_730; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46753.8]
+  wire  _T_731; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46758.8]
+  wire  _T_733; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46760.8]
+  wire  _T_734; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46761.8]
+  wire  _T_735; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@46766.8]
+  wire  _T_737; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46768.8]
+  wire  _T_738; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46769.8]
+  wire  _T_739; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@46774.8]
+  wire  _T_741; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46776.8]
+  wire  _T_742; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46777.8]
+  wire  _T_743; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@46782.8]
+  wire  _T_745; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46784.8]
+  wire  _T_746; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46785.8]
+  wire  _T_747; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@46791.6]
+  wire  _T_758; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@46815.8]
+  wire  _T_760; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46817.8]
+  wire  _T_761; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46818.8]
+  wire  _T_762; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@46823.8]
+  wire  _T_764; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46825.8]
+  wire  _T_765; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46826.8]
+  wire  _T_775; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@46849.6]
+  wire  _T_795; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@46890.8]
+  wire  _T_797; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46892.8]
+  wire  _T_798; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46893.8]
+  wire  _T_804; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@46908.6]
+  wire  _T_821; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@46943.6]
+  wire  _T_839; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@46979.6]
+  wire  _T_868; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@47039.4]
+  wire [9:0] _T_873; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@47044.4]
+  wire  _T_874; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@47045.4]
+  wire  _T_875; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@47046.4]
+  reg [9:0] _T_878; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@47048.4]
+  reg [31:0] _RAND_0;
+  wire [10:0] _T_879; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@47049.4]
+  wire [10:0] _T_880; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@47050.4]
+  wire [9:0] _T_881; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@47051.4]
+  wire  _T_882; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@47052.4]
+  reg [2:0] _T_891; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@47063.4]
+  reg [31:0] _RAND_1;
+  reg [2:0] _T_893; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@47064.4]
+  reg [31:0] _RAND_2;
+  reg [3:0] _T_895; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@47065.4]
+  reg [31:0] _RAND_3;
+  reg  _T_897; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@47066.4]
+  reg [31:0] _RAND_4;
+  reg [29:0] _T_899; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@47067.4]
+  reg [31:0] _RAND_5;
+  wire  _T_900; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@47068.4]
+  wire  _T_901; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@47069.4]
+  wire  _T_902; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@47071.6]
+  wire  _T_904; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47073.6]
+  wire  _T_905; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47074.6]
+  wire  _T_906; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@47079.6]
+  wire  _T_908; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47081.6]
+  wire  _T_909; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47082.6]
+  wire  _T_910; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@47087.6]
+  wire  _T_912; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47089.6]
+  wire  _T_913; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47090.6]
+  wire  _T_914; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@47095.6]
+  wire  _T_916; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47097.6]
+  wire  _T_917; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47098.6]
+  wire  _T_918; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@47103.6]
+  wire  _T_920; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47105.6]
+  wire  _T_921; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47106.6]
+  wire  _T_923; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@47113.4]
+  wire  _T_924; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@47121.4]
+  wire [26:0] _T_926; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@47123.4]
+  wire [11:0] _T_927; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@47124.4]
+  wire [11:0] _T_928; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@47125.4]
+  wire [9:0] _T_929; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@47126.4]
+  wire  _T_930; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@47127.4]
+  reg [9:0] _T_933; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@47129.4]
+  reg [31:0] _RAND_6;
+  wire [10:0] _T_934; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@47130.4]
+  wire [10:0] _T_935; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@47131.4]
+  wire [9:0] _T_936; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@47132.4]
+  wire  _T_937; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@47133.4]
+  reg [2:0] _T_946; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@47144.4]
+  reg [31:0] _RAND_7;
+  reg [1:0] _T_948; // @[Monitor.scala 419:22:shc.marmotcaravel.MarmotCaravelConfig.fir@47145.4]
+  reg [31:0] _RAND_8;
+  reg [3:0] _T_950; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@47146.4]
+  reg [31:0] _RAND_9;
+  reg  _T_952; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@47147.4]
+  reg [31:0] _RAND_10;
+  reg  _T_954; // @[Monitor.scala 422:22:shc.marmotcaravel.MarmotCaravelConfig.fir@47148.4]
+  reg [31:0] _RAND_11;
+  reg  _T_956; // @[Monitor.scala 423:22:shc.marmotcaravel.MarmotCaravelConfig.fir@47149.4]
+  reg [31:0] _RAND_12;
+  wire  _T_957; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@47150.4]
+  wire  _T_958; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@47151.4]
+  wire  _T_959; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@47153.6]
+  wire  _T_961; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47155.6]
+  wire  _T_962; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47156.6]
+  wire  _T_963; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@47161.6]
+  wire  _T_965; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47163.6]
+  wire  _T_966; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47164.6]
+  wire  _T_967; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@47169.6]
+  wire  _T_969; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47171.6]
+  wire  _T_970; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47172.6]
+  wire  _T_971; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@47177.6]
+  wire  _T_973; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47179.6]
+  wire  _T_974; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47180.6]
+  wire  _T_975; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@47185.6]
+  wire  _T_977; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47187.6]
+  wire  _T_978; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47188.6]
+  wire  _T_979; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@47193.6]
+  wire  _T_981; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47195.6]
+  wire  _T_982; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47196.6]
+  wire  _T_984; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@47203.4]
+  reg [1:0] _T_986; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@47212.4]
+  reg [31:0] _RAND_13;
+  reg [9:0] _T_997; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@47222.4]
+  reg [31:0] _RAND_14;
+  wire [10:0] _T_998; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@47223.4]
+  wire [10:0] _T_999; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@47224.4]
+  wire [9:0] _T_1000; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@47225.4]
+  wire  _T_1001; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@47226.4]
+  reg [9:0] _T_1018; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@47245.4]
+  reg [31:0] _RAND_15;
+  wire [10:0] _T_1019; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@47246.4]
+  wire [10:0] _T_1020; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@47247.4]
+  wire [9:0] _T_1021; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@47248.4]
+  wire  _T_1022; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@47249.4]
+  wire  _T_1033; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@47264.4]
+  wire [1:0] _T_1035; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@47267.6]
+  wire [1:0] _T_1036; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@47269.6]
+  wire  _T_1037; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@47270.6]
+  wire  _T_1038; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47271.6]
+  wire  _T_1040; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@47273.6]
+  wire  _T_1041; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@47274.6]
+  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@47266.4]
+  wire  _T_1046; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@47285.4]
+  wire  _T_1048; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@47287.4]
+  wire  _T_1049; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@47288.4]
+  wire [1:0] _T_1050; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@47290.6]
+  wire [1:0] _T_1051; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@47292.6]
+  wire [1:0] _T_1052; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@47293.6]
+  wire  _T_1053; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@47294.6]
+  wire  _T_1055; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@47296.6]
+  wire  _T_1056; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@47297.6]
+  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@47289.4]
+  wire  _T_1057; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@47303.4]
+  wire  _T_1058; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@47304.4]
+  wire  _T_1059; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@47305.4]
+  wire  _T_1060; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@47306.4]
+  wire  _T_1062; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@47308.4]
+  wire  _T_1063; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@47309.4]
+  wire [1:0] _T_1064; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@47314.4]
+  wire [1:0] _T_1065; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@47315.4]
+  wire [1:0] _T_1066; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@47316.4]
+  reg [31:0] _T_1068; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@47318.4]
+  reg [31:0] _RAND_16;
+  wire  _T_1069; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@47321.4]
+  wire  _T_1070; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@47322.4]
+  wire  _T_1071; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@47323.4]
+  wire  _T_1072; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@47324.4]
+  wire  _T_1073; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@47325.4]
+  wire  _T_1074; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@47326.4]
+  wire  _T_1076; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@47328.4]
+  wire  _T_1077; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@47329.4]
+  wire [31:0] _T_1079; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@47335.4]
+  wire  _T_1082; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@47339.4]
+  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45958.10]
+  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46072.10]
+  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46202.10]
+  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46310.10]
+  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46410.10]
+  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46507.10]
+  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46602.10]
+  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46697.10]
+  wire  _GEN_115; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46755.10]
+  wire  _GEN_125; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46797.10]
+  wire  _GEN_137; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46855.10]
+  wire  _GEN_149; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46914.10]
+  wire  _GEN_155; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46949.10]
+  wire  _GEN_161; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46985.10]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@47319.4]
+    .out(plusarg_reader_out)
+  );
+  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@45833.6]
+  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@45838.6]
+  assign _T_32 = 27'hfff << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@45840.6]
+  assign _T_33 = _T_32[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@45841.6]
+  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@45842.6]
+  assign _GEN_18 = {{18'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@45843.6]
+  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@45843.6]
+  assign _T_36 = _T_35 == 30'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@45844.6]
+  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45846.6]
+  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@45847.6]
+  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@45849.6]
+  assign _T_42 = io_in_a_bits_size >= 4'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@45850.6]
+  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@45851.6]
+  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@45852.6]
+  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@45853.6]
+  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@45855.6]
+  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@45856.6]
+  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@45858.6]
+  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@45859.6]
+  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@45860.6]
+  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@45861.6]
+  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@45862.6]
+  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45863.6]
+  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@45864.6]
+  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@45865.6]
+  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45866.6]
+  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@45867.6]
+  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@45868.6]
+  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45869.6]
+  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@45870.6]
+  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@45871.6]
+  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45872.6]
+  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@45873.6]
+  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@45874.6]
+  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@45875.6]
+  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@45876.6]
+  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@45877.6]
+  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@45902.6]
+  assign _T_92 = io_in_a_bits_address ^ 30'h3000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45905.8]
+  assign _T_93 = {1'b0,$signed(_T_92)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45906.8]
+  assign _T_94 = $signed(_T_93) & $signed(-31'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@45907.8]
+  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@45908.8]
+  assign _T_96 = $signed(_T_95) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@45909.8]
+  assign _T_97 = io_in_a_bits_address ^ 30'h10013000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45910.8]
+  assign _T_98 = {1'b0,$signed(_T_97)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45911.8]
+  assign _T_99 = $signed(_T_98) & $signed(-31'sh21000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@45912.8]
+  assign _T_100 = $signed(_T_99); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@45913.8]
+  assign _T_101 = $signed(_T_100) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@45914.8]
+  assign _T_102 = io_in_a_bits_address ^ 30'h10023000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45915.8]
+  assign _T_103 = {1'b0,$signed(_T_102)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45916.8]
+  assign _T_104 = $signed(_T_103) & $signed(-31'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@45917.8]
+  assign _T_105 = $signed(_T_104); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@45918.8]
+  assign _T_106 = $signed(_T_105) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@45919.8]
+  assign _T_107 = io_in_a_bits_address ^ 30'h10043000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45920.8]
+  assign _T_108 = {1'b0,$signed(_T_107)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45921.8]
+  assign _T_109 = $signed(_T_108) & $signed(-31'sh11000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@45922.8]
+  assign _T_110 = $signed(_T_109); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@45923.8]
+  assign _T_111 = $signed(_T_110) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@45924.8]
+  assign _T_112 = io_in_a_bits_address ^ 30'h10014000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45925.8]
+  assign _T_113 = {1'b0,$signed(_T_112)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45926.8]
+  assign _T_114 = $signed(_T_113) & $signed(-31'sh21000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@45927.8]
+  assign _T_115 = $signed(_T_114); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@45928.8]
+  assign _T_116 = $signed(_T_115) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@45929.8]
+  assign _T_117 = io_in_a_bits_address ^ 30'h20000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45930.8]
+  assign _T_118 = {1'b0,$signed(_T_117)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45931.8]
+  assign _T_119 = $signed(_T_118) & $signed(-31'sh20000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@45932.8]
+  assign _T_120 = $signed(_T_119); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@45933.8]
+  assign _T_121 = $signed(_T_120) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@45934.8]
+  assign _T_122 = io_in_a_bits_address ^ 30'h10024000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45935.8]
+  assign _T_123 = {1'b0,$signed(_T_122)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45936.8]
+  assign _T_124 = $signed(_T_123) & $signed(-31'sh3000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@45937.8]
+  assign _T_125 = $signed(_T_124); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@45938.8]
+  assign _T_126 = $signed(_T_125) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@45939.8]
+  assign _T_127 = io_in_a_bits_address ^ 30'h10012000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45940.8]
+  assign _T_128 = {1'b0,$signed(_T_127)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45941.8]
+  assign _T_129 = $signed(_T_128) & $signed(-31'sh5000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@45942.8]
+  assign _T_130 = $signed(_T_129); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@45943.8]
+  assign _T_131 = $signed(_T_130) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@45944.8]
+  assign _T_132 = _T_96 | _T_101; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@45945.8]
+  assign _T_133 = _T_132 | _T_106; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@45946.8]
+  assign _T_134 = _T_133 | _T_111; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@45947.8]
+  assign _T_135 = _T_134 | _T_116; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@45948.8]
+  assign _T_143 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45956.8]
+  assign _T_148 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45969.8]
+  assign _T_149 = _T_148 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45970.8]
+  assign _T_152 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45977.8]
+  assign _T_153 = _T_152 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45978.8]
+  assign _T_155 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45984.8]
+  assign _T_156 = _T_155 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45985.8]
+  assign _T_157 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45990.8]
+  assign _T_159 = _T_157 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45992.8]
+  assign _T_160 = _T_159 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45993.8]
+  assign _T_161 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@45998.8]
+  assign _T_162 = _T_161 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45999.8]
+  assign _T_164 = _T_162 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46001.8]
+  assign _T_165 = _T_164 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46002.8]
+  assign _T_166 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@46007.8]
+  assign _T_168 = _T_166 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46009.8]
+  assign _T_169 = _T_168 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46010.8]
+  assign _T_170 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@46016.6]
+  assign _T_241 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@46112.8]
+  assign _T_243 = _T_241 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46114.8]
+  assign _T_244 = _T_243 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46115.8]
+  assign _T_254 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@46138.6]
+  assign _T_256 = io_in_a_bits_size <= 4'hc; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@46141.8]
+  assign _T_264 = _T_256 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@46149.8]
+  assign _T_266 = io_in_a_bits_size <= 4'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@46151.8]
+  assign _T_304 = _T_101 | _T_106; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@46189.8]
+  assign _T_305 = _T_304 | _T_111; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@46190.8]
+  assign _T_306 = _T_305 | _T_116; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@46191.8]
+  assign _T_307 = _T_306 | _T_121; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@46192.8]
+  assign _T_308 = _T_307 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@46193.8]
+  assign _T_309 = _T_308 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@46194.8]
+  assign _T_310 = _T_266 & _T_309; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@46195.8]
+  assign _T_312 = _T_264 | _T_310; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@46197.8]
+  assign _T_314 = _T_312 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46199.8]
+  assign _T_315 = _T_314 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46200.8]
+  assign _T_322 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@46219.8]
+  assign _T_324 = _T_322 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46221.8]
+  assign _T_325 = _T_324 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46222.8]
+  assign _T_326 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46227.8]
+  assign _T_328 = _T_326 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46229.8]
+  assign _T_329 = _T_328 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46230.8]
+  assign _T_334 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@46244.6]
+  assign _T_382 = _T_306 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@46293.8]
+  assign _T_383 = _T_382 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@46294.8]
+  assign _T_384 = _T_266 & _T_383; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@46295.8]
+  assign _T_393 = _T_264 | _T_384; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@46304.8]
+  assign _T_396 = _T_393 | reset; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46307.8]
+  assign _T_397 = _T_396 == 1'h0; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46308.8]
+  assign _T_412 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@46344.6]
+  assign _T_486 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@46435.8]
+  assign _T_487 = io_in_a_bits_mask & _T_486; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@46436.8]
+  assign _T_488 = _T_487 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@46437.8]
+  assign _T_490 = _T_488 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46439.8]
+  assign _T_491 = _T_490 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46440.8]
+  assign _T_492 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@46446.6]
+  assign _T_494 = io_in_a_bits_size <= 4'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@46449.8]
+  assign _T_536 = _T_135 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@46491.8]
+  assign _T_537 = _T_536 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@46492.8]
+  assign _T_538 = _T_494 & _T_537; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@46493.8]
+  assign _T_549 = _T_538 | reset; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46504.8]
+  assign _T_550 = _T_549 == 1'h0; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46505.8]
+  assign _T_557 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@46524.8]
+  assign _T_559 = _T_557 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46526.8]
+  assign _T_560 = _T_559 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46527.8]
+  assign _T_565 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@46541.6]
+  assign _T_630 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@46619.8]
+  assign _T_632 = _T_630 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46621.8]
+  assign _T_633 = _T_632 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46622.8]
+  assign _T_638 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@46636.6]
+  assign _T_695 = _T_264 | reset; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46694.8]
+  assign _T_696 = _T_695 == 1'h0; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46695.8]
+  assign _T_711 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@46733.6]
+  assign _T_713 = _T_711 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@46735.6]
+  assign _T_714 = _T_713 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@46736.6]
+  assign _T_716 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@46742.6]
+  assign _T_725 = io_in_d_bits_source | _T_716; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@46747.6]
+  assign _T_727 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@46749.6]
+  assign _T_729 = _T_725 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46752.8]
+  assign _T_730 = _T_729 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46753.8]
+  assign _T_731 = io_in_d_bits_size >= 4'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46758.8]
+  assign _T_733 = _T_731 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46760.8]
+  assign _T_734 = _T_733 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46761.8]
+  assign _T_735 = io_in_d_bits_param == 2'h0; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@46766.8]
+  assign _T_737 = _T_735 | reset; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46768.8]
+  assign _T_738 = _T_737 == 1'h0; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46769.8]
+  assign _T_739 = io_in_d_bits_corrupt == 1'h0; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@46774.8]
+  assign _T_741 = _T_739 | reset; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46776.8]
+  assign _T_742 = _T_741 == 1'h0; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46777.8]
+  assign _T_743 = io_in_d_bits_denied == 1'h0; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@46782.8]
+  assign _T_745 = _T_743 | reset; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46784.8]
+  assign _T_746 = _T_745 == 1'h0; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46785.8]
+  assign _T_747 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@46791.6]
+  assign _T_758 = io_in_d_bits_param <= 2'h2; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@46815.8]
+  assign _T_760 = _T_758 | reset; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46817.8]
+  assign _T_761 = _T_760 == 1'h0; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46818.8]
+  assign _T_762 = io_in_d_bits_param != 2'h2; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@46823.8]
+  assign _T_764 = _T_762 | reset; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46825.8]
+  assign _T_765 = _T_764 == 1'h0; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46826.8]
+  assign _T_775 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@46849.6]
+  assign _T_795 = _T_743 | io_in_d_bits_corrupt; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@46890.8]
+  assign _T_797 = _T_795 | reset; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46892.8]
+  assign _T_798 = _T_797 == 1'h0; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46893.8]
+  assign _T_804 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@46908.6]
+  assign _T_821 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@46943.6]
+  assign _T_839 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@46979.6]
+  assign _T_868 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@47039.4]
+  assign _T_873 = _T_34[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@47044.4]
+  assign _T_874 = io_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@47045.4]
+  assign _T_875 = _T_874 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@47046.4]
+  assign _T_879 = _T_878 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@47049.4]
+  assign _T_880 = $unsigned(_T_879); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@47050.4]
+  assign _T_881 = _T_880[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@47051.4]
+  assign _T_882 = _T_878 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@47052.4]
+  assign _T_900 = _T_882 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@47068.4]
+  assign _T_901 = io_in_a_valid & _T_900; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@47069.4]
+  assign _T_902 = io_in_a_bits_opcode == _T_891; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@47071.6]
+  assign _T_904 = _T_902 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47073.6]
+  assign _T_905 = _T_904 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47074.6]
+  assign _T_906 = io_in_a_bits_param == _T_893; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@47079.6]
+  assign _T_908 = _T_906 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47081.6]
+  assign _T_909 = _T_908 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47082.6]
+  assign _T_910 = io_in_a_bits_size == _T_895; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@47087.6]
+  assign _T_912 = _T_910 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47089.6]
+  assign _T_913 = _T_912 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47090.6]
+  assign _T_914 = io_in_a_bits_source == _T_897; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@47095.6]
+  assign _T_916 = _T_914 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47097.6]
+  assign _T_917 = _T_916 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47098.6]
+  assign _T_918 = io_in_a_bits_address == _T_899; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@47103.6]
+  assign _T_920 = _T_918 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47105.6]
+  assign _T_921 = _T_920 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47106.6]
+  assign _T_923 = _T_868 & _T_882; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@47113.4]
+  assign _T_924 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@47121.4]
+  assign _T_926 = 27'hfff << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@47123.4]
+  assign _T_927 = _T_926[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@47124.4]
+  assign _T_928 = ~ _T_927; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@47125.4]
+  assign _T_929 = _T_928[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@47126.4]
+  assign _T_930 = io_in_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@47127.4]
+  assign _T_934 = _T_933 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@47130.4]
+  assign _T_935 = $unsigned(_T_934); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@47131.4]
+  assign _T_936 = _T_935[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@47132.4]
+  assign _T_937 = _T_933 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@47133.4]
+  assign _T_957 = _T_937 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@47150.4]
+  assign _T_958 = io_in_d_valid & _T_957; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@47151.4]
+  assign _T_959 = io_in_d_bits_opcode == _T_946; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@47153.6]
+  assign _T_961 = _T_959 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47155.6]
+  assign _T_962 = _T_961 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47156.6]
+  assign _T_963 = io_in_d_bits_param == _T_948; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@47161.6]
+  assign _T_965 = _T_963 | reset; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47163.6]
+  assign _T_966 = _T_965 == 1'h0; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47164.6]
+  assign _T_967 = io_in_d_bits_size == _T_950; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@47169.6]
+  assign _T_969 = _T_967 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47171.6]
+  assign _T_970 = _T_969 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47172.6]
+  assign _T_971 = io_in_d_bits_source == _T_952; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@47177.6]
+  assign _T_973 = _T_971 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47179.6]
+  assign _T_974 = _T_973 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47180.6]
+  assign _T_975 = io_in_d_bits_sink == _T_954; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@47185.6]
+  assign _T_977 = _T_975 | reset; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47187.6]
+  assign _T_978 = _T_977 == 1'h0; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47188.6]
+  assign _T_979 = io_in_d_bits_denied == _T_956; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@47193.6]
+  assign _T_981 = _T_979 | reset; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47195.6]
+  assign _T_982 = _T_981 == 1'h0; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47196.6]
+  assign _T_984 = _T_924 & _T_937; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@47203.4]
+  assign _T_998 = _T_997 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@47223.4]
+  assign _T_999 = $unsigned(_T_998); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@47224.4]
+  assign _T_1000 = _T_999[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@47225.4]
+  assign _T_1001 = _T_997 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@47226.4]
+  assign _T_1019 = _T_1018 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@47246.4]
+  assign _T_1020 = $unsigned(_T_1019); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@47247.4]
+  assign _T_1021 = _T_1020[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@47248.4]
+  assign _T_1022 = _T_1018 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@47249.4]
+  assign _T_1033 = _T_868 & _T_1001; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@47264.4]
+  assign _T_1035 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@47267.6]
+  assign _T_1036 = _T_986 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@47269.6]
+  assign _T_1037 = _T_1036[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@47270.6]
+  assign _T_1038 = _T_1037 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47271.6]
+  assign _T_1040 = _T_1038 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@47273.6]
+  assign _T_1041 = _T_1040 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@47274.6]
+  assign _GEN_15 = _T_1033 ? _T_1035 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@47266.4]
+  assign _T_1046 = _T_924 & _T_1022; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@47285.4]
+  assign _T_1048 = _T_727 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@47287.4]
+  assign _T_1049 = _T_1046 & _T_1048; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@47288.4]
+  assign _T_1050 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@47290.6]
+  assign _T_1051 = _GEN_15 | _T_986; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@47292.6]
+  assign _T_1052 = _T_1051 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@47293.6]
+  assign _T_1053 = _T_1052[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@47294.6]
+  assign _T_1055 = _T_1053 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@47296.6]
+  assign _T_1056 = _T_1055 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@47297.6]
+  assign _GEN_16 = _T_1049 ? _T_1050 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@47289.4]
+  assign _T_1057 = _GEN_15 != _GEN_16; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@47303.4]
+  assign _T_1058 = _GEN_15 != 2'h0; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@47304.4]
+  assign _T_1059 = _T_1058 == 1'h0; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@47305.4]
+  assign _T_1060 = _T_1057 | _T_1059; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@47306.4]
+  assign _T_1062 = _T_1060 | reset; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@47308.4]
+  assign _T_1063 = _T_1062 == 1'h0; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@47309.4]
+  assign _T_1064 = _T_986 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@47314.4]
+  assign _T_1065 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@47315.4]
+  assign _T_1066 = _T_1064 & _T_1065; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@47316.4]
+  assign _T_1069 = _T_986 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@47321.4]
+  assign _T_1070 = _T_1069 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@47322.4]
+  assign _T_1071 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@47323.4]
+  assign _T_1072 = _T_1070 | _T_1071; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@47324.4]
+  assign _T_1073 = _T_1068 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@47325.4]
+  assign _T_1074 = _T_1072 | _T_1073; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@47326.4]
+  assign _T_1076 = _T_1074 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@47328.4]
+  assign _T_1077 = _T_1076 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@47329.4]
+  assign _T_1079 = _T_1068 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@47335.4]
+  assign _T_1082 = _T_868 | _T_924; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@47339.4]
+  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45958.10]
+  assign _GEN_35 = io_in_a_valid & _T_170; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46072.10]
+  assign _GEN_53 = io_in_a_valid & _T_254; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46202.10]
+  assign _GEN_65 = io_in_a_valid & _T_334; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46310.10]
+  assign _GEN_75 = io_in_a_valid & _T_412; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46410.10]
+  assign _GEN_85 = io_in_a_valid & _T_492; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46507.10]
+  assign _GEN_95 = io_in_a_valid & _T_565; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46602.10]
+  assign _GEN_105 = io_in_a_valid & _T_638; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46697.10]
+  assign _GEN_115 = io_in_d_valid & _T_727; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46755.10]
+  assign _GEN_125 = io_in_d_valid & _T_747; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46797.10]
+  assign _GEN_137 = io_in_d_valid & _T_775; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46855.10]
+  assign _GEN_149 = io_in_d_valid & _T_804; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46914.10]
+  assign _GEN_155 = io_in_d_valid & _T_821; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46949.10]
+  assign _GEN_161 = io_in_d_valid & _T_839; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46985.10]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  _T_878 = _RAND_0[9:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  _T_891 = _RAND_1[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  _T_893 = _RAND_2[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  _T_895 = _RAND_3[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  _T_897 = _RAND_4[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  _T_899 = _RAND_5[29:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {1{`RANDOM}};
+  _T_933 = _RAND_6[9:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {1{`RANDOM}};
+  _T_946 = _RAND_7[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_8 = {1{`RANDOM}};
+  _T_948 = _RAND_8[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_9 = {1{`RANDOM}};
+  _T_950 = _RAND_9[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_10 = {1{`RANDOM}};
+  _T_952 = _RAND_10[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_11 = {1{`RANDOM}};
+  _T_954 = _RAND_11[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_12 = {1{`RANDOM}};
+  _T_956 = _RAND_12[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_13 = {1{`RANDOM}};
+  _T_986 = _RAND_13[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_14 = {1{`RANDOM}};
+  _T_997 = _RAND_14[9:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_15 = {1{`RANDOM}};
+  _T_1018 = _RAND_15[9:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_16 = {1{`RANDOM}};
+  _T_1068 = _RAND_16[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      _T_878 <= 10'h0;
+    end else begin
+      if (_T_868) begin
+        if (_T_882) begin
+          if (_T_875) begin
+            _T_878 <= _T_873;
+          end else begin
+            _T_878 <= 10'h0;
+          end
+        end else begin
+          _T_878 <= _T_881;
+        end
+      end
+    end
+    if (_T_923) begin
+      _T_891 <= io_in_a_bits_opcode;
+    end
+    if (_T_923) begin
+      _T_893 <= io_in_a_bits_param;
+    end
+    if (_T_923) begin
+      _T_895 <= io_in_a_bits_size;
+    end
+    if (_T_923) begin
+      _T_897 <= io_in_a_bits_source;
+    end
+    if (_T_923) begin
+      _T_899 <= io_in_a_bits_address;
+    end
+    if (reset) begin
+      _T_933 <= 10'h0;
+    end else begin
+      if (_T_924) begin
+        if (_T_937) begin
+          if (_T_930) begin
+            _T_933 <= _T_929;
+          end else begin
+            _T_933 <= 10'h0;
+          end
+        end else begin
+          _T_933 <= _T_936;
+        end
+      end
+    end
+    if (_T_984) begin
+      _T_946 <= io_in_d_bits_opcode;
+    end
+    if (_T_984) begin
+      _T_948 <= io_in_d_bits_param;
+    end
+    if (_T_984) begin
+      _T_950 <= io_in_d_bits_size;
+    end
+    if (_T_984) begin
+      _T_952 <= io_in_d_bits_source;
+    end
+    if (_T_984) begin
+      _T_954 <= io_in_d_bits_sink;
+    end
+    if (_T_984) begin
+      _T_956 <= io_in_d_bits_denied;
+    end
+    if (reset) begin
+      _T_986 <= 2'h0;
+    end else begin
+      _T_986 <= _T_1066;
+    end
+    if (reset) begin
+      _T_997 <= 10'h0;
+    end else begin
+      if (_T_868) begin
+        if (_T_1001) begin
+          if (_T_875) begin
+            _T_997 <= _T_873;
+          end else begin
+            _T_997 <= 10'h0;
+          end
+        end else begin
+          _T_997 <= _T_1000;
+        end
+      end
+    end
+    if (reset) begin
+      _T_1018 <= 10'h0;
+    end else begin
+      if (_T_924) begin
+        if (_T_1022) begin
+          if (_T_930) begin
+            _T_1018 <= _T_929;
+          end else begin
+            _T_1018 <= 10'h0;
+          end
+        end else begin
+          _T_1018 <= _T_1021;
+        end
+      end
+    end
+    if (reset) begin
+      _T_1068 <= 32'h0;
+    end else begin
+      if (_T_1082) begin
+        _T_1068 <= 32'h0;
+      end else begin
+        _T_1068 <= _T_1079;
+      end
+    end
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@45829.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@45830.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@45899.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@45900.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_143) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45958.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_143) begin
+          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45959.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_143) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45965.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_143) begin
+          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45966.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_149) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45972.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_149) begin
+          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45973.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_153) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45980.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_153) begin
+          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45981.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_156) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45987.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_156) begin
+          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45988.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_160) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45995.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_160) begin
+          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45996.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_165) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46004.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_165) begin
+          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46005.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_169) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46012.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_169) begin
+          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46013.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_143) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46072.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_143) begin
+          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46073.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_143) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46079.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_143) begin
+          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46080.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_149) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46086.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_149) begin
+          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46087.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_153) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46094.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_153) begin
+          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46095.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_156) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46101.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_156) begin
+          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46102.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_160) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46109.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_160) begin
+          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46110.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_244) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46117.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_244) begin
+          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46118.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_165) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46126.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_165) begin
+          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46127.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_169) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46134.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_169) begin
+          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46135.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_315) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46202.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_315) begin
+          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46203.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_149) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46209.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_149) begin
+          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46210.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_156) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46216.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_156) begin
+          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46217.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_325) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46224.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_325) begin
+          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46225.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_329) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46232.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_329) begin
+          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46233.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_169) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46240.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_169) begin
+          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46241.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_397) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46310.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_397) begin
+          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46311.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_149) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46317.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_149) begin
+          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46318.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_156) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46324.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_156) begin
+          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46325.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_325) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46332.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_325) begin
+          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46333.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_329) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46340.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_329) begin
+          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46341.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_397) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46410.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_397) begin
+          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46411.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_149) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46417.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_149) begin
+          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46418.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_156) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46424.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_156) begin
+          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46425.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_325) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46432.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_325) begin
+          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46433.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_491) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46442.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_491) begin
+          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46443.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_550) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46507.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_550) begin
+          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46508.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_149) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46514.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_149) begin
+          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46515.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_156) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46521.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_156) begin
+          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46522.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_560) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46529.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_560) begin
+          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46530.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_329) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46537.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_329) begin
+          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46538.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_550) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46602.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_550) begin
+          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46603.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_149) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46609.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_149) begin
+          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46610.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_156) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46616.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_156) begin
+          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46617.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_633) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46624.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_633) begin
+          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46625.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_329) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46632.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_329) begin
+          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46633.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_696) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46697.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_696) begin
+          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46698.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_149) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46704.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_149) begin
+          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46705.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_156) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46711.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_156) begin
+          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46712.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_329) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46719.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_329) begin
+          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46720.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_169) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46727.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_169) begin
+          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46728.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_714) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@46738.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_714) begin
+          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@46739.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_730) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46755.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_730) begin
+          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46756.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_734) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46763.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_734) begin
+          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46764.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_738) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46771.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_738) begin
+          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46772.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_742) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46779.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_742) begin
+          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46780.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_746) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46787.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_746) begin
+          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46788.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_730) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46797.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_730) begin
+          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46798.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_143) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46804.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_143) begin
+          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46805.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_734) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46812.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_734) begin
+          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46813.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_761) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46820.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_761) begin
+          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46821.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_765) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46828.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_765) begin
+          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46829.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_742) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46836.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_742) begin
+          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46837.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46845.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46846.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_137 & _T_730) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46855.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_137 & _T_730) begin
+          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46856.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_137 & _T_143) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46862.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_137 & _T_143) begin
+          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46863.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_137 & _T_734) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46870.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_137 & _T_734) begin
+          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46871.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_137 & _T_761) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46878.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_137 & _T_761) begin
+          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46879.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_137 & _T_765) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46886.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_137 & _T_765) begin
+          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46887.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_137 & _T_798) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46895.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_137 & _T_798) begin
+          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46896.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46904.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46905.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_149 & _T_730) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46914.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_149 & _T_730) begin
+          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46915.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_149 & _T_738) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46922.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_149 & _T_738) begin
+          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46923.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_149 & _T_742) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46930.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_149 & _T_742) begin
+          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46931.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46939.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46940.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_155 & _T_730) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46949.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_155 & _T_730) begin
+          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46950.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_155 & _T_738) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46957.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_155 & _T_738) begin
+          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46958.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_155 & _T_798) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46966.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_155 & _T_798) begin
+          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46967.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46975.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46976.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_161 & _T_730) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46985.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_161 & _T_730) begin
+          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46986.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_161 & _T_738) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46993.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_161 & _T_738) begin
+          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46994.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_161 & _T_742) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47001.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_161 & _T_742) begin
+          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47002.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47010.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47011.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47020.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47021.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47028.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47029.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47036.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47037.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_901 & _T_905) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47076.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_901 & _T_905) begin
+          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47077.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_901 & _T_909) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47084.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_901 & _T_909) begin
+          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47085.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_901 & _T_913) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47092.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_901 & _T_913) begin
+          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47093.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_901 & _T_917) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47100.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_901 & _T_917) begin
+          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47101.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_901 & _T_921) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47108.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_901 & _T_921) begin
+          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47109.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_958 & _T_962) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47158.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_958 & _T_962) begin
+          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47159.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_958 & _T_966) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47166.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_958 & _T_966) begin
+          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47167.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_958 & _T_970) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47174.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_958 & _T_970) begin
+          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47175.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_958 & _T_974) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47182.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_958 & _T_974) begin
+          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47183.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_958 & _T_978) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47190.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_958 & _T_978) begin
+          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47191.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_958 & _T_982) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47198.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_958 & _T_982) begin
+          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47199.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1033 & _T_1041) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@47276.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1033 & _T_1041) begin
+          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@47277.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1049 & _T_1056) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@47299.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1049 & _T_1056) begin
+          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@47300.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1063) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' and 'D' concurrent, despite minlatency 2 (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:471 assert(a_set =/= d_clr || !a_set.orR, s\"'A' and 'D' concurrent, despite minlatency ${edge.manager.minLatency}\" + extra)\n"); // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@47311.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1063) begin
+          $fatal; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@47312.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1077) begin
+          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@47331.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1077) begin
+          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@47332.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+endmodule
+module TLXbar_3( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47344.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47345.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47346.4]
+  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47347.4]
+  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47347.4]
+  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47347.4]
+  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47347.4]
+  input  [3:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47347.4]
+  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47347.4]
+  input  [29:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47347.4]
+  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47347.4]
+  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47347.4]
+  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47347.4]
+  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47347.4]
+  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47347.4]
+  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47347.4]
+  output [1:0]  auto_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47347.4]
+  output [3:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47347.4]
+  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47347.4]
+  output        auto_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47347.4]
+  output        auto_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47347.4]
+  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47347.4]
+  output        auto_in_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47347.4]
+  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47347.4]
+  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47347.4]
+  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47347.4]
+  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47347.4]
+  output [3:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47347.4]
+  output        auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47347.4]
+  output [29:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47347.4]
+  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47347.4]
+  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47347.4]
+  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47347.4]
+  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47347.4]
+  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47347.4]
+  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47347.4]
+  input  [1:0]  auto_out_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47347.4]
+  input  [3:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47347.4]
+  input         auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47347.4]
+  input         auto_out_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47347.4]
+  input         auto_out_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47347.4]
+  input  [31:0] auto_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47347.4]
+  input         auto_out_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47347.4]
+);
+  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@47354.4]
+  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@47354.4]
+  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@47354.4]
+  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@47354.4]
+  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@47354.4]
+  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@47354.4]
+  wire [3:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@47354.4]
+  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@47354.4]
+  wire [29:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@47354.4]
+  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@47354.4]
+  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@47354.4]
+  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@47354.4]
+  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@47354.4]
+  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@47354.4]
+  wire [1:0] TLMonitor_io_in_d_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@47354.4]
+  wire [3:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@47354.4]
+  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@47354.4]
+  wire  TLMonitor_io_in_d_bits_sink; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@47354.4]
+  wire  TLMonitor_io_in_d_bits_denied; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@47354.4]
+  wire  TLMonitor_io_in_d_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@47354.4]
+  TLMonitor_26 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@47354.4]
+    .clock(TLMonitor_clock),
+    .reset(TLMonitor_reset),
+    .io_in_a_ready(TLMonitor_io_in_a_ready),
+    .io_in_a_valid(TLMonitor_io_in_a_valid),
+    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
+    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
+    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
+    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
+    .io_in_d_ready(TLMonitor_io_in_d_ready),
+    .io_in_d_valid(TLMonitor_io_in_d_valid),
+    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
+    .io_in_d_bits_param(TLMonitor_io_in_d_bits_param),
+    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
+    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source),
+    .io_in_d_bits_sink(TLMonitor_io_in_d_bits_sink),
+    .io_in_d_bits_denied(TLMonitor_io_in_d_bits_denied),
+    .io_in_d_bits_corrupt(TLMonitor_io_in_d_bits_corrupt)
+  );
+  assign auto_in_a_ready = auto_out_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@47394.4]
+  assign auto_in_d_valid = auto_out_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@47394.4]
+  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@47394.4]
+  assign auto_in_d_bits_param = auto_out_d_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@47394.4]
+  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@47394.4]
+  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@47394.4]
+  assign auto_in_d_bits_sink = auto_out_d_bits_sink; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@47394.4]
+  assign auto_in_d_bits_denied = auto_out_d_bits_denied; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@47394.4]
+  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@47394.4]
+  assign auto_in_d_bits_corrupt = auto_out_d_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@47394.4]
+  assign auto_out_a_valid = auto_in_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@47393.4]
+  assign auto_out_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@47393.4]
+  assign auto_out_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@47393.4]
+  assign auto_out_a_bits_size = auto_in_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@47393.4]
+  assign auto_out_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@47393.4]
+  assign auto_out_a_bits_address = auto_in_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@47393.4]
+  assign auto_out_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@47393.4]
+  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@47393.4]
+  assign auto_out_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@47393.4]
+  assign auto_out_d_ready = auto_in_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@47393.4]
+  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47356.4]
+  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47357.4]
+  assign TLMonitor_io_in_a_ready = auto_out_a_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@47390.4]
+  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@47390.4]
+  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@47390.4]
+  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@47390.4]
+  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@47390.4]
+  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@47390.4]
+  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@47390.4]
+  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@47390.4]
+  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@47390.4]
+  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@47390.4]
+  assign TLMonitor_io_in_d_valid = auto_out_d_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@47390.4]
+  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@47390.4]
+  assign TLMonitor_io_in_d_bits_param = auto_out_d_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@47390.4]
+  assign TLMonitor_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@47390.4]
+  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@47390.4]
+  assign TLMonitor_io_in_d_bits_sink = auto_out_d_bits_sink; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@47390.4]
+  assign TLMonitor_io_in_d_bits_denied = auto_out_d_bits_denied; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@47390.4]
+  assign TLMonitor_io_in_d_bits_corrupt = auto_out_d_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@47390.4]
+endmodule
+module TLMonitor_27( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47527.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47528.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47529.4]
+  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47530.4]
+  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47530.4]
+  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47530.4]
+  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47530.4]
+  input  [3:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47530.4]
+  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47530.4]
+  input  [29:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47530.4]
+  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47530.4]
+  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47530.4]
+  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47530.4]
+  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47530.4]
+  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47530.4]
+  input  [1:0]  io_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47530.4]
+  input  [3:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47530.4]
+  input         io_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47530.4]
+  input         io_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47530.4]
+  input         io_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47530.4]
+  input         io_in_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47530.4]
+);
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@49021.4]
+  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@47546.6]
+  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@47551.6]
+  wire [26:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@47553.6]
+  wire [11:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@47554.6]
+  wire [11:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@47555.6]
+  wire [29:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@47556.6]
+  wire [29:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@47556.6]
+  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@47557.6]
+  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@47559.6]
+  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@47560.6]
+  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@47562.6]
+  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@47563.6]
+  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@47564.6]
+  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@47565.6]
+  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@47566.6]
+  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@47568.6]
+  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@47569.6]
+  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@47571.6]
+  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@47572.6]
+  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@47573.6]
+  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@47574.6]
+  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@47575.6]
+  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@47576.6]
+  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@47577.6]
+  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@47578.6]
+  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@47579.6]
+  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@47580.6]
+  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@47581.6]
+  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@47582.6]
+  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@47583.6]
+  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@47584.6]
+  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@47585.6]
+  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@47586.6]
+  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@47587.6]
+  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@47588.6]
+  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@47589.6]
+  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@47590.6]
+  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@47615.6]
+  wire [29:0] _T_92; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@47618.8]
+  wire [30:0] _T_93; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@47619.8]
+  wire [30:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@47620.8]
+  wire [30:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@47621.8]
+  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@47622.8]
+  wire [29:0] _T_97; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@47623.8]
+  wire [30:0] _T_98; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@47624.8]
+  wire [30:0] _T_99; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@47625.8]
+  wire [30:0] _T_100; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@47626.8]
+  wire  _T_101; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@47627.8]
+  wire [29:0] _T_102; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@47628.8]
+  wire [30:0] _T_103; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@47629.8]
+  wire [30:0] _T_104; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@47630.8]
+  wire [30:0] _T_105; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@47631.8]
+  wire  _T_106; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@47632.8]
+  wire [29:0] _T_107; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@47633.8]
+  wire [30:0] _T_108; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@47634.8]
+  wire [30:0] _T_109; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@47635.8]
+  wire [30:0] _T_110; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@47636.8]
+  wire  _T_111; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@47637.8]
+  wire [29:0] _T_112; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@47638.8]
+  wire [30:0] _T_113; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@47639.8]
+  wire [30:0] _T_114; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@47640.8]
+  wire [30:0] _T_115; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@47641.8]
+  wire  _T_116; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@47642.8]
+  wire [29:0] _T_117; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@47643.8]
+  wire [30:0] _T_118; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@47644.8]
+  wire [30:0] _T_119; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@47645.8]
+  wire [30:0] _T_120; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@47646.8]
+  wire  _T_121; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@47647.8]
+  wire [29:0] _T_122; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@47648.8]
+  wire [30:0] _T_123; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@47649.8]
+  wire [30:0] _T_124; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@47650.8]
+  wire [30:0] _T_125; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@47651.8]
+  wire  _T_126; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@47652.8]
+  wire [29:0] _T_127; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@47653.8]
+  wire [30:0] _T_128; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@47654.8]
+  wire [30:0] _T_129; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@47655.8]
+  wire [30:0] _T_130; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@47656.8]
+  wire  _T_131; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@47657.8]
+  wire  _T_143; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47669.8]
+  wire  _T_148; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47682.8]
+  wire  _T_149; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47683.8]
+  wire  _T_152; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47690.8]
+  wire  _T_153; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47691.8]
+  wire  _T_155; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47697.8]
+  wire  _T_156; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47698.8]
+  wire  _T_157; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@47703.8]
+  wire  _T_159; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47705.8]
+  wire  _T_160; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47706.8]
+  wire [3:0] _T_161; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@47711.8]
+  wire  _T_162; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@47712.8]
+  wire  _T_164; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47714.8]
+  wire  _T_165; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47715.8]
+  wire  _T_166; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@47720.8]
+  wire  _T_168; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47722.8]
+  wire  _T_169; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47723.8]
+  wire  _T_170; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@47729.6]
+  wire  _T_241; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@47825.8]
+  wire  _T_243; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47827.8]
+  wire  _T_244; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47828.8]
+  wire  _T_254; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@47851.6]
+  wire  _T_256; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@47854.8]
+  wire  _T_264; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@47862.8]
+  wire  _T_266; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@47864.8]
+  wire  _T_304; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@47902.8]
+  wire  _T_305; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@47903.8]
+  wire  _T_306; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@47904.8]
+  wire  _T_307; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@47905.8]
+  wire  _T_308; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@47906.8]
+  wire  _T_309; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@47907.8]
+  wire  _T_310; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@47908.8]
+  wire  _T_312; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@47910.8]
+  wire  _T_314; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47912.8]
+  wire  _T_315; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47913.8]
+  wire  _T_322; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@47932.8]
+  wire  _T_324; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47934.8]
+  wire  _T_325; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47935.8]
+  wire  _T_326; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@47940.8]
+  wire  _T_328; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47942.8]
+  wire  _T_329; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47943.8]
+  wire  _T_334; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@47957.6]
+  wire  _T_382; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@48006.8]
+  wire  _T_383; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@48007.8]
+  wire  _T_384; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@48008.8]
+  wire  _T_393; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@48017.8]
+  wire  _T_396; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48020.8]
+  wire  _T_397; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48021.8]
+  wire  _T_412; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@48057.6]
+  wire [3:0] _T_486; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@48148.8]
+  wire [3:0] _T_487; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@48149.8]
+  wire  _T_488; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@48150.8]
+  wire  _T_490; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48152.8]
+  wire  _T_491; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48153.8]
+  wire  _T_492; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@48159.6]
+  wire  _T_494; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@48162.8]
+  wire  _T_502; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@48170.8]
+  wire  _T_549; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48217.8]
+  wire  _T_550; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48218.8]
+  wire  _T_557; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@48237.8]
+  wire  _T_559; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48239.8]
+  wire  _T_560; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48240.8]
+  wire  _T_565; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@48254.6]
+  wire  _T_630; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@48332.8]
+  wire  _T_632; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48334.8]
+  wire  _T_633; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48335.8]
+  wire  _T_638; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@48349.6]
+  wire  _T_695; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48407.8]
+  wire  _T_696; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48408.8]
+  wire  _T_711; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@48446.6]
+  wire  _T_713; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@48448.6]
+  wire  _T_714; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@48449.6]
+  wire  _T_716; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@48455.6]
+  wire  _T_725; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@48460.6]
+  wire  _T_727; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@48462.6]
+  wire  _T_729; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48465.8]
+  wire  _T_730; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48466.8]
+  wire  _T_731; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@48471.8]
+  wire  _T_733; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48473.8]
+  wire  _T_734; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48474.8]
+  wire  _T_735; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@48479.8]
+  wire  _T_737; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48481.8]
+  wire  _T_738; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48482.8]
+  wire  _T_739; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@48487.8]
+  wire  _T_741; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48489.8]
+  wire  _T_742; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48490.8]
+  wire  _T_743; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@48495.8]
+  wire  _T_745; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48497.8]
+  wire  _T_746; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48498.8]
+  wire  _T_747; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@48504.6]
+  wire  _T_758; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@48528.8]
+  wire  _T_760; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48530.8]
+  wire  _T_761; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48531.8]
+  wire  _T_762; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@48536.8]
+  wire  _T_764; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48538.8]
+  wire  _T_765; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48539.8]
+  wire  _T_775; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@48562.6]
+  wire  _T_795; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@48603.8]
+  wire  _T_797; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48605.8]
+  wire  _T_798; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48606.8]
+  wire  _T_804; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@48621.6]
+  wire  _T_821; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@48656.6]
+  wire  _T_839; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@48692.6]
+  wire  _T_868; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@48752.4]
+  wire [9:0] _T_873; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@48757.4]
+  wire  _T_874; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@48758.4]
+  wire  _T_875; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@48759.4]
+  reg [9:0] _T_878; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@48761.4]
+  reg [31:0] _RAND_0;
+  wire [10:0] _T_879; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@48762.4]
+  wire [10:0] _T_880; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@48763.4]
+  wire [9:0] _T_881; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@48764.4]
+  wire  _T_882; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@48765.4]
+  reg [2:0] _T_891; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@48776.4]
+  reg [31:0] _RAND_1;
+  reg [2:0] _T_893; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@48777.4]
+  reg [31:0] _RAND_2;
+  reg [3:0] _T_895; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@48778.4]
+  reg [31:0] _RAND_3;
+  reg  _T_897; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@48779.4]
+  reg [31:0] _RAND_4;
+  reg [29:0] _T_899; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@48780.4]
+  reg [31:0] _RAND_5;
+  wire  _T_900; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@48781.4]
+  wire  _T_901; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@48782.4]
+  wire  _T_902; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@48784.6]
+  wire  _T_904; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48786.6]
+  wire  _T_905; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48787.6]
+  wire  _T_906; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@48792.6]
+  wire  _T_908; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48794.6]
+  wire  _T_909; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48795.6]
+  wire  _T_910; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@48800.6]
+  wire  _T_912; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48802.6]
+  wire  _T_913; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48803.6]
+  wire  _T_914; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@48808.6]
+  wire  _T_916; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48810.6]
+  wire  _T_917; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48811.6]
+  wire  _T_918; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@48816.6]
+  wire  _T_920; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48818.6]
+  wire  _T_921; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48819.6]
+  wire  _T_923; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@48826.4]
+  wire  _T_924; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@48834.4]
+  wire [26:0] _T_926; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@48836.4]
+  wire [11:0] _T_927; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@48837.4]
+  wire [11:0] _T_928; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@48838.4]
+  wire [9:0] _T_929; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@48839.4]
+  wire  _T_930; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@48840.4]
+  reg [9:0] _T_933; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@48842.4]
+  reg [31:0] _RAND_6;
+  wire [10:0] _T_934; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@48843.4]
+  wire [10:0] _T_935; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@48844.4]
+  wire [9:0] _T_936; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@48845.4]
+  wire  _T_937; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@48846.4]
+  reg [2:0] _T_946; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@48857.4]
+  reg [31:0] _RAND_7;
+  reg [1:0] _T_948; // @[Monitor.scala 419:22:shc.marmotcaravel.MarmotCaravelConfig.fir@48858.4]
+  reg [31:0] _RAND_8;
+  reg [3:0] _T_950; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@48859.4]
+  reg [31:0] _RAND_9;
+  reg  _T_952; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@48860.4]
+  reg [31:0] _RAND_10;
+  reg  _T_954; // @[Monitor.scala 422:22:shc.marmotcaravel.MarmotCaravelConfig.fir@48861.4]
+  reg [31:0] _RAND_11;
+  reg  _T_956; // @[Monitor.scala 423:22:shc.marmotcaravel.MarmotCaravelConfig.fir@48862.4]
+  reg [31:0] _RAND_12;
+  wire  _T_957; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@48863.4]
+  wire  _T_958; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@48864.4]
+  wire  _T_959; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@48866.6]
+  wire  _T_961; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48868.6]
+  wire  _T_962; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48869.6]
+  wire  _T_963; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@48874.6]
+  wire  _T_965; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48876.6]
+  wire  _T_966; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48877.6]
+  wire  _T_967; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@48882.6]
+  wire  _T_969; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48884.6]
+  wire  _T_970; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48885.6]
+  wire  _T_971; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@48890.6]
+  wire  _T_973; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48892.6]
+  wire  _T_974; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48893.6]
+  wire  _T_975; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@48898.6]
+  wire  _T_977; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48900.6]
+  wire  _T_978; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48901.6]
+  wire  _T_979; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@48906.6]
+  wire  _T_981; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48908.6]
+  wire  _T_982; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48909.6]
+  wire  _T_984; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@48916.4]
+  reg [1:0] _T_986; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@48925.4]
+  reg [31:0] _RAND_13;
+  reg [9:0] _T_997; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@48935.4]
+  reg [31:0] _RAND_14;
+  wire [10:0] _T_998; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@48936.4]
+  wire [10:0] _T_999; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@48937.4]
+  wire [9:0] _T_1000; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@48938.4]
+  wire  _T_1001; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@48939.4]
+  reg [9:0] _T_1018; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@48958.4]
+  reg [31:0] _RAND_15;
+  wire [10:0] _T_1019; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@48959.4]
+  wire [10:0] _T_1020; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@48960.4]
+  wire [9:0] _T_1021; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@48961.4]
+  wire  _T_1022; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@48962.4]
+  wire  _T_1033; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@48977.4]
+  wire [1:0] _T_1035; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@48980.6]
+  wire [1:0] _T_1036; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@48982.6]
+  wire  _T_1037; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@48983.6]
+  wire  _T_1038; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48984.6]
+  wire  _T_1040; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@48986.6]
+  wire  _T_1041; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@48987.6]
+  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@48979.4]
+  wire  _T_1046; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@48998.4]
+  wire  _T_1048; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@49000.4]
+  wire  _T_1049; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@49001.4]
+  wire [1:0] _T_1050; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@49003.6]
+  wire [1:0] _T_1051; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@49005.6]
+  wire [1:0] _T_1052; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@49006.6]
+  wire  _T_1053; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@49007.6]
+  wire  _T_1055; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@49009.6]
+  wire  _T_1056; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@49010.6]
+  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@49002.4]
+  wire [1:0] _T_1057; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@49016.4]
+  wire [1:0] _T_1058; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@49017.4]
+  wire [1:0] _T_1059; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@49018.4]
+  reg [31:0] _T_1061; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@49020.4]
+  reg [31:0] _RAND_16;
+  wire  _T_1062; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@49023.4]
+  wire  _T_1063; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@49024.4]
+  wire  _T_1064; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@49025.4]
+  wire  _T_1065; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@49026.4]
+  wire  _T_1066; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@49027.4]
+  wire  _T_1067; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@49028.4]
+  wire  _T_1069; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@49030.4]
+  wire  _T_1070; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@49031.4]
+  wire [31:0] _T_1072; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@49037.4]
+  wire  _T_1075; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@49041.4]
+  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47671.10]
+  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47785.10]
+  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47915.10]
+  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48023.10]
+  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48123.10]
+  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48220.10]
+  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48315.10]
+  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48410.10]
+  wire  _GEN_115; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48468.10]
+  wire  _GEN_125; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48510.10]
+  wire  _GEN_137; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48568.10]
+  wire  _GEN_149; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48627.10]
+  wire  _GEN_155; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48662.10]
+  wire  _GEN_161; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48698.10]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@49021.4]
+    .out(plusarg_reader_out)
+  );
+  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@47546.6]
+  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@47551.6]
+  assign _T_32 = 27'hfff << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@47553.6]
+  assign _T_33 = _T_32[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@47554.6]
+  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@47555.6]
+  assign _GEN_18 = {{18'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@47556.6]
+  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@47556.6]
+  assign _T_36 = _T_35 == 30'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@47557.6]
+  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@47559.6]
+  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@47560.6]
+  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@47562.6]
+  assign _T_42 = io_in_a_bits_size >= 4'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@47563.6]
+  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@47564.6]
+  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@47565.6]
+  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@47566.6]
+  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@47568.6]
+  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@47569.6]
+  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@47571.6]
+  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@47572.6]
+  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@47573.6]
+  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@47574.6]
+  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@47575.6]
+  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@47576.6]
+  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@47577.6]
+  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@47578.6]
+  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@47579.6]
+  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@47580.6]
+  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@47581.6]
+  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@47582.6]
+  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@47583.6]
+  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@47584.6]
+  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@47585.6]
+  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@47586.6]
+  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@47587.6]
+  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@47588.6]
+  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@47589.6]
+  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@47590.6]
+  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@47615.6]
+  assign _T_92 = io_in_a_bits_address ^ 30'h3000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@47618.8]
+  assign _T_93 = {1'b0,$signed(_T_92)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@47619.8]
+  assign _T_94 = $signed(_T_93) & $signed(-31'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@47620.8]
+  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@47621.8]
+  assign _T_96 = $signed(_T_95) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@47622.8]
+  assign _T_97 = io_in_a_bits_address ^ 30'h10013000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@47623.8]
+  assign _T_98 = {1'b0,$signed(_T_97)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@47624.8]
+  assign _T_99 = $signed(_T_98) & $signed(-31'sh21000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@47625.8]
+  assign _T_100 = $signed(_T_99); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@47626.8]
+  assign _T_101 = $signed(_T_100) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@47627.8]
+  assign _T_102 = io_in_a_bits_address ^ 30'h10023000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@47628.8]
+  assign _T_103 = {1'b0,$signed(_T_102)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@47629.8]
+  assign _T_104 = $signed(_T_103) & $signed(-31'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@47630.8]
+  assign _T_105 = $signed(_T_104); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@47631.8]
+  assign _T_106 = $signed(_T_105) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@47632.8]
+  assign _T_107 = io_in_a_bits_address ^ 30'h10043000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@47633.8]
+  assign _T_108 = {1'b0,$signed(_T_107)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@47634.8]
+  assign _T_109 = $signed(_T_108) & $signed(-31'sh11000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@47635.8]
+  assign _T_110 = $signed(_T_109); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@47636.8]
+  assign _T_111 = $signed(_T_110) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@47637.8]
+  assign _T_112 = io_in_a_bits_address ^ 30'h10014000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@47638.8]
+  assign _T_113 = {1'b0,$signed(_T_112)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@47639.8]
+  assign _T_114 = $signed(_T_113) & $signed(-31'sh21000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@47640.8]
+  assign _T_115 = $signed(_T_114); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@47641.8]
+  assign _T_116 = $signed(_T_115) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@47642.8]
+  assign _T_117 = io_in_a_bits_address ^ 30'h20000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@47643.8]
+  assign _T_118 = {1'b0,$signed(_T_117)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@47644.8]
+  assign _T_119 = $signed(_T_118) & $signed(-31'sh20000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@47645.8]
+  assign _T_120 = $signed(_T_119); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@47646.8]
+  assign _T_121 = $signed(_T_120) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@47647.8]
+  assign _T_122 = io_in_a_bits_address ^ 30'h10024000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@47648.8]
+  assign _T_123 = {1'b0,$signed(_T_122)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@47649.8]
+  assign _T_124 = $signed(_T_123) & $signed(-31'sh3000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@47650.8]
+  assign _T_125 = $signed(_T_124); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@47651.8]
+  assign _T_126 = $signed(_T_125) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@47652.8]
+  assign _T_127 = io_in_a_bits_address ^ 30'h10012000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@47653.8]
+  assign _T_128 = {1'b0,$signed(_T_127)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@47654.8]
+  assign _T_129 = $signed(_T_128) & $signed(-31'sh5000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@47655.8]
+  assign _T_130 = $signed(_T_129); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@47656.8]
+  assign _T_131 = $signed(_T_130) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@47657.8]
+  assign _T_143 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47669.8]
+  assign _T_148 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47682.8]
+  assign _T_149 = _T_148 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47683.8]
+  assign _T_152 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47690.8]
+  assign _T_153 = _T_152 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47691.8]
+  assign _T_155 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47697.8]
+  assign _T_156 = _T_155 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47698.8]
+  assign _T_157 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@47703.8]
+  assign _T_159 = _T_157 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47705.8]
+  assign _T_160 = _T_159 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47706.8]
+  assign _T_161 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@47711.8]
+  assign _T_162 = _T_161 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@47712.8]
+  assign _T_164 = _T_162 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47714.8]
+  assign _T_165 = _T_164 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47715.8]
+  assign _T_166 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@47720.8]
+  assign _T_168 = _T_166 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47722.8]
+  assign _T_169 = _T_168 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47723.8]
+  assign _T_170 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@47729.6]
+  assign _T_241 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@47825.8]
+  assign _T_243 = _T_241 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47827.8]
+  assign _T_244 = _T_243 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47828.8]
+  assign _T_254 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@47851.6]
+  assign _T_256 = io_in_a_bits_size <= 4'hc; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@47854.8]
+  assign _T_264 = _T_256 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@47862.8]
+  assign _T_266 = io_in_a_bits_size <= 4'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@47864.8]
+  assign _T_304 = _T_101 | _T_106; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@47902.8]
+  assign _T_305 = _T_304 | _T_111; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@47903.8]
+  assign _T_306 = _T_305 | _T_116; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@47904.8]
+  assign _T_307 = _T_306 | _T_121; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@47905.8]
+  assign _T_308 = _T_307 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@47906.8]
+  assign _T_309 = _T_308 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@47907.8]
+  assign _T_310 = _T_266 & _T_309; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@47908.8]
+  assign _T_312 = _T_264 | _T_310; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@47910.8]
+  assign _T_314 = _T_312 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47912.8]
+  assign _T_315 = _T_314 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47913.8]
+  assign _T_322 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@47932.8]
+  assign _T_324 = _T_322 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47934.8]
+  assign _T_325 = _T_324 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47935.8]
+  assign _T_326 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@47940.8]
+  assign _T_328 = _T_326 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47942.8]
+  assign _T_329 = _T_328 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47943.8]
+  assign _T_334 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@47957.6]
+  assign _T_382 = _T_306 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@48006.8]
+  assign _T_383 = _T_382 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@48007.8]
+  assign _T_384 = _T_266 & _T_383; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@48008.8]
+  assign _T_393 = _T_264 | _T_384; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@48017.8]
+  assign _T_396 = _T_393 | reset; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48020.8]
+  assign _T_397 = _T_396 == 1'h0; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48021.8]
+  assign _T_412 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@48057.6]
+  assign _T_486 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@48148.8]
+  assign _T_487 = io_in_a_bits_mask & _T_486; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@48149.8]
+  assign _T_488 = _T_487 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@48150.8]
+  assign _T_490 = _T_488 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48152.8]
+  assign _T_491 = _T_490 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48153.8]
+  assign _T_492 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@48159.6]
+  assign _T_494 = io_in_a_bits_size <= 4'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@48162.8]
+  assign _T_502 = _T_494 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@48170.8]
+  assign _T_549 = _T_502 | reset; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48217.8]
+  assign _T_550 = _T_549 == 1'h0; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48218.8]
+  assign _T_557 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@48237.8]
+  assign _T_559 = _T_557 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48239.8]
+  assign _T_560 = _T_559 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48240.8]
+  assign _T_565 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@48254.6]
+  assign _T_630 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@48332.8]
+  assign _T_632 = _T_630 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48334.8]
+  assign _T_633 = _T_632 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48335.8]
+  assign _T_638 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@48349.6]
+  assign _T_695 = _T_264 | reset; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48407.8]
+  assign _T_696 = _T_695 == 1'h0; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48408.8]
+  assign _T_711 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@48446.6]
+  assign _T_713 = _T_711 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@48448.6]
+  assign _T_714 = _T_713 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@48449.6]
+  assign _T_716 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@48455.6]
+  assign _T_725 = io_in_d_bits_source | _T_716; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@48460.6]
+  assign _T_727 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@48462.6]
+  assign _T_729 = _T_725 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48465.8]
+  assign _T_730 = _T_729 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48466.8]
+  assign _T_731 = io_in_d_bits_size >= 4'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@48471.8]
+  assign _T_733 = _T_731 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48473.8]
+  assign _T_734 = _T_733 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48474.8]
+  assign _T_735 = io_in_d_bits_param == 2'h0; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@48479.8]
+  assign _T_737 = _T_735 | reset; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48481.8]
+  assign _T_738 = _T_737 == 1'h0; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48482.8]
+  assign _T_739 = io_in_d_bits_corrupt == 1'h0; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@48487.8]
+  assign _T_741 = _T_739 | reset; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48489.8]
+  assign _T_742 = _T_741 == 1'h0; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48490.8]
+  assign _T_743 = io_in_d_bits_denied == 1'h0; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@48495.8]
+  assign _T_745 = _T_743 | reset; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48497.8]
+  assign _T_746 = _T_745 == 1'h0; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48498.8]
+  assign _T_747 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@48504.6]
+  assign _T_758 = io_in_d_bits_param <= 2'h2; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@48528.8]
+  assign _T_760 = _T_758 | reset; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48530.8]
+  assign _T_761 = _T_760 == 1'h0; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48531.8]
+  assign _T_762 = io_in_d_bits_param != 2'h2; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@48536.8]
+  assign _T_764 = _T_762 | reset; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48538.8]
+  assign _T_765 = _T_764 == 1'h0; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48539.8]
+  assign _T_775 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@48562.6]
+  assign _T_795 = _T_743 | io_in_d_bits_corrupt; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@48603.8]
+  assign _T_797 = _T_795 | reset; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48605.8]
+  assign _T_798 = _T_797 == 1'h0; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48606.8]
+  assign _T_804 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@48621.6]
+  assign _T_821 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@48656.6]
+  assign _T_839 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@48692.6]
+  assign _T_868 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@48752.4]
+  assign _T_873 = _T_34[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@48757.4]
+  assign _T_874 = io_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@48758.4]
+  assign _T_875 = _T_874 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@48759.4]
+  assign _T_879 = _T_878 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@48762.4]
+  assign _T_880 = $unsigned(_T_879); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@48763.4]
+  assign _T_881 = _T_880[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@48764.4]
+  assign _T_882 = _T_878 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@48765.4]
+  assign _T_900 = _T_882 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@48781.4]
+  assign _T_901 = io_in_a_valid & _T_900; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@48782.4]
+  assign _T_902 = io_in_a_bits_opcode == _T_891; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@48784.6]
+  assign _T_904 = _T_902 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48786.6]
+  assign _T_905 = _T_904 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48787.6]
+  assign _T_906 = io_in_a_bits_param == _T_893; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@48792.6]
+  assign _T_908 = _T_906 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48794.6]
+  assign _T_909 = _T_908 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48795.6]
+  assign _T_910 = io_in_a_bits_size == _T_895; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@48800.6]
+  assign _T_912 = _T_910 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48802.6]
+  assign _T_913 = _T_912 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48803.6]
+  assign _T_914 = io_in_a_bits_source == _T_897; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@48808.6]
+  assign _T_916 = _T_914 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48810.6]
+  assign _T_917 = _T_916 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48811.6]
+  assign _T_918 = io_in_a_bits_address == _T_899; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@48816.6]
+  assign _T_920 = _T_918 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48818.6]
+  assign _T_921 = _T_920 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48819.6]
+  assign _T_923 = _T_868 & _T_882; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@48826.4]
+  assign _T_924 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@48834.4]
+  assign _T_926 = 27'hfff << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@48836.4]
+  assign _T_927 = _T_926[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@48837.4]
+  assign _T_928 = ~ _T_927; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@48838.4]
+  assign _T_929 = _T_928[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@48839.4]
+  assign _T_930 = io_in_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@48840.4]
+  assign _T_934 = _T_933 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@48843.4]
+  assign _T_935 = $unsigned(_T_934); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@48844.4]
+  assign _T_936 = _T_935[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@48845.4]
+  assign _T_937 = _T_933 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@48846.4]
+  assign _T_957 = _T_937 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@48863.4]
+  assign _T_958 = io_in_d_valid & _T_957; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@48864.4]
+  assign _T_959 = io_in_d_bits_opcode == _T_946; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@48866.6]
+  assign _T_961 = _T_959 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48868.6]
+  assign _T_962 = _T_961 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48869.6]
+  assign _T_963 = io_in_d_bits_param == _T_948; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@48874.6]
+  assign _T_965 = _T_963 | reset; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48876.6]
+  assign _T_966 = _T_965 == 1'h0; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48877.6]
+  assign _T_967 = io_in_d_bits_size == _T_950; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@48882.6]
+  assign _T_969 = _T_967 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48884.6]
+  assign _T_970 = _T_969 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48885.6]
+  assign _T_971 = io_in_d_bits_source == _T_952; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@48890.6]
+  assign _T_973 = _T_971 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48892.6]
+  assign _T_974 = _T_973 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48893.6]
+  assign _T_975 = io_in_d_bits_sink == _T_954; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@48898.6]
+  assign _T_977 = _T_975 | reset; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48900.6]
+  assign _T_978 = _T_977 == 1'h0; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48901.6]
+  assign _T_979 = io_in_d_bits_denied == _T_956; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@48906.6]
+  assign _T_981 = _T_979 | reset; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48908.6]
+  assign _T_982 = _T_981 == 1'h0; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48909.6]
+  assign _T_984 = _T_924 & _T_937; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@48916.4]
+  assign _T_998 = _T_997 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@48936.4]
+  assign _T_999 = $unsigned(_T_998); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@48937.4]
+  assign _T_1000 = _T_999[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@48938.4]
+  assign _T_1001 = _T_997 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@48939.4]
+  assign _T_1019 = _T_1018 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@48959.4]
+  assign _T_1020 = $unsigned(_T_1019); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@48960.4]
+  assign _T_1021 = _T_1020[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@48961.4]
+  assign _T_1022 = _T_1018 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@48962.4]
+  assign _T_1033 = _T_868 & _T_1001; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@48977.4]
+  assign _T_1035 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@48980.6]
+  assign _T_1036 = _T_986 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@48982.6]
+  assign _T_1037 = _T_1036[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@48983.6]
+  assign _T_1038 = _T_1037 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48984.6]
+  assign _T_1040 = _T_1038 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@48986.6]
+  assign _T_1041 = _T_1040 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@48987.6]
+  assign _GEN_15 = _T_1033 ? _T_1035 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@48979.4]
+  assign _T_1046 = _T_924 & _T_1022; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@48998.4]
+  assign _T_1048 = _T_727 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@49000.4]
+  assign _T_1049 = _T_1046 & _T_1048; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@49001.4]
+  assign _T_1050 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@49003.6]
+  assign _T_1051 = _GEN_15 | _T_986; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@49005.6]
+  assign _T_1052 = _T_1051 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@49006.6]
+  assign _T_1053 = _T_1052[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@49007.6]
+  assign _T_1055 = _T_1053 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@49009.6]
+  assign _T_1056 = _T_1055 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@49010.6]
+  assign _GEN_16 = _T_1049 ? _T_1050 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@49002.4]
+  assign _T_1057 = _T_986 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@49016.4]
+  assign _T_1058 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@49017.4]
+  assign _T_1059 = _T_1057 & _T_1058; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@49018.4]
+  assign _T_1062 = _T_986 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@49023.4]
+  assign _T_1063 = _T_1062 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@49024.4]
+  assign _T_1064 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@49025.4]
+  assign _T_1065 = _T_1063 | _T_1064; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@49026.4]
+  assign _T_1066 = _T_1061 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@49027.4]
+  assign _T_1067 = _T_1065 | _T_1066; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@49028.4]
+  assign _T_1069 = _T_1067 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@49030.4]
+  assign _T_1070 = _T_1069 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@49031.4]
+  assign _T_1072 = _T_1061 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@49037.4]
+  assign _T_1075 = _T_868 | _T_924; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@49041.4]
+  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47671.10]
+  assign _GEN_35 = io_in_a_valid & _T_170; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47785.10]
+  assign _GEN_53 = io_in_a_valid & _T_254; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47915.10]
+  assign _GEN_65 = io_in_a_valid & _T_334; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48023.10]
+  assign _GEN_75 = io_in_a_valid & _T_412; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48123.10]
+  assign _GEN_85 = io_in_a_valid & _T_492; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48220.10]
+  assign _GEN_95 = io_in_a_valid & _T_565; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48315.10]
+  assign _GEN_105 = io_in_a_valid & _T_638; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48410.10]
+  assign _GEN_115 = io_in_d_valid & _T_727; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48468.10]
+  assign _GEN_125 = io_in_d_valid & _T_747; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48510.10]
+  assign _GEN_137 = io_in_d_valid & _T_775; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48568.10]
+  assign _GEN_149 = io_in_d_valid & _T_804; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48627.10]
+  assign _GEN_155 = io_in_d_valid & _T_821; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48662.10]
+  assign _GEN_161 = io_in_d_valid & _T_839; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48698.10]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  _T_878 = _RAND_0[9:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  _T_891 = _RAND_1[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  _T_893 = _RAND_2[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  _T_895 = _RAND_3[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  _T_897 = _RAND_4[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  _T_899 = _RAND_5[29:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {1{`RANDOM}};
+  _T_933 = _RAND_6[9:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {1{`RANDOM}};
+  _T_946 = _RAND_7[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_8 = {1{`RANDOM}};
+  _T_948 = _RAND_8[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_9 = {1{`RANDOM}};
+  _T_950 = _RAND_9[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_10 = {1{`RANDOM}};
+  _T_952 = _RAND_10[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_11 = {1{`RANDOM}};
+  _T_954 = _RAND_11[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_12 = {1{`RANDOM}};
+  _T_956 = _RAND_12[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_13 = {1{`RANDOM}};
+  _T_986 = _RAND_13[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_14 = {1{`RANDOM}};
+  _T_997 = _RAND_14[9:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_15 = {1{`RANDOM}};
+  _T_1018 = _RAND_15[9:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_16 = {1{`RANDOM}};
+  _T_1061 = _RAND_16[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      _T_878 <= 10'h0;
+    end else begin
+      if (_T_868) begin
+        if (_T_882) begin
+          if (_T_875) begin
+            _T_878 <= _T_873;
+          end else begin
+            _T_878 <= 10'h0;
+          end
+        end else begin
+          _T_878 <= _T_881;
+        end
+      end
+    end
+    if (_T_923) begin
+      _T_891 <= io_in_a_bits_opcode;
+    end
+    if (_T_923) begin
+      _T_893 <= io_in_a_bits_param;
+    end
+    if (_T_923) begin
+      _T_895 <= io_in_a_bits_size;
+    end
+    if (_T_923) begin
+      _T_897 <= io_in_a_bits_source;
+    end
+    if (_T_923) begin
+      _T_899 <= io_in_a_bits_address;
+    end
+    if (reset) begin
+      _T_933 <= 10'h0;
+    end else begin
+      if (_T_924) begin
+        if (_T_937) begin
+          if (_T_930) begin
+            _T_933 <= _T_929;
+          end else begin
+            _T_933 <= 10'h0;
+          end
+        end else begin
+          _T_933 <= _T_936;
+        end
+      end
+    end
+    if (_T_984) begin
+      _T_946 <= io_in_d_bits_opcode;
+    end
+    if (_T_984) begin
+      _T_948 <= io_in_d_bits_param;
+    end
+    if (_T_984) begin
+      _T_950 <= io_in_d_bits_size;
+    end
+    if (_T_984) begin
+      _T_952 <= io_in_d_bits_source;
+    end
+    if (_T_984) begin
+      _T_954 <= io_in_d_bits_sink;
+    end
+    if (_T_984) begin
+      _T_956 <= io_in_d_bits_denied;
+    end
+    if (reset) begin
+      _T_986 <= 2'h0;
+    end else begin
+      _T_986 <= _T_1059;
+    end
+    if (reset) begin
+      _T_997 <= 10'h0;
+    end else begin
+      if (_T_868) begin
+        if (_T_1001) begin
+          if (_T_875) begin
+            _T_997 <= _T_873;
+          end else begin
+            _T_997 <= 10'h0;
+          end
+        end else begin
+          _T_997 <= _T_1000;
+        end
+      end
+    end
+    if (reset) begin
+      _T_1018 <= 10'h0;
+    end else begin
+      if (_T_924) begin
+        if (_T_1022) begin
+          if (_T_930) begin
+            _T_1018 <= _T_929;
+          end else begin
+            _T_1018 <= 10'h0;
+          end
+        end else begin
+          _T_1018 <= _T_1021;
+        end
+      end
+    end
+    if (reset) begin
+      _T_1061 <= 32'h0;
+    end else begin
+      if (_T_1075) begin
+        _T_1061 <= 32'h0;
+      end else begin
+        _T_1061 <= _T_1072;
+      end
+    end
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@47542.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@47543.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@47612.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@47613.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_143) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47671.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_143) begin
+          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47672.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_143) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47678.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_143) begin
+          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47679.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_149) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47685.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_149) begin
+          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47686.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_153) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47693.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_153) begin
+          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47694.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_156) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47700.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_156) begin
+          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47701.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_160) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47708.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_160) begin
+          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47709.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_165) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47717.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_165) begin
+          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47718.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_169) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47725.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_169) begin
+          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47726.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_143) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47785.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_143) begin
+          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47786.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_143) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47792.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_143) begin
+          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47793.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_149) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47799.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_149) begin
+          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47800.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_153) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47807.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_153) begin
+          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47808.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_156) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47814.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_156) begin
+          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47815.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_160) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47822.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_160) begin
+          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47823.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_244) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47830.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_244) begin
+          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47831.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_165) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47839.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_165) begin
+          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47840.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_169) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47847.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_169) begin
+          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47848.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_315) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47915.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_315) begin
+          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47916.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_149) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47922.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_149) begin
+          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47923.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_156) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47929.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_156) begin
+          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47930.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_325) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47937.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_325) begin
+          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47938.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_329) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47945.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_329) begin
+          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47946.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_169) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47953.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_169) begin
+          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47954.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_397) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48023.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_397) begin
+          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48024.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_149) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48030.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_149) begin
+          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48031.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_156) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48037.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_156) begin
+          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48038.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_325) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48045.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_325) begin
+          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48046.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_329) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48053.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_329) begin
+          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48054.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_397) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48123.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_397) begin
+          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48124.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_149) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48130.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_149) begin
+          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48131.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_156) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48137.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_156) begin
+          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48138.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_325) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48145.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_325) begin
+          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48146.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_491) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48155.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_491) begin
+          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48156.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_550) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48220.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_550) begin
+          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48221.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_149) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48227.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_149) begin
+          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48228.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_156) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48234.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_156) begin
+          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48235.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_560) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48242.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_560) begin
+          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48243.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_329) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48250.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_329) begin
+          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48251.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_550) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48315.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_550) begin
+          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48316.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_149) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48322.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_149) begin
+          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48323.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_156) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48329.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_156) begin
+          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48330.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_633) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48337.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_633) begin
+          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48338.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_329) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48345.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_329) begin
+          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48346.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_696) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48410.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_696) begin
+          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48411.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_149) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48417.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_149) begin
+          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48418.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_156) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48424.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_156) begin
+          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48425.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_329) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48432.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_329) begin
+          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48433.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_169) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48440.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_169) begin
+          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48441.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_714) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@48451.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_714) begin
+          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@48452.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_730) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48468.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_730) begin
+          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48469.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_734) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48476.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_734) begin
+          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48477.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_738) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48484.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_738) begin
+          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48485.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_742) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48492.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_742) begin
+          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48493.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_746) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48500.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_746) begin
+          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48501.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_730) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48510.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_730) begin
+          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48511.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_143) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48517.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_143) begin
+          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48518.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_734) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48525.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_734) begin
+          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48526.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_761) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48533.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_761) begin
+          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48534.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_765) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48541.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_765) begin
+          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48542.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_742) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48549.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_742) begin
+          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48550.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48558.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48559.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_137 & _T_730) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48568.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_137 & _T_730) begin
+          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48569.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_137 & _T_143) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48575.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_137 & _T_143) begin
+          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48576.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_137 & _T_734) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48583.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_137 & _T_734) begin
+          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48584.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_137 & _T_761) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48591.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_137 & _T_761) begin
+          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48592.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_137 & _T_765) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48599.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_137 & _T_765) begin
+          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48600.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_137 & _T_798) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48608.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_137 & _T_798) begin
+          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48609.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48617.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48618.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_149 & _T_730) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48627.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_149 & _T_730) begin
+          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48628.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_149 & _T_738) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48635.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_149 & _T_738) begin
+          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48636.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_149 & _T_742) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48643.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_149 & _T_742) begin
+          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48644.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48652.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48653.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_155 & _T_730) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48662.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_155 & _T_730) begin
+          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48663.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_155 & _T_738) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48670.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_155 & _T_738) begin
+          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48671.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_155 & _T_798) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48679.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_155 & _T_798) begin
+          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48680.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48688.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48689.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_161 & _T_730) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48698.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_161 & _T_730) begin
+          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48699.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_161 & _T_738) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48706.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_161 & _T_738) begin
+          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48707.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_161 & _T_742) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48714.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_161 & _T_742) begin
+          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48715.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48723.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48724.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48733.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48734.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48741.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48742.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48749.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48750.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_901 & _T_905) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48789.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_901 & _T_905) begin
+          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48790.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_901 & _T_909) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48797.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_901 & _T_909) begin
+          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48798.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_901 & _T_913) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48805.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_901 & _T_913) begin
+          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48806.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_901 & _T_917) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48813.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_901 & _T_917) begin
+          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48814.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_901 & _T_921) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48821.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_901 & _T_921) begin
+          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48822.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_958 & _T_962) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48871.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_958 & _T_962) begin
+          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48872.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_958 & _T_966) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48879.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_958 & _T_966) begin
+          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48880.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_958 & _T_970) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48887.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_958 & _T_970) begin
+          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48888.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_958 & _T_974) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48895.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_958 & _T_974) begin
+          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48896.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_958 & _T_978) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48903.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_958 & _T_978) begin
+          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48904.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_958 & _T_982) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48911.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_958 & _T_982) begin
+          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48912.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1033 & _T_1041) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@48989.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1033 & _T_1041) begin
+          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@48990.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1049 & _T_1056) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@49012.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1049 & _T_1056) begin
+          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@49013.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1070) begin
+          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@49033.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1070) begin
+          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@49034.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+endmodule
+module TLXbar_4( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49046.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49047.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49048.4]
+  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  input  [3:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  input  [29:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output [1:0]  auto_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output [3:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output        auto_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output        auto_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output        auto_in_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  input         auto_out_12_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output        auto_out_12_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output [2:0]  auto_out_12_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output [2:0]  auto_out_12_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output [2:0]  auto_out_12_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output        auto_out_12_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output [28:0] auto_out_12_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output [3:0]  auto_out_12_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output [31:0] auto_out_12_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output        auto_out_12_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output        auto_out_12_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  input         auto_out_12_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  input  [2:0]  auto_out_12_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  input  [2:0]  auto_out_12_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  input         auto_out_12_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  input  [31:0] auto_out_12_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  input         auto_out_11_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output        auto_out_11_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output [2:0]  auto_out_11_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output [2:0]  auto_out_11_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output [2:0]  auto_out_11_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output        auto_out_11_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output [28:0] auto_out_11_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output [3:0]  auto_out_11_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output [31:0] auto_out_11_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output        auto_out_11_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output        auto_out_11_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  input         auto_out_11_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  input  [2:0]  auto_out_11_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  input  [2:0]  auto_out_11_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  input         auto_out_11_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  input  [31:0] auto_out_11_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  input         auto_out_10_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output        auto_out_10_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output [2:0]  auto_out_10_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output [2:0]  auto_out_10_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output [2:0]  auto_out_10_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output        auto_out_10_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output [28:0] auto_out_10_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output [3:0]  auto_out_10_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output [31:0] auto_out_10_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output        auto_out_10_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output        auto_out_10_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  input         auto_out_10_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  input  [2:0]  auto_out_10_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  input  [2:0]  auto_out_10_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  input         auto_out_10_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  input  [31:0] auto_out_10_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  input         auto_out_9_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output        auto_out_9_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output [2:0]  auto_out_9_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output [2:0]  auto_out_9_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output [2:0]  auto_out_9_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output        auto_out_9_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output [28:0] auto_out_9_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output [3:0]  auto_out_9_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output [31:0] auto_out_9_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output        auto_out_9_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output        auto_out_9_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  input         auto_out_9_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  input  [2:0]  auto_out_9_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  input  [2:0]  auto_out_9_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  input         auto_out_9_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  input  [31:0] auto_out_9_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  input         auto_out_8_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output        auto_out_8_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output [2:0]  auto_out_8_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output [2:0]  auto_out_8_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output [2:0]  auto_out_8_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output        auto_out_8_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output [28:0] auto_out_8_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output [3:0]  auto_out_8_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output [31:0] auto_out_8_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output        auto_out_8_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output        auto_out_8_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  input         auto_out_8_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  input  [2:0]  auto_out_8_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  input  [2:0]  auto_out_8_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  input         auto_out_8_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  input  [31:0] auto_out_8_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  input         auto_out_7_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output        auto_out_7_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output [2:0]  auto_out_7_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output [2:0]  auto_out_7_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output [2:0]  auto_out_7_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output        auto_out_7_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output [29:0] auto_out_7_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output [3:0]  auto_out_7_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output        auto_out_7_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output        auto_out_7_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  input         auto_out_7_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  input  [2:0]  auto_out_7_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  input         auto_out_7_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  input  [31:0] auto_out_7_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  input         auto_out_7_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  input         auto_out_6_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output        auto_out_6_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output [2:0]  auto_out_6_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output [2:0]  auto_out_6_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output [2:0]  auto_out_6_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output        auto_out_6_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output [28:0] auto_out_6_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output [3:0]  auto_out_6_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output [31:0] auto_out_6_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output        auto_out_6_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output        auto_out_6_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  input         auto_out_6_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  input  [2:0]  auto_out_6_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  input  [2:0]  auto_out_6_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  input         auto_out_6_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  input  [31:0] auto_out_6_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  input         auto_out_5_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output        auto_out_5_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output [2:0]  auto_out_5_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output [2:0]  auto_out_5_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output [2:0]  auto_out_5_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output        auto_out_5_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output [28:0] auto_out_5_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output [3:0]  auto_out_5_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output [31:0] auto_out_5_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output        auto_out_5_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output        auto_out_5_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  input         auto_out_5_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  input  [2:0]  auto_out_5_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  input  [2:0]  auto_out_5_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  input         auto_out_5_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  input  [31:0] auto_out_5_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  input         auto_out_4_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output        auto_out_4_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output [2:0]  auto_out_4_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output [2:0]  auto_out_4_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output [2:0]  auto_out_4_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output        auto_out_4_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output [28:0] auto_out_4_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output [3:0]  auto_out_4_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output [31:0] auto_out_4_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output        auto_out_4_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output        auto_out_4_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  input         auto_out_4_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  input  [2:0]  auto_out_4_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  input  [2:0]  auto_out_4_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  input         auto_out_4_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  input  [31:0] auto_out_4_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  input         auto_out_3_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output        auto_out_3_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output [2:0]  auto_out_3_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output [2:0]  auto_out_3_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output [2:0]  auto_out_3_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output        auto_out_3_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output [28:0] auto_out_3_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output [3:0]  auto_out_3_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output [31:0] auto_out_3_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output        auto_out_3_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output        auto_out_3_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  input         auto_out_3_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  input  [2:0]  auto_out_3_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  input  [2:0]  auto_out_3_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  input         auto_out_3_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  input  [31:0] auto_out_3_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  input         auto_out_2_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output        auto_out_2_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output [2:0]  auto_out_2_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output [2:0]  auto_out_2_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output [2:0]  auto_out_2_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output        auto_out_2_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output [28:0] auto_out_2_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output [3:0]  auto_out_2_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output [31:0] auto_out_2_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output        auto_out_2_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output        auto_out_2_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  input         auto_out_2_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  input  [2:0]  auto_out_2_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  input  [2:0]  auto_out_2_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  input         auto_out_2_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  input  [31:0] auto_out_2_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  input         auto_out_1_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output        auto_out_1_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output [2:0]  auto_out_1_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output [2:0]  auto_out_1_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output [2:0]  auto_out_1_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output        auto_out_1_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output [28:0] auto_out_1_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output [3:0]  auto_out_1_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output [31:0] auto_out_1_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output        auto_out_1_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output        auto_out_1_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  input         auto_out_1_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  input  [2:0]  auto_out_1_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  input  [2:0]  auto_out_1_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  input         auto_out_1_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  input  [31:0] auto_out_1_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  input         auto_out_0_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output        auto_out_0_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output [2:0]  auto_out_0_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output [2:0]  auto_out_0_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output [3:0]  auto_out_0_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output        auto_out_0_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output [13:0] auto_out_0_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output [3:0]  auto_out_0_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output        auto_out_0_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  output        auto_out_0_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  input         auto_out_0_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  input  [2:0]  auto_out_0_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  input  [3:0]  auto_out_0_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  input         auto_out_0_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+  input         auto_out_0_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
+);
+  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@49056.4]
+  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@49056.4]
+  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@49056.4]
+  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@49056.4]
+  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@49056.4]
+  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@49056.4]
+  wire [3:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@49056.4]
+  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@49056.4]
+  wire [29:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@49056.4]
+  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@49056.4]
+  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@49056.4]
+  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@49056.4]
+  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@49056.4]
+  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@49056.4]
+  wire [1:0] TLMonitor_io_in_d_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@49056.4]
+  wire [3:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@49056.4]
+  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@49056.4]
+  wire  TLMonitor_io_in_d_bits_sink; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@49056.4]
+  wire  TLMonitor_io_in_d_bits_denied; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@49056.4]
+  wire  TLMonitor_io_in_d_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@49056.4]
+  reg [9:0] _T_3833; // @[Arbiter.scala 53:30:shc.marmotcaravel.MarmotCaravelConfig.fir@50321.4]
+  reg [31:0] _RAND_0;
+  wire  _T_3834; // @[Arbiter.scala 54:28:shc.marmotcaravel.MarmotCaravelConfig.fir@50322.4]
+  wire [1:0] _T_3844; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@50332.4]
+  wire [1:0] _T_3843; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@50331.4]
+  wire [3:0] _T_3845; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@50333.4]
+  wire [1:0] _T_3841; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@50329.4]
+  wire [2:0] _T_3842; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@50330.4]
+  wire [6:0] _T_3846; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@50334.4]
+  wire [1:0] _T_3838; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@50326.4]
+  wire [2:0] _T_3839; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@50327.4]
+  wire [1:0] _T_3836; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@50324.4]
+  wire [2:0] _T_3837; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@50325.4]
+  wire [5:0] _T_3840; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@50328.4]
+  wire [12:0] _T_3847; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@50335.4]
+  reg [12:0] _T_3855; // @[Arbiter.scala 20:23:shc.marmotcaravel.MarmotCaravelConfig.fir@50346.4]
+  reg [31:0] _RAND_1;
+  wire [12:0] _T_3856; // @[Arbiter.scala 21:30:shc.marmotcaravel.MarmotCaravelConfig.fir@50347.4]
+  wire [12:0] _T_3857; // @[Arbiter.scala 21:28:shc.marmotcaravel.MarmotCaravelConfig.fir@50348.4]
+  wire [25:0] _T_3858; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@50349.4]
+  wire [24:0] _T_3859; // @[package.scala 203:48:shc.marmotcaravel.MarmotCaravelConfig.fir@50350.4]
+  wire [25:0] _GEN_1; // @[package.scala 203:43:shc.marmotcaravel.MarmotCaravelConfig.fir@50351.4]
+  wire [25:0] _T_3860; // @[package.scala 203:43:shc.marmotcaravel.MarmotCaravelConfig.fir@50351.4]
+  wire [23:0] _T_3861; // @[package.scala 203:48:shc.marmotcaravel.MarmotCaravelConfig.fir@50352.4]
+  wire [25:0] _GEN_2; // @[package.scala 203:43:shc.marmotcaravel.MarmotCaravelConfig.fir@50353.4]
+  wire [25:0] _T_3862; // @[package.scala 203:43:shc.marmotcaravel.MarmotCaravelConfig.fir@50353.4]
+  wire [21:0] _T_3863; // @[package.scala 203:48:shc.marmotcaravel.MarmotCaravelConfig.fir@50354.4]
+  wire [25:0] _GEN_3; // @[package.scala 203:43:shc.marmotcaravel.MarmotCaravelConfig.fir@50355.4]
+  wire [25:0] _T_3864; // @[package.scala 203:43:shc.marmotcaravel.MarmotCaravelConfig.fir@50355.4]
+  wire [17:0] _T_3865; // @[package.scala 203:48:shc.marmotcaravel.MarmotCaravelConfig.fir@50356.4]
+  wire [25:0] _GEN_4; // @[package.scala 203:43:shc.marmotcaravel.MarmotCaravelConfig.fir@50357.4]
+  wire [25:0] _T_3866; // @[package.scala 203:43:shc.marmotcaravel.MarmotCaravelConfig.fir@50357.4]
+  wire [24:0] _T_3868; // @[Arbiter.scala 22:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50359.4]
+  wire [25:0] _GEN_5; // @[Arbiter.scala 22:66:shc.marmotcaravel.MarmotCaravelConfig.fir@50360.4]
+  wire [25:0] _T_3869; // @[Arbiter.scala 22:66:shc.marmotcaravel.MarmotCaravelConfig.fir@50360.4]
+  wire [25:0] _GEN_6; // @[Arbiter.scala 22:58:shc.marmotcaravel.MarmotCaravelConfig.fir@50361.4]
+  wire [25:0] _T_3870; // @[Arbiter.scala 22:58:shc.marmotcaravel.MarmotCaravelConfig.fir@50361.4]
+  wire [12:0] _T_3871; // @[Arbiter.scala 23:29:shc.marmotcaravel.MarmotCaravelConfig.fir@50362.4]
+  wire [12:0] _T_3872; // @[Arbiter.scala 23:48:shc.marmotcaravel.MarmotCaravelConfig.fir@50363.4]
+  wire [12:0] _T_3873; // @[Arbiter.scala 23:39:shc.marmotcaravel.MarmotCaravelConfig.fir@50364.4]
+  wire [12:0] _T_3874; // @[Arbiter.scala 23:18:shc.marmotcaravel.MarmotCaravelConfig.fir@50365.4]
+  wire  _T_3892; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50386.4]
+  wire  _T_3924; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@50414.4]
+  reg  _T_4131_0; // @[Arbiter.scala 78:26:shc.marmotcaravel.MarmotCaravelConfig.fir@50592.4]
+  reg [31:0] _RAND_2;
+  wire  _T_4175_0; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@50593.4]
+  wire [4:0] _T_4294; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50667.4]
+  wire [4:0] _T_4293; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50666.4]
+  wire [9:0] _T_4295; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50668.4]
+  wire [32:0] _T_4290; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50663.4]
+  wire [34:0] _T_4292; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50665.4]
+  wire [44:0] _T_4296; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50669.4]
+  wire [44:0] _T_4297; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50670.4]
+  wire  _T_3893; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50387.4]
+  wire  _T_3925; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@50415.4]
+  reg  _T_4131_1; // @[Arbiter.scala 78:26:shc.marmotcaravel.MarmotCaravelConfig.fir@50592.4]
+  reg [31:0] _RAND_3;
+  wire  _T_4175_1; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@50593.4]
+  wire [4:0] _T_4302; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50675.4]
+  wire [3:0] out_1_d_bits_size; // @[Xbar.scala 154:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49147.4 Xbar.scala 180:18:shc.marmotcaravel.MarmotCaravelConfig.fir@49164.4]
+  wire [4:0] _T_4301; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50674.4]
+  wire [9:0] _T_4303; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50676.4]
+  wire [32:0] _T_4298; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50671.4]
+  wire [34:0] _T_4300; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50673.4]
+  wire [44:0] _T_4304; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50677.4]
+  wire [44:0] _T_4305; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50678.4]
+  wire [44:0] _T_4394; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50767.4]
+  wire  _T_3894; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50388.4]
+  wire  _T_3926; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@50416.4]
+  reg  _T_4131_2; // @[Arbiter.scala 78:26:shc.marmotcaravel.MarmotCaravelConfig.fir@50592.4]
+  reg [31:0] _RAND_4;
+  wire  _T_4175_2; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@50593.4]
+  wire [4:0] _T_4310; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50683.4]
+  wire [3:0] out_2_d_bits_size; // @[Xbar.scala 154:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49147.4 Xbar.scala 180:18:shc.marmotcaravel.MarmotCaravelConfig.fir@49174.4]
+  wire [4:0] _T_4309; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50682.4]
+  wire [9:0] _T_4311; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50684.4]
+  wire [32:0] _T_4306; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50679.4]
+  wire [34:0] _T_4308; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50681.4]
+  wire [44:0] _T_4312; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50685.4]
+  wire [44:0] _T_4313; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50686.4]
+  wire [44:0] _T_4395; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50768.4]
+  wire  _T_3895; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50389.4]
+  wire  _T_3927; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@50417.4]
+  reg  _T_4131_3; // @[Arbiter.scala 78:26:shc.marmotcaravel.MarmotCaravelConfig.fir@50592.4]
+  reg [31:0] _RAND_5;
+  wire  _T_4175_3; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@50593.4]
+  wire [4:0] _T_4318; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50691.4]
+  wire [3:0] out_3_d_bits_size; // @[Xbar.scala 154:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49147.4 Xbar.scala 180:18:shc.marmotcaravel.MarmotCaravelConfig.fir@49184.4]
+  wire [4:0] _T_4317; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50690.4]
+  wire [9:0] _T_4319; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50692.4]
+  wire [32:0] _T_4314; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50687.4]
+  wire [34:0] _T_4316; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50689.4]
+  wire [44:0] _T_4320; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50693.4]
+  wire [44:0] _T_4321; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50694.4]
+  wire [44:0] _T_4396; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50769.4]
+  wire  _T_3896; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50390.4]
+  wire  _T_3928; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@50418.4]
+  reg  _T_4131_4; // @[Arbiter.scala 78:26:shc.marmotcaravel.MarmotCaravelConfig.fir@50592.4]
+  reg [31:0] _RAND_6;
+  wire  _T_4175_4; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@50593.4]
+  wire [4:0] _T_4326; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50699.4]
+  wire [3:0] out_4_d_bits_size; // @[Xbar.scala 154:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49147.4 Xbar.scala 180:18:shc.marmotcaravel.MarmotCaravelConfig.fir@49194.4]
+  wire [4:0] _T_4325; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50698.4]
+  wire [9:0] _T_4327; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50700.4]
+  wire [32:0] _T_4322; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50695.4]
+  wire [34:0] _T_4324; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50697.4]
+  wire [44:0] _T_4328; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50701.4]
+  wire [44:0] _T_4329; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50702.4]
+  wire [44:0] _T_4397; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50770.4]
+  wire  _T_3897; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50391.4]
+  wire  _T_3929; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@50419.4]
+  reg  _T_4131_5; // @[Arbiter.scala 78:26:shc.marmotcaravel.MarmotCaravelConfig.fir@50592.4]
+  reg [31:0] _RAND_7;
+  wire  _T_4175_5; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@50593.4]
+  wire [4:0] _T_4334; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50707.4]
+  wire [3:0] out_5_d_bits_size; // @[Xbar.scala 154:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49147.4 Xbar.scala 180:18:shc.marmotcaravel.MarmotCaravelConfig.fir@49204.4]
+  wire [4:0] _T_4333; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50706.4]
+  wire [9:0] _T_4335; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50708.4]
+  wire [32:0] _T_4330; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50703.4]
+  wire [34:0] _T_4332; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50705.4]
+  wire [44:0] _T_4336; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50709.4]
+  wire [44:0] _T_4337; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50710.4]
+  wire [44:0] _T_4398; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50771.4]
+  wire  _T_3898; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50392.4]
+  wire  _T_3930; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@50420.4]
+  reg  _T_4131_6; // @[Arbiter.scala 78:26:shc.marmotcaravel.MarmotCaravelConfig.fir@50592.4]
+  reg [31:0] _RAND_8;
+  wire  _T_4175_6; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@50593.4]
+  wire [4:0] _T_4342; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50715.4]
+  wire [3:0] out_6_d_bits_size; // @[Xbar.scala 154:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49147.4 Xbar.scala 180:18:shc.marmotcaravel.MarmotCaravelConfig.fir@49214.4]
+  wire [4:0] _T_4341; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50714.4]
+  wire [9:0] _T_4343; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50716.4]
+  wire [32:0] _T_4338; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50711.4]
+  wire [34:0] _T_4340; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50713.4]
+  wire [44:0] _T_4344; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50717.4]
+  wire [44:0] _T_4345; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50718.4]
+  wire [44:0] _T_4399; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50772.4]
+  wire  _T_3899; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50393.4]
+  wire  _T_3931; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@50421.4]
+  reg  _T_4131_7; // @[Arbiter.scala 78:26:shc.marmotcaravel.MarmotCaravelConfig.fir@50592.4]
+  reg [31:0] _RAND_9;
+  wire  _T_4175_7; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@50593.4]
+  wire [3:0] out_7_d_bits_size; // @[Xbar.scala 154:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49147.4 Xbar.scala 180:18:shc.marmotcaravel.MarmotCaravelConfig.fir@49224.4]
+  wire [4:0] _T_4349; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50722.4]
+  wire [9:0] _T_4351; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50724.4]
+  wire [32:0] _T_4346; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50719.4]
+  wire [34:0] _T_4348; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50721.4]
+  wire [44:0] _T_4352; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50725.4]
+  wire [44:0] _T_4353; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50726.4]
+  wire [44:0] _T_4400; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50773.4]
+  wire  _T_3900; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50394.4]
+  wire  _T_3932; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@50422.4]
+  reg  _T_4131_8; // @[Arbiter.scala 78:26:shc.marmotcaravel.MarmotCaravelConfig.fir@50592.4]
+  reg [31:0] _RAND_10;
+  wire  _T_4175_8; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@50593.4]
+  wire [4:0] _T_4358; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50731.4]
+  wire [3:0] out_8_d_bits_size; // @[Xbar.scala 154:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49147.4 Xbar.scala 180:18:shc.marmotcaravel.MarmotCaravelConfig.fir@49234.4]
+  wire [4:0] _T_4357; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50730.4]
+  wire [9:0] _T_4359; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50732.4]
+  wire [32:0] _T_4354; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50727.4]
+  wire [34:0] _T_4356; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50729.4]
+  wire [44:0] _T_4360; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50733.4]
+  wire [44:0] _T_4361; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50734.4]
+  wire [44:0] _T_4401; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50774.4]
+  wire  _T_3901; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50395.4]
+  wire  _T_3933; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@50423.4]
+  reg  _T_4131_9; // @[Arbiter.scala 78:26:shc.marmotcaravel.MarmotCaravelConfig.fir@50592.4]
+  reg [31:0] _RAND_11;
+  wire  _T_4175_9; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@50593.4]
+  wire [4:0] _T_4366; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50739.4]
+  wire [3:0] out_9_d_bits_size; // @[Xbar.scala 154:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49147.4 Xbar.scala 180:18:shc.marmotcaravel.MarmotCaravelConfig.fir@49244.4]
+  wire [4:0] _T_4365; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50738.4]
+  wire [9:0] _T_4367; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50740.4]
+  wire [32:0] _T_4362; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50735.4]
+  wire [34:0] _T_4364; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50737.4]
+  wire [44:0] _T_4368; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50741.4]
+  wire [44:0] _T_4369; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50742.4]
+  wire [44:0] _T_4402; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50775.4]
+  wire  _T_3902; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50396.4]
+  wire  _T_3934; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@50424.4]
+  reg  _T_4131_10; // @[Arbiter.scala 78:26:shc.marmotcaravel.MarmotCaravelConfig.fir@50592.4]
+  reg [31:0] _RAND_12;
+  wire  _T_4175_10; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@50593.4]
+  wire [4:0] _T_4374; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50747.4]
+  wire [3:0] out_10_d_bits_size; // @[Xbar.scala 154:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49147.4 Xbar.scala 180:18:shc.marmotcaravel.MarmotCaravelConfig.fir@49254.4]
+  wire [4:0] _T_4373; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50746.4]
+  wire [9:0] _T_4375; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50748.4]
+  wire [32:0] _T_4370; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50743.4]
+  wire [34:0] _T_4372; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50745.4]
+  wire [44:0] _T_4376; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50749.4]
+  wire [44:0] _T_4377; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50750.4]
+  wire [44:0] _T_4403; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50776.4]
+  wire  _T_3903; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50397.4]
+  wire  _T_3935; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@50425.4]
+  reg  _T_4131_11; // @[Arbiter.scala 78:26:shc.marmotcaravel.MarmotCaravelConfig.fir@50592.4]
+  reg [31:0] _RAND_13;
+  wire  _T_4175_11; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@50593.4]
+  wire [4:0] _T_4382; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50755.4]
+  wire [3:0] out_11_d_bits_size; // @[Xbar.scala 154:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49147.4 Xbar.scala 180:18:shc.marmotcaravel.MarmotCaravelConfig.fir@49264.4]
+  wire [4:0] _T_4381; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50754.4]
+  wire [9:0] _T_4383; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50756.4]
+  wire [32:0] _T_4378; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50751.4]
+  wire [34:0] _T_4380; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50753.4]
+  wire [44:0] _T_4384; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50757.4]
+  wire [44:0] _T_4385; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50758.4]
+  wire [44:0] _T_4404; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50777.4]
+  wire  _T_3904; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50398.4]
+  wire  _T_3936; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@50426.4]
+  reg  _T_4131_12; // @[Arbiter.scala 78:26:shc.marmotcaravel.MarmotCaravelConfig.fir@50592.4]
+  reg [31:0] _RAND_14;
+  wire  _T_4175_12; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@50593.4]
+  wire [4:0] _T_4390; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50763.4]
+  wire [3:0] out_12_d_bits_size; // @[Xbar.scala 154:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49147.4 Xbar.scala 180:18:shc.marmotcaravel.MarmotCaravelConfig.fir@49274.4]
+  wire [4:0] _T_4389; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50762.4]
+  wire [9:0] _T_4391; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50764.4]
+  wire [32:0] _T_4386; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50759.4]
+  wire [34:0] _T_4388; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50761.4]
+  wire [44:0] _T_4392; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50765.4]
+  wire [44:0] _T_4393; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50766.4]
+  wire [44:0] _T_4405; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50778.4]
+  wire [29:0] _T_2350; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@49279.4]
+  wire [30:0] _T_2351; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49280.4]
+  wire [30:0] _T_2352; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@49281.4]
+  wire [30:0] _T_2353; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@49282.4]
+  wire  requestAIO_0_0; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@49283.4]
+  wire [29:0] _T_2355; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@49285.4]
+  wire [30:0] _T_2356; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49286.4]
+  wire [30:0] _T_2357; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@49287.4]
+  wire [30:0] _T_2358; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@49288.4]
+  wire  requestAIO_0_1; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@49289.4]
+  wire [29:0] _T_2360; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@49291.4]
+  wire [30:0] _T_2361; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49292.4]
+  wire [30:0] _T_2362; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@49293.4]
+  wire [30:0] _T_2363; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@49294.4]
+  wire  requestAIO_0_2; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@49295.4]
+  wire [29:0] _T_2365; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@49297.4]
+  wire [30:0] _T_2366; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49298.4]
+  wire [30:0] _T_2367; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@49299.4]
+  wire [30:0] _T_2368; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@49300.4]
+  wire  requestAIO_0_3; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@49301.4]
+  wire [29:0] _T_2370; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@49303.4]
+  wire [30:0] _T_2371; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49304.4]
+  wire [30:0] _T_2372; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@49305.4]
+  wire [30:0] _T_2373; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@49306.4]
+  wire  requestAIO_0_4; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@49307.4]
+  wire [29:0] _T_2375; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@49309.4]
+  wire [30:0] _T_2376; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49310.4]
+  wire [30:0] _T_2377; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@49311.4]
+  wire [30:0] _T_2378; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@49312.4]
+  wire  requestAIO_0_5; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@49313.4]
+  wire [29:0] _T_2380; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@49315.4]
+  wire [30:0] _T_2381; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49316.4]
+  wire [30:0] _T_2382; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@49317.4]
+  wire [30:0] _T_2383; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@49318.4]
+  wire  requestAIO_0_6; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@49319.4]
+  wire [29:0] _T_2385; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@49321.4]
+  wire [30:0] _T_2386; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49322.4]
+  wire [30:0] _T_2387; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@49323.4]
+  wire [30:0] _T_2388; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@49324.4]
+  wire  requestAIO_0_7; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@49325.4]
+  wire [29:0] _T_2390; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@49327.4]
+  wire [30:0] _T_2391; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49328.4]
+  wire [30:0] _T_2392; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@49329.4]
+  wire [30:0] _T_2393; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@49330.4]
+  wire  requestAIO_0_8; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@49331.4]
+  wire [29:0] _T_2395; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@49333.4]
+  wire [30:0] _T_2396; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49334.4]
+  wire [30:0] _T_2397; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@49335.4]
+  wire [30:0] _T_2398; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@49336.4]
+  wire  requestAIO_0_9; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@49337.4]
+  wire [29:0] _T_2400; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@49339.4]
+  wire [30:0] _T_2401; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49340.4]
+  wire [30:0] _T_2402; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@49341.4]
+  wire [30:0] _T_2403; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@49342.4]
+  wire  requestAIO_0_10; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@49343.4]
+  wire [29:0] _T_2405; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@49345.4]
+  wire [30:0] _T_2406; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49346.4]
+  wire [30:0] _T_2407; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@49347.4]
+  wire [30:0] _T_2408; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@49348.4]
+  wire  requestAIO_0_11; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@49349.4]
+  wire [29:0] _T_2410; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@49351.4]
+  wire [30:0] _T_2411; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49352.4]
+  wire [30:0] _T_2412; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@49353.4]
+  wire [30:0] _T_2413; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@49354.4]
+  wire  requestAIO_0_12; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@49355.4]
+  wire [26:0] _T_2767; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@49763.4]
+  wire [11:0] _T_2768; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@49764.4]
+  wire [11:0] _T_2769; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@49765.4]
+  wire [9:0] _T_2770; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@49766.4]
+  wire  _T_2771; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@49767.4]
+  wire [9:0] beatsDO_0; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49768.4]
+  wire [20:0] _T_2773; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@49770.4]
+  wire [5:0] _T_2774; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@49771.4]
+  wire [5:0] _T_2775; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@49772.4]
+  wire [3:0] _T_2776; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@49773.4]
+  wire  _T_2777; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@49774.4]
+  wire [3:0] beatsDO_1; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49775.4]
+  wire [20:0] _T_2779; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@49777.4]
+  wire [5:0] _T_2780; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@49778.4]
+  wire [5:0] _T_2781; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@49779.4]
+  wire [3:0] _T_2782; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@49780.4]
+  wire  _T_2783; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@49781.4]
+  wire [3:0] beatsDO_2; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49782.4]
+  wire [20:0] _T_2785; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@49784.4]
+  wire [5:0] _T_2786; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@49785.4]
+  wire [5:0] _T_2787; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@49786.4]
+  wire [3:0] _T_2788; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@49787.4]
+  wire  _T_2789; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@49788.4]
+  wire [3:0] beatsDO_3; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49789.4]
+  wire [20:0] _T_2791; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@49791.4]
+  wire [5:0] _T_2792; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@49792.4]
+  wire [5:0] _T_2793; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@49793.4]
+  wire [3:0] _T_2794; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@49794.4]
+  wire  _T_2795; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@49795.4]
+  wire [3:0] beatsDO_4; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49796.4]
+  wire [20:0] _T_2797; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@49798.4]
+  wire [5:0] _T_2798; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@49799.4]
+  wire [5:0] _T_2799; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@49800.4]
+  wire [3:0] _T_2800; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@49801.4]
+  wire  _T_2801; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@49802.4]
+  wire [3:0] beatsDO_5; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49803.4]
+  wire [20:0] _T_2803; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@49805.4]
+  wire [5:0] _T_2804; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
+  wire [5:0] _T_2805; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@49807.4]
+  wire [3:0] _T_2806; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@49808.4]
+  wire  _T_2807; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@49809.4]
+  wire [3:0] beatsDO_6; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49810.4]
+  wire [20:0] _T_2809; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@49812.4]
+  wire [5:0] _T_2810; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@49813.4]
+  wire [5:0] _T_2811; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@49814.4]
+  wire [3:0] beatsDO_7; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@49815.4]
+  wire [20:0] _T_2815; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@49819.4]
+  wire [5:0] _T_2816; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@49820.4]
+  wire [5:0] _T_2817; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@49821.4]
+  wire [3:0] _T_2818; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@49822.4]
+  wire  _T_2819; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@49823.4]
+  wire [3:0] beatsDO_8; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49824.4]
+  wire [20:0] _T_2821; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@49826.4]
+  wire [5:0] _T_2822; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@49827.4]
+  wire [5:0] _T_2823; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@49828.4]
+  wire [3:0] _T_2824; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@49829.4]
+  wire  _T_2825; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@49830.4]
+  wire [3:0] beatsDO_9; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49831.4]
+  wire [20:0] _T_2827; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@49833.4]
+  wire [5:0] _T_2828; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@49834.4]
+  wire [5:0] _T_2829; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@49835.4]
+  wire [3:0] _T_2830; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@49836.4]
+  wire  _T_2831; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@49837.4]
+  wire [3:0] beatsDO_10; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49838.4]
+  wire [20:0] _T_2833; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@49840.4]
+  wire [5:0] _T_2834; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@49841.4]
+  wire [5:0] _T_2835; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@49842.4]
+  wire [3:0] _T_2836; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@49843.4]
+  wire  _T_2837; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@49844.4]
+  wire [3:0] beatsDO_11; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49845.4]
+  wire [20:0] _T_2839; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@49847.4]
+  wire [5:0] _T_2840; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@49848.4]
+  wire [5:0] _T_2841; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@49849.4]
+  wire [3:0] _T_2842; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@49850.4]
+  wire  _T_2843; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@49851.4]
+  wire [3:0] beatsDO_12; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49852.4]
+  wire  _T_2973; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@49907.4]
+  wire  _T_2974; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@49908.4]
+  wire  _T_2975; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@49909.4]
+  wire  _T_2976; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@49910.4]
+  wire  _T_2977; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@49911.4]
+  wire  _T_2978; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@49912.4]
+  wire  _T_2979; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@49913.4]
+  wire  _T_2980; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@49914.4]
+  wire  _T_2981; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@49915.4]
+  wire  _T_2982; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@49916.4]
+  wire  _T_2983; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@49917.4]
+  wire  _T_2984; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@49918.4]
+  wire  _T_2985; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@49919.4]
+  wire  _T_2986; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@49920.4]
+  wire  _T_2987; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@49921.4]
+  wire  _T_2988; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@49922.4]
+  wire  _T_2989; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@49923.4]
+  wire  _T_2990; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@49924.4]
+  wire  _T_2991; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@49925.4]
+  wire  _T_2992; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@49926.4]
+  wire  _T_2993; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@49927.4]
+  wire  _T_2994; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@49928.4]
+  wire  _T_2995; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@49929.4]
+  wire  _T_2996; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@49930.4]
+  wire  _T_3835; // @[Arbiter.scala 55:24:shc.marmotcaravel.MarmotCaravelConfig.fir@50323.4]
+  wire  _T_3849; // @[Arbiter.scala 19:19:shc.marmotcaravel.MarmotCaravelConfig.fir@50337.4]
+  wire  _T_3851; // @[Arbiter.scala 19:12:shc.marmotcaravel.MarmotCaravelConfig.fir@50339.4]
+  wire  _T_3852; // @[Arbiter.scala 19:12:shc.marmotcaravel.MarmotCaravelConfig.fir@50340.4]
+  wire  _T_3875; // @[Arbiter.scala 24:27:shc.marmotcaravel.MarmotCaravelConfig.fir@50366.4]
+  wire  _T_3876; // @[Arbiter.scala 24:18:shc.marmotcaravel.MarmotCaravelConfig.fir@50367.4]
+  wire [12:0] _T_3877; // @[Arbiter.scala 25:29:shc.marmotcaravel.MarmotCaravelConfig.fir@50369.6]
+  wire [13:0] _GEN_7; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@50370.6]
+  wire [13:0] _T_3878; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@50370.6]
+  wire [12:0] _T_3879; // @[package.scala 194:53:shc.marmotcaravel.MarmotCaravelConfig.fir@50371.6]
+  wire [12:0] _T_3880; // @[package.scala 194:43:shc.marmotcaravel.MarmotCaravelConfig.fir@50372.6]
+  wire [14:0] _GEN_8; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@50373.6]
+  wire [14:0] _T_3881; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@50373.6]
+  wire [12:0] _T_3882; // @[package.scala 194:53:shc.marmotcaravel.MarmotCaravelConfig.fir@50374.6]
+  wire [12:0] _T_3883; // @[package.scala 194:43:shc.marmotcaravel.MarmotCaravelConfig.fir@50375.6]
+  wire [16:0] _GEN_9; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@50376.6]
+  wire [16:0] _T_3884; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@50376.6]
+  wire [12:0] _T_3885; // @[package.scala 194:53:shc.marmotcaravel.MarmotCaravelConfig.fir@50377.6]
+  wire [12:0] _T_3886; // @[package.scala 194:43:shc.marmotcaravel.MarmotCaravelConfig.fir@50378.6]
+  wire [20:0] _GEN_10; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@50379.6]
+  wire [20:0] _T_3887; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@50379.6]
+  wire [12:0] _T_3888; // @[package.scala 194:53:shc.marmotcaravel.MarmotCaravelConfig.fir@50380.6]
+  wire [12:0] _T_3889; // @[package.scala 194:43:shc.marmotcaravel.MarmotCaravelConfig.fir@50381.6]
+  wire  _T_3957; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50443.4]
+  wire  _T_3958; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50444.4]
+  wire  _T_3959; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50445.4]
+  wire  _T_3960; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50446.4]
+  wire  _T_3961; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50447.4]
+  wire  _T_3962; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50448.4]
+  wire  _T_3963; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50449.4]
+  wire  _T_3964; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50450.4]
+  wire  _T_3965; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50451.4]
+  wire  _T_3966; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50452.4]
+  wire  _T_3967; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50453.4]
+  wire  _T_3968; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50454.4]
+  wire  _T_3970; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@50456.4]
+  wire  _T_3973; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@50459.4]
+  wire  _T_3974; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@50460.4]
+  wire  _T_3975; // @[Arbiter.scala 68:56:shc.marmotcaravel.MarmotCaravelConfig.fir@50461.4]
+  wire  _T_3976; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@50462.4]
+  wire  _T_3977; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@50463.4]
+  wire  _T_3978; // @[Arbiter.scala 68:56:shc.marmotcaravel.MarmotCaravelConfig.fir@50464.4]
+  wire  _T_3979; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@50465.4]
+  wire  _T_3980; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@50466.4]
+  wire  _T_3981; // @[Arbiter.scala 68:56:shc.marmotcaravel.MarmotCaravelConfig.fir@50467.4]
+  wire  _T_3982; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@50468.4]
+  wire  _T_3983; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@50469.4]
+  wire  _T_3984; // @[Arbiter.scala 68:56:shc.marmotcaravel.MarmotCaravelConfig.fir@50470.4]
+  wire  _T_3985; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@50471.4]
+  wire  _T_3986; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@50472.4]
+  wire  _T_3987; // @[Arbiter.scala 68:56:shc.marmotcaravel.MarmotCaravelConfig.fir@50473.4]
+  wire  _T_3988; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@50474.4]
+  wire  _T_3989; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@50475.4]
+  wire  _T_3990; // @[Arbiter.scala 68:56:shc.marmotcaravel.MarmotCaravelConfig.fir@50476.4]
+  wire  _T_3991; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@50477.4]
+  wire  _T_3992; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@50478.4]
+  wire  _T_3993; // @[Arbiter.scala 68:56:shc.marmotcaravel.MarmotCaravelConfig.fir@50479.4]
+  wire  _T_3994; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@50480.4]
+  wire  _T_3995; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@50481.4]
+  wire  _T_3996; // @[Arbiter.scala 68:56:shc.marmotcaravel.MarmotCaravelConfig.fir@50482.4]
+  wire  _T_3997; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@50483.4]
+  wire  _T_3998; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@50484.4]
+  wire  _T_3999; // @[Arbiter.scala 68:56:shc.marmotcaravel.MarmotCaravelConfig.fir@50485.4]
+  wire  _T_4000; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@50486.4]
+  wire  _T_4001; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@50487.4]
+  wire  _T_4002; // @[Arbiter.scala 68:56:shc.marmotcaravel.MarmotCaravelConfig.fir@50488.4]
+  wire  _T_4003; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@50489.4]
+  wire  _T_4004; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@50490.4]
+  wire  _T_4005; // @[Arbiter.scala 68:56:shc.marmotcaravel.MarmotCaravelConfig.fir@50491.4]
+  wire  _T_4006; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@50492.4]
+  wire  _T_4007; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@50493.4]
+  wire  _T_4009; // @[Arbiter.scala 68:77:shc.marmotcaravel.MarmotCaravelConfig.fir@50495.4]
+  wire  _T_4010; // @[Arbiter.scala 68:77:shc.marmotcaravel.MarmotCaravelConfig.fir@50496.4]
+  wire  _T_4011; // @[Arbiter.scala 68:77:shc.marmotcaravel.MarmotCaravelConfig.fir@50497.4]
+  wire  _T_4012; // @[Arbiter.scala 68:77:shc.marmotcaravel.MarmotCaravelConfig.fir@50498.4]
+  wire  _T_4013; // @[Arbiter.scala 68:77:shc.marmotcaravel.MarmotCaravelConfig.fir@50499.4]
+  wire  _T_4014; // @[Arbiter.scala 68:77:shc.marmotcaravel.MarmotCaravelConfig.fir@50500.4]
+  wire  _T_4015; // @[Arbiter.scala 68:77:shc.marmotcaravel.MarmotCaravelConfig.fir@50501.4]
+  wire  _T_4016; // @[Arbiter.scala 68:77:shc.marmotcaravel.MarmotCaravelConfig.fir@50502.4]
+  wire  _T_4017; // @[Arbiter.scala 68:77:shc.marmotcaravel.MarmotCaravelConfig.fir@50503.4]
+  wire  _T_4018; // @[Arbiter.scala 68:77:shc.marmotcaravel.MarmotCaravelConfig.fir@50504.4]
+  wire  _T_4019; // @[Arbiter.scala 68:77:shc.marmotcaravel.MarmotCaravelConfig.fir@50505.4]
+  wire  _T_4021; // @[Arbiter.scala 68:13:shc.marmotcaravel.MarmotCaravelConfig.fir@50507.4]
+  wire  _T_4022; // @[Arbiter.scala 68:13:shc.marmotcaravel.MarmotCaravelConfig.fir@50508.4]
+  wire  _T_4023; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@50513.4]
+  wire  _T_4024; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@50514.4]
+  wire  _T_4025; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@50515.4]
+  wire  _T_4026; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@50516.4]
+  wire  _T_4027; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@50517.4]
+  wire  _T_4028; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@50518.4]
+  wire  _T_4029; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@50519.4]
+  wire  _T_4030; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@50520.4]
+  wire  _T_4031; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@50521.4]
+  wire  _T_4032; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@50522.4]
+  wire  _T_4033; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@50523.4]
+  wire  _T_4034; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@50524.4]
+  wire  _T_4035; // @[Arbiter.scala 70:15:shc.marmotcaravel.MarmotCaravelConfig.fir@50525.4]
+  wire  _T_4048; // @[Arbiter.scala 70:36:shc.marmotcaravel.MarmotCaravelConfig.fir@50538.4]
+  wire  _T_4050; // @[Arbiter.scala 70:14:shc.marmotcaravel.MarmotCaravelConfig.fir@50540.4]
+  wire  _T_4051; // @[Arbiter.scala 70:14:shc.marmotcaravel.MarmotCaravelConfig.fir@50541.4]
+  wire [9:0] _T_4052; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@50546.4]
+  wire [3:0] _T_4053; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@50547.4]
+  wire [3:0] _T_4054; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@50548.4]
+  wire [3:0] _T_4055; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@50549.4]
+  wire [3:0] _T_4056; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@50550.4]
+  wire [3:0] _T_4057; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@50551.4]
+  wire [3:0] _T_4058; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@50552.4]
+  wire [3:0] _T_4059; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@50553.4]
+  wire [3:0] _T_4060; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@50554.4]
+  wire [3:0] _T_4061; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@50555.4]
+  wire [3:0] _T_4062; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@50556.4]
+  wire [3:0] _T_4063; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@50557.4]
+  wire [3:0] _T_4064; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@50558.4]
+  wire [9:0] _GEN_11; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@50559.4]
+  wire [9:0] _T_4065; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@50559.4]
+  wire [9:0] _GEN_12; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@50560.4]
+  wire [9:0] _T_4066; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@50560.4]
+  wire [9:0] _GEN_13; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@50561.4]
+  wire [9:0] _T_4067; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@50561.4]
+  wire [9:0] _GEN_14; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@50562.4]
+  wire [9:0] _T_4068; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@50562.4]
+  wire [9:0] _GEN_15; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@50563.4]
+  wire [9:0] _T_4069; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@50563.4]
+  wire [9:0] _GEN_16; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@50564.4]
+  wire [9:0] _T_4070; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@50564.4]
+  wire [9:0] _GEN_17; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@50565.4]
+  wire [9:0] _T_4071; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@50565.4]
+  wire [9:0] _GEN_18; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@50566.4]
+  wire [9:0] _T_4072; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@50566.4]
+  wire [9:0] _GEN_19; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@50567.4]
+  wire [9:0] _T_4073; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@50567.4]
+  wire [9:0] _GEN_20; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@50568.4]
+  wire [9:0] _T_4074; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@50568.4]
+  wire [9:0] _GEN_21; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@50569.4]
+  wire [9:0] _T_4075; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@50569.4]
+  wire [9:0] _GEN_22; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@50570.4]
+  wire [9:0] _T_4076; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@50570.4]
+  wire  _T_4261; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50634.4]
+  wire  _T_4262; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50635.4]
+  wire  _T_4274; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50647.4]
+  wire  _T_4263; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50636.4]
+  wire  _T_4275; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50648.4]
+  wire  _T_4264; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50637.4]
+  wire  _T_4276; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50649.4]
+  wire  _T_4265; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50638.4]
+  wire  _T_4277; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50650.4]
+  wire  _T_4266; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50639.4]
+  wire  _T_4278; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50651.4]
+  wire  _T_4267; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50640.4]
+  wire  _T_4279; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50652.4]
+  wire  _T_4268; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50641.4]
+  wire  _T_4280; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50653.4]
+  wire  _T_4269; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50642.4]
+  wire  _T_4281; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50654.4]
+  wire  _T_4270; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50643.4]
+  wire  _T_4282; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50655.4]
+  wire  _T_4271; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50644.4]
+  wire  _T_4283; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50656.4]
+  wire  _T_4272; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50645.4]
+  wire  _T_4284; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50657.4]
+  wire  _T_4273; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50646.4]
+  wire  _T_4285; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50658.4]
+  wire  in_0_d_valid; // @[Arbiter.scala 86:24:shc.marmotcaravel.MarmotCaravelConfig.fir@50661.4]
+  wire  _T_4077; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@50571.4]
+  wire [9:0] _GEN_23; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50572.4]
+  wire [10:0] _T_4078; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50572.4]
+  wire [10:0] _T_4079; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50573.4]
+  wire [9:0] _T_4080; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50574.4]
+  wire  _T_4205_0; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@50595.4]
+  wire  _T_4205_1; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@50595.4]
+  wire  _T_4205_2; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@50595.4]
+  wire  _T_4205_3; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@50595.4]
+  wire  _T_4205_4; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@50595.4]
+  wire  _T_4205_5; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@50595.4]
+  wire  _T_4205_6; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@50595.4]
+  wire  _T_4205_7; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@50595.4]
+  wire  _T_4205_8; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@50595.4]
+  wire  _T_4205_9; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@50595.4]
+  wire  _T_4205_10; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@50595.4]
+  wire  _T_4205_11; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@50595.4]
+  wire  _T_4205_12; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@50595.4]
+  TLMonitor_27 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@49056.4]
+    .clock(TLMonitor_clock),
+    .reset(TLMonitor_reset),
+    .io_in_a_ready(TLMonitor_io_in_a_ready),
+    .io_in_a_valid(TLMonitor_io_in_a_valid),
+    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
+    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
+    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
+    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
+    .io_in_d_ready(TLMonitor_io_in_d_ready),
+    .io_in_d_valid(TLMonitor_io_in_d_valid),
+    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
+    .io_in_d_bits_param(TLMonitor_io_in_d_bits_param),
+    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
+    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source),
+    .io_in_d_bits_sink(TLMonitor_io_in_d_bits_sink),
+    .io_in_d_bits_denied(TLMonitor_io_in_d_bits_denied),
+    .io_in_d_bits_corrupt(TLMonitor_io_in_d_bits_corrupt)
+  );
+  assign _T_3834 = _T_3833 == 10'h0; // @[Arbiter.scala 54:28:shc.marmotcaravel.MarmotCaravelConfig.fir@50322.4]
+  assign _T_3844 = {auto_out_12_d_valid,auto_out_11_d_valid}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@50332.4]
+  assign _T_3843 = {auto_out_10_d_valid,auto_out_9_d_valid}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@50331.4]
+  assign _T_3845 = {_T_3844,_T_3843}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@50333.4]
+  assign _T_3841 = {auto_out_8_d_valid,auto_out_7_d_valid}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@50329.4]
+  assign _T_3842 = {_T_3841,auto_out_6_d_valid}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@50330.4]
+  assign _T_3846 = {_T_3845,_T_3842}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@50334.4]
+  assign _T_3838 = {auto_out_5_d_valid,auto_out_4_d_valid}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@50326.4]
+  assign _T_3839 = {_T_3838,auto_out_3_d_valid}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@50327.4]
+  assign _T_3836 = {auto_out_2_d_valid,auto_out_1_d_valid}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@50324.4]
+  assign _T_3837 = {_T_3836,auto_out_0_d_valid}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@50325.4]
+  assign _T_3840 = {_T_3839,_T_3837}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@50328.4]
+  assign _T_3847 = {_T_3846,_T_3840}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@50335.4]
+  assign _T_3856 = ~ _T_3855; // @[Arbiter.scala 21:30:shc.marmotcaravel.MarmotCaravelConfig.fir@50347.4]
+  assign _T_3857 = _T_3847 & _T_3856; // @[Arbiter.scala 21:28:shc.marmotcaravel.MarmotCaravelConfig.fir@50348.4]
+  assign _T_3858 = {_T_3857,_T_3847}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@50349.4]
+  assign _T_3859 = _T_3858[25:1]; // @[package.scala 203:48:shc.marmotcaravel.MarmotCaravelConfig.fir@50350.4]
+  assign _GEN_1 = {{1'd0}, _T_3859}; // @[package.scala 203:43:shc.marmotcaravel.MarmotCaravelConfig.fir@50351.4]
+  assign _T_3860 = _T_3858 | _GEN_1; // @[package.scala 203:43:shc.marmotcaravel.MarmotCaravelConfig.fir@50351.4]
+  assign _T_3861 = _T_3860[25:2]; // @[package.scala 203:48:shc.marmotcaravel.MarmotCaravelConfig.fir@50352.4]
+  assign _GEN_2 = {{2'd0}, _T_3861}; // @[package.scala 203:43:shc.marmotcaravel.MarmotCaravelConfig.fir@50353.4]
+  assign _T_3862 = _T_3860 | _GEN_2; // @[package.scala 203:43:shc.marmotcaravel.MarmotCaravelConfig.fir@50353.4]
+  assign _T_3863 = _T_3862[25:4]; // @[package.scala 203:48:shc.marmotcaravel.MarmotCaravelConfig.fir@50354.4]
+  assign _GEN_3 = {{4'd0}, _T_3863}; // @[package.scala 203:43:shc.marmotcaravel.MarmotCaravelConfig.fir@50355.4]
+  assign _T_3864 = _T_3862 | _GEN_3; // @[package.scala 203:43:shc.marmotcaravel.MarmotCaravelConfig.fir@50355.4]
+  assign _T_3865 = _T_3864[25:8]; // @[package.scala 203:48:shc.marmotcaravel.MarmotCaravelConfig.fir@50356.4]
+  assign _GEN_4 = {{8'd0}, _T_3865}; // @[package.scala 203:43:shc.marmotcaravel.MarmotCaravelConfig.fir@50357.4]
+  assign _T_3866 = _T_3864 | _GEN_4; // @[package.scala 203:43:shc.marmotcaravel.MarmotCaravelConfig.fir@50357.4]
+  assign _T_3868 = _T_3866[25:1]; // @[Arbiter.scala 22:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50359.4]
+  assign _GEN_5 = {{13'd0}, _T_3855}; // @[Arbiter.scala 22:66:shc.marmotcaravel.MarmotCaravelConfig.fir@50360.4]
+  assign _T_3869 = _GEN_5 << 13; // @[Arbiter.scala 22:66:shc.marmotcaravel.MarmotCaravelConfig.fir@50360.4]
+  assign _GEN_6 = {{1'd0}, _T_3868}; // @[Arbiter.scala 22:58:shc.marmotcaravel.MarmotCaravelConfig.fir@50361.4]
+  assign _T_3870 = _GEN_6 | _T_3869; // @[Arbiter.scala 22:58:shc.marmotcaravel.MarmotCaravelConfig.fir@50361.4]
+  assign _T_3871 = _T_3870[25:13]; // @[Arbiter.scala 23:29:shc.marmotcaravel.MarmotCaravelConfig.fir@50362.4]
+  assign _T_3872 = _T_3870[12:0]; // @[Arbiter.scala 23:48:shc.marmotcaravel.MarmotCaravelConfig.fir@50363.4]
+  assign _T_3873 = _T_3871 & _T_3872; // @[Arbiter.scala 23:39:shc.marmotcaravel.MarmotCaravelConfig.fir@50364.4]
+  assign _T_3874 = ~ _T_3873; // @[Arbiter.scala 23:18:shc.marmotcaravel.MarmotCaravelConfig.fir@50365.4]
+  assign _T_3892 = _T_3874[0]; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50386.4]
+  assign _T_3924 = _T_3892 & auto_out_0_d_valid; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@50414.4]
+  assign _T_4175_0 = _T_3834 ? _T_3924 : _T_4131_0; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@50593.4]
+  assign _T_4294 = {auto_out_0_d_bits_opcode,2'h0}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50667.4]
+  assign _T_4293 = {auto_out_0_d_bits_size,auto_out_0_d_bits_source}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50666.4]
+  assign _T_4295 = {_T_4294,_T_4293}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50668.4]
+  assign _T_4290 = {32'h0,auto_out_0_d_bits_corrupt}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50663.4]
+  assign _T_4292 = {2'h1,_T_4290}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50665.4]
+  assign _T_4296 = {_T_4295,_T_4292}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50669.4]
+  assign _T_4297 = _T_4175_0 ? _T_4296 : 45'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50670.4]
+  assign _T_3893 = _T_3874[1]; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50387.4]
+  assign _T_3925 = _T_3893 & auto_out_1_d_valid; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@50415.4]
+  assign _T_4175_1 = _T_3834 ? _T_3925 : _T_4131_1; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@50593.4]
+  assign _T_4302 = {auto_out_1_d_bits_opcode,2'h0}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50675.4]
+  assign out_1_d_bits_size = {{1'd0}, auto_out_1_d_bits_size}; // @[Xbar.scala 154:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49147.4 Xbar.scala 180:18:shc.marmotcaravel.MarmotCaravelConfig.fir@49164.4]
+  assign _T_4301 = {out_1_d_bits_size,auto_out_1_d_bits_source}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50674.4]
+  assign _T_4303 = {_T_4302,_T_4301}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50676.4]
+  assign _T_4298 = {auto_out_1_d_bits_data,1'h0}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50671.4]
+  assign _T_4300 = {2'h0,_T_4298}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50673.4]
+  assign _T_4304 = {_T_4303,_T_4300}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50677.4]
+  assign _T_4305 = _T_4175_1 ? _T_4304 : 45'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50678.4]
+  assign _T_4394 = _T_4297 | _T_4305; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50767.4]
+  assign _T_3894 = _T_3874[2]; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50388.4]
+  assign _T_3926 = _T_3894 & auto_out_2_d_valid; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@50416.4]
+  assign _T_4175_2 = _T_3834 ? _T_3926 : _T_4131_2; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@50593.4]
+  assign _T_4310 = {auto_out_2_d_bits_opcode,2'h0}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50683.4]
+  assign out_2_d_bits_size = {{1'd0}, auto_out_2_d_bits_size}; // @[Xbar.scala 154:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49147.4 Xbar.scala 180:18:shc.marmotcaravel.MarmotCaravelConfig.fir@49174.4]
+  assign _T_4309 = {out_2_d_bits_size,auto_out_2_d_bits_source}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50682.4]
+  assign _T_4311 = {_T_4310,_T_4309}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50684.4]
+  assign _T_4306 = {auto_out_2_d_bits_data,1'h0}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50679.4]
+  assign _T_4308 = {2'h0,_T_4306}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50681.4]
+  assign _T_4312 = {_T_4311,_T_4308}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50685.4]
+  assign _T_4313 = _T_4175_2 ? _T_4312 : 45'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50686.4]
+  assign _T_4395 = _T_4394 | _T_4313; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50768.4]
+  assign _T_3895 = _T_3874[3]; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50389.4]
+  assign _T_3927 = _T_3895 & auto_out_3_d_valid; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@50417.4]
+  assign _T_4175_3 = _T_3834 ? _T_3927 : _T_4131_3; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@50593.4]
+  assign _T_4318 = {auto_out_3_d_bits_opcode,2'h0}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50691.4]
+  assign out_3_d_bits_size = {{1'd0}, auto_out_3_d_bits_size}; // @[Xbar.scala 154:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49147.4 Xbar.scala 180:18:shc.marmotcaravel.MarmotCaravelConfig.fir@49184.4]
+  assign _T_4317 = {out_3_d_bits_size,auto_out_3_d_bits_source}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50690.4]
+  assign _T_4319 = {_T_4318,_T_4317}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50692.4]
+  assign _T_4314 = {auto_out_3_d_bits_data,1'h0}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50687.4]
+  assign _T_4316 = {2'h0,_T_4314}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50689.4]
+  assign _T_4320 = {_T_4319,_T_4316}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50693.4]
+  assign _T_4321 = _T_4175_3 ? _T_4320 : 45'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50694.4]
+  assign _T_4396 = _T_4395 | _T_4321; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50769.4]
+  assign _T_3896 = _T_3874[4]; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50390.4]
+  assign _T_3928 = _T_3896 & auto_out_4_d_valid; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@50418.4]
+  assign _T_4175_4 = _T_3834 ? _T_3928 : _T_4131_4; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@50593.4]
+  assign _T_4326 = {auto_out_4_d_bits_opcode,2'h0}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50699.4]
+  assign out_4_d_bits_size = {{1'd0}, auto_out_4_d_bits_size}; // @[Xbar.scala 154:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49147.4 Xbar.scala 180:18:shc.marmotcaravel.MarmotCaravelConfig.fir@49194.4]
+  assign _T_4325 = {out_4_d_bits_size,auto_out_4_d_bits_source}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50698.4]
+  assign _T_4327 = {_T_4326,_T_4325}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50700.4]
+  assign _T_4322 = {auto_out_4_d_bits_data,1'h0}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50695.4]
+  assign _T_4324 = {2'h0,_T_4322}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50697.4]
+  assign _T_4328 = {_T_4327,_T_4324}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50701.4]
+  assign _T_4329 = _T_4175_4 ? _T_4328 : 45'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50702.4]
+  assign _T_4397 = _T_4396 | _T_4329; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50770.4]
+  assign _T_3897 = _T_3874[5]; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50391.4]
+  assign _T_3929 = _T_3897 & auto_out_5_d_valid; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@50419.4]
+  assign _T_4175_5 = _T_3834 ? _T_3929 : _T_4131_5; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@50593.4]
+  assign _T_4334 = {auto_out_5_d_bits_opcode,2'h0}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50707.4]
+  assign out_5_d_bits_size = {{1'd0}, auto_out_5_d_bits_size}; // @[Xbar.scala 154:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49147.4 Xbar.scala 180:18:shc.marmotcaravel.MarmotCaravelConfig.fir@49204.4]
+  assign _T_4333 = {out_5_d_bits_size,auto_out_5_d_bits_source}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50706.4]
+  assign _T_4335 = {_T_4334,_T_4333}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50708.4]
+  assign _T_4330 = {auto_out_5_d_bits_data,1'h0}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50703.4]
+  assign _T_4332 = {2'h0,_T_4330}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50705.4]
+  assign _T_4336 = {_T_4335,_T_4332}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50709.4]
+  assign _T_4337 = _T_4175_5 ? _T_4336 : 45'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50710.4]
+  assign _T_4398 = _T_4397 | _T_4337; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50771.4]
+  assign _T_3898 = _T_3874[6]; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50392.4]
+  assign _T_3930 = _T_3898 & auto_out_6_d_valid; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@50420.4]
+  assign _T_4175_6 = _T_3834 ? _T_3930 : _T_4131_6; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@50593.4]
+  assign _T_4342 = {auto_out_6_d_bits_opcode,2'h0}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50715.4]
+  assign out_6_d_bits_size = {{1'd0}, auto_out_6_d_bits_size}; // @[Xbar.scala 154:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49147.4 Xbar.scala 180:18:shc.marmotcaravel.MarmotCaravelConfig.fir@49214.4]
+  assign _T_4341 = {out_6_d_bits_size,auto_out_6_d_bits_source}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50714.4]
+  assign _T_4343 = {_T_4342,_T_4341}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50716.4]
+  assign _T_4338 = {auto_out_6_d_bits_data,1'h0}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50711.4]
+  assign _T_4340 = {2'h0,_T_4338}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50713.4]
+  assign _T_4344 = {_T_4343,_T_4340}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50717.4]
+  assign _T_4345 = _T_4175_6 ? _T_4344 : 45'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50718.4]
+  assign _T_4399 = _T_4398 | _T_4345; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50772.4]
+  assign _T_3899 = _T_3874[7]; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50393.4]
+  assign _T_3931 = _T_3899 & auto_out_7_d_valid; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@50421.4]
+  assign _T_4175_7 = _T_3834 ? _T_3931 : _T_4131_7; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@50593.4]
+  assign out_7_d_bits_size = {{1'd0}, auto_out_7_d_bits_size}; // @[Xbar.scala 154:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49147.4 Xbar.scala 180:18:shc.marmotcaravel.MarmotCaravelConfig.fir@49224.4]
+  assign _T_4349 = {out_7_d_bits_size,auto_out_7_d_bits_source}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50722.4]
+  assign _T_4351 = {5'h4,_T_4349}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50724.4]
+  assign _T_4346 = {auto_out_7_d_bits_data,auto_out_7_d_bits_corrupt}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50719.4]
+  assign _T_4348 = {2'h0,_T_4346}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50721.4]
+  assign _T_4352 = {_T_4351,_T_4348}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50725.4]
+  assign _T_4353 = _T_4175_7 ? _T_4352 : 45'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50726.4]
+  assign _T_4400 = _T_4399 | _T_4353; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50773.4]
+  assign _T_3900 = _T_3874[8]; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50394.4]
+  assign _T_3932 = _T_3900 & auto_out_8_d_valid; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@50422.4]
+  assign _T_4175_8 = _T_3834 ? _T_3932 : _T_4131_8; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@50593.4]
+  assign _T_4358 = {auto_out_8_d_bits_opcode,2'h0}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50731.4]
+  assign out_8_d_bits_size = {{1'd0}, auto_out_8_d_bits_size}; // @[Xbar.scala 154:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49147.4 Xbar.scala 180:18:shc.marmotcaravel.MarmotCaravelConfig.fir@49234.4]
+  assign _T_4357 = {out_8_d_bits_size,auto_out_8_d_bits_source}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50730.4]
+  assign _T_4359 = {_T_4358,_T_4357}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50732.4]
+  assign _T_4354 = {auto_out_8_d_bits_data,1'h0}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50727.4]
+  assign _T_4356 = {2'h0,_T_4354}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50729.4]
+  assign _T_4360 = {_T_4359,_T_4356}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50733.4]
+  assign _T_4361 = _T_4175_8 ? _T_4360 : 45'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50734.4]
+  assign _T_4401 = _T_4400 | _T_4361; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50774.4]
+  assign _T_3901 = _T_3874[9]; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50395.4]
+  assign _T_3933 = _T_3901 & auto_out_9_d_valid; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@50423.4]
+  assign _T_4175_9 = _T_3834 ? _T_3933 : _T_4131_9; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@50593.4]
+  assign _T_4366 = {auto_out_9_d_bits_opcode,2'h0}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50739.4]
+  assign out_9_d_bits_size = {{1'd0}, auto_out_9_d_bits_size}; // @[Xbar.scala 154:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49147.4 Xbar.scala 180:18:shc.marmotcaravel.MarmotCaravelConfig.fir@49244.4]
+  assign _T_4365 = {out_9_d_bits_size,auto_out_9_d_bits_source}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50738.4]
+  assign _T_4367 = {_T_4366,_T_4365}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50740.4]
+  assign _T_4362 = {auto_out_9_d_bits_data,1'h0}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50735.4]
+  assign _T_4364 = {2'h0,_T_4362}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50737.4]
+  assign _T_4368 = {_T_4367,_T_4364}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50741.4]
+  assign _T_4369 = _T_4175_9 ? _T_4368 : 45'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50742.4]
+  assign _T_4402 = _T_4401 | _T_4369; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50775.4]
+  assign _T_3902 = _T_3874[10]; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50396.4]
+  assign _T_3934 = _T_3902 & auto_out_10_d_valid; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@50424.4]
+  assign _T_4175_10 = _T_3834 ? _T_3934 : _T_4131_10; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@50593.4]
+  assign _T_4374 = {auto_out_10_d_bits_opcode,2'h0}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50747.4]
+  assign out_10_d_bits_size = {{1'd0}, auto_out_10_d_bits_size}; // @[Xbar.scala 154:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49147.4 Xbar.scala 180:18:shc.marmotcaravel.MarmotCaravelConfig.fir@49254.4]
+  assign _T_4373 = {out_10_d_bits_size,auto_out_10_d_bits_source}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50746.4]
+  assign _T_4375 = {_T_4374,_T_4373}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50748.4]
+  assign _T_4370 = {auto_out_10_d_bits_data,1'h0}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50743.4]
+  assign _T_4372 = {2'h0,_T_4370}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50745.4]
+  assign _T_4376 = {_T_4375,_T_4372}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50749.4]
+  assign _T_4377 = _T_4175_10 ? _T_4376 : 45'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50750.4]
+  assign _T_4403 = _T_4402 | _T_4377; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50776.4]
+  assign _T_3903 = _T_3874[11]; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50397.4]
+  assign _T_3935 = _T_3903 & auto_out_11_d_valid; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@50425.4]
+  assign _T_4175_11 = _T_3834 ? _T_3935 : _T_4131_11; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@50593.4]
+  assign _T_4382 = {auto_out_11_d_bits_opcode,2'h0}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50755.4]
+  assign out_11_d_bits_size = {{1'd0}, auto_out_11_d_bits_size}; // @[Xbar.scala 154:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49147.4 Xbar.scala 180:18:shc.marmotcaravel.MarmotCaravelConfig.fir@49264.4]
+  assign _T_4381 = {out_11_d_bits_size,auto_out_11_d_bits_source}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50754.4]
+  assign _T_4383 = {_T_4382,_T_4381}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50756.4]
+  assign _T_4378 = {auto_out_11_d_bits_data,1'h0}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50751.4]
+  assign _T_4380 = {2'h0,_T_4378}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50753.4]
+  assign _T_4384 = {_T_4383,_T_4380}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50757.4]
+  assign _T_4385 = _T_4175_11 ? _T_4384 : 45'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50758.4]
+  assign _T_4404 = _T_4403 | _T_4385; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50777.4]
+  assign _T_3904 = _T_3874[12]; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50398.4]
+  assign _T_3936 = _T_3904 & auto_out_12_d_valid; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@50426.4]
+  assign _T_4175_12 = _T_3834 ? _T_3936 : _T_4131_12; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@50593.4]
+  assign _T_4390 = {auto_out_12_d_bits_opcode,2'h0}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50763.4]
+  assign out_12_d_bits_size = {{1'd0}, auto_out_12_d_bits_size}; // @[Xbar.scala 154:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49147.4 Xbar.scala 180:18:shc.marmotcaravel.MarmotCaravelConfig.fir@49274.4]
+  assign _T_4389 = {out_12_d_bits_size,auto_out_12_d_bits_source}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50762.4]
+  assign _T_4391 = {_T_4390,_T_4389}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50764.4]
+  assign _T_4386 = {auto_out_12_d_bits_data,1'h0}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50759.4]
+  assign _T_4388 = {2'h0,_T_4386}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50761.4]
+  assign _T_4392 = {_T_4391,_T_4388}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50765.4]
+  assign _T_4393 = _T_4175_12 ? _T_4392 : 45'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50766.4]
+  assign _T_4405 = _T_4404 | _T_4393; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50778.4]
+  assign _T_2350 = auto_in_a_bits_address ^ 30'h3000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@49279.4]
+  assign _T_2351 = {1'b0,$signed(_T_2350)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49280.4]
+  assign _T_2352 = $signed(_T_2351) & $signed(31'sh20077000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@49281.4]
+  assign _T_2353 = $signed(_T_2352); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@49282.4]
+  assign requestAIO_0_0 = $signed(_T_2353) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@49283.4]
+  assign _T_2355 = auto_in_a_bits_address ^ 30'h13000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@49285.4]
+  assign _T_2356 = {1'b0,$signed(_T_2355)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49286.4]
+  assign _T_2357 = $signed(_T_2356) & $signed(31'sh20077000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@49287.4]
+  assign _T_2358 = $signed(_T_2357); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@49288.4]
+  assign requestAIO_0_1 = $signed(_T_2358) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@49289.4]
+  assign _T_2360 = auto_in_a_bits_address ^ 30'h23000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@49291.4]
+  assign _T_2361 = {1'b0,$signed(_T_2360)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49292.4]
+  assign _T_2362 = $signed(_T_2361) & $signed(31'sh20077000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@49293.4]
+  assign _T_2363 = $signed(_T_2362); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@49294.4]
+  assign requestAIO_0_2 = $signed(_T_2363) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@49295.4]
+  assign _T_2365 = auto_in_a_bits_address ^ 30'h33000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@49297.4]
+  assign _T_2366 = {1'b0,$signed(_T_2365)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49298.4]
+  assign _T_2367 = $signed(_T_2366) & $signed(31'sh20077000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@49299.4]
+  assign _T_2368 = $signed(_T_2367); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@49300.4]
+  assign requestAIO_0_3 = $signed(_T_2368) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@49301.4]
+  assign _T_2370 = auto_in_a_bits_address ^ 30'h43000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@49303.4]
+  assign _T_2371 = {1'b0,$signed(_T_2370)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49304.4]
+  assign _T_2372 = $signed(_T_2371) & $signed(31'sh20077000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@49305.4]
+  assign _T_2373 = $signed(_T_2372); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@49306.4]
+  assign requestAIO_0_4 = $signed(_T_2373) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@49307.4]
+  assign _T_2375 = auto_in_a_bits_address ^ 30'h53000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@49309.4]
+  assign _T_2376 = {1'b0,$signed(_T_2375)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49310.4]
+  assign _T_2377 = $signed(_T_2376) & $signed(31'sh20077000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@49311.4]
+  assign _T_2378 = $signed(_T_2377); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@49312.4]
+  assign requestAIO_0_5 = $signed(_T_2378) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@49313.4]
+  assign _T_2380 = auto_in_a_bits_address ^ 30'h14000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@49315.4]
+  assign _T_2381 = {1'b0,$signed(_T_2380)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49316.4]
+  assign _T_2382 = $signed(_T_2381) & $signed(31'sh20077000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@49317.4]
+  assign _T_2383 = $signed(_T_2382); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@49318.4]
+  assign requestAIO_0_6 = $signed(_T_2383) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@49319.4]
+  assign _T_2385 = auto_in_a_bits_address ^ 30'h20000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@49321.4]
+  assign _T_2386 = {1'b0,$signed(_T_2385)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49322.4]
+  assign _T_2387 = $signed(_T_2386) & $signed(31'sh20000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@49323.4]
+  assign _T_2388 = $signed(_T_2387); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@49324.4]
+  assign requestAIO_0_7 = $signed(_T_2388) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@49325.4]
+  assign _T_2390 = auto_in_a_bits_address ^ 30'h24000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@49327.4]
+  assign _T_2391 = {1'b0,$signed(_T_2390)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49328.4]
+  assign _T_2392 = $signed(_T_2391) & $signed(31'sh20077000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@49329.4]
+  assign _T_2393 = $signed(_T_2392); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@49330.4]
+  assign requestAIO_0_8 = $signed(_T_2393) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@49331.4]
+  assign _T_2395 = auto_in_a_bits_address ^ 30'h34000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@49333.4]
+  assign _T_2396 = {1'b0,$signed(_T_2395)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49334.4]
+  assign _T_2397 = $signed(_T_2396) & $signed(31'sh20077000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@49335.4]
+  assign _T_2398 = $signed(_T_2397); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@49336.4]
+  assign requestAIO_0_9 = $signed(_T_2398) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@49337.4]
+  assign _T_2400 = auto_in_a_bits_address ^ 30'h12000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@49339.4]
+  assign _T_2401 = {1'b0,$signed(_T_2400)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49340.4]
+  assign _T_2402 = $signed(_T_2401) & $signed(31'sh20077000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@49341.4]
+  assign _T_2403 = $signed(_T_2402); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@49342.4]
+  assign requestAIO_0_10 = $signed(_T_2403) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@49343.4]
+  assign _T_2405 = auto_in_a_bits_address ^ 30'h16000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@49345.4]
+  assign _T_2406 = {1'b0,$signed(_T_2405)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49346.4]
+  assign _T_2407 = $signed(_T_2406) & $signed(31'sh20077000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@49347.4]
+  assign _T_2408 = $signed(_T_2407); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@49348.4]
+  assign requestAIO_0_11 = $signed(_T_2408) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@49349.4]
+  assign _T_2410 = auto_in_a_bits_address ^ 30'h26000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@49351.4]
+  assign _T_2411 = {1'b0,$signed(_T_2410)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49352.4]
+  assign _T_2412 = $signed(_T_2411) & $signed(31'sh20077000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@49353.4]
+  assign _T_2413 = $signed(_T_2412); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@49354.4]
+  assign requestAIO_0_12 = $signed(_T_2413) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@49355.4]
+  assign _T_2767 = 27'hfff << auto_out_0_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@49763.4]
+  assign _T_2768 = _T_2767[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@49764.4]
+  assign _T_2769 = ~ _T_2768; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@49765.4]
+  assign _T_2770 = _T_2769[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@49766.4]
+  assign _T_2771 = auto_out_0_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@49767.4]
+  assign beatsDO_0 = _T_2771 ? _T_2770 : 10'h0; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49768.4]
+  assign _T_2773 = 21'h3f << out_1_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@49770.4]
+  assign _T_2774 = _T_2773[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@49771.4]
+  assign _T_2775 = ~ _T_2774; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@49772.4]
+  assign _T_2776 = _T_2775[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@49773.4]
+  assign _T_2777 = auto_out_1_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@49774.4]
+  assign beatsDO_1 = _T_2777 ? _T_2776 : 4'h0; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49775.4]
+  assign _T_2779 = 21'h3f << out_2_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@49777.4]
+  assign _T_2780 = _T_2779[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@49778.4]
+  assign _T_2781 = ~ _T_2780; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@49779.4]
+  assign _T_2782 = _T_2781[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@49780.4]
+  assign _T_2783 = auto_out_2_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@49781.4]
+  assign beatsDO_2 = _T_2783 ? _T_2782 : 4'h0; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49782.4]
+  assign _T_2785 = 21'h3f << out_3_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@49784.4]
+  assign _T_2786 = _T_2785[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@49785.4]
+  assign _T_2787 = ~ _T_2786; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@49786.4]
+  assign _T_2788 = _T_2787[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@49787.4]
+  assign _T_2789 = auto_out_3_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@49788.4]
+  assign beatsDO_3 = _T_2789 ? _T_2788 : 4'h0; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49789.4]
+  assign _T_2791 = 21'h3f << out_4_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@49791.4]
+  assign _T_2792 = _T_2791[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@49792.4]
+  assign _T_2793 = ~ _T_2792; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@49793.4]
+  assign _T_2794 = _T_2793[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@49794.4]
+  assign _T_2795 = auto_out_4_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@49795.4]
+  assign beatsDO_4 = _T_2795 ? _T_2794 : 4'h0; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49796.4]
+  assign _T_2797 = 21'h3f << out_5_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@49798.4]
+  assign _T_2798 = _T_2797[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@49799.4]
+  assign _T_2799 = ~ _T_2798; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@49800.4]
+  assign _T_2800 = _T_2799[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@49801.4]
+  assign _T_2801 = auto_out_5_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@49802.4]
+  assign beatsDO_5 = _T_2801 ? _T_2800 : 4'h0; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49803.4]
+  assign _T_2803 = 21'h3f << out_6_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@49805.4]
+  assign _T_2804 = _T_2803[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
+  assign _T_2805 = ~ _T_2804; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@49807.4]
+  assign _T_2806 = _T_2805[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@49808.4]
+  assign _T_2807 = auto_out_6_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@49809.4]
+  assign beatsDO_6 = _T_2807 ? _T_2806 : 4'h0; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49810.4]
+  assign _T_2809 = 21'h3f << out_7_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@49812.4]
+  assign _T_2810 = _T_2809[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@49813.4]
+  assign _T_2811 = ~ _T_2810; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@49814.4]
+  assign beatsDO_7 = _T_2811[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@49815.4]
+  assign _T_2815 = 21'h3f << out_8_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@49819.4]
+  assign _T_2816 = _T_2815[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@49820.4]
+  assign _T_2817 = ~ _T_2816; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@49821.4]
+  assign _T_2818 = _T_2817[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@49822.4]
+  assign _T_2819 = auto_out_8_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@49823.4]
+  assign beatsDO_8 = _T_2819 ? _T_2818 : 4'h0; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49824.4]
+  assign _T_2821 = 21'h3f << out_9_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@49826.4]
+  assign _T_2822 = _T_2821[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@49827.4]
+  assign _T_2823 = ~ _T_2822; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@49828.4]
+  assign _T_2824 = _T_2823[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@49829.4]
+  assign _T_2825 = auto_out_9_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@49830.4]
+  assign beatsDO_9 = _T_2825 ? _T_2824 : 4'h0; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49831.4]
+  assign _T_2827 = 21'h3f << out_10_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@49833.4]
+  assign _T_2828 = _T_2827[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@49834.4]
+  assign _T_2829 = ~ _T_2828; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@49835.4]
+  assign _T_2830 = _T_2829[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@49836.4]
+  assign _T_2831 = auto_out_10_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@49837.4]
+  assign beatsDO_10 = _T_2831 ? _T_2830 : 4'h0; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49838.4]
+  assign _T_2833 = 21'h3f << out_11_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@49840.4]
+  assign _T_2834 = _T_2833[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@49841.4]
+  assign _T_2835 = ~ _T_2834; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@49842.4]
+  assign _T_2836 = _T_2835[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@49843.4]
+  assign _T_2837 = auto_out_11_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@49844.4]
+  assign beatsDO_11 = _T_2837 ? _T_2836 : 4'h0; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49845.4]
+  assign _T_2839 = 21'h3f << out_12_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@49847.4]
+  assign _T_2840 = _T_2839[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@49848.4]
+  assign _T_2841 = ~ _T_2840; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@49849.4]
+  assign _T_2842 = _T_2841[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@49850.4]
+  assign _T_2843 = auto_out_12_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@49851.4]
+  assign beatsDO_12 = _T_2843 ? _T_2842 : 4'h0; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49852.4]
+  assign _T_2973 = requestAIO_0_0 ? auto_out_0_a_ready : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@49907.4]
+  assign _T_2974 = requestAIO_0_1 ? auto_out_1_a_ready : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@49908.4]
+  assign _T_2975 = requestAIO_0_2 ? auto_out_2_a_ready : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@49909.4]
+  assign _T_2976 = requestAIO_0_3 ? auto_out_3_a_ready : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@49910.4]
+  assign _T_2977 = requestAIO_0_4 ? auto_out_4_a_ready : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@49911.4]
+  assign _T_2978 = requestAIO_0_5 ? auto_out_5_a_ready : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@49912.4]
+  assign _T_2979 = requestAIO_0_6 ? auto_out_6_a_ready : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@49913.4]
+  assign _T_2980 = requestAIO_0_7 ? auto_out_7_a_ready : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@49914.4]
+  assign _T_2981 = requestAIO_0_8 ? auto_out_8_a_ready : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@49915.4]
+  assign _T_2982 = requestAIO_0_9 ? auto_out_9_a_ready : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@49916.4]
+  assign _T_2983 = requestAIO_0_10 ? auto_out_10_a_ready : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@49917.4]
+  assign _T_2984 = requestAIO_0_11 ? auto_out_11_a_ready : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@49918.4]
+  assign _T_2985 = requestAIO_0_12 ? auto_out_12_a_ready : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@49919.4]
+  assign _T_2986 = _T_2973 | _T_2974; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@49920.4]
+  assign _T_2987 = _T_2986 | _T_2975; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@49921.4]
+  assign _T_2988 = _T_2987 | _T_2976; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@49922.4]
+  assign _T_2989 = _T_2988 | _T_2977; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@49923.4]
+  assign _T_2990 = _T_2989 | _T_2978; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@49924.4]
+  assign _T_2991 = _T_2990 | _T_2979; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@49925.4]
+  assign _T_2992 = _T_2991 | _T_2980; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@49926.4]
+  assign _T_2993 = _T_2992 | _T_2981; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@49927.4]
+  assign _T_2994 = _T_2993 | _T_2982; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@49928.4]
+  assign _T_2995 = _T_2994 | _T_2983; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@49929.4]
+  assign _T_2996 = _T_2995 | _T_2984; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@49930.4]
+  assign _T_3835 = _T_3834 & auto_in_d_ready; // @[Arbiter.scala 55:24:shc.marmotcaravel.MarmotCaravelConfig.fir@50323.4]
+  assign _T_3849 = _T_3847 == _T_3847; // @[Arbiter.scala 19:19:shc.marmotcaravel.MarmotCaravelConfig.fir@50337.4]
+  assign _T_3851 = _T_3849 | reset; // @[Arbiter.scala 19:12:shc.marmotcaravel.MarmotCaravelConfig.fir@50339.4]
+  assign _T_3852 = _T_3851 == 1'h0; // @[Arbiter.scala 19:12:shc.marmotcaravel.MarmotCaravelConfig.fir@50340.4]
+  assign _T_3875 = _T_3847 != 13'h0; // @[Arbiter.scala 24:27:shc.marmotcaravel.MarmotCaravelConfig.fir@50366.4]
+  assign _T_3876 = _T_3835 & _T_3875; // @[Arbiter.scala 24:18:shc.marmotcaravel.MarmotCaravelConfig.fir@50367.4]
+  assign _T_3877 = _T_3874 & _T_3847; // @[Arbiter.scala 25:29:shc.marmotcaravel.MarmotCaravelConfig.fir@50369.6]
+  assign _GEN_7 = {{1'd0}, _T_3877}; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@50370.6]
+  assign _T_3878 = _GEN_7 << 1; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@50370.6]
+  assign _T_3879 = _T_3878[12:0]; // @[package.scala 194:53:shc.marmotcaravel.MarmotCaravelConfig.fir@50371.6]
+  assign _T_3880 = _T_3877 | _T_3879; // @[package.scala 194:43:shc.marmotcaravel.MarmotCaravelConfig.fir@50372.6]
+  assign _GEN_8 = {{2'd0}, _T_3880}; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@50373.6]
+  assign _T_3881 = _GEN_8 << 2; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@50373.6]
+  assign _T_3882 = _T_3881[12:0]; // @[package.scala 194:53:shc.marmotcaravel.MarmotCaravelConfig.fir@50374.6]
+  assign _T_3883 = _T_3880 | _T_3882; // @[package.scala 194:43:shc.marmotcaravel.MarmotCaravelConfig.fir@50375.6]
+  assign _GEN_9 = {{4'd0}, _T_3883}; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@50376.6]
+  assign _T_3884 = _GEN_9 << 4; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@50376.6]
+  assign _T_3885 = _T_3884[12:0]; // @[package.scala 194:53:shc.marmotcaravel.MarmotCaravelConfig.fir@50377.6]
+  assign _T_3886 = _T_3883 | _T_3885; // @[package.scala 194:43:shc.marmotcaravel.MarmotCaravelConfig.fir@50378.6]
+  assign _GEN_10 = {{8'd0}, _T_3886}; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@50379.6]
+  assign _T_3887 = _GEN_10 << 8; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@50379.6]
+  assign _T_3888 = _T_3887[12:0]; // @[package.scala 194:53:shc.marmotcaravel.MarmotCaravelConfig.fir@50380.6]
+  assign _T_3889 = _T_3886 | _T_3888; // @[package.scala 194:43:shc.marmotcaravel.MarmotCaravelConfig.fir@50381.6]
+  assign _T_3957 = _T_3924 | _T_3925; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50443.4]
+  assign _T_3958 = _T_3957 | _T_3926; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50444.4]
+  assign _T_3959 = _T_3958 | _T_3927; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50445.4]
+  assign _T_3960 = _T_3959 | _T_3928; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50446.4]
+  assign _T_3961 = _T_3960 | _T_3929; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50447.4]
+  assign _T_3962 = _T_3961 | _T_3930; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50448.4]
+  assign _T_3963 = _T_3962 | _T_3931; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50449.4]
+  assign _T_3964 = _T_3963 | _T_3932; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50450.4]
+  assign _T_3965 = _T_3964 | _T_3933; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50451.4]
+  assign _T_3966 = _T_3965 | _T_3934; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50452.4]
+  assign _T_3967 = _T_3966 | _T_3935; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50453.4]
+  assign _T_3968 = _T_3967 | _T_3936; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50454.4]
+  assign _T_3970 = _T_3924 == 1'h0; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@50456.4]
+  assign _T_3973 = _T_3925 == 1'h0; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@50459.4]
+  assign _T_3974 = _T_3970 | _T_3973; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@50460.4]
+  assign _T_3975 = _T_3957 == 1'h0; // @[Arbiter.scala 68:56:shc.marmotcaravel.MarmotCaravelConfig.fir@50461.4]
+  assign _T_3976 = _T_3926 == 1'h0; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@50462.4]
+  assign _T_3977 = _T_3975 | _T_3976; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@50463.4]
+  assign _T_3978 = _T_3958 == 1'h0; // @[Arbiter.scala 68:56:shc.marmotcaravel.MarmotCaravelConfig.fir@50464.4]
+  assign _T_3979 = _T_3927 == 1'h0; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@50465.4]
+  assign _T_3980 = _T_3978 | _T_3979; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@50466.4]
+  assign _T_3981 = _T_3959 == 1'h0; // @[Arbiter.scala 68:56:shc.marmotcaravel.MarmotCaravelConfig.fir@50467.4]
+  assign _T_3982 = _T_3928 == 1'h0; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@50468.4]
+  assign _T_3983 = _T_3981 | _T_3982; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@50469.4]
+  assign _T_3984 = _T_3960 == 1'h0; // @[Arbiter.scala 68:56:shc.marmotcaravel.MarmotCaravelConfig.fir@50470.4]
+  assign _T_3985 = _T_3929 == 1'h0; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@50471.4]
+  assign _T_3986 = _T_3984 | _T_3985; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@50472.4]
+  assign _T_3987 = _T_3961 == 1'h0; // @[Arbiter.scala 68:56:shc.marmotcaravel.MarmotCaravelConfig.fir@50473.4]
+  assign _T_3988 = _T_3930 == 1'h0; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@50474.4]
+  assign _T_3989 = _T_3987 | _T_3988; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@50475.4]
+  assign _T_3990 = _T_3962 == 1'h0; // @[Arbiter.scala 68:56:shc.marmotcaravel.MarmotCaravelConfig.fir@50476.4]
+  assign _T_3991 = _T_3931 == 1'h0; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@50477.4]
+  assign _T_3992 = _T_3990 | _T_3991; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@50478.4]
+  assign _T_3993 = _T_3963 == 1'h0; // @[Arbiter.scala 68:56:shc.marmotcaravel.MarmotCaravelConfig.fir@50479.4]
+  assign _T_3994 = _T_3932 == 1'h0; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@50480.4]
+  assign _T_3995 = _T_3993 | _T_3994; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@50481.4]
+  assign _T_3996 = _T_3964 == 1'h0; // @[Arbiter.scala 68:56:shc.marmotcaravel.MarmotCaravelConfig.fir@50482.4]
+  assign _T_3997 = _T_3933 == 1'h0; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@50483.4]
+  assign _T_3998 = _T_3996 | _T_3997; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@50484.4]
+  assign _T_3999 = _T_3965 == 1'h0; // @[Arbiter.scala 68:56:shc.marmotcaravel.MarmotCaravelConfig.fir@50485.4]
+  assign _T_4000 = _T_3934 == 1'h0; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@50486.4]
+  assign _T_4001 = _T_3999 | _T_4000; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@50487.4]
+  assign _T_4002 = _T_3966 == 1'h0; // @[Arbiter.scala 68:56:shc.marmotcaravel.MarmotCaravelConfig.fir@50488.4]
+  assign _T_4003 = _T_3935 == 1'h0; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@50489.4]
+  assign _T_4004 = _T_4002 | _T_4003; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@50490.4]
+  assign _T_4005 = _T_3967 == 1'h0; // @[Arbiter.scala 68:56:shc.marmotcaravel.MarmotCaravelConfig.fir@50491.4]
+  assign _T_4006 = _T_3936 == 1'h0; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@50492.4]
+  assign _T_4007 = _T_4005 | _T_4006; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@50493.4]
+  assign _T_4009 = _T_3974 & _T_3977; // @[Arbiter.scala 68:77:shc.marmotcaravel.MarmotCaravelConfig.fir@50495.4]
+  assign _T_4010 = _T_4009 & _T_3980; // @[Arbiter.scala 68:77:shc.marmotcaravel.MarmotCaravelConfig.fir@50496.4]
+  assign _T_4011 = _T_4010 & _T_3983; // @[Arbiter.scala 68:77:shc.marmotcaravel.MarmotCaravelConfig.fir@50497.4]
+  assign _T_4012 = _T_4011 & _T_3986; // @[Arbiter.scala 68:77:shc.marmotcaravel.MarmotCaravelConfig.fir@50498.4]
+  assign _T_4013 = _T_4012 & _T_3989; // @[Arbiter.scala 68:77:shc.marmotcaravel.MarmotCaravelConfig.fir@50499.4]
+  assign _T_4014 = _T_4013 & _T_3992; // @[Arbiter.scala 68:77:shc.marmotcaravel.MarmotCaravelConfig.fir@50500.4]
+  assign _T_4015 = _T_4014 & _T_3995; // @[Arbiter.scala 68:77:shc.marmotcaravel.MarmotCaravelConfig.fir@50501.4]
+  assign _T_4016 = _T_4015 & _T_3998; // @[Arbiter.scala 68:77:shc.marmotcaravel.MarmotCaravelConfig.fir@50502.4]
+  assign _T_4017 = _T_4016 & _T_4001; // @[Arbiter.scala 68:77:shc.marmotcaravel.MarmotCaravelConfig.fir@50503.4]
+  assign _T_4018 = _T_4017 & _T_4004; // @[Arbiter.scala 68:77:shc.marmotcaravel.MarmotCaravelConfig.fir@50504.4]
+  assign _T_4019 = _T_4018 & _T_4007; // @[Arbiter.scala 68:77:shc.marmotcaravel.MarmotCaravelConfig.fir@50505.4]
+  assign _T_4021 = _T_4019 | reset; // @[Arbiter.scala 68:13:shc.marmotcaravel.MarmotCaravelConfig.fir@50507.4]
+  assign _T_4022 = _T_4021 == 1'h0; // @[Arbiter.scala 68:13:shc.marmotcaravel.MarmotCaravelConfig.fir@50508.4]
+  assign _T_4023 = auto_out_0_d_valid | auto_out_1_d_valid; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@50513.4]
+  assign _T_4024 = _T_4023 | auto_out_2_d_valid; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@50514.4]
+  assign _T_4025 = _T_4024 | auto_out_3_d_valid; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@50515.4]
+  assign _T_4026 = _T_4025 | auto_out_4_d_valid; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@50516.4]
+  assign _T_4027 = _T_4026 | auto_out_5_d_valid; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@50517.4]
+  assign _T_4028 = _T_4027 | auto_out_6_d_valid; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@50518.4]
+  assign _T_4029 = _T_4028 | auto_out_7_d_valid; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@50519.4]
+  assign _T_4030 = _T_4029 | auto_out_8_d_valid; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@50520.4]
+  assign _T_4031 = _T_4030 | auto_out_9_d_valid; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@50521.4]
+  assign _T_4032 = _T_4031 | auto_out_10_d_valid; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@50522.4]
+  assign _T_4033 = _T_4032 | auto_out_11_d_valid; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@50523.4]
+  assign _T_4034 = _T_4033 | auto_out_12_d_valid; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@50524.4]
+  assign _T_4035 = _T_4034 == 1'h0; // @[Arbiter.scala 70:15:shc.marmotcaravel.MarmotCaravelConfig.fir@50525.4]
+  assign _T_4048 = _T_4035 | _T_3968; // @[Arbiter.scala 70:36:shc.marmotcaravel.MarmotCaravelConfig.fir@50538.4]
+  assign _T_4050 = _T_4048 | reset; // @[Arbiter.scala 70:14:shc.marmotcaravel.MarmotCaravelConfig.fir@50540.4]
+  assign _T_4051 = _T_4050 == 1'h0; // @[Arbiter.scala 70:14:shc.marmotcaravel.MarmotCaravelConfig.fir@50541.4]
+  assign _T_4052 = _T_3924 ? beatsDO_0 : 10'h0; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@50546.4]
+  assign _T_4053 = _T_3925 ? beatsDO_1 : 4'h0; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@50547.4]
+  assign _T_4054 = _T_3926 ? beatsDO_2 : 4'h0; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@50548.4]
+  assign _T_4055 = _T_3927 ? beatsDO_3 : 4'h0; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@50549.4]
+  assign _T_4056 = _T_3928 ? beatsDO_4 : 4'h0; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@50550.4]
+  assign _T_4057 = _T_3929 ? beatsDO_5 : 4'h0; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@50551.4]
+  assign _T_4058 = _T_3930 ? beatsDO_6 : 4'h0; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@50552.4]
+  assign _T_4059 = _T_3931 ? beatsDO_7 : 4'h0; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@50553.4]
+  assign _T_4060 = _T_3932 ? beatsDO_8 : 4'h0; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@50554.4]
+  assign _T_4061 = _T_3933 ? beatsDO_9 : 4'h0; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@50555.4]
+  assign _T_4062 = _T_3934 ? beatsDO_10 : 4'h0; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@50556.4]
+  assign _T_4063 = _T_3935 ? beatsDO_11 : 4'h0; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@50557.4]
+  assign _T_4064 = _T_3936 ? beatsDO_12 : 4'h0; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@50558.4]
+  assign _GEN_11 = {{6'd0}, _T_4053}; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@50559.4]
+  assign _T_4065 = _T_4052 | _GEN_11; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@50559.4]
+  assign _GEN_12 = {{6'd0}, _T_4054}; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@50560.4]
+  assign _T_4066 = _T_4065 | _GEN_12; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@50560.4]
+  assign _GEN_13 = {{6'd0}, _T_4055}; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@50561.4]
+  assign _T_4067 = _T_4066 | _GEN_13; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@50561.4]
+  assign _GEN_14 = {{6'd0}, _T_4056}; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@50562.4]
+  assign _T_4068 = _T_4067 | _GEN_14; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@50562.4]
+  assign _GEN_15 = {{6'd0}, _T_4057}; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@50563.4]
+  assign _T_4069 = _T_4068 | _GEN_15; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@50563.4]
+  assign _GEN_16 = {{6'd0}, _T_4058}; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@50564.4]
+  assign _T_4070 = _T_4069 | _GEN_16; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@50564.4]
+  assign _GEN_17 = {{6'd0}, _T_4059}; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@50565.4]
+  assign _T_4071 = _T_4070 | _GEN_17; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@50565.4]
+  assign _GEN_18 = {{6'd0}, _T_4060}; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@50566.4]
+  assign _T_4072 = _T_4071 | _GEN_18; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@50566.4]
+  assign _GEN_19 = {{6'd0}, _T_4061}; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@50567.4]
+  assign _T_4073 = _T_4072 | _GEN_19; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@50567.4]
+  assign _GEN_20 = {{6'd0}, _T_4062}; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@50568.4]
+  assign _T_4074 = _T_4073 | _GEN_20; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@50568.4]
+  assign _GEN_21 = {{6'd0}, _T_4063}; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@50569.4]
+  assign _T_4075 = _T_4074 | _GEN_21; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@50569.4]
+  assign _GEN_22 = {{6'd0}, _T_4064}; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@50570.4]
+  assign _T_4076 = _T_4075 | _GEN_22; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@50570.4]
+  assign _T_4261 = _T_4131_0 ? auto_out_0_d_valid : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50634.4]
+  assign _T_4262 = _T_4131_1 ? auto_out_1_d_valid : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50635.4]
+  assign _T_4274 = _T_4261 | _T_4262; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50647.4]
+  assign _T_4263 = _T_4131_2 ? auto_out_2_d_valid : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50636.4]
+  assign _T_4275 = _T_4274 | _T_4263; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50648.4]
+  assign _T_4264 = _T_4131_3 ? auto_out_3_d_valid : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50637.4]
+  assign _T_4276 = _T_4275 | _T_4264; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50649.4]
+  assign _T_4265 = _T_4131_4 ? auto_out_4_d_valid : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50638.4]
+  assign _T_4277 = _T_4276 | _T_4265; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50650.4]
+  assign _T_4266 = _T_4131_5 ? auto_out_5_d_valid : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50639.4]
+  assign _T_4278 = _T_4277 | _T_4266; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50651.4]
+  assign _T_4267 = _T_4131_6 ? auto_out_6_d_valid : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50640.4]
+  assign _T_4279 = _T_4278 | _T_4267; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50652.4]
+  assign _T_4268 = _T_4131_7 ? auto_out_7_d_valid : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50641.4]
+  assign _T_4280 = _T_4279 | _T_4268; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50653.4]
+  assign _T_4269 = _T_4131_8 ? auto_out_8_d_valid : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50642.4]
+  assign _T_4281 = _T_4280 | _T_4269; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50654.4]
+  assign _T_4270 = _T_4131_9 ? auto_out_9_d_valid : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50643.4]
+  assign _T_4282 = _T_4281 | _T_4270; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50655.4]
+  assign _T_4271 = _T_4131_10 ? auto_out_10_d_valid : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50644.4]
+  assign _T_4283 = _T_4282 | _T_4271; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50656.4]
+  assign _T_4272 = _T_4131_11 ? auto_out_11_d_valid : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50645.4]
+  assign _T_4284 = _T_4283 | _T_4272; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50657.4]
+  assign _T_4273 = _T_4131_12 ? auto_out_12_d_valid : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50646.4]
+  assign _T_4285 = _T_4284 | _T_4273; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50658.4]
+  assign in_0_d_valid = _T_3834 ? _T_4034 : _T_4285; // @[Arbiter.scala 86:24:shc.marmotcaravel.MarmotCaravelConfig.fir@50661.4]
+  assign _T_4077 = auto_in_d_ready & in_0_d_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@50571.4]
+  assign _GEN_23 = {{9'd0}, _T_4077}; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50572.4]
+  assign _T_4078 = _T_3833 - _GEN_23; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50572.4]
+  assign _T_4079 = $unsigned(_T_4078); // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50573.4]
+  assign _T_4080 = _T_4079[9:0]; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50574.4]
+  assign _T_4205_0 = _T_3834 ? _T_3892 : _T_4131_0; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@50595.4]
+  assign _T_4205_1 = _T_3834 ? _T_3893 : _T_4131_1; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@50595.4]
+  assign _T_4205_2 = _T_3834 ? _T_3894 : _T_4131_2; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@50595.4]
+  assign _T_4205_3 = _T_3834 ? _T_3895 : _T_4131_3; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@50595.4]
+  assign _T_4205_4 = _T_3834 ? _T_3896 : _T_4131_4; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@50595.4]
+  assign _T_4205_5 = _T_3834 ? _T_3897 : _T_4131_5; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@50595.4]
+  assign _T_4205_6 = _T_3834 ? _T_3898 : _T_4131_6; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@50595.4]
+  assign _T_4205_7 = _T_3834 ? _T_3899 : _T_4131_7; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@50595.4]
+  assign _T_4205_8 = _T_3834 ? _T_3900 : _T_4131_8; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@50595.4]
+  assign _T_4205_9 = _T_3834 ? _T_3901 : _T_4131_9; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@50595.4]
+  assign _T_4205_10 = _T_3834 ? _T_3902 : _T_4131_10; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@50595.4]
+  assign _T_4205_11 = _T_3834 ? _T_3903 : _T_4131_11; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@50595.4]
+  assign _T_4205_12 = _T_3834 ? _T_3904 : _T_4131_12; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@50595.4]
+  assign auto_in_a_ready = _T_2996 | _T_2985; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@49132.4]
+  assign auto_in_d_valid = _T_3834 ? _T_4034 : _T_4285; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@49132.4]
+  assign auto_in_d_bits_opcode = _T_4405[44:42]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@49132.4]
+  assign auto_in_d_bits_param = _T_4405[41:40]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@49132.4]
+  assign auto_in_d_bits_size = _T_4405[39:36]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@49132.4]
+  assign auto_in_d_bits_source = _T_4405[35]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@49132.4]
+  assign auto_in_d_bits_sink = _T_4405[34]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@49132.4]
+  assign auto_in_d_bits_denied = _T_4405[33]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@49132.4]
+  assign auto_in_d_bits_data = _T_4405[32:1]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@49132.4]
+  assign auto_in_d_bits_corrupt = _T_4405[0]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@49132.4]
+  assign auto_out_12_a_valid = auto_in_a_valid & requestAIO_0_12; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49131.4]
+  assign auto_out_12_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49131.4]
+  assign auto_out_12_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49131.4]
+  assign auto_out_12_a_bits_size = auto_in_a_bits_size[2:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49131.4]
+  assign auto_out_12_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49131.4]
+  assign auto_out_12_a_bits_address = auto_in_a_bits_address[28:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49131.4]
+  assign auto_out_12_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49131.4]
+  assign auto_out_12_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49131.4]
+  assign auto_out_12_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49131.4]
+  assign auto_out_12_d_ready = auto_in_d_ready & _T_4205_12; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49131.4]
+  assign auto_out_11_a_valid = auto_in_a_valid & requestAIO_0_11; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49130.4]
+  assign auto_out_11_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49130.4]
+  assign auto_out_11_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49130.4]
+  assign auto_out_11_a_bits_size = auto_in_a_bits_size[2:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49130.4]
+  assign auto_out_11_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49130.4]
+  assign auto_out_11_a_bits_address = auto_in_a_bits_address[28:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49130.4]
+  assign auto_out_11_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49130.4]
+  assign auto_out_11_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49130.4]
+  assign auto_out_11_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49130.4]
+  assign auto_out_11_d_ready = auto_in_d_ready & _T_4205_11; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49130.4]
+  assign auto_out_10_a_valid = auto_in_a_valid & requestAIO_0_10; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49129.4]
+  assign auto_out_10_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49129.4]
+  assign auto_out_10_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49129.4]
+  assign auto_out_10_a_bits_size = auto_in_a_bits_size[2:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49129.4]
+  assign auto_out_10_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49129.4]
+  assign auto_out_10_a_bits_address = auto_in_a_bits_address[28:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49129.4]
+  assign auto_out_10_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49129.4]
+  assign auto_out_10_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49129.4]
+  assign auto_out_10_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49129.4]
+  assign auto_out_10_d_ready = auto_in_d_ready & _T_4205_10; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49129.4]
+  assign auto_out_9_a_valid = auto_in_a_valid & requestAIO_0_9; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49128.4]
+  assign auto_out_9_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49128.4]
+  assign auto_out_9_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49128.4]
+  assign auto_out_9_a_bits_size = auto_in_a_bits_size[2:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49128.4]
+  assign auto_out_9_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49128.4]
+  assign auto_out_9_a_bits_address = auto_in_a_bits_address[28:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49128.4]
+  assign auto_out_9_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49128.4]
+  assign auto_out_9_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49128.4]
+  assign auto_out_9_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49128.4]
+  assign auto_out_9_d_ready = auto_in_d_ready & _T_4205_9; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49128.4]
+  assign auto_out_8_a_valid = auto_in_a_valid & requestAIO_0_8; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49127.4]
+  assign auto_out_8_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49127.4]
+  assign auto_out_8_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49127.4]
+  assign auto_out_8_a_bits_size = auto_in_a_bits_size[2:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49127.4]
+  assign auto_out_8_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49127.4]
+  assign auto_out_8_a_bits_address = auto_in_a_bits_address[28:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49127.4]
+  assign auto_out_8_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49127.4]
+  assign auto_out_8_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49127.4]
+  assign auto_out_8_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49127.4]
+  assign auto_out_8_d_ready = auto_in_d_ready & _T_4205_8; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49127.4]
+  assign auto_out_7_a_valid = auto_in_a_valid & requestAIO_0_7; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49126.4]
+  assign auto_out_7_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49126.4]
+  assign auto_out_7_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49126.4]
+  assign auto_out_7_a_bits_size = auto_in_a_bits_size[2:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49126.4]
+  assign auto_out_7_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49126.4]
+  assign auto_out_7_a_bits_address = auto_in_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49126.4]
+  assign auto_out_7_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49126.4]
+  assign auto_out_7_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49126.4]
+  assign auto_out_7_d_ready = auto_in_d_ready & _T_4205_7; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49126.4]
+  assign auto_out_6_a_valid = auto_in_a_valid & requestAIO_0_6; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49125.4]
+  assign auto_out_6_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49125.4]
+  assign auto_out_6_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49125.4]
+  assign auto_out_6_a_bits_size = auto_in_a_bits_size[2:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49125.4]
+  assign auto_out_6_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49125.4]
+  assign auto_out_6_a_bits_address = auto_in_a_bits_address[28:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49125.4]
+  assign auto_out_6_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49125.4]
+  assign auto_out_6_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49125.4]
+  assign auto_out_6_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49125.4]
+  assign auto_out_6_d_ready = auto_in_d_ready & _T_4205_6; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49125.4]
+  assign auto_out_5_a_valid = auto_in_a_valid & requestAIO_0_5; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49124.4]
+  assign auto_out_5_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49124.4]
+  assign auto_out_5_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49124.4]
+  assign auto_out_5_a_bits_size = auto_in_a_bits_size[2:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49124.4]
+  assign auto_out_5_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49124.4]
+  assign auto_out_5_a_bits_address = auto_in_a_bits_address[28:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49124.4]
+  assign auto_out_5_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49124.4]
+  assign auto_out_5_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49124.4]
+  assign auto_out_5_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49124.4]
+  assign auto_out_5_d_ready = auto_in_d_ready & _T_4205_5; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49124.4]
+  assign auto_out_4_a_valid = auto_in_a_valid & requestAIO_0_4; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49123.4]
+  assign auto_out_4_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49123.4]
+  assign auto_out_4_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49123.4]
+  assign auto_out_4_a_bits_size = auto_in_a_bits_size[2:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49123.4]
+  assign auto_out_4_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49123.4]
+  assign auto_out_4_a_bits_address = auto_in_a_bits_address[28:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49123.4]
+  assign auto_out_4_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49123.4]
+  assign auto_out_4_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49123.4]
+  assign auto_out_4_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49123.4]
+  assign auto_out_4_d_ready = auto_in_d_ready & _T_4205_4; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49123.4]
+  assign auto_out_3_a_valid = auto_in_a_valid & requestAIO_0_3; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49122.4]
+  assign auto_out_3_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49122.4]
+  assign auto_out_3_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49122.4]
+  assign auto_out_3_a_bits_size = auto_in_a_bits_size[2:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49122.4]
+  assign auto_out_3_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49122.4]
+  assign auto_out_3_a_bits_address = auto_in_a_bits_address[28:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49122.4]
+  assign auto_out_3_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49122.4]
+  assign auto_out_3_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49122.4]
+  assign auto_out_3_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49122.4]
+  assign auto_out_3_d_ready = auto_in_d_ready & _T_4205_3; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49122.4]
+  assign auto_out_2_a_valid = auto_in_a_valid & requestAIO_0_2; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49121.4]
+  assign auto_out_2_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49121.4]
+  assign auto_out_2_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49121.4]
+  assign auto_out_2_a_bits_size = auto_in_a_bits_size[2:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49121.4]
+  assign auto_out_2_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49121.4]
+  assign auto_out_2_a_bits_address = auto_in_a_bits_address[28:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49121.4]
+  assign auto_out_2_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49121.4]
+  assign auto_out_2_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49121.4]
+  assign auto_out_2_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49121.4]
+  assign auto_out_2_d_ready = auto_in_d_ready & _T_4205_2; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49121.4]
+  assign auto_out_1_a_valid = auto_in_a_valid & requestAIO_0_1; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49120.4]
+  assign auto_out_1_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49120.4]
+  assign auto_out_1_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49120.4]
+  assign auto_out_1_a_bits_size = auto_in_a_bits_size[2:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49120.4]
+  assign auto_out_1_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49120.4]
+  assign auto_out_1_a_bits_address = auto_in_a_bits_address[28:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49120.4]
+  assign auto_out_1_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49120.4]
+  assign auto_out_1_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49120.4]
+  assign auto_out_1_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49120.4]
+  assign auto_out_1_d_ready = auto_in_d_ready & _T_4205_1; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49120.4]
+  assign auto_out_0_a_valid = auto_in_a_valid & requestAIO_0_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49119.4]
+  assign auto_out_0_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49119.4]
+  assign auto_out_0_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49119.4]
+  assign auto_out_0_a_bits_size = auto_in_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49119.4]
+  assign auto_out_0_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49119.4]
+  assign auto_out_0_a_bits_address = auto_in_a_bits_address[13:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49119.4]
+  assign auto_out_0_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49119.4]
+  assign auto_out_0_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49119.4]
+  assign auto_out_0_d_ready = auto_in_d_ready & _T_4205_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49119.4]
+  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49058.4]
+  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49059.4]
+  assign TLMonitor_io_in_a_ready = _T_2996 | _T_2985; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49092.4]
+  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49092.4]
+  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49092.4]
+  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49092.4]
+  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49092.4]
+  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49092.4]
+  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49092.4]
+  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49092.4]
+  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49092.4]
+  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49092.4]
+  assign TLMonitor_io_in_d_valid = _T_3834 ? _T_4034 : _T_4285; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49092.4]
+  assign TLMonitor_io_in_d_bits_opcode = _T_4405[44:42]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49092.4]
+  assign TLMonitor_io_in_d_bits_param = _T_4405[41:40]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49092.4]
+  assign TLMonitor_io_in_d_bits_size = _T_4405[39:36]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49092.4]
+  assign TLMonitor_io_in_d_bits_source = _T_4405[35]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49092.4]
+  assign TLMonitor_io_in_d_bits_sink = _T_4405[34]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49092.4]
+  assign TLMonitor_io_in_d_bits_denied = _T_4405[33]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49092.4]
+  assign TLMonitor_io_in_d_bits_corrupt = _T_4405[0]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49092.4]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  _T_3833 = _RAND_0[9:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  _T_3855 = _RAND_1[12:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  _T_4131_0 = _RAND_2[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  _T_4131_1 = _RAND_3[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  _T_4131_2 = _RAND_4[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  _T_4131_3 = _RAND_5[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {1{`RANDOM}};
+  _T_4131_4 = _RAND_6[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {1{`RANDOM}};
+  _T_4131_5 = _RAND_7[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_8 = {1{`RANDOM}};
+  _T_4131_6 = _RAND_8[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_9 = {1{`RANDOM}};
+  _T_4131_7 = _RAND_9[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_10 = {1{`RANDOM}};
+  _T_4131_8 = _RAND_10[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_11 = {1{`RANDOM}};
+  _T_4131_9 = _RAND_11[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_12 = {1{`RANDOM}};
+  _T_4131_10 = _RAND_12[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_13 = {1{`RANDOM}};
+  _T_4131_11 = _RAND_13[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_14 = {1{`RANDOM}};
+  _T_4131_12 = _RAND_14[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      _T_3833 <= 10'h0;
+    end else begin
+      if (_T_3835) begin
+        _T_3833 <= _T_4076;
+      end else begin
+        _T_3833 <= _T_4080;
+      end
+    end
+    if (reset) begin
+      _T_3855 <= 13'h1fff;
+    end else begin
+      if (_T_3876) begin
+        _T_3855 <= _T_3889;
+      end
+    end
+    if (reset) begin
+      _T_4131_0 <= 1'h0;
+    end else begin
+      if (_T_3834) begin
+        _T_4131_0 <= _T_3924;
+      end
+    end
+    if (reset) begin
+      _T_4131_1 <= 1'h0;
+    end else begin
+      if (_T_3834) begin
+        _T_4131_1 <= _T_3925;
+      end
+    end
+    if (reset) begin
+      _T_4131_2 <= 1'h0;
+    end else begin
+      if (_T_3834) begin
+        _T_4131_2 <= _T_3926;
+      end
+    end
+    if (reset) begin
+      _T_4131_3 <= 1'h0;
+    end else begin
+      if (_T_3834) begin
+        _T_4131_3 <= _T_3927;
+      end
+    end
+    if (reset) begin
+      _T_4131_4 <= 1'h0;
+    end else begin
+      if (_T_3834) begin
+        _T_4131_4 <= _T_3928;
+      end
+    end
+    if (reset) begin
+      _T_4131_5 <= 1'h0;
+    end else begin
+      if (_T_3834) begin
+        _T_4131_5 <= _T_3929;
+      end
+    end
+    if (reset) begin
+      _T_4131_6 <= 1'h0;
+    end else begin
+      if (_T_3834) begin
+        _T_4131_6 <= _T_3930;
+      end
+    end
+    if (reset) begin
+      _T_4131_7 <= 1'h0;
+    end else begin
+      if (_T_3834) begin
+        _T_4131_7 <= _T_3931;
+      end
+    end
+    if (reset) begin
+      _T_4131_8 <= 1'h0;
+    end else begin
+      if (_T_3834) begin
+        _T_4131_8 <= _T_3932;
+      end
+    end
+    if (reset) begin
+      _T_4131_9 <= 1'h0;
+    end else begin
+      if (_T_3834) begin
+        _T_4131_9 <= _T_3933;
+      end
+    end
+    if (reset) begin
+      _T_4131_10 <= 1'h0;
+    end else begin
+      if (_T_3834) begin
+        _T_4131_10 <= _T_3934;
+      end
+    end
+    if (reset) begin
+      _T_4131_11 <= 1'h0;
+    end else begin
+      if (_T_3834) begin
+        _T_4131_11 <= _T_3935;
+      end
+    end
+    if (reset) begin
+      _T_4131_12 <= 1'h0;
+    end else begin
+      if (_T_3834) begin
+        _T_4131_12 <= _T_3936;
+      end
+    end
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_3852) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at Arbiter.scala:19 assert (valid === valids)\n"); // @[Arbiter.scala 19:12:shc.marmotcaravel.MarmotCaravelConfig.fir@50342.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_3852) begin
+          $fatal; // @[Arbiter.scala 19:12:shc.marmotcaravel.MarmotCaravelConfig.fir@50343.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_4022) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at Arbiter.scala:68 assert((prefixOR zip winner) map { case (p,w) => !p || !w } reduce {_ && _})\n"); // @[Arbiter.scala 68:13:shc.marmotcaravel.MarmotCaravelConfig.fir@50510.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_4022) begin
+          $fatal; // @[Arbiter.scala 68:13:shc.marmotcaravel.MarmotCaravelConfig.fir@50511.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_4051) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at Arbiter.scala:70 assert (!valids.reduce(_||_) || winner.reduce(_||_))\n"); // @[Arbiter.scala 70:14:shc.marmotcaravel.MarmotCaravelConfig.fir@50543.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_4051) begin
+          $fatal; // @[Arbiter.scala 70:14:shc.marmotcaravel.MarmotCaravelConfig.fir@50544.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+endmodule
+module TLMonitor_28( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@50807.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@50808.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@50809.4]
+  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@50810.4]
+  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@50810.4]
+  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@50810.4]
+  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@50810.4]
+  input  [3:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@50810.4]
+  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@50810.4]
+  input  [29:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@50810.4]
+  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@50810.4]
+  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@50810.4]
+  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@50810.4]
+  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@50810.4]
+  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@50810.4]
+  input  [1:0]  io_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@50810.4]
+  input  [3:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@50810.4]
+  input         io_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@50810.4]
+  input         io_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@50810.4]
+  input         io_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@50810.4]
+  input         io_in_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@50810.4]
+);
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@52312.4]
+  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@50826.6]
+  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@50831.6]
+  wire [26:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@50833.6]
+  wire [11:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@50834.6]
+  wire [11:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@50835.6]
+  wire [29:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@50836.6]
+  wire [29:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@50836.6]
+  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@50837.6]
+  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@50839.6]
+  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@50840.6]
+  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@50842.6]
+  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@50843.6]
+  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@50844.6]
+  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@50845.6]
+  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@50846.6]
+  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@50848.6]
+  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@50849.6]
+  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@50851.6]
+  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@50852.6]
+  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@50853.6]
+  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@50854.6]
+  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@50855.6]
+  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@50856.6]
+  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@50857.6]
+  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@50858.6]
+  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@50859.6]
+  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@50860.6]
+  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@50861.6]
+  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@50862.6]
+  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@50863.6]
+  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@50864.6]
+  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@50865.6]
+  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@50866.6]
+  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@50867.6]
+  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@50868.6]
+  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@50869.6]
+  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@50870.6]
+  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@50895.6]
+  wire [29:0] _T_92; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@50898.8]
+  wire [30:0] _T_93; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@50899.8]
+  wire [30:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50900.8]
+  wire [30:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50901.8]
+  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@50902.8]
+  wire [29:0] _T_97; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@50903.8]
+  wire [30:0] _T_98; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@50904.8]
+  wire [30:0] _T_99; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50905.8]
+  wire [30:0] _T_100; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50906.8]
+  wire  _T_101; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@50907.8]
+  wire [29:0] _T_102; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@50908.8]
+  wire [30:0] _T_103; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@50909.8]
+  wire [30:0] _T_104; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50910.8]
+  wire [30:0] _T_105; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50911.8]
+  wire  _T_106; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@50912.8]
+  wire [29:0] _T_107; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@50913.8]
+  wire [30:0] _T_108; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@50914.8]
+  wire [30:0] _T_109; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50915.8]
+  wire [30:0] _T_110; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50916.8]
+  wire  _T_111; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@50917.8]
+  wire [29:0] _T_112; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@50918.8]
+  wire [30:0] _T_113; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@50919.8]
+  wire [30:0] _T_114; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50920.8]
+  wire [30:0] _T_115; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50921.8]
+  wire  _T_116; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@50922.8]
+  wire [29:0] _T_117; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@50923.8]
+  wire [30:0] _T_118; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@50924.8]
+  wire [30:0] _T_119; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50925.8]
+  wire [30:0] _T_120; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50926.8]
+  wire  _T_121; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@50927.8]
+  wire [29:0] _T_122; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@50928.8]
+  wire [30:0] _T_123; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@50929.8]
+  wire [30:0] _T_124; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50930.8]
+  wire [30:0] _T_125; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50931.8]
+  wire  _T_126; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@50932.8]
+  wire [29:0] _T_127; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@50933.8]
+  wire [30:0] _T_128; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@50934.8]
+  wire [30:0] _T_129; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50935.8]
+  wire [30:0] _T_130; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50936.8]
+  wire  _T_131; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@50937.8]
+  wire  _T_143; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@50949.8]
+  wire  _T_148; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@50962.8]
+  wire  _T_149; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@50963.8]
+  wire  _T_152; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@50970.8]
+  wire  _T_153; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@50971.8]
+  wire  _T_155; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@50977.8]
+  wire  _T_156; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@50978.8]
+  wire  _T_157; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@50983.8]
+  wire  _T_159; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@50985.8]
+  wire  _T_160; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@50986.8]
+  wire [3:0] _T_161; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@50991.8]
+  wire  _T_162; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@50992.8]
+  wire  _T_164; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@50994.8]
+  wire  _T_165; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@50995.8]
+  wire  _T_166; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@51000.8]
+  wire  _T_168; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51002.8]
+  wire  _T_169; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51003.8]
+  wire  _T_170; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@51009.6]
+  wire  _T_241; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@51105.8]
+  wire  _T_243; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51107.8]
+  wire  _T_244; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51108.8]
+  wire  _T_254; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@51131.6]
+  wire  _T_256; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@51134.8]
+  wire  _T_264; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@51142.8]
+  wire  _T_266; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@51144.8]
+  wire  _T_304; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@51182.8]
+  wire  _T_305; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@51183.8]
+  wire  _T_306; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@51184.8]
+  wire  _T_307; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@51185.8]
+  wire  _T_308; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@51186.8]
+  wire  _T_309; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@51187.8]
+  wire  _T_310; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@51188.8]
+  wire  _T_312; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@51190.8]
+  wire  _T_314; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51192.8]
+  wire  _T_315; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51193.8]
+  wire  _T_322; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@51212.8]
+  wire  _T_324; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51214.8]
+  wire  _T_325; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51215.8]
+  wire  _T_326; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@51220.8]
+  wire  _T_328; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51222.8]
+  wire  _T_329; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51223.8]
+  wire  _T_334; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@51237.6]
+  wire  _T_382; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@51286.8]
+  wire  _T_383; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@51287.8]
+  wire  _T_384; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@51288.8]
+  wire  _T_393; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@51297.8]
+  wire  _T_396; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51300.8]
+  wire  _T_397; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51301.8]
+  wire  _T_412; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@51337.6]
+  wire [3:0] _T_486; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@51428.8]
+  wire [3:0] _T_487; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@51429.8]
+  wire  _T_488; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@51430.8]
+  wire  _T_490; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51432.8]
+  wire  _T_491; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51433.8]
+  wire  _T_492; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@51439.6]
+  wire  _T_494; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@51442.8]
+  wire  _T_502; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@51450.8]
+  wire  _T_549; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51497.8]
+  wire  _T_550; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51498.8]
+  wire  _T_557; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@51517.8]
+  wire  _T_559; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51519.8]
+  wire  _T_560; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51520.8]
+  wire  _T_565; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@51534.6]
+  wire  _T_630; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@51612.8]
+  wire  _T_632; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51614.8]
+  wire  _T_633; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51615.8]
+  wire  _T_638; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@51629.6]
+  wire  _T_695; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51687.8]
+  wire  _T_696; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51688.8]
+  wire  _T_711; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@51726.6]
+  wire  _T_713; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@51728.6]
+  wire  _T_714; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@51729.6]
+  wire  _T_716; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@51735.6]
+  wire  _T_725; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@51740.6]
+  wire  _T_727; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@51742.6]
+  wire  _T_729; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51745.8]
+  wire  _T_730; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51746.8]
+  wire  _T_731; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@51751.8]
+  wire  _T_733; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51753.8]
+  wire  _T_734; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51754.8]
+  wire  _T_735; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@51759.8]
+  wire  _T_737; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51761.8]
+  wire  _T_738; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51762.8]
+  wire  _T_739; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@51767.8]
+  wire  _T_741; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51769.8]
+  wire  _T_742; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51770.8]
+  wire  _T_743; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@51775.8]
+  wire  _T_745; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51777.8]
+  wire  _T_746; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51778.8]
+  wire  _T_747; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@51784.6]
+  wire  _T_758; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@51808.8]
+  wire  _T_760; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51810.8]
+  wire  _T_761; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51811.8]
+  wire  _T_762; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@51816.8]
+  wire  _T_764; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51818.8]
+  wire  _T_765; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51819.8]
+  wire  _T_775; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@51842.6]
+  wire  _T_795; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@51883.8]
+  wire  _T_797; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51885.8]
+  wire  _T_798; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51886.8]
+  wire  _T_804; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@51901.6]
+  wire  _T_821; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@51936.6]
+  wire  _T_839; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@51972.6]
+  wire  _T_868; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@52032.4]
+  wire [9:0] _T_873; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@52037.4]
+  wire  _T_874; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@52038.4]
+  wire  _T_875; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@52039.4]
+  reg [9:0] _T_878; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@52041.4]
+  reg [31:0] _RAND_0;
+  wire [10:0] _T_879; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@52042.4]
+  wire [10:0] _T_880; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@52043.4]
+  wire [9:0] _T_881; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@52044.4]
+  wire  _T_882; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@52045.4]
+  reg [2:0] _T_891; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@52056.4]
+  reg [31:0] _RAND_1;
+  reg [2:0] _T_893; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@52057.4]
+  reg [31:0] _RAND_2;
+  reg [3:0] _T_895; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@52058.4]
+  reg [31:0] _RAND_3;
+  reg  _T_897; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@52059.4]
+  reg [31:0] _RAND_4;
+  reg [29:0] _T_899; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@52060.4]
+  reg [31:0] _RAND_5;
+  wire  _T_900; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@52061.4]
+  wire  _T_901; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@52062.4]
+  wire  _T_902; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@52064.6]
+  wire  _T_904; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52066.6]
+  wire  _T_905; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52067.6]
+  wire  _T_906; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@52072.6]
+  wire  _T_908; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52074.6]
+  wire  _T_909; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52075.6]
+  wire  _T_910; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@52080.6]
+  wire  _T_912; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52082.6]
+  wire  _T_913; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52083.6]
+  wire  _T_914; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@52088.6]
+  wire  _T_916; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52090.6]
+  wire  _T_917; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52091.6]
+  wire  _T_918; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@52096.6]
+  wire  _T_920; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52098.6]
+  wire  _T_921; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52099.6]
+  wire  _T_923; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@52106.4]
+  wire  _T_924; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@52114.4]
+  wire [26:0] _T_926; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@52116.4]
+  wire [11:0] _T_927; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@52117.4]
+  wire [11:0] _T_928; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@52118.4]
+  wire [9:0] _T_929; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@52119.4]
+  wire  _T_930; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@52120.4]
+  reg [9:0] _T_933; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@52122.4]
+  reg [31:0] _RAND_6;
+  wire [10:0] _T_934; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@52123.4]
+  wire [10:0] _T_935; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@52124.4]
+  wire [9:0] _T_936; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@52125.4]
+  wire  _T_937; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@52126.4]
+  reg [2:0] _T_946; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@52137.4]
+  reg [31:0] _RAND_7;
+  reg [1:0] _T_948; // @[Monitor.scala 419:22:shc.marmotcaravel.MarmotCaravelConfig.fir@52138.4]
+  reg [31:0] _RAND_8;
+  reg [3:0] _T_950; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@52139.4]
+  reg [31:0] _RAND_9;
+  reg  _T_952; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@52140.4]
+  reg [31:0] _RAND_10;
+  reg  _T_954; // @[Monitor.scala 422:22:shc.marmotcaravel.MarmotCaravelConfig.fir@52141.4]
+  reg [31:0] _RAND_11;
+  reg  _T_956; // @[Monitor.scala 423:22:shc.marmotcaravel.MarmotCaravelConfig.fir@52142.4]
+  reg [31:0] _RAND_12;
+  wire  _T_957; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@52143.4]
+  wire  _T_958; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@52144.4]
+  wire  _T_959; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@52146.6]
+  wire  _T_961; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52148.6]
+  wire  _T_962; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52149.6]
+  wire  _T_963; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@52154.6]
+  wire  _T_965; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52156.6]
+  wire  _T_966; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52157.6]
+  wire  _T_967; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@52162.6]
+  wire  _T_969; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52164.6]
+  wire  _T_970; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52165.6]
+  wire  _T_971; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@52170.6]
+  wire  _T_973; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52172.6]
+  wire  _T_974; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52173.6]
+  wire  _T_975; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@52178.6]
+  wire  _T_977; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52180.6]
+  wire  _T_978; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52181.6]
+  wire  _T_979; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@52186.6]
+  wire  _T_981; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52188.6]
+  wire  _T_982; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52189.6]
+  wire  _T_984; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@52196.4]
+  reg [1:0] _T_986; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@52205.4]
+  reg [31:0] _RAND_13;
+  reg [9:0] _T_997; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@52215.4]
+  reg [31:0] _RAND_14;
+  wire [10:0] _T_998; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@52216.4]
+  wire [10:0] _T_999; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@52217.4]
+  wire [9:0] _T_1000; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@52218.4]
+  wire  _T_1001; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@52219.4]
+  reg [9:0] _T_1018; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@52238.4]
+  reg [31:0] _RAND_15;
+  wire [10:0] _T_1019; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@52239.4]
+  wire [10:0] _T_1020; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@52240.4]
+  wire [9:0] _T_1021; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@52241.4]
+  wire  _T_1022; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@52242.4]
+  wire  _T_1033; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@52257.4]
+  wire [1:0] _T_1035; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@52260.6]
+  wire [1:0] _T_1036; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@52262.6]
+  wire  _T_1037; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@52263.6]
+  wire  _T_1038; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52264.6]
+  wire  _T_1040; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@52266.6]
+  wire  _T_1041; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@52267.6]
+  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@52259.4]
+  wire  _T_1046; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@52278.4]
+  wire  _T_1048; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@52280.4]
+  wire  _T_1049; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@52281.4]
+  wire [1:0] _T_1050; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@52283.6]
+  wire [1:0] _T_1051; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52285.6]
+  wire [1:0] _T_1052; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@52286.6]
+  wire  _T_1053; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@52287.6]
+  wire  _T_1055; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@52289.6]
+  wire  _T_1056; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@52290.6]
+  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@52282.4]
+  wire  _T_1057; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@52296.4]
+  wire  _T_1058; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@52297.4]
+  wire  _T_1059; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@52298.4]
+  wire  _T_1060; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@52299.4]
+  wire  _T_1062; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@52301.4]
+  wire  _T_1063; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@52302.4]
+  wire [1:0] _T_1064; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@52307.4]
+  wire [1:0] _T_1065; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@52308.4]
+  wire [1:0] _T_1066; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@52309.4]
+  reg [31:0] _T_1068; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@52311.4]
+  reg [31:0] _RAND_16;
+  wire  _T_1069; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@52314.4]
+  wire  _T_1070; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@52315.4]
+  wire  _T_1071; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@52316.4]
+  wire  _T_1072; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@52317.4]
+  wire  _T_1073; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@52318.4]
+  wire  _T_1074; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@52319.4]
+  wire  _T_1076; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@52321.4]
+  wire  _T_1077; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@52322.4]
+  wire [31:0] _T_1079; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@52328.4]
+  wire  _T_1082; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@52332.4]
+  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@50951.10]
+  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51065.10]
+  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51195.10]
+  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51303.10]
+  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51403.10]
+  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51500.10]
+  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51595.10]
+  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51690.10]
+  wire  _GEN_115; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51748.10]
+  wire  _GEN_125; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51790.10]
+  wire  _GEN_137; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51848.10]
+  wire  _GEN_149; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51907.10]
+  wire  _GEN_155; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51942.10]
+  wire  _GEN_161; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51978.10]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@52312.4]
+    .out(plusarg_reader_out)
+  );
+  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@50826.6]
+  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@50831.6]
+  assign _T_32 = 27'hfff << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@50833.6]
+  assign _T_33 = _T_32[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@50834.6]
+  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@50835.6]
+  assign _GEN_18 = {{18'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@50836.6]
+  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@50836.6]
+  assign _T_36 = _T_35 == 30'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@50837.6]
+  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@50839.6]
+  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@50840.6]
+  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@50842.6]
+  assign _T_42 = io_in_a_bits_size >= 4'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@50843.6]
+  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@50844.6]
+  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@50845.6]
+  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@50846.6]
+  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@50848.6]
+  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@50849.6]
+  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@50851.6]
+  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@50852.6]
+  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@50853.6]
+  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@50854.6]
+  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@50855.6]
+  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@50856.6]
+  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@50857.6]
+  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@50858.6]
+  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@50859.6]
+  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@50860.6]
+  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@50861.6]
+  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@50862.6]
+  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@50863.6]
+  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@50864.6]
+  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@50865.6]
+  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@50866.6]
+  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@50867.6]
+  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@50868.6]
+  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@50869.6]
+  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@50870.6]
+  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@50895.6]
+  assign _T_92 = io_in_a_bits_address ^ 30'h3000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@50898.8]
+  assign _T_93 = {1'b0,$signed(_T_92)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@50899.8]
+  assign _T_94 = $signed(_T_93) & $signed(-31'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50900.8]
+  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50901.8]
+  assign _T_96 = $signed(_T_95) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@50902.8]
+  assign _T_97 = io_in_a_bits_address ^ 30'h10013000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@50903.8]
+  assign _T_98 = {1'b0,$signed(_T_97)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@50904.8]
+  assign _T_99 = $signed(_T_98) & $signed(-31'sh21000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50905.8]
+  assign _T_100 = $signed(_T_99); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50906.8]
+  assign _T_101 = $signed(_T_100) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@50907.8]
+  assign _T_102 = io_in_a_bits_address ^ 30'h10023000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@50908.8]
+  assign _T_103 = {1'b0,$signed(_T_102)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@50909.8]
+  assign _T_104 = $signed(_T_103) & $signed(-31'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50910.8]
+  assign _T_105 = $signed(_T_104); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50911.8]
+  assign _T_106 = $signed(_T_105) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@50912.8]
+  assign _T_107 = io_in_a_bits_address ^ 30'h10043000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@50913.8]
+  assign _T_108 = {1'b0,$signed(_T_107)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@50914.8]
+  assign _T_109 = $signed(_T_108) & $signed(-31'sh11000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50915.8]
+  assign _T_110 = $signed(_T_109); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50916.8]
+  assign _T_111 = $signed(_T_110) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@50917.8]
+  assign _T_112 = io_in_a_bits_address ^ 30'h10014000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@50918.8]
+  assign _T_113 = {1'b0,$signed(_T_112)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@50919.8]
+  assign _T_114 = $signed(_T_113) & $signed(-31'sh21000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50920.8]
+  assign _T_115 = $signed(_T_114); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50921.8]
+  assign _T_116 = $signed(_T_115) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@50922.8]
+  assign _T_117 = io_in_a_bits_address ^ 30'h20000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@50923.8]
+  assign _T_118 = {1'b0,$signed(_T_117)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@50924.8]
+  assign _T_119 = $signed(_T_118) & $signed(-31'sh20000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50925.8]
+  assign _T_120 = $signed(_T_119); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50926.8]
+  assign _T_121 = $signed(_T_120) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@50927.8]
+  assign _T_122 = io_in_a_bits_address ^ 30'h10024000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@50928.8]
+  assign _T_123 = {1'b0,$signed(_T_122)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@50929.8]
+  assign _T_124 = $signed(_T_123) & $signed(-31'sh3000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50930.8]
+  assign _T_125 = $signed(_T_124); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50931.8]
+  assign _T_126 = $signed(_T_125) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@50932.8]
+  assign _T_127 = io_in_a_bits_address ^ 30'h10012000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@50933.8]
+  assign _T_128 = {1'b0,$signed(_T_127)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@50934.8]
+  assign _T_129 = $signed(_T_128) & $signed(-31'sh5000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50935.8]
+  assign _T_130 = $signed(_T_129); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50936.8]
+  assign _T_131 = $signed(_T_130) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@50937.8]
+  assign _T_143 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@50949.8]
+  assign _T_148 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@50962.8]
+  assign _T_149 = _T_148 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@50963.8]
+  assign _T_152 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@50970.8]
+  assign _T_153 = _T_152 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@50971.8]
+  assign _T_155 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@50977.8]
+  assign _T_156 = _T_155 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@50978.8]
+  assign _T_157 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@50983.8]
+  assign _T_159 = _T_157 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@50985.8]
+  assign _T_160 = _T_159 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@50986.8]
+  assign _T_161 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@50991.8]
+  assign _T_162 = _T_161 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@50992.8]
+  assign _T_164 = _T_162 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@50994.8]
+  assign _T_165 = _T_164 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@50995.8]
+  assign _T_166 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@51000.8]
+  assign _T_168 = _T_166 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51002.8]
+  assign _T_169 = _T_168 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51003.8]
+  assign _T_170 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@51009.6]
+  assign _T_241 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@51105.8]
+  assign _T_243 = _T_241 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51107.8]
+  assign _T_244 = _T_243 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51108.8]
+  assign _T_254 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@51131.6]
+  assign _T_256 = io_in_a_bits_size <= 4'hc; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@51134.8]
+  assign _T_264 = _T_256 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@51142.8]
+  assign _T_266 = io_in_a_bits_size <= 4'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@51144.8]
+  assign _T_304 = _T_101 | _T_106; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@51182.8]
+  assign _T_305 = _T_304 | _T_111; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@51183.8]
+  assign _T_306 = _T_305 | _T_116; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@51184.8]
+  assign _T_307 = _T_306 | _T_121; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@51185.8]
+  assign _T_308 = _T_307 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@51186.8]
+  assign _T_309 = _T_308 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@51187.8]
+  assign _T_310 = _T_266 & _T_309; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@51188.8]
+  assign _T_312 = _T_264 | _T_310; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@51190.8]
+  assign _T_314 = _T_312 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51192.8]
+  assign _T_315 = _T_314 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51193.8]
+  assign _T_322 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@51212.8]
+  assign _T_324 = _T_322 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51214.8]
+  assign _T_325 = _T_324 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51215.8]
+  assign _T_326 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@51220.8]
+  assign _T_328 = _T_326 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51222.8]
+  assign _T_329 = _T_328 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51223.8]
+  assign _T_334 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@51237.6]
+  assign _T_382 = _T_306 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@51286.8]
+  assign _T_383 = _T_382 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@51287.8]
+  assign _T_384 = _T_266 & _T_383; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@51288.8]
+  assign _T_393 = _T_264 | _T_384; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@51297.8]
+  assign _T_396 = _T_393 | reset; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51300.8]
+  assign _T_397 = _T_396 == 1'h0; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51301.8]
+  assign _T_412 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@51337.6]
+  assign _T_486 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@51428.8]
+  assign _T_487 = io_in_a_bits_mask & _T_486; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@51429.8]
+  assign _T_488 = _T_487 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@51430.8]
+  assign _T_490 = _T_488 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51432.8]
+  assign _T_491 = _T_490 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51433.8]
+  assign _T_492 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@51439.6]
+  assign _T_494 = io_in_a_bits_size <= 4'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@51442.8]
+  assign _T_502 = _T_494 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@51450.8]
+  assign _T_549 = _T_502 | reset; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51497.8]
+  assign _T_550 = _T_549 == 1'h0; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51498.8]
+  assign _T_557 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@51517.8]
+  assign _T_559 = _T_557 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51519.8]
+  assign _T_560 = _T_559 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51520.8]
+  assign _T_565 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@51534.6]
+  assign _T_630 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@51612.8]
+  assign _T_632 = _T_630 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51614.8]
+  assign _T_633 = _T_632 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51615.8]
+  assign _T_638 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@51629.6]
+  assign _T_695 = _T_264 | reset; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51687.8]
+  assign _T_696 = _T_695 == 1'h0; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51688.8]
+  assign _T_711 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@51726.6]
+  assign _T_713 = _T_711 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@51728.6]
+  assign _T_714 = _T_713 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@51729.6]
+  assign _T_716 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@51735.6]
+  assign _T_725 = io_in_d_bits_source | _T_716; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@51740.6]
+  assign _T_727 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@51742.6]
+  assign _T_729 = _T_725 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51745.8]
+  assign _T_730 = _T_729 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51746.8]
+  assign _T_731 = io_in_d_bits_size >= 4'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@51751.8]
+  assign _T_733 = _T_731 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51753.8]
+  assign _T_734 = _T_733 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51754.8]
+  assign _T_735 = io_in_d_bits_param == 2'h0; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@51759.8]
+  assign _T_737 = _T_735 | reset; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51761.8]
+  assign _T_738 = _T_737 == 1'h0; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51762.8]
+  assign _T_739 = io_in_d_bits_corrupt == 1'h0; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@51767.8]
+  assign _T_741 = _T_739 | reset; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51769.8]
+  assign _T_742 = _T_741 == 1'h0; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51770.8]
+  assign _T_743 = io_in_d_bits_denied == 1'h0; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@51775.8]
+  assign _T_745 = _T_743 | reset; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51777.8]
+  assign _T_746 = _T_745 == 1'h0; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51778.8]
+  assign _T_747 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@51784.6]
+  assign _T_758 = io_in_d_bits_param <= 2'h2; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@51808.8]
+  assign _T_760 = _T_758 | reset; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51810.8]
+  assign _T_761 = _T_760 == 1'h0; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51811.8]
+  assign _T_762 = io_in_d_bits_param != 2'h2; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@51816.8]
+  assign _T_764 = _T_762 | reset; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51818.8]
+  assign _T_765 = _T_764 == 1'h0; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51819.8]
+  assign _T_775 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@51842.6]
+  assign _T_795 = _T_743 | io_in_d_bits_corrupt; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@51883.8]
+  assign _T_797 = _T_795 | reset; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51885.8]
+  assign _T_798 = _T_797 == 1'h0; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51886.8]
+  assign _T_804 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@51901.6]
+  assign _T_821 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@51936.6]
+  assign _T_839 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@51972.6]
+  assign _T_868 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@52032.4]
+  assign _T_873 = _T_34[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@52037.4]
+  assign _T_874 = io_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@52038.4]
+  assign _T_875 = _T_874 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@52039.4]
+  assign _T_879 = _T_878 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@52042.4]
+  assign _T_880 = $unsigned(_T_879); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@52043.4]
+  assign _T_881 = _T_880[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@52044.4]
+  assign _T_882 = _T_878 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@52045.4]
+  assign _T_900 = _T_882 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@52061.4]
+  assign _T_901 = io_in_a_valid & _T_900; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@52062.4]
+  assign _T_902 = io_in_a_bits_opcode == _T_891; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@52064.6]
+  assign _T_904 = _T_902 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52066.6]
+  assign _T_905 = _T_904 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52067.6]
+  assign _T_906 = io_in_a_bits_param == _T_893; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@52072.6]
+  assign _T_908 = _T_906 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52074.6]
+  assign _T_909 = _T_908 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52075.6]
+  assign _T_910 = io_in_a_bits_size == _T_895; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@52080.6]
+  assign _T_912 = _T_910 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52082.6]
+  assign _T_913 = _T_912 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52083.6]
+  assign _T_914 = io_in_a_bits_source == _T_897; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@52088.6]
+  assign _T_916 = _T_914 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52090.6]
+  assign _T_917 = _T_916 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52091.6]
+  assign _T_918 = io_in_a_bits_address == _T_899; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@52096.6]
+  assign _T_920 = _T_918 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52098.6]
+  assign _T_921 = _T_920 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52099.6]
+  assign _T_923 = _T_868 & _T_882; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@52106.4]
+  assign _T_924 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@52114.4]
+  assign _T_926 = 27'hfff << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@52116.4]
+  assign _T_927 = _T_926[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@52117.4]
+  assign _T_928 = ~ _T_927; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@52118.4]
+  assign _T_929 = _T_928[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@52119.4]
+  assign _T_930 = io_in_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@52120.4]
+  assign _T_934 = _T_933 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@52123.4]
+  assign _T_935 = $unsigned(_T_934); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@52124.4]
+  assign _T_936 = _T_935[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@52125.4]
+  assign _T_937 = _T_933 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@52126.4]
+  assign _T_957 = _T_937 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@52143.4]
+  assign _T_958 = io_in_d_valid & _T_957; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@52144.4]
+  assign _T_959 = io_in_d_bits_opcode == _T_946; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@52146.6]
+  assign _T_961 = _T_959 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52148.6]
+  assign _T_962 = _T_961 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52149.6]
+  assign _T_963 = io_in_d_bits_param == _T_948; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@52154.6]
+  assign _T_965 = _T_963 | reset; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52156.6]
+  assign _T_966 = _T_965 == 1'h0; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52157.6]
+  assign _T_967 = io_in_d_bits_size == _T_950; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@52162.6]
+  assign _T_969 = _T_967 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52164.6]
+  assign _T_970 = _T_969 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52165.6]
+  assign _T_971 = io_in_d_bits_source == _T_952; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@52170.6]
+  assign _T_973 = _T_971 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52172.6]
+  assign _T_974 = _T_973 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52173.6]
+  assign _T_975 = io_in_d_bits_sink == _T_954; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@52178.6]
+  assign _T_977 = _T_975 | reset; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52180.6]
+  assign _T_978 = _T_977 == 1'h0; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52181.6]
+  assign _T_979 = io_in_d_bits_denied == _T_956; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@52186.6]
+  assign _T_981 = _T_979 | reset; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52188.6]
+  assign _T_982 = _T_981 == 1'h0; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52189.6]
+  assign _T_984 = _T_924 & _T_937; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@52196.4]
+  assign _T_998 = _T_997 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@52216.4]
+  assign _T_999 = $unsigned(_T_998); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@52217.4]
+  assign _T_1000 = _T_999[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@52218.4]
+  assign _T_1001 = _T_997 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@52219.4]
+  assign _T_1019 = _T_1018 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@52239.4]
+  assign _T_1020 = $unsigned(_T_1019); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@52240.4]
+  assign _T_1021 = _T_1020[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@52241.4]
+  assign _T_1022 = _T_1018 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@52242.4]
+  assign _T_1033 = _T_868 & _T_1001; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@52257.4]
+  assign _T_1035 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@52260.6]
+  assign _T_1036 = _T_986 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@52262.6]
+  assign _T_1037 = _T_1036[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@52263.6]
+  assign _T_1038 = _T_1037 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52264.6]
+  assign _T_1040 = _T_1038 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@52266.6]
+  assign _T_1041 = _T_1040 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@52267.6]
+  assign _GEN_15 = _T_1033 ? _T_1035 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@52259.4]
+  assign _T_1046 = _T_924 & _T_1022; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@52278.4]
+  assign _T_1048 = _T_727 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@52280.4]
+  assign _T_1049 = _T_1046 & _T_1048; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@52281.4]
+  assign _T_1050 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@52283.6]
+  assign _T_1051 = _GEN_15 | _T_986; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52285.6]
+  assign _T_1052 = _T_1051 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@52286.6]
+  assign _T_1053 = _T_1052[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@52287.6]
+  assign _T_1055 = _T_1053 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@52289.6]
+  assign _T_1056 = _T_1055 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@52290.6]
+  assign _GEN_16 = _T_1049 ? _T_1050 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@52282.4]
+  assign _T_1057 = _GEN_15 != _GEN_16; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@52296.4]
+  assign _T_1058 = _GEN_15 != 2'h0; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@52297.4]
+  assign _T_1059 = _T_1058 == 1'h0; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@52298.4]
+  assign _T_1060 = _T_1057 | _T_1059; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@52299.4]
+  assign _T_1062 = _T_1060 | reset; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@52301.4]
+  assign _T_1063 = _T_1062 == 1'h0; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@52302.4]
+  assign _T_1064 = _T_986 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@52307.4]
+  assign _T_1065 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@52308.4]
+  assign _T_1066 = _T_1064 & _T_1065; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@52309.4]
+  assign _T_1069 = _T_986 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@52314.4]
+  assign _T_1070 = _T_1069 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@52315.4]
+  assign _T_1071 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@52316.4]
+  assign _T_1072 = _T_1070 | _T_1071; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@52317.4]
+  assign _T_1073 = _T_1068 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@52318.4]
+  assign _T_1074 = _T_1072 | _T_1073; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@52319.4]
+  assign _T_1076 = _T_1074 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@52321.4]
+  assign _T_1077 = _T_1076 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@52322.4]
+  assign _T_1079 = _T_1068 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@52328.4]
+  assign _T_1082 = _T_868 | _T_924; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@52332.4]
+  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@50951.10]
+  assign _GEN_35 = io_in_a_valid & _T_170; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51065.10]
+  assign _GEN_53 = io_in_a_valid & _T_254; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51195.10]
+  assign _GEN_65 = io_in_a_valid & _T_334; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51303.10]
+  assign _GEN_75 = io_in_a_valid & _T_412; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51403.10]
+  assign _GEN_85 = io_in_a_valid & _T_492; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51500.10]
+  assign _GEN_95 = io_in_a_valid & _T_565; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51595.10]
+  assign _GEN_105 = io_in_a_valid & _T_638; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51690.10]
+  assign _GEN_115 = io_in_d_valid & _T_727; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51748.10]
+  assign _GEN_125 = io_in_d_valid & _T_747; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51790.10]
+  assign _GEN_137 = io_in_d_valid & _T_775; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51848.10]
+  assign _GEN_149 = io_in_d_valid & _T_804; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51907.10]
+  assign _GEN_155 = io_in_d_valid & _T_821; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51942.10]
+  assign _GEN_161 = io_in_d_valid & _T_839; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51978.10]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  _T_878 = _RAND_0[9:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  _T_891 = _RAND_1[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  _T_893 = _RAND_2[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  _T_895 = _RAND_3[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  _T_897 = _RAND_4[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  _T_899 = _RAND_5[29:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {1{`RANDOM}};
+  _T_933 = _RAND_6[9:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {1{`RANDOM}};
+  _T_946 = _RAND_7[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_8 = {1{`RANDOM}};
+  _T_948 = _RAND_8[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_9 = {1{`RANDOM}};
+  _T_950 = _RAND_9[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_10 = {1{`RANDOM}};
+  _T_952 = _RAND_10[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_11 = {1{`RANDOM}};
+  _T_954 = _RAND_11[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_12 = {1{`RANDOM}};
+  _T_956 = _RAND_12[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_13 = {1{`RANDOM}};
+  _T_986 = _RAND_13[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_14 = {1{`RANDOM}};
+  _T_997 = _RAND_14[9:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_15 = {1{`RANDOM}};
+  _T_1018 = _RAND_15[9:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_16 = {1{`RANDOM}};
+  _T_1068 = _RAND_16[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      _T_878 <= 10'h0;
+    end else begin
+      if (_T_868) begin
+        if (_T_882) begin
+          if (_T_875) begin
+            _T_878 <= _T_873;
+          end else begin
+            _T_878 <= 10'h0;
+          end
+        end else begin
+          _T_878 <= _T_881;
+        end
+      end
+    end
+    if (_T_923) begin
+      _T_891 <= io_in_a_bits_opcode;
+    end
+    if (_T_923) begin
+      _T_893 <= io_in_a_bits_param;
+    end
+    if (_T_923) begin
+      _T_895 <= io_in_a_bits_size;
+    end
+    if (_T_923) begin
+      _T_897 <= io_in_a_bits_source;
+    end
+    if (_T_923) begin
+      _T_899 <= io_in_a_bits_address;
+    end
+    if (reset) begin
+      _T_933 <= 10'h0;
+    end else begin
+      if (_T_924) begin
+        if (_T_937) begin
+          if (_T_930) begin
+            _T_933 <= _T_929;
+          end else begin
+            _T_933 <= 10'h0;
+          end
+        end else begin
+          _T_933 <= _T_936;
+        end
+      end
+    end
+    if (_T_984) begin
+      _T_946 <= io_in_d_bits_opcode;
+    end
+    if (_T_984) begin
+      _T_948 <= io_in_d_bits_param;
+    end
+    if (_T_984) begin
+      _T_950 <= io_in_d_bits_size;
+    end
+    if (_T_984) begin
+      _T_952 <= io_in_d_bits_source;
+    end
+    if (_T_984) begin
+      _T_954 <= io_in_d_bits_sink;
+    end
+    if (_T_984) begin
+      _T_956 <= io_in_d_bits_denied;
+    end
+    if (reset) begin
+      _T_986 <= 2'h0;
+    end else begin
+      _T_986 <= _T_1066;
+    end
+    if (reset) begin
+      _T_997 <= 10'h0;
+    end else begin
+      if (_T_868) begin
+        if (_T_1001) begin
+          if (_T_875) begin
+            _T_997 <= _T_873;
+          end else begin
+            _T_997 <= 10'h0;
+          end
+        end else begin
+          _T_997 <= _T_1000;
+        end
+      end
+    end
+    if (reset) begin
+      _T_1018 <= 10'h0;
+    end else begin
+      if (_T_924) begin
+        if (_T_1022) begin
+          if (_T_930) begin
+            _T_1018 <= _T_929;
+          end else begin
+            _T_1018 <= 10'h0;
+          end
+        end else begin
+          _T_1018 <= _T_1021;
+        end
+      end
+    end
+    if (reset) begin
+      _T_1068 <= 32'h0;
+    end else begin
+      if (_T_1082) begin
+        _T_1068 <= 32'h0;
+      end else begin
+        _T_1068 <= _T_1079;
+      end
+    end
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@50822.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@50823.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@50892.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@50893.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_143) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@50951.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_143) begin
+          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@50952.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_143) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@50958.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_143) begin
+          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@50959.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_149) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@50965.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_149) begin
+          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@50966.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_153) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@50973.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_153) begin
+          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@50974.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_156) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@50980.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_156) begin
+          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@50981.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_160) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@50988.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_160) begin
+          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@50989.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_165) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@50997.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_165) begin
+          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@50998.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_169) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51005.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_169) begin
+          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51006.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_143) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51065.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_143) begin
+          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51066.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_143) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51072.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_143) begin
+          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51073.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_149) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51079.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_149) begin
+          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51080.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_153) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51087.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_153) begin
+          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51088.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_156) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51094.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_156) begin
+          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51095.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_160) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51102.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_160) begin
+          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51103.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_244) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51110.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_244) begin
+          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51111.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_165) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51119.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_165) begin
+          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51120.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_169) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51127.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_169) begin
+          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51128.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_315) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51195.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_315) begin
+          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51196.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_149) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51202.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_149) begin
+          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51203.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_156) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51209.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_156) begin
+          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51210.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_325) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51217.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_325) begin
+          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51218.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_329) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51225.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_329) begin
+          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51226.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_169) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51233.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_169) begin
+          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51234.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_397) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51303.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_397) begin
+          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51304.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_149) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51310.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_149) begin
+          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51311.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_156) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51317.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_156) begin
+          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51318.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_325) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51325.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_325) begin
+          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51326.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_329) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51333.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_329) begin
+          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51334.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_397) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51403.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_397) begin
+          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51404.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_149) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51410.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_149) begin
+          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51411.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_156) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51417.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_156) begin
+          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51418.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_325) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51425.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_325) begin
+          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51426.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_491) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51435.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_491) begin
+          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51436.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_550) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51500.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_550) begin
+          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51501.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_149) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51507.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_149) begin
+          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51508.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_156) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51514.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_156) begin
+          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51515.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_560) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51522.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_560) begin
+          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51523.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_329) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51530.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_329) begin
+          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51531.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_550) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51595.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_550) begin
+          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51596.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_149) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51602.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_149) begin
+          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51603.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_156) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51609.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_156) begin
+          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51610.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_633) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51617.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_633) begin
+          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51618.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_329) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51625.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_329) begin
+          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51626.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_696) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51690.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_696) begin
+          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51691.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_149) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51697.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_149) begin
+          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51698.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_156) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51704.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_156) begin
+          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51705.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_329) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51712.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_329) begin
+          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51713.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_169) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51720.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_169) begin
+          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51721.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_714) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@51731.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_714) begin
+          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@51732.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_730) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51748.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_730) begin
+          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51749.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_734) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51756.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_734) begin
+          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51757.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_738) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51764.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_738) begin
+          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51765.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_742) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51772.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_742) begin
+          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51773.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_746) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51780.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_746) begin
+          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51781.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_730) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51790.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_730) begin
+          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51791.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_143) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51797.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_143) begin
+          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51798.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_734) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51805.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_734) begin
+          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51806.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_761) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51813.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_761) begin
+          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51814.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_765) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51821.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_765) begin
+          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51822.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_742) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51829.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_742) begin
+          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51830.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51838.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51839.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_137 & _T_730) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51848.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_137 & _T_730) begin
+          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51849.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_137 & _T_143) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51855.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_137 & _T_143) begin
+          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51856.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_137 & _T_734) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51863.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_137 & _T_734) begin
+          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51864.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_137 & _T_761) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51871.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_137 & _T_761) begin
+          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51872.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_137 & _T_765) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51879.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_137 & _T_765) begin
+          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51880.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_137 & _T_798) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51888.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_137 & _T_798) begin
+          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51889.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51897.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51898.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_149 & _T_730) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51907.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_149 & _T_730) begin
+          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51908.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_149 & _T_738) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51915.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_149 & _T_738) begin
+          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51916.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_149 & _T_742) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51923.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_149 & _T_742) begin
+          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51924.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51932.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51933.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_155 & _T_730) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51942.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_155 & _T_730) begin
+          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51943.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_155 & _T_738) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51950.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_155 & _T_738) begin
+          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51951.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_155 & _T_798) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51959.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_155 & _T_798) begin
+          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51960.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51968.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51969.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_161 & _T_730) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51978.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_161 & _T_730) begin
+          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51979.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_161 & _T_738) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51986.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_161 & _T_738) begin
+          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51987.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_161 & _T_742) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51994.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_161 & _T_742) begin
+          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51995.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52003.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52004.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52013.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52014.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52021.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52022.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52029.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52030.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_901 & _T_905) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52069.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_901 & _T_905) begin
+          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52070.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_901 & _T_909) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52077.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_901 & _T_909) begin
+          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52078.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_901 & _T_913) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52085.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_901 & _T_913) begin
+          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52086.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_901 & _T_917) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52093.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_901 & _T_917) begin
+          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52094.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_901 & _T_921) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52101.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_901 & _T_921) begin
+          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52102.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_958 & _T_962) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52151.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_958 & _T_962) begin
+          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52152.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_958 & _T_966) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52159.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_958 & _T_966) begin
+          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52160.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_958 & _T_970) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52167.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_958 & _T_970) begin
+          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52168.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_958 & _T_974) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52175.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_958 & _T_974) begin
+          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52176.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_958 & _T_978) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52183.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_958 & _T_978) begin
+          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52184.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_958 & _T_982) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52191.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_958 & _T_982) begin
+          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52192.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1033 & _T_1041) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@52269.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1033 & _T_1041) begin
+          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@52270.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1049 & _T_1056) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@52292.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1049 & _T_1056) begin
+          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@52293.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1063) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' and 'D' concurrent, despite minlatency 2 (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:471 assert(a_set =/= d_clr || !a_set.orR, s\"'A' and 'D' concurrent, despite minlatency ${edge.manager.minLatency}\" + extra)\n"); // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@52304.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1063) begin
+          $fatal; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@52305.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1077) begin
+          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@52324.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1077) begin
+          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@52325.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+endmodule
+module Queue_2( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52337.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52338.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52339.4]
+  output        io_enq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52340.4]
+  input         io_enq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52340.4]
+  input  [2:0]  io_enq_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52340.4]
+  input  [2:0]  io_enq_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52340.4]
+  input  [3:0]  io_enq_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52340.4]
+  input         io_enq_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52340.4]
+  input  [29:0] io_enq_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52340.4]
+  input  [3:0]  io_enq_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52340.4]
+  input  [31:0] io_enq_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52340.4]
+  input         io_enq_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52340.4]
+  input         io_deq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52340.4]
+  output        io_deq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52340.4]
+  output [2:0]  io_deq_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52340.4]
+  output [2:0]  io_deq_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52340.4]
+  output [3:0]  io_deq_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52340.4]
+  output        io_deq_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52340.4]
+  output [29:0] io_deq_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52340.4]
+  output [3:0]  io_deq_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52340.4]
+  output [31:0] io_deq_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52340.4]
+  output        io_deq_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52340.4]
+);
+  reg [2:0] _T_35_opcode [0:1]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
+  reg [31:0] _RAND_0;
+  wire [2:0] _T_35_opcode__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
+  wire  _T_35_opcode__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
+  wire [2:0] _T_35_opcode__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
+  wire  _T_35_opcode__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
+  wire  _T_35_opcode__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
+  wire  _T_35_opcode__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
+  reg [2:0] _T_35_param [0:1]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
+  reg [31:0] _RAND_1;
+  wire [2:0] _T_35_param__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
+  wire  _T_35_param__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
+  wire [2:0] _T_35_param__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
+  wire  _T_35_param__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
+  wire  _T_35_param__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
+  wire  _T_35_param__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
+  reg [3:0] _T_35_size [0:1]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
+  reg [31:0] _RAND_2;
+  wire [3:0] _T_35_size__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
+  wire  _T_35_size__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
+  wire [3:0] _T_35_size__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
+  wire  _T_35_size__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
+  wire  _T_35_size__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
+  wire  _T_35_size__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
+  reg  _T_35_source [0:1]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
+  reg [31:0] _RAND_3;
+  wire  _T_35_source__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
+  wire  _T_35_source__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
+  wire  _T_35_source__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
+  wire  _T_35_source__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
+  wire  _T_35_source__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
+  wire  _T_35_source__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
+  reg [29:0] _T_35_address [0:1]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
+  reg [31:0] _RAND_4;
+  wire [29:0] _T_35_address__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
+  wire  _T_35_address__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
+  wire [29:0] _T_35_address__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
+  wire  _T_35_address__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
+  wire  _T_35_address__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
+  wire  _T_35_address__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
+  reg [3:0] _T_35_mask [0:1]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
+  reg [31:0] _RAND_5;
+  wire [3:0] _T_35_mask__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
+  wire  _T_35_mask__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
+  wire [3:0] _T_35_mask__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
+  wire  _T_35_mask__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
+  wire  _T_35_mask__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
+  wire  _T_35_mask__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
+  reg [31:0] _T_35_data [0:1]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
+  reg [31:0] _RAND_6;
+  wire [31:0] _T_35_data__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
+  wire  _T_35_data__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
+  wire [31:0] _T_35_data__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
+  wire  _T_35_data__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
+  wire  _T_35_data__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
+  wire  _T_35_data__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
+  reg  _T_35_corrupt [0:1]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
+  reg [31:0] _RAND_7;
+  wire  _T_35_corrupt__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
+  wire  _T_35_corrupt__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
+  wire  _T_35_corrupt__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
+  wire  _T_35_corrupt__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
+  wire  _T_35_corrupt__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
+  wire  _T_35_corrupt__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
+  reg  value; // @[Counter.scala 26:33:shc.marmotcaravel.MarmotCaravelConfig.fir@52343.4]
+  reg [31:0] _RAND_8;
+  reg  value_1; // @[Counter.scala 26:33:shc.marmotcaravel.MarmotCaravelConfig.fir@52344.4]
+  reg [31:0] _RAND_9;
+  reg  _T_39; // @[Decoupled.scala 217:35:shc.marmotcaravel.MarmotCaravelConfig.fir@52345.4]
+  reg [31:0] _RAND_10;
+  wire  _T_40; // @[Decoupled.scala 219:41:shc.marmotcaravel.MarmotCaravelConfig.fir@52346.4]
+  wire  _T_41; // @[Decoupled.scala 220:36:shc.marmotcaravel.MarmotCaravelConfig.fir@52347.4]
+  wire  _T_42; // @[Decoupled.scala 220:33:shc.marmotcaravel.MarmotCaravelConfig.fir@52348.4]
+  wire  _T_43; // @[Decoupled.scala 221:32:shc.marmotcaravel.MarmotCaravelConfig.fir@52349.4]
+  wire  _T_44; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@52350.4]
+  wire  _T_47; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@52353.4]
+  wire  _T_52; // @[Counter.scala 35:22:shc.marmotcaravel.MarmotCaravelConfig.fir@52368.6]
+  wire  _T_54; // @[Counter.scala 35:22:shc.marmotcaravel.MarmotCaravelConfig.fir@52374.6]
+  wire  _T_55; // @[Decoupled.scala 232:16:shc.marmotcaravel.MarmotCaravelConfig.fir@52377.4]
+  assign _T_35_opcode__T_58_addr = value_1;
+  assign _T_35_opcode__T_58_data = _T_35_opcode[_T_35_opcode__T_58_addr]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
+  assign _T_35_opcode__T_50_data = io_enq_bits_opcode;
+  assign _T_35_opcode__T_50_addr = value;
+  assign _T_35_opcode__T_50_mask = 1'h1;
+  assign _T_35_opcode__T_50_en = io_enq_ready & io_enq_valid;
+  assign _T_35_param__T_58_addr = value_1;
+  assign _T_35_param__T_58_data = _T_35_param[_T_35_param__T_58_addr]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
+  assign _T_35_param__T_50_data = io_enq_bits_param;
+  assign _T_35_param__T_50_addr = value;
+  assign _T_35_param__T_50_mask = 1'h1;
+  assign _T_35_param__T_50_en = io_enq_ready & io_enq_valid;
+  assign _T_35_size__T_58_addr = value_1;
+  assign _T_35_size__T_58_data = _T_35_size[_T_35_size__T_58_addr]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
+  assign _T_35_size__T_50_data = io_enq_bits_size;
+  assign _T_35_size__T_50_addr = value;
+  assign _T_35_size__T_50_mask = 1'h1;
+  assign _T_35_size__T_50_en = io_enq_ready & io_enq_valid;
+  assign _T_35_source__T_58_addr = value_1;
+  assign _T_35_source__T_58_data = _T_35_source[_T_35_source__T_58_addr]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
+  assign _T_35_source__T_50_data = io_enq_bits_source;
+  assign _T_35_source__T_50_addr = value;
+  assign _T_35_source__T_50_mask = 1'h1;
+  assign _T_35_source__T_50_en = io_enq_ready & io_enq_valid;
+  assign _T_35_address__T_58_addr = value_1;
+  assign _T_35_address__T_58_data = _T_35_address[_T_35_address__T_58_addr]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
+  assign _T_35_address__T_50_data = io_enq_bits_address;
+  assign _T_35_address__T_50_addr = value;
+  assign _T_35_address__T_50_mask = 1'h1;
+  assign _T_35_address__T_50_en = io_enq_ready & io_enq_valid;
+  assign _T_35_mask__T_58_addr = value_1;
+  assign _T_35_mask__T_58_data = _T_35_mask[_T_35_mask__T_58_addr]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
+  assign _T_35_mask__T_50_data = io_enq_bits_mask;
+  assign _T_35_mask__T_50_addr = value;
+  assign _T_35_mask__T_50_mask = 1'h1;
+  assign _T_35_mask__T_50_en = io_enq_ready & io_enq_valid;
+  assign _T_35_data__T_58_addr = value_1;
+  assign _T_35_data__T_58_data = _T_35_data[_T_35_data__T_58_addr]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
+  assign _T_35_data__T_50_data = io_enq_bits_data;
+  assign _T_35_data__T_50_addr = value;
+  assign _T_35_data__T_50_mask = 1'h1;
+  assign _T_35_data__T_50_en = io_enq_ready & io_enq_valid;
+  assign _T_35_corrupt__T_58_addr = value_1;
+  assign _T_35_corrupt__T_58_data = _T_35_corrupt[_T_35_corrupt__T_58_addr]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
+  assign _T_35_corrupt__T_50_data = io_enq_bits_corrupt;
+  assign _T_35_corrupt__T_50_addr = value;
+  assign _T_35_corrupt__T_50_mask = 1'h1;
+  assign _T_35_corrupt__T_50_en = io_enq_ready & io_enq_valid;
+  assign _T_40 = value == value_1; // @[Decoupled.scala 219:41:shc.marmotcaravel.MarmotCaravelConfig.fir@52346.4]
+  assign _T_41 = _T_39 == 1'h0; // @[Decoupled.scala 220:36:shc.marmotcaravel.MarmotCaravelConfig.fir@52347.4]
+  assign _T_42 = _T_40 & _T_41; // @[Decoupled.scala 220:33:shc.marmotcaravel.MarmotCaravelConfig.fir@52348.4]
+  assign _T_43 = _T_40 & _T_39; // @[Decoupled.scala 221:32:shc.marmotcaravel.MarmotCaravelConfig.fir@52349.4]
+  assign _T_44 = io_enq_ready & io_enq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@52350.4]
+  assign _T_47 = io_deq_ready & io_deq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@52353.4]
+  assign _T_52 = value + 1'h1; // @[Counter.scala 35:22:shc.marmotcaravel.MarmotCaravelConfig.fir@52368.6]
+  assign _T_54 = value_1 + 1'h1; // @[Counter.scala 35:22:shc.marmotcaravel.MarmotCaravelConfig.fir@52374.6]
+  assign _T_55 = _T_44 != _T_47; // @[Decoupled.scala 232:16:shc.marmotcaravel.MarmotCaravelConfig.fir@52377.4]
+  assign io_enq_ready = _T_43 == 1'h0; // @[Decoupled.scala 237:16:shc.marmotcaravel.MarmotCaravelConfig.fir@52384.4]
+  assign io_deq_valid = _T_42 == 1'h0; // @[Decoupled.scala 236:16:shc.marmotcaravel.MarmotCaravelConfig.fir@52382.4]
+  assign io_deq_bits_opcode = _T_35_opcode__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@52393.4]
+  assign io_deq_bits_param = _T_35_param__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@52392.4]
+  assign io_deq_bits_size = _T_35_size__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@52391.4]
+  assign io_deq_bits_source = _T_35_source__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@52390.4]
+  assign io_deq_bits_address = _T_35_address__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@52389.4]
+  assign io_deq_bits_mask = _T_35_mask__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@52388.4]
+  assign io_deq_bits_data = _T_35_data__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@52387.4]
+  assign io_deq_bits_corrupt = _T_35_corrupt__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@52386.4]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  _RAND_0 = {1{`RANDOM}};
+  `ifdef RANDOMIZE_MEM_INIT
+  for (initvar = 0; initvar < 2; initvar = initvar+1)
+    _T_35_opcode[initvar] = _RAND_0[2:0];
+  `endif // RANDOMIZE_MEM_INIT
+  _RAND_1 = {1{`RANDOM}};
+  `ifdef RANDOMIZE_MEM_INIT
+  for (initvar = 0; initvar < 2; initvar = initvar+1)
+    _T_35_param[initvar] = _RAND_1[2:0];
+  `endif // RANDOMIZE_MEM_INIT
+  _RAND_2 = {1{`RANDOM}};
+  `ifdef RANDOMIZE_MEM_INIT
+  for (initvar = 0; initvar < 2; initvar = initvar+1)
+    _T_35_size[initvar] = _RAND_2[3:0];
+  `endif // RANDOMIZE_MEM_INIT
+  _RAND_3 = {1{`RANDOM}};
+  `ifdef RANDOMIZE_MEM_INIT
+  for (initvar = 0; initvar < 2; initvar = initvar+1)
+    _T_35_source[initvar] = _RAND_3[0:0];
+  `endif // RANDOMIZE_MEM_INIT
+  _RAND_4 = {1{`RANDOM}};
+  `ifdef RANDOMIZE_MEM_INIT
+  for (initvar = 0; initvar < 2; initvar = initvar+1)
+    _T_35_address[initvar] = _RAND_4[29:0];
+  `endif // RANDOMIZE_MEM_INIT
+  _RAND_5 = {1{`RANDOM}};
+  `ifdef RANDOMIZE_MEM_INIT
+  for (initvar = 0; initvar < 2; initvar = initvar+1)
+    _T_35_mask[initvar] = _RAND_5[3:0];
+  `endif // RANDOMIZE_MEM_INIT
+  _RAND_6 = {1{`RANDOM}};
+  `ifdef RANDOMIZE_MEM_INIT
+  for (initvar = 0; initvar < 2; initvar = initvar+1)
+    _T_35_data[initvar] = _RAND_6[31:0];
+  `endif // RANDOMIZE_MEM_INIT
+  _RAND_7 = {1{`RANDOM}};
+  `ifdef RANDOMIZE_MEM_INIT
+  for (initvar = 0; initvar < 2; initvar = initvar+1)
+    _T_35_corrupt[initvar] = _RAND_7[0:0];
+  `endif // RANDOMIZE_MEM_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_8 = {1{`RANDOM}};
+  value = _RAND_8[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_9 = {1{`RANDOM}};
+  value_1 = _RAND_9[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_10 = {1{`RANDOM}};
+  _T_39 = _RAND_10[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if(_T_35_opcode__T_50_en & _T_35_opcode__T_50_mask) begin
+      _T_35_opcode[_T_35_opcode__T_50_addr] <= _T_35_opcode__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
+    end
+    if(_T_35_param__T_50_en & _T_35_param__T_50_mask) begin
+      _T_35_param[_T_35_param__T_50_addr] <= _T_35_param__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
+    end
+    if(_T_35_size__T_50_en & _T_35_size__T_50_mask) begin
+      _T_35_size[_T_35_size__T_50_addr] <= _T_35_size__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
+    end
+    if(_T_35_source__T_50_en & _T_35_source__T_50_mask) begin
+      _T_35_source[_T_35_source__T_50_addr] <= _T_35_source__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
+    end
+    if(_T_35_address__T_50_en & _T_35_address__T_50_mask) begin
+      _T_35_address[_T_35_address__T_50_addr] <= _T_35_address__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
+    end
+    if(_T_35_mask__T_50_en & _T_35_mask__T_50_mask) begin
+      _T_35_mask[_T_35_mask__T_50_addr] <= _T_35_mask__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
+    end
+    if(_T_35_data__T_50_en & _T_35_data__T_50_mask) begin
+      _T_35_data[_T_35_data__T_50_addr] <= _T_35_data__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
+    end
+    if(_T_35_corrupt__T_50_en & _T_35_corrupt__T_50_mask) begin
+      _T_35_corrupt[_T_35_corrupt__T_50_addr] <= _T_35_corrupt__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
+    end
+    if (reset) begin
+      value <= 1'h0;
+    end else begin
+      if (_T_44) begin
+        value <= _T_52;
+      end
+    end
+    if (reset) begin
+      value_1 <= 1'h0;
+    end else begin
+      if (_T_47) begin
+        value_1 <= _T_54;
+      end
+    end
+    if (reset) begin
+      _T_39 <= 1'h0;
+    end else begin
+      if (_T_55) begin
+        _T_39 <= _T_44;
+      end
+    end
+  end
+endmodule
+module TLBuffer_10( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52465.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52466.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52467.4]
+  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52468.4]
+  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52468.4]
+  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52468.4]
+  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52468.4]
+  input  [3:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52468.4]
+  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52468.4]
+  input  [29:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52468.4]
+  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52468.4]
+  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52468.4]
+  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52468.4]
+  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52468.4]
+  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52468.4]
+  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52468.4]
+  output [1:0]  auto_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52468.4]
+  output [3:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52468.4]
+  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52468.4]
+  output        auto_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52468.4]
+  output        auto_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52468.4]
+  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52468.4]
+  output        auto_in_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52468.4]
+  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52468.4]
+  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52468.4]
+  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52468.4]
+  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52468.4]
+  output [3:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52468.4]
+  output        auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52468.4]
+  output [29:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52468.4]
+  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52468.4]
+  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52468.4]
+  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52468.4]
+  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52468.4]
+  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52468.4]
+  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52468.4]
+  input  [1:0]  auto_out_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52468.4]
+  input  [3:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52468.4]
+  input         auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52468.4]
+  input         auto_out_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52468.4]
+  input         auto_out_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52468.4]
+  input  [31:0] auto_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52468.4]
+  input         auto_out_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52468.4]
+);
+  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@52475.4]
+  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@52475.4]
+  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@52475.4]
+  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@52475.4]
+  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@52475.4]
+  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@52475.4]
+  wire [3:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@52475.4]
+  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@52475.4]
+  wire [29:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@52475.4]
+  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@52475.4]
+  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@52475.4]
+  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@52475.4]
+  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@52475.4]
+  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@52475.4]
+  wire [1:0] TLMonitor_io_in_d_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@52475.4]
+  wire [3:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@52475.4]
+  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@52475.4]
+  wire  TLMonitor_io_in_d_bits_sink; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@52475.4]
+  wire  TLMonitor_io_in_d_bits_denied; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@52475.4]
+  wire  TLMonitor_io_in_d_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@52475.4]
+  wire  Queue_clock; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52516.4]
+  wire  Queue_reset; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52516.4]
+  wire  Queue_io_enq_ready; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52516.4]
+  wire  Queue_io_enq_valid; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52516.4]
+  wire [2:0] Queue_io_enq_bits_opcode; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52516.4]
+  wire [2:0] Queue_io_enq_bits_param; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52516.4]
+  wire [3:0] Queue_io_enq_bits_size; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52516.4]
+  wire  Queue_io_enq_bits_source; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52516.4]
+  wire [29:0] Queue_io_enq_bits_address; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52516.4]
+  wire [3:0] Queue_io_enq_bits_mask; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52516.4]
+  wire [31:0] Queue_io_enq_bits_data; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52516.4]
+  wire  Queue_io_enq_bits_corrupt; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52516.4]
+  wire  Queue_io_deq_ready; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52516.4]
+  wire  Queue_io_deq_valid; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52516.4]
+  wire [2:0] Queue_io_deq_bits_opcode; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52516.4]
+  wire [2:0] Queue_io_deq_bits_param; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52516.4]
+  wire [3:0] Queue_io_deq_bits_size; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52516.4]
+  wire  Queue_io_deq_bits_source; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52516.4]
+  wire [29:0] Queue_io_deq_bits_address; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52516.4]
+  wire [3:0] Queue_io_deq_bits_mask; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52516.4]
+  wire [31:0] Queue_io_deq_bits_data; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52516.4]
+  wire  Queue_io_deq_bits_corrupt; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52516.4]
+  wire  Queue_1_clock; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52530.4]
+  wire  Queue_1_reset; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52530.4]
+  wire  Queue_1_io_enq_ready; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52530.4]
+  wire  Queue_1_io_enq_valid; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52530.4]
+  wire [2:0] Queue_1_io_enq_bits_opcode; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52530.4]
+  wire [1:0] Queue_1_io_enq_bits_param; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52530.4]
+  wire [3:0] Queue_1_io_enq_bits_size; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52530.4]
+  wire  Queue_1_io_enq_bits_source; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52530.4]
+  wire  Queue_1_io_enq_bits_sink; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52530.4]
+  wire  Queue_1_io_enq_bits_denied; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52530.4]
+  wire [31:0] Queue_1_io_enq_bits_data; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52530.4]
+  wire  Queue_1_io_enq_bits_corrupt; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52530.4]
+  wire  Queue_1_io_deq_ready; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52530.4]
+  wire  Queue_1_io_deq_valid; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52530.4]
+  wire [2:0] Queue_1_io_deq_bits_opcode; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52530.4]
+  wire [1:0] Queue_1_io_deq_bits_param; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52530.4]
+  wire [3:0] Queue_1_io_deq_bits_size; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52530.4]
+  wire  Queue_1_io_deq_bits_source; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52530.4]
+  wire  Queue_1_io_deq_bits_sink; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52530.4]
+  wire  Queue_1_io_deq_bits_denied; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52530.4]
+  wire [31:0] Queue_1_io_deq_bits_data; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52530.4]
+  wire  Queue_1_io_deq_bits_corrupt; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52530.4]
+  TLMonitor_28 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@52475.4]
+    .clock(TLMonitor_clock),
+    .reset(TLMonitor_reset),
+    .io_in_a_ready(TLMonitor_io_in_a_ready),
+    .io_in_a_valid(TLMonitor_io_in_a_valid),
+    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
+    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
+    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
+    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
+    .io_in_d_ready(TLMonitor_io_in_d_ready),
+    .io_in_d_valid(TLMonitor_io_in_d_valid),
+    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
+    .io_in_d_bits_param(TLMonitor_io_in_d_bits_param),
+    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
+    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source),
+    .io_in_d_bits_sink(TLMonitor_io_in_d_bits_sink),
+    .io_in_d_bits_denied(TLMonitor_io_in_d_bits_denied),
+    .io_in_d_bits_corrupt(TLMonitor_io_in_d_bits_corrupt)
+  );
+  Queue_2 Queue ( // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52516.4]
+    .clock(Queue_clock),
+    .reset(Queue_reset),
+    .io_enq_ready(Queue_io_enq_ready),
+    .io_enq_valid(Queue_io_enq_valid),
+    .io_enq_bits_opcode(Queue_io_enq_bits_opcode),
+    .io_enq_bits_param(Queue_io_enq_bits_param),
+    .io_enq_bits_size(Queue_io_enq_bits_size),
+    .io_enq_bits_source(Queue_io_enq_bits_source),
+    .io_enq_bits_address(Queue_io_enq_bits_address),
+    .io_enq_bits_mask(Queue_io_enq_bits_mask),
+    .io_enq_bits_data(Queue_io_enq_bits_data),
+    .io_enq_bits_corrupt(Queue_io_enq_bits_corrupt),
+    .io_deq_ready(Queue_io_deq_ready),
+    .io_deq_valid(Queue_io_deq_valid),
+    .io_deq_bits_opcode(Queue_io_deq_bits_opcode),
+    .io_deq_bits_param(Queue_io_deq_bits_param),
+    .io_deq_bits_size(Queue_io_deq_bits_size),
+    .io_deq_bits_source(Queue_io_deq_bits_source),
+    .io_deq_bits_address(Queue_io_deq_bits_address),
+    .io_deq_bits_mask(Queue_io_deq_bits_mask),
+    .io_deq_bits_data(Queue_io_deq_bits_data),
+    .io_deq_bits_corrupt(Queue_io_deq_bits_corrupt)
+  );
+  Queue_1 Queue_1 ( // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52530.4]
+    .clock(Queue_1_clock),
+    .reset(Queue_1_reset),
+    .io_enq_ready(Queue_1_io_enq_ready),
+    .io_enq_valid(Queue_1_io_enq_valid),
+    .io_enq_bits_opcode(Queue_1_io_enq_bits_opcode),
+    .io_enq_bits_param(Queue_1_io_enq_bits_param),
+    .io_enq_bits_size(Queue_1_io_enq_bits_size),
+    .io_enq_bits_source(Queue_1_io_enq_bits_source),
+    .io_enq_bits_sink(Queue_1_io_enq_bits_sink),
+    .io_enq_bits_denied(Queue_1_io_enq_bits_denied),
+    .io_enq_bits_data(Queue_1_io_enq_bits_data),
+    .io_enq_bits_corrupt(Queue_1_io_enq_bits_corrupt),
+    .io_deq_ready(Queue_1_io_deq_ready),
+    .io_deq_valid(Queue_1_io_deq_valid),
+    .io_deq_bits_opcode(Queue_1_io_deq_bits_opcode),
+    .io_deq_bits_param(Queue_1_io_deq_bits_param),
+    .io_deq_bits_size(Queue_1_io_deq_bits_size),
+    .io_deq_bits_source(Queue_1_io_deq_bits_source),
+    .io_deq_bits_sink(Queue_1_io_deq_bits_sink),
+    .io_deq_bits_denied(Queue_1_io_deq_bits_denied),
+    .io_deq_bits_data(Queue_1_io_deq_bits_data),
+    .io_deq_bits_corrupt(Queue_1_io_deq_bits_corrupt)
+  );
+  assign auto_in_a_ready = Queue_io_enq_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@52515.4]
+  assign auto_in_d_valid = Queue_1_io_deq_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@52515.4]
+  assign auto_in_d_bits_opcode = Queue_1_io_deq_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@52515.4]
+  assign auto_in_d_bits_param = Queue_1_io_deq_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@52515.4]
+  assign auto_in_d_bits_size = Queue_1_io_deq_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@52515.4]
+  assign auto_in_d_bits_source = Queue_1_io_deq_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@52515.4]
+  assign auto_in_d_bits_sink = Queue_1_io_deq_bits_sink; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@52515.4]
+  assign auto_in_d_bits_denied = Queue_1_io_deq_bits_denied; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@52515.4]
+  assign auto_in_d_bits_data = Queue_1_io_deq_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@52515.4]
+  assign auto_in_d_bits_corrupt = Queue_1_io_deq_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@52515.4]
+  assign auto_out_a_valid = Queue_io_deq_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@52514.4]
+  assign auto_out_a_bits_opcode = Queue_io_deq_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@52514.4]
+  assign auto_out_a_bits_param = Queue_io_deq_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@52514.4]
+  assign auto_out_a_bits_size = Queue_io_deq_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@52514.4]
+  assign auto_out_a_bits_source = Queue_io_deq_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@52514.4]
+  assign auto_out_a_bits_address = Queue_io_deq_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@52514.4]
+  assign auto_out_a_bits_mask = Queue_io_deq_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@52514.4]
+  assign auto_out_a_bits_data = Queue_io_deq_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@52514.4]
+  assign auto_out_a_bits_corrupt = Queue_io_deq_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@52514.4]
+  assign auto_out_d_ready = Queue_1_io_enq_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@52514.4]
+  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52477.4]
+  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52478.4]
+  assign TLMonitor_io_in_a_ready = Queue_io_enq_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@52511.4]
+  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@52511.4]
+  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@52511.4]
+  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@52511.4]
+  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@52511.4]
+  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@52511.4]
+  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@52511.4]
+  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@52511.4]
+  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@52511.4]
+  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@52511.4]
+  assign TLMonitor_io_in_d_valid = Queue_1_io_deq_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@52511.4]
+  assign TLMonitor_io_in_d_bits_opcode = Queue_1_io_deq_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@52511.4]
+  assign TLMonitor_io_in_d_bits_param = Queue_1_io_deq_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@52511.4]
+  assign TLMonitor_io_in_d_bits_size = Queue_1_io_deq_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@52511.4]
+  assign TLMonitor_io_in_d_bits_source = Queue_1_io_deq_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@52511.4]
+  assign TLMonitor_io_in_d_bits_sink = Queue_1_io_deq_bits_sink; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@52511.4]
+  assign TLMonitor_io_in_d_bits_denied = Queue_1_io_deq_bits_denied; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@52511.4]
+  assign TLMonitor_io_in_d_bits_corrupt = Queue_1_io_deq_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@52511.4]
+  assign Queue_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52517.4]
+  assign Queue_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52518.4]
+  assign Queue_io_enq_valid = auto_in_a_valid; // @[Decoupled.scala 294:22:shc.marmotcaravel.MarmotCaravelConfig.fir@52519.4]
+  assign Queue_io_enq_bits_opcode = auto_in_a_bits_opcode; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52527.4]
+  assign Queue_io_enq_bits_param = auto_in_a_bits_param; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52526.4]
+  assign Queue_io_enq_bits_size = auto_in_a_bits_size; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52525.4]
+  assign Queue_io_enq_bits_source = auto_in_a_bits_source; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52524.4]
+  assign Queue_io_enq_bits_address = auto_in_a_bits_address; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52523.4]
+  assign Queue_io_enq_bits_mask = auto_in_a_bits_mask; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52522.4]
+  assign Queue_io_enq_bits_data = auto_in_a_bits_data; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52521.4]
+  assign Queue_io_enq_bits_corrupt = auto_in_a_bits_corrupt; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52520.4]
+  assign Queue_io_deq_ready = auto_out_a_ready; // @[Buffer.scala 38:13:shc.marmotcaravel.MarmotCaravelConfig.fir@52529.4]
+  assign Queue_1_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52531.4]
+  assign Queue_1_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52532.4]
+  assign Queue_1_io_enq_valid = auto_out_d_valid; // @[Decoupled.scala 294:22:shc.marmotcaravel.MarmotCaravelConfig.fir@52533.4]
+  assign Queue_1_io_enq_bits_opcode = auto_out_d_bits_opcode; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52541.4]
+  assign Queue_1_io_enq_bits_param = auto_out_d_bits_param; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52540.4]
+  assign Queue_1_io_enq_bits_size = auto_out_d_bits_size; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52539.4]
+  assign Queue_1_io_enq_bits_source = auto_out_d_bits_source; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52538.4]
+  assign Queue_1_io_enq_bits_sink = auto_out_d_bits_sink; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52537.4]
+  assign Queue_1_io_enq_bits_denied = auto_out_d_bits_denied; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52536.4]
+  assign Queue_1_io_enq_bits_data = auto_out_d_bits_data; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52535.4]
+  assign Queue_1_io_enq_bits_corrupt = auto_out_d_bits_corrupt; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52534.4]
+  assign Queue_1_io_deq_ready = auto_in_d_ready; // @[Buffer.scala 39:13:shc.marmotcaravel.MarmotCaravelConfig.fir@52543.4]
+endmodule
+module TLMonitor_29( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52558.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52559.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52560.4]
+  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52561.4]
+  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52561.4]
+  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52561.4]
+  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52561.4]
+  input  [3:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52561.4]
+  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52561.4]
+  input  [29:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52561.4]
+  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52561.4]
+  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52561.4]
+  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52561.4]
+  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52561.4]
+  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52561.4]
+  input  [1:0]  io_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52561.4]
+  input  [3:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52561.4]
+  input         io_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52561.4]
+  input         io_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52561.4]
+  input         io_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52561.4]
+  input         io_in_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52561.4]
+);
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@54063.4]
+  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@52577.6]
+  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@52582.6]
+  wire [26:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@52584.6]
+  wire [11:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@52585.6]
+  wire [11:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@52586.6]
+  wire [29:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@52587.6]
+  wire [29:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@52587.6]
+  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52588.6]
+  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@52590.6]
+  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@52591.6]
+  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@52593.6]
+  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52594.6]
+  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@52595.6]
+  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@52596.6]
+  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@52597.6]
+  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@52599.6]
+  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@52600.6]
+  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@52602.6]
+  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@52603.6]
+  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@52604.6]
+  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@52605.6]
+  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@52606.6]
+  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@52607.6]
+  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@52608.6]
+  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@52609.6]
+  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@52610.6]
+  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@52611.6]
+  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@52612.6]
+  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@52613.6]
+  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@52614.6]
+  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@52615.6]
+  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@52616.6]
+  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@52617.6]
+  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@52618.6]
+  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@52619.6]
+  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@52620.6]
+  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@52621.6]
+  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@52646.6]
+  wire [29:0] _T_92; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@52649.8]
+  wire [30:0] _T_93; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@52650.8]
+  wire [30:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@52651.8]
+  wire [30:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@52652.8]
+  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@52653.8]
+  wire [29:0] _T_97; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@52654.8]
+  wire [30:0] _T_98; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@52655.8]
+  wire [30:0] _T_99; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@52656.8]
+  wire [30:0] _T_100; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@52657.8]
+  wire  _T_101; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@52658.8]
+  wire [29:0] _T_102; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@52659.8]
+  wire [30:0] _T_103; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@52660.8]
+  wire [30:0] _T_104; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@52661.8]
+  wire [30:0] _T_105; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@52662.8]
+  wire  _T_106; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@52663.8]
+  wire [29:0] _T_107; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@52664.8]
+  wire [30:0] _T_108; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@52665.8]
+  wire [30:0] _T_109; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@52666.8]
+  wire [30:0] _T_110; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@52667.8]
+  wire  _T_111; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@52668.8]
+  wire [29:0] _T_112; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@52669.8]
+  wire [30:0] _T_113; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@52670.8]
+  wire [30:0] _T_114; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@52671.8]
+  wire [30:0] _T_115; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@52672.8]
+  wire  _T_116; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@52673.8]
+  wire [29:0] _T_117; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@52674.8]
+  wire [30:0] _T_118; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@52675.8]
+  wire [30:0] _T_119; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@52676.8]
+  wire [30:0] _T_120; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@52677.8]
+  wire  _T_121; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@52678.8]
+  wire [29:0] _T_122; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@52679.8]
+  wire [30:0] _T_123; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@52680.8]
+  wire [30:0] _T_124; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@52681.8]
+  wire [30:0] _T_125; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@52682.8]
+  wire  _T_126; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@52683.8]
+  wire [29:0] _T_127; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@52684.8]
+  wire [30:0] _T_128; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@52685.8]
+  wire [30:0] _T_129; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@52686.8]
+  wire [30:0] _T_130; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@52687.8]
+  wire  _T_131; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@52688.8]
+  wire  _T_132; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@52689.8]
+  wire  _T_133; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@52690.8]
+  wire  _T_134; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@52691.8]
+  wire  _T_135; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@52692.8]
+  wire  _T_143; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52700.8]
+  wire  _T_148; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52713.8]
+  wire  _T_149; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52714.8]
+  wire  _T_152; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52721.8]
+  wire  _T_153; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52722.8]
+  wire  _T_155; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52728.8]
+  wire  _T_156; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52729.8]
+  wire  _T_157; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@52734.8]
+  wire  _T_159; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52736.8]
+  wire  _T_160; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52737.8]
+  wire [3:0] _T_161; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@52742.8]
+  wire  _T_162; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@52743.8]
+  wire  _T_164; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52745.8]
+  wire  _T_165; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52746.8]
+  wire  _T_166; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@52751.8]
+  wire  _T_168; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52753.8]
+  wire  _T_169; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52754.8]
+  wire  _T_170; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@52760.6]
+  wire  _T_241; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@52856.8]
+  wire  _T_243; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52858.8]
+  wire  _T_244; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52859.8]
+  wire  _T_254; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@52882.6]
+  wire  _T_256; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@52885.8]
+  wire  _T_264; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@52893.8]
+  wire  _T_266; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@52895.8]
+  wire  _T_304; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@52933.8]
+  wire  _T_305; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@52934.8]
+  wire  _T_306; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@52935.8]
+  wire  _T_307; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@52936.8]
+  wire  _T_308; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@52937.8]
+  wire  _T_309; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@52938.8]
+  wire  _T_310; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@52939.8]
+  wire  _T_312; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@52941.8]
+  wire  _T_314; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52943.8]
+  wire  _T_315; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52944.8]
+  wire  _T_322; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@52963.8]
+  wire  _T_324; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52965.8]
+  wire  _T_325; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52966.8]
+  wire  _T_326; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@52971.8]
+  wire  _T_328; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52973.8]
+  wire  _T_329; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52974.8]
+  wire  _T_334; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@52988.6]
+  wire  _T_382; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@53037.8]
+  wire  _T_383; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@53038.8]
+  wire  _T_384; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@53039.8]
+  wire  _T_393; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@53048.8]
+  wire  _T_396; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53051.8]
+  wire  _T_397; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53052.8]
+  wire  _T_412; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@53088.6]
+  wire [3:0] _T_486; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@53179.8]
+  wire [3:0] _T_487; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@53180.8]
+  wire  _T_488; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@53181.8]
+  wire  _T_490; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53183.8]
+  wire  _T_491; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53184.8]
+  wire  _T_492; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@53190.6]
+  wire  _T_494; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@53193.8]
+  wire  _T_536; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@53235.8]
+  wire  _T_537; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@53236.8]
+  wire  _T_538; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@53237.8]
+  wire  _T_549; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53248.8]
+  wire  _T_550; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53249.8]
+  wire  _T_557; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@53268.8]
+  wire  _T_559; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53270.8]
+  wire  _T_560; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53271.8]
+  wire  _T_565; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@53285.6]
+  wire  _T_630; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@53363.8]
+  wire  _T_632; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53365.8]
+  wire  _T_633; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53366.8]
+  wire  _T_638; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@53380.6]
+  wire  _T_695; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53438.8]
+  wire  _T_696; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53439.8]
+  wire  _T_711; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@53477.6]
+  wire  _T_713; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@53479.6]
+  wire  _T_714; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@53480.6]
+  wire  _T_716; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@53486.6]
+  wire  _T_725; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@53491.6]
+  wire  _T_727; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@53493.6]
+  wire  _T_729; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53496.8]
+  wire  _T_730; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53497.8]
+  wire  _T_731; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@53502.8]
+  wire  _T_733; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53504.8]
+  wire  _T_734; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53505.8]
+  wire  _T_735; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@53510.8]
+  wire  _T_737; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53512.8]
+  wire  _T_738; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53513.8]
+  wire  _T_739; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@53518.8]
+  wire  _T_741; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53520.8]
+  wire  _T_742; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53521.8]
+  wire  _T_743; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@53526.8]
+  wire  _T_745; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53528.8]
+  wire  _T_746; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53529.8]
+  wire  _T_747; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@53535.6]
+  wire  _T_758; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@53559.8]
+  wire  _T_760; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53561.8]
+  wire  _T_761; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53562.8]
+  wire  _T_762; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@53567.8]
+  wire  _T_764; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53569.8]
+  wire  _T_765; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53570.8]
+  wire  _T_775; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@53593.6]
+  wire  _T_795; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@53634.8]
+  wire  _T_797; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53636.8]
+  wire  _T_798; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53637.8]
+  wire  _T_804; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@53652.6]
+  wire  _T_821; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@53687.6]
+  wire  _T_839; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@53723.6]
+  wire  _T_868; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@53783.4]
+  wire [9:0] _T_873; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@53788.4]
+  wire  _T_874; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@53789.4]
+  wire  _T_875; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@53790.4]
+  reg [9:0] _T_878; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@53792.4]
+  reg [31:0] _RAND_0;
+  wire [10:0] _T_879; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@53793.4]
+  wire [10:0] _T_880; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@53794.4]
+  wire [9:0] _T_881; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@53795.4]
+  wire  _T_882; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@53796.4]
+  reg [2:0] _T_891; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@53807.4]
+  reg [31:0] _RAND_1;
+  reg [2:0] _T_893; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@53808.4]
+  reg [31:0] _RAND_2;
+  reg [3:0] _T_895; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@53809.4]
+  reg [31:0] _RAND_3;
+  reg  _T_897; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@53810.4]
+  reg [31:0] _RAND_4;
+  reg [29:0] _T_899; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@53811.4]
+  reg [31:0] _RAND_5;
+  wire  _T_900; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@53812.4]
+  wire  _T_901; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@53813.4]
+  wire  _T_902; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@53815.6]
+  wire  _T_904; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53817.6]
+  wire  _T_905; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53818.6]
+  wire  _T_906; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@53823.6]
+  wire  _T_908; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53825.6]
+  wire  _T_909; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53826.6]
+  wire  _T_910; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@53831.6]
+  wire  _T_912; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53833.6]
+  wire  _T_913; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53834.6]
+  wire  _T_914; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@53839.6]
+  wire  _T_916; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53841.6]
+  wire  _T_917; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53842.6]
+  wire  _T_918; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@53847.6]
+  wire  _T_920; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53849.6]
+  wire  _T_921; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53850.6]
+  wire  _T_923; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@53857.4]
+  wire  _T_924; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@53865.4]
+  wire [26:0] _T_926; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@53867.4]
+  wire [11:0] _T_927; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@53868.4]
+  wire [11:0] _T_928; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@53869.4]
+  wire [9:0] _T_929; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@53870.4]
+  wire  _T_930; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@53871.4]
+  reg [9:0] _T_933; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@53873.4]
+  reg [31:0] _RAND_6;
+  wire [10:0] _T_934; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@53874.4]
+  wire [10:0] _T_935; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@53875.4]
+  wire [9:0] _T_936; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@53876.4]
+  wire  _T_937; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@53877.4]
+  reg [2:0] _T_946; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@53888.4]
+  reg [31:0] _RAND_7;
+  reg [1:0] _T_948; // @[Monitor.scala 419:22:shc.marmotcaravel.MarmotCaravelConfig.fir@53889.4]
+  reg [31:0] _RAND_8;
+  reg [3:0] _T_950; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@53890.4]
+  reg [31:0] _RAND_9;
+  reg  _T_952; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@53891.4]
+  reg [31:0] _RAND_10;
+  reg  _T_954; // @[Monitor.scala 422:22:shc.marmotcaravel.MarmotCaravelConfig.fir@53892.4]
+  reg [31:0] _RAND_11;
+  reg  _T_956; // @[Monitor.scala 423:22:shc.marmotcaravel.MarmotCaravelConfig.fir@53893.4]
+  reg [31:0] _RAND_12;
+  wire  _T_957; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@53894.4]
+  wire  _T_958; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@53895.4]
+  wire  _T_959; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@53897.6]
+  wire  _T_961; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53899.6]
+  wire  _T_962; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53900.6]
+  wire  _T_963; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@53905.6]
+  wire  _T_965; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53907.6]
+  wire  _T_966; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53908.6]
+  wire  _T_967; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@53913.6]
+  wire  _T_969; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53915.6]
+  wire  _T_970; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53916.6]
+  wire  _T_971; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@53921.6]
+  wire  _T_973; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53923.6]
+  wire  _T_974; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53924.6]
+  wire  _T_975; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@53929.6]
+  wire  _T_977; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53931.6]
+  wire  _T_978; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53932.6]
+  wire  _T_979; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@53937.6]
+  wire  _T_981; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53939.6]
+  wire  _T_982; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53940.6]
+  wire  _T_984; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@53947.4]
+  reg [1:0] _T_986; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@53956.4]
+  reg [31:0] _RAND_13;
+  reg [9:0] _T_997; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@53966.4]
+  reg [31:0] _RAND_14;
+  wire [10:0] _T_998; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@53967.4]
+  wire [10:0] _T_999; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@53968.4]
+  wire [9:0] _T_1000; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@53969.4]
+  wire  _T_1001; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@53970.4]
+  reg [9:0] _T_1018; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@53989.4]
+  reg [31:0] _RAND_15;
+  wire [10:0] _T_1019; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@53990.4]
+  wire [10:0] _T_1020; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@53991.4]
+  wire [9:0] _T_1021; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@53992.4]
+  wire  _T_1022; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@53993.4]
+  wire  _T_1033; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@54008.4]
+  wire [1:0] _T_1035; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@54011.6]
+  wire [1:0] _T_1036; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@54013.6]
+  wire  _T_1037; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@54014.6]
+  wire  _T_1038; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54015.6]
+  wire  _T_1040; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@54017.6]
+  wire  _T_1041; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@54018.6]
+  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54010.4]
+  wire  _T_1046; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@54029.4]
+  wire  _T_1048; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@54031.4]
+  wire  _T_1049; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54032.4]
+  wire [1:0] _T_1050; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@54034.6]
+  wire [1:0] _T_1051; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@54036.6]
+  wire [1:0] _T_1052; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@54037.6]
+  wire  _T_1053; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@54038.6]
+  wire  _T_1055; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@54040.6]
+  wire  _T_1056; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@54041.6]
+  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@54033.4]
+  wire  _T_1057; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@54047.4]
+  wire  _T_1058; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@54048.4]
+  wire  _T_1059; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@54049.4]
+  wire  _T_1060; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@54050.4]
+  wire  _T_1062; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@54052.4]
+  wire  _T_1063; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@54053.4]
+  wire [1:0] _T_1064; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@54058.4]
+  wire [1:0] _T_1065; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@54059.4]
+  wire [1:0] _T_1066; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@54060.4]
+  reg [31:0] _T_1068; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@54062.4]
+  reg [31:0] _RAND_16;
+  wire  _T_1069; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@54065.4]
+  wire  _T_1070; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@54066.4]
+  wire  _T_1071; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@54067.4]
+  wire  _T_1072; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@54068.4]
+  wire  _T_1073; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@54069.4]
+  wire  _T_1074; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@54070.4]
+  wire  _T_1076; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@54072.4]
+  wire  _T_1077; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@54073.4]
+  wire [31:0] _T_1079; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@54079.4]
+  wire  _T_1082; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@54083.4]
+  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52702.10]
+  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52816.10]
+  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52946.10]
+  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53054.10]
+  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53154.10]
+  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53251.10]
+  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53346.10]
+  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53441.10]
+  wire  _GEN_115; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53499.10]
+  wire  _GEN_125; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53541.10]
+  wire  _GEN_137; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53599.10]
+  wire  _GEN_149; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53658.10]
+  wire  _GEN_155; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53693.10]
+  wire  _GEN_161; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53729.10]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@54063.4]
+    .out(plusarg_reader_out)
+  );
+  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@52577.6]
+  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@52582.6]
+  assign _T_32 = 27'hfff << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@52584.6]
+  assign _T_33 = _T_32[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@52585.6]
+  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@52586.6]
+  assign _GEN_18 = {{18'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@52587.6]
+  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@52587.6]
+  assign _T_36 = _T_35 == 30'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52588.6]
+  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@52590.6]
+  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@52591.6]
+  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@52593.6]
+  assign _T_42 = io_in_a_bits_size >= 4'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52594.6]
+  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@52595.6]
+  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@52596.6]
+  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@52597.6]
+  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@52599.6]
+  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@52600.6]
+  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@52602.6]
+  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@52603.6]
+  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@52604.6]
+  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@52605.6]
+  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@52606.6]
+  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@52607.6]
+  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@52608.6]
+  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@52609.6]
+  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@52610.6]
+  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@52611.6]
+  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@52612.6]
+  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@52613.6]
+  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@52614.6]
+  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@52615.6]
+  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@52616.6]
+  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@52617.6]
+  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@52618.6]
+  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@52619.6]
+  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@52620.6]
+  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@52621.6]
+  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@52646.6]
+  assign _T_92 = io_in_a_bits_address ^ 30'h3000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@52649.8]
+  assign _T_93 = {1'b0,$signed(_T_92)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@52650.8]
+  assign _T_94 = $signed(_T_93) & $signed(-31'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@52651.8]
+  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@52652.8]
+  assign _T_96 = $signed(_T_95) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@52653.8]
+  assign _T_97 = io_in_a_bits_address ^ 30'h10013000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@52654.8]
+  assign _T_98 = {1'b0,$signed(_T_97)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@52655.8]
+  assign _T_99 = $signed(_T_98) & $signed(-31'sh21000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@52656.8]
+  assign _T_100 = $signed(_T_99); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@52657.8]
+  assign _T_101 = $signed(_T_100) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@52658.8]
+  assign _T_102 = io_in_a_bits_address ^ 30'h10023000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@52659.8]
+  assign _T_103 = {1'b0,$signed(_T_102)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@52660.8]
+  assign _T_104 = $signed(_T_103) & $signed(-31'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@52661.8]
+  assign _T_105 = $signed(_T_104); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@52662.8]
+  assign _T_106 = $signed(_T_105) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@52663.8]
+  assign _T_107 = io_in_a_bits_address ^ 30'h10043000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@52664.8]
+  assign _T_108 = {1'b0,$signed(_T_107)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@52665.8]
+  assign _T_109 = $signed(_T_108) & $signed(-31'sh11000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@52666.8]
+  assign _T_110 = $signed(_T_109); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@52667.8]
+  assign _T_111 = $signed(_T_110) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@52668.8]
+  assign _T_112 = io_in_a_bits_address ^ 30'h10014000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@52669.8]
+  assign _T_113 = {1'b0,$signed(_T_112)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@52670.8]
+  assign _T_114 = $signed(_T_113) & $signed(-31'sh21000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@52671.8]
+  assign _T_115 = $signed(_T_114); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@52672.8]
+  assign _T_116 = $signed(_T_115) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@52673.8]
+  assign _T_117 = io_in_a_bits_address ^ 30'h20000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@52674.8]
+  assign _T_118 = {1'b0,$signed(_T_117)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@52675.8]
+  assign _T_119 = $signed(_T_118) & $signed(-31'sh20000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@52676.8]
+  assign _T_120 = $signed(_T_119); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@52677.8]
+  assign _T_121 = $signed(_T_120) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@52678.8]
+  assign _T_122 = io_in_a_bits_address ^ 30'h10024000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@52679.8]
+  assign _T_123 = {1'b0,$signed(_T_122)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@52680.8]
+  assign _T_124 = $signed(_T_123) & $signed(-31'sh3000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@52681.8]
+  assign _T_125 = $signed(_T_124); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@52682.8]
+  assign _T_126 = $signed(_T_125) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@52683.8]
+  assign _T_127 = io_in_a_bits_address ^ 30'h10012000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@52684.8]
+  assign _T_128 = {1'b0,$signed(_T_127)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@52685.8]
+  assign _T_129 = $signed(_T_128) & $signed(-31'sh5000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@52686.8]
+  assign _T_130 = $signed(_T_129); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@52687.8]
+  assign _T_131 = $signed(_T_130) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@52688.8]
+  assign _T_132 = _T_96 | _T_101; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@52689.8]
+  assign _T_133 = _T_132 | _T_106; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@52690.8]
+  assign _T_134 = _T_133 | _T_111; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@52691.8]
+  assign _T_135 = _T_134 | _T_116; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@52692.8]
+  assign _T_143 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52700.8]
+  assign _T_148 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52713.8]
+  assign _T_149 = _T_148 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52714.8]
+  assign _T_152 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52721.8]
+  assign _T_153 = _T_152 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52722.8]
+  assign _T_155 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52728.8]
+  assign _T_156 = _T_155 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52729.8]
+  assign _T_157 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@52734.8]
+  assign _T_159 = _T_157 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52736.8]
+  assign _T_160 = _T_159 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52737.8]
+  assign _T_161 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@52742.8]
+  assign _T_162 = _T_161 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@52743.8]
+  assign _T_164 = _T_162 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52745.8]
+  assign _T_165 = _T_164 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52746.8]
+  assign _T_166 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@52751.8]
+  assign _T_168 = _T_166 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52753.8]
+  assign _T_169 = _T_168 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52754.8]
+  assign _T_170 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@52760.6]
+  assign _T_241 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@52856.8]
+  assign _T_243 = _T_241 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52858.8]
+  assign _T_244 = _T_243 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52859.8]
+  assign _T_254 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@52882.6]
+  assign _T_256 = io_in_a_bits_size <= 4'hc; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@52885.8]
+  assign _T_264 = _T_256 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@52893.8]
+  assign _T_266 = io_in_a_bits_size <= 4'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@52895.8]
+  assign _T_304 = _T_101 | _T_106; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@52933.8]
+  assign _T_305 = _T_304 | _T_111; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@52934.8]
+  assign _T_306 = _T_305 | _T_116; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@52935.8]
+  assign _T_307 = _T_306 | _T_121; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@52936.8]
+  assign _T_308 = _T_307 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@52937.8]
+  assign _T_309 = _T_308 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@52938.8]
+  assign _T_310 = _T_266 & _T_309; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@52939.8]
+  assign _T_312 = _T_264 | _T_310; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@52941.8]
+  assign _T_314 = _T_312 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52943.8]
+  assign _T_315 = _T_314 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52944.8]
+  assign _T_322 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@52963.8]
+  assign _T_324 = _T_322 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52965.8]
+  assign _T_325 = _T_324 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52966.8]
+  assign _T_326 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@52971.8]
+  assign _T_328 = _T_326 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52973.8]
+  assign _T_329 = _T_328 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52974.8]
+  assign _T_334 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@52988.6]
+  assign _T_382 = _T_306 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@53037.8]
+  assign _T_383 = _T_382 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@53038.8]
+  assign _T_384 = _T_266 & _T_383; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@53039.8]
+  assign _T_393 = _T_264 | _T_384; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@53048.8]
+  assign _T_396 = _T_393 | reset; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53051.8]
+  assign _T_397 = _T_396 == 1'h0; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53052.8]
+  assign _T_412 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@53088.6]
+  assign _T_486 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@53179.8]
+  assign _T_487 = io_in_a_bits_mask & _T_486; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@53180.8]
+  assign _T_488 = _T_487 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@53181.8]
+  assign _T_490 = _T_488 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53183.8]
+  assign _T_491 = _T_490 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53184.8]
+  assign _T_492 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@53190.6]
+  assign _T_494 = io_in_a_bits_size <= 4'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@53193.8]
+  assign _T_536 = _T_135 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@53235.8]
+  assign _T_537 = _T_536 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@53236.8]
+  assign _T_538 = _T_494 & _T_537; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@53237.8]
+  assign _T_549 = _T_538 | reset; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53248.8]
+  assign _T_550 = _T_549 == 1'h0; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53249.8]
+  assign _T_557 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@53268.8]
+  assign _T_559 = _T_557 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53270.8]
+  assign _T_560 = _T_559 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53271.8]
+  assign _T_565 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@53285.6]
+  assign _T_630 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@53363.8]
+  assign _T_632 = _T_630 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53365.8]
+  assign _T_633 = _T_632 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53366.8]
+  assign _T_638 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@53380.6]
+  assign _T_695 = _T_264 | reset; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53438.8]
+  assign _T_696 = _T_695 == 1'h0; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53439.8]
+  assign _T_711 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@53477.6]
+  assign _T_713 = _T_711 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@53479.6]
+  assign _T_714 = _T_713 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@53480.6]
+  assign _T_716 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@53486.6]
+  assign _T_725 = io_in_d_bits_source | _T_716; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@53491.6]
+  assign _T_727 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@53493.6]
+  assign _T_729 = _T_725 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53496.8]
+  assign _T_730 = _T_729 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53497.8]
+  assign _T_731 = io_in_d_bits_size >= 4'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@53502.8]
+  assign _T_733 = _T_731 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53504.8]
+  assign _T_734 = _T_733 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53505.8]
+  assign _T_735 = io_in_d_bits_param == 2'h0; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@53510.8]
+  assign _T_737 = _T_735 | reset; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53512.8]
+  assign _T_738 = _T_737 == 1'h0; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53513.8]
+  assign _T_739 = io_in_d_bits_corrupt == 1'h0; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@53518.8]
+  assign _T_741 = _T_739 | reset; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53520.8]
+  assign _T_742 = _T_741 == 1'h0; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53521.8]
+  assign _T_743 = io_in_d_bits_denied == 1'h0; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@53526.8]
+  assign _T_745 = _T_743 | reset; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53528.8]
+  assign _T_746 = _T_745 == 1'h0; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53529.8]
+  assign _T_747 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@53535.6]
+  assign _T_758 = io_in_d_bits_param <= 2'h2; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@53559.8]
+  assign _T_760 = _T_758 | reset; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53561.8]
+  assign _T_761 = _T_760 == 1'h0; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53562.8]
+  assign _T_762 = io_in_d_bits_param != 2'h2; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@53567.8]
+  assign _T_764 = _T_762 | reset; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53569.8]
+  assign _T_765 = _T_764 == 1'h0; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53570.8]
+  assign _T_775 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@53593.6]
+  assign _T_795 = _T_743 | io_in_d_bits_corrupt; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@53634.8]
+  assign _T_797 = _T_795 | reset; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53636.8]
+  assign _T_798 = _T_797 == 1'h0; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53637.8]
+  assign _T_804 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@53652.6]
+  assign _T_821 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@53687.6]
+  assign _T_839 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@53723.6]
+  assign _T_868 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@53783.4]
+  assign _T_873 = _T_34[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@53788.4]
+  assign _T_874 = io_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@53789.4]
+  assign _T_875 = _T_874 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@53790.4]
+  assign _T_879 = _T_878 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@53793.4]
+  assign _T_880 = $unsigned(_T_879); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@53794.4]
+  assign _T_881 = _T_880[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@53795.4]
+  assign _T_882 = _T_878 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@53796.4]
+  assign _T_900 = _T_882 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@53812.4]
+  assign _T_901 = io_in_a_valid & _T_900; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@53813.4]
+  assign _T_902 = io_in_a_bits_opcode == _T_891; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@53815.6]
+  assign _T_904 = _T_902 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53817.6]
+  assign _T_905 = _T_904 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53818.6]
+  assign _T_906 = io_in_a_bits_param == _T_893; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@53823.6]
+  assign _T_908 = _T_906 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53825.6]
+  assign _T_909 = _T_908 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53826.6]
+  assign _T_910 = io_in_a_bits_size == _T_895; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@53831.6]
+  assign _T_912 = _T_910 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53833.6]
+  assign _T_913 = _T_912 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53834.6]
+  assign _T_914 = io_in_a_bits_source == _T_897; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@53839.6]
+  assign _T_916 = _T_914 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53841.6]
+  assign _T_917 = _T_916 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53842.6]
+  assign _T_918 = io_in_a_bits_address == _T_899; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@53847.6]
+  assign _T_920 = _T_918 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53849.6]
+  assign _T_921 = _T_920 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53850.6]
+  assign _T_923 = _T_868 & _T_882; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@53857.4]
+  assign _T_924 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@53865.4]
+  assign _T_926 = 27'hfff << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@53867.4]
+  assign _T_927 = _T_926[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@53868.4]
+  assign _T_928 = ~ _T_927; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@53869.4]
+  assign _T_929 = _T_928[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@53870.4]
+  assign _T_930 = io_in_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@53871.4]
+  assign _T_934 = _T_933 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@53874.4]
+  assign _T_935 = $unsigned(_T_934); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@53875.4]
+  assign _T_936 = _T_935[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@53876.4]
+  assign _T_937 = _T_933 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@53877.4]
+  assign _T_957 = _T_937 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@53894.4]
+  assign _T_958 = io_in_d_valid & _T_957; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@53895.4]
+  assign _T_959 = io_in_d_bits_opcode == _T_946; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@53897.6]
+  assign _T_961 = _T_959 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53899.6]
+  assign _T_962 = _T_961 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53900.6]
+  assign _T_963 = io_in_d_bits_param == _T_948; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@53905.6]
+  assign _T_965 = _T_963 | reset; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53907.6]
+  assign _T_966 = _T_965 == 1'h0; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53908.6]
+  assign _T_967 = io_in_d_bits_size == _T_950; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@53913.6]
+  assign _T_969 = _T_967 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53915.6]
+  assign _T_970 = _T_969 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53916.6]
+  assign _T_971 = io_in_d_bits_source == _T_952; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@53921.6]
+  assign _T_973 = _T_971 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53923.6]
+  assign _T_974 = _T_973 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53924.6]
+  assign _T_975 = io_in_d_bits_sink == _T_954; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@53929.6]
+  assign _T_977 = _T_975 | reset; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53931.6]
+  assign _T_978 = _T_977 == 1'h0; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53932.6]
+  assign _T_979 = io_in_d_bits_denied == _T_956; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@53937.6]
+  assign _T_981 = _T_979 | reset; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53939.6]
+  assign _T_982 = _T_981 == 1'h0; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53940.6]
+  assign _T_984 = _T_924 & _T_937; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@53947.4]
+  assign _T_998 = _T_997 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@53967.4]
+  assign _T_999 = $unsigned(_T_998); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@53968.4]
+  assign _T_1000 = _T_999[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@53969.4]
+  assign _T_1001 = _T_997 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@53970.4]
+  assign _T_1019 = _T_1018 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@53990.4]
+  assign _T_1020 = $unsigned(_T_1019); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@53991.4]
+  assign _T_1021 = _T_1020[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@53992.4]
+  assign _T_1022 = _T_1018 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@53993.4]
+  assign _T_1033 = _T_868 & _T_1001; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@54008.4]
+  assign _T_1035 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@54011.6]
+  assign _T_1036 = _T_986 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@54013.6]
+  assign _T_1037 = _T_1036[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@54014.6]
+  assign _T_1038 = _T_1037 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54015.6]
+  assign _T_1040 = _T_1038 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@54017.6]
+  assign _T_1041 = _T_1040 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@54018.6]
+  assign _GEN_15 = _T_1033 ? _T_1035 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54010.4]
+  assign _T_1046 = _T_924 & _T_1022; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@54029.4]
+  assign _T_1048 = _T_727 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@54031.4]
+  assign _T_1049 = _T_1046 & _T_1048; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54032.4]
+  assign _T_1050 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@54034.6]
+  assign _T_1051 = _GEN_15 | _T_986; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@54036.6]
+  assign _T_1052 = _T_1051 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@54037.6]
+  assign _T_1053 = _T_1052[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@54038.6]
+  assign _T_1055 = _T_1053 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@54040.6]
+  assign _T_1056 = _T_1055 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@54041.6]
+  assign _GEN_16 = _T_1049 ? _T_1050 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@54033.4]
+  assign _T_1057 = _GEN_15 != _GEN_16; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@54047.4]
+  assign _T_1058 = _GEN_15 != 2'h0; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@54048.4]
+  assign _T_1059 = _T_1058 == 1'h0; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@54049.4]
+  assign _T_1060 = _T_1057 | _T_1059; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@54050.4]
+  assign _T_1062 = _T_1060 | reset; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@54052.4]
+  assign _T_1063 = _T_1062 == 1'h0; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@54053.4]
+  assign _T_1064 = _T_986 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@54058.4]
+  assign _T_1065 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@54059.4]
+  assign _T_1066 = _T_1064 & _T_1065; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@54060.4]
+  assign _T_1069 = _T_986 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@54065.4]
+  assign _T_1070 = _T_1069 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@54066.4]
+  assign _T_1071 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@54067.4]
+  assign _T_1072 = _T_1070 | _T_1071; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@54068.4]
+  assign _T_1073 = _T_1068 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@54069.4]
+  assign _T_1074 = _T_1072 | _T_1073; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@54070.4]
+  assign _T_1076 = _T_1074 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@54072.4]
+  assign _T_1077 = _T_1076 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@54073.4]
+  assign _T_1079 = _T_1068 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@54079.4]
+  assign _T_1082 = _T_868 | _T_924; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@54083.4]
+  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52702.10]
+  assign _GEN_35 = io_in_a_valid & _T_170; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52816.10]
+  assign _GEN_53 = io_in_a_valid & _T_254; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52946.10]
+  assign _GEN_65 = io_in_a_valid & _T_334; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53054.10]
+  assign _GEN_75 = io_in_a_valid & _T_412; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53154.10]
+  assign _GEN_85 = io_in_a_valid & _T_492; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53251.10]
+  assign _GEN_95 = io_in_a_valid & _T_565; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53346.10]
+  assign _GEN_105 = io_in_a_valid & _T_638; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53441.10]
+  assign _GEN_115 = io_in_d_valid & _T_727; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53499.10]
+  assign _GEN_125 = io_in_d_valid & _T_747; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53541.10]
+  assign _GEN_137 = io_in_d_valid & _T_775; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53599.10]
+  assign _GEN_149 = io_in_d_valid & _T_804; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53658.10]
+  assign _GEN_155 = io_in_d_valid & _T_821; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53693.10]
+  assign _GEN_161 = io_in_d_valid & _T_839; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53729.10]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  _T_878 = _RAND_0[9:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  _T_891 = _RAND_1[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  _T_893 = _RAND_2[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  _T_895 = _RAND_3[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  _T_897 = _RAND_4[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  _T_899 = _RAND_5[29:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {1{`RANDOM}};
+  _T_933 = _RAND_6[9:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {1{`RANDOM}};
+  _T_946 = _RAND_7[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_8 = {1{`RANDOM}};
+  _T_948 = _RAND_8[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_9 = {1{`RANDOM}};
+  _T_950 = _RAND_9[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_10 = {1{`RANDOM}};
+  _T_952 = _RAND_10[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_11 = {1{`RANDOM}};
+  _T_954 = _RAND_11[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_12 = {1{`RANDOM}};
+  _T_956 = _RAND_12[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_13 = {1{`RANDOM}};
+  _T_986 = _RAND_13[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_14 = {1{`RANDOM}};
+  _T_997 = _RAND_14[9:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_15 = {1{`RANDOM}};
+  _T_1018 = _RAND_15[9:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_16 = {1{`RANDOM}};
+  _T_1068 = _RAND_16[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      _T_878 <= 10'h0;
+    end else begin
+      if (_T_868) begin
+        if (_T_882) begin
+          if (_T_875) begin
+            _T_878 <= _T_873;
+          end else begin
+            _T_878 <= 10'h0;
+          end
+        end else begin
+          _T_878 <= _T_881;
+        end
+      end
+    end
+    if (_T_923) begin
+      _T_891 <= io_in_a_bits_opcode;
+    end
+    if (_T_923) begin
+      _T_893 <= io_in_a_bits_param;
+    end
+    if (_T_923) begin
+      _T_895 <= io_in_a_bits_size;
+    end
+    if (_T_923) begin
+      _T_897 <= io_in_a_bits_source;
+    end
+    if (_T_923) begin
+      _T_899 <= io_in_a_bits_address;
+    end
+    if (reset) begin
+      _T_933 <= 10'h0;
+    end else begin
+      if (_T_924) begin
+        if (_T_937) begin
+          if (_T_930) begin
+            _T_933 <= _T_929;
+          end else begin
+            _T_933 <= 10'h0;
+          end
+        end else begin
+          _T_933 <= _T_936;
+        end
+      end
+    end
+    if (_T_984) begin
+      _T_946 <= io_in_d_bits_opcode;
+    end
+    if (_T_984) begin
+      _T_948 <= io_in_d_bits_param;
+    end
+    if (_T_984) begin
+      _T_950 <= io_in_d_bits_size;
+    end
+    if (_T_984) begin
+      _T_952 <= io_in_d_bits_source;
+    end
+    if (_T_984) begin
+      _T_954 <= io_in_d_bits_sink;
+    end
+    if (_T_984) begin
+      _T_956 <= io_in_d_bits_denied;
+    end
+    if (reset) begin
+      _T_986 <= 2'h0;
+    end else begin
+      _T_986 <= _T_1066;
+    end
+    if (reset) begin
+      _T_997 <= 10'h0;
+    end else begin
+      if (_T_868) begin
+        if (_T_1001) begin
+          if (_T_875) begin
+            _T_997 <= _T_873;
+          end else begin
+            _T_997 <= 10'h0;
+          end
+        end else begin
+          _T_997 <= _T_1000;
+        end
+      end
+    end
+    if (reset) begin
+      _T_1018 <= 10'h0;
+    end else begin
+      if (_T_924) begin
+        if (_T_1022) begin
+          if (_T_930) begin
+            _T_1018 <= _T_929;
+          end else begin
+            _T_1018 <= 10'h0;
+          end
+        end else begin
+          _T_1018 <= _T_1021;
+        end
+      end
+    end
+    if (reset) begin
+      _T_1068 <= 32'h0;
+    end else begin
+      if (_T_1082) begin
+        _T_1068 <= 32'h0;
+      end else begin
+        _T_1068 <= _T_1079;
+      end
+    end
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@52573.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@52574.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@52643.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@52644.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_143) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52702.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_143) begin
+          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52703.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_143) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52709.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_143) begin
+          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52710.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_149) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52716.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_149) begin
+          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52717.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_153) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52724.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_153) begin
+          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52725.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_156) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52731.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_156) begin
+          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52732.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_160) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52739.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_160) begin
+          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52740.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_165) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52748.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_165) begin
+          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52749.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_169) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52756.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_169) begin
+          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52757.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_143) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52816.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_143) begin
+          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52817.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_143) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52823.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_143) begin
+          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52824.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_149) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52830.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_149) begin
+          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52831.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_153) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52838.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_153) begin
+          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52839.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_156) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52845.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_156) begin
+          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52846.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_160) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52853.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_160) begin
+          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52854.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_244) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52861.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_244) begin
+          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52862.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_165) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52870.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_165) begin
+          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52871.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_169) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52878.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_169) begin
+          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52879.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_315) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52946.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_315) begin
+          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52947.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_149) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52953.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_149) begin
+          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52954.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_156) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52960.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_156) begin
+          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52961.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_325) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52968.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_325) begin
+          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52969.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_329) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52976.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_329) begin
+          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52977.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_169) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52984.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_169) begin
+          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52985.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_397) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53054.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_397) begin
+          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53055.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_149) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53061.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_149) begin
+          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53062.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_156) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53068.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_156) begin
+          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53069.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_325) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53076.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_325) begin
+          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53077.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_329) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53084.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_329) begin
+          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53085.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_397) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53154.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_397) begin
+          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53155.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_149) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53161.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_149) begin
+          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53162.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_156) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53168.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_156) begin
+          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53169.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_325) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53176.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_325) begin
+          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53177.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_491) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53186.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_491) begin
+          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53187.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_550) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53251.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_550) begin
+          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53252.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_149) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53258.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_149) begin
+          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53259.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_156) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53265.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_156) begin
+          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53266.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_560) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53273.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_560) begin
+          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53274.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_329) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53281.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_329) begin
+          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53282.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_550) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53346.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_550) begin
+          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53347.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_149) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53353.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_149) begin
+          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53354.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_156) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53360.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_156) begin
+          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53361.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_633) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53368.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_633) begin
+          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53369.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_329) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53376.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_329) begin
+          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53377.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_696) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53441.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_696) begin
+          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53442.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_149) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53448.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_149) begin
+          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53449.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_156) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53455.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_156) begin
+          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53456.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_329) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53463.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_329) begin
+          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53464.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_169) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53471.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_169) begin
+          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53472.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_714) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@53482.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_714) begin
+          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@53483.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_730) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53499.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_730) begin
+          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53500.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_734) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53507.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_734) begin
+          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53508.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_738) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53515.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_738) begin
+          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53516.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_742) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53523.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_742) begin
+          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53524.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_746) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53531.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_746) begin
+          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53532.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_730) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53541.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_730) begin
+          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53542.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_143) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53548.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_143) begin
+          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53549.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_734) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53556.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_734) begin
+          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53557.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_761) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53564.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_761) begin
+          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53565.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_765) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53572.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_765) begin
+          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53573.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_742) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53580.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_742) begin
+          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53581.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53589.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53590.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_137 & _T_730) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53599.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_137 & _T_730) begin
+          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53600.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_137 & _T_143) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53606.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_137 & _T_143) begin
+          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53607.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_137 & _T_734) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53614.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_137 & _T_734) begin
+          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53615.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_137 & _T_761) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53622.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_137 & _T_761) begin
+          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53623.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_137 & _T_765) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53630.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_137 & _T_765) begin
+          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53631.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_137 & _T_798) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53639.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_137 & _T_798) begin
+          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53640.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53648.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53649.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_149 & _T_730) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53658.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_149 & _T_730) begin
+          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53659.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_149 & _T_738) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53666.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_149 & _T_738) begin
+          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53667.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_149 & _T_742) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53674.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_149 & _T_742) begin
+          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53675.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53683.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53684.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_155 & _T_730) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53693.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_155 & _T_730) begin
+          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53694.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_155 & _T_738) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53701.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_155 & _T_738) begin
+          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53702.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_155 & _T_798) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53710.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_155 & _T_798) begin
+          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53711.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53719.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53720.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_161 & _T_730) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53729.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_161 & _T_730) begin
+          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53730.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_161 & _T_738) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53737.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_161 & _T_738) begin
+          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53738.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_161 & _T_742) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53745.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_161 & _T_742) begin
+          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53746.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53754.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53755.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53764.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53765.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53772.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53773.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53780.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53781.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_901 & _T_905) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53820.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_901 & _T_905) begin
+          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53821.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_901 & _T_909) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53828.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_901 & _T_909) begin
+          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53829.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_901 & _T_913) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53836.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_901 & _T_913) begin
+          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53837.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_901 & _T_917) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53844.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_901 & _T_917) begin
+          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53845.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_901 & _T_921) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53852.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_901 & _T_921) begin
+          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53853.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_958 & _T_962) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53902.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_958 & _T_962) begin
+          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53903.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_958 & _T_966) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53910.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_958 & _T_966) begin
+          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53911.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_958 & _T_970) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53918.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_958 & _T_970) begin
+          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53919.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_958 & _T_974) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53926.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_958 & _T_974) begin
+          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53927.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_958 & _T_978) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53934.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_958 & _T_978) begin
+          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53935.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_958 & _T_982) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53942.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_958 & _T_982) begin
+          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53943.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1033 & _T_1041) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@54020.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1033 & _T_1041) begin
+          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@54021.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1049 & _T_1056) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@54043.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1049 & _T_1056) begin
+          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@54044.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1063) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' and 'D' concurrent, despite minlatency 2 (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:471 assert(a_set =/= d_clr || !a_set.orR, s\"'A' and 'D' concurrent, despite minlatency ${edge.manager.minLatency}\" + extra)\n"); // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@54055.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1063) begin
+          $fatal; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@54056.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1077) begin
+          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@54075.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1077) begin
+          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@54076.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+endmodule
+module TLAtomicAutomata_1( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@54088.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@54089.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@54090.4]
+  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@54091.4]
+  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@54091.4]
+  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@54091.4]
+  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@54091.4]
+  input  [3:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@54091.4]
+  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@54091.4]
+  input  [29:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@54091.4]
+  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@54091.4]
+  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@54091.4]
+  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@54091.4]
+  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@54091.4]
+  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@54091.4]
+  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@54091.4]
+  output [1:0]  auto_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@54091.4]
+  output [3:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@54091.4]
+  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@54091.4]
+  output        auto_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@54091.4]
+  output        auto_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@54091.4]
+  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@54091.4]
+  output        auto_in_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@54091.4]
+  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@54091.4]
+  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@54091.4]
+  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@54091.4]
+  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@54091.4]
+  output [3:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@54091.4]
+  output        auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@54091.4]
+  output [29:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@54091.4]
+  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@54091.4]
+  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@54091.4]
+  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@54091.4]
+  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@54091.4]
+  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@54091.4]
+  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@54091.4]
+  input  [1:0]  auto_out_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@54091.4]
+  input  [3:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@54091.4]
+  input         auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@54091.4]
+  input         auto_out_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@54091.4]
+  input         auto_out_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@54091.4]
+  input  [31:0] auto_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@54091.4]
+  input         auto_out_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@54091.4]
+);
+  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@54098.4]
+  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@54098.4]
+  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@54098.4]
+  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@54098.4]
+  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@54098.4]
+  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@54098.4]
+  wire [3:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@54098.4]
+  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@54098.4]
+  wire [29:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@54098.4]
+  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@54098.4]
+  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@54098.4]
+  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@54098.4]
+  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@54098.4]
+  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@54098.4]
+  wire [1:0] TLMonitor_io_in_d_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@54098.4]
+  wire [3:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@54098.4]
+  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@54098.4]
+  wire  TLMonitor_io_in_d_bits_sink; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@54098.4]
+  wire  TLMonitor_io_in_d_bits_denied; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@54098.4]
+  wire  TLMonitor_io_in_d_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@54098.4]
+  reg [1:0] _T_258_0_state; // @[AtomicAutomata.scala 74:28:shc.marmotcaravel.MarmotCaravelConfig.fir@54145.4]
+  reg [31:0] _RAND_0;
+  reg [2:0] _T_269_0_bits_opcode; // @[AtomicAutomata.scala 75:24:shc.marmotcaravel.MarmotCaravelConfig.fir@54146.4]
+  reg [31:0] _RAND_1;
+  reg [2:0] _T_269_0_bits_param; // @[AtomicAutomata.scala 75:24:shc.marmotcaravel.MarmotCaravelConfig.fir@54146.4]
+  reg [31:0] _RAND_2;
+  reg [3:0] _T_269_0_bits_size; // @[AtomicAutomata.scala 75:24:shc.marmotcaravel.MarmotCaravelConfig.fir@54146.4]
+  reg [31:0] _RAND_3;
+  reg  _T_269_0_bits_source; // @[AtomicAutomata.scala 75:24:shc.marmotcaravel.MarmotCaravelConfig.fir@54146.4]
+  reg [31:0] _RAND_4;
+  reg [29:0] _T_269_0_bits_address; // @[AtomicAutomata.scala 75:24:shc.marmotcaravel.MarmotCaravelConfig.fir@54146.4]
+  reg [31:0] _RAND_5;
+  reg [3:0] _T_269_0_bits_mask; // @[AtomicAutomata.scala 75:24:shc.marmotcaravel.MarmotCaravelConfig.fir@54146.4]
+  reg [31:0] _RAND_6;
+  reg [31:0] _T_269_0_bits_data; // @[AtomicAutomata.scala 75:24:shc.marmotcaravel.MarmotCaravelConfig.fir@54146.4]
+  reg [31:0] _RAND_7;
+  reg  _T_269_0_bits_corrupt; // @[AtomicAutomata.scala 75:24:shc.marmotcaravel.MarmotCaravelConfig.fir@54146.4]
+  reg [31:0] _RAND_8;
+  reg [3:0] _T_269_0_fifoId; // @[AtomicAutomata.scala 75:24:shc.marmotcaravel.MarmotCaravelConfig.fir@54146.4]
+  reg [31:0] _RAND_9;
+  reg [3:0] _T_269_0_lut; // @[AtomicAutomata.scala 75:24:shc.marmotcaravel.MarmotCaravelConfig.fir@54146.4]
+  reg [31:0] _RAND_10;
+  reg [31:0] _T_276_0_data; // @[AtomicAutomata.scala 76:24:shc.marmotcaravel.MarmotCaravelConfig.fir@54147.4]
+  reg [31:0] _RAND_11;
+  reg  _T_276_0_denied; // @[AtomicAutomata.scala 76:24:shc.marmotcaravel.MarmotCaravelConfig.fir@54147.4]
+  reg [31:0] _RAND_12;
+  reg  _T_276_0_corrupt; // @[AtomicAutomata.scala 76:24:shc.marmotcaravel.MarmotCaravelConfig.fir@54147.4]
+  reg [31:0] _RAND_13;
+  wire  _T_280; // @[AtomicAutomata.scala 78:44:shc.marmotcaravel.MarmotCaravelConfig.fir@54148.4]
+  wire  _T_281; // @[AtomicAutomata.scala 79:44:shc.marmotcaravel.MarmotCaravelConfig.fir@54149.4]
+  wire  _T_282; // @[AtomicAutomata.scala 80:49:shc.marmotcaravel.MarmotCaravelConfig.fir@54150.4]
+  wire  _T_284; // @[AtomicAutomata.scala 80:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54152.4]
+  wire  _T_285; // @[AtomicAutomata.scala 81:49:shc.marmotcaravel.MarmotCaravelConfig.fir@54153.4]
+  wire  _T_287; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@54155.4]
+  wire [29:0] _T_290; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@54158.4]
+  wire [30:0] _T_291; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@54159.4]
+  wire [30:0] _T_292; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@54160.4]
+  wire [30:0] _T_293; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@54161.4]
+  wire  _T_294; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@54162.4]
+  wire  _T_295; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@54163.4]
+  wire  _T_338; // @[AtomicAutomata.scala 88:47:shc.marmotcaravel.MarmotCaravelConfig.fir@54206.4]
+  wire  _T_339; // @[AtomicAutomata.scala 89:47:shc.marmotcaravel.MarmotCaravelConfig.fir@54207.4]
+  wire  _T_340; // @[AtomicAutomata.scala 90:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54208.4]
+  wire  _T_341; // @[AtomicAutomata.scala 90:32:shc.marmotcaravel.MarmotCaravelConfig.fir@54209.4]
+  wire [29:0] _T_356; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@54224.4]
+  wire [30:0] _T_357; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@54225.4]
+  wire [30:0] _T_358; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@54226.4]
+  wire [30:0] _T_359; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@54227.4]
+  wire  _T_360; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@54228.4]
+  wire [29:0] _T_361; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@54229.4]
+  wire [30:0] _T_362; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@54230.4]
+  wire [30:0] _T_363; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@54231.4]
+  wire [30:0] _T_364; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@54232.4]
+  wire  _T_365; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@54233.4]
+  wire [29:0] _T_366; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@54234.4]
+  wire [30:0] _T_367; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@54235.4]
+  wire [30:0] _T_368; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@54236.4]
+  wire [30:0] _T_369; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@54237.4]
+  wire  _T_370; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@54238.4]
+  wire [29:0] _T_371; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@54239.4]
+  wire [30:0] _T_372; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@54240.4]
+  wire [30:0] _T_373; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@54241.4]
+  wire [30:0] _T_374; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@54242.4]
+  wire  _T_375; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@54243.4]
+  wire [29:0] _T_376; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@54244.4]
+  wire [30:0] _T_377; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@54245.4]
+  wire [30:0] _T_378; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@54246.4]
+  wire [30:0] _T_379; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@54247.4]
+  wire  _T_380; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@54248.4]
+  wire [29:0] _T_381; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@54249.4]
+  wire [30:0] _T_382; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@54250.4]
+  wire [30:0] _T_383; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@54251.4]
+  wire [30:0] _T_384; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@54252.4]
+  wire  _T_385; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@54253.4]
+  wire [29:0] _T_386; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@54254.4]
+  wire [30:0] _T_387; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@54255.4]
+  wire [30:0] _T_388; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@54256.4]
+  wire [30:0] _T_389; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@54257.4]
+  wire  _T_390; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@54258.4]
+  wire [29:0] _T_391; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@54259.4]
+  wire [30:0] _T_392; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@54260.4]
+  wire [30:0] _T_393; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@54261.4]
+  wire [30:0] _T_394; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@54262.4]
+  wire  _T_395; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@54263.4]
+  wire [29:0] _T_396; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@54264.4]
+  wire [30:0] _T_397; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@54265.4]
+  wire [30:0] _T_398; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@54266.4]
+  wire [30:0] _T_399; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@54267.4]
+  wire  _T_400; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@54268.4]
+  wire [29:0] _T_401; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@54269.4]
+  wire [30:0] _T_402; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@54270.4]
+  wire [30:0] _T_403; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@54271.4]
+  wire [30:0] _T_404; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@54272.4]
+  wire  _T_405; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@54273.4]
+  wire [2:0] _T_407; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54274.4]
+  wire [3:0] _T_408; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54275.4]
+  wire [2:0] _T_410; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54277.4]
+  wire [1:0] _T_411; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54278.4]
+  wire [3:0] _T_412; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54279.4]
+  wire [3:0] _T_414; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54281.4]
+  wire [2:0] _T_415; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54282.4]
+  wire [2:0] _T_416; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54283.4]
+  wire [1:0] _T_417; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54284.4]
+  wire [3:0] _GEN_39; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54285.4]
+  wire [3:0] _T_418; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54285.4]
+  wire [3:0] _GEN_40; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54287.4]
+  wire [3:0] _T_420; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54287.4]
+  wire [3:0] _GEN_41; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54288.4]
+  wire [3:0] _T_421; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54288.4]
+  wire [3:0] _T_422; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54289.4]
+  wire [3:0] _GEN_42; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54290.4]
+  wire [3:0] _T_423; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54290.4]
+  wire [3:0] _T_424; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54291.4]
+  wire [3:0] _GEN_43; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54292.4]
+  wire [3:0] _T_425; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54292.4]
+  wire [3:0] _GEN_44; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54293.4]
+  wire [3:0] _T_426; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54293.4]
+  wire [3:0] _GEN_45; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54294.4]
+  wire [3:0] _T_427; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54294.4]
+  wire  _T_430; // @[AtomicAutomata.scala 103:60:shc.marmotcaravel.MarmotCaravelConfig.fir@54297.4]
+  wire  _T_431; // @[AtomicAutomata.scala 103:96:shc.marmotcaravel.MarmotCaravelConfig.fir@54298.4]
+  wire  _T_435; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54302.4]
+  wire  _T_436; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@54303.4]
+  wire [1:0] _T_437; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54304.4]
+  wire  _T_438; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54305.4]
+  wire  _T_439; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@54306.4]
+  wire [1:0] _T_440; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54307.4]
+  wire  _T_441; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54308.4]
+  wire  _T_442; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@54309.4]
+  wire [1:0] _T_443; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54310.4]
+  wire  _T_444; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54311.4]
+  wire  _T_445; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@54312.4]
+  wire [1:0] _T_446; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54313.4]
+  wire  _T_447; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54314.4]
+  wire  _T_448; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@54315.4]
+  wire [1:0] _T_449; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54316.4]
+  wire  _T_450; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54317.4]
+  wire  _T_451; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@54318.4]
+  wire [1:0] _T_452; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54319.4]
+  wire  _T_453; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54320.4]
+  wire  _T_454; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@54321.4]
+  wire [1:0] _T_455; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54322.4]
+  wire  _T_456; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54323.4]
+  wire  _T_457; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@54324.4]
+  wire [1:0] _T_458; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54325.4]
+  wire  _T_459; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54326.4]
+  wire  _T_460; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@54327.4]
+  wire [1:0] _T_461; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54328.4]
+  wire  _T_462; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54329.4]
+  wire  _T_463; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@54330.4]
+  wire [1:0] _T_464; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54331.4]
+  wire  _T_465; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54332.4]
+  wire  _T_466; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@54333.4]
+  wire [1:0] _T_467; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54334.4]
+  wire  _T_468; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54335.4]
+  wire  _T_469; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@54336.4]
+  wire [1:0] _T_470; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54337.4]
+  wire  _T_471; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54338.4]
+  wire  _T_472; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@54339.4]
+  wire [1:0] _T_473; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54340.4]
+  wire  _T_474; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54341.4]
+  wire  _T_475; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@54342.4]
+  wire [1:0] _T_476; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54343.4]
+  wire  _T_477; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54344.4]
+  wire  _T_478; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@54345.4]
+  wire [1:0] _T_479; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54346.4]
+  wire  _T_480; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54347.4]
+  wire  _T_481; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@54348.4]
+  wire [1:0] _T_482; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54349.4]
+  wire  _T_483; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54350.4]
+  wire  _T_484; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@54351.4]
+  wire [1:0] _T_485; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54352.4]
+  wire  _T_486; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54353.4]
+  wire  _T_487; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@54354.4]
+  wire [1:0] _T_488; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54355.4]
+  wire  _T_489; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54356.4]
+  wire  _T_490; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@54357.4]
+  wire [1:0] _T_491; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54358.4]
+  wire  _T_492; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54359.4]
+  wire  _T_493; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@54360.4]
+  wire [1:0] _T_494; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54361.4]
+  wire  _T_495; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54362.4]
+  wire  _T_496; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@54363.4]
+  wire [1:0] _T_497; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54364.4]
+  wire  _T_498; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54365.4]
+  wire  _T_499; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@54366.4]
+  wire [1:0] _T_500; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54367.4]
+  wire  _T_501; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54368.4]
+  wire  _T_502; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@54369.4]
+  wire [1:0] _T_503; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54370.4]
+  wire  _T_504; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54371.4]
+  wire  _T_505; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@54372.4]
+  wire [1:0] _T_506; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54373.4]
+  wire  _T_507; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54374.4]
+  wire  _T_508; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@54375.4]
+  wire [1:0] _T_509; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54376.4]
+  wire  _T_510; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54377.4]
+  wire  _T_511; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@54378.4]
+  wire [1:0] _T_512; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54379.4]
+  wire  _T_513; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54380.4]
+  wire  _T_514; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@54381.4]
+  wire [1:0] _T_515; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54382.4]
+  wire  _T_516; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54383.4]
+  wire  _T_517; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@54384.4]
+  wire [1:0] _T_518; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54385.4]
+  wire  _T_519; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54386.4]
+  wire  _T_520; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@54387.4]
+  wire [1:0] _T_521; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54388.4]
+  wire  _T_522; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54389.4]
+  wire  _T_523; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@54390.4]
+  wire [1:0] _T_524; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54391.4]
+  wire  _T_525; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54392.4]
+  wire  _T_526; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@54393.4]
+  wire [1:0] _T_527; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54394.4]
+  wire  _T_528; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54395.4]
+  wire  _T_529; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@54396.4]
+  wire [1:0] _T_530; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54397.4]
+  wire [3:0] _T_531; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54398.4]
+  wire  _T_532; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54399.4]
+  wire [3:0] _T_533; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54400.4]
+  wire  _T_534; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54401.4]
+  wire [3:0] _T_535; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54402.4]
+  wire  _T_536; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54403.4]
+  wire [3:0] _T_537; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54404.4]
+  wire  _T_538; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54405.4]
+  wire [3:0] _T_539; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54406.4]
+  wire  _T_540; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54407.4]
+  wire [3:0] _T_541; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54408.4]
+  wire  _T_542; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54409.4]
+  wire [3:0] _T_543; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54410.4]
+  wire  _T_544; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54411.4]
+  wire [3:0] _T_545; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54412.4]
+  wire  _T_546; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54413.4]
+  wire [3:0] _T_547; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54414.4]
+  wire  _T_548; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54415.4]
+  wire [3:0] _T_549; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54416.4]
+  wire  _T_550; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54417.4]
+  wire [3:0] _T_551; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54418.4]
+  wire  _T_552; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54419.4]
+  wire [3:0] _T_553; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54420.4]
+  wire  _T_554; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54421.4]
+  wire [3:0] _T_555; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54422.4]
+  wire  _T_556; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54423.4]
+  wire [3:0] _T_557; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54424.4]
+  wire  _T_558; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54425.4]
+  wire [3:0] _T_559; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54426.4]
+  wire  _T_560; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54427.4]
+  wire [3:0] _T_561; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54428.4]
+  wire  _T_562; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54429.4]
+  wire [3:0] _T_563; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54430.4]
+  wire  _T_564; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54431.4]
+  wire [3:0] _T_565; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54432.4]
+  wire  _T_566; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54433.4]
+  wire [3:0] _T_567; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54434.4]
+  wire  _T_568; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54435.4]
+  wire [3:0] _T_569; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54436.4]
+  wire  _T_570; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54437.4]
+  wire [3:0] _T_571; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54438.4]
+  wire  _T_572; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54439.4]
+  wire [3:0] _T_573; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54440.4]
+  wire  _T_574; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54441.4]
+  wire [3:0] _T_575; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54442.4]
+  wire  _T_576; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54443.4]
+  wire [3:0] _T_577; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54444.4]
+  wire  _T_578; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54445.4]
+  wire [3:0] _T_579; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54446.4]
+  wire  _T_580; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54447.4]
+  wire [3:0] _T_581; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54448.4]
+  wire  _T_582; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54449.4]
+  wire [3:0] _T_583; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54450.4]
+  wire  _T_584; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54451.4]
+  wire [3:0] _T_585; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54452.4]
+  wire  _T_586; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54453.4]
+  wire [3:0] _T_587; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54454.4]
+  wire  _T_588; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54455.4]
+  wire [3:0] _T_589; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54456.4]
+  wire  _T_590; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54457.4]
+  wire [3:0] _T_591; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54458.4]
+  wire  _T_592; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54459.4]
+  wire [3:0] _T_593; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54460.4]
+  wire  _T_594; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54461.4]
+  wire [1:0] _T_595; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54462.4]
+  wire [1:0] _T_596; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54463.4]
+  wire [3:0] _T_597; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54464.4]
+  wire [1:0] _T_598; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54465.4]
+  wire [1:0] _T_599; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54466.4]
+  wire [3:0] _T_600; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54467.4]
+  wire [7:0] _T_601; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54468.4]
+  wire [1:0] _T_602; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54469.4]
+  wire [1:0] _T_603; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54470.4]
+  wire [3:0] _T_604; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54471.4]
+  wire [1:0] _T_605; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54472.4]
+  wire [1:0] _T_606; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54473.4]
+  wire [3:0] _T_607; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54474.4]
+  wire [7:0] _T_608; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54475.4]
+  wire [15:0] _T_609; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54476.4]
+  wire [1:0] _T_610; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54477.4]
+  wire [1:0] _T_611; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54478.4]
+  wire [3:0] _T_612; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54479.4]
+  wire [1:0] _T_613; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54480.4]
+  wire [1:0] _T_614; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54481.4]
+  wire [3:0] _T_615; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54482.4]
+  wire [7:0] _T_616; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54483.4]
+  wire [1:0] _T_617; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54484.4]
+  wire [1:0] _T_618; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54485.4]
+  wire [3:0] _T_619; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54486.4]
+  wire [1:0] _T_620; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54487.4]
+  wire [1:0] _T_621; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54488.4]
+  wire [3:0] _T_622; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54489.4]
+  wire [7:0] _T_623; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54490.4]
+  wire [15:0] _T_624; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54491.4]
+  wire [31:0] _T_625; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54492.4]
+  wire  _T_626; // @[AtomicAutomata.scala 115:42:shc.marmotcaravel.MarmotCaravelConfig.fir@54493.4]
+  wire  _T_627; // @[AtomicAutomata.scala 116:42:shc.marmotcaravel.MarmotCaravelConfig.fir@54494.4]
+  wire  _T_628; // @[AtomicAutomata.scala 117:39:shc.marmotcaravel.MarmotCaravelConfig.fir@54495.4]
+  wire [3:0] _T_629; // @[AtomicAutomata.scala 119:25:shc.marmotcaravel.MarmotCaravelConfig.fir@54496.4]
+  wire [2:0] _T_630; // @[AtomicAutomata.scala 119:39:shc.marmotcaravel.MarmotCaravelConfig.fir@54497.4]
+  wire [3:0] _GEN_46; // @[AtomicAutomata.scala 119:31:shc.marmotcaravel.MarmotCaravelConfig.fir@54498.4]
+  wire [3:0] _T_631; // @[AtomicAutomata.scala 119:31:shc.marmotcaravel.MarmotCaravelConfig.fir@54498.4]
+  wire [3:0] _T_632; // @[AtomicAutomata.scala 119:23:shc.marmotcaravel.MarmotCaravelConfig.fir@54499.4]
+  wire [1:0] _T_637; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54504.4]
+  wire [1:0] _T_638; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54505.4]
+  wire [3:0] _T_639; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54506.4]
+  wire [1:0] _T_644; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54511.4]
+  wire [1:0] _T_645; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54512.4]
+  wire [3:0] _T_646; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54513.4]
+  wire [3:0] _T_647; // @[AtomicAutomata.scala 123:38:shc.marmotcaravel.MarmotCaravelConfig.fir@54514.4]
+  wire [4:0] _GEN_47; // @[AtomicAutomata.scala 123:49:shc.marmotcaravel.MarmotCaravelConfig.fir@54515.4]
+  wire [4:0] _T_648; // @[AtomicAutomata.scala 123:49:shc.marmotcaravel.MarmotCaravelConfig.fir@54515.4]
+  wire [3:0] _T_649; // @[AtomicAutomata.scala 123:54:shc.marmotcaravel.MarmotCaravelConfig.fir@54516.4]
+  wire [3:0] _T_650; // @[AtomicAutomata.scala 124:38:shc.marmotcaravel.MarmotCaravelConfig.fir@54517.4]
+  wire [4:0] _GEN_48; // @[AtomicAutomata.scala 124:49:shc.marmotcaravel.MarmotCaravelConfig.fir@54518.4]
+  wire [4:0] _T_651; // @[AtomicAutomata.scala 124:49:shc.marmotcaravel.MarmotCaravelConfig.fir@54518.4]
+  wire [3:0] _T_652; // @[AtomicAutomata.scala 124:54:shc.marmotcaravel.MarmotCaravelConfig.fir@54519.4]
+  wire [4:0] _GEN_49; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@54520.4]
+  wire [4:0] _T_653; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@54520.4]
+  wire [3:0] _T_654; // @[package.scala 194:53:shc.marmotcaravel.MarmotCaravelConfig.fir@54521.4]
+  wire [3:0] _T_655; // @[package.scala 194:43:shc.marmotcaravel.MarmotCaravelConfig.fir@54522.4]
+  wire [5:0] _GEN_50; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@54523.4]
+  wire [5:0] _T_656; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@54523.4]
+  wire [3:0] _T_657; // @[package.scala 194:53:shc.marmotcaravel.MarmotCaravelConfig.fir@54524.4]
+  wire [3:0] _T_658; // @[package.scala 194:43:shc.marmotcaravel.MarmotCaravelConfig.fir@54525.4]
+  wire  _T_660; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@54527.4]
+  wire  _T_661; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@54528.4]
+  wire  _T_662; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@54529.4]
+  wire  _T_663; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@54530.4]
+  wire [7:0] _T_665; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@54532.4]
+  wire [7:0] _T_667; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@54534.4]
+  wire [7:0] _T_669; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@54536.4]
+  wire [7:0] _T_671; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@54538.4]
+  wire [15:0] _T_672; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54539.4]
+  wire [15:0] _T_673; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54540.4]
+  wire [31:0] _T_674; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54541.4]
+  wire [4:0] _GEN_51; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@54542.4]
+  wire [4:0] _T_675; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@54542.4]
+  wire [3:0] _T_676; // @[package.scala 194:53:shc.marmotcaravel.MarmotCaravelConfig.fir@54543.4]
+  wire [3:0] _T_677; // @[package.scala 194:43:shc.marmotcaravel.MarmotCaravelConfig.fir@54544.4]
+  wire [5:0] _GEN_52; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@54545.4]
+  wire [5:0] _T_678; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@54545.4]
+  wire [3:0] _T_679; // @[package.scala 194:53:shc.marmotcaravel.MarmotCaravelConfig.fir@54546.4]
+  wire [3:0] _T_680; // @[package.scala 194:43:shc.marmotcaravel.MarmotCaravelConfig.fir@54547.4]
+  wire  _T_682; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@54549.4]
+  wire  _T_683; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@54550.4]
+  wire  _T_684; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@54551.4]
+  wire  _T_685; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@54552.4]
+  wire [7:0] _T_687; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@54554.4]
+  wire [7:0] _T_689; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@54556.4]
+  wire [7:0] _T_691; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@54558.4]
+  wire [7:0] _T_693; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@54560.4]
+  wire [15:0] _T_694; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54561.4]
+  wire [15:0] _T_695; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54562.4]
+  wire [31:0] _T_696; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54563.4]
+  wire  _T_697; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@54564.4]
+  wire  _T_698; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@54565.4]
+  wire  _T_699; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@54566.4]
+  wire  _T_700; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@54567.4]
+  wire [7:0] _T_702; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@54569.4]
+  wire [7:0] _T_704; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@54571.4]
+  wire [7:0] _T_706; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@54573.4]
+  wire [7:0] _T_708; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@54575.4]
+  wire [15:0] _T_709; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54576.4]
+  wire [15:0] _T_710; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54577.4]
+  wire [31:0] _T_711; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54578.4]
+  wire [31:0] _T_712; // @[AtomicAutomata.scala 129:28:shc.marmotcaravel.MarmotCaravelConfig.fir@54579.4]
+  wire [31:0] _T_713; // @[AtomicAutomata.scala 129:41:shc.marmotcaravel.MarmotCaravelConfig.fir@54580.4]
+  wire [31:0] _T_714; // @[AtomicAutomata.scala 130:28:shc.marmotcaravel.MarmotCaravelConfig.fir@54581.4]
+  wire [31:0] _T_715; // @[AtomicAutomata.scala 130:41:shc.marmotcaravel.MarmotCaravelConfig.fir@54582.4]
+  wire [31:0] _T_716; // @[AtomicAutomata.scala 131:43:shc.marmotcaravel.MarmotCaravelConfig.fir@54583.4]
+  wire [31:0] _T_717; // @[AtomicAutomata.scala 131:26:shc.marmotcaravel.MarmotCaravelConfig.fir@54584.4]
+  wire [31:0] _T_719; // @[AtomicAutomata.scala 132:33:shc.marmotcaravel.MarmotCaravelConfig.fir@54586.4]
+  wire  _T_720; // @[AtomicAutomata.scala 134:49:shc.marmotcaravel.MarmotCaravelConfig.fir@54587.4]
+  wire  _T_721; // @[AtomicAutomata.scala 134:38:shc.marmotcaravel.MarmotCaravelConfig.fir@54588.4]
+  wire  _T_723; // @[AtomicAutomata.scala 135:50:shc.marmotcaravel.MarmotCaravelConfig.fir@54590.4]
+  wire  _T_724; // @[AtomicAutomata.scala 135:39:shc.marmotcaravel.MarmotCaravelConfig.fir@54591.4]
+  wire  _T_725; // @[AtomicAutomata.scala 135:65:shc.marmotcaravel.MarmotCaravelConfig.fir@54592.4]
+  wire  _T_726; // @[AtomicAutomata.scala 135:55:shc.marmotcaravel.MarmotCaravelConfig.fir@54593.4]
+  wire  _T_727; // @[AtomicAutomata.scala 135:27:shc.marmotcaravel.MarmotCaravelConfig.fir@54594.4]
+  wire  _T_728; // @[AtomicAutomata.scala 136:31:shc.marmotcaravel.MarmotCaravelConfig.fir@54595.4]
+  wire [31:0] _T_729; // @[AtomicAutomata.scala 137:50:shc.marmotcaravel.MarmotCaravelConfig.fir@54596.4]
+  wire [31:0] _T_730; // @[AtomicAutomata.scala 137:28:shc.marmotcaravel.MarmotCaravelConfig.fir@54597.4]
+  wire  _T_731; // @[AtomicAutomata.scala 143:34:shc.marmotcaravel.MarmotCaravelConfig.fir@54598.4]
+  wire [31:0] _T_732; // @[AtomicAutomata.scala 143:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54599.4]
+  wire  _T_736; // @[AtomicAutomata.scala 147:23:shc.marmotcaravel.MarmotCaravelConfig.fir@54602.4]
+  wire  _T_737; // @[AtomicAutomata.scala 147:53:shc.marmotcaravel.MarmotCaravelConfig.fir@54603.4]
+  wire  _T_738; // @[AtomicAutomata.scala 147:35:shc.marmotcaravel.MarmotCaravelConfig.fir@54604.4]
+  reg [9:0] _T_820; // @[Arbiter.scala 53:30:shc.marmotcaravel.MarmotCaravelConfig.fir@54701.4]
+  reg [31:0] _RAND_14;
+  wire  _T_821; // @[Arbiter.scala 54:28:shc.marmotcaravel.MarmotCaravelConfig.fir@54702.4]
+  wire  _T_740; // @[AtomicAutomata.scala 149:38:shc.marmotcaravel.MarmotCaravelConfig.fir@54607.4]
+  wire [1:0] _T_823; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54704.4]
+  wire [2:0] _GEN_53; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@54705.4]
+  wire [2:0] _T_824; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@54705.4]
+  wire [1:0] _T_825; // @[package.scala 194:53:shc.marmotcaravel.MarmotCaravelConfig.fir@54706.4]
+  wire [1:0] _T_826; // @[package.scala 194:43:shc.marmotcaravel.MarmotCaravelConfig.fir@54707.4]
+  wire [2:0] _GEN_54; // @[Arbiter.scala 15:78:shc.marmotcaravel.MarmotCaravelConfig.fir@54709.4]
+  wire [2:0] _T_828; // @[Arbiter.scala 15:78:shc.marmotcaravel.MarmotCaravelConfig.fir@54709.4]
+  wire [1:0] _T_829; // @[Arbiter.scala 15:83:shc.marmotcaravel.MarmotCaravelConfig.fir@54710.4]
+  wire [1:0] _T_830; // @[Arbiter.scala 15:61:shc.marmotcaravel.MarmotCaravelConfig.fir@54711.4]
+  wire  _T_832; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54713.4]
+  reg  _T_894_1; // @[Arbiter.scala 78:26:shc.marmotcaravel.MarmotCaravelConfig.fir@54764.4]
+  reg [31:0] _RAND_15;
+  wire  _T_913_1; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@54767.4]
+  wire  _T_922; // @[Arbiter.scala 84:31:shc.marmotcaravel.MarmotCaravelConfig.fir@54770.4]
+  wire  _T_741; // @[AtomicAutomata.scala 151:15:shc.marmotcaravel.MarmotCaravelConfig.fir@54610.4]
+  wire [2:0] _GEN_0; // @[AtomicAutomata.scala 151:31:shc.marmotcaravel.MarmotCaravelConfig.fir@54611.4]
+  wire [2:0] _GEN_1; // @[AtomicAutomata.scala 151:31:shc.marmotcaravel.MarmotCaravelConfig.fir@54611.4]
+  wire  _T_745; // @[AtomicAutomata.scala 164:45:shc.marmotcaravel.MarmotCaravelConfig.fir@54618.4]
+  wire  _T_779; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@54657.4]
+  wire [1:0] _T_780; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@54658.4]
+  wire [1:0] _T_782; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@54660.4]
+  wire  _T_783; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@54661.4]
+  wire  _T_784; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@54662.4]
+  wire  _T_785; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@54663.4]
+  wire  _T_786; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@54664.4]
+  wire  _T_788; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@54666.4]
+  wire  _T_789; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@54667.4]
+  wire  _T_791; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@54669.4]
+  wire  _T_792; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@54670.4]
+  wire  _T_793; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@54671.4]
+  wire  _T_794; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@54672.4]
+  wire  _T_795; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@54673.4]
+  wire  _T_796; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@54674.4]
+  wire  _T_797; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@54675.4]
+  wire  _T_798; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@54676.4]
+  wire  _T_799; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@54677.4]
+  wire  _T_800; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@54678.4]
+  wire  _T_801; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@54679.4]
+  wire  _T_802; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@54680.4]
+  wire  _T_803; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@54681.4]
+  wire  _T_804; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@54682.4]
+  wire  _T_805; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@54683.4]
+  wire  _T_806; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@54684.4]
+  wire  _T_807; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@54685.4]
+  wire [1:0] _T_808; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54686.4]
+  wire [1:0] _T_809; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54687.4]
+  wire [3:0] _T_810; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54688.4]
+  wire [26:0] _T_812; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@54694.4]
+  wire [11:0] _T_813; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@54695.4]
+  wire [11:0] _T_814; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@54696.4]
+  wire [9:0] _T_815; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@54697.4]
+  wire  _T_816; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@54698.4]
+  wire  _T_817; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@54699.4]
+  wire  _T_822; // @[Arbiter.scala 55:24:shc.marmotcaravel.MarmotCaravelConfig.fir@54703.4]
+  wire  _T_831; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54712.4]
+  wire  _T_841; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@54718.4]
+  wire  _T_842; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@54719.4]
+  wire  _T_852; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@54725.4]
+  wire  _T_854; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@54727.4]
+  wire  _T_857; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@54730.4]
+  wire  _T_858; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@54731.4]
+  wire  _T_861; // @[Arbiter.scala 68:13:shc.marmotcaravel.MarmotCaravelConfig.fir@54734.4]
+  wire  _T_862; // @[Arbiter.scala 68:13:shc.marmotcaravel.MarmotCaravelConfig.fir@54735.4]
+  wire  _T_863; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@54740.4]
+  wire  _T_864; // @[Arbiter.scala 70:15:shc.marmotcaravel.MarmotCaravelConfig.fir@54741.4]
+  wire  _T_866; // @[Arbiter.scala 70:36:shc.marmotcaravel.MarmotCaravelConfig.fir@54743.4]
+  wire  _T_868; // @[Arbiter.scala 70:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54745.4]
+  wire  _T_869; // @[Arbiter.scala 70:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54746.4]
+  reg  _T_894_0; // @[Arbiter.scala 78:26:shc.marmotcaravel.MarmotCaravelConfig.fir@54764.4]
+  reg [31:0] _RAND_16;
+  wire  _T_925; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54773.4]
+  wire  _T_926; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54774.4]
+  wire  _T_927; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54775.4]
+  wire  _T_930; // @[Arbiter.scala 86:24:shc.marmotcaravel.MarmotCaravelConfig.fir@54778.4]
+  wire  _T_873; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@54754.4]
+  wire [9:0] _GEN_55; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@54755.4]
+  wire [10:0] _T_874; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@54755.4]
+  wire [10:0] _T_875; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@54756.4]
+  wire [9:0] _T_876; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@54757.4]
+  wire  _T_905_0; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@54765.4]
+  wire  _T_905_1; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@54765.4]
+  wire  _T_913_0; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@54767.4]
+  wire  _T_921; // @[Arbiter.scala 84:31:shc.marmotcaravel.MarmotCaravelConfig.fir@54768.4]
+  wire [32:0] _T_932; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54780.4]
+  wire [33:0] _T_933; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54781.4]
+  wire [66:0] _T_934; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54782.4]
+  wire [4:0] _T_935; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54783.4]
+  wire [10:0] _T_937; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54785.4]
+  wire [77:0] _T_938; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54786.4]
+  wire [77:0] _T_939; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54787.4]
+  wire [32:0] _T_940; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54788.4]
+  wire [33:0] _T_941; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54789.4]
+  wire [66:0] _T_942; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54790.4]
+  wire [4:0] _T_943; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54791.4]
+  wire [5:0] _T_944; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54792.4]
+  wire [10:0] _T_945; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54793.4]
+  wire [77:0] _T_946; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54794.4]
+  wire [77:0] _T_947; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54795.4]
+  wire [77:0] _T_948; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54796.4]
+  wire  _T_961; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@54817.4]
+  wire  _T_963; // @[AtomicAutomata.scala 170:31:shc.marmotcaravel.MarmotCaravelConfig.fir@54819.4]
+  wire [1:0] _T_964; // @[AtomicAutomata.scala 175:52:shc.marmotcaravel.MarmotCaravelConfig.fir@54824.8]
+  wire [2:0] _GEN_56; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@54825.8]
+  wire  _T_965; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@54825.8]
+  wire  _T_967; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@54827.8]
+  wire  _T_969; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@54829.8]
+  wire  _T_971; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@54831.8]
+  wire  _T_973; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@54839.4]
+  reg [9:0] _T_983; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@54853.4]
+  reg [31:0] _RAND_17;
+  wire  _T_987; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@54857.4]
+  wire  _T_999; // @[AtomicAutomata.scala 209:40:shc.marmotcaravel.MarmotCaravelConfig.fir@54872.4]
+  wire  _T_1005; // @[AtomicAutomata.scala 228:30:shc.marmotcaravel.MarmotCaravelConfig.fir@54888.4]
+  wire  _T_995; // @[AtomicAutomata.scala 200:53:shc.marmotcaravel.MarmotCaravelConfig.fir@54868.4]
+  wire  _T_996; // @[AtomicAutomata.scala 201:83:shc.marmotcaravel.MarmotCaravelConfig.fir@54869.4]
+  wire  _T_1006; // @[AtomicAutomata.scala 228:40:shc.marmotcaravel.MarmotCaravelConfig.fir@54889.4]
+  wire  _T_1011; // @[AtomicAutomata.scala 232:35:shc.marmotcaravel.MarmotCaravelConfig.fir@54895.4]
+  wire  _T_974; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@54845.4]
+  wire [26:0] _T_976; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@54847.4]
+  wire [11:0] _T_977; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@54848.4]
+  wire [11:0] _T_978; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@54849.4]
+  wire [9:0] _T_979; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@54850.4]
+  wire  _T_980; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@54851.4]
+  wire [10:0] _T_984; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@54854.4]
+  wire [10:0] _T_985; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@54855.4]
+  wire [9:0] _T_986; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@54856.4]
+  wire  _T_1000; // @[AtomicAutomata.scala 210:40:shc.marmotcaravel.MarmotCaravelConfig.fir@54873.4]
+  wire  _T_1002; // @[AtomicAutomata.scala 212:28:shc.marmotcaravel.MarmotCaravelConfig.fir@54875.4]
+  wire  _T_1003; // @[AtomicAutomata.scala 214:22:shc.marmotcaravel.MarmotCaravelConfig.fir@54877.6]
+  wire  _T_1007; // @[AtomicAutomata.scala 229:33:shc.marmotcaravel.MarmotCaravelConfig.fir@54890.4]
+  wire  _T_1008; // @[AtomicAutomata.scala 229:42:shc.marmotcaravel.MarmotCaravelConfig.fir@54891.4]
+  wire  _T_1009; // @[AtomicAutomata.scala 231:38:shc.marmotcaravel.MarmotCaravelConfig.fir@54892.4]
+  wire  _T_1012; // @[AtomicAutomata.scala 238:46:shc.marmotcaravel.MarmotCaravelConfig.fir@54901.6]
+  wire  _T_1013; // @[AtomicAutomata.scala 239:46:shc.marmotcaravel.MarmotCaravelConfig.fir@54903.6]
+  TLMonitor_29 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@54098.4]
+    .clock(TLMonitor_clock),
+    .reset(TLMonitor_reset),
+    .io_in_a_ready(TLMonitor_io_in_a_ready),
+    .io_in_a_valid(TLMonitor_io_in_a_valid),
+    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
+    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
+    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
+    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
+    .io_in_d_ready(TLMonitor_io_in_d_ready),
+    .io_in_d_valid(TLMonitor_io_in_d_valid),
+    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
+    .io_in_d_bits_param(TLMonitor_io_in_d_bits_param),
+    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
+    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source),
+    .io_in_d_bits_sink(TLMonitor_io_in_d_bits_sink),
+    .io_in_d_bits_denied(TLMonitor_io_in_d_bits_denied),
+    .io_in_d_bits_corrupt(TLMonitor_io_in_d_bits_corrupt)
+  );
+  assign _T_280 = _T_258_0_state == 2'h0; // @[AtomicAutomata.scala 78:44:shc.marmotcaravel.MarmotCaravelConfig.fir@54148.4]
+  assign _T_281 = _T_258_0_state == 2'h2; // @[AtomicAutomata.scala 79:44:shc.marmotcaravel.MarmotCaravelConfig.fir@54149.4]
+  assign _T_282 = _T_258_0_state == 2'h3; // @[AtomicAutomata.scala 80:49:shc.marmotcaravel.MarmotCaravelConfig.fir@54150.4]
+  assign _T_284 = _T_282 | _T_281; // @[AtomicAutomata.scala 80:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54152.4]
+  assign _T_285 = _T_258_0_state != 2'h0; // @[AtomicAutomata.scala 81:49:shc.marmotcaravel.MarmotCaravelConfig.fir@54153.4]
+  assign _T_287 = auto_in_a_bits_size <= 4'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@54155.4]
+  assign _T_290 = auto_in_a_bits_address ^ 30'h1000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@54158.4]
+  assign _T_291 = {1'b0,$signed(_T_290)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@54159.4]
+  assign _T_292 = $signed(_T_291) & $signed(31'sh30021000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@54160.4]
+  assign _T_293 = $signed(_T_292); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@54161.4]
+  assign _T_294 = $signed(_T_293) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@54162.4]
+  assign _T_295 = _T_287 & _T_294; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@54163.4]
+  assign _T_338 = auto_in_a_bits_opcode == 3'h3; // @[AtomicAutomata.scala 88:47:shc.marmotcaravel.MarmotCaravelConfig.fir@54206.4]
+  assign _T_339 = auto_in_a_bits_opcode == 3'h2; // @[AtomicAutomata.scala 89:47:shc.marmotcaravel.MarmotCaravelConfig.fir@54207.4]
+  assign _T_340 = _T_339 ? _T_295 : 1'h1; // @[AtomicAutomata.scala 90:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54208.4]
+  assign _T_341 = _T_338 ? _T_295 : _T_340; // @[AtomicAutomata.scala 90:32:shc.marmotcaravel.MarmotCaravelConfig.fir@54209.4]
+  assign _T_356 = auto_in_a_bits_address ^ 30'h14000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@54224.4]
+  assign _T_357 = {1'b0,$signed(_T_356)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@54225.4]
+  assign _T_358 = $signed(_T_357) & $signed(31'sh20077000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@54226.4]
+  assign _T_359 = $signed(_T_358); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@54227.4]
+  assign _T_360 = $signed(_T_359) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@54228.4]
+  assign _T_361 = auto_in_a_bits_address ^ 30'h26000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@54229.4]
+  assign _T_362 = {1'b0,$signed(_T_361)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@54230.4]
+  assign _T_363 = $signed(_T_362) & $signed(31'sh20077000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@54231.4]
+  assign _T_364 = $signed(_T_363); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@54232.4]
+  assign _T_365 = $signed(_T_364) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@54233.4]
+  assign _T_366 = auto_in_a_bits_address ^ 30'h23000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@54234.4]
+  assign _T_367 = {1'b0,$signed(_T_366)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@54235.4]
+  assign _T_368 = $signed(_T_367) & $signed(31'sh20077000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@54236.4]
+  assign _T_369 = $signed(_T_368); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@54237.4]
+  assign _T_370 = $signed(_T_369) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@54238.4]
+  assign _T_371 = auto_in_a_bits_address ^ 30'h24000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@54239.4]
+  assign _T_372 = {1'b0,$signed(_T_371)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@54240.4]
+  assign _T_373 = $signed(_T_372) & $signed(31'sh20077000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@54241.4]
+  assign _T_374 = $signed(_T_373); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@54242.4]
+  assign _T_375 = $signed(_T_374) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@54243.4]
+  assign _T_376 = auto_in_a_bits_address ^ 30'h16000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@54244.4]
+  assign _T_377 = {1'b0,$signed(_T_376)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@54245.4]
+  assign _T_378 = $signed(_T_377) & $signed(31'sh20077000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@54246.4]
+  assign _T_379 = $signed(_T_378); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@54247.4]
+  assign _T_380 = $signed(_T_379) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@54248.4]
+  assign _T_381 = auto_in_a_bits_address ^ 30'h33000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@54249.4]
+  assign _T_382 = {1'b0,$signed(_T_381)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@54250.4]
+  assign _T_383 = $signed(_T_382) & $signed(31'sh20077000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@54251.4]
+  assign _T_384 = $signed(_T_383); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@54252.4]
+  assign _T_385 = $signed(_T_384) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@54253.4]
+  assign _T_386 = auto_in_a_bits_address ^ 30'h34000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@54254.4]
+  assign _T_387 = {1'b0,$signed(_T_386)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@54255.4]
+  assign _T_388 = $signed(_T_387) & $signed(31'sh20077000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@54256.4]
+  assign _T_389 = $signed(_T_388); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@54257.4]
+  assign _T_390 = $signed(_T_389) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@54258.4]
+  assign _T_391 = auto_in_a_bits_address ^ 30'h43000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@54259.4]
+  assign _T_392 = {1'b0,$signed(_T_391)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@54260.4]
+  assign _T_393 = $signed(_T_392) & $signed(31'sh20077000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@54261.4]
+  assign _T_394 = $signed(_T_393); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@54262.4]
+  assign _T_395 = $signed(_T_394) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@54263.4]
+  assign _T_396 = auto_in_a_bits_address ^ 30'h12000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@54264.4]
+  assign _T_397 = {1'b0,$signed(_T_396)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@54265.4]
+  assign _T_398 = $signed(_T_397) & $signed(31'sh20077000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@54266.4]
+  assign _T_399 = $signed(_T_398); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@54267.4]
+  assign _T_400 = $signed(_T_399) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@54268.4]
+  assign _T_401 = auto_in_a_bits_address ^ 30'h53000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@54269.4]
+  assign _T_402 = {1'b0,$signed(_T_401)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@54270.4]
+  assign _T_403 = $signed(_T_402) & $signed(31'sh20077000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@54271.4]
+  assign _T_404 = $signed(_T_403); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@54272.4]
+  assign _T_405 = $signed(_T_404) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@54273.4]
+  assign _T_407 = _T_375 ? 3'h6 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54274.4]
+  assign _T_408 = _T_400 ? 4'h8 : 4'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54275.4]
+  assign _T_410 = _T_390 ? 3'h7 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54277.4]
+  assign _T_411 = _T_385 ? 2'h2 : 2'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54278.4]
+  assign _T_412 = _T_365 ? 4'ha : 4'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54279.4]
+  assign _T_414 = _T_380 ? 4'h9 : 4'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54281.4]
+  assign _T_415 = _T_405 ? 3'h4 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54282.4]
+  assign _T_416 = _T_360 ? 3'h5 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54283.4]
+  assign _T_417 = _T_395 ? 2'h3 : 2'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54284.4]
+  assign _GEN_39 = {{1'd0}, _T_407}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54285.4]
+  assign _T_418 = _GEN_39 | _T_408; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54285.4]
+  assign _GEN_40 = {{1'd0}, _T_410}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54287.4]
+  assign _T_420 = _T_418 | _GEN_40; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54287.4]
+  assign _GEN_41 = {{2'd0}, _T_411}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54288.4]
+  assign _T_421 = _T_420 | _GEN_41; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54288.4]
+  assign _T_422 = _T_421 | _T_412; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54289.4]
+  assign _GEN_42 = {{3'd0}, _T_370}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54290.4]
+  assign _T_423 = _T_422 | _GEN_42; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54290.4]
+  assign _T_424 = _T_423 | _T_414; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54291.4]
+  assign _GEN_43 = {{1'd0}, _T_415}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54292.4]
+  assign _T_425 = _T_424 | _GEN_43; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54292.4]
+  assign _GEN_44 = {{1'd0}, _T_416}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54293.4]
+  assign _T_426 = _T_425 | _GEN_44; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54293.4]
+  assign _GEN_45 = {{2'd0}, _T_417}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54294.4]
+  assign _T_427 = _T_426 | _GEN_45; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54294.4]
+  assign _T_430 = _T_269_0_fifoId == _T_427; // @[AtomicAutomata.scala 103:60:shc.marmotcaravel.MarmotCaravelConfig.fir@54297.4]
+  assign _T_431 = _T_284 & _T_430; // @[AtomicAutomata.scala 103:96:shc.marmotcaravel.MarmotCaravelConfig.fir@54298.4]
+  assign _T_435 = _T_269_0_bits_data[0]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54302.4]
+  assign _T_436 = _T_276_0_data[0]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@54303.4]
+  assign _T_437 = {_T_435,_T_436}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54304.4]
+  assign _T_438 = _T_269_0_bits_data[1]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54305.4]
+  assign _T_439 = _T_276_0_data[1]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@54306.4]
+  assign _T_440 = {_T_438,_T_439}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54307.4]
+  assign _T_441 = _T_269_0_bits_data[2]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54308.4]
+  assign _T_442 = _T_276_0_data[2]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@54309.4]
+  assign _T_443 = {_T_441,_T_442}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54310.4]
+  assign _T_444 = _T_269_0_bits_data[3]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54311.4]
+  assign _T_445 = _T_276_0_data[3]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@54312.4]
+  assign _T_446 = {_T_444,_T_445}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54313.4]
+  assign _T_447 = _T_269_0_bits_data[4]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54314.4]
+  assign _T_448 = _T_276_0_data[4]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@54315.4]
+  assign _T_449 = {_T_447,_T_448}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54316.4]
+  assign _T_450 = _T_269_0_bits_data[5]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54317.4]
+  assign _T_451 = _T_276_0_data[5]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@54318.4]
+  assign _T_452 = {_T_450,_T_451}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54319.4]
+  assign _T_453 = _T_269_0_bits_data[6]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54320.4]
+  assign _T_454 = _T_276_0_data[6]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@54321.4]
+  assign _T_455 = {_T_453,_T_454}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54322.4]
+  assign _T_456 = _T_269_0_bits_data[7]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54323.4]
+  assign _T_457 = _T_276_0_data[7]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@54324.4]
+  assign _T_458 = {_T_456,_T_457}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54325.4]
+  assign _T_459 = _T_269_0_bits_data[8]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54326.4]
+  assign _T_460 = _T_276_0_data[8]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@54327.4]
+  assign _T_461 = {_T_459,_T_460}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54328.4]
+  assign _T_462 = _T_269_0_bits_data[9]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54329.4]
+  assign _T_463 = _T_276_0_data[9]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@54330.4]
+  assign _T_464 = {_T_462,_T_463}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54331.4]
+  assign _T_465 = _T_269_0_bits_data[10]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54332.4]
+  assign _T_466 = _T_276_0_data[10]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@54333.4]
+  assign _T_467 = {_T_465,_T_466}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54334.4]
+  assign _T_468 = _T_269_0_bits_data[11]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54335.4]
+  assign _T_469 = _T_276_0_data[11]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@54336.4]
+  assign _T_470 = {_T_468,_T_469}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54337.4]
+  assign _T_471 = _T_269_0_bits_data[12]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54338.4]
+  assign _T_472 = _T_276_0_data[12]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@54339.4]
+  assign _T_473 = {_T_471,_T_472}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54340.4]
+  assign _T_474 = _T_269_0_bits_data[13]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54341.4]
+  assign _T_475 = _T_276_0_data[13]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@54342.4]
+  assign _T_476 = {_T_474,_T_475}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54343.4]
+  assign _T_477 = _T_269_0_bits_data[14]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54344.4]
+  assign _T_478 = _T_276_0_data[14]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@54345.4]
+  assign _T_479 = {_T_477,_T_478}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54346.4]
+  assign _T_480 = _T_269_0_bits_data[15]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54347.4]
+  assign _T_481 = _T_276_0_data[15]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@54348.4]
+  assign _T_482 = {_T_480,_T_481}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54349.4]
+  assign _T_483 = _T_269_0_bits_data[16]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54350.4]
+  assign _T_484 = _T_276_0_data[16]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@54351.4]
+  assign _T_485 = {_T_483,_T_484}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54352.4]
+  assign _T_486 = _T_269_0_bits_data[17]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54353.4]
+  assign _T_487 = _T_276_0_data[17]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@54354.4]
+  assign _T_488 = {_T_486,_T_487}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54355.4]
+  assign _T_489 = _T_269_0_bits_data[18]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54356.4]
+  assign _T_490 = _T_276_0_data[18]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@54357.4]
+  assign _T_491 = {_T_489,_T_490}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54358.4]
+  assign _T_492 = _T_269_0_bits_data[19]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54359.4]
+  assign _T_493 = _T_276_0_data[19]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@54360.4]
+  assign _T_494 = {_T_492,_T_493}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54361.4]
+  assign _T_495 = _T_269_0_bits_data[20]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54362.4]
+  assign _T_496 = _T_276_0_data[20]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@54363.4]
+  assign _T_497 = {_T_495,_T_496}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54364.4]
+  assign _T_498 = _T_269_0_bits_data[21]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54365.4]
+  assign _T_499 = _T_276_0_data[21]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@54366.4]
+  assign _T_500 = {_T_498,_T_499}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54367.4]
+  assign _T_501 = _T_269_0_bits_data[22]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54368.4]
+  assign _T_502 = _T_276_0_data[22]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@54369.4]
+  assign _T_503 = {_T_501,_T_502}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54370.4]
+  assign _T_504 = _T_269_0_bits_data[23]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54371.4]
+  assign _T_505 = _T_276_0_data[23]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@54372.4]
+  assign _T_506 = {_T_504,_T_505}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54373.4]
+  assign _T_507 = _T_269_0_bits_data[24]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54374.4]
+  assign _T_508 = _T_276_0_data[24]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@54375.4]
+  assign _T_509 = {_T_507,_T_508}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54376.4]
+  assign _T_510 = _T_269_0_bits_data[25]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54377.4]
+  assign _T_511 = _T_276_0_data[25]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@54378.4]
+  assign _T_512 = {_T_510,_T_511}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54379.4]
+  assign _T_513 = _T_269_0_bits_data[26]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54380.4]
+  assign _T_514 = _T_276_0_data[26]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@54381.4]
+  assign _T_515 = {_T_513,_T_514}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54382.4]
+  assign _T_516 = _T_269_0_bits_data[27]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54383.4]
+  assign _T_517 = _T_276_0_data[27]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@54384.4]
+  assign _T_518 = {_T_516,_T_517}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54385.4]
+  assign _T_519 = _T_269_0_bits_data[28]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54386.4]
+  assign _T_520 = _T_276_0_data[28]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@54387.4]
+  assign _T_521 = {_T_519,_T_520}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54388.4]
+  assign _T_522 = _T_269_0_bits_data[29]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54389.4]
+  assign _T_523 = _T_276_0_data[29]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@54390.4]
+  assign _T_524 = {_T_522,_T_523}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54391.4]
+  assign _T_525 = _T_269_0_bits_data[30]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54392.4]
+  assign _T_526 = _T_276_0_data[30]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@54393.4]
+  assign _T_527 = {_T_525,_T_526}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54394.4]
+  assign _T_528 = _T_269_0_bits_data[31]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54395.4]
+  assign _T_529 = _T_276_0_data[31]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@54396.4]
+  assign _T_530 = {_T_528,_T_529}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54397.4]
+  assign _T_531 = _T_269_0_lut >> _T_437; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54398.4]
+  assign _T_532 = _T_531[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54399.4]
+  assign _T_533 = _T_269_0_lut >> _T_440; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54400.4]
+  assign _T_534 = _T_533[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54401.4]
+  assign _T_535 = _T_269_0_lut >> _T_443; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54402.4]
+  assign _T_536 = _T_535[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54403.4]
+  assign _T_537 = _T_269_0_lut >> _T_446; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54404.4]
+  assign _T_538 = _T_537[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54405.4]
+  assign _T_539 = _T_269_0_lut >> _T_449; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54406.4]
+  assign _T_540 = _T_539[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54407.4]
+  assign _T_541 = _T_269_0_lut >> _T_452; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54408.4]
+  assign _T_542 = _T_541[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54409.4]
+  assign _T_543 = _T_269_0_lut >> _T_455; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54410.4]
+  assign _T_544 = _T_543[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54411.4]
+  assign _T_545 = _T_269_0_lut >> _T_458; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54412.4]
+  assign _T_546 = _T_545[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54413.4]
+  assign _T_547 = _T_269_0_lut >> _T_461; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54414.4]
+  assign _T_548 = _T_547[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54415.4]
+  assign _T_549 = _T_269_0_lut >> _T_464; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54416.4]
+  assign _T_550 = _T_549[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54417.4]
+  assign _T_551 = _T_269_0_lut >> _T_467; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54418.4]
+  assign _T_552 = _T_551[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54419.4]
+  assign _T_553 = _T_269_0_lut >> _T_470; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54420.4]
+  assign _T_554 = _T_553[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54421.4]
+  assign _T_555 = _T_269_0_lut >> _T_473; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54422.4]
+  assign _T_556 = _T_555[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54423.4]
+  assign _T_557 = _T_269_0_lut >> _T_476; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54424.4]
+  assign _T_558 = _T_557[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54425.4]
+  assign _T_559 = _T_269_0_lut >> _T_479; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54426.4]
+  assign _T_560 = _T_559[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54427.4]
+  assign _T_561 = _T_269_0_lut >> _T_482; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54428.4]
+  assign _T_562 = _T_561[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54429.4]
+  assign _T_563 = _T_269_0_lut >> _T_485; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54430.4]
+  assign _T_564 = _T_563[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54431.4]
+  assign _T_565 = _T_269_0_lut >> _T_488; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54432.4]
+  assign _T_566 = _T_565[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54433.4]
+  assign _T_567 = _T_269_0_lut >> _T_491; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54434.4]
+  assign _T_568 = _T_567[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54435.4]
+  assign _T_569 = _T_269_0_lut >> _T_494; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54436.4]
+  assign _T_570 = _T_569[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54437.4]
+  assign _T_571 = _T_269_0_lut >> _T_497; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54438.4]
+  assign _T_572 = _T_571[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54439.4]
+  assign _T_573 = _T_269_0_lut >> _T_500; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54440.4]
+  assign _T_574 = _T_573[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54441.4]
+  assign _T_575 = _T_269_0_lut >> _T_503; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54442.4]
+  assign _T_576 = _T_575[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54443.4]
+  assign _T_577 = _T_269_0_lut >> _T_506; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54444.4]
+  assign _T_578 = _T_577[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54445.4]
+  assign _T_579 = _T_269_0_lut >> _T_509; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54446.4]
+  assign _T_580 = _T_579[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54447.4]
+  assign _T_581 = _T_269_0_lut >> _T_512; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54448.4]
+  assign _T_582 = _T_581[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54449.4]
+  assign _T_583 = _T_269_0_lut >> _T_515; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54450.4]
+  assign _T_584 = _T_583[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54451.4]
+  assign _T_585 = _T_269_0_lut >> _T_518; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54452.4]
+  assign _T_586 = _T_585[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54453.4]
+  assign _T_587 = _T_269_0_lut >> _T_521; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54454.4]
+  assign _T_588 = _T_587[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54455.4]
+  assign _T_589 = _T_269_0_lut >> _T_524; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54456.4]
+  assign _T_590 = _T_589[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54457.4]
+  assign _T_591 = _T_269_0_lut >> _T_527; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54458.4]
+  assign _T_592 = _T_591[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54459.4]
+  assign _T_593 = _T_269_0_lut >> _T_530; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54460.4]
+  assign _T_594 = _T_593[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54461.4]
+  assign _T_595 = {_T_534,_T_532}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54462.4]
+  assign _T_596 = {_T_538,_T_536}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54463.4]
+  assign _T_597 = {_T_596,_T_595}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54464.4]
+  assign _T_598 = {_T_542,_T_540}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54465.4]
+  assign _T_599 = {_T_546,_T_544}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54466.4]
+  assign _T_600 = {_T_599,_T_598}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54467.4]
+  assign _T_601 = {_T_600,_T_597}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54468.4]
+  assign _T_602 = {_T_550,_T_548}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54469.4]
+  assign _T_603 = {_T_554,_T_552}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54470.4]
+  assign _T_604 = {_T_603,_T_602}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54471.4]
+  assign _T_605 = {_T_558,_T_556}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54472.4]
+  assign _T_606 = {_T_562,_T_560}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54473.4]
+  assign _T_607 = {_T_606,_T_605}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54474.4]
+  assign _T_608 = {_T_607,_T_604}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54475.4]
+  assign _T_609 = {_T_608,_T_601}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54476.4]
+  assign _T_610 = {_T_566,_T_564}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54477.4]
+  assign _T_611 = {_T_570,_T_568}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54478.4]
+  assign _T_612 = {_T_611,_T_610}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54479.4]
+  assign _T_613 = {_T_574,_T_572}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54480.4]
+  assign _T_614 = {_T_578,_T_576}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54481.4]
+  assign _T_615 = {_T_614,_T_613}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54482.4]
+  assign _T_616 = {_T_615,_T_612}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54483.4]
+  assign _T_617 = {_T_582,_T_580}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54484.4]
+  assign _T_618 = {_T_586,_T_584}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54485.4]
+  assign _T_619 = {_T_618,_T_617}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54486.4]
+  assign _T_620 = {_T_590,_T_588}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54487.4]
+  assign _T_621 = {_T_594,_T_592}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54488.4]
+  assign _T_622 = {_T_621,_T_620}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54489.4]
+  assign _T_623 = {_T_622,_T_619}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54490.4]
+  assign _T_624 = {_T_623,_T_616}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54491.4]
+  assign _T_625 = {_T_624,_T_609}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54492.4]
+  assign _T_626 = _T_269_0_bits_param[1]; // @[AtomicAutomata.scala 115:42:shc.marmotcaravel.MarmotCaravelConfig.fir@54493.4]
+  assign _T_627 = _T_269_0_bits_param[0]; // @[AtomicAutomata.scala 116:42:shc.marmotcaravel.MarmotCaravelConfig.fir@54494.4]
+  assign _T_628 = _T_269_0_bits_param[2]; // @[AtomicAutomata.scala 117:39:shc.marmotcaravel.MarmotCaravelConfig.fir@54495.4]
+  assign _T_629 = ~ _T_269_0_bits_mask; // @[AtomicAutomata.scala 119:25:shc.marmotcaravel.MarmotCaravelConfig.fir@54496.4]
+  assign _T_630 = _T_269_0_bits_mask[3:1]; // @[AtomicAutomata.scala 119:39:shc.marmotcaravel.MarmotCaravelConfig.fir@54497.4]
+  assign _GEN_46 = {{1'd0}, _T_630}; // @[AtomicAutomata.scala 119:31:shc.marmotcaravel.MarmotCaravelConfig.fir@54498.4]
+  assign _T_631 = _T_629 | _GEN_46; // @[AtomicAutomata.scala 119:31:shc.marmotcaravel.MarmotCaravelConfig.fir@54498.4]
+  assign _T_632 = ~ _T_631; // @[AtomicAutomata.scala 119:23:shc.marmotcaravel.MarmotCaravelConfig.fir@54499.4]
+  assign _T_637 = {_T_480,_T_456}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54504.4]
+  assign _T_638 = {_T_528,_T_504}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54505.4]
+  assign _T_639 = {_T_638,_T_637}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54506.4]
+  assign _T_644 = {_T_481,_T_457}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54511.4]
+  assign _T_645 = {_T_529,_T_505}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54512.4]
+  assign _T_646 = {_T_645,_T_644}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54513.4]
+  assign _T_647 = _T_639 & _T_632; // @[AtomicAutomata.scala 123:38:shc.marmotcaravel.MarmotCaravelConfig.fir@54514.4]
+  assign _GEN_47 = {{1'd0}, _T_647}; // @[AtomicAutomata.scala 123:49:shc.marmotcaravel.MarmotCaravelConfig.fir@54515.4]
+  assign _T_648 = _GEN_47 << 1; // @[AtomicAutomata.scala 123:49:shc.marmotcaravel.MarmotCaravelConfig.fir@54515.4]
+  assign _T_649 = _T_648[3:0]; // @[AtomicAutomata.scala 123:54:shc.marmotcaravel.MarmotCaravelConfig.fir@54516.4]
+  assign _T_650 = _T_646 & _T_632; // @[AtomicAutomata.scala 124:38:shc.marmotcaravel.MarmotCaravelConfig.fir@54517.4]
+  assign _GEN_48 = {{1'd0}, _T_650}; // @[AtomicAutomata.scala 124:49:shc.marmotcaravel.MarmotCaravelConfig.fir@54518.4]
+  assign _T_651 = _GEN_48 << 1; // @[AtomicAutomata.scala 124:49:shc.marmotcaravel.MarmotCaravelConfig.fir@54518.4]
+  assign _T_652 = _T_651[3:0]; // @[AtomicAutomata.scala 124:54:shc.marmotcaravel.MarmotCaravelConfig.fir@54519.4]
+  assign _GEN_49 = {{1'd0}, _T_649}; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@54520.4]
+  assign _T_653 = _GEN_49 << 1; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@54520.4]
+  assign _T_654 = _T_653[3:0]; // @[package.scala 194:53:shc.marmotcaravel.MarmotCaravelConfig.fir@54521.4]
+  assign _T_655 = _T_649 | _T_654; // @[package.scala 194:43:shc.marmotcaravel.MarmotCaravelConfig.fir@54522.4]
+  assign _GEN_50 = {{2'd0}, _T_655}; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@54523.4]
+  assign _T_656 = _GEN_50 << 2; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@54523.4]
+  assign _T_657 = _T_656[3:0]; // @[package.scala 194:53:shc.marmotcaravel.MarmotCaravelConfig.fir@54524.4]
+  assign _T_658 = _T_655 | _T_657; // @[package.scala 194:43:shc.marmotcaravel.MarmotCaravelConfig.fir@54525.4]
+  assign _T_660 = _T_658[0]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@54527.4]
+  assign _T_661 = _T_658[1]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@54528.4]
+  assign _T_662 = _T_658[2]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@54529.4]
+  assign _T_663 = _T_658[3]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@54530.4]
+  assign _T_665 = _T_660 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@54532.4]
+  assign _T_667 = _T_661 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@54534.4]
+  assign _T_669 = _T_662 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@54536.4]
+  assign _T_671 = _T_663 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@54538.4]
+  assign _T_672 = {_T_667,_T_665}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54539.4]
+  assign _T_673 = {_T_671,_T_669}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54540.4]
+  assign _T_674 = {_T_673,_T_672}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54541.4]
+  assign _GEN_51 = {{1'd0}, _T_652}; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@54542.4]
+  assign _T_675 = _GEN_51 << 1; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@54542.4]
+  assign _T_676 = _T_675[3:0]; // @[package.scala 194:53:shc.marmotcaravel.MarmotCaravelConfig.fir@54543.4]
+  assign _T_677 = _T_652 | _T_676; // @[package.scala 194:43:shc.marmotcaravel.MarmotCaravelConfig.fir@54544.4]
+  assign _GEN_52 = {{2'd0}, _T_677}; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@54545.4]
+  assign _T_678 = _GEN_52 << 2; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@54545.4]
+  assign _T_679 = _T_678[3:0]; // @[package.scala 194:53:shc.marmotcaravel.MarmotCaravelConfig.fir@54546.4]
+  assign _T_680 = _T_677 | _T_679; // @[package.scala 194:43:shc.marmotcaravel.MarmotCaravelConfig.fir@54547.4]
+  assign _T_682 = _T_680[0]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@54549.4]
+  assign _T_683 = _T_680[1]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@54550.4]
+  assign _T_684 = _T_680[2]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@54551.4]
+  assign _T_685 = _T_680[3]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@54552.4]
+  assign _T_687 = _T_682 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@54554.4]
+  assign _T_689 = _T_683 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@54556.4]
+  assign _T_691 = _T_684 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@54558.4]
+  assign _T_693 = _T_685 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@54560.4]
+  assign _T_694 = {_T_689,_T_687}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54561.4]
+  assign _T_695 = {_T_693,_T_691}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54562.4]
+  assign _T_696 = {_T_695,_T_694}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54563.4]
+  assign _T_697 = _T_269_0_bits_mask[0]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@54564.4]
+  assign _T_698 = _T_269_0_bits_mask[1]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@54565.4]
+  assign _T_699 = _T_269_0_bits_mask[2]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@54566.4]
+  assign _T_700 = _T_269_0_bits_mask[3]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@54567.4]
+  assign _T_702 = _T_697 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@54569.4]
+  assign _T_704 = _T_698 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@54571.4]
+  assign _T_706 = _T_699 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@54573.4]
+  assign _T_708 = _T_700 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@54575.4]
+  assign _T_709 = {_T_704,_T_702}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54576.4]
+  assign _T_710 = {_T_708,_T_706}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54577.4]
+  assign _T_711 = {_T_710,_T_709}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54578.4]
+  assign _T_712 = _T_269_0_bits_data & _T_711; // @[AtomicAutomata.scala 129:28:shc.marmotcaravel.MarmotCaravelConfig.fir@54579.4]
+  assign _T_713 = _T_712 | _T_674; // @[AtomicAutomata.scala 129:41:shc.marmotcaravel.MarmotCaravelConfig.fir@54580.4]
+  assign _T_714 = _T_276_0_data & _T_711; // @[AtomicAutomata.scala 130:28:shc.marmotcaravel.MarmotCaravelConfig.fir@54581.4]
+  assign _T_715 = _T_714 | _T_696; // @[AtomicAutomata.scala 130:41:shc.marmotcaravel.MarmotCaravelConfig.fir@54582.4]
+  assign _T_716 = ~ _T_715; // @[AtomicAutomata.scala 131:43:shc.marmotcaravel.MarmotCaravelConfig.fir@54583.4]
+  assign _T_717 = _T_628 ? _T_715 : _T_716; // @[AtomicAutomata.scala 131:26:shc.marmotcaravel.MarmotCaravelConfig.fir@54584.4]
+  assign _T_719 = _T_713 + _T_717; // @[AtomicAutomata.scala 132:33:shc.marmotcaravel.MarmotCaravelConfig.fir@54586.4]
+  assign _T_720 = _T_713[31]; // @[AtomicAutomata.scala 134:49:shc.marmotcaravel.MarmotCaravelConfig.fir@54587.4]
+  assign _T_721 = _T_626 == _T_720; // @[AtomicAutomata.scala 134:38:shc.marmotcaravel.MarmotCaravelConfig.fir@54588.4]
+  assign _T_723 = _T_715[31]; // @[AtomicAutomata.scala 135:50:shc.marmotcaravel.MarmotCaravelConfig.fir@54590.4]
+  assign _T_724 = _T_720 == _T_723; // @[AtomicAutomata.scala 135:39:shc.marmotcaravel.MarmotCaravelConfig.fir@54591.4]
+  assign _T_725 = _T_719[31]; // @[AtomicAutomata.scala 135:65:shc.marmotcaravel.MarmotCaravelConfig.fir@54592.4]
+  assign _T_726 = _T_725 == 1'h0; // @[AtomicAutomata.scala 135:55:shc.marmotcaravel.MarmotCaravelConfig.fir@54593.4]
+  assign _T_727 = _T_724 ? _T_726 : _T_721; // @[AtomicAutomata.scala 135:27:shc.marmotcaravel.MarmotCaravelConfig.fir@54594.4]
+  assign _T_728 = _T_627 == _T_727; // @[AtomicAutomata.scala 136:31:shc.marmotcaravel.MarmotCaravelConfig.fir@54595.4]
+  assign _T_729 = _T_728 ? _T_269_0_bits_data : _T_276_0_data; // @[AtomicAutomata.scala 137:50:shc.marmotcaravel.MarmotCaravelConfig.fir@54596.4]
+  assign _T_730 = _T_628 ? _T_719 : _T_729; // @[AtomicAutomata.scala 137:28:shc.marmotcaravel.MarmotCaravelConfig.fir@54597.4]
+  assign _T_731 = _T_269_0_bits_opcode[0]; // @[AtomicAutomata.scala 143:34:shc.marmotcaravel.MarmotCaravelConfig.fir@54598.4]
+  assign _T_732 = _T_731 ? _T_625 : _T_730; // @[AtomicAutomata.scala 143:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54599.4]
+  assign _T_736 = _T_431 == 1'h0; // @[AtomicAutomata.scala 147:23:shc.marmotcaravel.MarmotCaravelConfig.fir@54602.4]
+  assign _T_737 = _T_341 | _T_280; // @[AtomicAutomata.scala 147:53:shc.marmotcaravel.MarmotCaravelConfig.fir@54603.4]
+  assign _T_738 = _T_736 & _T_737; // @[AtomicAutomata.scala 147:35:shc.marmotcaravel.MarmotCaravelConfig.fir@54604.4]
+  assign _T_821 = _T_820 == 10'h0; // @[Arbiter.scala 54:28:shc.marmotcaravel.MarmotCaravelConfig.fir@54702.4]
+  assign _T_740 = auto_in_a_valid & _T_738; // @[AtomicAutomata.scala 149:38:shc.marmotcaravel.MarmotCaravelConfig.fir@54607.4]
+  assign _T_823 = {_T_740,_T_281}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54704.4]
+  assign _GEN_53 = {{1'd0}, _T_823}; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@54705.4]
+  assign _T_824 = _GEN_53 << 1; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@54705.4]
+  assign _T_825 = _T_824[1:0]; // @[package.scala 194:53:shc.marmotcaravel.MarmotCaravelConfig.fir@54706.4]
+  assign _T_826 = _T_823 | _T_825; // @[package.scala 194:43:shc.marmotcaravel.MarmotCaravelConfig.fir@54707.4]
+  assign _GEN_54 = {{1'd0}, _T_826}; // @[Arbiter.scala 15:78:shc.marmotcaravel.MarmotCaravelConfig.fir@54709.4]
+  assign _T_828 = _GEN_54 << 1; // @[Arbiter.scala 15:78:shc.marmotcaravel.MarmotCaravelConfig.fir@54709.4]
+  assign _T_829 = _T_828[1:0]; // @[Arbiter.scala 15:83:shc.marmotcaravel.MarmotCaravelConfig.fir@54710.4]
+  assign _T_830 = ~ _T_829; // @[Arbiter.scala 15:61:shc.marmotcaravel.MarmotCaravelConfig.fir@54711.4]
+  assign _T_832 = _T_830[1]; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54713.4]
+  assign _T_913_1 = _T_821 ? _T_832 : _T_894_1; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@54767.4]
+  assign _T_922 = auto_out_a_ready & _T_913_1; // @[Arbiter.scala 84:31:shc.marmotcaravel.MarmotCaravelConfig.fir@54770.4]
+  assign _T_741 = _T_341 == 1'h0; // @[AtomicAutomata.scala 151:15:shc.marmotcaravel.MarmotCaravelConfig.fir@54610.4]
+  assign _GEN_0 = _T_741 ? 3'h4 : auto_in_a_bits_opcode; // @[AtomicAutomata.scala 151:31:shc.marmotcaravel.MarmotCaravelConfig.fir@54611.4]
+  assign _GEN_1 = _T_741 ? 3'h0 : auto_in_a_bits_param; // @[AtomicAutomata.scala 151:31:shc.marmotcaravel.MarmotCaravelConfig.fir@54611.4]
+  assign _T_745 = _T_269_0_bits_corrupt | _T_276_0_corrupt; // @[AtomicAutomata.scala 164:45:shc.marmotcaravel.MarmotCaravelConfig.fir@54618.4]
+  assign _T_779 = _T_269_0_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@54657.4]
+  assign _T_780 = 2'h1 << _T_779; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@54658.4]
+  assign _T_782 = _T_780 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@54660.4]
+  assign _T_783 = _T_269_0_bits_size >= 4'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@54661.4]
+  assign _T_784 = _T_782[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@54662.4]
+  assign _T_785 = _T_269_0_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@54663.4]
+  assign _T_786 = _T_785 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@54664.4]
+  assign _T_788 = _T_784 & _T_786; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@54666.4]
+  assign _T_789 = _T_783 | _T_788; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@54667.4]
+  assign _T_791 = _T_784 & _T_785; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@54669.4]
+  assign _T_792 = _T_783 | _T_791; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@54670.4]
+  assign _T_793 = _T_782[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@54671.4]
+  assign _T_794 = _T_269_0_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@54672.4]
+  assign _T_795 = _T_794 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@54673.4]
+  assign _T_796 = _T_786 & _T_795; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@54674.4]
+  assign _T_797 = _T_793 & _T_796; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@54675.4]
+  assign _T_798 = _T_789 | _T_797; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@54676.4]
+  assign _T_799 = _T_786 & _T_794; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@54677.4]
+  assign _T_800 = _T_793 & _T_799; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@54678.4]
+  assign _T_801 = _T_789 | _T_800; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@54679.4]
+  assign _T_802 = _T_785 & _T_795; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@54680.4]
+  assign _T_803 = _T_793 & _T_802; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@54681.4]
+  assign _T_804 = _T_792 | _T_803; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@54682.4]
+  assign _T_805 = _T_785 & _T_794; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@54683.4]
+  assign _T_806 = _T_793 & _T_805; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@54684.4]
+  assign _T_807 = _T_792 | _T_806; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@54685.4]
+  assign _T_808 = {_T_801,_T_798}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54686.4]
+  assign _T_809 = {_T_807,_T_804}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54687.4]
+  assign _T_810 = {_T_809,_T_808}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54688.4]
+  assign _T_812 = 27'hfff << auto_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@54694.4]
+  assign _T_813 = _T_812[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@54695.4]
+  assign _T_814 = ~ _T_813; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@54696.4]
+  assign _T_815 = _T_814[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@54697.4]
+  assign _T_816 = auto_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@54698.4]
+  assign _T_817 = _T_816 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@54699.4]
+  assign _T_822 = _T_821 & auto_out_a_ready; // @[Arbiter.scala 55:24:shc.marmotcaravel.MarmotCaravelConfig.fir@54703.4]
+  assign _T_831 = _T_830[0]; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54712.4]
+  assign _T_841 = _T_831 & _T_281; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@54718.4]
+  assign _T_842 = _T_832 & _T_740; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@54719.4]
+  assign _T_852 = _T_841 | _T_842; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@54725.4]
+  assign _T_854 = _T_841 == 1'h0; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@54727.4]
+  assign _T_857 = _T_842 == 1'h0; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@54730.4]
+  assign _T_858 = _T_854 | _T_857; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@54731.4]
+  assign _T_861 = _T_858 | reset; // @[Arbiter.scala 68:13:shc.marmotcaravel.MarmotCaravelConfig.fir@54734.4]
+  assign _T_862 = _T_861 == 1'h0; // @[Arbiter.scala 68:13:shc.marmotcaravel.MarmotCaravelConfig.fir@54735.4]
+  assign _T_863 = _T_281 | _T_740; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@54740.4]
+  assign _T_864 = _T_863 == 1'h0; // @[Arbiter.scala 70:15:shc.marmotcaravel.MarmotCaravelConfig.fir@54741.4]
+  assign _T_866 = _T_864 | _T_852; // @[Arbiter.scala 70:36:shc.marmotcaravel.MarmotCaravelConfig.fir@54743.4]
+  assign _T_868 = _T_866 | reset; // @[Arbiter.scala 70:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54745.4]
+  assign _T_869 = _T_868 == 1'h0; // @[Arbiter.scala 70:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54746.4]
+  assign _T_925 = _T_894_0 ? _T_281 : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54773.4]
+  assign _T_926 = _T_894_1 ? _T_740 : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54774.4]
+  assign _T_927 = _T_925 | _T_926; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54775.4]
+  assign _T_930 = _T_821 ? _T_863 : _T_927; // @[Arbiter.scala 86:24:shc.marmotcaravel.MarmotCaravelConfig.fir@54778.4]
+  assign _T_873 = auto_out_a_ready & _T_930; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@54754.4]
+  assign _GEN_55 = {{9'd0}, _T_873}; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@54755.4]
+  assign _T_874 = _T_820 - _GEN_55; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@54755.4]
+  assign _T_875 = $unsigned(_T_874); // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@54756.4]
+  assign _T_876 = _T_875[9:0]; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@54757.4]
+  assign _T_905_0 = _T_821 ? _T_841 : _T_894_0; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@54765.4]
+  assign _T_905_1 = _T_821 ? _T_842 : _T_894_1; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@54765.4]
+  assign _T_913_0 = _T_821 ? _T_831 : _T_894_0; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@54767.4]
+  assign _T_921 = auto_out_a_ready & _T_913_0; // @[Arbiter.scala 84:31:shc.marmotcaravel.MarmotCaravelConfig.fir@54768.4]
+  assign _T_932 = {_T_732,_T_745}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54780.4]
+  assign _T_933 = {_T_269_0_bits_address,_T_810}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54781.4]
+  assign _T_934 = {_T_933,_T_932}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54782.4]
+  assign _T_935 = {_T_269_0_bits_size,_T_269_0_bits_source}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54783.4]
+  assign _T_937 = {6'h0,_T_935}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54785.4]
+  assign _T_938 = {_T_937,_T_934}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54786.4]
+  assign _T_939 = _T_905_0 ? _T_938 : 78'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54787.4]
+  assign _T_940 = {auto_in_a_bits_data,auto_in_a_bits_corrupt}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54788.4]
+  assign _T_941 = {auto_in_a_bits_address,auto_in_a_bits_mask}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54789.4]
+  assign _T_942 = {_T_941,_T_940}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54790.4]
+  assign _T_943 = {auto_in_a_bits_size,auto_in_a_bits_source}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54791.4]
+  assign _T_944 = {_GEN_0,_GEN_1}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54792.4]
+  assign _T_945 = {_T_944,_T_943}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54793.4]
+  assign _T_946 = {_T_945,_T_942}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54794.4]
+  assign _T_947 = _T_905_1 ? _T_946 : 78'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54795.4]
+  assign _T_948 = _T_939 | _T_947; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54796.4]
+  assign _T_961 = _T_922 & _T_740; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@54817.4]
+  assign _T_963 = _T_961 & _T_741; // @[AtomicAutomata.scala 170:31:shc.marmotcaravel.MarmotCaravelConfig.fir@54819.4]
+  assign _T_964 = auto_in_a_bits_param[1:0]; // @[AtomicAutomata.scala 175:52:shc.marmotcaravel.MarmotCaravelConfig.fir@54824.8]
+  assign _GEN_56 = {{1'd0}, _T_964}; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@54825.8]
+  assign _T_965 = 3'h3 == _GEN_56; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@54825.8]
+  assign _T_967 = 3'h0 == _GEN_56; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@54827.8]
+  assign _T_969 = 3'h1 == _GEN_56; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@54829.8]
+  assign _T_971 = 3'h2 == _GEN_56; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@54831.8]
+  assign _T_973 = _T_921 & _T_281; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@54839.4]
+  assign _T_987 = _T_983 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@54857.4]
+  assign _T_999 = auto_out_d_bits_opcode == 3'h1; // @[AtomicAutomata.scala 209:40:shc.marmotcaravel.MarmotCaravelConfig.fir@54872.4]
+  assign _T_1005 = _T_987 & _T_999; // @[AtomicAutomata.scala 228:30:shc.marmotcaravel.MarmotCaravelConfig.fir@54888.4]
+  assign _T_995 = _T_269_0_bits_source == auto_out_d_bits_source; // @[AtomicAutomata.scala 200:53:shc.marmotcaravel.MarmotCaravelConfig.fir@54868.4]
+  assign _T_996 = _T_995 & _T_285; // @[AtomicAutomata.scala 201:83:shc.marmotcaravel.MarmotCaravelConfig.fir@54869.4]
+  assign _T_1006 = _T_1005 & _T_996; // @[AtomicAutomata.scala 228:40:shc.marmotcaravel.MarmotCaravelConfig.fir@54889.4]
+  assign _T_1011 = auto_in_d_ready | _T_1006; // @[AtomicAutomata.scala 232:35:shc.marmotcaravel.MarmotCaravelConfig.fir@54895.4]
+  assign _T_974 = _T_1011 & auto_out_d_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@54845.4]
+  assign _T_976 = 27'hfff << auto_out_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@54847.4]
+  assign _T_977 = _T_976[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@54848.4]
+  assign _T_978 = ~ _T_977; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@54849.4]
+  assign _T_979 = _T_978[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@54850.4]
+  assign _T_980 = auto_out_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@54851.4]
+  assign _T_984 = _T_983 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@54854.4]
+  assign _T_985 = $unsigned(_T_984); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@54855.4]
+  assign _T_986 = _T_985[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@54856.4]
+  assign _T_1000 = auto_out_d_bits_opcode == 3'h0; // @[AtomicAutomata.scala 210:40:shc.marmotcaravel.MarmotCaravelConfig.fir@54873.4]
+  assign _T_1002 = _T_974 & _T_987; // @[AtomicAutomata.scala 212:28:shc.marmotcaravel.MarmotCaravelConfig.fir@54875.4]
+  assign _T_1003 = _T_996 & _T_999; // @[AtomicAutomata.scala 214:22:shc.marmotcaravel.MarmotCaravelConfig.fir@54877.6]
+  assign _T_1007 = _T_987 & _T_1000; // @[AtomicAutomata.scala 229:33:shc.marmotcaravel.MarmotCaravelConfig.fir@54890.4]
+  assign _T_1008 = _T_1007 & _T_996; // @[AtomicAutomata.scala 229:42:shc.marmotcaravel.MarmotCaravelConfig.fir@54891.4]
+  assign _T_1009 = _T_1006 == 1'h0; // @[AtomicAutomata.scala 231:38:shc.marmotcaravel.MarmotCaravelConfig.fir@54892.4]
+  assign _T_1012 = _T_276_0_corrupt | auto_out_d_bits_denied; // @[AtomicAutomata.scala 238:46:shc.marmotcaravel.MarmotCaravelConfig.fir@54901.6]
+  assign _T_1013 = _T_276_0_denied | auto_out_d_bits_denied; // @[AtomicAutomata.scala 239:46:shc.marmotcaravel.MarmotCaravelConfig.fir@54903.6]
+  assign auto_in_a_ready = _T_922 & _T_738; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@54138.4]
+  assign auto_in_d_valid = auto_out_d_valid & _T_1009; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@54138.4]
+  assign auto_in_d_bits_opcode = _T_1008 ? 3'h1 : auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@54138.4]
+  assign auto_in_d_bits_param = auto_out_d_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@54138.4]
+  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@54138.4]
+  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@54138.4]
+  assign auto_in_d_bits_sink = auto_out_d_bits_sink; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@54138.4]
+  assign auto_in_d_bits_denied = _T_1008 ? _T_1013 : auto_out_d_bits_denied; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@54138.4]
+  assign auto_in_d_bits_data = _T_1008 ? _T_276_0_data : auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@54138.4]
+  assign auto_in_d_bits_corrupt = _T_1008 ? _T_1012 : auto_out_d_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@54138.4]
+  assign auto_out_a_valid = _T_821 ? _T_863 : _T_927; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@54137.4]
+  assign auto_out_a_bits_opcode = _T_948[77:75]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@54137.4]
+  assign auto_out_a_bits_param = _T_948[74:72]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@54137.4]
+  assign auto_out_a_bits_size = _T_948[71:68]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@54137.4]
+  assign auto_out_a_bits_source = _T_948[67]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@54137.4]
+  assign auto_out_a_bits_address = _T_948[66:37]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@54137.4]
+  assign auto_out_a_bits_mask = _T_948[36:33]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@54137.4]
+  assign auto_out_a_bits_data = _T_948[32:1]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@54137.4]
+  assign auto_out_a_bits_corrupt = _T_948[0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@54137.4]
+  assign auto_out_d_ready = auto_in_d_ready | _T_1006; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@54137.4]
+  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@54100.4]
+  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@54101.4]
+  assign TLMonitor_io_in_a_ready = _T_922 & _T_738; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@54134.4]
+  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@54134.4]
+  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@54134.4]
+  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@54134.4]
+  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@54134.4]
+  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@54134.4]
+  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@54134.4]
+  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@54134.4]
+  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@54134.4]
+  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@54134.4]
+  assign TLMonitor_io_in_d_valid = auto_out_d_valid & _T_1009; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@54134.4]
+  assign TLMonitor_io_in_d_bits_opcode = _T_1008 ? 3'h1 : auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@54134.4]
+  assign TLMonitor_io_in_d_bits_param = auto_out_d_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@54134.4]
+  assign TLMonitor_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@54134.4]
+  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@54134.4]
+  assign TLMonitor_io_in_d_bits_sink = auto_out_d_bits_sink; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@54134.4]
+  assign TLMonitor_io_in_d_bits_denied = _T_1008 ? _T_1013 : auto_out_d_bits_denied; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@54134.4]
+  assign TLMonitor_io_in_d_bits_corrupt = _T_1008 ? _T_1012 : auto_out_d_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@54134.4]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  _T_258_0_state = _RAND_0[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  _T_269_0_bits_opcode = _RAND_1[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  _T_269_0_bits_param = _RAND_2[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  _T_269_0_bits_size = _RAND_3[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  _T_269_0_bits_source = _RAND_4[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  _T_269_0_bits_address = _RAND_5[29:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {1{`RANDOM}};
+  _T_269_0_bits_mask = _RAND_6[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {1{`RANDOM}};
+  _T_269_0_bits_data = _RAND_7[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_8 = {1{`RANDOM}};
+  _T_269_0_bits_corrupt = _RAND_8[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_9 = {1{`RANDOM}};
+  _T_269_0_fifoId = _RAND_9[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_10 = {1{`RANDOM}};
+  _T_269_0_lut = _RAND_10[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_11 = {1{`RANDOM}};
+  _T_276_0_data = _RAND_11[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_12 = {1{`RANDOM}};
+  _T_276_0_denied = _RAND_12[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_13 = {1{`RANDOM}};
+  _T_276_0_corrupt = _RAND_13[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_14 = {1{`RANDOM}};
+  _T_820 = _RAND_14[9:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_15 = {1{`RANDOM}};
+  _T_894_1 = _RAND_15[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_16 = {1{`RANDOM}};
+  _T_894_0 = _RAND_16[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_17 = {1{`RANDOM}};
+  _T_983 = _RAND_17[9:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      _T_258_0_state <= 2'h0;
+    end else begin
+      if (_T_1002) begin
+        if (_T_996) begin
+          if (_T_999) begin
+            _T_258_0_state <= 2'h2;
+          end else begin
+            _T_258_0_state <= 2'h0;
+          end
+        end else begin
+          if (_T_973) begin
+            if (_T_281) begin
+              _T_258_0_state <= 2'h1;
+            end else begin
+              if (_T_963) begin
+                if (_T_280) begin
+                  _T_258_0_state <= 2'h3;
+                end
+              end
+            end
+          end else begin
+            if (_T_963) begin
+              if (_T_280) begin
+                _T_258_0_state <= 2'h3;
+              end
+            end
+          end
+        end
+      end else begin
+        if (_T_973) begin
+          if (_T_281) begin
+            _T_258_0_state <= 2'h1;
+          end else begin
+            if (_T_963) begin
+              if (_T_280) begin
+                _T_258_0_state <= 2'h3;
+              end
+            end
+          end
+        end else begin
+          if (_T_963) begin
+            if (_T_280) begin
+              _T_258_0_state <= 2'h3;
+            end
+          end
+        end
+      end
+    end
+    if (_T_963) begin
+      if (_T_280) begin
+        _T_269_0_bits_opcode <= auto_in_a_bits_opcode;
+      end
+    end
+    if (_T_963) begin
+      if (_T_280) begin
+        _T_269_0_bits_param <= auto_in_a_bits_param;
+      end
+    end
+    if (_T_963) begin
+      if (_T_280) begin
+        _T_269_0_bits_size <= auto_in_a_bits_size;
+      end
+    end
+    if (_T_963) begin
+      if (_T_280) begin
+        _T_269_0_bits_source <= auto_in_a_bits_source;
+      end
+    end
+    if (_T_963) begin
+      if (_T_280) begin
+        _T_269_0_bits_address <= auto_in_a_bits_address;
+      end
+    end
+    if (_T_963) begin
+      if (_T_280) begin
+        _T_269_0_bits_mask <= auto_in_a_bits_mask;
+      end
+    end
+    if (_T_963) begin
+      if (_T_280) begin
+        _T_269_0_bits_data <= auto_in_a_bits_data;
+      end
+    end
+    if (_T_963) begin
+      if (_T_280) begin
+        _T_269_0_bits_corrupt <= auto_in_a_bits_corrupt;
+      end
+    end
+    if (_T_963) begin
+      if (_T_280) begin
+        _T_269_0_fifoId <= _T_427;
+      end
+    end
+    if (_T_963) begin
+      if (_T_280) begin
+        if (_T_971) begin
+          _T_269_0_lut <= 4'h8;
+        end else begin
+          if (_T_969) begin
+            _T_269_0_lut <= 4'he;
+          end else begin
+            if (_T_967) begin
+              _T_269_0_lut <= 4'h6;
+            end else begin
+              if (_T_965) begin
+                _T_269_0_lut <= 4'hc;
+              end else begin
+                _T_269_0_lut <= 4'h0;
+              end
+            end
+          end
+        end
+      end
+    end
+    if (_T_1002) begin
+      if (_T_1003) begin
+        _T_276_0_data <= auto_out_d_bits_data;
+      end
+    end
+    if (_T_1002) begin
+      if (_T_1003) begin
+        _T_276_0_denied <= auto_out_d_bits_denied;
+      end
+    end
+    if (_T_1002) begin
+      if (_T_1003) begin
+        _T_276_0_corrupt <= auto_out_d_bits_corrupt;
+      end
+    end
+    if (reset) begin
+      _T_820 <= 10'h0;
+    end else begin
+      if (_T_822) begin
+        if (_T_842) begin
+          if (_T_817) begin
+            _T_820 <= _T_815;
+          end else begin
+            _T_820 <= 10'h0;
+          end
+        end else begin
+          _T_820 <= 10'h0;
+        end
+      end else begin
+        _T_820 <= _T_876;
+      end
+    end
+    if (reset) begin
+      _T_894_1 <= 1'h0;
+    end else begin
+      if (_T_821) begin
+        _T_894_1 <= _T_842;
+      end
+    end
+    if (reset) begin
+      _T_894_0 <= 1'h0;
+    end else begin
+      if (_T_821) begin
+        _T_894_0 <= _T_841;
+      end
+    end
+    if (reset) begin
+      _T_983 <= 10'h0;
+    end else begin
+      if (_T_974) begin
+        if (_T_987) begin
+          if (_T_980) begin
+            _T_983 <= _T_979;
+          end else begin
+            _T_983 <= 10'h0;
+          end
+        end else begin
+          _T_983 <= _T_986;
+        end
+      end
+    end
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_862) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at Arbiter.scala:68 assert((prefixOR zip winner) map { case (p,w) => !p || !w } reduce {_ && _})\n"); // @[Arbiter.scala 68:13:shc.marmotcaravel.MarmotCaravelConfig.fir@54737.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_862) begin
+          $fatal; // @[Arbiter.scala 68:13:shc.marmotcaravel.MarmotCaravelConfig.fir@54738.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_869) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at Arbiter.scala:70 assert (!valids.reduce(_||_) || winner.reduce(_||_))\n"); // @[Arbiter.scala 70:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54748.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_869) begin
+          $fatal; // @[Arbiter.scala 70:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54749.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+endmodule
+module TLMonitor_30( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@54920.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@54921.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@54922.4]
+  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@54923.4]
+  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@54923.4]
+  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@54923.4]
+  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@54923.4]
+  input  [3:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@54923.4]
+  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@54923.4]
+  input  [13:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@54923.4]
+  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@54923.4]
+  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@54923.4]
+  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@54923.4]
+  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@54923.4]
+  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@54923.4]
+  input  [3:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@54923.4]
+  input         io_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@54923.4]
+  input         io_in_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@54923.4]
+);
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@56064.4]
+  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@54939.6]
+  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@54944.6]
+  wire [26:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@54946.6]
+  wire [11:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@54947.6]
+  wire [11:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@54948.6]
+  wire [13:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@54949.6]
+  wire [13:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@54949.6]
+  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@54950.6]
+  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@54952.6]
+  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@54953.6]
+  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@54955.6]
+  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@54956.6]
+  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@54957.6]
+  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@54958.6]
+  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@54959.6]
+  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@54961.6]
+  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@54962.6]
+  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@54964.6]
+  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@54965.6]
+  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@54966.6]
+  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@54967.6]
+  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@54968.6]
+  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@54969.6]
+  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@54970.6]
+  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@54971.6]
+  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@54972.6]
+  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@54973.6]
+  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@54974.6]
+  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@54975.6]
+  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@54976.6]
+  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@54977.6]
+  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@54978.6]
+  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@54979.6]
+  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@54980.6]
+  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54981.6]
+  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54982.6]
+  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54983.6]
+  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@55008.6]
+  wire [13:0] _T_92; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@55011.8]
+  wire [14:0] _T_93; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@55012.8]
+  wire [14:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@55013.8]
+  wire [14:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@55014.8]
+  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@55015.8]
+  wire  _T_101; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55020.8]
+  wire  _T_106; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55033.8]
+  wire  _T_107; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55034.8]
+  wire  _T_110; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55041.8]
+  wire  _T_111; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55042.8]
+  wire  _T_113; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55048.8]
+  wire  _T_114; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55049.8]
+  wire  _T_115; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@55054.8]
+  wire  _T_117; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55056.8]
+  wire  _T_118; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55057.8]
+  wire [3:0] _T_119; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@55062.8]
+  wire  _T_120; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@55063.8]
+  wire  _T_122; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55065.8]
+  wire  _T_123; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55066.8]
+  wire  _T_124; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@55071.8]
+  wire  _T_126; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55073.8]
+  wire  _T_127; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55074.8]
+  wire  _T_128; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@55080.6]
+  wire  _T_157; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@55134.8]
+  wire  _T_159; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55136.8]
+  wire  _T_160; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55137.8]
+  wire  _T_170; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@55160.6]
+  wire  _T_172; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@55163.8]
+  wire  _T_180; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@55171.8]
+  wire  _T_183; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55174.8]
+  wire  _T_184; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55175.8]
+  wire  _T_191; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@55194.8]
+  wire  _T_193; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55196.8]
+  wire  _T_194; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55197.8]
+  wire  _T_195; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@55202.8]
+  wire  _T_197; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55204.8]
+  wire  _T_198; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55205.8]
+  wire  _T_203; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@55219.6]
+  wire  _T_232; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@55270.6]
+  wire [3:0] _T_257; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@55312.8]
+  wire [3:0] _T_258; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@55313.8]
+  wire  _T_259; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@55314.8]
+  wire  _T_261; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55316.8]
+  wire  _T_262; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55317.8]
+  wire  _T_263; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@55323.6]
+  wire  _T_265; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@55326.8]
+  wire  _T_273; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@55334.8]
+  wire  _T_276; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55337.8]
+  wire  _T_277; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55338.8]
+  wire  _T_284; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@55357.8]
+  wire  _T_286; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55359.8]
+  wire  _T_287; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55360.8]
+  wire  _T_292; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@55374.6]
+  wire  _T_313; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@55408.8]
+  wire  _T_315; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55410.8]
+  wire  _T_316; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55411.8]
+  wire  _T_321; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@55425.6]
+  wire  _T_350; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@55478.6]
+  wire  _T_352; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@55480.6]
+  wire  _T_353; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@55481.6]
+  wire  _T_355; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@55487.6]
+  wire  _T_364; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@55492.6]
+  wire  _T_366; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@55494.6]
+  wire  _T_368; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55497.8]
+  wire  _T_369; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55498.8]
+  wire  _T_370; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@55503.8]
+  wire  _T_372; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55505.8]
+  wire  _T_373; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55506.8]
+  wire  _T_378; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@55519.8]
+  wire  _T_380; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55521.8]
+  wire  _T_381; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55522.8]
+  wire  _T_386; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@55536.6]
+  wire  _T_414; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@55594.6]
+  wire  _T_436; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55637.8]
+  wire  _T_437; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55638.8]
+  wire  _T_443; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@55653.6]
+  wire  _T_460; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@55688.6]
+  wire  _T_478; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@55724.6]
+  wire  _T_507; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@55784.4]
+  wire [9:0] _T_512; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@55789.4]
+  wire  _T_513; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@55790.4]
+  wire  _T_514; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@55791.4]
+  reg [9:0] _T_517; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@55793.4]
+  reg [31:0] _RAND_0;
+  wire [10:0] _T_518; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@55794.4]
+  wire [10:0] _T_519; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@55795.4]
+  wire [9:0] _T_520; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@55796.4]
+  wire  _T_521; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@55797.4]
+  reg [2:0] _T_530; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@55808.4]
+  reg [31:0] _RAND_1;
+  reg [2:0] _T_532; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@55809.4]
+  reg [31:0] _RAND_2;
+  reg [3:0] _T_534; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@55810.4]
+  reg [31:0] _RAND_3;
+  reg  _T_536; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@55811.4]
+  reg [31:0] _RAND_4;
+  reg [13:0] _T_538; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@55812.4]
+  reg [31:0] _RAND_5;
+  wire  _T_539; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@55813.4]
+  wire  _T_540; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@55814.4]
+  wire  _T_541; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@55816.6]
+  wire  _T_543; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55818.6]
+  wire  _T_544; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55819.6]
+  wire  _T_545; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@55824.6]
+  wire  _T_547; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55826.6]
+  wire  _T_548; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55827.6]
+  wire  _T_549; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@55832.6]
+  wire  _T_551; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55834.6]
+  wire  _T_552; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55835.6]
+  wire  _T_553; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@55840.6]
+  wire  _T_555; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55842.6]
+  wire  _T_556; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55843.6]
+  wire  _T_557; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@55848.6]
+  wire  _T_559; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55850.6]
+  wire  _T_560; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55851.6]
+  wire  _T_562; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@55858.4]
+  wire  _T_563; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@55866.4]
+  wire [26:0] _T_565; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@55868.4]
+  wire [11:0] _T_566; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@55869.4]
+  wire [11:0] _T_567; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@55870.4]
+  wire [9:0] _T_568; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@55871.4]
+  wire  _T_569; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@55872.4]
+  reg [9:0] _T_572; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@55874.4]
+  reg [31:0] _RAND_6;
+  wire [10:0] _T_573; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@55875.4]
+  wire [10:0] _T_574; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@55876.4]
+  wire [9:0] _T_575; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@55877.4]
+  wire  _T_576; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@55878.4]
+  reg [2:0] _T_585; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@55889.4]
+  reg [31:0] _RAND_7;
+  reg [3:0] _T_589; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@55891.4]
+  reg [31:0] _RAND_8;
+  reg  _T_591; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@55892.4]
+  reg [31:0] _RAND_9;
+  wire  _T_596; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@55895.4]
+  wire  _T_597; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@55896.4]
+  wire  _T_598; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@55898.6]
+  wire  _T_600; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55900.6]
+  wire  _T_601; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55901.6]
+  wire  _T_606; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@55914.6]
+  wire  _T_608; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55916.6]
+  wire  _T_609; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55917.6]
+  wire  _T_610; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@55922.6]
+  wire  _T_612; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55924.6]
+  wire  _T_613; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55925.6]
+  wire  _T_623; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@55948.4]
+  reg [1:0] _T_625; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@55957.4]
+  reg [31:0] _RAND_10;
+  reg [9:0] _T_636; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@55967.4]
+  reg [31:0] _RAND_11;
+  wire [10:0] _T_637; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@55968.4]
+  wire [10:0] _T_638; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@55969.4]
+  wire [9:0] _T_639; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@55970.4]
+  wire  _T_640; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@55971.4]
+  reg [9:0] _T_657; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@55990.4]
+  reg [31:0] _RAND_12;
+  wire [10:0] _T_658; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@55991.4]
+  wire [10:0] _T_659; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@55992.4]
+  wire [9:0] _T_660; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@55993.4]
+  wire  _T_661; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@55994.4]
+  wire  _T_672; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@56009.4]
+  wire [1:0] _T_674; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@56012.6]
+  wire [1:0] _T_675; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@56014.6]
+  wire  _T_676; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@56015.6]
+  wire  _T_677; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56016.6]
+  wire  _T_679; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@56018.6]
+  wire  _T_680; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@56019.6]
+  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@56011.4]
+  wire  _T_685; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@56030.4]
+  wire  _T_687; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@56032.4]
+  wire  _T_688; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@56033.4]
+  wire [1:0] _T_689; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@56035.6]
+  wire [1:0] _T_690; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@56037.6]
+  wire [1:0] _T_691; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@56038.6]
+  wire  _T_692; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@56039.6]
+  wire  _T_694; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@56041.6]
+  wire  _T_695; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@56042.6]
+  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@56034.4]
+  wire  _T_696; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@56048.4]
+  wire  _T_697; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@56049.4]
+  wire  _T_698; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@56050.4]
+  wire  _T_699; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@56051.4]
+  wire  _T_701; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@56053.4]
+  wire  _T_702; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@56054.4]
+  wire [1:0] _T_703; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@56059.4]
+  wire [1:0] _T_704; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@56060.4]
+  wire [1:0] _T_705; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@56061.4]
+  reg [31:0] _T_707; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@56063.4]
+  reg [31:0] _RAND_13;
+  wire  _T_708; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@56066.4]
+  wire  _T_709; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@56067.4]
+  wire  _T_710; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@56068.4]
+  wire  _T_711; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@56069.4]
+  wire  _T_712; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@56070.4]
+  wire  _T_713; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@56071.4]
+  wire  _T_715; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@56073.4]
+  wire  _T_716; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@56074.4]
+  wire [31:0] _T_718; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@56080.4]
+  wire  _T_721; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@56084.4]
+  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55022.10]
+  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55094.10]
+  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55177.10]
+  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55236.10]
+  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55287.10]
+  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55340.10]
+  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55391.10]
+  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55442.10]
+  wire  _GEN_115; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55500.10]
+  wire  _GEN_123; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55542.10]
+  wire  _GEN_131; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55600.10]
+  wire  _GEN_139; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55659.10]
+  wire  _GEN_143; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55694.10]
+  wire  _GEN_147; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55730.10]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@56064.4]
+    .out(plusarg_reader_out)
+  );
+  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@54939.6]
+  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@54944.6]
+  assign _T_32 = 27'hfff << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@54946.6]
+  assign _T_33 = _T_32[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@54947.6]
+  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@54948.6]
+  assign _GEN_18 = {{2'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@54949.6]
+  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@54949.6]
+  assign _T_36 = _T_35 == 14'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@54950.6]
+  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@54952.6]
+  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@54953.6]
+  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@54955.6]
+  assign _T_42 = io_in_a_bits_size >= 4'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@54956.6]
+  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@54957.6]
+  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@54958.6]
+  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@54959.6]
+  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@54961.6]
+  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@54962.6]
+  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@54964.6]
+  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@54965.6]
+  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@54966.6]
+  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@54967.6]
+  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@54968.6]
+  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@54969.6]
+  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@54970.6]
+  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@54971.6]
+  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@54972.6]
+  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@54973.6]
+  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@54974.6]
+  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@54975.6]
+  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@54976.6]
+  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@54977.6]
+  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@54978.6]
+  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@54979.6]
+  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@54980.6]
+  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54981.6]
+  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54982.6]
+  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54983.6]
+  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@55008.6]
+  assign _T_92 = io_in_a_bits_address ^ 14'h3000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@55011.8]
+  assign _T_93 = {1'b0,$signed(_T_92)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@55012.8]
+  assign _T_94 = $signed(_T_93) & $signed(-15'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@55013.8]
+  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@55014.8]
+  assign _T_96 = $signed(_T_95) == $signed(15'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@55015.8]
+  assign _T_101 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55020.8]
+  assign _T_106 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55033.8]
+  assign _T_107 = _T_106 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55034.8]
+  assign _T_110 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55041.8]
+  assign _T_111 = _T_110 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55042.8]
+  assign _T_113 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55048.8]
+  assign _T_114 = _T_113 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55049.8]
+  assign _T_115 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@55054.8]
+  assign _T_117 = _T_115 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55056.8]
+  assign _T_118 = _T_117 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55057.8]
+  assign _T_119 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@55062.8]
+  assign _T_120 = _T_119 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@55063.8]
+  assign _T_122 = _T_120 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55065.8]
+  assign _T_123 = _T_122 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55066.8]
+  assign _T_124 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@55071.8]
+  assign _T_126 = _T_124 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55073.8]
+  assign _T_127 = _T_126 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55074.8]
+  assign _T_128 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@55080.6]
+  assign _T_157 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@55134.8]
+  assign _T_159 = _T_157 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55136.8]
+  assign _T_160 = _T_159 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55137.8]
+  assign _T_170 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@55160.6]
+  assign _T_172 = io_in_a_bits_size <= 4'hc; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@55163.8]
+  assign _T_180 = _T_172 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@55171.8]
+  assign _T_183 = _T_180 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55174.8]
+  assign _T_184 = _T_183 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55175.8]
+  assign _T_191 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@55194.8]
+  assign _T_193 = _T_191 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55196.8]
+  assign _T_194 = _T_193 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55197.8]
+  assign _T_195 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@55202.8]
+  assign _T_197 = _T_195 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55204.8]
+  assign _T_198 = _T_197 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55205.8]
+  assign _T_203 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@55219.6]
+  assign _T_232 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@55270.6]
+  assign _T_257 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@55312.8]
+  assign _T_258 = io_in_a_bits_mask & _T_257; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@55313.8]
+  assign _T_259 = _T_258 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@55314.8]
+  assign _T_261 = _T_259 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55316.8]
+  assign _T_262 = _T_261 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55317.8]
+  assign _T_263 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@55323.6]
+  assign _T_265 = io_in_a_bits_size <= 4'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@55326.8]
+  assign _T_273 = _T_265 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@55334.8]
+  assign _T_276 = _T_273 | reset; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55337.8]
+  assign _T_277 = _T_276 == 1'h0; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55338.8]
+  assign _T_284 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@55357.8]
+  assign _T_286 = _T_284 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55359.8]
+  assign _T_287 = _T_286 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55360.8]
+  assign _T_292 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@55374.6]
+  assign _T_313 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@55408.8]
+  assign _T_315 = _T_313 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55410.8]
+  assign _T_316 = _T_315 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55411.8]
+  assign _T_321 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@55425.6]
+  assign _T_350 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@55478.6]
+  assign _T_352 = _T_350 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@55480.6]
+  assign _T_353 = _T_352 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@55481.6]
+  assign _T_355 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@55487.6]
+  assign _T_364 = io_in_d_bits_source | _T_355; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@55492.6]
+  assign _T_366 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@55494.6]
+  assign _T_368 = _T_364 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55497.8]
+  assign _T_369 = _T_368 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55498.8]
+  assign _T_370 = io_in_d_bits_size >= 4'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@55503.8]
+  assign _T_372 = _T_370 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55505.8]
+  assign _T_373 = _T_372 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55506.8]
+  assign _T_378 = io_in_d_bits_corrupt == 1'h0; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@55519.8]
+  assign _T_380 = _T_378 | reset; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55521.8]
+  assign _T_381 = _T_380 == 1'h0; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55522.8]
+  assign _T_386 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@55536.6]
+  assign _T_414 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@55594.6]
+  assign _T_436 = io_in_d_bits_corrupt | reset; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55637.8]
+  assign _T_437 = _T_436 == 1'h0; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55638.8]
+  assign _T_443 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@55653.6]
+  assign _T_460 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@55688.6]
+  assign _T_478 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@55724.6]
+  assign _T_507 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@55784.4]
+  assign _T_512 = _T_34[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@55789.4]
+  assign _T_513 = io_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@55790.4]
+  assign _T_514 = _T_513 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@55791.4]
+  assign _T_518 = _T_517 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@55794.4]
+  assign _T_519 = $unsigned(_T_518); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@55795.4]
+  assign _T_520 = _T_519[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@55796.4]
+  assign _T_521 = _T_517 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@55797.4]
+  assign _T_539 = _T_521 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@55813.4]
+  assign _T_540 = io_in_a_valid & _T_539; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@55814.4]
+  assign _T_541 = io_in_a_bits_opcode == _T_530; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@55816.6]
+  assign _T_543 = _T_541 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55818.6]
+  assign _T_544 = _T_543 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55819.6]
+  assign _T_545 = io_in_a_bits_param == _T_532; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@55824.6]
+  assign _T_547 = _T_545 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55826.6]
+  assign _T_548 = _T_547 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55827.6]
+  assign _T_549 = io_in_a_bits_size == _T_534; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@55832.6]
+  assign _T_551 = _T_549 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55834.6]
+  assign _T_552 = _T_551 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55835.6]
+  assign _T_553 = io_in_a_bits_source == _T_536; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@55840.6]
+  assign _T_555 = _T_553 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55842.6]
+  assign _T_556 = _T_555 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55843.6]
+  assign _T_557 = io_in_a_bits_address == _T_538; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@55848.6]
+  assign _T_559 = _T_557 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55850.6]
+  assign _T_560 = _T_559 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55851.6]
+  assign _T_562 = _T_507 & _T_521; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@55858.4]
+  assign _T_563 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@55866.4]
+  assign _T_565 = 27'hfff << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@55868.4]
+  assign _T_566 = _T_565[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@55869.4]
+  assign _T_567 = ~ _T_566; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@55870.4]
+  assign _T_568 = _T_567[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@55871.4]
+  assign _T_569 = io_in_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@55872.4]
+  assign _T_573 = _T_572 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@55875.4]
+  assign _T_574 = $unsigned(_T_573); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@55876.4]
+  assign _T_575 = _T_574[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@55877.4]
+  assign _T_576 = _T_572 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@55878.4]
+  assign _T_596 = _T_576 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@55895.4]
+  assign _T_597 = io_in_d_valid & _T_596; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@55896.4]
+  assign _T_598 = io_in_d_bits_opcode == _T_585; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@55898.6]
+  assign _T_600 = _T_598 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55900.6]
+  assign _T_601 = _T_600 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55901.6]
+  assign _T_606 = io_in_d_bits_size == _T_589; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@55914.6]
+  assign _T_608 = _T_606 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55916.6]
+  assign _T_609 = _T_608 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55917.6]
+  assign _T_610 = io_in_d_bits_source == _T_591; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@55922.6]
+  assign _T_612 = _T_610 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55924.6]
+  assign _T_613 = _T_612 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55925.6]
+  assign _T_623 = _T_563 & _T_576; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@55948.4]
+  assign _T_637 = _T_636 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@55968.4]
+  assign _T_638 = $unsigned(_T_637); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@55969.4]
+  assign _T_639 = _T_638[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@55970.4]
+  assign _T_640 = _T_636 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@55971.4]
+  assign _T_658 = _T_657 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@55991.4]
+  assign _T_659 = $unsigned(_T_658); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@55992.4]
+  assign _T_660 = _T_659[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@55993.4]
+  assign _T_661 = _T_657 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@55994.4]
+  assign _T_672 = _T_507 & _T_640; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@56009.4]
+  assign _T_674 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@56012.6]
+  assign _T_675 = _T_625 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@56014.6]
+  assign _T_676 = _T_675[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@56015.6]
+  assign _T_677 = _T_676 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56016.6]
+  assign _T_679 = _T_677 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@56018.6]
+  assign _T_680 = _T_679 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@56019.6]
+  assign _GEN_15 = _T_672 ? _T_674 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@56011.4]
+  assign _T_685 = _T_563 & _T_661; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@56030.4]
+  assign _T_687 = _T_366 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@56032.4]
+  assign _T_688 = _T_685 & _T_687; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@56033.4]
+  assign _T_689 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@56035.6]
+  assign _T_690 = _GEN_15 | _T_625; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@56037.6]
+  assign _T_691 = _T_690 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@56038.6]
+  assign _T_692 = _T_691[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@56039.6]
+  assign _T_694 = _T_692 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@56041.6]
+  assign _T_695 = _T_694 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@56042.6]
+  assign _GEN_16 = _T_688 ? _T_689 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@56034.4]
+  assign _T_696 = _GEN_15 != _GEN_16; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@56048.4]
+  assign _T_697 = _GEN_15 != 2'h0; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@56049.4]
+  assign _T_698 = _T_697 == 1'h0; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@56050.4]
+  assign _T_699 = _T_696 | _T_698; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@56051.4]
+  assign _T_701 = _T_699 | reset; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@56053.4]
+  assign _T_702 = _T_701 == 1'h0; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@56054.4]
+  assign _T_703 = _T_625 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@56059.4]
+  assign _T_704 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@56060.4]
+  assign _T_705 = _T_703 & _T_704; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@56061.4]
+  assign _T_708 = _T_625 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@56066.4]
+  assign _T_709 = _T_708 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@56067.4]
+  assign _T_710 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@56068.4]
+  assign _T_711 = _T_709 | _T_710; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@56069.4]
+  assign _T_712 = _T_707 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@56070.4]
+  assign _T_713 = _T_711 | _T_712; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@56071.4]
+  assign _T_715 = _T_713 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@56073.4]
+  assign _T_716 = _T_715 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@56074.4]
+  assign _T_718 = _T_707 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@56080.4]
+  assign _T_721 = _T_507 | _T_563; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@56084.4]
+  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55022.10]
+  assign _GEN_35 = io_in_a_valid & _T_128; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55094.10]
+  assign _GEN_53 = io_in_a_valid & _T_170; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55177.10]
+  assign _GEN_65 = io_in_a_valid & _T_203; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55236.10]
+  assign _GEN_75 = io_in_a_valid & _T_232; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55287.10]
+  assign _GEN_85 = io_in_a_valid & _T_263; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55340.10]
+  assign _GEN_95 = io_in_a_valid & _T_292; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55391.10]
+  assign _GEN_105 = io_in_a_valid & _T_321; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55442.10]
+  assign _GEN_115 = io_in_d_valid & _T_366; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55500.10]
+  assign _GEN_123 = io_in_d_valid & _T_386; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55542.10]
+  assign _GEN_131 = io_in_d_valid & _T_414; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55600.10]
+  assign _GEN_139 = io_in_d_valid & _T_443; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55659.10]
+  assign _GEN_143 = io_in_d_valid & _T_460; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55694.10]
+  assign _GEN_147 = io_in_d_valid & _T_478; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55730.10]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  _T_517 = _RAND_0[9:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  _T_530 = _RAND_1[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  _T_532 = _RAND_2[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  _T_534 = _RAND_3[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  _T_536 = _RAND_4[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  _T_538 = _RAND_5[13:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {1{`RANDOM}};
+  _T_572 = _RAND_6[9:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {1{`RANDOM}};
+  _T_585 = _RAND_7[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_8 = {1{`RANDOM}};
+  _T_589 = _RAND_8[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_9 = {1{`RANDOM}};
+  _T_591 = _RAND_9[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_10 = {1{`RANDOM}};
+  _T_625 = _RAND_10[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_11 = {1{`RANDOM}};
+  _T_636 = _RAND_11[9:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_12 = {1{`RANDOM}};
+  _T_657 = _RAND_12[9:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_13 = {1{`RANDOM}};
+  _T_707 = _RAND_13[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      _T_517 <= 10'h0;
+    end else begin
+      if (_T_507) begin
+        if (_T_521) begin
+          if (_T_514) begin
+            _T_517 <= _T_512;
+          end else begin
+            _T_517 <= 10'h0;
+          end
+        end else begin
+          _T_517 <= _T_520;
+        end
+      end
+    end
+    if (_T_562) begin
+      _T_530 <= io_in_a_bits_opcode;
+    end
+    if (_T_562) begin
+      _T_532 <= io_in_a_bits_param;
+    end
+    if (_T_562) begin
+      _T_534 <= io_in_a_bits_size;
+    end
+    if (_T_562) begin
+      _T_536 <= io_in_a_bits_source;
+    end
+    if (_T_562) begin
+      _T_538 <= io_in_a_bits_address;
+    end
+    if (reset) begin
+      _T_572 <= 10'h0;
+    end else begin
+      if (_T_563) begin
+        if (_T_576) begin
+          if (_T_569) begin
+            _T_572 <= _T_568;
+          end else begin
+            _T_572 <= 10'h0;
+          end
+        end else begin
+          _T_572 <= _T_575;
+        end
+      end
+    end
+    if (_T_623) begin
+      _T_585 <= io_in_d_bits_opcode;
+    end
+    if (_T_623) begin
+      _T_589 <= io_in_d_bits_size;
+    end
+    if (_T_623) begin
+      _T_591 <= io_in_d_bits_source;
+    end
+    if (reset) begin
+      _T_625 <= 2'h0;
+    end else begin
+      _T_625 <= _T_705;
+    end
+    if (reset) begin
+      _T_636 <= 10'h0;
+    end else begin
+      if (_T_507) begin
+        if (_T_640) begin
+          if (_T_514) begin
+            _T_636 <= _T_512;
+          end else begin
+            _T_636 <= 10'h0;
+          end
+        end else begin
+          _T_636 <= _T_639;
+        end
+      end
+    end
+    if (reset) begin
+      _T_657 <= 10'h0;
+    end else begin
+      if (_T_563) begin
+        if (_T_661) begin
+          if (_T_569) begin
+            _T_657 <= _T_568;
+          end else begin
+            _T_657 <= 10'h0;
+          end
+        end else begin
+          _T_657 <= _T_660;
+        end
+      end
+    end
+    if (reset) begin
+      _T_707 <= 32'h0;
+    end else begin
+      if (_T_721) begin
+        _T_707 <= 32'h0;
+      end else begin
+        _T_707 <= _T_718;
+      end
+    end
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@54935.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@54936.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@55005.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@55006.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55022.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_101) begin
+          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55023.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55029.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_101) begin
+          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55030.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55036.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_107) begin
+          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55037.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_111) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55044.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_111) begin
+          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55045.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55051.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_114) begin
+          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55052.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_118) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55059.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_118) begin
+          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55060.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_123) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55068.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_123) begin
+          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55069.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_127) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55076.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_127) begin
+          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55077.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55094.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_101) begin
+          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55095.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55101.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_101) begin
+          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55102.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55108.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_107) begin
+          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55109.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_111) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55116.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_111) begin
+          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55117.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55123.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_114) begin
+          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55124.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_118) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55131.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_118) begin
+          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55132.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_160) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55139.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_160) begin
+          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55140.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_123) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55148.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_123) begin
+          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55149.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_127) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55156.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_127) begin
+          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55157.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_184) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55177.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_184) begin
+          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55178.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55184.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_107) begin
+          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55185.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55191.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_114) begin
+          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55192.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_194) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55199.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_194) begin
+          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55200.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_198) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55207.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_198) begin
+          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55208.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_127) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55215.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_127) begin
+          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55216.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_184) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55236.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_184) begin
+          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55237.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55243.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_107) begin
+          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55244.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55250.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_114) begin
+          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55251.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_194) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55258.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_194) begin
+          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55259.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_198) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55266.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_198) begin
+          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55267.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_184) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55287.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_184) begin
+          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55288.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55294.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_107) begin
+          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55295.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55301.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_114) begin
+          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55302.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_194) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55309.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_194) begin
+          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55310.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_262) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55319.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_262) begin
+          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55320.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_277) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55340.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_277) begin
+          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55341.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55347.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_107) begin
+          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55348.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55354.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_114) begin
+          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55355.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_287) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55362.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_287) begin
+          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55363.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_198) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55370.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_198) begin
+          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55371.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_277) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55391.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_277) begin
+          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55392.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55398.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_107) begin
+          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55399.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55405.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_114) begin
+          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55406.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_316) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55413.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_316) begin
+          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55414.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_198) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55421.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_198) begin
+          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55422.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_184) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55442.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_184) begin
+          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55443.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55449.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_107) begin
+          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55450.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55456.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_114) begin
+          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55457.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_198) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55464.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_198) begin
+          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55465.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_127) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55472.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_127) begin
+          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55473.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_353) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@55483.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_353) begin
+          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@55484.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_369) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55500.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_369) begin
+          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55501.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_373) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55508.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_373) begin
+          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55509.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55516.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55517.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_381) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55524.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_381) begin
+          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55525.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55532.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_101) begin
+          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55533.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_123 & _T_369) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55542.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_123 & _T_369) begin
+          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55543.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_123 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55549.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_123 & _T_101) begin
+          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55550.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_123 & _T_373) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55557.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_123 & _T_373) begin
+          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55558.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55565.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55566.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55573.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55574.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_123 & _T_381) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55581.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_123 & _T_381) begin
+          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55582.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55590.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55591.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_131 & _T_369) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55600.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_131 & _T_369) begin
+          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55601.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_131 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55607.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_131 & _T_101) begin
+          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55608.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_131 & _T_373) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55615.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_131 & _T_373) begin
+          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55616.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55623.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55624.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55631.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55632.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_131 & _T_437) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55640.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_131 & _T_437) begin
+          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55641.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55649.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55650.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_139 & _T_369) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55659.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_139 & _T_369) begin
+          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55660.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55667.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55668.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_139 & _T_381) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55675.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_139 & _T_381) begin
+          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55676.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55684.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55685.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_143 & _T_369) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55694.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_143 & _T_369) begin
+          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55695.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55702.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55703.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_143 & _T_437) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55711.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_143 & _T_437) begin
+          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55712.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55720.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55721.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_147 & _T_369) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55730.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_147 & _T_369) begin
+          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55731.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55738.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55739.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_147 & _T_381) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55746.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_147 & _T_381) begin
+          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55747.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55755.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55756.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55765.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55766.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55773.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55774.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55781.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55782.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_540 & _T_544) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55821.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_540 & _T_544) begin
+          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55822.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_540 & _T_548) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55829.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_540 & _T_548) begin
+          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55830.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_540 & _T_552) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55837.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_540 & _T_552) begin
+          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55838.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_540 & _T_556) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55845.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_540 & _T_556) begin
+          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55846.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_540 & _T_560) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55853.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_540 & _T_560) begin
+          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55854.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_597 & _T_601) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55903.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_597 & _T_601) begin
+          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55904.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55911.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55912.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_597 & _T_609) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55919.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_597 & _T_609) begin
+          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55920.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_597 & _T_613) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55927.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_597 & _T_613) begin
+          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55928.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55935.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55936.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55943.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55944.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_672 & _T_680) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@56021.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_672 & _T_680) begin
+          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@56022.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_688 & _T_695) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@56044.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_688 & _T_695) begin
+          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@56045.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_702) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' and 'D' concurrent, despite minlatency 1 (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:471 assert(a_set =/= d_clr || !a_set.orR, s\"'A' and 'D' concurrent, despite minlatency ${edge.manager.minLatency}\" + extra)\n"); // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@56056.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_702) begin
+          $fatal; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@56057.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_716) begin
+          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@56076.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_716) begin
+          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@56077.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+endmodule
+module Queue_4( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56089.2]
+  input        clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56090.4]
+  input        reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56091.4]
+  output       io_enq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56092.4]
+  input        io_enq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56092.4]
+  input  [2:0] io_enq_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56092.4]
+  input  [3:0] io_enq_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56092.4]
+  input        io_enq_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56092.4]
+  input        io_deq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56092.4]
+  output       io_deq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56092.4]
+  output [2:0] io_deq_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56092.4]
+  output [3:0] io_deq_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56092.4]
+  output       io_deq_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56092.4]
+);
+  reg [2:0] _T_35_opcode [0:0]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@56094.4]
+  reg [31:0] _RAND_0;
+  wire [2:0] _T_35_opcode__T_52_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@56094.4]
+  wire  _T_35_opcode__T_52_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@56094.4]
+  wire [2:0] _T_35_opcode__T_48_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@56094.4]
+  wire  _T_35_opcode__T_48_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@56094.4]
+  wire  _T_35_opcode__T_48_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@56094.4]
+  wire  _T_35_opcode__T_48_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@56094.4]
+  reg [3:0] _T_35_size [0:0]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@56094.4]
+  reg [31:0] _RAND_1;
+  wire [3:0] _T_35_size__T_52_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@56094.4]
+  wire  _T_35_size__T_52_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@56094.4]
+  wire [3:0] _T_35_size__T_48_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@56094.4]
+  wire  _T_35_size__T_48_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@56094.4]
+  wire  _T_35_size__T_48_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@56094.4]
+  wire  _T_35_size__T_48_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@56094.4]
+  reg  _T_35_source [0:0]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@56094.4]
+  reg [31:0] _RAND_2;
+  wire  _T_35_source__T_52_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@56094.4]
+  wire  _T_35_source__T_52_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@56094.4]
+  wire  _T_35_source__T_48_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@56094.4]
+  wire  _T_35_source__T_48_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@56094.4]
+  wire  _T_35_source__T_48_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@56094.4]
+  wire  _T_35_source__T_48_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@56094.4]
+  reg  _T_37; // @[Decoupled.scala 217:35:shc.marmotcaravel.MarmotCaravelConfig.fir@56095.4]
+  reg [31:0] _RAND_3;
+  wire  _T_39; // @[Decoupled.scala 220:36:shc.marmotcaravel.MarmotCaravelConfig.fir@56097.4]
+  wire  _T_42; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@56100.4]
+  wire  _T_45; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@56103.4]
+  wire  _T_49; // @[Decoupled.scala 232:16:shc.marmotcaravel.MarmotCaravelConfig.fir@56119.4]
+  assign _T_35_opcode__T_52_addr = 1'h0;
+  assign _T_35_opcode__T_52_data = _T_35_opcode[_T_35_opcode__T_52_addr]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@56094.4]
+  assign _T_35_opcode__T_48_data = io_enq_bits_opcode;
+  assign _T_35_opcode__T_48_addr = 1'h0;
+  assign _T_35_opcode__T_48_mask = 1'h1;
+  assign _T_35_opcode__T_48_en = io_enq_ready & io_enq_valid;
+  assign _T_35_size__T_52_addr = 1'h0;
+  assign _T_35_size__T_52_data = _T_35_size[_T_35_size__T_52_addr]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@56094.4]
+  assign _T_35_size__T_48_data = io_enq_bits_size;
+  assign _T_35_size__T_48_addr = 1'h0;
+  assign _T_35_size__T_48_mask = 1'h1;
+  assign _T_35_size__T_48_en = io_enq_ready & io_enq_valid;
+  assign _T_35_source__T_52_addr = 1'h0;
+  assign _T_35_source__T_52_data = _T_35_source[_T_35_source__T_52_addr]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@56094.4]
+  assign _T_35_source__T_48_data = io_enq_bits_source;
+  assign _T_35_source__T_48_addr = 1'h0;
+  assign _T_35_source__T_48_mask = 1'h1;
+  assign _T_35_source__T_48_en = io_enq_ready & io_enq_valid;
+  assign _T_39 = _T_37 == 1'h0; // @[Decoupled.scala 220:36:shc.marmotcaravel.MarmotCaravelConfig.fir@56097.4]
+  assign _T_42 = io_enq_ready & io_enq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@56100.4]
+  assign _T_45 = io_deq_ready & io_deq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@56103.4]
+  assign _T_49 = _T_42 != _T_45; // @[Decoupled.scala 232:16:shc.marmotcaravel.MarmotCaravelConfig.fir@56119.4]
+  assign io_enq_ready = _T_37 == 1'h0; // @[Decoupled.scala 237:16:shc.marmotcaravel.MarmotCaravelConfig.fir@56126.4]
+  assign io_deq_valid = _T_39 == 1'h0; // @[Decoupled.scala 236:16:shc.marmotcaravel.MarmotCaravelConfig.fir@56124.4]
+  assign io_deq_bits_opcode = _T_35_opcode__T_52_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@56135.4]
+  assign io_deq_bits_size = _T_35_size__T_52_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@56133.4]
+  assign io_deq_bits_source = _T_35_source__T_52_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@56132.4]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  _RAND_0 = {1{`RANDOM}};
+  `ifdef RANDOMIZE_MEM_INIT
+  for (initvar = 0; initvar < 1; initvar = initvar+1)
+    _T_35_opcode[initvar] = _RAND_0[2:0];
+  `endif // RANDOMIZE_MEM_INIT
+  _RAND_1 = {1{`RANDOM}};
+  `ifdef RANDOMIZE_MEM_INIT
+  for (initvar = 0; initvar < 1; initvar = initvar+1)
+    _T_35_size[initvar] = _RAND_1[3:0];
+  `endif // RANDOMIZE_MEM_INIT
+  _RAND_2 = {1{`RANDOM}};
+  `ifdef RANDOMIZE_MEM_INIT
+  for (initvar = 0; initvar < 1; initvar = initvar+1)
+    _T_35_source[initvar] = _RAND_2[0:0];
+  `endif // RANDOMIZE_MEM_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  _T_37 = _RAND_3[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if(_T_35_opcode__T_48_en & _T_35_opcode__T_48_mask) begin
+      _T_35_opcode[_T_35_opcode__T_48_addr] <= _T_35_opcode__T_48_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@56094.4]
+    end
+    if(_T_35_size__T_48_en & _T_35_size__T_48_mask) begin
+      _T_35_size[_T_35_size__T_48_addr] <= _T_35_size__T_48_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@56094.4]
+    end
+    if(_T_35_source__T_48_en & _T_35_source__T_48_mask) begin
+      _T_35_source[_T_35_source__T_48_addr] <= _T_35_source__T_48_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@56094.4]
+    end
+    if (reset) begin
+      _T_37 <= 1'h0;
+    end else begin
+      if (_T_49) begin
+        _T_37 <= _T_42;
+      end
+    end
+  end
+endmodule
+module TLError( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56143.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56144.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56145.4]
+  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56146.4]
+  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56146.4]
+  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56146.4]
+  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56146.4]
+  input  [3:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56146.4]
+  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56146.4]
+  input  [13:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56146.4]
+  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56146.4]
+  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56146.4]
+  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56146.4]
+  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56146.4]
+  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56146.4]
+  output [3:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56146.4]
+  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56146.4]
+  output        auto_in_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56146.4]
+);
+  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@56153.4]
+  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@56153.4]
+  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@56153.4]
+  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@56153.4]
+  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@56153.4]
+  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@56153.4]
+  wire [3:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@56153.4]
+  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@56153.4]
+  wire [13:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@56153.4]
+  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@56153.4]
+  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@56153.4]
+  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@56153.4]
+  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@56153.4]
+  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@56153.4]
+  wire [3:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@56153.4]
+  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@56153.4]
+  wire  TLMonitor_io_in_d_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@56153.4]
+  wire  a_clock; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@56191.4]
+  wire  a_reset; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@56191.4]
+  wire  a_io_enq_ready; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@56191.4]
+  wire  a_io_enq_valid; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@56191.4]
+  wire [2:0] a_io_enq_bits_opcode; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@56191.4]
+  wire [3:0] a_io_enq_bits_size; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@56191.4]
+  wire  a_io_enq_bits_source; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@56191.4]
+  wire  a_io_deq_ready; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@56191.4]
+  wire  a_io_deq_valid; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@56191.4]
+  wire [2:0] a_io_deq_bits_opcode; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@56191.4]
+  wire [3:0] a_io_deq_bits_size; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@56191.4]
+  wire  a_io_deq_bits_source; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@56191.4]
+  wire  _T_159; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@56207.4]
+  wire [26:0] _T_161; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@56209.4]
+  wire [11:0] _T_162; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@56210.4]
+  wire [11:0] _T_163; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@56211.4]
+  wire [9:0] _T_164; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@56212.4]
+  wire  _T_165; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@56213.4]
+  wire  _T_166; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@56214.4]
+  wire [9:0] _T_167; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56215.4]
+  reg [9:0] _T_169; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@56216.4]
+  reg [31:0] _RAND_0;
+  wire [10:0] _T_170; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@56217.4]
+  wire [10:0] _T_171; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@56218.4]
+  wire [9:0] _T_172; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@56219.4]
+  wire  _T_173; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@56220.4]
+  wire  _T_174; // @[Edges.scala 232:25:shc.marmotcaravel.MarmotCaravelConfig.fir@56221.4]
+  wire  _T_175; // @[Edges.scala 232:47:shc.marmotcaravel.MarmotCaravelConfig.fir@56222.4]
+  wire  a_last; // @[Edges.scala 232:37:shc.marmotcaravel.MarmotCaravelConfig.fir@56223.4]
+  wire  da_valid; // @[Error.scala 30:25:shc.marmotcaravel.MarmotCaravelConfig.fir@56267.4]
+  wire  _T_180; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@56231.4]
+  wire [3:0] da_bits_size; // @[Error.scala 22:18:shc.marmotcaravel.MarmotCaravelConfig.fir@56204.4 Error.scala 34:21:shc.marmotcaravel.MarmotCaravelConfig.fir@56282.4]
+  wire [26:0] _T_182; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@56233.4]
+  wire [11:0] _T_183; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@56234.4]
+  wire [11:0] _T_184; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@56235.4]
+  wire [9:0] _T_185; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@56236.4]
+  wire [2:0] _GEN_4; // @[Error.scala 32:21:shc.marmotcaravel.MarmotCaravelConfig.fir@56280.4]
+  wire [2:0] _GEN_5; // @[Error.scala 32:21:shc.marmotcaravel.MarmotCaravelConfig.fir@56280.4]
+  wire [2:0] _GEN_6; // @[Error.scala 32:21:shc.marmotcaravel.MarmotCaravelConfig.fir@56280.4]
+  wire [2:0] _GEN_7; // @[Error.scala 32:21:shc.marmotcaravel.MarmotCaravelConfig.fir@56280.4]
+  wire [2:0] _GEN_8; // @[Error.scala 32:21:shc.marmotcaravel.MarmotCaravelConfig.fir@56280.4]
+  wire [2:0] da_bits_opcode; // @[Error.scala 32:21:shc.marmotcaravel.MarmotCaravelConfig.fir@56280.4]
+  wire  _T_186; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@56237.4]
+  wire [9:0] _T_187; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56238.4]
+  reg [9:0] _T_189; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@56239.4]
+  reg [31:0] _RAND_1;
+  wire [10:0] _T_190; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@56240.4]
+  wire [10:0] _T_191; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@56241.4]
+  wire [9:0] _T_192; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@56242.4]
+  wire  da_first; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@56243.4]
+  wire  _T_193; // @[Edges.scala 232:25:shc.marmotcaravel.MarmotCaravelConfig.fir@56244.4]
+  wire  _T_194; // @[Edges.scala 232:47:shc.marmotcaravel.MarmotCaravelConfig.fir@56245.4]
+  wire  da_last; // @[Edges.scala 232:37:shc.marmotcaravel.MarmotCaravelConfig.fir@56246.4]
+  wire  _T_203; // @[Error.scala 29:26:shc.marmotcaravel.MarmotCaravelConfig.fir@56262.4]
+  wire  _T_205; // @[Error.scala 29:49:shc.marmotcaravel.MarmotCaravelConfig.fir@56264.4]
+  TLMonitor_30 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@56153.4]
+    .clock(TLMonitor_clock),
+    .reset(TLMonitor_reset),
+    .io_in_a_ready(TLMonitor_io_in_a_ready),
+    .io_in_a_valid(TLMonitor_io_in_a_valid),
+    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
+    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
+    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
+    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
+    .io_in_d_ready(TLMonitor_io_in_d_ready),
+    .io_in_d_valid(TLMonitor_io_in_d_valid),
+    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
+    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
+    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source),
+    .io_in_d_bits_corrupt(TLMonitor_io_in_d_bits_corrupt)
+  );
+  Queue_4 a ( // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@56191.4]
+    .clock(a_clock),
+    .reset(a_reset),
+    .io_enq_ready(a_io_enq_ready),
+    .io_enq_valid(a_io_enq_valid),
+    .io_enq_bits_opcode(a_io_enq_bits_opcode),
+    .io_enq_bits_size(a_io_enq_bits_size),
+    .io_enq_bits_source(a_io_enq_bits_source),
+    .io_deq_ready(a_io_deq_ready),
+    .io_deq_valid(a_io_deq_valid),
+    .io_deq_bits_opcode(a_io_deq_bits_opcode),
+    .io_deq_bits_size(a_io_deq_bits_size),
+    .io_deq_bits_source(a_io_deq_bits_source)
+  );
+  assign _T_159 = a_io_deq_ready & a_io_deq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@56207.4]
+  assign _T_161 = 27'hfff << a_io_deq_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@56209.4]
+  assign _T_162 = _T_161[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@56210.4]
+  assign _T_163 = ~ _T_162; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@56211.4]
+  assign _T_164 = _T_163[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@56212.4]
+  assign _T_165 = a_io_deq_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@56213.4]
+  assign _T_166 = _T_165 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@56214.4]
+  assign _T_167 = _T_166 ? _T_164 : 10'h0; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56215.4]
+  assign _T_170 = _T_169 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@56217.4]
+  assign _T_171 = $unsigned(_T_170); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@56218.4]
+  assign _T_172 = _T_171[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@56219.4]
+  assign _T_173 = _T_169 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@56220.4]
+  assign _T_174 = _T_169 == 10'h1; // @[Edges.scala 232:25:shc.marmotcaravel.MarmotCaravelConfig.fir@56221.4]
+  assign _T_175 = _T_167 == 10'h0; // @[Edges.scala 232:47:shc.marmotcaravel.MarmotCaravelConfig.fir@56222.4]
+  assign a_last = _T_174 | _T_175; // @[Edges.scala 232:37:shc.marmotcaravel.MarmotCaravelConfig.fir@56223.4]
+  assign da_valid = a_io_deq_valid & a_last; // @[Error.scala 30:25:shc.marmotcaravel.MarmotCaravelConfig.fir@56267.4]
+  assign _T_180 = auto_in_d_ready & da_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@56231.4]
+  assign da_bits_size = a_io_deq_bits_size; // @[Error.scala 22:18:shc.marmotcaravel.MarmotCaravelConfig.fir@56204.4 Error.scala 34:21:shc.marmotcaravel.MarmotCaravelConfig.fir@56282.4]
+  assign _T_182 = 27'hfff << da_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@56233.4]
+  assign _T_183 = _T_182[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@56234.4]
+  assign _T_184 = ~ _T_183; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@56235.4]
+  assign _T_185 = _T_184[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@56236.4]
+  assign _GEN_4 = 3'h2 == a_io_deq_bits_opcode ? 3'h1 : 3'h0; // @[Error.scala 32:21:shc.marmotcaravel.MarmotCaravelConfig.fir@56280.4]
+  assign _GEN_5 = 3'h3 == a_io_deq_bits_opcode ? 3'h1 : _GEN_4; // @[Error.scala 32:21:shc.marmotcaravel.MarmotCaravelConfig.fir@56280.4]
+  assign _GEN_6 = 3'h4 == a_io_deq_bits_opcode ? 3'h1 : _GEN_5; // @[Error.scala 32:21:shc.marmotcaravel.MarmotCaravelConfig.fir@56280.4]
+  assign _GEN_7 = 3'h5 == a_io_deq_bits_opcode ? 3'h2 : _GEN_6; // @[Error.scala 32:21:shc.marmotcaravel.MarmotCaravelConfig.fir@56280.4]
+  assign _GEN_8 = 3'h6 == a_io_deq_bits_opcode ? 3'h4 : _GEN_7; // @[Error.scala 32:21:shc.marmotcaravel.MarmotCaravelConfig.fir@56280.4]
+  assign da_bits_opcode = 3'h7 == a_io_deq_bits_opcode ? 3'h4 : _GEN_8; // @[Error.scala 32:21:shc.marmotcaravel.MarmotCaravelConfig.fir@56280.4]
+  assign _T_186 = da_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@56237.4]
+  assign _T_187 = _T_186 ? _T_185 : 10'h0; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56238.4]
+  assign _T_190 = _T_189 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@56240.4]
+  assign _T_191 = $unsigned(_T_190); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@56241.4]
+  assign _T_192 = _T_191[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@56242.4]
+  assign da_first = _T_189 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@56243.4]
+  assign _T_193 = _T_189 == 10'h1; // @[Edges.scala 232:25:shc.marmotcaravel.MarmotCaravelConfig.fir@56244.4]
+  assign _T_194 = _T_187 == 10'h0; // @[Edges.scala 232:47:shc.marmotcaravel.MarmotCaravelConfig.fir@56245.4]
+  assign da_last = _T_193 | _T_194; // @[Edges.scala 232:37:shc.marmotcaravel.MarmotCaravelConfig.fir@56246.4]
+  assign _T_203 = auto_in_d_ready & da_last; // @[Error.scala 29:26:shc.marmotcaravel.MarmotCaravelConfig.fir@56262.4]
+  assign _T_205 = a_last == 1'h0; // @[Error.scala 29:49:shc.marmotcaravel.MarmotCaravelConfig.fir@56264.4]
+  assign auto_in_a_ready = a_io_enq_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@56190.4]
+  assign auto_in_d_valid = a_io_deq_valid & a_last; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@56190.4]
+  assign auto_in_d_bits_opcode = 3'h7 == a_io_deq_bits_opcode ? 3'h4 : _GEN_8; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@56190.4]
+  assign auto_in_d_bits_size = a_io_deq_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@56190.4]
+  assign auto_in_d_bits_source = a_io_deq_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@56190.4]
+  assign auto_in_d_bits_corrupt = da_bits_opcode[0]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@56190.4]
+  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56155.4]
+  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56156.4]
+  assign TLMonitor_io_in_a_ready = a_io_enq_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@56189.4]
+  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@56189.4]
+  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@56189.4]
+  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@56189.4]
+  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@56189.4]
+  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@56189.4]
+  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@56189.4]
+  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@56189.4]
+  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@56189.4]
+  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@56189.4]
+  assign TLMonitor_io_in_d_valid = a_io_deq_valid & a_last; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@56189.4]
+  assign TLMonitor_io_in_d_bits_opcode = 3'h7 == a_io_deq_bits_opcode ? 3'h4 : _GEN_8; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@56189.4]
+  assign TLMonitor_io_in_d_bits_size = a_io_deq_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@56189.4]
+  assign TLMonitor_io_in_d_bits_source = a_io_deq_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@56189.4]
+  assign TLMonitor_io_in_d_bits_corrupt = da_bits_opcode[0]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@56189.4]
+  assign a_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56192.4]
+  assign a_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56193.4]
+  assign a_io_enq_valid = auto_in_a_valid; // @[Decoupled.scala 294:22:shc.marmotcaravel.MarmotCaravelConfig.fir@56194.4]
+  assign a_io_enq_bits_opcode = auto_in_a_bits_opcode; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@56202.4]
+  assign a_io_enq_bits_size = auto_in_a_bits_size; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@56200.4]
+  assign a_io_enq_bits_source = auto_in_a_bits_source; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@56199.4]
+  assign a_io_deq_ready = _T_203 | _T_205; // @[Error.scala 29:13:shc.marmotcaravel.MarmotCaravelConfig.fir@56266.4]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  _T_169 = _RAND_0[9:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  _T_189 = _RAND_1[9:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      _T_169 <= 10'h0;
+    end else begin
+      if (_T_159) begin
+        if (_T_173) begin
+          if (_T_166) begin
+            _T_169 <= _T_164;
+          end else begin
+            _T_169 <= 10'h0;
+          end
+        end else begin
+          _T_169 <= _T_172;
+        end
+      end
+    end
+    if (reset) begin
+      _T_189 <= 10'h0;
+    end else begin
+      if (_T_180) begin
+        if (da_first) begin
+          if (_T_186) begin
+            _T_189 <= _T_185;
+          end else begin
+            _T_189 <= 10'h0;
+          end
+        end else begin
+          _T_189 <= _T_192;
+        end
+      end
+    end
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at Error.scala:28 assert (idle || da_first) // we only send Grant, never GrantData => simplified flow control below\n"); // @[Error.scala 28:12:shc.marmotcaravel.MarmotCaravelConfig.fir@56259.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Error.scala 28:12:shc.marmotcaravel.MarmotCaravelConfig.fir@56260.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+endmodule
+module SimpleLazyModule_11( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56293.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56294.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56295.4]
+  output        auto_error_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56296.4]
+  input         auto_error_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56296.4]
+  input  [2:0]  auto_error_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56296.4]
+  input  [2:0]  auto_error_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56296.4]
+  input  [3:0]  auto_error_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56296.4]
+  input         auto_error_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56296.4]
+  input  [13:0] auto_error_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56296.4]
+  input  [3:0]  auto_error_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56296.4]
+  input         auto_error_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56296.4]
+  input         auto_error_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56296.4]
+  output        auto_error_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56296.4]
+  output [2:0]  auto_error_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56296.4]
+  output [3:0]  auto_error_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56296.4]
+  output        auto_error_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56296.4]
+  output        auto_error_in_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56296.4]
+);
+  wire  error_clock; // @[PeripheryBus.scala 45:27:shc.marmotcaravel.MarmotCaravelConfig.fir@56301.4]
+  wire  error_reset; // @[PeripheryBus.scala 45:27:shc.marmotcaravel.MarmotCaravelConfig.fir@56301.4]
+  wire  error_auto_in_a_ready; // @[PeripheryBus.scala 45:27:shc.marmotcaravel.MarmotCaravelConfig.fir@56301.4]
+  wire  error_auto_in_a_valid; // @[PeripheryBus.scala 45:27:shc.marmotcaravel.MarmotCaravelConfig.fir@56301.4]
+  wire [2:0] error_auto_in_a_bits_opcode; // @[PeripheryBus.scala 45:27:shc.marmotcaravel.MarmotCaravelConfig.fir@56301.4]
+  wire [2:0] error_auto_in_a_bits_param; // @[PeripheryBus.scala 45:27:shc.marmotcaravel.MarmotCaravelConfig.fir@56301.4]
+  wire [3:0] error_auto_in_a_bits_size; // @[PeripheryBus.scala 45:27:shc.marmotcaravel.MarmotCaravelConfig.fir@56301.4]
+  wire  error_auto_in_a_bits_source; // @[PeripheryBus.scala 45:27:shc.marmotcaravel.MarmotCaravelConfig.fir@56301.4]
+  wire [13:0] error_auto_in_a_bits_address; // @[PeripheryBus.scala 45:27:shc.marmotcaravel.MarmotCaravelConfig.fir@56301.4]
+  wire [3:0] error_auto_in_a_bits_mask; // @[PeripheryBus.scala 45:27:shc.marmotcaravel.MarmotCaravelConfig.fir@56301.4]
+  wire  error_auto_in_a_bits_corrupt; // @[PeripheryBus.scala 45:27:shc.marmotcaravel.MarmotCaravelConfig.fir@56301.4]
+  wire  error_auto_in_d_ready; // @[PeripheryBus.scala 45:27:shc.marmotcaravel.MarmotCaravelConfig.fir@56301.4]
+  wire  error_auto_in_d_valid; // @[PeripheryBus.scala 45:27:shc.marmotcaravel.MarmotCaravelConfig.fir@56301.4]
+  wire [2:0] error_auto_in_d_bits_opcode; // @[PeripheryBus.scala 45:27:shc.marmotcaravel.MarmotCaravelConfig.fir@56301.4]
+  wire [3:0] error_auto_in_d_bits_size; // @[PeripheryBus.scala 45:27:shc.marmotcaravel.MarmotCaravelConfig.fir@56301.4]
+  wire  error_auto_in_d_bits_source; // @[PeripheryBus.scala 45:27:shc.marmotcaravel.MarmotCaravelConfig.fir@56301.4]
+  wire  error_auto_in_d_bits_corrupt; // @[PeripheryBus.scala 45:27:shc.marmotcaravel.MarmotCaravelConfig.fir@56301.4]
+  TLError error ( // @[PeripheryBus.scala 45:27:shc.marmotcaravel.MarmotCaravelConfig.fir@56301.4]
+    .clock(error_clock),
+    .reset(error_reset),
+    .auto_in_a_ready(error_auto_in_a_ready),
+    .auto_in_a_valid(error_auto_in_a_valid),
+    .auto_in_a_bits_opcode(error_auto_in_a_bits_opcode),
+    .auto_in_a_bits_param(error_auto_in_a_bits_param),
+    .auto_in_a_bits_size(error_auto_in_a_bits_size),
+    .auto_in_a_bits_source(error_auto_in_a_bits_source),
+    .auto_in_a_bits_address(error_auto_in_a_bits_address),
+    .auto_in_a_bits_mask(error_auto_in_a_bits_mask),
+    .auto_in_a_bits_corrupt(error_auto_in_a_bits_corrupt),
+    .auto_in_d_ready(error_auto_in_d_ready),
+    .auto_in_d_valid(error_auto_in_d_valid),
+    .auto_in_d_bits_opcode(error_auto_in_d_bits_opcode),
+    .auto_in_d_bits_size(error_auto_in_d_bits_size),
+    .auto_in_d_bits_source(error_auto_in_d_bits_source),
+    .auto_in_d_bits_corrupt(error_auto_in_d_bits_corrupt)
+  );
+  assign auto_error_in_a_ready = error_auto_in_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@56307.4]
+  assign auto_error_in_d_valid = error_auto_in_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@56307.4]
+  assign auto_error_in_d_bits_opcode = error_auto_in_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@56307.4]
+  assign auto_error_in_d_bits_size = error_auto_in_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@56307.4]
+  assign auto_error_in_d_bits_source = error_auto_in_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@56307.4]
+  assign auto_error_in_d_bits_corrupt = error_auto_in_d_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@56307.4]
+  assign error_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56305.4]
+  assign error_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56306.4]
+  assign error_auto_in_a_valid = auto_error_in_a_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@56307.4]
+  assign error_auto_in_a_bits_opcode = auto_error_in_a_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@56307.4]
+  assign error_auto_in_a_bits_param = auto_error_in_a_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@56307.4]
+  assign error_auto_in_a_bits_size = auto_error_in_a_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@56307.4]
+  assign error_auto_in_a_bits_source = auto_error_in_a_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@56307.4]
+  assign error_auto_in_a_bits_address = auto_error_in_a_bits_address; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@56307.4]
+  assign error_auto_in_a_bits_mask = auto_error_in_a_bits_mask; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@56307.4]
+  assign error_auto_in_a_bits_corrupt = auto_error_in_a_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@56307.4]
+  assign error_auto_in_d_ready = auto_error_in_d_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@56307.4]
+endmodule
+module TLMonitor_31( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56325.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56326.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56327.4]
+  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56328.4]
+  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56328.4]
+  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56328.4]
+  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56328.4]
+  input  [3:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56328.4]
+  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56328.4]
+  input  [29:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56328.4]
+  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56328.4]
+  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56328.4]
+  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56328.4]
+  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56328.4]
+  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56328.4]
+  input  [1:0]  io_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56328.4]
+  input  [3:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56328.4]
+  input         io_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56328.4]
+  input         io_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56328.4]
+  input         io_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56328.4]
+  input         io_in_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56328.4]
+);
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@57830.4]
+  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@56344.6]
+  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@56349.6]
+  wire [26:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@56351.6]
+  wire [11:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@56352.6]
+  wire [11:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@56353.6]
+  wire [29:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@56354.6]
+  wire [29:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@56354.6]
+  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@56355.6]
+  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@56357.6]
+  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@56358.6]
+  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@56360.6]
+  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@56361.6]
+  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@56362.6]
+  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@56363.6]
+  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@56364.6]
+  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@56366.6]
+  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@56367.6]
+  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@56369.6]
+  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@56370.6]
+  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@56371.6]
+  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@56372.6]
+  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@56373.6]
+  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@56374.6]
+  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@56375.6]
+  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@56376.6]
+  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@56377.6]
+  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@56378.6]
+  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@56379.6]
+  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@56380.6]
+  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@56381.6]
+  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@56382.6]
+  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@56383.6]
+  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@56384.6]
+  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@56385.6]
+  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@56386.6]
+  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@56387.6]
+  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@56388.6]
+  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@56413.6]
+  wire [29:0] _T_92; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@56416.8]
+  wire [30:0] _T_93; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@56417.8]
+  wire [30:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@56418.8]
+  wire [30:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@56419.8]
+  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@56420.8]
+  wire [29:0] _T_97; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@56421.8]
+  wire [30:0] _T_98; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@56422.8]
+  wire [30:0] _T_99; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@56423.8]
+  wire [30:0] _T_100; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@56424.8]
+  wire  _T_101; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@56425.8]
+  wire [29:0] _T_102; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@56426.8]
+  wire [30:0] _T_103; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@56427.8]
+  wire [30:0] _T_104; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@56428.8]
+  wire [30:0] _T_105; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@56429.8]
+  wire  _T_106; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@56430.8]
+  wire [29:0] _T_107; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@56431.8]
+  wire [30:0] _T_108; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@56432.8]
+  wire [30:0] _T_109; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@56433.8]
+  wire [30:0] _T_110; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@56434.8]
+  wire  _T_111; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@56435.8]
+  wire [29:0] _T_112; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@56436.8]
+  wire [30:0] _T_113; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@56437.8]
+  wire [30:0] _T_114; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@56438.8]
+  wire [30:0] _T_115; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@56439.8]
+  wire  _T_116; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@56440.8]
+  wire [29:0] _T_117; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@56441.8]
+  wire [30:0] _T_118; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@56442.8]
+  wire [30:0] _T_119; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@56443.8]
+  wire [30:0] _T_120; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@56444.8]
+  wire  _T_121; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@56445.8]
+  wire [29:0] _T_122; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@56446.8]
+  wire [30:0] _T_123; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@56447.8]
+  wire [30:0] _T_124; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@56448.8]
+  wire [30:0] _T_125; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@56449.8]
+  wire  _T_126; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@56450.8]
+  wire [29:0] _T_127; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@56451.8]
+  wire [30:0] _T_128; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@56452.8]
+  wire [30:0] _T_129; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@56453.8]
+  wire [30:0] _T_130; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@56454.8]
+  wire  _T_131; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@56455.8]
+  wire  _T_132; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@56456.8]
+  wire  _T_133; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@56457.8]
+  wire  _T_134; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@56458.8]
+  wire  _T_135; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@56459.8]
+  wire  _T_143; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56467.8]
+  wire  _T_148; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56480.8]
+  wire  _T_149; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56481.8]
+  wire  _T_152; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56488.8]
+  wire  _T_153; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56489.8]
+  wire  _T_155; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56495.8]
+  wire  _T_156; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56496.8]
+  wire  _T_157; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@56501.8]
+  wire  _T_159; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56503.8]
+  wire  _T_160; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56504.8]
+  wire [3:0] _T_161; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@56509.8]
+  wire  _T_162; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@56510.8]
+  wire  _T_164; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56512.8]
+  wire  _T_165; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56513.8]
+  wire  _T_166; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@56518.8]
+  wire  _T_168; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56520.8]
+  wire  _T_169; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56521.8]
+  wire  _T_170; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@56527.6]
+  wire  _T_241; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@56623.8]
+  wire  _T_243; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56625.8]
+  wire  _T_244; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56626.8]
+  wire  _T_254; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@56649.6]
+  wire  _T_256; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@56652.8]
+  wire  _T_264; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@56660.8]
+  wire  _T_266; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@56662.8]
+  wire  _T_304; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@56700.8]
+  wire  _T_305; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@56701.8]
+  wire  _T_306; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@56702.8]
+  wire  _T_307; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@56703.8]
+  wire  _T_308; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@56704.8]
+  wire  _T_309; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@56705.8]
+  wire  _T_310; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@56706.8]
+  wire  _T_312; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@56708.8]
+  wire  _T_314; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56710.8]
+  wire  _T_315; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56711.8]
+  wire  _T_322; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@56730.8]
+  wire  _T_324; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56732.8]
+  wire  _T_325; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56733.8]
+  wire  _T_326; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@56738.8]
+  wire  _T_328; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56740.8]
+  wire  _T_329; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56741.8]
+  wire  _T_334; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@56755.6]
+  wire  _T_382; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@56804.8]
+  wire  _T_383; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@56805.8]
+  wire  _T_384; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@56806.8]
+  wire  _T_393; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@56815.8]
+  wire  _T_396; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56818.8]
+  wire  _T_397; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56819.8]
+  wire  _T_412; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@56855.6]
+  wire [3:0] _T_486; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@56946.8]
+  wire [3:0] _T_487; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@56947.8]
+  wire  _T_488; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@56948.8]
+  wire  _T_490; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56950.8]
+  wire  _T_491; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56951.8]
+  wire  _T_492; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@56957.6]
+  wire  _T_494; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@56960.8]
+  wire  _T_536; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@57002.8]
+  wire  _T_537; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@57003.8]
+  wire  _T_538; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@57004.8]
+  wire  _T_549; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57015.8]
+  wire  _T_550; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57016.8]
+  wire  _T_557; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@57035.8]
+  wire  _T_559; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57037.8]
+  wire  _T_560; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57038.8]
+  wire  _T_565; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57052.6]
+  wire  _T_630; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@57130.8]
+  wire  _T_632; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57132.8]
+  wire  _T_633; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57133.8]
+  wire  _T_638; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57147.6]
+  wire  _T_695; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57205.8]
+  wire  _T_696; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57206.8]
+  wire  _T_711; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@57244.6]
+  wire  _T_713; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@57246.6]
+  wire  _T_714; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@57247.6]
+  wire  _T_716; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@57253.6]
+  wire  _T_725; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@57258.6]
+  wire  _T_727; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57260.6]
+  wire  _T_729; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57263.8]
+  wire  _T_730; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57264.8]
+  wire  _T_731; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@57269.8]
+  wire  _T_733; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57271.8]
+  wire  _T_734; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57272.8]
+  wire  _T_735; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@57277.8]
+  wire  _T_737; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57279.8]
+  wire  _T_738; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57280.8]
+  wire  _T_739; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@57285.8]
+  wire  _T_741; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57287.8]
+  wire  _T_742; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57288.8]
+  wire  _T_743; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@57293.8]
+  wire  _T_745; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57295.8]
+  wire  _T_746; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57296.8]
+  wire  _T_747; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57302.6]
+  wire  _T_758; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@57326.8]
+  wire  _T_760; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57328.8]
+  wire  _T_761; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57329.8]
+  wire  _T_762; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@57334.8]
+  wire  _T_764; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57336.8]
+  wire  _T_765; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57337.8]
+  wire  _T_775; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57360.6]
+  wire  _T_795; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@57401.8]
+  wire  _T_797; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57403.8]
+  wire  _T_798; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57404.8]
+  wire  _T_804; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57419.6]
+  wire  _T_821; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57454.6]
+  wire  _T_839; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57490.6]
+  wire  _T_868; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@57550.4]
+  wire [9:0] _T_873; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@57555.4]
+  wire  _T_874; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@57556.4]
+  wire  _T_875; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@57557.4]
+  reg [9:0] _T_878; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@57559.4]
+  reg [31:0] _RAND_0;
+  wire [10:0] _T_879; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@57560.4]
+  wire [10:0] _T_880; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@57561.4]
+  wire [9:0] _T_881; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@57562.4]
+  wire  _T_882; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57563.4]
+  reg [2:0] _T_891; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@57574.4]
+  reg [31:0] _RAND_1;
+  reg [2:0] _T_893; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@57575.4]
+  reg [31:0] _RAND_2;
+  reg [3:0] _T_895; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@57576.4]
+  reg [31:0] _RAND_3;
+  reg  _T_897; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@57577.4]
+  reg [31:0] _RAND_4;
+  reg [29:0] _T_899; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@57578.4]
+  reg [31:0] _RAND_5;
+  wire  _T_900; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@57579.4]
+  wire  _T_901; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@57580.4]
+  wire  _T_902; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@57582.6]
+  wire  _T_904; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57584.6]
+  wire  _T_905; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57585.6]
+  wire  _T_906; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@57590.6]
+  wire  _T_908; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57592.6]
+  wire  _T_909; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57593.6]
+  wire  _T_910; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@57598.6]
+  wire  _T_912; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57600.6]
+  wire  _T_913; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57601.6]
+  wire  _T_914; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@57606.6]
+  wire  _T_916; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57608.6]
+  wire  _T_917; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57609.6]
+  wire  _T_918; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@57614.6]
+  wire  _T_920; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57616.6]
+  wire  _T_921; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57617.6]
+  wire  _T_923; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@57624.4]
+  wire  _T_924; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@57632.4]
+  wire [26:0] _T_926; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@57634.4]
+  wire [11:0] _T_927; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@57635.4]
+  wire [11:0] _T_928; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@57636.4]
+  wire [9:0] _T_929; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@57637.4]
+  wire  _T_930; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@57638.4]
+  reg [9:0] _T_933; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@57640.4]
+  reg [31:0] _RAND_6;
+  wire [10:0] _T_934; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@57641.4]
+  wire [10:0] _T_935; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@57642.4]
+  wire [9:0] _T_936; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@57643.4]
+  wire  _T_937; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57644.4]
+  reg [2:0] _T_946; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@57655.4]
+  reg [31:0] _RAND_7;
+  reg [1:0] _T_948; // @[Monitor.scala 419:22:shc.marmotcaravel.MarmotCaravelConfig.fir@57656.4]
+  reg [31:0] _RAND_8;
+  reg [3:0] _T_950; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@57657.4]
+  reg [31:0] _RAND_9;
+  reg  _T_952; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@57658.4]
+  reg [31:0] _RAND_10;
+  reg  _T_954; // @[Monitor.scala 422:22:shc.marmotcaravel.MarmotCaravelConfig.fir@57659.4]
+  reg [31:0] _RAND_11;
+  reg  _T_956; // @[Monitor.scala 423:22:shc.marmotcaravel.MarmotCaravelConfig.fir@57660.4]
+  reg [31:0] _RAND_12;
+  wire  _T_957; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@57661.4]
+  wire  _T_958; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@57662.4]
+  wire  _T_959; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@57664.6]
+  wire  _T_961; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57666.6]
+  wire  _T_962; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57667.6]
+  wire  _T_963; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@57672.6]
+  wire  _T_965; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57674.6]
+  wire  _T_966; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57675.6]
+  wire  _T_967; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@57680.6]
+  wire  _T_969; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57682.6]
+  wire  _T_970; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57683.6]
+  wire  _T_971; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@57688.6]
+  wire  _T_973; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57690.6]
+  wire  _T_974; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57691.6]
+  wire  _T_975; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@57696.6]
+  wire  _T_977; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57698.6]
+  wire  _T_978; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57699.6]
+  wire  _T_979; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@57704.6]
+  wire  _T_981; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57706.6]
+  wire  _T_982; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57707.6]
+  wire  _T_984; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@57714.4]
+  reg [1:0] _T_986; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@57723.4]
+  reg [31:0] _RAND_13;
+  reg [9:0] _T_997; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@57733.4]
+  reg [31:0] _RAND_14;
+  wire [10:0] _T_998; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@57734.4]
+  wire [10:0] _T_999; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@57735.4]
+  wire [9:0] _T_1000; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@57736.4]
+  wire  _T_1001; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57737.4]
+  reg [9:0] _T_1018; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@57756.4]
+  reg [31:0] _RAND_15;
+  wire [10:0] _T_1019; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@57757.4]
+  wire [10:0] _T_1020; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@57758.4]
+  wire [9:0] _T_1021; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@57759.4]
+  wire  _T_1022; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57760.4]
+  wire  _T_1033; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@57775.4]
+  wire [1:0] _T_1035; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@57778.6]
+  wire [1:0] _T_1036; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@57780.6]
+  wire  _T_1037; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@57781.6]
+  wire  _T_1038; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57782.6]
+  wire  _T_1040; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@57784.6]
+  wire  _T_1041; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@57785.6]
+  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@57777.4]
+  wire  _T_1046; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@57796.4]
+  wire  _T_1048; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@57798.4]
+  wire  _T_1049; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@57799.4]
+  wire [1:0] _T_1050; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@57801.6]
+  wire [1:0] _T_1051; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@57803.6]
+  wire [1:0] _T_1052; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@57804.6]
+  wire  _T_1053; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@57805.6]
+  wire  _T_1055; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@57807.6]
+  wire  _T_1056; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@57808.6]
+  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@57800.4]
+  wire  _T_1057; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@57814.4]
+  wire  _T_1058; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@57815.4]
+  wire  _T_1059; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@57816.4]
+  wire  _T_1060; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@57817.4]
+  wire  _T_1062; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@57819.4]
+  wire  _T_1063; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@57820.4]
+  wire [1:0] _T_1064; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@57825.4]
+  wire [1:0] _T_1065; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@57826.4]
+  wire [1:0] _T_1066; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@57827.4]
+  reg [31:0] _T_1068; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@57829.4]
+  reg [31:0] _RAND_16;
+  wire  _T_1069; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@57832.4]
+  wire  _T_1070; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@57833.4]
+  wire  _T_1071; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@57834.4]
+  wire  _T_1072; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@57835.4]
+  wire  _T_1073; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@57836.4]
+  wire  _T_1074; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@57837.4]
+  wire  _T_1076; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@57839.4]
+  wire  _T_1077; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@57840.4]
+  wire [31:0] _T_1079; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@57846.4]
+  wire  _T_1082; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@57850.4]
+  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56469.10]
+  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56583.10]
+  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56713.10]
+  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56821.10]
+  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56921.10]
+  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57018.10]
+  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57113.10]
+  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57208.10]
+  wire  _GEN_115; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57266.10]
+  wire  _GEN_125; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57308.10]
+  wire  _GEN_137; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57366.10]
+  wire  _GEN_149; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57425.10]
+  wire  _GEN_155; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57460.10]
+  wire  _GEN_161; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57496.10]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@57830.4]
+    .out(plusarg_reader_out)
+  );
+  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@56344.6]
+  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@56349.6]
+  assign _T_32 = 27'hfff << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@56351.6]
+  assign _T_33 = _T_32[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@56352.6]
+  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@56353.6]
+  assign _GEN_18 = {{18'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@56354.6]
+  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@56354.6]
+  assign _T_36 = _T_35 == 30'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@56355.6]
+  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@56357.6]
+  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@56358.6]
+  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@56360.6]
+  assign _T_42 = io_in_a_bits_size >= 4'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@56361.6]
+  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@56362.6]
+  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@56363.6]
+  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@56364.6]
+  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@56366.6]
+  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@56367.6]
+  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@56369.6]
+  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@56370.6]
+  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@56371.6]
+  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@56372.6]
+  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@56373.6]
+  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@56374.6]
+  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@56375.6]
+  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@56376.6]
+  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@56377.6]
+  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@56378.6]
+  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@56379.6]
+  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@56380.6]
+  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@56381.6]
+  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@56382.6]
+  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@56383.6]
+  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@56384.6]
+  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@56385.6]
+  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@56386.6]
+  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@56387.6]
+  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@56388.6]
+  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@56413.6]
+  assign _T_92 = io_in_a_bits_address ^ 30'h3000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@56416.8]
+  assign _T_93 = {1'b0,$signed(_T_92)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@56417.8]
+  assign _T_94 = $signed(_T_93) & $signed(-31'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@56418.8]
+  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@56419.8]
+  assign _T_96 = $signed(_T_95) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@56420.8]
+  assign _T_97 = io_in_a_bits_address ^ 30'h10013000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@56421.8]
+  assign _T_98 = {1'b0,$signed(_T_97)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@56422.8]
+  assign _T_99 = $signed(_T_98) & $signed(-31'sh21000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@56423.8]
+  assign _T_100 = $signed(_T_99); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@56424.8]
+  assign _T_101 = $signed(_T_100) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@56425.8]
+  assign _T_102 = io_in_a_bits_address ^ 30'h10023000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@56426.8]
+  assign _T_103 = {1'b0,$signed(_T_102)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@56427.8]
+  assign _T_104 = $signed(_T_103) & $signed(-31'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@56428.8]
+  assign _T_105 = $signed(_T_104); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@56429.8]
+  assign _T_106 = $signed(_T_105) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@56430.8]
+  assign _T_107 = io_in_a_bits_address ^ 30'h10043000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@56431.8]
+  assign _T_108 = {1'b0,$signed(_T_107)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@56432.8]
+  assign _T_109 = $signed(_T_108) & $signed(-31'sh11000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@56433.8]
+  assign _T_110 = $signed(_T_109); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@56434.8]
+  assign _T_111 = $signed(_T_110) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@56435.8]
+  assign _T_112 = io_in_a_bits_address ^ 30'h10014000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@56436.8]
+  assign _T_113 = {1'b0,$signed(_T_112)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@56437.8]
+  assign _T_114 = $signed(_T_113) & $signed(-31'sh21000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@56438.8]
+  assign _T_115 = $signed(_T_114); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@56439.8]
+  assign _T_116 = $signed(_T_115) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@56440.8]
+  assign _T_117 = io_in_a_bits_address ^ 30'h20000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@56441.8]
+  assign _T_118 = {1'b0,$signed(_T_117)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@56442.8]
+  assign _T_119 = $signed(_T_118) & $signed(-31'sh20000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@56443.8]
+  assign _T_120 = $signed(_T_119); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@56444.8]
+  assign _T_121 = $signed(_T_120) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@56445.8]
+  assign _T_122 = io_in_a_bits_address ^ 30'h10024000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@56446.8]
+  assign _T_123 = {1'b0,$signed(_T_122)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@56447.8]
+  assign _T_124 = $signed(_T_123) & $signed(-31'sh3000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@56448.8]
+  assign _T_125 = $signed(_T_124); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@56449.8]
+  assign _T_126 = $signed(_T_125) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@56450.8]
+  assign _T_127 = io_in_a_bits_address ^ 30'h10012000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@56451.8]
+  assign _T_128 = {1'b0,$signed(_T_127)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@56452.8]
+  assign _T_129 = $signed(_T_128) & $signed(-31'sh5000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@56453.8]
+  assign _T_130 = $signed(_T_129); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@56454.8]
+  assign _T_131 = $signed(_T_130) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@56455.8]
+  assign _T_132 = _T_96 | _T_101; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@56456.8]
+  assign _T_133 = _T_132 | _T_106; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@56457.8]
+  assign _T_134 = _T_133 | _T_111; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@56458.8]
+  assign _T_135 = _T_134 | _T_116; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@56459.8]
+  assign _T_143 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56467.8]
+  assign _T_148 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56480.8]
+  assign _T_149 = _T_148 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56481.8]
+  assign _T_152 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56488.8]
+  assign _T_153 = _T_152 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56489.8]
+  assign _T_155 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56495.8]
+  assign _T_156 = _T_155 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56496.8]
+  assign _T_157 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@56501.8]
+  assign _T_159 = _T_157 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56503.8]
+  assign _T_160 = _T_159 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56504.8]
+  assign _T_161 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@56509.8]
+  assign _T_162 = _T_161 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@56510.8]
+  assign _T_164 = _T_162 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56512.8]
+  assign _T_165 = _T_164 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56513.8]
+  assign _T_166 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@56518.8]
+  assign _T_168 = _T_166 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56520.8]
+  assign _T_169 = _T_168 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56521.8]
+  assign _T_170 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@56527.6]
+  assign _T_241 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@56623.8]
+  assign _T_243 = _T_241 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56625.8]
+  assign _T_244 = _T_243 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56626.8]
+  assign _T_254 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@56649.6]
+  assign _T_256 = io_in_a_bits_size <= 4'hc; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@56652.8]
+  assign _T_264 = _T_256 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@56660.8]
+  assign _T_266 = io_in_a_bits_size <= 4'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@56662.8]
+  assign _T_304 = _T_101 | _T_106; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@56700.8]
+  assign _T_305 = _T_304 | _T_111; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@56701.8]
+  assign _T_306 = _T_305 | _T_116; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@56702.8]
+  assign _T_307 = _T_306 | _T_121; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@56703.8]
+  assign _T_308 = _T_307 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@56704.8]
+  assign _T_309 = _T_308 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@56705.8]
+  assign _T_310 = _T_266 & _T_309; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@56706.8]
+  assign _T_312 = _T_264 | _T_310; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@56708.8]
+  assign _T_314 = _T_312 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56710.8]
+  assign _T_315 = _T_314 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56711.8]
+  assign _T_322 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@56730.8]
+  assign _T_324 = _T_322 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56732.8]
+  assign _T_325 = _T_324 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56733.8]
+  assign _T_326 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@56738.8]
+  assign _T_328 = _T_326 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56740.8]
+  assign _T_329 = _T_328 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56741.8]
+  assign _T_334 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@56755.6]
+  assign _T_382 = _T_306 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@56804.8]
+  assign _T_383 = _T_382 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@56805.8]
+  assign _T_384 = _T_266 & _T_383; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@56806.8]
+  assign _T_393 = _T_264 | _T_384; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@56815.8]
+  assign _T_396 = _T_393 | reset; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56818.8]
+  assign _T_397 = _T_396 == 1'h0; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56819.8]
+  assign _T_412 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@56855.6]
+  assign _T_486 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@56946.8]
+  assign _T_487 = io_in_a_bits_mask & _T_486; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@56947.8]
+  assign _T_488 = _T_487 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@56948.8]
+  assign _T_490 = _T_488 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56950.8]
+  assign _T_491 = _T_490 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56951.8]
+  assign _T_492 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@56957.6]
+  assign _T_494 = io_in_a_bits_size <= 4'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@56960.8]
+  assign _T_536 = _T_135 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@57002.8]
+  assign _T_537 = _T_536 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@57003.8]
+  assign _T_538 = _T_494 & _T_537; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@57004.8]
+  assign _T_549 = _T_538 | reset; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57015.8]
+  assign _T_550 = _T_549 == 1'h0; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57016.8]
+  assign _T_557 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@57035.8]
+  assign _T_559 = _T_557 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57037.8]
+  assign _T_560 = _T_559 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57038.8]
+  assign _T_565 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57052.6]
+  assign _T_630 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@57130.8]
+  assign _T_632 = _T_630 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57132.8]
+  assign _T_633 = _T_632 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57133.8]
+  assign _T_638 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57147.6]
+  assign _T_695 = _T_264 | reset; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57205.8]
+  assign _T_696 = _T_695 == 1'h0; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57206.8]
+  assign _T_711 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@57244.6]
+  assign _T_713 = _T_711 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@57246.6]
+  assign _T_714 = _T_713 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@57247.6]
+  assign _T_716 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@57253.6]
+  assign _T_725 = io_in_d_bits_source | _T_716; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@57258.6]
+  assign _T_727 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57260.6]
+  assign _T_729 = _T_725 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57263.8]
+  assign _T_730 = _T_729 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57264.8]
+  assign _T_731 = io_in_d_bits_size >= 4'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@57269.8]
+  assign _T_733 = _T_731 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57271.8]
+  assign _T_734 = _T_733 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57272.8]
+  assign _T_735 = io_in_d_bits_param == 2'h0; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@57277.8]
+  assign _T_737 = _T_735 | reset; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57279.8]
+  assign _T_738 = _T_737 == 1'h0; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57280.8]
+  assign _T_739 = io_in_d_bits_corrupt == 1'h0; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@57285.8]
+  assign _T_741 = _T_739 | reset; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57287.8]
+  assign _T_742 = _T_741 == 1'h0; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57288.8]
+  assign _T_743 = io_in_d_bits_denied == 1'h0; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@57293.8]
+  assign _T_745 = _T_743 | reset; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57295.8]
+  assign _T_746 = _T_745 == 1'h0; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57296.8]
+  assign _T_747 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57302.6]
+  assign _T_758 = io_in_d_bits_param <= 2'h2; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@57326.8]
+  assign _T_760 = _T_758 | reset; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57328.8]
+  assign _T_761 = _T_760 == 1'h0; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57329.8]
+  assign _T_762 = io_in_d_bits_param != 2'h2; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@57334.8]
+  assign _T_764 = _T_762 | reset; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57336.8]
+  assign _T_765 = _T_764 == 1'h0; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57337.8]
+  assign _T_775 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57360.6]
+  assign _T_795 = _T_743 | io_in_d_bits_corrupt; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@57401.8]
+  assign _T_797 = _T_795 | reset; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57403.8]
+  assign _T_798 = _T_797 == 1'h0; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57404.8]
+  assign _T_804 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57419.6]
+  assign _T_821 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57454.6]
+  assign _T_839 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57490.6]
+  assign _T_868 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@57550.4]
+  assign _T_873 = _T_34[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@57555.4]
+  assign _T_874 = io_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@57556.4]
+  assign _T_875 = _T_874 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@57557.4]
+  assign _T_879 = _T_878 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@57560.4]
+  assign _T_880 = $unsigned(_T_879); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@57561.4]
+  assign _T_881 = _T_880[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@57562.4]
+  assign _T_882 = _T_878 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57563.4]
+  assign _T_900 = _T_882 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@57579.4]
+  assign _T_901 = io_in_a_valid & _T_900; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@57580.4]
+  assign _T_902 = io_in_a_bits_opcode == _T_891; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@57582.6]
+  assign _T_904 = _T_902 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57584.6]
+  assign _T_905 = _T_904 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57585.6]
+  assign _T_906 = io_in_a_bits_param == _T_893; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@57590.6]
+  assign _T_908 = _T_906 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57592.6]
+  assign _T_909 = _T_908 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57593.6]
+  assign _T_910 = io_in_a_bits_size == _T_895; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@57598.6]
+  assign _T_912 = _T_910 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57600.6]
+  assign _T_913 = _T_912 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57601.6]
+  assign _T_914 = io_in_a_bits_source == _T_897; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@57606.6]
+  assign _T_916 = _T_914 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57608.6]
+  assign _T_917 = _T_916 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57609.6]
+  assign _T_918 = io_in_a_bits_address == _T_899; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@57614.6]
+  assign _T_920 = _T_918 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57616.6]
+  assign _T_921 = _T_920 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57617.6]
+  assign _T_923 = _T_868 & _T_882; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@57624.4]
+  assign _T_924 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@57632.4]
+  assign _T_926 = 27'hfff << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@57634.4]
+  assign _T_927 = _T_926[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@57635.4]
+  assign _T_928 = ~ _T_927; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@57636.4]
+  assign _T_929 = _T_928[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@57637.4]
+  assign _T_930 = io_in_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@57638.4]
+  assign _T_934 = _T_933 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@57641.4]
+  assign _T_935 = $unsigned(_T_934); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@57642.4]
+  assign _T_936 = _T_935[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@57643.4]
+  assign _T_937 = _T_933 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57644.4]
+  assign _T_957 = _T_937 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@57661.4]
+  assign _T_958 = io_in_d_valid & _T_957; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@57662.4]
+  assign _T_959 = io_in_d_bits_opcode == _T_946; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@57664.6]
+  assign _T_961 = _T_959 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57666.6]
+  assign _T_962 = _T_961 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57667.6]
+  assign _T_963 = io_in_d_bits_param == _T_948; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@57672.6]
+  assign _T_965 = _T_963 | reset; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57674.6]
+  assign _T_966 = _T_965 == 1'h0; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57675.6]
+  assign _T_967 = io_in_d_bits_size == _T_950; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@57680.6]
+  assign _T_969 = _T_967 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57682.6]
+  assign _T_970 = _T_969 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57683.6]
+  assign _T_971 = io_in_d_bits_source == _T_952; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@57688.6]
+  assign _T_973 = _T_971 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57690.6]
+  assign _T_974 = _T_973 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57691.6]
+  assign _T_975 = io_in_d_bits_sink == _T_954; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@57696.6]
+  assign _T_977 = _T_975 | reset; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57698.6]
+  assign _T_978 = _T_977 == 1'h0; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57699.6]
+  assign _T_979 = io_in_d_bits_denied == _T_956; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@57704.6]
+  assign _T_981 = _T_979 | reset; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57706.6]
+  assign _T_982 = _T_981 == 1'h0; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57707.6]
+  assign _T_984 = _T_924 & _T_937; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@57714.4]
+  assign _T_998 = _T_997 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@57734.4]
+  assign _T_999 = $unsigned(_T_998); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@57735.4]
+  assign _T_1000 = _T_999[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@57736.4]
+  assign _T_1001 = _T_997 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57737.4]
+  assign _T_1019 = _T_1018 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@57757.4]
+  assign _T_1020 = $unsigned(_T_1019); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@57758.4]
+  assign _T_1021 = _T_1020[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@57759.4]
+  assign _T_1022 = _T_1018 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57760.4]
+  assign _T_1033 = _T_868 & _T_1001; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@57775.4]
+  assign _T_1035 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@57778.6]
+  assign _T_1036 = _T_986 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@57780.6]
+  assign _T_1037 = _T_1036[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@57781.6]
+  assign _T_1038 = _T_1037 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57782.6]
+  assign _T_1040 = _T_1038 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@57784.6]
+  assign _T_1041 = _T_1040 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@57785.6]
+  assign _GEN_15 = _T_1033 ? _T_1035 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@57777.4]
+  assign _T_1046 = _T_924 & _T_1022; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@57796.4]
+  assign _T_1048 = _T_727 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@57798.4]
+  assign _T_1049 = _T_1046 & _T_1048; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@57799.4]
+  assign _T_1050 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@57801.6]
+  assign _T_1051 = _GEN_15 | _T_986; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@57803.6]
+  assign _T_1052 = _T_1051 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@57804.6]
+  assign _T_1053 = _T_1052[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@57805.6]
+  assign _T_1055 = _T_1053 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@57807.6]
+  assign _T_1056 = _T_1055 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@57808.6]
+  assign _GEN_16 = _T_1049 ? _T_1050 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@57800.4]
+  assign _T_1057 = _GEN_15 != _GEN_16; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@57814.4]
+  assign _T_1058 = _GEN_15 != 2'h0; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@57815.4]
+  assign _T_1059 = _T_1058 == 1'h0; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@57816.4]
+  assign _T_1060 = _T_1057 | _T_1059; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@57817.4]
+  assign _T_1062 = _T_1060 | reset; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@57819.4]
+  assign _T_1063 = _T_1062 == 1'h0; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@57820.4]
+  assign _T_1064 = _T_986 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@57825.4]
+  assign _T_1065 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@57826.4]
+  assign _T_1066 = _T_1064 & _T_1065; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@57827.4]
+  assign _T_1069 = _T_986 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@57832.4]
+  assign _T_1070 = _T_1069 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@57833.4]
+  assign _T_1071 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@57834.4]
+  assign _T_1072 = _T_1070 | _T_1071; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@57835.4]
+  assign _T_1073 = _T_1068 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@57836.4]
+  assign _T_1074 = _T_1072 | _T_1073; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@57837.4]
+  assign _T_1076 = _T_1074 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@57839.4]
+  assign _T_1077 = _T_1076 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@57840.4]
+  assign _T_1079 = _T_1068 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@57846.4]
+  assign _T_1082 = _T_868 | _T_924; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@57850.4]
+  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56469.10]
+  assign _GEN_35 = io_in_a_valid & _T_170; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56583.10]
+  assign _GEN_53 = io_in_a_valid & _T_254; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56713.10]
+  assign _GEN_65 = io_in_a_valid & _T_334; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56821.10]
+  assign _GEN_75 = io_in_a_valid & _T_412; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56921.10]
+  assign _GEN_85 = io_in_a_valid & _T_492; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57018.10]
+  assign _GEN_95 = io_in_a_valid & _T_565; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57113.10]
+  assign _GEN_105 = io_in_a_valid & _T_638; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57208.10]
+  assign _GEN_115 = io_in_d_valid & _T_727; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57266.10]
+  assign _GEN_125 = io_in_d_valid & _T_747; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57308.10]
+  assign _GEN_137 = io_in_d_valid & _T_775; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57366.10]
+  assign _GEN_149 = io_in_d_valid & _T_804; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57425.10]
+  assign _GEN_155 = io_in_d_valid & _T_821; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57460.10]
+  assign _GEN_161 = io_in_d_valid & _T_839; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57496.10]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  _T_878 = _RAND_0[9:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  _T_891 = _RAND_1[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  _T_893 = _RAND_2[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  _T_895 = _RAND_3[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  _T_897 = _RAND_4[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  _T_899 = _RAND_5[29:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {1{`RANDOM}};
+  _T_933 = _RAND_6[9:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {1{`RANDOM}};
+  _T_946 = _RAND_7[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_8 = {1{`RANDOM}};
+  _T_948 = _RAND_8[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_9 = {1{`RANDOM}};
+  _T_950 = _RAND_9[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_10 = {1{`RANDOM}};
+  _T_952 = _RAND_10[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_11 = {1{`RANDOM}};
+  _T_954 = _RAND_11[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_12 = {1{`RANDOM}};
+  _T_956 = _RAND_12[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_13 = {1{`RANDOM}};
+  _T_986 = _RAND_13[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_14 = {1{`RANDOM}};
+  _T_997 = _RAND_14[9:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_15 = {1{`RANDOM}};
+  _T_1018 = _RAND_15[9:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_16 = {1{`RANDOM}};
+  _T_1068 = _RAND_16[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      _T_878 <= 10'h0;
+    end else begin
+      if (_T_868) begin
+        if (_T_882) begin
+          if (_T_875) begin
+            _T_878 <= _T_873;
+          end else begin
+            _T_878 <= 10'h0;
+          end
+        end else begin
+          _T_878 <= _T_881;
+        end
+      end
+    end
+    if (_T_923) begin
+      _T_891 <= io_in_a_bits_opcode;
+    end
+    if (_T_923) begin
+      _T_893 <= io_in_a_bits_param;
+    end
+    if (_T_923) begin
+      _T_895 <= io_in_a_bits_size;
+    end
+    if (_T_923) begin
+      _T_897 <= io_in_a_bits_source;
+    end
+    if (_T_923) begin
+      _T_899 <= io_in_a_bits_address;
+    end
+    if (reset) begin
+      _T_933 <= 10'h0;
+    end else begin
+      if (_T_924) begin
+        if (_T_937) begin
+          if (_T_930) begin
+            _T_933 <= _T_929;
+          end else begin
+            _T_933 <= 10'h0;
+          end
+        end else begin
+          _T_933 <= _T_936;
+        end
+      end
+    end
+    if (_T_984) begin
+      _T_946 <= io_in_d_bits_opcode;
+    end
+    if (_T_984) begin
+      _T_948 <= io_in_d_bits_param;
+    end
+    if (_T_984) begin
+      _T_950 <= io_in_d_bits_size;
+    end
+    if (_T_984) begin
+      _T_952 <= io_in_d_bits_source;
+    end
+    if (_T_984) begin
+      _T_954 <= io_in_d_bits_sink;
+    end
+    if (_T_984) begin
+      _T_956 <= io_in_d_bits_denied;
+    end
+    if (reset) begin
+      _T_986 <= 2'h0;
+    end else begin
+      _T_986 <= _T_1066;
+    end
+    if (reset) begin
+      _T_997 <= 10'h0;
+    end else begin
+      if (_T_868) begin
+        if (_T_1001) begin
+          if (_T_875) begin
+            _T_997 <= _T_873;
+          end else begin
+            _T_997 <= 10'h0;
+          end
+        end else begin
+          _T_997 <= _T_1000;
+        end
+      end
+    end
+    if (reset) begin
+      _T_1018 <= 10'h0;
+    end else begin
+      if (_T_924) begin
+        if (_T_1022) begin
+          if (_T_930) begin
+            _T_1018 <= _T_929;
+          end else begin
+            _T_1018 <= 10'h0;
+          end
+        end else begin
+          _T_1018 <= _T_1021;
+        end
+      end
+    end
+    if (reset) begin
+      _T_1068 <= 32'h0;
+    end else begin
+      if (_T_1082) begin
+        _T_1068 <= 32'h0;
+      end else begin
+        _T_1068 <= _T_1079;
+      end
+    end
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@56340.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@56341.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@56410.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@56411.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_143) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56469.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_143) begin
+          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56470.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_143) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56476.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_143) begin
+          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56477.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_149) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56483.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_149) begin
+          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56484.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_153) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56491.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_153) begin
+          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56492.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_156) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56498.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_156) begin
+          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56499.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_160) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56506.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_160) begin
+          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56507.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_165) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56515.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_165) begin
+          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56516.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_169) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56523.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_169) begin
+          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56524.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_143) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56583.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_143) begin
+          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56584.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_143) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56590.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_143) begin
+          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56591.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_149) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56597.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_149) begin
+          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56598.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_153) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56605.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_153) begin
+          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56606.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_156) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56612.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_156) begin
+          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56613.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_160) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56620.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_160) begin
+          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56621.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_244) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56628.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_244) begin
+          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56629.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_165) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56637.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_165) begin
+          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56638.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_169) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56645.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_169) begin
+          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56646.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_315) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56713.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_315) begin
+          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56714.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_149) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56720.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_149) begin
+          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56721.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_156) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56727.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_156) begin
+          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56728.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_325) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56735.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_325) begin
+          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56736.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_329) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56743.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_329) begin
+          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56744.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_169) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56751.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_169) begin
+          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56752.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_397) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56821.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_397) begin
+          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56822.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_149) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56828.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_149) begin
+          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56829.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_156) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56835.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_156) begin
+          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56836.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_325) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56843.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_325) begin
+          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56844.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_329) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56851.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_329) begin
+          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56852.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_397) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56921.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_397) begin
+          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56922.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_149) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56928.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_149) begin
+          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56929.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_156) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56935.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_156) begin
+          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56936.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_325) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56943.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_325) begin
+          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56944.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_491) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56953.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_491) begin
+          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56954.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_550) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57018.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_550) begin
+          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57019.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_149) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57025.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_149) begin
+          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57026.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_156) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57032.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_156) begin
+          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57033.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_560) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57040.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_560) begin
+          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57041.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_329) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57048.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_329) begin
+          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57049.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_550) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57113.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_550) begin
+          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57114.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_149) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57120.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_149) begin
+          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57121.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_156) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57127.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_156) begin
+          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57128.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_633) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57135.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_633) begin
+          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57136.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_329) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57143.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_329) begin
+          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57144.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_696) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57208.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_696) begin
+          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57209.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_149) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57215.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_149) begin
+          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57216.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_156) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57222.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_156) begin
+          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57223.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_329) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57230.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_329) begin
+          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57231.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_169) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57238.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_169) begin
+          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57239.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_714) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@57249.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_714) begin
+          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@57250.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_730) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57266.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_730) begin
+          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57267.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_734) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57274.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_734) begin
+          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57275.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_738) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57282.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_738) begin
+          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57283.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_742) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57290.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_742) begin
+          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57291.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_746) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57298.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_746) begin
+          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57299.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_730) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57308.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_730) begin
+          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57309.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_143) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57315.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_143) begin
+          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57316.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_734) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57323.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_734) begin
+          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57324.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_761) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57331.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_761) begin
+          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57332.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_765) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57339.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_765) begin
+          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57340.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_742) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57347.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_742) begin
+          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57348.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57356.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57357.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_137 & _T_730) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57366.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_137 & _T_730) begin
+          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57367.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_137 & _T_143) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57373.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_137 & _T_143) begin
+          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57374.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_137 & _T_734) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57381.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_137 & _T_734) begin
+          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57382.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_137 & _T_761) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57389.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_137 & _T_761) begin
+          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57390.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_137 & _T_765) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57397.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_137 & _T_765) begin
+          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57398.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_137 & _T_798) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57406.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_137 & _T_798) begin
+          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57407.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57415.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57416.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_149 & _T_730) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57425.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_149 & _T_730) begin
+          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57426.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_149 & _T_738) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57433.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_149 & _T_738) begin
+          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57434.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_149 & _T_742) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57441.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_149 & _T_742) begin
+          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57442.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57450.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57451.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_155 & _T_730) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57460.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_155 & _T_730) begin
+          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57461.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_155 & _T_738) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57468.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_155 & _T_738) begin
+          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57469.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_155 & _T_798) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57477.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_155 & _T_798) begin
+          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57478.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57486.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57487.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_161 & _T_730) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57496.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_161 & _T_730) begin
+          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57497.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_161 & _T_738) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57504.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_161 & _T_738) begin
+          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57505.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_161 & _T_742) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57512.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_161 & _T_742) begin
+          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57513.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57521.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57522.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57531.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57532.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57539.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57540.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57547.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57548.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_901 & _T_905) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57587.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_901 & _T_905) begin
+          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57588.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_901 & _T_909) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57595.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_901 & _T_909) begin
+          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57596.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_901 & _T_913) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57603.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_901 & _T_913) begin
+          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57604.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_901 & _T_917) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57611.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_901 & _T_917) begin
+          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57612.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_901 & _T_921) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57619.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_901 & _T_921) begin
+          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57620.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_958 & _T_962) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57669.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_958 & _T_962) begin
+          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57670.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_958 & _T_966) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57677.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_958 & _T_966) begin
+          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57678.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_958 & _T_970) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57685.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_958 & _T_970) begin
+          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57686.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_958 & _T_974) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57693.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_958 & _T_974) begin
+          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57694.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_958 & _T_978) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57701.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_958 & _T_978) begin
+          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57702.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_958 & _T_982) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57709.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_958 & _T_982) begin
+          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57710.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1033 & _T_1041) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@57787.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1033 & _T_1041) begin
+          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@57788.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1049 & _T_1056) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@57810.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1049 & _T_1056) begin
+          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@57811.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1063) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' and 'D' concurrent, despite minlatency 4 (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:471 assert(a_set =/= d_clr || !a_set.orR, s\"'A' and 'D' concurrent, despite minlatency ${edge.manager.minLatency}\" + extra)\n"); // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@57822.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1063) begin
+          $fatal; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@57823.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1077) begin
+          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@57842.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1077) begin
+          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@57843.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+endmodule
+module TLBuffer_11( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57983.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57984.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57985.4]
+  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57986.4]
+  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57986.4]
+  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57986.4]
+  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57986.4]
+  input  [3:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57986.4]
+  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57986.4]
+  input  [29:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57986.4]
+  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57986.4]
+  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57986.4]
+  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57986.4]
+  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57986.4]
+  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57986.4]
+  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57986.4]
+  output [1:0]  auto_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57986.4]
+  output [3:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57986.4]
+  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57986.4]
+  output        auto_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57986.4]
+  output        auto_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57986.4]
+  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57986.4]
+  output        auto_in_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57986.4]
+  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57986.4]
+  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57986.4]
+  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57986.4]
+  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57986.4]
+  output [3:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57986.4]
+  output        auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57986.4]
+  output [29:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57986.4]
+  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57986.4]
+  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57986.4]
+  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57986.4]
+  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57986.4]
+  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57986.4]
+  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57986.4]
+  input  [1:0]  auto_out_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57986.4]
+  input  [3:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57986.4]
+  input         auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57986.4]
+  input         auto_out_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57986.4]
+  input         auto_out_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57986.4]
+  input  [31:0] auto_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57986.4]
+  input         auto_out_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57986.4]
+);
+  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57993.4]
+  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57993.4]
+  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57993.4]
+  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57993.4]
+  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57993.4]
+  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57993.4]
+  wire [3:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57993.4]
+  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57993.4]
+  wire [29:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57993.4]
+  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57993.4]
+  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57993.4]
+  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57993.4]
+  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57993.4]
+  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57993.4]
+  wire [1:0] TLMonitor_io_in_d_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57993.4]
+  wire [3:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57993.4]
+  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57993.4]
+  wire  TLMonitor_io_in_d_bits_sink; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57993.4]
+  wire  TLMonitor_io_in_d_bits_denied; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57993.4]
+  wire  TLMonitor_io_in_d_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57993.4]
+  wire  Queue_clock; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58034.4]
+  wire  Queue_reset; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58034.4]
+  wire  Queue_io_enq_ready; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58034.4]
+  wire  Queue_io_enq_valid; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58034.4]
+  wire [2:0] Queue_io_enq_bits_opcode; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58034.4]
+  wire [2:0] Queue_io_enq_bits_param; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58034.4]
+  wire [3:0] Queue_io_enq_bits_size; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58034.4]
+  wire  Queue_io_enq_bits_source; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58034.4]
+  wire [29:0] Queue_io_enq_bits_address; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58034.4]
+  wire [3:0] Queue_io_enq_bits_mask; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58034.4]
+  wire [31:0] Queue_io_enq_bits_data; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58034.4]
+  wire  Queue_io_enq_bits_corrupt; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58034.4]
+  wire  Queue_io_deq_ready; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58034.4]
+  wire  Queue_io_deq_valid; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58034.4]
+  wire [2:0] Queue_io_deq_bits_opcode; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58034.4]
+  wire [2:0] Queue_io_deq_bits_param; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58034.4]
+  wire [3:0] Queue_io_deq_bits_size; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58034.4]
+  wire  Queue_io_deq_bits_source; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58034.4]
+  wire [29:0] Queue_io_deq_bits_address; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58034.4]
+  wire [3:0] Queue_io_deq_bits_mask; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58034.4]
+  wire [31:0] Queue_io_deq_bits_data; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58034.4]
+  wire  Queue_io_deq_bits_corrupt; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58034.4]
+  wire  Queue_1_clock; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58048.4]
+  wire  Queue_1_reset; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58048.4]
+  wire  Queue_1_io_enq_ready; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58048.4]
+  wire  Queue_1_io_enq_valid; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58048.4]
+  wire [2:0] Queue_1_io_enq_bits_opcode; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58048.4]
+  wire [1:0] Queue_1_io_enq_bits_param; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58048.4]
+  wire [3:0] Queue_1_io_enq_bits_size; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58048.4]
+  wire  Queue_1_io_enq_bits_source; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58048.4]
+  wire  Queue_1_io_enq_bits_sink; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58048.4]
+  wire  Queue_1_io_enq_bits_denied; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58048.4]
+  wire [31:0] Queue_1_io_enq_bits_data; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58048.4]
+  wire  Queue_1_io_enq_bits_corrupt; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58048.4]
+  wire  Queue_1_io_deq_ready; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58048.4]
+  wire  Queue_1_io_deq_valid; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58048.4]
+  wire [2:0] Queue_1_io_deq_bits_opcode; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58048.4]
+  wire [1:0] Queue_1_io_deq_bits_param; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58048.4]
+  wire [3:0] Queue_1_io_deq_bits_size; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58048.4]
+  wire  Queue_1_io_deq_bits_source; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58048.4]
+  wire  Queue_1_io_deq_bits_sink; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58048.4]
+  wire  Queue_1_io_deq_bits_denied; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58048.4]
+  wire [31:0] Queue_1_io_deq_bits_data; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58048.4]
+  wire  Queue_1_io_deq_bits_corrupt; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58048.4]
+  TLMonitor_31 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57993.4]
+    .clock(TLMonitor_clock),
+    .reset(TLMonitor_reset),
+    .io_in_a_ready(TLMonitor_io_in_a_ready),
+    .io_in_a_valid(TLMonitor_io_in_a_valid),
+    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
+    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
+    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
+    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
+    .io_in_d_ready(TLMonitor_io_in_d_ready),
+    .io_in_d_valid(TLMonitor_io_in_d_valid),
+    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
+    .io_in_d_bits_param(TLMonitor_io_in_d_bits_param),
+    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
+    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source),
+    .io_in_d_bits_sink(TLMonitor_io_in_d_bits_sink),
+    .io_in_d_bits_denied(TLMonitor_io_in_d_bits_denied),
+    .io_in_d_bits_corrupt(TLMonitor_io_in_d_bits_corrupt)
+  );
+  Queue_2 Queue ( // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58034.4]
+    .clock(Queue_clock),
+    .reset(Queue_reset),
+    .io_enq_ready(Queue_io_enq_ready),
+    .io_enq_valid(Queue_io_enq_valid),
+    .io_enq_bits_opcode(Queue_io_enq_bits_opcode),
+    .io_enq_bits_param(Queue_io_enq_bits_param),
+    .io_enq_bits_size(Queue_io_enq_bits_size),
+    .io_enq_bits_source(Queue_io_enq_bits_source),
+    .io_enq_bits_address(Queue_io_enq_bits_address),
+    .io_enq_bits_mask(Queue_io_enq_bits_mask),
+    .io_enq_bits_data(Queue_io_enq_bits_data),
+    .io_enq_bits_corrupt(Queue_io_enq_bits_corrupt),
+    .io_deq_ready(Queue_io_deq_ready),
+    .io_deq_valid(Queue_io_deq_valid),
+    .io_deq_bits_opcode(Queue_io_deq_bits_opcode),
+    .io_deq_bits_param(Queue_io_deq_bits_param),
+    .io_deq_bits_size(Queue_io_deq_bits_size),
+    .io_deq_bits_source(Queue_io_deq_bits_source),
+    .io_deq_bits_address(Queue_io_deq_bits_address),
+    .io_deq_bits_mask(Queue_io_deq_bits_mask),
+    .io_deq_bits_data(Queue_io_deq_bits_data),
+    .io_deq_bits_corrupt(Queue_io_deq_bits_corrupt)
+  );
+  Queue_1 Queue_1 ( // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58048.4]
+    .clock(Queue_1_clock),
+    .reset(Queue_1_reset),
+    .io_enq_ready(Queue_1_io_enq_ready),
+    .io_enq_valid(Queue_1_io_enq_valid),
+    .io_enq_bits_opcode(Queue_1_io_enq_bits_opcode),
+    .io_enq_bits_param(Queue_1_io_enq_bits_param),
+    .io_enq_bits_size(Queue_1_io_enq_bits_size),
+    .io_enq_bits_source(Queue_1_io_enq_bits_source),
+    .io_enq_bits_sink(Queue_1_io_enq_bits_sink),
+    .io_enq_bits_denied(Queue_1_io_enq_bits_denied),
+    .io_enq_bits_data(Queue_1_io_enq_bits_data),
+    .io_enq_bits_corrupt(Queue_1_io_enq_bits_corrupt),
+    .io_deq_ready(Queue_1_io_deq_ready),
+    .io_deq_valid(Queue_1_io_deq_valid),
+    .io_deq_bits_opcode(Queue_1_io_deq_bits_opcode),
+    .io_deq_bits_param(Queue_1_io_deq_bits_param),
+    .io_deq_bits_size(Queue_1_io_deq_bits_size),
+    .io_deq_bits_source(Queue_1_io_deq_bits_source),
+    .io_deq_bits_sink(Queue_1_io_deq_bits_sink),
+    .io_deq_bits_denied(Queue_1_io_deq_bits_denied),
+    .io_deq_bits_data(Queue_1_io_deq_bits_data),
+    .io_deq_bits_corrupt(Queue_1_io_deq_bits_corrupt)
+  );
+  assign auto_in_a_ready = Queue_io_enq_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@58033.4]
+  assign auto_in_d_valid = Queue_1_io_deq_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@58033.4]
+  assign auto_in_d_bits_opcode = Queue_1_io_deq_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@58033.4]
+  assign auto_in_d_bits_param = Queue_1_io_deq_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@58033.4]
+  assign auto_in_d_bits_size = Queue_1_io_deq_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@58033.4]
+  assign auto_in_d_bits_source = Queue_1_io_deq_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@58033.4]
+  assign auto_in_d_bits_sink = Queue_1_io_deq_bits_sink; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@58033.4]
+  assign auto_in_d_bits_denied = Queue_1_io_deq_bits_denied; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@58033.4]
+  assign auto_in_d_bits_data = Queue_1_io_deq_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@58033.4]
+  assign auto_in_d_bits_corrupt = Queue_1_io_deq_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@58033.4]
+  assign auto_out_a_valid = Queue_io_deq_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@58032.4]
+  assign auto_out_a_bits_opcode = Queue_io_deq_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@58032.4]
+  assign auto_out_a_bits_param = Queue_io_deq_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@58032.4]
+  assign auto_out_a_bits_size = Queue_io_deq_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@58032.4]
+  assign auto_out_a_bits_source = Queue_io_deq_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@58032.4]
+  assign auto_out_a_bits_address = Queue_io_deq_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@58032.4]
+  assign auto_out_a_bits_mask = Queue_io_deq_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@58032.4]
+  assign auto_out_a_bits_data = Queue_io_deq_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@58032.4]
+  assign auto_out_a_bits_corrupt = Queue_io_deq_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@58032.4]
+  assign auto_out_d_ready = Queue_1_io_enq_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@58032.4]
+  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57995.4]
+  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57996.4]
+  assign TLMonitor_io_in_a_ready = Queue_io_enq_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@58029.4]
+  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@58029.4]
+  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@58029.4]
+  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@58029.4]
+  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@58029.4]
+  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@58029.4]
+  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@58029.4]
+  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@58029.4]
+  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@58029.4]
+  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@58029.4]
+  assign TLMonitor_io_in_d_valid = Queue_1_io_deq_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@58029.4]
+  assign TLMonitor_io_in_d_bits_opcode = Queue_1_io_deq_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@58029.4]
+  assign TLMonitor_io_in_d_bits_param = Queue_1_io_deq_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@58029.4]
+  assign TLMonitor_io_in_d_bits_size = Queue_1_io_deq_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@58029.4]
+  assign TLMonitor_io_in_d_bits_source = Queue_1_io_deq_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@58029.4]
+  assign TLMonitor_io_in_d_bits_sink = Queue_1_io_deq_bits_sink; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@58029.4]
+  assign TLMonitor_io_in_d_bits_denied = Queue_1_io_deq_bits_denied; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@58029.4]
+  assign TLMonitor_io_in_d_bits_corrupt = Queue_1_io_deq_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@58029.4]
+  assign Queue_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@58035.4]
+  assign Queue_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@58036.4]
+  assign Queue_io_enq_valid = auto_in_a_valid; // @[Decoupled.scala 294:22:shc.marmotcaravel.MarmotCaravelConfig.fir@58037.4]
+  assign Queue_io_enq_bits_opcode = auto_in_a_bits_opcode; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58045.4]
+  assign Queue_io_enq_bits_param = auto_in_a_bits_param; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58044.4]
+  assign Queue_io_enq_bits_size = auto_in_a_bits_size; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58043.4]
+  assign Queue_io_enq_bits_source = auto_in_a_bits_source; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58042.4]
+  assign Queue_io_enq_bits_address = auto_in_a_bits_address; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58041.4]
+  assign Queue_io_enq_bits_mask = auto_in_a_bits_mask; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58040.4]
+  assign Queue_io_enq_bits_data = auto_in_a_bits_data; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58039.4]
+  assign Queue_io_enq_bits_corrupt = auto_in_a_bits_corrupt; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58038.4]
+  assign Queue_io_deq_ready = auto_out_a_ready; // @[Buffer.scala 38:13:shc.marmotcaravel.MarmotCaravelConfig.fir@58047.4]
+  assign Queue_1_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@58049.4]
+  assign Queue_1_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@58050.4]
+  assign Queue_1_io_enq_valid = auto_out_d_valid; // @[Decoupled.scala 294:22:shc.marmotcaravel.MarmotCaravelConfig.fir@58051.4]
+  assign Queue_1_io_enq_bits_opcode = auto_out_d_bits_opcode; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58059.4]
+  assign Queue_1_io_enq_bits_param = auto_out_d_bits_param; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58058.4]
+  assign Queue_1_io_enq_bits_size = auto_out_d_bits_size; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58057.4]
+  assign Queue_1_io_enq_bits_source = auto_out_d_bits_source; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58056.4]
+  assign Queue_1_io_enq_bits_sink = auto_out_d_bits_sink; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58055.4]
+  assign Queue_1_io_enq_bits_denied = auto_out_d_bits_denied; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58054.4]
+  assign Queue_1_io_enq_bits_data = auto_out_d_bits_data; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58053.4]
+  assign Queue_1_io_enq_bits_corrupt = auto_out_d_bits_corrupt; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58052.4]
+  assign Queue_1_io_deq_ready = auto_in_d_ready; // @[Buffer.scala 39:13:shc.marmotcaravel.MarmotCaravelConfig.fir@58061.4]
+endmodule
+module TLMonitor_32( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@58076.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@58077.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@58078.4]
+  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@58079.4]
+  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@58079.4]
+  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@58079.4]
+  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@58079.4]
+  input  [2:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@58079.4]
+  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@58079.4]
+  input  [28:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@58079.4]
+  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@58079.4]
+  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@58079.4]
+  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@58079.4]
+  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@58079.4]
+  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@58079.4]
+  input  [2:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@58079.4]
+  input         io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@58079.4]
+);
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@59200.4]
+  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@58095.6]
+  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@58100.6]
+  wire [12:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@58102.6]
+  wire [5:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@58103.6]
+  wire [5:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@58104.6]
+  wire [28:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@58105.6]
+  wire [28:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@58105.6]
+  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@58106.6]
+  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@58108.6]
+  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@58109.6]
+  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@58111.6]
+  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58112.6]
+  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@58113.6]
+  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@58114.6]
+  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@58115.6]
+  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@58117.6]
+  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@58118.6]
+  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@58120.6]
+  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@58121.6]
+  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@58122.6]
+  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@58123.6]
+  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@58124.6]
+  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@58125.6]
+  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@58126.6]
+  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@58127.6]
+  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@58128.6]
+  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@58129.6]
+  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@58130.6]
+  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@58131.6]
+  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@58132.6]
+  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@58133.6]
+  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@58134.6]
+  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@58135.6]
+  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@58136.6]
+  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@58137.6]
+  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@58138.6]
+  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@58139.6]
+  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@58164.6]
+  wire [28:0] _T_92; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@58167.8]
+  wire [29:0] _T_93; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@58168.8]
+  wire [29:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@58169.8]
+  wire [29:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@58170.8]
+  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@58171.8]
+  wire  _T_101; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58176.8]
+  wire  _T_106; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58189.8]
+  wire  _T_107; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58190.8]
+  wire  _T_110; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58197.8]
+  wire  _T_111; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58198.8]
+  wire  _T_113; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58204.8]
+  wire  _T_114; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58205.8]
+  wire  _T_115; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@58210.8]
+  wire  _T_117; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58212.8]
+  wire  _T_118; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58213.8]
+  wire [3:0] _T_119; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@58218.8]
+  wire  _T_120; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@58219.8]
+  wire  _T_122; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58221.8]
+  wire  _T_123; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58222.8]
+  wire  _T_124; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@58227.8]
+  wire  _T_126; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58229.8]
+  wire  _T_127; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58230.8]
+  wire  _T_128; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@58236.6]
+  wire  _T_157; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@58290.8]
+  wire  _T_159; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58292.8]
+  wire  _T_160; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58293.8]
+  wire  _T_170; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@58316.6]
+  wire  _T_172; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@58319.8]
+  wire  _T_180; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@58327.8]
+  wire  _T_183; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58330.8]
+  wire  _T_184; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58331.8]
+  wire  _T_191; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@58350.8]
+  wire  _T_193; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58352.8]
+  wire  _T_194; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58353.8]
+  wire  _T_195; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@58358.8]
+  wire  _T_197; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58360.8]
+  wire  _T_198; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58361.8]
+  wire  _T_203; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@58375.6]
+  wire  _T_232; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@58426.6]
+  wire [3:0] _T_257; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@58468.8]
+  wire [3:0] _T_258; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@58469.8]
+  wire  _T_259; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@58470.8]
+  wire  _T_261; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58472.8]
+  wire  _T_262; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58473.8]
+  wire  _T_263; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@58479.6]
+  wire  _T_281; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@58510.8]
+  wire  _T_283; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58512.8]
+  wire  _T_284; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58513.8]
+  wire  _T_289; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@58527.6]
+  wire  _T_307; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@58558.8]
+  wire  _T_309; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58560.8]
+  wire  _T_310; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58561.8]
+  wire  _T_315; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@58575.6]
+  wire  _T_341; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@58625.6]
+  wire  _T_343; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@58627.6]
+  wire  _T_344; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@58628.6]
+  wire  _T_346; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@58634.6]
+  wire  _T_355; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@58639.6]
+  wire  _T_357; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@58641.6]
+  wire  _T_359; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58644.8]
+  wire  _T_360; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58645.8]
+  wire  _T_361; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@58650.8]
+  wire  _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58652.8]
+  wire  _T_364; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58653.8]
+  wire  _T_377; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@58683.6]
+  wire  _T_405; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@58741.6]
+  wire  _T_434; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@58800.6]
+  wire  _T_451; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@58835.6]
+  wire  _T_469; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@58871.6]
+  wire  _T_498; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@58931.4]
+  wire [3:0] _T_503; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@58936.4]
+  wire  _T_504; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@58937.4]
+  wire  _T_505; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@58938.4]
+  reg [3:0] _T_508; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@58940.4]
+  reg [31:0] _RAND_0;
+  wire [4:0] _T_509; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@58941.4]
+  wire [4:0] _T_510; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@58942.4]
+  wire [3:0] _T_511; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@58943.4]
+  wire  _T_512; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@58944.4]
+  reg [2:0] _T_521; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@58955.4]
+  reg [31:0] _RAND_1;
+  reg [2:0] _T_523; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@58956.4]
+  reg [31:0] _RAND_2;
+  reg [2:0] _T_525; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@58957.4]
+  reg [31:0] _RAND_3;
+  reg  _T_527; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@58958.4]
+  reg [31:0] _RAND_4;
+  reg [28:0] _T_529; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@58959.4]
+  reg [31:0] _RAND_5;
+  wire  _T_530; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@58960.4]
+  wire  _T_531; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@58961.4]
+  wire  _T_532; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@58963.6]
+  wire  _T_534; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58965.6]
+  wire  _T_535; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58966.6]
+  wire  _T_536; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@58971.6]
+  wire  _T_538; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58973.6]
+  wire  _T_539; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58974.6]
+  wire  _T_540; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@58979.6]
+  wire  _T_542; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58981.6]
+  wire  _T_543; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58982.6]
+  wire  _T_544; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@58987.6]
+  wire  _T_546; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58989.6]
+  wire  _T_547; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58990.6]
+  wire  _T_548; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@58995.6]
+  wire  _T_550; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58997.6]
+  wire  _T_551; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58998.6]
+  wire  _T_553; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@59005.4]
+  wire  _T_554; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@59013.4]
+  wire [12:0] _T_556; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@59015.4]
+  wire [5:0] _T_557; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@59016.4]
+  wire [5:0] _T_558; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@59017.4]
+  wire [3:0] _T_559; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@59018.4]
+  wire  _T_560; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@59019.4]
+  reg [3:0] _T_563; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@59021.4]
+  reg [31:0] _RAND_6;
+  wire [4:0] _T_564; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59022.4]
+  wire [4:0] _T_565; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59023.4]
+  wire [3:0] _T_566; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59024.4]
+  wire  _T_567; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@59025.4]
+  reg [2:0] _T_576; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@59036.4]
+  reg [31:0] _RAND_7;
+  reg [2:0] _T_580; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@59038.4]
+  reg [31:0] _RAND_8;
+  reg  _T_582; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@59039.4]
+  reg [31:0] _RAND_9;
+  wire  _T_587; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@59042.4]
+  wire  _T_588; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@59043.4]
+  wire  _T_589; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@59045.6]
+  wire  _T_591; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59047.6]
+  wire  _T_592; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59048.6]
+  wire  _T_597; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@59061.6]
+  wire  _T_599; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59063.6]
+  wire  _T_600; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59064.6]
+  wire  _T_601; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@59069.6]
+  wire  _T_603; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59071.6]
+  wire  _T_604; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59072.6]
+  wire  _T_614; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@59095.4]
+  reg [1:0] _T_616; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@59104.4]
+  reg [31:0] _RAND_10;
+  reg [3:0] _T_627; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@59114.4]
+  reg [31:0] _RAND_11;
+  wire [4:0] _T_628; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59115.4]
+  wire [4:0] _T_629; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59116.4]
+  wire [3:0] _T_630; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59117.4]
+  wire  _T_631; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@59118.4]
+  reg [3:0] _T_648; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@59137.4]
+  reg [31:0] _RAND_12;
+  wire [4:0] _T_649; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59138.4]
+  wire [4:0] _T_650; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59139.4]
+  wire [3:0] _T_651; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59140.4]
+  wire  _T_652; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@59141.4]
+  wire  _T_663; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@59156.4]
+  wire [1:0] _T_665; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@59159.6]
+  wire [1:0] _T_666; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@59161.6]
+  wire  _T_667; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@59162.6]
+  wire  _T_668; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59163.6]
+  wire  _T_670; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@59165.6]
+  wire  _T_671; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@59166.6]
+  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@59158.4]
+  wire  _T_676; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@59177.4]
+  wire  _T_678; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@59179.4]
+  wire  _T_679; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@59180.4]
+  wire [1:0] _T_680; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@59182.6]
+  wire [1:0] _T_681; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@59184.6]
+  wire [1:0] _T_682; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@59185.6]
+  wire  _T_683; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@59186.6]
+  wire  _T_685; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@59188.6]
+  wire  _T_686; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@59189.6]
+  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@59181.4]
+  wire [1:0] _T_687; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@59195.4]
+  wire [1:0] _T_688; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@59196.4]
+  wire [1:0] _T_689; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@59197.4]
+  reg [31:0] _T_691; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@59199.4]
+  reg [31:0] _RAND_13;
+  wire  _T_692; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@59202.4]
+  wire  _T_693; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@59203.4]
+  wire  _T_694; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@59204.4]
+  wire  _T_695; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@59205.4]
+  wire  _T_696; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@59206.4]
+  wire  _T_697; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@59207.4]
+  wire  _T_699; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@59209.4]
+  wire  _T_700; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@59210.4]
+  wire [31:0] _T_702; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@59216.4]
+  wire  _T_705; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@59220.4]
+  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58178.10]
+  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58250.10]
+  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58333.10]
+  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58392.10]
+  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58443.10]
+  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58493.10]
+  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58541.10]
+  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58589.10]
+  wire  _GEN_115; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58647.10]
+  wire  _GEN_119; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58689.10]
+  wire  _GEN_125; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58747.10]
+  wire  _GEN_131; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58806.10]
+  wire  _GEN_133; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58841.10]
+  wire  _GEN_135; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58877.10]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@59200.4]
+    .out(plusarg_reader_out)
+  );
+  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@58095.6]
+  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@58100.6]
+  assign _T_32 = 13'h3f << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@58102.6]
+  assign _T_33 = _T_32[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@58103.6]
+  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@58104.6]
+  assign _GEN_18 = {{23'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@58105.6]
+  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@58105.6]
+  assign _T_36 = _T_35 == 29'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@58106.6]
+  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@58108.6]
+  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@58109.6]
+  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@58111.6]
+  assign _T_42 = io_in_a_bits_size >= 3'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58112.6]
+  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@58113.6]
+  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@58114.6]
+  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@58115.6]
+  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@58117.6]
+  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@58118.6]
+  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@58120.6]
+  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@58121.6]
+  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@58122.6]
+  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@58123.6]
+  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@58124.6]
+  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@58125.6]
+  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@58126.6]
+  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@58127.6]
+  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@58128.6]
+  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@58129.6]
+  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@58130.6]
+  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@58131.6]
+  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@58132.6]
+  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@58133.6]
+  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@58134.6]
+  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@58135.6]
+  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@58136.6]
+  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@58137.6]
+  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@58138.6]
+  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@58139.6]
+  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@58164.6]
+  assign _T_92 = io_in_a_bits_address ^ 29'h10013000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@58167.8]
+  assign _T_93 = {1'b0,$signed(_T_92)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@58168.8]
+  assign _T_94 = $signed(_T_93) & $signed(-30'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@58169.8]
+  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@58170.8]
+  assign _T_96 = $signed(_T_95) == $signed(30'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@58171.8]
+  assign _T_101 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58176.8]
+  assign _T_106 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58189.8]
+  assign _T_107 = _T_106 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58190.8]
+  assign _T_110 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58197.8]
+  assign _T_111 = _T_110 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58198.8]
+  assign _T_113 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58204.8]
+  assign _T_114 = _T_113 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58205.8]
+  assign _T_115 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@58210.8]
+  assign _T_117 = _T_115 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58212.8]
+  assign _T_118 = _T_117 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58213.8]
+  assign _T_119 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@58218.8]
+  assign _T_120 = _T_119 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@58219.8]
+  assign _T_122 = _T_120 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58221.8]
+  assign _T_123 = _T_122 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58222.8]
+  assign _T_124 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@58227.8]
+  assign _T_126 = _T_124 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58229.8]
+  assign _T_127 = _T_126 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58230.8]
+  assign _T_128 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@58236.6]
+  assign _T_157 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@58290.8]
+  assign _T_159 = _T_157 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58292.8]
+  assign _T_160 = _T_159 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58293.8]
+  assign _T_170 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@58316.6]
+  assign _T_172 = io_in_a_bits_size <= 3'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@58319.8]
+  assign _T_180 = _T_172 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@58327.8]
+  assign _T_183 = _T_180 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58330.8]
+  assign _T_184 = _T_183 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58331.8]
+  assign _T_191 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@58350.8]
+  assign _T_193 = _T_191 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58352.8]
+  assign _T_194 = _T_193 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58353.8]
+  assign _T_195 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@58358.8]
+  assign _T_197 = _T_195 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58360.8]
+  assign _T_198 = _T_197 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58361.8]
+  assign _T_203 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@58375.6]
+  assign _T_232 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@58426.6]
+  assign _T_257 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@58468.8]
+  assign _T_258 = io_in_a_bits_mask & _T_257; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@58469.8]
+  assign _T_259 = _T_258 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@58470.8]
+  assign _T_261 = _T_259 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58472.8]
+  assign _T_262 = _T_261 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58473.8]
+  assign _T_263 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@58479.6]
+  assign _T_281 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@58510.8]
+  assign _T_283 = _T_281 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58512.8]
+  assign _T_284 = _T_283 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58513.8]
+  assign _T_289 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@58527.6]
+  assign _T_307 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@58558.8]
+  assign _T_309 = _T_307 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58560.8]
+  assign _T_310 = _T_309 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58561.8]
+  assign _T_315 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@58575.6]
+  assign _T_341 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@58625.6]
+  assign _T_343 = _T_341 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@58627.6]
+  assign _T_344 = _T_343 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@58628.6]
+  assign _T_346 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@58634.6]
+  assign _T_355 = io_in_d_bits_source | _T_346; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@58639.6]
+  assign _T_357 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@58641.6]
+  assign _T_359 = _T_355 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58644.8]
+  assign _T_360 = _T_359 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58645.8]
+  assign _T_361 = io_in_d_bits_size >= 3'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@58650.8]
+  assign _T_363 = _T_361 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58652.8]
+  assign _T_364 = _T_363 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58653.8]
+  assign _T_377 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@58683.6]
+  assign _T_405 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@58741.6]
+  assign _T_434 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@58800.6]
+  assign _T_451 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@58835.6]
+  assign _T_469 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@58871.6]
+  assign _T_498 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@58931.4]
+  assign _T_503 = _T_34[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@58936.4]
+  assign _T_504 = io_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@58937.4]
+  assign _T_505 = _T_504 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@58938.4]
+  assign _T_509 = _T_508 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@58941.4]
+  assign _T_510 = $unsigned(_T_509); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@58942.4]
+  assign _T_511 = _T_510[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@58943.4]
+  assign _T_512 = _T_508 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@58944.4]
+  assign _T_530 = _T_512 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@58960.4]
+  assign _T_531 = io_in_a_valid & _T_530; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@58961.4]
+  assign _T_532 = io_in_a_bits_opcode == _T_521; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@58963.6]
+  assign _T_534 = _T_532 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58965.6]
+  assign _T_535 = _T_534 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58966.6]
+  assign _T_536 = io_in_a_bits_param == _T_523; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@58971.6]
+  assign _T_538 = _T_536 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58973.6]
+  assign _T_539 = _T_538 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58974.6]
+  assign _T_540 = io_in_a_bits_size == _T_525; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@58979.6]
+  assign _T_542 = _T_540 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58981.6]
+  assign _T_543 = _T_542 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58982.6]
+  assign _T_544 = io_in_a_bits_source == _T_527; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@58987.6]
+  assign _T_546 = _T_544 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58989.6]
+  assign _T_547 = _T_546 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58990.6]
+  assign _T_548 = io_in_a_bits_address == _T_529; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@58995.6]
+  assign _T_550 = _T_548 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58997.6]
+  assign _T_551 = _T_550 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58998.6]
+  assign _T_553 = _T_498 & _T_512; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@59005.4]
+  assign _T_554 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@59013.4]
+  assign _T_556 = 13'h3f << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@59015.4]
+  assign _T_557 = _T_556[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@59016.4]
+  assign _T_558 = ~ _T_557; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@59017.4]
+  assign _T_559 = _T_558[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@59018.4]
+  assign _T_560 = io_in_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@59019.4]
+  assign _T_564 = _T_563 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59022.4]
+  assign _T_565 = $unsigned(_T_564); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59023.4]
+  assign _T_566 = _T_565[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59024.4]
+  assign _T_567 = _T_563 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@59025.4]
+  assign _T_587 = _T_567 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@59042.4]
+  assign _T_588 = io_in_d_valid & _T_587; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@59043.4]
+  assign _T_589 = io_in_d_bits_opcode == _T_576; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@59045.6]
+  assign _T_591 = _T_589 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59047.6]
+  assign _T_592 = _T_591 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59048.6]
+  assign _T_597 = io_in_d_bits_size == _T_580; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@59061.6]
+  assign _T_599 = _T_597 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59063.6]
+  assign _T_600 = _T_599 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59064.6]
+  assign _T_601 = io_in_d_bits_source == _T_582; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@59069.6]
+  assign _T_603 = _T_601 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59071.6]
+  assign _T_604 = _T_603 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59072.6]
+  assign _T_614 = _T_554 & _T_567; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@59095.4]
+  assign _T_628 = _T_627 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59115.4]
+  assign _T_629 = $unsigned(_T_628); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59116.4]
+  assign _T_630 = _T_629[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59117.4]
+  assign _T_631 = _T_627 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@59118.4]
+  assign _T_649 = _T_648 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59138.4]
+  assign _T_650 = $unsigned(_T_649); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59139.4]
+  assign _T_651 = _T_650[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59140.4]
+  assign _T_652 = _T_648 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@59141.4]
+  assign _T_663 = _T_498 & _T_631; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@59156.4]
+  assign _T_665 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@59159.6]
+  assign _T_666 = _T_616 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@59161.6]
+  assign _T_667 = _T_666[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@59162.6]
+  assign _T_668 = _T_667 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59163.6]
+  assign _T_670 = _T_668 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@59165.6]
+  assign _T_671 = _T_670 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@59166.6]
+  assign _GEN_15 = _T_663 ? _T_665 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@59158.4]
+  assign _T_676 = _T_554 & _T_652; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@59177.4]
+  assign _T_678 = _T_357 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@59179.4]
+  assign _T_679 = _T_676 & _T_678; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@59180.4]
+  assign _T_680 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@59182.6]
+  assign _T_681 = _GEN_15 | _T_616; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@59184.6]
+  assign _T_682 = _T_681 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@59185.6]
+  assign _T_683 = _T_682[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@59186.6]
+  assign _T_685 = _T_683 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@59188.6]
+  assign _T_686 = _T_685 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@59189.6]
+  assign _GEN_16 = _T_679 ? _T_680 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@59181.4]
+  assign _T_687 = _T_616 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@59195.4]
+  assign _T_688 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@59196.4]
+  assign _T_689 = _T_687 & _T_688; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@59197.4]
+  assign _T_692 = _T_616 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@59202.4]
+  assign _T_693 = _T_692 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@59203.4]
+  assign _T_694 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@59204.4]
+  assign _T_695 = _T_693 | _T_694; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@59205.4]
+  assign _T_696 = _T_691 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@59206.4]
+  assign _T_697 = _T_695 | _T_696; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@59207.4]
+  assign _T_699 = _T_697 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@59209.4]
+  assign _T_700 = _T_699 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@59210.4]
+  assign _T_702 = _T_691 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@59216.4]
+  assign _T_705 = _T_498 | _T_554; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@59220.4]
+  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58178.10]
+  assign _GEN_35 = io_in_a_valid & _T_128; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58250.10]
+  assign _GEN_53 = io_in_a_valid & _T_170; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58333.10]
+  assign _GEN_65 = io_in_a_valid & _T_203; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58392.10]
+  assign _GEN_75 = io_in_a_valid & _T_232; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58443.10]
+  assign _GEN_85 = io_in_a_valid & _T_263; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58493.10]
+  assign _GEN_95 = io_in_a_valid & _T_289; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58541.10]
+  assign _GEN_105 = io_in_a_valid & _T_315; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58589.10]
+  assign _GEN_115 = io_in_d_valid & _T_357; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58647.10]
+  assign _GEN_119 = io_in_d_valid & _T_377; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58689.10]
+  assign _GEN_125 = io_in_d_valid & _T_405; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58747.10]
+  assign _GEN_131 = io_in_d_valid & _T_434; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58806.10]
+  assign _GEN_133 = io_in_d_valid & _T_451; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58841.10]
+  assign _GEN_135 = io_in_d_valid & _T_469; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58877.10]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  _T_508 = _RAND_0[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  _T_521 = _RAND_1[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  _T_523 = _RAND_2[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  _T_525 = _RAND_3[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  _T_527 = _RAND_4[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  _T_529 = _RAND_5[28:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {1{`RANDOM}};
+  _T_563 = _RAND_6[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {1{`RANDOM}};
+  _T_576 = _RAND_7[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_8 = {1{`RANDOM}};
+  _T_580 = _RAND_8[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_9 = {1{`RANDOM}};
+  _T_582 = _RAND_9[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_10 = {1{`RANDOM}};
+  _T_616 = _RAND_10[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_11 = {1{`RANDOM}};
+  _T_627 = _RAND_11[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_12 = {1{`RANDOM}};
+  _T_648 = _RAND_12[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_13 = {1{`RANDOM}};
+  _T_691 = _RAND_13[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      _T_508 <= 4'h0;
+    end else begin
+      if (_T_498) begin
+        if (_T_512) begin
+          if (_T_505) begin
+            _T_508 <= _T_503;
+          end else begin
+            _T_508 <= 4'h0;
+          end
+        end else begin
+          _T_508 <= _T_511;
+        end
+      end
+    end
+    if (_T_553) begin
+      _T_521 <= io_in_a_bits_opcode;
+    end
+    if (_T_553) begin
+      _T_523 <= io_in_a_bits_param;
+    end
+    if (_T_553) begin
+      _T_525 <= io_in_a_bits_size;
+    end
+    if (_T_553) begin
+      _T_527 <= io_in_a_bits_source;
+    end
+    if (_T_553) begin
+      _T_529 <= io_in_a_bits_address;
+    end
+    if (reset) begin
+      _T_563 <= 4'h0;
+    end else begin
+      if (_T_554) begin
+        if (_T_567) begin
+          if (_T_560) begin
+            _T_563 <= _T_559;
+          end else begin
+            _T_563 <= 4'h0;
+          end
+        end else begin
+          _T_563 <= _T_566;
+        end
+      end
+    end
+    if (_T_614) begin
+      _T_576 <= io_in_d_bits_opcode;
+    end
+    if (_T_614) begin
+      _T_580 <= io_in_d_bits_size;
+    end
+    if (_T_614) begin
+      _T_582 <= io_in_d_bits_source;
+    end
+    if (reset) begin
+      _T_616 <= 2'h0;
+    end else begin
+      _T_616 <= _T_689;
+    end
+    if (reset) begin
+      _T_627 <= 4'h0;
+    end else begin
+      if (_T_498) begin
+        if (_T_631) begin
+          if (_T_505) begin
+            _T_627 <= _T_503;
+          end else begin
+            _T_627 <= 4'h0;
+          end
+        end else begin
+          _T_627 <= _T_630;
+        end
+      end
+    end
+    if (reset) begin
+      _T_648 <= 4'h0;
+    end else begin
+      if (_T_554) begin
+        if (_T_652) begin
+          if (_T_560) begin
+            _T_648 <= _T_559;
+          end else begin
+            _T_648 <= 4'h0;
+          end
+        end else begin
+          _T_648 <= _T_651;
+        end
+      end
+    end
+    if (reset) begin
+      _T_691 <= 32'h0;
+    end else begin
+      if (_T_705) begin
+        _T_691 <= 32'h0;
+      end else begin
+        _T_691 <= _T_702;
+      end
+    end
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at UART.scala:157:94)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@58091.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@58092.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@58161.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@58162.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at UART.scala:157:94)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58178.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_101) begin
+          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58179.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at UART.scala:157:94)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58185.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_101) begin
+          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58186.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58192.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_107) begin
+          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58193.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_111) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at UART.scala:157:94)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58200.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_111) begin
+          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58201.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at UART.scala:157:94)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58207.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_114) begin
+          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58208.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_118) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at UART.scala:157:94)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58215.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_118) begin
+          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58216.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_123) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at UART.scala:157:94)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58224.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_123) begin
+          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58225.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_127) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at UART.scala:157:94)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58232.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_127) begin
+          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58233.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at UART.scala:157:94)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58250.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_101) begin
+          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58251.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at UART.scala:157:94)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58257.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_101) begin
+          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58258.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58264.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_107) begin
+          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58265.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_111) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at UART.scala:157:94)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58272.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_111) begin
+          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58273.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at UART.scala:157:94)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58279.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_114) begin
+          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58280.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_118) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at UART.scala:157:94)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58287.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_118) begin
+          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58288.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_160) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at UART.scala:157:94)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58295.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_160) begin
+          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58296.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_123) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at UART.scala:157:94)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58304.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_123) begin
+          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58305.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_127) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at UART.scala:157:94)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58312.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_127) begin
+          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58313.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_184) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at UART.scala:157:94)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58333.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_184) begin
+          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58334.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58340.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_107) begin
+          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58341.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at UART.scala:157:94)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58347.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_114) begin
+          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58348.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_194) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at UART.scala:157:94)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58355.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_194) begin
+          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58356.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_198) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at UART.scala:157:94)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58363.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_198) begin
+          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58364.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_127) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at UART.scala:157:94)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58371.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_127) begin
+          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58372.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_184) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at UART.scala:157:94)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58392.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_184) begin
+          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58393.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58399.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_107) begin
+          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58400.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at UART.scala:157:94)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58406.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_114) begin
+          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58407.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_194) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at UART.scala:157:94)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58414.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_194) begin
+          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58415.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_198) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at UART.scala:157:94)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58422.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_198) begin
+          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58423.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_184) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at UART.scala:157:94)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58443.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_184) begin
+          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58444.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58450.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_107) begin
+          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58451.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at UART.scala:157:94)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58457.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_114) begin
+          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58458.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_194) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at UART.scala:157:94)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58465.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_194) begin
+          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58466.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_262) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at UART.scala:157:94)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58475.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_262) begin
+          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58476.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at UART.scala:157:94)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58493.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_101) begin
+          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58494.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58500.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_107) begin
+          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58501.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at UART.scala:157:94)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58507.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_114) begin
+          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58508.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_284) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at UART.scala:157:94)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58515.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_284) begin
+          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58516.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_198) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at UART.scala:157:94)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58523.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_198) begin
+          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58524.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at UART.scala:157:94)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58541.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_101) begin
+          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58542.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58548.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_107) begin
+          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58549.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at UART.scala:157:94)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58555.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_114) begin
+          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58556.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_310) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at UART.scala:157:94)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58563.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_310) begin
+          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58564.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_198) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at UART.scala:157:94)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58571.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_198) begin
+          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58572.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at UART.scala:157:94)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58589.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_101) begin
+          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58590.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58596.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_107) begin
+          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58597.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at UART.scala:157:94)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58603.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_114) begin
+          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58604.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_198) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at UART.scala:157:94)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58611.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_198) begin
+          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58612.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_127) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at UART.scala:157:94)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58619.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_127) begin
+          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58620.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_344) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at UART.scala:157:94)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@58630.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_344) begin
+          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@58631.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_360) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58647.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_360) begin
+          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58648.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_364) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at UART.scala:157:94)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58655.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_364) begin
+          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58656.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at UART.scala:157:94)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58663.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58664.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at UART.scala:157:94)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58671.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58672.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at UART.scala:157:94)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58679.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58680.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_119 & _T_360) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58689.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_119 & _T_360) begin
+          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58690.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_119 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at UART.scala:157:94)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58696.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_119 & _T_101) begin
+          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58697.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_119 & _T_364) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at UART.scala:157:94)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58704.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_119 & _T_364) begin
+          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58705.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at UART.scala:157:94)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58712.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58713.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at UART.scala:157:94)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58720.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58721.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at UART.scala:157:94)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58728.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58729.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at UART.scala:157:94)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58737.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58738.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_360) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58747.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_360) begin
+          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58748.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at UART.scala:157:94)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58754.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_101) begin
+          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58755.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_364) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at UART.scala:157:94)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58762.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_364) begin
+          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58763.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at UART.scala:157:94)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58770.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58771.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at UART.scala:157:94)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58778.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58779.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at UART.scala:157:94)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58787.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58788.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at UART.scala:157:94)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58796.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58797.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_131 & _T_360) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58806.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_131 & _T_360) begin
+          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58807.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at UART.scala:157:94)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58814.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58815.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at UART.scala:157:94)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58822.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58823.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at UART.scala:157:94)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58831.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58832.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_133 & _T_360) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58841.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_133 & _T_360) begin
+          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58842.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at UART.scala:157:94)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58849.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58850.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at UART.scala:157:94)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58858.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58859.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at UART.scala:157:94)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58867.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58868.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_135 & _T_360) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58877.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_135 & _T_360) begin
+          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58878.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at UART.scala:157:94)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58885.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58886.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at UART.scala:157:94)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58893.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58894.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at UART.scala:157:94)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58902.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58903.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at UART.scala:157:94)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58912.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58913.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at UART.scala:157:94)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58920.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58921.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at UART.scala:157:94)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58928.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58929.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_531 & _T_535) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at UART.scala:157:94)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58968.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_531 & _T_535) begin
+          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58969.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_531 & _T_539) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at UART.scala:157:94)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58976.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_531 & _T_539) begin
+          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58977.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_531 & _T_543) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at UART.scala:157:94)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58984.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_531 & _T_543) begin
+          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58985.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_531 & _T_547) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at UART.scala:157:94)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58992.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_531 & _T_547) begin
+          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58993.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_531 & _T_551) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at UART.scala:157:94)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59000.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_531 & _T_551) begin
+          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59001.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_588 & _T_592) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at UART.scala:157:94)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59050.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_588 & _T_592) begin
+          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59051.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at UART.scala:157:94)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59058.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59059.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_588 & _T_600) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at UART.scala:157:94)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59066.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_588 & _T_600) begin
+          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59067.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_588 & _T_604) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at UART.scala:157:94)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59074.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_588 & _T_604) begin
+          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59075.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at UART.scala:157:94)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59082.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59083.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at UART.scala:157:94)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59090.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59091.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_663 & _T_671) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at UART.scala:157:94)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@59168.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_663 & _T_671) begin
+          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@59169.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_679 & _T_686) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at UART.scala:157:94)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@59191.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_679 & _T_686) begin
+          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@59192.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_700) begin
+          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at UART.scala:157:94)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@59212.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_700) begin
+          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@59213.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+endmodule
+module TLFragmenter_5( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59256.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59257.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59258.4]
+  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59259.4]
+  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59259.4]
+  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59259.4]
+  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59259.4]
+  input  [2:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59259.4]
+  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59259.4]
+  input  [28:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59259.4]
+  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59259.4]
+  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59259.4]
+  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59259.4]
+  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59259.4]
+  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59259.4]
+  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59259.4]
+  output [2:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59259.4]
+  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59259.4]
+  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59259.4]
+  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59259.4]
+  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59259.4]
+  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59259.4]
+  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59259.4]
+  output [1:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59259.4]
+  output [5:0]  auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59259.4]
+  output [28:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59259.4]
+  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59259.4]
+  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59259.4]
+  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59259.4]
+  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59259.4]
+  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59259.4]
+  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59259.4]
+  input  [1:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59259.4]
+  input  [5:0]  auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59259.4]
+  input  [31:0] auto_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59259.4]
+);
+  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@59266.4]
+  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@59266.4]
+  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@59266.4]
+  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@59266.4]
+  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@59266.4]
+  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@59266.4]
+  wire [2:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@59266.4]
+  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@59266.4]
+  wire [28:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@59266.4]
+  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@59266.4]
+  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@59266.4]
+  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@59266.4]
+  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@59266.4]
+  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@59266.4]
+  wire [2:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@59266.4]
+  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@59266.4]
+  wire  Repeater_clock; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59383.4]
+  wire  Repeater_reset; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59383.4]
+  wire  Repeater_io_repeat; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59383.4]
+  wire  Repeater_io_full; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59383.4]
+  wire  Repeater_io_enq_ready; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59383.4]
+  wire  Repeater_io_enq_valid; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59383.4]
+  wire [2:0] Repeater_io_enq_bits_opcode; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59383.4]
+  wire [2:0] Repeater_io_enq_bits_param; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59383.4]
+  wire [2:0] Repeater_io_enq_bits_size; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59383.4]
+  wire  Repeater_io_enq_bits_source; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59383.4]
+  wire [28:0] Repeater_io_enq_bits_address; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59383.4]
+  wire [3:0] Repeater_io_enq_bits_mask; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59383.4]
+  wire  Repeater_io_enq_bits_corrupt; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59383.4]
+  wire  Repeater_io_deq_ready; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59383.4]
+  wire  Repeater_io_deq_valid; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59383.4]
+  wire [2:0] Repeater_io_deq_bits_opcode; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59383.4]
+  wire [2:0] Repeater_io_deq_bits_param; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59383.4]
+  wire [2:0] Repeater_io_deq_bits_size; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59383.4]
+  wire  Repeater_io_deq_bits_source; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59383.4]
+  wire [28:0] Repeater_io_deq_bits_address; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59383.4]
+  wire [3:0] Repeater_io_deq_bits_mask; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59383.4]
+  wire  Repeater_io_deq_bits_corrupt; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59383.4]
+  reg [3:0] _T_244; // @[Fragmenter.scala 167:27:shc.marmotcaravel.MarmotCaravelConfig.fir@59307.4]
+  reg [31:0] _RAND_0;
+  reg [2:0] _T_246; // @[Fragmenter.scala 168:22:shc.marmotcaravel.MarmotCaravelConfig.fir@59308.4]
+  reg [31:0] _RAND_1;
+  reg  _T_248; // @[Fragmenter.scala 169:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59309.4]
+  reg [31:0] _RAND_2;
+  wire [3:0] _T_249; // @[Fragmenter.scala 170:39:shc.marmotcaravel.MarmotCaravelConfig.fir@59310.4]
+  wire  _T_250; // @[Fragmenter.scala 171:27:shc.marmotcaravel.MarmotCaravelConfig.fir@59311.4]
+  wire  _T_251; // @[Fragmenter.scala 172:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59312.4]
+  wire [3:0] _T_253; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@59314.4]
+  wire [2:0] _T_254; // @[OneHot.scala 52:27:shc.marmotcaravel.MarmotCaravelConfig.fir@59315.4]
+  wire [4:0] _T_256; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@59317.4]
+  wire [1:0] _T_257; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@59318.4]
+  wire [1:0] _T_258; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@59319.4]
+  wire  _T_259; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@59320.4]
+  wire  _T_271; // @[Fragmenter.scala 182:58:shc.marmotcaravel.MarmotCaravelConfig.fir@59336.4]
+  wire  _T_272; // @[Fragmenter.scala 182:30:shc.marmotcaravel.MarmotCaravelConfig.fir@59337.4]
+  wire [5:0] _GEN_7; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@59338.4]
+  wire [5:0] _T_273; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@59338.4]
+  wire [5:0] _GEN_8; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@59339.4]
+  wire [5:0] _T_274; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@59339.4]
+  wire [6:0] _GEN_9; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@59340.4]
+  wire [6:0] _T_275; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@59340.4]
+  wire [6:0] _T_276; // @[package.scala 183:40:shc.marmotcaravel.MarmotCaravelConfig.fir@59341.4]
+  wire [6:0] _T_277; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@59342.4]
+  wire [6:0] _T_278; // @[package.scala 183:53:shc.marmotcaravel.MarmotCaravelConfig.fir@59343.4]
+  wire [6:0] _T_279; // @[package.scala 183:51:shc.marmotcaravel.MarmotCaravelConfig.fir@59344.4]
+  wire [2:0] _T_280; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@59345.4]
+  wire [3:0] _T_281; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@59346.4]
+  wire  _T_282; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59347.4]
+  wire [3:0] _GEN_10; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59348.4]
+  wire [3:0] _T_283; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59348.4]
+  wire [1:0] _T_284; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@59349.4]
+  wire [1:0] _T_285; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@59350.4]
+  wire  _T_286; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59351.4]
+  wire [1:0] _T_287; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59352.4]
+  wire  _T_288; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@59353.4]
+  wire [1:0] _T_289; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@59354.4]
+  wire [2:0] _T_290; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@59355.4]
+  wire  _T_297; // @[Fragmenter.scala 200:18:shc.marmotcaravel.MarmotCaravelConfig.fir@59369.4]
+  wire  _T_299; // @[Fragmenter.scala 200:31:shc.marmotcaravel.MarmotCaravelConfig.fir@59371.4]
+  wire  _T_300; // @[Fragmenter.scala 200:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59372.4]
+  wire  _T_301; // @[Fragmenter.scala 201:33:shc.marmotcaravel.MarmotCaravelConfig.fir@59373.4]
+  wire  _T_291; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@59356.4]
+  wire [3:0] _GEN_11; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@59358.6]
+  wire [4:0] _T_292; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@59358.6]
+  wire [4:0] _T_293; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@59359.6]
+  wire [3:0] _T_294; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@59360.6]
+  wire  _T_296; // @[Fragmenter.scala 190:39:shc.marmotcaravel.MarmotCaravelConfig.fir@59365.8]
+  wire  _T_302; // @[Fragmenter.scala 202:37:shc.marmotcaravel.MarmotCaravelConfig.fir@59375.4]
+  wire  _T_330; // @[Fragmenter.scala 262:29:shc.marmotcaravel.MarmotCaravelConfig.fir@59408.4]
+  wire [2:0] _T_331; // @[Fragmenter.scala 262:22:shc.marmotcaravel.MarmotCaravelConfig.fir@59409.4]
+  wire [12:0] _T_333; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@59411.4]
+  wire [5:0] _T_334; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@59412.4]
+  wire [5:0] _T_335; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@59413.4]
+  wire [8:0] _T_337; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@59415.4]
+  wire [1:0] _T_338; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@59416.4]
+  wire [1:0] _T_339; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@59417.4]
+  wire  _T_340; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@59418.4]
+  wire  _T_341; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59419.4]
+  reg [3:0] _T_344; // @[Fragmenter.scala 268:27:shc.marmotcaravel.MarmotCaravelConfig.fir@59421.4]
+  reg [31:0] _RAND_3;
+  wire  _T_345; // @[Fragmenter.scala 269:27:shc.marmotcaravel.MarmotCaravelConfig.fir@59422.4]
+  wire [3:0] _T_346; // @[Fragmenter.scala 270:46:shc.marmotcaravel.MarmotCaravelConfig.fir@59423.4]
+  wire [4:0] _T_347; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@59424.4]
+  wire [4:0] _T_348; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@59425.4]
+  wire [3:0] _T_349; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@59426.4]
+  wire [3:0] _T_350; // @[Fragmenter.scala 270:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59427.4]
+  wire [3:0] _T_351; // @[Fragmenter.scala 271:26:shc.marmotcaravel.MarmotCaravelConfig.fir@59428.4]
+  wire [3:0] _T_354; // @[Fragmenter.scala 271:24:shc.marmotcaravel.MarmotCaravelConfig.fir@59431.4]
+  reg  _T_362; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@59438.4]
+  reg [31:0] _RAND_4;
+  wire  _GEN_5; // @[Reg.scala 12:19:shc.marmotcaravel.MarmotCaravelConfig.fir@59439.4]
+  wire  _T_364; // @[Fragmenter.scala 274:21:shc.marmotcaravel.MarmotCaravelConfig.fir@59443.4]
+  wire  _T_92_a_valid; // @[Nodes.scala 332:76:shc.marmotcaravel.MarmotCaravelConfig.fir@59303.4 Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@59452.4]
+  wire  _T_365; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@59444.4]
+  wire  _T_366; // @[Fragmenter.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@59448.4]
+  wire  _T_367; // @[Fragmenter.scala 279:51:shc.marmotcaravel.MarmotCaravelConfig.fir@59449.4]
+  wire [5:0] _GEN_12; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@59453.4]
+  wire [5:0] _T_369; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@59453.4]
+  wire [5:0] _T_370; // @[Fragmenter.scala 281:88:shc.marmotcaravel.MarmotCaravelConfig.fir@59454.4]
+  wire [5:0] _T_371; // @[Fragmenter.scala 281:86:shc.marmotcaravel.MarmotCaravelConfig.fir@59455.4]
+  wire [5:0] _GEN_13; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@59456.4]
+  wire [5:0] _T_372; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@59456.4]
+  wire [5:0] _T_373; // @[Fragmenter.scala 281:109:shc.marmotcaravel.MarmotCaravelConfig.fir@59457.4]
+  wire [5:0] _T_374; // @[Fragmenter.scala 281:49:shc.marmotcaravel.MarmotCaravelConfig.fir@59458.4]
+  wire [28:0] _GEN_14; // @[Fragmenter.scala 281:47:shc.marmotcaravel.MarmotCaravelConfig.fir@59459.4]
+  wire [1:0] _T_376; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@59461.4]
+  wire  _T_378; // @[Fragmenter.scala 286:15:shc.marmotcaravel.MarmotCaravelConfig.fir@59465.4]
+  wire  _T_380; // @[Fragmenter.scala 286:33:shc.marmotcaravel.MarmotCaravelConfig.fir@59467.4]
+  wire  _T_382; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59469.4]
+  wire  _T_383; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59470.4]
+  wire  _T_385; // @[Fragmenter.scala 289:51:shc.marmotcaravel.MarmotCaravelConfig.fir@59477.4]
+  wire  _T_386; // @[Fragmenter.scala 289:33:shc.marmotcaravel.MarmotCaravelConfig.fir@59478.4]
+  wire  _T_388; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59480.4]
+  wire  _T_389; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59481.4]
+  TLMonitor_32 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@59266.4]
+    .clock(TLMonitor_clock),
+    .reset(TLMonitor_reset),
+    .io_in_a_ready(TLMonitor_io_in_a_ready),
+    .io_in_a_valid(TLMonitor_io_in_a_valid),
+    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
+    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
+    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
+    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
+    .io_in_d_ready(TLMonitor_io_in_d_ready),
+    .io_in_d_valid(TLMonitor_io_in_d_valid),
+    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
+    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
+    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source)
+  );
+  Repeater_4 Repeater ( // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59383.4]
+    .clock(Repeater_clock),
+    .reset(Repeater_reset),
+    .io_repeat(Repeater_io_repeat),
+    .io_full(Repeater_io_full),
+    .io_enq_ready(Repeater_io_enq_ready),
+    .io_enq_valid(Repeater_io_enq_valid),
+    .io_enq_bits_opcode(Repeater_io_enq_bits_opcode),
+    .io_enq_bits_param(Repeater_io_enq_bits_param),
+    .io_enq_bits_size(Repeater_io_enq_bits_size),
+    .io_enq_bits_source(Repeater_io_enq_bits_source),
+    .io_enq_bits_address(Repeater_io_enq_bits_address),
+    .io_enq_bits_mask(Repeater_io_enq_bits_mask),
+    .io_enq_bits_corrupt(Repeater_io_enq_bits_corrupt),
+    .io_deq_ready(Repeater_io_deq_ready),
+    .io_deq_valid(Repeater_io_deq_valid),
+    .io_deq_bits_opcode(Repeater_io_deq_bits_opcode),
+    .io_deq_bits_param(Repeater_io_deq_bits_param),
+    .io_deq_bits_size(Repeater_io_deq_bits_size),
+    .io_deq_bits_source(Repeater_io_deq_bits_source),
+    .io_deq_bits_address(Repeater_io_deq_bits_address),
+    .io_deq_bits_mask(Repeater_io_deq_bits_mask),
+    .io_deq_bits_corrupt(Repeater_io_deq_bits_corrupt)
+  );
+  assign _T_249 = auto_out_d_bits_source[3:0]; // @[Fragmenter.scala 170:39:shc.marmotcaravel.MarmotCaravelConfig.fir@59310.4]
+  assign _T_250 = _T_244 == 4'h0; // @[Fragmenter.scala 171:27:shc.marmotcaravel.MarmotCaravelConfig.fir@59311.4]
+  assign _T_251 = _T_249 == 4'h0; // @[Fragmenter.scala 172:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59312.4]
+  assign _T_253 = 4'h1 << auto_out_d_bits_size; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@59314.4]
+  assign _T_254 = _T_253[2:0]; // @[OneHot.scala 52:27:shc.marmotcaravel.MarmotCaravelConfig.fir@59315.4]
+  assign _T_256 = 5'h3 << auto_out_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@59317.4]
+  assign _T_257 = _T_256[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@59318.4]
+  assign _T_258 = ~ _T_257; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@59319.4]
+  assign _T_259 = auto_out_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@59320.4]
+  assign _T_271 = _T_254[2:2]; // @[Fragmenter.scala 182:58:shc.marmotcaravel.MarmotCaravelConfig.fir@59336.4]
+  assign _T_272 = _T_259 ? 1'h1 : _T_271; // @[Fragmenter.scala 182:30:shc.marmotcaravel.MarmotCaravelConfig.fir@59337.4]
+  assign _GEN_7 = {{2'd0}, _T_249}; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@59338.4]
+  assign _T_273 = _GEN_7 << 2; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@59338.4]
+  assign _GEN_8 = {{4'd0}, _T_258}; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@59339.4]
+  assign _T_274 = _T_273 | _GEN_8; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@59339.4]
+  assign _GEN_9 = {{1'd0}, _T_274}; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@59340.4]
+  assign _T_275 = _GEN_9 << 1; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@59340.4]
+  assign _T_276 = _T_275 | 7'h1; // @[package.scala 183:40:shc.marmotcaravel.MarmotCaravelConfig.fir@59341.4]
+  assign _T_277 = {1'h0,_T_274}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@59342.4]
+  assign _T_278 = ~ _T_277; // @[package.scala 183:53:shc.marmotcaravel.MarmotCaravelConfig.fir@59343.4]
+  assign _T_279 = _T_276 & _T_278; // @[package.scala 183:51:shc.marmotcaravel.MarmotCaravelConfig.fir@59344.4]
+  assign _T_280 = _T_279[6:4]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@59345.4]
+  assign _T_281 = _T_279[3:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@59346.4]
+  assign _T_282 = _T_280 != 3'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59347.4]
+  assign _GEN_10 = {{1'd0}, _T_280}; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59348.4]
+  assign _T_283 = _GEN_10 | _T_281; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59348.4]
+  assign _T_284 = _T_283[3:2]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@59349.4]
+  assign _T_285 = _T_283[1:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@59350.4]
+  assign _T_286 = _T_284 != 2'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59351.4]
+  assign _T_287 = _T_284 | _T_285; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59352.4]
+  assign _T_288 = _T_287[1]; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@59353.4]
+  assign _T_289 = {_T_286,_T_288}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@59354.4]
+  assign _T_290 = {_T_282,_T_289}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@59355.4]
+  assign _T_297 = _T_259 == 1'h0; // @[Fragmenter.scala 200:18:shc.marmotcaravel.MarmotCaravelConfig.fir@59369.4]
+  assign _T_299 = _T_251 == 1'h0; // @[Fragmenter.scala 200:31:shc.marmotcaravel.MarmotCaravelConfig.fir@59371.4]
+  assign _T_300 = _T_297 & _T_299; // @[Fragmenter.scala 200:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59372.4]
+  assign _T_301 = auto_in_d_ready | _T_300; // @[Fragmenter.scala 201:33:shc.marmotcaravel.MarmotCaravelConfig.fir@59373.4]
+  assign _T_291 = _T_301 & auto_out_d_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@59356.4]
+  assign _GEN_11 = {{3'd0}, _T_272}; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@59358.6]
+  assign _T_292 = _T_244 - _GEN_11; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@59358.6]
+  assign _T_293 = $unsigned(_T_292); // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@59359.6]
+  assign _T_294 = _T_293[3:0]; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@59360.6]
+  assign _T_296 = auto_out_d_bits_source[4]; // @[Fragmenter.scala 190:39:shc.marmotcaravel.MarmotCaravelConfig.fir@59365.8]
+  assign _T_302 = _T_300 == 1'h0; // @[Fragmenter.scala 202:37:shc.marmotcaravel.MarmotCaravelConfig.fir@59375.4]
+  assign _T_330 = Repeater_io_deq_bits_size > 3'h2; // @[Fragmenter.scala 262:29:shc.marmotcaravel.MarmotCaravelConfig.fir@59408.4]
+  assign _T_331 = _T_330 ? 3'h2 : Repeater_io_deq_bits_size; // @[Fragmenter.scala 262:22:shc.marmotcaravel.MarmotCaravelConfig.fir@59409.4]
+  assign _T_333 = 13'h3f << Repeater_io_deq_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@59411.4]
+  assign _T_334 = _T_333[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@59412.4]
+  assign _T_335 = ~ _T_334; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@59413.4]
+  assign _T_337 = 9'h3 << _T_331; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@59415.4]
+  assign _T_338 = _T_337[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@59416.4]
+  assign _T_339 = ~ _T_338; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@59417.4]
+  assign _T_340 = Repeater_io_deq_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@59418.4]
+  assign _T_341 = _T_340 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59419.4]
+  assign _T_345 = _T_344 == 4'h0; // @[Fragmenter.scala 269:27:shc.marmotcaravel.MarmotCaravelConfig.fir@59422.4]
+  assign _T_346 = _T_335[5:2]; // @[Fragmenter.scala 270:46:shc.marmotcaravel.MarmotCaravelConfig.fir@59423.4]
+  assign _T_347 = _T_344 - 4'h1; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@59424.4]
+  assign _T_348 = $unsigned(_T_347); // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@59425.4]
+  assign _T_349 = _T_348[3:0]; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@59426.4]
+  assign _T_350 = _T_345 ? _T_346 : _T_349; // @[Fragmenter.scala 270:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59427.4]
+  assign _T_351 = ~ _T_350; // @[Fragmenter.scala 271:26:shc.marmotcaravel.MarmotCaravelConfig.fir@59428.4]
+  assign _T_354 = ~ _T_351; // @[Fragmenter.scala 271:24:shc.marmotcaravel.MarmotCaravelConfig.fir@59431.4]
+  assign _GEN_5 = _T_345 ? _T_248 : _T_362; // @[Reg.scala 12:19:shc.marmotcaravel.MarmotCaravelConfig.fir@59439.4]
+  assign _T_364 = _GEN_5 == 1'h0; // @[Fragmenter.scala 274:21:shc.marmotcaravel.MarmotCaravelConfig.fir@59443.4]
+  assign _T_92_a_valid = Repeater_io_deq_valid; // @[Nodes.scala 332:76:shc.marmotcaravel.MarmotCaravelConfig.fir@59303.4 Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@59452.4]
+  assign _T_365 = auto_out_a_ready & _T_92_a_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@59444.4]
+  assign _T_366 = _T_341 == 1'h0; // @[Fragmenter.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@59448.4]
+  assign _T_367 = _T_354 != 4'h0; // @[Fragmenter.scala 279:51:shc.marmotcaravel.MarmotCaravelConfig.fir@59449.4]
+  assign _GEN_12 = {{2'd0}, _T_350}; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@59453.4]
+  assign _T_369 = _GEN_12 << 2; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@59453.4]
+  assign _T_370 = ~ _T_335; // @[Fragmenter.scala 281:88:shc.marmotcaravel.MarmotCaravelConfig.fir@59454.4]
+  assign _T_371 = _T_369 | _T_370; // @[Fragmenter.scala 281:86:shc.marmotcaravel.MarmotCaravelConfig.fir@59455.4]
+  assign _GEN_13 = {{4'd0}, _T_339}; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@59456.4]
+  assign _T_372 = _T_371 | _GEN_13; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@59456.4]
+  assign _T_373 = _T_372 | 6'h3; // @[Fragmenter.scala 281:109:shc.marmotcaravel.MarmotCaravelConfig.fir@59457.4]
+  assign _T_374 = ~ _T_373; // @[Fragmenter.scala 281:49:shc.marmotcaravel.MarmotCaravelConfig.fir@59458.4]
+  assign _GEN_14 = {{23'd0}, _T_374}; // @[Fragmenter.scala 281:47:shc.marmotcaravel.MarmotCaravelConfig.fir@59459.4]
+  assign _T_376 = {Repeater_io_deq_bits_source,_T_364}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@59461.4]
+  assign _T_378 = Repeater_io_full == 1'h0; // @[Fragmenter.scala 286:15:shc.marmotcaravel.MarmotCaravelConfig.fir@59465.4]
+  assign _T_380 = _T_378 | _T_366; // @[Fragmenter.scala 286:33:shc.marmotcaravel.MarmotCaravelConfig.fir@59467.4]
+  assign _T_382 = _T_380 | reset; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59469.4]
+  assign _T_383 = _T_382 == 1'h0; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59470.4]
+  assign _T_385 = Repeater_io_deq_bits_mask == 4'hf; // @[Fragmenter.scala 289:51:shc.marmotcaravel.MarmotCaravelConfig.fir@59477.4]
+  assign _T_386 = _T_378 | _T_385; // @[Fragmenter.scala 289:33:shc.marmotcaravel.MarmotCaravelConfig.fir@59478.4]
+  assign _T_388 = _T_386 | reset; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59480.4]
+  assign _T_389 = _T_388 == 1'h0; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59481.4]
+  assign auto_in_a_ready = Repeater_io_enq_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@59306.4]
+  assign auto_in_d_valid = auto_out_d_valid & _T_302; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@59306.4]
+  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@59306.4]
+  assign auto_in_d_bits_size = _T_250 ? _T_290 : _T_246; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@59306.4]
+  assign auto_in_d_bits_source = auto_out_d_bits_source[5:5]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@59306.4]
+  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@59306.4]
+  assign auto_out_a_valid = Repeater_io_deq_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@59305.4]
+  assign auto_out_a_bits_opcode = Repeater_io_deq_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@59305.4]
+  assign auto_out_a_bits_param = Repeater_io_deq_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@59305.4]
+  assign auto_out_a_bits_size = _T_331[1:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@59305.4]
+  assign auto_out_a_bits_source = {_T_376,_T_354}; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@59305.4]
+  assign auto_out_a_bits_address = Repeater_io_deq_bits_address | _GEN_14; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@59305.4]
+  assign auto_out_a_bits_mask = Repeater_io_full ? 4'hf : auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@59305.4]
+  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@59305.4]
+  assign auto_out_a_bits_corrupt = Repeater_io_deq_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@59305.4]
+  assign auto_out_d_ready = auto_in_d_ready | _T_300; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@59305.4]
+  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59268.4]
+  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59269.4]
+  assign TLMonitor_io_in_a_ready = Repeater_io_enq_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@59302.4]
+  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@59302.4]
+  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@59302.4]
+  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@59302.4]
+  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@59302.4]
+  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@59302.4]
+  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@59302.4]
+  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@59302.4]
+  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@59302.4]
+  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@59302.4]
+  assign TLMonitor_io_in_d_valid = auto_out_d_valid & _T_302; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@59302.4]
+  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@59302.4]
+  assign TLMonitor_io_in_d_bits_size = _T_250 ? _T_290 : _T_246; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@59302.4]
+  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source[5:5]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@59302.4]
+  assign Repeater_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59385.4]
+  assign Repeater_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59386.4]
+  assign Repeater_io_repeat = _T_366 & _T_367; // @[Fragmenter.scala 279:26:shc.marmotcaravel.MarmotCaravelConfig.fir@59451.4]
+  assign Repeater_io_enq_valid = auto_in_a_valid; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@59387.4]
+  assign Repeater_io_enq_bits_opcode = auto_in_a_bits_opcode; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@59387.4]
+  assign Repeater_io_enq_bits_param = auto_in_a_bits_param; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@59387.4]
+  assign Repeater_io_enq_bits_size = auto_in_a_bits_size; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@59387.4]
+  assign Repeater_io_enq_bits_source = auto_in_a_bits_source; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@59387.4]
+  assign Repeater_io_enq_bits_address = auto_in_a_bits_address; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@59387.4]
+  assign Repeater_io_enq_bits_mask = auto_in_a_bits_mask; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@59387.4]
+  assign Repeater_io_enq_bits_corrupt = auto_in_a_bits_corrupt; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@59387.4]
+  assign Repeater_io_deq_ready = auto_out_a_ready; // @[Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@59452.4]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  _T_244 = _RAND_0[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  _T_246 = _RAND_1[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  _T_248 = _RAND_2[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  _T_344 = _RAND_3[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  _T_362 = _RAND_4[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      _T_244 <= 4'h0;
+    end else begin
+      if (_T_291) begin
+        if (_T_250) begin
+          _T_244 <= _T_249;
+        end else begin
+          _T_244 <= _T_294;
+        end
+      end
+    end
+    if (_T_291) begin
+      if (_T_250) begin
+        _T_246 <= _T_290;
+      end
+    end
+    if (reset) begin
+      _T_248 <= 1'h0;
+    end else begin
+      if (_T_291) begin
+        if (_T_250) begin
+          _T_248 <= _T_296;
+        end
+      end
+    end
+    if (reset) begin
+      _T_344 <= 4'h0;
+    end else begin
+      if (_T_365) begin
+        _T_344 <= _T_354;
+      end
+    end
+    if (_T_345) begin
+      _T_362 <= _T_248;
+    end
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:180 assert (!out.d.valid || (acknum_fragment & acknum_size) === UInt(0))\n"); // @[Fragmenter.scala 180:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59331.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Fragmenter.scala 180:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59332.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_383) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:286 assert (!repeater.io.full || !aHasData)\n"); // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59472.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_383) begin
+          $fatal; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59473.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_389) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:289 assert (!repeater.io.full || in_a.bits.mask === fullMask)\n"); // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59483.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_389) begin
+          $fatal; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59484.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+endmodule
+module SimpleLazyModule_13( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59495.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59496.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59497.4]
+  output        auto_fragmenter_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59498.4]
+  input         auto_fragmenter_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59498.4]
+  input  [2:0]  auto_fragmenter_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59498.4]
+  input  [2:0]  auto_fragmenter_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59498.4]
+  input  [2:0]  auto_fragmenter_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59498.4]
+  input         auto_fragmenter_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59498.4]
+  input  [28:0] auto_fragmenter_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59498.4]
+  input  [3:0]  auto_fragmenter_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59498.4]
+  input  [31:0] auto_fragmenter_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59498.4]
+  input         auto_fragmenter_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59498.4]
+  input         auto_fragmenter_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59498.4]
+  output        auto_fragmenter_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59498.4]
+  output [2:0]  auto_fragmenter_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59498.4]
+  output [2:0]  auto_fragmenter_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59498.4]
+  output        auto_fragmenter_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59498.4]
+  output [31:0] auto_fragmenter_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59498.4]
+  input         auto_control_xing_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59498.4]
+  output        auto_control_xing_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59498.4]
+  output [2:0]  auto_control_xing_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59498.4]
+  output [2:0]  auto_control_xing_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59498.4]
+  output [1:0]  auto_control_xing_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59498.4]
+  output [5:0]  auto_control_xing_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59498.4]
+  output [28:0] auto_control_xing_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59498.4]
+  output [3:0]  auto_control_xing_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59498.4]
+  output [31:0] auto_control_xing_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59498.4]
+  output        auto_control_xing_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59498.4]
+  output        auto_control_xing_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59498.4]
+  input         auto_control_xing_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59498.4]
+  input  [2:0]  auto_control_xing_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59498.4]
+  input  [1:0]  auto_control_xing_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59498.4]
+  input  [5:0]  auto_control_xing_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59498.4]
+  input  [31:0] auto_control_xing_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59498.4]
+);
+  wire  fragmenter_clock; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@59503.4]
+  wire  fragmenter_reset; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@59503.4]
+  wire  fragmenter_auto_in_a_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@59503.4]
+  wire  fragmenter_auto_in_a_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@59503.4]
+  wire [2:0] fragmenter_auto_in_a_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@59503.4]
+  wire [2:0] fragmenter_auto_in_a_bits_param; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@59503.4]
+  wire [2:0] fragmenter_auto_in_a_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@59503.4]
+  wire  fragmenter_auto_in_a_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@59503.4]
+  wire [28:0] fragmenter_auto_in_a_bits_address; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@59503.4]
+  wire [3:0] fragmenter_auto_in_a_bits_mask; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@59503.4]
+  wire [31:0] fragmenter_auto_in_a_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@59503.4]
+  wire  fragmenter_auto_in_a_bits_corrupt; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@59503.4]
+  wire  fragmenter_auto_in_d_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@59503.4]
+  wire  fragmenter_auto_in_d_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@59503.4]
+  wire [2:0] fragmenter_auto_in_d_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@59503.4]
+  wire [2:0] fragmenter_auto_in_d_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@59503.4]
+  wire  fragmenter_auto_in_d_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@59503.4]
+  wire [31:0] fragmenter_auto_in_d_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@59503.4]
+  wire  fragmenter_auto_out_a_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@59503.4]
+  wire  fragmenter_auto_out_a_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@59503.4]
+  wire [2:0] fragmenter_auto_out_a_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@59503.4]
+  wire [2:0] fragmenter_auto_out_a_bits_param; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@59503.4]
+  wire [1:0] fragmenter_auto_out_a_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@59503.4]
+  wire [5:0] fragmenter_auto_out_a_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@59503.4]
+  wire [28:0] fragmenter_auto_out_a_bits_address; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@59503.4]
+  wire [3:0] fragmenter_auto_out_a_bits_mask; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@59503.4]
+  wire [31:0] fragmenter_auto_out_a_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@59503.4]
+  wire  fragmenter_auto_out_a_bits_corrupt; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@59503.4]
+  wire  fragmenter_auto_out_d_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@59503.4]
+  wire  fragmenter_auto_out_d_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@59503.4]
+  wire [2:0] fragmenter_auto_out_d_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@59503.4]
+  wire [1:0] fragmenter_auto_out_d_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@59503.4]
+  wire [5:0] fragmenter_auto_out_d_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@59503.4]
+  wire [31:0] fragmenter_auto_out_d_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@59503.4]
+  TLFragmenter_5 fragmenter ( // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@59503.4]
+    .clock(fragmenter_clock),
+    .reset(fragmenter_reset),
+    .auto_in_a_ready(fragmenter_auto_in_a_ready),
+    .auto_in_a_valid(fragmenter_auto_in_a_valid),
+    .auto_in_a_bits_opcode(fragmenter_auto_in_a_bits_opcode),
+    .auto_in_a_bits_param(fragmenter_auto_in_a_bits_param),
+    .auto_in_a_bits_size(fragmenter_auto_in_a_bits_size),
+    .auto_in_a_bits_source(fragmenter_auto_in_a_bits_source),
+    .auto_in_a_bits_address(fragmenter_auto_in_a_bits_address),
+    .auto_in_a_bits_mask(fragmenter_auto_in_a_bits_mask),
+    .auto_in_a_bits_data(fragmenter_auto_in_a_bits_data),
+    .auto_in_a_bits_corrupt(fragmenter_auto_in_a_bits_corrupt),
+    .auto_in_d_ready(fragmenter_auto_in_d_ready),
+    .auto_in_d_valid(fragmenter_auto_in_d_valid),
+    .auto_in_d_bits_opcode(fragmenter_auto_in_d_bits_opcode),
+    .auto_in_d_bits_size(fragmenter_auto_in_d_bits_size),
+    .auto_in_d_bits_source(fragmenter_auto_in_d_bits_source),
+    .auto_in_d_bits_data(fragmenter_auto_in_d_bits_data),
+    .auto_out_a_ready(fragmenter_auto_out_a_ready),
+    .auto_out_a_valid(fragmenter_auto_out_a_valid),
+    .auto_out_a_bits_opcode(fragmenter_auto_out_a_bits_opcode),
+    .auto_out_a_bits_param(fragmenter_auto_out_a_bits_param),
+    .auto_out_a_bits_size(fragmenter_auto_out_a_bits_size),
+    .auto_out_a_bits_source(fragmenter_auto_out_a_bits_source),
+    .auto_out_a_bits_address(fragmenter_auto_out_a_bits_address),
+    .auto_out_a_bits_mask(fragmenter_auto_out_a_bits_mask),
+    .auto_out_a_bits_data(fragmenter_auto_out_a_bits_data),
+    .auto_out_a_bits_corrupt(fragmenter_auto_out_a_bits_corrupt),
+    .auto_out_d_ready(fragmenter_auto_out_d_ready),
+    .auto_out_d_valid(fragmenter_auto_out_d_valid),
+    .auto_out_d_bits_opcode(fragmenter_auto_out_d_bits_opcode),
+    .auto_out_d_bits_size(fragmenter_auto_out_d_bits_size),
+    .auto_out_d_bits_source(fragmenter_auto_out_d_bits_source),
+    .auto_out_d_bits_data(fragmenter_auto_out_d_bits_data)
+  );
+  assign auto_fragmenter_in_a_ready = fragmenter_auto_in_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@59516.4]
+  assign auto_fragmenter_in_d_valid = fragmenter_auto_in_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@59516.4]
+  assign auto_fragmenter_in_d_bits_opcode = fragmenter_auto_in_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@59516.4]
+  assign auto_fragmenter_in_d_bits_size = fragmenter_auto_in_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@59516.4]
+  assign auto_fragmenter_in_d_bits_source = fragmenter_auto_in_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@59516.4]
+  assign auto_fragmenter_in_d_bits_data = fragmenter_auto_in_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@59516.4]
+  assign auto_control_xing_out_a_valid = fragmenter_auto_out_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@59515.4]
+  assign auto_control_xing_out_a_bits_opcode = fragmenter_auto_out_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@59515.4]
+  assign auto_control_xing_out_a_bits_param = fragmenter_auto_out_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@59515.4]
+  assign auto_control_xing_out_a_bits_size = fragmenter_auto_out_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@59515.4]
+  assign auto_control_xing_out_a_bits_source = fragmenter_auto_out_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@59515.4]
+  assign auto_control_xing_out_a_bits_address = fragmenter_auto_out_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@59515.4]
+  assign auto_control_xing_out_a_bits_mask = fragmenter_auto_out_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@59515.4]
+  assign auto_control_xing_out_a_bits_data = fragmenter_auto_out_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@59515.4]
+  assign auto_control_xing_out_a_bits_corrupt = fragmenter_auto_out_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@59515.4]
+  assign auto_control_xing_out_d_ready = fragmenter_auto_out_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@59515.4]
+  assign fragmenter_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59507.4]
+  assign fragmenter_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59508.4]
+  assign fragmenter_auto_in_a_valid = auto_fragmenter_in_a_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@59516.4]
+  assign fragmenter_auto_in_a_bits_opcode = auto_fragmenter_in_a_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@59516.4]
+  assign fragmenter_auto_in_a_bits_param = auto_fragmenter_in_a_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@59516.4]
+  assign fragmenter_auto_in_a_bits_size = auto_fragmenter_in_a_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@59516.4]
+  assign fragmenter_auto_in_a_bits_source = auto_fragmenter_in_a_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@59516.4]
+  assign fragmenter_auto_in_a_bits_address = auto_fragmenter_in_a_bits_address; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@59516.4]
+  assign fragmenter_auto_in_a_bits_mask = auto_fragmenter_in_a_bits_mask; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@59516.4]
+  assign fragmenter_auto_in_a_bits_data = auto_fragmenter_in_a_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@59516.4]
+  assign fragmenter_auto_in_a_bits_corrupt = auto_fragmenter_in_a_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@59516.4]
+  assign fragmenter_auto_in_d_ready = auto_fragmenter_in_d_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@59516.4]
+  assign fragmenter_auto_out_a_ready = auto_control_xing_out_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@59514.4]
+  assign fragmenter_auto_out_d_valid = auto_control_xing_out_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@59514.4]
+  assign fragmenter_auto_out_d_bits_opcode = auto_control_xing_out_d_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@59514.4]
+  assign fragmenter_auto_out_d_bits_size = auto_control_xing_out_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@59514.4]
+  assign fragmenter_auto_out_d_bits_source = auto_control_xing_out_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@59514.4]
+  assign fragmenter_auto_out_d_bits_data = auto_control_xing_out_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@59514.4]
+endmodule
+module TLMonitor_33( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59525.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59526.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59527.4]
+  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59528.4]
+  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59528.4]
+  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59528.4]
+  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59528.4]
+  input  [2:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59528.4]
+  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59528.4]
+  input  [28:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59528.4]
+  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59528.4]
+  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59528.4]
+  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59528.4]
+  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59528.4]
+  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59528.4]
+  input  [2:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59528.4]
+  input         io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59528.4]
+);
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@60649.4]
+  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@59544.6]
+  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@59549.6]
+  wire [12:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@59551.6]
+  wire [5:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@59552.6]
+  wire [5:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@59553.6]
+  wire [28:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@59554.6]
+  wire [28:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@59554.6]
+  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@59555.6]
+  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@59557.6]
+  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@59558.6]
+  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@59560.6]
+  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@59561.6]
+  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@59562.6]
+  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@59563.6]
+  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@59564.6]
+  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@59566.6]
+  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@59567.6]
+  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@59569.6]
+  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@59570.6]
+  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@59571.6]
+  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@59572.6]
+  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@59573.6]
+  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@59574.6]
+  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@59575.6]
+  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@59576.6]
+  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@59577.6]
+  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@59578.6]
+  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@59579.6]
+  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@59580.6]
+  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@59581.6]
+  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@59582.6]
+  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@59583.6]
+  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@59584.6]
+  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@59585.6]
+  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@59586.6]
+  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@59587.6]
+  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@59588.6]
+  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@59613.6]
+  wire [28:0] _T_92; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@59616.8]
+  wire [29:0] _T_93; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@59617.8]
+  wire [29:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@59618.8]
+  wire [29:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@59619.8]
+  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@59620.8]
+  wire  _T_101; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59625.8]
+  wire  _T_106; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59638.8]
+  wire  _T_107; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59639.8]
+  wire  _T_110; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59646.8]
+  wire  _T_111; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59647.8]
+  wire  _T_113; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59653.8]
+  wire  _T_114; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59654.8]
+  wire  _T_115; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@59659.8]
+  wire  _T_117; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59661.8]
+  wire  _T_118; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59662.8]
+  wire [3:0] _T_119; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@59667.8]
+  wire  _T_120; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59668.8]
+  wire  _T_122; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59670.8]
+  wire  _T_123; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59671.8]
+  wire  _T_124; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@59676.8]
+  wire  _T_126; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59678.8]
+  wire  _T_127; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59679.8]
+  wire  _T_128; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@59685.6]
+  wire  _T_157; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59739.8]
+  wire  _T_159; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59741.8]
+  wire  _T_160; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59742.8]
+  wire  _T_170; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@59765.6]
+  wire  _T_172; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@59768.8]
+  wire  _T_180; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@59776.8]
+  wire  _T_183; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59779.8]
+  wire  _T_184; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59780.8]
+  wire  _T_191; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59799.8]
+  wire  _T_193; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59801.8]
+  wire  _T_194; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59802.8]
+  wire  _T_195; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@59807.8]
+  wire  _T_197; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59809.8]
+  wire  _T_198; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59810.8]
+  wire  _T_203; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@59824.6]
+  wire  _T_232; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@59875.6]
+  wire [3:0] _T_257; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@59917.8]
+  wire [3:0] _T_258; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59918.8]
+  wire  _T_259; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@59919.8]
+  wire  _T_261; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59921.8]
+  wire  _T_262; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59922.8]
+  wire  _T_263; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@59928.6]
+  wire  _T_281; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@59959.8]
+  wire  _T_283; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59961.8]
+  wire  _T_284; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59962.8]
+  wire  _T_289; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@59976.6]
+  wire  _T_307; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@60007.8]
+  wire  _T_309; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60009.8]
+  wire  _T_310; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60010.8]
+  wire  _T_315; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@60024.6]
+  wire  _T_341; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@60074.6]
+  wire  _T_343; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@60076.6]
+  wire  _T_344; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@60077.6]
+  wire  _T_346; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@60083.6]
+  wire  _T_355; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@60088.6]
+  wire  _T_357; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@60090.6]
+  wire  _T_359; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60093.8]
+  wire  _T_360; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60094.8]
+  wire  _T_361; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@60099.8]
+  wire  _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60101.8]
+  wire  _T_364; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60102.8]
+  wire  _T_377; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@60132.6]
+  wire  _T_405; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@60190.6]
+  wire  _T_434; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@60249.6]
+  wire  _T_451; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@60284.6]
+  wire  _T_469; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@60320.6]
+  wire  _T_498; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@60380.4]
+  wire [3:0] _T_503; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@60385.4]
+  wire  _T_504; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@60386.4]
+  wire  _T_505; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60387.4]
+  reg [3:0] _T_508; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@60389.4]
+  reg [31:0] _RAND_0;
+  wire [4:0] _T_509; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60390.4]
+  wire [4:0] _T_510; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60391.4]
+  wire [3:0] _T_511; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60392.4]
+  wire  _T_512; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@60393.4]
+  reg [2:0] _T_521; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@60404.4]
+  reg [31:0] _RAND_1;
+  reg [2:0] _T_523; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@60405.4]
+  reg [31:0] _RAND_2;
+  reg [2:0] _T_525; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@60406.4]
+  reg [31:0] _RAND_3;
+  reg  _T_527; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@60407.4]
+  reg [31:0] _RAND_4;
+  reg [28:0] _T_529; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@60408.4]
+  reg [31:0] _RAND_5;
+  wire  _T_530; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@60409.4]
+  wire  _T_531; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@60410.4]
+  wire  _T_532; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@60412.6]
+  wire  _T_534; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60414.6]
+  wire  _T_535; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60415.6]
+  wire  _T_536; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@60420.6]
+  wire  _T_538; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60422.6]
+  wire  _T_539; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60423.6]
+  wire  _T_540; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@60428.6]
+  wire  _T_542; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60430.6]
+  wire  _T_543; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60431.6]
+  wire  _T_544; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@60436.6]
+  wire  _T_546; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60438.6]
+  wire  _T_547; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60439.6]
+  wire  _T_548; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@60444.6]
+  wire  _T_550; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60446.6]
+  wire  _T_551; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60447.6]
+  wire  _T_553; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@60454.4]
+  wire  _T_554; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@60462.4]
+  wire [12:0] _T_556; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@60464.4]
+  wire [5:0] _T_557; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@60465.4]
+  wire [5:0] _T_558; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@60466.4]
+  wire [3:0] _T_559; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@60467.4]
+  wire  _T_560; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@60468.4]
+  reg [3:0] _T_563; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@60470.4]
+  reg [31:0] _RAND_6;
+  wire [4:0] _T_564; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60471.4]
+  wire [4:0] _T_565; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60472.4]
+  wire [3:0] _T_566; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60473.4]
+  wire  _T_567; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@60474.4]
+  reg [2:0] _T_576; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@60485.4]
+  reg [31:0] _RAND_7;
+  reg [2:0] _T_580; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@60487.4]
+  reg [31:0] _RAND_8;
+  reg  _T_582; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@60488.4]
+  reg [31:0] _RAND_9;
+  wire  _T_587; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@60491.4]
+  wire  _T_588; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@60492.4]
+  wire  _T_589; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@60494.6]
+  wire  _T_591; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60496.6]
+  wire  _T_592; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60497.6]
+  wire  _T_597; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@60510.6]
+  wire  _T_599; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60512.6]
+  wire  _T_600; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60513.6]
+  wire  _T_601; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@60518.6]
+  wire  _T_603; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60520.6]
+  wire  _T_604; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60521.6]
+  wire  _T_614; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@60544.4]
+  reg [1:0] _T_616; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@60553.4]
+  reg [31:0] _RAND_10;
+  reg [3:0] _T_627; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@60563.4]
+  reg [31:0] _RAND_11;
+  wire [4:0] _T_628; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60564.4]
+  wire [4:0] _T_629; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60565.4]
+  wire [3:0] _T_630; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60566.4]
+  wire  _T_631; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@60567.4]
+  reg [3:0] _T_648; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@60586.4]
+  reg [31:0] _RAND_12;
+  wire [4:0] _T_649; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60587.4]
+  wire [4:0] _T_650; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60588.4]
+  wire [3:0] _T_651; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60589.4]
+  wire  _T_652; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@60590.4]
+  wire  _T_663; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@60605.4]
+  wire [1:0] _T_665; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@60608.6]
+  wire [1:0] _T_666; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@60610.6]
+  wire  _T_667; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@60611.6]
+  wire  _T_668; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60612.6]
+  wire  _T_670; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@60614.6]
+  wire  _T_671; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@60615.6]
+  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@60607.4]
+  wire  _T_676; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@60626.4]
+  wire  _T_678; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@60628.4]
+  wire  _T_679; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@60629.4]
+  wire [1:0] _T_680; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@60631.6]
+  wire [1:0] _T_681; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@60633.6]
+  wire [1:0] _T_682; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@60634.6]
+  wire  _T_683; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@60635.6]
+  wire  _T_685; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@60637.6]
+  wire  _T_686; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@60638.6]
+  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@60630.4]
+  wire [1:0] _T_687; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@60644.4]
+  wire [1:0] _T_688; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@60645.4]
+  wire [1:0] _T_689; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@60646.4]
+  reg [31:0] _T_691; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@60648.4]
+  reg [31:0] _RAND_13;
+  wire  _T_692; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@60651.4]
+  wire  _T_693; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@60652.4]
+  wire  _T_694; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@60653.4]
+  wire  _T_695; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@60654.4]
+  wire  _T_696; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@60655.4]
+  wire  _T_697; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@60656.4]
+  wire  _T_699; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@60658.4]
+  wire  _T_700; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@60659.4]
+  wire [31:0] _T_702; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@60665.4]
+  wire  _T_705; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@60669.4]
+  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59627.10]
+  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59699.10]
+  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59782.10]
+  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59841.10]
+  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59892.10]
+  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59942.10]
+  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59990.10]
+  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60038.10]
+  wire  _GEN_115; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60096.10]
+  wire  _GEN_119; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60138.10]
+  wire  _GEN_125; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60196.10]
+  wire  _GEN_131; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60255.10]
+  wire  _GEN_133; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60290.10]
+  wire  _GEN_135; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60326.10]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@60649.4]
+    .out(plusarg_reader_out)
+  );
+  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@59544.6]
+  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@59549.6]
+  assign _T_32 = 13'h3f << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@59551.6]
+  assign _T_33 = _T_32[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@59552.6]
+  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@59553.6]
+  assign _GEN_18 = {{23'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@59554.6]
+  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@59554.6]
+  assign _T_36 = _T_35 == 29'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@59555.6]
+  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@59557.6]
+  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@59558.6]
+  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@59560.6]
+  assign _T_42 = io_in_a_bits_size >= 3'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@59561.6]
+  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@59562.6]
+  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@59563.6]
+  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@59564.6]
+  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@59566.6]
+  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@59567.6]
+  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@59569.6]
+  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@59570.6]
+  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@59571.6]
+  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@59572.6]
+  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@59573.6]
+  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@59574.6]
+  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@59575.6]
+  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@59576.6]
+  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@59577.6]
+  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@59578.6]
+  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@59579.6]
+  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@59580.6]
+  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@59581.6]
+  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@59582.6]
+  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@59583.6]
+  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@59584.6]
+  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@59585.6]
+  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@59586.6]
+  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@59587.6]
+  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@59588.6]
+  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@59613.6]
+  assign _T_92 = io_in_a_bits_address ^ 29'h10023000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@59616.8]
+  assign _T_93 = {1'b0,$signed(_T_92)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@59617.8]
+  assign _T_94 = $signed(_T_93) & $signed(-30'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@59618.8]
+  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@59619.8]
+  assign _T_96 = $signed(_T_95) == $signed(30'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@59620.8]
+  assign _T_101 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59625.8]
+  assign _T_106 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59638.8]
+  assign _T_107 = _T_106 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59639.8]
+  assign _T_110 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59646.8]
+  assign _T_111 = _T_110 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59647.8]
+  assign _T_113 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59653.8]
+  assign _T_114 = _T_113 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59654.8]
+  assign _T_115 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@59659.8]
+  assign _T_117 = _T_115 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59661.8]
+  assign _T_118 = _T_117 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59662.8]
+  assign _T_119 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@59667.8]
+  assign _T_120 = _T_119 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59668.8]
+  assign _T_122 = _T_120 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59670.8]
+  assign _T_123 = _T_122 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59671.8]
+  assign _T_124 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@59676.8]
+  assign _T_126 = _T_124 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59678.8]
+  assign _T_127 = _T_126 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59679.8]
+  assign _T_128 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@59685.6]
+  assign _T_157 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59739.8]
+  assign _T_159 = _T_157 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59741.8]
+  assign _T_160 = _T_159 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59742.8]
+  assign _T_170 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@59765.6]
+  assign _T_172 = io_in_a_bits_size <= 3'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@59768.8]
+  assign _T_180 = _T_172 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@59776.8]
+  assign _T_183 = _T_180 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59779.8]
+  assign _T_184 = _T_183 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59780.8]
+  assign _T_191 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59799.8]
+  assign _T_193 = _T_191 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59801.8]
+  assign _T_194 = _T_193 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59802.8]
+  assign _T_195 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@59807.8]
+  assign _T_197 = _T_195 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59809.8]
+  assign _T_198 = _T_197 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59810.8]
+  assign _T_203 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@59824.6]
+  assign _T_232 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@59875.6]
+  assign _T_257 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@59917.8]
+  assign _T_258 = io_in_a_bits_mask & _T_257; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59918.8]
+  assign _T_259 = _T_258 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@59919.8]
+  assign _T_261 = _T_259 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59921.8]
+  assign _T_262 = _T_261 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59922.8]
+  assign _T_263 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@59928.6]
+  assign _T_281 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@59959.8]
+  assign _T_283 = _T_281 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59961.8]
+  assign _T_284 = _T_283 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59962.8]
+  assign _T_289 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@59976.6]
+  assign _T_307 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@60007.8]
+  assign _T_309 = _T_307 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60009.8]
+  assign _T_310 = _T_309 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60010.8]
+  assign _T_315 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@60024.6]
+  assign _T_341 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@60074.6]
+  assign _T_343 = _T_341 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@60076.6]
+  assign _T_344 = _T_343 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@60077.6]
+  assign _T_346 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@60083.6]
+  assign _T_355 = io_in_d_bits_source | _T_346; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@60088.6]
+  assign _T_357 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@60090.6]
+  assign _T_359 = _T_355 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60093.8]
+  assign _T_360 = _T_359 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60094.8]
+  assign _T_361 = io_in_d_bits_size >= 3'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@60099.8]
+  assign _T_363 = _T_361 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60101.8]
+  assign _T_364 = _T_363 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60102.8]
+  assign _T_377 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@60132.6]
+  assign _T_405 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@60190.6]
+  assign _T_434 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@60249.6]
+  assign _T_451 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@60284.6]
+  assign _T_469 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@60320.6]
+  assign _T_498 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@60380.4]
+  assign _T_503 = _T_34[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@60385.4]
+  assign _T_504 = io_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@60386.4]
+  assign _T_505 = _T_504 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60387.4]
+  assign _T_509 = _T_508 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60390.4]
+  assign _T_510 = $unsigned(_T_509); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60391.4]
+  assign _T_511 = _T_510[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60392.4]
+  assign _T_512 = _T_508 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@60393.4]
+  assign _T_530 = _T_512 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@60409.4]
+  assign _T_531 = io_in_a_valid & _T_530; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@60410.4]
+  assign _T_532 = io_in_a_bits_opcode == _T_521; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@60412.6]
+  assign _T_534 = _T_532 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60414.6]
+  assign _T_535 = _T_534 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60415.6]
+  assign _T_536 = io_in_a_bits_param == _T_523; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@60420.6]
+  assign _T_538 = _T_536 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60422.6]
+  assign _T_539 = _T_538 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60423.6]
+  assign _T_540 = io_in_a_bits_size == _T_525; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@60428.6]
+  assign _T_542 = _T_540 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60430.6]
+  assign _T_543 = _T_542 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60431.6]
+  assign _T_544 = io_in_a_bits_source == _T_527; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@60436.6]
+  assign _T_546 = _T_544 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60438.6]
+  assign _T_547 = _T_546 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60439.6]
+  assign _T_548 = io_in_a_bits_address == _T_529; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@60444.6]
+  assign _T_550 = _T_548 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60446.6]
+  assign _T_551 = _T_550 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60447.6]
+  assign _T_553 = _T_498 & _T_512; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@60454.4]
+  assign _T_554 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@60462.4]
+  assign _T_556 = 13'h3f << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@60464.4]
+  assign _T_557 = _T_556[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@60465.4]
+  assign _T_558 = ~ _T_557; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@60466.4]
+  assign _T_559 = _T_558[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@60467.4]
+  assign _T_560 = io_in_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@60468.4]
+  assign _T_564 = _T_563 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60471.4]
+  assign _T_565 = $unsigned(_T_564); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60472.4]
+  assign _T_566 = _T_565[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60473.4]
+  assign _T_567 = _T_563 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@60474.4]
+  assign _T_587 = _T_567 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@60491.4]
+  assign _T_588 = io_in_d_valid & _T_587; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@60492.4]
+  assign _T_589 = io_in_d_bits_opcode == _T_576; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@60494.6]
+  assign _T_591 = _T_589 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60496.6]
+  assign _T_592 = _T_591 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60497.6]
+  assign _T_597 = io_in_d_bits_size == _T_580; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@60510.6]
+  assign _T_599 = _T_597 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60512.6]
+  assign _T_600 = _T_599 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60513.6]
+  assign _T_601 = io_in_d_bits_source == _T_582; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@60518.6]
+  assign _T_603 = _T_601 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60520.6]
+  assign _T_604 = _T_603 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60521.6]
+  assign _T_614 = _T_554 & _T_567; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@60544.4]
+  assign _T_628 = _T_627 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60564.4]
+  assign _T_629 = $unsigned(_T_628); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60565.4]
+  assign _T_630 = _T_629[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60566.4]
+  assign _T_631 = _T_627 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@60567.4]
+  assign _T_649 = _T_648 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60587.4]
+  assign _T_650 = $unsigned(_T_649); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60588.4]
+  assign _T_651 = _T_650[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60589.4]
+  assign _T_652 = _T_648 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@60590.4]
+  assign _T_663 = _T_498 & _T_631; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@60605.4]
+  assign _T_665 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@60608.6]
+  assign _T_666 = _T_616 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@60610.6]
+  assign _T_667 = _T_666[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@60611.6]
+  assign _T_668 = _T_667 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60612.6]
+  assign _T_670 = _T_668 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@60614.6]
+  assign _T_671 = _T_670 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@60615.6]
+  assign _GEN_15 = _T_663 ? _T_665 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@60607.4]
+  assign _T_676 = _T_554 & _T_652; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@60626.4]
+  assign _T_678 = _T_357 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@60628.4]
+  assign _T_679 = _T_676 & _T_678; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@60629.4]
+  assign _T_680 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@60631.6]
+  assign _T_681 = _GEN_15 | _T_616; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@60633.6]
+  assign _T_682 = _T_681 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@60634.6]
+  assign _T_683 = _T_682[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@60635.6]
+  assign _T_685 = _T_683 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@60637.6]
+  assign _T_686 = _T_685 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@60638.6]
+  assign _GEN_16 = _T_679 ? _T_680 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@60630.4]
+  assign _T_687 = _T_616 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@60644.4]
+  assign _T_688 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@60645.4]
+  assign _T_689 = _T_687 & _T_688; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@60646.4]
+  assign _T_692 = _T_616 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@60651.4]
+  assign _T_693 = _T_692 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@60652.4]
+  assign _T_694 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@60653.4]
+  assign _T_695 = _T_693 | _T_694; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@60654.4]
+  assign _T_696 = _T_691 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@60655.4]
+  assign _T_697 = _T_695 | _T_696; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@60656.4]
+  assign _T_699 = _T_697 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@60658.4]
+  assign _T_700 = _T_699 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@60659.4]
+  assign _T_702 = _T_691 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@60665.4]
+  assign _T_705 = _T_498 | _T_554; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@60669.4]
+  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59627.10]
+  assign _GEN_35 = io_in_a_valid & _T_128; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59699.10]
+  assign _GEN_53 = io_in_a_valid & _T_170; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59782.10]
+  assign _GEN_65 = io_in_a_valid & _T_203; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59841.10]
+  assign _GEN_75 = io_in_a_valid & _T_232; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59892.10]
+  assign _GEN_85 = io_in_a_valid & _T_263; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59942.10]
+  assign _GEN_95 = io_in_a_valid & _T_289; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59990.10]
+  assign _GEN_105 = io_in_a_valid & _T_315; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60038.10]
+  assign _GEN_115 = io_in_d_valid & _T_357; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60096.10]
+  assign _GEN_119 = io_in_d_valid & _T_377; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60138.10]
+  assign _GEN_125 = io_in_d_valid & _T_405; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60196.10]
+  assign _GEN_131 = io_in_d_valid & _T_434; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60255.10]
+  assign _GEN_133 = io_in_d_valid & _T_451; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60290.10]
+  assign _GEN_135 = io_in_d_valid & _T_469; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60326.10]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  _T_508 = _RAND_0[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  _T_521 = _RAND_1[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  _T_523 = _RAND_2[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  _T_525 = _RAND_3[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  _T_527 = _RAND_4[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  _T_529 = _RAND_5[28:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {1{`RANDOM}};
+  _T_563 = _RAND_6[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {1{`RANDOM}};
+  _T_576 = _RAND_7[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_8 = {1{`RANDOM}};
+  _T_580 = _RAND_8[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_9 = {1{`RANDOM}};
+  _T_582 = _RAND_9[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_10 = {1{`RANDOM}};
+  _T_616 = _RAND_10[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_11 = {1{`RANDOM}};
+  _T_627 = _RAND_11[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_12 = {1{`RANDOM}};
+  _T_648 = _RAND_12[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_13 = {1{`RANDOM}};
+  _T_691 = _RAND_13[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      _T_508 <= 4'h0;
+    end else begin
+      if (_T_498) begin
+        if (_T_512) begin
+          if (_T_505) begin
+            _T_508 <= _T_503;
+          end else begin
+            _T_508 <= 4'h0;
+          end
+        end else begin
+          _T_508 <= _T_511;
+        end
+      end
+    end
+    if (_T_553) begin
+      _T_521 <= io_in_a_bits_opcode;
+    end
+    if (_T_553) begin
+      _T_523 <= io_in_a_bits_param;
+    end
+    if (_T_553) begin
+      _T_525 <= io_in_a_bits_size;
+    end
+    if (_T_553) begin
+      _T_527 <= io_in_a_bits_source;
+    end
+    if (_T_553) begin
+      _T_529 <= io_in_a_bits_address;
+    end
+    if (reset) begin
+      _T_563 <= 4'h0;
+    end else begin
+      if (_T_554) begin
+        if (_T_567) begin
+          if (_T_560) begin
+            _T_563 <= _T_559;
+          end else begin
+            _T_563 <= 4'h0;
+          end
+        end else begin
+          _T_563 <= _T_566;
+        end
+      end
+    end
+    if (_T_614) begin
+      _T_576 <= io_in_d_bits_opcode;
+    end
+    if (_T_614) begin
+      _T_580 <= io_in_d_bits_size;
+    end
+    if (_T_614) begin
+      _T_582 <= io_in_d_bits_source;
+    end
+    if (reset) begin
+      _T_616 <= 2'h0;
+    end else begin
+      _T_616 <= _T_689;
+    end
+    if (reset) begin
+      _T_627 <= 4'h0;
+    end else begin
+      if (_T_498) begin
+        if (_T_631) begin
+          if (_T_505) begin
+            _T_627 <= _T_503;
+          end else begin
+            _T_627 <= 4'h0;
+          end
+        end else begin
+          _T_627 <= _T_630;
+        end
+      end
+    end
+    if (reset) begin
+      _T_648 <= 4'h0;
+    end else begin
+      if (_T_554) begin
+        if (_T_652) begin
+          if (_T_560) begin
+            _T_648 <= _T_559;
+          end else begin
+            _T_648 <= 4'h0;
+          end
+        end else begin
+          _T_648 <= _T_651;
+        end
+      end
+    end
+    if (reset) begin
+      _T_691 <= 32'h0;
+    end else begin
+      if (_T_705) begin
+        _T_691 <= 32'h0;
+      end else begin
+        _T_691 <= _T_702;
+      end
+    end
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at UART.scala:157:94)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@59540.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@59541.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@59610.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@59611.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at UART.scala:157:94)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59627.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_101) begin
+          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59628.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at UART.scala:157:94)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59634.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_101) begin
+          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59635.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59641.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_107) begin
+          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59642.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_111) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at UART.scala:157:94)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59649.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_111) begin
+          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59650.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at UART.scala:157:94)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59656.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_114) begin
+          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59657.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_118) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at UART.scala:157:94)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59664.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_118) begin
+          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59665.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_123) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at UART.scala:157:94)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59673.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_123) begin
+          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59674.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_127) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at UART.scala:157:94)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59681.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_127) begin
+          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59682.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at UART.scala:157:94)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59699.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_101) begin
+          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59700.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at UART.scala:157:94)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59706.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_101) begin
+          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59707.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59713.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_107) begin
+          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59714.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_111) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at UART.scala:157:94)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59721.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_111) begin
+          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59722.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at UART.scala:157:94)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59728.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_114) begin
+          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59729.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_118) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at UART.scala:157:94)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59736.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_118) begin
+          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59737.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_160) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at UART.scala:157:94)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59744.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_160) begin
+          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59745.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_123) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at UART.scala:157:94)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59753.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_123) begin
+          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59754.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_127) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at UART.scala:157:94)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59761.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_127) begin
+          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59762.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_184) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at UART.scala:157:94)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59782.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_184) begin
+          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59783.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59789.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_107) begin
+          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59790.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at UART.scala:157:94)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59796.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_114) begin
+          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59797.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_194) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at UART.scala:157:94)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59804.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_194) begin
+          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59805.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_198) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at UART.scala:157:94)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59812.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_198) begin
+          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59813.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_127) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at UART.scala:157:94)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59820.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_127) begin
+          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59821.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_184) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at UART.scala:157:94)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59841.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_184) begin
+          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59842.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59848.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_107) begin
+          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59849.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at UART.scala:157:94)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59855.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_114) begin
+          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59856.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_194) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at UART.scala:157:94)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59863.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_194) begin
+          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59864.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_198) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at UART.scala:157:94)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59871.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_198) begin
+          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59872.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_184) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at UART.scala:157:94)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59892.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_184) begin
+          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59893.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59899.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_107) begin
+          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59900.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at UART.scala:157:94)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59906.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_114) begin
+          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59907.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_194) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at UART.scala:157:94)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59914.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_194) begin
+          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59915.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_262) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at UART.scala:157:94)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59924.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_262) begin
+          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59925.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at UART.scala:157:94)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59942.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_101) begin
+          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59943.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59949.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_107) begin
+          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59950.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at UART.scala:157:94)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59956.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_114) begin
+          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59957.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_284) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at UART.scala:157:94)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59964.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_284) begin
+          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59965.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_198) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at UART.scala:157:94)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59972.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_198) begin
+          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59973.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at UART.scala:157:94)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59990.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_101) begin
+          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59991.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59997.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_107) begin
+          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59998.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at UART.scala:157:94)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60004.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_114) begin
+          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60005.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_310) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at UART.scala:157:94)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60012.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_310) begin
+          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60013.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_198) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at UART.scala:157:94)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60020.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_198) begin
+          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60021.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at UART.scala:157:94)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60038.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_101) begin
+          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60039.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60045.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_107) begin
+          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60046.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at UART.scala:157:94)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60052.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_114) begin
+          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60053.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_198) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at UART.scala:157:94)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60060.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_198) begin
+          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60061.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_127) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at UART.scala:157:94)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60068.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_127) begin
+          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60069.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_344) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at UART.scala:157:94)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@60079.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_344) begin
+          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@60080.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_360) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60096.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_360) begin
+          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60097.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_364) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at UART.scala:157:94)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60104.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_364) begin
+          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60105.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at UART.scala:157:94)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60112.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60113.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at UART.scala:157:94)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60120.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60121.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at UART.scala:157:94)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60128.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60129.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_119 & _T_360) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60138.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_119 & _T_360) begin
+          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60139.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_119 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at UART.scala:157:94)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60145.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_119 & _T_101) begin
+          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60146.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_119 & _T_364) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at UART.scala:157:94)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60153.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_119 & _T_364) begin
+          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60154.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at UART.scala:157:94)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60161.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60162.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at UART.scala:157:94)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60169.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60170.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at UART.scala:157:94)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60177.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60178.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at UART.scala:157:94)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60186.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60187.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_360) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60196.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_360) begin
+          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60197.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at UART.scala:157:94)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60203.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_101) begin
+          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60204.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_364) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at UART.scala:157:94)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60211.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_364) begin
+          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60212.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at UART.scala:157:94)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60219.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60220.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at UART.scala:157:94)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60227.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60228.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at UART.scala:157:94)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60236.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60237.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at UART.scala:157:94)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60245.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60246.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_131 & _T_360) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60255.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_131 & _T_360) begin
+          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60256.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at UART.scala:157:94)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60263.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60264.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at UART.scala:157:94)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60271.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60272.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at UART.scala:157:94)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60280.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60281.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_133 & _T_360) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60290.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_133 & _T_360) begin
+          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60291.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at UART.scala:157:94)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60298.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60299.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at UART.scala:157:94)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60307.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60308.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at UART.scala:157:94)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60316.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60317.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_135 & _T_360) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60326.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_135 & _T_360) begin
+          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60327.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at UART.scala:157:94)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60334.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60335.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at UART.scala:157:94)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60342.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60343.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at UART.scala:157:94)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60351.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60352.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at UART.scala:157:94)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60361.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60362.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at UART.scala:157:94)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60369.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60370.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at UART.scala:157:94)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60377.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60378.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_531 & _T_535) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at UART.scala:157:94)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60417.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_531 & _T_535) begin
+          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60418.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_531 & _T_539) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at UART.scala:157:94)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60425.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_531 & _T_539) begin
+          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60426.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_531 & _T_543) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at UART.scala:157:94)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60433.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_531 & _T_543) begin
+          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60434.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_531 & _T_547) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at UART.scala:157:94)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60441.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_531 & _T_547) begin
+          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60442.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_531 & _T_551) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at UART.scala:157:94)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60449.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_531 & _T_551) begin
+          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60450.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_588 & _T_592) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at UART.scala:157:94)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60499.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_588 & _T_592) begin
+          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60500.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at UART.scala:157:94)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60507.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60508.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_588 & _T_600) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at UART.scala:157:94)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60515.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_588 & _T_600) begin
+          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60516.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_588 & _T_604) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at UART.scala:157:94)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60523.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_588 & _T_604) begin
+          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60524.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at UART.scala:157:94)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60531.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60532.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at UART.scala:157:94)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60539.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60540.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_663 & _T_671) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at UART.scala:157:94)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@60617.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_663 & _T_671) begin
+          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@60618.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_679 & _T_686) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at UART.scala:157:94)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@60640.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_679 & _T_686) begin
+          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@60641.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_700) begin
+          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at UART.scala:157:94)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@60661.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_700) begin
+          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@60662.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+endmodule
+module TLFragmenter_6( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60705.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60706.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60707.4]
+  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60708.4]
+  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60708.4]
+  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60708.4]
+  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60708.4]
+  input  [2:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60708.4]
+  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60708.4]
+  input  [28:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60708.4]
+  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60708.4]
+  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60708.4]
+  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60708.4]
+  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60708.4]
+  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60708.4]
+  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60708.4]
+  output [2:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60708.4]
+  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60708.4]
+  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60708.4]
+  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60708.4]
+  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60708.4]
+  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60708.4]
+  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60708.4]
+  output [1:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60708.4]
+  output [5:0]  auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60708.4]
+  output [28:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60708.4]
+  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60708.4]
+  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60708.4]
+  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60708.4]
+  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60708.4]
+  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60708.4]
+  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60708.4]
+  input  [1:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60708.4]
+  input  [5:0]  auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60708.4]
+  input  [31:0] auto_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60708.4]
+);
+  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@60715.4]
+  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@60715.4]
+  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@60715.4]
+  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@60715.4]
+  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@60715.4]
+  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@60715.4]
+  wire [2:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@60715.4]
+  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@60715.4]
+  wire [28:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@60715.4]
+  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@60715.4]
+  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@60715.4]
+  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@60715.4]
+  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@60715.4]
+  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@60715.4]
+  wire [2:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@60715.4]
+  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@60715.4]
+  wire  Repeater_clock; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60832.4]
+  wire  Repeater_reset; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60832.4]
+  wire  Repeater_io_repeat; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60832.4]
+  wire  Repeater_io_full; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60832.4]
+  wire  Repeater_io_enq_ready; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60832.4]
+  wire  Repeater_io_enq_valid; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60832.4]
+  wire [2:0] Repeater_io_enq_bits_opcode; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60832.4]
+  wire [2:0] Repeater_io_enq_bits_param; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60832.4]
+  wire [2:0] Repeater_io_enq_bits_size; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60832.4]
+  wire  Repeater_io_enq_bits_source; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60832.4]
+  wire [28:0] Repeater_io_enq_bits_address; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60832.4]
+  wire [3:0] Repeater_io_enq_bits_mask; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60832.4]
+  wire  Repeater_io_enq_bits_corrupt; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60832.4]
+  wire  Repeater_io_deq_ready; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60832.4]
+  wire  Repeater_io_deq_valid; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60832.4]
+  wire [2:0] Repeater_io_deq_bits_opcode; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60832.4]
+  wire [2:0] Repeater_io_deq_bits_param; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60832.4]
+  wire [2:0] Repeater_io_deq_bits_size; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60832.4]
+  wire  Repeater_io_deq_bits_source; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60832.4]
+  wire [28:0] Repeater_io_deq_bits_address; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60832.4]
+  wire [3:0] Repeater_io_deq_bits_mask; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60832.4]
+  wire  Repeater_io_deq_bits_corrupt; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60832.4]
+  reg [3:0] _T_244; // @[Fragmenter.scala 167:27:shc.marmotcaravel.MarmotCaravelConfig.fir@60756.4]
+  reg [31:0] _RAND_0;
+  reg [2:0] _T_246; // @[Fragmenter.scala 168:22:shc.marmotcaravel.MarmotCaravelConfig.fir@60757.4]
+  reg [31:0] _RAND_1;
+  reg  _T_248; // @[Fragmenter.scala 169:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60758.4]
+  reg [31:0] _RAND_2;
+  wire [3:0] _T_249; // @[Fragmenter.scala 170:39:shc.marmotcaravel.MarmotCaravelConfig.fir@60759.4]
+  wire  _T_250; // @[Fragmenter.scala 171:27:shc.marmotcaravel.MarmotCaravelConfig.fir@60760.4]
+  wire  _T_251; // @[Fragmenter.scala 172:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60761.4]
+  wire [3:0] _T_253; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@60763.4]
+  wire [2:0] _T_254; // @[OneHot.scala 52:27:shc.marmotcaravel.MarmotCaravelConfig.fir@60764.4]
+  wire [4:0] _T_256; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@60766.4]
+  wire [1:0] _T_257; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@60767.4]
+  wire [1:0] _T_258; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@60768.4]
+  wire  _T_259; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@60769.4]
+  wire  _T_271; // @[Fragmenter.scala 182:58:shc.marmotcaravel.MarmotCaravelConfig.fir@60785.4]
+  wire  _T_272; // @[Fragmenter.scala 182:30:shc.marmotcaravel.MarmotCaravelConfig.fir@60786.4]
+  wire [5:0] _GEN_7; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@60787.4]
+  wire [5:0] _T_273; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@60787.4]
+  wire [5:0] _GEN_8; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@60788.4]
+  wire [5:0] _T_274; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@60788.4]
+  wire [6:0] _GEN_9; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@60789.4]
+  wire [6:0] _T_275; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@60789.4]
+  wire [6:0] _T_276; // @[package.scala 183:40:shc.marmotcaravel.MarmotCaravelConfig.fir@60790.4]
+  wire [6:0] _T_277; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@60791.4]
+  wire [6:0] _T_278; // @[package.scala 183:53:shc.marmotcaravel.MarmotCaravelConfig.fir@60792.4]
+  wire [6:0] _T_279; // @[package.scala 183:51:shc.marmotcaravel.MarmotCaravelConfig.fir@60793.4]
+  wire [2:0] _T_280; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@60794.4]
+  wire [3:0] _T_281; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@60795.4]
+  wire  _T_282; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60796.4]
+  wire [3:0] _GEN_10; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60797.4]
+  wire [3:0] _T_283; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60797.4]
+  wire [1:0] _T_284; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@60798.4]
+  wire [1:0] _T_285; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@60799.4]
+  wire  _T_286; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60800.4]
+  wire [1:0] _T_287; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60801.4]
+  wire  _T_288; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@60802.4]
+  wire [1:0] _T_289; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@60803.4]
+  wire [2:0] _T_290; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@60804.4]
+  wire  _T_297; // @[Fragmenter.scala 200:18:shc.marmotcaravel.MarmotCaravelConfig.fir@60818.4]
+  wire  _T_299; // @[Fragmenter.scala 200:31:shc.marmotcaravel.MarmotCaravelConfig.fir@60820.4]
+  wire  _T_300; // @[Fragmenter.scala 200:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60821.4]
+  wire  _T_301; // @[Fragmenter.scala 201:33:shc.marmotcaravel.MarmotCaravelConfig.fir@60822.4]
+  wire  _T_291; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@60805.4]
+  wire [3:0] _GEN_11; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@60807.6]
+  wire [4:0] _T_292; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@60807.6]
+  wire [4:0] _T_293; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@60808.6]
+  wire [3:0] _T_294; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@60809.6]
+  wire  _T_296; // @[Fragmenter.scala 190:39:shc.marmotcaravel.MarmotCaravelConfig.fir@60814.8]
+  wire  _T_302; // @[Fragmenter.scala 202:37:shc.marmotcaravel.MarmotCaravelConfig.fir@60824.4]
+  wire  _T_330; // @[Fragmenter.scala 262:29:shc.marmotcaravel.MarmotCaravelConfig.fir@60857.4]
+  wire [2:0] _T_331; // @[Fragmenter.scala 262:22:shc.marmotcaravel.MarmotCaravelConfig.fir@60858.4]
+  wire [12:0] _T_333; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@60860.4]
+  wire [5:0] _T_334; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@60861.4]
+  wire [5:0] _T_335; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@60862.4]
+  wire [8:0] _T_337; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@60864.4]
+  wire [1:0] _T_338; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@60865.4]
+  wire [1:0] _T_339; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@60866.4]
+  wire  _T_340; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@60867.4]
+  wire  _T_341; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60868.4]
+  reg [3:0] _T_344; // @[Fragmenter.scala 268:27:shc.marmotcaravel.MarmotCaravelConfig.fir@60870.4]
+  reg [31:0] _RAND_3;
+  wire  _T_345; // @[Fragmenter.scala 269:27:shc.marmotcaravel.MarmotCaravelConfig.fir@60871.4]
+  wire [3:0] _T_346; // @[Fragmenter.scala 270:46:shc.marmotcaravel.MarmotCaravelConfig.fir@60872.4]
+  wire [4:0] _T_347; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@60873.4]
+  wire [4:0] _T_348; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@60874.4]
+  wire [3:0] _T_349; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@60875.4]
+  wire [3:0] _T_350; // @[Fragmenter.scala 270:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60876.4]
+  wire [3:0] _T_351; // @[Fragmenter.scala 271:26:shc.marmotcaravel.MarmotCaravelConfig.fir@60877.4]
+  wire [3:0] _T_354; // @[Fragmenter.scala 271:24:shc.marmotcaravel.MarmotCaravelConfig.fir@60880.4]
+  reg  _T_362; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@60887.4]
+  reg [31:0] _RAND_4;
+  wire  _GEN_5; // @[Reg.scala 12:19:shc.marmotcaravel.MarmotCaravelConfig.fir@60888.4]
+  wire  _T_364; // @[Fragmenter.scala 274:21:shc.marmotcaravel.MarmotCaravelConfig.fir@60892.4]
+  wire  _T_92_a_valid; // @[Nodes.scala 332:76:shc.marmotcaravel.MarmotCaravelConfig.fir@60752.4 Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@60901.4]
+  wire  _T_365; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@60893.4]
+  wire  _T_366; // @[Fragmenter.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@60897.4]
+  wire  _T_367; // @[Fragmenter.scala 279:51:shc.marmotcaravel.MarmotCaravelConfig.fir@60898.4]
+  wire [5:0] _GEN_12; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@60902.4]
+  wire [5:0] _T_369; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@60902.4]
+  wire [5:0] _T_370; // @[Fragmenter.scala 281:88:shc.marmotcaravel.MarmotCaravelConfig.fir@60903.4]
+  wire [5:0] _T_371; // @[Fragmenter.scala 281:86:shc.marmotcaravel.MarmotCaravelConfig.fir@60904.4]
+  wire [5:0] _GEN_13; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@60905.4]
+  wire [5:0] _T_372; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@60905.4]
+  wire [5:0] _T_373; // @[Fragmenter.scala 281:109:shc.marmotcaravel.MarmotCaravelConfig.fir@60906.4]
+  wire [5:0] _T_374; // @[Fragmenter.scala 281:49:shc.marmotcaravel.MarmotCaravelConfig.fir@60907.4]
+  wire [28:0] _GEN_14; // @[Fragmenter.scala 281:47:shc.marmotcaravel.MarmotCaravelConfig.fir@60908.4]
+  wire [1:0] _T_376; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@60910.4]
+  wire  _T_378; // @[Fragmenter.scala 286:15:shc.marmotcaravel.MarmotCaravelConfig.fir@60914.4]
+  wire  _T_380; // @[Fragmenter.scala 286:33:shc.marmotcaravel.MarmotCaravelConfig.fir@60916.4]
+  wire  _T_382; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60918.4]
+  wire  _T_383; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60919.4]
+  wire  _T_385; // @[Fragmenter.scala 289:51:shc.marmotcaravel.MarmotCaravelConfig.fir@60926.4]
+  wire  _T_386; // @[Fragmenter.scala 289:33:shc.marmotcaravel.MarmotCaravelConfig.fir@60927.4]
+  wire  _T_388; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60929.4]
+  wire  _T_389; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60930.4]
+  TLMonitor_33 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@60715.4]
+    .clock(TLMonitor_clock),
+    .reset(TLMonitor_reset),
+    .io_in_a_ready(TLMonitor_io_in_a_ready),
+    .io_in_a_valid(TLMonitor_io_in_a_valid),
+    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
+    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
+    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
+    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
+    .io_in_d_ready(TLMonitor_io_in_d_ready),
+    .io_in_d_valid(TLMonitor_io_in_d_valid),
+    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
+    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
+    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source)
+  );
+  Repeater_4 Repeater ( // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60832.4]
+    .clock(Repeater_clock),
+    .reset(Repeater_reset),
+    .io_repeat(Repeater_io_repeat),
+    .io_full(Repeater_io_full),
+    .io_enq_ready(Repeater_io_enq_ready),
+    .io_enq_valid(Repeater_io_enq_valid),
+    .io_enq_bits_opcode(Repeater_io_enq_bits_opcode),
+    .io_enq_bits_param(Repeater_io_enq_bits_param),
+    .io_enq_bits_size(Repeater_io_enq_bits_size),
+    .io_enq_bits_source(Repeater_io_enq_bits_source),
+    .io_enq_bits_address(Repeater_io_enq_bits_address),
+    .io_enq_bits_mask(Repeater_io_enq_bits_mask),
+    .io_enq_bits_corrupt(Repeater_io_enq_bits_corrupt),
+    .io_deq_ready(Repeater_io_deq_ready),
+    .io_deq_valid(Repeater_io_deq_valid),
+    .io_deq_bits_opcode(Repeater_io_deq_bits_opcode),
+    .io_deq_bits_param(Repeater_io_deq_bits_param),
+    .io_deq_bits_size(Repeater_io_deq_bits_size),
+    .io_deq_bits_source(Repeater_io_deq_bits_source),
+    .io_deq_bits_address(Repeater_io_deq_bits_address),
+    .io_deq_bits_mask(Repeater_io_deq_bits_mask),
+    .io_deq_bits_corrupt(Repeater_io_deq_bits_corrupt)
+  );
+  assign _T_249 = auto_out_d_bits_source[3:0]; // @[Fragmenter.scala 170:39:shc.marmotcaravel.MarmotCaravelConfig.fir@60759.4]
+  assign _T_250 = _T_244 == 4'h0; // @[Fragmenter.scala 171:27:shc.marmotcaravel.MarmotCaravelConfig.fir@60760.4]
+  assign _T_251 = _T_249 == 4'h0; // @[Fragmenter.scala 172:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60761.4]
+  assign _T_253 = 4'h1 << auto_out_d_bits_size; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@60763.4]
+  assign _T_254 = _T_253[2:0]; // @[OneHot.scala 52:27:shc.marmotcaravel.MarmotCaravelConfig.fir@60764.4]
+  assign _T_256 = 5'h3 << auto_out_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@60766.4]
+  assign _T_257 = _T_256[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@60767.4]
+  assign _T_258 = ~ _T_257; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@60768.4]
+  assign _T_259 = auto_out_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@60769.4]
+  assign _T_271 = _T_254[2:2]; // @[Fragmenter.scala 182:58:shc.marmotcaravel.MarmotCaravelConfig.fir@60785.4]
+  assign _T_272 = _T_259 ? 1'h1 : _T_271; // @[Fragmenter.scala 182:30:shc.marmotcaravel.MarmotCaravelConfig.fir@60786.4]
+  assign _GEN_7 = {{2'd0}, _T_249}; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@60787.4]
+  assign _T_273 = _GEN_7 << 2; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@60787.4]
+  assign _GEN_8 = {{4'd0}, _T_258}; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@60788.4]
+  assign _T_274 = _T_273 | _GEN_8; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@60788.4]
+  assign _GEN_9 = {{1'd0}, _T_274}; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@60789.4]
+  assign _T_275 = _GEN_9 << 1; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@60789.4]
+  assign _T_276 = _T_275 | 7'h1; // @[package.scala 183:40:shc.marmotcaravel.MarmotCaravelConfig.fir@60790.4]
+  assign _T_277 = {1'h0,_T_274}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@60791.4]
+  assign _T_278 = ~ _T_277; // @[package.scala 183:53:shc.marmotcaravel.MarmotCaravelConfig.fir@60792.4]
+  assign _T_279 = _T_276 & _T_278; // @[package.scala 183:51:shc.marmotcaravel.MarmotCaravelConfig.fir@60793.4]
+  assign _T_280 = _T_279[6:4]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@60794.4]
+  assign _T_281 = _T_279[3:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@60795.4]
+  assign _T_282 = _T_280 != 3'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60796.4]
+  assign _GEN_10 = {{1'd0}, _T_280}; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60797.4]
+  assign _T_283 = _GEN_10 | _T_281; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60797.4]
+  assign _T_284 = _T_283[3:2]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@60798.4]
+  assign _T_285 = _T_283[1:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@60799.4]
+  assign _T_286 = _T_284 != 2'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60800.4]
+  assign _T_287 = _T_284 | _T_285; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60801.4]
+  assign _T_288 = _T_287[1]; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@60802.4]
+  assign _T_289 = {_T_286,_T_288}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@60803.4]
+  assign _T_290 = {_T_282,_T_289}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@60804.4]
+  assign _T_297 = _T_259 == 1'h0; // @[Fragmenter.scala 200:18:shc.marmotcaravel.MarmotCaravelConfig.fir@60818.4]
+  assign _T_299 = _T_251 == 1'h0; // @[Fragmenter.scala 200:31:shc.marmotcaravel.MarmotCaravelConfig.fir@60820.4]
+  assign _T_300 = _T_297 & _T_299; // @[Fragmenter.scala 200:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60821.4]
+  assign _T_301 = auto_in_d_ready | _T_300; // @[Fragmenter.scala 201:33:shc.marmotcaravel.MarmotCaravelConfig.fir@60822.4]
+  assign _T_291 = _T_301 & auto_out_d_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@60805.4]
+  assign _GEN_11 = {{3'd0}, _T_272}; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@60807.6]
+  assign _T_292 = _T_244 - _GEN_11; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@60807.6]
+  assign _T_293 = $unsigned(_T_292); // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@60808.6]
+  assign _T_294 = _T_293[3:0]; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@60809.6]
+  assign _T_296 = auto_out_d_bits_source[4]; // @[Fragmenter.scala 190:39:shc.marmotcaravel.MarmotCaravelConfig.fir@60814.8]
+  assign _T_302 = _T_300 == 1'h0; // @[Fragmenter.scala 202:37:shc.marmotcaravel.MarmotCaravelConfig.fir@60824.4]
+  assign _T_330 = Repeater_io_deq_bits_size > 3'h2; // @[Fragmenter.scala 262:29:shc.marmotcaravel.MarmotCaravelConfig.fir@60857.4]
+  assign _T_331 = _T_330 ? 3'h2 : Repeater_io_deq_bits_size; // @[Fragmenter.scala 262:22:shc.marmotcaravel.MarmotCaravelConfig.fir@60858.4]
+  assign _T_333 = 13'h3f << Repeater_io_deq_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@60860.4]
+  assign _T_334 = _T_333[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@60861.4]
+  assign _T_335 = ~ _T_334; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@60862.4]
+  assign _T_337 = 9'h3 << _T_331; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@60864.4]
+  assign _T_338 = _T_337[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@60865.4]
+  assign _T_339 = ~ _T_338; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@60866.4]
+  assign _T_340 = Repeater_io_deq_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@60867.4]
+  assign _T_341 = _T_340 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60868.4]
+  assign _T_345 = _T_344 == 4'h0; // @[Fragmenter.scala 269:27:shc.marmotcaravel.MarmotCaravelConfig.fir@60871.4]
+  assign _T_346 = _T_335[5:2]; // @[Fragmenter.scala 270:46:shc.marmotcaravel.MarmotCaravelConfig.fir@60872.4]
+  assign _T_347 = _T_344 - 4'h1; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@60873.4]
+  assign _T_348 = $unsigned(_T_347); // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@60874.4]
+  assign _T_349 = _T_348[3:0]; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@60875.4]
+  assign _T_350 = _T_345 ? _T_346 : _T_349; // @[Fragmenter.scala 270:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60876.4]
+  assign _T_351 = ~ _T_350; // @[Fragmenter.scala 271:26:shc.marmotcaravel.MarmotCaravelConfig.fir@60877.4]
+  assign _T_354 = ~ _T_351; // @[Fragmenter.scala 271:24:shc.marmotcaravel.MarmotCaravelConfig.fir@60880.4]
+  assign _GEN_5 = _T_345 ? _T_248 : _T_362; // @[Reg.scala 12:19:shc.marmotcaravel.MarmotCaravelConfig.fir@60888.4]
+  assign _T_364 = _GEN_5 == 1'h0; // @[Fragmenter.scala 274:21:shc.marmotcaravel.MarmotCaravelConfig.fir@60892.4]
+  assign _T_92_a_valid = Repeater_io_deq_valid; // @[Nodes.scala 332:76:shc.marmotcaravel.MarmotCaravelConfig.fir@60752.4 Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@60901.4]
+  assign _T_365 = auto_out_a_ready & _T_92_a_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@60893.4]
+  assign _T_366 = _T_341 == 1'h0; // @[Fragmenter.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@60897.4]
+  assign _T_367 = _T_354 != 4'h0; // @[Fragmenter.scala 279:51:shc.marmotcaravel.MarmotCaravelConfig.fir@60898.4]
+  assign _GEN_12 = {{2'd0}, _T_350}; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@60902.4]
+  assign _T_369 = _GEN_12 << 2; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@60902.4]
+  assign _T_370 = ~ _T_335; // @[Fragmenter.scala 281:88:shc.marmotcaravel.MarmotCaravelConfig.fir@60903.4]
+  assign _T_371 = _T_369 | _T_370; // @[Fragmenter.scala 281:86:shc.marmotcaravel.MarmotCaravelConfig.fir@60904.4]
+  assign _GEN_13 = {{4'd0}, _T_339}; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@60905.4]
+  assign _T_372 = _T_371 | _GEN_13; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@60905.4]
+  assign _T_373 = _T_372 | 6'h3; // @[Fragmenter.scala 281:109:shc.marmotcaravel.MarmotCaravelConfig.fir@60906.4]
+  assign _T_374 = ~ _T_373; // @[Fragmenter.scala 281:49:shc.marmotcaravel.MarmotCaravelConfig.fir@60907.4]
+  assign _GEN_14 = {{23'd0}, _T_374}; // @[Fragmenter.scala 281:47:shc.marmotcaravel.MarmotCaravelConfig.fir@60908.4]
+  assign _T_376 = {Repeater_io_deq_bits_source,_T_364}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@60910.4]
+  assign _T_378 = Repeater_io_full == 1'h0; // @[Fragmenter.scala 286:15:shc.marmotcaravel.MarmotCaravelConfig.fir@60914.4]
+  assign _T_380 = _T_378 | _T_366; // @[Fragmenter.scala 286:33:shc.marmotcaravel.MarmotCaravelConfig.fir@60916.4]
+  assign _T_382 = _T_380 | reset; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60918.4]
+  assign _T_383 = _T_382 == 1'h0; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60919.4]
+  assign _T_385 = Repeater_io_deq_bits_mask == 4'hf; // @[Fragmenter.scala 289:51:shc.marmotcaravel.MarmotCaravelConfig.fir@60926.4]
+  assign _T_386 = _T_378 | _T_385; // @[Fragmenter.scala 289:33:shc.marmotcaravel.MarmotCaravelConfig.fir@60927.4]
+  assign _T_388 = _T_386 | reset; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60929.4]
+  assign _T_389 = _T_388 == 1'h0; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60930.4]
+  assign auto_in_a_ready = Repeater_io_enq_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@60755.4]
+  assign auto_in_d_valid = auto_out_d_valid & _T_302; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@60755.4]
+  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@60755.4]
+  assign auto_in_d_bits_size = _T_250 ? _T_290 : _T_246; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@60755.4]
+  assign auto_in_d_bits_source = auto_out_d_bits_source[5:5]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@60755.4]
+  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@60755.4]
+  assign auto_out_a_valid = Repeater_io_deq_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@60754.4]
+  assign auto_out_a_bits_opcode = Repeater_io_deq_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@60754.4]
+  assign auto_out_a_bits_param = Repeater_io_deq_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@60754.4]
+  assign auto_out_a_bits_size = _T_331[1:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@60754.4]
+  assign auto_out_a_bits_source = {_T_376,_T_354}; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@60754.4]
+  assign auto_out_a_bits_address = Repeater_io_deq_bits_address | _GEN_14; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@60754.4]
+  assign auto_out_a_bits_mask = Repeater_io_full ? 4'hf : auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@60754.4]
+  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@60754.4]
+  assign auto_out_a_bits_corrupt = Repeater_io_deq_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@60754.4]
+  assign auto_out_d_ready = auto_in_d_ready | _T_300; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@60754.4]
+  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60717.4]
+  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60718.4]
+  assign TLMonitor_io_in_a_ready = Repeater_io_enq_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@60751.4]
+  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@60751.4]
+  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@60751.4]
+  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@60751.4]
+  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@60751.4]
+  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@60751.4]
+  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@60751.4]
+  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@60751.4]
+  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@60751.4]
+  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@60751.4]
+  assign TLMonitor_io_in_d_valid = auto_out_d_valid & _T_302; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@60751.4]
+  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@60751.4]
+  assign TLMonitor_io_in_d_bits_size = _T_250 ? _T_290 : _T_246; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@60751.4]
+  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source[5:5]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@60751.4]
+  assign Repeater_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60834.4]
+  assign Repeater_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60835.4]
+  assign Repeater_io_repeat = _T_366 & _T_367; // @[Fragmenter.scala 279:26:shc.marmotcaravel.MarmotCaravelConfig.fir@60900.4]
+  assign Repeater_io_enq_valid = auto_in_a_valid; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@60836.4]
+  assign Repeater_io_enq_bits_opcode = auto_in_a_bits_opcode; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@60836.4]
+  assign Repeater_io_enq_bits_param = auto_in_a_bits_param; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@60836.4]
+  assign Repeater_io_enq_bits_size = auto_in_a_bits_size; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@60836.4]
+  assign Repeater_io_enq_bits_source = auto_in_a_bits_source; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@60836.4]
+  assign Repeater_io_enq_bits_address = auto_in_a_bits_address; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@60836.4]
+  assign Repeater_io_enq_bits_mask = auto_in_a_bits_mask; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@60836.4]
+  assign Repeater_io_enq_bits_corrupt = auto_in_a_bits_corrupt; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@60836.4]
+  assign Repeater_io_deq_ready = auto_out_a_ready; // @[Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@60901.4]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  _T_244 = _RAND_0[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  _T_246 = _RAND_1[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  _T_248 = _RAND_2[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  _T_344 = _RAND_3[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  _T_362 = _RAND_4[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      _T_244 <= 4'h0;
+    end else begin
+      if (_T_291) begin
+        if (_T_250) begin
+          _T_244 <= _T_249;
+        end else begin
+          _T_244 <= _T_294;
+        end
+      end
+    end
+    if (_T_291) begin
+      if (_T_250) begin
+        _T_246 <= _T_290;
+      end
+    end
+    if (reset) begin
+      _T_248 <= 1'h0;
+    end else begin
+      if (_T_291) begin
+        if (_T_250) begin
+          _T_248 <= _T_296;
+        end
+      end
+    end
+    if (reset) begin
+      _T_344 <= 4'h0;
+    end else begin
+      if (_T_365) begin
+        _T_344 <= _T_354;
+      end
+    end
+    if (_T_345) begin
+      _T_362 <= _T_248;
+    end
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:180 assert (!out.d.valid || (acknum_fragment & acknum_size) === UInt(0))\n"); // @[Fragmenter.scala 180:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60780.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Fragmenter.scala 180:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60781.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_383) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:286 assert (!repeater.io.full || !aHasData)\n"); // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60921.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_383) begin
+          $fatal; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60922.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_389) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:289 assert (!repeater.io.full || in_a.bits.mask === fullMask)\n"); // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60932.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_389) begin
+          $fatal; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60933.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+endmodule
+module SimpleLazyModule_14( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60944.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60945.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60946.4]
+  output        auto_fragmenter_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60947.4]
+  input         auto_fragmenter_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60947.4]
+  input  [2:0]  auto_fragmenter_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60947.4]
+  input  [2:0]  auto_fragmenter_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60947.4]
+  input  [2:0]  auto_fragmenter_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60947.4]
+  input         auto_fragmenter_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60947.4]
+  input  [28:0] auto_fragmenter_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60947.4]
+  input  [3:0]  auto_fragmenter_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60947.4]
+  input  [31:0] auto_fragmenter_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60947.4]
+  input         auto_fragmenter_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60947.4]
+  input         auto_fragmenter_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60947.4]
+  output        auto_fragmenter_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60947.4]
+  output [2:0]  auto_fragmenter_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60947.4]
+  output [2:0]  auto_fragmenter_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60947.4]
+  output        auto_fragmenter_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60947.4]
+  output [31:0] auto_fragmenter_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60947.4]
+  input         auto_control_xing_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60947.4]
+  output        auto_control_xing_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60947.4]
+  output [2:0]  auto_control_xing_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60947.4]
+  output [2:0]  auto_control_xing_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60947.4]
+  output [1:0]  auto_control_xing_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60947.4]
+  output [5:0]  auto_control_xing_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60947.4]
+  output [28:0] auto_control_xing_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60947.4]
+  output [3:0]  auto_control_xing_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60947.4]
+  output [31:0] auto_control_xing_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60947.4]
+  output        auto_control_xing_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60947.4]
+  output        auto_control_xing_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60947.4]
+  input         auto_control_xing_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60947.4]
+  input  [2:0]  auto_control_xing_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60947.4]
+  input  [1:0]  auto_control_xing_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60947.4]
+  input  [5:0]  auto_control_xing_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60947.4]
+  input  [31:0] auto_control_xing_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60947.4]
+);
+  wire  fragmenter_clock; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@60952.4]
+  wire  fragmenter_reset; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@60952.4]
+  wire  fragmenter_auto_in_a_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@60952.4]
+  wire  fragmenter_auto_in_a_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@60952.4]
+  wire [2:0] fragmenter_auto_in_a_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@60952.4]
+  wire [2:0] fragmenter_auto_in_a_bits_param; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@60952.4]
+  wire [2:0] fragmenter_auto_in_a_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@60952.4]
+  wire  fragmenter_auto_in_a_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@60952.4]
+  wire [28:0] fragmenter_auto_in_a_bits_address; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@60952.4]
+  wire [3:0] fragmenter_auto_in_a_bits_mask; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@60952.4]
+  wire [31:0] fragmenter_auto_in_a_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@60952.4]
+  wire  fragmenter_auto_in_a_bits_corrupt; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@60952.4]
+  wire  fragmenter_auto_in_d_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@60952.4]
+  wire  fragmenter_auto_in_d_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@60952.4]
+  wire [2:0] fragmenter_auto_in_d_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@60952.4]
+  wire [2:0] fragmenter_auto_in_d_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@60952.4]
+  wire  fragmenter_auto_in_d_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@60952.4]
+  wire [31:0] fragmenter_auto_in_d_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@60952.4]
+  wire  fragmenter_auto_out_a_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@60952.4]
+  wire  fragmenter_auto_out_a_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@60952.4]
+  wire [2:0] fragmenter_auto_out_a_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@60952.4]
+  wire [2:0] fragmenter_auto_out_a_bits_param; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@60952.4]
+  wire [1:0] fragmenter_auto_out_a_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@60952.4]
+  wire [5:0] fragmenter_auto_out_a_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@60952.4]
+  wire [28:0] fragmenter_auto_out_a_bits_address; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@60952.4]
+  wire [3:0] fragmenter_auto_out_a_bits_mask; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@60952.4]
+  wire [31:0] fragmenter_auto_out_a_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@60952.4]
+  wire  fragmenter_auto_out_a_bits_corrupt; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@60952.4]
+  wire  fragmenter_auto_out_d_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@60952.4]
+  wire  fragmenter_auto_out_d_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@60952.4]
+  wire [2:0] fragmenter_auto_out_d_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@60952.4]
+  wire [1:0] fragmenter_auto_out_d_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@60952.4]
+  wire [5:0] fragmenter_auto_out_d_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@60952.4]
+  wire [31:0] fragmenter_auto_out_d_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@60952.4]
+  TLFragmenter_6 fragmenter ( // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@60952.4]
+    .clock(fragmenter_clock),
+    .reset(fragmenter_reset),
+    .auto_in_a_ready(fragmenter_auto_in_a_ready),
+    .auto_in_a_valid(fragmenter_auto_in_a_valid),
+    .auto_in_a_bits_opcode(fragmenter_auto_in_a_bits_opcode),
+    .auto_in_a_bits_param(fragmenter_auto_in_a_bits_param),
+    .auto_in_a_bits_size(fragmenter_auto_in_a_bits_size),
+    .auto_in_a_bits_source(fragmenter_auto_in_a_bits_source),
+    .auto_in_a_bits_address(fragmenter_auto_in_a_bits_address),
+    .auto_in_a_bits_mask(fragmenter_auto_in_a_bits_mask),
+    .auto_in_a_bits_data(fragmenter_auto_in_a_bits_data),
+    .auto_in_a_bits_corrupt(fragmenter_auto_in_a_bits_corrupt),
+    .auto_in_d_ready(fragmenter_auto_in_d_ready),
+    .auto_in_d_valid(fragmenter_auto_in_d_valid),
+    .auto_in_d_bits_opcode(fragmenter_auto_in_d_bits_opcode),
+    .auto_in_d_bits_size(fragmenter_auto_in_d_bits_size),
+    .auto_in_d_bits_source(fragmenter_auto_in_d_bits_source),
+    .auto_in_d_bits_data(fragmenter_auto_in_d_bits_data),
+    .auto_out_a_ready(fragmenter_auto_out_a_ready),
+    .auto_out_a_valid(fragmenter_auto_out_a_valid),
+    .auto_out_a_bits_opcode(fragmenter_auto_out_a_bits_opcode),
+    .auto_out_a_bits_param(fragmenter_auto_out_a_bits_param),
+    .auto_out_a_bits_size(fragmenter_auto_out_a_bits_size),
+    .auto_out_a_bits_source(fragmenter_auto_out_a_bits_source),
+    .auto_out_a_bits_address(fragmenter_auto_out_a_bits_address),
+    .auto_out_a_bits_mask(fragmenter_auto_out_a_bits_mask),
+    .auto_out_a_bits_data(fragmenter_auto_out_a_bits_data),
+    .auto_out_a_bits_corrupt(fragmenter_auto_out_a_bits_corrupt),
+    .auto_out_d_ready(fragmenter_auto_out_d_ready),
+    .auto_out_d_valid(fragmenter_auto_out_d_valid),
+    .auto_out_d_bits_opcode(fragmenter_auto_out_d_bits_opcode),
+    .auto_out_d_bits_size(fragmenter_auto_out_d_bits_size),
+    .auto_out_d_bits_source(fragmenter_auto_out_d_bits_source),
+    .auto_out_d_bits_data(fragmenter_auto_out_d_bits_data)
+  );
+  assign auto_fragmenter_in_a_ready = fragmenter_auto_in_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@60965.4]
+  assign auto_fragmenter_in_d_valid = fragmenter_auto_in_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@60965.4]
+  assign auto_fragmenter_in_d_bits_opcode = fragmenter_auto_in_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@60965.4]
+  assign auto_fragmenter_in_d_bits_size = fragmenter_auto_in_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@60965.4]
+  assign auto_fragmenter_in_d_bits_source = fragmenter_auto_in_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@60965.4]
+  assign auto_fragmenter_in_d_bits_data = fragmenter_auto_in_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@60965.4]
+  assign auto_control_xing_out_a_valid = fragmenter_auto_out_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@60964.4]
+  assign auto_control_xing_out_a_bits_opcode = fragmenter_auto_out_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@60964.4]
+  assign auto_control_xing_out_a_bits_param = fragmenter_auto_out_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@60964.4]
+  assign auto_control_xing_out_a_bits_size = fragmenter_auto_out_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@60964.4]
+  assign auto_control_xing_out_a_bits_source = fragmenter_auto_out_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@60964.4]
+  assign auto_control_xing_out_a_bits_address = fragmenter_auto_out_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@60964.4]
+  assign auto_control_xing_out_a_bits_mask = fragmenter_auto_out_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@60964.4]
+  assign auto_control_xing_out_a_bits_data = fragmenter_auto_out_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@60964.4]
+  assign auto_control_xing_out_a_bits_corrupt = fragmenter_auto_out_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@60964.4]
+  assign auto_control_xing_out_d_ready = fragmenter_auto_out_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@60964.4]
+  assign fragmenter_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60956.4]
+  assign fragmenter_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60957.4]
+  assign fragmenter_auto_in_a_valid = auto_fragmenter_in_a_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@60965.4]
+  assign fragmenter_auto_in_a_bits_opcode = auto_fragmenter_in_a_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@60965.4]
+  assign fragmenter_auto_in_a_bits_param = auto_fragmenter_in_a_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@60965.4]
+  assign fragmenter_auto_in_a_bits_size = auto_fragmenter_in_a_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@60965.4]
+  assign fragmenter_auto_in_a_bits_source = auto_fragmenter_in_a_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@60965.4]
+  assign fragmenter_auto_in_a_bits_address = auto_fragmenter_in_a_bits_address; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@60965.4]
+  assign fragmenter_auto_in_a_bits_mask = auto_fragmenter_in_a_bits_mask; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@60965.4]
+  assign fragmenter_auto_in_a_bits_data = auto_fragmenter_in_a_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@60965.4]
+  assign fragmenter_auto_in_a_bits_corrupt = auto_fragmenter_in_a_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@60965.4]
+  assign fragmenter_auto_in_d_ready = auto_fragmenter_in_d_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@60965.4]
+  assign fragmenter_auto_out_a_ready = auto_control_xing_out_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@60963.4]
+  assign fragmenter_auto_out_d_valid = auto_control_xing_out_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@60963.4]
+  assign fragmenter_auto_out_d_bits_opcode = auto_control_xing_out_d_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@60963.4]
+  assign fragmenter_auto_out_d_bits_size = auto_control_xing_out_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@60963.4]
+  assign fragmenter_auto_out_d_bits_source = auto_control_xing_out_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@60963.4]
+  assign fragmenter_auto_out_d_bits_data = auto_control_xing_out_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@60963.4]
+endmodule
+module TLMonitor_34( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60974.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60975.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60976.4]
+  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60977.4]
+  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60977.4]
+  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60977.4]
+  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60977.4]
+  input  [2:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60977.4]
+  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60977.4]
+  input  [28:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60977.4]
+  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60977.4]
+  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60977.4]
+  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60977.4]
+  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60977.4]
+  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60977.4]
+  input  [2:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60977.4]
+  input         io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60977.4]
+);
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@62098.4]
+  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@60993.6]
+  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@60998.6]
+  wire [12:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@61000.6]
+  wire [5:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@61001.6]
+  wire [5:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@61002.6]
+  wire [28:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@61003.6]
+  wire [28:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@61003.6]
+  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@61004.6]
+  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@61006.6]
+  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@61007.6]
+  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@61009.6]
+  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@61010.6]
+  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@61011.6]
+  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@61012.6]
+  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@61013.6]
+  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@61015.6]
+  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@61016.6]
+  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@61018.6]
+  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@61019.6]
+  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@61020.6]
+  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@61021.6]
+  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@61022.6]
+  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@61023.6]
+  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@61024.6]
+  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@61025.6]
+  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@61026.6]
+  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@61027.6]
+  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@61028.6]
+  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@61029.6]
+  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@61030.6]
+  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@61031.6]
+  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@61032.6]
+  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@61033.6]
+  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@61034.6]
+  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@61035.6]
+  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@61036.6]
+  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@61037.6]
+  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@61062.6]
+  wire [28:0] _T_92; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@61065.8]
+  wire [29:0] _T_93; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@61066.8]
+  wire [29:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@61067.8]
+  wire [29:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@61068.8]
+  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@61069.8]
+  wire  _T_101; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61074.8]
+  wire  _T_106; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61087.8]
+  wire  _T_107; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61088.8]
+  wire  _T_110; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61095.8]
+  wire  _T_111; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61096.8]
+  wire  _T_113; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61102.8]
+  wire  _T_114; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61103.8]
+  wire  _T_115; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@61108.8]
+  wire  _T_117; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61110.8]
+  wire  _T_118; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61111.8]
+  wire [3:0] _T_119; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@61116.8]
+  wire  _T_120; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@61117.8]
+  wire  _T_122; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61119.8]
+  wire  _T_123; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61120.8]
+  wire  _T_124; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@61125.8]
+  wire  _T_126; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61127.8]
+  wire  _T_127; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61128.8]
+  wire  _T_128; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@61134.6]
+  wire  _T_157; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@61188.8]
+  wire  _T_159; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61190.8]
+  wire  _T_160; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61191.8]
+  wire  _T_170; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@61214.6]
+  wire  _T_172; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@61217.8]
+  wire  _T_180; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@61225.8]
+  wire  _T_183; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61228.8]
+  wire  _T_184; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61229.8]
+  wire  _T_191; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@61248.8]
+  wire  _T_193; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61250.8]
+  wire  _T_194; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61251.8]
+  wire  _T_195; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@61256.8]
+  wire  _T_197; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61258.8]
+  wire  _T_198; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61259.8]
+  wire  _T_203; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@61273.6]
+  wire  _T_232; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@61324.6]
+  wire [3:0] _T_257; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@61366.8]
+  wire [3:0] _T_258; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@61367.8]
+  wire  _T_259; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@61368.8]
+  wire  _T_261; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61370.8]
+  wire  _T_262; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61371.8]
+  wire  _T_263; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@61377.6]
+  wire  _T_281; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@61408.8]
+  wire  _T_283; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61410.8]
+  wire  _T_284; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61411.8]
+  wire  _T_289; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@61425.6]
+  wire  _T_307; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@61456.8]
+  wire  _T_309; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61458.8]
+  wire  _T_310; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61459.8]
+  wire  _T_315; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@61473.6]
+  wire  _T_341; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@61523.6]
+  wire  _T_343; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@61525.6]
+  wire  _T_344; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@61526.6]
+  wire  _T_346; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@61532.6]
+  wire  _T_355; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@61537.6]
+  wire  _T_357; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@61539.6]
+  wire  _T_359; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61542.8]
+  wire  _T_360; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61543.8]
+  wire  _T_361; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@61548.8]
+  wire  _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61550.8]
+  wire  _T_364; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61551.8]
+  wire  _T_377; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@61581.6]
+  wire  _T_405; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@61639.6]
+  wire  _T_434; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@61698.6]
+  wire  _T_451; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@61733.6]
+  wire  _T_469; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@61769.6]
+  wire  _T_498; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@61829.4]
+  wire [3:0] _T_503; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@61834.4]
+  wire  _T_504; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@61835.4]
+  wire  _T_505; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@61836.4]
+  reg [3:0] _T_508; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@61838.4]
+  reg [31:0] _RAND_0;
+  wire [4:0] _T_509; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@61839.4]
+  wire [4:0] _T_510; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@61840.4]
+  wire [3:0] _T_511; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@61841.4]
+  wire  _T_512; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@61842.4]
+  reg [2:0] _T_521; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@61853.4]
+  reg [31:0] _RAND_1;
+  reg [2:0] _T_523; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@61854.4]
+  reg [31:0] _RAND_2;
+  reg [2:0] _T_525; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@61855.4]
+  reg [31:0] _RAND_3;
+  reg  _T_527; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@61856.4]
+  reg [31:0] _RAND_4;
+  reg [28:0] _T_529; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@61857.4]
+  reg [31:0] _RAND_5;
+  wire  _T_530; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@61858.4]
+  wire  _T_531; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@61859.4]
+  wire  _T_532; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@61861.6]
+  wire  _T_534; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61863.6]
+  wire  _T_535; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61864.6]
+  wire  _T_536; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@61869.6]
+  wire  _T_538; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61871.6]
+  wire  _T_539; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61872.6]
+  wire  _T_540; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@61877.6]
+  wire  _T_542; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61879.6]
+  wire  _T_543; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61880.6]
+  wire  _T_544; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@61885.6]
+  wire  _T_546; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61887.6]
+  wire  _T_547; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61888.6]
+  wire  _T_548; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@61893.6]
+  wire  _T_550; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61895.6]
+  wire  _T_551; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61896.6]
+  wire  _T_553; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@61903.4]
+  wire  _T_554; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@61911.4]
+  wire [12:0] _T_556; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@61913.4]
+  wire [5:0] _T_557; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@61914.4]
+  wire [5:0] _T_558; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@61915.4]
+  wire [3:0] _T_559; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@61916.4]
+  wire  _T_560; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@61917.4]
+  reg [3:0] _T_563; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@61919.4]
+  reg [31:0] _RAND_6;
+  wire [4:0] _T_564; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@61920.4]
+  wire [4:0] _T_565; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@61921.4]
+  wire [3:0] _T_566; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@61922.4]
+  wire  _T_567; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@61923.4]
+  reg [2:0] _T_576; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@61934.4]
+  reg [31:0] _RAND_7;
+  reg [2:0] _T_580; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@61936.4]
+  reg [31:0] _RAND_8;
+  reg  _T_582; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@61937.4]
+  reg [31:0] _RAND_9;
+  wire  _T_587; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@61940.4]
+  wire  _T_588; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@61941.4]
+  wire  _T_589; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@61943.6]
+  wire  _T_591; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61945.6]
+  wire  _T_592; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61946.6]
+  wire  _T_597; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@61959.6]
+  wire  _T_599; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61961.6]
+  wire  _T_600; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61962.6]
+  wire  _T_601; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@61967.6]
+  wire  _T_603; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61969.6]
+  wire  _T_604; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61970.6]
+  wire  _T_614; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@61993.4]
+  reg [1:0] _T_616; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@62002.4]
+  reg [31:0] _RAND_10;
+  reg [3:0] _T_627; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@62012.4]
+  reg [31:0] _RAND_11;
+  wire [4:0] _T_628; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62013.4]
+  wire [4:0] _T_629; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62014.4]
+  wire [3:0] _T_630; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62015.4]
+  wire  _T_631; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@62016.4]
+  reg [3:0] _T_648; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@62035.4]
+  reg [31:0] _RAND_12;
+  wire [4:0] _T_649; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62036.4]
+  wire [4:0] _T_650; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62037.4]
+  wire [3:0] _T_651; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62038.4]
+  wire  _T_652; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@62039.4]
+  wire  _T_663; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@62054.4]
+  wire [1:0] _T_665; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@62057.6]
+  wire [1:0] _T_666; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@62059.6]
+  wire  _T_667; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@62060.6]
+  wire  _T_668; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62061.6]
+  wire  _T_670; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@62063.6]
+  wire  _T_671; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@62064.6]
+  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@62056.4]
+  wire  _T_676; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@62075.4]
+  wire  _T_678; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@62077.4]
+  wire  _T_679; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@62078.4]
+  wire [1:0] _T_680; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@62080.6]
+  wire [1:0] _T_681; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@62082.6]
+  wire [1:0] _T_682; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@62083.6]
+  wire  _T_683; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@62084.6]
+  wire  _T_685; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@62086.6]
+  wire  _T_686; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@62087.6]
+  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@62079.4]
+  wire [1:0] _T_687; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@62093.4]
+  wire [1:0] _T_688; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@62094.4]
+  wire [1:0] _T_689; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@62095.4]
+  reg [31:0] _T_691; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@62097.4]
+  reg [31:0] _RAND_13;
+  wire  _T_692; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@62100.4]
+  wire  _T_693; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@62101.4]
+  wire  _T_694; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@62102.4]
+  wire  _T_695; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@62103.4]
+  wire  _T_696; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@62104.4]
+  wire  _T_697; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@62105.4]
+  wire  _T_699; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@62107.4]
+  wire  _T_700; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@62108.4]
+  wire [31:0] _T_702; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@62114.4]
+  wire  _T_705; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@62118.4]
+  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61076.10]
+  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61148.10]
+  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61231.10]
+  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61290.10]
+  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61341.10]
+  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61391.10]
+  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61439.10]
+  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61487.10]
+  wire  _GEN_115; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61545.10]
+  wire  _GEN_119; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61587.10]
+  wire  _GEN_125; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61645.10]
+  wire  _GEN_131; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61704.10]
+  wire  _GEN_133; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61739.10]
+  wire  _GEN_135; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61775.10]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@62098.4]
+    .out(plusarg_reader_out)
+  );
+  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@60993.6]
+  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@60998.6]
+  assign _T_32 = 13'h3f << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@61000.6]
+  assign _T_33 = _T_32[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@61001.6]
+  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@61002.6]
+  assign _GEN_18 = {{23'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@61003.6]
+  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@61003.6]
+  assign _T_36 = _T_35 == 29'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@61004.6]
+  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@61006.6]
+  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@61007.6]
+  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@61009.6]
+  assign _T_42 = io_in_a_bits_size >= 3'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@61010.6]
+  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@61011.6]
+  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@61012.6]
+  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@61013.6]
+  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@61015.6]
+  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@61016.6]
+  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@61018.6]
+  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@61019.6]
+  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@61020.6]
+  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@61021.6]
+  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@61022.6]
+  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@61023.6]
+  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@61024.6]
+  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@61025.6]
+  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@61026.6]
+  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@61027.6]
+  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@61028.6]
+  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@61029.6]
+  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@61030.6]
+  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@61031.6]
+  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@61032.6]
+  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@61033.6]
+  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@61034.6]
+  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@61035.6]
+  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@61036.6]
+  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@61037.6]
+  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@61062.6]
+  assign _T_92 = io_in_a_bits_address ^ 29'h10033000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@61065.8]
+  assign _T_93 = {1'b0,$signed(_T_92)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@61066.8]
+  assign _T_94 = $signed(_T_93) & $signed(-30'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@61067.8]
+  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@61068.8]
+  assign _T_96 = $signed(_T_95) == $signed(30'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@61069.8]
+  assign _T_101 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61074.8]
+  assign _T_106 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61087.8]
+  assign _T_107 = _T_106 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61088.8]
+  assign _T_110 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61095.8]
+  assign _T_111 = _T_110 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61096.8]
+  assign _T_113 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61102.8]
+  assign _T_114 = _T_113 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61103.8]
+  assign _T_115 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@61108.8]
+  assign _T_117 = _T_115 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61110.8]
+  assign _T_118 = _T_117 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61111.8]
+  assign _T_119 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@61116.8]
+  assign _T_120 = _T_119 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@61117.8]
+  assign _T_122 = _T_120 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61119.8]
+  assign _T_123 = _T_122 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61120.8]
+  assign _T_124 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@61125.8]
+  assign _T_126 = _T_124 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61127.8]
+  assign _T_127 = _T_126 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61128.8]
+  assign _T_128 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@61134.6]
+  assign _T_157 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@61188.8]
+  assign _T_159 = _T_157 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61190.8]
+  assign _T_160 = _T_159 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61191.8]
+  assign _T_170 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@61214.6]
+  assign _T_172 = io_in_a_bits_size <= 3'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@61217.8]
+  assign _T_180 = _T_172 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@61225.8]
+  assign _T_183 = _T_180 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61228.8]
+  assign _T_184 = _T_183 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61229.8]
+  assign _T_191 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@61248.8]
+  assign _T_193 = _T_191 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61250.8]
+  assign _T_194 = _T_193 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61251.8]
+  assign _T_195 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@61256.8]
+  assign _T_197 = _T_195 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61258.8]
+  assign _T_198 = _T_197 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61259.8]
+  assign _T_203 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@61273.6]
+  assign _T_232 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@61324.6]
+  assign _T_257 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@61366.8]
+  assign _T_258 = io_in_a_bits_mask & _T_257; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@61367.8]
+  assign _T_259 = _T_258 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@61368.8]
+  assign _T_261 = _T_259 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61370.8]
+  assign _T_262 = _T_261 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61371.8]
+  assign _T_263 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@61377.6]
+  assign _T_281 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@61408.8]
+  assign _T_283 = _T_281 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61410.8]
+  assign _T_284 = _T_283 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61411.8]
+  assign _T_289 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@61425.6]
+  assign _T_307 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@61456.8]
+  assign _T_309 = _T_307 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61458.8]
+  assign _T_310 = _T_309 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61459.8]
+  assign _T_315 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@61473.6]
+  assign _T_341 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@61523.6]
+  assign _T_343 = _T_341 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@61525.6]
+  assign _T_344 = _T_343 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@61526.6]
+  assign _T_346 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@61532.6]
+  assign _T_355 = io_in_d_bits_source | _T_346; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@61537.6]
+  assign _T_357 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@61539.6]
+  assign _T_359 = _T_355 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61542.8]
+  assign _T_360 = _T_359 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61543.8]
+  assign _T_361 = io_in_d_bits_size >= 3'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@61548.8]
+  assign _T_363 = _T_361 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61550.8]
+  assign _T_364 = _T_363 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61551.8]
+  assign _T_377 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@61581.6]
+  assign _T_405 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@61639.6]
+  assign _T_434 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@61698.6]
+  assign _T_451 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@61733.6]
+  assign _T_469 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@61769.6]
+  assign _T_498 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@61829.4]
+  assign _T_503 = _T_34[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@61834.4]
+  assign _T_504 = io_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@61835.4]
+  assign _T_505 = _T_504 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@61836.4]
+  assign _T_509 = _T_508 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@61839.4]
+  assign _T_510 = $unsigned(_T_509); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@61840.4]
+  assign _T_511 = _T_510[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@61841.4]
+  assign _T_512 = _T_508 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@61842.4]
+  assign _T_530 = _T_512 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@61858.4]
+  assign _T_531 = io_in_a_valid & _T_530; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@61859.4]
+  assign _T_532 = io_in_a_bits_opcode == _T_521; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@61861.6]
+  assign _T_534 = _T_532 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61863.6]
+  assign _T_535 = _T_534 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61864.6]
+  assign _T_536 = io_in_a_bits_param == _T_523; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@61869.6]
+  assign _T_538 = _T_536 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61871.6]
+  assign _T_539 = _T_538 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61872.6]
+  assign _T_540 = io_in_a_bits_size == _T_525; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@61877.6]
+  assign _T_542 = _T_540 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61879.6]
+  assign _T_543 = _T_542 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61880.6]
+  assign _T_544 = io_in_a_bits_source == _T_527; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@61885.6]
+  assign _T_546 = _T_544 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61887.6]
+  assign _T_547 = _T_546 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61888.6]
+  assign _T_548 = io_in_a_bits_address == _T_529; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@61893.6]
+  assign _T_550 = _T_548 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61895.6]
+  assign _T_551 = _T_550 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61896.6]
+  assign _T_553 = _T_498 & _T_512; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@61903.4]
+  assign _T_554 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@61911.4]
+  assign _T_556 = 13'h3f << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@61913.4]
+  assign _T_557 = _T_556[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@61914.4]
+  assign _T_558 = ~ _T_557; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@61915.4]
+  assign _T_559 = _T_558[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@61916.4]
+  assign _T_560 = io_in_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@61917.4]
+  assign _T_564 = _T_563 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@61920.4]
+  assign _T_565 = $unsigned(_T_564); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@61921.4]
+  assign _T_566 = _T_565[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@61922.4]
+  assign _T_567 = _T_563 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@61923.4]
+  assign _T_587 = _T_567 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@61940.4]
+  assign _T_588 = io_in_d_valid & _T_587; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@61941.4]
+  assign _T_589 = io_in_d_bits_opcode == _T_576; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@61943.6]
+  assign _T_591 = _T_589 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61945.6]
+  assign _T_592 = _T_591 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61946.6]
+  assign _T_597 = io_in_d_bits_size == _T_580; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@61959.6]
+  assign _T_599 = _T_597 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61961.6]
+  assign _T_600 = _T_599 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61962.6]
+  assign _T_601 = io_in_d_bits_source == _T_582; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@61967.6]
+  assign _T_603 = _T_601 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61969.6]
+  assign _T_604 = _T_603 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61970.6]
+  assign _T_614 = _T_554 & _T_567; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@61993.4]
+  assign _T_628 = _T_627 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62013.4]
+  assign _T_629 = $unsigned(_T_628); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62014.4]
+  assign _T_630 = _T_629[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62015.4]
+  assign _T_631 = _T_627 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@62016.4]
+  assign _T_649 = _T_648 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62036.4]
+  assign _T_650 = $unsigned(_T_649); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62037.4]
+  assign _T_651 = _T_650[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62038.4]
+  assign _T_652 = _T_648 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@62039.4]
+  assign _T_663 = _T_498 & _T_631; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@62054.4]
+  assign _T_665 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@62057.6]
+  assign _T_666 = _T_616 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@62059.6]
+  assign _T_667 = _T_666[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@62060.6]
+  assign _T_668 = _T_667 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62061.6]
+  assign _T_670 = _T_668 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@62063.6]
+  assign _T_671 = _T_670 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@62064.6]
+  assign _GEN_15 = _T_663 ? _T_665 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@62056.4]
+  assign _T_676 = _T_554 & _T_652; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@62075.4]
+  assign _T_678 = _T_357 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@62077.4]
+  assign _T_679 = _T_676 & _T_678; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@62078.4]
+  assign _T_680 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@62080.6]
+  assign _T_681 = _GEN_15 | _T_616; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@62082.6]
+  assign _T_682 = _T_681 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@62083.6]
+  assign _T_683 = _T_682[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@62084.6]
+  assign _T_685 = _T_683 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@62086.6]
+  assign _T_686 = _T_685 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@62087.6]
+  assign _GEN_16 = _T_679 ? _T_680 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@62079.4]
+  assign _T_687 = _T_616 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@62093.4]
+  assign _T_688 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@62094.4]
+  assign _T_689 = _T_687 & _T_688; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@62095.4]
+  assign _T_692 = _T_616 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@62100.4]
+  assign _T_693 = _T_692 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@62101.4]
+  assign _T_694 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@62102.4]
+  assign _T_695 = _T_693 | _T_694; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@62103.4]
+  assign _T_696 = _T_691 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@62104.4]
+  assign _T_697 = _T_695 | _T_696; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@62105.4]
+  assign _T_699 = _T_697 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@62107.4]
+  assign _T_700 = _T_699 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@62108.4]
+  assign _T_702 = _T_691 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@62114.4]
+  assign _T_705 = _T_498 | _T_554; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@62118.4]
+  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61076.10]
+  assign _GEN_35 = io_in_a_valid & _T_128; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61148.10]
+  assign _GEN_53 = io_in_a_valid & _T_170; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61231.10]
+  assign _GEN_65 = io_in_a_valid & _T_203; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61290.10]
+  assign _GEN_75 = io_in_a_valid & _T_232; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61341.10]
+  assign _GEN_85 = io_in_a_valid & _T_263; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61391.10]
+  assign _GEN_95 = io_in_a_valid & _T_289; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61439.10]
+  assign _GEN_105 = io_in_a_valid & _T_315; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61487.10]
+  assign _GEN_115 = io_in_d_valid & _T_357; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61545.10]
+  assign _GEN_119 = io_in_d_valid & _T_377; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61587.10]
+  assign _GEN_125 = io_in_d_valid & _T_405; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61645.10]
+  assign _GEN_131 = io_in_d_valid & _T_434; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61704.10]
+  assign _GEN_133 = io_in_d_valid & _T_451; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61739.10]
+  assign _GEN_135 = io_in_d_valid & _T_469; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61775.10]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  _T_508 = _RAND_0[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  _T_521 = _RAND_1[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  _T_523 = _RAND_2[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  _T_525 = _RAND_3[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  _T_527 = _RAND_4[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  _T_529 = _RAND_5[28:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {1{`RANDOM}};
+  _T_563 = _RAND_6[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {1{`RANDOM}};
+  _T_576 = _RAND_7[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_8 = {1{`RANDOM}};
+  _T_580 = _RAND_8[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_9 = {1{`RANDOM}};
+  _T_582 = _RAND_9[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_10 = {1{`RANDOM}};
+  _T_616 = _RAND_10[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_11 = {1{`RANDOM}};
+  _T_627 = _RAND_11[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_12 = {1{`RANDOM}};
+  _T_648 = _RAND_12[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_13 = {1{`RANDOM}};
+  _T_691 = _RAND_13[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      _T_508 <= 4'h0;
+    end else begin
+      if (_T_498) begin
+        if (_T_512) begin
+          if (_T_505) begin
+            _T_508 <= _T_503;
+          end else begin
+            _T_508 <= 4'h0;
+          end
+        end else begin
+          _T_508 <= _T_511;
+        end
+      end
+    end
+    if (_T_553) begin
+      _T_521 <= io_in_a_bits_opcode;
+    end
+    if (_T_553) begin
+      _T_523 <= io_in_a_bits_param;
+    end
+    if (_T_553) begin
+      _T_525 <= io_in_a_bits_size;
+    end
+    if (_T_553) begin
+      _T_527 <= io_in_a_bits_source;
+    end
+    if (_T_553) begin
+      _T_529 <= io_in_a_bits_address;
+    end
+    if (reset) begin
+      _T_563 <= 4'h0;
+    end else begin
+      if (_T_554) begin
+        if (_T_567) begin
+          if (_T_560) begin
+            _T_563 <= _T_559;
+          end else begin
+            _T_563 <= 4'h0;
+          end
+        end else begin
+          _T_563 <= _T_566;
+        end
+      end
+    end
+    if (_T_614) begin
+      _T_576 <= io_in_d_bits_opcode;
+    end
+    if (_T_614) begin
+      _T_580 <= io_in_d_bits_size;
+    end
+    if (_T_614) begin
+      _T_582 <= io_in_d_bits_source;
+    end
+    if (reset) begin
+      _T_616 <= 2'h0;
+    end else begin
+      _T_616 <= _T_689;
+    end
+    if (reset) begin
+      _T_627 <= 4'h0;
+    end else begin
+      if (_T_498) begin
+        if (_T_631) begin
+          if (_T_505) begin
+            _T_627 <= _T_503;
+          end else begin
+            _T_627 <= 4'h0;
+          end
+        end else begin
+          _T_627 <= _T_630;
+        end
+      end
+    end
+    if (reset) begin
+      _T_648 <= 4'h0;
+    end else begin
+      if (_T_554) begin
+        if (_T_652) begin
+          if (_T_560) begin
+            _T_648 <= _T_559;
+          end else begin
+            _T_648 <= 4'h0;
+          end
+        end else begin
+          _T_648 <= _T_651;
+        end
+      end
+    end
+    if (reset) begin
+      _T_691 <= 32'h0;
+    end else begin
+      if (_T_705) begin
+        _T_691 <= 32'h0;
+      end else begin
+        _T_691 <= _T_702;
+      end
+    end
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at UART.scala:157:94)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@60989.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@60990.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@61059.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@61060.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at UART.scala:157:94)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61076.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_101) begin
+          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61077.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at UART.scala:157:94)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61083.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_101) begin
+          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61084.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61090.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_107) begin
+          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61091.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_111) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at UART.scala:157:94)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61098.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_111) begin
+          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61099.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at UART.scala:157:94)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61105.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_114) begin
+          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61106.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_118) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at UART.scala:157:94)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61113.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_118) begin
+          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61114.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_123) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at UART.scala:157:94)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61122.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_123) begin
+          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61123.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_127) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at UART.scala:157:94)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61130.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_127) begin
+          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61131.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at UART.scala:157:94)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61148.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_101) begin
+          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61149.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at UART.scala:157:94)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61155.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_101) begin
+          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61156.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61162.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_107) begin
+          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61163.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_111) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at UART.scala:157:94)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61170.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_111) begin
+          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61171.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at UART.scala:157:94)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61177.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_114) begin
+          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61178.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_118) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at UART.scala:157:94)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61185.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_118) begin
+          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61186.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_160) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at UART.scala:157:94)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61193.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_160) begin
+          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61194.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_123) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at UART.scala:157:94)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61202.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_123) begin
+          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61203.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_127) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at UART.scala:157:94)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61210.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_127) begin
+          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61211.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_184) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at UART.scala:157:94)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61231.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_184) begin
+          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61232.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61238.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_107) begin
+          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61239.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at UART.scala:157:94)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61245.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_114) begin
+          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61246.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_194) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at UART.scala:157:94)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61253.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_194) begin
+          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61254.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_198) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at UART.scala:157:94)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61261.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_198) begin
+          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61262.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_127) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at UART.scala:157:94)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61269.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_127) begin
+          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61270.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_184) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at UART.scala:157:94)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61290.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_184) begin
+          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61291.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61297.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_107) begin
+          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61298.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at UART.scala:157:94)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61304.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_114) begin
+          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61305.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_194) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at UART.scala:157:94)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61312.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_194) begin
+          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61313.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_198) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at UART.scala:157:94)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61320.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_198) begin
+          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61321.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_184) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at UART.scala:157:94)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61341.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_184) begin
+          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61342.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61348.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_107) begin
+          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61349.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at UART.scala:157:94)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61355.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_114) begin
+          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61356.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_194) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at UART.scala:157:94)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61363.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_194) begin
+          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61364.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_262) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at UART.scala:157:94)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61373.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_262) begin
+          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61374.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at UART.scala:157:94)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61391.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_101) begin
+          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61392.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61398.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_107) begin
+          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61399.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at UART.scala:157:94)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61405.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_114) begin
+          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61406.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_284) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at UART.scala:157:94)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61413.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_284) begin
+          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61414.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_198) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at UART.scala:157:94)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61421.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_198) begin
+          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61422.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at UART.scala:157:94)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61439.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_101) begin
+          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61440.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61446.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_107) begin
+          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61447.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at UART.scala:157:94)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61453.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_114) begin
+          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61454.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_310) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at UART.scala:157:94)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61461.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_310) begin
+          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61462.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_198) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at UART.scala:157:94)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61469.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_198) begin
+          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61470.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at UART.scala:157:94)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61487.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_101) begin
+          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61488.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61494.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_107) begin
+          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61495.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at UART.scala:157:94)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61501.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_114) begin
+          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61502.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_198) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at UART.scala:157:94)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61509.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_198) begin
+          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61510.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_127) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at UART.scala:157:94)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61517.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_127) begin
+          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61518.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_344) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at UART.scala:157:94)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@61528.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_344) begin
+          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@61529.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_360) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61545.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_360) begin
+          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61546.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_364) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at UART.scala:157:94)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61553.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_364) begin
+          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61554.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at UART.scala:157:94)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61561.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61562.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at UART.scala:157:94)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61569.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61570.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at UART.scala:157:94)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61577.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61578.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_119 & _T_360) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61587.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_119 & _T_360) begin
+          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61588.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_119 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at UART.scala:157:94)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61594.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_119 & _T_101) begin
+          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61595.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_119 & _T_364) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at UART.scala:157:94)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61602.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_119 & _T_364) begin
+          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61603.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at UART.scala:157:94)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61610.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61611.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at UART.scala:157:94)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61618.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61619.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at UART.scala:157:94)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61626.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61627.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at UART.scala:157:94)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61635.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61636.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_360) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61645.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_360) begin
+          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61646.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at UART.scala:157:94)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61652.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_101) begin
+          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61653.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_364) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at UART.scala:157:94)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61660.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_364) begin
+          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61661.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at UART.scala:157:94)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61668.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61669.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at UART.scala:157:94)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61676.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61677.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at UART.scala:157:94)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61685.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61686.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at UART.scala:157:94)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61694.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61695.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_131 & _T_360) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61704.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_131 & _T_360) begin
+          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61705.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at UART.scala:157:94)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61712.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61713.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at UART.scala:157:94)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61720.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61721.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at UART.scala:157:94)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61729.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61730.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_133 & _T_360) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61739.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_133 & _T_360) begin
+          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61740.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at UART.scala:157:94)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61747.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61748.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at UART.scala:157:94)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61756.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61757.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at UART.scala:157:94)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61765.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61766.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_135 & _T_360) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61775.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_135 & _T_360) begin
+          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61776.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at UART.scala:157:94)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61783.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61784.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at UART.scala:157:94)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61791.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61792.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at UART.scala:157:94)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61800.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61801.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at UART.scala:157:94)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61810.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61811.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at UART.scala:157:94)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61818.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61819.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at UART.scala:157:94)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61826.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61827.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_531 & _T_535) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at UART.scala:157:94)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61866.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_531 & _T_535) begin
+          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61867.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_531 & _T_539) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at UART.scala:157:94)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61874.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_531 & _T_539) begin
+          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61875.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_531 & _T_543) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at UART.scala:157:94)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61882.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_531 & _T_543) begin
+          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61883.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_531 & _T_547) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at UART.scala:157:94)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61890.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_531 & _T_547) begin
+          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61891.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_531 & _T_551) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at UART.scala:157:94)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61898.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_531 & _T_551) begin
+          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61899.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_588 & _T_592) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at UART.scala:157:94)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61948.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_588 & _T_592) begin
+          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61949.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at UART.scala:157:94)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61956.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61957.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_588 & _T_600) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at UART.scala:157:94)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61964.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_588 & _T_600) begin
+          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61965.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_588 & _T_604) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at UART.scala:157:94)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61972.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_588 & _T_604) begin
+          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61973.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at UART.scala:157:94)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61980.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61981.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at UART.scala:157:94)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61988.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61989.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_663 & _T_671) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at UART.scala:157:94)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@62066.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_663 & _T_671) begin
+          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@62067.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_679 & _T_686) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at UART.scala:157:94)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@62089.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_679 & _T_686) begin
+          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@62090.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_700) begin
+          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at UART.scala:157:94)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@62110.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_700) begin
+          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@62111.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+endmodule
+module TLFragmenter_7( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62154.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62155.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62156.4]
+  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62157.4]
+  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62157.4]
+  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62157.4]
+  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62157.4]
+  input  [2:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62157.4]
+  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62157.4]
+  input  [28:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62157.4]
+  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62157.4]
+  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62157.4]
+  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62157.4]
+  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62157.4]
+  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62157.4]
+  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62157.4]
+  output [2:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62157.4]
+  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62157.4]
+  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62157.4]
+  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62157.4]
+  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62157.4]
+  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62157.4]
+  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62157.4]
+  output [1:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62157.4]
+  output [5:0]  auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62157.4]
+  output [28:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62157.4]
+  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62157.4]
+  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62157.4]
+  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62157.4]
+  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62157.4]
+  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62157.4]
+  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62157.4]
+  input  [1:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62157.4]
+  input  [5:0]  auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62157.4]
+  input  [31:0] auto_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62157.4]
+);
+  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@62164.4]
+  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@62164.4]
+  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@62164.4]
+  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@62164.4]
+  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@62164.4]
+  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@62164.4]
+  wire [2:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@62164.4]
+  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@62164.4]
+  wire [28:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@62164.4]
+  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@62164.4]
+  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@62164.4]
+  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@62164.4]
+  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@62164.4]
+  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@62164.4]
+  wire [2:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@62164.4]
+  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@62164.4]
+  wire  Repeater_clock; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62281.4]
+  wire  Repeater_reset; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62281.4]
+  wire  Repeater_io_repeat; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62281.4]
+  wire  Repeater_io_full; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62281.4]
+  wire  Repeater_io_enq_ready; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62281.4]
+  wire  Repeater_io_enq_valid; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62281.4]
+  wire [2:0] Repeater_io_enq_bits_opcode; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62281.4]
+  wire [2:0] Repeater_io_enq_bits_param; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62281.4]
+  wire [2:0] Repeater_io_enq_bits_size; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62281.4]
+  wire  Repeater_io_enq_bits_source; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62281.4]
+  wire [28:0] Repeater_io_enq_bits_address; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62281.4]
+  wire [3:0] Repeater_io_enq_bits_mask; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62281.4]
+  wire  Repeater_io_enq_bits_corrupt; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62281.4]
+  wire  Repeater_io_deq_ready; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62281.4]
+  wire  Repeater_io_deq_valid; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62281.4]
+  wire [2:0] Repeater_io_deq_bits_opcode; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62281.4]
+  wire [2:0] Repeater_io_deq_bits_param; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62281.4]
+  wire [2:0] Repeater_io_deq_bits_size; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62281.4]
+  wire  Repeater_io_deq_bits_source; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62281.4]
+  wire [28:0] Repeater_io_deq_bits_address; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62281.4]
+  wire [3:0] Repeater_io_deq_bits_mask; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62281.4]
+  wire  Repeater_io_deq_bits_corrupt; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62281.4]
+  reg [3:0] _T_244; // @[Fragmenter.scala 167:27:shc.marmotcaravel.MarmotCaravelConfig.fir@62205.4]
+  reg [31:0] _RAND_0;
+  reg [2:0] _T_246; // @[Fragmenter.scala 168:22:shc.marmotcaravel.MarmotCaravelConfig.fir@62206.4]
+  reg [31:0] _RAND_1;
+  reg  _T_248; // @[Fragmenter.scala 169:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62207.4]
+  reg [31:0] _RAND_2;
+  wire [3:0] _T_249; // @[Fragmenter.scala 170:39:shc.marmotcaravel.MarmotCaravelConfig.fir@62208.4]
+  wire  _T_250; // @[Fragmenter.scala 171:27:shc.marmotcaravel.MarmotCaravelConfig.fir@62209.4]
+  wire  _T_251; // @[Fragmenter.scala 172:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62210.4]
+  wire [3:0] _T_253; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@62212.4]
+  wire [2:0] _T_254; // @[OneHot.scala 52:27:shc.marmotcaravel.MarmotCaravelConfig.fir@62213.4]
+  wire [4:0] _T_256; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@62215.4]
+  wire [1:0] _T_257; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@62216.4]
+  wire [1:0] _T_258; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@62217.4]
+  wire  _T_259; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@62218.4]
+  wire  _T_271; // @[Fragmenter.scala 182:58:shc.marmotcaravel.MarmotCaravelConfig.fir@62234.4]
+  wire  _T_272; // @[Fragmenter.scala 182:30:shc.marmotcaravel.MarmotCaravelConfig.fir@62235.4]
+  wire [5:0] _GEN_7; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@62236.4]
+  wire [5:0] _T_273; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@62236.4]
+  wire [5:0] _GEN_8; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@62237.4]
+  wire [5:0] _T_274; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@62237.4]
+  wire [6:0] _GEN_9; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@62238.4]
+  wire [6:0] _T_275; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@62238.4]
+  wire [6:0] _T_276; // @[package.scala 183:40:shc.marmotcaravel.MarmotCaravelConfig.fir@62239.4]
+  wire [6:0] _T_277; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@62240.4]
+  wire [6:0] _T_278; // @[package.scala 183:53:shc.marmotcaravel.MarmotCaravelConfig.fir@62241.4]
+  wire [6:0] _T_279; // @[package.scala 183:51:shc.marmotcaravel.MarmotCaravelConfig.fir@62242.4]
+  wire [2:0] _T_280; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@62243.4]
+  wire [3:0] _T_281; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@62244.4]
+  wire  _T_282; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62245.4]
+  wire [3:0] _GEN_10; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62246.4]
+  wire [3:0] _T_283; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62246.4]
+  wire [1:0] _T_284; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@62247.4]
+  wire [1:0] _T_285; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@62248.4]
+  wire  _T_286; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62249.4]
+  wire [1:0] _T_287; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62250.4]
+  wire  _T_288; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@62251.4]
+  wire [1:0] _T_289; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@62252.4]
+  wire [2:0] _T_290; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@62253.4]
+  wire  _T_297; // @[Fragmenter.scala 200:18:shc.marmotcaravel.MarmotCaravelConfig.fir@62267.4]
+  wire  _T_299; // @[Fragmenter.scala 200:31:shc.marmotcaravel.MarmotCaravelConfig.fir@62269.4]
+  wire  _T_300; // @[Fragmenter.scala 200:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62270.4]
+  wire  _T_301; // @[Fragmenter.scala 201:33:shc.marmotcaravel.MarmotCaravelConfig.fir@62271.4]
+  wire  _T_291; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@62254.4]
+  wire [3:0] _GEN_11; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@62256.6]
+  wire [4:0] _T_292; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@62256.6]
+  wire [4:0] _T_293; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@62257.6]
+  wire [3:0] _T_294; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@62258.6]
+  wire  _T_296; // @[Fragmenter.scala 190:39:shc.marmotcaravel.MarmotCaravelConfig.fir@62263.8]
+  wire  _T_302; // @[Fragmenter.scala 202:37:shc.marmotcaravel.MarmotCaravelConfig.fir@62273.4]
+  wire  _T_330; // @[Fragmenter.scala 262:29:shc.marmotcaravel.MarmotCaravelConfig.fir@62306.4]
+  wire [2:0] _T_331; // @[Fragmenter.scala 262:22:shc.marmotcaravel.MarmotCaravelConfig.fir@62307.4]
+  wire [12:0] _T_333; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@62309.4]
+  wire [5:0] _T_334; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@62310.4]
+  wire [5:0] _T_335; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@62311.4]
+  wire [8:0] _T_337; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@62313.4]
+  wire [1:0] _T_338; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@62314.4]
+  wire [1:0] _T_339; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@62315.4]
+  wire  _T_340; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@62316.4]
+  wire  _T_341; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62317.4]
+  reg [3:0] _T_344; // @[Fragmenter.scala 268:27:shc.marmotcaravel.MarmotCaravelConfig.fir@62319.4]
+  reg [31:0] _RAND_3;
+  wire  _T_345; // @[Fragmenter.scala 269:27:shc.marmotcaravel.MarmotCaravelConfig.fir@62320.4]
+  wire [3:0] _T_346; // @[Fragmenter.scala 270:46:shc.marmotcaravel.MarmotCaravelConfig.fir@62321.4]
+  wire [4:0] _T_347; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@62322.4]
+  wire [4:0] _T_348; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@62323.4]
+  wire [3:0] _T_349; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@62324.4]
+  wire [3:0] _T_350; // @[Fragmenter.scala 270:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62325.4]
+  wire [3:0] _T_351; // @[Fragmenter.scala 271:26:shc.marmotcaravel.MarmotCaravelConfig.fir@62326.4]
+  wire [3:0] _T_354; // @[Fragmenter.scala 271:24:shc.marmotcaravel.MarmotCaravelConfig.fir@62329.4]
+  reg  _T_362; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@62336.4]
+  reg [31:0] _RAND_4;
+  wire  _GEN_5; // @[Reg.scala 12:19:shc.marmotcaravel.MarmotCaravelConfig.fir@62337.4]
+  wire  _T_364; // @[Fragmenter.scala 274:21:shc.marmotcaravel.MarmotCaravelConfig.fir@62341.4]
+  wire  _T_92_a_valid; // @[Nodes.scala 332:76:shc.marmotcaravel.MarmotCaravelConfig.fir@62201.4 Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@62350.4]
+  wire  _T_365; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@62342.4]
+  wire  _T_366; // @[Fragmenter.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@62346.4]
+  wire  _T_367; // @[Fragmenter.scala 279:51:shc.marmotcaravel.MarmotCaravelConfig.fir@62347.4]
+  wire [5:0] _GEN_12; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@62351.4]
+  wire [5:0] _T_369; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@62351.4]
+  wire [5:0] _T_370; // @[Fragmenter.scala 281:88:shc.marmotcaravel.MarmotCaravelConfig.fir@62352.4]
+  wire [5:0] _T_371; // @[Fragmenter.scala 281:86:shc.marmotcaravel.MarmotCaravelConfig.fir@62353.4]
+  wire [5:0] _GEN_13; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@62354.4]
+  wire [5:0] _T_372; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@62354.4]
+  wire [5:0] _T_373; // @[Fragmenter.scala 281:109:shc.marmotcaravel.MarmotCaravelConfig.fir@62355.4]
+  wire [5:0] _T_374; // @[Fragmenter.scala 281:49:shc.marmotcaravel.MarmotCaravelConfig.fir@62356.4]
+  wire [28:0] _GEN_14; // @[Fragmenter.scala 281:47:shc.marmotcaravel.MarmotCaravelConfig.fir@62357.4]
+  wire [1:0] _T_376; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@62359.4]
+  wire  _T_378; // @[Fragmenter.scala 286:15:shc.marmotcaravel.MarmotCaravelConfig.fir@62363.4]
+  wire  _T_380; // @[Fragmenter.scala 286:33:shc.marmotcaravel.MarmotCaravelConfig.fir@62365.4]
+  wire  _T_382; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62367.4]
+  wire  _T_383; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62368.4]
+  wire  _T_385; // @[Fragmenter.scala 289:51:shc.marmotcaravel.MarmotCaravelConfig.fir@62375.4]
+  wire  _T_386; // @[Fragmenter.scala 289:33:shc.marmotcaravel.MarmotCaravelConfig.fir@62376.4]
+  wire  _T_388; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62378.4]
+  wire  _T_389; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62379.4]
+  TLMonitor_34 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@62164.4]
+    .clock(TLMonitor_clock),
+    .reset(TLMonitor_reset),
+    .io_in_a_ready(TLMonitor_io_in_a_ready),
+    .io_in_a_valid(TLMonitor_io_in_a_valid),
+    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
+    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
+    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
+    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
+    .io_in_d_ready(TLMonitor_io_in_d_ready),
+    .io_in_d_valid(TLMonitor_io_in_d_valid),
+    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
+    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
+    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source)
+  );
+  Repeater_4 Repeater ( // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62281.4]
+    .clock(Repeater_clock),
+    .reset(Repeater_reset),
+    .io_repeat(Repeater_io_repeat),
+    .io_full(Repeater_io_full),
+    .io_enq_ready(Repeater_io_enq_ready),
+    .io_enq_valid(Repeater_io_enq_valid),
+    .io_enq_bits_opcode(Repeater_io_enq_bits_opcode),
+    .io_enq_bits_param(Repeater_io_enq_bits_param),
+    .io_enq_bits_size(Repeater_io_enq_bits_size),
+    .io_enq_bits_source(Repeater_io_enq_bits_source),
+    .io_enq_bits_address(Repeater_io_enq_bits_address),
+    .io_enq_bits_mask(Repeater_io_enq_bits_mask),
+    .io_enq_bits_corrupt(Repeater_io_enq_bits_corrupt),
+    .io_deq_ready(Repeater_io_deq_ready),
+    .io_deq_valid(Repeater_io_deq_valid),
+    .io_deq_bits_opcode(Repeater_io_deq_bits_opcode),
+    .io_deq_bits_param(Repeater_io_deq_bits_param),
+    .io_deq_bits_size(Repeater_io_deq_bits_size),
+    .io_deq_bits_source(Repeater_io_deq_bits_source),
+    .io_deq_bits_address(Repeater_io_deq_bits_address),
+    .io_deq_bits_mask(Repeater_io_deq_bits_mask),
+    .io_deq_bits_corrupt(Repeater_io_deq_bits_corrupt)
+  );
+  assign _T_249 = auto_out_d_bits_source[3:0]; // @[Fragmenter.scala 170:39:shc.marmotcaravel.MarmotCaravelConfig.fir@62208.4]
+  assign _T_250 = _T_244 == 4'h0; // @[Fragmenter.scala 171:27:shc.marmotcaravel.MarmotCaravelConfig.fir@62209.4]
+  assign _T_251 = _T_249 == 4'h0; // @[Fragmenter.scala 172:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62210.4]
+  assign _T_253 = 4'h1 << auto_out_d_bits_size; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@62212.4]
+  assign _T_254 = _T_253[2:0]; // @[OneHot.scala 52:27:shc.marmotcaravel.MarmotCaravelConfig.fir@62213.4]
+  assign _T_256 = 5'h3 << auto_out_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@62215.4]
+  assign _T_257 = _T_256[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@62216.4]
+  assign _T_258 = ~ _T_257; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@62217.4]
+  assign _T_259 = auto_out_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@62218.4]
+  assign _T_271 = _T_254[2:2]; // @[Fragmenter.scala 182:58:shc.marmotcaravel.MarmotCaravelConfig.fir@62234.4]
+  assign _T_272 = _T_259 ? 1'h1 : _T_271; // @[Fragmenter.scala 182:30:shc.marmotcaravel.MarmotCaravelConfig.fir@62235.4]
+  assign _GEN_7 = {{2'd0}, _T_249}; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@62236.4]
+  assign _T_273 = _GEN_7 << 2; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@62236.4]
+  assign _GEN_8 = {{4'd0}, _T_258}; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@62237.4]
+  assign _T_274 = _T_273 | _GEN_8; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@62237.4]
+  assign _GEN_9 = {{1'd0}, _T_274}; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@62238.4]
+  assign _T_275 = _GEN_9 << 1; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@62238.4]
+  assign _T_276 = _T_275 | 7'h1; // @[package.scala 183:40:shc.marmotcaravel.MarmotCaravelConfig.fir@62239.4]
+  assign _T_277 = {1'h0,_T_274}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@62240.4]
+  assign _T_278 = ~ _T_277; // @[package.scala 183:53:shc.marmotcaravel.MarmotCaravelConfig.fir@62241.4]
+  assign _T_279 = _T_276 & _T_278; // @[package.scala 183:51:shc.marmotcaravel.MarmotCaravelConfig.fir@62242.4]
+  assign _T_280 = _T_279[6:4]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@62243.4]
+  assign _T_281 = _T_279[3:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@62244.4]
+  assign _T_282 = _T_280 != 3'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62245.4]
+  assign _GEN_10 = {{1'd0}, _T_280}; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62246.4]
+  assign _T_283 = _GEN_10 | _T_281; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62246.4]
+  assign _T_284 = _T_283[3:2]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@62247.4]
+  assign _T_285 = _T_283[1:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@62248.4]
+  assign _T_286 = _T_284 != 2'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62249.4]
+  assign _T_287 = _T_284 | _T_285; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62250.4]
+  assign _T_288 = _T_287[1]; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@62251.4]
+  assign _T_289 = {_T_286,_T_288}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@62252.4]
+  assign _T_290 = {_T_282,_T_289}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@62253.4]
+  assign _T_297 = _T_259 == 1'h0; // @[Fragmenter.scala 200:18:shc.marmotcaravel.MarmotCaravelConfig.fir@62267.4]
+  assign _T_299 = _T_251 == 1'h0; // @[Fragmenter.scala 200:31:shc.marmotcaravel.MarmotCaravelConfig.fir@62269.4]
+  assign _T_300 = _T_297 & _T_299; // @[Fragmenter.scala 200:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62270.4]
+  assign _T_301 = auto_in_d_ready | _T_300; // @[Fragmenter.scala 201:33:shc.marmotcaravel.MarmotCaravelConfig.fir@62271.4]
+  assign _T_291 = _T_301 & auto_out_d_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@62254.4]
+  assign _GEN_11 = {{3'd0}, _T_272}; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@62256.6]
+  assign _T_292 = _T_244 - _GEN_11; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@62256.6]
+  assign _T_293 = $unsigned(_T_292); // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@62257.6]
+  assign _T_294 = _T_293[3:0]; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@62258.6]
+  assign _T_296 = auto_out_d_bits_source[4]; // @[Fragmenter.scala 190:39:shc.marmotcaravel.MarmotCaravelConfig.fir@62263.8]
+  assign _T_302 = _T_300 == 1'h0; // @[Fragmenter.scala 202:37:shc.marmotcaravel.MarmotCaravelConfig.fir@62273.4]
+  assign _T_330 = Repeater_io_deq_bits_size > 3'h2; // @[Fragmenter.scala 262:29:shc.marmotcaravel.MarmotCaravelConfig.fir@62306.4]
+  assign _T_331 = _T_330 ? 3'h2 : Repeater_io_deq_bits_size; // @[Fragmenter.scala 262:22:shc.marmotcaravel.MarmotCaravelConfig.fir@62307.4]
+  assign _T_333 = 13'h3f << Repeater_io_deq_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@62309.4]
+  assign _T_334 = _T_333[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@62310.4]
+  assign _T_335 = ~ _T_334; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@62311.4]
+  assign _T_337 = 9'h3 << _T_331; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@62313.4]
+  assign _T_338 = _T_337[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@62314.4]
+  assign _T_339 = ~ _T_338; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@62315.4]
+  assign _T_340 = Repeater_io_deq_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@62316.4]
+  assign _T_341 = _T_340 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62317.4]
+  assign _T_345 = _T_344 == 4'h0; // @[Fragmenter.scala 269:27:shc.marmotcaravel.MarmotCaravelConfig.fir@62320.4]
+  assign _T_346 = _T_335[5:2]; // @[Fragmenter.scala 270:46:shc.marmotcaravel.MarmotCaravelConfig.fir@62321.4]
+  assign _T_347 = _T_344 - 4'h1; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@62322.4]
+  assign _T_348 = $unsigned(_T_347); // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@62323.4]
+  assign _T_349 = _T_348[3:0]; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@62324.4]
+  assign _T_350 = _T_345 ? _T_346 : _T_349; // @[Fragmenter.scala 270:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62325.4]
+  assign _T_351 = ~ _T_350; // @[Fragmenter.scala 271:26:shc.marmotcaravel.MarmotCaravelConfig.fir@62326.4]
+  assign _T_354 = ~ _T_351; // @[Fragmenter.scala 271:24:shc.marmotcaravel.MarmotCaravelConfig.fir@62329.4]
+  assign _GEN_5 = _T_345 ? _T_248 : _T_362; // @[Reg.scala 12:19:shc.marmotcaravel.MarmotCaravelConfig.fir@62337.4]
+  assign _T_364 = _GEN_5 == 1'h0; // @[Fragmenter.scala 274:21:shc.marmotcaravel.MarmotCaravelConfig.fir@62341.4]
+  assign _T_92_a_valid = Repeater_io_deq_valid; // @[Nodes.scala 332:76:shc.marmotcaravel.MarmotCaravelConfig.fir@62201.4 Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@62350.4]
+  assign _T_365 = auto_out_a_ready & _T_92_a_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@62342.4]
+  assign _T_366 = _T_341 == 1'h0; // @[Fragmenter.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@62346.4]
+  assign _T_367 = _T_354 != 4'h0; // @[Fragmenter.scala 279:51:shc.marmotcaravel.MarmotCaravelConfig.fir@62347.4]
+  assign _GEN_12 = {{2'd0}, _T_350}; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@62351.4]
+  assign _T_369 = _GEN_12 << 2; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@62351.4]
+  assign _T_370 = ~ _T_335; // @[Fragmenter.scala 281:88:shc.marmotcaravel.MarmotCaravelConfig.fir@62352.4]
+  assign _T_371 = _T_369 | _T_370; // @[Fragmenter.scala 281:86:shc.marmotcaravel.MarmotCaravelConfig.fir@62353.4]
+  assign _GEN_13 = {{4'd0}, _T_339}; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@62354.4]
+  assign _T_372 = _T_371 | _GEN_13; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@62354.4]
+  assign _T_373 = _T_372 | 6'h3; // @[Fragmenter.scala 281:109:shc.marmotcaravel.MarmotCaravelConfig.fir@62355.4]
+  assign _T_374 = ~ _T_373; // @[Fragmenter.scala 281:49:shc.marmotcaravel.MarmotCaravelConfig.fir@62356.4]
+  assign _GEN_14 = {{23'd0}, _T_374}; // @[Fragmenter.scala 281:47:shc.marmotcaravel.MarmotCaravelConfig.fir@62357.4]
+  assign _T_376 = {Repeater_io_deq_bits_source,_T_364}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@62359.4]
+  assign _T_378 = Repeater_io_full == 1'h0; // @[Fragmenter.scala 286:15:shc.marmotcaravel.MarmotCaravelConfig.fir@62363.4]
+  assign _T_380 = _T_378 | _T_366; // @[Fragmenter.scala 286:33:shc.marmotcaravel.MarmotCaravelConfig.fir@62365.4]
+  assign _T_382 = _T_380 | reset; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62367.4]
+  assign _T_383 = _T_382 == 1'h0; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62368.4]
+  assign _T_385 = Repeater_io_deq_bits_mask == 4'hf; // @[Fragmenter.scala 289:51:shc.marmotcaravel.MarmotCaravelConfig.fir@62375.4]
+  assign _T_386 = _T_378 | _T_385; // @[Fragmenter.scala 289:33:shc.marmotcaravel.MarmotCaravelConfig.fir@62376.4]
+  assign _T_388 = _T_386 | reset; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62378.4]
+  assign _T_389 = _T_388 == 1'h0; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62379.4]
+  assign auto_in_a_ready = Repeater_io_enq_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@62204.4]
+  assign auto_in_d_valid = auto_out_d_valid & _T_302; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@62204.4]
+  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@62204.4]
+  assign auto_in_d_bits_size = _T_250 ? _T_290 : _T_246; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@62204.4]
+  assign auto_in_d_bits_source = auto_out_d_bits_source[5:5]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@62204.4]
+  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@62204.4]
+  assign auto_out_a_valid = Repeater_io_deq_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@62203.4]
+  assign auto_out_a_bits_opcode = Repeater_io_deq_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@62203.4]
+  assign auto_out_a_bits_param = Repeater_io_deq_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@62203.4]
+  assign auto_out_a_bits_size = _T_331[1:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@62203.4]
+  assign auto_out_a_bits_source = {_T_376,_T_354}; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@62203.4]
+  assign auto_out_a_bits_address = Repeater_io_deq_bits_address | _GEN_14; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@62203.4]
+  assign auto_out_a_bits_mask = Repeater_io_full ? 4'hf : auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@62203.4]
+  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@62203.4]
+  assign auto_out_a_bits_corrupt = Repeater_io_deq_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@62203.4]
+  assign auto_out_d_ready = auto_in_d_ready | _T_300; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@62203.4]
+  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62166.4]
+  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62167.4]
+  assign TLMonitor_io_in_a_ready = Repeater_io_enq_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@62200.4]
+  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@62200.4]
+  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@62200.4]
+  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@62200.4]
+  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@62200.4]
+  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@62200.4]
+  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@62200.4]
+  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@62200.4]
+  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@62200.4]
+  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@62200.4]
+  assign TLMonitor_io_in_d_valid = auto_out_d_valid & _T_302; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@62200.4]
+  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@62200.4]
+  assign TLMonitor_io_in_d_bits_size = _T_250 ? _T_290 : _T_246; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@62200.4]
+  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source[5:5]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@62200.4]
+  assign Repeater_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62283.4]
+  assign Repeater_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62284.4]
+  assign Repeater_io_repeat = _T_366 & _T_367; // @[Fragmenter.scala 279:26:shc.marmotcaravel.MarmotCaravelConfig.fir@62349.4]
+  assign Repeater_io_enq_valid = auto_in_a_valid; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@62285.4]
+  assign Repeater_io_enq_bits_opcode = auto_in_a_bits_opcode; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@62285.4]
+  assign Repeater_io_enq_bits_param = auto_in_a_bits_param; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@62285.4]
+  assign Repeater_io_enq_bits_size = auto_in_a_bits_size; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@62285.4]
+  assign Repeater_io_enq_bits_source = auto_in_a_bits_source; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@62285.4]
+  assign Repeater_io_enq_bits_address = auto_in_a_bits_address; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@62285.4]
+  assign Repeater_io_enq_bits_mask = auto_in_a_bits_mask; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@62285.4]
+  assign Repeater_io_enq_bits_corrupt = auto_in_a_bits_corrupt; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@62285.4]
+  assign Repeater_io_deq_ready = auto_out_a_ready; // @[Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@62350.4]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  _T_244 = _RAND_0[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  _T_246 = _RAND_1[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  _T_248 = _RAND_2[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  _T_344 = _RAND_3[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  _T_362 = _RAND_4[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      _T_244 <= 4'h0;
+    end else begin
+      if (_T_291) begin
+        if (_T_250) begin
+          _T_244 <= _T_249;
+        end else begin
+          _T_244 <= _T_294;
+        end
+      end
+    end
+    if (_T_291) begin
+      if (_T_250) begin
+        _T_246 <= _T_290;
+      end
+    end
+    if (reset) begin
+      _T_248 <= 1'h0;
+    end else begin
+      if (_T_291) begin
+        if (_T_250) begin
+          _T_248 <= _T_296;
+        end
+      end
+    end
+    if (reset) begin
+      _T_344 <= 4'h0;
+    end else begin
+      if (_T_365) begin
+        _T_344 <= _T_354;
+      end
+    end
+    if (_T_345) begin
+      _T_362 <= _T_248;
+    end
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:180 assert (!out.d.valid || (acknum_fragment & acknum_size) === UInt(0))\n"); // @[Fragmenter.scala 180:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62229.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Fragmenter.scala 180:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62230.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_383) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:286 assert (!repeater.io.full || !aHasData)\n"); // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62370.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_383) begin
+          $fatal; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62371.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_389) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:289 assert (!repeater.io.full || in_a.bits.mask === fullMask)\n"); // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62381.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_389) begin
+          $fatal; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62382.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+endmodule
+module SimpleLazyModule_15( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62393.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62394.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62395.4]
+  output        auto_fragmenter_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62396.4]
+  input         auto_fragmenter_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62396.4]
+  input  [2:0]  auto_fragmenter_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62396.4]
+  input  [2:0]  auto_fragmenter_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62396.4]
+  input  [2:0]  auto_fragmenter_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62396.4]
+  input         auto_fragmenter_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62396.4]
+  input  [28:0] auto_fragmenter_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62396.4]
+  input  [3:0]  auto_fragmenter_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62396.4]
+  input  [31:0] auto_fragmenter_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62396.4]
+  input         auto_fragmenter_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62396.4]
+  input         auto_fragmenter_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62396.4]
+  output        auto_fragmenter_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62396.4]
+  output [2:0]  auto_fragmenter_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62396.4]
+  output [2:0]  auto_fragmenter_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62396.4]
+  output        auto_fragmenter_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62396.4]
+  output [31:0] auto_fragmenter_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62396.4]
+  input         auto_control_xing_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62396.4]
+  output        auto_control_xing_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62396.4]
+  output [2:0]  auto_control_xing_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62396.4]
+  output [2:0]  auto_control_xing_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62396.4]
+  output [1:0]  auto_control_xing_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62396.4]
+  output [5:0]  auto_control_xing_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62396.4]
+  output [28:0] auto_control_xing_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62396.4]
+  output [3:0]  auto_control_xing_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62396.4]
+  output [31:0] auto_control_xing_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62396.4]
+  output        auto_control_xing_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62396.4]
+  output        auto_control_xing_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62396.4]
+  input         auto_control_xing_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62396.4]
+  input  [2:0]  auto_control_xing_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62396.4]
+  input  [1:0]  auto_control_xing_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62396.4]
+  input  [5:0]  auto_control_xing_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62396.4]
+  input  [31:0] auto_control_xing_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62396.4]
+);
+  wire  fragmenter_clock; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@62401.4]
+  wire  fragmenter_reset; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@62401.4]
+  wire  fragmenter_auto_in_a_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@62401.4]
+  wire  fragmenter_auto_in_a_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@62401.4]
+  wire [2:0] fragmenter_auto_in_a_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@62401.4]
+  wire [2:0] fragmenter_auto_in_a_bits_param; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@62401.4]
+  wire [2:0] fragmenter_auto_in_a_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@62401.4]
+  wire  fragmenter_auto_in_a_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@62401.4]
+  wire [28:0] fragmenter_auto_in_a_bits_address; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@62401.4]
+  wire [3:0] fragmenter_auto_in_a_bits_mask; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@62401.4]
+  wire [31:0] fragmenter_auto_in_a_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@62401.4]
+  wire  fragmenter_auto_in_a_bits_corrupt; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@62401.4]
+  wire  fragmenter_auto_in_d_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@62401.4]
+  wire  fragmenter_auto_in_d_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@62401.4]
+  wire [2:0] fragmenter_auto_in_d_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@62401.4]
+  wire [2:0] fragmenter_auto_in_d_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@62401.4]
+  wire  fragmenter_auto_in_d_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@62401.4]
+  wire [31:0] fragmenter_auto_in_d_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@62401.4]
+  wire  fragmenter_auto_out_a_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@62401.4]
+  wire  fragmenter_auto_out_a_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@62401.4]
+  wire [2:0] fragmenter_auto_out_a_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@62401.4]
+  wire [2:0] fragmenter_auto_out_a_bits_param; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@62401.4]
+  wire [1:0] fragmenter_auto_out_a_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@62401.4]
+  wire [5:0] fragmenter_auto_out_a_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@62401.4]
+  wire [28:0] fragmenter_auto_out_a_bits_address; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@62401.4]
+  wire [3:0] fragmenter_auto_out_a_bits_mask; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@62401.4]
+  wire [31:0] fragmenter_auto_out_a_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@62401.4]
+  wire  fragmenter_auto_out_a_bits_corrupt; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@62401.4]
+  wire  fragmenter_auto_out_d_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@62401.4]
+  wire  fragmenter_auto_out_d_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@62401.4]
+  wire [2:0] fragmenter_auto_out_d_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@62401.4]
+  wire [1:0] fragmenter_auto_out_d_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@62401.4]
+  wire [5:0] fragmenter_auto_out_d_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@62401.4]
+  wire [31:0] fragmenter_auto_out_d_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@62401.4]
+  TLFragmenter_7 fragmenter ( // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@62401.4]
+    .clock(fragmenter_clock),
+    .reset(fragmenter_reset),
+    .auto_in_a_ready(fragmenter_auto_in_a_ready),
+    .auto_in_a_valid(fragmenter_auto_in_a_valid),
+    .auto_in_a_bits_opcode(fragmenter_auto_in_a_bits_opcode),
+    .auto_in_a_bits_param(fragmenter_auto_in_a_bits_param),
+    .auto_in_a_bits_size(fragmenter_auto_in_a_bits_size),
+    .auto_in_a_bits_source(fragmenter_auto_in_a_bits_source),
+    .auto_in_a_bits_address(fragmenter_auto_in_a_bits_address),
+    .auto_in_a_bits_mask(fragmenter_auto_in_a_bits_mask),
+    .auto_in_a_bits_data(fragmenter_auto_in_a_bits_data),
+    .auto_in_a_bits_corrupt(fragmenter_auto_in_a_bits_corrupt),
+    .auto_in_d_ready(fragmenter_auto_in_d_ready),
+    .auto_in_d_valid(fragmenter_auto_in_d_valid),
+    .auto_in_d_bits_opcode(fragmenter_auto_in_d_bits_opcode),
+    .auto_in_d_bits_size(fragmenter_auto_in_d_bits_size),
+    .auto_in_d_bits_source(fragmenter_auto_in_d_bits_source),
+    .auto_in_d_bits_data(fragmenter_auto_in_d_bits_data),
+    .auto_out_a_ready(fragmenter_auto_out_a_ready),
+    .auto_out_a_valid(fragmenter_auto_out_a_valid),
+    .auto_out_a_bits_opcode(fragmenter_auto_out_a_bits_opcode),
+    .auto_out_a_bits_param(fragmenter_auto_out_a_bits_param),
+    .auto_out_a_bits_size(fragmenter_auto_out_a_bits_size),
+    .auto_out_a_bits_source(fragmenter_auto_out_a_bits_source),
+    .auto_out_a_bits_address(fragmenter_auto_out_a_bits_address),
+    .auto_out_a_bits_mask(fragmenter_auto_out_a_bits_mask),
+    .auto_out_a_bits_data(fragmenter_auto_out_a_bits_data),
+    .auto_out_a_bits_corrupt(fragmenter_auto_out_a_bits_corrupt),
+    .auto_out_d_ready(fragmenter_auto_out_d_ready),
+    .auto_out_d_valid(fragmenter_auto_out_d_valid),
+    .auto_out_d_bits_opcode(fragmenter_auto_out_d_bits_opcode),
+    .auto_out_d_bits_size(fragmenter_auto_out_d_bits_size),
+    .auto_out_d_bits_source(fragmenter_auto_out_d_bits_source),
+    .auto_out_d_bits_data(fragmenter_auto_out_d_bits_data)
+  );
+  assign auto_fragmenter_in_a_ready = fragmenter_auto_in_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@62414.4]
+  assign auto_fragmenter_in_d_valid = fragmenter_auto_in_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@62414.4]
+  assign auto_fragmenter_in_d_bits_opcode = fragmenter_auto_in_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@62414.4]
+  assign auto_fragmenter_in_d_bits_size = fragmenter_auto_in_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@62414.4]
+  assign auto_fragmenter_in_d_bits_source = fragmenter_auto_in_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@62414.4]
+  assign auto_fragmenter_in_d_bits_data = fragmenter_auto_in_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@62414.4]
+  assign auto_control_xing_out_a_valid = fragmenter_auto_out_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@62413.4]
+  assign auto_control_xing_out_a_bits_opcode = fragmenter_auto_out_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@62413.4]
+  assign auto_control_xing_out_a_bits_param = fragmenter_auto_out_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@62413.4]
+  assign auto_control_xing_out_a_bits_size = fragmenter_auto_out_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@62413.4]
+  assign auto_control_xing_out_a_bits_source = fragmenter_auto_out_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@62413.4]
+  assign auto_control_xing_out_a_bits_address = fragmenter_auto_out_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@62413.4]
+  assign auto_control_xing_out_a_bits_mask = fragmenter_auto_out_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@62413.4]
+  assign auto_control_xing_out_a_bits_data = fragmenter_auto_out_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@62413.4]
+  assign auto_control_xing_out_a_bits_corrupt = fragmenter_auto_out_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@62413.4]
+  assign auto_control_xing_out_d_ready = fragmenter_auto_out_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@62413.4]
+  assign fragmenter_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62405.4]
+  assign fragmenter_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62406.4]
+  assign fragmenter_auto_in_a_valid = auto_fragmenter_in_a_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@62414.4]
+  assign fragmenter_auto_in_a_bits_opcode = auto_fragmenter_in_a_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@62414.4]
+  assign fragmenter_auto_in_a_bits_param = auto_fragmenter_in_a_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@62414.4]
+  assign fragmenter_auto_in_a_bits_size = auto_fragmenter_in_a_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@62414.4]
+  assign fragmenter_auto_in_a_bits_source = auto_fragmenter_in_a_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@62414.4]
+  assign fragmenter_auto_in_a_bits_address = auto_fragmenter_in_a_bits_address; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@62414.4]
+  assign fragmenter_auto_in_a_bits_mask = auto_fragmenter_in_a_bits_mask; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@62414.4]
+  assign fragmenter_auto_in_a_bits_data = auto_fragmenter_in_a_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@62414.4]
+  assign fragmenter_auto_in_a_bits_corrupt = auto_fragmenter_in_a_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@62414.4]
+  assign fragmenter_auto_in_d_ready = auto_fragmenter_in_d_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@62414.4]
+  assign fragmenter_auto_out_a_ready = auto_control_xing_out_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@62412.4]
+  assign fragmenter_auto_out_d_valid = auto_control_xing_out_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@62412.4]
+  assign fragmenter_auto_out_d_bits_opcode = auto_control_xing_out_d_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@62412.4]
+  assign fragmenter_auto_out_d_bits_size = auto_control_xing_out_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@62412.4]
+  assign fragmenter_auto_out_d_bits_source = auto_control_xing_out_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@62412.4]
+  assign fragmenter_auto_out_d_bits_data = auto_control_xing_out_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@62412.4]
+endmodule
+module TLMonitor_35( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62423.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62424.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62425.4]
+  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62426.4]
+  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62426.4]
+  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62426.4]
+  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62426.4]
+  input  [2:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62426.4]
+  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62426.4]
+  input  [28:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62426.4]
+  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62426.4]
+  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62426.4]
+  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62426.4]
+  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62426.4]
+  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62426.4]
+  input  [2:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62426.4]
+  input         io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62426.4]
+);
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@63547.4]
+  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@62442.6]
+  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@62447.6]
+  wire [12:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@62449.6]
+  wire [5:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@62450.6]
+  wire [5:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@62451.6]
+  wire [28:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@62452.6]
+  wire [28:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@62452.6]
+  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@62453.6]
+  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@62455.6]
+  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@62456.6]
+  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@62458.6]
+  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@62459.6]
+  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@62460.6]
+  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@62461.6]
+  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@62462.6]
+  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@62464.6]
+  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@62465.6]
+  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@62467.6]
+  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@62468.6]
+  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@62469.6]
+  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@62470.6]
+  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@62471.6]
+  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@62472.6]
+  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@62473.6]
+  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@62474.6]
+  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@62475.6]
+  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@62476.6]
+  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@62477.6]
+  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@62478.6]
+  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@62479.6]
+  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@62480.6]
+  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@62481.6]
+  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@62482.6]
+  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@62483.6]
+  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@62484.6]
+  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@62485.6]
+  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@62486.6]
+  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@62511.6]
+  wire [28:0] _T_92; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@62514.8]
+  wire [29:0] _T_93; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@62515.8]
+  wire [29:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@62516.8]
+  wire [29:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@62517.8]
+  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@62518.8]
+  wire  _T_101; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62523.8]
+  wire  _T_106; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62536.8]
+  wire  _T_107; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62537.8]
+  wire  _T_110; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62544.8]
+  wire  _T_111; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62545.8]
+  wire  _T_113; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62551.8]
+  wire  _T_114; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62552.8]
+  wire  _T_115; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@62557.8]
+  wire  _T_117; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62559.8]
+  wire  _T_118; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62560.8]
+  wire [3:0] _T_119; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@62565.8]
+  wire  _T_120; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62566.8]
+  wire  _T_122; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62568.8]
+  wire  _T_123; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62569.8]
+  wire  _T_124; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@62574.8]
+  wire  _T_126; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62576.8]
+  wire  _T_127; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62577.8]
+  wire  _T_128; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@62583.6]
+  wire  _T_157; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62637.8]
+  wire  _T_159; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62639.8]
+  wire  _T_160; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62640.8]
+  wire  _T_170; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@62663.6]
+  wire  _T_172; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@62666.8]
+  wire  _T_180; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@62674.8]
+  wire  _T_183; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62677.8]
+  wire  _T_184; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62678.8]
+  wire  _T_191; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62697.8]
+  wire  _T_193; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62699.8]
+  wire  _T_194; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62700.8]
+  wire  _T_195; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@62705.8]
+  wire  _T_197; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62707.8]
+  wire  _T_198; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62708.8]
+  wire  _T_203; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@62722.6]
+  wire  _T_232; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@62773.6]
+  wire [3:0] _T_257; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@62815.8]
+  wire [3:0] _T_258; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62816.8]
+  wire  _T_259; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@62817.8]
+  wire  _T_261; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62819.8]
+  wire  _T_262; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62820.8]
+  wire  _T_263; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@62826.6]
+  wire  _T_281; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@62857.8]
+  wire  _T_283; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62859.8]
+  wire  _T_284; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62860.8]
+  wire  _T_289; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@62874.6]
+  wire  _T_307; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@62905.8]
+  wire  _T_309; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62907.8]
+  wire  _T_310; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62908.8]
+  wire  _T_315; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@62922.6]
+  wire  _T_341; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@62972.6]
+  wire  _T_343; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@62974.6]
+  wire  _T_344; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@62975.6]
+  wire  _T_346; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@62981.6]
+  wire  _T_355; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@62986.6]
+  wire  _T_357; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@62988.6]
+  wire  _T_359; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62991.8]
+  wire  _T_360; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62992.8]
+  wire  _T_361; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@62997.8]
+  wire  _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62999.8]
+  wire  _T_364; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63000.8]
+  wire  _T_377; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@63030.6]
+  wire  _T_405; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@63088.6]
+  wire  _T_434; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@63147.6]
+  wire  _T_451; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@63182.6]
+  wire  _T_469; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@63218.6]
+  wire  _T_498; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@63278.4]
+  wire [3:0] _T_503; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@63283.4]
+  wire  _T_504; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@63284.4]
+  wire  _T_505; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63285.4]
+  reg [3:0] _T_508; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@63287.4]
+  reg [31:0] _RAND_0;
+  wire [4:0] _T_509; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63288.4]
+  wire [4:0] _T_510; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63289.4]
+  wire [3:0] _T_511; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63290.4]
+  wire  _T_512; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@63291.4]
+  reg [2:0] _T_521; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@63302.4]
+  reg [31:0] _RAND_1;
+  reg [2:0] _T_523; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@63303.4]
+  reg [31:0] _RAND_2;
+  reg [2:0] _T_525; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@63304.4]
+  reg [31:0] _RAND_3;
+  reg  _T_527; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@63305.4]
+  reg [31:0] _RAND_4;
+  reg [28:0] _T_529; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@63306.4]
+  reg [31:0] _RAND_5;
+  wire  _T_530; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@63307.4]
+  wire  _T_531; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@63308.4]
+  wire  _T_532; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@63310.6]
+  wire  _T_534; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63312.6]
+  wire  _T_535; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63313.6]
+  wire  _T_536; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@63318.6]
+  wire  _T_538; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63320.6]
+  wire  _T_539; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63321.6]
+  wire  _T_540; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@63326.6]
+  wire  _T_542; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63328.6]
+  wire  _T_543; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63329.6]
+  wire  _T_544; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@63334.6]
+  wire  _T_546; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63336.6]
+  wire  _T_547; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63337.6]
+  wire  _T_548; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@63342.6]
+  wire  _T_550; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63344.6]
+  wire  _T_551; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63345.6]
+  wire  _T_553; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@63352.4]
+  wire  _T_554; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@63360.4]
+  wire [12:0] _T_556; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@63362.4]
+  wire [5:0] _T_557; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@63363.4]
+  wire [5:0] _T_558; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@63364.4]
+  wire [3:0] _T_559; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@63365.4]
+  wire  _T_560; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@63366.4]
+  reg [3:0] _T_563; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@63368.4]
+  reg [31:0] _RAND_6;
+  wire [4:0] _T_564; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63369.4]
+  wire [4:0] _T_565; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63370.4]
+  wire [3:0] _T_566; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63371.4]
+  wire  _T_567; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@63372.4]
+  reg [2:0] _T_576; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@63383.4]
+  reg [31:0] _RAND_7;
+  reg [2:0] _T_580; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@63385.4]
+  reg [31:0] _RAND_8;
+  reg  _T_582; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@63386.4]
+  reg [31:0] _RAND_9;
+  wire  _T_587; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@63389.4]
+  wire  _T_588; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@63390.4]
+  wire  _T_589; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@63392.6]
+  wire  _T_591; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63394.6]
+  wire  _T_592; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63395.6]
+  wire  _T_597; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@63408.6]
+  wire  _T_599; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63410.6]
+  wire  _T_600; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63411.6]
+  wire  _T_601; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@63416.6]
+  wire  _T_603; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63418.6]
+  wire  _T_604; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63419.6]
+  wire  _T_614; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@63442.4]
+  reg [1:0] _T_616; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@63451.4]
+  reg [31:0] _RAND_10;
+  reg [3:0] _T_627; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@63461.4]
+  reg [31:0] _RAND_11;
+  wire [4:0] _T_628; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63462.4]
+  wire [4:0] _T_629; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63463.4]
+  wire [3:0] _T_630; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63464.4]
+  wire  _T_631; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@63465.4]
+  reg [3:0] _T_648; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@63484.4]
+  reg [31:0] _RAND_12;
+  wire [4:0] _T_649; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63485.4]
+  wire [4:0] _T_650; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63486.4]
+  wire [3:0] _T_651; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63487.4]
+  wire  _T_652; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@63488.4]
+  wire  _T_663; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@63503.4]
+  wire [1:0] _T_665; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@63506.6]
+  wire [1:0] _T_666; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@63508.6]
+  wire  _T_667; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@63509.6]
+  wire  _T_668; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63510.6]
+  wire  _T_670; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@63512.6]
+  wire  _T_671; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@63513.6]
+  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@63505.4]
+  wire  _T_676; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@63524.4]
+  wire  _T_678; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@63526.4]
+  wire  _T_679; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@63527.4]
+  wire [1:0] _T_680; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@63529.6]
+  wire [1:0] _T_681; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@63531.6]
+  wire [1:0] _T_682; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@63532.6]
+  wire  _T_683; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@63533.6]
+  wire  _T_685; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@63535.6]
+  wire  _T_686; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@63536.6]
+  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@63528.4]
+  wire [1:0] _T_687; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@63542.4]
+  wire [1:0] _T_688; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@63543.4]
+  wire [1:0] _T_689; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@63544.4]
+  reg [31:0] _T_691; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@63546.4]
+  reg [31:0] _RAND_13;
+  wire  _T_692; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@63549.4]
+  wire  _T_693; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@63550.4]
+  wire  _T_694; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@63551.4]
+  wire  _T_695; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@63552.4]
+  wire  _T_696; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@63553.4]
+  wire  _T_697; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@63554.4]
+  wire  _T_699; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@63556.4]
+  wire  _T_700; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@63557.4]
+  wire [31:0] _T_702; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@63563.4]
+  wire  _T_705; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@63567.4]
+  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62525.10]
+  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62597.10]
+  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62680.10]
+  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62739.10]
+  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62790.10]
+  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62840.10]
+  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62888.10]
+  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62936.10]
+  wire  _GEN_115; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62994.10]
+  wire  _GEN_119; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63036.10]
+  wire  _GEN_125; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63094.10]
+  wire  _GEN_131; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63153.10]
+  wire  _GEN_133; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63188.10]
+  wire  _GEN_135; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63224.10]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@63547.4]
+    .out(plusarg_reader_out)
+  );
+  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@62442.6]
+  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@62447.6]
+  assign _T_32 = 13'h3f << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@62449.6]
+  assign _T_33 = _T_32[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@62450.6]
+  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@62451.6]
+  assign _GEN_18 = {{23'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@62452.6]
+  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@62452.6]
+  assign _T_36 = _T_35 == 29'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@62453.6]
+  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@62455.6]
+  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@62456.6]
+  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@62458.6]
+  assign _T_42 = io_in_a_bits_size >= 3'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@62459.6]
+  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@62460.6]
+  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@62461.6]
+  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@62462.6]
+  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@62464.6]
+  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@62465.6]
+  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@62467.6]
+  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@62468.6]
+  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@62469.6]
+  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@62470.6]
+  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@62471.6]
+  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@62472.6]
+  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@62473.6]
+  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@62474.6]
+  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@62475.6]
+  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@62476.6]
+  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@62477.6]
+  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@62478.6]
+  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@62479.6]
+  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@62480.6]
+  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@62481.6]
+  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@62482.6]
+  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@62483.6]
+  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@62484.6]
+  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@62485.6]
+  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@62486.6]
+  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@62511.6]
+  assign _T_92 = io_in_a_bits_address ^ 29'h10043000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@62514.8]
+  assign _T_93 = {1'b0,$signed(_T_92)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@62515.8]
+  assign _T_94 = $signed(_T_93) & $signed(-30'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@62516.8]
+  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@62517.8]
+  assign _T_96 = $signed(_T_95) == $signed(30'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@62518.8]
+  assign _T_101 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62523.8]
+  assign _T_106 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62536.8]
+  assign _T_107 = _T_106 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62537.8]
+  assign _T_110 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62544.8]
+  assign _T_111 = _T_110 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62545.8]
+  assign _T_113 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62551.8]
+  assign _T_114 = _T_113 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62552.8]
+  assign _T_115 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@62557.8]
+  assign _T_117 = _T_115 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62559.8]
+  assign _T_118 = _T_117 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62560.8]
+  assign _T_119 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@62565.8]
+  assign _T_120 = _T_119 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62566.8]
+  assign _T_122 = _T_120 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62568.8]
+  assign _T_123 = _T_122 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62569.8]
+  assign _T_124 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@62574.8]
+  assign _T_126 = _T_124 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62576.8]
+  assign _T_127 = _T_126 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62577.8]
+  assign _T_128 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@62583.6]
+  assign _T_157 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62637.8]
+  assign _T_159 = _T_157 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62639.8]
+  assign _T_160 = _T_159 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62640.8]
+  assign _T_170 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@62663.6]
+  assign _T_172 = io_in_a_bits_size <= 3'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@62666.8]
+  assign _T_180 = _T_172 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@62674.8]
+  assign _T_183 = _T_180 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62677.8]
+  assign _T_184 = _T_183 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62678.8]
+  assign _T_191 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62697.8]
+  assign _T_193 = _T_191 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62699.8]
+  assign _T_194 = _T_193 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62700.8]
+  assign _T_195 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@62705.8]
+  assign _T_197 = _T_195 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62707.8]
+  assign _T_198 = _T_197 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62708.8]
+  assign _T_203 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@62722.6]
+  assign _T_232 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@62773.6]
+  assign _T_257 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@62815.8]
+  assign _T_258 = io_in_a_bits_mask & _T_257; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62816.8]
+  assign _T_259 = _T_258 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@62817.8]
+  assign _T_261 = _T_259 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62819.8]
+  assign _T_262 = _T_261 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62820.8]
+  assign _T_263 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@62826.6]
+  assign _T_281 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@62857.8]
+  assign _T_283 = _T_281 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62859.8]
+  assign _T_284 = _T_283 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62860.8]
+  assign _T_289 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@62874.6]
+  assign _T_307 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@62905.8]
+  assign _T_309 = _T_307 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62907.8]
+  assign _T_310 = _T_309 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62908.8]
+  assign _T_315 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@62922.6]
+  assign _T_341 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@62972.6]
+  assign _T_343 = _T_341 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@62974.6]
+  assign _T_344 = _T_343 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@62975.6]
+  assign _T_346 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@62981.6]
+  assign _T_355 = io_in_d_bits_source | _T_346; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@62986.6]
+  assign _T_357 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@62988.6]
+  assign _T_359 = _T_355 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62991.8]
+  assign _T_360 = _T_359 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62992.8]
+  assign _T_361 = io_in_d_bits_size >= 3'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@62997.8]
+  assign _T_363 = _T_361 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62999.8]
+  assign _T_364 = _T_363 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63000.8]
+  assign _T_377 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@63030.6]
+  assign _T_405 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@63088.6]
+  assign _T_434 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@63147.6]
+  assign _T_451 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@63182.6]
+  assign _T_469 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@63218.6]
+  assign _T_498 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@63278.4]
+  assign _T_503 = _T_34[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@63283.4]
+  assign _T_504 = io_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@63284.4]
+  assign _T_505 = _T_504 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63285.4]
+  assign _T_509 = _T_508 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63288.4]
+  assign _T_510 = $unsigned(_T_509); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63289.4]
+  assign _T_511 = _T_510[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63290.4]
+  assign _T_512 = _T_508 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@63291.4]
+  assign _T_530 = _T_512 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@63307.4]
+  assign _T_531 = io_in_a_valid & _T_530; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@63308.4]
+  assign _T_532 = io_in_a_bits_opcode == _T_521; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@63310.6]
+  assign _T_534 = _T_532 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63312.6]
+  assign _T_535 = _T_534 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63313.6]
+  assign _T_536 = io_in_a_bits_param == _T_523; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@63318.6]
+  assign _T_538 = _T_536 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63320.6]
+  assign _T_539 = _T_538 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63321.6]
+  assign _T_540 = io_in_a_bits_size == _T_525; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@63326.6]
+  assign _T_542 = _T_540 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63328.6]
+  assign _T_543 = _T_542 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63329.6]
+  assign _T_544 = io_in_a_bits_source == _T_527; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@63334.6]
+  assign _T_546 = _T_544 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63336.6]
+  assign _T_547 = _T_546 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63337.6]
+  assign _T_548 = io_in_a_bits_address == _T_529; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@63342.6]
+  assign _T_550 = _T_548 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63344.6]
+  assign _T_551 = _T_550 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63345.6]
+  assign _T_553 = _T_498 & _T_512; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@63352.4]
+  assign _T_554 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@63360.4]
+  assign _T_556 = 13'h3f << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@63362.4]
+  assign _T_557 = _T_556[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@63363.4]
+  assign _T_558 = ~ _T_557; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@63364.4]
+  assign _T_559 = _T_558[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@63365.4]
+  assign _T_560 = io_in_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@63366.4]
+  assign _T_564 = _T_563 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63369.4]
+  assign _T_565 = $unsigned(_T_564); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63370.4]
+  assign _T_566 = _T_565[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63371.4]
+  assign _T_567 = _T_563 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@63372.4]
+  assign _T_587 = _T_567 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@63389.4]
+  assign _T_588 = io_in_d_valid & _T_587; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@63390.4]
+  assign _T_589 = io_in_d_bits_opcode == _T_576; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@63392.6]
+  assign _T_591 = _T_589 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63394.6]
+  assign _T_592 = _T_591 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63395.6]
+  assign _T_597 = io_in_d_bits_size == _T_580; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@63408.6]
+  assign _T_599 = _T_597 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63410.6]
+  assign _T_600 = _T_599 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63411.6]
+  assign _T_601 = io_in_d_bits_source == _T_582; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@63416.6]
+  assign _T_603 = _T_601 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63418.6]
+  assign _T_604 = _T_603 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63419.6]
+  assign _T_614 = _T_554 & _T_567; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@63442.4]
+  assign _T_628 = _T_627 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63462.4]
+  assign _T_629 = $unsigned(_T_628); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63463.4]
+  assign _T_630 = _T_629[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63464.4]
+  assign _T_631 = _T_627 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@63465.4]
+  assign _T_649 = _T_648 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63485.4]
+  assign _T_650 = $unsigned(_T_649); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63486.4]
+  assign _T_651 = _T_650[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63487.4]
+  assign _T_652 = _T_648 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@63488.4]
+  assign _T_663 = _T_498 & _T_631; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@63503.4]
+  assign _T_665 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@63506.6]
+  assign _T_666 = _T_616 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@63508.6]
+  assign _T_667 = _T_666[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@63509.6]
+  assign _T_668 = _T_667 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63510.6]
+  assign _T_670 = _T_668 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@63512.6]
+  assign _T_671 = _T_670 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@63513.6]
+  assign _GEN_15 = _T_663 ? _T_665 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@63505.4]
+  assign _T_676 = _T_554 & _T_652; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@63524.4]
+  assign _T_678 = _T_357 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@63526.4]
+  assign _T_679 = _T_676 & _T_678; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@63527.4]
+  assign _T_680 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@63529.6]
+  assign _T_681 = _GEN_15 | _T_616; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@63531.6]
+  assign _T_682 = _T_681 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@63532.6]
+  assign _T_683 = _T_682[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@63533.6]
+  assign _T_685 = _T_683 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@63535.6]
+  assign _T_686 = _T_685 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@63536.6]
+  assign _GEN_16 = _T_679 ? _T_680 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@63528.4]
+  assign _T_687 = _T_616 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@63542.4]
+  assign _T_688 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@63543.4]
+  assign _T_689 = _T_687 & _T_688; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@63544.4]
+  assign _T_692 = _T_616 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@63549.4]
+  assign _T_693 = _T_692 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@63550.4]
+  assign _T_694 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@63551.4]
+  assign _T_695 = _T_693 | _T_694; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@63552.4]
+  assign _T_696 = _T_691 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@63553.4]
+  assign _T_697 = _T_695 | _T_696; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@63554.4]
+  assign _T_699 = _T_697 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@63556.4]
+  assign _T_700 = _T_699 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@63557.4]
+  assign _T_702 = _T_691 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@63563.4]
+  assign _T_705 = _T_498 | _T_554; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@63567.4]
+  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62525.10]
+  assign _GEN_35 = io_in_a_valid & _T_128; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62597.10]
+  assign _GEN_53 = io_in_a_valid & _T_170; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62680.10]
+  assign _GEN_65 = io_in_a_valid & _T_203; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62739.10]
+  assign _GEN_75 = io_in_a_valid & _T_232; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62790.10]
+  assign _GEN_85 = io_in_a_valid & _T_263; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62840.10]
+  assign _GEN_95 = io_in_a_valid & _T_289; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62888.10]
+  assign _GEN_105 = io_in_a_valid & _T_315; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62936.10]
+  assign _GEN_115 = io_in_d_valid & _T_357; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62994.10]
+  assign _GEN_119 = io_in_d_valid & _T_377; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63036.10]
+  assign _GEN_125 = io_in_d_valid & _T_405; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63094.10]
+  assign _GEN_131 = io_in_d_valid & _T_434; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63153.10]
+  assign _GEN_133 = io_in_d_valid & _T_451; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63188.10]
+  assign _GEN_135 = io_in_d_valid & _T_469; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63224.10]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  _T_508 = _RAND_0[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  _T_521 = _RAND_1[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  _T_523 = _RAND_2[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  _T_525 = _RAND_3[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  _T_527 = _RAND_4[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  _T_529 = _RAND_5[28:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {1{`RANDOM}};
+  _T_563 = _RAND_6[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {1{`RANDOM}};
+  _T_576 = _RAND_7[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_8 = {1{`RANDOM}};
+  _T_580 = _RAND_8[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_9 = {1{`RANDOM}};
+  _T_582 = _RAND_9[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_10 = {1{`RANDOM}};
+  _T_616 = _RAND_10[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_11 = {1{`RANDOM}};
+  _T_627 = _RAND_11[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_12 = {1{`RANDOM}};
+  _T_648 = _RAND_12[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_13 = {1{`RANDOM}};
+  _T_691 = _RAND_13[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      _T_508 <= 4'h0;
+    end else begin
+      if (_T_498) begin
+        if (_T_512) begin
+          if (_T_505) begin
+            _T_508 <= _T_503;
+          end else begin
+            _T_508 <= 4'h0;
+          end
+        end else begin
+          _T_508 <= _T_511;
+        end
+      end
+    end
+    if (_T_553) begin
+      _T_521 <= io_in_a_bits_opcode;
+    end
+    if (_T_553) begin
+      _T_523 <= io_in_a_bits_param;
+    end
+    if (_T_553) begin
+      _T_525 <= io_in_a_bits_size;
+    end
+    if (_T_553) begin
+      _T_527 <= io_in_a_bits_source;
+    end
+    if (_T_553) begin
+      _T_529 <= io_in_a_bits_address;
+    end
+    if (reset) begin
+      _T_563 <= 4'h0;
+    end else begin
+      if (_T_554) begin
+        if (_T_567) begin
+          if (_T_560) begin
+            _T_563 <= _T_559;
+          end else begin
+            _T_563 <= 4'h0;
+          end
+        end else begin
+          _T_563 <= _T_566;
+        end
+      end
+    end
+    if (_T_614) begin
+      _T_576 <= io_in_d_bits_opcode;
+    end
+    if (_T_614) begin
+      _T_580 <= io_in_d_bits_size;
+    end
+    if (_T_614) begin
+      _T_582 <= io_in_d_bits_source;
+    end
+    if (reset) begin
+      _T_616 <= 2'h0;
+    end else begin
+      _T_616 <= _T_689;
+    end
+    if (reset) begin
+      _T_627 <= 4'h0;
+    end else begin
+      if (_T_498) begin
+        if (_T_631) begin
+          if (_T_505) begin
+            _T_627 <= _T_503;
+          end else begin
+            _T_627 <= 4'h0;
+          end
+        end else begin
+          _T_627 <= _T_630;
+        end
+      end
+    end
+    if (reset) begin
+      _T_648 <= 4'h0;
+    end else begin
+      if (_T_554) begin
+        if (_T_652) begin
+          if (_T_560) begin
+            _T_648 <= _T_559;
+          end else begin
+            _T_648 <= 4'h0;
+          end
+        end else begin
+          _T_648 <= _T_651;
+        end
+      end
+    end
+    if (reset) begin
+      _T_691 <= 32'h0;
+    end else begin
+      if (_T_705) begin
+        _T_691 <= 32'h0;
+      end else begin
+        _T_691 <= _T_702;
+      end
+    end
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at UART.scala:157:94)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@62438.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@62439.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@62508.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@62509.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at UART.scala:157:94)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62525.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_101) begin
+          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62526.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at UART.scala:157:94)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62532.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_101) begin
+          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62533.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62539.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_107) begin
+          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62540.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_111) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at UART.scala:157:94)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62547.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_111) begin
+          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62548.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at UART.scala:157:94)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62554.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_114) begin
+          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62555.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_118) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at UART.scala:157:94)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62562.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_118) begin
+          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62563.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_123) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at UART.scala:157:94)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62571.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_123) begin
+          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62572.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_127) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at UART.scala:157:94)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62579.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_127) begin
+          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62580.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at UART.scala:157:94)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62597.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_101) begin
+          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62598.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at UART.scala:157:94)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62604.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_101) begin
+          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62605.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62611.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_107) begin
+          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62612.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_111) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at UART.scala:157:94)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62619.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_111) begin
+          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62620.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at UART.scala:157:94)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62626.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_114) begin
+          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62627.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_118) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at UART.scala:157:94)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62634.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_118) begin
+          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62635.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_160) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at UART.scala:157:94)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62642.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_160) begin
+          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62643.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_123) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at UART.scala:157:94)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62651.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_123) begin
+          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62652.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_127) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at UART.scala:157:94)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62659.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_127) begin
+          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62660.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_184) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at UART.scala:157:94)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62680.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_184) begin
+          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62681.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62687.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_107) begin
+          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62688.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at UART.scala:157:94)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62694.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_114) begin
+          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62695.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_194) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at UART.scala:157:94)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62702.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_194) begin
+          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62703.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_198) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at UART.scala:157:94)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62710.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_198) begin
+          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62711.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_127) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at UART.scala:157:94)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62718.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_127) begin
+          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62719.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_184) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at UART.scala:157:94)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62739.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_184) begin
+          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62740.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62746.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_107) begin
+          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62747.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at UART.scala:157:94)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62753.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_114) begin
+          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62754.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_194) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at UART.scala:157:94)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62761.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_194) begin
+          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62762.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_198) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at UART.scala:157:94)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62769.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_198) begin
+          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62770.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_184) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at UART.scala:157:94)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62790.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_184) begin
+          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62791.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62797.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_107) begin
+          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62798.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at UART.scala:157:94)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62804.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_114) begin
+          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62805.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_194) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at UART.scala:157:94)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62812.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_194) begin
+          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62813.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_262) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at UART.scala:157:94)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62822.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_262) begin
+          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62823.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at UART.scala:157:94)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62840.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_101) begin
+          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62841.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62847.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_107) begin
+          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62848.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at UART.scala:157:94)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62854.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_114) begin
+          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62855.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_284) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at UART.scala:157:94)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62862.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_284) begin
+          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62863.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_198) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at UART.scala:157:94)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62870.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_198) begin
+          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62871.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at UART.scala:157:94)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62888.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_101) begin
+          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62889.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62895.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_107) begin
+          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62896.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at UART.scala:157:94)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62902.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_114) begin
+          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62903.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_310) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at UART.scala:157:94)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62910.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_310) begin
+          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62911.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_198) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at UART.scala:157:94)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62918.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_198) begin
+          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62919.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at UART.scala:157:94)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62936.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_101) begin
+          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62937.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62943.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_107) begin
+          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62944.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at UART.scala:157:94)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62950.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_114) begin
+          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62951.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_198) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at UART.scala:157:94)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62958.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_198) begin
+          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62959.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_127) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at UART.scala:157:94)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62966.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_127) begin
+          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62967.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_344) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at UART.scala:157:94)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@62977.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_344) begin
+          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@62978.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_360) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62994.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_360) begin
+          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62995.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_364) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at UART.scala:157:94)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63002.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_364) begin
+          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63003.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at UART.scala:157:94)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63010.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63011.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at UART.scala:157:94)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63018.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63019.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at UART.scala:157:94)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63026.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63027.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_119 & _T_360) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63036.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_119 & _T_360) begin
+          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63037.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_119 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at UART.scala:157:94)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63043.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_119 & _T_101) begin
+          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63044.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_119 & _T_364) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at UART.scala:157:94)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63051.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_119 & _T_364) begin
+          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63052.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at UART.scala:157:94)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63059.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63060.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at UART.scala:157:94)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63067.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63068.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at UART.scala:157:94)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63075.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63076.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at UART.scala:157:94)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63084.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63085.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_360) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63094.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_360) begin
+          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63095.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at UART.scala:157:94)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63101.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_101) begin
+          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63102.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_364) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at UART.scala:157:94)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63109.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_364) begin
+          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63110.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at UART.scala:157:94)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63117.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63118.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at UART.scala:157:94)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63125.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63126.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at UART.scala:157:94)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63134.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63135.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at UART.scala:157:94)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63143.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63144.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_131 & _T_360) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63153.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_131 & _T_360) begin
+          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63154.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at UART.scala:157:94)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63161.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63162.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at UART.scala:157:94)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63169.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63170.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at UART.scala:157:94)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63178.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63179.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_133 & _T_360) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63188.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_133 & _T_360) begin
+          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63189.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at UART.scala:157:94)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63196.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63197.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at UART.scala:157:94)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63205.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63206.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at UART.scala:157:94)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63214.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63215.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_135 & _T_360) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63224.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_135 & _T_360) begin
+          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63225.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at UART.scala:157:94)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63232.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63233.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at UART.scala:157:94)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63240.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63241.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at UART.scala:157:94)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63249.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63250.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at UART.scala:157:94)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63259.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63260.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at UART.scala:157:94)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63267.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63268.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at UART.scala:157:94)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63275.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63276.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_531 & _T_535) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at UART.scala:157:94)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63315.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_531 & _T_535) begin
+          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63316.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_531 & _T_539) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at UART.scala:157:94)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63323.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_531 & _T_539) begin
+          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63324.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_531 & _T_543) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at UART.scala:157:94)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63331.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_531 & _T_543) begin
+          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63332.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_531 & _T_547) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at UART.scala:157:94)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63339.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_531 & _T_547) begin
+          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63340.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_531 & _T_551) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at UART.scala:157:94)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63347.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_531 & _T_551) begin
+          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63348.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_588 & _T_592) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at UART.scala:157:94)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63397.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_588 & _T_592) begin
+          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63398.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at UART.scala:157:94)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63405.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63406.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_588 & _T_600) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at UART.scala:157:94)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63413.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_588 & _T_600) begin
+          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63414.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_588 & _T_604) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at UART.scala:157:94)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63421.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_588 & _T_604) begin
+          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63422.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at UART.scala:157:94)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63429.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63430.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at UART.scala:157:94)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63437.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63438.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_663 & _T_671) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at UART.scala:157:94)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@63515.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_663 & _T_671) begin
+          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@63516.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_679 & _T_686) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at UART.scala:157:94)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@63538.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_679 & _T_686) begin
+          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@63539.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_700) begin
+          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at UART.scala:157:94)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@63559.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_700) begin
+          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@63560.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+endmodule
+module TLFragmenter_8( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63603.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63604.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63605.4]
+  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63606.4]
+  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63606.4]
+  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63606.4]
+  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63606.4]
+  input  [2:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63606.4]
+  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63606.4]
+  input  [28:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63606.4]
+  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63606.4]
+  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63606.4]
+  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63606.4]
+  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63606.4]
+  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63606.4]
+  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63606.4]
+  output [2:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63606.4]
+  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63606.4]
+  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63606.4]
+  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63606.4]
+  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63606.4]
+  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63606.4]
+  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63606.4]
+  output [1:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63606.4]
+  output [5:0]  auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63606.4]
+  output [28:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63606.4]
+  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63606.4]
+  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63606.4]
+  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63606.4]
+  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63606.4]
+  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63606.4]
+  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63606.4]
+  input  [1:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63606.4]
+  input  [5:0]  auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63606.4]
+  input  [31:0] auto_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63606.4]
+);
+  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@63613.4]
+  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@63613.4]
+  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@63613.4]
+  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@63613.4]
+  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@63613.4]
+  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@63613.4]
+  wire [2:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@63613.4]
+  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@63613.4]
+  wire [28:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@63613.4]
+  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@63613.4]
+  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@63613.4]
+  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@63613.4]
+  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@63613.4]
+  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@63613.4]
+  wire [2:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@63613.4]
+  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@63613.4]
+  wire  Repeater_clock; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63730.4]
+  wire  Repeater_reset; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63730.4]
+  wire  Repeater_io_repeat; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63730.4]
+  wire  Repeater_io_full; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63730.4]
+  wire  Repeater_io_enq_ready; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63730.4]
+  wire  Repeater_io_enq_valid; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63730.4]
+  wire [2:0] Repeater_io_enq_bits_opcode; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63730.4]
+  wire [2:0] Repeater_io_enq_bits_param; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63730.4]
+  wire [2:0] Repeater_io_enq_bits_size; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63730.4]
+  wire  Repeater_io_enq_bits_source; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63730.4]
+  wire [28:0] Repeater_io_enq_bits_address; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63730.4]
+  wire [3:0] Repeater_io_enq_bits_mask; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63730.4]
+  wire  Repeater_io_enq_bits_corrupt; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63730.4]
+  wire  Repeater_io_deq_ready; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63730.4]
+  wire  Repeater_io_deq_valid; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63730.4]
+  wire [2:0] Repeater_io_deq_bits_opcode; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63730.4]
+  wire [2:0] Repeater_io_deq_bits_param; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63730.4]
+  wire [2:0] Repeater_io_deq_bits_size; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63730.4]
+  wire  Repeater_io_deq_bits_source; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63730.4]
+  wire [28:0] Repeater_io_deq_bits_address; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63730.4]
+  wire [3:0] Repeater_io_deq_bits_mask; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63730.4]
+  wire  Repeater_io_deq_bits_corrupt; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63730.4]
+  reg [3:0] _T_244; // @[Fragmenter.scala 167:27:shc.marmotcaravel.MarmotCaravelConfig.fir@63654.4]
+  reg [31:0] _RAND_0;
+  reg [2:0] _T_246; // @[Fragmenter.scala 168:22:shc.marmotcaravel.MarmotCaravelConfig.fir@63655.4]
+  reg [31:0] _RAND_1;
+  reg  _T_248; // @[Fragmenter.scala 169:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63656.4]
+  reg [31:0] _RAND_2;
+  wire [3:0] _T_249; // @[Fragmenter.scala 170:39:shc.marmotcaravel.MarmotCaravelConfig.fir@63657.4]
+  wire  _T_250; // @[Fragmenter.scala 171:27:shc.marmotcaravel.MarmotCaravelConfig.fir@63658.4]
+  wire  _T_251; // @[Fragmenter.scala 172:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63659.4]
+  wire [3:0] _T_253; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@63661.4]
+  wire [2:0] _T_254; // @[OneHot.scala 52:27:shc.marmotcaravel.MarmotCaravelConfig.fir@63662.4]
+  wire [4:0] _T_256; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@63664.4]
+  wire [1:0] _T_257; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@63665.4]
+  wire [1:0] _T_258; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@63666.4]
+  wire  _T_259; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@63667.4]
+  wire  _T_271; // @[Fragmenter.scala 182:58:shc.marmotcaravel.MarmotCaravelConfig.fir@63683.4]
+  wire  _T_272; // @[Fragmenter.scala 182:30:shc.marmotcaravel.MarmotCaravelConfig.fir@63684.4]
+  wire [5:0] _GEN_7; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@63685.4]
+  wire [5:0] _T_273; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@63685.4]
+  wire [5:0] _GEN_8; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@63686.4]
+  wire [5:0] _T_274; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@63686.4]
+  wire [6:0] _GEN_9; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@63687.4]
+  wire [6:0] _T_275; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@63687.4]
+  wire [6:0] _T_276; // @[package.scala 183:40:shc.marmotcaravel.MarmotCaravelConfig.fir@63688.4]
+  wire [6:0] _T_277; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@63689.4]
+  wire [6:0] _T_278; // @[package.scala 183:53:shc.marmotcaravel.MarmotCaravelConfig.fir@63690.4]
+  wire [6:0] _T_279; // @[package.scala 183:51:shc.marmotcaravel.MarmotCaravelConfig.fir@63691.4]
+  wire [2:0] _T_280; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@63692.4]
+  wire [3:0] _T_281; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@63693.4]
+  wire  _T_282; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63694.4]
+  wire [3:0] _GEN_10; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63695.4]
+  wire [3:0] _T_283; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63695.4]
+  wire [1:0] _T_284; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@63696.4]
+  wire [1:0] _T_285; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@63697.4]
+  wire  _T_286; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63698.4]
+  wire [1:0] _T_287; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63699.4]
+  wire  _T_288; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@63700.4]
+  wire [1:0] _T_289; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@63701.4]
+  wire [2:0] _T_290; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@63702.4]
+  wire  _T_297; // @[Fragmenter.scala 200:18:shc.marmotcaravel.MarmotCaravelConfig.fir@63716.4]
+  wire  _T_299; // @[Fragmenter.scala 200:31:shc.marmotcaravel.MarmotCaravelConfig.fir@63718.4]
+  wire  _T_300; // @[Fragmenter.scala 200:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63719.4]
+  wire  _T_301; // @[Fragmenter.scala 201:33:shc.marmotcaravel.MarmotCaravelConfig.fir@63720.4]
+  wire  _T_291; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@63703.4]
+  wire [3:0] _GEN_11; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@63705.6]
+  wire [4:0] _T_292; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@63705.6]
+  wire [4:0] _T_293; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@63706.6]
+  wire [3:0] _T_294; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@63707.6]
+  wire  _T_296; // @[Fragmenter.scala 190:39:shc.marmotcaravel.MarmotCaravelConfig.fir@63712.8]
+  wire  _T_302; // @[Fragmenter.scala 202:37:shc.marmotcaravel.MarmotCaravelConfig.fir@63722.4]
+  wire  _T_330; // @[Fragmenter.scala 262:29:shc.marmotcaravel.MarmotCaravelConfig.fir@63755.4]
+  wire [2:0] _T_331; // @[Fragmenter.scala 262:22:shc.marmotcaravel.MarmotCaravelConfig.fir@63756.4]
+  wire [12:0] _T_333; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@63758.4]
+  wire [5:0] _T_334; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@63759.4]
+  wire [5:0] _T_335; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@63760.4]
+  wire [8:0] _T_337; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@63762.4]
+  wire [1:0] _T_338; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@63763.4]
+  wire [1:0] _T_339; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@63764.4]
+  wire  _T_340; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@63765.4]
+  wire  _T_341; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63766.4]
+  reg [3:0] _T_344; // @[Fragmenter.scala 268:27:shc.marmotcaravel.MarmotCaravelConfig.fir@63768.4]
+  reg [31:0] _RAND_3;
+  wire  _T_345; // @[Fragmenter.scala 269:27:shc.marmotcaravel.MarmotCaravelConfig.fir@63769.4]
+  wire [3:0] _T_346; // @[Fragmenter.scala 270:46:shc.marmotcaravel.MarmotCaravelConfig.fir@63770.4]
+  wire [4:0] _T_347; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@63771.4]
+  wire [4:0] _T_348; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@63772.4]
+  wire [3:0] _T_349; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@63773.4]
+  wire [3:0] _T_350; // @[Fragmenter.scala 270:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63774.4]
+  wire [3:0] _T_351; // @[Fragmenter.scala 271:26:shc.marmotcaravel.MarmotCaravelConfig.fir@63775.4]
+  wire [3:0] _T_354; // @[Fragmenter.scala 271:24:shc.marmotcaravel.MarmotCaravelConfig.fir@63778.4]
+  reg  _T_362; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@63785.4]
+  reg [31:0] _RAND_4;
+  wire  _GEN_5; // @[Reg.scala 12:19:shc.marmotcaravel.MarmotCaravelConfig.fir@63786.4]
+  wire  _T_364; // @[Fragmenter.scala 274:21:shc.marmotcaravel.MarmotCaravelConfig.fir@63790.4]
+  wire  _T_92_a_valid; // @[Nodes.scala 332:76:shc.marmotcaravel.MarmotCaravelConfig.fir@63650.4 Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@63799.4]
+  wire  _T_365; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@63791.4]
+  wire  _T_366; // @[Fragmenter.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@63795.4]
+  wire  _T_367; // @[Fragmenter.scala 279:51:shc.marmotcaravel.MarmotCaravelConfig.fir@63796.4]
+  wire [5:0] _GEN_12; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@63800.4]
+  wire [5:0] _T_369; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@63800.4]
+  wire [5:0] _T_370; // @[Fragmenter.scala 281:88:shc.marmotcaravel.MarmotCaravelConfig.fir@63801.4]
+  wire [5:0] _T_371; // @[Fragmenter.scala 281:86:shc.marmotcaravel.MarmotCaravelConfig.fir@63802.4]
+  wire [5:0] _GEN_13; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@63803.4]
+  wire [5:0] _T_372; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@63803.4]
+  wire [5:0] _T_373; // @[Fragmenter.scala 281:109:shc.marmotcaravel.MarmotCaravelConfig.fir@63804.4]
+  wire [5:0] _T_374; // @[Fragmenter.scala 281:49:shc.marmotcaravel.MarmotCaravelConfig.fir@63805.4]
+  wire [28:0] _GEN_14; // @[Fragmenter.scala 281:47:shc.marmotcaravel.MarmotCaravelConfig.fir@63806.4]
+  wire [1:0] _T_376; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@63808.4]
+  wire  _T_378; // @[Fragmenter.scala 286:15:shc.marmotcaravel.MarmotCaravelConfig.fir@63812.4]
+  wire  _T_380; // @[Fragmenter.scala 286:33:shc.marmotcaravel.MarmotCaravelConfig.fir@63814.4]
+  wire  _T_382; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63816.4]
+  wire  _T_383; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63817.4]
+  wire  _T_385; // @[Fragmenter.scala 289:51:shc.marmotcaravel.MarmotCaravelConfig.fir@63824.4]
+  wire  _T_386; // @[Fragmenter.scala 289:33:shc.marmotcaravel.MarmotCaravelConfig.fir@63825.4]
+  wire  _T_388; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63827.4]
+  wire  _T_389; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63828.4]
+  TLMonitor_35 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@63613.4]
+    .clock(TLMonitor_clock),
+    .reset(TLMonitor_reset),
+    .io_in_a_ready(TLMonitor_io_in_a_ready),
+    .io_in_a_valid(TLMonitor_io_in_a_valid),
+    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
+    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
+    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
+    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
+    .io_in_d_ready(TLMonitor_io_in_d_ready),
+    .io_in_d_valid(TLMonitor_io_in_d_valid),
+    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
+    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
+    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source)
+  );
+  Repeater_4 Repeater ( // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63730.4]
+    .clock(Repeater_clock),
+    .reset(Repeater_reset),
+    .io_repeat(Repeater_io_repeat),
+    .io_full(Repeater_io_full),
+    .io_enq_ready(Repeater_io_enq_ready),
+    .io_enq_valid(Repeater_io_enq_valid),
+    .io_enq_bits_opcode(Repeater_io_enq_bits_opcode),
+    .io_enq_bits_param(Repeater_io_enq_bits_param),
+    .io_enq_bits_size(Repeater_io_enq_bits_size),
+    .io_enq_bits_source(Repeater_io_enq_bits_source),
+    .io_enq_bits_address(Repeater_io_enq_bits_address),
+    .io_enq_bits_mask(Repeater_io_enq_bits_mask),
+    .io_enq_bits_corrupt(Repeater_io_enq_bits_corrupt),
+    .io_deq_ready(Repeater_io_deq_ready),
+    .io_deq_valid(Repeater_io_deq_valid),
+    .io_deq_bits_opcode(Repeater_io_deq_bits_opcode),
+    .io_deq_bits_param(Repeater_io_deq_bits_param),
+    .io_deq_bits_size(Repeater_io_deq_bits_size),
+    .io_deq_bits_source(Repeater_io_deq_bits_source),
+    .io_deq_bits_address(Repeater_io_deq_bits_address),
+    .io_deq_bits_mask(Repeater_io_deq_bits_mask),
+    .io_deq_bits_corrupt(Repeater_io_deq_bits_corrupt)
+  );
+  assign _T_249 = auto_out_d_bits_source[3:0]; // @[Fragmenter.scala 170:39:shc.marmotcaravel.MarmotCaravelConfig.fir@63657.4]
+  assign _T_250 = _T_244 == 4'h0; // @[Fragmenter.scala 171:27:shc.marmotcaravel.MarmotCaravelConfig.fir@63658.4]
+  assign _T_251 = _T_249 == 4'h0; // @[Fragmenter.scala 172:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63659.4]
+  assign _T_253 = 4'h1 << auto_out_d_bits_size; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@63661.4]
+  assign _T_254 = _T_253[2:0]; // @[OneHot.scala 52:27:shc.marmotcaravel.MarmotCaravelConfig.fir@63662.4]
+  assign _T_256 = 5'h3 << auto_out_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@63664.4]
+  assign _T_257 = _T_256[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@63665.4]
+  assign _T_258 = ~ _T_257; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@63666.4]
+  assign _T_259 = auto_out_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@63667.4]
+  assign _T_271 = _T_254[2:2]; // @[Fragmenter.scala 182:58:shc.marmotcaravel.MarmotCaravelConfig.fir@63683.4]
+  assign _T_272 = _T_259 ? 1'h1 : _T_271; // @[Fragmenter.scala 182:30:shc.marmotcaravel.MarmotCaravelConfig.fir@63684.4]
+  assign _GEN_7 = {{2'd0}, _T_249}; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@63685.4]
+  assign _T_273 = _GEN_7 << 2; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@63685.4]
+  assign _GEN_8 = {{4'd0}, _T_258}; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@63686.4]
+  assign _T_274 = _T_273 | _GEN_8; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@63686.4]
+  assign _GEN_9 = {{1'd0}, _T_274}; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@63687.4]
+  assign _T_275 = _GEN_9 << 1; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@63687.4]
+  assign _T_276 = _T_275 | 7'h1; // @[package.scala 183:40:shc.marmotcaravel.MarmotCaravelConfig.fir@63688.4]
+  assign _T_277 = {1'h0,_T_274}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@63689.4]
+  assign _T_278 = ~ _T_277; // @[package.scala 183:53:shc.marmotcaravel.MarmotCaravelConfig.fir@63690.4]
+  assign _T_279 = _T_276 & _T_278; // @[package.scala 183:51:shc.marmotcaravel.MarmotCaravelConfig.fir@63691.4]
+  assign _T_280 = _T_279[6:4]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@63692.4]
+  assign _T_281 = _T_279[3:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@63693.4]
+  assign _T_282 = _T_280 != 3'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63694.4]
+  assign _GEN_10 = {{1'd0}, _T_280}; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63695.4]
+  assign _T_283 = _GEN_10 | _T_281; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63695.4]
+  assign _T_284 = _T_283[3:2]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@63696.4]
+  assign _T_285 = _T_283[1:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@63697.4]
+  assign _T_286 = _T_284 != 2'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63698.4]
+  assign _T_287 = _T_284 | _T_285; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63699.4]
+  assign _T_288 = _T_287[1]; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@63700.4]
+  assign _T_289 = {_T_286,_T_288}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@63701.4]
+  assign _T_290 = {_T_282,_T_289}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@63702.4]
+  assign _T_297 = _T_259 == 1'h0; // @[Fragmenter.scala 200:18:shc.marmotcaravel.MarmotCaravelConfig.fir@63716.4]
+  assign _T_299 = _T_251 == 1'h0; // @[Fragmenter.scala 200:31:shc.marmotcaravel.MarmotCaravelConfig.fir@63718.4]
+  assign _T_300 = _T_297 & _T_299; // @[Fragmenter.scala 200:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63719.4]
+  assign _T_301 = auto_in_d_ready | _T_300; // @[Fragmenter.scala 201:33:shc.marmotcaravel.MarmotCaravelConfig.fir@63720.4]
+  assign _T_291 = _T_301 & auto_out_d_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@63703.4]
+  assign _GEN_11 = {{3'd0}, _T_272}; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@63705.6]
+  assign _T_292 = _T_244 - _GEN_11; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@63705.6]
+  assign _T_293 = $unsigned(_T_292); // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@63706.6]
+  assign _T_294 = _T_293[3:0]; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@63707.6]
+  assign _T_296 = auto_out_d_bits_source[4]; // @[Fragmenter.scala 190:39:shc.marmotcaravel.MarmotCaravelConfig.fir@63712.8]
+  assign _T_302 = _T_300 == 1'h0; // @[Fragmenter.scala 202:37:shc.marmotcaravel.MarmotCaravelConfig.fir@63722.4]
+  assign _T_330 = Repeater_io_deq_bits_size > 3'h2; // @[Fragmenter.scala 262:29:shc.marmotcaravel.MarmotCaravelConfig.fir@63755.4]
+  assign _T_331 = _T_330 ? 3'h2 : Repeater_io_deq_bits_size; // @[Fragmenter.scala 262:22:shc.marmotcaravel.MarmotCaravelConfig.fir@63756.4]
+  assign _T_333 = 13'h3f << Repeater_io_deq_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@63758.4]
+  assign _T_334 = _T_333[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@63759.4]
+  assign _T_335 = ~ _T_334; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@63760.4]
+  assign _T_337 = 9'h3 << _T_331; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@63762.4]
+  assign _T_338 = _T_337[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@63763.4]
+  assign _T_339 = ~ _T_338; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@63764.4]
+  assign _T_340 = Repeater_io_deq_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@63765.4]
+  assign _T_341 = _T_340 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63766.4]
+  assign _T_345 = _T_344 == 4'h0; // @[Fragmenter.scala 269:27:shc.marmotcaravel.MarmotCaravelConfig.fir@63769.4]
+  assign _T_346 = _T_335[5:2]; // @[Fragmenter.scala 270:46:shc.marmotcaravel.MarmotCaravelConfig.fir@63770.4]
+  assign _T_347 = _T_344 - 4'h1; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@63771.4]
+  assign _T_348 = $unsigned(_T_347); // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@63772.4]
+  assign _T_349 = _T_348[3:0]; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@63773.4]
+  assign _T_350 = _T_345 ? _T_346 : _T_349; // @[Fragmenter.scala 270:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63774.4]
+  assign _T_351 = ~ _T_350; // @[Fragmenter.scala 271:26:shc.marmotcaravel.MarmotCaravelConfig.fir@63775.4]
+  assign _T_354 = ~ _T_351; // @[Fragmenter.scala 271:24:shc.marmotcaravel.MarmotCaravelConfig.fir@63778.4]
+  assign _GEN_5 = _T_345 ? _T_248 : _T_362; // @[Reg.scala 12:19:shc.marmotcaravel.MarmotCaravelConfig.fir@63786.4]
+  assign _T_364 = _GEN_5 == 1'h0; // @[Fragmenter.scala 274:21:shc.marmotcaravel.MarmotCaravelConfig.fir@63790.4]
+  assign _T_92_a_valid = Repeater_io_deq_valid; // @[Nodes.scala 332:76:shc.marmotcaravel.MarmotCaravelConfig.fir@63650.4 Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@63799.4]
+  assign _T_365 = auto_out_a_ready & _T_92_a_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@63791.4]
+  assign _T_366 = _T_341 == 1'h0; // @[Fragmenter.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@63795.4]
+  assign _T_367 = _T_354 != 4'h0; // @[Fragmenter.scala 279:51:shc.marmotcaravel.MarmotCaravelConfig.fir@63796.4]
+  assign _GEN_12 = {{2'd0}, _T_350}; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@63800.4]
+  assign _T_369 = _GEN_12 << 2; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@63800.4]
+  assign _T_370 = ~ _T_335; // @[Fragmenter.scala 281:88:shc.marmotcaravel.MarmotCaravelConfig.fir@63801.4]
+  assign _T_371 = _T_369 | _T_370; // @[Fragmenter.scala 281:86:shc.marmotcaravel.MarmotCaravelConfig.fir@63802.4]
+  assign _GEN_13 = {{4'd0}, _T_339}; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@63803.4]
+  assign _T_372 = _T_371 | _GEN_13; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@63803.4]
+  assign _T_373 = _T_372 | 6'h3; // @[Fragmenter.scala 281:109:shc.marmotcaravel.MarmotCaravelConfig.fir@63804.4]
+  assign _T_374 = ~ _T_373; // @[Fragmenter.scala 281:49:shc.marmotcaravel.MarmotCaravelConfig.fir@63805.4]
+  assign _GEN_14 = {{23'd0}, _T_374}; // @[Fragmenter.scala 281:47:shc.marmotcaravel.MarmotCaravelConfig.fir@63806.4]
+  assign _T_376 = {Repeater_io_deq_bits_source,_T_364}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@63808.4]
+  assign _T_378 = Repeater_io_full == 1'h0; // @[Fragmenter.scala 286:15:shc.marmotcaravel.MarmotCaravelConfig.fir@63812.4]
+  assign _T_380 = _T_378 | _T_366; // @[Fragmenter.scala 286:33:shc.marmotcaravel.MarmotCaravelConfig.fir@63814.4]
+  assign _T_382 = _T_380 | reset; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63816.4]
+  assign _T_383 = _T_382 == 1'h0; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63817.4]
+  assign _T_385 = Repeater_io_deq_bits_mask == 4'hf; // @[Fragmenter.scala 289:51:shc.marmotcaravel.MarmotCaravelConfig.fir@63824.4]
+  assign _T_386 = _T_378 | _T_385; // @[Fragmenter.scala 289:33:shc.marmotcaravel.MarmotCaravelConfig.fir@63825.4]
+  assign _T_388 = _T_386 | reset; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63827.4]
+  assign _T_389 = _T_388 == 1'h0; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63828.4]
+  assign auto_in_a_ready = Repeater_io_enq_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@63653.4]
+  assign auto_in_d_valid = auto_out_d_valid & _T_302; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@63653.4]
+  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@63653.4]
+  assign auto_in_d_bits_size = _T_250 ? _T_290 : _T_246; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@63653.4]
+  assign auto_in_d_bits_source = auto_out_d_bits_source[5:5]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@63653.4]
+  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@63653.4]
+  assign auto_out_a_valid = Repeater_io_deq_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@63652.4]
+  assign auto_out_a_bits_opcode = Repeater_io_deq_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@63652.4]
+  assign auto_out_a_bits_param = Repeater_io_deq_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@63652.4]
+  assign auto_out_a_bits_size = _T_331[1:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@63652.4]
+  assign auto_out_a_bits_source = {_T_376,_T_354}; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@63652.4]
+  assign auto_out_a_bits_address = Repeater_io_deq_bits_address | _GEN_14; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@63652.4]
+  assign auto_out_a_bits_mask = Repeater_io_full ? 4'hf : auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@63652.4]
+  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@63652.4]
+  assign auto_out_a_bits_corrupt = Repeater_io_deq_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@63652.4]
+  assign auto_out_d_ready = auto_in_d_ready | _T_300; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@63652.4]
+  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63615.4]
+  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63616.4]
+  assign TLMonitor_io_in_a_ready = Repeater_io_enq_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@63649.4]
+  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@63649.4]
+  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@63649.4]
+  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@63649.4]
+  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@63649.4]
+  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@63649.4]
+  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@63649.4]
+  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@63649.4]
+  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@63649.4]
+  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@63649.4]
+  assign TLMonitor_io_in_d_valid = auto_out_d_valid & _T_302; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@63649.4]
+  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@63649.4]
+  assign TLMonitor_io_in_d_bits_size = _T_250 ? _T_290 : _T_246; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@63649.4]
+  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source[5:5]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@63649.4]
+  assign Repeater_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63732.4]
+  assign Repeater_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63733.4]
+  assign Repeater_io_repeat = _T_366 & _T_367; // @[Fragmenter.scala 279:26:shc.marmotcaravel.MarmotCaravelConfig.fir@63798.4]
+  assign Repeater_io_enq_valid = auto_in_a_valid; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@63734.4]
+  assign Repeater_io_enq_bits_opcode = auto_in_a_bits_opcode; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@63734.4]
+  assign Repeater_io_enq_bits_param = auto_in_a_bits_param; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@63734.4]
+  assign Repeater_io_enq_bits_size = auto_in_a_bits_size; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@63734.4]
+  assign Repeater_io_enq_bits_source = auto_in_a_bits_source; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@63734.4]
+  assign Repeater_io_enq_bits_address = auto_in_a_bits_address; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@63734.4]
+  assign Repeater_io_enq_bits_mask = auto_in_a_bits_mask; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@63734.4]
+  assign Repeater_io_enq_bits_corrupt = auto_in_a_bits_corrupt; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@63734.4]
+  assign Repeater_io_deq_ready = auto_out_a_ready; // @[Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@63799.4]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  _T_244 = _RAND_0[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  _T_246 = _RAND_1[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  _T_248 = _RAND_2[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  _T_344 = _RAND_3[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  _T_362 = _RAND_4[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      _T_244 <= 4'h0;
+    end else begin
+      if (_T_291) begin
+        if (_T_250) begin
+          _T_244 <= _T_249;
+        end else begin
+          _T_244 <= _T_294;
+        end
+      end
+    end
+    if (_T_291) begin
+      if (_T_250) begin
+        _T_246 <= _T_290;
+      end
+    end
+    if (reset) begin
+      _T_248 <= 1'h0;
+    end else begin
+      if (_T_291) begin
+        if (_T_250) begin
+          _T_248 <= _T_296;
+        end
+      end
+    end
+    if (reset) begin
+      _T_344 <= 4'h0;
+    end else begin
+      if (_T_365) begin
+        _T_344 <= _T_354;
+      end
+    end
+    if (_T_345) begin
+      _T_362 <= _T_248;
+    end
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:180 assert (!out.d.valid || (acknum_fragment & acknum_size) === UInt(0))\n"); // @[Fragmenter.scala 180:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63678.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Fragmenter.scala 180:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63679.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_383) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:286 assert (!repeater.io.full || !aHasData)\n"); // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63819.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_383) begin
+          $fatal; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63820.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_389) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:289 assert (!repeater.io.full || in_a.bits.mask === fullMask)\n"); // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63830.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_389) begin
+          $fatal; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63831.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+endmodule
+module SimpleLazyModule_16( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63842.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63843.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63844.4]
+  output        auto_fragmenter_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63845.4]
+  input         auto_fragmenter_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63845.4]
+  input  [2:0]  auto_fragmenter_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63845.4]
+  input  [2:0]  auto_fragmenter_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63845.4]
+  input  [2:0]  auto_fragmenter_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63845.4]
+  input         auto_fragmenter_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63845.4]
+  input  [28:0] auto_fragmenter_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63845.4]
+  input  [3:0]  auto_fragmenter_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63845.4]
+  input  [31:0] auto_fragmenter_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63845.4]
+  input         auto_fragmenter_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63845.4]
+  input         auto_fragmenter_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63845.4]
+  output        auto_fragmenter_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63845.4]
+  output [2:0]  auto_fragmenter_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63845.4]
+  output [2:0]  auto_fragmenter_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63845.4]
+  output        auto_fragmenter_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63845.4]
+  output [31:0] auto_fragmenter_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63845.4]
+  input         auto_control_xing_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63845.4]
+  output        auto_control_xing_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63845.4]
+  output [2:0]  auto_control_xing_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63845.4]
+  output [2:0]  auto_control_xing_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63845.4]
+  output [1:0]  auto_control_xing_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63845.4]
+  output [5:0]  auto_control_xing_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63845.4]
+  output [28:0] auto_control_xing_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63845.4]
+  output [3:0]  auto_control_xing_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63845.4]
+  output [31:0] auto_control_xing_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63845.4]
+  output        auto_control_xing_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63845.4]
+  output        auto_control_xing_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63845.4]
+  input         auto_control_xing_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63845.4]
+  input  [2:0]  auto_control_xing_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63845.4]
+  input  [1:0]  auto_control_xing_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63845.4]
+  input  [5:0]  auto_control_xing_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63845.4]
+  input  [31:0] auto_control_xing_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63845.4]
+);
+  wire  fragmenter_clock; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@63850.4]
+  wire  fragmenter_reset; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@63850.4]
+  wire  fragmenter_auto_in_a_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@63850.4]
+  wire  fragmenter_auto_in_a_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@63850.4]
+  wire [2:0] fragmenter_auto_in_a_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@63850.4]
+  wire [2:0] fragmenter_auto_in_a_bits_param; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@63850.4]
+  wire [2:0] fragmenter_auto_in_a_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@63850.4]
+  wire  fragmenter_auto_in_a_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@63850.4]
+  wire [28:0] fragmenter_auto_in_a_bits_address; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@63850.4]
+  wire [3:0] fragmenter_auto_in_a_bits_mask; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@63850.4]
+  wire [31:0] fragmenter_auto_in_a_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@63850.4]
+  wire  fragmenter_auto_in_a_bits_corrupt; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@63850.4]
+  wire  fragmenter_auto_in_d_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@63850.4]
+  wire  fragmenter_auto_in_d_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@63850.4]
+  wire [2:0] fragmenter_auto_in_d_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@63850.4]
+  wire [2:0] fragmenter_auto_in_d_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@63850.4]
+  wire  fragmenter_auto_in_d_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@63850.4]
+  wire [31:0] fragmenter_auto_in_d_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@63850.4]
+  wire  fragmenter_auto_out_a_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@63850.4]
+  wire  fragmenter_auto_out_a_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@63850.4]
+  wire [2:0] fragmenter_auto_out_a_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@63850.4]
+  wire [2:0] fragmenter_auto_out_a_bits_param; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@63850.4]
+  wire [1:0] fragmenter_auto_out_a_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@63850.4]
+  wire [5:0] fragmenter_auto_out_a_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@63850.4]
+  wire [28:0] fragmenter_auto_out_a_bits_address; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@63850.4]
+  wire [3:0] fragmenter_auto_out_a_bits_mask; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@63850.4]
+  wire [31:0] fragmenter_auto_out_a_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@63850.4]
+  wire  fragmenter_auto_out_a_bits_corrupt; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@63850.4]
+  wire  fragmenter_auto_out_d_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@63850.4]
+  wire  fragmenter_auto_out_d_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@63850.4]
+  wire [2:0] fragmenter_auto_out_d_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@63850.4]
+  wire [1:0] fragmenter_auto_out_d_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@63850.4]
+  wire [5:0] fragmenter_auto_out_d_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@63850.4]
+  wire [31:0] fragmenter_auto_out_d_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@63850.4]
+  TLFragmenter_8 fragmenter ( // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@63850.4]
+    .clock(fragmenter_clock),
+    .reset(fragmenter_reset),
+    .auto_in_a_ready(fragmenter_auto_in_a_ready),
+    .auto_in_a_valid(fragmenter_auto_in_a_valid),
+    .auto_in_a_bits_opcode(fragmenter_auto_in_a_bits_opcode),
+    .auto_in_a_bits_param(fragmenter_auto_in_a_bits_param),
+    .auto_in_a_bits_size(fragmenter_auto_in_a_bits_size),
+    .auto_in_a_bits_source(fragmenter_auto_in_a_bits_source),
+    .auto_in_a_bits_address(fragmenter_auto_in_a_bits_address),
+    .auto_in_a_bits_mask(fragmenter_auto_in_a_bits_mask),
+    .auto_in_a_bits_data(fragmenter_auto_in_a_bits_data),
+    .auto_in_a_bits_corrupt(fragmenter_auto_in_a_bits_corrupt),
+    .auto_in_d_ready(fragmenter_auto_in_d_ready),
+    .auto_in_d_valid(fragmenter_auto_in_d_valid),
+    .auto_in_d_bits_opcode(fragmenter_auto_in_d_bits_opcode),
+    .auto_in_d_bits_size(fragmenter_auto_in_d_bits_size),
+    .auto_in_d_bits_source(fragmenter_auto_in_d_bits_source),
+    .auto_in_d_bits_data(fragmenter_auto_in_d_bits_data),
+    .auto_out_a_ready(fragmenter_auto_out_a_ready),
+    .auto_out_a_valid(fragmenter_auto_out_a_valid),
+    .auto_out_a_bits_opcode(fragmenter_auto_out_a_bits_opcode),
+    .auto_out_a_bits_param(fragmenter_auto_out_a_bits_param),
+    .auto_out_a_bits_size(fragmenter_auto_out_a_bits_size),
+    .auto_out_a_bits_source(fragmenter_auto_out_a_bits_source),
+    .auto_out_a_bits_address(fragmenter_auto_out_a_bits_address),
+    .auto_out_a_bits_mask(fragmenter_auto_out_a_bits_mask),
+    .auto_out_a_bits_data(fragmenter_auto_out_a_bits_data),
+    .auto_out_a_bits_corrupt(fragmenter_auto_out_a_bits_corrupt),
+    .auto_out_d_ready(fragmenter_auto_out_d_ready),
+    .auto_out_d_valid(fragmenter_auto_out_d_valid),
+    .auto_out_d_bits_opcode(fragmenter_auto_out_d_bits_opcode),
+    .auto_out_d_bits_size(fragmenter_auto_out_d_bits_size),
+    .auto_out_d_bits_source(fragmenter_auto_out_d_bits_source),
+    .auto_out_d_bits_data(fragmenter_auto_out_d_bits_data)
+  );
+  assign auto_fragmenter_in_a_ready = fragmenter_auto_in_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@63863.4]
+  assign auto_fragmenter_in_d_valid = fragmenter_auto_in_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@63863.4]
+  assign auto_fragmenter_in_d_bits_opcode = fragmenter_auto_in_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@63863.4]
+  assign auto_fragmenter_in_d_bits_size = fragmenter_auto_in_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@63863.4]
+  assign auto_fragmenter_in_d_bits_source = fragmenter_auto_in_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@63863.4]
+  assign auto_fragmenter_in_d_bits_data = fragmenter_auto_in_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@63863.4]
+  assign auto_control_xing_out_a_valid = fragmenter_auto_out_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@63862.4]
+  assign auto_control_xing_out_a_bits_opcode = fragmenter_auto_out_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@63862.4]
+  assign auto_control_xing_out_a_bits_param = fragmenter_auto_out_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@63862.4]
+  assign auto_control_xing_out_a_bits_size = fragmenter_auto_out_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@63862.4]
+  assign auto_control_xing_out_a_bits_source = fragmenter_auto_out_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@63862.4]
+  assign auto_control_xing_out_a_bits_address = fragmenter_auto_out_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@63862.4]
+  assign auto_control_xing_out_a_bits_mask = fragmenter_auto_out_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@63862.4]
+  assign auto_control_xing_out_a_bits_data = fragmenter_auto_out_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@63862.4]
+  assign auto_control_xing_out_a_bits_corrupt = fragmenter_auto_out_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@63862.4]
+  assign auto_control_xing_out_d_ready = fragmenter_auto_out_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@63862.4]
+  assign fragmenter_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63854.4]
+  assign fragmenter_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63855.4]
+  assign fragmenter_auto_in_a_valid = auto_fragmenter_in_a_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@63863.4]
+  assign fragmenter_auto_in_a_bits_opcode = auto_fragmenter_in_a_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@63863.4]
+  assign fragmenter_auto_in_a_bits_param = auto_fragmenter_in_a_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@63863.4]
+  assign fragmenter_auto_in_a_bits_size = auto_fragmenter_in_a_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@63863.4]
+  assign fragmenter_auto_in_a_bits_source = auto_fragmenter_in_a_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@63863.4]
+  assign fragmenter_auto_in_a_bits_address = auto_fragmenter_in_a_bits_address; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@63863.4]
+  assign fragmenter_auto_in_a_bits_mask = auto_fragmenter_in_a_bits_mask; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@63863.4]
+  assign fragmenter_auto_in_a_bits_data = auto_fragmenter_in_a_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@63863.4]
+  assign fragmenter_auto_in_a_bits_corrupt = auto_fragmenter_in_a_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@63863.4]
+  assign fragmenter_auto_in_d_ready = auto_fragmenter_in_d_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@63863.4]
+  assign fragmenter_auto_out_a_ready = auto_control_xing_out_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@63861.4]
+  assign fragmenter_auto_out_d_valid = auto_control_xing_out_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@63861.4]
+  assign fragmenter_auto_out_d_bits_opcode = auto_control_xing_out_d_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@63861.4]
+  assign fragmenter_auto_out_d_bits_size = auto_control_xing_out_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@63861.4]
+  assign fragmenter_auto_out_d_bits_source = auto_control_xing_out_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@63861.4]
+  assign fragmenter_auto_out_d_bits_data = auto_control_xing_out_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@63861.4]
+endmodule
+module TLMonitor_36( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63872.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63873.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63874.4]
+  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63875.4]
+  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63875.4]
+  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63875.4]
+  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63875.4]
+  input  [2:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63875.4]
+  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63875.4]
+  input  [28:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63875.4]
+  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63875.4]
+  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63875.4]
+  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63875.4]
+  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63875.4]
+  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63875.4]
+  input  [2:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63875.4]
+  input         io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63875.4]
+);
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@64996.4]
+  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@63891.6]
+  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@63896.6]
+  wire [12:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@63898.6]
+  wire [5:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@63899.6]
+  wire [5:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@63900.6]
+  wire [28:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@63901.6]
+  wire [28:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@63901.6]
+  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@63902.6]
+  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@63904.6]
+  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@63905.6]
+  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@63907.6]
+  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@63908.6]
+  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@63909.6]
+  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@63910.6]
+  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@63911.6]
+  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@63913.6]
+  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@63914.6]
+  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@63916.6]
+  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@63917.6]
+  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@63918.6]
+  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@63919.6]
+  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@63920.6]
+  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@63921.6]
+  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@63922.6]
+  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@63923.6]
+  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@63924.6]
+  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@63925.6]
+  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@63926.6]
+  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@63927.6]
+  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@63928.6]
+  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@63929.6]
+  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@63930.6]
+  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@63931.6]
+  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@63932.6]
+  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@63933.6]
+  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@63934.6]
+  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@63935.6]
+  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@63960.6]
+  wire [28:0] _T_92; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@63963.8]
+  wire [29:0] _T_93; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@63964.8]
+  wire [29:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@63965.8]
+  wire [29:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@63966.8]
+  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@63967.8]
+  wire  _T_101; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63972.8]
+  wire  _T_106; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63985.8]
+  wire  _T_107; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63986.8]
+  wire  _T_110; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63993.8]
+  wire  _T_111; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63994.8]
+  wire  _T_113; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64000.8]
+  wire  _T_114; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64001.8]
+  wire  _T_115; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@64006.8]
+  wire  _T_117; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64008.8]
+  wire  _T_118; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64009.8]
+  wire [3:0] _T_119; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@64014.8]
+  wire  _T_120; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64015.8]
+  wire  _T_122; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64017.8]
+  wire  _T_123; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64018.8]
+  wire  _T_124; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@64023.8]
+  wire  _T_126; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64025.8]
+  wire  _T_127; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64026.8]
+  wire  _T_128; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@64032.6]
+  wire  _T_157; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64086.8]
+  wire  _T_159; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64088.8]
+  wire  _T_160; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64089.8]
+  wire  _T_170; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@64112.6]
+  wire  _T_172; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@64115.8]
+  wire  _T_180; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@64123.8]
+  wire  _T_183; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64126.8]
+  wire  _T_184; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64127.8]
+  wire  _T_191; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64146.8]
+  wire  _T_193; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64148.8]
+  wire  _T_194; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64149.8]
+  wire  _T_195; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@64154.8]
+  wire  _T_197; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64156.8]
+  wire  _T_198; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64157.8]
+  wire  _T_203; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@64171.6]
+  wire  _T_232; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@64222.6]
+  wire [3:0] _T_257; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@64264.8]
+  wire [3:0] _T_258; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64265.8]
+  wire  _T_259; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@64266.8]
+  wire  _T_261; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64268.8]
+  wire  _T_262; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64269.8]
+  wire  _T_263; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@64275.6]
+  wire  _T_281; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@64306.8]
+  wire  _T_283; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64308.8]
+  wire  _T_284; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64309.8]
+  wire  _T_289; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@64323.6]
+  wire  _T_307; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@64354.8]
+  wire  _T_309; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64356.8]
+  wire  _T_310; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64357.8]
+  wire  _T_315; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@64371.6]
+  wire  _T_341; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@64421.6]
+  wire  _T_343; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@64423.6]
+  wire  _T_344; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@64424.6]
+  wire  _T_346; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@64430.6]
+  wire  _T_355; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@64435.6]
+  wire  _T_357; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@64437.6]
+  wire  _T_359; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64440.8]
+  wire  _T_360; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64441.8]
+  wire  _T_361; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@64446.8]
+  wire  _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64448.8]
+  wire  _T_364; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64449.8]
+  wire  _T_377; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@64479.6]
+  wire  _T_405; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@64537.6]
+  wire  _T_434; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@64596.6]
+  wire  _T_451; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@64631.6]
+  wire  _T_469; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@64667.6]
+  wire  _T_498; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@64727.4]
+  wire [3:0] _T_503; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@64732.4]
+  wire  _T_504; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@64733.4]
+  wire  _T_505; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64734.4]
+  reg [3:0] _T_508; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@64736.4]
+  reg [31:0] _RAND_0;
+  wire [4:0] _T_509; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64737.4]
+  wire [4:0] _T_510; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64738.4]
+  wire [3:0] _T_511; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64739.4]
+  wire  _T_512; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@64740.4]
+  reg [2:0] _T_521; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@64751.4]
+  reg [31:0] _RAND_1;
+  reg [2:0] _T_523; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@64752.4]
+  reg [31:0] _RAND_2;
+  reg [2:0] _T_525; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@64753.4]
+  reg [31:0] _RAND_3;
+  reg  _T_527; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@64754.4]
+  reg [31:0] _RAND_4;
+  reg [28:0] _T_529; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@64755.4]
+  reg [31:0] _RAND_5;
+  wire  _T_530; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@64756.4]
+  wire  _T_531; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@64757.4]
+  wire  _T_532; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@64759.6]
+  wire  _T_534; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64761.6]
+  wire  _T_535; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64762.6]
+  wire  _T_536; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@64767.6]
+  wire  _T_538; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64769.6]
+  wire  _T_539; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64770.6]
+  wire  _T_540; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@64775.6]
+  wire  _T_542; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64777.6]
+  wire  _T_543; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64778.6]
+  wire  _T_544; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@64783.6]
+  wire  _T_546; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64785.6]
+  wire  _T_547; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64786.6]
+  wire  _T_548; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@64791.6]
+  wire  _T_550; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64793.6]
+  wire  _T_551; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64794.6]
+  wire  _T_553; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@64801.4]
+  wire  _T_554; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@64809.4]
+  wire [12:0] _T_556; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@64811.4]
+  wire [5:0] _T_557; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@64812.4]
+  wire [5:0] _T_558; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@64813.4]
+  wire [3:0] _T_559; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@64814.4]
+  wire  _T_560; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@64815.4]
+  reg [3:0] _T_563; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@64817.4]
+  reg [31:0] _RAND_6;
+  wire [4:0] _T_564; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64818.4]
+  wire [4:0] _T_565; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64819.4]
+  wire [3:0] _T_566; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64820.4]
+  wire  _T_567; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@64821.4]
+  reg [2:0] _T_576; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@64832.4]
+  reg [31:0] _RAND_7;
+  reg [2:0] _T_580; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@64834.4]
+  reg [31:0] _RAND_8;
+  reg  _T_582; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@64835.4]
+  reg [31:0] _RAND_9;
+  wire  _T_587; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@64838.4]
+  wire  _T_588; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@64839.4]
+  wire  _T_589; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@64841.6]
+  wire  _T_591; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64843.6]
+  wire  _T_592; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64844.6]
+  wire  _T_597; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@64857.6]
+  wire  _T_599; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64859.6]
+  wire  _T_600; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64860.6]
+  wire  _T_601; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@64865.6]
+  wire  _T_603; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64867.6]
+  wire  _T_604; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64868.6]
+  wire  _T_614; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@64891.4]
+  reg [1:0] _T_616; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@64900.4]
+  reg [31:0] _RAND_10;
+  reg [3:0] _T_627; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@64910.4]
+  reg [31:0] _RAND_11;
+  wire [4:0] _T_628; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64911.4]
+  wire [4:0] _T_629; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64912.4]
+  wire [3:0] _T_630; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64913.4]
+  wire  _T_631; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@64914.4]
+  reg [3:0] _T_648; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@64933.4]
+  reg [31:0] _RAND_12;
+  wire [4:0] _T_649; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64934.4]
+  wire [4:0] _T_650; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64935.4]
+  wire [3:0] _T_651; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64936.4]
+  wire  _T_652; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@64937.4]
+  wire  _T_663; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@64952.4]
+  wire [1:0] _T_665; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@64955.6]
+  wire [1:0] _T_666; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@64957.6]
+  wire  _T_667; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@64958.6]
+  wire  _T_668; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64959.6]
+  wire  _T_670; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@64961.6]
+  wire  _T_671; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@64962.6]
+  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@64954.4]
+  wire  _T_676; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@64973.4]
+  wire  _T_678; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@64975.4]
+  wire  _T_679; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@64976.4]
+  wire [1:0] _T_680; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@64978.6]
+  wire [1:0] _T_681; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@64980.6]
+  wire [1:0] _T_682; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@64981.6]
+  wire  _T_683; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@64982.6]
+  wire  _T_685; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@64984.6]
+  wire  _T_686; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@64985.6]
+  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@64977.4]
+  wire [1:0] _T_687; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@64991.4]
+  wire [1:0] _T_688; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@64992.4]
+  wire [1:0] _T_689; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@64993.4]
+  reg [31:0] _T_691; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@64995.4]
+  reg [31:0] _RAND_13;
+  wire  _T_692; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@64998.4]
+  wire  _T_693; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@64999.4]
+  wire  _T_694; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@65000.4]
+  wire  _T_695; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@65001.4]
+  wire  _T_696; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@65002.4]
+  wire  _T_697; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@65003.4]
+  wire  _T_699; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@65005.4]
+  wire  _T_700; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@65006.4]
+  wire [31:0] _T_702; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@65012.4]
+  wire  _T_705; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@65016.4]
+  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63974.10]
+  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64046.10]
+  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64129.10]
+  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64188.10]
+  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64239.10]
+  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64289.10]
+  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64337.10]
+  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64385.10]
+  wire  _GEN_115; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64443.10]
+  wire  _GEN_119; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64485.10]
+  wire  _GEN_125; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64543.10]
+  wire  _GEN_131; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64602.10]
+  wire  _GEN_133; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64637.10]
+  wire  _GEN_135; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64673.10]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@64996.4]
+    .out(plusarg_reader_out)
+  );
+  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@63891.6]
+  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@63896.6]
+  assign _T_32 = 13'h3f << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@63898.6]
+  assign _T_33 = _T_32[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@63899.6]
+  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@63900.6]
+  assign _GEN_18 = {{23'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@63901.6]
+  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@63901.6]
+  assign _T_36 = _T_35 == 29'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@63902.6]
+  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@63904.6]
+  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@63905.6]
+  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@63907.6]
+  assign _T_42 = io_in_a_bits_size >= 3'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@63908.6]
+  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@63909.6]
+  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@63910.6]
+  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@63911.6]
+  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@63913.6]
+  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@63914.6]
+  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@63916.6]
+  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@63917.6]
+  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@63918.6]
+  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@63919.6]
+  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@63920.6]
+  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@63921.6]
+  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@63922.6]
+  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@63923.6]
+  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@63924.6]
+  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@63925.6]
+  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@63926.6]
+  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@63927.6]
+  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@63928.6]
+  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@63929.6]
+  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@63930.6]
+  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@63931.6]
+  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@63932.6]
+  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@63933.6]
+  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@63934.6]
+  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@63935.6]
+  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@63960.6]
+  assign _T_92 = io_in_a_bits_address ^ 29'h10053000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@63963.8]
+  assign _T_93 = {1'b0,$signed(_T_92)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@63964.8]
+  assign _T_94 = $signed(_T_93) & $signed(-30'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@63965.8]
+  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@63966.8]
+  assign _T_96 = $signed(_T_95) == $signed(30'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@63967.8]
+  assign _T_101 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63972.8]
+  assign _T_106 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63985.8]
+  assign _T_107 = _T_106 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63986.8]
+  assign _T_110 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63993.8]
+  assign _T_111 = _T_110 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63994.8]
+  assign _T_113 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64000.8]
+  assign _T_114 = _T_113 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64001.8]
+  assign _T_115 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@64006.8]
+  assign _T_117 = _T_115 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64008.8]
+  assign _T_118 = _T_117 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64009.8]
+  assign _T_119 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@64014.8]
+  assign _T_120 = _T_119 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64015.8]
+  assign _T_122 = _T_120 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64017.8]
+  assign _T_123 = _T_122 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64018.8]
+  assign _T_124 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@64023.8]
+  assign _T_126 = _T_124 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64025.8]
+  assign _T_127 = _T_126 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64026.8]
+  assign _T_128 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@64032.6]
+  assign _T_157 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64086.8]
+  assign _T_159 = _T_157 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64088.8]
+  assign _T_160 = _T_159 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64089.8]
+  assign _T_170 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@64112.6]
+  assign _T_172 = io_in_a_bits_size <= 3'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@64115.8]
+  assign _T_180 = _T_172 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@64123.8]
+  assign _T_183 = _T_180 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64126.8]
+  assign _T_184 = _T_183 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64127.8]
+  assign _T_191 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64146.8]
+  assign _T_193 = _T_191 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64148.8]
+  assign _T_194 = _T_193 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64149.8]
+  assign _T_195 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@64154.8]
+  assign _T_197 = _T_195 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64156.8]
+  assign _T_198 = _T_197 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64157.8]
+  assign _T_203 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@64171.6]
+  assign _T_232 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@64222.6]
+  assign _T_257 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@64264.8]
+  assign _T_258 = io_in_a_bits_mask & _T_257; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64265.8]
+  assign _T_259 = _T_258 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@64266.8]
+  assign _T_261 = _T_259 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64268.8]
+  assign _T_262 = _T_261 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64269.8]
+  assign _T_263 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@64275.6]
+  assign _T_281 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@64306.8]
+  assign _T_283 = _T_281 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64308.8]
+  assign _T_284 = _T_283 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64309.8]
+  assign _T_289 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@64323.6]
+  assign _T_307 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@64354.8]
+  assign _T_309 = _T_307 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64356.8]
+  assign _T_310 = _T_309 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64357.8]
+  assign _T_315 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@64371.6]
+  assign _T_341 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@64421.6]
+  assign _T_343 = _T_341 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@64423.6]
+  assign _T_344 = _T_343 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@64424.6]
+  assign _T_346 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@64430.6]
+  assign _T_355 = io_in_d_bits_source | _T_346; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@64435.6]
+  assign _T_357 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@64437.6]
+  assign _T_359 = _T_355 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64440.8]
+  assign _T_360 = _T_359 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64441.8]
+  assign _T_361 = io_in_d_bits_size >= 3'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@64446.8]
+  assign _T_363 = _T_361 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64448.8]
+  assign _T_364 = _T_363 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64449.8]
+  assign _T_377 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@64479.6]
+  assign _T_405 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@64537.6]
+  assign _T_434 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@64596.6]
+  assign _T_451 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@64631.6]
+  assign _T_469 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@64667.6]
+  assign _T_498 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@64727.4]
+  assign _T_503 = _T_34[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@64732.4]
+  assign _T_504 = io_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@64733.4]
+  assign _T_505 = _T_504 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64734.4]
+  assign _T_509 = _T_508 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64737.4]
+  assign _T_510 = $unsigned(_T_509); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64738.4]
+  assign _T_511 = _T_510[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64739.4]
+  assign _T_512 = _T_508 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@64740.4]
+  assign _T_530 = _T_512 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@64756.4]
+  assign _T_531 = io_in_a_valid & _T_530; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@64757.4]
+  assign _T_532 = io_in_a_bits_opcode == _T_521; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@64759.6]
+  assign _T_534 = _T_532 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64761.6]
+  assign _T_535 = _T_534 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64762.6]
+  assign _T_536 = io_in_a_bits_param == _T_523; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@64767.6]
+  assign _T_538 = _T_536 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64769.6]
+  assign _T_539 = _T_538 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64770.6]
+  assign _T_540 = io_in_a_bits_size == _T_525; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@64775.6]
+  assign _T_542 = _T_540 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64777.6]
+  assign _T_543 = _T_542 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64778.6]
+  assign _T_544 = io_in_a_bits_source == _T_527; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@64783.6]
+  assign _T_546 = _T_544 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64785.6]
+  assign _T_547 = _T_546 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64786.6]
+  assign _T_548 = io_in_a_bits_address == _T_529; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@64791.6]
+  assign _T_550 = _T_548 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64793.6]
+  assign _T_551 = _T_550 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64794.6]
+  assign _T_553 = _T_498 & _T_512; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@64801.4]
+  assign _T_554 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@64809.4]
+  assign _T_556 = 13'h3f << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@64811.4]
+  assign _T_557 = _T_556[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@64812.4]
+  assign _T_558 = ~ _T_557; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@64813.4]
+  assign _T_559 = _T_558[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@64814.4]
+  assign _T_560 = io_in_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@64815.4]
+  assign _T_564 = _T_563 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64818.4]
+  assign _T_565 = $unsigned(_T_564); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64819.4]
+  assign _T_566 = _T_565[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64820.4]
+  assign _T_567 = _T_563 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@64821.4]
+  assign _T_587 = _T_567 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@64838.4]
+  assign _T_588 = io_in_d_valid & _T_587; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@64839.4]
+  assign _T_589 = io_in_d_bits_opcode == _T_576; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@64841.6]
+  assign _T_591 = _T_589 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64843.6]
+  assign _T_592 = _T_591 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64844.6]
+  assign _T_597 = io_in_d_bits_size == _T_580; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@64857.6]
+  assign _T_599 = _T_597 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64859.6]
+  assign _T_600 = _T_599 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64860.6]
+  assign _T_601 = io_in_d_bits_source == _T_582; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@64865.6]
+  assign _T_603 = _T_601 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64867.6]
+  assign _T_604 = _T_603 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64868.6]
+  assign _T_614 = _T_554 & _T_567; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@64891.4]
+  assign _T_628 = _T_627 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64911.4]
+  assign _T_629 = $unsigned(_T_628); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64912.4]
+  assign _T_630 = _T_629[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64913.4]
+  assign _T_631 = _T_627 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@64914.4]
+  assign _T_649 = _T_648 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64934.4]
+  assign _T_650 = $unsigned(_T_649); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64935.4]
+  assign _T_651 = _T_650[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64936.4]
+  assign _T_652 = _T_648 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@64937.4]
+  assign _T_663 = _T_498 & _T_631; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@64952.4]
+  assign _T_665 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@64955.6]
+  assign _T_666 = _T_616 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@64957.6]
+  assign _T_667 = _T_666[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@64958.6]
+  assign _T_668 = _T_667 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64959.6]
+  assign _T_670 = _T_668 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@64961.6]
+  assign _T_671 = _T_670 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@64962.6]
+  assign _GEN_15 = _T_663 ? _T_665 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@64954.4]
+  assign _T_676 = _T_554 & _T_652; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@64973.4]
+  assign _T_678 = _T_357 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@64975.4]
+  assign _T_679 = _T_676 & _T_678; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@64976.4]
+  assign _T_680 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@64978.6]
+  assign _T_681 = _GEN_15 | _T_616; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@64980.6]
+  assign _T_682 = _T_681 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@64981.6]
+  assign _T_683 = _T_682[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@64982.6]
+  assign _T_685 = _T_683 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@64984.6]
+  assign _T_686 = _T_685 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@64985.6]
+  assign _GEN_16 = _T_679 ? _T_680 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@64977.4]
+  assign _T_687 = _T_616 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@64991.4]
+  assign _T_688 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@64992.4]
+  assign _T_689 = _T_687 & _T_688; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@64993.4]
+  assign _T_692 = _T_616 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@64998.4]
+  assign _T_693 = _T_692 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@64999.4]
+  assign _T_694 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@65000.4]
+  assign _T_695 = _T_693 | _T_694; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@65001.4]
+  assign _T_696 = _T_691 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@65002.4]
+  assign _T_697 = _T_695 | _T_696; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@65003.4]
+  assign _T_699 = _T_697 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@65005.4]
+  assign _T_700 = _T_699 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@65006.4]
+  assign _T_702 = _T_691 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@65012.4]
+  assign _T_705 = _T_498 | _T_554; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@65016.4]
+  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63974.10]
+  assign _GEN_35 = io_in_a_valid & _T_128; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64046.10]
+  assign _GEN_53 = io_in_a_valid & _T_170; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64129.10]
+  assign _GEN_65 = io_in_a_valid & _T_203; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64188.10]
+  assign _GEN_75 = io_in_a_valid & _T_232; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64239.10]
+  assign _GEN_85 = io_in_a_valid & _T_263; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64289.10]
+  assign _GEN_95 = io_in_a_valid & _T_289; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64337.10]
+  assign _GEN_105 = io_in_a_valid & _T_315; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64385.10]
+  assign _GEN_115 = io_in_d_valid & _T_357; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64443.10]
+  assign _GEN_119 = io_in_d_valid & _T_377; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64485.10]
+  assign _GEN_125 = io_in_d_valid & _T_405; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64543.10]
+  assign _GEN_131 = io_in_d_valid & _T_434; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64602.10]
+  assign _GEN_133 = io_in_d_valid & _T_451; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64637.10]
+  assign _GEN_135 = io_in_d_valid & _T_469; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64673.10]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  _T_508 = _RAND_0[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  _T_521 = _RAND_1[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  _T_523 = _RAND_2[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  _T_525 = _RAND_3[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  _T_527 = _RAND_4[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  _T_529 = _RAND_5[28:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {1{`RANDOM}};
+  _T_563 = _RAND_6[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {1{`RANDOM}};
+  _T_576 = _RAND_7[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_8 = {1{`RANDOM}};
+  _T_580 = _RAND_8[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_9 = {1{`RANDOM}};
+  _T_582 = _RAND_9[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_10 = {1{`RANDOM}};
+  _T_616 = _RAND_10[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_11 = {1{`RANDOM}};
+  _T_627 = _RAND_11[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_12 = {1{`RANDOM}};
+  _T_648 = _RAND_12[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_13 = {1{`RANDOM}};
+  _T_691 = _RAND_13[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      _T_508 <= 4'h0;
+    end else begin
+      if (_T_498) begin
+        if (_T_512) begin
+          if (_T_505) begin
+            _T_508 <= _T_503;
+          end else begin
+            _T_508 <= 4'h0;
+          end
+        end else begin
+          _T_508 <= _T_511;
+        end
+      end
+    end
+    if (_T_553) begin
+      _T_521 <= io_in_a_bits_opcode;
+    end
+    if (_T_553) begin
+      _T_523 <= io_in_a_bits_param;
+    end
+    if (_T_553) begin
+      _T_525 <= io_in_a_bits_size;
+    end
+    if (_T_553) begin
+      _T_527 <= io_in_a_bits_source;
+    end
+    if (_T_553) begin
+      _T_529 <= io_in_a_bits_address;
+    end
+    if (reset) begin
+      _T_563 <= 4'h0;
+    end else begin
+      if (_T_554) begin
+        if (_T_567) begin
+          if (_T_560) begin
+            _T_563 <= _T_559;
+          end else begin
+            _T_563 <= 4'h0;
+          end
+        end else begin
+          _T_563 <= _T_566;
+        end
+      end
+    end
+    if (_T_614) begin
+      _T_576 <= io_in_d_bits_opcode;
+    end
+    if (_T_614) begin
+      _T_580 <= io_in_d_bits_size;
+    end
+    if (_T_614) begin
+      _T_582 <= io_in_d_bits_source;
+    end
+    if (reset) begin
+      _T_616 <= 2'h0;
+    end else begin
+      _T_616 <= _T_689;
+    end
+    if (reset) begin
+      _T_627 <= 4'h0;
+    end else begin
+      if (_T_498) begin
+        if (_T_631) begin
+          if (_T_505) begin
+            _T_627 <= _T_503;
+          end else begin
+            _T_627 <= 4'h0;
+          end
+        end else begin
+          _T_627 <= _T_630;
+        end
+      end
+    end
+    if (reset) begin
+      _T_648 <= 4'h0;
+    end else begin
+      if (_T_554) begin
+        if (_T_652) begin
+          if (_T_560) begin
+            _T_648 <= _T_559;
+          end else begin
+            _T_648 <= 4'h0;
+          end
+        end else begin
+          _T_648 <= _T_651;
+        end
+      end
+    end
+    if (reset) begin
+      _T_691 <= 32'h0;
+    end else begin
+      if (_T_705) begin
+        _T_691 <= 32'h0;
+      end else begin
+        _T_691 <= _T_702;
+      end
+    end
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at UART.scala:157:94)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@63887.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@63888.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@63957.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@63958.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at UART.scala:157:94)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63974.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_101) begin
+          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63975.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at UART.scala:157:94)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63981.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_101) begin
+          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63982.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63988.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_107) begin
+          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63989.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_111) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at UART.scala:157:94)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63996.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_111) begin
+          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63997.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at UART.scala:157:94)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64003.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_114) begin
+          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64004.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_118) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at UART.scala:157:94)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64011.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_118) begin
+          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64012.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_123) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at UART.scala:157:94)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64020.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_123) begin
+          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64021.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_127) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at UART.scala:157:94)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64028.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_127) begin
+          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64029.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at UART.scala:157:94)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64046.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_101) begin
+          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64047.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at UART.scala:157:94)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64053.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_101) begin
+          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64054.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64060.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_107) begin
+          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64061.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_111) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at UART.scala:157:94)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64068.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_111) begin
+          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64069.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at UART.scala:157:94)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64075.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_114) begin
+          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64076.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_118) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at UART.scala:157:94)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64083.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_118) begin
+          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64084.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_160) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at UART.scala:157:94)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64091.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_160) begin
+          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64092.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_123) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at UART.scala:157:94)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64100.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_123) begin
+          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64101.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_127) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at UART.scala:157:94)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64108.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_127) begin
+          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64109.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_184) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at UART.scala:157:94)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64129.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_184) begin
+          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64130.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64136.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_107) begin
+          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64137.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at UART.scala:157:94)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64143.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_114) begin
+          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64144.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_194) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at UART.scala:157:94)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64151.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_194) begin
+          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64152.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_198) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at UART.scala:157:94)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64159.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_198) begin
+          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64160.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_127) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at UART.scala:157:94)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64167.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_127) begin
+          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64168.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_184) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at UART.scala:157:94)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64188.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_184) begin
+          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64189.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64195.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_107) begin
+          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64196.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at UART.scala:157:94)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64202.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_114) begin
+          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64203.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_194) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at UART.scala:157:94)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64210.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_194) begin
+          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64211.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_198) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at UART.scala:157:94)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64218.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_198) begin
+          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64219.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_184) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at UART.scala:157:94)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64239.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_184) begin
+          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64240.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64246.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_107) begin
+          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64247.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at UART.scala:157:94)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64253.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_114) begin
+          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64254.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_194) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at UART.scala:157:94)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64261.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_194) begin
+          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64262.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_262) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at UART.scala:157:94)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64271.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_262) begin
+          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64272.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at UART.scala:157:94)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64289.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_101) begin
+          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64290.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64296.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_107) begin
+          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64297.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at UART.scala:157:94)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64303.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_114) begin
+          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64304.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_284) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at UART.scala:157:94)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64311.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_284) begin
+          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64312.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_198) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at UART.scala:157:94)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64319.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_198) begin
+          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64320.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at UART.scala:157:94)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64337.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_101) begin
+          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64338.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64344.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_107) begin
+          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64345.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at UART.scala:157:94)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64351.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_114) begin
+          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64352.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_310) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at UART.scala:157:94)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64359.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_310) begin
+          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64360.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_198) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at UART.scala:157:94)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64367.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_198) begin
+          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64368.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at UART.scala:157:94)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64385.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_101) begin
+          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64386.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64392.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_107) begin
+          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64393.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at UART.scala:157:94)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64399.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_114) begin
+          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64400.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_198) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at UART.scala:157:94)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64407.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_198) begin
+          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64408.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_127) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at UART.scala:157:94)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64415.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_127) begin
+          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64416.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_344) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at UART.scala:157:94)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@64426.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_344) begin
+          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@64427.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_360) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64443.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_360) begin
+          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64444.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_364) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at UART.scala:157:94)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64451.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_364) begin
+          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64452.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at UART.scala:157:94)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64459.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64460.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at UART.scala:157:94)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64467.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64468.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at UART.scala:157:94)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64475.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64476.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_119 & _T_360) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64485.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_119 & _T_360) begin
+          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64486.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_119 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at UART.scala:157:94)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64492.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_119 & _T_101) begin
+          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64493.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_119 & _T_364) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at UART.scala:157:94)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64500.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_119 & _T_364) begin
+          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64501.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at UART.scala:157:94)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64508.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64509.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at UART.scala:157:94)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64516.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64517.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at UART.scala:157:94)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64524.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64525.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at UART.scala:157:94)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64533.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64534.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_360) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64543.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_360) begin
+          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64544.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at UART.scala:157:94)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64550.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_101) begin
+          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64551.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_364) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at UART.scala:157:94)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64558.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_364) begin
+          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64559.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at UART.scala:157:94)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64566.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64567.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at UART.scala:157:94)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64574.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64575.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at UART.scala:157:94)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64583.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64584.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at UART.scala:157:94)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64592.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64593.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_131 & _T_360) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64602.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_131 & _T_360) begin
+          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64603.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at UART.scala:157:94)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64610.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64611.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at UART.scala:157:94)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64618.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64619.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at UART.scala:157:94)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64627.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64628.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_133 & _T_360) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64637.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_133 & _T_360) begin
+          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64638.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at UART.scala:157:94)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64645.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64646.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at UART.scala:157:94)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64654.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64655.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at UART.scala:157:94)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64663.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64664.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_135 & _T_360) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64673.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_135 & _T_360) begin
+          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64674.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at UART.scala:157:94)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64681.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64682.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at UART.scala:157:94)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64689.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64690.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at UART.scala:157:94)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64698.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64699.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at UART.scala:157:94)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64708.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64709.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at UART.scala:157:94)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64716.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64717.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at UART.scala:157:94)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64724.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64725.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_531 & _T_535) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at UART.scala:157:94)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64764.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_531 & _T_535) begin
+          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64765.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_531 & _T_539) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at UART.scala:157:94)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64772.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_531 & _T_539) begin
+          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64773.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_531 & _T_543) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at UART.scala:157:94)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64780.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_531 & _T_543) begin
+          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64781.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_531 & _T_547) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at UART.scala:157:94)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64788.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_531 & _T_547) begin
+          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64789.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_531 & _T_551) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at UART.scala:157:94)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64796.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_531 & _T_551) begin
+          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64797.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_588 & _T_592) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at UART.scala:157:94)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64846.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_588 & _T_592) begin
+          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64847.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at UART.scala:157:94)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64854.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64855.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_588 & _T_600) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at UART.scala:157:94)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64862.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_588 & _T_600) begin
+          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64863.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_588 & _T_604) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at UART.scala:157:94)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64870.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_588 & _T_604) begin
+          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64871.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at UART.scala:157:94)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64878.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64879.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at UART.scala:157:94)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64886.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64887.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_663 & _T_671) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at UART.scala:157:94)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@64964.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_663 & _T_671) begin
+          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@64965.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_679 & _T_686) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at UART.scala:157:94)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@64987.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_679 & _T_686) begin
+          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@64988.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_700) begin
+          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at UART.scala:157:94)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@65008.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_700) begin
+          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@65009.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+endmodule
+module TLFragmenter_9( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65052.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65053.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65054.4]
+  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65055.4]
+  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65055.4]
+  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65055.4]
+  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65055.4]
+  input  [2:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65055.4]
+  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65055.4]
+  input  [28:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65055.4]
+  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65055.4]
+  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65055.4]
+  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65055.4]
+  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65055.4]
+  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65055.4]
+  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65055.4]
+  output [2:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65055.4]
+  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65055.4]
+  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65055.4]
+  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65055.4]
+  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65055.4]
+  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65055.4]
+  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65055.4]
+  output [1:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65055.4]
+  output [5:0]  auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65055.4]
+  output [28:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65055.4]
+  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65055.4]
+  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65055.4]
+  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65055.4]
+  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65055.4]
+  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65055.4]
+  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65055.4]
+  input  [1:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65055.4]
+  input  [5:0]  auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65055.4]
+  input  [31:0] auto_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65055.4]
+);
+  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@65062.4]
+  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@65062.4]
+  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@65062.4]
+  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@65062.4]
+  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@65062.4]
+  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@65062.4]
+  wire [2:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@65062.4]
+  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@65062.4]
+  wire [28:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@65062.4]
+  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@65062.4]
+  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@65062.4]
+  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@65062.4]
+  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@65062.4]
+  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@65062.4]
+  wire [2:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@65062.4]
+  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@65062.4]
+  wire  Repeater_clock; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@65179.4]
+  wire  Repeater_reset; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@65179.4]
+  wire  Repeater_io_repeat; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@65179.4]
+  wire  Repeater_io_full; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@65179.4]
+  wire  Repeater_io_enq_ready; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@65179.4]
+  wire  Repeater_io_enq_valid; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@65179.4]
+  wire [2:0] Repeater_io_enq_bits_opcode; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@65179.4]
+  wire [2:0] Repeater_io_enq_bits_param; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@65179.4]
+  wire [2:0] Repeater_io_enq_bits_size; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@65179.4]
+  wire  Repeater_io_enq_bits_source; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@65179.4]
+  wire [28:0] Repeater_io_enq_bits_address; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@65179.4]
+  wire [3:0] Repeater_io_enq_bits_mask; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@65179.4]
+  wire  Repeater_io_enq_bits_corrupt; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@65179.4]
+  wire  Repeater_io_deq_ready; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@65179.4]
+  wire  Repeater_io_deq_valid; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@65179.4]
+  wire [2:0] Repeater_io_deq_bits_opcode; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@65179.4]
+  wire [2:0] Repeater_io_deq_bits_param; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@65179.4]
+  wire [2:0] Repeater_io_deq_bits_size; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@65179.4]
+  wire  Repeater_io_deq_bits_source; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@65179.4]
+  wire [28:0] Repeater_io_deq_bits_address; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@65179.4]
+  wire [3:0] Repeater_io_deq_bits_mask; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@65179.4]
+  wire  Repeater_io_deq_bits_corrupt; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@65179.4]
+  reg [3:0] _T_244; // @[Fragmenter.scala 167:27:shc.marmotcaravel.MarmotCaravelConfig.fir@65103.4]
+  reg [31:0] _RAND_0;
+  reg [2:0] _T_246; // @[Fragmenter.scala 168:22:shc.marmotcaravel.MarmotCaravelConfig.fir@65104.4]
+  reg [31:0] _RAND_1;
+  reg  _T_248; // @[Fragmenter.scala 169:28:shc.marmotcaravel.MarmotCaravelConfig.fir@65105.4]
+  reg [31:0] _RAND_2;
+  wire [3:0] _T_249; // @[Fragmenter.scala 170:39:shc.marmotcaravel.MarmotCaravelConfig.fir@65106.4]
+  wire  _T_250; // @[Fragmenter.scala 171:27:shc.marmotcaravel.MarmotCaravelConfig.fir@65107.4]
+  wire  _T_251; // @[Fragmenter.scala 172:28:shc.marmotcaravel.MarmotCaravelConfig.fir@65108.4]
+  wire [3:0] _T_253; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@65110.4]
+  wire [2:0] _T_254; // @[OneHot.scala 52:27:shc.marmotcaravel.MarmotCaravelConfig.fir@65111.4]
+  wire [4:0] _T_256; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@65113.4]
+  wire [1:0] _T_257; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@65114.4]
+  wire [1:0] _T_258; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@65115.4]
+  wire  _T_259; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@65116.4]
+  wire  _T_271; // @[Fragmenter.scala 182:58:shc.marmotcaravel.MarmotCaravelConfig.fir@65132.4]
+  wire  _T_272; // @[Fragmenter.scala 182:30:shc.marmotcaravel.MarmotCaravelConfig.fir@65133.4]
+  wire [5:0] _GEN_7; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@65134.4]
+  wire [5:0] _T_273; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@65134.4]
+  wire [5:0] _GEN_8; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@65135.4]
+  wire [5:0] _T_274; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@65135.4]
+  wire [6:0] _GEN_9; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@65136.4]
+  wire [6:0] _T_275; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@65136.4]
+  wire [6:0] _T_276; // @[package.scala 183:40:shc.marmotcaravel.MarmotCaravelConfig.fir@65137.4]
+  wire [6:0] _T_277; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@65138.4]
+  wire [6:0] _T_278; // @[package.scala 183:53:shc.marmotcaravel.MarmotCaravelConfig.fir@65139.4]
+  wire [6:0] _T_279; // @[package.scala 183:51:shc.marmotcaravel.MarmotCaravelConfig.fir@65140.4]
+  wire [2:0] _T_280; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@65141.4]
+  wire [3:0] _T_281; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@65142.4]
+  wire  _T_282; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65143.4]
+  wire [3:0] _GEN_10; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@65144.4]
+  wire [3:0] _T_283; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@65144.4]
+  wire [1:0] _T_284; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@65145.4]
+  wire [1:0] _T_285; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@65146.4]
+  wire  _T_286; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65147.4]
+  wire [1:0] _T_287; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@65148.4]
+  wire  _T_288; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@65149.4]
+  wire [1:0] _T_289; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@65150.4]
+  wire [2:0] _T_290; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@65151.4]
+  wire  _T_297; // @[Fragmenter.scala 200:18:shc.marmotcaravel.MarmotCaravelConfig.fir@65165.4]
+  wire  _T_299; // @[Fragmenter.scala 200:31:shc.marmotcaravel.MarmotCaravelConfig.fir@65167.4]
+  wire  _T_300; // @[Fragmenter.scala 200:28:shc.marmotcaravel.MarmotCaravelConfig.fir@65168.4]
+  wire  _T_301; // @[Fragmenter.scala 201:33:shc.marmotcaravel.MarmotCaravelConfig.fir@65169.4]
+  wire  _T_291; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@65152.4]
+  wire [3:0] _GEN_11; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@65154.6]
+  wire [4:0] _T_292; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@65154.6]
+  wire [4:0] _T_293; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@65155.6]
+  wire [3:0] _T_294; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@65156.6]
+  wire  _T_296; // @[Fragmenter.scala 190:39:shc.marmotcaravel.MarmotCaravelConfig.fir@65161.8]
+  wire  _T_302; // @[Fragmenter.scala 202:37:shc.marmotcaravel.MarmotCaravelConfig.fir@65171.4]
+  wire  _T_330; // @[Fragmenter.scala 262:29:shc.marmotcaravel.MarmotCaravelConfig.fir@65204.4]
+  wire [2:0] _T_331; // @[Fragmenter.scala 262:22:shc.marmotcaravel.MarmotCaravelConfig.fir@65205.4]
+  wire [12:0] _T_333; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@65207.4]
+  wire [5:0] _T_334; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@65208.4]
+  wire [5:0] _T_335; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@65209.4]
+  wire [8:0] _T_337; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@65211.4]
+  wire [1:0] _T_338; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@65212.4]
+  wire [1:0] _T_339; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@65213.4]
+  wire  _T_340; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@65214.4]
+  wire  _T_341; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@65215.4]
+  reg [3:0] _T_344; // @[Fragmenter.scala 268:27:shc.marmotcaravel.MarmotCaravelConfig.fir@65217.4]
+  reg [31:0] _RAND_3;
+  wire  _T_345; // @[Fragmenter.scala 269:27:shc.marmotcaravel.MarmotCaravelConfig.fir@65218.4]
+  wire [3:0] _T_346; // @[Fragmenter.scala 270:46:shc.marmotcaravel.MarmotCaravelConfig.fir@65219.4]
+  wire [4:0] _T_347; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@65220.4]
+  wire [4:0] _T_348; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@65221.4]
+  wire [3:0] _T_349; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@65222.4]
+  wire [3:0] _T_350; // @[Fragmenter.scala 270:28:shc.marmotcaravel.MarmotCaravelConfig.fir@65223.4]
+  wire [3:0] _T_351; // @[Fragmenter.scala 271:26:shc.marmotcaravel.MarmotCaravelConfig.fir@65224.4]
+  wire [3:0] _T_354; // @[Fragmenter.scala 271:24:shc.marmotcaravel.MarmotCaravelConfig.fir@65227.4]
+  reg  _T_362; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@65234.4]
+  reg [31:0] _RAND_4;
+  wire  _GEN_5; // @[Reg.scala 12:19:shc.marmotcaravel.MarmotCaravelConfig.fir@65235.4]
+  wire  _T_364; // @[Fragmenter.scala 274:21:shc.marmotcaravel.MarmotCaravelConfig.fir@65239.4]
+  wire  _T_92_a_valid; // @[Nodes.scala 332:76:shc.marmotcaravel.MarmotCaravelConfig.fir@65099.4 Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@65248.4]
+  wire  _T_365; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@65240.4]
+  wire  _T_366; // @[Fragmenter.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@65244.4]
+  wire  _T_367; // @[Fragmenter.scala 279:51:shc.marmotcaravel.MarmotCaravelConfig.fir@65245.4]
+  wire [5:0] _GEN_12; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@65249.4]
+  wire [5:0] _T_369; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@65249.4]
+  wire [5:0] _T_370; // @[Fragmenter.scala 281:88:shc.marmotcaravel.MarmotCaravelConfig.fir@65250.4]
+  wire [5:0] _T_371; // @[Fragmenter.scala 281:86:shc.marmotcaravel.MarmotCaravelConfig.fir@65251.4]
+  wire [5:0] _GEN_13; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@65252.4]
+  wire [5:0] _T_372; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@65252.4]
+  wire [5:0] _T_373; // @[Fragmenter.scala 281:109:shc.marmotcaravel.MarmotCaravelConfig.fir@65253.4]
+  wire [5:0] _T_374; // @[Fragmenter.scala 281:49:shc.marmotcaravel.MarmotCaravelConfig.fir@65254.4]
+  wire [28:0] _GEN_14; // @[Fragmenter.scala 281:47:shc.marmotcaravel.MarmotCaravelConfig.fir@65255.4]
+  wire [1:0] _T_376; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@65257.4]
+  wire  _T_378; // @[Fragmenter.scala 286:15:shc.marmotcaravel.MarmotCaravelConfig.fir@65261.4]
+  wire  _T_380; // @[Fragmenter.scala 286:33:shc.marmotcaravel.MarmotCaravelConfig.fir@65263.4]
+  wire  _T_382; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65265.4]
+  wire  _T_383; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65266.4]
+  wire  _T_385; // @[Fragmenter.scala 289:51:shc.marmotcaravel.MarmotCaravelConfig.fir@65273.4]
+  wire  _T_386; // @[Fragmenter.scala 289:33:shc.marmotcaravel.MarmotCaravelConfig.fir@65274.4]
+  wire  _T_388; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65276.4]
+  wire  _T_389; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65277.4]
+  TLMonitor_36 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@65062.4]
+    .clock(TLMonitor_clock),
+    .reset(TLMonitor_reset),
+    .io_in_a_ready(TLMonitor_io_in_a_ready),
+    .io_in_a_valid(TLMonitor_io_in_a_valid),
+    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
+    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
+    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
+    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
+    .io_in_d_ready(TLMonitor_io_in_d_ready),
+    .io_in_d_valid(TLMonitor_io_in_d_valid),
+    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
+    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
+    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source)
+  );
+  Repeater_4 Repeater ( // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@65179.4]
+    .clock(Repeater_clock),
+    .reset(Repeater_reset),
+    .io_repeat(Repeater_io_repeat),
+    .io_full(Repeater_io_full),
+    .io_enq_ready(Repeater_io_enq_ready),
+    .io_enq_valid(Repeater_io_enq_valid),
+    .io_enq_bits_opcode(Repeater_io_enq_bits_opcode),
+    .io_enq_bits_param(Repeater_io_enq_bits_param),
+    .io_enq_bits_size(Repeater_io_enq_bits_size),
+    .io_enq_bits_source(Repeater_io_enq_bits_source),
+    .io_enq_bits_address(Repeater_io_enq_bits_address),
+    .io_enq_bits_mask(Repeater_io_enq_bits_mask),
+    .io_enq_bits_corrupt(Repeater_io_enq_bits_corrupt),
+    .io_deq_ready(Repeater_io_deq_ready),
+    .io_deq_valid(Repeater_io_deq_valid),
+    .io_deq_bits_opcode(Repeater_io_deq_bits_opcode),
+    .io_deq_bits_param(Repeater_io_deq_bits_param),
+    .io_deq_bits_size(Repeater_io_deq_bits_size),
+    .io_deq_bits_source(Repeater_io_deq_bits_source),
+    .io_deq_bits_address(Repeater_io_deq_bits_address),
+    .io_deq_bits_mask(Repeater_io_deq_bits_mask),
+    .io_deq_bits_corrupt(Repeater_io_deq_bits_corrupt)
+  );
+  assign _T_249 = auto_out_d_bits_source[3:0]; // @[Fragmenter.scala 170:39:shc.marmotcaravel.MarmotCaravelConfig.fir@65106.4]
+  assign _T_250 = _T_244 == 4'h0; // @[Fragmenter.scala 171:27:shc.marmotcaravel.MarmotCaravelConfig.fir@65107.4]
+  assign _T_251 = _T_249 == 4'h0; // @[Fragmenter.scala 172:28:shc.marmotcaravel.MarmotCaravelConfig.fir@65108.4]
+  assign _T_253 = 4'h1 << auto_out_d_bits_size; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@65110.4]
+  assign _T_254 = _T_253[2:0]; // @[OneHot.scala 52:27:shc.marmotcaravel.MarmotCaravelConfig.fir@65111.4]
+  assign _T_256 = 5'h3 << auto_out_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@65113.4]
+  assign _T_257 = _T_256[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@65114.4]
+  assign _T_258 = ~ _T_257; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@65115.4]
+  assign _T_259 = auto_out_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@65116.4]
+  assign _T_271 = _T_254[2:2]; // @[Fragmenter.scala 182:58:shc.marmotcaravel.MarmotCaravelConfig.fir@65132.4]
+  assign _T_272 = _T_259 ? 1'h1 : _T_271; // @[Fragmenter.scala 182:30:shc.marmotcaravel.MarmotCaravelConfig.fir@65133.4]
+  assign _GEN_7 = {{2'd0}, _T_249}; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@65134.4]
+  assign _T_273 = _GEN_7 << 2; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@65134.4]
+  assign _GEN_8 = {{4'd0}, _T_258}; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@65135.4]
+  assign _T_274 = _T_273 | _GEN_8; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@65135.4]
+  assign _GEN_9 = {{1'd0}, _T_274}; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@65136.4]
+  assign _T_275 = _GEN_9 << 1; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@65136.4]
+  assign _T_276 = _T_275 | 7'h1; // @[package.scala 183:40:shc.marmotcaravel.MarmotCaravelConfig.fir@65137.4]
+  assign _T_277 = {1'h0,_T_274}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@65138.4]
+  assign _T_278 = ~ _T_277; // @[package.scala 183:53:shc.marmotcaravel.MarmotCaravelConfig.fir@65139.4]
+  assign _T_279 = _T_276 & _T_278; // @[package.scala 183:51:shc.marmotcaravel.MarmotCaravelConfig.fir@65140.4]
+  assign _T_280 = _T_279[6:4]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@65141.4]
+  assign _T_281 = _T_279[3:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@65142.4]
+  assign _T_282 = _T_280 != 3'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65143.4]
+  assign _GEN_10 = {{1'd0}, _T_280}; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@65144.4]
+  assign _T_283 = _GEN_10 | _T_281; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@65144.4]
+  assign _T_284 = _T_283[3:2]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@65145.4]
+  assign _T_285 = _T_283[1:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@65146.4]
+  assign _T_286 = _T_284 != 2'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65147.4]
+  assign _T_287 = _T_284 | _T_285; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@65148.4]
+  assign _T_288 = _T_287[1]; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@65149.4]
+  assign _T_289 = {_T_286,_T_288}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@65150.4]
+  assign _T_290 = {_T_282,_T_289}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@65151.4]
+  assign _T_297 = _T_259 == 1'h0; // @[Fragmenter.scala 200:18:shc.marmotcaravel.MarmotCaravelConfig.fir@65165.4]
+  assign _T_299 = _T_251 == 1'h0; // @[Fragmenter.scala 200:31:shc.marmotcaravel.MarmotCaravelConfig.fir@65167.4]
+  assign _T_300 = _T_297 & _T_299; // @[Fragmenter.scala 200:28:shc.marmotcaravel.MarmotCaravelConfig.fir@65168.4]
+  assign _T_301 = auto_in_d_ready | _T_300; // @[Fragmenter.scala 201:33:shc.marmotcaravel.MarmotCaravelConfig.fir@65169.4]
+  assign _T_291 = _T_301 & auto_out_d_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@65152.4]
+  assign _GEN_11 = {{3'd0}, _T_272}; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@65154.6]
+  assign _T_292 = _T_244 - _GEN_11; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@65154.6]
+  assign _T_293 = $unsigned(_T_292); // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@65155.6]
+  assign _T_294 = _T_293[3:0]; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@65156.6]
+  assign _T_296 = auto_out_d_bits_source[4]; // @[Fragmenter.scala 190:39:shc.marmotcaravel.MarmotCaravelConfig.fir@65161.8]
+  assign _T_302 = _T_300 == 1'h0; // @[Fragmenter.scala 202:37:shc.marmotcaravel.MarmotCaravelConfig.fir@65171.4]
+  assign _T_330 = Repeater_io_deq_bits_size > 3'h2; // @[Fragmenter.scala 262:29:shc.marmotcaravel.MarmotCaravelConfig.fir@65204.4]
+  assign _T_331 = _T_330 ? 3'h2 : Repeater_io_deq_bits_size; // @[Fragmenter.scala 262:22:shc.marmotcaravel.MarmotCaravelConfig.fir@65205.4]
+  assign _T_333 = 13'h3f << Repeater_io_deq_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@65207.4]
+  assign _T_334 = _T_333[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@65208.4]
+  assign _T_335 = ~ _T_334; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@65209.4]
+  assign _T_337 = 9'h3 << _T_331; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@65211.4]
+  assign _T_338 = _T_337[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@65212.4]
+  assign _T_339 = ~ _T_338; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@65213.4]
+  assign _T_340 = Repeater_io_deq_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@65214.4]
+  assign _T_341 = _T_340 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@65215.4]
+  assign _T_345 = _T_344 == 4'h0; // @[Fragmenter.scala 269:27:shc.marmotcaravel.MarmotCaravelConfig.fir@65218.4]
+  assign _T_346 = _T_335[5:2]; // @[Fragmenter.scala 270:46:shc.marmotcaravel.MarmotCaravelConfig.fir@65219.4]
+  assign _T_347 = _T_344 - 4'h1; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@65220.4]
+  assign _T_348 = $unsigned(_T_347); // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@65221.4]
+  assign _T_349 = _T_348[3:0]; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@65222.4]
+  assign _T_350 = _T_345 ? _T_346 : _T_349; // @[Fragmenter.scala 270:28:shc.marmotcaravel.MarmotCaravelConfig.fir@65223.4]
+  assign _T_351 = ~ _T_350; // @[Fragmenter.scala 271:26:shc.marmotcaravel.MarmotCaravelConfig.fir@65224.4]
+  assign _T_354 = ~ _T_351; // @[Fragmenter.scala 271:24:shc.marmotcaravel.MarmotCaravelConfig.fir@65227.4]
+  assign _GEN_5 = _T_345 ? _T_248 : _T_362; // @[Reg.scala 12:19:shc.marmotcaravel.MarmotCaravelConfig.fir@65235.4]
+  assign _T_364 = _GEN_5 == 1'h0; // @[Fragmenter.scala 274:21:shc.marmotcaravel.MarmotCaravelConfig.fir@65239.4]
+  assign _T_92_a_valid = Repeater_io_deq_valid; // @[Nodes.scala 332:76:shc.marmotcaravel.MarmotCaravelConfig.fir@65099.4 Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@65248.4]
+  assign _T_365 = auto_out_a_ready & _T_92_a_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@65240.4]
+  assign _T_366 = _T_341 == 1'h0; // @[Fragmenter.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@65244.4]
+  assign _T_367 = _T_354 != 4'h0; // @[Fragmenter.scala 279:51:shc.marmotcaravel.MarmotCaravelConfig.fir@65245.4]
+  assign _GEN_12 = {{2'd0}, _T_350}; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@65249.4]
+  assign _T_369 = _GEN_12 << 2; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@65249.4]
+  assign _T_370 = ~ _T_335; // @[Fragmenter.scala 281:88:shc.marmotcaravel.MarmotCaravelConfig.fir@65250.4]
+  assign _T_371 = _T_369 | _T_370; // @[Fragmenter.scala 281:86:shc.marmotcaravel.MarmotCaravelConfig.fir@65251.4]
+  assign _GEN_13 = {{4'd0}, _T_339}; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@65252.4]
+  assign _T_372 = _T_371 | _GEN_13; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@65252.4]
+  assign _T_373 = _T_372 | 6'h3; // @[Fragmenter.scala 281:109:shc.marmotcaravel.MarmotCaravelConfig.fir@65253.4]
+  assign _T_374 = ~ _T_373; // @[Fragmenter.scala 281:49:shc.marmotcaravel.MarmotCaravelConfig.fir@65254.4]
+  assign _GEN_14 = {{23'd0}, _T_374}; // @[Fragmenter.scala 281:47:shc.marmotcaravel.MarmotCaravelConfig.fir@65255.4]
+  assign _T_376 = {Repeater_io_deq_bits_source,_T_364}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@65257.4]
+  assign _T_378 = Repeater_io_full == 1'h0; // @[Fragmenter.scala 286:15:shc.marmotcaravel.MarmotCaravelConfig.fir@65261.4]
+  assign _T_380 = _T_378 | _T_366; // @[Fragmenter.scala 286:33:shc.marmotcaravel.MarmotCaravelConfig.fir@65263.4]
+  assign _T_382 = _T_380 | reset; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65265.4]
+  assign _T_383 = _T_382 == 1'h0; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65266.4]
+  assign _T_385 = Repeater_io_deq_bits_mask == 4'hf; // @[Fragmenter.scala 289:51:shc.marmotcaravel.MarmotCaravelConfig.fir@65273.4]
+  assign _T_386 = _T_378 | _T_385; // @[Fragmenter.scala 289:33:shc.marmotcaravel.MarmotCaravelConfig.fir@65274.4]
+  assign _T_388 = _T_386 | reset; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65276.4]
+  assign _T_389 = _T_388 == 1'h0; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65277.4]
+  assign auto_in_a_ready = Repeater_io_enq_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@65102.4]
+  assign auto_in_d_valid = auto_out_d_valid & _T_302; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@65102.4]
+  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@65102.4]
+  assign auto_in_d_bits_size = _T_250 ? _T_290 : _T_246; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@65102.4]
+  assign auto_in_d_bits_source = auto_out_d_bits_source[5:5]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@65102.4]
+  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@65102.4]
+  assign auto_out_a_valid = Repeater_io_deq_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@65101.4]
+  assign auto_out_a_bits_opcode = Repeater_io_deq_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@65101.4]
+  assign auto_out_a_bits_param = Repeater_io_deq_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@65101.4]
+  assign auto_out_a_bits_size = _T_331[1:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@65101.4]
+  assign auto_out_a_bits_source = {_T_376,_T_354}; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@65101.4]
+  assign auto_out_a_bits_address = Repeater_io_deq_bits_address | _GEN_14; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@65101.4]
+  assign auto_out_a_bits_mask = Repeater_io_full ? 4'hf : auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@65101.4]
+  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@65101.4]
+  assign auto_out_a_bits_corrupt = Repeater_io_deq_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@65101.4]
+  assign auto_out_d_ready = auto_in_d_ready | _T_300; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@65101.4]
+  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65064.4]
+  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65065.4]
+  assign TLMonitor_io_in_a_ready = Repeater_io_enq_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@65098.4]
+  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@65098.4]
+  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@65098.4]
+  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@65098.4]
+  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@65098.4]
+  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@65098.4]
+  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@65098.4]
+  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@65098.4]
+  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@65098.4]
+  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@65098.4]
+  assign TLMonitor_io_in_d_valid = auto_out_d_valid & _T_302; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@65098.4]
+  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@65098.4]
+  assign TLMonitor_io_in_d_bits_size = _T_250 ? _T_290 : _T_246; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@65098.4]
+  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source[5:5]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@65098.4]
+  assign Repeater_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65181.4]
+  assign Repeater_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65182.4]
+  assign Repeater_io_repeat = _T_366 & _T_367; // @[Fragmenter.scala 279:26:shc.marmotcaravel.MarmotCaravelConfig.fir@65247.4]
+  assign Repeater_io_enq_valid = auto_in_a_valid; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@65183.4]
+  assign Repeater_io_enq_bits_opcode = auto_in_a_bits_opcode; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@65183.4]
+  assign Repeater_io_enq_bits_param = auto_in_a_bits_param; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@65183.4]
+  assign Repeater_io_enq_bits_size = auto_in_a_bits_size; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@65183.4]
+  assign Repeater_io_enq_bits_source = auto_in_a_bits_source; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@65183.4]
+  assign Repeater_io_enq_bits_address = auto_in_a_bits_address; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@65183.4]
+  assign Repeater_io_enq_bits_mask = auto_in_a_bits_mask; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@65183.4]
+  assign Repeater_io_enq_bits_corrupt = auto_in_a_bits_corrupt; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@65183.4]
+  assign Repeater_io_deq_ready = auto_out_a_ready; // @[Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@65248.4]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  _T_244 = _RAND_0[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  _T_246 = _RAND_1[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  _T_248 = _RAND_2[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  _T_344 = _RAND_3[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  _T_362 = _RAND_4[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      _T_244 <= 4'h0;
+    end else begin
+      if (_T_291) begin
+        if (_T_250) begin
+          _T_244 <= _T_249;
+        end else begin
+          _T_244 <= _T_294;
+        end
+      end
+    end
+    if (_T_291) begin
+      if (_T_250) begin
+        _T_246 <= _T_290;
+      end
+    end
+    if (reset) begin
+      _T_248 <= 1'h0;
+    end else begin
+      if (_T_291) begin
+        if (_T_250) begin
+          _T_248 <= _T_296;
+        end
+      end
+    end
+    if (reset) begin
+      _T_344 <= 4'h0;
+    end else begin
+      if (_T_365) begin
+        _T_344 <= _T_354;
+      end
+    end
+    if (_T_345) begin
+      _T_362 <= _T_248;
+    end
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:180 assert (!out.d.valid || (acknum_fragment & acknum_size) === UInt(0))\n"); // @[Fragmenter.scala 180:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65127.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Fragmenter.scala 180:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65128.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_383) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:286 assert (!repeater.io.full || !aHasData)\n"); // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65268.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_383) begin
+          $fatal; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65269.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_389) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:289 assert (!repeater.io.full || in_a.bits.mask === fullMask)\n"); // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65279.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_389) begin
+          $fatal; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65280.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+endmodule
+module SimpleLazyModule_17( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65291.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65292.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65293.4]
+  output        auto_fragmenter_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65294.4]
+  input         auto_fragmenter_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65294.4]
+  input  [2:0]  auto_fragmenter_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65294.4]
+  input  [2:0]  auto_fragmenter_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65294.4]
+  input  [2:0]  auto_fragmenter_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65294.4]
+  input         auto_fragmenter_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65294.4]
+  input  [28:0] auto_fragmenter_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65294.4]
+  input  [3:0]  auto_fragmenter_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65294.4]
+  input  [31:0] auto_fragmenter_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65294.4]
+  input         auto_fragmenter_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65294.4]
+  input         auto_fragmenter_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65294.4]
+  output        auto_fragmenter_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65294.4]
+  output [2:0]  auto_fragmenter_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65294.4]
+  output [2:0]  auto_fragmenter_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65294.4]
+  output        auto_fragmenter_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65294.4]
+  output [31:0] auto_fragmenter_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65294.4]
+  input         auto_control_xing_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65294.4]
+  output        auto_control_xing_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65294.4]
+  output [2:0]  auto_control_xing_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65294.4]
+  output [2:0]  auto_control_xing_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65294.4]
+  output [1:0]  auto_control_xing_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65294.4]
+  output [5:0]  auto_control_xing_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65294.4]
+  output [28:0] auto_control_xing_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65294.4]
+  output [3:0]  auto_control_xing_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65294.4]
+  output [31:0] auto_control_xing_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65294.4]
+  output        auto_control_xing_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65294.4]
+  output        auto_control_xing_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65294.4]
+  input         auto_control_xing_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65294.4]
+  input  [2:0]  auto_control_xing_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65294.4]
+  input  [1:0]  auto_control_xing_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65294.4]
+  input  [5:0]  auto_control_xing_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65294.4]
+  input  [31:0] auto_control_xing_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65294.4]
+);
+  wire  fragmenter_clock; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@65299.4]
+  wire  fragmenter_reset; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@65299.4]
+  wire  fragmenter_auto_in_a_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@65299.4]
+  wire  fragmenter_auto_in_a_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@65299.4]
+  wire [2:0] fragmenter_auto_in_a_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@65299.4]
+  wire [2:0] fragmenter_auto_in_a_bits_param; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@65299.4]
+  wire [2:0] fragmenter_auto_in_a_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@65299.4]
+  wire  fragmenter_auto_in_a_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@65299.4]
+  wire [28:0] fragmenter_auto_in_a_bits_address; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@65299.4]
+  wire [3:0] fragmenter_auto_in_a_bits_mask; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@65299.4]
+  wire [31:0] fragmenter_auto_in_a_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@65299.4]
+  wire  fragmenter_auto_in_a_bits_corrupt; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@65299.4]
+  wire  fragmenter_auto_in_d_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@65299.4]
+  wire  fragmenter_auto_in_d_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@65299.4]
+  wire [2:0] fragmenter_auto_in_d_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@65299.4]
+  wire [2:0] fragmenter_auto_in_d_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@65299.4]
+  wire  fragmenter_auto_in_d_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@65299.4]
+  wire [31:0] fragmenter_auto_in_d_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@65299.4]
+  wire  fragmenter_auto_out_a_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@65299.4]
+  wire  fragmenter_auto_out_a_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@65299.4]
+  wire [2:0] fragmenter_auto_out_a_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@65299.4]
+  wire [2:0] fragmenter_auto_out_a_bits_param; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@65299.4]
+  wire [1:0] fragmenter_auto_out_a_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@65299.4]
+  wire [5:0] fragmenter_auto_out_a_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@65299.4]
+  wire [28:0] fragmenter_auto_out_a_bits_address; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@65299.4]
+  wire [3:0] fragmenter_auto_out_a_bits_mask; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@65299.4]
+  wire [31:0] fragmenter_auto_out_a_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@65299.4]
+  wire  fragmenter_auto_out_a_bits_corrupt; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@65299.4]
+  wire  fragmenter_auto_out_d_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@65299.4]
+  wire  fragmenter_auto_out_d_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@65299.4]
+  wire [2:0] fragmenter_auto_out_d_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@65299.4]
+  wire [1:0] fragmenter_auto_out_d_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@65299.4]
+  wire [5:0] fragmenter_auto_out_d_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@65299.4]
+  wire [31:0] fragmenter_auto_out_d_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@65299.4]
+  TLFragmenter_9 fragmenter ( // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@65299.4]
+    .clock(fragmenter_clock),
+    .reset(fragmenter_reset),
+    .auto_in_a_ready(fragmenter_auto_in_a_ready),
+    .auto_in_a_valid(fragmenter_auto_in_a_valid),
+    .auto_in_a_bits_opcode(fragmenter_auto_in_a_bits_opcode),
+    .auto_in_a_bits_param(fragmenter_auto_in_a_bits_param),
+    .auto_in_a_bits_size(fragmenter_auto_in_a_bits_size),
+    .auto_in_a_bits_source(fragmenter_auto_in_a_bits_source),
+    .auto_in_a_bits_address(fragmenter_auto_in_a_bits_address),
+    .auto_in_a_bits_mask(fragmenter_auto_in_a_bits_mask),
+    .auto_in_a_bits_data(fragmenter_auto_in_a_bits_data),
+    .auto_in_a_bits_corrupt(fragmenter_auto_in_a_bits_corrupt),
+    .auto_in_d_ready(fragmenter_auto_in_d_ready),
+    .auto_in_d_valid(fragmenter_auto_in_d_valid),
+    .auto_in_d_bits_opcode(fragmenter_auto_in_d_bits_opcode),
+    .auto_in_d_bits_size(fragmenter_auto_in_d_bits_size),
+    .auto_in_d_bits_source(fragmenter_auto_in_d_bits_source),
+    .auto_in_d_bits_data(fragmenter_auto_in_d_bits_data),
+    .auto_out_a_ready(fragmenter_auto_out_a_ready),
+    .auto_out_a_valid(fragmenter_auto_out_a_valid),
+    .auto_out_a_bits_opcode(fragmenter_auto_out_a_bits_opcode),
+    .auto_out_a_bits_param(fragmenter_auto_out_a_bits_param),
+    .auto_out_a_bits_size(fragmenter_auto_out_a_bits_size),
+    .auto_out_a_bits_source(fragmenter_auto_out_a_bits_source),
+    .auto_out_a_bits_address(fragmenter_auto_out_a_bits_address),
+    .auto_out_a_bits_mask(fragmenter_auto_out_a_bits_mask),
+    .auto_out_a_bits_data(fragmenter_auto_out_a_bits_data),
+    .auto_out_a_bits_corrupt(fragmenter_auto_out_a_bits_corrupt),
+    .auto_out_d_ready(fragmenter_auto_out_d_ready),
+    .auto_out_d_valid(fragmenter_auto_out_d_valid),
+    .auto_out_d_bits_opcode(fragmenter_auto_out_d_bits_opcode),
+    .auto_out_d_bits_size(fragmenter_auto_out_d_bits_size),
+    .auto_out_d_bits_source(fragmenter_auto_out_d_bits_source),
+    .auto_out_d_bits_data(fragmenter_auto_out_d_bits_data)
+  );
+  assign auto_fragmenter_in_a_ready = fragmenter_auto_in_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@65312.4]
+  assign auto_fragmenter_in_d_valid = fragmenter_auto_in_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@65312.4]
+  assign auto_fragmenter_in_d_bits_opcode = fragmenter_auto_in_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@65312.4]
+  assign auto_fragmenter_in_d_bits_size = fragmenter_auto_in_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@65312.4]
+  assign auto_fragmenter_in_d_bits_source = fragmenter_auto_in_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@65312.4]
+  assign auto_fragmenter_in_d_bits_data = fragmenter_auto_in_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@65312.4]
+  assign auto_control_xing_out_a_valid = fragmenter_auto_out_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@65311.4]
+  assign auto_control_xing_out_a_bits_opcode = fragmenter_auto_out_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@65311.4]
+  assign auto_control_xing_out_a_bits_param = fragmenter_auto_out_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@65311.4]
+  assign auto_control_xing_out_a_bits_size = fragmenter_auto_out_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@65311.4]
+  assign auto_control_xing_out_a_bits_source = fragmenter_auto_out_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@65311.4]
+  assign auto_control_xing_out_a_bits_address = fragmenter_auto_out_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@65311.4]
+  assign auto_control_xing_out_a_bits_mask = fragmenter_auto_out_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@65311.4]
+  assign auto_control_xing_out_a_bits_data = fragmenter_auto_out_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@65311.4]
+  assign auto_control_xing_out_a_bits_corrupt = fragmenter_auto_out_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@65311.4]
+  assign auto_control_xing_out_d_ready = fragmenter_auto_out_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@65311.4]
+  assign fragmenter_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65303.4]
+  assign fragmenter_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65304.4]
+  assign fragmenter_auto_in_a_valid = auto_fragmenter_in_a_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@65312.4]
+  assign fragmenter_auto_in_a_bits_opcode = auto_fragmenter_in_a_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@65312.4]
+  assign fragmenter_auto_in_a_bits_param = auto_fragmenter_in_a_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@65312.4]
+  assign fragmenter_auto_in_a_bits_size = auto_fragmenter_in_a_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@65312.4]
+  assign fragmenter_auto_in_a_bits_source = auto_fragmenter_in_a_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@65312.4]
+  assign fragmenter_auto_in_a_bits_address = auto_fragmenter_in_a_bits_address; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@65312.4]
+  assign fragmenter_auto_in_a_bits_mask = auto_fragmenter_in_a_bits_mask; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@65312.4]
+  assign fragmenter_auto_in_a_bits_data = auto_fragmenter_in_a_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@65312.4]
+  assign fragmenter_auto_in_a_bits_corrupt = auto_fragmenter_in_a_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@65312.4]
+  assign fragmenter_auto_in_d_ready = auto_fragmenter_in_d_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@65312.4]
+  assign fragmenter_auto_out_a_ready = auto_control_xing_out_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@65310.4]
+  assign fragmenter_auto_out_d_valid = auto_control_xing_out_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@65310.4]
+  assign fragmenter_auto_out_d_bits_opcode = auto_control_xing_out_d_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@65310.4]
+  assign fragmenter_auto_out_d_bits_size = auto_control_xing_out_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@65310.4]
+  assign fragmenter_auto_out_d_bits_source = auto_control_xing_out_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@65310.4]
+  assign fragmenter_auto_out_d_bits_data = auto_control_xing_out_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@65310.4]
+endmodule
+module TLMonitor_37( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65321.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65322.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65323.4]
+  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65324.4]
+  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65324.4]
+  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65324.4]
+  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65324.4]
+  input  [2:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65324.4]
+  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65324.4]
+  input  [28:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65324.4]
+  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65324.4]
+  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65324.4]
+  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65324.4]
+  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65324.4]
+  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65324.4]
+  input  [2:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65324.4]
+  input         io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65324.4]
+);
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@66445.4]
+  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@65340.6]
+  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@65345.6]
+  wire [12:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@65347.6]
+  wire [5:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@65348.6]
+  wire [5:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@65349.6]
+  wire [28:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@65350.6]
+  wire [28:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@65350.6]
+  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@65351.6]
+  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@65353.6]
+  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@65354.6]
+  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@65356.6]
+  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@65357.6]
+  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@65358.6]
+  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@65359.6]
+  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@65360.6]
+  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@65362.6]
+  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@65363.6]
+  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@65365.6]
+  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@65366.6]
+  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@65367.6]
+  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@65368.6]
+  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@65369.6]
+  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@65370.6]
+  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@65371.6]
+  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@65372.6]
+  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@65373.6]
+  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@65374.6]
+  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@65375.6]
+  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@65376.6]
+  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@65377.6]
+  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@65378.6]
+  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@65379.6]
+  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@65380.6]
+  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@65381.6]
+  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@65382.6]
+  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@65383.6]
+  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@65384.6]
+  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@65409.6]
+  wire [28:0] _T_92; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@65412.8]
+  wire [29:0] _T_93; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@65413.8]
+  wire [29:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@65414.8]
+  wire [29:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@65415.8]
+  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@65416.8]
+  wire  _T_101; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65421.8]
+  wire  _T_106; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65434.8]
+  wire  _T_107; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65435.8]
+  wire  _T_110; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65442.8]
+  wire  _T_111; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65443.8]
+  wire  _T_113; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65449.8]
+  wire  _T_114; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65450.8]
+  wire  _T_115; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@65455.8]
+  wire  _T_117; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65457.8]
+  wire  _T_118; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65458.8]
+  wire [3:0] _T_119; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@65463.8]
+  wire  _T_120; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@65464.8]
+  wire  _T_122; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65466.8]
+  wire  _T_123; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65467.8]
+  wire  _T_124; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@65472.8]
+  wire  _T_126; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65474.8]
+  wire  _T_127; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65475.8]
+  wire  _T_128; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@65481.6]
+  wire  _T_157; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@65535.8]
+  wire  _T_159; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65537.8]
+  wire  _T_160; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65538.8]
+  wire  _T_170; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@65561.6]
+  wire  _T_172; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@65564.8]
+  wire  _T_180; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@65572.8]
+  wire  _T_183; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65575.8]
+  wire  _T_184; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65576.8]
+  wire  _T_191; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@65595.8]
+  wire  _T_193; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65597.8]
+  wire  _T_194; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65598.8]
+  wire  _T_195; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@65603.8]
+  wire  _T_197; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65605.8]
+  wire  _T_198; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65606.8]
+  wire  _T_203; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@65620.6]
+  wire  _T_232; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@65671.6]
+  wire [3:0] _T_257; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@65713.8]
+  wire [3:0] _T_258; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@65714.8]
+  wire  _T_259; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@65715.8]
+  wire  _T_261; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65717.8]
+  wire  _T_262; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65718.8]
+  wire  _T_263; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@65724.6]
+  wire  _T_281; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@65755.8]
+  wire  _T_283; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65757.8]
+  wire  _T_284; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65758.8]
+  wire  _T_289; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@65772.6]
+  wire  _T_307; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@65803.8]
+  wire  _T_309; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65805.8]
+  wire  _T_310; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65806.8]
+  wire  _T_315; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@65820.6]
+  wire  _T_341; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@65870.6]
+  wire  _T_343; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@65872.6]
+  wire  _T_344; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@65873.6]
+  wire  _T_346; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@65879.6]
+  wire  _T_355; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@65884.6]
+  wire  _T_357; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@65886.6]
+  wire  _T_359; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65889.8]
+  wire  _T_360; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65890.8]
+  wire  _T_361; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@65895.8]
+  wire  _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65897.8]
+  wire  _T_364; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65898.8]
+  wire  _T_377; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@65928.6]
+  wire  _T_405; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@65986.6]
+  wire  _T_434; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@66045.6]
+  wire  _T_451; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@66080.6]
+  wire  _T_469; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@66116.6]
+  wire  _T_498; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@66176.4]
+  wire [3:0] _T_503; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@66181.4]
+  wire  _T_504; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@66182.4]
+  wire  _T_505; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66183.4]
+  reg [3:0] _T_508; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@66185.4]
+  reg [31:0] _RAND_0;
+  wire [4:0] _T_509; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66186.4]
+  wire [4:0] _T_510; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66187.4]
+  wire [3:0] _T_511; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66188.4]
+  wire  _T_512; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@66189.4]
+  reg [2:0] _T_521; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@66200.4]
+  reg [31:0] _RAND_1;
+  reg [2:0] _T_523; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@66201.4]
+  reg [31:0] _RAND_2;
+  reg [2:0] _T_525; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@66202.4]
+  reg [31:0] _RAND_3;
+  reg  _T_527; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@66203.4]
+  reg [31:0] _RAND_4;
+  reg [28:0] _T_529; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@66204.4]
+  reg [31:0] _RAND_5;
+  wire  _T_530; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@66205.4]
+  wire  _T_531; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@66206.4]
+  wire  _T_532; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@66208.6]
+  wire  _T_534; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66210.6]
+  wire  _T_535; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66211.6]
+  wire  _T_536; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@66216.6]
+  wire  _T_538; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66218.6]
+  wire  _T_539; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66219.6]
+  wire  _T_540; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@66224.6]
+  wire  _T_542; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66226.6]
+  wire  _T_543; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66227.6]
+  wire  _T_544; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@66232.6]
+  wire  _T_546; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66234.6]
+  wire  _T_547; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66235.6]
+  wire  _T_548; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@66240.6]
+  wire  _T_550; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66242.6]
+  wire  _T_551; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66243.6]
+  wire  _T_553; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@66250.4]
+  wire  _T_554; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@66258.4]
+  wire [12:0] _T_556; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@66260.4]
+  wire [5:0] _T_557; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@66261.4]
+  wire [5:0] _T_558; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@66262.4]
+  wire [3:0] _T_559; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@66263.4]
+  wire  _T_560; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@66264.4]
+  reg [3:0] _T_563; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@66266.4]
+  reg [31:0] _RAND_6;
+  wire [4:0] _T_564; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66267.4]
+  wire [4:0] _T_565; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66268.4]
+  wire [3:0] _T_566; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66269.4]
+  wire  _T_567; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@66270.4]
+  reg [2:0] _T_576; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@66281.4]
+  reg [31:0] _RAND_7;
+  reg [2:0] _T_580; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@66283.4]
+  reg [31:0] _RAND_8;
+  reg  _T_582; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@66284.4]
+  reg [31:0] _RAND_9;
+  wire  _T_587; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@66287.4]
+  wire  _T_588; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@66288.4]
+  wire  _T_589; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@66290.6]
+  wire  _T_591; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66292.6]
+  wire  _T_592; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66293.6]
+  wire  _T_597; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@66306.6]
+  wire  _T_599; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66308.6]
+  wire  _T_600; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66309.6]
+  wire  _T_601; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@66314.6]
+  wire  _T_603; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66316.6]
+  wire  _T_604; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66317.6]
+  wire  _T_614; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@66340.4]
+  reg [1:0] _T_616; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@66349.4]
+  reg [31:0] _RAND_10;
+  reg [3:0] _T_627; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@66359.4]
+  reg [31:0] _RAND_11;
+  wire [4:0] _T_628; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66360.4]
+  wire [4:0] _T_629; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66361.4]
+  wire [3:0] _T_630; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66362.4]
+  wire  _T_631; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@66363.4]
+  reg [3:0] _T_648; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@66382.4]
+  reg [31:0] _RAND_12;
+  wire [4:0] _T_649; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66383.4]
+  wire [4:0] _T_650; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66384.4]
+  wire [3:0] _T_651; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66385.4]
+  wire  _T_652; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@66386.4]
+  wire  _T_663; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@66401.4]
+  wire [1:0] _T_665; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@66404.6]
+  wire [1:0] _T_666; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@66406.6]
+  wire  _T_667; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@66407.6]
+  wire  _T_668; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66408.6]
+  wire  _T_670; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@66410.6]
+  wire  _T_671; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@66411.6]
+  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@66403.4]
+  wire  _T_676; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@66422.4]
+  wire  _T_678; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@66424.4]
+  wire  _T_679; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@66425.4]
+  wire [1:0] _T_680; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@66427.6]
+  wire [1:0] _T_681; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@66429.6]
+  wire [1:0] _T_682; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@66430.6]
+  wire  _T_683; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@66431.6]
+  wire  _T_685; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@66433.6]
+  wire  _T_686; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@66434.6]
+  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@66426.4]
+  wire [1:0] _T_687; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@66440.4]
+  wire [1:0] _T_688; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@66441.4]
+  wire [1:0] _T_689; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@66442.4]
+  reg [31:0] _T_691; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@66444.4]
+  reg [31:0] _RAND_13;
+  wire  _T_692; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@66447.4]
+  wire  _T_693; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@66448.4]
+  wire  _T_694; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@66449.4]
+  wire  _T_695; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@66450.4]
+  wire  _T_696; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@66451.4]
+  wire  _T_697; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@66452.4]
+  wire  _T_699; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@66454.4]
+  wire  _T_700; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@66455.4]
+  wire [31:0] _T_702; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@66461.4]
+  wire  _T_705; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@66465.4]
+  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65423.10]
+  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65495.10]
+  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65578.10]
+  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65637.10]
+  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65688.10]
+  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65738.10]
+  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65786.10]
+  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65834.10]
+  wire  _GEN_115; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65892.10]
+  wire  _GEN_119; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65934.10]
+  wire  _GEN_125; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65992.10]
+  wire  _GEN_131; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66051.10]
+  wire  _GEN_133; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66086.10]
+  wire  _GEN_135; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66122.10]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@66445.4]
+    .out(plusarg_reader_out)
+  );
+  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@65340.6]
+  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@65345.6]
+  assign _T_32 = 13'h3f << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@65347.6]
+  assign _T_33 = _T_32[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@65348.6]
+  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@65349.6]
+  assign _GEN_18 = {{23'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@65350.6]
+  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@65350.6]
+  assign _T_36 = _T_35 == 29'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@65351.6]
+  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@65353.6]
+  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@65354.6]
+  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@65356.6]
+  assign _T_42 = io_in_a_bits_size >= 3'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@65357.6]
+  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@65358.6]
+  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@65359.6]
+  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@65360.6]
+  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@65362.6]
+  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@65363.6]
+  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@65365.6]
+  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@65366.6]
+  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@65367.6]
+  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@65368.6]
+  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@65369.6]
+  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@65370.6]
+  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@65371.6]
+  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@65372.6]
+  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@65373.6]
+  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@65374.6]
+  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@65375.6]
+  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@65376.6]
+  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@65377.6]
+  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@65378.6]
+  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@65379.6]
+  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@65380.6]
+  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@65381.6]
+  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@65382.6]
+  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@65383.6]
+  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@65384.6]
+  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@65409.6]
+  assign _T_92 = io_in_a_bits_address ^ 29'h10014000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@65412.8]
+  assign _T_93 = {1'b0,$signed(_T_92)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@65413.8]
+  assign _T_94 = $signed(_T_93) & $signed(-30'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@65414.8]
+  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@65415.8]
+  assign _T_96 = $signed(_T_95) == $signed(30'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@65416.8]
+  assign _T_101 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65421.8]
+  assign _T_106 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65434.8]
+  assign _T_107 = _T_106 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65435.8]
+  assign _T_110 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65442.8]
+  assign _T_111 = _T_110 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65443.8]
+  assign _T_113 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65449.8]
+  assign _T_114 = _T_113 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65450.8]
+  assign _T_115 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@65455.8]
+  assign _T_117 = _T_115 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65457.8]
+  assign _T_118 = _T_117 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65458.8]
+  assign _T_119 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@65463.8]
+  assign _T_120 = _T_119 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@65464.8]
+  assign _T_122 = _T_120 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65466.8]
+  assign _T_123 = _T_122 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65467.8]
+  assign _T_124 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@65472.8]
+  assign _T_126 = _T_124 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65474.8]
+  assign _T_127 = _T_126 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65475.8]
+  assign _T_128 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@65481.6]
+  assign _T_157 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@65535.8]
+  assign _T_159 = _T_157 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65537.8]
+  assign _T_160 = _T_159 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65538.8]
+  assign _T_170 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@65561.6]
+  assign _T_172 = io_in_a_bits_size <= 3'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@65564.8]
+  assign _T_180 = _T_172 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@65572.8]
+  assign _T_183 = _T_180 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65575.8]
+  assign _T_184 = _T_183 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65576.8]
+  assign _T_191 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@65595.8]
+  assign _T_193 = _T_191 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65597.8]
+  assign _T_194 = _T_193 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65598.8]
+  assign _T_195 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@65603.8]
+  assign _T_197 = _T_195 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65605.8]
+  assign _T_198 = _T_197 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65606.8]
+  assign _T_203 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@65620.6]
+  assign _T_232 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@65671.6]
+  assign _T_257 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@65713.8]
+  assign _T_258 = io_in_a_bits_mask & _T_257; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@65714.8]
+  assign _T_259 = _T_258 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@65715.8]
+  assign _T_261 = _T_259 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65717.8]
+  assign _T_262 = _T_261 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65718.8]
+  assign _T_263 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@65724.6]
+  assign _T_281 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@65755.8]
+  assign _T_283 = _T_281 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65757.8]
+  assign _T_284 = _T_283 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65758.8]
+  assign _T_289 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@65772.6]
+  assign _T_307 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@65803.8]
+  assign _T_309 = _T_307 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65805.8]
+  assign _T_310 = _T_309 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65806.8]
+  assign _T_315 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@65820.6]
+  assign _T_341 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@65870.6]
+  assign _T_343 = _T_341 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@65872.6]
+  assign _T_344 = _T_343 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@65873.6]
+  assign _T_346 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@65879.6]
+  assign _T_355 = io_in_d_bits_source | _T_346; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@65884.6]
+  assign _T_357 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@65886.6]
+  assign _T_359 = _T_355 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65889.8]
+  assign _T_360 = _T_359 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65890.8]
+  assign _T_361 = io_in_d_bits_size >= 3'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@65895.8]
+  assign _T_363 = _T_361 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65897.8]
+  assign _T_364 = _T_363 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65898.8]
+  assign _T_377 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@65928.6]
+  assign _T_405 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@65986.6]
+  assign _T_434 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@66045.6]
+  assign _T_451 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@66080.6]
+  assign _T_469 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@66116.6]
+  assign _T_498 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@66176.4]
+  assign _T_503 = _T_34[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@66181.4]
+  assign _T_504 = io_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@66182.4]
+  assign _T_505 = _T_504 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66183.4]
+  assign _T_509 = _T_508 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66186.4]
+  assign _T_510 = $unsigned(_T_509); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66187.4]
+  assign _T_511 = _T_510[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66188.4]
+  assign _T_512 = _T_508 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@66189.4]
+  assign _T_530 = _T_512 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@66205.4]
+  assign _T_531 = io_in_a_valid & _T_530; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@66206.4]
+  assign _T_532 = io_in_a_bits_opcode == _T_521; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@66208.6]
+  assign _T_534 = _T_532 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66210.6]
+  assign _T_535 = _T_534 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66211.6]
+  assign _T_536 = io_in_a_bits_param == _T_523; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@66216.6]
+  assign _T_538 = _T_536 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66218.6]
+  assign _T_539 = _T_538 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66219.6]
+  assign _T_540 = io_in_a_bits_size == _T_525; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@66224.6]
+  assign _T_542 = _T_540 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66226.6]
+  assign _T_543 = _T_542 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66227.6]
+  assign _T_544 = io_in_a_bits_source == _T_527; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@66232.6]
+  assign _T_546 = _T_544 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66234.6]
+  assign _T_547 = _T_546 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66235.6]
+  assign _T_548 = io_in_a_bits_address == _T_529; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@66240.6]
+  assign _T_550 = _T_548 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66242.6]
+  assign _T_551 = _T_550 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66243.6]
+  assign _T_553 = _T_498 & _T_512; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@66250.4]
+  assign _T_554 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@66258.4]
+  assign _T_556 = 13'h3f << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@66260.4]
+  assign _T_557 = _T_556[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@66261.4]
+  assign _T_558 = ~ _T_557; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@66262.4]
+  assign _T_559 = _T_558[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@66263.4]
+  assign _T_560 = io_in_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@66264.4]
+  assign _T_564 = _T_563 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66267.4]
+  assign _T_565 = $unsigned(_T_564); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66268.4]
+  assign _T_566 = _T_565[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66269.4]
+  assign _T_567 = _T_563 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@66270.4]
+  assign _T_587 = _T_567 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@66287.4]
+  assign _T_588 = io_in_d_valid & _T_587; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@66288.4]
+  assign _T_589 = io_in_d_bits_opcode == _T_576; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@66290.6]
+  assign _T_591 = _T_589 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66292.6]
+  assign _T_592 = _T_591 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66293.6]
+  assign _T_597 = io_in_d_bits_size == _T_580; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@66306.6]
+  assign _T_599 = _T_597 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66308.6]
+  assign _T_600 = _T_599 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66309.6]
+  assign _T_601 = io_in_d_bits_source == _T_582; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@66314.6]
+  assign _T_603 = _T_601 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66316.6]
+  assign _T_604 = _T_603 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66317.6]
+  assign _T_614 = _T_554 & _T_567; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@66340.4]
+  assign _T_628 = _T_627 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66360.4]
+  assign _T_629 = $unsigned(_T_628); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66361.4]
+  assign _T_630 = _T_629[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66362.4]
+  assign _T_631 = _T_627 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@66363.4]
+  assign _T_649 = _T_648 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66383.4]
+  assign _T_650 = $unsigned(_T_649); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66384.4]
+  assign _T_651 = _T_650[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66385.4]
+  assign _T_652 = _T_648 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@66386.4]
+  assign _T_663 = _T_498 & _T_631; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@66401.4]
+  assign _T_665 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@66404.6]
+  assign _T_666 = _T_616 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@66406.6]
+  assign _T_667 = _T_666[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@66407.6]
+  assign _T_668 = _T_667 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66408.6]
+  assign _T_670 = _T_668 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@66410.6]
+  assign _T_671 = _T_670 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@66411.6]
+  assign _GEN_15 = _T_663 ? _T_665 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@66403.4]
+  assign _T_676 = _T_554 & _T_652; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@66422.4]
+  assign _T_678 = _T_357 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@66424.4]
+  assign _T_679 = _T_676 & _T_678; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@66425.4]
+  assign _T_680 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@66427.6]
+  assign _T_681 = _GEN_15 | _T_616; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@66429.6]
+  assign _T_682 = _T_681 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@66430.6]
+  assign _T_683 = _T_682[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@66431.6]
+  assign _T_685 = _T_683 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@66433.6]
+  assign _T_686 = _T_685 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@66434.6]
+  assign _GEN_16 = _T_679 ? _T_680 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@66426.4]
+  assign _T_687 = _T_616 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@66440.4]
+  assign _T_688 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@66441.4]
+  assign _T_689 = _T_687 & _T_688; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@66442.4]
+  assign _T_692 = _T_616 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@66447.4]
+  assign _T_693 = _T_692 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@66448.4]
+  assign _T_694 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@66449.4]
+  assign _T_695 = _T_693 | _T_694; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@66450.4]
+  assign _T_696 = _T_691 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@66451.4]
+  assign _T_697 = _T_695 | _T_696; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@66452.4]
+  assign _T_699 = _T_697 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@66454.4]
+  assign _T_700 = _T_699 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@66455.4]
+  assign _T_702 = _T_691 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@66461.4]
+  assign _T_705 = _T_498 | _T_554; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@66465.4]
+  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65423.10]
+  assign _GEN_35 = io_in_a_valid & _T_128; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65495.10]
+  assign _GEN_53 = io_in_a_valid & _T_170; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65578.10]
+  assign _GEN_65 = io_in_a_valid & _T_203; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65637.10]
+  assign _GEN_75 = io_in_a_valid & _T_232; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65688.10]
+  assign _GEN_85 = io_in_a_valid & _T_263; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65738.10]
+  assign _GEN_95 = io_in_a_valid & _T_289; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65786.10]
+  assign _GEN_105 = io_in_a_valid & _T_315; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65834.10]
+  assign _GEN_115 = io_in_d_valid & _T_357; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65892.10]
+  assign _GEN_119 = io_in_d_valid & _T_377; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65934.10]
+  assign _GEN_125 = io_in_d_valid & _T_405; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65992.10]
+  assign _GEN_131 = io_in_d_valid & _T_434; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66051.10]
+  assign _GEN_133 = io_in_d_valid & _T_451; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66086.10]
+  assign _GEN_135 = io_in_d_valid & _T_469; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66122.10]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  _T_508 = _RAND_0[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  _T_521 = _RAND_1[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  _T_523 = _RAND_2[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  _T_525 = _RAND_3[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  _T_527 = _RAND_4[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  _T_529 = _RAND_5[28:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {1{`RANDOM}};
+  _T_563 = _RAND_6[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {1{`RANDOM}};
+  _T_576 = _RAND_7[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_8 = {1{`RANDOM}};
+  _T_580 = _RAND_8[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_9 = {1{`RANDOM}};
+  _T_582 = _RAND_9[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_10 = {1{`RANDOM}};
+  _T_616 = _RAND_10[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_11 = {1{`RANDOM}};
+  _T_627 = _RAND_11[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_12 = {1{`RANDOM}};
+  _T_648 = _RAND_12[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_13 = {1{`RANDOM}};
+  _T_691 = _RAND_13[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      _T_508 <= 4'h0;
+    end else begin
+      if (_T_498) begin
+        if (_T_512) begin
+          if (_T_505) begin
+            _T_508 <= _T_503;
+          end else begin
+            _T_508 <= 4'h0;
+          end
+        end else begin
+          _T_508 <= _T_511;
+        end
+      end
+    end
+    if (_T_553) begin
+      _T_521 <= io_in_a_bits_opcode;
+    end
+    if (_T_553) begin
+      _T_523 <= io_in_a_bits_param;
+    end
+    if (_T_553) begin
+      _T_525 <= io_in_a_bits_size;
+    end
+    if (_T_553) begin
+      _T_527 <= io_in_a_bits_source;
+    end
+    if (_T_553) begin
+      _T_529 <= io_in_a_bits_address;
+    end
+    if (reset) begin
+      _T_563 <= 4'h0;
+    end else begin
+      if (_T_554) begin
+        if (_T_567) begin
+          if (_T_560) begin
+            _T_563 <= _T_559;
+          end else begin
+            _T_563 <= 4'h0;
+          end
+        end else begin
+          _T_563 <= _T_566;
+        end
+      end
+    end
+    if (_T_614) begin
+      _T_576 <= io_in_d_bits_opcode;
+    end
+    if (_T_614) begin
+      _T_580 <= io_in_d_bits_size;
+    end
+    if (_T_614) begin
+      _T_582 <= io_in_d_bits_source;
+    end
+    if (reset) begin
+      _T_616 <= 2'h0;
+    end else begin
+      _T_616 <= _T_689;
+    end
+    if (reset) begin
+      _T_627 <= 4'h0;
+    end else begin
+      if (_T_498) begin
+        if (_T_631) begin
+          if (_T_505) begin
+            _T_627 <= _T_503;
+          end else begin
+            _T_627 <= 4'h0;
+          end
+        end else begin
+          _T_627 <= _T_630;
+        end
+      end
+    end
+    if (reset) begin
+      _T_648 <= 4'h0;
+    end else begin
+      if (_T_554) begin
+        if (_T_652) begin
+          if (_T_560) begin
+            _T_648 <= _T_559;
+          end else begin
+            _T_648 <= 4'h0;
+          end
+        end else begin
+          _T_648 <= _T_651;
+        end
+      end
+    end
+    if (reset) begin
+      _T_691 <= 32'h0;
+    end else begin
+      if (_T_705) begin
+        _T_691 <= 32'h0;
+      end else begin
+        _T_691 <= _T_702;
+      end
+    end
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at SPI.scala:71:94)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@65336.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@65337.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@65406.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@65407.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at SPI.scala:71:94)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65423.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_101) begin
+          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65424.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at SPI.scala:71:94)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65430.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_101) begin
+          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65431.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at SPI.scala:71:94)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65437.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_107) begin
+          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65438.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_111) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at SPI.scala:71:94)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65445.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_111) begin
+          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65446.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at SPI.scala:71:94)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65452.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_114) begin
+          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65453.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_118) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at SPI.scala:71:94)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65460.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_118) begin
+          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65461.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_123) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at SPI.scala:71:94)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65469.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_123) begin
+          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65470.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_127) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at SPI.scala:71:94)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65477.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_127) begin
+          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65478.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at SPI.scala:71:94)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65495.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_101) begin
+          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65496.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at SPI.scala:71:94)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65502.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_101) begin
+          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65503.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at SPI.scala:71:94)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65509.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_107) begin
+          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65510.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_111) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at SPI.scala:71:94)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65517.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_111) begin
+          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65518.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at SPI.scala:71:94)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65524.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_114) begin
+          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65525.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_118) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at SPI.scala:71:94)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65532.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_118) begin
+          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65533.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_160) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at SPI.scala:71:94)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65540.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_160) begin
+          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65541.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_123) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at SPI.scala:71:94)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65549.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_123) begin
+          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65550.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_127) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at SPI.scala:71:94)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65557.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_127) begin
+          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65558.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_184) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at SPI.scala:71:94)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65578.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_184) begin
+          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65579.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at SPI.scala:71:94)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65585.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_107) begin
+          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65586.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at SPI.scala:71:94)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65592.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_114) begin
+          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65593.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_194) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at SPI.scala:71:94)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65600.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_194) begin
+          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65601.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_198) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at SPI.scala:71:94)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65608.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_198) begin
+          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65609.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_127) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at SPI.scala:71:94)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65616.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_127) begin
+          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65617.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_184) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at SPI.scala:71:94)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65637.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_184) begin
+          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65638.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at SPI.scala:71:94)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65644.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_107) begin
+          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65645.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at SPI.scala:71:94)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65651.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_114) begin
+          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65652.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_194) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at SPI.scala:71:94)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65659.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_194) begin
+          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65660.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_198) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at SPI.scala:71:94)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65667.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_198) begin
+          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65668.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_184) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at SPI.scala:71:94)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65688.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_184) begin
+          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65689.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at SPI.scala:71:94)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65695.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_107) begin
+          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65696.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at SPI.scala:71:94)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65702.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_114) begin
+          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65703.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_194) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at SPI.scala:71:94)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65710.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_194) begin
+          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65711.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_262) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at SPI.scala:71:94)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65720.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_262) begin
+          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65721.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at SPI.scala:71:94)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65738.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_101) begin
+          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65739.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at SPI.scala:71:94)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65745.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_107) begin
+          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65746.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at SPI.scala:71:94)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65752.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_114) begin
+          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65753.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_284) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at SPI.scala:71:94)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65760.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_284) begin
+          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65761.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_198) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at SPI.scala:71:94)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65768.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_198) begin
+          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65769.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at SPI.scala:71:94)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65786.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_101) begin
+          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65787.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at SPI.scala:71:94)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65793.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_107) begin
+          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65794.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at SPI.scala:71:94)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65800.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_114) begin
+          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65801.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_310) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at SPI.scala:71:94)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65808.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_310) begin
+          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65809.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_198) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at SPI.scala:71:94)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65816.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_198) begin
+          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65817.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at SPI.scala:71:94)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65834.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_101) begin
+          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65835.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at SPI.scala:71:94)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65841.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_107) begin
+          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65842.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at SPI.scala:71:94)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65848.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_114) begin
+          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65849.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_198) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at SPI.scala:71:94)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65856.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_198) begin
+          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65857.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_127) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at SPI.scala:71:94)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65864.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_127) begin
+          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65865.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_344) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at SPI.scala:71:94)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@65875.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_344) begin
+          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@65876.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_360) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at SPI.scala:71:94)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65892.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_360) begin
+          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65893.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_364) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at SPI.scala:71:94)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65900.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_364) begin
+          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65901.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at SPI.scala:71:94)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65908.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65909.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at SPI.scala:71:94)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65916.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65917.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at SPI.scala:71:94)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65924.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65925.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_119 & _T_360) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at SPI.scala:71:94)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65934.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_119 & _T_360) begin
+          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65935.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_119 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at SPI.scala:71:94)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65941.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_119 & _T_101) begin
+          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65942.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_119 & _T_364) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at SPI.scala:71:94)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65949.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_119 & _T_364) begin
+          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65950.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at SPI.scala:71:94)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65957.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65958.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at SPI.scala:71:94)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65965.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65966.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at SPI.scala:71:94)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65973.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65974.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at SPI.scala:71:94)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65982.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65983.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_360) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at SPI.scala:71:94)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65992.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_360) begin
+          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65993.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at SPI.scala:71:94)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65999.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_101) begin
+          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66000.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_364) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at SPI.scala:71:94)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66007.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_364) begin
+          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66008.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at SPI.scala:71:94)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66015.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66016.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at SPI.scala:71:94)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66023.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66024.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at SPI.scala:71:94)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66032.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66033.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at SPI.scala:71:94)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66041.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66042.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_131 & _T_360) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at SPI.scala:71:94)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66051.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_131 & _T_360) begin
+          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66052.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at SPI.scala:71:94)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66059.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66060.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at SPI.scala:71:94)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66067.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66068.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at SPI.scala:71:94)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66076.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66077.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_133 & _T_360) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at SPI.scala:71:94)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66086.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_133 & _T_360) begin
+          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66087.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at SPI.scala:71:94)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66094.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66095.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at SPI.scala:71:94)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66103.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66104.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at SPI.scala:71:94)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66112.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66113.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_135 & _T_360) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at SPI.scala:71:94)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66122.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_135 & _T_360) begin
+          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66123.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at SPI.scala:71:94)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66130.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66131.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at SPI.scala:71:94)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66138.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66139.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at SPI.scala:71:94)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66147.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66148.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at SPI.scala:71:94)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66157.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66158.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at SPI.scala:71:94)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66165.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66166.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at SPI.scala:71:94)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66173.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66174.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_531 & _T_535) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at SPI.scala:71:94)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66213.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_531 & _T_535) begin
+          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66214.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_531 & _T_539) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at SPI.scala:71:94)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66221.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_531 & _T_539) begin
+          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66222.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_531 & _T_543) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at SPI.scala:71:94)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66229.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_531 & _T_543) begin
+          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66230.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_531 & _T_547) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at SPI.scala:71:94)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66237.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_531 & _T_547) begin
+          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66238.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_531 & _T_551) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at SPI.scala:71:94)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66245.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_531 & _T_551) begin
+          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66246.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_588 & _T_592) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at SPI.scala:71:94)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66295.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_588 & _T_592) begin
+          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66296.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at SPI.scala:71:94)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66303.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66304.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_588 & _T_600) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at SPI.scala:71:94)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66311.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_588 & _T_600) begin
+          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66312.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_588 & _T_604) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at SPI.scala:71:94)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66319.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_588 & _T_604) begin
+          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66320.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at SPI.scala:71:94)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66327.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66328.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at SPI.scala:71:94)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66335.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66336.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_663 & _T_671) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at SPI.scala:71:94)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@66413.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_663 & _T_671) begin
+          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@66414.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_679 & _T_686) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at SPI.scala:71:94)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@66436.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_679 & _T_686) begin
+          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@66437.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_700) begin
+          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at SPI.scala:71:94)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@66457.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_700) begin
+          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@66458.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+endmodule
+module TLFragmenter_10( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66501.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66502.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66503.4]
+  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66504.4]
+  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66504.4]
+  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66504.4]
+  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66504.4]
+  input  [2:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66504.4]
+  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66504.4]
+  input  [28:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66504.4]
+  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66504.4]
+  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66504.4]
+  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66504.4]
+  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66504.4]
+  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66504.4]
+  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66504.4]
+  output [2:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66504.4]
+  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66504.4]
+  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66504.4]
+  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66504.4]
+  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66504.4]
+  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66504.4]
+  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66504.4]
+  output [1:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66504.4]
+  output [5:0]  auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66504.4]
+  output [28:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66504.4]
+  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66504.4]
+  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66504.4]
+  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66504.4]
+  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66504.4]
+  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66504.4]
+  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66504.4]
+  input  [1:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66504.4]
+  input  [5:0]  auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66504.4]
+  input  [31:0] auto_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66504.4]
+);
+  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@66511.4]
+  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@66511.4]
+  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@66511.4]
+  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@66511.4]
+  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@66511.4]
+  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@66511.4]
+  wire [2:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@66511.4]
+  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@66511.4]
+  wire [28:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@66511.4]
+  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@66511.4]
+  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@66511.4]
+  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@66511.4]
+  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@66511.4]
+  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@66511.4]
+  wire [2:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@66511.4]
+  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@66511.4]
+  wire  Repeater_clock; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66628.4]
+  wire  Repeater_reset; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66628.4]
+  wire  Repeater_io_repeat; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66628.4]
+  wire  Repeater_io_full; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66628.4]
+  wire  Repeater_io_enq_ready; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66628.4]
+  wire  Repeater_io_enq_valid; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66628.4]
+  wire [2:0] Repeater_io_enq_bits_opcode; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66628.4]
+  wire [2:0] Repeater_io_enq_bits_param; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66628.4]
+  wire [2:0] Repeater_io_enq_bits_size; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66628.4]
+  wire  Repeater_io_enq_bits_source; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66628.4]
+  wire [28:0] Repeater_io_enq_bits_address; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66628.4]
+  wire [3:0] Repeater_io_enq_bits_mask; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66628.4]
+  wire  Repeater_io_enq_bits_corrupt; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66628.4]
+  wire  Repeater_io_deq_ready; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66628.4]
+  wire  Repeater_io_deq_valid; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66628.4]
+  wire [2:0] Repeater_io_deq_bits_opcode; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66628.4]
+  wire [2:0] Repeater_io_deq_bits_param; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66628.4]
+  wire [2:0] Repeater_io_deq_bits_size; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66628.4]
+  wire  Repeater_io_deq_bits_source; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66628.4]
+  wire [28:0] Repeater_io_deq_bits_address; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66628.4]
+  wire [3:0] Repeater_io_deq_bits_mask; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66628.4]
+  wire  Repeater_io_deq_bits_corrupt; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66628.4]
+  reg [3:0] _T_244; // @[Fragmenter.scala 167:27:shc.marmotcaravel.MarmotCaravelConfig.fir@66552.4]
+  reg [31:0] _RAND_0;
+  reg [2:0] _T_246; // @[Fragmenter.scala 168:22:shc.marmotcaravel.MarmotCaravelConfig.fir@66553.4]
+  reg [31:0] _RAND_1;
+  reg  _T_248; // @[Fragmenter.scala 169:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66554.4]
+  reg [31:0] _RAND_2;
+  wire [3:0] _T_249; // @[Fragmenter.scala 170:39:shc.marmotcaravel.MarmotCaravelConfig.fir@66555.4]
+  wire  _T_250; // @[Fragmenter.scala 171:27:shc.marmotcaravel.MarmotCaravelConfig.fir@66556.4]
+  wire  _T_251; // @[Fragmenter.scala 172:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66557.4]
+  wire [3:0] _T_253; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@66559.4]
+  wire [2:0] _T_254; // @[OneHot.scala 52:27:shc.marmotcaravel.MarmotCaravelConfig.fir@66560.4]
+  wire [4:0] _T_256; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@66562.4]
+  wire [1:0] _T_257; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@66563.4]
+  wire [1:0] _T_258; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@66564.4]
+  wire  _T_259; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@66565.4]
+  wire  _T_271; // @[Fragmenter.scala 182:58:shc.marmotcaravel.MarmotCaravelConfig.fir@66581.4]
+  wire  _T_272; // @[Fragmenter.scala 182:30:shc.marmotcaravel.MarmotCaravelConfig.fir@66582.4]
+  wire [5:0] _GEN_7; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@66583.4]
+  wire [5:0] _T_273; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@66583.4]
+  wire [5:0] _GEN_8; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@66584.4]
+  wire [5:0] _T_274; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@66584.4]
+  wire [6:0] _GEN_9; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@66585.4]
+  wire [6:0] _T_275; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@66585.4]
+  wire [6:0] _T_276; // @[package.scala 183:40:shc.marmotcaravel.MarmotCaravelConfig.fir@66586.4]
+  wire [6:0] _T_277; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@66587.4]
+  wire [6:0] _T_278; // @[package.scala 183:53:shc.marmotcaravel.MarmotCaravelConfig.fir@66588.4]
+  wire [6:0] _T_279; // @[package.scala 183:51:shc.marmotcaravel.MarmotCaravelConfig.fir@66589.4]
+  wire [2:0] _T_280; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@66590.4]
+  wire [3:0] _T_281; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@66591.4]
+  wire  _T_282; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66592.4]
+  wire [3:0] _GEN_10; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66593.4]
+  wire [3:0] _T_283; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66593.4]
+  wire [1:0] _T_284; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@66594.4]
+  wire [1:0] _T_285; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@66595.4]
+  wire  _T_286; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66596.4]
+  wire [1:0] _T_287; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66597.4]
+  wire  _T_288; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@66598.4]
+  wire [1:0] _T_289; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@66599.4]
+  wire [2:0] _T_290; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@66600.4]
+  wire  _T_297; // @[Fragmenter.scala 200:18:shc.marmotcaravel.MarmotCaravelConfig.fir@66614.4]
+  wire  _T_299; // @[Fragmenter.scala 200:31:shc.marmotcaravel.MarmotCaravelConfig.fir@66616.4]
+  wire  _T_300; // @[Fragmenter.scala 200:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66617.4]
+  wire  _T_301; // @[Fragmenter.scala 201:33:shc.marmotcaravel.MarmotCaravelConfig.fir@66618.4]
+  wire  _T_291; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@66601.4]
+  wire [3:0] _GEN_11; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@66603.6]
+  wire [4:0] _T_292; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@66603.6]
+  wire [4:0] _T_293; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@66604.6]
+  wire [3:0] _T_294; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@66605.6]
+  wire  _T_296; // @[Fragmenter.scala 190:39:shc.marmotcaravel.MarmotCaravelConfig.fir@66610.8]
+  wire  _T_302; // @[Fragmenter.scala 202:37:shc.marmotcaravel.MarmotCaravelConfig.fir@66620.4]
+  wire  _T_330; // @[Fragmenter.scala 262:29:shc.marmotcaravel.MarmotCaravelConfig.fir@66653.4]
+  wire [2:0] _T_331; // @[Fragmenter.scala 262:22:shc.marmotcaravel.MarmotCaravelConfig.fir@66654.4]
+  wire [12:0] _T_333; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@66656.4]
+  wire [5:0] _T_334; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@66657.4]
+  wire [5:0] _T_335; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@66658.4]
+  wire [8:0] _T_337; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@66660.4]
+  wire [1:0] _T_338; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@66661.4]
+  wire [1:0] _T_339; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@66662.4]
+  wire  _T_340; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@66663.4]
+  wire  _T_341; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66664.4]
+  reg [3:0] _T_344; // @[Fragmenter.scala 268:27:shc.marmotcaravel.MarmotCaravelConfig.fir@66666.4]
+  reg [31:0] _RAND_3;
+  wire  _T_345; // @[Fragmenter.scala 269:27:shc.marmotcaravel.MarmotCaravelConfig.fir@66667.4]
+  wire [3:0] _T_346; // @[Fragmenter.scala 270:46:shc.marmotcaravel.MarmotCaravelConfig.fir@66668.4]
+  wire [4:0] _T_347; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@66669.4]
+  wire [4:0] _T_348; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@66670.4]
+  wire [3:0] _T_349; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@66671.4]
+  wire [3:0] _T_350; // @[Fragmenter.scala 270:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66672.4]
+  wire [3:0] _T_351; // @[Fragmenter.scala 271:26:shc.marmotcaravel.MarmotCaravelConfig.fir@66673.4]
+  wire [3:0] _T_354; // @[Fragmenter.scala 271:24:shc.marmotcaravel.MarmotCaravelConfig.fir@66676.4]
+  reg  _T_362; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@66683.4]
+  reg [31:0] _RAND_4;
+  wire  _GEN_5; // @[Reg.scala 12:19:shc.marmotcaravel.MarmotCaravelConfig.fir@66684.4]
+  wire  _T_364; // @[Fragmenter.scala 274:21:shc.marmotcaravel.MarmotCaravelConfig.fir@66688.4]
+  wire  _T_92_a_valid; // @[Nodes.scala 332:76:shc.marmotcaravel.MarmotCaravelConfig.fir@66548.4 Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@66697.4]
+  wire  _T_365; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@66689.4]
+  wire  _T_366; // @[Fragmenter.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@66693.4]
+  wire  _T_367; // @[Fragmenter.scala 279:51:shc.marmotcaravel.MarmotCaravelConfig.fir@66694.4]
+  wire [5:0] _GEN_12; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@66698.4]
+  wire [5:0] _T_369; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@66698.4]
+  wire [5:0] _T_370; // @[Fragmenter.scala 281:88:shc.marmotcaravel.MarmotCaravelConfig.fir@66699.4]
+  wire [5:0] _T_371; // @[Fragmenter.scala 281:86:shc.marmotcaravel.MarmotCaravelConfig.fir@66700.4]
+  wire [5:0] _GEN_13; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@66701.4]
+  wire [5:0] _T_372; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@66701.4]
+  wire [5:0] _T_373; // @[Fragmenter.scala 281:109:shc.marmotcaravel.MarmotCaravelConfig.fir@66702.4]
+  wire [5:0] _T_374; // @[Fragmenter.scala 281:49:shc.marmotcaravel.MarmotCaravelConfig.fir@66703.4]
+  wire [28:0] _GEN_14; // @[Fragmenter.scala 281:47:shc.marmotcaravel.MarmotCaravelConfig.fir@66704.4]
+  wire [1:0] _T_376; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@66706.4]
+  wire  _T_378; // @[Fragmenter.scala 286:15:shc.marmotcaravel.MarmotCaravelConfig.fir@66710.4]
+  wire  _T_380; // @[Fragmenter.scala 286:33:shc.marmotcaravel.MarmotCaravelConfig.fir@66712.4]
+  wire  _T_382; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66714.4]
+  wire  _T_383; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66715.4]
+  wire  _T_385; // @[Fragmenter.scala 289:51:shc.marmotcaravel.MarmotCaravelConfig.fir@66722.4]
+  wire  _T_386; // @[Fragmenter.scala 289:33:shc.marmotcaravel.MarmotCaravelConfig.fir@66723.4]
+  wire  _T_388; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66725.4]
+  wire  _T_389; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66726.4]
+  TLMonitor_37 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@66511.4]
+    .clock(TLMonitor_clock),
+    .reset(TLMonitor_reset),
+    .io_in_a_ready(TLMonitor_io_in_a_ready),
+    .io_in_a_valid(TLMonitor_io_in_a_valid),
+    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
+    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
+    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
+    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
+    .io_in_d_ready(TLMonitor_io_in_d_ready),
+    .io_in_d_valid(TLMonitor_io_in_d_valid),
+    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
+    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
+    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source)
+  );
+  Repeater_4 Repeater ( // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66628.4]
+    .clock(Repeater_clock),
+    .reset(Repeater_reset),
+    .io_repeat(Repeater_io_repeat),
+    .io_full(Repeater_io_full),
+    .io_enq_ready(Repeater_io_enq_ready),
+    .io_enq_valid(Repeater_io_enq_valid),
+    .io_enq_bits_opcode(Repeater_io_enq_bits_opcode),
+    .io_enq_bits_param(Repeater_io_enq_bits_param),
+    .io_enq_bits_size(Repeater_io_enq_bits_size),
+    .io_enq_bits_source(Repeater_io_enq_bits_source),
+    .io_enq_bits_address(Repeater_io_enq_bits_address),
+    .io_enq_bits_mask(Repeater_io_enq_bits_mask),
+    .io_enq_bits_corrupt(Repeater_io_enq_bits_corrupt),
+    .io_deq_ready(Repeater_io_deq_ready),
+    .io_deq_valid(Repeater_io_deq_valid),
+    .io_deq_bits_opcode(Repeater_io_deq_bits_opcode),
+    .io_deq_bits_param(Repeater_io_deq_bits_param),
+    .io_deq_bits_size(Repeater_io_deq_bits_size),
+    .io_deq_bits_source(Repeater_io_deq_bits_source),
+    .io_deq_bits_address(Repeater_io_deq_bits_address),
+    .io_deq_bits_mask(Repeater_io_deq_bits_mask),
+    .io_deq_bits_corrupt(Repeater_io_deq_bits_corrupt)
+  );
+  assign _T_249 = auto_out_d_bits_source[3:0]; // @[Fragmenter.scala 170:39:shc.marmotcaravel.MarmotCaravelConfig.fir@66555.4]
+  assign _T_250 = _T_244 == 4'h0; // @[Fragmenter.scala 171:27:shc.marmotcaravel.MarmotCaravelConfig.fir@66556.4]
+  assign _T_251 = _T_249 == 4'h0; // @[Fragmenter.scala 172:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66557.4]
+  assign _T_253 = 4'h1 << auto_out_d_bits_size; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@66559.4]
+  assign _T_254 = _T_253[2:0]; // @[OneHot.scala 52:27:shc.marmotcaravel.MarmotCaravelConfig.fir@66560.4]
+  assign _T_256 = 5'h3 << auto_out_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@66562.4]
+  assign _T_257 = _T_256[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@66563.4]
+  assign _T_258 = ~ _T_257; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@66564.4]
+  assign _T_259 = auto_out_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@66565.4]
+  assign _T_271 = _T_254[2:2]; // @[Fragmenter.scala 182:58:shc.marmotcaravel.MarmotCaravelConfig.fir@66581.4]
+  assign _T_272 = _T_259 ? 1'h1 : _T_271; // @[Fragmenter.scala 182:30:shc.marmotcaravel.MarmotCaravelConfig.fir@66582.4]
+  assign _GEN_7 = {{2'd0}, _T_249}; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@66583.4]
+  assign _T_273 = _GEN_7 << 2; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@66583.4]
+  assign _GEN_8 = {{4'd0}, _T_258}; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@66584.4]
+  assign _T_274 = _T_273 | _GEN_8; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@66584.4]
+  assign _GEN_9 = {{1'd0}, _T_274}; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@66585.4]
+  assign _T_275 = _GEN_9 << 1; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@66585.4]
+  assign _T_276 = _T_275 | 7'h1; // @[package.scala 183:40:shc.marmotcaravel.MarmotCaravelConfig.fir@66586.4]
+  assign _T_277 = {1'h0,_T_274}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@66587.4]
+  assign _T_278 = ~ _T_277; // @[package.scala 183:53:shc.marmotcaravel.MarmotCaravelConfig.fir@66588.4]
+  assign _T_279 = _T_276 & _T_278; // @[package.scala 183:51:shc.marmotcaravel.MarmotCaravelConfig.fir@66589.4]
+  assign _T_280 = _T_279[6:4]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@66590.4]
+  assign _T_281 = _T_279[3:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@66591.4]
+  assign _T_282 = _T_280 != 3'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66592.4]
+  assign _GEN_10 = {{1'd0}, _T_280}; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66593.4]
+  assign _T_283 = _GEN_10 | _T_281; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66593.4]
+  assign _T_284 = _T_283[3:2]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@66594.4]
+  assign _T_285 = _T_283[1:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@66595.4]
+  assign _T_286 = _T_284 != 2'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66596.4]
+  assign _T_287 = _T_284 | _T_285; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66597.4]
+  assign _T_288 = _T_287[1]; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@66598.4]
+  assign _T_289 = {_T_286,_T_288}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@66599.4]
+  assign _T_290 = {_T_282,_T_289}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@66600.4]
+  assign _T_297 = _T_259 == 1'h0; // @[Fragmenter.scala 200:18:shc.marmotcaravel.MarmotCaravelConfig.fir@66614.4]
+  assign _T_299 = _T_251 == 1'h0; // @[Fragmenter.scala 200:31:shc.marmotcaravel.MarmotCaravelConfig.fir@66616.4]
+  assign _T_300 = _T_297 & _T_299; // @[Fragmenter.scala 200:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66617.4]
+  assign _T_301 = auto_in_d_ready | _T_300; // @[Fragmenter.scala 201:33:shc.marmotcaravel.MarmotCaravelConfig.fir@66618.4]
+  assign _T_291 = _T_301 & auto_out_d_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@66601.4]
+  assign _GEN_11 = {{3'd0}, _T_272}; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@66603.6]
+  assign _T_292 = _T_244 - _GEN_11; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@66603.6]
+  assign _T_293 = $unsigned(_T_292); // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@66604.6]
+  assign _T_294 = _T_293[3:0]; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@66605.6]
+  assign _T_296 = auto_out_d_bits_source[4]; // @[Fragmenter.scala 190:39:shc.marmotcaravel.MarmotCaravelConfig.fir@66610.8]
+  assign _T_302 = _T_300 == 1'h0; // @[Fragmenter.scala 202:37:shc.marmotcaravel.MarmotCaravelConfig.fir@66620.4]
+  assign _T_330 = Repeater_io_deq_bits_size > 3'h2; // @[Fragmenter.scala 262:29:shc.marmotcaravel.MarmotCaravelConfig.fir@66653.4]
+  assign _T_331 = _T_330 ? 3'h2 : Repeater_io_deq_bits_size; // @[Fragmenter.scala 262:22:shc.marmotcaravel.MarmotCaravelConfig.fir@66654.4]
+  assign _T_333 = 13'h3f << Repeater_io_deq_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@66656.4]
+  assign _T_334 = _T_333[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@66657.4]
+  assign _T_335 = ~ _T_334; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@66658.4]
+  assign _T_337 = 9'h3 << _T_331; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@66660.4]
+  assign _T_338 = _T_337[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@66661.4]
+  assign _T_339 = ~ _T_338; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@66662.4]
+  assign _T_340 = Repeater_io_deq_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@66663.4]
+  assign _T_341 = _T_340 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66664.4]
+  assign _T_345 = _T_344 == 4'h0; // @[Fragmenter.scala 269:27:shc.marmotcaravel.MarmotCaravelConfig.fir@66667.4]
+  assign _T_346 = _T_335[5:2]; // @[Fragmenter.scala 270:46:shc.marmotcaravel.MarmotCaravelConfig.fir@66668.4]
+  assign _T_347 = _T_344 - 4'h1; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@66669.4]
+  assign _T_348 = $unsigned(_T_347); // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@66670.4]
+  assign _T_349 = _T_348[3:0]; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@66671.4]
+  assign _T_350 = _T_345 ? _T_346 : _T_349; // @[Fragmenter.scala 270:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66672.4]
+  assign _T_351 = ~ _T_350; // @[Fragmenter.scala 271:26:shc.marmotcaravel.MarmotCaravelConfig.fir@66673.4]
+  assign _T_354 = ~ _T_351; // @[Fragmenter.scala 271:24:shc.marmotcaravel.MarmotCaravelConfig.fir@66676.4]
+  assign _GEN_5 = _T_345 ? _T_248 : _T_362; // @[Reg.scala 12:19:shc.marmotcaravel.MarmotCaravelConfig.fir@66684.4]
+  assign _T_364 = _GEN_5 == 1'h0; // @[Fragmenter.scala 274:21:shc.marmotcaravel.MarmotCaravelConfig.fir@66688.4]
+  assign _T_92_a_valid = Repeater_io_deq_valid; // @[Nodes.scala 332:76:shc.marmotcaravel.MarmotCaravelConfig.fir@66548.4 Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@66697.4]
+  assign _T_365 = auto_out_a_ready & _T_92_a_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@66689.4]
+  assign _T_366 = _T_341 == 1'h0; // @[Fragmenter.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@66693.4]
+  assign _T_367 = _T_354 != 4'h0; // @[Fragmenter.scala 279:51:shc.marmotcaravel.MarmotCaravelConfig.fir@66694.4]
+  assign _GEN_12 = {{2'd0}, _T_350}; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@66698.4]
+  assign _T_369 = _GEN_12 << 2; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@66698.4]
+  assign _T_370 = ~ _T_335; // @[Fragmenter.scala 281:88:shc.marmotcaravel.MarmotCaravelConfig.fir@66699.4]
+  assign _T_371 = _T_369 | _T_370; // @[Fragmenter.scala 281:86:shc.marmotcaravel.MarmotCaravelConfig.fir@66700.4]
+  assign _GEN_13 = {{4'd0}, _T_339}; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@66701.4]
+  assign _T_372 = _T_371 | _GEN_13; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@66701.4]
+  assign _T_373 = _T_372 | 6'h3; // @[Fragmenter.scala 281:109:shc.marmotcaravel.MarmotCaravelConfig.fir@66702.4]
+  assign _T_374 = ~ _T_373; // @[Fragmenter.scala 281:49:shc.marmotcaravel.MarmotCaravelConfig.fir@66703.4]
+  assign _GEN_14 = {{23'd0}, _T_374}; // @[Fragmenter.scala 281:47:shc.marmotcaravel.MarmotCaravelConfig.fir@66704.4]
+  assign _T_376 = {Repeater_io_deq_bits_source,_T_364}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@66706.4]
+  assign _T_378 = Repeater_io_full == 1'h0; // @[Fragmenter.scala 286:15:shc.marmotcaravel.MarmotCaravelConfig.fir@66710.4]
+  assign _T_380 = _T_378 | _T_366; // @[Fragmenter.scala 286:33:shc.marmotcaravel.MarmotCaravelConfig.fir@66712.4]
+  assign _T_382 = _T_380 | reset; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66714.4]
+  assign _T_383 = _T_382 == 1'h0; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66715.4]
+  assign _T_385 = Repeater_io_deq_bits_mask == 4'hf; // @[Fragmenter.scala 289:51:shc.marmotcaravel.MarmotCaravelConfig.fir@66722.4]
+  assign _T_386 = _T_378 | _T_385; // @[Fragmenter.scala 289:33:shc.marmotcaravel.MarmotCaravelConfig.fir@66723.4]
+  assign _T_388 = _T_386 | reset; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66725.4]
+  assign _T_389 = _T_388 == 1'h0; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66726.4]
+  assign auto_in_a_ready = Repeater_io_enq_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@66551.4]
+  assign auto_in_d_valid = auto_out_d_valid & _T_302; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@66551.4]
+  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@66551.4]
+  assign auto_in_d_bits_size = _T_250 ? _T_290 : _T_246; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@66551.4]
+  assign auto_in_d_bits_source = auto_out_d_bits_source[5:5]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@66551.4]
+  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@66551.4]
+  assign auto_out_a_valid = Repeater_io_deq_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@66550.4]
+  assign auto_out_a_bits_opcode = Repeater_io_deq_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@66550.4]
+  assign auto_out_a_bits_param = Repeater_io_deq_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@66550.4]
+  assign auto_out_a_bits_size = _T_331[1:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@66550.4]
+  assign auto_out_a_bits_source = {_T_376,_T_354}; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@66550.4]
+  assign auto_out_a_bits_address = Repeater_io_deq_bits_address | _GEN_14; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@66550.4]
+  assign auto_out_a_bits_mask = Repeater_io_full ? 4'hf : auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@66550.4]
+  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@66550.4]
+  assign auto_out_a_bits_corrupt = Repeater_io_deq_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@66550.4]
+  assign auto_out_d_ready = auto_in_d_ready | _T_300; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@66550.4]
+  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66513.4]
+  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66514.4]
+  assign TLMonitor_io_in_a_ready = Repeater_io_enq_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@66547.4]
+  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@66547.4]
+  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@66547.4]
+  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@66547.4]
+  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@66547.4]
+  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@66547.4]
+  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@66547.4]
+  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@66547.4]
+  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@66547.4]
+  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@66547.4]
+  assign TLMonitor_io_in_d_valid = auto_out_d_valid & _T_302; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@66547.4]
+  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@66547.4]
+  assign TLMonitor_io_in_d_bits_size = _T_250 ? _T_290 : _T_246; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@66547.4]
+  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source[5:5]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@66547.4]
+  assign Repeater_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66630.4]
+  assign Repeater_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66631.4]
+  assign Repeater_io_repeat = _T_366 & _T_367; // @[Fragmenter.scala 279:26:shc.marmotcaravel.MarmotCaravelConfig.fir@66696.4]
+  assign Repeater_io_enq_valid = auto_in_a_valid; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@66632.4]
+  assign Repeater_io_enq_bits_opcode = auto_in_a_bits_opcode; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@66632.4]
+  assign Repeater_io_enq_bits_param = auto_in_a_bits_param; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@66632.4]
+  assign Repeater_io_enq_bits_size = auto_in_a_bits_size; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@66632.4]
+  assign Repeater_io_enq_bits_source = auto_in_a_bits_source; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@66632.4]
+  assign Repeater_io_enq_bits_address = auto_in_a_bits_address; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@66632.4]
+  assign Repeater_io_enq_bits_mask = auto_in_a_bits_mask; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@66632.4]
+  assign Repeater_io_enq_bits_corrupt = auto_in_a_bits_corrupt; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@66632.4]
+  assign Repeater_io_deq_ready = auto_out_a_ready; // @[Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@66697.4]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  _T_244 = _RAND_0[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  _T_246 = _RAND_1[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  _T_248 = _RAND_2[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  _T_344 = _RAND_3[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  _T_362 = _RAND_4[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      _T_244 <= 4'h0;
+    end else begin
+      if (_T_291) begin
+        if (_T_250) begin
+          _T_244 <= _T_249;
+        end else begin
+          _T_244 <= _T_294;
+        end
+      end
+    end
+    if (_T_291) begin
+      if (_T_250) begin
+        _T_246 <= _T_290;
+      end
+    end
+    if (reset) begin
+      _T_248 <= 1'h0;
+    end else begin
+      if (_T_291) begin
+        if (_T_250) begin
+          _T_248 <= _T_296;
+        end
+      end
+    end
+    if (reset) begin
+      _T_344 <= 4'h0;
+    end else begin
+      if (_T_365) begin
+        _T_344 <= _T_354;
+      end
+    end
+    if (_T_345) begin
+      _T_362 <= _T_248;
+    end
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:180 assert (!out.d.valid || (acknum_fragment & acknum_size) === UInt(0))\n"); // @[Fragmenter.scala 180:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66576.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Fragmenter.scala 180:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66577.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_383) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:286 assert (!repeater.io.full || !aHasData)\n"); // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66717.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_383) begin
+          $fatal; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66718.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_389) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:289 assert (!repeater.io.full || in_a.bits.mask === fullMask)\n"); // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66728.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_389) begin
+          $fatal; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66729.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+endmodule
+module SimpleLazyModule_18( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66740.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66741.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66742.4]
+  output        auto_fragmenter_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66743.4]
+  input         auto_fragmenter_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66743.4]
+  input  [2:0]  auto_fragmenter_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66743.4]
+  input  [2:0]  auto_fragmenter_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66743.4]
+  input  [2:0]  auto_fragmenter_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66743.4]
+  input         auto_fragmenter_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66743.4]
+  input  [28:0] auto_fragmenter_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66743.4]
+  input  [3:0]  auto_fragmenter_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66743.4]
+  input  [31:0] auto_fragmenter_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66743.4]
+  input         auto_fragmenter_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66743.4]
+  input         auto_fragmenter_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66743.4]
+  output        auto_fragmenter_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66743.4]
+  output [2:0]  auto_fragmenter_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66743.4]
+  output [2:0]  auto_fragmenter_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66743.4]
+  output        auto_fragmenter_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66743.4]
+  output [31:0] auto_fragmenter_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66743.4]
+  input         auto_control_xing_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66743.4]
+  output        auto_control_xing_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66743.4]
+  output [2:0]  auto_control_xing_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66743.4]
+  output [2:0]  auto_control_xing_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66743.4]
+  output [1:0]  auto_control_xing_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66743.4]
+  output [5:0]  auto_control_xing_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66743.4]
+  output [28:0] auto_control_xing_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66743.4]
+  output [3:0]  auto_control_xing_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66743.4]
+  output [31:0] auto_control_xing_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66743.4]
+  output        auto_control_xing_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66743.4]
+  output        auto_control_xing_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66743.4]
+  input         auto_control_xing_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66743.4]
+  input  [2:0]  auto_control_xing_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66743.4]
+  input  [1:0]  auto_control_xing_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66743.4]
+  input  [5:0]  auto_control_xing_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66743.4]
+  input  [31:0] auto_control_xing_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66743.4]
+);
+  wire  fragmenter_clock; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@66748.4]
+  wire  fragmenter_reset; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@66748.4]
+  wire  fragmenter_auto_in_a_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@66748.4]
+  wire  fragmenter_auto_in_a_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@66748.4]
+  wire [2:0] fragmenter_auto_in_a_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@66748.4]
+  wire [2:0] fragmenter_auto_in_a_bits_param; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@66748.4]
+  wire [2:0] fragmenter_auto_in_a_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@66748.4]
+  wire  fragmenter_auto_in_a_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@66748.4]
+  wire [28:0] fragmenter_auto_in_a_bits_address; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@66748.4]
+  wire [3:0] fragmenter_auto_in_a_bits_mask; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@66748.4]
+  wire [31:0] fragmenter_auto_in_a_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@66748.4]
+  wire  fragmenter_auto_in_a_bits_corrupt; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@66748.4]
+  wire  fragmenter_auto_in_d_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@66748.4]
+  wire  fragmenter_auto_in_d_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@66748.4]
+  wire [2:0] fragmenter_auto_in_d_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@66748.4]
+  wire [2:0] fragmenter_auto_in_d_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@66748.4]
+  wire  fragmenter_auto_in_d_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@66748.4]
+  wire [31:0] fragmenter_auto_in_d_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@66748.4]
+  wire  fragmenter_auto_out_a_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@66748.4]
+  wire  fragmenter_auto_out_a_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@66748.4]
+  wire [2:0] fragmenter_auto_out_a_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@66748.4]
+  wire [2:0] fragmenter_auto_out_a_bits_param; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@66748.4]
+  wire [1:0] fragmenter_auto_out_a_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@66748.4]
+  wire [5:0] fragmenter_auto_out_a_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@66748.4]
+  wire [28:0] fragmenter_auto_out_a_bits_address; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@66748.4]
+  wire [3:0] fragmenter_auto_out_a_bits_mask; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@66748.4]
+  wire [31:0] fragmenter_auto_out_a_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@66748.4]
+  wire  fragmenter_auto_out_a_bits_corrupt; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@66748.4]
+  wire  fragmenter_auto_out_d_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@66748.4]
+  wire  fragmenter_auto_out_d_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@66748.4]
+  wire [2:0] fragmenter_auto_out_d_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@66748.4]
+  wire [1:0] fragmenter_auto_out_d_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@66748.4]
+  wire [5:0] fragmenter_auto_out_d_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@66748.4]
+  wire [31:0] fragmenter_auto_out_d_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@66748.4]
+  TLFragmenter_10 fragmenter ( // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@66748.4]
+    .clock(fragmenter_clock),
+    .reset(fragmenter_reset),
+    .auto_in_a_ready(fragmenter_auto_in_a_ready),
+    .auto_in_a_valid(fragmenter_auto_in_a_valid),
+    .auto_in_a_bits_opcode(fragmenter_auto_in_a_bits_opcode),
+    .auto_in_a_bits_param(fragmenter_auto_in_a_bits_param),
+    .auto_in_a_bits_size(fragmenter_auto_in_a_bits_size),
+    .auto_in_a_bits_source(fragmenter_auto_in_a_bits_source),
+    .auto_in_a_bits_address(fragmenter_auto_in_a_bits_address),
+    .auto_in_a_bits_mask(fragmenter_auto_in_a_bits_mask),
+    .auto_in_a_bits_data(fragmenter_auto_in_a_bits_data),
+    .auto_in_a_bits_corrupt(fragmenter_auto_in_a_bits_corrupt),
+    .auto_in_d_ready(fragmenter_auto_in_d_ready),
+    .auto_in_d_valid(fragmenter_auto_in_d_valid),
+    .auto_in_d_bits_opcode(fragmenter_auto_in_d_bits_opcode),
+    .auto_in_d_bits_size(fragmenter_auto_in_d_bits_size),
+    .auto_in_d_bits_source(fragmenter_auto_in_d_bits_source),
+    .auto_in_d_bits_data(fragmenter_auto_in_d_bits_data),
+    .auto_out_a_ready(fragmenter_auto_out_a_ready),
+    .auto_out_a_valid(fragmenter_auto_out_a_valid),
+    .auto_out_a_bits_opcode(fragmenter_auto_out_a_bits_opcode),
+    .auto_out_a_bits_param(fragmenter_auto_out_a_bits_param),
+    .auto_out_a_bits_size(fragmenter_auto_out_a_bits_size),
+    .auto_out_a_bits_source(fragmenter_auto_out_a_bits_source),
+    .auto_out_a_bits_address(fragmenter_auto_out_a_bits_address),
+    .auto_out_a_bits_mask(fragmenter_auto_out_a_bits_mask),
+    .auto_out_a_bits_data(fragmenter_auto_out_a_bits_data),
+    .auto_out_a_bits_corrupt(fragmenter_auto_out_a_bits_corrupt),
+    .auto_out_d_ready(fragmenter_auto_out_d_ready),
+    .auto_out_d_valid(fragmenter_auto_out_d_valid),
+    .auto_out_d_bits_opcode(fragmenter_auto_out_d_bits_opcode),
+    .auto_out_d_bits_size(fragmenter_auto_out_d_bits_size),
+    .auto_out_d_bits_source(fragmenter_auto_out_d_bits_source),
+    .auto_out_d_bits_data(fragmenter_auto_out_d_bits_data)
+  );
+  assign auto_fragmenter_in_a_ready = fragmenter_auto_in_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@66761.4]
+  assign auto_fragmenter_in_d_valid = fragmenter_auto_in_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@66761.4]
+  assign auto_fragmenter_in_d_bits_opcode = fragmenter_auto_in_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@66761.4]
+  assign auto_fragmenter_in_d_bits_size = fragmenter_auto_in_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@66761.4]
+  assign auto_fragmenter_in_d_bits_source = fragmenter_auto_in_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@66761.4]
+  assign auto_fragmenter_in_d_bits_data = fragmenter_auto_in_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@66761.4]
+  assign auto_control_xing_out_a_valid = fragmenter_auto_out_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@66760.4]
+  assign auto_control_xing_out_a_bits_opcode = fragmenter_auto_out_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@66760.4]
+  assign auto_control_xing_out_a_bits_param = fragmenter_auto_out_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@66760.4]
+  assign auto_control_xing_out_a_bits_size = fragmenter_auto_out_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@66760.4]
+  assign auto_control_xing_out_a_bits_source = fragmenter_auto_out_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@66760.4]
+  assign auto_control_xing_out_a_bits_address = fragmenter_auto_out_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@66760.4]
+  assign auto_control_xing_out_a_bits_mask = fragmenter_auto_out_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@66760.4]
+  assign auto_control_xing_out_a_bits_data = fragmenter_auto_out_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@66760.4]
+  assign auto_control_xing_out_a_bits_corrupt = fragmenter_auto_out_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@66760.4]
+  assign auto_control_xing_out_d_ready = fragmenter_auto_out_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@66760.4]
+  assign fragmenter_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66752.4]
+  assign fragmenter_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66753.4]
+  assign fragmenter_auto_in_a_valid = auto_fragmenter_in_a_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@66761.4]
+  assign fragmenter_auto_in_a_bits_opcode = auto_fragmenter_in_a_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@66761.4]
+  assign fragmenter_auto_in_a_bits_param = auto_fragmenter_in_a_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@66761.4]
+  assign fragmenter_auto_in_a_bits_size = auto_fragmenter_in_a_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@66761.4]
+  assign fragmenter_auto_in_a_bits_source = auto_fragmenter_in_a_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@66761.4]
+  assign fragmenter_auto_in_a_bits_address = auto_fragmenter_in_a_bits_address; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@66761.4]
+  assign fragmenter_auto_in_a_bits_mask = auto_fragmenter_in_a_bits_mask; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@66761.4]
+  assign fragmenter_auto_in_a_bits_data = auto_fragmenter_in_a_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@66761.4]
+  assign fragmenter_auto_in_a_bits_corrupt = auto_fragmenter_in_a_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@66761.4]
+  assign fragmenter_auto_in_d_ready = auto_fragmenter_in_d_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@66761.4]
+  assign fragmenter_auto_out_a_ready = auto_control_xing_out_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@66759.4]
+  assign fragmenter_auto_out_d_valid = auto_control_xing_out_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@66759.4]
+  assign fragmenter_auto_out_d_bits_opcode = auto_control_xing_out_d_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@66759.4]
+  assign fragmenter_auto_out_d_bits_size = auto_control_xing_out_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@66759.4]
+  assign fragmenter_auto_out_d_bits_source = auto_control_xing_out_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@66759.4]
+  assign fragmenter_auto_out_d_bits_data = auto_control_xing_out_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@66759.4]
+endmodule
+module TLMonitor_38( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66770.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66771.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66772.4]
+  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66773.4]
+  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66773.4]
+  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66773.4]
+  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66773.4]
+  input  [2:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66773.4]
+  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66773.4]
+  input  [29:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66773.4]
+  input         io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66773.4]
+  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66773.4]
+  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66773.4]
+  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66773.4]
+  input  [2:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66773.4]
+  input         io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66773.4]
+);
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@67857.4]
+  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@66789.6]
+  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@66794.6]
+  wire [12:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@66796.6]
+  wire [5:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@66797.6]
+  wire [5:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@66798.6]
+  wire [29:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@66799.6]
+  wire [29:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@66799.6]
+  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@66800.6]
+  wire  _T_59; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@66827.6]
+  wire [29:0] _T_61; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@66830.8]
+  wire [30:0] _T_62; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@66831.8]
+  wire [30:0] _T_63; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@66832.8]
+  wire [30:0] _T_64; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@66833.8]
+  wire  _T_65; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@66834.8]
+  wire  _T_70; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66839.8]
+  wire  _T_75; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66852.8]
+  wire  _T_76; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66853.8]
+  wire  _T_82; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66867.8]
+  wire  _T_83; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66868.8]
+  wire  _T_84; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@66873.8]
+  wire  _T_86; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66875.8]
+  wire  _T_87; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66876.8]
+  wire  _T_88; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@66881.8]
+  wire  _T_89; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66882.8]
+  wire  _T_91; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66884.8]
+  wire  _T_92; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66885.8]
+  wire  _T_93; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@66890.8]
+  wire  _T_95; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66892.8]
+  wire  _T_96; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66893.8]
+  wire  _T_97; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@66899.6]
+  wire  _T_126; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66953.8]
+  wire  _T_128; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66955.8]
+  wire  _T_129; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66956.8]
+  wire  _T_139; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@66979.6]
+  wire  _T_141; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@66982.8]
+  wire  _T_149; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@66990.8]
+  wire  _T_152; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66993.8]
+  wire  _T_153; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66994.8]
+  wire  _T_160; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@67013.8]
+  wire  _T_162; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67015.8]
+  wire  _T_163; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67016.8]
+  wire  _T_166; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67023.8]
+  wire  _T_167; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67024.8]
+  wire  _T_172; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@67038.6]
+  wire  _T_198; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@67086.6]
+  wire  _T_226; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@67136.6]
+  wire  _T_244; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@67167.8]
+  wire  _T_246; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67169.8]
+  wire  _T_247; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67170.8]
+  wire  _T_252; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@67184.6]
+  wire  _T_270; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@67215.8]
+  wire  _T_272; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67217.8]
+  wire  _T_273; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67218.8]
+  wire  _T_278; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@67232.6]
+  wire  _T_309; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@67291.6]
+  wire  _T_318; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@67296.6]
+  wire  _T_322; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67301.8]
+  wire  _T_323; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67302.8]
+  wire  _T_461; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@67588.4]
+  reg [5:0] _T_471; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@67597.4]
+  reg [31:0] _RAND_0;
+  wire [6:0] _T_472; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@67598.4]
+  wire [6:0] _T_473; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@67599.4]
+  wire [5:0] _T_474; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@67600.4]
+  wire  _T_475; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@67601.4]
+  reg [2:0] _T_484; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@67612.4]
+  reg [31:0] _RAND_1;
+  reg [2:0] _T_486; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@67613.4]
+  reg [31:0] _RAND_2;
+  reg [2:0] _T_488; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@67614.4]
+  reg [31:0] _RAND_3;
+  reg  _T_490; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@67615.4]
+  reg [31:0] _RAND_4;
+  reg [29:0] _T_492; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@67616.4]
+  reg [31:0] _RAND_5;
+  wire  _T_493; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@67617.4]
+  wire  _T_494; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@67618.4]
+  wire  _T_495; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@67620.6]
+  wire  _T_497; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67622.6]
+  wire  _T_498; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67623.6]
+  wire  _T_499; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@67628.6]
+  wire  _T_501; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67630.6]
+  wire  _T_502; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67631.6]
+  wire  _T_503; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@67636.6]
+  wire  _T_505; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67638.6]
+  wire  _T_506; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67639.6]
+  wire  _T_507; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@67644.6]
+  wire  _T_509; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67646.6]
+  wire  _T_510; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67647.6]
+  wire  _T_511; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@67652.6]
+  wire  _T_513; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67654.6]
+  wire  _T_514; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67655.6]
+  wire  _T_516; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@67662.4]
+  wire  _T_517; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@67670.4]
+  wire [12:0] _T_519; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@67672.4]
+  wire [5:0] _T_520; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@67673.4]
+  wire [5:0] _T_521; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@67674.4]
+  reg [5:0] _T_526; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@67678.4]
+  reg [31:0] _RAND_6;
+  wire [6:0] _T_527; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@67679.4]
+  wire [6:0] _T_528; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@67680.4]
+  wire [5:0] _T_529; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@67681.4]
+  wire  _T_530; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@67682.4]
+  reg [2:0] _T_543; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@67695.4]
+  reg [31:0] _RAND_7;
+  reg  _T_545; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@67696.4]
+  reg [31:0] _RAND_8;
+  wire  _T_550; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@67699.4]
+  wire  _T_551; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@67700.4]
+  wire  _T_560; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@67718.6]
+  wire  _T_562; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67720.6]
+  wire  _T_563; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67721.6]
+  wire  _T_564; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@67726.6]
+  wire  _T_566; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67728.6]
+  wire  _T_567; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67729.6]
+  wire  _T_577; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@67752.4]
+  reg [1:0] _T_579; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@67761.4]
+  reg [31:0] _RAND_9;
+  reg [5:0] _T_590; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@67771.4]
+  reg [31:0] _RAND_10;
+  wire [6:0] _T_591; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@67772.4]
+  wire [6:0] _T_592; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@67773.4]
+  wire [5:0] _T_593; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@67774.4]
+  wire  _T_594; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@67775.4]
+  reg [5:0] _T_611; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@67794.4]
+  reg [31:0] _RAND_11;
+  wire [6:0] _T_612; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@67795.4]
+  wire [6:0] _T_613; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@67796.4]
+  wire [5:0] _T_614; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@67797.4]
+  wire  _T_615; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@67798.4]
+  wire  _T_626; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@67813.4]
+  wire [1:0] _T_628; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@67816.6]
+  wire [1:0] _T_629; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@67818.6]
+  wire  _T_630; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@67819.6]
+  wire  _T_631; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67820.6]
+  wire  _T_633; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@67822.6]
+  wire  _T_634; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@67823.6]
+  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@67815.4]
+  wire  _T_639; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@67834.4]
+  wire [1:0] _T_643; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@67839.6]
+  wire [1:0] _T_644; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@67841.6]
+  wire [1:0] _T_645; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@67842.6]
+  wire  _T_646; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@67843.6]
+  wire  _T_648; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@67845.6]
+  wire  _T_649; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@67846.6]
+  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@67838.4]
+  wire [1:0] _T_650; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@67852.4]
+  wire [1:0] _T_651; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@67853.4]
+  wire [1:0] _T_652; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@67854.4]
+  reg [31:0] _T_654; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@67856.4]
+  reg [31:0] _RAND_12;
+  wire  _T_655; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@67859.4]
+  wire  _T_656; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@67860.4]
+  wire  _T_657; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@67861.4]
+  wire  _T_658; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@67862.4]
+  wire  _T_659; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@67863.4]
+  wire  _T_660; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@67864.4]
+  wire  _T_662; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@67866.4]
+  wire  _T_663; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@67867.4]
+  wire [31:0] _T_665; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@67873.4]
+  wire  _T_668; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@67877.4]
+  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66841.10]
+  wire  _GEN_33; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66913.10]
+  wire  _GEN_49; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66996.10]
+  wire  _GEN_61; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67052.10]
+  wire  _GEN_71; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67100.10]
+  wire  _GEN_79; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67150.10]
+  wire  _GEN_89; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67198.10]
+  wire  _GEN_99; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67246.10]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@67857.4]
+    .out(plusarg_reader_out)
+  );
+  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@66789.6]
+  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@66794.6]
+  assign _T_32 = 13'h3f << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@66796.6]
+  assign _T_33 = _T_32[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@66797.6]
+  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@66798.6]
+  assign _GEN_18 = {{24'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@66799.6]
+  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@66799.6]
+  assign _T_36 = _T_35 == 30'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@66800.6]
+  assign _T_59 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@66827.6]
+  assign _T_61 = io_in_a_bits_address ^ 30'h20000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@66830.8]
+  assign _T_62 = {1'b0,$signed(_T_61)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@66831.8]
+  assign _T_63 = $signed(_T_62) & $signed(-31'sh20000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@66832.8]
+  assign _T_64 = $signed(_T_63); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@66833.8]
+  assign _T_65 = $signed(_T_64) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@66834.8]
+  assign _T_70 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66839.8]
+  assign _T_75 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66852.8]
+  assign _T_76 = _T_75 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66853.8]
+  assign _T_82 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66867.8]
+  assign _T_83 = _T_82 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66868.8]
+  assign _T_84 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@66873.8]
+  assign _T_86 = _T_84 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66875.8]
+  assign _T_87 = _T_86 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66876.8]
+  assign _T_88 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@66881.8]
+  assign _T_89 = _T_88 == 1'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66882.8]
+  assign _T_91 = _T_89 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66884.8]
+  assign _T_92 = _T_91 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66885.8]
+  assign _T_93 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@66890.8]
+  assign _T_95 = _T_93 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66892.8]
+  assign _T_96 = _T_95 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66893.8]
+  assign _T_97 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@66899.6]
+  assign _T_126 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66953.8]
+  assign _T_128 = _T_126 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66955.8]
+  assign _T_129 = _T_128 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66956.8]
+  assign _T_139 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@66979.6]
+  assign _T_141 = io_in_a_bits_size <= 3'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@66982.8]
+  assign _T_149 = _T_141 & _T_65; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@66990.8]
+  assign _T_152 = _T_149 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66993.8]
+  assign _T_153 = _T_152 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66994.8]
+  assign _T_160 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@67013.8]
+  assign _T_162 = _T_160 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67015.8]
+  assign _T_163 = _T_162 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67016.8]
+  assign _T_166 = io_in_a_bits_mask | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67023.8]
+  assign _T_167 = _T_166 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67024.8]
+  assign _T_172 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@67038.6]
+  assign _T_198 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@67086.6]
+  assign _T_226 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@67136.6]
+  assign _T_244 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@67167.8]
+  assign _T_246 = _T_244 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67169.8]
+  assign _T_247 = _T_246 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67170.8]
+  assign _T_252 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@67184.6]
+  assign _T_270 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@67215.8]
+  assign _T_272 = _T_270 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67217.8]
+  assign _T_273 = _T_272 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67218.8]
+  assign _T_278 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@67232.6]
+  assign _T_309 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@67291.6]
+  assign _T_318 = io_in_d_bits_source | _T_309; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@67296.6]
+  assign _T_322 = _T_318 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67301.8]
+  assign _T_323 = _T_322 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67302.8]
+  assign _T_461 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@67588.4]
+  assign _T_472 = _T_471 - 6'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@67598.4]
+  assign _T_473 = $unsigned(_T_472); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@67599.4]
+  assign _T_474 = _T_473[5:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@67600.4]
+  assign _T_475 = _T_471 == 6'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@67601.4]
+  assign _T_493 = _T_475 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@67617.4]
+  assign _T_494 = io_in_a_valid & _T_493; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@67618.4]
+  assign _T_495 = io_in_a_bits_opcode == _T_484; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@67620.6]
+  assign _T_497 = _T_495 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67622.6]
+  assign _T_498 = _T_497 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67623.6]
+  assign _T_499 = io_in_a_bits_param == _T_486; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@67628.6]
+  assign _T_501 = _T_499 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67630.6]
+  assign _T_502 = _T_501 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67631.6]
+  assign _T_503 = io_in_a_bits_size == _T_488; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@67636.6]
+  assign _T_505 = _T_503 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67638.6]
+  assign _T_506 = _T_505 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67639.6]
+  assign _T_507 = io_in_a_bits_source == _T_490; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@67644.6]
+  assign _T_509 = _T_507 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67646.6]
+  assign _T_510 = _T_509 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67647.6]
+  assign _T_511 = io_in_a_bits_address == _T_492; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@67652.6]
+  assign _T_513 = _T_511 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67654.6]
+  assign _T_514 = _T_513 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67655.6]
+  assign _T_516 = _T_461 & _T_475; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@67662.4]
+  assign _T_517 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@67670.4]
+  assign _T_519 = 13'h3f << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@67672.4]
+  assign _T_520 = _T_519[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@67673.4]
+  assign _T_521 = ~ _T_520; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@67674.4]
+  assign _T_527 = _T_526 - 6'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@67679.4]
+  assign _T_528 = $unsigned(_T_527); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@67680.4]
+  assign _T_529 = _T_528[5:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@67681.4]
+  assign _T_530 = _T_526 == 6'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@67682.4]
+  assign _T_550 = _T_530 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@67699.4]
+  assign _T_551 = io_in_d_valid & _T_550; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@67700.4]
+  assign _T_560 = io_in_d_bits_size == _T_543; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@67718.6]
+  assign _T_562 = _T_560 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67720.6]
+  assign _T_563 = _T_562 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67721.6]
+  assign _T_564 = io_in_d_bits_source == _T_545; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@67726.6]
+  assign _T_566 = _T_564 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67728.6]
+  assign _T_567 = _T_566 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67729.6]
+  assign _T_577 = _T_517 & _T_530; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@67752.4]
+  assign _T_591 = _T_590 - 6'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@67772.4]
+  assign _T_592 = $unsigned(_T_591); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@67773.4]
+  assign _T_593 = _T_592[5:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@67774.4]
+  assign _T_594 = _T_590 == 6'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@67775.4]
+  assign _T_612 = _T_611 - 6'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@67795.4]
+  assign _T_613 = $unsigned(_T_612); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@67796.4]
+  assign _T_614 = _T_613[5:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@67797.4]
+  assign _T_615 = _T_611 == 6'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@67798.4]
+  assign _T_626 = _T_461 & _T_594; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@67813.4]
+  assign _T_628 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@67816.6]
+  assign _T_629 = _T_579 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@67818.6]
+  assign _T_630 = _T_629[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@67819.6]
+  assign _T_631 = _T_630 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67820.6]
+  assign _T_633 = _T_631 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@67822.6]
+  assign _T_634 = _T_633 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@67823.6]
+  assign _GEN_15 = _T_626 ? _T_628 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@67815.4]
+  assign _T_639 = _T_517 & _T_615; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@67834.4]
+  assign _T_643 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@67839.6]
+  assign _T_644 = _GEN_15 | _T_579; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@67841.6]
+  assign _T_645 = _T_644 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@67842.6]
+  assign _T_646 = _T_645[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@67843.6]
+  assign _T_648 = _T_646 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@67845.6]
+  assign _T_649 = _T_648 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@67846.6]
+  assign _GEN_16 = _T_639 ? _T_643 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@67838.4]
+  assign _T_650 = _T_579 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@67852.4]
+  assign _T_651 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@67853.4]
+  assign _T_652 = _T_650 & _T_651; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@67854.4]
+  assign _T_655 = _T_579 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@67859.4]
+  assign _T_656 = _T_655 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@67860.4]
+  assign _T_657 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@67861.4]
+  assign _T_658 = _T_656 | _T_657; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@67862.4]
+  assign _T_659 = _T_654 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@67863.4]
+  assign _T_660 = _T_658 | _T_659; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@67864.4]
+  assign _T_662 = _T_660 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@67866.4]
+  assign _T_663 = _T_662 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@67867.4]
+  assign _T_665 = _T_654 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@67873.4]
+  assign _T_668 = _T_461 | _T_517; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@67877.4]
+  assign _GEN_19 = io_in_a_valid & _T_59; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66841.10]
+  assign _GEN_33 = io_in_a_valid & _T_97; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66913.10]
+  assign _GEN_49 = io_in_a_valid & _T_139; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66996.10]
+  assign _GEN_61 = io_in_a_valid & _T_172; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67052.10]
+  assign _GEN_71 = io_in_a_valid & _T_198; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67100.10]
+  assign _GEN_79 = io_in_a_valid & _T_226; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67150.10]
+  assign _GEN_89 = io_in_a_valid & _T_252; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67198.10]
+  assign _GEN_99 = io_in_a_valid & _T_278; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67246.10]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  _T_471 = _RAND_0[5:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  _T_484 = _RAND_1[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  _T_486 = _RAND_2[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  _T_488 = _RAND_3[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  _T_490 = _RAND_4[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  _T_492 = _RAND_5[29:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {1{`RANDOM}};
+  _T_526 = _RAND_6[5:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {1{`RANDOM}};
+  _T_543 = _RAND_7[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_8 = {1{`RANDOM}};
+  _T_545 = _RAND_8[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_9 = {1{`RANDOM}};
+  _T_579 = _RAND_9[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_10 = {1{`RANDOM}};
+  _T_590 = _RAND_10[5:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_11 = {1{`RANDOM}};
+  _T_611 = _RAND_11[5:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_12 = {1{`RANDOM}};
+  _T_654 = _RAND_12[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      _T_471 <= 6'h0;
+    end else begin
+      if (_T_461) begin
+        if (_T_475) begin
+          _T_471 <= 6'h0;
+        end else begin
+          _T_471 <= _T_474;
+        end
+      end
+    end
+    if (_T_516) begin
+      _T_484 <= io_in_a_bits_opcode;
+    end
+    if (_T_516) begin
+      _T_486 <= io_in_a_bits_param;
+    end
+    if (_T_516) begin
+      _T_488 <= io_in_a_bits_size;
+    end
+    if (_T_516) begin
+      _T_490 <= io_in_a_bits_source;
+    end
+    if (_T_516) begin
+      _T_492 <= io_in_a_bits_address;
+    end
+    if (reset) begin
+      _T_526 <= 6'h0;
+    end else begin
+      if (_T_517) begin
+        if (_T_530) begin
+          _T_526 <= _T_521;
+        end else begin
+          _T_526 <= _T_529;
+        end
+      end
+    end
+    if (_T_577) begin
+      _T_543 <= io_in_d_bits_size;
+    end
+    if (_T_577) begin
+      _T_545 <= io_in_d_bits_source;
+    end
+    if (reset) begin
+      _T_579 <= 2'h0;
+    end else begin
+      _T_579 <= _T_652;
+    end
+    if (reset) begin
+      _T_590 <= 6'h0;
+    end else begin
+      if (_T_461) begin
+        if (_T_594) begin
+          _T_590 <= 6'h0;
+        end else begin
+          _T_590 <= _T_593;
+        end
+      end
+    end
+    if (reset) begin
+      _T_611 <= 6'h0;
+    end else begin
+      if (_T_517) begin
+        if (_T_615) begin
+          _T_611 <= _T_521;
+        end else begin
+          _T_611 <= _T_614;
+        end
+      end
+    end
+    if (reset) begin
+      _T_654 <= 32'h0;
+    end else begin
+      if (_T_668) begin
+        _T_654 <= 32'h0;
+      end else begin
+        _T_654 <= _T_665;
+      end
+    end
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at SPI.scala:77:9)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@66785.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@66786.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@66824.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@66825.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_70) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at SPI.scala:77:9)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66841.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_70) begin
+          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66842.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_70) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at SPI.scala:77:9)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66848.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_70) begin
+          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66849.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_76) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at SPI.scala:77:9)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66855.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_76) begin
+          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66856.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at SPI.scala:77:9)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66863.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66864.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_83) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at SPI.scala:77:9)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66870.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_83) begin
+          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66871.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_87) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at SPI.scala:77:9)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66878.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_87) begin
+          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66879.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_92) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at SPI.scala:77:9)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66887.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_92) begin
+          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66888.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_96) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at SPI.scala:77:9)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66895.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_96) begin
+          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66896.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_70) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at SPI.scala:77:9)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66913.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_70) begin
+          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66914.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_70) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at SPI.scala:77:9)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66920.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_70) begin
+          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66921.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_76) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at SPI.scala:77:9)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66927.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_76) begin
+          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66928.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at SPI.scala:77:9)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66935.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66936.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_83) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at SPI.scala:77:9)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66942.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_83) begin
+          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66943.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_87) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at SPI.scala:77:9)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66950.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_87) begin
+          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66951.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_129) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at SPI.scala:77:9)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66958.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_129) begin
+          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66959.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_92) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at SPI.scala:77:9)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66967.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_92) begin
+          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66968.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_96) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at SPI.scala:77:9)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66975.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_96) begin
+          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66976.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_153) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at SPI.scala:77:9)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66996.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_153) begin
+          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66997.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_76) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at SPI.scala:77:9)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67003.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_76) begin
+          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67004.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_83) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at SPI.scala:77:9)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67010.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_83) begin
+          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67011.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_163) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at SPI.scala:77:9)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67018.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_163) begin
+          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67019.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_167) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at SPI.scala:77:9)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67026.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_167) begin
+          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67027.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_96) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at SPI.scala:77:9)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67034.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_96) begin
+          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67035.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_61 & _T_70) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at SPI.scala:77:9)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67052.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_61 & _T_70) begin
+          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67053.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_61 & _T_76) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at SPI.scala:77:9)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67059.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_61 & _T_76) begin
+          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67060.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_61 & _T_83) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at SPI.scala:77:9)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67066.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_61 & _T_83) begin
+          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67067.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_61 & _T_163) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at SPI.scala:77:9)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67074.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_61 & _T_163) begin
+          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67075.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_61 & _T_167) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at SPI.scala:77:9)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67082.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_61 & _T_167) begin
+          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67083.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_71 & _T_70) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at SPI.scala:77:9)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67100.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_71 & _T_70) begin
+          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67101.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_71 & _T_76) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at SPI.scala:77:9)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67107.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_71 & _T_76) begin
+          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67108.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_71 & _T_83) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at SPI.scala:77:9)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67114.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_71 & _T_83) begin
+          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67115.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_71 & _T_163) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at SPI.scala:77:9)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67122.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_71 & _T_163) begin
+          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67123.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at SPI.scala:77:9)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67132.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67133.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_79 & _T_70) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at SPI.scala:77:9)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67150.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_79 & _T_70) begin
+          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67151.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_79 & _T_76) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at SPI.scala:77:9)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67157.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_79 & _T_76) begin
+          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67158.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_79 & _T_83) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at SPI.scala:77:9)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67164.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_79 & _T_83) begin
+          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67165.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_79 & _T_247) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at SPI.scala:77:9)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67172.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_79 & _T_247) begin
+          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67173.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_79 & _T_167) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at SPI.scala:77:9)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67180.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_79 & _T_167) begin
+          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67181.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_89 & _T_70) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at SPI.scala:77:9)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67198.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_89 & _T_70) begin
+          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67199.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_89 & _T_76) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at SPI.scala:77:9)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67205.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_89 & _T_76) begin
+          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67206.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_89 & _T_83) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at SPI.scala:77:9)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67212.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_89 & _T_83) begin
+          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67213.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_89 & _T_273) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at SPI.scala:77:9)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67220.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_89 & _T_273) begin
+          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67221.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_89 & _T_167) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at SPI.scala:77:9)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67228.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_89 & _T_167) begin
+          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67229.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_99 & _T_70) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at SPI.scala:77:9)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67246.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_99 & _T_70) begin
+          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67247.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_99 & _T_76) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at SPI.scala:77:9)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67253.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_99 & _T_76) begin
+          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67254.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_99 & _T_83) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at SPI.scala:77:9)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67260.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_99 & _T_83) begin
+          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67261.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_99 & _T_167) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at SPI.scala:77:9)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67268.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_99 & _T_167) begin
+          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67269.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_99 & _T_96) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at SPI.scala:77:9)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67276.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_99 & _T_96) begin
+          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67277.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at SPI.scala:77:9)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@67287.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@67288.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at SPI.scala:77:9)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67304.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67305.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at SPI.scala:77:9)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67312.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67313.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at SPI.scala:77:9)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67320.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67321.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at SPI.scala:77:9)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67328.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67329.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at SPI.scala:77:9)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67336.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67337.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at SPI.scala:77:9)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67346.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67347.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at SPI.scala:77:9)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67353.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67354.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at SPI.scala:77:9)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67361.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67362.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at SPI.scala:77:9)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67369.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67370.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at SPI.scala:77:9)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67377.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67378.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at SPI.scala:77:9)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67385.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67386.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at SPI.scala:77:9)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67394.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67395.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at SPI.scala:77:9)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67404.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67405.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at SPI.scala:77:9)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67411.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67412.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at SPI.scala:77:9)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67419.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67420.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at SPI.scala:77:9)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67427.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67428.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at SPI.scala:77:9)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67435.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67436.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at SPI.scala:77:9)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67444.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67445.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at SPI.scala:77:9)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67453.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67454.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at SPI.scala:77:9)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67463.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67464.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at SPI.scala:77:9)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67471.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67472.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at SPI.scala:77:9)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67479.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67480.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at SPI.scala:77:9)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67488.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67489.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_323) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at SPI.scala:77:9)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67498.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_323) begin
+          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67499.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at SPI.scala:77:9)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67506.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67507.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at SPI.scala:77:9)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67515.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67516.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at SPI.scala:77:9)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67524.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67525.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at SPI.scala:77:9)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67534.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67535.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at SPI.scala:77:9)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67542.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67543.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at SPI.scala:77:9)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67550.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67551.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at SPI.scala:77:9)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67559.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67560.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at SPI.scala:77:9)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67569.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67570.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at SPI.scala:77:9)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67577.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67578.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at SPI.scala:77:9)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67585.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67586.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_494 & _T_498) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at SPI.scala:77:9)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67625.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_494 & _T_498) begin
+          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67626.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_494 & _T_502) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at SPI.scala:77:9)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67633.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_494 & _T_502) begin
+          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67634.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_494 & _T_506) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at SPI.scala:77:9)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67641.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_494 & _T_506) begin
+          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67642.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_494 & _T_510) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at SPI.scala:77:9)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67649.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_494 & _T_510) begin
+          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67650.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_494 & _T_514) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at SPI.scala:77:9)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67657.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_494 & _T_514) begin
+          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67658.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at SPI.scala:77:9)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67707.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67708.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at SPI.scala:77:9)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67715.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67716.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_551 & _T_563) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at SPI.scala:77:9)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67723.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_551 & _T_563) begin
+          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67724.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_551 & _T_567) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at SPI.scala:77:9)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67731.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_551 & _T_567) begin
+          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67732.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at SPI.scala:77:9)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67739.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67740.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at SPI.scala:77:9)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67747.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67748.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_626 & _T_634) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at SPI.scala:77:9)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@67825.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_626 & _T_634) begin
+          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@67826.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_639 & _T_649) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at SPI.scala:77:9)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@67848.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_639 & _T_649) begin
+          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@67849.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_663) begin
+          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at SPI.scala:77:9)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@67869.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_663) begin
+          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@67870.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+endmodule
+module Repeater_11( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67882.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67883.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67884.4]
+  input         io_repeat, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67885.4]
+  output        io_full, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67885.4]
+  output        io_enq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67885.4]
+  input         io_enq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67885.4]
+  input  [2:0]  io_enq_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67885.4]
+  input  [2:0]  io_enq_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67885.4]
+  input  [2:0]  io_enq_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67885.4]
+  input         io_enq_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67885.4]
+  input  [29:0] io_enq_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67885.4]
+  input         io_enq_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67885.4]
+  input         io_enq_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67885.4]
+  input         io_deq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67885.4]
+  output        io_deq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67885.4]
+  output [2:0]  io_deq_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67885.4]
+  output [2:0]  io_deq_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67885.4]
+  output [2:0]  io_deq_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67885.4]
+  output        io_deq_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67885.4]
+  output [29:0] io_deq_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67885.4]
+  output        io_deq_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67885.4]
+  output        io_deq_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67885.4]
+);
+  reg  full; // @[Repeater.scala 18:21:shc.marmotcaravel.MarmotCaravelConfig.fir@67890.4]
+  reg [31:0] _RAND_0;
+  reg [2:0] saved_opcode; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@67891.4]
+  reg [31:0] _RAND_1;
+  reg [2:0] saved_param; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@67891.4]
+  reg [31:0] _RAND_2;
+  reg [2:0] saved_size; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@67891.4]
+  reg [31:0] _RAND_3;
+  reg  saved_source; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@67891.4]
+  reg [31:0] _RAND_4;
+  reg [29:0] saved_address; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@67891.4]
+  reg [31:0] _RAND_5;
+  reg  saved_mask; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@67891.4]
+  reg [31:0] _RAND_6;
+  reg  saved_corrupt; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@67891.4]
+  reg [31:0] _RAND_7;
+  wire  _T_18; // @[Repeater.scala 23:35:shc.marmotcaravel.MarmotCaravelConfig.fir@67894.4]
+  wire  _T_21; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@67900.4]
+  wire  _T_22; // @[Repeater.scala 27:23:shc.marmotcaravel.MarmotCaravelConfig.fir@67901.4]
+  wire  _T_23; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@67906.4]
+  wire  _T_24; // @[Repeater.scala 28:26:shc.marmotcaravel.MarmotCaravelConfig.fir@67907.4]
+  wire  _T_25; // @[Repeater.scala 28:23:shc.marmotcaravel.MarmotCaravelConfig.fir@67908.4]
+  assign _T_18 = full == 1'h0; // @[Repeater.scala 23:35:shc.marmotcaravel.MarmotCaravelConfig.fir@67894.4]
+  assign _T_21 = io_enq_ready & io_enq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@67900.4]
+  assign _T_22 = _T_21 & io_repeat; // @[Repeater.scala 27:23:shc.marmotcaravel.MarmotCaravelConfig.fir@67901.4]
+  assign _T_23 = io_deq_ready & io_deq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@67906.4]
+  assign _T_24 = io_repeat == 1'h0; // @[Repeater.scala 28:26:shc.marmotcaravel.MarmotCaravelConfig.fir@67907.4]
+  assign _T_25 = _T_23 & _T_24; // @[Repeater.scala 28:23:shc.marmotcaravel.MarmotCaravelConfig.fir@67908.4]
+  assign io_full = full; // @[Repeater.scala 25:11:shc.marmotcaravel.MarmotCaravelConfig.fir@67899.4]
+  assign io_enq_ready = io_deq_ready & _T_18; // @[Repeater.scala 23:16:shc.marmotcaravel.MarmotCaravelConfig.fir@67896.4]
+  assign io_deq_valid = io_enq_valid | full; // @[Repeater.scala 22:16:shc.marmotcaravel.MarmotCaravelConfig.fir@67893.4]
+  assign io_deq_bits_opcode = full ? saved_opcode : io_enq_bits_opcode; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@67898.4]
+  assign io_deq_bits_param = full ? saved_param : io_enq_bits_param; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@67898.4]
+  assign io_deq_bits_size = full ? saved_size : io_enq_bits_size; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@67898.4]
+  assign io_deq_bits_source = full ? saved_source : io_enq_bits_source; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@67898.4]
+  assign io_deq_bits_address = full ? saved_address : io_enq_bits_address; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@67898.4]
+  assign io_deq_bits_mask = full ? saved_mask : io_enq_bits_mask; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@67898.4]
+  assign io_deq_bits_corrupt = full ? saved_corrupt : io_enq_bits_corrupt; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@67898.4]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  full = _RAND_0[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  saved_opcode = _RAND_1[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  saved_param = _RAND_2[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  saved_size = _RAND_3[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  saved_source = _RAND_4[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  saved_address = _RAND_5[29:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {1{`RANDOM}};
+  saved_mask = _RAND_6[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {1{`RANDOM}};
+  saved_corrupt = _RAND_7[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      full <= 1'h0;
+    end else begin
+      if (_T_25) begin
+        full <= 1'h0;
+      end else begin
+        if (_T_22) begin
+          full <= 1'h1;
+        end
+      end
+    end
+    if (_T_22) begin
+      saved_opcode <= io_enq_bits_opcode;
+    end
+    if (_T_22) begin
+      saved_param <= io_enq_bits_param;
+    end
+    if (_T_22) begin
+      saved_size <= io_enq_bits_size;
+    end
+    if (_T_22) begin
+      saved_source <= io_enq_bits_source;
+    end
+    if (_T_22) begin
+      saved_address <= io_enq_bits_address;
+    end
+    if (_T_22) begin
+      saved_mask <= io_enq_bits_mask;
+    end
+    if (_T_22) begin
+      saved_corrupt <= io_enq_bits_corrupt;
+    end
+  end
+endmodule
+module TLFragmenter_11( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67913.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67914.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67915.4]
+  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67916.4]
+  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67916.4]
+  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67916.4]
+  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67916.4]
+  input  [2:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67916.4]
+  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67916.4]
+  input  [29:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67916.4]
+  input         auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67916.4]
+  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67916.4]
+  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67916.4]
+  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67916.4]
+  output [2:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67916.4]
+  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67916.4]
+  output [7:0]  auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67916.4]
+  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67916.4]
+  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67916.4]
+  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67916.4]
+  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67916.4]
+  output        auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67916.4]
+  output [7:0]  auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67916.4]
+  output [29:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67916.4]
+  output        auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67916.4]
+  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67916.4]
+  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67916.4]
+  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67916.4]
+  input         auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67916.4]
+  input  [7:0]  auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67916.4]
+  input  [7:0]  auto_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67916.4]
+);
+  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@67923.4]
+  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@67923.4]
+  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@67923.4]
+  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@67923.4]
+  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@67923.4]
+  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@67923.4]
+  wire [2:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@67923.4]
+  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@67923.4]
+  wire [29:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@67923.4]
+  wire  TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@67923.4]
+  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@67923.4]
+  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@67923.4]
+  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@67923.4]
+  wire [2:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@67923.4]
+  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@67923.4]
+  wire  Repeater_clock; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@68037.4]
+  wire  Repeater_reset; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@68037.4]
+  wire  Repeater_io_repeat; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@68037.4]
+  wire  Repeater_io_full; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@68037.4]
+  wire  Repeater_io_enq_ready; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@68037.4]
+  wire  Repeater_io_enq_valid; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@68037.4]
+  wire [2:0] Repeater_io_enq_bits_opcode; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@68037.4]
+  wire [2:0] Repeater_io_enq_bits_param; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@68037.4]
+  wire [2:0] Repeater_io_enq_bits_size; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@68037.4]
+  wire  Repeater_io_enq_bits_source; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@68037.4]
+  wire [29:0] Repeater_io_enq_bits_address; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@68037.4]
+  wire  Repeater_io_enq_bits_mask; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@68037.4]
+  wire  Repeater_io_enq_bits_corrupt; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@68037.4]
+  wire  Repeater_io_deq_ready; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@68037.4]
+  wire  Repeater_io_deq_valid; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@68037.4]
+  wire [2:0] Repeater_io_deq_bits_opcode; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@68037.4]
+  wire [2:0] Repeater_io_deq_bits_param; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@68037.4]
+  wire [2:0] Repeater_io_deq_bits_size; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@68037.4]
+  wire  Repeater_io_deq_bits_source; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@68037.4]
+  wire [29:0] Repeater_io_deq_bits_address; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@68037.4]
+  wire  Repeater_io_deq_bits_mask; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@68037.4]
+  wire  Repeater_io_deq_bits_corrupt; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@68037.4]
+  reg [5:0] _T_244; // @[Fragmenter.scala 167:27:shc.marmotcaravel.MarmotCaravelConfig.fir@67964.4]
+  reg [31:0] _RAND_0;
+  reg [2:0] _T_246; // @[Fragmenter.scala 168:22:shc.marmotcaravel.MarmotCaravelConfig.fir@67965.4]
+  reg [31:0] _RAND_1;
+  reg  _T_248; // @[Fragmenter.scala 169:28:shc.marmotcaravel.MarmotCaravelConfig.fir@67966.4]
+  reg [31:0] _RAND_2;
+  wire [5:0] _T_249; // @[Fragmenter.scala 170:39:shc.marmotcaravel.MarmotCaravelConfig.fir@67967.4]
+  wire  _T_250; // @[Fragmenter.scala 171:27:shc.marmotcaravel.MarmotCaravelConfig.fir@67968.4]
+  wire [1:0] _T_253; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@67971.4]
+  wire  _T_254; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@67972.4]
+  wire  _T_255; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@67973.4]
+  wire  _T_259; // @[Fragmenter.scala 180:15:shc.marmotcaravel.MarmotCaravelConfig.fir@67977.4]
+  wire [5:0] _GEN_7; // @[Fragmenter.scala 180:48:shc.marmotcaravel.MarmotCaravelConfig.fir@67978.4]
+  wire [5:0] _T_260; // @[Fragmenter.scala 180:48:shc.marmotcaravel.MarmotCaravelConfig.fir@67978.4]
+  wire  _T_261; // @[Fragmenter.scala 180:63:shc.marmotcaravel.MarmotCaravelConfig.fir@67979.4]
+  wire  _T_262; // @[Fragmenter.scala 180:28:shc.marmotcaravel.MarmotCaravelConfig.fir@67980.4]
+  wire  _T_264; // @[Fragmenter.scala 180:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67982.4]
+  wire  _T_265; // @[Fragmenter.scala 180:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67983.4]
+  wire [5:0] _T_267; // @[Fragmenter.scala 181:43:shc.marmotcaravel.MarmotCaravelConfig.fir@67989.4]
+  wire [6:0] _GEN_10; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@67994.4]
+  wire [6:0] _T_272; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@67994.4]
+  wire [6:0] _T_273; // @[package.scala 183:40:shc.marmotcaravel.MarmotCaravelConfig.fir@67995.4]
+  wire [6:0] _T_274; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@67996.4]
+  wire [6:0] _T_275; // @[package.scala 183:53:shc.marmotcaravel.MarmotCaravelConfig.fir@67997.4]
+  wire [6:0] _T_276; // @[package.scala 183:51:shc.marmotcaravel.MarmotCaravelConfig.fir@67998.4]
+  wire [2:0] _T_277; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@67999.4]
+  wire [3:0] _T_278; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@68000.4]
+  wire  _T_279; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68001.4]
+  wire [3:0] _GEN_11; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@68002.4]
+  wire [3:0] _T_280; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@68002.4]
+  wire [1:0] _T_281; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@68003.4]
+  wire [1:0] _T_282; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@68004.4]
+  wire  _T_283; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68005.4]
+  wire [1:0] _T_284; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@68006.4]
+  wire  _T_285; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@68007.4]
+  wire [1:0] _T_286; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@68008.4]
+  wire [2:0] _T_287; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@68009.4]
+  wire  _T_288; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@68010.4]
+  wire [6:0] _T_289; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@68012.6]
+  wire [6:0] _T_290; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@68013.6]
+  wire [5:0] _T_291; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@68014.6]
+  wire  _T_293; // @[Fragmenter.scala 190:39:shc.marmotcaravel.MarmotCaravelConfig.fir@68019.8]
+  wire  _T_327; // @[Fragmenter.scala 262:29:shc.marmotcaravel.MarmotCaravelConfig.fir@68062.4]
+  wire [2:0] _T_328; // @[Fragmenter.scala 262:22:shc.marmotcaravel.MarmotCaravelConfig.fir@68063.4]
+  wire [12:0] _T_330; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@68065.4]
+  wire [5:0] _T_331; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@68066.4]
+  wire [5:0] _T_332; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@68067.4]
+  wire [7:0] _T_334; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@68069.4]
+  wire  _T_335; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@68070.4]
+  wire  _T_336; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@68071.4]
+  reg [5:0] _T_341; // @[Fragmenter.scala 268:27:shc.marmotcaravel.MarmotCaravelConfig.fir@68075.4]
+  reg [31:0] _RAND_3;
+  wire  _T_342; // @[Fragmenter.scala 269:27:shc.marmotcaravel.MarmotCaravelConfig.fir@68076.4]
+  wire [6:0] _T_344; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@68078.4]
+  wire [6:0] _T_345; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@68079.4]
+  wire [5:0] _T_346; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@68080.4]
+  wire [5:0] _T_347; // @[Fragmenter.scala 270:28:shc.marmotcaravel.MarmotCaravelConfig.fir@68081.4]
+  wire [5:0] _T_348; // @[Fragmenter.scala 271:26:shc.marmotcaravel.MarmotCaravelConfig.fir@68082.4]
+  wire [5:0] _GEN_12; // @[Fragmenter.scala 271:39:shc.marmotcaravel.MarmotCaravelConfig.fir@68084.4]
+  wire [5:0] _T_350; // @[Fragmenter.scala 271:39:shc.marmotcaravel.MarmotCaravelConfig.fir@68084.4]
+  wire [5:0] _T_351; // @[Fragmenter.scala 271:24:shc.marmotcaravel.MarmotCaravelConfig.fir@68085.4]
+  reg  _T_359; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@68092.4]
+  reg [31:0] _RAND_4;
+  wire  _GEN_5; // @[Reg.scala 12:19:shc.marmotcaravel.MarmotCaravelConfig.fir@68093.4]
+  wire  _T_361; // @[Fragmenter.scala 274:21:shc.marmotcaravel.MarmotCaravelConfig.fir@68097.4]
+  wire  _T_92_a_valid; // @[Nodes.scala 332:76:shc.marmotcaravel.MarmotCaravelConfig.fir@67960.4 Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@68106.4]
+  wire  _T_362; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@68098.4]
+  wire [5:0] _T_367; // @[Fragmenter.scala 281:88:shc.marmotcaravel.MarmotCaravelConfig.fir@68108.4]
+  wire [5:0] _T_368; // @[Fragmenter.scala 281:86:shc.marmotcaravel.MarmotCaravelConfig.fir@68109.4]
+  wire [5:0] _T_369; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@68110.4]
+  wire [5:0] _T_371; // @[Fragmenter.scala 281:49:shc.marmotcaravel.MarmotCaravelConfig.fir@68112.4]
+  wire [29:0] _GEN_15; // @[Fragmenter.scala 281:47:shc.marmotcaravel.MarmotCaravelConfig.fir@68113.4]
+  wire [1:0] _T_373; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@68115.4]
+  wire  _T_375; // @[Fragmenter.scala 286:15:shc.marmotcaravel.MarmotCaravelConfig.fir@68119.4]
+  wire  _T_382; // @[Fragmenter.scala 289:51:shc.marmotcaravel.MarmotCaravelConfig.fir@68131.4]
+  wire  _T_383; // @[Fragmenter.scala 289:33:shc.marmotcaravel.MarmotCaravelConfig.fir@68132.4]
+  wire  _T_385; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68134.4]
+  wire  _T_386; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68135.4]
+  TLMonitor_38 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@67923.4]
+    .clock(TLMonitor_clock),
+    .reset(TLMonitor_reset),
+    .io_in_a_ready(TLMonitor_io_in_a_ready),
+    .io_in_a_valid(TLMonitor_io_in_a_valid),
+    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
+    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
+    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
+    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
+    .io_in_d_ready(TLMonitor_io_in_d_ready),
+    .io_in_d_valid(TLMonitor_io_in_d_valid),
+    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
+    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source)
+  );
+  Repeater_11 Repeater ( // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@68037.4]
+    .clock(Repeater_clock),
+    .reset(Repeater_reset),
+    .io_repeat(Repeater_io_repeat),
+    .io_full(Repeater_io_full),
+    .io_enq_ready(Repeater_io_enq_ready),
+    .io_enq_valid(Repeater_io_enq_valid),
+    .io_enq_bits_opcode(Repeater_io_enq_bits_opcode),
+    .io_enq_bits_param(Repeater_io_enq_bits_param),
+    .io_enq_bits_size(Repeater_io_enq_bits_size),
+    .io_enq_bits_source(Repeater_io_enq_bits_source),
+    .io_enq_bits_address(Repeater_io_enq_bits_address),
+    .io_enq_bits_mask(Repeater_io_enq_bits_mask),
+    .io_enq_bits_corrupt(Repeater_io_enq_bits_corrupt),
+    .io_deq_ready(Repeater_io_deq_ready),
+    .io_deq_valid(Repeater_io_deq_valid),
+    .io_deq_bits_opcode(Repeater_io_deq_bits_opcode),
+    .io_deq_bits_param(Repeater_io_deq_bits_param),
+    .io_deq_bits_size(Repeater_io_deq_bits_size),
+    .io_deq_bits_source(Repeater_io_deq_bits_source),
+    .io_deq_bits_address(Repeater_io_deq_bits_address),
+    .io_deq_bits_mask(Repeater_io_deq_bits_mask),
+    .io_deq_bits_corrupt(Repeater_io_deq_bits_corrupt)
+  );
+  assign _T_249 = auto_out_d_bits_source[5:0]; // @[Fragmenter.scala 170:39:shc.marmotcaravel.MarmotCaravelConfig.fir@67967.4]
+  assign _T_250 = _T_244 == 6'h0; // @[Fragmenter.scala 171:27:shc.marmotcaravel.MarmotCaravelConfig.fir@67968.4]
+  assign _T_253 = 2'h1 << auto_out_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@67971.4]
+  assign _T_254 = _T_253[0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@67972.4]
+  assign _T_255 = ~ _T_254; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@67973.4]
+  assign _T_259 = auto_out_d_valid == 1'h0; // @[Fragmenter.scala 180:15:shc.marmotcaravel.MarmotCaravelConfig.fir@67977.4]
+  assign _GEN_7 = {{5'd0}, _T_255}; // @[Fragmenter.scala 180:48:shc.marmotcaravel.MarmotCaravelConfig.fir@67978.4]
+  assign _T_260 = _T_249 & _GEN_7; // @[Fragmenter.scala 180:48:shc.marmotcaravel.MarmotCaravelConfig.fir@67978.4]
+  assign _T_261 = _T_260 == 6'h0; // @[Fragmenter.scala 180:63:shc.marmotcaravel.MarmotCaravelConfig.fir@67979.4]
+  assign _T_262 = _T_259 | _T_261; // @[Fragmenter.scala 180:28:shc.marmotcaravel.MarmotCaravelConfig.fir@67980.4]
+  assign _T_264 = _T_262 | reset; // @[Fragmenter.scala 180:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67982.4]
+  assign _T_265 = _T_264 == 1'h0; // @[Fragmenter.scala 180:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67983.4]
+  assign _T_267 = _T_249 | _GEN_7; // @[Fragmenter.scala 181:43:shc.marmotcaravel.MarmotCaravelConfig.fir@67989.4]
+  assign _GEN_10 = {{1'd0}, _T_267}; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@67994.4]
+  assign _T_272 = _GEN_10 << 1; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@67994.4]
+  assign _T_273 = _T_272 | 7'h1; // @[package.scala 183:40:shc.marmotcaravel.MarmotCaravelConfig.fir@67995.4]
+  assign _T_274 = {1'h0,_T_267}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@67996.4]
+  assign _T_275 = ~ _T_274; // @[package.scala 183:53:shc.marmotcaravel.MarmotCaravelConfig.fir@67997.4]
+  assign _T_276 = _T_273 & _T_275; // @[package.scala 183:51:shc.marmotcaravel.MarmotCaravelConfig.fir@67998.4]
+  assign _T_277 = _T_276[6:4]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@67999.4]
+  assign _T_278 = _T_276[3:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@68000.4]
+  assign _T_279 = _T_277 != 3'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68001.4]
+  assign _GEN_11 = {{1'd0}, _T_277}; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@68002.4]
+  assign _T_280 = _GEN_11 | _T_278; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@68002.4]
+  assign _T_281 = _T_280[3:2]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@68003.4]
+  assign _T_282 = _T_280[1:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@68004.4]
+  assign _T_283 = _T_281 != 2'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68005.4]
+  assign _T_284 = _T_281 | _T_282; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@68006.4]
+  assign _T_285 = _T_284[1]; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@68007.4]
+  assign _T_286 = {_T_283,_T_285}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@68008.4]
+  assign _T_287 = {_T_279,_T_286}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@68009.4]
+  assign _T_288 = auto_in_d_ready & auto_out_d_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@68010.4]
+  assign _T_289 = _T_244 - 6'h1; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@68012.6]
+  assign _T_290 = $unsigned(_T_289); // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@68013.6]
+  assign _T_291 = _T_290[5:0]; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@68014.6]
+  assign _T_293 = auto_out_d_bits_source[6]; // @[Fragmenter.scala 190:39:shc.marmotcaravel.MarmotCaravelConfig.fir@68019.8]
+  assign _T_327 = Repeater_io_deq_bits_size > 3'h0; // @[Fragmenter.scala 262:29:shc.marmotcaravel.MarmotCaravelConfig.fir@68062.4]
+  assign _T_328 = _T_327 ? 3'h0 : Repeater_io_deq_bits_size; // @[Fragmenter.scala 262:22:shc.marmotcaravel.MarmotCaravelConfig.fir@68063.4]
+  assign _T_330 = 13'h3f << Repeater_io_deq_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@68065.4]
+  assign _T_331 = _T_330[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@68066.4]
+  assign _T_332 = ~ _T_331; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@68067.4]
+  assign _T_334 = 8'h1 << _T_328; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@68069.4]
+  assign _T_335 = _T_334[0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@68070.4]
+  assign _T_336 = ~ _T_335; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@68071.4]
+  assign _T_342 = _T_341 == 6'h0; // @[Fragmenter.scala 269:27:shc.marmotcaravel.MarmotCaravelConfig.fir@68076.4]
+  assign _T_344 = _T_341 - 6'h1; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@68078.4]
+  assign _T_345 = $unsigned(_T_344); // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@68079.4]
+  assign _T_346 = _T_345[5:0]; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@68080.4]
+  assign _T_347 = _T_342 ? _T_332 : _T_346; // @[Fragmenter.scala 270:28:shc.marmotcaravel.MarmotCaravelConfig.fir@68081.4]
+  assign _T_348 = ~ _T_347; // @[Fragmenter.scala 271:26:shc.marmotcaravel.MarmotCaravelConfig.fir@68082.4]
+  assign _GEN_12 = {{5'd0}, _T_336}; // @[Fragmenter.scala 271:39:shc.marmotcaravel.MarmotCaravelConfig.fir@68084.4]
+  assign _T_350 = _T_348 | _GEN_12; // @[Fragmenter.scala 271:39:shc.marmotcaravel.MarmotCaravelConfig.fir@68084.4]
+  assign _T_351 = ~ _T_350; // @[Fragmenter.scala 271:24:shc.marmotcaravel.MarmotCaravelConfig.fir@68085.4]
+  assign _GEN_5 = _T_342 ? _T_248 : _T_359; // @[Reg.scala 12:19:shc.marmotcaravel.MarmotCaravelConfig.fir@68093.4]
+  assign _T_361 = _GEN_5 == 1'h0; // @[Fragmenter.scala 274:21:shc.marmotcaravel.MarmotCaravelConfig.fir@68097.4]
+  assign _T_92_a_valid = Repeater_io_deq_valid; // @[Nodes.scala 332:76:shc.marmotcaravel.MarmotCaravelConfig.fir@67960.4 Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@68106.4]
+  assign _T_362 = auto_out_a_ready & _T_92_a_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@68098.4]
+  assign _T_367 = ~ _T_332; // @[Fragmenter.scala 281:88:shc.marmotcaravel.MarmotCaravelConfig.fir@68108.4]
+  assign _T_368 = _T_347 | _T_367; // @[Fragmenter.scala 281:86:shc.marmotcaravel.MarmotCaravelConfig.fir@68109.4]
+  assign _T_369 = _T_368 | _GEN_12; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@68110.4]
+  assign _T_371 = ~ _T_369; // @[Fragmenter.scala 281:49:shc.marmotcaravel.MarmotCaravelConfig.fir@68112.4]
+  assign _GEN_15 = {{24'd0}, _T_371}; // @[Fragmenter.scala 281:47:shc.marmotcaravel.MarmotCaravelConfig.fir@68113.4]
+  assign _T_373 = {Repeater_io_deq_bits_source,_T_361}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@68115.4]
+  assign _T_375 = Repeater_io_full == 1'h0; // @[Fragmenter.scala 286:15:shc.marmotcaravel.MarmotCaravelConfig.fir@68119.4]
+  assign _T_382 = Repeater_io_deq_bits_mask; // @[Fragmenter.scala 289:51:shc.marmotcaravel.MarmotCaravelConfig.fir@68131.4]
+  assign _T_383 = _T_375 | _T_382; // @[Fragmenter.scala 289:33:shc.marmotcaravel.MarmotCaravelConfig.fir@68132.4]
+  assign _T_385 = _T_383 | reset; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68134.4]
+  assign _T_386 = _T_385 == 1'h0; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68135.4]
+  assign auto_in_a_ready = Repeater_io_enq_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@67963.4]
+  assign auto_in_d_valid = auto_out_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@67963.4]
+  assign auto_in_d_bits_size = _T_250 ? _T_287 : _T_246; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@67963.4]
+  assign auto_in_d_bits_source = auto_out_d_bits_source[7:7]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@67963.4]
+  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@67963.4]
+  assign auto_out_a_valid = Repeater_io_deq_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@67962.4]
+  assign auto_out_a_bits_opcode = Repeater_io_deq_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@67962.4]
+  assign auto_out_a_bits_param = Repeater_io_deq_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@67962.4]
+  assign auto_out_a_bits_size = _T_328[0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@67962.4]
+  assign auto_out_a_bits_source = {_T_373,_T_351}; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@67962.4]
+  assign auto_out_a_bits_address = Repeater_io_deq_bits_address | _GEN_15; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@67962.4]
+  assign auto_out_a_bits_mask = Repeater_io_full ? 1'h1 : auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@67962.4]
+  assign auto_out_a_bits_corrupt = Repeater_io_deq_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@67962.4]
+  assign auto_out_d_ready = auto_in_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@67962.4]
+  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67925.4]
+  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67926.4]
+  assign TLMonitor_io_in_a_ready = Repeater_io_enq_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@67959.4]
+  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@67959.4]
+  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@67959.4]
+  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@67959.4]
+  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@67959.4]
+  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@67959.4]
+  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@67959.4]
+  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@67959.4]
+  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@67959.4]
+  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@67959.4]
+  assign TLMonitor_io_in_d_valid = auto_out_d_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@67959.4]
+  assign TLMonitor_io_in_d_bits_size = _T_250 ? _T_287 : _T_246; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@67959.4]
+  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source[7:7]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@67959.4]
+  assign Repeater_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@68039.4]
+  assign Repeater_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@68040.4]
+  assign Repeater_io_repeat = _T_351 != 6'h0; // @[Fragmenter.scala 279:26:shc.marmotcaravel.MarmotCaravelConfig.fir@68105.4]
+  assign Repeater_io_enq_valid = auto_in_a_valid; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@68041.4]
+  assign Repeater_io_enq_bits_opcode = auto_in_a_bits_opcode; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@68041.4]
+  assign Repeater_io_enq_bits_param = auto_in_a_bits_param; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@68041.4]
+  assign Repeater_io_enq_bits_size = auto_in_a_bits_size; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@68041.4]
+  assign Repeater_io_enq_bits_source = auto_in_a_bits_source; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@68041.4]
+  assign Repeater_io_enq_bits_address = auto_in_a_bits_address; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@68041.4]
+  assign Repeater_io_enq_bits_mask = auto_in_a_bits_mask; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@68041.4]
+  assign Repeater_io_enq_bits_corrupt = auto_in_a_bits_corrupt; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@68041.4]
+  assign Repeater_io_deq_ready = auto_out_a_ready; // @[Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@68106.4]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  _T_244 = _RAND_0[5:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  _T_246 = _RAND_1[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  _T_248 = _RAND_2[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  _T_341 = _RAND_3[5:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  _T_359 = _RAND_4[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      _T_244 <= 6'h0;
+    end else begin
+      if (_T_288) begin
+        if (_T_250) begin
+          _T_244 <= _T_267;
+        end else begin
+          _T_244 <= _T_291;
+        end
+      end
+    end
+    if (_T_288) begin
+      if (_T_250) begin
+        _T_246 <= _T_287;
+      end
+    end
+    if (reset) begin
+      _T_248 <= 1'h0;
+    end else begin
+      if (_T_288) begin
+        if (_T_250) begin
+          _T_248 <= _T_293;
+        end
+      end
+    end
+    if (reset) begin
+      _T_341 <= 6'h0;
+    end else begin
+      if (_T_362) begin
+        _T_341 <= _T_351;
+      end
+    end
+    if (_T_342) begin
+      _T_359 <= _T_248;
+    end
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_265) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:180 assert (!out.d.valid || (acknum_fragment & acknum_size) === UInt(0))\n"); // @[Fragmenter.scala 180:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67985.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_265) begin
+          $fatal; // @[Fragmenter.scala 180:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67986.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:286 assert (!repeater.io.full || !aHasData)\n"); // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68126.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68127.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_386) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:289 assert (!repeater.io.full || in_a.bits.mask === fullMask)\n"); // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68137.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_386) begin
+          $fatal; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68138.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+endmodule
+module TLMonitor_39( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@68156.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@68157.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@68158.4]
+  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@68159.4]
+  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@68159.4]
+  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@68159.4]
+  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@68159.4]
+  input  [2:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@68159.4]
+  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@68159.4]
+  input  [29:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@68159.4]
+  input         io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@68159.4]
+  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@68159.4]
+  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@68159.4]
+  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@68159.4]
+  input  [2:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@68159.4]
+  input         io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@68159.4]
+);
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@69254.4]
+  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@68175.6]
+  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@68180.6]
+  wire [12:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@68182.6]
+  wire [5:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@68183.6]
+  wire [5:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@68184.6]
+  wire [29:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@68185.6]
+  wire [29:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@68185.6]
+  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@68186.6]
+  wire  _T_59; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@68213.6]
+  wire [29:0] _T_61; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@68216.8]
+  wire [30:0] _T_62; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@68217.8]
+  wire [30:0] _T_63; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@68218.8]
+  wire [30:0] _T_64; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@68219.8]
+  wire  _T_65; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@68220.8]
+  wire  _T_70; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68225.8]
+  wire  _T_75; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68238.8]
+  wire  _T_76; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68239.8]
+  wire  _T_82; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68253.8]
+  wire  _T_83; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68254.8]
+  wire  _T_84; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@68259.8]
+  wire  _T_86; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68261.8]
+  wire  _T_87; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68262.8]
+  wire  _T_88; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@68267.8]
+  wire  _T_89; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@68268.8]
+  wire  _T_91; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68270.8]
+  wire  _T_92; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68271.8]
+  wire  _T_93; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@68276.8]
+  wire  _T_95; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68278.8]
+  wire  _T_96; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68279.8]
+  wire  _T_97; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@68285.6]
+  wire  _T_126; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@68339.8]
+  wire  _T_128; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68341.8]
+  wire  _T_129; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68342.8]
+  wire  _T_139; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@68365.6]
+  wire  _T_141; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@68368.8]
+  wire  _T_149; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@68376.8]
+  wire  _T_152; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68379.8]
+  wire  _T_153; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68380.8]
+  wire  _T_160; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@68399.8]
+  wire  _T_162; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68401.8]
+  wire  _T_163; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68402.8]
+  wire  _T_166; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68409.8]
+  wire  _T_167; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68410.8]
+  wire  _T_172; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@68424.6]
+  wire  _T_198; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@68472.6]
+  wire  _T_226; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@68522.6]
+  wire  _T_244; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@68553.8]
+  wire  _T_246; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68555.8]
+  wire  _T_247; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68556.8]
+  wire  _T_252; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@68570.6]
+  wire  _T_270; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@68601.8]
+  wire  _T_272; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68603.8]
+  wire  _T_273; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68604.8]
+  wire  _T_278; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@68618.6]
+  wire  _T_309; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@68677.6]
+  wire  _T_318; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@68682.6]
+  wire  _T_322; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68687.8]
+  wire  _T_323; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68688.8]
+  wire  _T_461; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@68974.4]
+  reg [5:0] _T_471; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@68983.4]
+  reg [31:0] _RAND_0;
+  wire [6:0] _T_472; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@68984.4]
+  wire [6:0] _T_473; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@68985.4]
+  wire [5:0] _T_474; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@68986.4]
+  wire  _T_475; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@68987.4]
+  reg [2:0] _T_484; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@68998.4]
+  reg [31:0] _RAND_1;
+  reg [2:0] _T_486; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@68999.4]
+  reg [31:0] _RAND_2;
+  reg [2:0] _T_488; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@69000.4]
+  reg [31:0] _RAND_3;
+  reg  _T_490; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@69001.4]
+  reg [31:0] _RAND_4;
+  reg [29:0] _T_492; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@69002.4]
+  reg [31:0] _RAND_5;
+  wire  _T_493; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@69003.4]
+  wire  _T_494; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@69004.4]
+  wire  _T_495; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@69006.6]
+  wire  _T_497; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69008.6]
+  wire  _T_498; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69009.6]
+  wire  _T_499; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@69014.6]
+  wire  _T_501; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69016.6]
+  wire  _T_502; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69017.6]
+  wire  _T_503; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@69022.6]
+  wire  _T_505; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69024.6]
+  wire  _T_506; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69025.6]
+  wire  _T_507; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@69030.6]
+  wire  _T_509; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69032.6]
+  wire  _T_510; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69033.6]
+  wire  _T_511; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@69038.6]
+  wire  _T_513; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69040.6]
+  wire  _T_514; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69041.6]
+  wire  _T_516; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@69048.4]
+  wire  _T_517; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@69056.4]
+  wire [12:0] _T_519; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@69058.4]
+  wire [5:0] _T_520; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@69059.4]
+  wire [5:0] _T_521; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@69060.4]
+  reg [5:0] _T_526; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@69064.4]
+  reg [31:0] _RAND_6;
+  wire [6:0] _T_527; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@69065.4]
+  wire [6:0] _T_528; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@69066.4]
+  wire [5:0] _T_529; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@69067.4]
+  wire  _T_530; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@69068.4]
+  reg [2:0] _T_543; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@69081.4]
+  reg [31:0] _RAND_7;
+  reg  _T_545; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@69082.4]
+  reg [31:0] _RAND_8;
+  wire  _T_550; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@69085.4]
+  wire  _T_551; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@69086.4]
+  wire  _T_560; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@69104.6]
+  wire  _T_562; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69106.6]
+  wire  _T_563; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69107.6]
+  wire  _T_564; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@69112.6]
+  wire  _T_566; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69114.6]
+  wire  _T_567; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69115.6]
+  wire  _T_577; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@69138.4]
+  reg [1:0] _T_579; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@69147.4]
+  reg [31:0] _RAND_9;
+  reg [5:0] _T_590; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@69157.4]
+  reg [31:0] _RAND_10;
+  wire [6:0] _T_591; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@69158.4]
+  wire [6:0] _T_592; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@69159.4]
+  wire [5:0] _T_593; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@69160.4]
+  wire  _T_594; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@69161.4]
+  reg [5:0] _T_611; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@69180.4]
+  reg [31:0] _RAND_11;
+  wire [6:0] _T_612; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@69181.4]
+  wire [6:0] _T_613; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@69182.4]
+  wire [5:0] _T_614; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@69183.4]
+  wire  _T_615; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@69184.4]
+  wire  _T_626; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@69199.4]
+  wire [1:0] _T_628; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@69202.6]
+  wire [1:0] _T_629; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@69204.6]
+  wire  _T_630; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@69205.6]
+  wire  _T_631; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69206.6]
+  wire  _T_633; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@69208.6]
+  wire  _T_634; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@69209.6]
+  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@69201.4]
+  wire  _T_639; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@69220.4]
+  wire [1:0] _T_643; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@69225.6]
+  wire [1:0] _T_644; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@69227.6]
+  wire [1:0] _T_645; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@69228.6]
+  wire  _T_646; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@69229.6]
+  wire  _T_648; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@69231.6]
+  wire  _T_649; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@69232.6]
+  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@69224.4]
+  wire  _T_650; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@69238.4]
+  wire  _T_651; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@69239.4]
+  wire  _T_652; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@69240.4]
+  wire  _T_653; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@69241.4]
+  wire  _T_655; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@69243.4]
+  wire  _T_656; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@69244.4]
+  wire [1:0] _T_657; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@69249.4]
+  wire [1:0] _T_658; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@69250.4]
+  wire [1:0] _T_659; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@69251.4]
+  reg [31:0] _T_661; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@69253.4]
+  reg [31:0] _RAND_12;
+  wire  _T_662; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@69256.4]
+  wire  _T_663; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@69257.4]
+  wire  _T_664; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@69258.4]
+  wire  _T_665; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@69259.4]
+  wire  _T_666; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@69260.4]
+  wire  _T_667; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@69261.4]
+  wire  _T_669; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@69263.4]
+  wire  _T_670; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@69264.4]
+  wire [31:0] _T_672; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@69270.4]
+  wire  _T_675; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@69274.4]
+  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68227.10]
+  wire  _GEN_33; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68299.10]
+  wire  _GEN_49; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68382.10]
+  wire  _GEN_61; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68438.10]
+  wire  _GEN_71; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68486.10]
+  wire  _GEN_79; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68536.10]
+  wire  _GEN_89; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68584.10]
+  wire  _GEN_99; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68632.10]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@69254.4]
+    .out(plusarg_reader_out)
+  );
+  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@68175.6]
+  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@68180.6]
+  assign _T_32 = 13'h3f << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@68182.6]
+  assign _T_33 = _T_32[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@68183.6]
+  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@68184.6]
+  assign _GEN_18 = {{24'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@68185.6]
+  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@68185.6]
+  assign _T_36 = _T_35 == 30'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@68186.6]
+  assign _T_59 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@68213.6]
+  assign _T_61 = io_in_a_bits_address ^ 30'h20000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@68216.8]
+  assign _T_62 = {1'b0,$signed(_T_61)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@68217.8]
+  assign _T_63 = $signed(_T_62) & $signed(-31'sh20000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@68218.8]
+  assign _T_64 = $signed(_T_63); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@68219.8]
+  assign _T_65 = $signed(_T_64) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@68220.8]
+  assign _T_70 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68225.8]
+  assign _T_75 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68238.8]
+  assign _T_76 = _T_75 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68239.8]
+  assign _T_82 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68253.8]
+  assign _T_83 = _T_82 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68254.8]
+  assign _T_84 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@68259.8]
+  assign _T_86 = _T_84 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68261.8]
+  assign _T_87 = _T_86 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68262.8]
+  assign _T_88 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@68267.8]
+  assign _T_89 = _T_88 == 1'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@68268.8]
+  assign _T_91 = _T_89 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68270.8]
+  assign _T_92 = _T_91 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68271.8]
+  assign _T_93 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@68276.8]
+  assign _T_95 = _T_93 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68278.8]
+  assign _T_96 = _T_95 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68279.8]
+  assign _T_97 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@68285.6]
+  assign _T_126 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@68339.8]
+  assign _T_128 = _T_126 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68341.8]
+  assign _T_129 = _T_128 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68342.8]
+  assign _T_139 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@68365.6]
+  assign _T_141 = io_in_a_bits_size <= 3'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@68368.8]
+  assign _T_149 = _T_141 & _T_65; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@68376.8]
+  assign _T_152 = _T_149 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68379.8]
+  assign _T_153 = _T_152 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68380.8]
+  assign _T_160 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@68399.8]
+  assign _T_162 = _T_160 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68401.8]
+  assign _T_163 = _T_162 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68402.8]
+  assign _T_166 = io_in_a_bits_mask | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68409.8]
+  assign _T_167 = _T_166 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68410.8]
+  assign _T_172 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@68424.6]
+  assign _T_198 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@68472.6]
+  assign _T_226 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@68522.6]
+  assign _T_244 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@68553.8]
+  assign _T_246 = _T_244 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68555.8]
+  assign _T_247 = _T_246 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68556.8]
+  assign _T_252 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@68570.6]
+  assign _T_270 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@68601.8]
+  assign _T_272 = _T_270 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68603.8]
+  assign _T_273 = _T_272 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68604.8]
+  assign _T_278 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@68618.6]
+  assign _T_309 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@68677.6]
+  assign _T_318 = io_in_d_bits_source | _T_309; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@68682.6]
+  assign _T_322 = _T_318 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68687.8]
+  assign _T_323 = _T_322 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68688.8]
+  assign _T_461 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@68974.4]
+  assign _T_472 = _T_471 - 6'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@68984.4]
+  assign _T_473 = $unsigned(_T_472); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@68985.4]
+  assign _T_474 = _T_473[5:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@68986.4]
+  assign _T_475 = _T_471 == 6'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@68987.4]
+  assign _T_493 = _T_475 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@69003.4]
+  assign _T_494 = io_in_a_valid & _T_493; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@69004.4]
+  assign _T_495 = io_in_a_bits_opcode == _T_484; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@69006.6]
+  assign _T_497 = _T_495 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69008.6]
+  assign _T_498 = _T_497 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69009.6]
+  assign _T_499 = io_in_a_bits_param == _T_486; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@69014.6]
+  assign _T_501 = _T_499 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69016.6]
+  assign _T_502 = _T_501 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69017.6]
+  assign _T_503 = io_in_a_bits_size == _T_488; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@69022.6]
+  assign _T_505 = _T_503 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69024.6]
+  assign _T_506 = _T_505 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69025.6]
+  assign _T_507 = io_in_a_bits_source == _T_490; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@69030.6]
+  assign _T_509 = _T_507 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69032.6]
+  assign _T_510 = _T_509 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69033.6]
+  assign _T_511 = io_in_a_bits_address == _T_492; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@69038.6]
+  assign _T_513 = _T_511 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69040.6]
+  assign _T_514 = _T_513 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69041.6]
+  assign _T_516 = _T_461 & _T_475; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@69048.4]
+  assign _T_517 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@69056.4]
+  assign _T_519 = 13'h3f << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@69058.4]
+  assign _T_520 = _T_519[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@69059.4]
+  assign _T_521 = ~ _T_520; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@69060.4]
+  assign _T_527 = _T_526 - 6'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@69065.4]
+  assign _T_528 = $unsigned(_T_527); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@69066.4]
+  assign _T_529 = _T_528[5:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@69067.4]
+  assign _T_530 = _T_526 == 6'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@69068.4]
+  assign _T_550 = _T_530 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@69085.4]
+  assign _T_551 = io_in_d_valid & _T_550; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@69086.4]
+  assign _T_560 = io_in_d_bits_size == _T_543; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@69104.6]
+  assign _T_562 = _T_560 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69106.6]
+  assign _T_563 = _T_562 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69107.6]
+  assign _T_564 = io_in_d_bits_source == _T_545; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@69112.6]
+  assign _T_566 = _T_564 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69114.6]
+  assign _T_567 = _T_566 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69115.6]
+  assign _T_577 = _T_517 & _T_530; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@69138.4]
+  assign _T_591 = _T_590 - 6'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@69158.4]
+  assign _T_592 = $unsigned(_T_591); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@69159.4]
+  assign _T_593 = _T_592[5:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@69160.4]
+  assign _T_594 = _T_590 == 6'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@69161.4]
+  assign _T_612 = _T_611 - 6'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@69181.4]
+  assign _T_613 = $unsigned(_T_612); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@69182.4]
+  assign _T_614 = _T_613[5:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@69183.4]
+  assign _T_615 = _T_611 == 6'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@69184.4]
+  assign _T_626 = _T_461 & _T_594; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@69199.4]
+  assign _T_628 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@69202.6]
+  assign _T_629 = _T_579 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@69204.6]
+  assign _T_630 = _T_629[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@69205.6]
+  assign _T_631 = _T_630 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69206.6]
+  assign _T_633 = _T_631 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@69208.6]
+  assign _T_634 = _T_633 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@69209.6]
+  assign _GEN_15 = _T_626 ? _T_628 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@69201.4]
+  assign _T_639 = _T_517 & _T_615; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@69220.4]
+  assign _T_643 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@69225.6]
+  assign _T_644 = _GEN_15 | _T_579; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@69227.6]
+  assign _T_645 = _T_644 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@69228.6]
+  assign _T_646 = _T_645[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@69229.6]
+  assign _T_648 = _T_646 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@69231.6]
+  assign _T_649 = _T_648 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@69232.6]
+  assign _GEN_16 = _T_639 ? _T_643 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@69224.4]
+  assign _T_650 = _GEN_15 != _GEN_16; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@69238.4]
+  assign _T_651 = _GEN_15 != 2'h0; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@69239.4]
+  assign _T_652 = _T_651 == 1'h0; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@69240.4]
+  assign _T_653 = _T_650 | _T_652; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@69241.4]
+  assign _T_655 = _T_653 | reset; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@69243.4]
+  assign _T_656 = _T_655 == 1'h0; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@69244.4]
+  assign _T_657 = _T_579 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@69249.4]
+  assign _T_658 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@69250.4]
+  assign _T_659 = _T_657 & _T_658; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@69251.4]
+  assign _T_662 = _T_579 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@69256.4]
+  assign _T_663 = _T_662 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@69257.4]
+  assign _T_664 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@69258.4]
+  assign _T_665 = _T_663 | _T_664; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@69259.4]
+  assign _T_666 = _T_661 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@69260.4]
+  assign _T_667 = _T_665 | _T_666; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@69261.4]
+  assign _T_669 = _T_667 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@69263.4]
+  assign _T_670 = _T_669 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@69264.4]
+  assign _T_672 = _T_661 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@69270.4]
+  assign _T_675 = _T_461 | _T_517; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@69274.4]
+  assign _GEN_19 = io_in_a_valid & _T_59; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68227.10]
+  assign _GEN_33 = io_in_a_valid & _T_97; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68299.10]
+  assign _GEN_49 = io_in_a_valid & _T_139; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68382.10]
+  assign _GEN_61 = io_in_a_valid & _T_172; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68438.10]
+  assign _GEN_71 = io_in_a_valid & _T_198; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68486.10]
+  assign _GEN_79 = io_in_a_valid & _T_226; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68536.10]
+  assign _GEN_89 = io_in_a_valid & _T_252; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68584.10]
+  assign _GEN_99 = io_in_a_valid & _T_278; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68632.10]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  _T_471 = _RAND_0[5:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  _T_484 = _RAND_1[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  _T_486 = _RAND_2[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  _T_488 = _RAND_3[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  _T_490 = _RAND_4[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  _T_492 = _RAND_5[29:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {1{`RANDOM}};
+  _T_526 = _RAND_6[5:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {1{`RANDOM}};
+  _T_543 = _RAND_7[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_8 = {1{`RANDOM}};
+  _T_545 = _RAND_8[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_9 = {1{`RANDOM}};
+  _T_579 = _RAND_9[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_10 = {1{`RANDOM}};
+  _T_590 = _RAND_10[5:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_11 = {1{`RANDOM}};
+  _T_611 = _RAND_11[5:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_12 = {1{`RANDOM}};
+  _T_661 = _RAND_12[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      _T_471 <= 6'h0;
+    end else begin
+      if (_T_461) begin
+        if (_T_475) begin
+          _T_471 <= 6'h0;
+        end else begin
+          _T_471 <= _T_474;
+        end
+      end
+    end
+    if (_T_516) begin
+      _T_484 <= io_in_a_bits_opcode;
+    end
+    if (_T_516) begin
+      _T_486 <= io_in_a_bits_param;
+    end
+    if (_T_516) begin
+      _T_488 <= io_in_a_bits_size;
+    end
+    if (_T_516) begin
+      _T_490 <= io_in_a_bits_source;
+    end
+    if (_T_516) begin
+      _T_492 <= io_in_a_bits_address;
+    end
+    if (reset) begin
+      _T_526 <= 6'h0;
+    end else begin
+      if (_T_517) begin
+        if (_T_530) begin
+          _T_526 <= _T_521;
+        end else begin
+          _T_526 <= _T_529;
+        end
+      end
+    end
+    if (_T_577) begin
+      _T_543 <= io_in_d_bits_size;
+    end
+    if (_T_577) begin
+      _T_545 <= io_in_d_bits_source;
+    end
+    if (reset) begin
+      _T_579 <= 2'h0;
+    end else begin
+      _T_579 <= _T_659;
+    end
+    if (reset) begin
+      _T_590 <= 6'h0;
+    end else begin
+      if (_T_461) begin
+        if (_T_594) begin
+          _T_590 <= 6'h0;
+        end else begin
+          _T_590 <= _T_593;
+        end
+      end
+    end
+    if (reset) begin
+      _T_611 <= 6'h0;
+    end else begin
+      if (_T_517) begin
+        if (_T_615) begin
+          _T_611 <= _T_521;
+        end else begin
+          _T_611 <= _T_614;
+        end
+      end
+    end
+    if (reset) begin
+      _T_661 <= 32'h0;
+    end else begin
+      if (_T_675) begin
+        _T_661 <= 32'h0;
+      end else begin
+        _T_661 <= _T_672;
+      end
+    end
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at SPI.scala:78:9)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@68171.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@68172.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@68210.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@68211.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_70) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at SPI.scala:78:9)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68227.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_70) begin
+          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68228.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_70) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at SPI.scala:78:9)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68234.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_70) begin
+          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68235.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_76) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at SPI.scala:78:9)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68241.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_76) begin
+          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68242.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at SPI.scala:78:9)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68249.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68250.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_83) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at SPI.scala:78:9)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68256.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_83) begin
+          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68257.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_87) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at SPI.scala:78:9)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68264.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_87) begin
+          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68265.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_92) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at SPI.scala:78:9)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68273.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_92) begin
+          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68274.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_96) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at SPI.scala:78:9)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68281.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_96) begin
+          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68282.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_70) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at SPI.scala:78:9)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68299.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_70) begin
+          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68300.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_70) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at SPI.scala:78:9)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68306.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_70) begin
+          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68307.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_76) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at SPI.scala:78:9)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68313.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_76) begin
+          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68314.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at SPI.scala:78:9)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68321.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68322.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_83) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at SPI.scala:78:9)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68328.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_83) begin
+          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68329.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_87) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at SPI.scala:78:9)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68336.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_87) begin
+          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68337.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_129) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at SPI.scala:78:9)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68344.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_129) begin
+          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68345.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_92) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at SPI.scala:78:9)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68353.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_92) begin
+          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68354.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_96) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at SPI.scala:78:9)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68361.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_96) begin
+          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68362.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_153) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at SPI.scala:78:9)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68382.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_153) begin
+          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68383.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_76) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at SPI.scala:78:9)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68389.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_76) begin
+          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68390.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_83) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at SPI.scala:78:9)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68396.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_83) begin
+          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68397.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_163) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at SPI.scala:78:9)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68404.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_163) begin
+          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68405.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_167) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at SPI.scala:78:9)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68412.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_167) begin
+          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68413.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_96) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at SPI.scala:78:9)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68420.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_96) begin
+          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68421.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_61 & _T_70) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at SPI.scala:78:9)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68438.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_61 & _T_70) begin
+          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68439.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_61 & _T_76) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at SPI.scala:78:9)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68445.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_61 & _T_76) begin
+          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68446.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_61 & _T_83) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at SPI.scala:78:9)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68452.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_61 & _T_83) begin
+          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68453.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_61 & _T_163) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at SPI.scala:78:9)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68460.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_61 & _T_163) begin
+          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68461.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_61 & _T_167) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at SPI.scala:78:9)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68468.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_61 & _T_167) begin
+          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68469.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_71 & _T_70) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at SPI.scala:78:9)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68486.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_71 & _T_70) begin
+          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68487.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_71 & _T_76) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at SPI.scala:78:9)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68493.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_71 & _T_76) begin
+          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68494.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_71 & _T_83) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at SPI.scala:78:9)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68500.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_71 & _T_83) begin
+          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68501.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_71 & _T_163) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at SPI.scala:78:9)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68508.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_71 & _T_163) begin
+          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68509.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at SPI.scala:78:9)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68518.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68519.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_79 & _T_70) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at SPI.scala:78:9)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68536.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_79 & _T_70) begin
+          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68537.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_79 & _T_76) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at SPI.scala:78:9)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68543.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_79 & _T_76) begin
+          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68544.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_79 & _T_83) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at SPI.scala:78:9)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68550.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_79 & _T_83) begin
+          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68551.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_79 & _T_247) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at SPI.scala:78:9)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68558.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_79 & _T_247) begin
+          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68559.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_79 & _T_167) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at SPI.scala:78:9)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68566.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_79 & _T_167) begin
+          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68567.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_89 & _T_70) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at SPI.scala:78:9)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68584.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_89 & _T_70) begin
+          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68585.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_89 & _T_76) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at SPI.scala:78:9)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68591.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_89 & _T_76) begin
+          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68592.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_89 & _T_83) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at SPI.scala:78:9)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68598.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_89 & _T_83) begin
+          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68599.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_89 & _T_273) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at SPI.scala:78:9)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68606.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_89 & _T_273) begin
+          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68607.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_89 & _T_167) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at SPI.scala:78:9)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68614.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_89 & _T_167) begin
+          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68615.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_99 & _T_70) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at SPI.scala:78:9)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68632.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_99 & _T_70) begin
+          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68633.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_99 & _T_76) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at SPI.scala:78:9)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68639.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_99 & _T_76) begin
+          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68640.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_99 & _T_83) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at SPI.scala:78:9)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68646.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_99 & _T_83) begin
+          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68647.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_99 & _T_167) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at SPI.scala:78:9)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68654.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_99 & _T_167) begin
+          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68655.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_99 & _T_96) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at SPI.scala:78:9)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68662.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_99 & _T_96) begin
+          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68663.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at SPI.scala:78:9)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@68673.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@68674.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at SPI.scala:78:9)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68690.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68691.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at SPI.scala:78:9)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68698.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68699.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at SPI.scala:78:9)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68706.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68707.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at SPI.scala:78:9)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68714.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68715.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at SPI.scala:78:9)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68722.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68723.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at SPI.scala:78:9)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68732.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68733.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at SPI.scala:78:9)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68739.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68740.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at SPI.scala:78:9)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68747.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68748.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at SPI.scala:78:9)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68755.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68756.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at SPI.scala:78:9)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68763.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68764.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at SPI.scala:78:9)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68771.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68772.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at SPI.scala:78:9)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68780.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68781.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at SPI.scala:78:9)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68790.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68791.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at SPI.scala:78:9)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68797.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68798.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at SPI.scala:78:9)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68805.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68806.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at SPI.scala:78:9)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68813.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68814.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at SPI.scala:78:9)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68821.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68822.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at SPI.scala:78:9)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68830.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68831.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at SPI.scala:78:9)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68839.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68840.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at SPI.scala:78:9)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68849.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68850.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at SPI.scala:78:9)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68857.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68858.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at SPI.scala:78:9)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68865.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68866.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at SPI.scala:78:9)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68874.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68875.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_323) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at SPI.scala:78:9)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68884.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_323) begin
+          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68885.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at SPI.scala:78:9)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68892.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68893.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at SPI.scala:78:9)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68901.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68902.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at SPI.scala:78:9)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68910.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68911.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at SPI.scala:78:9)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68920.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68921.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at SPI.scala:78:9)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68928.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68929.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at SPI.scala:78:9)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68936.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68937.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at SPI.scala:78:9)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68945.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68946.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at SPI.scala:78:9)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68955.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68956.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at SPI.scala:78:9)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68963.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68964.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at SPI.scala:78:9)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68971.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68972.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_494 & _T_498) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at SPI.scala:78:9)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69011.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_494 & _T_498) begin
+          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69012.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_494 & _T_502) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at SPI.scala:78:9)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69019.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_494 & _T_502) begin
+          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69020.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_494 & _T_506) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at SPI.scala:78:9)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69027.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_494 & _T_506) begin
+          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69028.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_494 & _T_510) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at SPI.scala:78:9)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69035.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_494 & _T_510) begin
+          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69036.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_494 & _T_514) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at SPI.scala:78:9)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69043.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_494 & _T_514) begin
+          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69044.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at SPI.scala:78:9)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69093.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69094.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at SPI.scala:78:9)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69101.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69102.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_551 & _T_563) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at SPI.scala:78:9)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69109.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_551 & _T_563) begin
+          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69110.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_551 & _T_567) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at SPI.scala:78:9)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69117.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_551 & _T_567) begin
+          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69118.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at SPI.scala:78:9)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69125.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69126.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at SPI.scala:78:9)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69133.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69134.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_626 & _T_634) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at SPI.scala:78:9)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@69211.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_626 & _T_634) begin
+          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@69212.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_639 & _T_649) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at SPI.scala:78:9)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@69234.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_639 & _T_649) begin
+          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@69235.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_656) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' and 'D' concurrent, despite minlatency 1 (connected at SPI.scala:78:9)\n    at Monitor.scala:471 assert(a_set =/= d_clr || !a_set.orR, s\"'A' and 'D' concurrent, despite minlatency ${edge.manager.minLatency}\" + extra)\n"); // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@69246.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_656) begin
+          $fatal; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@69247.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_670) begin
+          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at SPI.scala:78:9)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@69266.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_670) begin
+          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@69267.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+endmodule
+module Queue_7( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69279.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69280.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69281.4]
+  output        io_enq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69282.4]
+  input         io_enq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69282.4]
+  input  [2:0]  io_enq_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69282.4]
+  input  [2:0]  io_enq_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69282.4]
+  input  [2:0]  io_enq_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69282.4]
+  input         io_enq_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69282.4]
+  input  [29:0] io_enq_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69282.4]
+  input         io_enq_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69282.4]
+  input         io_enq_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69282.4]
+  input         io_deq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69282.4]
+  output        io_deq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69282.4]
+  output [2:0]  io_deq_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69282.4]
+  output [2:0]  io_deq_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69282.4]
+  output [2:0]  io_deq_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69282.4]
+  output        io_deq_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69282.4]
+  output [29:0] io_deq_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69282.4]
+  output        io_deq_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69282.4]
+  output        io_deq_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69282.4]
+);
+  reg [2:0] _T_35_opcode [0:7]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69284.4]
+  reg [31:0] _RAND_0;
+  wire [2:0] _T_35_opcode__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69284.4]
+  wire [2:0] _T_35_opcode__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69284.4]
+  wire [2:0] _T_35_opcode__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69284.4]
+  wire [2:0] _T_35_opcode__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69284.4]
+  wire  _T_35_opcode__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69284.4]
+  wire  _T_35_opcode__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69284.4]
+  reg [2:0] _T_35_param [0:7]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69284.4]
+  reg [31:0] _RAND_1;
+  wire [2:0] _T_35_param__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69284.4]
+  wire [2:0] _T_35_param__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69284.4]
+  wire [2:0] _T_35_param__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69284.4]
+  wire [2:0] _T_35_param__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69284.4]
+  wire  _T_35_param__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69284.4]
+  wire  _T_35_param__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69284.4]
+  reg [2:0] _T_35_size [0:7]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69284.4]
+  reg [31:0] _RAND_2;
+  wire [2:0] _T_35_size__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69284.4]
+  wire [2:0] _T_35_size__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69284.4]
+  wire [2:0] _T_35_size__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69284.4]
+  wire [2:0] _T_35_size__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69284.4]
+  wire  _T_35_size__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69284.4]
+  wire  _T_35_size__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69284.4]
+  reg  _T_35_source [0:7]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69284.4]
+  reg [31:0] _RAND_3;
+  wire  _T_35_source__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69284.4]
+  wire [2:0] _T_35_source__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69284.4]
+  wire  _T_35_source__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69284.4]
+  wire [2:0] _T_35_source__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69284.4]
+  wire  _T_35_source__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69284.4]
+  wire  _T_35_source__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69284.4]
+  reg [29:0] _T_35_address [0:7]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69284.4]
+  reg [31:0] _RAND_4;
+  wire [29:0] _T_35_address__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69284.4]
+  wire [2:0] _T_35_address__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69284.4]
+  wire [29:0] _T_35_address__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69284.4]
+  wire [2:0] _T_35_address__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69284.4]
+  wire  _T_35_address__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69284.4]
+  wire  _T_35_address__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69284.4]
+  reg  _T_35_mask [0:7]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69284.4]
+  reg [31:0] _RAND_5;
+  wire  _T_35_mask__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69284.4]
+  wire [2:0] _T_35_mask__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69284.4]
+  wire  _T_35_mask__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69284.4]
+  wire [2:0] _T_35_mask__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69284.4]
+  wire  _T_35_mask__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69284.4]
+  wire  _T_35_mask__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69284.4]
+  reg  _T_35_corrupt [0:7]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69284.4]
+  reg [31:0] _RAND_6;
+  wire  _T_35_corrupt__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69284.4]
+  wire [2:0] _T_35_corrupt__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69284.4]
+  wire  _T_35_corrupt__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69284.4]
+  wire [2:0] _T_35_corrupt__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69284.4]
+  wire  _T_35_corrupt__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69284.4]
+  wire  _T_35_corrupt__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69284.4]
+  reg [2:0] value; // @[Counter.scala 26:33:shc.marmotcaravel.MarmotCaravelConfig.fir@69285.4]
+  reg [31:0] _RAND_7;
+  reg [2:0] value_1; // @[Counter.scala 26:33:shc.marmotcaravel.MarmotCaravelConfig.fir@69286.4]
+  reg [31:0] _RAND_8;
+  reg  _T_39; // @[Decoupled.scala 217:35:shc.marmotcaravel.MarmotCaravelConfig.fir@69287.4]
+  reg [31:0] _RAND_9;
+  wire  _T_40; // @[Decoupled.scala 219:41:shc.marmotcaravel.MarmotCaravelConfig.fir@69288.4]
+  wire  _T_41; // @[Decoupled.scala 220:36:shc.marmotcaravel.MarmotCaravelConfig.fir@69289.4]
+  wire  _T_42; // @[Decoupled.scala 220:33:shc.marmotcaravel.MarmotCaravelConfig.fir@69290.4]
+  wire  _T_43; // @[Decoupled.scala 221:32:shc.marmotcaravel.MarmotCaravelConfig.fir@69291.4]
+  wire  _T_44; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@69292.4]
+  wire  _T_47; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@69295.4]
+  wire [2:0] _T_52; // @[Counter.scala 35:22:shc.marmotcaravel.MarmotCaravelConfig.fir@69310.6]
+  wire [2:0] _T_54; // @[Counter.scala 35:22:shc.marmotcaravel.MarmotCaravelConfig.fir@69316.6]
+  wire  _T_55; // @[Decoupled.scala 232:16:shc.marmotcaravel.MarmotCaravelConfig.fir@69319.4]
+  assign _T_35_opcode__T_58_addr = value_1;
+  assign _T_35_opcode__T_58_data = _T_35_opcode[_T_35_opcode__T_58_addr]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69284.4]
+  assign _T_35_opcode__T_50_data = io_enq_bits_opcode;
+  assign _T_35_opcode__T_50_addr = value;
+  assign _T_35_opcode__T_50_mask = 1'h1;
+  assign _T_35_opcode__T_50_en = io_enq_ready & io_enq_valid;
+  assign _T_35_param__T_58_addr = value_1;
+  assign _T_35_param__T_58_data = _T_35_param[_T_35_param__T_58_addr]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69284.4]
+  assign _T_35_param__T_50_data = io_enq_bits_param;
+  assign _T_35_param__T_50_addr = value;
+  assign _T_35_param__T_50_mask = 1'h1;
+  assign _T_35_param__T_50_en = io_enq_ready & io_enq_valid;
+  assign _T_35_size__T_58_addr = value_1;
+  assign _T_35_size__T_58_data = _T_35_size[_T_35_size__T_58_addr]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69284.4]
+  assign _T_35_size__T_50_data = io_enq_bits_size;
+  assign _T_35_size__T_50_addr = value;
+  assign _T_35_size__T_50_mask = 1'h1;
+  assign _T_35_size__T_50_en = io_enq_ready & io_enq_valid;
+  assign _T_35_source__T_58_addr = value_1;
+  assign _T_35_source__T_58_data = _T_35_source[_T_35_source__T_58_addr]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69284.4]
+  assign _T_35_source__T_50_data = io_enq_bits_source;
+  assign _T_35_source__T_50_addr = value;
+  assign _T_35_source__T_50_mask = 1'h1;
+  assign _T_35_source__T_50_en = io_enq_ready & io_enq_valid;
+  assign _T_35_address__T_58_addr = value_1;
+  assign _T_35_address__T_58_data = _T_35_address[_T_35_address__T_58_addr]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69284.4]
+  assign _T_35_address__T_50_data = io_enq_bits_address;
+  assign _T_35_address__T_50_addr = value;
+  assign _T_35_address__T_50_mask = 1'h1;
+  assign _T_35_address__T_50_en = io_enq_ready & io_enq_valid;
+  assign _T_35_mask__T_58_addr = value_1;
+  assign _T_35_mask__T_58_data = _T_35_mask[_T_35_mask__T_58_addr]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69284.4]
+  assign _T_35_mask__T_50_data = io_enq_bits_mask;
+  assign _T_35_mask__T_50_addr = value;
+  assign _T_35_mask__T_50_mask = 1'h1;
+  assign _T_35_mask__T_50_en = io_enq_ready & io_enq_valid;
+  assign _T_35_corrupt__T_58_addr = value_1;
+  assign _T_35_corrupt__T_58_data = _T_35_corrupt[_T_35_corrupt__T_58_addr]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69284.4]
+  assign _T_35_corrupt__T_50_data = io_enq_bits_corrupt;
+  assign _T_35_corrupt__T_50_addr = value;
+  assign _T_35_corrupt__T_50_mask = 1'h1;
+  assign _T_35_corrupt__T_50_en = io_enq_ready & io_enq_valid;
+  assign _T_40 = value == value_1; // @[Decoupled.scala 219:41:shc.marmotcaravel.MarmotCaravelConfig.fir@69288.4]
+  assign _T_41 = _T_39 == 1'h0; // @[Decoupled.scala 220:36:shc.marmotcaravel.MarmotCaravelConfig.fir@69289.4]
+  assign _T_42 = _T_40 & _T_41; // @[Decoupled.scala 220:33:shc.marmotcaravel.MarmotCaravelConfig.fir@69290.4]
+  assign _T_43 = _T_40 & _T_39; // @[Decoupled.scala 221:32:shc.marmotcaravel.MarmotCaravelConfig.fir@69291.4]
+  assign _T_44 = io_enq_ready & io_enq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@69292.4]
+  assign _T_47 = io_deq_ready & io_deq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@69295.4]
+  assign _T_52 = value + 3'h1; // @[Counter.scala 35:22:shc.marmotcaravel.MarmotCaravelConfig.fir@69310.6]
+  assign _T_54 = value_1 + 3'h1; // @[Counter.scala 35:22:shc.marmotcaravel.MarmotCaravelConfig.fir@69316.6]
+  assign _T_55 = _T_44 != _T_47; // @[Decoupled.scala 232:16:shc.marmotcaravel.MarmotCaravelConfig.fir@69319.4]
+  assign io_enq_ready = _T_43 == 1'h0; // @[Decoupled.scala 237:16:shc.marmotcaravel.MarmotCaravelConfig.fir@69326.4]
+  assign io_deq_valid = _T_42 == 1'h0; // @[Decoupled.scala 236:16:shc.marmotcaravel.MarmotCaravelConfig.fir@69324.4]
+  assign io_deq_bits_opcode = _T_35_opcode__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@69335.4]
+  assign io_deq_bits_param = _T_35_param__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@69334.4]
+  assign io_deq_bits_size = _T_35_size__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@69333.4]
+  assign io_deq_bits_source = _T_35_source__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@69332.4]
+  assign io_deq_bits_address = _T_35_address__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@69331.4]
+  assign io_deq_bits_mask = _T_35_mask__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@69330.4]
+  assign io_deq_bits_corrupt = _T_35_corrupt__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@69328.4]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  _RAND_0 = {1{`RANDOM}};
+  `ifdef RANDOMIZE_MEM_INIT
+  for (initvar = 0; initvar < 8; initvar = initvar+1)
+    _T_35_opcode[initvar] = _RAND_0[2:0];
+  `endif // RANDOMIZE_MEM_INIT
+  _RAND_1 = {1{`RANDOM}};
+  `ifdef RANDOMIZE_MEM_INIT
+  for (initvar = 0; initvar < 8; initvar = initvar+1)
+    _T_35_param[initvar] = _RAND_1[2:0];
+  `endif // RANDOMIZE_MEM_INIT
+  _RAND_2 = {1{`RANDOM}};
+  `ifdef RANDOMIZE_MEM_INIT
+  for (initvar = 0; initvar < 8; initvar = initvar+1)
+    _T_35_size[initvar] = _RAND_2[2:0];
+  `endif // RANDOMIZE_MEM_INIT
+  _RAND_3 = {1{`RANDOM}};
+  `ifdef RANDOMIZE_MEM_INIT
+  for (initvar = 0; initvar < 8; initvar = initvar+1)
+    _T_35_source[initvar] = _RAND_3[0:0];
+  `endif // RANDOMIZE_MEM_INIT
+  _RAND_4 = {1{`RANDOM}};
+  `ifdef RANDOMIZE_MEM_INIT
+  for (initvar = 0; initvar < 8; initvar = initvar+1)
+    _T_35_address[initvar] = _RAND_4[29:0];
+  `endif // RANDOMIZE_MEM_INIT
+  _RAND_5 = {1{`RANDOM}};
+  `ifdef RANDOMIZE_MEM_INIT
+  for (initvar = 0; initvar < 8; initvar = initvar+1)
+    _T_35_mask[initvar] = _RAND_5[0:0];
+  `endif // RANDOMIZE_MEM_INIT
+  _RAND_6 = {1{`RANDOM}};
+  `ifdef RANDOMIZE_MEM_INIT
+  for (initvar = 0; initvar < 8; initvar = initvar+1)
+    _T_35_corrupt[initvar] = _RAND_6[0:0];
+  `endif // RANDOMIZE_MEM_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {1{`RANDOM}};
+  value = _RAND_7[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_8 = {1{`RANDOM}};
+  value_1 = _RAND_8[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_9 = {1{`RANDOM}};
+  _T_39 = _RAND_9[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if(_T_35_opcode__T_50_en & _T_35_opcode__T_50_mask) begin
+      _T_35_opcode[_T_35_opcode__T_50_addr] <= _T_35_opcode__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69284.4]
+    end
+    if(_T_35_param__T_50_en & _T_35_param__T_50_mask) begin
+      _T_35_param[_T_35_param__T_50_addr] <= _T_35_param__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69284.4]
+    end
+    if(_T_35_size__T_50_en & _T_35_size__T_50_mask) begin
+      _T_35_size[_T_35_size__T_50_addr] <= _T_35_size__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69284.4]
+    end
+    if(_T_35_source__T_50_en & _T_35_source__T_50_mask) begin
+      _T_35_source[_T_35_source__T_50_addr] <= _T_35_source__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69284.4]
+    end
+    if(_T_35_address__T_50_en & _T_35_address__T_50_mask) begin
+      _T_35_address[_T_35_address__T_50_addr] <= _T_35_address__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69284.4]
+    end
+    if(_T_35_mask__T_50_en & _T_35_mask__T_50_mask) begin
+      _T_35_mask[_T_35_mask__T_50_addr] <= _T_35_mask__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69284.4]
+    end
+    if(_T_35_corrupt__T_50_en & _T_35_corrupt__T_50_mask) begin
+      _T_35_corrupt[_T_35_corrupt__T_50_addr] <= _T_35_corrupt__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69284.4]
+    end
+    if (reset) begin
+      value <= 3'h0;
+    end else begin
+      if (_T_44) begin
+        value <= _T_52;
+      end
+    end
+    if (reset) begin
+      value_1 <= 3'h0;
+    end else begin
+      if (_T_47) begin
+        value_1 <= _T_54;
+      end
+    end
+    if (reset) begin
+      _T_39 <= 1'h0;
+    end else begin
+      if (_T_55) begin
+        _T_39 <= _T_44;
+      end
+    end
+  end
+endmodule
+module TLBuffer_12( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69343.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69344.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69345.4]
+  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69346.4]
+  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69346.4]
+  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69346.4]
+  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69346.4]
+  input  [2:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69346.4]
+  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69346.4]
+  input  [29:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69346.4]
+  input         auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69346.4]
+  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69346.4]
+  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69346.4]
+  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69346.4]
+  output [2:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69346.4]
+  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69346.4]
+  output [7:0]  auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69346.4]
+  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69346.4]
+  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69346.4]
+  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69346.4]
+  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69346.4]
+  output [2:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69346.4]
+  output        auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69346.4]
+  output [29:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69346.4]
+  output        auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69346.4]
+  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69346.4]
+  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69346.4]
+  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69346.4]
+  input  [2:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69346.4]
+  input         auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69346.4]
+  input  [7:0]  auto_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69346.4]
+);
+  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@69353.4]
+  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@69353.4]
+  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@69353.4]
+  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@69353.4]
+  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@69353.4]
+  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@69353.4]
+  wire [2:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@69353.4]
+  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@69353.4]
+  wire [29:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@69353.4]
+  wire  TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@69353.4]
+  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@69353.4]
+  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@69353.4]
+  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@69353.4]
+  wire [2:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@69353.4]
+  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@69353.4]
+  wire  Queue_clock; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@69394.4]
+  wire  Queue_reset; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@69394.4]
+  wire  Queue_io_enq_ready; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@69394.4]
+  wire  Queue_io_enq_valid; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@69394.4]
+  wire [2:0] Queue_io_enq_bits_opcode; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@69394.4]
+  wire [2:0] Queue_io_enq_bits_param; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@69394.4]
+  wire [2:0] Queue_io_enq_bits_size; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@69394.4]
+  wire  Queue_io_enq_bits_source; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@69394.4]
+  wire [29:0] Queue_io_enq_bits_address; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@69394.4]
+  wire  Queue_io_enq_bits_mask; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@69394.4]
+  wire  Queue_io_enq_bits_corrupt; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@69394.4]
+  wire  Queue_io_deq_ready; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@69394.4]
+  wire  Queue_io_deq_valid; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@69394.4]
+  wire [2:0] Queue_io_deq_bits_opcode; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@69394.4]
+  wire [2:0] Queue_io_deq_bits_param; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@69394.4]
+  wire [2:0] Queue_io_deq_bits_size; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@69394.4]
+  wire  Queue_io_deq_bits_source; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@69394.4]
+  wire [29:0] Queue_io_deq_bits_address; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@69394.4]
+  wire  Queue_io_deq_bits_mask; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@69394.4]
+  wire  Queue_io_deq_bits_corrupt; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@69394.4]
+  TLMonitor_39 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@69353.4]
+    .clock(TLMonitor_clock),
+    .reset(TLMonitor_reset),
+    .io_in_a_ready(TLMonitor_io_in_a_ready),
+    .io_in_a_valid(TLMonitor_io_in_a_valid),
+    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
+    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
+    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
+    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
+    .io_in_d_ready(TLMonitor_io_in_d_ready),
+    .io_in_d_valid(TLMonitor_io_in_d_valid),
+    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
+    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source)
+  );
+  Queue_7 Queue ( // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@69394.4]
+    .clock(Queue_clock),
+    .reset(Queue_reset),
+    .io_enq_ready(Queue_io_enq_ready),
+    .io_enq_valid(Queue_io_enq_valid),
+    .io_enq_bits_opcode(Queue_io_enq_bits_opcode),
+    .io_enq_bits_param(Queue_io_enq_bits_param),
+    .io_enq_bits_size(Queue_io_enq_bits_size),
+    .io_enq_bits_source(Queue_io_enq_bits_source),
+    .io_enq_bits_address(Queue_io_enq_bits_address),
+    .io_enq_bits_mask(Queue_io_enq_bits_mask),
+    .io_enq_bits_corrupt(Queue_io_enq_bits_corrupt),
+    .io_deq_ready(Queue_io_deq_ready),
+    .io_deq_valid(Queue_io_deq_valid),
+    .io_deq_bits_opcode(Queue_io_deq_bits_opcode),
+    .io_deq_bits_param(Queue_io_deq_bits_param),
+    .io_deq_bits_size(Queue_io_deq_bits_size),
+    .io_deq_bits_source(Queue_io_deq_bits_source),
+    .io_deq_bits_address(Queue_io_deq_bits_address),
+    .io_deq_bits_mask(Queue_io_deq_bits_mask),
+    .io_deq_bits_corrupt(Queue_io_deq_bits_corrupt)
+  );
+  assign auto_in_a_ready = Queue_io_enq_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@69393.4]
+  assign auto_in_d_valid = auto_out_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@69393.4]
+  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@69393.4]
+  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@69393.4]
+  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@69393.4]
+  assign auto_out_a_valid = Queue_io_deq_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@69392.4]
+  assign auto_out_a_bits_opcode = Queue_io_deq_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@69392.4]
+  assign auto_out_a_bits_param = Queue_io_deq_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@69392.4]
+  assign auto_out_a_bits_size = Queue_io_deq_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@69392.4]
+  assign auto_out_a_bits_source = Queue_io_deq_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@69392.4]
+  assign auto_out_a_bits_address = Queue_io_deq_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@69392.4]
+  assign auto_out_a_bits_mask = Queue_io_deq_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@69392.4]
+  assign auto_out_a_bits_corrupt = Queue_io_deq_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@69392.4]
+  assign auto_out_d_ready = auto_in_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@69392.4]
+  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69355.4]
+  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69356.4]
+  assign TLMonitor_io_in_a_ready = Queue_io_enq_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@69389.4]
+  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@69389.4]
+  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@69389.4]
+  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@69389.4]
+  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@69389.4]
+  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@69389.4]
+  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@69389.4]
+  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@69389.4]
+  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@69389.4]
+  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@69389.4]
+  assign TLMonitor_io_in_d_valid = auto_out_d_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@69389.4]
+  assign TLMonitor_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@69389.4]
+  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@69389.4]
+  assign Queue_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69395.4]
+  assign Queue_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69396.4]
+  assign Queue_io_enq_valid = auto_in_a_valid; // @[Decoupled.scala 294:22:shc.marmotcaravel.MarmotCaravelConfig.fir@69397.4]
+  assign Queue_io_enq_bits_opcode = auto_in_a_bits_opcode; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@69405.4]
+  assign Queue_io_enq_bits_param = auto_in_a_bits_param; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@69404.4]
+  assign Queue_io_enq_bits_size = auto_in_a_bits_size; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@69403.4]
+  assign Queue_io_enq_bits_source = auto_in_a_bits_source; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@69402.4]
+  assign Queue_io_enq_bits_address = auto_in_a_bits_address; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@69401.4]
+  assign Queue_io_enq_bits_mask = auto_in_a_bits_mask; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@69400.4]
+  assign Queue_io_enq_bits_corrupt = auto_in_a_bits_corrupt; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@69398.4]
+  assign Queue_io_deq_ready = auto_out_a_ready; // @[Buffer.scala 38:13:shc.marmotcaravel.MarmotCaravelConfig.fir@69407.4]
+endmodule
+module TLMonitor_40( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69423.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69424.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69425.4]
+  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69426.4]
+  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69426.4]
+  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69426.4]
+  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69426.4]
+  input  [2:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69426.4]
+  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69426.4]
+  input  [29:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69426.4]
+  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69426.4]
+  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69426.4]
+  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69426.4]
+  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69426.4]
+  input  [2:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69426.4]
+  input         io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69426.4]
+);
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@70552.4]
+  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@69442.6]
+  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@69447.6]
+  wire [12:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@69449.6]
+  wire [5:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@69450.6]
+  wire [5:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@69451.6]
+  wire [29:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@69452.6]
+  wire [29:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@69452.6]
+  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69453.6]
+  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@69455.6]
+  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@69456.6]
+  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@69458.6]
+  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@69459.6]
+  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@69460.6]
+  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@69461.6]
+  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@69462.6]
+  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@69464.6]
+  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@69465.6]
+  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@69467.6]
+  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@69468.6]
+  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@69469.6]
+  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@69470.6]
+  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@69471.6]
+  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@69472.6]
+  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@69473.6]
+  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@69474.6]
+  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@69475.6]
+  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@69476.6]
+  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@69477.6]
+  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@69478.6]
+  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@69479.6]
+  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@69480.6]
+  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@69481.6]
+  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@69482.6]
+  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@69483.6]
+  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@69484.6]
+  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@69485.6]
+  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@69486.6]
+  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@69511.6]
+  wire [29:0] _T_92; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@69514.8]
+  wire [30:0] _T_93; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@69515.8]
+  wire [30:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@69516.8]
+  wire [30:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@69517.8]
+  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@69518.8]
+  wire  _T_101; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69523.8]
+  wire  _T_106; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69536.8]
+  wire  _T_107; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69537.8]
+  wire  _T_110; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69544.8]
+  wire  _T_111; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69545.8]
+  wire  _T_113; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69551.8]
+  wire  _T_114; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69552.8]
+  wire  _T_115; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@69557.8]
+  wire  _T_117; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69559.8]
+  wire  _T_118; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69560.8]
+  wire [3:0] _T_119; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@69565.8]
+  wire  _T_120; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@69566.8]
+  wire  _T_122; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69568.8]
+  wire  _T_123; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69569.8]
+  wire  _T_124; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@69574.8]
+  wire  _T_126; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69576.8]
+  wire  _T_127; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69577.8]
+  wire  _T_128; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@69583.6]
+  wire  _T_157; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@69637.8]
+  wire  _T_159; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69639.8]
+  wire  _T_160; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69640.8]
+  wire  _T_170; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@69663.6]
+  wire  _T_172; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@69666.8]
+  wire  _T_180; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@69674.8]
+  wire  _T_183; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69677.8]
+  wire  _T_184; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69678.8]
+  wire  _T_191; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@69697.8]
+  wire  _T_193; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69699.8]
+  wire  _T_194; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69700.8]
+  wire  _T_195; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@69705.8]
+  wire  _T_197; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69707.8]
+  wire  _T_198; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69708.8]
+  wire  _T_203; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@69722.6]
+  wire  _T_229; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@69770.6]
+  wire [3:0] _T_251; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@69809.8]
+  wire [3:0] _T_252; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@69810.8]
+  wire  _T_253; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@69811.8]
+  wire  _T_255; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69813.8]
+  wire  _T_256; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69814.8]
+  wire  _T_257; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@69820.6]
+  wire  _T_275; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@69851.8]
+  wire  _T_277; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69853.8]
+  wire  _T_278; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69854.8]
+  wire  _T_283; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@69868.6]
+  wire  _T_301; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@69899.8]
+  wire  _T_303; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69901.8]
+  wire  _T_304; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69902.8]
+  wire  _T_309; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@69916.6]
+  wire  _T_340; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@69975.6]
+  wire  _T_349; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@69980.6]
+  wire  _T_353; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69985.8]
+  wire  _T_354; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69986.8]
+  wire  _T_492; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@70272.4]
+  reg [3:0] _T_502; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@70281.4]
+  reg [31:0] _RAND_0;
+  wire [4:0] _T_503; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70282.4]
+  wire [4:0] _T_504; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70283.4]
+  wire [3:0] _T_505; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70284.4]
+  wire  _T_506; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@70285.4]
+  reg [2:0] _T_515; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@70296.4]
+  reg [31:0] _RAND_1;
+  reg [2:0] _T_517; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@70297.4]
+  reg [31:0] _RAND_2;
+  reg [2:0] _T_519; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@70298.4]
+  reg [31:0] _RAND_3;
+  reg  _T_521; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@70299.4]
+  reg [31:0] _RAND_4;
+  reg [29:0] _T_523; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@70300.4]
+  reg [31:0] _RAND_5;
+  wire  _T_524; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@70301.4]
+  wire  _T_525; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@70302.4]
+  wire  _T_526; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@70304.6]
+  wire  _T_528; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70306.6]
+  wire  _T_529; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70307.6]
+  wire  _T_530; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@70312.6]
+  wire  _T_532; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70314.6]
+  wire  _T_533; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70315.6]
+  wire  _T_534; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@70320.6]
+  wire  _T_536; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70322.6]
+  wire  _T_537; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70323.6]
+  wire  _T_538; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@70328.6]
+  wire  _T_540; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70330.6]
+  wire  _T_541; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70331.6]
+  wire  _T_542; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@70336.6]
+  wire  _T_544; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70338.6]
+  wire  _T_545; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70339.6]
+  wire  _T_547; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@70346.4]
+  wire  _T_548; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@70354.4]
+  wire [12:0] _T_550; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@70356.4]
+  wire [5:0] _T_551; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@70357.4]
+  wire [5:0] _T_552; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@70358.4]
+  wire [3:0] _T_553; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@70359.4]
+  reg [3:0] _T_557; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@70362.4]
+  reg [31:0] _RAND_6;
+  wire [4:0] _T_558; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70363.4]
+  wire [4:0] _T_559; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70364.4]
+  wire [3:0] _T_560; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70365.4]
+  wire  _T_561; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@70366.4]
+  reg [2:0] _T_574; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@70379.4]
+  reg [31:0] _RAND_7;
+  reg  _T_576; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@70380.4]
+  reg [31:0] _RAND_8;
+  wire  _T_581; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@70383.4]
+  wire  _T_582; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@70384.4]
+  wire  _T_591; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@70402.6]
+  wire  _T_593; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70404.6]
+  wire  _T_594; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70405.6]
+  wire  _T_595; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@70410.6]
+  wire  _T_597; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70412.6]
+  wire  _T_598; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70413.6]
+  wire  _T_608; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@70436.4]
+  reg [1:0] _T_610; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@70445.4]
+  reg [31:0] _RAND_9;
+  reg [3:0] _T_621; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@70455.4]
+  reg [31:0] _RAND_10;
+  wire [4:0] _T_622; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70456.4]
+  wire [4:0] _T_623; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70457.4]
+  wire [3:0] _T_624; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70458.4]
+  wire  _T_625; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@70459.4]
+  reg [3:0] _T_642; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@70478.4]
+  reg [31:0] _RAND_11;
+  wire [4:0] _T_643; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70479.4]
+  wire [4:0] _T_644; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70480.4]
+  wire [3:0] _T_645; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70481.4]
+  wire  _T_646; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@70482.4]
+  wire  _T_657; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@70497.4]
+  wire [1:0] _T_659; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@70500.6]
+  wire [1:0] _T_660; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@70502.6]
+  wire  _T_661; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@70503.6]
+  wire  _T_662; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70504.6]
+  wire  _T_664; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@70506.6]
+  wire  _T_665; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@70507.6]
+  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@70499.4]
+  wire  _T_670; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@70518.4]
+  wire [1:0] _T_674; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@70523.6]
+  wire [1:0] _T_675; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@70525.6]
+  wire [1:0] _T_676; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@70526.6]
+  wire  _T_677; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@70527.6]
+  wire  _T_679; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@70529.6]
+  wire  _T_680; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@70530.6]
+  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@70522.4]
+  wire  _T_681; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@70536.4]
+  wire  _T_682; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@70537.4]
+  wire  _T_683; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@70538.4]
+  wire  _T_684; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@70539.4]
+  wire  _T_686; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@70541.4]
+  wire  _T_687; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@70542.4]
+  wire [1:0] _T_688; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@70547.4]
+  wire [1:0] _T_689; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@70548.4]
+  wire [1:0] _T_690; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@70549.4]
+  reg [31:0] _T_692; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@70551.4]
+  reg [31:0] _RAND_12;
+  wire  _T_693; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@70554.4]
+  wire  _T_694; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@70555.4]
+  wire  _T_695; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@70556.4]
+  wire  _T_696; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@70557.4]
+  wire  _T_697; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@70558.4]
+  wire  _T_698; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@70559.4]
+  wire  _T_700; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@70561.4]
+  wire  _T_701; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@70562.4]
+  wire [31:0] _T_703; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@70568.4]
+  wire  _T_706; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@70572.4]
+  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69525.10]
+  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69597.10]
+  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69680.10]
+  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69736.10]
+  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69784.10]
+  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69834.10]
+  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69882.10]
+  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69930.10]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@70552.4]
+    .out(plusarg_reader_out)
+  );
+  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@69442.6]
+  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@69447.6]
+  assign _T_32 = 13'h3f << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@69449.6]
+  assign _T_33 = _T_32[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@69450.6]
+  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@69451.6]
+  assign _GEN_18 = {{24'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@69452.6]
+  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@69452.6]
+  assign _T_36 = _T_35 == 30'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69453.6]
+  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@69455.6]
+  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@69456.6]
+  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@69458.6]
+  assign _T_42 = io_in_a_bits_size >= 3'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@69459.6]
+  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@69460.6]
+  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@69461.6]
+  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@69462.6]
+  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@69464.6]
+  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@69465.6]
+  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@69467.6]
+  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@69468.6]
+  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@69469.6]
+  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@69470.6]
+  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@69471.6]
+  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@69472.6]
+  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@69473.6]
+  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@69474.6]
+  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@69475.6]
+  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@69476.6]
+  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@69477.6]
+  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@69478.6]
+  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@69479.6]
+  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@69480.6]
+  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@69481.6]
+  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@69482.6]
+  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@69483.6]
+  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@69484.6]
+  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@69485.6]
+  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@69486.6]
+  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@69511.6]
+  assign _T_92 = io_in_a_bits_address ^ 30'h20000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@69514.8]
+  assign _T_93 = {1'b0,$signed(_T_92)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@69515.8]
+  assign _T_94 = $signed(_T_93) & $signed(-31'sh20000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@69516.8]
+  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@69517.8]
+  assign _T_96 = $signed(_T_95) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@69518.8]
+  assign _T_101 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69523.8]
+  assign _T_106 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69536.8]
+  assign _T_107 = _T_106 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69537.8]
+  assign _T_110 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69544.8]
+  assign _T_111 = _T_110 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69545.8]
+  assign _T_113 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69551.8]
+  assign _T_114 = _T_113 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69552.8]
+  assign _T_115 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@69557.8]
+  assign _T_117 = _T_115 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69559.8]
+  assign _T_118 = _T_117 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69560.8]
+  assign _T_119 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@69565.8]
+  assign _T_120 = _T_119 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@69566.8]
+  assign _T_122 = _T_120 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69568.8]
+  assign _T_123 = _T_122 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69569.8]
+  assign _T_124 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@69574.8]
+  assign _T_126 = _T_124 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69576.8]
+  assign _T_127 = _T_126 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69577.8]
+  assign _T_128 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@69583.6]
+  assign _T_157 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@69637.8]
+  assign _T_159 = _T_157 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69639.8]
+  assign _T_160 = _T_159 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69640.8]
+  assign _T_170 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@69663.6]
+  assign _T_172 = io_in_a_bits_size <= 3'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@69666.8]
+  assign _T_180 = _T_172 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@69674.8]
+  assign _T_183 = _T_180 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69677.8]
+  assign _T_184 = _T_183 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69678.8]
+  assign _T_191 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@69697.8]
+  assign _T_193 = _T_191 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69699.8]
+  assign _T_194 = _T_193 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69700.8]
+  assign _T_195 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@69705.8]
+  assign _T_197 = _T_195 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69707.8]
+  assign _T_198 = _T_197 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69708.8]
+  assign _T_203 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@69722.6]
+  assign _T_229 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@69770.6]
+  assign _T_251 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@69809.8]
+  assign _T_252 = io_in_a_bits_mask & _T_251; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@69810.8]
+  assign _T_253 = _T_252 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@69811.8]
+  assign _T_255 = _T_253 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69813.8]
+  assign _T_256 = _T_255 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69814.8]
+  assign _T_257 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@69820.6]
+  assign _T_275 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@69851.8]
+  assign _T_277 = _T_275 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69853.8]
+  assign _T_278 = _T_277 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69854.8]
+  assign _T_283 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@69868.6]
+  assign _T_301 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@69899.8]
+  assign _T_303 = _T_301 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69901.8]
+  assign _T_304 = _T_303 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69902.8]
+  assign _T_309 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@69916.6]
+  assign _T_340 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@69975.6]
+  assign _T_349 = io_in_d_bits_source | _T_340; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@69980.6]
+  assign _T_353 = _T_349 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69985.8]
+  assign _T_354 = _T_353 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69986.8]
+  assign _T_492 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@70272.4]
+  assign _T_503 = _T_502 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70282.4]
+  assign _T_504 = $unsigned(_T_503); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70283.4]
+  assign _T_505 = _T_504[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70284.4]
+  assign _T_506 = _T_502 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@70285.4]
+  assign _T_524 = _T_506 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@70301.4]
+  assign _T_525 = io_in_a_valid & _T_524; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@70302.4]
+  assign _T_526 = io_in_a_bits_opcode == _T_515; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@70304.6]
+  assign _T_528 = _T_526 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70306.6]
+  assign _T_529 = _T_528 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70307.6]
+  assign _T_530 = io_in_a_bits_param == _T_517; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@70312.6]
+  assign _T_532 = _T_530 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70314.6]
+  assign _T_533 = _T_532 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70315.6]
+  assign _T_534 = io_in_a_bits_size == _T_519; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@70320.6]
+  assign _T_536 = _T_534 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70322.6]
+  assign _T_537 = _T_536 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70323.6]
+  assign _T_538 = io_in_a_bits_source == _T_521; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@70328.6]
+  assign _T_540 = _T_538 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70330.6]
+  assign _T_541 = _T_540 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70331.6]
+  assign _T_542 = io_in_a_bits_address == _T_523; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@70336.6]
+  assign _T_544 = _T_542 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70338.6]
+  assign _T_545 = _T_544 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70339.6]
+  assign _T_547 = _T_492 & _T_506; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@70346.4]
+  assign _T_548 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@70354.4]
+  assign _T_550 = 13'h3f << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@70356.4]
+  assign _T_551 = _T_550[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@70357.4]
+  assign _T_552 = ~ _T_551; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@70358.4]
+  assign _T_553 = _T_552[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@70359.4]
+  assign _T_558 = _T_557 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70363.4]
+  assign _T_559 = $unsigned(_T_558); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70364.4]
+  assign _T_560 = _T_559[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70365.4]
+  assign _T_561 = _T_557 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@70366.4]
+  assign _T_581 = _T_561 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@70383.4]
+  assign _T_582 = io_in_d_valid & _T_581; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@70384.4]
+  assign _T_591 = io_in_d_bits_size == _T_574; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@70402.6]
+  assign _T_593 = _T_591 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70404.6]
+  assign _T_594 = _T_593 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70405.6]
+  assign _T_595 = io_in_d_bits_source == _T_576; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@70410.6]
+  assign _T_597 = _T_595 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70412.6]
+  assign _T_598 = _T_597 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70413.6]
+  assign _T_608 = _T_548 & _T_561; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@70436.4]
+  assign _T_622 = _T_621 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70456.4]
+  assign _T_623 = $unsigned(_T_622); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70457.4]
+  assign _T_624 = _T_623[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70458.4]
+  assign _T_625 = _T_621 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@70459.4]
+  assign _T_643 = _T_642 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70479.4]
+  assign _T_644 = $unsigned(_T_643); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70480.4]
+  assign _T_645 = _T_644[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70481.4]
+  assign _T_646 = _T_642 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@70482.4]
+  assign _T_657 = _T_492 & _T_625; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@70497.4]
+  assign _T_659 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@70500.6]
+  assign _T_660 = _T_610 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@70502.6]
+  assign _T_661 = _T_660[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@70503.6]
+  assign _T_662 = _T_661 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70504.6]
+  assign _T_664 = _T_662 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@70506.6]
+  assign _T_665 = _T_664 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@70507.6]
+  assign _GEN_15 = _T_657 ? _T_659 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@70499.4]
+  assign _T_670 = _T_548 & _T_646; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@70518.4]
+  assign _T_674 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@70523.6]
+  assign _T_675 = _GEN_15 | _T_610; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@70525.6]
+  assign _T_676 = _T_675 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@70526.6]
+  assign _T_677 = _T_676[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@70527.6]
+  assign _T_679 = _T_677 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@70529.6]
+  assign _T_680 = _T_679 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@70530.6]
+  assign _GEN_16 = _T_670 ? _T_674 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@70522.4]
+  assign _T_681 = _GEN_15 != _GEN_16; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@70536.4]
+  assign _T_682 = _GEN_15 != 2'h0; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@70537.4]
+  assign _T_683 = _T_682 == 1'h0; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@70538.4]
+  assign _T_684 = _T_681 | _T_683; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@70539.4]
+  assign _T_686 = _T_684 | reset; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@70541.4]
+  assign _T_687 = _T_686 == 1'h0; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@70542.4]
+  assign _T_688 = _T_610 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@70547.4]
+  assign _T_689 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@70548.4]
+  assign _T_690 = _T_688 & _T_689; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@70549.4]
+  assign _T_693 = _T_610 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@70554.4]
+  assign _T_694 = _T_693 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@70555.4]
+  assign _T_695 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@70556.4]
+  assign _T_696 = _T_694 | _T_695; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@70557.4]
+  assign _T_697 = _T_692 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@70558.4]
+  assign _T_698 = _T_696 | _T_697; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@70559.4]
+  assign _T_700 = _T_698 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@70561.4]
+  assign _T_701 = _T_700 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@70562.4]
+  assign _T_703 = _T_692 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@70568.4]
+  assign _T_706 = _T_492 | _T_548; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@70572.4]
+  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69525.10]
+  assign _GEN_35 = io_in_a_valid & _T_128; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69597.10]
+  assign _GEN_53 = io_in_a_valid & _T_170; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69680.10]
+  assign _GEN_65 = io_in_a_valid & _T_203; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69736.10]
+  assign _GEN_75 = io_in_a_valid & _T_229; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69784.10]
+  assign _GEN_85 = io_in_a_valid & _T_257; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69834.10]
+  assign _GEN_95 = io_in_a_valid & _T_283; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69882.10]
+  assign _GEN_105 = io_in_a_valid & _T_309; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69930.10]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  _T_502 = _RAND_0[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  _T_515 = _RAND_1[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  _T_517 = _RAND_2[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  _T_519 = _RAND_3[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  _T_521 = _RAND_4[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  _T_523 = _RAND_5[29:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {1{`RANDOM}};
+  _T_557 = _RAND_6[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {1{`RANDOM}};
+  _T_574 = _RAND_7[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_8 = {1{`RANDOM}};
+  _T_576 = _RAND_8[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_9 = {1{`RANDOM}};
+  _T_610 = _RAND_9[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_10 = {1{`RANDOM}};
+  _T_621 = _RAND_10[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_11 = {1{`RANDOM}};
+  _T_642 = _RAND_11[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_12 = {1{`RANDOM}};
+  _T_692 = _RAND_12[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      _T_502 <= 4'h0;
+    end else begin
+      if (_T_492) begin
+        if (_T_506) begin
+          _T_502 <= 4'h0;
+        end else begin
+          _T_502 <= _T_505;
+        end
+      end
+    end
+    if (_T_547) begin
+      _T_515 <= io_in_a_bits_opcode;
+    end
+    if (_T_547) begin
+      _T_517 <= io_in_a_bits_param;
+    end
+    if (_T_547) begin
+      _T_519 <= io_in_a_bits_size;
+    end
+    if (_T_547) begin
+      _T_521 <= io_in_a_bits_source;
+    end
+    if (_T_547) begin
+      _T_523 <= io_in_a_bits_address;
+    end
+    if (reset) begin
+      _T_557 <= 4'h0;
+    end else begin
+      if (_T_548) begin
+        if (_T_561) begin
+          _T_557 <= _T_553;
+        end else begin
+          _T_557 <= _T_560;
+        end
+      end
+    end
+    if (_T_608) begin
+      _T_574 <= io_in_d_bits_size;
+    end
+    if (_T_608) begin
+      _T_576 <= io_in_d_bits_source;
+    end
+    if (reset) begin
+      _T_610 <= 2'h0;
+    end else begin
+      _T_610 <= _T_690;
+    end
+    if (reset) begin
+      _T_621 <= 4'h0;
+    end else begin
+      if (_T_492) begin
+        if (_T_625) begin
+          _T_621 <= 4'h0;
+        end else begin
+          _T_621 <= _T_624;
+        end
+      end
+    end
+    if (reset) begin
+      _T_642 <= 4'h0;
+    end else begin
+      if (_T_548) begin
+        if (_T_646) begin
+          _T_642 <= _T_553;
+        end else begin
+          _T_642 <= _T_645;
+        end
+      end
+    end
+    if (reset) begin
+      _T_692 <= 32'h0;
+    end else begin
+      if (_T_706) begin
+        _T_692 <= 32'h0;
+      end else begin
+        _T_692 <= _T_703;
+      end
+    end
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at SPI.scala:79:9)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@69438.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@69439.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@69508.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@69509.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at SPI.scala:79:9)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69525.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_101) begin
+          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69526.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at SPI.scala:79:9)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69532.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_101) begin
+          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69533.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at SPI.scala:79:9)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69539.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_107) begin
+          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69540.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_111) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at SPI.scala:79:9)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69547.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_111) begin
+          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69548.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at SPI.scala:79:9)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69554.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_114) begin
+          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69555.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_118) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at SPI.scala:79:9)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69562.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_118) begin
+          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69563.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_123) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at SPI.scala:79:9)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69571.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_123) begin
+          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69572.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_127) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at SPI.scala:79:9)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69579.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_127) begin
+          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69580.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at SPI.scala:79:9)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69597.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_101) begin
+          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69598.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at SPI.scala:79:9)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69604.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_101) begin
+          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69605.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at SPI.scala:79:9)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69611.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_107) begin
+          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69612.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_111) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at SPI.scala:79:9)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69619.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_111) begin
+          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69620.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at SPI.scala:79:9)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69626.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_114) begin
+          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69627.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_118) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at SPI.scala:79:9)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69634.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_118) begin
+          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69635.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_160) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at SPI.scala:79:9)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69642.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_160) begin
+          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69643.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_123) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at SPI.scala:79:9)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69651.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_123) begin
+          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69652.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_127) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at SPI.scala:79:9)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69659.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_127) begin
+          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69660.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_184) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at SPI.scala:79:9)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69680.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_184) begin
+          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69681.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at SPI.scala:79:9)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69687.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_107) begin
+          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69688.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at SPI.scala:79:9)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69694.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_114) begin
+          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69695.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_194) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at SPI.scala:79:9)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69702.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_194) begin
+          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69703.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_198) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at SPI.scala:79:9)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69710.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_198) begin
+          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69711.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_127) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at SPI.scala:79:9)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69718.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_127) begin
+          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69719.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at SPI.scala:79:9)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69736.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_101) begin
+          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69737.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at SPI.scala:79:9)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69743.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_107) begin
+          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69744.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at SPI.scala:79:9)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69750.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_114) begin
+          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69751.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_194) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at SPI.scala:79:9)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69758.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_194) begin
+          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69759.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_198) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at SPI.scala:79:9)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69766.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_198) begin
+          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69767.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at SPI.scala:79:9)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69784.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_101) begin
+          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69785.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at SPI.scala:79:9)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69791.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_107) begin
+          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69792.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at SPI.scala:79:9)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69798.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_114) begin
+          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69799.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_194) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at SPI.scala:79:9)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69806.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_194) begin
+          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69807.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_256) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at SPI.scala:79:9)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69816.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_256) begin
+          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69817.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at SPI.scala:79:9)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69834.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_101) begin
+          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69835.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at SPI.scala:79:9)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69841.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_107) begin
+          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69842.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at SPI.scala:79:9)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69848.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_114) begin
+          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69849.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_278) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at SPI.scala:79:9)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69856.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_278) begin
+          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69857.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_198) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at SPI.scala:79:9)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69864.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_198) begin
+          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69865.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at SPI.scala:79:9)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69882.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_101) begin
+          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69883.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at SPI.scala:79:9)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69889.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_107) begin
+          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69890.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at SPI.scala:79:9)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69896.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_114) begin
+          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69897.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_304) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at SPI.scala:79:9)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69904.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_304) begin
+          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69905.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_198) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at SPI.scala:79:9)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69912.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_198) begin
+          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69913.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at SPI.scala:79:9)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69930.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_101) begin
+          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69931.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at SPI.scala:79:9)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69937.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_107) begin
+          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69938.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at SPI.scala:79:9)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69944.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_114) begin
+          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69945.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_198) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at SPI.scala:79:9)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69952.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_198) begin
+          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69953.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_127) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at SPI.scala:79:9)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69960.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_127) begin
+          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69961.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at SPI.scala:79:9)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@69971.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@69972.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at SPI.scala:79:9)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69988.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69989.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at SPI.scala:79:9)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69996.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69997.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at SPI.scala:79:9)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70004.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70005.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at SPI.scala:79:9)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70012.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70013.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at SPI.scala:79:9)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70020.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70021.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at SPI.scala:79:9)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70030.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70031.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at SPI.scala:79:9)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70037.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70038.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at SPI.scala:79:9)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70045.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70046.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at SPI.scala:79:9)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70053.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70054.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at SPI.scala:79:9)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70061.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70062.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at SPI.scala:79:9)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70069.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70070.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at SPI.scala:79:9)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70078.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70079.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at SPI.scala:79:9)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70088.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70089.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at SPI.scala:79:9)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70095.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70096.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at SPI.scala:79:9)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70103.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70104.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at SPI.scala:79:9)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70111.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70112.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at SPI.scala:79:9)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70119.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70120.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at SPI.scala:79:9)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70128.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70129.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at SPI.scala:79:9)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70137.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70138.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at SPI.scala:79:9)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70147.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70148.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at SPI.scala:79:9)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70155.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70156.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at SPI.scala:79:9)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70163.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70164.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at SPI.scala:79:9)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70172.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70173.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_354) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at SPI.scala:79:9)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70182.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_354) begin
+          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70183.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at SPI.scala:79:9)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70190.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70191.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at SPI.scala:79:9)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70199.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70200.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at SPI.scala:79:9)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70208.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70209.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at SPI.scala:79:9)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70218.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70219.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at SPI.scala:79:9)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70226.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70227.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at SPI.scala:79:9)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70234.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70235.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at SPI.scala:79:9)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70243.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70244.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at SPI.scala:79:9)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70253.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70254.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at SPI.scala:79:9)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70261.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70262.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at SPI.scala:79:9)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70269.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70270.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_525 & _T_529) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at SPI.scala:79:9)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70309.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_525 & _T_529) begin
+          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70310.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_525 & _T_533) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at SPI.scala:79:9)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70317.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_525 & _T_533) begin
+          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70318.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_525 & _T_537) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at SPI.scala:79:9)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70325.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_525 & _T_537) begin
+          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70326.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_525 & _T_541) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at SPI.scala:79:9)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70333.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_525 & _T_541) begin
+          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70334.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_525 & _T_545) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at SPI.scala:79:9)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70341.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_525 & _T_545) begin
+          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70342.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at SPI.scala:79:9)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70391.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70392.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at SPI.scala:79:9)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70399.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70400.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_582 & _T_594) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at SPI.scala:79:9)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70407.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_582 & _T_594) begin
+          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70408.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_582 & _T_598) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at SPI.scala:79:9)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70415.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_582 & _T_598) begin
+          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70416.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at SPI.scala:79:9)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70423.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70424.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at SPI.scala:79:9)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70431.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70432.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_657 & _T_665) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at SPI.scala:79:9)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@70509.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_657 & _T_665) begin
+          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@70510.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_670 & _T_680) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at SPI.scala:79:9)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@70532.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_670 & _T_680) begin
+          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@70533.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_687) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' and 'D' concurrent, despite minlatency 1 (connected at SPI.scala:79:9)\n    at Monitor.scala:471 assert(a_set =/= d_clr || !a_set.orR, s\"'A' and 'D' concurrent, despite minlatency ${edge.manager.minLatency}\" + extra)\n"); // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@70544.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_687) begin
+          $fatal; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@70545.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_701) begin
+          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at SPI.scala:79:9)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@70564.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_701) begin
+          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@70565.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+endmodule
+module Repeater_12( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70577.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70578.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70579.4]
+  output        io_enq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70580.4]
+  input         io_enq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70580.4]
+  input  [2:0]  io_enq_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70580.4]
+  input  [2:0]  io_enq_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70580.4]
+  input  [2:0]  io_enq_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70580.4]
+  input         io_enq_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70580.4]
+  input  [29:0] io_enq_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70580.4]
+  input  [3:0]  io_enq_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70580.4]
+  input         io_enq_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70580.4]
+  input         io_deq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70580.4]
+  output        io_deq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70580.4]
+  output [2:0]  io_deq_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70580.4]
+  output [2:0]  io_deq_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70580.4]
+  output [2:0]  io_deq_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70580.4]
+  output        io_deq_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70580.4]
+  output [29:0] io_deq_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70580.4]
+  output [3:0]  io_deq_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70580.4]
+  output        io_deq_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70580.4]
+);
+  reg  full; // @[Repeater.scala 18:21:shc.marmotcaravel.MarmotCaravelConfig.fir@70585.4]
+  reg [31:0] _RAND_0;
+  wire  _T_18; // @[Repeater.scala 23:35:shc.marmotcaravel.MarmotCaravelConfig.fir@70589.4]
+  wire  _T_23; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@70601.4]
+  assign _T_18 = full == 1'h0; // @[Repeater.scala 23:35:shc.marmotcaravel.MarmotCaravelConfig.fir@70589.4]
+  assign _T_23 = io_deq_ready & io_deq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@70601.4]
+  assign io_enq_ready = io_deq_ready & _T_18; // @[Repeater.scala 23:16:shc.marmotcaravel.MarmotCaravelConfig.fir@70591.4]
+  assign io_deq_valid = io_enq_valid | full; // @[Repeater.scala 22:16:shc.marmotcaravel.MarmotCaravelConfig.fir@70588.4]
+  assign io_deq_bits_opcode = full ? 3'h0 : io_enq_bits_opcode; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@70593.4]
+  assign io_deq_bits_param = full ? 3'h0 : io_enq_bits_param; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@70593.4]
+  assign io_deq_bits_size = full ? 3'h0 : io_enq_bits_size; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@70593.4]
+  assign io_deq_bits_source = full ? 1'h0 : io_enq_bits_source; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@70593.4]
+  assign io_deq_bits_address = full ? 30'h0 : io_enq_bits_address; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@70593.4]
+  assign io_deq_bits_mask = full ? 4'h0 : io_enq_bits_mask; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@70593.4]
+  assign io_deq_bits_corrupt = full ? 1'h0 : io_enq_bits_corrupt; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@70593.4]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  full = _RAND_0[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      full <= 1'h0;
+    end else begin
+      if (_T_23) begin
+        full <= 1'h0;
+      end
+    end
+  end
+endmodule
+module TLWidthWidget_3( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70608.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70609.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70610.4]
+  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70611.4]
+  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70611.4]
+  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70611.4]
+  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70611.4]
+  input  [2:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70611.4]
+  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70611.4]
+  input  [29:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70611.4]
+  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70611.4]
+  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70611.4]
+  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70611.4]
+  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70611.4]
+  output [2:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70611.4]
+  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70611.4]
+  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70611.4]
+  output        auto_in_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70611.4]
+  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70611.4]
+  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70611.4]
+  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70611.4]
+  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70611.4]
+  output [2:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70611.4]
+  output        auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70611.4]
+  output [29:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70611.4]
+  output        auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70611.4]
+  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70611.4]
+  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70611.4]
+  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70611.4]
+  input  [2:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70611.4]
+  input         auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70611.4]
+  input  [7:0]  auto_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70611.4]
+);
+  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@70618.4]
+  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@70618.4]
+  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@70618.4]
+  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@70618.4]
+  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@70618.4]
+  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@70618.4]
+  wire [2:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@70618.4]
+  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@70618.4]
+  wire [29:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@70618.4]
+  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@70618.4]
+  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@70618.4]
+  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@70618.4]
+  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@70618.4]
+  wire [2:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@70618.4]
+  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@70618.4]
+  wire  Repeater_clock; // @[Repeater.scala 34:26:shc.marmotcaravel.MarmotCaravelConfig.fir@70661.4]
+  wire  Repeater_reset; // @[Repeater.scala 34:26:shc.marmotcaravel.MarmotCaravelConfig.fir@70661.4]
+  wire  Repeater_io_enq_ready; // @[Repeater.scala 34:26:shc.marmotcaravel.MarmotCaravelConfig.fir@70661.4]
+  wire  Repeater_io_enq_valid; // @[Repeater.scala 34:26:shc.marmotcaravel.MarmotCaravelConfig.fir@70661.4]
+  wire [2:0] Repeater_io_enq_bits_opcode; // @[Repeater.scala 34:26:shc.marmotcaravel.MarmotCaravelConfig.fir@70661.4]
+  wire [2:0] Repeater_io_enq_bits_param; // @[Repeater.scala 34:26:shc.marmotcaravel.MarmotCaravelConfig.fir@70661.4]
+  wire [2:0] Repeater_io_enq_bits_size; // @[Repeater.scala 34:26:shc.marmotcaravel.MarmotCaravelConfig.fir@70661.4]
+  wire  Repeater_io_enq_bits_source; // @[Repeater.scala 34:26:shc.marmotcaravel.MarmotCaravelConfig.fir@70661.4]
+  wire [29:0] Repeater_io_enq_bits_address; // @[Repeater.scala 34:26:shc.marmotcaravel.MarmotCaravelConfig.fir@70661.4]
+  wire [3:0] Repeater_io_enq_bits_mask; // @[Repeater.scala 34:26:shc.marmotcaravel.MarmotCaravelConfig.fir@70661.4]
+  wire  Repeater_io_enq_bits_corrupt; // @[Repeater.scala 34:26:shc.marmotcaravel.MarmotCaravelConfig.fir@70661.4]
+  wire  Repeater_io_deq_ready; // @[Repeater.scala 34:26:shc.marmotcaravel.MarmotCaravelConfig.fir@70661.4]
+  wire  Repeater_io_deq_valid; // @[Repeater.scala 34:26:shc.marmotcaravel.MarmotCaravelConfig.fir@70661.4]
+  wire [2:0] Repeater_io_deq_bits_opcode; // @[Repeater.scala 34:26:shc.marmotcaravel.MarmotCaravelConfig.fir@70661.4]
+  wire [2:0] Repeater_io_deq_bits_param; // @[Repeater.scala 34:26:shc.marmotcaravel.MarmotCaravelConfig.fir@70661.4]
+  wire [2:0] Repeater_io_deq_bits_size; // @[Repeater.scala 34:26:shc.marmotcaravel.MarmotCaravelConfig.fir@70661.4]
+  wire  Repeater_io_deq_bits_source; // @[Repeater.scala 34:26:shc.marmotcaravel.MarmotCaravelConfig.fir@70661.4]
+  wire [29:0] Repeater_io_deq_bits_address; // @[Repeater.scala 34:26:shc.marmotcaravel.MarmotCaravelConfig.fir@70661.4]
+  wire [3:0] Repeater_io_deq_bits_mask; // @[Repeater.scala 34:26:shc.marmotcaravel.MarmotCaravelConfig.fir@70661.4]
+  wire  Repeater_io_deq_bits_corrupt; // @[Repeater.scala 34:26:shc.marmotcaravel.MarmotCaravelConfig.fir@70661.4]
+  reg [1:0] _T_260; // @[WidthWidget.scala 89:26:shc.marmotcaravel.MarmotCaravelConfig.fir@70681.4]
+  reg [31:0] _RAND_0;
+  wire  _T_245_valid; // @[WidthWidget.scala 141:25:shc.marmotcaravel.MarmotCaravelConfig.fir@70667.4 WidthWidget.scala 142:15:shc.marmotcaravel.MarmotCaravelConfig.fir@70669.4]
+  wire  _T_265; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@70686.4]
+  wire [29:0] _T_245_bits_address; // @[WidthWidget.scala 141:25:shc.marmotcaravel.MarmotCaravelConfig.fir@70667.4 WidthWidget.scala 142:15:shc.marmotcaravel.MarmotCaravelConfig.fir@70669.4]
+  wire [1:0] _T_268; // @[WidthWidget.scala 100:39:shc.marmotcaravel.MarmotCaravelConfig.fir@70695.4]
+  wire [1:0] _T_269; // @[WidthWidget.scala 110:24:shc.marmotcaravel.MarmotCaravelConfig.fir@70696.4]
+  wire [3:0] _T_245_bits_mask; // @[WidthWidget.scala 141:25:shc.marmotcaravel.MarmotCaravelConfig.fir@70667.4 WidthWidget.scala 142:15:shc.marmotcaravel.MarmotCaravelConfig.fir@70669.4]
+  wire  _T_270; // @[WidthWidget.scala 112:51:shc.marmotcaravel.MarmotCaravelConfig.fir@70699.4]
+  wire  _T_271; // @[WidthWidget.scala 112:51:shc.marmotcaravel.MarmotCaravelConfig.fir@70700.4]
+  wire  _T_272; // @[WidthWidget.scala 112:51:shc.marmotcaravel.MarmotCaravelConfig.fir@70701.4]
+  wire  _T_273; // @[WidthWidget.scala 112:51:shc.marmotcaravel.MarmotCaravelConfig.fir@70702.4]
+  wire  _GEN_3; // @[WidthWidget.scala 122:53:shc.marmotcaravel.MarmotCaravelConfig.fir@70709.4]
+  wire  _GEN_4; // @[WidthWidget.scala 122:53:shc.marmotcaravel.MarmotCaravelConfig.fir@70709.4]
+  wire [8:0] _T_288; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@70714.4]
+  wire [1:0] _T_289; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@70715.4]
+  wire [1:0] _T_290; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@70716.4]
+  reg [1:0] _T_293; // @[WidthWidget.scala 31:27:shc.marmotcaravel.MarmotCaravelConfig.fir@70718.4]
+  reg [31:0] _RAND_1;
+  wire  _T_295; // @[WidthWidget.scala 33:26:shc.marmotcaravel.MarmotCaravelConfig.fir@70720.4]
+  wire [1:0] _T_299; // @[WidthWidget.scala 34:67:shc.marmotcaravel.MarmotCaravelConfig.fir@70724.4]
+  wire  _T_300; // @[WidthWidget.scala 34:76:shc.marmotcaravel.MarmotCaravelConfig.fir@70725.4]
+  wire  _T_301; // @[WidthWidget.scala 34:47:shc.marmotcaravel.MarmotCaravelConfig.fir@70726.4]
+  wire [1:0] _T_302; // @[WidthWidget.scala 34:56:shc.marmotcaravel.MarmotCaravelConfig.fir@70727.4]
+  wire [1:0] _T_303; // @[WidthWidget.scala 34:67:shc.marmotcaravel.MarmotCaravelConfig.fir@70728.4]
+  wire  _T_304; // @[WidthWidget.scala 34:76:shc.marmotcaravel.MarmotCaravelConfig.fir@70729.4]
+  wire  _T_305; // @[WidthWidget.scala 34:47:shc.marmotcaravel.MarmotCaravelConfig.fir@70730.4]
+  wire [1:0] _T_306; // @[WidthWidget.scala 34:56:shc.marmotcaravel.MarmotCaravelConfig.fir@70731.4]
+  wire [1:0] _T_307; // @[WidthWidget.scala 34:67:shc.marmotcaravel.MarmotCaravelConfig.fir@70732.4]
+  wire  _T_308; // @[WidthWidget.scala 34:76:shc.marmotcaravel.MarmotCaravelConfig.fir@70733.4]
+  wire  _T_309; // @[WidthWidget.scala 34:47:shc.marmotcaravel.MarmotCaravelConfig.fir@70734.4]
+  reg  _T_315; // @[WidthWidget.scala 36:32:shc.marmotcaravel.MarmotCaravelConfig.fir@70739.4]
+  reg [31:0] _RAND_2;
+  wire  _T_320; // @[WidthWidget.scala 60:32:shc.marmotcaravel.MarmotCaravelConfig.fir@70752.4]
+  wire  _T_321; // @[WidthWidget.scala 60:29:shc.marmotcaravel.MarmotCaravelConfig.fir@70753.4]
+  wire  _T_317; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@70741.4]
+  wire [1:0] _T_319; // @[WidthWidget.scala 41:24:shc.marmotcaravel.MarmotCaravelConfig.fir@70744.6]
+  reg [7:0] _T_325_0; // @[WidthWidget.scala 51:24:shc.marmotcaravel.MarmotCaravelConfig.fir@70758.4]
+  reg [31:0] _RAND_3;
+  reg [7:0] _T_325_1; // @[WidthWidget.scala 51:24:shc.marmotcaravel.MarmotCaravelConfig.fir@70758.4]
+  reg [31:0] _RAND_4;
+  reg [7:0] _T_325_2; // @[WidthWidget.scala 51:24:shc.marmotcaravel.MarmotCaravelConfig.fir@70758.4]
+  reg [31:0] _RAND_5;
+  wire [7:0] _T_331; // @[WidthWidget.scala 53:81:shc.marmotcaravel.MarmotCaravelConfig.fir@70759.4]
+  wire [7:0] _T_332; // @[WidthWidget.scala 53:81:shc.marmotcaravel.MarmotCaravelConfig.fir@70760.4]
+  wire [7:0] _T_333; // @[WidthWidget.scala 53:81:shc.marmotcaravel.MarmotCaravelConfig.fir@70761.4]
+  wire  _T_337; // @[WidthWidget.scala 54:25:shc.marmotcaravel.MarmotCaravelConfig.fir@70765.4]
+  wire [15:0] _T_338; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@70771.4]
+  wire [15:0] _T_339; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@70772.4]
+  TLMonitor_40 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@70618.4]
+    .clock(TLMonitor_clock),
+    .reset(TLMonitor_reset),
+    .io_in_a_ready(TLMonitor_io_in_a_ready),
+    .io_in_a_valid(TLMonitor_io_in_a_valid),
+    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
+    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
+    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
+    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
+    .io_in_d_ready(TLMonitor_io_in_d_ready),
+    .io_in_d_valid(TLMonitor_io_in_d_valid),
+    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
+    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source)
+  );
+  Repeater_12 Repeater ( // @[Repeater.scala 34:26:shc.marmotcaravel.MarmotCaravelConfig.fir@70661.4]
+    .clock(Repeater_clock),
+    .reset(Repeater_reset),
+    .io_enq_ready(Repeater_io_enq_ready),
+    .io_enq_valid(Repeater_io_enq_valid),
+    .io_enq_bits_opcode(Repeater_io_enq_bits_opcode),
+    .io_enq_bits_param(Repeater_io_enq_bits_param),
+    .io_enq_bits_size(Repeater_io_enq_bits_size),
+    .io_enq_bits_source(Repeater_io_enq_bits_source),
+    .io_enq_bits_address(Repeater_io_enq_bits_address),
+    .io_enq_bits_mask(Repeater_io_enq_bits_mask),
+    .io_enq_bits_corrupt(Repeater_io_enq_bits_corrupt),
+    .io_deq_ready(Repeater_io_deq_ready),
+    .io_deq_valid(Repeater_io_deq_valid),
+    .io_deq_bits_opcode(Repeater_io_deq_bits_opcode),
+    .io_deq_bits_param(Repeater_io_deq_bits_param),
+    .io_deq_bits_size(Repeater_io_deq_bits_size),
+    .io_deq_bits_source(Repeater_io_deq_bits_source),
+    .io_deq_bits_address(Repeater_io_deq_bits_address),
+    .io_deq_bits_mask(Repeater_io_deq_bits_mask),
+    .io_deq_bits_corrupt(Repeater_io_deq_bits_corrupt)
+  );
+  assign _T_245_valid = Repeater_io_deq_valid; // @[WidthWidget.scala 141:25:shc.marmotcaravel.MarmotCaravelConfig.fir@70667.4 WidthWidget.scala 142:15:shc.marmotcaravel.MarmotCaravelConfig.fir@70669.4]
+  assign _T_265 = auto_out_a_ready & _T_245_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@70686.4]
+  assign _T_245_bits_address = Repeater_io_deq_bits_address; // @[WidthWidget.scala 141:25:shc.marmotcaravel.MarmotCaravelConfig.fir@70667.4 WidthWidget.scala 142:15:shc.marmotcaravel.MarmotCaravelConfig.fir@70669.4]
+  assign _T_268 = _T_245_bits_address[1:0]; // @[WidthWidget.scala 100:39:shc.marmotcaravel.MarmotCaravelConfig.fir@70695.4]
+  assign _T_269 = _T_268 | _T_260; // @[WidthWidget.scala 110:24:shc.marmotcaravel.MarmotCaravelConfig.fir@70696.4]
+  assign _T_245_bits_mask = Repeater_io_deq_bits_mask; // @[WidthWidget.scala 141:25:shc.marmotcaravel.MarmotCaravelConfig.fir@70667.4 WidthWidget.scala 142:15:shc.marmotcaravel.MarmotCaravelConfig.fir@70669.4]
+  assign _T_270 = _T_245_bits_mask[0]; // @[WidthWidget.scala 112:51:shc.marmotcaravel.MarmotCaravelConfig.fir@70699.4]
+  assign _T_271 = _T_245_bits_mask[1]; // @[WidthWidget.scala 112:51:shc.marmotcaravel.MarmotCaravelConfig.fir@70700.4]
+  assign _T_272 = _T_245_bits_mask[2]; // @[WidthWidget.scala 112:51:shc.marmotcaravel.MarmotCaravelConfig.fir@70701.4]
+  assign _T_273 = _T_245_bits_mask[3]; // @[WidthWidget.scala 112:51:shc.marmotcaravel.MarmotCaravelConfig.fir@70702.4]
+  assign _GEN_3 = 2'h1 == _T_269 ? _T_271 : _T_270; // @[WidthWidget.scala 122:53:shc.marmotcaravel.MarmotCaravelConfig.fir@70709.4]
+  assign _GEN_4 = 2'h2 == _T_269 ? _T_272 : _GEN_3; // @[WidthWidget.scala 122:53:shc.marmotcaravel.MarmotCaravelConfig.fir@70709.4]
+  assign _T_288 = 9'h3 << auto_out_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@70714.4]
+  assign _T_289 = _T_288[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@70715.4]
+  assign _T_290 = ~ _T_289; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@70716.4]
+  assign _T_295 = _T_293 == _T_290; // @[WidthWidget.scala 33:26:shc.marmotcaravel.MarmotCaravelConfig.fir@70720.4]
+  assign _T_299 = _T_293 & _T_290; // @[WidthWidget.scala 34:67:shc.marmotcaravel.MarmotCaravelConfig.fir@70724.4]
+  assign _T_300 = _T_299 != 2'h0; // @[WidthWidget.scala 34:76:shc.marmotcaravel.MarmotCaravelConfig.fir@70725.4]
+  assign _T_301 = _T_300 == 1'h0; // @[WidthWidget.scala 34:47:shc.marmotcaravel.MarmotCaravelConfig.fir@70726.4]
+  assign _T_302 = _T_293 ^ 2'h1; // @[WidthWidget.scala 34:56:shc.marmotcaravel.MarmotCaravelConfig.fir@70727.4]
+  assign _T_303 = _T_302 & _T_290; // @[WidthWidget.scala 34:67:shc.marmotcaravel.MarmotCaravelConfig.fir@70728.4]
+  assign _T_304 = _T_303 != 2'h0; // @[WidthWidget.scala 34:76:shc.marmotcaravel.MarmotCaravelConfig.fir@70729.4]
+  assign _T_305 = _T_304 == 1'h0; // @[WidthWidget.scala 34:47:shc.marmotcaravel.MarmotCaravelConfig.fir@70730.4]
+  assign _T_306 = _T_293 ^ 2'h2; // @[WidthWidget.scala 34:56:shc.marmotcaravel.MarmotCaravelConfig.fir@70731.4]
+  assign _T_307 = _T_306 & _T_290; // @[WidthWidget.scala 34:67:shc.marmotcaravel.MarmotCaravelConfig.fir@70732.4]
+  assign _T_308 = _T_307 != 2'h0; // @[WidthWidget.scala 34:76:shc.marmotcaravel.MarmotCaravelConfig.fir@70733.4]
+  assign _T_309 = _T_308 == 1'h0; // @[WidthWidget.scala 34:47:shc.marmotcaravel.MarmotCaravelConfig.fir@70734.4]
+  assign _T_320 = _T_295 == 1'h0; // @[WidthWidget.scala 60:32:shc.marmotcaravel.MarmotCaravelConfig.fir@70752.4]
+  assign _T_321 = auto_in_d_ready | _T_320; // @[WidthWidget.scala 60:29:shc.marmotcaravel.MarmotCaravelConfig.fir@70753.4]
+  assign _T_317 = _T_321 & auto_out_d_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@70741.4]
+  assign _T_319 = _T_293 + 2'h1; // @[WidthWidget.scala 41:24:shc.marmotcaravel.MarmotCaravelConfig.fir@70744.6]
+  assign _T_331 = _T_301 ? auto_out_d_bits_data : _T_325_0; // @[WidthWidget.scala 53:81:shc.marmotcaravel.MarmotCaravelConfig.fir@70759.4]
+  assign _T_332 = _T_305 ? auto_out_d_bits_data : _T_325_1; // @[WidthWidget.scala 53:81:shc.marmotcaravel.MarmotCaravelConfig.fir@70760.4]
+  assign _T_333 = _T_309 ? auto_out_d_bits_data : _T_325_2; // @[WidthWidget.scala 53:81:shc.marmotcaravel.MarmotCaravelConfig.fir@70761.4]
+  assign _T_337 = _T_317 & _T_320; // @[WidthWidget.scala 54:25:shc.marmotcaravel.MarmotCaravelConfig.fir@70765.4]
+  assign _T_338 = {_T_332,_T_331}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@70771.4]
+  assign _T_339 = {auto_out_d_bits_data,_T_333}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@70772.4]
+  assign auto_in_a_ready = Repeater_io_enq_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@70658.4]
+  assign auto_in_d_valid = auto_out_d_valid & _T_295; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@70658.4]
+  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@70658.4]
+  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@70658.4]
+  assign auto_in_d_bits_data = {_T_339,_T_338}; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@70658.4]
+  assign auto_in_d_bits_corrupt = _T_315; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@70658.4]
+  assign auto_out_a_valid = Repeater_io_deq_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@70657.4]
+  assign auto_out_a_bits_opcode = Repeater_io_deq_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@70657.4]
+  assign auto_out_a_bits_param = Repeater_io_deq_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@70657.4]
+  assign auto_out_a_bits_size = Repeater_io_deq_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@70657.4]
+  assign auto_out_a_bits_source = Repeater_io_deq_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@70657.4]
+  assign auto_out_a_bits_address = Repeater_io_deq_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@70657.4]
+  assign auto_out_a_bits_mask = 2'h3 == _T_269 ? _T_273 : _GEN_4; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@70657.4]
+  assign auto_out_a_bits_corrupt = Repeater_io_deq_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@70657.4]
+  assign auto_out_d_ready = auto_in_d_ready | _T_320; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@70657.4]
+  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70620.4]
+  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70621.4]
+  assign TLMonitor_io_in_a_ready = Repeater_io_enq_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@70654.4]
+  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@70654.4]
+  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@70654.4]
+  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@70654.4]
+  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@70654.4]
+  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@70654.4]
+  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@70654.4]
+  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@70654.4]
+  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@70654.4]
+  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@70654.4]
+  assign TLMonitor_io_in_d_valid = auto_out_d_valid & _T_295; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@70654.4]
+  assign TLMonitor_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@70654.4]
+  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@70654.4]
+  assign Repeater_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70663.4]
+  assign Repeater_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70664.4]
+  assign Repeater_io_enq_valid = auto_in_a_valid; // @[Repeater.scala 36:21:shc.marmotcaravel.MarmotCaravelConfig.fir@70666.4]
+  assign Repeater_io_enq_bits_opcode = auto_in_a_bits_opcode; // @[Repeater.scala 36:21:shc.marmotcaravel.MarmotCaravelConfig.fir@70666.4]
+  assign Repeater_io_enq_bits_param = auto_in_a_bits_param; // @[Repeater.scala 36:21:shc.marmotcaravel.MarmotCaravelConfig.fir@70666.4]
+  assign Repeater_io_enq_bits_size = auto_in_a_bits_size; // @[Repeater.scala 36:21:shc.marmotcaravel.MarmotCaravelConfig.fir@70666.4]
+  assign Repeater_io_enq_bits_source = auto_in_a_bits_source; // @[Repeater.scala 36:21:shc.marmotcaravel.MarmotCaravelConfig.fir@70666.4]
+  assign Repeater_io_enq_bits_address = auto_in_a_bits_address; // @[Repeater.scala 36:21:shc.marmotcaravel.MarmotCaravelConfig.fir@70666.4]
+  assign Repeater_io_enq_bits_mask = auto_in_a_bits_mask; // @[Repeater.scala 36:21:shc.marmotcaravel.MarmotCaravelConfig.fir@70666.4]
+  assign Repeater_io_enq_bits_corrupt = auto_in_a_bits_corrupt; // @[Repeater.scala 36:21:shc.marmotcaravel.MarmotCaravelConfig.fir@70666.4]
+  assign Repeater_io_deq_ready = auto_out_a_ready; // @[WidthWidget.scala 142:15:shc.marmotcaravel.MarmotCaravelConfig.fir@70669.4]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  _T_260 = _RAND_0[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  _T_293 = _RAND_1[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  _T_315 = _RAND_2[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  _T_325_0 = _RAND_3[7:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  _T_325_1 = _RAND_4[7:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  _T_325_2 = _RAND_5[7:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      _T_260 <= 2'h0;
+    end else begin
+      if (_T_265) begin
+        _T_260 <= 2'h0;
+      end
+    end
+    if (reset) begin
+      _T_293 <= 2'h0;
+    end else begin
+      if (_T_317) begin
+        if (_T_295) begin
+          _T_293 <= 2'h0;
+        end else begin
+          _T_293 <= _T_319;
+        end
+      end
+    end
+    if (reset) begin
+      _T_315 <= 1'h0;
+    end else begin
+      if (_T_317) begin
+        if (_T_295) begin
+          _T_315 <= 1'h0;
+        end
+      end
+    end
+    if (_T_337) begin
+      if (_T_301) begin
+        _T_325_0 <= auto_out_d_bits_data;
+      end
+    end
+    if (_T_337) begin
+      if (_T_305) begin
+        _T_325_1 <= auto_out_d_bits_data;
+      end
+    end
+    if (_T_337) begin
+      if (_T_309) begin
+        _T_325_2 <= auto_out_d_bits_data;
+      end
+    end
+  end
+endmodule
+module SimpleLazyModule_19( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70783.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70784.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70785.4]
+  output        auto_widget_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70786.4]
+  input         auto_widget_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70786.4]
+  input  [2:0]  auto_widget_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70786.4]
+  input  [2:0]  auto_widget_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70786.4]
+  input  [2:0]  auto_widget_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70786.4]
+  input         auto_widget_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70786.4]
+  input  [29:0] auto_widget_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70786.4]
+  input  [3:0]  auto_widget_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70786.4]
+  input         auto_widget_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70786.4]
+  input         auto_widget_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70786.4]
+  output        auto_widget_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70786.4]
+  output [2:0]  auto_widget_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70786.4]
+  output        auto_widget_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70786.4]
+  output [31:0] auto_widget_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70786.4]
+  output        auto_widget_in_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70786.4]
+  input         auto_mem_xing_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70786.4]
+  output        auto_mem_xing_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70786.4]
+  output [2:0]  auto_mem_xing_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70786.4]
+  output [2:0]  auto_mem_xing_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70786.4]
+  output        auto_mem_xing_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70786.4]
+  output [7:0]  auto_mem_xing_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70786.4]
+  output [29:0] auto_mem_xing_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70786.4]
+  output        auto_mem_xing_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70786.4]
+  output        auto_mem_xing_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70786.4]
+  output        auto_mem_xing_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70786.4]
+  input         auto_mem_xing_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70786.4]
+  input         auto_mem_xing_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70786.4]
+  input  [7:0]  auto_mem_xing_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70786.4]
+  input  [7:0]  auto_mem_xing_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70786.4]
+);
+  wire  fragmenter_clock; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@70791.4]
+  wire  fragmenter_reset; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@70791.4]
+  wire  fragmenter_auto_in_a_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@70791.4]
+  wire  fragmenter_auto_in_a_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@70791.4]
+  wire [2:0] fragmenter_auto_in_a_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@70791.4]
+  wire [2:0] fragmenter_auto_in_a_bits_param; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@70791.4]
+  wire [2:0] fragmenter_auto_in_a_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@70791.4]
+  wire  fragmenter_auto_in_a_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@70791.4]
+  wire [29:0] fragmenter_auto_in_a_bits_address; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@70791.4]
+  wire  fragmenter_auto_in_a_bits_mask; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@70791.4]
+  wire  fragmenter_auto_in_a_bits_corrupt; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@70791.4]
+  wire  fragmenter_auto_in_d_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@70791.4]
+  wire  fragmenter_auto_in_d_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@70791.4]
+  wire [2:0] fragmenter_auto_in_d_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@70791.4]
+  wire  fragmenter_auto_in_d_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@70791.4]
+  wire [7:0] fragmenter_auto_in_d_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@70791.4]
+  wire  fragmenter_auto_out_a_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@70791.4]
+  wire  fragmenter_auto_out_a_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@70791.4]
+  wire [2:0] fragmenter_auto_out_a_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@70791.4]
+  wire [2:0] fragmenter_auto_out_a_bits_param; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@70791.4]
+  wire  fragmenter_auto_out_a_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@70791.4]
+  wire [7:0] fragmenter_auto_out_a_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@70791.4]
+  wire [29:0] fragmenter_auto_out_a_bits_address; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@70791.4]
+  wire  fragmenter_auto_out_a_bits_mask; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@70791.4]
+  wire  fragmenter_auto_out_a_bits_corrupt; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@70791.4]
+  wire  fragmenter_auto_out_d_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@70791.4]
+  wire  fragmenter_auto_out_d_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@70791.4]
+  wire  fragmenter_auto_out_d_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@70791.4]
+  wire [7:0] fragmenter_auto_out_d_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@70791.4]
+  wire [7:0] fragmenter_auto_out_d_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@70791.4]
+  wire  buffer_clock; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70797.4]
+  wire  buffer_reset; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70797.4]
+  wire  buffer_auto_in_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70797.4]
+  wire  buffer_auto_in_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70797.4]
+  wire [2:0] buffer_auto_in_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70797.4]
+  wire [2:0] buffer_auto_in_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70797.4]
+  wire [2:0] buffer_auto_in_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70797.4]
+  wire  buffer_auto_in_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70797.4]
+  wire [29:0] buffer_auto_in_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70797.4]
+  wire  buffer_auto_in_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70797.4]
+  wire  buffer_auto_in_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70797.4]
+  wire  buffer_auto_in_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70797.4]
+  wire  buffer_auto_in_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70797.4]
+  wire [2:0] buffer_auto_in_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70797.4]
+  wire  buffer_auto_in_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70797.4]
+  wire [7:0] buffer_auto_in_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70797.4]
+  wire  buffer_auto_out_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70797.4]
+  wire  buffer_auto_out_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70797.4]
+  wire [2:0] buffer_auto_out_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70797.4]
+  wire [2:0] buffer_auto_out_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70797.4]
+  wire [2:0] buffer_auto_out_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70797.4]
+  wire  buffer_auto_out_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70797.4]
+  wire [29:0] buffer_auto_out_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70797.4]
+  wire  buffer_auto_out_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70797.4]
+  wire  buffer_auto_out_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70797.4]
+  wire  buffer_auto_out_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70797.4]
+  wire  buffer_auto_out_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70797.4]
+  wire [2:0] buffer_auto_out_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70797.4]
+  wire  buffer_auto_out_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70797.4]
+  wire [7:0] buffer_auto_out_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70797.4]
+  wire  widget_clock; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70803.4]
+  wire  widget_reset; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70803.4]
+  wire  widget_auto_in_a_ready; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70803.4]
+  wire  widget_auto_in_a_valid; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70803.4]
+  wire [2:0] widget_auto_in_a_bits_opcode; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70803.4]
+  wire [2:0] widget_auto_in_a_bits_param; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70803.4]
+  wire [2:0] widget_auto_in_a_bits_size; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70803.4]
+  wire  widget_auto_in_a_bits_source; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70803.4]
+  wire [29:0] widget_auto_in_a_bits_address; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70803.4]
+  wire [3:0] widget_auto_in_a_bits_mask; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70803.4]
+  wire  widget_auto_in_a_bits_corrupt; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70803.4]
+  wire  widget_auto_in_d_ready; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70803.4]
+  wire  widget_auto_in_d_valid; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70803.4]
+  wire [2:0] widget_auto_in_d_bits_size; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70803.4]
+  wire  widget_auto_in_d_bits_source; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70803.4]
+  wire [31:0] widget_auto_in_d_bits_data; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70803.4]
+  wire  widget_auto_in_d_bits_corrupt; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70803.4]
+  wire  widget_auto_out_a_ready; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70803.4]
+  wire  widget_auto_out_a_valid; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70803.4]
+  wire [2:0] widget_auto_out_a_bits_opcode; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70803.4]
+  wire [2:0] widget_auto_out_a_bits_param; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70803.4]
+  wire [2:0] widget_auto_out_a_bits_size; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70803.4]
+  wire  widget_auto_out_a_bits_source; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70803.4]
+  wire [29:0] widget_auto_out_a_bits_address; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70803.4]
+  wire  widget_auto_out_a_bits_mask; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70803.4]
+  wire  widget_auto_out_a_bits_corrupt; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70803.4]
+  wire  widget_auto_out_d_ready; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70803.4]
+  wire  widget_auto_out_d_valid; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70803.4]
+  wire [2:0] widget_auto_out_d_bits_size; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70803.4]
+  wire  widget_auto_out_d_bits_source; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70803.4]
+  wire [7:0] widget_auto_out_d_bits_data; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70803.4]
+  TLFragmenter_11 fragmenter ( // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@70791.4]
+    .clock(fragmenter_clock),
+    .reset(fragmenter_reset),
+    .auto_in_a_ready(fragmenter_auto_in_a_ready),
+    .auto_in_a_valid(fragmenter_auto_in_a_valid),
+    .auto_in_a_bits_opcode(fragmenter_auto_in_a_bits_opcode),
+    .auto_in_a_bits_param(fragmenter_auto_in_a_bits_param),
+    .auto_in_a_bits_size(fragmenter_auto_in_a_bits_size),
+    .auto_in_a_bits_source(fragmenter_auto_in_a_bits_source),
+    .auto_in_a_bits_address(fragmenter_auto_in_a_bits_address),
+    .auto_in_a_bits_mask(fragmenter_auto_in_a_bits_mask),
+    .auto_in_a_bits_corrupt(fragmenter_auto_in_a_bits_corrupt),
+    .auto_in_d_ready(fragmenter_auto_in_d_ready),
+    .auto_in_d_valid(fragmenter_auto_in_d_valid),
+    .auto_in_d_bits_size(fragmenter_auto_in_d_bits_size),
+    .auto_in_d_bits_source(fragmenter_auto_in_d_bits_source),
+    .auto_in_d_bits_data(fragmenter_auto_in_d_bits_data),
+    .auto_out_a_ready(fragmenter_auto_out_a_ready),
+    .auto_out_a_valid(fragmenter_auto_out_a_valid),
+    .auto_out_a_bits_opcode(fragmenter_auto_out_a_bits_opcode),
+    .auto_out_a_bits_param(fragmenter_auto_out_a_bits_param),
+    .auto_out_a_bits_size(fragmenter_auto_out_a_bits_size),
+    .auto_out_a_bits_source(fragmenter_auto_out_a_bits_source),
+    .auto_out_a_bits_address(fragmenter_auto_out_a_bits_address),
+    .auto_out_a_bits_mask(fragmenter_auto_out_a_bits_mask),
+    .auto_out_a_bits_corrupt(fragmenter_auto_out_a_bits_corrupt),
+    .auto_out_d_ready(fragmenter_auto_out_d_ready),
+    .auto_out_d_valid(fragmenter_auto_out_d_valid),
+    .auto_out_d_bits_size(fragmenter_auto_out_d_bits_size),
+    .auto_out_d_bits_source(fragmenter_auto_out_d_bits_source),
+    .auto_out_d_bits_data(fragmenter_auto_out_d_bits_data)
+  );
+  TLBuffer_12 buffer ( // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70797.4]
+    .clock(buffer_clock),
+    .reset(buffer_reset),
+    .auto_in_a_ready(buffer_auto_in_a_ready),
+    .auto_in_a_valid(buffer_auto_in_a_valid),
+    .auto_in_a_bits_opcode(buffer_auto_in_a_bits_opcode),
+    .auto_in_a_bits_param(buffer_auto_in_a_bits_param),
+    .auto_in_a_bits_size(buffer_auto_in_a_bits_size),
+    .auto_in_a_bits_source(buffer_auto_in_a_bits_source),
+    .auto_in_a_bits_address(buffer_auto_in_a_bits_address),
+    .auto_in_a_bits_mask(buffer_auto_in_a_bits_mask),
+    .auto_in_a_bits_corrupt(buffer_auto_in_a_bits_corrupt),
+    .auto_in_d_ready(buffer_auto_in_d_ready),
+    .auto_in_d_valid(buffer_auto_in_d_valid),
+    .auto_in_d_bits_size(buffer_auto_in_d_bits_size),
+    .auto_in_d_bits_source(buffer_auto_in_d_bits_source),
+    .auto_in_d_bits_data(buffer_auto_in_d_bits_data),
+    .auto_out_a_ready(buffer_auto_out_a_ready),
+    .auto_out_a_valid(buffer_auto_out_a_valid),
+    .auto_out_a_bits_opcode(buffer_auto_out_a_bits_opcode),
+    .auto_out_a_bits_param(buffer_auto_out_a_bits_param),
+    .auto_out_a_bits_size(buffer_auto_out_a_bits_size),
+    .auto_out_a_bits_source(buffer_auto_out_a_bits_source),
+    .auto_out_a_bits_address(buffer_auto_out_a_bits_address),
+    .auto_out_a_bits_mask(buffer_auto_out_a_bits_mask),
+    .auto_out_a_bits_corrupt(buffer_auto_out_a_bits_corrupt),
+    .auto_out_d_ready(buffer_auto_out_d_ready),
+    .auto_out_d_valid(buffer_auto_out_d_valid),
+    .auto_out_d_bits_size(buffer_auto_out_d_bits_size),
+    .auto_out_d_bits_source(buffer_auto_out_d_bits_source),
+    .auto_out_d_bits_data(buffer_auto_out_d_bits_data)
+  );
+  TLWidthWidget_3 widget ( // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70803.4]
+    .clock(widget_clock),
+    .reset(widget_reset),
+    .auto_in_a_ready(widget_auto_in_a_ready),
+    .auto_in_a_valid(widget_auto_in_a_valid),
+    .auto_in_a_bits_opcode(widget_auto_in_a_bits_opcode),
+    .auto_in_a_bits_param(widget_auto_in_a_bits_param),
+    .auto_in_a_bits_size(widget_auto_in_a_bits_size),
+    .auto_in_a_bits_source(widget_auto_in_a_bits_source),
+    .auto_in_a_bits_address(widget_auto_in_a_bits_address),
+    .auto_in_a_bits_mask(widget_auto_in_a_bits_mask),
+    .auto_in_a_bits_corrupt(widget_auto_in_a_bits_corrupt),
+    .auto_in_d_ready(widget_auto_in_d_ready),
+    .auto_in_d_valid(widget_auto_in_d_valid),
+    .auto_in_d_bits_size(widget_auto_in_d_bits_size),
+    .auto_in_d_bits_source(widget_auto_in_d_bits_source),
+    .auto_in_d_bits_data(widget_auto_in_d_bits_data),
+    .auto_in_d_bits_corrupt(widget_auto_in_d_bits_corrupt),
+    .auto_out_a_ready(widget_auto_out_a_ready),
+    .auto_out_a_valid(widget_auto_out_a_valid),
+    .auto_out_a_bits_opcode(widget_auto_out_a_bits_opcode),
+    .auto_out_a_bits_param(widget_auto_out_a_bits_param),
+    .auto_out_a_bits_size(widget_auto_out_a_bits_size),
+    .auto_out_a_bits_source(widget_auto_out_a_bits_source),
+    .auto_out_a_bits_address(widget_auto_out_a_bits_address),
+    .auto_out_a_bits_mask(widget_auto_out_a_bits_mask),
+    .auto_out_a_bits_corrupt(widget_auto_out_a_bits_corrupt),
+    .auto_out_d_ready(widget_auto_out_d_ready),
+    .auto_out_d_valid(widget_auto_out_d_valid),
+    .auto_out_d_bits_size(widget_auto_out_d_bits_size),
+    .auto_out_d_bits_source(widget_auto_out_d_bits_source),
+    .auto_out_d_bits_data(widget_auto_out_d_bits_data)
+  );
+  assign auto_widget_in_a_ready = widget_auto_in_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@70818.4]
+  assign auto_widget_in_d_valid = widget_auto_in_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@70818.4]
+  assign auto_widget_in_d_bits_size = widget_auto_in_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@70818.4]
+  assign auto_widget_in_d_bits_source = widget_auto_in_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@70818.4]
+  assign auto_widget_in_d_bits_data = widget_auto_in_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@70818.4]
+  assign auto_widget_in_d_bits_corrupt = widget_auto_in_d_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@70818.4]
+  assign auto_mem_xing_out_a_valid = fragmenter_auto_out_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@70817.4]
+  assign auto_mem_xing_out_a_bits_opcode = fragmenter_auto_out_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@70817.4]
+  assign auto_mem_xing_out_a_bits_param = fragmenter_auto_out_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@70817.4]
+  assign auto_mem_xing_out_a_bits_size = fragmenter_auto_out_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@70817.4]
+  assign auto_mem_xing_out_a_bits_source = fragmenter_auto_out_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@70817.4]
+  assign auto_mem_xing_out_a_bits_address = fragmenter_auto_out_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@70817.4]
+  assign auto_mem_xing_out_a_bits_mask = fragmenter_auto_out_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@70817.4]
+  assign auto_mem_xing_out_a_bits_corrupt = fragmenter_auto_out_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@70817.4]
+  assign auto_mem_xing_out_d_ready = fragmenter_auto_out_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@70817.4]
+  assign fragmenter_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70795.4]
+  assign fragmenter_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70796.4]
+  assign fragmenter_auto_in_a_valid = buffer_auto_out_a_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@70815.4]
+  assign fragmenter_auto_in_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@70815.4]
+  assign fragmenter_auto_in_a_bits_param = buffer_auto_out_a_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@70815.4]
+  assign fragmenter_auto_in_a_bits_size = buffer_auto_out_a_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@70815.4]
+  assign fragmenter_auto_in_a_bits_source = buffer_auto_out_a_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@70815.4]
+  assign fragmenter_auto_in_a_bits_address = buffer_auto_out_a_bits_address; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@70815.4]
+  assign fragmenter_auto_in_a_bits_mask = buffer_auto_out_a_bits_mask; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@70815.4]
+  assign fragmenter_auto_in_a_bits_corrupt = buffer_auto_out_a_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@70815.4]
+  assign fragmenter_auto_in_d_ready = buffer_auto_out_d_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@70815.4]
+  assign fragmenter_auto_out_a_ready = auto_mem_xing_out_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@70814.4]
+  assign fragmenter_auto_out_d_valid = auto_mem_xing_out_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@70814.4]
+  assign fragmenter_auto_out_d_bits_size = auto_mem_xing_out_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@70814.4]
+  assign fragmenter_auto_out_d_bits_source = auto_mem_xing_out_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@70814.4]
+  assign fragmenter_auto_out_d_bits_data = auto_mem_xing_out_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@70814.4]
+  assign buffer_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70801.4]
+  assign buffer_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70802.4]
+  assign buffer_auto_in_a_valid = widget_auto_out_a_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@70816.4]
+  assign buffer_auto_in_a_bits_opcode = widget_auto_out_a_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@70816.4]
+  assign buffer_auto_in_a_bits_param = widget_auto_out_a_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@70816.4]
+  assign buffer_auto_in_a_bits_size = widget_auto_out_a_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@70816.4]
+  assign buffer_auto_in_a_bits_source = widget_auto_out_a_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@70816.4]
+  assign buffer_auto_in_a_bits_address = widget_auto_out_a_bits_address; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@70816.4]
+  assign buffer_auto_in_a_bits_mask = widget_auto_out_a_bits_mask; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@70816.4]
+  assign buffer_auto_in_a_bits_corrupt = widget_auto_out_a_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@70816.4]
+  assign buffer_auto_in_d_ready = widget_auto_out_d_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@70816.4]
+  assign buffer_auto_out_a_ready = fragmenter_auto_in_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@70815.4]
+  assign buffer_auto_out_d_valid = fragmenter_auto_in_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@70815.4]
+  assign buffer_auto_out_d_bits_size = fragmenter_auto_in_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@70815.4]
+  assign buffer_auto_out_d_bits_source = fragmenter_auto_in_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@70815.4]
+  assign buffer_auto_out_d_bits_data = fragmenter_auto_in_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@70815.4]
+  assign widget_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70807.4]
+  assign widget_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70808.4]
+  assign widget_auto_in_a_valid = auto_widget_in_a_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@70818.4]
+  assign widget_auto_in_a_bits_opcode = auto_widget_in_a_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@70818.4]
+  assign widget_auto_in_a_bits_param = auto_widget_in_a_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@70818.4]
+  assign widget_auto_in_a_bits_size = auto_widget_in_a_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@70818.4]
+  assign widget_auto_in_a_bits_source = auto_widget_in_a_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@70818.4]
+  assign widget_auto_in_a_bits_address = auto_widget_in_a_bits_address; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@70818.4]
+  assign widget_auto_in_a_bits_mask = auto_widget_in_a_bits_mask; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@70818.4]
+  assign widget_auto_in_a_bits_corrupt = auto_widget_in_a_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@70818.4]
+  assign widget_auto_in_d_ready = auto_widget_in_d_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@70818.4]
+  assign widget_auto_out_a_ready = buffer_auto_in_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@70816.4]
+  assign widget_auto_out_d_valid = buffer_auto_in_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@70816.4]
+  assign widget_auto_out_d_bits_size = buffer_auto_in_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@70816.4]
+  assign widget_auto_out_d_bits_source = buffer_auto_in_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@70816.4]
+  assign widget_auto_out_d_bits_data = buffer_auto_in_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@70816.4]
+endmodule
+module TLMonitor_41( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70827.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70828.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70829.4]
+  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70830.4]
+  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70830.4]
+  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70830.4]
+  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70830.4]
+  input  [2:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70830.4]
+  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70830.4]
+  input  [28:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70830.4]
+  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70830.4]
+  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70830.4]
+  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70830.4]
+  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70830.4]
+  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70830.4]
+  input  [2:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70830.4]
+  input         io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70830.4]
+);
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@71951.4]
+  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@70846.6]
+  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@70851.6]
+  wire [12:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@70853.6]
+  wire [5:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@70854.6]
+  wire [5:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@70855.6]
+  wire [28:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@70856.6]
+  wire [28:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@70856.6]
+  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@70857.6]
+  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@70859.6]
+  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@70860.6]
+  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@70862.6]
+  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@70863.6]
+  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@70864.6]
+  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@70865.6]
+  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@70866.6]
+  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@70868.6]
+  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@70869.6]
+  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@70871.6]
+  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@70872.6]
+  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@70873.6]
+  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@70874.6]
+  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@70875.6]
+  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@70876.6]
+  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@70877.6]
+  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@70878.6]
+  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@70879.6]
+  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@70880.6]
+  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@70881.6]
+  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@70882.6]
+  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@70883.6]
+  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@70884.6]
+  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@70885.6]
+  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@70886.6]
+  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@70887.6]
+  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@70888.6]
+  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@70889.6]
+  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@70890.6]
+  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@70915.6]
+  wire [28:0] _T_92; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@70918.8]
+  wire [29:0] _T_93; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@70919.8]
+  wire [29:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@70920.8]
+  wire [29:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@70921.8]
+  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@70922.8]
+  wire  _T_101; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70927.8]
+  wire  _T_106; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70940.8]
+  wire  _T_107; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70941.8]
+  wire  _T_110; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70948.8]
+  wire  _T_111; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70949.8]
+  wire  _T_113; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70955.8]
+  wire  _T_114; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70956.8]
+  wire  _T_115; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@70961.8]
+  wire  _T_117; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70963.8]
+  wire  _T_118; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70964.8]
+  wire [3:0] _T_119; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@70969.8]
+  wire  _T_120; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70970.8]
+  wire  _T_122; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70972.8]
+  wire  _T_123; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70973.8]
+  wire  _T_124; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@70978.8]
+  wire  _T_126; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70980.8]
+  wire  _T_127; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70981.8]
+  wire  _T_128; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@70987.6]
+  wire  _T_157; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71041.8]
+  wire  _T_159; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71043.8]
+  wire  _T_160; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71044.8]
+  wire  _T_170; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@71067.6]
+  wire  _T_172; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@71070.8]
+  wire  _T_180; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@71078.8]
+  wire  _T_183; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71081.8]
+  wire  _T_184; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71082.8]
+  wire  _T_191; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71101.8]
+  wire  _T_193; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71103.8]
+  wire  _T_194; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71104.8]
+  wire  _T_195; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@71109.8]
+  wire  _T_197; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71111.8]
+  wire  _T_198; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71112.8]
+  wire  _T_203; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@71126.6]
+  wire  _T_232; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@71177.6]
+  wire [3:0] _T_257; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@71219.8]
+  wire [3:0] _T_258; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71220.8]
+  wire  _T_259; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@71221.8]
+  wire  _T_261; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71223.8]
+  wire  _T_262; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71224.8]
+  wire  _T_263; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@71230.6]
+  wire  _T_281; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@71261.8]
+  wire  _T_283; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71263.8]
+  wire  _T_284; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71264.8]
+  wire  _T_289; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@71278.6]
+  wire  _T_307; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@71309.8]
+  wire  _T_309; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71311.8]
+  wire  _T_310; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71312.8]
+  wire  _T_315; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@71326.6]
+  wire  _T_341; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@71376.6]
+  wire  _T_343; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@71378.6]
+  wire  _T_344; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@71379.6]
+  wire  _T_346; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@71385.6]
+  wire  _T_355; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@71390.6]
+  wire  _T_357; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@71392.6]
+  wire  _T_359; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71395.8]
+  wire  _T_360; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71396.8]
+  wire  _T_361; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@71401.8]
+  wire  _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71403.8]
+  wire  _T_364; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71404.8]
+  wire  _T_377; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@71434.6]
+  wire  _T_405; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@71492.6]
+  wire  _T_434; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@71551.6]
+  wire  _T_451; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@71586.6]
+  wire  _T_469; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@71622.6]
+  wire  _T_498; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@71682.4]
+  wire [3:0] _T_503; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@71687.4]
+  wire  _T_504; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@71688.4]
+  wire  _T_505; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71689.4]
+  reg [3:0] _T_508; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@71691.4]
+  reg [31:0] _RAND_0;
+  wire [4:0] _T_509; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71692.4]
+  wire [4:0] _T_510; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71693.4]
+  wire [3:0] _T_511; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71694.4]
+  wire  _T_512; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@71695.4]
+  reg [2:0] _T_521; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@71706.4]
+  reg [31:0] _RAND_1;
+  reg [2:0] _T_523; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@71707.4]
+  reg [31:0] _RAND_2;
+  reg [2:0] _T_525; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@71708.4]
+  reg [31:0] _RAND_3;
+  reg  _T_527; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@71709.4]
+  reg [31:0] _RAND_4;
+  reg [28:0] _T_529; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@71710.4]
+  reg [31:0] _RAND_5;
+  wire  _T_530; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@71711.4]
+  wire  _T_531; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@71712.4]
+  wire  _T_532; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@71714.6]
+  wire  _T_534; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71716.6]
+  wire  _T_535; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71717.6]
+  wire  _T_536; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@71722.6]
+  wire  _T_538; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71724.6]
+  wire  _T_539; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71725.6]
+  wire  _T_540; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@71730.6]
+  wire  _T_542; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71732.6]
+  wire  _T_543; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71733.6]
+  wire  _T_544; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@71738.6]
+  wire  _T_546; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71740.6]
+  wire  _T_547; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71741.6]
+  wire  _T_548; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@71746.6]
+  wire  _T_550; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71748.6]
+  wire  _T_551; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71749.6]
+  wire  _T_553; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@71756.4]
+  wire  _T_554; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@71764.4]
+  wire [12:0] _T_556; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@71766.4]
+  wire [5:0] _T_557; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@71767.4]
+  wire [5:0] _T_558; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@71768.4]
+  wire [3:0] _T_559; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@71769.4]
+  wire  _T_560; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@71770.4]
+  reg [3:0] _T_563; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@71772.4]
+  reg [31:0] _RAND_6;
+  wire [4:0] _T_564; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71773.4]
+  wire [4:0] _T_565; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71774.4]
+  wire [3:0] _T_566; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71775.4]
+  wire  _T_567; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@71776.4]
+  reg [2:0] _T_576; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@71787.4]
+  reg [31:0] _RAND_7;
+  reg [2:0] _T_580; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@71789.4]
+  reg [31:0] _RAND_8;
+  reg  _T_582; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@71790.4]
+  reg [31:0] _RAND_9;
+  wire  _T_587; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@71793.4]
+  wire  _T_588; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@71794.4]
+  wire  _T_589; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@71796.6]
+  wire  _T_591; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71798.6]
+  wire  _T_592; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71799.6]
+  wire  _T_597; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@71812.6]
+  wire  _T_599; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71814.6]
+  wire  _T_600; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71815.6]
+  wire  _T_601; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@71820.6]
+  wire  _T_603; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71822.6]
+  wire  _T_604; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71823.6]
+  wire  _T_614; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@71846.4]
+  reg [1:0] _T_616; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@71855.4]
+  reg [31:0] _RAND_10;
+  reg [3:0] _T_627; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@71865.4]
+  reg [31:0] _RAND_11;
+  wire [4:0] _T_628; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71866.4]
+  wire [4:0] _T_629; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71867.4]
+  wire [3:0] _T_630; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71868.4]
+  wire  _T_631; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@71869.4]
+  reg [3:0] _T_648; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@71888.4]
+  reg [31:0] _RAND_12;
+  wire [4:0] _T_649; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71889.4]
+  wire [4:0] _T_650; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71890.4]
+  wire [3:0] _T_651; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71891.4]
+  wire  _T_652; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@71892.4]
+  wire  _T_663; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@71907.4]
+  wire [1:0] _T_665; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@71910.6]
+  wire [1:0] _T_666; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@71912.6]
+  wire  _T_667; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@71913.6]
+  wire  _T_668; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71914.6]
+  wire  _T_670; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@71916.6]
+  wire  _T_671; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@71917.6]
+  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@71909.4]
+  wire  _T_676; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@71928.4]
+  wire  _T_678; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@71930.4]
+  wire  _T_679; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@71931.4]
+  wire [1:0] _T_680; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@71933.6]
+  wire [1:0] _T_681; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@71935.6]
+  wire [1:0] _T_682; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@71936.6]
+  wire  _T_683; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@71937.6]
+  wire  _T_685; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@71939.6]
+  wire  _T_686; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@71940.6]
+  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@71932.4]
+  wire [1:0] _T_687; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@71946.4]
+  wire [1:0] _T_688; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@71947.4]
+  wire [1:0] _T_689; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@71948.4]
+  reg [31:0] _T_691; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@71950.4]
+  reg [31:0] _RAND_13;
+  wire  _T_692; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@71953.4]
+  wire  _T_693; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@71954.4]
+  wire  _T_694; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@71955.4]
+  wire  _T_695; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@71956.4]
+  wire  _T_696; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@71957.4]
+  wire  _T_697; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@71958.4]
+  wire  _T_699; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@71960.4]
+  wire  _T_700; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@71961.4]
+  wire [31:0] _T_702; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@71967.4]
+  wire  _T_705; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@71971.4]
+  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70929.10]
+  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71001.10]
+  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71084.10]
+  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71143.10]
+  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71194.10]
+  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71244.10]
+  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71292.10]
+  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71340.10]
+  wire  _GEN_115; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71398.10]
+  wire  _GEN_119; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71440.10]
+  wire  _GEN_125; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71498.10]
+  wire  _GEN_131; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71557.10]
+  wire  _GEN_133; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71592.10]
+  wire  _GEN_135; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71628.10]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@71951.4]
+    .out(plusarg_reader_out)
+  );
+  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@70846.6]
+  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@70851.6]
+  assign _T_32 = 13'h3f << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@70853.6]
+  assign _T_33 = _T_32[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@70854.6]
+  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@70855.6]
+  assign _GEN_18 = {{23'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@70856.6]
+  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@70856.6]
+  assign _T_36 = _T_35 == 29'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@70857.6]
+  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@70859.6]
+  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@70860.6]
+  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@70862.6]
+  assign _T_42 = io_in_a_bits_size >= 3'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@70863.6]
+  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@70864.6]
+  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@70865.6]
+  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@70866.6]
+  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@70868.6]
+  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@70869.6]
+  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@70871.6]
+  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@70872.6]
+  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@70873.6]
+  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@70874.6]
+  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@70875.6]
+  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@70876.6]
+  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@70877.6]
+  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@70878.6]
+  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@70879.6]
+  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@70880.6]
+  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@70881.6]
+  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@70882.6]
+  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@70883.6]
+  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@70884.6]
+  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@70885.6]
+  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@70886.6]
+  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@70887.6]
+  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@70888.6]
+  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@70889.6]
+  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@70890.6]
+  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@70915.6]
+  assign _T_92 = io_in_a_bits_address ^ 29'h10024000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@70918.8]
+  assign _T_93 = {1'b0,$signed(_T_92)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@70919.8]
+  assign _T_94 = $signed(_T_93) & $signed(-30'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@70920.8]
+  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@70921.8]
+  assign _T_96 = $signed(_T_95) == $signed(30'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@70922.8]
+  assign _T_101 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70927.8]
+  assign _T_106 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70940.8]
+  assign _T_107 = _T_106 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70941.8]
+  assign _T_110 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70948.8]
+  assign _T_111 = _T_110 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70949.8]
+  assign _T_113 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70955.8]
+  assign _T_114 = _T_113 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70956.8]
+  assign _T_115 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@70961.8]
+  assign _T_117 = _T_115 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70963.8]
+  assign _T_118 = _T_117 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70964.8]
+  assign _T_119 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@70969.8]
+  assign _T_120 = _T_119 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70970.8]
+  assign _T_122 = _T_120 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70972.8]
+  assign _T_123 = _T_122 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70973.8]
+  assign _T_124 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@70978.8]
+  assign _T_126 = _T_124 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70980.8]
+  assign _T_127 = _T_126 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70981.8]
+  assign _T_128 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@70987.6]
+  assign _T_157 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71041.8]
+  assign _T_159 = _T_157 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71043.8]
+  assign _T_160 = _T_159 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71044.8]
+  assign _T_170 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@71067.6]
+  assign _T_172 = io_in_a_bits_size <= 3'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@71070.8]
+  assign _T_180 = _T_172 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@71078.8]
+  assign _T_183 = _T_180 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71081.8]
+  assign _T_184 = _T_183 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71082.8]
+  assign _T_191 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71101.8]
+  assign _T_193 = _T_191 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71103.8]
+  assign _T_194 = _T_193 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71104.8]
+  assign _T_195 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@71109.8]
+  assign _T_197 = _T_195 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71111.8]
+  assign _T_198 = _T_197 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71112.8]
+  assign _T_203 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@71126.6]
+  assign _T_232 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@71177.6]
+  assign _T_257 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@71219.8]
+  assign _T_258 = io_in_a_bits_mask & _T_257; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71220.8]
+  assign _T_259 = _T_258 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@71221.8]
+  assign _T_261 = _T_259 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71223.8]
+  assign _T_262 = _T_261 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71224.8]
+  assign _T_263 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@71230.6]
+  assign _T_281 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@71261.8]
+  assign _T_283 = _T_281 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71263.8]
+  assign _T_284 = _T_283 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71264.8]
+  assign _T_289 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@71278.6]
+  assign _T_307 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@71309.8]
+  assign _T_309 = _T_307 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71311.8]
+  assign _T_310 = _T_309 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71312.8]
+  assign _T_315 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@71326.6]
+  assign _T_341 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@71376.6]
+  assign _T_343 = _T_341 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@71378.6]
+  assign _T_344 = _T_343 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@71379.6]
+  assign _T_346 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@71385.6]
+  assign _T_355 = io_in_d_bits_source | _T_346; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@71390.6]
+  assign _T_357 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@71392.6]
+  assign _T_359 = _T_355 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71395.8]
+  assign _T_360 = _T_359 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71396.8]
+  assign _T_361 = io_in_d_bits_size >= 3'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@71401.8]
+  assign _T_363 = _T_361 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71403.8]
+  assign _T_364 = _T_363 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71404.8]
+  assign _T_377 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@71434.6]
+  assign _T_405 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@71492.6]
+  assign _T_434 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@71551.6]
+  assign _T_451 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@71586.6]
+  assign _T_469 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@71622.6]
+  assign _T_498 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@71682.4]
+  assign _T_503 = _T_34[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@71687.4]
+  assign _T_504 = io_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@71688.4]
+  assign _T_505 = _T_504 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71689.4]
+  assign _T_509 = _T_508 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71692.4]
+  assign _T_510 = $unsigned(_T_509); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71693.4]
+  assign _T_511 = _T_510[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71694.4]
+  assign _T_512 = _T_508 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@71695.4]
+  assign _T_530 = _T_512 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@71711.4]
+  assign _T_531 = io_in_a_valid & _T_530; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@71712.4]
+  assign _T_532 = io_in_a_bits_opcode == _T_521; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@71714.6]
+  assign _T_534 = _T_532 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71716.6]
+  assign _T_535 = _T_534 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71717.6]
+  assign _T_536 = io_in_a_bits_param == _T_523; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@71722.6]
+  assign _T_538 = _T_536 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71724.6]
+  assign _T_539 = _T_538 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71725.6]
+  assign _T_540 = io_in_a_bits_size == _T_525; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@71730.6]
+  assign _T_542 = _T_540 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71732.6]
+  assign _T_543 = _T_542 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71733.6]
+  assign _T_544 = io_in_a_bits_source == _T_527; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@71738.6]
+  assign _T_546 = _T_544 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71740.6]
+  assign _T_547 = _T_546 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71741.6]
+  assign _T_548 = io_in_a_bits_address == _T_529; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@71746.6]
+  assign _T_550 = _T_548 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71748.6]
+  assign _T_551 = _T_550 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71749.6]
+  assign _T_553 = _T_498 & _T_512; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@71756.4]
+  assign _T_554 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@71764.4]
+  assign _T_556 = 13'h3f << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@71766.4]
+  assign _T_557 = _T_556[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@71767.4]
+  assign _T_558 = ~ _T_557; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@71768.4]
+  assign _T_559 = _T_558[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@71769.4]
+  assign _T_560 = io_in_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@71770.4]
+  assign _T_564 = _T_563 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71773.4]
+  assign _T_565 = $unsigned(_T_564); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71774.4]
+  assign _T_566 = _T_565[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71775.4]
+  assign _T_567 = _T_563 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@71776.4]
+  assign _T_587 = _T_567 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@71793.4]
+  assign _T_588 = io_in_d_valid & _T_587; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@71794.4]
+  assign _T_589 = io_in_d_bits_opcode == _T_576; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@71796.6]
+  assign _T_591 = _T_589 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71798.6]
+  assign _T_592 = _T_591 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71799.6]
+  assign _T_597 = io_in_d_bits_size == _T_580; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@71812.6]
+  assign _T_599 = _T_597 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71814.6]
+  assign _T_600 = _T_599 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71815.6]
+  assign _T_601 = io_in_d_bits_source == _T_582; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@71820.6]
+  assign _T_603 = _T_601 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71822.6]
+  assign _T_604 = _T_603 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71823.6]
+  assign _T_614 = _T_554 & _T_567; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@71846.4]
+  assign _T_628 = _T_627 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71866.4]
+  assign _T_629 = $unsigned(_T_628); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71867.4]
+  assign _T_630 = _T_629[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71868.4]
+  assign _T_631 = _T_627 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@71869.4]
+  assign _T_649 = _T_648 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71889.4]
+  assign _T_650 = $unsigned(_T_649); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71890.4]
+  assign _T_651 = _T_650[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71891.4]
+  assign _T_652 = _T_648 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@71892.4]
+  assign _T_663 = _T_498 & _T_631; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@71907.4]
+  assign _T_665 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@71910.6]
+  assign _T_666 = _T_616 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@71912.6]
+  assign _T_667 = _T_666[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@71913.6]
+  assign _T_668 = _T_667 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71914.6]
+  assign _T_670 = _T_668 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@71916.6]
+  assign _T_671 = _T_670 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@71917.6]
+  assign _GEN_15 = _T_663 ? _T_665 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@71909.4]
+  assign _T_676 = _T_554 & _T_652; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@71928.4]
+  assign _T_678 = _T_357 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@71930.4]
+  assign _T_679 = _T_676 & _T_678; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@71931.4]
+  assign _T_680 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@71933.6]
+  assign _T_681 = _GEN_15 | _T_616; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@71935.6]
+  assign _T_682 = _T_681 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@71936.6]
+  assign _T_683 = _T_682[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@71937.6]
+  assign _T_685 = _T_683 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@71939.6]
+  assign _T_686 = _T_685 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@71940.6]
+  assign _GEN_16 = _T_679 ? _T_680 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@71932.4]
+  assign _T_687 = _T_616 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@71946.4]
+  assign _T_688 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@71947.4]
+  assign _T_689 = _T_687 & _T_688; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@71948.4]
+  assign _T_692 = _T_616 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@71953.4]
+  assign _T_693 = _T_692 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@71954.4]
+  assign _T_694 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@71955.4]
+  assign _T_695 = _T_693 | _T_694; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@71956.4]
+  assign _T_696 = _T_691 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@71957.4]
+  assign _T_697 = _T_695 | _T_696; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@71958.4]
+  assign _T_699 = _T_697 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@71960.4]
+  assign _T_700 = _T_699 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@71961.4]
+  assign _T_702 = _T_691 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@71967.4]
+  assign _T_705 = _T_498 | _T_554; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@71971.4]
+  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70929.10]
+  assign _GEN_35 = io_in_a_valid & _T_128; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71001.10]
+  assign _GEN_53 = io_in_a_valid & _T_170; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71084.10]
+  assign _GEN_65 = io_in_a_valid & _T_203; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71143.10]
+  assign _GEN_75 = io_in_a_valid & _T_232; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71194.10]
+  assign _GEN_85 = io_in_a_valid & _T_263; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71244.10]
+  assign _GEN_95 = io_in_a_valid & _T_289; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71292.10]
+  assign _GEN_105 = io_in_a_valid & _T_315; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71340.10]
+  assign _GEN_115 = io_in_d_valid & _T_357; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71398.10]
+  assign _GEN_119 = io_in_d_valid & _T_377; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71440.10]
+  assign _GEN_125 = io_in_d_valid & _T_405; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71498.10]
+  assign _GEN_131 = io_in_d_valid & _T_434; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71557.10]
+  assign _GEN_133 = io_in_d_valid & _T_451; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71592.10]
+  assign _GEN_135 = io_in_d_valid & _T_469; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71628.10]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  _T_508 = _RAND_0[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  _T_521 = _RAND_1[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  _T_523 = _RAND_2[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  _T_525 = _RAND_3[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  _T_527 = _RAND_4[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  _T_529 = _RAND_5[28:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {1{`RANDOM}};
+  _T_563 = _RAND_6[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {1{`RANDOM}};
+  _T_576 = _RAND_7[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_8 = {1{`RANDOM}};
+  _T_580 = _RAND_8[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_9 = {1{`RANDOM}};
+  _T_582 = _RAND_9[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_10 = {1{`RANDOM}};
+  _T_616 = _RAND_10[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_11 = {1{`RANDOM}};
+  _T_627 = _RAND_11[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_12 = {1{`RANDOM}};
+  _T_648 = _RAND_12[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_13 = {1{`RANDOM}};
+  _T_691 = _RAND_13[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      _T_508 <= 4'h0;
+    end else begin
+      if (_T_498) begin
+        if (_T_512) begin
+          if (_T_505) begin
+            _T_508 <= _T_503;
+          end else begin
+            _T_508 <= 4'h0;
+          end
+        end else begin
+          _T_508 <= _T_511;
+        end
+      end
+    end
+    if (_T_553) begin
+      _T_521 <= io_in_a_bits_opcode;
+    end
+    if (_T_553) begin
+      _T_523 <= io_in_a_bits_param;
+    end
+    if (_T_553) begin
+      _T_525 <= io_in_a_bits_size;
+    end
+    if (_T_553) begin
+      _T_527 <= io_in_a_bits_source;
+    end
+    if (_T_553) begin
+      _T_529 <= io_in_a_bits_address;
+    end
+    if (reset) begin
+      _T_563 <= 4'h0;
+    end else begin
+      if (_T_554) begin
+        if (_T_567) begin
+          if (_T_560) begin
+            _T_563 <= _T_559;
+          end else begin
+            _T_563 <= 4'h0;
+          end
+        end else begin
+          _T_563 <= _T_566;
+        end
+      end
+    end
+    if (_T_614) begin
+      _T_576 <= io_in_d_bits_opcode;
+    end
+    if (_T_614) begin
+      _T_580 <= io_in_d_bits_size;
+    end
+    if (_T_614) begin
+      _T_582 <= io_in_d_bits_source;
+    end
+    if (reset) begin
+      _T_616 <= 2'h0;
+    end else begin
+      _T_616 <= _T_689;
+    end
+    if (reset) begin
+      _T_627 <= 4'h0;
+    end else begin
+      if (_T_498) begin
+        if (_T_631) begin
+          if (_T_505) begin
+            _T_627 <= _T_503;
+          end else begin
+            _T_627 <= 4'h0;
+          end
+        end else begin
+          _T_627 <= _T_630;
+        end
+      end
+    end
+    if (reset) begin
+      _T_648 <= 4'h0;
+    end else begin
+      if (_T_554) begin
+        if (_T_652) begin
+          if (_T_560) begin
+            _T_648 <= _T_559;
+          end else begin
+            _T_648 <= 4'h0;
+          end
+        end else begin
+          _T_648 <= _T_651;
+        end
+      end
+    end
+    if (reset) begin
+      _T_691 <= 32'h0;
+    end else begin
+      if (_T_705) begin
+        _T_691 <= 32'h0;
+      end else begin
+        _T_691 <= _T_702;
+      end
+    end
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at SPI.scala:44:93)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@70842.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@70843.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@70912.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@70913.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at SPI.scala:44:93)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70929.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_101) begin
+          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70930.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at SPI.scala:44:93)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70936.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_101) begin
+          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70937.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at SPI.scala:44:93)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70943.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_107) begin
+          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70944.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_111) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at SPI.scala:44:93)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70951.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_111) begin
+          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70952.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at SPI.scala:44:93)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70958.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_114) begin
+          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70959.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_118) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at SPI.scala:44:93)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70966.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_118) begin
+          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70967.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_123) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at SPI.scala:44:93)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70975.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_123) begin
+          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70976.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_127) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at SPI.scala:44:93)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70983.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_127) begin
+          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70984.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at SPI.scala:44:93)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71001.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_101) begin
+          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71002.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at SPI.scala:44:93)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71008.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_101) begin
+          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71009.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at SPI.scala:44:93)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71015.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_107) begin
+          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71016.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_111) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at SPI.scala:44:93)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71023.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_111) begin
+          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71024.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at SPI.scala:44:93)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71030.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_114) begin
+          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71031.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_118) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at SPI.scala:44:93)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71038.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_118) begin
+          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71039.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_160) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at SPI.scala:44:93)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71046.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_160) begin
+          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71047.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_123) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at SPI.scala:44:93)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71055.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_123) begin
+          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71056.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_127) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at SPI.scala:44:93)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71063.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_127) begin
+          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71064.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_184) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at SPI.scala:44:93)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71084.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_184) begin
+          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71085.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at SPI.scala:44:93)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71091.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_107) begin
+          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71092.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at SPI.scala:44:93)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71098.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_114) begin
+          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71099.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_194) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at SPI.scala:44:93)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71106.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_194) begin
+          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71107.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_198) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at SPI.scala:44:93)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71114.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_198) begin
+          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71115.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_127) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at SPI.scala:44:93)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71122.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_127) begin
+          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71123.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_184) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at SPI.scala:44:93)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71143.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_184) begin
+          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71144.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at SPI.scala:44:93)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71150.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_107) begin
+          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71151.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at SPI.scala:44:93)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71157.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_114) begin
+          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71158.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_194) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at SPI.scala:44:93)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71165.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_194) begin
+          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71166.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_198) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at SPI.scala:44:93)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71173.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_198) begin
+          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71174.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_184) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at SPI.scala:44:93)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71194.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_184) begin
+          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71195.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at SPI.scala:44:93)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71201.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_107) begin
+          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71202.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at SPI.scala:44:93)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71208.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_114) begin
+          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71209.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_194) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at SPI.scala:44:93)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71216.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_194) begin
+          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71217.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_262) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at SPI.scala:44:93)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71226.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_262) begin
+          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71227.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at SPI.scala:44:93)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71244.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_101) begin
+          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71245.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at SPI.scala:44:93)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71251.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_107) begin
+          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71252.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at SPI.scala:44:93)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71258.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_114) begin
+          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71259.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_284) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at SPI.scala:44:93)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71266.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_284) begin
+          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71267.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_198) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at SPI.scala:44:93)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71274.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_198) begin
+          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71275.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at SPI.scala:44:93)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71292.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_101) begin
+          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71293.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at SPI.scala:44:93)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71299.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_107) begin
+          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71300.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at SPI.scala:44:93)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71306.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_114) begin
+          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71307.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_310) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at SPI.scala:44:93)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71314.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_310) begin
+          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71315.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_198) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at SPI.scala:44:93)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71322.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_198) begin
+          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71323.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at SPI.scala:44:93)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71340.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_101) begin
+          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71341.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at SPI.scala:44:93)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71347.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_107) begin
+          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71348.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at SPI.scala:44:93)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71354.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_114) begin
+          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71355.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_198) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at SPI.scala:44:93)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71362.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_198) begin
+          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71363.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_127) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at SPI.scala:44:93)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71370.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_127) begin
+          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71371.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_344) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at SPI.scala:44:93)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@71381.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_344) begin
+          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@71382.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_360) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at SPI.scala:44:93)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71398.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_360) begin
+          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71399.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_364) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at SPI.scala:44:93)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71406.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_364) begin
+          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71407.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at SPI.scala:44:93)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71414.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71415.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at SPI.scala:44:93)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71422.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71423.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at SPI.scala:44:93)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71430.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71431.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_119 & _T_360) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at SPI.scala:44:93)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71440.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_119 & _T_360) begin
+          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71441.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_119 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at SPI.scala:44:93)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71447.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_119 & _T_101) begin
+          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71448.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_119 & _T_364) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at SPI.scala:44:93)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71455.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_119 & _T_364) begin
+          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71456.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at SPI.scala:44:93)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71463.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71464.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at SPI.scala:44:93)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71471.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71472.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at SPI.scala:44:93)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71479.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71480.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at SPI.scala:44:93)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71488.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71489.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_360) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at SPI.scala:44:93)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71498.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_360) begin
+          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71499.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at SPI.scala:44:93)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71505.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_101) begin
+          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71506.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_364) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at SPI.scala:44:93)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71513.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_364) begin
+          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71514.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at SPI.scala:44:93)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71521.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71522.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at SPI.scala:44:93)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71529.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71530.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at SPI.scala:44:93)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71538.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71539.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at SPI.scala:44:93)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71547.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71548.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_131 & _T_360) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at SPI.scala:44:93)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71557.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_131 & _T_360) begin
+          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71558.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at SPI.scala:44:93)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71565.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71566.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at SPI.scala:44:93)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71573.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71574.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at SPI.scala:44:93)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71582.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71583.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_133 & _T_360) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at SPI.scala:44:93)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71592.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_133 & _T_360) begin
+          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71593.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at SPI.scala:44:93)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71600.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71601.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at SPI.scala:44:93)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71609.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71610.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at SPI.scala:44:93)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71618.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71619.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_135 & _T_360) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at SPI.scala:44:93)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71628.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_135 & _T_360) begin
+          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71629.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at SPI.scala:44:93)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71636.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71637.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at SPI.scala:44:93)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71644.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71645.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at SPI.scala:44:93)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71653.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71654.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at SPI.scala:44:93)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71663.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71664.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at SPI.scala:44:93)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71671.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71672.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at SPI.scala:44:93)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71679.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71680.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_531 & _T_535) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at SPI.scala:44:93)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71719.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_531 & _T_535) begin
+          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71720.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_531 & _T_539) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at SPI.scala:44:93)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71727.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_531 & _T_539) begin
+          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71728.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_531 & _T_543) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at SPI.scala:44:93)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71735.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_531 & _T_543) begin
+          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71736.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_531 & _T_547) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at SPI.scala:44:93)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71743.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_531 & _T_547) begin
+          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71744.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_531 & _T_551) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at SPI.scala:44:93)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71751.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_531 & _T_551) begin
+          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71752.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_588 & _T_592) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at SPI.scala:44:93)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71801.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_588 & _T_592) begin
+          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71802.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at SPI.scala:44:93)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71809.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71810.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_588 & _T_600) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at SPI.scala:44:93)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71817.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_588 & _T_600) begin
+          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71818.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_588 & _T_604) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at SPI.scala:44:93)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71825.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_588 & _T_604) begin
+          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71826.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at SPI.scala:44:93)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71833.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71834.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at SPI.scala:44:93)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71841.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71842.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_663 & _T_671) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at SPI.scala:44:93)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@71919.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_663 & _T_671) begin
+          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@71920.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_679 & _T_686) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at SPI.scala:44:93)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@71942.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_679 & _T_686) begin
+          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@71943.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_700) begin
+          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at SPI.scala:44:93)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@71963.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_700) begin
+          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@71964.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+endmodule
+module TLFragmenter_12( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72007.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72008.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72009.4]
+  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72010.4]
+  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72010.4]
+  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72010.4]
+  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72010.4]
+  input  [2:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72010.4]
+  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72010.4]
+  input  [28:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72010.4]
+  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72010.4]
+  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72010.4]
+  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72010.4]
+  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72010.4]
+  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72010.4]
+  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72010.4]
+  output [2:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72010.4]
+  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72010.4]
+  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72010.4]
+  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72010.4]
+  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72010.4]
+  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72010.4]
+  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72010.4]
+  output [1:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72010.4]
+  output [5:0]  auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72010.4]
+  output [28:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72010.4]
+  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72010.4]
+  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72010.4]
+  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72010.4]
+  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72010.4]
+  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72010.4]
+  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72010.4]
+  input  [1:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72010.4]
+  input  [5:0]  auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72010.4]
+  input  [31:0] auto_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72010.4]
+);
+  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@72017.4]
+  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@72017.4]
+  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@72017.4]
+  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@72017.4]
+  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@72017.4]
+  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@72017.4]
+  wire [2:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@72017.4]
+  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@72017.4]
+  wire [28:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@72017.4]
+  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@72017.4]
+  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@72017.4]
+  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@72017.4]
+  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@72017.4]
+  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@72017.4]
+  wire [2:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@72017.4]
+  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@72017.4]
+  wire  Repeater_clock; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@72134.4]
+  wire  Repeater_reset; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@72134.4]
+  wire  Repeater_io_repeat; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@72134.4]
+  wire  Repeater_io_full; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@72134.4]
+  wire  Repeater_io_enq_ready; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@72134.4]
+  wire  Repeater_io_enq_valid; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@72134.4]
+  wire [2:0] Repeater_io_enq_bits_opcode; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@72134.4]
+  wire [2:0] Repeater_io_enq_bits_param; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@72134.4]
+  wire [2:0] Repeater_io_enq_bits_size; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@72134.4]
+  wire  Repeater_io_enq_bits_source; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@72134.4]
+  wire [28:0] Repeater_io_enq_bits_address; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@72134.4]
+  wire [3:0] Repeater_io_enq_bits_mask; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@72134.4]
+  wire  Repeater_io_enq_bits_corrupt; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@72134.4]
+  wire  Repeater_io_deq_ready; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@72134.4]
+  wire  Repeater_io_deq_valid; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@72134.4]
+  wire [2:0] Repeater_io_deq_bits_opcode; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@72134.4]
+  wire [2:0] Repeater_io_deq_bits_param; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@72134.4]
+  wire [2:0] Repeater_io_deq_bits_size; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@72134.4]
+  wire  Repeater_io_deq_bits_source; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@72134.4]
+  wire [28:0] Repeater_io_deq_bits_address; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@72134.4]
+  wire [3:0] Repeater_io_deq_bits_mask; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@72134.4]
+  wire  Repeater_io_deq_bits_corrupt; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@72134.4]
+  reg [3:0] _T_244; // @[Fragmenter.scala 167:27:shc.marmotcaravel.MarmotCaravelConfig.fir@72058.4]
+  reg [31:0] _RAND_0;
+  reg [2:0] _T_246; // @[Fragmenter.scala 168:22:shc.marmotcaravel.MarmotCaravelConfig.fir@72059.4]
+  reg [31:0] _RAND_1;
+  reg  _T_248; // @[Fragmenter.scala 169:28:shc.marmotcaravel.MarmotCaravelConfig.fir@72060.4]
+  reg [31:0] _RAND_2;
+  wire [3:0] _T_249; // @[Fragmenter.scala 170:39:shc.marmotcaravel.MarmotCaravelConfig.fir@72061.4]
+  wire  _T_250; // @[Fragmenter.scala 171:27:shc.marmotcaravel.MarmotCaravelConfig.fir@72062.4]
+  wire  _T_251; // @[Fragmenter.scala 172:28:shc.marmotcaravel.MarmotCaravelConfig.fir@72063.4]
+  wire [3:0] _T_253; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@72065.4]
+  wire [2:0] _T_254; // @[OneHot.scala 52:27:shc.marmotcaravel.MarmotCaravelConfig.fir@72066.4]
+  wire [4:0] _T_256; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@72068.4]
+  wire [1:0] _T_257; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@72069.4]
+  wire [1:0] _T_258; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@72070.4]
+  wire  _T_259; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@72071.4]
+  wire  _T_271; // @[Fragmenter.scala 182:58:shc.marmotcaravel.MarmotCaravelConfig.fir@72087.4]
+  wire  _T_272; // @[Fragmenter.scala 182:30:shc.marmotcaravel.MarmotCaravelConfig.fir@72088.4]
+  wire [5:0] _GEN_7; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@72089.4]
+  wire [5:0] _T_273; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@72089.4]
+  wire [5:0] _GEN_8; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@72090.4]
+  wire [5:0] _T_274; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@72090.4]
+  wire [6:0] _GEN_9; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@72091.4]
+  wire [6:0] _T_275; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@72091.4]
+  wire [6:0] _T_276; // @[package.scala 183:40:shc.marmotcaravel.MarmotCaravelConfig.fir@72092.4]
+  wire [6:0] _T_277; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@72093.4]
+  wire [6:0] _T_278; // @[package.scala 183:53:shc.marmotcaravel.MarmotCaravelConfig.fir@72094.4]
+  wire [6:0] _T_279; // @[package.scala 183:51:shc.marmotcaravel.MarmotCaravelConfig.fir@72095.4]
+  wire [2:0] _T_280; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@72096.4]
+  wire [3:0] _T_281; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@72097.4]
+  wire  _T_282; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72098.4]
+  wire [3:0] _GEN_10; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@72099.4]
+  wire [3:0] _T_283; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@72099.4]
+  wire [1:0] _T_284; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@72100.4]
+  wire [1:0] _T_285; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@72101.4]
+  wire  _T_286; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72102.4]
+  wire [1:0] _T_287; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@72103.4]
+  wire  _T_288; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@72104.4]
+  wire [1:0] _T_289; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@72105.4]
+  wire [2:0] _T_290; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@72106.4]
+  wire  _T_297; // @[Fragmenter.scala 200:18:shc.marmotcaravel.MarmotCaravelConfig.fir@72120.4]
+  wire  _T_299; // @[Fragmenter.scala 200:31:shc.marmotcaravel.MarmotCaravelConfig.fir@72122.4]
+  wire  _T_300; // @[Fragmenter.scala 200:28:shc.marmotcaravel.MarmotCaravelConfig.fir@72123.4]
+  wire  _T_301; // @[Fragmenter.scala 201:33:shc.marmotcaravel.MarmotCaravelConfig.fir@72124.4]
+  wire  _T_291; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@72107.4]
+  wire [3:0] _GEN_11; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@72109.6]
+  wire [4:0] _T_292; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@72109.6]
+  wire [4:0] _T_293; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@72110.6]
+  wire [3:0] _T_294; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@72111.6]
+  wire  _T_296; // @[Fragmenter.scala 190:39:shc.marmotcaravel.MarmotCaravelConfig.fir@72116.8]
+  wire  _T_302; // @[Fragmenter.scala 202:37:shc.marmotcaravel.MarmotCaravelConfig.fir@72126.4]
+  wire  _T_330; // @[Fragmenter.scala 262:29:shc.marmotcaravel.MarmotCaravelConfig.fir@72159.4]
+  wire [2:0] _T_331; // @[Fragmenter.scala 262:22:shc.marmotcaravel.MarmotCaravelConfig.fir@72160.4]
+  wire [12:0] _T_333; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@72162.4]
+  wire [5:0] _T_334; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@72163.4]
+  wire [5:0] _T_335; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@72164.4]
+  wire [8:0] _T_337; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@72166.4]
+  wire [1:0] _T_338; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@72167.4]
+  wire [1:0] _T_339; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@72168.4]
+  wire  _T_340; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@72169.4]
+  wire  _T_341; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@72170.4]
+  reg [3:0] _T_344; // @[Fragmenter.scala 268:27:shc.marmotcaravel.MarmotCaravelConfig.fir@72172.4]
+  reg [31:0] _RAND_3;
+  wire  _T_345; // @[Fragmenter.scala 269:27:shc.marmotcaravel.MarmotCaravelConfig.fir@72173.4]
+  wire [3:0] _T_346; // @[Fragmenter.scala 270:46:shc.marmotcaravel.MarmotCaravelConfig.fir@72174.4]
+  wire [4:0] _T_347; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@72175.4]
+  wire [4:0] _T_348; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@72176.4]
+  wire [3:0] _T_349; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@72177.4]
+  wire [3:0] _T_350; // @[Fragmenter.scala 270:28:shc.marmotcaravel.MarmotCaravelConfig.fir@72178.4]
+  wire [3:0] _T_351; // @[Fragmenter.scala 271:26:shc.marmotcaravel.MarmotCaravelConfig.fir@72179.4]
+  wire [3:0] _T_354; // @[Fragmenter.scala 271:24:shc.marmotcaravel.MarmotCaravelConfig.fir@72182.4]
+  reg  _T_362; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@72189.4]
+  reg [31:0] _RAND_4;
+  wire  _GEN_5; // @[Reg.scala 12:19:shc.marmotcaravel.MarmotCaravelConfig.fir@72190.4]
+  wire  _T_364; // @[Fragmenter.scala 274:21:shc.marmotcaravel.MarmotCaravelConfig.fir@72194.4]
+  wire  _T_92_a_valid; // @[Nodes.scala 332:76:shc.marmotcaravel.MarmotCaravelConfig.fir@72054.4 Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@72203.4]
+  wire  _T_365; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@72195.4]
+  wire  _T_366; // @[Fragmenter.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@72199.4]
+  wire  _T_367; // @[Fragmenter.scala 279:51:shc.marmotcaravel.MarmotCaravelConfig.fir@72200.4]
+  wire [5:0] _GEN_12; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@72204.4]
+  wire [5:0] _T_369; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@72204.4]
+  wire [5:0] _T_370; // @[Fragmenter.scala 281:88:shc.marmotcaravel.MarmotCaravelConfig.fir@72205.4]
+  wire [5:0] _T_371; // @[Fragmenter.scala 281:86:shc.marmotcaravel.MarmotCaravelConfig.fir@72206.4]
+  wire [5:0] _GEN_13; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@72207.4]
+  wire [5:0] _T_372; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@72207.4]
+  wire [5:0] _T_373; // @[Fragmenter.scala 281:109:shc.marmotcaravel.MarmotCaravelConfig.fir@72208.4]
+  wire [5:0] _T_374; // @[Fragmenter.scala 281:49:shc.marmotcaravel.MarmotCaravelConfig.fir@72209.4]
+  wire [28:0] _GEN_14; // @[Fragmenter.scala 281:47:shc.marmotcaravel.MarmotCaravelConfig.fir@72210.4]
+  wire [1:0] _T_376; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@72212.4]
+  wire  _T_378; // @[Fragmenter.scala 286:15:shc.marmotcaravel.MarmotCaravelConfig.fir@72216.4]
+  wire  _T_380; // @[Fragmenter.scala 286:33:shc.marmotcaravel.MarmotCaravelConfig.fir@72218.4]
+  wire  _T_382; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72220.4]
+  wire  _T_383; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72221.4]
+  wire  _T_385; // @[Fragmenter.scala 289:51:shc.marmotcaravel.MarmotCaravelConfig.fir@72228.4]
+  wire  _T_386; // @[Fragmenter.scala 289:33:shc.marmotcaravel.MarmotCaravelConfig.fir@72229.4]
+  wire  _T_388; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72231.4]
+  wire  _T_389; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72232.4]
+  TLMonitor_41 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@72017.4]
+    .clock(TLMonitor_clock),
+    .reset(TLMonitor_reset),
+    .io_in_a_ready(TLMonitor_io_in_a_ready),
+    .io_in_a_valid(TLMonitor_io_in_a_valid),
+    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
+    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
+    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
+    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
+    .io_in_d_ready(TLMonitor_io_in_d_ready),
+    .io_in_d_valid(TLMonitor_io_in_d_valid),
+    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
+    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
+    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source)
+  );
+  Repeater_4 Repeater ( // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@72134.4]
+    .clock(Repeater_clock),
+    .reset(Repeater_reset),
+    .io_repeat(Repeater_io_repeat),
+    .io_full(Repeater_io_full),
+    .io_enq_ready(Repeater_io_enq_ready),
+    .io_enq_valid(Repeater_io_enq_valid),
+    .io_enq_bits_opcode(Repeater_io_enq_bits_opcode),
+    .io_enq_bits_param(Repeater_io_enq_bits_param),
+    .io_enq_bits_size(Repeater_io_enq_bits_size),
+    .io_enq_bits_source(Repeater_io_enq_bits_source),
+    .io_enq_bits_address(Repeater_io_enq_bits_address),
+    .io_enq_bits_mask(Repeater_io_enq_bits_mask),
+    .io_enq_bits_corrupt(Repeater_io_enq_bits_corrupt),
+    .io_deq_ready(Repeater_io_deq_ready),
+    .io_deq_valid(Repeater_io_deq_valid),
+    .io_deq_bits_opcode(Repeater_io_deq_bits_opcode),
+    .io_deq_bits_param(Repeater_io_deq_bits_param),
+    .io_deq_bits_size(Repeater_io_deq_bits_size),
+    .io_deq_bits_source(Repeater_io_deq_bits_source),
+    .io_deq_bits_address(Repeater_io_deq_bits_address),
+    .io_deq_bits_mask(Repeater_io_deq_bits_mask),
+    .io_deq_bits_corrupt(Repeater_io_deq_bits_corrupt)
+  );
+  assign _T_249 = auto_out_d_bits_source[3:0]; // @[Fragmenter.scala 170:39:shc.marmotcaravel.MarmotCaravelConfig.fir@72061.4]
+  assign _T_250 = _T_244 == 4'h0; // @[Fragmenter.scala 171:27:shc.marmotcaravel.MarmotCaravelConfig.fir@72062.4]
+  assign _T_251 = _T_249 == 4'h0; // @[Fragmenter.scala 172:28:shc.marmotcaravel.MarmotCaravelConfig.fir@72063.4]
+  assign _T_253 = 4'h1 << auto_out_d_bits_size; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@72065.4]
+  assign _T_254 = _T_253[2:0]; // @[OneHot.scala 52:27:shc.marmotcaravel.MarmotCaravelConfig.fir@72066.4]
+  assign _T_256 = 5'h3 << auto_out_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@72068.4]
+  assign _T_257 = _T_256[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@72069.4]
+  assign _T_258 = ~ _T_257; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@72070.4]
+  assign _T_259 = auto_out_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@72071.4]
+  assign _T_271 = _T_254[2:2]; // @[Fragmenter.scala 182:58:shc.marmotcaravel.MarmotCaravelConfig.fir@72087.4]
+  assign _T_272 = _T_259 ? 1'h1 : _T_271; // @[Fragmenter.scala 182:30:shc.marmotcaravel.MarmotCaravelConfig.fir@72088.4]
+  assign _GEN_7 = {{2'd0}, _T_249}; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@72089.4]
+  assign _T_273 = _GEN_7 << 2; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@72089.4]
+  assign _GEN_8 = {{4'd0}, _T_258}; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@72090.4]
+  assign _T_274 = _T_273 | _GEN_8; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@72090.4]
+  assign _GEN_9 = {{1'd0}, _T_274}; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@72091.4]
+  assign _T_275 = _GEN_9 << 1; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@72091.4]
+  assign _T_276 = _T_275 | 7'h1; // @[package.scala 183:40:shc.marmotcaravel.MarmotCaravelConfig.fir@72092.4]
+  assign _T_277 = {1'h0,_T_274}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@72093.4]
+  assign _T_278 = ~ _T_277; // @[package.scala 183:53:shc.marmotcaravel.MarmotCaravelConfig.fir@72094.4]
+  assign _T_279 = _T_276 & _T_278; // @[package.scala 183:51:shc.marmotcaravel.MarmotCaravelConfig.fir@72095.4]
+  assign _T_280 = _T_279[6:4]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@72096.4]
+  assign _T_281 = _T_279[3:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@72097.4]
+  assign _T_282 = _T_280 != 3'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72098.4]
+  assign _GEN_10 = {{1'd0}, _T_280}; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@72099.4]
+  assign _T_283 = _GEN_10 | _T_281; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@72099.4]
+  assign _T_284 = _T_283[3:2]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@72100.4]
+  assign _T_285 = _T_283[1:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@72101.4]
+  assign _T_286 = _T_284 != 2'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72102.4]
+  assign _T_287 = _T_284 | _T_285; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@72103.4]
+  assign _T_288 = _T_287[1]; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@72104.4]
+  assign _T_289 = {_T_286,_T_288}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@72105.4]
+  assign _T_290 = {_T_282,_T_289}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@72106.4]
+  assign _T_297 = _T_259 == 1'h0; // @[Fragmenter.scala 200:18:shc.marmotcaravel.MarmotCaravelConfig.fir@72120.4]
+  assign _T_299 = _T_251 == 1'h0; // @[Fragmenter.scala 200:31:shc.marmotcaravel.MarmotCaravelConfig.fir@72122.4]
+  assign _T_300 = _T_297 & _T_299; // @[Fragmenter.scala 200:28:shc.marmotcaravel.MarmotCaravelConfig.fir@72123.4]
+  assign _T_301 = auto_in_d_ready | _T_300; // @[Fragmenter.scala 201:33:shc.marmotcaravel.MarmotCaravelConfig.fir@72124.4]
+  assign _T_291 = _T_301 & auto_out_d_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@72107.4]
+  assign _GEN_11 = {{3'd0}, _T_272}; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@72109.6]
+  assign _T_292 = _T_244 - _GEN_11; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@72109.6]
+  assign _T_293 = $unsigned(_T_292); // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@72110.6]
+  assign _T_294 = _T_293[3:0]; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@72111.6]
+  assign _T_296 = auto_out_d_bits_source[4]; // @[Fragmenter.scala 190:39:shc.marmotcaravel.MarmotCaravelConfig.fir@72116.8]
+  assign _T_302 = _T_300 == 1'h0; // @[Fragmenter.scala 202:37:shc.marmotcaravel.MarmotCaravelConfig.fir@72126.4]
+  assign _T_330 = Repeater_io_deq_bits_size > 3'h2; // @[Fragmenter.scala 262:29:shc.marmotcaravel.MarmotCaravelConfig.fir@72159.4]
+  assign _T_331 = _T_330 ? 3'h2 : Repeater_io_deq_bits_size; // @[Fragmenter.scala 262:22:shc.marmotcaravel.MarmotCaravelConfig.fir@72160.4]
+  assign _T_333 = 13'h3f << Repeater_io_deq_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@72162.4]
+  assign _T_334 = _T_333[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@72163.4]
+  assign _T_335 = ~ _T_334; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@72164.4]
+  assign _T_337 = 9'h3 << _T_331; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@72166.4]
+  assign _T_338 = _T_337[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@72167.4]
+  assign _T_339 = ~ _T_338; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@72168.4]
+  assign _T_340 = Repeater_io_deq_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@72169.4]
+  assign _T_341 = _T_340 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@72170.4]
+  assign _T_345 = _T_344 == 4'h0; // @[Fragmenter.scala 269:27:shc.marmotcaravel.MarmotCaravelConfig.fir@72173.4]
+  assign _T_346 = _T_335[5:2]; // @[Fragmenter.scala 270:46:shc.marmotcaravel.MarmotCaravelConfig.fir@72174.4]
+  assign _T_347 = _T_344 - 4'h1; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@72175.4]
+  assign _T_348 = $unsigned(_T_347); // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@72176.4]
+  assign _T_349 = _T_348[3:0]; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@72177.4]
+  assign _T_350 = _T_345 ? _T_346 : _T_349; // @[Fragmenter.scala 270:28:shc.marmotcaravel.MarmotCaravelConfig.fir@72178.4]
+  assign _T_351 = ~ _T_350; // @[Fragmenter.scala 271:26:shc.marmotcaravel.MarmotCaravelConfig.fir@72179.4]
+  assign _T_354 = ~ _T_351; // @[Fragmenter.scala 271:24:shc.marmotcaravel.MarmotCaravelConfig.fir@72182.4]
+  assign _GEN_5 = _T_345 ? _T_248 : _T_362; // @[Reg.scala 12:19:shc.marmotcaravel.MarmotCaravelConfig.fir@72190.4]
+  assign _T_364 = _GEN_5 == 1'h0; // @[Fragmenter.scala 274:21:shc.marmotcaravel.MarmotCaravelConfig.fir@72194.4]
+  assign _T_92_a_valid = Repeater_io_deq_valid; // @[Nodes.scala 332:76:shc.marmotcaravel.MarmotCaravelConfig.fir@72054.4 Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@72203.4]
+  assign _T_365 = auto_out_a_ready & _T_92_a_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@72195.4]
+  assign _T_366 = _T_341 == 1'h0; // @[Fragmenter.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@72199.4]
+  assign _T_367 = _T_354 != 4'h0; // @[Fragmenter.scala 279:51:shc.marmotcaravel.MarmotCaravelConfig.fir@72200.4]
+  assign _GEN_12 = {{2'd0}, _T_350}; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@72204.4]
+  assign _T_369 = _GEN_12 << 2; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@72204.4]
+  assign _T_370 = ~ _T_335; // @[Fragmenter.scala 281:88:shc.marmotcaravel.MarmotCaravelConfig.fir@72205.4]
+  assign _T_371 = _T_369 | _T_370; // @[Fragmenter.scala 281:86:shc.marmotcaravel.MarmotCaravelConfig.fir@72206.4]
+  assign _GEN_13 = {{4'd0}, _T_339}; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@72207.4]
+  assign _T_372 = _T_371 | _GEN_13; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@72207.4]
+  assign _T_373 = _T_372 | 6'h3; // @[Fragmenter.scala 281:109:shc.marmotcaravel.MarmotCaravelConfig.fir@72208.4]
+  assign _T_374 = ~ _T_373; // @[Fragmenter.scala 281:49:shc.marmotcaravel.MarmotCaravelConfig.fir@72209.4]
+  assign _GEN_14 = {{23'd0}, _T_374}; // @[Fragmenter.scala 281:47:shc.marmotcaravel.MarmotCaravelConfig.fir@72210.4]
+  assign _T_376 = {Repeater_io_deq_bits_source,_T_364}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@72212.4]
+  assign _T_378 = Repeater_io_full == 1'h0; // @[Fragmenter.scala 286:15:shc.marmotcaravel.MarmotCaravelConfig.fir@72216.4]
+  assign _T_380 = _T_378 | _T_366; // @[Fragmenter.scala 286:33:shc.marmotcaravel.MarmotCaravelConfig.fir@72218.4]
+  assign _T_382 = _T_380 | reset; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72220.4]
+  assign _T_383 = _T_382 == 1'h0; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72221.4]
+  assign _T_385 = Repeater_io_deq_bits_mask == 4'hf; // @[Fragmenter.scala 289:51:shc.marmotcaravel.MarmotCaravelConfig.fir@72228.4]
+  assign _T_386 = _T_378 | _T_385; // @[Fragmenter.scala 289:33:shc.marmotcaravel.MarmotCaravelConfig.fir@72229.4]
+  assign _T_388 = _T_386 | reset; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72231.4]
+  assign _T_389 = _T_388 == 1'h0; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72232.4]
+  assign auto_in_a_ready = Repeater_io_enq_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@72057.4]
+  assign auto_in_d_valid = auto_out_d_valid & _T_302; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@72057.4]
+  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@72057.4]
+  assign auto_in_d_bits_size = _T_250 ? _T_290 : _T_246; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@72057.4]
+  assign auto_in_d_bits_source = auto_out_d_bits_source[5:5]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@72057.4]
+  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@72057.4]
+  assign auto_out_a_valid = Repeater_io_deq_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@72056.4]
+  assign auto_out_a_bits_opcode = Repeater_io_deq_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@72056.4]
+  assign auto_out_a_bits_param = Repeater_io_deq_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@72056.4]
+  assign auto_out_a_bits_size = _T_331[1:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@72056.4]
+  assign auto_out_a_bits_source = {_T_376,_T_354}; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@72056.4]
+  assign auto_out_a_bits_address = Repeater_io_deq_bits_address | _GEN_14; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@72056.4]
+  assign auto_out_a_bits_mask = Repeater_io_full ? 4'hf : auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@72056.4]
+  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@72056.4]
+  assign auto_out_a_bits_corrupt = Repeater_io_deq_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@72056.4]
+  assign auto_out_d_ready = auto_in_d_ready | _T_300; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@72056.4]
+  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72019.4]
+  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72020.4]
+  assign TLMonitor_io_in_a_ready = Repeater_io_enq_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@72053.4]
+  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@72053.4]
+  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@72053.4]
+  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@72053.4]
+  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@72053.4]
+  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@72053.4]
+  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@72053.4]
+  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@72053.4]
+  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@72053.4]
+  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@72053.4]
+  assign TLMonitor_io_in_d_valid = auto_out_d_valid & _T_302; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@72053.4]
+  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@72053.4]
+  assign TLMonitor_io_in_d_bits_size = _T_250 ? _T_290 : _T_246; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@72053.4]
+  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source[5:5]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@72053.4]
+  assign Repeater_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72136.4]
+  assign Repeater_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72137.4]
+  assign Repeater_io_repeat = _T_366 & _T_367; // @[Fragmenter.scala 279:26:shc.marmotcaravel.MarmotCaravelConfig.fir@72202.4]
+  assign Repeater_io_enq_valid = auto_in_a_valid; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@72138.4]
+  assign Repeater_io_enq_bits_opcode = auto_in_a_bits_opcode; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@72138.4]
+  assign Repeater_io_enq_bits_param = auto_in_a_bits_param; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@72138.4]
+  assign Repeater_io_enq_bits_size = auto_in_a_bits_size; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@72138.4]
+  assign Repeater_io_enq_bits_source = auto_in_a_bits_source; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@72138.4]
+  assign Repeater_io_enq_bits_address = auto_in_a_bits_address; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@72138.4]
+  assign Repeater_io_enq_bits_mask = auto_in_a_bits_mask; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@72138.4]
+  assign Repeater_io_enq_bits_corrupt = auto_in_a_bits_corrupt; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@72138.4]
+  assign Repeater_io_deq_ready = auto_out_a_ready; // @[Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@72203.4]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  _T_244 = _RAND_0[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  _T_246 = _RAND_1[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  _T_248 = _RAND_2[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  _T_344 = _RAND_3[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  _T_362 = _RAND_4[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      _T_244 <= 4'h0;
+    end else begin
+      if (_T_291) begin
+        if (_T_250) begin
+          _T_244 <= _T_249;
+        end else begin
+          _T_244 <= _T_294;
+        end
+      end
+    end
+    if (_T_291) begin
+      if (_T_250) begin
+        _T_246 <= _T_290;
+      end
+    end
+    if (reset) begin
+      _T_248 <= 1'h0;
+    end else begin
+      if (_T_291) begin
+        if (_T_250) begin
+          _T_248 <= _T_296;
+        end
+      end
+    end
+    if (reset) begin
+      _T_344 <= 4'h0;
+    end else begin
+      if (_T_365) begin
+        _T_344 <= _T_354;
+      end
+    end
+    if (_T_345) begin
+      _T_362 <= _T_248;
+    end
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:180 assert (!out.d.valid || (acknum_fragment & acknum_size) === UInt(0))\n"); // @[Fragmenter.scala 180:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72082.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Fragmenter.scala 180:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72083.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_383) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:286 assert (!repeater.io.full || !aHasData)\n"); // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72223.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_383) begin
+          $fatal; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72224.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_389) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:289 assert (!repeater.io.full || in_a.bits.mask === fullMask)\n"); // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72234.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_389) begin
+          $fatal; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72235.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+endmodule
+module SimpleLazyModule_20( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72246.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72247.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72248.4]
+  output        auto_fragmenter_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72249.4]
+  input         auto_fragmenter_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72249.4]
+  input  [2:0]  auto_fragmenter_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72249.4]
+  input  [2:0]  auto_fragmenter_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72249.4]
+  input  [2:0]  auto_fragmenter_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72249.4]
+  input         auto_fragmenter_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72249.4]
+  input  [28:0] auto_fragmenter_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72249.4]
+  input  [3:0]  auto_fragmenter_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72249.4]
+  input  [31:0] auto_fragmenter_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72249.4]
+  input         auto_fragmenter_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72249.4]
+  input         auto_fragmenter_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72249.4]
+  output        auto_fragmenter_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72249.4]
+  output [2:0]  auto_fragmenter_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72249.4]
+  output [2:0]  auto_fragmenter_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72249.4]
+  output        auto_fragmenter_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72249.4]
+  output [31:0] auto_fragmenter_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72249.4]
+  input         auto_control_xing_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72249.4]
+  output        auto_control_xing_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72249.4]
+  output [2:0]  auto_control_xing_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72249.4]
+  output [2:0]  auto_control_xing_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72249.4]
+  output [1:0]  auto_control_xing_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72249.4]
+  output [5:0]  auto_control_xing_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72249.4]
+  output [28:0] auto_control_xing_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72249.4]
+  output [3:0]  auto_control_xing_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72249.4]
+  output [31:0] auto_control_xing_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72249.4]
+  output        auto_control_xing_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72249.4]
+  output        auto_control_xing_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72249.4]
+  input         auto_control_xing_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72249.4]
+  input  [2:0]  auto_control_xing_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72249.4]
+  input  [1:0]  auto_control_xing_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72249.4]
+  input  [5:0]  auto_control_xing_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72249.4]
+  input  [31:0] auto_control_xing_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72249.4]
+);
+  wire  fragmenter_clock; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@72254.4]
+  wire  fragmenter_reset; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@72254.4]
+  wire  fragmenter_auto_in_a_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@72254.4]
+  wire  fragmenter_auto_in_a_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@72254.4]
+  wire [2:0] fragmenter_auto_in_a_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@72254.4]
+  wire [2:0] fragmenter_auto_in_a_bits_param; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@72254.4]
+  wire [2:0] fragmenter_auto_in_a_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@72254.4]
+  wire  fragmenter_auto_in_a_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@72254.4]
+  wire [28:0] fragmenter_auto_in_a_bits_address; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@72254.4]
+  wire [3:0] fragmenter_auto_in_a_bits_mask; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@72254.4]
+  wire [31:0] fragmenter_auto_in_a_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@72254.4]
+  wire  fragmenter_auto_in_a_bits_corrupt; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@72254.4]
+  wire  fragmenter_auto_in_d_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@72254.4]
+  wire  fragmenter_auto_in_d_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@72254.4]
+  wire [2:0] fragmenter_auto_in_d_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@72254.4]
+  wire [2:0] fragmenter_auto_in_d_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@72254.4]
+  wire  fragmenter_auto_in_d_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@72254.4]
+  wire [31:0] fragmenter_auto_in_d_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@72254.4]
+  wire  fragmenter_auto_out_a_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@72254.4]
+  wire  fragmenter_auto_out_a_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@72254.4]
+  wire [2:0] fragmenter_auto_out_a_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@72254.4]
+  wire [2:0] fragmenter_auto_out_a_bits_param; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@72254.4]
+  wire [1:0] fragmenter_auto_out_a_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@72254.4]
+  wire [5:0] fragmenter_auto_out_a_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@72254.4]
+  wire [28:0] fragmenter_auto_out_a_bits_address; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@72254.4]
+  wire [3:0] fragmenter_auto_out_a_bits_mask; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@72254.4]
+  wire [31:0] fragmenter_auto_out_a_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@72254.4]
+  wire  fragmenter_auto_out_a_bits_corrupt; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@72254.4]
+  wire  fragmenter_auto_out_d_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@72254.4]
+  wire  fragmenter_auto_out_d_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@72254.4]
+  wire [2:0] fragmenter_auto_out_d_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@72254.4]
+  wire [1:0] fragmenter_auto_out_d_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@72254.4]
+  wire [5:0] fragmenter_auto_out_d_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@72254.4]
+  wire [31:0] fragmenter_auto_out_d_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@72254.4]
+  TLFragmenter_12 fragmenter ( // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@72254.4]
+    .clock(fragmenter_clock),
+    .reset(fragmenter_reset),
+    .auto_in_a_ready(fragmenter_auto_in_a_ready),
+    .auto_in_a_valid(fragmenter_auto_in_a_valid),
+    .auto_in_a_bits_opcode(fragmenter_auto_in_a_bits_opcode),
+    .auto_in_a_bits_param(fragmenter_auto_in_a_bits_param),
+    .auto_in_a_bits_size(fragmenter_auto_in_a_bits_size),
+    .auto_in_a_bits_source(fragmenter_auto_in_a_bits_source),
+    .auto_in_a_bits_address(fragmenter_auto_in_a_bits_address),
+    .auto_in_a_bits_mask(fragmenter_auto_in_a_bits_mask),
+    .auto_in_a_bits_data(fragmenter_auto_in_a_bits_data),
+    .auto_in_a_bits_corrupt(fragmenter_auto_in_a_bits_corrupt),
+    .auto_in_d_ready(fragmenter_auto_in_d_ready),
+    .auto_in_d_valid(fragmenter_auto_in_d_valid),
+    .auto_in_d_bits_opcode(fragmenter_auto_in_d_bits_opcode),
+    .auto_in_d_bits_size(fragmenter_auto_in_d_bits_size),
+    .auto_in_d_bits_source(fragmenter_auto_in_d_bits_source),
+    .auto_in_d_bits_data(fragmenter_auto_in_d_bits_data),
+    .auto_out_a_ready(fragmenter_auto_out_a_ready),
+    .auto_out_a_valid(fragmenter_auto_out_a_valid),
+    .auto_out_a_bits_opcode(fragmenter_auto_out_a_bits_opcode),
+    .auto_out_a_bits_param(fragmenter_auto_out_a_bits_param),
+    .auto_out_a_bits_size(fragmenter_auto_out_a_bits_size),
+    .auto_out_a_bits_source(fragmenter_auto_out_a_bits_source),
+    .auto_out_a_bits_address(fragmenter_auto_out_a_bits_address),
+    .auto_out_a_bits_mask(fragmenter_auto_out_a_bits_mask),
+    .auto_out_a_bits_data(fragmenter_auto_out_a_bits_data),
+    .auto_out_a_bits_corrupt(fragmenter_auto_out_a_bits_corrupt),
+    .auto_out_d_ready(fragmenter_auto_out_d_ready),
+    .auto_out_d_valid(fragmenter_auto_out_d_valid),
+    .auto_out_d_bits_opcode(fragmenter_auto_out_d_bits_opcode),
+    .auto_out_d_bits_size(fragmenter_auto_out_d_bits_size),
+    .auto_out_d_bits_source(fragmenter_auto_out_d_bits_source),
+    .auto_out_d_bits_data(fragmenter_auto_out_d_bits_data)
+  );
+  assign auto_fragmenter_in_a_ready = fragmenter_auto_in_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@72267.4]
+  assign auto_fragmenter_in_d_valid = fragmenter_auto_in_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@72267.4]
+  assign auto_fragmenter_in_d_bits_opcode = fragmenter_auto_in_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@72267.4]
+  assign auto_fragmenter_in_d_bits_size = fragmenter_auto_in_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@72267.4]
+  assign auto_fragmenter_in_d_bits_source = fragmenter_auto_in_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@72267.4]
+  assign auto_fragmenter_in_d_bits_data = fragmenter_auto_in_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@72267.4]
+  assign auto_control_xing_out_a_valid = fragmenter_auto_out_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@72266.4]
+  assign auto_control_xing_out_a_bits_opcode = fragmenter_auto_out_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@72266.4]
+  assign auto_control_xing_out_a_bits_param = fragmenter_auto_out_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@72266.4]
+  assign auto_control_xing_out_a_bits_size = fragmenter_auto_out_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@72266.4]
+  assign auto_control_xing_out_a_bits_source = fragmenter_auto_out_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@72266.4]
+  assign auto_control_xing_out_a_bits_address = fragmenter_auto_out_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@72266.4]
+  assign auto_control_xing_out_a_bits_mask = fragmenter_auto_out_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@72266.4]
+  assign auto_control_xing_out_a_bits_data = fragmenter_auto_out_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@72266.4]
+  assign auto_control_xing_out_a_bits_corrupt = fragmenter_auto_out_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@72266.4]
+  assign auto_control_xing_out_d_ready = fragmenter_auto_out_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@72266.4]
+  assign fragmenter_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72258.4]
+  assign fragmenter_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72259.4]
+  assign fragmenter_auto_in_a_valid = auto_fragmenter_in_a_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@72267.4]
+  assign fragmenter_auto_in_a_bits_opcode = auto_fragmenter_in_a_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@72267.4]
+  assign fragmenter_auto_in_a_bits_param = auto_fragmenter_in_a_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@72267.4]
+  assign fragmenter_auto_in_a_bits_size = auto_fragmenter_in_a_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@72267.4]
+  assign fragmenter_auto_in_a_bits_source = auto_fragmenter_in_a_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@72267.4]
+  assign fragmenter_auto_in_a_bits_address = auto_fragmenter_in_a_bits_address; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@72267.4]
+  assign fragmenter_auto_in_a_bits_mask = auto_fragmenter_in_a_bits_mask; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@72267.4]
+  assign fragmenter_auto_in_a_bits_data = auto_fragmenter_in_a_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@72267.4]
+  assign fragmenter_auto_in_a_bits_corrupt = auto_fragmenter_in_a_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@72267.4]
+  assign fragmenter_auto_in_d_ready = auto_fragmenter_in_d_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@72267.4]
+  assign fragmenter_auto_out_a_ready = auto_control_xing_out_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@72265.4]
+  assign fragmenter_auto_out_d_valid = auto_control_xing_out_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@72265.4]
+  assign fragmenter_auto_out_d_bits_opcode = auto_control_xing_out_d_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@72265.4]
+  assign fragmenter_auto_out_d_bits_size = auto_control_xing_out_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@72265.4]
+  assign fragmenter_auto_out_d_bits_source = auto_control_xing_out_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@72265.4]
+  assign fragmenter_auto_out_d_bits_data = auto_control_xing_out_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@72265.4]
+endmodule
+module TLMonitor_42( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72276.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72277.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72278.4]
+  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72279.4]
+  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72279.4]
+  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72279.4]
+  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72279.4]
+  input  [2:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72279.4]
+  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72279.4]
+  input  [28:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72279.4]
+  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72279.4]
+  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72279.4]
+  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72279.4]
+  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72279.4]
+  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72279.4]
+  input  [2:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72279.4]
+  input         io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72279.4]
+);
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@73400.4]
+  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@72295.6]
+  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@72300.6]
+  wire [12:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@72302.6]
+  wire [5:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@72303.6]
+  wire [5:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@72304.6]
+  wire [28:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@72305.6]
+  wire [28:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@72305.6]
+  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@72306.6]
+  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@72308.6]
+  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@72309.6]
+  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@72311.6]
+  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@72312.6]
+  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@72313.6]
+  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@72314.6]
+  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@72315.6]
+  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@72317.6]
+  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@72318.6]
+  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@72320.6]
+  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@72321.6]
+  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@72322.6]
+  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@72323.6]
+  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@72324.6]
+  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@72325.6]
+  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@72326.6]
+  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@72327.6]
+  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@72328.6]
+  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@72329.6]
+  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@72330.6]
+  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@72331.6]
+  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@72332.6]
+  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@72333.6]
+  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@72334.6]
+  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@72335.6]
+  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@72336.6]
+  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@72337.6]
+  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@72338.6]
+  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@72339.6]
+  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@72364.6]
+  wire [28:0] _T_92; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@72367.8]
+  wire [29:0] _T_93; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@72368.8]
+  wire [29:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@72369.8]
+  wire [29:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@72370.8]
+  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@72371.8]
+  wire  _T_101; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72376.8]
+  wire  _T_106; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72389.8]
+  wire  _T_107; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72390.8]
+  wire  _T_110; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72397.8]
+  wire  _T_111; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72398.8]
+  wire  _T_113; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72404.8]
+  wire  _T_114; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72405.8]
+  wire  _T_115; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@72410.8]
+  wire  _T_117; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72412.8]
+  wire  _T_118; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72413.8]
+  wire [3:0] _T_119; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@72418.8]
+  wire  _T_120; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@72419.8]
+  wire  _T_122; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72421.8]
+  wire  _T_123; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72422.8]
+  wire  _T_124; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@72427.8]
+  wire  _T_126; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72429.8]
+  wire  _T_127; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72430.8]
+  wire  _T_128; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@72436.6]
+  wire  _T_157; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@72490.8]
+  wire  _T_159; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72492.8]
+  wire  _T_160; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72493.8]
+  wire  _T_170; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@72516.6]
+  wire  _T_172; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@72519.8]
+  wire  _T_180; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@72527.8]
+  wire  _T_183; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72530.8]
+  wire  _T_184; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72531.8]
+  wire  _T_191; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@72550.8]
+  wire  _T_193; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72552.8]
+  wire  _T_194; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72553.8]
+  wire  _T_195; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@72558.8]
+  wire  _T_197; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72560.8]
+  wire  _T_198; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72561.8]
+  wire  _T_203; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@72575.6]
+  wire  _T_232; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@72626.6]
+  wire [3:0] _T_257; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@72668.8]
+  wire [3:0] _T_258; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@72669.8]
+  wire  _T_259; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@72670.8]
+  wire  _T_261; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72672.8]
+  wire  _T_262; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72673.8]
+  wire  _T_263; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@72679.6]
+  wire  _T_281; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@72710.8]
+  wire  _T_283; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72712.8]
+  wire  _T_284; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72713.8]
+  wire  _T_289; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@72727.6]
+  wire  _T_307; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@72758.8]
+  wire  _T_309; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72760.8]
+  wire  _T_310; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72761.8]
+  wire  _T_315; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@72775.6]
+  wire  _T_341; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@72825.6]
+  wire  _T_343; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@72827.6]
+  wire  _T_344; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@72828.6]
+  wire  _T_346; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@72834.6]
+  wire  _T_355; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@72839.6]
+  wire  _T_357; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@72841.6]
+  wire  _T_359; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72844.8]
+  wire  _T_360; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72845.8]
+  wire  _T_361; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@72850.8]
+  wire  _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72852.8]
+  wire  _T_364; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72853.8]
+  wire  _T_377; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@72883.6]
+  wire  _T_405; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@72941.6]
+  wire  _T_434; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@73000.6]
+  wire  _T_451; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@73035.6]
+  wire  _T_469; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@73071.6]
+  wire  _T_498; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@73131.4]
+  wire [3:0] _T_503; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@73136.4]
+  wire  _T_504; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@73137.4]
+  wire  _T_505; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73138.4]
+  reg [3:0] _T_508; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@73140.4]
+  reg [31:0] _RAND_0;
+  wire [4:0] _T_509; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73141.4]
+  wire [4:0] _T_510; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73142.4]
+  wire [3:0] _T_511; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73143.4]
+  wire  _T_512; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@73144.4]
+  reg [2:0] _T_521; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@73155.4]
+  reg [31:0] _RAND_1;
+  reg [2:0] _T_523; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@73156.4]
+  reg [31:0] _RAND_2;
+  reg [2:0] _T_525; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@73157.4]
+  reg [31:0] _RAND_3;
+  reg  _T_527; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@73158.4]
+  reg [31:0] _RAND_4;
+  reg [28:0] _T_529; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@73159.4]
+  reg [31:0] _RAND_5;
+  wire  _T_530; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@73160.4]
+  wire  _T_531; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@73161.4]
+  wire  _T_532; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@73163.6]
+  wire  _T_534; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73165.6]
+  wire  _T_535; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73166.6]
+  wire  _T_536; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@73171.6]
+  wire  _T_538; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73173.6]
+  wire  _T_539; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73174.6]
+  wire  _T_540; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@73179.6]
+  wire  _T_542; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73181.6]
+  wire  _T_543; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73182.6]
+  wire  _T_544; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@73187.6]
+  wire  _T_546; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73189.6]
+  wire  _T_547; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73190.6]
+  wire  _T_548; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@73195.6]
+  wire  _T_550; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73197.6]
+  wire  _T_551; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73198.6]
+  wire  _T_553; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@73205.4]
+  wire  _T_554; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@73213.4]
+  wire [12:0] _T_556; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@73215.4]
+  wire [5:0] _T_557; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@73216.4]
+  wire [5:0] _T_558; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@73217.4]
+  wire [3:0] _T_559; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@73218.4]
+  wire  _T_560; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@73219.4]
+  reg [3:0] _T_563; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@73221.4]
+  reg [31:0] _RAND_6;
+  wire [4:0] _T_564; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73222.4]
+  wire [4:0] _T_565; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73223.4]
+  wire [3:0] _T_566; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73224.4]
+  wire  _T_567; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@73225.4]
+  reg [2:0] _T_576; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@73236.4]
+  reg [31:0] _RAND_7;
+  reg [2:0] _T_580; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@73238.4]
+  reg [31:0] _RAND_8;
+  reg  _T_582; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@73239.4]
+  reg [31:0] _RAND_9;
+  wire  _T_587; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@73242.4]
+  wire  _T_588; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@73243.4]
+  wire  _T_589; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@73245.6]
+  wire  _T_591; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73247.6]
+  wire  _T_592; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73248.6]
+  wire  _T_597; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@73261.6]
+  wire  _T_599; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73263.6]
+  wire  _T_600; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73264.6]
+  wire  _T_601; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@73269.6]
+  wire  _T_603; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73271.6]
+  wire  _T_604; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73272.6]
+  wire  _T_614; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@73295.4]
+  reg [1:0] _T_616; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@73304.4]
+  reg [31:0] _RAND_10;
+  reg [3:0] _T_627; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@73314.4]
+  reg [31:0] _RAND_11;
+  wire [4:0] _T_628; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73315.4]
+  wire [4:0] _T_629; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73316.4]
+  wire [3:0] _T_630; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73317.4]
+  wire  _T_631; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@73318.4]
+  reg [3:0] _T_648; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@73337.4]
+  reg [31:0] _RAND_12;
+  wire [4:0] _T_649; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73338.4]
+  wire [4:0] _T_650; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73339.4]
+  wire [3:0] _T_651; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73340.4]
+  wire  _T_652; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@73341.4]
+  wire  _T_663; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@73356.4]
+  wire [1:0] _T_665; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@73359.6]
+  wire [1:0] _T_666; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@73361.6]
+  wire  _T_667; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@73362.6]
+  wire  _T_668; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73363.6]
+  wire  _T_670; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@73365.6]
+  wire  _T_671; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@73366.6]
+  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@73358.4]
+  wire  _T_676; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@73377.4]
+  wire  _T_678; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@73379.4]
+  wire  _T_679; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@73380.4]
+  wire [1:0] _T_680; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@73382.6]
+  wire [1:0] _T_681; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@73384.6]
+  wire [1:0] _T_682; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@73385.6]
+  wire  _T_683; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@73386.6]
+  wire  _T_685; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@73388.6]
+  wire  _T_686; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@73389.6]
+  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@73381.4]
+  wire [1:0] _T_687; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@73395.4]
+  wire [1:0] _T_688; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@73396.4]
+  wire [1:0] _T_689; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@73397.4]
+  reg [31:0] _T_691; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@73399.4]
+  reg [31:0] _RAND_13;
+  wire  _T_692; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@73402.4]
+  wire  _T_693; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@73403.4]
+  wire  _T_694; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@73404.4]
+  wire  _T_695; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@73405.4]
+  wire  _T_696; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@73406.4]
+  wire  _T_697; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@73407.4]
+  wire  _T_699; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@73409.4]
+  wire  _T_700; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@73410.4]
+  wire [31:0] _T_702; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@73416.4]
+  wire  _T_705; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@73420.4]
+  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72378.10]
+  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72450.10]
+  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72533.10]
+  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72592.10]
+  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72643.10]
+  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72693.10]
+  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72741.10]
+  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72789.10]
+  wire  _GEN_115; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72847.10]
+  wire  _GEN_119; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72889.10]
+  wire  _GEN_125; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72947.10]
+  wire  _GEN_131; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73006.10]
+  wire  _GEN_133; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73041.10]
+  wire  _GEN_135; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73077.10]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@73400.4]
+    .out(plusarg_reader_out)
+  );
+  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@72295.6]
+  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@72300.6]
+  assign _T_32 = 13'h3f << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@72302.6]
+  assign _T_33 = _T_32[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@72303.6]
+  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@72304.6]
+  assign _GEN_18 = {{23'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@72305.6]
+  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@72305.6]
+  assign _T_36 = _T_35 == 29'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@72306.6]
+  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@72308.6]
+  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@72309.6]
+  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@72311.6]
+  assign _T_42 = io_in_a_bits_size >= 3'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@72312.6]
+  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@72313.6]
+  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@72314.6]
+  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@72315.6]
+  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@72317.6]
+  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@72318.6]
+  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@72320.6]
+  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@72321.6]
+  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@72322.6]
+  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@72323.6]
+  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@72324.6]
+  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@72325.6]
+  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@72326.6]
+  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@72327.6]
+  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@72328.6]
+  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@72329.6]
+  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@72330.6]
+  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@72331.6]
+  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@72332.6]
+  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@72333.6]
+  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@72334.6]
+  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@72335.6]
+  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@72336.6]
+  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@72337.6]
+  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@72338.6]
+  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@72339.6]
+  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@72364.6]
+  assign _T_92 = io_in_a_bits_address ^ 29'h10034000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@72367.8]
+  assign _T_93 = {1'b0,$signed(_T_92)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@72368.8]
+  assign _T_94 = $signed(_T_93) & $signed(-30'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@72369.8]
+  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@72370.8]
+  assign _T_96 = $signed(_T_95) == $signed(30'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@72371.8]
+  assign _T_101 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72376.8]
+  assign _T_106 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72389.8]
+  assign _T_107 = _T_106 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72390.8]
+  assign _T_110 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72397.8]
+  assign _T_111 = _T_110 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72398.8]
+  assign _T_113 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72404.8]
+  assign _T_114 = _T_113 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72405.8]
+  assign _T_115 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@72410.8]
+  assign _T_117 = _T_115 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72412.8]
+  assign _T_118 = _T_117 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72413.8]
+  assign _T_119 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@72418.8]
+  assign _T_120 = _T_119 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@72419.8]
+  assign _T_122 = _T_120 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72421.8]
+  assign _T_123 = _T_122 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72422.8]
+  assign _T_124 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@72427.8]
+  assign _T_126 = _T_124 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72429.8]
+  assign _T_127 = _T_126 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72430.8]
+  assign _T_128 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@72436.6]
+  assign _T_157 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@72490.8]
+  assign _T_159 = _T_157 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72492.8]
+  assign _T_160 = _T_159 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72493.8]
+  assign _T_170 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@72516.6]
+  assign _T_172 = io_in_a_bits_size <= 3'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@72519.8]
+  assign _T_180 = _T_172 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@72527.8]
+  assign _T_183 = _T_180 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72530.8]
+  assign _T_184 = _T_183 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72531.8]
+  assign _T_191 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@72550.8]
+  assign _T_193 = _T_191 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72552.8]
+  assign _T_194 = _T_193 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72553.8]
+  assign _T_195 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@72558.8]
+  assign _T_197 = _T_195 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72560.8]
+  assign _T_198 = _T_197 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72561.8]
+  assign _T_203 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@72575.6]
+  assign _T_232 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@72626.6]
+  assign _T_257 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@72668.8]
+  assign _T_258 = io_in_a_bits_mask & _T_257; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@72669.8]
+  assign _T_259 = _T_258 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@72670.8]
+  assign _T_261 = _T_259 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72672.8]
+  assign _T_262 = _T_261 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72673.8]
+  assign _T_263 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@72679.6]
+  assign _T_281 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@72710.8]
+  assign _T_283 = _T_281 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72712.8]
+  assign _T_284 = _T_283 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72713.8]
+  assign _T_289 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@72727.6]
+  assign _T_307 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@72758.8]
+  assign _T_309 = _T_307 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72760.8]
+  assign _T_310 = _T_309 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72761.8]
+  assign _T_315 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@72775.6]
+  assign _T_341 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@72825.6]
+  assign _T_343 = _T_341 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@72827.6]
+  assign _T_344 = _T_343 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@72828.6]
+  assign _T_346 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@72834.6]
+  assign _T_355 = io_in_d_bits_source | _T_346; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@72839.6]
+  assign _T_357 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@72841.6]
+  assign _T_359 = _T_355 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72844.8]
+  assign _T_360 = _T_359 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72845.8]
+  assign _T_361 = io_in_d_bits_size >= 3'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@72850.8]
+  assign _T_363 = _T_361 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72852.8]
+  assign _T_364 = _T_363 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72853.8]
+  assign _T_377 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@72883.6]
+  assign _T_405 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@72941.6]
+  assign _T_434 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@73000.6]
+  assign _T_451 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@73035.6]
+  assign _T_469 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@73071.6]
+  assign _T_498 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@73131.4]
+  assign _T_503 = _T_34[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@73136.4]
+  assign _T_504 = io_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@73137.4]
+  assign _T_505 = _T_504 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73138.4]
+  assign _T_509 = _T_508 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73141.4]
+  assign _T_510 = $unsigned(_T_509); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73142.4]
+  assign _T_511 = _T_510[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73143.4]
+  assign _T_512 = _T_508 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@73144.4]
+  assign _T_530 = _T_512 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@73160.4]
+  assign _T_531 = io_in_a_valid & _T_530; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@73161.4]
+  assign _T_532 = io_in_a_bits_opcode == _T_521; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@73163.6]
+  assign _T_534 = _T_532 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73165.6]
+  assign _T_535 = _T_534 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73166.6]
+  assign _T_536 = io_in_a_bits_param == _T_523; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@73171.6]
+  assign _T_538 = _T_536 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73173.6]
+  assign _T_539 = _T_538 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73174.6]
+  assign _T_540 = io_in_a_bits_size == _T_525; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@73179.6]
+  assign _T_542 = _T_540 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73181.6]
+  assign _T_543 = _T_542 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73182.6]
+  assign _T_544 = io_in_a_bits_source == _T_527; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@73187.6]
+  assign _T_546 = _T_544 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73189.6]
+  assign _T_547 = _T_546 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73190.6]
+  assign _T_548 = io_in_a_bits_address == _T_529; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@73195.6]
+  assign _T_550 = _T_548 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73197.6]
+  assign _T_551 = _T_550 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73198.6]
+  assign _T_553 = _T_498 & _T_512; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@73205.4]
+  assign _T_554 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@73213.4]
+  assign _T_556 = 13'h3f << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@73215.4]
+  assign _T_557 = _T_556[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@73216.4]
+  assign _T_558 = ~ _T_557; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@73217.4]
+  assign _T_559 = _T_558[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@73218.4]
+  assign _T_560 = io_in_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@73219.4]
+  assign _T_564 = _T_563 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73222.4]
+  assign _T_565 = $unsigned(_T_564); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73223.4]
+  assign _T_566 = _T_565[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73224.4]
+  assign _T_567 = _T_563 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@73225.4]
+  assign _T_587 = _T_567 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@73242.4]
+  assign _T_588 = io_in_d_valid & _T_587; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@73243.4]
+  assign _T_589 = io_in_d_bits_opcode == _T_576; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@73245.6]
+  assign _T_591 = _T_589 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73247.6]
+  assign _T_592 = _T_591 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73248.6]
+  assign _T_597 = io_in_d_bits_size == _T_580; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@73261.6]
+  assign _T_599 = _T_597 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73263.6]
+  assign _T_600 = _T_599 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73264.6]
+  assign _T_601 = io_in_d_bits_source == _T_582; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@73269.6]
+  assign _T_603 = _T_601 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73271.6]
+  assign _T_604 = _T_603 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73272.6]
+  assign _T_614 = _T_554 & _T_567; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@73295.4]
+  assign _T_628 = _T_627 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73315.4]
+  assign _T_629 = $unsigned(_T_628); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73316.4]
+  assign _T_630 = _T_629[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73317.4]
+  assign _T_631 = _T_627 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@73318.4]
+  assign _T_649 = _T_648 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73338.4]
+  assign _T_650 = $unsigned(_T_649); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73339.4]
+  assign _T_651 = _T_650[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73340.4]
+  assign _T_652 = _T_648 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@73341.4]
+  assign _T_663 = _T_498 & _T_631; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@73356.4]
+  assign _T_665 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@73359.6]
+  assign _T_666 = _T_616 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@73361.6]
+  assign _T_667 = _T_666[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@73362.6]
+  assign _T_668 = _T_667 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73363.6]
+  assign _T_670 = _T_668 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@73365.6]
+  assign _T_671 = _T_670 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@73366.6]
+  assign _GEN_15 = _T_663 ? _T_665 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@73358.4]
+  assign _T_676 = _T_554 & _T_652; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@73377.4]
+  assign _T_678 = _T_357 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@73379.4]
+  assign _T_679 = _T_676 & _T_678; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@73380.4]
+  assign _T_680 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@73382.6]
+  assign _T_681 = _GEN_15 | _T_616; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@73384.6]
+  assign _T_682 = _T_681 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@73385.6]
+  assign _T_683 = _T_682[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@73386.6]
+  assign _T_685 = _T_683 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@73388.6]
+  assign _T_686 = _T_685 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@73389.6]
+  assign _GEN_16 = _T_679 ? _T_680 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@73381.4]
+  assign _T_687 = _T_616 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@73395.4]
+  assign _T_688 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@73396.4]
+  assign _T_689 = _T_687 & _T_688; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@73397.4]
+  assign _T_692 = _T_616 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@73402.4]
+  assign _T_693 = _T_692 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@73403.4]
+  assign _T_694 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@73404.4]
+  assign _T_695 = _T_693 | _T_694; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@73405.4]
+  assign _T_696 = _T_691 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@73406.4]
+  assign _T_697 = _T_695 | _T_696; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@73407.4]
+  assign _T_699 = _T_697 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@73409.4]
+  assign _T_700 = _T_699 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@73410.4]
+  assign _T_702 = _T_691 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@73416.4]
+  assign _T_705 = _T_498 | _T_554; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@73420.4]
+  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72378.10]
+  assign _GEN_35 = io_in_a_valid & _T_128; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72450.10]
+  assign _GEN_53 = io_in_a_valid & _T_170; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72533.10]
+  assign _GEN_65 = io_in_a_valid & _T_203; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72592.10]
+  assign _GEN_75 = io_in_a_valid & _T_232; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72643.10]
+  assign _GEN_85 = io_in_a_valid & _T_263; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72693.10]
+  assign _GEN_95 = io_in_a_valid & _T_289; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72741.10]
+  assign _GEN_105 = io_in_a_valid & _T_315; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72789.10]
+  assign _GEN_115 = io_in_d_valid & _T_357; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72847.10]
+  assign _GEN_119 = io_in_d_valid & _T_377; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72889.10]
+  assign _GEN_125 = io_in_d_valid & _T_405; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72947.10]
+  assign _GEN_131 = io_in_d_valid & _T_434; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73006.10]
+  assign _GEN_133 = io_in_d_valid & _T_451; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73041.10]
+  assign _GEN_135 = io_in_d_valid & _T_469; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73077.10]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  _T_508 = _RAND_0[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  _T_521 = _RAND_1[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  _T_523 = _RAND_2[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  _T_525 = _RAND_3[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  _T_527 = _RAND_4[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  _T_529 = _RAND_5[28:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {1{`RANDOM}};
+  _T_563 = _RAND_6[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {1{`RANDOM}};
+  _T_576 = _RAND_7[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_8 = {1{`RANDOM}};
+  _T_580 = _RAND_8[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_9 = {1{`RANDOM}};
+  _T_582 = _RAND_9[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_10 = {1{`RANDOM}};
+  _T_616 = _RAND_10[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_11 = {1{`RANDOM}};
+  _T_627 = _RAND_11[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_12 = {1{`RANDOM}};
+  _T_648 = _RAND_12[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_13 = {1{`RANDOM}};
+  _T_691 = _RAND_13[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      _T_508 <= 4'h0;
+    end else begin
+      if (_T_498) begin
+        if (_T_512) begin
+          if (_T_505) begin
+            _T_508 <= _T_503;
+          end else begin
+            _T_508 <= 4'h0;
+          end
+        end else begin
+          _T_508 <= _T_511;
+        end
+      end
+    end
+    if (_T_553) begin
+      _T_521 <= io_in_a_bits_opcode;
+    end
+    if (_T_553) begin
+      _T_523 <= io_in_a_bits_param;
+    end
+    if (_T_553) begin
+      _T_525 <= io_in_a_bits_size;
+    end
+    if (_T_553) begin
+      _T_527 <= io_in_a_bits_source;
+    end
+    if (_T_553) begin
+      _T_529 <= io_in_a_bits_address;
+    end
+    if (reset) begin
+      _T_563 <= 4'h0;
+    end else begin
+      if (_T_554) begin
+        if (_T_567) begin
+          if (_T_560) begin
+            _T_563 <= _T_559;
+          end else begin
+            _T_563 <= 4'h0;
+          end
+        end else begin
+          _T_563 <= _T_566;
+        end
+      end
+    end
+    if (_T_614) begin
+      _T_576 <= io_in_d_bits_opcode;
+    end
+    if (_T_614) begin
+      _T_580 <= io_in_d_bits_size;
+    end
+    if (_T_614) begin
+      _T_582 <= io_in_d_bits_source;
+    end
+    if (reset) begin
+      _T_616 <= 2'h0;
+    end else begin
+      _T_616 <= _T_689;
+    end
+    if (reset) begin
+      _T_627 <= 4'h0;
+    end else begin
+      if (_T_498) begin
+        if (_T_631) begin
+          if (_T_505) begin
+            _T_627 <= _T_503;
+          end else begin
+            _T_627 <= 4'h0;
+          end
+        end else begin
+          _T_627 <= _T_630;
+        end
+      end
+    end
+    if (reset) begin
+      _T_648 <= 4'h0;
+    end else begin
+      if (_T_554) begin
+        if (_T_652) begin
+          if (_T_560) begin
+            _T_648 <= _T_559;
+          end else begin
+            _T_648 <= 4'h0;
+          end
+        end else begin
+          _T_648 <= _T_651;
+        end
+      end
+    end
+    if (reset) begin
+      _T_691 <= 32'h0;
+    end else begin
+      if (_T_705) begin
+        _T_691 <= 32'h0;
+      end else begin
+        _T_691 <= _T_702;
+      end
+    end
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at SPI.scala:44:93)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@72291.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@72292.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@72361.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@72362.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at SPI.scala:44:93)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72378.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_101) begin
+          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72379.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at SPI.scala:44:93)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72385.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_101) begin
+          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72386.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at SPI.scala:44:93)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72392.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_107) begin
+          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72393.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_111) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at SPI.scala:44:93)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72400.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_111) begin
+          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72401.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at SPI.scala:44:93)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72407.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_114) begin
+          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72408.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_118) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at SPI.scala:44:93)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72415.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_118) begin
+          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72416.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_123) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at SPI.scala:44:93)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72424.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_123) begin
+          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72425.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_127) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at SPI.scala:44:93)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72432.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_127) begin
+          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72433.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at SPI.scala:44:93)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72450.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_101) begin
+          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72451.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at SPI.scala:44:93)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72457.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_101) begin
+          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72458.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at SPI.scala:44:93)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72464.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_107) begin
+          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72465.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_111) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at SPI.scala:44:93)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72472.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_111) begin
+          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72473.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at SPI.scala:44:93)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72479.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_114) begin
+          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72480.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_118) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at SPI.scala:44:93)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72487.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_118) begin
+          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72488.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_160) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at SPI.scala:44:93)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72495.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_160) begin
+          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72496.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_123) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at SPI.scala:44:93)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72504.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_123) begin
+          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72505.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_127) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at SPI.scala:44:93)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72512.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_127) begin
+          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72513.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_184) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at SPI.scala:44:93)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72533.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_184) begin
+          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72534.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at SPI.scala:44:93)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72540.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_107) begin
+          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72541.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at SPI.scala:44:93)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72547.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_114) begin
+          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72548.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_194) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at SPI.scala:44:93)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72555.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_194) begin
+          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72556.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_198) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at SPI.scala:44:93)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72563.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_198) begin
+          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72564.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_127) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at SPI.scala:44:93)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72571.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_127) begin
+          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72572.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_184) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at SPI.scala:44:93)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72592.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_184) begin
+          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72593.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at SPI.scala:44:93)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72599.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_107) begin
+          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72600.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at SPI.scala:44:93)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72606.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_114) begin
+          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72607.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_194) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at SPI.scala:44:93)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72614.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_194) begin
+          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72615.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_198) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at SPI.scala:44:93)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72622.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_198) begin
+          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72623.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_184) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at SPI.scala:44:93)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72643.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_184) begin
+          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72644.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at SPI.scala:44:93)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72650.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_107) begin
+          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72651.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at SPI.scala:44:93)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72657.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_114) begin
+          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72658.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_194) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at SPI.scala:44:93)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72665.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_194) begin
+          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72666.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_262) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at SPI.scala:44:93)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72675.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_262) begin
+          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72676.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at SPI.scala:44:93)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72693.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_101) begin
+          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72694.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at SPI.scala:44:93)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72700.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_107) begin
+          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72701.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at SPI.scala:44:93)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72707.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_114) begin
+          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72708.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_284) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at SPI.scala:44:93)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72715.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_284) begin
+          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72716.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_198) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at SPI.scala:44:93)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72723.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_198) begin
+          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72724.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at SPI.scala:44:93)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72741.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_101) begin
+          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72742.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at SPI.scala:44:93)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72748.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_107) begin
+          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72749.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at SPI.scala:44:93)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72755.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_114) begin
+          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72756.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_310) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at SPI.scala:44:93)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72763.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_310) begin
+          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72764.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_198) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at SPI.scala:44:93)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72771.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_198) begin
+          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72772.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at SPI.scala:44:93)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72789.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_101) begin
+          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72790.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at SPI.scala:44:93)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72796.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_107) begin
+          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72797.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at SPI.scala:44:93)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72803.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_114) begin
+          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72804.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_198) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at SPI.scala:44:93)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72811.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_198) begin
+          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72812.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_127) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at SPI.scala:44:93)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72819.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_127) begin
+          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72820.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_344) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at SPI.scala:44:93)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@72830.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_344) begin
+          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@72831.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_360) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at SPI.scala:44:93)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72847.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_360) begin
+          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72848.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_364) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at SPI.scala:44:93)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72855.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_364) begin
+          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72856.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at SPI.scala:44:93)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72863.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72864.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at SPI.scala:44:93)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72871.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72872.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at SPI.scala:44:93)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72879.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72880.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_119 & _T_360) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at SPI.scala:44:93)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72889.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_119 & _T_360) begin
+          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72890.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_119 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at SPI.scala:44:93)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72896.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_119 & _T_101) begin
+          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72897.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_119 & _T_364) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at SPI.scala:44:93)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72904.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_119 & _T_364) begin
+          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72905.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at SPI.scala:44:93)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72912.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72913.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at SPI.scala:44:93)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72920.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72921.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at SPI.scala:44:93)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72928.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72929.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at SPI.scala:44:93)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72937.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72938.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_360) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at SPI.scala:44:93)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72947.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_360) begin
+          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72948.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at SPI.scala:44:93)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72954.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_101) begin
+          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72955.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_364) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at SPI.scala:44:93)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72962.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_364) begin
+          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72963.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at SPI.scala:44:93)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72970.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72971.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at SPI.scala:44:93)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72978.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72979.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at SPI.scala:44:93)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72987.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72988.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at SPI.scala:44:93)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72996.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72997.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_131 & _T_360) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at SPI.scala:44:93)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73006.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_131 & _T_360) begin
+          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73007.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at SPI.scala:44:93)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73014.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73015.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at SPI.scala:44:93)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73022.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73023.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at SPI.scala:44:93)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73031.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73032.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_133 & _T_360) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at SPI.scala:44:93)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73041.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_133 & _T_360) begin
+          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73042.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at SPI.scala:44:93)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73049.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73050.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at SPI.scala:44:93)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73058.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73059.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at SPI.scala:44:93)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73067.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73068.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_135 & _T_360) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at SPI.scala:44:93)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73077.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_135 & _T_360) begin
+          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73078.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at SPI.scala:44:93)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73085.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73086.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at SPI.scala:44:93)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73093.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73094.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at SPI.scala:44:93)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73102.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73103.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at SPI.scala:44:93)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73112.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73113.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at SPI.scala:44:93)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73120.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73121.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at SPI.scala:44:93)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73128.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73129.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_531 & _T_535) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at SPI.scala:44:93)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73168.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_531 & _T_535) begin
+          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73169.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_531 & _T_539) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at SPI.scala:44:93)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73176.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_531 & _T_539) begin
+          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73177.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_531 & _T_543) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at SPI.scala:44:93)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73184.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_531 & _T_543) begin
+          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73185.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_531 & _T_547) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at SPI.scala:44:93)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73192.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_531 & _T_547) begin
+          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73193.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_531 & _T_551) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at SPI.scala:44:93)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73200.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_531 & _T_551) begin
+          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73201.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_588 & _T_592) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at SPI.scala:44:93)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73250.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_588 & _T_592) begin
+          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73251.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at SPI.scala:44:93)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73258.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73259.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_588 & _T_600) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at SPI.scala:44:93)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73266.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_588 & _T_600) begin
+          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73267.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_588 & _T_604) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at SPI.scala:44:93)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73274.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_588 & _T_604) begin
+          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73275.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at SPI.scala:44:93)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73282.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73283.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at SPI.scala:44:93)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73290.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73291.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_663 & _T_671) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at SPI.scala:44:93)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@73368.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_663 & _T_671) begin
+          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@73369.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_679 & _T_686) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at SPI.scala:44:93)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@73391.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_679 & _T_686) begin
+          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@73392.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_700) begin
+          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at SPI.scala:44:93)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@73412.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_700) begin
+          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@73413.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+endmodule
+module TLFragmenter_13( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73456.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73457.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73458.4]
+  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73459.4]
+  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73459.4]
+  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73459.4]
+  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73459.4]
+  input  [2:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73459.4]
+  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73459.4]
+  input  [28:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73459.4]
+  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73459.4]
+  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73459.4]
+  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73459.4]
+  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73459.4]
+  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73459.4]
+  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73459.4]
+  output [2:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73459.4]
+  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73459.4]
+  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73459.4]
+  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73459.4]
+  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73459.4]
+  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73459.4]
+  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73459.4]
+  output [1:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73459.4]
+  output [5:0]  auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73459.4]
+  output [28:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73459.4]
+  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73459.4]
+  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73459.4]
+  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73459.4]
+  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73459.4]
+  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73459.4]
+  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73459.4]
+  input  [1:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73459.4]
+  input  [5:0]  auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73459.4]
+  input  [31:0] auto_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73459.4]
+);
+  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@73466.4]
+  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@73466.4]
+  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@73466.4]
+  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@73466.4]
+  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@73466.4]
+  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@73466.4]
+  wire [2:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@73466.4]
+  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@73466.4]
+  wire [28:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@73466.4]
+  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@73466.4]
+  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@73466.4]
+  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@73466.4]
+  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@73466.4]
+  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@73466.4]
+  wire [2:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@73466.4]
+  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@73466.4]
+  wire  Repeater_clock; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73583.4]
+  wire  Repeater_reset; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73583.4]
+  wire  Repeater_io_repeat; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73583.4]
+  wire  Repeater_io_full; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73583.4]
+  wire  Repeater_io_enq_ready; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73583.4]
+  wire  Repeater_io_enq_valid; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73583.4]
+  wire [2:0] Repeater_io_enq_bits_opcode; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73583.4]
+  wire [2:0] Repeater_io_enq_bits_param; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73583.4]
+  wire [2:0] Repeater_io_enq_bits_size; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73583.4]
+  wire  Repeater_io_enq_bits_source; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73583.4]
+  wire [28:0] Repeater_io_enq_bits_address; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73583.4]
+  wire [3:0] Repeater_io_enq_bits_mask; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73583.4]
+  wire  Repeater_io_enq_bits_corrupt; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73583.4]
+  wire  Repeater_io_deq_ready; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73583.4]
+  wire  Repeater_io_deq_valid; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73583.4]
+  wire [2:0] Repeater_io_deq_bits_opcode; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73583.4]
+  wire [2:0] Repeater_io_deq_bits_param; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73583.4]
+  wire [2:0] Repeater_io_deq_bits_size; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73583.4]
+  wire  Repeater_io_deq_bits_source; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73583.4]
+  wire [28:0] Repeater_io_deq_bits_address; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73583.4]
+  wire [3:0] Repeater_io_deq_bits_mask; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73583.4]
+  wire  Repeater_io_deq_bits_corrupt; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73583.4]
+  reg [3:0] _T_244; // @[Fragmenter.scala 167:27:shc.marmotcaravel.MarmotCaravelConfig.fir@73507.4]
+  reg [31:0] _RAND_0;
+  reg [2:0] _T_246; // @[Fragmenter.scala 168:22:shc.marmotcaravel.MarmotCaravelConfig.fir@73508.4]
+  reg [31:0] _RAND_1;
+  reg  _T_248; // @[Fragmenter.scala 169:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73509.4]
+  reg [31:0] _RAND_2;
+  wire [3:0] _T_249; // @[Fragmenter.scala 170:39:shc.marmotcaravel.MarmotCaravelConfig.fir@73510.4]
+  wire  _T_250; // @[Fragmenter.scala 171:27:shc.marmotcaravel.MarmotCaravelConfig.fir@73511.4]
+  wire  _T_251; // @[Fragmenter.scala 172:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73512.4]
+  wire [3:0] _T_253; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@73514.4]
+  wire [2:0] _T_254; // @[OneHot.scala 52:27:shc.marmotcaravel.MarmotCaravelConfig.fir@73515.4]
+  wire [4:0] _T_256; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@73517.4]
+  wire [1:0] _T_257; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@73518.4]
+  wire [1:0] _T_258; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@73519.4]
+  wire  _T_259; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@73520.4]
+  wire  _T_271; // @[Fragmenter.scala 182:58:shc.marmotcaravel.MarmotCaravelConfig.fir@73536.4]
+  wire  _T_272; // @[Fragmenter.scala 182:30:shc.marmotcaravel.MarmotCaravelConfig.fir@73537.4]
+  wire [5:0] _GEN_7; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@73538.4]
+  wire [5:0] _T_273; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@73538.4]
+  wire [5:0] _GEN_8; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@73539.4]
+  wire [5:0] _T_274; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@73539.4]
+  wire [6:0] _GEN_9; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@73540.4]
+  wire [6:0] _T_275; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@73540.4]
+  wire [6:0] _T_276; // @[package.scala 183:40:shc.marmotcaravel.MarmotCaravelConfig.fir@73541.4]
+  wire [6:0] _T_277; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@73542.4]
+  wire [6:0] _T_278; // @[package.scala 183:53:shc.marmotcaravel.MarmotCaravelConfig.fir@73543.4]
+  wire [6:0] _T_279; // @[package.scala 183:51:shc.marmotcaravel.MarmotCaravelConfig.fir@73544.4]
+  wire [2:0] _T_280; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@73545.4]
+  wire [3:0] _T_281; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@73546.4]
+  wire  _T_282; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73547.4]
+  wire [3:0] _GEN_10; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73548.4]
+  wire [3:0] _T_283; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73548.4]
+  wire [1:0] _T_284; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@73549.4]
+  wire [1:0] _T_285; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@73550.4]
+  wire  _T_286; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73551.4]
+  wire [1:0] _T_287; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73552.4]
+  wire  _T_288; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@73553.4]
+  wire [1:0] _T_289; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@73554.4]
+  wire [2:0] _T_290; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@73555.4]
+  wire  _T_297; // @[Fragmenter.scala 200:18:shc.marmotcaravel.MarmotCaravelConfig.fir@73569.4]
+  wire  _T_299; // @[Fragmenter.scala 200:31:shc.marmotcaravel.MarmotCaravelConfig.fir@73571.4]
+  wire  _T_300; // @[Fragmenter.scala 200:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73572.4]
+  wire  _T_301; // @[Fragmenter.scala 201:33:shc.marmotcaravel.MarmotCaravelConfig.fir@73573.4]
+  wire  _T_291; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@73556.4]
+  wire [3:0] _GEN_11; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@73558.6]
+  wire [4:0] _T_292; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@73558.6]
+  wire [4:0] _T_293; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@73559.6]
+  wire [3:0] _T_294; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@73560.6]
+  wire  _T_296; // @[Fragmenter.scala 190:39:shc.marmotcaravel.MarmotCaravelConfig.fir@73565.8]
+  wire  _T_302; // @[Fragmenter.scala 202:37:shc.marmotcaravel.MarmotCaravelConfig.fir@73575.4]
+  wire  _T_330; // @[Fragmenter.scala 262:29:shc.marmotcaravel.MarmotCaravelConfig.fir@73608.4]
+  wire [2:0] _T_331; // @[Fragmenter.scala 262:22:shc.marmotcaravel.MarmotCaravelConfig.fir@73609.4]
+  wire [12:0] _T_333; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@73611.4]
+  wire [5:0] _T_334; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@73612.4]
+  wire [5:0] _T_335; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@73613.4]
+  wire [8:0] _T_337; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@73615.4]
+  wire [1:0] _T_338; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@73616.4]
+  wire [1:0] _T_339; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@73617.4]
+  wire  _T_340; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@73618.4]
+  wire  _T_341; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73619.4]
+  reg [3:0] _T_344; // @[Fragmenter.scala 268:27:shc.marmotcaravel.MarmotCaravelConfig.fir@73621.4]
+  reg [31:0] _RAND_3;
+  wire  _T_345; // @[Fragmenter.scala 269:27:shc.marmotcaravel.MarmotCaravelConfig.fir@73622.4]
+  wire [3:0] _T_346; // @[Fragmenter.scala 270:46:shc.marmotcaravel.MarmotCaravelConfig.fir@73623.4]
+  wire [4:0] _T_347; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@73624.4]
+  wire [4:0] _T_348; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@73625.4]
+  wire [3:0] _T_349; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@73626.4]
+  wire [3:0] _T_350; // @[Fragmenter.scala 270:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73627.4]
+  wire [3:0] _T_351; // @[Fragmenter.scala 271:26:shc.marmotcaravel.MarmotCaravelConfig.fir@73628.4]
+  wire [3:0] _T_354; // @[Fragmenter.scala 271:24:shc.marmotcaravel.MarmotCaravelConfig.fir@73631.4]
+  reg  _T_362; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@73638.4]
+  reg [31:0] _RAND_4;
+  wire  _GEN_5; // @[Reg.scala 12:19:shc.marmotcaravel.MarmotCaravelConfig.fir@73639.4]
+  wire  _T_364; // @[Fragmenter.scala 274:21:shc.marmotcaravel.MarmotCaravelConfig.fir@73643.4]
+  wire  _T_92_a_valid; // @[Nodes.scala 332:76:shc.marmotcaravel.MarmotCaravelConfig.fir@73503.4 Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@73652.4]
+  wire  _T_365; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@73644.4]
+  wire  _T_366; // @[Fragmenter.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@73648.4]
+  wire  _T_367; // @[Fragmenter.scala 279:51:shc.marmotcaravel.MarmotCaravelConfig.fir@73649.4]
+  wire [5:0] _GEN_12; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@73653.4]
+  wire [5:0] _T_369; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@73653.4]
+  wire [5:0] _T_370; // @[Fragmenter.scala 281:88:shc.marmotcaravel.MarmotCaravelConfig.fir@73654.4]
+  wire [5:0] _T_371; // @[Fragmenter.scala 281:86:shc.marmotcaravel.MarmotCaravelConfig.fir@73655.4]
+  wire [5:0] _GEN_13; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@73656.4]
+  wire [5:0] _T_372; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@73656.4]
+  wire [5:0] _T_373; // @[Fragmenter.scala 281:109:shc.marmotcaravel.MarmotCaravelConfig.fir@73657.4]
+  wire [5:0] _T_374; // @[Fragmenter.scala 281:49:shc.marmotcaravel.MarmotCaravelConfig.fir@73658.4]
+  wire [28:0] _GEN_14; // @[Fragmenter.scala 281:47:shc.marmotcaravel.MarmotCaravelConfig.fir@73659.4]
+  wire [1:0] _T_376; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@73661.4]
+  wire  _T_378; // @[Fragmenter.scala 286:15:shc.marmotcaravel.MarmotCaravelConfig.fir@73665.4]
+  wire  _T_380; // @[Fragmenter.scala 286:33:shc.marmotcaravel.MarmotCaravelConfig.fir@73667.4]
+  wire  _T_382; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73669.4]
+  wire  _T_383; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73670.4]
+  wire  _T_385; // @[Fragmenter.scala 289:51:shc.marmotcaravel.MarmotCaravelConfig.fir@73677.4]
+  wire  _T_386; // @[Fragmenter.scala 289:33:shc.marmotcaravel.MarmotCaravelConfig.fir@73678.4]
+  wire  _T_388; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73680.4]
+  wire  _T_389; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73681.4]
+  TLMonitor_42 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@73466.4]
+    .clock(TLMonitor_clock),
+    .reset(TLMonitor_reset),
+    .io_in_a_ready(TLMonitor_io_in_a_ready),
+    .io_in_a_valid(TLMonitor_io_in_a_valid),
+    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
+    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
+    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
+    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
+    .io_in_d_ready(TLMonitor_io_in_d_ready),
+    .io_in_d_valid(TLMonitor_io_in_d_valid),
+    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
+    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
+    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source)
+  );
+  Repeater_4 Repeater ( // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73583.4]
+    .clock(Repeater_clock),
+    .reset(Repeater_reset),
+    .io_repeat(Repeater_io_repeat),
+    .io_full(Repeater_io_full),
+    .io_enq_ready(Repeater_io_enq_ready),
+    .io_enq_valid(Repeater_io_enq_valid),
+    .io_enq_bits_opcode(Repeater_io_enq_bits_opcode),
+    .io_enq_bits_param(Repeater_io_enq_bits_param),
+    .io_enq_bits_size(Repeater_io_enq_bits_size),
+    .io_enq_bits_source(Repeater_io_enq_bits_source),
+    .io_enq_bits_address(Repeater_io_enq_bits_address),
+    .io_enq_bits_mask(Repeater_io_enq_bits_mask),
+    .io_enq_bits_corrupt(Repeater_io_enq_bits_corrupt),
+    .io_deq_ready(Repeater_io_deq_ready),
+    .io_deq_valid(Repeater_io_deq_valid),
+    .io_deq_bits_opcode(Repeater_io_deq_bits_opcode),
+    .io_deq_bits_param(Repeater_io_deq_bits_param),
+    .io_deq_bits_size(Repeater_io_deq_bits_size),
+    .io_deq_bits_source(Repeater_io_deq_bits_source),
+    .io_deq_bits_address(Repeater_io_deq_bits_address),
+    .io_deq_bits_mask(Repeater_io_deq_bits_mask),
+    .io_deq_bits_corrupt(Repeater_io_deq_bits_corrupt)
+  );
+  assign _T_249 = auto_out_d_bits_source[3:0]; // @[Fragmenter.scala 170:39:shc.marmotcaravel.MarmotCaravelConfig.fir@73510.4]
+  assign _T_250 = _T_244 == 4'h0; // @[Fragmenter.scala 171:27:shc.marmotcaravel.MarmotCaravelConfig.fir@73511.4]
+  assign _T_251 = _T_249 == 4'h0; // @[Fragmenter.scala 172:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73512.4]
+  assign _T_253 = 4'h1 << auto_out_d_bits_size; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@73514.4]
+  assign _T_254 = _T_253[2:0]; // @[OneHot.scala 52:27:shc.marmotcaravel.MarmotCaravelConfig.fir@73515.4]
+  assign _T_256 = 5'h3 << auto_out_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@73517.4]
+  assign _T_257 = _T_256[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@73518.4]
+  assign _T_258 = ~ _T_257; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@73519.4]
+  assign _T_259 = auto_out_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@73520.4]
+  assign _T_271 = _T_254[2:2]; // @[Fragmenter.scala 182:58:shc.marmotcaravel.MarmotCaravelConfig.fir@73536.4]
+  assign _T_272 = _T_259 ? 1'h1 : _T_271; // @[Fragmenter.scala 182:30:shc.marmotcaravel.MarmotCaravelConfig.fir@73537.4]
+  assign _GEN_7 = {{2'd0}, _T_249}; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@73538.4]
+  assign _T_273 = _GEN_7 << 2; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@73538.4]
+  assign _GEN_8 = {{4'd0}, _T_258}; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@73539.4]
+  assign _T_274 = _T_273 | _GEN_8; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@73539.4]
+  assign _GEN_9 = {{1'd0}, _T_274}; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@73540.4]
+  assign _T_275 = _GEN_9 << 1; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@73540.4]
+  assign _T_276 = _T_275 | 7'h1; // @[package.scala 183:40:shc.marmotcaravel.MarmotCaravelConfig.fir@73541.4]
+  assign _T_277 = {1'h0,_T_274}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@73542.4]
+  assign _T_278 = ~ _T_277; // @[package.scala 183:53:shc.marmotcaravel.MarmotCaravelConfig.fir@73543.4]
+  assign _T_279 = _T_276 & _T_278; // @[package.scala 183:51:shc.marmotcaravel.MarmotCaravelConfig.fir@73544.4]
+  assign _T_280 = _T_279[6:4]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@73545.4]
+  assign _T_281 = _T_279[3:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@73546.4]
+  assign _T_282 = _T_280 != 3'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73547.4]
+  assign _GEN_10 = {{1'd0}, _T_280}; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73548.4]
+  assign _T_283 = _GEN_10 | _T_281; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73548.4]
+  assign _T_284 = _T_283[3:2]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@73549.4]
+  assign _T_285 = _T_283[1:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@73550.4]
+  assign _T_286 = _T_284 != 2'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73551.4]
+  assign _T_287 = _T_284 | _T_285; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73552.4]
+  assign _T_288 = _T_287[1]; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@73553.4]
+  assign _T_289 = {_T_286,_T_288}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@73554.4]
+  assign _T_290 = {_T_282,_T_289}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@73555.4]
+  assign _T_297 = _T_259 == 1'h0; // @[Fragmenter.scala 200:18:shc.marmotcaravel.MarmotCaravelConfig.fir@73569.4]
+  assign _T_299 = _T_251 == 1'h0; // @[Fragmenter.scala 200:31:shc.marmotcaravel.MarmotCaravelConfig.fir@73571.4]
+  assign _T_300 = _T_297 & _T_299; // @[Fragmenter.scala 200:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73572.4]
+  assign _T_301 = auto_in_d_ready | _T_300; // @[Fragmenter.scala 201:33:shc.marmotcaravel.MarmotCaravelConfig.fir@73573.4]
+  assign _T_291 = _T_301 & auto_out_d_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@73556.4]
+  assign _GEN_11 = {{3'd0}, _T_272}; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@73558.6]
+  assign _T_292 = _T_244 - _GEN_11; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@73558.6]
+  assign _T_293 = $unsigned(_T_292); // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@73559.6]
+  assign _T_294 = _T_293[3:0]; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@73560.6]
+  assign _T_296 = auto_out_d_bits_source[4]; // @[Fragmenter.scala 190:39:shc.marmotcaravel.MarmotCaravelConfig.fir@73565.8]
+  assign _T_302 = _T_300 == 1'h0; // @[Fragmenter.scala 202:37:shc.marmotcaravel.MarmotCaravelConfig.fir@73575.4]
+  assign _T_330 = Repeater_io_deq_bits_size > 3'h2; // @[Fragmenter.scala 262:29:shc.marmotcaravel.MarmotCaravelConfig.fir@73608.4]
+  assign _T_331 = _T_330 ? 3'h2 : Repeater_io_deq_bits_size; // @[Fragmenter.scala 262:22:shc.marmotcaravel.MarmotCaravelConfig.fir@73609.4]
+  assign _T_333 = 13'h3f << Repeater_io_deq_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@73611.4]
+  assign _T_334 = _T_333[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@73612.4]
+  assign _T_335 = ~ _T_334; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@73613.4]
+  assign _T_337 = 9'h3 << _T_331; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@73615.4]
+  assign _T_338 = _T_337[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@73616.4]
+  assign _T_339 = ~ _T_338; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@73617.4]
+  assign _T_340 = Repeater_io_deq_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@73618.4]
+  assign _T_341 = _T_340 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73619.4]
+  assign _T_345 = _T_344 == 4'h0; // @[Fragmenter.scala 269:27:shc.marmotcaravel.MarmotCaravelConfig.fir@73622.4]
+  assign _T_346 = _T_335[5:2]; // @[Fragmenter.scala 270:46:shc.marmotcaravel.MarmotCaravelConfig.fir@73623.4]
+  assign _T_347 = _T_344 - 4'h1; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@73624.4]
+  assign _T_348 = $unsigned(_T_347); // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@73625.4]
+  assign _T_349 = _T_348[3:0]; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@73626.4]
+  assign _T_350 = _T_345 ? _T_346 : _T_349; // @[Fragmenter.scala 270:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73627.4]
+  assign _T_351 = ~ _T_350; // @[Fragmenter.scala 271:26:shc.marmotcaravel.MarmotCaravelConfig.fir@73628.4]
+  assign _T_354 = ~ _T_351; // @[Fragmenter.scala 271:24:shc.marmotcaravel.MarmotCaravelConfig.fir@73631.4]
+  assign _GEN_5 = _T_345 ? _T_248 : _T_362; // @[Reg.scala 12:19:shc.marmotcaravel.MarmotCaravelConfig.fir@73639.4]
+  assign _T_364 = _GEN_5 == 1'h0; // @[Fragmenter.scala 274:21:shc.marmotcaravel.MarmotCaravelConfig.fir@73643.4]
+  assign _T_92_a_valid = Repeater_io_deq_valid; // @[Nodes.scala 332:76:shc.marmotcaravel.MarmotCaravelConfig.fir@73503.4 Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@73652.4]
+  assign _T_365 = auto_out_a_ready & _T_92_a_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@73644.4]
+  assign _T_366 = _T_341 == 1'h0; // @[Fragmenter.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@73648.4]
+  assign _T_367 = _T_354 != 4'h0; // @[Fragmenter.scala 279:51:shc.marmotcaravel.MarmotCaravelConfig.fir@73649.4]
+  assign _GEN_12 = {{2'd0}, _T_350}; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@73653.4]
+  assign _T_369 = _GEN_12 << 2; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@73653.4]
+  assign _T_370 = ~ _T_335; // @[Fragmenter.scala 281:88:shc.marmotcaravel.MarmotCaravelConfig.fir@73654.4]
+  assign _T_371 = _T_369 | _T_370; // @[Fragmenter.scala 281:86:shc.marmotcaravel.MarmotCaravelConfig.fir@73655.4]
+  assign _GEN_13 = {{4'd0}, _T_339}; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@73656.4]
+  assign _T_372 = _T_371 | _GEN_13; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@73656.4]
+  assign _T_373 = _T_372 | 6'h3; // @[Fragmenter.scala 281:109:shc.marmotcaravel.MarmotCaravelConfig.fir@73657.4]
+  assign _T_374 = ~ _T_373; // @[Fragmenter.scala 281:49:shc.marmotcaravel.MarmotCaravelConfig.fir@73658.4]
+  assign _GEN_14 = {{23'd0}, _T_374}; // @[Fragmenter.scala 281:47:shc.marmotcaravel.MarmotCaravelConfig.fir@73659.4]
+  assign _T_376 = {Repeater_io_deq_bits_source,_T_364}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@73661.4]
+  assign _T_378 = Repeater_io_full == 1'h0; // @[Fragmenter.scala 286:15:shc.marmotcaravel.MarmotCaravelConfig.fir@73665.4]
+  assign _T_380 = _T_378 | _T_366; // @[Fragmenter.scala 286:33:shc.marmotcaravel.MarmotCaravelConfig.fir@73667.4]
+  assign _T_382 = _T_380 | reset; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73669.4]
+  assign _T_383 = _T_382 == 1'h0; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73670.4]
+  assign _T_385 = Repeater_io_deq_bits_mask == 4'hf; // @[Fragmenter.scala 289:51:shc.marmotcaravel.MarmotCaravelConfig.fir@73677.4]
+  assign _T_386 = _T_378 | _T_385; // @[Fragmenter.scala 289:33:shc.marmotcaravel.MarmotCaravelConfig.fir@73678.4]
+  assign _T_388 = _T_386 | reset; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73680.4]
+  assign _T_389 = _T_388 == 1'h0; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73681.4]
+  assign auto_in_a_ready = Repeater_io_enq_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@73506.4]
+  assign auto_in_d_valid = auto_out_d_valid & _T_302; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@73506.4]
+  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@73506.4]
+  assign auto_in_d_bits_size = _T_250 ? _T_290 : _T_246; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@73506.4]
+  assign auto_in_d_bits_source = auto_out_d_bits_source[5:5]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@73506.4]
+  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@73506.4]
+  assign auto_out_a_valid = Repeater_io_deq_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@73505.4]
+  assign auto_out_a_bits_opcode = Repeater_io_deq_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@73505.4]
+  assign auto_out_a_bits_param = Repeater_io_deq_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@73505.4]
+  assign auto_out_a_bits_size = _T_331[1:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@73505.4]
+  assign auto_out_a_bits_source = {_T_376,_T_354}; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@73505.4]
+  assign auto_out_a_bits_address = Repeater_io_deq_bits_address | _GEN_14; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@73505.4]
+  assign auto_out_a_bits_mask = Repeater_io_full ? 4'hf : auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@73505.4]
+  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@73505.4]
+  assign auto_out_a_bits_corrupt = Repeater_io_deq_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@73505.4]
+  assign auto_out_d_ready = auto_in_d_ready | _T_300; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@73505.4]
+  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73468.4]
+  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73469.4]
+  assign TLMonitor_io_in_a_ready = Repeater_io_enq_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@73502.4]
+  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@73502.4]
+  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@73502.4]
+  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@73502.4]
+  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@73502.4]
+  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@73502.4]
+  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@73502.4]
+  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@73502.4]
+  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@73502.4]
+  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@73502.4]
+  assign TLMonitor_io_in_d_valid = auto_out_d_valid & _T_302; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@73502.4]
+  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@73502.4]
+  assign TLMonitor_io_in_d_bits_size = _T_250 ? _T_290 : _T_246; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@73502.4]
+  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source[5:5]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@73502.4]
+  assign Repeater_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73585.4]
+  assign Repeater_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73586.4]
+  assign Repeater_io_repeat = _T_366 & _T_367; // @[Fragmenter.scala 279:26:shc.marmotcaravel.MarmotCaravelConfig.fir@73651.4]
+  assign Repeater_io_enq_valid = auto_in_a_valid; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@73587.4]
+  assign Repeater_io_enq_bits_opcode = auto_in_a_bits_opcode; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@73587.4]
+  assign Repeater_io_enq_bits_param = auto_in_a_bits_param; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@73587.4]
+  assign Repeater_io_enq_bits_size = auto_in_a_bits_size; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@73587.4]
+  assign Repeater_io_enq_bits_source = auto_in_a_bits_source; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@73587.4]
+  assign Repeater_io_enq_bits_address = auto_in_a_bits_address; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@73587.4]
+  assign Repeater_io_enq_bits_mask = auto_in_a_bits_mask; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@73587.4]
+  assign Repeater_io_enq_bits_corrupt = auto_in_a_bits_corrupt; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@73587.4]
+  assign Repeater_io_deq_ready = auto_out_a_ready; // @[Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@73652.4]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  _T_244 = _RAND_0[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  _T_246 = _RAND_1[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  _T_248 = _RAND_2[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  _T_344 = _RAND_3[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  _T_362 = _RAND_4[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      _T_244 <= 4'h0;
+    end else begin
+      if (_T_291) begin
+        if (_T_250) begin
+          _T_244 <= _T_249;
+        end else begin
+          _T_244 <= _T_294;
+        end
+      end
+    end
+    if (_T_291) begin
+      if (_T_250) begin
+        _T_246 <= _T_290;
+      end
+    end
+    if (reset) begin
+      _T_248 <= 1'h0;
+    end else begin
+      if (_T_291) begin
+        if (_T_250) begin
+          _T_248 <= _T_296;
+        end
+      end
+    end
+    if (reset) begin
+      _T_344 <= 4'h0;
+    end else begin
+      if (_T_365) begin
+        _T_344 <= _T_354;
+      end
+    end
+    if (_T_345) begin
+      _T_362 <= _T_248;
+    end
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:180 assert (!out.d.valid || (acknum_fragment & acknum_size) === UInt(0))\n"); // @[Fragmenter.scala 180:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73531.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Fragmenter.scala 180:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73532.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_383) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:286 assert (!repeater.io.full || !aHasData)\n"); // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73672.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_383) begin
+          $fatal; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73673.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_389) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:289 assert (!repeater.io.full || in_a.bits.mask === fullMask)\n"); // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73683.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_389) begin
+          $fatal; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73684.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+endmodule
+module SimpleLazyModule_21( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73695.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73696.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73697.4]
+  output        auto_fragmenter_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73698.4]
+  input         auto_fragmenter_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73698.4]
+  input  [2:0]  auto_fragmenter_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73698.4]
+  input  [2:0]  auto_fragmenter_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73698.4]
+  input  [2:0]  auto_fragmenter_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73698.4]
+  input         auto_fragmenter_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73698.4]
+  input  [28:0] auto_fragmenter_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73698.4]
+  input  [3:0]  auto_fragmenter_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73698.4]
+  input  [31:0] auto_fragmenter_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73698.4]
+  input         auto_fragmenter_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73698.4]
+  input         auto_fragmenter_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73698.4]
+  output        auto_fragmenter_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73698.4]
+  output [2:0]  auto_fragmenter_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73698.4]
+  output [2:0]  auto_fragmenter_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73698.4]
+  output        auto_fragmenter_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73698.4]
+  output [31:0] auto_fragmenter_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73698.4]
+  input         auto_control_xing_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73698.4]
+  output        auto_control_xing_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73698.4]
+  output [2:0]  auto_control_xing_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73698.4]
+  output [2:0]  auto_control_xing_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73698.4]
+  output [1:0]  auto_control_xing_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73698.4]
+  output [5:0]  auto_control_xing_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73698.4]
+  output [28:0] auto_control_xing_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73698.4]
+  output [3:0]  auto_control_xing_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73698.4]
+  output [31:0] auto_control_xing_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73698.4]
+  output        auto_control_xing_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73698.4]
+  output        auto_control_xing_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73698.4]
+  input         auto_control_xing_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73698.4]
+  input  [2:0]  auto_control_xing_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73698.4]
+  input  [1:0]  auto_control_xing_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73698.4]
+  input  [5:0]  auto_control_xing_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73698.4]
+  input  [31:0] auto_control_xing_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73698.4]
+);
+  wire  fragmenter_clock; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@73703.4]
+  wire  fragmenter_reset; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@73703.4]
+  wire  fragmenter_auto_in_a_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@73703.4]
+  wire  fragmenter_auto_in_a_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@73703.4]
+  wire [2:0] fragmenter_auto_in_a_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@73703.4]
+  wire [2:0] fragmenter_auto_in_a_bits_param; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@73703.4]
+  wire [2:0] fragmenter_auto_in_a_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@73703.4]
+  wire  fragmenter_auto_in_a_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@73703.4]
+  wire [28:0] fragmenter_auto_in_a_bits_address; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@73703.4]
+  wire [3:0] fragmenter_auto_in_a_bits_mask; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@73703.4]
+  wire [31:0] fragmenter_auto_in_a_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@73703.4]
+  wire  fragmenter_auto_in_a_bits_corrupt; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@73703.4]
+  wire  fragmenter_auto_in_d_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@73703.4]
+  wire  fragmenter_auto_in_d_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@73703.4]
+  wire [2:0] fragmenter_auto_in_d_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@73703.4]
+  wire [2:0] fragmenter_auto_in_d_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@73703.4]
+  wire  fragmenter_auto_in_d_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@73703.4]
+  wire [31:0] fragmenter_auto_in_d_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@73703.4]
+  wire  fragmenter_auto_out_a_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@73703.4]
+  wire  fragmenter_auto_out_a_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@73703.4]
+  wire [2:0] fragmenter_auto_out_a_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@73703.4]
+  wire [2:0] fragmenter_auto_out_a_bits_param; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@73703.4]
+  wire [1:0] fragmenter_auto_out_a_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@73703.4]
+  wire [5:0] fragmenter_auto_out_a_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@73703.4]
+  wire [28:0] fragmenter_auto_out_a_bits_address; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@73703.4]
+  wire [3:0] fragmenter_auto_out_a_bits_mask; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@73703.4]
+  wire [31:0] fragmenter_auto_out_a_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@73703.4]
+  wire  fragmenter_auto_out_a_bits_corrupt; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@73703.4]
+  wire  fragmenter_auto_out_d_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@73703.4]
+  wire  fragmenter_auto_out_d_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@73703.4]
+  wire [2:0] fragmenter_auto_out_d_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@73703.4]
+  wire [1:0] fragmenter_auto_out_d_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@73703.4]
+  wire [5:0] fragmenter_auto_out_d_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@73703.4]
+  wire [31:0] fragmenter_auto_out_d_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@73703.4]
+  TLFragmenter_13 fragmenter ( // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@73703.4]
+    .clock(fragmenter_clock),
+    .reset(fragmenter_reset),
+    .auto_in_a_ready(fragmenter_auto_in_a_ready),
+    .auto_in_a_valid(fragmenter_auto_in_a_valid),
+    .auto_in_a_bits_opcode(fragmenter_auto_in_a_bits_opcode),
+    .auto_in_a_bits_param(fragmenter_auto_in_a_bits_param),
+    .auto_in_a_bits_size(fragmenter_auto_in_a_bits_size),
+    .auto_in_a_bits_source(fragmenter_auto_in_a_bits_source),
+    .auto_in_a_bits_address(fragmenter_auto_in_a_bits_address),
+    .auto_in_a_bits_mask(fragmenter_auto_in_a_bits_mask),
+    .auto_in_a_bits_data(fragmenter_auto_in_a_bits_data),
+    .auto_in_a_bits_corrupt(fragmenter_auto_in_a_bits_corrupt),
+    .auto_in_d_ready(fragmenter_auto_in_d_ready),
+    .auto_in_d_valid(fragmenter_auto_in_d_valid),
+    .auto_in_d_bits_opcode(fragmenter_auto_in_d_bits_opcode),
+    .auto_in_d_bits_size(fragmenter_auto_in_d_bits_size),
+    .auto_in_d_bits_source(fragmenter_auto_in_d_bits_source),
+    .auto_in_d_bits_data(fragmenter_auto_in_d_bits_data),
+    .auto_out_a_ready(fragmenter_auto_out_a_ready),
+    .auto_out_a_valid(fragmenter_auto_out_a_valid),
+    .auto_out_a_bits_opcode(fragmenter_auto_out_a_bits_opcode),
+    .auto_out_a_bits_param(fragmenter_auto_out_a_bits_param),
+    .auto_out_a_bits_size(fragmenter_auto_out_a_bits_size),
+    .auto_out_a_bits_source(fragmenter_auto_out_a_bits_source),
+    .auto_out_a_bits_address(fragmenter_auto_out_a_bits_address),
+    .auto_out_a_bits_mask(fragmenter_auto_out_a_bits_mask),
+    .auto_out_a_bits_data(fragmenter_auto_out_a_bits_data),
+    .auto_out_a_bits_corrupt(fragmenter_auto_out_a_bits_corrupt),
+    .auto_out_d_ready(fragmenter_auto_out_d_ready),
+    .auto_out_d_valid(fragmenter_auto_out_d_valid),
+    .auto_out_d_bits_opcode(fragmenter_auto_out_d_bits_opcode),
+    .auto_out_d_bits_size(fragmenter_auto_out_d_bits_size),
+    .auto_out_d_bits_source(fragmenter_auto_out_d_bits_source),
+    .auto_out_d_bits_data(fragmenter_auto_out_d_bits_data)
+  );
+  assign auto_fragmenter_in_a_ready = fragmenter_auto_in_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@73716.4]
+  assign auto_fragmenter_in_d_valid = fragmenter_auto_in_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@73716.4]
+  assign auto_fragmenter_in_d_bits_opcode = fragmenter_auto_in_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@73716.4]
+  assign auto_fragmenter_in_d_bits_size = fragmenter_auto_in_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@73716.4]
+  assign auto_fragmenter_in_d_bits_source = fragmenter_auto_in_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@73716.4]
+  assign auto_fragmenter_in_d_bits_data = fragmenter_auto_in_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@73716.4]
+  assign auto_control_xing_out_a_valid = fragmenter_auto_out_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@73715.4]
+  assign auto_control_xing_out_a_bits_opcode = fragmenter_auto_out_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@73715.4]
+  assign auto_control_xing_out_a_bits_param = fragmenter_auto_out_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@73715.4]
+  assign auto_control_xing_out_a_bits_size = fragmenter_auto_out_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@73715.4]
+  assign auto_control_xing_out_a_bits_source = fragmenter_auto_out_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@73715.4]
+  assign auto_control_xing_out_a_bits_address = fragmenter_auto_out_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@73715.4]
+  assign auto_control_xing_out_a_bits_mask = fragmenter_auto_out_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@73715.4]
+  assign auto_control_xing_out_a_bits_data = fragmenter_auto_out_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@73715.4]
+  assign auto_control_xing_out_a_bits_corrupt = fragmenter_auto_out_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@73715.4]
+  assign auto_control_xing_out_d_ready = fragmenter_auto_out_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@73715.4]
+  assign fragmenter_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73707.4]
+  assign fragmenter_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73708.4]
+  assign fragmenter_auto_in_a_valid = auto_fragmenter_in_a_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@73716.4]
+  assign fragmenter_auto_in_a_bits_opcode = auto_fragmenter_in_a_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@73716.4]
+  assign fragmenter_auto_in_a_bits_param = auto_fragmenter_in_a_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@73716.4]
+  assign fragmenter_auto_in_a_bits_size = auto_fragmenter_in_a_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@73716.4]
+  assign fragmenter_auto_in_a_bits_source = auto_fragmenter_in_a_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@73716.4]
+  assign fragmenter_auto_in_a_bits_address = auto_fragmenter_in_a_bits_address; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@73716.4]
+  assign fragmenter_auto_in_a_bits_mask = auto_fragmenter_in_a_bits_mask; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@73716.4]
+  assign fragmenter_auto_in_a_bits_data = auto_fragmenter_in_a_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@73716.4]
+  assign fragmenter_auto_in_a_bits_corrupt = auto_fragmenter_in_a_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@73716.4]
+  assign fragmenter_auto_in_d_ready = auto_fragmenter_in_d_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@73716.4]
+  assign fragmenter_auto_out_a_ready = auto_control_xing_out_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@73714.4]
+  assign fragmenter_auto_out_d_valid = auto_control_xing_out_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@73714.4]
+  assign fragmenter_auto_out_d_bits_opcode = auto_control_xing_out_d_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@73714.4]
+  assign fragmenter_auto_out_d_bits_size = auto_control_xing_out_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@73714.4]
+  assign fragmenter_auto_out_d_bits_source = auto_control_xing_out_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@73714.4]
+  assign fragmenter_auto_out_d_bits_data = auto_control_xing_out_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@73714.4]
+endmodule
+module TLMonitor_43( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73725.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73726.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73727.4]
+  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73728.4]
+  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73728.4]
+  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73728.4]
+  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73728.4]
+  input  [2:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73728.4]
+  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73728.4]
+  input  [28:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73728.4]
+  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73728.4]
+  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73728.4]
+  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73728.4]
+  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73728.4]
+  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73728.4]
+  input  [2:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73728.4]
+  input         io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73728.4]
+);
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@74849.4]
+  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@73744.6]
+  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@73749.6]
+  wire [12:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@73751.6]
+  wire [5:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@73752.6]
+  wire [5:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@73753.6]
+  wire [28:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@73754.6]
+  wire [28:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@73754.6]
+  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@73755.6]
+  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@73757.6]
+  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@73758.6]
+  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@73760.6]
+  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@73761.6]
+  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@73762.6]
+  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@73763.6]
+  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@73764.6]
+  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@73766.6]
+  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@73767.6]
+  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@73769.6]
+  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@73770.6]
+  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@73771.6]
+  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@73772.6]
+  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@73773.6]
+  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@73774.6]
+  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@73775.6]
+  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@73776.6]
+  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@73777.6]
+  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@73778.6]
+  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@73779.6]
+  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@73780.6]
+  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@73781.6]
+  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@73782.6]
+  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@73783.6]
+  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@73784.6]
+  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@73785.6]
+  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@73786.6]
+  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@73787.6]
+  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@73788.6]
+  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@73813.6]
+  wire [28:0] _T_92; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@73816.8]
+  wire [29:0] _T_93; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@73817.8]
+  wire [29:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@73818.8]
+  wire [29:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@73819.8]
+  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@73820.8]
+  wire  _T_101; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73825.8]
+  wire  _T_106; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73838.8]
+  wire  _T_107; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73839.8]
+  wire  _T_110; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73846.8]
+  wire  _T_111; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73847.8]
+  wire  _T_113; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73853.8]
+  wire  _T_114; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73854.8]
+  wire  _T_115; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@73859.8]
+  wire  _T_117; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73861.8]
+  wire  _T_118; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73862.8]
+  wire [3:0] _T_119; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@73867.8]
+  wire  _T_120; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73868.8]
+  wire  _T_122; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73870.8]
+  wire  _T_123; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73871.8]
+  wire  _T_124; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@73876.8]
+  wire  _T_126; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73878.8]
+  wire  _T_127; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73879.8]
+  wire  _T_128; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@73885.6]
+  wire  _T_157; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73939.8]
+  wire  _T_159; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73941.8]
+  wire  _T_160; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73942.8]
+  wire  _T_170; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@73965.6]
+  wire  _T_172; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@73968.8]
+  wire  _T_180; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@73976.8]
+  wire  _T_183; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73979.8]
+  wire  _T_184; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73980.8]
+  wire  _T_191; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73999.8]
+  wire  _T_193; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74001.8]
+  wire  _T_194; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74002.8]
+  wire  _T_195; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@74007.8]
+  wire  _T_197; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74009.8]
+  wire  _T_198; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74010.8]
+  wire  _T_203; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74024.6]
+  wire  _T_232; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74075.6]
+  wire [3:0] _T_257; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@74117.8]
+  wire [3:0] _T_258; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74118.8]
+  wire  _T_259; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@74119.8]
+  wire  _T_261; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74121.8]
+  wire  _T_262; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74122.8]
+  wire  _T_263; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74128.6]
+  wire  _T_281; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@74159.8]
+  wire  _T_283; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74161.8]
+  wire  _T_284; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74162.8]
+  wire  _T_289; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74176.6]
+  wire  _T_307; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@74207.8]
+  wire  _T_309; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74209.8]
+  wire  _T_310; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74210.8]
+  wire  _T_315; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74224.6]
+  wire  _T_341; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@74274.6]
+  wire  _T_343; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@74276.6]
+  wire  _T_344; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@74277.6]
+  wire  _T_346; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@74283.6]
+  wire  _T_355; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@74288.6]
+  wire  _T_357; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74290.6]
+  wire  _T_359; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74293.8]
+  wire  _T_360; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74294.8]
+  wire  _T_361; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@74299.8]
+  wire  _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74301.8]
+  wire  _T_364; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74302.8]
+  wire  _T_377; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74332.6]
+  wire  _T_405; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74390.6]
+  wire  _T_434; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74449.6]
+  wire  _T_451; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74484.6]
+  wire  _T_469; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74520.6]
+  wire  _T_498; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@74580.4]
+  wire [3:0] _T_503; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@74585.4]
+  wire  _T_504; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@74586.4]
+  wire  _T_505; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74587.4]
+  reg [3:0] _T_508; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@74589.4]
+  reg [31:0] _RAND_0;
+  wire [4:0] _T_509; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74590.4]
+  wire [4:0] _T_510; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74591.4]
+  wire [3:0] _T_511; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74592.4]
+  wire  _T_512; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74593.4]
+  reg [2:0] _T_521; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@74604.4]
+  reg [31:0] _RAND_1;
+  reg [2:0] _T_523; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@74605.4]
+  reg [31:0] _RAND_2;
+  reg [2:0] _T_525; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@74606.4]
+  reg [31:0] _RAND_3;
+  reg  _T_527; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@74607.4]
+  reg [31:0] _RAND_4;
+  reg [28:0] _T_529; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@74608.4]
+  reg [31:0] _RAND_5;
+  wire  _T_530; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@74609.4]
+  wire  _T_531; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@74610.4]
+  wire  _T_532; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@74612.6]
+  wire  _T_534; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74614.6]
+  wire  _T_535; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74615.6]
+  wire  _T_536; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@74620.6]
+  wire  _T_538; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74622.6]
+  wire  _T_539; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74623.6]
+  wire  _T_540; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@74628.6]
+  wire  _T_542; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74630.6]
+  wire  _T_543; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74631.6]
+  wire  _T_544; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@74636.6]
+  wire  _T_546; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74638.6]
+  wire  _T_547; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74639.6]
+  wire  _T_548; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@74644.6]
+  wire  _T_550; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74646.6]
+  wire  _T_551; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74647.6]
+  wire  _T_553; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@74654.4]
+  wire  _T_554; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@74662.4]
+  wire [12:0] _T_556; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@74664.4]
+  wire [5:0] _T_557; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@74665.4]
+  wire [5:0] _T_558; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@74666.4]
+  wire [3:0] _T_559; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@74667.4]
+  wire  _T_560; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@74668.4]
+  reg [3:0] _T_563; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@74670.4]
+  reg [31:0] _RAND_6;
+  wire [4:0] _T_564; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74671.4]
+  wire [4:0] _T_565; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74672.4]
+  wire [3:0] _T_566; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74673.4]
+  wire  _T_567; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74674.4]
+  reg [2:0] _T_576; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@74685.4]
+  reg [31:0] _RAND_7;
+  reg [2:0] _T_580; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@74687.4]
+  reg [31:0] _RAND_8;
+  reg  _T_582; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@74688.4]
+  reg [31:0] _RAND_9;
+  wire  _T_587; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@74691.4]
+  wire  _T_588; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@74692.4]
+  wire  _T_589; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@74694.6]
+  wire  _T_591; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74696.6]
+  wire  _T_592; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74697.6]
+  wire  _T_597; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@74710.6]
+  wire  _T_599; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74712.6]
+  wire  _T_600; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74713.6]
+  wire  _T_601; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@74718.6]
+  wire  _T_603; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74720.6]
+  wire  _T_604; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74721.6]
+  wire  _T_614; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@74744.4]
+  reg [1:0] _T_616; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@74753.4]
+  reg [31:0] _RAND_10;
+  reg [3:0] _T_627; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@74763.4]
+  reg [31:0] _RAND_11;
+  wire [4:0] _T_628; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74764.4]
+  wire [4:0] _T_629; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74765.4]
+  wire [3:0] _T_630; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74766.4]
+  wire  _T_631; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74767.4]
+  reg [3:0] _T_648; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@74786.4]
+  reg [31:0] _RAND_12;
+  wire [4:0] _T_649; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74787.4]
+  wire [4:0] _T_650; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74788.4]
+  wire [3:0] _T_651; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74789.4]
+  wire  _T_652; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74790.4]
+  wire  _T_663; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@74805.4]
+  wire [1:0] _T_665; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@74808.6]
+  wire [1:0] _T_666; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@74810.6]
+  wire  _T_667; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@74811.6]
+  wire  _T_668; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74812.6]
+  wire  _T_670; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@74814.6]
+  wire  _T_671; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@74815.6]
+  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@74807.4]
+  wire  _T_676; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@74826.4]
+  wire  _T_678; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@74828.4]
+  wire  _T_679; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@74829.4]
+  wire [1:0] _T_680; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@74831.6]
+  wire [1:0] _T_681; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@74833.6]
+  wire [1:0] _T_682; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@74834.6]
+  wire  _T_683; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@74835.6]
+  wire  _T_685; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@74837.6]
+  wire  _T_686; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@74838.6]
+  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@74830.4]
+  wire [1:0] _T_687; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@74844.4]
+  wire [1:0] _T_688; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@74845.4]
+  wire [1:0] _T_689; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@74846.4]
+  reg [31:0] _T_691; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@74848.4]
+  reg [31:0] _RAND_13;
+  wire  _T_692; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@74851.4]
+  wire  _T_693; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@74852.4]
+  wire  _T_694; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@74853.4]
+  wire  _T_695; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@74854.4]
+  wire  _T_696; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@74855.4]
+  wire  _T_697; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@74856.4]
+  wire  _T_699; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@74858.4]
+  wire  _T_700; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@74859.4]
+  wire [31:0] _T_702; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@74865.4]
+  wire  _T_705; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@74869.4]
+  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73827.10]
+  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73899.10]
+  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73982.10]
+  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74041.10]
+  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74092.10]
+  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74142.10]
+  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74190.10]
+  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74238.10]
+  wire  _GEN_115; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74296.10]
+  wire  _GEN_119; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74338.10]
+  wire  _GEN_125; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74396.10]
+  wire  _GEN_131; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74455.10]
+  wire  _GEN_133; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74490.10]
+  wire  _GEN_135; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74526.10]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@74849.4]
+    .out(plusarg_reader_out)
+  );
+  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@73744.6]
+  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@73749.6]
+  assign _T_32 = 13'h3f << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@73751.6]
+  assign _T_33 = _T_32[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@73752.6]
+  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@73753.6]
+  assign _GEN_18 = {{23'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@73754.6]
+  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@73754.6]
+  assign _T_36 = _T_35 == 29'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@73755.6]
+  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@73757.6]
+  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@73758.6]
+  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@73760.6]
+  assign _T_42 = io_in_a_bits_size >= 3'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@73761.6]
+  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@73762.6]
+  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@73763.6]
+  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@73764.6]
+  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@73766.6]
+  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@73767.6]
+  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@73769.6]
+  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@73770.6]
+  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@73771.6]
+  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@73772.6]
+  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@73773.6]
+  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@73774.6]
+  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@73775.6]
+  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@73776.6]
+  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@73777.6]
+  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@73778.6]
+  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@73779.6]
+  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@73780.6]
+  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@73781.6]
+  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@73782.6]
+  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@73783.6]
+  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@73784.6]
+  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@73785.6]
+  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@73786.6]
+  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@73787.6]
+  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@73788.6]
+  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@73813.6]
+  assign _T_92 = io_in_a_bits_address ^ 29'h10012000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@73816.8]
+  assign _T_93 = {1'b0,$signed(_T_92)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@73817.8]
+  assign _T_94 = $signed(_T_93) & $signed(-30'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@73818.8]
+  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@73819.8]
+  assign _T_96 = $signed(_T_95) == $signed(30'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@73820.8]
+  assign _T_101 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73825.8]
+  assign _T_106 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73838.8]
+  assign _T_107 = _T_106 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73839.8]
+  assign _T_110 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73846.8]
+  assign _T_111 = _T_110 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73847.8]
+  assign _T_113 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73853.8]
+  assign _T_114 = _T_113 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73854.8]
+  assign _T_115 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@73859.8]
+  assign _T_117 = _T_115 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73861.8]
+  assign _T_118 = _T_117 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73862.8]
+  assign _T_119 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@73867.8]
+  assign _T_120 = _T_119 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73868.8]
+  assign _T_122 = _T_120 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73870.8]
+  assign _T_123 = _T_122 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73871.8]
+  assign _T_124 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@73876.8]
+  assign _T_126 = _T_124 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73878.8]
+  assign _T_127 = _T_126 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73879.8]
+  assign _T_128 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@73885.6]
+  assign _T_157 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73939.8]
+  assign _T_159 = _T_157 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73941.8]
+  assign _T_160 = _T_159 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73942.8]
+  assign _T_170 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@73965.6]
+  assign _T_172 = io_in_a_bits_size <= 3'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@73968.8]
+  assign _T_180 = _T_172 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@73976.8]
+  assign _T_183 = _T_180 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73979.8]
+  assign _T_184 = _T_183 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73980.8]
+  assign _T_191 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73999.8]
+  assign _T_193 = _T_191 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74001.8]
+  assign _T_194 = _T_193 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74002.8]
+  assign _T_195 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@74007.8]
+  assign _T_197 = _T_195 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74009.8]
+  assign _T_198 = _T_197 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74010.8]
+  assign _T_203 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74024.6]
+  assign _T_232 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74075.6]
+  assign _T_257 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@74117.8]
+  assign _T_258 = io_in_a_bits_mask & _T_257; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74118.8]
+  assign _T_259 = _T_258 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@74119.8]
+  assign _T_261 = _T_259 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74121.8]
+  assign _T_262 = _T_261 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74122.8]
+  assign _T_263 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74128.6]
+  assign _T_281 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@74159.8]
+  assign _T_283 = _T_281 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74161.8]
+  assign _T_284 = _T_283 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74162.8]
+  assign _T_289 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74176.6]
+  assign _T_307 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@74207.8]
+  assign _T_309 = _T_307 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74209.8]
+  assign _T_310 = _T_309 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74210.8]
+  assign _T_315 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74224.6]
+  assign _T_341 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@74274.6]
+  assign _T_343 = _T_341 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@74276.6]
+  assign _T_344 = _T_343 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@74277.6]
+  assign _T_346 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@74283.6]
+  assign _T_355 = io_in_d_bits_source | _T_346; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@74288.6]
+  assign _T_357 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74290.6]
+  assign _T_359 = _T_355 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74293.8]
+  assign _T_360 = _T_359 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74294.8]
+  assign _T_361 = io_in_d_bits_size >= 3'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@74299.8]
+  assign _T_363 = _T_361 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74301.8]
+  assign _T_364 = _T_363 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74302.8]
+  assign _T_377 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74332.6]
+  assign _T_405 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74390.6]
+  assign _T_434 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74449.6]
+  assign _T_451 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74484.6]
+  assign _T_469 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74520.6]
+  assign _T_498 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@74580.4]
+  assign _T_503 = _T_34[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@74585.4]
+  assign _T_504 = io_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@74586.4]
+  assign _T_505 = _T_504 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74587.4]
+  assign _T_509 = _T_508 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74590.4]
+  assign _T_510 = $unsigned(_T_509); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74591.4]
+  assign _T_511 = _T_510[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74592.4]
+  assign _T_512 = _T_508 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74593.4]
+  assign _T_530 = _T_512 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@74609.4]
+  assign _T_531 = io_in_a_valid & _T_530; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@74610.4]
+  assign _T_532 = io_in_a_bits_opcode == _T_521; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@74612.6]
+  assign _T_534 = _T_532 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74614.6]
+  assign _T_535 = _T_534 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74615.6]
+  assign _T_536 = io_in_a_bits_param == _T_523; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@74620.6]
+  assign _T_538 = _T_536 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74622.6]
+  assign _T_539 = _T_538 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74623.6]
+  assign _T_540 = io_in_a_bits_size == _T_525; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@74628.6]
+  assign _T_542 = _T_540 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74630.6]
+  assign _T_543 = _T_542 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74631.6]
+  assign _T_544 = io_in_a_bits_source == _T_527; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@74636.6]
+  assign _T_546 = _T_544 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74638.6]
+  assign _T_547 = _T_546 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74639.6]
+  assign _T_548 = io_in_a_bits_address == _T_529; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@74644.6]
+  assign _T_550 = _T_548 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74646.6]
+  assign _T_551 = _T_550 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74647.6]
+  assign _T_553 = _T_498 & _T_512; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@74654.4]
+  assign _T_554 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@74662.4]
+  assign _T_556 = 13'h3f << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@74664.4]
+  assign _T_557 = _T_556[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@74665.4]
+  assign _T_558 = ~ _T_557; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@74666.4]
+  assign _T_559 = _T_558[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@74667.4]
+  assign _T_560 = io_in_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@74668.4]
+  assign _T_564 = _T_563 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74671.4]
+  assign _T_565 = $unsigned(_T_564); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74672.4]
+  assign _T_566 = _T_565[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74673.4]
+  assign _T_567 = _T_563 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74674.4]
+  assign _T_587 = _T_567 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@74691.4]
+  assign _T_588 = io_in_d_valid & _T_587; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@74692.4]
+  assign _T_589 = io_in_d_bits_opcode == _T_576; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@74694.6]
+  assign _T_591 = _T_589 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74696.6]
+  assign _T_592 = _T_591 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74697.6]
+  assign _T_597 = io_in_d_bits_size == _T_580; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@74710.6]
+  assign _T_599 = _T_597 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74712.6]
+  assign _T_600 = _T_599 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74713.6]
+  assign _T_601 = io_in_d_bits_source == _T_582; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@74718.6]
+  assign _T_603 = _T_601 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74720.6]
+  assign _T_604 = _T_603 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74721.6]
+  assign _T_614 = _T_554 & _T_567; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@74744.4]
+  assign _T_628 = _T_627 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74764.4]
+  assign _T_629 = $unsigned(_T_628); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74765.4]
+  assign _T_630 = _T_629[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74766.4]
+  assign _T_631 = _T_627 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74767.4]
+  assign _T_649 = _T_648 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74787.4]
+  assign _T_650 = $unsigned(_T_649); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74788.4]
+  assign _T_651 = _T_650[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74789.4]
+  assign _T_652 = _T_648 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74790.4]
+  assign _T_663 = _T_498 & _T_631; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@74805.4]
+  assign _T_665 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@74808.6]
+  assign _T_666 = _T_616 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@74810.6]
+  assign _T_667 = _T_666[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@74811.6]
+  assign _T_668 = _T_667 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74812.6]
+  assign _T_670 = _T_668 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@74814.6]
+  assign _T_671 = _T_670 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@74815.6]
+  assign _GEN_15 = _T_663 ? _T_665 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@74807.4]
+  assign _T_676 = _T_554 & _T_652; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@74826.4]
+  assign _T_678 = _T_357 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@74828.4]
+  assign _T_679 = _T_676 & _T_678; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@74829.4]
+  assign _T_680 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@74831.6]
+  assign _T_681 = _GEN_15 | _T_616; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@74833.6]
+  assign _T_682 = _T_681 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@74834.6]
+  assign _T_683 = _T_682[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@74835.6]
+  assign _T_685 = _T_683 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@74837.6]
+  assign _T_686 = _T_685 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@74838.6]
+  assign _GEN_16 = _T_679 ? _T_680 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@74830.4]
+  assign _T_687 = _T_616 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@74844.4]
+  assign _T_688 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@74845.4]
+  assign _T_689 = _T_687 & _T_688; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@74846.4]
+  assign _T_692 = _T_616 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@74851.4]
+  assign _T_693 = _T_692 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@74852.4]
+  assign _T_694 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@74853.4]
+  assign _T_695 = _T_693 | _T_694; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@74854.4]
+  assign _T_696 = _T_691 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@74855.4]
+  assign _T_697 = _T_695 | _T_696; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@74856.4]
+  assign _T_699 = _T_697 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@74858.4]
+  assign _T_700 = _T_699 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@74859.4]
+  assign _T_702 = _T_691 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@74865.4]
+  assign _T_705 = _T_498 | _T_554; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@74869.4]
+  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73827.10]
+  assign _GEN_35 = io_in_a_valid & _T_128; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73899.10]
+  assign _GEN_53 = io_in_a_valid & _T_170; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73982.10]
+  assign _GEN_65 = io_in_a_valid & _T_203; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74041.10]
+  assign _GEN_75 = io_in_a_valid & _T_232; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74092.10]
+  assign _GEN_85 = io_in_a_valid & _T_263; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74142.10]
+  assign _GEN_95 = io_in_a_valid & _T_289; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74190.10]
+  assign _GEN_105 = io_in_a_valid & _T_315; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74238.10]
+  assign _GEN_115 = io_in_d_valid & _T_357; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74296.10]
+  assign _GEN_119 = io_in_d_valid & _T_377; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74338.10]
+  assign _GEN_125 = io_in_d_valid & _T_405; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74396.10]
+  assign _GEN_131 = io_in_d_valid & _T_434; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74455.10]
+  assign _GEN_133 = io_in_d_valid & _T_451; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74490.10]
+  assign _GEN_135 = io_in_d_valid & _T_469; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74526.10]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  _T_508 = _RAND_0[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  _T_521 = _RAND_1[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  _T_523 = _RAND_2[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  _T_525 = _RAND_3[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  _T_527 = _RAND_4[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  _T_529 = _RAND_5[28:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {1{`RANDOM}};
+  _T_563 = _RAND_6[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {1{`RANDOM}};
+  _T_576 = _RAND_7[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_8 = {1{`RANDOM}};
+  _T_580 = _RAND_8[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_9 = {1{`RANDOM}};
+  _T_582 = _RAND_9[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_10 = {1{`RANDOM}};
+  _T_616 = _RAND_10[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_11 = {1{`RANDOM}};
+  _T_627 = _RAND_11[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_12 = {1{`RANDOM}};
+  _T_648 = _RAND_12[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_13 = {1{`RANDOM}};
+  _T_691 = _RAND_13[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      _T_508 <= 4'h0;
+    end else begin
+      if (_T_498) begin
+        if (_T_512) begin
+          if (_T_505) begin
+            _T_508 <= _T_503;
+          end else begin
+            _T_508 <= 4'h0;
+          end
+        end else begin
+          _T_508 <= _T_511;
+        end
+      end
+    end
+    if (_T_553) begin
+      _T_521 <= io_in_a_bits_opcode;
+    end
+    if (_T_553) begin
+      _T_523 <= io_in_a_bits_param;
+    end
+    if (_T_553) begin
+      _T_525 <= io_in_a_bits_size;
+    end
+    if (_T_553) begin
+      _T_527 <= io_in_a_bits_source;
+    end
+    if (_T_553) begin
+      _T_529 <= io_in_a_bits_address;
+    end
+    if (reset) begin
+      _T_563 <= 4'h0;
+    end else begin
+      if (_T_554) begin
+        if (_T_567) begin
+          if (_T_560) begin
+            _T_563 <= _T_559;
+          end else begin
+            _T_563 <= 4'h0;
+          end
+        end else begin
+          _T_563 <= _T_566;
+        end
+      end
+    end
+    if (_T_614) begin
+      _T_576 <= io_in_d_bits_opcode;
+    end
+    if (_T_614) begin
+      _T_580 <= io_in_d_bits_size;
+    end
+    if (_T_614) begin
+      _T_582 <= io_in_d_bits_source;
+    end
+    if (reset) begin
+      _T_616 <= 2'h0;
+    end else begin
+      _T_616 <= _T_689;
+    end
+    if (reset) begin
+      _T_627 <= 4'h0;
+    end else begin
+      if (_T_498) begin
+        if (_T_631) begin
+          if (_T_505) begin
+            _T_627 <= _T_503;
+          end else begin
+            _T_627 <= 4'h0;
+          end
+        end else begin
+          _T_627 <= _T_630;
+        end
+      end
+    end
+    if (reset) begin
+      _T_648 <= 4'h0;
+    end else begin
+      if (_T_554) begin
+        if (_T_652) begin
+          if (_T_560) begin
+            _T_648 <= _T_559;
+          end else begin
+            _T_648 <= 4'h0;
+          end
+        end else begin
+          _T_648 <= _T_651;
+        end
+      end
+    end
+    if (reset) begin
+      _T_691 <= 32'h0;
+    end else begin
+      if (_T_705) begin
+        _T_691 <= 32'h0;
+      end else begin
+        _T_691 <= _T_702;
+      end
+    end
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at GPIO.scala:228:94)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@73740.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@73741.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@73810.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@73811.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at GPIO.scala:228:94)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73827.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_101) begin
+          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73828.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at GPIO.scala:228:94)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73834.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_101) begin
+          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73835.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at GPIO.scala:228:94)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73841.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_107) begin
+          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73842.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_111) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at GPIO.scala:228:94)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73849.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_111) begin
+          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73850.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at GPIO.scala:228:94)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73856.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_114) begin
+          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73857.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_118) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at GPIO.scala:228:94)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73864.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_118) begin
+          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73865.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_123) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at GPIO.scala:228:94)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73873.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_123) begin
+          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73874.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_127) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at GPIO.scala:228:94)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73881.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_127) begin
+          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73882.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at GPIO.scala:228:94)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73899.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_101) begin
+          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73900.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at GPIO.scala:228:94)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73906.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_101) begin
+          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73907.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at GPIO.scala:228:94)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73913.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_107) begin
+          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73914.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_111) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at GPIO.scala:228:94)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73921.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_111) begin
+          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73922.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at GPIO.scala:228:94)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73928.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_114) begin
+          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73929.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_118) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at GPIO.scala:228:94)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73936.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_118) begin
+          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73937.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_160) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at GPIO.scala:228:94)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73944.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_160) begin
+          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73945.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_123) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at GPIO.scala:228:94)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73953.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_123) begin
+          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73954.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_127) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at GPIO.scala:228:94)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73961.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_127) begin
+          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73962.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_184) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at GPIO.scala:228:94)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73982.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_184) begin
+          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73983.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at GPIO.scala:228:94)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73989.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_107) begin
+          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73990.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at GPIO.scala:228:94)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73996.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_114) begin
+          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73997.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_194) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at GPIO.scala:228:94)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74004.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_194) begin
+          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74005.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_198) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at GPIO.scala:228:94)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74012.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_198) begin
+          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74013.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_127) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at GPIO.scala:228:94)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74020.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_127) begin
+          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74021.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_184) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at GPIO.scala:228:94)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74041.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_184) begin
+          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74042.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at GPIO.scala:228:94)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74048.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_107) begin
+          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74049.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at GPIO.scala:228:94)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74055.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_114) begin
+          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74056.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_194) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at GPIO.scala:228:94)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74063.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_194) begin
+          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74064.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_198) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at GPIO.scala:228:94)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74071.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_198) begin
+          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74072.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_184) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at GPIO.scala:228:94)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74092.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_184) begin
+          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74093.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at GPIO.scala:228:94)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74099.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_107) begin
+          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74100.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at GPIO.scala:228:94)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74106.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_114) begin
+          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74107.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_194) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at GPIO.scala:228:94)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74114.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_194) begin
+          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74115.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_262) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at GPIO.scala:228:94)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74124.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_262) begin
+          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74125.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at GPIO.scala:228:94)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74142.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_101) begin
+          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74143.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at GPIO.scala:228:94)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74149.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_107) begin
+          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74150.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at GPIO.scala:228:94)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74156.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_114) begin
+          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74157.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_284) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at GPIO.scala:228:94)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74164.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_284) begin
+          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74165.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_198) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at GPIO.scala:228:94)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74172.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_198) begin
+          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74173.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at GPIO.scala:228:94)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74190.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_101) begin
+          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74191.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at GPIO.scala:228:94)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74197.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_107) begin
+          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74198.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at GPIO.scala:228:94)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74204.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_114) begin
+          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74205.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_310) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at GPIO.scala:228:94)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74212.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_310) begin
+          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74213.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_198) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at GPIO.scala:228:94)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74220.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_198) begin
+          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74221.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at GPIO.scala:228:94)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74238.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_101) begin
+          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74239.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at GPIO.scala:228:94)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74245.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_107) begin
+          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74246.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at GPIO.scala:228:94)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74252.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_114) begin
+          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74253.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_198) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at GPIO.scala:228:94)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74260.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_198) begin
+          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74261.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_127) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at GPIO.scala:228:94)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74268.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_127) begin
+          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74269.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_344) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at GPIO.scala:228:94)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@74279.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_344) begin
+          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@74280.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_360) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at GPIO.scala:228:94)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74296.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_360) begin
+          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74297.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_364) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at GPIO.scala:228:94)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74304.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_364) begin
+          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74305.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at GPIO.scala:228:94)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74312.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74313.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at GPIO.scala:228:94)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74320.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74321.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at GPIO.scala:228:94)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74328.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74329.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_119 & _T_360) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at GPIO.scala:228:94)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74338.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_119 & _T_360) begin
+          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74339.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_119 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at GPIO.scala:228:94)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74345.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_119 & _T_101) begin
+          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74346.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_119 & _T_364) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at GPIO.scala:228:94)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74353.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_119 & _T_364) begin
+          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74354.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at GPIO.scala:228:94)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74361.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74362.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at GPIO.scala:228:94)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74369.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74370.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at GPIO.scala:228:94)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74377.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74378.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at GPIO.scala:228:94)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74386.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74387.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_360) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at GPIO.scala:228:94)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74396.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_360) begin
+          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74397.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at GPIO.scala:228:94)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74403.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_101) begin
+          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74404.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_364) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at GPIO.scala:228:94)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74411.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_364) begin
+          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74412.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at GPIO.scala:228:94)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74419.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74420.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at GPIO.scala:228:94)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74427.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74428.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at GPIO.scala:228:94)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74436.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74437.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at GPIO.scala:228:94)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74445.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74446.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_131 & _T_360) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at GPIO.scala:228:94)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74455.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_131 & _T_360) begin
+          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74456.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at GPIO.scala:228:94)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74463.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74464.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at GPIO.scala:228:94)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74471.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74472.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at GPIO.scala:228:94)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74480.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74481.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_133 & _T_360) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at GPIO.scala:228:94)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74490.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_133 & _T_360) begin
+          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74491.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at GPIO.scala:228:94)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74498.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74499.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at GPIO.scala:228:94)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74507.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74508.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at GPIO.scala:228:94)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74516.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74517.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_135 & _T_360) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at GPIO.scala:228:94)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74526.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_135 & _T_360) begin
+          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74527.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at GPIO.scala:228:94)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74534.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74535.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at GPIO.scala:228:94)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74542.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74543.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at GPIO.scala:228:94)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74551.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74552.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at GPIO.scala:228:94)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74561.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74562.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at GPIO.scala:228:94)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74569.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74570.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at GPIO.scala:228:94)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74577.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74578.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_531 & _T_535) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at GPIO.scala:228:94)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74617.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_531 & _T_535) begin
+          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74618.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_531 & _T_539) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at GPIO.scala:228:94)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74625.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_531 & _T_539) begin
+          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74626.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_531 & _T_543) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at GPIO.scala:228:94)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74633.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_531 & _T_543) begin
+          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74634.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_531 & _T_547) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at GPIO.scala:228:94)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74641.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_531 & _T_547) begin
+          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74642.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_531 & _T_551) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at GPIO.scala:228:94)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74649.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_531 & _T_551) begin
+          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74650.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_588 & _T_592) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at GPIO.scala:228:94)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74699.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_588 & _T_592) begin
+          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74700.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at GPIO.scala:228:94)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74707.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74708.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_588 & _T_600) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at GPIO.scala:228:94)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74715.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_588 & _T_600) begin
+          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74716.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_588 & _T_604) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at GPIO.scala:228:94)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74723.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_588 & _T_604) begin
+          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74724.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at GPIO.scala:228:94)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74731.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74732.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at GPIO.scala:228:94)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74739.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74740.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_663 & _T_671) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at GPIO.scala:228:94)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@74817.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_663 & _T_671) begin
+          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@74818.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_679 & _T_686) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at GPIO.scala:228:94)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@74840.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_679 & _T_686) begin
+          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@74841.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_700) begin
+          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at GPIO.scala:228:94)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@74861.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_700) begin
+          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@74862.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+endmodule
+module TLFragmenter_14( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74905.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74906.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74907.4]
+  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74908.4]
+  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74908.4]
+  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74908.4]
+  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74908.4]
+  input  [2:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74908.4]
+  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74908.4]
+  input  [28:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74908.4]
+  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74908.4]
+  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74908.4]
+  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74908.4]
+  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74908.4]
+  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74908.4]
+  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74908.4]
+  output [2:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74908.4]
+  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74908.4]
+  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74908.4]
+  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74908.4]
+  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74908.4]
+  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74908.4]
+  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74908.4]
+  output [1:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74908.4]
+  output [5:0]  auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74908.4]
+  output [28:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74908.4]
+  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74908.4]
+  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74908.4]
+  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74908.4]
+  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74908.4]
+  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74908.4]
+  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74908.4]
+  input  [1:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74908.4]
+  input  [5:0]  auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74908.4]
+  input  [31:0] auto_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74908.4]
+);
+  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74915.4]
+  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74915.4]
+  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74915.4]
+  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74915.4]
+  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74915.4]
+  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74915.4]
+  wire [2:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74915.4]
+  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74915.4]
+  wire [28:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74915.4]
+  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74915.4]
+  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74915.4]
+  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74915.4]
+  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74915.4]
+  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74915.4]
+  wire [2:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74915.4]
+  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74915.4]
+  wire  Repeater_clock; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@75032.4]
+  wire  Repeater_reset; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@75032.4]
+  wire  Repeater_io_repeat; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@75032.4]
+  wire  Repeater_io_full; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@75032.4]
+  wire  Repeater_io_enq_ready; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@75032.4]
+  wire  Repeater_io_enq_valid; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@75032.4]
+  wire [2:0] Repeater_io_enq_bits_opcode; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@75032.4]
+  wire [2:0] Repeater_io_enq_bits_param; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@75032.4]
+  wire [2:0] Repeater_io_enq_bits_size; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@75032.4]
+  wire  Repeater_io_enq_bits_source; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@75032.4]
+  wire [28:0] Repeater_io_enq_bits_address; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@75032.4]
+  wire [3:0] Repeater_io_enq_bits_mask; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@75032.4]
+  wire  Repeater_io_enq_bits_corrupt; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@75032.4]
+  wire  Repeater_io_deq_ready; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@75032.4]
+  wire  Repeater_io_deq_valid; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@75032.4]
+  wire [2:0] Repeater_io_deq_bits_opcode; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@75032.4]
+  wire [2:0] Repeater_io_deq_bits_param; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@75032.4]
+  wire [2:0] Repeater_io_deq_bits_size; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@75032.4]
+  wire  Repeater_io_deq_bits_source; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@75032.4]
+  wire [28:0] Repeater_io_deq_bits_address; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@75032.4]
+  wire [3:0] Repeater_io_deq_bits_mask; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@75032.4]
+  wire  Repeater_io_deq_bits_corrupt; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@75032.4]
+  reg [3:0] _T_244; // @[Fragmenter.scala 167:27:shc.marmotcaravel.MarmotCaravelConfig.fir@74956.4]
+  reg [31:0] _RAND_0;
+  reg [2:0] _T_246; // @[Fragmenter.scala 168:22:shc.marmotcaravel.MarmotCaravelConfig.fir@74957.4]
+  reg [31:0] _RAND_1;
+  reg  _T_248; // @[Fragmenter.scala 169:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74958.4]
+  reg [31:0] _RAND_2;
+  wire [3:0] _T_249; // @[Fragmenter.scala 170:39:shc.marmotcaravel.MarmotCaravelConfig.fir@74959.4]
+  wire  _T_250; // @[Fragmenter.scala 171:27:shc.marmotcaravel.MarmotCaravelConfig.fir@74960.4]
+  wire  _T_251; // @[Fragmenter.scala 172:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74961.4]
+  wire [3:0] _T_253; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@74963.4]
+  wire [2:0] _T_254; // @[OneHot.scala 52:27:shc.marmotcaravel.MarmotCaravelConfig.fir@74964.4]
+  wire [4:0] _T_256; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@74966.4]
+  wire [1:0] _T_257; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@74967.4]
+  wire [1:0] _T_258; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@74968.4]
+  wire  _T_259; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@74969.4]
+  wire  _T_271; // @[Fragmenter.scala 182:58:shc.marmotcaravel.MarmotCaravelConfig.fir@74985.4]
+  wire  _T_272; // @[Fragmenter.scala 182:30:shc.marmotcaravel.MarmotCaravelConfig.fir@74986.4]
+  wire [5:0] _GEN_7; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@74987.4]
+  wire [5:0] _T_273; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@74987.4]
+  wire [5:0] _GEN_8; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@74988.4]
+  wire [5:0] _T_274; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@74988.4]
+  wire [6:0] _GEN_9; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@74989.4]
+  wire [6:0] _T_275; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@74989.4]
+  wire [6:0] _T_276; // @[package.scala 183:40:shc.marmotcaravel.MarmotCaravelConfig.fir@74990.4]
+  wire [6:0] _T_277; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@74991.4]
+  wire [6:0] _T_278; // @[package.scala 183:53:shc.marmotcaravel.MarmotCaravelConfig.fir@74992.4]
+  wire [6:0] _T_279; // @[package.scala 183:51:shc.marmotcaravel.MarmotCaravelConfig.fir@74993.4]
+  wire [2:0] _T_280; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@74994.4]
+  wire [3:0] _T_281; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@74995.4]
+  wire  _T_282; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74996.4]
+  wire [3:0] _GEN_10; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74997.4]
+  wire [3:0] _T_283; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74997.4]
+  wire [1:0] _T_284; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@74998.4]
+  wire [1:0] _T_285; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@74999.4]
+  wire  _T_286; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75000.4]
+  wire [1:0] _T_287; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@75001.4]
+  wire  _T_288; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@75002.4]
+  wire [1:0] _T_289; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@75003.4]
+  wire [2:0] _T_290; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@75004.4]
+  wire  _T_297; // @[Fragmenter.scala 200:18:shc.marmotcaravel.MarmotCaravelConfig.fir@75018.4]
+  wire  _T_299; // @[Fragmenter.scala 200:31:shc.marmotcaravel.MarmotCaravelConfig.fir@75020.4]
+  wire  _T_300; // @[Fragmenter.scala 200:28:shc.marmotcaravel.MarmotCaravelConfig.fir@75021.4]
+  wire  _T_301; // @[Fragmenter.scala 201:33:shc.marmotcaravel.MarmotCaravelConfig.fir@75022.4]
+  wire  _T_291; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@75005.4]
+  wire [3:0] _GEN_11; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@75007.6]
+  wire [4:0] _T_292; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@75007.6]
+  wire [4:0] _T_293; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@75008.6]
+  wire [3:0] _T_294; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@75009.6]
+  wire  _T_296; // @[Fragmenter.scala 190:39:shc.marmotcaravel.MarmotCaravelConfig.fir@75014.8]
+  wire  _T_302; // @[Fragmenter.scala 202:37:shc.marmotcaravel.MarmotCaravelConfig.fir@75024.4]
+  wire  _T_330; // @[Fragmenter.scala 262:29:shc.marmotcaravel.MarmotCaravelConfig.fir@75057.4]
+  wire [2:0] _T_331; // @[Fragmenter.scala 262:22:shc.marmotcaravel.MarmotCaravelConfig.fir@75058.4]
+  wire [12:0] _T_333; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@75060.4]
+  wire [5:0] _T_334; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@75061.4]
+  wire [5:0] _T_335; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@75062.4]
+  wire [8:0] _T_337; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@75064.4]
+  wire [1:0] _T_338; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@75065.4]
+  wire [1:0] _T_339; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@75066.4]
+  wire  _T_340; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@75067.4]
+  wire  _T_341; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@75068.4]
+  reg [3:0] _T_344; // @[Fragmenter.scala 268:27:shc.marmotcaravel.MarmotCaravelConfig.fir@75070.4]
+  reg [31:0] _RAND_3;
+  wire  _T_345; // @[Fragmenter.scala 269:27:shc.marmotcaravel.MarmotCaravelConfig.fir@75071.4]
+  wire [3:0] _T_346; // @[Fragmenter.scala 270:46:shc.marmotcaravel.MarmotCaravelConfig.fir@75072.4]
+  wire [4:0] _T_347; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@75073.4]
+  wire [4:0] _T_348; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@75074.4]
+  wire [3:0] _T_349; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@75075.4]
+  wire [3:0] _T_350; // @[Fragmenter.scala 270:28:shc.marmotcaravel.MarmotCaravelConfig.fir@75076.4]
+  wire [3:0] _T_351; // @[Fragmenter.scala 271:26:shc.marmotcaravel.MarmotCaravelConfig.fir@75077.4]
+  wire [3:0] _T_354; // @[Fragmenter.scala 271:24:shc.marmotcaravel.MarmotCaravelConfig.fir@75080.4]
+  reg  _T_362; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@75087.4]
+  reg [31:0] _RAND_4;
+  wire  _GEN_5; // @[Reg.scala 12:19:shc.marmotcaravel.MarmotCaravelConfig.fir@75088.4]
+  wire  _T_364; // @[Fragmenter.scala 274:21:shc.marmotcaravel.MarmotCaravelConfig.fir@75092.4]
+  wire  _T_92_a_valid; // @[Nodes.scala 332:76:shc.marmotcaravel.MarmotCaravelConfig.fir@74952.4 Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@75101.4]
+  wire  _T_365; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@75093.4]
+  wire  _T_366; // @[Fragmenter.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@75097.4]
+  wire  _T_367; // @[Fragmenter.scala 279:51:shc.marmotcaravel.MarmotCaravelConfig.fir@75098.4]
+  wire [5:0] _GEN_12; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@75102.4]
+  wire [5:0] _T_369; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@75102.4]
+  wire [5:0] _T_370; // @[Fragmenter.scala 281:88:shc.marmotcaravel.MarmotCaravelConfig.fir@75103.4]
+  wire [5:0] _T_371; // @[Fragmenter.scala 281:86:shc.marmotcaravel.MarmotCaravelConfig.fir@75104.4]
+  wire [5:0] _GEN_13; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@75105.4]
+  wire [5:0] _T_372; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@75105.4]
+  wire [5:0] _T_373; // @[Fragmenter.scala 281:109:shc.marmotcaravel.MarmotCaravelConfig.fir@75106.4]
+  wire [5:0] _T_374; // @[Fragmenter.scala 281:49:shc.marmotcaravel.MarmotCaravelConfig.fir@75107.4]
+  wire [28:0] _GEN_14; // @[Fragmenter.scala 281:47:shc.marmotcaravel.MarmotCaravelConfig.fir@75108.4]
+  wire [1:0] _T_376; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@75110.4]
+  wire  _T_378; // @[Fragmenter.scala 286:15:shc.marmotcaravel.MarmotCaravelConfig.fir@75114.4]
+  wire  _T_380; // @[Fragmenter.scala 286:33:shc.marmotcaravel.MarmotCaravelConfig.fir@75116.4]
+  wire  _T_382; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75118.4]
+  wire  _T_383; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75119.4]
+  wire  _T_385; // @[Fragmenter.scala 289:51:shc.marmotcaravel.MarmotCaravelConfig.fir@75126.4]
+  wire  _T_386; // @[Fragmenter.scala 289:33:shc.marmotcaravel.MarmotCaravelConfig.fir@75127.4]
+  wire  _T_388; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75129.4]
+  wire  _T_389; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75130.4]
+  TLMonitor_43 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74915.4]
+    .clock(TLMonitor_clock),
+    .reset(TLMonitor_reset),
+    .io_in_a_ready(TLMonitor_io_in_a_ready),
+    .io_in_a_valid(TLMonitor_io_in_a_valid),
+    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
+    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
+    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
+    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
+    .io_in_d_ready(TLMonitor_io_in_d_ready),
+    .io_in_d_valid(TLMonitor_io_in_d_valid),
+    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
+    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
+    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source)
+  );
+  Repeater_4 Repeater ( // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@75032.4]
+    .clock(Repeater_clock),
+    .reset(Repeater_reset),
+    .io_repeat(Repeater_io_repeat),
+    .io_full(Repeater_io_full),
+    .io_enq_ready(Repeater_io_enq_ready),
+    .io_enq_valid(Repeater_io_enq_valid),
+    .io_enq_bits_opcode(Repeater_io_enq_bits_opcode),
+    .io_enq_bits_param(Repeater_io_enq_bits_param),
+    .io_enq_bits_size(Repeater_io_enq_bits_size),
+    .io_enq_bits_source(Repeater_io_enq_bits_source),
+    .io_enq_bits_address(Repeater_io_enq_bits_address),
+    .io_enq_bits_mask(Repeater_io_enq_bits_mask),
+    .io_enq_bits_corrupt(Repeater_io_enq_bits_corrupt),
+    .io_deq_ready(Repeater_io_deq_ready),
+    .io_deq_valid(Repeater_io_deq_valid),
+    .io_deq_bits_opcode(Repeater_io_deq_bits_opcode),
+    .io_deq_bits_param(Repeater_io_deq_bits_param),
+    .io_deq_bits_size(Repeater_io_deq_bits_size),
+    .io_deq_bits_source(Repeater_io_deq_bits_source),
+    .io_deq_bits_address(Repeater_io_deq_bits_address),
+    .io_deq_bits_mask(Repeater_io_deq_bits_mask),
+    .io_deq_bits_corrupt(Repeater_io_deq_bits_corrupt)
+  );
+  assign _T_249 = auto_out_d_bits_source[3:0]; // @[Fragmenter.scala 170:39:shc.marmotcaravel.MarmotCaravelConfig.fir@74959.4]
+  assign _T_250 = _T_244 == 4'h0; // @[Fragmenter.scala 171:27:shc.marmotcaravel.MarmotCaravelConfig.fir@74960.4]
+  assign _T_251 = _T_249 == 4'h0; // @[Fragmenter.scala 172:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74961.4]
+  assign _T_253 = 4'h1 << auto_out_d_bits_size; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@74963.4]
+  assign _T_254 = _T_253[2:0]; // @[OneHot.scala 52:27:shc.marmotcaravel.MarmotCaravelConfig.fir@74964.4]
+  assign _T_256 = 5'h3 << auto_out_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@74966.4]
+  assign _T_257 = _T_256[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@74967.4]
+  assign _T_258 = ~ _T_257; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@74968.4]
+  assign _T_259 = auto_out_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@74969.4]
+  assign _T_271 = _T_254[2:2]; // @[Fragmenter.scala 182:58:shc.marmotcaravel.MarmotCaravelConfig.fir@74985.4]
+  assign _T_272 = _T_259 ? 1'h1 : _T_271; // @[Fragmenter.scala 182:30:shc.marmotcaravel.MarmotCaravelConfig.fir@74986.4]
+  assign _GEN_7 = {{2'd0}, _T_249}; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@74987.4]
+  assign _T_273 = _GEN_7 << 2; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@74987.4]
+  assign _GEN_8 = {{4'd0}, _T_258}; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@74988.4]
+  assign _T_274 = _T_273 | _GEN_8; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@74988.4]
+  assign _GEN_9 = {{1'd0}, _T_274}; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@74989.4]
+  assign _T_275 = _GEN_9 << 1; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@74989.4]
+  assign _T_276 = _T_275 | 7'h1; // @[package.scala 183:40:shc.marmotcaravel.MarmotCaravelConfig.fir@74990.4]
+  assign _T_277 = {1'h0,_T_274}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@74991.4]
+  assign _T_278 = ~ _T_277; // @[package.scala 183:53:shc.marmotcaravel.MarmotCaravelConfig.fir@74992.4]
+  assign _T_279 = _T_276 & _T_278; // @[package.scala 183:51:shc.marmotcaravel.MarmotCaravelConfig.fir@74993.4]
+  assign _T_280 = _T_279[6:4]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@74994.4]
+  assign _T_281 = _T_279[3:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@74995.4]
+  assign _T_282 = _T_280 != 3'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74996.4]
+  assign _GEN_10 = {{1'd0}, _T_280}; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74997.4]
+  assign _T_283 = _GEN_10 | _T_281; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74997.4]
+  assign _T_284 = _T_283[3:2]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@74998.4]
+  assign _T_285 = _T_283[1:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@74999.4]
+  assign _T_286 = _T_284 != 2'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75000.4]
+  assign _T_287 = _T_284 | _T_285; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@75001.4]
+  assign _T_288 = _T_287[1]; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@75002.4]
+  assign _T_289 = {_T_286,_T_288}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@75003.4]
+  assign _T_290 = {_T_282,_T_289}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@75004.4]
+  assign _T_297 = _T_259 == 1'h0; // @[Fragmenter.scala 200:18:shc.marmotcaravel.MarmotCaravelConfig.fir@75018.4]
+  assign _T_299 = _T_251 == 1'h0; // @[Fragmenter.scala 200:31:shc.marmotcaravel.MarmotCaravelConfig.fir@75020.4]
+  assign _T_300 = _T_297 & _T_299; // @[Fragmenter.scala 200:28:shc.marmotcaravel.MarmotCaravelConfig.fir@75021.4]
+  assign _T_301 = auto_in_d_ready | _T_300; // @[Fragmenter.scala 201:33:shc.marmotcaravel.MarmotCaravelConfig.fir@75022.4]
+  assign _T_291 = _T_301 & auto_out_d_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@75005.4]
+  assign _GEN_11 = {{3'd0}, _T_272}; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@75007.6]
+  assign _T_292 = _T_244 - _GEN_11; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@75007.6]
+  assign _T_293 = $unsigned(_T_292); // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@75008.6]
+  assign _T_294 = _T_293[3:0]; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@75009.6]
+  assign _T_296 = auto_out_d_bits_source[4]; // @[Fragmenter.scala 190:39:shc.marmotcaravel.MarmotCaravelConfig.fir@75014.8]
+  assign _T_302 = _T_300 == 1'h0; // @[Fragmenter.scala 202:37:shc.marmotcaravel.MarmotCaravelConfig.fir@75024.4]
+  assign _T_330 = Repeater_io_deq_bits_size > 3'h2; // @[Fragmenter.scala 262:29:shc.marmotcaravel.MarmotCaravelConfig.fir@75057.4]
+  assign _T_331 = _T_330 ? 3'h2 : Repeater_io_deq_bits_size; // @[Fragmenter.scala 262:22:shc.marmotcaravel.MarmotCaravelConfig.fir@75058.4]
+  assign _T_333 = 13'h3f << Repeater_io_deq_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@75060.4]
+  assign _T_334 = _T_333[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@75061.4]
+  assign _T_335 = ~ _T_334; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@75062.4]
+  assign _T_337 = 9'h3 << _T_331; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@75064.4]
+  assign _T_338 = _T_337[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@75065.4]
+  assign _T_339 = ~ _T_338; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@75066.4]
+  assign _T_340 = Repeater_io_deq_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@75067.4]
+  assign _T_341 = _T_340 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@75068.4]
+  assign _T_345 = _T_344 == 4'h0; // @[Fragmenter.scala 269:27:shc.marmotcaravel.MarmotCaravelConfig.fir@75071.4]
+  assign _T_346 = _T_335[5:2]; // @[Fragmenter.scala 270:46:shc.marmotcaravel.MarmotCaravelConfig.fir@75072.4]
+  assign _T_347 = _T_344 - 4'h1; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@75073.4]
+  assign _T_348 = $unsigned(_T_347); // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@75074.4]
+  assign _T_349 = _T_348[3:0]; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@75075.4]
+  assign _T_350 = _T_345 ? _T_346 : _T_349; // @[Fragmenter.scala 270:28:shc.marmotcaravel.MarmotCaravelConfig.fir@75076.4]
+  assign _T_351 = ~ _T_350; // @[Fragmenter.scala 271:26:shc.marmotcaravel.MarmotCaravelConfig.fir@75077.4]
+  assign _T_354 = ~ _T_351; // @[Fragmenter.scala 271:24:shc.marmotcaravel.MarmotCaravelConfig.fir@75080.4]
+  assign _GEN_5 = _T_345 ? _T_248 : _T_362; // @[Reg.scala 12:19:shc.marmotcaravel.MarmotCaravelConfig.fir@75088.4]
+  assign _T_364 = _GEN_5 == 1'h0; // @[Fragmenter.scala 274:21:shc.marmotcaravel.MarmotCaravelConfig.fir@75092.4]
+  assign _T_92_a_valid = Repeater_io_deq_valid; // @[Nodes.scala 332:76:shc.marmotcaravel.MarmotCaravelConfig.fir@74952.4 Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@75101.4]
+  assign _T_365 = auto_out_a_ready & _T_92_a_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@75093.4]
+  assign _T_366 = _T_341 == 1'h0; // @[Fragmenter.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@75097.4]
+  assign _T_367 = _T_354 != 4'h0; // @[Fragmenter.scala 279:51:shc.marmotcaravel.MarmotCaravelConfig.fir@75098.4]
+  assign _GEN_12 = {{2'd0}, _T_350}; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@75102.4]
+  assign _T_369 = _GEN_12 << 2; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@75102.4]
+  assign _T_370 = ~ _T_335; // @[Fragmenter.scala 281:88:shc.marmotcaravel.MarmotCaravelConfig.fir@75103.4]
+  assign _T_371 = _T_369 | _T_370; // @[Fragmenter.scala 281:86:shc.marmotcaravel.MarmotCaravelConfig.fir@75104.4]
+  assign _GEN_13 = {{4'd0}, _T_339}; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@75105.4]
+  assign _T_372 = _T_371 | _GEN_13; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@75105.4]
+  assign _T_373 = _T_372 | 6'h3; // @[Fragmenter.scala 281:109:shc.marmotcaravel.MarmotCaravelConfig.fir@75106.4]
+  assign _T_374 = ~ _T_373; // @[Fragmenter.scala 281:49:shc.marmotcaravel.MarmotCaravelConfig.fir@75107.4]
+  assign _GEN_14 = {{23'd0}, _T_374}; // @[Fragmenter.scala 281:47:shc.marmotcaravel.MarmotCaravelConfig.fir@75108.4]
+  assign _T_376 = {Repeater_io_deq_bits_source,_T_364}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@75110.4]
+  assign _T_378 = Repeater_io_full == 1'h0; // @[Fragmenter.scala 286:15:shc.marmotcaravel.MarmotCaravelConfig.fir@75114.4]
+  assign _T_380 = _T_378 | _T_366; // @[Fragmenter.scala 286:33:shc.marmotcaravel.MarmotCaravelConfig.fir@75116.4]
+  assign _T_382 = _T_380 | reset; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75118.4]
+  assign _T_383 = _T_382 == 1'h0; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75119.4]
+  assign _T_385 = Repeater_io_deq_bits_mask == 4'hf; // @[Fragmenter.scala 289:51:shc.marmotcaravel.MarmotCaravelConfig.fir@75126.4]
+  assign _T_386 = _T_378 | _T_385; // @[Fragmenter.scala 289:33:shc.marmotcaravel.MarmotCaravelConfig.fir@75127.4]
+  assign _T_388 = _T_386 | reset; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75129.4]
+  assign _T_389 = _T_388 == 1'h0; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75130.4]
+  assign auto_in_a_ready = Repeater_io_enq_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@74955.4]
+  assign auto_in_d_valid = auto_out_d_valid & _T_302; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@74955.4]
+  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@74955.4]
+  assign auto_in_d_bits_size = _T_250 ? _T_290 : _T_246; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@74955.4]
+  assign auto_in_d_bits_source = auto_out_d_bits_source[5:5]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@74955.4]
+  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@74955.4]
+  assign auto_out_a_valid = Repeater_io_deq_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@74954.4]
+  assign auto_out_a_bits_opcode = Repeater_io_deq_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@74954.4]
+  assign auto_out_a_bits_param = Repeater_io_deq_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@74954.4]
+  assign auto_out_a_bits_size = _T_331[1:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@74954.4]
+  assign auto_out_a_bits_source = {_T_376,_T_354}; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@74954.4]
+  assign auto_out_a_bits_address = Repeater_io_deq_bits_address | _GEN_14; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@74954.4]
+  assign auto_out_a_bits_mask = Repeater_io_full ? 4'hf : auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@74954.4]
+  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@74954.4]
+  assign auto_out_a_bits_corrupt = Repeater_io_deq_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@74954.4]
+  assign auto_out_d_ready = auto_in_d_ready | _T_300; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@74954.4]
+  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74917.4]
+  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74918.4]
+  assign TLMonitor_io_in_a_ready = Repeater_io_enq_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@74951.4]
+  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@74951.4]
+  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@74951.4]
+  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@74951.4]
+  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@74951.4]
+  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@74951.4]
+  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@74951.4]
+  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@74951.4]
+  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@74951.4]
+  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@74951.4]
+  assign TLMonitor_io_in_d_valid = auto_out_d_valid & _T_302; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@74951.4]
+  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@74951.4]
+  assign TLMonitor_io_in_d_bits_size = _T_250 ? _T_290 : _T_246; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@74951.4]
+  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source[5:5]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@74951.4]
+  assign Repeater_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75034.4]
+  assign Repeater_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75035.4]
+  assign Repeater_io_repeat = _T_366 & _T_367; // @[Fragmenter.scala 279:26:shc.marmotcaravel.MarmotCaravelConfig.fir@75100.4]
+  assign Repeater_io_enq_valid = auto_in_a_valid; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@75036.4]
+  assign Repeater_io_enq_bits_opcode = auto_in_a_bits_opcode; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@75036.4]
+  assign Repeater_io_enq_bits_param = auto_in_a_bits_param; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@75036.4]
+  assign Repeater_io_enq_bits_size = auto_in_a_bits_size; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@75036.4]
+  assign Repeater_io_enq_bits_source = auto_in_a_bits_source; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@75036.4]
+  assign Repeater_io_enq_bits_address = auto_in_a_bits_address; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@75036.4]
+  assign Repeater_io_enq_bits_mask = auto_in_a_bits_mask; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@75036.4]
+  assign Repeater_io_enq_bits_corrupt = auto_in_a_bits_corrupt; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@75036.4]
+  assign Repeater_io_deq_ready = auto_out_a_ready; // @[Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@75101.4]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  _T_244 = _RAND_0[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  _T_246 = _RAND_1[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  _T_248 = _RAND_2[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  _T_344 = _RAND_3[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  _T_362 = _RAND_4[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      _T_244 <= 4'h0;
+    end else begin
+      if (_T_291) begin
+        if (_T_250) begin
+          _T_244 <= _T_249;
+        end else begin
+          _T_244 <= _T_294;
+        end
+      end
+    end
+    if (_T_291) begin
+      if (_T_250) begin
+        _T_246 <= _T_290;
+      end
+    end
+    if (reset) begin
+      _T_248 <= 1'h0;
+    end else begin
+      if (_T_291) begin
+        if (_T_250) begin
+          _T_248 <= _T_296;
+        end
+      end
+    end
+    if (reset) begin
+      _T_344 <= 4'h0;
+    end else begin
+      if (_T_365) begin
+        _T_344 <= _T_354;
+      end
+    end
+    if (_T_345) begin
+      _T_362 <= _T_248;
+    end
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:180 assert (!out.d.valid || (acknum_fragment & acknum_size) === UInt(0))\n"); // @[Fragmenter.scala 180:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74980.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Fragmenter.scala 180:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74981.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_383) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:286 assert (!repeater.io.full || !aHasData)\n"); // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75121.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_383) begin
+          $fatal; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75122.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_389) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:289 assert (!repeater.io.full || in_a.bits.mask === fullMask)\n"); // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75132.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_389) begin
+          $fatal; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75133.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+endmodule
+module SimpleLazyModule_22( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75144.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75145.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75146.4]
+  output        auto_fragmenter_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75147.4]
+  input         auto_fragmenter_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75147.4]
+  input  [2:0]  auto_fragmenter_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75147.4]
+  input  [2:0]  auto_fragmenter_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75147.4]
+  input  [2:0]  auto_fragmenter_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75147.4]
+  input         auto_fragmenter_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75147.4]
+  input  [28:0] auto_fragmenter_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75147.4]
+  input  [3:0]  auto_fragmenter_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75147.4]
+  input  [31:0] auto_fragmenter_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75147.4]
+  input         auto_fragmenter_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75147.4]
+  input         auto_fragmenter_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75147.4]
+  output        auto_fragmenter_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75147.4]
+  output [2:0]  auto_fragmenter_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75147.4]
+  output [2:0]  auto_fragmenter_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75147.4]
+  output        auto_fragmenter_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75147.4]
+  output [31:0] auto_fragmenter_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75147.4]
+  input         auto_control_xing_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75147.4]
+  output        auto_control_xing_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75147.4]
+  output [2:0]  auto_control_xing_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75147.4]
+  output [2:0]  auto_control_xing_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75147.4]
+  output [1:0]  auto_control_xing_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75147.4]
+  output [5:0]  auto_control_xing_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75147.4]
+  output [28:0] auto_control_xing_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75147.4]
+  output [3:0]  auto_control_xing_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75147.4]
+  output [31:0] auto_control_xing_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75147.4]
+  output        auto_control_xing_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75147.4]
+  output        auto_control_xing_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75147.4]
+  input         auto_control_xing_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75147.4]
+  input  [2:0]  auto_control_xing_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75147.4]
+  input  [1:0]  auto_control_xing_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75147.4]
+  input  [5:0]  auto_control_xing_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75147.4]
+  input  [31:0] auto_control_xing_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75147.4]
+);
+  wire  fragmenter_clock; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@75152.4]
+  wire  fragmenter_reset; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@75152.4]
+  wire  fragmenter_auto_in_a_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@75152.4]
+  wire  fragmenter_auto_in_a_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@75152.4]
+  wire [2:0] fragmenter_auto_in_a_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@75152.4]
+  wire [2:0] fragmenter_auto_in_a_bits_param; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@75152.4]
+  wire [2:0] fragmenter_auto_in_a_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@75152.4]
+  wire  fragmenter_auto_in_a_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@75152.4]
+  wire [28:0] fragmenter_auto_in_a_bits_address; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@75152.4]
+  wire [3:0] fragmenter_auto_in_a_bits_mask; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@75152.4]
+  wire [31:0] fragmenter_auto_in_a_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@75152.4]
+  wire  fragmenter_auto_in_a_bits_corrupt; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@75152.4]
+  wire  fragmenter_auto_in_d_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@75152.4]
+  wire  fragmenter_auto_in_d_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@75152.4]
+  wire [2:0] fragmenter_auto_in_d_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@75152.4]
+  wire [2:0] fragmenter_auto_in_d_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@75152.4]
+  wire  fragmenter_auto_in_d_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@75152.4]
+  wire [31:0] fragmenter_auto_in_d_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@75152.4]
+  wire  fragmenter_auto_out_a_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@75152.4]
+  wire  fragmenter_auto_out_a_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@75152.4]
+  wire [2:0] fragmenter_auto_out_a_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@75152.4]
+  wire [2:0] fragmenter_auto_out_a_bits_param; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@75152.4]
+  wire [1:0] fragmenter_auto_out_a_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@75152.4]
+  wire [5:0] fragmenter_auto_out_a_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@75152.4]
+  wire [28:0] fragmenter_auto_out_a_bits_address; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@75152.4]
+  wire [3:0] fragmenter_auto_out_a_bits_mask; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@75152.4]
+  wire [31:0] fragmenter_auto_out_a_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@75152.4]
+  wire  fragmenter_auto_out_a_bits_corrupt; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@75152.4]
+  wire  fragmenter_auto_out_d_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@75152.4]
+  wire  fragmenter_auto_out_d_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@75152.4]
+  wire [2:0] fragmenter_auto_out_d_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@75152.4]
+  wire [1:0] fragmenter_auto_out_d_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@75152.4]
+  wire [5:0] fragmenter_auto_out_d_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@75152.4]
+  wire [31:0] fragmenter_auto_out_d_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@75152.4]
+  TLFragmenter_14 fragmenter ( // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@75152.4]
+    .clock(fragmenter_clock),
+    .reset(fragmenter_reset),
+    .auto_in_a_ready(fragmenter_auto_in_a_ready),
+    .auto_in_a_valid(fragmenter_auto_in_a_valid),
+    .auto_in_a_bits_opcode(fragmenter_auto_in_a_bits_opcode),
+    .auto_in_a_bits_param(fragmenter_auto_in_a_bits_param),
+    .auto_in_a_bits_size(fragmenter_auto_in_a_bits_size),
+    .auto_in_a_bits_source(fragmenter_auto_in_a_bits_source),
+    .auto_in_a_bits_address(fragmenter_auto_in_a_bits_address),
+    .auto_in_a_bits_mask(fragmenter_auto_in_a_bits_mask),
+    .auto_in_a_bits_data(fragmenter_auto_in_a_bits_data),
+    .auto_in_a_bits_corrupt(fragmenter_auto_in_a_bits_corrupt),
+    .auto_in_d_ready(fragmenter_auto_in_d_ready),
+    .auto_in_d_valid(fragmenter_auto_in_d_valid),
+    .auto_in_d_bits_opcode(fragmenter_auto_in_d_bits_opcode),
+    .auto_in_d_bits_size(fragmenter_auto_in_d_bits_size),
+    .auto_in_d_bits_source(fragmenter_auto_in_d_bits_source),
+    .auto_in_d_bits_data(fragmenter_auto_in_d_bits_data),
+    .auto_out_a_ready(fragmenter_auto_out_a_ready),
+    .auto_out_a_valid(fragmenter_auto_out_a_valid),
+    .auto_out_a_bits_opcode(fragmenter_auto_out_a_bits_opcode),
+    .auto_out_a_bits_param(fragmenter_auto_out_a_bits_param),
+    .auto_out_a_bits_size(fragmenter_auto_out_a_bits_size),
+    .auto_out_a_bits_source(fragmenter_auto_out_a_bits_source),
+    .auto_out_a_bits_address(fragmenter_auto_out_a_bits_address),
+    .auto_out_a_bits_mask(fragmenter_auto_out_a_bits_mask),
+    .auto_out_a_bits_data(fragmenter_auto_out_a_bits_data),
+    .auto_out_a_bits_corrupt(fragmenter_auto_out_a_bits_corrupt),
+    .auto_out_d_ready(fragmenter_auto_out_d_ready),
+    .auto_out_d_valid(fragmenter_auto_out_d_valid),
+    .auto_out_d_bits_opcode(fragmenter_auto_out_d_bits_opcode),
+    .auto_out_d_bits_size(fragmenter_auto_out_d_bits_size),
+    .auto_out_d_bits_source(fragmenter_auto_out_d_bits_source),
+    .auto_out_d_bits_data(fragmenter_auto_out_d_bits_data)
+  );
+  assign auto_fragmenter_in_a_ready = fragmenter_auto_in_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@75165.4]
+  assign auto_fragmenter_in_d_valid = fragmenter_auto_in_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@75165.4]
+  assign auto_fragmenter_in_d_bits_opcode = fragmenter_auto_in_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@75165.4]
+  assign auto_fragmenter_in_d_bits_size = fragmenter_auto_in_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@75165.4]
+  assign auto_fragmenter_in_d_bits_source = fragmenter_auto_in_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@75165.4]
+  assign auto_fragmenter_in_d_bits_data = fragmenter_auto_in_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@75165.4]
+  assign auto_control_xing_out_a_valid = fragmenter_auto_out_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@75164.4]
+  assign auto_control_xing_out_a_bits_opcode = fragmenter_auto_out_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@75164.4]
+  assign auto_control_xing_out_a_bits_param = fragmenter_auto_out_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@75164.4]
+  assign auto_control_xing_out_a_bits_size = fragmenter_auto_out_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@75164.4]
+  assign auto_control_xing_out_a_bits_source = fragmenter_auto_out_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@75164.4]
+  assign auto_control_xing_out_a_bits_address = fragmenter_auto_out_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@75164.4]
+  assign auto_control_xing_out_a_bits_mask = fragmenter_auto_out_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@75164.4]
+  assign auto_control_xing_out_a_bits_data = fragmenter_auto_out_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@75164.4]
+  assign auto_control_xing_out_a_bits_corrupt = fragmenter_auto_out_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@75164.4]
+  assign auto_control_xing_out_d_ready = fragmenter_auto_out_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@75164.4]
+  assign fragmenter_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75156.4]
+  assign fragmenter_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75157.4]
+  assign fragmenter_auto_in_a_valid = auto_fragmenter_in_a_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@75165.4]
+  assign fragmenter_auto_in_a_bits_opcode = auto_fragmenter_in_a_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@75165.4]
+  assign fragmenter_auto_in_a_bits_param = auto_fragmenter_in_a_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@75165.4]
+  assign fragmenter_auto_in_a_bits_size = auto_fragmenter_in_a_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@75165.4]
+  assign fragmenter_auto_in_a_bits_source = auto_fragmenter_in_a_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@75165.4]
+  assign fragmenter_auto_in_a_bits_address = auto_fragmenter_in_a_bits_address; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@75165.4]
+  assign fragmenter_auto_in_a_bits_mask = auto_fragmenter_in_a_bits_mask; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@75165.4]
+  assign fragmenter_auto_in_a_bits_data = auto_fragmenter_in_a_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@75165.4]
+  assign fragmenter_auto_in_a_bits_corrupt = auto_fragmenter_in_a_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@75165.4]
+  assign fragmenter_auto_in_d_ready = auto_fragmenter_in_d_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@75165.4]
+  assign fragmenter_auto_out_a_ready = auto_control_xing_out_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@75163.4]
+  assign fragmenter_auto_out_d_valid = auto_control_xing_out_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@75163.4]
+  assign fragmenter_auto_out_d_bits_opcode = auto_control_xing_out_d_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@75163.4]
+  assign fragmenter_auto_out_d_bits_size = auto_control_xing_out_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@75163.4]
+  assign fragmenter_auto_out_d_bits_source = auto_control_xing_out_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@75163.4]
+  assign fragmenter_auto_out_d_bits_data = auto_control_xing_out_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@75163.4]
+endmodule
+module TLMonitor_44( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75174.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75175.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75176.4]
+  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75177.4]
+  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75177.4]
+  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75177.4]
+  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75177.4]
+  input  [2:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75177.4]
+  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75177.4]
+  input  [28:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75177.4]
+  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75177.4]
+  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75177.4]
+  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75177.4]
+  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75177.4]
+  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75177.4]
+  input  [2:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75177.4]
+  input         io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75177.4]
+);
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@76298.4]
+  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@75193.6]
+  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@75198.6]
+  wire [12:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@75200.6]
+  wire [5:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@75201.6]
+  wire [5:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@75202.6]
+  wire [28:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@75203.6]
+  wire [28:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@75203.6]
+  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@75204.6]
+  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@75206.6]
+  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@75207.6]
+  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@75209.6]
+  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@75210.6]
+  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@75211.6]
+  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@75212.6]
+  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@75213.6]
+  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@75215.6]
+  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@75216.6]
+  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@75218.6]
+  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@75219.6]
+  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@75220.6]
+  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@75221.6]
+  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@75222.6]
+  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@75223.6]
+  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@75224.6]
+  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@75225.6]
+  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@75226.6]
+  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@75227.6]
+  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@75228.6]
+  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@75229.6]
+  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@75230.6]
+  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@75231.6]
+  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@75232.6]
+  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@75233.6]
+  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@75234.6]
+  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@75235.6]
+  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@75236.6]
+  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@75237.6]
+  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@75262.6]
+  wire [28:0] _T_92; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@75265.8]
+  wire [29:0] _T_93; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@75266.8]
+  wire [29:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@75267.8]
+  wire [29:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@75268.8]
+  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@75269.8]
+  wire  _T_101; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75274.8]
+  wire  _T_106; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75287.8]
+  wire  _T_107; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75288.8]
+  wire  _T_110; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75295.8]
+  wire  _T_111; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75296.8]
+  wire  _T_113; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75302.8]
+  wire  _T_114; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75303.8]
+  wire  _T_115; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@75308.8]
+  wire  _T_117; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75310.8]
+  wire  _T_118; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75311.8]
+  wire [3:0] _T_119; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@75316.8]
+  wire  _T_120; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@75317.8]
+  wire  _T_122; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75319.8]
+  wire  _T_123; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75320.8]
+  wire  _T_124; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@75325.8]
+  wire  _T_126; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75327.8]
+  wire  _T_127; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75328.8]
+  wire  _T_128; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@75334.6]
+  wire  _T_157; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@75388.8]
+  wire  _T_159; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75390.8]
+  wire  _T_160; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75391.8]
+  wire  _T_170; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@75414.6]
+  wire  _T_172; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@75417.8]
+  wire  _T_180; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@75425.8]
+  wire  _T_183; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75428.8]
+  wire  _T_184; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75429.8]
+  wire  _T_191; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@75448.8]
+  wire  _T_193; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75450.8]
+  wire  _T_194; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75451.8]
+  wire  _T_195; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@75456.8]
+  wire  _T_197; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75458.8]
+  wire  _T_198; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75459.8]
+  wire  _T_203; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@75473.6]
+  wire  _T_232; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@75524.6]
+  wire [3:0] _T_257; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@75566.8]
+  wire [3:0] _T_258; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@75567.8]
+  wire  _T_259; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@75568.8]
+  wire  _T_261; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75570.8]
+  wire  _T_262; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75571.8]
+  wire  _T_263; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@75577.6]
+  wire  _T_281; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@75608.8]
+  wire  _T_283; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75610.8]
+  wire  _T_284; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75611.8]
+  wire  _T_289; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@75625.6]
+  wire  _T_307; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@75656.8]
+  wire  _T_309; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75658.8]
+  wire  _T_310; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75659.8]
+  wire  _T_315; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@75673.6]
+  wire  _T_341; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@75723.6]
+  wire  _T_343; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@75725.6]
+  wire  _T_344; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@75726.6]
+  wire  _T_346; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@75732.6]
+  wire  _T_355; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@75737.6]
+  wire  _T_357; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@75739.6]
+  wire  _T_359; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75742.8]
+  wire  _T_360; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75743.8]
+  wire  _T_361; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@75748.8]
+  wire  _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75750.8]
+  wire  _T_364; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75751.8]
+  wire  _T_377; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@75781.6]
+  wire  _T_405; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@75839.6]
+  wire  _T_434; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@75898.6]
+  wire  _T_451; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@75933.6]
+  wire  _T_469; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@75969.6]
+  wire  _T_498; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@76029.4]
+  wire [3:0] _T_503; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@76034.4]
+  wire  _T_504; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@76035.4]
+  wire  _T_505; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76036.4]
+  reg [3:0] _T_508; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@76038.4]
+  reg [31:0] _RAND_0;
+  wire [4:0] _T_509; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76039.4]
+  wire [4:0] _T_510; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76040.4]
+  wire [3:0] _T_511; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76041.4]
+  wire  _T_512; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@76042.4]
+  reg [2:0] _T_521; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@76053.4]
+  reg [31:0] _RAND_1;
+  reg [2:0] _T_523; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@76054.4]
+  reg [31:0] _RAND_2;
+  reg [2:0] _T_525; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@76055.4]
+  reg [31:0] _RAND_3;
+  reg  _T_527; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@76056.4]
+  reg [31:0] _RAND_4;
+  reg [28:0] _T_529; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@76057.4]
+  reg [31:0] _RAND_5;
+  wire  _T_530; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@76058.4]
+  wire  _T_531; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@76059.4]
+  wire  _T_532; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@76061.6]
+  wire  _T_534; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76063.6]
+  wire  _T_535; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76064.6]
+  wire  _T_536; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@76069.6]
+  wire  _T_538; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76071.6]
+  wire  _T_539; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76072.6]
+  wire  _T_540; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@76077.6]
+  wire  _T_542; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76079.6]
+  wire  _T_543; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76080.6]
+  wire  _T_544; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@76085.6]
+  wire  _T_546; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76087.6]
+  wire  _T_547; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76088.6]
+  wire  _T_548; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@76093.6]
+  wire  _T_550; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76095.6]
+  wire  _T_551; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76096.6]
+  wire  _T_553; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@76103.4]
+  wire  _T_554; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@76111.4]
+  wire [12:0] _T_556; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@76113.4]
+  wire [5:0] _T_557; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@76114.4]
+  wire [5:0] _T_558; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@76115.4]
+  wire [3:0] _T_559; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@76116.4]
+  wire  _T_560; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@76117.4]
+  reg [3:0] _T_563; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@76119.4]
+  reg [31:0] _RAND_6;
+  wire [4:0] _T_564; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76120.4]
+  wire [4:0] _T_565; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76121.4]
+  wire [3:0] _T_566; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76122.4]
+  wire  _T_567; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@76123.4]
+  reg [2:0] _T_576; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@76134.4]
+  reg [31:0] _RAND_7;
+  reg [2:0] _T_580; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@76136.4]
+  reg [31:0] _RAND_8;
+  reg  _T_582; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@76137.4]
+  reg [31:0] _RAND_9;
+  wire  _T_587; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@76140.4]
+  wire  _T_588; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@76141.4]
+  wire  _T_589; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@76143.6]
+  wire  _T_591; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76145.6]
+  wire  _T_592; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76146.6]
+  wire  _T_597; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@76159.6]
+  wire  _T_599; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76161.6]
+  wire  _T_600; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76162.6]
+  wire  _T_601; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@76167.6]
+  wire  _T_603; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76169.6]
+  wire  _T_604; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76170.6]
+  wire  _T_614; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@76193.4]
+  reg [1:0] _T_616; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@76202.4]
+  reg [31:0] _RAND_10;
+  reg [3:0] _T_627; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@76212.4]
+  reg [31:0] _RAND_11;
+  wire [4:0] _T_628; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76213.4]
+  wire [4:0] _T_629; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76214.4]
+  wire [3:0] _T_630; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76215.4]
+  wire  _T_631; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@76216.4]
+  reg [3:0] _T_648; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@76235.4]
+  reg [31:0] _RAND_12;
+  wire [4:0] _T_649; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76236.4]
+  wire [4:0] _T_650; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76237.4]
+  wire [3:0] _T_651; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76238.4]
+  wire  _T_652; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@76239.4]
+  wire  _T_663; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@76254.4]
+  wire [1:0] _T_665; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@76257.6]
+  wire [1:0] _T_666; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@76259.6]
+  wire  _T_667; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@76260.6]
+  wire  _T_668; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76261.6]
+  wire  _T_670; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@76263.6]
+  wire  _T_671; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@76264.6]
+  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@76256.4]
+  wire  _T_676; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@76275.4]
+  wire  _T_678; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@76277.4]
+  wire  _T_679; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@76278.4]
+  wire [1:0] _T_680; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@76280.6]
+  wire [1:0] _T_681; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@76282.6]
+  wire [1:0] _T_682; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@76283.6]
+  wire  _T_683; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@76284.6]
+  wire  _T_685; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@76286.6]
+  wire  _T_686; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@76287.6]
+  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@76279.4]
+  wire [1:0] _T_687; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@76293.4]
+  wire [1:0] _T_688; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@76294.4]
+  wire [1:0] _T_689; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@76295.4]
+  reg [31:0] _T_691; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@76297.4]
+  reg [31:0] _RAND_13;
+  wire  _T_692; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@76300.4]
+  wire  _T_693; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@76301.4]
+  wire  _T_694; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@76302.4]
+  wire  _T_695; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@76303.4]
+  wire  _T_696; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@76304.4]
+  wire  _T_697; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@76305.4]
+  wire  _T_699; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@76307.4]
+  wire  _T_700; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@76308.4]
+  wire [31:0] _T_702; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@76314.4]
+  wire  _T_705; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@76318.4]
+  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75276.10]
+  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75348.10]
+  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75431.10]
+  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75490.10]
+  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75541.10]
+  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75591.10]
+  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75639.10]
+  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75687.10]
+  wire  _GEN_115; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75745.10]
+  wire  _GEN_119; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75787.10]
+  wire  _GEN_125; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75845.10]
+  wire  _GEN_131; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75904.10]
+  wire  _GEN_133; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75939.10]
+  wire  _GEN_135; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75975.10]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@76298.4]
+    .out(plusarg_reader_out)
+  );
+  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@75193.6]
+  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@75198.6]
+  assign _T_32 = 13'h3f << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@75200.6]
+  assign _T_33 = _T_32[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@75201.6]
+  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@75202.6]
+  assign _GEN_18 = {{23'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@75203.6]
+  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@75203.6]
+  assign _T_36 = _T_35 == 29'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@75204.6]
+  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@75206.6]
+  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@75207.6]
+  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@75209.6]
+  assign _T_42 = io_in_a_bits_size >= 3'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@75210.6]
+  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@75211.6]
+  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@75212.6]
+  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@75213.6]
+  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@75215.6]
+  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@75216.6]
+  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@75218.6]
+  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@75219.6]
+  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@75220.6]
+  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@75221.6]
+  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@75222.6]
+  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@75223.6]
+  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@75224.6]
+  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@75225.6]
+  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@75226.6]
+  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@75227.6]
+  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@75228.6]
+  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@75229.6]
+  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@75230.6]
+  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@75231.6]
+  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@75232.6]
+  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@75233.6]
+  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@75234.6]
+  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@75235.6]
+  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@75236.6]
+  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@75237.6]
+  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@75262.6]
+  assign _T_92 = io_in_a_bits_address ^ 29'h10016000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@75265.8]
+  assign _T_93 = {1'b0,$signed(_T_92)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@75266.8]
+  assign _T_94 = $signed(_T_93) & $signed(-30'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@75267.8]
+  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@75268.8]
+  assign _T_96 = $signed(_T_95) == $signed(30'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@75269.8]
+  assign _T_101 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75274.8]
+  assign _T_106 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75287.8]
+  assign _T_107 = _T_106 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75288.8]
+  assign _T_110 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75295.8]
+  assign _T_111 = _T_110 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75296.8]
+  assign _T_113 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75302.8]
+  assign _T_114 = _T_113 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75303.8]
+  assign _T_115 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@75308.8]
+  assign _T_117 = _T_115 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75310.8]
+  assign _T_118 = _T_117 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75311.8]
+  assign _T_119 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@75316.8]
+  assign _T_120 = _T_119 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@75317.8]
+  assign _T_122 = _T_120 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75319.8]
+  assign _T_123 = _T_122 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75320.8]
+  assign _T_124 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@75325.8]
+  assign _T_126 = _T_124 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75327.8]
+  assign _T_127 = _T_126 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75328.8]
+  assign _T_128 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@75334.6]
+  assign _T_157 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@75388.8]
+  assign _T_159 = _T_157 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75390.8]
+  assign _T_160 = _T_159 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75391.8]
+  assign _T_170 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@75414.6]
+  assign _T_172 = io_in_a_bits_size <= 3'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@75417.8]
+  assign _T_180 = _T_172 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@75425.8]
+  assign _T_183 = _T_180 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75428.8]
+  assign _T_184 = _T_183 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75429.8]
+  assign _T_191 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@75448.8]
+  assign _T_193 = _T_191 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75450.8]
+  assign _T_194 = _T_193 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75451.8]
+  assign _T_195 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@75456.8]
+  assign _T_197 = _T_195 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75458.8]
+  assign _T_198 = _T_197 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75459.8]
+  assign _T_203 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@75473.6]
+  assign _T_232 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@75524.6]
+  assign _T_257 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@75566.8]
+  assign _T_258 = io_in_a_bits_mask & _T_257; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@75567.8]
+  assign _T_259 = _T_258 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@75568.8]
+  assign _T_261 = _T_259 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75570.8]
+  assign _T_262 = _T_261 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75571.8]
+  assign _T_263 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@75577.6]
+  assign _T_281 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@75608.8]
+  assign _T_283 = _T_281 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75610.8]
+  assign _T_284 = _T_283 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75611.8]
+  assign _T_289 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@75625.6]
+  assign _T_307 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@75656.8]
+  assign _T_309 = _T_307 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75658.8]
+  assign _T_310 = _T_309 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75659.8]
+  assign _T_315 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@75673.6]
+  assign _T_341 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@75723.6]
+  assign _T_343 = _T_341 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@75725.6]
+  assign _T_344 = _T_343 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@75726.6]
+  assign _T_346 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@75732.6]
+  assign _T_355 = io_in_d_bits_source | _T_346; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@75737.6]
+  assign _T_357 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@75739.6]
+  assign _T_359 = _T_355 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75742.8]
+  assign _T_360 = _T_359 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75743.8]
+  assign _T_361 = io_in_d_bits_size >= 3'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@75748.8]
+  assign _T_363 = _T_361 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75750.8]
+  assign _T_364 = _T_363 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75751.8]
+  assign _T_377 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@75781.6]
+  assign _T_405 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@75839.6]
+  assign _T_434 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@75898.6]
+  assign _T_451 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@75933.6]
+  assign _T_469 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@75969.6]
+  assign _T_498 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@76029.4]
+  assign _T_503 = _T_34[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@76034.4]
+  assign _T_504 = io_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@76035.4]
+  assign _T_505 = _T_504 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76036.4]
+  assign _T_509 = _T_508 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76039.4]
+  assign _T_510 = $unsigned(_T_509); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76040.4]
+  assign _T_511 = _T_510[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76041.4]
+  assign _T_512 = _T_508 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@76042.4]
+  assign _T_530 = _T_512 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@76058.4]
+  assign _T_531 = io_in_a_valid & _T_530; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@76059.4]
+  assign _T_532 = io_in_a_bits_opcode == _T_521; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@76061.6]
+  assign _T_534 = _T_532 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76063.6]
+  assign _T_535 = _T_534 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76064.6]
+  assign _T_536 = io_in_a_bits_param == _T_523; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@76069.6]
+  assign _T_538 = _T_536 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76071.6]
+  assign _T_539 = _T_538 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76072.6]
+  assign _T_540 = io_in_a_bits_size == _T_525; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@76077.6]
+  assign _T_542 = _T_540 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76079.6]
+  assign _T_543 = _T_542 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76080.6]
+  assign _T_544 = io_in_a_bits_source == _T_527; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@76085.6]
+  assign _T_546 = _T_544 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76087.6]
+  assign _T_547 = _T_546 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76088.6]
+  assign _T_548 = io_in_a_bits_address == _T_529; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@76093.6]
+  assign _T_550 = _T_548 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76095.6]
+  assign _T_551 = _T_550 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76096.6]
+  assign _T_553 = _T_498 & _T_512; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@76103.4]
+  assign _T_554 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@76111.4]
+  assign _T_556 = 13'h3f << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@76113.4]
+  assign _T_557 = _T_556[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@76114.4]
+  assign _T_558 = ~ _T_557; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@76115.4]
+  assign _T_559 = _T_558[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@76116.4]
+  assign _T_560 = io_in_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@76117.4]
+  assign _T_564 = _T_563 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76120.4]
+  assign _T_565 = $unsigned(_T_564); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76121.4]
+  assign _T_566 = _T_565[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76122.4]
+  assign _T_567 = _T_563 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@76123.4]
+  assign _T_587 = _T_567 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@76140.4]
+  assign _T_588 = io_in_d_valid & _T_587; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@76141.4]
+  assign _T_589 = io_in_d_bits_opcode == _T_576; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@76143.6]
+  assign _T_591 = _T_589 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76145.6]
+  assign _T_592 = _T_591 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76146.6]
+  assign _T_597 = io_in_d_bits_size == _T_580; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@76159.6]
+  assign _T_599 = _T_597 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76161.6]
+  assign _T_600 = _T_599 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76162.6]
+  assign _T_601 = io_in_d_bits_source == _T_582; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@76167.6]
+  assign _T_603 = _T_601 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76169.6]
+  assign _T_604 = _T_603 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76170.6]
+  assign _T_614 = _T_554 & _T_567; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@76193.4]
+  assign _T_628 = _T_627 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76213.4]
+  assign _T_629 = $unsigned(_T_628); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76214.4]
+  assign _T_630 = _T_629[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76215.4]
+  assign _T_631 = _T_627 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@76216.4]
+  assign _T_649 = _T_648 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76236.4]
+  assign _T_650 = $unsigned(_T_649); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76237.4]
+  assign _T_651 = _T_650[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76238.4]
+  assign _T_652 = _T_648 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@76239.4]
+  assign _T_663 = _T_498 & _T_631; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@76254.4]
+  assign _T_665 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@76257.6]
+  assign _T_666 = _T_616 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@76259.6]
+  assign _T_667 = _T_666[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@76260.6]
+  assign _T_668 = _T_667 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76261.6]
+  assign _T_670 = _T_668 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@76263.6]
+  assign _T_671 = _T_670 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@76264.6]
+  assign _GEN_15 = _T_663 ? _T_665 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@76256.4]
+  assign _T_676 = _T_554 & _T_652; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@76275.4]
+  assign _T_678 = _T_357 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@76277.4]
+  assign _T_679 = _T_676 & _T_678; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@76278.4]
+  assign _T_680 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@76280.6]
+  assign _T_681 = _GEN_15 | _T_616; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@76282.6]
+  assign _T_682 = _T_681 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@76283.6]
+  assign _T_683 = _T_682[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@76284.6]
+  assign _T_685 = _T_683 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@76286.6]
+  assign _T_686 = _T_685 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@76287.6]
+  assign _GEN_16 = _T_679 ? _T_680 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@76279.4]
+  assign _T_687 = _T_616 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@76293.4]
+  assign _T_688 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@76294.4]
+  assign _T_689 = _T_687 & _T_688; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@76295.4]
+  assign _T_692 = _T_616 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@76300.4]
+  assign _T_693 = _T_692 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@76301.4]
+  assign _T_694 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@76302.4]
+  assign _T_695 = _T_693 | _T_694; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@76303.4]
+  assign _T_696 = _T_691 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@76304.4]
+  assign _T_697 = _T_695 | _T_696; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@76305.4]
+  assign _T_699 = _T_697 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@76307.4]
+  assign _T_700 = _T_699 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@76308.4]
+  assign _T_702 = _T_691 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@76314.4]
+  assign _T_705 = _T_498 | _T_554; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@76318.4]
+  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75276.10]
+  assign _GEN_35 = io_in_a_valid & _T_128; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75348.10]
+  assign _GEN_53 = io_in_a_valid & _T_170; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75431.10]
+  assign _GEN_65 = io_in_a_valid & _T_203; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75490.10]
+  assign _GEN_75 = io_in_a_valid & _T_232; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75541.10]
+  assign _GEN_85 = io_in_a_valid & _T_263; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75591.10]
+  assign _GEN_95 = io_in_a_valid & _T_289; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75639.10]
+  assign _GEN_105 = io_in_a_valid & _T_315; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75687.10]
+  assign _GEN_115 = io_in_d_valid & _T_357; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75745.10]
+  assign _GEN_119 = io_in_d_valid & _T_377; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75787.10]
+  assign _GEN_125 = io_in_d_valid & _T_405; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75845.10]
+  assign _GEN_131 = io_in_d_valid & _T_434; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75904.10]
+  assign _GEN_133 = io_in_d_valid & _T_451; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75939.10]
+  assign _GEN_135 = io_in_d_valid & _T_469; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75975.10]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  _T_508 = _RAND_0[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  _T_521 = _RAND_1[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  _T_523 = _RAND_2[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  _T_525 = _RAND_3[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  _T_527 = _RAND_4[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  _T_529 = _RAND_5[28:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {1{`RANDOM}};
+  _T_563 = _RAND_6[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {1{`RANDOM}};
+  _T_576 = _RAND_7[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_8 = {1{`RANDOM}};
+  _T_580 = _RAND_8[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_9 = {1{`RANDOM}};
+  _T_582 = _RAND_9[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_10 = {1{`RANDOM}};
+  _T_616 = _RAND_10[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_11 = {1{`RANDOM}};
+  _T_627 = _RAND_11[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_12 = {1{`RANDOM}};
+  _T_648 = _RAND_12[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_13 = {1{`RANDOM}};
+  _T_691 = _RAND_13[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      _T_508 <= 4'h0;
+    end else begin
+      if (_T_498) begin
+        if (_T_512) begin
+          if (_T_505) begin
+            _T_508 <= _T_503;
+          end else begin
+            _T_508 <= 4'h0;
+          end
+        end else begin
+          _T_508 <= _T_511;
+        end
+      end
+    end
+    if (_T_553) begin
+      _T_521 <= io_in_a_bits_opcode;
+    end
+    if (_T_553) begin
+      _T_523 <= io_in_a_bits_param;
+    end
+    if (_T_553) begin
+      _T_525 <= io_in_a_bits_size;
+    end
+    if (_T_553) begin
+      _T_527 <= io_in_a_bits_source;
+    end
+    if (_T_553) begin
+      _T_529 <= io_in_a_bits_address;
+    end
+    if (reset) begin
+      _T_563 <= 4'h0;
+    end else begin
+      if (_T_554) begin
+        if (_T_567) begin
+          if (_T_560) begin
+            _T_563 <= _T_559;
+          end else begin
+            _T_563 <= 4'h0;
+          end
+        end else begin
+          _T_563 <= _T_566;
+        end
+      end
+    end
+    if (_T_614) begin
+      _T_576 <= io_in_d_bits_opcode;
+    end
+    if (_T_614) begin
+      _T_580 <= io_in_d_bits_size;
+    end
+    if (_T_614) begin
+      _T_582 <= io_in_d_bits_source;
+    end
+    if (reset) begin
+      _T_616 <= 2'h0;
+    end else begin
+      _T_616 <= _T_689;
+    end
+    if (reset) begin
+      _T_627 <= 4'h0;
+    end else begin
+      if (_T_498) begin
+        if (_T_631) begin
+          if (_T_505) begin
+            _T_627 <= _T_503;
+          end else begin
+            _T_627 <= 4'h0;
+          end
+        end else begin
+          _T_627 <= _T_630;
+        end
+      end
+    end
+    if (reset) begin
+      _T_648 <= 4'h0;
+    end else begin
+      if (_T_554) begin
+        if (_T_652) begin
+          if (_T_560) begin
+            _T_648 <= _T_559;
+          end else begin
+            _T_648 <= 4'h0;
+          end
+        end else begin
+          _T_648 <= _T_651;
+        end
+      end
+    end
+    if (reset) begin
+      _T_691 <= 32'h0;
+    end else begin
+      if (_T_705) begin
+        _T_691 <= 32'h0;
+      end else begin
+        _T_691 <= _T_702;
+      end
+    end
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at I2C.scala:599:93)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@75189.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@75190.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@75259.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@75260.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at I2C.scala:599:93)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75276.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_101) begin
+          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75277.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at I2C.scala:599:93)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75283.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_101) begin
+          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75284.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at I2C.scala:599:93)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75290.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_107) begin
+          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75291.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_111) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at I2C.scala:599:93)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75298.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_111) begin
+          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75299.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at I2C.scala:599:93)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75305.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_114) begin
+          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75306.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_118) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at I2C.scala:599:93)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75313.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_118) begin
+          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75314.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_123) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at I2C.scala:599:93)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75322.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_123) begin
+          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75323.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_127) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at I2C.scala:599:93)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75330.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_127) begin
+          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75331.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at I2C.scala:599:93)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75348.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_101) begin
+          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75349.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at I2C.scala:599:93)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75355.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_101) begin
+          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75356.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at I2C.scala:599:93)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75362.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_107) begin
+          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75363.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_111) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at I2C.scala:599:93)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75370.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_111) begin
+          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75371.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at I2C.scala:599:93)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75377.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_114) begin
+          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75378.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_118) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at I2C.scala:599:93)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75385.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_118) begin
+          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75386.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_160) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at I2C.scala:599:93)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75393.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_160) begin
+          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75394.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_123) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at I2C.scala:599:93)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75402.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_123) begin
+          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75403.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_127) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at I2C.scala:599:93)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75410.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_127) begin
+          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75411.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_184) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at I2C.scala:599:93)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75431.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_184) begin
+          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75432.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at I2C.scala:599:93)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75438.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_107) begin
+          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75439.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at I2C.scala:599:93)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75445.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_114) begin
+          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75446.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_194) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at I2C.scala:599:93)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75453.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_194) begin
+          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75454.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_198) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at I2C.scala:599:93)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75461.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_198) begin
+          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75462.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_127) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at I2C.scala:599:93)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75469.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_127) begin
+          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75470.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_184) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at I2C.scala:599:93)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75490.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_184) begin
+          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75491.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at I2C.scala:599:93)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75497.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_107) begin
+          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75498.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at I2C.scala:599:93)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75504.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_114) begin
+          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75505.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_194) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at I2C.scala:599:93)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75512.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_194) begin
+          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75513.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_198) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at I2C.scala:599:93)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75520.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_198) begin
+          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75521.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_184) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at I2C.scala:599:93)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75541.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_184) begin
+          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75542.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at I2C.scala:599:93)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75548.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_107) begin
+          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75549.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at I2C.scala:599:93)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75555.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_114) begin
+          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75556.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_194) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at I2C.scala:599:93)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75563.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_194) begin
+          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75564.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_262) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at I2C.scala:599:93)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75573.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_262) begin
+          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75574.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at I2C.scala:599:93)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75591.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_101) begin
+          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75592.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at I2C.scala:599:93)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75598.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_107) begin
+          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75599.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at I2C.scala:599:93)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75605.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_114) begin
+          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75606.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_284) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at I2C.scala:599:93)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75613.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_284) begin
+          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75614.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_198) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at I2C.scala:599:93)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75621.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_198) begin
+          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75622.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at I2C.scala:599:93)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75639.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_101) begin
+          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75640.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at I2C.scala:599:93)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75646.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_107) begin
+          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75647.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at I2C.scala:599:93)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75653.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_114) begin
+          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75654.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_310) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at I2C.scala:599:93)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75661.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_310) begin
+          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75662.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_198) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at I2C.scala:599:93)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75669.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_198) begin
+          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75670.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at I2C.scala:599:93)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75687.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_101) begin
+          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75688.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at I2C.scala:599:93)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75694.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_107) begin
+          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75695.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at I2C.scala:599:93)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75701.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_114) begin
+          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75702.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_198) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at I2C.scala:599:93)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75709.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_198) begin
+          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75710.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_127) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at I2C.scala:599:93)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75717.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_127) begin
+          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75718.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_344) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at I2C.scala:599:93)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@75728.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_344) begin
+          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@75729.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_360) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at I2C.scala:599:93)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75745.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_360) begin
+          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75746.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_364) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at I2C.scala:599:93)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75753.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_364) begin
+          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75754.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at I2C.scala:599:93)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75761.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75762.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at I2C.scala:599:93)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75769.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75770.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at I2C.scala:599:93)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75777.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75778.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_119 & _T_360) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at I2C.scala:599:93)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75787.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_119 & _T_360) begin
+          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75788.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_119 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at I2C.scala:599:93)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75794.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_119 & _T_101) begin
+          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75795.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_119 & _T_364) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at I2C.scala:599:93)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75802.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_119 & _T_364) begin
+          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75803.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at I2C.scala:599:93)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75810.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75811.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at I2C.scala:599:93)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75818.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75819.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at I2C.scala:599:93)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75826.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75827.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at I2C.scala:599:93)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75835.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75836.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_360) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at I2C.scala:599:93)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75845.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_360) begin
+          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75846.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at I2C.scala:599:93)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75852.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_101) begin
+          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75853.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_364) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at I2C.scala:599:93)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75860.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_364) begin
+          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75861.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at I2C.scala:599:93)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75868.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75869.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at I2C.scala:599:93)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75876.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75877.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at I2C.scala:599:93)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75885.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75886.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at I2C.scala:599:93)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75894.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75895.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_131 & _T_360) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at I2C.scala:599:93)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75904.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_131 & _T_360) begin
+          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75905.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at I2C.scala:599:93)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75912.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75913.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at I2C.scala:599:93)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75920.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75921.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at I2C.scala:599:93)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75929.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75930.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_133 & _T_360) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at I2C.scala:599:93)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75939.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_133 & _T_360) begin
+          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75940.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at I2C.scala:599:93)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75947.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75948.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at I2C.scala:599:93)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75956.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75957.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at I2C.scala:599:93)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75965.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75966.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_135 & _T_360) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at I2C.scala:599:93)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75975.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_135 & _T_360) begin
+          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75976.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at I2C.scala:599:93)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75983.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75984.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at I2C.scala:599:93)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75991.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75992.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at I2C.scala:599:93)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76000.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76001.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at I2C.scala:599:93)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76010.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76011.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at I2C.scala:599:93)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76018.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76019.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at I2C.scala:599:93)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76026.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76027.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_531 & _T_535) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at I2C.scala:599:93)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76066.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_531 & _T_535) begin
+          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76067.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_531 & _T_539) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at I2C.scala:599:93)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76074.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_531 & _T_539) begin
+          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76075.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_531 & _T_543) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at I2C.scala:599:93)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76082.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_531 & _T_543) begin
+          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76083.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_531 & _T_547) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at I2C.scala:599:93)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76090.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_531 & _T_547) begin
+          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76091.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_531 & _T_551) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at I2C.scala:599:93)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76098.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_531 & _T_551) begin
+          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76099.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_588 & _T_592) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at I2C.scala:599:93)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76148.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_588 & _T_592) begin
+          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76149.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at I2C.scala:599:93)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76156.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76157.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_588 & _T_600) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at I2C.scala:599:93)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76164.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_588 & _T_600) begin
+          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76165.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_588 & _T_604) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at I2C.scala:599:93)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76172.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_588 & _T_604) begin
+          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76173.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at I2C.scala:599:93)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76180.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76181.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at I2C.scala:599:93)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76188.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76189.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_663 & _T_671) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at I2C.scala:599:93)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@76266.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_663 & _T_671) begin
+          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@76267.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_679 & _T_686) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at I2C.scala:599:93)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@76289.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_679 & _T_686) begin
+          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@76290.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_700) begin
+          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at I2C.scala:599:93)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@76310.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_700) begin
+          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@76311.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+endmodule
+module TLFragmenter_15( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76354.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76355.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76356.4]
+  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76357.4]
+  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76357.4]
+  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76357.4]
+  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76357.4]
+  input  [2:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76357.4]
+  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76357.4]
+  input  [28:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76357.4]
+  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76357.4]
+  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76357.4]
+  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76357.4]
+  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76357.4]
+  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76357.4]
+  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76357.4]
+  output [2:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76357.4]
+  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76357.4]
+  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76357.4]
+  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76357.4]
+  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76357.4]
+  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76357.4]
+  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76357.4]
+  output [1:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76357.4]
+  output [5:0]  auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76357.4]
+  output [28:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76357.4]
+  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76357.4]
+  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76357.4]
+  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76357.4]
+  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76357.4]
+  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76357.4]
+  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76357.4]
+  input  [1:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76357.4]
+  input  [5:0]  auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76357.4]
+  input  [31:0] auto_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76357.4]
+);
+  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@76364.4]
+  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@76364.4]
+  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@76364.4]
+  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@76364.4]
+  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@76364.4]
+  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@76364.4]
+  wire [2:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@76364.4]
+  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@76364.4]
+  wire [28:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@76364.4]
+  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@76364.4]
+  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@76364.4]
+  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@76364.4]
+  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@76364.4]
+  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@76364.4]
+  wire [2:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@76364.4]
+  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@76364.4]
+  wire  Repeater_clock; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76481.4]
+  wire  Repeater_reset; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76481.4]
+  wire  Repeater_io_repeat; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76481.4]
+  wire  Repeater_io_full; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76481.4]
+  wire  Repeater_io_enq_ready; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76481.4]
+  wire  Repeater_io_enq_valid; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76481.4]
+  wire [2:0] Repeater_io_enq_bits_opcode; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76481.4]
+  wire [2:0] Repeater_io_enq_bits_param; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76481.4]
+  wire [2:0] Repeater_io_enq_bits_size; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76481.4]
+  wire  Repeater_io_enq_bits_source; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76481.4]
+  wire [28:0] Repeater_io_enq_bits_address; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76481.4]
+  wire [3:0] Repeater_io_enq_bits_mask; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76481.4]
+  wire  Repeater_io_enq_bits_corrupt; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76481.4]
+  wire  Repeater_io_deq_ready; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76481.4]
+  wire  Repeater_io_deq_valid; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76481.4]
+  wire [2:0] Repeater_io_deq_bits_opcode; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76481.4]
+  wire [2:0] Repeater_io_deq_bits_param; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76481.4]
+  wire [2:0] Repeater_io_deq_bits_size; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76481.4]
+  wire  Repeater_io_deq_bits_source; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76481.4]
+  wire [28:0] Repeater_io_deq_bits_address; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76481.4]
+  wire [3:0] Repeater_io_deq_bits_mask; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76481.4]
+  wire  Repeater_io_deq_bits_corrupt; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76481.4]
+  reg [3:0] _T_244; // @[Fragmenter.scala 167:27:shc.marmotcaravel.MarmotCaravelConfig.fir@76405.4]
+  reg [31:0] _RAND_0;
+  reg [2:0] _T_246; // @[Fragmenter.scala 168:22:shc.marmotcaravel.MarmotCaravelConfig.fir@76406.4]
+  reg [31:0] _RAND_1;
+  reg  _T_248; // @[Fragmenter.scala 169:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76407.4]
+  reg [31:0] _RAND_2;
+  wire [3:0] _T_249; // @[Fragmenter.scala 170:39:shc.marmotcaravel.MarmotCaravelConfig.fir@76408.4]
+  wire  _T_250; // @[Fragmenter.scala 171:27:shc.marmotcaravel.MarmotCaravelConfig.fir@76409.4]
+  wire  _T_251; // @[Fragmenter.scala 172:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76410.4]
+  wire [3:0] _T_253; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@76412.4]
+  wire [2:0] _T_254; // @[OneHot.scala 52:27:shc.marmotcaravel.MarmotCaravelConfig.fir@76413.4]
+  wire [4:0] _T_256; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@76415.4]
+  wire [1:0] _T_257; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@76416.4]
+  wire [1:0] _T_258; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@76417.4]
+  wire  _T_259; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@76418.4]
+  wire  _T_271; // @[Fragmenter.scala 182:58:shc.marmotcaravel.MarmotCaravelConfig.fir@76434.4]
+  wire  _T_272; // @[Fragmenter.scala 182:30:shc.marmotcaravel.MarmotCaravelConfig.fir@76435.4]
+  wire [5:0] _GEN_7; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@76436.4]
+  wire [5:0] _T_273; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@76436.4]
+  wire [5:0] _GEN_8; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@76437.4]
+  wire [5:0] _T_274; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@76437.4]
+  wire [6:0] _GEN_9; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@76438.4]
+  wire [6:0] _T_275; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@76438.4]
+  wire [6:0] _T_276; // @[package.scala 183:40:shc.marmotcaravel.MarmotCaravelConfig.fir@76439.4]
+  wire [6:0] _T_277; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@76440.4]
+  wire [6:0] _T_278; // @[package.scala 183:53:shc.marmotcaravel.MarmotCaravelConfig.fir@76441.4]
+  wire [6:0] _T_279; // @[package.scala 183:51:shc.marmotcaravel.MarmotCaravelConfig.fir@76442.4]
+  wire [2:0] _T_280; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@76443.4]
+  wire [3:0] _T_281; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@76444.4]
+  wire  _T_282; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76445.4]
+  wire [3:0] _GEN_10; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76446.4]
+  wire [3:0] _T_283; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76446.4]
+  wire [1:0] _T_284; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@76447.4]
+  wire [1:0] _T_285; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@76448.4]
+  wire  _T_286; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76449.4]
+  wire [1:0] _T_287; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76450.4]
+  wire  _T_288; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@76451.4]
+  wire [1:0] _T_289; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@76452.4]
+  wire [2:0] _T_290; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@76453.4]
+  wire  _T_297; // @[Fragmenter.scala 200:18:shc.marmotcaravel.MarmotCaravelConfig.fir@76467.4]
+  wire  _T_299; // @[Fragmenter.scala 200:31:shc.marmotcaravel.MarmotCaravelConfig.fir@76469.4]
+  wire  _T_300; // @[Fragmenter.scala 200:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76470.4]
+  wire  _T_301; // @[Fragmenter.scala 201:33:shc.marmotcaravel.MarmotCaravelConfig.fir@76471.4]
+  wire  _T_291; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@76454.4]
+  wire [3:0] _GEN_11; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@76456.6]
+  wire [4:0] _T_292; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@76456.6]
+  wire [4:0] _T_293; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@76457.6]
+  wire [3:0] _T_294; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@76458.6]
+  wire  _T_296; // @[Fragmenter.scala 190:39:shc.marmotcaravel.MarmotCaravelConfig.fir@76463.8]
+  wire  _T_302; // @[Fragmenter.scala 202:37:shc.marmotcaravel.MarmotCaravelConfig.fir@76473.4]
+  wire  _T_330; // @[Fragmenter.scala 262:29:shc.marmotcaravel.MarmotCaravelConfig.fir@76506.4]
+  wire [2:0] _T_331; // @[Fragmenter.scala 262:22:shc.marmotcaravel.MarmotCaravelConfig.fir@76507.4]
+  wire [12:0] _T_333; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@76509.4]
+  wire [5:0] _T_334; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@76510.4]
+  wire [5:0] _T_335; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@76511.4]
+  wire [8:0] _T_337; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@76513.4]
+  wire [1:0] _T_338; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@76514.4]
+  wire [1:0] _T_339; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@76515.4]
+  wire  _T_340; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@76516.4]
+  wire  _T_341; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76517.4]
+  reg [3:0] _T_344; // @[Fragmenter.scala 268:27:shc.marmotcaravel.MarmotCaravelConfig.fir@76519.4]
+  reg [31:0] _RAND_3;
+  wire  _T_345; // @[Fragmenter.scala 269:27:shc.marmotcaravel.MarmotCaravelConfig.fir@76520.4]
+  wire [3:0] _T_346; // @[Fragmenter.scala 270:46:shc.marmotcaravel.MarmotCaravelConfig.fir@76521.4]
+  wire [4:0] _T_347; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@76522.4]
+  wire [4:0] _T_348; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@76523.4]
+  wire [3:0] _T_349; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@76524.4]
+  wire [3:0] _T_350; // @[Fragmenter.scala 270:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76525.4]
+  wire [3:0] _T_351; // @[Fragmenter.scala 271:26:shc.marmotcaravel.MarmotCaravelConfig.fir@76526.4]
+  wire [3:0] _T_354; // @[Fragmenter.scala 271:24:shc.marmotcaravel.MarmotCaravelConfig.fir@76529.4]
+  reg  _T_362; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@76536.4]
+  reg [31:0] _RAND_4;
+  wire  _GEN_5; // @[Reg.scala 12:19:shc.marmotcaravel.MarmotCaravelConfig.fir@76537.4]
+  wire  _T_364; // @[Fragmenter.scala 274:21:shc.marmotcaravel.MarmotCaravelConfig.fir@76541.4]
+  wire  _T_92_a_valid; // @[Nodes.scala 332:76:shc.marmotcaravel.MarmotCaravelConfig.fir@76401.4 Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@76550.4]
+  wire  _T_365; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@76542.4]
+  wire  _T_366; // @[Fragmenter.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@76546.4]
+  wire  _T_367; // @[Fragmenter.scala 279:51:shc.marmotcaravel.MarmotCaravelConfig.fir@76547.4]
+  wire [5:0] _GEN_12; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@76551.4]
+  wire [5:0] _T_369; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@76551.4]
+  wire [5:0] _T_370; // @[Fragmenter.scala 281:88:shc.marmotcaravel.MarmotCaravelConfig.fir@76552.4]
+  wire [5:0] _T_371; // @[Fragmenter.scala 281:86:shc.marmotcaravel.MarmotCaravelConfig.fir@76553.4]
+  wire [5:0] _GEN_13; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@76554.4]
+  wire [5:0] _T_372; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@76554.4]
+  wire [5:0] _T_373; // @[Fragmenter.scala 281:109:shc.marmotcaravel.MarmotCaravelConfig.fir@76555.4]
+  wire [5:0] _T_374; // @[Fragmenter.scala 281:49:shc.marmotcaravel.MarmotCaravelConfig.fir@76556.4]
+  wire [28:0] _GEN_14; // @[Fragmenter.scala 281:47:shc.marmotcaravel.MarmotCaravelConfig.fir@76557.4]
+  wire [1:0] _T_376; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@76559.4]
+  wire  _T_378; // @[Fragmenter.scala 286:15:shc.marmotcaravel.MarmotCaravelConfig.fir@76563.4]
+  wire  _T_380; // @[Fragmenter.scala 286:33:shc.marmotcaravel.MarmotCaravelConfig.fir@76565.4]
+  wire  _T_382; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76567.4]
+  wire  _T_383; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76568.4]
+  wire  _T_385; // @[Fragmenter.scala 289:51:shc.marmotcaravel.MarmotCaravelConfig.fir@76575.4]
+  wire  _T_386; // @[Fragmenter.scala 289:33:shc.marmotcaravel.MarmotCaravelConfig.fir@76576.4]
+  wire  _T_388; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76578.4]
+  wire  _T_389; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76579.4]
+  TLMonitor_44 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@76364.4]
+    .clock(TLMonitor_clock),
+    .reset(TLMonitor_reset),
+    .io_in_a_ready(TLMonitor_io_in_a_ready),
+    .io_in_a_valid(TLMonitor_io_in_a_valid),
+    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
+    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
+    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
+    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
+    .io_in_d_ready(TLMonitor_io_in_d_ready),
+    .io_in_d_valid(TLMonitor_io_in_d_valid),
+    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
+    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
+    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source)
+  );
+  Repeater_4 Repeater ( // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76481.4]
+    .clock(Repeater_clock),
+    .reset(Repeater_reset),
+    .io_repeat(Repeater_io_repeat),
+    .io_full(Repeater_io_full),
+    .io_enq_ready(Repeater_io_enq_ready),
+    .io_enq_valid(Repeater_io_enq_valid),
+    .io_enq_bits_opcode(Repeater_io_enq_bits_opcode),
+    .io_enq_bits_param(Repeater_io_enq_bits_param),
+    .io_enq_bits_size(Repeater_io_enq_bits_size),
+    .io_enq_bits_source(Repeater_io_enq_bits_source),
+    .io_enq_bits_address(Repeater_io_enq_bits_address),
+    .io_enq_bits_mask(Repeater_io_enq_bits_mask),
+    .io_enq_bits_corrupt(Repeater_io_enq_bits_corrupt),
+    .io_deq_ready(Repeater_io_deq_ready),
+    .io_deq_valid(Repeater_io_deq_valid),
+    .io_deq_bits_opcode(Repeater_io_deq_bits_opcode),
+    .io_deq_bits_param(Repeater_io_deq_bits_param),
+    .io_deq_bits_size(Repeater_io_deq_bits_size),
+    .io_deq_bits_source(Repeater_io_deq_bits_source),
+    .io_deq_bits_address(Repeater_io_deq_bits_address),
+    .io_deq_bits_mask(Repeater_io_deq_bits_mask),
+    .io_deq_bits_corrupt(Repeater_io_deq_bits_corrupt)
+  );
+  assign _T_249 = auto_out_d_bits_source[3:0]; // @[Fragmenter.scala 170:39:shc.marmotcaravel.MarmotCaravelConfig.fir@76408.4]
+  assign _T_250 = _T_244 == 4'h0; // @[Fragmenter.scala 171:27:shc.marmotcaravel.MarmotCaravelConfig.fir@76409.4]
+  assign _T_251 = _T_249 == 4'h0; // @[Fragmenter.scala 172:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76410.4]
+  assign _T_253 = 4'h1 << auto_out_d_bits_size; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@76412.4]
+  assign _T_254 = _T_253[2:0]; // @[OneHot.scala 52:27:shc.marmotcaravel.MarmotCaravelConfig.fir@76413.4]
+  assign _T_256 = 5'h3 << auto_out_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@76415.4]
+  assign _T_257 = _T_256[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@76416.4]
+  assign _T_258 = ~ _T_257; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@76417.4]
+  assign _T_259 = auto_out_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@76418.4]
+  assign _T_271 = _T_254[2:2]; // @[Fragmenter.scala 182:58:shc.marmotcaravel.MarmotCaravelConfig.fir@76434.4]
+  assign _T_272 = _T_259 ? 1'h1 : _T_271; // @[Fragmenter.scala 182:30:shc.marmotcaravel.MarmotCaravelConfig.fir@76435.4]
+  assign _GEN_7 = {{2'd0}, _T_249}; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@76436.4]
+  assign _T_273 = _GEN_7 << 2; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@76436.4]
+  assign _GEN_8 = {{4'd0}, _T_258}; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@76437.4]
+  assign _T_274 = _T_273 | _GEN_8; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@76437.4]
+  assign _GEN_9 = {{1'd0}, _T_274}; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@76438.4]
+  assign _T_275 = _GEN_9 << 1; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@76438.4]
+  assign _T_276 = _T_275 | 7'h1; // @[package.scala 183:40:shc.marmotcaravel.MarmotCaravelConfig.fir@76439.4]
+  assign _T_277 = {1'h0,_T_274}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@76440.4]
+  assign _T_278 = ~ _T_277; // @[package.scala 183:53:shc.marmotcaravel.MarmotCaravelConfig.fir@76441.4]
+  assign _T_279 = _T_276 & _T_278; // @[package.scala 183:51:shc.marmotcaravel.MarmotCaravelConfig.fir@76442.4]
+  assign _T_280 = _T_279[6:4]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@76443.4]
+  assign _T_281 = _T_279[3:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@76444.4]
+  assign _T_282 = _T_280 != 3'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76445.4]
+  assign _GEN_10 = {{1'd0}, _T_280}; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76446.4]
+  assign _T_283 = _GEN_10 | _T_281; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76446.4]
+  assign _T_284 = _T_283[3:2]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@76447.4]
+  assign _T_285 = _T_283[1:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@76448.4]
+  assign _T_286 = _T_284 != 2'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76449.4]
+  assign _T_287 = _T_284 | _T_285; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76450.4]
+  assign _T_288 = _T_287[1]; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@76451.4]
+  assign _T_289 = {_T_286,_T_288}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@76452.4]
+  assign _T_290 = {_T_282,_T_289}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@76453.4]
+  assign _T_297 = _T_259 == 1'h0; // @[Fragmenter.scala 200:18:shc.marmotcaravel.MarmotCaravelConfig.fir@76467.4]
+  assign _T_299 = _T_251 == 1'h0; // @[Fragmenter.scala 200:31:shc.marmotcaravel.MarmotCaravelConfig.fir@76469.4]
+  assign _T_300 = _T_297 & _T_299; // @[Fragmenter.scala 200:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76470.4]
+  assign _T_301 = auto_in_d_ready | _T_300; // @[Fragmenter.scala 201:33:shc.marmotcaravel.MarmotCaravelConfig.fir@76471.4]
+  assign _T_291 = _T_301 & auto_out_d_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@76454.4]
+  assign _GEN_11 = {{3'd0}, _T_272}; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@76456.6]
+  assign _T_292 = _T_244 - _GEN_11; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@76456.6]
+  assign _T_293 = $unsigned(_T_292); // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@76457.6]
+  assign _T_294 = _T_293[3:0]; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@76458.6]
+  assign _T_296 = auto_out_d_bits_source[4]; // @[Fragmenter.scala 190:39:shc.marmotcaravel.MarmotCaravelConfig.fir@76463.8]
+  assign _T_302 = _T_300 == 1'h0; // @[Fragmenter.scala 202:37:shc.marmotcaravel.MarmotCaravelConfig.fir@76473.4]
+  assign _T_330 = Repeater_io_deq_bits_size > 3'h2; // @[Fragmenter.scala 262:29:shc.marmotcaravel.MarmotCaravelConfig.fir@76506.4]
+  assign _T_331 = _T_330 ? 3'h2 : Repeater_io_deq_bits_size; // @[Fragmenter.scala 262:22:shc.marmotcaravel.MarmotCaravelConfig.fir@76507.4]
+  assign _T_333 = 13'h3f << Repeater_io_deq_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@76509.4]
+  assign _T_334 = _T_333[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@76510.4]
+  assign _T_335 = ~ _T_334; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@76511.4]
+  assign _T_337 = 9'h3 << _T_331; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@76513.4]
+  assign _T_338 = _T_337[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@76514.4]
+  assign _T_339 = ~ _T_338; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@76515.4]
+  assign _T_340 = Repeater_io_deq_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@76516.4]
+  assign _T_341 = _T_340 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76517.4]
+  assign _T_345 = _T_344 == 4'h0; // @[Fragmenter.scala 269:27:shc.marmotcaravel.MarmotCaravelConfig.fir@76520.4]
+  assign _T_346 = _T_335[5:2]; // @[Fragmenter.scala 270:46:shc.marmotcaravel.MarmotCaravelConfig.fir@76521.4]
+  assign _T_347 = _T_344 - 4'h1; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@76522.4]
+  assign _T_348 = $unsigned(_T_347); // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@76523.4]
+  assign _T_349 = _T_348[3:0]; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@76524.4]
+  assign _T_350 = _T_345 ? _T_346 : _T_349; // @[Fragmenter.scala 270:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76525.4]
+  assign _T_351 = ~ _T_350; // @[Fragmenter.scala 271:26:shc.marmotcaravel.MarmotCaravelConfig.fir@76526.4]
+  assign _T_354 = ~ _T_351; // @[Fragmenter.scala 271:24:shc.marmotcaravel.MarmotCaravelConfig.fir@76529.4]
+  assign _GEN_5 = _T_345 ? _T_248 : _T_362; // @[Reg.scala 12:19:shc.marmotcaravel.MarmotCaravelConfig.fir@76537.4]
+  assign _T_364 = _GEN_5 == 1'h0; // @[Fragmenter.scala 274:21:shc.marmotcaravel.MarmotCaravelConfig.fir@76541.4]
+  assign _T_92_a_valid = Repeater_io_deq_valid; // @[Nodes.scala 332:76:shc.marmotcaravel.MarmotCaravelConfig.fir@76401.4 Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@76550.4]
+  assign _T_365 = auto_out_a_ready & _T_92_a_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@76542.4]
+  assign _T_366 = _T_341 == 1'h0; // @[Fragmenter.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@76546.4]
+  assign _T_367 = _T_354 != 4'h0; // @[Fragmenter.scala 279:51:shc.marmotcaravel.MarmotCaravelConfig.fir@76547.4]
+  assign _GEN_12 = {{2'd0}, _T_350}; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@76551.4]
+  assign _T_369 = _GEN_12 << 2; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@76551.4]
+  assign _T_370 = ~ _T_335; // @[Fragmenter.scala 281:88:shc.marmotcaravel.MarmotCaravelConfig.fir@76552.4]
+  assign _T_371 = _T_369 | _T_370; // @[Fragmenter.scala 281:86:shc.marmotcaravel.MarmotCaravelConfig.fir@76553.4]
+  assign _GEN_13 = {{4'd0}, _T_339}; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@76554.4]
+  assign _T_372 = _T_371 | _GEN_13; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@76554.4]
+  assign _T_373 = _T_372 | 6'h3; // @[Fragmenter.scala 281:109:shc.marmotcaravel.MarmotCaravelConfig.fir@76555.4]
+  assign _T_374 = ~ _T_373; // @[Fragmenter.scala 281:49:shc.marmotcaravel.MarmotCaravelConfig.fir@76556.4]
+  assign _GEN_14 = {{23'd0}, _T_374}; // @[Fragmenter.scala 281:47:shc.marmotcaravel.MarmotCaravelConfig.fir@76557.4]
+  assign _T_376 = {Repeater_io_deq_bits_source,_T_364}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@76559.4]
+  assign _T_378 = Repeater_io_full == 1'h0; // @[Fragmenter.scala 286:15:shc.marmotcaravel.MarmotCaravelConfig.fir@76563.4]
+  assign _T_380 = _T_378 | _T_366; // @[Fragmenter.scala 286:33:shc.marmotcaravel.MarmotCaravelConfig.fir@76565.4]
+  assign _T_382 = _T_380 | reset; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76567.4]
+  assign _T_383 = _T_382 == 1'h0; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76568.4]
+  assign _T_385 = Repeater_io_deq_bits_mask == 4'hf; // @[Fragmenter.scala 289:51:shc.marmotcaravel.MarmotCaravelConfig.fir@76575.4]
+  assign _T_386 = _T_378 | _T_385; // @[Fragmenter.scala 289:33:shc.marmotcaravel.MarmotCaravelConfig.fir@76576.4]
+  assign _T_388 = _T_386 | reset; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76578.4]
+  assign _T_389 = _T_388 == 1'h0; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76579.4]
+  assign auto_in_a_ready = Repeater_io_enq_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@76404.4]
+  assign auto_in_d_valid = auto_out_d_valid & _T_302; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@76404.4]
+  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@76404.4]
+  assign auto_in_d_bits_size = _T_250 ? _T_290 : _T_246; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@76404.4]
+  assign auto_in_d_bits_source = auto_out_d_bits_source[5:5]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@76404.4]
+  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@76404.4]
+  assign auto_out_a_valid = Repeater_io_deq_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@76403.4]
+  assign auto_out_a_bits_opcode = Repeater_io_deq_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@76403.4]
+  assign auto_out_a_bits_param = Repeater_io_deq_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@76403.4]
+  assign auto_out_a_bits_size = _T_331[1:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@76403.4]
+  assign auto_out_a_bits_source = {_T_376,_T_354}; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@76403.4]
+  assign auto_out_a_bits_address = Repeater_io_deq_bits_address | _GEN_14; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@76403.4]
+  assign auto_out_a_bits_mask = Repeater_io_full ? 4'hf : auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@76403.4]
+  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@76403.4]
+  assign auto_out_a_bits_corrupt = Repeater_io_deq_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@76403.4]
+  assign auto_out_d_ready = auto_in_d_ready | _T_300; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@76403.4]
+  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76366.4]
+  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76367.4]
+  assign TLMonitor_io_in_a_ready = Repeater_io_enq_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@76400.4]
+  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@76400.4]
+  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@76400.4]
+  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@76400.4]
+  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@76400.4]
+  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@76400.4]
+  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@76400.4]
+  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@76400.4]
+  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@76400.4]
+  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@76400.4]
+  assign TLMonitor_io_in_d_valid = auto_out_d_valid & _T_302; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@76400.4]
+  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@76400.4]
+  assign TLMonitor_io_in_d_bits_size = _T_250 ? _T_290 : _T_246; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@76400.4]
+  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source[5:5]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@76400.4]
+  assign Repeater_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76483.4]
+  assign Repeater_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76484.4]
+  assign Repeater_io_repeat = _T_366 & _T_367; // @[Fragmenter.scala 279:26:shc.marmotcaravel.MarmotCaravelConfig.fir@76549.4]
+  assign Repeater_io_enq_valid = auto_in_a_valid; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@76485.4]
+  assign Repeater_io_enq_bits_opcode = auto_in_a_bits_opcode; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@76485.4]
+  assign Repeater_io_enq_bits_param = auto_in_a_bits_param; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@76485.4]
+  assign Repeater_io_enq_bits_size = auto_in_a_bits_size; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@76485.4]
+  assign Repeater_io_enq_bits_source = auto_in_a_bits_source; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@76485.4]
+  assign Repeater_io_enq_bits_address = auto_in_a_bits_address; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@76485.4]
+  assign Repeater_io_enq_bits_mask = auto_in_a_bits_mask; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@76485.4]
+  assign Repeater_io_enq_bits_corrupt = auto_in_a_bits_corrupt; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@76485.4]
+  assign Repeater_io_deq_ready = auto_out_a_ready; // @[Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@76550.4]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  _T_244 = _RAND_0[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  _T_246 = _RAND_1[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  _T_248 = _RAND_2[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  _T_344 = _RAND_3[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  _T_362 = _RAND_4[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      _T_244 <= 4'h0;
+    end else begin
+      if (_T_291) begin
+        if (_T_250) begin
+          _T_244 <= _T_249;
+        end else begin
+          _T_244 <= _T_294;
+        end
+      end
+    end
+    if (_T_291) begin
+      if (_T_250) begin
+        _T_246 <= _T_290;
+      end
+    end
+    if (reset) begin
+      _T_248 <= 1'h0;
+    end else begin
+      if (_T_291) begin
+        if (_T_250) begin
+          _T_248 <= _T_296;
+        end
+      end
+    end
+    if (reset) begin
+      _T_344 <= 4'h0;
+    end else begin
+      if (_T_365) begin
+        _T_344 <= _T_354;
+      end
+    end
+    if (_T_345) begin
+      _T_362 <= _T_248;
+    end
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:180 assert (!out.d.valid || (acknum_fragment & acknum_size) === UInt(0))\n"); // @[Fragmenter.scala 180:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76429.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Fragmenter.scala 180:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76430.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_383) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:286 assert (!repeater.io.full || !aHasData)\n"); // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76570.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_383) begin
+          $fatal; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76571.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_389) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:289 assert (!repeater.io.full || in_a.bits.mask === fullMask)\n"); // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76581.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_389) begin
+          $fatal; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76582.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+endmodule
+module SimpleLazyModule_23( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76593.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76594.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76595.4]
+  output        auto_fragmenter_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76596.4]
+  input         auto_fragmenter_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76596.4]
+  input  [2:0]  auto_fragmenter_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76596.4]
+  input  [2:0]  auto_fragmenter_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76596.4]
+  input  [2:0]  auto_fragmenter_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76596.4]
+  input         auto_fragmenter_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76596.4]
+  input  [28:0] auto_fragmenter_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76596.4]
+  input  [3:0]  auto_fragmenter_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76596.4]
+  input  [31:0] auto_fragmenter_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76596.4]
+  input         auto_fragmenter_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76596.4]
+  input         auto_fragmenter_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76596.4]
+  output        auto_fragmenter_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76596.4]
+  output [2:0]  auto_fragmenter_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76596.4]
+  output [2:0]  auto_fragmenter_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76596.4]
+  output        auto_fragmenter_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76596.4]
+  output [31:0] auto_fragmenter_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76596.4]
+  input         auto_control_xing_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76596.4]
+  output        auto_control_xing_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76596.4]
+  output [2:0]  auto_control_xing_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76596.4]
+  output [2:0]  auto_control_xing_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76596.4]
+  output [1:0]  auto_control_xing_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76596.4]
+  output [5:0]  auto_control_xing_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76596.4]
+  output [28:0] auto_control_xing_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76596.4]
+  output [3:0]  auto_control_xing_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76596.4]
+  output [31:0] auto_control_xing_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76596.4]
+  output        auto_control_xing_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76596.4]
+  output        auto_control_xing_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76596.4]
+  input         auto_control_xing_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76596.4]
+  input  [2:0]  auto_control_xing_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76596.4]
+  input  [1:0]  auto_control_xing_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76596.4]
+  input  [5:0]  auto_control_xing_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76596.4]
+  input  [31:0] auto_control_xing_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76596.4]
+);
+  wire  fragmenter_clock; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@76601.4]
+  wire  fragmenter_reset; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@76601.4]
+  wire  fragmenter_auto_in_a_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@76601.4]
+  wire  fragmenter_auto_in_a_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@76601.4]
+  wire [2:0] fragmenter_auto_in_a_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@76601.4]
+  wire [2:0] fragmenter_auto_in_a_bits_param; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@76601.4]
+  wire [2:0] fragmenter_auto_in_a_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@76601.4]
+  wire  fragmenter_auto_in_a_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@76601.4]
+  wire [28:0] fragmenter_auto_in_a_bits_address; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@76601.4]
+  wire [3:0] fragmenter_auto_in_a_bits_mask; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@76601.4]
+  wire [31:0] fragmenter_auto_in_a_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@76601.4]
+  wire  fragmenter_auto_in_a_bits_corrupt; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@76601.4]
+  wire  fragmenter_auto_in_d_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@76601.4]
+  wire  fragmenter_auto_in_d_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@76601.4]
+  wire [2:0] fragmenter_auto_in_d_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@76601.4]
+  wire [2:0] fragmenter_auto_in_d_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@76601.4]
+  wire  fragmenter_auto_in_d_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@76601.4]
+  wire [31:0] fragmenter_auto_in_d_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@76601.4]
+  wire  fragmenter_auto_out_a_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@76601.4]
+  wire  fragmenter_auto_out_a_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@76601.4]
+  wire [2:0] fragmenter_auto_out_a_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@76601.4]
+  wire [2:0] fragmenter_auto_out_a_bits_param; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@76601.4]
+  wire [1:0] fragmenter_auto_out_a_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@76601.4]
+  wire [5:0] fragmenter_auto_out_a_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@76601.4]
+  wire [28:0] fragmenter_auto_out_a_bits_address; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@76601.4]
+  wire [3:0] fragmenter_auto_out_a_bits_mask; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@76601.4]
+  wire [31:0] fragmenter_auto_out_a_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@76601.4]
+  wire  fragmenter_auto_out_a_bits_corrupt; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@76601.4]
+  wire  fragmenter_auto_out_d_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@76601.4]
+  wire  fragmenter_auto_out_d_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@76601.4]
+  wire [2:0] fragmenter_auto_out_d_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@76601.4]
+  wire [1:0] fragmenter_auto_out_d_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@76601.4]
+  wire [5:0] fragmenter_auto_out_d_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@76601.4]
+  wire [31:0] fragmenter_auto_out_d_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@76601.4]
+  TLFragmenter_15 fragmenter ( // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@76601.4]
+    .clock(fragmenter_clock),
+    .reset(fragmenter_reset),
+    .auto_in_a_ready(fragmenter_auto_in_a_ready),
+    .auto_in_a_valid(fragmenter_auto_in_a_valid),
+    .auto_in_a_bits_opcode(fragmenter_auto_in_a_bits_opcode),
+    .auto_in_a_bits_param(fragmenter_auto_in_a_bits_param),
+    .auto_in_a_bits_size(fragmenter_auto_in_a_bits_size),
+    .auto_in_a_bits_source(fragmenter_auto_in_a_bits_source),
+    .auto_in_a_bits_address(fragmenter_auto_in_a_bits_address),
+    .auto_in_a_bits_mask(fragmenter_auto_in_a_bits_mask),
+    .auto_in_a_bits_data(fragmenter_auto_in_a_bits_data),
+    .auto_in_a_bits_corrupt(fragmenter_auto_in_a_bits_corrupt),
+    .auto_in_d_ready(fragmenter_auto_in_d_ready),
+    .auto_in_d_valid(fragmenter_auto_in_d_valid),
+    .auto_in_d_bits_opcode(fragmenter_auto_in_d_bits_opcode),
+    .auto_in_d_bits_size(fragmenter_auto_in_d_bits_size),
+    .auto_in_d_bits_source(fragmenter_auto_in_d_bits_source),
+    .auto_in_d_bits_data(fragmenter_auto_in_d_bits_data),
+    .auto_out_a_ready(fragmenter_auto_out_a_ready),
+    .auto_out_a_valid(fragmenter_auto_out_a_valid),
+    .auto_out_a_bits_opcode(fragmenter_auto_out_a_bits_opcode),
+    .auto_out_a_bits_param(fragmenter_auto_out_a_bits_param),
+    .auto_out_a_bits_size(fragmenter_auto_out_a_bits_size),
+    .auto_out_a_bits_source(fragmenter_auto_out_a_bits_source),
+    .auto_out_a_bits_address(fragmenter_auto_out_a_bits_address),
+    .auto_out_a_bits_mask(fragmenter_auto_out_a_bits_mask),
+    .auto_out_a_bits_data(fragmenter_auto_out_a_bits_data),
+    .auto_out_a_bits_corrupt(fragmenter_auto_out_a_bits_corrupt),
+    .auto_out_d_ready(fragmenter_auto_out_d_ready),
+    .auto_out_d_valid(fragmenter_auto_out_d_valid),
+    .auto_out_d_bits_opcode(fragmenter_auto_out_d_bits_opcode),
+    .auto_out_d_bits_size(fragmenter_auto_out_d_bits_size),
+    .auto_out_d_bits_source(fragmenter_auto_out_d_bits_source),
+    .auto_out_d_bits_data(fragmenter_auto_out_d_bits_data)
+  );
+  assign auto_fragmenter_in_a_ready = fragmenter_auto_in_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@76614.4]
+  assign auto_fragmenter_in_d_valid = fragmenter_auto_in_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@76614.4]
+  assign auto_fragmenter_in_d_bits_opcode = fragmenter_auto_in_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@76614.4]
+  assign auto_fragmenter_in_d_bits_size = fragmenter_auto_in_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@76614.4]
+  assign auto_fragmenter_in_d_bits_source = fragmenter_auto_in_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@76614.4]
+  assign auto_fragmenter_in_d_bits_data = fragmenter_auto_in_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@76614.4]
+  assign auto_control_xing_out_a_valid = fragmenter_auto_out_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@76613.4]
+  assign auto_control_xing_out_a_bits_opcode = fragmenter_auto_out_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@76613.4]
+  assign auto_control_xing_out_a_bits_param = fragmenter_auto_out_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@76613.4]
+  assign auto_control_xing_out_a_bits_size = fragmenter_auto_out_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@76613.4]
+  assign auto_control_xing_out_a_bits_source = fragmenter_auto_out_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@76613.4]
+  assign auto_control_xing_out_a_bits_address = fragmenter_auto_out_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@76613.4]
+  assign auto_control_xing_out_a_bits_mask = fragmenter_auto_out_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@76613.4]
+  assign auto_control_xing_out_a_bits_data = fragmenter_auto_out_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@76613.4]
+  assign auto_control_xing_out_a_bits_corrupt = fragmenter_auto_out_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@76613.4]
+  assign auto_control_xing_out_d_ready = fragmenter_auto_out_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@76613.4]
+  assign fragmenter_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76605.4]
+  assign fragmenter_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76606.4]
+  assign fragmenter_auto_in_a_valid = auto_fragmenter_in_a_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@76614.4]
+  assign fragmenter_auto_in_a_bits_opcode = auto_fragmenter_in_a_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@76614.4]
+  assign fragmenter_auto_in_a_bits_param = auto_fragmenter_in_a_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@76614.4]
+  assign fragmenter_auto_in_a_bits_size = auto_fragmenter_in_a_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@76614.4]
+  assign fragmenter_auto_in_a_bits_source = auto_fragmenter_in_a_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@76614.4]
+  assign fragmenter_auto_in_a_bits_address = auto_fragmenter_in_a_bits_address; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@76614.4]
+  assign fragmenter_auto_in_a_bits_mask = auto_fragmenter_in_a_bits_mask; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@76614.4]
+  assign fragmenter_auto_in_a_bits_data = auto_fragmenter_in_a_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@76614.4]
+  assign fragmenter_auto_in_a_bits_corrupt = auto_fragmenter_in_a_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@76614.4]
+  assign fragmenter_auto_in_d_ready = auto_fragmenter_in_d_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@76614.4]
+  assign fragmenter_auto_out_a_ready = auto_control_xing_out_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@76612.4]
+  assign fragmenter_auto_out_d_valid = auto_control_xing_out_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@76612.4]
+  assign fragmenter_auto_out_d_bits_opcode = auto_control_xing_out_d_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@76612.4]
+  assign fragmenter_auto_out_d_bits_size = auto_control_xing_out_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@76612.4]
+  assign fragmenter_auto_out_d_bits_source = auto_control_xing_out_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@76612.4]
+  assign fragmenter_auto_out_d_bits_data = auto_control_xing_out_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@76612.4]
+endmodule
+module TLMonitor_45( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76623.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76624.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76625.4]
+  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76626.4]
+  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76626.4]
+  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76626.4]
+  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76626.4]
+  input  [2:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76626.4]
+  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76626.4]
+  input  [28:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76626.4]
+  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76626.4]
+  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76626.4]
+  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76626.4]
+  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76626.4]
+  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76626.4]
+  input  [2:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76626.4]
+  input         io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76626.4]
+);
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@77747.4]
+  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@76642.6]
+  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@76647.6]
+  wire [12:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@76649.6]
+  wire [5:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@76650.6]
+  wire [5:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@76651.6]
+  wire [28:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@76652.6]
+  wire [28:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@76652.6]
+  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@76653.6]
+  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@76655.6]
+  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@76656.6]
+  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@76658.6]
+  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@76659.6]
+  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@76660.6]
+  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@76661.6]
+  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@76662.6]
+  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@76664.6]
+  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@76665.6]
+  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@76667.6]
+  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@76668.6]
+  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@76669.6]
+  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@76670.6]
+  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@76671.6]
+  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@76672.6]
+  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@76673.6]
+  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@76674.6]
+  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@76675.6]
+  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@76676.6]
+  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@76677.6]
+  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@76678.6]
+  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@76679.6]
+  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@76680.6]
+  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@76681.6]
+  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@76682.6]
+  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@76683.6]
+  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@76684.6]
+  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@76685.6]
+  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@76686.6]
+  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@76711.6]
+  wire [28:0] _T_92; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@76714.8]
+  wire [29:0] _T_93; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@76715.8]
+  wire [29:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@76716.8]
+  wire [29:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@76717.8]
+  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@76718.8]
+  wire  _T_101; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76723.8]
+  wire  _T_106; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76736.8]
+  wire  _T_107; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76737.8]
+  wire  _T_110; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76744.8]
+  wire  _T_111; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76745.8]
+  wire  _T_113; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76751.8]
+  wire  _T_114; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76752.8]
+  wire  _T_115; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@76757.8]
+  wire  _T_117; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76759.8]
+  wire  _T_118; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76760.8]
+  wire [3:0] _T_119; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@76765.8]
+  wire  _T_120; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76766.8]
+  wire  _T_122; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76768.8]
+  wire  _T_123; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76769.8]
+  wire  _T_124; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@76774.8]
+  wire  _T_126; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76776.8]
+  wire  _T_127; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76777.8]
+  wire  _T_128; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@76783.6]
+  wire  _T_157; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76837.8]
+  wire  _T_159; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76839.8]
+  wire  _T_160; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76840.8]
+  wire  _T_170; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@76863.6]
+  wire  _T_172; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@76866.8]
+  wire  _T_180; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@76874.8]
+  wire  _T_183; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76877.8]
+  wire  _T_184; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76878.8]
+  wire  _T_191; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76897.8]
+  wire  _T_193; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76899.8]
+  wire  _T_194; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76900.8]
+  wire  _T_195; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@76905.8]
+  wire  _T_197; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76907.8]
+  wire  _T_198; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76908.8]
+  wire  _T_203; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@76922.6]
+  wire  _T_232; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@76973.6]
+  wire [3:0] _T_257; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@77015.8]
+  wire [3:0] _T_258; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77016.8]
+  wire  _T_259; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@77017.8]
+  wire  _T_261; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77019.8]
+  wire  _T_262; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77020.8]
+  wire  _T_263; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77026.6]
+  wire  _T_281; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@77057.8]
+  wire  _T_283; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77059.8]
+  wire  _T_284; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77060.8]
+  wire  _T_289; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77074.6]
+  wire  _T_307; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@77105.8]
+  wire  _T_309; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77107.8]
+  wire  _T_310; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77108.8]
+  wire  _T_315; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77122.6]
+  wire  _T_341; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@77172.6]
+  wire  _T_343; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@77174.6]
+  wire  _T_344; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@77175.6]
+  wire  _T_346; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@77181.6]
+  wire  _T_355; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@77186.6]
+  wire  _T_357; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77188.6]
+  wire  _T_359; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77191.8]
+  wire  _T_360; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77192.8]
+  wire  _T_361; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@77197.8]
+  wire  _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77199.8]
+  wire  _T_364; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77200.8]
+  wire  _T_377; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77230.6]
+  wire  _T_405; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77288.6]
+  wire  _T_434; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77347.6]
+  wire  _T_451; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77382.6]
+  wire  _T_469; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77418.6]
+  wire  _T_498; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@77478.4]
+  wire [3:0] _T_503; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@77483.4]
+  wire  _T_504; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@77484.4]
+  wire  _T_505; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77485.4]
+  reg [3:0] _T_508; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@77487.4]
+  reg [31:0] _RAND_0;
+  wire [4:0] _T_509; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77488.4]
+  wire [4:0] _T_510; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77489.4]
+  wire [3:0] _T_511; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77490.4]
+  wire  _T_512; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77491.4]
+  reg [2:0] _T_521; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@77502.4]
+  reg [31:0] _RAND_1;
+  reg [2:0] _T_523; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@77503.4]
+  reg [31:0] _RAND_2;
+  reg [2:0] _T_525; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@77504.4]
+  reg [31:0] _RAND_3;
+  reg  _T_527; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@77505.4]
+  reg [31:0] _RAND_4;
+  reg [28:0] _T_529; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@77506.4]
+  reg [31:0] _RAND_5;
+  wire  _T_530; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@77507.4]
+  wire  _T_531; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@77508.4]
+  wire  _T_532; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@77510.6]
+  wire  _T_534; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77512.6]
+  wire  _T_535; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77513.6]
+  wire  _T_536; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@77518.6]
+  wire  _T_538; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77520.6]
+  wire  _T_539; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77521.6]
+  wire  _T_540; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@77526.6]
+  wire  _T_542; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77528.6]
+  wire  _T_543; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77529.6]
+  wire  _T_544; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@77534.6]
+  wire  _T_546; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77536.6]
+  wire  _T_547; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77537.6]
+  wire  _T_548; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@77542.6]
+  wire  _T_550; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77544.6]
+  wire  _T_551; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77545.6]
+  wire  _T_553; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@77552.4]
+  wire  _T_554; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@77560.4]
+  wire [12:0] _T_556; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@77562.4]
+  wire [5:0] _T_557; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@77563.4]
+  wire [5:0] _T_558; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@77564.4]
+  wire [3:0] _T_559; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@77565.4]
+  wire  _T_560; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@77566.4]
+  reg [3:0] _T_563; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@77568.4]
+  reg [31:0] _RAND_6;
+  wire [4:0] _T_564; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77569.4]
+  wire [4:0] _T_565; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77570.4]
+  wire [3:0] _T_566; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77571.4]
+  wire  _T_567; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77572.4]
+  reg [2:0] _T_576; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@77583.4]
+  reg [31:0] _RAND_7;
+  reg [2:0] _T_580; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@77585.4]
+  reg [31:0] _RAND_8;
+  reg  _T_582; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@77586.4]
+  reg [31:0] _RAND_9;
+  wire  _T_587; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@77589.4]
+  wire  _T_588; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@77590.4]
+  wire  _T_589; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@77592.6]
+  wire  _T_591; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77594.6]
+  wire  _T_592; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77595.6]
+  wire  _T_597; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@77608.6]
+  wire  _T_599; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77610.6]
+  wire  _T_600; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77611.6]
+  wire  _T_601; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@77616.6]
+  wire  _T_603; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77618.6]
+  wire  _T_604; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77619.6]
+  wire  _T_614; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@77642.4]
+  reg [1:0] _T_616; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@77651.4]
+  reg [31:0] _RAND_10;
+  reg [3:0] _T_627; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@77661.4]
+  reg [31:0] _RAND_11;
+  wire [4:0] _T_628; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77662.4]
+  wire [4:0] _T_629; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77663.4]
+  wire [3:0] _T_630; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77664.4]
+  wire  _T_631; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77665.4]
+  reg [3:0] _T_648; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@77684.4]
+  reg [31:0] _RAND_12;
+  wire [4:0] _T_649; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77685.4]
+  wire [4:0] _T_650; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77686.4]
+  wire [3:0] _T_651; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77687.4]
+  wire  _T_652; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77688.4]
+  wire  _T_663; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@77703.4]
+  wire [1:0] _T_665; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@77706.6]
+  wire [1:0] _T_666; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@77708.6]
+  wire  _T_667; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@77709.6]
+  wire  _T_668; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77710.6]
+  wire  _T_670; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@77712.6]
+  wire  _T_671; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@77713.6]
+  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@77705.4]
+  wire  _T_676; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@77724.4]
+  wire  _T_678; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@77726.4]
+  wire  _T_679; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@77727.4]
+  wire [1:0] _T_680; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@77729.6]
+  wire [1:0] _T_681; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@77731.6]
+  wire [1:0] _T_682; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@77732.6]
+  wire  _T_683; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@77733.6]
+  wire  _T_685; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@77735.6]
+  wire  _T_686; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@77736.6]
+  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@77728.4]
+  wire [1:0] _T_687; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@77742.4]
+  wire [1:0] _T_688; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@77743.4]
+  wire [1:0] _T_689; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@77744.4]
+  reg [31:0] _T_691; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@77746.4]
+  reg [31:0] _RAND_13;
+  wire  _T_692; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@77749.4]
+  wire  _T_693; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@77750.4]
+  wire  _T_694; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@77751.4]
+  wire  _T_695; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@77752.4]
+  wire  _T_696; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@77753.4]
+  wire  _T_697; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@77754.4]
+  wire  _T_699; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@77756.4]
+  wire  _T_700; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@77757.4]
+  wire [31:0] _T_702; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@77763.4]
+  wire  _T_705; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@77767.4]
+  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76725.10]
+  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76797.10]
+  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76880.10]
+  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76939.10]
+  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76990.10]
+  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77040.10]
+  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77088.10]
+  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77136.10]
+  wire  _GEN_115; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77194.10]
+  wire  _GEN_119; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77236.10]
+  wire  _GEN_125; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77294.10]
+  wire  _GEN_131; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77353.10]
+  wire  _GEN_133; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77388.10]
+  wire  _GEN_135; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77424.10]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@77747.4]
+    .out(plusarg_reader_out)
+  );
+  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@76642.6]
+  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@76647.6]
+  assign _T_32 = 13'h3f << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@76649.6]
+  assign _T_33 = _T_32[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@76650.6]
+  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@76651.6]
+  assign _GEN_18 = {{23'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@76652.6]
+  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@76652.6]
+  assign _T_36 = _T_35 == 29'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@76653.6]
+  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@76655.6]
+  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@76656.6]
+  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@76658.6]
+  assign _T_42 = io_in_a_bits_size >= 3'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@76659.6]
+  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@76660.6]
+  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@76661.6]
+  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@76662.6]
+  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@76664.6]
+  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@76665.6]
+  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@76667.6]
+  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@76668.6]
+  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@76669.6]
+  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@76670.6]
+  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@76671.6]
+  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@76672.6]
+  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@76673.6]
+  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@76674.6]
+  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@76675.6]
+  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@76676.6]
+  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@76677.6]
+  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@76678.6]
+  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@76679.6]
+  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@76680.6]
+  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@76681.6]
+  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@76682.6]
+  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@76683.6]
+  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@76684.6]
+  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@76685.6]
+  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@76686.6]
+  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@76711.6]
+  assign _T_92 = io_in_a_bits_address ^ 29'h10026000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@76714.8]
+  assign _T_93 = {1'b0,$signed(_T_92)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@76715.8]
+  assign _T_94 = $signed(_T_93) & $signed(-30'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@76716.8]
+  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@76717.8]
+  assign _T_96 = $signed(_T_95) == $signed(30'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@76718.8]
+  assign _T_101 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76723.8]
+  assign _T_106 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76736.8]
+  assign _T_107 = _T_106 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76737.8]
+  assign _T_110 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76744.8]
+  assign _T_111 = _T_110 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76745.8]
+  assign _T_113 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76751.8]
+  assign _T_114 = _T_113 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76752.8]
+  assign _T_115 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@76757.8]
+  assign _T_117 = _T_115 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76759.8]
+  assign _T_118 = _T_117 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76760.8]
+  assign _T_119 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@76765.8]
+  assign _T_120 = _T_119 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76766.8]
+  assign _T_122 = _T_120 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76768.8]
+  assign _T_123 = _T_122 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76769.8]
+  assign _T_124 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@76774.8]
+  assign _T_126 = _T_124 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76776.8]
+  assign _T_127 = _T_126 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76777.8]
+  assign _T_128 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@76783.6]
+  assign _T_157 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76837.8]
+  assign _T_159 = _T_157 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76839.8]
+  assign _T_160 = _T_159 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76840.8]
+  assign _T_170 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@76863.6]
+  assign _T_172 = io_in_a_bits_size <= 3'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@76866.8]
+  assign _T_180 = _T_172 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@76874.8]
+  assign _T_183 = _T_180 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76877.8]
+  assign _T_184 = _T_183 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76878.8]
+  assign _T_191 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76897.8]
+  assign _T_193 = _T_191 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76899.8]
+  assign _T_194 = _T_193 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76900.8]
+  assign _T_195 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@76905.8]
+  assign _T_197 = _T_195 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76907.8]
+  assign _T_198 = _T_197 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76908.8]
+  assign _T_203 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@76922.6]
+  assign _T_232 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@76973.6]
+  assign _T_257 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@77015.8]
+  assign _T_258 = io_in_a_bits_mask & _T_257; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77016.8]
+  assign _T_259 = _T_258 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@77017.8]
+  assign _T_261 = _T_259 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77019.8]
+  assign _T_262 = _T_261 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77020.8]
+  assign _T_263 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77026.6]
+  assign _T_281 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@77057.8]
+  assign _T_283 = _T_281 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77059.8]
+  assign _T_284 = _T_283 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77060.8]
+  assign _T_289 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77074.6]
+  assign _T_307 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@77105.8]
+  assign _T_309 = _T_307 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77107.8]
+  assign _T_310 = _T_309 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77108.8]
+  assign _T_315 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77122.6]
+  assign _T_341 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@77172.6]
+  assign _T_343 = _T_341 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@77174.6]
+  assign _T_344 = _T_343 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@77175.6]
+  assign _T_346 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@77181.6]
+  assign _T_355 = io_in_d_bits_source | _T_346; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@77186.6]
+  assign _T_357 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77188.6]
+  assign _T_359 = _T_355 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77191.8]
+  assign _T_360 = _T_359 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77192.8]
+  assign _T_361 = io_in_d_bits_size >= 3'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@77197.8]
+  assign _T_363 = _T_361 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77199.8]
+  assign _T_364 = _T_363 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77200.8]
+  assign _T_377 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77230.6]
+  assign _T_405 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77288.6]
+  assign _T_434 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77347.6]
+  assign _T_451 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77382.6]
+  assign _T_469 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77418.6]
+  assign _T_498 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@77478.4]
+  assign _T_503 = _T_34[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@77483.4]
+  assign _T_504 = io_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@77484.4]
+  assign _T_505 = _T_504 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77485.4]
+  assign _T_509 = _T_508 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77488.4]
+  assign _T_510 = $unsigned(_T_509); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77489.4]
+  assign _T_511 = _T_510[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77490.4]
+  assign _T_512 = _T_508 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77491.4]
+  assign _T_530 = _T_512 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@77507.4]
+  assign _T_531 = io_in_a_valid & _T_530; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@77508.4]
+  assign _T_532 = io_in_a_bits_opcode == _T_521; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@77510.6]
+  assign _T_534 = _T_532 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77512.6]
+  assign _T_535 = _T_534 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77513.6]
+  assign _T_536 = io_in_a_bits_param == _T_523; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@77518.6]
+  assign _T_538 = _T_536 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77520.6]
+  assign _T_539 = _T_538 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77521.6]
+  assign _T_540 = io_in_a_bits_size == _T_525; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@77526.6]
+  assign _T_542 = _T_540 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77528.6]
+  assign _T_543 = _T_542 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77529.6]
+  assign _T_544 = io_in_a_bits_source == _T_527; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@77534.6]
+  assign _T_546 = _T_544 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77536.6]
+  assign _T_547 = _T_546 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77537.6]
+  assign _T_548 = io_in_a_bits_address == _T_529; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@77542.6]
+  assign _T_550 = _T_548 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77544.6]
+  assign _T_551 = _T_550 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77545.6]
+  assign _T_553 = _T_498 & _T_512; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@77552.4]
+  assign _T_554 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@77560.4]
+  assign _T_556 = 13'h3f << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@77562.4]
+  assign _T_557 = _T_556[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@77563.4]
+  assign _T_558 = ~ _T_557; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@77564.4]
+  assign _T_559 = _T_558[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@77565.4]
+  assign _T_560 = io_in_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@77566.4]
+  assign _T_564 = _T_563 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77569.4]
+  assign _T_565 = $unsigned(_T_564); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77570.4]
+  assign _T_566 = _T_565[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77571.4]
+  assign _T_567 = _T_563 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77572.4]
+  assign _T_587 = _T_567 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@77589.4]
+  assign _T_588 = io_in_d_valid & _T_587; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@77590.4]
+  assign _T_589 = io_in_d_bits_opcode == _T_576; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@77592.6]
+  assign _T_591 = _T_589 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77594.6]
+  assign _T_592 = _T_591 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77595.6]
+  assign _T_597 = io_in_d_bits_size == _T_580; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@77608.6]
+  assign _T_599 = _T_597 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77610.6]
+  assign _T_600 = _T_599 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77611.6]
+  assign _T_601 = io_in_d_bits_source == _T_582; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@77616.6]
+  assign _T_603 = _T_601 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77618.6]
+  assign _T_604 = _T_603 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77619.6]
+  assign _T_614 = _T_554 & _T_567; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@77642.4]
+  assign _T_628 = _T_627 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77662.4]
+  assign _T_629 = $unsigned(_T_628); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77663.4]
+  assign _T_630 = _T_629[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77664.4]
+  assign _T_631 = _T_627 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77665.4]
+  assign _T_649 = _T_648 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77685.4]
+  assign _T_650 = $unsigned(_T_649); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77686.4]
+  assign _T_651 = _T_650[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77687.4]
+  assign _T_652 = _T_648 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77688.4]
+  assign _T_663 = _T_498 & _T_631; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@77703.4]
+  assign _T_665 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@77706.6]
+  assign _T_666 = _T_616 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@77708.6]
+  assign _T_667 = _T_666[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@77709.6]
+  assign _T_668 = _T_667 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77710.6]
+  assign _T_670 = _T_668 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@77712.6]
+  assign _T_671 = _T_670 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@77713.6]
+  assign _GEN_15 = _T_663 ? _T_665 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@77705.4]
+  assign _T_676 = _T_554 & _T_652; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@77724.4]
+  assign _T_678 = _T_357 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@77726.4]
+  assign _T_679 = _T_676 & _T_678; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@77727.4]
+  assign _T_680 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@77729.6]
+  assign _T_681 = _GEN_15 | _T_616; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@77731.6]
+  assign _T_682 = _T_681 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@77732.6]
+  assign _T_683 = _T_682[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@77733.6]
+  assign _T_685 = _T_683 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@77735.6]
+  assign _T_686 = _T_685 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@77736.6]
+  assign _GEN_16 = _T_679 ? _T_680 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@77728.4]
+  assign _T_687 = _T_616 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@77742.4]
+  assign _T_688 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@77743.4]
+  assign _T_689 = _T_687 & _T_688; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@77744.4]
+  assign _T_692 = _T_616 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@77749.4]
+  assign _T_693 = _T_692 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@77750.4]
+  assign _T_694 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@77751.4]
+  assign _T_695 = _T_693 | _T_694; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@77752.4]
+  assign _T_696 = _T_691 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@77753.4]
+  assign _T_697 = _T_695 | _T_696; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@77754.4]
+  assign _T_699 = _T_697 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@77756.4]
+  assign _T_700 = _T_699 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@77757.4]
+  assign _T_702 = _T_691 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@77763.4]
+  assign _T_705 = _T_498 | _T_554; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@77767.4]
+  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76725.10]
+  assign _GEN_35 = io_in_a_valid & _T_128; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76797.10]
+  assign _GEN_53 = io_in_a_valid & _T_170; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76880.10]
+  assign _GEN_65 = io_in_a_valid & _T_203; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76939.10]
+  assign _GEN_75 = io_in_a_valid & _T_232; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76990.10]
+  assign _GEN_85 = io_in_a_valid & _T_263; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77040.10]
+  assign _GEN_95 = io_in_a_valid & _T_289; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77088.10]
+  assign _GEN_105 = io_in_a_valid & _T_315; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77136.10]
+  assign _GEN_115 = io_in_d_valid & _T_357; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77194.10]
+  assign _GEN_119 = io_in_d_valid & _T_377; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77236.10]
+  assign _GEN_125 = io_in_d_valid & _T_405; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77294.10]
+  assign _GEN_131 = io_in_d_valid & _T_434; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77353.10]
+  assign _GEN_133 = io_in_d_valid & _T_451; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77388.10]
+  assign _GEN_135 = io_in_d_valid & _T_469; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77424.10]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  _T_508 = _RAND_0[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  _T_521 = _RAND_1[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  _T_523 = _RAND_2[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  _T_525 = _RAND_3[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  _T_527 = _RAND_4[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  _T_529 = _RAND_5[28:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {1{`RANDOM}};
+  _T_563 = _RAND_6[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {1{`RANDOM}};
+  _T_576 = _RAND_7[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_8 = {1{`RANDOM}};
+  _T_580 = _RAND_8[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_9 = {1{`RANDOM}};
+  _T_582 = _RAND_9[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_10 = {1{`RANDOM}};
+  _T_616 = _RAND_10[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_11 = {1{`RANDOM}};
+  _T_627 = _RAND_11[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_12 = {1{`RANDOM}};
+  _T_648 = _RAND_12[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_13 = {1{`RANDOM}};
+  _T_691 = _RAND_13[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      _T_508 <= 4'h0;
+    end else begin
+      if (_T_498) begin
+        if (_T_512) begin
+          if (_T_505) begin
+            _T_508 <= _T_503;
+          end else begin
+            _T_508 <= 4'h0;
+          end
+        end else begin
+          _T_508 <= _T_511;
+        end
+      end
+    end
+    if (_T_553) begin
+      _T_521 <= io_in_a_bits_opcode;
+    end
+    if (_T_553) begin
+      _T_523 <= io_in_a_bits_param;
+    end
+    if (_T_553) begin
+      _T_525 <= io_in_a_bits_size;
+    end
+    if (_T_553) begin
+      _T_527 <= io_in_a_bits_source;
+    end
+    if (_T_553) begin
+      _T_529 <= io_in_a_bits_address;
+    end
+    if (reset) begin
+      _T_563 <= 4'h0;
+    end else begin
+      if (_T_554) begin
+        if (_T_567) begin
+          if (_T_560) begin
+            _T_563 <= _T_559;
+          end else begin
+            _T_563 <= 4'h0;
+          end
+        end else begin
+          _T_563 <= _T_566;
+        end
+      end
+    end
+    if (_T_614) begin
+      _T_576 <= io_in_d_bits_opcode;
+    end
+    if (_T_614) begin
+      _T_580 <= io_in_d_bits_size;
+    end
+    if (_T_614) begin
+      _T_582 <= io_in_d_bits_source;
+    end
+    if (reset) begin
+      _T_616 <= 2'h0;
+    end else begin
+      _T_616 <= _T_689;
+    end
+    if (reset) begin
+      _T_627 <= 4'h0;
+    end else begin
+      if (_T_498) begin
+        if (_T_631) begin
+          if (_T_505) begin
+            _T_627 <= _T_503;
+          end else begin
+            _T_627 <= 4'h0;
+          end
+        end else begin
+          _T_627 <= _T_630;
+        end
+      end
+    end
+    if (reset) begin
+      _T_648 <= 4'h0;
+    end else begin
+      if (_T_554) begin
+        if (_T_652) begin
+          if (_T_560) begin
+            _T_648 <= _T_559;
+          end else begin
+            _T_648 <= 4'h0;
+          end
+        end else begin
+          _T_648 <= _T_651;
+        end
+      end
+    end
+    if (reset) begin
+      _T_691 <= 32'h0;
+    end else begin
+      if (_T_705) begin
+        _T_691 <= 32'h0;
+      end else begin
+        _T_691 <= _T_702;
+      end
+    end
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at I2C.scala:599:93)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@76638.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@76639.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@76708.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@76709.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at I2C.scala:599:93)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76725.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_101) begin
+          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76726.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at I2C.scala:599:93)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76732.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_101) begin
+          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76733.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at I2C.scala:599:93)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76739.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_107) begin
+          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76740.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_111) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at I2C.scala:599:93)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76747.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_111) begin
+          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76748.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at I2C.scala:599:93)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76754.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_114) begin
+          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76755.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_118) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at I2C.scala:599:93)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76762.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_118) begin
+          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76763.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_123) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at I2C.scala:599:93)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76771.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_123) begin
+          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76772.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_127) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at I2C.scala:599:93)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76779.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_127) begin
+          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76780.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at I2C.scala:599:93)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76797.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_101) begin
+          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76798.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at I2C.scala:599:93)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76804.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_101) begin
+          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76805.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at I2C.scala:599:93)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76811.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_107) begin
+          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76812.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_111) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at I2C.scala:599:93)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76819.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_111) begin
+          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76820.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at I2C.scala:599:93)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76826.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_114) begin
+          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76827.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_118) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at I2C.scala:599:93)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76834.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_118) begin
+          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76835.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_160) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at I2C.scala:599:93)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76842.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_160) begin
+          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76843.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_123) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at I2C.scala:599:93)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76851.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_123) begin
+          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76852.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_127) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at I2C.scala:599:93)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76859.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_127) begin
+          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76860.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_184) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at I2C.scala:599:93)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76880.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_184) begin
+          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76881.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at I2C.scala:599:93)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76887.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_107) begin
+          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76888.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at I2C.scala:599:93)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76894.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_114) begin
+          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76895.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_194) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at I2C.scala:599:93)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76902.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_194) begin
+          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76903.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_198) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at I2C.scala:599:93)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76910.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_198) begin
+          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76911.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_127) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at I2C.scala:599:93)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76918.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_127) begin
+          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76919.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_184) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at I2C.scala:599:93)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76939.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_184) begin
+          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76940.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at I2C.scala:599:93)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76946.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_107) begin
+          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76947.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at I2C.scala:599:93)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76953.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_114) begin
+          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76954.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_194) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at I2C.scala:599:93)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76961.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_194) begin
+          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76962.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_198) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at I2C.scala:599:93)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76969.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_198) begin
+          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76970.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_184) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at I2C.scala:599:93)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76990.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_184) begin
+          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76991.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at I2C.scala:599:93)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76997.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_107) begin
+          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76998.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at I2C.scala:599:93)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77004.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_114) begin
+          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77005.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_194) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at I2C.scala:599:93)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77012.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_194) begin
+          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77013.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_262) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at I2C.scala:599:93)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77022.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_262) begin
+          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77023.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at I2C.scala:599:93)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77040.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_101) begin
+          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77041.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at I2C.scala:599:93)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77047.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_107) begin
+          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77048.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at I2C.scala:599:93)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77054.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_114) begin
+          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77055.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_284) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at I2C.scala:599:93)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77062.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_284) begin
+          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77063.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_198) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at I2C.scala:599:93)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77070.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_198) begin
+          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77071.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at I2C.scala:599:93)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77088.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_101) begin
+          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77089.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at I2C.scala:599:93)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77095.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_107) begin
+          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77096.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at I2C.scala:599:93)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77102.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_114) begin
+          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77103.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_310) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at I2C.scala:599:93)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77110.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_310) begin
+          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77111.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_198) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at I2C.scala:599:93)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77118.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_198) begin
+          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77119.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at I2C.scala:599:93)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77136.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_101) begin
+          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77137.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_107) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at I2C.scala:599:93)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77143.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_107) begin
+          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77144.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_114) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at I2C.scala:599:93)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77150.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_114) begin
+          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77151.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_198) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at I2C.scala:599:93)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77158.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_198) begin
+          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77159.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_127) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at I2C.scala:599:93)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77166.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_127) begin
+          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77167.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_344) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at I2C.scala:599:93)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@77177.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_344) begin
+          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@77178.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_360) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at I2C.scala:599:93)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77194.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_360) begin
+          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77195.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_364) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at I2C.scala:599:93)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77202.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_364) begin
+          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77203.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at I2C.scala:599:93)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77210.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77211.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at I2C.scala:599:93)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77218.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77219.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at I2C.scala:599:93)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77226.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77227.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_119 & _T_360) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at I2C.scala:599:93)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77236.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_119 & _T_360) begin
+          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77237.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_119 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at I2C.scala:599:93)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77243.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_119 & _T_101) begin
+          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77244.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_119 & _T_364) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at I2C.scala:599:93)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77251.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_119 & _T_364) begin
+          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77252.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at I2C.scala:599:93)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77259.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77260.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at I2C.scala:599:93)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77267.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77268.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at I2C.scala:599:93)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77275.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77276.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at I2C.scala:599:93)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77284.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77285.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_360) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at I2C.scala:599:93)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77294.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_360) begin
+          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77295.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_101) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at I2C.scala:599:93)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77301.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_101) begin
+          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77302.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_364) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at I2C.scala:599:93)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77309.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_364) begin
+          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77310.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at I2C.scala:599:93)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77317.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77318.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at I2C.scala:599:93)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77325.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77326.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at I2C.scala:599:93)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77334.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77335.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at I2C.scala:599:93)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77343.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77344.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_131 & _T_360) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at I2C.scala:599:93)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77353.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_131 & _T_360) begin
+          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77354.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at I2C.scala:599:93)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77361.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77362.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at I2C.scala:599:93)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77369.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77370.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at I2C.scala:599:93)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77378.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77379.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_133 & _T_360) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at I2C.scala:599:93)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77388.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_133 & _T_360) begin
+          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77389.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at I2C.scala:599:93)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77396.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77397.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at I2C.scala:599:93)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77405.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77406.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at I2C.scala:599:93)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77414.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77415.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_135 & _T_360) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at I2C.scala:599:93)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77424.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_135 & _T_360) begin
+          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77425.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at I2C.scala:599:93)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77432.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77433.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at I2C.scala:599:93)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77440.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77441.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at I2C.scala:599:93)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77449.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77450.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at I2C.scala:599:93)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77459.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77460.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at I2C.scala:599:93)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77467.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77468.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at I2C.scala:599:93)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77475.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77476.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_531 & _T_535) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at I2C.scala:599:93)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77515.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_531 & _T_535) begin
+          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77516.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_531 & _T_539) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at I2C.scala:599:93)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77523.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_531 & _T_539) begin
+          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77524.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_531 & _T_543) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at I2C.scala:599:93)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77531.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_531 & _T_543) begin
+          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77532.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_531 & _T_547) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at I2C.scala:599:93)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77539.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_531 & _T_547) begin
+          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77540.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_531 & _T_551) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at I2C.scala:599:93)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77547.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_531 & _T_551) begin
+          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77548.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_588 & _T_592) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at I2C.scala:599:93)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77597.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_588 & _T_592) begin
+          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77598.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at I2C.scala:599:93)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77605.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77606.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_588 & _T_600) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at I2C.scala:599:93)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77613.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_588 & _T_600) begin
+          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77614.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_588 & _T_604) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at I2C.scala:599:93)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77621.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_588 & _T_604) begin
+          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77622.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at I2C.scala:599:93)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77629.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77630.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at I2C.scala:599:93)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77637.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77638.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_663 & _T_671) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at I2C.scala:599:93)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@77715.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_663 & _T_671) begin
+          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@77716.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_679 & _T_686) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at I2C.scala:599:93)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@77738.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_679 & _T_686) begin
+          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@77739.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_700) begin
+          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at I2C.scala:599:93)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@77759.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_700) begin
+          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@77760.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+endmodule
+module TLFragmenter_16( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77803.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77804.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77805.4]
+  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77806.4]
+  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77806.4]
+  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77806.4]
+  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77806.4]
+  input  [2:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77806.4]
+  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77806.4]
+  input  [28:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77806.4]
+  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77806.4]
+  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77806.4]
+  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77806.4]
+  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77806.4]
+  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77806.4]
+  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77806.4]
+  output [2:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77806.4]
+  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77806.4]
+  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77806.4]
+  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77806.4]
+  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77806.4]
+  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77806.4]
+  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77806.4]
+  output [1:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77806.4]
+  output [5:0]  auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77806.4]
+  output [28:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77806.4]
+  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77806.4]
+  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77806.4]
+  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77806.4]
+  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77806.4]
+  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77806.4]
+  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77806.4]
+  input  [1:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77806.4]
+  input  [5:0]  auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77806.4]
+  input  [31:0] auto_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77806.4]
+);
+  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77813.4]
+  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77813.4]
+  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77813.4]
+  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77813.4]
+  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77813.4]
+  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77813.4]
+  wire [2:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77813.4]
+  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77813.4]
+  wire [28:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77813.4]
+  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77813.4]
+  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77813.4]
+  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77813.4]
+  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77813.4]
+  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77813.4]
+  wire [2:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77813.4]
+  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77813.4]
+  wire  Repeater_clock; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77930.4]
+  wire  Repeater_reset; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77930.4]
+  wire  Repeater_io_repeat; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77930.4]
+  wire  Repeater_io_full; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77930.4]
+  wire  Repeater_io_enq_ready; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77930.4]
+  wire  Repeater_io_enq_valid; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77930.4]
+  wire [2:0] Repeater_io_enq_bits_opcode; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77930.4]
+  wire [2:0] Repeater_io_enq_bits_param; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77930.4]
+  wire [2:0] Repeater_io_enq_bits_size; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77930.4]
+  wire  Repeater_io_enq_bits_source; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77930.4]
+  wire [28:0] Repeater_io_enq_bits_address; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77930.4]
+  wire [3:0] Repeater_io_enq_bits_mask; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77930.4]
+  wire  Repeater_io_enq_bits_corrupt; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77930.4]
+  wire  Repeater_io_deq_ready; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77930.4]
+  wire  Repeater_io_deq_valid; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77930.4]
+  wire [2:0] Repeater_io_deq_bits_opcode; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77930.4]
+  wire [2:0] Repeater_io_deq_bits_param; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77930.4]
+  wire [2:0] Repeater_io_deq_bits_size; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77930.4]
+  wire  Repeater_io_deq_bits_source; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77930.4]
+  wire [28:0] Repeater_io_deq_bits_address; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77930.4]
+  wire [3:0] Repeater_io_deq_bits_mask; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77930.4]
+  wire  Repeater_io_deq_bits_corrupt; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77930.4]
+  reg [3:0] _T_244; // @[Fragmenter.scala 167:27:shc.marmotcaravel.MarmotCaravelConfig.fir@77854.4]
+  reg [31:0] _RAND_0;
+  reg [2:0] _T_246; // @[Fragmenter.scala 168:22:shc.marmotcaravel.MarmotCaravelConfig.fir@77855.4]
+  reg [31:0] _RAND_1;
+  reg  _T_248; // @[Fragmenter.scala 169:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77856.4]
+  reg [31:0] _RAND_2;
+  wire [3:0] _T_249; // @[Fragmenter.scala 170:39:shc.marmotcaravel.MarmotCaravelConfig.fir@77857.4]
+  wire  _T_250; // @[Fragmenter.scala 171:27:shc.marmotcaravel.MarmotCaravelConfig.fir@77858.4]
+  wire  _T_251; // @[Fragmenter.scala 172:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77859.4]
+  wire [3:0] _T_253; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@77861.4]
+  wire [2:0] _T_254; // @[OneHot.scala 52:27:shc.marmotcaravel.MarmotCaravelConfig.fir@77862.4]
+  wire [4:0] _T_256; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@77864.4]
+  wire [1:0] _T_257; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@77865.4]
+  wire [1:0] _T_258; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@77866.4]
+  wire  _T_259; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@77867.4]
+  wire  _T_271; // @[Fragmenter.scala 182:58:shc.marmotcaravel.MarmotCaravelConfig.fir@77883.4]
+  wire  _T_272; // @[Fragmenter.scala 182:30:shc.marmotcaravel.MarmotCaravelConfig.fir@77884.4]
+  wire [5:0] _GEN_7; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@77885.4]
+  wire [5:0] _T_273; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@77885.4]
+  wire [5:0] _GEN_8; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@77886.4]
+  wire [5:0] _T_274; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@77886.4]
+  wire [6:0] _GEN_9; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@77887.4]
+  wire [6:0] _T_275; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@77887.4]
+  wire [6:0] _T_276; // @[package.scala 183:40:shc.marmotcaravel.MarmotCaravelConfig.fir@77888.4]
+  wire [6:0] _T_277; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@77889.4]
+  wire [6:0] _T_278; // @[package.scala 183:53:shc.marmotcaravel.MarmotCaravelConfig.fir@77890.4]
+  wire [6:0] _T_279; // @[package.scala 183:51:shc.marmotcaravel.MarmotCaravelConfig.fir@77891.4]
+  wire [2:0] _T_280; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@77892.4]
+  wire [3:0] _T_281; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@77893.4]
+  wire  _T_282; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77894.4]
+  wire [3:0] _GEN_10; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77895.4]
+  wire [3:0] _T_283; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77895.4]
+  wire [1:0] _T_284; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@77896.4]
+  wire [1:0] _T_285; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@77897.4]
+  wire  _T_286; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77898.4]
+  wire [1:0] _T_287; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77899.4]
+  wire  _T_288; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@77900.4]
+  wire [1:0] _T_289; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@77901.4]
+  wire [2:0] _T_290; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@77902.4]
+  wire  _T_297; // @[Fragmenter.scala 200:18:shc.marmotcaravel.MarmotCaravelConfig.fir@77916.4]
+  wire  _T_299; // @[Fragmenter.scala 200:31:shc.marmotcaravel.MarmotCaravelConfig.fir@77918.4]
+  wire  _T_300; // @[Fragmenter.scala 200:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77919.4]
+  wire  _T_301; // @[Fragmenter.scala 201:33:shc.marmotcaravel.MarmotCaravelConfig.fir@77920.4]
+  wire  _T_291; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@77903.4]
+  wire [3:0] _GEN_11; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@77905.6]
+  wire [4:0] _T_292; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@77905.6]
+  wire [4:0] _T_293; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@77906.6]
+  wire [3:0] _T_294; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@77907.6]
+  wire  _T_296; // @[Fragmenter.scala 190:39:shc.marmotcaravel.MarmotCaravelConfig.fir@77912.8]
+  wire  _T_302; // @[Fragmenter.scala 202:37:shc.marmotcaravel.MarmotCaravelConfig.fir@77922.4]
+  wire  _T_330; // @[Fragmenter.scala 262:29:shc.marmotcaravel.MarmotCaravelConfig.fir@77955.4]
+  wire [2:0] _T_331; // @[Fragmenter.scala 262:22:shc.marmotcaravel.MarmotCaravelConfig.fir@77956.4]
+  wire [12:0] _T_333; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@77958.4]
+  wire [5:0] _T_334; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@77959.4]
+  wire [5:0] _T_335; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@77960.4]
+  wire [8:0] _T_337; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@77962.4]
+  wire [1:0] _T_338; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@77963.4]
+  wire [1:0] _T_339; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@77964.4]
+  wire  _T_340; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@77965.4]
+  wire  _T_341; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77966.4]
+  reg [3:0] _T_344; // @[Fragmenter.scala 268:27:shc.marmotcaravel.MarmotCaravelConfig.fir@77968.4]
+  reg [31:0] _RAND_3;
+  wire  _T_345; // @[Fragmenter.scala 269:27:shc.marmotcaravel.MarmotCaravelConfig.fir@77969.4]
+  wire [3:0] _T_346; // @[Fragmenter.scala 270:46:shc.marmotcaravel.MarmotCaravelConfig.fir@77970.4]
+  wire [4:0] _T_347; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@77971.4]
+  wire [4:0] _T_348; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@77972.4]
+  wire [3:0] _T_349; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@77973.4]
+  wire [3:0] _T_350; // @[Fragmenter.scala 270:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77974.4]
+  wire [3:0] _T_351; // @[Fragmenter.scala 271:26:shc.marmotcaravel.MarmotCaravelConfig.fir@77975.4]
+  wire [3:0] _T_354; // @[Fragmenter.scala 271:24:shc.marmotcaravel.MarmotCaravelConfig.fir@77978.4]
+  reg  _T_362; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@77985.4]
+  reg [31:0] _RAND_4;
+  wire  _GEN_5; // @[Reg.scala 12:19:shc.marmotcaravel.MarmotCaravelConfig.fir@77986.4]
+  wire  _T_364; // @[Fragmenter.scala 274:21:shc.marmotcaravel.MarmotCaravelConfig.fir@77990.4]
+  wire  _T_92_a_valid; // @[Nodes.scala 332:76:shc.marmotcaravel.MarmotCaravelConfig.fir@77850.4 Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@77999.4]
+  wire  _T_365; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@77991.4]
+  wire  _T_366; // @[Fragmenter.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@77995.4]
+  wire  _T_367; // @[Fragmenter.scala 279:51:shc.marmotcaravel.MarmotCaravelConfig.fir@77996.4]
+  wire [5:0] _GEN_12; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@78000.4]
+  wire [5:0] _T_369; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@78000.4]
+  wire [5:0] _T_370; // @[Fragmenter.scala 281:88:shc.marmotcaravel.MarmotCaravelConfig.fir@78001.4]
+  wire [5:0] _T_371; // @[Fragmenter.scala 281:86:shc.marmotcaravel.MarmotCaravelConfig.fir@78002.4]
+  wire [5:0] _GEN_13; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@78003.4]
+  wire [5:0] _T_372; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@78003.4]
+  wire [5:0] _T_373; // @[Fragmenter.scala 281:109:shc.marmotcaravel.MarmotCaravelConfig.fir@78004.4]
+  wire [5:0] _T_374; // @[Fragmenter.scala 281:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78005.4]
+  wire [28:0] _GEN_14; // @[Fragmenter.scala 281:47:shc.marmotcaravel.MarmotCaravelConfig.fir@78006.4]
+  wire [1:0] _T_376; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@78008.4]
+  wire  _T_378; // @[Fragmenter.scala 286:15:shc.marmotcaravel.MarmotCaravelConfig.fir@78012.4]
+  wire  _T_380; // @[Fragmenter.scala 286:33:shc.marmotcaravel.MarmotCaravelConfig.fir@78014.4]
+  wire  _T_382; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78016.4]
+  wire  _T_383; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78017.4]
+  wire  _T_385; // @[Fragmenter.scala 289:51:shc.marmotcaravel.MarmotCaravelConfig.fir@78024.4]
+  wire  _T_386; // @[Fragmenter.scala 289:33:shc.marmotcaravel.MarmotCaravelConfig.fir@78025.4]
+  wire  _T_388; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78027.4]
+  wire  _T_389; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78028.4]
+  TLMonitor_45 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77813.4]
+    .clock(TLMonitor_clock),
+    .reset(TLMonitor_reset),
+    .io_in_a_ready(TLMonitor_io_in_a_ready),
+    .io_in_a_valid(TLMonitor_io_in_a_valid),
+    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
+    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
+    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
+    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
+    .io_in_d_ready(TLMonitor_io_in_d_ready),
+    .io_in_d_valid(TLMonitor_io_in_d_valid),
+    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
+    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
+    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source)
+  );
+  Repeater_4 Repeater ( // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77930.4]
+    .clock(Repeater_clock),
+    .reset(Repeater_reset),
+    .io_repeat(Repeater_io_repeat),
+    .io_full(Repeater_io_full),
+    .io_enq_ready(Repeater_io_enq_ready),
+    .io_enq_valid(Repeater_io_enq_valid),
+    .io_enq_bits_opcode(Repeater_io_enq_bits_opcode),
+    .io_enq_bits_param(Repeater_io_enq_bits_param),
+    .io_enq_bits_size(Repeater_io_enq_bits_size),
+    .io_enq_bits_source(Repeater_io_enq_bits_source),
+    .io_enq_bits_address(Repeater_io_enq_bits_address),
+    .io_enq_bits_mask(Repeater_io_enq_bits_mask),
+    .io_enq_bits_corrupt(Repeater_io_enq_bits_corrupt),
+    .io_deq_ready(Repeater_io_deq_ready),
+    .io_deq_valid(Repeater_io_deq_valid),
+    .io_deq_bits_opcode(Repeater_io_deq_bits_opcode),
+    .io_deq_bits_param(Repeater_io_deq_bits_param),
+    .io_deq_bits_size(Repeater_io_deq_bits_size),
+    .io_deq_bits_source(Repeater_io_deq_bits_source),
+    .io_deq_bits_address(Repeater_io_deq_bits_address),
+    .io_deq_bits_mask(Repeater_io_deq_bits_mask),
+    .io_deq_bits_corrupt(Repeater_io_deq_bits_corrupt)
+  );
+  assign _T_249 = auto_out_d_bits_source[3:0]; // @[Fragmenter.scala 170:39:shc.marmotcaravel.MarmotCaravelConfig.fir@77857.4]
+  assign _T_250 = _T_244 == 4'h0; // @[Fragmenter.scala 171:27:shc.marmotcaravel.MarmotCaravelConfig.fir@77858.4]
+  assign _T_251 = _T_249 == 4'h0; // @[Fragmenter.scala 172:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77859.4]
+  assign _T_253 = 4'h1 << auto_out_d_bits_size; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@77861.4]
+  assign _T_254 = _T_253[2:0]; // @[OneHot.scala 52:27:shc.marmotcaravel.MarmotCaravelConfig.fir@77862.4]
+  assign _T_256 = 5'h3 << auto_out_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@77864.4]
+  assign _T_257 = _T_256[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@77865.4]
+  assign _T_258 = ~ _T_257; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@77866.4]
+  assign _T_259 = auto_out_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@77867.4]
+  assign _T_271 = _T_254[2:2]; // @[Fragmenter.scala 182:58:shc.marmotcaravel.MarmotCaravelConfig.fir@77883.4]
+  assign _T_272 = _T_259 ? 1'h1 : _T_271; // @[Fragmenter.scala 182:30:shc.marmotcaravel.MarmotCaravelConfig.fir@77884.4]
+  assign _GEN_7 = {{2'd0}, _T_249}; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@77885.4]
+  assign _T_273 = _GEN_7 << 2; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@77885.4]
+  assign _GEN_8 = {{4'd0}, _T_258}; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@77886.4]
+  assign _T_274 = _T_273 | _GEN_8; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@77886.4]
+  assign _GEN_9 = {{1'd0}, _T_274}; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@77887.4]
+  assign _T_275 = _GEN_9 << 1; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@77887.4]
+  assign _T_276 = _T_275 | 7'h1; // @[package.scala 183:40:shc.marmotcaravel.MarmotCaravelConfig.fir@77888.4]
+  assign _T_277 = {1'h0,_T_274}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@77889.4]
+  assign _T_278 = ~ _T_277; // @[package.scala 183:53:shc.marmotcaravel.MarmotCaravelConfig.fir@77890.4]
+  assign _T_279 = _T_276 & _T_278; // @[package.scala 183:51:shc.marmotcaravel.MarmotCaravelConfig.fir@77891.4]
+  assign _T_280 = _T_279[6:4]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@77892.4]
+  assign _T_281 = _T_279[3:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@77893.4]
+  assign _T_282 = _T_280 != 3'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77894.4]
+  assign _GEN_10 = {{1'd0}, _T_280}; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77895.4]
+  assign _T_283 = _GEN_10 | _T_281; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77895.4]
+  assign _T_284 = _T_283[3:2]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@77896.4]
+  assign _T_285 = _T_283[1:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@77897.4]
+  assign _T_286 = _T_284 != 2'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77898.4]
+  assign _T_287 = _T_284 | _T_285; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77899.4]
+  assign _T_288 = _T_287[1]; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@77900.4]
+  assign _T_289 = {_T_286,_T_288}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@77901.4]
+  assign _T_290 = {_T_282,_T_289}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@77902.4]
+  assign _T_297 = _T_259 == 1'h0; // @[Fragmenter.scala 200:18:shc.marmotcaravel.MarmotCaravelConfig.fir@77916.4]
+  assign _T_299 = _T_251 == 1'h0; // @[Fragmenter.scala 200:31:shc.marmotcaravel.MarmotCaravelConfig.fir@77918.4]
+  assign _T_300 = _T_297 & _T_299; // @[Fragmenter.scala 200:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77919.4]
+  assign _T_301 = auto_in_d_ready | _T_300; // @[Fragmenter.scala 201:33:shc.marmotcaravel.MarmotCaravelConfig.fir@77920.4]
+  assign _T_291 = _T_301 & auto_out_d_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@77903.4]
+  assign _GEN_11 = {{3'd0}, _T_272}; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@77905.6]
+  assign _T_292 = _T_244 - _GEN_11; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@77905.6]
+  assign _T_293 = $unsigned(_T_292); // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@77906.6]
+  assign _T_294 = _T_293[3:0]; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@77907.6]
+  assign _T_296 = auto_out_d_bits_source[4]; // @[Fragmenter.scala 190:39:shc.marmotcaravel.MarmotCaravelConfig.fir@77912.8]
+  assign _T_302 = _T_300 == 1'h0; // @[Fragmenter.scala 202:37:shc.marmotcaravel.MarmotCaravelConfig.fir@77922.4]
+  assign _T_330 = Repeater_io_deq_bits_size > 3'h2; // @[Fragmenter.scala 262:29:shc.marmotcaravel.MarmotCaravelConfig.fir@77955.4]
+  assign _T_331 = _T_330 ? 3'h2 : Repeater_io_deq_bits_size; // @[Fragmenter.scala 262:22:shc.marmotcaravel.MarmotCaravelConfig.fir@77956.4]
+  assign _T_333 = 13'h3f << Repeater_io_deq_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@77958.4]
+  assign _T_334 = _T_333[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@77959.4]
+  assign _T_335 = ~ _T_334; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@77960.4]
+  assign _T_337 = 9'h3 << _T_331; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@77962.4]
+  assign _T_338 = _T_337[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@77963.4]
+  assign _T_339 = ~ _T_338; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@77964.4]
+  assign _T_340 = Repeater_io_deq_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@77965.4]
+  assign _T_341 = _T_340 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77966.4]
+  assign _T_345 = _T_344 == 4'h0; // @[Fragmenter.scala 269:27:shc.marmotcaravel.MarmotCaravelConfig.fir@77969.4]
+  assign _T_346 = _T_335[5:2]; // @[Fragmenter.scala 270:46:shc.marmotcaravel.MarmotCaravelConfig.fir@77970.4]
+  assign _T_347 = _T_344 - 4'h1; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@77971.4]
+  assign _T_348 = $unsigned(_T_347); // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@77972.4]
+  assign _T_349 = _T_348[3:0]; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@77973.4]
+  assign _T_350 = _T_345 ? _T_346 : _T_349; // @[Fragmenter.scala 270:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77974.4]
+  assign _T_351 = ~ _T_350; // @[Fragmenter.scala 271:26:shc.marmotcaravel.MarmotCaravelConfig.fir@77975.4]
+  assign _T_354 = ~ _T_351; // @[Fragmenter.scala 271:24:shc.marmotcaravel.MarmotCaravelConfig.fir@77978.4]
+  assign _GEN_5 = _T_345 ? _T_248 : _T_362; // @[Reg.scala 12:19:shc.marmotcaravel.MarmotCaravelConfig.fir@77986.4]
+  assign _T_364 = _GEN_5 == 1'h0; // @[Fragmenter.scala 274:21:shc.marmotcaravel.MarmotCaravelConfig.fir@77990.4]
+  assign _T_92_a_valid = Repeater_io_deq_valid; // @[Nodes.scala 332:76:shc.marmotcaravel.MarmotCaravelConfig.fir@77850.4 Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@77999.4]
+  assign _T_365 = auto_out_a_ready & _T_92_a_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@77991.4]
+  assign _T_366 = _T_341 == 1'h0; // @[Fragmenter.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@77995.4]
+  assign _T_367 = _T_354 != 4'h0; // @[Fragmenter.scala 279:51:shc.marmotcaravel.MarmotCaravelConfig.fir@77996.4]
+  assign _GEN_12 = {{2'd0}, _T_350}; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@78000.4]
+  assign _T_369 = _GEN_12 << 2; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@78000.4]
+  assign _T_370 = ~ _T_335; // @[Fragmenter.scala 281:88:shc.marmotcaravel.MarmotCaravelConfig.fir@78001.4]
+  assign _T_371 = _T_369 | _T_370; // @[Fragmenter.scala 281:86:shc.marmotcaravel.MarmotCaravelConfig.fir@78002.4]
+  assign _GEN_13 = {{4'd0}, _T_339}; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@78003.4]
+  assign _T_372 = _T_371 | _GEN_13; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@78003.4]
+  assign _T_373 = _T_372 | 6'h3; // @[Fragmenter.scala 281:109:shc.marmotcaravel.MarmotCaravelConfig.fir@78004.4]
+  assign _T_374 = ~ _T_373; // @[Fragmenter.scala 281:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78005.4]
+  assign _GEN_14 = {{23'd0}, _T_374}; // @[Fragmenter.scala 281:47:shc.marmotcaravel.MarmotCaravelConfig.fir@78006.4]
+  assign _T_376 = {Repeater_io_deq_bits_source,_T_364}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@78008.4]
+  assign _T_378 = Repeater_io_full == 1'h0; // @[Fragmenter.scala 286:15:shc.marmotcaravel.MarmotCaravelConfig.fir@78012.4]
+  assign _T_380 = _T_378 | _T_366; // @[Fragmenter.scala 286:33:shc.marmotcaravel.MarmotCaravelConfig.fir@78014.4]
+  assign _T_382 = _T_380 | reset; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78016.4]
+  assign _T_383 = _T_382 == 1'h0; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78017.4]
+  assign _T_385 = Repeater_io_deq_bits_mask == 4'hf; // @[Fragmenter.scala 289:51:shc.marmotcaravel.MarmotCaravelConfig.fir@78024.4]
+  assign _T_386 = _T_378 | _T_385; // @[Fragmenter.scala 289:33:shc.marmotcaravel.MarmotCaravelConfig.fir@78025.4]
+  assign _T_388 = _T_386 | reset; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78027.4]
+  assign _T_389 = _T_388 == 1'h0; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78028.4]
+  assign auto_in_a_ready = Repeater_io_enq_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@77853.4]
+  assign auto_in_d_valid = auto_out_d_valid & _T_302; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@77853.4]
+  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@77853.4]
+  assign auto_in_d_bits_size = _T_250 ? _T_290 : _T_246; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@77853.4]
+  assign auto_in_d_bits_source = auto_out_d_bits_source[5:5]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@77853.4]
+  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@77853.4]
+  assign auto_out_a_valid = Repeater_io_deq_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@77852.4]
+  assign auto_out_a_bits_opcode = Repeater_io_deq_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@77852.4]
+  assign auto_out_a_bits_param = Repeater_io_deq_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@77852.4]
+  assign auto_out_a_bits_size = _T_331[1:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@77852.4]
+  assign auto_out_a_bits_source = {_T_376,_T_354}; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@77852.4]
+  assign auto_out_a_bits_address = Repeater_io_deq_bits_address | _GEN_14; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@77852.4]
+  assign auto_out_a_bits_mask = Repeater_io_full ? 4'hf : auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@77852.4]
+  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@77852.4]
+  assign auto_out_a_bits_corrupt = Repeater_io_deq_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@77852.4]
+  assign auto_out_d_ready = auto_in_d_ready | _T_300; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@77852.4]
+  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77815.4]
+  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77816.4]
+  assign TLMonitor_io_in_a_ready = Repeater_io_enq_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@77849.4]
+  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@77849.4]
+  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@77849.4]
+  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@77849.4]
+  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@77849.4]
+  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@77849.4]
+  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@77849.4]
+  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@77849.4]
+  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@77849.4]
+  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@77849.4]
+  assign TLMonitor_io_in_d_valid = auto_out_d_valid & _T_302; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@77849.4]
+  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@77849.4]
+  assign TLMonitor_io_in_d_bits_size = _T_250 ? _T_290 : _T_246; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@77849.4]
+  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source[5:5]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@77849.4]
+  assign Repeater_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77932.4]
+  assign Repeater_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77933.4]
+  assign Repeater_io_repeat = _T_366 & _T_367; // @[Fragmenter.scala 279:26:shc.marmotcaravel.MarmotCaravelConfig.fir@77998.4]
+  assign Repeater_io_enq_valid = auto_in_a_valid; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@77934.4]
+  assign Repeater_io_enq_bits_opcode = auto_in_a_bits_opcode; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@77934.4]
+  assign Repeater_io_enq_bits_param = auto_in_a_bits_param; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@77934.4]
+  assign Repeater_io_enq_bits_size = auto_in_a_bits_size; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@77934.4]
+  assign Repeater_io_enq_bits_source = auto_in_a_bits_source; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@77934.4]
+  assign Repeater_io_enq_bits_address = auto_in_a_bits_address; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@77934.4]
+  assign Repeater_io_enq_bits_mask = auto_in_a_bits_mask; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@77934.4]
+  assign Repeater_io_enq_bits_corrupt = auto_in_a_bits_corrupt; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@77934.4]
+  assign Repeater_io_deq_ready = auto_out_a_ready; // @[Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@77999.4]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  _T_244 = _RAND_0[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  _T_246 = _RAND_1[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  _T_248 = _RAND_2[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  _T_344 = _RAND_3[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  _T_362 = _RAND_4[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      _T_244 <= 4'h0;
+    end else begin
+      if (_T_291) begin
+        if (_T_250) begin
+          _T_244 <= _T_249;
+        end else begin
+          _T_244 <= _T_294;
+        end
+      end
+    end
+    if (_T_291) begin
+      if (_T_250) begin
+        _T_246 <= _T_290;
+      end
+    end
+    if (reset) begin
+      _T_248 <= 1'h0;
+    end else begin
+      if (_T_291) begin
+        if (_T_250) begin
+          _T_248 <= _T_296;
+        end
+      end
+    end
+    if (reset) begin
+      _T_344 <= 4'h0;
+    end else begin
+      if (_T_365) begin
+        _T_344 <= _T_354;
+      end
+    end
+    if (_T_345) begin
+      _T_362 <= _T_248;
+    end
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:180 assert (!out.d.valid || (acknum_fragment & acknum_size) === UInt(0))\n"); // @[Fragmenter.scala 180:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77878.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Fragmenter.scala 180:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77879.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_383) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:286 assert (!repeater.io.full || !aHasData)\n"); // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78019.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_383) begin
+          $fatal; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78020.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_389) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:289 assert (!repeater.io.full || in_a.bits.mask === fullMask)\n"); // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78030.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_389) begin
+          $fatal; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78031.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+endmodule
+module SimpleLazyModule_24( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78042.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78043.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78044.4]
+  output        auto_fragmenter_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78045.4]
+  input         auto_fragmenter_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78045.4]
+  input  [2:0]  auto_fragmenter_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78045.4]
+  input  [2:0]  auto_fragmenter_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78045.4]
+  input  [2:0]  auto_fragmenter_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78045.4]
+  input         auto_fragmenter_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78045.4]
+  input  [28:0] auto_fragmenter_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78045.4]
+  input  [3:0]  auto_fragmenter_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78045.4]
+  input  [31:0] auto_fragmenter_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78045.4]
+  input         auto_fragmenter_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78045.4]
+  input         auto_fragmenter_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78045.4]
+  output        auto_fragmenter_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78045.4]
+  output [2:0]  auto_fragmenter_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78045.4]
+  output [2:0]  auto_fragmenter_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78045.4]
+  output        auto_fragmenter_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78045.4]
+  output [31:0] auto_fragmenter_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78045.4]
+  input         auto_control_xing_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78045.4]
+  output        auto_control_xing_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78045.4]
+  output [2:0]  auto_control_xing_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78045.4]
+  output [2:0]  auto_control_xing_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78045.4]
+  output [1:0]  auto_control_xing_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78045.4]
+  output [5:0]  auto_control_xing_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78045.4]
+  output [28:0] auto_control_xing_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78045.4]
+  output [3:0]  auto_control_xing_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78045.4]
+  output [31:0] auto_control_xing_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78045.4]
+  output        auto_control_xing_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78045.4]
+  output        auto_control_xing_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78045.4]
+  input         auto_control_xing_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78045.4]
+  input  [2:0]  auto_control_xing_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78045.4]
+  input  [1:0]  auto_control_xing_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78045.4]
+  input  [5:0]  auto_control_xing_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78045.4]
+  input  [31:0] auto_control_xing_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78045.4]
+);
+  wire  fragmenter_clock; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@78050.4]
+  wire  fragmenter_reset; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@78050.4]
+  wire  fragmenter_auto_in_a_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@78050.4]
+  wire  fragmenter_auto_in_a_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@78050.4]
+  wire [2:0] fragmenter_auto_in_a_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@78050.4]
+  wire [2:0] fragmenter_auto_in_a_bits_param; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@78050.4]
+  wire [2:0] fragmenter_auto_in_a_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@78050.4]
+  wire  fragmenter_auto_in_a_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@78050.4]
+  wire [28:0] fragmenter_auto_in_a_bits_address; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@78050.4]
+  wire [3:0] fragmenter_auto_in_a_bits_mask; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@78050.4]
+  wire [31:0] fragmenter_auto_in_a_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@78050.4]
+  wire  fragmenter_auto_in_a_bits_corrupt; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@78050.4]
+  wire  fragmenter_auto_in_d_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@78050.4]
+  wire  fragmenter_auto_in_d_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@78050.4]
+  wire [2:0] fragmenter_auto_in_d_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@78050.4]
+  wire [2:0] fragmenter_auto_in_d_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@78050.4]
+  wire  fragmenter_auto_in_d_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@78050.4]
+  wire [31:0] fragmenter_auto_in_d_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@78050.4]
+  wire  fragmenter_auto_out_a_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@78050.4]
+  wire  fragmenter_auto_out_a_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@78050.4]
+  wire [2:0] fragmenter_auto_out_a_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@78050.4]
+  wire [2:0] fragmenter_auto_out_a_bits_param; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@78050.4]
+  wire [1:0] fragmenter_auto_out_a_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@78050.4]
+  wire [5:0] fragmenter_auto_out_a_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@78050.4]
+  wire [28:0] fragmenter_auto_out_a_bits_address; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@78050.4]
+  wire [3:0] fragmenter_auto_out_a_bits_mask; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@78050.4]
+  wire [31:0] fragmenter_auto_out_a_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@78050.4]
+  wire  fragmenter_auto_out_a_bits_corrupt; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@78050.4]
+  wire  fragmenter_auto_out_d_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@78050.4]
+  wire  fragmenter_auto_out_d_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@78050.4]
+  wire [2:0] fragmenter_auto_out_d_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@78050.4]
+  wire [1:0] fragmenter_auto_out_d_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@78050.4]
+  wire [5:0] fragmenter_auto_out_d_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@78050.4]
+  wire [31:0] fragmenter_auto_out_d_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@78050.4]
+  TLFragmenter_16 fragmenter ( // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@78050.4]
+    .clock(fragmenter_clock),
+    .reset(fragmenter_reset),
+    .auto_in_a_ready(fragmenter_auto_in_a_ready),
+    .auto_in_a_valid(fragmenter_auto_in_a_valid),
+    .auto_in_a_bits_opcode(fragmenter_auto_in_a_bits_opcode),
+    .auto_in_a_bits_param(fragmenter_auto_in_a_bits_param),
+    .auto_in_a_bits_size(fragmenter_auto_in_a_bits_size),
+    .auto_in_a_bits_source(fragmenter_auto_in_a_bits_source),
+    .auto_in_a_bits_address(fragmenter_auto_in_a_bits_address),
+    .auto_in_a_bits_mask(fragmenter_auto_in_a_bits_mask),
+    .auto_in_a_bits_data(fragmenter_auto_in_a_bits_data),
+    .auto_in_a_bits_corrupt(fragmenter_auto_in_a_bits_corrupt),
+    .auto_in_d_ready(fragmenter_auto_in_d_ready),
+    .auto_in_d_valid(fragmenter_auto_in_d_valid),
+    .auto_in_d_bits_opcode(fragmenter_auto_in_d_bits_opcode),
+    .auto_in_d_bits_size(fragmenter_auto_in_d_bits_size),
+    .auto_in_d_bits_source(fragmenter_auto_in_d_bits_source),
+    .auto_in_d_bits_data(fragmenter_auto_in_d_bits_data),
+    .auto_out_a_ready(fragmenter_auto_out_a_ready),
+    .auto_out_a_valid(fragmenter_auto_out_a_valid),
+    .auto_out_a_bits_opcode(fragmenter_auto_out_a_bits_opcode),
+    .auto_out_a_bits_param(fragmenter_auto_out_a_bits_param),
+    .auto_out_a_bits_size(fragmenter_auto_out_a_bits_size),
+    .auto_out_a_bits_source(fragmenter_auto_out_a_bits_source),
+    .auto_out_a_bits_address(fragmenter_auto_out_a_bits_address),
+    .auto_out_a_bits_mask(fragmenter_auto_out_a_bits_mask),
+    .auto_out_a_bits_data(fragmenter_auto_out_a_bits_data),
+    .auto_out_a_bits_corrupt(fragmenter_auto_out_a_bits_corrupt),
+    .auto_out_d_ready(fragmenter_auto_out_d_ready),
+    .auto_out_d_valid(fragmenter_auto_out_d_valid),
+    .auto_out_d_bits_opcode(fragmenter_auto_out_d_bits_opcode),
+    .auto_out_d_bits_size(fragmenter_auto_out_d_bits_size),
+    .auto_out_d_bits_source(fragmenter_auto_out_d_bits_source),
+    .auto_out_d_bits_data(fragmenter_auto_out_d_bits_data)
+  );
+  assign auto_fragmenter_in_a_ready = fragmenter_auto_in_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78063.4]
+  assign auto_fragmenter_in_d_valid = fragmenter_auto_in_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78063.4]
+  assign auto_fragmenter_in_d_bits_opcode = fragmenter_auto_in_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78063.4]
+  assign auto_fragmenter_in_d_bits_size = fragmenter_auto_in_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78063.4]
+  assign auto_fragmenter_in_d_bits_source = fragmenter_auto_in_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78063.4]
+  assign auto_fragmenter_in_d_bits_data = fragmenter_auto_in_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78063.4]
+  assign auto_control_xing_out_a_valid = fragmenter_auto_out_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78062.4]
+  assign auto_control_xing_out_a_bits_opcode = fragmenter_auto_out_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78062.4]
+  assign auto_control_xing_out_a_bits_param = fragmenter_auto_out_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78062.4]
+  assign auto_control_xing_out_a_bits_size = fragmenter_auto_out_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78062.4]
+  assign auto_control_xing_out_a_bits_source = fragmenter_auto_out_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78062.4]
+  assign auto_control_xing_out_a_bits_address = fragmenter_auto_out_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78062.4]
+  assign auto_control_xing_out_a_bits_mask = fragmenter_auto_out_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78062.4]
+  assign auto_control_xing_out_a_bits_data = fragmenter_auto_out_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78062.4]
+  assign auto_control_xing_out_a_bits_corrupt = fragmenter_auto_out_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78062.4]
+  assign auto_control_xing_out_d_ready = fragmenter_auto_out_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78062.4]
+  assign fragmenter_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78054.4]
+  assign fragmenter_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78055.4]
+  assign fragmenter_auto_in_a_valid = auto_fragmenter_in_a_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78063.4]
+  assign fragmenter_auto_in_a_bits_opcode = auto_fragmenter_in_a_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78063.4]
+  assign fragmenter_auto_in_a_bits_param = auto_fragmenter_in_a_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78063.4]
+  assign fragmenter_auto_in_a_bits_size = auto_fragmenter_in_a_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78063.4]
+  assign fragmenter_auto_in_a_bits_source = auto_fragmenter_in_a_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78063.4]
+  assign fragmenter_auto_in_a_bits_address = auto_fragmenter_in_a_bits_address; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78063.4]
+  assign fragmenter_auto_in_a_bits_mask = auto_fragmenter_in_a_bits_mask; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78063.4]
+  assign fragmenter_auto_in_a_bits_data = auto_fragmenter_in_a_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78063.4]
+  assign fragmenter_auto_in_a_bits_corrupt = auto_fragmenter_in_a_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78063.4]
+  assign fragmenter_auto_in_d_ready = auto_fragmenter_in_d_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78063.4]
+  assign fragmenter_auto_out_a_ready = auto_control_xing_out_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78061.4]
+  assign fragmenter_auto_out_d_valid = auto_control_xing_out_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78061.4]
+  assign fragmenter_auto_out_d_bits_opcode = auto_control_xing_out_d_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78061.4]
+  assign fragmenter_auto_out_d_bits_size = auto_control_xing_out_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78061.4]
+  assign fragmenter_auto_out_d_bits_source = auto_control_xing_out_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78061.4]
+  assign fragmenter_auto_out_d_bits_data = auto_control_xing_out_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78061.4]
+endmodule
+module PeripheryBus_1( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78065.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78066.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78067.4]
+  input         auto_coupler_to_device_named_i2c_1_control_xing_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  output        auto_coupler_to_device_named_i2c_1_control_xing_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  output [2:0]  auto_coupler_to_device_named_i2c_1_control_xing_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  output [2:0]  auto_coupler_to_device_named_i2c_1_control_xing_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  output [1:0]  auto_coupler_to_device_named_i2c_1_control_xing_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  output [5:0]  auto_coupler_to_device_named_i2c_1_control_xing_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  output [28:0] auto_coupler_to_device_named_i2c_1_control_xing_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  output [3:0]  auto_coupler_to_device_named_i2c_1_control_xing_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  output [31:0] auto_coupler_to_device_named_i2c_1_control_xing_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  output        auto_coupler_to_device_named_i2c_1_control_xing_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  output        auto_coupler_to_device_named_i2c_1_control_xing_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  input         auto_coupler_to_device_named_i2c_1_control_xing_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  input  [2:0]  auto_coupler_to_device_named_i2c_1_control_xing_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  input  [1:0]  auto_coupler_to_device_named_i2c_1_control_xing_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  input  [5:0]  auto_coupler_to_device_named_i2c_1_control_xing_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  input  [31:0] auto_coupler_to_device_named_i2c_1_control_xing_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  input         auto_coupler_to_device_named_i2c_0_control_xing_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  output        auto_coupler_to_device_named_i2c_0_control_xing_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  output [2:0]  auto_coupler_to_device_named_i2c_0_control_xing_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  output [2:0]  auto_coupler_to_device_named_i2c_0_control_xing_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  output [1:0]  auto_coupler_to_device_named_i2c_0_control_xing_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  output [5:0]  auto_coupler_to_device_named_i2c_0_control_xing_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  output [28:0] auto_coupler_to_device_named_i2c_0_control_xing_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  output [3:0]  auto_coupler_to_device_named_i2c_0_control_xing_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  output [31:0] auto_coupler_to_device_named_i2c_0_control_xing_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  output        auto_coupler_to_device_named_i2c_0_control_xing_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  output        auto_coupler_to_device_named_i2c_0_control_xing_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  input         auto_coupler_to_device_named_i2c_0_control_xing_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  input  [2:0]  auto_coupler_to_device_named_i2c_0_control_xing_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  input  [1:0]  auto_coupler_to_device_named_i2c_0_control_xing_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  input  [5:0]  auto_coupler_to_device_named_i2c_0_control_xing_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  input  [31:0] auto_coupler_to_device_named_i2c_0_control_xing_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  input         auto_coupler_to_device_named_gpio_0_control_xing_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  output        auto_coupler_to_device_named_gpio_0_control_xing_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  output [2:0]  auto_coupler_to_device_named_gpio_0_control_xing_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  output [2:0]  auto_coupler_to_device_named_gpio_0_control_xing_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  output [1:0]  auto_coupler_to_device_named_gpio_0_control_xing_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  output [5:0]  auto_coupler_to_device_named_gpio_0_control_xing_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  output [28:0] auto_coupler_to_device_named_gpio_0_control_xing_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  output [3:0]  auto_coupler_to_device_named_gpio_0_control_xing_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  output [31:0] auto_coupler_to_device_named_gpio_0_control_xing_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  output        auto_coupler_to_device_named_gpio_0_control_xing_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  output        auto_coupler_to_device_named_gpio_0_control_xing_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  input         auto_coupler_to_device_named_gpio_0_control_xing_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  input  [2:0]  auto_coupler_to_device_named_gpio_0_control_xing_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  input  [1:0]  auto_coupler_to_device_named_gpio_0_control_xing_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  input  [5:0]  auto_coupler_to_device_named_gpio_0_control_xing_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  input  [31:0] auto_coupler_to_device_named_gpio_0_control_xing_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  input         auto_coupler_to_device_named_spi_1_control_xing_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  output        auto_coupler_to_device_named_spi_1_control_xing_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  output [2:0]  auto_coupler_to_device_named_spi_1_control_xing_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  output [2:0]  auto_coupler_to_device_named_spi_1_control_xing_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  output [1:0]  auto_coupler_to_device_named_spi_1_control_xing_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  output [5:0]  auto_coupler_to_device_named_spi_1_control_xing_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  output [28:0] auto_coupler_to_device_named_spi_1_control_xing_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  output [3:0]  auto_coupler_to_device_named_spi_1_control_xing_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  output [31:0] auto_coupler_to_device_named_spi_1_control_xing_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  output        auto_coupler_to_device_named_spi_1_control_xing_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  output        auto_coupler_to_device_named_spi_1_control_xing_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  input         auto_coupler_to_device_named_spi_1_control_xing_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  input  [2:0]  auto_coupler_to_device_named_spi_1_control_xing_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  input  [1:0]  auto_coupler_to_device_named_spi_1_control_xing_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  input  [5:0]  auto_coupler_to_device_named_spi_1_control_xing_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  input  [31:0] auto_coupler_to_device_named_spi_1_control_xing_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  input         auto_coupler_to_device_named_spi_0_control_xing_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  output        auto_coupler_to_device_named_spi_0_control_xing_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  output [2:0]  auto_coupler_to_device_named_spi_0_control_xing_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  output [2:0]  auto_coupler_to_device_named_spi_0_control_xing_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  output [1:0]  auto_coupler_to_device_named_spi_0_control_xing_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  output [5:0]  auto_coupler_to_device_named_spi_0_control_xing_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  output [28:0] auto_coupler_to_device_named_spi_0_control_xing_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  output [3:0]  auto_coupler_to_device_named_spi_0_control_xing_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  output [31:0] auto_coupler_to_device_named_spi_0_control_xing_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  output        auto_coupler_to_device_named_spi_0_control_xing_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  output        auto_coupler_to_device_named_spi_0_control_xing_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  input         auto_coupler_to_device_named_spi_0_control_xing_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  input  [2:0]  auto_coupler_to_device_named_spi_0_control_xing_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  input  [1:0]  auto_coupler_to_device_named_spi_0_control_xing_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  input  [5:0]  auto_coupler_to_device_named_spi_0_control_xing_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  input  [31:0] auto_coupler_to_device_named_spi_0_control_xing_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  input         auto_coupler_to_mem_named_qspi_0_mem_xing_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  output        auto_coupler_to_mem_named_qspi_0_mem_xing_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  output [2:0]  auto_coupler_to_mem_named_qspi_0_mem_xing_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  output [2:0]  auto_coupler_to_mem_named_qspi_0_mem_xing_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  output        auto_coupler_to_mem_named_qspi_0_mem_xing_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  output [7:0]  auto_coupler_to_mem_named_qspi_0_mem_xing_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  output [29:0] auto_coupler_to_mem_named_qspi_0_mem_xing_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  output        auto_coupler_to_mem_named_qspi_0_mem_xing_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  output        auto_coupler_to_mem_named_qspi_0_mem_xing_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  output        auto_coupler_to_mem_named_qspi_0_mem_xing_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  input         auto_coupler_to_mem_named_qspi_0_mem_xing_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  input         auto_coupler_to_mem_named_qspi_0_mem_xing_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  input  [7:0]  auto_coupler_to_mem_named_qspi_0_mem_xing_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  input  [7:0]  auto_coupler_to_mem_named_qspi_0_mem_xing_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  input         auto_coupler_to_device_named_qspi_0_control_xing_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  output        auto_coupler_to_device_named_qspi_0_control_xing_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  output [2:0]  auto_coupler_to_device_named_qspi_0_control_xing_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  output [2:0]  auto_coupler_to_device_named_qspi_0_control_xing_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  output [1:0]  auto_coupler_to_device_named_qspi_0_control_xing_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  output [5:0]  auto_coupler_to_device_named_qspi_0_control_xing_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  output [28:0] auto_coupler_to_device_named_qspi_0_control_xing_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  output [3:0]  auto_coupler_to_device_named_qspi_0_control_xing_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  output [31:0] auto_coupler_to_device_named_qspi_0_control_xing_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  output        auto_coupler_to_device_named_qspi_0_control_xing_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  output        auto_coupler_to_device_named_qspi_0_control_xing_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  input         auto_coupler_to_device_named_qspi_0_control_xing_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  input  [2:0]  auto_coupler_to_device_named_qspi_0_control_xing_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  input  [1:0]  auto_coupler_to_device_named_qspi_0_control_xing_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  input  [5:0]  auto_coupler_to_device_named_qspi_0_control_xing_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  input  [31:0] auto_coupler_to_device_named_qspi_0_control_xing_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  input         auto_coupler_to_slave_named_uart_4_control_xing_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  output        auto_coupler_to_slave_named_uart_4_control_xing_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  output [2:0]  auto_coupler_to_slave_named_uart_4_control_xing_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  output [2:0]  auto_coupler_to_slave_named_uart_4_control_xing_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  output [1:0]  auto_coupler_to_slave_named_uart_4_control_xing_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  output [5:0]  auto_coupler_to_slave_named_uart_4_control_xing_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  output [28:0] auto_coupler_to_slave_named_uart_4_control_xing_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  output [3:0]  auto_coupler_to_slave_named_uart_4_control_xing_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  output [31:0] auto_coupler_to_slave_named_uart_4_control_xing_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  output        auto_coupler_to_slave_named_uart_4_control_xing_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  output        auto_coupler_to_slave_named_uart_4_control_xing_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  input         auto_coupler_to_slave_named_uart_4_control_xing_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  input  [2:0]  auto_coupler_to_slave_named_uart_4_control_xing_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  input  [1:0]  auto_coupler_to_slave_named_uart_4_control_xing_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  input  [5:0]  auto_coupler_to_slave_named_uart_4_control_xing_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  input  [31:0] auto_coupler_to_slave_named_uart_4_control_xing_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  input         auto_coupler_to_slave_named_uart_3_control_xing_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  output        auto_coupler_to_slave_named_uart_3_control_xing_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  output [2:0]  auto_coupler_to_slave_named_uart_3_control_xing_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  output [2:0]  auto_coupler_to_slave_named_uart_3_control_xing_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  output [1:0]  auto_coupler_to_slave_named_uart_3_control_xing_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  output [5:0]  auto_coupler_to_slave_named_uart_3_control_xing_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  output [28:0] auto_coupler_to_slave_named_uart_3_control_xing_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  output [3:0]  auto_coupler_to_slave_named_uart_3_control_xing_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  output [31:0] auto_coupler_to_slave_named_uart_3_control_xing_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  output        auto_coupler_to_slave_named_uart_3_control_xing_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  output        auto_coupler_to_slave_named_uart_3_control_xing_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  input         auto_coupler_to_slave_named_uart_3_control_xing_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  input  [2:0]  auto_coupler_to_slave_named_uart_3_control_xing_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  input  [1:0]  auto_coupler_to_slave_named_uart_3_control_xing_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  input  [5:0]  auto_coupler_to_slave_named_uart_3_control_xing_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  input  [31:0] auto_coupler_to_slave_named_uart_3_control_xing_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  input         auto_coupler_to_slave_named_uart_2_control_xing_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  output        auto_coupler_to_slave_named_uart_2_control_xing_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  output [2:0]  auto_coupler_to_slave_named_uart_2_control_xing_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  output [2:0]  auto_coupler_to_slave_named_uart_2_control_xing_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  output [1:0]  auto_coupler_to_slave_named_uart_2_control_xing_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  output [5:0]  auto_coupler_to_slave_named_uart_2_control_xing_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  output [28:0] auto_coupler_to_slave_named_uart_2_control_xing_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  output [3:0]  auto_coupler_to_slave_named_uart_2_control_xing_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  output [31:0] auto_coupler_to_slave_named_uart_2_control_xing_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  output        auto_coupler_to_slave_named_uart_2_control_xing_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  output        auto_coupler_to_slave_named_uart_2_control_xing_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  input         auto_coupler_to_slave_named_uart_2_control_xing_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  input  [2:0]  auto_coupler_to_slave_named_uart_2_control_xing_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  input  [1:0]  auto_coupler_to_slave_named_uart_2_control_xing_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  input  [5:0]  auto_coupler_to_slave_named_uart_2_control_xing_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  input  [31:0] auto_coupler_to_slave_named_uart_2_control_xing_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  input         auto_coupler_to_slave_named_uart_1_control_xing_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  output        auto_coupler_to_slave_named_uart_1_control_xing_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  output [2:0]  auto_coupler_to_slave_named_uart_1_control_xing_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  output [2:0]  auto_coupler_to_slave_named_uart_1_control_xing_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  output [1:0]  auto_coupler_to_slave_named_uart_1_control_xing_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  output [5:0]  auto_coupler_to_slave_named_uart_1_control_xing_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  output [28:0] auto_coupler_to_slave_named_uart_1_control_xing_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  output [3:0]  auto_coupler_to_slave_named_uart_1_control_xing_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  output [31:0] auto_coupler_to_slave_named_uart_1_control_xing_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  output        auto_coupler_to_slave_named_uart_1_control_xing_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  output        auto_coupler_to_slave_named_uart_1_control_xing_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  input         auto_coupler_to_slave_named_uart_1_control_xing_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  input  [2:0]  auto_coupler_to_slave_named_uart_1_control_xing_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  input  [1:0]  auto_coupler_to_slave_named_uart_1_control_xing_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  input  [5:0]  auto_coupler_to_slave_named_uart_1_control_xing_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  input  [31:0] auto_coupler_to_slave_named_uart_1_control_xing_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  input         auto_coupler_to_slave_named_uart_0_control_xing_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  output        auto_coupler_to_slave_named_uart_0_control_xing_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  output [2:0]  auto_coupler_to_slave_named_uart_0_control_xing_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  output [2:0]  auto_coupler_to_slave_named_uart_0_control_xing_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  output [1:0]  auto_coupler_to_slave_named_uart_0_control_xing_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  output [5:0]  auto_coupler_to_slave_named_uart_0_control_xing_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  output [28:0] auto_coupler_to_slave_named_uart_0_control_xing_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  output [3:0]  auto_coupler_to_slave_named_uart_0_control_xing_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  output [31:0] auto_coupler_to_slave_named_uart_0_control_xing_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  output        auto_coupler_to_slave_named_uart_0_control_xing_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  output        auto_coupler_to_slave_named_uart_0_control_xing_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  input         auto_coupler_to_slave_named_uart_0_control_xing_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  input  [2:0]  auto_coupler_to_slave_named_uart_0_control_xing_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  input  [1:0]  auto_coupler_to_slave_named_uart_0_control_xing_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  input  [5:0]  auto_coupler_to_slave_named_uart_0_control_xing_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  input  [31:0] auto_coupler_to_slave_named_uart_0_control_xing_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  output        auto_from_cbus_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  input         auto_from_cbus_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  input  [2:0]  auto_from_cbus_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  input  [2:0]  auto_from_cbus_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  input  [3:0]  auto_from_cbus_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  input         auto_from_cbus_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  input  [29:0] auto_from_cbus_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  input  [3:0]  auto_from_cbus_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  input  [31:0] auto_from_cbus_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  input         auto_from_cbus_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  input         auto_from_cbus_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  output        auto_from_cbus_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  output [2:0]  auto_from_cbus_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  output [1:0]  auto_from_cbus_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  output [3:0]  auto_from_cbus_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  output        auto_from_cbus_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  output        auto_from_cbus_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  output        auto_from_cbus_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  output [31:0] auto_from_cbus_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+  output        auto_from_cbus_in_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
+);
+  wire  in_xbar_clock; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@78073.4]
+  wire  in_xbar_reset; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@78073.4]
+  wire  in_xbar_auto_in_a_ready; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@78073.4]
+  wire  in_xbar_auto_in_a_valid; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@78073.4]
+  wire [2:0] in_xbar_auto_in_a_bits_opcode; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@78073.4]
+  wire [2:0] in_xbar_auto_in_a_bits_param; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@78073.4]
+  wire [3:0] in_xbar_auto_in_a_bits_size; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@78073.4]
+  wire  in_xbar_auto_in_a_bits_source; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@78073.4]
+  wire [29:0] in_xbar_auto_in_a_bits_address; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@78073.4]
+  wire [3:0] in_xbar_auto_in_a_bits_mask; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@78073.4]
+  wire [31:0] in_xbar_auto_in_a_bits_data; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@78073.4]
+  wire  in_xbar_auto_in_a_bits_corrupt; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@78073.4]
+  wire  in_xbar_auto_in_d_ready; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@78073.4]
+  wire  in_xbar_auto_in_d_valid; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@78073.4]
+  wire [2:0] in_xbar_auto_in_d_bits_opcode; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@78073.4]
+  wire [1:0] in_xbar_auto_in_d_bits_param; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@78073.4]
+  wire [3:0] in_xbar_auto_in_d_bits_size; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@78073.4]
+  wire  in_xbar_auto_in_d_bits_source; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@78073.4]
+  wire  in_xbar_auto_in_d_bits_sink; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@78073.4]
+  wire  in_xbar_auto_in_d_bits_denied; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@78073.4]
+  wire [31:0] in_xbar_auto_in_d_bits_data; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@78073.4]
+  wire  in_xbar_auto_in_d_bits_corrupt; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@78073.4]
+  wire  in_xbar_auto_out_a_ready; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@78073.4]
+  wire  in_xbar_auto_out_a_valid; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@78073.4]
+  wire [2:0] in_xbar_auto_out_a_bits_opcode; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@78073.4]
+  wire [2:0] in_xbar_auto_out_a_bits_param; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@78073.4]
+  wire [3:0] in_xbar_auto_out_a_bits_size; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@78073.4]
+  wire  in_xbar_auto_out_a_bits_source; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@78073.4]
+  wire [29:0] in_xbar_auto_out_a_bits_address; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@78073.4]
+  wire [3:0] in_xbar_auto_out_a_bits_mask; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@78073.4]
+  wire [31:0] in_xbar_auto_out_a_bits_data; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@78073.4]
+  wire  in_xbar_auto_out_a_bits_corrupt; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@78073.4]
+  wire  in_xbar_auto_out_d_ready; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@78073.4]
+  wire  in_xbar_auto_out_d_valid; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@78073.4]
+  wire [2:0] in_xbar_auto_out_d_bits_opcode; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@78073.4]
+  wire [1:0] in_xbar_auto_out_d_bits_param; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@78073.4]
+  wire [3:0] in_xbar_auto_out_d_bits_size; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@78073.4]
+  wire  in_xbar_auto_out_d_bits_source; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@78073.4]
+  wire  in_xbar_auto_out_d_bits_sink; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@78073.4]
+  wire  in_xbar_auto_out_d_bits_denied; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@78073.4]
+  wire [31:0] in_xbar_auto_out_d_bits_data; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@78073.4]
+  wire  in_xbar_auto_out_d_bits_corrupt; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@78073.4]
+  wire  out_xbar_clock; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire  out_xbar_reset; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire  out_xbar_auto_in_a_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire  out_xbar_auto_in_a_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire [2:0] out_xbar_auto_in_a_bits_opcode; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire [2:0] out_xbar_auto_in_a_bits_param; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire [3:0] out_xbar_auto_in_a_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire  out_xbar_auto_in_a_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire [29:0] out_xbar_auto_in_a_bits_address; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire [3:0] out_xbar_auto_in_a_bits_mask; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire [31:0] out_xbar_auto_in_a_bits_data; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire  out_xbar_auto_in_a_bits_corrupt; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire  out_xbar_auto_in_d_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire  out_xbar_auto_in_d_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire [2:0] out_xbar_auto_in_d_bits_opcode; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire [1:0] out_xbar_auto_in_d_bits_param; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire [3:0] out_xbar_auto_in_d_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire  out_xbar_auto_in_d_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire  out_xbar_auto_in_d_bits_sink; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire  out_xbar_auto_in_d_bits_denied; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire [31:0] out_xbar_auto_in_d_bits_data; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire  out_xbar_auto_in_d_bits_corrupt; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire  out_xbar_auto_out_12_a_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire  out_xbar_auto_out_12_a_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire [2:0] out_xbar_auto_out_12_a_bits_opcode; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire [2:0] out_xbar_auto_out_12_a_bits_param; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire [2:0] out_xbar_auto_out_12_a_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire  out_xbar_auto_out_12_a_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire [28:0] out_xbar_auto_out_12_a_bits_address; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire [3:0] out_xbar_auto_out_12_a_bits_mask; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire [31:0] out_xbar_auto_out_12_a_bits_data; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire  out_xbar_auto_out_12_a_bits_corrupt; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire  out_xbar_auto_out_12_d_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire  out_xbar_auto_out_12_d_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire [2:0] out_xbar_auto_out_12_d_bits_opcode; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire [2:0] out_xbar_auto_out_12_d_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire  out_xbar_auto_out_12_d_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire [31:0] out_xbar_auto_out_12_d_bits_data; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire  out_xbar_auto_out_11_a_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire  out_xbar_auto_out_11_a_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire [2:0] out_xbar_auto_out_11_a_bits_opcode; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire [2:0] out_xbar_auto_out_11_a_bits_param; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire [2:0] out_xbar_auto_out_11_a_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire  out_xbar_auto_out_11_a_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire [28:0] out_xbar_auto_out_11_a_bits_address; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire [3:0] out_xbar_auto_out_11_a_bits_mask; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire [31:0] out_xbar_auto_out_11_a_bits_data; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire  out_xbar_auto_out_11_a_bits_corrupt; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire  out_xbar_auto_out_11_d_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire  out_xbar_auto_out_11_d_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire [2:0] out_xbar_auto_out_11_d_bits_opcode; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire [2:0] out_xbar_auto_out_11_d_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire  out_xbar_auto_out_11_d_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire [31:0] out_xbar_auto_out_11_d_bits_data; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire  out_xbar_auto_out_10_a_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire  out_xbar_auto_out_10_a_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire [2:0] out_xbar_auto_out_10_a_bits_opcode; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire [2:0] out_xbar_auto_out_10_a_bits_param; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire [2:0] out_xbar_auto_out_10_a_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire  out_xbar_auto_out_10_a_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire [28:0] out_xbar_auto_out_10_a_bits_address; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire [3:0] out_xbar_auto_out_10_a_bits_mask; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire [31:0] out_xbar_auto_out_10_a_bits_data; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire  out_xbar_auto_out_10_a_bits_corrupt; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire  out_xbar_auto_out_10_d_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire  out_xbar_auto_out_10_d_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire [2:0] out_xbar_auto_out_10_d_bits_opcode; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire [2:0] out_xbar_auto_out_10_d_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire  out_xbar_auto_out_10_d_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire [31:0] out_xbar_auto_out_10_d_bits_data; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire  out_xbar_auto_out_9_a_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire  out_xbar_auto_out_9_a_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire [2:0] out_xbar_auto_out_9_a_bits_opcode; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire [2:0] out_xbar_auto_out_9_a_bits_param; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire [2:0] out_xbar_auto_out_9_a_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire  out_xbar_auto_out_9_a_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire [28:0] out_xbar_auto_out_9_a_bits_address; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire [3:0] out_xbar_auto_out_9_a_bits_mask; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire [31:0] out_xbar_auto_out_9_a_bits_data; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire  out_xbar_auto_out_9_a_bits_corrupt; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire  out_xbar_auto_out_9_d_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire  out_xbar_auto_out_9_d_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire [2:0] out_xbar_auto_out_9_d_bits_opcode; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire [2:0] out_xbar_auto_out_9_d_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire  out_xbar_auto_out_9_d_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire [31:0] out_xbar_auto_out_9_d_bits_data; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire  out_xbar_auto_out_8_a_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire  out_xbar_auto_out_8_a_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire [2:0] out_xbar_auto_out_8_a_bits_opcode; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire [2:0] out_xbar_auto_out_8_a_bits_param; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire [2:0] out_xbar_auto_out_8_a_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire  out_xbar_auto_out_8_a_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire [28:0] out_xbar_auto_out_8_a_bits_address; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire [3:0] out_xbar_auto_out_8_a_bits_mask; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire [31:0] out_xbar_auto_out_8_a_bits_data; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire  out_xbar_auto_out_8_a_bits_corrupt; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire  out_xbar_auto_out_8_d_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire  out_xbar_auto_out_8_d_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire [2:0] out_xbar_auto_out_8_d_bits_opcode; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire [2:0] out_xbar_auto_out_8_d_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire  out_xbar_auto_out_8_d_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire [31:0] out_xbar_auto_out_8_d_bits_data; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire  out_xbar_auto_out_7_a_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire  out_xbar_auto_out_7_a_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire [2:0] out_xbar_auto_out_7_a_bits_opcode; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire [2:0] out_xbar_auto_out_7_a_bits_param; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire [2:0] out_xbar_auto_out_7_a_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire  out_xbar_auto_out_7_a_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire [29:0] out_xbar_auto_out_7_a_bits_address; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire [3:0] out_xbar_auto_out_7_a_bits_mask; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire  out_xbar_auto_out_7_a_bits_corrupt; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire  out_xbar_auto_out_7_d_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire  out_xbar_auto_out_7_d_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire [2:0] out_xbar_auto_out_7_d_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire  out_xbar_auto_out_7_d_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire [31:0] out_xbar_auto_out_7_d_bits_data; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire  out_xbar_auto_out_7_d_bits_corrupt; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire  out_xbar_auto_out_6_a_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire  out_xbar_auto_out_6_a_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire [2:0] out_xbar_auto_out_6_a_bits_opcode; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire [2:0] out_xbar_auto_out_6_a_bits_param; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire [2:0] out_xbar_auto_out_6_a_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire  out_xbar_auto_out_6_a_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire [28:0] out_xbar_auto_out_6_a_bits_address; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire [3:0] out_xbar_auto_out_6_a_bits_mask; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire [31:0] out_xbar_auto_out_6_a_bits_data; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire  out_xbar_auto_out_6_a_bits_corrupt; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire  out_xbar_auto_out_6_d_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire  out_xbar_auto_out_6_d_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire [2:0] out_xbar_auto_out_6_d_bits_opcode; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire [2:0] out_xbar_auto_out_6_d_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire  out_xbar_auto_out_6_d_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire [31:0] out_xbar_auto_out_6_d_bits_data; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire  out_xbar_auto_out_5_a_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire  out_xbar_auto_out_5_a_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire [2:0] out_xbar_auto_out_5_a_bits_opcode; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire [2:0] out_xbar_auto_out_5_a_bits_param; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire [2:0] out_xbar_auto_out_5_a_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire  out_xbar_auto_out_5_a_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire [28:0] out_xbar_auto_out_5_a_bits_address; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire [3:0] out_xbar_auto_out_5_a_bits_mask; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire [31:0] out_xbar_auto_out_5_a_bits_data; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire  out_xbar_auto_out_5_a_bits_corrupt; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire  out_xbar_auto_out_5_d_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire  out_xbar_auto_out_5_d_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire [2:0] out_xbar_auto_out_5_d_bits_opcode; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire [2:0] out_xbar_auto_out_5_d_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire  out_xbar_auto_out_5_d_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire [31:0] out_xbar_auto_out_5_d_bits_data; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire  out_xbar_auto_out_4_a_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire  out_xbar_auto_out_4_a_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire [2:0] out_xbar_auto_out_4_a_bits_opcode; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire [2:0] out_xbar_auto_out_4_a_bits_param; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire [2:0] out_xbar_auto_out_4_a_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire  out_xbar_auto_out_4_a_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire [28:0] out_xbar_auto_out_4_a_bits_address; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire [3:0] out_xbar_auto_out_4_a_bits_mask; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire [31:0] out_xbar_auto_out_4_a_bits_data; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire  out_xbar_auto_out_4_a_bits_corrupt; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire  out_xbar_auto_out_4_d_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire  out_xbar_auto_out_4_d_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire [2:0] out_xbar_auto_out_4_d_bits_opcode; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire [2:0] out_xbar_auto_out_4_d_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire  out_xbar_auto_out_4_d_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire [31:0] out_xbar_auto_out_4_d_bits_data; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire  out_xbar_auto_out_3_a_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire  out_xbar_auto_out_3_a_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire [2:0] out_xbar_auto_out_3_a_bits_opcode; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire [2:0] out_xbar_auto_out_3_a_bits_param; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire [2:0] out_xbar_auto_out_3_a_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire  out_xbar_auto_out_3_a_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire [28:0] out_xbar_auto_out_3_a_bits_address; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire [3:0] out_xbar_auto_out_3_a_bits_mask; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire [31:0] out_xbar_auto_out_3_a_bits_data; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire  out_xbar_auto_out_3_a_bits_corrupt; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire  out_xbar_auto_out_3_d_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire  out_xbar_auto_out_3_d_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire [2:0] out_xbar_auto_out_3_d_bits_opcode; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire [2:0] out_xbar_auto_out_3_d_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire  out_xbar_auto_out_3_d_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire [31:0] out_xbar_auto_out_3_d_bits_data; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire  out_xbar_auto_out_2_a_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire  out_xbar_auto_out_2_a_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire [2:0] out_xbar_auto_out_2_a_bits_opcode; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire [2:0] out_xbar_auto_out_2_a_bits_param; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire [2:0] out_xbar_auto_out_2_a_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire  out_xbar_auto_out_2_a_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire [28:0] out_xbar_auto_out_2_a_bits_address; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire [3:0] out_xbar_auto_out_2_a_bits_mask; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire [31:0] out_xbar_auto_out_2_a_bits_data; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire  out_xbar_auto_out_2_a_bits_corrupt; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire  out_xbar_auto_out_2_d_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire  out_xbar_auto_out_2_d_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire [2:0] out_xbar_auto_out_2_d_bits_opcode; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire [2:0] out_xbar_auto_out_2_d_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire  out_xbar_auto_out_2_d_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire [31:0] out_xbar_auto_out_2_d_bits_data; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire  out_xbar_auto_out_1_a_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire  out_xbar_auto_out_1_a_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire [2:0] out_xbar_auto_out_1_a_bits_opcode; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire [2:0] out_xbar_auto_out_1_a_bits_param; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire [2:0] out_xbar_auto_out_1_a_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire  out_xbar_auto_out_1_a_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire [28:0] out_xbar_auto_out_1_a_bits_address; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire [3:0] out_xbar_auto_out_1_a_bits_mask; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire [31:0] out_xbar_auto_out_1_a_bits_data; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire  out_xbar_auto_out_1_a_bits_corrupt; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire  out_xbar_auto_out_1_d_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire  out_xbar_auto_out_1_d_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire [2:0] out_xbar_auto_out_1_d_bits_opcode; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire [2:0] out_xbar_auto_out_1_d_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire  out_xbar_auto_out_1_d_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire [31:0] out_xbar_auto_out_1_d_bits_data; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire  out_xbar_auto_out_0_a_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire  out_xbar_auto_out_0_a_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire [2:0] out_xbar_auto_out_0_a_bits_opcode; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire [2:0] out_xbar_auto_out_0_a_bits_param; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire [3:0] out_xbar_auto_out_0_a_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire  out_xbar_auto_out_0_a_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire [13:0] out_xbar_auto_out_0_a_bits_address; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire [3:0] out_xbar_auto_out_0_a_bits_mask; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire  out_xbar_auto_out_0_a_bits_corrupt; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire  out_xbar_auto_out_0_d_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire  out_xbar_auto_out_0_d_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire [2:0] out_xbar_auto_out_0_d_bits_opcode; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire [3:0] out_xbar_auto_out_0_d_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire  out_xbar_auto_out_0_d_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire  out_xbar_auto_out_0_d_bits_corrupt; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+  wire  buffer_clock; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78085.4]
+  wire  buffer_reset; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78085.4]
+  wire  buffer_auto_in_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78085.4]
+  wire  buffer_auto_in_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78085.4]
+  wire [2:0] buffer_auto_in_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78085.4]
+  wire [2:0] buffer_auto_in_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78085.4]
+  wire [3:0] buffer_auto_in_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78085.4]
+  wire  buffer_auto_in_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78085.4]
+  wire [29:0] buffer_auto_in_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78085.4]
+  wire [3:0] buffer_auto_in_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78085.4]
+  wire [31:0] buffer_auto_in_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78085.4]
+  wire  buffer_auto_in_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78085.4]
+  wire  buffer_auto_in_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78085.4]
+  wire  buffer_auto_in_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78085.4]
+  wire [2:0] buffer_auto_in_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78085.4]
+  wire [1:0] buffer_auto_in_d_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78085.4]
+  wire [3:0] buffer_auto_in_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78085.4]
+  wire  buffer_auto_in_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78085.4]
+  wire  buffer_auto_in_d_bits_sink; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78085.4]
+  wire  buffer_auto_in_d_bits_denied; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78085.4]
+  wire [31:0] buffer_auto_in_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78085.4]
+  wire  buffer_auto_in_d_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78085.4]
+  wire  buffer_auto_out_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78085.4]
+  wire  buffer_auto_out_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78085.4]
+  wire [2:0] buffer_auto_out_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78085.4]
+  wire [2:0] buffer_auto_out_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78085.4]
+  wire [3:0] buffer_auto_out_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78085.4]
+  wire  buffer_auto_out_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78085.4]
+  wire [29:0] buffer_auto_out_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78085.4]
+  wire [3:0] buffer_auto_out_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78085.4]
+  wire [31:0] buffer_auto_out_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78085.4]
+  wire  buffer_auto_out_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78085.4]
+  wire  buffer_auto_out_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78085.4]
+  wire  buffer_auto_out_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78085.4]
+  wire [2:0] buffer_auto_out_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78085.4]
+  wire [1:0] buffer_auto_out_d_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78085.4]
+  wire [3:0] buffer_auto_out_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78085.4]
+  wire  buffer_auto_out_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78085.4]
+  wire  buffer_auto_out_d_bits_sink; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78085.4]
+  wire  buffer_auto_out_d_bits_denied; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78085.4]
+  wire [31:0] buffer_auto_out_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78085.4]
+  wire  buffer_auto_out_d_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78085.4]
+  wire  atomics_clock; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78091.4]
+  wire  atomics_reset; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78091.4]
+  wire  atomics_auto_in_a_ready; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78091.4]
+  wire  atomics_auto_in_a_valid; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78091.4]
+  wire [2:0] atomics_auto_in_a_bits_opcode; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78091.4]
+  wire [2:0] atomics_auto_in_a_bits_param; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78091.4]
+  wire [3:0] atomics_auto_in_a_bits_size; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78091.4]
+  wire  atomics_auto_in_a_bits_source; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78091.4]
+  wire [29:0] atomics_auto_in_a_bits_address; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78091.4]
+  wire [3:0] atomics_auto_in_a_bits_mask; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78091.4]
+  wire [31:0] atomics_auto_in_a_bits_data; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78091.4]
+  wire  atomics_auto_in_a_bits_corrupt; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78091.4]
+  wire  atomics_auto_in_d_ready; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78091.4]
+  wire  atomics_auto_in_d_valid; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78091.4]
+  wire [2:0] atomics_auto_in_d_bits_opcode; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78091.4]
+  wire [1:0] atomics_auto_in_d_bits_param; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78091.4]
+  wire [3:0] atomics_auto_in_d_bits_size; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78091.4]
+  wire  atomics_auto_in_d_bits_source; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78091.4]
+  wire  atomics_auto_in_d_bits_sink; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78091.4]
+  wire  atomics_auto_in_d_bits_denied; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78091.4]
+  wire [31:0] atomics_auto_in_d_bits_data; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78091.4]
+  wire  atomics_auto_in_d_bits_corrupt; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78091.4]
+  wire  atomics_auto_out_a_ready; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78091.4]
+  wire  atomics_auto_out_a_valid; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78091.4]
+  wire [2:0] atomics_auto_out_a_bits_opcode; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78091.4]
+  wire [2:0] atomics_auto_out_a_bits_param; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78091.4]
+  wire [3:0] atomics_auto_out_a_bits_size; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78091.4]
+  wire  atomics_auto_out_a_bits_source; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78091.4]
+  wire [29:0] atomics_auto_out_a_bits_address; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78091.4]
+  wire [3:0] atomics_auto_out_a_bits_mask; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78091.4]
+  wire [31:0] atomics_auto_out_a_bits_data; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78091.4]
+  wire  atomics_auto_out_a_bits_corrupt; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78091.4]
+  wire  atomics_auto_out_d_ready; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78091.4]
+  wire  atomics_auto_out_d_valid; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78091.4]
+  wire [2:0] atomics_auto_out_d_bits_opcode; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78091.4]
+  wire [1:0] atomics_auto_out_d_bits_param; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78091.4]
+  wire [3:0] atomics_auto_out_d_bits_size; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78091.4]
+  wire  atomics_auto_out_d_bits_source; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78091.4]
+  wire  atomics_auto_out_d_bits_sink; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78091.4]
+  wire  atomics_auto_out_d_bits_denied; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78091.4]
+  wire [31:0] atomics_auto_out_d_bits_data; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78091.4]
+  wire  atomics_auto_out_d_bits_corrupt; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78091.4]
+  wire  wrapped_error_device_clock; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78097.4]
+  wire  wrapped_error_device_reset; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78097.4]
+  wire  wrapped_error_device_auto_error_in_a_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78097.4]
+  wire  wrapped_error_device_auto_error_in_a_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78097.4]
+  wire [2:0] wrapped_error_device_auto_error_in_a_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78097.4]
+  wire [2:0] wrapped_error_device_auto_error_in_a_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78097.4]
+  wire [3:0] wrapped_error_device_auto_error_in_a_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78097.4]
+  wire  wrapped_error_device_auto_error_in_a_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78097.4]
+  wire [13:0] wrapped_error_device_auto_error_in_a_bits_address; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78097.4]
+  wire [3:0] wrapped_error_device_auto_error_in_a_bits_mask; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78097.4]
+  wire  wrapped_error_device_auto_error_in_a_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78097.4]
+  wire  wrapped_error_device_auto_error_in_d_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78097.4]
+  wire  wrapped_error_device_auto_error_in_d_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78097.4]
+  wire [2:0] wrapped_error_device_auto_error_in_d_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78097.4]
+  wire [3:0] wrapped_error_device_auto_error_in_d_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78097.4]
+  wire  wrapped_error_device_auto_error_in_d_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78097.4]
+  wire  wrapped_error_device_auto_error_in_d_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78097.4]
+  wire  buffer_1_clock; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78109.4]
+  wire  buffer_1_reset; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78109.4]
+  wire  buffer_1_auto_in_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78109.4]
+  wire  buffer_1_auto_in_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78109.4]
+  wire [2:0] buffer_1_auto_in_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78109.4]
+  wire [2:0] buffer_1_auto_in_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78109.4]
+  wire [3:0] buffer_1_auto_in_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78109.4]
+  wire  buffer_1_auto_in_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78109.4]
+  wire [29:0] buffer_1_auto_in_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78109.4]
+  wire [3:0] buffer_1_auto_in_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78109.4]
+  wire [31:0] buffer_1_auto_in_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78109.4]
+  wire  buffer_1_auto_in_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78109.4]
+  wire  buffer_1_auto_in_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78109.4]
+  wire  buffer_1_auto_in_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78109.4]
+  wire [2:0] buffer_1_auto_in_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78109.4]
+  wire [1:0] buffer_1_auto_in_d_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78109.4]
+  wire [3:0] buffer_1_auto_in_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78109.4]
+  wire  buffer_1_auto_in_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78109.4]
+  wire  buffer_1_auto_in_d_bits_sink; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78109.4]
+  wire  buffer_1_auto_in_d_bits_denied; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78109.4]
+  wire [31:0] buffer_1_auto_in_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78109.4]
+  wire  buffer_1_auto_in_d_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78109.4]
+  wire  buffer_1_auto_out_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78109.4]
+  wire  buffer_1_auto_out_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78109.4]
+  wire [2:0] buffer_1_auto_out_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78109.4]
+  wire [2:0] buffer_1_auto_out_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78109.4]
+  wire [3:0] buffer_1_auto_out_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78109.4]
+  wire  buffer_1_auto_out_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78109.4]
+  wire [29:0] buffer_1_auto_out_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78109.4]
+  wire [3:0] buffer_1_auto_out_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78109.4]
+  wire [31:0] buffer_1_auto_out_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78109.4]
+  wire  buffer_1_auto_out_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78109.4]
+  wire  buffer_1_auto_out_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78109.4]
+  wire  buffer_1_auto_out_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78109.4]
+  wire [2:0] buffer_1_auto_out_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78109.4]
+  wire [1:0] buffer_1_auto_out_d_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78109.4]
+  wire [3:0] buffer_1_auto_out_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78109.4]
+  wire  buffer_1_auto_out_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78109.4]
+  wire  buffer_1_auto_out_d_bits_sink; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78109.4]
+  wire  buffer_1_auto_out_d_bits_denied; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78109.4]
+  wire [31:0] buffer_1_auto_out_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78109.4]
+  wire  buffer_1_auto_out_d_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78109.4]
+  wire  coupler_to_slave_named_uart_0_clock; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78115.4]
+  wire  coupler_to_slave_named_uart_0_reset; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78115.4]
+  wire  coupler_to_slave_named_uart_0_auto_fragmenter_in_a_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78115.4]
+  wire  coupler_to_slave_named_uart_0_auto_fragmenter_in_a_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78115.4]
+  wire [2:0] coupler_to_slave_named_uart_0_auto_fragmenter_in_a_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78115.4]
+  wire [2:0] coupler_to_slave_named_uart_0_auto_fragmenter_in_a_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78115.4]
+  wire [2:0] coupler_to_slave_named_uart_0_auto_fragmenter_in_a_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78115.4]
+  wire  coupler_to_slave_named_uart_0_auto_fragmenter_in_a_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78115.4]
+  wire [28:0] coupler_to_slave_named_uart_0_auto_fragmenter_in_a_bits_address; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78115.4]
+  wire [3:0] coupler_to_slave_named_uart_0_auto_fragmenter_in_a_bits_mask; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78115.4]
+  wire [31:0] coupler_to_slave_named_uart_0_auto_fragmenter_in_a_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78115.4]
+  wire  coupler_to_slave_named_uart_0_auto_fragmenter_in_a_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78115.4]
+  wire  coupler_to_slave_named_uart_0_auto_fragmenter_in_d_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78115.4]
+  wire  coupler_to_slave_named_uart_0_auto_fragmenter_in_d_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78115.4]
+  wire [2:0] coupler_to_slave_named_uart_0_auto_fragmenter_in_d_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78115.4]
+  wire [2:0] coupler_to_slave_named_uart_0_auto_fragmenter_in_d_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78115.4]
+  wire  coupler_to_slave_named_uart_0_auto_fragmenter_in_d_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78115.4]
+  wire [31:0] coupler_to_slave_named_uart_0_auto_fragmenter_in_d_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78115.4]
+  wire  coupler_to_slave_named_uart_0_auto_control_xing_out_a_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78115.4]
+  wire  coupler_to_slave_named_uart_0_auto_control_xing_out_a_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78115.4]
+  wire [2:0] coupler_to_slave_named_uart_0_auto_control_xing_out_a_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78115.4]
+  wire [2:0] coupler_to_slave_named_uart_0_auto_control_xing_out_a_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78115.4]
+  wire [1:0] coupler_to_slave_named_uart_0_auto_control_xing_out_a_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78115.4]
+  wire [5:0] coupler_to_slave_named_uart_0_auto_control_xing_out_a_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78115.4]
+  wire [28:0] coupler_to_slave_named_uart_0_auto_control_xing_out_a_bits_address; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78115.4]
+  wire [3:0] coupler_to_slave_named_uart_0_auto_control_xing_out_a_bits_mask; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78115.4]
+  wire [31:0] coupler_to_slave_named_uart_0_auto_control_xing_out_a_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78115.4]
+  wire  coupler_to_slave_named_uart_0_auto_control_xing_out_a_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78115.4]
+  wire  coupler_to_slave_named_uart_0_auto_control_xing_out_d_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78115.4]
+  wire  coupler_to_slave_named_uart_0_auto_control_xing_out_d_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78115.4]
+  wire [2:0] coupler_to_slave_named_uart_0_auto_control_xing_out_d_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78115.4]
+  wire [1:0] coupler_to_slave_named_uart_0_auto_control_xing_out_d_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78115.4]
+  wire [5:0] coupler_to_slave_named_uart_0_auto_control_xing_out_d_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78115.4]
+  wire [31:0] coupler_to_slave_named_uart_0_auto_control_xing_out_d_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78115.4]
+  wire  coupler_to_slave_named_uart_1_clock; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78121.4]
+  wire  coupler_to_slave_named_uart_1_reset; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78121.4]
+  wire  coupler_to_slave_named_uart_1_auto_fragmenter_in_a_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78121.4]
+  wire  coupler_to_slave_named_uart_1_auto_fragmenter_in_a_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78121.4]
+  wire [2:0] coupler_to_slave_named_uart_1_auto_fragmenter_in_a_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78121.4]
+  wire [2:0] coupler_to_slave_named_uart_1_auto_fragmenter_in_a_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78121.4]
+  wire [2:0] coupler_to_slave_named_uart_1_auto_fragmenter_in_a_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78121.4]
+  wire  coupler_to_slave_named_uart_1_auto_fragmenter_in_a_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78121.4]
+  wire [28:0] coupler_to_slave_named_uart_1_auto_fragmenter_in_a_bits_address; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78121.4]
+  wire [3:0] coupler_to_slave_named_uart_1_auto_fragmenter_in_a_bits_mask; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78121.4]
+  wire [31:0] coupler_to_slave_named_uart_1_auto_fragmenter_in_a_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78121.4]
+  wire  coupler_to_slave_named_uart_1_auto_fragmenter_in_a_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78121.4]
+  wire  coupler_to_slave_named_uart_1_auto_fragmenter_in_d_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78121.4]
+  wire  coupler_to_slave_named_uart_1_auto_fragmenter_in_d_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78121.4]
+  wire [2:0] coupler_to_slave_named_uart_1_auto_fragmenter_in_d_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78121.4]
+  wire [2:0] coupler_to_slave_named_uart_1_auto_fragmenter_in_d_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78121.4]
+  wire  coupler_to_slave_named_uart_1_auto_fragmenter_in_d_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78121.4]
+  wire [31:0] coupler_to_slave_named_uart_1_auto_fragmenter_in_d_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78121.4]
+  wire  coupler_to_slave_named_uart_1_auto_control_xing_out_a_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78121.4]
+  wire  coupler_to_slave_named_uart_1_auto_control_xing_out_a_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78121.4]
+  wire [2:0] coupler_to_slave_named_uart_1_auto_control_xing_out_a_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78121.4]
+  wire [2:0] coupler_to_slave_named_uart_1_auto_control_xing_out_a_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78121.4]
+  wire [1:0] coupler_to_slave_named_uart_1_auto_control_xing_out_a_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78121.4]
+  wire [5:0] coupler_to_slave_named_uart_1_auto_control_xing_out_a_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78121.4]
+  wire [28:0] coupler_to_slave_named_uart_1_auto_control_xing_out_a_bits_address; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78121.4]
+  wire [3:0] coupler_to_slave_named_uart_1_auto_control_xing_out_a_bits_mask; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78121.4]
+  wire [31:0] coupler_to_slave_named_uart_1_auto_control_xing_out_a_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78121.4]
+  wire  coupler_to_slave_named_uart_1_auto_control_xing_out_a_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78121.4]
+  wire  coupler_to_slave_named_uart_1_auto_control_xing_out_d_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78121.4]
+  wire  coupler_to_slave_named_uart_1_auto_control_xing_out_d_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78121.4]
+  wire [2:0] coupler_to_slave_named_uart_1_auto_control_xing_out_d_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78121.4]
+  wire [1:0] coupler_to_slave_named_uart_1_auto_control_xing_out_d_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78121.4]
+  wire [5:0] coupler_to_slave_named_uart_1_auto_control_xing_out_d_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78121.4]
+  wire [31:0] coupler_to_slave_named_uart_1_auto_control_xing_out_d_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78121.4]
+  wire  coupler_to_slave_named_uart_2_clock; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78127.4]
+  wire  coupler_to_slave_named_uart_2_reset; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78127.4]
+  wire  coupler_to_slave_named_uart_2_auto_fragmenter_in_a_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78127.4]
+  wire  coupler_to_slave_named_uart_2_auto_fragmenter_in_a_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78127.4]
+  wire [2:0] coupler_to_slave_named_uart_2_auto_fragmenter_in_a_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78127.4]
+  wire [2:0] coupler_to_slave_named_uart_2_auto_fragmenter_in_a_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78127.4]
+  wire [2:0] coupler_to_slave_named_uart_2_auto_fragmenter_in_a_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78127.4]
+  wire  coupler_to_slave_named_uart_2_auto_fragmenter_in_a_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78127.4]
+  wire [28:0] coupler_to_slave_named_uart_2_auto_fragmenter_in_a_bits_address; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78127.4]
+  wire [3:0] coupler_to_slave_named_uart_2_auto_fragmenter_in_a_bits_mask; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78127.4]
+  wire [31:0] coupler_to_slave_named_uart_2_auto_fragmenter_in_a_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78127.4]
+  wire  coupler_to_slave_named_uart_2_auto_fragmenter_in_a_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78127.4]
+  wire  coupler_to_slave_named_uart_2_auto_fragmenter_in_d_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78127.4]
+  wire  coupler_to_slave_named_uart_2_auto_fragmenter_in_d_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78127.4]
+  wire [2:0] coupler_to_slave_named_uart_2_auto_fragmenter_in_d_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78127.4]
+  wire [2:0] coupler_to_slave_named_uart_2_auto_fragmenter_in_d_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78127.4]
+  wire  coupler_to_slave_named_uart_2_auto_fragmenter_in_d_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78127.4]
+  wire [31:0] coupler_to_slave_named_uart_2_auto_fragmenter_in_d_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78127.4]
+  wire  coupler_to_slave_named_uart_2_auto_control_xing_out_a_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78127.4]
+  wire  coupler_to_slave_named_uart_2_auto_control_xing_out_a_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78127.4]
+  wire [2:0] coupler_to_slave_named_uart_2_auto_control_xing_out_a_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78127.4]
+  wire [2:0] coupler_to_slave_named_uart_2_auto_control_xing_out_a_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78127.4]
+  wire [1:0] coupler_to_slave_named_uart_2_auto_control_xing_out_a_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78127.4]
+  wire [5:0] coupler_to_slave_named_uart_2_auto_control_xing_out_a_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78127.4]
+  wire [28:0] coupler_to_slave_named_uart_2_auto_control_xing_out_a_bits_address; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78127.4]
+  wire [3:0] coupler_to_slave_named_uart_2_auto_control_xing_out_a_bits_mask; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78127.4]
+  wire [31:0] coupler_to_slave_named_uart_2_auto_control_xing_out_a_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78127.4]
+  wire  coupler_to_slave_named_uart_2_auto_control_xing_out_a_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78127.4]
+  wire  coupler_to_slave_named_uart_2_auto_control_xing_out_d_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78127.4]
+  wire  coupler_to_slave_named_uart_2_auto_control_xing_out_d_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78127.4]
+  wire [2:0] coupler_to_slave_named_uart_2_auto_control_xing_out_d_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78127.4]
+  wire [1:0] coupler_to_slave_named_uart_2_auto_control_xing_out_d_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78127.4]
+  wire [5:0] coupler_to_slave_named_uart_2_auto_control_xing_out_d_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78127.4]
+  wire [31:0] coupler_to_slave_named_uart_2_auto_control_xing_out_d_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78127.4]
+  wire  coupler_to_slave_named_uart_3_clock; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78133.4]
+  wire  coupler_to_slave_named_uart_3_reset; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78133.4]
+  wire  coupler_to_slave_named_uart_3_auto_fragmenter_in_a_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78133.4]
+  wire  coupler_to_slave_named_uart_3_auto_fragmenter_in_a_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78133.4]
+  wire [2:0] coupler_to_slave_named_uart_3_auto_fragmenter_in_a_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78133.4]
+  wire [2:0] coupler_to_slave_named_uart_3_auto_fragmenter_in_a_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78133.4]
+  wire [2:0] coupler_to_slave_named_uart_3_auto_fragmenter_in_a_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78133.4]
+  wire  coupler_to_slave_named_uart_3_auto_fragmenter_in_a_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78133.4]
+  wire [28:0] coupler_to_slave_named_uart_3_auto_fragmenter_in_a_bits_address; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78133.4]
+  wire [3:0] coupler_to_slave_named_uart_3_auto_fragmenter_in_a_bits_mask; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78133.4]
+  wire [31:0] coupler_to_slave_named_uart_3_auto_fragmenter_in_a_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78133.4]
+  wire  coupler_to_slave_named_uart_3_auto_fragmenter_in_a_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78133.4]
+  wire  coupler_to_slave_named_uart_3_auto_fragmenter_in_d_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78133.4]
+  wire  coupler_to_slave_named_uart_3_auto_fragmenter_in_d_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78133.4]
+  wire [2:0] coupler_to_slave_named_uart_3_auto_fragmenter_in_d_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78133.4]
+  wire [2:0] coupler_to_slave_named_uart_3_auto_fragmenter_in_d_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78133.4]
+  wire  coupler_to_slave_named_uart_3_auto_fragmenter_in_d_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78133.4]
+  wire [31:0] coupler_to_slave_named_uart_3_auto_fragmenter_in_d_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78133.4]
+  wire  coupler_to_slave_named_uart_3_auto_control_xing_out_a_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78133.4]
+  wire  coupler_to_slave_named_uart_3_auto_control_xing_out_a_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78133.4]
+  wire [2:0] coupler_to_slave_named_uart_3_auto_control_xing_out_a_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78133.4]
+  wire [2:0] coupler_to_slave_named_uart_3_auto_control_xing_out_a_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78133.4]
+  wire [1:0] coupler_to_slave_named_uart_3_auto_control_xing_out_a_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78133.4]
+  wire [5:0] coupler_to_slave_named_uart_3_auto_control_xing_out_a_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78133.4]
+  wire [28:0] coupler_to_slave_named_uart_3_auto_control_xing_out_a_bits_address; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78133.4]
+  wire [3:0] coupler_to_slave_named_uart_3_auto_control_xing_out_a_bits_mask; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78133.4]
+  wire [31:0] coupler_to_slave_named_uart_3_auto_control_xing_out_a_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78133.4]
+  wire  coupler_to_slave_named_uart_3_auto_control_xing_out_a_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78133.4]
+  wire  coupler_to_slave_named_uart_3_auto_control_xing_out_d_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78133.4]
+  wire  coupler_to_slave_named_uart_3_auto_control_xing_out_d_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78133.4]
+  wire [2:0] coupler_to_slave_named_uart_3_auto_control_xing_out_d_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78133.4]
+  wire [1:0] coupler_to_slave_named_uart_3_auto_control_xing_out_d_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78133.4]
+  wire [5:0] coupler_to_slave_named_uart_3_auto_control_xing_out_d_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78133.4]
+  wire [31:0] coupler_to_slave_named_uart_3_auto_control_xing_out_d_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78133.4]
+  wire  coupler_to_slave_named_uart_4_clock; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78139.4]
+  wire  coupler_to_slave_named_uart_4_reset; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78139.4]
+  wire  coupler_to_slave_named_uart_4_auto_fragmenter_in_a_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78139.4]
+  wire  coupler_to_slave_named_uart_4_auto_fragmenter_in_a_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78139.4]
+  wire [2:0] coupler_to_slave_named_uart_4_auto_fragmenter_in_a_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78139.4]
+  wire [2:0] coupler_to_slave_named_uart_4_auto_fragmenter_in_a_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78139.4]
+  wire [2:0] coupler_to_slave_named_uart_4_auto_fragmenter_in_a_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78139.4]
+  wire  coupler_to_slave_named_uart_4_auto_fragmenter_in_a_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78139.4]
+  wire [28:0] coupler_to_slave_named_uart_4_auto_fragmenter_in_a_bits_address; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78139.4]
+  wire [3:0] coupler_to_slave_named_uart_4_auto_fragmenter_in_a_bits_mask; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78139.4]
+  wire [31:0] coupler_to_slave_named_uart_4_auto_fragmenter_in_a_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78139.4]
+  wire  coupler_to_slave_named_uart_4_auto_fragmenter_in_a_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78139.4]
+  wire  coupler_to_slave_named_uart_4_auto_fragmenter_in_d_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78139.4]
+  wire  coupler_to_slave_named_uart_4_auto_fragmenter_in_d_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78139.4]
+  wire [2:0] coupler_to_slave_named_uart_4_auto_fragmenter_in_d_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78139.4]
+  wire [2:0] coupler_to_slave_named_uart_4_auto_fragmenter_in_d_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78139.4]
+  wire  coupler_to_slave_named_uart_4_auto_fragmenter_in_d_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78139.4]
+  wire [31:0] coupler_to_slave_named_uart_4_auto_fragmenter_in_d_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78139.4]
+  wire  coupler_to_slave_named_uart_4_auto_control_xing_out_a_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78139.4]
+  wire  coupler_to_slave_named_uart_4_auto_control_xing_out_a_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78139.4]
+  wire [2:0] coupler_to_slave_named_uart_4_auto_control_xing_out_a_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78139.4]
+  wire [2:0] coupler_to_slave_named_uart_4_auto_control_xing_out_a_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78139.4]
+  wire [1:0] coupler_to_slave_named_uart_4_auto_control_xing_out_a_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78139.4]
+  wire [5:0] coupler_to_slave_named_uart_4_auto_control_xing_out_a_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78139.4]
+  wire [28:0] coupler_to_slave_named_uart_4_auto_control_xing_out_a_bits_address; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78139.4]
+  wire [3:0] coupler_to_slave_named_uart_4_auto_control_xing_out_a_bits_mask; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78139.4]
+  wire [31:0] coupler_to_slave_named_uart_4_auto_control_xing_out_a_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78139.4]
+  wire  coupler_to_slave_named_uart_4_auto_control_xing_out_a_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78139.4]
+  wire  coupler_to_slave_named_uart_4_auto_control_xing_out_d_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78139.4]
+  wire  coupler_to_slave_named_uart_4_auto_control_xing_out_d_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78139.4]
+  wire [2:0] coupler_to_slave_named_uart_4_auto_control_xing_out_d_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78139.4]
+  wire [1:0] coupler_to_slave_named_uart_4_auto_control_xing_out_d_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78139.4]
+  wire [5:0] coupler_to_slave_named_uart_4_auto_control_xing_out_d_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78139.4]
+  wire [31:0] coupler_to_slave_named_uart_4_auto_control_xing_out_d_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78139.4]
+  wire  coupler_to_device_named_qspi_0_clock; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78145.4]
+  wire  coupler_to_device_named_qspi_0_reset; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78145.4]
+  wire  coupler_to_device_named_qspi_0_auto_fragmenter_in_a_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78145.4]
+  wire  coupler_to_device_named_qspi_0_auto_fragmenter_in_a_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78145.4]
+  wire [2:0] coupler_to_device_named_qspi_0_auto_fragmenter_in_a_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78145.4]
+  wire [2:0] coupler_to_device_named_qspi_0_auto_fragmenter_in_a_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78145.4]
+  wire [2:0] coupler_to_device_named_qspi_0_auto_fragmenter_in_a_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78145.4]
+  wire  coupler_to_device_named_qspi_0_auto_fragmenter_in_a_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78145.4]
+  wire [28:0] coupler_to_device_named_qspi_0_auto_fragmenter_in_a_bits_address; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78145.4]
+  wire [3:0] coupler_to_device_named_qspi_0_auto_fragmenter_in_a_bits_mask; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78145.4]
+  wire [31:0] coupler_to_device_named_qspi_0_auto_fragmenter_in_a_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78145.4]
+  wire  coupler_to_device_named_qspi_0_auto_fragmenter_in_a_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78145.4]
+  wire  coupler_to_device_named_qspi_0_auto_fragmenter_in_d_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78145.4]
+  wire  coupler_to_device_named_qspi_0_auto_fragmenter_in_d_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78145.4]
+  wire [2:0] coupler_to_device_named_qspi_0_auto_fragmenter_in_d_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78145.4]
+  wire [2:0] coupler_to_device_named_qspi_0_auto_fragmenter_in_d_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78145.4]
+  wire  coupler_to_device_named_qspi_0_auto_fragmenter_in_d_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78145.4]
+  wire [31:0] coupler_to_device_named_qspi_0_auto_fragmenter_in_d_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78145.4]
+  wire  coupler_to_device_named_qspi_0_auto_control_xing_out_a_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78145.4]
+  wire  coupler_to_device_named_qspi_0_auto_control_xing_out_a_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78145.4]
+  wire [2:0] coupler_to_device_named_qspi_0_auto_control_xing_out_a_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78145.4]
+  wire [2:0] coupler_to_device_named_qspi_0_auto_control_xing_out_a_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78145.4]
+  wire [1:0] coupler_to_device_named_qspi_0_auto_control_xing_out_a_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78145.4]
+  wire [5:0] coupler_to_device_named_qspi_0_auto_control_xing_out_a_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78145.4]
+  wire [28:0] coupler_to_device_named_qspi_0_auto_control_xing_out_a_bits_address; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78145.4]
+  wire [3:0] coupler_to_device_named_qspi_0_auto_control_xing_out_a_bits_mask; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78145.4]
+  wire [31:0] coupler_to_device_named_qspi_0_auto_control_xing_out_a_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78145.4]
+  wire  coupler_to_device_named_qspi_0_auto_control_xing_out_a_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78145.4]
+  wire  coupler_to_device_named_qspi_0_auto_control_xing_out_d_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78145.4]
+  wire  coupler_to_device_named_qspi_0_auto_control_xing_out_d_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78145.4]
+  wire [2:0] coupler_to_device_named_qspi_0_auto_control_xing_out_d_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78145.4]
+  wire [1:0] coupler_to_device_named_qspi_0_auto_control_xing_out_d_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78145.4]
+  wire [5:0] coupler_to_device_named_qspi_0_auto_control_xing_out_d_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78145.4]
+  wire [31:0] coupler_to_device_named_qspi_0_auto_control_xing_out_d_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78145.4]
+  wire  coupler_to_mem_named_qspi_0_clock; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78151.4]
+  wire  coupler_to_mem_named_qspi_0_reset; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78151.4]
+  wire  coupler_to_mem_named_qspi_0_auto_widget_in_a_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78151.4]
+  wire  coupler_to_mem_named_qspi_0_auto_widget_in_a_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78151.4]
+  wire [2:0] coupler_to_mem_named_qspi_0_auto_widget_in_a_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78151.4]
+  wire [2:0] coupler_to_mem_named_qspi_0_auto_widget_in_a_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78151.4]
+  wire [2:0] coupler_to_mem_named_qspi_0_auto_widget_in_a_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78151.4]
+  wire  coupler_to_mem_named_qspi_0_auto_widget_in_a_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78151.4]
+  wire [29:0] coupler_to_mem_named_qspi_0_auto_widget_in_a_bits_address; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78151.4]
+  wire [3:0] coupler_to_mem_named_qspi_0_auto_widget_in_a_bits_mask; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78151.4]
+  wire  coupler_to_mem_named_qspi_0_auto_widget_in_a_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78151.4]
+  wire  coupler_to_mem_named_qspi_0_auto_widget_in_d_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78151.4]
+  wire  coupler_to_mem_named_qspi_0_auto_widget_in_d_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78151.4]
+  wire [2:0] coupler_to_mem_named_qspi_0_auto_widget_in_d_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78151.4]
+  wire  coupler_to_mem_named_qspi_0_auto_widget_in_d_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78151.4]
+  wire [31:0] coupler_to_mem_named_qspi_0_auto_widget_in_d_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78151.4]
+  wire  coupler_to_mem_named_qspi_0_auto_widget_in_d_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78151.4]
+  wire  coupler_to_mem_named_qspi_0_auto_mem_xing_out_a_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78151.4]
+  wire  coupler_to_mem_named_qspi_0_auto_mem_xing_out_a_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78151.4]
+  wire [2:0] coupler_to_mem_named_qspi_0_auto_mem_xing_out_a_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78151.4]
+  wire [2:0] coupler_to_mem_named_qspi_0_auto_mem_xing_out_a_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78151.4]
+  wire  coupler_to_mem_named_qspi_0_auto_mem_xing_out_a_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78151.4]
+  wire [7:0] coupler_to_mem_named_qspi_0_auto_mem_xing_out_a_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78151.4]
+  wire [29:0] coupler_to_mem_named_qspi_0_auto_mem_xing_out_a_bits_address; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78151.4]
+  wire  coupler_to_mem_named_qspi_0_auto_mem_xing_out_a_bits_mask; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78151.4]
+  wire  coupler_to_mem_named_qspi_0_auto_mem_xing_out_a_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78151.4]
+  wire  coupler_to_mem_named_qspi_0_auto_mem_xing_out_d_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78151.4]
+  wire  coupler_to_mem_named_qspi_0_auto_mem_xing_out_d_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78151.4]
+  wire  coupler_to_mem_named_qspi_0_auto_mem_xing_out_d_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78151.4]
+  wire [7:0] coupler_to_mem_named_qspi_0_auto_mem_xing_out_d_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78151.4]
+  wire [7:0] coupler_to_mem_named_qspi_0_auto_mem_xing_out_d_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78151.4]
+  wire  coupler_to_device_named_spi_0_clock; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78157.4]
+  wire  coupler_to_device_named_spi_0_reset; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78157.4]
+  wire  coupler_to_device_named_spi_0_auto_fragmenter_in_a_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78157.4]
+  wire  coupler_to_device_named_spi_0_auto_fragmenter_in_a_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78157.4]
+  wire [2:0] coupler_to_device_named_spi_0_auto_fragmenter_in_a_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78157.4]
+  wire [2:0] coupler_to_device_named_spi_0_auto_fragmenter_in_a_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78157.4]
+  wire [2:0] coupler_to_device_named_spi_0_auto_fragmenter_in_a_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78157.4]
+  wire  coupler_to_device_named_spi_0_auto_fragmenter_in_a_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78157.4]
+  wire [28:0] coupler_to_device_named_spi_0_auto_fragmenter_in_a_bits_address; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78157.4]
+  wire [3:0] coupler_to_device_named_spi_0_auto_fragmenter_in_a_bits_mask; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78157.4]
+  wire [31:0] coupler_to_device_named_spi_0_auto_fragmenter_in_a_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78157.4]
+  wire  coupler_to_device_named_spi_0_auto_fragmenter_in_a_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78157.4]
+  wire  coupler_to_device_named_spi_0_auto_fragmenter_in_d_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78157.4]
+  wire  coupler_to_device_named_spi_0_auto_fragmenter_in_d_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78157.4]
+  wire [2:0] coupler_to_device_named_spi_0_auto_fragmenter_in_d_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78157.4]
+  wire [2:0] coupler_to_device_named_spi_0_auto_fragmenter_in_d_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78157.4]
+  wire  coupler_to_device_named_spi_0_auto_fragmenter_in_d_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78157.4]
+  wire [31:0] coupler_to_device_named_spi_0_auto_fragmenter_in_d_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78157.4]
+  wire  coupler_to_device_named_spi_0_auto_control_xing_out_a_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78157.4]
+  wire  coupler_to_device_named_spi_0_auto_control_xing_out_a_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78157.4]
+  wire [2:0] coupler_to_device_named_spi_0_auto_control_xing_out_a_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78157.4]
+  wire [2:0] coupler_to_device_named_spi_0_auto_control_xing_out_a_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78157.4]
+  wire [1:0] coupler_to_device_named_spi_0_auto_control_xing_out_a_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78157.4]
+  wire [5:0] coupler_to_device_named_spi_0_auto_control_xing_out_a_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78157.4]
+  wire [28:0] coupler_to_device_named_spi_0_auto_control_xing_out_a_bits_address; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78157.4]
+  wire [3:0] coupler_to_device_named_spi_0_auto_control_xing_out_a_bits_mask; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78157.4]
+  wire [31:0] coupler_to_device_named_spi_0_auto_control_xing_out_a_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78157.4]
+  wire  coupler_to_device_named_spi_0_auto_control_xing_out_a_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78157.4]
+  wire  coupler_to_device_named_spi_0_auto_control_xing_out_d_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78157.4]
+  wire  coupler_to_device_named_spi_0_auto_control_xing_out_d_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78157.4]
+  wire [2:0] coupler_to_device_named_spi_0_auto_control_xing_out_d_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78157.4]
+  wire [1:0] coupler_to_device_named_spi_0_auto_control_xing_out_d_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78157.4]
+  wire [5:0] coupler_to_device_named_spi_0_auto_control_xing_out_d_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78157.4]
+  wire [31:0] coupler_to_device_named_spi_0_auto_control_xing_out_d_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78157.4]
+  wire  coupler_to_device_named_spi_1_clock; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78163.4]
+  wire  coupler_to_device_named_spi_1_reset; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78163.4]
+  wire  coupler_to_device_named_spi_1_auto_fragmenter_in_a_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78163.4]
+  wire  coupler_to_device_named_spi_1_auto_fragmenter_in_a_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78163.4]
+  wire [2:0] coupler_to_device_named_spi_1_auto_fragmenter_in_a_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78163.4]
+  wire [2:0] coupler_to_device_named_spi_1_auto_fragmenter_in_a_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78163.4]
+  wire [2:0] coupler_to_device_named_spi_1_auto_fragmenter_in_a_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78163.4]
+  wire  coupler_to_device_named_spi_1_auto_fragmenter_in_a_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78163.4]
+  wire [28:0] coupler_to_device_named_spi_1_auto_fragmenter_in_a_bits_address; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78163.4]
+  wire [3:0] coupler_to_device_named_spi_1_auto_fragmenter_in_a_bits_mask; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78163.4]
+  wire [31:0] coupler_to_device_named_spi_1_auto_fragmenter_in_a_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78163.4]
+  wire  coupler_to_device_named_spi_1_auto_fragmenter_in_a_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78163.4]
+  wire  coupler_to_device_named_spi_1_auto_fragmenter_in_d_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78163.4]
+  wire  coupler_to_device_named_spi_1_auto_fragmenter_in_d_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78163.4]
+  wire [2:0] coupler_to_device_named_spi_1_auto_fragmenter_in_d_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78163.4]
+  wire [2:0] coupler_to_device_named_spi_1_auto_fragmenter_in_d_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78163.4]
+  wire  coupler_to_device_named_spi_1_auto_fragmenter_in_d_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78163.4]
+  wire [31:0] coupler_to_device_named_spi_1_auto_fragmenter_in_d_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78163.4]
+  wire  coupler_to_device_named_spi_1_auto_control_xing_out_a_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78163.4]
+  wire  coupler_to_device_named_spi_1_auto_control_xing_out_a_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78163.4]
+  wire [2:0] coupler_to_device_named_spi_1_auto_control_xing_out_a_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78163.4]
+  wire [2:0] coupler_to_device_named_spi_1_auto_control_xing_out_a_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78163.4]
+  wire [1:0] coupler_to_device_named_spi_1_auto_control_xing_out_a_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78163.4]
+  wire [5:0] coupler_to_device_named_spi_1_auto_control_xing_out_a_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78163.4]
+  wire [28:0] coupler_to_device_named_spi_1_auto_control_xing_out_a_bits_address; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78163.4]
+  wire [3:0] coupler_to_device_named_spi_1_auto_control_xing_out_a_bits_mask; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78163.4]
+  wire [31:0] coupler_to_device_named_spi_1_auto_control_xing_out_a_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78163.4]
+  wire  coupler_to_device_named_spi_1_auto_control_xing_out_a_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78163.4]
+  wire  coupler_to_device_named_spi_1_auto_control_xing_out_d_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78163.4]
+  wire  coupler_to_device_named_spi_1_auto_control_xing_out_d_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78163.4]
+  wire [2:0] coupler_to_device_named_spi_1_auto_control_xing_out_d_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78163.4]
+  wire [1:0] coupler_to_device_named_spi_1_auto_control_xing_out_d_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78163.4]
+  wire [5:0] coupler_to_device_named_spi_1_auto_control_xing_out_d_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78163.4]
+  wire [31:0] coupler_to_device_named_spi_1_auto_control_xing_out_d_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78163.4]
+  wire  coupler_to_device_named_gpio_0_clock; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78169.4]
+  wire  coupler_to_device_named_gpio_0_reset; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78169.4]
+  wire  coupler_to_device_named_gpio_0_auto_fragmenter_in_a_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78169.4]
+  wire  coupler_to_device_named_gpio_0_auto_fragmenter_in_a_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78169.4]
+  wire [2:0] coupler_to_device_named_gpio_0_auto_fragmenter_in_a_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78169.4]
+  wire [2:0] coupler_to_device_named_gpio_0_auto_fragmenter_in_a_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78169.4]
+  wire [2:0] coupler_to_device_named_gpio_0_auto_fragmenter_in_a_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78169.4]
+  wire  coupler_to_device_named_gpio_0_auto_fragmenter_in_a_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78169.4]
+  wire [28:0] coupler_to_device_named_gpio_0_auto_fragmenter_in_a_bits_address; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78169.4]
+  wire [3:0] coupler_to_device_named_gpio_0_auto_fragmenter_in_a_bits_mask; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78169.4]
+  wire [31:0] coupler_to_device_named_gpio_0_auto_fragmenter_in_a_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78169.4]
+  wire  coupler_to_device_named_gpio_0_auto_fragmenter_in_a_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78169.4]
+  wire  coupler_to_device_named_gpio_0_auto_fragmenter_in_d_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78169.4]
+  wire  coupler_to_device_named_gpio_0_auto_fragmenter_in_d_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78169.4]
+  wire [2:0] coupler_to_device_named_gpio_0_auto_fragmenter_in_d_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78169.4]
+  wire [2:0] coupler_to_device_named_gpio_0_auto_fragmenter_in_d_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78169.4]
+  wire  coupler_to_device_named_gpio_0_auto_fragmenter_in_d_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78169.4]
+  wire [31:0] coupler_to_device_named_gpio_0_auto_fragmenter_in_d_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78169.4]
+  wire  coupler_to_device_named_gpio_0_auto_control_xing_out_a_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78169.4]
+  wire  coupler_to_device_named_gpio_0_auto_control_xing_out_a_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78169.4]
+  wire [2:0] coupler_to_device_named_gpio_0_auto_control_xing_out_a_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78169.4]
+  wire [2:0] coupler_to_device_named_gpio_0_auto_control_xing_out_a_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78169.4]
+  wire [1:0] coupler_to_device_named_gpio_0_auto_control_xing_out_a_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78169.4]
+  wire [5:0] coupler_to_device_named_gpio_0_auto_control_xing_out_a_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78169.4]
+  wire [28:0] coupler_to_device_named_gpio_0_auto_control_xing_out_a_bits_address; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78169.4]
+  wire [3:0] coupler_to_device_named_gpio_0_auto_control_xing_out_a_bits_mask; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78169.4]
+  wire [31:0] coupler_to_device_named_gpio_0_auto_control_xing_out_a_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78169.4]
+  wire  coupler_to_device_named_gpio_0_auto_control_xing_out_a_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78169.4]
+  wire  coupler_to_device_named_gpio_0_auto_control_xing_out_d_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78169.4]
+  wire  coupler_to_device_named_gpio_0_auto_control_xing_out_d_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78169.4]
+  wire [2:0] coupler_to_device_named_gpio_0_auto_control_xing_out_d_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78169.4]
+  wire [1:0] coupler_to_device_named_gpio_0_auto_control_xing_out_d_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78169.4]
+  wire [5:0] coupler_to_device_named_gpio_0_auto_control_xing_out_d_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78169.4]
+  wire [31:0] coupler_to_device_named_gpio_0_auto_control_xing_out_d_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78169.4]
+  wire  coupler_to_device_named_i2c_0_clock; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78175.4]
+  wire  coupler_to_device_named_i2c_0_reset; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78175.4]
+  wire  coupler_to_device_named_i2c_0_auto_fragmenter_in_a_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78175.4]
+  wire  coupler_to_device_named_i2c_0_auto_fragmenter_in_a_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78175.4]
+  wire [2:0] coupler_to_device_named_i2c_0_auto_fragmenter_in_a_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78175.4]
+  wire [2:0] coupler_to_device_named_i2c_0_auto_fragmenter_in_a_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78175.4]
+  wire [2:0] coupler_to_device_named_i2c_0_auto_fragmenter_in_a_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78175.4]
+  wire  coupler_to_device_named_i2c_0_auto_fragmenter_in_a_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78175.4]
+  wire [28:0] coupler_to_device_named_i2c_0_auto_fragmenter_in_a_bits_address; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78175.4]
+  wire [3:0] coupler_to_device_named_i2c_0_auto_fragmenter_in_a_bits_mask; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78175.4]
+  wire [31:0] coupler_to_device_named_i2c_0_auto_fragmenter_in_a_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78175.4]
+  wire  coupler_to_device_named_i2c_0_auto_fragmenter_in_a_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78175.4]
+  wire  coupler_to_device_named_i2c_0_auto_fragmenter_in_d_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78175.4]
+  wire  coupler_to_device_named_i2c_0_auto_fragmenter_in_d_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78175.4]
+  wire [2:0] coupler_to_device_named_i2c_0_auto_fragmenter_in_d_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78175.4]
+  wire [2:0] coupler_to_device_named_i2c_0_auto_fragmenter_in_d_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78175.4]
+  wire  coupler_to_device_named_i2c_0_auto_fragmenter_in_d_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78175.4]
+  wire [31:0] coupler_to_device_named_i2c_0_auto_fragmenter_in_d_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78175.4]
+  wire  coupler_to_device_named_i2c_0_auto_control_xing_out_a_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78175.4]
+  wire  coupler_to_device_named_i2c_0_auto_control_xing_out_a_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78175.4]
+  wire [2:0] coupler_to_device_named_i2c_0_auto_control_xing_out_a_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78175.4]
+  wire [2:0] coupler_to_device_named_i2c_0_auto_control_xing_out_a_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78175.4]
+  wire [1:0] coupler_to_device_named_i2c_0_auto_control_xing_out_a_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78175.4]
+  wire [5:0] coupler_to_device_named_i2c_0_auto_control_xing_out_a_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78175.4]
+  wire [28:0] coupler_to_device_named_i2c_0_auto_control_xing_out_a_bits_address; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78175.4]
+  wire [3:0] coupler_to_device_named_i2c_0_auto_control_xing_out_a_bits_mask; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78175.4]
+  wire [31:0] coupler_to_device_named_i2c_0_auto_control_xing_out_a_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78175.4]
+  wire  coupler_to_device_named_i2c_0_auto_control_xing_out_a_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78175.4]
+  wire  coupler_to_device_named_i2c_0_auto_control_xing_out_d_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78175.4]
+  wire  coupler_to_device_named_i2c_0_auto_control_xing_out_d_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78175.4]
+  wire [2:0] coupler_to_device_named_i2c_0_auto_control_xing_out_d_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78175.4]
+  wire [1:0] coupler_to_device_named_i2c_0_auto_control_xing_out_d_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78175.4]
+  wire [5:0] coupler_to_device_named_i2c_0_auto_control_xing_out_d_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78175.4]
+  wire [31:0] coupler_to_device_named_i2c_0_auto_control_xing_out_d_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78175.4]
+  wire  coupler_to_device_named_i2c_1_clock; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78181.4]
+  wire  coupler_to_device_named_i2c_1_reset; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78181.4]
+  wire  coupler_to_device_named_i2c_1_auto_fragmenter_in_a_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78181.4]
+  wire  coupler_to_device_named_i2c_1_auto_fragmenter_in_a_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78181.4]
+  wire [2:0] coupler_to_device_named_i2c_1_auto_fragmenter_in_a_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78181.4]
+  wire [2:0] coupler_to_device_named_i2c_1_auto_fragmenter_in_a_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78181.4]
+  wire [2:0] coupler_to_device_named_i2c_1_auto_fragmenter_in_a_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78181.4]
+  wire  coupler_to_device_named_i2c_1_auto_fragmenter_in_a_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78181.4]
+  wire [28:0] coupler_to_device_named_i2c_1_auto_fragmenter_in_a_bits_address; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78181.4]
+  wire [3:0] coupler_to_device_named_i2c_1_auto_fragmenter_in_a_bits_mask; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78181.4]
+  wire [31:0] coupler_to_device_named_i2c_1_auto_fragmenter_in_a_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78181.4]
+  wire  coupler_to_device_named_i2c_1_auto_fragmenter_in_a_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78181.4]
+  wire  coupler_to_device_named_i2c_1_auto_fragmenter_in_d_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78181.4]
+  wire  coupler_to_device_named_i2c_1_auto_fragmenter_in_d_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78181.4]
+  wire [2:0] coupler_to_device_named_i2c_1_auto_fragmenter_in_d_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78181.4]
+  wire [2:0] coupler_to_device_named_i2c_1_auto_fragmenter_in_d_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78181.4]
+  wire  coupler_to_device_named_i2c_1_auto_fragmenter_in_d_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78181.4]
+  wire [31:0] coupler_to_device_named_i2c_1_auto_fragmenter_in_d_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78181.4]
+  wire  coupler_to_device_named_i2c_1_auto_control_xing_out_a_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78181.4]
+  wire  coupler_to_device_named_i2c_1_auto_control_xing_out_a_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78181.4]
+  wire [2:0] coupler_to_device_named_i2c_1_auto_control_xing_out_a_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78181.4]
+  wire [2:0] coupler_to_device_named_i2c_1_auto_control_xing_out_a_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78181.4]
+  wire [1:0] coupler_to_device_named_i2c_1_auto_control_xing_out_a_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78181.4]
+  wire [5:0] coupler_to_device_named_i2c_1_auto_control_xing_out_a_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78181.4]
+  wire [28:0] coupler_to_device_named_i2c_1_auto_control_xing_out_a_bits_address; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78181.4]
+  wire [3:0] coupler_to_device_named_i2c_1_auto_control_xing_out_a_bits_mask; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78181.4]
+  wire [31:0] coupler_to_device_named_i2c_1_auto_control_xing_out_a_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78181.4]
+  wire  coupler_to_device_named_i2c_1_auto_control_xing_out_a_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78181.4]
+  wire  coupler_to_device_named_i2c_1_auto_control_xing_out_d_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78181.4]
+  wire  coupler_to_device_named_i2c_1_auto_control_xing_out_d_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78181.4]
+  wire [2:0] coupler_to_device_named_i2c_1_auto_control_xing_out_d_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78181.4]
+  wire [1:0] coupler_to_device_named_i2c_1_auto_control_xing_out_d_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78181.4]
+  wire [5:0] coupler_to_device_named_i2c_1_auto_control_xing_out_d_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78181.4]
+  wire [31:0] coupler_to_device_named_i2c_1_auto_control_xing_out_d_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78181.4]
+  TLXbar_3 in_xbar ( // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@78073.4]
+    .clock(in_xbar_clock),
+    .reset(in_xbar_reset),
+    .auto_in_a_ready(in_xbar_auto_in_a_ready),
+    .auto_in_a_valid(in_xbar_auto_in_a_valid),
+    .auto_in_a_bits_opcode(in_xbar_auto_in_a_bits_opcode),
+    .auto_in_a_bits_param(in_xbar_auto_in_a_bits_param),
+    .auto_in_a_bits_size(in_xbar_auto_in_a_bits_size),
+    .auto_in_a_bits_source(in_xbar_auto_in_a_bits_source),
+    .auto_in_a_bits_address(in_xbar_auto_in_a_bits_address),
+    .auto_in_a_bits_mask(in_xbar_auto_in_a_bits_mask),
+    .auto_in_a_bits_data(in_xbar_auto_in_a_bits_data),
+    .auto_in_a_bits_corrupt(in_xbar_auto_in_a_bits_corrupt),
+    .auto_in_d_ready(in_xbar_auto_in_d_ready),
+    .auto_in_d_valid(in_xbar_auto_in_d_valid),
+    .auto_in_d_bits_opcode(in_xbar_auto_in_d_bits_opcode),
+    .auto_in_d_bits_param(in_xbar_auto_in_d_bits_param),
+    .auto_in_d_bits_size(in_xbar_auto_in_d_bits_size),
+    .auto_in_d_bits_source(in_xbar_auto_in_d_bits_source),
+    .auto_in_d_bits_sink(in_xbar_auto_in_d_bits_sink),
+    .auto_in_d_bits_denied(in_xbar_auto_in_d_bits_denied),
+    .auto_in_d_bits_data(in_xbar_auto_in_d_bits_data),
+    .auto_in_d_bits_corrupt(in_xbar_auto_in_d_bits_corrupt),
+    .auto_out_a_ready(in_xbar_auto_out_a_ready),
+    .auto_out_a_valid(in_xbar_auto_out_a_valid),
+    .auto_out_a_bits_opcode(in_xbar_auto_out_a_bits_opcode),
+    .auto_out_a_bits_param(in_xbar_auto_out_a_bits_param),
+    .auto_out_a_bits_size(in_xbar_auto_out_a_bits_size),
+    .auto_out_a_bits_source(in_xbar_auto_out_a_bits_source),
+    .auto_out_a_bits_address(in_xbar_auto_out_a_bits_address),
+    .auto_out_a_bits_mask(in_xbar_auto_out_a_bits_mask),
+    .auto_out_a_bits_data(in_xbar_auto_out_a_bits_data),
+    .auto_out_a_bits_corrupt(in_xbar_auto_out_a_bits_corrupt),
+    .auto_out_d_ready(in_xbar_auto_out_d_ready),
+    .auto_out_d_valid(in_xbar_auto_out_d_valid),
+    .auto_out_d_bits_opcode(in_xbar_auto_out_d_bits_opcode),
+    .auto_out_d_bits_param(in_xbar_auto_out_d_bits_param),
+    .auto_out_d_bits_size(in_xbar_auto_out_d_bits_size),
+    .auto_out_d_bits_source(in_xbar_auto_out_d_bits_source),
+    .auto_out_d_bits_sink(in_xbar_auto_out_d_bits_sink),
+    .auto_out_d_bits_denied(in_xbar_auto_out_d_bits_denied),
+    .auto_out_d_bits_data(in_xbar_auto_out_d_bits_data),
+    .auto_out_d_bits_corrupt(in_xbar_auto_out_d_bits_corrupt)
+  );
+  TLXbar_4 out_xbar ( // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
+    .clock(out_xbar_clock),
+    .reset(out_xbar_reset),
+    .auto_in_a_ready(out_xbar_auto_in_a_ready),
+    .auto_in_a_valid(out_xbar_auto_in_a_valid),
+    .auto_in_a_bits_opcode(out_xbar_auto_in_a_bits_opcode),
+    .auto_in_a_bits_param(out_xbar_auto_in_a_bits_param),
+    .auto_in_a_bits_size(out_xbar_auto_in_a_bits_size),
+    .auto_in_a_bits_source(out_xbar_auto_in_a_bits_source),
+    .auto_in_a_bits_address(out_xbar_auto_in_a_bits_address),
+    .auto_in_a_bits_mask(out_xbar_auto_in_a_bits_mask),
+    .auto_in_a_bits_data(out_xbar_auto_in_a_bits_data),
+    .auto_in_a_bits_corrupt(out_xbar_auto_in_a_bits_corrupt),
+    .auto_in_d_ready(out_xbar_auto_in_d_ready),
+    .auto_in_d_valid(out_xbar_auto_in_d_valid),
+    .auto_in_d_bits_opcode(out_xbar_auto_in_d_bits_opcode),
+    .auto_in_d_bits_param(out_xbar_auto_in_d_bits_param),
+    .auto_in_d_bits_size(out_xbar_auto_in_d_bits_size),
+    .auto_in_d_bits_source(out_xbar_auto_in_d_bits_source),
+    .auto_in_d_bits_sink(out_xbar_auto_in_d_bits_sink),
+    .auto_in_d_bits_denied(out_xbar_auto_in_d_bits_denied),
+    .auto_in_d_bits_data(out_xbar_auto_in_d_bits_data),
+    .auto_in_d_bits_corrupt(out_xbar_auto_in_d_bits_corrupt),
+    .auto_out_12_a_ready(out_xbar_auto_out_12_a_ready),
+    .auto_out_12_a_valid(out_xbar_auto_out_12_a_valid),
+    .auto_out_12_a_bits_opcode(out_xbar_auto_out_12_a_bits_opcode),
+    .auto_out_12_a_bits_param(out_xbar_auto_out_12_a_bits_param),
+    .auto_out_12_a_bits_size(out_xbar_auto_out_12_a_bits_size),
+    .auto_out_12_a_bits_source(out_xbar_auto_out_12_a_bits_source),
+    .auto_out_12_a_bits_address(out_xbar_auto_out_12_a_bits_address),
+    .auto_out_12_a_bits_mask(out_xbar_auto_out_12_a_bits_mask),
+    .auto_out_12_a_bits_data(out_xbar_auto_out_12_a_bits_data),
+    .auto_out_12_a_bits_corrupt(out_xbar_auto_out_12_a_bits_corrupt),
+    .auto_out_12_d_ready(out_xbar_auto_out_12_d_ready),
+    .auto_out_12_d_valid(out_xbar_auto_out_12_d_valid),
+    .auto_out_12_d_bits_opcode(out_xbar_auto_out_12_d_bits_opcode),
+    .auto_out_12_d_bits_size(out_xbar_auto_out_12_d_bits_size),
+    .auto_out_12_d_bits_source(out_xbar_auto_out_12_d_bits_source),
+    .auto_out_12_d_bits_data(out_xbar_auto_out_12_d_bits_data),
+    .auto_out_11_a_ready(out_xbar_auto_out_11_a_ready),
+    .auto_out_11_a_valid(out_xbar_auto_out_11_a_valid),
+    .auto_out_11_a_bits_opcode(out_xbar_auto_out_11_a_bits_opcode),
+    .auto_out_11_a_bits_param(out_xbar_auto_out_11_a_bits_param),
+    .auto_out_11_a_bits_size(out_xbar_auto_out_11_a_bits_size),
+    .auto_out_11_a_bits_source(out_xbar_auto_out_11_a_bits_source),
+    .auto_out_11_a_bits_address(out_xbar_auto_out_11_a_bits_address),
+    .auto_out_11_a_bits_mask(out_xbar_auto_out_11_a_bits_mask),
+    .auto_out_11_a_bits_data(out_xbar_auto_out_11_a_bits_data),
+    .auto_out_11_a_bits_corrupt(out_xbar_auto_out_11_a_bits_corrupt),
+    .auto_out_11_d_ready(out_xbar_auto_out_11_d_ready),
+    .auto_out_11_d_valid(out_xbar_auto_out_11_d_valid),
+    .auto_out_11_d_bits_opcode(out_xbar_auto_out_11_d_bits_opcode),
+    .auto_out_11_d_bits_size(out_xbar_auto_out_11_d_bits_size),
+    .auto_out_11_d_bits_source(out_xbar_auto_out_11_d_bits_source),
+    .auto_out_11_d_bits_data(out_xbar_auto_out_11_d_bits_data),
+    .auto_out_10_a_ready(out_xbar_auto_out_10_a_ready),
+    .auto_out_10_a_valid(out_xbar_auto_out_10_a_valid),
+    .auto_out_10_a_bits_opcode(out_xbar_auto_out_10_a_bits_opcode),
+    .auto_out_10_a_bits_param(out_xbar_auto_out_10_a_bits_param),
+    .auto_out_10_a_bits_size(out_xbar_auto_out_10_a_bits_size),
+    .auto_out_10_a_bits_source(out_xbar_auto_out_10_a_bits_source),
+    .auto_out_10_a_bits_address(out_xbar_auto_out_10_a_bits_address),
+    .auto_out_10_a_bits_mask(out_xbar_auto_out_10_a_bits_mask),
+    .auto_out_10_a_bits_data(out_xbar_auto_out_10_a_bits_data),
+    .auto_out_10_a_bits_corrupt(out_xbar_auto_out_10_a_bits_corrupt),
+    .auto_out_10_d_ready(out_xbar_auto_out_10_d_ready),
+    .auto_out_10_d_valid(out_xbar_auto_out_10_d_valid),
+    .auto_out_10_d_bits_opcode(out_xbar_auto_out_10_d_bits_opcode),
+    .auto_out_10_d_bits_size(out_xbar_auto_out_10_d_bits_size),
+    .auto_out_10_d_bits_source(out_xbar_auto_out_10_d_bits_source),
+    .auto_out_10_d_bits_data(out_xbar_auto_out_10_d_bits_data),
+    .auto_out_9_a_ready(out_xbar_auto_out_9_a_ready),
+    .auto_out_9_a_valid(out_xbar_auto_out_9_a_valid),
+    .auto_out_9_a_bits_opcode(out_xbar_auto_out_9_a_bits_opcode),
+    .auto_out_9_a_bits_param(out_xbar_auto_out_9_a_bits_param),
+    .auto_out_9_a_bits_size(out_xbar_auto_out_9_a_bits_size),
+    .auto_out_9_a_bits_source(out_xbar_auto_out_9_a_bits_source),
+    .auto_out_9_a_bits_address(out_xbar_auto_out_9_a_bits_address),
+    .auto_out_9_a_bits_mask(out_xbar_auto_out_9_a_bits_mask),
+    .auto_out_9_a_bits_data(out_xbar_auto_out_9_a_bits_data),
+    .auto_out_9_a_bits_corrupt(out_xbar_auto_out_9_a_bits_corrupt),
+    .auto_out_9_d_ready(out_xbar_auto_out_9_d_ready),
+    .auto_out_9_d_valid(out_xbar_auto_out_9_d_valid),
+    .auto_out_9_d_bits_opcode(out_xbar_auto_out_9_d_bits_opcode),
+    .auto_out_9_d_bits_size(out_xbar_auto_out_9_d_bits_size),
+    .auto_out_9_d_bits_source(out_xbar_auto_out_9_d_bits_source),
+    .auto_out_9_d_bits_data(out_xbar_auto_out_9_d_bits_data),
+    .auto_out_8_a_ready(out_xbar_auto_out_8_a_ready),
+    .auto_out_8_a_valid(out_xbar_auto_out_8_a_valid),
+    .auto_out_8_a_bits_opcode(out_xbar_auto_out_8_a_bits_opcode),
+    .auto_out_8_a_bits_param(out_xbar_auto_out_8_a_bits_param),
+    .auto_out_8_a_bits_size(out_xbar_auto_out_8_a_bits_size),
+    .auto_out_8_a_bits_source(out_xbar_auto_out_8_a_bits_source),
+    .auto_out_8_a_bits_address(out_xbar_auto_out_8_a_bits_address),
+    .auto_out_8_a_bits_mask(out_xbar_auto_out_8_a_bits_mask),
+    .auto_out_8_a_bits_data(out_xbar_auto_out_8_a_bits_data),
+    .auto_out_8_a_bits_corrupt(out_xbar_auto_out_8_a_bits_corrupt),
+    .auto_out_8_d_ready(out_xbar_auto_out_8_d_ready),
+    .auto_out_8_d_valid(out_xbar_auto_out_8_d_valid),
+    .auto_out_8_d_bits_opcode(out_xbar_auto_out_8_d_bits_opcode),
+    .auto_out_8_d_bits_size(out_xbar_auto_out_8_d_bits_size),
+    .auto_out_8_d_bits_source(out_xbar_auto_out_8_d_bits_source),
+    .auto_out_8_d_bits_data(out_xbar_auto_out_8_d_bits_data),
+    .auto_out_7_a_ready(out_xbar_auto_out_7_a_ready),
+    .auto_out_7_a_valid(out_xbar_auto_out_7_a_valid),
+    .auto_out_7_a_bits_opcode(out_xbar_auto_out_7_a_bits_opcode),
+    .auto_out_7_a_bits_param(out_xbar_auto_out_7_a_bits_param),
+    .auto_out_7_a_bits_size(out_xbar_auto_out_7_a_bits_size),
+    .auto_out_7_a_bits_source(out_xbar_auto_out_7_a_bits_source),
+    .auto_out_7_a_bits_address(out_xbar_auto_out_7_a_bits_address),
+    .auto_out_7_a_bits_mask(out_xbar_auto_out_7_a_bits_mask),
+    .auto_out_7_a_bits_corrupt(out_xbar_auto_out_7_a_bits_corrupt),
+    .auto_out_7_d_ready(out_xbar_auto_out_7_d_ready),
+    .auto_out_7_d_valid(out_xbar_auto_out_7_d_valid),
+    .auto_out_7_d_bits_size(out_xbar_auto_out_7_d_bits_size),
+    .auto_out_7_d_bits_source(out_xbar_auto_out_7_d_bits_source),
+    .auto_out_7_d_bits_data(out_xbar_auto_out_7_d_bits_data),
+    .auto_out_7_d_bits_corrupt(out_xbar_auto_out_7_d_bits_corrupt),
+    .auto_out_6_a_ready(out_xbar_auto_out_6_a_ready),
+    .auto_out_6_a_valid(out_xbar_auto_out_6_a_valid),
+    .auto_out_6_a_bits_opcode(out_xbar_auto_out_6_a_bits_opcode),
+    .auto_out_6_a_bits_param(out_xbar_auto_out_6_a_bits_param),
+    .auto_out_6_a_bits_size(out_xbar_auto_out_6_a_bits_size),
+    .auto_out_6_a_bits_source(out_xbar_auto_out_6_a_bits_source),
+    .auto_out_6_a_bits_address(out_xbar_auto_out_6_a_bits_address),
+    .auto_out_6_a_bits_mask(out_xbar_auto_out_6_a_bits_mask),
+    .auto_out_6_a_bits_data(out_xbar_auto_out_6_a_bits_data),
+    .auto_out_6_a_bits_corrupt(out_xbar_auto_out_6_a_bits_corrupt),
+    .auto_out_6_d_ready(out_xbar_auto_out_6_d_ready),
+    .auto_out_6_d_valid(out_xbar_auto_out_6_d_valid),
+    .auto_out_6_d_bits_opcode(out_xbar_auto_out_6_d_bits_opcode),
+    .auto_out_6_d_bits_size(out_xbar_auto_out_6_d_bits_size),
+    .auto_out_6_d_bits_source(out_xbar_auto_out_6_d_bits_source),
+    .auto_out_6_d_bits_data(out_xbar_auto_out_6_d_bits_data),
+    .auto_out_5_a_ready(out_xbar_auto_out_5_a_ready),
+    .auto_out_5_a_valid(out_xbar_auto_out_5_a_valid),
+    .auto_out_5_a_bits_opcode(out_xbar_auto_out_5_a_bits_opcode),
+    .auto_out_5_a_bits_param(out_xbar_auto_out_5_a_bits_param),
+    .auto_out_5_a_bits_size(out_xbar_auto_out_5_a_bits_size),
+    .auto_out_5_a_bits_source(out_xbar_auto_out_5_a_bits_source),
+    .auto_out_5_a_bits_address(out_xbar_auto_out_5_a_bits_address),
+    .auto_out_5_a_bits_mask(out_xbar_auto_out_5_a_bits_mask),
+    .auto_out_5_a_bits_data(out_xbar_auto_out_5_a_bits_data),
+    .auto_out_5_a_bits_corrupt(out_xbar_auto_out_5_a_bits_corrupt),
+    .auto_out_5_d_ready(out_xbar_auto_out_5_d_ready),
+    .auto_out_5_d_valid(out_xbar_auto_out_5_d_valid),
+    .auto_out_5_d_bits_opcode(out_xbar_auto_out_5_d_bits_opcode),
+    .auto_out_5_d_bits_size(out_xbar_auto_out_5_d_bits_size),
+    .auto_out_5_d_bits_source(out_xbar_auto_out_5_d_bits_source),
+    .auto_out_5_d_bits_data(out_xbar_auto_out_5_d_bits_data),
+    .auto_out_4_a_ready(out_xbar_auto_out_4_a_ready),
+    .auto_out_4_a_valid(out_xbar_auto_out_4_a_valid),
+    .auto_out_4_a_bits_opcode(out_xbar_auto_out_4_a_bits_opcode),
+    .auto_out_4_a_bits_param(out_xbar_auto_out_4_a_bits_param),
+    .auto_out_4_a_bits_size(out_xbar_auto_out_4_a_bits_size),
+    .auto_out_4_a_bits_source(out_xbar_auto_out_4_a_bits_source),
+    .auto_out_4_a_bits_address(out_xbar_auto_out_4_a_bits_address),
+    .auto_out_4_a_bits_mask(out_xbar_auto_out_4_a_bits_mask),
+    .auto_out_4_a_bits_data(out_xbar_auto_out_4_a_bits_data),
+    .auto_out_4_a_bits_corrupt(out_xbar_auto_out_4_a_bits_corrupt),
+    .auto_out_4_d_ready(out_xbar_auto_out_4_d_ready),
+    .auto_out_4_d_valid(out_xbar_auto_out_4_d_valid),
+    .auto_out_4_d_bits_opcode(out_xbar_auto_out_4_d_bits_opcode),
+    .auto_out_4_d_bits_size(out_xbar_auto_out_4_d_bits_size),
+    .auto_out_4_d_bits_source(out_xbar_auto_out_4_d_bits_source),
+    .auto_out_4_d_bits_data(out_xbar_auto_out_4_d_bits_data),
+    .auto_out_3_a_ready(out_xbar_auto_out_3_a_ready),
+    .auto_out_3_a_valid(out_xbar_auto_out_3_a_valid),
+    .auto_out_3_a_bits_opcode(out_xbar_auto_out_3_a_bits_opcode),
+    .auto_out_3_a_bits_param(out_xbar_auto_out_3_a_bits_param),
+    .auto_out_3_a_bits_size(out_xbar_auto_out_3_a_bits_size),
+    .auto_out_3_a_bits_source(out_xbar_auto_out_3_a_bits_source),
+    .auto_out_3_a_bits_address(out_xbar_auto_out_3_a_bits_address),
+    .auto_out_3_a_bits_mask(out_xbar_auto_out_3_a_bits_mask),
+    .auto_out_3_a_bits_data(out_xbar_auto_out_3_a_bits_data),
+    .auto_out_3_a_bits_corrupt(out_xbar_auto_out_3_a_bits_corrupt),
+    .auto_out_3_d_ready(out_xbar_auto_out_3_d_ready),
+    .auto_out_3_d_valid(out_xbar_auto_out_3_d_valid),
+    .auto_out_3_d_bits_opcode(out_xbar_auto_out_3_d_bits_opcode),
+    .auto_out_3_d_bits_size(out_xbar_auto_out_3_d_bits_size),
+    .auto_out_3_d_bits_source(out_xbar_auto_out_3_d_bits_source),
+    .auto_out_3_d_bits_data(out_xbar_auto_out_3_d_bits_data),
+    .auto_out_2_a_ready(out_xbar_auto_out_2_a_ready),
+    .auto_out_2_a_valid(out_xbar_auto_out_2_a_valid),
+    .auto_out_2_a_bits_opcode(out_xbar_auto_out_2_a_bits_opcode),
+    .auto_out_2_a_bits_param(out_xbar_auto_out_2_a_bits_param),
+    .auto_out_2_a_bits_size(out_xbar_auto_out_2_a_bits_size),
+    .auto_out_2_a_bits_source(out_xbar_auto_out_2_a_bits_source),
+    .auto_out_2_a_bits_address(out_xbar_auto_out_2_a_bits_address),
+    .auto_out_2_a_bits_mask(out_xbar_auto_out_2_a_bits_mask),
+    .auto_out_2_a_bits_data(out_xbar_auto_out_2_a_bits_data),
+    .auto_out_2_a_bits_corrupt(out_xbar_auto_out_2_a_bits_corrupt),
+    .auto_out_2_d_ready(out_xbar_auto_out_2_d_ready),
+    .auto_out_2_d_valid(out_xbar_auto_out_2_d_valid),
+    .auto_out_2_d_bits_opcode(out_xbar_auto_out_2_d_bits_opcode),
+    .auto_out_2_d_bits_size(out_xbar_auto_out_2_d_bits_size),
+    .auto_out_2_d_bits_source(out_xbar_auto_out_2_d_bits_source),
+    .auto_out_2_d_bits_data(out_xbar_auto_out_2_d_bits_data),
+    .auto_out_1_a_ready(out_xbar_auto_out_1_a_ready),
+    .auto_out_1_a_valid(out_xbar_auto_out_1_a_valid),
+    .auto_out_1_a_bits_opcode(out_xbar_auto_out_1_a_bits_opcode),
+    .auto_out_1_a_bits_param(out_xbar_auto_out_1_a_bits_param),
+    .auto_out_1_a_bits_size(out_xbar_auto_out_1_a_bits_size),
+    .auto_out_1_a_bits_source(out_xbar_auto_out_1_a_bits_source),
+    .auto_out_1_a_bits_address(out_xbar_auto_out_1_a_bits_address),
+    .auto_out_1_a_bits_mask(out_xbar_auto_out_1_a_bits_mask),
+    .auto_out_1_a_bits_data(out_xbar_auto_out_1_a_bits_data),
+    .auto_out_1_a_bits_corrupt(out_xbar_auto_out_1_a_bits_corrupt),
+    .auto_out_1_d_ready(out_xbar_auto_out_1_d_ready),
+    .auto_out_1_d_valid(out_xbar_auto_out_1_d_valid),
+    .auto_out_1_d_bits_opcode(out_xbar_auto_out_1_d_bits_opcode),
+    .auto_out_1_d_bits_size(out_xbar_auto_out_1_d_bits_size),
+    .auto_out_1_d_bits_source(out_xbar_auto_out_1_d_bits_source),
+    .auto_out_1_d_bits_data(out_xbar_auto_out_1_d_bits_data),
+    .auto_out_0_a_ready(out_xbar_auto_out_0_a_ready),
+    .auto_out_0_a_valid(out_xbar_auto_out_0_a_valid),
+    .auto_out_0_a_bits_opcode(out_xbar_auto_out_0_a_bits_opcode),
+    .auto_out_0_a_bits_param(out_xbar_auto_out_0_a_bits_param),
+    .auto_out_0_a_bits_size(out_xbar_auto_out_0_a_bits_size),
+    .auto_out_0_a_bits_source(out_xbar_auto_out_0_a_bits_source),
+    .auto_out_0_a_bits_address(out_xbar_auto_out_0_a_bits_address),
+    .auto_out_0_a_bits_mask(out_xbar_auto_out_0_a_bits_mask),
+    .auto_out_0_a_bits_corrupt(out_xbar_auto_out_0_a_bits_corrupt),
+    .auto_out_0_d_ready(out_xbar_auto_out_0_d_ready),
+    .auto_out_0_d_valid(out_xbar_auto_out_0_d_valid),
+    .auto_out_0_d_bits_opcode(out_xbar_auto_out_0_d_bits_opcode),
+    .auto_out_0_d_bits_size(out_xbar_auto_out_0_d_bits_size),
+    .auto_out_0_d_bits_source(out_xbar_auto_out_0_d_bits_source),
+    .auto_out_0_d_bits_corrupt(out_xbar_auto_out_0_d_bits_corrupt)
+  );
+  TLBuffer_10 buffer ( // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78085.4]
+    .clock(buffer_clock),
+    .reset(buffer_reset),
+    .auto_in_a_ready(buffer_auto_in_a_ready),
+    .auto_in_a_valid(buffer_auto_in_a_valid),
+    .auto_in_a_bits_opcode(buffer_auto_in_a_bits_opcode),
+    .auto_in_a_bits_param(buffer_auto_in_a_bits_param),
+    .auto_in_a_bits_size(buffer_auto_in_a_bits_size),
+    .auto_in_a_bits_source(buffer_auto_in_a_bits_source),
+    .auto_in_a_bits_address(buffer_auto_in_a_bits_address),
+    .auto_in_a_bits_mask(buffer_auto_in_a_bits_mask),
+    .auto_in_a_bits_data(buffer_auto_in_a_bits_data),
+    .auto_in_a_bits_corrupt(buffer_auto_in_a_bits_corrupt),
+    .auto_in_d_ready(buffer_auto_in_d_ready),
+    .auto_in_d_valid(buffer_auto_in_d_valid),
+    .auto_in_d_bits_opcode(buffer_auto_in_d_bits_opcode),
+    .auto_in_d_bits_param(buffer_auto_in_d_bits_param),
+    .auto_in_d_bits_size(buffer_auto_in_d_bits_size),
+    .auto_in_d_bits_source(buffer_auto_in_d_bits_source),
+    .auto_in_d_bits_sink(buffer_auto_in_d_bits_sink),
+    .auto_in_d_bits_denied(buffer_auto_in_d_bits_denied),
+    .auto_in_d_bits_data(buffer_auto_in_d_bits_data),
+    .auto_in_d_bits_corrupt(buffer_auto_in_d_bits_corrupt),
+    .auto_out_a_ready(buffer_auto_out_a_ready),
+    .auto_out_a_valid(buffer_auto_out_a_valid),
+    .auto_out_a_bits_opcode(buffer_auto_out_a_bits_opcode),
+    .auto_out_a_bits_param(buffer_auto_out_a_bits_param),
+    .auto_out_a_bits_size(buffer_auto_out_a_bits_size),
+    .auto_out_a_bits_source(buffer_auto_out_a_bits_source),
+    .auto_out_a_bits_address(buffer_auto_out_a_bits_address),
+    .auto_out_a_bits_mask(buffer_auto_out_a_bits_mask),
+    .auto_out_a_bits_data(buffer_auto_out_a_bits_data),
+    .auto_out_a_bits_corrupt(buffer_auto_out_a_bits_corrupt),
+    .auto_out_d_ready(buffer_auto_out_d_ready),
+    .auto_out_d_valid(buffer_auto_out_d_valid),
+    .auto_out_d_bits_opcode(buffer_auto_out_d_bits_opcode),
+    .auto_out_d_bits_param(buffer_auto_out_d_bits_param),
+    .auto_out_d_bits_size(buffer_auto_out_d_bits_size),
+    .auto_out_d_bits_source(buffer_auto_out_d_bits_source),
+    .auto_out_d_bits_sink(buffer_auto_out_d_bits_sink),
+    .auto_out_d_bits_denied(buffer_auto_out_d_bits_denied),
+    .auto_out_d_bits_data(buffer_auto_out_d_bits_data),
+    .auto_out_d_bits_corrupt(buffer_auto_out_d_bits_corrupt)
+  );
+  TLAtomicAutomata_1 atomics ( // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78091.4]
+    .clock(atomics_clock),
+    .reset(atomics_reset),
+    .auto_in_a_ready(atomics_auto_in_a_ready),
+    .auto_in_a_valid(atomics_auto_in_a_valid),
+    .auto_in_a_bits_opcode(atomics_auto_in_a_bits_opcode),
+    .auto_in_a_bits_param(atomics_auto_in_a_bits_param),
+    .auto_in_a_bits_size(atomics_auto_in_a_bits_size),
+    .auto_in_a_bits_source(atomics_auto_in_a_bits_source),
+    .auto_in_a_bits_address(atomics_auto_in_a_bits_address),
+    .auto_in_a_bits_mask(atomics_auto_in_a_bits_mask),
+    .auto_in_a_bits_data(atomics_auto_in_a_bits_data),
+    .auto_in_a_bits_corrupt(atomics_auto_in_a_bits_corrupt),
+    .auto_in_d_ready(atomics_auto_in_d_ready),
+    .auto_in_d_valid(atomics_auto_in_d_valid),
+    .auto_in_d_bits_opcode(atomics_auto_in_d_bits_opcode),
+    .auto_in_d_bits_param(atomics_auto_in_d_bits_param),
+    .auto_in_d_bits_size(atomics_auto_in_d_bits_size),
+    .auto_in_d_bits_source(atomics_auto_in_d_bits_source),
+    .auto_in_d_bits_sink(atomics_auto_in_d_bits_sink),
+    .auto_in_d_bits_denied(atomics_auto_in_d_bits_denied),
+    .auto_in_d_bits_data(atomics_auto_in_d_bits_data),
+    .auto_in_d_bits_corrupt(atomics_auto_in_d_bits_corrupt),
+    .auto_out_a_ready(atomics_auto_out_a_ready),
+    .auto_out_a_valid(atomics_auto_out_a_valid),
+    .auto_out_a_bits_opcode(atomics_auto_out_a_bits_opcode),
+    .auto_out_a_bits_param(atomics_auto_out_a_bits_param),
+    .auto_out_a_bits_size(atomics_auto_out_a_bits_size),
+    .auto_out_a_bits_source(atomics_auto_out_a_bits_source),
+    .auto_out_a_bits_address(atomics_auto_out_a_bits_address),
+    .auto_out_a_bits_mask(atomics_auto_out_a_bits_mask),
+    .auto_out_a_bits_data(atomics_auto_out_a_bits_data),
+    .auto_out_a_bits_corrupt(atomics_auto_out_a_bits_corrupt),
+    .auto_out_d_ready(atomics_auto_out_d_ready),
+    .auto_out_d_valid(atomics_auto_out_d_valid),
+    .auto_out_d_bits_opcode(atomics_auto_out_d_bits_opcode),
+    .auto_out_d_bits_param(atomics_auto_out_d_bits_param),
+    .auto_out_d_bits_size(atomics_auto_out_d_bits_size),
+    .auto_out_d_bits_source(atomics_auto_out_d_bits_source),
+    .auto_out_d_bits_sink(atomics_auto_out_d_bits_sink),
+    .auto_out_d_bits_denied(atomics_auto_out_d_bits_denied),
+    .auto_out_d_bits_data(atomics_auto_out_d_bits_data),
+    .auto_out_d_bits_corrupt(atomics_auto_out_d_bits_corrupt)
+  );
+  SimpleLazyModule_11 wrapped_error_device ( // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78097.4]
+    .clock(wrapped_error_device_clock),
+    .reset(wrapped_error_device_reset),
+    .auto_error_in_a_ready(wrapped_error_device_auto_error_in_a_ready),
+    .auto_error_in_a_valid(wrapped_error_device_auto_error_in_a_valid),
+    .auto_error_in_a_bits_opcode(wrapped_error_device_auto_error_in_a_bits_opcode),
+    .auto_error_in_a_bits_param(wrapped_error_device_auto_error_in_a_bits_param),
+    .auto_error_in_a_bits_size(wrapped_error_device_auto_error_in_a_bits_size),
+    .auto_error_in_a_bits_source(wrapped_error_device_auto_error_in_a_bits_source),
+    .auto_error_in_a_bits_address(wrapped_error_device_auto_error_in_a_bits_address),
+    .auto_error_in_a_bits_mask(wrapped_error_device_auto_error_in_a_bits_mask),
+    .auto_error_in_a_bits_corrupt(wrapped_error_device_auto_error_in_a_bits_corrupt),
+    .auto_error_in_d_ready(wrapped_error_device_auto_error_in_d_ready),
+    .auto_error_in_d_valid(wrapped_error_device_auto_error_in_d_valid),
+    .auto_error_in_d_bits_opcode(wrapped_error_device_auto_error_in_d_bits_opcode),
+    .auto_error_in_d_bits_size(wrapped_error_device_auto_error_in_d_bits_size),
+    .auto_error_in_d_bits_source(wrapped_error_device_auto_error_in_d_bits_source),
+    .auto_error_in_d_bits_corrupt(wrapped_error_device_auto_error_in_d_bits_corrupt)
+  );
+  TLBuffer_11 buffer_1 ( // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78109.4]
+    .clock(buffer_1_clock),
+    .reset(buffer_1_reset),
+    .auto_in_a_ready(buffer_1_auto_in_a_ready),
+    .auto_in_a_valid(buffer_1_auto_in_a_valid),
+    .auto_in_a_bits_opcode(buffer_1_auto_in_a_bits_opcode),
+    .auto_in_a_bits_param(buffer_1_auto_in_a_bits_param),
+    .auto_in_a_bits_size(buffer_1_auto_in_a_bits_size),
+    .auto_in_a_bits_source(buffer_1_auto_in_a_bits_source),
+    .auto_in_a_bits_address(buffer_1_auto_in_a_bits_address),
+    .auto_in_a_bits_mask(buffer_1_auto_in_a_bits_mask),
+    .auto_in_a_bits_data(buffer_1_auto_in_a_bits_data),
+    .auto_in_a_bits_corrupt(buffer_1_auto_in_a_bits_corrupt),
+    .auto_in_d_ready(buffer_1_auto_in_d_ready),
+    .auto_in_d_valid(buffer_1_auto_in_d_valid),
+    .auto_in_d_bits_opcode(buffer_1_auto_in_d_bits_opcode),
+    .auto_in_d_bits_param(buffer_1_auto_in_d_bits_param),
+    .auto_in_d_bits_size(buffer_1_auto_in_d_bits_size),
+    .auto_in_d_bits_source(buffer_1_auto_in_d_bits_source),
+    .auto_in_d_bits_sink(buffer_1_auto_in_d_bits_sink),
+    .auto_in_d_bits_denied(buffer_1_auto_in_d_bits_denied),
+    .auto_in_d_bits_data(buffer_1_auto_in_d_bits_data),
+    .auto_in_d_bits_corrupt(buffer_1_auto_in_d_bits_corrupt),
+    .auto_out_a_ready(buffer_1_auto_out_a_ready),
+    .auto_out_a_valid(buffer_1_auto_out_a_valid),
+    .auto_out_a_bits_opcode(buffer_1_auto_out_a_bits_opcode),
+    .auto_out_a_bits_param(buffer_1_auto_out_a_bits_param),
+    .auto_out_a_bits_size(buffer_1_auto_out_a_bits_size),
+    .auto_out_a_bits_source(buffer_1_auto_out_a_bits_source),
+    .auto_out_a_bits_address(buffer_1_auto_out_a_bits_address),
+    .auto_out_a_bits_mask(buffer_1_auto_out_a_bits_mask),
+    .auto_out_a_bits_data(buffer_1_auto_out_a_bits_data),
+    .auto_out_a_bits_corrupt(buffer_1_auto_out_a_bits_corrupt),
+    .auto_out_d_ready(buffer_1_auto_out_d_ready),
+    .auto_out_d_valid(buffer_1_auto_out_d_valid),
+    .auto_out_d_bits_opcode(buffer_1_auto_out_d_bits_opcode),
+    .auto_out_d_bits_param(buffer_1_auto_out_d_bits_param),
+    .auto_out_d_bits_size(buffer_1_auto_out_d_bits_size),
+    .auto_out_d_bits_source(buffer_1_auto_out_d_bits_source),
+    .auto_out_d_bits_sink(buffer_1_auto_out_d_bits_sink),
+    .auto_out_d_bits_denied(buffer_1_auto_out_d_bits_denied),
+    .auto_out_d_bits_data(buffer_1_auto_out_d_bits_data),
+    .auto_out_d_bits_corrupt(buffer_1_auto_out_d_bits_corrupt)
+  );
+  SimpleLazyModule_13 coupler_to_slave_named_uart_0 ( // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78115.4]
+    .clock(coupler_to_slave_named_uart_0_clock),
+    .reset(coupler_to_slave_named_uart_0_reset),
+    .auto_fragmenter_in_a_ready(coupler_to_slave_named_uart_0_auto_fragmenter_in_a_ready),
+    .auto_fragmenter_in_a_valid(coupler_to_slave_named_uart_0_auto_fragmenter_in_a_valid),
+    .auto_fragmenter_in_a_bits_opcode(coupler_to_slave_named_uart_0_auto_fragmenter_in_a_bits_opcode),
+    .auto_fragmenter_in_a_bits_param(coupler_to_slave_named_uart_0_auto_fragmenter_in_a_bits_param),
+    .auto_fragmenter_in_a_bits_size(coupler_to_slave_named_uart_0_auto_fragmenter_in_a_bits_size),
+    .auto_fragmenter_in_a_bits_source(coupler_to_slave_named_uart_0_auto_fragmenter_in_a_bits_source),
+    .auto_fragmenter_in_a_bits_address(coupler_to_slave_named_uart_0_auto_fragmenter_in_a_bits_address),
+    .auto_fragmenter_in_a_bits_mask(coupler_to_slave_named_uart_0_auto_fragmenter_in_a_bits_mask),
+    .auto_fragmenter_in_a_bits_data(coupler_to_slave_named_uart_0_auto_fragmenter_in_a_bits_data),
+    .auto_fragmenter_in_a_bits_corrupt(coupler_to_slave_named_uart_0_auto_fragmenter_in_a_bits_corrupt),
+    .auto_fragmenter_in_d_ready(coupler_to_slave_named_uart_0_auto_fragmenter_in_d_ready),
+    .auto_fragmenter_in_d_valid(coupler_to_slave_named_uart_0_auto_fragmenter_in_d_valid),
+    .auto_fragmenter_in_d_bits_opcode(coupler_to_slave_named_uart_0_auto_fragmenter_in_d_bits_opcode),
+    .auto_fragmenter_in_d_bits_size(coupler_to_slave_named_uart_0_auto_fragmenter_in_d_bits_size),
+    .auto_fragmenter_in_d_bits_source(coupler_to_slave_named_uart_0_auto_fragmenter_in_d_bits_source),
+    .auto_fragmenter_in_d_bits_data(coupler_to_slave_named_uart_0_auto_fragmenter_in_d_bits_data),
+    .auto_control_xing_out_a_ready(coupler_to_slave_named_uart_0_auto_control_xing_out_a_ready),
+    .auto_control_xing_out_a_valid(coupler_to_slave_named_uart_0_auto_control_xing_out_a_valid),
+    .auto_control_xing_out_a_bits_opcode(coupler_to_slave_named_uart_0_auto_control_xing_out_a_bits_opcode),
+    .auto_control_xing_out_a_bits_param(coupler_to_slave_named_uart_0_auto_control_xing_out_a_bits_param),
+    .auto_control_xing_out_a_bits_size(coupler_to_slave_named_uart_0_auto_control_xing_out_a_bits_size),
+    .auto_control_xing_out_a_bits_source(coupler_to_slave_named_uart_0_auto_control_xing_out_a_bits_source),
+    .auto_control_xing_out_a_bits_address(coupler_to_slave_named_uart_0_auto_control_xing_out_a_bits_address),
+    .auto_control_xing_out_a_bits_mask(coupler_to_slave_named_uart_0_auto_control_xing_out_a_bits_mask),
+    .auto_control_xing_out_a_bits_data(coupler_to_slave_named_uart_0_auto_control_xing_out_a_bits_data),
+    .auto_control_xing_out_a_bits_corrupt(coupler_to_slave_named_uart_0_auto_control_xing_out_a_bits_corrupt),
+    .auto_control_xing_out_d_ready(coupler_to_slave_named_uart_0_auto_control_xing_out_d_ready),
+    .auto_control_xing_out_d_valid(coupler_to_slave_named_uart_0_auto_control_xing_out_d_valid),
+    .auto_control_xing_out_d_bits_opcode(coupler_to_slave_named_uart_0_auto_control_xing_out_d_bits_opcode),
+    .auto_control_xing_out_d_bits_size(coupler_to_slave_named_uart_0_auto_control_xing_out_d_bits_size),
+    .auto_control_xing_out_d_bits_source(coupler_to_slave_named_uart_0_auto_control_xing_out_d_bits_source),
+    .auto_control_xing_out_d_bits_data(coupler_to_slave_named_uart_0_auto_control_xing_out_d_bits_data)
+  );
+  SimpleLazyModule_14 coupler_to_slave_named_uart_1 ( // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78121.4]
+    .clock(coupler_to_slave_named_uart_1_clock),
+    .reset(coupler_to_slave_named_uart_1_reset),
+    .auto_fragmenter_in_a_ready(coupler_to_slave_named_uart_1_auto_fragmenter_in_a_ready),
+    .auto_fragmenter_in_a_valid(coupler_to_slave_named_uart_1_auto_fragmenter_in_a_valid),
+    .auto_fragmenter_in_a_bits_opcode(coupler_to_slave_named_uart_1_auto_fragmenter_in_a_bits_opcode),
+    .auto_fragmenter_in_a_bits_param(coupler_to_slave_named_uart_1_auto_fragmenter_in_a_bits_param),
+    .auto_fragmenter_in_a_bits_size(coupler_to_slave_named_uart_1_auto_fragmenter_in_a_bits_size),
+    .auto_fragmenter_in_a_bits_source(coupler_to_slave_named_uart_1_auto_fragmenter_in_a_bits_source),
+    .auto_fragmenter_in_a_bits_address(coupler_to_slave_named_uart_1_auto_fragmenter_in_a_bits_address),
+    .auto_fragmenter_in_a_bits_mask(coupler_to_slave_named_uart_1_auto_fragmenter_in_a_bits_mask),
+    .auto_fragmenter_in_a_bits_data(coupler_to_slave_named_uart_1_auto_fragmenter_in_a_bits_data),
+    .auto_fragmenter_in_a_bits_corrupt(coupler_to_slave_named_uart_1_auto_fragmenter_in_a_bits_corrupt),
+    .auto_fragmenter_in_d_ready(coupler_to_slave_named_uart_1_auto_fragmenter_in_d_ready),
+    .auto_fragmenter_in_d_valid(coupler_to_slave_named_uart_1_auto_fragmenter_in_d_valid),
+    .auto_fragmenter_in_d_bits_opcode(coupler_to_slave_named_uart_1_auto_fragmenter_in_d_bits_opcode),
+    .auto_fragmenter_in_d_bits_size(coupler_to_slave_named_uart_1_auto_fragmenter_in_d_bits_size),
+    .auto_fragmenter_in_d_bits_source(coupler_to_slave_named_uart_1_auto_fragmenter_in_d_bits_source),
+    .auto_fragmenter_in_d_bits_data(coupler_to_slave_named_uart_1_auto_fragmenter_in_d_bits_data),
+    .auto_control_xing_out_a_ready(coupler_to_slave_named_uart_1_auto_control_xing_out_a_ready),
+    .auto_control_xing_out_a_valid(coupler_to_slave_named_uart_1_auto_control_xing_out_a_valid),
+    .auto_control_xing_out_a_bits_opcode(coupler_to_slave_named_uart_1_auto_control_xing_out_a_bits_opcode),
+    .auto_control_xing_out_a_bits_param(coupler_to_slave_named_uart_1_auto_control_xing_out_a_bits_param),
+    .auto_control_xing_out_a_bits_size(coupler_to_slave_named_uart_1_auto_control_xing_out_a_bits_size),
+    .auto_control_xing_out_a_bits_source(coupler_to_slave_named_uart_1_auto_control_xing_out_a_bits_source),
+    .auto_control_xing_out_a_bits_address(coupler_to_slave_named_uart_1_auto_control_xing_out_a_bits_address),
+    .auto_control_xing_out_a_bits_mask(coupler_to_slave_named_uart_1_auto_control_xing_out_a_bits_mask),
+    .auto_control_xing_out_a_bits_data(coupler_to_slave_named_uart_1_auto_control_xing_out_a_bits_data),
+    .auto_control_xing_out_a_bits_corrupt(coupler_to_slave_named_uart_1_auto_control_xing_out_a_bits_corrupt),
+    .auto_control_xing_out_d_ready(coupler_to_slave_named_uart_1_auto_control_xing_out_d_ready),
+    .auto_control_xing_out_d_valid(coupler_to_slave_named_uart_1_auto_control_xing_out_d_valid),
+    .auto_control_xing_out_d_bits_opcode(coupler_to_slave_named_uart_1_auto_control_xing_out_d_bits_opcode),
+    .auto_control_xing_out_d_bits_size(coupler_to_slave_named_uart_1_auto_control_xing_out_d_bits_size),
+    .auto_control_xing_out_d_bits_source(coupler_to_slave_named_uart_1_auto_control_xing_out_d_bits_source),
+    .auto_control_xing_out_d_bits_data(coupler_to_slave_named_uart_1_auto_control_xing_out_d_bits_data)
+  );
+  SimpleLazyModule_15 coupler_to_slave_named_uart_2 ( // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78127.4]
+    .clock(coupler_to_slave_named_uart_2_clock),
+    .reset(coupler_to_slave_named_uart_2_reset),
+    .auto_fragmenter_in_a_ready(coupler_to_slave_named_uart_2_auto_fragmenter_in_a_ready),
+    .auto_fragmenter_in_a_valid(coupler_to_slave_named_uart_2_auto_fragmenter_in_a_valid),
+    .auto_fragmenter_in_a_bits_opcode(coupler_to_slave_named_uart_2_auto_fragmenter_in_a_bits_opcode),
+    .auto_fragmenter_in_a_bits_param(coupler_to_slave_named_uart_2_auto_fragmenter_in_a_bits_param),
+    .auto_fragmenter_in_a_bits_size(coupler_to_slave_named_uart_2_auto_fragmenter_in_a_bits_size),
+    .auto_fragmenter_in_a_bits_source(coupler_to_slave_named_uart_2_auto_fragmenter_in_a_bits_source),
+    .auto_fragmenter_in_a_bits_address(coupler_to_slave_named_uart_2_auto_fragmenter_in_a_bits_address),
+    .auto_fragmenter_in_a_bits_mask(coupler_to_slave_named_uart_2_auto_fragmenter_in_a_bits_mask),
+    .auto_fragmenter_in_a_bits_data(coupler_to_slave_named_uart_2_auto_fragmenter_in_a_bits_data),
+    .auto_fragmenter_in_a_bits_corrupt(coupler_to_slave_named_uart_2_auto_fragmenter_in_a_bits_corrupt),
+    .auto_fragmenter_in_d_ready(coupler_to_slave_named_uart_2_auto_fragmenter_in_d_ready),
+    .auto_fragmenter_in_d_valid(coupler_to_slave_named_uart_2_auto_fragmenter_in_d_valid),
+    .auto_fragmenter_in_d_bits_opcode(coupler_to_slave_named_uart_2_auto_fragmenter_in_d_bits_opcode),
+    .auto_fragmenter_in_d_bits_size(coupler_to_slave_named_uart_2_auto_fragmenter_in_d_bits_size),
+    .auto_fragmenter_in_d_bits_source(coupler_to_slave_named_uart_2_auto_fragmenter_in_d_bits_source),
+    .auto_fragmenter_in_d_bits_data(coupler_to_slave_named_uart_2_auto_fragmenter_in_d_bits_data),
+    .auto_control_xing_out_a_ready(coupler_to_slave_named_uart_2_auto_control_xing_out_a_ready),
+    .auto_control_xing_out_a_valid(coupler_to_slave_named_uart_2_auto_control_xing_out_a_valid),
+    .auto_control_xing_out_a_bits_opcode(coupler_to_slave_named_uart_2_auto_control_xing_out_a_bits_opcode),
+    .auto_control_xing_out_a_bits_param(coupler_to_slave_named_uart_2_auto_control_xing_out_a_bits_param),
+    .auto_control_xing_out_a_bits_size(coupler_to_slave_named_uart_2_auto_control_xing_out_a_bits_size),
+    .auto_control_xing_out_a_bits_source(coupler_to_slave_named_uart_2_auto_control_xing_out_a_bits_source),
+    .auto_control_xing_out_a_bits_address(coupler_to_slave_named_uart_2_auto_control_xing_out_a_bits_address),
+    .auto_control_xing_out_a_bits_mask(coupler_to_slave_named_uart_2_auto_control_xing_out_a_bits_mask),
+    .auto_control_xing_out_a_bits_data(coupler_to_slave_named_uart_2_auto_control_xing_out_a_bits_data),
+    .auto_control_xing_out_a_bits_corrupt(coupler_to_slave_named_uart_2_auto_control_xing_out_a_bits_corrupt),
+    .auto_control_xing_out_d_ready(coupler_to_slave_named_uart_2_auto_control_xing_out_d_ready),
+    .auto_control_xing_out_d_valid(coupler_to_slave_named_uart_2_auto_control_xing_out_d_valid),
+    .auto_control_xing_out_d_bits_opcode(coupler_to_slave_named_uart_2_auto_control_xing_out_d_bits_opcode),
+    .auto_control_xing_out_d_bits_size(coupler_to_slave_named_uart_2_auto_control_xing_out_d_bits_size),
+    .auto_control_xing_out_d_bits_source(coupler_to_slave_named_uart_2_auto_control_xing_out_d_bits_source),
+    .auto_control_xing_out_d_bits_data(coupler_to_slave_named_uart_2_auto_control_xing_out_d_bits_data)
+  );
+  SimpleLazyModule_16 coupler_to_slave_named_uart_3 ( // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78133.4]
+    .clock(coupler_to_slave_named_uart_3_clock),
+    .reset(coupler_to_slave_named_uart_3_reset),
+    .auto_fragmenter_in_a_ready(coupler_to_slave_named_uart_3_auto_fragmenter_in_a_ready),
+    .auto_fragmenter_in_a_valid(coupler_to_slave_named_uart_3_auto_fragmenter_in_a_valid),
+    .auto_fragmenter_in_a_bits_opcode(coupler_to_slave_named_uart_3_auto_fragmenter_in_a_bits_opcode),
+    .auto_fragmenter_in_a_bits_param(coupler_to_slave_named_uart_3_auto_fragmenter_in_a_bits_param),
+    .auto_fragmenter_in_a_bits_size(coupler_to_slave_named_uart_3_auto_fragmenter_in_a_bits_size),
+    .auto_fragmenter_in_a_bits_source(coupler_to_slave_named_uart_3_auto_fragmenter_in_a_bits_source),
+    .auto_fragmenter_in_a_bits_address(coupler_to_slave_named_uart_3_auto_fragmenter_in_a_bits_address),
+    .auto_fragmenter_in_a_bits_mask(coupler_to_slave_named_uart_3_auto_fragmenter_in_a_bits_mask),
+    .auto_fragmenter_in_a_bits_data(coupler_to_slave_named_uart_3_auto_fragmenter_in_a_bits_data),
+    .auto_fragmenter_in_a_bits_corrupt(coupler_to_slave_named_uart_3_auto_fragmenter_in_a_bits_corrupt),
+    .auto_fragmenter_in_d_ready(coupler_to_slave_named_uart_3_auto_fragmenter_in_d_ready),
+    .auto_fragmenter_in_d_valid(coupler_to_slave_named_uart_3_auto_fragmenter_in_d_valid),
+    .auto_fragmenter_in_d_bits_opcode(coupler_to_slave_named_uart_3_auto_fragmenter_in_d_bits_opcode),
+    .auto_fragmenter_in_d_bits_size(coupler_to_slave_named_uart_3_auto_fragmenter_in_d_bits_size),
+    .auto_fragmenter_in_d_bits_source(coupler_to_slave_named_uart_3_auto_fragmenter_in_d_bits_source),
+    .auto_fragmenter_in_d_bits_data(coupler_to_slave_named_uart_3_auto_fragmenter_in_d_bits_data),
+    .auto_control_xing_out_a_ready(coupler_to_slave_named_uart_3_auto_control_xing_out_a_ready),
+    .auto_control_xing_out_a_valid(coupler_to_slave_named_uart_3_auto_control_xing_out_a_valid),
+    .auto_control_xing_out_a_bits_opcode(coupler_to_slave_named_uart_3_auto_control_xing_out_a_bits_opcode),
+    .auto_control_xing_out_a_bits_param(coupler_to_slave_named_uart_3_auto_control_xing_out_a_bits_param),
+    .auto_control_xing_out_a_bits_size(coupler_to_slave_named_uart_3_auto_control_xing_out_a_bits_size),
+    .auto_control_xing_out_a_bits_source(coupler_to_slave_named_uart_3_auto_control_xing_out_a_bits_source),
+    .auto_control_xing_out_a_bits_address(coupler_to_slave_named_uart_3_auto_control_xing_out_a_bits_address),
+    .auto_control_xing_out_a_bits_mask(coupler_to_slave_named_uart_3_auto_control_xing_out_a_bits_mask),
+    .auto_control_xing_out_a_bits_data(coupler_to_slave_named_uart_3_auto_control_xing_out_a_bits_data),
+    .auto_control_xing_out_a_bits_corrupt(coupler_to_slave_named_uart_3_auto_control_xing_out_a_bits_corrupt),
+    .auto_control_xing_out_d_ready(coupler_to_slave_named_uart_3_auto_control_xing_out_d_ready),
+    .auto_control_xing_out_d_valid(coupler_to_slave_named_uart_3_auto_control_xing_out_d_valid),
+    .auto_control_xing_out_d_bits_opcode(coupler_to_slave_named_uart_3_auto_control_xing_out_d_bits_opcode),
+    .auto_control_xing_out_d_bits_size(coupler_to_slave_named_uart_3_auto_control_xing_out_d_bits_size),
+    .auto_control_xing_out_d_bits_source(coupler_to_slave_named_uart_3_auto_control_xing_out_d_bits_source),
+    .auto_control_xing_out_d_bits_data(coupler_to_slave_named_uart_3_auto_control_xing_out_d_bits_data)
+  );
+  SimpleLazyModule_17 coupler_to_slave_named_uart_4 ( // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78139.4]
+    .clock(coupler_to_slave_named_uart_4_clock),
+    .reset(coupler_to_slave_named_uart_4_reset),
+    .auto_fragmenter_in_a_ready(coupler_to_slave_named_uart_4_auto_fragmenter_in_a_ready),
+    .auto_fragmenter_in_a_valid(coupler_to_slave_named_uart_4_auto_fragmenter_in_a_valid),
+    .auto_fragmenter_in_a_bits_opcode(coupler_to_slave_named_uart_4_auto_fragmenter_in_a_bits_opcode),
+    .auto_fragmenter_in_a_bits_param(coupler_to_slave_named_uart_4_auto_fragmenter_in_a_bits_param),
+    .auto_fragmenter_in_a_bits_size(coupler_to_slave_named_uart_4_auto_fragmenter_in_a_bits_size),
+    .auto_fragmenter_in_a_bits_source(coupler_to_slave_named_uart_4_auto_fragmenter_in_a_bits_source),
+    .auto_fragmenter_in_a_bits_address(coupler_to_slave_named_uart_4_auto_fragmenter_in_a_bits_address),
+    .auto_fragmenter_in_a_bits_mask(coupler_to_slave_named_uart_4_auto_fragmenter_in_a_bits_mask),
+    .auto_fragmenter_in_a_bits_data(coupler_to_slave_named_uart_4_auto_fragmenter_in_a_bits_data),
+    .auto_fragmenter_in_a_bits_corrupt(coupler_to_slave_named_uart_4_auto_fragmenter_in_a_bits_corrupt),
+    .auto_fragmenter_in_d_ready(coupler_to_slave_named_uart_4_auto_fragmenter_in_d_ready),
+    .auto_fragmenter_in_d_valid(coupler_to_slave_named_uart_4_auto_fragmenter_in_d_valid),
+    .auto_fragmenter_in_d_bits_opcode(coupler_to_slave_named_uart_4_auto_fragmenter_in_d_bits_opcode),
+    .auto_fragmenter_in_d_bits_size(coupler_to_slave_named_uart_4_auto_fragmenter_in_d_bits_size),
+    .auto_fragmenter_in_d_bits_source(coupler_to_slave_named_uart_4_auto_fragmenter_in_d_bits_source),
+    .auto_fragmenter_in_d_bits_data(coupler_to_slave_named_uart_4_auto_fragmenter_in_d_bits_data),
+    .auto_control_xing_out_a_ready(coupler_to_slave_named_uart_4_auto_control_xing_out_a_ready),
+    .auto_control_xing_out_a_valid(coupler_to_slave_named_uart_4_auto_control_xing_out_a_valid),
+    .auto_control_xing_out_a_bits_opcode(coupler_to_slave_named_uart_4_auto_control_xing_out_a_bits_opcode),
+    .auto_control_xing_out_a_bits_param(coupler_to_slave_named_uart_4_auto_control_xing_out_a_bits_param),
+    .auto_control_xing_out_a_bits_size(coupler_to_slave_named_uart_4_auto_control_xing_out_a_bits_size),
+    .auto_control_xing_out_a_bits_source(coupler_to_slave_named_uart_4_auto_control_xing_out_a_bits_source),
+    .auto_control_xing_out_a_bits_address(coupler_to_slave_named_uart_4_auto_control_xing_out_a_bits_address),
+    .auto_control_xing_out_a_bits_mask(coupler_to_slave_named_uart_4_auto_control_xing_out_a_bits_mask),
+    .auto_control_xing_out_a_bits_data(coupler_to_slave_named_uart_4_auto_control_xing_out_a_bits_data),
+    .auto_control_xing_out_a_bits_corrupt(coupler_to_slave_named_uart_4_auto_control_xing_out_a_bits_corrupt),
+    .auto_control_xing_out_d_ready(coupler_to_slave_named_uart_4_auto_control_xing_out_d_ready),
+    .auto_control_xing_out_d_valid(coupler_to_slave_named_uart_4_auto_control_xing_out_d_valid),
+    .auto_control_xing_out_d_bits_opcode(coupler_to_slave_named_uart_4_auto_control_xing_out_d_bits_opcode),
+    .auto_control_xing_out_d_bits_size(coupler_to_slave_named_uart_4_auto_control_xing_out_d_bits_size),
+    .auto_control_xing_out_d_bits_source(coupler_to_slave_named_uart_4_auto_control_xing_out_d_bits_source),
+    .auto_control_xing_out_d_bits_data(coupler_to_slave_named_uart_4_auto_control_xing_out_d_bits_data)
+  );
+  SimpleLazyModule_18 coupler_to_device_named_qspi_0 ( // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78145.4]
+    .clock(coupler_to_device_named_qspi_0_clock),
+    .reset(coupler_to_device_named_qspi_0_reset),
+    .auto_fragmenter_in_a_ready(coupler_to_device_named_qspi_0_auto_fragmenter_in_a_ready),
+    .auto_fragmenter_in_a_valid(coupler_to_device_named_qspi_0_auto_fragmenter_in_a_valid),
+    .auto_fragmenter_in_a_bits_opcode(coupler_to_device_named_qspi_0_auto_fragmenter_in_a_bits_opcode),
+    .auto_fragmenter_in_a_bits_param(coupler_to_device_named_qspi_0_auto_fragmenter_in_a_bits_param),
+    .auto_fragmenter_in_a_bits_size(coupler_to_device_named_qspi_0_auto_fragmenter_in_a_bits_size),
+    .auto_fragmenter_in_a_bits_source(coupler_to_device_named_qspi_0_auto_fragmenter_in_a_bits_source),
+    .auto_fragmenter_in_a_bits_address(coupler_to_device_named_qspi_0_auto_fragmenter_in_a_bits_address),
+    .auto_fragmenter_in_a_bits_mask(coupler_to_device_named_qspi_0_auto_fragmenter_in_a_bits_mask),
+    .auto_fragmenter_in_a_bits_data(coupler_to_device_named_qspi_0_auto_fragmenter_in_a_bits_data),
+    .auto_fragmenter_in_a_bits_corrupt(coupler_to_device_named_qspi_0_auto_fragmenter_in_a_bits_corrupt),
+    .auto_fragmenter_in_d_ready(coupler_to_device_named_qspi_0_auto_fragmenter_in_d_ready),
+    .auto_fragmenter_in_d_valid(coupler_to_device_named_qspi_0_auto_fragmenter_in_d_valid),
+    .auto_fragmenter_in_d_bits_opcode(coupler_to_device_named_qspi_0_auto_fragmenter_in_d_bits_opcode),
+    .auto_fragmenter_in_d_bits_size(coupler_to_device_named_qspi_0_auto_fragmenter_in_d_bits_size),
+    .auto_fragmenter_in_d_bits_source(coupler_to_device_named_qspi_0_auto_fragmenter_in_d_bits_source),
+    .auto_fragmenter_in_d_bits_data(coupler_to_device_named_qspi_0_auto_fragmenter_in_d_bits_data),
+    .auto_control_xing_out_a_ready(coupler_to_device_named_qspi_0_auto_control_xing_out_a_ready),
+    .auto_control_xing_out_a_valid(coupler_to_device_named_qspi_0_auto_control_xing_out_a_valid),
+    .auto_control_xing_out_a_bits_opcode(coupler_to_device_named_qspi_0_auto_control_xing_out_a_bits_opcode),
+    .auto_control_xing_out_a_bits_param(coupler_to_device_named_qspi_0_auto_control_xing_out_a_bits_param),
+    .auto_control_xing_out_a_bits_size(coupler_to_device_named_qspi_0_auto_control_xing_out_a_bits_size),
+    .auto_control_xing_out_a_bits_source(coupler_to_device_named_qspi_0_auto_control_xing_out_a_bits_source),
+    .auto_control_xing_out_a_bits_address(coupler_to_device_named_qspi_0_auto_control_xing_out_a_bits_address),
+    .auto_control_xing_out_a_bits_mask(coupler_to_device_named_qspi_0_auto_control_xing_out_a_bits_mask),
+    .auto_control_xing_out_a_bits_data(coupler_to_device_named_qspi_0_auto_control_xing_out_a_bits_data),
+    .auto_control_xing_out_a_bits_corrupt(coupler_to_device_named_qspi_0_auto_control_xing_out_a_bits_corrupt),
+    .auto_control_xing_out_d_ready(coupler_to_device_named_qspi_0_auto_control_xing_out_d_ready),
+    .auto_control_xing_out_d_valid(coupler_to_device_named_qspi_0_auto_control_xing_out_d_valid),
+    .auto_control_xing_out_d_bits_opcode(coupler_to_device_named_qspi_0_auto_control_xing_out_d_bits_opcode),
+    .auto_control_xing_out_d_bits_size(coupler_to_device_named_qspi_0_auto_control_xing_out_d_bits_size),
+    .auto_control_xing_out_d_bits_source(coupler_to_device_named_qspi_0_auto_control_xing_out_d_bits_source),
+    .auto_control_xing_out_d_bits_data(coupler_to_device_named_qspi_0_auto_control_xing_out_d_bits_data)
+  );
+  SimpleLazyModule_19 coupler_to_mem_named_qspi_0 ( // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78151.4]
+    .clock(coupler_to_mem_named_qspi_0_clock),
+    .reset(coupler_to_mem_named_qspi_0_reset),
+    .auto_widget_in_a_ready(coupler_to_mem_named_qspi_0_auto_widget_in_a_ready),
+    .auto_widget_in_a_valid(coupler_to_mem_named_qspi_0_auto_widget_in_a_valid),
+    .auto_widget_in_a_bits_opcode(coupler_to_mem_named_qspi_0_auto_widget_in_a_bits_opcode),
+    .auto_widget_in_a_bits_param(coupler_to_mem_named_qspi_0_auto_widget_in_a_bits_param),
+    .auto_widget_in_a_bits_size(coupler_to_mem_named_qspi_0_auto_widget_in_a_bits_size),
+    .auto_widget_in_a_bits_source(coupler_to_mem_named_qspi_0_auto_widget_in_a_bits_source),
+    .auto_widget_in_a_bits_address(coupler_to_mem_named_qspi_0_auto_widget_in_a_bits_address),
+    .auto_widget_in_a_bits_mask(coupler_to_mem_named_qspi_0_auto_widget_in_a_bits_mask),
+    .auto_widget_in_a_bits_corrupt(coupler_to_mem_named_qspi_0_auto_widget_in_a_bits_corrupt),
+    .auto_widget_in_d_ready(coupler_to_mem_named_qspi_0_auto_widget_in_d_ready),
+    .auto_widget_in_d_valid(coupler_to_mem_named_qspi_0_auto_widget_in_d_valid),
+    .auto_widget_in_d_bits_size(coupler_to_mem_named_qspi_0_auto_widget_in_d_bits_size),
+    .auto_widget_in_d_bits_source(coupler_to_mem_named_qspi_0_auto_widget_in_d_bits_source),
+    .auto_widget_in_d_bits_data(coupler_to_mem_named_qspi_0_auto_widget_in_d_bits_data),
+    .auto_widget_in_d_bits_corrupt(coupler_to_mem_named_qspi_0_auto_widget_in_d_bits_corrupt),
+    .auto_mem_xing_out_a_ready(coupler_to_mem_named_qspi_0_auto_mem_xing_out_a_ready),
+    .auto_mem_xing_out_a_valid(coupler_to_mem_named_qspi_0_auto_mem_xing_out_a_valid),
+    .auto_mem_xing_out_a_bits_opcode(coupler_to_mem_named_qspi_0_auto_mem_xing_out_a_bits_opcode),
+    .auto_mem_xing_out_a_bits_param(coupler_to_mem_named_qspi_0_auto_mem_xing_out_a_bits_param),
+    .auto_mem_xing_out_a_bits_size(coupler_to_mem_named_qspi_0_auto_mem_xing_out_a_bits_size),
+    .auto_mem_xing_out_a_bits_source(coupler_to_mem_named_qspi_0_auto_mem_xing_out_a_bits_source),
+    .auto_mem_xing_out_a_bits_address(coupler_to_mem_named_qspi_0_auto_mem_xing_out_a_bits_address),
+    .auto_mem_xing_out_a_bits_mask(coupler_to_mem_named_qspi_0_auto_mem_xing_out_a_bits_mask),
+    .auto_mem_xing_out_a_bits_corrupt(coupler_to_mem_named_qspi_0_auto_mem_xing_out_a_bits_corrupt),
+    .auto_mem_xing_out_d_ready(coupler_to_mem_named_qspi_0_auto_mem_xing_out_d_ready),
+    .auto_mem_xing_out_d_valid(coupler_to_mem_named_qspi_0_auto_mem_xing_out_d_valid),
+    .auto_mem_xing_out_d_bits_size(coupler_to_mem_named_qspi_0_auto_mem_xing_out_d_bits_size),
+    .auto_mem_xing_out_d_bits_source(coupler_to_mem_named_qspi_0_auto_mem_xing_out_d_bits_source),
+    .auto_mem_xing_out_d_bits_data(coupler_to_mem_named_qspi_0_auto_mem_xing_out_d_bits_data)
+  );
+  SimpleLazyModule_20 coupler_to_device_named_spi_0 ( // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78157.4]
+    .clock(coupler_to_device_named_spi_0_clock),
+    .reset(coupler_to_device_named_spi_0_reset),
+    .auto_fragmenter_in_a_ready(coupler_to_device_named_spi_0_auto_fragmenter_in_a_ready),
+    .auto_fragmenter_in_a_valid(coupler_to_device_named_spi_0_auto_fragmenter_in_a_valid),
+    .auto_fragmenter_in_a_bits_opcode(coupler_to_device_named_spi_0_auto_fragmenter_in_a_bits_opcode),
+    .auto_fragmenter_in_a_bits_param(coupler_to_device_named_spi_0_auto_fragmenter_in_a_bits_param),
+    .auto_fragmenter_in_a_bits_size(coupler_to_device_named_spi_0_auto_fragmenter_in_a_bits_size),
+    .auto_fragmenter_in_a_bits_source(coupler_to_device_named_spi_0_auto_fragmenter_in_a_bits_source),
+    .auto_fragmenter_in_a_bits_address(coupler_to_device_named_spi_0_auto_fragmenter_in_a_bits_address),
+    .auto_fragmenter_in_a_bits_mask(coupler_to_device_named_spi_0_auto_fragmenter_in_a_bits_mask),
+    .auto_fragmenter_in_a_bits_data(coupler_to_device_named_spi_0_auto_fragmenter_in_a_bits_data),
+    .auto_fragmenter_in_a_bits_corrupt(coupler_to_device_named_spi_0_auto_fragmenter_in_a_bits_corrupt),
+    .auto_fragmenter_in_d_ready(coupler_to_device_named_spi_0_auto_fragmenter_in_d_ready),
+    .auto_fragmenter_in_d_valid(coupler_to_device_named_spi_0_auto_fragmenter_in_d_valid),
+    .auto_fragmenter_in_d_bits_opcode(coupler_to_device_named_spi_0_auto_fragmenter_in_d_bits_opcode),
+    .auto_fragmenter_in_d_bits_size(coupler_to_device_named_spi_0_auto_fragmenter_in_d_bits_size),
+    .auto_fragmenter_in_d_bits_source(coupler_to_device_named_spi_0_auto_fragmenter_in_d_bits_source),
+    .auto_fragmenter_in_d_bits_data(coupler_to_device_named_spi_0_auto_fragmenter_in_d_bits_data),
+    .auto_control_xing_out_a_ready(coupler_to_device_named_spi_0_auto_control_xing_out_a_ready),
+    .auto_control_xing_out_a_valid(coupler_to_device_named_spi_0_auto_control_xing_out_a_valid),
+    .auto_control_xing_out_a_bits_opcode(coupler_to_device_named_spi_0_auto_control_xing_out_a_bits_opcode),
+    .auto_control_xing_out_a_bits_param(coupler_to_device_named_spi_0_auto_control_xing_out_a_bits_param),
+    .auto_control_xing_out_a_bits_size(coupler_to_device_named_spi_0_auto_control_xing_out_a_bits_size),
+    .auto_control_xing_out_a_bits_source(coupler_to_device_named_spi_0_auto_control_xing_out_a_bits_source),
+    .auto_control_xing_out_a_bits_address(coupler_to_device_named_spi_0_auto_control_xing_out_a_bits_address),
+    .auto_control_xing_out_a_bits_mask(coupler_to_device_named_spi_0_auto_control_xing_out_a_bits_mask),
+    .auto_control_xing_out_a_bits_data(coupler_to_device_named_spi_0_auto_control_xing_out_a_bits_data),
+    .auto_control_xing_out_a_bits_corrupt(coupler_to_device_named_spi_0_auto_control_xing_out_a_bits_corrupt),
+    .auto_control_xing_out_d_ready(coupler_to_device_named_spi_0_auto_control_xing_out_d_ready),
+    .auto_control_xing_out_d_valid(coupler_to_device_named_spi_0_auto_control_xing_out_d_valid),
+    .auto_control_xing_out_d_bits_opcode(coupler_to_device_named_spi_0_auto_control_xing_out_d_bits_opcode),
+    .auto_control_xing_out_d_bits_size(coupler_to_device_named_spi_0_auto_control_xing_out_d_bits_size),
+    .auto_control_xing_out_d_bits_source(coupler_to_device_named_spi_0_auto_control_xing_out_d_bits_source),
+    .auto_control_xing_out_d_bits_data(coupler_to_device_named_spi_0_auto_control_xing_out_d_bits_data)
+  );
+  SimpleLazyModule_21 coupler_to_device_named_spi_1 ( // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78163.4]
+    .clock(coupler_to_device_named_spi_1_clock),
+    .reset(coupler_to_device_named_spi_1_reset),
+    .auto_fragmenter_in_a_ready(coupler_to_device_named_spi_1_auto_fragmenter_in_a_ready),
+    .auto_fragmenter_in_a_valid(coupler_to_device_named_spi_1_auto_fragmenter_in_a_valid),
+    .auto_fragmenter_in_a_bits_opcode(coupler_to_device_named_spi_1_auto_fragmenter_in_a_bits_opcode),
+    .auto_fragmenter_in_a_bits_param(coupler_to_device_named_spi_1_auto_fragmenter_in_a_bits_param),
+    .auto_fragmenter_in_a_bits_size(coupler_to_device_named_spi_1_auto_fragmenter_in_a_bits_size),
+    .auto_fragmenter_in_a_bits_source(coupler_to_device_named_spi_1_auto_fragmenter_in_a_bits_source),
+    .auto_fragmenter_in_a_bits_address(coupler_to_device_named_spi_1_auto_fragmenter_in_a_bits_address),
+    .auto_fragmenter_in_a_bits_mask(coupler_to_device_named_spi_1_auto_fragmenter_in_a_bits_mask),
+    .auto_fragmenter_in_a_bits_data(coupler_to_device_named_spi_1_auto_fragmenter_in_a_bits_data),
+    .auto_fragmenter_in_a_bits_corrupt(coupler_to_device_named_spi_1_auto_fragmenter_in_a_bits_corrupt),
+    .auto_fragmenter_in_d_ready(coupler_to_device_named_spi_1_auto_fragmenter_in_d_ready),
+    .auto_fragmenter_in_d_valid(coupler_to_device_named_spi_1_auto_fragmenter_in_d_valid),
+    .auto_fragmenter_in_d_bits_opcode(coupler_to_device_named_spi_1_auto_fragmenter_in_d_bits_opcode),
+    .auto_fragmenter_in_d_bits_size(coupler_to_device_named_spi_1_auto_fragmenter_in_d_bits_size),
+    .auto_fragmenter_in_d_bits_source(coupler_to_device_named_spi_1_auto_fragmenter_in_d_bits_source),
+    .auto_fragmenter_in_d_bits_data(coupler_to_device_named_spi_1_auto_fragmenter_in_d_bits_data),
+    .auto_control_xing_out_a_ready(coupler_to_device_named_spi_1_auto_control_xing_out_a_ready),
+    .auto_control_xing_out_a_valid(coupler_to_device_named_spi_1_auto_control_xing_out_a_valid),
+    .auto_control_xing_out_a_bits_opcode(coupler_to_device_named_spi_1_auto_control_xing_out_a_bits_opcode),
+    .auto_control_xing_out_a_bits_param(coupler_to_device_named_spi_1_auto_control_xing_out_a_bits_param),
+    .auto_control_xing_out_a_bits_size(coupler_to_device_named_spi_1_auto_control_xing_out_a_bits_size),
+    .auto_control_xing_out_a_bits_source(coupler_to_device_named_spi_1_auto_control_xing_out_a_bits_source),
+    .auto_control_xing_out_a_bits_address(coupler_to_device_named_spi_1_auto_control_xing_out_a_bits_address),
+    .auto_control_xing_out_a_bits_mask(coupler_to_device_named_spi_1_auto_control_xing_out_a_bits_mask),
+    .auto_control_xing_out_a_bits_data(coupler_to_device_named_spi_1_auto_control_xing_out_a_bits_data),
+    .auto_control_xing_out_a_bits_corrupt(coupler_to_device_named_spi_1_auto_control_xing_out_a_bits_corrupt),
+    .auto_control_xing_out_d_ready(coupler_to_device_named_spi_1_auto_control_xing_out_d_ready),
+    .auto_control_xing_out_d_valid(coupler_to_device_named_spi_1_auto_control_xing_out_d_valid),
+    .auto_control_xing_out_d_bits_opcode(coupler_to_device_named_spi_1_auto_control_xing_out_d_bits_opcode),
+    .auto_control_xing_out_d_bits_size(coupler_to_device_named_spi_1_auto_control_xing_out_d_bits_size),
+    .auto_control_xing_out_d_bits_source(coupler_to_device_named_spi_1_auto_control_xing_out_d_bits_source),
+    .auto_control_xing_out_d_bits_data(coupler_to_device_named_spi_1_auto_control_xing_out_d_bits_data)
+  );
+  SimpleLazyModule_22 coupler_to_device_named_gpio_0 ( // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78169.4]
+    .clock(coupler_to_device_named_gpio_0_clock),
+    .reset(coupler_to_device_named_gpio_0_reset),
+    .auto_fragmenter_in_a_ready(coupler_to_device_named_gpio_0_auto_fragmenter_in_a_ready),
+    .auto_fragmenter_in_a_valid(coupler_to_device_named_gpio_0_auto_fragmenter_in_a_valid),
+    .auto_fragmenter_in_a_bits_opcode(coupler_to_device_named_gpio_0_auto_fragmenter_in_a_bits_opcode),
+    .auto_fragmenter_in_a_bits_param(coupler_to_device_named_gpio_0_auto_fragmenter_in_a_bits_param),
+    .auto_fragmenter_in_a_bits_size(coupler_to_device_named_gpio_0_auto_fragmenter_in_a_bits_size),
+    .auto_fragmenter_in_a_bits_source(coupler_to_device_named_gpio_0_auto_fragmenter_in_a_bits_source),
+    .auto_fragmenter_in_a_bits_address(coupler_to_device_named_gpio_0_auto_fragmenter_in_a_bits_address),
+    .auto_fragmenter_in_a_bits_mask(coupler_to_device_named_gpio_0_auto_fragmenter_in_a_bits_mask),
+    .auto_fragmenter_in_a_bits_data(coupler_to_device_named_gpio_0_auto_fragmenter_in_a_bits_data),
+    .auto_fragmenter_in_a_bits_corrupt(coupler_to_device_named_gpio_0_auto_fragmenter_in_a_bits_corrupt),
+    .auto_fragmenter_in_d_ready(coupler_to_device_named_gpio_0_auto_fragmenter_in_d_ready),
+    .auto_fragmenter_in_d_valid(coupler_to_device_named_gpio_0_auto_fragmenter_in_d_valid),
+    .auto_fragmenter_in_d_bits_opcode(coupler_to_device_named_gpio_0_auto_fragmenter_in_d_bits_opcode),
+    .auto_fragmenter_in_d_bits_size(coupler_to_device_named_gpio_0_auto_fragmenter_in_d_bits_size),
+    .auto_fragmenter_in_d_bits_source(coupler_to_device_named_gpio_0_auto_fragmenter_in_d_bits_source),
+    .auto_fragmenter_in_d_bits_data(coupler_to_device_named_gpio_0_auto_fragmenter_in_d_bits_data),
+    .auto_control_xing_out_a_ready(coupler_to_device_named_gpio_0_auto_control_xing_out_a_ready),
+    .auto_control_xing_out_a_valid(coupler_to_device_named_gpio_0_auto_control_xing_out_a_valid),
+    .auto_control_xing_out_a_bits_opcode(coupler_to_device_named_gpio_0_auto_control_xing_out_a_bits_opcode),
+    .auto_control_xing_out_a_bits_param(coupler_to_device_named_gpio_0_auto_control_xing_out_a_bits_param),
+    .auto_control_xing_out_a_bits_size(coupler_to_device_named_gpio_0_auto_control_xing_out_a_bits_size),
+    .auto_control_xing_out_a_bits_source(coupler_to_device_named_gpio_0_auto_control_xing_out_a_bits_source),
+    .auto_control_xing_out_a_bits_address(coupler_to_device_named_gpio_0_auto_control_xing_out_a_bits_address),
+    .auto_control_xing_out_a_bits_mask(coupler_to_device_named_gpio_0_auto_control_xing_out_a_bits_mask),
+    .auto_control_xing_out_a_bits_data(coupler_to_device_named_gpio_0_auto_control_xing_out_a_bits_data),
+    .auto_control_xing_out_a_bits_corrupt(coupler_to_device_named_gpio_0_auto_control_xing_out_a_bits_corrupt),
+    .auto_control_xing_out_d_ready(coupler_to_device_named_gpio_0_auto_control_xing_out_d_ready),
+    .auto_control_xing_out_d_valid(coupler_to_device_named_gpio_0_auto_control_xing_out_d_valid),
+    .auto_control_xing_out_d_bits_opcode(coupler_to_device_named_gpio_0_auto_control_xing_out_d_bits_opcode),
+    .auto_control_xing_out_d_bits_size(coupler_to_device_named_gpio_0_auto_control_xing_out_d_bits_size),
+    .auto_control_xing_out_d_bits_source(coupler_to_device_named_gpio_0_auto_control_xing_out_d_bits_source),
+    .auto_control_xing_out_d_bits_data(coupler_to_device_named_gpio_0_auto_control_xing_out_d_bits_data)
+  );
+  SimpleLazyModule_23 coupler_to_device_named_i2c_0 ( // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78175.4]
+    .clock(coupler_to_device_named_i2c_0_clock),
+    .reset(coupler_to_device_named_i2c_0_reset),
+    .auto_fragmenter_in_a_ready(coupler_to_device_named_i2c_0_auto_fragmenter_in_a_ready),
+    .auto_fragmenter_in_a_valid(coupler_to_device_named_i2c_0_auto_fragmenter_in_a_valid),
+    .auto_fragmenter_in_a_bits_opcode(coupler_to_device_named_i2c_0_auto_fragmenter_in_a_bits_opcode),
+    .auto_fragmenter_in_a_bits_param(coupler_to_device_named_i2c_0_auto_fragmenter_in_a_bits_param),
+    .auto_fragmenter_in_a_bits_size(coupler_to_device_named_i2c_0_auto_fragmenter_in_a_bits_size),
+    .auto_fragmenter_in_a_bits_source(coupler_to_device_named_i2c_0_auto_fragmenter_in_a_bits_source),
+    .auto_fragmenter_in_a_bits_address(coupler_to_device_named_i2c_0_auto_fragmenter_in_a_bits_address),
+    .auto_fragmenter_in_a_bits_mask(coupler_to_device_named_i2c_0_auto_fragmenter_in_a_bits_mask),
+    .auto_fragmenter_in_a_bits_data(coupler_to_device_named_i2c_0_auto_fragmenter_in_a_bits_data),
+    .auto_fragmenter_in_a_bits_corrupt(coupler_to_device_named_i2c_0_auto_fragmenter_in_a_bits_corrupt),
+    .auto_fragmenter_in_d_ready(coupler_to_device_named_i2c_0_auto_fragmenter_in_d_ready),
+    .auto_fragmenter_in_d_valid(coupler_to_device_named_i2c_0_auto_fragmenter_in_d_valid),
+    .auto_fragmenter_in_d_bits_opcode(coupler_to_device_named_i2c_0_auto_fragmenter_in_d_bits_opcode),
+    .auto_fragmenter_in_d_bits_size(coupler_to_device_named_i2c_0_auto_fragmenter_in_d_bits_size),
+    .auto_fragmenter_in_d_bits_source(coupler_to_device_named_i2c_0_auto_fragmenter_in_d_bits_source),
+    .auto_fragmenter_in_d_bits_data(coupler_to_device_named_i2c_0_auto_fragmenter_in_d_bits_data),
+    .auto_control_xing_out_a_ready(coupler_to_device_named_i2c_0_auto_control_xing_out_a_ready),
+    .auto_control_xing_out_a_valid(coupler_to_device_named_i2c_0_auto_control_xing_out_a_valid),
+    .auto_control_xing_out_a_bits_opcode(coupler_to_device_named_i2c_0_auto_control_xing_out_a_bits_opcode),
+    .auto_control_xing_out_a_bits_param(coupler_to_device_named_i2c_0_auto_control_xing_out_a_bits_param),
+    .auto_control_xing_out_a_bits_size(coupler_to_device_named_i2c_0_auto_control_xing_out_a_bits_size),
+    .auto_control_xing_out_a_bits_source(coupler_to_device_named_i2c_0_auto_control_xing_out_a_bits_source),
+    .auto_control_xing_out_a_bits_address(coupler_to_device_named_i2c_0_auto_control_xing_out_a_bits_address),
+    .auto_control_xing_out_a_bits_mask(coupler_to_device_named_i2c_0_auto_control_xing_out_a_bits_mask),
+    .auto_control_xing_out_a_bits_data(coupler_to_device_named_i2c_0_auto_control_xing_out_a_bits_data),
+    .auto_control_xing_out_a_bits_corrupt(coupler_to_device_named_i2c_0_auto_control_xing_out_a_bits_corrupt),
+    .auto_control_xing_out_d_ready(coupler_to_device_named_i2c_0_auto_control_xing_out_d_ready),
+    .auto_control_xing_out_d_valid(coupler_to_device_named_i2c_0_auto_control_xing_out_d_valid),
+    .auto_control_xing_out_d_bits_opcode(coupler_to_device_named_i2c_0_auto_control_xing_out_d_bits_opcode),
+    .auto_control_xing_out_d_bits_size(coupler_to_device_named_i2c_0_auto_control_xing_out_d_bits_size),
+    .auto_control_xing_out_d_bits_source(coupler_to_device_named_i2c_0_auto_control_xing_out_d_bits_source),
+    .auto_control_xing_out_d_bits_data(coupler_to_device_named_i2c_0_auto_control_xing_out_d_bits_data)
+  );
+  SimpleLazyModule_24 coupler_to_device_named_i2c_1 ( // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78181.4]
+    .clock(coupler_to_device_named_i2c_1_clock),
+    .reset(coupler_to_device_named_i2c_1_reset),
+    .auto_fragmenter_in_a_ready(coupler_to_device_named_i2c_1_auto_fragmenter_in_a_ready),
+    .auto_fragmenter_in_a_valid(coupler_to_device_named_i2c_1_auto_fragmenter_in_a_valid),
+    .auto_fragmenter_in_a_bits_opcode(coupler_to_device_named_i2c_1_auto_fragmenter_in_a_bits_opcode),
+    .auto_fragmenter_in_a_bits_param(coupler_to_device_named_i2c_1_auto_fragmenter_in_a_bits_param),
+    .auto_fragmenter_in_a_bits_size(coupler_to_device_named_i2c_1_auto_fragmenter_in_a_bits_size),
+    .auto_fragmenter_in_a_bits_source(coupler_to_device_named_i2c_1_auto_fragmenter_in_a_bits_source),
+    .auto_fragmenter_in_a_bits_address(coupler_to_device_named_i2c_1_auto_fragmenter_in_a_bits_address),
+    .auto_fragmenter_in_a_bits_mask(coupler_to_device_named_i2c_1_auto_fragmenter_in_a_bits_mask),
+    .auto_fragmenter_in_a_bits_data(coupler_to_device_named_i2c_1_auto_fragmenter_in_a_bits_data),
+    .auto_fragmenter_in_a_bits_corrupt(coupler_to_device_named_i2c_1_auto_fragmenter_in_a_bits_corrupt),
+    .auto_fragmenter_in_d_ready(coupler_to_device_named_i2c_1_auto_fragmenter_in_d_ready),
+    .auto_fragmenter_in_d_valid(coupler_to_device_named_i2c_1_auto_fragmenter_in_d_valid),
+    .auto_fragmenter_in_d_bits_opcode(coupler_to_device_named_i2c_1_auto_fragmenter_in_d_bits_opcode),
+    .auto_fragmenter_in_d_bits_size(coupler_to_device_named_i2c_1_auto_fragmenter_in_d_bits_size),
+    .auto_fragmenter_in_d_bits_source(coupler_to_device_named_i2c_1_auto_fragmenter_in_d_bits_source),
+    .auto_fragmenter_in_d_bits_data(coupler_to_device_named_i2c_1_auto_fragmenter_in_d_bits_data),
+    .auto_control_xing_out_a_ready(coupler_to_device_named_i2c_1_auto_control_xing_out_a_ready),
+    .auto_control_xing_out_a_valid(coupler_to_device_named_i2c_1_auto_control_xing_out_a_valid),
+    .auto_control_xing_out_a_bits_opcode(coupler_to_device_named_i2c_1_auto_control_xing_out_a_bits_opcode),
+    .auto_control_xing_out_a_bits_param(coupler_to_device_named_i2c_1_auto_control_xing_out_a_bits_param),
+    .auto_control_xing_out_a_bits_size(coupler_to_device_named_i2c_1_auto_control_xing_out_a_bits_size),
+    .auto_control_xing_out_a_bits_source(coupler_to_device_named_i2c_1_auto_control_xing_out_a_bits_source),
+    .auto_control_xing_out_a_bits_address(coupler_to_device_named_i2c_1_auto_control_xing_out_a_bits_address),
+    .auto_control_xing_out_a_bits_mask(coupler_to_device_named_i2c_1_auto_control_xing_out_a_bits_mask),
+    .auto_control_xing_out_a_bits_data(coupler_to_device_named_i2c_1_auto_control_xing_out_a_bits_data),
+    .auto_control_xing_out_a_bits_corrupt(coupler_to_device_named_i2c_1_auto_control_xing_out_a_bits_corrupt),
+    .auto_control_xing_out_d_ready(coupler_to_device_named_i2c_1_auto_control_xing_out_d_ready),
+    .auto_control_xing_out_d_valid(coupler_to_device_named_i2c_1_auto_control_xing_out_d_valid),
+    .auto_control_xing_out_d_bits_opcode(coupler_to_device_named_i2c_1_auto_control_xing_out_d_bits_opcode),
+    .auto_control_xing_out_d_bits_size(coupler_to_device_named_i2c_1_auto_control_xing_out_d_bits_size),
+    .auto_control_xing_out_d_bits_source(coupler_to_device_named_i2c_1_auto_control_xing_out_d_bits_source),
+    .auto_control_xing_out_d_bits_data(coupler_to_device_named_i2c_1_auto_control_xing_out_d_bits_data)
+  );
+  assign auto_coupler_to_device_named_i2c_1_control_xing_out_a_valid = coupler_to_device_named_i2c_1_auto_control_xing_out_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78222.4]
+  assign auto_coupler_to_device_named_i2c_1_control_xing_out_a_bits_opcode = coupler_to_device_named_i2c_1_auto_control_xing_out_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78222.4]
+  assign auto_coupler_to_device_named_i2c_1_control_xing_out_a_bits_param = coupler_to_device_named_i2c_1_auto_control_xing_out_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78222.4]
+  assign auto_coupler_to_device_named_i2c_1_control_xing_out_a_bits_size = coupler_to_device_named_i2c_1_auto_control_xing_out_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78222.4]
+  assign auto_coupler_to_device_named_i2c_1_control_xing_out_a_bits_source = coupler_to_device_named_i2c_1_auto_control_xing_out_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78222.4]
+  assign auto_coupler_to_device_named_i2c_1_control_xing_out_a_bits_address = coupler_to_device_named_i2c_1_auto_control_xing_out_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78222.4]
+  assign auto_coupler_to_device_named_i2c_1_control_xing_out_a_bits_mask = coupler_to_device_named_i2c_1_auto_control_xing_out_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78222.4]
+  assign auto_coupler_to_device_named_i2c_1_control_xing_out_a_bits_data = coupler_to_device_named_i2c_1_auto_control_xing_out_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78222.4]
+  assign auto_coupler_to_device_named_i2c_1_control_xing_out_a_bits_corrupt = coupler_to_device_named_i2c_1_auto_control_xing_out_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78222.4]
+  assign auto_coupler_to_device_named_i2c_1_control_xing_out_d_ready = coupler_to_device_named_i2c_1_auto_control_xing_out_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78222.4]
+  assign auto_coupler_to_device_named_i2c_0_control_xing_out_a_valid = coupler_to_device_named_i2c_0_auto_control_xing_out_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78221.4]
+  assign auto_coupler_to_device_named_i2c_0_control_xing_out_a_bits_opcode = coupler_to_device_named_i2c_0_auto_control_xing_out_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78221.4]
+  assign auto_coupler_to_device_named_i2c_0_control_xing_out_a_bits_param = coupler_to_device_named_i2c_0_auto_control_xing_out_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78221.4]
+  assign auto_coupler_to_device_named_i2c_0_control_xing_out_a_bits_size = coupler_to_device_named_i2c_0_auto_control_xing_out_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78221.4]
+  assign auto_coupler_to_device_named_i2c_0_control_xing_out_a_bits_source = coupler_to_device_named_i2c_0_auto_control_xing_out_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78221.4]
+  assign auto_coupler_to_device_named_i2c_0_control_xing_out_a_bits_address = coupler_to_device_named_i2c_0_auto_control_xing_out_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78221.4]
+  assign auto_coupler_to_device_named_i2c_0_control_xing_out_a_bits_mask = coupler_to_device_named_i2c_0_auto_control_xing_out_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78221.4]
+  assign auto_coupler_to_device_named_i2c_0_control_xing_out_a_bits_data = coupler_to_device_named_i2c_0_auto_control_xing_out_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78221.4]
+  assign auto_coupler_to_device_named_i2c_0_control_xing_out_a_bits_corrupt = coupler_to_device_named_i2c_0_auto_control_xing_out_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78221.4]
+  assign auto_coupler_to_device_named_i2c_0_control_xing_out_d_ready = coupler_to_device_named_i2c_0_auto_control_xing_out_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78221.4]
+  assign auto_coupler_to_device_named_gpio_0_control_xing_out_a_valid = coupler_to_device_named_gpio_0_auto_control_xing_out_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78220.4]
+  assign auto_coupler_to_device_named_gpio_0_control_xing_out_a_bits_opcode = coupler_to_device_named_gpio_0_auto_control_xing_out_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78220.4]
+  assign auto_coupler_to_device_named_gpio_0_control_xing_out_a_bits_param = coupler_to_device_named_gpio_0_auto_control_xing_out_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78220.4]
+  assign auto_coupler_to_device_named_gpio_0_control_xing_out_a_bits_size = coupler_to_device_named_gpio_0_auto_control_xing_out_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78220.4]
+  assign auto_coupler_to_device_named_gpio_0_control_xing_out_a_bits_source = coupler_to_device_named_gpio_0_auto_control_xing_out_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78220.4]
+  assign auto_coupler_to_device_named_gpio_0_control_xing_out_a_bits_address = coupler_to_device_named_gpio_0_auto_control_xing_out_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78220.4]
+  assign auto_coupler_to_device_named_gpio_0_control_xing_out_a_bits_mask = coupler_to_device_named_gpio_0_auto_control_xing_out_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78220.4]
+  assign auto_coupler_to_device_named_gpio_0_control_xing_out_a_bits_data = coupler_to_device_named_gpio_0_auto_control_xing_out_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78220.4]
+  assign auto_coupler_to_device_named_gpio_0_control_xing_out_a_bits_corrupt = coupler_to_device_named_gpio_0_auto_control_xing_out_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78220.4]
+  assign auto_coupler_to_device_named_gpio_0_control_xing_out_d_ready = coupler_to_device_named_gpio_0_auto_control_xing_out_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78220.4]
+  assign auto_coupler_to_device_named_spi_1_control_xing_out_a_valid = coupler_to_device_named_spi_1_auto_control_xing_out_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78219.4]
+  assign auto_coupler_to_device_named_spi_1_control_xing_out_a_bits_opcode = coupler_to_device_named_spi_1_auto_control_xing_out_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78219.4]
+  assign auto_coupler_to_device_named_spi_1_control_xing_out_a_bits_param = coupler_to_device_named_spi_1_auto_control_xing_out_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78219.4]
+  assign auto_coupler_to_device_named_spi_1_control_xing_out_a_bits_size = coupler_to_device_named_spi_1_auto_control_xing_out_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78219.4]
+  assign auto_coupler_to_device_named_spi_1_control_xing_out_a_bits_source = coupler_to_device_named_spi_1_auto_control_xing_out_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78219.4]
+  assign auto_coupler_to_device_named_spi_1_control_xing_out_a_bits_address = coupler_to_device_named_spi_1_auto_control_xing_out_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78219.4]
+  assign auto_coupler_to_device_named_spi_1_control_xing_out_a_bits_mask = coupler_to_device_named_spi_1_auto_control_xing_out_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78219.4]
+  assign auto_coupler_to_device_named_spi_1_control_xing_out_a_bits_data = coupler_to_device_named_spi_1_auto_control_xing_out_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78219.4]
+  assign auto_coupler_to_device_named_spi_1_control_xing_out_a_bits_corrupt = coupler_to_device_named_spi_1_auto_control_xing_out_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78219.4]
+  assign auto_coupler_to_device_named_spi_1_control_xing_out_d_ready = coupler_to_device_named_spi_1_auto_control_xing_out_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78219.4]
+  assign auto_coupler_to_device_named_spi_0_control_xing_out_a_valid = coupler_to_device_named_spi_0_auto_control_xing_out_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78218.4]
+  assign auto_coupler_to_device_named_spi_0_control_xing_out_a_bits_opcode = coupler_to_device_named_spi_0_auto_control_xing_out_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78218.4]
+  assign auto_coupler_to_device_named_spi_0_control_xing_out_a_bits_param = coupler_to_device_named_spi_0_auto_control_xing_out_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78218.4]
+  assign auto_coupler_to_device_named_spi_0_control_xing_out_a_bits_size = coupler_to_device_named_spi_0_auto_control_xing_out_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78218.4]
+  assign auto_coupler_to_device_named_spi_0_control_xing_out_a_bits_source = coupler_to_device_named_spi_0_auto_control_xing_out_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78218.4]
+  assign auto_coupler_to_device_named_spi_0_control_xing_out_a_bits_address = coupler_to_device_named_spi_0_auto_control_xing_out_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78218.4]
+  assign auto_coupler_to_device_named_spi_0_control_xing_out_a_bits_mask = coupler_to_device_named_spi_0_auto_control_xing_out_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78218.4]
+  assign auto_coupler_to_device_named_spi_0_control_xing_out_a_bits_data = coupler_to_device_named_spi_0_auto_control_xing_out_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78218.4]
+  assign auto_coupler_to_device_named_spi_0_control_xing_out_a_bits_corrupt = coupler_to_device_named_spi_0_auto_control_xing_out_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78218.4]
+  assign auto_coupler_to_device_named_spi_0_control_xing_out_d_ready = coupler_to_device_named_spi_0_auto_control_xing_out_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78218.4]
+  assign auto_coupler_to_mem_named_qspi_0_mem_xing_out_a_valid = coupler_to_mem_named_qspi_0_auto_mem_xing_out_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78217.4]
+  assign auto_coupler_to_mem_named_qspi_0_mem_xing_out_a_bits_opcode = coupler_to_mem_named_qspi_0_auto_mem_xing_out_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78217.4]
+  assign auto_coupler_to_mem_named_qspi_0_mem_xing_out_a_bits_param = coupler_to_mem_named_qspi_0_auto_mem_xing_out_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78217.4]
+  assign auto_coupler_to_mem_named_qspi_0_mem_xing_out_a_bits_size = coupler_to_mem_named_qspi_0_auto_mem_xing_out_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78217.4]
+  assign auto_coupler_to_mem_named_qspi_0_mem_xing_out_a_bits_source = coupler_to_mem_named_qspi_0_auto_mem_xing_out_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78217.4]
+  assign auto_coupler_to_mem_named_qspi_0_mem_xing_out_a_bits_address = coupler_to_mem_named_qspi_0_auto_mem_xing_out_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78217.4]
+  assign auto_coupler_to_mem_named_qspi_0_mem_xing_out_a_bits_mask = coupler_to_mem_named_qspi_0_auto_mem_xing_out_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78217.4]
+  assign auto_coupler_to_mem_named_qspi_0_mem_xing_out_a_bits_corrupt = coupler_to_mem_named_qspi_0_auto_mem_xing_out_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78217.4]
+  assign auto_coupler_to_mem_named_qspi_0_mem_xing_out_d_ready = coupler_to_mem_named_qspi_0_auto_mem_xing_out_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78217.4]
+  assign auto_coupler_to_device_named_qspi_0_control_xing_out_a_valid = coupler_to_device_named_qspi_0_auto_control_xing_out_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78216.4]
+  assign auto_coupler_to_device_named_qspi_0_control_xing_out_a_bits_opcode = coupler_to_device_named_qspi_0_auto_control_xing_out_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78216.4]
+  assign auto_coupler_to_device_named_qspi_0_control_xing_out_a_bits_param = coupler_to_device_named_qspi_0_auto_control_xing_out_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78216.4]
+  assign auto_coupler_to_device_named_qspi_0_control_xing_out_a_bits_size = coupler_to_device_named_qspi_0_auto_control_xing_out_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78216.4]
+  assign auto_coupler_to_device_named_qspi_0_control_xing_out_a_bits_source = coupler_to_device_named_qspi_0_auto_control_xing_out_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78216.4]
+  assign auto_coupler_to_device_named_qspi_0_control_xing_out_a_bits_address = coupler_to_device_named_qspi_0_auto_control_xing_out_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78216.4]
+  assign auto_coupler_to_device_named_qspi_0_control_xing_out_a_bits_mask = coupler_to_device_named_qspi_0_auto_control_xing_out_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78216.4]
+  assign auto_coupler_to_device_named_qspi_0_control_xing_out_a_bits_data = coupler_to_device_named_qspi_0_auto_control_xing_out_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78216.4]
+  assign auto_coupler_to_device_named_qspi_0_control_xing_out_a_bits_corrupt = coupler_to_device_named_qspi_0_auto_control_xing_out_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78216.4]
+  assign auto_coupler_to_device_named_qspi_0_control_xing_out_d_ready = coupler_to_device_named_qspi_0_auto_control_xing_out_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78216.4]
+  assign auto_coupler_to_slave_named_uart_4_control_xing_out_a_valid = coupler_to_slave_named_uart_4_auto_control_xing_out_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78215.4]
+  assign auto_coupler_to_slave_named_uart_4_control_xing_out_a_bits_opcode = coupler_to_slave_named_uart_4_auto_control_xing_out_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78215.4]
+  assign auto_coupler_to_slave_named_uart_4_control_xing_out_a_bits_param = coupler_to_slave_named_uart_4_auto_control_xing_out_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78215.4]
+  assign auto_coupler_to_slave_named_uart_4_control_xing_out_a_bits_size = coupler_to_slave_named_uart_4_auto_control_xing_out_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78215.4]
+  assign auto_coupler_to_slave_named_uart_4_control_xing_out_a_bits_source = coupler_to_slave_named_uart_4_auto_control_xing_out_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78215.4]
+  assign auto_coupler_to_slave_named_uart_4_control_xing_out_a_bits_address = coupler_to_slave_named_uart_4_auto_control_xing_out_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78215.4]
+  assign auto_coupler_to_slave_named_uart_4_control_xing_out_a_bits_mask = coupler_to_slave_named_uart_4_auto_control_xing_out_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78215.4]
+  assign auto_coupler_to_slave_named_uart_4_control_xing_out_a_bits_data = coupler_to_slave_named_uart_4_auto_control_xing_out_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78215.4]
+  assign auto_coupler_to_slave_named_uart_4_control_xing_out_a_bits_corrupt = coupler_to_slave_named_uart_4_auto_control_xing_out_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78215.4]
+  assign auto_coupler_to_slave_named_uart_4_control_xing_out_d_ready = coupler_to_slave_named_uart_4_auto_control_xing_out_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78215.4]
+  assign auto_coupler_to_slave_named_uart_3_control_xing_out_a_valid = coupler_to_slave_named_uart_3_auto_control_xing_out_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78214.4]
+  assign auto_coupler_to_slave_named_uart_3_control_xing_out_a_bits_opcode = coupler_to_slave_named_uart_3_auto_control_xing_out_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78214.4]
+  assign auto_coupler_to_slave_named_uart_3_control_xing_out_a_bits_param = coupler_to_slave_named_uart_3_auto_control_xing_out_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78214.4]
+  assign auto_coupler_to_slave_named_uart_3_control_xing_out_a_bits_size = coupler_to_slave_named_uart_3_auto_control_xing_out_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78214.4]
+  assign auto_coupler_to_slave_named_uart_3_control_xing_out_a_bits_source = coupler_to_slave_named_uart_3_auto_control_xing_out_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78214.4]
+  assign auto_coupler_to_slave_named_uart_3_control_xing_out_a_bits_address = coupler_to_slave_named_uart_3_auto_control_xing_out_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78214.4]
+  assign auto_coupler_to_slave_named_uart_3_control_xing_out_a_bits_mask = coupler_to_slave_named_uart_3_auto_control_xing_out_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78214.4]
+  assign auto_coupler_to_slave_named_uart_3_control_xing_out_a_bits_data = coupler_to_slave_named_uart_3_auto_control_xing_out_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78214.4]
+  assign auto_coupler_to_slave_named_uart_3_control_xing_out_a_bits_corrupt = coupler_to_slave_named_uart_3_auto_control_xing_out_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78214.4]
+  assign auto_coupler_to_slave_named_uart_3_control_xing_out_d_ready = coupler_to_slave_named_uart_3_auto_control_xing_out_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78214.4]
+  assign auto_coupler_to_slave_named_uart_2_control_xing_out_a_valid = coupler_to_slave_named_uart_2_auto_control_xing_out_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78213.4]
+  assign auto_coupler_to_slave_named_uart_2_control_xing_out_a_bits_opcode = coupler_to_slave_named_uart_2_auto_control_xing_out_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78213.4]
+  assign auto_coupler_to_slave_named_uart_2_control_xing_out_a_bits_param = coupler_to_slave_named_uart_2_auto_control_xing_out_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78213.4]
+  assign auto_coupler_to_slave_named_uart_2_control_xing_out_a_bits_size = coupler_to_slave_named_uart_2_auto_control_xing_out_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78213.4]
+  assign auto_coupler_to_slave_named_uart_2_control_xing_out_a_bits_source = coupler_to_slave_named_uart_2_auto_control_xing_out_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78213.4]
+  assign auto_coupler_to_slave_named_uart_2_control_xing_out_a_bits_address = coupler_to_slave_named_uart_2_auto_control_xing_out_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78213.4]
+  assign auto_coupler_to_slave_named_uart_2_control_xing_out_a_bits_mask = coupler_to_slave_named_uart_2_auto_control_xing_out_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78213.4]
+  assign auto_coupler_to_slave_named_uart_2_control_xing_out_a_bits_data = coupler_to_slave_named_uart_2_auto_control_xing_out_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78213.4]
+  assign auto_coupler_to_slave_named_uart_2_control_xing_out_a_bits_corrupt = coupler_to_slave_named_uart_2_auto_control_xing_out_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78213.4]
+  assign auto_coupler_to_slave_named_uart_2_control_xing_out_d_ready = coupler_to_slave_named_uart_2_auto_control_xing_out_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78213.4]
+  assign auto_coupler_to_slave_named_uart_1_control_xing_out_a_valid = coupler_to_slave_named_uart_1_auto_control_xing_out_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78212.4]
+  assign auto_coupler_to_slave_named_uart_1_control_xing_out_a_bits_opcode = coupler_to_slave_named_uart_1_auto_control_xing_out_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78212.4]
+  assign auto_coupler_to_slave_named_uart_1_control_xing_out_a_bits_param = coupler_to_slave_named_uart_1_auto_control_xing_out_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78212.4]
+  assign auto_coupler_to_slave_named_uart_1_control_xing_out_a_bits_size = coupler_to_slave_named_uart_1_auto_control_xing_out_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78212.4]
+  assign auto_coupler_to_slave_named_uart_1_control_xing_out_a_bits_source = coupler_to_slave_named_uart_1_auto_control_xing_out_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78212.4]
+  assign auto_coupler_to_slave_named_uart_1_control_xing_out_a_bits_address = coupler_to_slave_named_uart_1_auto_control_xing_out_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78212.4]
+  assign auto_coupler_to_slave_named_uart_1_control_xing_out_a_bits_mask = coupler_to_slave_named_uart_1_auto_control_xing_out_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78212.4]
+  assign auto_coupler_to_slave_named_uart_1_control_xing_out_a_bits_data = coupler_to_slave_named_uart_1_auto_control_xing_out_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78212.4]
+  assign auto_coupler_to_slave_named_uart_1_control_xing_out_a_bits_corrupt = coupler_to_slave_named_uart_1_auto_control_xing_out_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78212.4]
+  assign auto_coupler_to_slave_named_uart_1_control_xing_out_d_ready = coupler_to_slave_named_uart_1_auto_control_xing_out_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78212.4]
+  assign auto_coupler_to_slave_named_uart_0_control_xing_out_a_valid = coupler_to_slave_named_uart_0_auto_control_xing_out_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78211.4]
+  assign auto_coupler_to_slave_named_uart_0_control_xing_out_a_bits_opcode = coupler_to_slave_named_uart_0_auto_control_xing_out_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78211.4]
+  assign auto_coupler_to_slave_named_uart_0_control_xing_out_a_bits_param = coupler_to_slave_named_uart_0_auto_control_xing_out_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78211.4]
+  assign auto_coupler_to_slave_named_uart_0_control_xing_out_a_bits_size = coupler_to_slave_named_uart_0_auto_control_xing_out_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78211.4]
+  assign auto_coupler_to_slave_named_uart_0_control_xing_out_a_bits_source = coupler_to_slave_named_uart_0_auto_control_xing_out_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78211.4]
+  assign auto_coupler_to_slave_named_uart_0_control_xing_out_a_bits_address = coupler_to_slave_named_uart_0_auto_control_xing_out_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78211.4]
+  assign auto_coupler_to_slave_named_uart_0_control_xing_out_a_bits_mask = coupler_to_slave_named_uart_0_auto_control_xing_out_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78211.4]
+  assign auto_coupler_to_slave_named_uart_0_control_xing_out_a_bits_data = coupler_to_slave_named_uart_0_auto_control_xing_out_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78211.4]
+  assign auto_coupler_to_slave_named_uart_0_control_xing_out_a_bits_corrupt = coupler_to_slave_named_uart_0_auto_control_xing_out_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78211.4]
+  assign auto_coupler_to_slave_named_uart_0_control_xing_out_d_ready = coupler_to_slave_named_uart_0_auto_control_xing_out_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78211.4]
+  assign auto_from_cbus_in_a_ready = buffer_1_auto_in_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78210.4]
+  assign auto_from_cbus_in_d_valid = buffer_1_auto_in_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78210.4]
+  assign auto_from_cbus_in_d_bits_opcode = buffer_1_auto_in_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78210.4]
+  assign auto_from_cbus_in_d_bits_param = buffer_1_auto_in_d_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78210.4]
+  assign auto_from_cbus_in_d_bits_size = buffer_1_auto_in_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78210.4]
+  assign auto_from_cbus_in_d_bits_source = buffer_1_auto_in_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78210.4]
+  assign auto_from_cbus_in_d_bits_sink = buffer_1_auto_in_d_bits_sink; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78210.4]
+  assign auto_from_cbus_in_d_bits_denied = buffer_1_auto_in_d_bits_denied; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78210.4]
+  assign auto_from_cbus_in_d_bits_data = buffer_1_auto_in_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78210.4]
+  assign auto_from_cbus_in_d_bits_corrupt = buffer_1_auto_in_d_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78210.4]
+  assign in_xbar_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78077.4]
+  assign in_xbar_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78078.4]
+  assign in_xbar_auto_in_a_valid = buffer_1_auto_out_a_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78208.4]
+  assign in_xbar_auto_in_a_bits_opcode = buffer_1_auto_out_a_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78208.4]
+  assign in_xbar_auto_in_a_bits_param = buffer_1_auto_out_a_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78208.4]
+  assign in_xbar_auto_in_a_bits_size = buffer_1_auto_out_a_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78208.4]
+  assign in_xbar_auto_in_a_bits_source = buffer_1_auto_out_a_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78208.4]
+  assign in_xbar_auto_in_a_bits_address = buffer_1_auto_out_a_bits_address; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78208.4]
+  assign in_xbar_auto_in_a_bits_mask = buffer_1_auto_out_a_bits_mask; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78208.4]
+  assign in_xbar_auto_in_a_bits_data = buffer_1_auto_out_a_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78208.4]
+  assign in_xbar_auto_in_a_bits_corrupt = buffer_1_auto_out_a_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78208.4]
+  assign in_xbar_auto_in_d_ready = buffer_1_auto_out_d_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78208.4]
+  assign in_xbar_auto_out_a_ready = atomics_auto_in_a_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78192.4]
+  assign in_xbar_auto_out_d_valid = atomics_auto_in_d_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78192.4]
+  assign in_xbar_auto_out_d_bits_opcode = atomics_auto_in_d_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78192.4]
+  assign in_xbar_auto_out_d_bits_param = atomics_auto_in_d_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78192.4]
+  assign in_xbar_auto_out_d_bits_size = atomics_auto_in_d_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78192.4]
+  assign in_xbar_auto_out_d_bits_source = atomics_auto_in_d_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78192.4]
+  assign in_xbar_auto_out_d_bits_sink = atomics_auto_in_d_bits_sink; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78192.4]
+  assign in_xbar_auto_out_d_bits_denied = atomics_auto_in_d_bits_denied; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78192.4]
+  assign in_xbar_auto_out_d_bits_data = atomics_auto_in_d_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78192.4]
+  assign in_xbar_auto_out_d_bits_corrupt = atomics_auto_in_d_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78192.4]
+  assign out_xbar_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78083.4]
+  assign out_xbar_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78084.4]
+  assign out_xbar_auto_in_a_valid = buffer_auto_out_a_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78206.4]
+  assign out_xbar_auto_in_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78206.4]
+  assign out_xbar_auto_in_a_bits_param = buffer_auto_out_a_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78206.4]
+  assign out_xbar_auto_in_a_bits_size = buffer_auto_out_a_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78206.4]
+  assign out_xbar_auto_in_a_bits_source = buffer_auto_out_a_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78206.4]
+  assign out_xbar_auto_in_a_bits_address = buffer_auto_out_a_bits_address; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78206.4]
+  assign out_xbar_auto_in_a_bits_mask = buffer_auto_out_a_bits_mask; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78206.4]
+  assign out_xbar_auto_in_a_bits_data = buffer_auto_out_a_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78206.4]
+  assign out_xbar_auto_in_a_bits_corrupt = buffer_auto_out_a_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78206.4]
+  assign out_xbar_auto_in_d_ready = buffer_auto_out_d_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78206.4]
+  assign out_xbar_auto_out_12_a_ready = coupler_to_device_named_i2c_1_auto_fragmenter_in_a_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78205.4]
+  assign out_xbar_auto_out_12_d_valid = coupler_to_device_named_i2c_1_auto_fragmenter_in_d_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78205.4]
+  assign out_xbar_auto_out_12_d_bits_opcode = coupler_to_device_named_i2c_1_auto_fragmenter_in_d_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78205.4]
+  assign out_xbar_auto_out_12_d_bits_size = coupler_to_device_named_i2c_1_auto_fragmenter_in_d_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78205.4]
+  assign out_xbar_auto_out_12_d_bits_source = coupler_to_device_named_i2c_1_auto_fragmenter_in_d_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78205.4]
+  assign out_xbar_auto_out_12_d_bits_data = coupler_to_device_named_i2c_1_auto_fragmenter_in_d_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78205.4]
+  assign out_xbar_auto_out_11_a_ready = coupler_to_device_named_i2c_0_auto_fragmenter_in_a_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78204.4]
+  assign out_xbar_auto_out_11_d_valid = coupler_to_device_named_i2c_0_auto_fragmenter_in_d_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78204.4]
+  assign out_xbar_auto_out_11_d_bits_opcode = coupler_to_device_named_i2c_0_auto_fragmenter_in_d_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78204.4]
+  assign out_xbar_auto_out_11_d_bits_size = coupler_to_device_named_i2c_0_auto_fragmenter_in_d_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78204.4]
+  assign out_xbar_auto_out_11_d_bits_source = coupler_to_device_named_i2c_0_auto_fragmenter_in_d_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78204.4]
+  assign out_xbar_auto_out_11_d_bits_data = coupler_to_device_named_i2c_0_auto_fragmenter_in_d_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78204.4]
+  assign out_xbar_auto_out_10_a_ready = coupler_to_device_named_gpio_0_auto_fragmenter_in_a_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78203.4]
+  assign out_xbar_auto_out_10_d_valid = coupler_to_device_named_gpio_0_auto_fragmenter_in_d_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78203.4]
+  assign out_xbar_auto_out_10_d_bits_opcode = coupler_to_device_named_gpio_0_auto_fragmenter_in_d_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78203.4]
+  assign out_xbar_auto_out_10_d_bits_size = coupler_to_device_named_gpio_0_auto_fragmenter_in_d_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78203.4]
+  assign out_xbar_auto_out_10_d_bits_source = coupler_to_device_named_gpio_0_auto_fragmenter_in_d_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78203.4]
+  assign out_xbar_auto_out_10_d_bits_data = coupler_to_device_named_gpio_0_auto_fragmenter_in_d_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78203.4]
+  assign out_xbar_auto_out_9_a_ready = coupler_to_device_named_spi_1_auto_fragmenter_in_a_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78202.4]
+  assign out_xbar_auto_out_9_d_valid = coupler_to_device_named_spi_1_auto_fragmenter_in_d_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78202.4]
+  assign out_xbar_auto_out_9_d_bits_opcode = coupler_to_device_named_spi_1_auto_fragmenter_in_d_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78202.4]
+  assign out_xbar_auto_out_9_d_bits_size = coupler_to_device_named_spi_1_auto_fragmenter_in_d_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78202.4]
+  assign out_xbar_auto_out_9_d_bits_source = coupler_to_device_named_spi_1_auto_fragmenter_in_d_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78202.4]
+  assign out_xbar_auto_out_9_d_bits_data = coupler_to_device_named_spi_1_auto_fragmenter_in_d_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78202.4]
+  assign out_xbar_auto_out_8_a_ready = coupler_to_device_named_spi_0_auto_fragmenter_in_a_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78201.4]
+  assign out_xbar_auto_out_8_d_valid = coupler_to_device_named_spi_0_auto_fragmenter_in_d_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78201.4]
+  assign out_xbar_auto_out_8_d_bits_opcode = coupler_to_device_named_spi_0_auto_fragmenter_in_d_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78201.4]
+  assign out_xbar_auto_out_8_d_bits_size = coupler_to_device_named_spi_0_auto_fragmenter_in_d_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78201.4]
+  assign out_xbar_auto_out_8_d_bits_source = coupler_to_device_named_spi_0_auto_fragmenter_in_d_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78201.4]
+  assign out_xbar_auto_out_8_d_bits_data = coupler_to_device_named_spi_0_auto_fragmenter_in_d_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78201.4]
+  assign out_xbar_auto_out_7_a_ready = coupler_to_mem_named_qspi_0_auto_widget_in_a_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78200.4]
+  assign out_xbar_auto_out_7_d_valid = coupler_to_mem_named_qspi_0_auto_widget_in_d_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78200.4]
+  assign out_xbar_auto_out_7_d_bits_size = coupler_to_mem_named_qspi_0_auto_widget_in_d_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78200.4]
+  assign out_xbar_auto_out_7_d_bits_source = coupler_to_mem_named_qspi_0_auto_widget_in_d_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78200.4]
+  assign out_xbar_auto_out_7_d_bits_data = coupler_to_mem_named_qspi_0_auto_widget_in_d_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78200.4]
+  assign out_xbar_auto_out_7_d_bits_corrupt = coupler_to_mem_named_qspi_0_auto_widget_in_d_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78200.4]
+  assign out_xbar_auto_out_6_a_ready = coupler_to_device_named_qspi_0_auto_fragmenter_in_a_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78199.4]
+  assign out_xbar_auto_out_6_d_valid = coupler_to_device_named_qspi_0_auto_fragmenter_in_d_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78199.4]
+  assign out_xbar_auto_out_6_d_bits_opcode = coupler_to_device_named_qspi_0_auto_fragmenter_in_d_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78199.4]
+  assign out_xbar_auto_out_6_d_bits_size = coupler_to_device_named_qspi_0_auto_fragmenter_in_d_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78199.4]
+  assign out_xbar_auto_out_6_d_bits_source = coupler_to_device_named_qspi_0_auto_fragmenter_in_d_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78199.4]
+  assign out_xbar_auto_out_6_d_bits_data = coupler_to_device_named_qspi_0_auto_fragmenter_in_d_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78199.4]
+  assign out_xbar_auto_out_5_a_ready = coupler_to_slave_named_uart_4_auto_fragmenter_in_a_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78198.4]
+  assign out_xbar_auto_out_5_d_valid = coupler_to_slave_named_uart_4_auto_fragmenter_in_d_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78198.4]
+  assign out_xbar_auto_out_5_d_bits_opcode = coupler_to_slave_named_uart_4_auto_fragmenter_in_d_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78198.4]
+  assign out_xbar_auto_out_5_d_bits_size = coupler_to_slave_named_uart_4_auto_fragmenter_in_d_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78198.4]
+  assign out_xbar_auto_out_5_d_bits_source = coupler_to_slave_named_uart_4_auto_fragmenter_in_d_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78198.4]
+  assign out_xbar_auto_out_5_d_bits_data = coupler_to_slave_named_uart_4_auto_fragmenter_in_d_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78198.4]
+  assign out_xbar_auto_out_4_a_ready = coupler_to_slave_named_uart_3_auto_fragmenter_in_a_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78197.4]
+  assign out_xbar_auto_out_4_d_valid = coupler_to_slave_named_uart_3_auto_fragmenter_in_d_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78197.4]
+  assign out_xbar_auto_out_4_d_bits_opcode = coupler_to_slave_named_uart_3_auto_fragmenter_in_d_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78197.4]
+  assign out_xbar_auto_out_4_d_bits_size = coupler_to_slave_named_uart_3_auto_fragmenter_in_d_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78197.4]
+  assign out_xbar_auto_out_4_d_bits_source = coupler_to_slave_named_uart_3_auto_fragmenter_in_d_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78197.4]
+  assign out_xbar_auto_out_4_d_bits_data = coupler_to_slave_named_uart_3_auto_fragmenter_in_d_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78197.4]
+  assign out_xbar_auto_out_3_a_ready = coupler_to_slave_named_uart_2_auto_fragmenter_in_a_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78196.4]
+  assign out_xbar_auto_out_3_d_valid = coupler_to_slave_named_uart_2_auto_fragmenter_in_d_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78196.4]
+  assign out_xbar_auto_out_3_d_bits_opcode = coupler_to_slave_named_uart_2_auto_fragmenter_in_d_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78196.4]
+  assign out_xbar_auto_out_3_d_bits_size = coupler_to_slave_named_uart_2_auto_fragmenter_in_d_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78196.4]
+  assign out_xbar_auto_out_3_d_bits_source = coupler_to_slave_named_uart_2_auto_fragmenter_in_d_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78196.4]
+  assign out_xbar_auto_out_3_d_bits_data = coupler_to_slave_named_uart_2_auto_fragmenter_in_d_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78196.4]
+  assign out_xbar_auto_out_2_a_ready = coupler_to_slave_named_uart_1_auto_fragmenter_in_a_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78195.4]
+  assign out_xbar_auto_out_2_d_valid = coupler_to_slave_named_uart_1_auto_fragmenter_in_d_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78195.4]
+  assign out_xbar_auto_out_2_d_bits_opcode = coupler_to_slave_named_uart_1_auto_fragmenter_in_d_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78195.4]
+  assign out_xbar_auto_out_2_d_bits_size = coupler_to_slave_named_uart_1_auto_fragmenter_in_d_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78195.4]
+  assign out_xbar_auto_out_2_d_bits_source = coupler_to_slave_named_uart_1_auto_fragmenter_in_d_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78195.4]
+  assign out_xbar_auto_out_2_d_bits_data = coupler_to_slave_named_uart_1_auto_fragmenter_in_d_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78195.4]
+  assign out_xbar_auto_out_1_a_ready = coupler_to_slave_named_uart_0_auto_fragmenter_in_a_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78194.4]
+  assign out_xbar_auto_out_1_d_valid = coupler_to_slave_named_uart_0_auto_fragmenter_in_d_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78194.4]
+  assign out_xbar_auto_out_1_d_bits_opcode = coupler_to_slave_named_uart_0_auto_fragmenter_in_d_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78194.4]
+  assign out_xbar_auto_out_1_d_bits_size = coupler_to_slave_named_uart_0_auto_fragmenter_in_d_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78194.4]
+  assign out_xbar_auto_out_1_d_bits_source = coupler_to_slave_named_uart_0_auto_fragmenter_in_d_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78194.4]
+  assign out_xbar_auto_out_1_d_bits_data = coupler_to_slave_named_uart_0_auto_fragmenter_in_d_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78194.4]
+  assign out_xbar_auto_out_0_a_ready = wrapped_error_device_auto_error_in_a_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78193.4]
+  assign out_xbar_auto_out_0_d_valid = wrapped_error_device_auto_error_in_d_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78193.4]
+  assign out_xbar_auto_out_0_d_bits_opcode = wrapped_error_device_auto_error_in_d_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78193.4]
+  assign out_xbar_auto_out_0_d_bits_size = wrapped_error_device_auto_error_in_d_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78193.4]
+  assign out_xbar_auto_out_0_d_bits_source = wrapped_error_device_auto_error_in_d_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78193.4]
+  assign out_xbar_auto_out_0_d_bits_corrupt = wrapped_error_device_auto_error_in_d_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78193.4]
+  assign buffer_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78089.4]
+  assign buffer_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78090.4]
+  assign buffer_auto_in_a_valid = atomics_auto_out_a_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78207.4]
+  assign buffer_auto_in_a_bits_opcode = atomics_auto_out_a_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78207.4]
+  assign buffer_auto_in_a_bits_param = atomics_auto_out_a_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78207.4]
+  assign buffer_auto_in_a_bits_size = atomics_auto_out_a_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78207.4]
+  assign buffer_auto_in_a_bits_source = atomics_auto_out_a_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78207.4]
+  assign buffer_auto_in_a_bits_address = atomics_auto_out_a_bits_address; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78207.4]
+  assign buffer_auto_in_a_bits_mask = atomics_auto_out_a_bits_mask; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78207.4]
+  assign buffer_auto_in_a_bits_data = atomics_auto_out_a_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78207.4]
+  assign buffer_auto_in_a_bits_corrupt = atomics_auto_out_a_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78207.4]
+  assign buffer_auto_in_d_ready = atomics_auto_out_d_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78207.4]
+  assign buffer_auto_out_a_ready = out_xbar_auto_in_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78206.4]
+  assign buffer_auto_out_d_valid = out_xbar_auto_in_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78206.4]
+  assign buffer_auto_out_d_bits_opcode = out_xbar_auto_in_d_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78206.4]
+  assign buffer_auto_out_d_bits_param = out_xbar_auto_in_d_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78206.4]
+  assign buffer_auto_out_d_bits_size = out_xbar_auto_in_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78206.4]
+  assign buffer_auto_out_d_bits_source = out_xbar_auto_in_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78206.4]
+  assign buffer_auto_out_d_bits_sink = out_xbar_auto_in_d_bits_sink; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78206.4]
+  assign buffer_auto_out_d_bits_denied = out_xbar_auto_in_d_bits_denied; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78206.4]
+  assign buffer_auto_out_d_bits_data = out_xbar_auto_in_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78206.4]
+  assign buffer_auto_out_d_bits_corrupt = out_xbar_auto_in_d_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78206.4]
+  assign atomics_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78095.4]
+  assign atomics_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78096.4]
+  assign atomics_auto_in_a_valid = in_xbar_auto_out_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78192.4]
+  assign atomics_auto_in_a_bits_opcode = in_xbar_auto_out_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78192.4]
+  assign atomics_auto_in_a_bits_param = in_xbar_auto_out_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78192.4]
+  assign atomics_auto_in_a_bits_size = in_xbar_auto_out_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78192.4]
+  assign atomics_auto_in_a_bits_source = in_xbar_auto_out_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78192.4]
+  assign atomics_auto_in_a_bits_address = in_xbar_auto_out_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78192.4]
+  assign atomics_auto_in_a_bits_mask = in_xbar_auto_out_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78192.4]
+  assign atomics_auto_in_a_bits_data = in_xbar_auto_out_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78192.4]
+  assign atomics_auto_in_a_bits_corrupt = in_xbar_auto_out_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78192.4]
+  assign atomics_auto_in_d_ready = in_xbar_auto_out_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78192.4]
+  assign atomics_auto_out_a_ready = buffer_auto_in_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78207.4]
+  assign atomics_auto_out_d_valid = buffer_auto_in_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78207.4]
+  assign atomics_auto_out_d_bits_opcode = buffer_auto_in_d_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78207.4]
+  assign atomics_auto_out_d_bits_param = buffer_auto_in_d_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78207.4]
+  assign atomics_auto_out_d_bits_size = buffer_auto_in_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78207.4]
+  assign atomics_auto_out_d_bits_source = buffer_auto_in_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78207.4]
+  assign atomics_auto_out_d_bits_sink = buffer_auto_in_d_bits_sink; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78207.4]
+  assign atomics_auto_out_d_bits_denied = buffer_auto_in_d_bits_denied; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78207.4]
+  assign atomics_auto_out_d_bits_data = buffer_auto_in_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78207.4]
+  assign atomics_auto_out_d_bits_corrupt = buffer_auto_in_d_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78207.4]
+  assign wrapped_error_device_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78101.4]
+  assign wrapped_error_device_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78102.4]
+  assign wrapped_error_device_auto_error_in_a_valid = out_xbar_auto_out_0_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78193.4]
+  assign wrapped_error_device_auto_error_in_a_bits_opcode = out_xbar_auto_out_0_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78193.4]
+  assign wrapped_error_device_auto_error_in_a_bits_param = out_xbar_auto_out_0_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78193.4]
+  assign wrapped_error_device_auto_error_in_a_bits_size = out_xbar_auto_out_0_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78193.4]
+  assign wrapped_error_device_auto_error_in_a_bits_source = out_xbar_auto_out_0_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78193.4]
+  assign wrapped_error_device_auto_error_in_a_bits_address = out_xbar_auto_out_0_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78193.4]
+  assign wrapped_error_device_auto_error_in_a_bits_mask = out_xbar_auto_out_0_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78193.4]
+  assign wrapped_error_device_auto_error_in_a_bits_corrupt = out_xbar_auto_out_0_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78193.4]
+  assign wrapped_error_device_auto_error_in_d_ready = out_xbar_auto_out_0_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78193.4]
+  assign buffer_1_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78113.4]
+  assign buffer_1_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78114.4]
+  assign buffer_1_auto_in_a_valid = auto_from_cbus_in_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78209.4]
+  assign buffer_1_auto_in_a_bits_opcode = auto_from_cbus_in_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78209.4]
+  assign buffer_1_auto_in_a_bits_param = auto_from_cbus_in_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78209.4]
+  assign buffer_1_auto_in_a_bits_size = auto_from_cbus_in_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78209.4]
+  assign buffer_1_auto_in_a_bits_source = auto_from_cbus_in_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78209.4]
+  assign buffer_1_auto_in_a_bits_address = auto_from_cbus_in_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78209.4]
+  assign buffer_1_auto_in_a_bits_mask = auto_from_cbus_in_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78209.4]
+  assign buffer_1_auto_in_a_bits_data = auto_from_cbus_in_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78209.4]
+  assign buffer_1_auto_in_a_bits_corrupt = auto_from_cbus_in_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78209.4]
+  assign buffer_1_auto_in_d_ready = auto_from_cbus_in_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78209.4]
+  assign buffer_1_auto_out_a_ready = in_xbar_auto_in_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78208.4]
+  assign buffer_1_auto_out_d_valid = in_xbar_auto_in_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78208.4]
+  assign buffer_1_auto_out_d_bits_opcode = in_xbar_auto_in_d_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78208.4]
+  assign buffer_1_auto_out_d_bits_param = in_xbar_auto_in_d_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78208.4]
+  assign buffer_1_auto_out_d_bits_size = in_xbar_auto_in_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78208.4]
+  assign buffer_1_auto_out_d_bits_source = in_xbar_auto_in_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78208.4]
+  assign buffer_1_auto_out_d_bits_sink = in_xbar_auto_in_d_bits_sink; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78208.4]
+  assign buffer_1_auto_out_d_bits_denied = in_xbar_auto_in_d_bits_denied; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78208.4]
+  assign buffer_1_auto_out_d_bits_data = in_xbar_auto_in_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78208.4]
+  assign buffer_1_auto_out_d_bits_corrupt = in_xbar_auto_in_d_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78208.4]
+  assign coupler_to_slave_named_uart_0_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78119.4]
+  assign coupler_to_slave_named_uart_0_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78120.4]
+  assign coupler_to_slave_named_uart_0_auto_fragmenter_in_a_valid = out_xbar_auto_out_1_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78194.4]
+  assign coupler_to_slave_named_uart_0_auto_fragmenter_in_a_bits_opcode = out_xbar_auto_out_1_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78194.4]
+  assign coupler_to_slave_named_uart_0_auto_fragmenter_in_a_bits_param = out_xbar_auto_out_1_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78194.4]
+  assign coupler_to_slave_named_uart_0_auto_fragmenter_in_a_bits_size = out_xbar_auto_out_1_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78194.4]
+  assign coupler_to_slave_named_uart_0_auto_fragmenter_in_a_bits_source = out_xbar_auto_out_1_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78194.4]
+  assign coupler_to_slave_named_uart_0_auto_fragmenter_in_a_bits_address = out_xbar_auto_out_1_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78194.4]
+  assign coupler_to_slave_named_uart_0_auto_fragmenter_in_a_bits_mask = out_xbar_auto_out_1_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78194.4]
+  assign coupler_to_slave_named_uart_0_auto_fragmenter_in_a_bits_data = out_xbar_auto_out_1_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78194.4]
+  assign coupler_to_slave_named_uart_0_auto_fragmenter_in_a_bits_corrupt = out_xbar_auto_out_1_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78194.4]
+  assign coupler_to_slave_named_uart_0_auto_fragmenter_in_d_ready = out_xbar_auto_out_1_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78194.4]
+  assign coupler_to_slave_named_uart_0_auto_control_xing_out_a_ready = auto_coupler_to_slave_named_uart_0_control_xing_out_a_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78211.4]
+  assign coupler_to_slave_named_uart_0_auto_control_xing_out_d_valid = auto_coupler_to_slave_named_uart_0_control_xing_out_d_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78211.4]
+  assign coupler_to_slave_named_uart_0_auto_control_xing_out_d_bits_opcode = auto_coupler_to_slave_named_uart_0_control_xing_out_d_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78211.4]
+  assign coupler_to_slave_named_uart_0_auto_control_xing_out_d_bits_size = auto_coupler_to_slave_named_uart_0_control_xing_out_d_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78211.4]
+  assign coupler_to_slave_named_uart_0_auto_control_xing_out_d_bits_source = auto_coupler_to_slave_named_uart_0_control_xing_out_d_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78211.4]
+  assign coupler_to_slave_named_uart_0_auto_control_xing_out_d_bits_data = auto_coupler_to_slave_named_uart_0_control_xing_out_d_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78211.4]
+  assign coupler_to_slave_named_uart_1_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78125.4]
+  assign coupler_to_slave_named_uart_1_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78126.4]
+  assign coupler_to_slave_named_uart_1_auto_fragmenter_in_a_valid = out_xbar_auto_out_2_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78195.4]
+  assign coupler_to_slave_named_uart_1_auto_fragmenter_in_a_bits_opcode = out_xbar_auto_out_2_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78195.4]
+  assign coupler_to_slave_named_uart_1_auto_fragmenter_in_a_bits_param = out_xbar_auto_out_2_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78195.4]
+  assign coupler_to_slave_named_uart_1_auto_fragmenter_in_a_bits_size = out_xbar_auto_out_2_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78195.4]
+  assign coupler_to_slave_named_uart_1_auto_fragmenter_in_a_bits_source = out_xbar_auto_out_2_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78195.4]
+  assign coupler_to_slave_named_uart_1_auto_fragmenter_in_a_bits_address = out_xbar_auto_out_2_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78195.4]
+  assign coupler_to_slave_named_uart_1_auto_fragmenter_in_a_bits_mask = out_xbar_auto_out_2_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78195.4]
+  assign coupler_to_slave_named_uart_1_auto_fragmenter_in_a_bits_data = out_xbar_auto_out_2_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78195.4]
+  assign coupler_to_slave_named_uart_1_auto_fragmenter_in_a_bits_corrupt = out_xbar_auto_out_2_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78195.4]
+  assign coupler_to_slave_named_uart_1_auto_fragmenter_in_d_ready = out_xbar_auto_out_2_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78195.4]
+  assign coupler_to_slave_named_uart_1_auto_control_xing_out_a_ready = auto_coupler_to_slave_named_uart_1_control_xing_out_a_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78212.4]
+  assign coupler_to_slave_named_uart_1_auto_control_xing_out_d_valid = auto_coupler_to_slave_named_uart_1_control_xing_out_d_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78212.4]
+  assign coupler_to_slave_named_uart_1_auto_control_xing_out_d_bits_opcode = auto_coupler_to_slave_named_uart_1_control_xing_out_d_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78212.4]
+  assign coupler_to_slave_named_uart_1_auto_control_xing_out_d_bits_size = auto_coupler_to_slave_named_uart_1_control_xing_out_d_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78212.4]
+  assign coupler_to_slave_named_uart_1_auto_control_xing_out_d_bits_source = auto_coupler_to_slave_named_uart_1_control_xing_out_d_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78212.4]
+  assign coupler_to_slave_named_uart_1_auto_control_xing_out_d_bits_data = auto_coupler_to_slave_named_uart_1_control_xing_out_d_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78212.4]
+  assign coupler_to_slave_named_uart_2_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78131.4]
+  assign coupler_to_slave_named_uart_2_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78132.4]
+  assign coupler_to_slave_named_uart_2_auto_fragmenter_in_a_valid = out_xbar_auto_out_3_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78196.4]
+  assign coupler_to_slave_named_uart_2_auto_fragmenter_in_a_bits_opcode = out_xbar_auto_out_3_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78196.4]
+  assign coupler_to_slave_named_uart_2_auto_fragmenter_in_a_bits_param = out_xbar_auto_out_3_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78196.4]
+  assign coupler_to_slave_named_uart_2_auto_fragmenter_in_a_bits_size = out_xbar_auto_out_3_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78196.4]
+  assign coupler_to_slave_named_uart_2_auto_fragmenter_in_a_bits_source = out_xbar_auto_out_3_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78196.4]
+  assign coupler_to_slave_named_uart_2_auto_fragmenter_in_a_bits_address = out_xbar_auto_out_3_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78196.4]
+  assign coupler_to_slave_named_uart_2_auto_fragmenter_in_a_bits_mask = out_xbar_auto_out_3_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78196.4]
+  assign coupler_to_slave_named_uart_2_auto_fragmenter_in_a_bits_data = out_xbar_auto_out_3_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78196.4]
+  assign coupler_to_slave_named_uart_2_auto_fragmenter_in_a_bits_corrupt = out_xbar_auto_out_3_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78196.4]
+  assign coupler_to_slave_named_uart_2_auto_fragmenter_in_d_ready = out_xbar_auto_out_3_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78196.4]
+  assign coupler_to_slave_named_uart_2_auto_control_xing_out_a_ready = auto_coupler_to_slave_named_uart_2_control_xing_out_a_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78213.4]
+  assign coupler_to_slave_named_uart_2_auto_control_xing_out_d_valid = auto_coupler_to_slave_named_uart_2_control_xing_out_d_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78213.4]
+  assign coupler_to_slave_named_uart_2_auto_control_xing_out_d_bits_opcode = auto_coupler_to_slave_named_uart_2_control_xing_out_d_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78213.4]
+  assign coupler_to_slave_named_uart_2_auto_control_xing_out_d_bits_size = auto_coupler_to_slave_named_uart_2_control_xing_out_d_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78213.4]
+  assign coupler_to_slave_named_uart_2_auto_control_xing_out_d_bits_source = auto_coupler_to_slave_named_uart_2_control_xing_out_d_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78213.4]
+  assign coupler_to_slave_named_uart_2_auto_control_xing_out_d_bits_data = auto_coupler_to_slave_named_uart_2_control_xing_out_d_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78213.4]
+  assign coupler_to_slave_named_uart_3_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78137.4]
+  assign coupler_to_slave_named_uart_3_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78138.4]
+  assign coupler_to_slave_named_uart_3_auto_fragmenter_in_a_valid = out_xbar_auto_out_4_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78197.4]
+  assign coupler_to_slave_named_uart_3_auto_fragmenter_in_a_bits_opcode = out_xbar_auto_out_4_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78197.4]
+  assign coupler_to_slave_named_uart_3_auto_fragmenter_in_a_bits_param = out_xbar_auto_out_4_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78197.4]
+  assign coupler_to_slave_named_uart_3_auto_fragmenter_in_a_bits_size = out_xbar_auto_out_4_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78197.4]
+  assign coupler_to_slave_named_uart_3_auto_fragmenter_in_a_bits_source = out_xbar_auto_out_4_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78197.4]
+  assign coupler_to_slave_named_uart_3_auto_fragmenter_in_a_bits_address = out_xbar_auto_out_4_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78197.4]
+  assign coupler_to_slave_named_uart_3_auto_fragmenter_in_a_bits_mask = out_xbar_auto_out_4_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78197.4]
+  assign coupler_to_slave_named_uart_3_auto_fragmenter_in_a_bits_data = out_xbar_auto_out_4_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78197.4]
+  assign coupler_to_slave_named_uart_3_auto_fragmenter_in_a_bits_corrupt = out_xbar_auto_out_4_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78197.4]
+  assign coupler_to_slave_named_uart_3_auto_fragmenter_in_d_ready = out_xbar_auto_out_4_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78197.4]
+  assign coupler_to_slave_named_uart_3_auto_control_xing_out_a_ready = auto_coupler_to_slave_named_uart_3_control_xing_out_a_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78214.4]
+  assign coupler_to_slave_named_uart_3_auto_control_xing_out_d_valid = auto_coupler_to_slave_named_uart_3_control_xing_out_d_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78214.4]
+  assign coupler_to_slave_named_uart_3_auto_control_xing_out_d_bits_opcode = auto_coupler_to_slave_named_uart_3_control_xing_out_d_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78214.4]
+  assign coupler_to_slave_named_uart_3_auto_control_xing_out_d_bits_size = auto_coupler_to_slave_named_uart_3_control_xing_out_d_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78214.4]
+  assign coupler_to_slave_named_uart_3_auto_control_xing_out_d_bits_source = auto_coupler_to_slave_named_uart_3_control_xing_out_d_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78214.4]
+  assign coupler_to_slave_named_uart_3_auto_control_xing_out_d_bits_data = auto_coupler_to_slave_named_uart_3_control_xing_out_d_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78214.4]
+  assign coupler_to_slave_named_uart_4_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78143.4]
+  assign coupler_to_slave_named_uart_4_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78144.4]
+  assign coupler_to_slave_named_uart_4_auto_fragmenter_in_a_valid = out_xbar_auto_out_5_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78198.4]
+  assign coupler_to_slave_named_uart_4_auto_fragmenter_in_a_bits_opcode = out_xbar_auto_out_5_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78198.4]
+  assign coupler_to_slave_named_uart_4_auto_fragmenter_in_a_bits_param = out_xbar_auto_out_5_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78198.4]
+  assign coupler_to_slave_named_uart_4_auto_fragmenter_in_a_bits_size = out_xbar_auto_out_5_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78198.4]
+  assign coupler_to_slave_named_uart_4_auto_fragmenter_in_a_bits_source = out_xbar_auto_out_5_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78198.4]
+  assign coupler_to_slave_named_uart_4_auto_fragmenter_in_a_bits_address = out_xbar_auto_out_5_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78198.4]
+  assign coupler_to_slave_named_uart_4_auto_fragmenter_in_a_bits_mask = out_xbar_auto_out_5_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78198.4]
+  assign coupler_to_slave_named_uart_4_auto_fragmenter_in_a_bits_data = out_xbar_auto_out_5_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78198.4]
+  assign coupler_to_slave_named_uart_4_auto_fragmenter_in_a_bits_corrupt = out_xbar_auto_out_5_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78198.4]
+  assign coupler_to_slave_named_uart_4_auto_fragmenter_in_d_ready = out_xbar_auto_out_5_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78198.4]
+  assign coupler_to_slave_named_uart_4_auto_control_xing_out_a_ready = auto_coupler_to_slave_named_uart_4_control_xing_out_a_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78215.4]
+  assign coupler_to_slave_named_uart_4_auto_control_xing_out_d_valid = auto_coupler_to_slave_named_uart_4_control_xing_out_d_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78215.4]
+  assign coupler_to_slave_named_uart_4_auto_control_xing_out_d_bits_opcode = auto_coupler_to_slave_named_uart_4_control_xing_out_d_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78215.4]
+  assign coupler_to_slave_named_uart_4_auto_control_xing_out_d_bits_size = auto_coupler_to_slave_named_uart_4_control_xing_out_d_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78215.4]
+  assign coupler_to_slave_named_uart_4_auto_control_xing_out_d_bits_source = auto_coupler_to_slave_named_uart_4_control_xing_out_d_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78215.4]
+  assign coupler_to_slave_named_uart_4_auto_control_xing_out_d_bits_data = auto_coupler_to_slave_named_uart_4_control_xing_out_d_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78215.4]
+  assign coupler_to_device_named_qspi_0_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78149.4]
+  assign coupler_to_device_named_qspi_0_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78150.4]
+  assign coupler_to_device_named_qspi_0_auto_fragmenter_in_a_valid = out_xbar_auto_out_6_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78199.4]
+  assign coupler_to_device_named_qspi_0_auto_fragmenter_in_a_bits_opcode = out_xbar_auto_out_6_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78199.4]
+  assign coupler_to_device_named_qspi_0_auto_fragmenter_in_a_bits_param = out_xbar_auto_out_6_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78199.4]
+  assign coupler_to_device_named_qspi_0_auto_fragmenter_in_a_bits_size = out_xbar_auto_out_6_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78199.4]
+  assign coupler_to_device_named_qspi_0_auto_fragmenter_in_a_bits_source = out_xbar_auto_out_6_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78199.4]
+  assign coupler_to_device_named_qspi_0_auto_fragmenter_in_a_bits_address = out_xbar_auto_out_6_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78199.4]
+  assign coupler_to_device_named_qspi_0_auto_fragmenter_in_a_bits_mask = out_xbar_auto_out_6_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78199.4]
+  assign coupler_to_device_named_qspi_0_auto_fragmenter_in_a_bits_data = out_xbar_auto_out_6_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78199.4]
+  assign coupler_to_device_named_qspi_0_auto_fragmenter_in_a_bits_corrupt = out_xbar_auto_out_6_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78199.4]
+  assign coupler_to_device_named_qspi_0_auto_fragmenter_in_d_ready = out_xbar_auto_out_6_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78199.4]
+  assign coupler_to_device_named_qspi_0_auto_control_xing_out_a_ready = auto_coupler_to_device_named_qspi_0_control_xing_out_a_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78216.4]
+  assign coupler_to_device_named_qspi_0_auto_control_xing_out_d_valid = auto_coupler_to_device_named_qspi_0_control_xing_out_d_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78216.4]
+  assign coupler_to_device_named_qspi_0_auto_control_xing_out_d_bits_opcode = auto_coupler_to_device_named_qspi_0_control_xing_out_d_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78216.4]
+  assign coupler_to_device_named_qspi_0_auto_control_xing_out_d_bits_size = auto_coupler_to_device_named_qspi_0_control_xing_out_d_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78216.4]
+  assign coupler_to_device_named_qspi_0_auto_control_xing_out_d_bits_source = auto_coupler_to_device_named_qspi_0_control_xing_out_d_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78216.4]
+  assign coupler_to_device_named_qspi_0_auto_control_xing_out_d_bits_data = auto_coupler_to_device_named_qspi_0_control_xing_out_d_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78216.4]
+  assign coupler_to_mem_named_qspi_0_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78155.4]
+  assign coupler_to_mem_named_qspi_0_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78156.4]
+  assign coupler_to_mem_named_qspi_0_auto_widget_in_a_valid = out_xbar_auto_out_7_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78200.4]
+  assign coupler_to_mem_named_qspi_0_auto_widget_in_a_bits_opcode = out_xbar_auto_out_7_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78200.4]
+  assign coupler_to_mem_named_qspi_0_auto_widget_in_a_bits_param = out_xbar_auto_out_7_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78200.4]
+  assign coupler_to_mem_named_qspi_0_auto_widget_in_a_bits_size = out_xbar_auto_out_7_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78200.4]
+  assign coupler_to_mem_named_qspi_0_auto_widget_in_a_bits_source = out_xbar_auto_out_7_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78200.4]
+  assign coupler_to_mem_named_qspi_0_auto_widget_in_a_bits_address = out_xbar_auto_out_7_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78200.4]
+  assign coupler_to_mem_named_qspi_0_auto_widget_in_a_bits_mask = out_xbar_auto_out_7_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78200.4]
+  assign coupler_to_mem_named_qspi_0_auto_widget_in_a_bits_corrupt = out_xbar_auto_out_7_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78200.4]
+  assign coupler_to_mem_named_qspi_0_auto_widget_in_d_ready = out_xbar_auto_out_7_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78200.4]
+  assign coupler_to_mem_named_qspi_0_auto_mem_xing_out_a_ready = auto_coupler_to_mem_named_qspi_0_mem_xing_out_a_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78217.4]
+  assign coupler_to_mem_named_qspi_0_auto_mem_xing_out_d_valid = auto_coupler_to_mem_named_qspi_0_mem_xing_out_d_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78217.4]
+  assign coupler_to_mem_named_qspi_0_auto_mem_xing_out_d_bits_size = auto_coupler_to_mem_named_qspi_0_mem_xing_out_d_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78217.4]
+  assign coupler_to_mem_named_qspi_0_auto_mem_xing_out_d_bits_source = auto_coupler_to_mem_named_qspi_0_mem_xing_out_d_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78217.4]
+  assign coupler_to_mem_named_qspi_0_auto_mem_xing_out_d_bits_data = auto_coupler_to_mem_named_qspi_0_mem_xing_out_d_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78217.4]
+  assign coupler_to_device_named_spi_0_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78161.4]
+  assign coupler_to_device_named_spi_0_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78162.4]
+  assign coupler_to_device_named_spi_0_auto_fragmenter_in_a_valid = out_xbar_auto_out_8_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78201.4]
+  assign coupler_to_device_named_spi_0_auto_fragmenter_in_a_bits_opcode = out_xbar_auto_out_8_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78201.4]
+  assign coupler_to_device_named_spi_0_auto_fragmenter_in_a_bits_param = out_xbar_auto_out_8_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78201.4]
+  assign coupler_to_device_named_spi_0_auto_fragmenter_in_a_bits_size = out_xbar_auto_out_8_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78201.4]
+  assign coupler_to_device_named_spi_0_auto_fragmenter_in_a_bits_source = out_xbar_auto_out_8_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78201.4]
+  assign coupler_to_device_named_spi_0_auto_fragmenter_in_a_bits_address = out_xbar_auto_out_8_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78201.4]
+  assign coupler_to_device_named_spi_0_auto_fragmenter_in_a_bits_mask = out_xbar_auto_out_8_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78201.4]
+  assign coupler_to_device_named_spi_0_auto_fragmenter_in_a_bits_data = out_xbar_auto_out_8_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78201.4]
+  assign coupler_to_device_named_spi_0_auto_fragmenter_in_a_bits_corrupt = out_xbar_auto_out_8_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78201.4]
+  assign coupler_to_device_named_spi_0_auto_fragmenter_in_d_ready = out_xbar_auto_out_8_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78201.4]
+  assign coupler_to_device_named_spi_0_auto_control_xing_out_a_ready = auto_coupler_to_device_named_spi_0_control_xing_out_a_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78218.4]
+  assign coupler_to_device_named_spi_0_auto_control_xing_out_d_valid = auto_coupler_to_device_named_spi_0_control_xing_out_d_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78218.4]
+  assign coupler_to_device_named_spi_0_auto_control_xing_out_d_bits_opcode = auto_coupler_to_device_named_spi_0_control_xing_out_d_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78218.4]
+  assign coupler_to_device_named_spi_0_auto_control_xing_out_d_bits_size = auto_coupler_to_device_named_spi_0_control_xing_out_d_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78218.4]
+  assign coupler_to_device_named_spi_0_auto_control_xing_out_d_bits_source = auto_coupler_to_device_named_spi_0_control_xing_out_d_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78218.4]
+  assign coupler_to_device_named_spi_0_auto_control_xing_out_d_bits_data = auto_coupler_to_device_named_spi_0_control_xing_out_d_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78218.4]
+  assign coupler_to_device_named_spi_1_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78167.4]
+  assign coupler_to_device_named_spi_1_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78168.4]
+  assign coupler_to_device_named_spi_1_auto_fragmenter_in_a_valid = out_xbar_auto_out_9_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78202.4]
+  assign coupler_to_device_named_spi_1_auto_fragmenter_in_a_bits_opcode = out_xbar_auto_out_9_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78202.4]
+  assign coupler_to_device_named_spi_1_auto_fragmenter_in_a_bits_param = out_xbar_auto_out_9_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78202.4]
+  assign coupler_to_device_named_spi_1_auto_fragmenter_in_a_bits_size = out_xbar_auto_out_9_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78202.4]
+  assign coupler_to_device_named_spi_1_auto_fragmenter_in_a_bits_source = out_xbar_auto_out_9_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78202.4]
+  assign coupler_to_device_named_spi_1_auto_fragmenter_in_a_bits_address = out_xbar_auto_out_9_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78202.4]
+  assign coupler_to_device_named_spi_1_auto_fragmenter_in_a_bits_mask = out_xbar_auto_out_9_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78202.4]
+  assign coupler_to_device_named_spi_1_auto_fragmenter_in_a_bits_data = out_xbar_auto_out_9_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78202.4]
+  assign coupler_to_device_named_spi_1_auto_fragmenter_in_a_bits_corrupt = out_xbar_auto_out_9_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78202.4]
+  assign coupler_to_device_named_spi_1_auto_fragmenter_in_d_ready = out_xbar_auto_out_9_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78202.4]
+  assign coupler_to_device_named_spi_1_auto_control_xing_out_a_ready = auto_coupler_to_device_named_spi_1_control_xing_out_a_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78219.4]
+  assign coupler_to_device_named_spi_1_auto_control_xing_out_d_valid = auto_coupler_to_device_named_spi_1_control_xing_out_d_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78219.4]
+  assign coupler_to_device_named_spi_1_auto_control_xing_out_d_bits_opcode = auto_coupler_to_device_named_spi_1_control_xing_out_d_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78219.4]
+  assign coupler_to_device_named_spi_1_auto_control_xing_out_d_bits_size = auto_coupler_to_device_named_spi_1_control_xing_out_d_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78219.4]
+  assign coupler_to_device_named_spi_1_auto_control_xing_out_d_bits_source = auto_coupler_to_device_named_spi_1_control_xing_out_d_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78219.4]
+  assign coupler_to_device_named_spi_1_auto_control_xing_out_d_bits_data = auto_coupler_to_device_named_spi_1_control_xing_out_d_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78219.4]
+  assign coupler_to_device_named_gpio_0_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78173.4]
+  assign coupler_to_device_named_gpio_0_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78174.4]
+  assign coupler_to_device_named_gpio_0_auto_fragmenter_in_a_valid = out_xbar_auto_out_10_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78203.4]
+  assign coupler_to_device_named_gpio_0_auto_fragmenter_in_a_bits_opcode = out_xbar_auto_out_10_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78203.4]
+  assign coupler_to_device_named_gpio_0_auto_fragmenter_in_a_bits_param = out_xbar_auto_out_10_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78203.4]
+  assign coupler_to_device_named_gpio_0_auto_fragmenter_in_a_bits_size = out_xbar_auto_out_10_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78203.4]
+  assign coupler_to_device_named_gpio_0_auto_fragmenter_in_a_bits_source = out_xbar_auto_out_10_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78203.4]
+  assign coupler_to_device_named_gpio_0_auto_fragmenter_in_a_bits_address = out_xbar_auto_out_10_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78203.4]
+  assign coupler_to_device_named_gpio_0_auto_fragmenter_in_a_bits_mask = out_xbar_auto_out_10_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78203.4]
+  assign coupler_to_device_named_gpio_0_auto_fragmenter_in_a_bits_data = out_xbar_auto_out_10_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78203.4]
+  assign coupler_to_device_named_gpio_0_auto_fragmenter_in_a_bits_corrupt = out_xbar_auto_out_10_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78203.4]
+  assign coupler_to_device_named_gpio_0_auto_fragmenter_in_d_ready = out_xbar_auto_out_10_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78203.4]
+  assign coupler_to_device_named_gpio_0_auto_control_xing_out_a_ready = auto_coupler_to_device_named_gpio_0_control_xing_out_a_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78220.4]
+  assign coupler_to_device_named_gpio_0_auto_control_xing_out_d_valid = auto_coupler_to_device_named_gpio_0_control_xing_out_d_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78220.4]
+  assign coupler_to_device_named_gpio_0_auto_control_xing_out_d_bits_opcode = auto_coupler_to_device_named_gpio_0_control_xing_out_d_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78220.4]
+  assign coupler_to_device_named_gpio_0_auto_control_xing_out_d_bits_size = auto_coupler_to_device_named_gpio_0_control_xing_out_d_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78220.4]
+  assign coupler_to_device_named_gpio_0_auto_control_xing_out_d_bits_source = auto_coupler_to_device_named_gpio_0_control_xing_out_d_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78220.4]
+  assign coupler_to_device_named_gpio_0_auto_control_xing_out_d_bits_data = auto_coupler_to_device_named_gpio_0_control_xing_out_d_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78220.4]
+  assign coupler_to_device_named_i2c_0_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78179.4]
+  assign coupler_to_device_named_i2c_0_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78180.4]
+  assign coupler_to_device_named_i2c_0_auto_fragmenter_in_a_valid = out_xbar_auto_out_11_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78204.4]
+  assign coupler_to_device_named_i2c_0_auto_fragmenter_in_a_bits_opcode = out_xbar_auto_out_11_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78204.4]
+  assign coupler_to_device_named_i2c_0_auto_fragmenter_in_a_bits_param = out_xbar_auto_out_11_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78204.4]
+  assign coupler_to_device_named_i2c_0_auto_fragmenter_in_a_bits_size = out_xbar_auto_out_11_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78204.4]
+  assign coupler_to_device_named_i2c_0_auto_fragmenter_in_a_bits_source = out_xbar_auto_out_11_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78204.4]
+  assign coupler_to_device_named_i2c_0_auto_fragmenter_in_a_bits_address = out_xbar_auto_out_11_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78204.4]
+  assign coupler_to_device_named_i2c_0_auto_fragmenter_in_a_bits_mask = out_xbar_auto_out_11_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78204.4]
+  assign coupler_to_device_named_i2c_0_auto_fragmenter_in_a_bits_data = out_xbar_auto_out_11_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78204.4]
+  assign coupler_to_device_named_i2c_0_auto_fragmenter_in_a_bits_corrupt = out_xbar_auto_out_11_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78204.4]
+  assign coupler_to_device_named_i2c_0_auto_fragmenter_in_d_ready = out_xbar_auto_out_11_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78204.4]
+  assign coupler_to_device_named_i2c_0_auto_control_xing_out_a_ready = auto_coupler_to_device_named_i2c_0_control_xing_out_a_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78221.4]
+  assign coupler_to_device_named_i2c_0_auto_control_xing_out_d_valid = auto_coupler_to_device_named_i2c_0_control_xing_out_d_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78221.4]
+  assign coupler_to_device_named_i2c_0_auto_control_xing_out_d_bits_opcode = auto_coupler_to_device_named_i2c_0_control_xing_out_d_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78221.4]
+  assign coupler_to_device_named_i2c_0_auto_control_xing_out_d_bits_size = auto_coupler_to_device_named_i2c_0_control_xing_out_d_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78221.4]
+  assign coupler_to_device_named_i2c_0_auto_control_xing_out_d_bits_source = auto_coupler_to_device_named_i2c_0_control_xing_out_d_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78221.4]
+  assign coupler_to_device_named_i2c_0_auto_control_xing_out_d_bits_data = auto_coupler_to_device_named_i2c_0_control_xing_out_d_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78221.4]
+  assign coupler_to_device_named_i2c_1_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78185.4]
+  assign coupler_to_device_named_i2c_1_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78186.4]
+  assign coupler_to_device_named_i2c_1_auto_fragmenter_in_a_valid = out_xbar_auto_out_12_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78205.4]
+  assign coupler_to_device_named_i2c_1_auto_fragmenter_in_a_bits_opcode = out_xbar_auto_out_12_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78205.4]
+  assign coupler_to_device_named_i2c_1_auto_fragmenter_in_a_bits_param = out_xbar_auto_out_12_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78205.4]
+  assign coupler_to_device_named_i2c_1_auto_fragmenter_in_a_bits_size = out_xbar_auto_out_12_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78205.4]
+  assign coupler_to_device_named_i2c_1_auto_fragmenter_in_a_bits_source = out_xbar_auto_out_12_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78205.4]
+  assign coupler_to_device_named_i2c_1_auto_fragmenter_in_a_bits_address = out_xbar_auto_out_12_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78205.4]
+  assign coupler_to_device_named_i2c_1_auto_fragmenter_in_a_bits_mask = out_xbar_auto_out_12_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78205.4]
+  assign coupler_to_device_named_i2c_1_auto_fragmenter_in_a_bits_data = out_xbar_auto_out_12_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78205.4]
+  assign coupler_to_device_named_i2c_1_auto_fragmenter_in_a_bits_corrupt = out_xbar_auto_out_12_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78205.4]
+  assign coupler_to_device_named_i2c_1_auto_fragmenter_in_d_ready = out_xbar_auto_out_12_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78205.4]
+  assign coupler_to_device_named_i2c_1_auto_control_xing_out_a_ready = auto_coupler_to_device_named_i2c_1_control_xing_out_a_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78222.4]
+  assign coupler_to_device_named_i2c_1_auto_control_xing_out_d_valid = auto_coupler_to_device_named_i2c_1_control_xing_out_d_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78222.4]
+  assign coupler_to_device_named_i2c_1_auto_control_xing_out_d_bits_opcode = auto_coupler_to_device_named_i2c_1_control_xing_out_d_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78222.4]
+  assign coupler_to_device_named_i2c_1_auto_control_xing_out_d_bits_size = auto_coupler_to_device_named_i2c_1_control_xing_out_d_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78222.4]
+  assign coupler_to_device_named_i2c_1_auto_control_xing_out_d_bits_source = auto_coupler_to_device_named_i2c_1_control_xing_out_d_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78222.4]
+  assign coupler_to_device_named_i2c_1_auto_control_xing_out_d_bits_data = auto_coupler_to_device_named_i2c_1_control_xing_out_d_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78222.4]
+endmodule
+module TLMonitor_46( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78350.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78351.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78352.4]
+  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78353.4]
+  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78353.4]
+  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78353.4]
+  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78353.4]
+  input  [1:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78353.4]
+  input  [5:0]  io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78353.4]
+  input  [27:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78353.4]
+  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78353.4]
+  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78353.4]
+  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78353.4]
+  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78353.4]
+  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78353.4]
+  input  [1:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78353.4]
+  input  [5:0]  io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78353.4]
+);
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@79491.4]
+  wire [4:0] _T_36; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@78380.6]
+  wire [1:0] _T_37; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@78381.6]
+  wire [1:0] _T_38; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@78382.6]
+  wire [27:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@78383.6]
+  wire [27:0] _T_39; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@78383.6]
+  wire  _T_40; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@78384.6]
+  wire  _T_42; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78386.6]
+  wire [1:0] _T_43; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@78387.6]
+  wire [1:0] _T_45; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@78389.6]
+  wire  _T_46; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@78390.6]
+  wire  _T_47; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@78391.6]
+  wire  _T_48; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@78392.6]
+  wire  _T_49; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@78393.6]
+  wire  _T_51; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@78395.6]
+  wire  _T_52; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78396.6]
+  wire  _T_54; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@78398.6]
+  wire  _T_55; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78399.6]
+  wire  _T_56; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@78400.6]
+  wire  _T_57; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@78401.6]
+  wire  _T_58; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@78402.6]
+  wire  _T_59; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78403.6]
+  wire  _T_60; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@78404.6]
+  wire  _T_61; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78405.6]
+  wire  _T_62; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78406.6]
+  wire  _T_63; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@78407.6]
+  wire  _T_64; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78408.6]
+  wire  _T_65; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78409.6]
+  wire  _T_66; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@78410.6]
+  wire  _T_67; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78411.6]
+  wire  _T_68; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78412.6]
+  wire  _T_69; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@78413.6]
+  wire  _T_70; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78414.6]
+  wire [1:0] _T_71; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@78415.6]
+  wire [1:0] _T_72; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@78416.6]
+  wire [3:0] _T_73; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@78417.6]
+  wire  _T_92; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@78440.6]
+  wire [27:0] _T_94; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78443.8]
+  wire [28:0] _T_95; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78444.8]
+  wire [28:0] _T_96; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@78445.8]
+  wire [28:0] _T_97; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@78446.8]
+  wire  _T_98; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@78447.8]
+  wire  _T_103; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78452.8]
+  wire  _T_112; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78473.8]
+  wire  _T_113; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78474.8]
+  wire  _T_115; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78480.8]
+  wire  _T_116; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78481.8]
+  wire  _T_117; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78486.8]
+  wire  _T_119; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78488.8]
+  wire  _T_120; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78489.8]
+  wire [3:0] _T_121; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@78494.8]
+  wire  _T_122; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78495.8]
+  wire  _T_124; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78497.8]
+  wire  _T_125; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78498.8]
+  wire  _T_126; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@78503.8]
+  wire  _T_128; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78505.8]
+  wire  _T_129; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78506.8]
+  wire  _T_130; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@78512.6]
+  wire  _T_159; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78566.8]
+  wire  _T_161; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78568.8]
+  wire  _T_162; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78569.8]
+  wire  _T_172; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@78592.6]
+  wire  _T_174; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@78595.8]
+  wire  _T_182; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@78603.8]
+  wire  _T_185; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78606.8]
+  wire  _T_186; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78607.8]
+  wire  _T_193; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78626.8]
+  wire  _T_195; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78628.8]
+  wire  _T_196; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78629.8]
+  wire  _T_197; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78634.8]
+  wire  _T_199; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78636.8]
+  wire  _T_200; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78637.8]
+  wire  _T_205; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@78651.6]
+  wire  _T_234; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@78702.6]
+  wire [3:0] _T_259; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@78744.8]
+  wire [3:0] _T_260; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78745.8]
+  wire  _T_261; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@78746.8]
+  wire  _T_263; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78748.8]
+  wire  _T_264; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78749.8]
+  wire  _T_265; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@78755.6]
+  wire  _T_283; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@78786.8]
+  wire  _T_285; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78788.8]
+  wire  _T_286; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78789.8]
+  wire  _T_291; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@78803.6]
+  wire  _T_309; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@78834.8]
+  wire  _T_311; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78836.8]
+  wire  _T_312; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78837.8]
+  wire  _T_317; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@78851.6]
+  wire  _T_343; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@78901.6]
+  wire  _T_345; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@78903.6]
+  wire  _T_346; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@78904.6]
+  wire  _T_363; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@78921.6]
+  wire  _T_367; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78930.8]
+  wire  _T_369; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78932.8]
+  wire  _T_370; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78933.8]
+  wire  _T_383; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@78963.6]
+  wire  _T_411; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@79021.6]
+  wire  _T_504; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@79211.4]
+  reg  _T_514; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@79220.4]
+  reg [31:0] _RAND_0;
+  wire [1:0] _T_515; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@79221.4]
+  wire [1:0] _T_516; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@79222.4]
+  wire  _T_517; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@79223.4]
+  wire  _T_518; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@79224.4]
+  reg [2:0] _T_527; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@79235.4]
+  reg [31:0] _RAND_1;
+  reg [2:0] _T_529; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@79236.4]
+  reg [31:0] _RAND_2;
+  reg [1:0] _T_531; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@79237.4]
+  reg [31:0] _RAND_3;
+  reg [5:0] _T_533; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@79238.4]
+  reg [31:0] _RAND_4;
+  reg [27:0] _T_535; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@79239.4]
+  reg [31:0] _RAND_5;
+  wire  _T_536; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@79240.4]
+  wire  _T_537; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@79241.4]
+  wire  _T_538; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@79243.6]
+  wire  _T_540; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79245.6]
+  wire  _T_541; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79246.6]
+  wire  _T_542; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@79251.6]
+  wire  _T_544; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79253.6]
+  wire  _T_545; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79254.6]
+  wire  _T_546; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@79259.6]
+  wire  _T_548; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79261.6]
+  wire  _T_549; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79262.6]
+  wire  _T_550; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@79267.6]
+  wire  _T_552; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79269.6]
+  wire  _T_553; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79270.6]
+  wire  _T_554; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@79275.6]
+  wire  _T_556; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79277.6]
+  wire  _T_557; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79278.6]
+  wire  _T_559; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@79285.4]
+  wire  _T_560; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@79293.4]
+  reg  _T_569; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@79301.4]
+  reg [31:0] _RAND_6;
+  wire [1:0] _T_570; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@79302.4]
+  wire [1:0] _T_571; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@79303.4]
+  wire  _T_572; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@79304.4]
+  wire  _T_573; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@79305.4]
+  reg [2:0] _T_582; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@79316.4]
+  reg [31:0] _RAND_7;
+  reg [1:0] _T_586; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@79318.4]
+  reg [31:0] _RAND_8;
+  reg [5:0] _T_588; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@79319.4]
+  reg [31:0] _RAND_9;
+  wire  _T_593; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@79322.4]
+  wire  _T_594; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@79323.4]
+  wire  _T_595; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@79325.6]
+  wire  _T_597; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79327.6]
+  wire  _T_598; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79328.6]
+  wire  _T_603; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@79341.6]
+  wire  _T_605; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79343.6]
+  wire  _T_606; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79344.6]
+  wire  _T_607; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@79349.6]
+  wire  _T_609; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79351.6]
+  wire  _T_610; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79352.6]
+  wire  _T_620; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@79375.4]
+  reg [63:0] _T_622; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@79384.4]
+  reg [63:0] _RAND_10;
+  reg  _T_633; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@79394.4]
+  reg [31:0] _RAND_11;
+  wire [1:0] _T_634; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@79395.4]
+  wire [1:0] _T_635; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@79396.4]
+  wire  _T_636; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@79397.4]
+  wire  _T_637; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@79398.4]
+  reg  _T_654; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@79417.4]
+  reg [31:0] _RAND_12;
+  wire [1:0] _T_655; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@79418.4]
+  wire [1:0] _T_656; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@79419.4]
+  wire  _T_657; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@79420.4]
+  wire  _T_658; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@79421.4]
+  wire  _T_669; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@79436.4]
+  wire [63:0] _T_671; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@79439.6]
+  wire [63:0] _T_672; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@79441.6]
+  wire  _T_673; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@79442.6]
+  wire  _T_674; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79443.6]
+  wire  _T_676; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@79445.6]
+  wire  _T_677; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@79446.6]
+  wire [63:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@79438.4]
+  wire  _T_682; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@79457.4]
+  wire  _T_684; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@79459.4]
+  wire  _T_685; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@79460.4]
+  wire [63:0] _T_686; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@79462.6]
+  wire [63:0] _T_687; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@79464.6]
+  wire [63:0] _T_688; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@79465.6]
+  wire  _T_689; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@79466.6]
+  wire  _T_691; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@79468.6]
+  wire  _T_692; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@79469.6]
+  wire [63:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@79461.4]
+  wire  _T_693; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@79475.4]
+  wire  _T_694; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@79476.4]
+  wire  _T_695; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@79477.4]
+  wire  _T_696; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@79478.4]
+  wire  _T_698; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@79480.4]
+  wire  _T_699; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@79481.4]
+  wire [63:0] _T_700; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@79486.4]
+  wire [63:0] _T_701; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@79487.4]
+  wire [63:0] _T_702; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@79488.4]
+  reg [31:0] _T_704; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@79490.4]
+  reg [31:0] _RAND_13;
+  wire  _T_705; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@79493.4]
+  wire  _T_706; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@79494.4]
+  wire  _T_707; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@79495.4]
+  wire  _T_708; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@79496.4]
+  wire  _T_709; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@79497.4]
+  wire  _T_710; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@79498.4]
+  wire  _T_712; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@79500.4]
+  wire  _T_713; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@79501.4]
+  wire [31:0] _T_715; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@79507.4]
+  wire  _T_718; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@79511.4]
+  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78454.10]
+  wire  _GEN_33; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78526.10]
+  wire  _GEN_49; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78609.10]
+  wire  _GEN_59; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78668.10]
+  wire  _GEN_67; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78719.10]
+  wire  _GEN_75; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78769.10]
+  wire  _GEN_83; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78817.10]
+  wire  _GEN_91; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78865.10]
+  wire  _GEN_99; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78935.10]
+  wire  _GEN_101; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78976.10]
+  wire  _GEN_105; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79034.10]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@79491.4]
+    .out(plusarg_reader_out)
+  );
+  assign _T_36 = 5'h3 << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@78380.6]
+  assign _T_37 = _T_36[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@78381.6]
+  assign _T_38 = ~ _T_37; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@78382.6]
+  assign _GEN_18 = {{26'd0}, _T_38}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@78383.6]
+  assign _T_39 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@78383.6]
+  assign _T_40 = _T_39 == 28'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@78384.6]
+  assign _T_42 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78386.6]
+  assign _T_43 = 2'h1 << _T_42; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@78387.6]
+  assign _T_45 = _T_43 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@78389.6]
+  assign _T_46 = io_in_a_bits_size >= 2'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@78390.6]
+  assign _T_47 = _T_45[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@78391.6]
+  assign _T_48 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@78392.6]
+  assign _T_49 = _T_48 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@78393.6]
+  assign _T_51 = _T_47 & _T_49; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@78395.6]
+  assign _T_52 = _T_46 | _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78396.6]
+  assign _T_54 = _T_47 & _T_48; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@78398.6]
+  assign _T_55 = _T_46 | _T_54; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78399.6]
+  assign _T_56 = _T_45[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@78400.6]
+  assign _T_57 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@78401.6]
+  assign _T_58 = _T_57 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@78402.6]
+  assign _T_59 = _T_49 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78403.6]
+  assign _T_60 = _T_56 & _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@78404.6]
+  assign _T_61 = _T_52 | _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78405.6]
+  assign _T_62 = _T_49 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78406.6]
+  assign _T_63 = _T_56 & _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@78407.6]
+  assign _T_64 = _T_52 | _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78408.6]
+  assign _T_65 = _T_48 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78409.6]
+  assign _T_66 = _T_56 & _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@78410.6]
+  assign _T_67 = _T_55 | _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78411.6]
+  assign _T_68 = _T_48 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78412.6]
+  assign _T_69 = _T_56 & _T_68; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@78413.6]
+  assign _T_70 = _T_55 | _T_69; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78414.6]
+  assign _T_71 = {_T_64,_T_61}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@78415.6]
+  assign _T_72 = {_T_70,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@78416.6]
+  assign _T_73 = {_T_72,_T_71}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@78417.6]
+  assign _T_92 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@78440.6]
+  assign _T_94 = io_in_a_bits_address ^ 28'hc000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78443.8]
+  assign _T_95 = {1'b0,$signed(_T_94)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78444.8]
+  assign _T_96 = $signed(_T_95) & $signed(-29'sh4000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@78445.8]
+  assign _T_97 = $signed(_T_96); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@78446.8]
+  assign _T_98 = $signed(_T_97) == $signed(29'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@78447.8]
+  assign _T_103 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78452.8]
+  assign _T_112 = _T_46 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78473.8]
+  assign _T_113 = _T_112 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78474.8]
+  assign _T_115 = _T_40 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78480.8]
+  assign _T_116 = _T_115 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78481.8]
+  assign _T_117 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78486.8]
+  assign _T_119 = _T_117 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78488.8]
+  assign _T_120 = _T_119 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78489.8]
+  assign _T_121 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@78494.8]
+  assign _T_122 = _T_121 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78495.8]
+  assign _T_124 = _T_122 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78497.8]
+  assign _T_125 = _T_124 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78498.8]
+  assign _T_126 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@78503.8]
+  assign _T_128 = _T_126 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78505.8]
+  assign _T_129 = _T_128 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78506.8]
+  assign _T_130 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@78512.6]
+  assign _T_159 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78566.8]
+  assign _T_161 = _T_159 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78568.8]
+  assign _T_162 = _T_161 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78569.8]
+  assign _T_172 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@78592.6]
+  assign _T_174 = io_in_a_bits_size <= 2'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@78595.8]
+  assign _T_182 = _T_174 & _T_98; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@78603.8]
+  assign _T_185 = _T_182 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78606.8]
+  assign _T_186 = _T_185 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78607.8]
+  assign _T_193 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78626.8]
+  assign _T_195 = _T_193 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78628.8]
+  assign _T_196 = _T_195 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78629.8]
+  assign _T_197 = io_in_a_bits_mask == _T_73; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78634.8]
+  assign _T_199 = _T_197 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78636.8]
+  assign _T_200 = _T_199 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78637.8]
+  assign _T_205 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@78651.6]
+  assign _T_234 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@78702.6]
+  assign _T_259 = ~ _T_73; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@78744.8]
+  assign _T_260 = io_in_a_bits_mask & _T_259; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78745.8]
+  assign _T_261 = _T_260 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@78746.8]
+  assign _T_263 = _T_261 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78748.8]
+  assign _T_264 = _T_263 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78749.8]
+  assign _T_265 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@78755.6]
+  assign _T_283 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@78786.8]
+  assign _T_285 = _T_283 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78788.8]
+  assign _T_286 = _T_285 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78789.8]
+  assign _T_291 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@78803.6]
+  assign _T_309 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@78834.8]
+  assign _T_311 = _T_309 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78836.8]
+  assign _T_312 = _T_311 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78837.8]
+  assign _T_317 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@78851.6]
+  assign _T_343 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@78901.6]
+  assign _T_345 = _T_343 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@78903.6]
+  assign _T_346 = _T_345 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@78904.6]
+  assign _T_363 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@78921.6]
+  assign _T_367 = io_in_d_bits_size >= 2'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78930.8]
+  assign _T_369 = _T_367 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78932.8]
+  assign _T_370 = _T_369 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78933.8]
+  assign _T_383 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@78963.6]
+  assign _T_411 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@79021.6]
+  assign _T_504 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@79211.4]
+  assign _T_515 = _T_514 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@79221.4]
+  assign _T_516 = $unsigned(_T_515); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@79222.4]
+  assign _T_517 = _T_516[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@79223.4]
+  assign _T_518 = _T_514 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@79224.4]
+  assign _T_536 = _T_518 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@79240.4]
+  assign _T_537 = io_in_a_valid & _T_536; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@79241.4]
+  assign _T_538 = io_in_a_bits_opcode == _T_527; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@79243.6]
+  assign _T_540 = _T_538 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79245.6]
+  assign _T_541 = _T_540 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79246.6]
+  assign _T_542 = io_in_a_bits_param == _T_529; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@79251.6]
+  assign _T_544 = _T_542 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79253.6]
+  assign _T_545 = _T_544 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79254.6]
+  assign _T_546 = io_in_a_bits_size == _T_531; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@79259.6]
+  assign _T_548 = _T_546 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79261.6]
+  assign _T_549 = _T_548 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79262.6]
+  assign _T_550 = io_in_a_bits_source == _T_533; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@79267.6]
+  assign _T_552 = _T_550 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79269.6]
+  assign _T_553 = _T_552 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79270.6]
+  assign _T_554 = io_in_a_bits_address == _T_535; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@79275.6]
+  assign _T_556 = _T_554 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79277.6]
+  assign _T_557 = _T_556 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79278.6]
+  assign _T_559 = _T_504 & _T_518; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@79285.4]
+  assign _T_560 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@79293.4]
+  assign _T_570 = _T_569 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@79302.4]
+  assign _T_571 = $unsigned(_T_570); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@79303.4]
+  assign _T_572 = _T_571[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@79304.4]
+  assign _T_573 = _T_569 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@79305.4]
+  assign _T_593 = _T_573 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@79322.4]
+  assign _T_594 = io_in_d_valid & _T_593; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@79323.4]
+  assign _T_595 = io_in_d_bits_opcode == _T_582; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@79325.6]
+  assign _T_597 = _T_595 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79327.6]
+  assign _T_598 = _T_597 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79328.6]
+  assign _T_603 = io_in_d_bits_size == _T_586; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@79341.6]
+  assign _T_605 = _T_603 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79343.6]
+  assign _T_606 = _T_605 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79344.6]
+  assign _T_607 = io_in_d_bits_source == _T_588; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@79349.6]
+  assign _T_609 = _T_607 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79351.6]
+  assign _T_610 = _T_609 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79352.6]
+  assign _T_620 = _T_560 & _T_573; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@79375.4]
+  assign _T_634 = _T_633 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@79395.4]
+  assign _T_635 = $unsigned(_T_634); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@79396.4]
+  assign _T_636 = _T_635[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@79397.4]
+  assign _T_637 = _T_633 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@79398.4]
+  assign _T_655 = _T_654 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@79418.4]
+  assign _T_656 = $unsigned(_T_655); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@79419.4]
+  assign _T_657 = _T_656[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@79420.4]
+  assign _T_658 = _T_654 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@79421.4]
+  assign _T_669 = _T_504 & _T_637; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@79436.4]
+  assign _T_671 = 64'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@79439.6]
+  assign _T_672 = _T_622 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@79441.6]
+  assign _T_673 = _T_672[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@79442.6]
+  assign _T_674 = _T_673 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79443.6]
+  assign _T_676 = _T_674 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@79445.6]
+  assign _T_677 = _T_676 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@79446.6]
+  assign _GEN_15 = _T_669 ? _T_671 : 64'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@79438.4]
+  assign _T_682 = _T_560 & _T_658; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@79457.4]
+  assign _T_684 = _T_363 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@79459.4]
+  assign _T_685 = _T_682 & _T_684; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@79460.4]
+  assign _T_686 = 64'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@79462.6]
+  assign _T_687 = _GEN_15 | _T_622; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@79464.6]
+  assign _T_688 = _T_687 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@79465.6]
+  assign _T_689 = _T_688[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@79466.6]
+  assign _T_691 = _T_689 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@79468.6]
+  assign _T_692 = _T_691 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@79469.6]
+  assign _GEN_16 = _T_685 ? _T_686 : 64'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@79461.4]
+  assign _T_693 = _GEN_15 != _GEN_16; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@79475.4]
+  assign _T_694 = _GEN_15 != 64'h0; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@79476.4]
+  assign _T_695 = _T_694 == 1'h0; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@79477.4]
+  assign _T_696 = _T_693 | _T_695; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@79478.4]
+  assign _T_698 = _T_696 | reset; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@79480.4]
+  assign _T_699 = _T_698 == 1'h0; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@79481.4]
+  assign _T_700 = _T_622 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@79486.4]
+  assign _T_701 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@79487.4]
+  assign _T_702 = _T_700 & _T_701; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@79488.4]
+  assign _T_705 = _T_622 != 64'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@79493.4]
+  assign _T_706 = _T_705 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@79494.4]
+  assign _T_707 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@79495.4]
+  assign _T_708 = _T_706 | _T_707; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@79496.4]
+  assign _T_709 = _T_704 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@79497.4]
+  assign _T_710 = _T_708 | _T_709; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@79498.4]
+  assign _T_712 = _T_710 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@79500.4]
+  assign _T_713 = _T_712 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@79501.4]
+  assign _T_715 = _T_704 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@79507.4]
+  assign _T_718 = _T_504 | _T_560; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@79511.4]
+  assign _GEN_19 = io_in_a_valid & _T_92; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78454.10]
+  assign _GEN_33 = io_in_a_valid & _T_130; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78526.10]
+  assign _GEN_49 = io_in_a_valid & _T_172; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78609.10]
+  assign _GEN_59 = io_in_a_valid & _T_205; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78668.10]
+  assign _GEN_67 = io_in_a_valid & _T_234; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78719.10]
+  assign _GEN_75 = io_in_a_valid & _T_265; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78769.10]
+  assign _GEN_83 = io_in_a_valid & _T_291; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78817.10]
+  assign _GEN_91 = io_in_a_valid & _T_317; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78865.10]
+  assign _GEN_99 = io_in_d_valid & _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78935.10]
+  assign _GEN_101 = io_in_d_valid & _T_383; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78976.10]
+  assign _GEN_105 = io_in_d_valid & _T_411; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79034.10]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  _T_514 = _RAND_0[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  _T_527 = _RAND_1[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  _T_529 = _RAND_2[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  _T_531 = _RAND_3[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  _T_533 = _RAND_4[5:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  _T_535 = _RAND_5[27:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {1{`RANDOM}};
+  _T_569 = _RAND_6[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {1{`RANDOM}};
+  _T_582 = _RAND_7[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_8 = {1{`RANDOM}};
+  _T_586 = _RAND_8[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_9 = {1{`RANDOM}};
+  _T_588 = _RAND_9[5:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_10 = {2{`RANDOM}};
+  _T_622 = _RAND_10[63:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_11 = {1{`RANDOM}};
+  _T_633 = _RAND_11[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_12 = {1{`RANDOM}};
+  _T_654 = _RAND_12[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_13 = {1{`RANDOM}};
+  _T_704 = _RAND_13[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      _T_514 <= 1'h0;
+    end else begin
+      if (_T_504) begin
+        if (_T_518) begin
+          _T_514 <= 1'h0;
+        end else begin
+          _T_514 <= _T_517;
+        end
+      end
+    end
+    if (_T_559) begin
+      _T_527 <= io_in_a_bits_opcode;
+    end
+    if (_T_559) begin
+      _T_529 <= io_in_a_bits_param;
+    end
+    if (_T_559) begin
+      _T_531 <= io_in_a_bits_size;
+    end
+    if (_T_559) begin
+      _T_533 <= io_in_a_bits_source;
+    end
+    if (_T_559) begin
+      _T_535 <= io_in_a_bits_address;
+    end
+    if (reset) begin
+      _T_569 <= 1'h0;
+    end else begin
+      if (_T_560) begin
+        if (_T_573) begin
+          _T_569 <= 1'h0;
+        end else begin
+          _T_569 <= _T_572;
+        end
+      end
+    end
+    if (_T_620) begin
+      _T_582 <= io_in_d_bits_opcode;
+    end
+    if (_T_620) begin
+      _T_586 <= io_in_d_bits_size;
+    end
+    if (_T_620) begin
+      _T_588 <= io_in_d_bits_source;
+    end
+    if (reset) begin
+      _T_622 <= 64'h0;
+    end else begin
+      _T_622 <= _T_702;
+    end
+    if (reset) begin
+      _T_633 <= 1'h0;
+    end else begin
+      if (_T_504) begin
+        if (_T_637) begin
+          _T_633 <= 1'h0;
+        end else begin
+          _T_633 <= _T_636;
+        end
+      end
+    end
+    if (reset) begin
+      _T_654 <= 1'h0;
+    end else begin
+      if (_T_560) begin
+        if (_T_658) begin
+          _T_654 <= 1'h0;
+        end else begin
+          _T_654 <= _T_657;
+        end
+      end
+    end
+    if (reset) begin
+      _T_704 <= 32'h0;
+    end else begin
+      if (_T_718) begin
+        _T_704 <= 32'h0;
+      end else begin
+        _T_704 <= _T_715;
+      end
+    end
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@78365.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@78366.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@78437.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@78438.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78454.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_103) begin
+          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78455.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78461.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_103) begin
+          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78462.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78468.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78469.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_113) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78476.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_113) begin
+          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78477.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78483.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_116) begin
+          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78484.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_120) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78491.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_120) begin
+          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78492.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_125) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78500.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_125) begin
+          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78501.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_129) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78508.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_129) begin
+          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78509.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78526.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_103) begin
+          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78527.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78533.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_103) begin
+          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78534.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78540.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78541.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_113) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78548.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_113) begin
+          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78549.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78555.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_116) begin
+          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78556.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_120) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78563.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_120) begin
+          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78564.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_162) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78571.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_162) begin
+          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78572.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_125) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78580.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_125) begin
+          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78581.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_129) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78588.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_129) begin
+          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78589.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_186) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78609.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_186) begin
+          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78610.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78616.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78617.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78623.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_116) begin
+          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78624.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_196) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78631.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_196) begin
+          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78632.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78639.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_200) begin
+          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78640.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_129) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78647.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_129) begin
+          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78648.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_59 & _T_186) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78668.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_59 & _T_186) begin
+          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78669.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78675.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78676.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_59 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78682.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_59 & _T_116) begin
+          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78683.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_59 & _T_196) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78690.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_59 & _T_196) begin
+          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78691.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_59 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78698.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_59 & _T_200) begin
+          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78699.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_67 & _T_186) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78719.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_67 & _T_186) begin
+          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78720.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78726.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78727.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_67 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78733.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_67 & _T_116) begin
+          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78734.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_67 & _T_196) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78741.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_67 & _T_196) begin
+          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78742.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_67 & _T_264) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78751.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_67 & _T_264) begin
+          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78752.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78769.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_103) begin
+          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78770.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78776.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78777.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78783.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_116) begin
+          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78784.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_286) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78791.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_286) begin
+          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78792.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78799.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_200) begin
+          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78800.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_83 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78817.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_83 & _T_103) begin
+          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78818.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78824.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78825.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_83 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78831.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_83 & _T_116) begin
+          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78832.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_83 & _T_312) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78839.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_83 & _T_312) begin
+          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78840.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_83 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78847.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_83 & _T_200) begin
+          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78848.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_91 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78865.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_91 & _T_103) begin
+          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78866.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78872.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78873.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_91 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78879.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_91 & _T_116) begin
+          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78880.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_91 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78887.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_91 & _T_200) begin
+          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78888.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_91 & _T_129) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78895.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_91 & _T_129) begin
+          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78896.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_346) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@78906.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_346) begin
+          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@78907.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78927.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78928.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_99 & _T_370) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78935.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_99 & _T_370) begin
+          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78936.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78943.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78944.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78951.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78952.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78959.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78960.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78969.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78970.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_101 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78976.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_101 & _T_103) begin
+          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78977.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_101 & _T_370) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78984.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_101 & _T_370) begin
+          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78985.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78992.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78993.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79000.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79001.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79008.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79009.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79017.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79018.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79027.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79028.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79034.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_103) begin
+          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79035.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_370) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79042.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_370) begin
+          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79043.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79050.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79051.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79058.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79059.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79067.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79068.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79076.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79077.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79086.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79087.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79094.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79095.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79102.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79103.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79111.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79112.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79121.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79122.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79129.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79130.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79138.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79139.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79147.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79148.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79157.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79158.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79165.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79166.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79173.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79174.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79182.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79183.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79192.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79193.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79200.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79201.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79208.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79209.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_541) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79248.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_541) begin
+          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79249.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_545) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79256.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_545) begin
+          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79257.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_549) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79264.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_549) begin
+          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79265.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_553) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79272.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_553) begin
+          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79273.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_557) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79280.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_557) begin
+          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79281.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_594 & _T_598) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79330.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_594 & _T_598) begin
+          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79331.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79338.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79339.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_594 & _T_606) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79346.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_594 & _T_606) begin
+          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79347.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_594 & _T_610) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79354.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_594 & _T_610) begin
+          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79355.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79362.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79363.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79370.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79371.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_669 & _T_677) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@79448.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_669 & _T_677) begin
+          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@79449.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_685 & _T_692) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@79471.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_685 & _T_692) begin
+          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@79472.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_699) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' and 'D' concurrent, despite minlatency 1 (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:471 assert(a_set =/= d_clr || !a_set.orR, s\"'A' and 'D' concurrent, despite minlatency ${edge.manager.minLatency}\" + extra)\n"); // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@79483.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_699) begin
+          $fatal; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@79484.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_713) begin
+          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@79503.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_713) begin
+          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@79504.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+endmodule
+module LevelGateway( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@79516.2]
+  input   clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@79517.4]
+  input   reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@79518.4]
+  input   io_interrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@79519.4]
+  output  io_plic_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@79519.4]
+  input   io_plic_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@79519.4]
+  input   io_plic_complete // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@79519.4]
+);
+  reg  inFlight; // @[Plic.scala 30:21:shc.marmotcaravel.MarmotCaravelConfig.fir@79524.4]
+  reg [31:0] _RAND_0;
+  wire  _T_9; // @[Plic.scala 31:22:shc.marmotcaravel.MarmotCaravelConfig.fir@79525.4]
+  wire  _T_10; // @[Plic.scala 33:36:shc.marmotcaravel.MarmotCaravelConfig.fir@79532.4]
+  assign _T_9 = io_interrupt & io_plic_ready; // @[Plic.scala 31:22:shc.marmotcaravel.MarmotCaravelConfig.fir@79525.4]
+  assign _T_10 = inFlight == 1'h0; // @[Plic.scala 33:36:shc.marmotcaravel.MarmotCaravelConfig.fir@79532.4]
+  assign io_plic_valid = io_interrupt & _T_10; // @[Plic.scala 33:17:shc.marmotcaravel.MarmotCaravelConfig.fir@79534.4]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  inFlight = _RAND_0[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      inFlight <= 1'h0;
+    end else begin
+      if (io_plic_complete) begin
+        inFlight <= 1'h0;
+      end else begin
+        if (_T_9) begin
+          inFlight <= 1'h1;
+        end
+      end
+    end
+  end
+endmodule
+module PLICFanIn( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80396.2]
+  input  [2:0]  io_prio_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80399.4]
+  input  [2:0]  io_prio_1, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80399.4]
+  input  [2:0]  io_prio_2, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80399.4]
+  input  [2:0]  io_prio_3, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80399.4]
+  input  [2:0]  io_prio_4, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80399.4]
+  input  [2:0]  io_prio_5, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80399.4]
+  input  [2:0]  io_prio_6, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80399.4]
+  input  [2:0]  io_prio_7, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80399.4]
+  input  [2:0]  io_prio_8, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80399.4]
+  input  [2:0]  io_prio_9, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80399.4]
+  input  [2:0]  io_prio_10, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80399.4]
+  input  [2:0]  io_prio_11, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80399.4]
+  input  [2:0]  io_prio_12, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80399.4]
+  input  [2:0]  io_prio_13, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80399.4]
+  input  [2:0]  io_prio_14, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80399.4]
+  input  [2:0]  io_prio_15, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80399.4]
+  input  [2:0]  io_prio_16, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80399.4]
+  input  [2:0]  io_prio_17, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80399.4]
+  input  [2:0]  io_prio_18, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80399.4]
+  input  [2:0]  io_prio_19, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80399.4]
+  input  [2:0]  io_prio_20, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80399.4]
+  input  [2:0]  io_prio_21, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80399.4]
+  input  [2:0]  io_prio_22, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80399.4]
+  input  [2:0]  io_prio_23, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80399.4]
+  input  [2:0]  io_prio_24, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80399.4]
+  input  [2:0]  io_prio_25, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80399.4]
+  input  [2:0]  io_prio_26, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80399.4]
+  input  [2:0]  io_prio_27, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80399.4]
+  input  [2:0]  io_prio_28, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80399.4]
+  input  [2:0]  io_prio_29, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80399.4]
+  input  [2:0]  io_prio_30, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80399.4]
+  input  [2:0]  io_prio_31, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80399.4]
+  input  [2:0]  io_prio_32, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80399.4]
+  input  [2:0]  io_prio_33, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80399.4]
+  input  [2:0]  io_prio_34, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80399.4]
+  input  [2:0]  io_prio_35, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80399.4]
+  input  [2:0]  io_prio_36, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80399.4]
+  input  [2:0]  io_prio_37, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80399.4]
+  input  [2:0]  io_prio_38, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80399.4]
+  input  [2:0]  io_prio_39, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80399.4]
+  input  [2:0]  io_prio_40, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80399.4]
+  input  [2:0]  io_prio_41, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80399.4]
+  input  [2:0]  io_prio_42, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80399.4]
+  input  [2:0]  io_prio_43, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80399.4]
+  input  [43:0] io_ip, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80399.4]
+  output [5:0]  io_dev, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80399.4]
+  output [2:0]  io_max // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80399.4]
+);
+  wire  _T_54; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80405.4]
+  wire  _T_55; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80406.4]
+  wire  _T_56; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80407.4]
+  wire  _T_57; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80408.4]
+  wire  _T_58; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80409.4]
+  wire  _T_59; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80410.4]
+  wire  _T_60; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80411.4]
+  wire  _T_61; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80412.4]
+  wire  _T_62; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80413.4]
+  wire  _T_63; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80414.4]
+  wire  _T_64; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80415.4]
+  wire  _T_65; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80416.4]
+  wire  _T_66; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80417.4]
+  wire  _T_67; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80418.4]
+  wire  _T_68; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80419.4]
+  wire  _T_69; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80420.4]
+  wire  _T_70; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80421.4]
+  wire  _T_71; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80422.4]
+  wire  _T_72; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80423.4]
+  wire  _T_73; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80424.4]
+  wire  _T_74; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80425.4]
+  wire  _T_75; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80426.4]
+  wire  _T_76; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80427.4]
+  wire  _T_77; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80428.4]
+  wire  _T_78; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80429.4]
+  wire  _T_79; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80430.4]
+  wire  _T_80; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80431.4]
+  wire  _T_81; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80432.4]
+  wire  _T_82; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80433.4]
+  wire  _T_83; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80434.4]
+  wire  _T_84; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80435.4]
+  wire  _T_85; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80436.4]
+  wire  _T_86; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80437.4]
+  wire  _T_87; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80438.4]
+  wire  _T_88; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80439.4]
+  wire  _T_89; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80440.4]
+  wire  _T_90; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80441.4]
+  wire  _T_91; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80442.4]
+  wire  _T_92; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80443.4]
+  wire  _T_93; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80444.4]
+  wire  _T_94; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80445.4]
+  wire  _T_95; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80446.4]
+  wire  _T_96; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80447.4]
+  wire  _T_97; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80448.4]
+  wire [3:0] effectivePriority_1; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80449.4]
+  wire [3:0] effectivePriority_2; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80450.4]
+  wire [3:0] effectivePriority_3; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80451.4]
+  wire [3:0] effectivePriority_4; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80452.4]
+  wire [3:0] effectivePriority_5; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80453.4]
+  wire [3:0] effectivePriority_6; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80454.4]
+  wire [3:0] effectivePriority_7; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80455.4]
+  wire [3:0] effectivePriority_8; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80456.4]
+  wire [3:0] effectivePriority_9; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80457.4]
+  wire [3:0] effectivePriority_10; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80458.4]
+  wire [3:0] effectivePriority_11; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80459.4]
+  wire [3:0] effectivePriority_12; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80460.4]
+  wire [3:0] effectivePriority_13; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80461.4]
+  wire [3:0] effectivePriority_14; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80462.4]
+  wire [3:0] effectivePriority_15; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80463.4]
+  wire [3:0] effectivePriority_16; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80464.4]
+  wire [3:0] effectivePriority_17; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80465.4]
+  wire [3:0] effectivePriority_18; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80466.4]
+  wire [3:0] effectivePriority_19; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80467.4]
+  wire [3:0] effectivePriority_20; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80468.4]
+  wire [3:0] effectivePriority_21; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80469.4]
+  wire [3:0] effectivePriority_22; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80470.4]
+  wire [3:0] effectivePriority_23; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80471.4]
+  wire [3:0] effectivePriority_24; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80472.4]
+  wire [3:0] effectivePriority_25; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80473.4]
+  wire [3:0] effectivePriority_26; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80474.4]
+  wire [3:0] effectivePriority_27; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80475.4]
+  wire [3:0] effectivePriority_28; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80476.4]
+  wire [3:0] effectivePriority_29; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80477.4]
+  wire [3:0] effectivePriority_30; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80478.4]
+  wire [3:0] effectivePriority_31; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80479.4]
+  wire [3:0] effectivePriority_32; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80480.4]
+  wire [3:0] effectivePriority_33; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80481.4]
+  wire [3:0] effectivePriority_34; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80482.4]
+  wire [3:0] effectivePriority_35; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80483.4]
+  wire [3:0] effectivePriority_36; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80484.4]
+  wire [3:0] effectivePriority_37; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80485.4]
+  wire [3:0] effectivePriority_38; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80486.4]
+  wire [3:0] effectivePriority_39; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80487.4]
+  wire [3:0] effectivePriority_40; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80488.4]
+  wire [3:0] effectivePriority_41; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80489.4]
+  wire [3:0] effectivePriority_42; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80490.4]
+  wire [3:0] effectivePriority_43; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80491.4]
+  wire [3:0] effectivePriority_44; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80492.4]
+  wire  _T_98; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80493.4]
+  wire [3:0] _T_100; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80495.4]
+  wire  _T_101; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80496.4]
+  wire  _T_102; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80497.4]
+  wire [3:0] _T_104; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80499.4]
+  wire  _T_105; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80500.4]
+  wire  _T_106; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80501.4]
+  wire [1:0] _GEN_0; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80502.4]
+  wire [1:0] _T_107; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80502.4]
+  wire [3:0] _T_108; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80503.4]
+  wire [1:0] _T_109; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80504.4]
+  wire  _T_110; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80505.4]
+  wire [3:0] _T_112; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80507.4]
+  wire  _T_113; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80508.4]
+  wire  _T_114; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80509.4]
+  wire [3:0] _T_116; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80511.4]
+  wire  _T_117; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80512.4]
+  wire  _T_118; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80513.4]
+  wire [1:0] _GEN_1; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80514.4]
+  wire [1:0] _T_119; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80514.4]
+  wire [3:0] _T_120; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80515.4]
+  wire [1:0] _T_121; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80516.4]
+  wire  _T_122; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80517.4]
+  wire [2:0] _GEN_2; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80518.4]
+  wire [2:0] _T_123; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80518.4]
+  wire [3:0] _T_124; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80519.4]
+  wire [2:0] _T_125; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80520.4]
+  wire  _T_126; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80521.4]
+  wire [3:0] _T_128; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80523.4]
+  wire  _T_129; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80524.4]
+  wire  _T_130; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80525.4]
+  wire [3:0] _T_132; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80527.4]
+  wire  _T_133; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80528.4]
+  wire  _T_134; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80529.4]
+  wire [1:0] _GEN_3; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80530.4]
+  wire [1:0] _T_135; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80530.4]
+  wire [3:0] _T_136; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80531.4]
+  wire [1:0] _T_137; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80532.4]
+  wire  _T_138; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80533.4]
+  wire [3:0] _T_140; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80535.4]
+  wire  _T_141; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80536.4]
+  wire  _T_142; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80537.4]
+  wire [3:0] _T_144; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80539.4]
+  wire  _T_145; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80540.4]
+  wire  _T_146; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80541.4]
+  wire [1:0] _GEN_4; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80542.4]
+  wire [1:0] _T_147; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80542.4]
+  wire [3:0] _T_148; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80543.4]
+  wire [1:0] _T_149; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80544.4]
+  wire  _T_150; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80545.4]
+  wire [2:0] _GEN_5; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80546.4]
+  wire [2:0] _T_151; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80546.4]
+  wire [3:0] _T_152; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80547.4]
+  wire [2:0] _T_153; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80548.4]
+  wire  _T_154; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80549.4]
+  wire [3:0] _GEN_6; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80550.4]
+  wire [3:0] _T_155; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80550.4]
+  wire [3:0] _T_156; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80551.4]
+  wire [3:0] _T_157; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80552.4]
+  wire  _T_158; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80553.4]
+  wire [3:0] _T_160; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80555.4]
+  wire  _T_161; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80556.4]
+  wire  _T_162; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80557.4]
+  wire [3:0] _T_164; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80559.4]
+  wire  _T_165; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80560.4]
+  wire  _T_166; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80561.4]
+  wire [1:0] _GEN_7; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80562.4]
+  wire [1:0] _T_167; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80562.4]
+  wire [3:0] _T_168; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80563.4]
+  wire [1:0] _T_169; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80564.4]
+  wire  _T_170; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80565.4]
+  wire [3:0] _T_172; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80567.4]
+  wire  _T_173; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80568.4]
+  wire  _T_174; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80569.4]
+  wire [3:0] _T_176; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80571.4]
+  wire  _T_177; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80572.4]
+  wire  _T_178; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80573.4]
+  wire [1:0] _GEN_8; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80574.4]
+  wire [1:0] _T_179; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80574.4]
+  wire [3:0] _T_180; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80575.4]
+  wire [1:0] _T_181; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80576.4]
+  wire  _T_182; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80577.4]
+  wire [2:0] _GEN_9; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80578.4]
+  wire [2:0] _T_183; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80578.4]
+  wire [3:0] _T_184; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80579.4]
+  wire [2:0] _T_185; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80580.4]
+  wire  _T_186; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80581.4]
+  wire [3:0] _T_188; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80583.4]
+  wire  _T_189; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80584.4]
+  wire  _T_190; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80585.4]
+  wire [3:0] _T_192; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80587.4]
+  wire  _T_193; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80588.4]
+  wire  _T_194; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80589.4]
+  wire [1:0] _GEN_10; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80590.4]
+  wire [1:0] _T_195; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80590.4]
+  wire [3:0] _T_196; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80591.4]
+  wire [1:0] _T_197; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80592.4]
+  wire  _T_198; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80593.4]
+  wire [3:0] _T_200; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80595.4]
+  wire  _T_201; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80596.4]
+  wire  _T_202; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80597.4]
+  wire [3:0] _T_204; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80599.4]
+  wire  _T_205; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80600.4]
+  wire  _T_206; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80601.4]
+  wire [1:0] _GEN_11; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80602.4]
+  wire [1:0] _T_207; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80602.4]
+  wire [3:0] _T_208; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80603.4]
+  wire [1:0] _T_209; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80604.4]
+  wire  _T_210; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80605.4]
+  wire [2:0] _GEN_12; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80606.4]
+  wire [2:0] _T_211; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80606.4]
+  wire [3:0] _T_212; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80607.4]
+  wire [2:0] _T_213; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80608.4]
+  wire  _T_214; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80609.4]
+  wire [3:0] _GEN_13; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80610.4]
+  wire [3:0] _T_215; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80610.4]
+  wire [3:0] _T_216; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80611.4]
+  wire [3:0] _T_217; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80612.4]
+  wire  _T_218; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80613.4]
+  wire [4:0] _GEN_14; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80614.4]
+  wire [4:0] _T_219; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80614.4]
+  wire [3:0] _T_220; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80615.4]
+  wire [4:0] _T_221; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80616.4]
+  wire  _T_222; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80617.4]
+  wire [3:0] _T_224; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80619.4]
+  wire  _T_225; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80620.4]
+  wire  _T_226; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80621.4]
+  wire [3:0] _T_228; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80623.4]
+  wire  _T_229; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80624.4]
+  wire  _T_230; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80625.4]
+  wire [1:0] _GEN_15; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80626.4]
+  wire [1:0] _T_231; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80626.4]
+  wire [3:0] _T_232; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80627.4]
+  wire [1:0] _T_233; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80628.4]
+  wire  _T_234; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80629.4]
+  wire [3:0] _T_236; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80631.4]
+  wire  _T_237; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80632.4]
+  wire  _T_238; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80633.4]
+  wire [3:0] _T_240; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80635.4]
+  wire  _T_241; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80636.4]
+  wire  _T_242; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80637.4]
+  wire [1:0] _GEN_16; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80638.4]
+  wire [1:0] _T_243; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80638.4]
+  wire [3:0] _T_244; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80639.4]
+  wire [1:0] _T_245; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80640.4]
+  wire  _T_246; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80641.4]
+  wire [2:0] _GEN_17; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80642.4]
+  wire [2:0] _T_247; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80642.4]
+  wire [3:0] _T_248; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80643.4]
+  wire [2:0] _T_249; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80644.4]
+  wire  _T_250; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80645.4]
+  wire [3:0] _T_252; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80647.4]
+  wire  _T_253; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80648.4]
+  wire  _T_254; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80649.4]
+  wire [3:0] _T_256; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80651.4]
+  wire  _T_257; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80652.4]
+  wire  _T_258; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80653.4]
+  wire [1:0] _GEN_18; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80654.4]
+  wire [1:0] _T_259; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80654.4]
+  wire [3:0] _T_260; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80655.4]
+  wire [1:0] _T_261; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80656.4]
+  wire  _T_262; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80657.4]
+  wire [3:0] _T_264; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80659.4]
+  wire [2:0] _T_265; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80660.4]
+  wire  _T_266; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80661.4]
+  wire [3:0] _GEN_19; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80662.4]
+  wire [3:0] _T_267; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80662.4]
+  wire [3:0] _T_268; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80663.4]
+  wire [3:0] _T_269; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80664.4]
+  wire  _T_270; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80665.4]
+  wire [5:0] _GEN_20; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80666.4]
+  wire [5:0] _T_271; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80666.4]
+  wire [3:0] maxPri; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80667.4]
+  assign _T_54 = io_ip[0]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80405.4]
+  assign _T_55 = io_ip[1]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80406.4]
+  assign _T_56 = io_ip[2]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80407.4]
+  assign _T_57 = io_ip[3]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80408.4]
+  assign _T_58 = io_ip[4]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80409.4]
+  assign _T_59 = io_ip[5]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80410.4]
+  assign _T_60 = io_ip[6]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80411.4]
+  assign _T_61 = io_ip[7]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80412.4]
+  assign _T_62 = io_ip[8]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80413.4]
+  assign _T_63 = io_ip[9]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80414.4]
+  assign _T_64 = io_ip[10]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80415.4]
+  assign _T_65 = io_ip[11]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80416.4]
+  assign _T_66 = io_ip[12]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80417.4]
+  assign _T_67 = io_ip[13]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80418.4]
+  assign _T_68 = io_ip[14]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80419.4]
+  assign _T_69 = io_ip[15]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80420.4]
+  assign _T_70 = io_ip[16]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80421.4]
+  assign _T_71 = io_ip[17]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80422.4]
+  assign _T_72 = io_ip[18]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80423.4]
+  assign _T_73 = io_ip[19]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80424.4]
+  assign _T_74 = io_ip[20]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80425.4]
+  assign _T_75 = io_ip[21]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80426.4]
+  assign _T_76 = io_ip[22]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80427.4]
+  assign _T_77 = io_ip[23]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80428.4]
+  assign _T_78 = io_ip[24]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80429.4]
+  assign _T_79 = io_ip[25]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80430.4]
+  assign _T_80 = io_ip[26]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80431.4]
+  assign _T_81 = io_ip[27]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80432.4]
+  assign _T_82 = io_ip[28]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80433.4]
+  assign _T_83 = io_ip[29]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80434.4]
+  assign _T_84 = io_ip[30]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80435.4]
+  assign _T_85 = io_ip[31]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80436.4]
+  assign _T_86 = io_ip[32]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80437.4]
+  assign _T_87 = io_ip[33]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80438.4]
+  assign _T_88 = io_ip[34]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80439.4]
+  assign _T_89 = io_ip[35]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80440.4]
+  assign _T_90 = io_ip[36]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80441.4]
+  assign _T_91 = io_ip[37]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80442.4]
+  assign _T_92 = io_ip[38]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80443.4]
+  assign _T_93 = io_ip[39]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80444.4]
+  assign _T_94 = io_ip[40]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80445.4]
+  assign _T_95 = io_ip[41]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80446.4]
+  assign _T_96 = io_ip[42]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80447.4]
+  assign _T_97 = io_ip[43]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80448.4]
+  assign effectivePriority_1 = {_T_54,io_prio_0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80449.4]
+  assign effectivePriority_2 = {_T_55,io_prio_1}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80450.4]
+  assign effectivePriority_3 = {_T_56,io_prio_2}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80451.4]
+  assign effectivePriority_4 = {_T_57,io_prio_3}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80452.4]
+  assign effectivePriority_5 = {_T_58,io_prio_4}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80453.4]
+  assign effectivePriority_6 = {_T_59,io_prio_5}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80454.4]
+  assign effectivePriority_7 = {_T_60,io_prio_6}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80455.4]
+  assign effectivePriority_8 = {_T_61,io_prio_7}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80456.4]
+  assign effectivePriority_9 = {_T_62,io_prio_8}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80457.4]
+  assign effectivePriority_10 = {_T_63,io_prio_9}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80458.4]
+  assign effectivePriority_11 = {_T_64,io_prio_10}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80459.4]
+  assign effectivePriority_12 = {_T_65,io_prio_11}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80460.4]
+  assign effectivePriority_13 = {_T_66,io_prio_12}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80461.4]
+  assign effectivePriority_14 = {_T_67,io_prio_13}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80462.4]
+  assign effectivePriority_15 = {_T_68,io_prio_14}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80463.4]
+  assign effectivePriority_16 = {_T_69,io_prio_15}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80464.4]
+  assign effectivePriority_17 = {_T_70,io_prio_16}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80465.4]
+  assign effectivePriority_18 = {_T_71,io_prio_17}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80466.4]
+  assign effectivePriority_19 = {_T_72,io_prio_18}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80467.4]
+  assign effectivePriority_20 = {_T_73,io_prio_19}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80468.4]
+  assign effectivePriority_21 = {_T_74,io_prio_20}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80469.4]
+  assign effectivePriority_22 = {_T_75,io_prio_21}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80470.4]
+  assign effectivePriority_23 = {_T_76,io_prio_22}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80471.4]
+  assign effectivePriority_24 = {_T_77,io_prio_23}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80472.4]
+  assign effectivePriority_25 = {_T_78,io_prio_24}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80473.4]
+  assign effectivePriority_26 = {_T_79,io_prio_25}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80474.4]
+  assign effectivePriority_27 = {_T_80,io_prio_26}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80475.4]
+  assign effectivePriority_28 = {_T_81,io_prio_27}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80476.4]
+  assign effectivePriority_29 = {_T_82,io_prio_28}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80477.4]
+  assign effectivePriority_30 = {_T_83,io_prio_29}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80478.4]
+  assign effectivePriority_31 = {_T_84,io_prio_30}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80479.4]
+  assign effectivePriority_32 = {_T_85,io_prio_31}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80480.4]
+  assign effectivePriority_33 = {_T_86,io_prio_32}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80481.4]
+  assign effectivePriority_34 = {_T_87,io_prio_33}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80482.4]
+  assign effectivePriority_35 = {_T_88,io_prio_34}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80483.4]
+  assign effectivePriority_36 = {_T_89,io_prio_35}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80484.4]
+  assign effectivePriority_37 = {_T_90,io_prio_36}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80485.4]
+  assign effectivePriority_38 = {_T_91,io_prio_37}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80486.4]
+  assign effectivePriority_39 = {_T_92,io_prio_38}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80487.4]
+  assign effectivePriority_40 = {_T_93,io_prio_39}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80488.4]
+  assign effectivePriority_41 = {_T_94,io_prio_40}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80489.4]
+  assign effectivePriority_42 = {_T_95,io_prio_41}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80490.4]
+  assign effectivePriority_43 = {_T_96,io_prio_42}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80491.4]
+  assign effectivePriority_44 = {_T_97,io_prio_43}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80492.4]
+  assign _T_98 = 4'h8 >= effectivePriority_1; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80493.4]
+  assign _T_100 = _T_98 ? 4'h8 : effectivePriority_1; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80495.4]
+  assign _T_101 = _T_98 ? 1'h0 : 1'h1; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80496.4]
+  assign _T_102 = effectivePriority_2 >= effectivePriority_3; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80497.4]
+  assign _T_104 = _T_102 ? effectivePriority_2 : effectivePriority_3; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80499.4]
+  assign _T_105 = _T_102 ? 1'h0 : 1'h1; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80500.4]
+  assign _T_106 = _T_100 >= _T_104; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80501.4]
+  assign _GEN_0 = {{1'd0}, _T_105}; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80502.4]
+  assign _T_107 = 2'h2 | _GEN_0; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80502.4]
+  assign _T_108 = _T_106 ? _T_100 : _T_104; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80503.4]
+  assign _T_109 = _T_106 ? {{1'd0}, _T_101} : _T_107; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80504.4]
+  assign _T_110 = effectivePriority_4 >= effectivePriority_5; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80505.4]
+  assign _T_112 = _T_110 ? effectivePriority_4 : effectivePriority_5; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80507.4]
+  assign _T_113 = _T_110 ? 1'h0 : 1'h1; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80508.4]
+  assign _T_114 = effectivePriority_6 >= effectivePriority_7; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80509.4]
+  assign _T_116 = _T_114 ? effectivePriority_6 : effectivePriority_7; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80511.4]
+  assign _T_117 = _T_114 ? 1'h0 : 1'h1; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80512.4]
+  assign _T_118 = _T_112 >= _T_116; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80513.4]
+  assign _GEN_1 = {{1'd0}, _T_117}; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80514.4]
+  assign _T_119 = 2'h2 | _GEN_1; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80514.4]
+  assign _T_120 = _T_118 ? _T_112 : _T_116; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80515.4]
+  assign _T_121 = _T_118 ? {{1'd0}, _T_113} : _T_119; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80516.4]
+  assign _T_122 = _T_108 >= _T_120; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80517.4]
+  assign _GEN_2 = {{1'd0}, _T_121}; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80518.4]
+  assign _T_123 = 3'h4 | _GEN_2; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80518.4]
+  assign _T_124 = _T_122 ? _T_108 : _T_120; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80519.4]
+  assign _T_125 = _T_122 ? {{1'd0}, _T_109} : _T_123; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80520.4]
+  assign _T_126 = effectivePriority_8 >= effectivePriority_9; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80521.4]
+  assign _T_128 = _T_126 ? effectivePriority_8 : effectivePriority_9; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80523.4]
+  assign _T_129 = _T_126 ? 1'h0 : 1'h1; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80524.4]
+  assign _T_130 = effectivePriority_10 >= effectivePriority_11; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80525.4]
+  assign _T_132 = _T_130 ? effectivePriority_10 : effectivePriority_11; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80527.4]
+  assign _T_133 = _T_130 ? 1'h0 : 1'h1; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80528.4]
+  assign _T_134 = _T_128 >= _T_132; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80529.4]
+  assign _GEN_3 = {{1'd0}, _T_133}; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80530.4]
+  assign _T_135 = 2'h2 | _GEN_3; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80530.4]
+  assign _T_136 = _T_134 ? _T_128 : _T_132; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80531.4]
+  assign _T_137 = _T_134 ? {{1'd0}, _T_129} : _T_135; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80532.4]
+  assign _T_138 = effectivePriority_12 >= effectivePriority_13; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80533.4]
+  assign _T_140 = _T_138 ? effectivePriority_12 : effectivePriority_13; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80535.4]
+  assign _T_141 = _T_138 ? 1'h0 : 1'h1; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80536.4]
+  assign _T_142 = effectivePriority_14 >= effectivePriority_15; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80537.4]
+  assign _T_144 = _T_142 ? effectivePriority_14 : effectivePriority_15; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80539.4]
+  assign _T_145 = _T_142 ? 1'h0 : 1'h1; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80540.4]
+  assign _T_146 = _T_140 >= _T_144; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80541.4]
+  assign _GEN_4 = {{1'd0}, _T_145}; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80542.4]
+  assign _T_147 = 2'h2 | _GEN_4; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80542.4]
+  assign _T_148 = _T_146 ? _T_140 : _T_144; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80543.4]
+  assign _T_149 = _T_146 ? {{1'd0}, _T_141} : _T_147; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80544.4]
+  assign _T_150 = _T_136 >= _T_148; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80545.4]
+  assign _GEN_5 = {{1'd0}, _T_149}; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80546.4]
+  assign _T_151 = 3'h4 | _GEN_5; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80546.4]
+  assign _T_152 = _T_150 ? _T_136 : _T_148; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80547.4]
+  assign _T_153 = _T_150 ? {{1'd0}, _T_137} : _T_151; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80548.4]
+  assign _T_154 = _T_124 >= _T_152; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80549.4]
+  assign _GEN_6 = {{1'd0}, _T_153}; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80550.4]
+  assign _T_155 = 4'h8 | _GEN_6; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80550.4]
+  assign _T_156 = _T_154 ? _T_124 : _T_152; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80551.4]
+  assign _T_157 = _T_154 ? {{1'd0}, _T_125} : _T_155; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80552.4]
+  assign _T_158 = effectivePriority_16 >= effectivePriority_17; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80553.4]
+  assign _T_160 = _T_158 ? effectivePriority_16 : effectivePriority_17; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80555.4]
+  assign _T_161 = _T_158 ? 1'h0 : 1'h1; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80556.4]
+  assign _T_162 = effectivePriority_18 >= effectivePriority_19; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80557.4]
+  assign _T_164 = _T_162 ? effectivePriority_18 : effectivePriority_19; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80559.4]
+  assign _T_165 = _T_162 ? 1'h0 : 1'h1; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80560.4]
+  assign _T_166 = _T_160 >= _T_164; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80561.4]
+  assign _GEN_7 = {{1'd0}, _T_165}; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80562.4]
+  assign _T_167 = 2'h2 | _GEN_7; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80562.4]
+  assign _T_168 = _T_166 ? _T_160 : _T_164; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80563.4]
+  assign _T_169 = _T_166 ? {{1'd0}, _T_161} : _T_167; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80564.4]
+  assign _T_170 = effectivePriority_20 >= effectivePriority_21; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80565.4]
+  assign _T_172 = _T_170 ? effectivePriority_20 : effectivePriority_21; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80567.4]
+  assign _T_173 = _T_170 ? 1'h0 : 1'h1; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80568.4]
+  assign _T_174 = effectivePriority_22 >= effectivePriority_23; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80569.4]
+  assign _T_176 = _T_174 ? effectivePriority_22 : effectivePriority_23; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80571.4]
+  assign _T_177 = _T_174 ? 1'h0 : 1'h1; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80572.4]
+  assign _T_178 = _T_172 >= _T_176; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80573.4]
+  assign _GEN_8 = {{1'd0}, _T_177}; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80574.4]
+  assign _T_179 = 2'h2 | _GEN_8; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80574.4]
+  assign _T_180 = _T_178 ? _T_172 : _T_176; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80575.4]
+  assign _T_181 = _T_178 ? {{1'd0}, _T_173} : _T_179; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80576.4]
+  assign _T_182 = _T_168 >= _T_180; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80577.4]
+  assign _GEN_9 = {{1'd0}, _T_181}; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80578.4]
+  assign _T_183 = 3'h4 | _GEN_9; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80578.4]
+  assign _T_184 = _T_182 ? _T_168 : _T_180; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80579.4]
+  assign _T_185 = _T_182 ? {{1'd0}, _T_169} : _T_183; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80580.4]
+  assign _T_186 = effectivePriority_24 >= effectivePriority_25; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80581.4]
+  assign _T_188 = _T_186 ? effectivePriority_24 : effectivePriority_25; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80583.4]
+  assign _T_189 = _T_186 ? 1'h0 : 1'h1; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80584.4]
+  assign _T_190 = effectivePriority_26 >= effectivePriority_27; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80585.4]
+  assign _T_192 = _T_190 ? effectivePriority_26 : effectivePriority_27; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80587.4]
+  assign _T_193 = _T_190 ? 1'h0 : 1'h1; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80588.4]
+  assign _T_194 = _T_188 >= _T_192; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80589.4]
+  assign _GEN_10 = {{1'd0}, _T_193}; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80590.4]
+  assign _T_195 = 2'h2 | _GEN_10; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80590.4]
+  assign _T_196 = _T_194 ? _T_188 : _T_192; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80591.4]
+  assign _T_197 = _T_194 ? {{1'd0}, _T_189} : _T_195; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80592.4]
+  assign _T_198 = effectivePriority_28 >= effectivePriority_29; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80593.4]
+  assign _T_200 = _T_198 ? effectivePriority_28 : effectivePriority_29; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80595.4]
+  assign _T_201 = _T_198 ? 1'h0 : 1'h1; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80596.4]
+  assign _T_202 = effectivePriority_30 >= effectivePriority_31; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80597.4]
+  assign _T_204 = _T_202 ? effectivePriority_30 : effectivePriority_31; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80599.4]
+  assign _T_205 = _T_202 ? 1'h0 : 1'h1; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80600.4]
+  assign _T_206 = _T_200 >= _T_204; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80601.4]
+  assign _GEN_11 = {{1'd0}, _T_205}; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80602.4]
+  assign _T_207 = 2'h2 | _GEN_11; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80602.4]
+  assign _T_208 = _T_206 ? _T_200 : _T_204; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80603.4]
+  assign _T_209 = _T_206 ? {{1'd0}, _T_201} : _T_207; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80604.4]
+  assign _T_210 = _T_196 >= _T_208; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80605.4]
+  assign _GEN_12 = {{1'd0}, _T_209}; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80606.4]
+  assign _T_211 = 3'h4 | _GEN_12; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80606.4]
+  assign _T_212 = _T_210 ? _T_196 : _T_208; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80607.4]
+  assign _T_213 = _T_210 ? {{1'd0}, _T_197} : _T_211; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80608.4]
+  assign _T_214 = _T_184 >= _T_212; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80609.4]
+  assign _GEN_13 = {{1'd0}, _T_213}; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80610.4]
+  assign _T_215 = 4'h8 | _GEN_13; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80610.4]
+  assign _T_216 = _T_214 ? _T_184 : _T_212; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80611.4]
+  assign _T_217 = _T_214 ? {{1'd0}, _T_185} : _T_215; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80612.4]
+  assign _T_218 = _T_156 >= _T_216; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80613.4]
+  assign _GEN_14 = {{1'd0}, _T_217}; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80614.4]
+  assign _T_219 = 5'h10 | _GEN_14; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80614.4]
+  assign _T_220 = _T_218 ? _T_156 : _T_216; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80615.4]
+  assign _T_221 = _T_218 ? {{1'd0}, _T_157} : _T_219; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80616.4]
+  assign _T_222 = effectivePriority_32 >= effectivePriority_33; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80617.4]
+  assign _T_224 = _T_222 ? effectivePriority_32 : effectivePriority_33; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80619.4]
+  assign _T_225 = _T_222 ? 1'h0 : 1'h1; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80620.4]
+  assign _T_226 = effectivePriority_34 >= effectivePriority_35; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80621.4]
+  assign _T_228 = _T_226 ? effectivePriority_34 : effectivePriority_35; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80623.4]
+  assign _T_229 = _T_226 ? 1'h0 : 1'h1; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80624.4]
+  assign _T_230 = _T_224 >= _T_228; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80625.4]
+  assign _GEN_15 = {{1'd0}, _T_229}; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80626.4]
+  assign _T_231 = 2'h2 | _GEN_15; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80626.4]
+  assign _T_232 = _T_230 ? _T_224 : _T_228; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80627.4]
+  assign _T_233 = _T_230 ? {{1'd0}, _T_225} : _T_231; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80628.4]
+  assign _T_234 = effectivePriority_36 >= effectivePriority_37; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80629.4]
+  assign _T_236 = _T_234 ? effectivePriority_36 : effectivePriority_37; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80631.4]
+  assign _T_237 = _T_234 ? 1'h0 : 1'h1; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80632.4]
+  assign _T_238 = effectivePriority_38 >= effectivePriority_39; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80633.4]
+  assign _T_240 = _T_238 ? effectivePriority_38 : effectivePriority_39; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80635.4]
+  assign _T_241 = _T_238 ? 1'h0 : 1'h1; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80636.4]
+  assign _T_242 = _T_236 >= _T_240; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80637.4]
+  assign _GEN_16 = {{1'd0}, _T_241}; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80638.4]
+  assign _T_243 = 2'h2 | _GEN_16; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80638.4]
+  assign _T_244 = _T_242 ? _T_236 : _T_240; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80639.4]
+  assign _T_245 = _T_242 ? {{1'd0}, _T_237} : _T_243; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80640.4]
+  assign _T_246 = _T_232 >= _T_244; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80641.4]
+  assign _GEN_17 = {{1'd0}, _T_245}; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80642.4]
+  assign _T_247 = 3'h4 | _GEN_17; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80642.4]
+  assign _T_248 = _T_246 ? _T_232 : _T_244; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80643.4]
+  assign _T_249 = _T_246 ? {{1'd0}, _T_233} : _T_247; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80644.4]
+  assign _T_250 = effectivePriority_40 >= effectivePriority_41; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80645.4]
+  assign _T_252 = _T_250 ? effectivePriority_40 : effectivePriority_41; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80647.4]
+  assign _T_253 = _T_250 ? 1'h0 : 1'h1; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80648.4]
+  assign _T_254 = effectivePriority_42 >= effectivePriority_43; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80649.4]
+  assign _T_256 = _T_254 ? effectivePriority_42 : effectivePriority_43; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80651.4]
+  assign _T_257 = _T_254 ? 1'h0 : 1'h1; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80652.4]
+  assign _T_258 = _T_252 >= _T_256; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80653.4]
+  assign _GEN_18 = {{1'd0}, _T_257}; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80654.4]
+  assign _T_259 = 2'h2 | _GEN_18; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80654.4]
+  assign _T_260 = _T_258 ? _T_252 : _T_256; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80655.4]
+  assign _T_261 = _T_258 ? {{1'd0}, _T_253} : _T_259; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80656.4]
+  assign _T_262 = _T_260 >= effectivePriority_44; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80657.4]
+  assign _T_264 = _T_262 ? _T_260 : effectivePriority_44; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80659.4]
+  assign _T_265 = _T_262 ? {{1'd0}, _T_261} : 3'h4; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80660.4]
+  assign _T_266 = _T_248 >= _T_264; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80661.4]
+  assign _GEN_19 = {{1'd0}, _T_265}; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80662.4]
+  assign _T_267 = 4'h8 | _GEN_19; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80662.4]
+  assign _T_268 = _T_266 ? _T_248 : _T_264; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80663.4]
+  assign _T_269 = _T_266 ? {{1'd0}, _T_249} : _T_267; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80664.4]
+  assign _T_270 = _T_220 >= _T_268; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80665.4]
+  assign _GEN_20 = {{2'd0}, _T_269}; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80666.4]
+  assign _T_271 = 6'h20 | _GEN_20; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80666.4]
+  assign maxPri = _T_270 ? _T_220 : _T_268; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80667.4]
+  assign io_dev = _T_270 ? {{1'd0}, _T_221} : _T_271; // @[Plic.scala 330:10:shc.marmotcaravel.MarmotCaravelConfig.fir@80670.4]
+  assign io_max = maxPri[2:0]; // @[Plic.scala 329:10:shc.marmotcaravel.MarmotCaravelConfig.fir@80669.4]
+endmodule
+module Queue_8( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80672.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80673.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80674.4]
+  output        io_enq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80675.4]
+  input         io_enq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80675.4]
+  input         io_enq_bits_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80675.4]
+  input  [23:0] io_enq_bits_index, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80675.4]
+  input  [31:0] io_enq_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80675.4]
+  input  [3:0]  io_enq_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80675.4]
+  input  [7:0]  io_enq_bits_extra, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80675.4]
+  input         io_deq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80675.4]
+  output        io_deq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80675.4]
+  output        io_deq_bits_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80675.4]
+  output [23:0] io_deq_bits_index, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80675.4]
+  output [31:0] io_deq_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80675.4]
+  output [3:0]  io_deq_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80675.4]
+  output [7:0]  io_deq_bits_extra // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80675.4]
+);
+  reg  _T_35_read [0:0]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@80677.4]
+  reg [31:0] _RAND_0;
+  wire  _T_35_read__T_52_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@80677.4]
+  wire  _T_35_read__T_52_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@80677.4]
+  wire  _T_35_read__T_48_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@80677.4]
+  wire  _T_35_read__T_48_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@80677.4]
+  wire  _T_35_read__T_48_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@80677.4]
+  wire  _T_35_read__T_48_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@80677.4]
+  reg [23:0] _T_35_index [0:0]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@80677.4]
+  reg [31:0] _RAND_1;
+  wire [23:0] _T_35_index__T_52_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@80677.4]
+  wire  _T_35_index__T_52_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@80677.4]
+  wire [23:0] _T_35_index__T_48_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@80677.4]
+  wire  _T_35_index__T_48_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@80677.4]
+  wire  _T_35_index__T_48_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@80677.4]
+  wire  _T_35_index__T_48_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@80677.4]
+  reg [31:0] _T_35_data [0:0]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@80677.4]
+  reg [31:0] _RAND_2;
+  wire [31:0] _T_35_data__T_52_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@80677.4]
+  wire  _T_35_data__T_52_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@80677.4]
+  wire [31:0] _T_35_data__T_48_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@80677.4]
+  wire  _T_35_data__T_48_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@80677.4]
+  wire  _T_35_data__T_48_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@80677.4]
+  wire  _T_35_data__T_48_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@80677.4]
+  reg [3:0] _T_35_mask [0:0]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@80677.4]
+  reg [31:0] _RAND_3;
+  wire [3:0] _T_35_mask__T_52_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@80677.4]
+  wire  _T_35_mask__T_52_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@80677.4]
+  wire [3:0] _T_35_mask__T_48_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@80677.4]
+  wire  _T_35_mask__T_48_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@80677.4]
+  wire  _T_35_mask__T_48_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@80677.4]
+  wire  _T_35_mask__T_48_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@80677.4]
+  reg [7:0] _T_35_extra [0:0]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@80677.4]
+  reg [31:0] _RAND_4;
+  wire [7:0] _T_35_extra__T_52_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@80677.4]
+  wire  _T_35_extra__T_52_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@80677.4]
+  wire [7:0] _T_35_extra__T_48_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@80677.4]
+  wire  _T_35_extra__T_48_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@80677.4]
+  wire  _T_35_extra__T_48_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@80677.4]
+  wire  _T_35_extra__T_48_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@80677.4]
+  reg  _T_37; // @[Decoupled.scala 217:35:shc.marmotcaravel.MarmotCaravelConfig.fir@80678.4]
+  reg [31:0] _RAND_5;
+  wire  _T_39; // @[Decoupled.scala 220:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80680.4]
+  wire  _T_42; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@80683.4]
+  wire  _T_45; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@80686.4]
+  wire  _T_49; // @[Decoupled.scala 232:16:shc.marmotcaravel.MarmotCaravelConfig.fir@80699.4]
+  assign _T_35_read__T_52_addr = 1'h0;
+  assign _T_35_read__T_52_data = _T_35_read[_T_35_read__T_52_addr]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@80677.4]
+  assign _T_35_read__T_48_data = io_enq_bits_read;
+  assign _T_35_read__T_48_addr = 1'h0;
+  assign _T_35_read__T_48_mask = 1'h1;
+  assign _T_35_read__T_48_en = io_enq_ready & io_enq_valid;
+  assign _T_35_index__T_52_addr = 1'h0;
+  assign _T_35_index__T_52_data = _T_35_index[_T_35_index__T_52_addr]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@80677.4]
+  assign _T_35_index__T_48_data = io_enq_bits_index;
+  assign _T_35_index__T_48_addr = 1'h0;
+  assign _T_35_index__T_48_mask = 1'h1;
+  assign _T_35_index__T_48_en = io_enq_ready & io_enq_valid;
+  assign _T_35_data__T_52_addr = 1'h0;
+  assign _T_35_data__T_52_data = _T_35_data[_T_35_data__T_52_addr]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@80677.4]
+  assign _T_35_data__T_48_data = io_enq_bits_data;
+  assign _T_35_data__T_48_addr = 1'h0;
+  assign _T_35_data__T_48_mask = 1'h1;
+  assign _T_35_data__T_48_en = io_enq_ready & io_enq_valid;
+  assign _T_35_mask__T_52_addr = 1'h0;
+  assign _T_35_mask__T_52_data = _T_35_mask[_T_35_mask__T_52_addr]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@80677.4]
+  assign _T_35_mask__T_48_data = io_enq_bits_mask;
+  assign _T_35_mask__T_48_addr = 1'h0;
+  assign _T_35_mask__T_48_mask = 1'h1;
+  assign _T_35_mask__T_48_en = io_enq_ready & io_enq_valid;
+  assign _T_35_extra__T_52_addr = 1'h0;
+  assign _T_35_extra__T_52_data = _T_35_extra[_T_35_extra__T_52_addr]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@80677.4]
+  assign _T_35_extra__T_48_data = io_enq_bits_extra;
+  assign _T_35_extra__T_48_addr = 1'h0;
+  assign _T_35_extra__T_48_mask = 1'h1;
+  assign _T_35_extra__T_48_en = io_enq_ready & io_enq_valid;
+  assign _T_39 = _T_37 == 1'h0; // @[Decoupled.scala 220:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80680.4]
+  assign _T_42 = io_enq_ready & io_enq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@80683.4]
+  assign _T_45 = io_deq_ready & io_deq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@80686.4]
+  assign _T_49 = _T_42 != _T_45; // @[Decoupled.scala 232:16:shc.marmotcaravel.MarmotCaravelConfig.fir@80699.4]
+  assign io_enq_ready = _T_37 == 1'h0; // @[Decoupled.scala 237:16:shc.marmotcaravel.MarmotCaravelConfig.fir@80706.4]
+  assign io_deq_valid = _T_39 == 1'h0; // @[Decoupled.scala 236:16:shc.marmotcaravel.MarmotCaravelConfig.fir@80704.4]
+  assign io_deq_bits_read = _T_35_read__T_52_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@80712.4]
+  assign io_deq_bits_index = _T_35_index__T_52_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@80711.4]
+  assign io_deq_bits_data = _T_35_data__T_52_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@80710.4]
+  assign io_deq_bits_mask = _T_35_mask__T_52_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@80709.4]
+  assign io_deq_bits_extra = _T_35_extra__T_52_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@80708.4]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  _RAND_0 = {1{`RANDOM}};
+  `ifdef RANDOMIZE_MEM_INIT
+  for (initvar = 0; initvar < 1; initvar = initvar+1)
+    _T_35_read[initvar] = _RAND_0[0:0];
+  `endif // RANDOMIZE_MEM_INIT
+  _RAND_1 = {1{`RANDOM}};
+  `ifdef RANDOMIZE_MEM_INIT
+  for (initvar = 0; initvar < 1; initvar = initvar+1)
+    _T_35_index[initvar] = _RAND_1[23:0];
+  `endif // RANDOMIZE_MEM_INIT
+  _RAND_2 = {1{`RANDOM}};
+  `ifdef RANDOMIZE_MEM_INIT
+  for (initvar = 0; initvar < 1; initvar = initvar+1)
+    _T_35_data[initvar] = _RAND_2[31:0];
+  `endif // RANDOMIZE_MEM_INIT
+  _RAND_3 = {1{`RANDOM}};
+  `ifdef RANDOMIZE_MEM_INIT
+  for (initvar = 0; initvar < 1; initvar = initvar+1)
+    _T_35_mask[initvar] = _RAND_3[3:0];
+  `endif // RANDOMIZE_MEM_INIT
+  _RAND_4 = {1{`RANDOM}};
+  `ifdef RANDOMIZE_MEM_INIT
+  for (initvar = 0; initvar < 1; initvar = initvar+1)
+    _T_35_extra[initvar] = _RAND_4[7:0];
+  `endif // RANDOMIZE_MEM_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  _T_37 = _RAND_5[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if(_T_35_read__T_48_en & _T_35_read__T_48_mask) begin
+      _T_35_read[_T_35_read__T_48_addr] <= _T_35_read__T_48_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@80677.4]
+    end
+    if(_T_35_index__T_48_en & _T_35_index__T_48_mask) begin
+      _T_35_index[_T_35_index__T_48_addr] <= _T_35_index__T_48_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@80677.4]
+    end
+    if(_T_35_data__T_48_en & _T_35_data__T_48_mask) begin
+      _T_35_data[_T_35_data__T_48_addr] <= _T_35_data__T_48_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@80677.4]
+    end
+    if(_T_35_mask__T_48_en & _T_35_mask__T_48_mask) begin
+      _T_35_mask[_T_35_mask__T_48_addr] <= _T_35_mask__T_48_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@80677.4]
+    end
+    if(_T_35_extra__T_48_en & _T_35_extra__T_48_mask) begin
+      _T_35_extra[_T_35_extra__T_48_addr] <= _T_35_extra__T_48_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@80677.4]
+    end
+    if (reset) begin
+      _T_37 <= 1'h0;
+    end else begin
+      if (_T_49) begin
+        _T_37 <= _T_42;
+      end
+    end
+  end
+endmodule
+module TLPLIC( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80720.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80721.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80722.4]
+  input         auto_int_in_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80723.4]
+  input         auto_int_in_1, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80723.4]
+  input         auto_int_in_2, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80723.4]
+  input         auto_int_in_3, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80723.4]
+  input         auto_int_in_4, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80723.4]
+  input         auto_int_in_5, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80723.4]
+  input         auto_int_in_6, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80723.4]
+  input         auto_int_in_7, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80723.4]
+  input         auto_int_in_8, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80723.4]
+  input         auto_int_in_9, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80723.4]
+  input         auto_int_in_10, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80723.4]
+  input         auto_int_in_11, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80723.4]
+  input         auto_int_in_12, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80723.4]
+  input         auto_int_in_13, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80723.4]
+  input         auto_int_in_14, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80723.4]
+  input         auto_int_in_15, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80723.4]
+  input         auto_int_in_16, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80723.4]
+  input         auto_int_in_17, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80723.4]
+  input         auto_int_in_18, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80723.4]
+  input         auto_int_in_19, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80723.4]
+  input         auto_int_in_20, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80723.4]
+  input         auto_int_in_21, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80723.4]
+  input         auto_int_in_22, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80723.4]
+  input         auto_int_in_23, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80723.4]
+  input         auto_int_in_24, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80723.4]
+  input         auto_int_in_25, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80723.4]
+  input         auto_int_in_26, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80723.4]
+  input         auto_int_in_27, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80723.4]
+  input         auto_int_in_28, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80723.4]
+  input         auto_int_in_29, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80723.4]
+  input         auto_int_in_30, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80723.4]
+  input         auto_int_in_31, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80723.4]
+  input         auto_int_in_32, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80723.4]
+  input         auto_int_in_33, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80723.4]
+  input         auto_int_in_34, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80723.4]
+  input         auto_int_in_35, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80723.4]
+  input         auto_int_in_36, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80723.4]
+  input         auto_int_in_37, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80723.4]
+  input         auto_int_in_38, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80723.4]
+  input         auto_int_in_39, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80723.4]
+  input         auto_int_in_40, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80723.4]
+  input         auto_int_in_41, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80723.4]
+  input         auto_int_in_42, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80723.4]
+  input         auto_int_in_43, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80723.4]
+  output        auto_int_out_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80723.4]
+  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80723.4]
+  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80723.4]
+  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80723.4]
+  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80723.4]
+  input  [1:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80723.4]
+  input  [5:0]  auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80723.4]
+  input  [27:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80723.4]
+  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80723.4]
+  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80723.4]
+  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80723.4]
+  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80723.4]
+  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80723.4]
+  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80723.4]
+  output [1:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80723.4]
+  output [5:0]  auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80723.4]
+  output [31:0] auto_in_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80723.4]
+);
+  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@80730.4]
+  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@80730.4]
+  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@80730.4]
+  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@80730.4]
+  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@80730.4]
+  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@80730.4]
+  wire [1:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@80730.4]
+  wire [5:0] TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@80730.4]
+  wire [27:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@80730.4]
+  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@80730.4]
+  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@80730.4]
+  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@80730.4]
+  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@80730.4]
+  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@80730.4]
+  wire [1:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@80730.4]
+  wire [5:0] TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@80730.4]
+  wire  LevelGateway_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80774.4]
+  wire  LevelGateway_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80774.4]
+  wire  LevelGateway_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80774.4]
+  wire  LevelGateway_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80774.4]
+  wire  LevelGateway_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80774.4]
+  wire  LevelGateway_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80774.4]
+  wire  LevelGateway_1_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80779.4]
+  wire  LevelGateway_1_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80779.4]
+  wire  LevelGateway_1_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80779.4]
+  wire  LevelGateway_1_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80779.4]
+  wire  LevelGateway_1_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80779.4]
+  wire  LevelGateway_1_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80779.4]
+  wire  LevelGateway_2_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80784.4]
+  wire  LevelGateway_2_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80784.4]
+  wire  LevelGateway_2_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80784.4]
+  wire  LevelGateway_2_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80784.4]
+  wire  LevelGateway_2_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80784.4]
+  wire  LevelGateway_2_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80784.4]
+  wire  LevelGateway_3_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80789.4]
+  wire  LevelGateway_3_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80789.4]
+  wire  LevelGateway_3_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80789.4]
+  wire  LevelGateway_3_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80789.4]
+  wire  LevelGateway_3_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80789.4]
+  wire  LevelGateway_3_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80789.4]
+  wire  LevelGateway_4_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80794.4]
+  wire  LevelGateway_4_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80794.4]
+  wire  LevelGateway_4_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80794.4]
+  wire  LevelGateway_4_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80794.4]
+  wire  LevelGateway_4_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80794.4]
+  wire  LevelGateway_4_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80794.4]
+  wire  LevelGateway_5_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80799.4]
+  wire  LevelGateway_5_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80799.4]
+  wire  LevelGateway_5_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80799.4]
+  wire  LevelGateway_5_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80799.4]
+  wire  LevelGateway_5_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80799.4]
+  wire  LevelGateway_5_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80799.4]
+  wire  LevelGateway_6_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80804.4]
+  wire  LevelGateway_6_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80804.4]
+  wire  LevelGateway_6_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80804.4]
+  wire  LevelGateway_6_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80804.4]
+  wire  LevelGateway_6_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80804.4]
+  wire  LevelGateway_6_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80804.4]
+  wire  LevelGateway_7_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80809.4]
+  wire  LevelGateway_7_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80809.4]
+  wire  LevelGateway_7_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80809.4]
+  wire  LevelGateway_7_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80809.4]
+  wire  LevelGateway_7_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80809.4]
+  wire  LevelGateway_7_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80809.4]
+  wire  LevelGateway_8_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80814.4]
+  wire  LevelGateway_8_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80814.4]
+  wire  LevelGateway_8_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80814.4]
+  wire  LevelGateway_8_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80814.4]
+  wire  LevelGateway_8_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80814.4]
+  wire  LevelGateway_8_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80814.4]
+  wire  LevelGateway_9_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80819.4]
+  wire  LevelGateway_9_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80819.4]
+  wire  LevelGateway_9_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80819.4]
+  wire  LevelGateway_9_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80819.4]
+  wire  LevelGateway_9_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80819.4]
+  wire  LevelGateway_9_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80819.4]
+  wire  LevelGateway_10_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80824.4]
+  wire  LevelGateway_10_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80824.4]
+  wire  LevelGateway_10_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80824.4]
+  wire  LevelGateway_10_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80824.4]
+  wire  LevelGateway_10_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80824.4]
+  wire  LevelGateway_10_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80824.4]
+  wire  LevelGateway_11_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80829.4]
+  wire  LevelGateway_11_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80829.4]
+  wire  LevelGateway_11_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80829.4]
+  wire  LevelGateway_11_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80829.4]
+  wire  LevelGateway_11_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80829.4]
+  wire  LevelGateway_11_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80829.4]
+  wire  LevelGateway_12_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80834.4]
+  wire  LevelGateway_12_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80834.4]
+  wire  LevelGateway_12_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80834.4]
+  wire  LevelGateway_12_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80834.4]
+  wire  LevelGateway_12_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80834.4]
+  wire  LevelGateway_12_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80834.4]
+  wire  LevelGateway_13_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80839.4]
+  wire  LevelGateway_13_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80839.4]
+  wire  LevelGateway_13_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80839.4]
+  wire  LevelGateway_13_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80839.4]
+  wire  LevelGateway_13_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80839.4]
+  wire  LevelGateway_13_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80839.4]
+  wire  LevelGateway_14_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80844.4]
+  wire  LevelGateway_14_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80844.4]
+  wire  LevelGateway_14_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80844.4]
+  wire  LevelGateway_14_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80844.4]
+  wire  LevelGateway_14_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80844.4]
+  wire  LevelGateway_14_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80844.4]
+  wire  LevelGateway_15_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80849.4]
+  wire  LevelGateway_15_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80849.4]
+  wire  LevelGateway_15_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80849.4]
+  wire  LevelGateway_15_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80849.4]
+  wire  LevelGateway_15_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80849.4]
+  wire  LevelGateway_15_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80849.4]
+  wire  LevelGateway_16_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80854.4]
+  wire  LevelGateway_16_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80854.4]
+  wire  LevelGateway_16_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80854.4]
+  wire  LevelGateway_16_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80854.4]
+  wire  LevelGateway_16_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80854.4]
+  wire  LevelGateway_16_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80854.4]
+  wire  LevelGateway_17_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80859.4]
+  wire  LevelGateway_17_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80859.4]
+  wire  LevelGateway_17_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80859.4]
+  wire  LevelGateway_17_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80859.4]
+  wire  LevelGateway_17_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80859.4]
+  wire  LevelGateway_17_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80859.4]
+  wire  LevelGateway_18_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80864.4]
+  wire  LevelGateway_18_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80864.4]
+  wire  LevelGateway_18_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80864.4]
+  wire  LevelGateway_18_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80864.4]
+  wire  LevelGateway_18_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80864.4]
+  wire  LevelGateway_18_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80864.4]
+  wire  LevelGateway_19_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80869.4]
+  wire  LevelGateway_19_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80869.4]
+  wire  LevelGateway_19_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80869.4]
+  wire  LevelGateway_19_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80869.4]
+  wire  LevelGateway_19_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80869.4]
+  wire  LevelGateway_19_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80869.4]
+  wire  LevelGateway_20_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80874.4]
+  wire  LevelGateway_20_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80874.4]
+  wire  LevelGateway_20_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80874.4]
+  wire  LevelGateway_20_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80874.4]
+  wire  LevelGateway_20_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80874.4]
+  wire  LevelGateway_20_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80874.4]
+  wire  LevelGateway_21_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80879.4]
+  wire  LevelGateway_21_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80879.4]
+  wire  LevelGateway_21_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80879.4]
+  wire  LevelGateway_21_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80879.4]
+  wire  LevelGateway_21_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80879.4]
+  wire  LevelGateway_21_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80879.4]
+  wire  LevelGateway_22_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80884.4]
+  wire  LevelGateway_22_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80884.4]
+  wire  LevelGateway_22_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80884.4]
+  wire  LevelGateway_22_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80884.4]
+  wire  LevelGateway_22_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80884.4]
+  wire  LevelGateway_22_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80884.4]
+  wire  LevelGateway_23_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80889.4]
+  wire  LevelGateway_23_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80889.4]
+  wire  LevelGateway_23_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80889.4]
+  wire  LevelGateway_23_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80889.4]
+  wire  LevelGateway_23_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80889.4]
+  wire  LevelGateway_23_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80889.4]
+  wire  LevelGateway_24_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80894.4]
+  wire  LevelGateway_24_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80894.4]
+  wire  LevelGateway_24_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80894.4]
+  wire  LevelGateway_24_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80894.4]
+  wire  LevelGateway_24_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80894.4]
+  wire  LevelGateway_24_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80894.4]
+  wire  LevelGateway_25_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80899.4]
+  wire  LevelGateway_25_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80899.4]
+  wire  LevelGateway_25_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80899.4]
+  wire  LevelGateway_25_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80899.4]
+  wire  LevelGateway_25_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80899.4]
+  wire  LevelGateway_25_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80899.4]
+  wire  LevelGateway_26_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80904.4]
+  wire  LevelGateway_26_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80904.4]
+  wire  LevelGateway_26_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80904.4]
+  wire  LevelGateway_26_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80904.4]
+  wire  LevelGateway_26_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80904.4]
+  wire  LevelGateway_26_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80904.4]
+  wire  LevelGateway_27_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80909.4]
+  wire  LevelGateway_27_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80909.4]
+  wire  LevelGateway_27_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80909.4]
+  wire  LevelGateway_27_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80909.4]
+  wire  LevelGateway_27_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80909.4]
+  wire  LevelGateway_27_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80909.4]
+  wire  LevelGateway_28_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80914.4]
+  wire  LevelGateway_28_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80914.4]
+  wire  LevelGateway_28_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80914.4]
+  wire  LevelGateway_28_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80914.4]
+  wire  LevelGateway_28_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80914.4]
+  wire  LevelGateway_28_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80914.4]
+  wire  LevelGateway_29_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80919.4]
+  wire  LevelGateway_29_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80919.4]
+  wire  LevelGateway_29_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80919.4]
+  wire  LevelGateway_29_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80919.4]
+  wire  LevelGateway_29_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80919.4]
+  wire  LevelGateway_29_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80919.4]
+  wire  LevelGateway_30_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80924.4]
+  wire  LevelGateway_30_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80924.4]
+  wire  LevelGateway_30_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80924.4]
+  wire  LevelGateway_30_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80924.4]
+  wire  LevelGateway_30_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80924.4]
+  wire  LevelGateway_30_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80924.4]
+  wire  LevelGateway_31_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80929.4]
+  wire  LevelGateway_31_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80929.4]
+  wire  LevelGateway_31_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80929.4]
+  wire  LevelGateway_31_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80929.4]
+  wire  LevelGateway_31_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80929.4]
+  wire  LevelGateway_31_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80929.4]
+  wire  LevelGateway_32_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80934.4]
+  wire  LevelGateway_32_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80934.4]
+  wire  LevelGateway_32_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80934.4]
+  wire  LevelGateway_32_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80934.4]
+  wire  LevelGateway_32_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80934.4]
+  wire  LevelGateway_32_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80934.4]
+  wire  LevelGateway_33_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80939.4]
+  wire  LevelGateway_33_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80939.4]
+  wire  LevelGateway_33_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80939.4]
+  wire  LevelGateway_33_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80939.4]
+  wire  LevelGateway_33_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80939.4]
+  wire  LevelGateway_33_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80939.4]
+  wire  LevelGateway_34_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80944.4]
+  wire  LevelGateway_34_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80944.4]
+  wire  LevelGateway_34_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80944.4]
+  wire  LevelGateway_34_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80944.4]
+  wire  LevelGateway_34_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80944.4]
+  wire  LevelGateway_34_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80944.4]
+  wire  LevelGateway_35_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80949.4]
+  wire  LevelGateway_35_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80949.4]
+  wire  LevelGateway_35_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80949.4]
+  wire  LevelGateway_35_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80949.4]
+  wire  LevelGateway_35_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80949.4]
+  wire  LevelGateway_35_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80949.4]
+  wire  LevelGateway_36_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80954.4]
+  wire  LevelGateway_36_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80954.4]
+  wire  LevelGateway_36_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80954.4]
+  wire  LevelGateway_36_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80954.4]
+  wire  LevelGateway_36_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80954.4]
+  wire  LevelGateway_36_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80954.4]
+  wire  LevelGateway_37_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80959.4]
+  wire  LevelGateway_37_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80959.4]
+  wire  LevelGateway_37_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80959.4]
+  wire  LevelGateway_37_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80959.4]
+  wire  LevelGateway_37_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80959.4]
+  wire  LevelGateway_37_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80959.4]
+  wire  LevelGateway_38_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80964.4]
+  wire  LevelGateway_38_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80964.4]
+  wire  LevelGateway_38_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80964.4]
+  wire  LevelGateway_38_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80964.4]
+  wire  LevelGateway_38_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80964.4]
+  wire  LevelGateway_38_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80964.4]
+  wire  LevelGateway_39_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80969.4]
+  wire  LevelGateway_39_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80969.4]
+  wire  LevelGateway_39_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80969.4]
+  wire  LevelGateway_39_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80969.4]
+  wire  LevelGateway_39_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80969.4]
+  wire  LevelGateway_39_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80969.4]
+  wire  LevelGateway_40_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80974.4]
+  wire  LevelGateway_40_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80974.4]
+  wire  LevelGateway_40_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80974.4]
+  wire  LevelGateway_40_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80974.4]
+  wire  LevelGateway_40_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80974.4]
+  wire  LevelGateway_40_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80974.4]
+  wire  LevelGateway_41_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80979.4]
+  wire  LevelGateway_41_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80979.4]
+  wire  LevelGateway_41_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80979.4]
+  wire  LevelGateway_41_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80979.4]
+  wire  LevelGateway_41_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80979.4]
+  wire  LevelGateway_41_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80979.4]
+  wire  LevelGateway_42_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80984.4]
+  wire  LevelGateway_42_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80984.4]
+  wire  LevelGateway_42_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80984.4]
+  wire  LevelGateway_42_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80984.4]
+  wire  LevelGateway_42_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80984.4]
+  wire  LevelGateway_42_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80984.4]
+  wire  LevelGateway_43_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80989.4]
+  wire  LevelGateway_43_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80989.4]
+  wire  LevelGateway_43_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80989.4]
+  wire  LevelGateway_43_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80989.4]
+  wire  LevelGateway_43_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80989.4]
+  wire  LevelGateway_43_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80989.4]
+  wire [2:0] PLICFanIn_io_prio_0; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81105.4]
+  wire [2:0] PLICFanIn_io_prio_1; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81105.4]
+  wire [2:0] PLICFanIn_io_prio_2; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81105.4]
+  wire [2:0] PLICFanIn_io_prio_3; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81105.4]
+  wire [2:0] PLICFanIn_io_prio_4; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81105.4]
+  wire [2:0] PLICFanIn_io_prio_5; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81105.4]
+  wire [2:0] PLICFanIn_io_prio_6; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81105.4]
+  wire [2:0] PLICFanIn_io_prio_7; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81105.4]
+  wire [2:0] PLICFanIn_io_prio_8; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81105.4]
+  wire [2:0] PLICFanIn_io_prio_9; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81105.4]
+  wire [2:0] PLICFanIn_io_prio_10; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81105.4]
+  wire [2:0] PLICFanIn_io_prio_11; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81105.4]
+  wire [2:0] PLICFanIn_io_prio_12; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81105.4]
+  wire [2:0] PLICFanIn_io_prio_13; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81105.4]
+  wire [2:0] PLICFanIn_io_prio_14; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81105.4]
+  wire [2:0] PLICFanIn_io_prio_15; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81105.4]
+  wire [2:0] PLICFanIn_io_prio_16; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81105.4]
+  wire [2:0] PLICFanIn_io_prio_17; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81105.4]
+  wire [2:0] PLICFanIn_io_prio_18; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81105.4]
+  wire [2:0] PLICFanIn_io_prio_19; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81105.4]
+  wire [2:0] PLICFanIn_io_prio_20; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81105.4]
+  wire [2:0] PLICFanIn_io_prio_21; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81105.4]
+  wire [2:0] PLICFanIn_io_prio_22; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81105.4]
+  wire [2:0] PLICFanIn_io_prio_23; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81105.4]
+  wire [2:0] PLICFanIn_io_prio_24; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81105.4]
+  wire [2:0] PLICFanIn_io_prio_25; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81105.4]
+  wire [2:0] PLICFanIn_io_prio_26; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81105.4]
+  wire [2:0] PLICFanIn_io_prio_27; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81105.4]
+  wire [2:0] PLICFanIn_io_prio_28; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81105.4]
+  wire [2:0] PLICFanIn_io_prio_29; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81105.4]
+  wire [2:0] PLICFanIn_io_prio_30; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81105.4]
+  wire [2:0] PLICFanIn_io_prio_31; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81105.4]
+  wire [2:0] PLICFanIn_io_prio_32; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81105.4]
+  wire [2:0] PLICFanIn_io_prio_33; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81105.4]
+  wire [2:0] PLICFanIn_io_prio_34; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81105.4]
+  wire [2:0] PLICFanIn_io_prio_35; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81105.4]
+  wire [2:0] PLICFanIn_io_prio_36; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81105.4]
+  wire [2:0] PLICFanIn_io_prio_37; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81105.4]
+  wire [2:0] PLICFanIn_io_prio_38; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81105.4]
+  wire [2:0] PLICFanIn_io_prio_39; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81105.4]
+  wire [2:0] PLICFanIn_io_prio_40; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81105.4]
+  wire [2:0] PLICFanIn_io_prio_41; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81105.4]
+  wire [2:0] PLICFanIn_io_prio_42; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81105.4]
+  wire [2:0] PLICFanIn_io_prio_43; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81105.4]
+  wire [43:0] PLICFanIn_io_ip; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81105.4]
+  wire [5:0] PLICFanIn_io_dev; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81105.4]
+  wire [2:0] PLICFanIn_io_max; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81105.4]
+  wire  Queue_clock; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81659.4]
+  wire  Queue_reset; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81659.4]
+  wire  Queue_io_enq_ready; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81659.4]
+  wire  Queue_io_enq_valid; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81659.4]
+  wire  Queue_io_enq_bits_read; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81659.4]
+  wire [23:0] Queue_io_enq_bits_index; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81659.4]
+  wire [31:0] Queue_io_enq_bits_data; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81659.4]
+  wire [3:0] Queue_io_enq_bits_mask; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81659.4]
+  wire [7:0] Queue_io_enq_bits_extra; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81659.4]
+  wire  Queue_io_deq_ready; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81659.4]
+  wire  Queue_io_deq_valid; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81659.4]
+  wire  Queue_io_deq_bits_read; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81659.4]
+  wire [23:0] Queue_io_deq_bits_index; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81659.4]
+  wire [31:0] Queue_io_deq_bits_data; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81659.4]
+  wire [3:0] Queue_io_deq_bits_mask; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81659.4]
+  wire [7:0] Queue_io_deq_bits_extra; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81659.4]
+  reg [2:0] priority_0; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80994.4]
+  reg [31:0] _RAND_0;
+  reg [2:0] priority_1; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80994.4]
+  reg [31:0] _RAND_1;
+  reg [2:0] priority_2; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80994.4]
+  reg [31:0] _RAND_2;
+  reg [2:0] priority_3; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80994.4]
+  reg [31:0] _RAND_3;
+  reg [2:0] priority_4; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80994.4]
+  reg [31:0] _RAND_4;
+  reg [2:0] priority_5; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80994.4]
+  reg [31:0] _RAND_5;
+  reg [2:0] priority_6; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80994.4]
+  reg [31:0] _RAND_6;
+  reg [2:0] priority_7; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80994.4]
+  reg [31:0] _RAND_7;
+  reg [2:0] priority_8; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80994.4]
+  reg [31:0] _RAND_8;
+  reg [2:0] priority_9; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80994.4]
+  reg [31:0] _RAND_9;
+  reg [2:0] priority_10; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80994.4]
+  reg [31:0] _RAND_10;
+  reg [2:0] priority_11; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80994.4]
+  reg [31:0] _RAND_11;
+  reg [2:0] priority_12; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80994.4]
+  reg [31:0] _RAND_12;
+  reg [2:0] priority_13; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80994.4]
+  reg [31:0] _RAND_13;
+  reg [2:0] priority_14; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80994.4]
+  reg [31:0] _RAND_14;
+  reg [2:0] priority_15; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80994.4]
+  reg [31:0] _RAND_15;
+  reg [2:0] priority_16; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80994.4]
+  reg [31:0] _RAND_16;
+  reg [2:0] priority_17; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80994.4]
+  reg [31:0] _RAND_17;
+  reg [2:0] priority_18; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80994.4]
+  reg [31:0] _RAND_18;
+  reg [2:0] priority_19; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80994.4]
+  reg [31:0] _RAND_19;
+  reg [2:0] priority_20; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80994.4]
+  reg [31:0] _RAND_20;
+  reg [2:0] priority_21; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80994.4]
+  reg [31:0] _RAND_21;
+  reg [2:0] priority_22; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80994.4]
+  reg [31:0] _RAND_22;
+  reg [2:0] priority_23; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80994.4]
+  reg [31:0] _RAND_23;
+  reg [2:0] priority_24; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80994.4]
+  reg [31:0] _RAND_24;
+  reg [2:0] priority_25; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80994.4]
+  reg [31:0] _RAND_25;
+  reg [2:0] priority_26; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80994.4]
+  reg [31:0] _RAND_26;
+  reg [2:0] priority_27; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80994.4]
+  reg [31:0] _RAND_27;
+  reg [2:0] priority_28; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80994.4]
+  reg [31:0] _RAND_28;
+  reg [2:0] priority_29; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80994.4]
+  reg [31:0] _RAND_29;
+  reg [2:0] priority_30; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80994.4]
+  reg [31:0] _RAND_30;
+  reg [2:0] priority_31; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80994.4]
+  reg [31:0] _RAND_31;
+  reg [2:0] priority_32; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80994.4]
+  reg [31:0] _RAND_32;
+  reg [2:0] priority_33; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80994.4]
+  reg [31:0] _RAND_33;
+  reg [2:0] priority_34; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80994.4]
+  reg [31:0] _RAND_34;
+  reg [2:0] priority_35; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80994.4]
+  reg [31:0] _RAND_35;
+  reg [2:0] priority_36; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80994.4]
+  reg [31:0] _RAND_36;
+  reg [2:0] priority_37; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80994.4]
+  reg [31:0] _RAND_37;
+  reg [2:0] priority_38; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80994.4]
+  reg [31:0] _RAND_38;
+  reg [2:0] priority_39; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80994.4]
+  reg [31:0] _RAND_39;
+  reg [2:0] priority_40; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80994.4]
+  reg [31:0] _RAND_40;
+  reg [2:0] priority_41; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80994.4]
+  reg [31:0] _RAND_41;
+  reg [2:0] priority_42; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80994.4]
+  reg [31:0] _RAND_42;
+  reg [2:0] priority_43; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80994.4]
+  reg [31:0] _RAND_43;
+  reg [2:0] threshold_0; // @[Plic.scala 150:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80995.4]
+  reg [31:0] _RAND_44;
+  reg  pending_0; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@81042.4]
+  reg [31:0] _RAND_45;
+  reg  pending_1; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@81042.4]
+  reg [31:0] _RAND_46;
+  reg  pending_2; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@81042.4]
+  reg [31:0] _RAND_47;
+  reg  pending_3; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@81042.4]
+  reg [31:0] _RAND_48;
+  reg  pending_4; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@81042.4]
+  reg [31:0] _RAND_49;
+  reg  pending_5; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@81042.4]
+  reg [31:0] _RAND_50;
+  reg  pending_6; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@81042.4]
+  reg [31:0] _RAND_51;
+  reg  pending_7; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@81042.4]
+  reg [31:0] _RAND_52;
+  reg  pending_8; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@81042.4]
+  reg [31:0] _RAND_53;
+  reg  pending_9; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@81042.4]
+  reg [31:0] _RAND_54;
+  reg  pending_10; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@81042.4]
+  reg [31:0] _RAND_55;
+  reg  pending_11; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@81042.4]
+  reg [31:0] _RAND_56;
+  reg  pending_12; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@81042.4]
+  reg [31:0] _RAND_57;
+  reg  pending_13; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@81042.4]
+  reg [31:0] _RAND_58;
+  reg  pending_14; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@81042.4]
+  reg [31:0] _RAND_59;
+  reg  pending_15; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@81042.4]
+  reg [31:0] _RAND_60;
+  reg  pending_16; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@81042.4]
+  reg [31:0] _RAND_61;
+  reg  pending_17; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@81042.4]
+  reg [31:0] _RAND_62;
+  reg  pending_18; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@81042.4]
+  reg [31:0] _RAND_63;
+  reg  pending_19; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@81042.4]
+  reg [31:0] _RAND_64;
+  reg  pending_20; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@81042.4]
+  reg [31:0] _RAND_65;
+  reg  pending_21; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@81042.4]
+  reg [31:0] _RAND_66;
+  reg  pending_22; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@81042.4]
+  reg [31:0] _RAND_67;
+  reg  pending_23; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@81042.4]
+  reg [31:0] _RAND_68;
+  reg  pending_24; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@81042.4]
+  reg [31:0] _RAND_69;
+  reg  pending_25; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@81042.4]
+  reg [31:0] _RAND_70;
+  reg  pending_26; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@81042.4]
+  reg [31:0] _RAND_71;
+  reg  pending_27; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@81042.4]
+  reg [31:0] _RAND_72;
+  reg  pending_28; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@81042.4]
+  reg [31:0] _RAND_73;
+  reg  pending_29; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@81042.4]
+  reg [31:0] _RAND_74;
+  reg  pending_30; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@81042.4]
+  reg [31:0] _RAND_75;
+  reg  pending_31; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@81042.4]
+  reg [31:0] _RAND_76;
+  reg  pending_32; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@81042.4]
+  reg [31:0] _RAND_77;
+  reg  pending_33; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@81042.4]
+  reg [31:0] _RAND_78;
+  reg  pending_34; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@81042.4]
+  reg [31:0] _RAND_79;
+  reg  pending_35; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@81042.4]
+  reg [31:0] _RAND_80;
+  reg  pending_36; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@81042.4]
+  reg [31:0] _RAND_81;
+  reg  pending_37; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@81042.4]
+  reg [31:0] _RAND_82;
+  reg  pending_38; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@81042.4]
+  reg [31:0] _RAND_83;
+  reg  pending_39; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@81042.4]
+  reg [31:0] _RAND_84;
+  reg  pending_40; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@81042.4]
+  reg [31:0] _RAND_85;
+  reg  pending_41; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@81042.4]
+  reg [31:0] _RAND_86;
+  reg  pending_42; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@81042.4]
+  reg [31:0] _RAND_87;
+  reg  pending_43; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@81042.4]
+  reg [31:0] _RAND_88;
+  reg [6:0] enables_0_0; // @[Plic.scala 158:26:shc.marmotcaravel.MarmotCaravelConfig.fir@81043.4]
+  reg [31:0] _RAND_89;
+  reg [7:0] enables_0_1; // @[Plic.scala 159:50:shc.marmotcaravel.MarmotCaravelConfig.fir@81044.4]
+  reg [31:0] _RAND_90;
+  reg [7:0] enables_0_2; // @[Plic.scala 159:50:shc.marmotcaravel.MarmotCaravelConfig.fir@81045.4]
+  reg [31:0] _RAND_91;
+  reg [7:0] enables_0_3; // @[Plic.scala 159:50:shc.marmotcaravel.MarmotCaravelConfig.fir@81046.4]
+  reg [31:0] _RAND_92;
+  reg [7:0] enables_0_4; // @[Plic.scala 159:50:shc.marmotcaravel.MarmotCaravelConfig.fir@81047.4]
+  reg [31:0] _RAND_93;
+  reg [4:0] enables_0_5; // @[Plic.scala 160:51:shc.marmotcaravel.MarmotCaravelConfig.fir@81048.4]
+  reg [31:0] _RAND_94;
+  wire [15:0] _T_1017; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81049.4]
+  wire [22:0] _T_1018; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81050.4]
+  wire [12:0] _T_1019; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81051.4]
+  wire [20:0] _T_1020; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81052.4]
+  wire [43:0] enableVec_0; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81053.4]
+  wire [44:0] enableVec0_0; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81057.4]
+  reg [5:0] maxDevs_0; // @[Plic.scala 165:22:shc.marmotcaravel.MarmotCaravelConfig.fir@81061.4]
+  reg [31:0] _RAND_95;
+  wire [1:0] _T_1041; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81062.4]
+  wire [1:0] _T_1042; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81063.4]
+  wire [2:0] _T_1043; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81064.4]
+  wire [4:0] _T_1044; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81065.4]
+  wire [1:0] _T_1045; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81066.4]
+  wire [2:0] _T_1046; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81067.4]
+  wire [1:0] _T_1047; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81068.4]
+  wire [2:0] _T_1048; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81069.4]
+  wire [5:0] _T_1049; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81070.4]
+  wire [10:0] _T_1050; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81071.4]
+  wire [1:0] _T_1051; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81072.4]
+  wire [1:0] _T_1052; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81073.4]
+  wire [2:0] _T_1053; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81074.4]
+  wire [4:0] _T_1054; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81075.4]
+  wire [1:0] _T_1055; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81076.4]
+  wire [2:0] _T_1056; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81077.4]
+  wire [1:0] _T_1057; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81078.4]
+  wire [2:0] _T_1058; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81079.4]
+  wire [5:0] _T_1059; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81080.4]
+  wire [10:0] _T_1060; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81081.4]
+  wire [21:0] _T_1061; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81082.4]
+  wire [1:0] _T_1062; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81083.4]
+  wire [1:0] _T_1063; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81084.4]
+  wire [2:0] _T_1064; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81085.4]
+  wire [4:0] _T_1065; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81086.4]
+  wire [1:0] _T_1066; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81087.4]
+  wire [2:0] _T_1067; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81088.4]
+  wire [1:0] _T_1068; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81089.4]
+  wire [2:0] _T_1069; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81090.4]
+  wire [5:0] _T_1070; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81091.4]
+  wire [10:0] _T_1071; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81092.4]
+  wire [1:0] _T_1072; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81093.4]
+  wire [1:0] _T_1073; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81094.4]
+  wire [2:0] _T_1074; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81095.4]
+  wire [4:0] _T_1075; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81096.4]
+  wire [1:0] _T_1076; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81097.4]
+  wire [2:0] _T_1077; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81098.4]
+  wire [1:0] _T_1078; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81099.4]
+  wire [2:0] _T_1079; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81100.4]
+  wire [5:0] _T_1080; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81101.4]
+  wire [10:0] _T_1081; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81102.4]
+  wire [21:0] _T_1082; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81103.4]
+  wire [43:0] pendingUInt; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81104.4]
+  reg [2:0] _T_1085; // @[Plic.scala 172:41:shc.marmotcaravel.MarmotCaravelConfig.fir@81113.4]
+  reg [31:0] _RAND_96;
+  wire  _T_12834; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@94045.4]
+  wire  _T_12835; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@94046.4]
+  wire  _T_4604; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@84603.4]
+  wire  _T_4596; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@84595.4]
+  wire [1:0] _T_4613; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@84612.4]
+  wire  _T_4595; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@84594.4]
+  wire [2:0] _T_4614; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@84613.4]
+  wire  _T_4590; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@84589.4]
+  wire  _T_4589; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@84588.4]
+  wire [1:0] _T_4612; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@84611.4]
+  wire [4:0] _T_4615; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@84614.4]
+  wire  _T_4588; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@84587.4]
+  wire  _T_4587; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@84586.4]
+  wire [1:0] _T_4610; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@84609.4]
+  wire  _T_4586; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@84585.4]
+  wire  _T_4585; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@84584.4]
+  wire [1:0] _T_4609; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@84608.4]
+  wire [3:0] _T_4611; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@84610.4]
+  wire [8:0] _T_4616; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@84615.4]
+  wire [511:0] _T_5130; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@85129.4]
+  wire  _T_5388; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85387.4]
+  wire  _T_14380; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@95946.4]
+  wire [23:0] _T_1420; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@81671.4]
+  wire  _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@81695.4]
+  wire  _T_14381; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@95947.4]
+  wire  _T_1959; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@81798.4]
+  wire [7:0] _T_1967; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@81806.4]
+  wire  _T_1958; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@81797.4]
+  wire [7:0] _T_1965; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@81804.4]
+  wire [15:0] _T_1969; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81808.4]
+  wire  _T_1957; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@81796.4]
+  wire [7:0] _T_1963; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@81802.4]
+  wire  _T_1956; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@81795.4]
+  wire [7:0] _T_1961; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@81800.4]
+  wire [15:0] _T_1968; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81807.4]
+  wire [31:0] _T_1970; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81809.4]
+  wire  _T_3116; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@82988.4]
+  wire  claimer_0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@82993.4]
+  wire [1:0] _T_1093; // @[Plic.scala 223:46:shc.marmotcaravel.MarmotCaravelConfig.fir@81119.4]
+  wire [1:0] _T_1094; // @[Plic.scala 223:46:shc.marmotcaravel.MarmotCaravelConfig.fir@81120.4]
+  wire  _T_1095; // @[Plic.scala 223:46:shc.marmotcaravel.MarmotCaravelConfig.fir@81121.4]
+  wire  _T_1096; // @[Plic.scala 223:28:shc.marmotcaravel.MarmotCaravelConfig.fir@81122.4]
+  wire  _T_1097; // @[Plic.scala 223:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81123.4]
+  wire  _T_1099; // @[Plic.scala 223:11:shc.marmotcaravel.MarmotCaravelConfig.fir@81125.4]
+  wire  _T_1100; // @[Plic.scala 223:11:shc.marmotcaravel.MarmotCaravelConfig.fir@81126.4]
+  wire [5:0] claiming; // @[Plic.scala 224:49:shc.marmotcaravel.MarmotCaravelConfig.fir@81131.4]
+  wire [63:0] _T_1102; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@81133.4]
+  wire [44:0] _T_1103; // @[OneHot.scala 52:27:shc.marmotcaravel.MarmotCaravelConfig.fir@81134.4]
+  wire  claimedDevs_1; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81136.4]
+  wire  claimedDevs_2; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81137.4]
+  wire  claimedDevs_3; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81138.4]
+  wire  claimedDevs_4; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81139.4]
+  wire  claimedDevs_5; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81140.4]
+  wire  claimedDevs_6; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81141.4]
+  wire  claimedDevs_7; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81142.4]
+  wire  claimedDevs_8; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81143.4]
+  wire  claimedDevs_9; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81144.4]
+  wire  claimedDevs_10; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81145.4]
+  wire  claimedDevs_11; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81146.4]
+  wire  claimedDevs_12; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81147.4]
+  wire  claimedDevs_13; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81148.4]
+  wire  claimedDevs_14; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81149.4]
+  wire  claimedDevs_15; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81150.4]
+  wire  claimedDevs_16; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81151.4]
+  wire  claimedDevs_17; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81152.4]
+  wire  claimedDevs_18; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81153.4]
+  wire  claimedDevs_19; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81154.4]
+  wire  claimedDevs_20; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81155.4]
+  wire  claimedDevs_21; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81156.4]
+  wire  claimedDevs_22; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81157.4]
+  wire  claimedDevs_23; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81158.4]
+  wire  claimedDevs_24; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81159.4]
+  wire  claimedDevs_25; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81160.4]
+  wire  claimedDevs_26; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81161.4]
+  wire  claimedDevs_27; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81162.4]
+  wire  claimedDevs_28; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81163.4]
+  wire  claimedDevs_29; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81164.4]
+  wire  claimedDevs_30; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81165.4]
+  wire  claimedDevs_31; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81166.4]
+  wire  claimedDevs_32; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81167.4]
+  wire  claimedDevs_33; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81168.4]
+  wire  claimedDevs_34; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81169.4]
+  wire  claimedDevs_35; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81170.4]
+  wire  claimedDevs_36; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81171.4]
+  wire  claimedDevs_37; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81172.4]
+  wire  claimedDevs_38; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81173.4]
+  wire  claimedDevs_39; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81174.4]
+  wire  claimedDevs_40; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81175.4]
+  wire  claimedDevs_41; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81176.4]
+  wire  claimedDevs_42; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81177.4]
+  wire  claimedDevs_43; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81178.4]
+  wire  claimedDevs_44; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81179.4]
+  wire  _T_1200; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81229.4]
+  wire  _T_1201; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81231.6]
+  wire  _T_1203; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81236.4]
+  wire  _T_1204; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81238.6]
+  wire  _T_1206; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81243.4]
+  wire  _T_1207; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81245.6]
+  wire  _T_1209; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81250.4]
+  wire  _T_1210; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81252.6]
+  wire  _T_1212; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81257.4]
+  wire  _T_1213; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81259.6]
+  wire  _T_1215; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81264.4]
+  wire  _T_1216; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81266.6]
+  wire  _T_1218; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81271.4]
+  wire  _T_1219; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81273.6]
+  wire  _T_1221; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81278.4]
+  wire  _T_1222; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81280.6]
+  wire  _T_1224; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81285.4]
+  wire  _T_1225; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81287.6]
+  wire  _T_1227; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81292.4]
+  wire  _T_1228; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81294.6]
+  wire  _T_1230; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81299.4]
+  wire  _T_1231; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81301.6]
+  wire  _T_1233; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81306.4]
+  wire  _T_1234; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81308.6]
+  wire  _T_1236; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81313.4]
+  wire  _T_1237; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81315.6]
+  wire  _T_1239; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81320.4]
+  wire  _T_1240; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81322.6]
+  wire  _T_1242; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81327.4]
+  wire  _T_1243; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81329.6]
+  wire  _T_1245; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81334.4]
+  wire  _T_1246; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81336.6]
+  wire  _T_1248; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81341.4]
+  wire  _T_1249; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81343.6]
+  wire  _T_1251; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81348.4]
+  wire  _T_1252; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81350.6]
+  wire  _T_1254; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81355.4]
+  wire  _T_1255; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81357.6]
+  wire  _T_1257; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81362.4]
+  wire  _T_1258; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81364.6]
+  wire  _T_1260; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81369.4]
+  wire  _T_1261; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81371.6]
+  wire  _T_1263; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81376.4]
+  wire  _T_1264; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81378.6]
+  wire  _T_1266; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81383.4]
+  wire  _T_1267; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81385.6]
+  wire  _T_1269; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81390.4]
+  wire  _T_1270; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81392.6]
+  wire  _T_1272; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81397.4]
+  wire  _T_1273; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81399.6]
+  wire  _T_1275; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81404.4]
+  wire  _T_1276; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81406.6]
+  wire  _T_1278; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81411.4]
+  wire  _T_1279; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81413.6]
+  wire  _T_1281; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81418.4]
+  wire  _T_1282; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81420.6]
+  wire  _T_1284; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81425.4]
+  wire  _T_1285; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81427.6]
+  wire  _T_1287; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81432.4]
+  wire  _T_1288; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81434.6]
+  wire  _T_1290; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81439.4]
+  wire  _T_1291; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81441.6]
+  wire  _T_1293; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81446.4]
+  wire  _T_1294; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81448.6]
+  wire  _T_1296; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81453.4]
+  wire  _T_1297; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81455.6]
+  wire  _T_1299; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81460.4]
+  wire  _T_1300; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81462.6]
+  wire  _T_1302; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81467.4]
+  wire  _T_1303; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81469.6]
+  wire  _T_1305; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81474.4]
+  wire  _T_1306; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81476.6]
+  wire  _T_1308; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81481.4]
+  wire  _T_1309; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81483.6]
+  wire  _T_1311; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81488.4]
+  wire  _T_1312; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81490.6]
+  wire  _T_1314; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81495.4]
+  wire  _T_1315; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81497.6]
+  wire  _T_1317; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81502.4]
+  wire  _T_1318; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81504.6]
+  wire  _T_1320; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81509.4]
+  wire  _T_1321; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81511.6]
+  wire  _T_1323; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81516.4]
+  wire  _T_1324; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81518.6]
+  wire  _T_1326; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81523.4]
+  wire  _T_1327; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81525.6]
+  wire  _T_1329; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81530.4]
+  wire  _T_1330; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81532.6]
+  wire  _T_16430; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98247.4]
+  wire  _T_16431; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98248.4]
+  wire  _T_17976; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@100148.4]
+  wire  _T_17977; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@100149.4]
+  wire [31:0] _T_3118; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@82990.4]
+  wire  _T_3119; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@82991.4]
+  wire  _T_3123; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@82995.4]
+  wire [31:0] _T_3124; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@82997.4]
+  wire [5:0] completerDev; // @[package.scala 119:13:shc.marmotcaravel.MarmotCaravelConfig.fir@83007.4]
+  wire [44:0] _T_3131; // @[Plic.scala 273:51:shc.marmotcaravel.MarmotCaravelConfig.fir@83009.4]
+  wire  _T_3132; // @[Plic.scala 273:51:shc.marmotcaravel.MarmotCaravelConfig.fir@83010.4]
+  wire  completer_0; // @[Plic.scala 273:35:shc.marmotcaravel.MarmotCaravelConfig.fir@83011.4]
+  wire [1:0] _T_1337; // @[Plic.scala 240:50:shc.marmotcaravel.MarmotCaravelConfig.fir@81537.4]
+  wire [1:0] _T_1338; // @[Plic.scala 240:50:shc.marmotcaravel.MarmotCaravelConfig.fir@81538.4]
+  wire  _T_1339; // @[Plic.scala 240:50:shc.marmotcaravel.MarmotCaravelConfig.fir@81539.4]
+  wire  _T_1340; // @[Plic.scala 240:30:shc.marmotcaravel.MarmotCaravelConfig.fir@81540.4]
+  wire  _T_1341; // @[Plic.scala 240:62:shc.marmotcaravel.MarmotCaravelConfig.fir@81541.4]
+  wire  _T_1343; // @[Plic.scala 240:11:shc.marmotcaravel.MarmotCaravelConfig.fir@81543.4]
+  wire  _T_1344; // @[Plic.scala 240:11:shc.marmotcaravel.MarmotCaravelConfig.fir@81544.4]
+  wire [63:0] _T_1347; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@81552.4]
+  wire [44:0] _T_1348; // @[OneHot.scala 52:27:shc.marmotcaravel.MarmotCaravelConfig.fir@81553.4]
+  wire [44:0] completedDevs; // @[Plic.scala 242:28:shc.marmotcaravel.MarmotCaravelConfig.fir@81554.4]
+  wire [25:0] _T_1402; // @[Edges.scala 192:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81648.4]
+  wire [1:0] _T_2020; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81859.4]
+  wire [2:0] _T_2047; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81886.4]
+  wire [3:0] _T_2074; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81913.4]
+  wire [4:0] _T_2101; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81940.4]
+  wire [5:0] _T_2128; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81967.4]
+  wire [6:0] _T_2155; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81994.4]
+  wire [7:0] _T_2182; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@82021.4]
+  wire [8:0] _T_2209; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@82048.4]
+  wire [9:0] _T_2236; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@82075.4]
+  wire [10:0] _T_2263; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@82102.4]
+  wire [11:0] _T_2290; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@82129.4]
+  wire [12:0] _T_2317; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@82156.4]
+  wire [13:0] _T_2344; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@82183.4]
+  wire [14:0] _T_2371; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@82210.4]
+  wire [15:0] _T_2398; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@82237.4]
+  wire [16:0] _T_2425; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@82264.4]
+  wire [17:0] _T_2452; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@82291.4]
+  wire [18:0] _T_2479; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@82318.4]
+  wire [19:0] _T_2506; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@82345.4]
+  wire [20:0] _T_2533; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@82372.4]
+  wire [21:0] _T_2560; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@82399.4]
+  wire [22:0] _T_2587; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@82426.4]
+  wire [23:0] _T_2614; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@82453.4]
+  wire [24:0] _T_2641; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@82480.4]
+  wire [25:0] _T_2668; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@82507.4]
+  wire [26:0] _T_2695; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@82534.4]
+  wire [27:0] _T_2722; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@82561.4]
+  wire [28:0] _T_2749; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@82588.4]
+  wire [29:0] _T_2776; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@82615.4]
+  wire [30:0] _T_2803; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@82642.4]
+  wire [31:0] _T_2830; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@82669.4]
+  wire [2:0] _T_2838; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@82677.4]
+  wire [2:0] _T_2841; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@82680.4]
+  wire  _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@82681.4]
+  wire  _T_5136; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85135.4]
+  wire  _T_16464; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98290.4]
+  wire  _T_16465; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98291.4]
+  wire  _T_2846; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@82685.4]
+  wire [2:0] _T_2847; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@82686.4]
+  wire  _T_5141; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85140.4]
+  wire  _T_16494; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98330.4]
+  wire  _T_16495; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98331.4]
+  wire  _T_2871; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@82713.4]
+  wire  _T_5173; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85172.4]
+  wire  _T_16686; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98586.4]
+  wire  _T_16687; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98587.4]
+  wire  _T_2896; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@82741.4]
+  wire  _T_5155; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85154.4]
+  wire  _T_16578; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98442.4]
+  wire  _T_16579; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98443.4]
+  wire  _T_2921; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@82769.4]
+  wire  _T_5168; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85167.4]
+  wire  _T_16656; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98546.4]
+  wire  _T_16657; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98547.4]
+  wire  _T_2946; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@82797.4]
+  wire  _T_5156; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85155.4]
+  wire  _T_16584; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98450.4]
+  wire  _T_16585; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98451.4]
+  wire  _T_2971; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@82825.4]
+  wire  _T_5145; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85144.4]
+  wire  _T_16518; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98362.4]
+  wire  _T_16519; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98363.4]
+  wire  _T_2996; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@82853.4]
+  wire  _T_5151; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85150.4]
+  wire  _T_16554; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98410.4]
+  wire  _T_16555; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98411.4]
+  wire  _T_3021; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@82881.4]
+  wire [7:0] _T_3038; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@82901.4]
+  wire [7:0] _T_3041; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@82904.4]
+  wire  _T_3042; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@82905.4]
+  wire  _T_5260; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85259.4]
+  wire  _T_17208; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@99248.4]
+  wire  _T_17209; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@99249.4]
+  wire  _T_3046; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@82909.4]
+  wire [7:0] _T_3047; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@82910.4]
+  wire [4:0] _T_3063; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@82929.4]
+  wire [4:0] _T_3066; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@82932.4]
+  wire  _T_3067; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@82933.4]
+  wire  _T_3071; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@82937.4]
+  wire [4:0] _T_3072; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@82938.4]
+  wire  _T_5160; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85159.4]
+  wire  _T_16608; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98482.4]
+  wire  _T_16609; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98483.4]
+  wire  _T_3098; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@82967.4]
+  wire  _T_3126; // @[Plic.scala 270:33:shc.marmotcaravel.MarmotCaravelConfig.fir@82999.4]
+  wire  _T_3128; // @[Plic.scala 270:19:shc.marmotcaravel.MarmotCaravelConfig.fir@83001.4]
+  wire  _T_3129; // @[Plic.scala 270:19:shc.marmotcaravel.MarmotCaravelConfig.fir@83002.4]
+  wire [31:0] _T_3142; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83021.4]
+  wire  _T_5132; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85131.4]
+  wire  _T_16440; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98258.4]
+  wire  _T_16441; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98259.4]
+  wire  _T_3157; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83036.4]
+  wire  _T_5137; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85136.4]
+  wire  _T_16470; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98298.4]
+  wire  _T_16471; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98299.4]
+  wire  _T_3182; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83064.4]
+  wire  _T_5159; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85158.4]
+  wire  _T_16602; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98474.4]
+  wire  _T_16603; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98475.4]
+  wire  _T_3207; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83092.4]
+  wire  _T_5169; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85168.4]
+  wire  _T_16662; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98554.4]
+  wire  _T_16663; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98555.4]
+  wire  _T_3232; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83120.4]
+  wire  _T_5152; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85151.4]
+  wire  _T_16560; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98418.4]
+  wire  _T_16561; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98419.4]
+  wire  _T_3257; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83148.4]
+  wire  _T_5164; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85163.4]
+  wire  _T_16632; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98514.4]
+  wire  _T_16633; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98515.4]
+  wire  _T_3282; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83176.4]
+  wire  _T_5140; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85139.4]
+  wire  _T_16488; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98322.4]
+  wire  _T_16489; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98323.4]
+  wire  _T_3307; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83204.4]
+  wire  _T_5144; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85143.4]
+  wire  _T_16512; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98354.4]
+  wire  _T_16513; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98355.4]
+  wire  _T_3332; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83232.4]
+  wire  _T_5172; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85171.4]
+  wire  _T_16680; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98578.4]
+  wire  _T_16681; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98579.4]
+  wire  _T_3357; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83260.4]
+  wire  _T_5133; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85132.4]
+  wire  _T_16446; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98266.4]
+  wire  _T_16447; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98267.4]
+  wire  _T_3382; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83288.4]
+  wire  _T_5163; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85162.4]
+  wire  _T_16626; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98506.4]
+  wire  _T_16627; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98507.4]
+  wire  _T_3407; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83316.4]
+  wire  _T_5165; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85164.4]
+  wire  _T_16638; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98522.4]
+  wire  _T_16639; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98523.4]
+  wire  _T_3432; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83344.4]
+  wire  _T_5148; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85147.4]
+  wire  _T_16536; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98386.4]
+  wire  _T_16537; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98387.4]
+  wire  _T_3457; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83372.4]
+  wire  _T_5387; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85386.4]
+  wire  _T_17970; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@100139.4]
+  wire  _T_17971; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@100140.4]
+  wire  _T_3482; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83400.4]
+  wire [3:0] _T_3518; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@83439.4]
+  wire [31:0] _T_3519; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83440.4]
+  wire  _T_5259; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85258.4]
+  wire  _T_17202; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@99236.4]
+  wire  _T_17203; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@99237.4]
+  wire [6:0] _T_3551; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83472.4]
+  wire [6:0] _T_3554; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83475.4]
+  wire  _T_3555; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83476.4]
+  wire  _T_3559; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83480.4]
+  wire [6:0] _T_3560; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83481.4]
+  wire [7:0] _T_3570; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@83494.4]
+  wire [7:0] _T_3578; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83502.4]
+  wire [7:0] _T_3581; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83505.4]
+  wire  _T_3582; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83506.4]
+  wire  _T_3586; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83510.4]
+  wire [7:0] _T_3587; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83511.4]
+  wire [15:0] _T_3597; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@83524.4]
+  wire [7:0] _T_3605; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83532.4]
+  wire [7:0] _T_3608; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83535.4]
+  wire  _T_3609; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83536.4]
+  wire  _T_3613; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83540.4]
+  wire [7:0] _T_3614; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83541.4]
+  wire [23:0] _T_3624; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@83554.4]
+  wire [7:0] _T_3632; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83562.4]
+  wire [7:0] _T_3635; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83565.4]
+  wire  _T_3636; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83566.4]
+  wire  _T_3640; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83570.4]
+  wire [7:0] _T_3641; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83571.4]
+  wire [31:0] _T_3651; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@83584.4]
+  wire  _T_5153; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85152.4]
+  wire  _T_16566; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98426.4]
+  wire  _T_16567; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98427.4]
+  wire  _T_3667; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83600.4]
+  wire  _T_5175; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85174.4]
+  wire  _T_16698; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98602.4]
+  wire  _T_16699; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98603.4]
+  wire  _T_3692; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83628.4]
+  wire  _T_5158; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85157.4]
+  wire  _T_16596; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98466.4]
+  wire  _T_16597; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98467.4]
+  wire  _T_3717; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83656.4]
+  wire  _T_5143; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85142.4]
+  wire  _T_16506; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98346.4]
+  wire  _T_16507; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98347.4]
+  wire  _T_3742; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83684.4]
+  wire  _T_5138; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85137.4]
+  wire  _T_16476; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98306.4]
+  wire  _T_16477; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98307.4]
+  wire  _T_3767; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83712.4]
+  wire  _T_5170; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85169.4]
+  wire  _T_16668; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98562.4]
+  wire  _T_16669; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98563.4]
+  wire  _T_3792; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83740.4]
+  wire  _T_5134; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85133.4]
+  wire  _T_16452; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98274.4]
+  wire  _T_16453; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98275.4]
+  wire  _T_3817; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83768.4]
+  wire  _T_5166; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85165.4]
+  wire  _T_16644; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98530.4]
+  wire  _T_16645; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98531.4]
+  wire  _T_3842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83796.4]
+  wire [2:0] _T_3930; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@83887.4]
+  wire [3:0] _T_3957; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@83914.4]
+  wire [4:0] _T_3984; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@83941.4]
+  wire [5:0] _T_4011; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@83968.4]
+  wire [6:0] _T_4038; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@83995.4]
+  wire [7:0] _T_4065; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@84022.4]
+  wire [8:0] _T_4092; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@84049.4]
+  wire [9:0] _T_4119; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@84076.4]
+  wire [10:0] _T_4146; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@84103.4]
+  wire [11:0] _T_4173; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@84130.4]
+  wire [12:0] _T_4200; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@84157.4]
+  wire  _T_5149; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85148.4]
+  wire  _T_16542; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98394.4]
+  wire  _T_16543; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98395.4]
+  wire  _T_4216; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@84173.4]
+  wire  _T_5147; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85146.4]
+  wire  _T_16530; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98378.4]
+  wire  _T_16531; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98379.4]
+  wire  _T_4241; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@84201.4]
+  wire  _T_5162; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85161.4]
+  wire  _T_16620; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98498.4]
+  wire  _T_16621; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98499.4]
+  wire  _T_4266; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@84229.4]
+  wire  _T_5142; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85141.4]
+  wire  _T_16500; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98338.4]
+  wire  _T_16501; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98339.4]
+  wire  _T_4291; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@84257.4]
+  wire  _T_5174; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85173.4]
+  wire  _T_16692; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98594.4]
+  wire  _T_16693; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98595.4]
+  wire  _T_4316; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@84285.4]
+  wire  _T_5171; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85170.4]
+  wire  _T_16674; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98570.4]
+  wire  _T_16675; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98571.4]
+  wire  _T_4341; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@84313.4]
+  wire  _T_5157; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85156.4]
+  wire  _T_16590; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98458.4]
+  wire  _T_16591; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98459.4]
+  wire  _T_4366; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@84341.4]
+  wire  _T_5154; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85153.4]
+  wire  _T_16572; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98434.4]
+  wire  _T_16573; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98435.4]
+  wire  _T_4391; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@84369.4]
+  wire  _T_5139; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85138.4]
+  wire  _T_16482; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98314.4]
+  wire  _T_16483; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98315.4]
+  wire  _T_4416; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@84397.4]
+  wire  _T_5167; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85166.4]
+  wire  _T_16650; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98538.4]
+  wire  _T_16651; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98539.4]
+  wire  _T_4441; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@84425.4]
+  wire  _T_5161; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85160.4]
+  wire  _T_16614; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98490.4]
+  wire  _T_16615; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98491.4]
+  wire  _T_4466; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@84453.4]
+  wire  _T_5150; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85149.4]
+  wire  _T_16548; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98402.4]
+  wire  _T_16549; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98403.4]
+  wire  _T_4491; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@84481.4]
+  wire  _T_5135; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85134.4]
+  wire  _T_16458; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98282.4]
+  wire  _T_16459; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98283.4]
+  wire  _T_4516; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@84509.4]
+  wire  _T_5146; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85145.4]
+  wire  _T_16524; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98370.4]
+  wire  _T_16525; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98371.4]
+  wire  _T_4541; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@84537.4]
+  wire  _T_20033; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102462.4]
+  wire  _T_20034; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102467.6]
+  wire  _T_20035; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102472.8]
+  wire  _T_20036; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102477.10]
+  wire  _T_20037; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102482.12]
+  wire  _T_20038; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102487.14]
+  wire  _T_20039; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102492.16]
+  wire  _T_20040; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102497.18]
+  wire  _T_20041; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102502.20]
+  wire  _T_20042; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102507.22]
+  wire  _T_20043; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102512.24]
+  wire  _T_20044; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102517.26]
+  wire  _T_20045; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102522.28]
+  wire  _T_20046; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102527.30]
+  wire  _T_20047; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102532.32]
+  wire  _T_20048; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102537.34]
+  wire  _T_20049; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102542.36]
+  wire  _T_20050; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102547.38]
+  wire  _T_20051; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102552.40]
+  wire  _T_20052; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102557.42]
+  wire  _T_20053; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102562.44]
+  wire  _T_20054; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102567.46]
+  wire  _T_20055; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102572.48]
+  wire  _T_20056; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102577.50]
+  wire  _T_20057; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102582.52]
+  wire  _T_20058; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102587.54]
+  wire  _T_20059; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102592.56]
+  wire  _T_20060; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102597.58]
+  wire  _T_20061; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102602.60]
+  wire  _T_20062; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102607.62]
+  wire  _T_20063; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102612.64]
+  wire  _T_20064; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102617.66]
+  wire  _T_20065; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102622.68]
+  wire  _T_20066; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102627.70]
+  wire  _T_20067; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102632.72]
+  wire  _T_20068; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102637.74]
+  wire  _T_20069; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102642.76]
+  wire  _T_20070; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102647.78]
+  wire  _T_20071; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102652.80]
+  wire  _T_20072; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102657.82]
+  wire  _T_20073; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102662.84]
+  wire  _T_20074; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102667.86]
+  wire  _T_20075; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102672.88]
+  wire  _T_20076; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102677.90]
+  wire  _T_20077; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102682.92]
+  wire  _T_20078; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102687.94]
+  wire  _T_20079; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102692.96]
+  wire  _T_20080; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102697.98]
+  wire  _T_20081; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102702.100]
+  wire  _T_20082; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102707.102]
+  wire  _GEN_2143; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102708.102]
+  wire  _GEN_2144; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102703.100]
+  wire  _GEN_2145; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102698.98]
+  wire  _GEN_2146; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102693.96]
+  wire  _GEN_2147; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102688.94]
+  wire  _GEN_2148; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102683.92]
+  wire  _GEN_2149; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102678.90]
+  wire  _GEN_2150; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102673.88]
+  wire  _GEN_2151; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102668.86]
+  wire  _GEN_2152; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102663.84]
+  wire  _GEN_2153; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102658.82]
+  wire  _GEN_2154; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102653.80]
+  wire  _GEN_2155; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102648.78]
+  wire  _GEN_2156; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102643.76]
+  wire  _GEN_2157; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102638.74]
+  wire  _GEN_2158; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102633.72]
+  wire  _GEN_2159; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102628.70]
+  wire  _GEN_2160; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102623.68]
+  wire  _GEN_2161; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102618.66]
+  wire  _GEN_2162; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102613.64]
+  wire  _GEN_2163; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102608.62]
+  wire  _GEN_2164; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102603.60]
+  wire  _GEN_2165; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102598.58]
+  wire  _GEN_2166; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102593.56]
+  wire  _GEN_2167; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102588.54]
+  wire  _GEN_2168; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102583.52]
+  wire  _GEN_2169; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102578.50]
+  wire  _GEN_2170; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102573.48]
+  wire  _GEN_2171; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102568.46]
+  wire  _GEN_2172; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102563.44]
+  wire  _GEN_2173; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102558.42]
+  wire  _GEN_2174; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102553.40]
+  wire  _GEN_2175; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102548.38]
+  wire  _GEN_2176; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102543.36]
+  wire  _GEN_2177; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102538.34]
+  wire  _GEN_2178; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102533.32]
+  wire  _GEN_2179; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102528.30]
+  wire  _GEN_2180; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102523.28]
+  wire  _GEN_2181; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102518.26]
+  wire  _GEN_2182; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102513.24]
+  wire  _GEN_2183; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102508.22]
+  wire  _GEN_2184; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102503.20]
+  wire  _GEN_2185; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102498.18]
+  wire  _GEN_2186; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102493.16]
+  wire  _GEN_2187; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102488.14]
+  wire  _GEN_2188; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102483.12]
+  wire  _GEN_2189; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102478.10]
+  wire  _GEN_2190; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102473.8]
+  wire  _GEN_2191; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102468.6]
+  wire  _GEN_2192; // @[Conditional.scala 40:58:shc.marmotcaravel.MarmotCaravelConfig.fir@102463.4]
+  wire [31:0] _GEN_2193; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102960.102]
+  wire [31:0] _GEN_2194; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102955.100]
+  wire [31:0] _GEN_2195; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102950.98]
+  wire [31:0] _GEN_2196; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102945.96]
+  wire [31:0] _GEN_2197; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102940.94]
+  wire [31:0] _GEN_2198; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102935.92]
+  wire [31:0] _GEN_2199; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102930.90]
+  wire [31:0] _GEN_2200; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102925.88]
+  wire [31:0] _GEN_2201; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102920.86]
+  wire [31:0] _GEN_2202; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102915.84]
+  wire [31:0] _GEN_2203; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102910.82]
+  wire [31:0] _GEN_2204; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102905.80]
+  wire [31:0] _GEN_2205; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102900.78]
+  wire [31:0] _GEN_2206; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102895.76]
+  wire [31:0] _GEN_2207; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102890.74]
+  wire [31:0] _GEN_2208; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102885.72]
+  wire [31:0] _GEN_2209; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102880.70]
+  wire [31:0] _GEN_2210; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102875.68]
+  wire [31:0] _GEN_2211; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102870.66]
+  wire [31:0] _GEN_2212; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102865.64]
+  wire [31:0] _GEN_2213; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102860.62]
+  wire [31:0] _GEN_2214; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102855.60]
+  wire [31:0] _GEN_2215; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102850.58]
+  wire [31:0] _GEN_2216; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102845.56]
+  wire [31:0] _GEN_2217; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102840.54]
+  wire [31:0] _GEN_2218; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102835.52]
+  wire [31:0] _GEN_2219; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102830.50]
+  wire [31:0] _GEN_2220; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102825.48]
+  wire [31:0] _GEN_2221; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102820.46]
+  wire [31:0] _GEN_2222; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102815.44]
+  wire [31:0] _GEN_2223; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102810.42]
+  wire [31:0] _GEN_2224; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102805.40]
+  wire [31:0] _GEN_2225; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102800.38]
+  wire [31:0] _GEN_2226; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102795.36]
+  wire [31:0] _GEN_2227; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102790.34]
+  wire [31:0] _GEN_2228; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102785.32]
+  wire [31:0] _GEN_2229; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102780.30]
+  wire [31:0] _GEN_2230; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102775.28]
+  wire [31:0] _GEN_2231; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102770.26]
+  wire [31:0] _GEN_2232; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102765.24]
+  wire [31:0] _GEN_2233; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102760.22]
+  wire [31:0] _GEN_2234; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102755.20]
+  wire [31:0] _GEN_2235; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102750.18]
+  wire [31:0] _GEN_2236; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102745.16]
+  wire [31:0] _GEN_2237; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102740.14]
+  wire [31:0] _GEN_2238; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102735.12]
+  wire [31:0] _GEN_2239; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102730.10]
+  wire [31:0] _GEN_2240; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102725.8]
+  wire [31:0] _GEN_2241; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102720.6]
+  wire [31:0] _GEN_2242; // @[Conditional.scala 40:58:shc.marmotcaravel.MarmotCaravelConfig.fir@102715.4]
+  wire [7:0] _T_1408_bits_extra; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@81654.4 RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@102965.4]
+  wire  _T_1408_bits_read; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@81654.4 RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@102458.4]
+  TLMonitor_46 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@80730.4]
+    .clock(TLMonitor_clock),
+    .reset(TLMonitor_reset),
+    .io_in_a_ready(TLMonitor_io_in_a_ready),
+    .io_in_a_valid(TLMonitor_io_in_a_valid),
+    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
+    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
+    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
+    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
+    .io_in_d_ready(TLMonitor_io_in_d_ready),
+    .io_in_d_valid(TLMonitor_io_in_d_valid),
+    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
+    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
+    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source)
+  );
+  LevelGateway LevelGateway ( // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80774.4]
+    .clock(LevelGateway_clock),
+    .reset(LevelGateway_reset),
+    .io_interrupt(LevelGateway_io_interrupt),
+    .io_plic_valid(LevelGateway_io_plic_valid),
+    .io_plic_ready(LevelGateway_io_plic_ready),
+    .io_plic_complete(LevelGateway_io_plic_complete)
+  );
+  LevelGateway LevelGateway_1 ( // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80779.4]
+    .clock(LevelGateway_1_clock),
+    .reset(LevelGateway_1_reset),
+    .io_interrupt(LevelGateway_1_io_interrupt),
+    .io_plic_valid(LevelGateway_1_io_plic_valid),
+    .io_plic_ready(LevelGateway_1_io_plic_ready),
+    .io_plic_complete(LevelGateway_1_io_plic_complete)
+  );
+  LevelGateway LevelGateway_2 ( // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80784.4]
+    .clock(LevelGateway_2_clock),
+    .reset(LevelGateway_2_reset),
+    .io_interrupt(LevelGateway_2_io_interrupt),
+    .io_plic_valid(LevelGateway_2_io_plic_valid),
+    .io_plic_ready(LevelGateway_2_io_plic_ready),
+    .io_plic_complete(LevelGateway_2_io_plic_complete)
+  );
+  LevelGateway LevelGateway_3 ( // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80789.4]
+    .clock(LevelGateway_3_clock),
+    .reset(LevelGateway_3_reset),
+    .io_interrupt(LevelGateway_3_io_interrupt),
+    .io_plic_valid(LevelGateway_3_io_plic_valid),
+    .io_plic_ready(LevelGateway_3_io_plic_ready),
+    .io_plic_complete(LevelGateway_3_io_plic_complete)
+  );
+  LevelGateway LevelGateway_4 ( // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80794.4]
+    .clock(LevelGateway_4_clock),
+    .reset(LevelGateway_4_reset),
+    .io_interrupt(LevelGateway_4_io_interrupt),
+    .io_plic_valid(LevelGateway_4_io_plic_valid),
+    .io_plic_ready(LevelGateway_4_io_plic_ready),
+    .io_plic_complete(LevelGateway_4_io_plic_complete)
+  );
+  LevelGateway LevelGateway_5 ( // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80799.4]
+    .clock(LevelGateway_5_clock),
+    .reset(LevelGateway_5_reset),
+    .io_interrupt(LevelGateway_5_io_interrupt),
+    .io_plic_valid(LevelGateway_5_io_plic_valid),
+    .io_plic_ready(LevelGateway_5_io_plic_ready),
+    .io_plic_complete(LevelGateway_5_io_plic_complete)
+  );
+  LevelGateway LevelGateway_6 ( // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80804.4]
+    .clock(LevelGateway_6_clock),
+    .reset(LevelGateway_6_reset),
+    .io_interrupt(LevelGateway_6_io_interrupt),
+    .io_plic_valid(LevelGateway_6_io_plic_valid),
+    .io_plic_ready(LevelGateway_6_io_plic_ready),
+    .io_plic_complete(LevelGateway_6_io_plic_complete)
+  );
+  LevelGateway LevelGateway_7 ( // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80809.4]
+    .clock(LevelGateway_7_clock),
+    .reset(LevelGateway_7_reset),
+    .io_interrupt(LevelGateway_7_io_interrupt),
+    .io_plic_valid(LevelGateway_7_io_plic_valid),
+    .io_plic_ready(LevelGateway_7_io_plic_ready),
+    .io_plic_complete(LevelGateway_7_io_plic_complete)
+  );
+  LevelGateway LevelGateway_8 ( // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80814.4]
+    .clock(LevelGateway_8_clock),
+    .reset(LevelGateway_8_reset),
+    .io_interrupt(LevelGateway_8_io_interrupt),
+    .io_plic_valid(LevelGateway_8_io_plic_valid),
+    .io_plic_ready(LevelGateway_8_io_plic_ready),
+    .io_plic_complete(LevelGateway_8_io_plic_complete)
+  );
+  LevelGateway LevelGateway_9 ( // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80819.4]
+    .clock(LevelGateway_9_clock),
+    .reset(LevelGateway_9_reset),
+    .io_interrupt(LevelGateway_9_io_interrupt),
+    .io_plic_valid(LevelGateway_9_io_plic_valid),
+    .io_plic_ready(LevelGateway_9_io_plic_ready),
+    .io_plic_complete(LevelGateway_9_io_plic_complete)
+  );
+  LevelGateway LevelGateway_10 ( // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80824.4]
+    .clock(LevelGateway_10_clock),
+    .reset(LevelGateway_10_reset),
+    .io_interrupt(LevelGateway_10_io_interrupt),
+    .io_plic_valid(LevelGateway_10_io_plic_valid),
+    .io_plic_ready(LevelGateway_10_io_plic_ready),
+    .io_plic_complete(LevelGateway_10_io_plic_complete)
+  );
+  LevelGateway LevelGateway_11 ( // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80829.4]
+    .clock(LevelGateway_11_clock),
+    .reset(LevelGateway_11_reset),
+    .io_interrupt(LevelGateway_11_io_interrupt),
+    .io_plic_valid(LevelGateway_11_io_plic_valid),
+    .io_plic_ready(LevelGateway_11_io_plic_ready),
+    .io_plic_complete(LevelGateway_11_io_plic_complete)
+  );
+  LevelGateway LevelGateway_12 ( // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80834.4]
+    .clock(LevelGateway_12_clock),
+    .reset(LevelGateway_12_reset),
+    .io_interrupt(LevelGateway_12_io_interrupt),
+    .io_plic_valid(LevelGateway_12_io_plic_valid),
+    .io_plic_ready(LevelGateway_12_io_plic_ready),
+    .io_plic_complete(LevelGateway_12_io_plic_complete)
+  );
+  LevelGateway LevelGateway_13 ( // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80839.4]
+    .clock(LevelGateway_13_clock),
+    .reset(LevelGateway_13_reset),
+    .io_interrupt(LevelGateway_13_io_interrupt),
+    .io_plic_valid(LevelGateway_13_io_plic_valid),
+    .io_plic_ready(LevelGateway_13_io_plic_ready),
+    .io_plic_complete(LevelGateway_13_io_plic_complete)
+  );
+  LevelGateway LevelGateway_14 ( // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80844.4]
+    .clock(LevelGateway_14_clock),
+    .reset(LevelGateway_14_reset),
+    .io_interrupt(LevelGateway_14_io_interrupt),
+    .io_plic_valid(LevelGateway_14_io_plic_valid),
+    .io_plic_ready(LevelGateway_14_io_plic_ready),
+    .io_plic_complete(LevelGateway_14_io_plic_complete)
+  );
+  LevelGateway LevelGateway_15 ( // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80849.4]
+    .clock(LevelGateway_15_clock),
+    .reset(LevelGateway_15_reset),
+    .io_interrupt(LevelGateway_15_io_interrupt),
+    .io_plic_valid(LevelGateway_15_io_plic_valid),
+    .io_plic_ready(LevelGateway_15_io_plic_ready),
+    .io_plic_complete(LevelGateway_15_io_plic_complete)
+  );
+  LevelGateway LevelGateway_16 ( // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80854.4]
+    .clock(LevelGateway_16_clock),
+    .reset(LevelGateway_16_reset),
+    .io_interrupt(LevelGateway_16_io_interrupt),
+    .io_plic_valid(LevelGateway_16_io_plic_valid),
+    .io_plic_ready(LevelGateway_16_io_plic_ready),
+    .io_plic_complete(LevelGateway_16_io_plic_complete)
+  );
+  LevelGateway LevelGateway_17 ( // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80859.4]
+    .clock(LevelGateway_17_clock),
+    .reset(LevelGateway_17_reset),
+    .io_interrupt(LevelGateway_17_io_interrupt),
+    .io_plic_valid(LevelGateway_17_io_plic_valid),
+    .io_plic_ready(LevelGateway_17_io_plic_ready),
+    .io_plic_complete(LevelGateway_17_io_plic_complete)
+  );
+  LevelGateway LevelGateway_18 ( // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80864.4]
+    .clock(LevelGateway_18_clock),
+    .reset(LevelGateway_18_reset),
+    .io_interrupt(LevelGateway_18_io_interrupt),
+    .io_plic_valid(LevelGateway_18_io_plic_valid),
+    .io_plic_ready(LevelGateway_18_io_plic_ready),
+    .io_plic_complete(LevelGateway_18_io_plic_complete)
+  );
+  LevelGateway LevelGateway_19 ( // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80869.4]
+    .clock(LevelGateway_19_clock),
+    .reset(LevelGateway_19_reset),
+    .io_interrupt(LevelGateway_19_io_interrupt),
+    .io_plic_valid(LevelGateway_19_io_plic_valid),
+    .io_plic_ready(LevelGateway_19_io_plic_ready),
+    .io_plic_complete(LevelGateway_19_io_plic_complete)
+  );
+  LevelGateway LevelGateway_20 ( // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80874.4]
+    .clock(LevelGateway_20_clock),
+    .reset(LevelGateway_20_reset),
+    .io_interrupt(LevelGateway_20_io_interrupt),
+    .io_plic_valid(LevelGateway_20_io_plic_valid),
+    .io_plic_ready(LevelGateway_20_io_plic_ready),
+    .io_plic_complete(LevelGateway_20_io_plic_complete)
+  );
+  LevelGateway LevelGateway_21 ( // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80879.4]
+    .clock(LevelGateway_21_clock),
+    .reset(LevelGateway_21_reset),
+    .io_interrupt(LevelGateway_21_io_interrupt),
+    .io_plic_valid(LevelGateway_21_io_plic_valid),
+    .io_plic_ready(LevelGateway_21_io_plic_ready),
+    .io_plic_complete(LevelGateway_21_io_plic_complete)
+  );
+  LevelGateway LevelGateway_22 ( // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80884.4]
+    .clock(LevelGateway_22_clock),
+    .reset(LevelGateway_22_reset),
+    .io_interrupt(LevelGateway_22_io_interrupt),
+    .io_plic_valid(LevelGateway_22_io_plic_valid),
+    .io_plic_ready(LevelGateway_22_io_plic_ready),
+    .io_plic_complete(LevelGateway_22_io_plic_complete)
+  );
+  LevelGateway LevelGateway_23 ( // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80889.4]
+    .clock(LevelGateway_23_clock),
+    .reset(LevelGateway_23_reset),
+    .io_interrupt(LevelGateway_23_io_interrupt),
+    .io_plic_valid(LevelGateway_23_io_plic_valid),
+    .io_plic_ready(LevelGateway_23_io_plic_ready),
+    .io_plic_complete(LevelGateway_23_io_plic_complete)
+  );
+  LevelGateway LevelGateway_24 ( // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80894.4]
+    .clock(LevelGateway_24_clock),
+    .reset(LevelGateway_24_reset),
+    .io_interrupt(LevelGateway_24_io_interrupt),
+    .io_plic_valid(LevelGateway_24_io_plic_valid),
+    .io_plic_ready(LevelGateway_24_io_plic_ready),
+    .io_plic_complete(LevelGateway_24_io_plic_complete)
+  );
+  LevelGateway LevelGateway_25 ( // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80899.4]
+    .clock(LevelGateway_25_clock),
+    .reset(LevelGateway_25_reset),
+    .io_interrupt(LevelGateway_25_io_interrupt),
+    .io_plic_valid(LevelGateway_25_io_plic_valid),
+    .io_plic_ready(LevelGateway_25_io_plic_ready),
+    .io_plic_complete(LevelGateway_25_io_plic_complete)
+  );
+  LevelGateway LevelGateway_26 ( // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80904.4]
+    .clock(LevelGateway_26_clock),
+    .reset(LevelGateway_26_reset),
+    .io_interrupt(LevelGateway_26_io_interrupt),
+    .io_plic_valid(LevelGateway_26_io_plic_valid),
+    .io_plic_ready(LevelGateway_26_io_plic_ready),
+    .io_plic_complete(LevelGateway_26_io_plic_complete)
+  );
+  LevelGateway LevelGateway_27 ( // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80909.4]
+    .clock(LevelGateway_27_clock),
+    .reset(LevelGateway_27_reset),
+    .io_interrupt(LevelGateway_27_io_interrupt),
+    .io_plic_valid(LevelGateway_27_io_plic_valid),
+    .io_plic_ready(LevelGateway_27_io_plic_ready),
+    .io_plic_complete(LevelGateway_27_io_plic_complete)
+  );
+  LevelGateway LevelGateway_28 ( // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80914.4]
+    .clock(LevelGateway_28_clock),
+    .reset(LevelGateway_28_reset),
+    .io_interrupt(LevelGateway_28_io_interrupt),
+    .io_plic_valid(LevelGateway_28_io_plic_valid),
+    .io_plic_ready(LevelGateway_28_io_plic_ready),
+    .io_plic_complete(LevelGateway_28_io_plic_complete)
+  );
+  LevelGateway LevelGateway_29 ( // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80919.4]
+    .clock(LevelGateway_29_clock),
+    .reset(LevelGateway_29_reset),
+    .io_interrupt(LevelGateway_29_io_interrupt),
+    .io_plic_valid(LevelGateway_29_io_plic_valid),
+    .io_plic_ready(LevelGateway_29_io_plic_ready),
+    .io_plic_complete(LevelGateway_29_io_plic_complete)
+  );
+  LevelGateway LevelGateway_30 ( // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80924.4]
+    .clock(LevelGateway_30_clock),
+    .reset(LevelGateway_30_reset),
+    .io_interrupt(LevelGateway_30_io_interrupt),
+    .io_plic_valid(LevelGateway_30_io_plic_valid),
+    .io_plic_ready(LevelGateway_30_io_plic_ready),
+    .io_plic_complete(LevelGateway_30_io_plic_complete)
+  );
+  LevelGateway LevelGateway_31 ( // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80929.4]
+    .clock(LevelGateway_31_clock),
+    .reset(LevelGateway_31_reset),
+    .io_interrupt(LevelGateway_31_io_interrupt),
+    .io_plic_valid(LevelGateway_31_io_plic_valid),
+    .io_plic_ready(LevelGateway_31_io_plic_ready),
+    .io_plic_complete(LevelGateway_31_io_plic_complete)
+  );
+  LevelGateway LevelGateway_32 ( // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80934.4]
+    .clock(LevelGateway_32_clock),
+    .reset(LevelGateway_32_reset),
+    .io_interrupt(LevelGateway_32_io_interrupt),
+    .io_plic_valid(LevelGateway_32_io_plic_valid),
+    .io_plic_ready(LevelGateway_32_io_plic_ready),
+    .io_plic_complete(LevelGateway_32_io_plic_complete)
+  );
+  LevelGateway LevelGateway_33 ( // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80939.4]
+    .clock(LevelGateway_33_clock),
+    .reset(LevelGateway_33_reset),
+    .io_interrupt(LevelGateway_33_io_interrupt),
+    .io_plic_valid(LevelGateway_33_io_plic_valid),
+    .io_plic_ready(LevelGateway_33_io_plic_ready),
+    .io_plic_complete(LevelGateway_33_io_plic_complete)
+  );
+  LevelGateway LevelGateway_34 ( // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80944.4]
+    .clock(LevelGateway_34_clock),
+    .reset(LevelGateway_34_reset),
+    .io_interrupt(LevelGateway_34_io_interrupt),
+    .io_plic_valid(LevelGateway_34_io_plic_valid),
+    .io_plic_ready(LevelGateway_34_io_plic_ready),
+    .io_plic_complete(LevelGateway_34_io_plic_complete)
+  );
+  LevelGateway LevelGateway_35 ( // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80949.4]
+    .clock(LevelGateway_35_clock),
+    .reset(LevelGateway_35_reset),
+    .io_interrupt(LevelGateway_35_io_interrupt),
+    .io_plic_valid(LevelGateway_35_io_plic_valid),
+    .io_plic_ready(LevelGateway_35_io_plic_ready),
+    .io_plic_complete(LevelGateway_35_io_plic_complete)
+  );
+  LevelGateway LevelGateway_36 ( // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80954.4]
+    .clock(LevelGateway_36_clock),
+    .reset(LevelGateway_36_reset),
+    .io_interrupt(LevelGateway_36_io_interrupt),
+    .io_plic_valid(LevelGateway_36_io_plic_valid),
+    .io_plic_ready(LevelGateway_36_io_plic_ready),
+    .io_plic_complete(LevelGateway_36_io_plic_complete)
+  );
+  LevelGateway LevelGateway_37 ( // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80959.4]
+    .clock(LevelGateway_37_clock),
+    .reset(LevelGateway_37_reset),
+    .io_interrupt(LevelGateway_37_io_interrupt),
+    .io_plic_valid(LevelGateway_37_io_plic_valid),
+    .io_plic_ready(LevelGateway_37_io_plic_ready),
+    .io_plic_complete(LevelGateway_37_io_plic_complete)
+  );
+  LevelGateway LevelGateway_38 ( // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80964.4]
+    .clock(LevelGateway_38_clock),
+    .reset(LevelGateway_38_reset),
+    .io_interrupt(LevelGateway_38_io_interrupt),
+    .io_plic_valid(LevelGateway_38_io_plic_valid),
+    .io_plic_ready(LevelGateway_38_io_plic_ready),
+    .io_plic_complete(LevelGateway_38_io_plic_complete)
+  );
+  LevelGateway LevelGateway_39 ( // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80969.4]
+    .clock(LevelGateway_39_clock),
+    .reset(LevelGateway_39_reset),
+    .io_interrupt(LevelGateway_39_io_interrupt),
+    .io_plic_valid(LevelGateway_39_io_plic_valid),
+    .io_plic_ready(LevelGateway_39_io_plic_ready),
+    .io_plic_complete(LevelGateway_39_io_plic_complete)
+  );
+  LevelGateway LevelGateway_40 ( // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80974.4]
+    .clock(LevelGateway_40_clock),
+    .reset(LevelGateway_40_reset),
+    .io_interrupt(LevelGateway_40_io_interrupt),
+    .io_plic_valid(LevelGateway_40_io_plic_valid),
+    .io_plic_ready(LevelGateway_40_io_plic_ready),
+    .io_plic_complete(LevelGateway_40_io_plic_complete)
+  );
+  LevelGateway LevelGateway_41 ( // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80979.4]
+    .clock(LevelGateway_41_clock),
+    .reset(LevelGateway_41_reset),
+    .io_interrupt(LevelGateway_41_io_interrupt),
+    .io_plic_valid(LevelGateway_41_io_plic_valid),
+    .io_plic_ready(LevelGateway_41_io_plic_ready),
+    .io_plic_complete(LevelGateway_41_io_plic_complete)
+  );
+  LevelGateway LevelGateway_42 ( // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80984.4]
+    .clock(LevelGateway_42_clock),
+    .reset(LevelGateway_42_reset),
+    .io_interrupt(LevelGateway_42_io_interrupt),
+    .io_plic_valid(LevelGateway_42_io_plic_valid),
+    .io_plic_ready(LevelGateway_42_io_plic_ready),
+    .io_plic_complete(LevelGateway_42_io_plic_complete)
+  );
+  LevelGateway LevelGateway_43 ( // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80989.4]
+    .clock(LevelGateway_43_clock),
+    .reset(LevelGateway_43_reset),
+    .io_interrupt(LevelGateway_43_io_interrupt),
+    .io_plic_valid(LevelGateway_43_io_plic_valid),
+    .io_plic_ready(LevelGateway_43_io_plic_ready),
+    .io_plic_complete(LevelGateway_43_io_plic_complete)
+  );
+  PLICFanIn PLICFanIn ( // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81105.4]
+    .io_prio_0(PLICFanIn_io_prio_0),
+    .io_prio_1(PLICFanIn_io_prio_1),
+    .io_prio_2(PLICFanIn_io_prio_2),
+    .io_prio_3(PLICFanIn_io_prio_3),
+    .io_prio_4(PLICFanIn_io_prio_4),
+    .io_prio_5(PLICFanIn_io_prio_5),
+    .io_prio_6(PLICFanIn_io_prio_6),
+    .io_prio_7(PLICFanIn_io_prio_7),
+    .io_prio_8(PLICFanIn_io_prio_8),
+    .io_prio_9(PLICFanIn_io_prio_9),
+    .io_prio_10(PLICFanIn_io_prio_10),
+    .io_prio_11(PLICFanIn_io_prio_11),
+    .io_prio_12(PLICFanIn_io_prio_12),
+    .io_prio_13(PLICFanIn_io_prio_13),
+    .io_prio_14(PLICFanIn_io_prio_14),
+    .io_prio_15(PLICFanIn_io_prio_15),
+    .io_prio_16(PLICFanIn_io_prio_16),
+    .io_prio_17(PLICFanIn_io_prio_17),
+    .io_prio_18(PLICFanIn_io_prio_18),
+    .io_prio_19(PLICFanIn_io_prio_19),
+    .io_prio_20(PLICFanIn_io_prio_20),
+    .io_prio_21(PLICFanIn_io_prio_21),
+    .io_prio_22(PLICFanIn_io_prio_22),
+    .io_prio_23(PLICFanIn_io_prio_23),
+    .io_prio_24(PLICFanIn_io_prio_24),
+    .io_prio_25(PLICFanIn_io_prio_25),
+    .io_prio_26(PLICFanIn_io_prio_26),
+    .io_prio_27(PLICFanIn_io_prio_27),
+    .io_prio_28(PLICFanIn_io_prio_28),
+    .io_prio_29(PLICFanIn_io_prio_29),
+    .io_prio_30(PLICFanIn_io_prio_30),
+    .io_prio_31(PLICFanIn_io_prio_31),
+    .io_prio_32(PLICFanIn_io_prio_32),
+    .io_prio_33(PLICFanIn_io_prio_33),
+    .io_prio_34(PLICFanIn_io_prio_34),
+    .io_prio_35(PLICFanIn_io_prio_35),
+    .io_prio_36(PLICFanIn_io_prio_36),
+    .io_prio_37(PLICFanIn_io_prio_37),
+    .io_prio_38(PLICFanIn_io_prio_38),
+    .io_prio_39(PLICFanIn_io_prio_39),
+    .io_prio_40(PLICFanIn_io_prio_40),
+    .io_prio_41(PLICFanIn_io_prio_41),
+    .io_prio_42(PLICFanIn_io_prio_42),
+    .io_prio_43(PLICFanIn_io_prio_43),
+    .io_ip(PLICFanIn_io_ip),
+    .io_dev(PLICFanIn_io_dev),
+    .io_max(PLICFanIn_io_max)
+  );
+  Queue_8 Queue ( // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81659.4]
+    .clock(Queue_clock),
+    .reset(Queue_reset),
+    .io_enq_ready(Queue_io_enq_ready),
+    .io_enq_valid(Queue_io_enq_valid),
+    .io_enq_bits_read(Queue_io_enq_bits_read),
+    .io_enq_bits_index(Queue_io_enq_bits_index),
+    .io_enq_bits_data(Queue_io_enq_bits_data),
+    .io_enq_bits_mask(Queue_io_enq_bits_mask),
+    .io_enq_bits_extra(Queue_io_enq_bits_extra),
+    .io_deq_ready(Queue_io_deq_ready),
+    .io_deq_valid(Queue_io_deq_valid),
+    .io_deq_bits_read(Queue_io_deq_bits_read),
+    .io_deq_bits_index(Queue_io_deq_bits_index),
+    .io_deq_bits_data(Queue_io_deq_bits_data),
+    .io_deq_bits_mask(Queue_io_deq_bits_mask),
+    .io_deq_bits_extra(Queue_io_deq_bits_extra)
+  );
+  assign _T_1017 = {enables_0_2,enables_0_1}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81049.4]
+  assign _T_1018 = {_T_1017,enables_0_0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81050.4]
+  assign _T_1019 = {enables_0_5,enables_0_4}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81051.4]
+  assign _T_1020 = {_T_1019,enables_0_3}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81052.4]
+  assign enableVec_0 = {_T_1020,_T_1018}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81053.4]
+  assign enableVec0_0 = {enableVec_0,1'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81057.4]
+  assign _T_1041 = {pending_1,pending_0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81062.4]
+  assign _T_1042 = {pending_4,pending_3}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81063.4]
+  assign _T_1043 = {_T_1042,pending_2}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81064.4]
+  assign _T_1044 = {_T_1043,_T_1041}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81065.4]
+  assign _T_1045 = {pending_7,pending_6}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81066.4]
+  assign _T_1046 = {_T_1045,pending_5}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81067.4]
+  assign _T_1047 = {pending_10,pending_9}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81068.4]
+  assign _T_1048 = {_T_1047,pending_8}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81069.4]
+  assign _T_1049 = {_T_1048,_T_1046}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81070.4]
+  assign _T_1050 = {_T_1049,_T_1044}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81071.4]
+  assign _T_1051 = {pending_12,pending_11}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81072.4]
+  assign _T_1052 = {pending_15,pending_14}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81073.4]
+  assign _T_1053 = {_T_1052,pending_13}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81074.4]
+  assign _T_1054 = {_T_1053,_T_1051}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81075.4]
+  assign _T_1055 = {pending_18,pending_17}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81076.4]
+  assign _T_1056 = {_T_1055,pending_16}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81077.4]
+  assign _T_1057 = {pending_21,pending_20}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81078.4]
+  assign _T_1058 = {_T_1057,pending_19}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81079.4]
+  assign _T_1059 = {_T_1058,_T_1056}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81080.4]
+  assign _T_1060 = {_T_1059,_T_1054}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81081.4]
+  assign _T_1061 = {_T_1060,_T_1050}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81082.4]
+  assign _T_1062 = {pending_23,pending_22}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81083.4]
+  assign _T_1063 = {pending_26,pending_25}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81084.4]
+  assign _T_1064 = {_T_1063,pending_24}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81085.4]
+  assign _T_1065 = {_T_1064,_T_1062}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81086.4]
+  assign _T_1066 = {pending_29,pending_28}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81087.4]
+  assign _T_1067 = {_T_1066,pending_27}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81088.4]
+  assign _T_1068 = {pending_32,pending_31}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81089.4]
+  assign _T_1069 = {_T_1068,pending_30}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81090.4]
+  assign _T_1070 = {_T_1069,_T_1067}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81091.4]
+  assign _T_1071 = {_T_1070,_T_1065}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81092.4]
+  assign _T_1072 = {pending_34,pending_33}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81093.4]
+  assign _T_1073 = {pending_37,pending_36}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81094.4]
+  assign _T_1074 = {_T_1073,pending_35}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81095.4]
+  assign _T_1075 = {_T_1074,_T_1072}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81096.4]
+  assign _T_1076 = {pending_40,pending_39}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81097.4]
+  assign _T_1077 = {_T_1076,pending_38}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81098.4]
+  assign _T_1078 = {pending_43,pending_42}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81099.4]
+  assign _T_1079 = {_T_1078,pending_41}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81100.4]
+  assign _T_1080 = {_T_1079,_T_1077}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81101.4]
+  assign _T_1081 = {_T_1080,_T_1075}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81102.4]
+  assign _T_1082 = {_T_1081,_T_1071}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81103.4]
+  assign pendingUInt = {_T_1082,_T_1061}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81104.4]
+  assign _T_12834 = Queue_io_deq_valid & auto_in_d_ready; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@94045.4]
+  assign _T_12835 = _T_12834 & Queue_io_deq_bits_read; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@94046.4]
+  assign _T_4604 = Queue_io_deq_bits_index[19]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@84603.4]
+  assign _T_4596 = Queue_io_deq_bits_index[11]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@84595.4]
+  assign _T_4613 = {_T_4604,_T_4596}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@84612.4]
+  assign _T_4595 = Queue_io_deq_bits_index[10]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@84594.4]
+  assign _T_4614 = {_T_4613,_T_4595}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@84613.4]
+  assign _T_4590 = Queue_io_deq_bits_index[5]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@84589.4]
+  assign _T_4589 = Queue_io_deq_bits_index[4]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@84588.4]
+  assign _T_4612 = {_T_4590,_T_4589}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@84611.4]
+  assign _T_4615 = {_T_4614,_T_4612}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@84614.4]
+  assign _T_4588 = Queue_io_deq_bits_index[3]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@84587.4]
+  assign _T_4587 = Queue_io_deq_bits_index[2]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@84586.4]
+  assign _T_4610 = {_T_4588,_T_4587}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@84609.4]
+  assign _T_4586 = Queue_io_deq_bits_index[1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@84585.4]
+  assign _T_4585 = Queue_io_deq_bits_index[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@84584.4]
+  assign _T_4609 = {_T_4586,_T_4585}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@84608.4]
+  assign _T_4611 = {_T_4610,_T_4609}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@84610.4]
+  assign _T_4616 = {_T_4615,_T_4611}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@84615.4]
+  assign _T_5130 = 512'h1 << _T_4616; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@85129.4]
+  assign _T_5388 = _T_5130[257]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85387.4]
+  assign _T_14380 = _T_12835 & _T_5388; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@95946.4]
+  assign _T_1420 = Queue_io_deq_bits_index & 24'hf7f3c0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@81671.4]
+  assign _T_1444 = _T_1420 == 24'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@81695.4]
+  assign _T_14381 = _T_14380 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@95947.4]
+  assign _T_1959 = Queue_io_deq_bits_mask[3]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@81798.4]
+  assign _T_1967 = _T_1959 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@81806.4]
+  assign _T_1958 = Queue_io_deq_bits_mask[2]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@81797.4]
+  assign _T_1965 = _T_1958 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@81804.4]
+  assign _T_1969 = {_T_1967,_T_1965}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81808.4]
+  assign _T_1957 = Queue_io_deq_bits_mask[1]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@81796.4]
+  assign _T_1963 = _T_1957 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@81802.4]
+  assign _T_1956 = Queue_io_deq_bits_mask[0]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@81795.4]
+  assign _T_1961 = _T_1956 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@81800.4]
+  assign _T_1968 = {_T_1963,_T_1961}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81807.4]
+  assign _T_1970 = {_T_1969,_T_1968}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81809.4]
+  assign _T_3116 = _T_1970 != 32'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@82988.4]
+  assign claimer_0 = _T_14381 & _T_3116; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@82993.4]
+  assign _T_1093 = claimer_0 - 1'h1; // @[Plic.scala 223:46:shc.marmotcaravel.MarmotCaravelConfig.fir@81119.4]
+  assign _T_1094 = $unsigned(_T_1093); // @[Plic.scala 223:46:shc.marmotcaravel.MarmotCaravelConfig.fir@81120.4]
+  assign _T_1095 = _T_1094[0:0]; // @[Plic.scala 223:46:shc.marmotcaravel.MarmotCaravelConfig.fir@81121.4]
+  assign _T_1096 = claimer_0 & _T_1095; // @[Plic.scala 223:28:shc.marmotcaravel.MarmotCaravelConfig.fir@81122.4]
+  assign _T_1097 = _T_1096 == 1'h0; // @[Plic.scala 223:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81123.4]
+  assign _T_1099 = _T_1097 | reset; // @[Plic.scala 223:11:shc.marmotcaravel.MarmotCaravelConfig.fir@81125.4]
+  assign _T_1100 = _T_1099 == 1'h0; // @[Plic.scala 223:11:shc.marmotcaravel.MarmotCaravelConfig.fir@81126.4]
+  assign claiming = claimer_0 ? maxDevs_0 : 6'h0; // @[Plic.scala 224:49:shc.marmotcaravel.MarmotCaravelConfig.fir@81131.4]
+  assign _T_1102 = 64'h1 << claiming; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@81133.4]
+  assign _T_1103 = _T_1102[44:0]; // @[OneHot.scala 52:27:shc.marmotcaravel.MarmotCaravelConfig.fir@81134.4]
+  assign claimedDevs_1 = _T_1103[1]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81136.4]
+  assign claimedDevs_2 = _T_1103[2]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81137.4]
+  assign claimedDevs_3 = _T_1103[3]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81138.4]
+  assign claimedDevs_4 = _T_1103[4]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81139.4]
+  assign claimedDevs_5 = _T_1103[5]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81140.4]
+  assign claimedDevs_6 = _T_1103[6]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81141.4]
+  assign claimedDevs_7 = _T_1103[7]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81142.4]
+  assign claimedDevs_8 = _T_1103[8]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81143.4]
+  assign claimedDevs_9 = _T_1103[9]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81144.4]
+  assign claimedDevs_10 = _T_1103[10]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81145.4]
+  assign claimedDevs_11 = _T_1103[11]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81146.4]
+  assign claimedDevs_12 = _T_1103[12]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81147.4]
+  assign claimedDevs_13 = _T_1103[13]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81148.4]
+  assign claimedDevs_14 = _T_1103[14]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81149.4]
+  assign claimedDevs_15 = _T_1103[15]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81150.4]
+  assign claimedDevs_16 = _T_1103[16]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81151.4]
+  assign claimedDevs_17 = _T_1103[17]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81152.4]
+  assign claimedDevs_18 = _T_1103[18]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81153.4]
+  assign claimedDevs_19 = _T_1103[19]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81154.4]
+  assign claimedDevs_20 = _T_1103[20]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81155.4]
+  assign claimedDevs_21 = _T_1103[21]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81156.4]
+  assign claimedDevs_22 = _T_1103[22]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81157.4]
+  assign claimedDevs_23 = _T_1103[23]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81158.4]
+  assign claimedDevs_24 = _T_1103[24]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81159.4]
+  assign claimedDevs_25 = _T_1103[25]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81160.4]
+  assign claimedDevs_26 = _T_1103[26]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81161.4]
+  assign claimedDevs_27 = _T_1103[27]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81162.4]
+  assign claimedDevs_28 = _T_1103[28]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81163.4]
+  assign claimedDevs_29 = _T_1103[29]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81164.4]
+  assign claimedDevs_30 = _T_1103[30]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81165.4]
+  assign claimedDevs_31 = _T_1103[31]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81166.4]
+  assign claimedDevs_32 = _T_1103[32]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81167.4]
+  assign claimedDevs_33 = _T_1103[33]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81168.4]
+  assign claimedDevs_34 = _T_1103[34]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81169.4]
+  assign claimedDevs_35 = _T_1103[35]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81170.4]
+  assign claimedDevs_36 = _T_1103[36]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81171.4]
+  assign claimedDevs_37 = _T_1103[37]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81172.4]
+  assign claimedDevs_38 = _T_1103[38]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81173.4]
+  assign claimedDevs_39 = _T_1103[39]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81174.4]
+  assign claimedDevs_40 = _T_1103[40]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81175.4]
+  assign claimedDevs_41 = _T_1103[41]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81176.4]
+  assign claimedDevs_42 = _T_1103[42]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81177.4]
+  assign claimedDevs_43 = _T_1103[43]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81178.4]
+  assign claimedDevs_44 = _T_1103[44]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81179.4]
+  assign _T_1200 = claimedDevs_1 | LevelGateway_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81229.4]
+  assign _T_1201 = claimedDevs_1 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81231.6]
+  assign _T_1203 = claimedDevs_2 | LevelGateway_1_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81236.4]
+  assign _T_1204 = claimedDevs_2 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81238.6]
+  assign _T_1206 = claimedDevs_3 | LevelGateway_2_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81243.4]
+  assign _T_1207 = claimedDevs_3 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81245.6]
+  assign _T_1209 = claimedDevs_4 | LevelGateway_3_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81250.4]
+  assign _T_1210 = claimedDevs_4 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81252.6]
+  assign _T_1212 = claimedDevs_5 | LevelGateway_4_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81257.4]
+  assign _T_1213 = claimedDevs_5 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81259.6]
+  assign _T_1215 = claimedDevs_6 | LevelGateway_5_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81264.4]
+  assign _T_1216 = claimedDevs_6 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81266.6]
+  assign _T_1218 = claimedDevs_7 | LevelGateway_6_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81271.4]
+  assign _T_1219 = claimedDevs_7 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81273.6]
+  assign _T_1221 = claimedDevs_8 | LevelGateway_7_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81278.4]
+  assign _T_1222 = claimedDevs_8 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81280.6]
+  assign _T_1224 = claimedDevs_9 | LevelGateway_8_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81285.4]
+  assign _T_1225 = claimedDevs_9 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81287.6]
+  assign _T_1227 = claimedDevs_10 | LevelGateway_9_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81292.4]
+  assign _T_1228 = claimedDevs_10 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81294.6]
+  assign _T_1230 = claimedDevs_11 | LevelGateway_10_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81299.4]
+  assign _T_1231 = claimedDevs_11 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81301.6]
+  assign _T_1233 = claimedDevs_12 | LevelGateway_11_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81306.4]
+  assign _T_1234 = claimedDevs_12 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81308.6]
+  assign _T_1236 = claimedDevs_13 | LevelGateway_12_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81313.4]
+  assign _T_1237 = claimedDevs_13 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81315.6]
+  assign _T_1239 = claimedDevs_14 | LevelGateway_13_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81320.4]
+  assign _T_1240 = claimedDevs_14 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81322.6]
+  assign _T_1242 = claimedDevs_15 | LevelGateway_14_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81327.4]
+  assign _T_1243 = claimedDevs_15 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81329.6]
+  assign _T_1245 = claimedDevs_16 | LevelGateway_15_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81334.4]
+  assign _T_1246 = claimedDevs_16 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81336.6]
+  assign _T_1248 = claimedDevs_17 | LevelGateway_16_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81341.4]
+  assign _T_1249 = claimedDevs_17 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81343.6]
+  assign _T_1251 = claimedDevs_18 | LevelGateway_17_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81348.4]
+  assign _T_1252 = claimedDevs_18 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81350.6]
+  assign _T_1254 = claimedDevs_19 | LevelGateway_18_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81355.4]
+  assign _T_1255 = claimedDevs_19 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81357.6]
+  assign _T_1257 = claimedDevs_20 | LevelGateway_19_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81362.4]
+  assign _T_1258 = claimedDevs_20 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81364.6]
+  assign _T_1260 = claimedDevs_21 | LevelGateway_20_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81369.4]
+  assign _T_1261 = claimedDevs_21 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81371.6]
+  assign _T_1263 = claimedDevs_22 | LevelGateway_21_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81376.4]
+  assign _T_1264 = claimedDevs_22 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81378.6]
+  assign _T_1266 = claimedDevs_23 | LevelGateway_22_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81383.4]
+  assign _T_1267 = claimedDevs_23 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81385.6]
+  assign _T_1269 = claimedDevs_24 | LevelGateway_23_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81390.4]
+  assign _T_1270 = claimedDevs_24 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81392.6]
+  assign _T_1272 = claimedDevs_25 | LevelGateway_24_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81397.4]
+  assign _T_1273 = claimedDevs_25 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81399.6]
+  assign _T_1275 = claimedDevs_26 | LevelGateway_25_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81404.4]
+  assign _T_1276 = claimedDevs_26 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81406.6]
+  assign _T_1278 = claimedDevs_27 | LevelGateway_26_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81411.4]
+  assign _T_1279 = claimedDevs_27 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81413.6]
+  assign _T_1281 = claimedDevs_28 | LevelGateway_27_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81418.4]
+  assign _T_1282 = claimedDevs_28 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81420.6]
+  assign _T_1284 = claimedDevs_29 | LevelGateway_28_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81425.4]
+  assign _T_1285 = claimedDevs_29 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81427.6]
+  assign _T_1287 = claimedDevs_30 | LevelGateway_29_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81432.4]
+  assign _T_1288 = claimedDevs_30 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81434.6]
+  assign _T_1290 = claimedDevs_31 | LevelGateway_30_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81439.4]
+  assign _T_1291 = claimedDevs_31 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81441.6]
+  assign _T_1293 = claimedDevs_32 | LevelGateway_31_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81446.4]
+  assign _T_1294 = claimedDevs_32 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81448.6]
+  assign _T_1296 = claimedDevs_33 | LevelGateway_32_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81453.4]
+  assign _T_1297 = claimedDevs_33 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81455.6]
+  assign _T_1299 = claimedDevs_34 | LevelGateway_33_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81460.4]
+  assign _T_1300 = claimedDevs_34 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81462.6]
+  assign _T_1302 = claimedDevs_35 | LevelGateway_34_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81467.4]
+  assign _T_1303 = claimedDevs_35 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81469.6]
+  assign _T_1305 = claimedDevs_36 | LevelGateway_35_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81474.4]
+  assign _T_1306 = claimedDevs_36 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81476.6]
+  assign _T_1308 = claimedDevs_37 | LevelGateway_36_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81481.4]
+  assign _T_1309 = claimedDevs_37 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81483.6]
+  assign _T_1311 = claimedDevs_38 | LevelGateway_37_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81488.4]
+  assign _T_1312 = claimedDevs_38 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81490.6]
+  assign _T_1314 = claimedDevs_39 | LevelGateway_38_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81495.4]
+  assign _T_1315 = claimedDevs_39 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81497.6]
+  assign _T_1317 = claimedDevs_40 | LevelGateway_39_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81502.4]
+  assign _T_1318 = claimedDevs_40 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81504.6]
+  assign _T_1320 = claimedDevs_41 | LevelGateway_40_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81509.4]
+  assign _T_1321 = claimedDevs_41 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81511.6]
+  assign _T_1323 = claimedDevs_42 | LevelGateway_41_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81516.4]
+  assign _T_1324 = claimedDevs_42 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81518.6]
+  assign _T_1326 = claimedDevs_43 | LevelGateway_42_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81523.4]
+  assign _T_1327 = claimedDevs_43 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81525.6]
+  assign _T_1329 = claimedDevs_44 | LevelGateway_43_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81530.4]
+  assign _T_1330 = claimedDevs_44 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81532.6]
+  assign _T_16430 = Queue_io_deq_bits_read == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98247.4]
+  assign _T_16431 = _T_12834 & _T_16430; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98248.4]
+  assign _T_17976 = _T_16431 & _T_5388; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@100148.4]
+  assign _T_17977 = _T_17976 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@100149.4]
+  assign _T_3118 = ~ _T_1970; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@82990.4]
+  assign _T_3119 = _T_3118 == 32'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@82991.4]
+  assign _T_3123 = _T_17977 & _T_3119; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@82995.4]
+  assign _T_3124 = Queue_io_deq_bits_data; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@82997.4]
+  assign completerDev = _T_3124[5:0]; // @[package.scala 119:13:shc.marmotcaravel.MarmotCaravelConfig.fir@83007.4]
+  assign _T_3131 = enableVec0_0 >> completerDev; // @[Plic.scala 273:51:shc.marmotcaravel.MarmotCaravelConfig.fir@83009.4]
+  assign _T_3132 = _T_3131[0]; // @[Plic.scala 273:51:shc.marmotcaravel.MarmotCaravelConfig.fir@83010.4]
+  assign completer_0 = _T_3123 & _T_3132; // @[Plic.scala 273:35:shc.marmotcaravel.MarmotCaravelConfig.fir@83011.4]
+  assign _T_1337 = completer_0 - 1'h1; // @[Plic.scala 240:50:shc.marmotcaravel.MarmotCaravelConfig.fir@81537.4]
+  assign _T_1338 = $unsigned(_T_1337); // @[Plic.scala 240:50:shc.marmotcaravel.MarmotCaravelConfig.fir@81538.4]
+  assign _T_1339 = _T_1338[0:0]; // @[Plic.scala 240:50:shc.marmotcaravel.MarmotCaravelConfig.fir@81539.4]
+  assign _T_1340 = completer_0 & _T_1339; // @[Plic.scala 240:30:shc.marmotcaravel.MarmotCaravelConfig.fir@81540.4]
+  assign _T_1341 = _T_1340 == 1'h0; // @[Plic.scala 240:62:shc.marmotcaravel.MarmotCaravelConfig.fir@81541.4]
+  assign _T_1343 = _T_1341 | reset; // @[Plic.scala 240:11:shc.marmotcaravel.MarmotCaravelConfig.fir@81543.4]
+  assign _T_1344 = _T_1343 == 1'h0; // @[Plic.scala 240:11:shc.marmotcaravel.MarmotCaravelConfig.fir@81544.4]
+  assign _T_1347 = 64'h1 << completerDev; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@81552.4]
+  assign _T_1348 = _T_1347[44:0]; // @[OneHot.scala 52:27:shc.marmotcaravel.MarmotCaravelConfig.fir@81553.4]
+  assign completedDevs = completer_0 ? _T_1348 : 45'h0; // @[Plic.scala 242:28:shc.marmotcaravel.MarmotCaravelConfig.fir@81554.4]
+  assign _T_1402 = auto_in_a_bits_address[27:2]; // @[Edges.scala 192:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81648.4]
+  assign _T_2020 = {pending_0,1'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81859.4]
+  assign _T_2047 = {pending_1,_T_2020}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81886.4]
+  assign _T_2074 = {pending_2,_T_2047}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81913.4]
+  assign _T_2101 = {pending_3,_T_2074}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81940.4]
+  assign _T_2128 = {pending_4,_T_2101}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81967.4]
+  assign _T_2155 = {pending_5,_T_2128}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81994.4]
+  assign _T_2182 = {pending_6,_T_2155}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@82021.4]
+  assign _T_2209 = {pending_7,_T_2182}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@82048.4]
+  assign _T_2236 = {pending_8,_T_2209}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@82075.4]
+  assign _T_2263 = {pending_9,_T_2236}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@82102.4]
+  assign _T_2290 = {pending_10,_T_2263}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@82129.4]
+  assign _T_2317 = {pending_11,_T_2290}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@82156.4]
+  assign _T_2344 = {pending_12,_T_2317}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@82183.4]
+  assign _T_2371 = {pending_13,_T_2344}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@82210.4]
+  assign _T_2398 = {pending_14,_T_2371}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@82237.4]
+  assign _T_2425 = {pending_15,_T_2398}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@82264.4]
+  assign _T_2452 = {pending_16,_T_2425}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@82291.4]
+  assign _T_2479 = {pending_17,_T_2452}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@82318.4]
+  assign _T_2506 = {pending_18,_T_2479}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@82345.4]
+  assign _T_2533 = {pending_19,_T_2506}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@82372.4]
+  assign _T_2560 = {pending_20,_T_2533}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@82399.4]
+  assign _T_2587 = {pending_21,_T_2560}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@82426.4]
+  assign _T_2614 = {pending_22,_T_2587}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@82453.4]
+  assign _T_2641 = {pending_23,_T_2614}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@82480.4]
+  assign _T_2668 = {pending_24,_T_2641}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@82507.4]
+  assign _T_2695 = {pending_25,_T_2668}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@82534.4]
+  assign _T_2722 = {pending_26,_T_2695}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@82561.4]
+  assign _T_2749 = {pending_27,_T_2722}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@82588.4]
+  assign _T_2776 = {pending_28,_T_2749}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@82615.4]
+  assign _T_2803 = {pending_29,_T_2776}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@82642.4]
+  assign _T_2830 = {pending_30,_T_2803}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@82669.4]
+  assign _T_2838 = _T_1970[2:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@82677.4]
+  assign _T_2841 = ~ _T_2838; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@82680.4]
+  assign _T_2842 = _T_2841 == 3'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@82681.4]
+  assign _T_5136 = _T_5130[5]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85135.4]
+  assign _T_16464 = _T_16431 & _T_5136; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98290.4]
+  assign _T_16465 = _T_16464 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98291.4]
+  assign _T_2846 = _T_16465 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@82685.4]
+  assign _T_2847 = Queue_io_deq_bits_data[2:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@82686.4]
+  assign _T_5141 = _T_5130[10]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85140.4]
+  assign _T_16494 = _T_16431 & _T_5141; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98330.4]
+  assign _T_16495 = _T_16494 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98331.4]
+  assign _T_2871 = _T_16495 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@82713.4]
+  assign _T_5173 = _T_5130[42]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85172.4]
+  assign _T_16686 = _T_16431 & _T_5173; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98586.4]
+  assign _T_16687 = _T_16686 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98587.4]
+  assign _T_2896 = _T_16687 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@82741.4]
+  assign _T_5155 = _T_5130[24]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85154.4]
+  assign _T_16578 = _T_16431 & _T_5155; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98442.4]
+  assign _T_16579 = _T_16578 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98443.4]
+  assign _T_2921 = _T_16579 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@82769.4]
+  assign _T_5168 = _T_5130[37]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85167.4]
+  assign _T_16656 = _T_16431 & _T_5168; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98546.4]
+  assign _T_16657 = _T_16656 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98547.4]
+  assign _T_2946 = _T_16657 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@82797.4]
+  assign _T_5156 = _T_5130[25]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85155.4]
+  assign _T_16584 = _T_16431 & _T_5156; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98450.4]
+  assign _T_16585 = _T_16584 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98451.4]
+  assign _T_2971 = _T_16585 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@82825.4]
+  assign _T_5145 = _T_5130[14]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85144.4]
+  assign _T_16518 = _T_16431 & _T_5145; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98362.4]
+  assign _T_16519 = _T_16518 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98363.4]
+  assign _T_2996 = _T_16519 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@82853.4]
+  assign _T_5151 = _T_5130[20]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85150.4]
+  assign _T_16554 = _T_16431 & _T_5151; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98410.4]
+  assign _T_16555 = _T_16554 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98411.4]
+  assign _T_3021 = _T_16555 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@82881.4]
+  assign _T_3038 = _T_1970[7:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@82901.4]
+  assign _T_3041 = ~ _T_3038; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@82904.4]
+  assign _T_3042 = _T_3041 == 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@82905.4]
+  assign _T_5260 = _T_5130[129]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85259.4]
+  assign _T_17208 = _T_16431 & _T_5260; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@99248.4]
+  assign _T_17209 = _T_17208 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@99249.4]
+  assign _T_3046 = _T_17209 & _T_3042; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@82909.4]
+  assign _T_3047 = Queue_io_deq_bits_data[7:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@82910.4]
+  assign _T_3063 = _T_1970[12:8]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@82929.4]
+  assign _T_3066 = ~ _T_3063; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@82932.4]
+  assign _T_3067 = _T_3066 == 5'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@82933.4]
+  assign _T_3071 = _T_17209 & _T_3067; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@82937.4]
+  assign _T_3072 = Queue_io_deq_bits_data[12:8]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@82938.4]
+  assign _T_5160 = _T_5130[29]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85159.4]
+  assign _T_16608 = _T_16431 & _T_5160; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98482.4]
+  assign _T_16609 = _T_16608 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98483.4]
+  assign _T_3098 = _T_16609 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@82967.4]
+  assign _T_3126 = completerDev == completerDev; // @[Plic.scala 270:33:shc.marmotcaravel.MarmotCaravelConfig.fir@82999.4]
+  assign _T_3128 = _T_3126 | reset; // @[Plic.scala 270:19:shc.marmotcaravel.MarmotCaravelConfig.fir@83001.4]
+  assign _T_3129 = _T_3128 == 1'h0; // @[Plic.scala 270:19:shc.marmotcaravel.MarmotCaravelConfig.fir@83002.4]
+  assign _T_3142 = {{26'd0}, maxDevs_0}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83021.4]
+  assign _T_5132 = _T_5130[1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85131.4]
+  assign _T_16440 = _T_16431 & _T_5132; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98258.4]
+  assign _T_16441 = _T_16440 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98259.4]
+  assign _T_3157 = _T_16441 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83036.4]
+  assign _T_5137 = _T_5130[6]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85136.4]
+  assign _T_16470 = _T_16431 & _T_5137; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98298.4]
+  assign _T_16471 = _T_16470 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98299.4]
+  assign _T_3182 = _T_16471 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83064.4]
+  assign _T_5159 = _T_5130[28]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85158.4]
+  assign _T_16602 = _T_16431 & _T_5159; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98474.4]
+  assign _T_16603 = _T_16602 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98475.4]
+  assign _T_3207 = _T_16603 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83092.4]
+  assign _T_5169 = _T_5130[38]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85168.4]
+  assign _T_16662 = _T_16431 & _T_5169; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98554.4]
+  assign _T_16663 = _T_16662 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98555.4]
+  assign _T_3232 = _T_16663 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83120.4]
+  assign _T_5152 = _T_5130[21]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85151.4]
+  assign _T_16560 = _T_16431 & _T_5152; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98418.4]
+  assign _T_16561 = _T_16560 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98419.4]
+  assign _T_3257 = _T_16561 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83148.4]
+  assign _T_5164 = _T_5130[33]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85163.4]
+  assign _T_16632 = _T_16431 & _T_5164; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98514.4]
+  assign _T_16633 = _T_16632 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98515.4]
+  assign _T_3282 = _T_16633 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83176.4]
+  assign _T_5140 = _T_5130[9]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85139.4]
+  assign _T_16488 = _T_16431 & _T_5140; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98322.4]
+  assign _T_16489 = _T_16488 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98323.4]
+  assign _T_3307 = _T_16489 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83204.4]
+  assign _T_5144 = _T_5130[13]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85143.4]
+  assign _T_16512 = _T_16431 & _T_5144; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98354.4]
+  assign _T_16513 = _T_16512 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98355.4]
+  assign _T_3332 = _T_16513 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83232.4]
+  assign _T_5172 = _T_5130[41]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85171.4]
+  assign _T_16680 = _T_16431 & _T_5172; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98578.4]
+  assign _T_16681 = _T_16680 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98579.4]
+  assign _T_3357 = _T_16681 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83260.4]
+  assign _T_5133 = _T_5130[2]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85132.4]
+  assign _T_16446 = _T_16431 & _T_5133; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98266.4]
+  assign _T_16447 = _T_16446 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98267.4]
+  assign _T_3382 = _T_16447 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83288.4]
+  assign _T_5163 = _T_5130[32]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85162.4]
+  assign _T_16626 = _T_16431 & _T_5163; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98506.4]
+  assign _T_16627 = _T_16626 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98507.4]
+  assign _T_3407 = _T_16627 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83316.4]
+  assign _T_5165 = _T_5130[34]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85164.4]
+  assign _T_16638 = _T_16431 & _T_5165; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98522.4]
+  assign _T_16639 = _T_16638 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98523.4]
+  assign _T_3432 = _T_16639 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83344.4]
+  assign _T_5148 = _T_5130[17]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85147.4]
+  assign _T_16536 = _T_16431 & _T_5148; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98386.4]
+  assign _T_16537 = _T_16536 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98387.4]
+  assign _T_3457 = _T_16537 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83372.4]
+  assign _T_5387 = _T_5130[256]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85386.4]
+  assign _T_17970 = _T_16431 & _T_5387; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@100139.4]
+  assign _T_17971 = _T_17970 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@100140.4]
+  assign _T_3482 = _T_17971 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83400.4]
+  assign _T_3518 = {1'h0,threshold_0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@83439.4]
+  assign _T_3519 = {{28'd0}, _T_3518}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83440.4]
+  assign _T_5259 = _T_5130[128]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85258.4]
+  assign _T_17202 = _T_16431 & _T_5259; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@99236.4]
+  assign _T_17203 = _T_17202 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@99237.4]
+  assign _T_3551 = _T_1970[7:1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83472.4]
+  assign _T_3554 = ~ _T_3551; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83475.4]
+  assign _T_3555 = _T_3554 == 7'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83476.4]
+  assign _T_3559 = _T_17203 & _T_3555; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83480.4]
+  assign _T_3560 = Queue_io_deq_bits_data[7:1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83481.4]
+  assign _T_3570 = {enables_0_0,1'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@83494.4]
+  assign _T_3578 = _T_1970[15:8]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83502.4]
+  assign _T_3581 = ~ _T_3578; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83505.4]
+  assign _T_3582 = _T_3581 == 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83506.4]
+  assign _T_3586 = _T_17203 & _T_3582; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83510.4]
+  assign _T_3587 = Queue_io_deq_bits_data[15:8]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83511.4]
+  assign _T_3597 = {enables_0_1,_T_3570}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@83524.4]
+  assign _T_3605 = _T_1970[23:16]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83532.4]
+  assign _T_3608 = ~ _T_3605; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83535.4]
+  assign _T_3609 = _T_3608 == 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83536.4]
+  assign _T_3613 = _T_17203 & _T_3609; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83540.4]
+  assign _T_3614 = Queue_io_deq_bits_data[23:16]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83541.4]
+  assign _T_3624 = {enables_0_2,_T_3597}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@83554.4]
+  assign _T_3632 = _T_1970[31:24]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83562.4]
+  assign _T_3635 = ~ _T_3632; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83565.4]
+  assign _T_3636 = _T_3635 == 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83566.4]
+  assign _T_3640 = _T_17203 & _T_3636; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83570.4]
+  assign _T_3641 = Queue_io_deq_bits_data[31:24]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83571.4]
+  assign _T_3651 = {enables_0_3,_T_3624}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@83584.4]
+  assign _T_5153 = _T_5130[22]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85152.4]
+  assign _T_16566 = _T_16431 & _T_5153; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98426.4]
+  assign _T_16567 = _T_16566 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98427.4]
+  assign _T_3667 = _T_16567 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83600.4]
+  assign _T_5175 = _T_5130[44]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85174.4]
+  assign _T_16698 = _T_16431 & _T_5175; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98602.4]
+  assign _T_16699 = _T_16698 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98603.4]
+  assign _T_3692 = _T_16699 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83628.4]
+  assign _T_5158 = _T_5130[27]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85157.4]
+  assign _T_16596 = _T_16431 & _T_5158; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98466.4]
+  assign _T_16597 = _T_16596 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98467.4]
+  assign _T_3717 = _T_16597 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83656.4]
+  assign _T_5143 = _T_5130[12]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85142.4]
+  assign _T_16506 = _T_16431 & _T_5143; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98346.4]
+  assign _T_16507 = _T_16506 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98347.4]
+  assign _T_3742 = _T_16507 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83684.4]
+  assign _T_5138 = _T_5130[7]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85137.4]
+  assign _T_16476 = _T_16431 & _T_5138; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98306.4]
+  assign _T_16477 = _T_16476 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98307.4]
+  assign _T_3767 = _T_16477 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83712.4]
+  assign _T_5170 = _T_5130[39]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85169.4]
+  assign _T_16668 = _T_16431 & _T_5170; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98562.4]
+  assign _T_16669 = _T_16668 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98563.4]
+  assign _T_3792 = _T_16669 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83740.4]
+  assign _T_5134 = _T_5130[3]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85133.4]
+  assign _T_16452 = _T_16431 & _T_5134; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98274.4]
+  assign _T_16453 = _T_16452 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98275.4]
+  assign _T_3817 = _T_16453 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83768.4]
+  assign _T_5166 = _T_5130[35]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85165.4]
+  assign _T_16644 = _T_16431 & _T_5166; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98530.4]
+  assign _T_16645 = _T_16644 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98531.4]
+  assign _T_3842 = _T_16645 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83796.4]
+  assign _T_3930 = {pending_33,_T_1068}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@83887.4]
+  assign _T_3957 = {pending_34,_T_3930}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@83914.4]
+  assign _T_3984 = {pending_35,_T_3957}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@83941.4]
+  assign _T_4011 = {pending_36,_T_3984}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@83968.4]
+  assign _T_4038 = {pending_37,_T_4011}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@83995.4]
+  assign _T_4065 = {pending_38,_T_4038}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@84022.4]
+  assign _T_4092 = {pending_39,_T_4065}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@84049.4]
+  assign _T_4119 = {pending_40,_T_4092}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@84076.4]
+  assign _T_4146 = {pending_41,_T_4119}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@84103.4]
+  assign _T_4173 = {pending_42,_T_4146}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@84130.4]
+  assign _T_4200 = {pending_43,_T_4173}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@84157.4]
+  assign _T_5149 = _T_5130[18]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85148.4]
+  assign _T_16542 = _T_16431 & _T_5149; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98394.4]
+  assign _T_16543 = _T_16542 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98395.4]
+  assign _T_4216 = _T_16543 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@84173.4]
+  assign _T_5147 = _T_5130[16]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85146.4]
+  assign _T_16530 = _T_16431 & _T_5147; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98378.4]
+  assign _T_16531 = _T_16530 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98379.4]
+  assign _T_4241 = _T_16531 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@84201.4]
+  assign _T_5162 = _T_5130[31]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85161.4]
+  assign _T_16620 = _T_16431 & _T_5162; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98498.4]
+  assign _T_16621 = _T_16620 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98499.4]
+  assign _T_4266 = _T_16621 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@84229.4]
+  assign _T_5142 = _T_5130[11]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85141.4]
+  assign _T_16500 = _T_16431 & _T_5142; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98338.4]
+  assign _T_16501 = _T_16500 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98339.4]
+  assign _T_4291 = _T_16501 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@84257.4]
+  assign _T_5174 = _T_5130[43]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85173.4]
+  assign _T_16692 = _T_16431 & _T_5174; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98594.4]
+  assign _T_16693 = _T_16692 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98595.4]
+  assign _T_4316 = _T_16693 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@84285.4]
+  assign _T_5171 = _T_5130[40]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85170.4]
+  assign _T_16674 = _T_16431 & _T_5171; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98570.4]
+  assign _T_16675 = _T_16674 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98571.4]
+  assign _T_4341 = _T_16675 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@84313.4]
+  assign _T_5157 = _T_5130[26]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85156.4]
+  assign _T_16590 = _T_16431 & _T_5157; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98458.4]
+  assign _T_16591 = _T_16590 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98459.4]
+  assign _T_4366 = _T_16591 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@84341.4]
+  assign _T_5154 = _T_5130[23]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85153.4]
+  assign _T_16572 = _T_16431 & _T_5154; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98434.4]
+  assign _T_16573 = _T_16572 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98435.4]
+  assign _T_4391 = _T_16573 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@84369.4]
+  assign _T_5139 = _T_5130[8]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85138.4]
+  assign _T_16482 = _T_16431 & _T_5139; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98314.4]
+  assign _T_16483 = _T_16482 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98315.4]
+  assign _T_4416 = _T_16483 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@84397.4]
+  assign _T_5167 = _T_5130[36]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85166.4]
+  assign _T_16650 = _T_16431 & _T_5167; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98538.4]
+  assign _T_16651 = _T_16650 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98539.4]
+  assign _T_4441 = _T_16651 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@84425.4]
+  assign _T_5161 = _T_5130[30]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85160.4]
+  assign _T_16614 = _T_16431 & _T_5161; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98490.4]
+  assign _T_16615 = _T_16614 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98491.4]
+  assign _T_4466 = _T_16615 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@84453.4]
+  assign _T_5150 = _T_5130[19]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85149.4]
+  assign _T_16548 = _T_16431 & _T_5150; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98402.4]
+  assign _T_16549 = _T_16548 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98403.4]
+  assign _T_4491 = _T_16549 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@84481.4]
+  assign _T_5135 = _T_5130[4]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85134.4]
+  assign _T_16458 = _T_16431 & _T_5135; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98282.4]
+  assign _T_16459 = _T_16458 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98283.4]
+  assign _T_4516 = _T_16459 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@84509.4]
+  assign _T_5146 = _T_5130[15]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85145.4]
+  assign _T_16524 = _T_16431 & _T_5146; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98370.4]
+  assign _T_16525 = _T_16524 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98371.4]
+  assign _T_4541 = _T_16525 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@84537.4]
+  assign _T_20033 = 9'h1 == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102462.4]
+  assign _T_20034 = 9'h2 == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102467.6]
+  assign _T_20035 = 9'h3 == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102472.8]
+  assign _T_20036 = 9'h4 == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102477.10]
+  assign _T_20037 = 9'h5 == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102482.12]
+  assign _T_20038 = 9'h6 == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102487.14]
+  assign _T_20039 = 9'h7 == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102492.16]
+  assign _T_20040 = 9'h8 == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102497.18]
+  assign _T_20041 = 9'h9 == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102502.20]
+  assign _T_20042 = 9'ha == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102507.22]
+  assign _T_20043 = 9'hb == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102512.24]
+  assign _T_20044 = 9'hc == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102517.26]
+  assign _T_20045 = 9'hd == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102522.28]
+  assign _T_20046 = 9'he == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102527.30]
+  assign _T_20047 = 9'hf == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102532.32]
+  assign _T_20048 = 9'h10 == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102537.34]
+  assign _T_20049 = 9'h11 == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102542.36]
+  assign _T_20050 = 9'h12 == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102547.38]
+  assign _T_20051 = 9'h13 == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102552.40]
+  assign _T_20052 = 9'h14 == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102557.42]
+  assign _T_20053 = 9'h15 == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102562.44]
+  assign _T_20054 = 9'h16 == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102567.46]
+  assign _T_20055 = 9'h17 == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102572.48]
+  assign _T_20056 = 9'h18 == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102577.50]
+  assign _T_20057 = 9'h19 == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102582.52]
+  assign _T_20058 = 9'h1a == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102587.54]
+  assign _T_20059 = 9'h1b == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102592.56]
+  assign _T_20060 = 9'h1c == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102597.58]
+  assign _T_20061 = 9'h1d == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102602.60]
+  assign _T_20062 = 9'h1e == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102607.62]
+  assign _T_20063 = 9'h1f == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102612.64]
+  assign _T_20064 = 9'h20 == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102617.66]
+  assign _T_20065 = 9'h21 == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102622.68]
+  assign _T_20066 = 9'h22 == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102627.70]
+  assign _T_20067 = 9'h23 == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102632.72]
+  assign _T_20068 = 9'h24 == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102637.74]
+  assign _T_20069 = 9'h25 == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102642.76]
+  assign _T_20070 = 9'h26 == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102647.78]
+  assign _T_20071 = 9'h27 == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102652.80]
+  assign _T_20072 = 9'h28 == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102657.82]
+  assign _T_20073 = 9'h29 == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102662.84]
+  assign _T_20074 = 9'h2a == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102667.86]
+  assign _T_20075 = 9'h2b == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102672.88]
+  assign _T_20076 = 9'h2c == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102677.90]
+  assign _T_20077 = 9'h40 == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102682.92]
+  assign _T_20078 = 9'h41 == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102687.94]
+  assign _T_20079 = 9'h80 == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102692.96]
+  assign _T_20080 = 9'h81 == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102697.98]
+  assign _T_20081 = 9'h100 == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102702.100]
+  assign _T_20082 = 9'h101 == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102707.102]
+  assign _GEN_2143 = _T_20082 ? _T_1444 : 1'h1; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102708.102]
+  assign _GEN_2144 = _T_20081 ? _T_1444 : _GEN_2143; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102703.100]
+  assign _GEN_2145 = _T_20080 ? _T_1444 : _GEN_2144; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102698.98]
+  assign _GEN_2146 = _T_20079 ? _T_1444 : _GEN_2145; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102693.96]
+  assign _GEN_2147 = _T_20078 ? _T_1444 : _GEN_2146; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102688.94]
+  assign _GEN_2148 = _T_20077 ? _T_1444 : _GEN_2147; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102683.92]
+  assign _GEN_2149 = _T_20076 ? _T_1444 : _GEN_2148; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102678.90]
+  assign _GEN_2150 = _T_20075 ? _T_1444 : _GEN_2149; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102673.88]
+  assign _GEN_2151 = _T_20074 ? _T_1444 : _GEN_2150; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102668.86]
+  assign _GEN_2152 = _T_20073 ? _T_1444 : _GEN_2151; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102663.84]
+  assign _GEN_2153 = _T_20072 ? _T_1444 : _GEN_2152; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102658.82]
+  assign _GEN_2154 = _T_20071 ? _T_1444 : _GEN_2153; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102653.80]
+  assign _GEN_2155 = _T_20070 ? _T_1444 : _GEN_2154; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102648.78]
+  assign _GEN_2156 = _T_20069 ? _T_1444 : _GEN_2155; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102643.76]
+  assign _GEN_2157 = _T_20068 ? _T_1444 : _GEN_2156; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102638.74]
+  assign _GEN_2158 = _T_20067 ? _T_1444 : _GEN_2157; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102633.72]
+  assign _GEN_2159 = _T_20066 ? _T_1444 : _GEN_2158; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102628.70]
+  assign _GEN_2160 = _T_20065 ? _T_1444 : _GEN_2159; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102623.68]
+  assign _GEN_2161 = _T_20064 ? _T_1444 : _GEN_2160; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102618.66]
+  assign _GEN_2162 = _T_20063 ? _T_1444 : _GEN_2161; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102613.64]
+  assign _GEN_2163 = _T_20062 ? _T_1444 : _GEN_2162; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102608.62]
+  assign _GEN_2164 = _T_20061 ? _T_1444 : _GEN_2163; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102603.60]
+  assign _GEN_2165 = _T_20060 ? _T_1444 : _GEN_2164; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102598.58]
+  assign _GEN_2166 = _T_20059 ? _T_1444 : _GEN_2165; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102593.56]
+  assign _GEN_2167 = _T_20058 ? _T_1444 : _GEN_2166; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102588.54]
+  assign _GEN_2168 = _T_20057 ? _T_1444 : _GEN_2167; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102583.52]
+  assign _GEN_2169 = _T_20056 ? _T_1444 : _GEN_2168; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102578.50]
+  assign _GEN_2170 = _T_20055 ? _T_1444 : _GEN_2169; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102573.48]
+  assign _GEN_2171 = _T_20054 ? _T_1444 : _GEN_2170; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102568.46]
+  assign _GEN_2172 = _T_20053 ? _T_1444 : _GEN_2171; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102563.44]
+  assign _GEN_2173 = _T_20052 ? _T_1444 : _GEN_2172; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102558.42]
+  assign _GEN_2174 = _T_20051 ? _T_1444 : _GEN_2173; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102553.40]
+  assign _GEN_2175 = _T_20050 ? _T_1444 : _GEN_2174; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102548.38]
+  assign _GEN_2176 = _T_20049 ? _T_1444 : _GEN_2175; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102543.36]
+  assign _GEN_2177 = _T_20048 ? _T_1444 : _GEN_2176; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102538.34]
+  assign _GEN_2178 = _T_20047 ? _T_1444 : _GEN_2177; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102533.32]
+  assign _GEN_2179 = _T_20046 ? _T_1444 : _GEN_2178; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102528.30]
+  assign _GEN_2180 = _T_20045 ? _T_1444 : _GEN_2179; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102523.28]
+  assign _GEN_2181 = _T_20044 ? _T_1444 : _GEN_2180; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102518.26]
+  assign _GEN_2182 = _T_20043 ? _T_1444 : _GEN_2181; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102513.24]
+  assign _GEN_2183 = _T_20042 ? _T_1444 : _GEN_2182; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102508.22]
+  assign _GEN_2184 = _T_20041 ? _T_1444 : _GEN_2183; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102503.20]
+  assign _GEN_2185 = _T_20040 ? _T_1444 : _GEN_2184; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102498.18]
+  assign _GEN_2186 = _T_20039 ? _T_1444 : _GEN_2185; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102493.16]
+  assign _GEN_2187 = _T_20038 ? _T_1444 : _GEN_2186; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102488.14]
+  assign _GEN_2188 = _T_20037 ? _T_1444 : _GEN_2187; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102483.12]
+  assign _GEN_2189 = _T_20036 ? _T_1444 : _GEN_2188; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102478.10]
+  assign _GEN_2190 = _T_20035 ? _T_1444 : _GEN_2189; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102473.8]
+  assign _GEN_2191 = _T_20034 ? _T_1444 : _GEN_2190; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102468.6]
+  assign _GEN_2192 = _T_20033 ? _T_1444 : _GEN_2191; // @[Conditional.scala 40:58:shc.marmotcaravel.MarmotCaravelConfig.fir@102463.4]
+  assign _GEN_2193 = _T_20082 ? _T_3142 : 32'h0; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102960.102]
+  assign _GEN_2194 = _T_20081 ? _T_3519 : _GEN_2193; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102955.100]
+  assign _GEN_2195 = _T_20080 ? {{19'd0}, _T_1019} : _GEN_2194; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102950.98]
+  assign _GEN_2196 = _T_20079 ? _T_3651 : _GEN_2195; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102945.96]
+  assign _GEN_2197 = _T_20078 ? {{19'd0}, _T_4200} : _GEN_2196; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102940.94]
+  assign _GEN_2198 = _T_20077 ? _T_2830 : _GEN_2197; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102935.92]
+  assign _GEN_2199 = _T_20076 ? {{29'd0}, priority_43} : _GEN_2198; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102930.90]
+  assign _GEN_2200 = _T_20075 ? {{29'd0}, priority_42} : _GEN_2199; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102925.88]
+  assign _GEN_2201 = _T_20074 ? {{29'd0}, priority_41} : _GEN_2200; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102920.86]
+  assign _GEN_2202 = _T_20073 ? {{29'd0}, priority_40} : _GEN_2201; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102915.84]
+  assign _GEN_2203 = _T_20072 ? {{29'd0}, priority_39} : _GEN_2202; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102910.82]
+  assign _GEN_2204 = _T_20071 ? {{29'd0}, priority_38} : _GEN_2203; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102905.80]
+  assign _GEN_2205 = _T_20070 ? {{29'd0}, priority_37} : _GEN_2204; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102900.78]
+  assign _GEN_2206 = _T_20069 ? {{29'd0}, priority_36} : _GEN_2205; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102895.76]
+  assign _GEN_2207 = _T_20068 ? {{29'd0}, priority_35} : _GEN_2206; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102890.74]
+  assign _GEN_2208 = _T_20067 ? {{29'd0}, priority_34} : _GEN_2207; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102885.72]
+  assign _GEN_2209 = _T_20066 ? {{29'd0}, priority_33} : _GEN_2208; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102880.70]
+  assign _GEN_2210 = _T_20065 ? {{29'd0}, priority_32} : _GEN_2209; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102875.68]
+  assign _GEN_2211 = _T_20064 ? {{29'd0}, priority_31} : _GEN_2210; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102870.66]
+  assign _GEN_2212 = _T_20063 ? {{29'd0}, priority_30} : _GEN_2211; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102865.64]
+  assign _GEN_2213 = _T_20062 ? {{29'd0}, priority_29} : _GEN_2212; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102860.62]
+  assign _GEN_2214 = _T_20061 ? {{29'd0}, priority_28} : _GEN_2213; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102855.60]
+  assign _GEN_2215 = _T_20060 ? {{29'd0}, priority_27} : _GEN_2214; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102850.58]
+  assign _GEN_2216 = _T_20059 ? {{29'd0}, priority_26} : _GEN_2215; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102845.56]
+  assign _GEN_2217 = _T_20058 ? {{29'd0}, priority_25} : _GEN_2216; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102840.54]
+  assign _GEN_2218 = _T_20057 ? {{29'd0}, priority_24} : _GEN_2217; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102835.52]
+  assign _GEN_2219 = _T_20056 ? {{29'd0}, priority_23} : _GEN_2218; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102830.50]
+  assign _GEN_2220 = _T_20055 ? {{29'd0}, priority_22} : _GEN_2219; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102825.48]
+  assign _GEN_2221 = _T_20054 ? {{29'd0}, priority_21} : _GEN_2220; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102820.46]
+  assign _GEN_2222 = _T_20053 ? {{29'd0}, priority_20} : _GEN_2221; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102815.44]
+  assign _GEN_2223 = _T_20052 ? {{29'd0}, priority_19} : _GEN_2222; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102810.42]
+  assign _GEN_2224 = _T_20051 ? {{29'd0}, priority_18} : _GEN_2223; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102805.40]
+  assign _GEN_2225 = _T_20050 ? {{29'd0}, priority_17} : _GEN_2224; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102800.38]
+  assign _GEN_2226 = _T_20049 ? {{29'd0}, priority_16} : _GEN_2225; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102795.36]
+  assign _GEN_2227 = _T_20048 ? {{29'd0}, priority_15} : _GEN_2226; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102790.34]
+  assign _GEN_2228 = _T_20047 ? {{29'd0}, priority_14} : _GEN_2227; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102785.32]
+  assign _GEN_2229 = _T_20046 ? {{29'd0}, priority_13} : _GEN_2228; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102780.30]
+  assign _GEN_2230 = _T_20045 ? {{29'd0}, priority_12} : _GEN_2229; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102775.28]
+  assign _GEN_2231 = _T_20044 ? {{29'd0}, priority_11} : _GEN_2230; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102770.26]
+  assign _GEN_2232 = _T_20043 ? {{29'd0}, priority_10} : _GEN_2231; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102765.24]
+  assign _GEN_2233 = _T_20042 ? {{29'd0}, priority_9} : _GEN_2232; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102760.22]
+  assign _GEN_2234 = _T_20041 ? {{29'd0}, priority_8} : _GEN_2233; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102755.20]
+  assign _GEN_2235 = _T_20040 ? {{29'd0}, priority_7} : _GEN_2234; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102750.18]
+  assign _GEN_2236 = _T_20039 ? {{29'd0}, priority_6} : _GEN_2235; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102745.16]
+  assign _GEN_2237 = _T_20038 ? {{29'd0}, priority_5} : _GEN_2236; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102740.14]
+  assign _GEN_2238 = _T_20037 ? {{29'd0}, priority_4} : _GEN_2237; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102735.12]
+  assign _GEN_2239 = _T_20036 ? {{29'd0}, priority_3} : _GEN_2238; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102730.10]
+  assign _GEN_2240 = _T_20035 ? {{29'd0}, priority_2} : _GEN_2239; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102725.8]
+  assign _GEN_2241 = _T_20034 ? {{29'd0}, priority_1} : _GEN_2240; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102720.6]
+  assign _GEN_2242 = _T_20033 ? {{29'd0}, priority_0} : _GEN_2241; // @[Conditional.scala 40:58:shc.marmotcaravel.MarmotCaravelConfig.fir@102715.4]
+  assign _T_1408_bits_extra = Queue_io_deq_bits_extra; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@81654.4 RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@102965.4]
+  assign _T_1408_bits_read = Queue_io_deq_bits_read; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@81654.4 RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@102458.4]
+  assign auto_int_out_0 = _T_1085 > threshold_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@80772.4]
+  assign auto_in_a_ready = Queue_io_enq_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80771.4]
+  assign auto_in_d_valid = Queue_io_deq_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80771.4]
+  assign auto_in_d_bits_opcode = {{2'd0}, _T_1408_bits_read}; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80771.4]
+  assign auto_in_d_bits_size = _T_1408_bits_extra[1:0]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80771.4]
+  assign auto_in_d_bits_source = _T_1408_bits_extra[7:2]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80771.4]
+  assign auto_in_d_bits_data = _GEN_2192 ? _GEN_2242 : 32'h0; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80771.4]
+  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80732.4]
+  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80733.4]
+  assign TLMonitor_io_in_a_ready = Queue_io_enq_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@80766.4]
+  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@80766.4]
+  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@80766.4]
+  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@80766.4]
+  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@80766.4]
+  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@80766.4]
+  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@80766.4]
+  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@80766.4]
+  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@80766.4]
+  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@80766.4]
+  assign TLMonitor_io_in_d_valid = Queue_io_deq_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@80766.4]
+  assign TLMonitor_io_in_d_bits_opcode = {{2'd0}, _T_1408_bits_read}; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@80766.4]
+  assign TLMonitor_io_in_d_bits_size = _T_1408_bits_extra[1:0]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@80766.4]
+  assign TLMonitor_io_in_d_bits_source = _T_1408_bits_extra[7:2]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@80766.4]
+  assign LevelGateway_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80776.4]
+  assign LevelGateway_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80777.4]
+  assign LevelGateway_io_interrupt = auto_int_in_0; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80778.4]
+  assign LevelGateway_io_plic_ready = pending_0 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81228.4]
+  assign LevelGateway_io_plic_complete = completedDevs[1]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@81600.4]
+  assign LevelGateway_1_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80781.4]
+  assign LevelGateway_1_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80782.4]
+  assign LevelGateway_1_io_interrupt = auto_int_in_1; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80783.4]
+  assign LevelGateway_1_io_plic_ready = pending_1 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81235.4]
+  assign LevelGateway_1_io_plic_complete = completedDevs[2]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@81601.4]
+  assign LevelGateway_2_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80786.4]
+  assign LevelGateway_2_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80787.4]
+  assign LevelGateway_2_io_interrupt = auto_int_in_2; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80788.4]
+  assign LevelGateway_2_io_plic_ready = pending_2 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81242.4]
+  assign LevelGateway_2_io_plic_complete = completedDevs[3]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@81602.4]
+  assign LevelGateway_3_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80791.4]
+  assign LevelGateway_3_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80792.4]
+  assign LevelGateway_3_io_interrupt = auto_int_in_3; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80793.4]
+  assign LevelGateway_3_io_plic_ready = pending_3 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81249.4]
+  assign LevelGateway_3_io_plic_complete = completedDevs[4]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@81603.4]
+  assign LevelGateway_4_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80796.4]
+  assign LevelGateway_4_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80797.4]
+  assign LevelGateway_4_io_interrupt = auto_int_in_4; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80798.4]
+  assign LevelGateway_4_io_plic_ready = pending_4 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81256.4]
+  assign LevelGateway_4_io_plic_complete = completedDevs[5]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@81604.4]
+  assign LevelGateway_5_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80801.4]
+  assign LevelGateway_5_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80802.4]
+  assign LevelGateway_5_io_interrupt = auto_int_in_5; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80803.4]
+  assign LevelGateway_5_io_plic_ready = pending_5 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81263.4]
+  assign LevelGateway_5_io_plic_complete = completedDevs[6]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@81605.4]
+  assign LevelGateway_6_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80806.4]
+  assign LevelGateway_6_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80807.4]
+  assign LevelGateway_6_io_interrupt = auto_int_in_6; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80808.4]
+  assign LevelGateway_6_io_plic_ready = pending_6 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81270.4]
+  assign LevelGateway_6_io_plic_complete = completedDevs[7]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@81606.4]
+  assign LevelGateway_7_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80811.4]
+  assign LevelGateway_7_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80812.4]
+  assign LevelGateway_7_io_interrupt = auto_int_in_7; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80813.4]
+  assign LevelGateway_7_io_plic_ready = pending_7 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81277.4]
+  assign LevelGateway_7_io_plic_complete = completedDevs[8]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@81607.4]
+  assign LevelGateway_8_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80816.4]
+  assign LevelGateway_8_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80817.4]
+  assign LevelGateway_8_io_interrupt = auto_int_in_8; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80818.4]
+  assign LevelGateway_8_io_plic_ready = pending_8 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81284.4]
+  assign LevelGateway_8_io_plic_complete = completedDevs[9]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@81608.4]
+  assign LevelGateway_9_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80821.4]
+  assign LevelGateway_9_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80822.4]
+  assign LevelGateway_9_io_interrupt = auto_int_in_9; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80823.4]
+  assign LevelGateway_9_io_plic_ready = pending_9 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81291.4]
+  assign LevelGateway_9_io_plic_complete = completedDevs[10]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@81609.4]
+  assign LevelGateway_10_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80826.4]
+  assign LevelGateway_10_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80827.4]
+  assign LevelGateway_10_io_interrupt = auto_int_in_10; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80828.4]
+  assign LevelGateway_10_io_plic_ready = pending_10 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81298.4]
+  assign LevelGateway_10_io_plic_complete = completedDevs[11]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@81610.4]
+  assign LevelGateway_11_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80831.4]
+  assign LevelGateway_11_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80832.4]
+  assign LevelGateway_11_io_interrupt = auto_int_in_11; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80833.4]
+  assign LevelGateway_11_io_plic_ready = pending_11 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81305.4]
+  assign LevelGateway_11_io_plic_complete = completedDevs[12]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@81611.4]
+  assign LevelGateway_12_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80836.4]
+  assign LevelGateway_12_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80837.4]
+  assign LevelGateway_12_io_interrupt = auto_int_in_12; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80838.4]
+  assign LevelGateway_12_io_plic_ready = pending_12 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81312.4]
+  assign LevelGateway_12_io_plic_complete = completedDevs[13]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@81612.4]
+  assign LevelGateway_13_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80841.4]
+  assign LevelGateway_13_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80842.4]
+  assign LevelGateway_13_io_interrupt = auto_int_in_13; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80843.4]
+  assign LevelGateway_13_io_plic_ready = pending_13 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81319.4]
+  assign LevelGateway_13_io_plic_complete = completedDevs[14]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@81613.4]
+  assign LevelGateway_14_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80846.4]
+  assign LevelGateway_14_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80847.4]
+  assign LevelGateway_14_io_interrupt = auto_int_in_14; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80848.4]
+  assign LevelGateway_14_io_plic_ready = pending_14 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81326.4]
+  assign LevelGateway_14_io_plic_complete = completedDevs[15]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@81614.4]
+  assign LevelGateway_15_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80851.4]
+  assign LevelGateway_15_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80852.4]
+  assign LevelGateway_15_io_interrupt = auto_int_in_15; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80853.4]
+  assign LevelGateway_15_io_plic_ready = pending_15 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81333.4]
+  assign LevelGateway_15_io_plic_complete = completedDevs[16]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@81615.4]
+  assign LevelGateway_16_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80856.4]
+  assign LevelGateway_16_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80857.4]
+  assign LevelGateway_16_io_interrupt = auto_int_in_16; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80858.4]
+  assign LevelGateway_16_io_plic_ready = pending_16 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81340.4]
+  assign LevelGateway_16_io_plic_complete = completedDevs[17]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@81616.4]
+  assign LevelGateway_17_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80861.4]
+  assign LevelGateway_17_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80862.4]
+  assign LevelGateway_17_io_interrupt = auto_int_in_17; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80863.4]
+  assign LevelGateway_17_io_plic_ready = pending_17 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81347.4]
+  assign LevelGateway_17_io_plic_complete = completedDevs[18]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@81617.4]
+  assign LevelGateway_18_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80866.4]
+  assign LevelGateway_18_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80867.4]
+  assign LevelGateway_18_io_interrupt = auto_int_in_18; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80868.4]
+  assign LevelGateway_18_io_plic_ready = pending_18 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81354.4]
+  assign LevelGateway_18_io_plic_complete = completedDevs[19]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@81618.4]
+  assign LevelGateway_19_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80871.4]
+  assign LevelGateway_19_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80872.4]
+  assign LevelGateway_19_io_interrupt = auto_int_in_19; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80873.4]
+  assign LevelGateway_19_io_plic_ready = pending_19 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81361.4]
+  assign LevelGateway_19_io_plic_complete = completedDevs[20]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@81619.4]
+  assign LevelGateway_20_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80876.4]
+  assign LevelGateway_20_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80877.4]
+  assign LevelGateway_20_io_interrupt = auto_int_in_20; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80878.4]
+  assign LevelGateway_20_io_plic_ready = pending_20 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81368.4]
+  assign LevelGateway_20_io_plic_complete = completedDevs[21]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@81620.4]
+  assign LevelGateway_21_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80881.4]
+  assign LevelGateway_21_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80882.4]
+  assign LevelGateway_21_io_interrupt = auto_int_in_21; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80883.4]
+  assign LevelGateway_21_io_plic_ready = pending_21 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81375.4]
+  assign LevelGateway_21_io_plic_complete = completedDevs[22]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@81621.4]
+  assign LevelGateway_22_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80886.4]
+  assign LevelGateway_22_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80887.4]
+  assign LevelGateway_22_io_interrupt = auto_int_in_22; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80888.4]
+  assign LevelGateway_22_io_plic_ready = pending_22 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81382.4]
+  assign LevelGateway_22_io_plic_complete = completedDevs[23]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@81622.4]
+  assign LevelGateway_23_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80891.4]
+  assign LevelGateway_23_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80892.4]
+  assign LevelGateway_23_io_interrupt = auto_int_in_23; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80893.4]
+  assign LevelGateway_23_io_plic_ready = pending_23 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81389.4]
+  assign LevelGateway_23_io_plic_complete = completedDevs[24]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@81623.4]
+  assign LevelGateway_24_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80896.4]
+  assign LevelGateway_24_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80897.4]
+  assign LevelGateway_24_io_interrupt = auto_int_in_24; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80898.4]
+  assign LevelGateway_24_io_plic_ready = pending_24 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81396.4]
+  assign LevelGateway_24_io_plic_complete = completedDevs[25]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@81624.4]
+  assign LevelGateway_25_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80901.4]
+  assign LevelGateway_25_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80902.4]
+  assign LevelGateway_25_io_interrupt = auto_int_in_25; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80903.4]
+  assign LevelGateway_25_io_plic_ready = pending_25 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81403.4]
+  assign LevelGateway_25_io_plic_complete = completedDevs[26]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@81625.4]
+  assign LevelGateway_26_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80906.4]
+  assign LevelGateway_26_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80907.4]
+  assign LevelGateway_26_io_interrupt = auto_int_in_26; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80908.4]
+  assign LevelGateway_26_io_plic_ready = pending_26 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81410.4]
+  assign LevelGateway_26_io_plic_complete = completedDevs[27]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@81626.4]
+  assign LevelGateway_27_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80911.4]
+  assign LevelGateway_27_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80912.4]
+  assign LevelGateway_27_io_interrupt = auto_int_in_27; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80913.4]
+  assign LevelGateway_27_io_plic_ready = pending_27 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81417.4]
+  assign LevelGateway_27_io_plic_complete = completedDevs[28]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@81627.4]
+  assign LevelGateway_28_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80916.4]
+  assign LevelGateway_28_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80917.4]
+  assign LevelGateway_28_io_interrupt = auto_int_in_28; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80918.4]
+  assign LevelGateway_28_io_plic_ready = pending_28 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81424.4]
+  assign LevelGateway_28_io_plic_complete = completedDevs[29]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@81628.4]
+  assign LevelGateway_29_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80921.4]
+  assign LevelGateway_29_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80922.4]
+  assign LevelGateway_29_io_interrupt = auto_int_in_29; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80923.4]
+  assign LevelGateway_29_io_plic_ready = pending_29 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81431.4]
+  assign LevelGateway_29_io_plic_complete = completedDevs[30]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@81629.4]
+  assign LevelGateway_30_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80926.4]
+  assign LevelGateway_30_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80927.4]
+  assign LevelGateway_30_io_interrupt = auto_int_in_30; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80928.4]
+  assign LevelGateway_30_io_plic_ready = pending_30 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81438.4]
+  assign LevelGateway_30_io_plic_complete = completedDevs[31]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@81630.4]
+  assign LevelGateway_31_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80931.4]
+  assign LevelGateway_31_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80932.4]
+  assign LevelGateway_31_io_interrupt = auto_int_in_31; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80933.4]
+  assign LevelGateway_31_io_plic_ready = pending_31 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81445.4]
+  assign LevelGateway_31_io_plic_complete = completedDevs[32]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@81631.4]
+  assign LevelGateway_32_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80936.4]
+  assign LevelGateway_32_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80937.4]
+  assign LevelGateway_32_io_interrupt = auto_int_in_32; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80938.4]
+  assign LevelGateway_32_io_plic_ready = pending_32 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81452.4]
+  assign LevelGateway_32_io_plic_complete = completedDevs[33]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@81632.4]
+  assign LevelGateway_33_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80941.4]
+  assign LevelGateway_33_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80942.4]
+  assign LevelGateway_33_io_interrupt = auto_int_in_33; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80943.4]
+  assign LevelGateway_33_io_plic_ready = pending_33 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81459.4]
+  assign LevelGateway_33_io_plic_complete = completedDevs[34]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@81633.4]
+  assign LevelGateway_34_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80946.4]
+  assign LevelGateway_34_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80947.4]
+  assign LevelGateway_34_io_interrupt = auto_int_in_34; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80948.4]
+  assign LevelGateway_34_io_plic_ready = pending_34 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81466.4]
+  assign LevelGateway_34_io_plic_complete = completedDevs[35]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@81634.4]
+  assign LevelGateway_35_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80951.4]
+  assign LevelGateway_35_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80952.4]
+  assign LevelGateway_35_io_interrupt = auto_int_in_35; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80953.4]
+  assign LevelGateway_35_io_plic_ready = pending_35 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81473.4]
+  assign LevelGateway_35_io_plic_complete = completedDevs[36]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@81635.4]
+  assign LevelGateway_36_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80956.4]
+  assign LevelGateway_36_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80957.4]
+  assign LevelGateway_36_io_interrupt = auto_int_in_36; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80958.4]
+  assign LevelGateway_36_io_plic_ready = pending_36 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81480.4]
+  assign LevelGateway_36_io_plic_complete = completedDevs[37]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@81636.4]
+  assign LevelGateway_37_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80961.4]
+  assign LevelGateway_37_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80962.4]
+  assign LevelGateway_37_io_interrupt = auto_int_in_37; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80963.4]
+  assign LevelGateway_37_io_plic_ready = pending_37 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81487.4]
+  assign LevelGateway_37_io_plic_complete = completedDevs[38]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@81637.4]
+  assign LevelGateway_38_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80966.4]
+  assign LevelGateway_38_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80967.4]
+  assign LevelGateway_38_io_interrupt = auto_int_in_38; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80968.4]
+  assign LevelGateway_38_io_plic_ready = pending_38 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81494.4]
+  assign LevelGateway_38_io_plic_complete = completedDevs[39]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@81638.4]
+  assign LevelGateway_39_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80971.4]
+  assign LevelGateway_39_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80972.4]
+  assign LevelGateway_39_io_interrupt = auto_int_in_39; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80973.4]
+  assign LevelGateway_39_io_plic_ready = pending_39 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81501.4]
+  assign LevelGateway_39_io_plic_complete = completedDevs[40]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@81639.4]
+  assign LevelGateway_40_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80976.4]
+  assign LevelGateway_40_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80977.4]
+  assign LevelGateway_40_io_interrupt = auto_int_in_40; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80978.4]
+  assign LevelGateway_40_io_plic_ready = pending_40 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81508.4]
+  assign LevelGateway_40_io_plic_complete = completedDevs[41]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@81640.4]
+  assign LevelGateway_41_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80981.4]
+  assign LevelGateway_41_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80982.4]
+  assign LevelGateway_41_io_interrupt = auto_int_in_41; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80983.4]
+  assign LevelGateway_41_io_plic_ready = pending_41 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81515.4]
+  assign LevelGateway_41_io_plic_complete = completedDevs[42]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@81641.4]
+  assign LevelGateway_42_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80986.4]
+  assign LevelGateway_42_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80987.4]
+  assign LevelGateway_42_io_interrupt = auto_int_in_42; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80988.4]
+  assign LevelGateway_42_io_plic_ready = pending_42 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81522.4]
+  assign LevelGateway_42_io_plic_complete = completedDevs[43]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@81642.4]
+  assign LevelGateway_43_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80991.4]
+  assign LevelGateway_43_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80992.4]
+  assign LevelGateway_43_io_interrupt = auto_int_in_43; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80993.4]
+  assign LevelGateway_43_io_plic_ready = pending_43 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81529.4]
+  assign LevelGateway_43_io_plic_complete = completedDevs[44]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@81643.4]
+  assign PLICFanIn_io_prio_0 = priority_0; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81109.4]
+  assign PLICFanIn_io_prio_1 = priority_1; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81109.4]
+  assign PLICFanIn_io_prio_2 = priority_2; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81109.4]
+  assign PLICFanIn_io_prio_3 = priority_3; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81109.4]
+  assign PLICFanIn_io_prio_4 = priority_4; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81109.4]
+  assign PLICFanIn_io_prio_5 = priority_5; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81109.4]
+  assign PLICFanIn_io_prio_6 = priority_6; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81109.4]
+  assign PLICFanIn_io_prio_7 = priority_7; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81109.4]
+  assign PLICFanIn_io_prio_8 = priority_8; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81109.4]
+  assign PLICFanIn_io_prio_9 = priority_9; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81109.4]
+  assign PLICFanIn_io_prio_10 = priority_10; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81109.4]
+  assign PLICFanIn_io_prio_11 = priority_11; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81109.4]
+  assign PLICFanIn_io_prio_12 = priority_12; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81109.4]
+  assign PLICFanIn_io_prio_13 = priority_13; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81109.4]
+  assign PLICFanIn_io_prio_14 = priority_14; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81109.4]
+  assign PLICFanIn_io_prio_15 = priority_15; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81109.4]
+  assign PLICFanIn_io_prio_16 = priority_16; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81109.4]
+  assign PLICFanIn_io_prio_17 = priority_17; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81109.4]
+  assign PLICFanIn_io_prio_18 = priority_18; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81109.4]
+  assign PLICFanIn_io_prio_19 = priority_19; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81109.4]
+  assign PLICFanIn_io_prio_20 = priority_20; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81109.4]
+  assign PLICFanIn_io_prio_21 = priority_21; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81109.4]
+  assign PLICFanIn_io_prio_22 = priority_22; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81109.4]
+  assign PLICFanIn_io_prio_23 = priority_23; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81109.4]
+  assign PLICFanIn_io_prio_24 = priority_24; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81109.4]
+  assign PLICFanIn_io_prio_25 = priority_25; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81109.4]
+  assign PLICFanIn_io_prio_26 = priority_26; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81109.4]
+  assign PLICFanIn_io_prio_27 = priority_27; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81109.4]
+  assign PLICFanIn_io_prio_28 = priority_28; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81109.4]
+  assign PLICFanIn_io_prio_29 = priority_29; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81109.4]
+  assign PLICFanIn_io_prio_30 = priority_30; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81109.4]
+  assign PLICFanIn_io_prio_31 = priority_31; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81109.4]
+  assign PLICFanIn_io_prio_32 = priority_32; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81109.4]
+  assign PLICFanIn_io_prio_33 = priority_33; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81109.4]
+  assign PLICFanIn_io_prio_34 = priority_34; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81109.4]
+  assign PLICFanIn_io_prio_35 = priority_35; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81109.4]
+  assign PLICFanIn_io_prio_36 = priority_36; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81109.4]
+  assign PLICFanIn_io_prio_37 = priority_37; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81109.4]
+  assign PLICFanIn_io_prio_38 = priority_38; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81109.4]
+  assign PLICFanIn_io_prio_39 = priority_39; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81109.4]
+  assign PLICFanIn_io_prio_40 = priority_40; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81109.4]
+  assign PLICFanIn_io_prio_41 = priority_41; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81109.4]
+  assign PLICFanIn_io_prio_42 = priority_42; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81109.4]
+  assign PLICFanIn_io_prio_43 = priority_43; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81109.4]
+  assign PLICFanIn_io_ip = enableVec_0 & pendingUInt; // @[Plic.scala 170:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81111.4]
+  assign Queue_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@81660.4]
+  assign Queue_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@81661.4]
+  assign Queue_io_enq_valid = auto_in_a_valid; // @[Decoupled.scala 294:22:shc.marmotcaravel.MarmotCaravelConfig.fir@81662.4]
+  assign Queue_io_enq_bits_read = auto_in_a_bits_opcode == 3'h4; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81667.4]
+  assign Queue_io_enq_bits_index = _T_1402[23:0]; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81666.4]
+  assign Queue_io_enq_bits_data = auto_in_a_bits_data; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81665.4]
+  assign Queue_io_enq_bits_mask = auto_in_a_bits_mask; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81664.4]
+  assign Queue_io_enq_bits_extra = {auto_in_a_bits_source,auto_in_a_bits_size}; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81663.4]
+  assign Queue_io_deq_ready = auto_in_d_ready; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@102455.4]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  priority_0 = _RAND_0[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  priority_1 = _RAND_1[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  priority_2 = _RAND_2[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  priority_3 = _RAND_3[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  priority_4 = _RAND_4[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  priority_5 = _RAND_5[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {1{`RANDOM}};
+  priority_6 = _RAND_6[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {1{`RANDOM}};
+  priority_7 = _RAND_7[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_8 = {1{`RANDOM}};
+  priority_8 = _RAND_8[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_9 = {1{`RANDOM}};
+  priority_9 = _RAND_9[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_10 = {1{`RANDOM}};
+  priority_10 = _RAND_10[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_11 = {1{`RANDOM}};
+  priority_11 = _RAND_11[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_12 = {1{`RANDOM}};
+  priority_12 = _RAND_12[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_13 = {1{`RANDOM}};
+  priority_13 = _RAND_13[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_14 = {1{`RANDOM}};
+  priority_14 = _RAND_14[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_15 = {1{`RANDOM}};
+  priority_15 = _RAND_15[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_16 = {1{`RANDOM}};
+  priority_16 = _RAND_16[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_17 = {1{`RANDOM}};
+  priority_17 = _RAND_17[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_18 = {1{`RANDOM}};
+  priority_18 = _RAND_18[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_19 = {1{`RANDOM}};
+  priority_19 = _RAND_19[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_20 = {1{`RANDOM}};
+  priority_20 = _RAND_20[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_21 = {1{`RANDOM}};
+  priority_21 = _RAND_21[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_22 = {1{`RANDOM}};
+  priority_22 = _RAND_22[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_23 = {1{`RANDOM}};
+  priority_23 = _RAND_23[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_24 = {1{`RANDOM}};
+  priority_24 = _RAND_24[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_25 = {1{`RANDOM}};
+  priority_25 = _RAND_25[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_26 = {1{`RANDOM}};
+  priority_26 = _RAND_26[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_27 = {1{`RANDOM}};
+  priority_27 = _RAND_27[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_28 = {1{`RANDOM}};
+  priority_28 = _RAND_28[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_29 = {1{`RANDOM}};
+  priority_29 = _RAND_29[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_30 = {1{`RANDOM}};
+  priority_30 = _RAND_30[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_31 = {1{`RANDOM}};
+  priority_31 = _RAND_31[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_32 = {1{`RANDOM}};
+  priority_32 = _RAND_32[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_33 = {1{`RANDOM}};
+  priority_33 = _RAND_33[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_34 = {1{`RANDOM}};
+  priority_34 = _RAND_34[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_35 = {1{`RANDOM}};
+  priority_35 = _RAND_35[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_36 = {1{`RANDOM}};
+  priority_36 = _RAND_36[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_37 = {1{`RANDOM}};
+  priority_37 = _RAND_37[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_38 = {1{`RANDOM}};
+  priority_38 = _RAND_38[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_39 = {1{`RANDOM}};
+  priority_39 = _RAND_39[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_40 = {1{`RANDOM}};
+  priority_40 = _RAND_40[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_41 = {1{`RANDOM}};
+  priority_41 = _RAND_41[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_42 = {1{`RANDOM}};
+  priority_42 = _RAND_42[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_43 = {1{`RANDOM}};
+  priority_43 = _RAND_43[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_44 = {1{`RANDOM}};
+  threshold_0 = _RAND_44[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_45 = {1{`RANDOM}};
+  pending_0 = _RAND_45[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_46 = {1{`RANDOM}};
+  pending_1 = _RAND_46[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_47 = {1{`RANDOM}};
+  pending_2 = _RAND_47[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_48 = {1{`RANDOM}};
+  pending_3 = _RAND_48[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_49 = {1{`RANDOM}};
+  pending_4 = _RAND_49[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_50 = {1{`RANDOM}};
+  pending_5 = _RAND_50[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_51 = {1{`RANDOM}};
+  pending_6 = _RAND_51[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_52 = {1{`RANDOM}};
+  pending_7 = _RAND_52[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_53 = {1{`RANDOM}};
+  pending_8 = _RAND_53[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_54 = {1{`RANDOM}};
+  pending_9 = _RAND_54[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_55 = {1{`RANDOM}};
+  pending_10 = _RAND_55[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_56 = {1{`RANDOM}};
+  pending_11 = _RAND_56[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_57 = {1{`RANDOM}};
+  pending_12 = _RAND_57[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_58 = {1{`RANDOM}};
+  pending_13 = _RAND_58[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_59 = {1{`RANDOM}};
+  pending_14 = _RAND_59[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_60 = {1{`RANDOM}};
+  pending_15 = _RAND_60[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_61 = {1{`RANDOM}};
+  pending_16 = _RAND_61[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_62 = {1{`RANDOM}};
+  pending_17 = _RAND_62[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_63 = {1{`RANDOM}};
+  pending_18 = _RAND_63[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_64 = {1{`RANDOM}};
+  pending_19 = _RAND_64[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_65 = {1{`RANDOM}};
+  pending_20 = _RAND_65[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_66 = {1{`RANDOM}};
+  pending_21 = _RAND_66[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_67 = {1{`RANDOM}};
+  pending_22 = _RAND_67[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_68 = {1{`RANDOM}};
+  pending_23 = _RAND_68[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_69 = {1{`RANDOM}};
+  pending_24 = _RAND_69[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_70 = {1{`RANDOM}};
+  pending_25 = _RAND_70[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_71 = {1{`RANDOM}};
+  pending_26 = _RAND_71[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_72 = {1{`RANDOM}};
+  pending_27 = _RAND_72[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_73 = {1{`RANDOM}};
+  pending_28 = _RAND_73[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_74 = {1{`RANDOM}};
+  pending_29 = _RAND_74[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_75 = {1{`RANDOM}};
+  pending_30 = _RAND_75[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_76 = {1{`RANDOM}};
+  pending_31 = _RAND_76[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_77 = {1{`RANDOM}};
+  pending_32 = _RAND_77[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_78 = {1{`RANDOM}};
+  pending_33 = _RAND_78[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_79 = {1{`RANDOM}};
+  pending_34 = _RAND_79[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_80 = {1{`RANDOM}};
+  pending_35 = _RAND_80[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_81 = {1{`RANDOM}};
+  pending_36 = _RAND_81[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_82 = {1{`RANDOM}};
+  pending_37 = _RAND_82[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_83 = {1{`RANDOM}};
+  pending_38 = _RAND_83[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_84 = {1{`RANDOM}};
+  pending_39 = _RAND_84[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_85 = {1{`RANDOM}};
+  pending_40 = _RAND_85[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_86 = {1{`RANDOM}};
+  pending_41 = _RAND_86[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_87 = {1{`RANDOM}};
+  pending_42 = _RAND_87[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_88 = {1{`RANDOM}};
+  pending_43 = _RAND_88[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_89 = {1{`RANDOM}};
+  enables_0_0 = _RAND_89[6:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_90 = {1{`RANDOM}};
+  enables_0_1 = _RAND_90[7:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_91 = {1{`RANDOM}};
+  enables_0_2 = _RAND_91[7:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_92 = {1{`RANDOM}};
+  enables_0_3 = _RAND_92[7:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_93 = {1{`RANDOM}};
+  enables_0_4 = _RAND_93[7:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_94 = {1{`RANDOM}};
+  enables_0_5 = _RAND_94[4:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_95 = {1{`RANDOM}};
+  maxDevs_0 = _RAND_95[5:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_96 = {1{`RANDOM}};
+  _T_1085 = _RAND_96[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (_T_3157) begin
+      priority_0 <= _T_2847;
+    end
+    if (_T_3382) begin
+      priority_1 <= _T_2847;
+    end
+    if (_T_3817) begin
+      priority_2 <= _T_2847;
+    end
+    if (_T_4516) begin
+      priority_3 <= _T_2847;
+    end
+    if (_T_2846) begin
+      priority_4 <= _T_2847;
+    end
+    if (_T_3182) begin
+      priority_5 <= _T_2847;
+    end
+    if (_T_3767) begin
+      priority_6 <= _T_2847;
+    end
+    if (_T_4416) begin
+      priority_7 <= _T_2847;
+    end
+    if (_T_3307) begin
+      priority_8 <= _T_2847;
+    end
+    if (_T_2871) begin
+      priority_9 <= _T_2847;
+    end
+    if (_T_4291) begin
+      priority_10 <= _T_2847;
+    end
+    if (_T_3742) begin
+      priority_11 <= _T_2847;
+    end
+    if (_T_3332) begin
+      priority_12 <= _T_2847;
+    end
+    if (_T_2996) begin
+      priority_13 <= _T_2847;
+    end
+    if (_T_4541) begin
+      priority_14 <= _T_2847;
+    end
+    if (_T_4241) begin
+      priority_15 <= _T_2847;
+    end
+    if (_T_3457) begin
+      priority_16 <= _T_2847;
+    end
+    if (_T_4216) begin
+      priority_17 <= _T_2847;
+    end
+    if (_T_4491) begin
+      priority_18 <= _T_2847;
+    end
+    if (_T_3021) begin
+      priority_19 <= _T_2847;
+    end
+    if (_T_3257) begin
+      priority_20 <= _T_2847;
+    end
+    if (_T_3667) begin
+      priority_21 <= _T_2847;
+    end
+    if (_T_4391) begin
+      priority_22 <= _T_2847;
+    end
+    if (_T_2921) begin
+      priority_23 <= _T_2847;
+    end
+    if (_T_2971) begin
+      priority_24 <= _T_2847;
+    end
+    if (_T_4366) begin
+      priority_25 <= _T_2847;
+    end
+    if (_T_3717) begin
+      priority_26 <= _T_2847;
+    end
+    if (_T_3207) begin
+      priority_27 <= _T_2847;
+    end
+    if (_T_3098) begin
+      priority_28 <= _T_2847;
+    end
+    if (_T_4466) begin
+      priority_29 <= _T_2847;
+    end
+    if (_T_4266) begin
+      priority_30 <= _T_2847;
+    end
+    if (_T_3407) begin
+      priority_31 <= _T_2847;
+    end
+    if (_T_3282) begin
+      priority_32 <= _T_2847;
+    end
+    if (_T_3432) begin
+      priority_33 <= _T_2847;
+    end
+    if (_T_3842) begin
+      priority_34 <= _T_2847;
+    end
+    if (_T_4441) begin
+      priority_35 <= _T_2847;
+    end
+    if (_T_2946) begin
+      priority_36 <= _T_2847;
+    end
+    if (_T_3232) begin
+      priority_37 <= _T_2847;
+    end
+    if (_T_3792) begin
+      priority_38 <= _T_2847;
+    end
+    if (_T_4341) begin
+      priority_39 <= _T_2847;
+    end
+    if (_T_3357) begin
+      priority_40 <= _T_2847;
+    end
+    if (_T_2896) begin
+      priority_41 <= _T_2847;
+    end
+    if (_T_4316) begin
+      priority_42 <= _T_2847;
+    end
+    if (_T_3692) begin
+      priority_43 <= _T_2847;
+    end
+    if (_T_3482) begin
+      threshold_0 <= _T_2847;
+    end
+    if (reset) begin
+      pending_0 <= 1'h0;
+    end else begin
+      if (_T_1200) begin
+        pending_0 <= _T_1201;
+      end
+    end
+    if (reset) begin
+      pending_1 <= 1'h0;
+    end else begin
+      if (_T_1203) begin
+        pending_1 <= _T_1204;
+      end
+    end
+    if (reset) begin
+      pending_2 <= 1'h0;
+    end else begin
+      if (_T_1206) begin
+        pending_2 <= _T_1207;
+      end
+    end
+    if (reset) begin
+      pending_3 <= 1'h0;
+    end else begin
+      if (_T_1209) begin
+        pending_3 <= _T_1210;
+      end
+    end
+    if (reset) begin
+      pending_4 <= 1'h0;
+    end else begin
+      if (_T_1212) begin
+        pending_4 <= _T_1213;
+      end
+    end
+    if (reset) begin
+      pending_5 <= 1'h0;
+    end else begin
+      if (_T_1215) begin
+        pending_5 <= _T_1216;
+      end
+    end
+    if (reset) begin
+      pending_6 <= 1'h0;
+    end else begin
+      if (_T_1218) begin
+        pending_6 <= _T_1219;
+      end
+    end
+    if (reset) begin
+      pending_7 <= 1'h0;
+    end else begin
+      if (_T_1221) begin
+        pending_7 <= _T_1222;
+      end
+    end
+    if (reset) begin
+      pending_8 <= 1'h0;
+    end else begin
+      if (_T_1224) begin
+        pending_8 <= _T_1225;
+      end
+    end
+    if (reset) begin
+      pending_9 <= 1'h0;
+    end else begin
+      if (_T_1227) begin
+        pending_9 <= _T_1228;
+      end
+    end
+    if (reset) begin
+      pending_10 <= 1'h0;
+    end else begin
+      if (_T_1230) begin
+        pending_10 <= _T_1231;
+      end
+    end
+    if (reset) begin
+      pending_11 <= 1'h0;
+    end else begin
+      if (_T_1233) begin
+        pending_11 <= _T_1234;
+      end
+    end
+    if (reset) begin
+      pending_12 <= 1'h0;
+    end else begin
+      if (_T_1236) begin
+        pending_12 <= _T_1237;
+      end
+    end
+    if (reset) begin
+      pending_13 <= 1'h0;
+    end else begin
+      if (_T_1239) begin
+        pending_13 <= _T_1240;
+      end
+    end
+    if (reset) begin
+      pending_14 <= 1'h0;
+    end else begin
+      if (_T_1242) begin
+        pending_14 <= _T_1243;
+      end
+    end
+    if (reset) begin
+      pending_15 <= 1'h0;
+    end else begin
+      if (_T_1245) begin
+        pending_15 <= _T_1246;
+      end
+    end
+    if (reset) begin
+      pending_16 <= 1'h0;
+    end else begin
+      if (_T_1248) begin
+        pending_16 <= _T_1249;
+      end
+    end
+    if (reset) begin
+      pending_17 <= 1'h0;
+    end else begin
+      if (_T_1251) begin
+        pending_17 <= _T_1252;
+      end
+    end
+    if (reset) begin
+      pending_18 <= 1'h0;
+    end else begin
+      if (_T_1254) begin
+        pending_18 <= _T_1255;
+      end
+    end
+    if (reset) begin
+      pending_19 <= 1'h0;
+    end else begin
+      if (_T_1257) begin
+        pending_19 <= _T_1258;
+      end
+    end
+    if (reset) begin
+      pending_20 <= 1'h0;
+    end else begin
+      if (_T_1260) begin
+        pending_20 <= _T_1261;
+      end
+    end
+    if (reset) begin
+      pending_21 <= 1'h0;
+    end else begin
+      if (_T_1263) begin
+        pending_21 <= _T_1264;
+      end
+    end
+    if (reset) begin
+      pending_22 <= 1'h0;
+    end else begin
+      if (_T_1266) begin
+        pending_22 <= _T_1267;
+      end
+    end
+    if (reset) begin
+      pending_23 <= 1'h0;
+    end else begin
+      if (_T_1269) begin
+        pending_23 <= _T_1270;
+      end
+    end
+    if (reset) begin
+      pending_24 <= 1'h0;
+    end else begin
+      if (_T_1272) begin
+        pending_24 <= _T_1273;
+      end
+    end
+    if (reset) begin
+      pending_25 <= 1'h0;
+    end else begin
+      if (_T_1275) begin
+        pending_25 <= _T_1276;
+      end
+    end
+    if (reset) begin
+      pending_26 <= 1'h0;
+    end else begin
+      if (_T_1278) begin
+        pending_26 <= _T_1279;
+      end
+    end
+    if (reset) begin
+      pending_27 <= 1'h0;
+    end else begin
+      if (_T_1281) begin
+        pending_27 <= _T_1282;
+      end
+    end
+    if (reset) begin
+      pending_28 <= 1'h0;
+    end else begin
+      if (_T_1284) begin
+        pending_28 <= _T_1285;
+      end
+    end
+    if (reset) begin
+      pending_29 <= 1'h0;
+    end else begin
+      if (_T_1287) begin
+        pending_29 <= _T_1288;
+      end
+    end
+    if (reset) begin
+      pending_30 <= 1'h0;
+    end else begin
+      if (_T_1290) begin
+        pending_30 <= _T_1291;
+      end
+    end
+    if (reset) begin
+      pending_31 <= 1'h0;
+    end else begin
+      if (_T_1293) begin
+        pending_31 <= _T_1294;
+      end
+    end
+    if (reset) begin
+      pending_32 <= 1'h0;
+    end else begin
+      if (_T_1296) begin
+        pending_32 <= _T_1297;
+      end
+    end
+    if (reset) begin
+      pending_33 <= 1'h0;
+    end else begin
+      if (_T_1299) begin
+        pending_33 <= _T_1300;
+      end
+    end
+    if (reset) begin
+      pending_34 <= 1'h0;
+    end else begin
+      if (_T_1302) begin
+        pending_34 <= _T_1303;
+      end
+    end
+    if (reset) begin
+      pending_35 <= 1'h0;
+    end else begin
+      if (_T_1305) begin
+        pending_35 <= _T_1306;
+      end
+    end
+    if (reset) begin
+      pending_36 <= 1'h0;
+    end else begin
+      if (_T_1308) begin
+        pending_36 <= _T_1309;
+      end
+    end
+    if (reset) begin
+      pending_37 <= 1'h0;
+    end else begin
+      if (_T_1311) begin
+        pending_37 <= _T_1312;
+      end
+    end
+    if (reset) begin
+      pending_38 <= 1'h0;
+    end else begin
+      if (_T_1314) begin
+        pending_38 <= _T_1315;
+      end
+    end
+    if (reset) begin
+      pending_39 <= 1'h0;
+    end else begin
+      if (_T_1317) begin
+        pending_39 <= _T_1318;
+      end
+    end
+    if (reset) begin
+      pending_40 <= 1'h0;
+    end else begin
+      if (_T_1320) begin
+        pending_40 <= _T_1321;
+      end
+    end
+    if (reset) begin
+      pending_41 <= 1'h0;
+    end else begin
+      if (_T_1323) begin
+        pending_41 <= _T_1324;
+      end
+    end
+    if (reset) begin
+      pending_42 <= 1'h0;
+    end else begin
+      if (_T_1326) begin
+        pending_42 <= _T_1327;
+      end
+    end
+    if (reset) begin
+      pending_43 <= 1'h0;
+    end else begin
+      if (_T_1329) begin
+        pending_43 <= _T_1330;
+      end
+    end
+    if (_T_3559) begin
+      enables_0_0 <= _T_3560;
+    end
+    if (_T_3586) begin
+      enables_0_1 <= _T_3587;
+    end
+    if (_T_3613) begin
+      enables_0_2 <= _T_3614;
+    end
+    if (_T_3640) begin
+      enables_0_3 <= _T_3641;
+    end
+    if (_T_3046) begin
+      enables_0_4 <= _T_3047;
+    end
+    if (_T_3071) begin
+      enables_0_5 <= _T_3072;
+    end
+    maxDevs_0 <= PLICFanIn_io_dev;
+    _T_1085 <= PLICFanIn_io_max;
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1100) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at Plic.scala:223 assert((claimer.asUInt & (claimer.asUInt - UInt(1))) === UInt(0)) // One-Hot\n"); // @[Plic.scala 223:11:shc.marmotcaravel.MarmotCaravelConfig.fir@81128.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1100) begin
+          $fatal; // @[Plic.scala 223:11:shc.marmotcaravel.MarmotCaravelConfig.fir@81129.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1344) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at Plic.scala:240 assert((completer.asUInt & (completer.asUInt - UInt(1))) === UInt(0)) // One-Hot\n"); // @[Plic.scala 240:11:shc.marmotcaravel.MarmotCaravelConfig.fir@81546.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1344) begin
+          $fatal; // @[Plic.scala 240:11:shc.marmotcaravel.MarmotCaravelConfig.fir@81547.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_3129) begin
+          $fwrite(32'h80000002,"Assertion failed: completerDev should be consistent for all harts\n    at Plic.scala:270 assert(completerDev === data.extract(log2Ceil(nDevices+1)-1, 0),\n"); // @[Plic.scala 270:19:shc.marmotcaravel.MarmotCaravelConfig.fir@83004.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_3129) begin
+          $fatal; // @[Plic.scala 270:19:shc.marmotcaravel.MarmotCaravelConfig.fir@83005.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+endmodule
+module TLMonitor_47( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@103074.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@103075.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@103076.4]
+  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@103077.4]
+  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@103077.4]
+  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@103077.4]
+  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@103077.4]
+  input  [1:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@103077.4]
+  input  [5:0]  io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@103077.4]
+  input  [25:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@103077.4]
+  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@103077.4]
+  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@103077.4]
+  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@103077.4]
+  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@103077.4]
+  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@103077.4]
+  input  [1:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@103077.4]
+  input  [5:0]  io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@103077.4]
+);
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@104204.4]
+  wire [4:0] _T_36; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@103104.6]
+  wire [1:0] _T_37; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@103105.6]
+  wire [1:0] _T_38; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@103106.6]
+  wire [25:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@103107.6]
+  wire [25:0] _T_39; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@103107.6]
+  wire  _T_40; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103108.6]
+  wire  _T_42; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@103110.6]
+  wire [1:0] _T_43; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@103111.6]
+  wire [1:0] _T_45; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@103113.6]
+  wire  _T_46; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@103114.6]
+  wire  _T_47; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@103115.6]
+  wire  _T_48; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@103116.6]
+  wire  _T_49; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@103117.6]
+  wire  _T_51; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@103119.6]
+  wire  _T_52; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@103120.6]
+  wire  _T_54; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@103122.6]
+  wire  _T_55; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@103123.6]
+  wire  _T_56; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@103124.6]
+  wire  _T_57; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@103125.6]
+  wire  _T_58; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@103126.6]
+  wire  _T_59; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@103127.6]
+  wire  _T_60; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@103128.6]
+  wire  _T_61; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@103129.6]
+  wire  _T_62; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@103130.6]
+  wire  _T_63; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@103131.6]
+  wire  _T_64; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@103132.6]
+  wire  _T_65; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@103133.6]
+  wire  _T_66; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@103134.6]
+  wire  _T_67; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@103135.6]
+  wire  _T_68; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@103136.6]
+  wire  _T_69; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@103137.6]
+  wire  _T_70; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@103138.6]
+  wire [1:0] _T_71; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@103139.6]
+  wire [1:0] _T_72; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@103140.6]
+  wire [3:0] _T_73; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@103141.6]
+  wire  _T_92; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@103164.6]
+  wire [25:0] _T_94; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@103167.8]
+  wire [26:0] _T_95; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@103168.8]
+  wire [26:0] _T_96; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@103169.8]
+  wire [26:0] _T_97; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@103170.8]
+  wire  _T_98; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@103171.8]
+  wire  _T_103; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103176.8]
+  wire  _T_112; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103197.8]
+  wire  _T_113; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103198.8]
+  wire  _T_115; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103204.8]
+  wire  _T_116; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103205.8]
+  wire  _T_117; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@103210.8]
+  wire  _T_119; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103212.8]
+  wire  _T_120; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103213.8]
+  wire [3:0] _T_121; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@103218.8]
+  wire  _T_122; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@103219.8]
+  wire  _T_124; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103221.8]
+  wire  _T_125; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103222.8]
+  wire  _T_126; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@103227.8]
+  wire  _T_128; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103229.8]
+  wire  _T_129; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103230.8]
+  wire  _T_130; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@103236.6]
+  wire  _T_159; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@103290.8]
+  wire  _T_161; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103292.8]
+  wire  _T_162; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103293.8]
+  wire  _T_172; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@103316.6]
+  wire  _T_174; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@103319.8]
+  wire  _T_182; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@103327.8]
+  wire  _T_185; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103330.8]
+  wire  _T_186; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103331.8]
+  wire  _T_193; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@103350.8]
+  wire  _T_195; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103352.8]
+  wire  _T_196; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103353.8]
+  wire  _T_197; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@103358.8]
+  wire  _T_199; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103360.8]
+  wire  _T_200; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103361.8]
+  wire  _T_205; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@103375.6]
+  wire  _T_234; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@103426.6]
+  wire [3:0] _T_259; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@103468.8]
+  wire [3:0] _T_260; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@103469.8]
+  wire  _T_261; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@103470.8]
+  wire  _T_263; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103472.8]
+  wire  _T_264; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103473.8]
+  wire  _T_265; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@103479.6]
+  wire  _T_283; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@103510.8]
+  wire  _T_285; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103512.8]
+  wire  _T_286; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103513.8]
+  wire  _T_291; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@103527.6]
+  wire  _T_309; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@103558.8]
+  wire  _T_311; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103560.8]
+  wire  _T_312; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103561.8]
+  wire  _T_317; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@103575.6]
+  wire  _T_343; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103625.6]
+  wire  _T_345; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@103627.6]
+  wire  _T_346; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@103628.6]
+  wire  _T_363; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@103645.6]
+  wire  _T_367; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@103654.8]
+  wire  _T_369; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103656.8]
+  wire  _T_370; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103657.8]
+  wire  _T_383; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@103687.6]
+  wire  _T_411; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@103745.6]
+  wire  _T_504; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@103935.4]
+  reg  _T_514; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@103944.4]
+  reg [31:0] _RAND_0;
+  wire [1:0] _T_515; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@103945.4]
+  wire [1:0] _T_516; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@103946.4]
+  wire  _T_517; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@103947.4]
+  wire  _T_518; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@103948.4]
+  reg [2:0] _T_527; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@103959.4]
+  reg [31:0] _RAND_1;
+  reg [2:0] _T_529; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@103960.4]
+  reg [31:0] _RAND_2;
+  reg [1:0] _T_531; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@103961.4]
+  reg [31:0] _RAND_3;
+  reg [5:0] _T_533; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@103962.4]
+  reg [31:0] _RAND_4;
+  reg [25:0] _T_535; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@103963.4]
+  reg [31:0] _RAND_5;
+  wire  _T_536; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@103964.4]
+  wire  _T_537; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@103965.4]
+  wire  _T_538; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@103967.6]
+  wire  _T_540; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103969.6]
+  wire  _T_541; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103970.6]
+  wire  _T_542; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@103975.6]
+  wire  _T_544; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103977.6]
+  wire  _T_545; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103978.6]
+  wire  _T_546; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@103983.6]
+  wire  _T_548; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103985.6]
+  wire  _T_549; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103986.6]
+  wire  _T_550; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@103991.6]
+  wire  _T_552; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103993.6]
+  wire  _T_553; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103994.6]
+  wire  _T_554; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@103999.6]
+  wire  _T_556; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@104001.6]
+  wire  _T_557; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@104002.6]
+  wire  _T_559; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@104009.4]
+  wire  _T_560; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@104017.4]
+  reg  _T_569; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@104025.4]
+  reg [31:0] _RAND_6;
+  wire [1:0] _T_570; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@104026.4]
+  wire [1:0] _T_571; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@104027.4]
+  wire  _T_572; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@104028.4]
+  wire  _T_573; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@104029.4]
+  reg [2:0] _T_582; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@104040.4]
+  reg [31:0] _RAND_7;
+  reg [1:0] _T_586; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@104042.4]
+  reg [31:0] _RAND_8;
+  reg [5:0] _T_588; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@104043.4]
+  reg [31:0] _RAND_9;
+  wire  _T_593; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@104046.4]
+  wire  _T_594; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@104047.4]
+  wire  _T_595; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@104049.6]
+  wire  _T_597; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@104051.6]
+  wire  _T_598; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@104052.6]
+  wire  _T_603; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@104065.6]
+  wire  _T_605; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@104067.6]
+  wire  _T_606; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@104068.6]
+  wire  _T_607; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@104073.6]
+  wire  _T_609; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@104075.6]
+  wire  _T_610; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@104076.6]
+  wire  _T_620; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@104099.4]
+  reg [63:0] _T_622; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@104108.4]
+  reg [63:0] _RAND_10;
+  reg  _T_633; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@104118.4]
+  reg [31:0] _RAND_11;
+  wire [1:0] _T_634; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@104119.4]
+  wire [1:0] _T_635; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@104120.4]
+  wire  _T_636; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@104121.4]
+  wire  _T_637; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@104122.4]
+  reg  _T_654; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@104141.4]
+  reg [31:0] _RAND_12;
+  wire [1:0] _T_655; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@104142.4]
+  wire [1:0] _T_656; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@104143.4]
+  wire  _T_657; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@104144.4]
+  wire  _T_658; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@104145.4]
+  wire  _T_669; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@104160.4]
+  wire [63:0] _T_671; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@104163.6]
+  wire [63:0] _T_672; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@104165.6]
+  wire  _T_673; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@104166.6]
+  wire  _T_674; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@104167.6]
+  wire  _T_676; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@104169.6]
+  wire  _T_677; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@104170.6]
+  wire [63:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@104162.4]
+  wire  _T_682; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@104181.4]
+  wire  _T_684; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@104183.4]
+  wire  _T_685; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@104184.4]
+  wire [63:0] _T_686; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@104186.6]
+  wire [63:0] _T_687; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@104188.6]
+  wire [63:0] _T_688; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@104189.6]
+  wire  _T_689; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@104190.6]
+  wire  _T_691; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@104192.6]
+  wire  _T_692; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@104193.6]
+  wire [63:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@104185.4]
+  wire [63:0] _T_693; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@104199.4]
+  wire [63:0] _T_694; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@104200.4]
+  wire [63:0] _T_695; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@104201.4]
+  reg [31:0] _T_697; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@104203.4]
+  reg [31:0] _RAND_13;
+  wire  _T_698; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@104206.4]
+  wire  _T_699; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@104207.4]
+  wire  _T_700; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@104208.4]
+  wire  _T_701; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@104209.4]
+  wire  _T_702; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@104210.4]
+  wire  _T_703; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@104211.4]
+  wire  _T_705; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@104213.4]
+  wire  _T_706; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@104214.4]
+  wire [31:0] _T_708; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@104220.4]
+  wire  _T_711; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@104224.4]
+  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103178.10]
+  wire  _GEN_33; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103250.10]
+  wire  _GEN_49; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103333.10]
+  wire  _GEN_59; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103392.10]
+  wire  _GEN_67; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103443.10]
+  wire  _GEN_75; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103493.10]
+  wire  _GEN_83; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103541.10]
+  wire  _GEN_91; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103589.10]
+  wire  _GEN_99; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103659.10]
+  wire  _GEN_101; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103700.10]
+  wire  _GEN_105; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103758.10]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@104204.4]
+    .out(plusarg_reader_out)
+  );
+  assign _T_36 = 5'h3 << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@103104.6]
+  assign _T_37 = _T_36[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@103105.6]
+  assign _T_38 = ~ _T_37; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@103106.6]
+  assign _GEN_18 = {{24'd0}, _T_38}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@103107.6]
+  assign _T_39 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@103107.6]
+  assign _T_40 = _T_39 == 26'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103108.6]
+  assign _T_42 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@103110.6]
+  assign _T_43 = 2'h1 << _T_42; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@103111.6]
+  assign _T_45 = _T_43 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@103113.6]
+  assign _T_46 = io_in_a_bits_size >= 2'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@103114.6]
+  assign _T_47 = _T_45[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@103115.6]
+  assign _T_48 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@103116.6]
+  assign _T_49 = _T_48 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@103117.6]
+  assign _T_51 = _T_47 & _T_49; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@103119.6]
+  assign _T_52 = _T_46 | _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@103120.6]
+  assign _T_54 = _T_47 & _T_48; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@103122.6]
+  assign _T_55 = _T_46 | _T_54; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@103123.6]
+  assign _T_56 = _T_45[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@103124.6]
+  assign _T_57 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@103125.6]
+  assign _T_58 = _T_57 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@103126.6]
+  assign _T_59 = _T_49 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@103127.6]
+  assign _T_60 = _T_56 & _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@103128.6]
+  assign _T_61 = _T_52 | _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@103129.6]
+  assign _T_62 = _T_49 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@103130.6]
+  assign _T_63 = _T_56 & _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@103131.6]
+  assign _T_64 = _T_52 | _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@103132.6]
+  assign _T_65 = _T_48 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@103133.6]
+  assign _T_66 = _T_56 & _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@103134.6]
+  assign _T_67 = _T_55 | _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@103135.6]
+  assign _T_68 = _T_48 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@103136.6]
+  assign _T_69 = _T_56 & _T_68; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@103137.6]
+  assign _T_70 = _T_55 | _T_69; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@103138.6]
+  assign _T_71 = {_T_64,_T_61}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@103139.6]
+  assign _T_72 = {_T_70,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@103140.6]
+  assign _T_73 = {_T_72,_T_71}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@103141.6]
+  assign _T_92 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@103164.6]
+  assign _T_94 = io_in_a_bits_address ^ 26'h2000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@103167.8]
+  assign _T_95 = {1'b0,$signed(_T_94)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@103168.8]
+  assign _T_96 = $signed(_T_95) & $signed(-27'sh10000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@103169.8]
+  assign _T_97 = $signed(_T_96); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@103170.8]
+  assign _T_98 = $signed(_T_97) == $signed(27'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@103171.8]
+  assign _T_103 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103176.8]
+  assign _T_112 = _T_46 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103197.8]
+  assign _T_113 = _T_112 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103198.8]
+  assign _T_115 = _T_40 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103204.8]
+  assign _T_116 = _T_115 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103205.8]
+  assign _T_117 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@103210.8]
+  assign _T_119 = _T_117 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103212.8]
+  assign _T_120 = _T_119 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103213.8]
+  assign _T_121 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@103218.8]
+  assign _T_122 = _T_121 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@103219.8]
+  assign _T_124 = _T_122 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103221.8]
+  assign _T_125 = _T_124 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103222.8]
+  assign _T_126 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@103227.8]
+  assign _T_128 = _T_126 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103229.8]
+  assign _T_129 = _T_128 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103230.8]
+  assign _T_130 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@103236.6]
+  assign _T_159 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@103290.8]
+  assign _T_161 = _T_159 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103292.8]
+  assign _T_162 = _T_161 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103293.8]
+  assign _T_172 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@103316.6]
+  assign _T_174 = io_in_a_bits_size <= 2'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@103319.8]
+  assign _T_182 = _T_174 & _T_98; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@103327.8]
+  assign _T_185 = _T_182 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103330.8]
+  assign _T_186 = _T_185 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103331.8]
+  assign _T_193 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@103350.8]
+  assign _T_195 = _T_193 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103352.8]
+  assign _T_196 = _T_195 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103353.8]
+  assign _T_197 = io_in_a_bits_mask == _T_73; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@103358.8]
+  assign _T_199 = _T_197 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103360.8]
+  assign _T_200 = _T_199 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103361.8]
+  assign _T_205 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@103375.6]
+  assign _T_234 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@103426.6]
+  assign _T_259 = ~ _T_73; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@103468.8]
+  assign _T_260 = io_in_a_bits_mask & _T_259; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@103469.8]
+  assign _T_261 = _T_260 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@103470.8]
+  assign _T_263 = _T_261 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103472.8]
+  assign _T_264 = _T_263 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103473.8]
+  assign _T_265 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@103479.6]
+  assign _T_283 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@103510.8]
+  assign _T_285 = _T_283 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103512.8]
+  assign _T_286 = _T_285 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103513.8]
+  assign _T_291 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@103527.6]
+  assign _T_309 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@103558.8]
+  assign _T_311 = _T_309 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103560.8]
+  assign _T_312 = _T_311 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103561.8]
+  assign _T_317 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@103575.6]
+  assign _T_343 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103625.6]
+  assign _T_345 = _T_343 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@103627.6]
+  assign _T_346 = _T_345 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@103628.6]
+  assign _T_363 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@103645.6]
+  assign _T_367 = io_in_d_bits_size >= 2'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@103654.8]
+  assign _T_369 = _T_367 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103656.8]
+  assign _T_370 = _T_369 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103657.8]
+  assign _T_383 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@103687.6]
+  assign _T_411 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@103745.6]
+  assign _T_504 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@103935.4]
+  assign _T_515 = _T_514 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@103945.4]
+  assign _T_516 = $unsigned(_T_515); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@103946.4]
+  assign _T_517 = _T_516[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@103947.4]
+  assign _T_518 = _T_514 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@103948.4]
+  assign _T_536 = _T_518 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@103964.4]
+  assign _T_537 = io_in_a_valid & _T_536; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@103965.4]
+  assign _T_538 = io_in_a_bits_opcode == _T_527; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@103967.6]
+  assign _T_540 = _T_538 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103969.6]
+  assign _T_541 = _T_540 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103970.6]
+  assign _T_542 = io_in_a_bits_param == _T_529; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@103975.6]
+  assign _T_544 = _T_542 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103977.6]
+  assign _T_545 = _T_544 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103978.6]
+  assign _T_546 = io_in_a_bits_size == _T_531; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@103983.6]
+  assign _T_548 = _T_546 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103985.6]
+  assign _T_549 = _T_548 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103986.6]
+  assign _T_550 = io_in_a_bits_source == _T_533; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@103991.6]
+  assign _T_552 = _T_550 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103993.6]
+  assign _T_553 = _T_552 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103994.6]
+  assign _T_554 = io_in_a_bits_address == _T_535; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@103999.6]
+  assign _T_556 = _T_554 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@104001.6]
+  assign _T_557 = _T_556 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@104002.6]
+  assign _T_559 = _T_504 & _T_518; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@104009.4]
+  assign _T_560 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@104017.4]
+  assign _T_570 = _T_569 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@104026.4]
+  assign _T_571 = $unsigned(_T_570); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@104027.4]
+  assign _T_572 = _T_571[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@104028.4]
+  assign _T_573 = _T_569 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@104029.4]
+  assign _T_593 = _T_573 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@104046.4]
+  assign _T_594 = io_in_d_valid & _T_593; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@104047.4]
+  assign _T_595 = io_in_d_bits_opcode == _T_582; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@104049.6]
+  assign _T_597 = _T_595 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@104051.6]
+  assign _T_598 = _T_597 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@104052.6]
+  assign _T_603 = io_in_d_bits_size == _T_586; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@104065.6]
+  assign _T_605 = _T_603 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@104067.6]
+  assign _T_606 = _T_605 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@104068.6]
+  assign _T_607 = io_in_d_bits_source == _T_588; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@104073.6]
+  assign _T_609 = _T_607 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@104075.6]
+  assign _T_610 = _T_609 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@104076.6]
+  assign _T_620 = _T_560 & _T_573; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@104099.4]
+  assign _T_634 = _T_633 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@104119.4]
+  assign _T_635 = $unsigned(_T_634); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@104120.4]
+  assign _T_636 = _T_635[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@104121.4]
+  assign _T_637 = _T_633 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@104122.4]
+  assign _T_655 = _T_654 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@104142.4]
+  assign _T_656 = $unsigned(_T_655); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@104143.4]
+  assign _T_657 = _T_656[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@104144.4]
+  assign _T_658 = _T_654 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@104145.4]
+  assign _T_669 = _T_504 & _T_637; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@104160.4]
+  assign _T_671 = 64'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@104163.6]
+  assign _T_672 = _T_622 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@104165.6]
+  assign _T_673 = _T_672[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@104166.6]
+  assign _T_674 = _T_673 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@104167.6]
+  assign _T_676 = _T_674 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@104169.6]
+  assign _T_677 = _T_676 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@104170.6]
+  assign _GEN_15 = _T_669 ? _T_671 : 64'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@104162.4]
+  assign _T_682 = _T_560 & _T_658; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@104181.4]
+  assign _T_684 = _T_363 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@104183.4]
+  assign _T_685 = _T_682 & _T_684; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@104184.4]
+  assign _T_686 = 64'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@104186.6]
+  assign _T_687 = _GEN_15 | _T_622; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@104188.6]
+  assign _T_688 = _T_687 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@104189.6]
+  assign _T_689 = _T_688[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@104190.6]
+  assign _T_691 = _T_689 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@104192.6]
+  assign _T_692 = _T_691 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@104193.6]
+  assign _GEN_16 = _T_685 ? _T_686 : 64'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@104185.4]
+  assign _T_693 = _T_622 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@104199.4]
+  assign _T_694 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@104200.4]
+  assign _T_695 = _T_693 & _T_694; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@104201.4]
+  assign _T_698 = _T_622 != 64'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@104206.4]
+  assign _T_699 = _T_698 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@104207.4]
+  assign _T_700 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@104208.4]
+  assign _T_701 = _T_699 | _T_700; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@104209.4]
+  assign _T_702 = _T_697 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@104210.4]
+  assign _T_703 = _T_701 | _T_702; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@104211.4]
+  assign _T_705 = _T_703 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@104213.4]
+  assign _T_706 = _T_705 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@104214.4]
+  assign _T_708 = _T_697 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@104220.4]
+  assign _T_711 = _T_504 | _T_560; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@104224.4]
+  assign _GEN_19 = io_in_a_valid & _T_92; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103178.10]
+  assign _GEN_33 = io_in_a_valid & _T_130; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103250.10]
+  assign _GEN_49 = io_in_a_valid & _T_172; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103333.10]
+  assign _GEN_59 = io_in_a_valid & _T_205; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103392.10]
+  assign _GEN_67 = io_in_a_valid & _T_234; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103443.10]
+  assign _GEN_75 = io_in_a_valid & _T_265; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103493.10]
+  assign _GEN_83 = io_in_a_valid & _T_291; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103541.10]
+  assign _GEN_91 = io_in_a_valid & _T_317; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103589.10]
+  assign _GEN_99 = io_in_d_valid & _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103659.10]
+  assign _GEN_101 = io_in_d_valid & _T_383; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103700.10]
+  assign _GEN_105 = io_in_d_valid & _T_411; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103758.10]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  _T_514 = _RAND_0[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  _T_527 = _RAND_1[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  _T_529 = _RAND_2[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  _T_531 = _RAND_3[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  _T_533 = _RAND_4[5:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  _T_535 = _RAND_5[25:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {1{`RANDOM}};
+  _T_569 = _RAND_6[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {1{`RANDOM}};
+  _T_582 = _RAND_7[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_8 = {1{`RANDOM}};
+  _T_586 = _RAND_8[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_9 = {1{`RANDOM}};
+  _T_588 = _RAND_9[5:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_10 = {2{`RANDOM}};
+  _T_622 = _RAND_10[63:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_11 = {1{`RANDOM}};
+  _T_633 = _RAND_11[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_12 = {1{`RANDOM}};
+  _T_654 = _RAND_12[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_13 = {1{`RANDOM}};
+  _T_697 = _RAND_13[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      _T_514 <= 1'h0;
+    end else begin
+      if (_T_504) begin
+        if (_T_518) begin
+          _T_514 <= 1'h0;
+        end else begin
+          _T_514 <= _T_517;
+        end
+      end
+    end
+    if (_T_559) begin
+      _T_527 <= io_in_a_bits_opcode;
+    end
+    if (_T_559) begin
+      _T_529 <= io_in_a_bits_param;
+    end
+    if (_T_559) begin
+      _T_531 <= io_in_a_bits_size;
+    end
+    if (_T_559) begin
+      _T_533 <= io_in_a_bits_source;
+    end
+    if (_T_559) begin
+      _T_535 <= io_in_a_bits_address;
+    end
+    if (reset) begin
+      _T_569 <= 1'h0;
+    end else begin
+      if (_T_560) begin
+        if (_T_573) begin
+          _T_569 <= 1'h0;
+        end else begin
+          _T_569 <= _T_572;
+        end
+      end
+    end
+    if (_T_620) begin
+      _T_582 <= io_in_d_bits_opcode;
+    end
+    if (_T_620) begin
+      _T_586 <= io_in_d_bits_size;
+    end
+    if (_T_620) begin
+      _T_588 <= io_in_d_bits_source;
+    end
+    if (reset) begin
+      _T_622 <= 64'h0;
+    end else begin
+      _T_622 <= _T_695;
+    end
+    if (reset) begin
+      _T_633 <= 1'h0;
+    end else begin
+      if (_T_504) begin
+        if (_T_637) begin
+          _T_633 <= 1'h0;
+        end else begin
+          _T_633 <= _T_636;
+        end
+      end
+    end
+    if (reset) begin
+      _T_654 <= 1'h0;
+    end else begin
+      if (_T_560) begin
+        if (_T_658) begin
+          _T_654 <= 1'h0;
+        end else begin
+          _T_654 <= _T_657;
+        end
+      end
+    end
+    if (reset) begin
+      _T_697 <= 32'h0;
+    end else begin
+      if (_T_711) begin
+        _T_697 <= 32'h0;
+      end else begin
+        _T_697 <= _T_708;
+      end
+    end
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@103089.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@103090.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@103161.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@103162.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103178.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_103) begin
+          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103179.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103185.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_103) begin
+          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103186.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103192.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103193.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_113) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103200.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_113) begin
+          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103201.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103207.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_116) begin
+          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103208.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_120) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103215.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_120) begin
+          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103216.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_125) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103224.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_125) begin
+          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103225.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_129) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103232.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_129) begin
+          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103233.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103250.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_103) begin
+          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103251.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103257.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_103) begin
+          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103258.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103264.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103265.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_113) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103272.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_113) begin
+          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103273.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103279.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_116) begin
+          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103280.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_120) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103287.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_120) begin
+          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103288.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_162) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103295.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_162) begin
+          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103296.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_125) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103304.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_125) begin
+          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103305.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_129) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103312.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_129) begin
+          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103313.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_186) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103333.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_186) begin
+          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103334.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103340.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103341.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103347.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_116) begin
+          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103348.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_196) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103355.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_196) begin
+          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103356.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103363.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_200) begin
+          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103364.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_129) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103371.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_129) begin
+          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103372.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_59 & _T_186) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103392.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_59 & _T_186) begin
+          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103393.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103399.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103400.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_59 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103406.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_59 & _T_116) begin
+          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103407.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_59 & _T_196) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103414.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_59 & _T_196) begin
+          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103415.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_59 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103422.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_59 & _T_200) begin
+          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103423.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_67 & _T_186) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103443.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_67 & _T_186) begin
+          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103444.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103450.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103451.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_67 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103457.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_67 & _T_116) begin
+          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103458.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_67 & _T_196) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103465.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_67 & _T_196) begin
+          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103466.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_67 & _T_264) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103475.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_67 & _T_264) begin
+          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103476.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103493.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_103) begin
+          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103494.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103500.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103501.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103507.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_116) begin
+          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103508.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_286) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103515.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_286) begin
+          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103516.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103523.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_200) begin
+          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103524.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_83 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103541.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_83 & _T_103) begin
+          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103542.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103548.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103549.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_83 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103555.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_83 & _T_116) begin
+          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103556.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_83 & _T_312) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103563.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_83 & _T_312) begin
+          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103564.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_83 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103571.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_83 & _T_200) begin
+          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103572.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_91 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103589.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_91 & _T_103) begin
+          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103590.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103596.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103597.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_91 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103603.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_91 & _T_116) begin
+          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103604.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_91 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103611.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_91 & _T_200) begin
+          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103612.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_91 & _T_129) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103619.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_91 & _T_129) begin
+          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103620.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_346) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@103630.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_346) begin
+          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@103631.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103651.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103652.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_99 & _T_370) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103659.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_99 & _T_370) begin
+          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103660.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103667.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103668.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103675.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103676.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103683.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103684.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103693.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103694.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_101 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103700.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_101 & _T_103) begin
+          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103701.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_101 & _T_370) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103708.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_101 & _T_370) begin
+          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103709.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103716.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103717.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103724.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103725.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103732.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103733.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103741.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103742.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103751.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103752.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103758.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_103) begin
+          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103759.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_370) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103766.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_370) begin
+          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103767.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103774.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103775.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103782.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103783.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103791.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103792.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103800.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103801.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103810.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103811.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103818.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103819.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103826.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103827.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103835.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103836.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103845.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103846.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103853.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103854.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103862.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103863.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103871.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103872.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103881.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103882.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103889.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103890.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103897.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103898.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103906.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103907.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103916.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103917.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103924.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103925.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103932.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103933.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_541) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103972.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_541) begin
+          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103973.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_545) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103980.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_545) begin
+          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103981.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_549) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103988.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_549) begin
+          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103989.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_553) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103996.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_553) begin
+          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103997.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_557) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@104004.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_557) begin
+          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@104005.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_594 & _T_598) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@104054.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_594 & _T_598) begin
+          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@104055.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@104062.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@104063.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_594 & _T_606) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@104070.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_594 & _T_606) begin
+          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@104071.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_594 & _T_610) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@104078.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_594 & _T_610) begin
+          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@104079.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@104086.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@104087.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@104094.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@104095.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_669 & _T_677) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@104172.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_669 & _T_677) begin
+          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@104173.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_685 & _T_692) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@104195.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_685 & _T_692) begin
+          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@104196.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_706) begin
+          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@104216.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_706) begin
+          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@104217.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+endmodule
+module CLINT( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@104229.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@104230.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@104231.4]
+  output        auto_int_out_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@104232.4]
+  output        auto_int_out_1, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@104232.4]
+  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@104232.4]
+  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@104232.4]
+  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@104232.4]
+  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@104232.4]
+  input  [1:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@104232.4]
+  input  [5:0]  auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@104232.4]
+  input  [25:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@104232.4]
+  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@104232.4]
+  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@104232.4]
+  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@104232.4]
+  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@104232.4]
+  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@104232.4]
+  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@104232.4]
+  output [1:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@104232.4]
+  output [5:0]  auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@104232.4]
+  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@104232.4]
+  input         io_rtcTick // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@104233.4]
+);
+  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@104241.4]
+  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@104241.4]
+  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@104241.4]
+  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@104241.4]
+  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@104241.4]
+  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@104241.4]
+  wire [1:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@104241.4]
+  wire [5:0] TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@104241.4]
+  wire [25:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@104241.4]
+  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@104241.4]
+  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@104241.4]
+  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@104241.4]
+  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@104241.4]
+  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@104241.4]
+  wire [1:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@104241.4]
+  wire [5:0] TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@104241.4]
+  reg [63:0] time$; // @[CLINT.scala 62:23:shc.marmotcaravel.MarmotCaravelConfig.fir@104282.4]
+  reg [63:0] _RAND_0;
+  wire [63:0] _T_183; // @[CLINT.scala 63:38:shc.marmotcaravel.MarmotCaravelConfig.fir@104285.6]
+  reg [63:0] timecmp_0; // @[CLINT.scala 66:41:shc.marmotcaravel.MarmotCaravelConfig.fir@104288.4]
+  reg [63:0] _RAND_1;
+  reg  ipi_0; // @[CLINT.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@104289.4]
+  reg [31:0] _RAND_2;
+  wire [7:0] _T_189; // @[RegField.scala 210:53:shc.marmotcaravel.MarmotCaravelConfig.fir@104295.4]
+  wire [7:0] _T_190; // @[RegField.scala 210:53:shc.marmotcaravel.MarmotCaravelConfig.fir@104296.4]
+  wire [7:0] _T_191; // @[RegField.scala 210:53:shc.marmotcaravel.MarmotCaravelConfig.fir@104297.4]
+  wire [7:0] _T_192; // @[RegField.scala 210:53:shc.marmotcaravel.MarmotCaravelConfig.fir@104298.4]
+  wire [7:0] _T_193; // @[RegField.scala 210:53:shc.marmotcaravel.MarmotCaravelConfig.fir@104299.4]
+  wire [7:0] _T_194; // @[RegField.scala 210:53:shc.marmotcaravel.MarmotCaravelConfig.fir@104300.4]
+  wire [7:0] _T_195; // @[RegField.scala 210:53:shc.marmotcaravel.MarmotCaravelConfig.fir@104301.4]
+  wire [7:0] _T_196; // @[RegField.scala 210:53:shc.marmotcaravel.MarmotCaravelConfig.fir@104302.4]
+  wire  _T_493; // @[RegisterRouter.scala 58:36:shc.marmotcaravel.MarmotCaravelConfig.fir@104400.4]
+  wire [23:0] _T_494; // @[Edges.scala 192:34:shc.marmotcaravel.MarmotCaravelConfig.fir@104402.4]
+  wire [13:0] _T_490_bits_index; // @[RegisterRouter.scala 57:18:shc.marmotcaravel.MarmotCaravelConfig.fir@104398.4 RegisterRouter.scala 59:19:shc.marmotcaravel.MarmotCaravelConfig.fir@104403.4]
+  wire  _T_1138; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@105020.4]
+  wire  _T_1137; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@105019.4]
+  wire [1:0] _T_1139; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@105021.4]
+  wire  _T_1125; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@105007.4]
+  wire [2:0] _T_1140; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@105022.4]
+  wire [13:0] _T_511; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104414.4]
+  wire  _T_519; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104422.4]
+  wire  _T_515; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104418.4]
+  wire  _T_1377; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@105322.4]
+  wire  _T_1378; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@105323.4]
+  wire  _T_1379; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@105324.4]
+  wire [7:0] _T_1166; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@105048.4]
+  wire  _T_1169; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@105051.4]
+  wire  _T_1394; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@105343.4]
+  wire  _T_1395; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@105344.4]
+  wire  _T_637; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@104452.4]
+  wire [7:0] _T_645; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@104460.4]
+  wire  _T_636; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@104451.4]
+  wire [7:0] _T_643; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@104458.4]
+  wire [15:0] _T_647; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@104462.4]
+  wire  _T_635; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@104450.4]
+  wire [7:0] _T_641; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@104456.4]
+  wire  _T_634; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@104449.4]
+  wire [7:0] _T_639; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@104454.4]
+  wire [15:0] _T_646; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@104461.4]
+  wire [31:0] _T_648; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@104463.4]
+  wire [7:0] _T_1026; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104892.4]
+  wire [7:0] _T_1027; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104893.4]
+  wire  _T_1028; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104894.4]
+  wire  _T_1032; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104898.4]
+  wire [7:0] _T_1051; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104921.4]
+  wire [7:0] _T_1052; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104922.4]
+  wire  _T_1053; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104923.4]
+  wire  _T_1057; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104927.4]
+  wire  _T_323; // @[RegField.scala 213:27:shc.marmotcaravel.MarmotCaravelConfig.fir@104329.4]
+  wire [7:0] _T_1078; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104952.4]
+  wire [7:0] _T_1079; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104953.4]
+  wire  _T_1080; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104954.4]
+  wire  _T_1084; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104958.4]
+  wire  _T_324; // @[RegField.scala 213:27:shc.marmotcaravel.MarmotCaravelConfig.fir@104330.4]
+  wire [7:0] _T_1105; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104983.4]
+  wire [7:0] _T_1106; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104984.4]
+  wire  _T_1107; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104985.4]
+  wire  _T_1111; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104989.4]
+  wire  _T_325; // @[RegField.scala 213:27:shc.marmotcaravel.MarmotCaravelConfig.fir@104331.4]
+  wire  _T_1170; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@105052.4]
+  wire  _T_1400; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@105354.4]
+  wire  _T_1401; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@105355.4]
+  wire  _T_714; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104532.4]
+  wire  _T_326; // @[RegField.scala 213:27:shc.marmotcaravel.MarmotCaravelConfig.fir@104332.4]
+  wire  _T_739; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104561.4]
+  wire  _T_327; // @[RegField.scala 213:27:shc.marmotcaravel.MarmotCaravelConfig.fir@104333.4]
+  wire  _T_766; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104592.4]
+  wire  _T_328; // @[RegField.scala 213:27:shc.marmotcaravel.MarmotCaravelConfig.fir@104334.4]
+  wire  _T_793; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104623.4]
+  wire  _T_329; // @[RegField.scala 213:27:shc.marmotcaravel.MarmotCaravelConfig.fir@104335.4]
+  wire [7:0] _T_1058; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104928.4]
+  wire [7:0] _GEN_17; // @[RegField.scala 217:20:shc.marmotcaravel.MarmotCaravelConfig.fir@104930.4]
+  wire [7:0] _T_1033; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104899.4]
+  wire [7:0] _GEN_16; // @[RegField.scala 217:20:shc.marmotcaravel.MarmotCaravelConfig.fir@104901.4]
+  wire [15:0] _T_330; // @[RegField.scala 213:52:shc.marmotcaravel.MarmotCaravelConfig.fir@104337.6]
+  wire [7:0] _T_1112; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104990.4]
+  wire [7:0] _GEN_19; // @[RegField.scala 217:20:shc.marmotcaravel.MarmotCaravelConfig.fir@104992.4]
+  wire [7:0] _T_1085; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104959.4]
+  wire [7:0] _GEN_18; // @[RegField.scala 217:20:shc.marmotcaravel.MarmotCaravelConfig.fir@104961.4]
+  wire [15:0] _T_331; // @[RegField.scala 213:52:shc.marmotcaravel.MarmotCaravelConfig.fir@104338.6]
+  wire [31:0] _T_332; // @[RegField.scala 213:52:shc.marmotcaravel.MarmotCaravelConfig.fir@104339.6]
+  wire [7:0] _GEN_5; // @[RegField.scala 217:20:shc.marmotcaravel.MarmotCaravelConfig.fir@104564.4]
+  wire [7:0] _GEN_4; // @[RegField.scala 217:20:shc.marmotcaravel.MarmotCaravelConfig.fir@104535.4]
+  wire [15:0] _T_333; // @[RegField.scala 213:52:shc.marmotcaravel.MarmotCaravelConfig.fir@104340.6]
+  wire [7:0] _GEN_7; // @[RegField.scala 217:20:shc.marmotcaravel.MarmotCaravelConfig.fir@104626.4]
+  wire [7:0] _GEN_6; // @[RegField.scala 217:20:shc.marmotcaravel.MarmotCaravelConfig.fir@104595.4]
+  wire [15:0] _T_334; // @[RegField.scala 213:52:shc.marmotcaravel.MarmotCaravelConfig.fir@104341.6]
+  wire [31:0] _T_335; // @[RegField.scala 213:52:shc.marmotcaravel.MarmotCaravelConfig.fir@104342.6]
+  wire [63:0] _T_336; // @[RegField.scala 213:52:shc.marmotcaravel.MarmotCaravelConfig.fir@104343.6]
+  wire [7:0] _T_338; // @[RegField.scala 210:53:shc.marmotcaravel.MarmotCaravelConfig.fir@104347.4]
+  wire [7:0] _T_339; // @[RegField.scala 210:53:shc.marmotcaravel.MarmotCaravelConfig.fir@104348.4]
+  wire [7:0] _T_340; // @[RegField.scala 210:53:shc.marmotcaravel.MarmotCaravelConfig.fir@104349.4]
+  wire [7:0] _T_341; // @[RegField.scala 210:53:shc.marmotcaravel.MarmotCaravelConfig.fir@104350.4]
+  wire [7:0] _T_342; // @[RegField.scala 210:53:shc.marmotcaravel.MarmotCaravelConfig.fir@104351.4]
+  wire [7:0] _T_343; // @[RegField.scala 210:53:shc.marmotcaravel.MarmotCaravelConfig.fir@104352.4]
+  wire [7:0] _T_344; // @[RegField.scala 210:53:shc.marmotcaravel.MarmotCaravelConfig.fir@104353.4]
+  wire [7:0] _T_345; // @[RegField.scala 210:53:shc.marmotcaravel.MarmotCaravelConfig.fir@104354.4]
+  wire  _T_1171; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@105053.4]
+  wire  _T_1406; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@105365.4]
+  wire  _T_1407; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@105366.4]
+  wire  _T_820; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104654.4]
+  wire  _T_845; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104683.4]
+  wire  _T_472; // @[RegField.scala 213:27:shc.marmotcaravel.MarmotCaravelConfig.fir@104381.4]
+  wire  _T_872; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104714.4]
+  wire  _T_473; // @[RegField.scala 213:27:shc.marmotcaravel.MarmotCaravelConfig.fir@104382.4]
+  wire  _T_899; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104745.4]
+  wire  _T_474; // @[RegField.scala 213:27:shc.marmotcaravel.MarmotCaravelConfig.fir@104383.4]
+  wire  _T_1172; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@105054.4]
+  wire  _T_1412; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@105376.4]
+  wire  _T_1413; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@105377.4]
+  wire  _T_926; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104776.4]
+  wire  _T_475; // @[RegField.scala 213:27:shc.marmotcaravel.MarmotCaravelConfig.fir@104384.4]
+  wire  _T_951; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104805.4]
+  wire  _T_476; // @[RegField.scala 213:27:shc.marmotcaravel.MarmotCaravelConfig.fir@104385.4]
+  wire  _T_978; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104836.4]
+  wire  _T_477; // @[RegField.scala 213:27:shc.marmotcaravel.MarmotCaravelConfig.fir@104386.4]
+  wire  _T_1005; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104867.4]
+  wire  _T_478; // @[RegField.scala 213:27:shc.marmotcaravel.MarmotCaravelConfig.fir@104387.4]
+  wire [7:0] _GEN_9; // @[RegField.scala 217:20:shc.marmotcaravel.MarmotCaravelConfig.fir@104686.4]
+  wire [7:0] _GEN_8; // @[RegField.scala 217:20:shc.marmotcaravel.MarmotCaravelConfig.fir@104657.4]
+  wire [15:0] _T_479; // @[RegField.scala 213:52:shc.marmotcaravel.MarmotCaravelConfig.fir@104389.6]
+  wire [7:0] _GEN_11; // @[RegField.scala 217:20:shc.marmotcaravel.MarmotCaravelConfig.fir@104748.4]
+  wire [7:0] _GEN_10; // @[RegField.scala 217:20:shc.marmotcaravel.MarmotCaravelConfig.fir@104717.4]
+  wire [15:0] _T_480; // @[RegField.scala 213:52:shc.marmotcaravel.MarmotCaravelConfig.fir@104390.6]
+  wire [31:0] _T_481; // @[RegField.scala 213:52:shc.marmotcaravel.MarmotCaravelConfig.fir@104391.6]
+  wire [7:0] _GEN_13; // @[RegField.scala 217:20:shc.marmotcaravel.MarmotCaravelConfig.fir@104808.4]
+  wire [7:0] _GEN_12; // @[RegField.scala 217:20:shc.marmotcaravel.MarmotCaravelConfig.fir@104779.4]
+  wire [15:0] _T_482; // @[RegField.scala 213:52:shc.marmotcaravel.MarmotCaravelConfig.fir@104392.6]
+  wire [7:0] _GEN_15; // @[RegField.scala 217:20:shc.marmotcaravel.MarmotCaravelConfig.fir@104870.4]
+  wire [7:0] _GEN_14; // @[RegField.scala 217:20:shc.marmotcaravel.MarmotCaravelConfig.fir@104839.4]
+  wire [15:0] _T_483; // @[RegField.scala 213:52:shc.marmotcaravel.MarmotCaravelConfig.fir@104393.6]
+  wire [31:0] _T_484; // @[RegField.scala 213:52:shc.marmotcaravel.MarmotCaravelConfig.fir@104394.6]
+  wire [63:0] _T_485; // @[RegField.scala 213:52:shc.marmotcaravel.MarmotCaravelConfig.fir@104395.6]
+  wire [7:0] _T_495; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@104406.4]
+  wire  _T_649; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104464.4]
+  wire  _T_652; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104467.4]
+  wire  _T_653; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104468.4]
+  wire  _T_1158; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@105040.4]
+  wire  _T_1247; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@105150.4]
+  wire  _T_1248; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@105151.4]
+  wire  _T_661; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104476.4]
+  wire  _T_663; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104478.4]
+  wire [1:0] _T_698; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@104516.4]
+  wire [31:0] _T_699; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104517.4]
+  wire [15:0] _T_750; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@104576.4]
+  wire [23:0] _T_777; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@104607.4]
+  wire [31:0] _T_804; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@104638.4]
+  wire [15:0] _T_856; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@104698.4]
+  wire [23:0] _T_883; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@104729.4]
+  wire [31:0] _T_910; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@104760.4]
+  wire [15:0] _T_962; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@104820.4]
+  wire [23:0] _T_989; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@104851.4]
+  wire [31:0] _T_1016; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@104882.4]
+  wire [15:0] _T_1068; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@104942.4]
+  wire [23:0] _T_1095; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@104973.4]
+  wire [31:0] _T_1122; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@105004.4]
+  wire  _GEN_53; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@105433.4]
+  wire  _GEN_54; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@105433.4]
+  wire  _GEN_55; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@105433.4]
+  wire  _GEN_56; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@105433.4]
+  wire  _GEN_57; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@105433.4]
+  wire  _GEN_58; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@105433.4]
+  wire  _GEN_59; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@105433.4]
+  wire [31:0] _GEN_61; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@105445.4]
+  wire [31:0] _GEN_62; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@105445.4]
+  wire [31:0] _GEN_63; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@105445.4]
+  wire [31:0] _GEN_64; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@105445.4]
+  wire [31:0] _GEN_65; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@105445.4]
+  wire [31:0] _GEN_66; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@105445.4]
+  wire [31:0] _GEN_67; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@105445.4]
+  TLMonitor_47 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@104241.4]
+    .clock(TLMonitor_clock),
+    .reset(TLMonitor_reset),
+    .io_in_a_ready(TLMonitor_io_in_a_ready),
+    .io_in_a_valid(TLMonitor_io_in_a_valid),
+    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
+    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
+    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
+    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
+    .io_in_d_ready(TLMonitor_io_in_d_ready),
+    .io_in_d_valid(TLMonitor_io_in_d_valid),
+    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
+    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
+    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source)
+  );
+  assign _T_183 = time$ + 64'h1; // @[CLINT.scala 63:38:shc.marmotcaravel.MarmotCaravelConfig.fir@104285.6]
+  assign _T_189 = timecmp_0[7:0]; // @[RegField.scala 210:53:shc.marmotcaravel.MarmotCaravelConfig.fir@104295.4]
+  assign _T_190 = timecmp_0[15:8]; // @[RegField.scala 210:53:shc.marmotcaravel.MarmotCaravelConfig.fir@104296.4]
+  assign _T_191 = timecmp_0[23:16]; // @[RegField.scala 210:53:shc.marmotcaravel.MarmotCaravelConfig.fir@104297.4]
+  assign _T_192 = timecmp_0[31:24]; // @[RegField.scala 210:53:shc.marmotcaravel.MarmotCaravelConfig.fir@104298.4]
+  assign _T_193 = timecmp_0[39:32]; // @[RegField.scala 210:53:shc.marmotcaravel.MarmotCaravelConfig.fir@104299.4]
+  assign _T_194 = timecmp_0[47:40]; // @[RegField.scala 210:53:shc.marmotcaravel.MarmotCaravelConfig.fir@104300.4]
+  assign _T_195 = timecmp_0[55:48]; // @[RegField.scala 210:53:shc.marmotcaravel.MarmotCaravelConfig.fir@104301.4]
+  assign _T_196 = timecmp_0[63:56]; // @[RegField.scala 210:53:shc.marmotcaravel.MarmotCaravelConfig.fir@104302.4]
+  assign _T_493 = auto_in_a_bits_opcode == 3'h4; // @[RegisterRouter.scala 58:36:shc.marmotcaravel.MarmotCaravelConfig.fir@104400.4]
+  assign _T_494 = auto_in_a_bits_address[25:2]; // @[Edges.scala 192:34:shc.marmotcaravel.MarmotCaravelConfig.fir@104402.4]
+  assign _T_490_bits_index = _T_494[13:0]; // @[RegisterRouter.scala 57:18:shc.marmotcaravel.MarmotCaravelConfig.fir@104398.4 RegisterRouter.scala 59:19:shc.marmotcaravel.MarmotCaravelConfig.fir@104403.4]
+  assign _T_1138 = _T_490_bits_index[13]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@105020.4]
+  assign _T_1137 = _T_490_bits_index[12]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@105019.4]
+  assign _T_1139 = {_T_1138,_T_1137}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@105021.4]
+  assign _T_1125 = _T_490_bits_index[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@105007.4]
+  assign _T_1140 = {_T_1139,_T_1125}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@105022.4]
+  assign _T_511 = _T_490_bits_index & 14'hffe; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104414.4]
+  assign _T_519 = _T_511 == 14'hffe; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104422.4]
+  assign _T_515 = _T_511 == 14'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104418.4]
+  assign _T_1377 = auto_in_a_valid & auto_in_d_ready; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@105322.4]
+  assign _T_1378 = _T_493 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@105323.4]
+  assign _T_1379 = _T_1377 & _T_1378; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@105324.4]
+  assign _T_1166 = 8'h1 << _T_1140; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@105048.4]
+  assign _T_1169 = _T_1166[2]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@105051.4]
+  assign _T_1394 = _T_1379 & _T_1169; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@105343.4]
+  assign _T_1395 = _T_1394 & _T_515; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@105344.4]
+  assign _T_637 = auto_in_a_bits_mask[3]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@104452.4]
+  assign _T_645 = _T_637 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@104460.4]
+  assign _T_636 = auto_in_a_bits_mask[2]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@104451.4]
+  assign _T_643 = _T_636 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@104458.4]
+  assign _T_647 = {_T_645,_T_643}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@104462.4]
+  assign _T_635 = auto_in_a_bits_mask[1]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@104450.4]
+  assign _T_641 = _T_635 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@104456.4]
+  assign _T_634 = auto_in_a_bits_mask[0]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@104449.4]
+  assign _T_639 = _T_634 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@104454.4]
+  assign _T_646 = {_T_641,_T_639}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@104461.4]
+  assign _T_648 = {_T_647,_T_646}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@104463.4]
+  assign _T_1026 = _T_648[7:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104892.4]
+  assign _T_1027 = ~ _T_1026; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104893.4]
+  assign _T_1028 = _T_1027 == 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104894.4]
+  assign _T_1032 = _T_1395 & _T_1028; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104898.4]
+  assign _T_1051 = _T_648[15:8]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104921.4]
+  assign _T_1052 = ~ _T_1051; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104922.4]
+  assign _T_1053 = _T_1052 == 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104923.4]
+  assign _T_1057 = _T_1395 & _T_1053; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104927.4]
+  assign _T_323 = _T_1032 | _T_1057; // @[RegField.scala 213:27:shc.marmotcaravel.MarmotCaravelConfig.fir@104329.4]
+  assign _T_1078 = _T_648[23:16]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104952.4]
+  assign _T_1079 = ~ _T_1078; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104953.4]
+  assign _T_1080 = _T_1079 == 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104954.4]
+  assign _T_1084 = _T_1395 & _T_1080; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104958.4]
+  assign _T_324 = _T_323 | _T_1084; // @[RegField.scala 213:27:shc.marmotcaravel.MarmotCaravelConfig.fir@104330.4]
+  assign _T_1105 = _T_648[31:24]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104983.4]
+  assign _T_1106 = ~ _T_1105; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104984.4]
+  assign _T_1107 = _T_1106 == 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104985.4]
+  assign _T_1111 = _T_1395 & _T_1107; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104989.4]
+  assign _T_325 = _T_324 | _T_1111; // @[RegField.scala 213:27:shc.marmotcaravel.MarmotCaravelConfig.fir@104331.4]
+  assign _T_1170 = _T_1166[3]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@105052.4]
+  assign _T_1400 = _T_1379 & _T_1170; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@105354.4]
+  assign _T_1401 = _T_1400 & _T_515; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@105355.4]
+  assign _T_714 = _T_1401 & _T_1028; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104532.4]
+  assign _T_326 = _T_325 | _T_714; // @[RegField.scala 213:27:shc.marmotcaravel.MarmotCaravelConfig.fir@104332.4]
+  assign _T_739 = _T_1401 & _T_1053; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104561.4]
+  assign _T_327 = _T_326 | _T_739; // @[RegField.scala 213:27:shc.marmotcaravel.MarmotCaravelConfig.fir@104333.4]
+  assign _T_766 = _T_1401 & _T_1080; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104592.4]
+  assign _T_328 = _T_327 | _T_766; // @[RegField.scala 213:27:shc.marmotcaravel.MarmotCaravelConfig.fir@104334.4]
+  assign _T_793 = _T_1401 & _T_1107; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104623.4]
+  assign _T_329 = _T_328 | _T_793; // @[RegField.scala 213:27:shc.marmotcaravel.MarmotCaravelConfig.fir@104335.4]
+  assign _T_1058 = auto_in_a_bits_data[15:8]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104928.4]
+  assign _GEN_17 = _T_1057 ? _T_1058 : _T_190; // @[RegField.scala 217:20:shc.marmotcaravel.MarmotCaravelConfig.fir@104930.4]
+  assign _T_1033 = auto_in_a_bits_data[7:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104899.4]
+  assign _GEN_16 = _T_1032 ? _T_1033 : _T_189; // @[RegField.scala 217:20:shc.marmotcaravel.MarmotCaravelConfig.fir@104901.4]
+  assign _T_330 = {_GEN_17,_GEN_16}; // @[RegField.scala 213:52:shc.marmotcaravel.MarmotCaravelConfig.fir@104337.6]
+  assign _T_1112 = auto_in_a_bits_data[31:24]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104990.4]
+  assign _GEN_19 = _T_1111 ? _T_1112 : _T_192; // @[RegField.scala 217:20:shc.marmotcaravel.MarmotCaravelConfig.fir@104992.4]
+  assign _T_1085 = auto_in_a_bits_data[23:16]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104959.4]
+  assign _GEN_18 = _T_1084 ? _T_1085 : _T_191; // @[RegField.scala 217:20:shc.marmotcaravel.MarmotCaravelConfig.fir@104961.4]
+  assign _T_331 = {_GEN_19,_GEN_18}; // @[RegField.scala 213:52:shc.marmotcaravel.MarmotCaravelConfig.fir@104338.6]
+  assign _T_332 = {_T_331,_T_330}; // @[RegField.scala 213:52:shc.marmotcaravel.MarmotCaravelConfig.fir@104339.6]
+  assign _GEN_5 = _T_739 ? _T_1058 : _T_194; // @[RegField.scala 217:20:shc.marmotcaravel.MarmotCaravelConfig.fir@104564.4]
+  assign _GEN_4 = _T_714 ? _T_1033 : _T_193; // @[RegField.scala 217:20:shc.marmotcaravel.MarmotCaravelConfig.fir@104535.4]
+  assign _T_333 = {_GEN_5,_GEN_4}; // @[RegField.scala 213:52:shc.marmotcaravel.MarmotCaravelConfig.fir@104340.6]
+  assign _GEN_7 = _T_793 ? _T_1112 : _T_196; // @[RegField.scala 217:20:shc.marmotcaravel.MarmotCaravelConfig.fir@104626.4]
+  assign _GEN_6 = _T_766 ? _T_1085 : _T_195; // @[RegField.scala 217:20:shc.marmotcaravel.MarmotCaravelConfig.fir@104595.4]
+  assign _T_334 = {_GEN_7,_GEN_6}; // @[RegField.scala 213:52:shc.marmotcaravel.MarmotCaravelConfig.fir@104341.6]
+  assign _T_335 = {_T_334,_T_333}; // @[RegField.scala 213:52:shc.marmotcaravel.MarmotCaravelConfig.fir@104342.6]
+  assign _T_336 = {_T_335,_T_332}; // @[RegField.scala 213:52:shc.marmotcaravel.MarmotCaravelConfig.fir@104343.6]
+  assign _T_338 = time$[7:0]; // @[RegField.scala 210:53:shc.marmotcaravel.MarmotCaravelConfig.fir@104347.4]
+  assign _T_339 = time$[15:8]; // @[RegField.scala 210:53:shc.marmotcaravel.MarmotCaravelConfig.fir@104348.4]
+  assign _T_340 = time$[23:16]; // @[RegField.scala 210:53:shc.marmotcaravel.MarmotCaravelConfig.fir@104349.4]
+  assign _T_341 = time$[31:24]; // @[RegField.scala 210:53:shc.marmotcaravel.MarmotCaravelConfig.fir@104350.4]
+  assign _T_342 = time$[39:32]; // @[RegField.scala 210:53:shc.marmotcaravel.MarmotCaravelConfig.fir@104351.4]
+  assign _T_343 = time$[47:40]; // @[RegField.scala 210:53:shc.marmotcaravel.MarmotCaravelConfig.fir@104352.4]
+  assign _T_344 = time$[55:48]; // @[RegField.scala 210:53:shc.marmotcaravel.MarmotCaravelConfig.fir@104353.4]
+  assign _T_345 = time$[63:56]; // @[RegField.scala 210:53:shc.marmotcaravel.MarmotCaravelConfig.fir@104354.4]
+  assign _T_1171 = _T_1166[4]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@105053.4]
+  assign _T_1406 = _T_1379 & _T_1171; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@105365.4]
+  assign _T_1407 = _T_1406 & _T_519; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@105366.4]
+  assign _T_820 = _T_1407 & _T_1028; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104654.4]
+  assign _T_845 = _T_1407 & _T_1053; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104683.4]
+  assign _T_472 = _T_820 | _T_845; // @[RegField.scala 213:27:shc.marmotcaravel.MarmotCaravelConfig.fir@104381.4]
+  assign _T_872 = _T_1407 & _T_1080; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104714.4]
+  assign _T_473 = _T_472 | _T_872; // @[RegField.scala 213:27:shc.marmotcaravel.MarmotCaravelConfig.fir@104382.4]
+  assign _T_899 = _T_1407 & _T_1107; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104745.4]
+  assign _T_474 = _T_473 | _T_899; // @[RegField.scala 213:27:shc.marmotcaravel.MarmotCaravelConfig.fir@104383.4]
+  assign _T_1172 = _T_1166[5]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@105054.4]
+  assign _T_1412 = _T_1379 & _T_1172; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@105376.4]
+  assign _T_1413 = _T_1412 & _T_519; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@105377.4]
+  assign _T_926 = _T_1413 & _T_1028; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104776.4]
+  assign _T_475 = _T_474 | _T_926; // @[RegField.scala 213:27:shc.marmotcaravel.MarmotCaravelConfig.fir@104384.4]
+  assign _T_951 = _T_1413 & _T_1053; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104805.4]
+  assign _T_476 = _T_475 | _T_951; // @[RegField.scala 213:27:shc.marmotcaravel.MarmotCaravelConfig.fir@104385.4]
+  assign _T_978 = _T_1413 & _T_1080; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104836.4]
+  assign _T_477 = _T_476 | _T_978; // @[RegField.scala 213:27:shc.marmotcaravel.MarmotCaravelConfig.fir@104386.4]
+  assign _T_1005 = _T_1413 & _T_1107; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104867.4]
+  assign _T_478 = _T_477 | _T_1005; // @[RegField.scala 213:27:shc.marmotcaravel.MarmotCaravelConfig.fir@104387.4]
+  assign _GEN_9 = _T_845 ? _T_1058 : _T_339; // @[RegField.scala 217:20:shc.marmotcaravel.MarmotCaravelConfig.fir@104686.4]
+  assign _GEN_8 = _T_820 ? _T_1033 : _T_338; // @[RegField.scala 217:20:shc.marmotcaravel.MarmotCaravelConfig.fir@104657.4]
+  assign _T_479 = {_GEN_9,_GEN_8}; // @[RegField.scala 213:52:shc.marmotcaravel.MarmotCaravelConfig.fir@104389.6]
+  assign _GEN_11 = _T_899 ? _T_1112 : _T_341; // @[RegField.scala 217:20:shc.marmotcaravel.MarmotCaravelConfig.fir@104748.4]
+  assign _GEN_10 = _T_872 ? _T_1085 : _T_340; // @[RegField.scala 217:20:shc.marmotcaravel.MarmotCaravelConfig.fir@104717.4]
+  assign _T_480 = {_GEN_11,_GEN_10}; // @[RegField.scala 213:52:shc.marmotcaravel.MarmotCaravelConfig.fir@104390.6]
+  assign _T_481 = {_T_480,_T_479}; // @[RegField.scala 213:52:shc.marmotcaravel.MarmotCaravelConfig.fir@104391.6]
+  assign _GEN_13 = _T_951 ? _T_1058 : _T_343; // @[RegField.scala 217:20:shc.marmotcaravel.MarmotCaravelConfig.fir@104808.4]
+  assign _GEN_12 = _T_926 ? _T_1033 : _T_342; // @[RegField.scala 217:20:shc.marmotcaravel.MarmotCaravelConfig.fir@104779.4]
+  assign _T_482 = {_GEN_13,_GEN_12}; // @[RegField.scala 213:52:shc.marmotcaravel.MarmotCaravelConfig.fir@104392.6]
+  assign _GEN_15 = _T_1005 ? _T_1112 : _T_345; // @[RegField.scala 217:20:shc.marmotcaravel.MarmotCaravelConfig.fir@104870.4]
+  assign _GEN_14 = _T_978 ? _T_1085 : _T_344; // @[RegField.scala 217:20:shc.marmotcaravel.MarmotCaravelConfig.fir@104839.4]
+  assign _T_483 = {_GEN_15,_GEN_14}; // @[RegField.scala 213:52:shc.marmotcaravel.MarmotCaravelConfig.fir@104393.6]
+  assign _T_484 = {_T_483,_T_482}; // @[RegField.scala 213:52:shc.marmotcaravel.MarmotCaravelConfig.fir@104394.6]
+  assign _T_485 = {_T_484,_T_481}; // @[RegField.scala 213:52:shc.marmotcaravel.MarmotCaravelConfig.fir@104395.6]
+  assign _T_495 = {auto_in_a_bits_source,auto_in_a_bits_size}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@104406.4]
+  assign _T_649 = _T_648[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104464.4]
+  assign _T_652 = ~ _T_649; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104467.4]
+  assign _T_653 = _T_652 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104468.4]
+  assign _T_1158 = _T_1166[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@105040.4]
+  assign _T_1247 = _T_1379 & _T_1158; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@105150.4]
+  assign _T_1248 = _T_1247 & _T_515; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@105151.4]
+  assign _T_661 = _T_1248 & _T_653; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104476.4]
+  assign _T_663 = auto_in_a_bits_data[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104478.4]
+  assign _T_698 = {1'h0,ipi_0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@104516.4]
+  assign _T_699 = {{30'd0}, _T_698}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104517.4]
+  assign _T_750 = {_T_194,_T_193}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@104576.4]
+  assign _T_777 = {_T_195,_T_750}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@104607.4]
+  assign _T_804 = {_T_196,_T_777}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@104638.4]
+  assign _T_856 = {_T_339,_T_338}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@104698.4]
+  assign _T_883 = {_T_340,_T_856}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@104729.4]
+  assign _T_910 = {_T_341,_T_883}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@104760.4]
+  assign _T_962 = {_T_343,_T_342}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@104820.4]
+  assign _T_989 = {_T_344,_T_962}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@104851.4]
+  assign _T_1016 = {_T_345,_T_989}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@104882.4]
+  assign _T_1068 = {_T_190,_T_189}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@104942.4]
+  assign _T_1095 = {_T_191,_T_1068}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@104973.4]
+  assign _T_1122 = {_T_192,_T_1095}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@105004.4]
+  assign _GEN_53 = 3'h1 == _T_1140 ? 1'h1 : _T_515; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@105433.4]
+  assign _GEN_54 = 3'h2 == _T_1140 ? _T_515 : _GEN_53; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@105433.4]
+  assign _GEN_55 = 3'h3 == _T_1140 ? _T_515 : _GEN_54; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@105433.4]
+  assign _GEN_56 = 3'h4 == _T_1140 ? _T_519 : _GEN_55; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@105433.4]
+  assign _GEN_57 = 3'h5 == _T_1140 ? _T_519 : _GEN_56; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@105433.4]
+  assign _GEN_58 = 3'h6 == _T_1140 ? 1'h1 : _GEN_57; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@105433.4]
+  assign _GEN_59 = 3'h7 == _T_1140 ? 1'h1 : _GEN_58; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@105433.4]
+  assign _GEN_61 = 3'h1 == _T_1140 ? 32'h0 : _T_699; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@105445.4]
+  assign _GEN_62 = 3'h2 == _T_1140 ? _T_1122 : _GEN_61; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@105445.4]
+  assign _GEN_63 = 3'h3 == _T_1140 ? _T_804 : _GEN_62; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@105445.4]
+  assign _GEN_64 = 3'h4 == _T_1140 ? _T_910 : _GEN_63; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@105445.4]
+  assign _GEN_65 = 3'h5 == _T_1140 ? _T_1016 : _GEN_64; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@105445.4]
+  assign _GEN_66 = 3'h6 == _T_1140 ? 32'h0 : _GEN_65; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@105445.4]
+  assign _GEN_67 = 3'h7 == _T_1140 ? 32'h0 : _GEN_66; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@105445.4]
+  assign auto_int_out_0 = ipi_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@104281.4]
+  assign auto_int_out_1 = time$ >= timecmp_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@104281.4]
+  assign auto_in_a_ready = auto_in_d_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@104280.4]
+  assign auto_in_d_valid = auto_in_a_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@104280.4]
+  assign auto_in_d_bits_opcode = {{2'd0}, _T_493}; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@104280.4]
+  assign auto_in_d_bits_size = _T_495[1:0]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@104280.4]
+  assign auto_in_d_bits_source = _T_495[7:2]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@104280.4]
+  assign auto_in_d_bits_data = _GEN_59 ? _GEN_67 : 32'h0; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@104280.4]
+  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@104243.4]
+  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@104244.4]
+  assign TLMonitor_io_in_a_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@104277.4]
+  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@104277.4]
+  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@104277.4]
+  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@104277.4]
+  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@104277.4]
+  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@104277.4]
+  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@104277.4]
+  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@104277.4]
+  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@104277.4]
+  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@104277.4]
+  assign TLMonitor_io_in_d_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@104277.4]
+  assign TLMonitor_io_in_d_bits_opcode = {{2'd0}, _T_493}; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@104277.4]
+  assign TLMonitor_io_in_d_bits_size = _T_495[1:0]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@104277.4]
+  assign TLMonitor_io_in_d_bits_source = _T_495[7:2]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@104277.4]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {2{`RANDOM}};
+  time$ = _RAND_0[63:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {2{`RANDOM}};
+  timecmp_0 = _RAND_1[63:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  ipi_0 = _RAND_2[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      time$ <= 64'h0;
+    end else begin
+      if (_T_478) begin
+        time$ <= _T_485;
+      end else begin
+        if (io_rtcTick) begin
+          time$ <= _T_183;
+        end
+      end
+    end
+    if (_T_329) begin
+      timecmp_0 <= _T_336;
+    end
+    if (reset) begin
+      ipi_0 <= 1'h0;
+    end else begin
+      if (_T_661) begin
+        ipi_0 <= _T_663;
+      end
+    end
+  end
+endmodule
+module DMIToTL( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@105473.2]
+  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@105476.4]
+  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@105476.4]
+  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@105476.4]
+  output [8:0]  auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@105476.4]
+  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@105476.4]
+  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@105476.4]
+  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@105476.4]
+  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@105476.4]
+  input         auto_out_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@105476.4]
+  input  [31:0] auto_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@105476.4]
+  input         auto_out_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@105476.4]
+  output        io_dmi_req_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@105477.4]
+  input         io_dmi_req_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@105477.4]
+  input  [6:0]  io_dmi_req_bits_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@105477.4]
+  input  [31:0] io_dmi_req_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@105477.4]
+  input  [1:0]  io_dmi_req_bits_op, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@105477.4]
+  input         io_dmi_resp_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@105477.4]
+  output        io_dmi_resp_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@105477.4]
+  output [31:0] io_dmi_resp_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@105477.4]
+  output [1:0]  io_dmi_resp_bits_resp // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@105477.4]
+);
+  wire [8:0] _GEN_16; // @[DMI.scala 92:50:shc.marmotcaravel.MarmotCaravelConfig.fir@105489.4]
+  wire [8:0] addr; // @[DMI.scala 92:50:shc.marmotcaravel.MarmotCaravelConfig.fir@105489.4]
+  wire  _T_234; // @[DMI.scala 106:30:shc.marmotcaravel.MarmotCaravelConfig.fir@105622.4]
+  wire  _T_235; // @[DMI.scala 107:37:shc.marmotcaravel.MarmotCaravelConfig.fir@105627.6]
+  wire [2:0] _GEN_0; // @[DMI.scala 107:64:shc.marmotcaravel.MarmotCaravelConfig.fir@105628.6]
+  wire [8:0] _GEN_4; // @[DMI.scala 107:64:shc.marmotcaravel.MarmotCaravelConfig.fir@105628.6]
+  wire [3:0] _GEN_5; // @[DMI.scala 107:64:shc.marmotcaravel.MarmotCaravelConfig.fir@105628.6]
+  wire  _T_236; // @[DMI.scala 116:53:shc.marmotcaravel.MarmotCaravelConfig.fir@105638.4]
+  assign _GEN_16 = {{2'd0}, io_dmi_req_bits_addr}; // @[DMI.scala 92:50:shc.marmotcaravel.MarmotCaravelConfig.fir@105489.4]
+  assign addr = _GEN_16 << 2; // @[DMI.scala 92:50:shc.marmotcaravel.MarmotCaravelConfig.fir@105489.4]
+  assign _T_234 = io_dmi_req_bits_op == 2'h2; // @[DMI.scala 106:30:shc.marmotcaravel.MarmotCaravelConfig.fir@105622.4]
+  assign _T_235 = io_dmi_req_bits_op == 2'h1; // @[DMI.scala 107:37:shc.marmotcaravel.MarmotCaravelConfig.fir@105627.6]
+  assign _GEN_0 = _T_235 ? 3'h4 : 3'h1; // @[DMI.scala 107:64:shc.marmotcaravel.MarmotCaravelConfig.fir@105628.6]
+  assign _GEN_4 = _T_235 ? addr : 9'h40; // @[DMI.scala 107:64:shc.marmotcaravel.MarmotCaravelConfig.fir@105628.6]
+  assign _GEN_5 = _T_235 ? 4'hf : 4'h0; // @[DMI.scala 107:64:shc.marmotcaravel.MarmotCaravelConfig.fir@105628.6]
+  assign _T_236 = auto_out_d_bits_corrupt | auto_out_d_bits_denied; // @[DMI.scala 116:53:shc.marmotcaravel.MarmotCaravelConfig.fir@105638.4]
+  assign auto_out_a_valid = io_dmi_req_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@105485.4]
+  assign auto_out_a_bits_opcode = _T_234 ? 3'h0 : _GEN_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@105485.4]
+  assign auto_out_a_bits_address = _T_234 ? addr : _GEN_4; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@105485.4]
+  assign auto_out_a_bits_mask = _T_234 ? 4'hf : _GEN_5; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@105485.4]
+  assign auto_out_a_bits_data = _T_234 ? io_dmi_req_bits_data : 32'h0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@105485.4]
+  assign auto_out_d_ready = io_dmi_resp_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@105485.4]
+  assign io_dmi_req_ready = auto_out_a_ready; // @[DMI.scala 112:22:shc.marmotcaravel.MarmotCaravelConfig.fir@105635.4]
+  assign io_dmi_resp_valid = auto_out_d_valid; // @[DMI.scala 114:28:shc.marmotcaravel.MarmotCaravelConfig.fir@105636.4]
+  assign io_dmi_resp_bits_data = auto_out_d_bits_data; // @[DMI.scala 117:28:shc.marmotcaravel.MarmotCaravelConfig.fir@105641.4]
+  assign io_dmi_resp_bits_resp = {{1'd0}, _T_236}; // @[DMI.scala 116:28:shc.marmotcaravel.MarmotCaravelConfig.fir@105640.4]
+endmodule
+module TLMonitor_48( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@105653.2]
+  input        clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@105654.4]
+  input        reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@105655.4]
+  input        io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@105656.4]
+  input        io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@105656.4]
+  input  [2:0] io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@105656.4]
+  input  [8:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@105656.4]
+  input  [3:0] io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@105656.4]
+  input        io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@105656.4]
+  input        io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@105656.4]
+  input  [2:0] io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@105656.4]
+  input  [1:0] io_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@105656.4]
+  input  [1:0] io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@105656.4]
+  input        io_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@105656.4]
+  input        io_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@105656.4]
+  input        io_in_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@105656.4]
+);
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@106762.4]
+  wire [4:0] _T_29; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@105676.6]
+  wire [1:0] _T_30; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@105677.6]
+  wire [1:0] _T_31; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@105678.6]
+  wire [8:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@105679.6]
+  wire [8:0] _T_32; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@105679.6]
+  wire  _T_33; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@105680.6]
+  wire [1:0] _T_36; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@105683.6]
+  wire [9:0] _T_70; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@105717.6]
+  wire  _T_78; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@105729.6]
+  wire [9:0] _T_82; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@105734.8]
+  wire [9:0] _T_83; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@105735.8]
+  wire  _T_84; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@105736.8]
+  wire  _T_89; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105741.8]
+  wire  _T_101; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105769.8]
+  wire  _T_102; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105770.8]
+  wire [3:0] _T_107; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@105783.8]
+  wire  _T_108; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@105784.8]
+  wire  _T_110; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105786.8]
+  wire  _T_111; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105787.8]
+  wire  _T_116; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@105801.6]
+  wire  _T_158; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@105881.6]
+  wire  _T_171; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105895.8]
+  wire  _T_172; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105896.8]
+  wire  _T_183; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@105923.8]
+  wire  _T_185; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105925.8]
+  wire  _T_186; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105926.8]
+  wire  _T_191; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@105940.6]
+  wire  _T_220; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@105991.6]
+  wire  _T_251; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@106044.6]
+  wire  _T_277; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@106092.6]
+  wire  _T_303; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@106140.6]
+  wire  _T_329; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@106190.6]
+  wire  _T_331; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@106192.6]
+  wire  _T_332; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@106193.6]
+  wire  _T_342; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@106203.6]
+  wire  _T_346; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@106212.8]
+  wire  _T_348; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106214.8]
+  wire  _T_349; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106215.8]
+  wire  _T_350; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@106220.8]
+  wire  _T_352; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106222.8]
+  wire  _T_353; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106223.8]
+  wire  _T_354; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@106228.8]
+  wire  _T_356; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106230.8]
+  wire  _T_357; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106231.8]
+  wire  _T_358; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@106236.8]
+  wire  _T_360; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106238.8]
+  wire  _T_361; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106239.8]
+  wire  _T_362; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@106245.6]
+  wire  _T_373; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@106269.8]
+  wire  _T_375; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106271.8]
+  wire  _T_376; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106272.8]
+  wire  _T_377; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@106277.8]
+  wire  _T_379; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106279.8]
+  wire  _T_380; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106280.8]
+  wire  _T_390; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@106303.6]
+  wire  _T_410; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@106344.8]
+  wire  _T_412; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106346.8]
+  wire  _T_413; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106347.8]
+  wire  _T_419; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@106362.6]
+  wire  _T_436; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@106397.6]
+  wire  _T_454; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@106433.6]
+  wire  _T_483; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@106493.4]
+  reg  _T_493; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@106502.4]
+  reg [31:0] _RAND_0;
+  wire [1:0] _T_494; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@106503.4]
+  wire [1:0] _T_495; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@106504.4]
+  wire  _T_496; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@106505.4]
+  wire  _T_497; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@106506.4]
+  reg [2:0] _T_506; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@106517.4]
+  reg [31:0] _RAND_1;
+  reg [8:0] _T_514; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@106521.4]
+  reg [31:0] _RAND_2;
+  wire  _T_515; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@106522.4]
+  wire  _T_516; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@106523.4]
+  wire  _T_517; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@106525.6]
+  wire  _T_519; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106527.6]
+  wire  _T_520; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106528.6]
+  wire  _T_533; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@106557.6]
+  wire  _T_535; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106559.6]
+  wire  _T_536; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106560.6]
+  wire  _T_538; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@106567.4]
+  wire  _T_539; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@106575.4]
+  reg  _T_548; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@106583.4]
+  reg [31:0] _RAND_3;
+  wire [1:0] _T_549; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@106584.4]
+  wire [1:0] _T_550; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@106585.4]
+  wire  _T_551; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@106586.4]
+  wire  _T_552; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@106587.4]
+  reg [2:0] _T_561; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@106598.4]
+  reg [31:0] _RAND_4;
+  reg [1:0] _T_563; // @[Monitor.scala 419:22:shc.marmotcaravel.MarmotCaravelConfig.fir@106599.4]
+  reg [31:0] _RAND_5;
+  reg [1:0] _T_565; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@106600.4]
+  reg [31:0] _RAND_6;
+  reg  _T_569; // @[Monitor.scala 422:22:shc.marmotcaravel.MarmotCaravelConfig.fir@106602.4]
+  reg [31:0] _RAND_7;
+  reg  _T_571; // @[Monitor.scala 423:22:shc.marmotcaravel.MarmotCaravelConfig.fir@106603.4]
+  reg [31:0] _RAND_8;
+  wire  _T_572; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@106604.4]
+  wire  _T_573; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@106605.4]
+  wire  _T_574; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@106607.6]
+  wire  _T_576; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106609.6]
+  wire  _T_577; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106610.6]
+  wire  _T_578; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@106615.6]
+  wire  _T_580; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106617.6]
+  wire  _T_581; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106618.6]
+  wire  _T_582; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@106623.6]
+  wire  _T_584; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106625.6]
+  wire  _T_585; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106626.6]
+  wire  _T_590; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@106639.6]
+  wire  _T_592; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106641.6]
+  wire  _T_593; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106642.6]
+  wire  _T_594; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@106647.6]
+  wire  _T_596; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106649.6]
+  wire  _T_597; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106650.6]
+  wire  _T_599; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@106657.4]
+  reg  _T_601; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@106666.4]
+  reg [31:0] _RAND_9;
+  reg  _T_612; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@106676.4]
+  reg [31:0] _RAND_10;
+  wire [1:0] _T_613; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@106677.4]
+  wire [1:0] _T_614; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@106678.4]
+  wire  _T_615; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@106679.4]
+  wire  _T_616; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@106680.4]
+  reg  _T_633; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@106699.4]
+  reg [31:0] _RAND_11;
+  wire [1:0] _T_634; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@106700.4]
+  wire [1:0] _T_635; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@106701.4]
+  wire  _T_636; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@106702.4]
+  wire  _T_637; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@106703.4]
+  wire  _T_648; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@106718.4]
+  wire  _T_651; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@106723.6]
+  wire  _T_653; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106725.6]
+  wire  _T_655; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@106727.6]
+  wire  _T_656; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@106728.6]
+  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@106720.4]
+  wire  _T_661; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@106739.4]
+  wire  _T_663; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@106741.4]
+  wire  _T_664; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@106742.4]
+  wire  _T_646; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@106714.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@106716.4 Monitor.scala 459:13:shc.marmotcaravel.MarmotCaravelConfig.fir@106722.6]
+  wire  _T_666; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@106746.6]
+  wire  _T_667; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@106747.6]
+  wire  _T_670; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@106750.6]
+  wire  _T_671; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@106751.6]
+  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@106743.4]
+  wire  _T_672; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@106757.4]
+  wire  _T_658; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@106734.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@106736.4 Monitor.scala 466:13:shc.marmotcaravel.MarmotCaravelConfig.fir@106745.6]
+  wire  _T_673; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@106758.4]
+  wire  _T_674; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@106759.4]
+  reg [31:0] _T_676; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@106761.4]
+  reg [31:0] _RAND_12;
+  wire  _T_678; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@106765.4]
+  wire  _T_679; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@106766.4]
+  wire  _T_680; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@106767.4]
+  wire  _T_681; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@106768.4]
+  wire  _T_682; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@106769.4]
+  wire  _T_684; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@106771.4]
+  wire  _T_685; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@106772.4]
+  wire [31:0] _T_687; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@106778.4]
+  wire  _T_690; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@106782.4]
+  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105743.10]
+  wire  _GEN_27; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105815.10]
+  wire  _GEN_37; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105898.10]
+  wire  _GEN_43; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105957.10]
+  wire  _GEN_49; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106008.10]
+  wire  _GEN_53; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106058.10]
+  wire  _GEN_59; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106106.10]
+  wire  _GEN_65; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106154.10]
+  wire  _GEN_71; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106217.10]
+  wire  _GEN_79; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106258.10]
+  wire  _GEN_91; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106316.10]
+  wire  _GEN_103; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106376.10]
+  wire  _GEN_109; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106411.10]
+  wire  _GEN_115; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106447.10]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@106762.4]
+    .out(plusarg_reader_out)
+  );
+  assign _T_29 = 5'h3 << 2'h2; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@105676.6]
+  assign _T_30 = _T_29[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@105677.6]
+  assign _T_31 = ~ _T_30; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@105678.6]
+  assign _GEN_18 = {{7'd0}, _T_31}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@105679.6]
+  assign _T_32 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@105679.6]
+  assign _T_33 = _T_32 == 9'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@105680.6]
+  assign _T_36 = 2'h1 << 1'h0; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@105683.6]
+  assign _T_70 = {1'b0,$signed(io_in_a_bits_address)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@105717.6]
+  assign _T_78 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@105729.6]
+  assign _T_82 = $signed(_T_70) & $signed(-10'sh200); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@105734.8]
+  assign _T_83 = $signed(_T_82); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@105735.8]
+  assign _T_84 = $signed(_T_83) == $signed(10'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@105736.8]
+  assign _T_89 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105741.8]
+  assign _T_101 = _T_33 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105769.8]
+  assign _T_102 = _T_101 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105770.8]
+  assign _T_107 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@105783.8]
+  assign _T_108 = _T_107 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@105784.8]
+  assign _T_110 = _T_108 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105786.8]
+  assign _T_111 = _T_110 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105787.8]
+  assign _T_116 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@105801.6]
+  assign _T_158 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@105881.6]
+  assign _T_171 = _T_84 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105895.8]
+  assign _T_172 = _T_171 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105896.8]
+  assign _T_183 = io_in_a_bits_mask == 4'hf; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@105923.8]
+  assign _T_185 = _T_183 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105925.8]
+  assign _T_186 = _T_185 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105926.8]
+  assign _T_191 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@105940.6]
+  assign _T_220 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@105991.6]
+  assign _T_251 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@106044.6]
+  assign _T_277 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@106092.6]
+  assign _T_303 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@106140.6]
+  assign _T_329 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@106190.6]
+  assign _T_331 = _T_329 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@106192.6]
+  assign _T_332 = _T_331 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@106193.6]
+  assign _T_342 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@106203.6]
+  assign _T_346 = io_in_d_bits_size >= 2'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@106212.8]
+  assign _T_348 = _T_346 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106214.8]
+  assign _T_349 = _T_348 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106215.8]
+  assign _T_350 = io_in_d_bits_param == 2'h0; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@106220.8]
+  assign _T_352 = _T_350 | reset; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106222.8]
+  assign _T_353 = _T_352 == 1'h0; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106223.8]
+  assign _T_354 = io_in_d_bits_corrupt == 1'h0; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@106228.8]
+  assign _T_356 = _T_354 | reset; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106230.8]
+  assign _T_357 = _T_356 == 1'h0; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106231.8]
+  assign _T_358 = io_in_d_bits_denied == 1'h0; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@106236.8]
+  assign _T_360 = _T_358 | reset; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106238.8]
+  assign _T_361 = _T_360 == 1'h0; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106239.8]
+  assign _T_362 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@106245.6]
+  assign _T_373 = io_in_d_bits_param <= 2'h2; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@106269.8]
+  assign _T_375 = _T_373 | reset; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106271.8]
+  assign _T_376 = _T_375 == 1'h0; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106272.8]
+  assign _T_377 = io_in_d_bits_param != 2'h2; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@106277.8]
+  assign _T_379 = _T_377 | reset; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106279.8]
+  assign _T_380 = _T_379 == 1'h0; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106280.8]
+  assign _T_390 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@106303.6]
+  assign _T_410 = _T_358 | io_in_d_bits_corrupt; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@106344.8]
+  assign _T_412 = _T_410 | reset; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106346.8]
+  assign _T_413 = _T_412 == 1'h0; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106347.8]
+  assign _T_419 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@106362.6]
+  assign _T_436 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@106397.6]
+  assign _T_454 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@106433.6]
+  assign _T_483 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@106493.4]
+  assign _T_494 = _T_493 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@106503.4]
+  assign _T_495 = $unsigned(_T_494); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@106504.4]
+  assign _T_496 = _T_495[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@106505.4]
+  assign _T_497 = _T_493 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@106506.4]
+  assign _T_515 = _T_497 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@106522.4]
+  assign _T_516 = io_in_a_valid & _T_515; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@106523.4]
+  assign _T_517 = io_in_a_bits_opcode == _T_506; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@106525.6]
+  assign _T_519 = _T_517 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106527.6]
+  assign _T_520 = _T_519 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106528.6]
+  assign _T_533 = io_in_a_bits_address == _T_514; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@106557.6]
+  assign _T_535 = _T_533 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106559.6]
+  assign _T_536 = _T_535 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106560.6]
+  assign _T_538 = _T_483 & _T_497; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@106567.4]
+  assign _T_539 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@106575.4]
+  assign _T_549 = _T_548 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@106584.4]
+  assign _T_550 = $unsigned(_T_549); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@106585.4]
+  assign _T_551 = _T_550[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@106586.4]
+  assign _T_552 = _T_548 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@106587.4]
+  assign _T_572 = _T_552 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@106604.4]
+  assign _T_573 = io_in_d_valid & _T_572; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@106605.4]
+  assign _T_574 = io_in_d_bits_opcode == _T_561; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@106607.6]
+  assign _T_576 = _T_574 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106609.6]
+  assign _T_577 = _T_576 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106610.6]
+  assign _T_578 = io_in_d_bits_param == _T_563; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@106615.6]
+  assign _T_580 = _T_578 | reset; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106617.6]
+  assign _T_581 = _T_580 == 1'h0; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106618.6]
+  assign _T_582 = io_in_d_bits_size == _T_565; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@106623.6]
+  assign _T_584 = _T_582 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106625.6]
+  assign _T_585 = _T_584 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106626.6]
+  assign _T_590 = io_in_d_bits_sink == _T_569; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@106639.6]
+  assign _T_592 = _T_590 | reset; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106641.6]
+  assign _T_593 = _T_592 == 1'h0; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106642.6]
+  assign _T_594 = io_in_d_bits_denied == _T_571; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@106647.6]
+  assign _T_596 = _T_594 | reset; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106649.6]
+  assign _T_597 = _T_596 == 1'h0; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106650.6]
+  assign _T_599 = _T_539 & _T_552; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@106657.4]
+  assign _T_613 = _T_612 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@106677.4]
+  assign _T_614 = $unsigned(_T_613); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@106678.4]
+  assign _T_615 = _T_614[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@106679.4]
+  assign _T_616 = _T_612 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@106680.4]
+  assign _T_634 = _T_633 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@106700.4]
+  assign _T_635 = $unsigned(_T_634); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@106701.4]
+  assign _T_636 = _T_635[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@106702.4]
+  assign _T_637 = _T_633 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@106703.4]
+  assign _T_648 = _T_483 & _T_616; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@106718.4]
+  assign _T_651 = _T_601 >> 1'h0; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@106723.6]
+  assign _T_653 = _T_651 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106725.6]
+  assign _T_655 = _T_653 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@106727.6]
+  assign _T_656 = _T_655 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@106728.6]
+  assign _GEN_15 = _T_648 ? _T_36 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@106720.4]
+  assign _T_661 = _T_539 & _T_637; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@106739.4]
+  assign _T_663 = _T_342 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@106741.4]
+  assign _T_664 = _T_661 & _T_663; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@106742.4]
+  assign _T_646 = _GEN_15[0]; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@106714.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@106716.4 Monitor.scala 459:13:shc.marmotcaravel.MarmotCaravelConfig.fir@106722.6]
+  assign _T_666 = _T_646 | _T_601; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@106746.6]
+  assign _T_667 = _T_666 >> 1'h0; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@106747.6]
+  assign _T_670 = _T_667 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@106750.6]
+  assign _T_671 = _T_670 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@106751.6]
+  assign _GEN_16 = _T_664 ? _T_36 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@106743.4]
+  assign _T_672 = _T_601 | _T_646; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@106757.4]
+  assign _T_658 = _GEN_16[0]; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@106734.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@106736.4 Monitor.scala 466:13:shc.marmotcaravel.MarmotCaravelConfig.fir@106745.6]
+  assign _T_673 = ~ _T_658; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@106758.4]
+  assign _T_674 = _T_672 & _T_673; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@106759.4]
+  assign _T_678 = _T_601 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@106765.4]
+  assign _T_679 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@106766.4]
+  assign _T_680 = _T_678 | _T_679; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@106767.4]
+  assign _T_681 = _T_676 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@106768.4]
+  assign _T_682 = _T_680 | _T_681; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@106769.4]
+  assign _T_684 = _T_682 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@106771.4]
+  assign _T_685 = _T_684 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@106772.4]
+  assign _T_687 = _T_676 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@106778.4]
+  assign _T_690 = _T_483 | _T_539; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@106782.4]
+  assign _GEN_19 = io_in_a_valid & _T_78; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105743.10]
+  assign _GEN_27 = io_in_a_valid & _T_116; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105815.10]
+  assign _GEN_37 = io_in_a_valid & _T_158; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105898.10]
+  assign _GEN_43 = io_in_a_valid & _T_191; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105957.10]
+  assign _GEN_49 = io_in_a_valid & _T_220; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106008.10]
+  assign _GEN_53 = io_in_a_valid & _T_251; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106058.10]
+  assign _GEN_59 = io_in_a_valid & _T_277; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106106.10]
+  assign _GEN_65 = io_in_a_valid & _T_303; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106154.10]
+  assign _GEN_71 = io_in_d_valid & _T_342; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106217.10]
+  assign _GEN_79 = io_in_d_valid & _T_362; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106258.10]
+  assign _GEN_91 = io_in_d_valid & _T_390; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106316.10]
+  assign _GEN_103 = io_in_d_valid & _T_419; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106376.10]
+  assign _GEN_109 = io_in_d_valid & _T_436; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106411.10]
+  assign _GEN_115 = io_in_d_valid & _T_454; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106447.10]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  _T_493 = _RAND_0[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  _T_506 = _RAND_1[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  _T_514 = _RAND_2[8:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  _T_548 = _RAND_3[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  _T_561 = _RAND_4[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  _T_563 = _RAND_5[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {1{`RANDOM}};
+  _T_565 = _RAND_6[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {1{`RANDOM}};
+  _T_569 = _RAND_7[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_8 = {1{`RANDOM}};
+  _T_571 = _RAND_8[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_9 = {1{`RANDOM}};
+  _T_601 = _RAND_9[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_10 = {1{`RANDOM}};
+  _T_612 = _RAND_10[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_11 = {1{`RANDOM}};
+  _T_633 = _RAND_11[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_12 = {1{`RANDOM}};
+  _T_676 = _RAND_12[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      _T_493 <= 1'h0;
+    end else begin
+      if (_T_483) begin
+        if (_T_497) begin
+          _T_493 <= 1'h0;
+        end else begin
+          _T_493 <= _T_496;
+        end
+      end
+    end
+    if (_T_538) begin
+      _T_506 <= io_in_a_bits_opcode;
+    end
+    if (_T_538) begin
+      _T_514 <= io_in_a_bits_address;
+    end
+    if (reset) begin
+      _T_548 <= 1'h0;
+    end else begin
+      if (_T_539) begin
+        if (_T_552) begin
+          _T_548 <= 1'h0;
+        end else begin
+          _T_548 <= _T_551;
+        end
+      end
+    end
+    if (_T_599) begin
+      _T_561 <= io_in_d_bits_opcode;
+    end
+    if (_T_599) begin
+      _T_563 <= io_in_d_bits_param;
+    end
+    if (_T_599) begin
+      _T_565 <= io_in_d_bits_size;
+    end
+    if (_T_599) begin
+      _T_569 <= io_in_d_bits_sink;
+    end
+    if (_T_599) begin
+      _T_571 <= io_in_d_bits_denied;
+    end
+    if (reset) begin
+      _T_601 <= 1'h0;
+    end else begin
+      _T_601 <= _T_674;
+    end
+    if (reset) begin
+      _T_612 <= 1'h0;
+    end else begin
+      if (_T_483) begin
+        if (_T_616) begin
+          _T_612 <= 1'h0;
+        end else begin
+          _T_612 <= _T_615;
+        end
+      end
+    end
+    if (reset) begin
+      _T_633 <= 1'h0;
+    end else begin
+      if (_T_539) begin
+        if (_T_637) begin
+          _T_633 <= 1'h0;
+        end else begin
+          _T_633 <= _T_636;
+        end
+      end
+    end
+    if (reset) begin
+      _T_676 <= 32'h0;
+    end else begin
+      if (_T_690) begin
+        _T_676 <= 32'h0;
+      end else begin
+        _T_676 <= _T_687;
+      end
+    end
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at Debug.scala:352:16)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@105668.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@105669.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@105726.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@105727.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_89) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at Debug.scala:352:16)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105743.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_89) begin
+          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105744.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_89) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at Debug.scala:352:16)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105750.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_89) begin
+          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105751.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at Debug.scala:352:16)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105757.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105758.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at Debug.scala:352:16)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105765.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105766.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_102) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at Debug.scala:352:16)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105772.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_102) begin
+          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105773.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at Debug.scala:352:16)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105780.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105781.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_111) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at Debug.scala:352:16)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105789.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_111) begin
+          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105790.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at Debug.scala:352:16)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105797.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105798.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_27 & _T_89) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at Debug.scala:352:16)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105815.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_27 & _T_89) begin
+          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105816.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_27 & _T_89) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at Debug.scala:352:16)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105822.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_27 & _T_89) begin
+          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105823.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at Debug.scala:352:16)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105829.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105830.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at Debug.scala:352:16)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105837.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105838.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_27 & _T_102) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at Debug.scala:352:16)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105844.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_27 & _T_102) begin
+          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105845.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at Debug.scala:352:16)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105852.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105853.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_27 & _T_89) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at Debug.scala:352:16)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105860.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_27 & _T_89) begin
+          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105861.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_27 & _T_111) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at Debug.scala:352:16)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105869.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_27 & _T_111) begin
+          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105870.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at Debug.scala:352:16)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105877.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105878.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_37 & _T_172) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at Debug.scala:352:16)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105898.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_37 & _T_172) begin
+          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105899.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at Debug.scala:352:16)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105905.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105906.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_37 & _T_102) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at Debug.scala:352:16)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105912.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_37 & _T_102) begin
+          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105913.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at Debug.scala:352:16)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105920.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105921.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_37 & _T_186) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at Debug.scala:352:16)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105928.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_37 & _T_186) begin
+          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105929.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at Debug.scala:352:16)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105936.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105937.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_43 & _T_172) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at Debug.scala:352:16)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105957.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_43 & _T_172) begin
+          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105958.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at Debug.scala:352:16)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105964.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105965.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_43 & _T_102) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at Debug.scala:352:16)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105971.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_43 & _T_102) begin
+          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105972.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at Debug.scala:352:16)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105979.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105980.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_43 & _T_186) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at Debug.scala:352:16)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105987.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_43 & _T_186) begin
+          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105988.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_172) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at Debug.scala:352:16)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106008.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_172) begin
+          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106009.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at Debug.scala:352:16)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106015.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106016.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_102) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at Debug.scala:352:16)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106022.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_102) begin
+          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106023.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at Debug.scala:352:16)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106030.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106031.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at Debug.scala:352:16)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106040.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106041.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_89) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at Debug.scala:352:16)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106058.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_89) begin
+          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106059.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at Debug.scala:352:16)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106065.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106066.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_102) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at Debug.scala:352:16)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106072.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_102) begin
+          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106073.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at Debug.scala:352:16)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106080.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106081.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_186) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at Debug.scala:352:16)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106088.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_186) begin
+          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106089.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_59 & _T_89) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at Debug.scala:352:16)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106106.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_59 & _T_89) begin
+          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106107.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at Debug.scala:352:16)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106113.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106114.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_59 & _T_102) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at Debug.scala:352:16)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106120.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_59 & _T_102) begin
+          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106121.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at Debug.scala:352:16)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106128.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106129.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_59 & _T_186) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at Debug.scala:352:16)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106136.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_59 & _T_186) begin
+          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106137.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_89) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at Debug.scala:352:16)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106154.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_89) begin
+          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106155.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at Debug.scala:352:16)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106161.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106162.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_102) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at Debug.scala:352:16)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106168.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_102) begin
+          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106169.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_186) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at Debug.scala:352:16)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106176.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_186) begin
+          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106177.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at Debug.scala:352:16)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106184.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106185.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_332) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at Debug.scala:352:16)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@106195.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_332) begin
+          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@106196.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at Debug.scala:352:16)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106209.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106210.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_71 & _T_349) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at Debug.scala:352:16)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106217.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_71 & _T_349) begin
+          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106218.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_71 & _T_353) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at Debug.scala:352:16)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106225.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_71 & _T_353) begin
+          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106226.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_71 & _T_357) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at Debug.scala:352:16)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106233.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_71 & _T_357) begin
+          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106234.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_71 & _T_361) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at Debug.scala:352:16)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106241.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_71 & _T_361) begin
+          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106242.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at Debug.scala:352:16)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106251.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106252.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_79 & _T_89) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at Debug.scala:352:16)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106258.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_79 & _T_89) begin
+          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106259.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_79 & _T_349) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at Debug.scala:352:16)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106266.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_79 & _T_349) begin
+          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106267.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_79 & _T_376) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at Debug.scala:352:16)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106274.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_79 & _T_376) begin
+          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106275.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_79 & _T_380) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at Debug.scala:352:16)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106282.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_79 & _T_380) begin
+          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106283.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_79 & _T_357) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at Debug.scala:352:16)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106290.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_79 & _T_357) begin
+          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106291.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_79 & _T_361) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at Debug.scala:352:16)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106299.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_79 & _T_361) begin
+          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106300.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at Debug.scala:352:16)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106309.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106310.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_91 & _T_89) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at Debug.scala:352:16)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106316.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_91 & _T_89) begin
+          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106317.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_91 & _T_349) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at Debug.scala:352:16)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106324.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_91 & _T_349) begin
+          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106325.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_91 & _T_376) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at Debug.scala:352:16)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106332.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_91 & _T_376) begin
+          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106333.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_91 & _T_380) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at Debug.scala:352:16)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106340.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_91 & _T_380) begin
+          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106341.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_91 & _T_413) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at Debug.scala:352:16)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106349.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_91 & _T_413) begin
+          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106350.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_91 & _T_361) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at Debug.scala:352:16)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106358.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_91 & _T_361) begin
+          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106359.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at Debug.scala:352:16)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106368.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106369.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_103 & _T_353) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at Debug.scala:352:16)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106376.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_103 & _T_353) begin
+          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106377.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_103 & _T_357) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at Debug.scala:352:16)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106384.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_103 & _T_357) begin
+          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106385.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_103 & _T_361) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at Debug.scala:352:16)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106393.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_103 & _T_361) begin
+          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106394.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at Debug.scala:352:16)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106403.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106404.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_109 & _T_353) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at Debug.scala:352:16)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106411.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_109 & _T_353) begin
+          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106412.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_109 & _T_413) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at Debug.scala:352:16)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106420.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_109 & _T_413) begin
+          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106421.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_109 & _T_361) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at Debug.scala:352:16)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106429.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_109 & _T_361) begin
+          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106430.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at Debug.scala:352:16)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106439.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106440.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_353) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at Debug.scala:352:16)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106447.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_353) begin
+          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106448.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_357) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at Debug.scala:352:16)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106455.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_357) begin
+          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106456.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_361) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at Debug.scala:352:16)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106464.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_361) begin
+          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106465.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at Debug.scala:352:16)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106474.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106475.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at Debug.scala:352:16)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106482.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106483.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at Debug.scala:352:16)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106490.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106491.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_516 & _T_520) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at Debug.scala:352:16)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106530.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_516 & _T_520) begin
+          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106531.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at Debug.scala:352:16)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106538.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106539.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at Debug.scala:352:16)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106546.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106547.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at Debug.scala:352:16)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106554.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106555.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_516 & _T_536) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at Debug.scala:352:16)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106562.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_516 & _T_536) begin
+          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106563.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_573 & _T_577) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at Debug.scala:352:16)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106612.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_573 & _T_577) begin
+          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106613.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_573 & _T_581) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at Debug.scala:352:16)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106620.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_573 & _T_581) begin
+          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106621.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_573 & _T_585) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at Debug.scala:352:16)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106628.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_573 & _T_585) begin
+          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106629.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at Debug.scala:352:16)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106636.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106637.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_573 & _T_593) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at Debug.scala:352:16)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106644.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_573 & _T_593) begin
+          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106645.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_573 & _T_597) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at Debug.scala:352:16)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106652.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_573 & _T_597) begin
+          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106653.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_648 & _T_656) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at Debug.scala:352:16)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@106730.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_648 & _T_656) begin
+          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@106731.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_664 & _T_671) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at Debug.scala:352:16)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@106753.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_664 & _T_671) begin
+          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@106754.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_685) begin
+          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at Debug.scala:352:16)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@106774.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_685) begin
+          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@106775.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+endmodule
+module TLXbar_7( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@106787.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@106788.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@106789.4]
+  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@106790.4]
+  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@106790.4]
+  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@106790.4]
+  input  [8:0]  auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@106790.4]
+  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@106790.4]
+  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@106790.4]
+  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@106790.4]
+  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@106790.4]
+  output        auto_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@106790.4]
+  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@106790.4]
+  output        auto_in_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@106790.4]
+  input         auto_out_1_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@106790.4]
+  output        auto_out_1_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@106790.4]
+  output [2:0]  auto_out_1_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@106790.4]
+  output [6:0]  auto_out_1_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@106790.4]
+  output [3:0]  auto_out_1_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@106790.4]
+  output [31:0] auto_out_1_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@106790.4]
+  output        auto_out_1_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@106790.4]
+  input         auto_out_1_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@106790.4]
+  input  [2:0]  auto_out_1_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@106790.4]
+  input  [31:0] auto_out_1_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@106790.4]
+  input         auto_out_0_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@106790.4]
+  output        auto_out_0_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@106790.4]
+  output [2:0]  auto_out_0_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@106790.4]
+  output [8:0]  auto_out_0_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@106790.4]
+  output [3:0]  auto_out_0_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@106790.4]
+  output [31:0] auto_out_0_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@106790.4]
+  output        auto_out_0_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@106790.4]
+  input         auto_out_0_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@106790.4]
+  input  [2:0]  auto_out_0_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@106790.4]
+  input  [1:0]  auto_out_0_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@106790.4]
+  input  [1:0]  auto_out_0_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@106790.4]
+  input         auto_out_0_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@106790.4]
+  input         auto_out_0_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@106790.4]
+  input         auto_out_0_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@106790.4]
+  input  [31:0] auto_out_0_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@106790.4]
+  input         auto_out_0_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@106790.4]
+);
+  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@106797.4]
+  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@106797.4]
+  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@106797.4]
+  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@106797.4]
+  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@106797.4]
+  wire [8:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@106797.4]
+  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@106797.4]
+  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@106797.4]
+  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@106797.4]
+  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@106797.4]
+  wire [1:0] TLMonitor_io_in_d_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@106797.4]
+  wire [1:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@106797.4]
+  wire  TLMonitor_io_in_d_bits_sink; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@106797.4]
+  wire  TLMonitor_io_in_d_bits_denied; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@106797.4]
+  wire  TLMonitor_io_in_d_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@106797.4]
+  wire [9:0] _T_700; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@106877.4]
+  wire [9:0] _T_701; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@106878.4]
+  wire [9:0] _T_702; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@106879.4]
+  wire  _T_703; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@106880.4]
+  wire [8:0] _T_704; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@106881.4]
+  wire [9:0] _T_705; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@106882.4]
+  wire [9:0] _T_706; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@106883.4]
+  wire [9:0] _T_707; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@106884.4]
+  wire  _T_708; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@106885.4]
+  wire [8:0] _T_709; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@106886.4]
+  wire [9:0] _T_710; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@106887.4]
+  wire [9:0] _T_711; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@106888.4]
+  wire [9:0] _T_712; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@106889.4]
+  wire  _T_713; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@106890.4]
+  wire [8:0] _T_714; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@106891.4]
+  wire [9:0] _T_715; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@106892.4]
+  wire [9:0] _T_716; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@106893.4]
+  wire [9:0] _T_717; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@106894.4]
+  wire  _T_718; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@106895.4]
+  wire [8:0] _T_719; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@106896.4]
+  wire [9:0] _T_720; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@106897.4]
+  wire [9:0] _T_721; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@106898.4]
+  wire [9:0] _T_722; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@106899.4]
+  wire  _T_723; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@106900.4]
+  wire [8:0] _T_724; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@106901.4]
+  wire [9:0] _T_725; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@106902.4]
+  wire [9:0] _T_726; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@106903.4]
+  wire [9:0] _T_727; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@106904.4]
+  wire  _T_728; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@106905.4]
+  wire [8:0] _T_729; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@106906.4]
+  wire [9:0] _T_730; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@106907.4]
+  wire [9:0] _T_731; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@106908.4]
+  wire [9:0] _T_732; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@106909.4]
+  wire  _T_733; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@106910.4]
+  wire  _T_734; // @[Xbar.scala 217:92:shc.marmotcaravel.MarmotCaravelConfig.fir@106911.4]
+  wire  _T_735; // @[Xbar.scala 217:92:shc.marmotcaravel.MarmotCaravelConfig.fir@106912.4]
+  wire  _T_736; // @[Xbar.scala 217:92:shc.marmotcaravel.MarmotCaravelConfig.fir@106913.4]
+  wire  _T_737; // @[Xbar.scala 217:92:shc.marmotcaravel.MarmotCaravelConfig.fir@106914.4]
+  wire  _T_738; // @[Xbar.scala 217:92:shc.marmotcaravel.MarmotCaravelConfig.fir@106915.4]
+  wire  requestAIO_0_0; // @[Xbar.scala 217:92:shc.marmotcaravel.MarmotCaravelConfig.fir@106916.4]
+  wire [8:0] _T_740; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@106918.4]
+  wire [9:0] _T_741; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@106919.4]
+  wire [9:0] _T_742; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@106920.4]
+  wire [9:0] _T_743; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@106921.4]
+  wire  requestAIO_0_1; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@106922.4]
+  wire  _T_824; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@106995.4]
+  wire  _T_825; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@106996.4]
+  reg  _T_980; // @[Arbiter.scala 53:30:shc.marmotcaravel.MarmotCaravelConfig.fir@107068.4]
+  reg [31:0] _RAND_0;
+  wire  _T_981; // @[Arbiter.scala 54:28:shc.marmotcaravel.MarmotCaravelConfig.fir@107069.4]
+  wire  _T_982; // @[Arbiter.scala 55:24:shc.marmotcaravel.MarmotCaravelConfig.fir@107070.4]
+  wire [1:0] _T_983; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@107071.4]
+  wire  _T_985; // @[Arbiter.scala 19:19:shc.marmotcaravel.MarmotCaravelConfig.fir@107073.4]
+  wire  _T_987; // @[Arbiter.scala 19:12:shc.marmotcaravel.MarmotCaravelConfig.fir@107075.4]
+  wire  _T_988; // @[Arbiter.scala 19:12:shc.marmotcaravel.MarmotCaravelConfig.fir@107076.4]
+  reg [1:0] _T_991; // @[Arbiter.scala 20:23:shc.marmotcaravel.MarmotCaravelConfig.fir@107082.4]
+  reg [31:0] _RAND_1;
+  wire [1:0] _T_992; // @[Arbiter.scala 21:30:shc.marmotcaravel.MarmotCaravelConfig.fir@107083.4]
+  wire [1:0] _T_993; // @[Arbiter.scala 21:28:shc.marmotcaravel.MarmotCaravelConfig.fir@107084.4]
+  wire [3:0] _T_994; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@107085.4]
+  wire [2:0] _T_995; // @[package.scala 203:48:shc.marmotcaravel.MarmotCaravelConfig.fir@107086.4]
+  wire [3:0] _GEN_1; // @[package.scala 203:43:shc.marmotcaravel.MarmotCaravelConfig.fir@107087.4]
+  wire [3:0] _T_996; // @[package.scala 203:43:shc.marmotcaravel.MarmotCaravelConfig.fir@107087.4]
+  wire [2:0] _T_998; // @[Arbiter.scala 22:52:shc.marmotcaravel.MarmotCaravelConfig.fir@107089.4]
+  wire [3:0] _GEN_2; // @[Arbiter.scala 22:66:shc.marmotcaravel.MarmotCaravelConfig.fir@107090.4]
+  wire [3:0] _T_999; // @[Arbiter.scala 22:66:shc.marmotcaravel.MarmotCaravelConfig.fir@107090.4]
+  wire [3:0] _GEN_3; // @[Arbiter.scala 22:58:shc.marmotcaravel.MarmotCaravelConfig.fir@107091.4]
+  wire [3:0] _T_1000; // @[Arbiter.scala 22:58:shc.marmotcaravel.MarmotCaravelConfig.fir@107091.4]
+  wire [1:0] _T_1001; // @[Arbiter.scala 23:29:shc.marmotcaravel.MarmotCaravelConfig.fir@107092.4]
+  wire [1:0] _T_1002; // @[Arbiter.scala 23:48:shc.marmotcaravel.MarmotCaravelConfig.fir@107093.4]
+  wire [1:0] _T_1003; // @[Arbiter.scala 23:39:shc.marmotcaravel.MarmotCaravelConfig.fir@107094.4]
+  wire [1:0] _T_1004; // @[Arbiter.scala 23:18:shc.marmotcaravel.MarmotCaravelConfig.fir@107095.4]
+  wire  _T_1005; // @[Arbiter.scala 24:27:shc.marmotcaravel.MarmotCaravelConfig.fir@107096.4]
+  wire  _T_1006; // @[Arbiter.scala 24:18:shc.marmotcaravel.MarmotCaravelConfig.fir@107097.4]
+  wire [1:0] _T_1007; // @[Arbiter.scala 25:29:shc.marmotcaravel.MarmotCaravelConfig.fir@107099.6]
+  wire [2:0] _GEN_4; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@107100.6]
+  wire [2:0] _T_1008; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@107100.6]
+  wire [1:0] _T_1009; // @[package.scala 194:53:shc.marmotcaravel.MarmotCaravelConfig.fir@107101.6]
+  wire [1:0] _T_1010; // @[package.scala 194:43:shc.marmotcaravel.MarmotCaravelConfig.fir@107102.6]
+  wire  _T_1013; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@107107.4]
+  wire  _T_1014; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@107108.4]
+  wire  _T_1023; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@107113.4]
+  wire  _T_1024; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@107114.4]
+  wire  _T_1034; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@107120.4]
+  wire  _T_1036; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@107122.4]
+  wire  _T_1039; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@107125.4]
+  wire  _T_1040; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@107126.4]
+  wire  _T_1043; // @[Arbiter.scala 68:13:shc.marmotcaravel.MarmotCaravelConfig.fir@107129.4]
+  wire  _T_1044; // @[Arbiter.scala 68:13:shc.marmotcaravel.MarmotCaravelConfig.fir@107130.4]
+  wire  _T_1045; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@107135.4]
+  wire  _T_1046; // @[Arbiter.scala 70:15:shc.marmotcaravel.MarmotCaravelConfig.fir@107136.4]
+  wire  _T_1048; // @[Arbiter.scala 70:36:shc.marmotcaravel.MarmotCaravelConfig.fir@107138.4]
+  wire  _T_1050; // @[Arbiter.scala 70:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107140.4]
+  wire  _T_1051; // @[Arbiter.scala 70:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107141.4]
+  reg  _T_1076_0; // @[Arbiter.scala 78:26:shc.marmotcaravel.MarmotCaravelConfig.fir@107159.4]
+  reg [31:0] _RAND_2;
+  wire  _T_1107; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@107168.4]
+  reg  _T_1076_1; // @[Arbiter.scala 78:26:shc.marmotcaravel.MarmotCaravelConfig.fir@107159.4]
+  reg [31:0] _RAND_3;
+  wire  _T_1108; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@107169.4]
+  wire  _T_1109; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@107170.4]
+  wire  in_0_d_valid; // @[Arbiter.scala 86:24:shc.marmotcaravel.MarmotCaravelConfig.fir@107173.4]
+  wire  _T_1055; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@107149.4]
+  wire [1:0] _T_1056; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@107150.4]
+  wire [1:0] _T_1057; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@107151.4]
+  wire  _T_1058; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@107152.4]
+  wire  _T_1087_0; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@107160.4]
+  wire  _T_1087_1; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@107160.4]
+  wire  _T_1095_0; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@107162.4]
+  wire  _T_1095_1; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@107162.4]
+  wire [32:0] _T_1114; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@107175.4]
+  wire [1:0] _T_1115; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@107176.4]
+  wire [34:0] _T_1116; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@107177.4]
+  wire [2:0] _T_1117; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@107178.4]
+  wire [4:0] _T_1118; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@107179.4]
+  wire [7:0] _T_1119; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@107180.4]
+  wire [42:0] _T_1120; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@107181.4]
+  wire [42:0] _T_1121; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@107182.4]
+  wire [32:0] _T_1122; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@107183.4]
+  wire [34:0] _T_1124; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@107185.4]
+  wire [4:0] _T_1126; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@107187.4]
+  wire [7:0] _T_1127; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@107188.4]
+  wire [42:0] _T_1128; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@107189.4]
+  wire [42:0] _T_1129; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@107190.4]
+  wire [42:0] _T_1130; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@107191.4]
+  TLMonitor_48 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@106797.4]
+    .clock(TLMonitor_clock),
+    .reset(TLMonitor_reset),
+    .io_in_a_ready(TLMonitor_io_in_a_ready),
+    .io_in_a_valid(TLMonitor_io_in_a_valid),
+    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
+    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
+    .io_in_d_ready(TLMonitor_io_in_d_ready),
+    .io_in_d_valid(TLMonitor_io_in_d_valid),
+    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
+    .io_in_d_bits_param(TLMonitor_io_in_d_bits_param),
+    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
+    .io_in_d_bits_sink(TLMonitor_io_in_d_bits_sink),
+    .io_in_d_bits_denied(TLMonitor_io_in_d_bits_denied),
+    .io_in_d_bits_corrupt(TLMonitor_io_in_d_bits_corrupt)
+  );
+  assign _T_700 = {1'b0,$signed(auto_in_a_bits_address)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@106877.4]
+  assign _T_701 = $signed(_T_700) & $signed(10'sh1c0); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@106878.4]
+  assign _T_702 = $signed(_T_701); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@106879.4]
+  assign _T_703 = $signed(_T_702) == $signed(10'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@106880.4]
+  assign _T_704 = auto_in_a_bits_address ^ 9'h44; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@106881.4]
+  assign _T_705 = {1'b0,$signed(_T_704)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@106882.4]
+  assign _T_706 = $signed(_T_705) & $signed(10'sh1fc); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@106883.4]
+  assign _T_707 = $signed(_T_706); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@106884.4]
+  assign _T_708 = $signed(_T_707) == $signed(10'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@106885.4]
+  assign _T_709 = auto_in_a_bits_address ^ 9'h48; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@106886.4]
+  assign _T_710 = {1'b0,$signed(_T_709)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@106887.4]
+  assign _T_711 = $signed(_T_710) & $signed(10'sh1f8); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@106888.4]
+  assign _T_712 = $signed(_T_711); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@106889.4]
+  assign _T_713 = $signed(_T_712) == $signed(10'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@106890.4]
+  assign _T_714 = auto_in_a_bits_address ^ 9'h50; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@106891.4]
+  assign _T_715 = {1'b0,$signed(_T_714)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@106892.4]
+  assign _T_716 = $signed(_T_715) & $signed(10'sh1f0); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@106893.4]
+  assign _T_717 = $signed(_T_716); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@106894.4]
+  assign _T_718 = $signed(_T_717) == $signed(10'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@106895.4]
+  assign _T_719 = auto_in_a_bits_address ^ 9'h60; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@106896.4]
+  assign _T_720 = {1'b0,$signed(_T_719)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@106897.4]
+  assign _T_721 = $signed(_T_720) & $signed(10'sh1e0); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@106898.4]
+  assign _T_722 = $signed(_T_721); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@106899.4]
+  assign _T_723 = $signed(_T_722) == $signed(10'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@106900.4]
+  assign _T_724 = auto_in_a_bits_address ^ 9'h80; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@106901.4]
+  assign _T_725 = {1'b0,$signed(_T_724)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@106902.4]
+  assign _T_726 = $signed(_T_725) & $signed(10'sh180); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@106903.4]
+  assign _T_727 = $signed(_T_726); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@106904.4]
+  assign _T_728 = $signed(_T_727) == $signed(10'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@106905.4]
+  assign _T_729 = auto_in_a_bits_address ^ 9'h100; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@106906.4]
+  assign _T_730 = {1'b0,$signed(_T_729)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@106907.4]
+  assign _T_731 = $signed(_T_730) & $signed(10'sh100); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@106908.4]
+  assign _T_732 = $signed(_T_731); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@106909.4]
+  assign _T_733 = $signed(_T_732) == $signed(10'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@106910.4]
+  assign _T_734 = _T_703 | _T_708; // @[Xbar.scala 217:92:shc.marmotcaravel.MarmotCaravelConfig.fir@106911.4]
+  assign _T_735 = _T_734 | _T_713; // @[Xbar.scala 217:92:shc.marmotcaravel.MarmotCaravelConfig.fir@106912.4]
+  assign _T_736 = _T_735 | _T_718; // @[Xbar.scala 217:92:shc.marmotcaravel.MarmotCaravelConfig.fir@106913.4]
+  assign _T_737 = _T_736 | _T_723; // @[Xbar.scala 217:92:shc.marmotcaravel.MarmotCaravelConfig.fir@106914.4]
+  assign _T_738 = _T_737 | _T_728; // @[Xbar.scala 217:92:shc.marmotcaravel.MarmotCaravelConfig.fir@106915.4]
+  assign requestAIO_0_0 = _T_738 | _T_733; // @[Xbar.scala 217:92:shc.marmotcaravel.MarmotCaravelConfig.fir@106916.4]
+  assign _T_740 = auto_in_a_bits_address ^ 9'h40; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@106918.4]
+  assign _T_741 = {1'b0,$signed(_T_740)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@106919.4]
+  assign _T_742 = $signed(_T_741) & $signed(10'sh1fc); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@106920.4]
+  assign _T_743 = $signed(_T_742); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@106921.4]
+  assign requestAIO_0_1 = $signed(_T_743) == $signed(10'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@106922.4]
+  assign _T_824 = requestAIO_0_0 ? auto_out_0_a_ready : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@106995.4]
+  assign _T_825 = requestAIO_0_1 ? auto_out_1_a_ready : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@106996.4]
+  assign _T_981 = _T_980 == 1'h0; // @[Arbiter.scala 54:28:shc.marmotcaravel.MarmotCaravelConfig.fir@107069.4]
+  assign _T_982 = _T_981 & auto_in_d_ready; // @[Arbiter.scala 55:24:shc.marmotcaravel.MarmotCaravelConfig.fir@107070.4]
+  assign _T_983 = {auto_out_1_d_valid,auto_out_0_d_valid}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@107071.4]
+  assign _T_985 = _T_983 == _T_983; // @[Arbiter.scala 19:19:shc.marmotcaravel.MarmotCaravelConfig.fir@107073.4]
+  assign _T_987 = _T_985 | reset; // @[Arbiter.scala 19:12:shc.marmotcaravel.MarmotCaravelConfig.fir@107075.4]
+  assign _T_988 = _T_987 == 1'h0; // @[Arbiter.scala 19:12:shc.marmotcaravel.MarmotCaravelConfig.fir@107076.4]
+  assign _T_992 = ~ _T_991; // @[Arbiter.scala 21:30:shc.marmotcaravel.MarmotCaravelConfig.fir@107083.4]
+  assign _T_993 = _T_983 & _T_992; // @[Arbiter.scala 21:28:shc.marmotcaravel.MarmotCaravelConfig.fir@107084.4]
+  assign _T_994 = {_T_993,_T_983}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@107085.4]
+  assign _T_995 = _T_994[3:1]; // @[package.scala 203:48:shc.marmotcaravel.MarmotCaravelConfig.fir@107086.4]
+  assign _GEN_1 = {{1'd0}, _T_995}; // @[package.scala 203:43:shc.marmotcaravel.MarmotCaravelConfig.fir@107087.4]
+  assign _T_996 = _T_994 | _GEN_1; // @[package.scala 203:43:shc.marmotcaravel.MarmotCaravelConfig.fir@107087.4]
+  assign _T_998 = _T_996[3:1]; // @[Arbiter.scala 22:52:shc.marmotcaravel.MarmotCaravelConfig.fir@107089.4]
+  assign _GEN_2 = {{2'd0}, _T_991}; // @[Arbiter.scala 22:66:shc.marmotcaravel.MarmotCaravelConfig.fir@107090.4]
+  assign _T_999 = _GEN_2 << 2; // @[Arbiter.scala 22:66:shc.marmotcaravel.MarmotCaravelConfig.fir@107090.4]
+  assign _GEN_3 = {{1'd0}, _T_998}; // @[Arbiter.scala 22:58:shc.marmotcaravel.MarmotCaravelConfig.fir@107091.4]
+  assign _T_1000 = _GEN_3 | _T_999; // @[Arbiter.scala 22:58:shc.marmotcaravel.MarmotCaravelConfig.fir@107091.4]
+  assign _T_1001 = _T_1000[3:2]; // @[Arbiter.scala 23:29:shc.marmotcaravel.MarmotCaravelConfig.fir@107092.4]
+  assign _T_1002 = _T_1000[1:0]; // @[Arbiter.scala 23:48:shc.marmotcaravel.MarmotCaravelConfig.fir@107093.4]
+  assign _T_1003 = _T_1001 & _T_1002; // @[Arbiter.scala 23:39:shc.marmotcaravel.MarmotCaravelConfig.fir@107094.4]
+  assign _T_1004 = ~ _T_1003; // @[Arbiter.scala 23:18:shc.marmotcaravel.MarmotCaravelConfig.fir@107095.4]
+  assign _T_1005 = _T_983 != 2'h0; // @[Arbiter.scala 24:27:shc.marmotcaravel.MarmotCaravelConfig.fir@107096.4]
+  assign _T_1006 = _T_982 & _T_1005; // @[Arbiter.scala 24:18:shc.marmotcaravel.MarmotCaravelConfig.fir@107097.4]
+  assign _T_1007 = _T_1004 & _T_983; // @[Arbiter.scala 25:29:shc.marmotcaravel.MarmotCaravelConfig.fir@107099.6]
+  assign _GEN_4 = {{1'd0}, _T_1007}; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@107100.6]
+  assign _T_1008 = _GEN_4 << 1; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@107100.6]
+  assign _T_1009 = _T_1008[1:0]; // @[package.scala 194:53:shc.marmotcaravel.MarmotCaravelConfig.fir@107101.6]
+  assign _T_1010 = _T_1007 | _T_1009; // @[package.scala 194:43:shc.marmotcaravel.MarmotCaravelConfig.fir@107102.6]
+  assign _T_1013 = _T_1004[0]; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@107107.4]
+  assign _T_1014 = _T_1004[1]; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@107108.4]
+  assign _T_1023 = _T_1013 & auto_out_0_d_valid; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@107113.4]
+  assign _T_1024 = _T_1014 & auto_out_1_d_valid; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@107114.4]
+  assign _T_1034 = _T_1023 | _T_1024; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@107120.4]
+  assign _T_1036 = _T_1023 == 1'h0; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@107122.4]
+  assign _T_1039 = _T_1024 == 1'h0; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@107125.4]
+  assign _T_1040 = _T_1036 | _T_1039; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@107126.4]
+  assign _T_1043 = _T_1040 | reset; // @[Arbiter.scala 68:13:shc.marmotcaravel.MarmotCaravelConfig.fir@107129.4]
+  assign _T_1044 = _T_1043 == 1'h0; // @[Arbiter.scala 68:13:shc.marmotcaravel.MarmotCaravelConfig.fir@107130.4]
+  assign _T_1045 = auto_out_0_d_valid | auto_out_1_d_valid; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@107135.4]
+  assign _T_1046 = _T_1045 == 1'h0; // @[Arbiter.scala 70:15:shc.marmotcaravel.MarmotCaravelConfig.fir@107136.4]
+  assign _T_1048 = _T_1046 | _T_1034; // @[Arbiter.scala 70:36:shc.marmotcaravel.MarmotCaravelConfig.fir@107138.4]
+  assign _T_1050 = _T_1048 | reset; // @[Arbiter.scala 70:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107140.4]
+  assign _T_1051 = _T_1050 == 1'h0; // @[Arbiter.scala 70:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107141.4]
+  assign _T_1107 = _T_1076_0 ? auto_out_0_d_valid : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@107168.4]
+  assign _T_1108 = _T_1076_1 ? auto_out_1_d_valid : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@107169.4]
+  assign _T_1109 = _T_1107 | _T_1108; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@107170.4]
+  assign in_0_d_valid = _T_981 ? _T_1045 : _T_1109; // @[Arbiter.scala 86:24:shc.marmotcaravel.MarmotCaravelConfig.fir@107173.4]
+  assign _T_1055 = auto_in_d_ready & in_0_d_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@107149.4]
+  assign _T_1056 = _T_980 - _T_1055; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@107150.4]
+  assign _T_1057 = $unsigned(_T_1056); // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@107151.4]
+  assign _T_1058 = _T_1057[0:0]; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@107152.4]
+  assign _T_1087_0 = _T_981 ? _T_1023 : _T_1076_0; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@107160.4]
+  assign _T_1087_1 = _T_981 ? _T_1024 : _T_1076_1; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@107160.4]
+  assign _T_1095_0 = _T_981 ? _T_1013 : _T_1076_0; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@107162.4]
+  assign _T_1095_1 = _T_981 ? _T_1014 : _T_1076_1; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@107162.4]
+  assign _T_1114 = {auto_out_0_d_bits_data,auto_out_0_d_bits_corrupt}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@107175.4]
+  assign _T_1115 = {auto_out_0_d_bits_sink,auto_out_0_d_bits_denied}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@107176.4]
+  assign _T_1116 = {_T_1115,_T_1114}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@107177.4]
+  assign _T_1117 = {auto_out_0_d_bits_size,auto_out_0_d_bits_source}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@107178.4]
+  assign _T_1118 = {auto_out_0_d_bits_opcode,auto_out_0_d_bits_param}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@107179.4]
+  assign _T_1119 = {_T_1118,_T_1117}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@107180.4]
+  assign _T_1120 = {_T_1119,_T_1116}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@107181.4]
+  assign _T_1121 = _T_1087_0 ? _T_1120 : 43'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@107182.4]
+  assign _T_1122 = {auto_out_1_d_bits_data,1'h0}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@107183.4]
+  assign _T_1124 = {2'h0,_T_1122}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@107185.4]
+  assign _T_1126 = {auto_out_1_d_bits_opcode,2'h0}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@107187.4]
+  assign _T_1127 = {_T_1126,3'h4}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@107188.4]
+  assign _T_1128 = {_T_1127,_T_1124}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@107189.4]
+  assign _T_1129 = _T_1087_1 ? _T_1128 : 43'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@107190.4]
+  assign _T_1130 = _T_1121 | _T_1129; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@107191.4]
+  assign auto_in_a_ready = _T_824 | _T_825; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@106840.4]
+  assign auto_in_d_valid = _T_981 ? _T_1045 : _T_1109; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@106840.4]
+  assign auto_in_d_bits_denied = _T_1130[33]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@106840.4]
+  assign auto_in_d_bits_data = _T_1130[32:1]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@106840.4]
+  assign auto_in_d_bits_corrupt = _T_1130[0]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@106840.4]
+  assign auto_out_1_a_valid = auto_in_a_valid & requestAIO_0_1; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@106839.4]
+  assign auto_out_1_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@106839.4]
+  assign auto_out_1_a_bits_address = auto_in_a_bits_address[6:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@106839.4]
+  assign auto_out_1_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@106839.4]
+  assign auto_out_1_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@106839.4]
+  assign auto_out_1_d_ready = auto_in_d_ready & _T_1095_1; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@106839.4]
+  assign auto_out_0_a_valid = auto_in_a_valid & requestAIO_0_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@106838.4]
+  assign auto_out_0_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@106838.4]
+  assign auto_out_0_a_bits_address = auto_in_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@106838.4]
+  assign auto_out_0_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@106838.4]
+  assign auto_out_0_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@106838.4]
+  assign auto_out_0_d_ready = auto_in_d_ready & _T_1095_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@106838.4]
+  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@106799.4]
+  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@106800.4]
+  assign TLMonitor_io_in_a_ready = _T_824 | _T_825; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@106833.4]
+  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@106833.4]
+  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@106833.4]
+  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@106833.4]
+  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@106833.4]
+  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@106833.4]
+  assign TLMonitor_io_in_d_valid = _T_981 ? _T_1045 : _T_1109; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@106833.4]
+  assign TLMonitor_io_in_d_bits_opcode = _T_1130[42:40]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@106833.4]
+  assign TLMonitor_io_in_d_bits_param = _T_1130[39:38]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@106833.4]
+  assign TLMonitor_io_in_d_bits_size = _T_1130[37:36]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@106833.4]
+  assign TLMonitor_io_in_d_bits_sink = _T_1130[34]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@106833.4]
+  assign TLMonitor_io_in_d_bits_denied = _T_1130[33]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@106833.4]
+  assign TLMonitor_io_in_d_bits_corrupt = _T_1130[0]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@106833.4]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  _T_980 = _RAND_0[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  _T_991 = _RAND_1[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  _T_1076_0 = _RAND_2[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  _T_1076_1 = _RAND_3[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      _T_980 <= 1'h0;
+    end else begin
+      if (_T_982) begin
+        _T_980 <= 1'h0;
+      end else begin
+        _T_980 <= _T_1058;
+      end
+    end
+    if (reset) begin
+      _T_991 <= 2'h3;
+    end else begin
+      if (_T_1006) begin
+        _T_991 <= _T_1010;
+      end
+    end
+    if (reset) begin
+      _T_1076_0 <= 1'h0;
+    end else begin
+      if (_T_981) begin
+        _T_1076_0 <= _T_1023;
+      end
+    end
+    if (reset) begin
+      _T_1076_1 <= 1'h0;
+    end else begin
+      if (_T_981) begin
+        _T_1076_1 <= _T_1024;
+      end
+    end
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_988) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at Arbiter.scala:19 assert (valid === valids)\n"); // @[Arbiter.scala 19:12:shc.marmotcaravel.MarmotCaravelConfig.fir@107078.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_988) begin
+          $fatal; // @[Arbiter.scala 19:12:shc.marmotcaravel.MarmotCaravelConfig.fir@107079.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1044) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at Arbiter.scala:68 assert((prefixOR zip winner) map { case (p,w) => !p || !w } reduce {_ && _})\n"); // @[Arbiter.scala 68:13:shc.marmotcaravel.MarmotCaravelConfig.fir@107132.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1044) begin
+          $fatal; // @[Arbiter.scala 68:13:shc.marmotcaravel.MarmotCaravelConfig.fir@107133.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1051) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at Arbiter.scala:70 assert (!valids.reduce(_||_) || winner.reduce(_||_))\n"); // @[Arbiter.scala 70:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107143.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1051) begin
+          $fatal; // @[Arbiter.scala 70:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107144.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+endmodule
+module TLMonitor_49( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@107220.2]
+  input        clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@107221.4]
+  input        reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@107222.4]
+  input        io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@107223.4]
+  input        io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@107223.4]
+  input  [2:0] io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@107223.4]
+  input  [6:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@107223.4]
+  input  [3:0] io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@107223.4]
+  input        io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@107223.4]
+  input        io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@107223.4]
+  input  [2:0] io_in_d_bits_opcode // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@107223.4]
+);
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108329.4]
+  wire [4:0] _T_29; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@107243.6]
+  wire [1:0] _T_30; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@107244.6]
+  wire [1:0] _T_31; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@107245.6]
+  wire [6:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@107246.6]
+  wire [6:0] _T_32; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@107246.6]
+  wire  _T_33; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@107247.6]
+  wire [1:0] _T_36; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@107250.6]
+  wire  _T_78; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@107296.6]
+  wire [6:0] _T_80; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@107299.8]
+  wire [7:0] _T_81; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@107300.8]
+  wire [7:0] _T_82; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@107301.8]
+  wire [7:0] _T_83; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@107302.8]
+  wire  _T_84; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107303.8]
+  wire  _T_89; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107308.8]
+  wire  _T_101; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107336.8]
+  wire  _T_102; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107337.8]
+  wire [3:0] _T_107; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@107350.8]
+  wire  _T_108; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@107351.8]
+  wire  _T_110; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107353.8]
+  wire  _T_111; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107354.8]
+  wire  _T_116; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@107368.6]
+  wire  _T_158; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@107448.6]
+  wire  _T_171; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107462.8]
+  wire  _T_172; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107463.8]
+  wire  _T_183; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@107490.8]
+  wire  _T_185; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107492.8]
+  wire  _T_186; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107493.8]
+  wire  _T_191; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@107507.6]
+  wire  _T_220; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@107558.6]
+  wire  _T_251; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@107611.6]
+  wire  _T_277; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@107659.6]
+  wire  _T_303; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@107707.6]
+  wire  _T_329; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@107757.6]
+  wire  _T_331; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@107759.6]
+  wire  _T_332; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@107760.6]
+  wire  _T_342; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@107770.6]
+  wire  _T_362; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@107812.6]
+  wire  _T_390; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@107870.6]
+  wire  _T_483; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@108060.4]
+  reg  _T_493; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@108069.4]
+  reg [31:0] _RAND_0;
+  wire [1:0] _T_494; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@108070.4]
+  wire [1:0] _T_495; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@108071.4]
+  wire  _T_496; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@108072.4]
+  wire  _T_497; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@108073.4]
+  reg [2:0] _T_506; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@108084.4]
+  reg [31:0] _RAND_1;
+  reg [6:0] _T_514; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@108088.4]
+  reg [31:0] _RAND_2;
+  wire  _T_515; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@108089.4]
+  wire  _T_516; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@108090.4]
+  wire  _T_517; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@108092.6]
+  wire  _T_519; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108094.6]
+  wire  _T_520; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108095.6]
+  wire  _T_533; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@108124.6]
+  wire  _T_535; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108126.6]
+  wire  _T_536; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108127.6]
+  wire  _T_538; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@108134.4]
+  wire  _T_539; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@108142.4]
+  reg  _T_548; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@108150.4]
+  reg [31:0] _RAND_3;
+  wire [1:0] _T_549; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@108151.4]
+  wire [1:0] _T_550; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@108152.4]
+  wire  _T_551; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@108153.4]
+  wire  _T_552; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@108154.4]
+  reg [2:0] _T_561; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@108165.4]
+  reg [31:0] _RAND_4;
+  wire  _T_572; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@108171.4]
+  wire  _T_573; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@108172.4]
+  wire  _T_574; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@108174.6]
+  wire  _T_576; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108176.6]
+  wire  _T_577; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108177.6]
+  wire  _T_599; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@108224.4]
+  reg  _T_601; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@108233.4]
+  reg [31:0] _RAND_5;
+  reg  _T_612; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@108243.4]
+  reg [31:0] _RAND_6;
+  wire [1:0] _T_613; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@108244.4]
+  wire [1:0] _T_614; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@108245.4]
+  wire  _T_615; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@108246.4]
+  wire  _T_616; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@108247.4]
+  reg  _T_633; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@108266.4]
+  reg [31:0] _RAND_7;
+  wire [1:0] _T_634; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@108267.4]
+  wire [1:0] _T_635; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@108268.4]
+  wire  _T_636; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@108269.4]
+  wire  _T_637; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@108270.4]
+  wire  _T_648; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@108285.4]
+  wire  _T_651; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@108290.6]
+  wire  _T_653; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108292.6]
+  wire  _T_655; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@108294.6]
+  wire  _T_656; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@108295.6]
+  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@108287.4]
+  wire  _T_661; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@108306.4]
+  wire  _T_663; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@108308.4]
+  wire  _T_664; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@108309.4]
+  wire  _T_646; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@108281.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@108283.4 Monitor.scala 459:13:shc.marmotcaravel.MarmotCaravelConfig.fir@108289.6]
+  wire  _T_666; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@108313.6]
+  wire  _T_667; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@108314.6]
+  wire  _T_670; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@108317.6]
+  wire  _T_671; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@108318.6]
+  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@108310.4]
+  wire  _T_672; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@108324.4]
+  wire  _T_658; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@108301.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@108303.4 Monitor.scala 466:13:shc.marmotcaravel.MarmotCaravelConfig.fir@108312.6]
+  wire  _T_673; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@108325.4]
+  wire  _T_674; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@108326.4]
+  reg [31:0] _T_676; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@108328.4]
+  reg [31:0] _RAND_8;
+  wire  _T_678; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@108332.4]
+  wire  _T_679; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@108333.4]
+  wire  _T_680; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@108334.4]
+  wire  _T_681; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@108335.4]
+  wire  _T_682; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@108336.4]
+  wire  _T_684; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@108338.4]
+  wire  _T_685; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@108339.4]
+  wire [31:0] _T_687; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@108345.4]
+  wire  _T_690; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@108349.4]
+  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107310.10]
+  wire  _GEN_27; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107382.10]
+  wire  _GEN_37; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107465.10]
+  wire  _GEN_43; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107524.10]
+  wire  _GEN_49; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107575.10]
+  wire  _GEN_53; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107625.10]
+  wire  _GEN_59; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107673.10]
+  wire  _GEN_65; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107721.10]
+  wire  _GEN_71; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107825.10]
+  wire  _GEN_73; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107883.10]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108329.4]
+    .out(plusarg_reader_out)
+  );
+  assign _T_29 = 5'h3 << 2'h2; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@107243.6]
+  assign _T_30 = _T_29[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@107244.6]
+  assign _T_31 = ~ _T_30; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@107245.6]
+  assign _GEN_18 = {{5'd0}, _T_31}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@107246.6]
+  assign _T_32 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@107246.6]
+  assign _T_33 = _T_32 == 7'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@107247.6]
+  assign _T_36 = 2'h1 << 1'h0; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@107250.6]
+  assign _T_78 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@107296.6]
+  assign _T_80 = io_in_a_bits_address ^ 7'h40; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@107299.8]
+  assign _T_81 = {1'b0,$signed(_T_80)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@107300.8]
+  assign _T_82 = $signed(_T_81) & $signed(-8'sh4); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@107301.8]
+  assign _T_83 = $signed(_T_82); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@107302.8]
+  assign _T_84 = $signed(_T_83) == $signed(8'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107303.8]
+  assign _T_89 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107308.8]
+  assign _T_101 = _T_33 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107336.8]
+  assign _T_102 = _T_101 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107337.8]
+  assign _T_107 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@107350.8]
+  assign _T_108 = _T_107 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@107351.8]
+  assign _T_110 = _T_108 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107353.8]
+  assign _T_111 = _T_110 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107354.8]
+  assign _T_116 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@107368.6]
+  assign _T_158 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@107448.6]
+  assign _T_171 = _T_84 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107462.8]
+  assign _T_172 = _T_171 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107463.8]
+  assign _T_183 = io_in_a_bits_mask == 4'hf; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@107490.8]
+  assign _T_185 = _T_183 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107492.8]
+  assign _T_186 = _T_185 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107493.8]
+  assign _T_191 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@107507.6]
+  assign _T_220 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@107558.6]
+  assign _T_251 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@107611.6]
+  assign _T_277 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@107659.6]
+  assign _T_303 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@107707.6]
+  assign _T_329 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@107757.6]
+  assign _T_331 = _T_329 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@107759.6]
+  assign _T_332 = _T_331 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@107760.6]
+  assign _T_342 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@107770.6]
+  assign _T_362 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@107812.6]
+  assign _T_390 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@107870.6]
+  assign _T_483 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@108060.4]
+  assign _T_494 = _T_493 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@108070.4]
+  assign _T_495 = $unsigned(_T_494); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@108071.4]
+  assign _T_496 = _T_495[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@108072.4]
+  assign _T_497 = _T_493 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@108073.4]
+  assign _T_515 = _T_497 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@108089.4]
+  assign _T_516 = io_in_a_valid & _T_515; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@108090.4]
+  assign _T_517 = io_in_a_bits_opcode == _T_506; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@108092.6]
+  assign _T_519 = _T_517 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108094.6]
+  assign _T_520 = _T_519 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108095.6]
+  assign _T_533 = io_in_a_bits_address == _T_514; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@108124.6]
+  assign _T_535 = _T_533 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108126.6]
+  assign _T_536 = _T_535 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108127.6]
+  assign _T_538 = _T_483 & _T_497; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@108134.4]
+  assign _T_539 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@108142.4]
+  assign _T_549 = _T_548 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@108151.4]
+  assign _T_550 = $unsigned(_T_549); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@108152.4]
+  assign _T_551 = _T_550[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@108153.4]
+  assign _T_552 = _T_548 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@108154.4]
+  assign _T_572 = _T_552 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@108171.4]
+  assign _T_573 = io_in_d_valid & _T_572; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@108172.4]
+  assign _T_574 = io_in_d_bits_opcode == _T_561; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@108174.6]
+  assign _T_576 = _T_574 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108176.6]
+  assign _T_577 = _T_576 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108177.6]
+  assign _T_599 = _T_539 & _T_552; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@108224.4]
+  assign _T_613 = _T_612 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@108244.4]
+  assign _T_614 = $unsigned(_T_613); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@108245.4]
+  assign _T_615 = _T_614[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@108246.4]
+  assign _T_616 = _T_612 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@108247.4]
+  assign _T_634 = _T_633 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@108267.4]
+  assign _T_635 = $unsigned(_T_634); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@108268.4]
+  assign _T_636 = _T_635[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@108269.4]
+  assign _T_637 = _T_633 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@108270.4]
+  assign _T_648 = _T_483 & _T_616; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@108285.4]
+  assign _T_651 = _T_601 >> 1'h0; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@108290.6]
+  assign _T_653 = _T_651 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108292.6]
+  assign _T_655 = _T_653 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@108294.6]
+  assign _T_656 = _T_655 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@108295.6]
+  assign _GEN_15 = _T_648 ? _T_36 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@108287.4]
+  assign _T_661 = _T_539 & _T_637; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@108306.4]
+  assign _T_663 = _T_342 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@108308.4]
+  assign _T_664 = _T_661 & _T_663; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@108309.4]
+  assign _T_646 = _GEN_15[0]; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@108281.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@108283.4 Monitor.scala 459:13:shc.marmotcaravel.MarmotCaravelConfig.fir@108289.6]
+  assign _T_666 = _T_646 | _T_601; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@108313.6]
+  assign _T_667 = _T_666 >> 1'h0; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@108314.6]
+  assign _T_670 = _T_667 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@108317.6]
+  assign _T_671 = _T_670 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@108318.6]
+  assign _GEN_16 = _T_664 ? _T_36 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@108310.4]
+  assign _T_672 = _T_601 | _T_646; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@108324.4]
+  assign _T_658 = _GEN_16[0]; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@108301.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@108303.4 Monitor.scala 466:13:shc.marmotcaravel.MarmotCaravelConfig.fir@108312.6]
+  assign _T_673 = ~ _T_658; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@108325.4]
+  assign _T_674 = _T_672 & _T_673; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@108326.4]
+  assign _T_678 = _T_601 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@108332.4]
+  assign _T_679 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@108333.4]
+  assign _T_680 = _T_678 | _T_679; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@108334.4]
+  assign _T_681 = _T_676 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@108335.4]
+  assign _T_682 = _T_680 | _T_681; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@108336.4]
+  assign _T_684 = _T_682 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@108338.4]
+  assign _T_685 = _T_684 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@108339.4]
+  assign _T_687 = _T_676 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@108345.4]
+  assign _T_690 = _T_483 | _T_539; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@108349.4]
+  assign _GEN_19 = io_in_a_valid & _T_78; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107310.10]
+  assign _GEN_27 = io_in_a_valid & _T_116; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107382.10]
+  assign _GEN_37 = io_in_a_valid & _T_158; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107465.10]
+  assign _GEN_43 = io_in_a_valid & _T_191; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107524.10]
+  assign _GEN_49 = io_in_a_valid & _T_220; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107575.10]
+  assign _GEN_53 = io_in_a_valid & _T_251; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107625.10]
+  assign _GEN_59 = io_in_a_valid & _T_277; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107673.10]
+  assign _GEN_65 = io_in_a_valid & _T_303; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107721.10]
+  assign _GEN_71 = io_in_d_valid & _T_362; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107825.10]
+  assign _GEN_73 = io_in_d_valid & _T_390; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107883.10]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  _T_493 = _RAND_0[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  _T_506 = _RAND_1[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  _T_514 = _RAND_2[6:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  _T_548 = _RAND_3[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  _T_561 = _RAND_4[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  _T_601 = _RAND_5[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {1{`RANDOM}};
+  _T_612 = _RAND_6[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {1{`RANDOM}};
+  _T_633 = _RAND_7[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_8 = {1{`RANDOM}};
+  _T_676 = _RAND_8[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      _T_493 <= 1'h0;
+    end else begin
+      if (_T_483) begin
+        if (_T_497) begin
+          _T_493 <= 1'h0;
+        end else begin
+          _T_493 <= _T_496;
+        end
+      end
+    end
+    if (_T_538) begin
+      _T_506 <= io_in_a_bits_opcode;
+    end
+    if (_T_538) begin
+      _T_514 <= io_in_a_bits_address;
+    end
+    if (reset) begin
+      _T_548 <= 1'h0;
+    end else begin
+      if (_T_539) begin
+        if (_T_552) begin
+          _T_548 <= 1'h0;
+        end else begin
+          _T_548 <= _T_551;
+        end
+      end
+    end
+    if (_T_599) begin
+      _T_561 <= io_in_d_bits_opcode;
+    end
+    if (reset) begin
+      _T_601 <= 1'h0;
+    end else begin
+      _T_601 <= _T_674;
+    end
+    if (reset) begin
+      _T_612 <= 1'h0;
+    end else begin
+      if (_T_483) begin
+        if (_T_616) begin
+          _T_612 <= 1'h0;
+        end else begin
+          _T_612 <= _T_615;
+        end
+      end
+    end
+    if (reset) begin
+      _T_633 <= 1'h0;
+    end else begin
+      if (_T_539) begin
+        if (_T_637) begin
+          _T_633 <= 1'h0;
+        end else begin
+          _T_633 <= _T_636;
+        end
+      end
+    end
+    if (reset) begin
+      _T_676 <= 32'h0;
+    end else begin
+      if (_T_690) begin
+        _T_676 <= 32'h0;
+      end else begin
+        _T_676 <= _T_687;
+      end
+    end
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at Debug.scala:353:19)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@107235.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@107236.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@107293.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@107294.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_89) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at Debug.scala:353:19)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107310.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_89) begin
+          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107311.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_89) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at Debug.scala:353:19)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107317.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_89) begin
+          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107318.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at Debug.scala:353:19)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107324.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107325.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at Debug.scala:353:19)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107332.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107333.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_102) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at Debug.scala:353:19)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107339.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_102) begin
+          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107340.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at Debug.scala:353:19)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107347.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107348.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_111) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at Debug.scala:353:19)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107356.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_111) begin
+          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107357.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at Debug.scala:353:19)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107364.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107365.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_27 & _T_89) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at Debug.scala:353:19)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107382.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_27 & _T_89) begin
+          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107383.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_27 & _T_89) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at Debug.scala:353:19)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107389.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_27 & _T_89) begin
+          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107390.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at Debug.scala:353:19)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107396.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107397.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at Debug.scala:353:19)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107404.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107405.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_27 & _T_102) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at Debug.scala:353:19)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107411.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_27 & _T_102) begin
+          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107412.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at Debug.scala:353:19)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107419.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107420.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_27 & _T_89) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at Debug.scala:353:19)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107427.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_27 & _T_89) begin
+          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107428.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_27 & _T_111) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at Debug.scala:353:19)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107436.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_27 & _T_111) begin
+          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107437.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at Debug.scala:353:19)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107444.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107445.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_37 & _T_172) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at Debug.scala:353:19)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107465.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_37 & _T_172) begin
+          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107466.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at Debug.scala:353:19)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107472.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107473.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_37 & _T_102) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at Debug.scala:353:19)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107479.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_37 & _T_102) begin
+          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107480.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at Debug.scala:353:19)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107487.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107488.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_37 & _T_186) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at Debug.scala:353:19)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107495.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_37 & _T_186) begin
+          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107496.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at Debug.scala:353:19)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107503.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107504.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_43 & _T_172) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at Debug.scala:353:19)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107524.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_43 & _T_172) begin
+          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107525.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at Debug.scala:353:19)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107531.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107532.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_43 & _T_102) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at Debug.scala:353:19)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107538.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_43 & _T_102) begin
+          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107539.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at Debug.scala:353:19)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107546.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107547.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_43 & _T_186) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at Debug.scala:353:19)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107554.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_43 & _T_186) begin
+          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107555.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_172) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at Debug.scala:353:19)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107575.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_172) begin
+          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107576.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at Debug.scala:353:19)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107582.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107583.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_102) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at Debug.scala:353:19)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107589.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_102) begin
+          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107590.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at Debug.scala:353:19)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107597.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107598.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at Debug.scala:353:19)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107607.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107608.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_89) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at Debug.scala:353:19)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107625.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_89) begin
+          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107626.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at Debug.scala:353:19)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107632.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107633.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_102) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at Debug.scala:353:19)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107639.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_102) begin
+          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107640.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at Debug.scala:353:19)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107647.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107648.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_186) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at Debug.scala:353:19)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107655.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_186) begin
+          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107656.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_59 & _T_89) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at Debug.scala:353:19)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107673.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_59 & _T_89) begin
+          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107674.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at Debug.scala:353:19)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107680.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107681.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_59 & _T_102) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at Debug.scala:353:19)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107687.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_59 & _T_102) begin
+          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107688.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at Debug.scala:353:19)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107695.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107696.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_59 & _T_186) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at Debug.scala:353:19)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107703.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_59 & _T_186) begin
+          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107704.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_89) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at Debug.scala:353:19)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107721.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_89) begin
+          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107722.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at Debug.scala:353:19)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107728.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107729.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_102) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at Debug.scala:353:19)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107735.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_102) begin
+          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107736.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_186) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at Debug.scala:353:19)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107743.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_186) begin
+          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107744.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at Debug.scala:353:19)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107751.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107752.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_332) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at Debug.scala:353:19)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@107762.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_332) begin
+          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@107763.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at Debug.scala:353:19)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107776.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107777.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at Debug.scala:353:19)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107784.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107785.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at Debug.scala:353:19)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107792.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107793.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at Debug.scala:353:19)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107800.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107801.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at Debug.scala:353:19)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107808.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107809.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at Debug.scala:353:19)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107818.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107819.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_71 & _T_89) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at Debug.scala:353:19)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107825.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_71 & _T_89) begin
+          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107826.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at Debug.scala:353:19)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107833.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107834.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at Debug.scala:353:19)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107841.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107842.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at Debug.scala:353:19)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107849.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107850.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at Debug.scala:353:19)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107857.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107858.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at Debug.scala:353:19)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107866.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107867.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at Debug.scala:353:19)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107876.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107877.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_73 & _T_89) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at Debug.scala:353:19)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107883.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_73 & _T_89) begin
+          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107884.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at Debug.scala:353:19)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107891.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107892.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at Debug.scala:353:19)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107899.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107900.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at Debug.scala:353:19)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107907.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107908.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at Debug.scala:353:19)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107916.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107917.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at Debug.scala:353:19)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107925.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107926.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at Debug.scala:353:19)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107935.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107936.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at Debug.scala:353:19)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107943.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107944.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at Debug.scala:353:19)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107951.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107952.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at Debug.scala:353:19)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107960.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107961.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at Debug.scala:353:19)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107970.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107971.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at Debug.scala:353:19)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107978.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107979.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at Debug.scala:353:19)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107987.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107988.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at Debug.scala:353:19)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107996.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107997.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at Debug.scala:353:19)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108006.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108007.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at Debug.scala:353:19)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108014.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108015.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at Debug.scala:353:19)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108022.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108023.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at Debug.scala:353:19)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108031.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108032.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at Debug.scala:353:19)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108041.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108042.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at Debug.scala:353:19)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108049.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108050.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at Debug.scala:353:19)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108057.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108058.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_516 & _T_520) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at Debug.scala:353:19)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108097.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_516 & _T_520) begin
+          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108098.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at Debug.scala:353:19)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108105.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108106.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at Debug.scala:353:19)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108113.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108114.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at Debug.scala:353:19)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108121.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108122.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_516 & _T_536) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at Debug.scala:353:19)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108129.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_516 & _T_536) begin
+          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108130.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_573 & _T_577) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at Debug.scala:353:19)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108179.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_573 & _T_577) begin
+          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108180.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at Debug.scala:353:19)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108187.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108188.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at Debug.scala:353:19)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108195.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108196.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at Debug.scala:353:19)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108203.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108204.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at Debug.scala:353:19)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108211.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108212.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at Debug.scala:353:19)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108219.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108220.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_648 & _T_656) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at Debug.scala:353:19)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@108297.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_648 & _T_656) begin
+          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@108298.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_664 & _T_671) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at Debug.scala:353:19)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@108320.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_664 & _T_671) begin
+          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@108321.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_685) begin
+          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at Debug.scala:353:19)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@108341.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_685) begin
+          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@108342.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+endmodule
+module AsyncResetRegVec_w32_i0( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@108674.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@108675.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@108676.4]
+  input  [31:0] io_d, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@108677.4]
+  output [31:0] io_q, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@108677.4]
+  input         io_en // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@108677.4]
+);
+  wire  reg_0_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108682.4]
+  wire  reg_0_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108682.4]
+  wire  reg_0_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108682.4]
+  wire  reg_0_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108682.4]
+  wire  reg_0_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108682.4]
+  wire  reg_1_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108688.4]
+  wire  reg_1_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108688.4]
+  wire  reg_1_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108688.4]
+  wire  reg_1_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108688.4]
+  wire  reg_1_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108688.4]
+  wire  reg_2_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108694.4]
+  wire  reg_2_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108694.4]
+  wire  reg_2_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108694.4]
+  wire  reg_2_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108694.4]
+  wire  reg_2_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108694.4]
+  wire  reg_3_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108700.4]
+  wire  reg_3_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108700.4]
+  wire  reg_3_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108700.4]
+  wire  reg_3_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108700.4]
+  wire  reg_3_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108700.4]
+  wire  reg_4_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108706.4]
+  wire  reg_4_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108706.4]
+  wire  reg_4_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108706.4]
+  wire  reg_4_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108706.4]
+  wire  reg_4_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108706.4]
+  wire  reg_5_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108712.4]
+  wire  reg_5_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108712.4]
+  wire  reg_5_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108712.4]
+  wire  reg_5_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108712.4]
+  wire  reg_5_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108712.4]
+  wire  reg_6_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108718.4]
+  wire  reg_6_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108718.4]
+  wire  reg_6_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108718.4]
+  wire  reg_6_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108718.4]
+  wire  reg_6_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108718.4]
+  wire  reg_7_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108724.4]
+  wire  reg_7_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108724.4]
+  wire  reg_7_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108724.4]
+  wire  reg_7_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108724.4]
+  wire  reg_7_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108724.4]
+  wire  reg_8_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108730.4]
+  wire  reg_8_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108730.4]
+  wire  reg_8_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108730.4]
+  wire  reg_8_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108730.4]
+  wire  reg_8_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108730.4]
+  wire  reg_9_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108736.4]
+  wire  reg_9_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108736.4]
+  wire  reg_9_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108736.4]
+  wire  reg_9_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108736.4]
+  wire  reg_9_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108736.4]
+  wire  reg_10_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108742.4]
+  wire  reg_10_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108742.4]
+  wire  reg_10_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108742.4]
+  wire  reg_10_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108742.4]
+  wire  reg_10_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108742.4]
+  wire  reg_11_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108748.4]
+  wire  reg_11_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108748.4]
+  wire  reg_11_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108748.4]
+  wire  reg_11_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108748.4]
+  wire  reg_11_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108748.4]
+  wire  reg_12_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108754.4]
+  wire  reg_12_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108754.4]
+  wire  reg_12_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108754.4]
+  wire  reg_12_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108754.4]
+  wire  reg_12_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108754.4]
+  wire  reg_13_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108760.4]
+  wire  reg_13_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108760.4]
+  wire  reg_13_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108760.4]
+  wire  reg_13_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108760.4]
+  wire  reg_13_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108760.4]
+  wire  reg_14_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108766.4]
+  wire  reg_14_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108766.4]
+  wire  reg_14_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108766.4]
+  wire  reg_14_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108766.4]
+  wire  reg_14_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108766.4]
+  wire  reg_15_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108772.4]
+  wire  reg_15_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108772.4]
+  wire  reg_15_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108772.4]
+  wire  reg_15_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108772.4]
+  wire  reg_15_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108772.4]
+  wire  reg_16_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108778.4]
+  wire  reg_16_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108778.4]
+  wire  reg_16_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108778.4]
+  wire  reg_16_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108778.4]
+  wire  reg_16_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108778.4]
+  wire  reg_17_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108784.4]
+  wire  reg_17_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108784.4]
+  wire  reg_17_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108784.4]
+  wire  reg_17_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108784.4]
+  wire  reg_17_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108784.4]
+  wire  reg_18_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108790.4]
+  wire  reg_18_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108790.4]
+  wire  reg_18_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108790.4]
+  wire  reg_18_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108790.4]
+  wire  reg_18_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108790.4]
+  wire  reg_19_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108796.4]
+  wire  reg_19_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108796.4]
+  wire  reg_19_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108796.4]
+  wire  reg_19_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108796.4]
+  wire  reg_19_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108796.4]
+  wire  reg_20_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108802.4]
+  wire  reg_20_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108802.4]
+  wire  reg_20_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108802.4]
+  wire  reg_20_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108802.4]
+  wire  reg_20_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108802.4]
+  wire  reg_21_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108808.4]
+  wire  reg_21_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108808.4]
+  wire  reg_21_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108808.4]
+  wire  reg_21_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108808.4]
+  wire  reg_21_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108808.4]
+  wire  reg_22_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108814.4]
+  wire  reg_22_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108814.4]
+  wire  reg_22_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108814.4]
+  wire  reg_22_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108814.4]
+  wire  reg_22_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108814.4]
+  wire  reg_23_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108820.4]
+  wire  reg_23_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108820.4]
+  wire  reg_23_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108820.4]
+  wire  reg_23_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108820.4]
+  wire  reg_23_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108820.4]
+  wire  reg_24_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108826.4]
+  wire  reg_24_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108826.4]
+  wire  reg_24_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108826.4]
+  wire  reg_24_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108826.4]
+  wire  reg_24_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108826.4]
+  wire  reg_25_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108832.4]
+  wire  reg_25_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108832.4]
+  wire  reg_25_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108832.4]
+  wire  reg_25_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108832.4]
+  wire  reg_25_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108832.4]
+  wire  reg_26_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108838.4]
+  wire  reg_26_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108838.4]
+  wire  reg_26_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108838.4]
+  wire  reg_26_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108838.4]
+  wire  reg_26_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108838.4]
+  wire  reg_27_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108844.4]
+  wire  reg_27_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108844.4]
+  wire  reg_27_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108844.4]
+  wire  reg_27_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108844.4]
+  wire  reg_27_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108844.4]
+  wire  reg_28_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108850.4]
+  wire  reg_28_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108850.4]
+  wire  reg_28_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108850.4]
+  wire  reg_28_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108850.4]
+  wire  reg_28_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108850.4]
+  wire  reg_29_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108856.4]
+  wire  reg_29_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108856.4]
+  wire  reg_29_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108856.4]
+  wire  reg_29_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108856.4]
+  wire  reg_29_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108856.4]
+  wire  reg_30_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108862.4]
+  wire  reg_30_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108862.4]
+  wire  reg_30_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108862.4]
+  wire  reg_30_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108862.4]
+  wire  reg_30_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108862.4]
+  wire  reg_31_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108868.4]
+  wire  reg_31_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108868.4]
+  wire  reg_31_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108868.4]
+  wire  reg_31_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108868.4]
+  wire  reg_31_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108868.4]
+  wire [1:0] _T_39; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109034.4]
+  wire [1:0] _T_40; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109035.4]
+  wire [3:0] _T_41; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109036.4]
+  wire [1:0] _T_42; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109037.4]
+  wire [1:0] _T_43; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109038.4]
+  wire [3:0] _T_44; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109039.4]
+  wire [7:0] _T_45; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109040.4]
+  wire [1:0] _T_46; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109041.4]
+  wire [1:0] _T_47; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109042.4]
+  wire [3:0] _T_48; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109043.4]
+  wire [1:0] _T_49; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109044.4]
+  wire [1:0] _T_50; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109045.4]
+  wire [3:0] _T_51; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109046.4]
+  wire [7:0] _T_52; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109047.4]
+  wire [15:0] _T_53; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109048.4]
+  wire [1:0] _T_54; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109049.4]
+  wire [1:0] _T_55; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109050.4]
+  wire [3:0] _T_56; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109051.4]
+  wire [1:0] _T_57; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109052.4]
+  wire [1:0] _T_58; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109053.4]
+  wire [3:0] _T_59; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109054.4]
+  wire [7:0] _T_60; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109055.4]
+  wire [1:0] _T_61; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109056.4]
+  wire [1:0] _T_62; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109057.4]
+  wire [3:0] _T_63; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109058.4]
+  wire [1:0] _T_64; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109059.4]
+  wire [1:0] _T_65; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109060.4]
+  wire [3:0] _T_66; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109061.4]
+  wire [7:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109062.4]
+  wire [15:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109063.4]
+  AsyncResetReg #(.RESET_VALUE(0)) reg_0 ( // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108682.4]
+    .rst(reg_0_rst),
+    .clk(reg_0_clk),
+    .en(reg_0_en),
+    .q(reg_0_q),
+    .d(reg_0_d)
+  );
+  AsyncResetReg #(.RESET_VALUE(0)) reg_1 ( // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108688.4]
+    .rst(reg_1_rst),
+    .clk(reg_1_clk),
+    .en(reg_1_en),
+    .q(reg_1_q),
+    .d(reg_1_d)
+  );
+  AsyncResetReg #(.RESET_VALUE(0)) reg_2 ( // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108694.4]
+    .rst(reg_2_rst),
+    .clk(reg_2_clk),
+    .en(reg_2_en),
+    .q(reg_2_q),
+    .d(reg_2_d)
+  );
+  AsyncResetReg #(.RESET_VALUE(0)) reg_3 ( // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108700.4]
+    .rst(reg_3_rst),
+    .clk(reg_3_clk),
+    .en(reg_3_en),
+    .q(reg_3_q),
+    .d(reg_3_d)
+  );
+  AsyncResetReg #(.RESET_VALUE(0)) reg_4 ( // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108706.4]
+    .rst(reg_4_rst),
+    .clk(reg_4_clk),
+    .en(reg_4_en),
+    .q(reg_4_q),
+    .d(reg_4_d)
+  );
+  AsyncResetReg #(.RESET_VALUE(0)) reg_5 ( // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108712.4]
+    .rst(reg_5_rst),
+    .clk(reg_5_clk),
+    .en(reg_5_en),
+    .q(reg_5_q),
+    .d(reg_5_d)
+  );
+  AsyncResetReg #(.RESET_VALUE(0)) reg_6 ( // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108718.4]
+    .rst(reg_6_rst),
+    .clk(reg_6_clk),
+    .en(reg_6_en),
+    .q(reg_6_q),
+    .d(reg_6_d)
+  );
+  AsyncResetReg #(.RESET_VALUE(0)) reg_7 ( // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108724.4]
+    .rst(reg_7_rst),
+    .clk(reg_7_clk),
+    .en(reg_7_en),
+    .q(reg_7_q),
+    .d(reg_7_d)
+  );
+  AsyncResetReg #(.RESET_VALUE(0)) reg_8 ( // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108730.4]
+    .rst(reg_8_rst),
+    .clk(reg_8_clk),
+    .en(reg_8_en),
+    .q(reg_8_q),
+    .d(reg_8_d)
+  );
+  AsyncResetReg #(.RESET_VALUE(0)) reg_9 ( // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108736.4]
+    .rst(reg_9_rst),
+    .clk(reg_9_clk),
+    .en(reg_9_en),
+    .q(reg_9_q),
+    .d(reg_9_d)
+  );
+  AsyncResetReg #(.RESET_VALUE(0)) reg_10 ( // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108742.4]
+    .rst(reg_10_rst),
+    .clk(reg_10_clk),
+    .en(reg_10_en),
+    .q(reg_10_q),
+    .d(reg_10_d)
+  );
+  AsyncResetReg #(.RESET_VALUE(0)) reg_11 ( // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108748.4]
+    .rst(reg_11_rst),
+    .clk(reg_11_clk),
+    .en(reg_11_en),
+    .q(reg_11_q),
+    .d(reg_11_d)
+  );
+  AsyncResetReg #(.RESET_VALUE(0)) reg_12 ( // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108754.4]
+    .rst(reg_12_rst),
+    .clk(reg_12_clk),
+    .en(reg_12_en),
+    .q(reg_12_q),
+    .d(reg_12_d)
+  );
+  AsyncResetReg #(.RESET_VALUE(0)) reg_13 ( // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108760.4]
+    .rst(reg_13_rst),
+    .clk(reg_13_clk),
+    .en(reg_13_en),
+    .q(reg_13_q),
+    .d(reg_13_d)
+  );
+  AsyncResetReg #(.RESET_VALUE(0)) reg_14 ( // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108766.4]
+    .rst(reg_14_rst),
+    .clk(reg_14_clk),
+    .en(reg_14_en),
+    .q(reg_14_q),
+    .d(reg_14_d)
+  );
+  AsyncResetReg #(.RESET_VALUE(0)) reg_15 ( // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108772.4]
+    .rst(reg_15_rst),
+    .clk(reg_15_clk),
+    .en(reg_15_en),
+    .q(reg_15_q),
+    .d(reg_15_d)
+  );
+  AsyncResetReg #(.RESET_VALUE(0)) reg_16 ( // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108778.4]
+    .rst(reg_16_rst),
+    .clk(reg_16_clk),
+    .en(reg_16_en),
+    .q(reg_16_q),
+    .d(reg_16_d)
+  );
+  AsyncResetReg #(.RESET_VALUE(0)) reg_17 ( // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108784.4]
+    .rst(reg_17_rst),
+    .clk(reg_17_clk),
+    .en(reg_17_en),
+    .q(reg_17_q),
+    .d(reg_17_d)
+  );
+  AsyncResetReg #(.RESET_VALUE(0)) reg_18 ( // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108790.4]
+    .rst(reg_18_rst),
+    .clk(reg_18_clk),
+    .en(reg_18_en),
+    .q(reg_18_q),
+    .d(reg_18_d)
+  );
+  AsyncResetReg #(.RESET_VALUE(0)) reg_19 ( // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108796.4]
+    .rst(reg_19_rst),
+    .clk(reg_19_clk),
+    .en(reg_19_en),
+    .q(reg_19_q),
+    .d(reg_19_d)
+  );
+  AsyncResetReg #(.RESET_VALUE(0)) reg_20 ( // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108802.4]
+    .rst(reg_20_rst),
+    .clk(reg_20_clk),
+    .en(reg_20_en),
+    .q(reg_20_q),
+    .d(reg_20_d)
+  );
+  AsyncResetReg #(.RESET_VALUE(0)) reg_21 ( // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108808.4]
+    .rst(reg_21_rst),
+    .clk(reg_21_clk),
+    .en(reg_21_en),
+    .q(reg_21_q),
+    .d(reg_21_d)
+  );
+  AsyncResetReg #(.RESET_VALUE(0)) reg_22 ( // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108814.4]
+    .rst(reg_22_rst),
+    .clk(reg_22_clk),
+    .en(reg_22_en),
+    .q(reg_22_q),
+    .d(reg_22_d)
+  );
+  AsyncResetReg #(.RESET_VALUE(0)) reg_23 ( // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108820.4]
+    .rst(reg_23_rst),
+    .clk(reg_23_clk),
+    .en(reg_23_en),
+    .q(reg_23_q),
+    .d(reg_23_d)
+  );
+  AsyncResetReg #(.RESET_VALUE(0)) reg_24 ( // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108826.4]
+    .rst(reg_24_rst),
+    .clk(reg_24_clk),
+    .en(reg_24_en),
+    .q(reg_24_q),
+    .d(reg_24_d)
+  );
+  AsyncResetReg #(.RESET_VALUE(0)) reg_25 ( // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108832.4]
+    .rst(reg_25_rst),
+    .clk(reg_25_clk),
+    .en(reg_25_en),
+    .q(reg_25_q),
+    .d(reg_25_d)
+  );
+  AsyncResetReg #(.RESET_VALUE(0)) reg_26 ( // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108838.4]
+    .rst(reg_26_rst),
+    .clk(reg_26_clk),
+    .en(reg_26_en),
+    .q(reg_26_q),
+    .d(reg_26_d)
+  );
+  AsyncResetReg #(.RESET_VALUE(0)) reg_27 ( // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108844.4]
+    .rst(reg_27_rst),
+    .clk(reg_27_clk),
+    .en(reg_27_en),
+    .q(reg_27_q),
+    .d(reg_27_d)
+  );
+  AsyncResetReg #(.RESET_VALUE(0)) reg_28 ( // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108850.4]
+    .rst(reg_28_rst),
+    .clk(reg_28_clk),
+    .en(reg_28_en),
+    .q(reg_28_q),
+    .d(reg_28_d)
+  );
+  AsyncResetReg #(.RESET_VALUE(0)) reg_29 ( // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108856.4]
+    .rst(reg_29_rst),
+    .clk(reg_29_clk),
+    .en(reg_29_en),
+    .q(reg_29_q),
+    .d(reg_29_d)
+  );
+  AsyncResetReg #(.RESET_VALUE(0)) reg_30 ( // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108862.4]
+    .rst(reg_30_rst),
+    .clk(reg_30_clk),
+    .en(reg_30_en),
+    .q(reg_30_q),
+    .d(reg_30_d)
+  );
+  AsyncResetReg #(.RESET_VALUE(0)) reg_31 ( // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108868.4]
+    .rst(reg_31_rst),
+    .clk(reg_31_clk),
+    .en(reg_31_en),
+    .q(reg_31_q),
+    .d(reg_31_d)
+  );
+  assign _T_39 = {reg_1_q,reg_0_q}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109034.4]
+  assign _T_40 = {reg_3_q,reg_2_q}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109035.4]
+  assign _T_41 = {_T_40,_T_39}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109036.4]
+  assign _T_42 = {reg_5_q,reg_4_q}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109037.4]
+  assign _T_43 = {reg_7_q,reg_6_q}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109038.4]
+  assign _T_44 = {_T_43,_T_42}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109039.4]
+  assign _T_45 = {_T_44,_T_41}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109040.4]
+  assign _T_46 = {reg_9_q,reg_8_q}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109041.4]
+  assign _T_47 = {reg_11_q,reg_10_q}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109042.4]
+  assign _T_48 = {_T_47,_T_46}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109043.4]
+  assign _T_49 = {reg_13_q,reg_12_q}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109044.4]
+  assign _T_50 = {reg_15_q,reg_14_q}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109045.4]
+  assign _T_51 = {_T_50,_T_49}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109046.4]
+  assign _T_52 = {_T_51,_T_48}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109047.4]
+  assign _T_53 = {_T_52,_T_45}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109048.4]
+  assign _T_54 = {reg_17_q,reg_16_q}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109049.4]
+  assign _T_55 = {reg_19_q,reg_18_q}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109050.4]
+  assign _T_56 = {_T_55,_T_54}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109051.4]
+  assign _T_57 = {reg_21_q,reg_20_q}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109052.4]
+  assign _T_58 = {reg_23_q,reg_22_q}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109053.4]
+  assign _T_59 = {_T_58,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109054.4]
+  assign _T_60 = {_T_59,_T_56}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109055.4]
+  assign _T_61 = {reg_25_q,reg_24_q}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109056.4]
+  assign _T_62 = {reg_27_q,reg_26_q}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109057.4]
+  assign _T_63 = {_T_62,_T_61}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109058.4]
+  assign _T_64 = {reg_29_q,reg_28_q}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109059.4]
+  assign _T_65 = {reg_31_q,reg_30_q}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109060.4]
+  assign _T_66 = {_T_65,_T_64}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109061.4]
+  assign _T_67 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109062.4]
+  assign _T_68 = {_T_67,_T_60}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109063.4]
+  assign io_q = {_T_68,_T_53}; // @[AsyncResetReg.scala 73:8:shc.marmotcaravel.MarmotCaravelConfig.fir@109065.4]
+  assign reg_0_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108875.4]
+  assign reg_0_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108874.4]
+  assign reg_0_en = io_en; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108878.4]
+  assign reg_0_d = io_d[0]; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108877.4]
+  assign reg_1_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108880.4]
+  assign reg_1_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108879.4]
+  assign reg_1_en = io_en; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108883.4]
+  assign reg_1_d = io_d[1]; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108882.4]
+  assign reg_2_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108885.4]
+  assign reg_2_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108884.4]
+  assign reg_2_en = io_en; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108888.4]
+  assign reg_2_d = io_d[2]; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108887.4]
+  assign reg_3_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108890.4]
+  assign reg_3_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108889.4]
+  assign reg_3_en = io_en; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108893.4]
+  assign reg_3_d = io_d[3]; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108892.4]
+  assign reg_4_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108895.4]
+  assign reg_4_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108894.4]
+  assign reg_4_en = io_en; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108898.4]
+  assign reg_4_d = io_d[4]; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108897.4]
+  assign reg_5_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108900.4]
+  assign reg_5_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108899.4]
+  assign reg_5_en = io_en; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108903.4]
+  assign reg_5_d = io_d[5]; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108902.4]
+  assign reg_6_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108905.4]
+  assign reg_6_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108904.4]
+  assign reg_6_en = io_en; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108908.4]
+  assign reg_6_d = io_d[6]; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108907.4]
+  assign reg_7_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108910.4]
+  assign reg_7_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108909.4]
+  assign reg_7_en = io_en; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108913.4]
+  assign reg_7_d = io_d[7]; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108912.4]
+  assign reg_8_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108915.4]
+  assign reg_8_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108914.4]
+  assign reg_8_en = io_en; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108918.4]
+  assign reg_8_d = io_d[8]; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108917.4]
+  assign reg_9_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108920.4]
+  assign reg_9_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108919.4]
+  assign reg_9_en = io_en; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108923.4]
+  assign reg_9_d = io_d[9]; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108922.4]
+  assign reg_10_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108925.4]
+  assign reg_10_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108924.4]
+  assign reg_10_en = io_en; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108928.4]
+  assign reg_10_d = io_d[10]; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108927.4]
+  assign reg_11_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108930.4]
+  assign reg_11_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108929.4]
+  assign reg_11_en = io_en; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108933.4]
+  assign reg_11_d = io_d[11]; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108932.4]
+  assign reg_12_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108935.4]
+  assign reg_12_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108934.4]
+  assign reg_12_en = io_en; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108938.4]
+  assign reg_12_d = io_d[12]; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108937.4]
+  assign reg_13_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108940.4]
+  assign reg_13_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108939.4]
+  assign reg_13_en = io_en; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108943.4]
+  assign reg_13_d = io_d[13]; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108942.4]
+  assign reg_14_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108945.4]
+  assign reg_14_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108944.4]
+  assign reg_14_en = io_en; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108948.4]
+  assign reg_14_d = io_d[14]; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108947.4]
+  assign reg_15_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108950.4]
+  assign reg_15_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108949.4]
+  assign reg_15_en = io_en; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108953.4]
+  assign reg_15_d = io_d[15]; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108952.4]
+  assign reg_16_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108955.4]
+  assign reg_16_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108954.4]
+  assign reg_16_en = io_en; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108958.4]
+  assign reg_16_d = io_d[16]; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108957.4]
+  assign reg_17_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108960.4]
+  assign reg_17_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108959.4]
+  assign reg_17_en = io_en; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108963.4]
+  assign reg_17_d = io_d[17]; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108962.4]
+  assign reg_18_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108965.4]
+  assign reg_18_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108964.4]
+  assign reg_18_en = io_en; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108968.4]
+  assign reg_18_d = io_d[18]; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108967.4]
+  assign reg_19_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108970.4]
+  assign reg_19_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108969.4]
+  assign reg_19_en = io_en; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108973.4]
+  assign reg_19_d = io_d[19]; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108972.4]
+  assign reg_20_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108975.4]
+  assign reg_20_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108974.4]
+  assign reg_20_en = io_en; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108978.4]
+  assign reg_20_d = io_d[20]; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108977.4]
+  assign reg_21_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108980.4]
+  assign reg_21_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108979.4]
+  assign reg_21_en = io_en; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108983.4]
+  assign reg_21_d = io_d[21]; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108982.4]
+  assign reg_22_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108985.4]
+  assign reg_22_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108984.4]
+  assign reg_22_en = io_en; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108988.4]
+  assign reg_22_d = io_d[22]; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108987.4]
+  assign reg_23_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108990.4]
+  assign reg_23_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108989.4]
+  assign reg_23_en = io_en; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108993.4]
+  assign reg_23_d = io_d[23]; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108992.4]
+  assign reg_24_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108995.4]
+  assign reg_24_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108994.4]
+  assign reg_24_en = io_en; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108998.4]
+  assign reg_24_d = io_d[24]; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108997.4]
+  assign reg_25_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@109000.4]
+  assign reg_25_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108999.4]
+  assign reg_25_en = io_en; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@109003.4]
+  assign reg_25_d = io_d[25]; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@109002.4]
+  assign reg_26_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@109005.4]
+  assign reg_26_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@109004.4]
+  assign reg_26_en = io_en; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@109008.4]
+  assign reg_26_d = io_d[26]; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@109007.4]
+  assign reg_27_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@109010.4]
+  assign reg_27_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@109009.4]
+  assign reg_27_en = io_en; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@109013.4]
+  assign reg_27_d = io_d[27]; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@109012.4]
+  assign reg_28_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@109015.4]
+  assign reg_28_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@109014.4]
+  assign reg_28_en = io_en; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@109018.4]
+  assign reg_28_d = io_d[28]; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@109017.4]
+  assign reg_29_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@109020.4]
+  assign reg_29_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@109019.4]
+  assign reg_29_en = io_en; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@109023.4]
+  assign reg_29_d = io_d[29]; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@109022.4]
+  assign reg_30_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@109025.4]
+  assign reg_30_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@109024.4]
+  assign reg_30_en = io_en; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@109028.4]
+  assign reg_30_d = io_d[30]; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@109027.4]
+  assign reg_31_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@109030.4]
+  assign reg_31_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@109029.4]
+  assign reg_31_en = io_en; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@109033.4]
+  assign reg_31_d = io_d[31]; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@109032.4]
+endmodule
+module TLDebugModuleOuter( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@109098.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@109099.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@109100.4]
+  output        auto_dmi_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@109101.4]
+  input         auto_dmi_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@109101.4]
+  input  [2:0]  auto_dmi_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@109101.4]
+  input  [6:0]  auto_dmi_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@109101.4]
+  input  [3:0]  auto_dmi_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@109101.4]
+  input  [31:0] auto_dmi_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@109101.4]
+  input         auto_dmi_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@109101.4]
+  output        auto_dmi_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@109101.4]
+  output [2:0]  auto_dmi_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@109101.4]
+  output [31:0] auto_dmi_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@109101.4]
+  output        auto_int_out_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@109101.4]
+  output        io_ctrl_ndreset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@109102.4]
+  output        io_ctrl_dmactive, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@109102.4]
+  output        io_innerCtrl_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@109102.4]
+  output        io_innerCtrl_bits_resumereq, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@109102.4]
+  output [9:0]  io_innerCtrl_bits_hartsel, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@109102.4]
+  output        io_innerCtrl_bits_ackhavereset // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@109102.4]
+);
+  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@109112.4]
+  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@109112.4]
+  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@109112.4]
+  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@109112.4]
+  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@109112.4]
+  wire [6:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@109112.4]
+  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@109112.4]
+  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@109112.4]
+  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@109112.4]
+  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@109112.4]
+  wire  DMCONTROL_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@109221.4]
+  wire  DMCONTROL_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@109221.4]
+  wire [31:0] DMCONTROL_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@109221.4]
+  wire [31:0] DMCONTROL_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@109221.4]
+  wire  DMCONTROL_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@109221.4]
+  wire  debugInterrupts_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@109532.4]
+  wire  debugInterrupts_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@109532.4]
+  wire  debugInterrupts_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@109532.4]
+  wire  debugInterrupts_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@109532.4]
+  wire  debugInterrupts_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@109532.4]
+  wire [31:0] _T_244; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@109229.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@109231.4]
+  wire  DMCONTROLReg_dmactive; // @[Debug.scala 257:66:shc.marmotcaravel.MarmotCaravelConfig.fir@109232.4]
+  wire  _T_276; // @[Debug.scala 273:11:shc.marmotcaravel.MarmotCaravelConfig.fir@109297.4]
+  wire  _T_294; // @[RegisterRouter.scala 58:36:shc.marmotcaravel.MarmotCaravelConfig.fir@109325.4]
+  wire [4:0] _T_295; // @[Edges.scala 192:34:shc.marmotcaravel.MarmotCaravelConfig.fir@109327.4]
+  wire  _T_291_bits_index; // @[RegisterRouter.scala 57:18:shc.marmotcaravel.MarmotCaravelConfig.fir@109323.4 RegisterRouter.scala 59:19:shc.marmotcaravel.MarmotCaravelConfig.fir@109328.4]
+  wire  _T_314; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@109341.4]
+  wire  _T_460; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@109463.4]
+  wire  _T_461; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@109464.4]
+  wire  _T_462; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@109465.4]
+  wire [1:0] _T_402; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@109414.4]
+  wire  _T_403; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@109415.4]
+  wire  _T_465; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@109468.4]
+  wire  _T_466; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@109469.4]
+  wire  _T_362; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@109369.4]
+  wire [7:0] _T_370; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@109377.4]
+  wire  _T_361; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@109368.4]
+  wire [7:0] _T_368; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@109375.4]
+  wire [15:0] _T_372; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109379.4]
+  wire  _T_360; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@109367.4]
+  wire [7:0] _T_366; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@109373.4]
+  wire  _T_359; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@109366.4]
+  wire [7:0] _T_364; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@109371.4]
+  wire [15:0] _T_371; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109378.4]
+  wire [31:0] _T_373; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109380.4]
+  wire [31:0] _T_382; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@109389.4]
+  wire  _T_383; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@109390.4]
+  wire  DMCONTROLWrEn; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@109394.4]
+  wire [31:0] DMCONTROLWrDataVal; // @[Debug.scala 215:24:shc.marmotcaravel.MarmotCaravelConfig.fir@109398.4]
+  wire  DMCONTROLWrData_ndmreset; // @[Debug.scala 266:59:shc.marmotcaravel.MarmotCaravelConfig.fir@109270.4]
+  wire  DMCONTROLReg_ndmreset; // @[Debug.scala 257:66:shc.marmotcaravel.MarmotCaravelConfig.fir@109234.4]
+  wire  _GEN_0; // @[Debug.scala 276:28:shc.marmotcaravel.MarmotCaravelConfig.fir@109302.6]
+  wire  DMCONTROLNxt_ndmreset; // @[Debug.scala 273:22:shc.marmotcaravel.MarmotCaravelConfig.fir@109298.4]
+  wire  DMCONTROLWrData_dmactive; // @[Debug.scala 266:59:shc.marmotcaravel.MarmotCaravelConfig.fir@109268.4]
+  wire  _GEN_15; // @[Debug.scala 273:22:shc.marmotcaravel.MarmotCaravelConfig.fir@109298.4]
+  wire  DMCONTROLNxt_dmactive; // @[Debug.scala 286:26:shc.marmotcaravel.MarmotCaravelConfig.fir@109310.4]
+  wire [1:0] _T_231; // @[Debug.scala 257:107:shc.marmotcaravel.MarmotCaravelConfig.fir@109211.4]
+  wire [9:0] DMCONTROLWrData_hartsello; // @[Debug.scala 266:59:shc.marmotcaravel.MarmotCaravelConfig.fir@109276.4]
+  wire [9:0] DMCONTROLReg_hartsello; // @[Debug.scala 257:66:shc.marmotcaravel.MarmotCaravelConfig.fir@109240.4]
+  wire [9:0] _GEN_1; // @[Debug.scala 276:28:shc.marmotcaravel.MarmotCaravelConfig.fir@109302.6]
+  wire [9:0] DMCONTROLNxt_hartsello; // @[Debug.scala 273:22:shc.marmotcaravel.MarmotCaravelConfig.fir@109298.4]
+  wire [9:0] DMCONTROLReg_hartselhi; // @[Debug.scala 257:66:shc.marmotcaravel.MarmotCaravelConfig.fir@109238.4]
+  wire [9:0] DMCONTROLNxt_hartselhi; // @[Debug.scala 273:22:shc.marmotcaravel.MarmotCaravelConfig.fir@109298.4]
+  wire [19:0] _T_232; // @[Debug.scala 257:107:shc.marmotcaravel.MarmotCaravelConfig.fir@109212.4]
+  wire [3:0] DMCONTROLReg_reserved1; // @[Debug.scala 257:66:shc.marmotcaravel.MarmotCaravelConfig.fir@109236.4]
+  wire [3:0] DMCONTROLNxt_reserved1; // @[Debug.scala 273:22:shc.marmotcaravel.MarmotCaravelConfig.fir@109298.4]
+  wire [23:0] _T_233; // @[Debug.scala 257:107:shc.marmotcaravel.MarmotCaravelConfig.fir@109213.4]
+  wire [25:0] _T_234; // @[Debug.scala 257:107:shc.marmotcaravel.MarmotCaravelConfig.fir@109214.4]
+  wire  DMCONTROLWrData_ackhavereset; // @[Debug.scala 266:59:shc.marmotcaravel.MarmotCaravelConfig.fir@109282.4]
+  wire  DMCONTROLReg_ackhavereset; // @[Debug.scala 257:66:shc.marmotcaravel.MarmotCaravelConfig.fir@109246.4]
+  wire  _GEN_4; // @[Debug.scala 276:28:shc.marmotcaravel.MarmotCaravelConfig.fir@109302.6]
+  wire  DMCONTROLNxt_ackhavereset; // @[Debug.scala 273:22:shc.marmotcaravel.MarmotCaravelConfig.fir@109298.4]
+  wire  DMCONTROLReg_reserved0; // @[Debug.scala 257:66:shc.marmotcaravel.MarmotCaravelConfig.fir@109244.4]
+  wire  DMCONTROLNxt_reserved0; // @[Debug.scala 273:22:shc.marmotcaravel.MarmotCaravelConfig.fir@109298.4]
+  wire [1:0] _T_235; // @[Debug.scala 257:107:shc.marmotcaravel.MarmotCaravelConfig.fir@109215.4]
+  wire  DMCONTROLReg_hasel; // @[Debug.scala 257:66:shc.marmotcaravel.MarmotCaravelConfig.fir@109242.4]
+  wire  DMCONTROLNxt_hasel; // @[Debug.scala 273:22:shc.marmotcaravel.MarmotCaravelConfig.fir@109298.4]
+  wire [2:0] _T_236; // @[Debug.scala 257:107:shc.marmotcaravel.MarmotCaravelConfig.fir@109216.4]
+  wire  DMCONTROLWrData_haltreq; // @[Debug.scala 266:59:shc.marmotcaravel.MarmotCaravelConfig.fir@109288.4]
+  wire  DMCONTROLReg_haltreq; // @[Debug.scala 257:66:shc.marmotcaravel.MarmotCaravelConfig.fir@109252.4]
+  wire  _GEN_2; // @[Debug.scala 276:28:shc.marmotcaravel.MarmotCaravelConfig.fir@109302.6]
+  wire  DMCONTROLNxt_haltreq; // @[Debug.scala 273:22:shc.marmotcaravel.MarmotCaravelConfig.fir@109298.4]
+  wire  DMCONTROLWrData_resumereq; // @[Debug.scala 266:59:shc.marmotcaravel.MarmotCaravelConfig.fir@109286.4]
+  wire  DMCONTROLReg_resumereq; // @[Debug.scala 257:66:shc.marmotcaravel.MarmotCaravelConfig.fir@109250.4]
+  wire  _GEN_3; // @[Debug.scala 276:28:shc.marmotcaravel.MarmotCaravelConfig.fir@109302.6]
+  wire  DMCONTROLNxt_resumereq; // @[Debug.scala 273:22:shc.marmotcaravel.MarmotCaravelConfig.fir@109298.4]
+  wire [1:0] _T_237; // @[Debug.scala 257:107:shc.marmotcaravel.MarmotCaravelConfig.fir@109217.4]
+  wire  DMCONTROLReg_hartreset; // @[Debug.scala 257:66:shc.marmotcaravel.MarmotCaravelConfig.fir@109248.4]
+  wire  DMCONTROLNxt_hartreset; // @[Debug.scala 273:22:shc.marmotcaravel.MarmotCaravelConfig.fir@109298.4]
+  wire [2:0] _T_238; // @[Debug.scala 257:107:shc.marmotcaravel.MarmotCaravelConfig.fir@109218.4]
+  wire [5:0] _T_239; // @[Debug.scala 257:107:shc.marmotcaravel.MarmotCaravelConfig.fir@109219.4]
+  wire [1:0] _T_277; // @[Debug.scala 292:51:shc.marmotcaravel.MarmotCaravelConfig.fir@109313.4]
+  wire [19:0] _T_278; // @[Debug.scala 292:51:shc.marmotcaravel.MarmotCaravelConfig.fir@109314.4]
+  wire [23:0] _T_279; // @[Debug.scala 292:51:shc.marmotcaravel.MarmotCaravelConfig.fir@109315.4]
+  wire [25:0] _T_280; // @[Debug.scala 292:51:shc.marmotcaravel.MarmotCaravelConfig.fir@109316.4]
+  wire [1:0] _T_281; // @[Debug.scala 292:51:shc.marmotcaravel.MarmotCaravelConfig.fir@109317.4]
+  wire [2:0] _T_282; // @[Debug.scala 292:51:shc.marmotcaravel.MarmotCaravelConfig.fir@109318.4]
+  wire [1:0] _T_283; // @[Debug.scala 292:51:shc.marmotcaravel.MarmotCaravelConfig.fir@109319.4]
+  wire [2:0] _T_284; // @[Debug.scala 292:51:shc.marmotcaravel.MarmotCaravelConfig.fir@109320.4]
+  wire [5:0] _T_285; // @[Debug.scala 292:51:shc.marmotcaravel.MarmotCaravelConfig.fir@109321.4]
+  wire [31:0] _T_286; // @[Debug.scala 292:51:shc.marmotcaravel.MarmotCaravelConfig.fir@109322.4]
+  wire  debugIntRegs_0; // @[Debug.scala 304:33:shc.marmotcaravel.MarmotCaravelConfig.fir@109538.4]
+  wire  _T_553; // @[Debug.scala 325:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109552.6]
+  wire  _T_554; // @[Debug.scala 325:29:shc.marmotcaravel.MarmotCaravelConfig.fir@109553.6]
+  wire  _GEN_18; // @[Debug.scala 325:75:shc.marmotcaravel.MarmotCaravelConfig.fir@109554.6]
+  TLMonitor_49 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@109112.4]
+    .clock(TLMonitor_clock),
+    .reset(TLMonitor_reset),
+    .io_in_a_ready(TLMonitor_io_in_a_ready),
+    .io_in_a_valid(TLMonitor_io_in_a_valid),
+    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
+    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
+    .io_in_d_ready(TLMonitor_io_in_d_ready),
+    .io_in_d_valid(TLMonitor_io_in_d_valid),
+    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode)
+  );
+  AsyncResetRegVec_w32_i0 DMCONTROL ( // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@109221.4]
+    .clock(DMCONTROL_clock),
+    .reset(DMCONTROL_reset),
+    .io_d(DMCONTROL_io_d),
+    .io_q(DMCONTROL_io_q),
+    .io_en(DMCONTROL_io_en)
+  );
+  AsyncResetRegVec_w1_i0 debugInterrupts ( // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@109532.4]
+    .clock(debugInterrupts_clock),
+    .reset(debugInterrupts_reset),
+    .io_d(debugInterrupts_io_d),
+    .io_q(debugInterrupts_io_q),
+    .io_en(debugInterrupts_io_en)
+  );
+  assign _T_244 = DMCONTROL_io_q; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@109229.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@109231.4]
+  assign DMCONTROLReg_dmactive = _T_244[0]; // @[Debug.scala 257:66:shc.marmotcaravel.MarmotCaravelConfig.fir@109232.4]
+  assign _T_276 = ~ DMCONTROLReg_dmactive; // @[Debug.scala 273:11:shc.marmotcaravel.MarmotCaravelConfig.fir@109297.4]
+  assign _T_294 = auto_dmi_in_a_bits_opcode == 3'h4; // @[RegisterRouter.scala 58:36:shc.marmotcaravel.MarmotCaravelConfig.fir@109325.4]
+  assign _T_295 = auto_dmi_in_a_bits_address[6:2]; // @[Edges.scala 192:34:shc.marmotcaravel.MarmotCaravelConfig.fir@109327.4]
+  assign _T_291_bits_index = _T_295[0]; // @[RegisterRouter.scala 57:18:shc.marmotcaravel.MarmotCaravelConfig.fir@109323.4 RegisterRouter.scala 59:19:shc.marmotcaravel.MarmotCaravelConfig.fir@109328.4]
+  assign _T_314 = _T_291_bits_index == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@109341.4]
+  assign _T_460 = auto_dmi_in_a_valid & auto_dmi_in_d_ready; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@109463.4]
+  assign _T_461 = _T_294 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@109464.4]
+  assign _T_462 = _T_460 & _T_461; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@109465.4]
+  assign _T_402 = 2'h1 << 1'h0; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@109414.4]
+  assign _T_403 = _T_402[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@109415.4]
+  assign _T_465 = _T_462 & _T_403; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@109468.4]
+  assign _T_466 = _T_465 & _T_314; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@109469.4]
+  assign _T_362 = auto_dmi_in_a_bits_mask[3]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@109369.4]
+  assign _T_370 = _T_362 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@109377.4]
+  assign _T_361 = auto_dmi_in_a_bits_mask[2]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@109368.4]
+  assign _T_368 = _T_361 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@109375.4]
+  assign _T_372 = {_T_370,_T_368}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109379.4]
+  assign _T_360 = auto_dmi_in_a_bits_mask[1]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@109367.4]
+  assign _T_366 = _T_360 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@109373.4]
+  assign _T_359 = auto_dmi_in_a_bits_mask[0]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@109366.4]
+  assign _T_364 = _T_359 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@109371.4]
+  assign _T_371 = {_T_366,_T_364}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109378.4]
+  assign _T_373 = {_T_372,_T_371}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109380.4]
+  assign _T_382 = ~ _T_373; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@109389.4]
+  assign _T_383 = _T_382 == 32'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@109390.4]
+  assign DMCONTROLWrEn = _T_466 & _T_383; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@109394.4]
+  assign DMCONTROLWrDataVal = DMCONTROLWrEn ? auto_dmi_in_a_bits_data : 32'h0; // @[Debug.scala 215:24:shc.marmotcaravel.MarmotCaravelConfig.fir@109398.4]
+  assign DMCONTROLWrData_ndmreset = DMCONTROLWrDataVal[1]; // @[Debug.scala 266:59:shc.marmotcaravel.MarmotCaravelConfig.fir@109270.4]
+  assign DMCONTROLReg_ndmreset = _T_244[1]; // @[Debug.scala 257:66:shc.marmotcaravel.MarmotCaravelConfig.fir@109234.4]
+  assign _GEN_0 = DMCONTROLWrEn ? DMCONTROLWrData_ndmreset : DMCONTROLReg_ndmreset; // @[Debug.scala 276:28:shc.marmotcaravel.MarmotCaravelConfig.fir@109302.6]
+  assign DMCONTROLNxt_ndmreset = _T_276 ? 1'h0 : _GEN_0; // @[Debug.scala 273:22:shc.marmotcaravel.MarmotCaravelConfig.fir@109298.4]
+  assign DMCONTROLWrData_dmactive = DMCONTROLWrDataVal[0]; // @[Debug.scala 266:59:shc.marmotcaravel.MarmotCaravelConfig.fir@109268.4]
+  assign _GEN_15 = _T_276 ? 1'h0 : DMCONTROLReg_dmactive; // @[Debug.scala 273:22:shc.marmotcaravel.MarmotCaravelConfig.fir@109298.4]
+  assign DMCONTROLNxt_dmactive = DMCONTROLWrEn ? DMCONTROLWrData_dmactive : _GEN_15; // @[Debug.scala 286:26:shc.marmotcaravel.MarmotCaravelConfig.fir@109310.4]
+  assign _T_231 = {DMCONTROLNxt_ndmreset,DMCONTROLNxt_dmactive}; // @[Debug.scala 257:107:shc.marmotcaravel.MarmotCaravelConfig.fir@109211.4]
+  assign DMCONTROLWrData_hartsello = DMCONTROLWrDataVal[25:16]; // @[Debug.scala 266:59:shc.marmotcaravel.MarmotCaravelConfig.fir@109276.4]
+  assign DMCONTROLReg_hartsello = _T_244[25:16]; // @[Debug.scala 257:66:shc.marmotcaravel.MarmotCaravelConfig.fir@109240.4]
+  assign _GEN_1 = DMCONTROLWrEn ? DMCONTROLWrData_hartsello : DMCONTROLReg_hartsello; // @[Debug.scala 276:28:shc.marmotcaravel.MarmotCaravelConfig.fir@109302.6]
+  assign DMCONTROLNxt_hartsello = _T_276 ? 10'h0 : _GEN_1; // @[Debug.scala 273:22:shc.marmotcaravel.MarmotCaravelConfig.fir@109298.4]
+  assign DMCONTROLReg_hartselhi = _T_244[15:6]; // @[Debug.scala 257:66:shc.marmotcaravel.MarmotCaravelConfig.fir@109238.4]
+  assign DMCONTROLNxt_hartselhi = _T_276 ? 10'h0 : DMCONTROLReg_hartselhi; // @[Debug.scala 273:22:shc.marmotcaravel.MarmotCaravelConfig.fir@109298.4]
+  assign _T_232 = {DMCONTROLNxt_hartsello,DMCONTROLNxt_hartselhi}; // @[Debug.scala 257:107:shc.marmotcaravel.MarmotCaravelConfig.fir@109212.4]
+  assign DMCONTROLReg_reserved1 = _T_244[5:2]; // @[Debug.scala 257:66:shc.marmotcaravel.MarmotCaravelConfig.fir@109236.4]
+  assign DMCONTROLNxt_reserved1 = _T_276 ? 4'h0 : DMCONTROLReg_reserved1; // @[Debug.scala 273:22:shc.marmotcaravel.MarmotCaravelConfig.fir@109298.4]
+  assign _T_233 = {_T_232,DMCONTROLNxt_reserved1}; // @[Debug.scala 257:107:shc.marmotcaravel.MarmotCaravelConfig.fir@109213.4]
+  assign _T_234 = {_T_233,_T_231}; // @[Debug.scala 257:107:shc.marmotcaravel.MarmotCaravelConfig.fir@109214.4]
+  assign DMCONTROLWrData_ackhavereset = DMCONTROLWrDataVal[28]; // @[Debug.scala 266:59:shc.marmotcaravel.MarmotCaravelConfig.fir@109282.4]
+  assign DMCONTROLReg_ackhavereset = _T_244[28]; // @[Debug.scala 257:66:shc.marmotcaravel.MarmotCaravelConfig.fir@109246.4]
+  assign _GEN_4 = DMCONTROLWrEn ? DMCONTROLWrData_ackhavereset : DMCONTROLReg_ackhavereset; // @[Debug.scala 276:28:shc.marmotcaravel.MarmotCaravelConfig.fir@109302.6]
+  assign DMCONTROLNxt_ackhavereset = _T_276 ? 1'h0 : _GEN_4; // @[Debug.scala 273:22:shc.marmotcaravel.MarmotCaravelConfig.fir@109298.4]
+  assign DMCONTROLReg_reserved0 = _T_244[27]; // @[Debug.scala 257:66:shc.marmotcaravel.MarmotCaravelConfig.fir@109244.4]
+  assign DMCONTROLNxt_reserved0 = _T_276 ? 1'h0 : DMCONTROLReg_reserved0; // @[Debug.scala 273:22:shc.marmotcaravel.MarmotCaravelConfig.fir@109298.4]
+  assign _T_235 = {DMCONTROLNxt_ackhavereset,DMCONTROLNxt_reserved0}; // @[Debug.scala 257:107:shc.marmotcaravel.MarmotCaravelConfig.fir@109215.4]
+  assign DMCONTROLReg_hasel = _T_244[26]; // @[Debug.scala 257:66:shc.marmotcaravel.MarmotCaravelConfig.fir@109242.4]
+  assign DMCONTROLNxt_hasel = _T_276 ? 1'h0 : DMCONTROLReg_hasel; // @[Debug.scala 273:22:shc.marmotcaravel.MarmotCaravelConfig.fir@109298.4]
+  assign _T_236 = {_T_235,DMCONTROLNxt_hasel}; // @[Debug.scala 257:107:shc.marmotcaravel.MarmotCaravelConfig.fir@109216.4]
+  assign DMCONTROLWrData_haltreq = DMCONTROLWrDataVal[31]; // @[Debug.scala 266:59:shc.marmotcaravel.MarmotCaravelConfig.fir@109288.4]
+  assign DMCONTROLReg_haltreq = _T_244[31]; // @[Debug.scala 257:66:shc.marmotcaravel.MarmotCaravelConfig.fir@109252.4]
+  assign _GEN_2 = DMCONTROLWrEn ? DMCONTROLWrData_haltreq : DMCONTROLReg_haltreq; // @[Debug.scala 276:28:shc.marmotcaravel.MarmotCaravelConfig.fir@109302.6]
+  assign DMCONTROLNxt_haltreq = _T_276 ? 1'h0 : _GEN_2; // @[Debug.scala 273:22:shc.marmotcaravel.MarmotCaravelConfig.fir@109298.4]
+  assign DMCONTROLWrData_resumereq = DMCONTROLWrDataVal[30]; // @[Debug.scala 266:59:shc.marmotcaravel.MarmotCaravelConfig.fir@109286.4]
+  assign DMCONTROLReg_resumereq = _T_244[30]; // @[Debug.scala 257:66:shc.marmotcaravel.MarmotCaravelConfig.fir@109250.4]
+  assign _GEN_3 = DMCONTROLWrEn ? DMCONTROLWrData_resumereq : DMCONTROLReg_resumereq; // @[Debug.scala 276:28:shc.marmotcaravel.MarmotCaravelConfig.fir@109302.6]
+  assign DMCONTROLNxt_resumereq = _T_276 ? 1'h0 : _GEN_3; // @[Debug.scala 273:22:shc.marmotcaravel.MarmotCaravelConfig.fir@109298.4]
+  assign _T_237 = {DMCONTROLNxt_haltreq,DMCONTROLNxt_resumereq}; // @[Debug.scala 257:107:shc.marmotcaravel.MarmotCaravelConfig.fir@109217.4]
+  assign DMCONTROLReg_hartreset = _T_244[29]; // @[Debug.scala 257:66:shc.marmotcaravel.MarmotCaravelConfig.fir@109248.4]
+  assign DMCONTROLNxt_hartreset = _T_276 ? 1'h0 : DMCONTROLReg_hartreset; // @[Debug.scala 273:22:shc.marmotcaravel.MarmotCaravelConfig.fir@109298.4]
+  assign _T_238 = {_T_237,DMCONTROLNxt_hartreset}; // @[Debug.scala 257:107:shc.marmotcaravel.MarmotCaravelConfig.fir@109218.4]
+  assign _T_239 = {_T_238,_T_236}; // @[Debug.scala 257:107:shc.marmotcaravel.MarmotCaravelConfig.fir@109219.4]
+  assign _T_277 = {DMCONTROLReg_ndmreset,DMCONTROLReg_dmactive}; // @[Debug.scala 292:51:shc.marmotcaravel.MarmotCaravelConfig.fir@109313.4]
+  assign _T_278 = {DMCONTROLReg_hartsello,DMCONTROLReg_hartselhi}; // @[Debug.scala 292:51:shc.marmotcaravel.MarmotCaravelConfig.fir@109314.4]
+  assign _T_279 = {_T_278,DMCONTROLReg_reserved1}; // @[Debug.scala 292:51:shc.marmotcaravel.MarmotCaravelConfig.fir@109315.4]
+  assign _T_280 = {_T_279,_T_277}; // @[Debug.scala 292:51:shc.marmotcaravel.MarmotCaravelConfig.fir@109316.4]
+  assign _T_281 = {DMCONTROLReg_ackhavereset,DMCONTROLReg_reserved0}; // @[Debug.scala 292:51:shc.marmotcaravel.MarmotCaravelConfig.fir@109317.4]
+  assign _T_282 = {_T_281,DMCONTROLReg_hasel}; // @[Debug.scala 292:51:shc.marmotcaravel.MarmotCaravelConfig.fir@109318.4]
+  assign _T_283 = {DMCONTROLReg_haltreq,DMCONTROLReg_resumereq}; // @[Debug.scala 292:51:shc.marmotcaravel.MarmotCaravelConfig.fir@109319.4]
+  assign _T_284 = {_T_283,DMCONTROLReg_hartreset}; // @[Debug.scala 292:51:shc.marmotcaravel.MarmotCaravelConfig.fir@109320.4]
+  assign _T_285 = {_T_284,_T_282}; // @[Debug.scala 292:51:shc.marmotcaravel.MarmotCaravelConfig.fir@109321.4]
+  assign _T_286 = {_T_285,_T_280}; // @[Debug.scala 292:51:shc.marmotcaravel.MarmotCaravelConfig.fir@109322.4]
+  assign debugIntRegs_0 = debugInterrupts_io_q; // @[Debug.scala 304:33:shc.marmotcaravel.MarmotCaravelConfig.fir@109538.4]
+  assign _T_553 = DMCONTROLWrData_hartsello == 10'h0; // @[Debug.scala 325:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109552.6]
+  assign _T_554 = DMCONTROLWrEn & _T_553; // @[Debug.scala 325:29:shc.marmotcaravel.MarmotCaravelConfig.fir@109553.6]
+  assign _GEN_18 = _T_554 ? DMCONTROLWrData_haltreq : debugIntRegs_0; // @[Debug.scala 325:75:shc.marmotcaravel.MarmotCaravelConfig.fir@109554.6]
+  assign auto_dmi_in_a_ready = auto_dmi_in_d_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@109150.4]
+  assign auto_dmi_in_d_valid = auto_dmi_in_a_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@109150.4]
+  assign auto_dmi_in_d_bits_opcode = {{2'd0}, _T_294}; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@109150.4]
+  assign auto_dmi_in_d_bits_data = _T_314 ? _T_286 : 32'h0; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@109150.4]
+  assign auto_int_out_0 = debugInterrupts_io_q; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@109149.4]
+  assign io_ctrl_ndreset = _T_244[1]; // @[Debug.scala 336:21:shc.marmotcaravel.MarmotCaravelConfig.fir@109562.4]
+  assign io_ctrl_dmactive = _T_244[0]; // @[Debug.scala 337:22:shc.marmotcaravel.MarmotCaravelConfig.fir@109563.4]
+  assign io_innerCtrl_valid = _T_466 & _T_383; // @[Debug.scala 331:24:shc.marmotcaravel.MarmotCaravelConfig.fir@109558.4]
+  assign io_innerCtrl_bits_resumereq = DMCONTROLWrDataVal[30]; // @[Debug.scala 333:36:shc.marmotcaravel.MarmotCaravelConfig.fir@109560.4]
+  assign io_innerCtrl_bits_hartsel = DMCONTROLWrDataVal[25:16]; // @[Debug.scala 332:36:shc.marmotcaravel.MarmotCaravelConfig.fir@109559.4]
+  assign io_innerCtrl_bits_ackhavereset = DMCONTROLWrDataVal[28]; // @[Debug.scala 334:36:shc.marmotcaravel.MarmotCaravelConfig.fir@109561.4]
+  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@109114.4]
+  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@109115.4]
+  assign TLMonitor_io_in_a_ready = auto_dmi_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@109148.4]
+  assign TLMonitor_io_in_a_valid = auto_dmi_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@109148.4]
+  assign TLMonitor_io_in_a_bits_opcode = auto_dmi_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@109148.4]
+  assign TLMonitor_io_in_a_bits_address = auto_dmi_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@109148.4]
+  assign TLMonitor_io_in_a_bits_mask = auto_dmi_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@109148.4]
+  assign TLMonitor_io_in_d_ready = auto_dmi_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@109148.4]
+  assign TLMonitor_io_in_d_valid = auto_dmi_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@109148.4]
+  assign TLMonitor_io_in_d_bits_opcode = {{2'd0}, _T_294}; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@109148.4]
+  assign DMCONTROL_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@109223.4]
+  assign DMCONTROL_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@109224.4]
+  assign DMCONTROL_io_d = {_T_239,_T_234}; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109225.4]
+  assign DMCONTROL_io_en = 1'h1; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@109226.4]
+  assign debugInterrupts_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@109534.4]
+  assign debugInterrupts_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@109535.4]
+  assign debugInterrupts_io_d = _T_276 ? 1'h0 : _GEN_18; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109536.4]
+  assign debugInterrupts_io_en = 1'h1; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@109537.4]
+endmodule
+module IntSyncCrossingSource( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@109565.2]
+  input   auto_in_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@109568.4]
+  output  auto_out_sync_0 // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@109568.4]
+);
+  assign auto_out_sync_0 = auto_in_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@109577.4]
+endmodule
+module TLMonitor_50( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@109588.2]
+  input        clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@109589.4]
+  input        reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@109590.4]
+  input        io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@109591.4]
+  input        io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@109591.4]
+  input  [2:0] io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@109591.4]
+  input  [8:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@109591.4]
+  input  [3:0] io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@109591.4]
+  input        io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@109591.4]
+  input        io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@109591.4]
+  input  [2:0] io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@109591.4]
+  input  [1:0] io_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@109591.4]
+  input  [1:0] io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@109591.4]
+  input        io_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@109591.4]
+  input        io_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@109591.4]
+  input        io_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@109591.4]
+  input        io_in_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@109591.4]
+);
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@110996.4]
+  wire [4:0] _T_29; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@109611.6]
+  wire [1:0] _T_30; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@109612.6]
+  wire [1:0] _T_31; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@109613.6]
+  wire [8:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@109614.6]
+  wire [8:0] _T_32; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@109614.6]
+  wire  _T_33; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@109615.6]
+  wire [1:0] _T_36; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@109618.6]
+  wire [9:0] _T_70; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@109652.6]
+  wire  _T_78; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@109664.6]
+  wire [9:0] _T_82; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@109669.8]
+  wire [9:0] _T_83; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@109670.8]
+  wire  _T_84; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@109671.8]
+  wire [8:0] _T_85; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@109672.8]
+  wire [9:0] _T_86; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@109673.8]
+  wire [9:0] _T_87; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@109674.8]
+  wire [9:0] _T_88; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@109675.8]
+  wire  _T_89; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@109676.8]
+  wire [8:0] _T_90; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@109677.8]
+  wire [9:0] _T_91; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@109678.8]
+  wire [9:0] _T_92; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@109679.8]
+  wire [9:0] _T_93; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@109680.8]
+  wire  _T_94; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@109681.8]
+  wire [8:0] _T_95; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@109682.8]
+  wire [9:0] _T_96; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@109683.8]
+  wire [9:0] _T_97; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@109684.8]
+  wire [9:0] _T_98; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@109685.8]
+  wire  _T_99; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@109686.8]
+  wire [8:0] _T_100; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@109687.8]
+  wire [9:0] _T_101; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@109688.8]
+  wire [9:0] _T_102; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@109689.8]
+  wire [9:0] _T_103; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@109690.8]
+  wire  _T_104; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@109691.8]
+  wire [8:0] _T_105; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@109692.8]
+  wire [9:0] _T_106; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@109693.8]
+  wire [9:0] _T_107; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@109694.8]
+  wire [9:0] _T_108; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@109695.8]
+  wire  _T_109; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@109696.8]
+  wire [8:0] _T_110; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@109697.8]
+  wire [9:0] _T_111; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@109698.8]
+  wire [9:0] _T_112; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@109699.8]
+  wire [9:0] _T_113; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@109700.8]
+  wire  _T_114; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@109701.8]
+  wire  _T_115; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@109702.8]
+  wire  _T_116; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@109703.8]
+  wire  _T_117; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@109704.8]
+  wire  _T_118; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@109705.8]
+  wire  _T_119; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@109706.8]
+  wire  _T_120; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@109707.8]
+  wire  _T_125; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109712.8]
+  wire  _T_137; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109740.8]
+  wire  _T_138; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109741.8]
+  wire [3:0] _T_143; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@109754.8]
+  wire  _T_144; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@109755.8]
+  wire  _T_146; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109757.8]
+  wire  _T_147; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109758.8]
+  wire  _T_152; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@109772.6]
+  wire  _T_230; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@109888.6]
+  wire  _T_279; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109938.8]
+  wire  _T_280; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109939.8]
+  wire  _T_291; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@109966.8]
+  wire  _T_293; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109968.8]
+  wire  _T_294; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109969.8]
+  wire  _T_299; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@109983.6]
+  wire  _T_364; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@110070.6]
+  wire  _T_431; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@110159.6]
+  wire  _T_493; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@110243.6]
+  wire  _T_555; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@110327.6]
+  wire  _T_617; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@110413.6]
+  wire  _T_619; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@110415.6]
+  wire  _T_620; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@110416.6]
+  wire  _T_621; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@110421.6]
+  wire  _T_630; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@110426.6]
+  wire  _T_632; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110429.8]
+  wire  _T_633; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110430.8]
+  wire  _T_634; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@110435.8]
+  wire  _T_636; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110437.8]
+  wire  _T_637; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110438.8]
+  wire  _T_638; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@110443.8]
+  wire  _T_640; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110445.8]
+  wire  _T_641; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110446.8]
+  wire  _T_642; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@110451.8]
+  wire  _T_644; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110453.8]
+  wire  _T_645; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110454.8]
+  wire  _T_646; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@110459.8]
+  wire  _T_648; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110461.8]
+  wire  _T_649; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110462.8]
+  wire  _T_650; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@110468.6]
+  wire  _T_661; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@110492.8]
+  wire  _T_663; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110494.8]
+  wire  _T_664; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110495.8]
+  wire  _T_665; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@110500.8]
+  wire  _T_667; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110502.8]
+  wire  _T_668; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110503.8]
+  wire  _T_678; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@110526.6]
+  wire  _T_698; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@110567.8]
+  wire  _T_700; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110569.8]
+  wire  _T_701; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110570.8]
+  wire  _T_707; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@110585.6]
+  wire  _T_724; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@110620.6]
+  wire  _T_742; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@110656.6]
+  wire  _T_771; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@110716.4]
+  reg  _T_781; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@110725.4]
+  reg [31:0] _RAND_0;
+  wire [1:0] _T_782; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@110726.4]
+  wire [1:0] _T_783; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@110727.4]
+  wire  _T_784; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@110728.4]
+  wire  _T_785; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@110729.4]
+  reg [2:0] _T_794; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@110740.4]
+  reg [31:0] _RAND_1;
+  reg [8:0] _T_802; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@110744.4]
+  reg [31:0] _RAND_2;
+  wire  _T_803; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@110745.4]
+  wire  _T_804; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@110746.4]
+  wire  _T_805; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@110748.6]
+  wire  _T_807; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110750.6]
+  wire  _T_808; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110751.6]
+  wire  _T_821; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@110780.6]
+  wire  _T_823; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110782.6]
+  wire  _T_824; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110783.6]
+  wire  _T_826; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@110790.4]
+  wire  _T_827; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@110798.4]
+  reg  _T_836; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@110806.4]
+  reg [31:0] _RAND_3;
+  wire [1:0] _T_837; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@110807.4]
+  wire [1:0] _T_838; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@110808.4]
+  wire  _T_839; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@110809.4]
+  wire  _T_840; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@110810.4]
+  reg [2:0] _T_849; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@110821.4]
+  reg [31:0] _RAND_4;
+  reg [1:0] _T_851; // @[Monitor.scala 419:22:shc.marmotcaravel.MarmotCaravelConfig.fir@110822.4]
+  reg [31:0] _RAND_5;
+  reg [1:0] _T_853; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@110823.4]
+  reg [31:0] _RAND_6;
+  reg  _T_855; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@110824.4]
+  reg [31:0] _RAND_7;
+  reg  _T_857; // @[Monitor.scala 422:22:shc.marmotcaravel.MarmotCaravelConfig.fir@110825.4]
+  reg [31:0] _RAND_8;
+  reg  _T_859; // @[Monitor.scala 423:22:shc.marmotcaravel.MarmotCaravelConfig.fir@110826.4]
+  reg [31:0] _RAND_9;
+  wire  _T_860; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@110827.4]
+  wire  _T_861; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@110828.4]
+  wire  _T_862; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@110830.6]
+  wire  _T_864; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110832.6]
+  wire  _T_865; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110833.6]
+  wire  _T_866; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@110838.6]
+  wire  _T_868; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110840.6]
+  wire  _T_869; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110841.6]
+  wire  _T_870; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@110846.6]
+  wire  _T_872; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110848.6]
+  wire  _T_873; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110849.6]
+  wire  _T_874; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@110854.6]
+  wire  _T_876; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110856.6]
+  wire  _T_877; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110857.6]
+  wire  _T_878; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@110862.6]
+  wire  _T_880; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110864.6]
+  wire  _T_881; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110865.6]
+  wire  _T_882; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@110870.6]
+  wire  _T_884; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110872.6]
+  wire  _T_885; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110873.6]
+  wire  _T_887; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@110880.4]
+  reg  _T_889; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@110889.4]
+  reg [31:0] _RAND_10;
+  reg  _T_900; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@110899.4]
+  reg [31:0] _RAND_11;
+  wire [1:0] _T_901; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@110900.4]
+  wire [1:0] _T_902; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@110901.4]
+  wire  _T_903; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@110902.4]
+  wire  _T_904; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@110903.4]
+  reg  _T_921; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@110922.4]
+  reg [31:0] _RAND_12;
+  wire [1:0] _T_922; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@110923.4]
+  wire [1:0] _T_923; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@110924.4]
+  wire  _T_924; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@110925.4]
+  wire  _T_925; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@110926.4]
+  wire  _T_936; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@110941.4]
+  wire  _T_939; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@110946.6]
+  wire  _T_941; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110948.6]
+  wire  _T_943; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@110950.6]
+  wire  _T_944; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@110951.6]
+  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@110943.4]
+  wire  _T_949; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@110962.4]
+  wire  _T_951; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@110964.4]
+  wire  _T_952; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@110965.4]
+  wire [1:0] _T_953; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@110967.6]
+  wire  _T_934; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@110937.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@110939.4 Monitor.scala 459:13:shc.marmotcaravel.MarmotCaravelConfig.fir@110945.6]
+  wire  _T_954; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@110969.6]
+  wire  _T_955; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@110970.6]
+  wire  _T_958; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@110973.6]
+  wire  _T_959; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@110974.6]
+  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@110966.4]
+  wire  _T_946; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@110957.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@110959.4 Monitor.scala 466:13:shc.marmotcaravel.MarmotCaravelConfig.fir@110968.6]
+  wire  _T_960; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@110980.4]
+  wire  _T_962; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@110982.4]
+  wire  _T_963; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@110983.4]
+  wire  _T_965; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@110985.4]
+  wire  _T_966; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@110986.4]
+  wire  _T_967; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@110991.4]
+  wire  _T_968; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@110992.4]
+  wire  _T_969; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@110993.4]
+  reg [31:0] _T_971; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@110995.4]
+  reg [31:0] _RAND_13;
+  wire  _T_973; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@110999.4]
+  wire  _T_974; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@111000.4]
+  wire  _T_975; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@111001.4]
+  wire  _T_976; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@111002.4]
+  wire  _T_977; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@111003.4]
+  wire  _T_979; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@111005.4]
+  wire  _T_980; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@111006.4]
+  wire [31:0] _T_982; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@111012.4]
+  wire  _T_985; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@111016.4]
+  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109714.10]
+  wire  _GEN_27; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109822.10]
+  wire  _GEN_37; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109941.10]
+  wire  _GEN_43; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110036.10]
+  wire  _GEN_49; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110123.10]
+  wire  _GEN_53; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110209.10]
+  wire  _GEN_59; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110293.10]
+  wire  _GEN_65; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110377.10]
+  wire  _GEN_71; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110432.10]
+  wire  _GEN_81; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110474.10]
+  wire  _GEN_95; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110532.10]
+  wire  _GEN_109; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110591.10]
+  wire  _GEN_117; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110626.10]
+  wire  _GEN_125; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110662.10]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@110996.4]
+    .out(plusarg_reader_out)
+  );
+  assign _T_29 = 5'h3 << 2'h2; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@109611.6]
+  assign _T_30 = _T_29[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@109612.6]
+  assign _T_31 = ~ _T_30; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@109613.6]
+  assign _GEN_18 = {{7'd0}, _T_31}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@109614.6]
+  assign _T_32 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@109614.6]
+  assign _T_33 = _T_32 == 9'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@109615.6]
+  assign _T_36 = 2'h1 << 1'h0; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@109618.6]
+  assign _T_70 = {1'b0,$signed(io_in_a_bits_address)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@109652.6]
+  assign _T_78 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@109664.6]
+  assign _T_82 = $signed(_T_70) & $signed(-10'sh40); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@109669.8]
+  assign _T_83 = $signed(_T_82); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@109670.8]
+  assign _T_84 = $signed(_T_83) == $signed(10'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@109671.8]
+  assign _T_85 = io_in_a_bits_address ^ 9'h44; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@109672.8]
+  assign _T_86 = {1'b0,$signed(_T_85)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@109673.8]
+  assign _T_87 = $signed(_T_86) & $signed(-10'sh4); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@109674.8]
+  assign _T_88 = $signed(_T_87); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@109675.8]
+  assign _T_89 = $signed(_T_88) == $signed(10'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@109676.8]
+  assign _T_90 = io_in_a_bits_address ^ 9'h48; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@109677.8]
+  assign _T_91 = {1'b0,$signed(_T_90)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@109678.8]
+  assign _T_92 = $signed(_T_91) & $signed(-10'sh8); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@109679.8]
+  assign _T_93 = $signed(_T_92); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@109680.8]
+  assign _T_94 = $signed(_T_93) == $signed(10'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@109681.8]
+  assign _T_95 = io_in_a_bits_address ^ 9'h50; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@109682.8]
+  assign _T_96 = {1'b0,$signed(_T_95)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@109683.8]
+  assign _T_97 = $signed(_T_96) & $signed(-10'sh10); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@109684.8]
+  assign _T_98 = $signed(_T_97); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@109685.8]
+  assign _T_99 = $signed(_T_98) == $signed(10'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@109686.8]
+  assign _T_100 = io_in_a_bits_address ^ 9'h60; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@109687.8]
+  assign _T_101 = {1'b0,$signed(_T_100)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@109688.8]
+  assign _T_102 = $signed(_T_101) & $signed(-10'sh20); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@109689.8]
+  assign _T_103 = $signed(_T_102); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@109690.8]
+  assign _T_104 = $signed(_T_103) == $signed(10'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@109691.8]
+  assign _T_105 = io_in_a_bits_address ^ 9'h80; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@109692.8]
+  assign _T_106 = {1'b0,$signed(_T_105)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@109693.8]
+  assign _T_107 = $signed(_T_106) & $signed(-10'sh80); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@109694.8]
+  assign _T_108 = $signed(_T_107); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@109695.8]
+  assign _T_109 = $signed(_T_108) == $signed(10'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@109696.8]
+  assign _T_110 = io_in_a_bits_address ^ 9'h100; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@109697.8]
+  assign _T_111 = {1'b0,$signed(_T_110)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@109698.8]
+  assign _T_112 = $signed(_T_111) & $signed(-10'sh100); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@109699.8]
+  assign _T_113 = $signed(_T_112); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@109700.8]
+  assign _T_114 = $signed(_T_113) == $signed(10'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@109701.8]
+  assign _T_115 = _T_84 | _T_89; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@109702.8]
+  assign _T_116 = _T_115 | _T_94; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@109703.8]
+  assign _T_117 = _T_116 | _T_99; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@109704.8]
+  assign _T_118 = _T_117 | _T_104; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@109705.8]
+  assign _T_119 = _T_118 | _T_109; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@109706.8]
+  assign _T_120 = _T_119 | _T_114; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@109707.8]
+  assign _T_125 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109712.8]
+  assign _T_137 = _T_33 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109740.8]
+  assign _T_138 = _T_137 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109741.8]
+  assign _T_143 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@109754.8]
+  assign _T_144 = _T_143 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@109755.8]
+  assign _T_146 = _T_144 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109757.8]
+  assign _T_147 = _T_146 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109758.8]
+  assign _T_152 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@109772.6]
+  assign _T_230 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@109888.6]
+  assign _T_279 = _T_120 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109938.8]
+  assign _T_280 = _T_279 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109939.8]
+  assign _T_291 = io_in_a_bits_mask == 4'hf; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@109966.8]
+  assign _T_293 = _T_291 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109968.8]
+  assign _T_294 = _T_293 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109969.8]
+  assign _T_299 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@109983.6]
+  assign _T_364 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@110070.6]
+  assign _T_431 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@110159.6]
+  assign _T_493 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@110243.6]
+  assign _T_555 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@110327.6]
+  assign _T_617 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@110413.6]
+  assign _T_619 = _T_617 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@110415.6]
+  assign _T_620 = _T_619 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@110416.6]
+  assign _T_621 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@110421.6]
+  assign _T_630 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@110426.6]
+  assign _T_632 = _T_621 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110429.8]
+  assign _T_633 = _T_632 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110430.8]
+  assign _T_634 = io_in_d_bits_size >= 2'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@110435.8]
+  assign _T_636 = _T_634 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110437.8]
+  assign _T_637 = _T_636 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110438.8]
+  assign _T_638 = io_in_d_bits_param == 2'h0; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@110443.8]
+  assign _T_640 = _T_638 | reset; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110445.8]
+  assign _T_641 = _T_640 == 1'h0; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110446.8]
+  assign _T_642 = io_in_d_bits_corrupt == 1'h0; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@110451.8]
+  assign _T_644 = _T_642 | reset; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110453.8]
+  assign _T_645 = _T_644 == 1'h0; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110454.8]
+  assign _T_646 = io_in_d_bits_denied == 1'h0; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@110459.8]
+  assign _T_648 = _T_646 | reset; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110461.8]
+  assign _T_649 = _T_648 == 1'h0; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110462.8]
+  assign _T_650 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@110468.6]
+  assign _T_661 = io_in_d_bits_param <= 2'h2; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@110492.8]
+  assign _T_663 = _T_661 | reset; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110494.8]
+  assign _T_664 = _T_663 == 1'h0; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110495.8]
+  assign _T_665 = io_in_d_bits_param != 2'h2; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@110500.8]
+  assign _T_667 = _T_665 | reset; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110502.8]
+  assign _T_668 = _T_667 == 1'h0; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110503.8]
+  assign _T_678 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@110526.6]
+  assign _T_698 = _T_646 | io_in_d_bits_corrupt; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@110567.8]
+  assign _T_700 = _T_698 | reset; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110569.8]
+  assign _T_701 = _T_700 == 1'h0; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110570.8]
+  assign _T_707 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@110585.6]
+  assign _T_724 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@110620.6]
+  assign _T_742 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@110656.6]
+  assign _T_771 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@110716.4]
+  assign _T_782 = _T_781 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@110726.4]
+  assign _T_783 = $unsigned(_T_782); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@110727.4]
+  assign _T_784 = _T_783[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@110728.4]
+  assign _T_785 = _T_781 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@110729.4]
+  assign _T_803 = _T_785 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@110745.4]
+  assign _T_804 = io_in_a_valid & _T_803; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@110746.4]
+  assign _T_805 = io_in_a_bits_opcode == _T_794; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@110748.6]
+  assign _T_807 = _T_805 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110750.6]
+  assign _T_808 = _T_807 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110751.6]
+  assign _T_821 = io_in_a_bits_address == _T_802; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@110780.6]
+  assign _T_823 = _T_821 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110782.6]
+  assign _T_824 = _T_823 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110783.6]
+  assign _T_826 = _T_771 & _T_785; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@110790.4]
+  assign _T_827 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@110798.4]
+  assign _T_837 = _T_836 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@110807.4]
+  assign _T_838 = $unsigned(_T_837); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@110808.4]
+  assign _T_839 = _T_838[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@110809.4]
+  assign _T_840 = _T_836 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@110810.4]
+  assign _T_860 = _T_840 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@110827.4]
+  assign _T_861 = io_in_d_valid & _T_860; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@110828.4]
+  assign _T_862 = io_in_d_bits_opcode == _T_849; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@110830.6]
+  assign _T_864 = _T_862 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110832.6]
+  assign _T_865 = _T_864 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110833.6]
+  assign _T_866 = io_in_d_bits_param == _T_851; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@110838.6]
+  assign _T_868 = _T_866 | reset; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110840.6]
+  assign _T_869 = _T_868 == 1'h0; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110841.6]
+  assign _T_870 = io_in_d_bits_size == _T_853; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@110846.6]
+  assign _T_872 = _T_870 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110848.6]
+  assign _T_873 = _T_872 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110849.6]
+  assign _T_874 = io_in_d_bits_source == _T_855; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@110854.6]
+  assign _T_876 = _T_874 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110856.6]
+  assign _T_877 = _T_876 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110857.6]
+  assign _T_878 = io_in_d_bits_sink == _T_857; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@110862.6]
+  assign _T_880 = _T_878 | reset; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110864.6]
+  assign _T_881 = _T_880 == 1'h0; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110865.6]
+  assign _T_882 = io_in_d_bits_denied == _T_859; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@110870.6]
+  assign _T_884 = _T_882 | reset; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110872.6]
+  assign _T_885 = _T_884 == 1'h0; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110873.6]
+  assign _T_887 = _T_827 & _T_840; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@110880.4]
+  assign _T_901 = _T_900 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@110900.4]
+  assign _T_902 = $unsigned(_T_901); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@110901.4]
+  assign _T_903 = _T_902[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@110902.4]
+  assign _T_904 = _T_900 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@110903.4]
+  assign _T_922 = _T_921 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@110923.4]
+  assign _T_923 = $unsigned(_T_922); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@110924.4]
+  assign _T_924 = _T_923[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@110925.4]
+  assign _T_925 = _T_921 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@110926.4]
+  assign _T_936 = _T_771 & _T_904; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@110941.4]
+  assign _T_939 = _T_889 >> 1'h0; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@110946.6]
+  assign _T_941 = _T_939 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110948.6]
+  assign _T_943 = _T_941 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@110950.6]
+  assign _T_944 = _T_943 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@110951.6]
+  assign _GEN_15 = _T_936 ? _T_36 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@110943.4]
+  assign _T_949 = _T_827 & _T_925; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@110962.4]
+  assign _T_951 = _T_630 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@110964.4]
+  assign _T_952 = _T_949 & _T_951; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@110965.4]
+  assign _T_953 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@110967.6]
+  assign _T_934 = _GEN_15[0]; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@110937.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@110939.4 Monitor.scala 459:13:shc.marmotcaravel.MarmotCaravelConfig.fir@110945.6]
+  assign _T_954 = _T_934 | _T_889; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@110969.6]
+  assign _T_955 = _T_954 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@110970.6]
+  assign _T_958 = _T_955 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@110973.6]
+  assign _T_959 = _T_958 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@110974.6]
+  assign _GEN_16 = _T_952 ? _T_953 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@110966.4]
+  assign _T_946 = _GEN_16[0]; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@110957.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@110959.4 Monitor.scala 466:13:shc.marmotcaravel.MarmotCaravelConfig.fir@110968.6]
+  assign _T_960 = _T_934 != _T_946; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@110980.4]
+  assign _T_962 = _T_934 == 1'h0; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@110982.4]
+  assign _T_963 = _T_960 | _T_962; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@110983.4]
+  assign _T_965 = _T_963 | reset; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@110985.4]
+  assign _T_966 = _T_965 == 1'h0; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@110986.4]
+  assign _T_967 = _T_889 | _T_934; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@110991.4]
+  assign _T_968 = ~ _T_946; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@110992.4]
+  assign _T_969 = _T_967 & _T_968; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@110993.4]
+  assign _T_973 = _T_889 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@110999.4]
+  assign _T_974 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@111000.4]
+  assign _T_975 = _T_973 | _T_974; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@111001.4]
+  assign _T_976 = _T_971 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@111002.4]
+  assign _T_977 = _T_975 | _T_976; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@111003.4]
+  assign _T_979 = _T_977 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@111005.4]
+  assign _T_980 = _T_979 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@111006.4]
+  assign _T_982 = _T_971 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@111012.4]
+  assign _T_985 = _T_771 | _T_827; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@111016.4]
+  assign _GEN_19 = io_in_a_valid & _T_78; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109714.10]
+  assign _GEN_27 = io_in_a_valid & _T_152; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109822.10]
+  assign _GEN_37 = io_in_a_valid & _T_230; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109941.10]
+  assign _GEN_43 = io_in_a_valid & _T_299; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110036.10]
+  assign _GEN_49 = io_in_a_valid & _T_364; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110123.10]
+  assign _GEN_53 = io_in_a_valid & _T_431; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110209.10]
+  assign _GEN_59 = io_in_a_valid & _T_493; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110293.10]
+  assign _GEN_65 = io_in_a_valid & _T_555; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110377.10]
+  assign _GEN_71 = io_in_d_valid & _T_630; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110432.10]
+  assign _GEN_81 = io_in_d_valid & _T_650; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110474.10]
+  assign _GEN_95 = io_in_d_valid & _T_678; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110532.10]
+  assign _GEN_109 = io_in_d_valid & _T_707; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110591.10]
+  assign _GEN_117 = io_in_d_valid & _T_724; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110626.10]
+  assign _GEN_125 = io_in_d_valid & _T_742; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110662.10]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  _T_781 = _RAND_0[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  _T_794 = _RAND_1[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  _T_802 = _RAND_2[8:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  _T_836 = _RAND_3[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  _T_849 = _RAND_4[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  _T_851 = _RAND_5[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {1{`RANDOM}};
+  _T_853 = _RAND_6[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {1{`RANDOM}};
+  _T_855 = _RAND_7[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_8 = {1{`RANDOM}};
+  _T_857 = _RAND_8[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_9 = {1{`RANDOM}};
+  _T_859 = _RAND_9[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_10 = {1{`RANDOM}};
+  _T_889 = _RAND_10[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_11 = {1{`RANDOM}};
+  _T_900 = _RAND_11[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_12 = {1{`RANDOM}};
+  _T_921 = _RAND_12[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_13 = {1{`RANDOM}};
+  _T_971 = _RAND_13[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      _T_781 <= 1'h0;
+    end else begin
+      if (_T_771) begin
+        if (_T_785) begin
+          _T_781 <= 1'h0;
+        end else begin
+          _T_781 <= _T_784;
+        end
+      end
+    end
+    if (_T_826) begin
+      _T_794 <= io_in_a_bits_opcode;
+    end
+    if (_T_826) begin
+      _T_802 <= io_in_a_bits_address;
+    end
+    if (reset) begin
+      _T_836 <= 1'h0;
+    end else begin
+      if (_T_827) begin
+        if (_T_840) begin
+          _T_836 <= 1'h0;
+        end else begin
+          _T_836 <= _T_839;
+        end
+      end
+    end
+    if (_T_887) begin
+      _T_849 <= io_in_d_bits_opcode;
+    end
+    if (_T_887) begin
+      _T_851 <= io_in_d_bits_param;
+    end
+    if (_T_887) begin
+      _T_853 <= io_in_d_bits_size;
+    end
+    if (_T_887) begin
+      _T_855 <= io_in_d_bits_source;
+    end
+    if (_T_887) begin
+      _T_857 <= io_in_d_bits_sink;
+    end
+    if (_T_887) begin
+      _T_859 <= io_in_d_bits_denied;
+    end
+    if (reset) begin
+      _T_889 <= 1'h0;
+    end else begin
+      _T_889 <= _T_969;
+    end
+    if (reset) begin
+      _T_900 <= 1'h0;
+    end else begin
+      if (_T_771) begin
+        if (_T_904) begin
+          _T_900 <= 1'h0;
+        end else begin
+          _T_900 <= _T_903;
+        end
+      end
+    end
+    if (reset) begin
+      _T_921 <= 1'h0;
+    end else begin
+      if (_T_827) begin
+        if (_T_925) begin
+          _T_921 <= 1'h0;
+        end else begin
+          _T_921 <= _T_924;
+        end
+      end
+    end
+    if (reset) begin
+      _T_971 <= 32'h0;
+    end else begin
+      if (_T_985) begin
+        _T_971 <= 32'h0;
+      end else begin
+        _T_971 <= _T_982;
+      end
+    end
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at Debug.scala:350:46)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@109603.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@109604.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@109661.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@109662.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_125) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at Debug.scala:350:46)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109714.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_125) begin
+          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109715.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_125) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at Debug.scala:350:46)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109721.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_125) begin
+          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109722.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at Debug.scala:350:46)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109728.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109729.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at Debug.scala:350:46)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109736.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109737.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_138) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at Debug.scala:350:46)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109743.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_138) begin
+          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109744.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at Debug.scala:350:46)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109751.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109752.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_147) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at Debug.scala:350:46)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109760.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_147) begin
+          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109761.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at Debug.scala:350:46)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109768.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109769.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_27 & _T_125) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at Debug.scala:350:46)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109822.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_27 & _T_125) begin
+          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109823.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_27 & _T_125) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at Debug.scala:350:46)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109829.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_27 & _T_125) begin
+          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109830.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at Debug.scala:350:46)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109836.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109837.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at Debug.scala:350:46)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109844.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109845.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_27 & _T_138) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at Debug.scala:350:46)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109851.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_27 & _T_138) begin
+          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109852.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at Debug.scala:350:46)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109859.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109860.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_27 & _T_125) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at Debug.scala:350:46)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109867.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_27 & _T_125) begin
+          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109868.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_27 & _T_147) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at Debug.scala:350:46)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109876.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_27 & _T_147) begin
+          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109877.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at Debug.scala:350:46)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109884.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109885.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_37 & _T_280) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at Debug.scala:350:46)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109941.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_37 & _T_280) begin
+          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109942.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at Debug.scala:350:46)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109948.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109949.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_37 & _T_138) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at Debug.scala:350:46)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109955.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_37 & _T_138) begin
+          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109956.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at Debug.scala:350:46)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109963.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109964.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_37 & _T_294) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at Debug.scala:350:46)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109971.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_37 & _T_294) begin
+          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109972.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at Debug.scala:350:46)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109979.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109980.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_43 & _T_280) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at Debug.scala:350:46)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110036.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_43 & _T_280) begin
+          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110037.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at Debug.scala:350:46)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110043.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110044.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_43 & _T_138) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at Debug.scala:350:46)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110050.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_43 & _T_138) begin
+          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110051.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at Debug.scala:350:46)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110058.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110059.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_43 & _T_294) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at Debug.scala:350:46)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110066.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_43 & _T_294) begin
+          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110067.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_280) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at Debug.scala:350:46)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110123.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_280) begin
+          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110124.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at Debug.scala:350:46)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110130.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110131.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_138) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at Debug.scala:350:46)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110137.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_138) begin
+          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110138.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at Debug.scala:350:46)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110145.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110146.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at Debug.scala:350:46)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110155.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110156.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_125) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at Debug.scala:350:46)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110209.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_125) begin
+          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110210.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at Debug.scala:350:46)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110216.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110217.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_138) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at Debug.scala:350:46)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110223.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_138) begin
+          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110224.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at Debug.scala:350:46)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110231.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110232.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_294) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at Debug.scala:350:46)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110239.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_294) begin
+          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110240.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_59 & _T_125) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at Debug.scala:350:46)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110293.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_59 & _T_125) begin
+          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110294.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at Debug.scala:350:46)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110300.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110301.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_59 & _T_138) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at Debug.scala:350:46)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110307.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_59 & _T_138) begin
+          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110308.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at Debug.scala:350:46)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110315.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110316.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_59 & _T_294) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at Debug.scala:350:46)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110323.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_59 & _T_294) begin
+          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110324.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_125) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at Debug.scala:350:46)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110377.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_125) begin
+          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110378.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at Debug.scala:350:46)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110384.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110385.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_138) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at Debug.scala:350:46)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110391.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_138) begin
+          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110392.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_294) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at Debug.scala:350:46)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110399.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_294) begin
+          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110400.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at Debug.scala:350:46)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110407.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110408.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_620) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at Debug.scala:350:46)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@110418.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_620) begin
+          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@110419.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_71 & _T_633) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at Debug.scala:350:46)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110432.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_71 & _T_633) begin
+          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110433.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_71 & _T_637) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at Debug.scala:350:46)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110440.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_71 & _T_637) begin
+          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110441.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_71 & _T_641) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at Debug.scala:350:46)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110448.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_71 & _T_641) begin
+          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110449.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_71 & _T_645) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at Debug.scala:350:46)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110456.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_71 & _T_645) begin
+          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110457.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_71 & _T_649) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at Debug.scala:350:46)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110464.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_71 & _T_649) begin
+          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110465.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_81 & _T_633) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at Debug.scala:350:46)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110474.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_81 & _T_633) begin
+          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110475.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_81 & _T_125) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at Debug.scala:350:46)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110481.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_81 & _T_125) begin
+          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110482.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_81 & _T_637) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at Debug.scala:350:46)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110489.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_81 & _T_637) begin
+          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110490.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_81 & _T_664) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at Debug.scala:350:46)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110497.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_81 & _T_664) begin
+          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110498.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_81 & _T_668) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at Debug.scala:350:46)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110505.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_81 & _T_668) begin
+          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110506.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_81 & _T_645) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at Debug.scala:350:46)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110513.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_81 & _T_645) begin
+          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110514.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_81 & _T_649) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at Debug.scala:350:46)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110522.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_81 & _T_649) begin
+          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110523.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_633) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at Debug.scala:350:46)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110532.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_633) begin
+          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110533.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_125) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at Debug.scala:350:46)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110539.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_125) begin
+          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110540.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_637) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at Debug.scala:350:46)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110547.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_637) begin
+          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110548.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_664) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at Debug.scala:350:46)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110555.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_664) begin
+          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110556.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_668) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at Debug.scala:350:46)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110563.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_668) begin
+          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110564.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_701) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at Debug.scala:350:46)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110572.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_701) begin
+          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110573.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_649) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at Debug.scala:350:46)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110581.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_649) begin
+          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110582.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_109 & _T_633) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at Debug.scala:350:46)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110591.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_109 & _T_633) begin
+          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110592.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_109 & _T_641) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at Debug.scala:350:46)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110599.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_109 & _T_641) begin
+          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110600.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_109 & _T_645) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at Debug.scala:350:46)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110607.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_109 & _T_645) begin
+          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110608.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_109 & _T_649) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at Debug.scala:350:46)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110616.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_109 & _T_649) begin
+          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110617.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_117 & _T_633) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at Debug.scala:350:46)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110626.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_117 & _T_633) begin
+          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110627.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_117 & _T_641) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at Debug.scala:350:46)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110634.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_117 & _T_641) begin
+          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110635.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_117 & _T_701) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at Debug.scala:350:46)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110643.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_117 & _T_701) begin
+          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110644.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_117 & _T_649) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at Debug.scala:350:46)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110652.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_117 & _T_649) begin
+          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110653.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_633) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at Debug.scala:350:46)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110662.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_633) begin
+          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110663.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_641) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at Debug.scala:350:46)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110670.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_641) begin
+          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110671.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_645) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at Debug.scala:350:46)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110678.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_645) begin
+          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110679.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_649) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at Debug.scala:350:46)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110687.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_649) begin
+          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110688.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at Debug.scala:350:46)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110697.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110698.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at Debug.scala:350:46)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110705.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110706.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at Debug.scala:350:46)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110713.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110714.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_804 & _T_808) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at Debug.scala:350:46)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110753.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_804 & _T_808) begin
+          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110754.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at Debug.scala:350:46)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110761.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110762.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at Debug.scala:350:46)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110769.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110770.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at Debug.scala:350:46)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110777.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110778.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_804 & _T_824) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at Debug.scala:350:46)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110785.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_804 & _T_824) begin
+          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110786.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_861 & _T_865) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at Debug.scala:350:46)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110835.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_861 & _T_865) begin
+          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110836.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_861 & _T_869) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at Debug.scala:350:46)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110843.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_861 & _T_869) begin
+          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110844.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_861 & _T_873) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at Debug.scala:350:46)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110851.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_861 & _T_873) begin
+          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110852.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_861 & _T_877) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at Debug.scala:350:46)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110859.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_861 & _T_877) begin
+          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110860.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_861 & _T_881) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at Debug.scala:350:46)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110867.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_861 & _T_881) begin
+          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110868.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_861 & _T_885) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at Debug.scala:350:46)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110875.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_861 & _T_885) begin
+          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110876.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_936 & _T_944) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at Debug.scala:350:46)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@110953.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_936 & _T_944) begin
+          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@110954.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_952 & _T_959) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at Debug.scala:350:46)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@110976.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_952 & _T_959) begin
+          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@110977.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_966) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' and 'D' concurrent, despite minlatency 3 (connected at Debug.scala:350:46)\n    at Monitor.scala:471 assert(a_set =/= d_clr || !a_set.orR, s\"'A' and 'D' concurrent, despite minlatency ${edge.manager.minLatency}\" + extra)\n"); // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@110988.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_966) begin
+          $fatal; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@110989.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_980) begin
+          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at Debug.scala:350:46)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@111008.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_980) begin
+          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@111009.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+endmodule
+module AsyncQueueSource_1( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@111606.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@111607.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@111608.4]
+  output        io_enq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@111609.4]
+  input         io_enq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@111609.4]
+  input  [2:0]  io_enq_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@111609.4]
+  input  [8:0]  io_enq_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@111609.4]
+  input  [3:0]  io_enq_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@111609.4]
+  input  [31:0] io_enq_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@111609.4]
+  output [2:0]  io_async_mem_0_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@111609.4]
+  output [8:0]  io_async_mem_0_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@111609.4]
+  output [3:0]  io_async_mem_0_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@111609.4]
+  output [31:0] io_async_mem_0_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@111609.4]
+  input         io_async_ridx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@111609.4]
+  output        io_async_widx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@111609.4]
+  input         io_async_safe_ridx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@111609.4]
+  output        io_async_safe_widx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@111609.4]
+  output        io_async_safe_source_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@111609.4]
+  input         io_async_safe_sink_reset_n // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@111609.4]
+);
+  wire  widx_bin_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@111617.4]
+  wire  widx_bin_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@111617.4]
+  wire  widx_bin_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@111617.4]
+  wire  widx_bin_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@111617.4]
+  wire  widx_bin_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@111617.4]
+  wire  ridx_gray_clock; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@111629.4]
+  wire  ridx_gray_reset; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@111629.4]
+  wire  ridx_gray_io_d; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@111629.4]
+  wire  ridx_gray_io_q; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@111629.4]
+  wire  ready_reg_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@111651.4]
+  wire  ready_reg_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@111651.4]
+  wire  ready_reg_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@111651.4]
+  wire  ready_reg_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@111651.4]
+  wire  ready_reg_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@111651.4]
+  wire  widx_gray_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@111660.4]
+  wire  widx_gray_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@111660.4]
+  wire  widx_gray_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@111660.4]
+  wire  widx_gray_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@111660.4]
+  wire  widx_gray_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@111660.4]
+  wire  AsyncValidSync_clock; // @[AsyncQueue.scala 96:30:shc.marmotcaravel.MarmotCaravelConfig.fir@111675.4]
+  wire  AsyncValidSync_reset; // @[AsyncQueue.scala 96:30:shc.marmotcaravel.MarmotCaravelConfig.fir@111675.4]
+  wire  AsyncValidSync_io_out; // @[AsyncQueue.scala 96:30:shc.marmotcaravel.MarmotCaravelConfig.fir@111675.4]
+  wire  AsyncValidSync_1_clock; // @[AsyncQueue.scala 97:30:shc.marmotcaravel.MarmotCaravelConfig.fir@111678.4]
+  wire  AsyncValidSync_1_reset; // @[AsyncQueue.scala 97:30:shc.marmotcaravel.MarmotCaravelConfig.fir@111678.4]
+  wire  AsyncValidSync_1_io_in; // @[AsyncQueue.scala 97:30:shc.marmotcaravel.MarmotCaravelConfig.fir@111678.4]
+  wire  AsyncValidSync_1_io_out; // @[AsyncQueue.scala 97:30:shc.marmotcaravel.MarmotCaravelConfig.fir@111678.4]
+  wire  AsyncValidSync_2_clock; // @[AsyncQueue.scala 98:30:shc.marmotcaravel.MarmotCaravelConfig.fir@111681.4]
+  wire  AsyncValidSync_2_reset; // @[AsyncQueue.scala 98:30:shc.marmotcaravel.MarmotCaravelConfig.fir@111681.4]
+  wire  AsyncValidSync_2_io_in; // @[AsyncQueue.scala 98:30:shc.marmotcaravel.MarmotCaravelConfig.fir@111681.4]
+  wire  AsyncValidSync_2_io_out; // @[AsyncQueue.scala 98:30:shc.marmotcaravel.MarmotCaravelConfig.fir@111681.4]
+  reg [2:0] mem_0_opcode; // @[AsyncQueue.scala 76:16:shc.marmotcaravel.MarmotCaravelConfig.fir@111613.4]
+  reg [31:0] _RAND_0;
+  reg [8:0] mem_0_address; // @[AsyncQueue.scala 76:16:shc.marmotcaravel.MarmotCaravelConfig.fir@111613.4]
+  reg [31:0] _RAND_1;
+  reg [3:0] mem_0_mask; // @[AsyncQueue.scala 76:16:shc.marmotcaravel.MarmotCaravelConfig.fir@111613.4]
+  reg [31:0] _RAND_2;
+  reg [31:0] mem_0_data; // @[AsyncQueue.scala 76:16:shc.marmotcaravel.MarmotCaravelConfig.fir@111613.4]
+  reg [31:0] _RAND_3;
+  wire  _T_43; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@111614.4]
+  wire  sink_ready; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@111611.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@111612.4 AsyncQueue.scala 106:16:shc.marmotcaravel.MarmotCaravelConfig.fir@111696.4]
+  wire  _T_44; // @[AsyncQueue.scala 77:49:shc.marmotcaravel.MarmotCaravelConfig.fir@111615.4]
+  wire  _T_48; // @[AsyncQueue.scala 53:43:shc.marmotcaravel.MarmotCaravelConfig.fir@111624.4]
+  wire  widx; // @[AsyncQueue.scala 53:23:shc.marmotcaravel.MarmotCaravelConfig.fir@111625.4]
+  wire  ridx; // @[ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@111634.4 ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@111636.4]
+  wire  _T_52; // @[AsyncQueue.scala 79:44:shc.marmotcaravel.MarmotCaravelConfig.fir@111637.4]
+  wire  _T_53; // @[AsyncQueue.scala 79:34:shc.marmotcaravel.MarmotCaravelConfig.fir@111638.4]
+  wire  ready_reg_1; // @[AsyncQueue.scala 84:59:shc.marmotcaravel.MarmotCaravelConfig.fir@111657.4]
+  wire  _T_58; // @[AsyncQueue.scala 99:43:shc.marmotcaravel.MarmotCaravelConfig.fir@111685.4]
+  AsyncResetRegVec_w1_i0 widx_bin ( // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@111617.4]
+    .clock(widx_bin_clock),
+    .reset(widx_bin_reset),
+    .io_d(widx_bin_io_d),
+    .io_q(widx_bin_io_q),
+    .io_en(widx_bin_io_en)
+  );
+  AsyncResetSynchronizerShiftReg_w1_d3_i0 ridx_gray ( // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@111629.4]
+    .clock(ridx_gray_clock),
+    .reset(ridx_gray_reset),
+    .io_d(ridx_gray_io_d),
+    .io_q(ridx_gray_io_q)
+  );
+  AsyncResetRegVec_w1_i0 ready_reg ( // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@111651.4]
+    .clock(ready_reg_clock),
+    .reset(ready_reg_reset),
+    .io_d(ready_reg_io_d),
+    .io_q(ready_reg_io_q),
+    .io_en(ready_reg_io_en)
+  );
+  AsyncResetRegVec_w1_i0 widx_gray ( // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@111660.4]
+    .clock(widx_gray_clock),
+    .reset(widx_gray_reset),
+    .io_d(widx_gray_io_d),
+    .io_q(widx_gray_io_q),
+    .io_en(widx_gray_io_en)
+  );
+  AsyncValidSync AsyncValidSync ( // @[AsyncQueue.scala 96:30:shc.marmotcaravel.MarmotCaravelConfig.fir@111675.4]
+    .clock(AsyncValidSync_clock),
+    .reset(AsyncValidSync_reset),
+    .io_out(AsyncValidSync_io_out)
+  );
+  AsyncValidSync_1 AsyncValidSync_1 ( // @[AsyncQueue.scala 97:30:shc.marmotcaravel.MarmotCaravelConfig.fir@111678.4]
+    .clock(AsyncValidSync_1_clock),
+    .reset(AsyncValidSync_1_reset),
+    .io_in(AsyncValidSync_1_io_in),
+    .io_out(AsyncValidSync_1_io_out)
+  );
+  AsyncValidSync_2 AsyncValidSync_2 ( // @[AsyncQueue.scala 98:30:shc.marmotcaravel.MarmotCaravelConfig.fir@111681.4]
+    .clock(AsyncValidSync_2_clock),
+    .reset(AsyncValidSync_2_reset),
+    .io_in(AsyncValidSync_2_io_in),
+    .io_out(AsyncValidSync_2_io_out)
+  );
+  assign _T_43 = io_enq_ready & io_enq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@111614.4]
+  assign sink_ready = AsyncValidSync_2_io_out; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@111611.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@111612.4 AsyncQueue.scala 106:16:shc.marmotcaravel.MarmotCaravelConfig.fir@111696.4]
+  assign _T_44 = sink_ready == 1'h0; // @[AsyncQueue.scala 77:49:shc.marmotcaravel.MarmotCaravelConfig.fir@111615.4]
+  assign _T_48 = widx_bin_io_q + _T_43; // @[AsyncQueue.scala 53:43:shc.marmotcaravel.MarmotCaravelConfig.fir@111624.4]
+  assign widx = _T_44 ? 1'h0 : _T_48; // @[AsyncQueue.scala 53:23:shc.marmotcaravel.MarmotCaravelConfig.fir@111625.4]
+  assign ridx = ridx_gray_io_q; // @[ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@111634.4 ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@111636.4]
+  assign _T_52 = ridx ^ 1'h1; // @[AsyncQueue.scala 79:44:shc.marmotcaravel.MarmotCaravelConfig.fir@111637.4]
+  assign _T_53 = widx != _T_52; // @[AsyncQueue.scala 79:34:shc.marmotcaravel.MarmotCaravelConfig.fir@111638.4]
+  assign ready_reg_1 = ready_reg_io_q; // @[AsyncQueue.scala 84:59:shc.marmotcaravel.MarmotCaravelConfig.fir@111657.4]
+  assign _T_58 = io_async_safe_sink_reset_n == 1'h0; // @[AsyncQueue.scala 99:43:shc.marmotcaravel.MarmotCaravelConfig.fir@111685.4]
+  assign io_enq_ready = ready_reg_1 & sink_ready; // @[AsyncQueue.scala 85:16:shc.marmotcaravel.MarmotCaravelConfig.fir@111659.4]
+  assign io_async_mem_0_opcode = mem_0_opcode; // @[AsyncQueue.scala 92:31:shc.marmotcaravel.MarmotCaravelConfig.fir@111674.4]
+  assign io_async_mem_0_address = mem_0_address; // @[AsyncQueue.scala 92:31:shc.marmotcaravel.MarmotCaravelConfig.fir@111670.4]
+  assign io_async_mem_0_mask = mem_0_mask; // @[AsyncQueue.scala 92:31:shc.marmotcaravel.MarmotCaravelConfig.fir@111669.4]
+  assign io_async_mem_0_data = mem_0_data; // @[AsyncQueue.scala 92:31:shc.marmotcaravel.MarmotCaravelConfig.fir@111668.4]
+  assign io_async_widx = widx_gray_io_q; // @[AsyncQueue.scala 88:17:shc.marmotcaravel.MarmotCaravelConfig.fir@111666.4]
+  assign io_async_safe_widx_valid = AsyncValidSync_io_out; // @[AsyncQueue.scala 103:20:shc.marmotcaravel.MarmotCaravelConfig.fir@111693.4]
+  assign io_async_safe_source_reset_n = reset == 1'h0; // @[AsyncQueue.scala 107:24:shc.marmotcaravel.MarmotCaravelConfig.fir@111699.4]
+  assign widx_bin_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@111619.4]
+  assign widx_bin_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@111620.4]
+  assign widx_bin_io_d = _T_44 ? 1'h0 : _T_48; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@111621.4]
+  assign widx_bin_io_en = 1'h1; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@111622.4]
+  assign ridx_gray_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@111631.4]
+  assign ridx_gray_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@111632.4]
+  assign ridx_gray_io_d = io_async_ridx; // @[ShiftReg.scala 49:16:shc.marmotcaravel.MarmotCaravelConfig.fir@111633.4]
+  assign ready_reg_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@111653.4]
+  assign ready_reg_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@111654.4]
+  assign ready_reg_io_d = sink_ready & _T_53; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@111655.4]
+  assign ready_reg_io_en = 1'h1; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@111656.4]
+  assign widx_gray_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@111662.4]
+  assign widx_gray_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@111663.4]
+  assign widx_gray_io_d = _T_44 ? 1'h0 : _T_48; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@111664.4]
+  assign widx_gray_io_en = 1'h1; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@111665.4]
+  assign AsyncValidSync_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@111676.4]
+  assign AsyncValidSync_reset = reset | _T_58; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@111677.4 AsyncQueue.scala 99:24:shc.marmotcaravel.MarmotCaravelConfig.fir@111687.4]
+  assign AsyncValidSync_1_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@111679.4]
+  assign AsyncValidSync_1_reset = reset | _T_58; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@111680.4 AsyncQueue.scala 100:24:shc.marmotcaravel.MarmotCaravelConfig.fir@111691.4]
+  assign AsyncValidSync_1_io_in = io_async_safe_ridx_valid; // @[AsyncQueue.scala 104:23:shc.marmotcaravel.MarmotCaravelConfig.fir@111694.4]
+  assign AsyncValidSync_2_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@111682.4]
+  assign AsyncValidSync_2_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@111683.4]
+  assign AsyncValidSync_2_io_in = AsyncValidSync_1_io_out; // @[AsyncQueue.scala 105:22:shc.marmotcaravel.MarmotCaravelConfig.fir@111695.4]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  mem_0_opcode = _RAND_0[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  mem_0_address = _RAND_1[8:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  mem_0_mask = _RAND_2[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  mem_0_data = _RAND_3[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (_T_43) begin
+      mem_0_opcode <= io_enq_bits_opcode;
+    end
+    if (_T_43) begin
+      mem_0_address <= io_enq_bits_address;
+    end
+    if (_T_43) begin
+      mem_0_mask <= io_enq_bits_mask;
+    end
+    if (_T_43) begin
+      mem_0_data <= io_enq_bits_data;
+    end
+  end
+endmodule
+module SynchronizerShiftReg_w43_d1( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@111853.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@111854.4]
+  input  [42:0] io_d, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@111856.4]
+  output [42:0] io_q // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@111856.4]
+);
+  reg [42:0] sync_0; // @[ShiftReg.scala 114:16:shc.marmotcaravel.MarmotCaravelConfig.fir@111861.4]
+  reg [63:0] _RAND_0;
+  assign io_q = sync_0; // @[ShiftReg.scala 123:8:shc.marmotcaravel.MarmotCaravelConfig.fir@111863.4]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {2{`RANDOM}};
+  sync_0 = _RAND_0[42:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    sync_0 <= io_d;
+  end
+endmodule
+module AsyncQueueSink_1( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112329.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112330.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112331.4]
+  input         io_deq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112332.4]
+  output        io_deq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112332.4]
+  output [2:0]  io_deq_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112332.4]
+  output [1:0]  io_deq_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112332.4]
+  output [1:0]  io_deq_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112332.4]
+  output        io_deq_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112332.4]
+  output        io_deq_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112332.4]
+  output        io_deq_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112332.4]
+  output [31:0] io_deq_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112332.4]
+  output        io_deq_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112332.4]
+  input  [2:0]  io_async_mem_0_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112332.4]
+  input  [1:0]  io_async_mem_0_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112332.4]
+  input         io_async_mem_0_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112332.4]
+  input  [31:0] io_async_mem_0_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112332.4]
+  output        io_async_ridx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112332.4]
+  input         io_async_widx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112332.4]
+  output        io_async_safe_ridx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112332.4]
+  input         io_async_safe_widx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112332.4]
+  input         io_async_safe_source_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112332.4]
+  output        io_async_safe_sink_reset_n // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112332.4]
+);
+  wire  ridx_bin_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@112339.4]
+  wire  ridx_bin_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@112339.4]
+  wire  ridx_bin_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@112339.4]
+  wire  ridx_bin_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@112339.4]
+  wire  ridx_bin_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@112339.4]
+  wire  widx_gray_clock; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@112351.4]
+  wire  widx_gray_reset; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@112351.4]
+  wire  widx_gray_io_d; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@112351.4]
+  wire  widx_gray_io_q; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@112351.4]
+  wire  deq_bits_reg_clock; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@112362.4]
+  wire [42:0] deq_bits_reg_io_d; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@112362.4]
+  wire [42:0] deq_bits_reg_io_q; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@112362.4]
+  wire  valid_reg_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@112403.4]
+  wire  valid_reg_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@112403.4]
+  wire  valid_reg_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@112403.4]
+  wire  valid_reg_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@112403.4]
+  wire  valid_reg_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@112403.4]
+  wire  ridx_gray_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@112412.4]
+  wire  ridx_gray_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@112412.4]
+  wire  ridx_gray_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@112412.4]
+  wire  ridx_gray_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@112412.4]
+  wire  ridx_gray_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@112412.4]
+  wire  AsyncValidSync_clock; // @[AsyncQueue.scala 154:31:shc.marmotcaravel.MarmotCaravelConfig.fir@112419.4]
+  wire  AsyncValidSync_reset; // @[AsyncQueue.scala 154:31:shc.marmotcaravel.MarmotCaravelConfig.fir@112419.4]
+  wire  AsyncValidSync_io_out; // @[AsyncQueue.scala 154:31:shc.marmotcaravel.MarmotCaravelConfig.fir@112419.4]
+  wire  AsyncValidSync_1_clock; // @[AsyncQueue.scala 155:31:shc.marmotcaravel.MarmotCaravelConfig.fir@112422.4]
+  wire  AsyncValidSync_1_reset; // @[AsyncQueue.scala 155:31:shc.marmotcaravel.MarmotCaravelConfig.fir@112422.4]
+  wire  AsyncValidSync_1_io_in; // @[AsyncQueue.scala 155:31:shc.marmotcaravel.MarmotCaravelConfig.fir@112422.4]
+  wire  AsyncValidSync_1_io_out; // @[AsyncQueue.scala 155:31:shc.marmotcaravel.MarmotCaravelConfig.fir@112422.4]
+  wire  AsyncValidSync_2_clock; // @[AsyncQueue.scala 156:31:shc.marmotcaravel.MarmotCaravelConfig.fir@112425.4]
+  wire  AsyncValidSync_2_reset; // @[AsyncQueue.scala 156:31:shc.marmotcaravel.MarmotCaravelConfig.fir@112425.4]
+  wire  AsyncValidSync_2_io_in; // @[AsyncQueue.scala 156:31:shc.marmotcaravel.MarmotCaravelConfig.fir@112425.4]
+  wire  AsyncValidSync_2_io_out; // @[AsyncQueue.scala 156:31:shc.marmotcaravel.MarmotCaravelConfig.fir@112425.4]
+  wire  AsyncResetRegVec_w1_i0_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@112454.4]
+  wire  AsyncResetRegVec_w1_i0_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@112454.4]
+  wire  AsyncResetRegVec_w1_i0_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@112454.4]
+  wire  AsyncResetRegVec_w1_i0_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@112454.4]
+  wire  AsyncResetRegVec_w1_i0_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@112454.4]
+  wire  _T_58; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@112336.4]
+  wire  source_ready; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112334.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@112335.4 AsyncQueue.scala 164:18:shc.marmotcaravel.MarmotCaravelConfig.fir@112440.4]
+  wire  _T_59; // @[AsyncQueue.scala 130:49:shc.marmotcaravel.MarmotCaravelConfig.fir@112337.4]
+  wire  _T_63; // @[AsyncQueue.scala 53:43:shc.marmotcaravel.MarmotCaravelConfig.fir@112346.4]
+  wire  ridx; // @[AsyncQueue.scala 53:23:shc.marmotcaravel.MarmotCaravelConfig.fir@112347.4]
+  wire  widx; // @[ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@112356.4 ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@112358.4]
+  wire  _T_67; // @[AsyncQueue.scala 132:36:shc.marmotcaravel.MarmotCaravelConfig.fir@112359.4]
+  wire  valid; // @[AsyncQueue.scala 132:28:shc.marmotcaravel.MarmotCaravelConfig.fir@112360.4]
+  wire [2:0] deq_bits_nxt_opcode; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@112361.4]
+  wire [1:0] deq_bits_nxt_param; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@112361.4]
+  wire [1:0] deq_bits_nxt_size; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@112361.4]
+  wire  deq_bits_nxt_source; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@112361.4]
+  wire  deq_bits_nxt_sink; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@112361.4]
+  wire  deq_bits_nxt_denied; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@112361.4]
+  wire [31:0] deq_bits_nxt_data; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@112361.4]
+  wire  deq_bits_nxt_corrupt; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@112361.4]
+  wire [32:0] _T_69; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@112366.4]
+  wire [1:0] _T_70; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@112367.4]
+  wire [34:0] _T_71; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@112368.4]
+  wire [2:0] _T_72; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@112369.4]
+  wire [4:0] _T_73; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@112370.4]
+  wire [7:0] _T_74; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@112371.4]
+  wire [42:0] _T_79; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112376.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@112378.4]
+  wire  valid_reg_1; // @[AsyncQueue.scala 147:59:shc.marmotcaravel.MarmotCaravelConfig.fir@112409.4]
+  wire  _T_90; // @[AsyncQueue.scala 157:44:shc.marmotcaravel.MarmotCaravelConfig.fir@112429.4]
+  AsyncResetRegVec_w1_i0 ridx_bin ( // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@112339.4]
+    .clock(ridx_bin_clock),
+    .reset(ridx_bin_reset),
+    .io_d(ridx_bin_io_d),
+    .io_q(ridx_bin_io_q),
+    .io_en(ridx_bin_io_en)
+  );
+  AsyncResetSynchronizerShiftReg_w1_d3_i0 widx_gray ( // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@112351.4]
+    .clock(widx_gray_clock),
+    .reset(widx_gray_reset),
+    .io_d(widx_gray_io_d),
+    .io_q(widx_gray_io_q)
+  );
+  SynchronizerShiftReg_w43_d1 deq_bits_reg ( // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@112362.4]
+    .clock(deq_bits_reg_clock),
+    .io_d(deq_bits_reg_io_d),
+    .io_q(deq_bits_reg_io_q)
+  );
+  AsyncResetRegVec_w1_i0 valid_reg ( // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@112403.4]
+    .clock(valid_reg_clock),
+    .reset(valid_reg_reset),
+    .io_d(valid_reg_io_d),
+    .io_q(valid_reg_io_q),
+    .io_en(valid_reg_io_en)
+  );
+  AsyncResetRegVec_w1_i0 ridx_gray ( // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@112412.4]
+    .clock(ridx_gray_clock),
+    .reset(ridx_gray_reset),
+    .io_d(ridx_gray_io_d),
+    .io_q(ridx_gray_io_q),
+    .io_en(ridx_gray_io_en)
+  );
+  AsyncValidSync AsyncValidSync ( // @[AsyncQueue.scala 154:31:shc.marmotcaravel.MarmotCaravelConfig.fir@112419.4]
+    .clock(AsyncValidSync_clock),
+    .reset(AsyncValidSync_reset),
+    .io_out(AsyncValidSync_io_out)
+  );
+  AsyncValidSync_1 AsyncValidSync_1 ( // @[AsyncQueue.scala 155:31:shc.marmotcaravel.MarmotCaravelConfig.fir@112422.4]
+    .clock(AsyncValidSync_1_clock),
+    .reset(AsyncValidSync_1_reset),
+    .io_in(AsyncValidSync_1_io_in),
+    .io_out(AsyncValidSync_1_io_out)
+  );
+  AsyncValidSync_2 AsyncValidSync_2 ( // @[AsyncQueue.scala 156:31:shc.marmotcaravel.MarmotCaravelConfig.fir@112425.4]
+    .clock(AsyncValidSync_2_clock),
+    .reset(AsyncValidSync_2_reset),
+    .io_in(AsyncValidSync_2_io_in),
+    .io_out(AsyncValidSync_2_io_out)
+  );
+  AsyncResetRegVec_w1_i0 AsyncResetRegVec_w1_i0 ( // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@112454.4]
+    .clock(AsyncResetRegVec_w1_i0_clock),
+    .reset(AsyncResetRegVec_w1_i0_reset),
+    .io_d(AsyncResetRegVec_w1_i0_io_d),
+    .io_q(AsyncResetRegVec_w1_i0_io_q),
+    .io_en(AsyncResetRegVec_w1_i0_io_en)
+  );
+  assign _T_58 = io_deq_ready & io_deq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@112336.4]
+  assign source_ready = AsyncValidSync_2_io_out; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112334.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@112335.4 AsyncQueue.scala 164:18:shc.marmotcaravel.MarmotCaravelConfig.fir@112440.4]
+  assign _T_59 = source_ready == 1'h0; // @[AsyncQueue.scala 130:49:shc.marmotcaravel.MarmotCaravelConfig.fir@112337.4]
+  assign _T_63 = ridx_bin_io_q + _T_58; // @[AsyncQueue.scala 53:43:shc.marmotcaravel.MarmotCaravelConfig.fir@112346.4]
+  assign ridx = _T_59 ? 1'h0 : _T_63; // @[AsyncQueue.scala 53:23:shc.marmotcaravel.MarmotCaravelConfig.fir@112347.4]
+  assign widx = widx_gray_io_q; // @[ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@112356.4 ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@112358.4]
+  assign _T_67 = ridx != widx; // @[AsyncQueue.scala 132:36:shc.marmotcaravel.MarmotCaravelConfig.fir@112359.4]
+  assign valid = source_ready & _T_67; // @[AsyncQueue.scala 132:28:shc.marmotcaravel.MarmotCaravelConfig.fir@112360.4]
+  assign deq_bits_nxt_opcode = valid ? io_async_mem_0_opcode : io_deq_bits_opcode; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@112361.4]
+  assign deq_bits_nxt_param = valid ? 2'h0 : io_deq_bits_param; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@112361.4]
+  assign deq_bits_nxt_size = valid ? io_async_mem_0_size : io_deq_bits_size; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@112361.4]
+  assign deq_bits_nxt_source = valid ? io_async_mem_0_source : io_deq_bits_source; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@112361.4]
+  assign deq_bits_nxt_sink = valid ? 1'h0 : io_deq_bits_sink; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@112361.4]
+  assign deq_bits_nxt_denied = valid ? 1'h0 : io_deq_bits_denied; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@112361.4]
+  assign deq_bits_nxt_data = valid ? io_async_mem_0_data : io_deq_bits_data; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@112361.4]
+  assign deq_bits_nxt_corrupt = valid ? 1'h0 : io_deq_bits_corrupt; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@112361.4]
+  assign _T_69 = {deq_bits_nxt_data,deq_bits_nxt_corrupt}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@112366.4]
+  assign _T_70 = {deq_bits_nxt_sink,deq_bits_nxt_denied}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@112367.4]
+  assign _T_71 = {_T_70,_T_69}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@112368.4]
+  assign _T_72 = {deq_bits_nxt_size,deq_bits_nxt_source}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@112369.4]
+  assign _T_73 = {deq_bits_nxt_opcode,deq_bits_nxt_param}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@112370.4]
+  assign _T_74 = {_T_73,_T_72}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@112371.4]
+  assign _T_79 = deq_bits_reg_io_q; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112376.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@112378.4]
+  assign valid_reg_1 = valid_reg_io_q; // @[AsyncQueue.scala 147:59:shc.marmotcaravel.MarmotCaravelConfig.fir@112409.4]
+  assign _T_90 = io_async_safe_source_reset_n == 1'h0; // @[AsyncQueue.scala 157:44:shc.marmotcaravel.MarmotCaravelConfig.fir@112429.4]
+  assign io_deq_valid = valid_reg_1 & source_ready; // @[AsyncQueue.scala 148:16:shc.marmotcaravel.MarmotCaravelConfig.fir@112411.4]
+  assign io_deq_bits_opcode = _T_79[42:40]; // @[AsyncQueue.scala 145:15:shc.marmotcaravel.MarmotCaravelConfig.fir@112402.4]
+  assign io_deq_bits_param = _T_79[39:38]; // @[AsyncQueue.scala 145:15:shc.marmotcaravel.MarmotCaravelConfig.fir@112401.4]
+  assign io_deq_bits_size = _T_79[37:36]; // @[AsyncQueue.scala 145:15:shc.marmotcaravel.MarmotCaravelConfig.fir@112400.4]
+  assign io_deq_bits_source = _T_79[35]; // @[AsyncQueue.scala 145:15:shc.marmotcaravel.MarmotCaravelConfig.fir@112399.4]
+  assign io_deq_bits_sink = _T_79[34]; // @[AsyncQueue.scala 145:15:shc.marmotcaravel.MarmotCaravelConfig.fir@112398.4]
+  assign io_deq_bits_denied = _T_79[33]; // @[AsyncQueue.scala 145:15:shc.marmotcaravel.MarmotCaravelConfig.fir@112397.4]
+  assign io_deq_bits_data = _T_79[32:1]; // @[AsyncQueue.scala 145:15:shc.marmotcaravel.MarmotCaravelConfig.fir@112396.4]
+  assign io_deq_bits_corrupt = _T_79[0]; // @[AsyncQueue.scala 145:15:shc.marmotcaravel.MarmotCaravelConfig.fir@112395.4]
+  assign io_async_ridx = ridx_gray_io_q; // @[AsyncQueue.scala 151:17:shc.marmotcaravel.MarmotCaravelConfig.fir@112418.4]
+  assign io_async_safe_ridx_valid = AsyncValidSync_io_out; // @[AsyncQueue.scala 161:20:shc.marmotcaravel.MarmotCaravelConfig.fir@112437.4]
+  assign io_async_safe_sink_reset_n = reset == 1'h0; // @[AsyncQueue.scala 165:22:shc.marmotcaravel.MarmotCaravelConfig.fir@112443.4]
+  assign ridx_bin_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112341.4]
+  assign ridx_bin_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112342.4]
+  assign ridx_bin_io_d = _T_59 ? 1'h0 : _T_63; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@112343.4]
+  assign ridx_bin_io_en = 1'h1; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@112344.4]
+  assign widx_gray_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112353.4]
+  assign widx_gray_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112354.4]
+  assign widx_gray_io_d = io_async_widx; // @[ShiftReg.scala 49:16:shc.marmotcaravel.MarmotCaravelConfig.fir@112355.4]
+  assign deq_bits_reg_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112364.4]
+  assign deq_bits_reg_io_d = {_T_74,_T_71}; // @[ShiftReg.scala 49:16:shc.marmotcaravel.MarmotCaravelConfig.fir@112373.4]
+  assign valid_reg_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112405.4]
+  assign valid_reg_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112406.4]
+  assign valid_reg_io_d = source_ready & _T_67; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@112407.4]
+  assign valid_reg_io_en = 1'h1; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@112408.4]
+  assign ridx_gray_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112414.4]
+  assign ridx_gray_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112415.4]
+  assign ridx_gray_io_d = _T_59 ? 1'h0 : _T_63; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@112416.4]
+  assign ridx_gray_io_en = 1'h1; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@112417.4]
+  assign AsyncValidSync_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112420.4]
+  assign AsyncValidSync_reset = reset | _T_90; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112421.4 AsyncQueue.scala 157:25:shc.marmotcaravel.MarmotCaravelConfig.fir@112431.4]
+  assign AsyncValidSync_1_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112423.4]
+  assign AsyncValidSync_1_reset = reset | _T_90; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112424.4 AsyncQueue.scala 158:25:shc.marmotcaravel.MarmotCaravelConfig.fir@112435.4]
+  assign AsyncValidSync_1_io_in = io_async_safe_widx_valid; // @[AsyncQueue.scala 162:25:shc.marmotcaravel.MarmotCaravelConfig.fir@112438.4]
+  assign AsyncValidSync_2_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112426.4]
+  assign AsyncValidSync_2_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112427.4]
+  assign AsyncValidSync_2_io_in = AsyncValidSync_1_io_out; // @[AsyncQueue.scala 163:24:shc.marmotcaravel.MarmotCaravelConfig.fir@112439.4]
+  assign AsyncResetRegVec_w1_i0_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112456.4]
+  assign AsyncResetRegVec_w1_i0_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112457.4]
+  assign AsyncResetRegVec_w1_i0_io_d = io_async_widx == io_async_ridx; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@112458.4]
+  assign AsyncResetRegVec_w1_i0_io_en = 1'h1; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@112459.4]
+endmodule
+module TLAsyncCrossingSource_1( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112461.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112462.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112463.4]
+  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112464.4]
+  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112464.4]
+  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112464.4]
+  input  [8:0]  auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112464.4]
+  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112464.4]
+  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112464.4]
+  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112464.4]
+  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112464.4]
+  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112464.4]
+  output [1:0]  auto_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112464.4]
+  output [1:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112464.4]
+  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112464.4]
+  output        auto_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112464.4]
+  output        auto_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112464.4]
+  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112464.4]
+  output        auto_in_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112464.4]
+  output [2:0]  auto_out_a_mem_0_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112464.4]
+  output [8:0]  auto_out_a_mem_0_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112464.4]
+  output [3:0]  auto_out_a_mem_0_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112464.4]
+  output [31:0] auto_out_a_mem_0_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112464.4]
+  input         auto_out_a_ridx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112464.4]
+  output        auto_out_a_widx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112464.4]
+  input         auto_out_a_safe_ridx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112464.4]
+  output        auto_out_a_safe_widx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112464.4]
+  output        auto_out_a_safe_source_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112464.4]
+  input         auto_out_a_safe_sink_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112464.4]
+  input  [2:0]  auto_out_d_mem_0_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112464.4]
+  input  [1:0]  auto_out_d_mem_0_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112464.4]
+  input         auto_out_d_mem_0_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112464.4]
+  input  [31:0] auto_out_d_mem_0_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112464.4]
+  output        auto_out_d_ridx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112464.4]
+  input         auto_out_d_widx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112464.4]
+  output        auto_out_d_safe_ridx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112464.4]
+  input         auto_out_d_safe_widx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112464.4]
+  input         auto_out_d_safe_source_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112464.4]
+  output        auto_out_d_safe_sink_reset_n // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112464.4]
+);
+  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@112471.4]
+  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@112471.4]
+  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@112471.4]
+  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@112471.4]
+  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@112471.4]
+  wire [8:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@112471.4]
+  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@112471.4]
+  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@112471.4]
+  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@112471.4]
+  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@112471.4]
+  wire [1:0] TLMonitor_io_in_d_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@112471.4]
+  wire [1:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@112471.4]
+  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@112471.4]
+  wire  TLMonitor_io_in_d_bits_sink; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@112471.4]
+  wire  TLMonitor_io_in_d_bits_denied; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@112471.4]
+  wire  TLMonitor_io_in_d_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@112471.4]
+  wire  AsyncQueueSource_clock; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@112512.4]
+  wire  AsyncQueueSource_reset; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@112512.4]
+  wire  AsyncQueueSource_io_enq_ready; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@112512.4]
+  wire  AsyncQueueSource_io_enq_valid; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@112512.4]
+  wire [2:0] AsyncQueueSource_io_enq_bits_opcode; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@112512.4]
+  wire [8:0] AsyncQueueSource_io_enq_bits_address; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@112512.4]
+  wire [3:0] AsyncQueueSource_io_enq_bits_mask; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@112512.4]
+  wire [31:0] AsyncQueueSource_io_enq_bits_data; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@112512.4]
+  wire [2:0] AsyncQueueSource_io_async_mem_0_opcode; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@112512.4]
+  wire [8:0] AsyncQueueSource_io_async_mem_0_address; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@112512.4]
+  wire [3:0] AsyncQueueSource_io_async_mem_0_mask; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@112512.4]
+  wire [31:0] AsyncQueueSource_io_async_mem_0_data; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@112512.4]
+  wire  AsyncQueueSource_io_async_ridx; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@112512.4]
+  wire  AsyncQueueSource_io_async_widx; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@112512.4]
+  wire  AsyncQueueSource_io_async_safe_ridx_valid; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@112512.4]
+  wire  AsyncQueueSource_io_async_safe_widx_valid; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@112512.4]
+  wire  AsyncQueueSource_io_async_safe_source_reset_n; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@112512.4]
+  wire  AsyncQueueSource_io_async_safe_sink_reset_n; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@112512.4]
+  wire  AsyncQueueSink_clock; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@112519.4]
+  wire  AsyncQueueSink_reset; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@112519.4]
+  wire  AsyncQueueSink_io_deq_ready; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@112519.4]
+  wire  AsyncQueueSink_io_deq_valid; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@112519.4]
+  wire [2:0] AsyncQueueSink_io_deq_bits_opcode; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@112519.4]
+  wire [1:0] AsyncQueueSink_io_deq_bits_param; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@112519.4]
+  wire [1:0] AsyncQueueSink_io_deq_bits_size; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@112519.4]
+  wire  AsyncQueueSink_io_deq_bits_source; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@112519.4]
+  wire  AsyncQueueSink_io_deq_bits_sink; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@112519.4]
+  wire  AsyncQueueSink_io_deq_bits_denied; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@112519.4]
+  wire [31:0] AsyncQueueSink_io_deq_bits_data; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@112519.4]
+  wire  AsyncQueueSink_io_deq_bits_corrupt; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@112519.4]
+  wire [2:0] AsyncQueueSink_io_async_mem_0_opcode; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@112519.4]
+  wire [1:0] AsyncQueueSink_io_async_mem_0_size; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@112519.4]
+  wire  AsyncQueueSink_io_async_mem_0_source; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@112519.4]
+  wire [31:0] AsyncQueueSink_io_async_mem_0_data; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@112519.4]
+  wire  AsyncQueueSink_io_async_ridx; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@112519.4]
+  wire  AsyncQueueSink_io_async_widx; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@112519.4]
+  wire  AsyncQueueSink_io_async_safe_ridx_valid; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@112519.4]
+  wire  AsyncQueueSink_io_async_safe_widx_valid; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@112519.4]
+  wire  AsyncQueueSink_io_async_safe_source_reset_n; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@112519.4]
+  wire  AsyncQueueSink_io_async_safe_sink_reset_n; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@112519.4]
+  TLMonitor_50 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@112471.4]
+    .clock(TLMonitor_clock),
+    .reset(TLMonitor_reset),
+    .io_in_a_ready(TLMonitor_io_in_a_ready),
+    .io_in_a_valid(TLMonitor_io_in_a_valid),
+    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
+    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
+    .io_in_d_ready(TLMonitor_io_in_d_ready),
+    .io_in_d_valid(TLMonitor_io_in_d_valid),
+    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
+    .io_in_d_bits_param(TLMonitor_io_in_d_bits_param),
+    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
+    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source),
+    .io_in_d_bits_sink(TLMonitor_io_in_d_bits_sink),
+    .io_in_d_bits_denied(TLMonitor_io_in_d_bits_denied),
+    .io_in_d_bits_corrupt(TLMonitor_io_in_d_bits_corrupt)
+  );
+  AsyncQueueSource_1 AsyncQueueSource ( // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@112512.4]
+    .clock(AsyncQueueSource_clock),
+    .reset(AsyncQueueSource_reset),
+    .io_enq_ready(AsyncQueueSource_io_enq_ready),
+    .io_enq_valid(AsyncQueueSource_io_enq_valid),
+    .io_enq_bits_opcode(AsyncQueueSource_io_enq_bits_opcode),
+    .io_enq_bits_address(AsyncQueueSource_io_enq_bits_address),
+    .io_enq_bits_mask(AsyncQueueSource_io_enq_bits_mask),
+    .io_enq_bits_data(AsyncQueueSource_io_enq_bits_data),
+    .io_async_mem_0_opcode(AsyncQueueSource_io_async_mem_0_opcode),
+    .io_async_mem_0_address(AsyncQueueSource_io_async_mem_0_address),
+    .io_async_mem_0_mask(AsyncQueueSource_io_async_mem_0_mask),
+    .io_async_mem_0_data(AsyncQueueSource_io_async_mem_0_data),
+    .io_async_ridx(AsyncQueueSource_io_async_ridx),
+    .io_async_widx(AsyncQueueSource_io_async_widx),
+    .io_async_safe_ridx_valid(AsyncQueueSource_io_async_safe_ridx_valid),
+    .io_async_safe_widx_valid(AsyncQueueSource_io_async_safe_widx_valid),
+    .io_async_safe_source_reset_n(AsyncQueueSource_io_async_safe_source_reset_n),
+    .io_async_safe_sink_reset_n(AsyncQueueSource_io_async_safe_sink_reset_n)
+  );
+  AsyncQueueSink_1 AsyncQueueSink ( // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@112519.4]
+    .clock(AsyncQueueSink_clock),
+    .reset(AsyncQueueSink_reset),
+    .io_deq_ready(AsyncQueueSink_io_deq_ready),
+    .io_deq_valid(AsyncQueueSink_io_deq_valid),
+    .io_deq_bits_opcode(AsyncQueueSink_io_deq_bits_opcode),
+    .io_deq_bits_param(AsyncQueueSink_io_deq_bits_param),
+    .io_deq_bits_size(AsyncQueueSink_io_deq_bits_size),
+    .io_deq_bits_source(AsyncQueueSink_io_deq_bits_source),
+    .io_deq_bits_sink(AsyncQueueSink_io_deq_bits_sink),
+    .io_deq_bits_denied(AsyncQueueSink_io_deq_bits_denied),
+    .io_deq_bits_data(AsyncQueueSink_io_deq_bits_data),
+    .io_deq_bits_corrupt(AsyncQueueSink_io_deq_bits_corrupt),
+    .io_async_mem_0_opcode(AsyncQueueSink_io_async_mem_0_opcode),
+    .io_async_mem_0_size(AsyncQueueSink_io_async_mem_0_size),
+    .io_async_mem_0_source(AsyncQueueSink_io_async_mem_0_source),
+    .io_async_mem_0_data(AsyncQueueSink_io_async_mem_0_data),
+    .io_async_ridx(AsyncQueueSink_io_async_ridx),
+    .io_async_widx(AsyncQueueSink_io_async_widx),
+    .io_async_safe_ridx_valid(AsyncQueueSink_io_async_safe_ridx_valid),
+    .io_async_safe_widx_valid(AsyncQueueSink_io_async_safe_widx_valid),
+    .io_async_safe_source_reset_n(AsyncQueueSink_io_async_safe_source_reset_n),
+    .io_async_safe_sink_reset_n(AsyncQueueSink_io_async_safe_sink_reset_n)
+  );
+  assign auto_in_a_ready = AsyncQueueSource_io_enq_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@112511.4]
+  assign auto_in_d_valid = AsyncQueueSink_io_deq_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@112511.4]
+  assign auto_in_d_bits_opcode = AsyncQueueSink_io_deq_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@112511.4]
+  assign auto_in_d_bits_param = AsyncQueueSink_io_deq_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@112511.4]
+  assign auto_in_d_bits_size = AsyncQueueSink_io_deq_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@112511.4]
+  assign auto_in_d_bits_source = AsyncQueueSink_io_deq_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@112511.4]
+  assign auto_in_d_bits_sink = AsyncQueueSink_io_deq_bits_sink; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@112511.4]
+  assign auto_in_d_bits_denied = AsyncQueueSink_io_deq_bits_denied; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@112511.4]
+  assign auto_in_d_bits_data = AsyncQueueSink_io_deq_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@112511.4]
+  assign auto_in_d_bits_corrupt = AsyncQueueSink_io_deq_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@112511.4]
+  assign auto_out_a_mem_0_opcode = AsyncQueueSource_io_async_mem_0_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@112510.4]
+  assign auto_out_a_mem_0_address = AsyncQueueSource_io_async_mem_0_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@112510.4]
+  assign auto_out_a_mem_0_mask = AsyncQueueSource_io_async_mem_0_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@112510.4]
+  assign auto_out_a_mem_0_data = AsyncQueueSource_io_async_mem_0_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@112510.4]
+  assign auto_out_a_widx = AsyncQueueSource_io_async_widx; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@112510.4]
+  assign auto_out_a_safe_widx_valid = AsyncQueueSource_io_async_safe_widx_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@112510.4]
+  assign auto_out_a_safe_source_reset_n = AsyncQueueSource_io_async_safe_source_reset_n; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@112510.4]
+  assign auto_out_d_ridx = AsyncQueueSink_io_async_ridx; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@112510.4]
+  assign auto_out_d_safe_ridx_valid = AsyncQueueSink_io_async_safe_ridx_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@112510.4]
+  assign auto_out_d_safe_sink_reset_n = AsyncQueueSink_io_async_safe_sink_reset_n; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@112510.4]
+  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112473.4]
+  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112474.4]
+  assign TLMonitor_io_in_a_ready = AsyncQueueSource_io_enq_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@112507.4]
+  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@112507.4]
+  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@112507.4]
+  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@112507.4]
+  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@112507.4]
+  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@112507.4]
+  assign TLMonitor_io_in_d_valid = AsyncQueueSink_io_deq_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@112507.4]
+  assign TLMonitor_io_in_d_bits_opcode = AsyncQueueSink_io_deq_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@112507.4]
+  assign TLMonitor_io_in_d_bits_param = AsyncQueueSink_io_deq_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@112507.4]
+  assign TLMonitor_io_in_d_bits_size = AsyncQueueSink_io_deq_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@112507.4]
+  assign TLMonitor_io_in_d_bits_source = AsyncQueueSink_io_deq_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@112507.4]
+  assign TLMonitor_io_in_d_bits_sink = AsyncQueueSink_io_deq_bits_sink; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@112507.4]
+  assign TLMonitor_io_in_d_bits_denied = AsyncQueueSink_io_deq_bits_denied; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@112507.4]
+  assign TLMonitor_io_in_d_bits_corrupt = AsyncQueueSink_io_deq_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@112507.4]
+  assign AsyncQueueSource_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112513.4]
+  assign AsyncQueueSource_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112514.4]
+  assign AsyncQueueSource_io_enq_valid = auto_in_a_valid; // @[AsyncQueue.scala 193:19:shc.marmotcaravel.MarmotCaravelConfig.fir@112516.4]
+  assign AsyncQueueSource_io_enq_bits_opcode = auto_in_a_bits_opcode; // @[AsyncQueue.scala 193:19:shc.marmotcaravel.MarmotCaravelConfig.fir@112515.4]
+  assign AsyncQueueSource_io_enq_bits_address = auto_in_a_bits_address; // @[AsyncQueue.scala 193:19:shc.marmotcaravel.MarmotCaravelConfig.fir@112515.4]
+  assign AsyncQueueSource_io_enq_bits_mask = auto_in_a_bits_mask; // @[AsyncQueue.scala 193:19:shc.marmotcaravel.MarmotCaravelConfig.fir@112515.4]
+  assign AsyncQueueSource_io_enq_bits_data = auto_in_a_bits_data; // @[AsyncQueue.scala 193:19:shc.marmotcaravel.MarmotCaravelConfig.fir@112515.4]
+  assign AsyncQueueSource_io_async_ridx = auto_out_a_ridx; // @[AsyncCrossing.scala 25:13:shc.marmotcaravel.MarmotCaravelConfig.fir@112518.4]
+  assign AsyncQueueSource_io_async_safe_ridx_valid = auto_out_a_safe_ridx_valid; // @[AsyncCrossing.scala 25:13:shc.marmotcaravel.MarmotCaravelConfig.fir@112518.4]
+  assign AsyncQueueSource_io_async_safe_sink_reset_n = auto_out_a_safe_sink_reset_n; // @[AsyncCrossing.scala 25:13:shc.marmotcaravel.MarmotCaravelConfig.fir@112518.4]
+  assign AsyncQueueSink_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112520.4]
+  assign AsyncQueueSink_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112521.4]
+  assign AsyncQueueSink_io_deq_ready = auto_in_d_ready; // @[AsyncCrossing.scala 26:12:shc.marmotcaravel.MarmotCaravelConfig.fir@112529.4]
+  assign AsyncQueueSink_io_async_mem_0_opcode = auto_out_d_mem_0_opcode; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@112528.4]
+  assign AsyncQueueSink_io_async_mem_0_size = auto_out_d_mem_0_size; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@112528.4]
+  assign AsyncQueueSink_io_async_mem_0_source = auto_out_d_mem_0_source; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@112528.4]
+  assign AsyncQueueSink_io_async_mem_0_data = auto_out_d_mem_0_data; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@112528.4]
+  assign AsyncQueueSink_io_async_widx = auto_out_d_widx; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@112526.4]
+  assign AsyncQueueSink_io_async_safe_widx_valid = auto_out_d_safe_widx_valid; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@112524.4]
+  assign AsyncQueueSink_io_async_safe_source_reset_n = auto_out_d_safe_source_reset_n; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@112523.4]
+endmodule
+module AsyncQueueSource_2( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113138.2]
+  input        clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113139.4]
+  input        reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113140.4]
+  output       io_enq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113141.4]
+  input        io_enq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113141.4]
+  input        io_enq_bits_resumereq, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113141.4]
+  input  [9:0] io_enq_bits_hartsel, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113141.4]
+  input        io_enq_bits_ackhavereset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113141.4]
+  output       io_async_mem_0_resumereq, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113141.4]
+  output [9:0] io_async_mem_0_hartsel, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113141.4]
+  output       io_async_mem_0_ackhavereset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113141.4]
+  input        io_async_ridx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113141.4]
+  output       io_async_widx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113141.4]
+  input        io_async_safe_ridx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113141.4]
+  output       io_async_safe_widx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113141.4]
+  output       io_async_safe_source_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113141.4]
+  input        io_async_safe_sink_reset_n // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113141.4]
+);
+  wire  widx_bin_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@113149.4]
+  wire  widx_bin_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@113149.4]
+  wire  widx_bin_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@113149.4]
+  wire  widx_bin_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@113149.4]
+  wire  widx_bin_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@113149.4]
+  wire  ridx_gray_clock; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@113161.4]
+  wire  ridx_gray_reset; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@113161.4]
+  wire  ridx_gray_io_d; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@113161.4]
+  wire  ridx_gray_io_q; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@113161.4]
+  wire  ready_reg_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@113178.4]
+  wire  ready_reg_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@113178.4]
+  wire  ready_reg_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@113178.4]
+  wire  ready_reg_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@113178.4]
+  wire  ready_reg_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@113178.4]
+  wire  widx_gray_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@113187.4]
+  wire  widx_gray_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@113187.4]
+  wire  widx_gray_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@113187.4]
+  wire  widx_gray_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@113187.4]
+  wire  widx_gray_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@113187.4]
+  wire  AsyncValidSync_clock; // @[AsyncQueue.scala 96:30:shc.marmotcaravel.MarmotCaravelConfig.fir@113197.4]
+  wire  AsyncValidSync_reset; // @[AsyncQueue.scala 96:30:shc.marmotcaravel.MarmotCaravelConfig.fir@113197.4]
+  wire  AsyncValidSync_io_out; // @[AsyncQueue.scala 96:30:shc.marmotcaravel.MarmotCaravelConfig.fir@113197.4]
+  wire  AsyncValidSync_1_clock; // @[AsyncQueue.scala 97:30:shc.marmotcaravel.MarmotCaravelConfig.fir@113200.4]
+  wire  AsyncValidSync_1_reset; // @[AsyncQueue.scala 97:30:shc.marmotcaravel.MarmotCaravelConfig.fir@113200.4]
+  wire  AsyncValidSync_1_io_in; // @[AsyncQueue.scala 97:30:shc.marmotcaravel.MarmotCaravelConfig.fir@113200.4]
+  wire  AsyncValidSync_1_io_out; // @[AsyncQueue.scala 97:30:shc.marmotcaravel.MarmotCaravelConfig.fir@113200.4]
+  wire  AsyncValidSync_2_clock; // @[AsyncQueue.scala 98:30:shc.marmotcaravel.MarmotCaravelConfig.fir@113203.4]
+  wire  AsyncValidSync_2_reset; // @[AsyncQueue.scala 98:30:shc.marmotcaravel.MarmotCaravelConfig.fir@113203.4]
+  wire  AsyncValidSync_2_io_in; // @[AsyncQueue.scala 98:30:shc.marmotcaravel.MarmotCaravelConfig.fir@113203.4]
+  wire  AsyncValidSync_2_io_out; // @[AsyncQueue.scala 98:30:shc.marmotcaravel.MarmotCaravelConfig.fir@113203.4]
+  reg  mem_0_resumereq; // @[AsyncQueue.scala 76:16:shc.marmotcaravel.MarmotCaravelConfig.fir@113145.4]
+  reg [31:0] _RAND_0;
+  reg [9:0] mem_0_hartsel; // @[AsyncQueue.scala 76:16:shc.marmotcaravel.MarmotCaravelConfig.fir@113145.4]
+  reg [31:0] _RAND_1;
+  reg  mem_0_ackhavereset; // @[AsyncQueue.scala 76:16:shc.marmotcaravel.MarmotCaravelConfig.fir@113145.4]
+  reg [31:0] _RAND_2;
+  wire  _T_43; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@113146.4]
+  wire  sink_ready; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113143.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@113144.4 AsyncQueue.scala 106:16:shc.marmotcaravel.MarmotCaravelConfig.fir@113218.4]
+  wire  _T_44; // @[AsyncQueue.scala 77:49:shc.marmotcaravel.MarmotCaravelConfig.fir@113147.4]
+  wire  _T_48; // @[AsyncQueue.scala 53:43:shc.marmotcaravel.MarmotCaravelConfig.fir@113156.4]
+  wire  widx; // @[AsyncQueue.scala 53:23:shc.marmotcaravel.MarmotCaravelConfig.fir@113157.4]
+  wire  ridx; // @[ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@113166.4 ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@113168.4]
+  wire  _T_52; // @[AsyncQueue.scala 79:44:shc.marmotcaravel.MarmotCaravelConfig.fir@113169.4]
+  wire  _T_53; // @[AsyncQueue.scala 79:34:shc.marmotcaravel.MarmotCaravelConfig.fir@113170.4]
+  wire  ready_reg_1; // @[AsyncQueue.scala 84:59:shc.marmotcaravel.MarmotCaravelConfig.fir@113184.4]
+  wire  _T_58; // @[AsyncQueue.scala 99:43:shc.marmotcaravel.MarmotCaravelConfig.fir@113207.4]
+  AsyncResetRegVec_w1_i0 widx_bin ( // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@113149.4]
+    .clock(widx_bin_clock),
+    .reset(widx_bin_reset),
+    .io_d(widx_bin_io_d),
+    .io_q(widx_bin_io_q),
+    .io_en(widx_bin_io_en)
+  );
+  AsyncResetSynchronizerShiftReg_w1_d3_i0 ridx_gray ( // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@113161.4]
+    .clock(ridx_gray_clock),
+    .reset(ridx_gray_reset),
+    .io_d(ridx_gray_io_d),
+    .io_q(ridx_gray_io_q)
+  );
+  AsyncResetRegVec_w1_i0 ready_reg ( // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@113178.4]
+    .clock(ready_reg_clock),
+    .reset(ready_reg_reset),
+    .io_d(ready_reg_io_d),
+    .io_q(ready_reg_io_q),
+    .io_en(ready_reg_io_en)
+  );
+  AsyncResetRegVec_w1_i0 widx_gray ( // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@113187.4]
+    .clock(widx_gray_clock),
+    .reset(widx_gray_reset),
+    .io_d(widx_gray_io_d),
+    .io_q(widx_gray_io_q),
+    .io_en(widx_gray_io_en)
+  );
+  AsyncValidSync AsyncValidSync ( // @[AsyncQueue.scala 96:30:shc.marmotcaravel.MarmotCaravelConfig.fir@113197.4]
+    .clock(AsyncValidSync_clock),
+    .reset(AsyncValidSync_reset),
+    .io_out(AsyncValidSync_io_out)
+  );
+  AsyncValidSync_1 AsyncValidSync_1 ( // @[AsyncQueue.scala 97:30:shc.marmotcaravel.MarmotCaravelConfig.fir@113200.4]
+    .clock(AsyncValidSync_1_clock),
+    .reset(AsyncValidSync_1_reset),
+    .io_in(AsyncValidSync_1_io_in),
+    .io_out(AsyncValidSync_1_io_out)
+  );
+  AsyncValidSync_2 AsyncValidSync_2 ( // @[AsyncQueue.scala 98:30:shc.marmotcaravel.MarmotCaravelConfig.fir@113203.4]
+    .clock(AsyncValidSync_2_clock),
+    .reset(AsyncValidSync_2_reset),
+    .io_in(AsyncValidSync_2_io_in),
+    .io_out(AsyncValidSync_2_io_out)
+  );
+  assign _T_43 = io_enq_ready & io_enq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@113146.4]
+  assign sink_ready = AsyncValidSync_2_io_out; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113143.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@113144.4 AsyncQueue.scala 106:16:shc.marmotcaravel.MarmotCaravelConfig.fir@113218.4]
+  assign _T_44 = sink_ready == 1'h0; // @[AsyncQueue.scala 77:49:shc.marmotcaravel.MarmotCaravelConfig.fir@113147.4]
+  assign _T_48 = widx_bin_io_q + _T_43; // @[AsyncQueue.scala 53:43:shc.marmotcaravel.MarmotCaravelConfig.fir@113156.4]
+  assign widx = _T_44 ? 1'h0 : _T_48; // @[AsyncQueue.scala 53:23:shc.marmotcaravel.MarmotCaravelConfig.fir@113157.4]
+  assign ridx = ridx_gray_io_q; // @[ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@113166.4 ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@113168.4]
+  assign _T_52 = ridx ^ 1'h1; // @[AsyncQueue.scala 79:44:shc.marmotcaravel.MarmotCaravelConfig.fir@113169.4]
+  assign _T_53 = widx != _T_52; // @[AsyncQueue.scala 79:34:shc.marmotcaravel.MarmotCaravelConfig.fir@113170.4]
+  assign ready_reg_1 = ready_reg_io_q; // @[AsyncQueue.scala 84:59:shc.marmotcaravel.MarmotCaravelConfig.fir@113184.4]
+  assign _T_58 = io_async_safe_sink_reset_n == 1'h0; // @[AsyncQueue.scala 99:43:shc.marmotcaravel.MarmotCaravelConfig.fir@113207.4]
+  assign io_enq_ready = ready_reg_1 & sink_ready; // @[AsyncQueue.scala 85:16:shc.marmotcaravel.MarmotCaravelConfig.fir@113186.4]
+  assign io_async_mem_0_resumereq = mem_0_resumereq; // @[AsyncQueue.scala 92:31:shc.marmotcaravel.MarmotCaravelConfig.fir@113196.4]
+  assign io_async_mem_0_hartsel = mem_0_hartsel; // @[AsyncQueue.scala 92:31:shc.marmotcaravel.MarmotCaravelConfig.fir@113195.4]
+  assign io_async_mem_0_ackhavereset = mem_0_ackhavereset; // @[AsyncQueue.scala 92:31:shc.marmotcaravel.MarmotCaravelConfig.fir@113194.4]
+  assign io_async_widx = widx_gray_io_q; // @[AsyncQueue.scala 88:17:shc.marmotcaravel.MarmotCaravelConfig.fir@113193.4]
+  assign io_async_safe_widx_valid = AsyncValidSync_io_out; // @[AsyncQueue.scala 103:20:shc.marmotcaravel.MarmotCaravelConfig.fir@113215.4]
+  assign io_async_safe_source_reset_n = reset == 1'h0; // @[AsyncQueue.scala 107:24:shc.marmotcaravel.MarmotCaravelConfig.fir@113221.4]
+  assign widx_bin_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113151.4]
+  assign widx_bin_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113152.4]
+  assign widx_bin_io_d = _T_44 ? 1'h0 : _T_48; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113153.4]
+  assign widx_bin_io_en = 1'h1; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@113154.4]
+  assign ridx_gray_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113163.4]
+  assign ridx_gray_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113164.4]
+  assign ridx_gray_io_d = io_async_ridx; // @[ShiftReg.scala 49:16:shc.marmotcaravel.MarmotCaravelConfig.fir@113165.4]
+  assign ready_reg_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113180.4]
+  assign ready_reg_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113181.4]
+  assign ready_reg_io_d = sink_ready & _T_53; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113182.4]
+  assign ready_reg_io_en = 1'h1; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@113183.4]
+  assign widx_gray_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113189.4]
+  assign widx_gray_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113190.4]
+  assign widx_gray_io_d = _T_44 ? 1'h0 : _T_48; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113191.4]
+  assign widx_gray_io_en = 1'h1; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@113192.4]
+  assign AsyncValidSync_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113198.4]
+  assign AsyncValidSync_reset = reset | _T_58; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113199.4 AsyncQueue.scala 99:24:shc.marmotcaravel.MarmotCaravelConfig.fir@113209.4]
+  assign AsyncValidSync_1_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113201.4]
+  assign AsyncValidSync_1_reset = reset | _T_58; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113202.4 AsyncQueue.scala 100:24:shc.marmotcaravel.MarmotCaravelConfig.fir@113213.4]
+  assign AsyncValidSync_1_io_in = io_async_safe_ridx_valid; // @[AsyncQueue.scala 104:23:shc.marmotcaravel.MarmotCaravelConfig.fir@113216.4]
+  assign AsyncValidSync_2_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113204.4]
+  assign AsyncValidSync_2_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113205.4]
+  assign AsyncValidSync_2_io_in = AsyncValidSync_1_io_out; // @[AsyncQueue.scala 105:22:shc.marmotcaravel.MarmotCaravelConfig.fir@113217.4]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  mem_0_resumereq = _RAND_0[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  mem_0_hartsel = _RAND_1[9:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  mem_0_ackhavereset = _RAND_2[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (_T_43) begin
+      mem_0_resumereq <= io_enq_bits_resumereq;
+    end
+    if (_T_43) begin
+      mem_0_hartsel <= io_enq_bits_hartsel;
+    end
+    if (_T_43) begin
+      mem_0_ackhavereset <= io_enq_bits_ackhavereset;
+    end
+  end
+endmodule
+module TLDebugModuleOuterAsync( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113223.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113224.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113225.4]
+  output [2:0]  auto_asource_out_a_mem_0_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113226.4]
+  output [8:0]  auto_asource_out_a_mem_0_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113226.4]
+  output [3:0]  auto_asource_out_a_mem_0_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113226.4]
+  output [31:0] auto_asource_out_a_mem_0_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113226.4]
+  input         auto_asource_out_a_ridx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113226.4]
+  output        auto_asource_out_a_widx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113226.4]
+  input         auto_asource_out_a_safe_ridx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113226.4]
+  output        auto_asource_out_a_safe_widx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113226.4]
+  output        auto_asource_out_a_safe_source_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113226.4]
+  input         auto_asource_out_a_safe_sink_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113226.4]
+  input  [2:0]  auto_asource_out_d_mem_0_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113226.4]
+  input  [1:0]  auto_asource_out_d_mem_0_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113226.4]
+  input         auto_asource_out_d_mem_0_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113226.4]
+  input  [31:0] auto_asource_out_d_mem_0_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113226.4]
+  output        auto_asource_out_d_ridx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113226.4]
+  input         auto_asource_out_d_widx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113226.4]
+  output        auto_asource_out_d_safe_ridx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113226.4]
+  input         auto_asource_out_d_safe_widx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113226.4]
+  input         auto_asource_out_d_safe_source_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113226.4]
+  output        auto_asource_out_d_safe_sink_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113226.4]
+  output        auto_intsource_out_sync_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113226.4]
+  output        io_dmi_req_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113227.4]
+  input         io_dmi_req_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113227.4]
+  input  [6:0]  io_dmi_req_bits_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113227.4]
+  input  [31:0] io_dmi_req_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113227.4]
+  input  [1:0]  io_dmi_req_bits_op, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113227.4]
+  input         io_dmi_resp_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113227.4]
+  output        io_dmi_resp_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113227.4]
+  output [31:0] io_dmi_resp_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113227.4]
+  output [1:0]  io_dmi_resp_bits_resp, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113227.4]
+  output        io_ctrl_ndreset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113227.4]
+  output        io_ctrl_dmactive, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113227.4]
+  output        io_innerCtrl_mem_0_resumereq, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113227.4]
+  output [9:0]  io_innerCtrl_mem_0_hartsel, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113227.4]
+  output        io_innerCtrl_mem_0_ackhavereset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113227.4]
+  input         io_innerCtrl_ridx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113227.4]
+  output        io_innerCtrl_widx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113227.4]
+  input         io_innerCtrl_safe_ridx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113227.4]
+  output        io_innerCtrl_safe_widx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113227.4]
+  output        io_innerCtrl_safe_source_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113227.4]
+  input         io_innerCtrl_safe_sink_reset_n // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113227.4]
+);
+  wire  dmi2tl_auto_out_a_ready; // @[Debug.scala 344:26:shc.marmotcaravel.MarmotCaravelConfig.fir@113233.4]
+  wire  dmi2tl_auto_out_a_valid; // @[Debug.scala 344:26:shc.marmotcaravel.MarmotCaravelConfig.fir@113233.4]
+  wire [2:0] dmi2tl_auto_out_a_bits_opcode; // @[Debug.scala 344:26:shc.marmotcaravel.MarmotCaravelConfig.fir@113233.4]
+  wire [8:0] dmi2tl_auto_out_a_bits_address; // @[Debug.scala 344:26:shc.marmotcaravel.MarmotCaravelConfig.fir@113233.4]
+  wire [3:0] dmi2tl_auto_out_a_bits_mask; // @[Debug.scala 344:26:shc.marmotcaravel.MarmotCaravelConfig.fir@113233.4]
+  wire [31:0] dmi2tl_auto_out_a_bits_data; // @[Debug.scala 344:26:shc.marmotcaravel.MarmotCaravelConfig.fir@113233.4]
+  wire  dmi2tl_auto_out_d_ready; // @[Debug.scala 344:26:shc.marmotcaravel.MarmotCaravelConfig.fir@113233.4]
+  wire  dmi2tl_auto_out_d_valid; // @[Debug.scala 344:26:shc.marmotcaravel.MarmotCaravelConfig.fir@113233.4]
+  wire  dmi2tl_auto_out_d_bits_denied; // @[Debug.scala 344:26:shc.marmotcaravel.MarmotCaravelConfig.fir@113233.4]
+  wire [31:0] dmi2tl_auto_out_d_bits_data; // @[Debug.scala 344:26:shc.marmotcaravel.MarmotCaravelConfig.fir@113233.4]
+  wire  dmi2tl_auto_out_d_bits_corrupt; // @[Debug.scala 344:26:shc.marmotcaravel.MarmotCaravelConfig.fir@113233.4]
+  wire  dmi2tl_io_dmi_req_ready; // @[Debug.scala 344:26:shc.marmotcaravel.MarmotCaravelConfig.fir@113233.4]
+  wire  dmi2tl_io_dmi_req_valid; // @[Debug.scala 344:26:shc.marmotcaravel.MarmotCaravelConfig.fir@113233.4]
+  wire [6:0] dmi2tl_io_dmi_req_bits_addr; // @[Debug.scala 344:26:shc.marmotcaravel.MarmotCaravelConfig.fir@113233.4]
+  wire [31:0] dmi2tl_io_dmi_req_bits_data; // @[Debug.scala 344:26:shc.marmotcaravel.MarmotCaravelConfig.fir@113233.4]
+  wire [1:0] dmi2tl_io_dmi_req_bits_op; // @[Debug.scala 344:26:shc.marmotcaravel.MarmotCaravelConfig.fir@113233.4]
+  wire  dmi2tl_io_dmi_resp_ready; // @[Debug.scala 344:26:shc.marmotcaravel.MarmotCaravelConfig.fir@113233.4]
+  wire  dmi2tl_io_dmi_resp_valid; // @[Debug.scala 344:26:shc.marmotcaravel.MarmotCaravelConfig.fir@113233.4]
+  wire [31:0] dmi2tl_io_dmi_resp_bits_data; // @[Debug.scala 344:26:shc.marmotcaravel.MarmotCaravelConfig.fir@113233.4]
+  wire [1:0] dmi2tl_io_dmi_resp_bits_resp; // @[Debug.scala 344:26:shc.marmotcaravel.MarmotCaravelConfig.fir@113233.4]
+  wire  dmiXbar_clock; // @[Debug.scala 345:28:shc.marmotcaravel.MarmotCaravelConfig.fir@113240.4]
+  wire  dmiXbar_reset; // @[Debug.scala 345:28:shc.marmotcaravel.MarmotCaravelConfig.fir@113240.4]
+  wire  dmiXbar_auto_in_a_ready; // @[Debug.scala 345:28:shc.marmotcaravel.MarmotCaravelConfig.fir@113240.4]
+  wire  dmiXbar_auto_in_a_valid; // @[Debug.scala 345:28:shc.marmotcaravel.MarmotCaravelConfig.fir@113240.4]
+  wire [2:0] dmiXbar_auto_in_a_bits_opcode; // @[Debug.scala 345:28:shc.marmotcaravel.MarmotCaravelConfig.fir@113240.4]
+  wire [8:0] dmiXbar_auto_in_a_bits_address; // @[Debug.scala 345:28:shc.marmotcaravel.MarmotCaravelConfig.fir@113240.4]
+  wire [3:0] dmiXbar_auto_in_a_bits_mask; // @[Debug.scala 345:28:shc.marmotcaravel.MarmotCaravelConfig.fir@113240.4]
+  wire [31:0] dmiXbar_auto_in_a_bits_data; // @[Debug.scala 345:28:shc.marmotcaravel.MarmotCaravelConfig.fir@113240.4]
+  wire  dmiXbar_auto_in_d_ready; // @[Debug.scala 345:28:shc.marmotcaravel.MarmotCaravelConfig.fir@113240.4]
+  wire  dmiXbar_auto_in_d_valid; // @[Debug.scala 345:28:shc.marmotcaravel.MarmotCaravelConfig.fir@113240.4]
+  wire  dmiXbar_auto_in_d_bits_denied; // @[Debug.scala 345:28:shc.marmotcaravel.MarmotCaravelConfig.fir@113240.4]
+  wire [31:0] dmiXbar_auto_in_d_bits_data; // @[Debug.scala 345:28:shc.marmotcaravel.MarmotCaravelConfig.fir@113240.4]
+  wire  dmiXbar_auto_in_d_bits_corrupt; // @[Debug.scala 345:28:shc.marmotcaravel.MarmotCaravelConfig.fir@113240.4]
+  wire  dmiXbar_auto_out_1_a_ready; // @[Debug.scala 345:28:shc.marmotcaravel.MarmotCaravelConfig.fir@113240.4]
+  wire  dmiXbar_auto_out_1_a_valid; // @[Debug.scala 345:28:shc.marmotcaravel.MarmotCaravelConfig.fir@113240.4]
+  wire [2:0] dmiXbar_auto_out_1_a_bits_opcode; // @[Debug.scala 345:28:shc.marmotcaravel.MarmotCaravelConfig.fir@113240.4]
+  wire [6:0] dmiXbar_auto_out_1_a_bits_address; // @[Debug.scala 345:28:shc.marmotcaravel.MarmotCaravelConfig.fir@113240.4]
+  wire [3:0] dmiXbar_auto_out_1_a_bits_mask; // @[Debug.scala 345:28:shc.marmotcaravel.MarmotCaravelConfig.fir@113240.4]
+  wire [31:0] dmiXbar_auto_out_1_a_bits_data; // @[Debug.scala 345:28:shc.marmotcaravel.MarmotCaravelConfig.fir@113240.4]
+  wire  dmiXbar_auto_out_1_d_ready; // @[Debug.scala 345:28:shc.marmotcaravel.MarmotCaravelConfig.fir@113240.4]
+  wire  dmiXbar_auto_out_1_d_valid; // @[Debug.scala 345:28:shc.marmotcaravel.MarmotCaravelConfig.fir@113240.4]
+  wire [2:0] dmiXbar_auto_out_1_d_bits_opcode; // @[Debug.scala 345:28:shc.marmotcaravel.MarmotCaravelConfig.fir@113240.4]
+  wire [31:0] dmiXbar_auto_out_1_d_bits_data; // @[Debug.scala 345:28:shc.marmotcaravel.MarmotCaravelConfig.fir@113240.4]
+  wire  dmiXbar_auto_out_0_a_ready; // @[Debug.scala 345:28:shc.marmotcaravel.MarmotCaravelConfig.fir@113240.4]
+  wire  dmiXbar_auto_out_0_a_valid; // @[Debug.scala 345:28:shc.marmotcaravel.MarmotCaravelConfig.fir@113240.4]
+  wire [2:0] dmiXbar_auto_out_0_a_bits_opcode; // @[Debug.scala 345:28:shc.marmotcaravel.MarmotCaravelConfig.fir@113240.4]
+  wire [8:0] dmiXbar_auto_out_0_a_bits_address; // @[Debug.scala 345:28:shc.marmotcaravel.MarmotCaravelConfig.fir@113240.4]
+  wire [3:0] dmiXbar_auto_out_0_a_bits_mask; // @[Debug.scala 345:28:shc.marmotcaravel.MarmotCaravelConfig.fir@113240.4]
+  wire [31:0] dmiXbar_auto_out_0_a_bits_data; // @[Debug.scala 345:28:shc.marmotcaravel.MarmotCaravelConfig.fir@113240.4]
+  wire  dmiXbar_auto_out_0_d_ready; // @[Debug.scala 345:28:shc.marmotcaravel.MarmotCaravelConfig.fir@113240.4]
+  wire  dmiXbar_auto_out_0_d_valid; // @[Debug.scala 345:28:shc.marmotcaravel.MarmotCaravelConfig.fir@113240.4]
+  wire [2:0] dmiXbar_auto_out_0_d_bits_opcode; // @[Debug.scala 345:28:shc.marmotcaravel.MarmotCaravelConfig.fir@113240.4]
+  wire [1:0] dmiXbar_auto_out_0_d_bits_param; // @[Debug.scala 345:28:shc.marmotcaravel.MarmotCaravelConfig.fir@113240.4]
+  wire [1:0] dmiXbar_auto_out_0_d_bits_size; // @[Debug.scala 345:28:shc.marmotcaravel.MarmotCaravelConfig.fir@113240.4]
+  wire  dmiXbar_auto_out_0_d_bits_source; // @[Debug.scala 345:28:shc.marmotcaravel.MarmotCaravelConfig.fir@113240.4]
+  wire  dmiXbar_auto_out_0_d_bits_sink; // @[Debug.scala 345:28:shc.marmotcaravel.MarmotCaravelConfig.fir@113240.4]
+  wire  dmiXbar_auto_out_0_d_bits_denied; // @[Debug.scala 345:28:shc.marmotcaravel.MarmotCaravelConfig.fir@113240.4]
+  wire [31:0] dmiXbar_auto_out_0_d_bits_data; // @[Debug.scala 345:28:shc.marmotcaravel.MarmotCaravelConfig.fir@113240.4]
+  wire  dmiXbar_auto_out_0_d_bits_corrupt; // @[Debug.scala 345:28:shc.marmotcaravel.MarmotCaravelConfig.fir@113240.4]
+  wire  dmOuter_clock; // @[Debug.scala 347:27:shc.marmotcaravel.MarmotCaravelConfig.fir@113246.4]
+  wire  dmOuter_reset; // @[Debug.scala 347:27:shc.marmotcaravel.MarmotCaravelConfig.fir@113246.4]
+  wire  dmOuter_auto_dmi_in_a_ready; // @[Debug.scala 347:27:shc.marmotcaravel.MarmotCaravelConfig.fir@113246.4]
+  wire  dmOuter_auto_dmi_in_a_valid; // @[Debug.scala 347:27:shc.marmotcaravel.MarmotCaravelConfig.fir@113246.4]
+  wire [2:0] dmOuter_auto_dmi_in_a_bits_opcode; // @[Debug.scala 347:27:shc.marmotcaravel.MarmotCaravelConfig.fir@113246.4]
+  wire [6:0] dmOuter_auto_dmi_in_a_bits_address; // @[Debug.scala 347:27:shc.marmotcaravel.MarmotCaravelConfig.fir@113246.4]
+  wire [3:0] dmOuter_auto_dmi_in_a_bits_mask; // @[Debug.scala 347:27:shc.marmotcaravel.MarmotCaravelConfig.fir@113246.4]
+  wire [31:0] dmOuter_auto_dmi_in_a_bits_data; // @[Debug.scala 347:27:shc.marmotcaravel.MarmotCaravelConfig.fir@113246.4]
+  wire  dmOuter_auto_dmi_in_d_ready; // @[Debug.scala 347:27:shc.marmotcaravel.MarmotCaravelConfig.fir@113246.4]
+  wire  dmOuter_auto_dmi_in_d_valid; // @[Debug.scala 347:27:shc.marmotcaravel.MarmotCaravelConfig.fir@113246.4]
+  wire [2:0] dmOuter_auto_dmi_in_d_bits_opcode; // @[Debug.scala 347:27:shc.marmotcaravel.MarmotCaravelConfig.fir@113246.4]
+  wire [31:0] dmOuter_auto_dmi_in_d_bits_data; // @[Debug.scala 347:27:shc.marmotcaravel.MarmotCaravelConfig.fir@113246.4]
+  wire  dmOuter_auto_int_out_0; // @[Debug.scala 347:27:shc.marmotcaravel.MarmotCaravelConfig.fir@113246.4]
+  wire  dmOuter_io_ctrl_ndreset; // @[Debug.scala 347:27:shc.marmotcaravel.MarmotCaravelConfig.fir@113246.4]
+  wire  dmOuter_io_ctrl_dmactive; // @[Debug.scala 347:27:shc.marmotcaravel.MarmotCaravelConfig.fir@113246.4]
+  wire  dmOuter_io_innerCtrl_valid; // @[Debug.scala 347:27:shc.marmotcaravel.MarmotCaravelConfig.fir@113246.4]
+  wire  dmOuter_io_innerCtrl_bits_resumereq; // @[Debug.scala 347:27:shc.marmotcaravel.MarmotCaravelConfig.fir@113246.4]
+  wire [9:0] dmOuter_io_innerCtrl_bits_hartsel; // @[Debug.scala 347:27:shc.marmotcaravel.MarmotCaravelConfig.fir@113246.4]
+  wire  dmOuter_io_innerCtrl_bits_ackhavereset; // @[Debug.scala 347:27:shc.marmotcaravel.MarmotCaravelConfig.fir@113246.4]
+  wire  intsource_auto_in_0; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@113253.4]
+  wire  intsource_auto_out_sync_0; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@113253.4]
+  wire  asource_clock; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@113259.4]
+  wire  asource_reset; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@113259.4]
+  wire  asource_auto_in_a_ready; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@113259.4]
+  wire  asource_auto_in_a_valid; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@113259.4]
+  wire [2:0] asource_auto_in_a_bits_opcode; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@113259.4]
+  wire [8:0] asource_auto_in_a_bits_address; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@113259.4]
+  wire [3:0] asource_auto_in_a_bits_mask; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@113259.4]
+  wire [31:0] asource_auto_in_a_bits_data; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@113259.4]
+  wire  asource_auto_in_d_ready; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@113259.4]
+  wire  asource_auto_in_d_valid; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@113259.4]
+  wire [2:0] asource_auto_in_d_bits_opcode; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@113259.4]
+  wire [1:0] asource_auto_in_d_bits_param; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@113259.4]
+  wire [1:0] asource_auto_in_d_bits_size; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@113259.4]
+  wire  asource_auto_in_d_bits_source; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@113259.4]
+  wire  asource_auto_in_d_bits_sink; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@113259.4]
+  wire  asource_auto_in_d_bits_denied; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@113259.4]
+  wire [31:0] asource_auto_in_d_bits_data; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@113259.4]
+  wire  asource_auto_in_d_bits_corrupt; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@113259.4]
+  wire [2:0] asource_auto_out_a_mem_0_opcode; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@113259.4]
+  wire [8:0] asource_auto_out_a_mem_0_address; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@113259.4]
+  wire [3:0] asource_auto_out_a_mem_0_mask; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@113259.4]
+  wire [31:0] asource_auto_out_a_mem_0_data; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@113259.4]
+  wire  asource_auto_out_a_ridx; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@113259.4]
+  wire  asource_auto_out_a_widx; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@113259.4]
+  wire  asource_auto_out_a_safe_ridx_valid; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@113259.4]
+  wire  asource_auto_out_a_safe_widx_valid; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@113259.4]
+  wire  asource_auto_out_a_safe_source_reset_n; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@113259.4]
+  wire  asource_auto_out_a_safe_sink_reset_n; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@113259.4]
+  wire [2:0] asource_auto_out_d_mem_0_opcode; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@113259.4]
+  wire [1:0] asource_auto_out_d_mem_0_size; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@113259.4]
+  wire  asource_auto_out_d_mem_0_source; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@113259.4]
+  wire [31:0] asource_auto_out_d_mem_0_data; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@113259.4]
+  wire  asource_auto_out_d_ridx; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@113259.4]
+  wire  asource_auto_out_d_widx; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@113259.4]
+  wire  asource_auto_out_d_safe_ridx_valid; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@113259.4]
+  wire  asource_auto_out_d_safe_widx_valid; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@113259.4]
+  wire  asource_auto_out_d_safe_source_reset_n; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@113259.4]
+  wire  asource_auto_out_d_safe_sink_reset_n; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@113259.4]
+  wire  AsyncQueueSource_clock; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@113273.4]
+  wire  AsyncQueueSource_reset; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@113273.4]
+  wire  AsyncQueueSource_io_enq_ready; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@113273.4]
+  wire  AsyncQueueSource_io_enq_valid; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@113273.4]
+  wire  AsyncQueueSource_io_enq_bits_resumereq; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@113273.4]
+  wire [9:0] AsyncQueueSource_io_enq_bits_hartsel; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@113273.4]
+  wire  AsyncQueueSource_io_enq_bits_ackhavereset; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@113273.4]
+  wire  AsyncQueueSource_io_async_mem_0_resumereq; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@113273.4]
+  wire [9:0] AsyncQueueSource_io_async_mem_0_hartsel; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@113273.4]
+  wire  AsyncQueueSource_io_async_mem_0_ackhavereset; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@113273.4]
+  wire  AsyncQueueSource_io_async_ridx; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@113273.4]
+  wire  AsyncQueueSource_io_async_widx; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@113273.4]
+  wire  AsyncQueueSource_io_async_safe_ridx_valid; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@113273.4]
+  wire  AsyncQueueSource_io_async_safe_widx_valid; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@113273.4]
+  wire  AsyncQueueSource_io_async_safe_source_reset_n; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@113273.4]
+  wire  AsyncQueueSource_io_async_safe_sink_reset_n; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@113273.4]
+  DMIToTL dmi2tl ( // @[Debug.scala 344:26:shc.marmotcaravel.MarmotCaravelConfig.fir@113233.4]
+    .auto_out_a_ready(dmi2tl_auto_out_a_ready),
+    .auto_out_a_valid(dmi2tl_auto_out_a_valid),
+    .auto_out_a_bits_opcode(dmi2tl_auto_out_a_bits_opcode),
+    .auto_out_a_bits_address(dmi2tl_auto_out_a_bits_address),
+    .auto_out_a_bits_mask(dmi2tl_auto_out_a_bits_mask),
+    .auto_out_a_bits_data(dmi2tl_auto_out_a_bits_data),
+    .auto_out_d_ready(dmi2tl_auto_out_d_ready),
+    .auto_out_d_valid(dmi2tl_auto_out_d_valid),
+    .auto_out_d_bits_denied(dmi2tl_auto_out_d_bits_denied),
+    .auto_out_d_bits_data(dmi2tl_auto_out_d_bits_data),
+    .auto_out_d_bits_corrupt(dmi2tl_auto_out_d_bits_corrupt),
+    .io_dmi_req_ready(dmi2tl_io_dmi_req_ready),
+    .io_dmi_req_valid(dmi2tl_io_dmi_req_valid),
+    .io_dmi_req_bits_addr(dmi2tl_io_dmi_req_bits_addr),
+    .io_dmi_req_bits_data(dmi2tl_io_dmi_req_bits_data),
+    .io_dmi_req_bits_op(dmi2tl_io_dmi_req_bits_op),
+    .io_dmi_resp_ready(dmi2tl_io_dmi_resp_ready),
+    .io_dmi_resp_valid(dmi2tl_io_dmi_resp_valid),
+    .io_dmi_resp_bits_data(dmi2tl_io_dmi_resp_bits_data),
+    .io_dmi_resp_bits_resp(dmi2tl_io_dmi_resp_bits_resp)
+  );
+  TLXbar_7 dmiXbar ( // @[Debug.scala 345:28:shc.marmotcaravel.MarmotCaravelConfig.fir@113240.4]
+    .clock(dmiXbar_clock),
+    .reset(dmiXbar_reset),
+    .auto_in_a_ready(dmiXbar_auto_in_a_ready),
+    .auto_in_a_valid(dmiXbar_auto_in_a_valid),
+    .auto_in_a_bits_opcode(dmiXbar_auto_in_a_bits_opcode),
+    .auto_in_a_bits_address(dmiXbar_auto_in_a_bits_address),
+    .auto_in_a_bits_mask(dmiXbar_auto_in_a_bits_mask),
+    .auto_in_a_bits_data(dmiXbar_auto_in_a_bits_data),
+    .auto_in_d_ready(dmiXbar_auto_in_d_ready),
+    .auto_in_d_valid(dmiXbar_auto_in_d_valid),
+    .auto_in_d_bits_denied(dmiXbar_auto_in_d_bits_denied),
+    .auto_in_d_bits_data(dmiXbar_auto_in_d_bits_data),
+    .auto_in_d_bits_corrupt(dmiXbar_auto_in_d_bits_corrupt),
+    .auto_out_1_a_ready(dmiXbar_auto_out_1_a_ready),
+    .auto_out_1_a_valid(dmiXbar_auto_out_1_a_valid),
+    .auto_out_1_a_bits_opcode(dmiXbar_auto_out_1_a_bits_opcode),
+    .auto_out_1_a_bits_address(dmiXbar_auto_out_1_a_bits_address),
+    .auto_out_1_a_bits_mask(dmiXbar_auto_out_1_a_bits_mask),
+    .auto_out_1_a_bits_data(dmiXbar_auto_out_1_a_bits_data),
+    .auto_out_1_d_ready(dmiXbar_auto_out_1_d_ready),
+    .auto_out_1_d_valid(dmiXbar_auto_out_1_d_valid),
+    .auto_out_1_d_bits_opcode(dmiXbar_auto_out_1_d_bits_opcode),
+    .auto_out_1_d_bits_data(dmiXbar_auto_out_1_d_bits_data),
+    .auto_out_0_a_ready(dmiXbar_auto_out_0_a_ready),
+    .auto_out_0_a_valid(dmiXbar_auto_out_0_a_valid),
+    .auto_out_0_a_bits_opcode(dmiXbar_auto_out_0_a_bits_opcode),
+    .auto_out_0_a_bits_address(dmiXbar_auto_out_0_a_bits_address),
+    .auto_out_0_a_bits_mask(dmiXbar_auto_out_0_a_bits_mask),
+    .auto_out_0_a_bits_data(dmiXbar_auto_out_0_a_bits_data),
+    .auto_out_0_d_ready(dmiXbar_auto_out_0_d_ready),
+    .auto_out_0_d_valid(dmiXbar_auto_out_0_d_valid),
+    .auto_out_0_d_bits_opcode(dmiXbar_auto_out_0_d_bits_opcode),
+    .auto_out_0_d_bits_param(dmiXbar_auto_out_0_d_bits_param),
+    .auto_out_0_d_bits_size(dmiXbar_auto_out_0_d_bits_size),
+    .auto_out_0_d_bits_source(dmiXbar_auto_out_0_d_bits_source),
+    .auto_out_0_d_bits_sink(dmiXbar_auto_out_0_d_bits_sink),
+    .auto_out_0_d_bits_denied(dmiXbar_auto_out_0_d_bits_denied),
+    .auto_out_0_d_bits_data(dmiXbar_auto_out_0_d_bits_data),
+    .auto_out_0_d_bits_corrupt(dmiXbar_auto_out_0_d_bits_corrupt)
+  );
+  TLDebugModuleOuter dmOuter ( // @[Debug.scala 347:27:shc.marmotcaravel.MarmotCaravelConfig.fir@113246.4]
+    .clock(dmOuter_clock),
+    .reset(dmOuter_reset),
+    .auto_dmi_in_a_ready(dmOuter_auto_dmi_in_a_ready),
+    .auto_dmi_in_a_valid(dmOuter_auto_dmi_in_a_valid),
+    .auto_dmi_in_a_bits_opcode(dmOuter_auto_dmi_in_a_bits_opcode),
+    .auto_dmi_in_a_bits_address(dmOuter_auto_dmi_in_a_bits_address),
+    .auto_dmi_in_a_bits_mask(dmOuter_auto_dmi_in_a_bits_mask),
+    .auto_dmi_in_a_bits_data(dmOuter_auto_dmi_in_a_bits_data),
+    .auto_dmi_in_d_ready(dmOuter_auto_dmi_in_d_ready),
+    .auto_dmi_in_d_valid(dmOuter_auto_dmi_in_d_valid),
+    .auto_dmi_in_d_bits_opcode(dmOuter_auto_dmi_in_d_bits_opcode),
+    .auto_dmi_in_d_bits_data(dmOuter_auto_dmi_in_d_bits_data),
+    .auto_int_out_0(dmOuter_auto_int_out_0),
+    .io_ctrl_ndreset(dmOuter_io_ctrl_ndreset),
+    .io_ctrl_dmactive(dmOuter_io_ctrl_dmactive),
+    .io_innerCtrl_valid(dmOuter_io_innerCtrl_valid),
+    .io_innerCtrl_bits_resumereq(dmOuter_io_innerCtrl_bits_resumereq),
+    .io_innerCtrl_bits_hartsel(dmOuter_io_innerCtrl_bits_hartsel),
+    .io_innerCtrl_bits_ackhavereset(dmOuter_io_innerCtrl_bits_ackhavereset)
+  );
+  IntSyncCrossingSource intsource ( // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@113253.4]
+    .auto_in_0(intsource_auto_in_0),
+    .auto_out_sync_0(intsource_auto_out_sync_0)
+  );
+  TLAsyncCrossingSource_1 asource ( // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@113259.4]
+    .clock(asource_clock),
+    .reset(asource_reset),
+    .auto_in_a_ready(asource_auto_in_a_ready),
+    .auto_in_a_valid(asource_auto_in_a_valid),
+    .auto_in_a_bits_opcode(asource_auto_in_a_bits_opcode),
+    .auto_in_a_bits_address(asource_auto_in_a_bits_address),
+    .auto_in_a_bits_mask(asource_auto_in_a_bits_mask),
+    .auto_in_a_bits_data(asource_auto_in_a_bits_data),
+    .auto_in_d_ready(asource_auto_in_d_ready),
+    .auto_in_d_valid(asource_auto_in_d_valid),
+    .auto_in_d_bits_opcode(asource_auto_in_d_bits_opcode),
+    .auto_in_d_bits_param(asource_auto_in_d_bits_param),
+    .auto_in_d_bits_size(asource_auto_in_d_bits_size),
+    .auto_in_d_bits_source(asource_auto_in_d_bits_source),
+    .auto_in_d_bits_sink(asource_auto_in_d_bits_sink),
+    .auto_in_d_bits_denied(asource_auto_in_d_bits_denied),
+    .auto_in_d_bits_data(asource_auto_in_d_bits_data),
+    .auto_in_d_bits_corrupt(asource_auto_in_d_bits_corrupt),
+    .auto_out_a_mem_0_opcode(asource_auto_out_a_mem_0_opcode),
+    .auto_out_a_mem_0_address(asource_auto_out_a_mem_0_address),
+    .auto_out_a_mem_0_mask(asource_auto_out_a_mem_0_mask),
+    .auto_out_a_mem_0_data(asource_auto_out_a_mem_0_data),
+    .auto_out_a_ridx(asource_auto_out_a_ridx),
+    .auto_out_a_widx(asource_auto_out_a_widx),
+    .auto_out_a_safe_ridx_valid(asource_auto_out_a_safe_ridx_valid),
+    .auto_out_a_safe_widx_valid(asource_auto_out_a_safe_widx_valid),
+    .auto_out_a_safe_source_reset_n(asource_auto_out_a_safe_source_reset_n),
+    .auto_out_a_safe_sink_reset_n(asource_auto_out_a_safe_sink_reset_n),
+    .auto_out_d_mem_0_opcode(asource_auto_out_d_mem_0_opcode),
+    .auto_out_d_mem_0_size(asource_auto_out_d_mem_0_size),
+    .auto_out_d_mem_0_source(asource_auto_out_d_mem_0_source),
+    .auto_out_d_mem_0_data(asource_auto_out_d_mem_0_data),
+    .auto_out_d_ridx(asource_auto_out_d_ridx),
+    .auto_out_d_widx(asource_auto_out_d_widx),
+    .auto_out_d_safe_ridx_valid(asource_auto_out_d_safe_ridx_valid),
+    .auto_out_d_safe_widx_valid(asource_auto_out_d_safe_widx_valid),
+    .auto_out_d_safe_source_reset_n(asource_auto_out_d_safe_source_reset_n),
+    .auto_out_d_safe_sink_reset_n(asource_auto_out_d_safe_sink_reset_n)
+  );
+  AsyncQueueSource_2 AsyncQueueSource ( // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@113273.4]
+    .clock(AsyncQueueSource_clock),
+    .reset(AsyncQueueSource_reset),
+    .io_enq_ready(AsyncQueueSource_io_enq_ready),
+    .io_enq_valid(AsyncQueueSource_io_enq_valid),
+    .io_enq_bits_resumereq(AsyncQueueSource_io_enq_bits_resumereq),
+    .io_enq_bits_hartsel(AsyncQueueSource_io_enq_bits_hartsel),
+    .io_enq_bits_ackhavereset(AsyncQueueSource_io_enq_bits_ackhavereset),
+    .io_async_mem_0_resumereq(AsyncQueueSource_io_async_mem_0_resumereq),
+    .io_async_mem_0_hartsel(AsyncQueueSource_io_async_mem_0_hartsel),
+    .io_async_mem_0_ackhavereset(AsyncQueueSource_io_async_mem_0_ackhavereset),
+    .io_async_ridx(AsyncQueueSource_io_async_ridx),
+    .io_async_widx(AsyncQueueSource_io_async_widx),
+    .io_async_safe_ridx_valid(AsyncQueueSource_io_async_safe_ridx_valid),
+    .io_async_safe_widx_valid(AsyncQueueSource_io_async_safe_widx_valid),
+    .io_async_safe_source_reset_n(AsyncQueueSource_io_async_safe_source_reset_n),
+    .io_async_safe_sink_reset_n(AsyncQueueSource_io_async_safe_sink_reset_n)
+  );
+  assign auto_asource_out_a_mem_0_opcode = asource_auto_out_a_mem_0_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@113270.4]
+  assign auto_asource_out_a_mem_0_address = asource_auto_out_a_mem_0_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@113270.4]
+  assign auto_asource_out_a_mem_0_mask = asource_auto_out_a_mem_0_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@113270.4]
+  assign auto_asource_out_a_mem_0_data = asource_auto_out_a_mem_0_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@113270.4]
+  assign auto_asource_out_a_widx = asource_auto_out_a_widx; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@113270.4]
+  assign auto_asource_out_a_safe_widx_valid = asource_auto_out_a_safe_widx_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@113270.4]
+  assign auto_asource_out_a_safe_source_reset_n = asource_auto_out_a_safe_source_reset_n; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@113270.4]
+  assign auto_asource_out_d_ridx = asource_auto_out_d_ridx; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@113270.4]
+  assign auto_asource_out_d_safe_ridx_valid = asource_auto_out_d_safe_ridx_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@113270.4]
+  assign auto_asource_out_d_safe_sink_reset_n = asource_auto_out_d_safe_sink_reset_n; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@113270.4]
+  assign auto_intsource_out_sync_0 = intsource_auto_out_sync_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@113269.4]
+  assign io_dmi_req_ready = dmi2tl_io_dmi_req_ready; // @[Debug.scala 365:26:shc.marmotcaravel.MarmotCaravelConfig.fir@113271.4]
+  assign io_dmi_resp_valid = dmi2tl_io_dmi_resp_valid; // @[Debug.scala 365:26:shc.marmotcaravel.MarmotCaravelConfig.fir@113271.4]
+  assign io_dmi_resp_bits_data = dmi2tl_io_dmi_resp_bits_data; // @[Debug.scala 365:26:shc.marmotcaravel.MarmotCaravelConfig.fir@113271.4]
+  assign io_dmi_resp_bits_resp = dmi2tl_io_dmi_resp_bits_resp; // @[Debug.scala 365:26:shc.marmotcaravel.MarmotCaravelConfig.fir@113271.4]
+  assign io_ctrl_ndreset = dmOuter_io_ctrl_ndreset; // @[Debug.scala 367:13:shc.marmotcaravel.MarmotCaravelConfig.fir@113272.4]
+  assign io_ctrl_dmactive = dmOuter_io_ctrl_dmactive; // @[Debug.scala 367:13:shc.marmotcaravel.MarmotCaravelConfig.fir@113272.4]
+  assign io_innerCtrl_mem_0_resumereq = AsyncQueueSource_io_async_mem_0_resumereq; // @[Debug.scala 368:18:shc.marmotcaravel.MarmotCaravelConfig.fir@113279.4]
+  assign io_innerCtrl_mem_0_hartsel = AsyncQueueSource_io_async_mem_0_hartsel; // @[Debug.scala 368:18:shc.marmotcaravel.MarmotCaravelConfig.fir@113279.4]
+  assign io_innerCtrl_mem_0_ackhavereset = AsyncQueueSource_io_async_mem_0_ackhavereset; // @[Debug.scala 368:18:shc.marmotcaravel.MarmotCaravelConfig.fir@113279.4]
+  assign io_innerCtrl_widx = AsyncQueueSource_io_async_widx; // @[Debug.scala 368:18:shc.marmotcaravel.MarmotCaravelConfig.fir@113279.4]
+  assign io_innerCtrl_safe_widx_valid = AsyncQueueSource_io_async_safe_widx_valid; // @[Debug.scala 368:18:shc.marmotcaravel.MarmotCaravelConfig.fir@113279.4]
+  assign io_innerCtrl_safe_source_reset_n = AsyncQueueSource_io_async_safe_source_reset_n; // @[Debug.scala 368:18:shc.marmotcaravel.MarmotCaravelConfig.fir@113279.4]
+  assign dmi2tl_auto_out_a_ready = dmiXbar_auto_in_a_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@113265.4]
+  assign dmi2tl_auto_out_d_valid = dmiXbar_auto_in_d_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@113265.4]
+  assign dmi2tl_auto_out_d_bits_denied = dmiXbar_auto_in_d_bits_denied; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@113265.4]
+  assign dmi2tl_auto_out_d_bits_data = dmiXbar_auto_in_d_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@113265.4]
+  assign dmi2tl_auto_out_d_bits_corrupt = dmiXbar_auto_in_d_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@113265.4]
+  assign dmi2tl_io_dmi_req_valid = io_dmi_req_valid; // @[Debug.scala 365:26:shc.marmotcaravel.MarmotCaravelConfig.fir@113271.4]
+  assign dmi2tl_io_dmi_req_bits_addr = io_dmi_req_bits_addr; // @[Debug.scala 365:26:shc.marmotcaravel.MarmotCaravelConfig.fir@113271.4]
+  assign dmi2tl_io_dmi_req_bits_data = io_dmi_req_bits_data; // @[Debug.scala 365:26:shc.marmotcaravel.MarmotCaravelConfig.fir@113271.4]
+  assign dmi2tl_io_dmi_req_bits_op = io_dmi_req_bits_op; // @[Debug.scala 365:26:shc.marmotcaravel.MarmotCaravelConfig.fir@113271.4]
+  assign dmi2tl_io_dmi_resp_ready = io_dmi_resp_ready; // @[Debug.scala 365:26:shc.marmotcaravel.MarmotCaravelConfig.fir@113271.4]
+  assign dmiXbar_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113244.4]
+  assign dmiXbar_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113245.4]
+  assign dmiXbar_auto_in_a_valid = dmi2tl_auto_out_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@113265.4]
+  assign dmiXbar_auto_in_a_bits_opcode = dmi2tl_auto_out_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@113265.4]
+  assign dmiXbar_auto_in_a_bits_address = dmi2tl_auto_out_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@113265.4]
+  assign dmiXbar_auto_in_a_bits_mask = dmi2tl_auto_out_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@113265.4]
+  assign dmiXbar_auto_in_a_bits_data = dmi2tl_auto_out_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@113265.4]
+  assign dmiXbar_auto_in_d_ready = dmi2tl_auto_out_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@113265.4]
+  assign dmiXbar_auto_out_1_a_ready = dmOuter_auto_dmi_in_a_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@113267.4]
+  assign dmiXbar_auto_out_1_d_valid = dmOuter_auto_dmi_in_d_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@113267.4]
+  assign dmiXbar_auto_out_1_d_bits_opcode = dmOuter_auto_dmi_in_d_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@113267.4]
+  assign dmiXbar_auto_out_1_d_bits_data = dmOuter_auto_dmi_in_d_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@113267.4]
+  assign dmiXbar_auto_out_0_a_ready = asource_auto_in_a_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@113266.4]
+  assign dmiXbar_auto_out_0_d_valid = asource_auto_in_d_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@113266.4]
+  assign dmiXbar_auto_out_0_d_bits_opcode = asource_auto_in_d_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@113266.4]
+  assign dmiXbar_auto_out_0_d_bits_param = asource_auto_in_d_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@113266.4]
+  assign dmiXbar_auto_out_0_d_bits_size = asource_auto_in_d_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@113266.4]
+  assign dmiXbar_auto_out_0_d_bits_source = asource_auto_in_d_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@113266.4]
+  assign dmiXbar_auto_out_0_d_bits_sink = asource_auto_in_d_bits_sink; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@113266.4]
+  assign dmiXbar_auto_out_0_d_bits_denied = asource_auto_in_d_bits_denied; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@113266.4]
+  assign dmiXbar_auto_out_0_d_bits_data = asource_auto_in_d_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@113266.4]
+  assign dmiXbar_auto_out_0_d_bits_corrupt = asource_auto_in_d_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@113266.4]
+  assign dmOuter_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113251.4]
+  assign dmOuter_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113252.4]
+  assign dmOuter_auto_dmi_in_a_valid = dmiXbar_auto_out_1_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@113267.4]
+  assign dmOuter_auto_dmi_in_a_bits_opcode = dmiXbar_auto_out_1_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@113267.4]
+  assign dmOuter_auto_dmi_in_a_bits_address = dmiXbar_auto_out_1_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@113267.4]
+  assign dmOuter_auto_dmi_in_a_bits_mask = dmiXbar_auto_out_1_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@113267.4]
+  assign dmOuter_auto_dmi_in_a_bits_data = dmiXbar_auto_out_1_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@113267.4]
+  assign dmOuter_auto_dmi_in_d_ready = dmiXbar_auto_out_1_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@113267.4]
+  assign intsource_auto_in_0 = dmOuter_auto_int_out_0; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@113268.4]
+  assign asource_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113263.4]
+  assign asource_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113264.4]
+  assign asource_auto_in_a_valid = dmiXbar_auto_out_0_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@113266.4]
+  assign asource_auto_in_a_bits_opcode = dmiXbar_auto_out_0_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@113266.4]
+  assign asource_auto_in_a_bits_address = dmiXbar_auto_out_0_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@113266.4]
+  assign asource_auto_in_a_bits_mask = dmiXbar_auto_out_0_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@113266.4]
+  assign asource_auto_in_a_bits_data = dmiXbar_auto_out_0_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@113266.4]
+  assign asource_auto_in_d_ready = dmiXbar_auto_out_0_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@113266.4]
+  assign asource_auto_out_a_ridx = auto_asource_out_a_ridx; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@113270.4]
+  assign asource_auto_out_a_safe_ridx_valid = auto_asource_out_a_safe_ridx_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@113270.4]
+  assign asource_auto_out_a_safe_sink_reset_n = auto_asource_out_a_safe_sink_reset_n; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@113270.4]
+  assign asource_auto_out_d_mem_0_opcode = auto_asource_out_d_mem_0_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@113270.4]
+  assign asource_auto_out_d_mem_0_size = auto_asource_out_d_mem_0_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@113270.4]
+  assign asource_auto_out_d_mem_0_source = auto_asource_out_d_mem_0_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@113270.4]
+  assign asource_auto_out_d_mem_0_data = auto_asource_out_d_mem_0_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@113270.4]
+  assign asource_auto_out_d_widx = auto_asource_out_d_widx; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@113270.4]
+  assign asource_auto_out_d_safe_widx_valid = auto_asource_out_d_safe_widx_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@113270.4]
+  assign asource_auto_out_d_safe_source_reset_n = auto_asource_out_d_safe_source_reset_n; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@113270.4]
+  assign AsyncQueueSource_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113274.4]
+  assign AsyncQueueSource_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113275.4]
+  assign AsyncQueueSource_io_enq_valid = dmOuter_io_innerCtrl_valid; // @[AsyncQueue.scala 193:19:shc.marmotcaravel.MarmotCaravelConfig.fir@113277.4]
+  assign AsyncQueueSource_io_enq_bits_resumereq = dmOuter_io_innerCtrl_bits_resumereq; // @[AsyncQueue.scala 193:19:shc.marmotcaravel.MarmotCaravelConfig.fir@113276.4]
+  assign AsyncQueueSource_io_enq_bits_hartsel = dmOuter_io_innerCtrl_bits_hartsel; // @[AsyncQueue.scala 193:19:shc.marmotcaravel.MarmotCaravelConfig.fir@113276.4]
+  assign AsyncQueueSource_io_enq_bits_ackhavereset = dmOuter_io_innerCtrl_bits_ackhavereset; // @[AsyncQueue.scala 193:19:shc.marmotcaravel.MarmotCaravelConfig.fir@113276.4]
+  assign AsyncQueueSource_io_async_ridx = io_innerCtrl_ridx; // @[Debug.scala 368:18:shc.marmotcaravel.MarmotCaravelConfig.fir@113279.4]
+  assign AsyncQueueSource_io_async_safe_ridx_valid = io_innerCtrl_safe_ridx_valid; // @[Debug.scala 368:18:shc.marmotcaravel.MarmotCaravelConfig.fir@113279.4]
+  assign AsyncQueueSource_io_async_safe_sink_reset_n = io_innerCtrl_safe_sink_reset_n; // @[Debug.scala 368:18:shc.marmotcaravel.MarmotCaravelConfig.fir@113279.4]
+endmodule
+module TLMonitor_51( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113288.2]
+  input        clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113289.4]
+  input        reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113290.4]
+  input        io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113291.4]
+  input        io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113291.4]
+  input  [2:0] io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113291.4]
+  input  [2:0] io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113291.4]
+  input  [1:0] io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113291.4]
+  input        io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113291.4]
+  input  [8:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113291.4]
+  input  [3:0] io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113291.4]
+  input        io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113291.4]
+  input        io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113291.4]
+  input        io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113291.4]
+  input  [2:0] io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113291.4]
+  input  [1:0] io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113291.4]
+  input        io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113291.4]
+);
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@114685.4]
+  wire  _T_20; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@113306.6]
+  wire [4:0] _T_29; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@113311.6]
+  wire [1:0] _T_30; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@113312.6]
+  wire [1:0] _T_31; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@113313.6]
+  wire [8:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@113314.6]
+  wire [8:0] _T_32; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@113314.6]
+  wire  _T_33; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@113315.6]
+  wire  _T_35; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@113317.6]
+  wire [1:0] _T_36; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@113318.6]
+  wire [1:0] _T_38; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@113320.6]
+  wire  _T_39; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@113321.6]
+  wire  _T_40; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@113322.6]
+  wire  _T_41; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@113323.6]
+  wire  _T_42; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@113324.6]
+  wire  _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@113326.6]
+  wire  _T_45; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@113327.6]
+  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@113329.6]
+  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@113330.6]
+  wire  _T_49; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@113331.6]
+  wire  _T_50; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@113332.6]
+  wire  _T_51; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@113333.6]
+  wire  _T_52; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@113334.6]
+  wire  _T_53; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@113335.6]
+  wire  _T_54; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@113336.6]
+  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@113337.6]
+  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@113338.6]
+  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@113339.6]
+  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@113340.6]
+  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@113341.6]
+  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@113342.6]
+  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@113343.6]
+  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@113344.6]
+  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@113345.6]
+  wire [1:0] _T_64; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@113346.6]
+  wire [1:0] _T_65; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@113347.6]
+  wire [3:0] _T_66; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@113348.6]
+  wire [9:0] _T_70; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@113352.6]
+  wire  _T_78; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@113364.6]
+  wire [9:0] _T_82; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@113369.8]
+  wire [9:0] _T_83; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@113370.8]
+  wire  _T_84; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@113371.8]
+  wire [8:0] _T_85; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@113372.8]
+  wire [9:0] _T_86; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@113373.8]
+  wire [9:0] _T_87; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@113374.8]
+  wire [9:0] _T_88; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@113375.8]
+  wire  _T_89; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@113376.8]
+  wire [8:0] _T_90; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@113377.8]
+  wire [9:0] _T_91; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@113378.8]
+  wire [9:0] _T_92; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@113379.8]
+  wire [9:0] _T_93; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@113380.8]
+  wire  _T_94; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@113381.8]
+  wire [8:0] _T_95; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@113382.8]
+  wire [9:0] _T_96; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@113383.8]
+  wire [9:0] _T_97; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@113384.8]
+  wire [9:0] _T_98; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@113385.8]
+  wire  _T_99; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@113386.8]
+  wire [8:0] _T_100; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@113387.8]
+  wire [9:0] _T_101; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@113388.8]
+  wire [9:0] _T_102; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@113389.8]
+  wire [9:0] _T_103; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@113390.8]
+  wire  _T_104; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@113391.8]
+  wire [8:0] _T_105; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@113392.8]
+  wire [9:0] _T_106; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@113393.8]
+  wire [9:0] _T_107; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@113394.8]
+  wire [9:0] _T_108; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@113395.8]
+  wire  _T_109; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@113396.8]
+  wire [8:0] _T_110; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@113397.8]
+  wire [9:0] _T_111; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@113398.8]
+  wire [9:0] _T_112; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@113399.8]
+  wire [9:0] _T_113; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@113400.8]
+  wire  _T_114; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@113401.8]
+  wire  _T_115; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@113402.8]
+  wire  _T_116; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@113403.8]
+  wire  _T_117; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@113404.8]
+  wire  _T_118; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@113405.8]
+  wire  _T_119; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@113406.8]
+  wire  _T_120; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@113407.8]
+  wire  _T_125; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113412.8]
+  wire  _T_130; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113425.8]
+  wire  _T_131; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113426.8]
+  wire  _T_134; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113433.8]
+  wire  _T_135; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113434.8]
+  wire  _T_137; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113440.8]
+  wire  _T_138; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113441.8]
+  wire  _T_139; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@113446.8]
+  wire  _T_141; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113448.8]
+  wire  _T_142; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113449.8]
+  wire [3:0] _T_143; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@113454.8]
+  wire  _T_144; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@113455.8]
+  wire  _T_146; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113457.8]
+  wire  _T_147; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113458.8]
+  wire  _T_148; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@113463.8]
+  wire  _T_150; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113465.8]
+  wire  _T_151; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113466.8]
+  wire  _T_152; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@113472.6]
+  wire  _T_217; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@113562.8]
+  wire  _T_219; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113564.8]
+  wire  _T_220; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113565.8]
+  wire  _T_230; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@113588.6]
+  wire  _T_232; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@113591.8]
+  wire  _T_276; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@113635.8]
+  wire  _T_279; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113638.8]
+  wire  _T_280; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113639.8]
+  wire  _T_287; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@113658.8]
+  wire  _T_289; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113660.8]
+  wire  _T_290; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113661.8]
+  wire  _T_291; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@113666.8]
+  wire  _T_293; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113668.8]
+  wire  _T_294; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113669.8]
+  wire  _T_299; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@113683.6]
+  wire  _T_364; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@113770.6]
+  wire [3:0] _T_425; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@113848.8]
+  wire [3:0] _T_426; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@113849.8]
+  wire  _T_427; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@113850.8]
+  wire  _T_429; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113852.8]
+  wire  _T_430; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113853.8]
+  wire  _T_431; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@113859.6]
+  wire  _T_485; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@113926.8]
+  wire  _T_487; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113928.8]
+  wire  _T_488; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113929.8]
+  wire  _T_493; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@113943.6]
+  wire  _T_547; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@114010.8]
+  wire  _T_549; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114012.8]
+  wire  _T_550; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114013.8]
+  wire  _T_555; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@114027.6]
+  wire  _T_617; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@114113.6]
+  wire  _T_619; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@114115.6]
+  wire  _T_620; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@114116.6]
+  wire  _T_621; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@114121.6]
+  wire  _T_630; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@114126.6]
+  wire  _T_632; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114129.8]
+  wire  _T_633; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114130.8]
+  wire  _T_634; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@114135.8]
+  wire  _T_636; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114137.8]
+  wire  _T_637; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114138.8]
+  wire  _T_650; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@114168.6]
+  wire  _T_678; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@114226.6]
+  wire  _T_707; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@114285.6]
+  wire  _T_724; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@114320.6]
+  wire  _T_742; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@114356.6]
+  wire  _T_771; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@114416.4]
+  reg  _T_781; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@114425.4]
+  reg [31:0] _RAND_0;
+  wire [1:0] _T_782; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@114426.4]
+  wire [1:0] _T_783; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@114427.4]
+  wire  _T_784; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@114428.4]
+  wire  _T_785; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@114429.4]
+  reg [2:0] _T_794; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@114440.4]
+  reg [31:0] _RAND_1;
+  reg [2:0] _T_796; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@114441.4]
+  reg [31:0] _RAND_2;
+  reg [1:0] _T_798; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@114442.4]
+  reg [31:0] _RAND_3;
+  reg  _T_800; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@114443.4]
+  reg [31:0] _RAND_4;
+  reg [8:0] _T_802; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@114444.4]
+  reg [31:0] _RAND_5;
+  wire  _T_803; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@114445.4]
+  wire  _T_804; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@114446.4]
+  wire  _T_805; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@114448.6]
+  wire  _T_807; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114450.6]
+  wire  _T_808; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114451.6]
+  wire  _T_809; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@114456.6]
+  wire  _T_811; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114458.6]
+  wire  _T_812; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114459.6]
+  wire  _T_813; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@114464.6]
+  wire  _T_815; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114466.6]
+  wire  _T_816; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114467.6]
+  wire  _T_817; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@114472.6]
+  wire  _T_819; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114474.6]
+  wire  _T_820; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114475.6]
+  wire  _T_821; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@114480.6]
+  wire  _T_823; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114482.6]
+  wire  _T_824; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114483.6]
+  wire  _T_826; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@114490.4]
+  wire  _T_827; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@114498.4]
+  reg  _T_836; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@114506.4]
+  reg [31:0] _RAND_6;
+  wire [1:0] _T_837; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@114507.4]
+  wire [1:0] _T_838; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@114508.4]
+  wire  _T_839; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@114509.4]
+  wire  _T_840; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@114510.4]
+  reg [2:0] _T_849; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@114521.4]
+  reg [31:0] _RAND_7;
+  reg [1:0] _T_853; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@114523.4]
+  reg [31:0] _RAND_8;
+  reg  _T_855; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@114524.4]
+  reg [31:0] _RAND_9;
+  wire  _T_860; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@114527.4]
+  wire  _T_861; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@114528.4]
+  wire  _T_862; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@114530.6]
+  wire  _T_864; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114532.6]
+  wire  _T_865; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114533.6]
+  wire  _T_870; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@114546.6]
+  wire  _T_872; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114548.6]
+  wire  _T_873; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114549.6]
+  wire  _T_874; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@114554.6]
+  wire  _T_876; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114556.6]
+  wire  _T_877; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114557.6]
+  wire  _T_887; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@114580.4]
+  reg  _T_889; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@114589.4]
+  reg [31:0] _RAND_10;
+  reg  _T_900; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@114599.4]
+  reg [31:0] _RAND_11;
+  wire [1:0] _T_901; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@114600.4]
+  wire [1:0] _T_902; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@114601.4]
+  wire  _T_903; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@114602.4]
+  wire  _T_904; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@114603.4]
+  reg  _T_921; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@114622.4]
+  reg [31:0] _RAND_12;
+  wire [1:0] _T_922; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@114623.4]
+  wire [1:0] _T_923; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@114624.4]
+  wire  _T_924; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@114625.4]
+  wire  _T_925; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@114626.4]
+  wire  _T_936; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@114641.4]
+  wire [1:0] _T_938; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@114644.6]
+  wire  _T_939; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@114646.6]
+  wire  _T_941; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114648.6]
+  wire  _T_943; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@114650.6]
+  wire  _T_944; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@114651.6]
+  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@114643.4]
+  wire  _T_949; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@114662.4]
+  wire  _T_951; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@114664.4]
+  wire  _T_952; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@114665.4]
+  wire [1:0] _T_953; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@114667.6]
+  wire  _T_934; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@114637.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@114639.4 Monitor.scala 459:13:shc.marmotcaravel.MarmotCaravelConfig.fir@114645.6]
+  wire  _T_954; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@114669.6]
+  wire  _T_955; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@114670.6]
+  wire  _T_958; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@114673.6]
+  wire  _T_959; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@114674.6]
+  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@114666.4]
+  wire  _T_960; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@114680.4]
+  wire  _T_946; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@114657.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@114659.4 Monitor.scala 466:13:shc.marmotcaravel.MarmotCaravelConfig.fir@114668.6]
+  wire  _T_961; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@114681.4]
+  wire  _T_962; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@114682.4]
+  reg [31:0] _T_964; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@114684.4]
+  reg [31:0] _RAND_13;
+  wire  _T_966; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@114688.4]
+  wire  _T_967; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@114689.4]
+  wire  _T_968; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@114690.4]
+  wire  _T_969; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@114691.4]
+  wire  _T_970; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@114692.4]
+  wire  _T_972; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@114694.4]
+  wire  _T_973; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@114695.4]
+  wire [31:0] _T_975; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@114701.4]
+  wire  _T_978; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@114705.4]
+  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113414.10]
+  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113522.10]
+  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113641.10]
+  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113736.10]
+  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113823.10]
+  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113909.10]
+  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113993.10]
+  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114077.10]
+  wire  _GEN_115; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114132.10]
+  wire  _GEN_119; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114174.10]
+  wire  _GEN_125; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114232.10]
+  wire  _GEN_131; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114291.10]
+  wire  _GEN_133; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114326.10]
+  wire  _GEN_135; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114362.10]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@114685.4]
+    .out(plusarg_reader_out)
+  );
+  assign _T_20 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@113306.6]
+  assign _T_29 = 5'h3 << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@113311.6]
+  assign _T_30 = _T_29[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@113312.6]
+  assign _T_31 = ~ _T_30; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@113313.6]
+  assign _GEN_18 = {{7'd0}, _T_31}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@113314.6]
+  assign _T_32 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@113314.6]
+  assign _T_33 = _T_32 == 9'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@113315.6]
+  assign _T_35 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@113317.6]
+  assign _T_36 = 2'h1 << _T_35; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@113318.6]
+  assign _T_38 = _T_36 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@113320.6]
+  assign _T_39 = io_in_a_bits_size >= 2'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@113321.6]
+  assign _T_40 = _T_38[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@113322.6]
+  assign _T_41 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@113323.6]
+  assign _T_42 = _T_41 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@113324.6]
+  assign _T_44 = _T_40 & _T_42; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@113326.6]
+  assign _T_45 = _T_39 | _T_44; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@113327.6]
+  assign _T_47 = _T_40 & _T_41; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@113329.6]
+  assign _T_48 = _T_39 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@113330.6]
+  assign _T_49 = _T_38[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@113331.6]
+  assign _T_50 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@113332.6]
+  assign _T_51 = _T_50 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@113333.6]
+  assign _T_52 = _T_42 & _T_51; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@113334.6]
+  assign _T_53 = _T_49 & _T_52; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@113335.6]
+  assign _T_54 = _T_45 | _T_53; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@113336.6]
+  assign _T_55 = _T_42 & _T_50; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@113337.6]
+  assign _T_56 = _T_49 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@113338.6]
+  assign _T_57 = _T_45 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@113339.6]
+  assign _T_58 = _T_41 & _T_51; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@113340.6]
+  assign _T_59 = _T_49 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@113341.6]
+  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@113342.6]
+  assign _T_61 = _T_41 & _T_50; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@113343.6]
+  assign _T_62 = _T_49 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@113344.6]
+  assign _T_63 = _T_48 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@113345.6]
+  assign _T_64 = {_T_57,_T_54}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@113346.6]
+  assign _T_65 = {_T_63,_T_60}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@113347.6]
+  assign _T_66 = {_T_65,_T_64}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@113348.6]
+  assign _T_70 = {1'b0,$signed(io_in_a_bits_address)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@113352.6]
+  assign _T_78 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@113364.6]
+  assign _T_82 = $signed(_T_70) & $signed(-10'sh40); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@113369.8]
+  assign _T_83 = $signed(_T_82); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@113370.8]
+  assign _T_84 = $signed(_T_83) == $signed(10'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@113371.8]
+  assign _T_85 = io_in_a_bits_address ^ 9'h44; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@113372.8]
+  assign _T_86 = {1'b0,$signed(_T_85)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@113373.8]
+  assign _T_87 = $signed(_T_86) & $signed(-10'sh4); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@113374.8]
+  assign _T_88 = $signed(_T_87); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@113375.8]
+  assign _T_89 = $signed(_T_88) == $signed(10'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@113376.8]
+  assign _T_90 = io_in_a_bits_address ^ 9'h48; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@113377.8]
+  assign _T_91 = {1'b0,$signed(_T_90)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@113378.8]
+  assign _T_92 = $signed(_T_91) & $signed(-10'sh8); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@113379.8]
+  assign _T_93 = $signed(_T_92); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@113380.8]
+  assign _T_94 = $signed(_T_93) == $signed(10'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@113381.8]
+  assign _T_95 = io_in_a_bits_address ^ 9'h50; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@113382.8]
+  assign _T_96 = {1'b0,$signed(_T_95)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@113383.8]
+  assign _T_97 = $signed(_T_96) & $signed(-10'sh10); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@113384.8]
+  assign _T_98 = $signed(_T_97); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@113385.8]
+  assign _T_99 = $signed(_T_98) == $signed(10'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@113386.8]
+  assign _T_100 = io_in_a_bits_address ^ 9'h60; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@113387.8]
+  assign _T_101 = {1'b0,$signed(_T_100)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@113388.8]
+  assign _T_102 = $signed(_T_101) & $signed(-10'sh20); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@113389.8]
+  assign _T_103 = $signed(_T_102); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@113390.8]
+  assign _T_104 = $signed(_T_103) == $signed(10'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@113391.8]
+  assign _T_105 = io_in_a_bits_address ^ 9'h80; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@113392.8]
+  assign _T_106 = {1'b0,$signed(_T_105)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@113393.8]
+  assign _T_107 = $signed(_T_106) & $signed(-10'sh80); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@113394.8]
+  assign _T_108 = $signed(_T_107); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@113395.8]
+  assign _T_109 = $signed(_T_108) == $signed(10'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@113396.8]
+  assign _T_110 = io_in_a_bits_address ^ 9'h100; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@113397.8]
+  assign _T_111 = {1'b0,$signed(_T_110)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@113398.8]
+  assign _T_112 = $signed(_T_111) & $signed(-10'sh100); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@113399.8]
+  assign _T_113 = $signed(_T_112); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@113400.8]
+  assign _T_114 = $signed(_T_113) == $signed(10'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@113401.8]
+  assign _T_115 = _T_84 | _T_89; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@113402.8]
+  assign _T_116 = _T_115 | _T_94; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@113403.8]
+  assign _T_117 = _T_116 | _T_99; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@113404.8]
+  assign _T_118 = _T_117 | _T_104; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@113405.8]
+  assign _T_119 = _T_118 | _T_109; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@113406.8]
+  assign _T_120 = _T_119 | _T_114; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@113407.8]
+  assign _T_125 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113412.8]
+  assign _T_130 = _T_20 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113425.8]
+  assign _T_131 = _T_130 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113426.8]
+  assign _T_134 = _T_39 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113433.8]
+  assign _T_135 = _T_134 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113434.8]
+  assign _T_137 = _T_33 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113440.8]
+  assign _T_138 = _T_137 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113441.8]
+  assign _T_139 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@113446.8]
+  assign _T_141 = _T_139 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113448.8]
+  assign _T_142 = _T_141 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113449.8]
+  assign _T_143 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@113454.8]
+  assign _T_144 = _T_143 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@113455.8]
+  assign _T_146 = _T_144 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113457.8]
+  assign _T_147 = _T_146 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113458.8]
+  assign _T_148 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@113463.8]
+  assign _T_150 = _T_148 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113465.8]
+  assign _T_151 = _T_150 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113466.8]
+  assign _T_152 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@113472.6]
+  assign _T_217 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@113562.8]
+  assign _T_219 = _T_217 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113564.8]
+  assign _T_220 = _T_219 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113565.8]
+  assign _T_230 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@113588.6]
+  assign _T_232 = io_in_a_bits_size <= 2'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@113591.8]
+  assign _T_276 = _T_232 & _T_120; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@113635.8]
+  assign _T_279 = _T_276 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113638.8]
+  assign _T_280 = _T_279 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113639.8]
+  assign _T_287 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@113658.8]
+  assign _T_289 = _T_287 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113660.8]
+  assign _T_290 = _T_289 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113661.8]
+  assign _T_291 = io_in_a_bits_mask == _T_66; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@113666.8]
+  assign _T_293 = _T_291 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113668.8]
+  assign _T_294 = _T_293 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113669.8]
+  assign _T_299 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@113683.6]
+  assign _T_364 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@113770.6]
+  assign _T_425 = ~ _T_66; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@113848.8]
+  assign _T_426 = io_in_a_bits_mask & _T_425; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@113849.8]
+  assign _T_427 = _T_426 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@113850.8]
+  assign _T_429 = _T_427 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113852.8]
+  assign _T_430 = _T_429 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113853.8]
+  assign _T_431 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@113859.6]
+  assign _T_485 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@113926.8]
+  assign _T_487 = _T_485 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113928.8]
+  assign _T_488 = _T_487 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113929.8]
+  assign _T_493 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@113943.6]
+  assign _T_547 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@114010.8]
+  assign _T_549 = _T_547 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114012.8]
+  assign _T_550 = _T_549 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114013.8]
+  assign _T_555 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@114027.6]
+  assign _T_617 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@114113.6]
+  assign _T_619 = _T_617 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@114115.6]
+  assign _T_620 = _T_619 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@114116.6]
+  assign _T_621 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@114121.6]
+  assign _T_630 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@114126.6]
+  assign _T_632 = _T_621 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114129.8]
+  assign _T_633 = _T_632 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114130.8]
+  assign _T_634 = io_in_d_bits_size >= 2'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@114135.8]
+  assign _T_636 = _T_634 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114137.8]
+  assign _T_637 = _T_636 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114138.8]
+  assign _T_650 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@114168.6]
+  assign _T_678 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@114226.6]
+  assign _T_707 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@114285.6]
+  assign _T_724 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@114320.6]
+  assign _T_742 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@114356.6]
+  assign _T_771 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@114416.4]
+  assign _T_782 = _T_781 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@114426.4]
+  assign _T_783 = $unsigned(_T_782); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@114427.4]
+  assign _T_784 = _T_783[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@114428.4]
+  assign _T_785 = _T_781 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@114429.4]
+  assign _T_803 = _T_785 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@114445.4]
+  assign _T_804 = io_in_a_valid & _T_803; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@114446.4]
+  assign _T_805 = io_in_a_bits_opcode == _T_794; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@114448.6]
+  assign _T_807 = _T_805 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114450.6]
+  assign _T_808 = _T_807 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114451.6]
+  assign _T_809 = io_in_a_bits_param == _T_796; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@114456.6]
+  assign _T_811 = _T_809 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114458.6]
+  assign _T_812 = _T_811 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114459.6]
+  assign _T_813 = io_in_a_bits_size == _T_798; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@114464.6]
+  assign _T_815 = _T_813 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114466.6]
+  assign _T_816 = _T_815 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114467.6]
+  assign _T_817 = io_in_a_bits_source == _T_800; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@114472.6]
+  assign _T_819 = _T_817 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114474.6]
+  assign _T_820 = _T_819 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114475.6]
+  assign _T_821 = io_in_a_bits_address == _T_802; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@114480.6]
+  assign _T_823 = _T_821 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114482.6]
+  assign _T_824 = _T_823 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114483.6]
+  assign _T_826 = _T_771 & _T_785; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@114490.4]
+  assign _T_827 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@114498.4]
+  assign _T_837 = _T_836 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@114507.4]
+  assign _T_838 = $unsigned(_T_837); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@114508.4]
+  assign _T_839 = _T_838[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@114509.4]
+  assign _T_840 = _T_836 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@114510.4]
+  assign _T_860 = _T_840 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@114527.4]
+  assign _T_861 = io_in_d_valid & _T_860; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@114528.4]
+  assign _T_862 = io_in_d_bits_opcode == _T_849; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@114530.6]
+  assign _T_864 = _T_862 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114532.6]
+  assign _T_865 = _T_864 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114533.6]
+  assign _T_870 = io_in_d_bits_size == _T_853; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@114546.6]
+  assign _T_872 = _T_870 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114548.6]
+  assign _T_873 = _T_872 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114549.6]
+  assign _T_874 = io_in_d_bits_source == _T_855; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@114554.6]
+  assign _T_876 = _T_874 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114556.6]
+  assign _T_877 = _T_876 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114557.6]
+  assign _T_887 = _T_827 & _T_840; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@114580.4]
+  assign _T_901 = _T_900 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@114600.4]
+  assign _T_902 = $unsigned(_T_901); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@114601.4]
+  assign _T_903 = _T_902[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@114602.4]
+  assign _T_904 = _T_900 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@114603.4]
+  assign _T_922 = _T_921 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@114623.4]
+  assign _T_923 = $unsigned(_T_922); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@114624.4]
+  assign _T_924 = _T_923[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@114625.4]
+  assign _T_925 = _T_921 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@114626.4]
+  assign _T_936 = _T_771 & _T_904; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@114641.4]
+  assign _T_938 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@114644.6]
+  assign _T_939 = _T_889 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@114646.6]
+  assign _T_941 = _T_939 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114648.6]
+  assign _T_943 = _T_941 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@114650.6]
+  assign _T_944 = _T_943 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@114651.6]
+  assign _GEN_15 = _T_936 ? _T_938 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@114643.4]
+  assign _T_949 = _T_827 & _T_925; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@114662.4]
+  assign _T_951 = _T_630 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@114664.4]
+  assign _T_952 = _T_949 & _T_951; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@114665.4]
+  assign _T_953 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@114667.6]
+  assign _T_934 = _GEN_15[0]; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@114637.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@114639.4 Monitor.scala 459:13:shc.marmotcaravel.MarmotCaravelConfig.fir@114645.6]
+  assign _T_954 = _T_934 | _T_889; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@114669.6]
+  assign _T_955 = _T_954 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@114670.6]
+  assign _T_958 = _T_955 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@114673.6]
+  assign _T_959 = _T_958 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@114674.6]
+  assign _GEN_16 = _T_952 ? _T_953 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@114666.4]
+  assign _T_960 = _T_889 | _T_934; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@114680.4]
+  assign _T_946 = _GEN_16[0]; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@114657.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@114659.4 Monitor.scala 466:13:shc.marmotcaravel.MarmotCaravelConfig.fir@114668.6]
+  assign _T_961 = ~ _T_946; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@114681.4]
+  assign _T_962 = _T_960 & _T_961; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@114682.4]
+  assign _T_966 = _T_889 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@114688.4]
+  assign _T_967 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@114689.4]
+  assign _T_968 = _T_966 | _T_967; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@114690.4]
+  assign _T_969 = _T_964 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@114691.4]
+  assign _T_970 = _T_968 | _T_969; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@114692.4]
+  assign _T_972 = _T_970 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@114694.4]
+  assign _T_973 = _T_972 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@114695.4]
+  assign _T_975 = _T_964 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@114701.4]
+  assign _T_978 = _T_771 | _T_827; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@114705.4]
+  assign _GEN_19 = io_in_a_valid & _T_78; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113414.10]
+  assign _GEN_35 = io_in_a_valid & _T_152; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113522.10]
+  assign _GEN_53 = io_in_a_valid & _T_230; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113641.10]
+  assign _GEN_65 = io_in_a_valid & _T_299; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113736.10]
+  assign _GEN_75 = io_in_a_valid & _T_364; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113823.10]
+  assign _GEN_85 = io_in_a_valid & _T_431; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113909.10]
+  assign _GEN_95 = io_in_a_valid & _T_493; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113993.10]
+  assign _GEN_105 = io_in_a_valid & _T_555; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114077.10]
+  assign _GEN_115 = io_in_d_valid & _T_630; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114132.10]
+  assign _GEN_119 = io_in_d_valid & _T_650; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114174.10]
+  assign _GEN_125 = io_in_d_valid & _T_678; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114232.10]
+  assign _GEN_131 = io_in_d_valid & _T_707; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114291.10]
+  assign _GEN_133 = io_in_d_valid & _T_724; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114326.10]
+  assign _GEN_135 = io_in_d_valid & _T_742; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114362.10]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  _T_781 = _RAND_0[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  _T_794 = _RAND_1[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  _T_796 = _RAND_2[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  _T_798 = _RAND_3[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  _T_800 = _RAND_4[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  _T_802 = _RAND_5[8:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {1{`RANDOM}};
+  _T_836 = _RAND_6[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {1{`RANDOM}};
+  _T_849 = _RAND_7[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_8 = {1{`RANDOM}};
+  _T_853 = _RAND_8[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_9 = {1{`RANDOM}};
+  _T_855 = _RAND_9[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_10 = {1{`RANDOM}};
+  _T_889 = _RAND_10[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_11 = {1{`RANDOM}};
+  _T_900 = _RAND_11[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_12 = {1{`RANDOM}};
+  _T_921 = _RAND_12[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_13 = {1{`RANDOM}};
+  _T_964 = _RAND_13[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      _T_781 <= 1'h0;
+    end else begin
+      if (_T_771) begin
+        if (_T_785) begin
+          _T_781 <= 1'h0;
+        end else begin
+          _T_781 <= _T_784;
+        end
+      end
+    end
+    if (_T_826) begin
+      _T_794 <= io_in_a_bits_opcode;
+    end
+    if (_T_826) begin
+      _T_796 <= io_in_a_bits_param;
+    end
+    if (_T_826) begin
+      _T_798 <= io_in_a_bits_size;
+    end
+    if (_T_826) begin
+      _T_800 <= io_in_a_bits_source;
+    end
+    if (_T_826) begin
+      _T_802 <= io_in_a_bits_address;
+    end
+    if (reset) begin
+      _T_836 <= 1'h0;
+    end else begin
+      if (_T_827) begin
+        if (_T_840) begin
+          _T_836 <= 1'h0;
+        end else begin
+          _T_836 <= _T_839;
+        end
+      end
+    end
+    if (_T_887) begin
+      _T_849 <= io_in_d_bits_opcode;
+    end
+    if (_T_887) begin
+      _T_853 <= io_in_d_bits_size;
+    end
+    if (_T_887) begin
+      _T_855 <= io_in_d_bits_source;
+    end
+    if (reset) begin
+      _T_889 <= 1'h0;
+    end else begin
+      _T_889 <= _T_962;
+    end
+    if (reset) begin
+      _T_900 <= 1'h0;
+    end else begin
+      if (_T_771) begin
+        if (_T_904) begin
+          _T_900 <= 1'h0;
+        end else begin
+          _T_900 <= _T_903;
+        end
+      end
+    end
+    if (reset) begin
+      _T_921 <= 1'h0;
+    end else begin
+      if (_T_827) begin
+        if (_T_925) begin
+          _T_921 <= 1'h0;
+        end else begin
+          _T_921 <= _T_924;
+        end
+      end
+    end
+    if (reset) begin
+      _T_964 <= 32'h0;
+    end else begin
+      if (_T_978) begin
+        _T_964 <= 32'h0;
+      end else begin
+        _T_964 <= _T_975;
+      end
+    end
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at Debug.scala:1058:19)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@113303.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@113304.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@113361.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@113362.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_125) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at Debug.scala:1058:19)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113414.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_125) begin
+          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113415.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_125) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at Debug.scala:1058:19)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113421.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_125) begin
+          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113422.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_131) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at Debug.scala:1058:19)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113428.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_131) begin
+          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113429.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_135) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at Debug.scala:1058:19)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113436.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_135) begin
+          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113437.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_138) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at Debug.scala:1058:19)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113443.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_138) begin
+          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113444.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_142) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at Debug.scala:1058:19)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113451.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_142) begin
+          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113452.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_147) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at Debug.scala:1058:19)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113460.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_147) begin
+          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113461.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_151) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at Debug.scala:1058:19)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113468.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_151) begin
+          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113469.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_125) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at Debug.scala:1058:19)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113522.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_125) begin
+          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113523.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_125) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at Debug.scala:1058:19)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113529.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_125) begin
+          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113530.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_131) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at Debug.scala:1058:19)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113536.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_131) begin
+          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113537.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_135) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at Debug.scala:1058:19)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113544.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_135) begin
+          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113545.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_138) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at Debug.scala:1058:19)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113551.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_138) begin
+          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113552.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_142) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at Debug.scala:1058:19)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113559.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_142) begin
+          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113560.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_220) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at Debug.scala:1058:19)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113567.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_220) begin
+          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113568.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_147) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at Debug.scala:1058:19)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113576.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_147) begin
+          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113577.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_151) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at Debug.scala:1058:19)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113584.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_151) begin
+          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113585.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_280) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at Debug.scala:1058:19)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113641.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_280) begin
+          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113642.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_131) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at Debug.scala:1058:19)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113648.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_131) begin
+          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113649.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_138) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at Debug.scala:1058:19)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113655.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_138) begin
+          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113656.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_290) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at Debug.scala:1058:19)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113663.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_290) begin
+          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113664.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_294) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at Debug.scala:1058:19)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113671.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_294) begin
+          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113672.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_151) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at Debug.scala:1058:19)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113679.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_151) begin
+          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113680.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_280) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at Debug.scala:1058:19)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113736.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_280) begin
+          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113737.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_131) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at Debug.scala:1058:19)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113743.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_131) begin
+          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113744.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_138) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at Debug.scala:1058:19)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113750.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_138) begin
+          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113751.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_290) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at Debug.scala:1058:19)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113758.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_290) begin
+          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113759.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_294) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at Debug.scala:1058:19)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113766.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_294) begin
+          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113767.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_280) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at Debug.scala:1058:19)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113823.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_280) begin
+          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113824.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_131) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at Debug.scala:1058:19)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113830.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_131) begin
+          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113831.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_138) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at Debug.scala:1058:19)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113837.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_138) begin
+          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113838.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_290) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at Debug.scala:1058:19)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113845.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_290) begin
+          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113846.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_430) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at Debug.scala:1058:19)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113855.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_430) begin
+          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113856.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_125) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at Debug.scala:1058:19)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113909.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_125) begin
+          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113910.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_131) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at Debug.scala:1058:19)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113916.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_131) begin
+          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113917.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_138) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at Debug.scala:1058:19)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113923.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_138) begin
+          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113924.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_488) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at Debug.scala:1058:19)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113931.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_488) begin
+          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113932.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_294) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at Debug.scala:1058:19)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113939.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_294) begin
+          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113940.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_125) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at Debug.scala:1058:19)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113993.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_125) begin
+          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113994.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_131) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at Debug.scala:1058:19)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114000.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_131) begin
+          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114001.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_138) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at Debug.scala:1058:19)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114007.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_138) begin
+          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114008.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_550) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at Debug.scala:1058:19)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114015.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_550) begin
+          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114016.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_294) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at Debug.scala:1058:19)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114023.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_294) begin
+          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114024.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_125) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at Debug.scala:1058:19)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114077.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_125) begin
+          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114078.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_131) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at Debug.scala:1058:19)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114084.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_131) begin
+          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114085.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_138) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at Debug.scala:1058:19)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114091.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_138) begin
+          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114092.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_294) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at Debug.scala:1058:19)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114099.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_294) begin
+          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114100.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_151) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at Debug.scala:1058:19)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114107.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_151) begin
+          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114108.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_620) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at Debug.scala:1058:19)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@114118.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_620) begin
+          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@114119.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_633) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at Debug.scala:1058:19)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114132.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_633) begin
+          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114133.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_637) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at Debug.scala:1058:19)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114140.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_637) begin
+          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114141.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at Debug.scala:1058:19)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114148.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114149.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at Debug.scala:1058:19)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114156.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114157.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at Debug.scala:1058:19)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114164.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114165.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_119 & _T_633) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at Debug.scala:1058:19)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114174.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_119 & _T_633) begin
+          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114175.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_119 & _T_125) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at Debug.scala:1058:19)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114181.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_119 & _T_125) begin
+          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114182.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_119 & _T_637) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at Debug.scala:1058:19)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114189.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_119 & _T_637) begin
+          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114190.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at Debug.scala:1058:19)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114197.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114198.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at Debug.scala:1058:19)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114205.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114206.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at Debug.scala:1058:19)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114213.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114214.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at Debug.scala:1058:19)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114222.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114223.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_633) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at Debug.scala:1058:19)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114232.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_633) begin
+          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114233.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_125) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at Debug.scala:1058:19)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114239.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_125) begin
+          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114240.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_637) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at Debug.scala:1058:19)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114247.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_637) begin
+          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114248.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at Debug.scala:1058:19)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114255.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114256.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at Debug.scala:1058:19)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114263.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114264.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at Debug.scala:1058:19)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114272.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114273.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at Debug.scala:1058:19)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114281.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114282.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_131 & _T_633) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at Debug.scala:1058:19)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114291.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_131 & _T_633) begin
+          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114292.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at Debug.scala:1058:19)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114299.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114300.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at Debug.scala:1058:19)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114307.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114308.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at Debug.scala:1058:19)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114316.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114317.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_133 & _T_633) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at Debug.scala:1058:19)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114326.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_133 & _T_633) begin
+          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114327.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at Debug.scala:1058:19)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114334.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114335.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at Debug.scala:1058:19)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114343.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114344.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at Debug.scala:1058:19)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114352.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114353.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_135 & _T_633) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at Debug.scala:1058:19)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114362.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_135 & _T_633) begin
+          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114363.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at Debug.scala:1058:19)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114370.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114371.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at Debug.scala:1058:19)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114378.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114379.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at Debug.scala:1058:19)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114387.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114388.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at Debug.scala:1058:19)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114397.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114398.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at Debug.scala:1058:19)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114405.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114406.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at Debug.scala:1058:19)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114413.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114414.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_804 & _T_808) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at Debug.scala:1058:19)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114453.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_804 & _T_808) begin
+          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114454.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_804 & _T_812) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at Debug.scala:1058:19)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114461.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_804 & _T_812) begin
+          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114462.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_804 & _T_816) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at Debug.scala:1058:19)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114469.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_804 & _T_816) begin
+          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114470.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_804 & _T_820) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at Debug.scala:1058:19)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114477.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_804 & _T_820) begin
+          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114478.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_804 & _T_824) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at Debug.scala:1058:19)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114485.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_804 & _T_824) begin
+          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114486.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_861 & _T_865) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at Debug.scala:1058:19)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114535.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_861 & _T_865) begin
+          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114536.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at Debug.scala:1058:19)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114543.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114544.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_861 & _T_873) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at Debug.scala:1058:19)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114551.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_861 & _T_873) begin
+          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114552.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_861 & _T_877) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at Debug.scala:1058:19)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114559.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_861 & _T_877) begin
+          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114560.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at Debug.scala:1058:19)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114567.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114568.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at Debug.scala:1058:19)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114575.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114576.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_936 & _T_944) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at Debug.scala:1058:19)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@114653.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_936 & _T_944) begin
+          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@114654.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_952 & _T_959) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at Debug.scala:1058:19)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@114676.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_952 & _T_959) begin
+          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@114677.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_973) begin
+          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at Debug.scala:1058:19)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@114697.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_973) begin
+          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@114698.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+endmodule
+module TLMonitor_52( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@114717.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@114718.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@114719.4]
+  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@114720.4]
+  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@114720.4]
+  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@114720.4]
+  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@114720.4]
+  input  [1:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@114720.4]
+  input  [5:0]  io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@114720.4]
+  input  [11:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@114720.4]
+  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@114720.4]
+  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@114720.4]
+  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@114720.4]
+  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@114720.4]
+  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@114720.4]
+  input  [1:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@114720.4]
+  input  [5:0]  io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@114720.4]
+);
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@115847.4]
+  wire [4:0] _T_36; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@114747.6]
+  wire [1:0] _T_37; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@114748.6]
+  wire [1:0] _T_38; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@114749.6]
+  wire [11:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114750.6]
+  wire [11:0] _T_39; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114750.6]
+  wire  _T_40; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@114751.6]
+  wire  _T_42; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@114753.6]
+  wire [1:0] _T_43; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@114754.6]
+  wire [1:0] _T_45; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@114756.6]
+  wire  _T_46; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@114757.6]
+  wire  _T_47; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@114758.6]
+  wire  _T_48; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@114759.6]
+  wire  _T_49; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@114760.6]
+  wire  _T_51; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@114762.6]
+  wire  _T_52; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@114763.6]
+  wire  _T_54; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@114765.6]
+  wire  _T_55; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@114766.6]
+  wire  _T_56; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@114767.6]
+  wire  _T_57; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@114768.6]
+  wire  _T_58; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@114769.6]
+  wire  _T_59; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@114770.6]
+  wire  _T_60; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@114771.6]
+  wire  _T_61; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@114772.6]
+  wire  _T_62; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@114773.6]
+  wire  _T_63; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@114774.6]
+  wire  _T_64; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@114775.6]
+  wire  _T_65; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@114776.6]
+  wire  _T_66; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@114777.6]
+  wire  _T_67; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@114778.6]
+  wire  _T_68; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@114779.6]
+  wire  _T_69; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@114780.6]
+  wire  _T_70; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@114781.6]
+  wire [1:0] _T_71; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@114782.6]
+  wire [1:0] _T_72; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@114783.6]
+  wire [3:0] _T_73; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@114784.6]
+  wire [12:0] _T_84; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@114795.6]
+  wire  _T_92; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@114807.6]
+  wire [12:0] _T_96; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@114812.8]
+  wire [12:0] _T_97; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@114813.8]
+  wire  _T_98; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@114814.8]
+  wire  _T_103; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114819.8]
+  wire  _T_112; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114840.8]
+  wire  _T_113; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114841.8]
+  wire  _T_115; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114847.8]
+  wire  _T_116; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114848.8]
+  wire  _T_117; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@114853.8]
+  wire  _T_119; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114855.8]
+  wire  _T_120; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114856.8]
+  wire [3:0] _T_121; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@114861.8]
+  wire  _T_122; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@114862.8]
+  wire  _T_124; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114864.8]
+  wire  _T_125; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114865.8]
+  wire  _T_126; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@114870.8]
+  wire  _T_128; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114872.8]
+  wire  _T_129; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114873.8]
+  wire  _T_130; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@114879.6]
+  wire  _T_159; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@114933.8]
+  wire  _T_161; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114935.8]
+  wire  _T_162; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114936.8]
+  wire  _T_172; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@114959.6]
+  wire  _T_174; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@114962.8]
+  wire  _T_182; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@114970.8]
+  wire  _T_185; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114973.8]
+  wire  _T_186; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114974.8]
+  wire  _T_193; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@114993.8]
+  wire  _T_195; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114995.8]
+  wire  _T_196; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114996.8]
+  wire  _T_197; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@115001.8]
+  wire  _T_199; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115003.8]
+  wire  _T_200; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115004.8]
+  wire  _T_205; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115018.6]
+  wire  _T_234; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115069.6]
+  wire [3:0] _T_259; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@115111.8]
+  wire [3:0] _T_260; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@115112.8]
+  wire  _T_261; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@115113.8]
+  wire  _T_263; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115115.8]
+  wire  _T_264; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115116.8]
+  wire  _T_265; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115122.6]
+  wire  _T_283; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@115153.8]
+  wire  _T_285; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115155.8]
+  wire  _T_286; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115156.8]
+  wire  _T_291; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115170.6]
+  wire  _T_309; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@115201.8]
+  wire  _T_311; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115203.8]
+  wire  _T_312; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115204.8]
+  wire  _T_317; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115218.6]
+  wire  _T_343; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@115268.6]
+  wire  _T_345; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@115270.6]
+  wire  _T_346; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@115271.6]
+  wire  _T_363; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115288.6]
+  wire  _T_367; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@115297.8]
+  wire  _T_369; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115299.8]
+  wire  _T_370; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115300.8]
+  wire  _T_383; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115330.6]
+  wire  _T_411; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115388.6]
+  wire  _T_504; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@115578.4]
+  reg  _T_514; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@115587.4]
+  reg [31:0] _RAND_0;
+  wire [1:0] _T_515; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@115588.4]
+  wire [1:0] _T_516; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@115589.4]
+  wire  _T_517; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@115590.4]
+  wire  _T_518; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115591.4]
+  reg [2:0] _T_527; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@115602.4]
+  reg [31:0] _RAND_1;
+  reg [2:0] _T_529; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@115603.4]
+  reg [31:0] _RAND_2;
+  reg [1:0] _T_531; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@115604.4]
+  reg [31:0] _RAND_3;
+  reg [5:0] _T_533; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@115605.4]
+  reg [31:0] _RAND_4;
+  reg [11:0] _T_535; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@115606.4]
+  reg [31:0] _RAND_5;
+  wire  _T_536; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@115607.4]
+  wire  _T_537; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@115608.4]
+  wire  _T_538; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@115610.6]
+  wire  _T_540; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115612.6]
+  wire  _T_541; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115613.6]
+  wire  _T_542; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@115618.6]
+  wire  _T_544; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115620.6]
+  wire  _T_545; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115621.6]
+  wire  _T_546; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@115626.6]
+  wire  _T_548; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115628.6]
+  wire  _T_549; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115629.6]
+  wire  _T_550; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@115634.6]
+  wire  _T_552; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115636.6]
+  wire  _T_553; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115637.6]
+  wire  _T_554; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@115642.6]
+  wire  _T_556; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115644.6]
+  wire  _T_557; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115645.6]
+  wire  _T_559; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@115652.4]
+  wire  _T_560; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@115660.4]
+  reg  _T_569; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@115668.4]
+  reg [31:0] _RAND_6;
+  wire [1:0] _T_570; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@115669.4]
+  wire [1:0] _T_571; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@115670.4]
+  wire  _T_572; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@115671.4]
+  wire  _T_573; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115672.4]
+  reg [2:0] _T_582; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@115683.4]
+  reg [31:0] _RAND_7;
+  reg [1:0] _T_586; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@115685.4]
+  reg [31:0] _RAND_8;
+  reg [5:0] _T_588; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@115686.4]
+  reg [31:0] _RAND_9;
+  wire  _T_593; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@115689.4]
+  wire  _T_594; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@115690.4]
+  wire  _T_595; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@115692.6]
+  wire  _T_597; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115694.6]
+  wire  _T_598; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115695.6]
+  wire  _T_603; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@115708.6]
+  wire  _T_605; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115710.6]
+  wire  _T_606; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115711.6]
+  wire  _T_607; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@115716.6]
+  wire  _T_609; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115718.6]
+  wire  _T_610; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115719.6]
+  wire  _T_620; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@115742.4]
+  reg [63:0] _T_622; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@115751.4]
+  reg [63:0] _RAND_10;
+  reg  _T_633; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@115761.4]
+  reg [31:0] _RAND_11;
+  wire [1:0] _T_634; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@115762.4]
+  wire [1:0] _T_635; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@115763.4]
+  wire  _T_636; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@115764.4]
+  wire  _T_637; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115765.4]
+  reg  _T_654; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@115784.4]
+  reg [31:0] _RAND_12;
+  wire [1:0] _T_655; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@115785.4]
+  wire [1:0] _T_656; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@115786.4]
+  wire  _T_657; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@115787.4]
+  wire  _T_658; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115788.4]
+  wire  _T_669; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@115803.4]
+  wire [63:0] _T_671; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@115806.6]
+  wire [63:0] _T_672; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@115808.6]
+  wire  _T_673; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@115809.6]
+  wire  _T_674; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115810.6]
+  wire  _T_676; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@115812.6]
+  wire  _T_677; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@115813.6]
+  wire [63:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@115805.4]
+  wire  _T_682; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@115824.4]
+  wire  _T_684; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@115826.4]
+  wire  _T_685; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@115827.4]
+  wire [63:0] _T_686; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@115829.6]
+  wire [63:0] _T_687; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@115831.6]
+  wire [63:0] _T_688; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@115832.6]
+  wire  _T_689; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@115833.6]
+  wire  _T_691; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@115835.6]
+  wire  _T_692; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@115836.6]
+  wire [63:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@115828.4]
+  wire [63:0] _T_693; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@115842.4]
+  wire [63:0] _T_694; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@115843.4]
+  wire [63:0] _T_695; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@115844.4]
+  reg [31:0] _T_697; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@115846.4]
+  reg [31:0] _RAND_13;
+  wire  _T_698; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@115849.4]
+  wire  _T_699; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@115850.4]
+  wire  _T_700; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@115851.4]
+  wire  _T_701; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@115852.4]
+  wire  _T_702; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@115853.4]
+  wire  _T_703; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@115854.4]
+  wire  _T_705; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@115856.4]
+  wire  _T_706; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@115857.4]
+  wire [31:0] _T_708; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@115863.4]
+  wire  _T_711; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@115867.4]
+  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114821.10]
+  wire  _GEN_33; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114893.10]
+  wire  _GEN_49; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114976.10]
+  wire  _GEN_59; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115035.10]
+  wire  _GEN_67; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115086.10]
+  wire  _GEN_75; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115136.10]
+  wire  _GEN_83; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115184.10]
+  wire  _GEN_91; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115232.10]
+  wire  _GEN_99; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115302.10]
+  wire  _GEN_101; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115343.10]
+  wire  _GEN_105; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115401.10]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@115847.4]
+    .out(plusarg_reader_out)
+  );
+  assign _T_36 = 5'h3 << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@114747.6]
+  assign _T_37 = _T_36[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@114748.6]
+  assign _T_38 = ~ _T_37; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@114749.6]
+  assign _GEN_18 = {{10'd0}, _T_38}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114750.6]
+  assign _T_39 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114750.6]
+  assign _T_40 = _T_39 == 12'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@114751.6]
+  assign _T_42 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@114753.6]
+  assign _T_43 = 2'h1 << _T_42; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@114754.6]
+  assign _T_45 = _T_43 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@114756.6]
+  assign _T_46 = io_in_a_bits_size >= 2'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@114757.6]
+  assign _T_47 = _T_45[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@114758.6]
+  assign _T_48 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@114759.6]
+  assign _T_49 = _T_48 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@114760.6]
+  assign _T_51 = _T_47 & _T_49; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@114762.6]
+  assign _T_52 = _T_46 | _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@114763.6]
+  assign _T_54 = _T_47 & _T_48; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@114765.6]
+  assign _T_55 = _T_46 | _T_54; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@114766.6]
+  assign _T_56 = _T_45[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@114767.6]
+  assign _T_57 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@114768.6]
+  assign _T_58 = _T_57 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@114769.6]
+  assign _T_59 = _T_49 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@114770.6]
+  assign _T_60 = _T_56 & _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@114771.6]
+  assign _T_61 = _T_52 | _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@114772.6]
+  assign _T_62 = _T_49 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@114773.6]
+  assign _T_63 = _T_56 & _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@114774.6]
+  assign _T_64 = _T_52 | _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@114775.6]
+  assign _T_65 = _T_48 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@114776.6]
+  assign _T_66 = _T_56 & _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@114777.6]
+  assign _T_67 = _T_55 | _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@114778.6]
+  assign _T_68 = _T_48 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@114779.6]
+  assign _T_69 = _T_56 & _T_68; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@114780.6]
+  assign _T_70 = _T_55 | _T_69; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@114781.6]
+  assign _T_71 = {_T_64,_T_61}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@114782.6]
+  assign _T_72 = {_T_70,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@114783.6]
+  assign _T_73 = {_T_72,_T_71}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@114784.6]
+  assign _T_84 = {1'b0,$signed(io_in_a_bits_address)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@114795.6]
+  assign _T_92 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@114807.6]
+  assign _T_96 = $signed(_T_84) & $signed(-13'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@114812.8]
+  assign _T_97 = $signed(_T_96); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@114813.8]
+  assign _T_98 = $signed(_T_97) == $signed(13'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@114814.8]
+  assign _T_103 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114819.8]
+  assign _T_112 = _T_46 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114840.8]
+  assign _T_113 = _T_112 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114841.8]
+  assign _T_115 = _T_40 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114847.8]
+  assign _T_116 = _T_115 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114848.8]
+  assign _T_117 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@114853.8]
+  assign _T_119 = _T_117 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114855.8]
+  assign _T_120 = _T_119 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114856.8]
+  assign _T_121 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@114861.8]
+  assign _T_122 = _T_121 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@114862.8]
+  assign _T_124 = _T_122 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114864.8]
+  assign _T_125 = _T_124 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114865.8]
+  assign _T_126 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@114870.8]
+  assign _T_128 = _T_126 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114872.8]
+  assign _T_129 = _T_128 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114873.8]
+  assign _T_130 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@114879.6]
+  assign _T_159 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@114933.8]
+  assign _T_161 = _T_159 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114935.8]
+  assign _T_162 = _T_161 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114936.8]
+  assign _T_172 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@114959.6]
+  assign _T_174 = io_in_a_bits_size <= 2'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@114962.8]
+  assign _T_182 = _T_174 & _T_98; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@114970.8]
+  assign _T_185 = _T_182 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114973.8]
+  assign _T_186 = _T_185 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114974.8]
+  assign _T_193 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@114993.8]
+  assign _T_195 = _T_193 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114995.8]
+  assign _T_196 = _T_195 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114996.8]
+  assign _T_197 = io_in_a_bits_mask == _T_73; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@115001.8]
+  assign _T_199 = _T_197 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115003.8]
+  assign _T_200 = _T_199 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115004.8]
+  assign _T_205 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115018.6]
+  assign _T_234 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115069.6]
+  assign _T_259 = ~ _T_73; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@115111.8]
+  assign _T_260 = io_in_a_bits_mask & _T_259; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@115112.8]
+  assign _T_261 = _T_260 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@115113.8]
+  assign _T_263 = _T_261 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115115.8]
+  assign _T_264 = _T_263 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115116.8]
+  assign _T_265 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115122.6]
+  assign _T_283 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@115153.8]
+  assign _T_285 = _T_283 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115155.8]
+  assign _T_286 = _T_285 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115156.8]
+  assign _T_291 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115170.6]
+  assign _T_309 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@115201.8]
+  assign _T_311 = _T_309 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115203.8]
+  assign _T_312 = _T_311 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115204.8]
+  assign _T_317 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115218.6]
+  assign _T_343 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@115268.6]
+  assign _T_345 = _T_343 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@115270.6]
+  assign _T_346 = _T_345 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@115271.6]
+  assign _T_363 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115288.6]
+  assign _T_367 = io_in_d_bits_size >= 2'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@115297.8]
+  assign _T_369 = _T_367 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115299.8]
+  assign _T_370 = _T_369 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115300.8]
+  assign _T_383 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115330.6]
+  assign _T_411 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115388.6]
+  assign _T_504 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@115578.4]
+  assign _T_515 = _T_514 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@115588.4]
+  assign _T_516 = $unsigned(_T_515); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@115589.4]
+  assign _T_517 = _T_516[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@115590.4]
+  assign _T_518 = _T_514 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115591.4]
+  assign _T_536 = _T_518 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@115607.4]
+  assign _T_537 = io_in_a_valid & _T_536; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@115608.4]
+  assign _T_538 = io_in_a_bits_opcode == _T_527; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@115610.6]
+  assign _T_540 = _T_538 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115612.6]
+  assign _T_541 = _T_540 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115613.6]
+  assign _T_542 = io_in_a_bits_param == _T_529; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@115618.6]
+  assign _T_544 = _T_542 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115620.6]
+  assign _T_545 = _T_544 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115621.6]
+  assign _T_546 = io_in_a_bits_size == _T_531; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@115626.6]
+  assign _T_548 = _T_546 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115628.6]
+  assign _T_549 = _T_548 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115629.6]
+  assign _T_550 = io_in_a_bits_source == _T_533; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@115634.6]
+  assign _T_552 = _T_550 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115636.6]
+  assign _T_553 = _T_552 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115637.6]
+  assign _T_554 = io_in_a_bits_address == _T_535; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@115642.6]
+  assign _T_556 = _T_554 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115644.6]
+  assign _T_557 = _T_556 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115645.6]
+  assign _T_559 = _T_504 & _T_518; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@115652.4]
+  assign _T_560 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@115660.4]
+  assign _T_570 = _T_569 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@115669.4]
+  assign _T_571 = $unsigned(_T_570); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@115670.4]
+  assign _T_572 = _T_571[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@115671.4]
+  assign _T_573 = _T_569 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115672.4]
+  assign _T_593 = _T_573 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@115689.4]
+  assign _T_594 = io_in_d_valid & _T_593; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@115690.4]
+  assign _T_595 = io_in_d_bits_opcode == _T_582; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@115692.6]
+  assign _T_597 = _T_595 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115694.6]
+  assign _T_598 = _T_597 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115695.6]
+  assign _T_603 = io_in_d_bits_size == _T_586; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@115708.6]
+  assign _T_605 = _T_603 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115710.6]
+  assign _T_606 = _T_605 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115711.6]
+  assign _T_607 = io_in_d_bits_source == _T_588; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@115716.6]
+  assign _T_609 = _T_607 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115718.6]
+  assign _T_610 = _T_609 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115719.6]
+  assign _T_620 = _T_560 & _T_573; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@115742.4]
+  assign _T_634 = _T_633 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@115762.4]
+  assign _T_635 = $unsigned(_T_634); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@115763.4]
+  assign _T_636 = _T_635[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@115764.4]
+  assign _T_637 = _T_633 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115765.4]
+  assign _T_655 = _T_654 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@115785.4]
+  assign _T_656 = $unsigned(_T_655); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@115786.4]
+  assign _T_657 = _T_656[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@115787.4]
+  assign _T_658 = _T_654 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115788.4]
+  assign _T_669 = _T_504 & _T_637; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@115803.4]
+  assign _T_671 = 64'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@115806.6]
+  assign _T_672 = _T_622 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@115808.6]
+  assign _T_673 = _T_672[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@115809.6]
+  assign _T_674 = _T_673 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115810.6]
+  assign _T_676 = _T_674 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@115812.6]
+  assign _T_677 = _T_676 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@115813.6]
+  assign _GEN_15 = _T_669 ? _T_671 : 64'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@115805.4]
+  assign _T_682 = _T_560 & _T_658; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@115824.4]
+  assign _T_684 = _T_363 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@115826.4]
+  assign _T_685 = _T_682 & _T_684; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@115827.4]
+  assign _T_686 = 64'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@115829.6]
+  assign _T_687 = _GEN_15 | _T_622; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@115831.6]
+  assign _T_688 = _T_687 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@115832.6]
+  assign _T_689 = _T_688[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@115833.6]
+  assign _T_691 = _T_689 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@115835.6]
+  assign _T_692 = _T_691 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@115836.6]
+  assign _GEN_16 = _T_685 ? _T_686 : 64'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@115828.4]
+  assign _T_693 = _T_622 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@115842.4]
+  assign _T_694 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@115843.4]
+  assign _T_695 = _T_693 & _T_694; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@115844.4]
+  assign _T_698 = _T_622 != 64'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@115849.4]
+  assign _T_699 = _T_698 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@115850.4]
+  assign _T_700 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@115851.4]
+  assign _T_701 = _T_699 | _T_700; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@115852.4]
+  assign _T_702 = _T_697 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@115853.4]
+  assign _T_703 = _T_701 | _T_702; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@115854.4]
+  assign _T_705 = _T_703 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@115856.4]
+  assign _T_706 = _T_705 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@115857.4]
+  assign _T_708 = _T_697 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@115863.4]
+  assign _T_711 = _T_504 | _T_560; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@115867.4]
+  assign _GEN_19 = io_in_a_valid & _T_92; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114821.10]
+  assign _GEN_33 = io_in_a_valid & _T_130; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114893.10]
+  assign _GEN_49 = io_in_a_valid & _T_172; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114976.10]
+  assign _GEN_59 = io_in_a_valid & _T_205; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115035.10]
+  assign _GEN_67 = io_in_a_valid & _T_234; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115086.10]
+  assign _GEN_75 = io_in_a_valid & _T_265; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115136.10]
+  assign _GEN_83 = io_in_a_valid & _T_291; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115184.10]
+  assign _GEN_91 = io_in_a_valid & _T_317; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115232.10]
+  assign _GEN_99 = io_in_d_valid & _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115302.10]
+  assign _GEN_101 = io_in_d_valid & _T_383; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115343.10]
+  assign _GEN_105 = io_in_d_valid & _T_411; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115401.10]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  _T_514 = _RAND_0[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  _T_527 = _RAND_1[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  _T_529 = _RAND_2[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  _T_531 = _RAND_3[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  _T_533 = _RAND_4[5:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  _T_535 = _RAND_5[11:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {1{`RANDOM}};
+  _T_569 = _RAND_6[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {1{`RANDOM}};
+  _T_582 = _RAND_7[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_8 = {1{`RANDOM}};
+  _T_586 = _RAND_8[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_9 = {1{`RANDOM}};
+  _T_588 = _RAND_9[5:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_10 = {2{`RANDOM}};
+  _T_622 = _RAND_10[63:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_11 = {1{`RANDOM}};
+  _T_633 = _RAND_11[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_12 = {1{`RANDOM}};
+  _T_654 = _RAND_12[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_13 = {1{`RANDOM}};
+  _T_697 = _RAND_13[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      _T_514 <= 1'h0;
+    end else begin
+      if (_T_504) begin
+        if (_T_518) begin
+          _T_514 <= 1'h0;
+        end else begin
+          _T_514 <= _T_517;
+        end
+      end
+    end
+    if (_T_559) begin
+      _T_527 <= io_in_a_bits_opcode;
+    end
+    if (_T_559) begin
+      _T_529 <= io_in_a_bits_param;
+    end
+    if (_T_559) begin
+      _T_531 <= io_in_a_bits_size;
+    end
+    if (_T_559) begin
+      _T_533 <= io_in_a_bits_source;
+    end
+    if (_T_559) begin
+      _T_535 <= io_in_a_bits_address;
+    end
+    if (reset) begin
+      _T_569 <= 1'h0;
+    end else begin
+      if (_T_560) begin
+        if (_T_573) begin
+          _T_569 <= 1'h0;
+        end else begin
+          _T_569 <= _T_572;
+        end
+      end
+    end
+    if (_T_620) begin
+      _T_582 <= io_in_d_bits_opcode;
+    end
+    if (_T_620) begin
+      _T_586 <= io_in_d_bits_size;
+    end
+    if (_T_620) begin
+      _T_588 <= io_in_d_bits_source;
+    end
+    if (reset) begin
+      _T_622 <= 64'h0;
+    end else begin
+      _T_622 <= _T_695;
+    end
+    if (reset) begin
+      _T_633 <= 1'h0;
+    end else begin
+      if (_T_504) begin
+        if (_T_637) begin
+          _T_633 <= 1'h0;
+        end else begin
+          _T_633 <= _T_636;
+        end
+      end
+    end
+    if (reset) begin
+      _T_654 <= 1'h0;
+    end else begin
+      if (_T_560) begin
+        if (_T_658) begin
+          _T_654 <= 1'h0;
+        end else begin
+          _T_654 <= _T_657;
+        end
+      end
+    end
+    if (reset) begin
+      _T_697 <= 32'h0;
+    end else begin
+      if (_T_711) begin
+        _T_697 <= 32'h0;
+      end else begin
+        _T_697 <= _T_708;
+      end
+    end
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@114732.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@114733.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@114804.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@114805.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114821.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_103) begin
+          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114822.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114828.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_103) begin
+          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114829.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114835.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114836.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_113) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114843.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_113) begin
+          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114844.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114850.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_116) begin
+          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114851.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_120) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114858.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_120) begin
+          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114859.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_125) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114867.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_125) begin
+          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114868.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_129) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114875.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_129) begin
+          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114876.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114893.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_103) begin
+          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114894.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114900.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_103) begin
+          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114901.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114907.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114908.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_113) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114915.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_113) begin
+          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114916.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114922.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_116) begin
+          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114923.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_120) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114930.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_120) begin
+          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114931.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_162) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114938.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_162) begin
+          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114939.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_125) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114947.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_125) begin
+          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114948.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_129) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114955.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_129) begin
+          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114956.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_186) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114976.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_186) begin
+          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114977.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114983.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114984.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114990.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_116) begin
+          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114991.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_196) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114998.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_196) begin
+          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114999.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115006.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_200) begin
+          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115007.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_129) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115014.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_129) begin
+          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115015.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_59 & _T_186) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115035.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_59 & _T_186) begin
+          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115036.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115042.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115043.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_59 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115049.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_59 & _T_116) begin
+          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115050.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_59 & _T_196) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115057.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_59 & _T_196) begin
+          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115058.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_59 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115065.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_59 & _T_200) begin
+          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115066.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_67 & _T_186) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115086.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_67 & _T_186) begin
+          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115087.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115093.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115094.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_67 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115100.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_67 & _T_116) begin
+          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115101.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_67 & _T_196) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115108.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_67 & _T_196) begin
+          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115109.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_67 & _T_264) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115118.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_67 & _T_264) begin
+          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115119.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115136.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_103) begin
+          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115137.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115143.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115144.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115150.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_116) begin
+          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115151.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_286) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115158.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_286) begin
+          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115159.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115166.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_200) begin
+          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115167.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_83 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115184.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_83 & _T_103) begin
+          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115185.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115191.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115192.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_83 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115198.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_83 & _T_116) begin
+          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115199.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_83 & _T_312) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115206.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_83 & _T_312) begin
+          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115207.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_83 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115214.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_83 & _T_200) begin
+          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115215.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_91 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115232.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_91 & _T_103) begin
+          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115233.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115239.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115240.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_91 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115246.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_91 & _T_116) begin
+          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115247.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_91 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115254.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_91 & _T_200) begin
+          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115255.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_91 & _T_129) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115262.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_91 & _T_129) begin
+          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115263.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_346) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@115273.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_346) begin
+          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@115274.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115294.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115295.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_99 & _T_370) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115302.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_99 & _T_370) begin
+          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115303.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115310.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115311.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115318.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115319.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115326.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115327.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115336.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115337.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_101 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115343.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_101 & _T_103) begin
+          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115344.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_101 & _T_370) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115351.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_101 & _T_370) begin
+          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115352.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115359.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115360.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115367.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115368.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115375.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115376.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115384.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115385.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115394.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115395.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115401.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_103) begin
+          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115402.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_370) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115409.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_370) begin
+          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115410.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115417.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115418.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115425.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115426.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115434.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115435.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115443.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115444.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115453.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115454.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115461.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115462.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115469.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115470.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115478.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115479.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115488.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115489.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115496.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115497.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115505.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115506.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115514.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115515.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115524.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115525.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115532.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115533.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115540.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115541.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115549.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115550.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115559.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115560.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115567.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115568.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115575.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115576.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_541) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115615.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_541) begin
+          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115616.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_545) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115623.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_545) begin
+          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115624.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_549) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115631.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_549) begin
+          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115632.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_553) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115639.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_553) begin
+          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115640.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_557) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115647.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_557) begin
+          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115648.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_594 & _T_598) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115697.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_594 & _T_598) begin
+          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115698.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115705.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115706.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_594 & _T_606) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115713.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_594 & _T_606) begin
+          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115714.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_594 & _T_610) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115721.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_594 & _T_610) begin
+          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115722.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115729.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115730.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115737.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115738.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_669 & _T_677) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@115815.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_669 & _T_677) begin
+          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@115816.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_685 & _T_692) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@115838.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_685 & _T_692) begin
+          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@115839.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_706) begin
+          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@115859.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_706) begin
+          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@115860.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+endmodule
+module TLDebugModuleInner( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@115872.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@115873.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@115874.4]
+  output        auto_tl_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@115875.4]
+  input         auto_tl_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@115875.4]
+  input  [2:0]  auto_tl_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@115875.4]
+  input  [2:0]  auto_tl_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@115875.4]
+  input  [1:0]  auto_tl_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@115875.4]
+  input  [5:0]  auto_tl_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@115875.4]
+  input  [11:0] auto_tl_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@115875.4]
+  input  [3:0]  auto_tl_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@115875.4]
+  input  [31:0] auto_tl_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@115875.4]
+  input         auto_tl_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@115875.4]
+  input         auto_tl_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@115875.4]
+  output        auto_tl_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@115875.4]
+  output [2:0]  auto_tl_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@115875.4]
+  output [1:0]  auto_tl_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@115875.4]
+  output [5:0]  auto_tl_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@115875.4]
+  output [31:0] auto_tl_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@115875.4]
+  output        auto_dmi_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@115875.4]
+  input         auto_dmi_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@115875.4]
+  input  [2:0]  auto_dmi_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@115875.4]
+  input  [2:0]  auto_dmi_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@115875.4]
+  input  [1:0]  auto_dmi_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@115875.4]
+  input         auto_dmi_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@115875.4]
+  input  [8:0]  auto_dmi_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@115875.4]
+  input  [3:0]  auto_dmi_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@115875.4]
+  input  [31:0] auto_dmi_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@115875.4]
+  input         auto_dmi_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@115875.4]
+  input         auto_dmi_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@115875.4]
+  output        auto_dmi_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@115875.4]
+  output [2:0]  auto_dmi_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@115875.4]
+  output [1:0]  auto_dmi_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@115875.4]
+  output        auto_dmi_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@115875.4]
+  output [31:0] auto_dmi_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@115875.4]
+  input         io_dmactive, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@115876.4]
+  output        io_innerCtrl_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@115876.4]
+  input         io_innerCtrl_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@115876.4]
+  input         io_innerCtrl_bits_resumereq, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@115876.4]
+  input  [9:0]  io_innerCtrl_bits_hartsel, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@115876.4]
+  input         io_innerCtrl_bits_ackhavereset // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@115876.4]
+);
+  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115884.4]
+  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115884.4]
+  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115884.4]
+  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115884.4]
+  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115884.4]
+  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115884.4]
+  wire [1:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115884.4]
+  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115884.4]
+  wire [8:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115884.4]
+  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115884.4]
+  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115884.4]
+  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115884.4]
+  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115884.4]
+  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115884.4]
+  wire [1:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115884.4]
+  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115884.4]
+  wire  TLMonitor_1_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115923.4]
+  wire  TLMonitor_1_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115923.4]
+  wire  TLMonitor_1_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115923.4]
+  wire  TLMonitor_1_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115923.4]
+  wire [2:0] TLMonitor_1_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115923.4]
+  wire [2:0] TLMonitor_1_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115923.4]
+  wire [1:0] TLMonitor_1_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115923.4]
+  wire [5:0] TLMonitor_1_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115923.4]
+  wire [11:0] TLMonitor_1_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115923.4]
+  wire [3:0] TLMonitor_1_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115923.4]
+  wire  TLMonitor_1_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115923.4]
+  wire  TLMonitor_1_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115923.4]
+  wire  TLMonitor_1_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115923.4]
+  wire [2:0] TLMonitor_1_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115923.4]
+  wire [1:0] TLMonitor_1_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115923.4]
+  wire [5:0] TLMonitor_1_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115923.4]
+  reg  haltedBitRegs_0; // @[Debug.scala 432:35:shc.marmotcaravel.MarmotCaravelConfig.fir@115968.4]
+  reg [31:0] _RAND_0;
+  reg  resumeReqRegs_0; // @[Debug.scala 433:35:shc.marmotcaravel.MarmotCaravelConfig.fir@115972.4]
+  reg [31:0] _RAND_1;
+  reg  haveResetBitRegs_0; // @[Debug.scala 434:35:shc.marmotcaravel.MarmotCaravelConfig.fir@115976.4]
+  reg [31:0] _RAND_2;
+  reg [9:0] selectedHartReg; // @[Debug.scala 459:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116155.4]
+  reg [31:0] _RAND_3;
+  wire  _T_1306; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@116156.4]
+  wire  DMSTATUSRdData_anynonexistent; // @[Debug.scala 477:27:shc.marmotcaravel.MarmotCaravelConfig.fir@116211.4]
+  wire  _GEN_3; // @[Debug.scala 483:49:shc.marmotcaravel.MarmotCaravelConfig.fir@116222.8]
+  wire  DMSTATUSRdData_allhalted; // @[Debug.scala 477:45:shc.marmotcaravel.MarmotCaravelConfig.fir@116212.4]
+  wire  DMSTATUSRdData_allrunning; // @[Debug.scala 477:45:shc.marmotcaravel.MarmotCaravelConfig.fir@116212.4]
+  wire  resumereq; // @[Debug.scala 493:41:shc.marmotcaravel.MarmotCaravelConfig.fir@116233.4]
+  wire  _T_1352; // @[Debug.scala 501:36:shc.marmotcaravel.MarmotCaravelConfig.fir@116240.4]
+  wire  _T_1353; // @[Debug.scala 501:71:shc.marmotcaravel.MarmotCaravelConfig.fir@116241.4]
+  wire  DMSTATUSRdData_allresumeack; // @[Debug.scala 501:68:shc.marmotcaravel.MarmotCaravelConfig.fir@116242.4]
+  wire [31:0] haltedStatus_0; // @[Debug.scala 519:30:shc.marmotcaravel.MarmotCaravelConfig.fir@116274.4 Debug.scala 522:24:shc.marmotcaravel.MarmotCaravelConfig.fir@116276.4]
+  wire  haltedSummary; // @[Debug.scala 525:48:shc.marmotcaravel.MarmotCaravelConfig.fir@116277.4]
+  wire [31:0] HALTSUM1RdData_haltsum1; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@116280.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@116282.4]
+  wire [4:0] _T_1384; // @[Debug.scala 528:53:shc.marmotcaravel.MarmotCaravelConfig.fir@116285.4]
+  wire  _T_1385; // @[Debug.scala 528:59:shc.marmotcaravel.MarmotCaravelConfig.fir@116286.4]
+  wire [31:0] selectedHaltedStatus; // @[Debug.scala 528:35:shc.marmotcaravel.MarmotCaravelConfig.fir@116288.4]
+  reg [2:0] ABSTRACTCSReg_cmderr; // @[Debug.scala 539:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116322.4]
+  reg [31:0] _RAND_4;
+  wire  _T_2720; // @[RegisterRouter.scala 58:36:shc.marmotcaravel.MarmotCaravelConfig.fir@116962.4]
+  wire [6:0] _T_2721; // @[Edges.scala 192:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116964.4]
+  wire  _T_5124; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119401.4]
+  wire  _T_5122; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119399.4]
+  wire [1:0] _T_5127; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@119404.4]
+  wire  _T_5121; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119398.4]
+  wire [2:0] _T_5128; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@119405.4]
+  wire  _T_5120; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119397.4]
+  wire  _T_5119; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119396.4]
+  wire [1:0] _T_5126; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@119403.4]
+  wire [4:0] _T_5129; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@119406.4]
+  wire [6:0] _T_2738; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@116976.4]
+  wire  _T_2786; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117024.4]
+  wire  _T_2742; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@116980.4]
+  wire  _T_2760; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@116998.4]
+  wire  _T_5913; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120496.4]
+  wire  _T_5914; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120497.4]
+  wire  _T_5915; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120498.4]
+  wire [31:0] _T_5174; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@119451.4]
+  wire  _T_5181; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119458.4]
+  wire  _T_5954; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120551.4]
+  wire  _T_5955; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120552.4]
+  wire  _T_3130; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@117052.4]
+  wire [7:0] _T_3138; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@117060.4]
+  wire  _T_3129; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@117051.4]
+  wire [7:0] _T_3136; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@117058.4]
+  wire [15:0] _T_3140; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@117062.4]
+  wire  _T_3128; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@117050.4]
+  wire [7:0] _T_3134; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@117056.4]
+  wire  _T_3127; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@117049.4]
+  wire [7:0] _T_3132; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@117054.4]
+  wire [15:0] _T_3139; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@117061.4]
+  wire [31:0] _T_3141; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@117063.4]
+  wire [31:0] _T_4179; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118286.4]
+  wire  _T_4180; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118287.4]
+  wire  ABSTRACTCSWrEnMaybe; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118291.4]
+  wire [31:0] ABSTRACTCSWrDataVal; // @[Debug.scala 215:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118295.4]
+  wire [2:0] ABSTRACTCSWrData_cmderr; // @[Debug.scala 541:64:shc.marmotcaravel.MarmotCaravelConfig.fir@116335.4]
+  reg [1:0] ctrlStateReg; // @[Debug.scala 931:27:shc.marmotcaravel.MarmotCaravelConfig.fir@191401.4]
+  reg [31:0] _RAND_5;
+  wire  ABSTRACTCSWrEnLegal; // @[Debug.scala 941:44:shc.marmotcaravel.MarmotCaravelConfig.fir@191407.4]
+  wire  ABSTRACTCSWrEn; // @[Debug.scala 548:51:shc.marmotcaravel.MarmotCaravelConfig.fir@116359.4]
+  wire  _T_1429; // @[Debug.scala 555:10:shc.marmotcaravel.MarmotCaravelConfig.fir@116372.4]
+  wire [2:0] _T_1430; // @[Debug.scala 568:58:shc.marmotcaravel.MarmotCaravelConfig.fir@116394.16]
+  wire [2:0] _T_1431; // @[Debug.scala 568:56:shc.marmotcaravel.MarmotCaravelConfig.fir@116395.16]
+  wire  _T_76325; // @[Debug.scala 994:30:shc.marmotcaravel.MarmotCaravelConfig.fir@191484.6]
+  reg [7:0] COMMANDRdData_cmdtype; // @[Debug.scala 618:25:shc.marmotcaravel.MarmotCaravelConfig.fir@116854.4]
+  reg [31:0] _RAND_6;
+  wire  commandRegIsAccessRegister; // @[Debug.scala 955:58:shc.marmotcaravel.MarmotCaravelConfig.fir@191433.4]
+  reg [23:0] COMMANDRdData_control; // @[Debug.scala 618:25:shc.marmotcaravel.MarmotCaravelConfig.fir@116854.4]
+  reg [31:0] _RAND_7;
+  wire [31:0] _T_20900; // @[Debug.scala 791:104:shc.marmotcaravel.MarmotCaravelConfig.fir@133675.4]
+  wire  accessRegisterCommandReg_transfer; // @[Debug.scala 791:86:shc.marmotcaravel.MarmotCaravelConfig.fir@133685.4]
+  wire  accessRegisterCommandReg_write; // @[Debug.scala 791:86:shc.marmotcaravel.MarmotCaravelConfig.fir@133683.4]
+  wire  _T_76315; // @[Debug.scala 973:19:shc.marmotcaravel.MarmotCaravelConfig.fir@191453.8]
+  wire [15:0] accessRegisterCommandReg_regno; // @[Debug.scala 791:86:shc.marmotcaravel.MarmotCaravelConfig.fir@133681.4]
+  wire  _T_76310; // @[Debug.scala 963:58:shc.marmotcaravel.MarmotCaravelConfig.fir@191442.4]
+  wire  _T_76311; // @[Debug.scala 963:104:shc.marmotcaravel.MarmotCaravelConfig.fir@191443.4]
+  wire  accessRegIsGPR; // @[Debug.scala 963:70:shc.marmotcaravel.MarmotCaravelConfig.fir@191444.4]
+  wire  _T_76316; // @[Debug.scala 973:54:shc.marmotcaravel.MarmotCaravelConfig.fir@191454.8]
+  wire  _GEN_5644; // @[Debug.scala 973:73:shc.marmotcaravel.MarmotCaravelConfig.fir@191455.8]
+  wire  commandRegIsUnsupported; // @[Debug.scala 970:39:shc.marmotcaravel.MarmotCaravelConfig.fir@191445.4]
+  wire  _T_76317; // @[Debug.scala 975:36:shc.marmotcaravel.MarmotCaravelConfig.fir@191457.10]
+  wire  _GEN_5645; // @[Debug.scala 973:73:shc.marmotcaravel.MarmotCaravelConfig.fir@191455.8]
+  wire  commandRegBadHaltResume; // @[Debug.scala 970:39:shc.marmotcaravel.MarmotCaravelConfig.fir@191445.4]
+  wire  _GEN_5661; // @[Debug.scala 1001:38:shc.marmotcaravel.MarmotCaravelConfig.fir@191486.8]
+  wire  _GEN_5674; // @[Debug.scala 994:59:shc.marmotcaravel.MarmotCaravelConfig.fir@191485.6]
+  wire  errorHaltResume; // @[Debug.scala 986:47:shc.marmotcaravel.MarmotCaravelConfig.fir@191468.4]
+  wire  _T_5182; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119459.4]
+  wire  _T_5960; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120559.4]
+  wire  _T_5961; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120560.4]
+  wire  COMMANDWrEnMaybe; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118976.4]
+  wire  COMMANDWrEn; // @[Debug.scala 626:40:shc.marmotcaravel.MarmotCaravelConfig.fir@116879.4]
+  wire [31:0] COMMANDWrDataVal; // @[Debug.scala 215:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118980.4]
+  wire [7:0] COMMANDWrData_cmdtype; // @[Debug.scala 621:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116865.4]
+  wire  commandWrIsAccessRegister; // @[Debug.scala 954:60:shc.marmotcaravel.MarmotCaravelConfig.fir@191432.4]
+  wire  _T_76318; // @[Debug.scala 979:48:shc.marmotcaravel.MarmotCaravelConfig.fir@191461.4]
+  wire  _T_76319; // @[Debug.scala 979:103:shc.marmotcaravel.MarmotCaravelConfig.fir@191462.4]
+  wire  wrAccessRegisterCommand; // @[Debug.scala 979:78:shc.marmotcaravel.MarmotCaravelConfig.fir@191463.4]
+  wire  _T_5179; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119456.4]
+  wire  _T_5942; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120533.4]
+  wire  _T_5943; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120534.4]
+  wire [7:0] _T_4914; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119151.4]
+  wire [7:0] _T_4915; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119152.4]
+  wire  _T_4916; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119153.4]
+  wire  dmiAbstractDataWrEnMaybe_0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119157.4]
+  wire  _T_5679; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120160.4]
+  wire  _T_5706; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120195.4]
+  wire  _T_5707; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120196.4]
+  wire  _T_4913; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119150.4]
+  wire  dmiAbstractDataRdEn_0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119155.4]
+  wire  dmiAbstractDataAccessVec_0; // @[Debug.scala 599:105:shc.marmotcaravel.MarmotCaravelConfig.fir@116466.4]
+  reg [11:0] ABSTRACTAUTOReg_autoexecdata; // @[Debug.scala 580:36:shc.marmotcaravel.MarmotCaravelConfig.fir@116418.4]
+  reg [31:0] _RAND_8;
+  wire  _T_2156; // @[Debug.scala 610:54:shc.marmotcaravel.MarmotCaravelConfig.fir@116764.4]
+  wire  autoexecData_0; // @[Debug.scala 610:140:shc.marmotcaravel.MarmotCaravelConfig.fir@116776.4]
+  wire  _T_5191; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119468.4]
+  wire  _T_6014; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120624.4]
+  wire  _T_6015; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120625.4]
+  wire  dmiProgramBufferWrEnMaybe_0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117863.4]
+  wire  _T_5778; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120286.4]
+  wire  _T_5779; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120287.4]
+  wire  dmiProgramBufferRdEn_0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117861.4]
+  wire  dmiProgramBufferAccessVec_0; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116543.4]
+  reg [15:0] ABSTRACTAUTOReg_autoexecprogbuf; // @[Debug.scala 580:36:shc.marmotcaravel.MarmotCaravelConfig.fir@116418.4]
+  reg [31:0] _RAND_9;
+  wire  _T_2169; // @[Debug.scala 611:57:shc.marmotcaravel.MarmotCaravelConfig.fir@116778.4]
+  wire  autoexecProg_0; // @[Debug.scala 611:144:shc.marmotcaravel.MarmotCaravelConfig.fir@116794.4]
+  wire  _T_5192; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119469.4]
+  wire  _T_6020; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120635.4]
+  wire  _T_6021; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120636.4]
+  wire  dmiProgramBufferWrEnMaybe_4; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117611.4]
+  wire  _T_5784; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120297.4]
+  wire  _T_5785; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120298.4]
+  wire  dmiProgramBufferRdEn_4; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117609.4]
+  wire  dmiProgramBufferAccessVec_4; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116547.4]
+  wire  _T_2170; // @[Debug.scala 611:57:shc.marmotcaravel.MarmotCaravelConfig.fir@116779.4]
+  wire  autoexecProg_1; // @[Debug.scala 611:144:shc.marmotcaravel.MarmotCaravelConfig.fir@116796.4]
+  wire  _T_2201; // @[Debug.scala 613:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116826.4]
+  wire  _T_5193; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119470.4]
+  wire  _T_6026; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120646.4]
+  wire  _T_6027; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120647.4]
+  wire  dmiProgramBufferWrEnMaybe_8; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117989.4]
+  wire  _T_5790; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120308.4]
+  wire  _T_5791; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120309.4]
+  wire  dmiProgramBufferRdEn_8; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117987.4]
+  wire  dmiProgramBufferAccessVec_8; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116551.4]
+  wire  _T_2171; // @[Debug.scala 611:57:shc.marmotcaravel.MarmotCaravelConfig.fir@116780.4]
+  wire  autoexecProg_2; // @[Debug.scala 611:144:shc.marmotcaravel.MarmotCaravelConfig.fir@116798.4]
+  wire  _T_2202; // @[Debug.scala 613:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116827.4]
+  wire  _T_5194; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119471.4]
+  wire  _T_6032; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120657.4]
+  wire  _T_6033; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120658.4]
+  wire  dmiProgramBufferWrEnMaybe_12; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118573.4]
+  wire  _T_5796; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120319.4]
+  wire  _T_5797; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120320.4]
+  wire  dmiProgramBufferRdEn_12; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118571.4]
+  wire  dmiProgramBufferAccessVec_12; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116555.4]
+  wire  _T_2172; // @[Debug.scala 611:57:shc.marmotcaravel.MarmotCaravelConfig.fir@116781.4]
+  wire  autoexecProg_3; // @[Debug.scala 611:144:shc.marmotcaravel.MarmotCaravelConfig.fir@116800.4]
+  wire  _T_2203; // @[Debug.scala 613:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116828.4]
+  wire  _T_5195; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119472.4]
+  wire  _T_6038; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120668.4]
+  wire  _T_6039; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120669.4]
+  wire  dmiProgramBufferWrEnMaybe_16; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119006.4]
+  wire  _T_5802; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120330.4]
+  wire  _T_5803; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120331.4]
+  wire  dmiProgramBufferRdEn_16; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119004.4]
+  wire  dmiProgramBufferAccessVec_16; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116559.4]
+  wire  _T_2173; // @[Debug.scala 611:57:shc.marmotcaravel.MarmotCaravelConfig.fir@116782.4]
+  wire  autoexecProg_4; // @[Debug.scala 611:144:shc.marmotcaravel.MarmotCaravelConfig.fir@116802.4]
+  wire  _T_2204; // @[Debug.scala 613:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116829.4]
+  wire  _T_5196; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119473.4]
+  wire  _T_6044; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120679.4]
+  wire  _T_6045; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120680.4]
+  wire  dmiProgramBufferWrEnMaybe_20; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117233.4]
+  wire  _T_5808; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120341.4]
+  wire  _T_5809; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120342.4]
+  wire  dmiProgramBufferRdEn_20; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117231.4]
+  wire  dmiProgramBufferAccessVec_20; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116563.4]
+  wire  _T_2174; // @[Debug.scala 611:57:shc.marmotcaravel.MarmotCaravelConfig.fir@116783.4]
+  wire  autoexecProg_5; // @[Debug.scala 611:144:shc.marmotcaravel.MarmotCaravelConfig.fir@116804.4]
+  wire  _T_2205; // @[Debug.scala 613:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116830.4]
+  wire  _T_5197; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119474.4]
+  wire  _T_6050; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120690.4]
+  wire  _T_6051; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120691.4]
+  wire  dmiProgramBufferWrEnMaybe_24; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117485.4]
+  wire  _T_5814; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120352.4]
+  wire  _T_5815; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120353.4]
+  wire  dmiProgramBufferRdEn_24; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117483.4]
+  wire  dmiProgramBufferAccessVec_24; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116567.4]
+  wire  _T_2175; // @[Debug.scala 611:57:shc.marmotcaravel.MarmotCaravelConfig.fir@116784.4]
+  wire  autoexecProg_6; // @[Debug.scala 611:144:shc.marmotcaravel.MarmotCaravelConfig.fir@116806.4]
+  wire  _T_2206; // @[Debug.scala 613:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116831.4]
+  wire  _T_5198; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119475.4]
+  wire  _T_6056; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120701.4]
+  wire  _T_6057; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120702.4]
+  wire  dmiProgramBufferWrEnMaybe_28; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118447.4]
+  wire  _T_5820; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120363.4]
+  wire  _T_5821; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120364.4]
+  wire  dmiProgramBufferRdEn_28; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118445.4]
+  wire  dmiProgramBufferAccessVec_28; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116571.4]
+  wire  _T_2176; // @[Debug.scala 611:57:shc.marmotcaravel.MarmotCaravelConfig.fir@116785.4]
+  wire  autoexecProg_7; // @[Debug.scala 611:144:shc.marmotcaravel.MarmotCaravelConfig.fir@116808.4]
+  wire  _T_2207; // @[Debug.scala 613:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116832.4]
+  wire  _T_5199; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119476.4]
+  wire  _T_6062; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120712.4]
+  wire  _T_6063; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120713.4]
+  wire  dmiProgramBufferWrEnMaybe_32; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118850.4]
+  wire  _T_5826; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120374.4]
+  wire  _T_5827; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120375.4]
+  wire  dmiProgramBufferRdEn_32; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118848.4]
+  wire  dmiProgramBufferAccessVec_32; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116575.4]
+  wire  _T_2177; // @[Debug.scala 611:57:shc.marmotcaravel.MarmotCaravelConfig.fir@116786.4]
+  wire  autoexecProg_8; // @[Debug.scala 611:144:shc.marmotcaravel.MarmotCaravelConfig.fir@116810.4]
+  wire  _T_2208; // @[Debug.scala 613:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116833.4]
+  wire  _T_5200; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119477.4]
+  wire  _T_6068; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120723.4]
+  wire  _T_6069; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120724.4]
+  wire  dmiProgramBufferWrEnMaybe_36; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117737.4]
+  wire  _T_5832; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120385.4]
+  wire  _T_5833; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120386.4]
+  wire  dmiProgramBufferRdEn_36; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117735.4]
+  wire  dmiProgramBufferAccessVec_36; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116579.4]
+  wire  _T_2178; // @[Debug.scala 611:57:shc.marmotcaravel.MarmotCaravelConfig.fir@116787.4]
+  wire  autoexecProg_9; // @[Debug.scala 611:144:shc.marmotcaravel.MarmotCaravelConfig.fir@116812.4]
+  wire  _T_2209; // @[Debug.scala 613:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116834.4]
+  wire  _T_5201; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119478.4]
+  wire  _T_6074; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120734.4]
+  wire  _T_6075; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120735.4]
+  wire  dmiProgramBufferWrEnMaybe_40; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117077.4]
+  wire  _T_5838; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120396.4]
+  wire  _T_5839; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120397.4]
+  wire  dmiProgramBufferRdEn_40; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117075.4]
+  wire  dmiProgramBufferAccessVec_40; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116583.4]
+  wire  _T_2179; // @[Debug.scala 611:57:shc.marmotcaravel.MarmotCaravelConfig.fir@116788.4]
+  wire  autoexecProg_10; // @[Debug.scala 611:144:shc.marmotcaravel.MarmotCaravelConfig.fir@116814.4]
+  wire  _T_2210; // @[Debug.scala 613:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116835.4]
+  wire  _T_5202; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119479.4]
+  wire  _T_6080; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120745.4]
+  wire  _T_6081; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120746.4]
+  wire  dmiProgramBufferWrEnMaybe_44; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118724.4]
+  wire  _T_5844; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120407.4]
+  wire  _T_5845; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120408.4]
+  wire  dmiProgramBufferRdEn_44; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118722.4]
+  wire  dmiProgramBufferAccessVec_44; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116587.4]
+  wire  _T_2180; // @[Debug.scala 611:57:shc.marmotcaravel.MarmotCaravelConfig.fir@116789.4]
+  wire  autoexecProg_11; // @[Debug.scala 611:144:shc.marmotcaravel.MarmotCaravelConfig.fir@116816.4]
+  wire  _T_2211; // @[Debug.scala 613:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116836.4]
+  wire  _T_5203; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119480.4]
+  wire  _T_6086; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120756.4]
+  wire  _T_6087; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120757.4]
+  wire  dmiProgramBufferWrEnMaybe_48; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118321.4]
+  wire  _T_5850; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120418.4]
+  wire  _T_5851; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120419.4]
+  wire  dmiProgramBufferRdEn_48; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118319.4]
+  wire  dmiProgramBufferAccessVec_48; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116591.4]
+  wire  _T_2181; // @[Debug.scala 611:57:shc.marmotcaravel.MarmotCaravelConfig.fir@116790.4]
+  wire  autoexecProg_12; // @[Debug.scala 611:144:shc.marmotcaravel.MarmotCaravelConfig.fir@116818.4]
+  wire  _T_2212; // @[Debug.scala 613:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116837.4]
+  wire  _T_5204; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119481.4]
+  wire  _T_6092; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120767.4]
+  wire  _T_6093; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120768.4]
+  wire  dmiProgramBufferWrEnMaybe_52; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118115.4]
+  wire  _T_5856; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120429.4]
+  wire  _T_5857; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120430.4]
+  wire  dmiProgramBufferRdEn_52; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118113.4]
+  wire  dmiProgramBufferAccessVec_52; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116595.4]
+  wire  _T_2182; // @[Debug.scala 611:57:shc.marmotcaravel.MarmotCaravelConfig.fir@116791.4]
+  wire  autoexecProg_13; // @[Debug.scala 611:144:shc.marmotcaravel.MarmotCaravelConfig.fir@116820.4]
+  wire  _T_2213; // @[Debug.scala 613:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116838.4]
+  wire  _T_5205; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119482.4]
+  wire  _T_6098; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120778.4]
+  wire  _T_6099; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120779.4]
+  wire  dmiProgramBufferWrEnMaybe_56; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117359.4]
+  wire  _T_5862; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120440.4]
+  wire  _T_5863; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120441.4]
+  wire  dmiProgramBufferRdEn_56; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117357.4]
+  wire  dmiProgramBufferAccessVec_56; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116599.4]
+  wire  _T_2183; // @[Debug.scala 611:57:shc.marmotcaravel.MarmotCaravelConfig.fir@116792.4]
+  wire  autoexecProg_14; // @[Debug.scala 611:144:shc.marmotcaravel.MarmotCaravelConfig.fir@116822.4]
+  wire  _T_2214; // @[Debug.scala 613:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116839.4]
+  wire  _T_5206; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119483.4]
+  wire  _T_6104; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120789.4]
+  wire  _T_6105; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120790.4]
+  wire  dmiProgramBufferWrEnMaybe_60; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119283.4]
+  wire  _T_5868; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120451.4]
+  wire  _T_5869; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120452.4]
+  wire  dmiProgramBufferRdEn_60; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119281.4]
+  wire  dmiProgramBufferAccessVec_60; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116603.4]
+  wire  _T_2184; // @[Debug.scala 611:57:shc.marmotcaravel.MarmotCaravelConfig.fir@116793.4]
+  wire  autoexecProg_15; // @[Debug.scala 611:144:shc.marmotcaravel.MarmotCaravelConfig.fir@116824.4]
+  wire  _T_2215; // @[Debug.scala 613:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116840.4]
+  wire  autoexec; // @[Debug.scala 613:48:shc.marmotcaravel.MarmotCaravelConfig.fir@116841.4]
+  wire  _T_76320; // @[Debug.scala 980:48:shc.marmotcaravel.MarmotCaravelConfig.fir@191464.4]
+  wire  regAccessRegisterCommand; // @[Debug.scala 980:78:shc.marmotcaravel.MarmotCaravelConfig.fir@191466.4]
+  wire  _T_76323; // @[Debug.scala 987:37:shc.marmotcaravel.MarmotCaravelConfig.fir@191469.6]
+  wire  _T_76307; // @[Debug.scala 957:49:shc.marmotcaravel.MarmotCaravelConfig.fir@191434.4]
+  wire  commandWrIsUnsupported; // @[Debug.scala 957:46:shc.marmotcaravel.MarmotCaravelConfig.fir@191435.4]
+  wire  _T_76324; // @[Debug.scala 991:28:shc.marmotcaravel.MarmotCaravelConfig.fir@191478.10]
+  wire  _GEN_5651; // @[Debug.scala 989:43:shc.marmotcaravel.MarmotCaravelConfig.fir@191474.8]
+  wire  _GEN_5653; // @[Debug.scala 987:66:shc.marmotcaravel.MarmotCaravelConfig.fir@191470.6]
+  wire  _GEN_5672; // @[Debug.scala 994:59:shc.marmotcaravel.MarmotCaravelConfig.fir@191485.6]
+  wire  errorUnsupported; // @[Debug.scala 986:47:shc.marmotcaravel.MarmotCaravelConfig.fir@191468.4]
+  wire  _T_76326; // @[Debug.scala 1015:30:shc.marmotcaravel.MarmotCaravelConfig.fir@191506.8]
+  wire  _T_23037; // @[RegisterRouter.scala 58:36:shc.marmotcaravel.MarmotCaravelConfig.fir@135850.4]
+  wire [9:0] _T_23038; // @[Edges.scala 192:34:shc.marmotcaravel.MarmotCaravelConfig.fir@135852.4]
+  wire  _T_59792; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@168065.4]
+  wire  _T_59791; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@168064.4]
+  wire [1:0] _T_59798; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@168071.4]
+  wire  _T_59790; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@168063.4]
+  wire [2:0] _T_59799; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@168072.4]
+  wire  _T_59789; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@168062.4]
+  wire  _T_59788; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@168061.4]
+  wire [1:0] _T_59797; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@168070.4]
+  wire [4:0] _T_59800; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@168073.4]
+  wire  _T_59787; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@168060.4]
+  wire  _T_59786; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@168059.4]
+  wire [1:0] _T_59795; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@168068.4]
+  wire  _T_59785; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@168058.4]
+  wire  _T_59784; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@168057.4]
+  wire [1:0] _T_59794; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@168067.4]
+  wire [3:0] _T_59796; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@168069.4]
+  wire [8:0] _T_59801; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@168074.4]
+  wire [9:0] _T_23055; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@135864.4]
+  wire  _T_23089; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@135898.4]
+  wire  _T_23609; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@136418.4]
+  wire  _T_71632; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@184975.4]
+  wire  _T_71633; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@184976.4]
+  wire  _T_71634; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@184977.4]
+  wire [511:0] _T_60333; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@168606.4]
+  wire  _T_60401; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@168674.4]
+  wire  _T_72039; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@185536.4]
+  wire  _T_72040; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@185537.4]
+  wire  _T_28433; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@136494.4]
+  wire [7:0] _T_28441; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@136502.4]
+  wire  _T_28432; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@136493.4]
+  wire [7:0] _T_28439; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@136500.4]
+  wire [15:0] _T_28443; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@136504.4]
+  wire  _T_28431; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@136492.4]
+  wire [7:0] _T_28437; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@136498.4]
+  wire  _T_28430; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@136491.4]
+  wire [7:0] _T_28435; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@136496.4]
+  wire [15:0] _T_28442; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@136503.4]
+  wire [31:0] _T_28444; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@136505.4]
+  wire [9:0] _T_50731; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@158942.4]
+  wire [9:0] _T_50732; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@158943.4]
+  wire  _T_50733; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@158944.4]
+  wire  hartExceptionWrEn; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@158948.4]
+  wire  _GEN_5670; // @[Debug.scala 1015:51:shc.marmotcaravel.MarmotCaravelConfig.fir@191507.8]
+  wire  _GEN_5676; // @[Debug.scala 994:59:shc.marmotcaravel.MarmotCaravelConfig.fir@191485.6]
+  wire  errorException; // @[Debug.scala 986:47:shc.marmotcaravel.MarmotCaravelConfig.fir@191468.4]
+  wire  _T_76293; // @[Debug.scala 947:45:shc.marmotcaravel.MarmotCaravelConfig.fir@191417.4]
+  wire  _T_76294; // @[Debug.scala 947:42:shc.marmotcaravel.MarmotCaravelConfig.fir@191418.4]
+  wire  _T_5183; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119460.4]
+  wire  _T_5966; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120567.4]
+  wire  _T_5967; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120568.4]
+  wire  ABSTRACTAUTOWrEnMaybe; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117203.4]
+  wire  _T_76296; // @[Debug.scala 948:42:shc.marmotcaravel.MarmotCaravelConfig.fir@191420.4]
+  wire  _T_76297; // @[Debug.scala 947:74:shc.marmotcaravel.MarmotCaravelConfig.fir@191421.4]
+  wire  _T_76299; // @[Debug.scala 949:42:shc.marmotcaravel.MarmotCaravelConfig.fir@191423.4]
+  wire  _T_76300; // @[Debug.scala 948:74:shc.marmotcaravel.MarmotCaravelConfig.fir@191424.4]
+  wire [7:0] _T_4939; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119181.4]
+  wire [7:0] _T_4940; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119182.4]
+  wire  _T_4941; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119183.4]
+  wire  dmiAbstractDataWrEnMaybe_1; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119187.4]
+  wire  _T_4938; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119180.4]
+  wire  dmiAbstractDataRdEn_1; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119185.4]
+  wire  dmiAbstractDataAccessVec_1; // @[Debug.scala 599:105:shc.marmotcaravel.MarmotCaravelConfig.fir@116467.4]
+  wire  _T_1962; // @[Debug.scala 604:68:shc.marmotcaravel.MarmotCaravelConfig.fir@116671.4]
+  wire [7:0] _T_4966; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119213.4]
+  wire [7:0] _T_4967; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119214.4]
+  wire  _T_4968; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119215.4]
+  wire  dmiAbstractDataWrEnMaybe_2; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119219.4]
+  wire  _T_4965; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119212.4]
+  wire  dmiAbstractDataRdEn_2; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119217.4]
+  wire  dmiAbstractDataAccessVec_2; // @[Debug.scala 599:105:shc.marmotcaravel.MarmotCaravelConfig.fir@116468.4]
+  wire  _T_1963; // @[Debug.scala 604:68:shc.marmotcaravel.MarmotCaravelConfig.fir@116672.4]
+  wire [7:0] _T_4993; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119245.4]
+  wire [7:0] _T_4994; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119246.4]
+  wire  _T_4995; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119247.4]
+  wire  dmiAbstractDataWrEnMaybe_3; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119251.4]
+  wire  _T_4992; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119244.4]
+  wire  dmiAbstractDataRdEn_3; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119249.4]
+  wire  dmiAbstractDataAccessVec_3; // @[Debug.scala 599:105:shc.marmotcaravel.MarmotCaravelConfig.fir@116469.4]
+  wire  dmiAbstractDataAccess; // @[Debug.scala 604:68:shc.marmotcaravel.MarmotCaravelConfig.fir@116673.4]
+  wire  _T_76302; // @[Debug.scala 950:42:shc.marmotcaravel.MarmotCaravelConfig.fir@191426.4]
+  wire  _T_76303; // @[Debug.scala 949:74:shc.marmotcaravel.MarmotCaravelConfig.fir@191427.4]
+  wire  dmiProgramBufferWrEnMaybe_1; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117893.4]
+  wire  dmiProgramBufferRdEn_1; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117891.4]
+  wire  dmiProgramBufferAccessVec_1; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116544.4]
+  wire  _T_1964; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116674.4]
+  wire  dmiProgramBufferWrEnMaybe_2; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117925.4]
+  wire  dmiProgramBufferRdEn_2; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117923.4]
+  wire  dmiProgramBufferAccessVec_2; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116545.4]
+  wire  _T_1965; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116675.4]
+  wire  dmiProgramBufferWrEnMaybe_3; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117957.4]
+  wire  dmiProgramBufferRdEn_3; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117955.4]
+  wire  dmiProgramBufferAccessVec_3; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116546.4]
+  wire  _T_1966; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116676.4]
+  wire  _T_1967; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116677.4]
+  wire  dmiProgramBufferWrEnMaybe_5; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117641.4]
+  wire  dmiProgramBufferRdEn_5; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117639.4]
+  wire  dmiProgramBufferAccessVec_5; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116548.4]
+  wire  _T_1968; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116678.4]
+  wire  dmiProgramBufferWrEnMaybe_6; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117673.4]
+  wire  dmiProgramBufferRdEn_6; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117671.4]
+  wire  dmiProgramBufferAccessVec_6; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116549.4]
+  wire  _T_1969; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116679.4]
+  wire  dmiProgramBufferWrEnMaybe_7; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117705.4]
+  wire  dmiProgramBufferRdEn_7; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117703.4]
+  wire  dmiProgramBufferAccessVec_7; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116550.4]
+  wire  _T_1970; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116680.4]
+  wire  _T_1971; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116681.4]
+  wire  dmiProgramBufferWrEnMaybe_9; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118019.4]
+  wire  dmiProgramBufferRdEn_9; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118017.4]
+  wire  dmiProgramBufferAccessVec_9; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116552.4]
+  wire  _T_1972; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116682.4]
+  wire  dmiProgramBufferWrEnMaybe_10; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118051.4]
+  wire  dmiProgramBufferRdEn_10; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118049.4]
+  wire  dmiProgramBufferAccessVec_10; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116553.4]
+  wire  _T_1973; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116683.4]
+  wire  dmiProgramBufferWrEnMaybe_11; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118083.4]
+  wire  dmiProgramBufferRdEn_11; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118081.4]
+  wire  dmiProgramBufferAccessVec_11; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116554.4]
+  wire  _T_1974; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116684.4]
+  wire  _T_1975; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116685.4]
+  wire  dmiProgramBufferWrEnMaybe_13; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118603.4]
+  wire  dmiProgramBufferRdEn_13; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118601.4]
+  wire  dmiProgramBufferAccessVec_13; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116556.4]
+  wire  _T_1976; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116686.4]
+  wire  dmiProgramBufferWrEnMaybe_14; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118635.4]
+  wire  dmiProgramBufferRdEn_14; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118633.4]
+  wire  dmiProgramBufferAccessVec_14; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116557.4]
+  wire  _T_1977; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116687.4]
+  wire  dmiProgramBufferWrEnMaybe_15; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118667.4]
+  wire  dmiProgramBufferRdEn_15; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118665.4]
+  wire  dmiProgramBufferAccessVec_15; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116558.4]
+  wire  _T_1978; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116688.4]
+  wire  _T_1979; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116689.4]
+  wire  dmiProgramBufferWrEnMaybe_17; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119036.4]
+  wire  dmiProgramBufferRdEn_17; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119034.4]
+  wire  dmiProgramBufferAccessVec_17; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116560.4]
+  wire  _T_1980; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116690.4]
+  wire  dmiProgramBufferWrEnMaybe_18; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119068.4]
+  wire  dmiProgramBufferRdEn_18; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119066.4]
+  wire  dmiProgramBufferAccessVec_18; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116561.4]
+  wire  _T_1981; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116691.4]
+  wire  dmiProgramBufferWrEnMaybe_19; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119100.4]
+  wire  dmiProgramBufferRdEn_19; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119098.4]
+  wire  dmiProgramBufferAccessVec_19; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116562.4]
+  wire  _T_1982; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116692.4]
+  wire  _T_1983; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116693.4]
+  wire  dmiProgramBufferWrEnMaybe_21; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117263.4]
+  wire  dmiProgramBufferRdEn_21; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117261.4]
+  wire  dmiProgramBufferAccessVec_21; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116564.4]
+  wire  _T_1984; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116694.4]
+  wire  dmiProgramBufferWrEnMaybe_22; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117295.4]
+  wire  dmiProgramBufferRdEn_22; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117293.4]
+  wire  dmiProgramBufferAccessVec_22; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116565.4]
+  wire  _T_1985; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116695.4]
+  wire  dmiProgramBufferWrEnMaybe_23; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117327.4]
+  wire  dmiProgramBufferRdEn_23; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117325.4]
+  wire  dmiProgramBufferAccessVec_23; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116566.4]
+  wire  _T_1986; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116696.4]
+  wire  _T_1987; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116697.4]
+  wire  dmiProgramBufferWrEnMaybe_25; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117515.4]
+  wire  dmiProgramBufferRdEn_25; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117513.4]
+  wire  dmiProgramBufferAccessVec_25; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116568.4]
+  wire  _T_1988; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116698.4]
+  wire  dmiProgramBufferWrEnMaybe_26; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117547.4]
+  wire  dmiProgramBufferRdEn_26; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117545.4]
+  wire  dmiProgramBufferAccessVec_26; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116569.4]
+  wire  _T_1989; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116699.4]
+  wire  dmiProgramBufferWrEnMaybe_27; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117579.4]
+  wire  dmiProgramBufferRdEn_27; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117577.4]
+  wire  dmiProgramBufferAccessVec_27; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116570.4]
+  wire  _T_1990; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116700.4]
+  wire  _T_1991; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116701.4]
+  wire  dmiProgramBufferWrEnMaybe_29; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118477.4]
+  wire  dmiProgramBufferRdEn_29; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118475.4]
+  wire  dmiProgramBufferAccessVec_29; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116572.4]
+  wire  _T_1992; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116702.4]
+  wire  dmiProgramBufferWrEnMaybe_30; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118509.4]
+  wire  dmiProgramBufferRdEn_30; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118507.4]
+  wire  dmiProgramBufferAccessVec_30; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116573.4]
+  wire  _T_1993; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116703.4]
+  wire  dmiProgramBufferWrEnMaybe_31; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118541.4]
+  wire  dmiProgramBufferRdEn_31; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118539.4]
+  wire  dmiProgramBufferAccessVec_31; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116574.4]
+  wire  _T_1994; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116704.4]
+  wire  _T_1995; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116705.4]
+  wire  dmiProgramBufferWrEnMaybe_33; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118880.4]
+  wire  dmiProgramBufferRdEn_33; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118878.4]
+  wire  dmiProgramBufferAccessVec_33; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116576.4]
+  wire  _T_1996; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116706.4]
+  wire  dmiProgramBufferWrEnMaybe_34; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118912.4]
+  wire  dmiProgramBufferRdEn_34; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118910.4]
+  wire  dmiProgramBufferAccessVec_34; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116577.4]
+  wire  _T_1997; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116707.4]
+  wire  dmiProgramBufferWrEnMaybe_35; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118944.4]
+  wire  dmiProgramBufferRdEn_35; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118942.4]
+  wire  dmiProgramBufferAccessVec_35; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116578.4]
+  wire  _T_1998; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116708.4]
+  wire  _T_1999; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116709.4]
+  wire  dmiProgramBufferWrEnMaybe_37; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117767.4]
+  wire  dmiProgramBufferRdEn_37; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117765.4]
+  wire  dmiProgramBufferAccessVec_37; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116580.4]
+  wire  _T_2000; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116710.4]
+  wire  dmiProgramBufferWrEnMaybe_38; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117799.4]
+  wire  dmiProgramBufferRdEn_38; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117797.4]
+  wire  dmiProgramBufferAccessVec_38; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116581.4]
+  wire  _T_2001; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116711.4]
+  wire  dmiProgramBufferWrEnMaybe_39; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117831.4]
+  wire  dmiProgramBufferRdEn_39; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117829.4]
+  wire  dmiProgramBufferAccessVec_39; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116582.4]
+  wire  _T_2002; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116712.4]
+  wire  _T_2003; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116713.4]
+  wire  dmiProgramBufferWrEnMaybe_41; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117107.4]
+  wire  dmiProgramBufferRdEn_41; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117105.4]
+  wire  dmiProgramBufferAccessVec_41; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116584.4]
+  wire  _T_2004; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116714.4]
+  wire  dmiProgramBufferWrEnMaybe_42; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117139.4]
+  wire  dmiProgramBufferRdEn_42; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117137.4]
+  wire  dmiProgramBufferAccessVec_42; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116585.4]
+  wire  _T_2005; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116715.4]
+  wire  dmiProgramBufferWrEnMaybe_43; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117171.4]
+  wire  dmiProgramBufferRdEn_43; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117169.4]
+  wire  dmiProgramBufferAccessVec_43; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116586.4]
+  wire  _T_2006; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116716.4]
+  wire  _T_2007; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116717.4]
+  wire  dmiProgramBufferWrEnMaybe_45; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118754.4]
+  wire  dmiProgramBufferRdEn_45; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118752.4]
+  wire  dmiProgramBufferAccessVec_45; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116588.4]
+  wire  _T_2008; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116718.4]
+  wire  dmiProgramBufferWrEnMaybe_46; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118786.4]
+  wire  dmiProgramBufferRdEn_46; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118784.4]
+  wire  dmiProgramBufferAccessVec_46; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116589.4]
+  wire  _T_2009; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116719.4]
+  wire  dmiProgramBufferWrEnMaybe_47; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118818.4]
+  wire  dmiProgramBufferRdEn_47; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118816.4]
+  wire  dmiProgramBufferAccessVec_47; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116590.4]
+  wire  _T_2010; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116720.4]
+  wire  _T_2011; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116721.4]
+  wire  dmiProgramBufferWrEnMaybe_49; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118351.4]
+  wire  dmiProgramBufferRdEn_49; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118349.4]
+  wire  dmiProgramBufferAccessVec_49; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116592.4]
+  wire  _T_2012; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116722.4]
+  wire  dmiProgramBufferWrEnMaybe_50; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118383.4]
+  wire  dmiProgramBufferRdEn_50; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118381.4]
+  wire  dmiProgramBufferAccessVec_50; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116593.4]
+  wire  _T_2013; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116723.4]
+  wire  dmiProgramBufferWrEnMaybe_51; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118415.4]
+  wire  dmiProgramBufferRdEn_51; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118413.4]
+  wire  dmiProgramBufferAccessVec_51; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116594.4]
+  wire  _T_2014; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116724.4]
+  wire  _T_2015; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116725.4]
+  wire  dmiProgramBufferWrEnMaybe_53; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118145.4]
+  wire  dmiProgramBufferRdEn_53; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118143.4]
+  wire  dmiProgramBufferAccessVec_53; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116596.4]
+  wire  _T_2016; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116726.4]
+  wire  dmiProgramBufferWrEnMaybe_54; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118177.4]
+  wire  dmiProgramBufferRdEn_54; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118175.4]
+  wire  dmiProgramBufferAccessVec_54; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116597.4]
+  wire  _T_2017; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116727.4]
+  wire  dmiProgramBufferWrEnMaybe_55; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118209.4]
+  wire  dmiProgramBufferRdEn_55; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118207.4]
+  wire  dmiProgramBufferAccessVec_55; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116598.4]
+  wire  _T_2018; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116728.4]
+  wire  _T_2019; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116729.4]
+  wire  dmiProgramBufferWrEnMaybe_57; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117389.4]
+  wire  dmiProgramBufferRdEn_57; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117387.4]
+  wire  dmiProgramBufferAccessVec_57; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116600.4]
+  wire  _T_2020; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116730.4]
+  wire  dmiProgramBufferWrEnMaybe_58; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117421.4]
+  wire  dmiProgramBufferRdEn_58; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117419.4]
+  wire  dmiProgramBufferAccessVec_58; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116601.4]
+  wire  _T_2021; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116731.4]
+  wire  dmiProgramBufferWrEnMaybe_59; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117453.4]
+  wire  dmiProgramBufferRdEn_59; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117451.4]
+  wire  dmiProgramBufferAccessVec_59; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116602.4]
+  wire  _T_2022; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116732.4]
+  wire  _T_2023; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116733.4]
+  wire  dmiProgramBufferWrEnMaybe_61; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119313.4]
+  wire  dmiProgramBufferRdEn_61; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119311.4]
+  wire  dmiProgramBufferAccessVec_61; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116604.4]
+  wire  _T_2024; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116734.4]
+  wire  dmiProgramBufferWrEnMaybe_62; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119345.4]
+  wire  dmiProgramBufferRdEn_62; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119343.4]
+  wire  dmiProgramBufferAccessVec_62; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116605.4]
+  wire  _T_2025; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116735.4]
+  wire  dmiProgramBufferWrEnMaybe_63; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119377.4]
+  wire  dmiProgramBufferRdEn_63; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119375.4]
+  wire  dmiProgramBufferAccessVec_63; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116606.4]
+  wire  dmiProgramBufferAccess; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116736.4]
+  wire  _T_76305; // @[Debug.scala 951:42:shc.marmotcaravel.MarmotCaravelConfig.fir@191429.4]
+  wire  errorBusy; // @[Debug.scala 950:74:shc.marmotcaravel.MarmotCaravelConfig.fir@191430.4]
+  wire [31:0] ABSTRACTAUTOWrDataVal; // @[Debug.scala 215:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117207.4]
+  wire [11:0] ABSTRACTAUTOWrData_autoexecdata; // @[Debug.scala 582:68:shc.marmotcaravel.MarmotCaravelConfig.fir@116427.4]
+  wire [15:0] ABSTRACTAUTOWrData_autoexecprogbuf; // @[Debug.scala 582:68:shc.marmotcaravel.MarmotCaravelConfig.fir@116431.4]
+  wire  ABSTRACTAUTOWrEn; // @[Debug.scala 589:55:shc.marmotcaravel.MarmotCaravelConfig.fir@116445.4]
+  wire [11:0] _T_1457; // @[Debug.scala 595:71:shc.marmotcaravel.MarmotCaravelConfig.fir@116454.8]
+  wire [23:0] COMMANDWrData_control; // @[Debug.scala 621:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116863.4]
+  reg [7:0] abstractDataMem_0; // @[Debug.scala 641:36:shc.marmotcaravel.MarmotCaravelConfig.fir@116889.4]
+  reg [31:0] _RAND_10;
+  reg [7:0] abstractDataMem_1; // @[Debug.scala 641:36:shc.marmotcaravel.MarmotCaravelConfig.fir@116889.4]
+  reg [31:0] _RAND_11;
+  reg [7:0] abstractDataMem_2; // @[Debug.scala 641:36:shc.marmotcaravel.MarmotCaravelConfig.fir@116889.4]
+  reg [31:0] _RAND_12;
+  reg [7:0] abstractDataMem_3; // @[Debug.scala 641:36:shc.marmotcaravel.MarmotCaravelConfig.fir@116889.4]
+  reg [31:0] _RAND_13;
+  reg [7:0] programBufferMem_0; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116893.4]
+  reg [31:0] _RAND_14;
+  reg [7:0] programBufferMem_1; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116893.4]
+  reg [31:0] _RAND_15;
+  reg [7:0] programBufferMem_2; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116893.4]
+  reg [31:0] _RAND_16;
+  reg [7:0] programBufferMem_3; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116893.4]
+  reg [31:0] _RAND_17;
+  reg [7:0] programBufferMem_4; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116893.4]
+  reg [31:0] _RAND_18;
+  reg [7:0] programBufferMem_5; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116893.4]
+  reg [31:0] _RAND_19;
+  reg [7:0] programBufferMem_6; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116893.4]
+  reg [31:0] _RAND_20;
+  reg [7:0] programBufferMem_7; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116893.4]
+  reg [31:0] _RAND_21;
+  reg [7:0] programBufferMem_8; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116893.4]
+  reg [31:0] _RAND_22;
+  reg [7:0] programBufferMem_9; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116893.4]
+  reg [31:0] _RAND_23;
+  reg [7:0] programBufferMem_10; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116893.4]
+  reg [31:0] _RAND_24;
+  reg [7:0] programBufferMem_11; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116893.4]
+  reg [31:0] _RAND_25;
+  reg [7:0] programBufferMem_12; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116893.4]
+  reg [31:0] _RAND_26;
+  reg [7:0] programBufferMem_13; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116893.4]
+  reg [31:0] _RAND_27;
+  reg [7:0] programBufferMem_14; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116893.4]
+  reg [31:0] _RAND_28;
+  reg [7:0] programBufferMem_15; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116893.4]
+  reg [31:0] _RAND_29;
+  reg [7:0] programBufferMem_16; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116893.4]
+  reg [31:0] _RAND_30;
+  reg [7:0] programBufferMem_17; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116893.4]
+  reg [31:0] _RAND_31;
+  reg [7:0] programBufferMem_18; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116893.4]
+  reg [31:0] _RAND_32;
+  reg [7:0] programBufferMem_19; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116893.4]
+  reg [31:0] _RAND_33;
+  reg [7:0] programBufferMem_20; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116893.4]
+  reg [31:0] _RAND_34;
+  reg [7:0] programBufferMem_21; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116893.4]
+  reg [31:0] _RAND_35;
+  reg [7:0] programBufferMem_22; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116893.4]
+  reg [31:0] _RAND_36;
+  reg [7:0] programBufferMem_23; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116893.4]
+  reg [31:0] _RAND_37;
+  reg [7:0] programBufferMem_24; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116893.4]
+  reg [31:0] _RAND_38;
+  reg [7:0] programBufferMem_25; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116893.4]
+  reg [31:0] _RAND_39;
+  reg [7:0] programBufferMem_26; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116893.4]
+  reg [31:0] _RAND_40;
+  reg [7:0] programBufferMem_27; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116893.4]
+  reg [31:0] _RAND_41;
+  reg [7:0] programBufferMem_28; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116893.4]
+  reg [31:0] _RAND_42;
+  reg [7:0] programBufferMem_29; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116893.4]
+  reg [31:0] _RAND_43;
+  reg [7:0] programBufferMem_30; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116893.4]
+  reg [31:0] _RAND_44;
+  reg [7:0] programBufferMem_31; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116893.4]
+  reg [31:0] _RAND_45;
+  reg [7:0] programBufferMem_32; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116893.4]
+  reg [31:0] _RAND_46;
+  reg [7:0] programBufferMem_33; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116893.4]
+  reg [31:0] _RAND_47;
+  reg [7:0] programBufferMem_34; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116893.4]
+  reg [31:0] _RAND_48;
+  reg [7:0] programBufferMem_35; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116893.4]
+  reg [31:0] _RAND_49;
+  reg [7:0] programBufferMem_36; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116893.4]
+  reg [31:0] _RAND_50;
+  reg [7:0] programBufferMem_37; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116893.4]
+  reg [31:0] _RAND_51;
+  reg [7:0] programBufferMem_38; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116893.4]
+  reg [31:0] _RAND_52;
+  reg [7:0] programBufferMem_39; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116893.4]
+  reg [31:0] _RAND_53;
+  reg [7:0] programBufferMem_40; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116893.4]
+  reg [31:0] _RAND_54;
+  reg [7:0] programBufferMem_41; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116893.4]
+  reg [31:0] _RAND_55;
+  reg [7:0] programBufferMem_42; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116893.4]
+  reg [31:0] _RAND_56;
+  reg [7:0] programBufferMem_43; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116893.4]
+  reg [31:0] _RAND_57;
+  reg [7:0] programBufferMem_44; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116893.4]
+  reg [31:0] _RAND_58;
+  reg [7:0] programBufferMem_45; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116893.4]
+  reg [31:0] _RAND_59;
+  reg [7:0] programBufferMem_46; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116893.4]
+  reg [31:0] _RAND_60;
+  reg [7:0] programBufferMem_47; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116893.4]
+  reg [31:0] _RAND_61;
+  reg [7:0] programBufferMem_48; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116893.4]
+  reg [31:0] _RAND_62;
+  reg [7:0] programBufferMem_49; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116893.4]
+  reg [31:0] _RAND_63;
+  reg [7:0] programBufferMem_50; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116893.4]
+  reg [31:0] _RAND_64;
+  reg [7:0] programBufferMem_51; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116893.4]
+  reg [31:0] _RAND_65;
+  reg [7:0] programBufferMem_52; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116893.4]
+  reg [31:0] _RAND_66;
+  reg [7:0] programBufferMem_53; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116893.4]
+  reg [31:0] _RAND_67;
+  reg [7:0] programBufferMem_54; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116893.4]
+  reg [31:0] _RAND_68;
+  reg [7:0] programBufferMem_55; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116893.4]
+  reg [31:0] _RAND_69;
+  reg [7:0] programBufferMem_56; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116893.4]
+  reg [31:0] _RAND_70;
+  reg [7:0] programBufferMem_57; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116893.4]
+  reg [31:0] _RAND_71;
+  reg [7:0] programBufferMem_58; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116893.4]
+  reg [31:0] _RAND_72;
+  reg [7:0] programBufferMem_59; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116893.4]
+  reg [31:0] _RAND_73;
+  reg [7:0] programBufferMem_60; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116893.4]
+  reg [31:0] _RAND_74;
+  reg [7:0] programBufferMem_61; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116893.4]
+  reg [31:0] _RAND_75;
+  reg [7:0] programBufferMem_62; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116893.4]
+  reg [31:0] _RAND_76;
+  reg [7:0] programBufferMem_63; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116893.4]
+  reg [31:0] _RAND_77;
+  wire [9:0] hartHaltedId; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@151097.4]
+  wire  _T_2673; // @[Debug.scala 660:60:shc.marmotcaravel.MarmotCaravelConfig.fir@116904.8]
+  wire  _T_60400; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@168673.4]
+  wire  _T_72033; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@185528.4]
+  wire  _T_72034; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@185529.4]
+  wire  hartResumingWrEn; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@155399.4]
+  wire  _T_60398; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@168671.4]
+  wire  _T_72021; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@185512.4]
+  wire  _T_72022; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@185513.4]
+  wire  hartHaltedWrEn; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@151096.4]
+  wire [1:0] _T_2683; // @[Debug.scala 693:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116930.4]
+  wire [1:0] _T_2684; // @[Debug.scala 693:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116931.4]
+  wire [2:0] _T_2685; // @[Debug.scala 693:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116932.4]
+  wire [4:0] _T_2686; // @[Debug.scala 693:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116933.4]
+  wire [12:0] _T_2687; // @[Debug.scala 693:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116934.4]
+  wire [1:0] _T_2688; // @[Debug.scala 693:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116935.4]
+  wire [1:0] _T_2689; // @[Debug.scala 693:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116936.4]
+  wire [2:0] _T_2690; // @[Debug.scala 693:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116937.4]
+  wire [4:0] _T_2691; // @[Debug.scala 693:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116938.4]
+  wire [1:0] _T_2692; // @[Debug.scala 693:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116939.4]
+  wire [13:0] _T_2695; // @[Debug.scala 693:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116942.4]
+  wire [18:0] _T_2696; // @[Debug.scala 693:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116943.4]
+  wire [31:0] _T_2697; // @[Debug.scala 693:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116944.4]
+  wire [3:0] _T_2704; // @[Debug.scala 698:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116951.4]
+  wire [11:0] _T_2705; // @[Debug.scala 698:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116952.4]
+  wire  abstractCommandBusy; // @[Debug.scala 939:42:shc.marmotcaravel.MarmotCaravelConfig.fir@191405.4]
+  wire [11:0] _T_2706; // @[Debug.scala 698:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116953.4]
+  wire [19:0] _T_2708; // @[Debug.scala 698:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116955.4]
+  wire [31:0] _T_2709; // @[Debug.scala 698:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116956.4]
+  wire [19:0] _T_2710; // @[Debug.scala 700:75:shc.marmotcaravel.MarmotCaravelConfig.fir@116957.4]
+  wire [31:0] _T_2711; // @[Debug.scala 700:75:shc.marmotcaravel.MarmotCaravelConfig.fir@116958.4]
+  wire [2:0] _T_2722; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@116968.4]
+  wire [7:0] _T_3156; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117079.4]
+  wire [7:0] _T_3181; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117109.4]
+  wire [15:0] _T_3191; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@117123.4]
+  wire [7:0] _T_3208; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117141.4]
+  wire [23:0] _T_3218; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@117155.4]
+  wire [7:0] _T_3235; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117173.4]
+  wire [31:0] _T_3245; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@117187.4]
+  wire [15:0] _T_3322; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@117279.4]
+  wire [23:0] _T_3349; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@117311.4]
+  wire [31:0] _T_3376; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@117343.4]
+  wire [15:0] _T_3428; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@117405.4]
+  wire [23:0] _T_3455; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@117437.4]
+  wire [31:0] _T_3482; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@117469.4]
+  wire [15:0] _T_3534; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@117531.4]
+  wire [23:0] _T_3561; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@117563.4]
+  wire [31:0] _T_3588; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@117595.4]
+  wire [15:0] _T_3640; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@117657.4]
+  wire [23:0] _T_3667; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@117689.4]
+  wire [31:0] _T_3694; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@117721.4]
+  wire [15:0] _T_3746; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@117783.4]
+  wire [23:0] _T_3773; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@117815.4]
+  wire [31:0] _T_3800; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@117847.4]
+  wire [15:0] _T_3852; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@117909.4]
+  wire [23:0] _T_3879; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@117941.4]
+  wire [31:0] _T_3906; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@117973.4]
+  wire [15:0] _T_3958; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@118035.4]
+  wire [23:0] _T_3985; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@118067.4]
+  wire [31:0] _T_4012; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@118099.4]
+  wire [15:0] _T_4064; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@118161.4]
+  wire [23:0] _T_4091; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@118193.4]
+  wire [31:0] _T_4118; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@118225.4]
+  wire [15:0] _T_4245; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@118367.4]
+  wire [23:0] _T_4272; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@118399.4]
+  wire [31:0] _T_4299; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@118431.4]
+  wire [15:0] _T_4351; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@118493.4]
+  wire [23:0] _T_4378; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@118525.4]
+  wire [31:0] _T_4405; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@118557.4]
+  wire [15:0] _T_4457; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@118619.4]
+  wire [23:0] _T_4484; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@118651.4]
+  wire [31:0] _T_4511; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@118683.4]
+  wire [15:0] _T_4588; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@118770.4]
+  wire [23:0] _T_4615; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@118802.4]
+  wire [31:0] _T_4642; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@118834.4]
+  wire [15:0] _T_4694; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@118896.4]
+  wire [23:0] _T_4721; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@118928.4]
+  wire [31:0] _T_4748; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@118960.4]
+  wire [15:0] _T_4825; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@119052.4]
+  wire [23:0] _T_4852; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@119084.4]
+  wire [31:0] _T_4879; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@119116.4]
+  wire [15:0] _T_4956; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@119203.4]
+  wire [23:0] _T_4983; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@119235.4]
+  wire [31:0] _T_5010; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@119267.4]
+  wire [15:0] _T_5062; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@119329.4]
+  wire [23:0] _T_5089; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@119361.4]
+  wire [31:0] _T_5116; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@119393.4]
+  wire  _GEN_252; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120880.4]
+  wire  _GEN_253; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120880.4]
+  wire  _GEN_254; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120880.4]
+  wire  _GEN_255; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120880.4]
+  wire  _GEN_256; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120880.4]
+  wire  _GEN_257; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120880.4]
+  wire  _GEN_258; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120880.4]
+  wire  _GEN_259; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120880.4]
+  wire  _GEN_260; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120880.4]
+  wire  _GEN_261; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120880.4]
+  wire  _GEN_262; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120880.4]
+  wire  _GEN_263; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120880.4]
+  wire  _GEN_264; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120880.4]
+  wire  _GEN_265; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120880.4]
+  wire  _GEN_266; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120880.4]
+  wire  _GEN_267; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120880.4]
+  wire  _GEN_268; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120880.4]
+  wire  _GEN_269; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120880.4]
+  wire  _GEN_270; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120880.4]
+  wire  _GEN_271; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120880.4]
+  wire  _GEN_272; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120880.4]
+  wire  _GEN_273; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120880.4]
+  wire  _GEN_274; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120880.4]
+  wire  _GEN_275; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120880.4]
+  wire  _GEN_276; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120880.4]
+  wire  _GEN_277; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120880.4]
+  wire  _GEN_278; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120880.4]
+  wire  _GEN_279; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120880.4]
+  wire  _GEN_280; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120880.4]
+  wire  _GEN_281; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120880.4]
+  wire  _GEN_282; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120880.4]
+  wire [31:0] _GEN_284; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120916.4]
+  wire [31:0] _GEN_285; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120916.4]
+  wire [31:0] _GEN_286; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120916.4]
+  wire [31:0] _GEN_287; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120916.4]
+  wire [31:0] _GEN_288; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120916.4]
+  wire [31:0] _GEN_289; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120916.4]
+  wire [31:0] _GEN_290; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120916.4]
+  wire [31:0] _GEN_291; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120916.4]
+  wire [31:0] _GEN_292; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120916.4]
+  wire [31:0] _GEN_293; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120916.4]
+  wire [31:0] _GEN_294; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120916.4]
+  wire [31:0] _GEN_295; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120916.4]
+  wire [31:0] _GEN_296; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120916.4]
+  wire [31:0] _GEN_297; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120916.4]
+  wire [31:0] _GEN_298; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120916.4]
+  wire [31:0] _GEN_299; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120916.4]
+  wire [31:0] _GEN_300; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120916.4]
+  wire [31:0] _GEN_301; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120916.4]
+  wire [31:0] _GEN_302; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120916.4]
+  wire [31:0] _GEN_303; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120916.4]
+  wire [31:0] _GEN_304; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120916.4]
+  wire [31:0] _GEN_305; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120916.4]
+  wire [31:0] _GEN_306; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120916.4]
+  wire [31:0] _GEN_307; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120916.4]
+  wire [31:0] _GEN_308; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120916.4]
+  wire [31:0] _GEN_309; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120916.4]
+  wire [31:0] _GEN_310; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120916.4]
+  wire [31:0] _GEN_311; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120916.4]
+  wire [31:0] _GEN_312; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120916.4]
+  wire [31:0] _GEN_313; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120916.4]
+  wire [31:0] _GEN_314; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120916.4]
+  wire  _T_6243; // @[Debug.scala 725:41:shc.marmotcaravel.MarmotCaravelConfig.fir@120943.4]
+  wire  _T_6244; // @[Debug.scala 725:41:shc.marmotcaravel.MarmotCaravelConfig.fir@120947.4]
+  wire  _T_6245; // @[Debug.scala 725:41:shc.marmotcaravel.MarmotCaravelConfig.fir@120951.4]
+  wire  _T_6246; // @[Debug.scala 725:41:shc.marmotcaravel.MarmotCaravelConfig.fir@120955.4]
+  wire  _T_6247; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@120959.4]
+  wire  _T_6248; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@120963.4]
+  wire  _T_6249; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@120967.4]
+  wire  _T_6250; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@120971.4]
+  wire  _T_6251; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@120975.4]
+  wire  _T_6252; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@120979.4]
+  wire  _T_6253; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@120983.4]
+  wire  _T_6254; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@120987.4]
+  wire  _T_6255; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@120991.4]
+  wire  _T_6256; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@120995.4]
+  wire  _T_6257; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@120999.4]
+  wire  _T_6258; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121003.4]
+  wire  _T_6259; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121007.4]
+  wire  _T_6260; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121011.4]
+  wire  _T_6261; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121015.4]
+  wire  _T_6262; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121019.4]
+  wire  _T_6263; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121023.4]
+  wire  _T_6264; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121027.4]
+  wire  _T_6265; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121031.4]
+  wire  _T_6266; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121035.4]
+  wire  _T_6267; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121039.4]
+  wire  _T_6268; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121043.4]
+  wire  _T_6269; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121047.4]
+  wire  _T_6270; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121051.4]
+  wire  _T_6271; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121055.4]
+  wire  _T_6272; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121059.4]
+  wire  _T_6273; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121063.4]
+  wire  _T_6274; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121067.4]
+  wire  _T_6275; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121071.4]
+  wire  _T_6276; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121075.4]
+  wire  _T_6277; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121079.4]
+  wire  _T_6278; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121083.4]
+  wire  _T_6279; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121087.4]
+  wire  _T_6280; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121091.4]
+  wire  _T_6281; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121095.4]
+  wire  _T_6282; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121099.4]
+  wire  _T_6283; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121103.4]
+  wire  _T_6284; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121107.4]
+  wire  _T_6285; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121111.4]
+  wire  _T_6286; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121115.4]
+  wire  _T_6287; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121119.4]
+  wire  _T_6288; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121123.4]
+  wire  _T_6289; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121127.4]
+  wire  _T_6290; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121131.4]
+  wire  _T_6291; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121135.4]
+  wire  _T_6292; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121139.4]
+  wire  _T_6293; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121143.4]
+  wire  _T_6294; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121147.4]
+  wire  _T_6295; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121151.4]
+  wire  _T_6296; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121155.4]
+  wire  _T_6297; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121159.4]
+  wire  _T_6298; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121163.4]
+  wire  _T_6299; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121167.4]
+  wire  _T_6300; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121171.4]
+  wire  _T_6301; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121175.4]
+  wire  _T_6302; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121179.4]
+  wire  _T_6303; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121183.4]
+  wire  _T_6304; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121187.4]
+  wire  _T_6305; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121191.4]
+  wire  _T_6306; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121195.4]
+  wire  _T_6307; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121199.4]
+  wire  _T_6308; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121203.4]
+  wire  _T_6309; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121207.4]
+  wire  _T_6310; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121211.4]
+  reg  goReg; // @[Debug.scala 754:27:shc.marmotcaravel.MarmotCaravelConfig.fir@121215.4]
+  reg [31:0] _RAND_78;
+  wire  _T_6518; // @[Debug.scala 766:15:shc.marmotcaravel.MarmotCaravelConfig.fir@121333.10]
+  wire  _T_6519; // @[Debug.scala 766:15:shc.marmotcaravel.MarmotCaravelConfig.fir@121334.10]
+  wire  _T_60399; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@168672.4]
+  wire  _T_72027; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@185520.4]
+  wire  _T_72028; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@185521.4]
+  wire  hartGoingWrEn; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@146381.4]
+  wire  _GEN_5658; // @[Debug.scala 1004:43:shc.marmotcaravel.MarmotCaravelConfig.fir@191491.10]
+  wire  _GEN_5662; // @[Debug.scala 1001:38:shc.marmotcaravel.MarmotCaravelConfig.fir@191486.8]
+  wire  _GEN_5675; // @[Debug.scala 994:59:shc.marmotcaravel.MarmotCaravelConfig.fir@191485.6]
+  wire  goAbstract; // @[Debug.scala 986:47:shc.marmotcaravel.MarmotCaravelConfig.fir@191468.4]
+  wire  flags_0_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_1_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_2_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_3_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_4_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_5_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_6_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_7_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_8_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_9_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_10_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_11_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_12_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_13_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_14_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_15_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_16_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_17_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_18_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_19_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_20_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_21_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_22_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_23_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_24_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_25_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_26_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_27_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_28_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_29_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_30_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_31_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_32_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_33_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_34_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_35_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_36_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_37_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_38_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_39_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_40_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_41_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_42_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_43_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_44_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_45_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_46_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_47_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_48_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_49_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_50_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_51_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_52_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_53_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_54_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_55_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_56_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_57_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_58_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_59_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_60_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_61_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_62_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_63_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_64_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_65_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_66_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_67_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_68_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_69_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_70_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_71_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_72_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_73_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_74_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_75_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_76_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_77_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_78_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_79_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_80_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_81_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_82_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_83_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_84_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_85_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_86_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_87_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_88_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_89_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_90_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_91_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_92_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_93_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_94_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_95_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_96_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_97_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_98_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_99_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_100_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_101_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_102_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_103_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_104_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_105_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_106_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_107_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_108_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_109_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_110_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_111_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_112_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_113_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_114_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_115_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_116_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_117_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_118_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_119_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_120_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_121_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_122_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_123_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_124_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_125_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_126_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_127_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_128_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_129_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_130_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_131_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_132_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_133_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_134_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_135_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_136_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_137_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_138_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_139_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_140_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_141_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_142_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_143_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_144_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_145_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_146_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_147_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_148_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_149_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_150_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_151_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_152_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_153_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_154_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_155_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_156_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_157_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_158_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_159_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_160_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_161_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_162_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_163_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_164_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_165_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_166_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_167_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_168_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_169_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_170_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_171_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_172_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_173_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_174_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_175_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_176_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_177_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_178_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_179_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_180_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_181_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_182_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_183_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_184_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_185_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_186_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_187_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_188_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_189_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_190_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_191_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_192_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_193_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_194_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_195_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_196_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_197_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_198_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_199_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_200_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_201_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_202_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_203_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_204_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_205_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_206_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_207_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_208_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_209_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_210_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_211_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_212_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_213_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_214_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_215_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_216_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_217_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_218_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_219_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_220_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_221_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_222_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_223_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_224_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_225_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_226_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_227_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_228_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_229_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_230_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_231_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_232_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_233_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_234_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_235_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_236_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_237_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_238_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_239_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_240_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_241_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_242_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_243_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_244_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_245_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_246_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_247_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_248_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_249_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_250_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_251_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_252_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_253_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_254_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_255_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_256_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_257_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_258_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_259_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_260_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_261_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_262_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_263_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_264_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_265_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_266_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_267_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_268_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_269_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_270_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_271_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_272_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_273_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_274_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_275_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_276_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_277_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_278_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_279_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_280_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_281_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_282_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_283_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_284_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_285_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_286_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_287_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_288_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_289_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_290_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_291_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_292_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_293_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_294_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_295_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_296_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_297_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_298_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_299_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_300_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_301_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_302_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_303_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_304_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_305_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_306_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_307_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_308_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_309_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_310_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_311_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_312_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_313_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_314_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_315_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_316_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_317_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_318_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_319_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_320_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_321_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_322_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_323_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_324_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_325_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_326_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_327_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_328_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_329_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_330_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_331_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_332_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_333_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_334_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_335_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_336_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_337_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_338_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_339_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_340_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_341_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_342_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_343_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_344_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_345_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_346_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_347_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_348_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_349_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_350_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_351_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_352_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_353_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_354_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_355_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_356_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_357_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_358_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_359_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_360_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_361_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_362_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_363_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_364_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_365_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_366_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_367_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_368_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_369_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_370_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_371_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_372_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_373_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_374_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_375_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_376_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_377_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_378_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_379_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_380_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_381_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_382_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_383_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_384_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_385_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_386_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_387_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_388_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_389_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_390_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_391_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_392_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_393_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_394_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_395_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_396_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_397_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_398_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_399_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_400_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_401_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_402_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_403_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_404_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_405_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_406_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_407_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_408_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_409_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_410_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_411_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_412_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_413_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_414_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_415_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_416_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_417_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_418_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_419_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_420_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_421_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_422_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_423_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_424_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_425_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_426_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_427_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_428_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_429_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_430_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_431_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_432_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_433_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_434_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_435_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_436_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_437_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_438_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_439_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_440_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_441_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_442_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_443_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_444_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_445_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_446_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_447_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_448_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_449_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_450_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_451_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_452_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_453_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_454_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_455_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_456_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_457_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_458_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_459_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_460_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_461_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_462_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_463_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_464_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_465_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_466_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_467_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_468_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_469_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_470_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_471_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_472_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_473_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_474_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_475_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_476_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_477_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_478_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_479_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_480_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_481_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_482_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_483_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_484_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_485_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_486_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_487_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_488_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_489_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_490_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_491_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_492_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_493_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_494_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_495_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_496_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_497_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_498_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_499_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_500_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_501_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_502_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_503_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_504_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_505_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_506_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_507_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_508_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_509_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_510_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_511_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_512_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_513_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_514_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_515_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_516_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_517_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_518_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_519_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_520_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_521_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_522_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_523_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_524_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_525_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_526_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_527_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_528_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_529_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_530_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_531_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_532_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_533_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_534_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_535_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_536_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_537_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_538_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_539_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_540_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_541_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_542_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_543_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_544_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_545_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_546_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_547_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_548_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_549_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_550_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_551_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_552_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_553_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_554_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_555_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_556_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_557_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_558_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_559_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_560_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_561_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_562_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_563_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_564_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_565_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_566_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_567_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_568_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_569_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_570_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_571_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_572_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_573_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_574_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_575_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_576_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_577_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_578_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_579_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_580_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_581_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_582_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_583_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_584_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_585_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_586_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_587_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_588_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_589_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_590_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_591_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_592_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_593_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_594_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_595_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_596_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_597_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_598_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_599_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_600_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_601_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_602_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_603_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_604_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_605_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_606_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_607_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_608_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_609_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_610_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_611_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_612_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_613_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_614_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_615_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_616_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_617_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_618_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_619_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_620_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_621_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_622_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_623_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_624_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_625_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_626_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_627_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_628_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_629_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_630_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_631_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_632_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_633_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_634_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_635_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_636_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_637_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_638_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_639_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_640_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_641_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_642_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_643_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_644_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_645_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_646_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_647_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_648_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_649_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_650_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_651_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_652_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_653_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_654_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_655_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_656_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_657_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_658_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_659_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_660_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_661_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_662_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_663_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_664_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_665_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_666_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_667_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_668_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_669_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_670_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_671_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_672_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_673_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_674_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_675_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_676_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_677_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_678_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_679_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_680_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_681_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_682_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_683_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_684_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_685_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_686_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_687_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_688_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_689_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_690_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_691_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_692_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_693_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_694_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_695_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_696_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_697_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_698_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_699_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_700_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_701_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_702_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_703_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_704_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_705_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_706_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_707_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_708_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_709_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_710_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_711_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_712_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_713_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_714_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_715_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_716_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_717_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_718_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_719_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_720_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_721_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_722_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_723_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_724_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_725_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_726_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_727_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_728_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_729_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_730_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_731_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_732_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_733_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_734_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_735_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_736_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_737_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_738_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_739_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_740_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_741_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_742_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_743_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_744_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_745_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_746_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_747_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_748_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_749_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_750_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_751_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_752_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_753_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_754_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_755_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_756_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_757_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_758_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_759_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_760_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_761_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_762_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_763_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_764_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_765_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_766_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_767_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_768_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_769_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_770_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_771_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_772_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_773_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_774_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_775_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_776_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_777_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_778_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_779_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_780_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_781_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_782_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_783_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_784_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_785_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_786_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_787_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_788_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_789_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_790_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_791_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_792_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_793_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_794_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_795_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_796_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_797_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_798_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_799_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_800_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_801_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_802_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_803_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_804_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_805_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_806_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_807_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_808_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_809_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_810_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_811_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_812_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_813_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_814_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_815_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_816_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_817_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_818_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_819_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_820_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_821_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_822_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_823_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_824_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_825_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_826_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_827_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_828_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_829_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_830_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_831_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_832_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_833_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_834_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_835_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_836_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_837_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_838_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_839_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_840_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_841_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_842_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_843_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_844_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_845_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_846_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_847_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_848_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_849_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_850_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_851_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_852_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_853_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_854_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_855_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_856_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_857_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_858_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_859_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_860_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_861_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_862_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_863_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_864_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_865_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_866_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_867_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_868_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_869_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_870_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_871_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_872_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_873_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_874_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_875_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_876_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_877_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_878_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_879_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_880_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_881_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_882_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_883_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_884_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_885_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_886_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_887_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_888_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_889_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_890_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_891_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_892_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_893_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_894_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_895_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_896_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_897_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_898_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_899_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_900_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_901_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_902_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_903_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_904_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_905_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_906_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_907_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_908_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_909_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_910_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_911_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_912_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_913_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_914_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_915_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_916_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_917_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_918_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_919_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_920_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_921_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_922_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_923_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_924_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_925_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_926_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_927_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_928_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_929_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_930_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_931_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_932_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_933_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_934_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_935_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_936_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_937_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_938_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_939_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_940_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_941_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_942_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_943_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_944_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_945_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_946_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_947_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_948_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_949_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_950_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_951_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_952_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_953_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_954_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_955_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_956_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_957_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_958_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_959_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_960_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_961_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_962_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_963_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_964_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_965_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_966_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_967_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_968_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_969_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_970_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_971_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_972_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_973_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_974_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_975_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_976_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_977_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_978_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_979_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_980_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_981_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_982_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_983_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_984_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_985_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_986_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_987_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_988_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_989_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_990_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_991_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_992_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_993_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_994_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_995_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_996_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_997_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_998_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_999_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_1000_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_1001_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_1002_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_1003_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_1004_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_1005_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_1006_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_1007_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_1008_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_1009_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_1010_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_1011_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_1012_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_1013_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_1014_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_1015_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_1016_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_1017_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_1018_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_1019_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_1020_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_1021_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_1022_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  flags_1023_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  wire  accessRegisterCommandReg_postexec; // @[Debug.scala 791:86:shc.marmotcaravel.MarmotCaravelConfig.fir@133687.4]
+  wire [2:0] accessRegisterCommandReg_size; // @[Debug.scala 791:86:shc.marmotcaravel.MarmotCaravelConfig.fir@133691.4]
+  reg [31:0] abstractGeneratedMem_0; // @[Debug.scala 834:35:shc.marmotcaravel.MarmotCaravelConfig.fir@133700.4]
+  reg [31:0] _RAND_79;
+  reg [31:0] abstractGeneratedMem_1; // @[Debug.scala 834:35:shc.marmotcaravel.MarmotCaravelConfig.fir@133700.4]
+  reg [31:0] _RAND_80;
+  wire [15:0] _T_20934; // @[Debug.scala 840:66:shc.marmotcaravel.MarmotCaravelConfig.fir@133723.4]
+  wire [4:0] abstractGeneratedI_rd; // @[Debug.scala 835:34:shc.marmotcaravel.MarmotCaravelConfig.fir@133701.4 Debug.scala 840:31:shc.marmotcaravel.MarmotCaravelConfig.fir@133724.4]
+  wire [11:0] _T_20957; // @[Debug.scala 861:36:shc.marmotcaravel.MarmotCaravelConfig.fir@133772.6]
+  wire [19:0] _T_20959; // @[Debug.scala 861:36:shc.marmotcaravel.MarmotCaravelConfig.fir@133774.6]
+  wire [31:0] _T_20960; // @[Debug.scala 861:36:shc.marmotcaravel.MarmotCaravelConfig.fir@133775.6]
+  wire [7:0] _T_20961; // @[Debug.scala 863:36:shc.marmotcaravel.MarmotCaravelConfig.fir@133776.6]
+  wire [14:0] _T_20962; // @[Debug.scala 863:36:shc.marmotcaravel.MarmotCaravelConfig.fir@133777.6]
+  wire [11:0] _T_20963; // @[Debug.scala 863:36:shc.marmotcaravel.MarmotCaravelConfig.fir@133778.6]
+  wire [16:0] _T_20964; // @[Debug.scala 863:36:shc.marmotcaravel.MarmotCaravelConfig.fir@133779.6]
+  wire [31:0] _T_20965; // @[Debug.scala 863:36:shc.marmotcaravel.MarmotCaravelConfig.fir@133780.6]
+  wire [6:0] _T_20982; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133800.4]
+  wire [7:0] _T_20983; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133801.4]
+  wire [7:0] _T_20985; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133803.4]
+  wire [7:0] _T_20987; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133805.4]
+  wire [7:0] _T_20989; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133807.4]
+  wire [7:0] _T_20991; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133809.4]
+  wire [7:0] _T_20993; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133811.4]
+  wire [7:0] _T_20995; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133813.4]
+  wire [7:0] _T_20997; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133815.4]
+  wire [7:0] _T_20999; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133817.4]
+  wire [7:0] _T_21001; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133819.4]
+  wire [7:0] _T_21003; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133821.4]
+  wire [7:0] _T_21005; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133823.4]
+  wire [7:0] _T_21007; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133825.4]
+  wire [7:0] _T_21009; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133827.4]
+  wire [7:0] _T_21011; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133829.4]
+  wire [7:0] _T_21013; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133831.4]
+  wire [7:0] _T_21015; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133833.4]
+  wire [7:0] _T_21017; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133835.4]
+  wire [7:0] _T_21019; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133837.4]
+  wire [7:0] _T_21021; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133839.4]
+  wire [7:0] _T_21023; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133841.4]
+  wire [7:0] _T_21025; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133843.4]
+  wire [7:0] _T_21027; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133845.4]
+  wire [7:0] _T_21029; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133847.4]
+  wire [7:0] _T_21031; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133849.4]
+  wire [7:0] _T_21033; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133851.4]
+  wire [7:0] _T_21035; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133853.4]
+  wire [7:0] _T_21037; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133855.4]
+  wire [7:0] _T_21039; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133857.4]
+  wire [7:0] _T_21041; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133859.4]
+  wire [7:0] _T_21043; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133861.4]
+  wire [7:0] _T_21045; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133863.4]
+  wire [7:0] _T_21047; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133865.4]
+  wire [7:0] _T_21049; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133867.4]
+  wire [7:0] _T_21051; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133869.4]
+  wire [7:0] _T_21053; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133871.4]
+  wire [7:0] _T_21055; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133873.4]
+  wire [7:0] _T_21057; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133875.4]
+  wire [7:0] _T_21059; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133877.4]
+  wire [7:0] _T_21061; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133879.4]
+  wire [7:0] _T_21063; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133881.4]
+  wire [7:0] _T_21065; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133883.4]
+  wire [7:0] _T_21067; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133885.4]
+  wire [7:0] _T_21069; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133887.4]
+  wire [7:0] _T_21071; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133889.4]
+  wire [7:0] _T_21073; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133891.4]
+  wire [7:0] _T_21075; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133893.4]
+  wire [7:0] _T_21077; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133895.4]
+  wire [7:0] _T_21079; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133897.4]
+  wire [7:0] _T_21081; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133899.4]
+  wire [7:0] _T_21083; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133901.4]
+  wire [7:0] _T_21085; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133903.4]
+  wire [7:0] _T_21087; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133905.4]
+  wire [7:0] _T_21089; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133907.4]
+  wire [7:0] _T_21091; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133909.4]
+  wire [7:0] _T_21093; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133911.4]
+  wire [7:0] _T_21095; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133913.4]
+  wire [7:0] _T_21097; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133915.4]
+  wire [7:0] _T_21099; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133917.4]
+  wire [7:0] _T_21101; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133919.4]
+  wire [7:0] _T_21103; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133921.4]
+  wire [7:0] _T_21105; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133923.4]
+  wire [7:0] _T_21107; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133925.4]
+  wire [7:0] _T_21109; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133927.4]
+  wire [7:0] _T_21111; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133929.4]
+  wire [7:0] _T_21113; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133931.4]
+  wire [7:0] _T_21115; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133933.4]
+  wire [7:0] _T_21117; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133935.4]
+  wire [7:0] _T_21119; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133937.4]
+  wire [7:0] _T_21121; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133939.4]
+  wire [7:0] _T_21123; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133941.4]
+  wire [7:0] _T_21125; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133943.4]
+  wire [7:0] _T_21127; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133945.4]
+  wire [7:0] _T_21129; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133947.4]
+  wire [7:0] _T_21131; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133949.4]
+  wire [7:0] _T_21133; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133951.4]
+  wire [7:0] _T_21135; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133953.4]
+  wire [7:0] _T_21137; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133955.4]
+  wire [7:0] _T_21139; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133957.4]
+  wire [7:0] _T_21141; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133959.4]
+  wire [7:0] _T_21143; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133961.4]
+  wire [7:0] _T_21145; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133963.4]
+  wire [7:0] _T_21147; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133965.4]
+  wire [7:0] _T_21149; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133967.4]
+  wire [7:0] _T_21151; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133969.4]
+  wire [7:0] _T_21153; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133971.4]
+  wire [7:0] _T_21155; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133973.4]
+  wire [7:0] _T_21157; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133975.4]
+  wire [7:0] _T_21159; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133977.4]
+  wire [7:0] _T_21161; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133979.4]
+  wire [7:0] _T_21163; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133981.4]
+  wire [7:0] _T_21165; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133983.4]
+  wire [7:0] _T_21167; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133985.4]
+  wire [7:0] _T_21169; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133987.4]
+  wire [7:0] _T_21171; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133989.4]
+  wire [7:0] _T_21173; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133991.4]
+  wire [7:0] _T_21175; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133993.4]
+  wire [7:0] _T_21177; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133995.4]
+  wire [7:0] _T_21179; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133997.4]
+  wire [7:0] _T_21181; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133999.4]
+  wire [7:0] _T_21183; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134001.4]
+  wire [7:0] _T_21185; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134003.4]
+  wire [7:0] _T_21187; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134005.4]
+  wire [7:0] _T_21189; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134007.4]
+  wire [7:0] _T_21191; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134009.4]
+  wire [7:0] _T_21193; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134011.4]
+  wire [7:0] _T_21195; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134013.4]
+  wire [7:0] _T_21197; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134015.4]
+  wire [7:0] _T_21199; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134017.4]
+  wire [7:0] _T_21201; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134019.4]
+  wire [7:0] _T_21203; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134021.4]
+  wire [7:0] _T_21205; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134023.4]
+  wire [7:0] _T_21207; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134025.4]
+  wire [7:0] _T_21209; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134027.4]
+  wire [7:0] _T_21211; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134029.4]
+  wire [7:0] _T_21213; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134031.4]
+  wire [7:0] _T_21215; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134033.4]
+  wire [7:0] _T_21217; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134035.4]
+  wire [7:0] _T_21219; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134037.4]
+  wire [7:0] _T_21221; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134039.4]
+  wire [7:0] _T_21223; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134041.4]
+  wire [7:0] _T_21225; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134043.4]
+  wire [7:0] _T_21227; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134045.4]
+  wire [7:0] _T_21229; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134047.4]
+  wire [7:0] _T_21231; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134049.4]
+  wire [7:0] _T_21233; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134051.4]
+  wire [7:0] _T_21235; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134053.4]
+  wire [7:0] _T_21237; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134055.4]
+  wire [7:0] _T_21239; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134057.4]
+  wire [7:0] _T_21241; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134059.4]
+  wire [7:0] _T_21243; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134061.4]
+  wire [7:0] _T_21245; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134063.4]
+  wire [7:0] _T_21247; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134065.4]
+  wire [7:0] _T_21249; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134067.4]
+  wire [7:0] _T_21251; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134069.4]
+  wire [7:0] _T_21253; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134071.4]
+  wire [7:0] _T_21255; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134073.4]
+  wire [7:0] _T_21257; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134075.4]
+  wire [7:0] _T_21259; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134077.4]
+  wire [7:0] _T_21261; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134079.4]
+  wire [7:0] _T_21263; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134081.4]
+  wire [7:0] _T_21265; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134083.4]
+  wire [7:0] _T_21267; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134085.4]
+  wire [7:0] _T_21269; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134087.4]
+  wire [7:0] _T_21271; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134089.4]
+  wire [7:0] _T_21273; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134091.4]
+  wire [7:0] _T_21275; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134093.4]
+  wire [7:0] _T_21277; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134095.4]
+  wire [7:0] _T_21279; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134097.4]
+  wire [7:0] _T_21281; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134099.4]
+  wire [7:0] _T_21283; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134101.4]
+  wire [7:0] _T_21285; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134103.4]
+  wire [7:0] _T_21287; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134105.4]
+  wire [7:0] _T_21289; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134107.4]
+  wire [7:0] _T_21291; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134109.4]
+  wire [7:0] _T_21293; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134111.4]
+  wire [7:0] _T_21295; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134113.4]
+  wire [7:0] _T_21297; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134115.4]
+  wire [7:0] _T_21299; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134117.4]
+  wire [7:0] _T_21301; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134119.4]
+  wire [7:0] _T_21303; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134121.4]
+  wire [7:0] _T_21305; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134123.4]
+  wire [7:0] _T_21307; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134125.4]
+  wire [7:0] _T_21309; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134127.4]
+  wire [7:0] _T_21311; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134129.4]
+  wire [7:0] _T_21313; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134131.4]
+  wire [7:0] _T_21315; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134133.4]
+  wire [7:0] _T_21317; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134135.4]
+  wire [7:0] _T_21319; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134137.4]
+  wire [7:0] _T_21321; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134139.4]
+  wire [7:0] _T_21323; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134141.4]
+  wire [7:0] _T_21325; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134143.4]
+  wire [7:0] _T_21327; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134145.4]
+  wire [7:0] _T_21329; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134147.4]
+  wire [7:0] _T_21331; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134149.4]
+  wire [7:0] _T_21333; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134151.4]
+  wire [7:0] _T_21335; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134153.4]
+  wire [7:0] _T_21337; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134155.4]
+  wire [7:0] _T_21339; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134157.4]
+  wire [7:0] _T_21341; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134159.4]
+  wire [7:0] _T_21343; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134161.4]
+  wire [7:0] _T_21345; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134163.4]
+  wire [7:0] _T_21347; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134165.4]
+  wire [7:0] _T_21349; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134167.4]
+  wire [7:0] _T_21351; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134169.4]
+  wire [7:0] _T_21353; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134171.4]
+  wire [7:0] _T_21355; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134173.4]
+  wire [7:0] _T_21357; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134175.4]
+  wire [7:0] _T_21359; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134177.4]
+  wire [7:0] _T_21361; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134179.4]
+  wire [7:0] _T_21363; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134181.4]
+  wire [7:0] _T_21365; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134183.4]
+  wire [7:0] _T_21367; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134185.4]
+  wire [7:0] _T_21369; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134187.4]
+  wire [7:0] _T_21371; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134189.4]
+  wire [7:0] _T_21373; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134191.4]
+  wire [7:0] _T_21375; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134193.4]
+  wire [7:0] _T_21377; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134195.4]
+  wire [7:0] _T_21379; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134197.4]
+  wire [7:0] _T_21381; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134199.4]
+  wire [7:0] _T_21383; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134201.4]
+  wire [7:0] _T_21385; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134203.4]
+  wire [7:0] _T_21387; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134205.4]
+  wire [7:0] _T_21389; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134207.4]
+  wire [7:0] _T_21391; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134209.4]
+  wire [7:0] _T_21393; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134211.4]
+  wire [7:0] _T_21395; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134213.4]
+  wire [7:0] _T_21397; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134215.4]
+  wire [7:0] _T_21399; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134217.4]
+  wire [7:0] _T_21401; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134219.4]
+  wire [7:0] _T_21403; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134221.4]
+  wire [7:0] _T_21405; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134223.4]
+  wire [7:0] _T_21407; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134225.4]
+  wire [7:0] _T_21409; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134227.4]
+  wire [7:0] _T_21411; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134229.4]
+  wire [7:0] _T_21413; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134231.4]
+  wire [7:0] _T_21415; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134233.4]
+  wire [7:0] _T_21417; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134235.4]
+  wire [7:0] _T_21419; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134237.4]
+  wire [7:0] _T_21421; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134239.4]
+  wire [7:0] _T_21423; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134241.4]
+  wire [7:0] _T_21425; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134243.4]
+  wire [7:0] _T_21427; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134245.4]
+  wire [7:0] _T_21429; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134247.4]
+  wire [7:0] _T_21431; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134249.4]
+  wire [7:0] _T_21433; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134251.4]
+  wire [7:0] _T_21435; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134253.4]
+  wire [7:0] _T_21437; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134255.4]
+  wire [7:0] _T_21439; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134257.4]
+  wire [7:0] _T_21441; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134259.4]
+  wire [7:0] _T_21443; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134261.4]
+  wire [7:0] _T_21445; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134263.4]
+  wire [7:0] _T_21447; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134265.4]
+  wire [7:0] _T_21449; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134267.4]
+  wire [7:0] _T_21451; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134269.4]
+  wire [7:0] _T_21453; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134271.4]
+  wire [7:0] _T_21455; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134273.4]
+  wire [7:0] _T_21457; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134275.4]
+  wire [7:0] _T_21459; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134277.4]
+  wire [7:0] _T_21461; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134279.4]
+  wire [7:0] _T_21463; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134281.4]
+  wire [7:0] _T_21465; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134283.4]
+  wire [7:0] _T_21467; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134285.4]
+  wire [7:0] _T_21469; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134287.4]
+  wire [7:0] _T_21471; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134289.4]
+  wire [7:0] _T_21473; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134291.4]
+  wire [7:0] _T_21475; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134293.4]
+  wire [7:0] _T_21477; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134295.4]
+  wire [7:0] _T_21479; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134297.4]
+  wire [7:0] _T_21481; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134299.4]
+  wire [7:0] _T_21483; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134301.4]
+  wire [7:0] _T_21485; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134303.4]
+  wire [7:0] _T_21487; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134305.4]
+  wire [7:0] _T_21489; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134307.4]
+  wire [7:0] _T_21491; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134309.4]
+  wire [7:0] _T_21493; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134311.4]
+  wire [7:0] _T_21495; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134313.4]
+  wire [7:0] _T_21497; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134315.4]
+  wire [7:0] _T_21499; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134317.4]
+  wire [7:0] _T_21501; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134319.4]
+  wire [7:0] _T_21503; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134321.4]
+  wire [7:0] _T_21505; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134323.4]
+  wire [7:0] _T_21507; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134325.4]
+  wire [7:0] _T_21509; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134327.4]
+  wire [7:0] _T_21511; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134329.4]
+  wire [7:0] _T_21513; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134331.4]
+  wire [7:0] _T_21515; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134333.4]
+  wire [7:0] _T_21517; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134335.4]
+  wire [7:0] _T_21519; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134337.4]
+  wire [7:0] _T_21521; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134339.4]
+  wire [7:0] _T_21523; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134341.4]
+  wire [7:0] _T_21525; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134343.4]
+  wire [7:0] _T_21527; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134345.4]
+  wire [7:0] _T_21529; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134347.4]
+  wire [7:0] _T_21531; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134349.4]
+  wire [7:0] _T_21533; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134351.4]
+  wire [7:0] _T_21535; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134353.4]
+  wire [7:0] _T_21537; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134355.4]
+  wire [7:0] _T_21539; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134357.4]
+  wire [7:0] _T_21541; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134359.4]
+  wire [7:0] _T_21543; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134361.4]
+  wire [7:0] _T_21545; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134363.4]
+  wire [7:0] _T_21547; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134365.4]
+  wire [7:0] _T_21549; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134367.4]
+  wire [7:0] _T_21551; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134369.4]
+  wire [7:0] _T_21553; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134371.4]
+  wire [7:0] _T_21555; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134373.4]
+  wire [7:0] _T_21557; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134375.4]
+  wire [7:0] _T_21559; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134377.4]
+  wire [7:0] _T_21561; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134379.4]
+  wire [7:0] _T_21563; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134381.4]
+  wire [7:0] _T_21565; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134383.4]
+  wire [7:0] _T_21567; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134385.4]
+  wire [7:0] _T_21569; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134387.4]
+  wire [7:0] _T_21571; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134389.4]
+  wire [7:0] _T_21573; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134391.4]
+  wire [7:0] _T_21575; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134393.4]
+  wire [7:0] _T_21577; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134395.4]
+  wire [7:0] _T_21579; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134397.4]
+  wire [7:0] _T_21581; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134399.4]
+  wire [7:0] _T_21583; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134401.4]
+  wire [7:0] _T_21585; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134403.4]
+  wire [7:0] _T_21587; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134405.4]
+  wire [7:0] _T_21589; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134407.4]
+  wire [7:0] _T_21591; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134409.4]
+  wire [7:0] _T_21593; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134411.4]
+  wire [7:0] _T_21595; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134413.4]
+  wire [7:0] _T_21597; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134415.4]
+  wire [7:0] _T_21599; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134417.4]
+  wire [7:0] _T_21601; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134419.4]
+  wire [7:0] _T_21603; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134421.4]
+  wire [7:0] _T_21605; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134423.4]
+  wire [7:0] _T_21607; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134425.4]
+  wire [7:0] _T_21609; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134427.4]
+  wire [7:0] _T_21611; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134429.4]
+  wire [7:0] _T_21613; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134431.4]
+  wire [7:0] _T_21615; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134433.4]
+  wire [7:0] _T_21617; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134435.4]
+  wire [7:0] _T_21619; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134437.4]
+  wire [7:0] _T_21621; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134439.4]
+  wire [7:0] _T_21623; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134441.4]
+  wire [7:0] _T_21625; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134443.4]
+  wire [7:0] _T_21627; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134445.4]
+  wire [7:0] _T_21629; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134447.4]
+  wire [7:0] _T_21631; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134449.4]
+  wire [7:0] _T_21633; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134451.4]
+  wire [7:0] _T_21635; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134453.4]
+  wire [7:0] _T_21637; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134455.4]
+  wire [7:0] _T_21639; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134457.4]
+  wire [7:0] _T_21641; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134459.4]
+  wire [7:0] _T_21643; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134461.4]
+  wire [7:0] _T_21645; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134463.4]
+  wire [7:0] _T_21647; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134465.4]
+  wire [7:0] _T_21649; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134467.4]
+  wire [7:0] _T_21651; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134469.4]
+  wire [7:0] _T_21653; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134471.4]
+  wire [7:0] _T_21655; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134473.4]
+  wire [7:0] _T_21657; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134475.4]
+  wire [7:0] _T_21659; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134477.4]
+  wire [7:0] _T_21661; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134479.4]
+  wire [7:0] _T_21663; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134481.4]
+  wire [7:0] _T_21665; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134483.4]
+  wire [7:0] _T_21667; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134485.4]
+  wire [7:0] _T_21669; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134487.4]
+  wire [7:0] _T_21671; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134489.4]
+  wire [7:0] _T_21673; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134491.4]
+  wire [7:0] _T_21675; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134493.4]
+  wire [7:0] _T_21677; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134495.4]
+  wire [7:0] _T_21679; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134497.4]
+  wire [7:0] _T_21681; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134499.4]
+  wire [7:0] _T_21683; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134501.4]
+  wire [7:0] _T_21685; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134503.4]
+  wire [7:0] _T_21687; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134505.4]
+  wire [7:0] _T_21689; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134507.4]
+  wire [7:0] _T_21691; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134509.4]
+  wire [7:0] _T_21693; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134511.4]
+  wire [7:0] _T_21695; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134513.4]
+  wire [7:0] _T_21697; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134515.4]
+  wire [7:0] _T_21699; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134517.4]
+  wire [7:0] _T_21701; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134519.4]
+  wire [7:0] _T_21703; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134521.4]
+  wire [7:0] _T_21705; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134523.4]
+  wire [7:0] _T_21707; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134525.4]
+  wire [7:0] _T_21709; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134527.4]
+  wire [7:0] _T_21711; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134529.4]
+  wire [7:0] _T_21713; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134531.4]
+  wire [7:0] _T_21715; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134533.4]
+  wire [7:0] _T_21717; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134535.4]
+  wire [7:0] _T_21719; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134537.4]
+  wire [7:0] _T_21721; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134539.4]
+  wire [7:0] _T_21723; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134541.4]
+  wire [7:0] _T_21725; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134543.4]
+  wire [7:0] _T_21727; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134545.4]
+  wire [7:0] _T_21729; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134547.4]
+  wire [7:0] _T_21731; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134549.4]
+  wire [7:0] _T_21733; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134551.4]
+  wire [7:0] _T_21735; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134553.4]
+  wire [7:0] _T_21737; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134555.4]
+  wire [7:0] _T_21739; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134557.4]
+  wire [7:0] _T_21741; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134559.4]
+  wire [7:0] _T_21743; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134561.4]
+  wire [7:0] _T_21745; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134563.4]
+  wire [7:0] _T_21747; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134565.4]
+  wire [7:0] _T_21749; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134567.4]
+  wire [7:0] _T_21751; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134569.4]
+  wire [7:0] _T_21753; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134571.4]
+  wire [7:0] _T_21755; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134573.4]
+  wire [7:0] _T_21757; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134575.4]
+  wire [7:0] _T_21759; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134577.4]
+  wire [7:0] _T_21761; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134579.4]
+  wire [7:0] _T_21763; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134581.4]
+  wire [7:0] _T_21765; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134583.4]
+  wire [7:0] _T_21767; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134585.4]
+  wire [7:0] _T_21769; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134587.4]
+  wire [7:0] _T_21771; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134589.4]
+  wire [7:0] _T_21773; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134591.4]
+  wire [7:0] _T_21775; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134593.4]
+  wire [7:0] _T_21777; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134595.4]
+  wire [7:0] _T_21779; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134597.4]
+  wire [7:0] _T_21781; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134599.4]
+  wire [7:0] _T_21783; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134601.4]
+  wire [7:0] _T_21785; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134603.4]
+  wire [7:0] _T_21787; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134605.4]
+  wire [7:0] _T_21789; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134607.4]
+  wire [7:0] _T_21791; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134609.4]
+  wire [7:0] _T_21793; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134611.4]
+  wire [7:0] _T_21795; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134613.4]
+  wire [7:0] _T_21797; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134615.4]
+  wire [7:0] _T_21799; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134617.4]
+  wire [7:0] _T_21801; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134619.4]
+  wire [7:0] _T_21803; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134621.4]
+  wire [7:0] _T_21805; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134623.4]
+  wire [7:0] _T_21807; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134625.4]
+  wire [7:0] _T_21809; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134627.4]
+  wire [7:0] _T_21811; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134629.4]
+  wire [7:0] _T_21813; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134631.4]
+  wire [7:0] _T_21815; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134633.4]
+  wire [7:0] _T_21817; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134635.4]
+  wire [7:0] _T_21819; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134637.4]
+  wire [7:0] _T_21821; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134639.4]
+  wire [7:0] _T_21823; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134641.4]
+  wire [7:0] _T_21825; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134643.4]
+  wire [7:0] _T_21827; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134645.4]
+  wire [7:0] _T_21829; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134647.4]
+  wire [7:0] _T_21831; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134649.4]
+  wire [7:0] _T_21833; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134651.4]
+  wire [7:0] _T_21835; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134653.4]
+  wire [7:0] _T_21837; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134655.4]
+  wire [7:0] _T_21839; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134657.4]
+  wire [7:0] _T_21841; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134659.4]
+  wire [7:0] _T_21843; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134661.4]
+  wire [7:0] _T_21845; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134663.4]
+  wire [7:0] _T_21847; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134665.4]
+  wire [7:0] _T_21849; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134667.4]
+  wire [7:0] _T_21851; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134669.4]
+  wire [7:0] _T_21853; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134671.4]
+  wire [7:0] _T_21855; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134673.4]
+  wire [7:0] _T_21857; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134675.4]
+  wire [7:0] _T_21859; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134677.4]
+  wire [7:0] _T_21861; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134679.4]
+  wire [7:0] _T_21863; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134681.4]
+  wire [7:0] _T_21865; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134683.4]
+  wire [7:0] _T_21867; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134685.4]
+  wire [7:0] _T_21869; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134687.4]
+  wire [7:0] _T_21871; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134689.4]
+  wire [7:0] _T_21873; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134691.4]
+  wire [7:0] _T_21875; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134693.4]
+  wire [7:0] _T_21877; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134695.4]
+  wire [7:0] _T_21879; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134697.4]
+  wire [7:0] _T_21881; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134699.4]
+  wire [7:0] _T_21883; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134701.4]
+  wire [7:0] _T_21885; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134703.4]
+  wire [7:0] _T_21887; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134705.4]
+  wire [7:0] _T_21889; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134707.4]
+  wire [7:0] _T_21891; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134709.4]
+  wire [7:0] _T_21893; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134711.4]
+  wire [7:0] _T_21895; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134713.4]
+  wire [7:0] _T_21897; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134715.4]
+  wire [7:0] _T_21899; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134717.4]
+  wire [7:0] _T_21901; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134719.4]
+  wire [7:0] _T_21903; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134721.4]
+  wire [7:0] _T_21905; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134723.4]
+  wire [7:0] _T_21907; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134725.4]
+  wire [7:0] _T_21909; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134727.4]
+  wire [7:0] _T_21911; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134729.4]
+  wire [7:0] _T_21913; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134731.4]
+  wire [7:0] _T_21915; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134733.4]
+  wire [7:0] _T_21917; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134735.4]
+  wire [7:0] _T_21919; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134737.4]
+  wire [7:0] _T_21921; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134739.4]
+  wire [7:0] _T_21923; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134741.4]
+  wire [7:0] _T_21925; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134743.4]
+  wire [7:0] _T_21927; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134745.4]
+  wire [7:0] _T_21929; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134747.4]
+  wire [7:0] _T_21931; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134749.4]
+  wire [7:0] _T_21933; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134751.4]
+  wire [7:0] _T_21935; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134753.4]
+  wire [7:0] _T_21937; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134755.4]
+  wire [7:0] _T_21939; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134757.4]
+  wire [7:0] _T_21941; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134759.4]
+  wire [7:0] _T_21943; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134761.4]
+  wire [7:0] _T_21945; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134763.4]
+  wire [7:0] _T_21947; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134765.4]
+  wire [7:0] _T_21949; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134767.4]
+  wire [7:0] _T_21951; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134769.4]
+  wire [7:0] _T_21953; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134771.4]
+  wire [7:0] _T_21955; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134773.4]
+  wire [7:0] _T_21957; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134775.4]
+  wire [7:0] _T_21959; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134777.4]
+  wire [7:0] _T_21961; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134779.4]
+  wire [7:0] _T_21963; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134781.4]
+  wire [7:0] _T_21965; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134783.4]
+  wire [7:0] _T_21967; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134785.4]
+  wire [7:0] _T_21969; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134787.4]
+  wire [7:0] _T_21971; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134789.4]
+  wire [7:0] _T_21973; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134791.4]
+  wire [7:0] _T_21975; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134793.4]
+  wire [7:0] _T_21977; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134795.4]
+  wire [7:0] _T_21979; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134797.4]
+  wire [7:0] _T_21981; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134799.4]
+  wire [7:0] _T_21983; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134801.4]
+  wire [7:0] _T_21985; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134803.4]
+  wire [7:0] _T_21987; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134805.4]
+  wire [7:0] _T_21989; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134807.4]
+  wire [7:0] _T_21991; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134809.4]
+  wire [7:0] _T_21993; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134811.4]
+  wire [7:0] _T_21995; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134813.4]
+  wire [7:0] _T_21997; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134815.4]
+  wire [7:0] _T_21999; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134817.4]
+  wire [7:0] _T_22001; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134819.4]
+  wire [7:0] _T_22003; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134821.4]
+  wire [7:0] _T_22005; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134823.4]
+  wire [7:0] _T_22007; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134825.4]
+  wire [7:0] _T_22009; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134827.4]
+  wire [7:0] _T_22011; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134829.4]
+  wire [7:0] _T_22013; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134831.4]
+  wire [7:0] _T_22015; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134833.4]
+  wire [7:0] _T_22017; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134835.4]
+  wire [7:0] _T_22019; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134837.4]
+  wire [7:0] _T_22021; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134839.4]
+  wire [7:0] _T_22023; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134841.4]
+  wire [7:0] _T_22025; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134843.4]
+  wire [7:0] _T_22027; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134845.4]
+  wire [7:0] _T_22029; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134847.4]
+  wire [7:0] _T_22031; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134849.4]
+  wire [7:0] _T_22033; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134851.4]
+  wire [7:0] _T_22035; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134853.4]
+  wire [7:0] _T_22037; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134855.4]
+  wire [7:0] _T_22039; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134857.4]
+  wire [7:0] _T_22041; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134859.4]
+  wire [7:0] _T_22043; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134861.4]
+  wire [7:0] _T_22045; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134863.4]
+  wire [7:0] _T_22047; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134865.4]
+  wire [7:0] _T_22049; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134867.4]
+  wire [7:0] _T_22051; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134869.4]
+  wire [7:0] _T_22053; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134871.4]
+  wire [7:0] _T_22055; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134873.4]
+  wire [7:0] _T_22057; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134875.4]
+  wire [7:0] _T_22059; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134877.4]
+  wire [7:0] _T_22061; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134879.4]
+  wire [7:0] _T_22063; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134881.4]
+  wire [7:0] _T_22065; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134883.4]
+  wire [7:0] _T_22067; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134885.4]
+  wire [7:0] _T_22069; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134887.4]
+  wire [7:0] _T_22071; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134889.4]
+  wire [7:0] _T_22073; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134891.4]
+  wire [7:0] _T_22075; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134893.4]
+  wire [7:0] _T_22077; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134895.4]
+  wire [7:0] _T_22079; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134897.4]
+  wire [7:0] _T_22081; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134899.4]
+  wire [7:0] _T_22083; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134901.4]
+  wire [7:0] _T_22085; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134903.4]
+  wire [7:0] _T_22087; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134905.4]
+  wire [7:0] _T_22089; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134907.4]
+  wire [7:0] _T_22091; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134909.4]
+  wire [7:0] _T_22093; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134911.4]
+  wire [7:0] _T_22095; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134913.4]
+  wire [7:0] _T_22097; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134915.4]
+  wire [7:0] _T_22099; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134917.4]
+  wire [7:0] _T_22101; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134919.4]
+  wire [7:0] _T_22103; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134921.4]
+  wire [7:0] _T_22105; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134923.4]
+  wire [7:0] _T_22107; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134925.4]
+  wire [7:0] _T_22109; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134927.4]
+  wire [7:0] _T_22111; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134929.4]
+  wire [7:0] _T_22113; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134931.4]
+  wire [7:0] _T_22115; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134933.4]
+  wire [7:0] _T_22117; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134935.4]
+  wire [7:0] _T_22119; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134937.4]
+  wire [7:0] _T_22121; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134939.4]
+  wire [7:0] _T_22123; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134941.4]
+  wire [7:0] _T_22125; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134943.4]
+  wire [7:0] _T_22127; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134945.4]
+  wire [7:0] _T_22129; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134947.4]
+  wire [7:0] _T_22131; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134949.4]
+  wire [7:0] _T_22133; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134951.4]
+  wire [7:0] _T_22135; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134953.4]
+  wire [7:0] _T_22137; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134955.4]
+  wire [7:0] _T_22139; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134957.4]
+  wire [7:0] _T_22141; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134959.4]
+  wire [7:0] _T_22143; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134961.4]
+  wire [7:0] _T_22145; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134963.4]
+  wire [7:0] _T_22147; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134965.4]
+  wire [7:0] _T_22149; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134967.4]
+  wire [7:0] _T_22151; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134969.4]
+  wire [7:0] _T_22153; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134971.4]
+  wire [7:0] _T_22155; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134973.4]
+  wire [7:0] _T_22157; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134975.4]
+  wire [7:0] _T_22159; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134977.4]
+  wire [7:0] _T_22161; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134979.4]
+  wire [7:0] _T_22163; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134981.4]
+  wire [7:0] _T_22165; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134983.4]
+  wire [7:0] _T_22167; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134985.4]
+  wire [7:0] _T_22169; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134987.4]
+  wire [7:0] _T_22171; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134989.4]
+  wire [7:0] _T_22173; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134991.4]
+  wire [7:0] _T_22175; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134993.4]
+  wire [7:0] _T_22177; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134995.4]
+  wire [7:0] _T_22179; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134997.4]
+  wire [7:0] _T_22181; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134999.4]
+  wire [7:0] _T_22183; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135001.4]
+  wire [7:0] _T_22185; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135003.4]
+  wire [7:0] _T_22187; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135005.4]
+  wire [7:0] _T_22189; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135007.4]
+  wire [7:0] _T_22191; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135009.4]
+  wire [7:0] _T_22193; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135011.4]
+  wire [7:0] _T_22195; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135013.4]
+  wire [7:0] _T_22197; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135015.4]
+  wire [7:0] _T_22199; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135017.4]
+  wire [7:0] _T_22201; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135019.4]
+  wire [7:0] _T_22203; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135021.4]
+  wire [7:0] _T_22205; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135023.4]
+  wire [7:0] _T_22207; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135025.4]
+  wire [7:0] _T_22209; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135027.4]
+  wire [7:0] _T_22211; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135029.4]
+  wire [7:0] _T_22213; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135031.4]
+  wire [7:0] _T_22215; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135033.4]
+  wire [7:0] _T_22217; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135035.4]
+  wire [7:0] _T_22219; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135037.4]
+  wire [7:0] _T_22221; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135039.4]
+  wire [7:0] _T_22223; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135041.4]
+  wire [7:0] _T_22225; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135043.4]
+  wire [7:0] _T_22227; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135045.4]
+  wire [7:0] _T_22229; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135047.4]
+  wire [7:0] _T_22231; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135049.4]
+  wire [7:0] _T_22233; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135051.4]
+  wire [7:0] _T_22235; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135053.4]
+  wire [7:0] _T_22237; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135055.4]
+  wire [7:0] _T_22239; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135057.4]
+  wire [7:0] _T_22241; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135059.4]
+  wire [7:0] _T_22243; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135061.4]
+  wire [7:0] _T_22245; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135063.4]
+  wire [7:0] _T_22247; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135065.4]
+  wire [7:0] _T_22249; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135067.4]
+  wire [7:0] _T_22251; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135069.4]
+  wire [7:0] _T_22253; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135071.4]
+  wire [7:0] _T_22255; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135073.4]
+  wire [7:0] _T_22257; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135075.4]
+  wire [7:0] _T_22259; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135077.4]
+  wire [7:0] _T_22261; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135079.4]
+  wire [7:0] _T_22263; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135081.4]
+  wire [7:0] _T_22265; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135083.4]
+  wire [7:0] _T_22267; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135085.4]
+  wire [7:0] _T_22269; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135087.4]
+  wire [7:0] _T_22271; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135089.4]
+  wire [7:0] _T_22273; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135091.4]
+  wire [7:0] _T_22275; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135093.4]
+  wire [7:0] _T_22277; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135095.4]
+  wire [7:0] _T_22279; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135097.4]
+  wire [7:0] _T_22281; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135099.4]
+  wire [7:0] _T_22283; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135101.4]
+  wire [7:0] _T_22285; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135103.4]
+  wire [7:0] _T_22287; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135105.4]
+  wire [7:0] _T_22289; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135107.4]
+  wire [7:0] _T_22291; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135109.4]
+  wire [7:0] _T_22293; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135111.4]
+  wire [7:0] _T_22295; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135113.4]
+  wire [7:0] _T_22297; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135115.4]
+  wire [7:0] _T_22299; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135117.4]
+  wire [7:0] _T_22301; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135119.4]
+  wire [7:0] _T_22303; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135121.4]
+  wire [7:0] _T_22305; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135123.4]
+  wire [7:0] _T_22307; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135125.4]
+  wire [7:0] _T_22309; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135127.4]
+  wire [7:0] _T_22311; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135129.4]
+  wire [7:0] _T_22313; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135131.4]
+  wire [7:0] _T_22315; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135133.4]
+  wire [7:0] _T_22317; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135135.4]
+  wire [7:0] _T_22319; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135137.4]
+  wire [7:0] _T_22321; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135139.4]
+  wire [7:0] _T_22323; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135141.4]
+  wire [7:0] _T_22325; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135143.4]
+  wire [7:0] _T_22327; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135145.4]
+  wire [7:0] _T_22329; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135147.4]
+  wire [7:0] _T_22331; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135149.4]
+  wire [7:0] _T_22333; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135151.4]
+  wire [7:0] _T_22335; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135153.4]
+  wire [7:0] _T_22337; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135155.4]
+  wire [7:0] _T_22339; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135157.4]
+  wire [7:0] _T_22341; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135159.4]
+  wire [7:0] _T_22343; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135161.4]
+  wire [7:0] _T_22345; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135163.4]
+  wire [7:0] _T_22347; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135165.4]
+  wire [7:0] _T_22349; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135167.4]
+  wire [7:0] _T_22351; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135169.4]
+  wire [7:0] _T_22353; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135171.4]
+  wire [7:0] _T_22355; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135173.4]
+  wire [7:0] _T_22357; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135175.4]
+  wire [7:0] _T_22359; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135177.4]
+  wire [7:0] _T_22361; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135179.4]
+  wire [7:0] _T_22363; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135181.4]
+  wire [7:0] _T_22365; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135183.4]
+  wire [7:0] _T_22367; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135185.4]
+  wire [7:0] _T_22369; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135187.4]
+  wire [7:0] _T_22371; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135189.4]
+  wire [7:0] _T_22373; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135191.4]
+  wire [7:0] _T_22375; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135193.4]
+  wire [7:0] _T_22377; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135195.4]
+  wire [7:0] _T_22379; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135197.4]
+  wire [7:0] _T_22381; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135199.4]
+  wire [7:0] _T_22383; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135201.4]
+  wire [7:0] _T_22385; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135203.4]
+  wire [7:0] _T_22387; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135205.4]
+  wire [7:0] _T_22389; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135207.4]
+  wire [7:0] _T_22391; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135209.4]
+  wire [7:0] _T_22393; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135211.4]
+  wire [7:0] _T_22395; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135213.4]
+  wire [7:0] _T_22397; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135215.4]
+  wire [7:0] _T_22399; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135217.4]
+  wire [7:0] _T_22401; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135219.4]
+  wire [7:0] _T_22403; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135221.4]
+  wire [7:0] _T_22405; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135223.4]
+  wire [7:0] _T_22407; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135225.4]
+  wire [7:0] _T_22409; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135227.4]
+  wire [7:0] _T_22411; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135229.4]
+  wire [7:0] _T_22413; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135231.4]
+  wire [7:0] _T_22415; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135233.4]
+  wire [7:0] _T_22417; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135235.4]
+  wire [7:0] _T_22419; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135237.4]
+  wire [7:0] _T_22421; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135239.4]
+  wire [7:0] _T_22423; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135241.4]
+  wire [7:0] _T_22425; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135243.4]
+  wire [7:0] _T_22427; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135245.4]
+  wire [7:0] _T_22429; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135247.4]
+  wire [7:0] _T_22431; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135249.4]
+  wire [7:0] _T_22433; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135251.4]
+  wire [7:0] _T_22435; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135253.4]
+  wire [7:0] _T_22437; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135255.4]
+  wire [7:0] _T_22439; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135257.4]
+  wire [7:0] _T_22441; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135259.4]
+  wire [7:0] _T_22443; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135261.4]
+  wire [7:0] _T_22445; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135263.4]
+  wire [7:0] _T_22447; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135265.4]
+  wire [7:0] _T_22449; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135267.4]
+  wire [7:0] _T_22451; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135269.4]
+  wire [7:0] _T_22453; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135271.4]
+  wire [7:0] _T_22455; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135273.4]
+  wire [7:0] _T_22457; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135275.4]
+  wire [7:0] _T_22459; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135277.4]
+  wire [7:0] _T_22461; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135279.4]
+  wire [7:0] _T_22463; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135281.4]
+  wire [7:0] _T_22465; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135283.4]
+  wire [7:0] _T_22467; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135285.4]
+  wire [7:0] _T_22469; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135287.4]
+  wire [7:0] _T_22471; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135289.4]
+  wire [7:0] _T_22473; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135291.4]
+  wire [7:0] _T_22475; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135293.4]
+  wire [7:0] _T_22477; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135295.4]
+  wire [7:0] _T_22479; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135297.4]
+  wire [7:0] _T_22481; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135299.4]
+  wire [7:0] _T_22483; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135301.4]
+  wire [7:0] _T_22485; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135303.4]
+  wire [7:0] _T_22487; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135305.4]
+  wire [7:0] _T_22489; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135307.4]
+  wire [7:0] _T_22491; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135309.4]
+  wire [7:0] _T_22493; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135311.4]
+  wire [7:0] _T_22495; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135313.4]
+  wire [7:0] _T_22497; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135315.4]
+  wire [7:0] _T_22499; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135317.4]
+  wire [7:0] _T_22501; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135319.4]
+  wire [7:0] _T_22503; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135321.4]
+  wire [7:0] _T_22505; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135323.4]
+  wire [7:0] _T_22507; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135325.4]
+  wire [7:0] _T_22509; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135327.4]
+  wire [7:0] _T_22511; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135329.4]
+  wire [7:0] _T_22513; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135331.4]
+  wire [7:0] _T_22515; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135333.4]
+  wire [7:0] _T_22517; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135335.4]
+  wire [7:0] _T_22519; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135337.4]
+  wire [7:0] _T_22521; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135339.4]
+  wire [7:0] _T_22523; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135341.4]
+  wire [7:0] _T_22525; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135343.4]
+  wire [7:0] _T_22527; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135345.4]
+  wire [7:0] _T_22529; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135347.4]
+  wire [7:0] _T_22531; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135349.4]
+  wire [7:0] _T_22533; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135351.4]
+  wire [7:0] _T_22535; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135353.4]
+  wire [7:0] _T_22537; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135355.4]
+  wire [7:0] _T_22539; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135357.4]
+  wire [7:0] _T_22541; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135359.4]
+  wire [7:0] _T_22543; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135361.4]
+  wire [7:0] _T_22545; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135363.4]
+  wire [7:0] _T_22547; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135365.4]
+  wire [7:0] _T_22549; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135367.4]
+  wire [7:0] _T_22551; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135369.4]
+  wire [7:0] _T_22553; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135371.4]
+  wire [7:0] _T_22555; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135373.4]
+  wire [7:0] _T_22557; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135375.4]
+  wire [7:0] _T_22559; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135377.4]
+  wire [7:0] _T_22561; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135379.4]
+  wire [7:0] _T_22563; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135381.4]
+  wire [7:0] _T_22565; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135383.4]
+  wire [7:0] _T_22567; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135385.4]
+  wire [7:0] _T_22569; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135387.4]
+  wire [7:0] _T_22571; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135389.4]
+  wire [7:0] _T_22573; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135391.4]
+  wire [7:0] _T_22575; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135393.4]
+  wire [7:0] _T_22577; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135395.4]
+  wire [7:0] _T_22579; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135397.4]
+  wire [7:0] _T_22581; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135399.4]
+  wire [7:0] _T_22583; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135401.4]
+  wire [7:0] _T_22585; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135403.4]
+  wire [7:0] _T_22587; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135405.4]
+  wire [7:0] _T_22589; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135407.4]
+  wire [7:0] _T_22591; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135409.4]
+  wire [7:0] _T_22593; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135411.4]
+  wire [7:0] _T_22595; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135413.4]
+  wire [7:0] _T_22597; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135415.4]
+  wire [7:0] _T_22599; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135417.4]
+  wire [7:0] _T_22601; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135419.4]
+  wire [7:0] _T_22603; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135421.4]
+  wire [7:0] _T_22605; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135423.4]
+  wire [7:0] _T_22607; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135425.4]
+  wire [7:0] _T_22609; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135427.4]
+  wire [7:0] _T_22611; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135429.4]
+  wire [7:0] _T_22613; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135431.4]
+  wire [7:0] _T_22615; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135433.4]
+  wire [7:0] _T_22617; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135435.4]
+  wire [7:0] _T_22619; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135437.4]
+  wire [7:0] _T_22621; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135439.4]
+  wire [7:0] _T_22623; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135441.4]
+  wire [7:0] _T_22625; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135443.4]
+  wire [7:0] _T_22627; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135445.4]
+  wire [7:0] _T_22629; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135447.4]
+  wire [7:0] _T_22631; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135449.4]
+  wire [7:0] _T_22633; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135451.4]
+  wire [7:0] _T_22635; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135453.4]
+  wire [7:0] _T_22637; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135455.4]
+  wire [7:0] _T_22639; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135457.4]
+  wire [7:0] _T_22641; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135459.4]
+  wire [7:0] _T_22643; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135461.4]
+  wire [7:0] _T_22645; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135463.4]
+  wire [7:0] _T_22647; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135465.4]
+  wire [7:0] _T_22649; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135467.4]
+  wire [7:0] _T_22651; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135469.4]
+  wire [7:0] _T_22653; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135471.4]
+  wire [7:0] _T_22655; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135473.4]
+  wire [7:0] _T_22657; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135475.4]
+  wire [7:0] _T_22659; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135477.4]
+  wire [7:0] _T_22661; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135479.4]
+  wire [7:0] _T_22663; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135481.4]
+  wire [7:0] _T_22665; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135483.4]
+  wire [7:0] _T_22667; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135485.4]
+  wire [7:0] _T_22669; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135487.4]
+  wire [7:0] _T_22671; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135489.4]
+  wire [7:0] _T_22673; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135491.4]
+  wire [7:0] _T_22675; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135493.4]
+  wire [7:0] _T_22677; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135495.4]
+  wire [7:0] _T_22679; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135497.4]
+  wire [7:0] _T_22681; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135499.4]
+  wire [7:0] _T_22683; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135501.4]
+  wire [7:0] _T_22685; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135503.4]
+  wire [7:0] _T_22687; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135505.4]
+  wire [7:0] _T_22689; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135507.4]
+  wire [7:0] _T_22691; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135509.4]
+  wire [7:0] _T_22693; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135511.4]
+  wire [7:0] _T_22695; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135513.4]
+  wire [7:0] _T_22697; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135515.4]
+  wire [7:0] _T_22699; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135517.4]
+  wire [7:0] _T_22701; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135519.4]
+  wire [7:0] _T_22703; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135521.4]
+  wire [7:0] _T_22705; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135523.4]
+  wire [7:0] _T_22707; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135525.4]
+  wire [7:0] _T_22709; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135527.4]
+  wire [7:0] _T_22711; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135529.4]
+  wire [7:0] _T_22713; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135531.4]
+  wire [7:0] _T_22715; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135533.4]
+  wire [7:0] _T_22717; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135535.4]
+  wire [7:0] _T_22719; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135537.4]
+  wire [7:0] _T_22721; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135539.4]
+  wire [7:0] _T_22723; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135541.4]
+  wire [7:0] _T_22725; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135543.4]
+  wire [7:0] _T_22727; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135545.4]
+  wire [7:0] _T_22729; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135547.4]
+  wire [7:0] _T_22731; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135549.4]
+  wire [7:0] _T_22733; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135551.4]
+  wire [7:0] _T_22735; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135553.4]
+  wire [7:0] _T_22737; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135555.4]
+  wire [7:0] _T_22739; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135557.4]
+  wire [7:0] _T_22741; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135559.4]
+  wire [7:0] _T_22743; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135561.4]
+  wire [7:0] _T_22745; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135563.4]
+  wire [7:0] _T_22747; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135565.4]
+  wire [7:0] _T_22749; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135567.4]
+  wire [7:0] _T_22751; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135569.4]
+  wire [7:0] _T_22753; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135571.4]
+  wire [7:0] _T_22755; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135573.4]
+  wire [7:0] _T_22757; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135575.4]
+  wire [7:0] _T_22759; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135577.4]
+  wire [7:0] _T_22761; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135579.4]
+  wire [7:0] _T_22763; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135581.4]
+  wire [7:0] _T_22765; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135583.4]
+  wire [7:0] _T_22767; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135585.4]
+  wire [7:0] _T_22769; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135587.4]
+  wire [7:0] _T_22771; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135589.4]
+  wire [7:0] _T_22773; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135591.4]
+  wire [7:0] _T_22775; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135593.4]
+  wire [7:0] _T_22777; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135595.4]
+  wire [7:0] _T_22779; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135597.4]
+  wire [7:0] _T_22781; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135599.4]
+  wire [7:0] _T_22783; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135601.4]
+  wire [7:0] _T_22785; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135603.4]
+  wire [7:0] _T_22787; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135605.4]
+  wire [7:0] _T_22789; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135607.4]
+  wire [7:0] _T_22791; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135609.4]
+  wire [7:0] _T_22793; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135611.4]
+  wire [7:0] _T_22795; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135613.4]
+  wire [7:0] _T_22797; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135615.4]
+  wire [7:0] _T_22799; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135617.4]
+  wire [7:0] _T_22801; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135619.4]
+  wire [7:0] _T_22803; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135621.4]
+  wire [7:0] _T_22805; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135623.4]
+  wire [7:0] _T_22807; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135625.4]
+  wire [7:0] _T_22809; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135627.4]
+  wire [7:0] _T_22811; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135629.4]
+  wire [7:0] _T_22813; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135631.4]
+  wire [7:0] _T_22815; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135633.4]
+  wire [7:0] _T_22817; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135635.4]
+  wire [7:0] _T_22819; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135637.4]
+  wire [7:0] _T_22821; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135639.4]
+  wire [7:0] _T_22823; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135641.4]
+  wire [7:0] _T_22825; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135643.4]
+  wire [7:0] _T_22827; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135645.4]
+  wire [7:0] _T_22829; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135647.4]
+  wire [7:0] _T_22831; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135649.4]
+  wire [7:0] _T_22833; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135651.4]
+  wire [7:0] _T_22835; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135653.4]
+  wire [7:0] _T_22837; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135655.4]
+  wire [7:0] _T_22839; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135657.4]
+  wire [7:0] _T_22841; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135659.4]
+  wire [7:0] _T_22843; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135661.4]
+  wire [7:0] _T_22845; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135663.4]
+  wire [7:0] _T_22847; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135665.4]
+  wire [7:0] _T_22849; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135667.4]
+  wire [7:0] _T_22851; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135669.4]
+  wire [7:0] _T_22853; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135671.4]
+  wire [7:0] _T_22855; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135673.4]
+  wire [7:0] _T_22857; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135675.4]
+  wire [7:0] _T_22859; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135677.4]
+  wire [7:0] _T_22861; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135679.4]
+  wire [7:0] _T_22863; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135681.4]
+  wire [7:0] _T_22865; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135683.4]
+  wire [7:0] _T_22867; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135685.4]
+  wire [7:0] _T_22869; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135687.4]
+  wire [7:0] _T_22871; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135689.4]
+  wire [7:0] _T_22873; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135691.4]
+  wire [7:0] _T_22875; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135693.4]
+  wire [7:0] _T_22877; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135695.4]
+  wire [7:0] _T_22879; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135697.4]
+  wire [7:0] _T_22881; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135699.4]
+  wire [7:0] _T_22883; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135701.4]
+  wire [7:0] _T_22885; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135703.4]
+  wire [7:0] _T_22887; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135705.4]
+  wire [7:0] _T_22889; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135707.4]
+  wire [7:0] _T_22891; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135709.4]
+  wire [7:0] _T_22893; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135711.4]
+  wire [7:0] _T_22895; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135713.4]
+  wire [7:0] _T_22897; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135715.4]
+  wire [7:0] _T_22899; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135717.4]
+  wire [7:0] _T_22901; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135719.4]
+  wire [7:0] _T_22903; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135721.4]
+  wire [7:0] _T_22905; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135723.4]
+  wire [7:0] _T_22907; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135725.4]
+  wire [7:0] _T_22909; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135727.4]
+  wire [7:0] _T_22911; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135729.4]
+  wire [7:0] _T_22913; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135731.4]
+  wire [7:0] _T_22915; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135733.4]
+  wire [7:0] _T_22917; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135735.4]
+  wire [7:0] _T_22919; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135737.4]
+  wire [7:0] _T_22921; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135739.4]
+  wire [7:0] _T_22923; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135741.4]
+  wire [7:0] _T_22925; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135743.4]
+  wire [7:0] _T_22927; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135745.4]
+  wire [7:0] _T_22929; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135747.4]
+  wire [7:0] _T_22931; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135749.4]
+  wire [7:0] _T_22933; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135751.4]
+  wire [7:0] _T_22935; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135753.4]
+  wire [7:0] _T_22937; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135755.4]
+  wire [7:0] _T_22939; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135757.4]
+  wire [7:0] _T_22941; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135759.4]
+  wire [7:0] _T_22943; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135761.4]
+  wire [7:0] _T_22945; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135763.4]
+  wire [7:0] _T_22947; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135765.4]
+  wire [7:0] _T_22949; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135767.4]
+  wire [7:0] _T_22951; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135769.4]
+  wire [7:0] _T_22953; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135771.4]
+  wire [7:0] _T_22955; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135773.4]
+  wire [7:0] _T_22957; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135775.4]
+  wire [7:0] _T_22959; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135777.4]
+  wire [7:0] _T_22961; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135779.4]
+  wire [7:0] _T_22963; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135781.4]
+  wire [7:0] _T_22965; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135783.4]
+  wire [7:0] _T_22967; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135785.4]
+  wire [7:0] _T_22969; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135787.4]
+  wire [7:0] _T_22971; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135789.4]
+  wire [7:0] _T_22973; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135791.4]
+  wire [7:0] _T_22975; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135793.4]
+  wire [7:0] _T_22977; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135795.4]
+  wire [7:0] _T_22979; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135797.4]
+  wire [7:0] _T_22981; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135799.4]
+  wire [7:0] _T_22983; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135801.4]
+  wire [7:0] _T_22985; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135803.4]
+  wire [7:0] _T_22987; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135805.4]
+  wire [7:0] _T_22989; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135807.4]
+  wire [7:0] _T_22991; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135809.4]
+  wire [7:0] _T_22993; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135811.4]
+  wire [7:0] _T_22995; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135813.4]
+  wire [7:0] _T_22997; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135815.4]
+  wire [7:0] _T_22999; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135817.4]
+  wire [7:0] _T_23001; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135819.4]
+  wire [7:0] _T_23003; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135821.4]
+  wire [7:0] _T_23005; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135823.4]
+  wire [7:0] _T_23007; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135825.4]
+  wire [7:0] _T_23009; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135827.4]
+  wire [7:0] _T_23011; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135829.4]
+  wire [7:0] _T_23013; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135831.4]
+  wire [7:0] _T_23015; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135833.4]
+  wire [7:0] _T_23017; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135835.4]
+  wire [7:0] _T_23019; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135837.4]
+  wire [7:0] _T_23021; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135839.4]
+  wire [7:0] _T_23023; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135841.4]
+  wire [7:0] _T_23025; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135843.4]
+  wire [7:0] _T_23027; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135845.4]
+  wire [7:0] _T_23029; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135847.4]
+  wire [7:0] _T_23039; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@135856.4]
+  wire [7:0] _T_28445; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@136506.4]
+  wire [7:0] _T_28448; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@136509.4]
+  wire  _T_28449; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@136510.4]
+  wire [7:0] _T_28459; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@136520.4]
+  wire [7:0] _T_28470; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@136531.4]
+  wire [7:0] _T_28473; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@136534.4]
+  wire  _T_28474; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@136535.4]
+  wire [7:0] _T_28484; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@136545.4]
+  wire [15:0] _T_28494; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@136555.4]
+  wire [7:0] _T_28497; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@136558.4]
+  wire [7:0] _T_28500; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@136561.4]
+  wire  _T_28501; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@136562.4]
+  wire [7:0] _T_28511; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@136572.4]
+  wire [23:0] _T_28521; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@136582.4]
+  wire [7:0] _T_28524; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@136585.4]
+  wire [7:0] _T_28527; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@136588.4]
+  wire  _T_28528; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@136589.4]
+  wire [7:0] _T_28538; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@136599.4]
+  wire [31:0] _T_28548; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@136609.4]
+  wire [15:0] _T_28600; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@136661.4]
+  wire [23:0] _T_28627; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@136688.4]
+  wire [31:0] _T_28654; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@136715.4]
+  wire [15:0] _T_28706; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@136767.4]
+  wire [23:0] _T_28733; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@136794.4]
+  wire [31:0] _T_28760; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@136821.4]
+  wire [15:0] _T_28812; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@136873.4]
+  wire [23:0] _T_28839; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@136900.4]
+  wire [31:0] _T_28866; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@136927.4]
+  wire [15:0] _T_29024; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@137085.4]
+  wire [23:0] _T_29051; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@137112.4]
+  wire [31:0] _T_29078; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@137139.4]
+  wire [15:0] _T_29130; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@137191.4]
+  wire [23:0] _T_29157; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@137218.4]
+  wire [31:0] _T_29184; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@137245.4]
+  wire [15:0] _T_29236; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@137297.4]
+  wire [23:0] _T_29263; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@137324.4]
+  wire [31:0] _T_29290; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@137351.4]
+  wire [15:0] _T_29342; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@137403.4]
+  wire [23:0] _T_29369; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@137430.4]
+  wire [31:0] _T_29396; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@137457.4]
+  wire  _T_60038; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@168311.4]
+  wire  _T_65748; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@176055.4]
+  wire  _T_65749; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@176056.4]
+  wire  _T_29517; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@137578.4]
+  wire  _T_29542; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@137606.4]
+  wire  _T_29569; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@137636.4]
+  wire  _T_29596; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@137666.4]
+  wire [15:0] _T_29660; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@137733.4]
+  wire [23:0] _T_29687; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@137760.4]
+  wire [31:0] _T_29714; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@137787.4]
+  wire [15:0] _T_29766; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@137839.4]
+  wire [23:0] _T_29793; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@137866.4]
+  wire [31:0] _T_29820; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@137893.4]
+  wire [15:0] _T_29872; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@137945.4]
+  wire [23:0] _T_29899; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@137972.4]
+  wire [31:0] _T_29926; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@137999.4]
+  wire [15:0] _T_29978; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@138051.4]
+  wire [23:0] _T_30005; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@138078.4]
+  wire [31:0] _T_30032; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@138105.4]
+  wire [15:0] _T_30084; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@138157.4]
+  wire [23:0] _T_30111; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@138184.4]
+  wire [31:0] _T_30138; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@138211.4]
+  wire [15:0] _T_30190; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@138263.4]
+  wire [23:0] _T_30217; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@138290.4]
+  wire [31:0] _T_30244; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@138317.4]
+  wire [15:0] _T_30296; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@138369.4]
+  wire [23:0] _T_30323; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@138396.4]
+  wire [31:0] _T_30350; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@138423.4]
+  wire [15:0] _T_30402; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@138475.4]
+  wire [23:0] _T_30429; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@138502.4]
+  wire [31:0] _T_30456; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@138529.4]
+  wire [15:0] _T_30508; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@138581.4]
+  wire [23:0] _T_30535; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@138608.4]
+  wire [31:0] _T_30562; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@138635.4]
+  wire [15:0] _T_30614; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@138687.4]
+  wire [23:0] _T_30641; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@138714.4]
+  wire [31:0] _T_30668; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@138741.4]
+  wire [15:0] _T_30720; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@138793.4]
+  wire [23:0] _T_30747; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@138820.4]
+  wire [31:0] _T_30774; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@138847.4]
+  wire [15:0] _T_30826; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@138899.4]
+  wire [23:0] _T_30853; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@138926.4]
+  wire [31:0] _T_30880; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@138953.4]
+  wire [15:0] _T_30932; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@139005.4]
+  wire [23:0] _T_30959; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@139032.4]
+  wire [31:0] _T_30986; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@139059.4]
+  wire [15:0] _T_31038; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@139111.4]
+  wire [23:0] _T_31065; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@139138.4]
+  wire [31:0] _T_31092; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@139165.4]
+  wire [15:0] _T_31144; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@139217.4]
+  wire [23:0] _T_31171; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@139244.4]
+  wire [31:0] _T_31198; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@139271.4]
+  wire [15:0] _T_31250; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@139323.4]
+  wire [23:0] _T_31277; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@139350.4]
+  wire [31:0] _T_31304; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@139377.4]
+  wire [15:0] _T_31356; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@139429.4]
+  wire [23:0] _T_31383; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@139456.4]
+  wire [31:0] _T_31410; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@139483.4]
+  wire [15:0] _T_31462; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@139535.4]
+  wire [23:0] _T_31489; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@139562.4]
+  wire [31:0] _T_31516; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@139589.4]
+  wire [15:0] _T_31568; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@139641.4]
+  wire [23:0] _T_31595; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@139668.4]
+  wire [31:0] _T_31622; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@139695.4]
+  wire [15:0] _T_31674; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@139747.4]
+  wire [23:0] _T_31701; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@139774.4]
+  wire [31:0] _T_31728; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@139801.4]
+  wire [15:0] _T_31780; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@139853.4]
+  wire [23:0] _T_31807; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@139880.4]
+  wire [31:0] _T_31834; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@139907.4]
+  wire [15:0] _T_31886; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@139959.4]
+  wire [23:0] _T_31913; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@139986.4]
+  wire [31:0] _T_31940; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@140013.4]
+  wire [15:0] _T_31992; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@140065.4]
+  wire [23:0] _T_32019; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@140092.4]
+  wire [31:0] _T_32046; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@140119.4]
+  wire [15:0] _T_32098; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@140171.4]
+  wire [23:0] _T_32125; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@140198.4]
+  wire [31:0] _T_32152; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@140225.4]
+  wire [15:0] _T_32204; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@140277.4]
+  wire [23:0] _T_32231; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@140304.4]
+  wire [31:0] _T_32258; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@140331.4]
+  wire [15:0] _T_32310; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@140383.4]
+  wire [23:0] _T_32337; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@140410.4]
+  wire [31:0] _T_32364; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@140437.4]
+  wire [15:0] _T_32416; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@140489.4]
+  wire [23:0] _T_32443; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@140516.4]
+  wire [31:0] _T_32470; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@140543.4]
+  wire [15:0] _T_32522; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@140595.4]
+  wire [23:0] _T_32549; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@140622.4]
+  wire [31:0] _T_32576; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@140649.4]
+  wire [15:0] _T_32628; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@140701.4]
+  wire [23:0] _T_32655; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@140728.4]
+  wire [31:0] _T_32682; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@140755.4]
+  wire [15:0] _T_32734; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@140807.4]
+  wire [23:0] _T_32761; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@140834.4]
+  wire [31:0] _T_32788; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@140861.4]
+  wire [15:0] _T_32840; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@140913.4]
+  wire [23:0] _T_32867; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@140940.4]
+  wire [31:0] _T_32894; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@140967.4]
+  wire [15:0] _T_32946; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@141019.4]
+  wire [23:0] _T_32973; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@141046.4]
+  wire [31:0] _T_33000; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@141073.4]
+  wire [15:0] _T_33052; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@141125.4]
+  wire [23:0] _T_33079; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@141152.4]
+  wire [31:0] _T_33106; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@141179.4]
+  wire  _T_60037; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@168310.4]
+  wire  _T_65742; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@176044.4]
+  wire  _T_65743; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@176045.4]
+  wire  _T_33121; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@141194.4]
+  wire  _T_33146; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@141222.4]
+  wire  _T_33173; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@141252.4]
+  wire  _T_33200; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@141282.4]
+  wire [15:0] _T_33264; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@141349.4]
+  wire [23:0] _T_33291; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@141376.4]
+  wire [31:0] _T_33318; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@141403.4]
+  wire [15:0] _T_33370; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@141455.4]
+  wire [23:0] _T_33397; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@141482.4]
+  wire [31:0] _T_33424; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@141509.4]
+  wire [15:0] _T_33476; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@141561.4]
+  wire [23:0] _T_33503; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@141588.4]
+  wire [31:0] _T_33530; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@141615.4]
+  wire [15:0] _T_33582; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@141667.4]
+  wire [23:0] _T_33609; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@141694.4]
+  wire [31:0] _T_33636; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@141721.4]
+  wire [15:0] _T_33688; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@141773.4]
+  wire [23:0] _T_33715; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@141800.4]
+  wire [31:0] _T_33742; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@141827.4]
+  wire  _T_60032; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@168305.4]
+  wire  _T_65712; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@175989.4]
+  wire  _T_65713; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@175990.4]
+  wire  _T_33757; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@141842.4]
+  wire  _T_33782; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@141870.4]
+  wire  _T_33809; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@141900.4]
+  wire  _T_33836; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@141930.4]
+  wire [15:0] _T_33900; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@141997.4]
+  wire [23:0] _T_33927; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@142024.4]
+  wire [31:0] _T_33954; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@142051.4]
+  wire [15:0] _T_34112; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@142209.4]
+  wire [23:0] _T_34139; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@142236.4]
+  wire [31:0] _T_34166; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@142263.4]
+  wire [15:0] _T_34218; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@142315.4]
+  wire [23:0] _T_34245; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@142342.4]
+  wire [31:0] _T_34272; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@142369.4]
+  wire [15:0] _T_34324; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@142421.4]
+  wire [23:0] _T_34351; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@142448.4]
+  wire [31:0] _T_34378; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@142475.4]
+  wire [15:0] _T_34430; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@142527.4]
+  wire [23:0] _T_34457; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@142554.4]
+  wire [31:0] _T_34484; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@142581.4]
+  wire [15:0] _T_34536; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@142633.4]
+  wire [23:0] _T_34563; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@142660.4]
+  wire [31:0] _T_34590; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@142687.4]
+  wire  _T_60042; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@168315.4]
+  wire  _T_65772; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@176099.4]
+  wire  _T_65773; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@176100.4]
+  wire  _T_34605; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@142702.4]
+  wire  _T_34630; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@142730.4]
+  wire  _T_34657; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@142760.4]
+  wire  _T_34684; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@142790.4]
+  wire [15:0] _T_34748; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@142857.4]
+  wire [23:0] _T_34775; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@142884.4]
+  wire [31:0] _T_34802; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@142911.4]
+  wire [15:0] _T_34854; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@142963.4]
+  wire [23:0] _T_34881; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@142990.4]
+  wire [31:0] _T_34908; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143017.4]
+  wire [15:0] _T_34960; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143069.4]
+  wire [23:0] _T_34987; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143096.4]
+  wire [31:0] _T_35014; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143123.4]
+  wire [15:0] _T_35066; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143175.4]
+  wire [23:0] _T_35093; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143202.4]
+  wire [31:0] _T_35120; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143229.4]
+  wire [15:0] _T_35172; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143281.4]
+  wire [23:0] _T_35199; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143308.4]
+  wire [31:0] _T_35226; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143335.4]
+  wire [15:0] _T_35278; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143387.4]
+  wire [23:0] _T_35305; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143414.4]
+  wire [31:0] _T_35332; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143441.4]
+  wire [15:0] _T_35384; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143493.4]
+  wire [23:0] _T_35411; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143520.4]
+  wire [31:0] _T_35438; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143547.4]
+  wire [15:0] _T_35596; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143705.4]
+  wire [23:0] _T_35623; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143732.4]
+  wire [31:0] _T_35650; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143759.4]
+  wire [15:0] _T_35727; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143836.4]
+  wire [23:0] _T_35754; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143863.4]
+  wire [31:0] _T_35781; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143890.4]
+  wire [15:0] _T_35833; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143942.4]
+  wire [23:0] _T_35860; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143969.4]
+  wire [31:0] _T_35887; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143996.4]
+  wire [15:0] _T_35939; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@144048.4]
+  wire [23:0] _T_35966; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@144075.4]
+  wire [31:0] _T_35993; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@144102.4]
+  wire [15:0] _T_36045; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@144154.4]
+  wire [23:0] _T_36072; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@144181.4]
+  wire [31:0] _T_36099; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@144208.4]
+  wire [15:0] _T_36257; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@144366.4]
+  wire [23:0] _T_36284; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@144393.4]
+  wire [31:0] _T_36311; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@144420.4]
+  wire [15:0] _T_36363; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@144472.4]
+  wire [23:0] _T_36390; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@144499.4]
+  wire [31:0] _T_36417; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@144526.4]
+  wire [15:0] _T_36575; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@144684.4]
+  wire [23:0] _T_36602; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@144711.4]
+  wire [31:0] _T_36629; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@144738.4]
+  wire  _T_60041; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@168314.4]
+  wire  _T_65766; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@176088.4]
+  wire  _T_65767; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@176089.4]
+  wire  _T_36644; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@144753.4]
+  wire  _T_36669; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@144781.4]
+  wire  _T_36696; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@144811.4]
+  wire  _T_36723; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@144841.4]
+  wire [15:0] _T_36787; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@144908.4]
+  wire [23:0] _T_36814; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@144935.4]
+  wire [31:0] _T_36841; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@144962.4]
+  wire [15:0] _T_36893; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145014.4]
+  wire [23:0] _T_36920; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145041.4]
+  wire [31:0] _T_36947; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145068.4]
+  wire [15:0] _T_36999; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145120.4]
+  wire [23:0] _T_37026; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145147.4]
+  wire [31:0] _T_37053; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145174.4]
+  wire [15:0] _T_37105; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145226.4]
+  wire [23:0] _T_37132; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145253.4]
+  wire [31:0] _T_37159; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145280.4]
+  wire [15:0] _T_37211; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145332.4]
+  wire [23:0] _T_37238; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145359.4]
+  wire [31:0] _T_37265; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145386.4]
+  wire [15:0] _T_37317; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145438.4]
+  wire [23:0] _T_37344; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145465.4]
+  wire [31:0] _T_37371; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145492.4]
+  wire [15:0] _T_37423; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145544.4]
+  wire [23:0] _T_37450; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145571.4]
+  wire [31:0] _T_37477; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145598.4]
+  wire [15:0] _T_37529; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145650.4]
+  wire [23:0] _T_37556; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145677.4]
+  wire [31:0] _T_37583; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145704.4]
+  wire [15:0] _T_37660; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145781.4]
+  wire [23:0] _T_37687; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145808.4]
+  wire [31:0] _T_37714; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145835.4]
+  wire [15:0] _T_37766; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145887.4]
+  wire [23:0] _T_37793; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145914.4]
+  wire [31:0] _T_37820; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145941.4]
+  wire [15:0] _T_37872; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145993.4]
+  wire [23:0] _T_37899; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146020.4]
+  wire [31:0] _T_37926; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146047.4]
+  wire [15:0] _T_37978; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146099.4]
+  wire [23:0] _T_38005; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146126.4]
+  wire [31:0] _T_38032; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146153.4]
+  wire [15:0] _T_38084; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146205.4]
+  wire [23:0] _T_38111; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146232.4]
+  wire [31:0] _T_38138; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146259.4]
+  wire [15:0] _T_38190; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146311.4]
+  wire [23:0] _T_38217; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146338.4]
+  wire [31:0] _T_38244; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146365.4]
+  wire [15:0] _T_38321; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146444.4]
+  wire [23:0] _T_38348; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146471.4]
+  wire [31:0] _T_38375; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146498.4]
+  wire [15:0] _T_38427; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146550.4]
+  wire [23:0] _T_38454; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146577.4]
+  wire [31:0] _T_38481; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146604.4]
+  wire [15:0] _T_38639; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146762.4]
+  wire [23:0] _T_38666; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146789.4]
+  wire [31:0] _T_38693; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146816.4]
+  wire [15:0] _T_38745; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146868.4]
+  wire [23:0] _T_38772; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146895.4]
+  wire [31:0] _T_38799; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146922.4]
+  wire [15:0] _T_38851; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146974.4]
+  wire [23:0] _T_38878; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147001.4]
+  wire [31:0] _T_38905; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147028.4]
+  wire [15:0] _T_38957; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147080.4]
+  wire [23:0] _T_38984; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147107.4]
+  wire [31:0] _T_39011; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147134.4]
+  wire [15:0] _T_39063; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147186.4]
+  wire [23:0] _T_39090; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147213.4]
+  wire [31:0] _T_39117; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147240.4]
+  wire  _T_60045; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@168318.4]
+  wire  _T_65790; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@176132.4]
+  wire  _T_65791; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@176133.4]
+  wire  _T_39132; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@147255.4]
+  wire  _T_39157; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@147283.4]
+  wire  _T_39184; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@147313.4]
+  wire  _T_39211; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@147343.4]
+  wire [15:0] _T_39381; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147516.4]
+  wire [23:0] _T_39408; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147543.4]
+  wire [31:0] _T_39435; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147570.4]
+  wire [15:0] _T_39487; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147622.4]
+  wire [23:0] _T_39514; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147649.4]
+  wire [31:0] _T_39541; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147676.4]
+  wire [15:0] _T_39593; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147728.4]
+  wire [23:0] _T_39620; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147755.4]
+  wire [31:0] _T_39647; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147782.4]
+  wire [15:0] _T_39699; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147834.4]
+  wire [23:0] _T_39726; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147861.4]
+  wire [31:0] _T_39753; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147888.4]
+  wire [15:0] _T_39805; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147940.4]
+  wire [23:0] _T_39832; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147967.4]
+  wire [31:0] _T_39859; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147994.4]
+  wire [15:0] _T_39911; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148046.4]
+  wire [23:0] _T_39938; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148073.4]
+  wire [31:0] _T_39965; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148100.4]
+  wire [15:0] _T_40017; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148152.4]
+  wire [23:0] _T_40044; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148179.4]
+  wire [31:0] _T_40071; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148206.4]
+  wire [15:0] _T_40123; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148258.4]
+  wire [23:0] _T_40150; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148285.4]
+  wire [31:0] _T_40177; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148312.4]
+  wire [15:0] _T_40229; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148364.4]
+  wire [23:0] _T_40256; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148391.4]
+  wire [31:0] _T_40283; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148418.4]
+  wire [15:0] _T_40335; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148470.4]
+  wire [23:0] _T_40362; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148497.4]
+  wire [31:0] _T_40389; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148524.4]
+  wire [15:0] _T_40441; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148576.4]
+  wire [23:0] _T_40468; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148603.4]
+  wire [31:0] _T_40495; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148630.4]
+  wire [15:0] _T_40547; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148682.4]
+  wire [23:0] _T_40574; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148709.4]
+  wire [31:0] _T_40601; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148736.4]
+  wire [15:0] _T_40759; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148894.4]
+  wire [23:0] _T_40786; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148921.4]
+  wire [31:0] _T_40813; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148948.4]
+  wire  _T_60033; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@168306.4]
+  wire  _T_65718; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@176000.4]
+  wire  _T_65719; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@176001.4]
+  wire  _T_40828; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@148963.4]
+  wire  _T_40853; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@148991.4]
+  wire  _T_40880; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@149021.4]
+  wire  _T_40907; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@149051.4]
+  wire [15:0] _T_40971; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149118.4]
+  wire [23:0] _T_40998; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149145.4]
+  wire [31:0] _T_41025; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149172.4]
+  wire [15:0] _T_41183; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149330.4]
+  wire [23:0] _T_41210; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149357.4]
+  wire [31:0] _T_41237; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149384.4]
+  wire [15:0] _T_41289; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149436.4]
+  wire [23:0] _T_41316; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149463.4]
+  wire [31:0] _T_41343; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149490.4]
+  wire [15:0] _T_41395; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149542.4]
+  wire [23:0] _T_41422; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149569.4]
+  wire [31:0] _T_41449; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149596.4]
+  wire [15:0] _T_41501; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149648.4]
+  wire [23:0] _T_41528; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149675.4]
+  wire [31:0] _T_41555; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149702.4]
+  wire [15:0] _T_41607; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149754.4]
+  wire [23:0] _T_41634; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149781.4]
+  wire [31:0] _T_41661; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149808.4]
+  wire [15:0] _T_41713; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149860.4]
+  wire [23:0] _T_41740; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149887.4]
+  wire [31:0] _T_41767; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149914.4]
+  wire [15:0] _T_41819; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149966.4]
+  wire [23:0] _T_41846; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149993.4]
+  wire [31:0] _T_41873; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150020.4]
+  wire [15:0] _T_41925; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150072.4]
+  wire [23:0] _T_41952; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150099.4]
+  wire [31:0] _T_41979; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150126.4]
+  wire [15:0] _T_42031; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150178.4]
+  wire [23:0] _T_42058; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150205.4]
+  wire [31:0] _T_42085; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150232.4]
+  wire [15:0] _T_42243; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150390.4]
+  wire [23:0] _T_42270; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150417.4]
+  wire [31:0] _T_42297; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150444.4]
+  wire [15:0] _T_42349; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150496.4]
+  wire [23:0] _T_42376; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150523.4]
+  wire [31:0] _T_42403; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150550.4]
+  wire [15:0] _T_42455; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150602.4]
+  wire [23:0] _T_42482; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150629.4]
+  wire [31:0] _T_42509; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150656.4]
+  wire [15:0] _T_42667; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150814.4]
+  wire [23:0] _T_42694; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150841.4]
+  wire [31:0] _T_42721; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150868.4]
+  wire [15:0] _T_42773; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150920.4]
+  wire [23:0] _T_42800; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150947.4]
+  wire [31:0] _T_42827; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150974.4]
+  wire [15:0] _T_42879; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151026.4]
+  wire [23:0] _T_42906; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151053.4]
+  wire [31:0] _T_42933; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151080.4]
+  wire [15:0] _T_43010; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151159.4]
+  wire [23:0] _T_43037; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151186.4]
+  wire [31:0] _T_43064; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151213.4]
+  wire [15:0] _T_43116; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151265.4]
+  wire [23:0] _T_43143; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151292.4]
+  wire [31:0] _T_43170; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151319.4]
+  wire [15:0] _T_43222; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151371.4]
+  wire [23:0] _T_43249; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151398.4]
+  wire [31:0] _T_43276; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151425.4]
+  wire [15:0] _T_43328; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151477.4]
+  wire [23:0] _T_43355; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151504.4]
+  wire [31:0] _T_43382; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151531.4]
+  wire [15:0] _T_43434; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151583.4]
+  wire [23:0] _T_43461; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151610.4]
+  wire [31:0] _T_43488; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151637.4]
+  wire [15:0] _T_43540; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151689.4]
+  wire [23:0] _T_43567; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151716.4]
+  wire [31:0] _T_43594; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151743.4]
+  wire [15:0] _T_43646; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151795.4]
+  wire [23:0] _T_43673; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151822.4]
+  wire [31:0] _T_43700; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151849.4]
+  wire [15:0] _T_43752; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151901.4]
+  wire [23:0] _T_43779; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151928.4]
+  wire [31:0] _T_43806; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151955.4]
+  wire [15:0] _T_43858; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152007.4]
+  wire [23:0] _T_43885; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152034.4]
+  wire [31:0] _T_43912; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152061.4]
+  wire [15:0] _T_43964; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152113.4]
+  wire [23:0] _T_43991; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152140.4]
+  wire [31:0] _T_44018; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152167.4]
+  wire [15:0] _T_44070; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152219.4]
+  wire [23:0] _T_44097; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152246.4]
+  wire [31:0] _T_44124; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152273.4]
+  wire [15:0] _T_44176; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152325.4]
+  wire [23:0] _T_44203; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152352.4]
+  wire [31:0] _T_44230; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152379.4]
+  wire [15:0] _T_44282; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152431.4]
+  wire [23:0] _T_44309; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152458.4]
+  wire [31:0] _T_44336; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152485.4]
+  wire [15:0] _T_44388; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152537.4]
+  wire [23:0] _T_44415; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152564.4]
+  wire [31:0] _T_44442; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152591.4]
+  wire [15:0] _T_44494; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152643.4]
+  wire [23:0] _T_44521; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152670.4]
+  wire [31:0] _T_44548; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152697.4]
+  wire [15:0] _T_44600; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152749.4]
+  wire [23:0] _T_44627; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152776.4]
+  wire [31:0] _T_44654; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152803.4]
+  wire [15:0] _T_44706; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152855.4]
+  wire [23:0] _T_44733; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152882.4]
+  wire [31:0] _T_44760; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152909.4]
+  wire [15:0] _T_44812; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152961.4]
+  wire [23:0] _T_44839; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152988.4]
+  wire [31:0] _T_44866; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153015.4]
+  wire [15:0] _T_44918; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153067.4]
+  wire [23:0] _T_44945; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153094.4]
+  wire [31:0] _T_44972; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153121.4]
+  wire  _T_60040; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@168313.4]
+  wire  _T_65760; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@176077.4]
+  wire  _T_65761; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@176078.4]
+  wire  _T_44987; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@153136.4]
+  wire  _T_45012; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@153164.4]
+  wire  _T_45039; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@153194.4]
+  wire  _T_45066; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@153224.4]
+  wire [15:0] _T_45130; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153291.4]
+  wire [23:0] _T_45157; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153318.4]
+  wire [31:0] _T_45184; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153345.4]
+  wire [15:0] _T_45236; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153397.4]
+  wire [23:0] _T_45263; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153424.4]
+  wire [31:0] _T_45290; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153451.4]
+  wire [15:0] _T_45342; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153503.4]
+  wire [23:0] _T_45369; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153530.4]
+  wire [31:0] _T_45396; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153557.4]
+  wire [15:0] _T_45448; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153609.4]
+  wire [23:0] _T_45475; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153636.4]
+  wire [31:0] _T_45502; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153663.4]
+  wire [15:0] _T_45554; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153715.4]
+  wire [23:0] _T_45581; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153742.4]
+  wire [31:0] _T_45608; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153769.4]
+  wire [15:0] _T_45660; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153821.4]
+  wire [23:0] _T_45687; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153848.4]
+  wire [31:0] _T_45714; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153875.4]
+  wire [15:0] _T_45766; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153927.4]
+  wire [23:0] _T_45793; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153954.4]
+  wire [31:0] _T_45820; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153981.4]
+  wire [15:0] _T_45872; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154033.4]
+  wire [23:0] _T_45899; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154060.4]
+  wire [31:0] _T_45926; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154087.4]
+  wire [15:0] _T_45978; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154139.4]
+  wire [23:0] _T_46005; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154166.4]
+  wire [31:0] _T_46032; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154193.4]
+  wire [15:0] _T_46084; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154245.4]
+  wire [23:0] _T_46111; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154272.4]
+  wire [31:0] _T_46138; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154299.4]
+  wire  _T_60029; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@168302.4]
+  wire  _T_65694; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@175956.4]
+  wire  _T_65695; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@175957.4]
+  wire  _T_46153; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@154314.4]
+  wire  _T_46178; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@154342.4]
+  wire  _T_46205; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@154372.4]
+  wire  _T_46232; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@154402.4]
+  wire [15:0] _T_46296; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154469.4]
+  wire [23:0] _T_46323; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154496.4]
+  wire [31:0] _T_46350; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154523.4]
+  wire [15:0] _T_46402; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154575.4]
+  wire [23:0] _T_46429; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154602.4]
+  wire [31:0] _T_46456; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154629.4]
+  wire [15:0] _T_46508; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154681.4]
+  wire [23:0] _T_46535; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154708.4]
+  wire [31:0] _T_46562; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154735.4]
+  wire [15:0] _T_46614; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154787.4]
+  wire [23:0] _T_46641; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154814.4]
+  wire [31:0] _T_46668; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154841.4]
+  wire [15:0] _T_46720; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154893.4]
+  wire [23:0] _T_46747; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154920.4]
+  wire [31:0] _T_46774; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154947.4]
+  wire [15:0] _T_46826; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154999.4]
+  wire [23:0] _T_46853; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@155026.4]
+  wire [31:0] _T_46880; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@155053.4]
+  wire  _T_60034; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@168307.4]
+  wire  _T_65724; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@176011.4]
+  wire  _T_65725; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@176012.4]
+  wire  _T_46895; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@155068.4]
+  wire  _T_46920; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@155096.4]
+  wire  _T_46947; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@155126.4]
+  wire  _T_46974; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@155156.4]
+  wire [15:0] _T_47038; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@155223.4]
+  wire [23:0] _T_47065; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@155250.4]
+  wire [31:0] _T_47092; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@155277.4]
+  wire [15:0] _T_47275; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@155462.4]
+  wire [23:0] _T_47302; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@155489.4]
+  wire [31:0] _T_47329; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@155516.4]
+  wire [15:0] _T_47381; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@155568.4]
+  wire [23:0] _T_47408; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@155595.4]
+  wire [31:0] _T_47435; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@155622.4]
+  wire [15:0] _T_47593; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@155780.4]
+  wire [23:0] _T_47620; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@155807.4]
+  wire [31:0] _T_47647; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@155834.4]
+  wire [15:0] _T_47699; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@155886.4]
+  wire [23:0] _T_47726; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@155913.4]
+  wire [31:0] _T_47753; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@155940.4]
+  wire [15:0] _T_47805; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@155992.4]
+  wire [23:0] _T_47832; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156019.4]
+  wire [31:0] _T_47859; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156046.4]
+  wire  _T_60044; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@168317.4]
+  wire  _T_65784; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@176121.4]
+  wire  _T_65785; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@176122.4]
+  wire  _T_47874; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@156061.4]
+  wire  _T_47899; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@156089.4]
+  wire  _T_47926; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@156119.4]
+  wire  _T_47953; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@156149.4]
+  wire [15:0] _T_48017; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156216.4]
+  wire [23:0] _T_48044; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156243.4]
+  wire [31:0] _T_48071; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156270.4]
+  wire [15:0] _T_48123; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156322.4]
+  wire [23:0] _T_48150; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156349.4]
+  wire [31:0] _T_48177; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156376.4]
+  wire [15:0] _T_48229; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156428.4]
+  wire [23:0] _T_48256; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156455.4]
+  wire [31:0] _T_48283; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156482.4]
+  wire [15:0] _T_48335; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156534.4]
+  wire [23:0] _T_48362; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156561.4]
+  wire [31:0] _T_48389; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156588.4]
+  wire [15:0] _T_48441; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156640.4]
+  wire [23:0] _T_48468; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156667.4]
+  wire [31:0] _T_48495; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156694.4]
+  wire [15:0] _T_48547; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156746.4]
+  wire [23:0] _T_48574; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156773.4]
+  wire [31:0] _T_48601; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156800.4]
+  wire [15:0] _T_48653; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156852.4]
+  wire [23:0] _T_48680; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156879.4]
+  wire [31:0] _T_48707; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156906.4]
+  wire [15:0] _T_48759; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156958.4]
+  wire [23:0] _T_48786; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156985.4]
+  wire [31:0] _T_48813; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157012.4]
+  wire [15:0] _T_48865; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157064.4]
+  wire [23:0] _T_48892; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157091.4]
+  wire [31:0] _T_48919; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157118.4]
+  wire [15:0] _T_48971; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157170.4]
+  wire [23:0] _T_48998; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157197.4]
+  wire [31:0] _T_49025; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157224.4]
+  wire [15:0] _T_49183; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157382.4]
+  wire [23:0] _T_49210; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157409.4]
+  wire [31:0] _T_49237; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157436.4]
+  wire  _T_60030; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@168303.4]
+  wire  _T_65700; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@175967.4]
+  wire  _T_65701; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@175968.4]
+  wire  _T_49252; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@157451.4]
+  wire  _T_49277; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@157479.4]
+  wire  _T_49304; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@157509.4]
+  wire  _T_49331; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@157539.4]
+  wire [15:0] _T_49395; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157606.4]
+  wire [23:0] _T_49422; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157633.4]
+  wire [31:0] _T_49449; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157660.4]
+  wire [15:0] _T_49607; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157818.4]
+  wire [23:0] _T_49634; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157845.4]
+  wire [31:0] _T_49661; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157872.4]
+  wire [15:0] _T_49713; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157924.4]
+  wire [23:0] _T_49740; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157951.4]
+  wire [31:0] _T_49767; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157978.4]
+  wire [15:0] _T_49819; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158030.4]
+  wire [23:0] _T_49846; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158057.4]
+  wire [31:0] _T_49873; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158084.4]
+  wire [15:0] _T_50031; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158242.4]
+  wire [23:0] _T_50058; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158269.4]
+  wire [31:0] _T_50085; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158296.4]
+  wire [15:0] _T_50137; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158348.4]
+  wire [23:0] _T_50164; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158375.4]
+  wire [31:0] _T_50191; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158402.4]
+  wire [15:0] _T_50243; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158454.4]
+  wire [23:0] _T_50270; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158481.4]
+  wire [31:0] _T_50297; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158508.4]
+  wire [15:0] _T_50349; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158560.4]
+  wire [23:0] _T_50376; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158587.4]
+  wire [31:0] _T_50403; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158614.4]
+  wire [15:0] _T_50455; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158666.4]
+  wire [23:0] _T_50482; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158693.4]
+  wire [31:0] _T_50509; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158720.4]
+  wire [15:0] _T_50561; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158772.4]
+  wire [23:0] _T_50588; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158799.4]
+  wire [31:0] _T_50615; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158826.4]
+  wire [15:0] _T_50667; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158878.4]
+  wire [23:0] _T_50694; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158905.4]
+  wire [31:0] _T_50721; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158932.4]
+  wire [15:0] _T_50798; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159011.4]
+  wire [23:0] _T_50825; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159038.4]
+  wire [31:0] _T_50852; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159065.4]
+  wire [15:0] _T_50904; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159117.4]
+  wire [23:0] _T_50931; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159144.4]
+  wire [31:0] _T_50958; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159171.4]
+  wire [15:0] _T_51010; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159223.4]
+  wire [23:0] _T_51037; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159250.4]
+  wire [31:0] _T_51064; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159277.4]
+  wire [15:0] _T_51116; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159329.4]
+  wire [23:0] _T_51143; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159356.4]
+  wire [31:0] _T_51170; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159383.4]
+  wire [15:0] _T_51222; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159435.4]
+  wire [23:0] _T_51249; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159462.4]
+  wire [31:0] _T_51276; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159489.4]
+  wire [15:0] _T_51328; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159541.4]
+  wire [23:0] _T_51355; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159568.4]
+  wire [31:0] _T_51382; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159595.4]
+  wire [15:0] _T_51434; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159647.4]
+  wire [23:0] _T_51461; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159674.4]
+  wire [31:0] _T_51488; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159701.4]
+  wire [15:0] _T_51540; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159753.4]
+  wire [23:0] _T_51567; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159780.4]
+  wire [31:0] _T_51594; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159807.4]
+  wire [15:0] _T_51646; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159859.4]
+  wire [23:0] _T_51673; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159886.4]
+  wire [31:0] _T_51700; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159913.4]
+  wire [15:0] _T_51752; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159965.4]
+  wire [23:0] _T_51779; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159992.4]
+  wire [31:0] _T_51806; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160019.4]
+  wire [15:0] _T_51858; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160071.4]
+  wire [23:0] _T_51885; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160098.4]
+  wire [31:0] _T_51912; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160125.4]
+  wire [15:0] _T_51964; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160177.4]
+  wire [23:0] _T_51991; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160204.4]
+  wire [31:0] _T_52018; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160231.4]
+  wire [15:0] _T_52070; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160283.4]
+  wire [23:0] _T_52097; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160310.4]
+  wire [31:0] _T_52124; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160337.4]
+  wire [15:0] _T_52176; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160389.4]
+  wire [23:0] _T_52203; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160416.4]
+  wire [31:0] _T_52230; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160443.4]
+  wire [15:0] _T_52282; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160495.4]
+  wire [23:0] _T_52309; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160522.4]
+  wire [31:0] _T_52336; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160549.4]
+  wire [15:0] _T_52388; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160601.4]
+  wire [23:0] _T_52415; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160628.4]
+  wire [31:0] _T_52442; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160655.4]
+  wire [15:0] _T_52494; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160707.4]
+  wire [23:0] _T_52521; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160734.4]
+  wire [31:0] _T_52548; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160761.4]
+  wire [15:0] _T_52706; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160919.4]
+  wire [23:0] _T_52733; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160946.4]
+  wire [31:0] _T_52760; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160973.4]
+  wire  _T_60039; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@168312.4]
+  wire  _T_65754; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@176066.4]
+  wire  _T_65755; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@176067.4]
+  wire  _T_52775; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@160988.4]
+  wire  _T_52800; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@161016.4]
+  wire  _T_52827; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@161046.4]
+  wire  _T_52854; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@161076.4]
+  wire [15:0] _T_52918; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161143.4]
+  wire [23:0] _T_52945; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161170.4]
+  wire [31:0] _T_52972; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161197.4]
+  wire [15:0] _T_53130; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161355.4]
+  wire [23:0] _T_53157; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161382.4]
+  wire [31:0] _T_53184; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161409.4]
+  wire [15:0] _T_53236; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161461.4]
+  wire [23:0] _T_53263; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161488.4]
+  wire [31:0] _T_53290; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161515.4]
+  wire [15:0] _T_53342; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161567.4]
+  wire [23:0] _T_53369; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161594.4]
+  wire [31:0] _T_53396; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161621.4]
+  wire [15:0] _T_53448; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161673.4]
+  wire [23:0] _T_53475; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161700.4]
+  wire [31:0] _T_53502; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161727.4]
+  wire [15:0] _T_53554; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161779.4]
+  wire [23:0] _T_53581; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161806.4]
+  wire [31:0] _T_53608; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161833.4]
+  wire [15:0] _T_53660; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161885.4]
+  wire [23:0] _T_53687; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161912.4]
+  wire [31:0] _T_53714; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161939.4]
+  wire [15:0] _T_53766; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161991.4]
+  wire [23:0] _T_53793; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162018.4]
+  wire [31:0] _T_53820; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162045.4]
+  wire [15:0] _T_53872; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162097.4]
+  wire [23:0] _T_53899; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162124.4]
+  wire [31:0] _T_53926; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162151.4]
+  wire [15:0] _T_53978; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162203.4]
+  wire [23:0] _T_54005; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162230.4]
+  wire [31:0] _T_54032; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162257.4]
+  wire [15:0] _T_54084; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162309.4]
+  wire [23:0] _T_54111; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162336.4]
+  wire [31:0] _T_54138; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162363.4]
+  wire [15:0] _T_54190; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162415.4]
+  wire [23:0] _T_54217; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162442.4]
+  wire [31:0] _T_54244; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162469.4]
+  wire [15:0] _T_54321; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162546.4]
+  wire [23:0] _T_54348; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162573.4]
+  wire [31:0] _T_54375; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162600.4]
+  wire [15:0] _T_54427; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162652.4]
+  wire [23:0] _T_54454; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162679.4]
+  wire [31:0] _T_54481; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162706.4]
+  wire [15:0] _T_54533; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162758.4]
+  wire [23:0] _T_54560; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162785.4]
+  wire [31:0] _T_54587; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162812.4]
+  wire [15:0] _T_54639; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162864.4]
+  wire [23:0] _T_54666; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162891.4]
+  wire [31:0] _T_54693; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162918.4]
+  wire  _T_60035; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@168308.4]
+  wire  _T_65730; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@176022.4]
+  wire  _T_65731; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@176023.4]
+  wire  _T_54708; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@162933.4]
+  wire  _T_54733; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@162961.4]
+  wire  _T_54760; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@162991.4]
+  wire  _T_54787; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@163021.4]
+  wire [15:0] _T_54851; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163088.4]
+  wire [23:0] _T_54878; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163115.4]
+  wire [31:0] _T_54905; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163142.4]
+  wire [15:0] _T_54957; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163194.4]
+  wire [23:0] _T_54984; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163221.4]
+  wire [31:0] _T_55011; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163248.4]
+  wire [15:0] _T_55063; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163300.4]
+  wire [23:0] _T_55090; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163327.4]
+  wire [31:0] _T_55117; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163354.4]
+  wire [15:0] _T_55169; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163406.4]
+  wire [23:0] _T_55196; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163433.4]
+  wire [31:0] _T_55223; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163460.4]
+  wire [15:0] _T_55275; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163512.4]
+  wire [23:0] _T_55302; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163539.4]
+  wire [31:0] _T_55329; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163566.4]
+  wire [15:0] _T_55381; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163618.4]
+  wire [23:0] _T_55408; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163645.4]
+  wire [31:0] _T_55435; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163672.4]
+  wire [15:0] _T_55487; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163724.4]
+  wire [23:0] _T_55514; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163751.4]
+  wire [31:0] _T_55541; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163778.4]
+  wire [15:0] _T_55593; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163830.4]
+  wire [23:0] _T_55620; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163857.4]
+  wire [31:0] _T_55647; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163884.4]
+  wire [15:0] _T_55699; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163936.4]
+  wire [23:0] _T_55726; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163963.4]
+  wire [31:0] _T_55753; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163990.4]
+  wire [15:0] _T_55805; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164042.4]
+  wire [23:0] _T_55832; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164069.4]
+  wire [31:0] _T_55859; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164096.4]
+  wire [15:0] _T_55911; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164148.4]
+  wire [23:0] _T_55938; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164175.4]
+  wire [31:0] _T_55965; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164202.4]
+  wire [15:0] _T_56017; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164254.4]
+  wire [23:0] _T_56044; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164281.4]
+  wire [31:0] _T_56071; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164308.4]
+  wire  _T_60031; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@168304.4]
+  wire  _T_65706; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@175978.4]
+  wire  _T_65707; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@175979.4]
+  wire  _T_56086; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@164323.4]
+  wire  _T_56111; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@164351.4]
+  wire  _T_56138; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@164381.4]
+  wire  _T_56165; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@164411.4]
+  wire [15:0] _T_56229; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164478.4]
+  wire [23:0] _T_56256; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164505.4]
+  wire [31:0] _T_56283; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164532.4]
+  wire [15:0] _T_56335; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164584.4]
+  wire [23:0] _T_56362; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164611.4]
+  wire [31:0] _T_56389; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164638.4]
+  wire [15:0] _T_56441; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164690.4]
+  wire [23:0] _T_56468; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164717.4]
+  wire [31:0] _T_56495; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164744.4]
+  wire [15:0] _T_56547; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164796.4]
+  wire [23:0] _T_56574; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164823.4]
+  wire [31:0] _T_56601; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164850.4]
+  wire [15:0] _T_56653; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164902.4]
+  wire [23:0] _T_56680; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164929.4]
+  wire [31:0] _T_56707; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164956.4]
+  wire [15:0] _T_56759; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165008.4]
+  wire [23:0] _T_56786; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165035.4]
+  wire [31:0] _T_56813; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165062.4]
+  wire [15:0] _T_56865; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165114.4]
+  wire [23:0] _T_56892; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165141.4]
+  wire [31:0] _T_56919; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165168.4]
+  wire [15:0] _T_56971; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165220.4]
+  wire [23:0] _T_56998; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165247.4]
+  wire [31:0] _T_57025; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165274.4]
+  wire [15:0] _T_57077; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165326.4]
+  wire [23:0] _T_57104; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165353.4]
+  wire [31:0] _T_57131; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165380.4]
+  wire [15:0] _T_57289; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165538.4]
+  wire [23:0] _T_57316; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165565.4]
+  wire [31:0] _T_57343; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165592.4]
+  wire [15:0] _T_57395; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165644.4]
+  wire [23:0] _T_57422; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165671.4]
+  wire [31:0] _T_57449; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165698.4]
+  wire [15:0] _T_57501; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165750.4]
+  wire [23:0] _T_57528; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165777.4]
+  wire [31:0] _T_57555; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165804.4]
+  wire [15:0] _T_57607; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165856.4]
+  wire [23:0] _T_57634; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165883.4]
+  wire [31:0] _T_57661; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165910.4]
+  wire [15:0] _T_57713; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165962.4]
+  wire [23:0] _T_57740; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165989.4]
+  wire [31:0] _T_57767; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166016.4]
+  wire [15:0] _T_57819; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166068.4]
+  wire [23:0] _T_57846; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166095.4]
+  wire [31:0] _T_57873; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166122.4]
+  wire [15:0] _T_58031; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166280.4]
+  wire [23:0] _T_58058; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166307.4]
+  wire [31:0] _T_58085; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166334.4]
+  wire [15:0] _T_58137; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166386.4]
+  wire [23:0] _T_58164; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166413.4]
+  wire [31:0] _T_58191; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166440.4]
+  wire [15:0] _T_58243; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166492.4]
+  wire [23:0] _T_58270; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166519.4]
+  wire [31:0] _T_58297; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166546.4]
+  wire [15:0] _T_58349; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166598.4]
+  wire [23:0] _T_58376; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166625.4]
+  wire [31:0] _T_58403; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166652.4]
+  wire [15:0] _T_58455; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166704.4]
+  wire [23:0] _T_58482; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166731.4]
+  wire [31:0] _T_58509; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166758.4]
+  wire [15:0] _T_58561; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166810.4]
+  wire [23:0] _T_58588; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166837.4]
+  wire [31:0] _T_58615; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166864.4]
+  wire [15:0] _T_58667; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166916.4]
+  wire [23:0] _T_58694; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166943.4]
+  wire [31:0] _T_58721; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166970.4]
+  wire [15:0] _T_58773; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167022.4]
+  wire [23:0] _T_58800; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167049.4]
+  wire [31:0] _T_58827; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167076.4]
+  wire [15:0] _T_58879; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167128.4]
+  wire [23:0] _T_58906; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167155.4]
+  wire [31:0] _T_58933; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167182.4]
+  wire [15:0] _T_58985; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167234.4]
+  wire [23:0] _T_59012; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167261.4]
+  wire [31:0] _T_59039; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167288.4]
+  wire [15:0] _T_59091; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167340.4]
+  wire [23:0] _T_59118; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167367.4]
+  wire [31:0] _T_59145; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167394.4]
+  wire  _T_60036; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@168309.4]
+  wire  _T_65736; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@176033.4]
+  wire  _T_65737; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@176034.4]
+  wire  _T_59160; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@167409.4]
+  wire  _T_59185; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@167437.4]
+  wire  _T_59212; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@167467.4]
+  wire  _T_59239; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@167497.4]
+  wire [15:0] _T_59303; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167564.4]
+  wire [23:0] _T_59330; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167591.4]
+  wire [31:0] _T_59357; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167618.4]
+  wire  _T_60043; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@168316.4]
+  wire  _T_65778; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@176110.4]
+  wire  _T_65779; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@176111.4]
+  wire  _T_59372; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@167633.4]
+  wire  _T_59397; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@167661.4]
+  wire  _T_59424; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@167691.4]
+  wire  _T_59451; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@167721.4]
+  wire [15:0] _T_59515; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167788.4]
+  wire [23:0] _T_59542; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167815.4]
+  wire [31:0] _T_59569; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167842.4]
+  wire [15:0] _T_59621; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167894.4]
+  wire [23:0] _T_59648; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167921.4]
+  wire [31:0] _T_59675; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167948.4]
+  wire [15:0] _T_59727; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@168000.4]
+  wire [23:0] _T_59754; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@168027.4]
+  wire [31:0] _T_59781; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@168054.4]
+  wire  _GEN_4553; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4554; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4555; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4556; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4557; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4558; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4559; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4560; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4561; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4562; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4563; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4564; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4565; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4566; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4567; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4568; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4569; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4570; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4571; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4572; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4573; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4574; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4575; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4576; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4577; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4578; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4579; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4580; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4581; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4582; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4583; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4584; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4585; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4586; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4587; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4588; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4589; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4590; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4591; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4592; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4593; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4594; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4595; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4596; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4597; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4598; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4599; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4600; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4601; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4602; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4603; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4604; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4605; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4606; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4607; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4608; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4609; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4610; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4611; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4612; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4613; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4614; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4615; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4616; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4617; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4618; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4619; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4620; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4621; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4622; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4623; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4624; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4625; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4626; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4627; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4628; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4629; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4630; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4631; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4632; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4633; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4634; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4635; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4636; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4637; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4638; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4639; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4640; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4641; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4642; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4643; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4644; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4645; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4646; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4647; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4648; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4649; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4650; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4651; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4652; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4653; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4654; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4655; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4656; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4657; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4658; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4659; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4660; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4661; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4662; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4663; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4664; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4665; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4666; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4667; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4668; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4669; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4670; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4671; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4672; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4673; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4674; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4675; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4676; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4677; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4678; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4679; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4680; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4681; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4682; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4683; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4684; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4685; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4686; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4687; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4688; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4689; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4690; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4691; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4692; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4693; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4694; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4695; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4696; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4697; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4698; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4699; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4700; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4701; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4702; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4703; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4704; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4705; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4706; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4707; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4708; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4709; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4710; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4711; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4712; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4713; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4714; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4715; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4716; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4717; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4718; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4719; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4720; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4721; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4722; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4723; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4724; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4725; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4726; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4727; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4728; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4729; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4730; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4731; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4732; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4733; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4734; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4735; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4736; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4737; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4738; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4739; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4740; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4741; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4742; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4743; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4744; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4745; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4746; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4747; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4748; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4749; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4750; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4751; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4752; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4753; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4754; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4755; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4756; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4757; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4758; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4759; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4760; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4761; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4762; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4763; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4764; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4765; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4766; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4767; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4768; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4769; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4770; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4771; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4772; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4773; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4774; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4775; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4776; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4777; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4778; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4779; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4780; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4781; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4782; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4783; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4784; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4785; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4786; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4787; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4788; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4789; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4790; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4791; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4792; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4793; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4794; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4795; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4796; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4797; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4798; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4799; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4800; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4801; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4802; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4803; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4804; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4805; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4806; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4807; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4808; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4809; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4810; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4811; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4812; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4813; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4814; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4815; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4816; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4817; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4818; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4819; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4820; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4821; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4822; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4823; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4824; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4825; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4826; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4827; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4828; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4829; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4830; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4831; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4832; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4833; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4834; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4835; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4836; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4837; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4838; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4839; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4840; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4841; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4842; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4843; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4844; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4845; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4846; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4847; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4848; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4849; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4850; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4851; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4852; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4853; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4854; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4855; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4856; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4857; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4858; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4859; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4860; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4861; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4862; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4863; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4864; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4865; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4866; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4867; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4868; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4869; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4870; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4871; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4872; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4873; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4874; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4875; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4876; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4877; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4878; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4879; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4880; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4881; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4882; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4883; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4884; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4885; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4886; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4887; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4888; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4889; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4890; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4891; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4892; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4893; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4894; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4895; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4896; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4897; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4898; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4899; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4900; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4901; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4902; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4903; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4904; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4905; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4906; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4907; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4908; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4909; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4910; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4911; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4912; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4913; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4914; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4915; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4916; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4917; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4918; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4919; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4920; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4921; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4922; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4923; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4924; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4925; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4926; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4927; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4928; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4929; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4930; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4931; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4932; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4933; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4934; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4935; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4936; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4937; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4938; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4939; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4940; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4941; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4942; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4943; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4944; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4945; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4946; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4947; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4948; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4949; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4950; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4951; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4952; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4953; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4954; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4955; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4956; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4957; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4958; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4959; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4960; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4961; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4962; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4963; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4964; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4965; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4966; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4967; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4968; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4969; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4970; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4971; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4972; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4973; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4974; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4975; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4976; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4977; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4978; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4979; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4980; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4981; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4982; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4983; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4984; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4985; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4986; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4987; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4988; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4989; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4990; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4991; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4992; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4993; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4994; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4995; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4996; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4997; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4998; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_4999; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_5000; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_5001; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_5002; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_5003; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_5004; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_5005; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_5006; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_5007; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_5008; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_5009; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_5010; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_5011; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_5012; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_5013; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_5014; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_5015; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_5016; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_5017; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_5018; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_5019; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_5020; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_5021; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_5022; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_5023; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_5024; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_5025; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_5026; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_5027; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_5028; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_5029; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_5030; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_5031; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_5032; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_5033; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_5034; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_5035; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_5036; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_5037; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_5038; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_5039; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_5040; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_5041; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_5042; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_5043; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_5044; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_5045; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_5046; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_5047; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_5048; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_5049; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_5050; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_5051; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_5052; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_5053; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_5054; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_5055; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_5056; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_5057; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_5058; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_5059; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_5060; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_5061; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_5062; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire  _GEN_5063; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  wire [31:0] _GEN_5065; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5066; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5067; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5068; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5069; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5070; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5071; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5072; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5073; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5074; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5075; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5076; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5077; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5078; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5079; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5080; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5081; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5082; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5083; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5084; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5085; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5086; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5087; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5088; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5089; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5090; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5091; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5092; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5093; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5094; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5095; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5096; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5097; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5098; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5099; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5100; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5101; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5102; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5103; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5104; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5105; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5106; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5107; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5108; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5109; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5110; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5111; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5112; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5113; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5114; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5115; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5116; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5117; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5118; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5119; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5120; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5121; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5122; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5123; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5124; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5125; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5126; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5127; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5128; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5129; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5130; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5131; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5132; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5133; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5134; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5135; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5136; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5137; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5138; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5139; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5140; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5141; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5142; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5143; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5144; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5145; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5146; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5147; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5148; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5149; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5150; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5151; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5152; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5153; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5154; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5155; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5156; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5157; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5158; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5159; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5160; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5161; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5162; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5163; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5164; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5165; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5166; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5167; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5168; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5169; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5170; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5171; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5172; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5173; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5174; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5175; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5176; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5177; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5178; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5179; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5180; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5181; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5182; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5183; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5184; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5185; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5186; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5187; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5188; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5189; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5190; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5191; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5192; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5193; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5194; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5195; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5196; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5197; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5198; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5199; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5200; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5201; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5202; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5203; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5204; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5205; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5206; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5207; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5208; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5209; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5210; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5211; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5212; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5213; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5214; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5215; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5216; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5217; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5218; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5219; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5220; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5221; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5222; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5223; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5224; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5225; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5226; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5227; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5228; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5229; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5230; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5231; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5232; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5233; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5234; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5235; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5236; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5237; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5238; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5239; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5240; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5241; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5242; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5243; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5244; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5245; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5246; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5247; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5248; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5249; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5250; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5251; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5252; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5253; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5254; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5255; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5256; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5257; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5258; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5259; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5260; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5261; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5262; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5263; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5264; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5265; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5266; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5267; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5268; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5269; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5270; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5271; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5272; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5273; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5274; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5275; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5276; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5277; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5278; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5279; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5280; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5281; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5282; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5283; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5284; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5285; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5286; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5287; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5288; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5289; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5290; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5291; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5292; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5293; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5294; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5295; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5296; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5297; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5298; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5299; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5300; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5301; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5302; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5303; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5304; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5305; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5306; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5307; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5308; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5309; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5310; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5311; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5312; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5313; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5314; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5315; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5316; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5317; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5318; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5319; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5320; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5321; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5322; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5323; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5324; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5325; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5326; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5327; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5328; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5329; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5330; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5331; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5332; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5333; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5334; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5335; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5336; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5337; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5338; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5339; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5340; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5341; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5342; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5343; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5344; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5345; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5346; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5347; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5348; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5349; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5350; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5351; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5352; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5353; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5354; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5355; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5356; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5357; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5358; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5359; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5360; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5361; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5362; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5363; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5364; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5365; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5366; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5367; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5368; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5369; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5370; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5371; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5372; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5373; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5374; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5375; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5376; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5377; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5378; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5379; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5380; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5381; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5382; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5383; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5384; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5385; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5386; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5387; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5388; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5389; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5390; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5391; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5392; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5393; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5394; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5395; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5396; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5397; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5398; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5399; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5400; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5401; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5402; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5403; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5404; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5405; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5406; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5407; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5408; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5409; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5410; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5411; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5412; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5413; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5414; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5415; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5416; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5417; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5418; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5419; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5420; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5421; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5422; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5423; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5424; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5425; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5426; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5427; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5428; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5429; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5430; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5431; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5432; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5433; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5434; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5435; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5436; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5437; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5438; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5439; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5440; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5441; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5442; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5443; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5444; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5445; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5446; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5447; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5448; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5449; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5450; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5451; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5452; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5453; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5454; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5455; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5456; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5457; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5458; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5459; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5460; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5461; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5462; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5463; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5464; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5465; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5466; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5467; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5468; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5469; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5470; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5471; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5472; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5473; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5474; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5475; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5476; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5477; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5478; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5479; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5480; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5481; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5482; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5483; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5484; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5485; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5486; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5487; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5488; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5489; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5490; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5491; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5492; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5493; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5494; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5495; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5496; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5497; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5498; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5499; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5500; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5501; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5502; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5503; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5504; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5505; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5506; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5507; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5508; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5509; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5510; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5511; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5512; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5513; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5514; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5515; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5516; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5517; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5518; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5519; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5520; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5521; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5522; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5523; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5524; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5525; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5526; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5527; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5528; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5529; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5530; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5531; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5532; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5533; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5534; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5535; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5536; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5537; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5538; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5539; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5540; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5541; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5542; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5543; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5544; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5545; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5546; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5547; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5548; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5549; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5550; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5551; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5552; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5553; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5554; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5555; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5556; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5557; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5558; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5559; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5560; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5561; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5562; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5563; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5564; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5565; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5566; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5567; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5568; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5569; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5570; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5571; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5572; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5573; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5574; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire [31:0] _GEN_5575; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  wire  _T_76327; // @[Debug.scala 1020:18:shc.marmotcaravel.MarmotCaravelConfig.fir@191508.10]
+  wire  _T_76328; // @[Debug.scala 1020:30:shc.marmotcaravel.MarmotCaravelConfig.fir@191509.10]
+  wire  _T_76329; // @[Debug.scala 1020:95:shc.marmotcaravel.MarmotCaravelConfig.fir@191510.10]
+  wire  _T_76330; // @[Debug.scala 1020:48:shc.marmotcaravel.MarmotCaravelConfig.fir@191511.10]
+  wire  _T_76335; // @[Debug.scala 1028:30:shc.marmotcaravel.MarmotCaravelConfig.fir@191529.10]
+  wire  _T_76338; // @[Debug.scala 1029:13:shc.marmotcaravel.MarmotCaravelConfig.fir@191533.12]
+  wire  _T_76341; // @[Debug.scala 1042:14:shc.marmotcaravel.MarmotCaravelConfig.fir@191551.4]
+  wire  _T_76343; // @[Debug.scala 1042:33:shc.marmotcaravel.MarmotCaravelConfig.fir@191553.4]
+  wire  _T_76345; // @[Debug.scala 1042:12:shc.marmotcaravel.MarmotCaravelConfig.fir@191555.4]
+  wire  _T_76346; // @[Debug.scala 1042:12:shc.marmotcaravel.MarmotCaravelConfig.fir@191556.4]
+  wire  _GEN_5685; // @[Debug.scala 766:15:shc.marmotcaravel.MarmotCaravelConfig.fir@121336.12]
+  wire  _GEN_5686; // @[Debug.scala 766:15:shc.marmotcaravel.MarmotCaravelConfig.fir@121336.12]
+  wire  _GEN_5687; // @[Debug.scala 766:15:shc.marmotcaravel.MarmotCaravelConfig.fir@121336.12]
+  wire  _GEN_5688; // @[Debug.scala 766:15:shc.marmotcaravel.MarmotCaravelConfig.fir@121336.12]
+  wire  _GEN_5693; // @[Debug.scala 1024:15:shc.marmotcaravel.MarmotCaravelConfig.fir@191521.14]
+  wire  _GEN_5694; // @[Debug.scala 1024:15:shc.marmotcaravel.MarmotCaravelConfig.fir@191521.14]
+  wire  _GEN_5695; // @[Debug.scala 1024:15:shc.marmotcaravel.MarmotCaravelConfig.fir@191521.14]
+  wire  _GEN_5696; // @[Debug.scala 1024:15:shc.marmotcaravel.MarmotCaravelConfig.fir@191521.14]
+  wire  _GEN_5697; // @[Debug.scala 1024:15:shc.marmotcaravel.MarmotCaravelConfig.fir@191521.14]
+  wire  _GEN_5706; // @[Debug.scala 1029:13:shc.marmotcaravel.MarmotCaravelConfig.fir@191535.14]
+  wire  _GEN_5707; // @[Debug.scala 1029:13:shc.marmotcaravel.MarmotCaravelConfig.fir@191535.14]
+  wire  _GEN_5708; // @[Debug.scala 1029:13:shc.marmotcaravel.MarmotCaravelConfig.fir@191535.14]
+  TLMonitor_51 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115884.4]
+    .clock(TLMonitor_clock),
+    .reset(TLMonitor_reset),
+    .io_in_a_ready(TLMonitor_io_in_a_ready),
+    .io_in_a_valid(TLMonitor_io_in_a_valid),
+    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
+    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
+    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
+    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
+    .io_in_d_ready(TLMonitor_io_in_d_ready),
+    .io_in_d_valid(TLMonitor_io_in_d_valid),
+    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
+    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
+    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source)
+  );
+  TLMonitor_52 TLMonitor_1 ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115923.4]
+    .clock(TLMonitor_1_clock),
+    .reset(TLMonitor_1_reset),
+    .io_in_a_ready(TLMonitor_1_io_in_a_ready),
+    .io_in_a_valid(TLMonitor_1_io_in_a_valid),
+    .io_in_a_bits_opcode(TLMonitor_1_io_in_a_bits_opcode),
+    .io_in_a_bits_param(TLMonitor_1_io_in_a_bits_param),
+    .io_in_a_bits_size(TLMonitor_1_io_in_a_bits_size),
+    .io_in_a_bits_source(TLMonitor_1_io_in_a_bits_source),
+    .io_in_a_bits_address(TLMonitor_1_io_in_a_bits_address),
+    .io_in_a_bits_mask(TLMonitor_1_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(TLMonitor_1_io_in_a_bits_corrupt),
+    .io_in_d_ready(TLMonitor_1_io_in_d_ready),
+    .io_in_d_valid(TLMonitor_1_io_in_d_valid),
+    .io_in_d_bits_opcode(TLMonitor_1_io_in_d_bits_opcode),
+    .io_in_d_bits_size(TLMonitor_1_io_in_d_bits_size),
+    .io_in_d_bits_source(TLMonitor_1_io_in_d_bits_source)
+  );
+  assign _T_1306 = io_innerCtrl_ready & io_innerCtrl_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@116156.4]
+  assign DMSTATUSRdData_anynonexistent = selectedHartReg >= 10'h1; // @[Debug.scala 477:27:shc.marmotcaravel.MarmotCaravelConfig.fir@116211.4]
+  assign _GEN_3 = haltedBitRegs_0 ? 1'h0 : 1'h1; // @[Debug.scala 483:49:shc.marmotcaravel.MarmotCaravelConfig.fir@116222.8]
+  assign DMSTATUSRdData_allhalted = DMSTATUSRdData_anynonexistent ? 1'h0 : haltedBitRegs_0; // @[Debug.scala 477:45:shc.marmotcaravel.MarmotCaravelConfig.fir@116212.4]
+  assign DMSTATUSRdData_allrunning = DMSTATUSRdData_anynonexistent ? 1'h0 : _GEN_3; // @[Debug.scala 477:45:shc.marmotcaravel.MarmotCaravelConfig.fir@116212.4]
+  assign resumereq = _T_1306 & io_innerCtrl_bits_resumereq; // @[Debug.scala 493:41:shc.marmotcaravel.MarmotCaravelConfig.fir@116233.4]
+  assign _T_1352 = ~ resumeReqRegs_0; // @[Debug.scala 501:36:shc.marmotcaravel.MarmotCaravelConfig.fir@116240.4]
+  assign _T_1353 = ~ resumereq; // @[Debug.scala 501:71:shc.marmotcaravel.MarmotCaravelConfig.fir@116241.4]
+  assign DMSTATUSRdData_allresumeack = _T_1352 & _T_1353; // @[Debug.scala 501:68:shc.marmotcaravel.MarmotCaravelConfig.fir@116242.4]
+  assign haltedStatus_0 = {{31'd0}, haltedBitRegs_0}; // @[Debug.scala 519:30:shc.marmotcaravel.MarmotCaravelConfig.fir@116274.4 Debug.scala 522:24:shc.marmotcaravel.MarmotCaravelConfig.fir@116276.4]
+  assign haltedSummary = haltedStatus_0 != 32'h0; // @[Debug.scala 525:48:shc.marmotcaravel.MarmotCaravelConfig.fir@116277.4]
+  assign HALTSUM1RdData_haltsum1 = {{31'd0}, haltedSummary}; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@116280.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@116282.4]
+  assign _T_1384 = selectedHartReg[9:5]; // @[Debug.scala 528:53:shc.marmotcaravel.MarmotCaravelConfig.fir@116285.4]
+  assign _T_1385 = _T_1384 > 5'h1; // @[Debug.scala 528:59:shc.marmotcaravel.MarmotCaravelConfig.fir@116286.4]
+  assign selectedHaltedStatus = _T_1385 ? 32'h0 : haltedStatus_0; // @[Debug.scala 528:35:shc.marmotcaravel.MarmotCaravelConfig.fir@116288.4]
+  assign _T_2720 = auto_dmi_in_a_bits_opcode == 3'h4; // @[RegisterRouter.scala 58:36:shc.marmotcaravel.MarmotCaravelConfig.fir@116962.4]
+  assign _T_2721 = auto_dmi_in_a_bits_address[8:2]; // @[Edges.scala 192:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116964.4]
+  assign _T_5124 = _T_2721[5]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119401.4]
+  assign _T_5122 = _T_2721[3]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119399.4]
+  assign _T_5127 = {_T_5124,_T_5122}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@119404.4]
+  assign _T_5121 = _T_2721[2]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119398.4]
+  assign _T_5128 = {_T_5127,_T_5121}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@119405.4]
+  assign _T_5120 = _T_2721[1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119397.4]
+  assign _T_5119 = _T_2721[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119396.4]
+  assign _T_5126 = {_T_5120,_T_5119}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@119403.4]
+  assign _T_5129 = {_T_5128,_T_5126}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@119406.4]
+  assign _T_2738 = _T_2721 & 7'h50; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@116976.4]
+  assign _T_2786 = _T_2738 == 7'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117024.4]
+  assign _T_2742 = _T_2738 == 7'h10; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@116980.4]
+  assign _T_2760 = _T_2738 == 7'h40; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@116998.4]
+  assign _T_5913 = auto_dmi_in_a_valid & auto_dmi_in_d_ready; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120496.4]
+  assign _T_5914 = _T_2720 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120497.4]
+  assign _T_5915 = _T_5913 & _T_5914; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120498.4]
+  assign _T_5174 = 32'h1 << _T_5129; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@119451.4]
+  assign _T_5181 = _T_5174[6]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119458.4]
+  assign _T_5954 = _T_5915 & _T_5181; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120551.4]
+  assign _T_5955 = _T_5954 & _T_2742; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120552.4]
+  assign _T_3130 = auto_dmi_in_a_bits_mask[3]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@117052.4]
+  assign _T_3138 = _T_3130 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@117060.4]
+  assign _T_3129 = auto_dmi_in_a_bits_mask[2]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@117051.4]
+  assign _T_3136 = _T_3129 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@117058.4]
+  assign _T_3140 = {_T_3138,_T_3136}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@117062.4]
+  assign _T_3128 = auto_dmi_in_a_bits_mask[1]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@117050.4]
+  assign _T_3134 = _T_3128 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@117056.4]
+  assign _T_3127 = auto_dmi_in_a_bits_mask[0]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@117049.4]
+  assign _T_3132 = _T_3127 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@117054.4]
+  assign _T_3139 = {_T_3134,_T_3132}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@117061.4]
+  assign _T_3141 = {_T_3140,_T_3139}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@117063.4]
+  assign _T_4179 = ~ _T_3141; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118286.4]
+  assign _T_4180 = _T_4179 == 32'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118287.4]
+  assign ABSTRACTCSWrEnMaybe = _T_5955 & _T_4180; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118291.4]
+  assign ABSTRACTCSWrDataVal = ABSTRACTCSWrEnMaybe ? auto_dmi_in_a_bits_data : 32'h0; // @[Debug.scala 215:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118295.4]
+  assign ABSTRACTCSWrData_cmderr = ABSTRACTCSWrDataVal[10:8]; // @[Debug.scala 541:64:shc.marmotcaravel.MarmotCaravelConfig.fir@116335.4]
+  assign ABSTRACTCSWrEnLegal = ctrlStateReg == 2'h0; // @[Debug.scala 941:44:shc.marmotcaravel.MarmotCaravelConfig.fir@191407.4]
+  assign ABSTRACTCSWrEn = ABSTRACTCSWrEnMaybe & ABSTRACTCSWrEnLegal; // @[Debug.scala 548:51:shc.marmotcaravel.MarmotCaravelConfig.fir@116359.4]
+  assign _T_1429 = ~ io_dmactive; // @[Debug.scala 555:10:shc.marmotcaravel.MarmotCaravelConfig.fir@116372.4]
+  assign _T_1430 = ~ ABSTRACTCSWrData_cmderr; // @[Debug.scala 568:58:shc.marmotcaravel.MarmotCaravelConfig.fir@116394.16]
+  assign _T_1431 = ABSTRACTCSReg_cmderr & _T_1430; // @[Debug.scala 568:56:shc.marmotcaravel.MarmotCaravelConfig.fir@116395.16]
+  assign _T_76325 = ctrlStateReg == 2'h1; // @[Debug.scala 994:30:shc.marmotcaravel.MarmotCaravelConfig.fir@191484.6]
+  assign commandRegIsAccessRegister = COMMANDRdData_cmdtype == 8'h0; // @[Debug.scala 955:58:shc.marmotcaravel.MarmotCaravelConfig.fir@191433.4]
+  assign _T_20900 = {COMMANDRdData_cmdtype,COMMANDRdData_control}; // @[Debug.scala 791:104:shc.marmotcaravel.MarmotCaravelConfig.fir@133675.4]
+  assign accessRegisterCommandReg_transfer = _T_20900[17]; // @[Debug.scala 791:86:shc.marmotcaravel.MarmotCaravelConfig.fir@133685.4]
+  assign accessRegisterCommandReg_write = _T_20900[16]; // @[Debug.scala 791:86:shc.marmotcaravel.MarmotCaravelConfig.fir@133683.4]
+  assign _T_76315 = accessRegisterCommandReg_transfer == 1'h0; // @[Debug.scala 973:19:shc.marmotcaravel.MarmotCaravelConfig.fir@191453.8]
+  assign accessRegisterCommandReg_regno = _T_20900[15:0]; // @[Debug.scala 791:86:shc.marmotcaravel.MarmotCaravelConfig.fir@133681.4]
+  assign _T_76310 = accessRegisterCommandReg_regno >= 16'h1000; // @[Debug.scala 963:58:shc.marmotcaravel.MarmotCaravelConfig.fir@191442.4]
+  assign _T_76311 = accessRegisterCommandReg_regno <= 16'h101f; // @[Debug.scala 963:104:shc.marmotcaravel.MarmotCaravelConfig.fir@191443.4]
+  assign accessRegIsGPR = _T_76310 & _T_76311; // @[Debug.scala 963:70:shc.marmotcaravel.MarmotCaravelConfig.fir@191444.4]
+  assign _T_76316 = _T_76315 | accessRegIsGPR; // @[Debug.scala 973:54:shc.marmotcaravel.MarmotCaravelConfig.fir@191454.8]
+  assign _GEN_5644 = _T_76316 ? 1'h0 : 1'h1; // @[Debug.scala 973:73:shc.marmotcaravel.MarmotCaravelConfig.fir@191455.8]
+  assign commandRegIsUnsupported = commandRegIsAccessRegister ? _GEN_5644 : 1'h1; // @[Debug.scala 970:39:shc.marmotcaravel.MarmotCaravelConfig.fir@191445.4]
+  assign _T_76317 = ~ haltedBitRegs_0; // @[Debug.scala 975:36:shc.marmotcaravel.MarmotCaravelConfig.fir@191457.10]
+  assign _GEN_5645 = _T_76316 ? _T_76317 : 1'h0; // @[Debug.scala 973:73:shc.marmotcaravel.MarmotCaravelConfig.fir@191455.8]
+  assign commandRegBadHaltResume = commandRegIsAccessRegister ? _GEN_5645 : 1'h0; // @[Debug.scala 970:39:shc.marmotcaravel.MarmotCaravelConfig.fir@191445.4]
+  assign _GEN_5661 = commandRegIsUnsupported ? 1'h0 : commandRegBadHaltResume; // @[Debug.scala 1001:38:shc.marmotcaravel.MarmotCaravelConfig.fir@191486.8]
+  assign _GEN_5674 = _T_76325 ? _GEN_5661 : 1'h0; // @[Debug.scala 994:59:shc.marmotcaravel.MarmotCaravelConfig.fir@191485.6]
+  assign errorHaltResume = ABSTRACTCSWrEnLegal ? 1'h0 : _GEN_5674; // @[Debug.scala 986:47:shc.marmotcaravel.MarmotCaravelConfig.fir@191468.4]
+  assign _T_5182 = _T_5174[7]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119459.4]
+  assign _T_5960 = _T_5915 & _T_5182; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120559.4]
+  assign _T_5961 = _T_5960 & _T_2742; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120560.4]
+  assign COMMANDWrEnMaybe = _T_5961 & _T_4180; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118976.4]
+  assign COMMANDWrEn = COMMANDWrEnMaybe & ABSTRACTCSWrEnLegal; // @[Debug.scala 626:40:shc.marmotcaravel.MarmotCaravelConfig.fir@116879.4]
+  assign COMMANDWrDataVal = COMMANDWrEnMaybe ? auto_dmi_in_a_bits_data : 32'h0; // @[Debug.scala 215:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118980.4]
+  assign COMMANDWrData_cmdtype = COMMANDWrDataVal[31:24]; // @[Debug.scala 621:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116865.4]
+  assign commandWrIsAccessRegister = COMMANDWrData_cmdtype == 8'h0; // @[Debug.scala 954:60:shc.marmotcaravel.MarmotCaravelConfig.fir@191432.4]
+  assign _T_76318 = COMMANDWrEn & commandWrIsAccessRegister; // @[Debug.scala 979:48:shc.marmotcaravel.MarmotCaravelConfig.fir@191461.4]
+  assign _T_76319 = ABSTRACTCSReg_cmderr == 3'h0; // @[Debug.scala 979:103:shc.marmotcaravel.MarmotCaravelConfig.fir@191462.4]
+  assign wrAccessRegisterCommand = _T_76318 & _T_76319; // @[Debug.scala 979:78:shc.marmotcaravel.MarmotCaravelConfig.fir@191463.4]
+  assign _T_5179 = _T_5174[4]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119456.4]
+  assign _T_5942 = _T_5915 & _T_5179; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120533.4]
+  assign _T_5943 = _T_5942 & _T_2786; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120534.4]
+  assign _T_4914 = _T_3141[7:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119151.4]
+  assign _T_4915 = ~ _T_4914; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119152.4]
+  assign _T_4916 = _T_4915 == 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119153.4]
+  assign dmiAbstractDataWrEnMaybe_0 = _T_5943 & _T_4916; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119157.4]
+  assign _T_5679 = _T_5913 & _T_2720; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120160.4]
+  assign _T_5706 = _T_5679 & _T_5179; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120195.4]
+  assign _T_5707 = _T_5706 & _T_2786; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120196.4]
+  assign _T_4913 = _T_4914 != 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119150.4]
+  assign dmiAbstractDataRdEn_0 = _T_5707 & _T_4913; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119155.4]
+  assign dmiAbstractDataAccessVec_0 = dmiAbstractDataWrEnMaybe_0 | dmiAbstractDataRdEn_0; // @[Debug.scala 599:105:shc.marmotcaravel.MarmotCaravelConfig.fir@116466.4]
+  assign _T_2156 = ABSTRACTAUTOReg_autoexecdata[0]; // @[Debug.scala 610:54:shc.marmotcaravel.MarmotCaravelConfig.fir@116764.4]
+  assign autoexecData_0 = dmiAbstractDataAccessVec_0 & _T_2156; // @[Debug.scala 610:140:shc.marmotcaravel.MarmotCaravelConfig.fir@116776.4]
+  assign _T_5191 = _T_5174[16]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119468.4]
+  assign _T_6014 = _T_5915 & _T_5191; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120624.4]
+  assign _T_6015 = _T_6014 & _T_2786; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120625.4]
+  assign dmiProgramBufferWrEnMaybe_0 = _T_6015 & _T_4916; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117863.4]
+  assign _T_5778 = _T_5679 & _T_5191; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120286.4]
+  assign _T_5779 = _T_5778 & _T_2786; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120287.4]
+  assign dmiProgramBufferRdEn_0 = _T_5779 & _T_4913; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117861.4]
+  assign dmiProgramBufferAccessVec_0 = dmiProgramBufferWrEnMaybe_0 | dmiProgramBufferRdEn_0; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116543.4]
+  assign _T_2169 = ABSTRACTAUTOReg_autoexecprogbuf[0]; // @[Debug.scala 611:57:shc.marmotcaravel.MarmotCaravelConfig.fir@116778.4]
+  assign autoexecProg_0 = dmiProgramBufferAccessVec_0 & _T_2169; // @[Debug.scala 611:144:shc.marmotcaravel.MarmotCaravelConfig.fir@116794.4]
+  assign _T_5192 = _T_5174[17]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119469.4]
+  assign _T_6020 = _T_5915 & _T_5192; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120635.4]
+  assign _T_6021 = _T_6020 & _T_2786; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120636.4]
+  assign dmiProgramBufferWrEnMaybe_4 = _T_6021 & _T_4916; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117611.4]
+  assign _T_5784 = _T_5679 & _T_5192; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120297.4]
+  assign _T_5785 = _T_5784 & _T_2786; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120298.4]
+  assign dmiProgramBufferRdEn_4 = _T_5785 & _T_4913; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117609.4]
+  assign dmiProgramBufferAccessVec_4 = dmiProgramBufferWrEnMaybe_4 | dmiProgramBufferRdEn_4; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116547.4]
+  assign _T_2170 = ABSTRACTAUTOReg_autoexecprogbuf[1]; // @[Debug.scala 611:57:shc.marmotcaravel.MarmotCaravelConfig.fir@116779.4]
+  assign autoexecProg_1 = dmiProgramBufferAccessVec_4 & _T_2170; // @[Debug.scala 611:144:shc.marmotcaravel.MarmotCaravelConfig.fir@116796.4]
+  assign _T_2201 = autoexecProg_0 | autoexecProg_1; // @[Debug.scala 613:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116826.4]
+  assign _T_5193 = _T_5174[18]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119470.4]
+  assign _T_6026 = _T_5915 & _T_5193; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120646.4]
+  assign _T_6027 = _T_6026 & _T_2786; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120647.4]
+  assign dmiProgramBufferWrEnMaybe_8 = _T_6027 & _T_4916; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117989.4]
+  assign _T_5790 = _T_5679 & _T_5193; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120308.4]
+  assign _T_5791 = _T_5790 & _T_2786; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120309.4]
+  assign dmiProgramBufferRdEn_8 = _T_5791 & _T_4913; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117987.4]
+  assign dmiProgramBufferAccessVec_8 = dmiProgramBufferWrEnMaybe_8 | dmiProgramBufferRdEn_8; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116551.4]
+  assign _T_2171 = ABSTRACTAUTOReg_autoexecprogbuf[2]; // @[Debug.scala 611:57:shc.marmotcaravel.MarmotCaravelConfig.fir@116780.4]
+  assign autoexecProg_2 = dmiProgramBufferAccessVec_8 & _T_2171; // @[Debug.scala 611:144:shc.marmotcaravel.MarmotCaravelConfig.fir@116798.4]
+  assign _T_2202 = _T_2201 | autoexecProg_2; // @[Debug.scala 613:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116827.4]
+  assign _T_5194 = _T_5174[19]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119471.4]
+  assign _T_6032 = _T_5915 & _T_5194; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120657.4]
+  assign _T_6033 = _T_6032 & _T_2786; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120658.4]
+  assign dmiProgramBufferWrEnMaybe_12 = _T_6033 & _T_4916; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118573.4]
+  assign _T_5796 = _T_5679 & _T_5194; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120319.4]
+  assign _T_5797 = _T_5796 & _T_2786; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120320.4]
+  assign dmiProgramBufferRdEn_12 = _T_5797 & _T_4913; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118571.4]
+  assign dmiProgramBufferAccessVec_12 = dmiProgramBufferWrEnMaybe_12 | dmiProgramBufferRdEn_12; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116555.4]
+  assign _T_2172 = ABSTRACTAUTOReg_autoexecprogbuf[3]; // @[Debug.scala 611:57:shc.marmotcaravel.MarmotCaravelConfig.fir@116781.4]
+  assign autoexecProg_3 = dmiProgramBufferAccessVec_12 & _T_2172; // @[Debug.scala 611:144:shc.marmotcaravel.MarmotCaravelConfig.fir@116800.4]
+  assign _T_2203 = _T_2202 | autoexecProg_3; // @[Debug.scala 613:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116828.4]
+  assign _T_5195 = _T_5174[20]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119472.4]
+  assign _T_6038 = _T_5915 & _T_5195; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120668.4]
+  assign _T_6039 = _T_6038 & _T_2786; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120669.4]
+  assign dmiProgramBufferWrEnMaybe_16 = _T_6039 & _T_4916; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119006.4]
+  assign _T_5802 = _T_5679 & _T_5195; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120330.4]
+  assign _T_5803 = _T_5802 & _T_2786; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120331.4]
+  assign dmiProgramBufferRdEn_16 = _T_5803 & _T_4913; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119004.4]
+  assign dmiProgramBufferAccessVec_16 = dmiProgramBufferWrEnMaybe_16 | dmiProgramBufferRdEn_16; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116559.4]
+  assign _T_2173 = ABSTRACTAUTOReg_autoexecprogbuf[4]; // @[Debug.scala 611:57:shc.marmotcaravel.MarmotCaravelConfig.fir@116782.4]
+  assign autoexecProg_4 = dmiProgramBufferAccessVec_16 & _T_2173; // @[Debug.scala 611:144:shc.marmotcaravel.MarmotCaravelConfig.fir@116802.4]
+  assign _T_2204 = _T_2203 | autoexecProg_4; // @[Debug.scala 613:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116829.4]
+  assign _T_5196 = _T_5174[21]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119473.4]
+  assign _T_6044 = _T_5915 & _T_5196; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120679.4]
+  assign _T_6045 = _T_6044 & _T_2786; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120680.4]
+  assign dmiProgramBufferWrEnMaybe_20 = _T_6045 & _T_4916; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117233.4]
+  assign _T_5808 = _T_5679 & _T_5196; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120341.4]
+  assign _T_5809 = _T_5808 & _T_2786; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120342.4]
+  assign dmiProgramBufferRdEn_20 = _T_5809 & _T_4913; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117231.4]
+  assign dmiProgramBufferAccessVec_20 = dmiProgramBufferWrEnMaybe_20 | dmiProgramBufferRdEn_20; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116563.4]
+  assign _T_2174 = ABSTRACTAUTOReg_autoexecprogbuf[5]; // @[Debug.scala 611:57:shc.marmotcaravel.MarmotCaravelConfig.fir@116783.4]
+  assign autoexecProg_5 = dmiProgramBufferAccessVec_20 & _T_2174; // @[Debug.scala 611:144:shc.marmotcaravel.MarmotCaravelConfig.fir@116804.4]
+  assign _T_2205 = _T_2204 | autoexecProg_5; // @[Debug.scala 613:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116830.4]
+  assign _T_5197 = _T_5174[22]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119474.4]
+  assign _T_6050 = _T_5915 & _T_5197; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120690.4]
+  assign _T_6051 = _T_6050 & _T_2786; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120691.4]
+  assign dmiProgramBufferWrEnMaybe_24 = _T_6051 & _T_4916; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117485.4]
+  assign _T_5814 = _T_5679 & _T_5197; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120352.4]
+  assign _T_5815 = _T_5814 & _T_2786; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120353.4]
+  assign dmiProgramBufferRdEn_24 = _T_5815 & _T_4913; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117483.4]
+  assign dmiProgramBufferAccessVec_24 = dmiProgramBufferWrEnMaybe_24 | dmiProgramBufferRdEn_24; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116567.4]
+  assign _T_2175 = ABSTRACTAUTOReg_autoexecprogbuf[6]; // @[Debug.scala 611:57:shc.marmotcaravel.MarmotCaravelConfig.fir@116784.4]
+  assign autoexecProg_6 = dmiProgramBufferAccessVec_24 & _T_2175; // @[Debug.scala 611:144:shc.marmotcaravel.MarmotCaravelConfig.fir@116806.4]
+  assign _T_2206 = _T_2205 | autoexecProg_6; // @[Debug.scala 613:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116831.4]
+  assign _T_5198 = _T_5174[23]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119475.4]
+  assign _T_6056 = _T_5915 & _T_5198; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120701.4]
+  assign _T_6057 = _T_6056 & _T_2786; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120702.4]
+  assign dmiProgramBufferWrEnMaybe_28 = _T_6057 & _T_4916; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118447.4]
+  assign _T_5820 = _T_5679 & _T_5198; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120363.4]
+  assign _T_5821 = _T_5820 & _T_2786; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120364.4]
+  assign dmiProgramBufferRdEn_28 = _T_5821 & _T_4913; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118445.4]
+  assign dmiProgramBufferAccessVec_28 = dmiProgramBufferWrEnMaybe_28 | dmiProgramBufferRdEn_28; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116571.4]
+  assign _T_2176 = ABSTRACTAUTOReg_autoexecprogbuf[7]; // @[Debug.scala 611:57:shc.marmotcaravel.MarmotCaravelConfig.fir@116785.4]
+  assign autoexecProg_7 = dmiProgramBufferAccessVec_28 & _T_2176; // @[Debug.scala 611:144:shc.marmotcaravel.MarmotCaravelConfig.fir@116808.4]
+  assign _T_2207 = _T_2206 | autoexecProg_7; // @[Debug.scala 613:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116832.4]
+  assign _T_5199 = _T_5174[24]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119476.4]
+  assign _T_6062 = _T_5915 & _T_5199; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120712.4]
+  assign _T_6063 = _T_6062 & _T_2786; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120713.4]
+  assign dmiProgramBufferWrEnMaybe_32 = _T_6063 & _T_4916; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118850.4]
+  assign _T_5826 = _T_5679 & _T_5199; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120374.4]
+  assign _T_5827 = _T_5826 & _T_2786; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120375.4]
+  assign dmiProgramBufferRdEn_32 = _T_5827 & _T_4913; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118848.4]
+  assign dmiProgramBufferAccessVec_32 = dmiProgramBufferWrEnMaybe_32 | dmiProgramBufferRdEn_32; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116575.4]
+  assign _T_2177 = ABSTRACTAUTOReg_autoexecprogbuf[8]; // @[Debug.scala 611:57:shc.marmotcaravel.MarmotCaravelConfig.fir@116786.4]
+  assign autoexecProg_8 = dmiProgramBufferAccessVec_32 & _T_2177; // @[Debug.scala 611:144:shc.marmotcaravel.MarmotCaravelConfig.fir@116810.4]
+  assign _T_2208 = _T_2207 | autoexecProg_8; // @[Debug.scala 613:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116833.4]
+  assign _T_5200 = _T_5174[25]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119477.4]
+  assign _T_6068 = _T_5915 & _T_5200; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120723.4]
+  assign _T_6069 = _T_6068 & _T_2786; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120724.4]
+  assign dmiProgramBufferWrEnMaybe_36 = _T_6069 & _T_4916; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117737.4]
+  assign _T_5832 = _T_5679 & _T_5200; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120385.4]
+  assign _T_5833 = _T_5832 & _T_2786; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120386.4]
+  assign dmiProgramBufferRdEn_36 = _T_5833 & _T_4913; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117735.4]
+  assign dmiProgramBufferAccessVec_36 = dmiProgramBufferWrEnMaybe_36 | dmiProgramBufferRdEn_36; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116579.4]
+  assign _T_2178 = ABSTRACTAUTOReg_autoexecprogbuf[9]; // @[Debug.scala 611:57:shc.marmotcaravel.MarmotCaravelConfig.fir@116787.4]
+  assign autoexecProg_9 = dmiProgramBufferAccessVec_36 & _T_2178; // @[Debug.scala 611:144:shc.marmotcaravel.MarmotCaravelConfig.fir@116812.4]
+  assign _T_2209 = _T_2208 | autoexecProg_9; // @[Debug.scala 613:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116834.4]
+  assign _T_5201 = _T_5174[26]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119478.4]
+  assign _T_6074 = _T_5915 & _T_5201; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120734.4]
+  assign _T_6075 = _T_6074 & _T_2786; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120735.4]
+  assign dmiProgramBufferWrEnMaybe_40 = _T_6075 & _T_4916; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117077.4]
+  assign _T_5838 = _T_5679 & _T_5201; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120396.4]
+  assign _T_5839 = _T_5838 & _T_2786; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120397.4]
+  assign dmiProgramBufferRdEn_40 = _T_5839 & _T_4913; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117075.4]
+  assign dmiProgramBufferAccessVec_40 = dmiProgramBufferWrEnMaybe_40 | dmiProgramBufferRdEn_40; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116583.4]
+  assign _T_2179 = ABSTRACTAUTOReg_autoexecprogbuf[10]; // @[Debug.scala 611:57:shc.marmotcaravel.MarmotCaravelConfig.fir@116788.4]
+  assign autoexecProg_10 = dmiProgramBufferAccessVec_40 & _T_2179; // @[Debug.scala 611:144:shc.marmotcaravel.MarmotCaravelConfig.fir@116814.4]
+  assign _T_2210 = _T_2209 | autoexecProg_10; // @[Debug.scala 613:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116835.4]
+  assign _T_5202 = _T_5174[27]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119479.4]
+  assign _T_6080 = _T_5915 & _T_5202; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120745.4]
+  assign _T_6081 = _T_6080 & _T_2786; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120746.4]
+  assign dmiProgramBufferWrEnMaybe_44 = _T_6081 & _T_4916; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118724.4]
+  assign _T_5844 = _T_5679 & _T_5202; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120407.4]
+  assign _T_5845 = _T_5844 & _T_2786; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120408.4]
+  assign dmiProgramBufferRdEn_44 = _T_5845 & _T_4913; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118722.4]
+  assign dmiProgramBufferAccessVec_44 = dmiProgramBufferWrEnMaybe_44 | dmiProgramBufferRdEn_44; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116587.4]
+  assign _T_2180 = ABSTRACTAUTOReg_autoexecprogbuf[11]; // @[Debug.scala 611:57:shc.marmotcaravel.MarmotCaravelConfig.fir@116789.4]
+  assign autoexecProg_11 = dmiProgramBufferAccessVec_44 & _T_2180; // @[Debug.scala 611:144:shc.marmotcaravel.MarmotCaravelConfig.fir@116816.4]
+  assign _T_2211 = _T_2210 | autoexecProg_11; // @[Debug.scala 613:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116836.4]
+  assign _T_5203 = _T_5174[28]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119480.4]
+  assign _T_6086 = _T_5915 & _T_5203; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120756.4]
+  assign _T_6087 = _T_6086 & _T_2786; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120757.4]
+  assign dmiProgramBufferWrEnMaybe_48 = _T_6087 & _T_4916; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118321.4]
+  assign _T_5850 = _T_5679 & _T_5203; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120418.4]
+  assign _T_5851 = _T_5850 & _T_2786; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120419.4]
+  assign dmiProgramBufferRdEn_48 = _T_5851 & _T_4913; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118319.4]
+  assign dmiProgramBufferAccessVec_48 = dmiProgramBufferWrEnMaybe_48 | dmiProgramBufferRdEn_48; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116591.4]
+  assign _T_2181 = ABSTRACTAUTOReg_autoexecprogbuf[12]; // @[Debug.scala 611:57:shc.marmotcaravel.MarmotCaravelConfig.fir@116790.4]
+  assign autoexecProg_12 = dmiProgramBufferAccessVec_48 & _T_2181; // @[Debug.scala 611:144:shc.marmotcaravel.MarmotCaravelConfig.fir@116818.4]
+  assign _T_2212 = _T_2211 | autoexecProg_12; // @[Debug.scala 613:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116837.4]
+  assign _T_5204 = _T_5174[29]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119481.4]
+  assign _T_6092 = _T_5915 & _T_5204; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120767.4]
+  assign _T_6093 = _T_6092 & _T_2786; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120768.4]
+  assign dmiProgramBufferWrEnMaybe_52 = _T_6093 & _T_4916; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118115.4]
+  assign _T_5856 = _T_5679 & _T_5204; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120429.4]
+  assign _T_5857 = _T_5856 & _T_2786; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120430.4]
+  assign dmiProgramBufferRdEn_52 = _T_5857 & _T_4913; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118113.4]
+  assign dmiProgramBufferAccessVec_52 = dmiProgramBufferWrEnMaybe_52 | dmiProgramBufferRdEn_52; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116595.4]
+  assign _T_2182 = ABSTRACTAUTOReg_autoexecprogbuf[13]; // @[Debug.scala 611:57:shc.marmotcaravel.MarmotCaravelConfig.fir@116791.4]
+  assign autoexecProg_13 = dmiProgramBufferAccessVec_52 & _T_2182; // @[Debug.scala 611:144:shc.marmotcaravel.MarmotCaravelConfig.fir@116820.4]
+  assign _T_2213 = _T_2212 | autoexecProg_13; // @[Debug.scala 613:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116838.4]
+  assign _T_5205 = _T_5174[30]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119482.4]
+  assign _T_6098 = _T_5915 & _T_5205; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120778.4]
+  assign _T_6099 = _T_6098 & _T_2786; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120779.4]
+  assign dmiProgramBufferWrEnMaybe_56 = _T_6099 & _T_4916; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117359.4]
+  assign _T_5862 = _T_5679 & _T_5205; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120440.4]
+  assign _T_5863 = _T_5862 & _T_2786; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120441.4]
+  assign dmiProgramBufferRdEn_56 = _T_5863 & _T_4913; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117357.4]
+  assign dmiProgramBufferAccessVec_56 = dmiProgramBufferWrEnMaybe_56 | dmiProgramBufferRdEn_56; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116599.4]
+  assign _T_2183 = ABSTRACTAUTOReg_autoexecprogbuf[14]; // @[Debug.scala 611:57:shc.marmotcaravel.MarmotCaravelConfig.fir@116792.4]
+  assign autoexecProg_14 = dmiProgramBufferAccessVec_56 & _T_2183; // @[Debug.scala 611:144:shc.marmotcaravel.MarmotCaravelConfig.fir@116822.4]
+  assign _T_2214 = _T_2213 | autoexecProg_14; // @[Debug.scala 613:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116839.4]
+  assign _T_5206 = _T_5174[31]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119483.4]
+  assign _T_6104 = _T_5915 & _T_5206; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120789.4]
+  assign _T_6105 = _T_6104 & _T_2786; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120790.4]
+  assign dmiProgramBufferWrEnMaybe_60 = _T_6105 & _T_4916; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119283.4]
+  assign _T_5868 = _T_5679 & _T_5206; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120451.4]
+  assign _T_5869 = _T_5868 & _T_2786; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120452.4]
+  assign dmiProgramBufferRdEn_60 = _T_5869 & _T_4913; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119281.4]
+  assign dmiProgramBufferAccessVec_60 = dmiProgramBufferWrEnMaybe_60 | dmiProgramBufferRdEn_60; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116603.4]
+  assign _T_2184 = ABSTRACTAUTOReg_autoexecprogbuf[15]; // @[Debug.scala 611:57:shc.marmotcaravel.MarmotCaravelConfig.fir@116793.4]
+  assign autoexecProg_15 = dmiProgramBufferAccessVec_60 & _T_2184; // @[Debug.scala 611:144:shc.marmotcaravel.MarmotCaravelConfig.fir@116824.4]
+  assign _T_2215 = _T_2214 | autoexecProg_15; // @[Debug.scala 613:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116840.4]
+  assign autoexec = autoexecData_0 | _T_2215; // @[Debug.scala 613:48:shc.marmotcaravel.MarmotCaravelConfig.fir@116841.4]
+  assign _T_76320 = autoexec & commandRegIsAccessRegister; // @[Debug.scala 980:48:shc.marmotcaravel.MarmotCaravelConfig.fir@191464.4]
+  assign regAccessRegisterCommand = _T_76320 & _T_76319; // @[Debug.scala 980:78:shc.marmotcaravel.MarmotCaravelConfig.fir@191466.4]
+  assign _T_76323 = wrAccessRegisterCommand | regAccessRegisterCommand; // @[Debug.scala 987:37:shc.marmotcaravel.MarmotCaravelConfig.fir@191469.6]
+  assign _T_76307 = commandWrIsAccessRegister == 1'h0; // @[Debug.scala 957:49:shc.marmotcaravel.MarmotCaravelConfig.fir@191434.4]
+  assign commandWrIsUnsupported = COMMANDWrEn & _T_76307; // @[Debug.scala 957:46:shc.marmotcaravel.MarmotCaravelConfig.fir@191435.4]
+  assign _T_76324 = autoexec & commandRegIsUnsupported; // @[Debug.scala 991:28:shc.marmotcaravel.MarmotCaravelConfig.fir@191478.10]
+  assign _GEN_5651 = commandWrIsUnsupported ? 1'h1 : _T_76324; // @[Debug.scala 989:43:shc.marmotcaravel.MarmotCaravelConfig.fir@191474.8]
+  assign _GEN_5653 = _T_76323 ? 1'h0 : _GEN_5651; // @[Debug.scala 987:66:shc.marmotcaravel.MarmotCaravelConfig.fir@191470.6]
+  assign _GEN_5672 = _T_76325 ? commandRegIsUnsupported : 1'h0; // @[Debug.scala 994:59:shc.marmotcaravel.MarmotCaravelConfig.fir@191485.6]
+  assign errorUnsupported = ABSTRACTCSWrEnLegal ? _GEN_5653 : _GEN_5672; // @[Debug.scala 986:47:shc.marmotcaravel.MarmotCaravelConfig.fir@191468.4]
+  assign _T_76326 = ctrlStateReg == 2'h2; // @[Debug.scala 1015:30:shc.marmotcaravel.MarmotCaravelConfig.fir@191506.8]
+  assign _T_23037 = auto_tl_in_a_bits_opcode == 3'h4; // @[RegisterRouter.scala 58:36:shc.marmotcaravel.MarmotCaravelConfig.fir@135850.4]
+  assign _T_23038 = auto_tl_in_a_bits_address[11:2]; // @[Edges.scala 192:34:shc.marmotcaravel.MarmotCaravelConfig.fir@135852.4]
+  assign _T_59792 = _T_23038[8]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@168065.4]
+  assign _T_59791 = _T_23038[7]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@168064.4]
+  assign _T_59798 = {_T_59792,_T_59791}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@168071.4]
+  assign _T_59790 = _T_23038[6]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@168063.4]
+  assign _T_59799 = {_T_59798,_T_59790}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@168072.4]
+  assign _T_59789 = _T_23038[5]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@168062.4]
+  assign _T_59788 = _T_23038[4]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@168061.4]
+  assign _T_59797 = {_T_59789,_T_59788}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@168070.4]
+  assign _T_59800 = {_T_59799,_T_59797}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@168073.4]
+  assign _T_59787 = _T_23038[3]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@168060.4]
+  assign _T_59786 = _T_23038[2]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@168059.4]
+  assign _T_59795 = {_T_59787,_T_59786}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@168068.4]
+  assign _T_59785 = _T_23038[1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@168058.4]
+  assign _T_59784 = _T_23038[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@168057.4]
+  assign _T_59794 = {_T_59785,_T_59784}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@168067.4]
+  assign _T_59796 = {_T_59795,_T_59794}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@168069.4]
+  assign _T_59801 = {_T_59800,_T_59796}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@168074.4]
+  assign _T_23055 = _T_23038 & 10'h200; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@135864.4]
+  assign _T_23089 = _T_23055 == 10'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@135898.4]
+  assign _T_23609 = _T_23055 == 10'h200; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@136418.4]
+  assign _T_71632 = auto_tl_in_a_valid & auto_tl_in_d_ready; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@184975.4]
+  assign _T_71633 = _T_23037 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@184976.4]
+  assign _T_71634 = _T_71632 & _T_71633; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@184977.4]
+  assign _T_60333 = 512'h1 << _T_59801; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@168606.4]
+  assign _T_60401 = _T_60333[67]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@168674.4]
+  assign _T_72039 = _T_71634 & _T_60401; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@185536.4]
+  assign _T_72040 = _T_72039 & _T_23089; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@185537.4]
+  assign _T_28433 = auto_tl_in_a_bits_mask[3]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@136494.4]
+  assign _T_28441 = _T_28433 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@136502.4]
+  assign _T_28432 = auto_tl_in_a_bits_mask[2]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@136493.4]
+  assign _T_28439 = _T_28432 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@136500.4]
+  assign _T_28443 = {_T_28441,_T_28439}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@136504.4]
+  assign _T_28431 = auto_tl_in_a_bits_mask[1]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@136492.4]
+  assign _T_28437 = _T_28431 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@136498.4]
+  assign _T_28430 = auto_tl_in_a_bits_mask[0]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@136491.4]
+  assign _T_28435 = _T_28430 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@136496.4]
+  assign _T_28442 = {_T_28437,_T_28435}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@136503.4]
+  assign _T_28444 = {_T_28443,_T_28442}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@136505.4]
+  assign _T_50731 = _T_28444[9:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@158942.4]
+  assign _T_50732 = ~ _T_50731; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@158943.4]
+  assign _T_50733 = _T_50732 == 10'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@158944.4]
+  assign hartExceptionWrEn = _T_72040 & _T_50733; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@158948.4]
+  assign _GEN_5670 = _T_76326 ? hartExceptionWrEn : 1'h0; // @[Debug.scala 1015:51:shc.marmotcaravel.MarmotCaravelConfig.fir@191507.8]
+  assign _GEN_5676 = _T_76325 ? 1'h0 : _GEN_5670; // @[Debug.scala 994:59:shc.marmotcaravel.MarmotCaravelConfig.fir@191485.6]
+  assign errorException = ABSTRACTCSWrEnLegal ? 1'h0 : _GEN_5676; // @[Debug.scala 986:47:shc.marmotcaravel.MarmotCaravelConfig.fir@191468.4]
+  assign _T_76293 = ~ ABSTRACTCSWrEnLegal; // @[Debug.scala 947:45:shc.marmotcaravel.MarmotCaravelConfig.fir@191417.4]
+  assign _T_76294 = ABSTRACTCSWrEnMaybe & _T_76293; // @[Debug.scala 947:42:shc.marmotcaravel.MarmotCaravelConfig.fir@191418.4]
+  assign _T_5183 = _T_5174[8]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119460.4]
+  assign _T_5966 = _T_5915 & _T_5183; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120567.4]
+  assign _T_5967 = _T_5966 & _T_2742; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120568.4]
+  assign ABSTRACTAUTOWrEnMaybe = _T_5967 & _T_4180; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117203.4]
+  assign _T_76296 = ABSTRACTAUTOWrEnMaybe & _T_76293; // @[Debug.scala 948:42:shc.marmotcaravel.MarmotCaravelConfig.fir@191420.4]
+  assign _T_76297 = _T_76294 | _T_76296; // @[Debug.scala 947:74:shc.marmotcaravel.MarmotCaravelConfig.fir@191421.4]
+  assign _T_76299 = COMMANDWrEnMaybe & _T_76293; // @[Debug.scala 949:42:shc.marmotcaravel.MarmotCaravelConfig.fir@191423.4]
+  assign _T_76300 = _T_76297 | _T_76299; // @[Debug.scala 948:74:shc.marmotcaravel.MarmotCaravelConfig.fir@191424.4]
+  assign _T_4939 = _T_3141[15:8]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119181.4]
+  assign _T_4940 = ~ _T_4939; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119182.4]
+  assign _T_4941 = _T_4940 == 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119183.4]
+  assign dmiAbstractDataWrEnMaybe_1 = _T_5943 & _T_4941; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119187.4]
+  assign _T_4938 = _T_4939 != 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119180.4]
+  assign dmiAbstractDataRdEn_1 = _T_5707 & _T_4938; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119185.4]
+  assign dmiAbstractDataAccessVec_1 = dmiAbstractDataWrEnMaybe_1 | dmiAbstractDataRdEn_1; // @[Debug.scala 599:105:shc.marmotcaravel.MarmotCaravelConfig.fir@116467.4]
+  assign _T_1962 = dmiAbstractDataAccessVec_0 | dmiAbstractDataAccessVec_1; // @[Debug.scala 604:68:shc.marmotcaravel.MarmotCaravelConfig.fir@116671.4]
+  assign _T_4966 = _T_3141[23:16]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119213.4]
+  assign _T_4967 = ~ _T_4966; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119214.4]
+  assign _T_4968 = _T_4967 == 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119215.4]
+  assign dmiAbstractDataWrEnMaybe_2 = _T_5943 & _T_4968; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119219.4]
+  assign _T_4965 = _T_4966 != 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119212.4]
+  assign dmiAbstractDataRdEn_2 = _T_5707 & _T_4965; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119217.4]
+  assign dmiAbstractDataAccessVec_2 = dmiAbstractDataWrEnMaybe_2 | dmiAbstractDataRdEn_2; // @[Debug.scala 599:105:shc.marmotcaravel.MarmotCaravelConfig.fir@116468.4]
+  assign _T_1963 = _T_1962 | dmiAbstractDataAccessVec_2; // @[Debug.scala 604:68:shc.marmotcaravel.MarmotCaravelConfig.fir@116672.4]
+  assign _T_4993 = _T_3141[31:24]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119245.4]
+  assign _T_4994 = ~ _T_4993; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119246.4]
+  assign _T_4995 = _T_4994 == 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119247.4]
+  assign dmiAbstractDataWrEnMaybe_3 = _T_5943 & _T_4995; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119251.4]
+  assign _T_4992 = _T_4993 != 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119244.4]
+  assign dmiAbstractDataRdEn_3 = _T_5707 & _T_4992; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119249.4]
+  assign dmiAbstractDataAccessVec_3 = dmiAbstractDataWrEnMaybe_3 | dmiAbstractDataRdEn_3; // @[Debug.scala 599:105:shc.marmotcaravel.MarmotCaravelConfig.fir@116469.4]
+  assign dmiAbstractDataAccess = _T_1963 | dmiAbstractDataAccessVec_3; // @[Debug.scala 604:68:shc.marmotcaravel.MarmotCaravelConfig.fir@116673.4]
+  assign _T_76302 = dmiAbstractDataAccess & _T_76293; // @[Debug.scala 950:42:shc.marmotcaravel.MarmotCaravelConfig.fir@191426.4]
+  assign _T_76303 = _T_76300 | _T_76302; // @[Debug.scala 949:74:shc.marmotcaravel.MarmotCaravelConfig.fir@191427.4]
+  assign dmiProgramBufferWrEnMaybe_1 = _T_6015 & _T_4941; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117893.4]
+  assign dmiProgramBufferRdEn_1 = _T_5779 & _T_4938; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117891.4]
+  assign dmiProgramBufferAccessVec_1 = dmiProgramBufferWrEnMaybe_1 | dmiProgramBufferRdEn_1; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116544.4]
+  assign _T_1964 = dmiProgramBufferAccessVec_0 | dmiProgramBufferAccessVec_1; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116674.4]
+  assign dmiProgramBufferWrEnMaybe_2 = _T_6015 & _T_4968; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117925.4]
+  assign dmiProgramBufferRdEn_2 = _T_5779 & _T_4965; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117923.4]
+  assign dmiProgramBufferAccessVec_2 = dmiProgramBufferWrEnMaybe_2 | dmiProgramBufferRdEn_2; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116545.4]
+  assign _T_1965 = _T_1964 | dmiProgramBufferAccessVec_2; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116675.4]
+  assign dmiProgramBufferWrEnMaybe_3 = _T_6015 & _T_4995; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117957.4]
+  assign dmiProgramBufferRdEn_3 = _T_5779 & _T_4992; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117955.4]
+  assign dmiProgramBufferAccessVec_3 = dmiProgramBufferWrEnMaybe_3 | dmiProgramBufferRdEn_3; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116546.4]
+  assign _T_1966 = _T_1965 | dmiProgramBufferAccessVec_3; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116676.4]
+  assign _T_1967 = _T_1966 | dmiProgramBufferAccessVec_4; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116677.4]
+  assign dmiProgramBufferWrEnMaybe_5 = _T_6021 & _T_4941; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117641.4]
+  assign dmiProgramBufferRdEn_5 = _T_5785 & _T_4938; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117639.4]
+  assign dmiProgramBufferAccessVec_5 = dmiProgramBufferWrEnMaybe_5 | dmiProgramBufferRdEn_5; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116548.4]
+  assign _T_1968 = _T_1967 | dmiProgramBufferAccessVec_5; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116678.4]
+  assign dmiProgramBufferWrEnMaybe_6 = _T_6021 & _T_4968; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117673.4]
+  assign dmiProgramBufferRdEn_6 = _T_5785 & _T_4965; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117671.4]
+  assign dmiProgramBufferAccessVec_6 = dmiProgramBufferWrEnMaybe_6 | dmiProgramBufferRdEn_6; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116549.4]
+  assign _T_1969 = _T_1968 | dmiProgramBufferAccessVec_6; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116679.4]
+  assign dmiProgramBufferWrEnMaybe_7 = _T_6021 & _T_4995; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117705.4]
+  assign dmiProgramBufferRdEn_7 = _T_5785 & _T_4992; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117703.4]
+  assign dmiProgramBufferAccessVec_7 = dmiProgramBufferWrEnMaybe_7 | dmiProgramBufferRdEn_7; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116550.4]
+  assign _T_1970 = _T_1969 | dmiProgramBufferAccessVec_7; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116680.4]
+  assign _T_1971 = _T_1970 | dmiProgramBufferAccessVec_8; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116681.4]
+  assign dmiProgramBufferWrEnMaybe_9 = _T_6027 & _T_4941; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118019.4]
+  assign dmiProgramBufferRdEn_9 = _T_5791 & _T_4938; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118017.4]
+  assign dmiProgramBufferAccessVec_9 = dmiProgramBufferWrEnMaybe_9 | dmiProgramBufferRdEn_9; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116552.4]
+  assign _T_1972 = _T_1971 | dmiProgramBufferAccessVec_9; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116682.4]
+  assign dmiProgramBufferWrEnMaybe_10 = _T_6027 & _T_4968; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118051.4]
+  assign dmiProgramBufferRdEn_10 = _T_5791 & _T_4965; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118049.4]
+  assign dmiProgramBufferAccessVec_10 = dmiProgramBufferWrEnMaybe_10 | dmiProgramBufferRdEn_10; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116553.4]
+  assign _T_1973 = _T_1972 | dmiProgramBufferAccessVec_10; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116683.4]
+  assign dmiProgramBufferWrEnMaybe_11 = _T_6027 & _T_4995; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118083.4]
+  assign dmiProgramBufferRdEn_11 = _T_5791 & _T_4992; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118081.4]
+  assign dmiProgramBufferAccessVec_11 = dmiProgramBufferWrEnMaybe_11 | dmiProgramBufferRdEn_11; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116554.4]
+  assign _T_1974 = _T_1973 | dmiProgramBufferAccessVec_11; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116684.4]
+  assign _T_1975 = _T_1974 | dmiProgramBufferAccessVec_12; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116685.4]
+  assign dmiProgramBufferWrEnMaybe_13 = _T_6033 & _T_4941; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118603.4]
+  assign dmiProgramBufferRdEn_13 = _T_5797 & _T_4938; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118601.4]
+  assign dmiProgramBufferAccessVec_13 = dmiProgramBufferWrEnMaybe_13 | dmiProgramBufferRdEn_13; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116556.4]
+  assign _T_1976 = _T_1975 | dmiProgramBufferAccessVec_13; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116686.4]
+  assign dmiProgramBufferWrEnMaybe_14 = _T_6033 & _T_4968; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118635.4]
+  assign dmiProgramBufferRdEn_14 = _T_5797 & _T_4965; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118633.4]
+  assign dmiProgramBufferAccessVec_14 = dmiProgramBufferWrEnMaybe_14 | dmiProgramBufferRdEn_14; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116557.4]
+  assign _T_1977 = _T_1976 | dmiProgramBufferAccessVec_14; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116687.4]
+  assign dmiProgramBufferWrEnMaybe_15 = _T_6033 & _T_4995; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118667.4]
+  assign dmiProgramBufferRdEn_15 = _T_5797 & _T_4992; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118665.4]
+  assign dmiProgramBufferAccessVec_15 = dmiProgramBufferWrEnMaybe_15 | dmiProgramBufferRdEn_15; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116558.4]
+  assign _T_1978 = _T_1977 | dmiProgramBufferAccessVec_15; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116688.4]
+  assign _T_1979 = _T_1978 | dmiProgramBufferAccessVec_16; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116689.4]
+  assign dmiProgramBufferWrEnMaybe_17 = _T_6039 & _T_4941; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119036.4]
+  assign dmiProgramBufferRdEn_17 = _T_5803 & _T_4938; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119034.4]
+  assign dmiProgramBufferAccessVec_17 = dmiProgramBufferWrEnMaybe_17 | dmiProgramBufferRdEn_17; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116560.4]
+  assign _T_1980 = _T_1979 | dmiProgramBufferAccessVec_17; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116690.4]
+  assign dmiProgramBufferWrEnMaybe_18 = _T_6039 & _T_4968; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119068.4]
+  assign dmiProgramBufferRdEn_18 = _T_5803 & _T_4965; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119066.4]
+  assign dmiProgramBufferAccessVec_18 = dmiProgramBufferWrEnMaybe_18 | dmiProgramBufferRdEn_18; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116561.4]
+  assign _T_1981 = _T_1980 | dmiProgramBufferAccessVec_18; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116691.4]
+  assign dmiProgramBufferWrEnMaybe_19 = _T_6039 & _T_4995; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119100.4]
+  assign dmiProgramBufferRdEn_19 = _T_5803 & _T_4992; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119098.4]
+  assign dmiProgramBufferAccessVec_19 = dmiProgramBufferWrEnMaybe_19 | dmiProgramBufferRdEn_19; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116562.4]
+  assign _T_1982 = _T_1981 | dmiProgramBufferAccessVec_19; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116692.4]
+  assign _T_1983 = _T_1982 | dmiProgramBufferAccessVec_20; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116693.4]
+  assign dmiProgramBufferWrEnMaybe_21 = _T_6045 & _T_4941; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117263.4]
+  assign dmiProgramBufferRdEn_21 = _T_5809 & _T_4938; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117261.4]
+  assign dmiProgramBufferAccessVec_21 = dmiProgramBufferWrEnMaybe_21 | dmiProgramBufferRdEn_21; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116564.4]
+  assign _T_1984 = _T_1983 | dmiProgramBufferAccessVec_21; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116694.4]
+  assign dmiProgramBufferWrEnMaybe_22 = _T_6045 & _T_4968; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117295.4]
+  assign dmiProgramBufferRdEn_22 = _T_5809 & _T_4965; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117293.4]
+  assign dmiProgramBufferAccessVec_22 = dmiProgramBufferWrEnMaybe_22 | dmiProgramBufferRdEn_22; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116565.4]
+  assign _T_1985 = _T_1984 | dmiProgramBufferAccessVec_22; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116695.4]
+  assign dmiProgramBufferWrEnMaybe_23 = _T_6045 & _T_4995; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117327.4]
+  assign dmiProgramBufferRdEn_23 = _T_5809 & _T_4992; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117325.4]
+  assign dmiProgramBufferAccessVec_23 = dmiProgramBufferWrEnMaybe_23 | dmiProgramBufferRdEn_23; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116566.4]
+  assign _T_1986 = _T_1985 | dmiProgramBufferAccessVec_23; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116696.4]
+  assign _T_1987 = _T_1986 | dmiProgramBufferAccessVec_24; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116697.4]
+  assign dmiProgramBufferWrEnMaybe_25 = _T_6051 & _T_4941; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117515.4]
+  assign dmiProgramBufferRdEn_25 = _T_5815 & _T_4938; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117513.4]
+  assign dmiProgramBufferAccessVec_25 = dmiProgramBufferWrEnMaybe_25 | dmiProgramBufferRdEn_25; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116568.4]
+  assign _T_1988 = _T_1987 | dmiProgramBufferAccessVec_25; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116698.4]
+  assign dmiProgramBufferWrEnMaybe_26 = _T_6051 & _T_4968; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117547.4]
+  assign dmiProgramBufferRdEn_26 = _T_5815 & _T_4965; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117545.4]
+  assign dmiProgramBufferAccessVec_26 = dmiProgramBufferWrEnMaybe_26 | dmiProgramBufferRdEn_26; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116569.4]
+  assign _T_1989 = _T_1988 | dmiProgramBufferAccessVec_26; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116699.4]
+  assign dmiProgramBufferWrEnMaybe_27 = _T_6051 & _T_4995; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117579.4]
+  assign dmiProgramBufferRdEn_27 = _T_5815 & _T_4992; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117577.4]
+  assign dmiProgramBufferAccessVec_27 = dmiProgramBufferWrEnMaybe_27 | dmiProgramBufferRdEn_27; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116570.4]
+  assign _T_1990 = _T_1989 | dmiProgramBufferAccessVec_27; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116700.4]
+  assign _T_1991 = _T_1990 | dmiProgramBufferAccessVec_28; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116701.4]
+  assign dmiProgramBufferWrEnMaybe_29 = _T_6057 & _T_4941; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118477.4]
+  assign dmiProgramBufferRdEn_29 = _T_5821 & _T_4938; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118475.4]
+  assign dmiProgramBufferAccessVec_29 = dmiProgramBufferWrEnMaybe_29 | dmiProgramBufferRdEn_29; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116572.4]
+  assign _T_1992 = _T_1991 | dmiProgramBufferAccessVec_29; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116702.4]
+  assign dmiProgramBufferWrEnMaybe_30 = _T_6057 & _T_4968; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118509.4]
+  assign dmiProgramBufferRdEn_30 = _T_5821 & _T_4965; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118507.4]
+  assign dmiProgramBufferAccessVec_30 = dmiProgramBufferWrEnMaybe_30 | dmiProgramBufferRdEn_30; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116573.4]
+  assign _T_1993 = _T_1992 | dmiProgramBufferAccessVec_30; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116703.4]
+  assign dmiProgramBufferWrEnMaybe_31 = _T_6057 & _T_4995; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118541.4]
+  assign dmiProgramBufferRdEn_31 = _T_5821 & _T_4992; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118539.4]
+  assign dmiProgramBufferAccessVec_31 = dmiProgramBufferWrEnMaybe_31 | dmiProgramBufferRdEn_31; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116574.4]
+  assign _T_1994 = _T_1993 | dmiProgramBufferAccessVec_31; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116704.4]
+  assign _T_1995 = _T_1994 | dmiProgramBufferAccessVec_32; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116705.4]
+  assign dmiProgramBufferWrEnMaybe_33 = _T_6063 & _T_4941; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118880.4]
+  assign dmiProgramBufferRdEn_33 = _T_5827 & _T_4938; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118878.4]
+  assign dmiProgramBufferAccessVec_33 = dmiProgramBufferWrEnMaybe_33 | dmiProgramBufferRdEn_33; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116576.4]
+  assign _T_1996 = _T_1995 | dmiProgramBufferAccessVec_33; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116706.4]
+  assign dmiProgramBufferWrEnMaybe_34 = _T_6063 & _T_4968; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118912.4]
+  assign dmiProgramBufferRdEn_34 = _T_5827 & _T_4965; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118910.4]
+  assign dmiProgramBufferAccessVec_34 = dmiProgramBufferWrEnMaybe_34 | dmiProgramBufferRdEn_34; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116577.4]
+  assign _T_1997 = _T_1996 | dmiProgramBufferAccessVec_34; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116707.4]
+  assign dmiProgramBufferWrEnMaybe_35 = _T_6063 & _T_4995; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118944.4]
+  assign dmiProgramBufferRdEn_35 = _T_5827 & _T_4992; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118942.4]
+  assign dmiProgramBufferAccessVec_35 = dmiProgramBufferWrEnMaybe_35 | dmiProgramBufferRdEn_35; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116578.4]
+  assign _T_1998 = _T_1997 | dmiProgramBufferAccessVec_35; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116708.4]
+  assign _T_1999 = _T_1998 | dmiProgramBufferAccessVec_36; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116709.4]
+  assign dmiProgramBufferWrEnMaybe_37 = _T_6069 & _T_4941; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117767.4]
+  assign dmiProgramBufferRdEn_37 = _T_5833 & _T_4938; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117765.4]
+  assign dmiProgramBufferAccessVec_37 = dmiProgramBufferWrEnMaybe_37 | dmiProgramBufferRdEn_37; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116580.4]
+  assign _T_2000 = _T_1999 | dmiProgramBufferAccessVec_37; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116710.4]
+  assign dmiProgramBufferWrEnMaybe_38 = _T_6069 & _T_4968; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117799.4]
+  assign dmiProgramBufferRdEn_38 = _T_5833 & _T_4965; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117797.4]
+  assign dmiProgramBufferAccessVec_38 = dmiProgramBufferWrEnMaybe_38 | dmiProgramBufferRdEn_38; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116581.4]
+  assign _T_2001 = _T_2000 | dmiProgramBufferAccessVec_38; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116711.4]
+  assign dmiProgramBufferWrEnMaybe_39 = _T_6069 & _T_4995; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117831.4]
+  assign dmiProgramBufferRdEn_39 = _T_5833 & _T_4992; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117829.4]
+  assign dmiProgramBufferAccessVec_39 = dmiProgramBufferWrEnMaybe_39 | dmiProgramBufferRdEn_39; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116582.4]
+  assign _T_2002 = _T_2001 | dmiProgramBufferAccessVec_39; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116712.4]
+  assign _T_2003 = _T_2002 | dmiProgramBufferAccessVec_40; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116713.4]
+  assign dmiProgramBufferWrEnMaybe_41 = _T_6075 & _T_4941; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117107.4]
+  assign dmiProgramBufferRdEn_41 = _T_5839 & _T_4938; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117105.4]
+  assign dmiProgramBufferAccessVec_41 = dmiProgramBufferWrEnMaybe_41 | dmiProgramBufferRdEn_41; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116584.4]
+  assign _T_2004 = _T_2003 | dmiProgramBufferAccessVec_41; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116714.4]
+  assign dmiProgramBufferWrEnMaybe_42 = _T_6075 & _T_4968; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117139.4]
+  assign dmiProgramBufferRdEn_42 = _T_5839 & _T_4965; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117137.4]
+  assign dmiProgramBufferAccessVec_42 = dmiProgramBufferWrEnMaybe_42 | dmiProgramBufferRdEn_42; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116585.4]
+  assign _T_2005 = _T_2004 | dmiProgramBufferAccessVec_42; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116715.4]
+  assign dmiProgramBufferWrEnMaybe_43 = _T_6075 & _T_4995; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117171.4]
+  assign dmiProgramBufferRdEn_43 = _T_5839 & _T_4992; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117169.4]
+  assign dmiProgramBufferAccessVec_43 = dmiProgramBufferWrEnMaybe_43 | dmiProgramBufferRdEn_43; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116586.4]
+  assign _T_2006 = _T_2005 | dmiProgramBufferAccessVec_43; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116716.4]
+  assign _T_2007 = _T_2006 | dmiProgramBufferAccessVec_44; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116717.4]
+  assign dmiProgramBufferWrEnMaybe_45 = _T_6081 & _T_4941; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118754.4]
+  assign dmiProgramBufferRdEn_45 = _T_5845 & _T_4938; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118752.4]
+  assign dmiProgramBufferAccessVec_45 = dmiProgramBufferWrEnMaybe_45 | dmiProgramBufferRdEn_45; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116588.4]
+  assign _T_2008 = _T_2007 | dmiProgramBufferAccessVec_45; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116718.4]
+  assign dmiProgramBufferWrEnMaybe_46 = _T_6081 & _T_4968; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118786.4]
+  assign dmiProgramBufferRdEn_46 = _T_5845 & _T_4965; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118784.4]
+  assign dmiProgramBufferAccessVec_46 = dmiProgramBufferWrEnMaybe_46 | dmiProgramBufferRdEn_46; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116589.4]
+  assign _T_2009 = _T_2008 | dmiProgramBufferAccessVec_46; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116719.4]
+  assign dmiProgramBufferWrEnMaybe_47 = _T_6081 & _T_4995; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118818.4]
+  assign dmiProgramBufferRdEn_47 = _T_5845 & _T_4992; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118816.4]
+  assign dmiProgramBufferAccessVec_47 = dmiProgramBufferWrEnMaybe_47 | dmiProgramBufferRdEn_47; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116590.4]
+  assign _T_2010 = _T_2009 | dmiProgramBufferAccessVec_47; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116720.4]
+  assign _T_2011 = _T_2010 | dmiProgramBufferAccessVec_48; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116721.4]
+  assign dmiProgramBufferWrEnMaybe_49 = _T_6087 & _T_4941; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118351.4]
+  assign dmiProgramBufferRdEn_49 = _T_5851 & _T_4938; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118349.4]
+  assign dmiProgramBufferAccessVec_49 = dmiProgramBufferWrEnMaybe_49 | dmiProgramBufferRdEn_49; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116592.4]
+  assign _T_2012 = _T_2011 | dmiProgramBufferAccessVec_49; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116722.4]
+  assign dmiProgramBufferWrEnMaybe_50 = _T_6087 & _T_4968; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118383.4]
+  assign dmiProgramBufferRdEn_50 = _T_5851 & _T_4965; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118381.4]
+  assign dmiProgramBufferAccessVec_50 = dmiProgramBufferWrEnMaybe_50 | dmiProgramBufferRdEn_50; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116593.4]
+  assign _T_2013 = _T_2012 | dmiProgramBufferAccessVec_50; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116723.4]
+  assign dmiProgramBufferWrEnMaybe_51 = _T_6087 & _T_4995; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118415.4]
+  assign dmiProgramBufferRdEn_51 = _T_5851 & _T_4992; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118413.4]
+  assign dmiProgramBufferAccessVec_51 = dmiProgramBufferWrEnMaybe_51 | dmiProgramBufferRdEn_51; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116594.4]
+  assign _T_2014 = _T_2013 | dmiProgramBufferAccessVec_51; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116724.4]
+  assign _T_2015 = _T_2014 | dmiProgramBufferAccessVec_52; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116725.4]
+  assign dmiProgramBufferWrEnMaybe_53 = _T_6093 & _T_4941; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118145.4]
+  assign dmiProgramBufferRdEn_53 = _T_5857 & _T_4938; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118143.4]
+  assign dmiProgramBufferAccessVec_53 = dmiProgramBufferWrEnMaybe_53 | dmiProgramBufferRdEn_53; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116596.4]
+  assign _T_2016 = _T_2015 | dmiProgramBufferAccessVec_53; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116726.4]
+  assign dmiProgramBufferWrEnMaybe_54 = _T_6093 & _T_4968; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118177.4]
+  assign dmiProgramBufferRdEn_54 = _T_5857 & _T_4965; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118175.4]
+  assign dmiProgramBufferAccessVec_54 = dmiProgramBufferWrEnMaybe_54 | dmiProgramBufferRdEn_54; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116597.4]
+  assign _T_2017 = _T_2016 | dmiProgramBufferAccessVec_54; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116727.4]
+  assign dmiProgramBufferWrEnMaybe_55 = _T_6093 & _T_4995; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118209.4]
+  assign dmiProgramBufferRdEn_55 = _T_5857 & _T_4992; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118207.4]
+  assign dmiProgramBufferAccessVec_55 = dmiProgramBufferWrEnMaybe_55 | dmiProgramBufferRdEn_55; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116598.4]
+  assign _T_2018 = _T_2017 | dmiProgramBufferAccessVec_55; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116728.4]
+  assign _T_2019 = _T_2018 | dmiProgramBufferAccessVec_56; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116729.4]
+  assign dmiProgramBufferWrEnMaybe_57 = _T_6099 & _T_4941; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117389.4]
+  assign dmiProgramBufferRdEn_57 = _T_5863 & _T_4938; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117387.4]
+  assign dmiProgramBufferAccessVec_57 = dmiProgramBufferWrEnMaybe_57 | dmiProgramBufferRdEn_57; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116600.4]
+  assign _T_2020 = _T_2019 | dmiProgramBufferAccessVec_57; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116730.4]
+  assign dmiProgramBufferWrEnMaybe_58 = _T_6099 & _T_4968; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117421.4]
+  assign dmiProgramBufferRdEn_58 = _T_5863 & _T_4965; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117419.4]
+  assign dmiProgramBufferAccessVec_58 = dmiProgramBufferWrEnMaybe_58 | dmiProgramBufferRdEn_58; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116601.4]
+  assign _T_2021 = _T_2020 | dmiProgramBufferAccessVec_58; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116731.4]
+  assign dmiProgramBufferWrEnMaybe_59 = _T_6099 & _T_4995; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117453.4]
+  assign dmiProgramBufferRdEn_59 = _T_5863 & _T_4992; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117451.4]
+  assign dmiProgramBufferAccessVec_59 = dmiProgramBufferWrEnMaybe_59 | dmiProgramBufferRdEn_59; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116602.4]
+  assign _T_2022 = _T_2021 | dmiProgramBufferAccessVec_59; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116732.4]
+  assign _T_2023 = _T_2022 | dmiProgramBufferAccessVec_60; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116733.4]
+  assign dmiProgramBufferWrEnMaybe_61 = _T_6105 & _T_4941; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119313.4]
+  assign dmiProgramBufferRdEn_61 = _T_5869 & _T_4938; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119311.4]
+  assign dmiProgramBufferAccessVec_61 = dmiProgramBufferWrEnMaybe_61 | dmiProgramBufferRdEn_61; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116604.4]
+  assign _T_2024 = _T_2023 | dmiProgramBufferAccessVec_61; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116734.4]
+  assign dmiProgramBufferWrEnMaybe_62 = _T_6105 & _T_4968; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119345.4]
+  assign dmiProgramBufferRdEn_62 = _T_5869 & _T_4965; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119343.4]
+  assign dmiProgramBufferAccessVec_62 = dmiProgramBufferWrEnMaybe_62 | dmiProgramBufferRdEn_62; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116605.4]
+  assign _T_2025 = _T_2024 | dmiProgramBufferAccessVec_62; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116735.4]
+  assign dmiProgramBufferWrEnMaybe_63 = _T_6105 & _T_4995; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119377.4]
+  assign dmiProgramBufferRdEn_63 = _T_5869 & _T_4992; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119375.4]
+  assign dmiProgramBufferAccessVec_63 = dmiProgramBufferWrEnMaybe_63 | dmiProgramBufferRdEn_63; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116606.4]
+  assign dmiProgramBufferAccess = _T_2025 | dmiProgramBufferAccessVec_63; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116736.4]
+  assign _T_76305 = dmiProgramBufferAccess & _T_76293; // @[Debug.scala 951:42:shc.marmotcaravel.MarmotCaravelConfig.fir@191429.4]
+  assign errorBusy = _T_76303 | _T_76305; // @[Debug.scala 950:74:shc.marmotcaravel.MarmotCaravelConfig.fir@191430.4]
+  assign ABSTRACTAUTOWrDataVal = ABSTRACTAUTOWrEnMaybe ? auto_dmi_in_a_bits_data : 32'h0; // @[Debug.scala 215:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117207.4]
+  assign ABSTRACTAUTOWrData_autoexecdata = ABSTRACTAUTOWrDataVal[11:0]; // @[Debug.scala 582:68:shc.marmotcaravel.MarmotCaravelConfig.fir@116427.4]
+  assign ABSTRACTAUTOWrData_autoexecprogbuf = ABSTRACTAUTOWrDataVal[31:16]; // @[Debug.scala 582:68:shc.marmotcaravel.MarmotCaravelConfig.fir@116431.4]
+  assign ABSTRACTAUTOWrEn = ABSTRACTAUTOWrEnMaybe & ABSTRACTCSWrEnLegal; // @[Debug.scala 589:55:shc.marmotcaravel.MarmotCaravelConfig.fir@116445.4]
+  assign _T_1457 = ABSTRACTAUTOWrData_autoexecdata & 12'h1; // @[Debug.scala 595:71:shc.marmotcaravel.MarmotCaravelConfig.fir@116454.8]
+  assign COMMANDWrData_control = COMMANDWrDataVal[23:0]; // @[Debug.scala 621:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116863.4]
+  assign hartHaltedId = auto_tl_in_a_bits_data[9:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@151097.4]
+  assign _T_2673 = hartHaltedId == 10'h0; // @[Debug.scala 660:60:shc.marmotcaravel.MarmotCaravelConfig.fir@116904.8]
+  assign _T_60400 = _T_60333[66]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@168673.4]
+  assign _T_72033 = _T_71634 & _T_60400; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@185528.4]
+  assign _T_72034 = _T_72033 & _T_23089; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@185529.4]
+  assign hartResumingWrEn = _T_72034 & _T_50733; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@155399.4]
+  assign _T_60398 = _T_60333[64]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@168671.4]
+  assign _T_72021 = _T_71634 & _T_60398; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@185512.4]
+  assign _T_72022 = _T_72021 & _T_23089; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@185513.4]
+  assign hartHaltedWrEn = _T_72022 & _T_50733; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@151096.4]
+  assign _T_2683 = {DMSTATUSRdData_allhalted,DMSTATUSRdData_allhalted}; // @[Debug.scala 693:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116930.4]
+  assign _T_2684 = {1'h0,DMSTATUSRdData_allrunning}; // @[Debug.scala 693:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116931.4]
+  assign _T_2685 = {_T_2684,DMSTATUSRdData_allrunning}; // @[Debug.scala 693:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116932.4]
+  assign _T_2686 = {_T_2685,_T_2683}; // @[Debug.scala 693:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116933.4]
+  assign _T_2687 = {_T_2686,8'h82}; // @[Debug.scala 693:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116934.4]
+  assign _T_2688 = {DMSTATUSRdData_anynonexistent,1'h0}; // @[Debug.scala 693:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116935.4]
+  assign _T_2689 = {DMSTATUSRdData_allresumeack,DMSTATUSRdData_allresumeack}; // @[Debug.scala 693:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116936.4]
+  assign _T_2690 = {_T_2689,DMSTATUSRdData_anynonexistent}; // @[Debug.scala 693:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116937.4]
+  assign _T_2691 = {_T_2690,_T_2688}; // @[Debug.scala 693:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116938.4]
+  assign _T_2692 = {haveResetBitRegs_0,haveResetBitRegs_0}; // @[Debug.scala 693:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116939.4]
+  assign _T_2695 = {12'h0,_T_2692}; // @[Debug.scala 693:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116942.4]
+  assign _T_2696 = {_T_2695,_T_2691}; // @[Debug.scala 693:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116943.4]
+  assign _T_2697 = {_T_2696,_T_2687}; // @[Debug.scala 693:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116944.4]
+  assign _T_2704 = {1'h0,ABSTRACTCSReg_cmderr}; // @[Debug.scala 698:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116951.4]
+  assign _T_2705 = {_T_2704,8'h1}; // @[Debug.scala 698:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116952.4]
+  assign abstractCommandBusy = ctrlStateReg != 2'h0; // @[Debug.scala 939:42:shc.marmotcaravel.MarmotCaravelConfig.fir@191405.4]
+  assign _T_2706 = {11'h0,abstractCommandBusy}; // @[Debug.scala 698:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116953.4]
+  assign _T_2708 = {8'h10,_T_2706}; // @[Debug.scala 698:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116955.4]
+  assign _T_2709 = {_T_2708,_T_2705}; // @[Debug.scala 698:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116956.4]
+  assign _T_2710 = {ABSTRACTAUTOReg_autoexecprogbuf,4'h0}; // @[Debug.scala 700:75:shc.marmotcaravel.MarmotCaravelConfig.fir@116957.4]
+  assign _T_2711 = {_T_2710,ABSTRACTAUTOReg_autoexecdata}; // @[Debug.scala 700:75:shc.marmotcaravel.MarmotCaravelConfig.fir@116958.4]
+  assign _T_2722 = {auto_dmi_in_a_bits_source,auto_dmi_in_a_bits_size}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@116968.4]
+  assign _T_3156 = auto_dmi_in_a_bits_data[7:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117079.4]
+  assign _T_3181 = auto_dmi_in_a_bits_data[15:8]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117109.4]
+  assign _T_3191 = {programBufferMem_41,programBufferMem_40}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@117123.4]
+  assign _T_3208 = auto_dmi_in_a_bits_data[23:16]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117141.4]
+  assign _T_3218 = {programBufferMem_42,_T_3191}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@117155.4]
+  assign _T_3235 = auto_dmi_in_a_bits_data[31:24]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117173.4]
+  assign _T_3245 = {programBufferMem_43,_T_3218}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@117187.4]
+  assign _T_3322 = {programBufferMem_21,programBufferMem_20}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@117279.4]
+  assign _T_3349 = {programBufferMem_22,_T_3322}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@117311.4]
+  assign _T_3376 = {programBufferMem_23,_T_3349}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@117343.4]
+  assign _T_3428 = {programBufferMem_57,programBufferMem_56}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@117405.4]
+  assign _T_3455 = {programBufferMem_58,_T_3428}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@117437.4]
+  assign _T_3482 = {programBufferMem_59,_T_3455}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@117469.4]
+  assign _T_3534 = {programBufferMem_25,programBufferMem_24}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@117531.4]
+  assign _T_3561 = {programBufferMem_26,_T_3534}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@117563.4]
+  assign _T_3588 = {programBufferMem_27,_T_3561}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@117595.4]
+  assign _T_3640 = {programBufferMem_5,programBufferMem_4}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@117657.4]
+  assign _T_3667 = {programBufferMem_6,_T_3640}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@117689.4]
+  assign _T_3694 = {programBufferMem_7,_T_3667}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@117721.4]
+  assign _T_3746 = {programBufferMem_37,programBufferMem_36}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@117783.4]
+  assign _T_3773 = {programBufferMem_38,_T_3746}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@117815.4]
+  assign _T_3800 = {programBufferMem_39,_T_3773}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@117847.4]
+  assign _T_3852 = {programBufferMem_1,programBufferMem_0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@117909.4]
+  assign _T_3879 = {programBufferMem_2,_T_3852}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@117941.4]
+  assign _T_3906 = {programBufferMem_3,_T_3879}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@117973.4]
+  assign _T_3958 = {programBufferMem_9,programBufferMem_8}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@118035.4]
+  assign _T_3985 = {programBufferMem_10,_T_3958}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@118067.4]
+  assign _T_4012 = {programBufferMem_11,_T_3985}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@118099.4]
+  assign _T_4064 = {programBufferMem_53,programBufferMem_52}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@118161.4]
+  assign _T_4091 = {programBufferMem_54,_T_4064}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@118193.4]
+  assign _T_4118 = {programBufferMem_55,_T_4091}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@118225.4]
+  assign _T_4245 = {programBufferMem_49,programBufferMem_48}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@118367.4]
+  assign _T_4272 = {programBufferMem_50,_T_4245}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@118399.4]
+  assign _T_4299 = {programBufferMem_51,_T_4272}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@118431.4]
+  assign _T_4351 = {programBufferMem_29,programBufferMem_28}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@118493.4]
+  assign _T_4378 = {programBufferMem_30,_T_4351}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@118525.4]
+  assign _T_4405 = {programBufferMem_31,_T_4378}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@118557.4]
+  assign _T_4457 = {programBufferMem_13,programBufferMem_12}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@118619.4]
+  assign _T_4484 = {programBufferMem_14,_T_4457}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@118651.4]
+  assign _T_4511 = {programBufferMem_15,_T_4484}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@118683.4]
+  assign _T_4588 = {programBufferMem_45,programBufferMem_44}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@118770.4]
+  assign _T_4615 = {programBufferMem_46,_T_4588}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@118802.4]
+  assign _T_4642 = {programBufferMem_47,_T_4615}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@118834.4]
+  assign _T_4694 = {programBufferMem_33,programBufferMem_32}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@118896.4]
+  assign _T_4721 = {programBufferMem_34,_T_4694}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@118928.4]
+  assign _T_4748 = {programBufferMem_35,_T_4721}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@118960.4]
+  assign _T_4825 = {programBufferMem_17,programBufferMem_16}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@119052.4]
+  assign _T_4852 = {programBufferMem_18,_T_4825}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@119084.4]
+  assign _T_4879 = {programBufferMem_19,_T_4852}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@119116.4]
+  assign _T_4956 = {abstractDataMem_1,abstractDataMem_0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@119203.4]
+  assign _T_4983 = {abstractDataMem_2,_T_4956}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@119235.4]
+  assign _T_5010 = {abstractDataMem_3,_T_4983}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@119267.4]
+  assign _T_5062 = {programBufferMem_61,programBufferMem_60}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@119329.4]
+  assign _T_5089 = {programBufferMem_62,_T_5062}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@119361.4]
+  assign _T_5116 = {programBufferMem_63,_T_5089}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@119393.4]
+  assign _GEN_252 = 5'h1 == _T_5129 ? _T_2742 : _T_2760; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120880.4]
+  assign _GEN_253 = 5'h2 == _T_5129 ? _T_2742 : _GEN_252; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120880.4]
+  assign _GEN_254 = 5'h3 == _T_5129 ? _T_2742 : _GEN_253; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120880.4]
+  assign _GEN_255 = 5'h4 == _T_5129 ? _T_2786 : _GEN_254; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120880.4]
+  assign _GEN_256 = 5'h5 == _T_5129 ? 1'h1 : _GEN_255; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120880.4]
+  assign _GEN_257 = 5'h6 == _T_5129 ? _T_2742 : _GEN_256; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120880.4]
+  assign _GEN_258 = 5'h7 == _T_5129 ? _T_2742 : _GEN_257; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120880.4]
+  assign _GEN_259 = 5'h8 == _T_5129 ? _T_2742 : _GEN_258; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120880.4]
+  assign _GEN_260 = 5'h9 == _T_5129 ? 1'h1 : _GEN_259; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120880.4]
+  assign _GEN_261 = 5'ha == _T_5129 ? 1'h1 : _GEN_260; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120880.4]
+  assign _GEN_262 = 5'hb == _T_5129 ? 1'h1 : _GEN_261; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120880.4]
+  assign _GEN_263 = 5'hc == _T_5129 ? 1'h1 : _GEN_262; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120880.4]
+  assign _GEN_264 = 5'hd == _T_5129 ? 1'h1 : _GEN_263; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120880.4]
+  assign _GEN_265 = 5'he == _T_5129 ? 1'h1 : _GEN_264; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120880.4]
+  assign _GEN_266 = 5'hf == _T_5129 ? 1'h1 : _GEN_265; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120880.4]
+  assign _GEN_267 = 5'h10 == _T_5129 ? _T_2786 : _GEN_266; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120880.4]
+  assign _GEN_268 = 5'h11 == _T_5129 ? _T_2786 : _GEN_267; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120880.4]
+  assign _GEN_269 = 5'h12 == _T_5129 ? _T_2786 : _GEN_268; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120880.4]
+  assign _GEN_270 = 5'h13 == _T_5129 ? _T_2786 : _GEN_269; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120880.4]
+  assign _GEN_271 = 5'h14 == _T_5129 ? _T_2786 : _GEN_270; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120880.4]
+  assign _GEN_272 = 5'h15 == _T_5129 ? _T_2786 : _GEN_271; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120880.4]
+  assign _GEN_273 = 5'h16 == _T_5129 ? _T_2786 : _GEN_272; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120880.4]
+  assign _GEN_274 = 5'h17 == _T_5129 ? _T_2786 : _GEN_273; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120880.4]
+  assign _GEN_275 = 5'h18 == _T_5129 ? _T_2786 : _GEN_274; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120880.4]
+  assign _GEN_276 = 5'h19 == _T_5129 ? _T_2786 : _GEN_275; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120880.4]
+  assign _GEN_277 = 5'h1a == _T_5129 ? _T_2786 : _GEN_276; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120880.4]
+  assign _GEN_278 = 5'h1b == _T_5129 ? _T_2786 : _GEN_277; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120880.4]
+  assign _GEN_279 = 5'h1c == _T_5129 ? _T_2786 : _GEN_278; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120880.4]
+  assign _GEN_280 = 5'h1d == _T_5129 ? _T_2786 : _GEN_279; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120880.4]
+  assign _GEN_281 = 5'h1e == _T_5129 ? _T_2786 : _GEN_280; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120880.4]
+  assign _GEN_282 = 5'h1f == _T_5129 ? _T_2786 : _GEN_281; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120880.4]
+  assign _GEN_284 = 5'h1 == _T_5129 ? _T_2697 : selectedHaltedStatus; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120916.4]
+  assign _GEN_285 = 5'h2 == _T_5129 ? 32'h111380 : _GEN_284; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120916.4]
+  assign _GEN_286 = 5'h3 == _T_5129 ? HALTSUM1RdData_haltsum1 : _GEN_285; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120916.4]
+  assign _GEN_287 = 5'h4 == _T_5129 ? _T_5010 : _GEN_286; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120916.4]
+  assign _GEN_288 = 5'h5 == _T_5129 ? 32'h0 : _GEN_287; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120916.4]
+  assign _GEN_289 = 5'h6 == _T_5129 ? _T_2709 : _GEN_288; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120916.4]
+  assign _GEN_290 = 5'h7 == _T_5129 ? _T_20900 : _GEN_289; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120916.4]
+  assign _GEN_291 = 5'h8 == _T_5129 ? _T_2711 : _GEN_290; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120916.4]
+  assign _GEN_292 = 5'h9 == _T_5129 ? 32'h0 : _GEN_291; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120916.4]
+  assign _GEN_293 = 5'ha == _T_5129 ? 32'h0 : _GEN_292; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120916.4]
+  assign _GEN_294 = 5'hb == _T_5129 ? 32'h0 : _GEN_293; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120916.4]
+  assign _GEN_295 = 5'hc == _T_5129 ? 32'h0 : _GEN_294; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120916.4]
+  assign _GEN_296 = 5'hd == _T_5129 ? 32'h0 : _GEN_295; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120916.4]
+  assign _GEN_297 = 5'he == _T_5129 ? 32'h0 : _GEN_296; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120916.4]
+  assign _GEN_298 = 5'hf == _T_5129 ? 32'h0 : _GEN_297; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120916.4]
+  assign _GEN_299 = 5'h10 == _T_5129 ? _T_3906 : _GEN_298; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120916.4]
+  assign _GEN_300 = 5'h11 == _T_5129 ? _T_3694 : _GEN_299; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120916.4]
+  assign _GEN_301 = 5'h12 == _T_5129 ? _T_4012 : _GEN_300; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120916.4]
+  assign _GEN_302 = 5'h13 == _T_5129 ? _T_4511 : _GEN_301; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120916.4]
+  assign _GEN_303 = 5'h14 == _T_5129 ? _T_4879 : _GEN_302; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120916.4]
+  assign _GEN_304 = 5'h15 == _T_5129 ? _T_3376 : _GEN_303; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120916.4]
+  assign _GEN_305 = 5'h16 == _T_5129 ? _T_3588 : _GEN_304; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120916.4]
+  assign _GEN_306 = 5'h17 == _T_5129 ? _T_4405 : _GEN_305; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120916.4]
+  assign _GEN_307 = 5'h18 == _T_5129 ? _T_4748 : _GEN_306; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120916.4]
+  assign _GEN_308 = 5'h19 == _T_5129 ? _T_3800 : _GEN_307; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120916.4]
+  assign _GEN_309 = 5'h1a == _T_5129 ? _T_3245 : _GEN_308; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120916.4]
+  assign _GEN_310 = 5'h1b == _T_5129 ? _T_4642 : _GEN_309; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120916.4]
+  assign _GEN_311 = 5'h1c == _T_5129 ? _T_4299 : _GEN_310; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120916.4]
+  assign _GEN_312 = 5'h1d == _T_5129 ? _T_4118 : _GEN_311; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120916.4]
+  assign _GEN_313 = 5'h1e == _T_5129 ? _T_3482 : _GEN_312; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120916.4]
+  assign _GEN_314 = 5'h1f == _T_5129 ? _T_5116 : _GEN_313; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120916.4]
+  assign _T_6243 = dmiAbstractDataWrEnMaybe_0 & ABSTRACTCSWrEnLegal; // @[Debug.scala 725:41:shc.marmotcaravel.MarmotCaravelConfig.fir@120943.4]
+  assign _T_6244 = dmiAbstractDataWrEnMaybe_1 & ABSTRACTCSWrEnLegal; // @[Debug.scala 725:41:shc.marmotcaravel.MarmotCaravelConfig.fir@120947.4]
+  assign _T_6245 = dmiAbstractDataWrEnMaybe_2 & ABSTRACTCSWrEnLegal; // @[Debug.scala 725:41:shc.marmotcaravel.MarmotCaravelConfig.fir@120951.4]
+  assign _T_6246 = dmiAbstractDataWrEnMaybe_3 & ABSTRACTCSWrEnLegal; // @[Debug.scala 725:41:shc.marmotcaravel.MarmotCaravelConfig.fir@120955.4]
+  assign _T_6247 = dmiProgramBufferWrEnMaybe_0 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@120959.4]
+  assign _T_6248 = dmiProgramBufferWrEnMaybe_1 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@120963.4]
+  assign _T_6249 = dmiProgramBufferWrEnMaybe_2 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@120967.4]
+  assign _T_6250 = dmiProgramBufferWrEnMaybe_3 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@120971.4]
+  assign _T_6251 = dmiProgramBufferWrEnMaybe_4 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@120975.4]
+  assign _T_6252 = dmiProgramBufferWrEnMaybe_5 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@120979.4]
+  assign _T_6253 = dmiProgramBufferWrEnMaybe_6 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@120983.4]
+  assign _T_6254 = dmiProgramBufferWrEnMaybe_7 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@120987.4]
+  assign _T_6255 = dmiProgramBufferWrEnMaybe_8 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@120991.4]
+  assign _T_6256 = dmiProgramBufferWrEnMaybe_9 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@120995.4]
+  assign _T_6257 = dmiProgramBufferWrEnMaybe_10 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@120999.4]
+  assign _T_6258 = dmiProgramBufferWrEnMaybe_11 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121003.4]
+  assign _T_6259 = dmiProgramBufferWrEnMaybe_12 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121007.4]
+  assign _T_6260 = dmiProgramBufferWrEnMaybe_13 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121011.4]
+  assign _T_6261 = dmiProgramBufferWrEnMaybe_14 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121015.4]
+  assign _T_6262 = dmiProgramBufferWrEnMaybe_15 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121019.4]
+  assign _T_6263 = dmiProgramBufferWrEnMaybe_16 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121023.4]
+  assign _T_6264 = dmiProgramBufferWrEnMaybe_17 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121027.4]
+  assign _T_6265 = dmiProgramBufferWrEnMaybe_18 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121031.4]
+  assign _T_6266 = dmiProgramBufferWrEnMaybe_19 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121035.4]
+  assign _T_6267 = dmiProgramBufferWrEnMaybe_20 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121039.4]
+  assign _T_6268 = dmiProgramBufferWrEnMaybe_21 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121043.4]
+  assign _T_6269 = dmiProgramBufferWrEnMaybe_22 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121047.4]
+  assign _T_6270 = dmiProgramBufferWrEnMaybe_23 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121051.4]
+  assign _T_6271 = dmiProgramBufferWrEnMaybe_24 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121055.4]
+  assign _T_6272 = dmiProgramBufferWrEnMaybe_25 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121059.4]
+  assign _T_6273 = dmiProgramBufferWrEnMaybe_26 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121063.4]
+  assign _T_6274 = dmiProgramBufferWrEnMaybe_27 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121067.4]
+  assign _T_6275 = dmiProgramBufferWrEnMaybe_28 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121071.4]
+  assign _T_6276 = dmiProgramBufferWrEnMaybe_29 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121075.4]
+  assign _T_6277 = dmiProgramBufferWrEnMaybe_30 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121079.4]
+  assign _T_6278 = dmiProgramBufferWrEnMaybe_31 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121083.4]
+  assign _T_6279 = dmiProgramBufferWrEnMaybe_32 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121087.4]
+  assign _T_6280 = dmiProgramBufferWrEnMaybe_33 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121091.4]
+  assign _T_6281 = dmiProgramBufferWrEnMaybe_34 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121095.4]
+  assign _T_6282 = dmiProgramBufferWrEnMaybe_35 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121099.4]
+  assign _T_6283 = dmiProgramBufferWrEnMaybe_36 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121103.4]
+  assign _T_6284 = dmiProgramBufferWrEnMaybe_37 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121107.4]
+  assign _T_6285 = dmiProgramBufferWrEnMaybe_38 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121111.4]
+  assign _T_6286 = dmiProgramBufferWrEnMaybe_39 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121115.4]
+  assign _T_6287 = dmiProgramBufferWrEnMaybe_40 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121119.4]
+  assign _T_6288 = dmiProgramBufferWrEnMaybe_41 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121123.4]
+  assign _T_6289 = dmiProgramBufferWrEnMaybe_42 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121127.4]
+  assign _T_6290 = dmiProgramBufferWrEnMaybe_43 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121131.4]
+  assign _T_6291 = dmiProgramBufferWrEnMaybe_44 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121135.4]
+  assign _T_6292 = dmiProgramBufferWrEnMaybe_45 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121139.4]
+  assign _T_6293 = dmiProgramBufferWrEnMaybe_46 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121143.4]
+  assign _T_6294 = dmiProgramBufferWrEnMaybe_47 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121147.4]
+  assign _T_6295 = dmiProgramBufferWrEnMaybe_48 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121151.4]
+  assign _T_6296 = dmiProgramBufferWrEnMaybe_49 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121155.4]
+  assign _T_6297 = dmiProgramBufferWrEnMaybe_50 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121159.4]
+  assign _T_6298 = dmiProgramBufferWrEnMaybe_51 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121163.4]
+  assign _T_6299 = dmiProgramBufferWrEnMaybe_52 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121167.4]
+  assign _T_6300 = dmiProgramBufferWrEnMaybe_53 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121171.4]
+  assign _T_6301 = dmiProgramBufferWrEnMaybe_54 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121175.4]
+  assign _T_6302 = dmiProgramBufferWrEnMaybe_55 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121179.4]
+  assign _T_6303 = dmiProgramBufferWrEnMaybe_56 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121183.4]
+  assign _T_6304 = dmiProgramBufferWrEnMaybe_57 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121187.4]
+  assign _T_6305 = dmiProgramBufferWrEnMaybe_58 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121191.4]
+  assign _T_6306 = dmiProgramBufferWrEnMaybe_59 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121195.4]
+  assign _T_6307 = dmiProgramBufferWrEnMaybe_60 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121199.4]
+  assign _T_6308 = dmiProgramBufferWrEnMaybe_61 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121203.4]
+  assign _T_6309 = dmiProgramBufferWrEnMaybe_62 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121207.4]
+  assign _T_6310 = dmiProgramBufferWrEnMaybe_63 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121211.4]
+  assign _T_6518 = _T_2673 | reset; // @[Debug.scala 766:15:shc.marmotcaravel.MarmotCaravelConfig.fir@121333.10]
+  assign _T_6519 = _T_6518 == 1'h0; // @[Debug.scala 766:15:shc.marmotcaravel.MarmotCaravelConfig.fir@121334.10]
+  assign _T_60399 = _T_60333[65]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@168672.4]
+  assign _T_72027 = _T_71634 & _T_60399; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@185520.4]
+  assign _T_72028 = _T_72027 & _T_23089; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@185521.4]
+  assign hartGoingWrEn = _T_72028 & _T_50733; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@146381.4]
+  assign _GEN_5658 = commandRegBadHaltResume ? 1'h0 : 1'h1; // @[Debug.scala 1004:43:shc.marmotcaravel.MarmotCaravelConfig.fir@191491.10]
+  assign _GEN_5662 = commandRegIsUnsupported ? 1'h0 : _GEN_5658; // @[Debug.scala 1001:38:shc.marmotcaravel.MarmotCaravelConfig.fir@191486.8]
+  assign _GEN_5675 = _T_76325 ? _GEN_5662 : 1'h0; // @[Debug.scala 994:59:shc.marmotcaravel.MarmotCaravelConfig.fir@191485.6]
+  assign goAbstract = ABSTRACTCSWrEnLegal ? 1'h0 : _GEN_5675; // @[Debug.scala 986:47:shc.marmotcaravel.MarmotCaravelConfig.fir@191468.4]
+  assign flags_0_go = 10'h0 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_1_go = 10'h1 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_2_go = 10'h2 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_3_go = 10'h3 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_4_go = 10'h4 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_5_go = 10'h5 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_6_go = 10'h6 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_7_go = 10'h7 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_8_go = 10'h8 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_9_go = 10'h9 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_10_go = 10'ha == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_11_go = 10'hb == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_12_go = 10'hc == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_13_go = 10'hd == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_14_go = 10'he == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_15_go = 10'hf == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_16_go = 10'h10 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_17_go = 10'h11 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_18_go = 10'h12 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_19_go = 10'h13 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_20_go = 10'h14 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_21_go = 10'h15 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_22_go = 10'h16 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_23_go = 10'h17 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_24_go = 10'h18 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_25_go = 10'h19 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_26_go = 10'h1a == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_27_go = 10'h1b == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_28_go = 10'h1c == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_29_go = 10'h1d == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_30_go = 10'h1e == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_31_go = 10'h1f == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_32_go = 10'h20 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_33_go = 10'h21 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_34_go = 10'h22 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_35_go = 10'h23 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_36_go = 10'h24 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_37_go = 10'h25 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_38_go = 10'h26 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_39_go = 10'h27 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_40_go = 10'h28 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_41_go = 10'h29 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_42_go = 10'h2a == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_43_go = 10'h2b == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_44_go = 10'h2c == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_45_go = 10'h2d == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_46_go = 10'h2e == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_47_go = 10'h2f == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_48_go = 10'h30 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_49_go = 10'h31 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_50_go = 10'h32 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_51_go = 10'h33 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_52_go = 10'h34 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_53_go = 10'h35 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_54_go = 10'h36 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_55_go = 10'h37 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_56_go = 10'h38 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_57_go = 10'h39 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_58_go = 10'h3a == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_59_go = 10'h3b == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_60_go = 10'h3c == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_61_go = 10'h3d == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_62_go = 10'h3e == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_63_go = 10'h3f == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_64_go = 10'h40 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_65_go = 10'h41 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_66_go = 10'h42 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_67_go = 10'h43 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_68_go = 10'h44 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_69_go = 10'h45 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_70_go = 10'h46 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_71_go = 10'h47 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_72_go = 10'h48 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_73_go = 10'h49 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_74_go = 10'h4a == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_75_go = 10'h4b == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_76_go = 10'h4c == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_77_go = 10'h4d == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_78_go = 10'h4e == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_79_go = 10'h4f == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_80_go = 10'h50 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_81_go = 10'h51 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_82_go = 10'h52 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_83_go = 10'h53 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_84_go = 10'h54 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_85_go = 10'h55 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_86_go = 10'h56 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_87_go = 10'h57 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_88_go = 10'h58 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_89_go = 10'h59 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_90_go = 10'h5a == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_91_go = 10'h5b == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_92_go = 10'h5c == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_93_go = 10'h5d == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_94_go = 10'h5e == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_95_go = 10'h5f == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_96_go = 10'h60 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_97_go = 10'h61 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_98_go = 10'h62 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_99_go = 10'h63 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_100_go = 10'h64 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_101_go = 10'h65 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_102_go = 10'h66 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_103_go = 10'h67 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_104_go = 10'h68 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_105_go = 10'h69 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_106_go = 10'h6a == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_107_go = 10'h6b == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_108_go = 10'h6c == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_109_go = 10'h6d == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_110_go = 10'h6e == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_111_go = 10'h6f == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_112_go = 10'h70 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_113_go = 10'h71 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_114_go = 10'h72 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_115_go = 10'h73 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_116_go = 10'h74 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_117_go = 10'h75 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_118_go = 10'h76 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_119_go = 10'h77 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_120_go = 10'h78 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_121_go = 10'h79 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_122_go = 10'h7a == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_123_go = 10'h7b == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_124_go = 10'h7c == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_125_go = 10'h7d == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_126_go = 10'h7e == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_127_go = 10'h7f == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_128_go = 10'h80 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_129_go = 10'h81 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_130_go = 10'h82 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_131_go = 10'h83 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_132_go = 10'h84 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_133_go = 10'h85 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_134_go = 10'h86 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_135_go = 10'h87 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_136_go = 10'h88 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_137_go = 10'h89 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_138_go = 10'h8a == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_139_go = 10'h8b == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_140_go = 10'h8c == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_141_go = 10'h8d == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_142_go = 10'h8e == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_143_go = 10'h8f == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_144_go = 10'h90 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_145_go = 10'h91 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_146_go = 10'h92 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_147_go = 10'h93 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_148_go = 10'h94 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_149_go = 10'h95 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_150_go = 10'h96 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_151_go = 10'h97 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_152_go = 10'h98 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_153_go = 10'h99 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_154_go = 10'h9a == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_155_go = 10'h9b == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_156_go = 10'h9c == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_157_go = 10'h9d == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_158_go = 10'h9e == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_159_go = 10'h9f == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_160_go = 10'ha0 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_161_go = 10'ha1 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_162_go = 10'ha2 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_163_go = 10'ha3 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_164_go = 10'ha4 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_165_go = 10'ha5 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_166_go = 10'ha6 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_167_go = 10'ha7 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_168_go = 10'ha8 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_169_go = 10'ha9 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_170_go = 10'haa == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_171_go = 10'hab == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_172_go = 10'hac == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_173_go = 10'had == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_174_go = 10'hae == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_175_go = 10'haf == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_176_go = 10'hb0 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_177_go = 10'hb1 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_178_go = 10'hb2 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_179_go = 10'hb3 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_180_go = 10'hb4 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_181_go = 10'hb5 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_182_go = 10'hb6 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_183_go = 10'hb7 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_184_go = 10'hb8 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_185_go = 10'hb9 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_186_go = 10'hba == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_187_go = 10'hbb == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_188_go = 10'hbc == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_189_go = 10'hbd == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_190_go = 10'hbe == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_191_go = 10'hbf == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_192_go = 10'hc0 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_193_go = 10'hc1 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_194_go = 10'hc2 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_195_go = 10'hc3 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_196_go = 10'hc4 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_197_go = 10'hc5 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_198_go = 10'hc6 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_199_go = 10'hc7 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_200_go = 10'hc8 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_201_go = 10'hc9 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_202_go = 10'hca == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_203_go = 10'hcb == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_204_go = 10'hcc == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_205_go = 10'hcd == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_206_go = 10'hce == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_207_go = 10'hcf == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_208_go = 10'hd0 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_209_go = 10'hd1 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_210_go = 10'hd2 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_211_go = 10'hd3 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_212_go = 10'hd4 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_213_go = 10'hd5 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_214_go = 10'hd6 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_215_go = 10'hd7 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_216_go = 10'hd8 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_217_go = 10'hd9 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_218_go = 10'hda == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_219_go = 10'hdb == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_220_go = 10'hdc == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_221_go = 10'hdd == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_222_go = 10'hde == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_223_go = 10'hdf == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_224_go = 10'he0 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_225_go = 10'he1 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_226_go = 10'he2 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_227_go = 10'he3 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_228_go = 10'he4 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_229_go = 10'he5 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_230_go = 10'he6 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_231_go = 10'he7 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_232_go = 10'he8 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_233_go = 10'he9 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_234_go = 10'hea == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_235_go = 10'heb == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_236_go = 10'hec == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_237_go = 10'hed == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_238_go = 10'hee == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_239_go = 10'hef == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_240_go = 10'hf0 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_241_go = 10'hf1 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_242_go = 10'hf2 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_243_go = 10'hf3 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_244_go = 10'hf4 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_245_go = 10'hf5 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_246_go = 10'hf6 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_247_go = 10'hf7 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_248_go = 10'hf8 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_249_go = 10'hf9 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_250_go = 10'hfa == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_251_go = 10'hfb == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_252_go = 10'hfc == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_253_go = 10'hfd == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_254_go = 10'hfe == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_255_go = 10'hff == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_256_go = 10'h100 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_257_go = 10'h101 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_258_go = 10'h102 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_259_go = 10'h103 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_260_go = 10'h104 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_261_go = 10'h105 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_262_go = 10'h106 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_263_go = 10'h107 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_264_go = 10'h108 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_265_go = 10'h109 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_266_go = 10'h10a == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_267_go = 10'h10b == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_268_go = 10'h10c == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_269_go = 10'h10d == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_270_go = 10'h10e == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_271_go = 10'h10f == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_272_go = 10'h110 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_273_go = 10'h111 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_274_go = 10'h112 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_275_go = 10'h113 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_276_go = 10'h114 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_277_go = 10'h115 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_278_go = 10'h116 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_279_go = 10'h117 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_280_go = 10'h118 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_281_go = 10'h119 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_282_go = 10'h11a == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_283_go = 10'h11b == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_284_go = 10'h11c == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_285_go = 10'h11d == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_286_go = 10'h11e == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_287_go = 10'h11f == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_288_go = 10'h120 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_289_go = 10'h121 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_290_go = 10'h122 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_291_go = 10'h123 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_292_go = 10'h124 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_293_go = 10'h125 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_294_go = 10'h126 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_295_go = 10'h127 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_296_go = 10'h128 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_297_go = 10'h129 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_298_go = 10'h12a == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_299_go = 10'h12b == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_300_go = 10'h12c == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_301_go = 10'h12d == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_302_go = 10'h12e == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_303_go = 10'h12f == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_304_go = 10'h130 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_305_go = 10'h131 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_306_go = 10'h132 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_307_go = 10'h133 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_308_go = 10'h134 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_309_go = 10'h135 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_310_go = 10'h136 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_311_go = 10'h137 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_312_go = 10'h138 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_313_go = 10'h139 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_314_go = 10'h13a == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_315_go = 10'h13b == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_316_go = 10'h13c == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_317_go = 10'h13d == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_318_go = 10'h13e == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_319_go = 10'h13f == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_320_go = 10'h140 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_321_go = 10'h141 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_322_go = 10'h142 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_323_go = 10'h143 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_324_go = 10'h144 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_325_go = 10'h145 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_326_go = 10'h146 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_327_go = 10'h147 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_328_go = 10'h148 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_329_go = 10'h149 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_330_go = 10'h14a == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_331_go = 10'h14b == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_332_go = 10'h14c == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_333_go = 10'h14d == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_334_go = 10'h14e == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_335_go = 10'h14f == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_336_go = 10'h150 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_337_go = 10'h151 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_338_go = 10'h152 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_339_go = 10'h153 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_340_go = 10'h154 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_341_go = 10'h155 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_342_go = 10'h156 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_343_go = 10'h157 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_344_go = 10'h158 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_345_go = 10'h159 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_346_go = 10'h15a == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_347_go = 10'h15b == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_348_go = 10'h15c == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_349_go = 10'h15d == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_350_go = 10'h15e == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_351_go = 10'h15f == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_352_go = 10'h160 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_353_go = 10'h161 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_354_go = 10'h162 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_355_go = 10'h163 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_356_go = 10'h164 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_357_go = 10'h165 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_358_go = 10'h166 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_359_go = 10'h167 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_360_go = 10'h168 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_361_go = 10'h169 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_362_go = 10'h16a == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_363_go = 10'h16b == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_364_go = 10'h16c == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_365_go = 10'h16d == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_366_go = 10'h16e == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_367_go = 10'h16f == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_368_go = 10'h170 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_369_go = 10'h171 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_370_go = 10'h172 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_371_go = 10'h173 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_372_go = 10'h174 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_373_go = 10'h175 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_374_go = 10'h176 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_375_go = 10'h177 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_376_go = 10'h178 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_377_go = 10'h179 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_378_go = 10'h17a == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_379_go = 10'h17b == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_380_go = 10'h17c == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_381_go = 10'h17d == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_382_go = 10'h17e == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_383_go = 10'h17f == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_384_go = 10'h180 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_385_go = 10'h181 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_386_go = 10'h182 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_387_go = 10'h183 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_388_go = 10'h184 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_389_go = 10'h185 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_390_go = 10'h186 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_391_go = 10'h187 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_392_go = 10'h188 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_393_go = 10'h189 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_394_go = 10'h18a == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_395_go = 10'h18b == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_396_go = 10'h18c == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_397_go = 10'h18d == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_398_go = 10'h18e == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_399_go = 10'h18f == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_400_go = 10'h190 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_401_go = 10'h191 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_402_go = 10'h192 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_403_go = 10'h193 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_404_go = 10'h194 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_405_go = 10'h195 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_406_go = 10'h196 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_407_go = 10'h197 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_408_go = 10'h198 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_409_go = 10'h199 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_410_go = 10'h19a == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_411_go = 10'h19b == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_412_go = 10'h19c == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_413_go = 10'h19d == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_414_go = 10'h19e == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_415_go = 10'h19f == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_416_go = 10'h1a0 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_417_go = 10'h1a1 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_418_go = 10'h1a2 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_419_go = 10'h1a3 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_420_go = 10'h1a4 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_421_go = 10'h1a5 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_422_go = 10'h1a6 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_423_go = 10'h1a7 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_424_go = 10'h1a8 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_425_go = 10'h1a9 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_426_go = 10'h1aa == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_427_go = 10'h1ab == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_428_go = 10'h1ac == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_429_go = 10'h1ad == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_430_go = 10'h1ae == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_431_go = 10'h1af == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_432_go = 10'h1b0 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_433_go = 10'h1b1 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_434_go = 10'h1b2 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_435_go = 10'h1b3 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_436_go = 10'h1b4 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_437_go = 10'h1b5 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_438_go = 10'h1b6 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_439_go = 10'h1b7 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_440_go = 10'h1b8 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_441_go = 10'h1b9 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_442_go = 10'h1ba == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_443_go = 10'h1bb == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_444_go = 10'h1bc == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_445_go = 10'h1bd == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_446_go = 10'h1be == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_447_go = 10'h1bf == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_448_go = 10'h1c0 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_449_go = 10'h1c1 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_450_go = 10'h1c2 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_451_go = 10'h1c3 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_452_go = 10'h1c4 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_453_go = 10'h1c5 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_454_go = 10'h1c6 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_455_go = 10'h1c7 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_456_go = 10'h1c8 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_457_go = 10'h1c9 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_458_go = 10'h1ca == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_459_go = 10'h1cb == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_460_go = 10'h1cc == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_461_go = 10'h1cd == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_462_go = 10'h1ce == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_463_go = 10'h1cf == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_464_go = 10'h1d0 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_465_go = 10'h1d1 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_466_go = 10'h1d2 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_467_go = 10'h1d3 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_468_go = 10'h1d4 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_469_go = 10'h1d5 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_470_go = 10'h1d6 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_471_go = 10'h1d7 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_472_go = 10'h1d8 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_473_go = 10'h1d9 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_474_go = 10'h1da == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_475_go = 10'h1db == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_476_go = 10'h1dc == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_477_go = 10'h1dd == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_478_go = 10'h1de == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_479_go = 10'h1df == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_480_go = 10'h1e0 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_481_go = 10'h1e1 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_482_go = 10'h1e2 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_483_go = 10'h1e3 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_484_go = 10'h1e4 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_485_go = 10'h1e5 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_486_go = 10'h1e6 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_487_go = 10'h1e7 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_488_go = 10'h1e8 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_489_go = 10'h1e9 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_490_go = 10'h1ea == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_491_go = 10'h1eb == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_492_go = 10'h1ec == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_493_go = 10'h1ed == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_494_go = 10'h1ee == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_495_go = 10'h1ef == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_496_go = 10'h1f0 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_497_go = 10'h1f1 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_498_go = 10'h1f2 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_499_go = 10'h1f3 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_500_go = 10'h1f4 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_501_go = 10'h1f5 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_502_go = 10'h1f6 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_503_go = 10'h1f7 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_504_go = 10'h1f8 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_505_go = 10'h1f9 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_506_go = 10'h1fa == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_507_go = 10'h1fb == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_508_go = 10'h1fc == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_509_go = 10'h1fd == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_510_go = 10'h1fe == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_511_go = 10'h1ff == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_512_go = 10'h200 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_513_go = 10'h201 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_514_go = 10'h202 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_515_go = 10'h203 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_516_go = 10'h204 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_517_go = 10'h205 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_518_go = 10'h206 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_519_go = 10'h207 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_520_go = 10'h208 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_521_go = 10'h209 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_522_go = 10'h20a == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_523_go = 10'h20b == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_524_go = 10'h20c == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_525_go = 10'h20d == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_526_go = 10'h20e == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_527_go = 10'h20f == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_528_go = 10'h210 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_529_go = 10'h211 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_530_go = 10'h212 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_531_go = 10'h213 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_532_go = 10'h214 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_533_go = 10'h215 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_534_go = 10'h216 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_535_go = 10'h217 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_536_go = 10'h218 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_537_go = 10'h219 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_538_go = 10'h21a == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_539_go = 10'h21b == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_540_go = 10'h21c == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_541_go = 10'h21d == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_542_go = 10'h21e == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_543_go = 10'h21f == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_544_go = 10'h220 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_545_go = 10'h221 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_546_go = 10'h222 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_547_go = 10'h223 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_548_go = 10'h224 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_549_go = 10'h225 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_550_go = 10'h226 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_551_go = 10'h227 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_552_go = 10'h228 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_553_go = 10'h229 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_554_go = 10'h22a == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_555_go = 10'h22b == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_556_go = 10'h22c == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_557_go = 10'h22d == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_558_go = 10'h22e == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_559_go = 10'h22f == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_560_go = 10'h230 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_561_go = 10'h231 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_562_go = 10'h232 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_563_go = 10'h233 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_564_go = 10'h234 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_565_go = 10'h235 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_566_go = 10'h236 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_567_go = 10'h237 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_568_go = 10'h238 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_569_go = 10'h239 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_570_go = 10'h23a == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_571_go = 10'h23b == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_572_go = 10'h23c == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_573_go = 10'h23d == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_574_go = 10'h23e == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_575_go = 10'h23f == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_576_go = 10'h240 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_577_go = 10'h241 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_578_go = 10'h242 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_579_go = 10'h243 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_580_go = 10'h244 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_581_go = 10'h245 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_582_go = 10'h246 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_583_go = 10'h247 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_584_go = 10'h248 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_585_go = 10'h249 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_586_go = 10'h24a == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_587_go = 10'h24b == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_588_go = 10'h24c == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_589_go = 10'h24d == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_590_go = 10'h24e == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_591_go = 10'h24f == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_592_go = 10'h250 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_593_go = 10'h251 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_594_go = 10'h252 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_595_go = 10'h253 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_596_go = 10'h254 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_597_go = 10'h255 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_598_go = 10'h256 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_599_go = 10'h257 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_600_go = 10'h258 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_601_go = 10'h259 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_602_go = 10'h25a == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_603_go = 10'h25b == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_604_go = 10'h25c == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_605_go = 10'h25d == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_606_go = 10'h25e == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_607_go = 10'h25f == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_608_go = 10'h260 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_609_go = 10'h261 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_610_go = 10'h262 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_611_go = 10'h263 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_612_go = 10'h264 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_613_go = 10'h265 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_614_go = 10'h266 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_615_go = 10'h267 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_616_go = 10'h268 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_617_go = 10'h269 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_618_go = 10'h26a == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_619_go = 10'h26b == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_620_go = 10'h26c == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_621_go = 10'h26d == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_622_go = 10'h26e == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_623_go = 10'h26f == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_624_go = 10'h270 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_625_go = 10'h271 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_626_go = 10'h272 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_627_go = 10'h273 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_628_go = 10'h274 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_629_go = 10'h275 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_630_go = 10'h276 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_631_go = 10'h277 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_632_go = 10'h278 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_633_go = 10'h279 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_634_go = 10'h27a == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_635_go = 10'h27b == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_636_go = 10'h27c == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_637_go = 10'h27d == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_638_go = 10'h27e == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_639_go = 10'h27f == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_640_go = 10'h280 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_641_go = 10'h281 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_642_go = 10'h282 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_643_go = 10'h283 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_644_go = 10'h284 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_645_go = 10'h285 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_646_go = 10'h286 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_647_go = 10'h287 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_648_go = 10'h288 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_649_go = 10'h289 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_650_go = 10'h28a == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_651_go = 10'h28b == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_652_go = 10'h28c == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_653_go = 10'h28d == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_654_go = 10'h28e == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_655_go = 10'h28f == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_656_go = 10'h290 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_657_go = 10'h291 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_658_go = 10'h292 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_659_go = 10'h293 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_660_go = 10'h294 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_661_go = 10'h295 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_662_go = 10'h296 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_663_go = 10'h297 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_664_go = 10'h298 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_665_go = 10'h299 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_666_go = 10'h29a == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_667_go = 10'h29b == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_668_go = 10'h29c == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_669_go = 10'h29d == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_670_go = 10'h29e == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_671_go = 10'h29f == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_672_go = 10'h2a0 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_673_go = 10'h2a1 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_674_go = 10'h2a2 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_675_go = 10'h2a3 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_676_go = 10'h2a4 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_677_go = 10'h2a5 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_678_go = 10'h2a6 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_679_go = 10'h2a7 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_680_go = 10'h2a8 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_681_go = 10'h2a9 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_682_go = 10'h2aa == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_683_go = 10'h2ab == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_684_go = 10'h2ac == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_685_go = 10'h2ad == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_686_go = 10'h2ae == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_687_go = 10'h2af == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_688_go = 10'h2b0 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_689_go = 10'h2b1 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_690_go = 10'h2b2 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_691_go = 10'h2b3 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_692_go = 10'h2b4 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_693_go = 10'h2b5 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_694_go = 10'h2b6 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_695_go = 10'h2b7 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_696_go = 10'h2b8 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_697_go = 10'h2b9 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_698_go = 10'h2ba == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_699_go = 10'h2bb == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_700_go = 10'h2bc == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_701_go = 10'h2bd == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_702_go = 10'h2be == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_703_go = 10'h2bf == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_704_go = 10'h2c0 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_705_go = 10'h2c1 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_706_go = 10'h2c2 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_707_go = 10'h2c3 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_708_go = 10'h2c4 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_709_go = 10'h2c5 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_710_go = 10'h2c6 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_711_go = 10'h2c7 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_712_go = 10'h2c8 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_713_go = 10'h2c9 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_714_go = 10'h2ca == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_715_go = 10'h2cb == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_716_go = 10'h2cc == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_717_go = 10'h2cd == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_718_go = 10'h2ce == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_719_go = 10'h2cf == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_720_go = 10'h2d0 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_721_go = 10'h2d1 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_722_go = 10'h2d2 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_723_go = 10'h2d3 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_724_go = 10'h2d4 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_725_go = 10'h2d5 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_726_go = 10'h2d6 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_727_go = 10'h2d7 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_728_go = 10'h2d8 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_729_go = 10'h2d9 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_730_go = 10'h2da == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_731_go = 10'h2db == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_732_go = 10'h2dc == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_733_go = 10'h2dd == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_734_go = 10'h2de == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_735_go = 10'h2df == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_736_go = 10'h2e0 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_737_go = 10'h2e1 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_738_go = 10'h2e2 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_739_go = 10'h2e3 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_740_go = 10'h2e4 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_741_go = 10'h2e5 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_742_go = 10'h2e6 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_743_go = 10'h2e7 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_744_go = 10'h2e8 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_745_go = 10'h2e9 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_746_go = 10'h2ea == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_747_go = 10'h2eb == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_748_go = 10'h2ec == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_749_go = 10'h2ed == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_750_go = 10'h2ee == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_751_go = 10'h2ef == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_752_go = 10'h2f0 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_753_go = 10'h2f1 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_754_go = 10'h2f2 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_755_go = 10'h2f3 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_756_go = 10'h2f4 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_757_go = 10'h2f5 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_758_go = 10'h2f6 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_759_go = 10'h2f7 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_760_go = 10'h2f8 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_761_go = 10'h2f9 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_762_go = 10'h2fa == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_763_go = 10'h2fb == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_764_go = 10'h2fc == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_765_go = 10'h2fd == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_766_go = 10'h2fe == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_767_go = 10'h2ff == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_768_go = 10'h300 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_769_go = 10'h301 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_770_go = 10'h302 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_771_go = 10'h303 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_772_go = 10'h304 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_773_go = 10'h305 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_774_go = 10'h306 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_775_go = 10'h307 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_776_go = 10'h308 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_777_go = 10'h309 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_778_go = 10'h30a == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_779_go = 10'h30b == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_780_go = 10'h30c == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_781_go = 10'h30d == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_782_go = 10'h30e == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_783_go = 10'h30f == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_784_go = 10'h310 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_785_go = 10'h311 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_786_go = 10'h312 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_787_go = 10'h313 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_788_go = 10'h314 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_789_go = 10'h315 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_790_go = 10'h316 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_791_go = 10'h317 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_792_go = 10'h318 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_793_go = 10'h319 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_794_go = 10'h31a == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_795_go = 10'h31b == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_796_go = 10'h31c == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_797_go = 10'h31d == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_798_go = 10'h31e == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_799_go = 10'h31f == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_800_go = 10'h320 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_801_go = 10'h321 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_802_go = 10'h322 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_803_go = 10'h323 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_804_go = 10'h324 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_805_go = 10'h325 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_806_go = 10'h326 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_807_go = 10'h327 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_808_go = 10'h328 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_809_go = 10'h329 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_810_go = 10'h32a == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_811_go = 10'h32b == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_812_go = 10'h32c == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_813_go = 10'h32d == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_814_go = 10'h32e == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_815_go = 10'h32f == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_816_go = 10'h330 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_817_go = 10'h331 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_818_go = 10'h332 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_819_go = 10'h333 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_820_go = 10'h334 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_821_go = 10'h335 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_822_go = 10'h336 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_823_go = 10'h337 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_824_go = 10'h338 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_825_go = 10'h339 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_826_go = 10'h33a == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_827_go = 10'h33b == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_828_go = 10'h33c == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_829_go = 10'h33d == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_830_go = 10'h33e == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_831_go = 10'h33f == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_832_go = 10'h340 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_833_go = 10'h341 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_834_go = 10'h342 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_835_go = 10'h343 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_836_go = 10'h344 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_837_go = 10'h345 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_838_go = 10'h346 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_839_go = 10'h347 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_840_go = 10'h348 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_841_go = 10'h349 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_842_go = 10'h34a == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_843_go = 10'h34b == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_844_go = 10'h34c == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_845_go = 10'h34d == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_846_go = 10'h34e == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_847_go = 10'h34f == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_848_go = 10'h350 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_849_go = 10'h351 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_850_go = 10'h352 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_851_go = 10'h353 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_852_go = 10'h354 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_853_go = 10'h355 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_854_go = 10'h356 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_855_go = 10'h357 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_856_go = 10'h358 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_857_go = 10'h359 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_858_go = 10'h35a == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_859_go = 10'h35b == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_860_go = 10'h35c == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_861_go = 10'h35d == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_862_go = 10'h35e == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_863_go = 10'h35f == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_864_go = 10'h360 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_865_go = 10'h361 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_866_go = 10'h362 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_867_go = 10'h363 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_868_go = 10'h364 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_869_go = 10'h365 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_870_go = 10'h366 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_871_go = 10'h367 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_872_go = 10'h368 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_873_go = 10'h369 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_874_go = 10'h36a == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_875_go = 10'h36b == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_876_go = 10'h36c == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_877_go = 10'h36d == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_878_go = 10'h36e == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_879_go = 10'h36f == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_880_go = 10'h370 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_881_go = 10'h371 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_882_go = 10'h372 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_883_go = 10'h373 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_884_go = 10'h374 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_885_go = 10'h375 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_886_go = 10'h376 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_887_go = 10'h377 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_888_go = 10'h378 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_889_go = 10'h379 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_890_go = 10'h37a == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_891_go = 10'h37b == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_892_go = 10'h37c == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_893_go = 10'h37d == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_894_go = 10'h37e == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_895_go = 10'h37f == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_896_go = 10'h380 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_897_go = 10'h381 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_898_go = 10'h382 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_899_go = 10'h383 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_900_go = 10'h384 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_901_go = 10'h385 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_902_go = 10'h386 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_903_go = 10'h387 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_904_go = 10'h388 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_905_go = 10'h389 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_906_go = 10'h38a == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_907_go = 10'h38b == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_908_go = 10'h38c == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_909_go = 10'h38d == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_910_go = 10'h38e == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_911_go = 10'h38f == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_912_go = 10'h390 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_913_go = 10'h391 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_914_go = 10'h392 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_915_go = 10'h393 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_916_go = 10'h394 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_917_go = 10'h395 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_918_go = 10'h396 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_919_go = 10'h397 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_920_go = 10'h398 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_921_go = 10'h399 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_922_go = 10'h39a == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_923_go = 10'h39b == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_924_go = 10'h39c == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_925_go = 10'h39d == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_926_go = 10'h39e == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_927_go = 10'h39f == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_928_go = 10'h3a0 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_929_go = 10'h3a1 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_930_go = 10'h3a2 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_931_go = 10'h3a3 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_932_go = 10'h3a4 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_933_go = 10'h3a5 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_934_go = 10'h3a6 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_935_go = 10'h3a7 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_936_go = 10'h3a8 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_937_go = 10'h3a9 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_938_go = 10'h3aa == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_939_go = 10'h3ab == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_940_go = 10'h3ac == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_941_go = 10'h3ad == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_942_go = 10'h3ae == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_943_go = 10'h3af == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_944_go = 10'h3b0 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_945_go = 10'h3b1 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_946_go = 10'h3b2 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_947_go = 10'h3b3 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_948_go = 10'h3b4 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_949_go = 10'h3b5 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_950_go = 10'h3b6 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_951_go = 10'h3b7 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_952_go = 10'h3b8 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_953_go = 10'h3b9 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_954_go = 10'h3ba == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_955_go = 10'h3bb == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_956_go = 10'h3bc == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_957_go = 10'h3bd == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_958_go = 10'h3be == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_959_go = 10'h3bf == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_960_go = 10'h3c0 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_961_go = 10'h3c1 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_962_go = 10'h3c2 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_963_go = 10'h3c3 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_964_go = 10'h3c4 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_965_go = 10'h3c5 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_966_go = 10'h3c6 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_967_go = 10'h3c7 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_968_go = 10'h3c8 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_969_go = 10'h3c9 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_970_go = 10'h3ca == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_971_go = 10'h3cb == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_972_go = 10'h3cc == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_973_go = 10'h3cd == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_974_go = 10'h3ce == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_975_go = 10'h3cf == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_976_go = 10'h3d0 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_977_go = 10'h3d1 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_978_go = 10'h3d2 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_979_go = 10'h3d3 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_980_go = 10'h3d4 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_981_go = 10'h3d5 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_982_go = 10'h3d6 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_983_go = 10'h3d7 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_984_go = 10'h3d8 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_985_go = 10'h3d9 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_986_go = 10'h3da == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_987_go = 10'h3db == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_988_go = 10'h3dc == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_989_go = 10'h3dd == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_990_go = 10'h3de == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_991_go = 10'h3df == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_992_go = 10'h3e0 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_993_go = 10'h3e1 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_994_go = 10'h3e2 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_995_go = 10'h3e3 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_996_go = 10'h3e4 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_997_go = 10'h3e5 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_998_go = 10'h3e6 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_999_go = 10'h3e7 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_1000_go = 10'h3e8 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_1001_go = 10'h3e9 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_1002_go = 10'h3ea == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_1003_go = 10'h3eb == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_1004_go = 10'h3ec == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_1005_go = 10'h3ed == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_1006_go = 10'h3ee == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_1007_go = 10'h3ef == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_1008_go = 10'h3f0 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_1009_go = 10'h3f1 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_1010_go = 10'h3f2 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_1011_go = 10'h3f3 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_1012_go = 10'h3f4 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_1013_go = 10'h3f5 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_1014_go = 10'h3f6 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_1015_go = 10'h3f7 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_1016_go = 10'h3f8 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_1017_go = 10'h3f9 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_1018_go = 10'h3fa == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_1019_go = 10'h3fb == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_1020_go = 10'h3fc == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_1021_go = 10'h3fd == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_1022_go = 10'h3fe == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign flags_1023_go = 10'h3ff == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
+  assign accessRegisterCommandReg_postexec = _T_20900[18]; // @[Debug.scala 791:86:shc.marmotcaravel.MarmotCaravelConfig.fir@133687.4]
+  assign accessRegisterCommandReg_size = _T_20900[22:20]; // @[Debug.scala 791:86:shc.marmotcaravel.MarmotCaravelConfig.fir@133691.4]
+  assign _T_20934 = accessRegisterCommandReg_regno & 16'h1f; // @[Debug.scala 840:66:shc.marmotcaravel.MarmotCaravelConfig.fir@133723.4]
+  assign abstractGeneratedI_rd = _T_20934[4:0]; // @[Debug.scala 835:34:shc.marmotcaravel.MarmotCaravelConfig.fir@133701.4 Debug.scala 840:31:shc.marmotcaravel.MarmotCaravelConfig.fir@133724.4]
+  assign _T_20957 = {abstractGeneratedI_rd,7'h3}; // @[Debug.scala 861:36:shc.marmotcaravel.MarmotCaravelConfig.fir@133772.6]
+  assign _T_20959 = {17'h7000,accessRegisterCommandReg_size}; // @[Debug.scala 861:36:shc.marmotcaravel.MarmotCaravelConfig.fir@133774.6]
+  assign _T_20960 = {_T_20959,_T_20957}; // @[Debug.scala 861:36:shc.marmotcaravel.MarmotCaravelConfig.fir@133775.6]
+  assign _T_20961 = {accessRegisterCommandReg_size,5'h0}; // @[Debug.scala 863:36:shc.marmotcaravel.MarmotCaravelConfig.fir@133776.6]
+  assign _T_20962 = {_T_20961,7'h23}; // @[Debug.scala 863:36:shc.marmotcaravel.MarmotCaravelConfig.fir@133777.6]
+  assign _T_20963 = {7'h1c,abstractGeneratedI_rd}; // @[Debug.scala 863:36:shc.marmotcaravel.MarmotCaravelConfig.fir@133778.6]
+  assign _T_20964 = {_T_20963,5'h0}; // @[Debug.scala 863:36:shc.marmotcaravel.MarmotCaravelConfig.fir@133779.6]
+  assign _T_20965 = {_T_20964,_T_20962}; // @[Debug.scala 863:36:shc.marmotcaravel.MarmotCaravelConfig.fir@133780.6]
+  assign _T_20982 = {6'h0,resumeReqRegs_0}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133800.4]
+  assign _T_20983 = {_T_20982,flags_0_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133801.4]
+  assign _T_20985 = {7'h0,flags_1_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133803.4]
+  assign _T_20987 = {7'h0,flags_2_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133805.4]
+  assign _T_20989 = {7'h0,flags_3_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133807.4]
+  assign _T_20991 = {7'h0,flags_4_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133809.4]
+  assign _T_20993 = {7'h0,flags_5_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133811.4]
+  assign _T_20995 = {7'h0,flags_6_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133813.4]
+  assign _T_20997 = {7'h0,flags_7_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133815.4]
+  assign _T_20999 = {7'h0,flags_8_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133817.4]
+  assign _T_21001 = {7'h0,flags_9_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133819.4]
+  assign _T_21003 = {7'h0,flags_10_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133821.4]
+  assign _T_21005 = {7'h0,flags_11_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133823.4]
+  assign _T_21007 = {7'h0,flags_12_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133825.4]
+  assign _T_21009 = {7'h0,flags_13_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133827.4]
+  assign _T_21011 = {7'h0,flags_14_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133829.4]
+  assign _T_21013 = {7'h0,flags_15_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133831.4]
+  assign _T_21015 = {7'h0,flags_16_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133833.4]
+  assign _T_21017 = {7'h0,flags_17_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133835.4]
+  assign _T_21019 = {7'h0,flags_18_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133837.4]
+  assign _T_21021 = {7'h0,flags_19_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133839.4]
+  assign _T_21023 = {7'h0,flags_20_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133841.4]
+  assign _T_21025 = {7'h0,flags_21_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133843.4]
+  assign _T_21027 = {7'h0,flags_22_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133845.4]
+  assign _T_21029 = {7'h0,flags_23_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133847.4]
+  assign _T_21031 = {7'h0,flags_24_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133849.4]
+  assign _T_21033 = {7'h0,flags_25_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133851.4]
+  assign _T_21035 = {7'h0,flags_26_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133853.4]
+  assign _T_21037 = {7'h0,flags_27_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133855.4]
+  assign _T_21039 = {7'h0,flags_28_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133857.4]
+  assign _T_21041 = {7'h0,flags_29_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133859.4]
+  assign _T_21043 = {7'h0,flags_30_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133861.4]
+  assign _T_21045 = {7'h0,flags_31_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133863.4]
+  assign _T_21047 = {7'h0,flags_32_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133865.4]
+  assign _T_21049 = {7'h0,flags_33_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133867.4]
+  assign _T_21051 = {7'h0,flags_34_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133869.4]
+  assign _T_21053 = {7'h0,flags_35_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133871.4]
+  assign _T_21055 = {7'h0,flags_36_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133873.4]
+  assign _T_21057 = {7'h0,flags_37_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133875.4]
+  assign _T_21059 = {7'h0,flags_38_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133877.4]
+  assign _T_21061 = {7'h0,flags_39_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133879.4]
+  assign _T_21063 = {7'h0,flags_40_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133881.4]
+  assign _T_21065 = {7'h0,flags_41_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133883.4]
+  assign _T_21067 = {7'h0,flags_42_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133885.4]
+  assign _T_21069 = {7'h0,flags_43_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133887.4]
+  assign _T_21071 = {7'h0,flags_44_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133889.4]
+  assign _T_21073 = {7'h0,flags_45_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133891.4]
+  assign _T_21075 = {7'h0,flags_46_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133893.4]
+  assign _T_21077 = {7'h0,flags_47_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133895.4]
+  assign _T_21079 = {7'h0,flags_48_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133897.4]
+  assign _T_21081 = {7'h0,flags_49_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133899.4]
+  assign _T_21083 = {7'h0,flags_50_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133901.4]
+  assign _T_21085 = {7'h0,flags_51_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133903.4]
+  assign _T_21087 = {7'h0,flags_52_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133905.4]
+  assign _T_21089 = {7'h0,flags_53_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133907.4]
+  assign _T_21091 = {7'h0,flags_54_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133909.4]
+  assign _T_21093 = {7'h0,flags_55_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133911.4]
+  assign _T_21095 = {7'h0,flags_56_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133913.4]
+  assign _T_21097 = {7'h0,flags_57_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133915.4]
+  assign _T_21099 = {7'h0,flags_58_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133917.4]
+  assign _T_21101 = {7'h0,flags_59_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133919.4]
+  assign _T_21103 = {7'h0,flags_60_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133921.4]
+  assign _T_21105 = {7'h0,flags_61_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133923.4]
+  assign _T_21107 = {7'h0,flags_62_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133925.4]
+  assign _T_21109 = {7'h0,flags_63_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133927.4]
+  assign _T_21111 = {7'h0,flags_64_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133929.4]
+  assign _T_21113 = {7'h0,flags_65_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133931.4]
+  assign _T_21115 = {7'h0,flags_66_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133933.4]
+  assign _T_21117 = {7'h0,flags_67_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133935.4]
+  assign _T_21119 = {7'h0,flags_68_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133937.4]
+  assign _T_21121 = {7'h0,flags_69_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133939.4]
+  assign _T_21123 = {7'h0,flags_70_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133941.4]
+  assign _T_21125 = {7'h0,flags_71_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133943.4]
+  assign _T_21127 = {7'h0,flags_72_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133945.4]
+  assign _T_21129 = {7'h0,flags_73_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133947.4]
+  assign _T_21131 = {7'h0,flags_74_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133949.4]
+  assign _T_21133 = {7'h0,flags_75_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133951.4]
+  assign _T_21135 = {7'h0,flags_76_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133953.4]
+  assign _T_21137 = {7'h0,flags_77_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133955.4]
+  assign _T_21139 = {7'h0,flags_78_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133957.4]
+  assign _T_21141 = {7'h0,flags_79_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133959.4]
+  assign _T_21143 = {7'h0,flags_80_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133961.4]
+  assign _T_21145 = {7'h0,flags_81_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133963.4]
+  assign _T_21147 = {7'h0,flags_82_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133965.4]
+  assign _T_21149 = {7'h0,flags_83_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133967.4]
+  assign _T_21151 = {7'h0,flags_84_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133969.4]
+  assign _T_21153 = {7'h0,flags_85_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133971.4]
+  assign _T_21155 = {7'h0,flags_86_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133973.4]
+  assign _T_21157 = {7'h0,flags_87_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133975.4]
+  assign _T_21159 = {7'h0,flags_88_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133977.4]
+  assign _T_21161 = {7'h0,flags_89_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133979.4]
+  assign _T_21163 = {7'h0,flags_90_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133981.4]
+  assign _T_21165 = {7'h0,flags_91_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133983.4]
+  assign _T_21167 = {7'h0,flags_92_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133985.4]
+  assign _T_21169 = {7'h0,flags_93_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133987.4]
+  assign _T_21171 = {7'h0,flags_94_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133989.4]
+  assign _T_21173 = {7'h0,flags_95_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133991.4]
+  assign _T_21175 = {7'h0,flags_96_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133993.4]
+  assign _T_21177 = {7'h0,flags_97_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133995.4]
+  assign _T_21179 = {7'h0,flags_98_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133997.4]
+  assign _T_21181 = {7'h0,flags_99_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133999.4]
+  assign _T_21183 = {7'h0,flags_100_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134001.4]
+  assign _T_21185 = {7'h0,flags_101_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134003.4]
+  assign _T_21187 = {7'h0,flags_102_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134005.4]
+  assign _T_21189 = {7'h0,flags_103_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134007.4]
+  assign _T_21191 = {7'h0,flags_104_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134009.4]
+  assign _T_21193 = {7'h0,flags_105_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134011.4]
+  assign _T_21195 = {7'h0,flags_106_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134013.4]
+  assign _T_21197 = {7'h0,flags_107_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134015.4]
+  assign _T_21199 = {7'h0,flags_108_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134017.4]
+  assign _T_21201 = {7'h0,flags_109_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134019.4]
+  assign _T_21203 = {7'h0,flags_110_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134021.4]
+  assign _T_21205 = {7'h0,flags_111_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134023.4]
+  assign _T_21207 = {7'h0,flags_112_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134025.4]
+  assign _T_21209 = {7'h0,flags_113_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134027.4]
+  assign _T_21211 = {7'h0,flags_114_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134029.4]
+  assign _T_21213 = {7'h0,flags_115_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134031.4]
+  assign _T_21215 = {7'h0,flags_116_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134033.4]
+  assign _T_21217 = {7'h0,flags_117_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134035.4]
+  assign _T_21219 = {7'h0,flags_118_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134037.4]
+  assign _T_21221 = {7'h0,flags_119_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134039.4]
+  assign _T_21223 = {7'h0,flags_120_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134041.4]
+  assign _T_21225 = {7'h0,flags_121_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134043.4]
+  assign _T_21227 = {7'h0,flags_122_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134045.4]
+  assign _T_21229 = {7'h0,flags_123_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134047.4]
+  assign _T_21231 = {7'h0,flags_124_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134049.4]
+  assign _T_21233 = {7'h0,flags_125_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134051.4]
+  assign _T_21235 = {7'h0,flags_126_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134053.4]
+  assign _T_21237 = {7'h0,flags_127_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134055.4]
+  assign _T_21239 = {7'h0,flags_128_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134057.4]
+  assign _T_21241 = {7'h0,flags_129_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134059.4]
+  assign _T_21243 = {7'h0,flags_130_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134061.4]
+  assign _T_21245 = {7'h0,flags_131_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134063.4]
+  assign _T_21247 = {7'h0,flags_132_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134065.4]
+  assign _T_21249 = {7'h0,flags_133_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134067.4]
+  assign _T_21251 = {7'h0,flags_134_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134069.4]
+  assign _T_21253 = {7'h0,flags_135_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134071.4]
+  assign _T_21255 = {7'h0,flags_136_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134073.4]
+  assign _T_21257 = {7'h0,flags_137_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134075.4]
+  assign _T_21259 = {7'h0,flags_138_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134077.4]
+  assign _T_21261 = {7'h0,flags_139_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134079.4]
+  assign _T_21263 = {7'h0,flags_140_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134081.4]
+  assign _T_21265 = {7'h0,flags_141_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134083.4]
+  assign _T_21267 = {7'h0,flags_142_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134085.4]
+  assign _T_21269 = {7'h0,flags_143_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134087.4]
+  assign _T_21271 = {7'h0,flags_144_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134089.4]
+  assign _T_21273 = {7'h0,flags_145_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134091.4]
+  assign _T_21275 = {7'h0,flags_146_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134093.4]
+  assign _T_21277 = {7'h0,flags_147_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134095.4]
+  assign _T_21279 = {7'h0,flags_148_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134097.4]
+  assign _T_21281 = {7'h0,flags_149_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134099.4]
+  assign _T_21283 = {7'h0,flags_150_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134101.4]
+  assign _T_21285 = {7'h0,flags_151_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134103.4]
+  assign _T_21287 = {7'h0,flags_152_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134105.4]
+  assign _T_21289 = {7'h0,flags_153_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134107.4]
+  assign _T_21291 = {7'h0,flags_154_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134109.4]
+  assign _T_21293 = {7'h0,flags_155_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134111.4]
+  assign _T_21295 = {7'h0,flags_156_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134113.4]
+  assign _T_21297 = {7'h0,flags_157_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134115.4]
+  assign _T_21299 = {7'h0,flags_158_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134117.4]
+  assign _T_21301 = {7'h0,flags_159_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134119.4]
+  assign _T_21303 = {7'h0,flags_160_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134121.4]
+  assign _T_21305 = {7'h0,flags_161_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134123.4]
+  assign _T_21307 = {7'h0,flags_162_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134125.4]
+  assign _T_21309 = {7'h0,flags_163_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134127.4]
+  assign _T_21311 = {7'h0,flags_164_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134129.4]
+  assign _T_21313 = {7'h0,flags_165_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134131.4]
+  assign _T_21315 = {7'h0,flags_166_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134133.4]
+  assign _T_21317 = {7'h0,flags_167_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134135.4]
+  assign _T_21319 = {7'h0,flags_168_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134137.4]
+  assign _T_21321 = {7'h0,flags_169_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134139.4]
+  assign _T_21323 = {7'h0,flags_170_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134141.4]
+  assign _T_21325 = {7'h0,flags_171_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134143.4]
+  assign _T_21327 = {7'h0,flags_172_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134145.4]
+  assign _T_21329 = {7'h0,flags_173_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134147.4]
+  assign _T_21331 = {7'h0,flags_174_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134149.4]
+  assign _T_21333 = {7'h0,flags_175_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134151.4]
+  assign _T_21335 = {7'h0,flags_176_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134153.4]
+  assign _T_21337 = {7'h0,flags_177_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134155.4]
+  assign _T_21339 = {7'h0,flags_178_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134157.4]
+  assign _T_21341 = {7'h0,flags_179_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134159.4]
+  assign _T_21343 = {7'h0,flags_180_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134161.4]
+  assign _T_21345 = {7'h0,flags_181_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134163.4]
+  assign _T_21347 = {7'h0,flags_182_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134165.4]
+  assign _T_21349 = {7'h0,flags_183_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134167.4]
+  assign _T_21351 = {7'h0,flags_184_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134169.4]
+  assign _T_21353 = {7'h0,flags_185_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134171.4]
+  assign _T_21355 = {7'h0,flags_186_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134173.4]
+  assign _T_21357 = {7'h0,flags_187_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134175.4]
+  assign _T_21359 = {7'h0,flags_188_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134177.4]
+  assign _T_21361 = {7'h0,flags_189_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134179.4]
+  assign _T_21363 = {7'h0,flags_190_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134181.4]
+  assign _T_21365 = {7'h0,flags_191_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134183.4]
+  assign _T_21367 = {7'h0,flags_192_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134185.4]
+  assign _T_21369 = {7'h0,flags_193_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134187.4]
+  assign _T_21371 = {7'h0,flags_194_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134189.4]
+  assign _T_21373 = {7'h0,flags_195_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134191.4]
+  assign _T_21375 = {7'h0,flags_196_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134193.4]
+  assign _T_21377 = {7'h0,flags_197_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134195.4]
+  assign _T_21379 = {7'h0,flags_198_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134197.4]
+  assign _T_21381 = {7'h0,flags_199_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134199.4]
+  assign _T_21383 = {7'h0,flags_200_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134201.4]
+  assign _T_21385 = {7'h0,flags_201_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134203.4]
+  assign _T_21387 = {7'h0,flags_202_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134205.4]
+  assign _T_21389 = {7'h0,flags_203_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134207.4]
+  assign _T_21391 = {7'h0,flags_204_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134209.4]
+  assign _T_21393 = {7'h0,flags_205_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134211.4]
+  assign _T_21395 = {7'h0,flags_206_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134213.4]
+  assign _T_21397 = {7'h0,flags_207_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134215.4]
+  assign _T_21399 = {7'h0,flags_208_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134217.4]
+  assign _T_21401 = {7'h0,flags_209_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134219.4]
+  assign _T_21403 = {7'h0,flags_210_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134221.4]
+  assign _T_21405 = {7'h0,flags_211_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134223.4]
+  assign _T_21407 = {7'h0,flags_212_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134225.4]
+  assign _T_21409 = {7'h0,flags_213_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134227.4]
+  assign _T_21411 = {7'h0,flags_214_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134229.4]
+  assign _T_21413 = {7'h0,flags_215_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134231.4]
+  assign _T_21415 = {7'h0,flags_216_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134233.4]
+  assign _T_21417 = {7'h0,flags_217_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134235.4]
+  assign _T_21419 = {7'h0,flags_218_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134237.4]
+  assign _T_21421 = {7'h0,flags_219_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134239.4]
+  assign _T_21423 = {7'h0,flags_220_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134241.4]
+  assign _T_21425 = {7'h0,flags_221_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134243.4]
+  assign _T_21427 = {7'h0,flags_222_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134245.4]
+  assign _T_21429 = {7'h0,flags_223_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134247.4]
+  assign _T_21431 = {7'h0,flags_224_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134249.4]
+  assign _T_21433 = {7'h0,flags_225_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134251.4]
+  assign _T_21435 = {7'h0,flags_226_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134253.4]
+  assign _T_21437 = {7'h0,flags_227_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134255.4]
+  assign _T_21439 = {7'h0,flags_228_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134257.4]
+  assign _T_21441 = {7'h0,flags_229_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134259.4]
+  assign _T_21443 = {7'h0,flags_230_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134261.4]
+  assign _T_21445 = {7'h0,flags_231_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134263.4]
+  assign _T_21447 = {7'h0,flags_232_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134265.4]
+  assign _T_21449 = {7'h0,flags_233_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134267.4]
+  assign _T_21451 = {7'h0,flags_234_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134269.4]
+  assign _T_21453 = {7'h0,flags_235_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134271.4]
+  assign _T_21455 = {7'h0,flags_236_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134273.4]
+  assign _T_21457 = {7'h0,flags_237_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134275.4]
+  assign _T_21459 = {7'h0,flags_238_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134277.4]
+  assign _T_21461 = {7'h0,flags_239_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134279.4]
+  assign _T_21463 = {7'h0,flags_240_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134281.4]
+  assign _T_21465 = {7'h0,flags_241_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134283.4]
+  assign _T_21467 = {7'h0,flags_242_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134285.4]
+  assign _T_21469 = {7'h0,flags_243_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134287.4]
+  assign _T_21471 = {7'h0,flags_244_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134289.4]
+  assign _T_21473 = {7'h0,flags_245_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134291.4]
+  assign _T_21475 = {7'h0,flags_246_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134293.4]
+  assign _T_21477 = {7'h0,flags_247_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134295.4]
+  assign _T_21479 = {7'h0,flags_248_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134297.4]
+  assign _T_21481 = {7'h0,flags_249_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134299.4]
+  assign _T_21483 = {7'h0,flags_250_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134301.4]
+  assign _T_21485 = {7'h0,flags_251_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134303.4]
+  assign _T_21487 = {7'h0,flags_252_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134305.4]
+  assign _T_21489 = {7'h0,flags_253_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134307.4]
+  assign _T_21491 = {7'h0,flags_254_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134309.4]
+  assign _T_21493 = {7'h0,flags_255_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134311.4]
+  assign _T_21495 = {7'h0,flags_256_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134313.4]
+  assign _T_21497 = {7'h0,flags_257_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134315.4]
+  assign _T_21499 = {7'h0,flags_258_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134317.4]
+  assign _T_21501 = {7'h0,flags_259_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134319.4]
+  assign _T_21503 = {7'h0,flags_260_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134321.4]
+  assign _T_21505 = {7'h0,flags_261_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134323.4]
+  assign _T_21507 = {7'h0,flags_262_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134325.4]
+  assign _T_21509 = {7'h0,flags_263_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134327.4]
+  assign _T_21511 = {7'h0,flags_264_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134329.4]
+  assign _T_21513 = {7'h0,flags_265_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134331.4]
+  assign _T_21515 = {7'h0,flags_266_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134333.4]
+  assign _T_21517 = {7'h0,flags_267_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134335.4]
+  assign _T_21519 = {7'h0,flags_268_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134337.4]
+  assign _T_21521 = {7'h0,flags_269_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134339.4]
+  assign _T_21523 = {7'h0,flags_270_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134341.4]
+  assign _T_21525 = {7'h0,flags_271_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134343.4]
+  assign _T_21527 = {7'h0,flags_272_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134345.4]
+  assign _T_21529 = {7'h0,flags_273_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134347.4]
+  assign _T_21531 = {7'h0,flags_274_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134349.4]
+  assign _T_21533 = {7'h0,flags_275_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134351.4]
+  assign _T_21535 = {7'h0,flags_276_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134353.4]
+  assign _T_21537 = {7'h0,flags_277_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134355.4]
+  assign _T_21539 = {7'h0,flags_278_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134357.4]
+  assign _T_21541 = {7'h0,flags_279_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134359.4]
+  assign _T_21543 = {7'h0,flags_280_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134361.4]
+  assign _T_21545 = {7'h0,flags_281_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134363.4]
+  assign _T_21547 = {7'h0,flags_282_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134365.4]
+  assign _T_21549 = {7'h0,flags_283_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134367.4]
+  assign _T_21551 = {7'h0,flags_284_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134369.4]
+  assign _T_21553 = {7'h0,flags_285_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134371.4]
+  assign _T_21555 = {7'h0,flags_286_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134373.4]
+  assign _T_21557 = {7'h0,flags_287_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134375.4]
+  assign _T_21559 = {7'h0,flags_288_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134377.4]
+  assign _T_21561 = {7'h0,flags_289_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134379.4]
+  assign _T_21563 = {7'h0,flags_290_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134381.4]
+  assign _T_21565 = {7'h0,flags_291_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134383.4]
+  assign _T_21567 = {7'h0,flags_292_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134385.4]
+  assign _T_21569 = {7'h0,flags_293_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134387.4]
+  assign _T_21571 = {7'h0,flags_294_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134389.4]
+  assign _T_21573 = {7'h0,flags_295_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134391.4]
+  assign _T_21575 = {7'h0,flags_296_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134393.4]
+  assign _T_21577 = {7'h0,flags_297_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134395.4]
+  assign _T_21579 = {7'h0,flags_298_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134397.4]
+  assign _T_21581 = {7'h0,flags_299_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134399.4]
+  assign _T_21583 = {7'h0,flags_300_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134401.4]
+  assign _T_21585 = {7'h0,flags_301_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134403.4]
+  assign _T_21587 = {7'h0,flags_302_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134405.4]
+  assign _T_21589 = {7'h0,flags_303_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134407.4]
+  assign _T_21591 = {7'h0,flags_304_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134409.4]
+  assign _T_21593 = {7'h0,flags_305_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134411.4]
+  assign _T_21595 = {7'h0,flags_306_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134413.4]
+  assign _T_21597 = {7'h0,flags_307_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134415.4]
+  assign _T_21599 = {7'h0,flags_308_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134417.4]
+  assign _T_21601 = {7'h0,flags_309_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134419.4]
+  assign _T_21603 = {7'h0,flags_310_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134421.4]
+  assign _T_21605 = {7'h0,flags_311_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134423.4]
+  assign _T_21607 = {7'h0,flags_312_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134425.4]
+  assign _T_21609 = {7'h0,flags_313_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134427.4]
+  assign _T_21611 = {7'h0,flags_314_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134429.4]
+  assign _T_21613 = {7'h0,flags_315_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134431.4]
+  assign _T_21615 = {7'h0,flags_316_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134433.4]
+  assign _T_21617 = {7'h0,flags_317_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134435.4]
+  assign _T_21619 = {7'h0,flags_318_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134437.4]
+  assign _T_21621 = {7'h0,flags_319_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134439.4]
+  assign _T_21623 = {7'h0,flags_320_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134441.4]
+  assign _T_21625 = {7'h0,flags_321_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134443.4]
+  assign _T_21627 = {7'h0,flags_322_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134445.4]
+  assign _T_21629 = {7'h0,flags_323_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134447.4]
+  assign _T_21631 = {7'h0,flags_324_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134449.4]
+  assign _T_21633 = {7'h0,flags_325_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134451.4]
+  assign _T_21635 = {7'h0,flags_326_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134453.4]
+  assign _T_21637 = {7'h0,flags_327_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134455.4]
+  assign _T_21639 = {7'h0,flags_328_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134457.4]
+  assign _T_21641 = {7'h0,flags_329_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134459.4]
+  assign _T_21643 = {7'h0,flags_330_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134461.4]
+  assign _T_21645 = {7'h0,flags_331_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134463.4]
+  assign _T_21647 = {7'h0,flags_332_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134465.4]
+  assign _T_21649 = {7'h0,flags_333_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134467.4]
+  assign _T_21651 = {7'h0,flags_334_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134469.4]
+  assign _T_21653 = {7'h0,flags_335_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134471.4]
+  assign _T_21655 = {7'h0,flags_336_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134473.4]
+  assign _T_21657 = {7'h0,flags_337_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134475.4]
+  assign _T_21659 = {7'h0,flags_338_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134477.4]
+  assign _T_21661 = {7'h0,flags_339_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134479.4]
+  assign _T_21663 = {7'h0,flags_340_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134481.4]
+  assign _T_21665 = {7'h0,flags_341_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134483.4]
+  assign _T_21667 = {7'h0,flags_342_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134485.4]
+  assign _T_21669 = {7'h0,flags_343_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134487.4]
+  assign _T_21671 = {7'h0,flags_344_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134489.4]
+  assign _T_21673 = {7'h0,flags_345_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134491.4]
+  assign _T_21675 = {7'h0,flags_346_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134493.4]
+  assign _T_21677 = {7'h0,flags_347_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134495.4]
+  assign _T_21679 = {7'h0,flags_348_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134497.4]
+  assign _T_21681 = {7'h0,flags_349_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134499.4]
+  assign _T_21683 = {7'h0,flags_350_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134501.4]
+  assign _T_21685 = {7'h0,flags_351_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134503.4]
+  assign _T_21687 = {7'h0,flags_352_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134505.4]
+  assign _T_21689 = {7'h0,flags_353_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134507.4]
+  assign _T_21691 = {7'h0,flags_354_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134509.4]
+  assign _T_21693 = {7'h0,flags_355_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134511.4]
+  assign _T_21695 = {7'h0,flags_356_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134513.4]
+  assign _T_21697 = {7'h0,flags_357_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134515.4]
+  assign _T_21699 = {7'h0,flags_358_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134517.4]
+  assign _T_21701 = {7'h0,flags_359_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134519.4]
+  assign _T_21703 = {7'h0,flags_360_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134521.4]
+  assign _T_21705 = {7'h0,flags_361_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134523.4]
+  assign _T_21707 = {7'h0,flags_362_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134525.4]
+  assign _T_21709 = {7'h0,flags_363_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134527.4]
+  assign _T_21711 = {7'h0,flags_364_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134529.4]
+  assign _T_21713 = {7'h0,flags_365_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134531.4]
+  assign _T_21715 = {7'h0,flags_366_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134533.4]
+  assign _T_21717 = {7'h0,flags_367_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134535.4]
+  assign _T_21719 = {7'h0,flags_368_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134537.4]
+  assign _T_21721 = {7'h0,flags_369_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134539.4]
+  assign _T_21723 = {7'h0,flags_370_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134541.4]
+  assign _T_21725 = {7'h0,flags_371_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134543.4]
+  assign _T_21727 = {7'h0,flags_372_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134545.4]
+  assign _T_21729 = {7'h0,flags_373_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134547.4]
+  assign _T_21731 = {7'h0,flags_374_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134549.4]
+  assign _T_21733 = {7'h0,flags_375_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134551.4]
+  assign _T_21735 = {7'h0,flags_376_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134553.4]
+  assign _T_21737 = {7'h0,flags_377_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134555.4]
+  assign _T_21739 = {7'h0,flags_378_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134557.4]
+  assign _T_21741 = {7'h0,flags_379_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134559.4]
+  assign _T_21743 = {7'h0,flags_380_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134561.4]
+  assign _T_21745 = {7'h0,flags_381_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134563.4]
+  assign _T_21747 = {7'h0,flags_382_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134565.4]
+  assign _T_21749 = {7'h0,flags_383_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134567.4]
+  assign _T_21751 = {7'h0,flags_384_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134569.4]
+  assign _T_21753 = {7'h0,flags_385_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134571.4]
+  assign _T_21755 = {7'h0,flags_386_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134573.4]
+  assign _T_21757 = {7'h0,flags_387_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134575.4]
+  assign _T_21759 = {7'h0,flags_388_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134577.4]
+  assign _T_21761 = {7'h0,flags_389_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134579.4]
+  assign _T_21763 = {7'h0,flags_390_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134581.4]
+  assign _T_21765 = {7'h0,flags_391_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134583.4]
+  assign _T_21767 = {7'h0,flags_392_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134585.4]
+  assign _T_21769 = {7'h0,flags_393_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134587.4]
+  assign _T_21771 = {7'h0,flags_394_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134589.4]
+  assign _T_21773 = {7'h0,flags_395_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134591.4]
+  assign _T_21775 = {7'h0,flags_396_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134593.4]
+  assign _T_21777 = {7'h0,flags_397_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134595.4]
+  assign _T_21779 = {7'h0,flags_398_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134597.4]
+  assign _T_21781 = {7'h0,flags_399_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134599.4]
+  assign _T_21783 = {7'h0,flags_400_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134601.4]
+  assign _T_21785 = {7'h0,flags_401_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134603.4]
+  assign _T_21787 = {7'h0,flags_402_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134605.4]
+  assign _T_21789 = {7'h0,flags_403_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134607.4]
+  assign _T_21791 = {7'h0,flags_404_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134609.4]
+  assign _T_21793 = {7'h0,flags_405_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134611.4]
+  assign _T_21795 = {7'h0,flags_406_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134613.4]
+  assign _T_21797 = {7'h0,flags_407_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134615.4]
+  assign _T_21799 = {7'h0,flags_408_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134617.4]
+  assign _T_21801 = {7'h0,flags_409_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134619.4]
+  assign _T_21803 = {7'h0,flags_410_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134621.4]
+  assign _T_21805 = {7'h0,flags_411_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134623.4]
+  assign _T_21807 = {7'h0,flags_412_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134625.4]
+  assign _T_21809 = {7'h0,flags_413_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134627.4]
+  assign _T_21811 = {7'h0,flags_414_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134629.4]
+  assign _T_21813 = {7'h0,flags_415_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134631.4]
+  assign _T_21815 = {7'h0,flags_416_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134633.4]
+  assign _T_21817 = {7'h0,flags_417_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134635.4]
+  assign _T_21819 = {7'h0,flags_418_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134637.4]
+  assign _T_21821 = {7'h0,flags_419_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134639.4]
+  assign _T_21823 = {7'h0,flags_420_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134641.4]
+  assign _T_21825 = {7'h0,flags_421_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134643.4]
+  assign _T_21827 = {7'h0,flags_422_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134645.4]
+  assign _T_21829 = {7'h0,flags_423_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134647.4]
+  assign _T_21831 = {7'h0,flags_424_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134649.4]
+  assign _T_21833 = {7'h0,flags_425_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134651.4]
+  assign _T_21835 = {7'h0,flags_426_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134653.4]
+  assign _T_21837 = {7'h0,flags_427_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134655.4]
+  assign _T_21839 = {7'h0,flags_428_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134657.4]
+  assign _T_21841 = {7'h0,flags_429_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134659.4]
+  assign _T_21843 = {7'h0,flags_430_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134661.4]
+  assign _T_21845 = {7'h0,flags_431_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134663.4]
+  assign _T_21847 = {7'h0,flags_432_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134665.4]
+  assign _T_21849 = {7'h0,flags_433_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134667.4]
+  assign _T_21851 = {7'h0,flags_434_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134669.4]
+  assign _T_21853 = {7'h0,flags_435_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134671.4]
+  assign _T_21855 = {7'h0,flags_436_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134673.4]
+  assign _T_21857 = {7'h0,flags_437_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134675.4]
+  assign _T_21859 = {7'h0,flags_438_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134677.4]
+  assign _T_21861 = {7'h0,flags_439_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134679.4]
+  assign _T_21863 = {7'h0,flags_440_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134681.4]
+  assign _T_21865 = {7'h0,flags_441_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134683.4]
+  assign _T_21867 = {7'h0,flags_442_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134685.4]
+  assign _T_21869 = {7'h0,flags_443_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134687.4]
+  assign _T_21871 = {7'h0,flags_444_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134689.4]
+  assign _T_21873 = {7'h0,flags_445_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134691.4]
+  assign _T_21875 = {7'h0,flags_446_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134693.4]
+  assign _T_21877 = {7'h0,flags_447_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134695.4]
+  assign _T_21879 = {7'h0,flags_448_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134697.4]
+  assign _T_21881 = {7'h0,flags_449_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134699.4]
+  assign _T_21883 = {7'h0,flags_450_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134701.4]
+  assign _T_21885 = {7'h0,flags_451_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134703.4]
+  assign _T_21887 = {7'h0,flags_452_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134705.4]
+  assign _T_21889 = {7'h0,flags_453_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134707.4]
+  assign _T_21891 = {7'h0,flags_454_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134709.4]
+  assign _T_21893 = {7'h0,flags_455_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134711.4]
+  assign _T_21895 = {7'h0,flags_456_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134713.4]
+  assign _T_21897 = {7'h0,flags_457_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134715.4]
+  assign _T_21899 = {7'h0,flags_458_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134717.4]
+  assign _T_21901 = {7'h0,flags_459_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134719.4]
+  assign _T_21903 = {7'h0,flags_460_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134721.4]
+  assign _T_21905 = {7'h0,flags_461_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134723.4]
+  assign _T_21907 = {7'h0,flags_462_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134725.4]
+  assign _T_21909 = {7'h0,flags_463_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134727.4]
+  assign _T_21911 = {7'h0,flags_464_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134729.4]
+  assign _T_21913 = {7'h0,flags_465_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134731.4]
+  assign _T_21915 = {7'h0,flags_466_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134733.4]
+  assign _T_21917 = {7'h0,flags_467_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134735.4]
+  assign _T_21919 = {7'h0,flags_468_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134737.4]
+  assign _T_21921 = {7'h0,flags_469_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134739.4]
+  assign _T_21923 = {7'h0,flags_470_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134741.4]
+  assign _T_21925 = {7'h0,flags_471_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134743.4]
+  assign _T_21927 = {7'h0,flags_472_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134745.4]
+  assign _T_21929 = {7'h0,flags_473_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134747.4]
+  assign _T_21931 = {7'h0,flags_474_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134749.4]
+  assign _T_21933 = {7'h0,flags_475_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134751.4]
+  assign _T_21935 = {7'h0,flags_476_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134753.4]
+  assign _T_21937 = {7'h0,flags_477_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134755.4]
+  assign _T_21939 = {7'h0,flags_478_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134757.4]
+  assign _T_21941 = {7'h0,flags_479_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134759.4]
+  assign _T_21943 = {7'h0,flags_480_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134761.4]
+  assign _T_21945 = {7'h0,flags_481_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134763.4]
+  assign _T_21947 = {7'h0,flags_482_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134765.4]
+  assign _T_21949 = {7'h0,flags_483_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134767.4]
+  assign _T_21951 = {7'h0,flags_484_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134769.4]
+  assign _T_21953 = {7'h0,flags_485_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134771.4]
+  assign _T_21955 = {7'h0,flags_486_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134773.4]
+  assign _T_21957 = {7'h0,flags_487_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134775.4]
+  assign _T_21959 = {7'h0,flags_488_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134777.4]
+  assign _T_21961 = {7'h0,flags_489_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134779.4]
+  assign _T_21963 = {7'h0,flags_490_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134781.4]
+  assign _T_21965 = {7'h0,flags_491_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134783.4]
+  assign _T_21967 = {7'h0,flags_492_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134785.4]
+  assign _T_21969 = {7'h0,flags_493_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134787.4]
+  assign _T_21971 = {7'h0,flags_494_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134789.4]
+  assign _T_21973 = {7'h0,flags_495_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134791.4]
+  assign _T_21975 = {7'h0,flags_496_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134793.4]
+  assign _T_21977 = {7'h0,flags_497_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134795.4]
+  assign _T_21979 = {7'h0,flags_498_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134797.4]
+  assign _T_21981 = {7'h0,flags_499_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134799.4]
+  assign _T_21983 = {7'h0,flags_500_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134801.4]
+  assign _T_21985 = {7'h0,flags_501_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134803.4]
+  assign _T_21987 = {7'h0,flags_502_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134805.4]
+  assign _T_21989 = {7'h0,flags_503_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134807.4]
+  assign _T_21991 = {7'h0,flags_504_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134809.4]
+  assign _T_21993 = {7'h0,flags_505_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134811.4]
+  assign _T_21995 = {7'h0,flags_506_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134813.4]
+  assign _T_21997 = {7'h0,flags_507_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134815.4]
+  assign _T_21999 = {7'h0,flags_508_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134817.4]
+  assign _T_22001 = {7'h0,flags_509_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134819.4]
+  assign _T_22003 = {7'h0,flags_510_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134821.4]
+  assign _T_22005 = {7'h0,flags_511_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134823.4]
+  assign _T_22007 = {7'h0,flags_512_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134825.4]
+  assign _T_22009 = {7'h0,flags_513_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134827.4]
+  assign _T_22011 = {7'h0,flags_514_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134829.4]
+  assign _T_22013 = {7'h0,flags_515_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134831.4]
+  assign _T_22015 = {7'h0,flags_516_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134833.4]
+  assign _T_22017 = {7'h0,flags_517_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134835.4]
+  assign _T_22019 = {7'h0,flags_518_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134837.4]
+  assign _T_22021 = {7'h0,flags_519_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134839.4]
+  assign _T_22023 = {7'h0,flags_520_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134841.4]
+  assign _T_22025 = {7'h0,flags_521_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134843.4]
+  assign _T_22027 = {7'h0,flags_522_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134845.4]
+  assign _T_22029 = {7'h0,flags_523_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134847.4]
+  assign _T_22031 = {7'h0,flags_524_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134849.4]
+  assign _T_22033 = {7'h0,flags_525_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134851.4]
+  assign _T_22035 = {7'h0,flags_526_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134853.4]
+  assign _T_22037 = {7'h0,flags_527_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134855.4]
+  assign _T_22039 = {7'h0,flags_528_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134857.4]
+  assign _T_22041 = {7'h0,flags_529_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134859.4]
+  assign _T_22043 = {7'h0,flags_530_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134861.4]
+  assign _T_22045 = {7'h0,flags_531_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134863.4]
+  assign _T_22047 = {7'h0,flags_532_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134865.4]
+  assign _T_22049 = {7'h0,flags_533_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134867.4]
+  assign _T_22051 = {7'h0,flags_534_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134869.4]
+  assign _T_22053 = {7'h0,flags_535_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134871.4]
+  assign _T_22055 = {7'h0,flags_536_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134873.4]
+  assign _T_22057 = {7'h0,flags_537_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134875.4]
+  assign _T_22059 = {7'h0,flags_538_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134877.4]
+  assign _T_22061 = {7'h0,flags_539_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134879.4]
+  assign _T_22063 = {7'h0,flags_540_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134881.4]
+  assign _T_22065 = {7'h0,flags_541_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134883.4]
+  assign _T_22067 = {7'h0,flags_542_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134885.4]
+  assign _T_22069 = {7'h0,flags_543_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134887.4]
+  assign _T_22071 = {7'h0,flags_544_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134889.4]
+  assign _T_22073 = {7'h0,flags_545_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134891.4]
+  assign _T_22075 = {7'h0,flags_546_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134893.4]
+  assign _T_22077 = {7'h0,flags_547_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134895.4]
+  assign _T_22079 = {7'h0,flags_548_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134897.4]
+  assign _T_22081 = {7'h0,flags_549_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134899.4]
+  assign _T_22083 = {7'h0,flags_550_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134901.4]
+  assign _T_22085 = {7'h0,flags_551_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134903.4]
+  assign _T_22087 = {7'h0,flags_552_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134905.4]
+  assign _T_22089 = {7'h0,flags_553_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134907.4]
+  assign _T_22091 = {7'h0,flags_554_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134909.4]
+  assign _T_22093 = {7'h0,flags_555_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134911.4]
+  assign _T_22095 = {7'h0,flags_556_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134913.4]
+  assign _T_22097 = {7'h0,flags_557_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134915.4]
+  assign _T_22099 = {7'h0,flags_558_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134917.4]
+  assign _T_22101 = {7'h0,flags_559_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134919.4]
+  assign _T_22103 = {7'h0,flags_560_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134921.4]
+  assign _T_22105 = {7'h0,flags_561_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134923.4]
+  assign _T_22107 = {7'h0,flags_562_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134925.4]
+  assign _T_22109 = {7'h0,flags_563_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134927.4]
+  assign _T_22111 = {7'h0,flags_564_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134929.4]
+  assign _T_22113 = {7'h0,flags_565_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134931.4]
+  assign _T_22115 = {7'h0,flags_566_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134933.4]
+  assign _T_22117 = {7'h0,flags_567_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134935.4]
+  assign _T_22119 = {7'h0,flags_568_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134937.4]
+  assign _T_22121 = {7'h0,flags_569_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134939.4]
+  assign _T_22123 = {7'h0,flags_570_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134941.4]
+  assign _T_22125 = {7'h0,flags_571_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134943.4]
+  assign _T_22127 = {7'h0,flags_572_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134945.4]
+  assign _T_22129 = {7'h0,flags_573_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134947.4]
+  assign _T_22131 = {7'h0,flags_574_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134949.4]
+  assign _T_22133 = {7'h0,flags_575_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134951.4]
+  assign _T_22135 = {7'h0,flags_576_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134953.4]
+  assign _T_22137 = {7'h0,flags_577_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134955.4]
+  assign _T_22139 = {7'h0,flags_578_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134957.4]
+  assign _T_22141 = {7'h0,flags_579_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134959.4]
+  assign _T_22143 = {7'h0,flags_580_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134961.4]
+  assign _T_22145 = {7'h0,flags_581_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134963.4]
+  assign _T_22147 = {7'h0,flags_582_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134965.4]
+  assign _T_22149 = {7'h0,flags_583_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134967.4]
+  assign _T_22151 = {7'h0,flags_584_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134969.4]
+  assign _T_22153 = {7'h0,flags_585_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134971.4]
+  assign _T_22155 = {7'h0,flags_586_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134973.4]
+  assign _T_22157 = {7'h0,flags_587_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134975.4]
+  assign _T_22159 = {7'h0,flags_588_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134977.4]
+  assign _T_22161 = {7'h0,flags_589_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134979.4]
+  assign _T_22163 = {7'h0,flags_590_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134981.4]
+  assign _T_22165 = {7'h0,flags_591_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134983.4]
+  assign _T_22167 = {7'h0,flags_592_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134985.4]
+  assign _T_22169 = {7'h0,flags_593_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134987.4]
+  assign _T_22171 = {7'h0,flags_594_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134989.4]
+  assign _T_22173 = {7'h0,flags_595_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134991.4]
+  assign _T_22175 = {7'h0,flags_596_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134993.4]
+  assign _T_22177 = {7'h0,flags_597_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134995.4]
+  assign _T_22179 = {7'h0,flags_598_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134997.4]
+  assign _T_22181 = {7'h0,flags_599_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134999.4]
+  assign _T_22183 = {7'h0,flags_600_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135001.4]
+  assign _T_22185 = {7'h0,flags_601_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135003.4]
+  assign _T_22187 = {7'h0,flags_602_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135005.4]
+  assign _T_22189 = {7'h0,flags_603_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135007.4]
+  assign _T_22191 = {7'h0,flags_604_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135009.4]
+  assign _T_22193 = {7'h0,flags_605_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135011.4]
+  assign _T_22195 = {7'h0,flags_606_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135013.4]
+  assign _T_22197 = {7'h0,flags_607_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135015.4]
+  assign _T_22199 = {7'h0,flags_608_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135017.4]
+  assign _T_22201 = {7'h0,flags_609_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135019.4]
+  assign _T_22203 = {7'h0,flags_610_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135021.4]
+  assign _T_22205 = {7'h0,flags_611_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135023.4]
+  assign _T_22207 = {7'h0,flags_612_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135025.4]
+  assign _T_22209 = {7'h0,flags_613_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135027.4]
+  assign _T_22211 = {7'h0,flags_614_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135029.4]
+  assign _T_22213 = {7'h0,flags_615_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135031.4]
+  assign _T_22215 = {7'h0,flags_616_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135033.4]
+  assign _T_22217 = {7'h0,flags_617_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135035.4]
+  assign _T_22219 = {7'h0,flags_618_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135037.4]
+  assign _T_22221 = {7'h0,flags_619_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135039.4]
+  assign _T_22223 = {7'h0,flags_620_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135041.4]
+  assign _T_22225 = {7'h0,flags_621_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135043.4]
+  assign _T_22227 = {7'h0,flags_622_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135045.4]
+  assign _T_22229 = {7'h0,flags_623_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135047.4]
+  assign _T_22231 = {7'h0,flags_624_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135049.4]
+  assign _T_22233 = {7'h0,flags_625_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135051.4]
+  assign _T_22235 = {7'h0,flags_626_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135053.4]
+  assign _T_22237 = {7'h0,flags_627_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135055.4]
+  assign _T_22239 = {7'h0,flags_628_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135057.4]
+  assign _T_22241 = {7'h0,flags_629_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135059.4]
+  assign _T_22243 = {7'h0,flags_630_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135061.4]
+  assign _T_22245 = {7'h0,flags_631_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135063.4]
+  assign _T_22247 = {7'h0,flags_632_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135065.4]
+  assign _T_22249 = {7'h0,flags_633_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135067.4]
+  assign _T_22251 = {7'h0,flags_634_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135069.4]
+  assign _T_22253 = {7'h0,flags_635_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135071.4]
+  assign _T_22255 = {7'h0,flags_636_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135073.4]
+  assign _T_22257 = {7'h0,flags_637_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135075.4]
+  assign _T_22259 = {7'h0,flags_638_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135077.4]
+  assign _T_22261 = {7'h0,flags_639_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135079.4]
+  assign _T_22263 = {7'h0,flags_640_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135081.4]
+  assign _T_22265 = {7'h0,flags_641_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135083.4]
+  assign _T_22267 = {7'h0,flags_642_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135085.4]
+  assign _T_22269 = {7'h0,flags_643_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135087.4]
+  assign _T_22271 = {7'h0,flags_644_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135089.4]
+  assign _T_22273 = {7'h0,flags_645_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135091.4]
+  assign _T_22275 = {7'h0,flags_646_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135093.4]
+  assign _T_22277 = {7'h0,flags_647_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135095.4]
+  assign _T_22279 = {7'h0,flags_648_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135097.4]
+  assign _T_22281 = {7'h0,flags_649_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135099.4]
+  assign _T_22283 = {7'h0,flags_650_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135101.4]
+  assign _T_22285 = {7'h0,flags_651_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135103.4]
+  assign _T_22287 = {7'h0,flags_652_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135105.4]
+  assign _T_22289 = {7'h0,flags_653_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135107.4]
+  assign _T_22291 = {7'h0,flags_654_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135109.4]
+  assign _T_22293 = {7'h0,flags_655_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135111.4]
+  assign _T_22295 = {7'h0,flags_656_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135113.4]
+  assign _T_22297 = {7'h0,flags_657_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135115.4]
+  assign _T_22299 = {7'h0,flags_658_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135117.4]
+  assign _T_22301 = {7'h0,flags_659_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135119.4]
+  assign _T_22303 = {7'h0,flags_660_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135121.4]
+  assign _T_22305 = {7'h0,flags_661_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135123.4]
+  assign _T_22307 = {7'h0,flags_662_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135125.4]
+  assign _T_22309 = {7'h0,flags_663_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135127.4]
+  assign _T_22311 = {7'h0,flags_664_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135129.4]
+  assign _T_22313 = {7'h0,flags_665_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135131.4]
+  assign _T_22315 = {7'h0,flags_666_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135133.4]
+  assign _T_22317 = {7'h0,flags_667_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135135.4]
+  assign _T_22319 = {7'h0,flags_668_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135137.4]
+  assign _T_22321 = {7'h0,flags_669_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135139.4]
+  assign _T_22323 = {7'h0,flags_670_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135141.4]
+  assign _T_22325 = {7'h0,flags_671_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135143.4]
+  assign _T_22327 = {7'h0,flags_672_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135145.4]
+  assign _T_22329 = {7'h0,flags_673_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135147.4]
+  assign _T_22331 = {7'h0,flags_674_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135149.4]
+  assign _T_22333 = {7'h0,flags_675_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135151.4]
+  assign _T_22335 = {7'h0,flags_676_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135153.4]
+  assign _T_22337 = {7'h0,flags_677_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135155.4]
+  assign _T_22339 = {7'h0,flags_678_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135157.4]
+  assign _T_22341 = {7'h0,flags_679_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135159.4]
+  assign _T_22343 = {7'h0,flags_680_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135161.4]
+  assign _T_22345 = {7'h0,flags_681_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135163.4]
+  assign _T_22347 = {7'h0,flags_682_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135165.4]
+  assign _T_22349 = {7'h0,flags_683_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135167.4]
+  assign _T_22351 = {7'h0,flags_684_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135169.4]
+  assign _T_22353 = {7'h0,flags_685_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135171.4]
+  assign _T_22355 = {7'h0,flags_686_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135173.4]
+  assign _T_22357 = {7'h0,flags_687_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135175.4]
+  assign _T_22359 = {7'h0,flags_688_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135177.4]
+  assign _T_22361 = {7'h0,flags_689_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135179.4]
+  assign _T_22363 = {7'h0,flags_690_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135181.4]
+  assign _T_22365 = {7'h0,flags_691_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135183.4]
+  assign _T_22367 = {7'h0,flags_692_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135185.4]
+  assign _T_22369 = {7'h0,flags_693_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135187.4]
+  assign _T_22371 = {7'h0,flags_694_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135189.4]
+  assign _T_22373 = {7'h0,flags_695_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135191.4]
+  assign _T_22375 = {7'h0,flags_696_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135193.4]
+  assign _T_22377 = {7'h0,flags_697_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135195.4]
+  assign _T_22379 = {7'h0,flags_698_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135197.4]
+  assign _T_22381 = {7'h0,flags_699_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135199.4]
+  assign _T_22383 = {7'h0,flags_700_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135201.4]
+  assign _T_22385 = {7'h0,flags_701_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135203.4]
+  assign _T_22387 = {7'h0,flags_702_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135205.4]
+  assign _T_22389 = {7'h0,flags_703_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135207.4]
+  assign _T_22391 = {7'h0,flags_704_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135209.4]
+  assign _T_22393 = {7'h0,flags_705_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135211.4]
+  assign _T_22395 = {7'h0,flags_706_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135213.4]
+  assign _T_22397 = {7'h0,flags_707_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135215.4]
+  assign _T_22399 = {7'h0,flags_708_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135217.4]
+  assign _T_22401 = {7'h0,flags_709_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135219.4]
+  assign _T_22403 = {7'h0,flags_710_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135221.4]
+  assign _T_22405 = {7'h0,flags_711_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135223.4]
+  assign _T_22407 = {7'h0,flags_712_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135225.4]
+  assign _T_22409 = {7'h0,flags_713_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135227.4]
+  assign _T_22411 = {7'h0,flags_714_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135229.4]
+  assign _T_22413 = {7'h0,flags_715_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135231.4]
+  assign _T_22415 = {7'h0,flags_716_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135233.4]
+  assign _T_22417 = {7'h0,flags_717_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135235.4]
+  assign _T_22419 = {7'h0,flags_718_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135237.4]
+  assign _T_22421 = {7'h0,flags_719_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135239.4]
+  assign _T_22423 = {7'h0,flags_720_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135241.4]
+  assign _T_22425 = {7'h0,flags_721_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135243.4]
+  assign _T_22427 = {7'h0,flags_722_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135245.4]
+  assign _T_22429 = {7'h0,flags_723_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135247.4]
+  assign _T_22431 = {7'h0,flags_724_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135249.4]
+  assign _T_22433 = {7'h0,flags_725_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135251.4]
+  assign _T_22435 = {7'h0,flags_726_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135253.4]
+  assign _T_22437 = {7'h0,flags_727_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135255.4]
+  assign _T_22439 = {7'h0,flags_728_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135257.4]
+  assign _T_22441 = {7'h0,flags_729_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135259.4]
+  assign _T_22443 = {7'h0,flags_730_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135261.4]
+  assign _T_22445 = {7'h0,flags_731_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135263.4]
+  assign _T_22447 = {7'h0,flags_732_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135265.4]
+  assign _T_22449 = {7'h0,flags_733_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135267.4]
+  assign _T_22451 = {7'h0,flags_734_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135269.4]
+  assign _T_22453 = {7'h0,flags_735_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135271.4]
+  assign _T_22455 = {7'h0,flags_736_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135273.4]
+  assign _T_22457 = {7'h0,flags_737_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135275.4]
+  assign _T_22459 = {7'h0,flags_738_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135277.4]
+  assign _T_22461 = {7'h0,flags_739_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135279.4]
+  assign _T_22463 = {7'h0,flags_740_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135281.4]
+  assign _T_22465 = {7'h0,flags_741_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135283.4]
+  assign _T_22467 = {7'h0,flags_742_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135285.4]
+  assign _T_22469 = {7'h0,flags_743_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135287.4]
+  assign _T_22471 = {7'h0,flags_744_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135289.4]
+  assign _T_22473 = {7'h0,flags_745_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135291.4]
+  assign _T_22475 = {7'h0,flags_746_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135293.4]
+  assign _T_22477 = {7'h0,flags_747_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135295.4]
+  assign _T_22479 = {7'h0,flags_748_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135297.4]
+  assign _T_22481 = {7'h0,flags_749_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135299.4]
+  assign _T_22483 = {7'h0,flags_750_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135301.4]
+  assign _T_22485 = {7'h0,flags_751_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135303.4]
+  assign _T_22487 = {7'h0,flags_752_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135305.4]
+  assign _T_22489 = {7'h0,flags_753_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135307.4]
+  assign _T_22491 = {7'h0,flags_754_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135309.4]
+  assign _T_22493 = {7'h0,flags_755_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135311.4]
+  assign _T_22495 = {7'h0,flags_756_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135313.4]
+  assign _T_22497 = {7'h0,flags_757_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135315.4]
+  assign _T_22499 = {7'h0,flags_758_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135317.4]
+  assign _T_22501 = {7'h0,flags_759_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135319.4]
+  assign _T_22503 = {7'h0,flags_760_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135321.4]
+  assign _T_22505 = {7'h0,flags_761_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135323.4]
+  assign _T_22507 = {7'h0,flags_762_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135325.4]
+  assign _T_22509 = {7'h0,flags_763_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135327.4]
+  assign _T_22511 = {7'h0,flags_764_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135329.4]
+  assign _T_22513 = {7'h0,flags_765_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135331.4]
+  assign _T_22515 = {7'h0,flags_766_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135333.4]
+  assign _T_22517 = {7'h0,flags_767_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135335.4]
+  assign _T_22519 = {7'h0,flags_768_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135337.4]
+  assign _T_22521 = {7'h0,flags_769_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135339.4]
+  assign _T_22523 = {7'h0,flags_770_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135341.4]
+  assign _T_22525 = {7'h0,flags_771_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135343.4]
+  assign _T_22527 = {7'h0,flags_772_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135345.4]
+  assign _T_22529 = {7'h0,flags_773_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135347.4]
+  assign _T_22531 = {7'h0,flags_774_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135349.4]
+  assign _T_22533 = {7'h0,flags_775_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135351.4]
+  assign _T_22535 = {7'h0,flags_776_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135353.4]
+  assign _T_22537 = {7'h0,flags_777_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135355.4]
+  assign _T_22539 = {7'h0,flags_778_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135357.4]
+  assign _T_22541 = {7'h0,flags_779_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135359.4]
+  assign _T_22543 = {7'h0,flags_780_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135361.4]
+  assign _T_22545 = {7'h0,flags_781_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135363.4]
+  assign _T_22547 = {7'h0,flags_782_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135365.4]
+  assign _T_22549 = {7'h0,flags_783_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135367.4]
+  assign _T_22551 = {7'h0,flags_784_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135369.4]
+  assign _T_22553 = {7'h0,flags_785_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135371.4]
+  assign _T_22555 = {7'h0,flags_786_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135373.4]
+  assign _T_22557 = {7'h0,flags_787_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135375.4]
+  assign _T_22559 = {7'h0,flags_788_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135377.4]
+  assign _T_22561 = {7'h0,flags_789_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135379.4]
+  assign _T_22563 = {7'h0,flags_790_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135381.4]
+  assign _T_22565 = {7'h0,flags_791_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135383.4]
+  assign _T_22567 = {7'h0,flags_792_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135385.4]
+  assign _T_22569 = {7'h0,flags_793_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135387.4]
+  assign _T_22571 = {7'h0,flags_794_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135389.4]
+  assign _T_22573 = {7'h0,flags_795_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135391.4]
+  assign _T_22575 = {7'h0,flags_796_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135393.4]
+  assign _T_22577 = {7'h0,flags_797_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135395.4]
+  assign _T_22579 = {7'h0,flags_798_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135397.4]
+  assign _T_22581 = {7'h0,flags_799_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135399.4]
+  assign _T_22583 = {7'h0,flags_800_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135401.4]
+  assign _T_22585 = {7'h0,flags_801_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135403.4]
+  assign _T_22587 = {7'h0,flags_802_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135405.4]
+  assign _T_22589 = {7'h0,flags_803_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135407.4]
+  assign _T_22591 = {7'h0,flags_804_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135409.4]
+  assign _T_22593 = {7'h0,flags_805_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135411.4]
+  assign _T_22595 = {7'h0,flags_806_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135413.4]
+  assign _T_22597 = {7'h0,flags_807_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135415.4]
+  assign _T_22599 = {7'h0,flags_808_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135417.4]
+  assign _T_22601 = {7'h0,flags_809_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135419.4]
+  assign _T_22603 = {7'h0,flags_810_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135421.4]
+  assign _T_22605 = {7'h0,flags_811_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135423.4]
+  assign _T_22607 = {7'h0,flags_812_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135425.4]
+  assign _T_22609 = {7'h0,flags_813_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135427.4]
+  assign _T_22611 = {7'h0,flags_814_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135429.4]
+  assign _T_22613 = {7'h0,flags_815_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135431.4]
+  assign _T_22615 = {7'h0,flags_816_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135433.4]
+  assign _T_22617 = {7'h0,flags_817_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135435.4]
+  assign _T_22619 = {7'h0,flags_818_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135437.4]
+  assign _T_22621 = {7'h0,flags_819_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135439.4]
+  assign _T_22623 = {7'h0,flags_820_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135441.4]
+  assign _T_22625 = {7'h0,flags_821_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135443.4]
+  assign _T_22627 = {7'h0,flags_822_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135445.4]
+  assign _T_22629 = {7'h0,flags_823_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135447.4]
+  assign _T_22631 = {7'h0,flags_824_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135449.4]
+  assign _T_22633 = {7'h0,flags_825_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135451.4]
+  assign _T_22635 = {7'h0,flags_826_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135453.4]
+  assign _T_22637 = {7'h0,flags_827_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135455.4]
+  assign _T_22639 = {7'h0,flags_828_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135457.4]
+  assign _T_22641 = {7'h0,flags_829_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135459.4]
+  assign _T_22643 = {7'h0,flags_830_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135461.4]
+  assign _T_22645 = {7'h0,flags_831_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135463.4]
+  assign _T_22647 = {7'h0,flags_832_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135465.4]
+  assign _T_22649 = {7'h0,flags_833_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135467.4]
+  assign _T_22651 = {7'h0,flags_834_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135469.4]
+  assign _T_22653 = {7'h0,flags_835_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135471.4]
+  assign _T_22655 = {7'h0,flags_836_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135473.4]
+  assign _T_22657 = {7'h0,flags_837_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135475.4]
+  assign _T_22659 = {7'h0,flags_838_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135477.4]
+  assign _T_22661 = {7'h0,flags_839_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135479.4]
+  assign _T_22663 = {7'h0,flags_840_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135481.4]
+  assign _T_22665 = {7'h0,flags_841_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135483.4]
+  assign _T_22667 = {7'h0,flags_842_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135485.4]
+  assign _T_22669 = {7'h0,flags_843_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135487.4]
+  assign _T_22671 = {7'h0,flags_844_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135489.4]
+  assign _T_22673 = {7'h0,flags_845_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135491.4]
+  assign _T_22675 = {7'h0,flags_846_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135493.4]
+  assign _T_22677 = {7'h0,flags_847_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135495.4]
+  assign _T_22679 = {7'h0,flags_848_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135497.4]
+  assign _T_22681 = {7'h0,flags_849_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135499.4]
+  assign _T_22683 = {7'h0,flags_850_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135501.4]
+  assign _T_22685 = {7'h0,flags_851_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135503.4]
+  assign _T_22687 = {7'h0,flags_852_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135505.4]
+  assign _T_22689 = {7'h0,flags_853_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135507.4]
+  assign _T_22691 = {7'h0,flags_854_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135509.4]
+  assign _T_22693 = {7'h0,flags_855_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135511.4]
+  assign _T_22695 = {7'h0,flags_856_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135513.4]
+  assign _T_22697 = {7'h0,flags_857_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135515.4]
+  assign _T_22699 = {7'h0,flags_858_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135517.4]
+  assign _T_22701 = {7'h0,flags_859_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135519.4]
+  assign _T_22703 = {7'h0,flags_860_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135521.4]
+  assign _T_22705 = {7'h0,flags_861_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135523.4]
+  assign _T_22707 = {7'h0,flags_862_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135525.4]
+  assign _T_22709 = {7'h0,flags_863_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135527.4]
+  assign _T_22711 = {7'h0,flags_864_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135529.4]
+  assign _T_22713 = {7'h0,flags_865_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135531.4]
+  assign _T_22715 = {7'h0,flags_866_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135533.4]
+  assign _T_22717 = {7'h0,flags_867_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135535.4]
+  assign _T_22719 = {7'h0,flags_868_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135537.4]
+  assign _T_22721 = {7'h0,flags_869_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135539.4]
+  assign _T_22723 = {7'h0,flags_870_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135541.4]
+  assign _T_22725 = {7'h0,flags_871_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135543.4]
+  assign _T_22727 = {7'h0,flags_872_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135545.4]
+  assign _T_22729 = {7'h0,flags_873_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135547.4]
+  assign _T_22731 = {7'h0,flags_874_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135549.4]
+  assign _T_22733 = {7'h0,flags_875_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135551.4]
+  assign _T_22735 = {7'h0,flags_876_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135553.4]
+  assign _T_22737 = {7'h0,flags_877_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135555.4]
+  assign _T_22739 = {7'h0,flags_878_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135557.4]
+  assign _T_22741 = {7'h0,flags_879_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135559.4]
+  assign _T_22743 = {7'h0,flags_880_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135561.4]
+  assign _T_22745 = {7'h0,flags_881_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135563.4]
+  assign _T_22747 = {7'h0,flags_882_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135565.4]
+  assign _T_22749 = {7'h0,flags_883_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135567.4]
+  assign _T_22751 = {7'h0,flags_884_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135569.4]
+  assign _T_22753 = {7'h0,flags_885_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135571.4]
+  assign _T_22755 = {7'h0,flags_886_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135573.4]
+  assign _T_22757 = {7'h0,flags_887_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135575.4]
+  assign _T_22759 = {7'h0,flags_888_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135577.4]
+  assign _T_22761 = {7'h0,flags_889_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135579.4]
+  assign _T_22763 = {7'h0,flags_890_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135581.4]
+  assign _T_22765 = {7'h0,flags_891_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135583.4]
+  assign _T_22767 = {7'h0,flags_892_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135585.4]
+  assign _T_22769 = {7'h0,flags_893_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135587.4]
+  assign _T_22771 = {7'h0,flags_894_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135589.4]
+  assign _T_22773 = {7'h0,flags_895_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135591.4]
+  assign _T_22775 = {7'h0,flags_896_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135593.4]
+  assign _T_22777 = {7'h0,flags_897_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135595.4]
+  assign _T_22779 = {7'h0,flags_898_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135597.4]
+  assign _T_22781 = {7'h0,flags_899_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135599.4]
+  assign _T_22783 = {7'h0,flags_900_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135601.4]
+  assign _T_22785 = {7'h0,flags_901_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135603.4]
+  assign _T_22787 = {7'h0,flags_902_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135605.4]
+  assign _T_22789 = {7'h0,flags_903_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135607.4]
+  assign _T_22791 = {7'h0,flags_904_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135609.4]
+  assign _T_22793 = {7'h0,flags_905_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135611.4]
+  assign _T_22795 = {7'h0,flags_906_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135613.4]
+  assign _T_22797 = {7'h0,flags_907_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135615.4]
+  assign _T_22799 = {7'h0,flags_908_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135617.4]
+  assign _T_22801 = {7'h0,flags_909_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135619.4]
+  assign _T_22803 = {7'h0,flags_910_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135621.4]
+  assign _T_22805 = {7'h0,flags_911_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135623.4]
+  assign _T_22807 = {7'h0,flags_912_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135625.4]
+  assign _T_22809 = {7'h0,flags_913_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135627.4]
+  assign _T_22811 = {7'h0,flags_914_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135629.4]
+  assign _T_22813 = {7'h0,flags_915_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135631.4]
+  assign _T_22815 = {7'h0,flags_916_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135633.4]
+  assign _T_22817 = {7'h0,flags_917_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135635.4]
+  assign _T_22819 = {7'h0,flags_918_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135637.4]
+  assign _T_22821 = {7'h0,flags_919_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135639.4]
+  assign _T_22823 = {7'h0,flags_920_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135641.4]
+  assign _T_22825 = {7'h0,flags_921_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135643.4]
+  assign _T_22827 = {7'h0,flags_922_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135645.4]
+  assign _T_22829 = {7'h0,flags_923_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135647.4]
+  assign _T_22831 = {7'h0,flags_924_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135649.4]
+  assign _T_22833 = {7'h0,flags_925_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135651.4]
+  assign _T_22835 = {7'h0,flags_926_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135653.4]
+  assign _T_22837 = {7'h0,flags_927_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135655.4]
+  assign _T_22839 = {7'h0,flags_928_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135657.4]
+  assign _T_22841 = {7'h0,flags_929_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135659.4]
+  assign _T_22843 = {7'h0,flags_930_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135661.4]
+  assign _T_22845 = {7'h0,flags_931_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135663.4]
+  assign _T_22847 = {7'h0,flags_932_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135665.4]
+  assign _T_22849 = {7'h0,flags_933_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135667.4]
+  assign _T_22851 = {7'h0,flags_934_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135669.4]
+  assign _T_22853 = {7'h0,flags_935_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135671.4]
+  assign _T_22855 = {7'h0,flags_936_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135673.4]
+  assign _T_22857 = {7'h0,flags_937_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135675.4]
+  assign _T_22859 = {7'h0,flags_938_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135677.4]
+  assign _T_22861 = {7'h0,flags_939_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135679.4]
+  assign _T_22863 = {7'h0,flags_940_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135681.4]
+  assign _T_22865 = {7'h0,flags_941_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135683.4]
+  assign _T_22867 = {7'h0,flags_942_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135685.4]
+  assign _T_22869 = {7'h0,flags_943_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135687.4]
+  assign _T_22871 = {7'h0,flags_944_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135689.4]
+  assign _T_22873 = {7'h0,flags_945_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135691.4]
+  assign _T_22875 = {7'h0,flags_946_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135693.4]
+  assign _T_22877 = {7'h0,flags_947_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135695.4]
+  assign _T_22879 = {7'h0,flags_948_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135697.4]
+  assign _T_22881 = {7'h0,flags_949_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135699.4]
+  assign _T_22883 = {7'h0,flags_950_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135701.4]
+  assign _T_22885 = {7'h0,flags_951_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135703.4]
+  assign _T_22887 = {7'h0,flags_952_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135705.4]
+  assign _T_22889 = {7'h0,flags_953_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135707.4]
+  assign _T_22891 = {7'h0,flags_954_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135709.4]
+  assign _T_22893 = {7'h0,flags_955_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135711.4]
+  assign _T_22895 = {7'h0,flags_956_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135713.4]
+  assign _T_22897 = {7'h0,flags_957_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135715.4]
+  assign _T_22899 = {7'h0,flags_958_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135717.4]
+  assign _T_22901 = {7'h0,flags_959_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135719.4]
+  assign _T_22903 = {7'h0,flags_960_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135721.4]
+  assign _T_22905 = {7'h0,flags_961_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135723.4]
+  assign _T_22907 = {7'h0,flags_962_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135725.4]
+  assign _T_22909 = {7'h0,flags_963_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135727.4]
+  assign _T_22911 = {7'h0,flags_964_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135729.4]
+  assign _T_22913 = {7'h0,flags_965_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135731.4]
+  assign _T_22915 = {7'h0,flags_966_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135733.4]
+  assign _T_22917 = {7'h0,flags_967_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135735.4]
+  assign _T_22919 = {7'h0,flags_968_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135737.4]
+  assign _T_22921 = {7'h0,flags_969_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135739.4]
+  assign _T_22923 = {7'h0,flags_970_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135741.4]
+  assign _T_22925 = {7'h0,flags_971_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135743.4]
+  assign _T_22927 = {7'h0,flags_972_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135745.4]
+  assign _T_22929 = {7'h0,flags_973_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135747.4]
+  assign _T_22931 = {7'h0,flags_974_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135749.4]
+  assign _T_22933 = {7'h0,flags_975_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135751.4]
+  assign _T_22935 = {7'h0,flags_976_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135753.4]
+  assign _T_22937 = {7'h0,flags_977_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135755.4]
+  assign _T_22939 = {7'h0,flags_978_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135757.4]
+  assign _T_22941 = {7'h0,flags_979_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135759.4]
+  assign _T_22943 = {7'h0,flags_980_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135761.4]
+  assign _T_22945 = {7'h0,flags_981_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135763.4]
+  assign _T_22947 = {7'h0,flags_982_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135765.4]
+  assign _T_22949 = {7'h0,flags_983_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135767.4]
+  assign _T_22951 = {7'h0,flags_984_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135769.4]
+  assign _T_22953 = {7'h0,flags_985_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135771.4]
+  assign _T_22955 = {7'h0,flags_986_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135773.4]
+  assign _T_22957 = {7'h0,flags_987_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135775.4]
+  assign _T_22959 = {7'h0,flags_988_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135777.4]
+  assign _T_22961 = {7'h0,flags_989_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135779.4]
+  assign _T_22963 = {7'h0,flags_990_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135781.4]
+  assign _T_22965 = {7'h0,flags_991_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135783.4]
+  assign _T_22967 = {7'h0,flags_992_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135785.4]
+  assign _T_22969 = {7'h0,flags_993_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135787.4]
+  assign _T_22971 = {7'h0,flags_994_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135789.4]
+  assign _T_22973 = {7'h0,flags_995_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135791.4]
+  assign _T_22975 = {7'h0,flags_996_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135793.4]
+  assign _T_22977 = {7'h0,flags_997_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135795.4]
+  assign _T_22979 = {7'h0,flags_998_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135797.4]
+  assign _T_22981 = {7'h0,flags_999_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135799.4]
+  assign _T_22983 = {7'h0,flags_1000_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135801.4]
+  assign _T_22985 = {7'h0,flags_1001_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135803.4]
+  assign _T_22987 = {7'h0,flags_1002_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135805.4]
+  assign _T_22989 = {7'h0,flags_1003_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135807.4]
+  assign _T_22991 = {7'h0,flags_1004_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135809.4]
+  assign _T_22993 = {7'h0,flags_1005_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135811.4]
+  assign _T_22995 = {7'h0,flags_1006_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135813.4]
+  assign _T_22997 = {7'h0,flags_1007_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135815.4]
+  assign _T_22999 = {7'h0,flags_1008_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135817.4]
+  assign _T_23001 = {7'h0,flags_1009_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135819.4]
+  assign _T_23003 = {7'h0,flags_1010_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135821.4]
+  assign _T_23005 = {7'h0,flags_1011_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135823.4]
+  assign _T_23007 = {7'h0,flags_1012_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135825.4]
+  assign _T_23009 = {7'h0,flags_1013_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135827.4]
+  assign _T_23011 = {7'h0,flags_1014_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135829.4]
+  assign _T_23013 = {7'h0,flags_1015_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135831.4]
+  assign _T_23015 = {7'h0,flags_1016_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135833.4]
+  assign _T_23017 = {7'h0,flags_1017_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135835.4]
+  assign _T_23019 = {7'h0,flags_1018_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135837.4]
+  assign _T_23021 = {7'h0,flags_1019_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135839.4]
+  assign _T_23023 = {7'h0,flags_1020_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135841.4]
+  assign _T_23025 = {7'h0,flags_1021_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135843.4]
+  assign _T_23027 = {7'h0,flags_1022_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135845.4]
+  assign _T_23029 = {7'h0,flags_1023_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135847.4]
+  assign _T_23039 = {auto_tl_in_a_bits_source,auto_tl_in_a_bits_size}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@135856.4]
+  assign _T_28445 = _T_28444[7:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@136506.4]
+  assign _T_28448 = ~ _T_28445; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@136509.4]
+  assign _T_28449 = _T_28448 == 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@136510.4]
+  assign _T_28459 = auto_tl_in_a_bits_data[7:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@136520.4]
+  assign _T_28470 = _T_28444[15:8]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@136531.4]
+  assign _T_28473 = ~ _T_28470; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@136534.4]
+  assign _T_28474 = _T_28473 == 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@136535.4]
+  assign _T_28484 = auto_tl_in_a_bits_data[15:8]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@136545.4]
+  assign _T_28494 = {_T_21857,_T_21855}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@136555.4]
+  assign _T_28497 = _T_28444[23:16]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@136558.4]
+  assign _T_28500 = ~ _T_28497; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@136561.4]
+  assign _T_28501 = _T_28500 == 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@136562.4]
+  assign _T_28511 = auto_tl_in_a_bits_data[23:16]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@136572.4]
+  assign _T_28521 = {_T_21859,_T_28494}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@136582.4]
+  assign _T_28524 = _T_28444[31:24]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@136585.4]
+  assign _T_28527 = ~ _T_28524; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@136588.4]
+  assign _T_28528 = _T_28527 == 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@136589.4]
+  assign _T_28538 = auto_tl_in_a_bits_data[31:24]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@136599.4]
+  assign _T_28548 = {_T_21861,_T_28521}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@136609.4]
+  assign _T_28600 = {_T_22769,_T_22767}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@136661.4]
+  assign _T_28627 = {_T_22771,_T_28600}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@136688.4]
+  assign _T_28654 = {_T_22773,_T_28627}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@136715.4]
+  assign _T_28706 = {_T_21713,_T_21711}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@136767.4]
+  assign _T_28733 = {_T_21715,_T_28706}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@136794.4]
+  assign _T_28760 = {_T_21717,_T_28733}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@136821.4]
+  assign _T_28812 = {_T_21601,_T_21599}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@136873.4]
+  assign _T_28839 = {_T_21603,_T_28812}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@136900.4]
+  assign _T_28866 = {_T_21605,_T_28839}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@136927.4]
+  assign _T_29024 = {_T_22681,_T_22679}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@137085.4]
+  assign _T_29051 = {_T_22683,_T_29024}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@137112.4]
+  assign _T_29078 = {_T_22685,_T_29051}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@137139.4]
+  assign _T_29130 = {_T_22785,_T_22783}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@137191.4]
+  assign _T_29157 = {_T_22787,_T_29130}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@137218.4]
+  assign _T_29184 = {_T_22789,_T_29157}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@137245.4]
+  assign _T_29236 = {_T_21753,_T_21751}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@137297.4]
+  assign _T_29263 = {_T_21755,_T_29236}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@137324.4]
+  assign _T_29290 = {_T_21757,_T_29263}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@137351.4]
+  assign _T_29342 = {_T_22201,_T_22199}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@137403.4]
+  assign _T_29369 = {_T_22203,_T_29342}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@137430.4]
+  assign _T_29396 = {_T_22205,_T_29369}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@137457.4]
+  assign _T_60038 = _T_60333[217]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@168311.4]
+  assign _T_65748 = _T_71634 & _T_60038; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@176055.4]
+  assign _T_65749 = _T_65748 & _T_23089; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@176056.4]
+  assign _T_29517 = _T_65749 & _T_28449; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@137578.4]
+  assign _T_29542 = _T_65749 & _T_28474; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@137606.4]
+  assign _T_29569 = _T_65749 & _T_28501; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@137636.4]
+  assign _T_29596 = _T_65749 & _T_28528; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@137666.4]
+  assign _T_29660 = {_T_21145,_T_21143}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@137733.4]
+  assign _T_29687 = {_T_21147,_T_29660}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@137760.4]
+  assign _T_29714 = {_T_21149,_T_29687}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@137787.4]
+  assign _T_29766 = {_T_21401,_T_21399}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@137839.4]
+  assign _T_29793 = {_T_21403,_T_29766}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@137866.4]
+  assign _T_29820 = {_T_21405,_T_29793}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@137893.4]
+  assign _T_29872 = {_T_22529,_T_22527}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@137945.4]
+  assign _T_29899 = {_T_22531,_T_29872}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@137972.4]
+  assign _T_29926 = {_T_22533,_T_29899}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@137999.4]
+  assign _T_29978 = {_T_21969,_T_21967}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@138051.4]
+  assign _T_30005 = {_T_21971,_T_29978}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@138078.4]
+  assign _T_30032 = {_T_21973,_T_30005}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@138105.4]
+  assign _T_30084 = {_T_22457,_T_22455}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@138157.4]
+  assign _T_30111 = {_T_22459,_T_30084}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@138184.4]
+  assign _T_30138 = {_T_22461,_T_30111}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@138211.4]
+  assign _T_30190 = {_T_23025,_T_23023}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@138263.4]
+  assign _T_30217 = {_T_23027,_T_30190}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@138290.4]
+  assign _T_30244 = {_T_23029,_T_30217}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@138317.4]
+  assign _T_30296 = {_T_21089,_T_21087}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@138369.4]
+  assign _T_30323 = {_T_21091,_T_30296}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@138396.4]
+  assign _T_30350 = {_T_21093,_T_30323}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@138423.4]
+  assign _T_30402 = {_T_22017,_T_22015}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@138475.4]
+  assign _T_30429 = {_T_22019,_T_30402}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@138502.4]
+  assign _T_30456 = {_T_22021,_T_30429}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@138529.4]
+  assign _T_30508 = {_T_22009,_T_22007}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@138581.4]
+  assign _T_30535 = {_T_22011,_T_30508}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@138608.4]
+  assign _T_30562 = {_T_22013,_T_30535}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@138635.4]
+  assign _T_30614 = {_T_22937,_T_22935}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@138687.4]
+  assign _T_30641 = {_T_22939,_T_30614}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@138714.4]
+  assign _T_30668 = {_T_22941,_T_30641}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@138741.4]
+  assign _T_30720 = {_T_22713,_T_22711}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@138793.4]
+  assign _T_30747 = {_T_22715,_T_30720}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@138820.4]
+  assign _T_30774 = {_T_22717,_T_30747}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@138847.4]
+  assign _T_30826 = {_T_21657,_T_21655}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@138899.4]
+  assign _T_30853 = {_T_21659,_T_30826}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@138926.4]
+  assign _T_30880 = {_T_21661,_T_30853}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@138953.4]
+  assign _T_30932 = {_T_22169,_T_22167}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@139005.4]
+  assign _T_30959 = {_T_22171,_T_30932}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@139032.4]
+  assign _T_30986 = {_T_22173,_T_30959}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@139059.4]
+  assign _T_31038 = {_T_22273,_T_22271}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@139111.4]
+  assign _T_31065 = {_T_22275,_T_31038}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@139138.4]
+  assign _T_31092 = {_T_22277,_T_31065}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@139165.4]
+  assign _T_31144 = {_T_21241,_T_21239}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@139217.4]
+  assign _T_31171 = {_T_21243,_T_31144}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@139244.4]
+  assign _T_31198 = {_T_21245,_T_31171}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@139271.4]
+  assign _T_31250 = {_T_21345,_T_21343}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@139323.4]
+  assign _T_31277 = {_T_21347,_T_31250}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@139350.4]
+  assign _T_31304 = {_T_21349,_T_31277}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@139377.4]
+  assign _T_31356 = {_T_21497,_T_21495}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@139429.4]
+  assign _T_31383 = {_T_21499,_T_31356}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@139456.4]
+  assign _T_31410 = {_T_21501,_T_31383}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@139483.4]
+  assign _T_31462 = {_T_22425,_T_22423}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@139535.4]
+  assign _T_31489 = {_T_22427,_T_31462}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@139562.4]
+  assign _T_31516 = {_T_22429,_T_31489}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@139589.4]
+  assign _T_31568 = {_T_20993,_T_20991}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@139641.4]
+  assign _T_31595 = {_T_20995,_T_31568}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@139668.4]
+  assign _T_31622 = {_T_20997,_T_31595}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@139695.4]
+  assign _T_31674 = {_T_22049,_T_22047}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@139747.4]
+  assign _T_31701 = {_T_22051,_T_31674}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@139774.4]
+  assign _T_31728 = {_T_22053,_T_31701}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@139801.4]
+  assign _T_31780 = {_T_21913,_T_21911}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@139853.4]
+  assign _T_31807 = {_T_21915,_T_31780}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@139880.4]
+  assign _T_31834 = {_T_21917,_T_31807}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@139907.4]
+  assign _T_31886 = {_T_22969,_T_22967}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@139959.4]
+  assign _T_31913 = {_T_22971,_T_31886}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@139986.4]
+  assign _T_31940 = {_T_22973,_T_31913}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@140013.4]
+  assign _T_31992 = {_T_21689,_T_21687}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@140065.4]
+  assign _T_32019 = {_T_21691,_T_31992}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@140092.4]
+  assign _T_32046 = {_T_21693,_T_32019}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@140119.4]
+  assign _T_32098 = {_T_21793,_T_21791}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@140171.4]
+  assign _T_32125 = {_T_21795,_T_32098}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@140198.4]
+  assign _T_32152 = {_T_21797,_T_32125}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@140225.4]
+  assign _T_32204 = {_T_22617,_T_22615}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@140277.4]
+  assign _T_32231 = {_T_22619,_T_32204}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@140304.4]
+  assign _T_32258 = {_T_22621,_T_32231}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@140331.4]
+  assign _T_32310 = {_T_22305,_T_22303}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@140383.4]
+  assign _T_32337 = {_T_22307,_T_32310}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@140410.4]
+  assign _T_32364 = {_T_22309,_T_32337}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@140437.4]
+  assign _T_32416 = {_T_21209,_T_21207}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@140489.4]
+  assign _T_32443 = {_T_21211,_T_32416}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@140516.4]
+  assign _T_32470 = {_T_21213,_T_32443}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@140543.4]
+  assign _T_32522 = {_T_22265,_T_22263}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@140595.4]
+  assign _T_32549 = {_T_22267,_T_32522}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@140622.4]
+  assign _T_32576 = {_T_22269,_T_32549}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@140649.4]
+  assign _T_32628 = {_T_21537,_T_21535}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@140701.4]
+  assign _T_32655 = {_T_21539,_T_32628}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@140728.4]
+  assign _T_32682 = {_T_21541,_T_32655}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@140755.4]
+  assign _T_32734 = {_T_21249,_T_21247}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@140807.4]
+  assign _T_32761 = {_T_21251,_T_32734}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@140834.4]
+  assign _T_32788 = {_T_21253,_T_32761}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@140861.4]
+  assign _T_32840 = {_T_22521,_T_22519}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@140913.4]
+  assign _T_32867 = {_T_22523,_T_32840}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@140940.4]
+  assign _T_32894 = {_T_22525,_T_32867}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@140967.4]
+  assign _T_32946 = {_T_21465,_T_21463}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@141019.4]
+  assign _T_32973 = {_T_21467,_T_32946}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@141046.4]
+  assign _T_33000 = {_T_21469,_T_32973}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@141073.4]
+  assign _T_33052 = {_T_21025,_T_21023}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@141125.4]
+  assign _T_33079 = {_T_21027,_T_33052}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@141152.4]
+  assign _T_33106 = {_T_21029,_T_33079}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@141179.4]
+  assign _T_60037 = _T_60333[216]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@168310.4]
+  assign _T_65742 = _T_71634 & _T_60037; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@176044.4]
+  assign _T_65743 = _T_65742 & _T_23089; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@176045.4]
+  assign _T_33121 = _T_65743 & _T_28449; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@141194.4]
+  assign _T_33146 = _T_65743 & _T_28474; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@141222.4]
+  assign _T_33173 = _T_65743 & _T_28501; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@141252.4]
+  assign _T_33200 = _T_65743 & _T_28528; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@141282.4]
+  assign _T_33264 = {_T_22737,_T_22735}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@141349.4]
+  assign _T_33291 = {_T_22739,_T_33264}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@141376.4]
+  assign _T_33318 = {_T_22741,_T_33291}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@141403.4]
+  assign _T_33370 = {_T_22873,_T_22871}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@141455.4]
+  assign _T_33397 = {_T_22875,_T_33370}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@141482.4]
+  assign _T_33424 = {_T_22877,_T_33397}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@141509.4]
+  assign _T_33476 = {_T_22481,_T_22479}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@141561.4]
+  assign _T_33503 = {_T_22483,_T_33476}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@141588.4]
+  assign _T_33530 = {_T_22485,_T_33503}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@141615.4]
+  assign _T_33582 = {_T_21505,_T_21503}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@141667.4]
+  assign _T_33609 = {_T_21507,_T_33582}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@141694.4]
+  assign _T_33636 = {_T_21509,_T_33609}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@141721.4]
+  assign _T_33688 = {_T_21945,_T_21943}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@141773.4]
+  assign _T_33715 = {_T_21947,_T_33688}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@141800.4]
+  assign _T_33742 = {_T_21949,_T_33715}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@141827.4]
+  assign _T_60032 = _T_60333[211]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@168305.4]
+  assign _T_65712 = _T_71634 & _T_60032; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@175989.4]
+  assign _T_65713 = _T_65712 & _T_23089; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@175990.4]
+  assign _T_33757 = _T_65713 & _T_28449; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@141842.4]
+  assign _T_33782 = _T_65713 & _T_28474; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@141870.4]
+  assign _T_33809 = _T_65713 & _T_28501; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@141900.4]
+  assign _T_33836 = _T_65713 & _T_28528; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@141930.4]
+  assign _T_33900 = {_T_22817,_T_22815}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@141997.4]
+  assign _T_33927 = {_T_22819,_T_33900}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@142024.4]
+  assign _T_33954 = {_T_22821,_T_33927}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@142051.4]
+  assign _T_34112 = {_T_21721,_T_21719}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@142209.4]
+  assign _T_34139 = {_T_21723,_T_34112}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@142236.4]
+  assign _T_34166 = {_T_21725,_T_34139}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@142263.4]
+  assign _T_34218 = {_T_21761,_T_21759}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@142315.4]
+  assign _T_34245 = {_T_21763,_T_34218}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@142342.4]
+  assign _T_34272 = {_T_21765,_T_34245}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@142369.4]
+  assign _T_34324 = {_T_22777,_T_22775}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@142421.4]
+  assign _T_34351 = {_T_22779,_T_34324}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@142448.4]
+  assign _T_34378 = {_T_22781,_T_34351}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@142475.4]
+  assign _T_34430 = {_T_22113,_T_22111}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@142527.4]
+  assign _T_34457 = {_T_22115,_T_34430}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@142554.4]
+  assign _T_34484 = {_T_22117,_T_34457}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@142581.4]
+  assign _T_34536 = {_T_21177,_T_21175}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@142633.4]
+  assign _T_34563 = {_T_21179,_T_34536}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@142660.4]
+  assign _T_34590 = {_T_21181,_T_34563}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@142687.4]
+  assign _T_60042 = _T_60333[221]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@168315.4]
+  assign _T_65772 = _T_71634 & _T_60042; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@176099.4]
+  assign _T_65773 = _T_65772 & _T_23089; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@176100.4]
+  assign _T_34605 = _T_65773 & _T_28449; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@142702.4]
+  assign _T_34630 = _T_65773 & _T_28474; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@142730.4]
+  assign _T_34657 = _T_65773 & _T_28501; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@142760.4]
+  assign _T_34684 = _T_65773 & _T_28528; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@142790.4]
+  assign _T_34748 = {_T_21281,_T_21279}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@142857.4]
+  assign _T_34775 = {_T_21283,_T_34748}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@142884.4]
+  assign _T_34802 = {_T_21285,_T_34775}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@142911.4]
+  assign _T_34854 = {_T_22561,_T_22559}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@142963.4]
+  assign _T_34881 = {_T_22563,_T_34854}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@142990.4]
+  assign _T_34908 = {_T_22565,_T_34881}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143017.4]
+  assign _T_34960 = {_T_22105,_T_22103}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143069.4]
+  assign _T_34987 = {_T_22107,_T_34960}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143096.4]
+  assign _T_35014 = {_T_22109,_T_34987}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143123.4]
+  assign _T_35066 = {_T_22225,_T_22223}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143175.4]
+  assign _T_35093 = {_T_22227,_T_35066}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143202.4]
+  assign _T_35120 = {_T_22229,_T_35093}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143229.4]
+  assign _T_35172 = {_T_22361,_T_22359}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143281.4]
+  assign _T_35199 = {_T_22363,_T_35172}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143308.4]
+  assign _T_35226 = {_T_22365,_T_35199}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143335.4]
+  assign _T_35278 = {_T_21057,_T_21055}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143387.4]
+  assign _T_35305 = {_T_21059,_T_35278}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143414.4]
+  assign _T_35332 = {_T_21061,_T_35305}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143441.4]
+  assign _T_35384 = {_T_22993,_T_22991}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143493.4]
+  assign _T_35411 = {_T_22995,_T_35384}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143520.4]
+  assign _T_35438 = {_T_22997,_T_35411}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143547.4]
+  assign _T_35596 = {_T_21433,_T_21431}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143705.4]
+  assign _T_35623 = {_T_21435,_T_35596}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143732.4]
+  assign _T_35650 = {_T_21437,_T_35623}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143759.4]
+  assign _T_35727 = {_T_21393,_T_21391}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143836.4]
+  assign _T_35754 = {_T_21395,_T_35727}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143863.4]
+  assign _T_35781 = {_T_21397,_T_35754}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143890.4]
+  assign _T_35833 = {_T_21273,_T_21271}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143942.4]
+  assign _T_35860 = {_T_21275,_T_35833}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143969.4]
+  assign _T_35887 = {_T_21277,_T_35860}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143996.4]
+  assign _T_35939 = {_T_22553,_T_22551}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@144048.4]
+  assign _T_35966 = {_T_22555,_T_35939}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@144075.4]
+  assign _T_35993 = {_T_22557,_T_35966}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@144102.4]
+  assign _T_36045 = {_T_21977,_T_21975}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@144154.4]
+  assign _T_36072 = {_T_21979,_T_36045}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@144181.4]
+  assign _T_36099 = {_T_21981,_T_36072}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@144208.4]
+  assign _T_36257 = {_T_22449,_T_22447}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@144366.4]
+  assign _T_36284 = {_T_22451,_T_36257}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@144393.4]
+  assign _T_36311 = {_T_22453,_T_36284}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@144420.4]
+  assign _T_36363 = {_T_21097,_T_21095}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@144472.4]
+  assign _T_36390 = {_T_21099,_T_36363}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@144499.4]
+  assign _T_36417 = {_T_21101,_T_36390}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@144526.4]
+  assign _T_36575 = {_T_21985,_T_21983}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@144684.4]
+  assign _T_36602 = {_T_21987,_T_36575}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@144711.4]
+  assign _T_36629 = {_T_21989,_T_36602}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@144738.4]
+  assign _T_60041 = _T_60333[220]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@168314.4]
+  assign _T_65766 = _T_71634 & _T_60041; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@176088.4]
+  assign _T_65767 = _T_65766 & _T_23089; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@176089.4]
+  assign _T_36644 = _T_65767 & _T_28449; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@144753.4]
+  assign _T_36669 = _T_65767 & _T_28474; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@144781.4]
+  assign _T_36696 = _T_65767 & _T_28501; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@144811.4]
+  assign _T_36723 = _T_65767 & _T_28528; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@144841.4]
+  assign _T_36787 = {_T_21865,_T_21863}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@144908.4]
+  assign _T_36814 = {_T_21867,_T_36787}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@144935.4]
+  assign _T_36841 = {_T_21869,_T_36814}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@144962.4]
+  assign _T_36893 = {_T_21609,_T_21607}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145014.4]
+  assign _T_36920 = {_T_21611,_T_36893}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145041.4]
+  assign _T_36947 = {_T_21613,_T_36920}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145068.4]
+  assign _T_36999 = {_T_21353,_T_21351}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145120.4]
+  assign _T_37026 = {_T_21355,_T_36999}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145147.4]
+  assign _T_37053 = {_T_21357,_T_37026}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145174.4]
+  assign _T_37105 = {_T_21017,_T_21015}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145226.4]
+  assign _T_37132 = {_T_21019,_T_37105}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145253.4]
+  assign _T_37159 = {_T_21021,_T_37132}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145280.4]
+  assign _T_37211 = {_T_21729,_T_21727}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145332.4]
+  assign _T_37238 = {_T_21731,_T_37211}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145359.4]
+  assign _T_37265 = {_T_21733,_T_37238}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145386.4]
+  assign _T_37317 = {_T_22073,_T_22071}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145438.4]
+  assign _T_37344 = {_T_22075,_T_37317}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145465.4]
+  assign _T_37371 = {_T_22077,_T_37344}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145492.4]
+  assign _T_37423 = {_T_21313,_T_21311}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145544.4]
+  assign _T_37450 = {_T_21315,_T_37423}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145571.4]
+  assign _T_37477 = {_T_21317,_T_37450}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145598.4]
+  assign _T_37529 = {_T_22329,_T_22327}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145650.4]
+  assign _T_37556 = {_T_22331,_T_37529}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145677.4]
+  assign _T_37583 = {_T_22333,_T_37556}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145704.4]
+  assign _T_37660 = {_T_22193,_T_22191}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145781.4]
+  assign _T_37687 = {_T_22195,_T_37660}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145808.4]
+  assign _T_37714 = {_T_22197,_T_37687}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145835.4]
+  assign _T_37766 = {_T_22369,_T_22367}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145887.4]
+  assign _T_37793 = {_T_22371,_T_37766}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145914.4]
+  assign _T_37820 = {_T_22373,_T_37793}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145941.4]
+  assign _T_37872 = {_T_21137,_T_21135}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145993.4]
+  assign _T_37899 = {_T_21139,_T_37872}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146020.4]
+  assign _T_37926 = {_T_21141,_T_37899}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146047.4]
+  assign _T_37978 = {_T_22673,_T_22671}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146099.4]
+  assign _T_38005 = {_T_22675,_T_37978}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146126.4]
+  assign _T_38032 = {_T_22677,_T_38005}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146153.4]
+  assign _T_38084 = {_T_22809,_T_22807}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146205.4]
+  assign _T_38111 = {_T_22811,_T_38084}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146232.4]
+  assign _T_38138 = {_T_22813,_T_38111}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146259.4]
+  assign _T_38190 = {_T_21825,_T_21823}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146311.4]
+  assign _T_38217 = {_T_21827,_T_38190}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146338.4]
+  assign _T_38244 = {_T_21829,_T_38217}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146365.4]
+  assign _T_38321 = {_T_22417,_T_22415}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146444.4]
+  assign _T_38348 = {_T_22419,_T_38321}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146471.4]
+  assign _T_38375 = {_T_22421,_T_38348}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146498.4]
+  assign _T_38427 = {_T_21569,_T_21567}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146550.4]
+  assign _T_38454 = {_T_21571,_T_38427}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146577.4]
+  assign _T_38481 = {_T_21573,_T_38454}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146604.4]
+  assign _T_38639 = {_T_22625,_T_22623}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146762.4]
+  assign _T_38666 = {_T_22627,_T_38639}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146789.4]
+  assign _T_38693 = {_T_22629,_T_38666}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146816.4]
+  assign _T_38745 = {_T_22881,_T_22879}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146868.4]
+  assign _T_38772 = {_T_22883,_T_38745}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146895.4]
+  assign _T_38799 = {_T_22885,_T_38772}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146922.4]
+  assign _T_38851 = {_T_22585,_T_22583}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146974.4]
+  assign _T_38878 = {_T_22587,_T_38851}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147001.4]
+  assign _T_38905 = {_T_22589,_T_38878}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147028.4]
+  assign _T_38957 = {_T_21529,_T_21527}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147080.4]
+  assign _T_38984 = {_T_21531,_T_38957}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147107.4]
+  assign _T_39011 = {_T_21533,_T_38984}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147134.4]
+  assign _T_39063 = {_T_21217,_T_21215}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147186.4]
+  assign _T_39090 = {_T_21219,_T_39063}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147213.4]
+  assign _T_39117 = {_T_21221,_T_39090}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147240.4]
+  assign _T_60045 = _T_60333[224]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@168318.4]
+  assign _T_65790 = _T_71634 & _T_60045; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@176132.4]
+  assign _T_65791 = _T_65790 & _T_23089; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@176133.4]
+  assign _T_39132 = _T_65791 & _T_28449; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@147255.4]
+  assign _T_39157 = _T_65791 & _T_28474; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@147283.4]
+  assign _T_39184 = _T_65791 & _T_28501; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@147313.4]
+  assign _T_39211 = _T_65791 & _T_28528; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@147343.4]
+  assign _T_39381 = {_T_21473,_T_21471}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147516.4]
+  assign _T_39408 = {_T_21475,_T_39381}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147543.4]
+  assign _T_39435 = {_T_21477,_T_39408}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147570.4]
+  assign _T_39487 = {_T_22161,_T_22159}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147622.4]
+  assign _T_39514 = {_T_22163,_T_39487}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147649.4]
+  assign _T_39541 = {_T_22165,_T_39514}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147676.4]
+  assign _T_39593 = {_T_22041,_T_22039}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147728.4]
+  assign _T_39620 = {_T_22043,_T_39593}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147755.4]
+  assign _T_39647 = {_T_22045,_T_39620}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147782.4]
+  assign _T_39699 = {_T_21785,_T_21783}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147834.4]
+  assign _T_39726 = {_T_21787,_T_39699}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147861.4]
+  assign _T_39753 = {_T_21789,_T_39726}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147888.4]
+  assign _T_39805 = {_T_22297,_T_22295}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147940.4]
+  assign _T_39832 = {_T_22299,_T_39805}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147967.4]
+  assign _T_39859 = {_T_22301,_T_39832}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147994.4]
+  assign _T_39911 = {_T_22929,_T_22927}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148046.4]
+  assign _T_39938 = {_T_22931,_T_39911}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148073.4]
+  assign _T_39965 = {_T_22933,_T_39938}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148100.4]
+  assign _T_40017 = {_T_21561,_T_21559}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148152.4]
+  assign _T_40044 = {_T_21563,_T_40017}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148179.4]
+  assign _T_40071 = {_T_21565,_T_40044}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148206.4]
+  assign _T_40123 = {_T_22705,_T_22703}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148258.4]
+  assign _T_40150 = {_T_22707,_T_40123}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148285.4]
+  assign _T_40177 = {_T_22709,_T_40150}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148312.4]
+  assign _T_40229 = {_T_20985,_T_20983}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148364.4]
+  assign _T_40256 = {_T_20987,_T_40229}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148391.4]
+  assign _T_40283 = {_T_20989,_T_40256}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148418.4]
+  assign _T_40335 = {_T_22841,_T_22839}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148470.4]
+  assign _T_40362 = {_T_22843,_T_40335}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148497.4]
+  assign _T_40389 = {_T_22845,_T_40362}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148524.4]
+  assign _T_40441 = {_T_21649,_T_21647}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148576.4]
+  assign _T_40468 = {_T_21651,_T_40441}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148603.4]
+  assign _T_40495 = {_T_21653,_T_40468}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148630.4]
+  assign _T_40547 = {_T_22745,_T_22743}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148682.4]
+  assign _T_40574 = {_T_22747,_T_40547}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148709.4]
+  assign _T_40601 = {_T_22749,_T_40574}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148736.4]
+  assign _T_40759 = {_T_22849,_T_22847}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148894.4]
+  assign _T_40786 = {_T_22851,_T_40759}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148921.4]
+  assign _T_40813 = {_T_22853,_T_40786}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148948.4]
+  assign _T_60033 = _T_60333[212]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@168306.4]
+  assign _T_65718 = _T_71634 & _T_60033; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@176000.4]
+  assign _T_65719 = _T_65718 & _T_23089; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@176001.4]
+  assign _T_40828 = _T_65719 & _T_28449; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@148963.4]
+  assign _T_40853 = _T_65719 & _T_28474; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@148991.4]
+  assign _T_40880 = _T_65719 & _T_28501; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@149021.4]
+  assign _T_40907 = _T_65719 & _T_28528; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@149051.4]
+  assign _T_40971 = {_T_22081,_T_22079}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149118.4]
+  assign _T_40998 = {_T_22083,_T_40971}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149145.4]
+  assign _T_41025 = {_T_22085,_T_40998}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149172.4]
+  assign _T_41183 = {_T_22593,_T_22591}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149330.4]
+  assign _T_41210 = {_T_22595,_T_41183}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149357.4]
+  assign _T_41237 = {_T_22597,_T_41210}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149384.4]
+  assign _T_41289 = {_T_21905,_T_21903}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149436.4]
+  assign _T_41316 = {_T_21907,_T_41289}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149463.4]
+  assign _T_41343 = {_T_21909,_T_41316}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149490.4]
+  assign _T_41395 = {_T_22961,_T_22959}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149542.4]
+  assign _T_41422 = {_T_22963,_T_41395}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149569.4]
+  assign _T_41449 = {_T_22965,_T_41422}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149596.4]
+  assign _T_41501 = {_T_21681,_T_21679}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149648.4]
+  assign _T_41528 = {_T_21683,_T_41501}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149675.4]
+  assign _T_41555 = {_T_21685,_T_41528}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149702.4]
+  assign _T_41607 = {_T_21065,_T_21063}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149754.4]
+  assign _T_41634 = {_T_21067,_T_41607}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149781.4]
+  assign _T_41661 = {_T_21069,_T_41634}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149808.4]
+  assign _T_41713 = {_T_21817,_T_21815}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149860.4]
+  assign _T_41740 = {_T_21819,_T_41713}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149887.4]
+  assign _T_41767 = {_T_21821,_T_41740}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149914.4]
+  assign _T_41819 = {_T_23001,_T_22999}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149966.4]
+  assign _T_41846 = {_T_23003,_T_41819}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149993.4]
+  assign _T_41873 = {_T_23005,_T_41846}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150020.4]
+  assign _T_41925 = {_T_21425,_T_21423}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150072.4]
+  assign _T_41952 = {_T_21427,_T_41925}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150099.4]
+  assign _T_41979 = {_T_21429,_T_41952}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150126.4]
+  assign _T_42031 = {_T_22121,_T_22119}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150178.4]
+  assign _T_42058 = {_T_22123,_T_42031}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150205.4]
+  assign _T_42085 = {_T_22125,_T_42058}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150232.4]
+  assign _T_42243 = {_T_21321,_T_21319}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150390.4]
+  assign _T_42270 = {_T_21323,_T_42243}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150417.4]
+  assign _T_42297 = {_T_21325,_T_42270}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150444.4]
+  assign _T_42349 = {_T_22233,_T_22231}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150496.4]
+  assign _T_42376 = {_T_22235,_T_42349}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150523.4]
+  assign _T_42403 = {_T_22237,_T_42376}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150550.4]
+  assign _T_42455 = {_T_22337,_T_22335}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150602.4]
+  assign _T_42482 = {_T_22339,_T_42455}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150629.4]
+  assign _T_42509 = {_T_22341,_T_42482}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150656.4]
+  assign _T_42667 = {_T_22377,_T_22375}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150814.4]
+  assign _T_42694 = {_T_22379,_T_42667}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150841.4]
+  assign _T_42721 = {_T_22381,_T_42694}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150868.4]
+  assign _T_42773 = {_T_21049,_T_21047}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150920.4]
+  assign _T_42800 = {_T_21051,_T_42773}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150947.4]
+  assign _T_42827 = {_T_21053,_T_42800}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150974.4]
+  assign _T_42879 = {_T_21169,_T_21167}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151026.4]
+  assign _T_42906 = {_T_21171,_T_42879}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151053.4]
+  assign _T_42933 = {_T_21173,_T_42906}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151080.4]
+  assign _T_43010 = {_T_21305,_T_21303}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151159.4]
+  assign _T_43037 = {_T_21307,_T_43010}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151186.4]
+  assign _T_43064 = {_T_21309,_T_43037}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151213.4]
+  assign _T_43116 = {_T_22489,_T_22487}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151265.4]
+  assign _T_43143 = {_T_22491,_T_43116}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151292.4]
+  assign _T_43170 = {_T_22493,_T_43143}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151319.4]
+  assign _T_43222 = {_T_21937,_T_21935}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151371.4]
+  assign _T_43249 = {_T_21939,_T_43222}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151398.4]
+  assign _T_43276 = {_T_21941,_T_43249}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151425.4]
+  assign _T_43328 = {_T_22321,_T_22319}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151477.4]
+  assign _T_43355 = {_T_22323,_T_43328}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151504.4]
+  assign _T_43382 = {_T_22325,_T_43355}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151531.4]
+  assign _T_43434 = {_T_22153,_T_22151}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151583.4]
+  assign _T_43461 = {_T_22155,_T_43434}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151610.4]
+  assign _T_43488 = {_T_22157,_T_43461}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151637.4]
+  assign _T_43540 = {_T_21225,_T_21223}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151689.4]
+  assign _T_43567 = {_T_21227,_T_43540}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151716.4]
+  assign _T_43594 = {_T_21229,_T_43567}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151743.4]
+  assign _T_43646 = {_T_21265,_T_21263}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151795.4]
+  assign _T_43673 = {_T_21267,_T_43646}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151822.4]
+  assign _T_43700 = {_T_21269,_T_43673}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151849.4]
+  assign _T_43752 = {_T_21185,_T_21183}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151901.4]
+  assign _T_43779 = {_T_21187,_T_43752}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151928.4]
+  assign _T_43806 = {_T_21189,_T_43779}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151955.4]
+  assign _T_43858 = {_T_21009,_T_21007}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152007.4]
+  assign _T_43885 = {_T_21011,_T_43858}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152034.4]
+  assign _T_43912 = {_T_21013,_T_43885}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152061.4]
+  assign _T_43964 = {_T_22241,_T_22239}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152113.4]
+  assign _T_43991 = {_T_22243,_T_43964}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152140.4]
+  assign _T_44018 = {_T_22245,_T_43991}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152167.4]
+  assign _T_44070 = {_T_22065,_T_22063}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152219.4]
+  assign _T_44097 = {_T_22067,_T_44070}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152246.4]
+  assign _T_44124 = {_T_22069,_T_44097}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152273.4]
+  assign _T_44176 = {_T_22497,_T_22495}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152325.4]
+  assign _T_44203 = {_T_22499,_T_44176}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152352.4]
+  assign _T_44230 = {_T_22501,_T_44203}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152379.4]
+  assign _T_44282 = {_T_21993,_T_21991}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152431.4]
+  assign _T_44309 = {_T_21995,_T_44282}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152458.4]
+  assign _T_44336 = {_T_21997,_T_44309}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152485.4]
+  assign _T_44388 = {_T_21441,_T_21439}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152537.4]
+  assign _T_44415 = {_T_21443,_T_44388}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152564.4]
+  assign _T_44442 = {_T_21445,_T_44415}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152591.4]
+  assign _T_44494 = {_T_22921,_T_22919}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152643.4]
+  assign _T_44521 = {_T_22923,_T_44494}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152670.4]
+  assign _T_44548 = {_T_22925,_T_44521}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152697.4]
+  assign _T_44600 = {_T_22665,_T_22663}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152749.4]
+  assign _T_44627 = {_T_22667,_T_44600}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152776.4]
+  assign _T_44654 = {_T_22669,_T_44627}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152803.4]
+  assign _T_44706 = {_T_21617,_T_21615}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152855.4]
+  assign _T_44733 = {_T_21619,_T_44706}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152882.4]
+  assign _T_44760 = {_T_21621,_T_44733}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152909.4]
+  assign _T_44812 = {_T_21737,_T_21735}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152961.4]
+  assign _T_44839 = {_T_21739,_T_44812}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152988.4]
+  assign _T_44866 = {_T_21741,_T_44839}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153015.4]
+  assign _T_44918 = {_T_22185,_T_22183}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153067.4]
+  assign _T_44945 = {_T_22187,_T_44918}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153094.4]
+  assign _T_44972 = {_T_22189,_T_44945}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153121.4]
+  assign _T_60040 = _T_60333[219]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@168313.4]
+  assign _T_65760 = _T_71634 & _T_60040; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@176077.4]
+  assign _T_65761 = _T_65760 & _T_23089; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@176078.4]
+  assign _T_44987 = _T_65761 & _T_28449; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@153136.4]
+  assign _T_45012 = _T_65761 & _T_28474; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@153164.4]
+  assign _T_45039 = _T_65761 & _T_28501; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@153194.4]
+  assign _T_45066 = _T_65761 & _T_28528; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@153224.4]
+  assign _T_45130 = {_T_21129,_T_21127}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153291.4]
+  assign _T_45157 = {_T_21131,_T_45130}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153318.4]
+  assign _T_45184 = {_T_21133,_T_45157}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153345.4]
+  assign _T_45236 = {_T_22289,_T_22287}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153397.4]
+  assign _T_45263 = {_T_22291,_T_45236}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153424.4]
+  assign _T_45290 = {_T_22293,_T_45263}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153451.4]
+  assign _T_45342 = {_T_21953,_T_21951}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153503.4]
+  assign _T_45369 = {_T_21955,_T_45342}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153530.4]
+  assign _T_45396 = {_T_21957,_T_45369}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153557.4]
+  assign _T_45448 = {_T_21833,_T_21831}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153609.4]
+  assign _T_45475 = {_T_21835,_T_45448}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153636.4]
+  assign _T_45502 = {_T_21837,_T_45475}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153663.4]
+  assign _T_45554 = {_T_22545,_T_22543}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153715.4]
+  assign _T_45581 = {_T_22547,_T_45554}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153742.4]
+  assign _T_45608 = {_T_22549,_T_45581}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153769.4]
+  assign _T_45660 = {_T_21481,_T_21479}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153821.4]
+  assign _T_45687 = {_T_21483,_T_45660}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153848.4]
+  assign _T_45714 = {_T_21485,_T_45687}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153875.4]
+  assign _T_45766 = {_T_23009,_T_23007}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153927.4]
+  assign _T_45793 = {_T_23011,_T_45766}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153954.4]
+  assign _T_45820 = {_T_23013,_T_45793}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153981.4]
+  assign _T_45872 = {_T_22409,_T_22407}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154033.4]
+  assign _T_45899 = {_T_22411,_T_45872}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154060.4]
+  assign _T_45926 = {_T_22413,_T_45899}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154087.4]
+  assign _T_45978 = {_T_21361,_T_21359}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154139.4]
+  assign _T_46005 = {_T_21363,_T_45978}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154166.4]
+  assign _T_46032 = {_T_21365,_T_46005}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154193.4]
+  assign _T_46084 = {_T_21105,_T_21103}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154245.4]
+  assign _T_46111 = {_T_21107,_T_46084}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154272.4]
+  assign _T_46138 = {_T_21109,_T_46111}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154299.4]
+  assign _T_60029 = _T_60333[208]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@168302.4]
+  assign _T_65694 = _T_71634 & _T_60029; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@175956.4]
+  assign _T_65695 = _T_65694 & _T_23089; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@175957.4]
+  assign _T_46153 = _T_65695 & _T_28449; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@154314.4]
+  assign _T_46178 = _T_65695 & _T_28474; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@154342.4]
+  assign _T_46205 = _T_65695 & _T_28501; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@154372.4]
+  assign _T_46232 = _T_65695 & _T_28528; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@154402.4]
+  assign _T_46296 = {_T_22753,_T_22751}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154469.4]
+  assign _T_46323 = {_T_22755,_T_46296}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154496.4]
+  assign _T_46350 = {_T_22757,_T_46323}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154523.4]
+  assign _T_46402 = {_T_22033,_T_22031}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154575.4]
+  assign _T_46429 = {_T_22035,_T_46402}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154602.4]
+  assign _T_46456 = {_T_22037,_T_46429}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154629.4]
+  assign _T_46508 = {_T_22889,_T_22887}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154681.4]
+  assign _T_46535 = {_T_22891,_T_46508}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154708.4]
+  assign _T_46562 = {_T_22893,_T_46535}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154735.4]
+  assign _T_46614 = {_T_21697,_T_21695}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154787.4]
+  assign _T_46641 = {_T_21699,_T_46614}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154814.4]
+  assign _T_46668 = {_T_21701,_T_46641}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154841.4]
+  assign _T_46720 = {_T_21873,_T_21871}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154893.4]
+  assign _T_46747 = {_T_21875,_T_46720}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154920.4]
+  assign _T_46774 = {_T_21877,_T_46747}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154947.4]
+  assign _T_46826 = {_T_21521,_T_21519}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154999.4]
+  assign _T_46853 = {_T_21523,_T_46826}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@155026.4]
+  assign _T_46880 = {_T_21525,_T_46853}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@155053.4]
+  assign _T_60034 = _T_60333[213]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@168307.4]
+  assign _T_65724 = _T_71634 & _T_60034; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@176011.4]
+  assign _T_65725 = _T_65724 & _T_23089; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@176012.4]
+  assign _T_46895 = _T_65725 & _T_28449; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@155068.4]
+  assign _T_46920 = _T_65725 & _T_28474; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@155096.4]
+  assign _T_46947 = _T_65725 & _T_28501; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@155126.4]
+  assign _T_46974 = _T_65725 & _T_28528; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@155156.4]
+  assign _T_47038 = {_T_22801,_T_22799}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@155223.4]
+  assign _T_47065 = {_T_22803,_T_47038}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@155250.4]
+  assign _T_47092 = {_T_22805,_T_47065}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@155277.4]
+  assign _T_47275 = {_T_21577,_T_21575}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@155462.4]
+  assign _T_47302 = {_T_21579,_T_47275}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@155489.4]
+  assign _T_47329 = {_T_21581,_T_47302}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@155516.4]
+  assign _T_47381 = {_T_22633,_T_22631}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@155568.4]
+  assign _T_47408 = {_T_22635,_T_47381}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@155595.4]
+  assign _T_47435 = {_T_22637,_T_47408}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@155622.4]
+  assign _T_47593 = {_T_22129,_T_22127}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@155780.4]
+  assign _T_47620 = {_T_22131,_T_47593}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@155807.4]
+  assign _T_47647 = {_T_22133,_T_47620}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@155834.4]
+  assign _T_47699 = {_T_21161,_T_21159}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@155886.4]
+  assign _T_47726 = {_T_21163,_T_47699}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@155913.4]
+  assign _T_47753 = {_T_21165,_T_47726}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@155940.4]
+  assign _T_47805 = {_T_22577,_T_22575}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@155992.4]
+  assign _T_47832 = {_T_22579,_T_47805}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156019.4]
+  assign _T_47859 = {_T_22581,_T_47832}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156046.4]
+  assign _T_60044 = _T_60333[223]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@168317.4]
+  assign _T_65784 = _T_71634 & _T_60044; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@176121.4]
+  assign _T_65785 = _T_65784 & _T_23089; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@176122.4]
+  assign _T_47874 = _T_65785 & _T_28449; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@156061.4]
+  assign _T_47899 = _T_65785 & _T_28474; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@156089.4]
+  assign _T_47926 = _T_65785 & _T_28501; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@156119.4]
+  assign _T_47953 = _T_65785 & _T_28528; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@156149.4]
+  assign _T_48017 = {_T_22089,_T_22087}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156216.4]
+  assign _T_48044 = {_T_22091,_T_48017}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156243.4]
+  assign _T_48071 = {_T_22093,_T_48044}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156270.4]
+  assign _T_48123 = {_T_21385,_T_21383}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156322.4]
+  assign _T_48150 = {_T_21387,_T_48123}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156349.4]
+  assign _T_48177 = {_T_21389,_T_48150}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156376.4]
+  assign _T_48229 = {_T_21329,_T_21327}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156428.4]
+  assign _T_48256 = {_T_21331,_T_48229}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156455.4]
+  assign _T_48283 = {_T_21333,_T_48256}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156482.4]
+  assign _T_48335 = {_T_21073,_T_21071}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156534.4]
+  assign _T_48362 = {_T_21075,_T_48335}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156561.4]
+  assign _T_48389 = {_T_21077,_T_48362}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156588.4]
+  assign _T_48441 = {_T_22977,_T_22975}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156640.4]
+  assign _T_48468 = {_T_22979,_T_48441}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156667.4]
+  assign _T_48495 = {_T_22981,_T_48468}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156694.4]
+  assign _T_48547 = {_T_22441,_T_22439}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156746.4]
+  assign _T_48574 = {_T_22443,_T_48547}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156773.4]
+  assign _T_48601 = {_T_22445,_T_48574}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156800.4]
+  assign _T_48653 = {_T_22385,_T_22383}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156852.4]
+  assign _T_48680 = {_T_22387,_T_48653}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156879.4]
+  assign _T_48707 = {_T_22389,_T_48680}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156906.4]
+  assign _T_48759 = {_T_22721,_T_22719}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156958.4]
+  assign _T_48786 = {_T_22723,_T_48759}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156985.4]
+  assign _T_48813 = {_T_22725,_T_48786}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157012.4]
+  assign _T_48865 = {_T_22857,_T_22855}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157064.4]
+  assign _T_48892 = {_T_22859,_T_48865}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157091.4]
+  assign _T_48919 = {_T_22861,_T_48892}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157118.4]
+  assign _T_48971 = {_T_22345,_T_22343}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157170.4]
+  assign _T_48998 = {_T_22347,_T_48971}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157197.4]
+  assign _T_49025 = {_T_22349,_T_48998}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157224.4]
+  assign _T_49183 = {_T_21929,_T_21927}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157382.4]
+  assign _T_49210 = {_T_21931,_T_49183}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157409.4]
+  assign _T_49237 = {_T_21933,_T_49210}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157436.4]
+  assign _T_60030 = _T_60333[209]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@168303.4]
+  assign _T_65700 = _T_71634 & _T_60030; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@175967.4]
+  assign _T_65701 = _T_65700 & _T_23089; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@175968.4]
+  assign _T_49252 = _T_65701 & _T_28449; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@157451.4]
+  assign _T_49277 = _T_65701 & _T_28474; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@157479.4]
+  assign _T_49304 = _T_65701 & _T_28501; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@157509.4]
+  assign _T_49331 = _T_65701 & _T_28528; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@157539.4]
+  assign _T_49395 = {_T_22833,_T_22831}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157606.4]
+  assign _T_49422 = {_T_22835,_T_49395}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157633.4]
+  assign _T_49449 = {_T_22837,_T_49422}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157660.4]
+  assign _T_49607 = {_T_21673,_T_21671}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157818.4]
+  assign _T_49634 = {_T_21675,_T_49607}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157845.4]
+  assign _T_49661 = {_T_21677,_T_49634}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157872.4]
+  assign _T_49713 = {_T_21777,_T_21775}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157924.4]
+  assign _T_49740 = {_T_21779,_T_49713}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157951.4]
+  assign _T_49767 = {_T_21781,_T_49740}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157978.4]
+  assign _T_49819 = {_T_22601,_T_22599}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158030.4]
+  assign _T_49846 = {_T_22603,_T_49819}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158057.4]
+  assign _T_49873 = {_T_22605,_T_49846}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158084.4]
+  assign _T_50031 = {_T_21297,_T_21295}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158242.4]
+  assign _T_50058 = {_T_21299,_T_50031}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158269.4]
+  assign _T_50085 = {_T_21301,_T_50058}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158296.4]
+  assign _T_50137 = {_T_21193,_T_21191}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158348.4]
+  assign _T_50164 = {_T_21195,_T_50137}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158375.4]
+  assign _T_50191 = {_T_21197,_T_50164}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158402.4]
+  assign _T_50243 = {_T_22249,_T_22247}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158454.4]
+  assign _T_50270 = {_T_22251,_T_50243}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158481.4]
+  assign _T_50297 = {_T_22253,_T_50270}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158508.4]
+  assign _T_50349 = {_T_21553,_T_21551}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158560.4]
+  assign _T_50376 = {_T_21555,_T_50349}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158587.4]
+  assign _T_50403 = {_T_21557,_T_50376}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158614.4]
+  assign _T_50455 = {_T_22209,_T_22207}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158666.4]
+  assign _T_50482 = {_T_22211,_T_50455}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158693.4]
+  assign _T_50509 = {_T_22213,_T_50482}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158720.4]
+  assign _T_50561 = {_T_21041,_T_21039}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158772.4]
+  assign _T_50588 = {_T_21043,_T_50561}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158799.4]
+  assign _T_50615 = {_T_21045,_T_50588}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158826.4]
+  assign _T_50667 = {_T_21417,_T_21415}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158878.4]
+  assign _T_50694 = {_T_21419,_T_50667}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158905.4]
+  assign _T_50721 = {_T_21421,_T_50694}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158932.4]
+  assign _T_50798 = {_T_21585,_T_21583}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159011.4]
+  assign _T_50825 = {_T_21587,_T_50798}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159038.4]
+  assign _T_50852 = {_T_21589,_T_50825}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159065.4]
+  assign _T_50904 = {_T_22465,_T_22463}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159117.4]
+  assign _T_50931 = {_T_22467,_T_50904}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159144.4]
+  assign _T_50958 = {_T_22469,_T_50931}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159171.4]
+  assign _T_51010 = {_T_21897,_T_21895}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159223.4]
+  assign _T_51037 = {_T_21899,_T_51010}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159250.4]
+  assign _T_51064 = {_T_21901,_T_51037}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159277.4]
+  assign _T_51116 = {_T_22953,_T_22951}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159329.4]
+  assign _T_51143 = {_T_22955,_T_51116}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159356.4]
+  assign _T_51170 = {_T_22957,_T_51143}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159383.4]
+  assign _T_51222 = {_T_22641,_T_22639}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159435.4]
+  assign _T_51249 = {_T_22643,_T_51222}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159462.4]
+  assign _T_51276 = {_T_22645,_T_51249}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159489.4]
+  assign _T_51328 = {_T_21641,_T_21639}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159541.4]
+  assign _T_51355 = {_T_21643,_T_51328}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159568.4]
+  assign _T_51382 = {_T_21645,_T_51355}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159595.4]
+  assign _T_51434 = {_T_22697,_T_22695}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159647.4]
+  assign _T_51461 = {_T_22699,_T_51434}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159674.4]
+  assign _T_51488 = {_T_22701,_T_51461}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159701.4]
+  assign _T_51540 = {_T_21809,_T_21807}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159753.4]
+  assign _T_51567 = {_T_21811,_T_51540}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159780.4]
+  assign _T_51594 = {_T_21813,_T_51567}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159807.4]
+  assign _T_51646 = {_T_21625,_T_21623}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159859.4]
+  assign _T_51673 = {_T_21627,_T_51646}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159886.4]
+  assign _T_51700 = {_T_21629,_T_51673}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159913.4]
+  assign _T_51752 = {_T_22025,_T_22023}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159965.4]
+  assign _T_51779 = {_T_22027,_T_51752}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159992.4]
+  assign _T_51806 = {_T_22029,_T_51779}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160019.4]
+  assign _T_51858 = {_T_21449,_T_21447}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160071.4]
+  assign _T_51885 = {_T_21451,_T_51858}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160098.4]
+  assign _T_51912 = {_T_21453,_T_51885}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160125.4]
+  assign _T_51964 = {_T_22505,_T_22503}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160177.4]
+  assign _T_51991 = {_T_22507,_T_51964}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160204.4]
+  assign _T_52018 = {_T_22509,_T_51991}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160231.4]
+  assign _T_52070 = {_T_22913,_T_22911}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160283.4]
+  assign _T_52097 = {_T_22915,_T_52070}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160310.4]
+  assign _T_52124 = {_T_22917,_T_52097}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160337.4]
+  assign _T_52176 = {_T_22657,_T_22655}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160389.4]
+  assign _T_52203 = {_T_22659,_T_52176}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160416.4]
+  assign _T_52230 = {_T_22661,_T_52203}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160443.4]
+  assign _T_52282 = {_T_22537,_T_22535}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160495.4]
+  assign _T_52309 = {_T_22539,_T_52282}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160522.4]
+  assign _T_52336 = {_T_22541,_T_52309}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160549.4]
+  assign _T_52388 = {_T_21841,_T_21839}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160601.4]
+  assign _T_52415 = {_T_21843,_T_52388}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160628.4]
+  assign _T_52442 = {_T_21845,_T_52415}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160655.4]
+  assign _T_52494 = {_T_22793,_T_22791}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160707.4]
+  assign _T_52521 = {_T_22795,_T_52494}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160734.4]
+  assign _T_52548 = {_T_22797,_T_52521}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160761.4]
+  assign _T_52706 = {_T_22897,_T_22895}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160919.4]
+  assign _T_52733 = {_T_22899,_T_52706}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160946.4]
+  assign _T_52760 = {_T_22901,_T_52733}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160973.4]
+  assign _T_60039 = _T_60333[218]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@168312.4]
+  assign _T_65754 = _T_71634 & _T_60039; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@176066.4]
+  assign _T_65755 = _T_65754 & _T_23089; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@176067.4]
+  assign _T_52775 = _T_65755 & _T_28449; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@160988.4]
+  assign _T_52800 = _T_65755 & _T_28474; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@161016.4]
+  assign _T_52827 = _T_65755 & _T_28501; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@161046.4]
+  assign _T_52854 = _T_65755 & _T_28528; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@161076.4]
+  assign _T_52918 = {_T_21881,_T_21879}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161143.4]
+  assign _T_52945 = {_T_21883,_T_52918}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161170.4]
+  assign _T_52972 = {_T_21885,_T_52945}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161197.4]
+  assign _T_53130 = {_T_21489,_T_21487}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161355.4]
+  assign _T_53157 = {_T_21491,_T_53130}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161382.4]
+  assign _T_53184 = {_T_21493,_T_53157}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161409.4]
+  assign _T_53236 = {_T_21369,_T_21367}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161461.4]
+  assign _T_53263 = {_T_21371,_T_53236}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161488.4]
+  assign _T_53290 = {_T_21373,_T_53263}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161515.4]
+  assign _T_53342 = {_T_21001,_T_20999}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161567.4]
+  assign _T_53369 = {_T_21003,_T_53342}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161594.4]
+  assign _T_53396 = {_T_21005,_T_53369}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161621.4]
+  assign _T_53448 = {_T_21745,_T_21743}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161673.4]
+  assign _T_53475 = {_T_21747,_T_53448}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161700.4]
+  assign _T_53502 = {_T_21749,_T_53475}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161727.4]
+  assign _T_53554 = {_T_22057,_T_22055}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161779.4]
+  assign _T_53581 = {_T_22059,_T_53554}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161806.4]
+  assign _T_53608 = {_T_22061,_T_53581}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161833.4]
+  assign _T_53660 = {_T_22145,_T_22143}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161885.4]
+  assign _T_53687 = {_T_22147,_T_53660}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161912.4]
+  assign _T_53714 = {_T_22149,_T_53687}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161939.4]
+  assign _T_53766 = {_T_22281,_T_22279}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161991.4]
+  assign _T_53793 = {_T_22283,_T_53766}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162018.4]
+  assign _T_53820 = {_T_22285,_T_53793}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162045.4]
+  assign _T_53872 = {_T_21257,_T_21255}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162097.4]
+  assign _T_53899 = {_T_21259,_T_53872}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162124.4]
+  assign _T_53926 = {_T_21261,_T_53899}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162151.4]
+  assign _T_53978 = {_T_21961,_T_21959}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162203.4]
+  assign _T_54005 = {_T_21963,_T_53978}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162230.4]
+  assign _T_54032 = {_T_21965,_T_54005}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162257.4]
+  assign _T_54084 = {_T_22401,_T_22399}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162309.4]
+  assign _T_54111 = {_T_22403,_T_54084}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162336.4]
+  assign _T_54138 = {_T_22405,_T_54111}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162363.4]
+  assign _T_54190 = {_T_23017,_T_23015}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162415.4]
+  assign _T_54217 = {_T_23019,_T_54190}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162442.4]
+  assign _T_54244 = {_T_23021,_T_54217}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162469.4]
+  assign _T_54321 = {_T_22761,_T_22759}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162546.4]
+  assign _T_54348 = {_T_22763,_T_54321}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162573.4]
+  assign _T_54375 = {_T_22765,_T_54348}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162600.4]
+  assign _T_54427 = {_T_21113,_T_21111}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162652.4]
+  assign _T_54454 = {_T_21115,_T_54427}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162679.4]
+  assign _T_54481 = {_T_21117,_T_54454}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162706.4]
+  assign _T_54533 = {_T_22001,_T_21999}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162758.4]
+  assign _T_54560 = {_T_22003,_T_54533}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162785.4]
+  assign _T_54587 = {_T_22005,_T_54560}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162812.4]
+  assign _T_54639 = {_T_21705,_T_21703}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162864.4]
+  assign _T_54666 = {_T_21707,_T_54639}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162891.4]
+  assign _T_54693 = {_T_21709,_T_54666}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162918.4]
+  assign _T_60035 = _T_60333[214]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@168308.4]
+  assign _T_65730 = _T_71634 & _T_60035; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@176022.4]
+  assign _T_65731 = _T_65730 & _T_23089; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@176023.4]
+  assign _T_54708 = _T_65731 & _T_28449; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@162933.4]
+  assign _T_54733 = _T_65731 & _T_28474; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@162961.4]
+  assign _T_54760 = _T_65731 & _T_28501; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@162991.4]
+  assign _T_54787 = _T_65731 & _T_28528; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@163021.4]
+  assign _T_54851 = {_T_21233,_T_21231}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163088.4]
+  assign _T_54878 = {_T_21235,_T_54851}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163115.4]
+  assign _T_54905 = {_T_21237,_T_54878}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163142.4]
+  assign _T_54957 = {_T_21337,_T_21335}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163194.4]
+  assign _T_54984 = {_T_21339,_T_54957}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163221.4]
+  assign _T_55011 = {_T_21341,_T_54984}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163248.4]
+  assign _T_55063 = {_T_22513,_T_22511}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163300.4]
+  assign _T_55090 = {_T_22515,_T_55063}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163327.4]
+  assign _T_55117 = {_T_22517,_T_55090}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163354.4]
+  assign _T_55169 = {_T_21457,_T_21455}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163406.4]
+  assign _T_55196 = {_T_21459,_T_55169}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163433.4]
+  assign _T_55223 = {_T_21461,_T_55196}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163460.4]
+  assign _T_55275 = {_T_22393,_T_22391}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163512.4]
+  assign _T_55302 = {_T_22395,_T_55275}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163539.4]
+  assign _T_55329 = {_T_22397,_T_55302}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163566.4]
+  assign _T_55381 = {_T_22217,_T_22215}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163618.4]
+  assign _T_55408 = {_T_22219,_T_55381}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163645.4]
+  assign _T_55435 = {_T_22221,_T_55408}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163672.4]
+  assign _T_55487 = {_T_21033,_T_21031}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163724.4]
+  assign _T_55514 = {_T_21035,_T_55487}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163751.4]
+  assign _T_55541 = {_T_21037,_T_55514}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163778.4]
+  assign _T_55593 = {_T_22177,_T_22175}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163830.4]
+  assign _T_55620 = {_T_22179,_T_55593}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163857.4]
+  assign _T_55647 = {_T_22181,_T_55620}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163884.4]
+  assign _T_55699 = {_T_22313,_T_22311}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163936.4]
+  assign _T_55726 = {_T_22315,_T_55699}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163963.4]
+  assign _T_55753 = {_T_22317,_T_55726}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163990.4]
+  assign _T_55805 = {_T_21121,_T_21119}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164042.4]
+  assign _T_55832 = {_T_21123,_T_55805}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164069.4]
+  assign _T_55859 = {_T_21125,_T_55832}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164096.4]
+  assign _T_55911 = {_T_21921,_T_21919}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164148.4]
+  assign _T_55938 = {_T_21923,_T_55911}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164175.4]
+  assign _T_55965 = {_T_21925,_T_55938}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164202.4]
+  assign _T_56017 = {_T_21377,_T_21375}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164254.4]
+  assign _T_56044 = {_T_21379,_T_56017}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164281.4]
+  assign _T_56071 = {_T_21381,_T_56044}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164308.4]
+  assign _T_60031 = _T_60333[210]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@168304.4]
+  assign _T_65706 = _T_71634 & _T_60031; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@175978.4]
+  assign _T_65707 = _T_65706 & _T_23089; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@175979.4]
+  assign _T_56086 = _T_65707 & _T_28449; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@164323.4]
+  assign _T_56111 = _T_65707 & _T_28474; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@164351.4]
+  assign _T_56138 = _T_65707 & _T_28501; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@164381.4]
+  assign _T_56165 = _T_65707 & _T_28528; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@164411.4]
+  assign _T_56229 = {_T_21545,_T_21543}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164478.4]
+  assign _T_56256 = {_T_21547,_T_56229}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164505.4]
+  assign _T_56283 = {_T_21549,_T_56256}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164532.4]
+  assign _T_56335 = {_T_21289,_T_21287}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164584.4]
+  assign _T_56362 = {_T_21291,_T_56335}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164611.4]
+  assign _T_56389 = {_T_21293,_T_56362}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164638.4]
+  assign _T_56441 = {_T_21665,_T_21663}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164690.4]
+  assign _T_56468 = {_T_21667,_T_56441}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164717.4]
+  assign _T_56495 = {_T_21669,_T_56468}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164744.4]
+  assign _T_56547 = {_T_22985,_T_22983}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164796.4]
+  assign _T_56574 = {_T_22987,_T_56547}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164823.4]
+  assign _T_56601 = {_T_22989,_T_56574}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164850.4]
+  assign _T_56653 = {_T_21081,_T_21079}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164902.4]
+  assign _T_56680 = {_T_21083,_T_56653}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164929.4]
+  assign _T_56707 = {_T_21085,_T_56680}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164956.4]
+  assign _T_56759 = {_T_21801,_T_21799}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165008.4]
+  assign _T_56786 = {_T_21803,_T_56759}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165035.4]
+  assign _T_56813 = {_T_21805,_T_56786}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165062.4]
+  assign _T_56865 = {_T_22433,_T_22431}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165114.4]
+  assign _T_56892 = {_T_22435,_T_56865}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165141.4]
+  assign _T_56919 = {_T_22437,_T_56892}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165168.4]
+  assign _T_56971 = {_T_22729,_T_22727}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165220.4]
+  assign _T_56998 = {_T_22731,_T_56971}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165247.4]
+  assign _T_57025 = {_T_22733,_T_56998}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165274.4]
+  assign _T_57077 = {_T_22137,_T_22135}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165326.4]
+  assign _T_57104 = {_T_22139,_T_57077}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165353.4]
+  assign _T_57131 = {_T_22141,_T_57104}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165380.4]
+  assign _T_57289 = {_T_21201,_T_21199}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165538.4]
+  assign _T_57316 = {_T_21203,_T_57289}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165565.4]
+  assign _T_57343 = {_T_21205,_T_57316}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165592.4]
+  assign _T_57395 = {_T_22257,_T_22255}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165644.4]
+  assign _T_57422 = {_T_22259,_T_57395}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165671.4]
+  assign _T_57449 = {_T_22261,_T_57422}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165698.4]
+  assign _T_57501 = {_T_22097,_T_22095}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165750.4]
+  assign _T_57528 = {_T_22099,_T_57501}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165777.4]
+  assign _T_57555 = {_T_22101,_T_57528}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165804.4]
+  assign _T_57607 = {_T_22649,_T_22647}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165856.4]
+  assign _T_57634 = {_T_22651,_T_57607}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165883.4]
+  assign _T_57661 = {_T_22653,_T_57634}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165910.4]
+  assign _T_57713 = {_T_21593,_T_21591}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165962.4]
+  assign _T_57740 = {_T_21595,_T_57713}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165989.4]
+  assign _T_57767 = {_T_21597,_T_57740}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166016.4]
+  assign _T_57819 = {_T_22353,_T_22351}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166068.4]
+  assign _T_57846 = {_T_22355,_T_57819}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166095.4]
+  assign _T_57873 = {_T_22357,_T_57846}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166122.4]
+  assign _T_58031 = {_T_22609,_T_22607}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166280.4]
+  assign _T_58058 = {_T_22611,_T_58031}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166307.4]
+  assign _T_58085 = {_T_22613,_T_58058}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166334.4]
+  assign _T_58137 = {_T_21153,_T_21151}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166386.4]
+  assign _T_58164 = {_T_21155,_T_58137}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166413.4]
+  assign _T_58191 = {_T_21157,_T_58164}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166440.4]
+  assign _T_58243 = {_T_22473,_T_22471}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166492.4]
+  assign _T_58270 = {_T_22475,_T_58243}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166519.4]
+  assign _T_58297 = {_T_22477,_T_58270}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166546.4]
+  assign _T_58349 = {_T_22945,_T_22943}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166598.4]
+  assign _T_58376 = {_T_22947,_T_58349}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166625.4]
+  assign _T_58403 = {_T_22949,_T_58376}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166652.4]
+  assign _T_58455 = {_T_21889,_T_21887}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166704.4]
+  assign _T_58482 = {_T_21891,_T_58455}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166731.4]
+  assign _T_58509 = {_T_21893,_T_58482}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166758.4]
+  assign _T_58561 = {_T_21513,_T_21511}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166810.4]
+  assign _T_58588 = {_T_21515,_T_58561}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166837.4]
+  assign _T_58615 = {_T_21517,_T_58588}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166864.4]
+  assign _T_58667 = {_T_22825,_T_22823}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166916.4]
+  assign _T_58694 = {_T_22827,_T_58667}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166943.4]
+  assign _T_58721 = {_T_22829,_T_58694}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166970.4]
+  assign _T_58773 = {_T_21633,_T_21631}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167022.4]
+  assign _T_58800 = {_T_21635,_T_58773}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167049.4]
+  assign _T_58827 = {_T_21637,_T_58800}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167076.4]
+  assign _T_58879 = {_T_22689,_T_22687}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167128.4]
+  assign _T_58906 = {_T_22691,_T_58879}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167155.4]
+  assign _T_58933 = {_T_22693,_T_58906}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167182.4]
+  assign _T_58985 = {_T_21769,_T_21767}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167234.4]
+  assign _T_59012 = {_T_21771,_T_58985}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167261.4]
+  assign _T_59039 = {_T_21773,_T_59012}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167288.4]
+  assign _T_59091 = {_T_21409,_T_21407}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167340.4]
+  assign _T_59118 = {_T_21411,_T_59091}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167367.4]
+  assign _T_59145 = {_T_21413,_T_59118}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167394.4]
+  assign _T_60036 = _T_60333[215]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@168309.4]
+  assign _T_65736 = _T_71634 & _T_60036; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@176033.4]
+  assign _T_65737 = _T_65736 & _T_23089; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@176034.4]
+  assign _T_59160 = _T_65737 & _T_28449; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@167409.4]
+  assign _T_59185 = _T_65737 & _T_28474; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@167437.4]
+  assign _T_59212 = _T_65737 & _T_28501; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@167467.4]
+  assign _T_59239 = _T_65737 & _T_28528; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@167497.4]
+  assign _T_59303 = {_T_22865,_T_22863}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167564.4]
+  assign _T_59330 = {_T_22867,_T_59303}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167591.4]
+  assign _T_59357 = {_T_22869,_T_59330}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167618.4]
+  assign _T_60043 = _T_60333[222]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@168316.4]
+  assign _T_65778 = _T_71634 & _T_60043; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@176110.4]
+  assign _T_65779 = _T_65778 & _T_23089; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@176111.4]
+  assign _T_59372 = _T_65779 & _T_28449; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@167633.4]
+  assign _T_59397 = _T_65779 & _T_28474; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@167661.4]
+  assign _T_59424 = _T_65779 & _T_28501; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@167691.4]
+  assign _T_59451 = _T_65779 & _T_28528; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@167721.4]
+  assign _T_59515 = {_T_22905,_T_22903}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167788.4]
+  assign _T_59542 = {_T_22907,_T_59515}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167815.4]
+  assign _T_59569 = {_T_22909,_T_59542}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167842.4]
+  assign _T_59621 = {_T_22569,_T_22567}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167894.4]
+  assign _T_59648 = {_T_22571,_T_59621}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167921.4]
+  assign _T_59675 = {_T_22573,_T_59648}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167948.4]
+  assign _T_59727 = {_T_21849,_T_21847}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@168000.4]
+  assign _T_59754 = {_T_21851,_T_59727}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@168027.4]
+  assign _T_59781 = {_T_21853,_T_59754}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@168054.4]
+  assign _GEN_4553 = 9'h1 == _T_59801 ? _T_23609 : _T_23609; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4554 = 9'h2 == _T_59801 ? _T_23609 : _GEN_4553; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4555 = 9'h3 == _T_59801 ? _T_23609 : _GEN_4554; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4556 = 9'h4 == _T_59801 ? _T_23609 : _GEN_4555; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4557 = 9'h5 == _T_59801 ? _T_23609 : _GEN_4556; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4558 = 9'h6 == _T_59801 ? _T_23609 : _GEN_4557; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4559 = 9'h7 == _T_59801 ? _T_23609 : _GEN_4558; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4560 = 9'h8 == _T_59801 ? _T_23609 : _GEN_4559; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4561 = 9'h9 == _T_59801 ? _T_23609 : _GEN_4560; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4562 = 9'ha == _T_59801 ? _T_23609 : _GEN_4561; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4563 = 9'hb == _T_59801 ? _T_23609 : _GEN_4562; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4564 = 9'hc == _T_59801 ? _T_23609 : _GEN_4563; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4565 = 9'hd == _T_59801 ? _T_23609 : _GEN_4564; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4566 = 9'he == _T_59801 ? _T_23609 : _GEN_4565; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4567 = 9'hf == _T_59801 ? _T_23609 : _GEN_4566; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4568 = 9'h10 == _T_59801 ? _T_23609 : _GEN_4567; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4569 = 9'h11 == _T_59801 ? _T_23609 : _GEN_4568; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4570 = 9'h12 == _T_59801 ? _T_23609 : _GEN_4569; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4571 = 9'h13 == _T_59801 ? _T_23609 : _GEN_4570; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4572 = 9'h14 == _T_59801 ? _T_23609 : _GEN_4571; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4573 = 9'h15 == _T_59801 ? 1'h1 : _GEN_4572; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4574 = 9'h16 == _T_59801 ? 1'h1 : _GEN_4573; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4575 = 9'h17 == _T_59801 ? 1'h1 : _GEN_4574; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4576 = 9'h18 == _T_59801 ? 1'h1 : _GEN_4575; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4577 = 9'h19 == _T_59801 ? 1'h1 : _GEN_4576; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4578 = 9'h1a == _T_59801 ? 1'h1 : _GEN_4577; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4579 = 9'h1b == _T_59801 ? 1'h1 : _GEN_4578; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4580 = 9'h1c == _T_59801 ? 1'h1 : _GEN_4579; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4581 = 9'h1d == _T_59801 ? 1'h1 : _GEN_4580; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4582 = 9'h1e == _T_59801 ? 1'h1 : _GEN_4581; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4583 = 9'h1f == _T_59801 ? 1'h1 : _GEN_4582; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4584 = 9'h20 == _T_59801 ? 1'h1 : _GEN_4583; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4585 = 9'h21 == _T_59801 ? 1'h1 : _GEN_4584; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4586 = 9'h22 == _T_59801 ? 1'h1 : _GEN_4585; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4587 = 9'h23 == _T_59801 ? 1'h1 : _GEN_4586; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4588 = 9'h24 == _T_59801 ? 1'h1 : _GEN_4587; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4589 = 9'h25 == _T_59801 ? 1'h1 : _GEN_4588; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4590 = 9'h26 == _T_59801 ? 1'h1 : _GEN_4589; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4591 = 9'h27 == _T_59801 ? 1'h1 : _GEN_4590; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4592 = 9'h28 == _T_59801 ? 1'h1 : _GEN_4591; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4593 = 9'h29 == _T_59801 ? 1'h1 : _GEN_4592; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4594 = 9'h2a == _T_59801 ? 1'h1 : _GEN_4593; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4595 = 9'h2b == _T_59801 ? 1'h1 : _GEN_4594; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4596 = 9'h2c == _T_59801 ? 1'h1 : _GEN_4595; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4597 = 9'h2d == _T_59801 ? 1'h1 : _GEN_4596; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4598 = 9'h2e == _T_59801 ? 1'h1 : _GEN_4597; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4599 = 9'h2f == _T_59801 ? 1'h1 : _GEN_4598; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4600 = 9'h30 == _T_59801 ? 1'h1 : _GEN_4599; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4601 = 9'h31 == _T_59801 ? 1'h1 : _GEN_4600; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4602 = 9'h32 == _T_59801 ? 1'h1 : _GEN_4601; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4603 = 9'h33 == _T_59801 ? 1'h1 : _GEN_4602; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4604 = 9'h34 == _T_59801 ? 1'h1 : _GEN_4603; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4605 = 9'h35 == _T_59801 ? 1'h1 : _GEN_4604; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4606 = 9'h36 == _T_59801 ? 1'h1 : _GEN_4605; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4607 = 9'h37 == _T_59801 ? 1'h1 : _GEN_4606; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4608 = 9'h38 == _T_59801 ? 1'h1 : _GEN_4607; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4609 = 9'h39 == _T_59801 ? 1'h1 : _GEN_4608; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4610 = 9'h3a == _T_59801 ? 1'h1 : _GEN_4609; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4611 = 9'h3b == _T_59801 ? 1'h1 : _GEN_4610; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4612 = 9'h3c == _T_59801 ? 1'h1 : _GEN_4611; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4613 = 9'h3d == _T_59801 ? 1'h1 : _GEN_4612; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4614 = 9'h3e == _T_59801 ? 1'h1 : _GEN_4613; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4615 = 9'h3f == _T_59801 ? 1'h1 : _GEN_4614; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4616 = 9'h40 == _T_59801 ? _T_23089 : _GEN_4615; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4617 = 9'h41 == _T_59801 ? _T_23089 : _GEN_4616; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4618 = 9'h42 == _T_59801 ? _T_23089 : _GEN_4617; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4619 = 9'h43 == _T_59801 ? _T_23089 : _GEN_4618; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4620 = 9'h44 == _T_59801 ? 1'h1 : _GEN_4619; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4621 = 9'h45 == _T_59801 ? 1'h1 : _GEN_4620; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4622 = 9'h46 == _T_59801 ? 1'h1 : _GEN_4621; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4623 = 9'h47 == _T_59801 ? 1'h1 : _GEN_4622; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4624 = 9'h48 == _T_59801 ? 1'h1 : _GEN_4623; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4625 = 9'h49 == _T_59801 ? 1'h1 : _GEN_4624; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4626 = 9'h4a == _T_59801 ? 1'h1 : _GEN_4625; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4627 = 9'h4b == _T_59801 ? 1'h1 : _GEN_4626; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4628 = 9'h4c == _T_59801 ? 1'h1 : _GEN_4627; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4629 = 9'h4d == _T_59801 ? 1'h1 : _GEN_4628; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4630 = 9'h4e == _T_59801 ? 1'h1 : _GEN_4629; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4631 = 9'h4f == _T_59801 ? 1'h1 : _GEN_4630; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4632 = 9'h50 == _T_59801 ? 1'h1 : _GEN_4631; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4633 = 9'h51 == _T_59801 ? 1'h1 : _GEN_4632; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4634 = 9'h52 == _T_59801 ? 1'h1 : _GEN_4633; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4635 = 9'h53 == _T_59801 ? 1'h1 : _GEN_4634; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4636 = 9'h54 == _T_59801 ? 1'h1 : _GEN_4635; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4637 = 9'h55 == _T_59801 ? 1'h1 : _GEN_4636; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4638 = 9'h56 == _T_59801 ? 1'h1 : _GEN_4637; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4639 = 9'h57 == _T_59801 ? 1'h1 : _GEN_4638; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4640 = 9'h58 == _T_59801 ? 1'h1 : _GEN_4639; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4641 = 9'h59 == _T_59801 ? 1'h1 : _GEN_4640; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4642 = 9'h5a == _T_59801 ? 1'h1 : _GEN_4641; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4643 = 9'h5b == _T_59801 ? 1'h1 : _GEN_4642; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4644 = 9'h5c == _T_59801 ? 1'h1 : _GEN_4643; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4645 = 9'h5d == _T_59801 ? 1'h1 : _GEN_4644; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4646 = 9'h5e == _T_59801 ? 1'h1 : _GEN_4645; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4647 = 9'h5f == _T_59801 ? 1'h1 : _GEN_4646; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4648 = 9'h60 == _T_59801 ? 1'h1 : _GEN_4647; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4649 = 9'h61 == _T_59801 ? 1'h1 : _GEN_4648; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4650 = 9'h62 == _T_59801 ? 1'h1 : _GEN_4649; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4651 = 9'h63 == _T_59801 ? 1'h1 : _GEN_4650; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4652 = 9'h64 == _T_59801 ? 1'h1 : _GEN_4651; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4653 = 9'h65 == _T_59801 ? 1'h1 : _GEN_4652; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4654 = 9'h66 == _T_59801 ? 1'h1 : _GEN_4653; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4655 = 9'h67 == _T_59801 ? 1'h1 : _GEN_4654; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4656 = 9'h68 == _T_59801 ? 1'h1 : _GEN_4655; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4657 = 9'h69 == _T_59801 ? 1'h1 : _GEN_4656; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4658 = 9'h6a == _T_59801 ? 1'h1 : _GEN_4657; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4659 = 9'h6b == _T_59801 ? 1'h1 : _GEN_4658; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4660 = 9'h6c == _T_59801 ? 1'h1 : _GEN_4659; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4661 = 9'h6d == _T_59801 ? 1'h1 : _GEN_4660; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4662 = 9'h6e == _T_59801 ? 1'h1 : _GEN_4661; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4663 = 9'h6f == _T_59801 ? 1'h1 : _GEN_4662; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4664 = 9'h70 == _T_59801 ? 1'h1 : _GEN_4663; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4665 = 9'h71 == _T_59801 ? 1'h1 : _GEN_4664; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4666 = 9'h72 == _T_59801 ? 1'h1 : _GEN_4665; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4667 = 9'h73 == _T_59801 ? 1'h1 : _GEN_4666; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4668 = 9'h74 == _T_59801 ? 1'h1 : _GEN_4667; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4669 = 9'h75 == _T_59801 ? 1'h1 : _GEN_4668; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4670 = 9'h76 == _T_59801 ? 1'h1 : _GEN_4669; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4671 = 9'h77 == _T_59801 ? 1'h1 : _GEN_4670; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4672 = 9'h78 == _T_59801 ? 1'h1 : _GEN_4671; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4673 = 9'h79 == _T_59801 ? 1'h1 : _GEN_4672; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4674 = 9'h7a == _T_59801 ? 1'h1 : _GEN_4673; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4675 = 9'h7b == _T_59801 ? 1'h1 : _GEN_4674; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4676 = 9'h7c == _T_59801 ? 1'h1 : _GEN_4675; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4677 = 9'h7d == _T_59801 ? 1'h1 : _GEN_4676; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4678 = 9'h7e == _T_59801 ? 1'h1 : _GEN_4677; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4679 = 9'h7f == _T_59801 ? 1'h1 : _GEN_4678; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4680 = 9'h80 == _T_59801 ? 1'h1 : _GEN_4679; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4681 = 9'h81 == _T_59801 ? 1'h1 : _GEN_4680; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4682 = 9'h82 == _T_59801 ? 1'h1 : _GEN_4681; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4683 = 9'h83 == _T_59801 ? 1'h1 : _GEN_4682; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4684 = 9'h84 == _T_59801 ? 1'h1 : _GEN_4683; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4685 = 9'h85 == _T_59801 ? 1'h1 : _GEN_4684; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4686 = 9'h86 == _T_59801 ? 1'h1 : _GEN_4685; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4687 = 9'h87 == _T_59801 ? 1'h1 : _GEN_4686; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4688 = 9'h88 == _T_59801 ? 1'h1 : _GEN_4687; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4689 = 9'h89 == _T_59801 ? 1'h1 : _GEN_4688; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4690 = 9'h8a == _T_59801 ? 1'h1 : _GEN_4689; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4691 = 9'h8b == _T_59801 ? 1'h1 : _GEN_4690; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4692 = 9'h8c == _T_59801 ? 1'h1 : _GEN_4691; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4693 = 9'h8d == _T_59801 ? 1'h1 : _GEN_4692; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4694 = 9'h8e == _T_59801 ? 1'h1 : _GEN_4693; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4695 = 9'h8f == _T_59801 ? 1'h1 : _GEN_4694; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4696 = 9'h90 == _T_59801 ? 1'h1 : _GEN_4695; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4697 = 9'h91 == _T_59801 ? 1'h1 : _GEN_4696; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4698 = 9'h92 == _T_59801 ? 1'h1 : _GEN_4697; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4699 = 9'h93 == _T_59801 ? 1'h1 : _GEN_4698; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4700 = 9'h94 == _T_59801 ? 1'h1 : _GEN_4699; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4701 = 9'h95 == _T_59801 ? 1'h1 : _GEN_4700; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4702 = 9'h96 == _T_59801 ? 1'h1 : _GEN_4701; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4703 = 9'h97 == _T_59801 ? 1'h1 : _GEN_4702; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4704 = 9'h98 == _T_59801 ? 1'h1 : _GEN_4703; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4705 = 9'h99 == _T_59801 ? 1'h1 : _GEN_4704; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4706 = 9'h9a == _T_59801 ? 1'h1 : _GEN_4705; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4707 = 9'h9b == _T_59801 ? 1'h1 : _GEN_4706; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4708 = 9'h9c == _T_59801 ? 1'h1 : _GEN_4707; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4709 = 9'h9d == _T_59801 ? 1'h1 : _GEN_4708; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4710 = 9'h9e == _T_59801 ? 1'h1 : _GEN_4709; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4711 = 9'h9f == _T_59801 ? 1'h1 : _GEN_4710; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4712 = 9'ha0 == _T_59801 ? 1'h1 : _GEN_4711; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4713 = 9'ha1 == _T_59801 ? 1'h1 : _GEN_4712; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4714 = 9'ha2 == _T_59801 ? 1'h1 : _GEN_4713; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4715 = 9'ha3 == _T_59801 ? 1'h1 : _GEN_4714; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4716 = 9'ha4 == _T_59801 ? 1'h1 : _GEN_4715; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4717 = 9'ha5 == _T_59801 ? 1'h1 : _GEN_4716; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4718 = 9'ha6 == _T_59801 ? 1'h1 : _GEN_4717; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4719 = 9'ha7 == _T_59801 ? 1'h1 : _GEN_4718; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4720 = 9'ha8 == _T_59801 ? 1'h1 : _GEN_4719; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4721 = 9'ha9 == _T_59801 ? 1'h1 : _GEN_4720; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4722 = 9'haa == _T_59801 ? 1'h1 : _GEN_4721; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4723 = 9'hab == _T_59801 ? 1'h1 : _GEN_4722; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4724 = 9'hac == _T_59801 ? 1'h1 : _GEN_4723; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4725 = 9'had == _T_59801 ? 1'h1 : _GEN_4724; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4726 = 9'hae == _T_59801 ? 1'h1 : _GEN_4725; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4727 = 9'haf == _T_59801 ? 1'h1 : _GEN_4726; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4728 = 9'hb0 == _T_59801 ? 1'h1 : _GEN_4727; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4729 = 9'hb1 == _T_59801 ? 1'h1 : _GEN_4728; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4730 = 9'hb2 == _T_59801 ? 1'h1 : _GEN_4729; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4731 = 9'hb3 == _T_59801 ? 1'h1 : _GEN_4730; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4732 = 9'hb4 == _T_59801 ? 1'h1 : _GEN_4731; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4733 = 9'hb5 == _T_59801 ? 1'h1 : _GEN_4732; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4734 = 9'hb6 == _T_59801 ? 1'h1 : _GEN_4733; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4735 = 9'hb7 == _T_59801 ? 1'h1 : _GEN_4734; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4736 = 9'hb8 == _T_59801 ? 1'h1 : _GEN_4735; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4737 = 9'hb9 == _T_59801 ? 1'h1 : _GEN_4736; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4738 = 9'hba == _T_59801 ? 1'h1 : _GEN_4737; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4739 = 9'hbb == _T_59801 ? 1'h1 : _GEN_4738; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4740 = 9'hbc == _T_59801 ? 1'h1 : _GEN_4739; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4741 = 9'hbd == _T_59801 ? 1'h1 : _GEN_4740; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4742 = 9'hbe == _T_59801 ? 1'h1 : _GEN_4741; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4743 = 9'hbf == _T_59801 ? 1'h1 : _GEN_4742; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4744 = 9'hc0 == _T_59801 ? _T_23089 : _GEN_4743; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4745 = 9'hc1 == _T_59801 ? 1'h1 : _GEN_4744; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4746 = 9'hc2 == _T_59801 ? 1'h1 : _GEN_4745; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4747 = 9'hc3 == _T_59801 ? 1'h1 : _GEN_4746; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4748 = 9'hc4 == _T_59801 ? 1'h1 : _GEN_4747; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4749 = 9'hc5 == _T_59801 ? 1'h1 : _GEN_4748; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4750 = 9'hc6 == _T_59801 ? 1'h1 : _GEN_4749; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4751 = 9'hc7 == _T_59801 ? 1'h1 : _GEN_4750; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4752 = 9'hc8 == _T_59801 ? 1'h1 : _GEN_4751; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4753 = 9'hc9 == _T_59801 ? 1'h1 : _GEN_4752; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4754 = 9'hca == _T_59801 ? 1'h1 : _GEN_4753; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4755 = 9'hcb == _T_59801 ? 1'h1 : _GEN_4754; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4756 = 9'hcc == _T_59801 ? 1'h1 : _GEN_4755; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4757 = 9'hcd == _T_59801 ? 1'h1 : _GEN_4756; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4758 = 9'hce == _T_59801 ? _T_23089 : _GEN_4757; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4759 = 9'hcf == _T_59801 ? _T_23089 : _GEN_4758; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4760 = 9'hd0 == _T_59801 ? _T_23089 : _GEN_4759; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4761 = 9'hd1 == _T_59801 ? _T_23089 : _GEN_4760; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4762 = 9'hd2 == _T_59801 ? _T_23089 : _GEN_4761; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4763 = 9'hd3 == _T_59801 ? _T_23089 : _GEN_4762; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4764 = 9'hd4 == _T_59801 ? _T_23089 : _GEN_4763; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4765 = 9'hd5 == _T_59801 ? _T_23089 : _GEN_4764; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4766 = 9'hd6 == _T_59801 ? _T_23089 : _GEN_4765; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4767 = 9'hd7 == _T_59801 ? _T_23089 : _GEN_4766; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4768 = 9'hd8 == _T_59801 ? _T_23089 : _GEN_4767; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4769 = 9'hd9 == _T_59801 ? _T_23089 : _GEN_4768; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4770 = 9'hda == _T_59801 ? _T_23089 : _GEN_4769; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4771 = 9'hdb == _T_59801 ? _T_23089 : _GEN_4770; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4772 = 9'hdc == _T_59801 ? _T_23089 : _GEN_4771; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4773 = 9'hdd == _T_59801 ? _T_23089 : _GEN_4772; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4774 = 9'hde == _T_59801 ? _T_23089 : _GEN_4773; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4775 = 9'hdf == _T_59801 ? _T_23089 : _GEN_4774; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4776 = 9'he0 == _T_59801 ? _T_23089 : _GEN_4775; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4777 = 9'he1 == _T_59801 ? 1'h1 : _GEN_4776; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4778 = 9'he2 == _T_59801 ? 1'h1 : _GEN_4777; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4779 = 9'he3 == _T_59801 ? 1'h1 : _GEN_4778; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4780 = 9'he4 == _T_59801 ? 1'h1 : _GEN_4779; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4781 = 9'he5 == _T_59801 ? 1'h1 : _GEN_4780; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4782 = 9'he6 == _T_59801 ? 1'h1 : _GEN_4781; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4783 = 9'he7 == _T_59801 ? 1'h1 : _GEN_4782; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4784 = 9'he8 == _T_59801 ? 1'h1 : _GEN_4783; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4785 = 9'he9 == _T_59801 ? 1'h1 : _GEN_4784; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4786 = 9'hea == _T_59801 ? 1'h1 : _GEN_4785; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4787 = 9'heb == _T_59801 ? 1'h1 : _GEN_4786; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4788 = 9'hec == _T_59801 ? 1'h1 : _GEN_4787; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4789 = 9'hed == _T_59801 ? 1'h1 : _GEN_4788; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4790 = 9'hee == _T_59801 ? 1'h1 : _GEN_4789; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4791 = 9'hef == _T_59801 ? 1'h1 : _GEN_4790; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4792 = 9'hf0 == _T_59801 ? 1'h1 : _GEN_4791; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4793 = 9'hf1 == _T_59801 ? 1'h1 : _GEN_4792; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4794 = 9'hf2 == _T_59801 ? 1'h1 : _GEN_4793; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4795 = 9'hf3 == _T_59801 ? 1'h1 : _GEN_4794; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4796 = 9'hf4 == _T_59801 ? 1'h1 : _GEN_4795; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4797 = 9'hf5 == _T_59801 ? 1'h1 : _GEN_4796; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4798 = 9'hf6 == _T_59801 ? 1'h1 : _GEN_4797; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4799 = 9'hf7 == _T_59801 ? 1'h1 : _GEN_4798; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4800 = 9'hf8 == _T_59801 ? 1'h1 : _GEN_4799; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4801 = 9'hf9 == _T_59801 ? 1'h1 : _GEN_4800; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4802 = 9'hfa == _T_59801 ? 1'h1 : _GEN_4801; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4803 = 9'hfb == _T_59801 ? 1'h1 : _GEN_4802; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4804 = 9'hfc == _T_59801 ? 1'h1 : _GEN_4803; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4805 = 9'hfd == _T_59801 ? 1'h1 : _GEN_4804; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4806 = 9'hfe == _T_59801 ? 1'h1 : _GEN_4805; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4807 = 9'hff == _T_59801 ? 1'h1 : _GEN_4806; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4808 = 9'h100 == _T_59801 ? _T_23089 : _GEN_4807; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4809 = 9'h101 == _T_59801 ? _T_23089 : _GEN_4808; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4810 = 9'h102 == _T_59801 ? _T_23089 : _GEN_4809; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4811 = 9'h103 == _T_59801 ? _T_23089 : _GEN_4810; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4812 = 9'h104 == _T_59801 ? _T_23089 : _GEN_4811; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4813 = 9'h105 == _T_59801 ? _T_23089 : _GEN_4812; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4814 = 9'h106 == _T_59801 ? _T_23089 : _GEN_4813; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4815 = 9'h107 == _T_59801 ? _T_23089 : _GEN_4814; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4816 = 9'h108 == _T_59801 ? _T_23089 : _GEN_4815; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4817 = 9'h109 == _T_59801 ? _T_23089 : _GEN_4816; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4818 = 9'h10a == _T_59801 ? _T_23089 : _GEN_4817; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4819 = 9'h10b == _T_59801 ? _T_23089 : _GEN_4818; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4820 = 9'h10c == _T_59801 ? _T_23089 : _GEN_4819; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4821 = 9'h10d == _T_59801 ? _T_23089 : _GEN_4820; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4822 = 9'h10e == _T_59801 ? _T_23089 : _GEN_4821; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4823 = 9'h10f == _T_59801 ? _T_23089 : _GEN_4822; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4824 = 9'h110 == _T_59801 ? _T_23089 : _GEN_4823; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4825 = 9'h111 == _T_59801 ? _T_23089 : _GEN_4824; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4826 = 9'h112 == _T_59801 ? _T_23089 : _GEN_4825; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4827 = 9'h113 == _T_59801 ? _T_23089 : _GEN_4826; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4828 = 9'h114 == _T_59801 ? _T_23089 : _GEN_4827; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4829 = 9'h115 == _T_59801 ? _T_23089 : _GEN_4828; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4830 = 9'h116 == _T_59801 ? _T_23089 : _GEN_4829; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4831 = 9'h117 == _T_59801 ? _T_23089 : _GEN_4830; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4832 = 9'h118 == _T_59801 ? _T_23089 : _GEN_4831; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4833 = 9'h119 == _T_59801 ? _T_23089 : _GEN_4832; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4834 = 9'h11a == _T_59801 ? _T_23089 : _GEN_4833; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4835 = 9'h11b == _T_59801 ? _T_23089 : _GEN_4834; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4836 = 9'h11c == _T_59801 ? _T_23089 : _GEN_4835; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4837 = 9'h11d == _T_59801 ? _T_23089 : _GEN_4836; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4838 = 9'h11e == _T_59801 ? _T_23089 : _GEN_4837; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4839 = 9'h11f == _T_59801 ? _T_23089 : _GEN_4838; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4840 = 9'h120 == _T_59801 ? _T_23089 : _GEN_4839; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4841 = 9'h121 == _T_59801 ? _T_23089 : _GEN_4840; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4842 = 9'h122 == _T_59801 ? _T_23089 : _GEN_4841; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4843 = 9'h123 == _T_59801 ? _T_23089 : _GEN_4842; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4844 = 9'h124 == _T_59801 ? _T_23089 : _GEN_4843; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4845 = 9'h125 == _T_59801 ? _T_23089 : _GEN_4844; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4846 = 9'h126 == _T_59801 ? _T_23089 : _GEN_4845; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4847 = 9'h127 == _T_59801 ? _T_23089 : _GEN_4846; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4848 = 9'h128 == _T_59801 ? _T_23089 : _GEN_4847; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4849 = 9'h129 == _T_59801 ? _T_23089 : _GEN_4848; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4850 = 9'h12a == _T_59801 ? _T_23089 : _GEN_4849; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4851 = 9'h12b == _T_59801 ? _T_23089 : _GEN_4850; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4852 = 9'h12c == _T_59801 ? _T_23089 : _GEN_4851; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4853 = 9'h12d == _T_59801 ? _T_23089 : _GEN_4852; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4854 = 9'h12e == _T_59801 ? _T_23089 : _GEN_4853; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4855 = 9'h12f == _T_59801 ? _T_23089 : _GEN_4854; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4856 = 9'h130 == _T_59801 ? _T_23089 : _GEN_4855; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4857 = 9'h131 == _T_59801 ? _T_23089 : _GEN_4856; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4858 = 9'h132 == _T_59801 ? _T_23089 : _GEN_4857; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4859 = 9'h133 == _T_59801 ? _T_23089 : _GEN_4858; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4860 = 9'h134 == _T_59801 ? _T_23089 : _GEN_4859; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4861 = 9'h135 == _T_59801 ? _T_23089 : _GEN_4860; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4862 = 9'h136 == _T_59801 ? _T_23089 : _GEN_4861; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4863 = 9'h137 == _T_59801 ? _T_23089 : _GEN_4862; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4864 = 9'h138 == _T_59801 ? _T_23089 : _GEN_4863; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4865 = 9'h139 == _T_59801 ? _T_23089 : _GEN_4864; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4866 = 9'h13a == _T_59801 ? _T_23089 : _GEN_4865; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4867 = 9'h13b == _T_59801 ? _T_23089 : _GEN_4866; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4868 = 9'h13c == _T_59801 ? _T_23089 : _GEN_4867; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4869 = 9'h13d == _T_59801 ? _T_23089 : _GEN_4868; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4870 = 9'h13e == _T_59801 ? _T_23089 : _GEN_4869; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4871 = 9'h13f == _T_59801 ? _T_23089 : _GEN_4870; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4872 = 9'h140 == _T_59801 ? _T_23089 : _GEN_4871; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4873 = 9'h141 == _T_59801 ? _T_23089 : _GEN_4872; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4874 = 9'h142 == _T_59801 ? _T_23089 : _GEN_4873; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4875 = 9'h143 == _T_59801 ? _T_23089 : _GEN_4874; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4876 = 9'h144 == _T_59801 ? _T_23089 : _GEN_4875; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4877 = 9'h145 == _T_59801 ? _T_23089 : _GEN_4876; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4878 = 9'h146 == _T_59801 ? _T_23089 : _GEN_4877; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4879 = 9'h147 == _T_59801 ? _T_23089 : _GEN_4878; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4880 = 9'h148 == _T_59801 ? _T_23089 : _GEN_4879; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4881 = 9'h149 == _T_59801 ? _T_23089 : _GEN_4880; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4882 = 9'h14a == _T_59801 ? _T_23089 : _GEN_4881; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4883 = 9'h14b == _T_59801 ? _T_23089 : _GEN_4882; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4884 = 9'h14c == _T_59801 ? _T_23089 : _GEN_4883; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4885 = 9'h14d == _T_59801 ? _T_23089 : _GEN_4884; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4886 = 9'h14e == _T_59801 ? _T_23089 : _GEN_4885; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4887 = 9'h14f == _T_59801 ? _T_23089 : _GEN_4886; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4888 = 9'h150 == _T_59801 ? _T_23089 : _GEN_4887; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4889 = 9'h151 == _T_59801 ? _T_23089 : _GEN_4888; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4890 = 9'h152 == _T_59801 ? _T_23089 : _GEN_4889; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4891 = 9'h153 == _T_59801 ? _T_23089 : _GEN_4890; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4892 = 9'h154 == _T_59801 ? _T_23089 : _GEN_4891; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4893 = 9'h155 == _T_59801 ? _T_23089 : _GEN_4892; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4894 = 9'h156 == _T_59801 ? _T_23089 : _GEN_4893; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4895 = 9'h157 == _T_59801 ? _T_23089 : _GEN_4894; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4896 = 9'h158 == _T_59801 ? _T_23089 : _GEN_4895; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4897 = 9'h159 == _T_59801 ? _T_23089 : _GEN_4896; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4898 = 9'h15a == _T_59801 ? _T_23089 : _GEN_4897; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4899 = 9'h15b == _T_59801 ? _T_23089 : _GEN_4898; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4900 = 9'h15c == _T_59801 ? _T_23089 : _GEN_4899; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4901 = 9'h15d == _T_59801 ? _T_23089 : _GEN_4900; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4902 = 9'h15e == _T_59801 ? _T_23089 : _GEN_4901; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4903 = 9'h15f == _T_59801 ? _T_23089 : _GEN_4902; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4904 = 9'h160 == _T_59801 ? _T_23089 : _GEN_4903; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4905 = 9'h161 == _T_59801 ? _T_23089 : _GEN_4904; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4906 = 9'h162 == _T_59801 ? _T_23089 : _GEN_4905; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4907 = 9'h163 == _T_59801 ? _T_23089 : _GEN_4906; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4908 = 9'h164 == _T_59801 ? _T_23089 : _GEN_4907; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4909 = 9'h165 == _T_59801 ? _T_23089 : _GEN_4908; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4910 = 9'h166 == _T_59801 ? _T_23089 : _GEN_4909; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4911 = 9'h167 == _T_59801 ? _T_23089 : _GEN_4910; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4912 = 9'h168 == _T_59801 ? _T_23089 : _GEN_4911; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4913 = 9'h169 == _T_59801 ? _T_23089 : _GEN_4912; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4914 = 9'h16a == _T_59801 ? _T_23089 : _GEN_4913; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4915 = 9'h16b == _T_59801 ? _T_23089 : _GEN_4914; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4916 = 9'h16c == _T_59801 ? _T_23089 : _GEN_4915; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4917 = 9'h16d == _T_59801 ? _T_23089 : _GEN_4916; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4918 = 9'h16e == _T_59801 ? _T_23089 : _GEN_4917; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4919 = 9'h16f == _T_59801 ? _T_23089 : _GEN_4918; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4920 = 9'h170 == _T_59801 ? _T_23089 : _GEN_4919; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4921 = 9'h171 == _T_59801 ? _T_23089 : _GEN_4920; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4922 = 9'h172 == _T_59801 ? _T_23089 : _GEN_4921; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4923 = 9'h173 == _T_59801 ? _T_23089 : _GEN_4922; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4924 = 9'h174 == _T_59801 ? _T_23089 : _GEN_4923; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4925 = 9'h175 == _T_59801 ? _T_23089 : _GEN_4924; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4926 = 9'h176 == _T_59801 ? _T_23089 : _GEN_4925; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4927 = 9'h177 == _T_59801 ? _T_23089 : _GEN_4926; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4928 = 9'h178 == _T_59801 ? _T_23089 : _GEN_4927; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4929 = 9'h179 == _T_59801 ? _T_23089 : _GEN_4928; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4930 = 9'h17a == _T_59801 ? _T_23089 : _GEN_4929; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4931 = 9'h17b == _T_59801 ? _T_23089 : _GEN_4930; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4932 = 9'h17c == _T_59801 ? _T_23089 : _GEN_4931; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4933 = 9'h17d == _T_59801 ? _T_23089 : _GEN_4932; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4934 = 9'h17e == _T_59801 ? _T_23089 : _GEN_4933; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4935 = 9'h17f == _T_59801 ? _T_23089 : _GEN_4934; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4936 = 9'h180 == _T_59801 ? _T_23089 : _GEN_4935; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4937 = 9'h181 == _T_59801 ? _T_23089 : _GEN_4936; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4938 = 9'h182 == _T_59801 ? _T_23089 : _GEN_4937; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4939 = 9'h183 == _T_59801 ? _T_23089 : _GEN_4938; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4940 = 9'h184 == _T_59801 ? _T_23089 : _GEN_4939; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4941 = 9'h185 == _T_59801 ? _T_23089 : _GEN_4940; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4942 = 9'h186 == _T_59801 ? _T_23089 : _GEN_4941; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4943 = 9'h187 == _T_59801 ? _T_23089 : _GEN_4942; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4944 = 9'h188 == _T_59801 ? _T_23089 : _GEN_4943; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4945 = 9'h189 == _T_59801 ? _T_23089 : _GEN_4944; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4946 = 9'h18a == _T_59801 ? _T_23089 : _GEN_4945; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4947 = 9'h18b == _T_59801 ? _T_23089 : _GEN_4946; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4948 = 9'h18c == _T_59801 ? _T_23089 : _GEN_4947; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4949 = 9'h18d == _T_59801 ? _T_23089 : _GEN_4948; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4950 = 9'h18e == _T_59801 ? _T_23089 : _GEN_4949; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4951 = 9'h18f == _T_59801 ? _T_23089 : _GEN_4950; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4952 = 9'h190 == _T_59801 ? _T_23089 : _GEN_4951; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4953 = 9'h191 == _T_59801 ? _T_23089 : _GEN_4952; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4954 = 9'h192 == _T_59801 ? _T_23089 : _GEN_4953; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4955 = 9'h193 == _T_59801 ? _T_23089 : _GEN_4954; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4956 = 9'h194 == _T_59801 ? _T_23089 : _GEN_4955; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4957 = 9'h195 == _T_59801 ? _T_23089 : _GEN_4956; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4958 = 9'h196 == _T_59801 ? _T_23089 : _GEN_4957; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4959 = 9'h197 == _T_59801 ? _T_23089 : _GEN_4958; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4960 = 9'h198 == _T_59801 ? _T_23089 : _GEN_4959; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4961 = 9'h199 == _T_59801 ? _T_23089 : _GEN_4960; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4962 = 9'h19a == _T_59801 ? _T_23089 : _GEN_4961; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4963 = 9'h19b == _T_59801 ? _T_23089 : _GEN_4962; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4964 = 9'h19c == _T_59801 ? _T_23089 : _GEN_4963; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4965 = 9'h19d == _T_59801 ? _T_23089 : _GEN_4964; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4966 = 9'h19e == _T_59801 ? _T_23089 : _GEN_4965; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4967 = 9'h19f == _T_59801 ? _T_23089 : _GEN_4966; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4968 = 9'h1a0 == _T_59801 ? _T_23089 : _GEN_4967; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4969 = 9'h1a1 == _T_59801 ? _T_23089 : _GEN_4968; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4970 = 9'h1a2 == _T_59801 ? _T_23089 : _GEN_4969; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4971 = 9'h1a3 == _T_59801 ? _T_23089 : _GEN_4970; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4972 = 9'h1a4 == _T_59801 ? _T_23089 : _GEN_4971; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4973 = 9'h1a5 == _T_59801 ? _T_23089 : _GEN_4972; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4974 = 9'h1a6 == _T_59801 ? _T_23089 : _GEN_4973; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4975 = 9'h1a7 == _T_59801 ? _T_23089 : _GEN_4974; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4976 = 9'h1a8 == _T_59801 ? _T_23089 : _GEN_4975; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4977 = 9'h1a9 == _T_59801 ? _T_23089 : _GEN_4976; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4978 = 9'h1aa == _T_59801 ? _T_23089 : _GEN_4977; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4979 = 9'h1ab == _T_59801 ? _T_23089 : _GEN_4978; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4980 = 9'h1ac == _T_59801 ? _T_23089 : _GEN_4979; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4981 = 9'h1ad == _T_59801 ? _T_23089 : _GEN_4980; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4982 = 9'h1ae == _T_59801 ? _T_23089 : _GEN_4981; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4983 = 9'h1af == _T_59801 ? _T_23089 : _GEN_4982; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4984 = 9'h1b0 == _T_59801 ? _T_23089 : _GEN_4983; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4985 = 9'h1b1 == _T_59801 ? _T_23089 : _GEN_4984; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4986 = 9'h1b2 == _T_59801 ? _T_23089 : _GEN_4985; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4987 = 9'h1b3 == _T_59801 ? _T_23089 : _GEN_4986; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4988 = 9'h1b4 == _T_59801 ? _T_23089 : _GEN_4987; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4989 = 9'h1b5 == _T_59801 ? _T_23089 : _GEN_4988; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4990 = 9'h1b6 == _T_59801 ? _T_23089 : _GEN_4989; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4991 = 9'h1b7 == _T_59801 ? _T_23089 : _GEN_4990; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4992 = 9'h1b8 == _T_59801 ? _T_23089 : _GEN_4991; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4993 = 9'h1b9 == _T_59801 ? _T_23089 : _GEN_4992; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4994 = 9'h1ba == _T_59801 ? _T_23089 : _GEN_4993; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4995 = 9'h1bb == _T_59801 ? _T_23089 : _GEN_4994; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4996 = 9'h1bc == _T_59801 ? _T_23089 : _GEN_4995; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4997 = 9'h1bd == _T_59801 ? _T_23089 : _GEN_4996; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4998 = 9'h1be == _T_59801 ? _T_23089 : _GEN_4997; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_4999 = 9'h1bf == _T_59801 ? _T_23089 : _GEN_4998; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_5000 = 9'h1c0 == _T_59801 ? _T_23089 : _GEN_4999; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_5001 = 9'h1c1 == _T_59801 ? _T_23089 : _GEN_5000; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_5002 = 9'h1c2 == _T_59801 ? _T_23089 : _GEN_5001; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_5003 = 9'h1c3 == _T_59801 ? _T_23089 : _GEN_5002; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_5004 = 9'h1c4 == _T_59801 ? _T_23089 : _GEN_5003; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_5005 = 9'h1c5 == _T_59801 ? _T_23089 : _GEN_5004; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_5006 = 9'h1c6 == _T_59801 ? _T_23089 : _GEN_5005; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_5007 = 9'h1c7 == _T_59801 ? _T_23089 : _GEN_5006; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_5008 = 9'h1c8 == _T_59801 ? _T_23089 : _GEN_5007; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_5009 = 9'h1c9 == _T_59801 ? _T_23089 : _GEN_5008; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_5010 = 9'h1ca == _T_59801 ? _T_23089 : _GEN_5009; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_5011 = 9'h1cb == _T_59801 ? _T_23089 : _GEN_5010; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_5012 = 9'h1cc == _T_59801 ? _T_23089 : _GEN_5011; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_5013 = 9'h1cd == _T_59801 ? _T_23089 : _GEN_5012; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_5014 = 9'h1ce == _T_59801 ? _T_23089 : _GEN_5013; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_5015 = 9'h1cf == _T_59801 ? _T_23089 : _GEN_5014; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_5016 = 9'h1d0 == _T_59801 ? _T_23089 : _GEN_5015; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_5017 = 9'h1d1 == _T_59801 ? _T_23089 : _GEN_5016; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_5018 = 9'h1d2 == _T_59801 ? _T_23089 : _GEN_5017; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_5019 = 9'h1d3 == _T_59801 ? _T_23089 : _GEN_5018; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_5020 = 9'h1d4 == _T_59801 ? _T_23089 : _GEN_5019; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_5021 = 9'h1d5 == _T_59801 ? _T_23089 : _GEN_5020; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_5022 = 9'h1d6 == _T_59801 ? _T_23089 : _GEN_5021; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_5023 = 9'h1d7 == _T_59801 ? _T_23089 : _GEN_5022; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_5024 = 9'h1d8 == _T_59801 ? _T_23089 : _GEN_5023; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_5025 = 9'h1d9 == _T_59801 ? _T_23089 : _GEN_5024; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_5026 = 9'h1da == _T_59801 ? _T_23089 : _GEN_5025; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_5027 = 9'h1db == _T_59801 ? _T_23089 : _GEN_5026; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_5028 = 9'h1dc == _T_59801 ? _T_23089 : _GEN_5027; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_5029 = 9'h1dd == _T_59801 ? _T_23089 : _GEN_5028; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_5030 = 9'h1de == _T_59801 ? _T_23089 : _GEN_5029; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_5031 = 9'h1df == _T_59801 ? _T_23089 : _GEN_5030; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_5032 = 9'h1e0 == _T_59801 ? _T_23089 : _GEN_5031; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_5033 = 9'h1e1 == _T_59801 ? _T_23089 : _GEN_5032; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_5034 = 9'h1e2 == _T_59801 ? _T_23089 : _GEN_5033; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_5035 = 9'h1e3 == _T_59801 ? _T_23089 : _GEN_5034; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_5036 = 9'h1e4 == _T_59801 ? _T_23089 : _GEN_5035; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_5037 = 9'h1e5 == _T_59801 ? _T_23089 : _GEN_5036; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_5038 = 9'h1e6 == _T_59801 ? _T_23089 : _GEN_5037; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_5039 = 9'h1e7 == _T_59801 ? _T_23089 : _GEN_5038; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_5040 = 9'h1e8 == _T_59801 ? _T_23089 : _GEN_5039; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_5041 = 9'h1e9 == _T_59801 ? _T_23089 : _GEN_5040; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_5042 = 9'h1ea == _T_59801 ? _T_23089 : _GEN_5041; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_5043 = 9'h1eb == _T_59801 ? _T_23089 : _GEN_5042; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_5044 = 9'h1ec == _T_59801 ? _T_23089 : _GEN_5043; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_5045 = 9'h1ed == _T_59801 ? _T_23089 : _GEN_5044; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_5046 = 9'h1ee == _T_59801 ? _T_23089 : _GEN_5045; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_5047 = 9'h1ef == _T_59801 ? _T_23089 : _GEN_5046; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_5048 = 9'h1f0 == _T_59801 ? _T_23089 : _GEN_5047; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_5049 = 9'h1f1 == _T_59801 ? _T_23089 : _GEN_5048; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_5050 = 9'h1f2 == _T_59801 ? _T_23089 : _GEN_5049; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_5051 = 9'h1f3 == _T_59801 ? _T_23089 : _GEN_5050; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_5052 = 9'h1f4 == _T_59801 ? _T_23089 : _GEN_5051; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_5053 = 9'h1f5 == _T_59801 ? _T_23089 : _GEN_5052; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_5054 = 9'h1f6 == _T_59801 ? _T_23089 : _GEN_5053; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_5055 = 9'h1f7 == _T_59801 ? _T_23089 : _GEN_5054; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_5056 = 9'h1f8 == _T_59801 ? _T_23089 : _GEN_5055; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_5057 = 9'h1f9 == _T_59801 ? _T_23089 : _GEN_5056; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_5058 = 9'h1fa == _T_59801 ? _T_23089 : _GEN_5057; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_5059 = 9'h1fb == _T_59801 ? _T_23089 : _GEN_5058; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_5060 = 9'h1fc == _T_59801 ? _T_23089 : _GEN_5059; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_5061 = 9'h1fd == _T_59801 ? _T_23089 : _GEN_5060; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_5062 = 9'h1fe == _T_59801 ? _T_23089 : _GEN_5061; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_5063 = 9'h1ff == _T_59801 ? _T_23089 : _GEN_5062; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
+  assign _GEN_5065 = 9'h1 == _T_59801 ? 32'h380006f : 32'hc0006f; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5066 = 9'h2 == _T_59801 ? 32'h440006f : _GEN_5065; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5067 = 9'h3 == _T_59801 ? 32'hff0000f : _GEN_5066; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5068 = 9'h4 == _T_59801 ? 32'h7b241073 : _GEN_5067; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5069 = 9'h5 == _T_59801 ? 32'hf1402473 : _GEN_5068; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5070 = 9'h6 == _T_59801 ? 32'h10802023 : _GEN_5069; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5071 = 9'h7 == _T_59801 ? 32'h40044403 : _GEN_5070; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5072 = 9'h8 == _T_59801 ? 32'h347413 : _GEN_5071; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5073 = 9'h9 == _T_59801 ? 32'hfe0408e3 : _GEN_5072; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5074 = 9'ha == _T_59801 ? 32'h147413 : _GEN_5073; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5075 = 9'hb == _T_59801 ? 32'h40863 : _GEN_5074; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5076 = 9'hc == _T_59801 ? 32'h7b202473 : _GEN_5075; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5077 = 9'hd == _T_59801 ? 32'h10002223 : _GEN_5076; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5078 = 9'he == _T_59801 ? 32'h30000067 : _GEN_5077; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5079 = 9'hf == _T_59801 ? 32'hf1402473 : _GEN_5078; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5080 = 9'h10 == _T_59801 ? 32'h10802423 : _GEN_5079; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5081 = 9'h11 == _T_59801 ? 32'h7b202473 : _GEN_5080; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5082 = 9'h12 == _T_59801 ? 32'h7b200073 : _GEN_5081; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5083 = 9'h13 == _T_59801 ? 32'h10002623 : _GEN_5082; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5084 = 9'h14 == _T_59801 ? 32'h100073 : _GEN_5083; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5085 = 9'h15 == _T_59801 ? 32'h0 : _GEN_5084; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5086 = 9'h16 == _T_59801 ? 32'h0 : _GEN_5085; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5087 = 9'h17 == _T_59801 ? 32'h0 : _GEN_5086; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5088 = 9'h18 == _T_59801 ? 32'h0 : _GEN_5087; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5089 = 9'h19 == _T_59801 ? 32'h0 : _GEN_5088; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5090 = 9'h1a == _T_59801 ? 32'h0 : _GEN_5089; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5091 = 9'h1b == _T_59801 ? 32'h0 : _GEN_5090; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5092 = 9'h1c == _T_59801 ? 32'h0 : _GEN_5091; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5093 = 9'h1d == _T_59801 ? 32'h0 : _GEN_5092; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5094 = 9'h1e == _T_59801 ? 32'h0 : _GEN_5093; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5095 = 9'h1f == _T_59801 ? 32'h0 : _GEN_5094; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5096 = 9'h20 == _T_59801 ? 32'h0 : _GEN_5095; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5097 = 9'h21 == _T_59801 ? 32'h0 : _GEN_5096; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5098 = 9'h22 == _T_59801 ? 32'h0 : _GEN_5097; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5099 = 9'h23 == _T_59801 ? 32'h0 : _GEN_5098; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5100 = 9'h24 == _T_59801 ? 32'h0 : _GEN_5099; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5101 = 9'h25 == _T_59801 ? 32'h0 : _GEN_5100; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5102 = 9'h26 == _T_59801 ? 32'h0 : _GEN_5101; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5103 = 9'h27 == _T_59801 ? 32'h0 : _GEN_5102; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5104 = 9'h28 == _T_59801 ? 32'h0 : _GEN_5103; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5105 = 9'h29 == _T_59801 ? 32'h0 : _GEN_5104; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5106 = 9'h2a == _T_59801 ? 32'h0 : _GEN_5105; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5107 = 9'h2b == _T_59801 ? 32'h0 : _GEN_5106; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5108 = 9'h2c == _T_59801 ? 32'h0 : _GEN_5107; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5109 = 9'h2d == _T_59801 ? 32'h0 : _GEN_5108; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5110 = 9'h2e == _T_59801 ? 32'h0 : _GEN_5109; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5111 = 9'h2f == _T_59801 ? 32'h0 : _GEN_5110; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5112 = 9'h30 == _T_59801 ? 32'h0 : _GEN_5111; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5113 = 9'h31 == _T_59801 ? 32'h0 : _GEN_5112; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5114 = 9'h32 == _T_59801 ? 32'h0 : _GEN_5113; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5115 = 9'h33 == _T_59801 ? 32'h0 : _GEN_5114; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5116 = 9'h34 == _T_59801 ? 32'h0 : _GEN_5115; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5117 = 9'h35 == _T_59801 ? 32'h0 : _GEN_5116; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5118 = 9'h36 == _T_59801 ? 32'h0 : _GEN_5117; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5119 = 9'h37 == _T_59801 ? 32'h0 : _GEN_5118; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5120 = 9'h38 == _T_59801 ? 32'h0 : _GEN_5119; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5121 = 9'h39 == _T_59801 ? 32'h0 : _GEN_5120; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5122 = 9'h3a == _T_59801 ? 32'h0 : _GEN_5121; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5123 = 9'h3b == _T_59801 ? 32'h0 : _GEN_5122; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5124 = 9'h3c == _T_59801 ? 32'h0 : _GEN_5123; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5125 = 9'h3d == _T_59801 ? 32'h0 : _GEN_5124; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5126 = 9'h3e == _T_59801 ? 32'h0 : _GEN_5125; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5127 = 9'h3f == _T_59801 ? 32'h0 : _GEN_5126; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5128 = 9'h40 == _T_59801 ? 32'h0 : _GEN_5127; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5129 = 9'h41 == _T_59801 ? 32'h0 : _GEN_5128; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5130 = 9'h42 == _T_59801 ? 32'h0 : _GEN_5129; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5131 = 9'h43 == _T_59801 ? 32'h0 : _GEN_5130; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5132 = 9'h44 == _T_59801 ? 32'h0 : _GEN_5131; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5133 = 9'h45 == _T_59801 ? 32'h0 : _GEN_5132; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5134 = 9'h46 == _T_59801 ? 32'h0 : _GEN_5133; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5135 = 9'h47 == _T_59801 ? 32'h0 : _GEN_5134; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5136 = 9'h48 == _T_59801 ? 32'h0 : _GEN_5135; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5137 = 9'h49 == _T_59801 ? 32'h0 : _GEN_5136; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5138 = 9'h4a == _T_59801 ? 32'h0 : _GEN_5137; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5139 = 9'h4b == _T_59801 ? 32'h0 : _GEN_5138; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5140 = 9'h4c == _T_59801 ? 32'h0 : _GEN_5139; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5141 = 9'h4d == _T_59801 ? 32'h0 : _GEN_5140; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5142 = 9'h4e == _T_59801 ? 32'h0 : _GEN_5141; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5143 = 9'h4f == _T_59801 ? 32'h0 : _GEN_5142; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5144 = 9'h50 == _T_59801 ? 32'h0 : _GEN_5143; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5145 = 9'h51 == _T_59801 ? 32'h0 : _GEN_5144; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5146 = 9'h52 == _T_59801 ? 32'h0 : _GEN_5145; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5147 = 9'h53 == _T_59801 ? 32'h0 : _GEN_5146; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5148 = 9'h54 == _T_59801 ? 32'h0 : _GEN_5147; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5149 = 9'h55 == _T_59801 ? 32'h0 : _GEN_5148; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5150 = 9'h56 == _T_59801 ? 32'h0 : _GEN_5149; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5151 = 9'h57 == _T_59801 ? 32'h0 : _GEN_5150; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5152 = 9'h58 == _T_59801 ? 32'h0 : _GEN_5151; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5153 = 9'h59 == _T_59801 ? 32'h0 : _GEN_5152; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5154 = 9'h5a == _T_59801 ? 32'h0 : _GEN_5153; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5155 = 9'h5b == _T_59801 ? 32'h0 : _GEN_5154; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5156 = 9'h5c == _T_59801 ? 32'h0 : _GEN_5155; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5157 = 9'h5d == _T_59801 ? 32'h0 : _GEN_5156; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5158 = 9'h5e == _T_59801 ? 32'h0 : _GEN_5157; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5159 = 9'h5f == _T_59801 ? 32'h0 : _GEN_5158; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5160 = 9'h60 == _T_59801 ? 32'h0 : _GEN_5159; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5161 = 9'h61 == _T_59801 ? 32'h0 : _GEN_5160; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5162 = 9'h62 == _T_59801 ? 32'h0 : _GEN_5161; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5163 = 9'h63 == _T_59801 ? 32'h0 : _GEN_5162; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5164 = 9'h64 == _T_59801 ? 32'h0 : _GEN_5163; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5165 = 9'h65 == _T_59801 ? 32'h0 : _GEN_5164; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5166 = 9'h66 == _T_59801 ? 32'h0 : _GEN_5165; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5167 = 9'h67 == _T_59801 ? 32'h0 : _GEN_5166; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5168 = 9'h68 == _T_59801 ? 32'h0 : _GEN_5167; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5169 = 9'h69 == _T_59801 ? 32'h0 : _GEN_5168; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5170 = 9'h6a == _T_59801 ? 32'h0 : _GEN_5169; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5171 = 9'h6b == _T_59801 ? 32'h0 : _GEN_5170; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5172 = 9'h6c == _T_59801 ? 32'h0 : _GEN_5171; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5173 = 9'h6d == _T_59801 ? 32'h0 : _GEN_5172; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5174 = 9'h6e == _T_59801 ? 32'h0 : _GEN_5173; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5175 = 9'h6f == _T_59801 ? 32'h0 : _GEN_5174; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5176 = 9'h70 == _T_59801 ? 32'h0 : _GEN_5175; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5177 = 9'h71 == _T_59801 ? 32'h0 : _GEN_5176; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5178 = 9'h72 == _T_59801 ? 32'h0 : _GEN_5177; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5179 = 9'h73 == _T_59801 ? 32'h0 : _GEN_5178; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5180 = 9'h74 == _T_59801 ? 32'h0 : _GEN_5179; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5181 = 9'h75 == _T_59801 ? 32'h0 : _GEN_5180; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5182 = 9'h76 == _T_59801 ? 32'h0 : _GEN_5181; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5183 = 9'h77 == _T_59801 ? 32'h0 : _GEN_5182; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5184 = 9'h78 == _T_59801 ? 32'h0 : _GEN_5183; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5185 = 9'h79 == _T_59801 ? 32'h0 : _GEN_5184; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5186 = 9'h7a == _T_59801 ? 32'h0 : _GEN_5185; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5187 = 9'h7b == _T_59801 ? 32'h0 : _GEN_5186; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5188 = 9'h7c == _T_59801 ? 32'h0 : _GEN_5187; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5189 = 9'h7d == _T_59801 ? 32'h0 : _GEN_5188; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5190 = 9'h7e == _T_59801 ? 32'h0 : _GEN_5189; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5191 = 9'h7f == _T_59801 ? 32'h0 : _GEN_5190; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5192 = 9'h80 == _T_59801 ? 32'h0 : _GEN_5191; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5193 = 9'h81 == _T_59801 ? 32'h0 : _GEN_5192; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5194 = 9'h82 == _T_59801 ? 32'h0 : _GEN_5193; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5195 = 9'h83 == _T_59801 ? 32'h0 : _GEN_5194; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5196 = 9'h84 == _T_59801 ? 32'h0 : _GEN_5195; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5197 = 9'h85 == _T_59801 ? 32'h0 : _GEN_5196; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5198 = 9'h86 == _T_59801 ? 32'h0 : _GEN_5197; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5199 = 9'h87 == _T_59801 ? 32'h0 : _GEN_5198; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5200 = 9'h88 == _T_59801 ? 32'h0 : _GEN_5199; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5201 = 9'h89 == _T_59801 ? 32'h0 : _GEN_5200; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5202 = 9'h8a == _T_59801 ? 32'h0 : _GEN_5201; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5203 = 9'h8b == _T_59801 ? 32'h0 : _GEN_5202; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5204 = 9'h8c == _T_59801 ? 32'h0 : _GEN_5203; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5205 = 9'h8d == _T_59801 ? 32'h0 : _GEN_5204; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5206 = 9'h8e == _T_59801 ? 32'h0 : _GEN_5205; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5207 = 9'h8f == _T_59801 ? 32'h0 : _GEN_5206; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5208 = 9'h90 == _T_59801 ? 32'h0 : _GEN_5207; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5209 = 9'h91 == _T_59801 ? 32'h0 : _GEN_5208; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5210 = 9'h92 == _T_59801 ? 32'h0 : _GEN_5209; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5211 = 9'h93 == _T_59801 ? 32'h0 : _GEN_5210; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5212 = 9'h94 == _T_59801 ? 32'h0 : _GEN_5211; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5213 = 9'h95 == _T_59801 ? 32'h0 : _GEN_5212; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5214 = 9'h96 == _T_59801 ? 32'h0 : _GEN_5213; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5215 = 9'h97 == _T_59801 ? 32'h0 : _GEN_5214; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5216 = 9'h98 == _T_59801 ? 32'h0 : _GEN_5215; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5217 = 9'h99 == _T_59801 ? 32'h0 : _GEN_5216; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5218 = 9'h9a == _T_59801 ? 32'h0 : _GEN_5217; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5219 = 9'h9b == _T_59801 ? 32'h0 : _GEN_5218; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5220 = 9'h9c == _T_59801 ? 32'h0 : _GEN_5219; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5221 = 9'h9d == _T_59801 ? 32'h0 : _GEN_5220; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5222 = 9'h9e == _T_59801 ? 32'h0 : _GEN_5221; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5223 = 9'h9f == _T_59801 ? 32'h0 : _GEN_5222; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5224 = 9'ha0 == _T_59801 ? 32'h0 : _GEN_5223; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5225 = 9'ha1 == _T_59801 ? 32'h0 : _GEN_5224; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5226 = 9'ha2 == _T_59801 ? 32'h0 : _GEN_5225; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5227 = 9'ha3 == _T_59801 ? 32'h0 : _GEN_5226; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5228 = 9'ha4 == _T_59801 ? 32'h0 : _GEN_5227; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5229 = 9'ha5 == _T_59801 ? 32'h0 : _GEN_5228; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5230 = 9'ha6 == _T_59801 ? 32'h0 : _GEN_5229; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5231 = 9'ha7 == _T_59801 ? 32'h0 : _GEN_5230; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5232 = 9'ha8 == _T_59801 ? 32'h0 : _GEN_5231; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5233 = 9'ha9 == _T_59801 ? 32'h0 : _GEN_5232; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5234 = 9'haa == _T_59801 ? 32'h0 : _GEN_5233; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5235 = 9'hab == _T_59801 ? 32'h0 : _GEN_5234; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5236 = 9'hac == _T_59801 ? 32'h0 : _GEN_5235; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5237 = 9'had == _T_59801 ? 32'h0 : _GEN_5236; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5238 = 9'hae == _T_59801 ? 32'h0 : _GEN_5237; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5239 = 9'haf == _T_59801 ? 32'h0 : _GEN_5238; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5240 = 9'hb0 == _T_59801 ? 32'h0 : _GEN_5239; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5241 = 9'hb1 == _T_59801 ? 32'h0 : _GEN_5240; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5242 = 9'hb2 == _T_59801 ? 32'h0 : _GEN_5241; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5243 = 9'hb3 == _T_59801 ? 32'h0 : _GEN_5242; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5244 = 9'hb4 == _T_59801 ? 32'h0 : _GEN_5243; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5245 = 9'hb5 == _T_59801 ? 32'h0 : _GEN_5244; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5246 = 9'hb6 == _T_59801 ? 32'h0 : _GEN_5245; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5247 = 9'hb7 == _T_59801 ? 32'h0 : _GEN_5246; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5248 = 9'hb8 == _T_59801 ? 32'h0 : _GEN_5247; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5249 = 9'hb9 == _T_59801 ? 32'h0 : _GEN_5248; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5250 = 9'hba == _T_59801 ? 32'h0 : _GEN_5249; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5251 = 9'hbb == _T_59801 ? 32'h0 : _GEN_5250; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5252 = 9'hbc == _T_59801 ? 32'h0 : _GEN_5251; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5253 = 9'hbd == _T_59801 ? 32'h0 : _GEN_5252; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5254 = 9'hbe == _T_59801 ? 32'h0 : _GEN_5253; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5255 = 9'hbf == _T_59801 ? 32'h0 : _GEN_5254; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5256 = 9'hc0 == _T_59801 ? 32'h380006f : _GEN_5255; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5257 = 9'hc1 == _T_59801 ? 32'h0 : _GEN_5256; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5258 = 9'hc2 == _T_59801 ? 32'h0 : _GEN_5257; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5259 = 9'hc3 == _T_59801 ? 32'h0 : _GEN_5258; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5260 = 9'hc4 == _T_59801 ? 32'h0 : _GEN_5259; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5261 = 9'hc5 == _T_59801 ? 32'h0 : _GEN_5260; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5262 = 9'hc6 == _T_59801 ? 32'h0 : _GEN_5261; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5263 = 9'hc7 == _T_59801 ? 32'h0 : _GEN_5262; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5264 = 9'hc8 == _T_59801 ? 32'h0 : _GEN_5263; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5265 = 9'hc9 == _T_59801 ? 32'h0 : _GEN_5264; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5266 = 9'hca == _T_59801 ? 32'h0 : _GEN_5265; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5267 = 9'hcb == _T_59801 ? 32'h0 : _GEN_5266; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5268 = 9'hcc == _T_59801 ? 32'h0 : _GEN_5267; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5269 = 9'hcd == _T_59801 ? 32'h0 : _GEN_5268; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5270 = 9'hce == _T_59801 ? abstractGeneratedMem_0 : _GEN_5269; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5271 = 9'hcf == _T_59801 ? abstractGeneratedMem_1 : _GEN_5270; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5272 = 9'hd0 == _T_59801 ? _T_3906 : _GEN_5271; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5273 = 9'hd1 == _T_59801 ? _T_3694 : _GEN_5272; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5274 = 9'hd2 == _T_59801 ? _T_4012 : _GEN_5273; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5275 = 9'hd3 == _T_59801 ? _T_4511 : _GEN_5274; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5276 = 9'hd4 == _T_59801 ? _T_4879 : _GEN_5275; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5277 = 9'hd5 == _T_59801 ? _T_3376 : _GEN_5276; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5278 = 9'hd6 == _T_59801 ? _T_3588 : _GEN_5277; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5279 = 9'hd7 == _T_59801 ? _T_4405 : _GEN_5278; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5280 = 9'hd8 == _T_59801 ? _T_4748 : _GEN_5279; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5281 = 9'hd9 == _T_59801 ? _T_3800 : _GEN_5280; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5282 = 9'hda == _T_59801 ? _T_3245 : _GEN_5281; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5283 = 9'hdb == _T_59801 ? _T_4642 : _GEN_5282; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5284 = 9'hdc == _T_59801 ? _T_4299 : _GEN_5283; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5285 = 9'hdd == _T_59801 ? _T_4118 : _GEN_5284; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5286 = 9'hde == _T_59801 ? _T_3482 : _GEN_5285; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5287 = 9'hdf == _T_59801 ? _T_5116 : _GEN_5286; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5288 = 9'he0 == _T_59801 ? _T_5010 : _GEN_5287; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5289 = 9'he1 == _T_59801 ? 32'h0 : _GEN_5288; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5290 = 9'he2 == _T_59801 ? 32'h0 : _GEN_5289; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5291 = 9'he3 == _T_59801 ? 32'h0 : _GEN_5290; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5292 = 9'he4 == _T_59801 ? 32'h0 : _GEN_5291; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5293 = 9'he5 == _T_59801 ? 32'h0 : _GEN_5292; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5294 = 9'he6 == _T_59801 ? 32'h0 : _GEN_5293; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5295 = 9'he7 == _T_59801 ? 32'h0 : _GEN_5294; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5296 = 9'he8 == _T_59801 ? 32'h0 : _GEN_5295; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5297 = 9'he9 == _T_59801 ? 32'h0 : _GEN_5296; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5298 = 9'hea == _T_59801 ? 32'h0 : _GEN_5297; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5299 = 9'heb == _T_59801 ? 32'h0 : _GEN_5298; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5300 = 9'hec == _T_59801 ? 32'h0 : _GEN_5299; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5301 = 9'hed == _T_59801 ? 32'h0 : _GEN_5300; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5302 = 9'hee == _T_59801 ? 32'h0 : _GEN_5301; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5303 = 9'hef == _T_59801 ? 32'h0 : _GEN_5302; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5304 = 9'hf0 == _T_59801 ? 32'h0 : _GEN_5303; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5305 = 9'hf1 == _T_59801 ? 32'h0 : _GEN_5304; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5306 = 9'hf2 == _T_59801 ? 32'h0 : _GEN_5305; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5307 = 9'hf3 == _T_59801 ? 32'h0 : _GEN_5306; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5308 = 9'hf4 == _T_59801 ? 32'h0 : _GEN_5307; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5309 = 9'hf5 == _T_59801 ? 32'h0 : _GEN_5308; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5310 = 9'hf6 == _T_59801 ? 32'h0 : _GEN_5309; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5311 = 9'hf7 == _T_59801 ? 32'h0 : _GEN_5310; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5312 = 9'hf8 == _T_59801 ? 32'h0 : _GEN_5311; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5313 = 9'hf9 == _T_59801 ? 32'h0 : _GEN_5312; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5314 = 9'hfa == _T_59801 ? 32'h0 : _GEN_5313; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5315 = 9'hfb == _T_59801 ? 32'h0 : _GEN_5314; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5316 = 9'hfc == _T_59801 ? 32'h0 : _GEN_5315; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5317 = 9'hfd == _T_59801 ? 32'h0 : _GEN_5316; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5318 = 9'hfe == _T_59801 ? 32'h0 : _GEN_5317; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5319 = 9'hff == _T_59801 ? 32'h0 : _GEN_5318; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5320 = 9'h100 == _T_59801 ? _T_40283 : _GEN_5319; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5321 = 9'h101 == _T_59801 ? _T_31622 : _GEN_5320; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5322 = 9'h102 == _T_59801 ? _T_53396 : _GEN_5321; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5323 = 9'h103 == _T_59801 ? _T_43912 : _GEN_5322; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5324 = 9'h104 == _T_59801 ? _T_37159 : _GEN_5323; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5325 = 9'h105 == _T_59801 ? _T_33106 : _GEN_5324; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5326 = 9'h106 == _T_59801 ? _T_55541 : _GEN_5325; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5327 = 9'h107 == _T_59801 ? _T_50615 : _GEN_5326; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5328 = 9'h108 == _T_59801 ? _T_42827 : _GEN_5327; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5329 = 9'h109 == _T_59801 ? _T_35332 : _GEN_5328; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5330 = 9'h10a == _T_59801 ? _T_41661 : _GEN_5329; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5331 = 9'h10b == _T_59801 ? _T_48389 : _GEN_5330; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5332 = 9'h10c == _T_59801 ? _T_56707 : _GEN_5331; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5333 = 9'h10d == _T_59801 ? _T_30350 : _GEN_5332; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5334 = 9'h10e == _T_59801 ? _T_36417 : _GEN_5333; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5335 = 9'h10f == _T_59801 ? _T_46138 : _GEN_5334; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5336 = 9'h110 == _T_59801 ? _T_54481 : _GEN_5335; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5337 = 9'h111 == _T_59801 ? _T_55859 : _GEN_5336; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5338 = 9'h112 == _T_59801 ? _T_45184 : _GEN_5337; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5339 = 9'h113 == _T_59801 ? _T_37926 : _GEN_5338; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5340 = 9'h114 == _T_59801 ? _T_29714 : _GEN_5339; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5341 = 9'h115 == _T_59801 ? _T_58191 : _GEN_5340; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5342 = 9'h116 == _T_59801 ? _T_47753 : _GEN_5341; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5343 = 9'h117 == _T_59801 ? _T_42933 : _GEN_5342; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5344 = 9'h118 == _T_59801 ? _T_34590 : _GEN_5343; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5345 = 9'h119 == _T_59801 ? _T_43806 : _GEN_5344; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5346 = 9'h11a == _T_59801 ? _T_50191 : _GEN_5345; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5347 = 9'h11b == _T_59801 ? _T_57343 : _GEN_5346; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5348 = 9'h11c == _T_59801 ? _T_32470 : _GEN_5347; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5349 = 9'h11d == _T_59801 ? _T_39117 : _GEN_5348; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5350 = 9'h11e == _T_59801 ? _T_43594 : _GEN_5349; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5351 = 9'h11f == _T_59801 ? _T_54905 : _GEN_5350; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5352 = 9'h120 == _T_59801 ? _T_31198 : _GEN_5351; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5353 = 9'h121 == _T_59801 ? _T_32788 : _GEN_5352; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5354 = 9'h122 == _T_59801 ? _T_53926 : _GEN_5353; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5355 = 9'h123 == _T_59801 ? _T_43700 : _GEN_5354; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5356 = 9'h124 == _T_59801 ? _T_35887 : _GEN_5355; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5357 = 9'h125 == _T_59801 ? _T_34802 : _GEN_5356; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5358 = 9'h126 == _T_59801 ? _T_56389 : _GEN_5357; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5359 = 9'h127 == _T_59801 ? _T_50085 : _GEN_5358; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5360 = 9'h128 == _T_59801 ? _T_43064 : _GEN_5359; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5361 = 9'h129 == _T_59801 ? _T_37477 : _GEN_5360; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5362 = 9'h12a == _T_59801 ? _T_42297 : _GEN_5361; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5363 = 9'h12b == _T_59801 ? _T_48283 : _GEN_5362; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5364 = 9'h12c == _T_59801 ? _T_55011 : _GEN_5363; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5365 = 9'h12d == _T_59801 ? _T_31304 : _GEN_5364; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5366 = 9'h12e == _T_59801 ? _T_37053 : _GEN_5365; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5367 = 9'h12f == _T_59801 ? _T_46032 : _GEN_5366; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5368 = 9'h130 == _T_59801 ? _T_53290 : _GEN_5367; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5369 = 9'h131 == _T_59801 ? _T_56071 : _GEN_5368; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5370 = 9'h132 == _T_59801 ? _T_48177 : _GEN_5369; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5371 = 9'h133 == _T_59801 ? _T_35781 : _GEN_5370; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5372 = 9'h134 == _T_59801 ? _T_29820 : _GEN_5371; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5373 = 9'h135 == _T_59801 ? _T_59145 : _GEN_5372; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5374 = 9'h136 == _T_59801 ? _T_50721 : _GEN_5373; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5375 = 9'h137 == _T_59801 ? _T_41979 : _GEN_5374; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5376 = 9'h138 == _T_59801 ? _T_35650 : _GEN_5375; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5377 = 9'h139 == _T_59801 ? _T_44442 : _GEN_5376; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5378 = 9'h13a == _T_59801 ? _T_51912 : _GEN_5377; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5379 = 9'h13b == _T_59801 ? _T_55223 : _GEN_5378; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5380 = 9'h13c == _T_59801 ? _T_33000 : _GEN_5379; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5381 = 9'h13d == _T_59801 ? _T_39435 : _GEN_5380; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5382 = 9'h13e == _T_59801 ? _T_45714 : _GEN_5381; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5383 = 9'h13f == _T_59801 ? _T_53184 : _GEN_5382; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5384 = 9'h140 == _T_59801 ? _T_31410 : _GEN_5383; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5385 = 9'h141 == _T_59801 ? _T_33636 : _GEN_5384; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5386 = 9'h142 == _T_59801 ? _T_58615 : _GEN_5385; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5387 = 9'h143 == _T_59801 ? _T_46880 : _GEN_5386; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5388 = 9'h144 == _T_59801 ? _T_39011 : _GEN_5387; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5389 = 9'h145 == _T_59801 ? _T_32682 : _GEN_5388; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5390 = 9'h146 == _T_59801 ? _T_56283 : _GEN_5389; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5391 = 9'h147 == _T_59801 ? _T_50403 : _GEN_5390; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5392 = 9'h148 == _T_59801 ? _T_40071 : _GEN_5391; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5393 = 9'h149 == _T_59801 ? _T_38481 : _GEN_5392; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5394 = 9'h14a == _T_59801 ? _T_47329 : _GEN_5393; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5395 = 9'h14b == _T_59801 ? _T_50852 : _GEN_5394; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5396 = 9'h14c == _T_59801 ? _T_57767 : _GEN_5395; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5397 = 9'h14d == _T_59801 ? _T_28866 : _GEN_5396; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5398 = 9'h14e == _T_59801 ? _T_36947 : _GEN_5397; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5399 = 9'h14f == _T_59801 ? _T_44760 : _GEN_5398; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5400 = 9'h150 == _T_59801 ? _T_51700 : _GEN_5399; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5401 = 9'h151 == _T_59801 ? _T_58827 : _GEN_5400; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5402 = 9'h152 == _T_59801 ? _T_51382 : _GEN_5401; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5403 = 9'h153 == _T_59801 ? _T_40495 : _GEN_5402; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5404 = 9'h154 == _T_59801 ? _T_30880 : _GEN_5403; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5405 = 9'h155 == _T_59801 ? _T_56495 : _GEN_5404; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5406 = 9'h156 == _T_59801 ? _T_49661 : _GEN_5405; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5407 = 9'h157 == _T_59801 ? _T_41555 : _GEN_5406; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5408 = 9'h158 == _T_59801 ? _T_32046 : _GEN_5407; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5409 = 9'h159 == _T_59801 ? _T_46668 : _GEN_5408; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5410 = 9'h15a == _T_59801 ? _T_54693 : _GEN_5409; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5411 = 9'h15b == _T_59801 ? _T_28760 : _GEN_5410; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5412 = 9'h15c == _T_59801 ? _T_34166 : _GEN_5411; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5413 = 9'h15d == _T_59801 ? _T_37265 : _GEN_5412; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5414 = 9'h15e == _T_59801 ? _T_44866 : _GEN_5413; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5415 = 9'h15f == _T_59801 ? _T_53502 : _GEN_5414; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5416 = 9'h160 == _T_59801 ? _T_29290 : _GEN_5415; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5417 = 9'h161 == _T_59801 ? _T_34272 : _GEN_5416; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5418 = 9'h162 == _T_59801 ? _T_59039 : _GEN_5417; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5419 = 9'h163 == _T_59801 ? _T_49767 : _GEN_5418; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5420 = 9'h164 == _T_59801 ? _T_39753 : _GEN_5419; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5421 = 9'h165 == _T_59801 ? _T_32152 : _GEN_5420; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5422 = 9'h166 == _T_59801 ? _T_56813 : _GEN_5421; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5423 = 9'h167 == _T_59801 ? _T_51594 : _GEN_5422; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5424 = 9'h168 == _T_59801 ? _T_41767 : _GEN_5423; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5425 = 9'h169 == _T_59801 ? _T_38244 : _GEN_5424; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5426 = 9'h16a == _T_59801 ? _T_45502 : _GEN_5425; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5427 = 9'h16b == _T_59801 ? _T_52442 : _GEN_5426; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5428 = 9'h16c == _T_59801 ? _T_59781 : _GEN_5427; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5429 = 9'h16d == _T_59801 ? _T_28548 : _GEN_5428; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5430 = 9'h16e == _T_59801 ? _T_36841 : _GEN_5429; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5431 = 9'h16f == _T_59801 ? _T_46774 : _GEN_5430; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5432 = 9'h170 == _T_59801 ? _T_52972 : _GEN_5431; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5433 = 9'h171 == _T_59801 ? _T_58509 : _GEN_5432; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5434 = 9'h172 == _T_59801 ? _T_51064 : _GEN_5433; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5435 = 9'h173 == _T_59801 ? _T_41343 : _GEN_5434; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5436 = 9'h174 == _T_59801 ? _T_31834 : _GEN_5435; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5437 = 9'h175 == _T_59801 ? _T_55965 : _GEN_5436; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5438 = 9'h176 == _T_59801 ? _T_49237 : _GEN_5437; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5439 = 9'h177 == _T_59801 ? _T_43276 : _GEN_5438; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5440 = 9'h178 == _T_59801 ? _T_33742 : _GEN_5439; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5441 = 9'h179 == _T_59801 ? _T_45396 : _GEN_5440; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5442 = 9'h17a == _T_59801 ? _T_54032 : _GEN_5441; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5443 = 9'h17b == _T_59801 ? _T_30032 : _GEN_5442; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5444 = 9'h17c == _T_59801 ? _T_36099 : _GEN_5443; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5445 = 9'h17d == _T_59801 ? _T_36629 : _GEN_5444; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5446 = 9'h17e == _T_59801 ? _T_44336 : _GEN_5445; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5447 = 9'h17f == _T_59801 ? _T_54587 : _GEN_5446; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5448 = 9'h180 == _T_59801 ? _T_30562 : _GEN_5447; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5449 = 9'h181 == _T_59801 ? _T_30456 : _GEN_5448; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5450 = 9'h182 == _T_59801 ? _T_51806 : _GEN_5449; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5451 = 9'h183 == _T_59801 ? _T_46456 : _GEN_5450; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5452 = 9'h184 == _T_59801 ? _T_39647 : _GEN_5451; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5453 = 9'h185 == _T_59801 ? _T_31728 : _GEN_5452; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5454 = 9'h186 == _T_59801 ? _T_53608 : _GEN_5453; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5455 = 9'h187 == _T_59801 ? _T_44124 : _GEN_5454; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5456 = 9'h188 == _T_59801 ? _T_37371 : _GEN_5455; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5457 = 9'h189 == _T_59801 ? _T_41025 : _GEN_5456; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5458 = 9'h18a == _T_59801 ? _T_48071 : _GEN_5457; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5459 = 9'h18b == _T_59801 ? _T_57555 : _GEN_5458; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5460 = 9'h18c == _T_59801 ? _T_35014 : _GEN_5459; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5461 = 9'h18d == _T_59801 ? _T_34484 : _GEN_5460; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5462 = 9'h18e == _T_59801 ? _T_42085 : _GEN_5461; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5463 = 9'h18f == _T_59801 ? _T_47647 : _GEN_5462; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5464 = 9'h190 == _T_59801 ? _T_57131 : _GEN_5463; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5465 = 9'h191 == _T_59801 ? _T_53714 : _GEN_5464; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5466 = 9'h192 == _T_59801 ? _T_43488 : _GEN_5465; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5467 = 9'h193 == _T_59801 ? _T_39541 : _GEN_5466; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5468 = 9'h194 == _T_59801 ? _T_30986 : _GEN_5467; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5469 = 9'h195 == _T_59801 ? _T_55647 : _GEN_5468; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5470 = 9'h196 == _T_59801 ? _T_44972 : _GEN_5469; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5471 = 9'h197 == _T_59801 ? _T_37714 : _GEN_5470; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5472 = 9'h198 == _T_59801 ? _T_29396 : _GEN_5471; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5473 = 9'h199 == _T_59801 ? _T_50509 : _GEN_5472; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5474 = 9'h19a == _T_59801 ? _T_55435 : _GEN_5473; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5475 = 9'h19b == _T_59801 ? _T_35120 : _GEN_5474; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5476 = 9'h19c == _T_59801 ? _T_42403 : _GEN_5475; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5477 = 9'h19d == _T_59801 ? _T_44018 : _GEN_5476; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5478 = 9'h19e == _T_59801 ? _T_50297 : _GEN_5477; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5479 = 9'h19f == _T_59801 ? _T_57449 : _GEN_5478; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5480 = 9'h1a0 == _T_59801 ? _T_32576 : _GEN_5479; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5481 = 9'h1a1 == _T_59801 ? _T_31092 : _GEN_5480; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5482 = 9'h1a2 == _T_59801 ? _T_53820 : _GEN_5481; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5483 = 9'h1a3 == _T_59801 ? _T_45290 : _GEN_5482; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5484 = 9'h1a4 == _T_59801 ? _T_39859 : _GEN_5483; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5485 = 9'h1a5 == _T_59801 ? _T_32364 : _GEN_5484; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5486 = 9'h1a6 == _T_59801 ? _T_55753 : _GEN_5485; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5487 = 9'h1a7 == _T_59801 ? _T_43382 : _GEN_5486; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5488 = 9'h1a8 == _T_59801 ? _T_37583 : _GEN_5487; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5489 = 9'h1a9 == _T_59801 ? _T_42509 : _GEN_5488; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5490 = 9'h1aa == _T_59801 ? _T_49025 : _GEN_5489; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5491 = 9'h1ab == _T_59801 ? _T_57873 : _GEN_5490; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5492 = 9'h1ac == _T_59801 ? _T_35226 : _GEN_5491; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5493 = 9'h1ad == _T_59801 ? _T_37820 : _GEN_5492; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5494 = 9'h1ae == _T_59801 ? _T_42721 : _GEN_5493; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5495 = 9'h1af == _T_59801 ? _T_48707 : _GEN_5494; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5496 = 9'h1b0 == _T_59801 ? _T_55329 : _GEN_5495; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5497 = 9'h1b1 == _T_59801 ? _T_54138 : _GEN_5496; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5498 = 9'h1b2 == _T_59801 ? _T_45926 : _GEN_5497; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5499 = 9'h1b3 == _T_59801 ? _T_38375 : _GEN_5498; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5500 = 9'h1b4 == _T_59801 ? _T_31516 : _GEN_5499; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5501 = 9'h1b5 == _T_59801 ? _T_56919 : _GEN_5500; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5502 = 9'h1b6 == _T_59801 ? _T_48601 : _GEN_5501; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5503 = 9'h1b7 == _T_59801 ? _T_36311 : _GEN_5502; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5504 = 9'h1b8 == _T_59801 ? _T_30138 : _GEN_5503; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5505 = 9'h1b9 == _T_59801 ? _T_50958 : _GEN_5504; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5506 = 9'h1ba == _T_59801 ? _T_58297 : _GEN_5505; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5507 = 9'h1bb == _T_59801 ? _T_33530 : _GEN_5506; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5508 = 9'h1bc == _T_59801 ? _T_43170 : _GEN_5507; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5509 = 9'h1bd == _T_59801 ? _T_44230 : _GEN_5508; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5510 = 9'h1be == _T_59801 ? _T_52018 : _GEN_5509; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5511 = 9'h1bf == _T_59801 ? _T_55117 : _GEN_5510; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5512 = 9'h1c0 == _T_59801 ? _T_32894 : _GEN_5511; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5513 = 9'h1c1 == _T_59801 ? _T_29926 : _GEN_5512; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5514 = 9'h1c2 == _T_59801 ? _T_52336 : _GEN_5513; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5515 = 9'h1c3 == _T_59801 ? _T_45608 : _GEN_5514; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5516 = 9'h1c4 == _T_59801 ? _T_35993 : _GEN_5515; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5517 = 9'h1c5 == _T_59801 ? _T_34908 : _GEN_5516; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5518 = 9'h1c6 == _T_59801 ? _T_59675 : _GEN_5517; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5519 = 9'h1c7 == _T_59801 ? _T_47859 : _GEN_5518; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5520 = 9'h1c8 == _T_59801 ? _T_38905 : _GEN_5519; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5521 = 9'h1c9 == _T_59801 ? _T_41237 : _GEN_5520; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5522 = 9'h1ca == _T_59801 ? _T_49873 : _GEN_5521; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5523 = 9'h1cb == _T_59801 ? _T_58085 : _GEN_5522; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5524 = 9'h1cc == _T_59801 ? _T_32258 : _GEN_5523; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5525 = 9'h1cd == _T_59801 ? _T_38693 : _GEN_5524; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5526 = 9'h1ce == _T_59801 ? _T_47435 : _GEN_5525; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5527 = 9'h1cf == _T_59801 ? _T_51276 : _GEN_5526; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5528 = 9'h1d0 == _T_59801 ? _T_57661 : _GEN_5527; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5529 = 9'h1d1 == _T_59801 ? _T_52230 : _GEN_5528; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5530 = 9'h1d2 == _T_59801 ? _T_44654 : _GEN_5529; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5531 = 9'h1d3 == _T_59801 ? _T_38032 : _GEN_5530; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5532 = 9'h1d4 == _T_59801 ? _T_29078 : _GEN_5531; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5533 = 9'h1d5 == _T_59801 ? _T_58933 : _GEN_5532; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5534 = 9'h1d6 == _T_59801 ? _T_51488 : _GEN_5533; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5535 = 9'h1d7 == _T_59801 ? _T_40177 : _GEN_5534; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5536 = 9'h1d8 == _T_59801 ? _T_30774 : _GEN_5535; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5537 = 9'h1d9 == _T_59801 ? _T_48813 : _GEN_5536; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5538 = 9'h1da == _T_59801 ? _T_57025 : _GEN_5537; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5539 = 9'h1db == _T_59801 ? _T_33318 : _GEN_5538; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5540 = 9'h1dc == _T_59801 ? _T_40601 : _GEN_5539; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5541 = 9'h1dd == _T_59801 ? _T_46350 : _GEN_5540; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5542 = 9'h1de == _T_59801 ? _T_54375 : _GEN_5541; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5543 = 9'h1df == _T_59801 ? _T_28654 : _GEN_5542; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5544 = 9'h1e0 == _T_59801 ? _T_34378 : _GEN_5543; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5545 = 9'h1e1 == _T_59801 ? _T_29184 : _GEN_5544; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5546 = 9'h1e2 == _T_59801 ? _T_52548 : _GEN_5545; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5547 = 9'h1e3 == _T_59801 ? _T_47092 : _GEN_5546; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5548 = 9'h1e4 == _T_59801 ? _T_38138 : _GEN_5547; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5549 = 9'h1e5 == _T_59801 ? _T_33954 : _GEN_5548; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5550 = 9'h1e6 == _T_59801 ? _T_58721 : _GEN_5549; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5551 = 9'h1e7 == _T_59801 ? _T_49449 : _GEN_5550; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5552 = 9'h1e8 == _T_59801 ? _T_40389 : _GEN_5551; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5553 = 9'h1e9 == _T_59801 ? _T_40813 : _GEN_5552; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5554 = 9'h1ea == _T_59801 ? _T_48919 : _GEN_5553; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5555 = 9'h1eb == _T_59801 ? _T_59357 : _GEN_5554; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5556 = 9'h1ec == _T_59801 ? _T_33424 : _GEN_5555; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5557 = 9'h1ed == _T_59801 ? _T_38799 : _GEN_5556; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5558 = 9'h1ee == _T_59801 ? _T_46562 : _GEN_5557; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5559 = 9'h1ef == _T_59801 ? _T_52760 : _GEN_5558; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5560 = 9'h1f0 == _T_59801 ? _T_59569 : _GEN_5559; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5561 = 9'h1f1 == _T_59801 ? _T_52124 : _GEN_5560; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5562 = 9'h1f2 == _T_59801 ? _T_44548 : _GEN_5561; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5563 = 9'h1f3 == _T_59801 ? _T_39965 : _GEN_5562; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5564 = 9'h1f4 == _T_59801 ? _T_30668 : _GEN_5563; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5565 = 9'h1f5 == _T_59801 ? _T_58403 : _GEN_5564; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5566 = 9'h1f6 == _T_59801 ? _T_51170 : _GEN_5565; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5567 = 9'h1f7 == _T_59801 ? _T_41449 : _GEN_5566; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5568 = 9'h1f8 == _T_59801 ? _T_31940 : _GEN_5567; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5569 = 9'h1f9 == _T_59801 ? _T_48495 : _GEN_5568; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5570 = 9'h1fa == _T_59801 ? _T_56601 : _GEN_5569; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5571 = 9'h1fb == _T_59801 ? _T_35438 : _GEN_5570; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5572 = 9'h1fc == _T_59801 ? _T_41873 : _GEN_5571; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5573 = 9'h1fd == _T_59801 ? _T_45820 : _GEN_5572; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5574 = 9'h1fe == _T_59801 ? _T_54244 : _GEN_5573; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _GEN_5575 = 9'h1ff == _T_59801 ? _T_30244 : _GEN_5574; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
+  assign _T_76327 = goReg == 1'h0; // @[Debug.scala 1020:18:shc.marmotcaravel.MarmotCaravelConfig.fir@191508.10]
+  assign _T_76328 = _T_76327 & hartHaltedWrEn; // @[Debug.scala 1020:30:shc.marmotcaravel.MarmotCaravelConfig.fir@191509.10]
+  assign _T_76329 = hartHaltedId == selectedHartReg; // @[Debug.scala 1020:95:shc.marmotcaravel.MarmotCaravelConfig.fir@191510.10]
+  assign _T_76330 = _T_76328 & _T_76329; // @[Debug.scala 1020:48:shc.marmotcaravel.MarmotCaravelConfig.fir@191511.10]
+  assign _T_76335 = ctrlStateReg == 2'h3; // @[Debug.scala 1028:30:shc.marmotcaravel.MarmotCaravelConfig.fir@191529.10]
+  assign _T_76338 = reset == 1'h0; // @[Debug.scala 1029:13:shc.marmotcaravel.MarmotCaravelConfig.fir@191533.12]
+  assign _T_76341 = hartExceptionWrEn == 1'h0; // @[Debug.scala 1042:14:shc.marmotcaravel.MarmotCaravelConfig.fir@191551.4]
+  assign _T_76343 = _T_76341 | _T_76326; // @[Debug.scala 1042:33:shc.marmotcaravel.MarmotCaravelConfig.fir@191553.4]
+  assign _T_76345 = _T_76343 | reset; // @[Debug.scala 1042:12:shc.marmotcaravel.MarmotCaravelConfig.fir@191555.4]
+  assign _T_76346 = _T_76345 == 1'h0; // @[Debug.scala 1042:12:shc.marmotcaravel.MarmotCaravelConfig.fir@191556.4]
+  assign auto_tl_in_a_ready = auto_tl_in_d_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@115963.4]
+  assign auto_tl_in_d_valid = auto_tl_in_a_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@115963.4]
+  assign auto_tl_in_d_bits_opcode = {{2'd0}, _T_23037}; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@115963.4]
+  assign auto_tl_in_d_bits_size = _T_23039[1:0]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@115963.4]
+  assign auto_tl_in_d_bits_source = _T_23039[7:2]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@115963.4]
+  assign auto_tl_in_d_bits_data = _GEN_5063 ? _GEN_5575 : 32'h0; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@115963.4]
+  assign auto_dmi_in_a_ready = auto_dmi_in_d_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@115962.4]
+  assign auto_dmi_in_d_valid = auto_dmi_in_a_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@115962.4]
+  assign auto_dmi_in_d_bits_opcode = {{2'd0}, _T_2720}; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@115962.4]
+  assign auto_dmi_in_d_bits_size = _T_2722[1:0]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@115962.4]
+  assign auto_dmi_in_d_bits_source = _T_2722[2]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@115962.4]
+  assign auto_dmi_in_d_bits_data = _GEN_282 ? _GEN_314 : 32'h0; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@115962.4]
+  assign io_innerCtrl_ready = 1'h1; // @[Debug.scala 465:24:shc.marmotcaravel.MarmotCaravelConfig.fir@116160.4]
+  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@115886.4]
+  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@115887.4]
+  assign TLMonitor_io_in_a_ready = auto_dmi_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@115920.4]
+  assign TLMonitor_io_in_a_valid = auto_dmi_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@115920.4]
+  assign TLMonitor_io_in_a_bits_opcode = auto_dmi_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@115920.4]
+  assign TLMonitor_io_in_a_bits_param = auto_dmi_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@115920.4]
+  assign TLMonitor_io_in_a_bits_size = auto_dmi_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@115920.4]
+  assign TLMonitor_io_in_a_bits_source = auto_dmi_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@115920.4]
+  assign TLMonitor_io_in_a_bits_address = auto_dmi_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@115920.4]
+  assign TLMonitor_io_in_a_bits_mask = auto_dmi_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@115920.4]
+  assign TLMonitor_io_in_a_bits_corrupt = auto_dmi_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@115920.4]
+  assign TLMonitor_io_in_d_ready = auto_dmi_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@115920.4]
+  assign TLMonitor_io_in_d_valid = auto_dmi_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@115920.4]
+  assign TLMonitor_io_in_d_bits_opcode = {{2'd0}, _T_2720}; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@115920.4]
+  assign TLMonitor_io_in_d_bits_size = _T_2722[1:0]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@115920.4]
+  assign TLMonitor_io_in_d_bits_source = _T_2722[2]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@115920.4]
+  assign TLMonitor_1_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@115925.4]
+  assign TLMonitor_1_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@115926.4]
+  assign TLMonitor_1_io_in_a_ready = auto_tl_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@115959.4]
+  assign TLMonitor_1_io_in_a_valid = auto_tl_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@115959.4]
+  assign TLMonitor_1_io_in_a_bits_opcode = auto_tl_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@115959.4]
+  assign TLMonitor_1_io_in_a_bits_param = auto_tl_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@115959.4]
+  assign TLMonitor_1_io_in_a_bits_size = auto_tl_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@115959.4]
+  assign TLMonitor_1_io_in_a_bits_source = auto_tl_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@115959.4]
+  assign TLMonitor_1_io_in_a_bits_address = auto_tl_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@115959.4]
+  assign TLMonitor_1_io_in_a_bits_mask = auto_tl_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@115959.4]
+  assign TLMonitor_1_io_in_a_bits_corrupt = auto_tl_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@115959.4]
+  assign TLMonitor_1_io_in_d_ready = auto_tl_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@115959.4]
+  assign TLMonitor_1_io_in_d_valid = auto_tl_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@115959.4]
+  assign TLMonitor_1_io_in_d_bits_opcode = {{2'd0}, _T_23037}; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@115959.4]
+  assign TLMonitor_1_io_in_d_bits_size = _T_23039[1:0]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@115959.4]
+  assign TLMonitor_1_io_in_d_bits_source = _T_23039[7:2]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@115959.4]
+  assign _GEN_5685 = _T_1429 == 1'h0; // @[Debug.scala 766:15:shc.marmotcaravel.MarmotCaravelConfig.fir@121336.12]
+  assign _GEN_5686 = goAbstract == 1'h0; // @[Debug.scala 766:15:shc.marmotcaravel.MarmotCaravelConfig.fir@121336.12]
+  assign _GEN_5687 = _GEN_5685 & _GEN_5686; // @[Debug.scala 766:15:shc.marmotcaravel.MarmotCaravelConfig.fir@121336.12]
+  assign _GEN_5688 = _GEN_5687 & hartGoingWrEn; // @[Debug.scala 766:15:shc.marmotcaravel.MarmotCaravelConfig.fir@121336.12]
+  assign _GEN_5693 = ABSTRACTCSWrEnLegal == 1'h0; // @[Debug.scala 1024:15:shc.marmotcaravel.MarmotCaravelConfig.fir@191521.14]
+  assign _GEN_5694 = _T_76325 == 1'h0; // @[Debug.scala 1024:15:shc.marmotcaravel.MarmotCaravelConfig.fir@191521.14]
+  assign _GEN_5695 = _GEN_5693 & _GEN_5694; // @[Debug.scala 1024:15:shc.marmotcaravel.MarmotCaravelConfig.fir@191521.14]
+  assign _GEN_5696 = _GEN_5695 & _T_76326; // @[Debug.scala 1024:15:shc.marmotcaravel.MarmotCaravelConfig.fir@191521.14]
+  assign _GEN_5697 = _GEN_5696 & hartExceptionWrEn; // @[Debug.scala 1024:15:shc.marmotcaravel.MarmotCaravelConfig.fir@191521.14]
+  assign _GEN_5706 = _T_76326 == 1'h0; // @[Debug.scala 1029:13:shc.marmotcaravel.MarmotCaravelConfig.fir@191535.14]
+  assign _GEN_5707 = _GEN_5695 & _GEN_5706; // @[Debug.scala 1029:13:shc.marmotcaravel.MarmotCaravelConfig.fir@191535.14]
+  assign _GEN_5708 = _GEN_5707 & _T_76335; // @[Debug.scala 1029:13:shc.marmotcaravel.MarmotCaravelConfig.fir@191535.14]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  haltedBitRegs_0 = _RAND_0[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  resumeReqRegs_0 = _RAND_1[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  haveResetBitRegs_0 = _RAND_2[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  selectedHartReg = _RAND_3[9:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  ABSTRACTCSReg_cmderr = _RAND_4[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  ctrlStateReg = _RAND_5[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {1{`RANDOM}};
+  COMMANDRdData_cmdtype = _RAND_6[7:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {1{`RANDOM}};
+  COMMANDRdData_control = _RAND_7[23:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_8 = {1{`RANDOM}};
+  ABSTRACTAUTOReg_autoexecdata = _RAND_8[11:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_9 = {1{`RANDOM}};
+  ABSTRACTAUTOReg_autoexecprogbuf = _RAND_9[15:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_10 = {1{`RANDOM}};
+  abstractDataMem_0 = _RAND_10[7:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_11 = {1{`RANDOM}};
+  abstractDataMem_1 = _RAND_11[7:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_12 = {1{`RANDOM}};
+  abstractDataMem_2 = _RAND_12[7:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_13 = {1{`RANDOM}};
+  abstractDataMem_3 = _RAND_13[7:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_14 = {1{`RANDOM}};
+  programBufferMem_0 = _RAND_14[7:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_15 = {1{`RANDOM}};
+  programBufferMem_1 = _RAND_15[7:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_16 = {1{`RANDOM}};
+  programBufferMem_2 = _RAND_16[7:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_17 = {1{`RANDOM}};
+  programBufferMem_3 = _RAND_17[7:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_18 = {1{`RANDOM}};
+  programBufferMem_4 = _RAND_18[7:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_19 = {1{`RANDOM}};
+  programBufferMem_5 = _RAND_19[7:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_20 = {1{`RANDOM}};
+  programBufferMem_6 = _RAND_20[7:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_21 = {1{`RANDOM}};
+  programBufferMem_7 = _RAND_21[7:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_22 = {1{`RANDOM}};
+  programBufferMem_8 = _RAND_22[7:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_23 = {1{`RANDOM}};
+  programBufferMem_9 = _RAND_23[7:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_24 = {1{`RANDOM}};
+  programBufferMem_10 = _RAND_24[7:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_25 = {1{`RANDOM}};
+  programBufferMem_11 = _RAND_25[7:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_26 = {1{`RANDOM}};
+  programBufferMem_12 = _RAND_26[7:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_27 = {1{`RANDOM}};
+  programBufferMem_13 = _RAND_27[7:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_28 = {1{`RANDOM}};
+  programBufferMem_14 = _RAND_28[7:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_29 = {1{`RANDOM}};
+  programBufferMem_15 = _RAND_29[7:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_30 = {1{`RANDOM}};
+  programBufferMem_16 = _RAND_30[7:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_31 = {1{`RANDOM}};
+  programBufferMem_17 = _RAND_31[7:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_32 = {1{`RANDOM}};
+  programBufferMem_18 = _RAND_32[7:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_33 = {1{`RANDOM}};
+  programBufferMem_19 = _RAND_33[7:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_34 = {1{`RANDOM}};
+  programBufferMem_20 = _RAND_34[7:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_35 = {1{`RANDOM}};
+  programBufferMem_21 = _RAND_35[7:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_36 = {1{`RANDOM}};
+  programBufferMem_22 = _RAND_36[7:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_37 = {1{`RANDOM}};
+  programBufferMem_23 = _RAND_37[7:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_38 = {1{`RANDOM}};
+  programBufferMem_24 = _RAND_38[7:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_39 = {1{`RANDOM}};
+  programBufferMem_25 = _RAND_39[7:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_40 = {1{`RANDOM}};
+  programBufferMem_26 = _RAND_40[7:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_41 = {1{`RANDOM}};
+  programBufferMem_27 = _RAND_41[7:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_42 = {1{`RANDOM}};
+  programBufferMem_28 = _RAND_42[7:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_43 = {1{`RANDOM}};
+  programBufferMem_29 = _RAND_43[7:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_44 = {1{`RANDOM}};
+  programBufferMem_30 = _RAND_44[7:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_45 = {1{`RANDOM}};
+  programBufferMem_31 = _RAND_45[7:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_46 = {1{`RANDOM}};
+  programBufferMem_32 = _RAND_46[7:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_47 = {1{`RANDOM}};
+  programBufferMem_33 = _RAND_47[7:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_48 = {1{`RANDOM}};
+  programBufferMem_34 = _RAND_48[7:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_49 = {1{`RANDOM}};
+  programBufferMem_35 = _RAND_49[7:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_50 = {1{`RANDOM}};
+  programBufferMem_36 = _RAND_50[7:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_51 = {1{`RANDOM}};
+  programBufferMem_37 = _RAND_51[7:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_52 = {1{`RANDOM}};
+  programBufferMem_38 = _RAND_52[7:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_53 = {1{`RANDOM}};
+  programBufferMem_39 = _RAND_53[7:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_54 = {1{`RANDOM}};
+  programBufferMem_40 = _RAND_54[7:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_55 = {1{`RANDOM}};
+  programBufferMem_41 = _RAND_55[7:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_56 = {1{`RANDOM}};
+  programBufferMem_42 = _RAND_56[7:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_57 = {1{`RANDOM}};
+  programBufferMem_43 = _RAND_57[7:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_58 = {1{`RANDOM}};
+  programBufferMem_44 = _RAND_58[7:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_59 = {1{`RANDOM}};
+  programBufferMem_45 = _RAND_59[7:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_60 = {1{`RANDOM}};
+  programBufferMem_46 = _RAND_60[7:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_61 = {1{`RANDOM}};
+  programBufferMem_47 = _RAND_61[7:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_62 = {1{`RANDOM}};
+  programBufferMem_48 = _RAND_62[7:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_63 = {1{`RANDOM}};
+  programBufferMem_49 = _RAND_63[7:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_64 = {1{`RANDOM}};
+  programBufferMem_50 = _RAND_64[7:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_65 = {1{`RANDOM}};
+  programBufferMem_51 = _RAND_65[7:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_66 = {1{`RANDOM}};
+  programBufferMem_52 = _RAND_66[7:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_67 = {1{`RANDOM}};
+  programBufferMem_53 = _RAND_67[7:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_68 = {1{`RANDOM}};
+  programBufferMem_54 = _RAND_68[7:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_69 = {1{`RANDOM}};
+  programBufferMem_55 = _RAND_69[7:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_70 = {1{`RANDOM}};
+  programBufferMem_56 = _RAND_70[7:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_71 = {1{`RANDOM}};
+  programBufferMem_57 = _RAND_71[7:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_72 = {1{`RANDOM}};
+  programBufferMem_58 = _RAND_72[7:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_73 = {1{`RANDOM}};
+  programBufferMem_59 = _RAND_73[7:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_74 = {1{`RANDOM}};
+  programBufferMem_60 = _RAND_74[7:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_75 = {1{`RANDOM}};
+  programBufferMem_61 = _RAND_75[7:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_76 = {1{`RANDOM}};
+  programBufferMem_62 = _RAND_76[7:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_77 = {1{`RANDOM}};
+  programBufferMem_63 = _RAND_77[7:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_78 = {1{`RANDOM}};
+  goReg = _RAND_78[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_79 = {1{`RANDOM}};
+  abstractGeneratedMem_0 = _RAND_79[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_80 = {1{`RANDOM}};
+  abstractGeneratedMem_1 = _RAND_80[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      haltedBitRegs_0 <= 1'h0;
+    end else begin
+      if (_T_1429) begin
+        haltedBitRegs_0 <= 1'h0;
+      end else begin
+        if (hartHaltedWrEn) begin
+          if (_T_2673) begin
+            haltedBitRegs_0 <= 1'h1;
+          end
+        end else begin
+          if (hartResumingWrEn) begin
+            if (_T_2673) begin
+              haltedBitRegs_0 <= 1'h0;
+            end
+          end
+        end
+      end
+    end
+    if (reset) begin
+      resumeReqRegs_0 <= 1'h0;
+    end else begin
+      if (_T_1429) begin
+        resumeReqRegs_0 <= 1'h0;
+      end else begin
+        if (resumereq) begin
+          resumeReqRegs_0 <= 1'h1;
+        end else begin
+          if (hartResumingWrEn) begin
+            if (_T_2673) begin
+              resumeReqRegs_0 <= 1'h0;
+            end
+          end
+        end
+      end
+    end
+    if (reset) begin
+      haveResetBitRegs_0 <= 1'h1;
+    end else begin
+      if (_T_1306) begin
+        if (io_innerCtrl_bits_ackhavereset) begin
+          haveResetBitRegs_0 <= 1'h0;
+        end
+      end
+    end
+    if (reset) begin
+      selectedHartReg <= 10'h0;
+    end else begin
+      if (_T_1306) begin
+        selectedHartReg <= io_innerCtrl_bits_hartsel;
+      end
+    end
+    if (_T_1429) begin
+      ABSTRACTCSReg_cmderr <= 3'h0;
+    end else begin
+      if (errorBusy) begin
+        ABSTRACTCSReg_cmderr <= 3'h1;
+      end else begin
+        if (errorException) begin
+          ABSTRACTCSReg_cmderr <= 3'h3;
+        end else begin
+          if (errorUnsupported) begin
+            ABSTRACTCSReg_cmderr <= 3'h2;
+          end else begin
+            if (errorHaltResume) begin
+              ABSTRACTCSReg_cmderr <= 3'h4;
+            end else begin
+              if (ABSTRACTCSWrEn) begin
+                ABSTRACTCSReg_cmderr <= _T_1431;
+              end
+            end
+          end
+        end
+      end
+    end
+    if (_T_1429) begin
+      ctrlStateReg <= 2'h0;
+    end else begin
+      if (ABSTRACTCSWrEnLegal) begin
+        if (_T_76323) begin
+          ctrlStateReg <= 2'h1;
+        end
+      end else begin
+        if (_T_76325) begin
+          if (commandRegIsUnsupported) begin
+            ctrlStateReg <= 2'h0;
+          end else begin
+            if (commandRegBadHaltResume) begin
+              ctrlStateReg <= 2'h0;
+            end else begin
+              ctrlStateReg <= 2'h2;
+            end
+          end
+        end else begin
+          if (_T_76326) begin
+            if (hartExceptionWrEn) begin
+              ctrlStateReg <= 2'h0;
+            end else begin
+              if (_T_76330) begin
+                ctrlStateReg <= 2'h0;
+              end
+            end
+          end
+        end
+      end
+    end
+    if (_T_1429) begin
+      COMMANDRdData_cmdtype <= 8'h0;
+    end else begin
+      if (COMMANDWrEn) begin
+        COMMANDRdData_cmdtype <= COMMANDWrData_cmdtype;
+      end
+    end
+    if (_T_1429) begin
+      COMMANDRdData_control <= 24'h0;
+    end else begin
+      if (COMMANDWrEn) begin
+        COMMANDRdData_control <= COMMANDWrData_control;
+      end
+    end
+    if (_T_1429) begin
+      ABSTRACTAUTOReg_autoexecdata <= 12'h0;
+    end else begin
+      if (ABSTRACTAUTOWrEn) begin
+        ABSTRACTAUTOReg_autoexecdata <= _T_1457;
+      end
+    end
+    if (_T_1429) begin
+      ABSTRACTAUTOReg_autoexecprogbuf <= 16'h0;
+    end else begin
+      if (ABSTRACTAUTOWrEn) begin
+        ABSTRACTAUTOReg_autoexecprogbuf <= ABSTRACTAUTOWrData_autoexecprogbuf;
+      end
+    end
+    if (_T_1429) begin
+      abstractDataMem_0 <= 8'h0;
+    end else begin
+      if (_T_39132) begin
+        abstractDataMem_0 <= _T_28459;
+      end else begin
+        if (_T_6243) begin
+          if (dmiAbstractDataWrEnMaybe_0) begin
+            abstractDataMem_0 <= _T_3156;
+          end
+        end
+      end
+    end
+    if (_T_1429) begin
+      abstractDataMem_1 <= 8'h0;
+    end else begin
+      if (_T_39157) begin
+        abstractDataMem_1 <= _T_28484;
+      end else begin
+        if (_T_6244) begin
+          if (dmiAbstractDataWrEnMaybe_1) begin
+            abstractDataMem_1 <= _T_3181;
+          end
+        end
+      end
+    end
+    if (_T_1429) begin
+      abstractDataMem_2 <= 8'h0;
+    end else begin
+      if (_T_39184) begin
+        abstractDataMem_2 <= _T_28511;
+      end else begin
+        if (_T_6245) begin
+          if (dmiAbstractDataWrEnMaybe_2) begin
+            abstractDataMem_2 <= _T_3208;
+          end
+        end
+      end
+    end
+    if (_T_1429) begin
+      abstractDataMem_3 <= 8'h0;
+    end else begin
+      if (_T_39211) begin
+        abstractDataMem_3 <= _T_28538;
+      end else begin
+        if (_T_6246) begin
+          if (dmiAbstractDataWrEnMaybe_3) begin
+            abstractDataMem_3 <= _T_3235;
+          end
+        end
+      end
+    end
+    if (_T_1429) begin
+      programBufferMem_0 <= 8'h0;
+    end else begin
+      if (_T_46153) begin
+        programBufferMem_0 <= _T_28459;
+      end else begin
+        if (_T_6247) begin
+          if (dmiProgramBufferWrEnMaybe_0) begin
+            programBufferMem_0 <= _T_3156;
+          end
+        end
+      end
+    end
+    if (_T_1429) begin
+      programBufferMem_1 <= 8'h0;
+    end else begin
+      if (_T_46178) begin
+        programBufferMem_1 <= _T_28484;
+      end else begin
+        if (_T_6248) begin
+          if (dmiProgramBufferWrEnMaybe_1) begin
+            programBufferMem_1 <= _T_3181;
+          end
+        end
+      end
+    end
+    if (_T_1429) begin
+      programBufferMem_2 <= 8'h0;
+    end else begin
+      if (_T_46205) begin
+        programBufferMem_2 <= _T_28511;
+      end else begin
+        if (_T_6249) begin
+          if (dmiProgramBufferWrEnMaybe_2) begin
+            programBufferMem_2 <= _T_3208;
+          end
+        end
+      end
+    end
+    if (_T_1429) begin
+      programBufferMem_3 <= 8'h0;
+    end else begin
+      if (_T_46232) begin
+        programBufferMem_3 <= _T_28538;
+      end else begin
+        if (_T_6250) begin
+          if (dmiProgramBufferWrEnMaybe_3) begin
+            programBufferMem_3 <= _T_3235;
+          end
+        end
+      end
+    end
+    if (_T_1429) begin
+      programBufferMem_4 <= 8'h0;
+    end else begin
+      if (_T_49252) begin
+        programBufferMem_4 <= _T_28459;
+      end else begin
+        if (_T_6251) begin
+          if (dmiProgramBufferWrEnMaybe_4) begin
+            programBufferMem_4 <= _T_3156;
+          end
+        end
+      end
+    end
+    if (_T_1429) begin
+      programBufferMem_5 <= 8'h0;
+    end else begin
+      if (_T_49277) begin
+        programBufferMem_5 <= _T_28484;
+      end else begin
+        if (_T_6252) begin
+          if (dmiProgramBufferWrEnMaybe_5) begin
+            programBufferMem_5 <= _T_3181;
+          end
+        end
+      end
+    end
+    if (_T_1429) begin
+      programBufferMem_6 <= 8'h0;
+    end else begin
+      if (_T_49304) begin
+        programBufferMem_6 <= _T_28511;
+      end else begin
+        if (_T_6253) begin
+          if (dmiProgramBufferWrEnMaybe_6) begin
+            programBufferMem_6 <= _T_3208;
+          end
+        end
+      end
+    end
+    if (_T_1429) begin
+      programBufferMem_7 <= 8'h0;
+    end else begin
+      if (_T_49331) begin
+        programBufferMem_7 <= _T_28538;
+      end else begin
+        if (_T_6254) begin
+          if (dmiProgramBufferWrEnMaybe_7) begin
+            programBufferMem_7 <= _T_3235;
+          end
+        end
+      end
+    end
+    if (_T_1429) begin
+      programBufferMem_8 <= 8'h0;
+    end else begin
+      if (_T_56086) begin
+        programBufferMem_8 <= _T_28459;
+      end else begin
+        if (_T_6255) begin
+          if (dmiProgramBufferWrEnMaybe_8) begin
+            programBufferMem_8 <= _T_3156;
+          end
+        end
+      end
+    end
+    if (_T_1429) begin
+      programBufferMem_9 <= 8'h0;
+    end else begin
+      if (_T_56111) begin
+        programBufferMem_9 <= _T_28484;
+      end else begin
+        if (_T_6256) begin
+          if (dmiProgramBufferWrEnMaybe_9) begin
+            programBufferMem_9 <= _T_3181;
+          end
+        end
+      end
+    end
+    if (_T_1429) begin
+      programBufferMem_10 <= 8'h0;
+    end else begin
+      if (_T_56138) begin
+        programBufferMem_10 <= _T_28511;
+      end else begin
+        if (_T_6257) begin
+          if (dmiProgramBufferWrEnMaybe_10) begin
+            programBufferMem_10 <= _T_3208;
+          end
+        end
+      end
+    end
+    if (_T_1429) begin
+      programBufferMem_11 <= 8'h0;
+    end else begin
+      if (_T_56165) begin
+        programBufferMem_11 <= _T_28538;
+      end else begin
+        if (_T_6258) begin
+          if (dmiProgramBufferWrEnMaybe_11) begin
+            programBufferMem_11 <= _T_3235;
+          end
+        end
+      end
+    end
+    if (_T_1429) begin
+      programBufferMem_12 <= 8'h0;
+    end else begin
+      if (_T_33757) begin
+        programBufferMem_12 <= _T_28459;
+      end else begin
+        if (_T_6259) begin
+          if (dmiProgramBufferWrEnMaybe_12) begin
+            programBufferMem_12 <= _T_3156;
+          end
+        end
+      end
+    end
+    if (_T_1429) begin
+      programBufferMem_13 <= 8'h0;
+    end else begin
+      if (_T_33782) begin
+        programBufferMem_13 <= _T_28484;
+      end else begin
+        if (_T_6260) begin
+          if (dmiProgramBufferWrEnMaybe_13) begin
+            programBufferMem_13 <= _T_3181;
+          end
+        end
+      end
+    end
+    if (_T_1429) begin
+      programBufferMem_14 <= 8'h0;
+    end else begin
+      if (_T_33809) begin
+        programBufferMem_14 <= _T_28511;
+      end else begin
+        if (_T_6261) begin
+          if (dmiProgramBufferWrEnMaybe_14) begin
+            programBufferMem_14 <= _T_3208;
+          end
+        end
+      end
+    end
+    if (_T_1429) begin
+      programBufferMem_15 <= 8'h0;
+    end else begin
+      if (_T_33836) begin
+        programBufferMem_15 <= _T_28538;
+      end else begin
+        if (_T_6262) begin
+          if (dmiProgramBufferWrEnMaybe_15) begin
+            programBufferMem_15 <= _T_3235;
+          end
+        end
+      end
+    end
+    if (_T_1429) begin
+      programBufferMem_16 <= 8'h0;
+    end else begin
+      if (_T_40828) begin
+        programBufferMem_16 <= _T_28459;
+      end else begin
+        if (_T_6263) begin
+          if (dmiProgramBufferWrEnMaybe_16) begin
+            programBufferMem_16 <= _T_3156;
+          end
+        end
+      end
+    end
+    if (_T_1429) begin
+      programBufferMem_17 <= 8'h0;
+    end else begin
+      if (_T_40853) begin
+        programBufferMem_17 <= _T_28484;
+      end else begin
+        if (_T_6264) begin
+          if (dmiProgramBufferWrEnMaybe_17) begin
+            programBufferMem_17 <= _T_3181;
+          end
+        end
+      end
+    end
+    if (_T_1429) begin
+      programBufferMem_18 <= 8'h0;
+    end else begin
+      if (_T_40880) begin
+        programBufferMem_18 <= _T_28511;
+      end else begin
+        if (_T_6265) begin
+          if (dmiProgramBufferWrEnMaybe_18) begin
+            programBufferMem_18 <= _T_3208;
+          end
+        end
+      end
+    end
+    if (_T_1429) begin
+      programBufferMem_19 <= 8'h0;
+    end else begin
+      if (_T_40907) begin
+        programBufferMem_19 <= _T_28538;
+      end else begin
+        if (_T_6266) begin
+          if (dmiProgramBufferWrEnMaybe_19) begin
+            programBufferMem_19 <= _T_3235;
+          end
+        end
+      end
+    end
+    if (_T_1429) begin
+      programBufferMem_20 <= 8'h0;
+    end else begin
+      if (_T_46895) begin
+        programBufferMem_20 <= _T_28459;
+      end else begin
+        if (_T_6267) begin
+          if (dmiProgramBufferWrEnMaybe_20) begin
+            programBufferMem_20 <= _T_3156;
+          end
+        end
+      end
+    end
+    if (_T_1429) begin
+      programBufferMem_21 <= 8'h0;
+    end else begin
+      if (_T_46920) begin
+        programBufferMem_21 <= _T_28484;
+      end else begin
+        if (_T_6268) begin
+          if (dmiProgramBufferWrEnMaybe_21) begin
+            programBufferMem_21 <= _T_3181;
+          end
+        end
+      end
+    end
+    if (_T_1429) begin
+      programBufferMem_22 <= 8'h0;
+    end else begin
+      if (_T_46947) begin
+        programBufferMem_22 <= _T_28511;
+      end else begin
+        if (_T_6269) begin
+          if (dmiProgramBufferWrEnMaybe_22) begin
+            programBufferMem_22 <= _T_3208;
+          end
+        end
+      end
+    end
+    if (_T_1429) begin
+      programBufferMem_23 <= 8'h0;
+    end else begin
+      if (_T_46974) begin
+        programBufferMem_23 <= _T_28538;
+      end else begin
+        if (_T_6270) begin
+          if (dmiProgramBufferWrEnMaybe_23) begin
+            programBufferMem_23 <= _T_3235;
+          end
+        end
+      end
+    end
+    if (_T_1429) begin
+      programBufferMem_24 <= 8'h0;
+    end else begin
+      if (_T_54708) begin
+        programBufferMem_24 <= _T_28459;
+      end else begin
+        if (_T_6271) begin
+          if (dmiProgramBufferWrEnMaybe_24) begin
+            programBufferMem_24 <= _T_3156;
+          end
+        end
+      end
+    end
+    if (_T_1429) begin
+      programBufferMem_25 <= 8'h0;
+    end else begin
+      if (_T_54733) begin
+        programBufferMem_25 <= _T_28484;
+      end else begin
+        if (_T_6272) begin
+          if (dmiProgramBufferWrEnMaybe_25) begin
+            programBufferMem_25 <= _T_3181;
+          end
+        end
+      end
+    end
+    if (_T_1429) begin
+      programBufferMem_26 <= 8'h0;
+    end else begin
+      if (_T_54760) begin
+        programBufferMem_26 <= _T_28511;
+      end else begin
+        if (_T_6273) begin
+          if (dmiProgramBufferWrEnMaybe_26) begin
+            programBufferMem_26 <= _T_3208;
+          end
+        end
+      end
+    end
+    if (_T_1429) begin
+      programBufferMem_27 <= 8'h0;
+    end else begin
+      if (_T_54787) begin
+        programBufferMem_27 <= _T_28538;
+      end else begin
+        if (_T_6274) begin
+          if (dmiProgramBufferWrEnMaybe_27) begin
+            programBufferMem_27 <= _T_3235;
+          end
+        end
+      end
+    end
+    if (_T_1429) begin
+      programBufferMem_28 <= 8'h0;
+    end else begin
+      if (_T_59160) begin
+        programBufferMem_28 <= _T_28459;
+      end else begin
+        if (_T_6275) begin
+          if (dmiProgramBufferWrEnMaybe_28) begin
+            programBufferMem_28 <= _T_3156;
+          end
+        end
+      end
+    end
+    if (_T_1429) begin
+      programBufferMem_29 <= 8'h0;
+    end else begin
+      if (_T_59185) begin
+        programBufferMem_29 <= _T_28484;
+      end else begin
+        if (_T_6276) begin
+          if (dmiProgramBufferWrEnMaybe_29) begin
+            programBufferMem_29 <= _T_3181;
+          end
+        end
+      end
+    end
+    if (_T_1429) begin
+      programBufferMem_30 <= 8'h0;
+    end else begin
+      if (_T_59212) begin
+        programBufferMem_30 <= _T_28511;
+      end else begin
+        if (_T_6277) begin
+          if (dmiProgramBufferWrEnMaybe_30) begin
+            programBufferMem_30 <= _T_3208;
+          end
+        end
+      end
+    end
+    if (_T_1429) begin
+      programBufferMem_31 <= 8'h0;
+    end else begin
+      if (_T_59239) begin
+        programBufferMem_31 <= _T_28538;
+      end else begin
+        if (_T_6278) begin
+          if (dmiProgramBufferWrEnMaybe_31) begin
+            programBufferMem_31 <= _T_3235;
+          end
+        end
+      end
+    end
+    if (_T_1429) begin
+      programBufferMem_32 <= 8'h0;
+    end else begin
+      if (_T_33121) begin
+        programBufferMem_32 <= _T_28459;
+      end else begin
+        if (_T_6279) begin
+          if (dmiProgramBufferWrEnMaybe_32) begin
+            programBufferMem_32 <= _T_3156;
+          end
+        end
+      end
+    end
+    if (_T_1429) begin
+      programBufferMem_33 <= 8'h0;
+    end else begin
+      if (_T_33146) begin
+        programBufferMem_33 <= _T_28484;
+      end else begin
+        if (_T_6280) begin
+          if (dmiProgramBufferWrEnMaybe_33) begin
+            programBufferMem_33 <= _T_3181;
+          end
+        end
+      end
+    end
+    if (_T_1429) begin
+      programBufferMem_34 <= 8'h0;
+    end else begin
+      if (_T_33173) begin
+        programBufferMem_34 <= _T_28511;
+      end else begin
+        if (_T_6281) begin
+          if (dmiProgramBufferWrEnMaybe_34) begin
+            programBufferMem_34 <= _T_3208;
+          end
+        end
+      end
+    end
+    if (_T_1429) begin
+      programBufferMem_35 <= 8'h0;
+    end else begin
+      if (_T_33200) begin
+        programBufferMem_35 <= _T_28538;
+      end else begin
+        if (_T_6282) begin
+          if (dmiProgramBufferWrEnMaybe_35) begin
+            programBufferMem_35 <= _T_3235;
+          end
+        end
+      end
+    end
+    if (_T_1429) begin
+      programBufferMem_36 <= 8'h0;
+    end else begin
+      if (_T_29517) begin
+        programBufferMem_36 <= _T_28459;
+      end else begin
+        if (_T_6283) begin
+          if (dmiProgramBufferWrEnMaybe_36) begin
+            programBufferMem_36 <= _T_3156;
+          end
+        end
+      end
+    end
+    if (_T_1429) begin
+      programBufferMem_37 <= 8'h0;
+    end else begin
+      if (_T_29542) begin
+        programBufferMem_37 <= _T_28484;
+      end else begin
+        if (_T_6284) begin
+          if (dmiProgramBufferWrEnMaybe_37) begin
+            programBufferMem_37 <= _T_3181;
+          end
+        end
+      end
+    end
+    if (_T_1429) begin
+      programBufferMem_38 <= 8'h0;
+    end else begin
+      if (_T_29569) begin
+        programBufferMem_38 <= _T_28511;
+      end else begin
+        if (_T_6285) begin
+          if (dmiProgramBufferWrEnMaybe_38) begin
+            programBufferMem_38 <= _T_3208;
+          end
+        end
+      end
+    end
+    if (_T_1429) begin
+      programBufferMem_39 <= 8'h0;
+    end else begin
+      if (_T_29596) begin
+        programBufferMem_39 <= _T_28538;
+      end else begin
+        if (_T_6286) begin
+          if (dmiProgramBufferWrEnMaybe_39) begin
+            programBufferMem_39 <= _T_3235;
+          end
+        end
+      end
+    end
+    if (_T_1429) begin
+      programBufferMem_40 <= 8'h0;
+    end else begin
+      if (_T_52775) begin
+        programBufferMem_40 <= _T_28459;
+      end else begin
+        if (_T_6287) begin
+          if (dmiProgramBufferWrEnMaybe_40) begin
+            programBufferMem_40 <= _T_3156;
+          end
+        end
+      end
+    end
+    if (_T_1429) begin
+      programBufferMem_41 <= 8'h0;
+    end else begin
+      if (_T_52800) begin
+        programBufferMem_41 <= _T_28484;
+      end else begin
+        if (_T_6288) begin
+          if (dmiProgramBufferWrEnMaybe_41) begin
+            programBufferMem_41 <= _T_3181;
+          end
+        end
+      end
+    end
+    if (_T_1429) begin
+      programBufferMem_42 <= 8'h0;
+    end else begin
+      if (_T_52827) begin
+        programBufferMem_42 <= _T_28511;
+      end else begin
+        if (_T_6289) begin
+          if (dmiProgramBufferWrEnMaybe_42) begin
+            programBufferMem_42 <= _T_3208;
+          end
+        end
+      end
+    end
+    if (_T_1429) begin
+      programBufferMem_43 <= 8'h0;
+    end else begin
+      if (_T_52854) begin
+        programBufferMem_43 <= _T_28538;
+      end else begin
+        if (_T_6290) begin
+          if (dmiProgramBufferWrEnMaybe_43) begin
+            programBufferMem_43 <= _T_3235;
+          end
+        end
+      end
+    end
+    if (_T_1429) begin
+      programBufferMem_44 <= 8'h0;
+    end else begin
+      if (_T_44987) begin
+        programBufferMem_44 <= _T_28459;
+      end else begin
+        if (_T_6291) begin
+          if (dmiProgramBufferWrEnMaybe_44) begin
+            programBufferMem_44 <= _T_3156;
+          end
+        end
+      end
+    end
+    if (_T_1429) begin
+      programBufferMem_45 <= 8'h0;
+    end else begin
+      if (_T_45012) begin
+        programBufferMem_45 <= _T_28484;
+      end else begin
+        if (_T_6292) begin
+          if (dmiProgramBufferWrEnMaybe_45) begin
+            programBufferMem_45 <= _T_3181;
+          end
+        end
+      end
+    end
+    if (_T_1429) begin
+      programBufferMem_46 <= 8'h0;
+    end else begin
+      if (_T_45039) begin
+        programBufferMem_46 <= _T_28511;
+      end else begin
+        if (_T_6293) begin
+          if (dmiProgramBufferWrEnMaybe_46) begin
+            programBufferMem_46 <= _T_3208;
+          end
+        end
+      end
+    end
+    if (_T_1429) begin
+      programBufferMem_47 <= 8'h0;
+    end else begin
+      if (_T_45066) begin
+        programBufferMem_47 <= _T_28538;
+      end else begin
+        if (_T_6294) begin
+          if (dmiProgramBufferWrEnMaybe_47) begin
+            programBufferMem_47 <= _T_3235;
+          end
+        end
+      end
+    end
+    if (_T_1429) begin
+      programBufferMem_48 <= 8'h0;
+    end else begin
+      if (_T_36644) begin
+        programBufferMem_48 <= _T_28459;
+      end else begin
+        if (_T_6295) begin
+          if (dmiProgramBufferWrEnMaybe_48) begin
+            programBufferMem_48 <= _T_3156;
+          end
+        end
+      end
+    end
+    if (_T_1429) begin
+      programBufferMem_49 <= 8'h0;
+    end else begin
+      if (_T_36669) begin
+        programBufferMem_49 <= _T_28484;
+      end else begin
+        if (_T_6296) begin
+          if (dmiProgramBufferWrEnMaybe_49) begin
+            programBufferMem_49 <= _T_3181;
+          end
+        end
+      end
+    end
+    if (_T_1429) begin
+      programBufferMem_50 <= 8'h0;
+    end else begin
+      if (_T_36696) begin
+        programBufferMem_50 <= _T_28511;
+      end else begin
+        if (_T_6297) begin
+          if (dmiProgramBufferWrEnMaybe_50) begin
+            programBufferMem_50 <= _T_3208;
+          end
+        end
+      end
+    end
+    if (_T_1429) begin
+      programBufferMem_51 <= 8'h0;
+    end else begin
+      if (_T_36723) begin
+        programBufferMem_51 <= _T_28538;
+      end else begin
+        if (_T_6298) begin
+          if (dmiProgramBufferWrEnMaybe_51) begin
+            programBufferMem_51 <= _T_3235;
+          end
+        end
+      end
+    end
+    if (_T_1429) begin
+      programBufferMem_52 <= 8'h0;
+    end else begin
+      if (_T_34605) begin
+        programBufferMem_52 <= _T_28459;
+      end else begin
+        if (_T_6299) begin
+          if (dmiProgramBufferWrEnMaybe_52) begin
+            programBufferMem_52 <= _T_3156;
+          end
+        end
+      end
+    end
+    if (_T_1429) begin
+      programBufferMem_53 <= 8'h0;
+    end else begin
+      if (_T_34630) begin
+        programBufferMem_53 <= _T_28484;
+      end else begin
+        if (_T_6300) begin
+          if (dmiProgramBufferWrEnMaybe_53) begin
+            programBufferMem_53 <= _T_3181;
+          end
+        end
+      end
+    end
+    if (_T_1429) begin
+      programBufferMem_54 <= 8'h0;
+    end else begin
+      if (_T_34657) begin
+        programBufferMem_54 <= _T_28511;
+      end else begin
+        if (_T_6301) begin
+          if (dmiProgramBufferWrEnMaybe_54) begin
+            programBufferMem_54 <= _T_3208;
+          end
+        end
+      end
+    end
+    if (_T_1429) begin
+      programBufferMem_55 <= 8'h0;
+    end else begin
+      if (_T_34684) begin
+        programBufferMem_55 <= _T_28538;
+      end else begin
+        if (_T_6302) begin
+          if (dmiProgramBufferWrEnMaybe_55) begin
+            programBufferMem_55 <= _T_3235;
+          end
+        end
+      end
+    end
+    if (_T_1429) begin
+      programBufferMem_56 <= 8'h0;
+    end else begin
+      if (_T_59372) begin
+        programBufferMem_56 <= _T_28459;
+      end else begin
+        if (_T_6303) begin
+          if (dmiProgramBufferWrEnMaybe_56) begin
+            programBufferMem_56 <= _T_3156;
+          end
+        end
+      end
+    end
+    if (_T_1429) begin
+      programBufferMem_57 <= 8'h0;
+    end else begin
+      if (_T_59397) begin
+        programBufferMem_57 <= _T_28484;
+      end else begin
+        if (_T_6304) begin
+          if (dmiProgramBufferWrEnMaybe_57) begin
+            programBufferMem_57 <= _T_3181;
+          end
+        end
+      end
+    end
+    if (_T_1429) begin
+      programBufferMem_58 <= 8'h0;
+    end else begin
+      if (_T_59424) begin
+        programBufferMem_58 <= _T_28511;
+      end else begin
+        if (_T_6305) begin
+          if (dmiProgramBufferWrEnMaybe_58) begin
+            programBufferMem_58 <= _T_3208;
+          end
+        end
+      end
+    end
+    if (_T_1429) begin
+      programBufferMem_59 <= 8'h0;
+    end else begin
+      if (_T_59451) begin
+        programBufferMem_59 <= _T_28538;
+      end else begin
+        if (_T_6306) begin
+          if (dmiProgramBufferWrEnMaybe_59) begin
+            programBufferMem_59 <= _T_3235;
+          end
+        end
+      end
+    end
+    if (_T_1429) begin
+      programBufferMem_60 <= 8'h0;
+    end else begin
+      if (_T_47874) begin
+        programBufferMem_60 <= _T_28459;
+      end else begin
+        if (_T_6307) begin
+          if (dmiProgramBufferWrEnMaybe_60) begin
+            programBufferMem_60 <= _T_3156;
+          end
+        end
+      end
+    end
+    if (_T_1429) begin
+      programBufferMem_61 <= 8'h0;
+    end else begin
+      if (_T_47899) begin
+        programBufferMem_61 <= _T_28484;
+      end else begin
+        if (_T_6308) begin
+          if (dmiProgramBufferWrEnMaybe_61) begin
+            programBufferMem_61 <= _T_3181;
+          end
+        end
+      end
+    end
+    if (_T_1429) begin
+      programBufferMem_62 <= 8'h0;
+    end else begin
+      if (_T_47926) begin
+        programBufferMem_62 <= _T_28511;
+      end else begin
+        if (_T_6309) begin
+          if (dmiProgramBufferWrEnMaybe_62) begin
+            programBufferMem_62 <= _T_3208;
+          end
+        end
+      end
+    end
+    if (_T_1429) begin
+      programBufferMem_63 <= 8'h0;
+    end else begin
+      if (_T_47953) begin
+        programBufferMem_63 <= _T_28538;
+      end else begin
+        if (_T_6310) begin
+          if (dmiProgramBufferWrEnMaybe_63) begin
+            programBufferMem_63 <= _T_3235;
+          end
+        end
+      end
+    end
+    if (_T_1429) begin
+      goReg <= 1'h0;
+    end else begin
+      if (goAbstract) begin
+        goReg <= 1'h1;
+      end else begin
+        if (hartGoingWrEn) begin
+          goReg <= 1'h0;
+        end
+      end
+    end
+    if (goAbstract) begin
+      if (accessRegisterCommandReg_transfer) begin
+        if (accessRegisterCommandReg_write) begin
+          abstractGeneratedMem_0 <= _T_20960;
+        end else begin
+          abstractGeneratedMem_0 <= _T_20965;
+        end
+      end else begin
+        abstractGeneratedMem_0 <= 32'h13;
+      end
+    end
+    if (goAbstract) begin
+      if (accessRegisterCommandReg_postexec) begin
+        abstractGeneratedMem_1 <= 32'h13;
+      end else begin
+        abstractGeneratedMem_1 <= 32'h100073;
+      end
+    end
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_5688 & _T_6519) begin
+          $fwrite(32'h80000002,"Assertion failed: Unexpected 'GOING' hart.\n    at Debug.scala:766 assert(hartGoingId === 0.U, \"Unexpected 'GOING' hart.\")//Chisel3 #540 %%x, expected %%x\", hartGoingId, 0.U)\n"); // @[Debug.scala 766:15:shc.marmotcaravel.MarmotCaravelConfig.fir@121336.12]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_5688 & _T_6519) begin
+          $fatal; // @[Debug.scala 766:15:shc.marmotcaravel.MarmotCaravelConfig.fir@121337.12]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: HartSel to HartId Mapping is illegal for this Debug Implementation, because HartID must be < 1024 for it to work.\n    at Debug.scala:778 assert ((hartSelFuncs.hartSelToHartId(selectedHartReg) < 1024.U),\n"); // @[Debug.scala 778:12:shc.marmotcaravel.MarmotCaravelConfig.fir@133640.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Debug.scala 778:12:shc.marmotcaravel.MarmotCaravelConfig.fir@133641.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_5697 & _T_6519) begin
+          $fwrite(32'h80000002,"Assertion failed: Unexpected 'EXCEPTION' hart\n    at Debug.scala:1024 assert(hartExceptionId === 0.U, \"Unexpected 'EXCEPTION' hart\")//Chisel3 #540, %%x, expected %%x\", hartExceptionId, 0.U)\n"); // @[Debug.scala 1024:15:shc.marmotcaravel.MarmotCaravelConfig.fir@191521.14]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_5697 & _T_6519) begin
+          $fatal; // @[Debug.scala 1024:15:shc.marmotcaravel.MarmotCaravelConfig.fir@191522.14]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_5708 & _T_76338) begin
+          $fwrite(32'h80000002,"Assertion failed: Should not be in custom state unless we need it.\n    at Debug.scala:1029 assert(needCustom.B, \"Should not be in custom state unless we need it.\")\n"); // @[Debug.scala 1029:13:shc.marmotcaravel.MarmotCaravelConfig.fir@191535.14]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_5708 & _T_76338) begin
+          $fatal; // @[Debug.scala 1029:13:shc.marmotcaravel.MarmotCaravelConfig.fir@191536.14]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_76346) begin
+          $fwrite(32'h80000002,"Assertion failed: Unexpected EXCEPTION write: should only get it in Debug Module EXEC state\n    at Debug.scala:1042 assert ((!hartExceptionWrEn || ctrlStateReg === CtrlState(Exec)),\n"); // @[Debug.scala 1042:12:shc.marmotcaravel.MarmotCaravelConfig.fir@191558.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_76346) begin
+          $fatal; // @[Debug.scala 1042:12:shc.marmotcaravel.MarmotCaravelConfig.fir@191559.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+endmodule
+module SynchronizerShiftReg_w55_d1( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@191714.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@191715.4]
+  input  [54:0] io_d, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@191717.4]
+  output [54:0] io_q // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@191717.4]
+);
+  reg [54:0] sync_0; // @[ShiftReg.scala 114:16:shc.marmotcaravel.MarmotCaravelConfig.fir@191722.4]
+  reg [63:0] _RAND_0;
+  assign io_q = sync_0; // @[ShiftReg.scala 123:8:shc.marmotcaravel.MarmotCaravelConfig.fir@191724.4]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {2{`RANDOM}};
+  sync_0 = _RAND_0[54:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    sync_0 <= io_d;
+  end
+endmodule
+module AsyncQueueSink_2( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192190.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192191.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192192.4]
+  input         io_deq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192193.4]
+  output        io_deq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192193.4]
+  output [2:0]  io_deq_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192193.4]
+  output [2:0]  io_deq_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192193.4]
+  output [1:0]  io_deq_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192193.4]
+  output        io_deq_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192193.4]
+  output [8:0]  io_deq_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192193.4]
+  output [3:0]  io_deq_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192193.4]
+  output [31:0] io_deq_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192193.4]
+  output        io_deq_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192193.4]
+  input  [2:0]  io_async_mem_0_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192193.4]
+  input  [8:0]  io_async_mem_0_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192193.4]
+  input  [3:0]  io_async_mem_0_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192193.4]
+  input  [31:0] io_async_mem_0_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192193.4]
+  output        io_async_ridx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192193.4]
+  input         io_async_widx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192193.4]
+  output        io_async_safe_ridx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192193.4]
+  input         io_async_safe_widx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192193.4]
+  input         io_async_safe_source_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192193.4]
+  output        io_async_safe_sink_reset_n // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192193.4]
+);
+  wire  ridx_bin_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@192200.4]
+  wire  ridx_bin_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@192200.4]
+  wire  ridx_bin_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@192200.4]
+  wire  ridx_bin_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@192200.4]
+  wire  ridx_bin_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@192200.4]
+  wire  widx_gray_clock; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@192212.4]
+  wire  widx_gray_reset; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@192212.4]
+  wire  widx_gray_io_d; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@192212.4]
+  wire  widx_gray_io_q; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@192212.4]
+  wire  deq_bits_reg_clock; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@192223.4]
+  wire [54:0] deq_bits_reg_io_d; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@192223.4]
+  wire [54:0] deq_bits_reg_io_q; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@192223.4]
+  wire  valid_reg_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@192264.4]
+  wire  valid_reg_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@192264.4]
+  wire  valid_reg_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@192264.4]
+  wire  valid_reg_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@192264.4]
+  wire  valid_reg_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@192264.4]
+  wire  ridx_gray_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@192273.4]
+  wire  ridx_gray_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@192273.4]
+  wire  ridx_gray_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@192273.4]
+  wire  ridx_gray_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@192273.4]
+  wire  ridx_gray_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@192273.4]
+  wire  AsyncValidSync_clock; // @[AsyncQueue.scala 154:31:shc.marmotcaravel.MarmotCaravelConfig.fir@192280.4]
+  wire  AsyncValidSync_reset; // @[AsyncQueue.scala 154:31:shc.marmotcaravel.MarmotCaravelConfig.fir@192280.4]
+  wire  AsyncValidSync_io_out; // @[AsyncQueue.scala 154:31:shc.marmotcaravel.MarmotCaravelConfig.fir@192280.4]
+  wire  AsyncValidSync_1_clock; // @[AsyncQueue.scala 155:31:shc.marmotcaravel.MarmotCaravelConfig.fir@192283.4]
+  wire  AsyncValidSync_1_reset; // @[AsyncQueue.scala 155:31:shc.marmotcaravel.MarmotCaravelConfig.fir@192283.4]
+  wire  AsyncValidSync_1_io_in; // @[AsyncQueue.scala 155:31:shc.marmotcaravel.MarmotCaravelConfig.fir@192283.4]
+  wire  AsyncValidSync_1_io_out; // @[AsyncQueue.scala 155:31:shc.marmotcaravel.MarmotCaravelConfig.fir@192283.4]
+  wire  AsyncValidSync_2_clock; // @[AsyncQueue.scala 156:31:shc.marmotcaravel.MarmotCaravelConfig.fir@192286.4]
+  wire  AsyncValidSync_2_reset; // @[AsyncQueue.scala 156:31:shc.marmotcaravel.MarmotCaravelConfig.fir@192286.4]
+  wire  AsyncValidSync_2_io_in; // @[AsyncQueue.scala 156:31:shc.marmotcaravel.MarmotCaravelConfig.fir@192286.4]
+  wire  AsyncValidSync_2_io_out; // @[AsyncQueue.scala 156:31:shc.marmotcaravel.MarmotCaravelConfig.fir@192286.4]
+  wire  AsyncResetRegVec_w1_i0_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@192315.4]
+  wire  AsyncResetRegVec_w1_i0_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@192315.4]
+  wire  AsyncResetRegVec_w1_i0_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@192315.4]
+  wire  AsyncResetRegVec_w1_i0_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@192315.4]
+  wire  AsyncResetRegVec_w1_i0_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@192315.4]
+  wire  _T_58; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@192197.4]
+  wire  source_ready; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192195.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@192196.4 AsyncQueue.scala 164:18:shc.marmotcaravel.MarmotCaravelConfig.fir@192301.4]
+  wire  _T_59; // @[AsyncQueue.scala 130:49:shc.marmotcaravel.MarmotCaravelConfig.fir@192198.4]
+  wire  _T_63; // @[AsyncQueue.scala 53:43:shc.marmotcaravel.MarmotCaravelConfig.fir@192207.4]
+  wire  ridx; // @[AsyncQueue.scala 53:23:shc.marmotcaravel.MarmotCaravelConfig.fir@192208.4]
+  wire  widx; // @[ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@192217.4 ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@192219.4]
+  wire  _T_67; // @[AsyncQueue.scala 132:36:shc.marmotcaravel.MarmotCaravelConfig.fir@192220.4]
+  wire  valid; // @[AsyncQueue.scala 132:28:shc.marmotcaravel.MarmotCaravelConfig.fir@192221.4]
+  wire [2:0] deq_bits_nxt_opcode; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@192222.4]
+  wire [2:0] deq_bits_nxt_param; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@192222.4]
+  wire [1:0] deq_bits_nxt_size; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@192222.4]
+  wire  deq_bits_nxt_source; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@192222.4]
+  wire [8:0] deq_bits_nxt_address; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@192222.4]
+  wire [3:0] deq_bits_nxt_mask; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@192222.4]
+  wire [31:0] deq_bits_nxt_data; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@192222.4]
+  wire  deq_bits_nxt_corrupt; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@192222.4]
+  wire [32:0] _T_69; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@192227.4]
+  wire [12:0] _T_70; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@192228.4]
+  wire [45:0] _T_71; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@192229.4]
+  wire [2:0] _T_72; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@192230.4]
+  wire [5:0] _T_73; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@192231.4]
+  wire [8:0] _T_74; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@192232.4]
+  wire [54:0] _T_79; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192237.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@192239.4]
+  wire  valid_reg_1; // @[AsyncQueue.scala 147:59:shc.marmotcaravel.MarmotCaravelConfig.fir@192270.4]
+  wire  _T_90; // @[AsyncQueue.scala 157:44:shc.marmotcaravel.MarmotCaravelConfig.fir@192290.4]
+  AsyncResetRegVec_w1_i0 ridx_bin ( // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@192200.4]
+    .clock(ridx_bin_clock),
+    .reset(ridx_bin_reset),
+    .io_d(ridx_bin_io_d),
+    .io_q(ridx_bin_io_q),
+    .io_en(ridx_bin_io_en)
+  );
+  AsyncResetSynchronizerShiftReg_w1_d3_i0 widx_gray ( // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@192212.4]
+    .clock(widx_gray_clock),
+    .reset(widx_gray_reset),
+    .io_d(widx_gray_io_d),
+    .io_q(widx_gray_io_q)
+  );
+  SynchronizerShiftReg_w55_d1 deq_bits_reg ( // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@192223.4]
+    .clock(deq_bits_reg_clock),
+    .io_d(deq_bits_reg_io_d),
+    .io_q(deq_bits_reg_io_q)
+  );
+  AsyncResetRegVec_w1_i0 valid_reg ( // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@192264.4]
+    .clock(valid_reg_clock),
+    .reset(valid_reg_reset),
+    .io_d(valid_reg_io_d),
+    .io_q(valid_reg_io_q),
+    .io_en(valid_reg_io_en)
+  );
+  AsyncResetRegVec_w1_i0 ridx_gray ( // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@192273.4]
+    .clock(ridx_gray_clock),
+    .reset(ridx_gray_reset),
+    .io_d(ridx_gray_io_d),
+    .io_q(ridx_gray_io_q),
+    .io_en(ridx_gray_io_en)
+  );
+  AsyncValidSync AsyncValidSync ( // @[AsyncQueue.scala 154:31:shc.marmotcaravel.MarmotCaravelConfig.fir@192280.4]
+    .clock(AsyncValidSync_clock),
+    .reset(AsyncValidSync_reset),
+    .io_out(AsyncValidSync_io_out)
+  );
+  AsyncValidSync_1 AsyncValidSync_1 ( // @[AsyncQueue.scala 155:31:shc.marmotcaravel.MarmotCaravelConfig.fir@192283.4]
+    .clock(AsyncValidSync_1_clock),
+    .reset(AsyncValidSync_1_reset),
+    .io_in(AsyncValidSync_1_io_in),
+    .io_out(AsyncValidSync_1_io_out)
+  );
+  AsyncValidSync_2 AsyncValidSync_2 ( // @[AsyncQueue.scala 156:31:shc.marmotcaravel.MarmotCaravelConfig.fir@192286.4]
+    .clock(AsyncValidSync_2_clock),
+    .reset(AsyncValidSync_2_reset),
+    .io_in(AsyncValidSync_2_io_in),
+    .io_out(AsyncValidSync_2_io_out)
+  );
+  AsyncResetRegVec_w1_i0 AsyncResetRegVec_w1_i0 ( // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@192315.4]
+    .clock(AsyncResetRegVec_w1_i0_clock),
+    .reset(AsyncResetRegVec_w1_i0_reset),
+    .io_d(AsyncResetRegVec_w1_i0_io_d),
+    .io_q(AsyncResetRegVec_w1_i0_io_q),
+    .io_en(AsyncResetRegVec_w1_i0_io_en)
+  );
+  assign _T_58 = io_deq_ready & io_deq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@192197.4]
+  assign source_ready = AsyncValidSync_2_io_out; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192195.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@192196.4 AsyncQueue.scala 164:18:shc.marmotcaravel.MarmotCaravelConfig.fir@192301.4]
+  assign _T_59 = source_ready == 1'h0; // @[AsyncQueue.scala 130:49:shc.marmotcaravel.MarmotCaravelConfig.fir@192198.4]
+  assign _T_63 = ridx_bin_io_q + _T_58; // @[AsyncQueue.scala 53:43:shc.marmotcaravel.MarmotCaravelConfig.fir@192207.4]
+  assign ridx = _T_59 ? 1'h0 : _T_63; // @[AsyncQueue.scala 53:23:shc.marmotcaravel.MarmotCaravelConfig.fir@192208.4]
+  assign widx = widx_gray_io_q; // @[ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@192217.4 ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@192219.4]
+  assign _T_67 = ridx != widx; // @[AsyncQueue.scala 132:36:shc.marmotcaravel.MarmotCaravelConfig.fir@192220.4]
+  assign valid = source_ready & _T_67; // @[AsyncQueue.scala 132:28:shc.marmotcaravel.MarmotCaravelConfig.fir@192221.4]
+  assign deq_bits_nxt_opcode = valid ? io_async_mem_0_opcode : io_deq_bits_opcode; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@192222.4]
+  assign deq_bits_nxt_param = valid ? 3'h0 : io_deq_bits_param; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@192222.4]
+  assign deq_bits_nxt_size = valid ? 2'h2 : io_deq_bits_size; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@192222.4]
+  assign deq_bits_nxt_source = valid ? 1'h0 : io_deq_bits_source; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@192222.4]
+  assign deq_bits_nxt_address = valid ? io_async_mem_0_address : io_deq_bits_address; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@192222.4]
+  assign deq_bits_nxt_mask = valid ? io_async_mem_0_mask : io_deq_bits_mask; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@192222.4]
+  assign deq_bits_nxt_data = valid ? io_async_mem_0_data : io_deq_bits_data; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@192222.4]
+  assign deq_bits_nxt_corrupt = valid ? 1'h0 : io_deq_bits_corrupt; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@192222.4]
+  assign _T_69 = {deq_bits_nxt_data,deq_bits_nxt_corrupt}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@192227.4]
+  assign _T_70 = {deq_bits_nxt_address,deq_bits_nxt_mask}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@192228.4]
+  assign _T_71 = {_T_70,_T_69}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@192229.4]
+  assign _T_72 = {deq_bits_nxt_size,deq_bits_nxt_source}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@192230.4]
+  assign _T_73 = {deq_bits_nxt_opcode,deq_bits_nxt_param}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@192231.4]
+  assign _T_74 = {_T_73,_T_72}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@192232.4]
+  assign _T_79 = deq_bits_reg_io_q; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192237.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@192239.4]
+  assign valid_reg_1 = valid_reg_io_q; // @[AsyncQueue.scala 147:59:shc.marmotcaravel.MarmotCaravelConfig.fir@192270.4]
+  assign _T_90 = io_async_safe_source_reset_n == 1'h0; // @[AsyncQueue.scala 157:44:shc.marmotcaravel.MarmotCaravelConfig.fir@192290.4]
+  assign io_deq_valid = valid_reg_1 & source_ready; // @[AsyncQueue.scala 148:16:shc.marmotcaravel.MarmotCaravelConfig.fir@192272.4]
+  assign io_deq_bits_opcode = _T_79[54:52]; // @[AsyncQueue.scala 145:15:shc.marmotcaravel.MarmotCaravelConfig.fir@192263.4]
+  assign io_deq_bits_param = _T_79[51:49]; // @[AsyncQueue.scala 145:15:shc.marmotcaravel.MarmotCaravelConfig.fir@192262.4]
+  assign io_deq_bits_size = _T_79[48:47]; // @[AsyncQueue.scala 145:15:shc.marmotcaravel.MarmotCaravelConfig.fir@192261.4]
+  assign io_deq_bits_source = _T_79[46]; // @[AsyncQueue.scala 145:15:shc.marmotcaravel.MarmotCaravelConfig.fir@192260.4]
+  assign io_deq_bits_address = _T_79[45:37]; // @[AsyncQueue.scala 145:15:shc.marmotcaravel.MarmotCaravelConfig.fir@192259.4]
+  assign io_deq_bits_mask = _T_79[36:33]; // @[AsyncQueue.scala 145:15:shc.marmotcaravel.MarmotCaravelConfig.fir@192258.4]
+  assign io_deq_bits_data = _T_79[32:1]; // @[AsyncQueue.scala 145:15:shc.marmotcaravel.MarmotCaravelConfig.fir@192257.4]
+  assign io_deq_bits_corrupt = _T_79[0]; // @[AsyncQueue.scala 145:15:shc.marmotcaravel.MarmotCaravelConfig.fir@192256.4]
+  assign io_async_ridx = ridx_gray_io_q; // @[AsyncQueue.scala 151:17:shc.marmotcaravel.MarmotCaravelConfig.fir@192279.4]
+  assign io_async_safe_ridx_valid = AsyncValidSync_io_out; // @[AsyncQueue.scala 161:20:shc.marmotcaravel.MarmotCaravelConfig.fir@192298.4]
+  assign io_async_safe_sink_reset_n = reset == 1'h0; // @[AsyncQueue.scala 165:22:shc.marmotcaravel.MarmotCaravelConfig.fir@192304.4]
+  assign ridx_bin_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192202.4]
+  assign ridx_bin_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192203.4]
+  assign ridx_bin_io_d = _T_59 ? 1'h0 : _T_63; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@192204.4]
+  assign ridx_bin_io_en = 1'h1; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@192205.4]
+  assign widx_gray_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192214.4]
+  assign widx_gray_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192215.4]
+  assign widx_gray_io_d = io_async_widx; // @[ShiftReg.scala 49:16:shc.marmotcaravel.MarmotCaravelConfig.fir@192216.4]
+  assign deq_bits_reg_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192225.4]
+  assign deq_bits_reg_io_d = {_T_74,_T_71}; // @[ShiftReg.scala 49:16:shc.marmotcaravel.MarmotCaravelConfig.fir@192234.4]
+  assign valid_reg_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192266.4]
+  assign valid_reg_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192267.4]
+  assign valid_reg_io_d = source_ready & _T_67; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@192268.4]
+  assign valid_reg_io_en = 1'h1; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@192269.4]
+  assign ridx_gray_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192275.4]
+  assign ridx_gray_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192276.4]
+  assign ridx_gray_io_d = _T_59 ? 1'h0 : _T_63; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@192277.4]
+  assign ridx_gray_io_en = 1'h1; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@192278.4]
+  assign AsyncValidSync_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192281.4]
+  assign AsyncValidSync_reset = reset | _T_90; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192282.4 AsyncQueue.scala 157:25:shc.marmotcaravel.MarmotCaravelConfig.fir@192292.4]
+  assign AsyncValidSync_1_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192284.4]
+  assign AsyncValidSync_1_reset = reset | _T_90; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192285.4 AsyncQueue.scala 158:25:shc.marmotcaravel.MarmotCaravelConfig.fir@192296.4]
+  assign AsyncValidSync_1_io_in = io_async_safe_widx_valid; // @[AsyncQueue.scala 162:25:shc.marmotcaravel.MarmotCaravelConfig.fir@192299.4]
+  assign AsyncValidSync_2_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192287.4]
+  assign AsyncValidSync_2_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192288.4]
+  assign AsyncValidSync_2_io_in = AsyncValidSync_1_io_out; // @[AsyncQueue.scala 163:24:shc.marmotcaravel.MarmotCaravelConfig.fir@192300.4]
+  assign AsyncResetRegVec_w1_i0_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192317.4]
+  assign AsyncResetRegVec_w1_i0_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192318.4]
+  assign AsyncResetRegVec_w1_i0_io_d = io_async_widx == io_async_ridx; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@192319.4]
+  assign AsyncResetRegVec_w1_i0_io_en = 1'h1; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@192320.4]
+endmodule
+module AsyncQueueSource_3( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192907.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192908.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192909.4]
+  output        io_enq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192910.4]
+  input         io_enq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192910.4]
+  input  [2:0]  io_enq_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192910.4]
+  input  [1:0]  io_enq_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192910.4]
+  input         io_enq_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192910.4]
+  input  [31:0] io_enq_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192910.4]
+  output [2:0]  io_async_mem_0_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192910.4]
+  output [1:0]  io_async_mem_0_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192910.4]
+  output        io_async_mem_0_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192910.4]
+  output [31:0] io_async_mem_0_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192910.4]
+  input         io_async_ridx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192910.4]
+  output        io_async_widx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192910.4]
+  input         io_async_safe_ridx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192910.4]
+  output        io_async_safe_widx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192910.4]
+  output        io_async_safe_source_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192910.4]
+  input         io_async_safe_sink_reset_n // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192910.4]
+);
+  wire  widx_bin_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@192918.4]
+  wire  widx_bin_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@192918.4]
+  wire  widx_bin_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@192918.4]
+  wire  widx_bin_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@192918.4]
+  wire  widx_bin_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@192918.4]
+  wire  ridx_gray_clock; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@192930.4]
+  wire  ridx_gray_reset; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@192930.4]
+  wire  ridx_gray_io_d; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@192930.4]
+  wire  ridx_gray_io_q; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@192930.4]
+  wire  ready_reg_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@192952.4]
+  wire  ready_reg_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@192952.4]
+  wire  ready_reg_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@192952.4]
+  wire  ready_reg_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@192952.4]
+  wire  ready_reg_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@192952.4]
+  wire  widx_gray_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@192961.4]
+  wire  widx_gray_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@192961.4]
+  wire  widx_gray_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@192961.4]
+  wire  widx_gray_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@192961.4]
+  wire  widx_gray_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@192961.4]
+  wire  AsyncValidSync_clock; // @[AsyncQueue.scala 96:30:shc.marmotcaravel.MarmotCaravelConfig.fir@192976.4]
+  wire  AsyncValidSync_reset; // @[AsyncQueue.scala 96:30:shc.marmotcaravel.MarmotCaravelConfig.fir@192976.4]
+  wire  AsyncValidSync_io_out; // @[AsyncQueue.scala 96:30:shc.marmotcaravel.MarmotCaravelConfig.fir@192976.4]
+  wire  AsyncValidSync_1_clock; // @[AsyncQueue.scala 97:30:shc.marmotcaravel.MarmotCaravelConfig.fir@192979.4]
+  wire  AsyncValidSync_1_reset; // @[AsyncQueue.scala 97:30:shc.marmotcaravel.MarmotCaravelConfig.fir@192979.4]
+  wire  AsyncValidSync_1_io_in; // @[AsyncQueue.scala 97:30:shc.marmotcaravel.MarmotCaravelConfig.fir@192979.4]
+  wire  AsyncValidSync_1_io_out; // @[AsyncQueue.scala 97:30:shc.marmotcaravel.MarmotCaravelConfig.fir@192979.4]
+  wire  AsyncValidSync_2_clock; // @[AsyncQueue.scala 98:30:shc.marmotcaravel.MarmotCaravelConfig.fir@192982.4]
+  wire  AsyncValidSync_2_reset; // @[AsyncQueue.scala 98:30:shc.marmotcaravel.MarmotCaravelConfig.fir@192982.4]
+  wire  AsyncValidSync_2_io_in; // @[AsyncQueue.scala 98:30:shc.marmotcaravel.MarmotCaravelConfig.fir@192982.4]
+  wire  AsyncValidSync_2_io_out; // @[AsyncQueue.scala 98:30:shc.marmotcaravel.MarmotCaravelConfig.fir@192982.4]
+  reg [2:0] mem_0_opcode; // @[AsyncQueue.scala 76:16:shc.marmotcaravel.MarmotCaravelConfig.fir@192914.4]
+  reg [31:0] _RAND_0;
+  reg [1:0] mem_0_size; // @[AsyncQueue.scala 76:16:shc.marmotcaravel.MarmotCaravelConfig.fir@192914.4]
+  reg [31:0] _RAND_1;
+  reg  mem_0_source; // @[AsyncQueue.scala 76:16:shc.marmotcaravel.MarmotCaravelConfig.fir@192914.4]
+  reg [31:0] _RAND_2;
+  reg [31:0] mem_0_data; // @[AsyncQueue.scala 76:16:shc.marmotcaravel.MarmotCaravelConfig.fir@192914.4]
+  reg [31:0] _RAND_3;
+  wire  _T_43; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@192915.4]
+  wire  sink_ready; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192912.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@192913.4 AsyncQueue.scala 106:16:shc.marmotcaravel.MarmotCaravelConfig.fir@192997.4]
+  wire  _T_44; // @[AsyncQueue.scala 77:49:shc.marmotcaravel.MarmotCaravelConfig.fir@192916.4]
+  wire  _T_48; // @[AsyncQueue.scala 53:43:shc.marmotcaravel.MarmotCaravelConfig.fir@192925.4]
+  wire  widx; // @[AsyncQueue.scala 53:23:shc.marmotcaravel.MarmotCaravelConfig.fir@192926.4]
+  wire  ridx; // @[ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@192935.4 ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@192937.4]
+  wire  _T_52; // @[AsyncQueue.scala 79:44:shc.marmotcaravel.MarmotCaravelConfig.fir@192938.4]
+  wire  _T_53; // @[AsyncQueue.scala 79:34:shc.marmotcaravel.MarmotCaravelConfig.fir@192939.4]
+  wire  ready_reg_1; // @[AsyncQueue.scala 84:59:shc.marmotcaravel.MarmotCaravelConfig.fir@192958.4]
+  wire  _T_58; // @[AsyncQueue.scala 99:43:shc.marmotcaravel.MarmotCaravelConfig.fir@192986.4]
+  AsyncResetRegVec_w1_i0 widx_bin ( // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@192918.4]
+    .clock(widx_bin_clock),
+    .reset(widx_bin_reset),
+    .io_d(widx_bin_io_d),
+    .io_q(widx_bin_io_q),
+    .io_en(widx_bin_io_en)
+  );
+  AsyncResetSynchronizerShiftReg_w1_d3_i0 ridx_gray ( // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@192930.4]
+    .clock(ridx_gray_clock),
+    .reset(ridx_gray_reset),
+    .io_d(ridx_gray_io_d),
+    .io_q(ridx_gray_io_q)
+  );
+  AsyncResetRegVec_w1_i0 ready_reg ( // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@192952.4]
+    .clock(ready_reg_clock),
+    .reset(ready_reg_reset),
+    .io_d(ready_reg_io_d),
+    .io_q(ready_reg_io_q),
+    .io_en(ready_reg_io_en)
+  );
+  AsyncResetRegVec_w1_i0 widx_gray ( // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@192961.4]
+    .clock(widx_gray_clock),
+    .reset(widx_gray_reset),
+    .io_d(widx_gray_io_d),
+    .io_q(widx_gray_io_q),
+    .io_en(widx_gray_io_en)
+  );
+  AsyncValidSync AsyncValidSync ( // @[AsyncQueue.scala 96:30:shc.marmotcaravel.MarmotCaravelConfig.fir@192976.4]
+    .clock(AsyncValidSync_clock),
+    .reset(AsyncValidSync_reset),
+    .io_out(AsyncValidSync_io_out)
+  );
+  AsyncValidSync_1 AsyncValidSync_1 ( // @[AsyncQueue.scala 97:30:shc.marmotcaravel.MarmotCaravelConfig.fir@192979.4]
+    .clock(AsyncValidSync_1_clock),
+    .reset(AsyncValidSync_1_reset),
+    .io_in(AsyncValidSync_1_io_in),
+    .io_out(AsyncValidSync_1_io_out)
+  );
+  AsyncValidSync_2 AsyncValidSync_2 ( // @[AsyncQueue.scala 98:30:shc.marmotcaravel.MarmotCaravelConfig.fir@192982.4]
+    .clock(AsyncValidSync_2_clock),
+    .reset(AsyncValidSync_2_reset),
+    .io_in(AsyncValidSync_2_io_in),
+    .io_out(AsyncValidSync_2_io_out)
+  );
+  assign _T_43 = io_enq_ready & io_enq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@192915.4]
+  assign sink_ready = AsyncValidSync_2_io_out; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192912.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@192913.4 AsyncQueue.scala 106:16:shc.marmotcaravel.MarmotCaravelConfig.fir@192997.4]
+  assign _T_44 = sink_ready == 1'h0; // @[AsyncQueue.scala 77:49:shc.marmotcaravel.MarmotCaravelConfig.fir@192916.4]
+  assign _T_48 = widx_bin_io_q + _T_43; // @[AsyncQueue.scala 53:43:shc.marmotcaravel.MarmotCaravelConfig.fir@192925.4]
+  assign widx = _T_44 ? 1'h0 : _T_48; // @[AsyncQueue.scala 53:23:shc.marmotcaravel.MarmotCaravelConfig.fir@192926.4]
+  assign ridx = ridx_gray_io_q; // @[ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@192935.4 ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@192937.4]
+  assign _T_52 = ridx ^ 1'h1; // @[AsyncQueue.scala 79:44:shc.marmotcaravel.MarmotCaravelConfig.fir@192938.4]
+  assign _T_53 = widx != _T_52; // @[AsyncQueue.scala 79:34:shc.marmotcaravel.MarmotCaravelConfig.fir@192939.4]
+  assign ready_reg_1 = ready_reg_io_q; // @[AsyncQueue.scala 84:59:shc.marmotcaravel.MarmotCaravelConfig.fir@192958.4]
+  assign _T_58 = io_async_safe_sink_reset_n == 1'h0; // @[AsyncQueue.scala 99:43:shc.marmotcaravel.MarmotCaravelConfig.fir@192986.4]
+  assign io_enq_ready = ready_reg_1 & sink_ready; // @[AsyncQueue.scala 85:16:shc.marmotcaravel.MarmotCaravelConfig.fir@192960.4]
+  assign io_async_mem_0_opcode = mem_0_opcode; // @[AsyncQueue.scala 92:31:shc.marmotcaravel.MarmotCaravelConfig.fir@192975.4]
+  assign io_async_mem_0_size = mem_0_size; // @[AsyncQueue.scala 92:31:shc.marmotcaravel.MarmotCaravelConfig.fir@192973.4]
+  assign io_async_mem_0_source = mem_0_source; // @[AsyncQueue.scala 92:31:shc.marmotcaravel.MarmotCaravelConfig.fir@192972.4]
+  assign io_async_mem_0_data = mem_0_data; // @[AsyncQueue.scala 92:31:shc.marmotcaravel.MarmotCaravelConfig.fir@192969.4]
+  assign io_async_widx = widx_gray_io_q; // @[AsyncQueue.scala 88:17:shc.marmotcaravel.MarmotCaravelConfig.fir@192967.4]
+  assign io_async_safe_widx_valid = AsyncValidSync_io_out; // @[AsyncQueue.scala 103:20:shc.marmotcaravel.MarmotCaravelConfig.fir@192994.4]
+  assign io_async_safe_source_reset_n = reset == 1'h0; // @[AsyncQueue.scala 107:24:shc.marmotcaravel.MarmotCaravelConfig.fir@193000.4]
+  assign widx_bin_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192920.4]
+  assign widx_bin_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192921.4]
+  assign widx_bin_io_d = _T_44 ? 1'h0 : _T_48; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@192922.4]
+  assign widx_bin_io_en = 1'h1; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@192923.4]
+  assign ridx_gray_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192932.4]
+  assign ridx_gray_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192933.4]
+  assign ridx_gray_io_d = io_async_ridx; // @[ShiftReg.scala 49:16:shc.marmotcaravel.MarmotCaravelConfig.fir@192934.4]
+  assign ready_reg_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192954.4]
+  assign ready_reg_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192955.4]
+  assign ready_reg_io_d = sink_ready & _T_53; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@192956.4]
+  assign ready_reg_io_en = 1'h1; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@192957.4]
+  assign widx_gray_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192963.4]
+  assign widx_gray_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192964.4]
+  assign widx_gray_io_d = _T_44 ? 1'h0 : _T_48; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@192965.4]
+  assign widx_gray_io_en = 1'h1; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@192966.4]
+  assign AsyncValidSync_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192977.4]
+  assign AsyncValidSync_reset = reset | _T_58; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192978.4 AsyncQueue.scala 99:24:shc.marmotcaravel.MarmotCaravelConfig.fir@192988.4]
+  assign AsyncValidSync_1_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192980.4]
+  assign AsyncValidSync_1_reset = reset | _T_58; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192981.4 AsyncQueue.scala 100:24:shc.marmotcaravel.MarmotCaravelConfig.fir@192992.4]
+  assign AsyncValidSync_1_io_in = io_async_safe_ridx_valid; // @[AsyncQueue.scala 104:23:shc.marmotcaravel.MarmotCaravelConfig.fir@192995.4]
+  assign AsyncValidSync_2_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192983.4]
+  assign AsyncValidSync_2_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192984.4]
+  assign AsyncValidSync_2_io_in = AsyncValidSync_1_io_out; // @[AsyncQueue.scala 105:22:shc.marmotcaravel.MarmotCaravelConfig.fir@192996.4]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  mem_0_opcode = _RAND_0[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  mem_0_size = _RAND_1[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  mem_0_source = _RAND_2[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  mem_0_data = _RAND_3[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (_T_43) begin
+      mem_0_opcode <= io_enq_bits_opcode;
+    end
+    if (_T_43) begin
+      mem_0_size <= io_enq_bits_size;
+    end
+    if (_T_43) begin
+      mem_0_source <= io_enq_bits_source;
+    end
+    if (_T_43) begin
+      mem_0_data <= io_enq_bits_data;
+    end
+  end
+endmodule
+module TLAsyncCrossingSink( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193002.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193003.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193004.4]
+  input  [2:0]  auto_in_a_mem_0_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193005.4]
+  input  [8:0]  auto_in_a_mem_0_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193005.4]
+  input  [3:0]  auto_in_a_mem_0_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193005.4]
+  input  [31:0] auto_in_a_mem_0_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193005.4]
+  output        auto_in_a_ridx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193005.4]
+  input         auto_in_a_widx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193005.4]
+  output        auto_in_a_safe_ridx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193005.4]
+  input         auto_in_a_safe_widx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193005.4]
+  input         auto_in_a_safe_source_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193005.4]
+  output        auto_in_a_safe_sink_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193005.4]
+  output [2:0]  auto_in_d_mem_0_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193005.4]
+  output [1:0]  auto_in_d_mem_0_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193005.4]
+  output        auto_in_d_mem_0_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193005.4]
+  output [31:0] auto_in_d_mem_0_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193005.4]
+  input         auto_in_d_ridx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193005.4]
+  output        auto_in_d_widx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193005.4]
+  input         auto_in_d_safe_ridx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193005.4]
+  output        auto_in_d_safe_widx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193005.4]
+  output        auto_in_d_safe_source_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193005.4]
+  input         auto_in_d_safe_sink_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193005.4]
+  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193005.4]
+  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193005.4]
+  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193005.4]
+  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193005.4]
+  output [1:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193005.4]
+  output        auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193005.4]
+  output [8:0]  auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193005.4]
+  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193005.4]
+  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193005.4]
+  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193005.4]
+  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193005.4]
+  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193005.4]
+  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193005.4]
+  input  [1:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193005.4]
+  input         auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193005.4]
+  input  [31:0] auto_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193005.4]
+);
+  wire  AsyncQueueSink_clock; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@193016.4]
+  wire  AsyncQueueSink_reset; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@193016.4]
+  wire  AsyncQueueSink_io_deq_ready; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@193016.4]
+  wire  AsyncQueueSink_io_deq_valid; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@193016.4]
+  wire [2:0] AsyncQueueSink_io_deq_bits_opcode; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@193016.4]
+  wire [2:0] AsyncQueueSink_io_deq_bits_param; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@193016.4]
+  wire [1:0] AsyncQueueSink_io_deq_bits_size; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@193016.4]
+  wire  AsyncQueueSink_io_deq_bits_source; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@193016.4]
+  wire [8:0] AsyncQueueSink_io_deq_bits_address; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@193016.4]
+  wire [3:0] AsyncQueueSink_io_deq_bits_mask; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@193016.4]
+  wire [31:0] AsyncQueueSink_io_deq_bits_data; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@193016.4]
+  wire  AsyncQueueSink_io_deq_bits_corrupt; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@193016.4]
+  wire [2:0] AsyncQueueSink_io_async_mem_0_opcode; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@193016.4]
+  wire [8:0] AsyncQueueSink_io_async_mem_0_address; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@193016.4]
+  wire [3:0] AsyncQueueSink_io_async_mem_0_mask; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@193016.4]
+  wire [31:0] AsyncQueueSink_io_async_mem_0_data; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@193016.4]
+  wire  AsyncQueueSink_io_async_ridx; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@193016.4]
+  wire  AsyncQueueSink_io_async_widx; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@193016.4]
+  wire  AsyncQueueSink_io_async_safe_ridx_valid; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@193016.4]
+  wire  AsyncQueueSink_io_async_safe_widx_valid; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@193016.4]
+  wire  AsyncQueueSink_io_async_safe_source_reset_n; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@193016.4]
+  wire  AsyncQueueSink_io_async_safe_sink_reset_n; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@193016.4]
+  wire  AsyncQueueSource_clock; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@193027.4]
+  wire  AsyncQueueSource_reset; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@193027.4]
+  wire  AsyncQueueSource_io_enq_ready; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@193027.4]
+  wire  AsyncQueueSource_io_enq_valid; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@193027.4]
+  wire [2:0] AsyncQueueSource_io_enq_bits_opcode; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@193027.4]
+  wire [1:0] AsyncQueueSource_io_enq_bits_size; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@193027.4]
+  wire  AsyncQueueSource_io_enq_bits_source; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@193027.4]
+  wire [31:0] AsyncQueueSource_io_enq_bits_data; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@193027.4]
+  wire [2:0] AsyncQueueSource_io_async_mem_0_opcode; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@193027.4]
+  wire [1:0] AsyncQueueSource_io_async_mem_0_size; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@193027.4]
+  wire  AsyncQueueSource_io_async_mem_0_source; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@193027.4]
+  wire [31:0] AsyncQueueSource_io_async_mem_0_data; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@193027.4]
+  wire  AsyncQueueSource_io_async_ridx; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@193027.4]
+  wire  AsyncQueueSource_io_async_widx; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@193027.4]
+  wire  AsyncQueueSource_io_async_safe_ridx_valid; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@193027.4]
+  wire  AsyncQueueSource_io_async_safe_widx_valid; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@193027.4]
+  wire  AsyncQueueSource_io_async_safe_source_reset_n; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@193027.4]
+  wire  AsyncQueueSource_io_async_safe_sink_reset_n; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@193027.4]
+  AsyncQueueSink_2 AsyncQueueSink ( // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@193016.4]
+    .clock(AsyncQueueSink_clock),
+    .reset(AsyncQueueSink_reset),
+    .io_deq_ready(AsyncQueueSink_io_deq_ready),
+    .io_deq_valid(AsyncQueueSink_io_deq_valid),
+    .io_deq_bits_opcode(AsyncQueueSink_io_deq_bits_opcode),
+    .io_deq_bits_param(AsyncQueueSink_io_deq_bits_param),
+    .io_deq_bits_size(AsyncQueueSink_io_deq_bits_size),
+    .io_deq_bits_source(AsyncQueueSink_io_deq_bits_source),
+    .io_deq_bits_address(AsyncQueueSink_io_deq_bits_address),
+    .io_deq_bits_mask(AsyncQueueSink_io_deq_bits_mask),
+    .io_deq_bits_data(AsyncQueueSink_io_deq_bits_data),
+    .io_deq_bits_corrupt(AsyncQueueSink_io_deq_bits_corrupt),
+    .io_async_mem_0_opcode(AsyncQueueSink_io_async_mem_0_opcode),
+    .io_async_mem_0_address(AsyncQueueSink_io_async_mem_0_address),
+    .io_async_mem_0_mask(AsyncQueueSink_io_async_mem_0_mask),
+    .io_async_mem_0_data(AsyncQueueSink_io_async_mem_0_data),
+    .io_async_ridx(AsyncQueueSink_io_async_ridx),
+    .io_async_widx(AsyncQueueSink_io_async_widx),
+    .io_async_safe_ridx_valid(AsyncQueueSink_io_async_safe_ridx_valid),
+    .io_async_safe_widx_valid(AsyncQueueSink_io_async_safe_widx_valid),
+    .io_async_safe_source_reset_n(AsyncQueueSink_io_async_safe_source_reset_n),
+    .io_async_safe_sink_reset_n(AsyncQueueSink_io_async_safe_sink_reset_n)
+  );
+  AsyncQueueSource_3 AsyncQueueSource ( // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@193027.4]
+    .clock(AsyncQueueSource_clock),
+    .reset(AsyncQueueSource_reset),
+    .io_enq_ready(AsyncQueueSource_io_enq_ready),
+    .io_enq_valid(AsyncQueueSource_io_enq_valid),
+    .io_enq_bits_opcode(AsyncQueueSource_io_enq_bits_opcode),
+    .io_enq_bits_size(AsyncQueueSource_io_enq_bits_size),
+    .io_enq_bits_source(AsyncQueueSource_io_enq_bits_source),
+    .io_enq_bits_data(AsyncQueueSource_io_enq_bits_data),
+    .io_async_mem_0_opcode(AsyncQueueSource_io_async_mem_0_opcode),
+    .io_async_mem_0_size(AsyncQueueSource_io_async_mem_0_size),
+    .io_async_mem_0_source(AsyncQueueSource_io_async_mem_0_source),
+    .io_async_mem_0_data(AsyncQueueSource_io_async_mem_0_data),
+    .io_async_ridx(AsyncQueueSource_io_async_ridx),
+    .io_async_widx(AsyncQueueSource_io_async_widx),
+    .io_async_safe_ridx_valid(AsyncQueueSource_io_async_safe_ridx_valid),
+    .io_async_safe_widx_valid(AsyncQueueSource_io_async_safe_widx_valid),
+    .io_async_safe_source_reset_n(AsyncQueueSource_io_async_safe_source_reset_n),
+    .io_async_safe_sink_reset_n(AsyncQueueSource_io_async_safe_sink_reset_n)
+  );
+  assign auto_in_a_ridx = AsyncQueueSink_io_async_ridx; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193015.4]
+  assign auto_in_a_safe_ridx_valid = AsyncQueueSink_io_async_safe_ridx_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193015.4]
+  assign auto_in_a_safe_sink_reset_n = AsyncQueueSink_io_async_safe_sink_reset_n; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193015.4]
+  assign auto_in_d_mem_0_opcode = AsyncQueueSource_io_async_mem_0_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193015.4]
+  assign auto_in_d_mem_0_size = AsyncQueueSource_io_async_mem_0_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193015.4]
+  assign auto_in_d_mem_0_source = AsyncQueueSource_io_async_mem_0_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193015.4]
+  assign auto_in_d_mem_0_data = AsyncQueueSource_io_async_mem_0_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193015.4]
+  assign auto_in_d_widx = AsyncQueueSource_io_async_widx; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193015.4]
+  assign auto_in_d_safe_widx_valid = AsyncQueueSource_io_async_safe_widx_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193015.4]
+  assign auto_in_d_safe_source_reset_n = AsyncQueueSource_io_async_safe_source_reset_n; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193015.4]
+  assign auto_out_a_valid = AsyncQueueSink_io_deq_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@193014.4]
+  assign auto_out_a_bits_opcode = AsyncQueueSink_io_deq_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@193014.4]
+  assign auto_out_a_bits_param = AsyncQueueSink_io_deq_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@193014.4]
+  assign auto_out_a_bits_size = AsyncQueueSink_io_deq_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@193014.4]
+  assign auto_out_a_bits_source = AsyncQueueSink_io_deq_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@193014.4]
+  assign auto_out_a_bits_address = AsyncQueueSink_io_deq_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@193014.4]
+  assign auto_out_a_bits_mask = AsyncQueueSink_io_deq_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@193014.4]
+  assign auto_out_a_bits_data = AsyncQueueSink_io_deq_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@193014.4]
+  assign auto_out_a_bits_corrupt = AsyncQueueSink_io_deq_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@193014.4]
+  assign auto_out_d_ready = AsyncQueueSource_io_enq_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@193014.4]
+  assign AsyncQueueSink_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193017.4]
+  assign AsyncQueueSink_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193018.4]
+  assign AsyncQueueSink_io_deq_ready = auto_out_a_ready; // @[AsyncCrossing.scala 57:13:shc.marmotcaravel.MarmotCaravelConfig.fir@193026.4]
+  assign AsyncQueueSink_io_async_mem_0_opcode = auto_in_a_mem_0_opcode; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@193025.4]
+  assign AsyncQueueSink_io_async_mem_0_address = auto_in_a_mem_0_address; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@193025.4]
+  assign AsyncQueueSink_io_async_mem_0_mask = auto_in_a_mem_0_mask; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@193025.4]
+  assign AsyncQueueSink_io_async_mem_0_data = auto_in_a_mem_0_data; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@193025.4]
+  assign AsyncQueueSink_io_async_widx = auto_in_a_widx; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@193023.4]
+  assign AsyncQueueSink_io_async_safe_widx_valid = auto_in_a_safe_widx_valid; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@193021.4]
+  assign AsyncQueueSink_io_async_safe_source_reset_n = auto_in_a_safe_source_reset_n; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@193020.4]
+  assign AsyncQueueSource_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193028.4]
+  assign AsyncQueueSource_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193029.4]
+  assign AsyncQueueSource_io_enq_valid = auto_out_d_valid; // @[AsyncQueue.scala 193:19:shc.marmotcaravel.MarmotCaravelConfig.fir@193031.4]
+  assign AsyncQueueSource_io_enq_bits_opcode = auto_out_d_bits_opcode; // @[AsyncQueue.scala 193:19:shc.marmotcaravel.MarmotCaravelConfig.fir@193030.4]
+  assign AsyncQueueSource_io_enq_bits_size = auto_out_d_bits_size; // @[AsyncQueue.scala 193:19:shc.marmotcaravel.MarmotCaravelConfig.fir@193030.4]
+  assign AsyncQueueSource_io_enq_bits_source = auto_out_d_bits_source; // @[AsyncQueue.scala 193:19:shc.marmotcaravel.MarmotCaravelConfig.fir@193030.4]
+  assign AsyncQueueSource_io_enq_bits_data = auto_out_d_bits_data; // @[AsyncQueue.scala 193:19:shc.marmotcaravel.MarmotCaravelConfig.fir@193030.4]
+  assign AsyncQueueSource_io_async_ridx = auto_in_d_ridx; // @[AsyncCrossing.scala 58:12:shc.marmotcaravel.MarmotCaravelConfig.fir@193033.4]
+  assign AsyncQueueSource_io_async_safe_ridx_valid = auto_in_d_safe_ridx_valid; // @[AsyncCrossing.scala 58:12:shc.marmotcaravel.MarmotCaravelConfig.fir@193033.4]
+  assign AsyncQueueSource_io_async_safe_sink_reset_n = auto_in_d_safe_sink_reset_n; // @[AsyncCrossing.scala 58:12:shc.marmotcaravel.MarmotCaravelConfig.fir@193033.4]
+endmodule
+module SynchronizerShiftReg_w12_d1( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193209.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193210.4]
+  input  [11:0] io_d, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193212.4]
+  output [11:0] io_q // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193212.4]
+);
+  reg [11:0] sync_0; // @[ShiftReg.scala 114:16:shc.marmotcaravel.MarmotCaravelConfig.fir@193217.4]
+  reg [31:0] _RAND_0;
+  assign io_q = sync_0; // @[ShiftReg.scala 123:8:shc.marmotcaravel.MarmotCaravelConfig.fir@193219.4]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  sync_0 = _RAND_0[11:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    sync_0 <= io_d;
+  end
+endmodule
+module AsyncQueueSink_3( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193685.2]
+  input        clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193686.4]
+  input        reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193687.4]
+  output       io_deq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193688.4]
+  output       io_deq_bits_resumereq, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193688.4]
+  output [9:0] io_deq_bits_hartsel, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193688.4]
+  output       io_deq_bits_ackhavereset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193688.4]
+  input        io_async_mem_0_resumereq, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193688.4]
+  input  [9:0] io_async_mem_0_hartsel, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193688.4]
+  input        io_async_mem_0_ackhavereset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193688.4]
+  output       io_async_ridx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193688.4]
+  input        io_async_widx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193688.4]
+  output       io_async_safe_ridx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193688.4]
+  input        io_async_safe_widx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193688.4]
+  input        io_async_safe_source_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193688.4]
+  output       io_async_safe_sink_reset_n // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193688.4]
+);
+  wire  ridx_bin_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@193695.4]
+  wire  ridx_bin_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@193695.4]
+  wire  ridx_bin_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@193695.4]
+  wire  ridx_bin_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@193695.4]
+  wire  ridx_bin_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@193695.4]
+  wire  widx_gray_clock; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@193707.4]
+  wire  widx_gray_reset; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@193707.4]
+  wire  widx_gray_io_d; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@193707.4]
+  wire  widx_gray_io_q; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@193707.4]
+  wire  deq_bits_reg_clock; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@193718.4]
+  wire [11:0] deq_bits_reg_io_d; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@193718.4]
+  wire [11:0] deq_bits_reg_io_q; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@193718.4]
+  wire  valid_reg_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@193739.4]
+  wire  valid_reg_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@193739.4]
+  wire  valid_reg_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@193739.4]
+  wire  valid_reg_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@193739.4]
+  wire  valid_reg_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@193739.4]
+  wire  ridx_gray_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@193748.4]
+  wire  ridx_gray_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@193748.4]
+  wire  ridx_gray_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@193748.4]
+  wire  ridx_gray_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@193748.4]
+  wire  ridx_gray_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@193748.4]
+  wire  AsyncValidSync_clock; // @[AsyncQueue.scala 154:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193755.4]
+  wire  AsyncValidSync_reset; // @[AsyncQueue.scala 154:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193755.4]
+  wire  AsyncValidSync_io_out; // @[AsyncQueue.scala 154:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193755.4]
+  wire  AsyncValidSync_1_clock; // @[AsyncQueue.scala 155:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193758.4]
+  wire  AsyncValidSync_1_reset; // @[AsyncQueue.scala 155:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193758.4]
+  wire  AsyncValidSync_1_io_in; // @[AsyncQueue.scala 155:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193758.4]
+  wire  AsyncValidSync_1_io_out; // @[AsyncQueue.scala 155:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193758.4]
+  wire  AsyncValidSync_2_clock; // @[AsyncQueue.scala 156:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193761.4]
+  wire  AsyncValidSync_2_reset; // @[AsyncQueue.scala 156:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193761.4]
+  wire  AsyncValidSync_2_io_in; // @[AsyncQueue.scala 156:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193761.4]
+  wire  AsyncValidSync_2_io_out; // @[AsyncQueue.scala 156:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193761.4]
+  wire  AsyncResetRegVec_w1_i0_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@193790.4]
+  wire  AsyncResetRegVec_w1_i0_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@193790.4]
+  wire  AsyncResetRegVec_w1_i0_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@193790.4]
+  wire  AsyncResetRegVec_w1_i0_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@193790.4]
+  wire  AsyncResetRegVec_w1_i0_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@193790.4]
+  wire  source_ready; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193690.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@193691.4 AsyncQueue.scala 164:18:shc.marmotcaravel.MarmotCaravelConfig.fir@193776.4]
+  wire  _T_59; // @[AsyncQueue.scala 130:49:shc.marmotcaravel.MarmotCaravelConfig.fir@193693.4]
+  wire  _T_63; // @[AsyncQueue.scala 53:43:shc.marmotcaravel.MarmotCaravelConfig.fir@193702.4]
+  wire  ridx; // @[AsyncQueue.scala 53:23:shc.marmotcaravel.MarmotCaravelConfig.fir@193703.4]
+  wire  widx; // @[ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@193712.4 ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@193714.4]
+  wire  _T_67; // @[AsyncQueue.scala 132:36:shc.marmotcaravel.MarmotCaravelConfig.fir@193715.4]
+  wire  valid; // @[AsyncQueue.scala 132:28:shc.marmotcaravel.MarmotCaravelConfig.fir@193716.4]
+  wire  deq_bits_nxt_resumereq; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@193717.4]
+  wire [9:0] deq_bits_nxt_hartsel; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@193717.4]
+  wire  deq_bits_nxt_ackhavereset; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@193717.4]
+  wire [10:0] _T_69; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@193722.4]
+  wire [11:0] _T_74; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193727.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@193729.4]
+  wire  valid_reg_1; // @[AsyncQueue.scala 147:59:shc.marmotcaravel.MarmotCaravelConfig.fir@193745.4]
+  wire  _T_80; // @[AsyncQueue.scala 157:44:shc.marmotcaravel.MarmotCaravelConfig.fir@193765.4]
+  AsyncResetRegVec_w1_i0 ridx_bin ( // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@193695.4]
+    .clock(ridx_bin_clock),
+    .reset(ridx_bin_reset),
+    .io_d(ridx_bin_io_d),
+    .io_q(ridx_bin_io_q),
+    .io_en(ridx_bin_io_en)
+  );
+  AsyncResetSynchronizerShiftReg_w1_d3_i0 widx_gray ( // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@193707.4]
+    .clock(widx_gray_clock),
+    .reset(widx_gray_reset),
+    .io_d(widx_gray_io_d),
+    .io_q(widx_gray_io_q)
+  );
+  SynchronizerShiftReg_w12_d1 deq_bits_reg ( // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@193718.4]
+    .clock(deq_bits_reg_clock),
+    .io_d(deq_bits_reg_io_d),
+    .io_q(deq_bits_reg_io_q)
+  );
+  AsyncResetRegVec_w1_i0 valid_reg ( // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@193739.4]
+    .clock(valid_reg_clock),
+    .reset(valid_reg_reset),
+    .io_d(valid_reg_io_d),
+    .io_q(valid_reg_io_q),
+    .io_en(valid_reg_io_en)
+  );
+  AsyncResetRegVec_w1_i0 ridx_gray ( // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@193748.4]
+    .clock(ridx_gray_clock),
+    .reset(ridx_gray_reset),
+    .io_d(ridx_gray_io_d),
+    .io_q(ridx_gray_io_q),
+    .io_en(ridx_gray_io_en)
+  );
+  AsyncValidSync AsyncValidSync ( // @[AsyncQueue.scala 154:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193755.4]
+    .clock(AsyncValidSync_clock),
+    .reset(AsyncValidSync_reset),
+    .io_out(AsyncValidSync_io_out)
+  );
+  AsyncValidSync_1 AsyncValidSync_1 ( // @[AsyncQueue.scala 155:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193758.4]
+    .clock(AsyncValidSync_1_clock),
+    .reset(AsyncValidSync_1_reset),
+    .io_in(AsyncValidSync_1_io_in),
+    .io_out(AsyncValidSync_1_io_out)
+  );
+  AsyncValidSync_2 AsyncValidSync_2 ( // @[AsyncQueue.scala 156:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193761.4]
+    .clock(AsyncValidSync_2_clock),
+    .reset(AsyncValidSync_2_reset),
+    .io_in(AsyncValidSync_2_io_in),
+    .io_out(AsyncValidSync_2_io_out)
+  );
+  AsyncResetRegVec_w1_i0 AsyncResetRegVec_w1_i0 ( // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@193790.4]
+    .clock(AsyncResetRegVec_w1_i0_clock),
+    .reset(AsyncResetRegVec_w1_i0_reset),
+    .io_d(AsyncResetRegVec_w1_i0_io_d),
+    .io_q(AsyncResetRegVec_w1_i0_io_q),
+    .io_en(AsyncResetRegVec_w1_i0_io_en)
+  );
+  assign source_ready = AsyncValidSync_2_io_out; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193690.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@193691.4 AsyncQueue.scala 164:18:shc.marmotcaravel.MarmotCaravelConfig.fir@193776.4]
+  assign _T_59 = source_ready == 1'h0; // @[AsyncQueue.scala 130:49:shc.marmotcaravel.MarmotCaravelConfig.fir@193693.4]
+  assign _T_63 = ridx_bin_io_q + io_deq_valid; // @[AsyncQueue.scala 53:43:shc.marmotcaravel.MarmotCaravelConfig.fir@193702.4]
+  assign ridx = _T_59 ? 1'h0 : _T_63; // @[AsyncQueue.scala 53:23:shc.marmotcaravel.MarmotCaravelConfig.fir@193703.4]
+  assign widx = widx_gray_io_q; // @[ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@193712.4 ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@193714.4]
+  assign _T_67 = ridx != widx; // @[AsyncQueue.scala 132:36:shc.marmotcaravel.MarmotCaravelConfig.fir@193715.4]
+  assign valid = source_ready & _T_67; // @[AsyncQueue.scala 132:28:shc.marmotcaravel.MarmotCaravelConfig.fir@193716.4]
+  assign deq_bits_nxt_resumereq = valid ? io_async_mem_0_resumereq : io_deq_bits_resumereq; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@193717.4]
+  assign deq_bits_nxt_hartsel = valid ? io_async_mem_0_hartsel : io_deq_bits_hartsel; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@193717.4]
+  assign deq_bits_nxt_ackhavereset = valid ? io_async_mem_0_ackhavereset : io_deq_bits_ackhavereset; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@193717.4]
+  assign _T_69 = {deq_bits_nxt_resumereq,deq_bits_nxt_hartsel}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@193722.4]
+  assign _T_74 = deq_bits_reg_io_q; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193727.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@193729.4]
+  assign valid_reg_1 = valid_reg_io_q; // @[AsyncQueue.scala 147:59:shc.marmotcaravel.MarmotCaravelConfig.fir@193745.4]
+  assign _T_80 = io_async_safe_source_reset_n == 1'h0; // @[AsyncQueue.scala 157:44:shc.marmotcaravel.MarmotCaravelConfig.fir@193765.4]
+  assign io_deq_valid = valid_reg_1 & source_ready; // @[AsyncQueue.scala 148:16:shc.marmotcaravel.MarmotCaravelConfig.fir@193747.4]
+  assign io_deq_bits_resumereq = _T_74[11]; // @[AsyncQueue.scala 145:15:shc.marmotcaravel.MarmotCaravelConfig.fir@193738.4]
+  assign io_deq_bits_hartsel = _T_74[10:1]; // @[AsyncQueue.scala 145:15:shc.marmotcaravel.MarmotCaravelConfig.fir@193737.4]
+  assign io_deq_bits_ackhavereset = _T_74[0]; // @[AsyncQueue.scala 145:15:shc.marmotcaravel.MarmotCaravelConfig.fir@193736.4]
+  assign io_async_ridx = ridx_gray_io_q; // @[AsyncQueue.scala 151:17:shc.marmotcaravel.MarmotCaravelConfig.fir@193754.4]
+  assign io_async_safe_ridx_valid = AsyncValidSync_io_out; // @[AsyncQueue.scala 161:20:shc.marmotcaravel.MarmotCaravelConfig.fir@193773.4]
+  assign io_async_safe_sink_reset_n = reset == 1'h0; // @[AsyncQueue.scala 165:22:shc.marmotcaravel.MarmotCaravelConfig.fir@193779.4]
+  assign ridx_bin_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193697.4]
+  assign ridx_bin_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193698.4]
+  assign ridx_bin_io_d = _T_59 ? 1'h0 : _T_63; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@193699.4]
+  assign ridx_bin_io_en = 1'h1; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@193700.4]
+  assign widx_gray_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193709.4]
+  assign widx_gray_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193710.4]
+  assign widx_gray_io_d = io_async_widx; // @[ShiftReg.scala 49:16:shc.marmotcaravel.MarmotCaravelConfig.fir@193711.4]
+  assign deq_bits_reg_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193720.4]
+  assign deq_bits_reg_io_d = {_T_69,deq_bits_nxt_ackhavereset}; // @[ShiftReg.scala 49:16:shc.marmotcaravel.MarmotCaravelConfig.fir@193724.4]
+  assign valid_reg_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193741.4]
+  assign valid_reg_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193742.4]
+  assign valid_reg_io_d = source_ready & _T_67; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@193743.4]
+  assign valid_reg_io_en = 1'h1; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@193744.4]
+  assign ridx_gray_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193750.4]
+  assign ridx_gray_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193751.4]
+  assign ridx_gray_io_d = _T_59 ? 1'h0 : _T_63; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@193752.4]
+  assign ridx_gray_io_en = 1'h1; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@193753.4]
+  assign AsyncValidSync_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193756.4]
+  assign AsyncValidSync_reset = reset | _T_80; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193757.4 AsyncQueue.scala 157:25:shc.marmotcaravel.MarmotCaravelConfig.fir@193767.4]
+  assign AsyncValidSync_1_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193759.4]
+  assign AsyncValidSync_1_reset = reset | _T_80; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193760.4 AsyncQueue.scala 158:25:shc.marmotcaravel.MarmotCaravelConfig.fir@193771.4]
+  assign AsyncValidSync_1_io_in = io_async_safe_widx_valid; // @[AsyncQueue.scala 162:25:shc.marmotcaravel.MarmotCaravelConfig.fir@193774.4]
+  assign AsyncValidSync_2_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193762.4]
+  assign AsyncValidSync_2_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193763.4]
+  assign AsyncValidSync_2_io_in = AsyncValidSync_1_io_out; // @[AsyncQueue.scala 163:24:shc.marmotcaravel.MarmotCaravelConfig.fir@193775.4]
+  assign AsyncResetRegVec_w1_i0_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193792.4]
+  assign AsyncResetRegVec_w1_i0_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193793.4]
+  assign AsyncResetRegVec_w1_i0_io_d = io_async_widx == io_async_ridx; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@193794.4]
+  assign AsyncResetRegVec_w1_i0_io_en = 1'h1; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@193795.4]
+endmodule
+module ResetCatchAndSync_d3( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193918.2]
+  input   clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193919.4]
+  input   reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193920.4]
+  output  io_sync_reset // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193921.4]
+);
+  wire  AsyncResetSynchronizerShiftReg_w1_d3_i0_clock; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@193927.4]
+  wire  AsyncResetSynchronizerShiftReg_w1_d3_i0_reset; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@193927.4]
+  wire  AsyncResetSynchronizerShiftReg_w1_d3_i0_io_d; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@193927.4]
+  wire  AsyncResetSynchronizerShiftReg_w1_d3_i0_io_q; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@193927.4]
+  wire  _T_7; // @[ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@193932.4 ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@193934.4]
+  AsyncResetSynchronizerShiftReg_w1_d3_i0 AsyncResetSynchronizerShiftReg_w1_d3_i0 ( // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@193927.4]
+    .clock(AsyncResetSynchronizerShiftReg_w1_d3_i0_clock),
+    .reset(AsyncResetSynchronizerShiftReg_w1_d3_i0_reset),
+    .io_d(AsyncResetSynchronizerShiftReg_w1_d3_i0_io_d),
+    .io_q(AsyncResetSynchronizerShiftReg_w1_d3_i0_io_q)
+  );
+  assign _T_7 = AsyncResetSynchronizerShiftReg_w1_d3_i0_io_q; // @[ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@193932.4 ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@193934.4]
+  assign io_sync_reset = ~ _T_7; // @[ResetCatchAndSync.scala 28:19:shc.marmotcaravel.MarmotCaravelConfig.fir@193937.4]
+  assign AsyncResetSynchronizerShiftReg_w1_d3_i0_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193929.4]
+  assign AsyncResetSynchronizerShiftReg_w1_d3_i0_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193930.4]
+  assign AsyncResetSynchronizerShiftReg_w1_d3_i0_io_d = 1'h1; // @[ShiftReg.scala 49:16:shc.marmotcaravel.MarmotCaravelConfig.fir@193931.4]
+endmodule
+module TLDebugModuleInnerAsync( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193939.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193940.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193941.4]
+  input  [2:0]  auto_dmiXing_in_a_mem_0_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193942.4]
+  input  [8:0]  auto_dmiXing_in_a_mem_0_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193942.4]
+  input  [3:0]  auto_dmiXing_in_a_mem_0_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193942.4]
+  input  [31:0] auto_dmiXing_in_a_mem_0_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193942.4]
+  output        auto_dmiXing_in_a_ridx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193942.4]
+  input         auto_dmiXing_in_a_widx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193942.4]
+  output        auto_dmiXing_in_a_safe_ridx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193942.4]
+  input         auto_dmiXing_in_a_safe_widx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193942.4]
+  input         auto_dmiXing_in_a_safe_source_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193942.4]
+  output        auto_dmiXing_in_a_safe_sink_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193942.4]
+  output [2:0]  auto_dmiXing_in_d_mem_0_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193942.4]
+  output [1:0]  auto_dmiXing_in_d_mem_0_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193942.4]
+  output        auto_dmiXing_in_d_mem_0_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193942.4]
+  output [31:0] auto_dmiXing_in_d_mem_0_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193942.4]
+  input         auto_dmiXing_in_d_ridx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193942.4]
+  output        auto_dmiXing_in_d_widx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193942.4]
+  input         auto_dmiXing_in_d_safe_ridx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193942.4]
+  output        auto_dmiXing_in_d_safe_widx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193942.4]
+  output        auto_dmiXing_in_d_safe_source_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193942.4]
+  input         auto_dmiXing_in_d_safe_sink_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193942.4]
+  output        auto_dmInner_tl_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193942.4]
+  input         auto_dmInner_tl_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193942.4]
+  input  [2:0]  auto_dmInner_tl_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193942.4]
+  input  [2:0]  auto_dmInner_tl_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193942.4]
+  input  [1:0]  auto_dmInner_tl_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193942.4]
+  input  [5:0]  auto_dmInner_tl_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193942.4]
+  input  [11:0] auto_dmInner_tl_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193942.4]
+  input  [3:0]  auto_dmInner_tl_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193942.4]
+  input  [31:0] auto_dmInner_tl_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193942.4]
+  input         auto_dmInner_tl_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193942.4]
+  input         auto_dmInner_tl_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193942.4]
+  output        auto_dmInner_tl_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193942.4]
+  output [2:0]  auto_dmInner_tl_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193942.4]
+  output [1:0]  auto_dmInner_tl_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193942.4]
+  output [5:0]  auto_dmInner_tl_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193942.4]
+  output [31:0] auto_dmInner_tl_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193942.4]
+  input         io_dmactive, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193943.4]
+  input         io_innerCtrl_mem_0_resumereq, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193943.4]
+  input  [9:0]  io_innerCtrl_mem_0_hartsel, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193943.4]
+  input         io_innerCtrl_mem_0_ackhavereset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193943.4]
+  output        io_innerCtrl_ridx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193943.4]
+  input         io_innerCtrl_widx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193943.4]
+  output        io_innerCtrl_safe_ridx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193943.4]
+  input         io_innerCtrl_safe_widx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193943.4]
+  input         io_innerCtrl_safe_source_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193943.4]
+  output        io_innerCtrl_safe_sink_reset_n // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193943.4]
+);
+  wire  dmInner_clock; // @[Debug.scala 1053:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193949.4]
+  wire  dmInner_reset; // @[Debug.scala 1053:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193949.4]
+  wire  dmInner_auto_tl_in_a_ready; // @[Debug.scala 1053:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193949.4]
+  wire  dmInner_auto_tl_in_a_valid; // @[Debug.scala 1053:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193949.4]
+  wire [2:0] dmInner_auto_tl_in_a_bits_opcode; // @[Debug.scala 1053:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193949.4]
+  wire [2:0] dmInner_auto_tl_in_a_bits_param; // @[Debug.scala 1053:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193949.4]
+  wire [1:0] dmInner_auto_tl_in_a_bits_size; // @[Debug.scala 1053:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193949.4]
+  wire [5:0] dmInner_auto_tl_in_a_bits_source; // @[Debug.scala 1053:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193949.4]
+  wire [11:0] dmInner_auto_tl_in_a_bits_address; // @[Debug.scala 1053:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193949.4]
+  wire [3:0] dmInner_auto_tl_in_a_bits_mask; // @[Debug.scala 1053:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193949.4]
+  wire [31:0] dmInner_auto_tl_in_a_bits_data; // @[Debug.scala 1053:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193949.4]
+  wire  dmInner_auto_tl_in_a_bits_corrupt; // @[Debug.scala 1053:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193949.4]
+  wire  dmInner_auto_tl_in_d_ready; // @[Debug.scala 1053:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193949.4]
+  wire  dmInner_auto_tl_in_d_valid; // @[Debug.scala 1053:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193949.4]
+  wire [2:0] dmInner_auto_tl_in_d_bits_opcode; // @[Debug.scala 1053:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193949.4]
+  wire [1:0] dmInner_auto_tl_in_d_bits_size; // @[Debug.scala 1053:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193949.4]
+  wire [5:0] dmInner_auto_tl_in_d_bits_source; // @[Debug.scala 1053:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193949.4]
+  wire [31:0] dmInner_auto_tl_in_d_bits_data; // @[Debug.scala 1053:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193949.4]
+  wire  dmInner_auto_dmi_in_a_ready; // @[Debug.scala 1053:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193949.4]
+  wire  dmInner_auto_dmi_in_a_valid; // @[Debug.scala 1053:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193949.4]
+  wire [2:0] dmInner_auto_dmi_in_a_bits_opcode; // @[Debug.scala 1053:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193949.4]
+  wire [2:0] dmInner_auto_dmi_in_a_bits_param; // @[Debug.scala 1053:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193949.4]
+  wire [1:0] dmInner_auto_dmi_in_a_bits_size; // @[Debug.scala 1053:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193949.4]
+  wire  dmInner_auto_dmi_in_a_bits_source; // @[Debug.scala 1053:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193949.4]
+  wire [8:0] dmInner_auto_dmi_in_a_bits_address; // @[Debug.scala 1053:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193949.4]
+  wire [3:0] dmInner_auto_dmi_in_a_bits_mask; // @[Debug.scala 1053:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193949.4]
+  wire [31:0] dmInner_auto_dmi_in_a_bits_data; // @[Debug.scala 1053:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193949.4]
+  wire  dmInner_auto_dmi_in_a_bits_corrupt; // @[Debug.scala 1053:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193949.4]
+  wire  dmInner_auto_dmi_in_d_ready; // @[Debug.scala 1053:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193949.4]
+  wire  dmInner_auto_dmi_in_d_valid; // @[Debug.scala 1053:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193949.4]
+  wire [2:0] dmInner_auto_dmi_in_d_bits_opcode; // @[Debug.scala 1053:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193949.4]
+  wire [1:0] dmInner_auto_dmi_in_d_bits_size; // @[Debug.scala 1053:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193949.4]
+  wire  dmInner_auto_dmi_in_d_bits_source; // @[Debug.scala 1053:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193949.4]
+  wire [31:0] dmInner_auto_dmi_in_d_bits_data; // @[Debug.scala 1053:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193949.4]
+  wire  dmInner_io_dmactive; // @[Debug.scala 1053:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193949.4]
+  wire  dmInner_io_innerCtrl_ready; // @[Debug.scala 1053:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193949.4]
+  wire  dmInner_io_innerCtrl_valid; // @[Debug.scala 1053:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193949.4]
+  wire  dmInner_io_innerCtrl_bits_resumereq; // @[Debug.scala 1053:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193949.4]
+  wire [9:0] dmInner_io_innerCtrl_bits_hartsel; // @[Debug.scala 1053:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193949.4]
+  wire  dmInner_io_innerCtrl_bits_ackhavereset; // @[Debug.scala 1053:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193949.4]
+  wire  dmiXing_clock; // @[Debug.scala 1054:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193956.4]
+  wire  dmiXing_reset; // @[Debug.scala 1054:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193956.4]
+  wire [2:0] dmiXing_auto_in_a_mem_0_opcode; // @[Debug.scala 1054:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193956.4]
+  wire [8:0] dmiXing_auto_in_a_mem_0_address; // @[Debug.scala 1054:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193956.4]
+  wire [3:0] dmiXing_auto_in_a_mem_0_mask; // @[Debug.scala 1054:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193956.4]
+  wire [31:0] dmiXing_auto_in_a_mem_0_data; // @[Debug.scala 1054:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193956.4]
+  wire  dmiXing_auto_in_a_ridx; // @[Debug.scala 1054:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193956.4]
+  wire  dmiXing_auto_in_a_widx; // @[Debug.scala 1054:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193956.4]
+  wire  dmiXing_auto_in_a_safe_ridx_valid; // @[Debug.scala 1054:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193956.4]
+  wire  dmiXing_auto_in_a_safe_widx_valid; // @[Debug.scala 1054:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193956.4]
+  wire  dmiXing_auto_in_a_safe_source_reset_n; // @[Debug.scala 1054:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193956.4]
+  wire  dmiXing_auto_in_a_safe_sink_reset_n; // @[Debug.scala 1054:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193956.4]
+  wire [2:0] dmiXing_auto_in_d_mem_0_opcode; // @[Debug.scala 1054:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193956.4]
+  wire [1:0] dmiXing_auto_in_d_mem_0_size; // @[Debug.scala 1054:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193956.4]
+  wire  dmiXing_auto_in_d_mem_0_source; // @[Debug.scala 1054:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193956.4]
+  wire [31:0] dmiXing_auto_in_d_mem_0_data; // @[Debug.scala 1054:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193956.4]
+  wire  dmiXing_auto_in_d_ridx; // @[Debug.scala 1054:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193956.4]
+  wire  dmiXing_auto_in_d_widx; // @[Debug.scala 1054:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193956.4]
+  wire  dmiXing_auto_in_d_safe_ridx_valid; // @[Debug.scala 1054:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193956.4]
+  wire  dmiXing_auto_in_d_safe_widx_valid; // @[Debug.scala 1054:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193956.4]
+  wire  dmiXing_auto_in_d_safe_source_reset_n; // @[Debug.scala 1054:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193956.4]
+  wire  dmiXing_auto_in_d_safe_sink_reset_n; // @[Debug.scala 1054:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193956.4]
+  wire  dmiXing_auto_out_a_ready; // @[Debug.scala 1054:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193956.4]
+  wire  dmiXing_auto_out_a_valid; // @[Debug.scala 1054:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193956.4]
+  wire [2:0] dmiXing_auto_out_a_bits_opcode; // @[Debug.scala 1054:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193956.4]
+  wire [2:0] dmiXing_auto_out_a_bits_param; // @[Debug.scala 1054:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193956.4]
+  wire [1:0] dmiXing_auto_out_a_bits_size; // @[Debug.scala 1054:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193956.4]
+  wire  dmiXing_auto_out_a_bits_source; // @[Debug.scala 1054:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193956.4]
+  wire [8:0] dmiXing_auto_out_a_bits_address; // @[Debug.scala 1054:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193956.4]
+  wire [3:0] dmiXing_auto_out_a_bits_mask; // @[Debug.scala 1054:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193956.4]
+  wire [31:0] dmiXing_auto_out_a_bits_data; // @[Debug.scala 1054:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193956.4]
+  wire  dmiXing_auto_out_a_bits_corrupt; // @[Debug.scala 1054:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193956.4]
+  wire  dmiXing_auto_out_d_ready; // @[Debug.scala 1054:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193956.4]
+  wire  dmiXing_auto_out_d_valid; // @[Debug.scala 1054:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193956.4]
+  wire [2:0] dmiXing_auto_out_d_bits_opcode; // @[Debug.scala 1054:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193956.4]
+  wire [1:0] dmiXing_auto_out_d_bits_size; // @[Debug.scala 1054:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193956.4]
+  wire  dmiXing_auto_out_d_bits_source; // @[Debug.scala 1054:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193956.4]
+  wire [31:0] dmiXing_auto_out_d_bits_data; // @[Debug.scala 1054:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193956.4]
+  wire  AsyncQueueSink_clock; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@193966.4]
+  wire  AsyncQueueSink_reset; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@193966.4]
+  wire  AsyncQueueSink_io_deq_valid; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@193966.4]
+  wire  AsyncQueueSink_io_deq_bits_resumereq; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@193966.4]
+  wire [9:0] AsyncQueueSink_io_deq_bits_hartsel; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@193966.4]
+  wire  AsyncQueueSink_io_deq_bits_ackhavereset; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@193966.4]
+  wire  AsyncQueueSink_io_async_mem_0_resumereq; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@193966.4]
+  wire [9:0] AsyncQueueSink_io_async_mem_0_hartsel; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@193966.4]
+  wire  AsyncQueueSink_io_async_mem_0_ackhavereset; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@193966.4]
+  wire  AsyncQueueSink_io_async_ridx; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@193966.4]
+  wire  AsyncQueueSink_io_async_widx; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@193966.4]
+  wire  AsyncQueueSink_io_async_safe_ridx_valid; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@193966.4]
+  wire  AsyncQueueSink_io_async_safe_widx_valid; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@193966.4]
+  wire  AsyncQueueSink_io_async_safe_source_reset_n; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@193966.4]
+  wire  AsyncQueueSink_io_async_safe_sink_reset_n; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@193966.4]
+  wire  dmactiveSync_clock; // @[ResetCatchAndSync.scala 39:28:shc.marmotcaravel.MarmotCaravelConfig.fir@193978.4]
+  wire  dmactiveSync_reset; // @[ResetCatchAndSync.scala 39:28:shc.marmotcaravel.MarmotCaravelConfig.fir@193978.4]
+  wire  dmactiveSync_io_sync_reset; // @[ResetCatchAndSync.scala 39:28:shc.marmotcaravel.MarmotCaravelConfig.fir@193978.4]
+  TLDebugModuleInner dmInner ( // @[Debug.scala 1053:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193949.4]
+    .clock(dmInner_clock),
+    .reset(dmInner_reset),
+    .auto_tl_in_a_ready(dmInner_auto_tl_in_a_ready),
+    .auto_tl_in_a_valid(dmInner_auto_tl_in_a_valid),
+    .auto_tl_in_a_bits_opcode(dmInner_auto_tl_in_a_bits_opcode),
+    .auto_tl_in_a_bits_param(dmInner_auto_tl_in_a_bits_param),
+    .auto_tl_in_a_bits_size(dmInner_auto_tl_in_a_bits_size),
+    .auto_tl_in_a_bits_source(dmInner_auto_tl_in_a_bits_source),
+    .auto_tl_in_a_bits_address(dmInner_auto_tl_in_a_bits_address),
+    .auto_tl_in_a_bits_mask(dmInner_auto_tl_in_a_bits_mask),
+    .auto_tl_in_a_bits_data(dmInner_auto_tl_in_a_bits_data),
+    .auto_tl_in_a_bits_corrupt(dmInner_auto_tl_in_a_bits_corrupt),
+    .auto_tl_in_d_ready(dmInner_auto_tl_in_d_ready),
+    .auto_tl_in_d_valid(dmInner_auto_tl_in_d_valid),
+    .auto_tl_in_d_bits_opcode(dmInner_auto_tl_in_d_bits_opcode),
+    .auto_tl_in_d_bits_size(dmInner_auto_tl_in_d_bits_size),
+    .auto_tl_in_d_bits_source(dmInner_auto_tl_in_d_bits_source),
+    .auto_tl_in_d_bits_data(dmInner_auto_tl_in_d_bits_data),
+    .auto_dmi_in_a_ready(dmInner_auto_dmi_in_a_ready),
+    .auto_dmi_in_a_valid(dmInner_auto_dmi_in_a_valid),
+    .auto_dmi_in_a_bits_opcode(dmInner_auto_dmi_in_a_bits_opcode),
+    .auto_dmi_in_a_bits_param(dmInner_auto_dmi_in_a_bits_param),
+    .auto_dmi_in_a_bits_size(dmInner_auto_dmi_in_a_bits_size),
+    .auto_dmi_in_a_bits_source(dmInner_auto_dmi_in_a_bits_source),
+    .auto_dmi_in_a_bits_address(dmInner_auto_dmi_in_a_bits_address),
+    .auto_dmi_in_a_bits_mask(dmInner_auto_dmi_in_a_bits_mask),
+    .auto_dmi_in_a_bits_data(dmInner_auto_dmi_in_a_bits_data),
+    .auto_dmi_in_a_bits_corrupt(dmInner_auto_dmi_in_a_bits_corrupt),
+    .auto_dmi_in_d_ready(dmInner_auto_dmi_in_d_ready),
+    .auto_dmi_in_d_valid(dmInner_auto_dmi_in_d_valid),
+    .auto_dmi_in_d_bits_opcode(dmInner_auto_dmi_in_d_bits_opcode),
+    .auto_dmi_in_d_bits_size(dmInner_auto_dmi_in_d_bits_size),
+    .auto_dmi_in_d_bits_source(dmInner_auto_dmi_in_d_bits_source),
+    .auto_dmi_in_d_bits_data(dmInner_auto_dmi_in_d_bits_data),
+    .io_dmactive(dmInner_io_dmactive),
+    .io_innerCtrl_ready(dmInner_io_innerCtrl_ready),
+    .io_innerCtrl_valid(dmInner_io_innerCtrl_valid),
+    .io_innerCtrl_bits_resumereq(dmInner_io_innerCtrl_bits_resumereq),
+    .io_innerCtrl_bits_hartsel(dmInner_io_innerCtrl_bits_hartsel),
+    .io_innerCtrl_bits_ackhavereset(dmInner_io_innerCtrl_bits_ackhavereset)
+  );
+  TLAsyncCrossingSink dmiXing ( // @[Debug.scala 1054:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193956.4]
+    .clock(dmiXing_clock),
+    .reset(dmiXing_reset),
+    .auto_in_a_mem_0_opcode(dmiXing_auto_in_a_mem_0_opcode),
+    .auto_in_a_mem_0_address(dmiXing_auto_in_a_mem_0_address),
+    .auto_in_a_mem_0_mask(dmiXing_auto_in_a_mem_0_mask),
+    .auto_in_a_mem_0_data(dmiXing_auto_in_a_mem_0_data),
+    .auto_in_a_ridx(dmiXing_auto_in_a_ridx),
+    .auto_in_a_widx(dmiXing_auto_in_a_widx),
+    .auto_in_a_safe_ridx_valid(dmiXing_auto_in_a_safe_ridx_valid),
+    .auto_in_a_safe_widx_valid(dmiXing_auto_in_a_safe_widx_valid),
+    .auto_in_a_safe_source_reset_n(dmiXing_auto_in_a_safe_source_reset_n),
+    .auto_in_a_safe_sink_reset_n(dmiXing_auto_in_a_safe_sink_reset_n),
+    .auto_in_d_mem_0_opcode(dmiXing_auto_in_d_mem_0_opcode),
+    .auto_in_d_mem_0_size(dmiXing_auto_in_d_mem_0_size),
+    .auto_in_d_mem_0_source(dmiXing_auto_in_d_mem_0_source),
+    .auto_in_d_mem_0_data(dmiXing_auto_in_d_mem_0_data),
+    .auto_in_d_ridx(dmiXing_auto_in_d_ridx),
+    .auto_in_d_widx(dmiXing_auto_in_d_widx),
+    .auto_in_d_safe_ridx_valid(dmiXing_auto_in_d_safe_ridx_valid),
+    .auto_in_d_safe_widx_valid(dmiXing_auto_in_d_safe_widx_valid),
+    .auto_in_d_safe_source_reset_n(dmiXing_auto_in_d_safe_source_reset_n),
+    .auto_in_d_safe_sink_reset_n(dmiXing_auto_in_d_safe_sink_reset_n),
+    .auto_out_a_ready(dmiXing_auto_out_a_ready),
+    .auto_out_a_valid(dmiXing_auto_out_a_valid),
+    .auto_out_a_bits_opcode(dmiXing_auto_out_a_bits_opcode),
+    .auto_out_a_bits_param(dmiXing_auto_out_a_bits_param),
+    .auto_out_a_bits_size(dmiXing_auto_out_a_bits_size),
+    .auto_out_a_bits_source(dmiXing_auto_out_a_bits_source),
+    .auto_out_a_bits_address(dmiXing_auto_out_a_bits_address),
+    .auto_out_a_bits_mask(dmiXing_auto_out_a_bits_mask),
+    .auto_out_a_bits_data(dmiXing_auto_out_a_bits_data),
+    .auto_out_a_bits_corrupt(dmiXing_auto_out_a_bits_corrupt),
+    .auto_out_d_ready(dmiXing_auto_out_d_ready),
+    .auto_out_d_valid(dmiXing_auto_out_d_valid),
+    .auto_out_d_bits_opcode(dmiXing_auto_out_d_bits_opcode),
+    .auto_out_d_bits_size(dmiXing_auto_out_d_bits_size),
+    .auto_out_d_bits_source(dmiXing_auto_out_d_bits_source),
+    .auto_out_d_bits_data(dmiXing_auto_out_d_bits_data)
+  );
+  AsyncQueueSink_3 AsyncQueueSink ( // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@193966.4]
+    .clock(AsyncQueueSink_clock),
+    .reset(AsyncQueueSink_reset),
+    .io_deq_valid(AsyncQueueSink_io_deq_valid),
+    .io_deq_bits_resumereq(AsyncQueueSink_io_deq_bits_resumereq),
+    .io_deq_bits_hartsel(AsyncQueueSink_io_deq_bits_hartsel),
+    .io_deq_bits_ackhavereset(AsyncQueueSink_io_deq_bits_ackhavereset),
+    .io_async_mem_0_resumereq(AsyncQueueSink_io_async_mem_0_resumereq),
+    .io_async_mem_0_hartsel(AsyncQueueSink_io_async_mem_0_hartsel),
+    .io_async_mem_0_ackhavereset(AsyncQueueSink_io_async_mem_0_ackhavereset),
+    .io_async_ridx(AsyncQueueSink_io_async_ridx),
+    .io_async_widx(AsyncQueueSink_io_async_widx),
+    .io_async_safe_ridx_valid(AsyncQueueSink_io_async_safe_ridx_valid),
+    .io_async_safe_widx_valid(AsyncQueueSink_io_async_safe_widx_valid),
+    .io_async_safe_source_reset_n(AsyncQueueSink_io_async_safe_source_reset_n),
+    .io_async_safe_sink_reset_n(AsyncQueueSink_io_async_safe_sink_reset_n)
+  );
+  ResetCatchAndSync_d3 dmactiveSync ( // @[ResetCatchAndSync.scala 39:28:shc.marmotcaravel.MarmotCaravelConfig.fir@193978.4]
+    .clock(dmactiveSync_clock),
+    .reset(dmactiveSync_reset),
+    .io_sync_reset(dmactiveSync_io_sync_reset)
+  );
+  assign auto_dmiXing_in_a_ridx = dmiXing_auto_in_a_ridx; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193965.4]
+  assign auto_dmiXing_in_a_safe_ridx_valid = dmiXing_auto_in_a_safe_ridx_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193965.4]
+  assign auto_dmiXing_in_a_safe_sink_reset_n = dmiXing_auto_in_a_safe_sink_reset_n; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193965.4]
+  assign auto_dmiXing_in_d_mem_0_opcode = dmiXing_auto_in_d_mem_0_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193965.4]
+  assign auto_dmiXing_in_d_mem_0_size = dmiXing_auto_in_d_mem_0_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193965.4]
+  assign auto_dmiXing_in_d_mem_0_source = dmiXing_auto_in_d_mem_0_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193965.4]
+  assign auto_dmiXing_in_d_mem_0_data = dmiXing_auto_in_d_mem_0_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193965.4]
+  assign auto_dmiXing_in_d_widx = dmiXing_auto_in_d_widx; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193965.4]
+  assign auto_dmiXing_in_d_safe_widx_valid = dmiXing_auto_in_d_safe_widx_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193965.4]
+  assign auto_dmiXing_in_d_safe_source_reset_n = dmiXing_auto_in_d_safe_source_reset_n; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193965.4]
+  assign auto_dmInner_tl_in_a_ready = dmInner_auto_tl_in_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193963.4]
+  assign auto_dmInner_tl_in_d_valid = dmInner_auto_tl_in_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193963.4]
+  assign auto_dmInner_tl_in_d_bits_opcode = dmInner_auto_tl_in_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193963.4]
+  assign auto_dmInner_tl_in_d_bits_size = dmInner_auto_tl_in_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193963.4]
+  assign auto_dmInner_tl_in_d_bits_source = dmInner_auto_tl_in_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193963.4]
+  assign auto_dmInner_tl_in_d_bits_data = dmInner_auto_tl_in_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193963.4]
+  assign io_innerCtrl_ridx = AsyncQueueSink_io_async_ridx; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@193974.4]
+  assign io_innerCtrl_safe_ridx_valid = AsyncQueueSink_io_async_safe_ridx_valid; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@193972.4]
+  assign io_innerCtrl_safe_sink_reset_n = AsyncQueueSink_io_async_safe_sink_reset_n; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@193969.4]
+  assign dmInner_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193954.4]
+  assign dmInner_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193955.4]
+  assign dmInner_auto_tl_in_a_valid = auto_dmInner_tl_in_a_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193963.4]
+  assign dmInner_auto_tl_in_a_bits_opcode = auto_dmInner_tl_in_a_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193963.4]
+  assign dmInner_auto_tl_in_a_bits_param = auto_dmInner_tl_in_a_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193963.4]
+  assign dmInner_auto_tl_in_a_bits_size = auto_dmInner_tl_in_a_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193963.4]
+  assign dmInner_auto_tl_in_a_bits_source = auto_dmInner_tl_in_a_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193963.4]
+  assign dmInner_auto_tl_in_a_bits_address = auto_dmInner_tl_in_a_bits_address; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193963.4]
+  assign dmInner_auto_tl_in_a_bits_mask = auto_dmInner_tl_in_a_bits_mask; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193963.4]
+  assign dmInner_auto_tl_in_a_bits_data = auto_dmInner_tl_in_a_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193963.4]
+  assign dmInner_auto_tl_in_a_bits_corrupt = auto_dmInner_tl_in_a_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193963.4]
+  assign dmInner_auto_tl_in_d_ready = auto_dmInner_tl_in_d_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193963.4]
+  assign dmInner_auto_dmi_in_a_valid = dmiXing_auto_out_a_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193962.4]
+  assign dmInner_auto_dmi_in_a_bits_opcode = dmiXing_auto_out_a_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193962.4]
+  assign dmInner_auto_dmi_in_a_bits_param = dmiXing_auto_out_a_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193962.4]
+  assign dmInner_auto_dmi_in_a_bits_size = dmiXing_auto_out_a_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193962.4]
+  assign dmInner_auto_dmi_in_a_bits_source = dmiXing_auto_out_a_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193962.4]
+  assign dmInner_auto_dmi_in_a_bits_address = dmiXing_auto_out_a_bits_address; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193962.4]
+  assign dmInner_auto_dmi_in_a_bits_mask = dmiXing_auto_out_a_bits_mask; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193962.4]
+  assign dmInner_auto_dmi_in_a_bits_data = dmiXing_auto_out_a_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193962.4]
+  assign dmInner_auto_dmi_in_a_bits_corrupt = dmiXing_auto_out_a_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193962.4]
+  assign dmInner_auto_dmi_in_d_ready = dmiXing_auto_out_d_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193962.4]
+  assign dmInner_io_dmactive = ~ dmactiveSync_io_sync_reset; // @[Debug.scala 1072:32:shc.marmotcaravel.MarmotCaravelConfig.fir@193984.4]
+  assign dmInner_io_innerCtrl_valid = AsyncQueueSink_io_deq_valid; // @[Debug.scala 1071:33:shc.marmotcaravel.MarmotCaravelConfig.fir@193976.4]
+  assign dmInner_io_innerCtrl_bits_resumereq = AsyncQueueSink_io_deq_bits_resumereq; // @[Debug.scala 1071:33:shc.marmotcaravel.MarmotCaravelConfig.fir@193976.4]
+  assign dmInner_io_innerCtrl_bits_hartsel = AsyncQueueSink_io_deq_bits_hartsel; // @[Debug.scala 1071:33:shc.marmotcaravel.MarmotCaravelConfig.fir@193976.4]
+  assign dmInner_io_innerCtrl_bits_ackhavereset = AsyncQueueSink_io_deq_bits_ackhavereset; // @[Debug.scala 1071:33:shc.marmotcaravel.MarmotCaravelConfig.fir@193976.4]
+  assign dmiXing_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193960.4]
+  assign dmiXing_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193961.4]
+  assign dmiXing_auto_in_a_mem_0_opcode = auto_dmiXing_in_a_mem_0_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193965.4]
+  assign dmiXing_auto_in_a_mem_0_address = auto_dmiXing_in_a_mem_0_address; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193965.4]
+  assign dmiXing_auto_in_a_mem_0_mask = auto_dmiXing_in_a_mem_0_mask; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193965.4]
+  assign dmiXing_auto_in_a_mem_0_data = auto_dmiXing_in_a_mem_0_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193965.4]
+  assign dmiXing_auto_in_a_widx = auto_dmiXing_in_a_widx; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193965.4]
+  assign dmiXing_auto_in_a_safe_widx_valid = auto_dmiXing_in_a_safe_widx_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193965.4]
+  assign dmiXing_auto_in_a_safe_source_reset_n = auto_dmiXing_in_a_safe_source_reset_n; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193965.4]
+  assign dmiXing_auto_in_d_ridx = auto_dmiXing_in_d_ridx; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193965.4]
+  assign dmiXing_auto_in_d_safe_ridx_valid = auto_dmiXing_in_d_safe_ridx_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193965.4]
+  assign dmiXing_auto_in_d_safe_sink_reset_n = auto_dmiXing_in_d_safe_sink_reset_n; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193965.4]
+  assign dmiXing_auto_out_a_ready = dmInner_auto_dmi_in_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193962.4]
+  assign dmiXing_auto_out_d_valid = dmInner_auto_dmi_in_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193962.4]
+  assign dmiXing_auto_out_d_bits_opcode = dmInner_auto_dmi_in_d_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193962.4]
+  assign dmiXing_auto_out_d_bits_size = dmInner_auto_dmi_in_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193962.4]
+  assign dmiXing_auto_out_d_bits_source = dmInner_auto_dmi_in_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193962.4]
+  assign dmiXing_auto_out_d_bits_data = dmInner_auto_dmi_in_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193962.4]
+  assign AsyncQueueSink_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193967.4]
+  assign AsyncQueueSink_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193968.4]
+  assign AsyncQueueSink_io_async_mem_0_resumereq = io_innerCtrl_mem_0_resumereq; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@193975.4]
+  assign AsyncQueueSink_io_async_mem_0_hartsel = io_innerCtrl_mem_0_hartsel; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@193975.4]
+  assign AsyncQueueSink_io_async_mem_0_ackhavereset = io_innerCtrl_mem_0_ackhavereset; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@193975.4]
+  assign AsyncQueueSink_io_async_widx = io_innerCtrl_widx; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@193973.4]
+  assign AsyncQueueSink_io_async_safe_widx_valid = io_innerCtrl_safe_widx_valid; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@193971.4]
+  assign AsyncQueueSink_io_async_safe_source_reset_n = io_innerCtrl_safe_source_reset_n; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@193970.4]
+  assign dmactiveSync_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193980.4]
+  assign dmactiveSync_reset = ~ io_dmactive; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193981.4]
+endmodule
+module TLDebugModule( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193987.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193988.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193989.4]
+  output        auto_dmInner_dmInner_tl_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193990.4]
+  input         auto_dmInner_dmInner_tl_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193990.4]
+  input  [2:0]  auto_dmInner_dmInner_tl_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193990.4]
+  input  [2:0]  auto_dmInner_dmInner_tl_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193990.4]
+  input  [1:0]  auto_dmInner_dmInner_tl_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193990.4]
+  input  [5:0]  auto_dmInner_dmInner_tl_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193990.4]
+  input  [11:0] auto_dmInner_dmInner_tl_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193990.4]
+  input  [3:0]  auto_dmInner_dmInner_tl_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193990.4]
+  input  [31:0] auto_dmInner_dmInner_tl_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193990.4]
+  input         auto_dmInner_dmInner_tl_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193990.4]
+  input         auto_dmInner_dmInner_tl_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193990.4]
+  output        auto_dmInner_dmInner_tl_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193990.4]
+  output [2:0]  auto_dmInner_dmInner_tl_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193990.4]
+  output [1:0]  auto_dmInner_dmInner_tl_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193990.4]
+  output [5:0]  auto_dmInner_dmInner_tl_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193990.4]
+  output [31:0] auto_dmInner_dmInner_tl_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193990.4]
+  output        auto_dmOuter_intsource_out_sync_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193990.4]
+  output        io_ctrl_ndreset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193991.4]
+  output        io_dmi_dmi_req_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193991.4]
+  input         io_dmi_dmi_req_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193991.4]
+  input  [6:0]  io_dmi_dmi_req_bits_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193991.4]
+  input  [31:0] io_dmi_dmi_req_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193991.4]
+  input  [1:0]  io_dmi_dmi_req_bits_op, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193991.4]
+  input         io_dmi_dmi_resp_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193991.4]
+  output        io_dmi_dmi_resp_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193991.4]
+  output [31:0] io_dmi_dmi_resp_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193991.4]
+  output [1:0]  io_dmi_dmi_resp_bits_resp, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193991.4]
+  input         io_dmi_dmiClock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193991.4]
+  input         io_dmi_dmiReset // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193991.4]
+);
+  wire  dmOuter_clock; // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193997.4]
+  wire  dmOuter_reset; // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193997.4]
+  wire [2:0] dmOuter_auto_asource_out_a_mem_0_opcode; // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193997.4]
+  wire [8:0] dmOuter_auto_asource_out_a_mem_0_address; // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193997.4]
+  wire [3:0] dmOuter_auto_asource_out_a_mem_0_mask; // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193997.4]
+  wire [31:0] dmOuter_auto_asource_out_a_mem_0_data; // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193997.4]
+  wire  dmOuter_auto_asource_out_a_ridx; // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193997.4]
+  wire  dmOuter_auto_asource_out_a_widx; // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193997.4]
+  wire  dmOuter_auto_asource_out_a_safe_ridx_valid; // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193997.4]
+  wire  dmOuter_auto_asource_out_a_safe_widx_valid; // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193997.4]
+  wire  dmOuter_auto_asource_out_a_safe_source_reset_n; // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193997.4]
+  wire  dmOuter_auto_asource_out_a_safe_sink_reset_n; // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193997.4]
+  wire [2:0] dmOuter_auto_asource_out_d_mem_0_opcode; // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193997.4]
+  wire [1:0] dmOuter_auto_asource_out_d_mem_0_size; // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193997.4]
+  wire  dmOuter_auto_asource_out_d_mem_0_source; // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193997.4]
+  wire [31:0] dmOuter_auto_asource_out_d_mem_0_data; // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193997.4]
+  wire  dmOuter_auto_asource_out_d_ridx; // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193997.4]
+  wire  dmOuter_auto_asource_out_d_widx; // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193997.4]
+  wire  dmOuter_auto_asource_out_d_safe_ridx_valid; // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193997.4]
+  wire  dmOuter_auto_asource_out_d_safe_widx_valid; // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193997.4]
+  wire  dmOuter_auto_asource_out_d_safe_source_reset_n; // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193997.4]
+  wire  dmOuter_auto_asource_out_d_safe_sink_reset_n; // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193997.4]
+  wire  dmOuter_auto_intsource_out_sync_0; // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193997.4]
+  wire  dmOuter_io_dmi_req_ready; // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193997.4]
+  wire  dmOuter_io_dmi_req_valid; // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193997.4]
+  wire [6:0] dmOuter_io_dmi_req_bits_addr; // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193997.4]
+  wire [31:0] dmOuter_io_dmi_req_bits_data; // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193997.4]
+  wire [1:0] dmOuter_io_dmi_req_bits_op; // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193997.4]
+  wire  dmOuter_io_dmi_resp_ready; // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193997.4]
+  wire  dmOuter_io_dmi_resp_valid; // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193997.4]
+  wire [31:0] dmOuter_io_dmi_resp_bits_data; // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193997.4]
+  wire [1:0] dmOuter_io_dmi_resp_bits_resp; // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193997.4]
+  wire  dmOuter_io_ctrl_ndreset; // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193997.4]
+  wire  dmOuter_io_ctrl_dmactive; // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193997.4]
+  wire  dmOuter_io_innerCtrl_mem_0_resumereq; // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193997.4]
+  wire [9:0] dmOuter_io_innerCtrl_mem_0_hartsel; // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193997.4]
+  wire  dmOuter_io_innerCtrl_mem_0_ackhavereset; // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193997.4]
+  wire  dmOuter_io_innerCtrl_ridx; // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193997.4]
+  wire  dmOuter_io_innerCtrl_widx; // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193997.4]
+  wire  dmOuter_io_innerCtrl_safe_ridx_valid; // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193997.4]
+  wire  dmOuter_io_innerCtrl_safe_widx_valid; // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193997.4]
+  wire  dmOuter_io_innerCtrl_safe_source_reset_n; // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193997.4]
+  wire  dmOuter_io_innerCtrl_safe_sink_reset_n; // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193997.4]
+  wire  dmInner_clock; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194004.4]
+  wire  dmInner_reset; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194004.4]
+  wire [2:0] dmInner_auto_dmiXing_in_a_mem_0_opcode; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194004.4]
+  wire [8:0] dmInner_auto_dmiXing_in_a_mem_0_address; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194004.4]
+  wire [3:0] dmInner_auto_dmiXing_in_a_mem_0_mask; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194004.4]
+  wire [31:0] dmInner_auto_dmiXing_in_a_mem_0_data; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194004.4]
+  wire  dmInner_auto_dmiXing_in_a_ridx; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194004.4]
+  wire  dmInner_auto_dmiXing_in_a_widx; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194004.4]
+  wire  dmInner_auto_dmiXing_in_a_safe_ridx_valid; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194004.4]
+  wire  dmInner_auto_dmiXing_in_a_safe_widx_valid; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194004.4]
+  wire  dmInner_auto_dmiXing_in_a_safe_source_reset_n; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194004.4]
+  wire  dmInner_auto_dmiXing_in_a_safe_sink_reset_n; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194004.4]
+  wire [2:0] dmInner_auto_dmiXing_in_d_mem_0_opcode; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194004.4]
+  wire [1:0] dmInner_auto_dmiXing_in_d_mem_0_size; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194004.4]
+  wire  dmInner_auto_dmiXing_in_d_mem_0_source; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194004.4]
+  wire [31:0] dmInner_auto_dmiXing_in_d_mem_0_data; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194004.4]
+  wire  dmInner_auto_dmiXing_in_d_ridx; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194004.4]
+  wire  dmInner_auto_dmiXing_in_d_widx; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194004.4]
+  wire  dmInner_auto_dmiXing_in_d_safe_ridx_valid; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194004.4]
+  wire  dmInner_auto_dmiXing_in_d_safe_widx_valid; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194004.4]
+  wire  dmInner_auto_dmiXing_in_d_safe_source_reset_n; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194004.4]
+  wire  dmInner_auto_dmiXing_in_d_safe_sink_reset_n; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194004.4]
+  wire  dmInner_auto_dmInner_tl_in_a_ready; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194004.4]
+  wire  dmInner_auto_dmInner_tl_in_a_valid; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194004.4]
+  wire [2:0] dmInner_auto_dmInner_tl_in_a_bits_opcode; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194004.4]
+  wire [2:0] dmInner_auto_dmInner_tl_in_a_bits_param; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194004.4]
+  wire [1:0] dmInner_auto_dmInner_tl_in_a_bits_size; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194004.4]
+  wire [5:0] dmInner_auto_dmInner_tl_in_a_bits_source; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194004.4]
+  wire [11:0] dmInner_auto_dmInner_tl_in_a_bits_address; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194004.4]
+  wire [3:0] dmInner_auto_dmInner_tl_in_a_bits_mask; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194004.4]
+  wire [31:0] dmInner_auto_dmInner_tl_in_a_bits_data; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194004.4]
+  wire  dmInner_auto_dmInner_tl_in_a_bits_corrupt; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194004.4]
+  wire  dmInner_auto_dmInner_tl_in_d_ready; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194004.4]
+  wire  dmInner_auto_dmInner_tl_in_d_valid; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194004.4]
+  wire [2:0] dmInner_auto_dmInner_tl_in_d_bits_opcode; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194004.4]
+  wire [1:0] dmInner_auto_dmInner_tl_in_d_bits_size; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194004.4]
+  wire [5:0] dmInner_auto_dmInner_tl_in_d_bits_source; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194004.4]
+  wire [31:0] dmInner_auto_dmInner_tl_in_d_bits_data; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194004.4]
+  wire  dmInner_io_dmactive; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194004.4]
+  wire  dmInner_io_innerCtrl_mem_0_resumereq; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194004.4]
+  wire [9:0] dmInner_io_innerCtrl_mem_0_hartsel; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194004.4]
+  wire  dmInner_io_innerCtrl_mem_0_ackhavereset; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194004.4]
+  wire  dmInner_io_innerCtrl_ridx; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194004.4]
+  wire  dmInner_io_innerCtrl_widx; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194004.4]
+  wire  dmInner_io_innerCtrl_safe_ridx_valid; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194004.4]
+  wire  dmInner_io_innerCtrl_safe_widx_valid; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194004.4]
+  wire  dmInner_io_innerCtrl_safe_source_reset_n; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194004.4]
+  wire  dmInner_io_innerCtrl_safe_sink_reset_n; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194004.4]
+  TLDebugModuleOuterAsync dmOuter ( // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193997.4]
+    .clock(dmOuter_clock),
+    .reset(dmOuter_reset),
+    .auto_asource_out_a_mem_0_opcode(dmOuter_auto_asource_out_a_mem_0_opcode),
+    .auto_asource_out_a_mem_0_address(dmOuter_auto_asource_out_a_mem_0_address),
+    .auto_asource_out_a_mem_0_mask(dmOuter_auto_asource_out_a_mem_0_mask),
+    .auto_asource_out_a_mem_0_data(dmOuter_auto_asource_out_a_mem_0_data),
+    .auto_asource_out_a_ridx(dmOuter_auto_asource_out_a_ridx),
+    .auto_asource_out_a_widx(dmOuter_auto_asource_out_a_widx),
+    .auto_asource_out_a_safe_ridx_valid(dmOuter_auto_asource_out_a_safe_ridx_valid),
+    .auto_asource_out_a_safe_widx_valid(dmOuter_auto_asource_out_a_safe_widx_valid),
+    .auto_asource_out_a_safe_source_reset_n(dmOuter_auto_asource_out_a_safe_source_reset_n),
+    .auto_asource_out_a_safe_sink_reset_n(dmOuter_auto_asource_out_a_safe_sink_reset_n),
+    .auto_asource_out_d_mem_0_opcode(dmOuter_auto_asource_out_d_mem_0_opcode),
+    .auto_asource_out_d_mem_0_size(dmOuter_auto_asource_out_d_mem_0_size),
+    .auto_asource_out_d_mem_0_source(dmOuter_auto_asource_out_d_mem_0_source),
+    .auto_asource_out_d_mem_0_data(dmOuter_auto_asource_out_d_mem_0_data),
+    .auto_asource_out_d_ridx(dmOuter_auto_asource_out_d_ridx),
+    .auto_asource_out_d_widx(dmOuter_auto_asource_out_d_widx),
+    .auto_asource_out_d_safe_ridx_valid(dmOuter_auto_asource_out_d_safe_ridx_valid),
+    .auto_asource_out_d_safe_widx_valid(dmOuter_auto_asource_out_d_safe_widx_valid),
+    .auto_asource_out_d_safe_source_reset_n(dmOuter_auto_asource_out_d_safe_source_reset_n),
+    .auto_asource_out_d_safe_sink_reset_n(dmOuter_auto_asource_out_d_safe_sink_reset_n),
+    .auto_intsource_out_sync_0(dmOuter_auto_intsource_out_sync_0),
+    .io_dmi_req_ready(dmOuter_io_dmi_req_ready),
+    .io_dmi_req_valid(dmOuter_io_dmi_req_valid),
+    .io_dmi_req_bits_addr(dmOuter_io_dmi_req_bits_addr),
+    .io_dmi_req_bits_data(dmOuter_io_dmi_req_bits_data),
+    .io_dmi_req_bits_op(dmOuter_io_dmi_req_bits_op),
+    .io_dmi_resp_ready(dmOuter_io_dmi_resp_ready),
+    .io_dmi_resp_valid(dmOuter_io_dmi_resp_valid),
+    .io_dmi_resp_bits_data(dmOuter_io_dmi_resp_bits_data),
+    .io_dmi_resp_bits_resp(dmOuter_io_dmi_resp_bits_resp),
+    .io_ctrl_ndreset(dmOuter_io_ctrl_ndreset),
+    .io_ctrl_dmactive(dmOuter_io_ctrl_dmactive),
+    .io_innerCtrl_mem_0_resumereq(dmOuter_io_innerCtrl_mem_0_resumereq),
+    .io_innerCtrl_mem_0_hartsel(dmOuter_io_innerCtrl_mem_0_hartsel),
+    .io_innerCtrl_mem_0_ackhavereset(dmOuter_io_innerCtrl_mem_0_ackhavereset),
+    .io_innerCtrl_ridx(dmOuter_io_innerCtrl_ridx),
+    .io_innerCtrl_widx(dmOuter_io_innerCtrl_widx),
+    .io_innerCtrl_safe_ridx_valid(dmOuter_io_innerCtrl_safe_ridx_valid),
+    .io_innerCtrl_safe_widx_valid(dmOuter_io_innerCtrl_safe_widx_valid),
+    .io_innerCtrl_safe_source_reset_n(dmOuter_io_innerCtrl_safe_source_reset_n),
+    .io_innerCtrl_safe_sink_reset_n(dmOuter_io_innerCtrl_safe_sink_reset_n)
+  );
+  TLDebugModuleInnerAsync dmInner ( // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194004.4]
+    .clock(dmInner_clock),
+    .reset(dmInner_reset),
+    .auto_dmiXing_in_a_mem_0_opcode(dmInner_auto_dmiXing_in_a_mem_0_opcode),
+    .auto_dmiXing_in_a_mem_0_address(dmInner_auto_dmiXing_in_a_mem_0_address),
+    .auto_dmiXing_in_a_mem_0_mask(dmInner_auto_dmiXing_in_a_mem_0_mask),
+    .auto_dmiXing_in_a_mem_0_data(dmInner_auto_dmiXing_in_a_mem_0_data),
+    .auto_dmiXing_in_a_ridx(dmInner_auto_dmiXing_in_a_ridx),
+    .auto_dmiXing_in_a_widx(dmInner_auto_dmiXing_in_a_widx),
+    .auto_dmiXing_in_a_safe_ridx_valid(dmInner_auto_dmiXing_in_a_safe_ridx_valid),
+    .auto_dmiXing_in_a_safe_widx_valid(dmInner_auto_dmiXing_in_a_safe_widx_valid),
+    .auto_dmiXing_in_a_safe_source_reset_n(dmInner_auto_dmiXing_in_a_safe_source_reset_n),
+    .auto_dmiXing_in_a_safe_sink_reset_n(dmInner_auto_dmiXing_in_a_safe_sink_reset_n),
+    .auto_dmiXing_in_d_mem_0_opcode(dmInner_auto_dmiXing_in_d_mem_0_opcode),
+    .auto_dmiXing_in_d_mem_0_size(dmInner_auto_dmiXing_in_d_mem_0_size),
+    .auto_dmiXing_in_d_mem_0_source(dmInner_auto_dmiXing_in_d_mem_0_source),
+    .auto_dmiXing_in_d_mem_0_data(dmInner_auto_dmiXing_in_d_mem_0_data),
+    .auto_dmiXing_in_d_ridx(dmInner_auto_dmiXing_in_d_ridx),
+    .auto_dmiXing_in_d_widx(dmInner_auto_dmiXing_in_d_widx),
+    .auto_dmiXing_in_d_safe_ridx_valid(dmInner_auto_dmiXing_in_d_safe_ridx_valid),
+    .auto_dmiXing_in_d_safe_widx_valid(dmInner_auto_dmiXing_in_d_safe_widx_valid),
+    .auto_dmiXing_in_d_safe_source_reset_n(dmInner_auto_dmiXing_in_d_safe_source_reset_n),
+    .auto_dmiXing_in_d_safe_sink_reset_n(dmInner_auto_dmiXing_in_d_safe_sink_reset_n),
+    .auto_dmInner_tl_in_a_ready(dmInner_auto_dmInner_tl_in_a_ready),
+    .auto_dmInner_tl_in_a_valid(dmInner_auto_dmInner_tl_in_a_valid),
+    .auto_dmInner_tl_in_a_bits_opcode(dmInner_auto_dmInner_tl_in_a_bits_opcode),
+    .auto_dmInner_tl_in_a_bits_param(dmInner_auto_dmInner_tl_in_a_bits_param),
+    .auto_dmInner_tl_in_a_bits_size(dmInner_auto_dmInner_tl_in_a_bits_size),
+    .auto_dmInner_tl_in_a_bits_source(dmInner_auto_dmInner_tl_in_a_bits_source),
+    .auto_dmInner_tl_in_a_bits_address(dmInner_auto_dmInner_tl_in_a_bits_address),
+    .auto_dmInner_tl_in_a_bits_mask(dmInner_auto_dmInner_tl_in_a_bits_mask),
+    .auto_dmInner_tl_in_a_bits_data(dmInner_auto_dmInner_tl_in_a_bits_data),
+    .auto_dmInner_tl_in_a_bits_corrupt(dmInner_auto_dmInner_tl_in_a_bits_corrupt),
+    .auto_dmInner_tl_in_d_ready(dmInner_auto_dmInner_tl_in_d_ready),
+    .auto_dmInner_tl_in_d_valid(dmInner_auto_dmInner_tl_in_d_valid),
+    .auto_dmInner_tl_in_d_bits_opcode(dmInner_auto_dmInner_tl_in_d_bits_opcode),
+    .auto_dmInner_tl_in_d_bits_size(dmInner_auto_dmInner_tl_in_d_bits_size),
+    .auto_dmInner_tl_in_d_bits_source(dmInner_auto_dmInner_tl_in_d_bits_source),
+    .auto_dmInner_tl_in_d_bits_data(dmInner_auto_dmInner_tl_in_d_bits_data),
+    .io_dmactive(dmInner_io_dmactive),
+    .io_innerCtrl_mem_0_resumereq(dmInner_io_innerCtrl_mem_0_resumereq),
+    .io_innerCtrl_mem_0_hartsel(dmInner_io_innerCtrl_mem_0_hartsel),
+    .io_innerCtrl_mem_0_ackhavereset(dmInner_io_innerCtrl_mem_0_ackhavereset),
+    .io_innerCtrl_ridx(dmInner_io_innerCtrl_ridx),
+    .io_innerCtrl_widx(dmInner_io_innerCtrl_widx),
+    .io_innerCtrl_safe_ridx_valid(dmInner_io_innerCtrl_safe_ridx_valid),
+    .io_innerCtrl_safe_widx_valid(dmInner_io_innerCtrl_safe_widx_valid),
+    .io_innerCtrl_safe_source_reset_n(dmInner_io_innerCtrl_safe_source_reset_n),
+    .io_innerCtrl_safe_sink_reset_n(dmInner_io_innerCtrl_safe_sink_reset_n)
+  );
+  assign auto_dmInner_dmInner_tl_in_a_ready = dmInner_auto_dmInner_tl_in_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@194013.4]
+  assign auto_dmInner_dmInner_tl_in_d_valid = dmInner_auto_dmInner_tl_in_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@194013.4]
+  assign auto_dmInner_dmInner_tl_in_d_bits_opcode = dmInner_auto_dmInner_tl_in_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@194013.4]
+  assign auto_dmInner_dmInner_tl_in_d_bits_size = dmInner_auto_dmInner_tl_in_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@194013.4]
+  assign auto_dmInner_dmInner_tl_in_d_bits_source = dmInner_auto_dmInner_tl_in_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@194013.4]
+  assign auto_dmInner_dmInner_tl_in_d_bits_data = dmInner_auto_dmInner_tl_in_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@194013.4]
+  assign auto_dmOuter_intsource_out_sync_0 = dmOuter_auto_intsource_out_sync_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@194012.4]
+  assign io_ctrl_ndreset = dmOuter_io_ctrl_ndreset; // @[Debug.scala 1115:13:shc.marmotcaravel.MarmotCaravelConfig.fir@194022.4]
+  assign io_dmi_dmi_req_ready = dmOuter_io_dmi_req_ready; // @[Debug.scala 1105:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194015.4]
+  assign io_dmi_dmi_resp_valid = dmOuter_io_dmi_resp_valid; // @[Debug.scala 1105:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194015.4]
+  assign io_dmi_dmi_resp_bits_data = dmOuter_io_dmi_resp_bits_data; // @[Debug.scala 1105:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194015.4]
+  assign io_dmi_dmi_resp_bits_resp = dmOuter_io_dmi_resp_bits_resp; // @[Debug.scala 1105:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194015.4]
+  assign dmOuter_clock = io_dmi_dmiClock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@194002.4 Debug.scala 1107:26:shc.marmotcaravel.MarmotCaravelConfig.fir@194017.4]
+  assign dmOuter_reset = io_dmi_dmiReset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@194003.4 Debug.scala 1106:26:shc.marmotcaravel.MarmotCaravelConfig.fir@194016.4]
+  assign dmOuter_auto_asource_out_a_ridx = dmInner_auto_dmiXing_in_a_ridx; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@194011.4]
+  assign dmOuter_auto_asource_out_a_safe_ridx_valid = dmInner_auto_dmiXing_in_a_safe_ridx_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@194011.4]
+  assign dmOuter_auto_asource_out_a_safe_sink_reset_n = dmInner_auto_dmiXing_in_a_safe_sink_reset_n; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@194011.4]
+  assign dmOuter_auto_asource_out_d_mem_0_opcode = dmInner_auto_dmiXing_in_d_mem_0_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@194011.4]
+  assign dmOuter_auto_asource_out_d_mem_0_size = dmInner_auto_dmiXing_in_d_mem_0_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@194011.4]
+  assign dmOuter_auto_asource_out_d_mem_0_source = dmInner_auto_dmiXing_in_d_mem_0_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@194011.4]
+  assign dmOuter_auto_asource_out_d_mem_0_data = dmInner_auto_dmiXing_in_d_mem_0_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@194011.4]
+  assign dmOuter_auto_asource_out_d_widx = dmInner_auto_dmiXing_in_d_widx; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@194011.4]
+  assign dmOuter_auto_asource_out_d_safe_widx_valid = dmInner_auto_dmiXing_in_d_safe_widx_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@194011.4]
+  assign dmOuter_auto_asource_out_d_safe_source_reset_n = dmInner_auto_dmiXing_in_d_safe_source_reset_n; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@194011.4]
+  assign dmOuter_io_dmi_req_valid = io_dmi_dmi_req_valid; // @[Debug.scala 1105:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194015.4]
+  assign dmOuter_io_dmi_req_bits_addr = io_dmi_dmi_req_bits_addr; // @[Debug.scala 1105:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194015.4]
+  assign dmOuter_io_dmi_req_bits_data = io_dmi_dmi_req_bits_data; // @[Debug.scala 1105:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194015.4]
+  assign dmOuter_io_dmi_req_bits_op = io_dmi_dmi_req_bits_op; // @[Debug.scala 1105:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194015.4]
+  assign dmOuter_io_dmi_resp_ready = io_dmi_dmi_resp_ready; // @[Debug.scala 1105:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194015.4]
+  assign dmOuter_io_innerCtrl_ridx = dmInner_io_innerCtrl_ridx; // @[Debug.scala 1109:36:shc.marmotcaravel.MarmotCaravelConfig.fir@194018.4]
+  assign dmOuter_io_innerCtrl_safe_ridx_valid = dmInner_io_innerCtrl_safe_ridx_valid; // @[Debug.scala 1109:36:shc.marmotcaravel.MarmotCaravelConfig.fir@194018.4]
+  assign dmOuter_io_innerCtrl_safe_sink_reset_n = dmInner_io_innerCtrl_safe_sink_reset_n; // @[Debug.scala 1109:36:shc.marmotcaravel.MarmotCaravelConfig.fir@194018.4]
+  assign dmInner_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@194009.4]
+  assign dmInner_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@194010.4]
+  assign dmInner_auto_dmiXing_in_a_mem_0_opcode = dmOuter_auto_asource_out_a_mem_0_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@194011.4]
+  assign dmInner_auto_dmiXing_in_a_mem_0_address = dmOuter_auto_asource_out_a_mem_0_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@194011.4]
+  assign dmInner_auto_dmiXing_in_a_mem_0_mask = dmOuter_auto_asource_out_a_mem_0_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@194011.4]
+  assign dmInner_auto_dmiXing_in_a_mem_0_data = dmOuter_auto_asource_out_a_mem_0_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@194011.4]
+  assign dmInner_auto_dmiXing_in_a_widx = dmOuter_auto_asource_out_a_widx; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@194011.4]
+  assign dmInner_auto_dmiXing_in_a_safe_widx_valid = dmOuter_auto_asource_out_a_safe_widx_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@194011.4]
+  assign dmInner_auto_dmiXing_in_a_safe_source_reset_n = dmOuter_auto_asource_out_a_safe_source_reset_n; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@194011.4]
+  assign dmInner_auto_dmiXing_in_d_ridx = dmOuter_auto_asource_out_d_ridx; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@194011.4]
+  assign dmInner_auto_dmiXing_in_d_safe_ridx_valid = dmOuter_auto_asource_out_d_safe_ridx_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@194011.4]
+  assign dmInner_auto_dmiXing_in_d_safe_sink_reset_n = dmOuter_auto_asource_out_d_safe_sink_reset_n; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@194011.4]
+  assign dmInner_auto_dmInner_tl_in_a_valid = auto_dmInner_dmInner_tl_in_a_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@194013.4]
+  assign dmInner_auto_dmInner_tl_in_a_bits_opcode = auto_dmInner_dmInner_tl_in_a_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@194013.4]
+  assign dmInner_auto_dmInner_tl_in_a_bits_param = auto_dmInner_dmInner_tl_in_a_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@194013.4]
+  assign dmInner_auto_dmInner_tl_in_a_bits_size = auto_dmInner_dmInner_tl_in_a_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@194013.4]
+  assign dmInner_auto_dmInner_tl_in_a_bits_source = auto_dmInner_dmInner_tl_in_a_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@194013.4]
+  assign dmInner_auto_dmInner_tl_in_a_bits_address = auto_dmInner_dmInner_tl_in_a_bits_address; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@194013.4]
+  assign dmInner_auto_dmInner_tl_in_a_bits_mask = auto_dmInner_dmInner_tl_in_a_bits_mask; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@194013.4]
+  assign dmInner_auto_dmInner_tl_in_a_bits_data = auto_dmInner_dmInner_tl_in_a_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@194013.4]
+  assign dmInner_auto_dmInner_tl_in_a_bits_corrupt = auto_dmInner_dmInner_tl_in_a_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@194013.4]
+  assign dmInner_auto_dmInner_tl_in_d_ready = auto_dmInner_dmInner_tl_in_d_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@194013.4]
+  assign dmInner_io_dmactive = dmOuter_io_ctrl_dmactive; // @[Debug.scala 1110:36:shc.marmotcaravel.MarmotCaravelConfig.fir@194019.4]
+  assign dmInner_io_innerCtrl_mem_0_resumereq = dmOuter_io_innerCtrl_mem_0_resumereq; // @[Debug.scala 1109:36:shc.marmotcaravel.MarmotCaravelConfig.fir@194018.4]
+  assign dmInner_io_innerCtrl_mem_0_hartsel = dmOuter_io_innerCtrl_mem_0_hartsel; // @[Debug.scala 1109:36:shc.marmotcaravel.MarmotCaravelConfig.fir@194018.4]
+  assign dmInner_io_innerCtrl_mem_0_ackhavereset = dmOuter_io_innerCtrl_mem_0_ackhavereset; // @[Debug.scala 1109:36:shc.marmotcaravel.MarmotCaravelConfig.fir@194018.4]
+  assign dmInner_io_innerCtrl_widx = dmOuter_io_innerCtrl_widx; // @[Debug.scala 1109:36:shc.marmotcaravel.MarmotCaravelConfig.fir@194018.4]
+  assign dmInner_io_innerCtrl_safe_widx_valid = dmOuter_io_innerCtrl_safe_widx_valid; // @[Debug.scala 1109:36:shc.marmotcaravel.MarmotCaravelConfig.fir@194018.4]
+  assign dmInner_io_innerCtrl_safe_source_reset_n = dmOuter_io_innerCtrl_safe_source_reset_n; // @[Debug.scala 1109:36:shc.marmotcaravel.MarmotCaravelConfig.fir@194018.4]
+endmodule
+module TLMonitor_53( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@194045.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@194046.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@194047.4]
+  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@194048.4]
+  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@194048.4]
+  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@194048.4]
+  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@194048.4]
+  input  [3:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@194048.4]
+  input  [31:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@194048.4]
+  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@194048.4]
+  input         io_in_c_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@194048.4]
+  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@194048.4]
+  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@194048.4]
+  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@194048.4]
+  input  [1:0]  io_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@194048.4]
+  input  [3:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@194048.4]
+  input         io_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@194048.4]
+  input         io_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@194048.4]
+  input         io_in_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@194048.4]
+  input         io_in_e_valid // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@194048.4]
+);
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@195823.4]
+  wire [26:0] _T_29; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@194068.6]
+  wire [11:0] _T_30; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@194069.6]
+  wire [11:0] _T_31; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@194070.6]
+  wire [31:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@194071.6]
+  wire [31:0] _T_32; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@194071.6]
+  wire  _T_33; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@194072.6]
+  wire  _T_35; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@194074.6]
+  wire [1:0] _T_36; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@194075.6]
+  wire [1:0] _T_38; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@194077.6]
+  wire  _T_39; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@194078.6]
+  wire  _T_40; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@194079.6]
+  wire  _T_41; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@194080.6]
+  wire  _T_42; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@194081.6]
+  wire  _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@194083.6]
+  wire  _T_45; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@194084.6]
+  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@194086.6]
+  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@194087.6]
+  wire  _T_49; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@194088.6]
+  wire  _T_50; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@194089.6]
+  wire  _T_51; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@194090.6]
+  wire  _T_52; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194091.6]
+  wire  _T_53; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@194092.6]
+  wire  _T_54; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@194093.6]
+  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194094.6]
+  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@194095.6]
+  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@194096.6]
+  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194097.6]
+  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@194098.6]
+  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@194099.6]
+  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194100.6]
+  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@194101.6]
+  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@194102.6]
+  wire [1:0] _T_64; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@194103.6]
+  wire [1:0] _T_65; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@194104.6]
+  wire [3:0] _T_66; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@194105.6]
+  wire [32:0] _T_70; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@194109.6]
+  wire  _T_78; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@194121.6]
+  wire [31:0] _T_80; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@194124.8]
+  wire [32:0] _T_81; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@194125.8]
+  wire [32:0] _T_82; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@194126.8]
+  wire [32:0] _T_83; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@194127.8]
+  wire  _T_84; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@194128.8]
+  wire [31:0] _T_85; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@194129.8]
+  wire [32:0] _T_86; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@194130.8]
+  wire [32:0] _T_87; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@194131.8]
+  wire [32:0] _T_88; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@194132.8]
+  wire  _T_89; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@194133.8]
+  wire [31:0] _T_90; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@194134.8]
+  wire [32:0] _T_91; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@194135.8]
+  wire [32:0] _T_92; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@194136.8]
+  wire [32:0] _T_93; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@194137.8]
+  wire  _T_94; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@194138.8]
+  wire [31:0] _T_95; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@194139.8]
+  wire [32:0] _T_96; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@194140.8]
+  wire [32:0] _T_97; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@194141.8]
+  wire [32:0] _T_98; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@194142.8]
+  wire  _T_99; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@194143.8]
+  wire [31:0] _T_100; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@194144.8]
+  wire [32:0] _T_101; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@194145.8]
+  wire [32:0] _T_102; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@194146.8]
+  wire [32:0] _T_103; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@194147.8]
+  wire  _T_104; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@194148.8]
+  wire [31:0] _T_105; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@194149.8]
+  wire [32:0] _T_106; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@194150.8]
+  wire [32:0] _T_107; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@194151.8]
+  wire [32:0] _T_108; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@194152.8]
+  wire  _T_109; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@194153.8]
+  wire [31:0] _T_110; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@194154.8]
+  wire [32:0] _T_111; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@194155.8]
+  wire [32:0] _T_112; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@194156.8]
+  wire [32:0] _T_113; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@194157.8]
+  wire  _T_114; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@194158.8]
+  wire [31:0] _T_115; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@194159.8]
+  wire [32:0] _T_116; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@194160.8]
+  wire [32:0] _T_117; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@194161.8]
+  wire [32:0] _T_118; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@194162.8]
+  wire  _T_119; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@194163.8]
+  wire [31:0] _T_120; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@194164.8]
+  wire [32:0] _T_121; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@194165.8]
+  wire [32:0] _T_122; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@194166.8]
+  wire [32:0] _T_123; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@194167.8]
+  wire  _T_124; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@194168.8]
+  wire [31:0] _T_125; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@194169.8]
+  wire [32:0] _T_126; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@194170.8]
+  wire [32:0] _T_127; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@194171.8]
+  wire [32:0] _T_128; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@194172.8]
+  wire  _T_129; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@194173.8]
+  wire [32:0] _T_132; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@194176.8]
+  wire [32:0] _T_133; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@194177.8]
+  wire  _T_134; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@194178.8]
+  wire [31:0] _T_135; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@194179.8]
+  wire [32:0] _T_136; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@194180.8]
+  wire [32:0] _T_137; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@194181.8]
+  wire [32:0] _T_138; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@194182.8]
+  wire  _T_139; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@194183.8]
+  wire [31:0] _T_140; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@194184.8]
+  wire [32:0] _T_141; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@194185.8]
+  wire [32:0] _T_142; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@194186.8]
+  wire [32:0] _T_143; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@194187.8]
+  wire  _T_144; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@194188.8]
+  wire [31:0] _T_145; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@194189.8]
+  wire [32:0] _T_146; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@194190.8]
+  wire [32:0] _T_147; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@194191.8]
+  wire [32:0] _T_148; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@194192.8]
+  wire  _T_149; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@194193.8]
+  wire  _T_150; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194194.8]
+  wire  _T_151; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194195.8]
+  wire  _T_152; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194196.8]
+  wire  _T_153; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194197.8]
+  wire  _T_167; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194211.8]
+  wire  _T_176; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194232.8]
+  wire  _T_177; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194233.8]
+  wire  _T_179; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194239.8]
+  wire  _T_180; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194240.8]
+  wire  _T_181; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194245.8]
+  wire  _T_183; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194247.8]
+  wire  _T_184; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194248.8]
+  wire [3:0] _T_185; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@194253.8]
+  wire  _T_186; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@194254.8]
+  wire  _T_188; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194256.8]
+  wire  _T_189; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194257.8]
+  wire  _T_194; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@194271.6]
+  wire  _T_301; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@194403.8]
+  wire  _T_303; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194405.8]
+  wire  _T_304; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194406.8]
+  wire  _T_314; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@194429.6]
+  wire  _T_316; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194432.8]
+  wire  _T_324; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@194440.8]
+  wire  _T_326; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194442.8]
+  wire  _T_394; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194510.8]
+  wire  _T_395; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194511.8]
+  wire  _T_396; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194512.8]
+  wire  _T_397; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194513.8]
+  wire  _T_398; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194514.8]
+  wire  _T_399; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194515.8]
+  wire  _T_400; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194516.8]
+  wire  _T_401; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194517.8]
+  wire  _T_402; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194518.8]
+  wire  _T_403; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194519.8]
+  wire  _T_404; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194520.8]
+  wire  _T_405; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194521.8]
+  wire  _T_406; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@194522.8]
+  wire  _T_408; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@194524.8]
+  wire  _T_410; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194526.8]
+  wire  _T_411; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194527.8]
+  wire  _T_418; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@194546.8]
+  wire  _T_420; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194548.8]
+  wire  _T_421; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194549.8]
+  wire  _T_422; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194554.8]
+  wire  _T_424; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194556.8]
+  wire  _T_425; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194557.8]
+  wire  _T_430; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@194571.6]
+  wire  _T_503; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194645.8]
+  wire  _T_504; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194646.8]
+  wire  _T_505; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194647.8]
+  wire  _T_506; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194648.8]
+  wire  _T_507; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194649.8]
+  wire  _T_508; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194650.8]
+  wire  _T_509; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194651.8]
+  wire  _T_510; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@194652.8]
+  wire  _T_525; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@194667.8]
+  wire  _T_528; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194670.8]
+  wire  _T_529; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194671.8]
+  wire  _T_544; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@194707.6]
+  wire [3:0] _T_654; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@194834.8]
+  wire [3:0] _T_655; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@194835.8]
+  wire  _T_656; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@194836.8]
+  wire  _T_658; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194838.8]
+  wire  _T_659; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194839.8]
+  wire  _T_660; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@194845.6]
+  wire  _T_662; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194848.8]
+  wire  _T_729; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194915.8]
+  wire  _T_730; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194916.8]
+  wire  _T_731; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194917.8]
+  wire  _T_732; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194918.8]
+  wire  _T_733; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194919.8]
+  wire  _T_734; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194920.8]
+  wire  _T_735; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194921.8]
+  wire  _T_736; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@194922.8]
+  wire  _T_753; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194939.8]
+  wire  _T_754; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194940.8]
+  wire  _T_761; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@194959.8]
+  wire  _T_763; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194961.8]
+  wire  _T_764; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194962.8]
+  wire  _T_769; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@194976.6]
+  wire  _T_870; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@195090.8]
+  wire  _T_872; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195092.8]
+  wire  _T_873; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195093.8]
+  wire  _T_878; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@195107.6]
+  wire  _T_971; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195201.8]
+  wire  _T_972; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195202.8]
+  wire  _T_987; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@195240.6]
+  wire  _T_989; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@195242.6]
+  wire  _T_990; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@195243.6]
+  wire  _T_1000; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@195253.6]
+  wire  _T_1004; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@195262.8]
+  wire  _T_1006; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195264.8]
+  wire  _T_1007; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195265.8]
+  wire  _T_1008; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@195270.8]
+  wire  _T_1010; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195272.8]
+  wire  _T_1011; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195273.8]
+  wire  _T_1012; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@195278.8]
+  wire  _T_1014; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195280.8]
+  wire  _T_1015; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195281.8]
+  wire  _T_1016; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@195286.8]
+  wire  _T_1018; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195288.8]
+  wire  _T_1019; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195289.8]
+  wire  _T_1020; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@195295.6]
+  wire  _T_1031; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@195319.8]
+  wire  _T_1033; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195321.8]
+  wire  _T_1034; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195322.8]
+  wire  _T_1035; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@195327.8]
+  wire  _T_1037; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195329.8]
+  wire  _T_1038; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195330.8]
+  wire  _T_1048; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@195353.6]
+  wire  _T_1068; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@195394.8]
+  wire  _T_1070; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195396.8]
+  wire  _T_1071; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195397.8]
+  wire  _T_1077; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@195412.6]
+  wire  _T_1094; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@195447.6]
+  wire  _T_1112; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@195483.6]
+  wire  _T_1133; // @[Monitor.scala 342:15:shc.marmotcaravel.MarmotCaravelConfig.fir@195527.4]
+  wire  _T_1135; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195529.4]
+  wire  _T_1136; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195530.4]
+  wire  _T_1137; // @[Monitor.scala 343:15:shc.marmotcaravel.MarmotCaravelConfig.fir@195535.4]
+  wire  _T_1139; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195537.4]
+  wire  _T_1140; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195538.4]
+  wire  _T_1141; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@195543.4]
+  wire [9:0] _T_1146; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@195548.4]
+  wire  _T_1147; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@195549.4]
+  wire  _T_1148; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@195550.4]
+  reg [9:0] _T_1151; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@195552.4]
+  reg [31:0] _RAND_0;
+  wire [10:0] _T_1152; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@195553.4]
+  wire [10:0] _T_1153; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@195554.4]
+  wire [9:0] _T_1154; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@195555.4]
+  wire  _T_1155; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@195556.4]
+  reg [2:0] _T_1164; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@195567.4]
+  reg [31:0] _RAND_1;
+  reg [2:0] _T_1166; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@195568.4]
+  reg [31:0] _RAND_2;
+  reg [3:0] _T_1168; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@195569.4]
+  reg [31:0] _RAND_3;
+  reg [31:0] _T_1172; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@195571.4]
+  reg [31:0] _RAND_4;
+  wire  _T_1173; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@195572.4]
+  wire  _T_1174; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@195573.4]
+  wire  _T_1175; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@195575.6]
+  wire  _T_1177; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195577.6]
+  wire  _T_1178; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195578.6]
+  wire  _T_1179; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@195583.6]
+  wire  _T_1181; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195585.6]
+  wire  _T_1182; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195586.6]
+  wire  _T_1183; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@195591.6]
+  wire  _T_1185; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195593.6]
+  wire  _T_1186; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195594.6]
+  wire  _T_1191; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@195607.6]
+  wire  _T_1193; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195609.6]
+  wire  _T_1194; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195610.6]
+  wire  _T_1196; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@195617.4]
+  wire  _T_1197; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@195625.4]
+  wire [26:0] _T_1199; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@195627.4]
+  wire [11:0] _T_1200; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@195628.4]
+  wire [11:0] _T_1201; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@195629.4]
+  wire [9:0] _T_1202; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@195630.4]
+  wire  _T_1203; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@195631.4]
+  reg [9:0] _T_1206; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@195633.4]
+  reg [31:0] _RAND_5;
+  wire [10:0] _T_1207; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@195634.4]
+  wire [10:0] _T_1208; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@195635.4]
+  wire [9:0] _T_1209; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@195636.4]
+  wire  _T_1210; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@195637.4]
+  reg [2:0] _T_1219; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@195648.4]
+  reg [31:0] _RAND_6;
+  reg [1:0] _T_1221; // @[Monitor.scala 419:22:shc.marmotcaravel.MarmotCaravelConfig.fir@195649.4]
+  reg [31:0] _RAND_7;
+  reg [3:0] _T_1223; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@195650.4]
+  reg [31:0] _RAND_8;
+  reg  _T_1227; // @[Monitor.scala 422:22:shc.marmotcaravel.MarmotCaravelConfig.fir@195652.4]
+  reg [31:0] _RAND_9;
+  reg  _T_1229; // @[Monitor.scala 423:22:shc.marmotcaravel.MarmotCaravelConfig.fir@195653.4]
+  reg [31:0] _RAND_10;
+  wire  _T_1230; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@195654.4]
+  wire  _T_1231; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@195655.4]
+  wire  _T_1232; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@195657.6]
+  wire  _T_1234; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195659.6]
+  wire  _T_1235; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195660.6]
+  wire  _T_1236; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@195665.6]
+  wire  _T_1238; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195667.6]
+  wire  _T_1239; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195668.6]
+  wire  _T_1240; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@195673.6]
+  wire  _T_1242; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195675.6]
+  wire  _T_1243; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195676.6]
+  wire  _T_1248; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@195689.6]
+  wire  _T_1250; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195691.6]
+  wire  _T_1251; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195692.6]
+  wire  _T_1252; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@195697.6]
+  wire  _T_1254; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195699.6]
+  wire  _T_1255; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195700.6]
+  wire  _T_1257; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@195707.4]
+  reg  _T_1259; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@195716.4]
+  reg [31:0] _RAND_11;
+  reg [9:0] _T_1270; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@195726.4]
+  reg [31:0] _RAND_12;
+  wire [10:0] _T_1271; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@195727.4]
+  wire [10:0] _T_1272; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@195728.4]
+  wire [9:0] _T_1273; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@195729.4]
+  wire  _T_1274; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@195730.4]
+  reg [9:0] _T_1291; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@195749.4]
+  reg [31:0] _RAND_13;
+  wire [10:0] _T_1292; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@195750.4]
+  wire [10:0] _T_1293; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@195751.4]
+  wire [9:0] _T_1294; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@195752.4]
+  wire  _T_1295; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@195753.4]
+  wire  _T_1306; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@195768.4]
+  wire [1:0] _T_1308; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@195771.6]
+  wire  _T_1309; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@195773.6]
+  wire  _T_1311; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195775.6]
+  wire  _T_1313; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@195777.6]
+  wire  _T_1314; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@195778.6]
+  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@195770.4]
+  wire  _T_1319; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@195789.4]
+  wire  _T_1321; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@195791.4]
+  wire  _T_1322; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@195792.4]
+  wire  _T_1304; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@195764.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@195766.4 Monitor.scala 459:13:shc.marmotcaravel.MarmotCaravelConfig.fir@195772.6]
+  wire  _T_1324; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@195796.6]
+  wire  _T_1325; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@195797.6]
+  wire  _T_1328; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@195800.6]
+  wire  _T_1329; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@195801.6]
+  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@195793.4]
+  wire  _T_1316; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@195784.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@195786.4 Monitor.scala 466:13:shc.marmotcaravel.MarmotCaravelConfig.fir@195795.6]
+  wire  _T_1330; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@195807.4]
+  wire  _T_1332; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@195809.4]
+  wire  _T_1333; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@195810.4]
+  wire  _T_1335; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@195812.4]
+  wire  _T_1336; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@195813.4]
+  wire  _T_1337; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@195818.4]
+  wire  _T_1338; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@195819.4]
+  wire  _T_1339; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@195820.4]
+  reg [31:0] _T_1341; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@195822.4]
+  reg [31:0] _RAND_14;
+  wire  _T_1343; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@195826.4]
+  wire  _T_1344; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@195827.4]
+  wire  _T_1345; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@195828.4]
+  wire  _T_1346; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@195829.4]
+  wire  _T_1347; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@195830.4]
+  wire  _T_1349; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@195832.4]
+  wire  _T_1350; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@195833.4]
+  wire [31:0] _T_1352; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@195839.4]
+  wire  _T_1355; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@195843.4]
+  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194213.10]
+  wire  _GEN_31; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194363.10]
+  wire  _GEN_45; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194529.10]
+  wire  _GEN_53; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194673.10]
+  wire  _GEN_61; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194809.10]
+  wire  _GEN_69; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194942.10]
+  wire  _GEN_77; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195073.10]
+  wire  _GEN_85; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195204.10]
+  wire  _GEN_91; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195267.10]
+  wire  _GEN_99; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195308.10]
+  wire  _GEN_109; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195366.10]
+  wire  _GEN_119; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195426.10]
+  wire  _GEN_123; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195461.10]
+  wire  _GEN_127; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195497.10]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@195823.4]
+    .out(plusarg_reader_out)
+  );
+  assign _T_29 = 27'hfff << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@194068.6]
+  assign _T_30 = _T_29[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@194069.6]
+  assign _T_31 = ~ _T_30; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@194070.6]
+  assign _GEN_18 = {{20'd0}, _T_31}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@194071.6]
+  assign _T_32 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@194071.6]
+  assign _T_33 = _T_32 == 32'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@194072.6]
+  assign _T_35 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@194074.6]
+  assign _T_36 = 2'h1 << _T_35; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@194075.6]
+  assign _T_38 = _T_36 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@194077.6]
+  assign _T_39 = io_in_a_bits_size >= 4'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@194078.6]
+  assign _T_40 = _T_38[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@194079.6]
+  assign _T_41 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@194080.6]
+  assign _T_42 = _T_41 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@194081.6]
+  assign _T_44 = _T_40 & _T_42; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@194083.6]
+  assign _T_45 = _T_39 | _T_44; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@194084.6]
+  assign _T_47 = _T_40 & _T_41; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@194086.6]
+  assign _T_48 = _T_39 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@194087.6]
+  assign _T_49 = _T_38[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@194088.6]
+  assign _T_50 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@194089.6]
+  assign _T_51 = _T_50 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@194090.6]
+  assign _T_52 = _T_42 & _T_51; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194091.6]
+  assign _T_53 = _T_49 & _T_52; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@194092.6]
+  assign _T_54 = _T_45 | _T_53; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@194093.6]
+  assign _T_55 = _T_42 & _T_50; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194094.6]
+  assign _T_56 = _T_49 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@194095.6]
+  assign _T_57 = _T_45 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@194096.6]
+  assign _T_58 = _T_41 & _T_51; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194097.6]
+  assign _T_59 = _T_49 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@194098.6]
+  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@194099.6]
+  assign _T_61 = _T_41 & _T_50; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194100.6]
+  assign _T_62 = _T_49 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@194101.6]
+  assign _T_63 = _T_48 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@194102.6]
+  assign _T_64 = {_T_57,_T_54}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@194103.6]
+  assign _T_65 = {_T_63,_T_60}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@194104.6]
+  assign _T_66 = {_T_65,_T_64}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@194105.6]
+  assign _T_70 = {1'b0,$signed(io_in_a_bits_address)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@194109.6]
+  assign _T_78 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@194121.6]
+  assign _T_80 = io_in_a_bits_address ^ 32'h3000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@194124.8]
+  assign _T_81 = {1'b0,$signed(_T_80)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@194125.8]
+  assign _T_82 = $signed(_T_81) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@194126.8]
+  assign _T_83 = $signed(_T_82); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@194127.8]
+  assign _T_84 = $signed(_T_83) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@194128.8]
+  assign _T_85 = io_in_a_bits_address ^ 32'h10013000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@194129.8]
+  assign _T_86 = {1'b0,$signed(_T_85)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@194130.8]
+  assign _T_87 = $signed(_T_86) & $signed(-33'sh21000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@194131.8]
+  assign _T_88 = $signed(_T_87); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@194132.8]
+  assign _T_89 = $signed(_T_88) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@194133.8]
+  assign _T_90 = io_in_a_bits_address ^ 32'h10023000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@194134.8]
+  assign _T_91 = {1'b0,$signed(_T_90)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@194135.8]
+  assign _T_92 = $signed(_T_91) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@194136.8]
+  assign _T_93 = $signed(_T_92); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@194137.8]
+  assign _T_94 = $signed(_T_93) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@194138.8]
+  assign _T_95 = io_in_a_bits_address ^ 32'h10043000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@194139.8]
+  assign _T_96 = {1'b0,$signed(_T_95)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@194140.8]
+  assign _T_97 = $signed(_T_96) & $signed(-33'sh11000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@194141.8]
+  assign _T_98 = $signed(_T_97); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@194142.8]
+  assign _T_99 = $signed(_T_98) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@194143.8]
+  assign _T_100 = io_in_a_bits_address ^ 32'h10014000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@194144.8]
+  assign _T_101 = {1'b0,$signed(_T_100)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@194145.8]
+  assign _T_102 = $signed(_T_101) & $signed(-33'sh21000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@194146.8]
+  assign _T_103 = $signed(_T_102); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@194147.8]
+  assign _T_104 = $signed(_T_103) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@194148.8]
+  assign _T_105 = io_in_a_bits_address ^ 32'h20000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@194149.8]
+  assign _T_106 = {1'b0,$signed(_T_105)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@194150.8]
+  assign _T_107 = $signed(_T_106) & $signed(-33'sh20000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@194151.8]
+  assign _T_108 = $signed(_T_107); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@194152.8]
+  assign _T_109 = $signed(_T_108) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@194153.8]
+  assign _T_110 = io_in_a_bits_address ^ 32'h10024000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@194154.8]
+  assign _T_111 = {1'b0,$signed(_T_110)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@194155.8]
+  assign _T_112 = $signed(_T_111) & $signed(-33'sh3000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@194156.8]
+  assign _T_113 = $signed(_T_112); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@194157.8]
+  assign _T_114 = $signed(_T_113) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@194158.8]
+  assign _T_115 = io_in_a_bits_address ^ 32'h10012000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@194159.8]
+  assign _T_116 = {1'b0,$signed(_T_115)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@194160.8]
+  assign _T_117 = $signed(_T_116) & $signed(-33'sh5000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@194161.8]
+  assign _T_118 = $signed(_T_117); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@194162.8]
+  assign _T_119 = $signed(_T_118) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@194163.8]
+  assign _T_120 = io_in_a_bits_address ^ 32'hc000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@194164.8]
+  assign _T_121 = {1'b0,$signed(_T_120)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@194165.8]
+  assign _T_122 = $signed(_T_121) & $signed(-33'sh4000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@194166.8]
+  assign _T_123 = $signed(_T_122); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@194167.8]
+  assign _T_124 = $signed(_T_123) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@194168.8]
+  assign _T_125 = io_in_a_bits_address ^ 32'h2000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@194169.8]
+  assign _T_126 = {1'b0,$signed(_T_125)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@194170.8]
+  assign _T_127 = $signed(_T_126) & $signed(-33'sh10000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@194171.8]
+  assign _T_128 = $signed(_T_127); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@194172.8]
+  assign _T_129 = $signed(_T_128) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@194173.8]
+  assign _T_132 = $signed(_T_70) & $signed(-33'sh10001000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@194176.8]
+  assign _T_133 = $signed(_T_132); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@194177.8]
+  assign _T_134 = $signed(_T_133) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@194178.8]
+  assign _T_135 = io_in_a_bits_address ^ 32'h8000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@194179.8]
+  assign _T_136 = {1'b0,$signed(_T_135)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@194180.8]
+  assign _T_137 = $signed(_T_136) & $signed(-33'sh4000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@194181.8]
+  assign _T_138 = $signed(_T_137); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@194182.8]
+  assign _T_139 = $signed(_T_138) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@194183.8]
+  assign _T_140 = io_in_a_bits_address ^ 32'h80000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@194184.8]
+  assign _T_141 = {1'b0,$signed(_T_140)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@194185.8]
+  assign _T_142 = $signed(_T_141) & $signed(-33'sh4000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@194186.8]
+  assign _T_143 = $signed(_T_142); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@194187.8]
+  assign _T_144 = $signed(_T_143) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@194188.8]
+  assign _T_145 = io_in_a_bits_address ^ 32'h10000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@194189.8]
+  assign _T_146 = {1'b0,$signed(_T_145)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@194190.8]
+  assign _T_147 = $signed(_T_146) & $signed(-33'sh2000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@194191.8]
+  assign _T_148 = $signed(_T_147); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@194192.8]
+  assign _T_149 = $signed(_T_148) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@194193.8]
+  assign _T_150 = _T_84 | _T_89; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194194.8]
+  assign _T_151 = _T_150 | _T_94; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194195.8]
+  assign _T_152 = _T_151 | _T_99; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194196.8]
+  assign _T_153 = _T_152 | _T_104; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194197.8]
+  assign _T_167 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194211.8]
+  assign _T_176 = _T_39 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194232.8]
+  assign _T_177 = _T_176 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194233.8]
+  assign _T_179 = _T_33 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194239.8]
+  assign _T_180 = _T_179 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194240.8]
+  assign _T_181 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194245.8]
+  assign _T_183 = _T_181 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194247.8]
+  assign _T_184 = _T_183 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194248.8]
+  assign _T_185 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@194253.8]
+  assign _T_186 = _T_185 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@194254.8]
+  assign _T_188 = _T_186 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194256.8]
+  assign _T_189 = _T_188 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194257.8]
+  assign _T_194 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@194271.6]
+  assign _T_301 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@194403.8]
+  assign _T_303 = _T_301 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194405.8]
+  assign _T_304 = _T_303 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194406.8]
+  assign _T_314 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@194429.6]
+  assign _T_316 = io_in_a_bits_size <= 4'hc; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194432.8]
+  assign _T_324 = _T_316 & _T_84; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@194440.8]
+  assign _T_326 = io_in_a_bits_size <= 4'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194442.8]
+  assign _T_394 = _T_89 | _T_94; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194510.8]
+  assign _T_395 = _T_394 | _T_99; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194511.8]
+  assign _T_396 = _T_395 | _T_104; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194512.8]
+  assign _T_397 = _T_396 | _T_109; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194513.8]
+  assign _T_398 = _T_397 | _T_114; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194514.8]
+  assign _T_399 = _T_398 | _T_119; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194515.8]
+  assign _T_400 = _T_399 | _T_124; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194516.8]
+  assign _T_401 = _T_400 | _T_129; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194517.8]
+  assign _T_402 = _T_401 | _T_134; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194518.8]
+  assign _T_403 = _T_402 | _T_139; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194519.8]
+  assign _T_404 = _T_403 | _T_144; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194520.8]
+  assign _T_405 = _T_404 | _T_149; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194521.8]
+  assign _T_406 = _T_326 & _T_405; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@194522.8]
+  assign _T_408 = _T_324 | _T_406; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@194524.8]
+  assign _T_410 = _T_408 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194526.8]
+  assign _T_411 = _T_410 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194527.8]
+  assign _T_418 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@194546.8]
+  assign _T_420 = _T_418 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194548.8]
+  assign _T_421 = _T_420 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194549.8]
+  assign _T_422 = io_in_a_bits_mask == _T_66; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194554.8]
+  assign _T_424 = _T_422 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194556.8]
+  assign _T_425 = _T_424 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194557.8]
+  assign _T_430 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@194571.6]
+  assign _T_503 = _T_396 | _T_114; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194645.8]
+  assign _T_504 = _T_503 | _T_119; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194646.8]
+  assign _T_505 = _T_504 | _T_124; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194647.8]
+  assign _T_506 = _T_505 | _T_129; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194648.8]
+  assign _T_507 = _T_506 | _T_134; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194649.8]
+  assign _T_508 = _T_507 | _T_139; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194650.8]
+  assign _T_509 = _T_508 | _T_144; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194651.8]
+  assign _T_510 = _T_326 & _T_509; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@194652.8]
+  assign _T_525 = _T_324 | _T_510; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@194667.8]
+  assign _T_528 = _T_525 | reset; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194670.8]
+  assign _T_529 = _T_528 == 1'h0; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194671.8]
+  assign _T_544 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@194707.6]
+  assign _T_654 = ~ _T_66; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@194834.8]
+  assign _T_655 = io_in_a_bits_mask & _T_654; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@194835.8]
+  assign _T_656 = _T_655 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@194836.8]
+  assign _T_658 = _T_656 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194838.8]
+  assign _T_659 = _T_658 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194839.8]
+  assign _T_660 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@194845.6]
+  assign _T_662 = io_in_a_bits_size <= 4'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194848.8]
+  assign _T_729 = _T_153 | _T_114; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194915.8]
+  assign _T_730 = _T_729 | _T_119; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194916.8]
+  assign _T_731 = _T_730 | _T_124; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194917.8]
+  assign _T_732 = _T_731 | _T_129; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194918.8]
+  assign _T_733 = _T_732 | _T_134; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194919.8]
+  assign _T_734 = _T_733 | _T_139; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194920.8]
+  assign _T_735 = _T_734 | _T_144; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194921.8]
+  assign _T_736 = _T_662 & _T_735; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@194922.8]
+  assign _T_753 = _T_736 | reset; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194939.8]
+  assign _T_754 = _T_753 == 1'h0; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194940.8]
+  assign _T_761 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@194959.8]
+  assign _T_763 = _T_761 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194961.8]
+  assign _T_764 = _T_763 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194962.8]
+  assign _T_769 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@194976.6]
+  assign _T_870 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@195090.8]
+  assign _T_872 = _T_870 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195092.8]
+  assign _T_873 = _T_872 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195093.8]
+  assign _T_878 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@195107.6]
+  assign _T_971 = _T_324 | reset; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195201.8]
+  assign _T_972 = _T_971 == 1'h0; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195202.8]
+  assign _T_987 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@195240.6]
+  assign _T_989 = _T_987 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@195242.6]
+  assign _T_990 = _T_989 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@195243.6]
+  assign _T_1000 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@195253.6]
+  assign _T_1004 = io_in_d_bits_size >= 4'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@195262.8]
+  assign _T_1006 = _T_1004 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195264.8]
+  assign _T_1007 = _T_1006 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195265.8]
+  assign _T_1008 = io_in_d_bits_param == 2'h0; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@195270.8]
+  assign _T_1010 = _T_1008 | reset; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195272.8]
+  assign _T_1011 = _T_1010 == 1'h0; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195273.8]
+  assign _T_1012 = io_in_d_bits_corrupt == 1'h0; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@195278.8]
+  assign _T_1014 = _T_1012 | reset; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195280.8]
+  assign _T_1015 = _T_1014 == 1'h0; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195281.8]
+  assign _T_1016 = io_in_d_bits_denied == 1'h0; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@195286.8]
+  assign _T_1018 = _T_1016 | reset; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195288.8]
+  assign _T_1019 = _T_1018 == 1'h0; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195289.8]
+  assign _T_1020 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@195295.6]
+  assign _T_1031 = io_in_d_bits_param <= 2'h2; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@195319.8]
+  assign _T_1033 = _T_1031 | reset; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195321.8]
+  assign _T_1034 = _T_1033 == 1'h0; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195322.8]
+  assign _T_1035 = io_in_d_bits_param != 2'h2; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@195327.8]
+  assign _T_1037 = _T_1035 | reset; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195329.8]
+  assign _T_1038 = _T_1037 == 1'h0; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195330.8]
+  assign _T_1048 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@195353.6]
+  assign _T_1068 = _T_1016 | io_in_d_bits_corrupt; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@195394.8]
+  assign _T_1070 = _T_1068 | reset; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195396.8]
+  assign _T_1071 = _T_1070 == 1'h0; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195397.8]
+  assign _T_1077 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@195412.6]
+  assign _T_1094 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@195447.6]
+  assign _T_1112 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@195483.6]
+  assign _T_1133 = io_in_c_valid == 1'h0; // @[Monitor.scala 342:15:shc.marmotcaravel.MarmotCaravelConfig.fir@195527.4]
+  assign _T_1135 = _T_1133 | reset; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195529.4]
+  assign _T_1136 = _T_1135 == 1'h0; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195530.4]
+  assign _T_1137 = io_in_e_valid == 1'h0; // @[Monitor.scala 343:15:shc.marmotcaravel.MarmotCaravelConfig.fir@195535.4]
+  assign _T_1139 = _T_1137 | reset; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195537.4]
+  assign _T_1140 = _T_1139 == 1'h0; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195538.4]
+  assign _T_1141 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@195543.4]
+  assign _T_1146 = _T_31[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@195548.4]
+  assign _T_1147 = io_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@195549.4]
+  assign _T_1148 = _T_1147 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@195550.4]
+  assign _T_1152 = _T_1151 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@195553.4]
+  assign _T_1153 = $unsigned(_T_1152); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@195554.4]
+  assign _T_1154 = _T_1153[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@195555.4]
+  assign _T_1155 = _T_1151 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@195556.4]
+  assign _T_1173 = _T_1155 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@195572.4]
+  assign _T_1174 = io_in_a_valid & _T_1173; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@195573.4]
+  assign _T_1175 = io_in_a_bits_opcode == _T_1164; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@195575.6]
+  assign _T_1177 = _T_1175 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195577.6]
+  assign _T_1178 = _T_1177 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195578.6]
+  assign _T_1179 = io_in_a_bits_param == _T_1166; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@195583.6]
+  assign _T_1181 = _T_1179 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195585.6]
+  assign _T_1182 = _T_1181 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195586.6]
+  assign _T_1183 = io_in_a_bits_size == _T_1168; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@195591.6]
+  assign _T_1185 = _T_1183 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195593.6]
+  assign _T_1186 = _T_1185 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195594.6]
+  assign _T_1191 = io_in_a_bits_address == _T_1172; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@195607.6]
+  assign _T_1193 = _T_1191 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195609.6]
+  assign _T_1194 = _T_1193 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195610.6]
+  assign _T_1196 = _T_1141 & _T_1155; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@195617.4]
+  assign _T_1197 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@195625.4]
+  assign _T_1199 = 27'hfff << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@195627.4]
+  assign _T_1200 = _T_1199[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@195628.4]
+  assign _T_1201 = ~ _T_1200; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@195629.4]
+  assign _T_1202 = _T_1201[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@195630.4]
+  assign _T_1203 = io_in_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@195631.4]
+  assign _T_1207 = _T_1206 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@195634.4]
+  assign _T_1208 = $unsigned(_T_1207); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@195635.4]
+  assign _T_1209 = _T_1208[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@195636.4]
+  assign _T_1210 = _T_1206 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@195637.4]
+  assign _T_1230 = _T_1210 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@195654.4]
+  assign _T_1231 = io_in_d_valid & _T_1230; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@195655.4]
+  assign _T_1232 = io_in_d_bits_opcode == _T_1219; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@195657.6]
+  assign _T_1234 = _T_1232 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195659.6]
+  assign _T_1235 = _T_1234 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195660.6]
+  assign _T_1236 = io_in_d_bits_param == _T_1221; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@195665.6]
+  assign _T_1238 = _T_1236 | reset; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195667.6]
+  assign _T_1239 = _T_1238 == 1'h0; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195668.6]
+  assign _T_1240 = io_in_d_bits_size == _T_1223; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@195673.6]
+  assign _T_1242 = _T_1240 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195675.6]
+  assign _T_1243 = _T_1242 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195676.6]
+  assign _T_1248 = io_in_d_bits_sink == _T_1227; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@195689.6]
+  assign _T_1250 = _T_1248 | reset; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195691.6]
+  assign _T_1251 = _T_1250 == 1'h0; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195692.6]
+  assign _T_1252 = io_in_d_bits_denied == _T_1229; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@195697.6]
+  assign _T_1254 = _T_1252 | reset; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195699.6]
+  assign _T_1255 = _T_1254 == 1'h0; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195700.6]
+  assign _T_1257 = _T_1197 & _T_1210; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@195707.4]
+  assign _T_1271 = _T_1270 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@195727.4]
+  assign _T_1272 = $unsigned(_T_1271); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@195728.4]
+  assign _T_1273 = _T_1272[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@195729.4]
+  assign _T_1274 = _T_1270 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@195730.4]
+  assign _T_1292 = _T_1291 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@195750.4]
+  assign _T_1293 = $unsigned(_T_1292); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@195751.4]
+  assign _T_1294 = _T_1293[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@195752.4]
+  assign _T_1295 = _T_1291 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@195753.4]
+  assign _T_1306 = _T_1141 & _T_1274; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@195768.4]
+  assign _T_1308 = 2'h1 << 1'h0; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@195771.6]
+  assign _T_1309 = _T_1259 >> 1'h0; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@195773.6]
+  assign _T_1311 = _T_1309 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195775.6]
+  assign _T_1313 = _T_1311 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@195777.6]
+  assign _T_1314 = _T_1313 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@195778.6]
+  assign _GEN_15 = _T_1306 ? _T_1308 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@195770.4]
+  assign _T_1319 = _T_1197 & _T_1295; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@195789.4]
+  assign _T_1321 = _T_1000 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@195791.4]
+  assign _T_1322 = _T_1319 & _T_1321; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@195792.4]
+  assign _T_1304 = _GEN_15[0]; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@195764.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@195766.4 Monitor.scala 459:13:shc.marmotcaravel.MarmotCaravelConfig.fir@195772.6]
+  assign _T_1324 = _T_1304 | _T_1259; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@195796.6]
+  assign _T_1325 = _T_1324 >> 1'h0; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@195797.6]
+  assign _T_1328 = _T_1325 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@195800.6]
+  assign _T_1329 = _T_1328 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@195801.6]
+  assign _GEN_16 = _T_1322 ? _T_1308 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@195793.4]
+  assign _T_1316 = _GEN_16[0]; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@195784.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@195786.4 Monitor.scala 466:13:shc.marmotcaravel.MarmotCaravelConfig.fir@195795.6]
+  assign _T_1330 = _T_1304 != _T_1316; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@195807.4]
+  assign _T_1332 = _T_1304 == 1'h0; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@195809.4]
+  assign _T_1333 = _T_1330 | _T_1332; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@195810.4]
+  assign _T_1335 = _T_1333 | reset; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@195812.4]
+  assign _T_1336 = _T_1335 == 1'h0; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@195813.4]
+  assign _T_1337 = _T_1259 | _T_1304; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@195818.4]
+  assign _T_1338 = ~ _T_1316; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@195819.4]
+  assign _T_1339 = _T_1337 & _T_1338; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@195820.4]
+  assign _T_1343 = _T_1259 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@195826.4]
+  assign _T_1344 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@195827.4]
+  assign _T_1345 = _T_1343 | _T_1344; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@195828.4]
+  assign _T_1346 = _T_1341 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@195829.4]
+  assign _T_1347 = _T_1345 | _T_1346; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@195830.4]
+  assign _T_1349 = _T_1347 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@195832.4]
+  assign _T_1350 = _T_1349 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@195833.4]
+  assign _T_1352 = _T_1341 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@195839.4]
+  assign _T_1355 = _T_1141 | _T_1197; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@195843.4]
+  assign _GEN_19 = io_in_a_valid & _T_78; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194213.10]
+  assign _GEN_31 = io_in_a_valid & _T_194; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194363.10]
+  assign _GEN_45 = io_in_a_valid & _T_314; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194529.10]
+  assign _GEN_53 = io_in_a_valid & _T_430; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194673.10]
+  assign _GEN_61 = io_in_a_valid & _T_544; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194809.10]
+  assign _GEN_69 = io_in_a_valid & _T_660; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194942.10]
+  assign _GEN_77 = io_in_a_valid & _T_769; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195073.10]
+  assign _GEN_85 = io_in_a_valid & _T_878; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195204.10]
+  assign _GEN_91 = io_in_d_valid & _T_1000; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195267.10]
+  assign _GEN_99 = io_in_d_valid & _T_1020; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195308.10]
+  assign _GEN_109 = io_in_d_valid & _T_1048; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195366.10]
+  assign _GEN_119 = io_in_d_valid & _T_1077; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195426.10]
+  assign _GEN_123 = io_in_d_valid & _T_1094; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195461.10]
+  assign _GEN_127 = io_in_d_valid & _T_1112; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195497.10]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  _T_1151 = _RAND_0[9:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  _T_1164 = _RAND_1[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  _T_1166 = _RAND_2[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  _T_1168 = _RAND_3[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  _T_1172 = _RAND_4[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  _T_1206 = _RAND_5[9:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {1{`RANDOM}};
+  _T_1219 = _RAND_6[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {1{`RANDOM}};
+  _T_1221 = _RAND_7[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_8 = {1{`RANDOM}};
+  _T_1223 = _RAND_8[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_9 = {1{`RANDOM}};
+  _T_1227 = _RAND_9[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_10 = {1{`RANDOM}};
+  _T_1229 = _RAND_10[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_11 = {1{`RANDOM}};
+  _T_1259 = _RAND_11[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_12 = {1{`RANDOM}};
+  _T_1270 = _RAND_12[9:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_13 = {1{`RANDOM}};
+  _T_1291 = _RAND_13[9:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_14 = {1{`RANDOM}};
+  _T_1341 = _RAND_14[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      _T_1151 <= 10'h0;
+    end else begin
+      if (_T_1141) begin
+        if (_T_1155) begin
+          if (_T_1148) begin
+            _T_1151 <= _T_1146;
+          end else begin
+            _T_1151 <= 10'h0;
+          end
+        end else begin
+          _T_1151 <= _T_1154;
+        end
+      end
+    end
+    if (_T_1196) begin
+      _T_1164 <= io_in_a_bits_opcode;
+    end
+    if (_T_1196) begin
+      _T_1166 <= io_in_a_bits_param;
+    end
+    if (_T_1196) begin
+      _T_1168 <= io_in_a_bits_size;
+    end
+    if (_T_1196) begin
+      _T_1172 <= io_in_a_bits_address;
+    end
+    if (reset) begin
+      _T_1206 <= 10'h0;
+    end else begin
+      if (_T_1197) begin
+        if (_T_1210) begin
+          if (_T_1203) begin
+            _T_1206 <= _T_1202;
+          end else begin
+            _T_1206 <= 10'h0;
+          end
+        end else begin
+          _T_1206 <= _T_1209;
+        end
+      end
+    end
+    if (_T_1257) begin
+      _T_1219 <= io_in_d_bits_opcode;
+    end
+    if (_T_1257) begin
+      _T_1221 <= io_in_d_bits_param;
+    end
+    if (_T_1257) begin
+      _T_1223 <= io_in_d_bits_size;
+    end
+    if (_T_1257) begin
+      _T_1227 <= io_in_d_bits_sink;
+    end
+    if (_T_1257) begin
+      _T_1229 <= io_in_d_bits_denied;
+    end
+    if (reset) begin
+      _T_1259 <= 1'h0;
+    end else begin
+      _T_1259 <= _T_1339;
+    end
+    if (reset) begin
+      _T_1270 <= 10'h0;
+    end else begin
+      if (_T_1141) begin
+        if (_T_1274) begin
+          if (_T_1148) begin
+            _T_1270 <= _T_1146;
+          end else begin
+            _T_1270 <= 10'h0;
+          end
+        end else begin
+          _T_1270 <= _T_1273;
+        end
+      end
+    end
+    if (reset) begin
+      _T_1291 <= 10'h0;
+    end else begin
+      if (_T_1197) begin
+        if (_T_1295) begin
+          if (_T_1203) begin
+            _T_1291 <= _T_1202;
+          end else begin
+            _T_1291 <= 10'h0;
+          end
+        end else begin
+          _T_1291 <= _T_1294;
+        end
+      end
+    end
+    if (reset) begin
+      _T_1341 <= 32'h0;
+    end else begin
+      if (_T_1355) begin
+        _T_1341 <= 32'h0;
+      end else begin
+        _T_1341 <= _T_1352;
+      end
+    end
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at HellaCache.scala:220:21)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@194060.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@194061.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@194118.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@194119.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_167) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at HellaCache.scala:220:21)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194213.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_167) begin
+          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194214.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_167) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at HellaCache.scala:220:21)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194220.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_167) begin
+          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194221.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at HellaCache.scala:220:21)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194227.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194228.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_177) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at HellaCache.scala:220:21)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194235.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_177) begin
+          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194236.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_180) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at HellaCache.scala:220:21)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194242.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_180) begin
+          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194243.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_184) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at HellaCache.scala:220:21)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194250.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_184) begin
+          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194251.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_189) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at HellaCache.scala:220:21)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194259.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_189) begin
+          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194260.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at HellaCache.scala:220:21)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194267.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194268.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_31 & _T_167) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at HellaCache.scala:220:21)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194363.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_31 & _T_167) begin
+          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194364.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_31 & _T_167) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at HellaCache.scala:220:21)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194370.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_31 & _T_167) begin
+          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194371.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at HellaCache.scala:220:21)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194377.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194378.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_31 & _T_177) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at HellaCache.scala:220:21)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194385.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_31 & _T_177) begin
+          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194386.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_31 & _T_180) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at HellaCache.scala:220:21)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194392.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_31 & _T_180) begin
+          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194393.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_31 & _T_184) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at HellaCache.scala:220:21)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194400.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_31 & _T_184) begin
+          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194401.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_31 & _T_304) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at HellaCache.scala:220:21)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194408.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_31 & _T_304) begin
+          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194409.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_31 & _T_189) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at HellaCache.scala:220:21)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194417.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_31 & _T_189) begin
+          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194418.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at HellaCache.scala:220:21)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194425.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194426.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_45 & _T_411) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at HellaCache.scala:220:21)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194529.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_45 & _T_411) begin
+          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194530.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at HellaCache.scala:220:21)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194536.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194537.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_45 & _T_180) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at HellaCache.scala:220:21)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194543.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_45 & _T_180) begin
+          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194544.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_45 & _T_421) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at HellaCache.scala:220:21)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194551.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_45 & _T_421) begin
+          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194552.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_45 & _T_425) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at HellaCache.scala:220:21)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194559.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_45 & _T_425) begin
+          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194560.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at HellaCache.scala:220:21)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194567.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194568.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_529) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at HellaCache.scala:220:21)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194673.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_529) begin
+          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194674.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at HellaCache.scala:220:21)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194680.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194681.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_180) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at HellaCache.scala:220:21)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194687.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_180) begin
+          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194688.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_421) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at HellaCache.scala:220:21)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194695.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_421) begin
+          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194696.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_425) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at HellaCache.scala:220:21)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194703.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_425) begin
+          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194704.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_61 & _T_529) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at HellaCache.scala:220:21)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194809.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_61 & _T_529) begin
+          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194810.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at HellaCache.scala:220:21)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194816.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194817.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_61 & _T_180) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at HellaCache.scala:220:21)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194823.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_61 & _T_180) begin
+          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194824.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_61 & _T_421) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at HellaCache.scala:220:21)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194831.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_61 & _T_421) begin
+          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194832.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_61 & _T_659) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at HellaCache.scala:220:21)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194841.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_61 & _T_659) begin
+          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194842.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_69 & _T_754) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at HellaCache.scala:220:21)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194942.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_69 & _T_754) begin
+          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194943.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at HellaCache.scala:220:21)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194949.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194950.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_69 & _T_180) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at HellaCache.scala:220:21)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194956.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_69 & _T_180) begin
+          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194957.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_69 & _T_764) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at HellaCache.scala:220:21)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194964.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_69 & _T_764) begin
+          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194965.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_69 & _T_425) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at HellaCache.scala:220:21)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194972.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_69 & _T_425) begin
+          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194973.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_77 & _T_754) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at HellaCache.scala:220:21)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195073.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_77 & _T_754) begin
+          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195074.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at HellaCache.scala:220:21)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195080.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195081.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_77 & _T_180) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at HellaCache.scala:220:21)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195087.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_77 & _T_180) begin
+          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195088.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_77 & _T_873) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at HellaCache.scala:220:21)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195095.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_77 & _T_873) begin
+          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195096.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_77 & _T_425) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at HellaCache.scala:220:21)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195103.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_77 & _T_425) begin
+          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195104.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_972) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at HellaCache.scala:220:21)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195204.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_972) begin
+          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195205.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at HellaCache.scala:220:21)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195211.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195212.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_180) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at HellaCache.scala:220:21)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195218.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_180) begin
+          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195219.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_425) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at HellaCache.scala:220:21)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195226.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_425) begin
+          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195227.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at HellaCache.scala:220:21)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195234.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195235.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_990) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at HellaCache.scala:220:21)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@195245.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_990) begin
+          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@195246.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at HellaCache.scala:220:21)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195259.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195260.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_91 & _T_1007) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at HellaCache.scala:220:21)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195267.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_91 & _T_1007) begin
+          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195268.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_91 & _T_1011) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at HellaCache.scala:220:21)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195275.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_91 & _T_1011) begin
+          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195276.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_91 & _T_1015) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at HellaCache.scala:220:21)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195283.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_91 & _T_1015) begin
+          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195284.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_91 & _T_1019) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at HellaCache.scala:220:21)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195291.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_91 & _T_1019) begin
+          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195292.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at HellaCache.scala:220:21)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195301.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195302.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_99 & _T_167) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at HellaCache.scala:220:21)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195308.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_99 & _T_167) begin
+          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195309.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_99 & _T_1007) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at HellaCache.scala:220:21)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195316.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_99 & _T_1007) begin
+          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195317.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_99 & _T_1034) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at HellaCache.scala:220:21)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195324.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_99 & _T_1034) begin
+          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195325.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_99 & _T_1038) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at HellaCache.scala:220:21)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195332.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_99 & _T_1038) begin
+          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195333.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_99 & _T_1015) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at HellaCache.scala:220:21)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195340.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_99 & _T_1015) begin
+          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195341.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at HellaCache.scala:220:21)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195349.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195350.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at HellaCache.scala:220:21)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195359.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195360.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_109 & _T_167) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at HellaCache.scala:220:21)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195366.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_109 & _T_167) begin
+          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195367.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_109 & _T_1007) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at HellaCache.scala:220:21)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195374.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_109 & _T_1007) begin
+          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195375.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_109 & _T_1034) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at HellaCache.scala:220:21)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195382.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_109 & _T_1034) begin
+          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195383.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_109 & _T_1038) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at HellaCache.scala:220:21)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195390.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_109 & _T_1038) begin
+          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195391.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_109 & _T_1071) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at HellaCache.scala:220:21)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195399.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_109 & _T_1071) begin
+          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195400.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at HellaCache.scala:220:21)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195408.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195409.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at HellaCache.scala:220:21)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195418.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195419.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_119 & _T_1011) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at HellaCache.scala:220:21)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195426.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_119 & _T_1011) begin
+          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195427.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_119 & _T_1015) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at HellaCache.scala:220:21)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195434.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_119 & _T_1015) begin
+          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195435.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at HellaCache.scala:220:21)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195443.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195444.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at HellaCache.scala:220:21)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195453.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195454.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_123 & _T_1011) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at HellaCache.scala:220:21)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195461.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_123 & _T_1011) begin
+          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195462.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_123 & _T_1071) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at HellaCache.scala:220:21)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195470.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_123 & _T_1071) begin
+          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195471.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at HellaCache.scala:220:21)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195479.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195480.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at HellaCache.scala:220:21)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195489.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195490.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_127 & _T_1011) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at HellaCache.scala:220:21)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195497.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_127 & _T_1011) begin
+          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195498.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_127 & _T_1015) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at HellaCache.scala:220:21)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195505.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_127 & _T_1015) begin
+          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195506.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at HellaCache.scala:220:21)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195514.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195515.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at HellaCache.scala:220:21)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195524.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195525.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1136) begin
+          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at HellaCache.scala:220:21)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195532.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1136) begin
+          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195533.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1140) begin
+          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at HellaCache.scala:220:21)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195540.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1140) begin
+          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195541.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1174 & _T_1178) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at HellaCache.scala:220:21)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195580.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1174 & _T_1178) begin
+          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195581.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1174 & _T_1182) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at HellaCache.scala:220:21)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195588.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1174 & _T_1182) begin
+          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195589.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1174 & _T_1186) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at HellaCache.scala:220:21)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195596.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1174 & _T_1186) begin
+          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195597.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at HellaCache.scala:220:21)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195604.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195605.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1174 & _T_1194) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at HellaCache.scala:220:21)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195612.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1174 & _T_1194) begin
+          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195613.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1231 & _T_1235) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at HellaCache.scala:220:21)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195662.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1231 & _T_1235) begin
+          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195663.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1231 & _T_1239) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at HellaCache.scala:220:21)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195670.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1231 & _T_1239) begin
+          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195671.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1231 & _T_1243) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at HellaCache.scala:220:21)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195678.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1231 & _T_1243) begin
+          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195679.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at HellaCache.scala:220:21)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195686.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195687.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1231 & _T_1251) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at HellaCache.scala:220:21)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195694.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1231 & _T_1251) begin
+          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195695.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1231 & _T_1255) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at HellaCache.scala:220:21)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195702.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1231 & _T_1255) begin
+          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195703.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1306 & _T_1314) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at HellaCache.scala:220:21)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@195780.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1306 & _T_1314) begin
+          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@195781.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1322 & _T_1329) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at HellaCache.scala:220:21)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@195803.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1322 & _T_1329) begin
+          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@195804.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1336) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' and 'D' concurrent, despite minlatency 4 (connected at HellaCache.scala:220:21)\n    at Monitor.scala:471 assert(a_set =/= d_clr || !a_set.orR, s\"'A' and 'D' concurrent, despite minlatency ${edge.manager.minLatency}\" + extra)\n"); // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@195815.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1336) begin
+          $fatal; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@195816.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1350) begin
+          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at HellaCache.scala:220:21)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@195835.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1350) begin
+          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@195836.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+endmodule
+module TLMonitor_54( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@195855.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@195856.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@195857.4]
+  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@195858.4]
+  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@195858.4]
+  input  [31:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@195858.4]
+  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@195858.4]
+  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@195858.4]
+  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@195858.4]
+  input  [1:0]  io_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@195858.4]
+  input  [3:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@195858.4]
+  input         io_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@195858.4]
+  input         io_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@195858.4]
+  input         io_in_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@195858.4]
+);
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@197633.4]
+  wire [26:0] _T_29; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@195878.6]
+  wire [11:0] _T_30; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@195879.6]
+  wire [11:0] _T_31; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@195880.6]
+  wire [31:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@195881.6]
+  wire [31:0] _T_32; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@195881.6]
+  wire  _T_33; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@195882.6]
+  wire [1:0] _T_36; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@195885.6]
+  wire [32:0] _T_70; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@195919.6]
+  wire [31:0] _T_80; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@195934.8]
+  wire [32:0] _T_81; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@195935.8]
+  wire [32:0] _T_82; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@195936.8]
+  wire [32:0] _T_83; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@195937.8]
+  wire  _T_84; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@195938.8]
+  wire [31:0] _T_85; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@195939.8]
+  wire [32:0] _T_86; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@195940.8]
+  wire [32:0] _T_87; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@195941.8]
+  wire [32:0] _T_88; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@195942.8]
+  wire  _T_89; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@195943.8]
+  wire [31:0] _T_90; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@195944.8]
+  wire [32:0] _T_91; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@195945.8]
+  wire [32:0] _T_92; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@195946.8]
+  wire [32:0] _T_93; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@195947.8]
+  wire  _T_94; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@195948.8]
+  wire [31:0] _T_95; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@195949.8]
+  wire [32:0] _T_96; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@195950.8]
+  wire [32:0] _T_97; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@195951.8]
+  wire [32:0] _T_98; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@195952.8]
+  wire  _T_99; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@195953.8]
+  wire [31:0] _T_100; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@195954.8]
+  wire [32:0] _T_101; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@195955.8]
+  wire [32:0] _T_102; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@195956.8]
+  wire [32:0] _T_103; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@195957.8]
+  wire  _T_104; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@195958.8]
+  wire [31:0] _T_105; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@195959.8]
+  wire [32:0] _T_106; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@195960.8]
+  wire [32:0] _T_107; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@195961.8]
+  wire [32:0] _T_108; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@195962.8]
+  wire  _T_109; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@195963.8]
+  wire [31:0] _T_110; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@195964.8]
+  wire [32:0] _T_111; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@195965.8]
+  wire [32:0] _T_112; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@195966.8]
+  wire [32:0] _T_113; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@195967.8]
+  wire  _T_114; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@195968.8]
+  wire [31:0] _T_115; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@195969.8]
+  wire [32:0] _T_116; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@195970.8]
+  wire [32:0] _T_117; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@195971.8]
+  wire [32:0] _T_118; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@195972.8]
+  wire  _T_119; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@195973.8]
+  wire [31:0] _T_120; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@195974.8]
+  wire [32:0] _T_121; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@195975.8]
+  wire [32:0] _T_122; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@195976.8]
+  wire [32:0] _T_123; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@195977.8]
+  wire  _T_124; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@195978.8]
+  wire [31:0] _T_125; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@195979.8]
+  wire [32:0] _T_126; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@195980.8]
+  wire [32:0] _T_127; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@195981.8]
+  wire [32:0] _T_128; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@195982.8]
+  wire  _T_129; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@195983.8]
+  wire [32:0] _T_132; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@195986.8]
+  wire [32:0] _T_133; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@195987.8]
+  wire  _T_134; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@195988.8]
+  wire [31:0] _T_135; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@195989.8]
+  wire [32:0] _T_136; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@195990.8]
+  wire [32:0] _T_137; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@195991.8]
+  wire [32:0] _T_138; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@195992.8]
+  wire  _T_139; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@195993.8]
+  wire [31:0] _T_140; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@195994.8]
+  wire [32:0] _T_141; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@195995.8]
+  wire [32:0] _T_142; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@195996.8]
+  wire [32:0] _T_143; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@195997.8]
+  wire  _T_144; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@195998.8]
+  wire [31:0] _T_145; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@195999.8]
+  wire [32:0] _T_146; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@196000.8]
+  wire [32:0] _T_147; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@196001.8]
+  wire [32:0] _T_148; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@196002.8]
+  wire  _T_149; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@196003.8]
+  wire  _T_167; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196021.8]
+  wire  _T_179; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196049.8]
+  wire  _T_180; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196050.8]
+  wire  _T_394; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@196320.8]
+  wire  _T_395; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@196321.8]
+  wire  _T_396; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@196322.8]
+  wire  _T_397; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@196323.8]
+  wire  _T_398; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@196324.8]
+  wire  _T_399; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@196325.8]
+  wire  _T_400; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@196326.8]
+  wire  _T_401; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@196327.8]
+  wire  _T_402; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@196328.8]
+  wire  _T_403; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@196329.8]
+  wire  _T_404; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@196330.8]
+  wire  _T_405; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@196331.8]
+  wire  _T_408; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@196334.8]
+  wire  _T_410; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196336.8]
+  wire  _T_411; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196337.8]
+  wire  _T_987; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@197050.6]
+  wire  _T_989; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@197052.6]
+  wire  _T_990; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@197053.6]
+  wire  _T_1000; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@197063.6]
+  wire  _T_1004; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@197072.8]
+  wire  _T_1006; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197074.8]
+  wire  _T_1007; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197075.8]
+  wire  _T_1008; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@197080.8]
+  wire  _T_1010; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197082.8]
+  wire  _T_1011; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197083.8]
+  wire  _T_1012; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@197088.8]
+  wire  _T_1014; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197090.8]
+  wire  _T_1015; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197091.8]
+  wire  _T_1016; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@197096.8]
+  wire  _T_1018; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197098.8]
+  wire  _T_1019; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197099.8]
+  wire  _T_1020; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@197105.6]
+  wire  _T_1031; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@197129.8]
+  wire  _T_1033; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197131.8]
+  wire  _T_1034; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197132.8]
+  wire  _T_1035; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@197137.8]
+  wire  _T_1037; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197139.8]
+  wire  _T_1038; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197140.8]
+  wire  _T_1048; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@197163.6]
+  wire  _T_1068; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@197204.8]
+  wire  _T_1070; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197206.8]
+  wire  _T_1071; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197207.8]
+  wire  _T_1077; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@197222.6]
+  wire  _T_1094; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@197257.6]
+  wire  _T_1112; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@197293.6]
+  wire  _T_1141; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@197353.4]
+  reg [9:0] _T_1151; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@197362.4]
+  reg [31:0] _RAND_0;
+  wire [10:0] _T_1152; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@197363.4]
+  wire [10:0] _T_1153; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@197364.4]
+  wire [9:0] _T_1154; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@197365.4]
+  wire  _T_1155; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@197366.4]
+  reg [31:0] _T_1172; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@197381.4]
+  reg [31:0] _RAND_1;
+  wire  _T_1173; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@197382.4]
+  wire  _T_1174; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@197383.4]
+  wire  _T_1191; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@197417.6]
+  wire  _T_1193; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197419.6]
+  wire  _T_1194; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197420.6]
+  wire  _T_1196; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@197427.4]
+  wire  _T_1197; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@197435.4]
+  wire [26:0] _T_1199; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@197437.4]
+  wire [11:0] _T_1200; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@197438.4]
+  wire [11:0] _T_1201; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@197439.4]
+  wire [9:0] _T_1202; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@197440.4]
+  wire  _T_1203; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@197441.4]
+  reg [9:0] _T_1206; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@197443.4]
+  reg [31:0] _RAND_2;
+  wire [10:0] _T_1207; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@197444.4]
+  wire [10:0] _T_1208; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@197445.4]
+  wire [9:0] _T_1209; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@197446.4]
+  wire  _T_1210; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@197447.4]
+  reg [2:0] _T_1219; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@197458.4]
+  reg [31:0] _RAND_3;
+  reg [1:0] _T_1221; // @[Monitor.scala 419:22:shc.marmotcaravel.MarmotCaravelConfig.fir@197459.4]
+  reg [31:0] _RAND_4;
+  reg [3:0] _T_1223; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@197460.4]
+  reg [31:0] _RAND_5;
+  reg  _T_1227; // @[Monitor.scala 422:22:shc.marmotcaravel.MarmotCaravelConfig.fir@197462.4]
+  reg [31:0] _RAND_6;
+  reg  _T_1229; // @[Monitor.scala 423:22:shc.marmotcaravel.MarmotCaravelConfig.fir@197463.4]
+  reg [31:0] _RAND_7;
+  wire  _T_1230; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@197464.4]
+  wire  _T_1231; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@197465.4]
+  wire  _T_1232; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@197467.6]
+  wire  _T_1234; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197469.6]
+  wire  _T_1235; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197470.6]
+  wire  _T_1236; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@197475.6]
+  wire  _T_1238; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197477.6]
+  wire  _T_1239; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197478.6]
+  wire  _T_1240; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@197483.6]
+  wire  _T_1242; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197485.6]
+  wire  _T_1243; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197486.6]
+  wire  _T_1248; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@197499.6]
+  wire  _T_1250; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197501.6]
+  wire  _T_1251; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197502.6]
+  wire  _T_1252; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@197507.6]
+  wire  _T_1254; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197509.6]
+  wire  _T_1255; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197510.6]
+  wire  _T_1257; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@197517.4]
+  reg  _T_1259; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@197526.4]
+  reg [31:0] _RAND_8;
+  reg [9:0] _T_1270; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@197536.4]
+  reg [31:0] _RAND_9;
+  wire [10:0] _T_1271; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@197537.4]
+  wire [10:0] _T_1272; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@197538.4]
+  wire [9:0] _T_1273; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@197539.4]
+  wire  _T_1274; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@197540.4]
+  reg [9:0] _T_1291; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@197559.4]
+  reg [31:0] _RAND_10;
+  wire [10:0] _T_1292; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@197560.4]
+  wire [10:0] _T_1293; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@197561.4]
+  wire [9:0] _T_1294; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@197562.4]
+  wire  _T_1295; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@197563.4]
+  wire  _T_1306; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@197578.4]
+  wire  _T_1309; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@197583.6]
+  wire  _T_1311; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197585.6]
+  wire  _T_1313; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@197587.6]
+  wire  _T_1314; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@197588.6]
+  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@197580.4]
+  wire  _T_1319; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@197599.4]
+  wire  _T_1321; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@197601.4]
+  wire  _T_1322; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@197602.4]
+  wire  _T_1304; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197574.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@197576.4 Monitor.scala 459:13:shc.marmotcaravel.MarmotCaravelConfig.fir@197582.6]
+  wire  _T_1324; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@197606.6]
+  wire  _T_1325; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@197607.6]
+  wire  _T_1328; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@197610.6]
+  wire  _T_1329; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@197611.6]
+  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@197603.4]
+  wire  _T_1316; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197594.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@197596.4 Monitor.scala 466:13:shc.marmotcaravel.MarmotCaravelConfig.fir@197605.6]
+  wire  _T_1330; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@197617.4]
+  wire  _T_1332; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@197619.4]
+  wire  _T_1333; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@197620.4]
+  wire  _T_1335; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@197622.4]
+  wire  _T_1336; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@197623.4]
+  wire  _T_1337; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@197628.4]
+  wire  _T_1338; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@197629.4]
+  wire  _T_1339; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@197630.4]
+  reg [31:0] _T_1341; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@197632.4]
+  reg [31:0] _RAND_11;
+  wire  _T_1343; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@197636.4]
+  wire  _T_1344; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@197637.4]
+  wire  _T_1345; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@197638.4]
+  wire  _T_1346; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@197639.4]
+  wire  _T_1347; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@197640.4]
+  wire  _T_1349; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@197642.4]
+  wire  _T_1350; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@197643.4]
+  wire [31:0] _T_1352; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@197649.4]
+  wire  _T_1355; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@197653.4]
+  wire  _GEN_19; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197077.10]
+  wire  _GEN_27; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197118.10]
+  wire  _GEN_37; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197176.10]
+  wire  _GEN_47; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197236.10]
+  wire  _GEN_51; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197271.10]
+  wire  _GEN_55; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197307.10]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@197633.4]
+    .out(plusarg_reader_out)
+  );
+  assign _T_29 = 27'hfff << 4'h6; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@195878.6]
+  assign _T_30 = _T_29[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@195879.6]
+  assign _T_31 = ~ _T_30; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@195880.6]
+  assign _GEN_18 = {{20'd0}, _T_31}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@195881.6]
+  assign _T_32 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@195881.6]
+  assign _T_33 = _T_32 == 32'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@195882.6]
+  assign _T_36 = 2'h1 << 1'h0; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@195885.6]
+  assign _T_70 = {1'b0,$signed(io_in_a_bits_address)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@195919.6]
+  assign _T_80 = io_in_a_bits_address ^ 32'h3000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@195934.8]
+  assign _T_81 = {1'b0,$signed(_T_80)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@195935.8]
+  assign _T_82 = $signed(_T_81) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@195936.8]
+  assign _T_83 = $signed(_T_82); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@195937.8]
+  assign _T_84 = $signed(_T_83) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@195938.8]
+  assign _T_85 = io_in_a_bits_address ^ 32'h10013000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@195939.8]
+  assign _T_86 = {1'b0,$signed(_T_85)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@195940.8]
+  assign _T_87 = $signed(_T_86) & $signed(-33'sh21000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@195941.8]
+  assign _T_88 = $signed(_T_87); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@195942.8]
+  assign _T_89 = $signed(_T_88) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@195943.8]
+  assign _T_90 = io_in_a_bits_address ^ 32'h10023000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@195944.8]
+  assign _T_91 = {1'b0,$signed(_T_90)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@195945.8]
+  assign _T_92 = $signed(_T_91) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@195946.8]
+  assign _T_93 = $signed(_T_92); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@195947.8]
+  assign _T_94 = $signed(_T_93) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@195948.8]
+  assign _T_95 = io_in_a_bits_address ^ 32'h10043000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@195949.8]
+  assign _T_96 = {1'b0,$signed(_T_95)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@195950.8]
+  assign _T_97 = $signed(_T_96) & $signed(-33'sh11000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@195951.8]
+  assign _T_98 = $signed(_T_97); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@195952.8]
+  assign _T_99 = $signed(_T_98) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@195953.8]
+  assign _T_100 = io_in_a_bits_address ^ 32'h10014000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@195954.8]
+  assign _T_101 = {1'b0,$signed(_T_100)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@195955.8]
+  assign _T_102 = $signed(_T_101) & $signed(-33'sh21000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@195956.8]
+  assign _T_103 = $signed(_T_102); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@195957.8]
+  assign _T_104 = $signed(_T_103) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@195958.8]
+  assign _T_105 = io_in_a_bits_address ^ 32'h20000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@195959.8]
+  assign _T_106 = {1'b0,$signed(_T_105)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@195960.8]
+  assign _T_107 = $signed(_T_106) & $signed(-33'sh20000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@195961.8]
+  assign _T_108 = $signed(_T_107); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@195962.8]
+  assign _T_109 = $signed(_T_108) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@195963.8]
+  assign _T_110 = io_in_a_bits_address ^ 32'h10024000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@195964.8]
+  assign _T_111 = {1'b0,$signed(_T_110)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@195965.8]
+  assign _T_112 = $signed(_T_111) & $signed(-33'sh3000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@195966.8]
+  assign _T_113 = $signed(_T_112); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@195967.8]
+  assign _T_114 = $signed(_T_113) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@195968.8]
+  assign _T_115 = io_in_a_bits_address ^ 32'h10012000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@195969.8]
+  assign _T_116 = {1'b0,$signed(_T_115)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@195970.8]
+  assign _T_117 = $signed(_T_116) & $signed(-33'sh5000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@195971.8]
+  assign _T_118 = $signed(_T_117); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@195972.8]
+  assign _T_119 = $signed(_T_118) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@195973.8]
+  assign _T_120 = io_in_a_bits_address ^ 32'hc000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@195974.8]
+  assign _T_121 = {1'b0,$signed(_T_120)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@195975.8]
+  assign _T_122 = $signed(_T_121) & $signed(-33'sh4000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@195976.8]
+  assign _T_123 = $signed(_T_122); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@195977.8]
+  assign _T_124 = $signed(_T_123) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@195978.8]
+  assign _T_125 = io_in_a_bits_address ^ 32'h2000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@195979.8]
+  assign _T_126 = {1'b0,$signed(_T_125)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@195980.8]
+  assign _T_127 = $signed(_T_126) & $signed(-33'sh10000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@195981.8]
+  assign _T_128 = $signed(_T_127); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@195982.8]
+  assign _T_129 = $signed(_T_128) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@195983.8]
+  assign _T_132 = $signed(_T_70) & $signed(-33'sh10001000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@195986.8]
+  assign _T_133 = $signed(_T_132); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@195987.8]
+  assign _T_134 = $signed(_T_133) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@195988.8]
+  assign _T_135 = io_in_a_bits_address ^ 32'h8000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@195989.8]
+  assign _T_136 = {1'b0,$signed(_T_135)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@195990.8]
+  assign _T_137 = $signed(_T_136) & $signed(-33'sh4000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@195991.8]
+  assign _T_138 = $signed(_T_137); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@195992.8]
+  assign _T_139 = $signed(_T_138) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@195993.8]
+  assign _T_140 = io_in_a_bits_address ^ 32'h80000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@195994.8]
+  assign _T_141 = {1'b0,$signed(_T_140)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@195995.8]
+  assign _T_142 = $signed(_T_141) & $signed(-33'sh4000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@195996.8]
+  assign _T_143 = $signed(_T_142); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@195997.8]
+  assign _T_144 = $signed(_T_143) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@195998.8]
+  assign _T_145 = io_in_a_bits_address ^ 32'h10000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@195999.8]
+  assign _T_146 = {1'b0,$signed(_T_145)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@196000.8]
+  assign _T_147 = $signed(_T_146) & $signed(-33'sh2000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@196001.8]
+  assign _T_148 = $signed(_T_147); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@196002.8]
+  assign _T_149 = $signed(_T_148) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@196003.8]
+  assign _T_167 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196021.8]
+  assign _T_179 = _T_33 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196049.8]
+  assign _T_180 = _T_179 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196050.8]
+  assign _T_394 = _T_89 | _T_94; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@196320.8]
+  assign _T_395 = _T_394 | _T_99; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@196321.8]
+  assign _T_396 = _T_395 | _T_104; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@196322.8]
+  assign _T_397 = _T_396 | _T_109; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@196323.8]
+  assign _T_398 = _T_397 | _T_114; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@196324.8]
+  assign _T_399 = _T_398 | _T_119; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@196325.8]
+  assign _T_400 = _T_399 | _T_124; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@196326.8]
+  assign _T_401 = _T_400 | _T_129; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@196327.8]
+  assign _T_402 = _T_401 | _T_134; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@196328.8]
+  assign _T_403 = _T_402 | _T_139; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@196329.8]
+  assign _T_404 = _T_403 | _T_144; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@196330.8]
+  assign _T_405 = _T_404 | _T_149; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@196331.8]
+  assign _T_408 = _T_84 | _T_405; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@196334.8]
+  assign _T_410 = _T_408 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196336.8]
+  assign _T_411 = _T_410 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196337.8]
+  assign _T_987 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@197050.6]
+  assign _T_989 = _T_987 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@197052.6]
+  assign _T_990 = _T_989 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@197053.6]
+  assign _T_1000 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@197063.6]
+  assign _T_1004 = io_in_d_bits_size >= 4'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@197072.8]
+  assign _T_1006 = _T_1004 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197074.8]
+  assign _T_1007 = _T_1006 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197075.8]
+  assign _T_1008 = io_in_d_bits_param == 2'h0; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@197080.8]
+  assign _T_1010 = _T_1008 | reset; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197082.8]
+  assign _T_1011 = _T_1010 == 1'h0; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197083.8]
+  assign _T_1012 = io_in_d_bits_corrupt == 1'h0; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@197088.8]
+  assign _T_1014 = _T_1012 | reset; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197090.8]
+  assign _T_1015 = _T_1014 == 1'h0; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197091.8]
+  assign _T_1016 = io_in_d_bits_denied == 1'h0; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@197096.8]
+  assign _T_1018 = _T_1016 | reset; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197098.8]
+  assign _T_1019 = _T_1018 == 1'h0; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197099.8]
+  assign _T_1020 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@197105.6]
+  assign _T_1031 = io_in_d_bits_param <= 2'h2; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@197129.8]
+  assign _T_1033 = _T_1031 | reset; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197131.8]
+  assign _T_1034 = _T_1033 == 1'h0; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197132.8]
+  assign _T_1035 = io_in_d_bits_param != 2'h2; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@197137.8]
+  assign _T_1037 = _T_1035 | reset; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197139.8]
+  assign _T_1038 = _T_1037 == 1'h0; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197140.8]
+  assign _T_1048 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@197163.6]
+  assign _T_1068 = _T_1016 | io_in_d_bits_corrupt; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@197204.8]
+  assign _T_1070 = _T_1068 | reset; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197206.8]
+  assign _T_1071 = _T_1070 == 1'h0; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197207.8]
+  assign _T_1077 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@197222.6]
+  assign _T_1094 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@197257.6]
+  assign _T_1112 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@197293.6]
+  assign _T_1141 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@197353.4]
+  assign _T_1152 = _T_1151 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@197363.4]
+  assign _T_1153 = $unsigned(_T_1152); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@197364.4]
+  assign _T_1154 = _T_1153[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@197365.4]
+  assign _T_1155 = _T_1151 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@197366.4]
+  assign _T_1173 = _T_1155 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@197382.4]
+  assign _T_1174 = io_in_a_valid & _T_1173; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@197383.4]
+  assign _T_1191 = io_in_a_bits_address == _T_1172; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@197417.6]
+  assign _T_1193 = _T_1191 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197419.6]
+  assign _T_1194 = _T_1193 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197420.6]
+  assign _T_1196 = _T_1141 & _T_1155; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@197427.4]
+  assign _T_1197 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@197435.4]
+  assign _T_1199 = 27'hfff << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@197437.4]
+  assign _T_1200 = _T_1199[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@197438.4]
+  assign _T_1201 = ~ _T_1200; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@197439.4]
+  assign _T_1202 = _T_1201[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@197440.4]
+  assign _T_1203 = io_in_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@197441.4]
+  assign _T_1207 = _T_1206 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@197444.4]
+  assign _T_1208 = $unsigned(_T_1207); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@197445.4]
+  assign _T_1209 = _T_1208[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@197446.4]
+  assign _T_1210 = _T_1206 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@197447.4]
+  assign _T_1230 = _T_1210 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@197464.4]
+  assign _T_1231 = io_in_d_valid & _T_1230; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@197465.4]
+  assign _T_1232 = io_in_d_bits_opcode == _T_1219; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@197467.6]
+  assign _T_1234 = _T_1232 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197469.6]
+  assign _T_1235 = _T_1234 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197470.6]
+  assign _T_1236 = io_in_d_bits_param == _T_1221; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@197475.6]
+  assign _T_1238 = _T_1236 | reset; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197477.6]
+  assign _T_1239 = _T_1238 == 1'h0; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197478.6]
+  assign _T_1240 = io_in_d_bits_size == _T_1223; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@197483.6]
+  assign _T_1242 = _T_1240 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197485.6]
+  assign _T_1243 = _T_1242 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197486.6]
+  assign _T_1248 = io_in_d_bits_sink == _T_1227; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@197499.6]
+  assign _T_1250 = _T_1248 | reset; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197501.6]
+  assign _T_1251 = _T_1250 == 1'h0; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197502.6]
+  assign _T_1252 = io_in_d_bits_denied == _T_1229; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@197507.6]
+  assign _T_1254 = _T_1252 | reset; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197509.6]
+  assign _T_1255 = _T_1254 == 1'h0; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197510.6]
+  assign _T_1257 = _T_1197 & _T_1210; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@197517.4]
+  assign _T_1271 = _T_1270 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@197537.4]
+  assign _T_1272 = $unsigned(_T_1271); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@197538.4]
+  assign _T_1273 = _T_1272[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@197539.4]
+  assign _T_1274 = _T_1270 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@197540.4]
+  assign _T_1292 = _T_1291 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@197560.4]
+  assign _T_1293 = $unsigned(_T_1292); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@197561.4]
+  assign _T_1294 = _T_1293[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@197562.4]
+  assign _T_1295 = _T_1291 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@197563.4]
+  assign _T_1306 = _T_1141 & _T_1274; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@197578.4]
+  assign _T_1309 = _T_1259 >> 1'h0; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@197583.6]
+  assign _T_1311 = _T_1309 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197585.6]
+  assign _T_1313 = _T_1311 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@197587.6]
+  assign _T_1314 = _T_1313 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@197588.6]
+  assign _GEN_15 = _T_1306 ? _T_36 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@197580.4]
+  assign _T_1319 = _T_1197 & _T_1295; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@197599.4]
+  assign _T_1321 = _T_1000 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@197601.4]
+  assign _T_1322 = _T_1319 & _T_1321; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@197602.4]
+  assign _T_1304 = _GEN_15[0]; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197574.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@197576.4 Monitor.scala 459:13:shc.marmotcaravel.MarmotCaravelConfig.fir@197582.6]
+  assign _T_1324 = _T_1304 | _T_1259; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@197606.6]
+  assign _T_1325 = _T_1324 >> 1'h0; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@197607.6]
+  assign _T_1328 = _T_1325 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@197610.6]
+  assign _T_1329 = _T_1328 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@197611.6]
+  assign _GEN_16 = _T_1322 ? _T_36 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@197603.4]
+  assign _T_1316 = _GEN_16[0]; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197594.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@197596.4 Monitor.scala 466:13:shc.marmotcaravel.MarmotCaravelConfig.fir@197605.6]
+  assign _T_1330 = _T_1304 != _T_1316; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@197617.4]
+  assign _T_1332 = _T_1304 == 1'h0; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@197619.4]
+  assign _T_1333 = _T_1330 | _T_1332; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@197620.4]
+  assign _T_1335 = _T_1333 | reset; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@197622.4]
+  assign _T_1336 = _T_1335 == 1'h0; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@197623.4]
+  assign _T_1337 = _T_1259 | _T_1304; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@197628.4]
+  assign _T_1338 = ~ _T_1316; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@197629.4]
+  assign _T_1339 = _T_1337 & _T_1338; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@197630.4]
+  assign _T_1343 = _T_1259 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@197636.4]
+  assign _T_1344 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@197637.4]
+  assign _T_1345 = _T_1343 | _T_1344; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@197638.4]
+  assign _T_1346 = _T_1341 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@197639.4]
+  assign _T_1347 = _T_1345 | _T_1346; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@197640.4]
+  assign _T_1349 = _T_1347 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@197642.4]
+  assign _T_1350 = _T_1349 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@197643.4]
+  assign _T_1352 = _T_1341 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@197649.4]
+  assign _T_1355 = _T_1141 | _T_1197; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@197653.4]
+  assign _GEN_19 = io_in_d_valid & _T_1000; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197077.10]
+  assign _GEN_27 = io_in_d_valid & _T_1020; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197118.10]
+  assign _GEN_37 = io_in_d_valid & _T_1048; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197176.10]
+  assign _GEN_47 = io_in_d_valid & _T_1077; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197236.10]
+  assign _GEN_51 = io_in_d_valid & _T_1094; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197271.10]
+  assign _GEN_55 = io_in_d_valid & _T_1112; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197307.10]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  _T_1151 = _RAND_0[9:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  _T_1172 = _RAND_1[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  _T_1206 = _RAND_2[9:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  _T_1219 = _RAND_3[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  _T_1221 = _RAND_4[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  _T_1223 = _RAND_5[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {1{`RANDOM}};
+  _T_1227 = _RAND_6[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {1{`RANDOM}};
+  _T_1229 = _RAND_7[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_8 = {1{`RANDOM}};
+  _T_1259 = _RAND_8[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_9 = {1{`RANDOM}};
+  _T_1270 = _RAND_9[9:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_10 = {1{`RANDOM}};
+  _T_1291 = _RAND_10[9:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_11 = {1{`RANDOM}};
+  _T_1341 = _RAND_11[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      _T_1151 <= 10'h0;
+    end else begin
+      if (_T_1141) begin
+        if (_T_1155) begin
+          _T_1151 <= 10'h0;
+        end else begin
+          _T_1151 <= _T_1154;
+        end
+      end
+    end
+    if (_T_1196) begin
+      _T_1172 <= io_in_a_bits_address;
+    end
+    if (reset) begin
+      _T_1206 <= 10'h0;
+    end else begin
+      if (_T_1197) begin
+        if (_T_1210) begin
+          if (_T_1203) begin
+            _T_1206 <= _T_1202;
+          end else begin
+            _T_1206 <= 10'h0;
+          end
+        end else begin
+          _T_1206 <= _T_1209;
+        end
+      end
+    end
+    if (_T_1257) begin
+      _T_1219 <= io_in_d_bits_opcode;
+    end
+    if (_T_1257) begin
+      _T_1221 <= io_in_d_bits_param;
+    end
+    if (_T_1257) begin
+      _T_1223 <= io_in_d_bits_size;
+    end
+    if (_T_1257) begin
+      _T_1227 <= io_in_d_bits_sink;
+    end
+    if (_T_1257) begin
+      _T_1229 <= io_in_d_bits_denied;
+    end
+    if (reset) begin
+      _T_1259 <= 1'h0;
+    end else begin
+      _T_1259 <= _T_1339;
+    end
+    if (reset) begin
+      _T_1270 <= 10'h0;
+    end else begin
+      if (_T_1141) begin
+        if (_T_1274) begin
+          _T_1270 <= 10'h0;
+        end else begin
+          _T_1270 <= _T_1273;
+        end
+      end
+    end
+    if (reset) begin
+      _T_1291 <= 10'h0;
+    end else begin
+      if (_T_1197) begin
+        if (_T_1295) begin
+          if (_T_1203) begin
+            _T_1291 <= _T_1202;
+          end else begin
+            _T_1291 <= 10'h0;
+          end
+        end else begin
+          _T_1291 <= _T_1294;
+        end
+      end
+    end
+    if (reset) begin
+      _T_1341 <= 32'h0;
+    end else begin
+      if (_T_1355) begin
+        _T_1341 <= 32'h0;
+      end else begin
+        _T_1341 <= _T_1352;
+      end
+    end
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at Frontend.scala:341:21)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@195870.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@195871.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@195928.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@195929.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at Frontend.scala:341:21)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196023.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196024.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at Frontend.scala:341:21)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196030.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196031.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at Frontend.scala:341:21)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196037.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196038.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at Frontend.scala:341:21)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196045.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196046.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at Frontend.scala:341:21)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196052.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196053.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at Frontend.scala:341:21)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196060.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196061.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at Frontend.scala:341:21)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196069.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196070.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at Frontend.scala:341:21)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196077.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196078.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at Frontend.scala:341:21)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196173.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196174.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at Frontend.scala:341:21)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196180.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196181.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at Frontend.scala:341:21)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196187.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196188.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at Frontend.scala:341:21)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196195.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196196.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at Frontend.scala:341:21)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196202.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196203.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at Frontend.scala:341:21)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196210.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196211.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at Frontend.scala:341:21)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196218.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196219.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at Frontend.scala:341:21)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196227.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196228.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at Frontend.scala:341:21)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196235.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196236.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_411) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at Frontend.scala:341:21)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196339.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_411) begin
+          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196340.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at Frontend.scala:341:21)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196346.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196347.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_180) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at Frontend.scala:341:21)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196353.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_180) begin
+          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196354.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at Frontend.scala:341:21)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196361.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196362.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at Frontend.scala:341:21)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196369.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196370.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at Frontend.scala:341:21)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196377.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196378.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at Frontend.scala:341:21)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196483.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196484.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at Frontend.scala:341:21)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196490.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196491.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at Frontend.scala:341:21)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196497.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196498.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at Frontend.scala:341:21)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196505.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196506.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at Frontend.scala:341:21)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196513.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196514.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at Frontend.scala:341:21)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196619.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196620.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at Frontend.scala:341:21)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196626.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196627.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at Frontend.scala:341:21)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196633.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196634.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at Frontend.scala:341:21)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196641.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196642.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at Frontend.scala:341:21)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196651.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196652.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at Frontend.scala:341:21)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196752.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196753.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at Frontend.scala:341:21)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196759.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196760.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at Frontend.scala:341:21)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196766.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196767.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at Frontend.scala:341:21)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196774.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196775.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at Frontend.scala:341:21)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196782.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196783.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at Frontend.scala:341:21)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196883.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196884.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at Frontend.scala:341:21)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196890.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196891.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at Frontend.scala:341:21)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196897.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196898.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at Frontend.scala:341:21)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196905.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196906.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at Frontend.scala:341:21)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196913.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196914.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at Frontend.scala:341:21)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197014.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197015.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at Frontend.scala:341:21)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197021.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197022.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at Frontend.scala:341:21)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197028.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197029.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at Frontend.scala:341:21)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197036.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197037.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at Frontend.scala:341:21)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197044.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197045.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_990) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at Frontend.scala:341:21)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@197055.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_990) begin
+          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@197056.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at Frontend.scala:341:21)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197069.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197070.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_1007) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at Frontend.scala:341:21)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197077.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_1007) begin
+          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197078.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_1011) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at Frontend.scala:341:21)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197085.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_1011) begin
+          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197086.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_1015) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at Frontend.scala:341:21)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197093.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_1015) begin
+          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197094.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_1019) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at Frontend.scala:341:21)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197101.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_1019) begin
+          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197102.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at Frontend.scala:341:21)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197111.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197112.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_27 & _T_167) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at Frontend.scala:341:21)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197118.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_27 & _T_167) begin
+          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197119.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_27 & _T_1007) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at Frontend.scala:341:21)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197126.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_27 & _T_1007) begin
+          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197127.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_27 & _T_1034) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at Frontend.scala:341:21)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197134.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_27 & _T_1034) begin
+          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197135.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_27 & _T_1038) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at Frontend.scala:341:21)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197142.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_27 & _T_1038) begin
+          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197143.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_27 & _T_1015) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at Frontend.scala:341:21)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197150.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_27 & _T_1015) begin
+          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197151.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at Frontend.scala:341:21)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197159.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197160.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at Frontend.scala:341:21)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197169.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197170.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_37 & _T_167) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at Frontend.scala:341:21)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197176.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_37 & _T_167) begin
+          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197177.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_37 & _T_1007) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at Frontend.scala:341:21)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197184.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_37 & _T_1007) begin
+          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197185.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_37 & _T_1034) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at Frontend.scala:341:21)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197192.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_37 & _T_1034) begin
+          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197193.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_37 & _T_1038) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at Frontend.scala:341:21)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197200.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_37 & _T_1038) begin
+          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197201.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_37 & _T_1071) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at Frontend.scala:341:21)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197209.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_37 & _T_1071) begin
+          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197210.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at Frontend.scala:341:21)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197218.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197219.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at Frontend.scala:341:21)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197228.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197229.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_47 & _T_1011) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at Frontend.scala:341:21)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197236.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_47 & _T_1011) begin
+          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197237.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_47 & _T_1015) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at Frontend.scala:341:21)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197244.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_47 & _T_1015) begin
+          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197245.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at Frontend.scala:341:21)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197253.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197254.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at Frontend.scala:341:21)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197263.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197264.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_51 & _T_1011) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at Frontend.scala:341:21)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197271.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_51 & _T_1011) begin
+          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197272.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_51 & _T_1071) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at Frontend.scala:341:21)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197280.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_51 & _T_1071) begin
+          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197281.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at Frontend.scala:341:21)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197289.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197290.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at Frontend.scala:341:21)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197299.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197300.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_55 & _T_1011) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at Frontend.scala:341:21)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197307.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_55 & _T_1011) begin
+          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197308.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_55 & _T_1015) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at Frontend.scala:341:21)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197315.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_55 & _T_1015) begin
+          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197316.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at Frontend.scala:341:21)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197324.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197325.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at Frontend.scala:341:21)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197334.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197335.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at Frontend.scala:341:21)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197342.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197343.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at Frontend.scala:341:21)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197350.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197351.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at Frontend.scala:341:21)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197390.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197391.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at Frontend.scala:341:21)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197398.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197399.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at Frontend.scala:341:21)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197406.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197407.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at Frontend.scala:341:21)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197414.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197415.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1174 & _T_1194) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at Frontend.scala:341:21)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197422.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1174 & _T_1194) begin
+          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197423.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1231 & _T_1235) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at Frontend.scala:341:21)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197472.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1231 & _T_1235) begin
+          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197473.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1231 & _T_1239) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at Frontend.scala:341:21)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197480.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1231 & _T_1239) begin
+          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197481.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1231 & _T_1243) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at Frontend.scala:341:21)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197488.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1231 & _T_1243) begin
+          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197489.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at Frontend.scala:341:21)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197496.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197497.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1231 & _T_1251) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at Frontend.scala:341:21)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197504.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1231 & _T_1251) begin
+          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197505.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1231 & _T_1255) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at Frontend.scala:341:21)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197512.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1231 & _T_1255) begin
+          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197513.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1306 & _T_1314) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at Frontend.scala:341:21)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@197590.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1306 & _T_1314) begin
+          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@197591.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1322 & _T_1329) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at Frontend.scala:341:21)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@197613.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1322 & _T_1329) begin
+          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@197614.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1336) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' and 'D' concurrent, despite minlatency 4 (connected at Frontend.scala:341:21)\n    at Monitor.scala:471 assert(a_set =/= d_clr || !a_set.orR, s\"'A' and 'D' concurrent, despite minlatency ${edge.manager.minLatency}\" + extra)\n"); // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@197625.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1336) begin
+          $fatal; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@197626.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1350) begin
+          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at Frontend.scala:341:21)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@197645.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1350) begin
+          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@197646.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+endmodule
+module TLXbar_8( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197658.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197659.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197660.4]
+  output        auto_in_1_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197661.4]
+  input         auto_in_1_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197661.4]
+  input  [31:0] auto_in_1_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197661.4]
+  input         auto_in_1_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197661.4]
+  output        auto_in_1_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197661.4]
+  output [2:0]  auto_in_1_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197661.4]
+  output [3:0]  auto_in_1_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197661.4]
+  output [31:0] auto_in_1_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197661.4]
+  output        auto_in_1_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197661.4]
+  output        auto_in_0_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197661.4]
+  input         auto_in_0_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197661.4]
+  input  [2:0]  auto_in_0_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197661.4]
+  input  [2:0]  auto_in_0_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197661.4]
+  input  [3:0]  auto_in_0_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197661.4]
+  input  [31:0] auto_in_0_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197661.4]
+  input  [3:0]  auto_in_0_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197661.4]
+  input  [31:0] auto_in_0_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197661.4]
+  input         auto_in_0_c_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197661.4]
+  input         auto_in_0_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197661.4]
+  output        auto_in_0_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197661.4]
+  output [2:0]  auto_in_0_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197661.4]
+  output [3:0]  auto_in_0_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197661.4]
+  output        auto_in_0_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197661.4]
+  output [31:0] auto_in_0_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197661.4]
+  input         auto_in_0_e_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197661.4]
+  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197661.4]
+  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197661.4]
+  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197661.4]
+  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197661.4]
+  output [3:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197661.4]
+  output        auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197661.4]
+  output [31:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197661.4]
+  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197661.4]
+  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197661.4]
+  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197661.4]
+  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197661.4]
+  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197661.4]
+  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197661.4]
+  input  [1:0]  auto_out_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197661.4]
+  input  [3:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197661.4]
+  input         auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197661.4]
+  input         auto_out_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197661.4]
+  input         auto_out_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197661.4]
+  input  [31:0] auto_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197661.4]
+  input         auto_out_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197661.4]
+);
+  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@197670.4]
+  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@197670.4]
+  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@197670.4]
+  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@197670.4]
+  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@197670.4]
+  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@197670.4]
+  wire [3:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@197670.4]
+  wire [31:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@197670.4]
+  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@197670.4]
+  wire  TLMonitor_io_in_c_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@197670.4]
+  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@197670.4]
+  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@197670.4]
+  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@197670.4]
+  wire [1:0] TLMonitor_io_in_d_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@197670.4]
+  wire [3:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@197670.4]
+  wire  TLMonitor_io_in_d_bits_sink; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@197670.4]
+  wire  TLMonitor_io_in_d_bits_denied; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@197670.4]
+  wire  TLMonitor_io_in_d_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@197670.4]
+  wire  TLMonitor_io_in_e_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@197670.4]
+  wire  TLMonitor_1_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@197707.4]
+  wire  TLMonitor_1_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@197707.4]
+  wire  TLMonitor_1_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@197707.4]
+  wire  TLMonitor_1_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@197707.4]
+  wire [31:0] TLMonitor_1_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@197707.4]
+  wire  TLMonitor_1_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@197707.4]
+  wire  TLMonitor_1_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@197707.4]
+  wire [2:0] TLMonitor_1_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@197707.4]
+  wire [1:0] TLMonitor_1_io_in_d_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@197707.4]
+  wire [3:0] TLMonitor_1_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@197707.4]
+  wire  TLMonitor_1_io_in_d_bits_sink; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@197707.4]
+  wire  TLMonitor_1_io_in_d_bits_denied; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@197707.4]
+  wire  TLMonitor_1_io_in_d_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@197707.4]
+  wire  requestDOI_0_1; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@197812.4]
+  wire [26:0] _T_786; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@197814.4]
+  wire [11:0] _T_787; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@197815.4]
+  wire [11:0] _T_788; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@197816.4]
+  wire [9:0] _T_789; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@197817.4]
+  wire  _T_790; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@197818.4]
+  wire  _T_791; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@197819.4]
+  wire  _T_969; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@197912.4]
+  wire  _T_970; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@197913.4]
+  reg [9:0] _T_1015; // @[Arbiter.scala 53:30:shc.marmotcaravel.MarmotCaravelConfig.fir@197932.4]
+  reg [31:0] _RAND_0;
+  wire  _T_1016; // @[Arbiter.scala 54:28:shc.marmotcaravel.MarmotCaravelConfig.fir@197933.4]
+  wire  _T_1017; // @[Arbiter.scala 55:24:shc.marmotcaravel.MarmotCaravelConfig.fir@197934.4]
+  wire [1:0] _T_1018; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@197935.4]
+  wire  _T_1020; // @[Arbiter.scala 19:19:shc.marmotcaravel.MarmotCaravelConfig.fir@197937.4]
+  wire  _T_1022; // @[Arbiter.scala 19:12:shc.marmotcaravel.MarmotCaravelConfig.fir@197939.4]
+  wire  _T_1023; // @[Arbiter.scala 19:12:shc.marmotcaravel.MarmotCaravelConfig.fir@197940.4]
+  reg [1:0] _T_1026; // @[Arbiter.scala 20:23:shc.marmotcaravel.MarmotCaravelConfig.fir@197946.4]
+  reg [31:0] _RAND_1;
+  wire [1:0] _T_1027; // @[Arbiter.scala 21:30:shc.marmotcaravel.MarmotCaravelConfig.fir@197947.4]
+  wire [1:0] _T_1028; // @[Arbiter.scala 21:28:shc.marmotcaravel.MarmotCaravelConfig.fir@197948.4]
+  wire [3:0] _T_1029; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@197949.4]
+  wire [2:0] _T_1030; // @[package.scala 203:48:shc.marmotcaravel.MarmotCaravelConfig.fir@197950.4]
+  wire [3:0] _GEN_1; // @[package.scala 203:43:shc.marmotcaravel.MarmotCaravelConfig.fir@197951.4]
+  wire [3:0] _T_1031; // @[package.scala 203:43:shc.marmotcaravel.MarmotCaravelConfig.fir@197951.4]
+  wire [2:0] _T_1033; // @[Arbiter.scala 22:52:shc.marmotcaravel.MarmotCaravelConfig.fir@197953.4]
+  wire [3:0] _GEN_2; // @[Arbiter.scala 22:66:shc.marmotcaravel.MarmotCaravelConfig.fir@197954.4]
+  wire [3:0] _T_1034; // @[Arbiter.scala 22:66:shc.marmotcaravel.MarmotCaravelConfig.fir@197954.4]
+  wire [3:0] _GEN_3; // @[Arbiter.scala 22:58:shc.marmotcaravel.MarmotCaravelConfig.fir@197955.4]
+  wire [3:0] _T_1035; // @[Arbiter.scala 22:58:shc.marmotcaravel.MarmotCaravelConfig.fir@197955.4]
+  wire [1:0] _T_1036; // @[Arbiter.scala 23:29:shc.marmotcaravel.MarmotCaravelConfig.fir@197956.4]
+  wire [1:0] _T_1037; // @[Arbiter.scala 23:48:shc.marmotcaravel.MarmotCaravelConfig.fir@197957.4]
+  wire [1:0] _T_1038; // @[Arbiter.scala 23:39:shc.marmotcaravel.MarmotCaravelConfig.fir@197958.4]
+  wire [1:0] _T_1039; // @[Arbiter.scala 23:18:shc.marmotcaravel.MarmotCaravelConfig.fir@197959.4]
+  wire  _T_1040; // @[Arbiter.scala 24:27:shc.marmotcaravel.MarmotCaravelConfig.fir@197960.4]
+  wire  _T_1041; // @[Arbiter.scala 24:18:shc.marmotcaravel.MarmotCaravelConfig.fir@197961.4]
+  wire [1:0] _T_1042; // @[Arbiter.scala 25:29:shc.marmotcaravel.MarmotCaravelConfig.fir@197963.6]
+  wire [2:0] _GEN_4; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@197964.6]
+  wire [2:0] _T_1043; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@197964.6]
+  wire [1:0] _T_1044; // @[package.scala 194:53:shc.marmotcaravel.MarmotCaravelConfig.fir@197965.6]
+  wire [1:0] _T_1045; // @[package.scala 194:43:shc.marmotcaravel.MarmotCaravelConfig.fir@197966.6]
+  wire  _T_1048; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@197971.4]
+  wire  _T_1049; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@197972.4]
+  wire  _T_1058; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@197977.4]
+  wire  _T_1059; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@197978.4]
+  wire  _T_1069; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@197984.4]
+  wire  _T_1071; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@197986.4]
+  wire  _T_1074; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@197989.4]
+  wire  _T_1075; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@197990.4]
+  wire  _T_1078; // @[Arbiter.scala 68:13:shc.marmotcaravel.MarmotCaravelConfig.fir@197993.4]
+  wire  _T_1079; // @[Arbiter.scala 68:13:shc.marmotcaravel.MarmotCaravelConfig.fir@197994.4]
+  wire  _T_1080; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@197999.4]
+  wire  _T_1081; // @[Arbiter.scala 70:15:shc.marmotcaravel.MarmotCaravelConfig.fir@198000.4]
+  wire  _T_1083; // @[Arbiter.scala 70:36:shc.marmotcaravel.MarmotCaravelConfig.fir@198002.4]
+  wire  _T_1085; // @[Arbiter.scala 70:14:shc.marmotcaravel.MarmotCaravelConfig.fir@198004.4]
+  wire  _T_1086; // @[Arbiter.scala 70:14:shc.marmotcaravel.MarmotCaravelConfig.fir@198005.4]
+  reg  _T_1111_0; // @[Arbiter.scala 78:26:shc.marmotcaravel.MarmotCaravelConfig.fir@198023.4]
+  reg [31:0] _RAND_2;
+  wire  _T_1142; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198032.4]
+  reg  _T_1111_1; // @[Arbiter.scala 78:26:shc.marmotcaravel.MarmotCaravelConfig.fir@198023.4]
+  reg [31:0] _RAND_3;
+  wire  _T_1143; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198033.4]
+  wire  _T_1144; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198034.4]
+  wire  out_0_a_valid; // @[Arbiter.scala 86:24:shc.marmotcaravel.MarmotCaravelConfig.fir@198037.4]
+  wire  _T_1090; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@198013.4]
+  wire [9:0] _GEN_5; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@198014.4]
+  wire [10:0] _T_1091; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@198014.4]
+  wire [10:0] _T_1092; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@198015.4]
+  wire [9:0] _T_1093; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@198016.4]
+  wire  _T_1122_0; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@198024.4]
+  wire  _T_1122_1; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@198024.4]
+  wire  _T_1130_0; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@198026.4]
+  wire  _T_1130_1; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@198026.4]
+  wire [32:0] _T_1149; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198039.4]
+  wire [35:0] _T_1150; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198040.4]
+  wire [68:0] _T_1151; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198041.4]
+  wire [4:0] _T_1152; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198042.4]
+  wire [5:0] _T_1153; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198043.4]
+  wire [10:0] _T_1154; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198044.4]
+  wire [79:0] _T_1155; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198045.4]
+  wire [79:0] _T_1156; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198046.4]
+  wire [35:0] _T_1158; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198048.4]
+  wire [68:0] _T_1159; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198049.4]
+  wire [79:0] _T_1163; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198053.4]
+  wire [79:0] _T_1164; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198054.4]
+  wire [79:0] _T_1165; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198055.4]
+  TLMonitor_53 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@197670.4]
+    .clock(TLMonitor_clock),
+    .reset(TLMonitor_reset),
+    .io_in_a_ready(TLMonitor_io_in_a_ready),
+    .io_in_a_valid(TLMonitor_io_in_a_valid),
+    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
+    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
+    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
+    .io_in_c_valid(TLMonitor_io_in_c_valid),
+    .io_in_d_ready(TLMonitor_io_in_d_ready),
+    .io_in_d_valid(TLMonitor_io_in_d_valid),
+    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
+    .io_in_d_bits_param(TLMonitor_io_in_d_bits_param),
+    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
+    .io_in_d_bits_sink(TLMonitor_io_in_d_bits_sink),
+    .io_in_d_bits_denied(TLMonitor_io_in_d_bits_denied),
+    .io_in_d_bits_corrupt(TLMonitor_io_in_d_bits_corrupt),
+    .io_in_e_valid(TLMonitor_io_in_e_valid)
+  );
+  TLMonitor_54 TLMonitor_1 ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@197707.4]
+    .clock(TLMonitor_1_clock),
+    .reset(TLMonitor_1_reset),
+    .io_in_a_ready(TLMonitor_1_io_in_a_ready),
+    .io_in_a_valid(TLMonitor_1_io_in_a_valid),
+    .io_in_a_bits_address(TLMonitor_1_io_in_a_bits_address),
+    .io_in_d_ready(TLMonitor_1_io_in_d_ready),
+    .io_in_d_valid(TLMonitor_1_io_in_d_valid),
+    .io_in_d_bits_opcode(TLMonitor_1_io_in_d_bits_opcode),
+    .io_in_d_bits_param(TLMonitor_1_io_in_d_bits_param),
+    .io_in_d_bits_size(TLMonitor_1_io_in_d_bits_size),
+    .io_in_d_bits_sink(TLMonitor_1_io_in_d_bits_sink),
+    .io_in_d_bits_denied(TLMonitor_1_io_in_d_bits_denied),
+    .io_in_d_bits_corrupt(TLMonitor_1_io_in_d_bits_corrupt)
+  );
+  assign requestDOI_0_1 = auto_out_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@197812.4]
+  assign _T_786 = 27'hfff << auto_in_0_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@197814.4]
+  assign _T_787 = _T_786[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@197815.4]
+  assign _T_788 = ~ _T_787; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@197816.4]
+  assign _T_789 = _T_788[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@197817.4]
+  assign _T_790 = auto_in_0_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@197818.4]
+  assign _T_791 = _T_790 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@197819.4]
+  assign _T_969 = auto_out_d_bits_source ? auto_in_0_d_ready : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@197912.4]
+  assign _T_970 = requestDOI_0_1 ? auto_in_1_d_ready : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@197913.4]
+  assign _T_1016 = _T_1015 == 10'h0; // @[Arbiter.scala 54:28:shc.marmotcaravel.MarmotCaravelConfig.fir@197933.4]
+  assign _T_1017 = _T_1016 & auto_out_a_ready; // @[Arbiter.scala 55:24:shc.marmotcaravel.MarmotCaravelConfig.fir@197934.4]
+  assign _T_1018 = {auto_in_1_a_valid,auto_in_0_a_valid}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@197935.4]
+  assign _T_1020 = _T_1018 == _T_1018; // @[Arbiter.scala 19:19:shc.marmotcaravel.MarmotCaravelConfig.fir@197937.4]
+  assign _T_1022 = _T_1020 | reset; // @[Arbiter.scala 19:12:shc.marmotcaravel.MarmotCaravelConfig.fir@197939.4]
+  assign _T_1023 = _T_1022 == 1'h0; // @[Arbiter.scala 19:12:shc.marmotcaravel.MarmotCaravelConfig.fir@197940.4]
+  assign _T_1027 = ~ _T_1026; // @[Arbiter.scala 21:30:shc.marmotcaravel.MarmotCaravelConfig.fir@197947.4]
+  assign _T_1028 = _T_1018 & _T_1027; // @[Arbiter.scala 21:28:shc.marmotcaravel.MarmotCaravelConfig.fir@197948.4]
+  assign _T_1029 = {_T_1028,_T_1018}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@197949.4]
+  assign _T_1030 = _T_1029[3:1]; // @[package.scala 203:48:shc.marmotcaravel.MarmotCaravelConfig.fir@197950.4]
+  assign _GEN_1 = {{1'd0}, _T_1030}; // @[package.scala 203:43:shc.marmotcaravel.MarmotCaravelConfig.fir@197951.4]
+  assign _T_1031 = _T_1029 | _GEN_1; // @[package.scala 203:43:shc.marmotcaravel.MarmotCaravelConfig.fir@197951.4]
+  assign _T_1033 = _T_1031[3:1]; // @[Arbiter.scala 22:52:shc.marmotcaravel.MarmotCaravelConfig.fir@197953.4]
+  assign _GEN_2 = {{2'd0}, _T_1026}; // @[Arbiter.scala 22:66:shc.marmotcaravel.MarmotCaravelConfig.fir@197954.4]
+  assign _T_1034 = _GEN_2 << 2; // @[Arbiter.scala 22:66:shc.marmotcaravel.MarmotCaravelConfig.fir@197954.4]
+  assign _GEN_3 = {{1'd0}, _T_1033}; // @[Arbiter.scala 22:58:shc.marmotcaravel.MarmotCaravelConfig.fir@197955.4]
+  assign _T_1035 = _GEN_3 | _T_1034; // @[Arbiter.scala 22:58:shc.marmotcaravel.MarmotCaravelConfig.fir@197955.4]
+  assign _T_1036 = _T_1035[3:2]; // @[Arbiter.scala 23:29:shc.marmotcaravel.MarmotCaravelConfig.fir@197956.4]
+  assign _T_1037 = _T_1035[1:0]; // @[Arbiter.scala 23:48:shc.marmotcaravel.MarmotCaravelConfig.fir@197957.4]
+  assign _T_1038 = _T_1036 & _T_1037; // @[Arbiter.scala 23:39:shc.marmotcaravel.MarmotCaravelConfig.fir@197958.4]
+  assign _T_1039 = ~ _T_1038; // @[Arbiter.scala 23:18:shc.marmotcaravel.MarmotCaravelConfig.fir@197959.4]
+  assign _T_1040 = _T_1018 != 2'h0; // @[Arbiter.scala 24:27:shc.marmotcaravel.MarmotCaravelConfig.fir@197960.4]
+  assign _T_1041 = _T_1017 & _T_1040; // @[Arbiter.scala 24:18:shc.marmotcaravel.MarmotCaravelConfig.fir@197961.4]
+  assign _T_1042 = _T_1039 & _T_1018; // @[Arbiter.scala 25:29:shc.marmotcaravel.MarmotCaravelConfig.fir@197963.6]
+  assign _GEN_4 = {{1'd0}, _T_1042}; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@197964.6]
+  assign _T_1043 = _GEN_4 << 1; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@197964.6]
+  assign _T_1044 = _T_1043[1:0]; // @[package.scala 194:53:shc.marmotcaravel.MarmotCaravelConfig.fir@197965.6]
+  assign _T_1045 = _T_1042 | _T_1044; // @[package.scala 194:43:shc.marmotcaravel.MarmotCaravelConfig.fir@197966.6]
+  assign _T_1048 = _T_1039[0]; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@197971.4]
+  assign _T_1049 = _T_1039[1]; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@197972.4]
+  assign _T_1058 = _T_1048 & auto_in_0_a_valid; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@197977.4]
+  assign _T_1059 = _T_1049 & auto_in_1_a_valid; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@197978.4]
+  assign _T_1069 = _T_1058 | _T_1059; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@197984.4]
+  assign _T_1071 = _T_1058 == 1'h0; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@197986.4]
+  assign _T_1074 = _T_1059 == 1'h0; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@197989.4]
+  assign _T_1075 = _T_1071 | _T_1074; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@197990.4]
+  assign _T_1078 = _T_1075 | reset; // @[Arbiter.scala 68:13:shc.marmotcaravel.MarmotCaravelConfig.fir@197993.4]
+  assign _T_1079 = _T_1078 == 1'h0; // @[Arbiter.scala 68:13:shc.marmotcaravel.MarmotCaravelConfig.fir@197994.4]
+  assign _T_1080 = auto_in_0_a_valid | auto_in_1_a_valid; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@197999.4]
+  assign _T_1081 = _T_1080 == 1'h0; // @[Arbiter.scala 70:15:shc.marmotcaravel.MarmotCaravelConfig.fir@198000.4]
+  assign _T_1083 = _T_1081 | _T_1069; // @[Arbiter.scala 70:36:shc.marmotcaravel.MarmotCaravelConfig.fir@198002.4]
+  assign _T_1085 = _T_1083 | reset; // @[Arbiter.scala 70:14:shc.marmotcaravel.MarmotCaravelConfig.fir@198004.4]
+  assign _T_1086 = _T_1085 == 1'h0; // @[Arbiter.scala 70:14:shc.marmotcaravel.MarmotCaravelConfig.fir@198005.4]
+  assign _T_1142 = _T_1111_0 ? auto_in_0_a_valid : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198032.4]
+  assign _T_1143 = _T_1111_1 ? auto_in_1_a_valid : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198033.4]
+  assign _T_1144 = _T_1142 | _T_1143; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198034.4]
+  assign out_0_a_valid = _T_1016 ? _T_1080 : _T_1144; // @[Arbiter.scala 86:24:shc.marmotcaravel.MarmotCaravelConfig.fir@198037.4]
+  assign _T_1090 = auto_out_a_ready & out_0_a_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@198013.4]
+  assign _GEN_5 = {{9'd0}, _T_1090}; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@198014.4]
+  assign _T_1091 = _T_1015 - _GEN_5; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@198014.4]
+  assign _T_1092 = $unsigned(_T_1091); // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@198015.4]
+  assign _T_1093 = _T_1092[9:0]; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@198016.4]
+  assign _T_1122_0 = _T_1016 ? _T_1058 : _T_1111_0; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@198024.4]
+  assign _T_1122_1 = _T_1016 ? _T_1059 : _T_1111_1; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@198024.4]
+  assign _T_1130_0 = _T_1016 ? _T_1048 : _T_1111_0; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@198026.4]
+  assign _T_1130_1 = _T_1016 ? _T_1049 : _T_1111_1; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@198026.4]
+  assign _T_1149 = {auto_in_0_a_bits_data,1'h0}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198039.4]
+  assign _T_1150 = {auto_in_0_a_bits_address,auto_in_0_a_bits_mask}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198040.4]
+  assign _T_1151 = {_T_1150,_T_1149}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198041.4]
+  assign _T_1152 = {auto_in_0_a_bits_size,1'h1}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198042.4]
+  assign _T_1153 = {auto_in_0_a_bits_opcode,auto_in_0_a_bits_param}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198043.4]
+  assign _T_1154 = {_T_1153,_T_1152}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198044.4]
+  assign _T_1155 = {_T_1154,_T_1151}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198045.4]
+  assign _T_1156 = _T_1122_0 ? _T_1155 : 80'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198046.4]
+  assign _T_1158 = {auto_in_1_a_bits_address,4'hf}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198048.4]
+  assign _T_1159 = {_T_1158,33'h0}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198049.4]
+  assign _T_1163 = {11'h40c,_T_1159}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198053.4]
+  assign _T_1164 = _T_1122_1 ? _T_1163 : 80'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198054.4]
+  assign _T_1165 = _T_1156 | _T_1164; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198055.4]
+  assign auto_in_1_a_ready = auto_out_a_ready & _T_1130_1; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@197748.4]
+  assign auto_in_1_d_valid = auto_out_d_valid & requestDOI_0_1; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@197748.4]
+  assign auto_in_1_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@197748.4]
+  assign auto_in_1_d_bits_size = auto_out_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@197748.4]
+  assign auto_in_1_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@197748.4]
+  assign auto_in_1_d_bits_corrupt = auto_out_d_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@197748.4]
+  assign auto_in_0_a_ready = auto_out_a_ready & _T_1130_0; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@197747.4]
+  assign auto_in_0_d_valid = auto_out_d_valid & auto_out_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@197747.4]
+  assign auto_in_0_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@197747.4]
+  assign auto_in_0_d_bits_size = auto_out_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@197747.4]
+  assign auto_in_0_d_bits_denied = auto_out_d_bits_denied; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@197747.4]
+  assign auto_in_0_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@197747.4]
+  assign auto_out_a_valid = _T_1016 ? _T_1080 : _T_1144; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@197746.4]
+  assign auto_out_a_bits_opcode = _T_1165[79:77]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@197746.4]
+  assign auto_out_a_bits_param = _T_1165[76:74]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@197746.4]
+  assign auto_out_a_bits_size = _T_1165[73:70]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@197746.4]
+  assign auto_out_a_bits_source = _T_1165[69]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@197746.4]
+  assign auto_out_a_bits_address = _T_1165[68:37]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@197746.4]
+  assign auto_out_a_bits_mask = _T_1165[36:33]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@197746.4]
+  assign auto_out_a_bits_data = _T_1165[32:1]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@197746.4]
+  assign auto_out_a_bits_corrupt = _T_1165[0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@197746.4]
+  assign auto_out_d_ready = _T_969 | _T_970; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@197746.4]
+  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197672.4]
+  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197673.4]
+  assign TLMonitor_io_in_a_ready = auto_out_a_ready & _T_1130_0; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@197706.4]
+  assign TLMonitor_io_in_a_valid = auto_in_0_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@197706.4]
+  assign TLMonitor_io_in_a_bits_opcode = auto_in_0_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@197706.4]
+  assign TLMonitor_io_in_a_bits_param = auto_in_0_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@197706.4]
+  assign TLMonitor_io_in_a_bits_size = auto_in_0_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@197706.4]
+  assign TLMonitor_io_in_a_bits_address = auto_in_0_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@197706.4]
+  assign TLMonitor_io_in_a_bits_mask = auto_in_0_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@197706.4]
+  assign TLMonitor_io_in_c_valid = auto_in_0_c_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@197706.4]
+  assign TLMonitor_io_in_d_ready = auto_in_0_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@197706.4]
+  assign TLMonitor_io_in_d_valid = auto_out_d_valid & auto_out_d_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@197706.4]
+  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@197706.4]
+  assign TLMonitor_io_in_d_bits_param = auto_out_d_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@197706.4]
+  assign TLMonitor_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@197706.4]
+  assign TLMonitor_io_in_d_bits_sink = auto_out_d_bits_sink; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@197706.4]
+  assign TLMonitor_io_in_d_bits_denied = auto_out_d_bits_denied; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@197706.4]
+  assign TLMonitor_io_in_d_bits_corrupt = auto_out_d_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@197706.4]
+  assign TLMonitor_io_in_e_valid = auto_in_0_e_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@197706.4]
+  assign TLMonitor_1_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197709.4]
+  assign TLMonitor_1_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197710.4]
+  assign TLMonitor_1_io_in_a_ready = auto_out_a_ready & _T_1130_1; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@197743.4]
+  assign TLMonitor_1_io_in_a_valid = auto_in_1_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@197743.4]
+  assign TLMonitor_1_io_in_a_bits_address = auto_in_1_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@197743.4]
+  assign TLMonitor_1_io_in_d_ready = auto_in_1_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@197743.4]
+  assign TLMonitor_1_io_in_d_valid = auto_out_d_valid & requestDOI_0_1; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@197743.4]
+  assign TLMonitor_1_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@197743.4]
+  assign TLMonitor_1_io_in_d_bits_param = auto_out_d_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@197743.4]
+  assign TLMonitor_1_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@197743.4]
+  assign TLMonitor_1_io_in_d_bits_sink = auto_out_d_bits_sink; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@197743.4]
+  assign TLMonitor_1_io_in_d_bits_denied = auto_out_d_bits_denied; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@197743.4]
+  assign TLMonitor_1_io_in_d_bits_corrupt = auto_out_d_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@197743.4]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  _T_1015 = _RAND_0[9:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  _T_1026 = _RAND_1[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  _T_1111_0 = _RAND_2[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  _T_1111_1 = _RAND_3[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      _T_1015 <= 10'h0;
+    end else begin
+      if (_T_1017) begin
+        if (_T_1058) begin
+          if (_T_791) begin
+            _T_1015 <= _T_789;
+          end else begin
+            _T_1015 <= 10'h0;
+          end
+        end else begin
+          _T_1015 <= 10'h0;
+        end
+      end else begin
+        _T_1015 <= _T_1093;
+      end
+    end
+    if (reset) begin
+      _T_1026 <= 2'h3;
+    end else begin
+      if (_T_1041) begin
+        _T_1026 <= _T_1045;
+      end
+    end
+    if (reset) begin
+      _T_1111_0 <= 1'h0;
+    end else begin
+      if (_T_1016) begin
+        _T_1111_0 <= _T_1058;
+      end
+    end
+    if (reset) begin
+      _T_1111_1 <= 1'h0;
+    end else begin
+      if (_T_1016) begin
+        _T_1111_1 <= _T_1059;
+      end
+    end
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1023) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at Arbiter.scala:19 assert (valid === valids)\n"); // @[Arbiter.scala 19:12:shc.marmotcaravel.MarmotCaravelConfig.fir@197942.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1023) begin
+          $fatal; // @[Arbiter.scala 19:12:shc.marmotcaravel.MarmotCaravelConfig.fir@197943.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1079) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at Arbiter.scala:68 assert((prefixOR zip winner) map { case (p,w) => !p || !w } reduce {_ && _})\n"); // @[Arbiter.scala 68:13:shc.marmotcaravel.MarmotCaravelConfig.fir@197996.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1079) begin
+          $fatal; // @[Arbiter.scala 68:13:shc.marmotcaravel.MarmotCaravelConfig.fir@197997.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1086) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at Arbiter.scala:70 assert (!valids.reduce(_||_) || winner.reduce(_||_))\n"); // @[Arbiter.scala 70:14:shc.marmotcaravel.MarmotCaravelConfig.fir@198007.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1086) begin
+          $fatal; // @[Arbiter.scala 70:14:shc.marmotcaravel.MarmotCaravelConfig.fir@198008.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+endmodule
+module TLXbar_9( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198083.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198084.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198085.4]
+  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198086.4]
+  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198086.4]
+  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198086.4]
+  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198086.4]
+  input  [2:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198086.4]
+  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198086.4]
+  input  [31:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198086.4]
+  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198086.4]
+  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198086.4]
+  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198086.4]
+  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198086.4]
+  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198086.4]
+  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198086.4]
+  output [1:0]  auto_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198086.4]
+  output [2:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198086.4]
+  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198086.4]
+  output        auto_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198086.4]
+  output        auto_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198086.4]
+  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198086.4]
+  output        auto_in_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198086.4]
+  input         auto_out_1_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198086.4]
+  output        auto_out_1_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198086.4]
+  output [2:0]  auto_out_1_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198086.4]
+  output [2:0]  auto_out_1_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198086.4]
+  output [2:0]  auto_out_1_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198086.4]
+  output        auto_out_1_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198086.4]
+  output [31:0] auto_out_1_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198086.4]
+  output [3:0]  auto_out_1_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198086.4]
+  output [31:0] auto_out_1_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198086.4]
+  output        auto_out_1_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198086.4]
+  input         auto_out_1_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198086.4]
+  input  [2:0]  auto_out_1_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198086.4]
+  input  [2:0]  auto_out_1_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198086.4]
+  input         auto_out_1_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198086.4]
+  input  [31:0] auto_out_1_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198086.4]
+  input         auto_out_0_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198086.4]
+  output        auto_out_0_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198086.4]
+  output [2:0]  auto_out_0_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198086.4]
+  output [2:0]  auto_out_0_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198086.4]
+  output [2:0]  auto_out_0_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198086.4]
+  output        auto_out_0_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198086.4]
+  output [27:0] auto_out_0_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198086.4]
+  output [3:0]  auto_out_0_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198086.4]
+  output [31:0] auto_out_0_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198086.4]
+  output        auto_out_0_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198086.4]
+  output        auto_out_0_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198086.4]
+  input         auto_out_0_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198086.4]
+  input  [2:0]  auto_out_0_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198086.4]
+  input  [2:0]  auto_out_0_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198086.4]
+  input         auto_out_0_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198086.4]
+  input  [31:0] auto_out_0_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198086.4]
+);
+  reg [3:0] _T_951; // @[Arbiter.scala 53:30:shc.marmotcaravel.MarmotCaravelConfig.fir@198320.4]
+  reg [31:0] _RAND_0;
+  wire  _T_952; // @[Arbiter.scala 54:28:shc.marmotcaravel.MarmotCaravelConfig.fir@198321.4]
+  wire [1:0] _T_954; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@198323.4]
+  reg [1:0] _T_962; // @[Arbiter.scala 20:23:shc.marmotcaravel.MarmotCaravelConfig.fir@198334.4]
+  reg [31:0] _RAND_1;
+  wire [1:0] _T_963; // @[Arbiter.scala 21:30:shc.marmotcaravel.MarmotCaravelConfig.fir@198335.4]
+  wire [1:0] _T_964; // @[Arbiter.scala 21:28:shc.marmotcaravel.MarmotCaravelConfig.fir@198336.4]
+  wire [3:0] _T_965; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@198337.4]
+  wire [2:0] _T_966; // @[package.scala 203:48:shc.marmotcaravel.MarmotCaravelConfig.fir@198338.4]
+  wire [3:0] _GEN_1; // @[package.scala 203:43:shc.marmotcaravel.MarmotCaravelConfig.fir@198339.4]
+  wire [3:0] _T_967; // @[package.scala 203:43:shc.marmotcaravel.MarmotCaravelConfig.fir@198339.4]
+  wire [2:0] _T_969; // @[Arbiter.scala 22:52:shc.marmotcaravel.MarmotCaravelConfig.fir@198341.4]
+  wire [3:0] _GEN_2; // @[Arbiter.scala 22:66:shc.marmotcaravel.MarmotCaravelConfig.fir@198342.4]
+  wire [3:0] _T_970; // @[Arbiter.scala 22:66:shc.marmotcaravel.MarmotCaravelConfig.fir@198342.4]
+  wire [3:0] _GEN_3; // @[Arbiter.scala 22:58:shc.marmotcaravel.MarmotCaravelConfig.fir@198343.4]
+  wire [3:0] _T_971; // @[Arbiter.scala 22:58:shc.marmotcaravel.MarmotCaravelConfig.fir@198343.4]
+  wire [1:0] _T_972; // @[Arbiter.scala 23:29:shc.marmotcaravel.MarmotCaravelConfig.fir@198344.4]
+  wire [1:0] _T_973; // @[Arbiter.scala 23:48:shc.marmotcaravel.MarmotCaravelConfig.fir@198345.4]
+  wire [1:0] _T_974; // @[Arbiter.scala 23:39:shc.marmotcaravel.MarmotCaravelConfig.fir@198346.4]
+  wire [1:0] _T_975; // @[Arbiter.scala 23:18:shc.marmotcaravel.MarmotCaravelConfig.fir@198347.4]
+  wire  _T_984; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198359.4]
+  wire  _T_994; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@198365.4]
+  reg  _T_1047_0; // @[Arbiter.scala 78:26:shc.marmotcaravel.MarmotCaravelConfig.fir@198411.4]
+  reg [31:0] _RAND_2;
+  wire  _T_1058_0; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@198412.4]
+  wire [4:0] _T_1089; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198431.4]
+  wire [3:0] _T_1088; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198430.4]
+  wire [8:0] _T_1090; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198432.4]
+  wire [32:0] _T_1085; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198427.4]
+  wire [34:0] _T_1087; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198429.4]
+  wire [43:0] _T_1091; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198433.4]
+  wire [43:0] _T_1092; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198434.4]
+  wire  _T_985; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198360.4]
+  wire  _T_995; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@198366.4]
+  reg  _T_1047_1; // @[Arbiter.scala 78:26:shc.marmotcaravel.MarmotCaravelConfig.fir@198411.4]
+  reg [31:0] _RAND_3;
+  wire  _T_1058_1; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@198412.4]
+  wire [4:0] _T_1097; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198439.4]
+  wire [3:0] _T_1096; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198438.4]
+  wire [8:0] _T_1098; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198440.4]
+  wire [32:0] _T_1093; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198435.4]
+  wire [34:0] _T_1095; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198437.4]
+  wire [43:0] _T_1099; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198441.4]
+  wire [43:0] _T_1100; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198442.4]
+  wire [43:0] _T_1101; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198443.4]
+  wire [32:0] _T_679; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@198137.4]
+  wire [32:0] _T_680; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@198138.4]
+  wire [32:0] _T_681; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@198139.4]
+  wire  requestAIO_0_0; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@198140.4]
+  wire [31:0] _T_683; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@198142.4]
+  wire [32:0] _T_684; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@198143.4]
+  wire [32:0] _T_685; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@198144.4]
+  wire [32:0] _T_686; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@198145.4]
+  wire  requestAIO_0_1; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@198146.4]
+  wire [12:0] _T_754; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@198224.4]
+  wire [5:0] _T_755; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@198225.4]
+  wire [5:0] _T_756; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@198226.4]
+  wire [3:0] _T_757; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@198227.4]
+  wire  _T_758; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@198228.4]
+  wire [3:0] beatsDO_0; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@198229.4]
+  wire [12:0] _T_760; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@198231.4]
+  wire [5:0] _T_761; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@198232.4]
+  wire [5:0] _T_762; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@198233.4]
+  wire [3:0] _T_763; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@198234.4]
+  wire  _T_764; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@198235.4]
+  wire [3:0] beatsDO_1; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@198236.4]
+  wire  _T_795; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198247.4]
+  wire  _T_796; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198248.4]
+  wire  _T_953; // @[Arbiter.scala 55:24:shc.marmotcaravel.MarmotCaravelConfig.fir@198322.4]
+  wire  _T_956; // @[Arbiter.scala 19:19:shc.marmotcaravel.MarmotCaravelConfig.fir@198325.4]
+  wire  _T_958; // @[Arbiter.scala 19:12:shc.marmotcaravel.MarmotCaravelConfig.fir@198327.4]
+  wire  _T_959; // @[Arbiter.scala 19:12:shc.marmotcaravel.MarmotCaravelConfig.fir@198328.4]
+  wire  _T_976; // @[Arbiter.scala 24:27:shc.marmotcaravel.MarmotCaravelConfig.fir@198348.4]
+  wire  _T_977; // @[Arbiter.scala 24:18:shc.marmotcaravel.MarmotCaravelConfig.fir@198349.4]
+  wire [1:0] _T_978; // @[Arbiter.scala 25:29:shc.marmotcaravel.MarmotCaravelConfig.fir@198351.6]
+  wire [2:0] _GEN_4; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@198352.6]
+  wire [2:0] _T_979; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@198352.6]
+  wire [1:0] _T_980; // @[package.scala 194:53:shc.marmotcaravel.MarmotCaravelConfig.fir@198353.6]
+  wire [1:0] _T_981; // @[package.scala 194:43:shc.marmotcaravel.MarmotCaravelConfig.fir@198354.6]
+  wire  _T_1005; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@198372.4]
+  wire  _T_1007; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@198374.4]
+  wire  _T_1010; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@198377.4]
+  wire  _T_1011; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@198378.4]
+  wire  _T_1014; // @[Arbiter.scala 68:13:shc.marmotcaravel.MarmotCaravelConfig.fir@198381.4]
+  wire  _T_1015; // @[Arbiter.scala 68:13:shc.marmotcaravel.MarmotCaravelConfig.fir@198382.4]
+  wire  _T_1016; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@198387.4]
+  wire  _T_1017; // @[Arbiter.scala 70:15:shc.marmotcaravel.MarmotCaravelConfig.fir@198388.4]
+  wire  _T_1019; // @[Arbiter.scala 70:36:shc.marmotcaravel.MarmotCaravelConfig.fir@198390.4]
+  wire  _T_1021; // @[Arbiter.scala 70:14:shc.marmotcaravel.MarmotCaravelConfig.fir@198392.4]
+  wire  _T_1022; // @[Arbiter.scala 70:14:shc.marmotcaravel.MarmotCaravelConfig.fir@198393.4]
+  wire [3:0] _T_1023; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@198398.4]
+  wire [3:0] _T_1024; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@198399.4]
+  wire [3:0] _T_1025; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@198400.4]
+  wire  _T_1078; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198420.4]
+  wire  _T_1079; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198421.4]
+  wire  _T_1080; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198422.4]
+  wire  in_0_d_valid; // @[Arbiter.scala 86:24:shc.marmotcaravel.MarmotCaravelConfig.fir@198425.4]
+  wire  _T_1026; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@198401.4]
+  wire [3:0] _GEN_5; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@198402.4]
+  wire [4:0] _T_1027; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@198402.4]
+  wire [4:0] _T_1028; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@198403.4]
+  wire [3:0] _T_1029; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@198404.4]
+  wire  _T_1066_0; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@198414.4]
+  wire  _T_1066_1; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@198414.4]
+  assign _T_952 = _T_951 == 4'h0; // @[Arbiter.scala 54:28:shc.marmotcaravel.MarmotCaravelConfig.fir@198321.4]
+  assign _T_954 = {auto_out_1_d_valid,auto_out_0_d_valid}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@198323.4]
+  assign _T_963 = ~ _T_962; // @[Arbiter.scala 21:30:shc.marmotcaravel.MarmotCaravelConfig.fir@198335.4]
+  assign _T_964 = _T_954 & _T_963; // @[Arbiter.scala 21:28:shc.marmotcaravel.MarmotCaravelConfig.fir@198336.4]
+  assign _T_965 = {_T_964,_T_954}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@198337.4]
+  assign _T_966 = _T_965[3:1]; // @[package.scala 203:48:shc.marmotcaravel.MarmotCaravelConfig.fir@198338.4]
+  assign _GEN_1 = {{1'd0}, _T_966}; // @[package.scala 203:43:shc.marmotcaravel.MarmotCaravelConfig.fir@198339.4]
+  assign _T_967 = _T_965 | _GEN_1; // @[package.scala 203:43:shc.marmotcaravel.MarmotCaravelConfig.fir@198339.4]
+  assign _T_969 = _T_967[3:1]; // @[Arbiter.scala 22:52:shc.marmotcaravel.MarmotCaravelConfig.fir@198341.4]
+  assign _GEN_2 = {{2'd0}, _T_962}; // @[Arbiter.scala 22:66:shc.marmotcaravel.MarmotCaravelConfig.fir@198342.4]
+  assign _T_970 = _GEN_2 << 2; // @[Arbiter.scala 22:66:shc.marmotcaravel.MarmotCaravelConfig.fir@198342.4]
+  assign _GEN_3 = {{1'd0}, _T_969}; // @[Arbiter.scala 22:58:shc.marmotcaravel.MarmotCaravelConfig.fir@198343.4]
+  assign _T_971 = _GEN_3 | _T_970; // @[Arbiter.scala 22:58:shc.marmotcaravel.MarmotCaravelConfig.fir@198343.4]
+  assign _T_972 = _T_971[3:2]; // @[Arbiter.scala 23:29:shc.marmotcaravel.MarmotCaravelConfig.fir@198344.4]
+  assign _T_973 = _T_971[1:0]; // @[Arbiter.scala 23:48:shc.marmotcaravel.MarmotCaravelConfig.fir@198345.4]
+  assign _T_974 = _T_972 & _T_973; // @[Arbiter.scala 23:39:shc.marmotcaravel.MarmotCaravelConfig.fir@198346.4]
+  assign _T_975 = ~ _T_974; // @[Arbiter.scala 23:18:shc.marmotcaravel.MarmotCaravelConfig.fir@198347.4]
+  assign _T_984 = _T_975[0]; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198359.4]
+  assign _T_994 = _T_984 & auto_out_0_d_valid; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@198365.4]
+  assign _T_1058_0 = _T_952 ? _T_994 : _T_1047_0; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@198412.4]
+  assign _T_1089 = {auto_out_0_d_bits_opcode,2'h0}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198431.4]
+  assign _T_1088 = {auto_out_0_d_bits_size,auto_out_0_d_bits_source}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198430.4]
+  assign _T_1090 = {_T_1089,_T_1088}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198432.4]
+  assign _T_1085 = {auto_out_0_d_bits_data,1'h0}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198427.4]
+  assign _T_1087 = {2'h0,_T_1085}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198429.4]
+  assign _T_1091 = {_T_1090,_T_1087}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198433.4]
+  assign _T_1092 = _T_1058_0 ? _T_1091 : 44'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198434.4]
+  assign _T_985 = _T_975[1]; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198360.4]
+  assign _T_995 = _T_985 & auto_out_1_d_valid; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@198366.4]
+  assign _T_1058_1 = _T_952 ? _T_995 : _T_1047_1; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@198412.4]
+  assign _T_1097 = {auto_out_1_d_bits_opcode,2'h0}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198439.4]
+  assign _T_1096 = {auto_out_1_d_bits_size,auto_out_1_d_bits_source}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198438.4]
+  assign _T_1098 = {_T_1097,_T_1096}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198440.4]
+  assign _T_1093 = {auto_out_1_d_bits_data,1'h0}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198435.4]
+  assign _T_1095 = {2'h0,_T_1093}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198437.4]
+  assign _T_1099 = {_T_1098,_T_1095}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198441.4]
+  assign _T_1100 = _T_1058_1 ? _T_1099 : 44'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198442.4]
+  assign _T_1101 = _T_1092 | _T_1100; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198443.4]
+  assign _T_679 = {1'b0,$signed(auto_in_a_bits_address)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@198137.4]
+  assign _T_680 = $signed(_T_679) & $signed(33'sh80000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@198138.4]
+  assign _T_681 = $signed(_T_680); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@198139.4]
+  assign requestAIO_0_0 = $signed(_T_681) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@198140.4]
+  assign _T_683 = auto_in_a_bits_address ^ 32'h80000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@198142.4]
+  assign _T_684 = {1'b0,$signed(_T_683)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@198143.4]
+  assign _T_685 = $signed(_T_684) & $signed(33'sh80000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@198144.4]
+  assign _T_686 = $signed(_T_685); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@198145.4]
+  assign requestAIO_0_1 = $signed(_T_686) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@198146.4]
+  assign _T_754 = 13'h3f << auto_out_0_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@198224.4]
+  assign _T_755 = _T_754[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@198225.4]
+  assign _T_756 = ~ _T_755; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@198226.4]
+  assign _T_757 = _T_756[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@198227.4]
+  assign _T_758 = auto_out_0_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@198228.4]
+  assign beatsDO_0 = _T_758 ? _T_757 : 4'h0; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@198229.4]
+  assign _T_760 = 13'h3f << auto_out_1_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@198231.4]
+  assign _T_761 = _T_760[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@198232.4]
+  assign _T_762 = ~ _T_761; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@198233.4]
+  assign _T_763 = _T_762[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@198234.4]
+  assign _T_764 = auto_out_1_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@198235.4]
+  assign beatsDO_1 = _T_764 ? _T_763 : 4'h0; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@198236.4]
+  assign _T_795 = requestAIO_0_0 ? auto_out_0_a_ready : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198247.4]
+  assign _T_796 = requestAIO_0_1 ? auto_out_1_a_ready : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198248.4]
+  assign _T_953 = _T_952 & auto_in_d_ready; // @[Arbiter.scala 55:24:shc.marmotcaravel.MarmotCaravelConfig.fir@198322.4]
+  assign _T_956 = _T_954 == _T_954; // @[Arbiter.scala 19:19:shc.marmotcaravel.MarmotCaravelConfig.fir@198325.4]
+  assign _T_958 = _T_956 | reset; // @[Arbiter.scala 19:12:shc.marmotcaravel.MarmotCaravelConfig.fir@198327.4]
+  assign _T_959 = _T_958 == 1'h0; // @[Arbiter.scala 19:12:shc.marmotcaravel.MarmotCaravelConfig.fir@198328.4]
+  assign _T_976 = _T_954 != 2'h0; // @[Arbiter.scala 24:27:shc.marmotcaravel.MarmotCaravelConfig.fir@198348.4]
+  assign _T_977 = _T_953 & _T_976; // @[Arbiter.scala 24:18:shc.marmotcaravel.MarmotCaravelConfig.fir@198349.4]
+  assign _T_978 = _T_975 & _T_954; // @[Arbiter.scala 25:29:shc.marmotcaravel.MarmotCaravelConfig.fir@198351.6]
+  assign _GEN_4 = {{1'd0}, _T_978}; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@198352.6]
+  assign _T_979 = _GEN_4 << 1; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@198352.6]
+  assign _T_980 = _T_979[1:0]; // @[package.scala 194:53:shc.marmotcaravel.MarmotCaravelConfig.fir@198353.6]
+  assign _T_981 = _T_978 | _T_980; // @[package.scala 194:43:shc.marmotcaravel.MarmotCaravelConfig.fir@198354.6]
+  assign _T_1005 = _T_994 | _T_995; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@198372.4]
+  assign _T_1007 = _T_994 == 1'h0; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@198374.4]
+  assign _T_1010 = _T_995 == 1'h0; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@198377.4]
+  assign _T_1011 = _T_1007 | _T_1010; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@198378.4]
+  assign _T_1014 = _T_1011 | reset; // @[Arbiter.scala 68:13:shc.marmotcaravel.MarmotCaravelConfig.fir@198381.4]
+  assign _T_1015 = _T_1014 == 1'h0; // @[Arbiter.scala 68:13:shc.marmotcaravel.MarmotCaravelConfig.fir@198382.4]
+  assign _T_1016 = auto_out_0_d_valid | auto_out_1_d_valid; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@198387.4]
+  assign _T_1017 = _T_1016 == 1'h0; // @[Arbiter.scala 70:15:shc.marmotcaravel.MarmotCaravelConfig.fir@198388.4]
+  assign _T_1019 = _T_1017 | _T_1005; // @[Arbiter.scala 70:36:shc.marmotcaravel.MarmotCaravelConfig.fir@198390.4]
+  assign _T_1021 = _T_1019 | reset; // @[Arbiter.scala 70:14:shc.marmotcaravel.MarmotCaravelConfig.fir@198392.4]
+  assign _T_1022 = _T_1021 == 1'h0; // @[Arbiter.scala 70:14:shc.marmotcaravel.MarmotCaravelConfig.fir@198393.4]
+  assign _T_1023 = _T_994 ? beatsDO_0 : 4'h0; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@198398.4]
+  assign _T_1024 = _T_995 ? beatsDO_1 : 4'h0; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@198399.4]
+  assign _T_1025 = _T_1023 | _T_1024; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@198400.4]
+  assign _T_1078 = _T_1047_0 ? auto_out_0_d_valid : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198420.4]
+  assign _T_1079 = _T_1047_1 ? auto_out_1_d_valid : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198421.4]
+  assign _T_1080 = _T_1078 | _T_1079; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198422.4]
+  assign in_0_d_valid = _T_952 ? _T_1016 : _T_1080; // @[Arbiter.scala 86:24:shc.marmotcaravel.MarmotCaravelConfig.fir@198425.4]
+  assign _T_1026 = auto_in_d_ready & in_0_d_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@198401.4]
+  assign _GEN_5 = {{3'd0}, _T_1026}; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@198402.4]
+  assign _T_1027 = _T_951 - _GEN_5; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@198402.4]
+  assign _T_1028 = $unsigned(_T_1027); // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@198403.4]
+  assign _T_1029 = _T_1028[3:0]; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@198404.4]
+  assign _T_1066_0 = _T_952 ? _T_984 : _T_1047_0; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@198414.4]
+  assign _T_1066_1 = _T_952 ? _T_985 : _T_1047_1; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@198414.4]
+  assign auto_in_a_ready = _T_795 | _T_796; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@198099.4]
+  assign auto_in_d_valid = _T_952 ? _T_1016 : _T_1080; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@198099.4]
+  assign auto_in_d_bits_opcode = _T_1101[43:41]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@198099.4]
+  assign auto_in_d_bits_param = _T_1101[40:39]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@198099.4]
+  assign auto_in_d_bits_size = _T_1101[38:36]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@198099.4]
+  assign auto_in_d_bits_source = _T_1101[35]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@198099.4]
+  assign auto_in_d_bits_sink = _T_1101[34]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@198099.4]
+  assign auto_in_d_bits_denied = _T_1101[33]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@198099.4]
+  assign auto_in_d_bits_data = _T_1101[32:1]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@198099.4]
+  assign auto_in_d_bits_corrupt = _T_1101[0]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@198099.4]
+  assign auto_out_1_a_valid = auto_in_a_valid & requestAIO_0_1; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@198098.4]
+  assign auto_out_1_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@198098.4]
+  assign auto_out_1_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@198098.4]
+  assign auto_out_1_a_bits_size = auto_in_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@198098.4]
+  assign auto_out_1_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@198098.4]
+  assign auto_out_1_a_bits_address = auto_in_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@198098.4]
+  assign auto_out_1_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@198098.4]
+  assign auto_out_1_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@198098.4]
+  assign auto_out_1_d_ready = auto_in_d_ready & _T_1066_1; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@198098.4]
+  assign auto_out_0_a_valid = auto_in_a_valid & requestAIO_0_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@198097.4]
+  assign auto_out_0_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@198097.4]
+  assign auto_out_0_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@198097.4]
+  assign auto_out_0_a_bits_size = auto_in_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@198097.4]
+  assign auto_out_0_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@198097.4]
+  assign auto_out_0_a_bits_address = auto_in_a_bits_address[27:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@198097.4]
+  assign auto_out_0_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@198097.4]
+  assign auto_out_0_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@198097.4]
+  assign auto_out_0_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@198097.4]
+  assign auto_out_0_d_ready = auto_in_d_ready & _T_1066_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@198097.4]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  _T_951 = _RAND_0[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  _T_962 = _RAND_1[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  _T_1047_0 = _RAND_2[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  _T_1047_1 = _RAND_3[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      _T_951 <= 4'h0;
+    end else begin
+      if (_T_953) begin
+        _T_951 <= _T_1025;
+      end else begin
+        _T_951 <= _T_1029;
+      end
+    end
+    if (reset) begin
+      _T_962 <= 2'h3;
+    end else begin
+      if (_T_977) begin
+        _T_962 <= _T_981;
+      end
+    end
+    if (reset) begin
+      _T_1047_0 <= 1'h0;
+    end else begin
+      if (_T_952) begin
+        _T_1047_0 <= _T_994;
+      end
+    end
+    if (reset) begin
+      _T_1047_1 <= 1'h0;
+    end else begin
+      if (_T_952) begin
+        _T_1047_1 <= _T_995;
+      end
+    end
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_959) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at Arbiter.scala:19 assert (valid === valids)\n"); // @[Arbiter.scala 19:12:shc.marmotcaravel.MarmotCaravelConfig.fir@198330.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_959) begin
+          $fatal; // @[Arbiter.scala 19:12:shc.marmotcaravel.MarmotCaravelConfig.fir@198331.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1015) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at Arbiter.scala:68 assert((prefixOR zip winner) map { case (p,w) => !p || !w } reduce {_ && _})\n"); // @[Arbiter.scala 68:13:shc.marmotcaravel.MarmotCaravelConfig.fir@198384.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1015) begin
+          $fatal; // @[Arbiter.scala 68:13:shc.marmotcaravel.MarmotCaravelConfig.fir@198385.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1022) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at Arbiter.scala:70 assert (!valids.reduce(_||_) || winner.reduce(_||_))\n"); // @[Arbiter.scala 70:14:shc.marmotcaravel.MarmotCaravelConfig.fir@198395.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1022) begin
+          $fatal; // @[Arbiter.scala 70:14:shc.marmotcaravel.MarmotCaravelConfig.fir@198396.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+endmodule
+module IntXbar_1( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198465.2]
+  input   auto_int_in_2_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198468.4]
+  input   auto_int_in_1_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198468.4]
+  input   auto_int_in_1_1, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198468.4]
+  input   auto_int_in_0_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198468.4]
+  output  auto_int_out_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198468.4]
+  output  auto_int_out_1, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198468.4]
+  output  auto_int_out_2, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198468.4]
+  output  auto_int_out_3 // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198468.4]
+);
+  assign auto_int_out_0 = auto_int_in_0_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@198481.4]
+  assign auto_int_out_1 = auto_int_in_1_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@198481.4]
+  assign auto_int_out_2 = auto_int_in_1_1; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@198481.4]
+  assign auto_int_out_3 = auto_int_in_2_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@198481.4]
+endmodule
+module Arbiter( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198490.2]
+  input         io_in_0_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198493.4]
+  input  [31:0] io_in_0_bits_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198493.4]
+  input         io_in_2_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198493.4]
+  input  [31:0] io_in_2_bits_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198493.4]
+  input         io_in_3_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198493.4]
+  input  [31:0] io_in_3_bits_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198493.4]
+  output        io_in_4_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198493.4]
+  input         io_in_4_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198493.4]
+  input  [31:0] io_in_4_bits_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198493.4]
+  output        io_in_5_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198493.4]
+  input         io_in_5_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198493.4]
+  input  [31:0] io_in_5_bits_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198493.4]
+  input  [7:0]  io_in_5_bits_idx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198493.4]
+  output        io_in_7_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198493.4]
+  input         io_in_7_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198493.4]
+  input  [31:0] io_in_7_bits_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198493.4]
+  input         io_out_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198493.4]
+  output        io_out_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198493.4]
+  output        io_out_bits_write, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198493.4]
+  output [31:0] io_out_bits_addr // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198493.4]
+);
+  wire [31:0] _GEN_16; // @[Arbiter.scala 126:27:shc.marmotcaravel.MarmotCaravelConfig.fir@198517.4]
+  wire [31:0] _GEN_22; // @[Arbiter.scala 126:27:shc.marmotcaravel.MarmotCaravelConfig.fir@198525.4]
+  wire  _GEN_23; // @[Arbiter.scala 126:27:shc.marmotcaravel.MarmotCaravelConfig.fir@198525.4]
+  wire [31:0] _GEN_28; // @[Arbiter.scala 126:27:shc.marmotcaravel.MarmotCaravelConfig.fir@198533.4]
+  wire  _GEN_29; // @[Arbiter.scala 126:27:shc.marmotcaravel.MarmotCaravelConfig.fir@198533.4]
+  wire  _T_210; // @[Arbiter.scala 31:68:shc.marmotcaravel.MarmotCaravelConfig.fir@198558.4]
+  wire  _T_211; // @[Arbiter.scala 31:68:shc.marmotcaravel.MarmotCaravelConfig.fir@198559.4]
+  wire  _T_212; // @[Arbiter.scala 31:68:shc.marmotcaravel.MarmotCaravelConfig.fir@198560.4]
+  wire  _T_218; // @[Arbiter.scala 31:78:shc.marmotcaravel.MarmotCaravelConfig.fir@198566.4]
+  wire  _T_219; // @[Arbiter.scala 31:78:shc.marmotcaravel.MarmotCaravelConfig.fir@198567.4]
+  wire  _T_230; // @[Arbiter.scala 135:19:shc.marmotcaravel.MarmotCaravelConfig.fir@198586.4]
+  assign _GEN_16 = io_in_4_valid ? io_in_4_bits_addr : io_in_7_bits_addr; // @[Arbiter.scala 126:27:shc.marmotcaravel.MarmotCaravelConfig.fir@198517.4]
+  assign _GEN_22 = io_in_3_valid ? io_in_3_bits_addr : _GEN_16; // @[Arbiter.scala 126:27:shc.marmotcaravel.MarmotCaravelConfig.fir@198525.4]
+  assign _GEN_23 = io_in_3_valid ? 1'h1 : io_in_4_valid; // @[Arbiter.scala 126:27:shc.marmotcaravel.MarmotCaravelConfig.fir@198525.4]
+  assign _GEN_28 = io_in_2_valid ? io_in_2_bits_addr : _GEN_22; // @[Arbiter.scala 126:27:shc.marmotcaravel.MarmotCaravelConfig.fir@198533.4]
+  assign _GEN_29 = io_in_2_valid ? 1'h1 : _GEN_23; // @[Arbiter.scala 126:27:shc.marmotcaravel.MarmotCaravelConfig.fir@198533.4]
+  assign _T_210 = io_in_0_valid | io_in_2_valid; // @[Arbiter.scala 31:68:shc.marmotcaravel.MarmotCaravelConfig.fir@198558.4]
+  assign _T_211 = _T_210 | io_in_3_valid; // @[Arbiter.scala 31:68:shc.marmotcaravel.MarmotCaravelConfig.fir@198559.4]
+  assign _T_212 = _T_211 | io_in_4_valid; // @[Arbiter.scala 31:68:shc.marmotcaravel.MarmotCaravelConfig.fir@198560.4]
+  assign _T_218 = _T_211 == 1'h0; // @[Arbiter.scala 31:78:shc.marmotcaravel.MarmotCaravelConfig.fir@198566.4]
+  assign _T_219 = _T_212 == 1'h0; // @[Arbiter.scala 31:78:shc.marmotcaravel.MarmotCaravelConfig.fir@198567.4]
+  assign _T_230 = _T_219 == 1'h0; // @[Arbiter.scala 135:19:shc.marmotcaravel.MarmotCaravelConfig.fir@198586.4]
+  assign io_in_4_ready = _T_218 & io_out_ready; // @[Arbiter.scala 134:14:shc.marmotcaravel.MarmotCaravelConfig.fir@198579.4]
+  assign io_in_5_ready = _T_219 & io_out_ready; // @[Arbiter.scala 134:14:shc.marmotcaravel.MarmotCaravelConfig.fir@198581.4]
+  assign io_in_7_ready = _T_219 & io_out_ready; // @[Arbiter.scala 134:14:shc.marmotcaravel.MarmotCaravelConfig.fir@198585.4]
+  assign io_out_valid = _T_230 | io_in_7_valid; // @[Arbiter.scala 135:16:shc.marmotcaravel.MarmotCaravelConfig.fir@198588.4]
+  assign io_out_bits_write = io_in_0_valid ? 1'h1 : _GEN_29; // @[Arbiter.scala 124:15:shc.marmotcaravel.MarmotCaravelConfig.fir@198500.4 Arbiter.scala 128:19:shc.marmotcaravel.MarmotCaravelConfig.fir@198507.6 Arbiter.scala 128:19:shc.marmotcaravel.MarmotCaravelConfig.fir@198515.6 Arbiter.scala 128:19:shc.marmotcaravel.MarmotCaravelConfig.fir@198523.6 Arbiter.scala 128:19:shc.marmotcaravel.MarmotCaravelConfig.fir@198531.6 Arbiter.scala 128:19:shc.marmotcaravel.MarmotCaravelConfig.fir@198539.6 Arbiter.scala 128:19:shc.marmotcaravel.MarmotCaravelConfig.fir@198547.6 Arbiter.scala 128:19:shc.marmotcaravel.MarmotCaravelConfig.fir@198555.6]
+  assign io_out_bits_addr = io_in_0_valid ? io_in_0_bits_addr : _GEN_28; // @[Arbiter.scala 124:15:shc.marmotcaravel.MarmotCaravelConfig.fir@198499.4 Arbiter.scala 128:19:shc.marmotcaravel.MarmotCaravelConfig.fir@198506.6 Arbiter.scala 128:19:shc.marmotcaravel.MarmotCaravelConfig.fir@198514.6 Arbiter.scala 128:19:shc.marmotcaravel.MarmotCaravelConfig.fir@198522.6 Arbiter.scala 128:19:shc.marmotcaravel.MarmotCaravelConfig.fir@198530.6 Arbiter.scala 128:19:shc.marmotcaravel.MarmotCaravelConfig.fir@198538.6 Arbiter.scala 128:19:shc.marmotcaravel.MarmotCaravelConfig.fir@198546.6 Arbiter.scala 128:19:shc.marmotcaravel.MarmotCaravelConfig.fir@198554.6]
+endmodule
+module DCacheDataArray( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198590.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198591.4]
+  input         io_req_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198593.4]
+  input  [13:0] io_req_bits_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198593.4]
+  input         io_req_bits_write, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198593.4]
+  input  [31:0] io_req_bits_wdata, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198593.4]
+  input  [3:0]  io_req_bits_eccMask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198593.4]
+  output [31:0] io_resp_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198593.4]
+  output [11:0] data_arrays_0_ext_RW0_addr,
+  output  data_arrays_0_ext_RW0_en,
+  output  data_arrays_0_ext_RW0_clk,
+  output  data_arrays_0_ext_RW0_wmode,
+  output [31:0] data_arrays_0_ext_RW0_wdata,
+  input  [31:0] data_arrays_0_ext_RW0_rdata,
+  output [3:0] data_arrays_0_ext_RW0_wmask
+);
+  wire [11:0] data_arrays_0_RW0_addr; // @[DescribedSRAM.scala 23:21:shc.marmotcaravel.MarmotCaravelConfig.fir@198604.4]
+  wire  data_arrays_0_RW0_en; // @[DescribedSRAM.scala 23:21:shc.marmotcaravel.MarmotCaravelConfig.fir@198604.4]
+  wire  data_arrays_0_RW0_clk; // @[DescribedSRAM.scala 23:21:shc.marmotcaravel.MarmotCaravelConfig.fir@198604.4]
+  wire  data_arrays_0_RW0_wmode; // @[DescribedSRAM.scala 23:21:shc.marmotcaravel.MarmotCaravelConfig.fir@198604.4]
+  wire [7:0] data_arrays_0_RW0_wdata_0; // @[DescribedSRAM.scala 23:21:shc.marmotcaravel.MarmotCaravelConfig.fir@198604.4]
+  wire [7:0] data_arrays_0_RW0_wdata_1; // @[DescribedSRAM.scala 23:21:shc.marmotcaravel.MarmotCaravelConfig.fir@198604.4]
+  wire [7:0] data_arrays_0_RW0_wdata_2; // @[DescribedSRAM.scala 23:21:shc.marmotcaravel.MarmotCaravelConfig.fir@198604.4]
+  wire [7:0] data_arrays_0_RW0_wdata_3; // @[DescribedSRAM.scala 23:21:shc.marmotcaravel.MarmotCaravelConfig.fir@198604.4]
+  wire [7:0] data_arrays_0_RW0_rdata_0; // @[DescribedSRAM.scala 23:21:shc.marmotcaravel.MarmotCaravelConfig.fir@198604.4]
+  wire [7:0] data_arrays_0_RW0_rdata_1; // @[DescribedSRAM.scala 23:21:shc.marmotcaravel.MarmotCaravelConfig.fir@198604.4]
+  wire [7:0] data_arrays_0_RW0_rdata_2; // @[DescribedSRAM.scala 23:21:shc.marmotcaravel.MarmotCaravelConfig.fir@198604.4]
+  wire [7:0] data_arrays_0_RW0_rdata_3; // @[DescribedSRAM.scala 23:21:shc.marmotcaravel.MarmotCaravelConfig.fir@198604.4]
+  wire  data_arrays_0_RW0_wmask_0; // @[DescribedSRAM.scala 23:21:shc.marmotcaravel.MarmotCaravelConfig.fir@198604.4]
+  wire  data_arrays_0_RW0_wmask_1; // @[DescribedSRAM.scala 23:21:shc.marmotcaravel.MarmotCaravelConfig.fir@198604.4]
+  wire  data_arrays_0_RW0_wmask_2; // @[DescribedSRAM.scala 23:21:shc.marmotcaravel.MarmotCaravelConfig.fir@198604.4]
+  wire  data_arrays_0_RW0_wmask_3; // @[DescribedSRAM.scala 23:21:shc.marmotcaravel.MarmotCaravelConfig.fir@198604.4]
+  wire  _T_27; // @[DCache.scala 57:17:shc.marmotcaravel.MarmotCaravelConfig.fir@198608.4]
+  wire  _T_54; // @[DCache.scala 61:42:shc.marmotcaravel.MarmotCaravelConfig.fir@198634.4]
+  wire  _T_55; // @[DCache.scala 61:39:shc.marmotcaravel.MarmotCaravelConfig.fir@198635.4]
+  wire [15:0] _T_72; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@198645.4]
+  wire [15:0] _T_73; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@198646.4]
+  data_arrays_0 data_arrays_0 ( // @[DescribedSRAM.scala 23:21:shc.marmotcaravel.MarmotCaravelConfig.fir@198604.4]
+    .RW0_addr(data_arrays_0_RW0_addr),
+    .RW0_en(data_arrays_0_RW0_en),
+    .RW0_clk(data_arrays_0_RW0_clk),
+    .RW0_wmode(data_arrays_0_RW0_wmode),
+    .RW0_wdata_0(data_arrays_0_RW0_wdata_0),
+    .RW0_wdata_1(data_arrays_0_RW0_wdata_1),
+    .RW0_wdata_2(data_arrays_0_RW0_wdata_2),
+    .RW0_wdata_3(data_arrays_0_RW0_wdata_3),
+    .RW0_rdata_0(data_arrays_0_RW0_rdata_0),
+    .RW0_rdata_1(data_arrays_0_RW0_rdata_1),
+    .RW0_rdata_2(data_arrays_0_RW0_rdata_2),
+    .RW0_rdata_3(data_arrays_0_RW0_rdata_3),
+    .RW0_wmask_0(data_arrays_0_RW0_wmask_0),
+    .RW0_wmask_1(data_arrays_0_RW0_wmask_1),
+    .RW0_wmask_2(data_arrays_0_RW0_wmask_2),
+    .RW0_wmask_3(data_arrays_0_RW0_wmask_3),
+    .data_arrays_0_ext_RW0_addr(data_arrays_0_ext_RW0_addr),
+    .data_arrays_0_ext_RW0_en(data_arrays_0_ext_RW0_en),
+    .data_arrays_0_ext_RW0_clk(data_arrays_0_ext_RW0_clk),
+    .data_arrays_0_ext_RW0_wmode(data_arrays_0_ext_RW0_wmode),
+    .data_arrays_0_ext_RW0_wdata(data_arrays_0_ext_RW0_wdata),
+    .data_arrays_0_ext_RW0_rdata(data_arrays_0_ext_RW0_rdata),
+    .data_arrays_0_ext_RW0_wmask(data_arrays_0_ext_RW0_wmask)
+  );
+  assign _T_27 = io_req_valid & io_req_bits_write; // @[DCache.scala 57:17:shc.marmotcaravel.MarmotCaravelConfig.fir@198608.4]
+  assign _T_54 = io_req_bits_write == 1'h0; // @[DCache.scala 61:42:shc.marmotcaravel.MarmotCaravelConfig.fir@198634.4]
+  assign _T_55 = io_req_valid & _T_54; // @[DCache.scala 61:39:shc.marmotcaravel.MarmotCaravelConfig.fir@198635.4]
+  assign _T_72 = {data_arrays_0_RW0_rdata_1,data_arrays_0_RW0_rdata_0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@198645.4]
+  assign _T_73 = {data_arrays_0_RW0_rdata_3,data_arrays_0_RW0_rdata_2}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@198646.4]
+  assign io_resp_0 = {_T_73,_T_72}; // @[DCache.scala 64:69:shc.marmotcaravel.MarmotCaravelConfig.fir@198648.4]
+  assign data_arrays_0_RW0_wdata_0 = io_req_bits_wdata[7:0]; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198622.8]
+  assign data_arrays_0_RW0_wdata_1 = io_req_bits_wdata[15:8]; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198625.8]
+  assign data_arrays_0_RW0_wdata_2 = io_req_bits_wdata[23:16]; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198628.8]
+  assign data_arrays_0_RW0_wdata_3 = io_req_bits_wdata[31:24]; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198631.8]
+  assign data_arrays_0_RW0_wmask_0 = io_req_bits_eccMask[0]; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198620.6 :shc.marmotcaravel.MarmotCaravelConfig.fir@198622.8]
+  assign data_arrays_0_RW0_wmask_1 = io_req_bits_eccMask[1]; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198620.6 :shc.marmotcaravel.MarmotCaravelConfig.fir@198625.8]
+  assign data_arrays_0_RW0_wmask_2 = io_req_bits_eccMask[2]; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198620.6 :shc.marmotcaravel.MarmotCaravelConfig.fir@198628.8]
+  assign data_arrays_0_RW0_wmask_3 = io_req_bits_eccMask[3]; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198620.6 :shc.marmotcaravel.MarmotCaravelConfig.fir@198631.8]
+  assign data_arrays_0_RW0_wmode = io_req_bits_write;
+  assign data_arrays_0_RW0_clk = clock;
+  assign data_arrays_0_RW0_en = _T_55 | _T_27;
+  assign data_arrays_0_RW0_addr = io_req_bits_addr[13:2];
+endmodule
+module Arbiter_1( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198650.2]
+  input         io_in_0_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198653.4]
+  input  [13:0] io_in_0_bits_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198653.4]
+  input         io_in_0_bits_write, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198653.4]
+  input  [31:0] io_in_0_bits_wdata, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198653.4]
+  input  [3:0]  io_in_0_bits_eccMask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198653.4]
+  output        io_in_1_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198653.4]
+  input         io_in_1_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198653.4]
+  input  [13:0] io_in_1_bits_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198653.4]
+  input         io_in_1_bits_write, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198653.4]
+  input  [31:0] io_in_1_bits_wdata, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198653.4]
+  input  [3:0]  io_in_1_bits_eccMask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198653.4]
+  output        io_in_2_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198653.4]
+  input         io_in_2_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198653.4]
+  input  [13:0] io_in_2_bits_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198653.4]
+  input  [31:0] io_in_2_bits_wdata, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198653.4]
+  input  [3:0]  io_in_2_bits_eccMask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198653.4]
+  output        io_in_3_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198653.4]
+  input         io_in_3_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198653.4]
+  input  [13:0] io_in_3_bits_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198653.4]
+  input  [31:0] io_in_3_bits_wdata, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198653.4]
+  input  [3:0]  io_in_3_bits_eccMask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198653.4]
+  output        io_out_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198653.4]
+  output [13:0] io_out_bits_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198653.4]
+  output        io_out_bits_write, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198653.4]
+  output [31:0] io_out_bits_wdata, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198653.4]
+  output [3:0]  io_out_bits_eccMask // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198653.4]
+);
+  wire [3:0] _GEN_2; // @[Arbiter.scala 126:27:shc.marmotcaravel.MarmotCaravelConfig.fir@198663.4]
+  wire [31:0] _GEN_5; // @[Arbiter.scala 126:27:shc.marmotcaravel.MarmotCaravelConfig.fir@198663.4]
+  wire [13:0] _GEN_7; // @[Arbiter.scala 126:27:shc.marmotcaravel.MarmotCaravelConfig.fir@198663.4]
+  wire [3:0] _GEN_10; // @[Arbiter.scala 126:27:shc.marmotcaravel.MarmotCaravelConfig.fir@198673.4]
+  wire [31:0] _GEN_13; // @[Arbiter.scala 126:27:shc.marmotcaravel.MarmotCaravelConfig.fir@198673.4]
+  wire  _GEN_14; // @[Arbiter.scala 126:27:shc.marmotcaravel.MarmotCaravelConfig.fir@198673.4]
+  wire [13:0] _GEN_15; // @[Arbiter.scala 126:27:shc.marmotcaravel.MarmotCaravelConfig.fir@198673.4]
+  wire  _T_94; // @[Arbiter.scala 31:68:shc.marmotcaravel.MarmotCaravelConfig.fir@198693.4]
+  wire  _T_95; // @[Arbiter.scala 31:68:shc.marmotcaravel.MarmotCaravelConfig.fir@198694.4]
+  wire  _T_98; // @[Arbiter.scala 31:78:shc.marmotcaravel.MarmotCaravelConfig.fir@198697.4]
+  wire  _T_103; // @[Arbiter.scala 135:19:shc.marmotcaravel.MarmotCaravelConfig.fir@198706.4]
+  assign _GEN_2 = io_in_2_valid ? io_in_2_bits_eccMask : io_in_3_bits_eccMask; // @[Arbiter.scala 126:27:shc.marmotcaravel.MarmotCaravelConfig.fir@198663.4]
+  assign _GEN_5 = io_in_2_valid ? io_in_2_bits_wdata : io_in_3_bits_wdata; // @[Arbiter.scala 126:27:shc.marmotcaravel.MarmotCaravelConfig.fir@198663.4]
+  assign _GEN_7 = io_in_2_valid ? io_in_2_bits_addr : io_in_3_bits_addr; // @[Arbiter.scala 126:27:shc.marmotcaravel.MarmotCaravelConfig.fir@198663.4]
+  assign _GEN_10 = io_in_1_valid ? io_in_1_bits_eccMask : _GEN_2; // @[Arbiter.scala 126:27:shc.marmotcaravel.MarmotCaravelConfig.fir@198673.4]
+  assign _GEN_13 = io_in_1_valid ? io_in_1_bits_wdata : _GEN_5; // @[Arbiter.scala 126:27:shc.marmotcaravel.MarmotCaravelConfig.fir@198673.4]
+  assign _GEN_14 = io_in_1_valid ? io_in_1_bits_write : 1'h0; // @[Arbiter.scala 126:27:shc.marmotcaravel.MarmotCaravelConfig.fir@198673.4]
+  assign _GEN_15 = io_in_1_valid ? io_in_1_bits_addr : _GEN_7; // @[Arbiter.scala 126:27:shc.marmotcaravel.MarmotCaravelConfig.fir@198673.4]
+  assign _T_94 = io_in_0_valid | io_in_1_valid; // @[Arbiter.scala 31:68:shc.marmotcaravel.MarmotCaravelConfig.fir@198693.4]
+  assign _T_95 = _T_94 | io_in_2_valid; // @[Arbiter.scala 31:68:shc.marmotcaravel.MarmotCaravelConfig.fir@198694.4]
+  assign _T_98 = _T_95 == 1'h0; // @[Arbiter.scala 31:78:shc.marmotcaravel.MarmotCaravelConfig.fir@198697.4]
+  assign _T_103 = _T_98 == 1'h0; // @[Arbiter.scala 135:19:shc.marmotcaravel.MarmotCaravelConfig.fir@198706.4]
+  assign io_in_1_ready = io_in_0_valid == 1'h0; // @[Arbiter.scala 134:14:shc.marmotcaravel.MarmotCaravelConfig.fir@198701.4]
+  assign io_in_2_ready = _T_94 == 1'h0; // @[Arbiter.scala 134:14:shc.marmotcaravel.MarmotCaravelConfig.fir@198703.4]
+  assign io_in_3_ready = _T_95 == 1'h0; // @[Arbiter.scala 134:14:shc.marmotcaravel.MarmotCaravelConfig.fir@198705.4]
+  assign io_out_valid = _T_103 | io_in_3_valid; // @[Arbiter.scala 135:16:shc.marmotcaravel.MarmotCaravelConfig.fir@198708.4]
+  assign io_out_bits_addr = io_in_0_valid ? io_in_0_bits_addr : _GEN_15; // @[Arbiter.scala 124:15:shc.marmotcaravel.MarmotCaravelConfig.fir@198662.4 Arbiter.scala 128:19:shc.marmotcaravel.MarmotCaravelConfig.fir@198671.6 Arbiter.scala 128:19:shc.marmotcaravel.MarmotCaravelConfig.fir@198681.6 Arbiter.scala 128:19:shc.marmotcaravel.MarmotCaravelConfig.fir@198691.6]
+  assign io_out_bits_write = io_in_0_valid ? io_in_0_bits_write : _GEN_14; // @[Arbiter.scala 124:15:shc.marmotcaravel.MarmotCaravelConfig.fir@198661.4 Arbiter.scala 128:19:shc.marmotcaravel.MarmotCaravelConfig.fir@198670.6 Arbiter.scala 128:19:shc.marmotcaravel.MarmotCaravelConfig.fir@198680.6 Arbiter.scala 128:19:shc.marmotcaravel.MarmotCaravelConfig.fir@198690.6]
+  assign io_out_bits_wdata = io_in_0_valid ? io_in_0_bits_wdata : _GEN_13; // @[Arbiter.scala 124:15:shc.marmotcaravel.MarmotCaravelConfig.fir@198660.4 Arbiter.scala 128:19:shc.marmotcaravel.MarmotCaravelConfig.fir@198669.6 Arbiter.scala 128:19:shc.marmotcaravel.MarmotCaravelConfig.fir@198679.6 Arbiter.scala 128:19:shc.marmotcaravel.MarmotCaravelConfig.fir@198689.6]
+  assign io_out_bits_eccMask = io_in_0_valid ? io_in_0_bits_eccMask : _GEN_10; // @[Arbiter.scala 124:15:shc.marmotcaravel.MarmotCaravelConfig.fir@198657.4 Arbiter.scala 128:19:shc.marmotcaravel.MarmotCaravelConfig.fir@198666.6 Arbiter.scala 128:19:shc.marmotcaravel.MarmotCaravelConfig.fir@198676.6 Arbiter.scala 128:19:shc.marmotcaravel.MarmotCaravelConfig.fir@198686.6]
+endmodule
+module PMPChecker( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198710.2]
+  input         io_pmp_0_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198713.4]
+  input  [1:0]  io_pmp_0_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198713.4]
+  input         io_pmp_0_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198713.4]
+  input         io_pmp_0_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198713.4]
+  input         io_pmp_0_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198713.4]
+  input  [29:0] io_pmp_0_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198713.4]
+  input  [31:0] io_pmp_0_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198713.4]
+  input         io_pmp_1_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198713.4]
+  input  [1:0]  io_pmp_1_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198713.4]
+  input         io_pmp_1_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198713.4]
+  input         io_pmp_1_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198713.4]
+  input         io_pmp_1_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198713.4]
+  input  [29:0] io_pmp_1_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198713.4]
+  input  [31:0] io_pmp_1_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198713.4]
+  input         io_pmp_2_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198713.4]
+  input  [1:0]  io_pmp_2_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198713.4]
+  input         io_pmp_2_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198713.4]
+  input         io_pmp_2_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198713.4]
+  input         io_pmp_2_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198713.4]
+  input  [29:0] io_pmp_2_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198713.4]
+  input  [31:0] io_pmp_2_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198713.4]
+  input         io_pmp_3_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198713.4]
+  input  [1:0]  io_pmp_3_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198713.4]
+  input         io_pmp_3_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198713.4]
+  input         io_pmp_3_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198713.4]
+  input         io_pmp_3_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198713.4]
+  input  [29:0] io_pmp_3_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198713.4]
+  input  [31:0] io_pmp_3_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198713.4]
+  input         io_pmp_4_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198713.4]
+  input  [1:0]  io_pmp_4_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198713.4]
+  input         io_pmp_4_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198713.4]
+  input         io_pmp_4_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198713.4]
+  input         io_pmp_4_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198713.4]
+  input  [29:0] io_pmp_4_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198713.4]
+  input  [31:0] io_pmp_4_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198713.4]
+  input         io_pmp_5_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198713.4]
+  input  [1:0]  io_pmp_5_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198713.4]
+  input         io_pmp_5_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198713.4]
+  input         io_pmp_5_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198713.4]
+  input         io_pmp_5_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198713.4]
+  input  [29:0] io_pmp_5_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198713.4]
+  input  [31:0] io_pmp_5_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198713.4]
+  input         io_pmp_6_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198713.4]
+  input  [1:0]  io_pmp_6_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198713.4]
+  input         io_pmp_6_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198713.4]
+  input         io_pmp_6_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198713.4]
+  input         io_pmp_6_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198713.4]
+  input  [29:0] io_pmp_6_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198713.4]
+  input  [31:0] io_pmp_6_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198713.4]
+  input         io_pmp_7_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198713.4]
+  input  [1:0]  io_pmp_7_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198713.4]
+  input         io_pmp_7_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198713.4]
+  input         io_pmp_7_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198713.4]
+  input         io_pmp_7_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198713.4]
+  input  [29:0] io_pmp_7_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198713.4]
+  input  [31:0] io_pmp_7_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198713.4]
+  input  [31:0] io_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198713.4]
+  output        io_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198713.4]
+  output        io_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198713.4]
+  output        io_x // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198713.4]
+);
+  wire  _T_37; // @[PMP.scala 39:20:shc.marmotcaravel.MarmotCaravelConfig.fir@198746.4]
+  wire [31:0] _GEN_0; // @[PMP.scala 54:36:shc.marmotcaravel.MarmotCaravelConfig.fir@198747.4]
+  wire [31:0] _T_38; // @[PMP.scala 54:36:shc.marmotcaravel.MarmotCaravelConfig.fir@198747.4]
+  wire [31:0] _T_39; // @[PMP.scala 54:29:shc.marmotcaravel.MarmotCaravelConfig.fir@198748.4]
+  wire [31:0] _T_40; // @[PMP.scala 54:48:shc.marmotcaravel.MarmotCaravelConfig.fir@198749.4]
+  wire [31:0] _T_41; // @[PMP.scala 54:27:shc.marmotcaravel.MarmotCaravelConfig.fir@198750.4]
+  wire [31:0] _T_42; // @[PMP.scala 57:47:shc.marmotcaravel.MarmotCaravelConfig.fir@198751.4]
+  wire [31:0] _T_43; // @[PMP.scala 57:54:shc.marmotcaravel.MarmotCaravelConfig.fir@198752.4]
+  wire [31:0] _T_44; // @[PMP.scala 57:52:shc.marmotcaravel.MarmotCaravelConfig.fir@198753.4]
+  wire  _T_45; // @[PMP.scala 57:58:shc.marmotcaravel.MarmotCaravelConfig.fir@198754.4]
+  wire  _T_46; // @[PMP.scala 40:26:shc.marmotcaravel.MarmotCaravelConfig.fir@198755.4]
+  wire [31:0] _GEN_1; // @[PMP.scala 54:36:shc.marmotcaravel.MarmotCaravelConfig.fir@198760.4]
+  wire [31:0] _T_51; // @[PMP.scala 54:36:shc.marmotcaravel.MarmotCaravelConfig.fir@198760.4]
+  wire [31:0] _T_52; // @[PMP.scala 54:29:shc.marmotcaravel.MarmotCaravelConfig.fir@198761.4]
+  wire [31:0] _T_53; // @[PMP.scala 54:48:shc.marmotcaravel.MarmotCaravelConfig.fir@198762.4]
+  wire [31:0] _T_54; // @[PMP.scala 54:27:shc.marmotcaravel.MarmotCaravelConfig.fir@198763.4]
+  wire  _T_55; // @[PMP.scala 71:9:shc.marmotcaravel.MarmotCaravelConfig.fir@198764.4]
+  wire  _T_56; // @[PMP.scala 82:5:shc.marmotcaravel.MarmotCaravelConfig.fir@198765.4]
+  wire  _T_61; // @[PMP.scala 71:9:shc.marmotcaravel.MarmotCaravelConfig.fir@198770.4]
+  wire  _T_62; // @[PMP.scala 88:48:shc.marmotcaravel.MarmotCaravelConfig.fir@198771.4]
+  wire  _T_63; // @[PMP.scala 126:61:shc.marmotcaravel.MarmotCaravelConfig.fir@198772.4]
+  wire  _T_64; // @[PMP.scala 126:8:shc.marmotcaravel.MarmotCaravelConfig.fir@198773.4]
+  wire  _T_65; // @[PMP.scala 157:29:shc.marmotcaravel.MarmotCaravelConfig.fir@198774.4]
+  wire  _T_70; // @[PMP.scala 160:41:shc.marmotcaravel.MarmotCaravelConfig.fir@198780.4]
+  wire  _T_72; // @[PMP.scala 161:41:shc.marmotcaravel.MarmotCaravelConfig.fir@198783.4]
+  wire  _T_74; // @[PMP.scala 162:41:shc.marmotcaravel.MarmotCaravelConfig.fir@198786.4]
+  wire  _T_75_cfg_x; // @[PMP.scala 163:8:shc.marmotcaravel.MarmotCaravelConfig.fir@198788.4]
+  wire  _T_75_cfg_w; // @[PMP.scala 163:8:shc.marmotcaravel.MarmotCaravelConfig.fir@198788.4]
+  wire  _T_75_cfg_r; // @[PMP.scala 163:8:shc.marmotcaravel.MarmotCaravelConfig.fir@198788.4]
+  wire  _T_76; // @[PMP.scala 39:20:shc.marmotcaravel.MarmotCaravelConfig.fir@198789.4]
+  wire [31:0] _T_81; // @[PMP.scala 57:47:shc.marmotcaravel.MarmotCaravelConfig.fir@198794.4]
+  wire [31:0] _T_82; // @[PMP.scala 57:54:shc.marmotcaravel.MarmotCaravelConfig.fir@198795.4]
+  wire [31:0] _T_83; // @[PMP.scala 57:52:shc.marmotcaravel.MarmotCaravelConfig.fir@198796.4]
+  wire  _T_84; // @[PMP.scala 57:58:shc.marmotcaravel.MarmotCaravelConfig.fir@198797.4]
+  wire  _T_85; // @[PMP.scala 40:26:shc.marmotcaravel.MarmotCaravelConfig.fir@198798.4]
+  wire [31:0] _GEN_4; // @[PMP.scala 54:36:shc.marmotcaravel.MarmotCaravelConfig.fir@198803.4]
+  wire [31:0] _T_90; // @[PMP.scala 54:36:shc.marmotcaravel.MarmotCaravelConfig.fir@198803.4]
+  wire [31:0] _T_91; // @[PMP.scala 54:29:shc.marmotcaravel.MarmotCaravelConfig.fir@198804.4]
+  wire [31:0] _T_92; // @[PMP.scala 54:48:shc.marmotcaravel.MarmotCaravelConfig.fir@198805.4]
+  wire [31:0] _T_93; // @[PMP.scala 54:27:shc.marmotcaravel.MarmotCaravelConfig.fir@198806.4]
+  wire  _T_94; // @[PMP.scala 71:9:shc.marmotcaravel.MarmotCaravelConfig.fir@198807.4]
+  wire  _T_95; // @[PMP.scala 82:5:shc.marmotcaravel.MarmotCaravelConfig.fir@198808.4]
+  wire  _T_101; // @[PMP.scala 88:48:shc.marmotcaravel.MarmotCaravelConfig.fir@198814.4]
+  wire  _T_102; // @[PMP.scala 126:61:shc.marmotcaravel.MarmotCaravelConfig.fir@198815.4]
+  wire  _T_103; // @[PMP.scala 126:8:shc.marmotcaravel.MarmotCaravelConfig.fir@198816.4]
+  wire  _T_104; // @[PMP.scala 157:29:shc.marmotcaravel.MarmotCaravelConfig.fir@198817.4]
+  wire  _T_109; // @[PMP.scala 160:41:shc.marmotcaravel.MarmotCaravelConfig.fir@198823.4]
+  wire  _T_111; // @[PMP.scala 161:41:shc.marmotcaravel.MarmotCaravelConfig.fir@198826.4]
+  wire  _T_113; // @[PMP.scala 162:41:shc.marmotcaravel.MarmotCaravelConfig.fir@198829.4]
+  wire  _T_114_cfg_x; // @[PMP.scala 163:8:shc.marmotcaravel.MarmotCaravelConfig.fir@198831.4]
+  wire  _T_114_cfg_w; // @[PMP.scala 163:8:shc.marmotcaravel.MarmotCaravelConfig.fir@198831.4]
+  wire  _T_114_cfg_r; // @[PMP.scala 163:8:shc.marmotcaravel.MarmotCaravelConfig.fir@198831.4]
+  wire  _T_115; // @[PMP.scala 39:20:shc.marmotcaravel.MarmotCaravelConfig.fir@198832.4]
+  wire [31:0] _T_120; // @[PMP.scala 57:47:shc.marmotcaravel.MarmotCaravelConfig.fir@198837.4]
+  wire [31:0] _T_121; // @[PMP.scala 57:54:shc.marmotcaravel.MarmotCaravelConfig.fir@198838.4]
+  wire [31:0] _T_122; // @[PMP.scala 57:52:shc.marmotcaravel.MarmotCaravelConfig.fir@198839.4]
+  wire  _T_123; // @[PMP.scala 57:58:shc.marmotcaravel.MarmotCaravelConfig.fir@198840.4]
+  wire  _T_124; // @[PMP.scala 40:26:shc.marmotcaravel.MarmotCaravelConfig.fir@198841.4]
+  wire [31:0] _GEN_7; // @[PMP.scala 54:36:shc.marmotcaravel.MarmotCaravelConfig.fir@198846.4]
+  wire [31:0] _T_129; // @[PMP.scala 54:36:shc.marmotcaravel.MarmotCaravelConfig.fir@198846.4]
+  wire [31:0] _T_130; // @[PMP.scala 54:29:shc.marmotcaravel.MarmotCaravelConfig.fir@198847.4]
+  wire [31:0] _T_131; // @[PMP.scala 54:48:shc.marmotcaravel.MarmotCaravelConfig.fir@198848.4]
+  wire [31:0] _T_132; // @[PMP.scala 54:27:shc.marmotcaravel.MarmotCaravelConfig.fir@198849.4]
+  wire  _T_133; // @[PMP.scala 71:9:shc.marmotcaravel.MarmotCaravelConfig.fir@198850.4]
+  wire  _T_134; // @[PMP.scala 82:5:shc.marmotcaravel.MarmotCaravelConfig.fir@198851.4]
+  wire  _T_140; // @[PMP.scala 88:48:shc.marmotcaravel.MarmotCaravelConfig.fir@198857.4]
+  wire  _T_141; // @[PMP.scala 126:61:shc.marmotcaravel.MarmotCaravelConfig.fir@198858.4]
+  wire  _T_142; // @[PMP.scala 126:8:shc.marmotcaravel.MarmotCaravelConfig.fir@198859.4]
+  wire  _T_143; // @[PMP.scala 157:29:shc.marmotcaravel.MarmotCaravelConfig.fir@198860.4]
+  wire  _T_148; // @[PMP.scala 160:41:shc.marmotcaravel.MarmotCaravelConfig.fir@198866.4]
+  wire  _T_150; // @[PMP.scala 161:41:shc.marmotcaravel.MarmotCaravelConfig.fir@198869.4]
+  wire  _T_152; // @[PMP.scala 162:41:shc.marmotcaravel.MarmotCaravelConfig.fir@198872.4]
+  wire  _T_153_cfg_x; // @[PMP.scala 163:8:shc.marmotcaravel.MarmotCaravelConfig.fir@198874.4]
+  wire  _T_153_cfg_w; // @[PMP.scala 163:8:shc.marmotcaravel.MarmotCaravelConfig.fir@198874.4]
+  wire  _T_153_cfg_r; // @[PMP.scala 163:8:shc.marmotcaravel.MarmotCaravelConfig.fir@198874.4]
+  wire  _T_154; // @[PMP.scala 39:20:shc.marmotcaravel.MarmotCaravelConfig.fir@198875.4]
+  wire [31:0] _T_159; // @[PMP.scala 57:47:shc.marmotcaravel.MarmotCaravelConfig.fir@198880.4]
+  wire [31:0] _T_160; // @[PMP.scala 57:54:shc.marmotcaravel.MarmotCaravelConfig.fir@198881.4]
+  wire [31:0] _T_161; // @[PMP.scala 57:52:shc.marmotcaravel.MarmotCaravelConfig.fir@198882.4]
+  wire  _T_162; // @[PMP.scala 57:58:shc.marmotcaravel.MarmotCaravelConfig.fir@198883.4]
+  wire  _T_163; // @[PMP.scala 40:26:shc.marmotcaravel.MarmotCaravelConfig.fir@198884.4]
+  wire [31:0] _GEN_10; // @[PMP.scala 54:36:shc.marmotcaravel.MarmotCaravelConfig.fir@198889.4]
+  wire [31:0] _T_168; // @[PMP.scala 54:36:shc.marmotcaravel.MarmotCaravelConfig.fir@198889.4]
+  wire [31:0] _T_169; // @[PMP.scala 54:29:shc.marmotcaravel.MarmotCaravelConfig.fir@198890.4]
+  wire [31:0] _T_170; // @[PMP.scala 54:48:shc.marmotcaravel.MarmotCaravelConfig.fir@198891.4]
+  wire [31:0] _T_171; // @[PMP.scala 54:27:shc.marmotcaravel.MarmotCaravelConfig.fir@198892.4]
+  wire  _T_172; // @[PMP.scala 71:9:shc.marmotcaravel.MarmotCaravelConfig.fir@198893.4]
+  wire  _T_173; // @[PMP.scala 82:5:shc.marmotcaravel.MarmotCaravelConfig.fir@198894.4]
+  wire  _T_179; // @[PMP.scala 88:48:shc.marmotcaravel.MarmotCaravelConfig.fir@198900.4]
+  wire  _T_180; // @[PMP.scala 126:61:shc.marmotcaravel.MarmotCaravelConfig.fir@198901.4]
+  wire  _T_181; // @[PMP.scala 126:8:shc.marmotcaravel.MarmotCaravelConfig.fir@198902.4]
+  wire  _T_182; // @[PMP.scala 157:29:shc.marmotcaravel.MarmotCaravelConfig.fir@198903.4]
+  wire  _T_187; // @[PMP.scala 160:41:shc.marmotcaravel.MarmotCaravelConfig.fir@198909.4]
+  wire  _T_189; // @[PMP.scala 161:41:shc.marmotcaravel.MarmotCaravelConfig.fir@198912.4]
+  wire  _T_191; // @[PMP.scala 162:41:shc.marmotcaravel.MarmotCaravelConfig.fir@198915.4]
+  wire  _T_192_cfg_x; // @[PMP.scala 163:8:shc.marmotcaravel.MarmotCaravelConfig.fir@198917.4]
+  wire  _T_192_cfg_w; // @[PMP.scala 163:8:shc.marmotcaravel.MarmotCaravelConfig.fir@198917.4]
+  wire  _T_192_cfg_r; // @[PMP.scala 163:8:shc.marmotcaravel.MarmotCaravelConfig.fir@198917.4]
+  wire  _T_193; // @[PMP.scala 39:20:shc.marmotcaravel.MarmotCaravelConfig.fir@198918.4]
+  wire [31:0] _T_198; // @[PMP.scala 57:47:shc.marmotcaravel.MarmotCaravelConfig.fir@198923.4]
+  wire [31:0] _T_199; // @[PMP.scala 57:54:shc.marmotcaravel.MarmotCaravelConfig.fir@198924.4]
+  wire [31:0] _T_200; // @[PMP.scala 57:52:shc.marmotcaravel.MarmotCaravelConfig.fir@198925.4]
+  wire  _T_201; // @[PMP.scala 57:58:shc.marmotcaravel.MarmotCaravelConfig.fir@198926.4]
+  wire  _T_202; // @[PMP.scala 40:26:shc.marmotcaravel.MarmotCaravelConfig.fir@198927.4]
+  wire [31:0] _GEN_13; // @[PMP.scala 54:36:shc.marmotcaravel.MarmotCaravelConfig.fir@198932.4]
+  wire [31:0] _T_207; // @[PMP.scala 54:36:shc.marmotcaravel.MarmotCaravelConfig.fir@198932.4]
+  wire [31:0] _T_208; // @[PMP.scala 54:29:shc.marmotcaravel.MarmotCaravelConfig.fir@198933.4]
+  wire [31:0] _T_209; // @[PMP.scala 54:48:shc.marmotcaravel.MarmotCaravelConfig.fir@198934.4]
+  wire [31:0] _T_210; // @[PMP.scala 54:27:shc.marmotcaravel.MarmotCaravelConfig.fir@198935.4]
+  wire  _T_211; // @[PMP.scala 71:9:shc.marmotcaravel.MarmotCaravelConfig.fir@198936.4]
+  wire  _T_212; // @[PMP.scala 82:5:shc.marmotcaravel.MarmotCaravelConfig.fir@198937.4]
+  wire  _T_218; // @[PMP.scala 88:48:shc.marmotcaravel.MarmotCaravelConfig.fir@198943.4]
+  wire  _T_219; // @[PMP.scala 126:61:shc.marmotcaravel.MarmotCaravelConfig.fir@198944.4]
+  wire  _T_220; // @[PMP.scala 126:8:shc.marmotcaravel.MarmotCaravelConfig.fir@198945.4]
+  wire  _T_221; // @[PMP.scala 157:29:shc.marmotcaravel.MarmotCaravelConfig.fir@198946.4]
+  wire  _T_226; // @[PMP.scala 160:41:shc.marmotcaravel.MarmotCaravelConfig.fir@198952.4]
+  wire  _T_228; // @[PMP.scala 161:41:shc.marmotcaravel.MarmotCaravelConfig.fir@198955.4]
+  wire  _T_230; // @[PMP.scala 162:41:shc.marmotcaravel.MarmotCaravelConfig.fir@198958.4]
+  wire  _T_231_cfg_x; // @[PMP.scala 163:8:shc.marmotcaravel.MarmotCaravelConfig.fir@198960.4]
+  wire  _T_231_cfg_w; // @[PMP.scala 163:8:shc.marmotcaravel.MarmotCaravelConfig.fir@198960.4]
+  wire  _T_231_cfg_r; // @[PMP.scala 163:8:shc.marmotcaravel.MarmotCaravelConfig.fir@198960.4]
+  wire  _T_232; // @[PMP.scala 39:20:shc.marmotcaravel.MarmotCaravelConfig.fir@198961.4]
+  wire [31:0] _T_237; // @[PMP.scala 57:47:shc.marmotcaravel.MarmotCaravelConfig.fir@198966.4]
+  wire [31:0] _T_238; // @[PMP.scala 57:54:shc.marmotcaravel.MarmotCaravelConfig.fir@198967.4]
+  wire [31:0] _T_239; // @[PMP.scala 57:52:shc.marmotcaravel.MarmotCaravelConfig.fir@198968.4]
+  wire  _T_240; // @[PMP.scala 57:58:shc.marmotcaravel.MarmotCaravelConfig.fir@198969.4]
+  wire  _T_241; // @[PMP.scala 40:26:shc.marmotcaravel.MarmotCaravelConfig.fir@198970.4]
+  wire [31:0] _GEN_16; // @[PMP.scala 54:36:shc.marmotcaravel.MarmotCaravelConfig.fir@198975.4]
+  wire [31:0] _T_246; // @[PMP.scala 54:36:shc.marmotcaravel.MarmotCaravelConfig.fir@198975.4]
+  wire [31:0] _T_247; // @[PMP.scala 54:29:shc.marmotcaravel.MarmotCaravelConfig.fir@198976.4]
+  wire [31:0] _T_248; // @[PMP.scala 54:48:shc.marmotcaravel.MarmotCaravelConfig.fir@198977.4]
+  wire [31:0] _T_249; // @[PMP.scala 54:27:shc.marmotcaravel.MarmotCaravelConfig.fir@198978.4]
+  wire  _T_250; // @[PMP.scala 71:9:shc.marmotcaravel.MarmotCaravelConfig.fir@198979.4]
+  wire  _T_251; // @[PMP.scala 82:5:shc.marmotcaravel.MarmotCaravelConfig.fir@198980.4]
+  wire  _T_257; // @[PMP.scala 88:48:shc.marmotcaravel.MarmotCaravelConfig.fir@198986.4]
+  wire  _T_258; // @[PMP.scala 126:61:shc.marmotcaravel.MarmotCaravelConfig.fir@198987.4]
+  wire  _T_259; // @[PMP.scala 126:8:shc.marmotcaravel.MarmotCaravelConfig.fir@198988.4]
+  wire  _T_260; // @[PMP.scala 157:29:shc.marmotcaravel.MarmotCaravelConfig.fir@198989.4]
+  wire  _T_265; // @[PMP.scala 160:41:shc.marmotcaravel.MarmotCaravelConfig.fir@198995.4]
+  wire  _T_267; // @[PMP.scala 161:41:shc.marmotcaravel.MarmotCaravelConfig.fir@198998.4]
+  wire  _T_269; // @[PMP.scala 162:41:shc.marmotcaravel.MarmotCaravelConfig.fir@199001.4]
+  wire  _T_270_cfg_x; // @[PMP.scala 163:8:shc.marmotcaravel.MarmotCaravelConfig.fir@199003.4]
+  wire  _T_270_cfg_w; // @[PMP.scala 163:8:shc.marmotcaravel.MarmotCaravelConfig.fir@199003.4]
+  wire  _T_270_cfg_r; // @[PMP.scala 163:8:shc.marmotcaravel.MarmotCaravelConfig.fir@199003.4]
+  wire  _T_271; // @[PMP.scala 39:20:shc.marmotcaravel.MarmotCaravelConfig.fir@199004.4]
+  wire [31:0] _T_276; // @[PMP.scala 57:47:shc.marmotcaravel.MarmotCaravelConfig.fir@199009.4]
+  wire [31:0] _T_277; // @[PMP.scala 57:54:shc.marmotcaravel.MarmotCaravelConfig.fir@199010.4]
+  wire [31:0] _T_278; // @[PMP.scala 57:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199011.4]
+  wire  _T_279; // @[PMP.scala 57:58:shc.marmotcaravel.MarmotCaravelConfig.fir@199012.4]
+  wire  _T_280; // @[PMP.scala 40:26:shc.marmotcaravel.MarmotCaravelConfig.fir@199013.4]
+  wire [31:0] _GEN_19; // @[PMP.scala 54:36:shc.marmotcaravel.MarmotCaravelConfig.fir@199018.4]
+  wire [31:0] _T_285; // @[PMP.scala 54:36:shc.marmotcaravel.MarmotCaravelConfig.fir@199018.4]
+  wire [31:0] _T_286; // @[PMP.scala 54:29:shc.marmotcaravel.MarmotCaravelConfig.fir@199019.4]
+  wire [31:0] _T_287; // @[PMP.scala 54:48:shc.marmotcaravel.MarmotCaravelConfig.fir@199020.4]
+  wire [31:0] _T_288; // @[PMP.scala 54:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199021.4]
+  wire  _T_289; // @[PMP.scala 71:9:shc.marmotcaravel.MarmotCaravelConfig.fir@199022.4]
+  wire  _T_290; // @[PMP.scala 82:5:shc.marmotcaravel.MarmotCaravelConfig.fir@199023.4]
+  wire  _T_296; // @[PMP.scala 88:48:shc.marmotcaravel.MarmotCaravelConfig.fir@199029.4]
+  wire  _T_297; // @[PMP.scala 126:61:shc.marmotcaravel.MarmotCaravelConfig.fir@199030.4]
+  wire  _T_298; // @[PMP.scala 126:8:shc.marmotcaravel.MarmotCaravelConfig.fir@199031.4]
+  wire  _T_299; // @[PMP.scala 157:29:shc.marmotcaravel.MarmotCaravelConfig.fir@199032.4]
+  wire  _T_304; // @[PMP.scala 160:41:shc.marmotcaravel.MarmotCaravelConfig.fir@199038.4]
+  wire  _T_306; // @[PMP.scala 161:41:shc.marmotcaravel.MarmotCaravelConfig.fir@199041.4]
+  wire  _T_308; // @[PMP.scala 162:41:shc.marmotcaravel.MarmotCaravelConfig.fir@199044.4]
+  wire  _T_309_cfg_x; // @[PMP.scala 163:8:shc.marmotcaravel.MarmotCaravelConfig.fir@199046.4]
+  wire  _T_309_cfg_w; // @[PMP.scala 163:8:shc.marmotcaravel.MarmotCaravelConfig.fir@199046.4]
+  wire  _T_309_cfg_r; // @[PMP.scala 163:8:shc.marmotcaravel.MarmotCaravelConfig.fir@199046.4]
+  wire  _T_310; // @[PMP.scala 39:20:shc.marmotcaravel.MarmotCaravelConfig.fir@199047.4]
+  wire [31:0] _T_315; // @[PMP.scala 57:47:shc.marmotcaravel.MarmotCaravelConfig.fir@199052.4]
+  wire [31:0] _T_316; // @[PMP.scala 57:54:shc.marmotcaravel.MarmotCaravelConfig.fir@199053.4]
+  wire [31:0] _T_317; // @[PMP.scala 57:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199054.4]
+  wire  _T_318; // @[PMP.scala 57:58:shc.marmotcaravel.MarmotCaravelConfig.fir@199055.4]
+  wire  _T_319; // @[PMP.scala 40:26:shc.marmotcaravel.MarmotCaravelConfig.fir@199056.4]
+  wire  _T_336; // @[PMP.scala 126:61:shc.marmotcaravel.MarmotCaravelConfig.fir@199073.4]
+  wire  _T_337; // @[PMP.scala 126:8:shc.marmotcaravel.MarmotCaravelConfig.fir@199074.4]
+  wire  _T_338; // @[PMP.scala 157:29:shc.marmotcaravel.MarmotCaravelConfig.fir@199075.4]
+  wire  _T_343; // @[PMP.scala 160:41:shc.marmotcaravel.MarmotCaravelConfig.fir@199081.4]
+  wire  _T_345; // @[PMP.scala 161:41:shc.marmotcaravel.MarmotCaravelConfig.fir@199084.4]
+  wire  _T_347; // @[PMP.scala 162:41:shc.marmotcaravel.MarmotCaravelConfig.fir@199087.4]
+  assign _T_37 = io_pmp_7_cfg_a[1]; // @[PMP.scala 39:20:shc.marmotcaravel.MarmotCaravelConfig.fir@198746.4]
+  assign _GEN_0 = {{2'd0}, io_pmp_7_addr}; // @[PMP.scala 54:36:shc.marmotcaravel.MarmotCaravelConfig.fir@198747.4]
+  assign _T_38 = _GEN_0 << 2; // @[PMP.scala 54:36:shc.marmotcaravel.MarmotCaravelConfig.fir@198747.4]
+  assign _T_39 = ~ _T_38; // @[PMP.scala 54:29:shc.marmotcaravel.MarmotCaravelConfig.fir@198748.4]
+  assign _T_40 = _T_39 | 32'h3; // @[PMP.scala 54:48:shc.marmotcaravel.MarmotCaravelConfig.fir@198749.4]
+  assign _T_41 = ~ _T_40; // @[PMP.scala 54:27:shc.marmotcaravel.MarmotCaravelConfig.fir@198750.4]
+  assign _T_42 = io_addr ^ _T_41; // @[PMP.scala 57:47:shc.marmotcaravel.MarmotCaravelConfig.fir@198751.4]
+  assign _T_43 = ~ io_pmp_7_mask; // @[PMP.scala 57:54:shc.marmotcaravel.MarmotCaravelConfig.fir@198752.4]
+  assign _T_44 = _T_42 & _T_43; // @[PMP.scala 57:52:shc.marmotcaravel.MarmotCaravelConfig.fir@198753.4]
+  assign _T_45 = _T_44 == 32'h0; // @[PMP.scala 57:58:shc.marmotcaravel.MarmotCaravelConfig.fir@198754.4]
+  assign _T_46 = io_pmp_7_cfg_a[0]; // @[PMP.scala 40:26:shc.marmotcaravel.MarmotCaravelConfig.fir@198755.4]
+  assign _GEN_1 = {{2'd0}, io_pmp_6_addr}; // @[PMP.scala 54:36:shc.marmotcaravel.MarmotCaravelConfig.fir@198760.4]
+  assign _T_51 = _GEN_1 << 2; // @[PMP.scala 54:36:shc.marmotcaravel.MarmotCaravelConfig.fir@198760.4]
+  assign _T_52 = ~ _T_51; // @[PMP.scala 54:29:shc.marmotcaravel.MarmotCaravelConfig.fir@198761.4]
+  assign _T_53 = _T_52 | 32'h3; // @[PMP.scala 54:48:shc.marmotcaravel.MarmotCaravelConfig.fir@198762.4]
+  assign _T_54 = ~ _T_53; // @[PMP.scala 54:27:shc.marmotcaravel.MarmotCaravelConfig.fir@198763.4]
+  assign _T_55 = io_addr < _T_54; // @[PMP.scala 71:9:shc.marmotcaravel.MarmotCaravelConfig.fir@198764.4]
+  assign _T_56 = _T_55 == 1'h0; // @[PMP.scala 82:5:shc.marmotcaravel.MarmotCaravelConfig.fir@198765.4]
+  assign _T_61 = io_addr < _T_41; // @[PMP.scala 71:9:shc.marmotcaravel.MarmotCaravelConfig.fir@198770.4]
+  assign _T_62 = _T_56 & _T_61; // @[PMP.scala 88:48:shc.marmotcaravel.MarmotCaravelConfig.fir@198771.4]
+  assign _T_63 = _T_46 & _T_62; // @[PMP.scala 126:61:shc.marmotcaravel.MarmotCaravelConfig.fir@198772.4]
+  assign _T_64 = _T_37 ? _T_45 : _T_63; // @[PMP.scala 126:8:shc.marmotcaravel.MarmotCaravelConfig.fir@198773.4]
+  assign _T_65 = io_pmp_7_cfg_l == 1'h0; // @[PMP.scala 157:29:shc.marmotcaravel.MarmotCaravelConfig.fir@198774.4]
+  assign _T_70 = io_pmp_7_cfg_r | _T_65; // @[PMP.scala 160:41:shc.marmotcaravel.MarmotCaravelConfig.fir@198780.4]
+  assign _T_72 = io_pmp_7_cfg_w | _T_65; // @[PMP.scala 161:41:shc.marmotcaravel.MarmotCaravelConfig.fir@198783.4]
+  assign _T_74 = io_pmp_7_cfg_x | _T_65; // @[PMP.scala 162:41:shc.marmotcaravel.MarmotCaravelConfig.fir@198786.4]
+  assign _T_75_cfg_x = _T_64 ? _T_74 : 1'h1; // @[PMP.scala 163:8:shc.marmotcaravel.MarmotCaravelConfig.fir@198788.4]
+  assign _T_75_cfg_w = _T_64 ? _T_72 : 1'h1; // @[PMP.scala 163:8:shc.marmotcaravel.MarmotCaravelConfig.fir@198788.4]
+  assign _T_75_cfg_r = _T_64 ? _T_70 : 1'h1; // @[PMP.scala 163:8:shc.marmotcaravel.MarmotCaravelConfig.fir@198788.4]
+  assign _T_76 = io_pmp_6_cfg_a[1]; // @[PMP.scala 39:20:shc.marmotcaravel.MarmotCaravelConfig.fir@198789.4]
+  assign _T_81 = io_addr ^ _T_54; // @[PMP.scala 57:47:shc.marmotcaravel.MarmotCaravelConfig.fir@198794.4]
+  assign _T_82 = ~ io_pmp_6_mask; // @[PMP.scala 57:54:shc.marmotcaravel.MarmotCaravelConfig.fir@198795.4]
+  assign _T_83 = _T_81 & _T_82; // @[PMP.scala 57:52:shc.marmotcaravel.MarmotCaravelConfig.fir@198796.4]
+  assign _T_84 = _T_83 == 32'h0; // @[PMP.scala 57:58:shc.marmotcaravel.MarmotCaravelConfig.fir@198797.4]
+  assign _T_85 = io_pmp_6_cfg_a[0]; // @[PMP.scala 40:26:shc.marmotcaravel.MarmotCaravelConfig.fir@198798.4]
+  assign _GEN_4 = {{2'd0}, io_pmp_5_addr}; // @[PMP.scala 54:36:shc.marmotcaravel.MarmotCaravelConfig.fir@198803.4]
+  assign _T_90 = _GEN_4 << 2; // @[PMP.scala 54:36:shc.marmotcaravel.MarmotCaravelConfig.fir@198803.4]
+  assign _T_91 = ~ _T_90; // @[PMP.scala 54:29:shc.marmotcaravel.MarmotCaravelConfig.fir@198804.4]
+  assign _T_92 = _T_91 | 32'h3; // @[PMP.scala 54:48:shc.marmotcaravel.MarmotCaravelConfig.fir@198805.4]
+  assign _T_93 = ~ _T_92; // @[PMP.scala 54:27:shc.marmotcaravel.MarmotCaravelConfig.fir@198806.4]
+  assign _T_94 = io_addr < _T_93; // @[PMP.scala 71:9:shc.marmotcaravel.MarmotCaravelConfig.fir@198807.4]
+  assign _T_95 = _T_94 == 1'h0; // @[PMP.scala 82:5:shc.marmotcaravel.MarmotCaravelConfig.fir@198808.4]
+  assign _T_101 = _T_95 & _T_55; // @[PMP.scala 88:48:shc.marmotcaravel.MarmotCaravelConfig.fir@198814.4]
+  assign _T_102 = _T_85 & _T_101; // @[PMP.scala 126:61:shc.marmotcaravel.MarmotCaravelConfig.fir@198815.4]
+  assign _T_103 = _T_76 ? _T_84 : _T_102; // @[PMP.scala 126:8:shc.marmotcaravel.MarmotCaravelConfig.fir@198816.4]
+  assign _T_104 = io_pmp_6_cfg_l == 1'h0; // @[PMP.scala 157:29:shc.marmotcaravel.MarmotCaravelConfig.fir@198817.4]
+  assign _T_109 = io_pmp_6_cfg_r | _T_104; // @[PMP.scala 160:41:shc.marmotcaravel.MarmotCaravelConfig.fir@198823.4]
+  assign _T_111 = io_pmp_6_cfg_w | _T_104; // @[PMP.scala 161:41:shc.marmotcaravel.MarmotCaravelConfig.fir@198826.4]
+  assign _T_113 = io_pmp_6_cfg_x | _T_104; // @[PMP.scala 162:41:shc.marmotcaravel.MarmotCaravelConfig.fir@198829.4]
+  assign _T_114_cfg_x = _T_103 ? _T_113 : _T_75_cfg_x; // @[PMP.scala 163:8:shc.marmotcaravel.MarmotCaravelConfig.fir@198831.4]
+  assign _T_114_cfg_w = _T_103 ? _T_111 : _T_75_cfg_w; // @[PMP.scala 163:8:shc.marmotcaravel.MarmotCaravelConfig.fir@198831.4]
+  assign _T_114_cfg_r = _T_103 ? _T_109 : _T_75_cfg_r; // @[PMP.scala 163:8:shc.marmotcaravel.MarmotCaravelConfig.fir@198831.4]
+  assign _T_115 = io_pmp_5_cfg_a[1]; // @[PMP.scala 39:20:shc.marmotcaravel.MarmotCaravelConfig.fir@198832.4]
+  assign _T_120 = io_addr ^ _T_93; // @[PMP.scala 57:47:shc.marmotcaravel.MarmotCaravelConfig.fir@198837.4]
+  assign _T_121 = ~ io_pmp_5_mask; // @[PMP.scala 57:54:shc.marmotcaravel.MarmotCaravelConfig.fir@198838.4]
+  assign _T_122 = _T_120 & _T_121; // @[PMP.scala 57:52:shc.marmotcaravel.MarmotCaravelConfig.fir@198839.4]
+  assign _T_123 = _T_122 == 32'h0; // @[PMP.scala 57:58:shc.marmotcaravel.MarmotCaravelConfig.fir@198840.4]
+  assign _T_124 = io_pmp_5_cfg_a[0]; // @[PMP.scala 40:26:shc.marmotcaravel.MarmotCaravelConfig.fir@198841.4]
+  assign _GEN_7 = {{2'd0}, io_pmp_4_addr}; // @[PMP.scala 54:36:shc.marmotcaravel.MarmotCaravelConfig.fir@198846.4]
+  assign _T_129 = _GEN_7 << 2; // @[PMP.scala 54:36:shc.marmotcaravel.MarmotCaravelConfig.fir@198846.4]
+  assign _T_130 = ~ _T_129; // @[PMP.scala 54:29:shc.marmotcaravel.MarmotCaravelConfig.fir@198847.4]
+  assign _T_131 = _T_130 | 32'h3; // @[PMP.scala 54:48:shc.marmotcaravel.MarmotCaravelConfig.fir@198848.4]
+  assign _T_132 = ~ _T_131; // @[PMP.scala 54:27:shc.marmotcaravel.MarmotCaravelConfig.fir@198849.4]
+  assign _T_133 = io_addr < _T_132; // @[PMP.scala 71:9:shc.marmotcaravel.MarmotCaravelConfig.fir@198850.4]
+  assign _T_134 = _T_133 == 1'h0; // @[PMP.scala 82:5:shc.marmotcaravel.MarmotCaravelConfig.fir@198851.4]
+  assign _T_140 = _T_134 & _T_94; // @[PMP.scala 88:48:shc.marmotcaravel.MarmotCaravelConfig.fir@198857.4]
+  assign _T_141 = _T_124 & _T_140; // @[PMP.scala 126:61:shc.marmotcaravel.MarmotCaravelConfig.fir@198858.4]
+  assign _T_142 = _T_115 ? _T_123 : _T_141; // @[PMP.scala 126:8:shc.marmotcaravel.MarmotCaravelConfig.fir@198859.4]
+  assign _T_143 = io_pmp_5_cfg_l == 1'h0; // @[PMP.scala 157:29:shc.marmotcaravel.MarmotCaravelConfig.fir@198860.4]
+  assign _T_148 = io_pmp_5_cfg_r | _T_143; // @[PMP.scala 160:41:shc.marmotcaravel.MarmotCaravelConfig.fir@198866.4]
+  assign _T_150 = io_pmp_5_cfg_w | _T_143; // @[PMP.scala 161:41:shc.marmotcaravel.MarmotCaravelConfig.fir@198869.4]
+  assign _T_152 = io_pmp_5_cfg_x | _T_143; // @[PMP.scala 162:41:shc.marmotcaravel.MarmotCaravelConfig.fir@198872.4]
+  assign _T_153_cfg_x = _T_142 ? _T_152 : _T_114_cfg_x; // @[PMP.scala 163:8:shc.marmotcaravel.MarmotCaravelConfig.fir@198874.4]
+  assign _T_153_cfg_w = _T_142 ? _T_150 : _T_114_cfg_w; // @[PMP.scala 163:8:shc.marmotcaravel.MarmotCaravelConfig.fir@198874.4]
+  assign _T_153_cfg_r = _T_142 ? _T_148 : _T_114_cfg_r; // @[PMP.scala 163:8:shc.marmotcaravel.MarmotCaravelConfig.fir@198874.4]
+  assign _T_154 = io_pmp_4_cfg_a[1]; // @[PMP.scala 39:20:shc.marmotcaravel.MarmotCaravelConfig.fir@198875.4]
+  assign _T_159 = io_addr ^ _T_132; // @[PMP.scala 57:47:shc.marmotcaravel.MarmotCaravelConfig.fir@198880.4]
+  assign _T_160 = ~ io_pmp_4_mask; // @[PMP.scala 57:54:shc.marmotcaravel.MarmotCaravelConfig.fir@198881.4]
+  assign _T_161 = _T_159 & _T_160; // @[PMP.scala 57:52:shc.marmotcaravel.MarmotCaravelConfig.fir@198882.4]
+  assign _T_162 = _T_161 == 32'h0; // @[PMP.scala 57:58:shc.marmotcaravel.MarmotCaravelConfig.fir@198883.4]
+  assign _T_163 = io_pmp_4_cfg_a[0]; // @[PMP.scala 40:26:shc.marmotcaravel.MarmotCaravelConfig.fir@198884.4]
+  assign _GEN_10 = {{2'd0}, io_pmp_3_addr}; // @[PMP.scala 54:36:shc.marmotcaravel.MarmotCaravelConfig.fir@198889.4]
+  assign _T_168 = _GEN_10 << 2; // @[PMP.scala 54:36:shc.marmotcaravel.MarmotCaravelConfig.fir@198889.4]
+  assign _T_169 = ~ _T_168; // @[PMP.scala 54:29:shc.marmotcaravel.MarmotCaravelConfig.fir@198890.4]
+  assign _T_170 = _T_169 | 32'h3; // @[PMP.scala 54:48:shc.marmotcaravel.MarmotCaravelConfig.fir@198891.4]
+  assign _T_171 = ~ _T_170; // @[PMP.scala 54:27:shc.marmotcaravel.MarmotCaravelConfig.fir@198892.4]
+  assign _T_172 = io_addr < _T_171; // @[PMP.scala 71:9:shc.marmotcaravel.MarmotCaravelConfig.fir@198893.4]
+  assign _T_173 = _T_172 == 1'h0; // @[PMP.scala 82:5:shc.marmotcaravel.MarmotCaravelConfig.fir@198894.4]
+  assign _T_179 = _T_173 & _T_133; // @[PMP.scala 88:48:shc.marmotcaravel.MarmotCaravelConfig.fir@198900.4]
+  assign _T_180 = _T_163 & _T_179; // @[PMP.scala 126:61:shc.marmotcaravel.MarmotCaravelConfig.fir@198901.4]
+  assign _T_181 = _T_154 ? _T_162 : _T_180; // @[PMP.scala 126:8:shc.marmotcaravel.MarmotCaravelConfig.fir@198902.4]
+  assign _T_182 = io_pmp_4_cfg_l == 1'h0; // @[PMP.scala 157:29:shc.marmotcaravel.MarmotCaravelConfig.fir@198903.4]
+  assign _T_187 = io_pmp_4_cfg_r | _T_182; // @[PMP.scala 160:41:shc.marmotcaravel.MarmotCaravelConfig.fir@198909.4]
+  assign _T_189 = io_pmp_4_cfg_w | _T_182; // @[PMP.scala 161:41:shc.marmotcaravel.MarmotCaravelConfig.fir@198912.4]
+  assign _T_191 = io_pmp_4_cfg_x | _T_182; // @[PMP.scala 162:41:shc.marmotcaravel.MarmotCaravelConfig.fir@198915.4]
+  assign _T_192_cfg_x = _T_181 ? _T_191 : _T_153_cfg_x; // @[PMP.scala 163:8:shc.marmotcaravel.MarmotCaravelConfig.fir@198917.4]
+  assign _T_192_cfg_w = _T_181 ? _T_189 : _T_153_cfg_w; // @[PMP.scala 163:8:shc.marmotcaravel.MarmotCaravelConfig.fir@198917.4]
+  assign _T_192_cfg_r = _T_181 ? _T_187 : _T_153_cfg_r; // @[PMP.scala 163:8:shc.marmotcaravel.MarmotCaravelConfig.fir@198917.4]
+  assign _T_193 = io_pmp_3_cfg_a[1]; // @[PMP.scala 39:20:shc.marmotcaravel.MarmotCaravelConfig.fir@198918.4]
+  assign _T_198 = io_addr ^ _T_171; // @[PMP.scala 57:47:shc.marmotcaravel.MarmotCaravelConfig.fir@198923.4]
+  assign _T_199 = ~ io_pmp_3_mask; // @[PMP.scala 57:54:shc.marmotcaravel.MarmotCaravelConfig.fir@198924.4]
+  assign _T_200 = _T_198 & _T_199; // @[PMP.scala 57:52:shc.marmotcaravel.MarmotCaravelConfig.fir@198925.4]
+  assign _T_201 = _T_200 == 32'h0; // @[PMP.scala 57:58:shc.marmotcaravel.MarmotCaravelConfig.fir@198926.4]
+  assign _T_202 = io_pmp_3_cfg_a[0]; // @[PMP.scala 40:26:shc.marmotcaravel.MarmotCaravelConfig.fir@198927.4]
+  assign _GEN_13 = {{2'd0}, io_pmp_2_addr}; // @[PMP.scala 54:36:shc.marmotcaravel.MarmotCaravelConfig.fir@198932.4]
+  assign _T_207 = _GEN_13 << 2; // @[PMP.scala 54:36:shc.marmotcaravel.MarmotCaravelConfig.fir@198932.4]
+  assign _T_208 = ~ _T_207; // @[PMP.scala 54:29:shc.marmotcaravel.MarmotCaravelConfig.fir@198933.4]
+  assign _T_209 = _T_208 | 32'h3; // @[PMP.scala 54:48:shc.marmotcaravel.MarmotCaravelConfig.fir@198934.4]
+  assign _T_210 = ~ _T_209; // @[PMP.scala 54:27:shc.marmotcaravel.MarmotCaravelConfig.fir@198935.4]
+  assign _T_211 = io_addr < _T_210; // @[PMP.scala 71:9:shc.marmotcaravel.MarmotCaravelConfig.fir@198936.4]
+  assign _T_212 = _T_211 == 1'h0; // @[PMP.scala 82:5:shc.marmotcaravel.MarmotCaravelConfig.fir@198937.4]
+  assign _T_218 = _T_212 & _T_172; // @[PMP.scala 88:48:shc.marmotcaravel.MarmotCaravelConfig.fir@198943.4]
+  assign _T_219 = _T_202 & _T_218; // @[PMP.scala 126:61:shc.marmotcaravel.MarmotCaravelConfig.fir@198944.4]
+  assign _T_220 = _T_193 ? _T_201 : _T_219; // @[PMP.scala 126:8:shc.marmotcaravel.MarmotCaravelConfig.fir@198945.4]
+  assign _T_221 = io_pmp_3_cfg_l == 1'h0; // @[PMP.scala 157:29:shc.marmotcaravel.MarmotCaravelConfig.fir@198946.4]
+  assign _T_226 = io_pmp_3_cfg_r | _T_221; // @[PMP.scala 160:41:shc.marmotcaravel.MarmotCaravelConfig.fir@198952.4]
+  assign _T_228 = io_pmp_3_cfg_w | _T_221; // @[PMP.scala 161:41:shc.marmotcaravel.MarmotCaravelConfig.fir@198955.4]
+  assign _T_230 = io_pmp_3_cfg_x | _T_221; // @[PMP.scala 162:41:shc.marmotcaravel.MarmotCaravelConfig.fir@198958.4]
+  assign _T_231_cfg_x = _T_220 ? _T_230 : _T_192_cfg_x; // @[PMP.scala 163:8:shc.marmotcaravel.MarmotCaravelConfig.fir@198960.4]
+  assign _T_231_cfg_w = _T_220 ? _T_228 : _T_192_cfg_w; // @[PMP.scala 163:8:shc.marmotcaravel.MarmotCaravelConfig.fir@198960.4]
+  assign _T_231_cfg_r = _T_220 ? _T_226 : _T_192_cfg_r; // @[PMP.scala 163:8:shc.marmotcaravel.MarmotCaravelConfig.fir@198960.4]
+  assign _T_232 = io_pmp_2_cfg_a[1]; // @[PMP.scala 39:20:shc.marmotcaravel.MarmotCaravelConfig.fir@198961.4]
+  assign _T_237 = io_addr ^ _T_210; // @[PMP.scala 57:47:shc.marmotcaravel.MarmotCaravelConfig.fir@198966.4]
+  assign _T_238 = ~ io_pmp_2_mask; // @[PMP.scala 57:54:shc.marmotcaravel.MarmotCaravelConfig.fir@198967.4]
+  assign _T_239 = _T_237 & _T_238; // @[PMP.scala 57:52:shc.marmotcaravel.MarmotCaravelConfig.fir@198968.4]
+  assign _T_240 = _T_239 == 32'h0; // @[PMP.scala 57:58:shc.marmotcaravel.MarmotCaravelConfig.fir@198969.4]
+  assign _T_241 = io_pmp_2_cfg_a[0]; // @[PMP.scala 40:26:shc.marmotcaravel.MarmotCaravelConfig.fir@198970.4]
+  assign _GEN_16 = {{2'd0}, io_pmp_1_addr}; // @[PMP.scala 54:36:shc.marmotcaravel.MarmotCaravelConfig.fir@198975.4]
+  assign _T_246 = _GEN_16 << 2; // @[PMP.scala 54:36:shc.marmotcaravel.MarmotCaravelConfig.fir@198975.4]
+  assign _T_247 = ~ _T_246; // @[PMP.scala 54:29:shc.marmotcaravel.MarmotCaravelConfig.fir@198976.4]
+  assign _T_248 = _T_247 | 32'h3; // @[PMP.scala 54:48:shc.marmotcaravel.MarmotCaravelConfig.fir@198977.4]
+  assign _T_249 = ~ _T_248; // @[PMP.scala 54:27:shc.marmotcaravel.MarmotCaravelConfig.fir@198978.4]
+  assign _T_250 = io_addr < _T_249; // @[PMP.scala 71:9:shc.marmotcaravel.MarmotCaravelConfig.fir@198979.4]
+  assign _T_251 = _T_250 == 1'h0; // @[PMP.scala 82:5:shc.marmotcaravel.MarmotCaravelConfig.fir@198980.4]
+  assign _T_257 = _T_251 & _T_211; // @[PMP.scala 88:48:shc.marmotcaravel.MarmotCaravelConfig.fir@198986.4]
+  assign _T_258 = _T_241 & _T_257; // @[PMP.scala 126:61:shc.marmotcaravel.MarmotCaravelConfig.fir@198987.4]
+  assign _T_259 = _T_232 ? _T_240 : _T_258; // @[PMP.scala 126:8:shc.marmotcaravel.MarmotCaravelConfig.fir@198988.4]
+  assign _T_260 = io_pmp_2_cfg_l == 1'h0; // @[PMP.scala 157:29:shc.marmotcaravel.MarmotCaravelConfig.fir@198989.4]
+  assign _T_265 = io_pmp_2_cfg_r | _T_260; // @[PMP.scala 160:41:shc.marmotcaravel.MarmotCaravelConfig.fir@198995.4]
+  assign _T_267 = io_pmp_2_cfg_w | _T_260; // @[PMP.scala 161:41:shc.marmotcaravel.MarmotCaravelConfig.fir@198998.4]
+  assign _T_269 = io_pmp_2_cfg_x | _T_260; // @[PMP.scala 162:41:shc.marmotcaravel.MarmotCaravelConfig.fir@199001.4]
+  assign _T_270_cfg_x = _T_259 ? _T_269 : _T_231_cfg_x; // @[PMP.scala 163:8:shc.marmotcaravel.MarmotCaravelConfig.fir@199003.4]
+  assign _T_270_cfg_w = _T_259 ? _T_267 : _T_231_cfg_w; // @[PMP.scala 163:8:shc.marmotcaravel.MarmotCaravelConfig.fir@199003.4]
+  assign _T_270_cfg_r = _T_259 ? _T_265 : _T_231_cfg_r; // @[PMP.scala 163:8:shc.marmotcaravel.MarmotCaravelConfig.fir@199003.4]
+  assign _T_271 = io_pmp_1_cfg_a[1]; // @[PMP.scala 39:20:shc.marmotcaravel.MarmotCaravelConfig.fir@199004.4]
+  assign _T_276 = io_addr ^ _T_249; // @[PMP.scala 57:47:shc.marmotcaravel.MarmotCaravelConfig.fir@199009.4]
+  assign _T_277 = ~ io_pmp_1_mask; // @[PMP.scala 57:54:shc.marmotcaravel.MarmotCaravelConfig.fir@199010.4]
+  assign _T_278 = _T_276 & _T_277; // @[PMP.scala 57:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199011.4]
+  assign _T_279 = _T_278 == 32'h0; // @[PMP.scala 57:58:shc.marmotcaravel.MarmotCaravelConfig.fir@199012.4]
+  assign _T_280 = io_pmp_1_cfg_a[0]; // @[PMP.scala 40:26:shc.marmotcaravel.MarmotCaravelConfig.fir@199013.4]
+  assign _GEN_19 = {{2'd0}, io_pmp_0_addr}; // @[PMP.scala 54:36:shc.marmotcaravel.MarmotCaravelConfig.fir@199018.4]
+  assign _T_285 = _GEN_19 << 2; // @[PMP.scala 54:36:shc.marmotcaravel.MarmotCaravelConfig.fir@199018.4]
+  assign _T_286 = ~ _T_285; // @[PMP.scala 54:29:shc.marmotcaravel.MarmotCaravelConfig.fir@199019.4]
+  assign _T_287 = _T_286 | 32'h3; // @[PMP.scala 54:48:shc.marmotcaravel.MarmotCaravelConfig.fir@199020.4]
+  assign _T_288 = ~ _T_287; // @[PMP.scala 54:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199021.4]
+  assign _T_289 = io_addr < _T_288; // @[PMP.scala 71:9:shc.marmotcaravel.MarmotCaravelConfig.fir@199022.4]
+  assign _T_290 = _T_289 == 1'h0; // @[PMP.scala 82:5:shc.marmotcaravel.MarmotCaravelConfig.fir@199023.4]
+  assign _T_296 = _T_290 & _T_250; // @[PMP.scala 88:48:shc.marmotcaravel.MarmotCaravelConfig.fir@199029.4]
+  assign _T_297 = _T_280 & _T_296; // @[PMP.scala 126:61:shc.marmotcaravel.MarmotCaravelConfig.fir@199030.4]
+  assign _T_298 = _T_271 ? _T_279 : _T_297; // @[PMP.scala 126:8:shc.marmotcaravel.MarmotCaravelConfig.fir@199031.4]
+  assign _T_299 = io_pmp_1_cfg_l == 1'h0; // @[PMP.scala 157:29:shc.marmotcaravel.MarmotCaravelConfig.fir@199032.4]
+  assign _T_304 = io_pmp_1_cfg_r | _T_299; // @[PMP.scala 160:41:shc.marmotcaravel.MarmotCaravelConfig.fir@199038.4]
+  assign _T_306 = io_pmp_1_cfg_w | _T_299; // @[PMP.scala 161:41:shc.marmotcaravel.MarmotCaravelConfig.fir@199041.4]
+  assign _T_308 = io_pmp_1_cfg_x | _T_299; // @[PMP.scala 162:41:shc.marmotcaravel.MarmotCaravelConfig.fir@199044.4]
+  assign _T_309_cfg_x = _T_298 ? _T_308 : _T_270_cfg_x; // @[PMP.scala 163:8:shc.marmotcaravel.MarmotCaravelConfig.fir@199046.4]
+  assign _T_309_cfg_w = _T_298 ? _T_306 : _T_270_cfg_w; // @[PMP.scala 163:8:shc.marmotcaravel.MarmotCaravelConfig.fir@199046.4]
+  assign _T_309_cfg_r = _T_298 ? _T_304 : _T_270_cfg_r; // @[PMP.scala 163:8:shc.marmotcaravel.MarmotCaravelConfig.fir@199046.4]
+  assign _T_310 = io_pmp_0_cfg_a[1]; // @[PMP.scala 39:20:shc.marmotcaravel.MarmotCaravelConfig.fir@199047.4]
+  assign _T_315 = io_addr ^ _T_288; // @[PMP.scala 57:47:shc.marmotcaravel.MarmotCaravelConfig.fir@199052.4]
+  assign _T_316 = ~ io_pmp_0_mask; // @[PMP.scala 57:54:shc.marmotcaravel.MarmotCaravelConfig.fir@199053.4]
+  assign _T_317 = _T_315 & _T_316; // @[PMP.scala 57:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199054.4]
+  assign _T_318 = _T_317 == 32'h0; // @[PMP.scala 57:58:shc.marmotcaravel.MarmotCaravelConfig.fir@199055.4]
+  assign _T_319 = io_pmp_0_cfg_a[0]; // @[PMP.scala 40:26:shc.marmotcaravel.MarmotCaravelConfig.fir@199056.4]
+  assign _T_336 = _T_319 & _T_289; // @[PMP.scala 126:61:shc.marmotcaravel.MarmotCaravelConfig.fir@199073.4]
+  assign _T_337 = _T_310 ? _T_318 : _T_336; // @[PMP.scala 126:8:shc.marmotcaravel.MarmotCaravelConfig.fir@199074.4]
+  assign _T_338 = io_pmp_0_cfg_l == 1'h0; // @[PMP.scala 157:29:shc.marmotcaravel.MarmotCaravelConfig.fir@199075.4]
+  assign _T_343 = io_pmp_0_cfg_r | _T_338; // @[PMP.scala 160:41:shc.marmotcaravel.MarmotCaravelConfig.fir@199081.4]
+  assign _T_345 = io_pmp_0_cfg_w | _T_338; // @[PMP.scala 161:41:shc.marmotcaravel.MarmotCaravelConfig.fir@199084.4]
+  assign _T_347 = io_pmp_0_cfg_x | _T_338; // @[PMP.scala 162:41:shc.marmotcaravel.MarmotCaravelConfig.fir@199087.4]
+  assign io_r = _T_337 ? _T_343 : _T_309_cfg_r; // @[PMP.scala 166:8:shc.marmotcaravel.MarmotCaravelConfig.fir@199090.4]
+  assign io_w = _T_337 ? _T_345 : _T_309_cfg_w; // @[PMP.scala 167:8:shc.marmotcaravel.MarmotCaravelConfig.fir@199091.4]
+  assign io_x = _T_337 ? _T_347 : _T_309_cfg_x; // @[PMP.scala 168:8:shc.marmotcaravel.MarmotCaravelConfig.fir@199092.4]
+endmodule
+module TLB( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199094.2]
+  input         io_req_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
+  input  [31:0] io_req_bits_vaddr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
+  input  [1:0]  io_req_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
+  input  [4:0]  io_req_bits_cmd, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
+  output [31:0] io_resp_paddr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
+  output        io_resp_pf_ld, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
+  output        io_resp_pf_st, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
+  output        io_resp_ae_ld, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
+  output        io_resp_ae_st, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
+  output        io_resp_ma_ld, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
+  output        io_resp_ma_st, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
+  input         io_ptw_pmp_0_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
+  input  [1:0]  io_ptw_pmp_0_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
+  input         io_ptw_pmp_0_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
+  input         io_ptw_pmp_0_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
+  input         io_ptw_pmp_0_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
+  input  [29:0] io_ptw_pmp_0_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
+  input  [31:0] io_ptw_pmp_0_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
+  input         io_ptw_pmp_1_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
+  input  [1:0]  io_ptw_pmp_1_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
+  input         io_ptw_pmp_1_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
+  input         io_ptw_pmp_1_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
+  input         io_ptw_pmp_1_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
+  input  [29:0] io_ptw_pmp_1_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
+  input  [31:0] io_ptw_pmp_1_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
+  input         io_ptw_pmp_2_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
+  input  [1:0]  io_ptw_pmp_2_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
+  input         io_ptw_pmp_2_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
+  input         io_ptw_pmp_2_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
+  input         io_ptw_pmp_2_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
+  input  [29:0] io_ptw_pmp_2_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
+  input  [31:0] io_ptw_pmp_2_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
+  input         io_ptw_pmp_3_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
+  input  [1:0]  io_ptw_pmp_3_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
+  input         io_ptw_pmp_3_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
+  input         io_ptw_pmp_3_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
+  input         io_ptw_pmp_3_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
+  input  [29:0] io_ptw_pmp_3_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
+  input  [31:0] io_ptw_pmp_3_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
+  input         io_ptw_pmp_4_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
+  input  [1:0]  io_ptw_pmp_4_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
+  input         io_ptw_pmp_4_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
+  input         io_ptw_pmp_4_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
+  input         io_ptw_pmp_4_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
+  input  [29:0] io_ptw_pmp_4_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
+  input  [31:0] io_ptw_pmp_4_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
+  input         io_ptw_pmp_5_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
+  input  [1:0]  io_ptw_pmp_5_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
+  input         io_ptw_pmp_5_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
+  input         io_ptw_pmp_5_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
+  input         io_ptw_pmp_5_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
+  input  [29:0] io_ptw_pmp_5_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
+  input  [31:0] io_ptw_pmp_5_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
+  input         io_ptw_pmp_6_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
+  input  [1:0]  io_ptw_pmp_6_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
+  input         io_ptw_pmp_6_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
+  input         io_ptw_pmp_6_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
+  input         io_ptw_pmp_6_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
+  input  [29:0] io_ptw_pmp_6_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
+  input  [31:0] io_ptw_pmp_6_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
+  input         io_ptw_pmp_7_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
+  input  [1:0]  io_ptw_pmp_7_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
+  input         io_ptw_pmp_7_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
+  input         io_ptw_pmp_7_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
+  input         io_ptw_pmp_7_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
+  input  [29:0] io_ptw_pmp_7_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
+  input  [31:0] io_ptw_pmp_7_mask // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
+);
+  wire  pmp_io_pmp_0_cfg_l; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199165.4]
+  wire [1:0] pmp_io_pmp_0_cfg_a; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199165.4]
+  wire  pmp_io_pmp_0_cfg_x; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199165.4]
+  wire  pmp_io_pmp_0_cfg_w; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199165.4]
+  wire  pmp_io_pmp_0_cfg_r; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199165.4]
+  wire [29:0] pmp_io_pmp_0_addr; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199165.4]
+  wire [31:0] pmp_io_pmp_0_mask; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199165.4]
+  wire  pmp_io_pmp_1_cfg_l; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199165.4]
+  wire [1:0] pmp_io_pmp_1_cfg_a; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199165.4]
+  wire  pmp_io_pmp_1_cfg_x; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199165.4]
+  wire  pmp_io_pmp_1_cfg_w; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199165.4]
+  wire  pmp_io_pmp_1_cfg_r; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199165.4]
+  wire [29:0] pmp_io_pmp_1_addr; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199165.4]
+  wire [31:0] pmp_io_pmp_1_mask; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199165.4]
+  wire  pmp_io_pmp_2_cfg_l; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199165.4]
+  wire [1:0] pmp_io_pmp_2_cfg_a; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199165.4]
+  wire  pmp_io_pmp_2_cfg_x; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199165.4]
+  wire  pmp_io_pmp_2_cfg_w; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199165.4]
+  wire  pmp_io_pmp_2_cfg_r; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199165.4]
+  wire [29:0] pmp_io_pmp_2_addr; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199165.4]
+  wire [31:0] pmp_io_pmp_2_mask; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199165.4]
+  wire  pmp_io_pmp_3_cfg_l; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199165.4]
+  wire [1:0] pmp_io_pmp_3_cfg_a; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199165.4]
+  wire  pmp_io_pmp_3_cfg_x; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199165.4]
+  wire  pmp_io_pmp_3_cfg_w; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199165.4]
+  wire  pmp_io_pmp_3_cfg_r; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199165.4]
+  wire [29:0] pmp_io_pmp_3_addr; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199165.4]
+  wire [31:0] pmp_io_pmp_3_mask; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199165.4]
+  wire  pmp_io_pmp_4_cfg_l; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199165.4]
+  wire [1:0] pmp_io_pmp_4_cfg_a; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199165.4]
+  wire  pmp_io_pmp_4_cfg_x; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199165.4]
+  wire  pmp_io_pmp_4_cfg_w; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199165.4]
+  wire  pmp_io_pmp_4_cfg_r; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199165.4]
+  wire [29:0] pmp_io_pmp_4_addr; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199165.4]
+  wire [31:0] pmp_io_pmp_4_mask; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199165.4]
+  wire  pmp_io_pmp_5_cfg_l; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199165.4]
+  wire [1:0] pmp_io_pmp_5_cfg_a; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199165.4]
+  wire  pmp_io_pmp_5_cfg_x; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199165.4]
+  wire  pmp_io_pmp_5_cfg_w; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199165.4]
+  wire  pmp_io_pmp_5_cfg_r; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199165.4]
+  wire [29:0] pmp_io_pmp_5_addr; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199165.4]
+  wire [31:0] pmp_io_pmp_5_mask; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199165.4]
+  wire  pmp_io_pmp_6_cfg_l; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199165.4]
+  wire [1:0] pmp_io_pmp_6_cfg_a; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199165.4]
+  wire  pmp_io_pmp_6_cfg_x; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199165.4]
+  wire  pmp_io_pmp_6_cfg_w; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199165.4]
+  wire  pmp_io_pmp_6_cfg_r; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199165.4]
+  wire [29:0] pmp_io_pmp_6_addr; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199165.4]
+  wire [31:0] pmp_io_pmp_6_mask; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199165.4]
+  wire  pmp_io_pmp_7_cfg_l; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199165.4]
+  wire [1:0] pmp_io_pmp_7_cfg_a; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199165.4]
+  wire  pmp_io_pmp_7_cfg_x; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199165.4]
+  wire  pmp_io_pmp_7_cfg_w; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199165.4]
+  wire  pmp_io_pmp_7_cfg_r; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199165.4]
+  wire [29:0] pmp_io_pmp_7_addr; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199165.4]
+  wire [31:0] pmp_io_pmp_7_mask; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199165.4]
+  wire [31:0] pmp_io_addr; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199165.4]
+  wire  pmp_io_r; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199165.4]
+  wire  pmp_io_w; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199165.4]
+  wire  pmp_io_x; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199165.4]
+  wire [19:0] vpn; // @[TLB.scala 179:30:shc.marmotcaravel.MarmotCaravelConfig.fir@199118.4]
+  wire [19:0] mpu_ppn; // @[TLB.scala 184:123:shc.marmotcaravel.MarmotCaravelConfig.fir@199160.4]
+  wire [11:0] _T_223; // @[TLB.scala 185:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199163.4]
+  wire [31:0] mpu_physaddr; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@199164.4]
+  wire [31:0] _T_227; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199183.4]
+  wire [32:0] _T_228; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@199184.4]
+  wire [32:0] _T_229; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199185.4]
+  wire [32:0] _T_230; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199186.4]
+  wire  _T_231; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199187.4]
+  wire [31:0] _T_232; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199188.4]
+  wire [32:0] _T_233; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@199189.4]
+  wire [32:0] _T_234; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199190.4]
+  wire [32:0] _T_235; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199191.4]
+  wire  _T_236; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199192.4]
+  wire [31:0] _T_237; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199193.4]
+  wire [32:0] _T_238; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@199194.4]
+  wire [32:0] _T_239; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199195.4]
+  wire [32:0] _T_240; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199196.4]
+  wire  _T_241; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199197.4]
+  wire [31:0] _T_242; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199198.4]
+  wire [32:0] _T_243; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@199199.4]
+  wire [32:0] _T_244; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199200.4]
+  wire [32:0] _T_245; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199201.4]
+  wire  _T_246; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199202.4]
+  wire [31:0] _T_247; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199203.4]
+  wire [32:0] _T_248; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@199204.4]
+  wire [32:0] _T_249; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199205.4]
+  wire [32:0] _T_250; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199206.4]
+  wire  _T_251; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199207.4]
+  wire [31:0] _T_252; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199208.4]
+  wire [32:0] _T_253; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@199209.4]
+  wire [32:0] _T_254; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199210.4]
+  wire [32:0] _T_255; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199211.4]
+  wire  _T_256; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199212.4]
+  wire [31:0] _T_257; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199213.4]
+  wire [32:0] _T_258; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@199214.4]
+  wire [32:0] _T_259; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199215.4]
+  wire [32:0] _T_260; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199216.4]
+  wire  _T_261; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199217.4]
+  wire [31:0] _T_262; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199218.4]
+  wire [32:0] _T_263; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@199219.4]
+  wire [32:0] _T_264; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199220.4]
+  wire [32:0] _T_265; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199221.4]
+  wire  _T_266; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199222.4]
+  wire [31:0] _T_267; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199223.4]
+  wire [32:0] _T_268; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@199224.4]
+  wire [32:0] _T_269; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199225.4]
+  wire [32:0] _T_270; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199226.4]
+  wire  _T_271; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199227.4]
+  wire [31:0] _T_272; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199228.4]
+  wire [32:0] _T_273; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@199229.4]
+  wire [32:0] _T_274; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199230.4]
+  wire [32:0] _T_275; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199231.4]
+  wire  _T_276; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199232.4]
+  wire [31:0] _T_277; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199233.4]
+  wire [32:0] _T_278; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@199234.4]
+  wire [32:0] _T_279; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199235.4]
+  wire [32:0] _T_280; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199236.4]
+  wire  _T_281; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199237.4]
+  wire [31:0] _T_282; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199238.4]
+  wire [32:0] _T_283; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@199239.4]
+  wire [32:0] _T_284; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199240.4]
+  wire [32:0] _T_285; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199241.4]
+  wire  _T_286; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199242.4]
+  wire [31:0] _T_287; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199243.4]
+  wire [32:0] _T_288; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@199244.4]
+  wire [32:0] _T_289; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199245.4]
+  wire [32:0] _T_290; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199246.4]
+  wire  _T_291; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199247.4]
+  wire [31:0] _T_292; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199248.4]
+  wire [32:0] _T_293; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@199249.4]
+  wire [32:0] _T_294; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199250.4]
+  wire [32:0] _T_295; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199251.4]
+  wire  _T_296; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199252.4]
+  wire [31:0] _T_297; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199253.4]
+  wire [32:0] _T_298; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@199254.4]
+  wire [32:0] _T_299; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199255.4]
+  wire [32:0] _T_300; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199256.4]
+  wire  _T_301; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199257.4]
+  wire [32:0] _T_303; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@199259.4]
+  wire [32:0] _T_304; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199260.4]
+  wire [32:0] _T_305; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199261.4]
+  wire  _T_306; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199262.4]
+  wire [31:0] _T_307; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199263.4]
+  wire [32:0] _T_308; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@199264.4]
+  wire [32:0] _T_309; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199265.4]
+  wire [32:0] _T_310; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199266.4]
+  wire  _T_311; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199267.4]
+  wire [31:0] _T_312; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199268.4]
+  wire [32:0] _T_313; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@199269.4]
+  wire [32:0] _T_314; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199270.4]
+  wire [32:0] _T_315; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199271.4]
+  wire  _T_316; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199272.4]
+  wire [31:0] _T_317; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199273.4]
+  wire [32:0] _T_318; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@199274.4]
+  wire [32:0] _T_319; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199275.4]
+  wire [32:0] _T_320; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199276.4]
+  wire  _T_321; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199277.4]
+  wire [31:0] _T_322; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199278.4]
+  wire [32:0] _T_323; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@199279.4]
+  wire [32:0] _T_324; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199280.4]
+  wire [32:0] _T_325; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199281.4]
+  wire  _T_326; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199282.4]
+  wire  _T_353; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199305.4]
+  wire  _T_354; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199306.4]
+  wire  _T_355; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199307.4]
+  wire  _T_356; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199308.4]
+  wire  _T_357; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199309.4]
+  wire  _T_358; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199310.4]
+  wire  _T_359; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199311.4]
+  wire  _T_360; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199312.4]
+  wire  _T_361; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199313.4]
+  wire  _T_362; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199314.4]
+  wire  _T_363; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199315.4]
+  wire  _T_364; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199316.4]
+  wire  _T_365; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199317.4]
+  wire  _T_366; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199318.4]
+  wire  _T_367; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199319.4]
+  wire  _T_368; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199320.4]
+  wire  _T_369; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199321.4]
+  wire  _T_370; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199322.4]
+  wire  legal_address; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199323.4]
+  wire  prot_r; // @[TLB.scala 196:41:shc.marmotcaravel.MarmotCaravelConfig.fir@199479.4]
+  wire [32:0] _T_537; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199493.4]
+  wire [32:0] _T_538; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199494.4]
+  wire  _T_539; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199495.4]
+  wire [31:0] _T_540; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199496.4]
+  wire [32:0] _T_541; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@199497.4]
+  wire [32:0] _T_542; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199498.4]
+  wire [32:0] _T_543; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199499.4]
+  wire  _T_544; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199500.4]
+  wire [31:0] _T_545; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199501.4]
+  wire [32:0] _T_546; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@199502.4]
+  wire [32:0] _T_547; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199503.4]
+  wire [32:0] _T_548; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199504.4]
+  wire  _T_549; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199505.4]
+  wire [32:0] _T_552; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199508.4]
+  wire [32:0] _T_553; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199509.4]
+  wire  _T_554; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199510.4]
+  wire  _T_555; // @[Parameters.scala 148:89:shc.marmotcaravel.MarmotCaravelConfig.fir@199511.4]
+  wire  _T_556; // @[Parameters.scala 148:89:shc.marmotcaravel.MarmotCaravelConfig.fir@199512.4]
+  wire  _T_557; // @[Parameters.scala 148:89:shc.marmotcaravel.MarmotCaravelConfig.fir@199513.4]
+  wire  _T_564; // @[TLB.scala 193:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199519.4]
+  wire  prot_w; // @[TLB.scala 197:45:shc.marmotcaravel.MarmotCaravelConfig.fir@199520.4]
+  wire [32:0] _T_721; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199677.4]
+  wire [32:0] _T_722; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199678.4]
+  wire  _T_723; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199679.4]
+  wire [31:0] _T_724; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199680.4]
+  wire [32:0] _T_725; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@199681.4]
+  wire [32:0] _T_726; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199682.4]
+  wire [32:0] _T_727; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199683.4]
+  wire  _T_728; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199684.4]
+  wire [32:0] _T_731; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199687.4]
+  wire [32:0] _T_732; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199688.4]
+  wire  _T_733; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199689.4]
+  wire [32:0] _T_736; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199692.4]
+  wire [32:0] _T_737; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199693.4]
+  wire  _T_738; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199694.4]
+  wire [32:0] _T_741; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199697.4]
+  wire [32:0] _T_742; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199698.4]
+  wire  _T_743; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199699.4]
+  wire  _T_744; // @[Parameters.scala 148:89:shc.marmotcaravel.MarmotCaravelConfig.fir@199700.4]
+  wire  _T_745; // @[Parameters.scala 148:89:shc.marmotcaravel.MarmotCaravelConfig.fir@199701.4]
+  wire  _T_746; // @[Parameters.scala 148:89:shc.marmotcaravel.MarmotCaravelConfig.fir@199702.4]
+  wire  _T_747; // @[Parameters.scala 148:89:shc.marmotcaravel.MarmotCaravelConfig.fir@199703.4]
+  wire  prot_eff; // @[TLB.scala 193:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199709.4]
+  wire [1:0] _T_1327; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@200632.4]
+  wire [6:0] pr_array; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@200637.4]
+  wire [1:0] _T_1334; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@200640.4]
+  wire [6:0] pw_array; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@200645.4]
+  wire [1:0] _T_1348; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@200656.4]
+  wire [6:0] paa_array; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@200661.4]
+  wire [1:0] _T_1360; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@200670.4]
+  wire [6:0] eff_array; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@200675.4]
+  wire [3:0] _T_1377; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@200690.4]
+  wire [4:0] _T_1378; // @[TLB.scala 263:69:shc.marmotcaravel.MarmotCaravelConfig.fir@200691.4]
+  wire [4:0] _T_1379; // @[TLB.scala 263:69:shc.marmotcaravel.MarmotCaravelConfig.fir@200692.4]
+  wire [3:0] _T_1380; // @[TLB.scala 263:69:shc.marmotcaravel.MarmotCaravelConfig.fir@200693.4]
+  wire [31:0] _GEN_144; // @[TLB.scala 263:39:shc.marmotcaravel.MarmotCaravelConfig.fir@200694.4]
+  wire [31:0] _T_1381; // @[TLB.scala 263:39:shc.marmotcaravel.MarmotCaravelConfig.fir@200694.4]
+  wire  misaligned; // @[TLB.scala 263:75:shc.marmotcaravel.MarmotCaravelConfig.fir@200695.4]
+  wire [6:0] _T_1382; // @[TLB.scala 270:8:shc.marmotcaravel.MarmotCaravelConfig.fir@200698.4]
+  wire  _T_1383; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@200699.4]
+  wire  _T_1384; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@200700.4]
+  wire  _T_1385; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@200701.4]
+  wire [6:0] _T_1388; // @[TLB.scala 271:8:shc.marmotcaravel.MarmotCaravelConfig.fir@200704.4]
+  wire [6:0] ae_array; // @[TLB.scala 270:37:shc.marmotcaravel.MarmotCaravelConfig.fir@200705.4]
+  wire  _T_1389; // @[Consts.scala 93:31:shc.marmotcaravel.MarmotCaravelConfig.fir@200706.4]
+  wire  _T_1391; // @[Consts.scala 93:41:shc.marmotcaravel.MarmotCaravelConfig.fir@200708.4]
+  wire  _T_1393; // @[Consts.scala 93:58:shc.marmotcaravel.MarmotCaravelConfig.fir@200710.4]
+  wire  _T_1394; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@200711.4]
+  wire  _T_1395; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@200712.4]
+  wire  _T_1396; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@200713.4]
+  wire  _T_1397; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@200714.4]
+  wire  _T_1398; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@200715.4]
+  wire  _T_1399; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@200716.4]
+  wire  _T_1400; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@200717.4]
+  wire  _T_1401; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@200718.4]
+  wire  _T_1402; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@200719.4]
+  wire  _T_1403; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@200720.4]
+  wire  _T_1404; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@200721.4]
+  wire  _T_1405; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@200722.4]
+  wire  _T_1406; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@200723.4]
+  wire  _T_1407; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@200724.4]
+  wire  _T_1408; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@200725.4]
+  wire  _T_1409; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@200726.4]
+  wire  _T_1410; // @[Consts.scala 91:44:shc.marmotcaravel.MarmotCaravelConfig.fir@200727.4]
+  wire  _T_1411; // @[Consts.scala 93:75:shc.marmotcaravel.MarmotCaravelConfig.fir@200728.4]
+  wire [6:0] _T_1412; // @[TLB.scala 272:61:shc.marmotcaravel.MarmotCaravelConfig.fir@200729.4]
+  wire [6:0] _T_1413; // @[TLB.scala 272:59:shc.marmotcaravel.MarmotCaravelConfig.fir@200730.4]
+  wire [6:0] ae_ld_array; // @[TLB.scala 272:24:shc.marmotcaravel.MarmotCaravelConfig.fir@200731.4]
+  wire  _T_1414; // @[Consts.scala 94:32:shc.marmotcaravel.MarmotCaravelConfig.fir@200732.4]
+  wire  _T_1415; // @[Consts.scala 94:49:shc.marmotcaravel.MarmotCaravelConfig.fir@200733.4]
+  wire  _T_1416; // @[Consts.scala 94:42:shc.marmotcaravel.MarmotCaravelConfig.fir@200734.4]
+  wire  _T_1418; // @[Consts.scala 94:59:shc.marmotcaravel.MarmotCaravelConfig.fir@200736.4]
+  wire  _T_1436; // @[Consts.scala 94:76:shc.marmotcaravel.MarmotCaravelConfig.fir@200754.4]
+  wire [6:0] _T_1437; // @[TLB.scala 274:46:shc.marmotcaravel.MarmotCaravelConfig.fir@200755.4]
+  wire [6:0] _T_1438; // @[TLB.scala 274:44:shc.marmotcaravel.MarmotCaravelConfig.fir@200756.4]
+  wire [6:0] _T_1439; // @[TLB.scala 274:8:shc.marmotcaravel.MarmotCaravelConfig.fir@200757.4]
+  wire [6:0] _T_1448; // @[TLB.scala 275:62:shc.marmotcaravel.MarmotCaravelConfig.fir@200766.4]
+  wire [6:0] _T_1449; // @[TLB.scala 275:8:shc.marmotcaravel.MarmotCaravelConfig.fir@200767.4]
+  wire [6:0] _T_1450; // @[TLB.scala 274:62:shc.marmotcaravel.MarmotCaravelConfig.fir@200768.4]
+  wire [6:0] _T_1462; // @[TLB.scala 276:8:shc.marmotcaravel.MarmotCaravelConfig.fir@200780.4]
+  wire [6:0] ae_st_array; // @[TLB.scala 275:79:shc.marmotcaravel.MarmotCaravelConfig.fir@200781.4]
+  wire  _T_1486; // @[TLB.scala 277:36:shc.marmotcaravel.MarmotCaravelConfig.fir@200805.4]
+  wire [6:0] _T_1487; // @[TLB.scala 277:64:shc.marmotcaravel.MarmotCaravelConfig.fir@200806.4]
+  wire [6:0] ma_ld_array; // @[TLB.scala 277:24:shc.marmotcaravel.MarmotCaravelConfig.fir@200807.4]
+  wire  _T_1511; // @[TLB.scala 278:36:shc.marmotcaravel.MarmotCaravelConfig.fir@200831.4]
+  wire [6:0] ma_st_array; // @[TLB.scala 278:24:shc.marmotcaravel.MarmotCaravelConfig.fir@200833.4]
+  wire [6:0] pf_ld_array; // @[TLB.scala 279:24:shc.marmotcaravel.MarmotCaravelConfig.fir@200859.4]
+  wire [6:0] pf_st_array; // @[TLB.scala 280:24:shc.marmotcaravel.MarmotCaravelConfig.fir@200885.4]
+  wire [6:0] _T_1673; // @[TLB.scala 301:72:shc.marmotcaravel.MarmotCaravelConfig.fir@201007.4]
+  wire [6:0] _T_1700; // @[TLB.scala 302:73:shc.marmotcaravel.MarmotCaravelConfig.fir@201035.4]
+  wire [6:0] _T_1706; // @[TLB.scala 304:33:shc.marmotcaravel.MarmotCaravelConfig.fir@201043.4]
+  wire [6:0] _T_1708; // @[TLB.scala 305:33:shc.marmotcaravel.MarmotCaravelConfig.fir@201046.4]
+  wire [6:0] _T_1713; // @[TLB.scala 307:33:shc.marmotcaravel.MarmotCaravelConfig.fir@201053.4]
+  wire [6:0] _T_1715; // @[TLB.scala 308:33:shc.marmotcaravel.MarmotCaravelConfig.fir@201056.4]
+  PMPChecker pmp ( // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199165.4]
+    .io_pmp_0_cfg_l(pmp_io_pmp_0_cfg_l),
+    .io_pmp_0_cfg_a(pmp_io_pmp_0_cfg_a),
+    .io_pmp_0_cfg_x(pmp_io_pmp_0_cfg_x),
+    .io_pmp_0_cfg_w(pmp_io_pmp_0_cfg_w),
+    .io_pmp_0_cfg_r(pmp_io_pmp_0_cfg_r),
+    .io_pmp_0_addr(pmp_io_pmp_0_addr),
+    .io_pmp_0_mask(pmp_io_pmp_0_mask),
+    .io_pmp_1_cfg_l(pmp_io_pmp_1_cfg_l),
+    .io_pmp_1_cfg_a(pmp_io_pmp_1_cfg_a),
+    .io_pmp_1_cfg_x(pmp_io_pmp_1_cfg_x),
+    .io_pmp_1_cfg_w(pmp_io_pmp_1_cfg_w),
+    .io_pmp_1_cfg_r(pmp_io_pmp_1_cfg_r),
+    .io_pmp_1_addr(pmp_io_pmp_1_addr),
+    .io_pmp_1_mask(pmp_io_pmp_1_mask),
+    .io_pmp_2_cfg_l(pmp_io_pmp_2_cfg_l),
+    .io_pmp_2_cfg_a(pmp_io_pmp_2_cfg_a),
+    .io_pmp_2_cfg_x(pmp_io_pmp_2_cfg_x),
+    .io_pmp_2_cfg_w(pmp_io_pmp_2_cfg_w),
+    .io_pmp_2_cfg_r(pmp_io_pmp_2_cfg_r),
+    .io_pmp_2_addr(pmp_io_pmp_2_addr),
+    .io_pmp_2_mask(pmp_io_pmp_2_mask),
+    .io_pmp_3_cfg_l(pmp_io_pmp_3_cfg_l),
+    .io_pmp_3_cfg_a(pmp_io_pmp_3_cfg_a),
+    .io_pmp_3_cfg_x(pmp_io_pmp_3_cfg_x),
+    .io_pmp_3_cfg_w(pmp_io_pmp_3_cfg_w),
+    .io_pmp_3_cfg_r(pmp_io_pmp_3_cfg_r),
+    .io_pmp_3_addr(pmp_io_pmp_3_addr),
+    .io_pmp_3_mask(pmp_io_pmp_3_mask),
+    .io_pmp_4_cfg_l(pmp_io_pmp_4_cfg_l),
+    .io_pmp_4_cfg_a(pmp_io_pmp_4_cfg_a),
+    .io_pmp_4_cfg_x(pmp_io_pmp_4_cfg_x),
+    .io_pmp_4_cfg_w(pmp_io_pmp_4_cfg_w),
+    .io_pmp_4_cfg_r(pmp_io_pmp_4_cfg_r),
+    .io_pmp_4_addr(pmp_io_pmp_4_addr),
+    .io_pmp_4_mask(pmp_io_pmp_4_mask),
+    .io_pmp_5_cfg_l(pmp_io_pmp_5_cfg_l),
+    .io_pmp_5_cfg_a(pmp_io_pmp_5_cfg_a),
+    .io_pmp_5_cfg_x(pmp_io_pmp_5_cfg_x),
+    .io_pmp_5_cfg_w(pmp_io_pmp_5_cfg_w),
+    .io_pmp_5_cfg_r(pmp_io_pmp_5_cfg_r),
+    .io_pmp_5_addr(pmp_io_pmp_5_addr),
+    .io_pmp_5_mask(pmp_io_pmp_5_mask),
+    .io_pmp_6_cfg_l(pmp_io_pmp_6_cfg_l),
+    .io_pmp_6_cfg_a(pmp_io_pmp_6_cfg_a),
+    .io_pmp_6_cfg_x(pmp_io_pmp_6_cfg_x),
+    .io_pmp_6_cfg_w(pmp_io_pmp_6_cfg_w),
+    .io_pmp_6_cfg_r(pmp_io_pmp_6_cfg_r),
+    .io_pmp_6_addr(pmp_io_pmp_6_addr),
+    .io_pmp_6_mask(pmp_io_pmp_6_mask),
+    .io_pmp_7_cfg_l(pmp_io_pmp_7_cfg_l),
+    .io_pmp_7_cfg_a(pmp_io_pmp_7_cfg_a),
+    .io_pmp_7_cfg_x(pmp_io_pmp_7_cfg_x),
+    .io_pmp_7_cfg_w(pmp_io_pmp_7_cfg_w),
+    .io_pmp_7_cfg_r(pmp_io_pmp_7_cfg_r),
+    .io_pmp_7_addr(pmp_io_pmp_7_addr),
+    .io_pmp_7_mask(pmp_io_pmp_7_mask),
+    .io_addr(pmp_io_addr),
+    .io_r(pmp_io_r),
+    .io_w(pmp_io_w),
+    .io_x(pmp_io_x)
+  );
+  assign vpn = io_req_bits_vaddr[31:12]; // @[TLB.scala 179:30:shc.marmotcaravel.MarmotCaravelConfig.fir@199118.4]
+  assign mpu_ppn = io_req_bits_vaddr[31:12]; // @[TLB.scala 184:123:shc.marmotcaravel.MarmotCaravelConfig.fir@199160.4]
+  assign _T_223 = io_req_bits_vaddr[11:0]; // @[TLB.scala 185:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199163.4]
+  assign mpu_physaddr = {mpu_ppn,_T_223}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@199164.4]
+  assign _T_227 = mpu_physaddr ^ 32'h3000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199183.4]
+  assign _T_228 = {1'b0,$signed(_T_227)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@199184.4]
+  assign _T_229 = $signed(_T_228) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199185.4]
+  assign _T_230 = $signed(_T_229); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199186.4]
+  assign _T_231 = $signed(_T_230) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199187.4]
+  assign _T_232 = mpu_physaddr ^ 32'h10013000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199188.4]
+  assign _T_233 = {1'b0,$signed(_T_232)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@199189.4]
+  assign _T_234 = $signed(_T_233) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199190.4]
+  assign _T_235 = $signed(_T_234); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199191.4]
+  assign _T_236 = $signed(_T_235) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199192.4]
+  assign _T_237 = mpu_physaddr ^ 32'h10023000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199193.4]
+  assign _T_238 = {1'b0,$signed(_T_237)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@199194.4]
+  assign _T_239 = $signed(_T_238) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199195.4]
+  assign _T_240 = $signed(_T_239); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199196.4]
+  assign _T_241 = $signed(_T_240) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199197.4]
+  assign _T_242 = mpu_physaddr ^ 32'h10033000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199198.4]
+  assign _T_243 = {1'b0,$signed(_T_242)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@199199.4]
+  assign _T_244 = $signed(_T_243) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199200.4]
+  assign _T_245 = $signed(_T_244); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199201.4]
+  assign _T_246 = $signed(_T_245) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199202.4]
+  assign _T_247 = mpu_physaddr ^ 32'h10043000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199203.4]
+  assign _T_248 = {1'b0,$signed(_T_247)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@199204.4]
+  assign _T_249 = $signed(_T_248) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199205.4]
+  assign _T_250 = $signed(_T_249); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199206.4]
+  assign _T_251 = $signed(_T_250) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199207.4]
+  assign _T_252 = mpu_physaddr ^ 32'h10053000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199208.4]
+  assign _T_253 = {1'b0,$signed(_T_252)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@199209.4]
+  assign _T_254 = $signed(_T_253) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199210.4]
+  assign _T_255 = $signed(_T_254); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199211.4]
+  assign _T_256 = $signed(_T_255) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199212.4]
+  assign _T_257 = mpu_physaddr ^ 32'h10014000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199213.4]
+  assign _T_258 = {1'b0,$signed(_T_257)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@199214.4]
+  assign _T_259 = $signed(_T_258) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199215.4]
+  assign _T_260 = $signed(_T_259); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199216.4]
+  assign _T_261 = $signed(_T_260) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199217.4]
+  assign _T_262 = mpu_physaddr ^ 32'h20000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199218.4]
+  assign _T_263 = {1'b0,$signed(_T_262)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@199219.4]
+  assign _T_264 = $signed(_T_263) & $signed(-33'sh20000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199220.4]
+  assign _T_265 = $signed(_T_264); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199221.4]
+  assign _T_266 = $signed(_T_265) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199222.4]
+  assign _T_267 = mpu_physaddr ^ 32'h10024000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199223.4]
+  assign _T_268 = {1'b0,$signed(_T_267)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@199224.4]
+  assign _T_269 = $signed(_T_268) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199225.4]
+  assign _T_270 = $signed(_T_269); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199226.4]
+  assign _T_271 = $signed(_T_270) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199227.4]
+  assign _T_272 = mpu_physaddr ^ 32'h10034000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199228.4]
+  assign _T_273 = {1'b0,$signed(_T_272)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@199229.4]
+  assign _T_274 = $signed(_T_273) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199230.4]
+  assign _T_275 = $signed(_T_274); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199231.4]
+  assign _T_276 = $signed(_T_275) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199232.4]
+  assign _T_277 = mpu_physaddr ^ 32'h10012000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199233.4]
+  assign _T_278 = {1'b0,$signed(_T_277)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@199234.4]
+  assign _T_279 = $signed(_T_278) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199235.4]
+  assign _T_280 = $signed(_T_279); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199236.4]
+  assign _T_281 = $signed(_T_280) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199237.4]
+  assign _T_282 = mpu_physaddr ^ 32'h10016000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199238.4]
+  assign _T_283 = {1'b0,$signed(_T_282)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@199239.4]
+  assign _T_284 = $signed(_T_283) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199240.4]
+  assign _T_285 = $signed(_T_284); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199241.4]
+  assign _T_286 = $signed(_T_285) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199242.4]
+  assign _T_287 = mpu_physaddr ^ 32'h10026000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199243.4]
+  assign _T_288 = {1'b0,$signed(_T_287)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@199244.4]
+  assign _T_289 = $signed(_T_288) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199245.4]
+  assign _T_290 = $signed(_T_289); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199246.4]
+  assign _T_291 = $signed(_T_290) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199247.4]
+  assign _T_292 = mpu_physaddr ^ 32'hc000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199248.4]
+  assign _T_293 = {1'b0,$signed(_T_292)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@199249.4]
+  assign _T_294 = $signed(_T_293) & $signed(-33'sh4000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199250.4]
+  assign _T_295 = $signed(_T_294); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199251.4]
+  assign _T_296 = $signed(_T_295) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199252.4]
+  assign _T_297 = mpu_physaddr ^ 32'h2000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199253.4]
+  assign _T_298 = {1'b0,$signed(_T_297)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@199254.4]
+  assign _T_299 = $signed(_T_298) & $signed(-33'sh10000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199255.4]
+  assign _T_300 = $signed(_T_299); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199256.4]
+  assign _T_301 = $signed(_T_300) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199257.4]
+  assign _T_303 = {1'b0,$signed(mpu_physaddr)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@199259.4]
+  assign _T_304 = $signed(_T_303) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199260.4]
+  assign _T_305 = $signed(_T_304); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199261.4]
+  assign _T_306 = $signed(_T_305) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199262.4]
+  assign _T_307 = mpu_physaddr ^ 32'h8000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199263.4]
+  assign _T_308 = {1'b0,$signed(_T_307)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@199264.4]
+  assign _T_309 = $signed(_T_308) & $signed(-33'sh4000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199265.4]
+  assign _T_310 = $signed(_T_309); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199266.4]
+  assign _T_311 = $signed(_T_310) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199267.4]
+  assign _T_312 = mpu_physaddr ^ 32'h80000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199268.4]
+  assign _T_313 = {1'b0,$signed(_T_312)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@199269.4]
+  assign _T_314 = $signed(_T_313) & $signed(-33'sh4000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199270.4]
+  assign _T_315 = $signed(_T_314); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199271.4]
+  assign _T_316 = $signed(_T_315) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199272.4]
+  assign _T_317 = mpu_physaddr ^ 32'h10000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199273.4]
+  assign _T_318 = {1'b0,$signed(_T_317)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@199274.4]
+  assign _T_319 = $signed(_T_318) & $signed(-33'sh2000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199275.4]
+  assign _T_320 = $signed(_T_319); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199276.4]
+  assign _T_321 = $signed(_T_320) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199277.4]
+  assign _T_322 = mpu_physaddr ^ 32'h10000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199278.4]
+  assign _T_323 = {1'b0,$signed(_T_322)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@199279.4]
+  assign _T_324 = $signed(_T_323) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199280.4]
+  assign _T_325 = $signed(_T_324); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199281.4]
+  assign _T_326 = $signed(_T_325) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199282.4]
+  assign _T_353 = _T_231 | _T_236; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199305.4]
+  assign _T_354 = _T_353 | _T_241; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199306.4]
+  assign _T_355 = _T_354 | _T_246; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199307.4]
+  assign _T_356 = _T_355 | _T_251; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199308.4]
+  assign _T_357 = _T_356 | _T_256; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199309.4]
+  assign _T_358 = _T_357 | _T_261; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199310.4]
+  assign _T_359 = _T_358 | _T_266; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199311.4]
+  assign _T_360 = _T_359 | _T_271; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199312.4]
+  assign _T_361 = _T_360 | _T_276; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199313.4]
+  assign _T_362 = _T_361 | _T_281; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199314.4]
+  assign _T_363 = _T_362 | _T_286; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199315.4]
+  assign _T_364 = _T_363 | _T_291; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199316.4]
+  assign _T_365 = _T_364 | _T_296; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199317.4]
+  assign _T_366 = _T_365 | _T_301; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199318.4]
+  assign _T_367 = _T_366 | _T_306; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199319.4]
+  assign _T_368 = _T_367 | _T_311; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199320.4]
+  assign _T_369 = _T_368 | _T_316; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199321.4]
+  assign _T_370 = _T_369 | _T_321; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199322.4]
+  assign legal_address = _T_370 | _T_326; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199323.4]
+  assign prot_r = legal_address & pmp_io_r; // @[TLB.scala 196:41:shc.marmotcaravel.MarmotCaravelConfig.fir@199479.4]
+  assign _T_537 = $signed(_T_303) & $signed(33'sh24010000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199493.4]
+  assign _T_538 = $signed(_T_537); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199494.4]
+  assign _T_539 = $signed(_T_538) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199495.4]
+  assign _T_540 = mpu_physaddr ^ 32'h10010000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199496.4]
+  assign _T_541 = {1'b0,$signed(_T_540)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@199497.4]
+  assign _T_542 = $signed(_T_541) & $signed(33'sh34010000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199498.4]
+  assign _T_543 = $signed(_T_542); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199499.4]
+  assign _T_544 = $signed(_T_543) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199500.4]
+  assign _T_545 = mpu_physaddr ^ 32'h4000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199501.4]
+  assign _T_546 = {1'b0,$signed(_T_545)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@199502.4]
+  assign _T_547 = $signed(_T_546) & $signed(33'sh34000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199503.4]
+  assign _T_548 = $signed(_T_547); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199504.4]
+  assign _T_549 = $signed(_T_548) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199505.4]
+  assign _T_552 = $signed(_T_303) & $signed(33'sh34010000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199508.4]
+  assign _T_553 = $signed(_T_552); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199509.4]
+  assign _T_554 = $signed(_T_553) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199510.4]
+  assign _T_555 = _T_539 | _T_544; // @[Parameters.scala 148:89:shc.marmotcaravel.MarmotCaravelConfig.fir@199511.4]
+  assign _T_556 = _T_555 | _T_549; // @[Parameters.scala 148:89:shc.marmotcaravel.MarmotCaravelConfig.fir@199512.4]
+  assign _T_557 = _T_556 | _T_554; // @[Parameters.scala 148:89:shc.marmotcaravel.MarmotCaravelConfig.fir@199513.4]
+  assign _T_564 = legal_address & _T_557; // @[TLB.scala 193:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199519.4]
+  assign prot_w = _T_564 & pmp_io_w; // @[TLB.scala 197:45:shc.marmotcaravel.MarmotCaravelConfig.fir@199520.4]
+  assign _T_721 = $signed(_T_323) & $signed(33'shfff8c000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199677.4]
+  assign _T_722 = $signed(_T_721); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199678.4]
+  assign _T_723 = $signed(_T_722) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199679.4]
+  assign _T_724 = mpu_physaddr ^ 32'h10004000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199680.4]
+  assign _T_725 = {1'b0,$signed(_T_724)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@199681.4]
+  assign _T_726 = $signed(_T_725) & $signed(33'shfff8d000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199682.4]
+  assign _T_727 = $signed(_T_726); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199683.4]
+  assign _T_728 = $signed(_T_727) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199684.4]
+  assign _T_731 = $signed(_T_293) & $signed(33'shfc000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199687.4]
+  assign _T_732 = $signed(_T_731); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199688.4]
+  assign _T_733 = $signed(_T_732) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199689.4]
+  assign _T_736 = $signed(_T_298) & $signed(33'shfff90000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199692.4]
+  assign _T_737 = $signed(_T_736); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199693.4]
+  assign _T_738 = $signed(_T_737) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199694.4]
+  assign _T_741 = $signed(_T_303) & $signed(33'shfff9d000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199697.4]
+  assign _T_742 = $signed(_T_741); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199698.4]
+  assign _T_743 = $signed(_T_742) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199699.4]
+  assign _T_744 = _T_723 | _T_728; // @[Parameters.scala 148:89:shc.marmotcaravel.MarmotCaravelConfig.fir@199700.4]
+  assign _T_745 = _T_744 | _T_733; // @[Parameters.scala 148:89:shc.marmotcaravel.MarmotCaravelConfig.fir@199701.4]
+  assign _T_746 = _T_745 | _T_738; // @[Parameters.scala 148:89:shc.marmotcaravel.MarmotCaravelConfig.fir@199702.4]
+  assign _T_747 = _T_746 | _T_743; // @[Parameters.scala 148:89:shc.marmotcaravel.MarmotCaravelConfig.fir@199703.4]
+  assign prot_eff = legal_address & _T_747; // @[TLB.scala 193:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199709.4]
+  assign _T_1327 = prot_r ? 2'h3 : 2'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@200632.4]
+  assign pr_array = {_T_1327,5'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@200637.4]
+  assign _T_1334 = prot_w ? 2'h3 : 2'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@200640.4]
+  assign pw_array = {_T_1334,5'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@200645.4]
+  assign _T_1348 = _T_564 ? 2'h3 : 2'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@200656.4]
+  assign paa_array = {_T_1348,5'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@200661.4]
+  assign _T_1360 = prot_eff ? 2'h3 : 2'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@200670.4]
+  assign eff_array = {_T_1360,5'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@200675.4]
+  assign _T_1377 = 4'h1 << io_req_bits_size; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@200690.4]
+  assign _T_1378 = _T_1377 - 4'h1; // @[TLB.scala 263:69:shc.marmotcaravel.MarmotCaravelConfig.fir@200691.4]
+  assign _T_1379 = $unsigned(_T_1378); // @[TLB.scala 263:69:shc.marmotcaravel.MarmotCaravelConfig.fir@200692.4]
+  assign _T_1380 = _T_1379[3:0]; // @[TLB.scala 263:69:shc.marmotcaravel.MarmotCaravelConfig.fir@200693.4]
+  assign _GEN_144 = {{28'd0}, _T_1380}; // @[TLB.scala 263:39:shc.marmotcaravel.MarmotCaravelConfig.fir@200694.4]
+  assign _T_1381 = io_req_bits_vaddr & _GEN_144; // @[TLB.scala 263:39:shc.marmotcaravel.MarmotCaravelConfig.fir@200694.4]
+  assign misaligned = _T_1381 != 32'h0; // @[TLB.scala 263:75:shc.marmotcaravel.MarmotCaravelConfig.fir@200695.4]
+  assign _T_1382 = misaligned ? eff_array : 7'h0; // @[TLB.scala 270:8:shc.marmotcaravel.MarmotCaravelConfig.fir@200698.4]
+  assign _T_1383 = io_req_bits_cmd == 5'h6; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@200699.4]
+  assign _T_1384 = io_req_bits_cmd == 5'h7; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@200700.4]
+  assign _T_1385 = _T_1383 | _T_1384; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@200701.4]
+  assign _T_1388 = _T_1385 ? 7'h7f : 7'h0; // @[TLB.scala 271:8:shc.marmotcaravel.MarmotCaravelConfig.fir@200704.4]
+  assign ae_array = _T_1382 | _T_1388; // @[TLB.scala 270:37:shc.marmotcaravel.MarmotCaravelConfig.fir@200705.4]
+  assign _T_1389 = io_req_bits_cmd == 5'h0; // @[Consts.scala 93:31:shc.marmotcaravel.MarmotCaravelConfig.fir@200706.4]
+  assign _T_1391 = _T_1389 | _T_1383; // @[Consts.scala 93:41:shc.marmotcaravel.MarmotCaravelConfig.fir@200708.4]
+  assign _T_1393 = _T_1391 | _T_1384; // @[Consts.scala 93:58:shc.marmotcaravel.MarmotCaravelConfig.fir@200710.4]
+  assign _T_1394 = io_req_bits_cmd == 5'h4; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@200711.4]
+  assign _T_1395 = io_req_bits_cmd == 5'h9; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@200712.4]
+  assign _T_1396 = io_req_bits_cmd == 5'ha; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@200713.4]
+  assign _T_1397 = io_req_bits_cmd == 5'hb; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@200714.4]
+  assign _T_1398 = _T_1394 | _T_1395; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@200715.4]
+  assign _T_1399 = _T_1398 | _T_1396; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@200716.4]
+  assign _T_1400 = _T_1399 | _T_1397; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@200717.4]
+  assign _T_1401 = io_req_bits_cmd == 5'h8; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@200718.4]
+  assign _T_1402 = io_req_bits_cmd == 5'hc; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@200719.4]
+  assign _T_1403 = io_req_bits_cmd == 5'hd; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@200720.4]
+  assign _T_1404 = io_req_bits_cmd == 5'he; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@200721.4]
+  assign _T_1405 = io_req_bits_cmd == 5'hf; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@200722.4]
+  assign _T_1406 = _T_1401 | _T_1402; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@200723.4]
+  assign _T_1407 = _T_1406 | _T_1403; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@200724.4]
+  assign _T_1408 = _T_1407 | _T_1404; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@200725.4]
+  assign _T_1409 = _T_1408 | _T_1405; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@200726.4]
+  assign _T_1410 = _T_1400 | _T_1409; // @[Consts.scala 91:44:shc.marmotcaravel.MarmotCaravelConfig.fir@200727.4]
+  assign _T_1411 = _T_1393 | _T_1410; // @[Consts.scala 93:75:shc.marmotcaravel.MarmotCaravelConfig.fir@200728.4]
+  assign _T_1412 = ~ pr_array; // @[TLB.scala 272:61:shc.marmotcaravel.MarmotCaravelConfig.fir@200729.4]
+  assign _T_1413 = ae_array | _T_1412; // @[TLB.scala 272:59:shc.marmotcaravel.MarmotCaravelConfig.fir@200730.4]
+  assign ae_ld_array = _T_1411 ? _T_1413 : 7'h0; // @[TLB.scala 272:24:shc.marmotcaravel.MarmotCaravelConfig.fir@200731.4]
+  assign _T_1414 = io_req_bits_cmd == 5'h1; // @[Consts.scala 94:32:shc.marmotcaravel.MarmotCaravelConfig.fir@200732.4]
+  assign _T_1415 = io_req_bits_cmd == 5'h11; // @[Consts.scala 94:49:shc.marmotcaravel.MarmotCaravelConfig.fir@200733.4]
+  assign _T_1416 = _T_1414 | _T_1415; // @[Consts.scala 94:42:shc.marmotcaravel.MarmotCaravelConfig.fir@200734.4]
+  assign _T_1418 = _T_1416 | _T_1384; // @[Consts.scala 94:59:shc.marmotcaravel.MarmotCaravelConfig.fir@200736.4]
+  assign _T_1436 = _T_1418 | _T_1410; // @[Consts.scala 94:76:shc.marmotcaravel.MarmotCaravelConfig.fir@200754.4]
+  assign _T_1437 = ~ pw_array; // @[TLB.scala 274:46:shc.marmotcaravel.MarmotCaravelConfig.fir@200755.4]
+  assign _T_1438 = ae_array | _T_1437; // @[TLB.scala 274:44:shc.marmotcaravel.MarmotCaravelConfig.fir@200756.4]
+  assign _T_1439 = _T_1436 ? _T_1438 : 7'h0; // @[TLB.scala 274:8:shc.marmotcaravel.MarmotCaravelConfig.fir@200757.4]
+  assign _T_1448 = ~ paa_array; // @[TLB.scala 275:62:shc.marmotcaravel.MarmotCaravelConfig.fir@200766.4]
+  assign _T_1449 = _T_1400 ? _T_1448 : 7'h0; // @[TLB.scala 275:8:shc.marmotcaravel.MarmotCaravelConfig.fir@200767.4]
+  assign _T_1450 = _T_1439 | _T_1449; // @[TLB.scala 274:62:shc.marmotcaravel.MarmotCaravelConfig.fir@200768.4]
+  assign _T_1462 = _T_1409 ? _T_1448 : 7'h0; // @[TLB.scala 276:8:shc.marmotcaravel.MarmotCaravelConfig.fir@200780.4]
+  assign ae_st_array = _T_1450 | _T_1462; // @[TLB.scala 275:79:shc.marmotcaravel.MarmotCaravelConfig.fir@200781.4]
+  assign _T_1486 = misaligned & _T_1411; // @[TLB.scala 277:36:shc.marmotcaravel.MarmotCaravelConfig.fir@200805.4]
+  assign _T_1487 = ~ eff_array; // @[TLB.scala 277:64:shc.marmotcaravel.MarmotCaravelConfig.fir@200806.4]
+  assign ma_ld_array = _T_1486 ? _T_1487 : 7'h0; // @[TLB.scala 277:24:shc.marmotcaravel.MarmotCaravelConfig.fir@200807.4]
+  assign _T_1511 = misaligned & _T_1436; // @[TLB.scala 278:36:shc.marmotcaravel.MarmotCaravelConfig.fir@200831.4]
+  assign ma_st_array = _T_1511 ? _T_1487 : 7'h0; // @[TLB.scala 278:24:shc.marmotcaravel.MarmotCaravelConfig.fir@200833.4]
+  assign pf_ld_array = _T_1411 ? 7'h3f : 7'h0; // @[TLB.scala 279:24:shc.marmotcaravel.MarmotCaravelConfig.fir@200859.4]
+  assign pf_st_array = _T_1436 ? 7'h3f : 7'h0; // @[TLB.scala 280:24:shc.marmotcaravel.MarmotCaravelConfig.fir@200885.4]
+  assign _T_1673 = pf_ld_array & 7'h40; // @[TLB.scala 301:72:shc.marmotcaravel.MarmotCaravelConfig.fir@201007.4]
+  assign _T_1700 = pf_st_array & 7'h40; // @[TLB.scala 302:73:shc.marmotcaravel.MarmotCaravelConfig.fir@201035.4]
+  assign _T_1706 = ae_ld_array & 7'h40; // @[TLB.scala 304:33:shc.marmotcaravel.MarmotCaravelConfig.fir@201043.4]
+  assign _T_1708 = ae_st_array & 7'h40; // @[TLB.scala 305:33:shc.marmotcaravel.MarmotCaravelConfig.fir@201046.4]
+  assign _T_1713 = ma_ld_array & 7'h40; // @[TLB.scala 307:33:shc.marmotcaravel.MarmotCaravelConfig.fir@201053.4]
+  assign _T_1715 = ma_st_array & 7'h40; // @[TLB.scala 308:33:shc.marmotcaravel.MarmotCaravelConfig.fir@201056.4]
+  assign io_resp_paddr = {vpn,_T_223}; // @[TLB.scala 313:17:shc.marmotcaravel.MarmotCaravelConfig.fir@201072.4]
+  assign io_resp_pf_ld = _T_1673 != 7'h0; // @[TLB.scala 301:17:shc.marmotcaravel.MarmotCaravelConfig.fir@201010.4]
+  assign io_resp_pf_st = _T_1700 != 7'h0; // @[TLB.scala 302:17:shc.marmotcaravel.MarmotCaravelConfig.fir@201038.4]
+  assign io_resp_ae_ld = _T_1706 != 7'h0; // @[TLB.scala 304:17:shc.marmotcaravel.MarmotCaravelConfig.fir@201045.4]
+  assign io_resp_ae_st = _T_1708 != 7'h0; // @[TLB.scala 305:17:shc.marmotcaravel.MarmotCaravelConfig.fir@201048.4]
+  assign io_resp_ma_ld = _T_1713 != 7'h0; // @[TLB.scala 307:17:shc.marmotcaravel.MarmotCaravelConfig.fir@201055.4]
+  assign io_resp_ma_st = _T_1715 != 7'h0; // @[TLB.scala 308:17:shc.marmotcaravel.MarmotCaravelConfig.fir@201058.4]
+  assign pmp_io_pmp_0_cfg_l = io_ptw_pmp_0_cfg_l; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199171.4]
+  assign pmp_io_pmp_0_cfg_a = io_ptw_pmp_0_cfg_a; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199171.4]
+  assign pmp_io_pmp_0_cfg_x = io_ptw_pmp_0_cfg_x; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199171.4]
+  assign pmp_io_pmp_0_cfg_w = io_ptw_pmp_0_cfg_w; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199171.4]
+  assign pmp_io_pmp_0_cfg_r = io_ptw_pmp_0_cfg_r; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199171.4]
+  assign pmp_io_pmp_0_addr = io_ptw_pmp_0_addr; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199171.4]
+  assign pmp_io_pmp_0_mask = io_ptw_pmp_0_mask; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199171.4]
+  assign pmp_io_pmp_1_cfg_l = io_ptw_pmp_1_cfg_l; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199172.4]
+  assign pmp_io_pmp_1_cfg_a = io_ptw_pmp_1_cfg_a; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199172.4]
+  assign pmp_io_pmp_1_cfg_x = io_ptw_pmp_1_cfg_x; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199172.4]
+  assign pmp_io_pmp_1_cfg_w = io_ptw_pmp_1_cfg_w; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199172.4]
+  assign pmp_io_pmp_1_cfg_r = io_ptw_pmp_1_cfg_r; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199172.4]
+  assign pmp_io_pmp_1_addr = io_ptw_pmp_1_addr; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199172.4]
+  assign pmp_io_pmp_1_mask = io_ptw_pmp_1_mask; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199172.4]
+  assign pmp_io_pmp_2_cfg_l = io_ptw_pmp_2_cfg_l; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199173.4]
+  assign pmp_io_pmp_2_cfg_a = io_ptw_pmp_2_cfg_a; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199173.4]
+  assign pmp_io_pmp_2_cfg_x = io_ptw_pmp_2_cfg_x; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199173.4]
+  assign pmp_io_pmp_2_cfg_w = io_ptw_pmp_2_cfg_w; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199173.4]
+  assign pmp_io_pmp_2_cfg_r = io_ptw_pmp_2_cfg_r; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199173.4]
+  assign pmp_io_pmp_2_addr = io_ptw_pmp_2_addr; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199173.4]
+  assign pmp_io_pmp_2_mask = io_ptw_pmp_2_mask; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199173.4]
+  assign pmp_io_pmp_3_cfg_l = io_ptw_pmp_3_cfg_l; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199174.4]
+  assign pmp_io_pmp_3_cfg_a = io_ptw_pmp_3_cfg_a; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199174.4]
+  assign pmp_io_pmp_3_cfg_x = io_ptw_pmp_3_cfg_x; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199174.4]
+  assign pmp_io_pmp_3_cfg_w = io_ptw_pmp_3_cfg_w; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199174.4]
+  assign pmp_io_pmp_3_cfg_r = io_ptw_pmp_3_cfg_r; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199174.4]
+  assign pmp_io_pmp_3_addr = io_ptw_pmp_3_addr; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199174.4]
+  assign pmp_io_pmp_3_mask = io_ptw_pmp_3_mask; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199174.4]
+  assign pmp_io_pmp_4_cfg_l = io_ptw_pmp_4_cfg_l; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199175.4]
+  assign pmp_io_pmp_4_cfg_a = io_ptw_pmp_4_cfg_a; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199175.4]
+  assign pmp_io_pmp_4_cfg_x = io_ptw_pmp_4_cfg_x; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199175.4]
+  assign pmp_io_pmp_4_cfg_w = io_ptw_pmp_4_cfg_w; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199175.4]
+  assign pmp_io_pmp_4_cfg_r = io_ptw_pmp_4_cfg_r; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199175.4]
+  assign pmp_io_pmp_4_addr = io_ptw_pmp_4_addr; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199175.4]
+  assign pmp_io_pmp_4_mask = io_ptw_pmp_4_mask; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199175.4]
+  assign pmp_io_pmp_5_cfg_l = io_ptw_pmp_5_cfg_l; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199176.4]
+  assign pmp_io_pmp_5_cfg_a = io_ptw_pmp_5_cfg_a; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199176.4]
+  assign pmp_io_pmp_5_cfg_x = io_ptw_pmp_5_cfg_x; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199176.4]
+  assign pmp_io_pmp_5_cfg_w = io_ptw_pmp_5_cfg_w; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199176.4]
+  assign pmp_io_pmp_5_cfg_r = io_ptw_pmp_5_cfg_r; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199176.4]
+  assign pmp_io_pmp_5_addr = io_ptw_pmp_5_addr; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199176.4]
+  assign pmp_io_pmp_5_mask = io_ptw_pmp_5_mask; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199176.4]
+  assign pmp_io_pmp_6_cfg_l = io_ptw_pmp_6_cfg_l; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199177.4]
+  assign pmp_io_pmp_6_cfg_a = io_ptw_pmp_6_cfg_a; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199177.4]
+  assign pmp_io_pmp_6_cfg_x = io_ptw_pmp_6_cfg_x; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199177.4]
+  assign pmp_io_pmp_6_cfg_w = io_ptw_pmp_6_cfg_w; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199177.4]
+  assign pmp_io_pmp_6_cfg_r = io_ptw_pmp_6_cfg_r; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199177.4]
+  assign pmp_io_pmp_6_addr = io_ptw_pmp_6_addr; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199177.4]
+  assign pmp_io_pmp_6_mask = io_ptw_pmp_6_mask; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199177.4]
+  assign pmp_io_pmp_7_cfg_l = io_ptw_pmp_7_cfg_l; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199178.4]
+  assign pmp_io_pmp_7_cfg_a = io_ptw_pmp_7_cfg_a; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199178.4]
+  assign pmp_io_pmp_7_cfg_x = io_ptw_pmp_7_cfg_x; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199178.4]
+  assign pmp_io_pmp_7_cfg_w = io_ptw_pmp_7_cfg_w; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199178.4]
+  assign pmp_io_pmp_7_cfg_r = io_ptw_pmp_7_cfg_r; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199178.4]
+  assign pmp_io_pmp_7_addr = io_ptw_pmp_7_addr; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199178.4]
+  assign pmp_io_pmp_7_mask = io_ptw_pmp_7_mask; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199178.4]
+  assign pmp_io_addr = {mpu_ppn,_T_223}; // @[TLB.scala 187:15:shc.marmotcaravel.MarmotCaravelConfig.fir@199169.4]
+endmodule
+module AMOALU( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201079.2]
+  input  [4:0]  io_cmd, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201082.4]
+  input  [31:0] io_lhs, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201082.4]
+  input  [31:0] io_rhs, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201082.4]
+  output [31:0] io_out_unmasked // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201082.4]
+);
+  wire  _T_10; // @[AMOALU.scala 64:20:shc.marmotcaravel.MarmotCaravelConfig.fir@201087.4]
+  wire  _T_11; // @[AMOALU.scala 64:43:shc.marmotcaravel.MarmotCaravelConfig.fir@201088.4]
+  wire  max; // @[AMOALU.scala 64:33:shc.marmotcaravel.MarmotCaravelConfig.fir@201089.4]
+  wire  _T_12; // @[AMOALU.scala 65:20:shc.marmotcaravel.MarmotCaravelConfig.fir@201090.4]
+  wire  _T_13; // @[AMOALU.scala 65:43:shc.marmotcaravel.MarmotCaravelConfig.fir@201091.4]
+  wire  min; // @[AMOALU.scala 65:33:shc.marmotcaravel.MarmotCaravelConfig.fir@201092.4]
+  wire  add; // @[AMOALU.scala 66:20:shc.marmotcaravel.MarmotCaravelConfig.fir@201093.4]
+  wire  _T_14; // @[AMOALU.scala 67:26:shc.marmotcaravel.MarmotCaravelConfig.fir@201094.4]
+  wire  _T_15; // @[AMOALU.scala 67:48:shc.marmotcaravel.MarmotCaravelConfig.fir@201095.4]
+  wire  logic_and; // @[AMOALU.scala 67:38:shc.marmotcaravel.MarmotCaravelConfig.fir@201096.4]
+  wire  _T_16; // @[AMOALU.scala 68:26:shc.marmotcaravel.MarmotCaravelConfig.fir@201097.4]
+  wire  logic_xor; // @[AMOALU.scala 68:39:shc.marmotcaravel.MarmotCaravelConfig.fir@201099.4]
+  wire [31:0] adder_out; // @[AMOALU.scala 73:21:shc.marmotcaravel.MarmotCaravelConfig.fir@201104.4]
+  wire [4:0] _T_24; // @[AMOALU.scala 86:17:shc.marmotcaravel.MarmotCaravelConfig.fir@201107.4]
+  wire  _T_26; // @[AMOALU.scala 86:25:shc.marmotcaravel.MarmotCaravelConfig.fir@201109.4]
+  wire  _T_27; // @[AMOALU.scala 88:12:shc.marmotcaravel.MarmotCaravelConfig.fir@201110.4]
+  wire  _T_28; // @[AMOALU.scala 88:23:shc.marmotcaravel.MarmotCaravelConfig.fir@201111.4]
+  wire  _T_29; // @[AMOALU.scala 88:18:shc.marmotcaravel.MarmotCaravelConfig.fir@201112.4]
+  wire  _T_32; // @[AMOALU.scala 79:35:shc.marmotcaravel.MarmotCaravelConfig.fir@201115.4]
+  wire  _T_35; // @[AMOALU.scala 88:58:shc.marmotcaravel.MarmotCaravelConfig.fir@201118.4]
+  wire  less; // @[AMOALU.scala 88:10:shc.marmotcaravel.MarmotCaravelConfig.fir@201119.4]
+  wire  _T_36; // @[AMOALU.scala 94:23:shc.marmotcaravel.MarmotCaravelConfig.fir@201120.4]
+  wire [31:0] minmax; // @[AMOALU.scala 94:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201121.4]
+  wire [31:0] _T_37; // @[AMOALU.scala 96:27:shc.marmotcaravel.MarmotCaravelConfig.fir@201122.4]
+  wire [31:0] _T_38; // @[AMOALU.scala 96:8:shc.marmotcaravel.MarmotCaravelConfig.fir@201123.4]
+  wire [31:0] _T_39; // @[AMOALU.scala 97:27:shc.marmotcaravel.MarmotCaravelConfig.fir@201124.4]
+  wire [31:0] _T_40; // @[AMOALU.scala 97:8:shc.marmotcaravel.MarmotCaravelConfig.fir@201125.4]
+  wire [31:0] logic$; // @[AMOALU.scala 96:42:shc.marmotcaravel.MarmotCaravelConfig.fir@201126.4]
+  wire  _T_41; // @[AMOALU.scala 100:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201127.4]
+  wire [31:0] _T_42; // @[AMOALU.scala 100:8:shc.marmotcaravel.MarmotCaravelConfig.fir@201128.4]
+  assign _T_10 = io_cmd == 5'hd; // @[AMOALU.scala 64:20:shc.marmotcaravel.MarmotCaravelConfig.fir@201087.4]
+  assign _T_11 = io_cmd == 5'hf; // @[AMOALU.scala 64:43:shc.marmotcaravel.MarmotCaravelConfig.fir@201088.4]
+  assign max = _T_10 | _T_11; // @[AMOALU.scala 64:33:shc.marmotcaravel.MarmotCaravelConfig.fir@201089.4]
+  assign _T_12 = io_cmd == 5'hc; // @[AMOALU.scala 65:20:shc.marmotcaravel.MarmotCaravelConfig.fir@201090.4]
+  assign _T_13 = io_cmd == 5'he; // @[AMOALU.scala 65:43:shc.marmotcaravel.MarmotCaravelConfig.fir@201091.4]
+  assign min = _T_12 | _T_13; // @[AMOALU.scala 65:33:shc.marmotcaravel.MarmotCaravelConfig.fir@201092.4]
+  assign add = io_cmd == 5'h8; // @[AMOALU.scala 66:20:shc.marmotcaravel.MarmotCaravelConfig.fir@201093.4]
+  assign _T_14 = io_cmd == 5'ha; // @[AMOALU.scala 67:26:shc.marmotcaravel.MarmotCaravelConfig.fir@201094.4]
+  assign _T_15 = io_cmd == 5'hb; // @[AMOALU.scala 67:48:shc.marmotcaravel.MarmotCaravelConfig.fir@201095.4]
+  assign logic_and = _T_14 | _T_15; // @[AMOALU.scala 67:38:shc.marmotcaravel.MarmotCaravelConfig.fir@201096.4]
+  assign _T_16 = io_cmd == 5'h9; // @[AMOALU.scala 68:26:shc.marmotcaravel.MarmotCaravelConfig.fir@201097.4]
+  assign logic_xor = _T_16 | _T_14; // @[AMOALU.scala 68:39:shc.marmotcaravel.MarmotCaravelConfig.fir@201099.4]
+  assign adder_out = io_lhs + io_rhs; // @[AMOALU.scala 73:21:shc.marmotcaravel.MarmotCaravelConfig.fir@201104.4]
+  assign _T_24 = io_cmd & 5'h2; // @[AMOALU.scala 86:17:shc.marmotcaravel.MarmotCaravelConfig.fir@201107.4]
+  assign _T_26 = _T_24 == 5'h0; // @[AMOALU.scala 86:25:shc.marmotcaravel.MarmotCaravelConfig.fir@201109.4]
+  assign _T_27 = io_lhs[31]; // @[AMOALU.scala 88:12:shc.marmotcaravel.MarmotCaravelConfig.fir@201110.4]
+  assign _T_28 = io_rhs[31]; // @[AMOALU.scala 88:23:shc.marmotcaravel.MarmotCaravelConfig.fir@201111.4]
+  assign _T_29 = _T_27 == _T_28; // @[AMOALU.scala 88:18:shc.marmotcaravel.MarmotCaravelConfig.fir@201112.4]
+  assign _T_32 = io_lhs < io_rhs; // @[AMOALU.scala 79:35:shc.marmotcaravel.MarmotCaravelConfig.fir@201115.4]
+  assign _T_35 = _T_26 ? _T_27 : _T_28; // @[AMOALU.scala 88:58:shc.marmotcaravel.MarmotCaravelConfig.fir@201118.4]
+  assign less = _T_29 ? _T_32 : _T_35; // @[AMOALU.scala 88:10:shc.marmotcaravel.MarmotCaravelConfig.fir@201119.4]
+  assign _T_36 = less ? min : max; // @[AMOALU.scala 94:23:shc.marmotcaravel.MarmotCaravelConfig.fir@201120.4]
+  assign minmax = _T_36 ? io_lhs : io_rhs; // @[AMOALU.scala 94:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201121.4]
+  assign _T_37 = io_lhs & io_rhs; // @[AMOALU.scala 96:27:shc.marmotcaravel.MarmotCaravelConfig.fir@201122.4]
+  assign _T_38 = logic_and ? _T_37 : 32'h0; // @[AMOALU.scala 96:8:shc.marmotcaravel.MarmotCaravelConfig.fir@201123.4]
+  assign _T_39 = io_lhs ^ io_rhs; // @[AMOALU.scala 97:27:shc.marmotcaravel.MarmotCaravelConfig.fir@201124.4]
+  assign _T_40 = logic_xor ? _T_39 : 32'h0; // @[AMOALU.scala 97:8:shc.marmotcaravel.MarmotCaravelConfig.fir@201125.4]
+  assign logic$ = _T_38 | _T_40; // @[AMOALU.scala 96:42:shc.marmotcaravel.MarmotCaravelConfig.fir@201126.4]
+  assign _T_41 = logic_and | logic_xor; // @[AMOALU.scala 100:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201127.4]
+  assign _T_42 = _T_41 ? logic$ : minmax; // @[AMOALU.scala 100:8:shc.marmotcaravel.MarmotCaravelConfig.fir@201128.4]
+  assign io_out_unmasked = add ? adder_out : _T_42; // @[AMOALU.scala 105:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201150.4]
+endmodule
+module DCache( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201152.2]
+  input         gated_clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201153.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201154.4]
+  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201155.4]
+  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201155.4]
+  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201155.4]
+  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201155.4]
+  output [3:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201155.4]
+  output [31:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201155.4]
+  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201155.4]
+  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201155.4]
+  output        auto_out_c_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201155.4]
+  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201155.4]
+  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201155.4]
+  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201155.4]
+  input  [3:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201155.4]
+  input         auto_out_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201155.4]
+  input  [31:0] auto_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201155.4]
+  output        auto_out_e_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201155.4]
+  output        io_cpu_req_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
+  input         io_cpu_req_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
+  input  [31:0] io_cpu_req_bits_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
+  input  [6:0]  io_cpu_req_bits_tag, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
+  input  [4:0]  io_cpu_req_bits_cmd, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
+  input  [2:0]  io_cpu_req_bits_typ, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
+  input         io_cpu_req_bits_phys, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
+  input         io_cpu_s1_kill, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
+  input  [31:0] io_cpu_s1_data_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
+  input  [3:0]  io_cpu_s1_data_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
+  output        io_cpu_s2_nack, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
+  output        io_cpu_resp_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
+  output [31:0] io_cpu_resp_bits_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
+  output [6:0]  io_cpu_resp_bits_tag, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
+  output [4:0]  io_cpu_resp_bits_cmd, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
+  output [2:0]  io_cpu_resp_bits_typ, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
+  output [31:0] io_cpu_resp_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
+  output        io_cpu_resp_bits_replay, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
+  output        io_cpu_resp_bits_has_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
+  output [31:0] io_cpu_resp_bits_data_word_bypass, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
+  output [31:0] io_cpu_resp_bits_data_raw, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
+  output [31:0] io_cpu_resp_bits_store_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
+  output        io_cpu_replay_next, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
+  output        io_cpu_s2_xcpt_ma_ld, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
+  output        io_cpu_s2_xcpt_ma_st, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
+  output        io_cpu_s2_xcpt_pf_ld, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
+  output        io_cpu_s2_xcpt_pf_st, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
+  output        io_cpu_s2_xcpt_ae_ld, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
+  output        io_cpu_s2_xcpt_ae_st, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
+  output        io_cpu_ordered, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
+  output        io_cpu_perf_grant, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
+  input         io_cpu_keep_clock_enabled, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
+  output        io_cpu_clock_enabled, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
+  input         io_ptw_pmp_0_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
+  input  [1:0]  io_ptw_pmp_0_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
+  input         io_ptw_pmp_0_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
+  input         io_ptw_pmp_0_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
+  input         io_ptw_pmp_0_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
+  input  [29:0] io_ptw_pmp_0_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
+  input  [31:0] io_ptw_pmp_0_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
+  input         io_ptw_pmp_1_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
+  input  [1:0]  io_ptw_pmp_1_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
+  input         io_ptw_pmp_1_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
+  input         io_ptw_pmp_1_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
+  input         io_ptw_pmp_1_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
+  input  [29:0] io_ptw_pmp_1_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
+  input  [31:0] io_ptw_pmp_1_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
+  input         io_ptw_pmp_2_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
+  input  [1:0]  io_ptw_pmp_2_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
+  input         io_ptw_pmp_2_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
+  input         io_ptw_pmp_2_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
+  input         io_ptw_pmp_2_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
+  input  [29:0] io_ptw_pmp_2_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
+  input  [31:0] io_ptw_pmp_2_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
+  input         io_ptw_pmp_3_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
+  input  [1:0]  io_ptw_pmp_3_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
+  input         io_ptw_pmp_3_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
+  input         io_ptw_pmp_3_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
+  input         io_ptw_pmp_3_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
+  input  [29:0] io_ptw_pmp_3_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
+  input  [31:0] io_ptw_pmp_3_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
+  input         io_ptw_pmp_4_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
+  input  [1:0]  io_ptw_pmp_4_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
+  input         io_ptw_pmp_4_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
+  input         io_ptw_pmp_4_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
+  input         io_ptw_pmp_4_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
+  input  [29:0] io_ptw_pmp_4_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
+  input  [31:0] io_ptw_pmp_4_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
+  input         io_ptw_pmp_5_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
+  input  [1:0]  io_ptw_pmp_5_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
+  input         io_ptw_pmp_5_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
+  input         io_ptw_pmp_5_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
+  input         io_ptw_pmp_5_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
+  input  [29:0] io_ptw_pmp_5_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
+  input  [31:0] io_ptw_pmp_5_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
+  input         io_ptw_pmp_6_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
+  input  [1:0]  io_ptw_pmp_6_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
+  input         io_ptw_pmp_6_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
+  input         io_ptw_pmp_6_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
+  input         io_ptw_pmp_6_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
+  input  [29:0] io_ptw_pmp_6_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
+  input  [31:0] io_ptw_pmp_6_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
+  input         io_ptw_pmp_7_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
+  input  [1:0]  io_ptw_pmp_7_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
+  input         io_ptw_pmp_7_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
+  input         io_ptw_pmp_7_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
+  input         io_ptw_pmp_7_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
+  input  [29:0] io_ptw_pmp_7_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
+  input  [31:0] io_ptw_pmp_7_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
+  output [11:0] data_arrays_0_ext_RW0_addr,
+  output  data_arrays_0_ext_RW0_en,
+  output  data_arrays_0_ext_RW0_clk,
+  output  data_arrays_0_ext_RW0_wmode,
+  output [31:0] data_arrays_0_ext_RW0_wdata,
+  input  [31:0] data_arrays_0_ext_RW0_rdata,
+  output [3:0] data_arrays_0_ext_RW0_wmask
+);
+  wire  metaArb_io_in_0_valid; // @[DCache.scala 98:23:shc.marmotcaravel.MarmotCaravelConfig.fir@201183.4]
+  wire [31:0] metaArb_io_in_0_bits_addr; // @[DCache.scala 98:23:shc.marmotcaravel.MarmotCaravelConfig.fir@201183.4]
+  wire  metaArb_io_in_2_valid; // @[DCache.scala 98:23:shc.marmotcaravel.MarmotCaravelConfig.fir@201183.4]
+  wire [31:0] metaArb_io_in_2_bits_addr; // @[DCache.scala 98:23:shc.marmotcaravel.MarmotCaravelConfig.fir@201183.4]
+  wire  metaArb_io_in_3_valid; // @[DCache.scala 98:23:shc.marmotcaravel.MarmotCaravelConfig.fir@201183.4]
+  wire [31:0] metaArb_io_in_3_bits_addr; // @[DCache.scala 98:23:shc.marmotcaravel.MarmotCaravelConfig.fir@201183.4]
+  wire  metaArb_io_in_4_ready; // @[DCache.scala 98:23:shc.marmotcaravel.MarmotCaravelConfig.fir@201183.4]
+  wire  metaArb_io_in_4_valid; // @[DCache.scala 98:23:shc.marmotcaravel.MarmotCaravelConfig.fir@201183.4]
+  wire [31:0] metaArb_io_in_4_bits_addr; // @[DCache.scala 98:23:shc.marmotcaravel.MarmotCaravelConfig.fir@201183.4]
+  wire  metaArb_io_in_5_ready; // @[DCache.scala 98:23:shc.marmotcaravel.MarmotCaravelConfig.fir@201183.4]
+  wire  metaArb_io_in_5_valid; // @[DCache.scala 98:23:shc.marmotcaravel.MarmotCaravelConfig.fir@201183.4]
+  wire [31:0] metaArb_io_in_5_bits_addr; // @[DCache.scala 98:23:shc.marmotcaravel.MarmotCaravelConfig.fir@201183.4]
+  wire [7:0] metaArb_io_in_5_bits_idx; // @[DCache.scala 98:23:shc.marmotcaravel.MarmotCaravelConfig.fir@201183.4]
+  wire  metaArb_io_in_7_ready; // @[DCache.scala 98:23:shc.marmotcaravel.MarmotCaravelConfig.fir@201183.4]
+  wire  metaArb_io_in_7_valid; // @[DCache.scala 98:23:shc.marmotcaravel.MarmotCaravelConfig.fir@201183.4]
+  wire [31:0] metaArb_io_in_7_bits_addr; // @[DCache.scala 98:23:shc.marmotcaravel.MarmotCaravelConfig.fir@201183.4]
+  wire  metaArb_io_out_ready; // @[DCache.scala 98:23:shc.marmotcaravel.MarmotCaravelConfig.fir@201183.4]
+  wire  metaArb_io_out_valid; // @[DCache.scala 98:23:shc.marmotcaravel.MarmotCaravelConfig.fir@201183.4]
+  wire  metaArb_io_out_bits_write; // @[DCache.scala 98:23:shc.marmotcaravel.MarmotCaravelConfig.fir@201183.4]
+  wire [31:0] metaArb_io_out_bits_addr; // @[DCache.scala 98:23:shc.marmotcaravel.MarmotCaravelConfig.fir@201183.4]
+  wire  data_clock; // @[DCache.scala 108:20:shc.marmotcaravel.MarmotCaravelConfig.fir@201188.4]
+  wire  data_io_req_valid; // @[DCache.scala 108:20:shc.marmotcaravel.MarmotCaravelConfig.fir@201188.4]
+  wire [13:0] data_io_req_bits_addr; // @[DCache.scala 108:20:shc.marmotcaravel.MarmotCaravelConfig.fir@201188.4]
+  wire  data_io_req_bits_write; // @[DCache.scala 108:20:shc.marmotcaravel.MarmotCaravelConfig.fir@201188.4]
+  wire [31:0] data_io_req_bits_wdata; // @[DCache.scala 108:20:shc.marmotcaravel.MarmotCaravelConfig.fir@201188.4]
+  wire [3:0] data_io_req_bits_eccMask; // @[DCache.scala 108:20:shc.marmotcaravel.MarmotCaravelConfig.fir@201188.4]
+  wire [31:0] data_io_resp_0; // @[DCache.scala 108:20:shc.marmotcaravel.MarmotCaravelConfig.fir@201188.4]
+  wire  dataArb_io_in_0_valid; // @[DCache.scala 109:23:shc.marmotcaravel.MarmotCaravelConfig.fir@201192.4]
+  wire [13:0] dataArb_io_in_0_bits_addr; // @[DCache.scala 109:23:shc.marmotcaravel.MarmotCaravelConfig.fir@201192.4]
+  wire  dataArb_io_in_0_bits_write; // @[DCache.scala 109:23:shc.marmotcaravel.MarmotCaravelConfig.fir@201192.4]
+  wire [31:0] dataArb_io_in_0_bits_wdata; // @[DCache.scala 109:23:shc.marmotcaravel.MarmotCaravelConfig.fir@201192.4]
+  wire [3:0] dataArb_io_in_0_bits_eccMask; // @[DCache.scala 109:23:shc.marmotcaravel.MarmotCaravelConfig.fir@201192.4]
+  wire  dataArb_io_in_1_ready; // @[DCache.scala 109:23:shc.marmotcaravel.MarmotCaravelConfig.fir@201192.4]
+  wire  dataArb_io_in_1_valid; // @[DCache.scala 109:23:shc.marmotcaravel.MarmotCaravelConfig.fir@201192.4]
+  wire [13:0] dataArb_io_in_1_bits_addr; // @[DCache.scala 109:23:shc.marmotcaravel.MarmotCaravelConfig.fir@201192.4]
+  wire  dataArb_io_in_1_bits_write; // @[DCache.scala 109:23:shc.marmotcaravel.MarmotCaravelConfig.fir@201192.4]
+  wire [31:0] dataArb_io_in_1_bits_wdata; // @[DCache.scala 109:23:shc.marmotcaravel.MarmotCaravelConfig.fir@201192.4]
+  wire [3:0] dataArb_io_in_1_bits_eccMask; // @[DCache.scala 109:23:shc.marmotcaravel.MarmotCaravelConfig.fir@201192.4]
+  wire  dataArb_io_in_2_ready; // @[DCache.scala 109:23:shc.marmotcaravel.MarmotCaravelConfig.fir@201192.4]
+  wire  dataArb_io_in_2_valid; // @[DCache.scala 109:23:shc.marmotcaravel.MarmotCaravelConfig.fir@201192.4]
+  wire [13:0] dataArb_io_in_2_bits_addr; // @[DCache.scala 109:23:shc.marmotcaravel.MarmotCaravelConfig.fir@201192.4]
+  wire [31:0] dataArb_io_in_2_bits_wdata; // @[DCache.scala 109:23:shc.marmotcaravel.MarmotCaravelConfig.fir@201192.4]
+  wire [3:0] dataArb_io_in_2_bits_eccMask; // @[DCache.scala 109:23:shc.marmotcaravel.MarmotCaravelConfig.fir@201192.4]
+  wire  dataArb_io_in_3_ready; // @[DCache.scala 109:23:shc.marmotcaravel.MarmotCaravelConfig.fir@201192.4]
+  wire  dataArb_io_in_3_valid; // @[DCache.scala 109:23:shc.marmotcaravel.MarmotCaravelConfig.fir@201192.4]
+  wire [13:0] dataArb_io_in_3_bits_addr; // @[DCache.scala 109:23:shc.marmotcaravel.MarmotCaravelConfig.fir@201192.4]
+  wire [31:0] dataArb_io_in_3_bits_wdata; // @[DCache.scala 109:23:shc.marmotcaravel.MarmotCaravelConfig.fir@201192.4]
+  wire [3:0] dataArb_io_in_3_bits_eccMask; // @[DCache.scala 109:23:shc.marmotcaravel.MarmotCaravelConfig.fir@201192.4]
+  wire  dataArb_io_out_valid; // @[DCache.scala 109:23:shc.marmotcaravel.MarmotCaravelConfig.fir@201192.4]
+  wire [13:0] dataArb_io_out_bits_addr; // @[DCache.scala 109:23:shc.marmotcaravel.MarmotCaravelConfig.fir@201192.4]
+  wire  dataArb_io_out_bits_write; // @[DCache.scala 109:23:shc.marmotcaravel.MarmotCaravelConfig.fir@201192.4]
+  wire [31:0] dataArb_io_out_bits_wdata; // @[DCache.scala 109:23:shc.marmotcaravel.MarmotCaravelConfig.fir@201192.4]
+  wire [3:0] dataArb_io_out_bits_eccMask; // @[DCache.scala 109:23:shc.marmotcaravel.MarmotCaravelConfig.fir@201192.4]
+  wire  tlb_io_req_valid; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
+  wire [31:0] tlb_io_req_bits_vaddr; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
+  wire [1:0] tlb_io_req_bits_size; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
+  wire [4:0] tlb_io_req_bits_cmd; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
+  wire [31:0] tlb_io_resp_paddr; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
+  wire  tlb_io_resp_pf_ld; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
+  wire  tlb_io_resp_pf_st; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
+  wire  tlb_io_resp_ae_ld; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
+  wire  tlb_io_resp_ae_st; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
+  wire  tlb_io_resp_ma_ld; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
+  wire  tlb_io_resp_ma_st; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
+  wire  tlb_io_ptw_pmp_0_cfg_l; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
+  wire [1:0] tlb_io_ptw_pmp_0_cfg_a; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
+  wire  tlb_io_ptw_pmp_0_cfg_x; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
+  wire  tlb_io_ptw_pmp_0_cfg_w; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
+  wire  tlb_io_ptw_pmp_0_cfg_r; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
+  wire [29:0] tlb_io_ptw_pmp_0_addr; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
+  wire [31:0] tlb_io_ptw_pmp_0_mask; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
+  wire  tlb_io_ptw_pmp_1_cfg_l; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
+  wire [1:0] tlb_io_ptw_pmp_1_cfg_a; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
+  wire  tlb_io_ptw_pmp_1_cfg_x; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
+  wire  tlb_io_ptw_pmp_1_cfg_w; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
+  wire  tlb_io_ptw_pmp_1_cfg_r; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
+  wire [29:0] tlb_io_ptw_pmp_1_addr; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
+  wire [31:0] tlb_io_ptw_pmp_1_mask; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
+  wire  tlb_io_ptw_pmp_2_cfg_l; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
+  wire [1:0] tlb_io_ptw_pmp_2_cfg_a; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
+  wire  tlb_io_ptw_pmp_2_cfg_x; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
+  wire  tlb_io_ptw_pmp_2_cfg_w; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
+  wire  tlb_io_ptw_pmp_2_cfg_r; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
+  wire [29:0] tlb_io_ptw_pmp_2_addr; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
+  wire [31:0] tlb_io_ptw_pmp_2_mask; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
+  wire  tlb_io_ptw_pmp_3_cfg_l; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
+  wire [1:0] tlb_io_ptw_pmp_3_cfg_a; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
+  wire  tlb_io_ptw_pmp_3_cfg_x; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
+  wire  tlb_io_ptw_pmp_3_cfg_w; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
+  wire  tlb_io_ptw_pmp_3_cfg_r; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
+  wire [29:0] tlb_io_ptw_pmp_3_addr; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
+  wire [31:0] tlb_io_ptw_pmp_3_mask; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
+  wire  tlb_io_ptw_pmp_4_cfg_l; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
+  wire [1:0] tlb_io_ptw_pmp_4_cfg_a; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
+  wire  tlb_io_ptw_pmp_4_cfg_x; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
+  wire  tlb_io_ptw_pmp_4_cfg_w; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
+  wire  tlb_io_ptw_pmp_4_cfg_r; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
+  wire [29:0] tlb_io_ptw_pmp_4_addr; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
+  wire [31:0] tlb_io_ptw_pmp_4_mask; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
+  wire  tlb_io_ptw_pmp_5_cfg_l; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
+  wire [1:0] tlb_io_ptw_pmp_5_cfg_a; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
+  wire  tlb_io_ptw_pmp_5_cfg_x; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
+  wire  tlb_io_ptw_pmp_5_cfg_w; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
+  wire  tlb_io_ptw_pmp_5_cfg_r; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
+  wire [29:0] tlb_io_ptw_pmp_5_addr; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
+  wire [31:0] tlb_io_ptw_pmp_5_mask; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
+  wire  tlb_io_ptw_pmp_6_cfg_l; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
+  wire [1:0] tlb_io_ptw_pmp_6_cfg_a; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
+  wire  tlb_io_ptw_pmp_6_cfg_x; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
+  wire  tlb_io_ptw_pmp_6_cfg_w; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
+  wire  tlb_io_ptw_pmp_6_cfg_r; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
+  wire [29:0] tlb_io_ptw_pmp_6_addr; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
+  wire [31:0] tlb_io_ptw_pmp_6_mask; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
+  wire  tlb_io_ptw_pmp_7_cfg_l; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
+  wire [1:0] tlb_io_ptw_pmp_7_cfg_a; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
+  wire  tlb_io_ptw_pmp_7_cfg_x; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
+  wire  tlb_io_ptw_pmp_7_cfg_w; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
+  wire  tlb_io_ptw_pmp_7_cfg_r; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
+  wire [29:0] tlb_io_ptw_pmp_7_addr; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
+  wire [31:0] tlb_io_ptw_pmp_7_mask; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
+  wire [4:0] amoalu_io_cmd; // @[DCache.scala 743:24:shc.marmotcaravel.MarmotCaravelConfig.fir@204276.4]
+  wire [31:0] amoalu_io_lhs; // @[DCache.scala 743:24:shc.marmotcaravel.MarmotCaravelConfig.fir@204276.4]
+  wire [31:0] amoalu_io_rhs; // @[DCache.scala 743:24:shc.marmotcaravel.MarmotCaravelConfig.fir@204276.4]
+  wire [31:0] amoalu_io_out_unmasked; // @[DCache.scala 743:24:shc.marmotcaravel.MarmotCaravelConfig.fir@204276.4]
+  reg  clock_en_reg; // @[DCache.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@201165.4]
+  reg [31:0] _RAND_0;
+  wire [1:0] opc; // @[DCache.scala 482:26:shc.marmotcaravel.MarmotCaravelConfig.fir@203738.4]
+  wire [1:0] _T_2382; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@203739.4]
+  wire  data_1; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@203740.4]
+  reg  blockUncachedGrant; // @[DCache.scala 572:31:shc.marmotcaravel.MarmotCaravelConfig.fir@203942.4]
+  reg [31:0] _RAND_1;
+  reg  s1_valid; // @[DCache.scala 131:21:shc.marmotcaravel.MarmotCaravelConfig.fir@201215.4]
+  reg [31:0] _RAND_2;
+  wire  _T_2513; // @[DCache.scala 574:52:shc.marmotcaravel.MarmotCaravelConfig.fir@203944.4]
+  wire  _T_2514; // @[DCache.scala 574:29:shc.marmotcaravel.MarmotCaravelConfig.fir@203945.4]
+  wire [2:0] _GEN_176; // @[DCache.scala 491:29:shc.marmotcaravel.MarmotCaravelConfig.fir@203747.4]
+  wire  grantIsRefill; // @[DCache.scala 491:29:shc.marmotcaravel.MarmotCaravelConfig.fir@203747.4]
+  wire  _T_2429; // @[DCache.scala 544:26:shc.marmotcaravel.MarmotCaravelConfig.fir@203845.4]
+  wire  _T_2430; // @[DCache.scala 544:23:shc.marmotcaravel.MarmotCaravelConfig.fir@203846.4]
+  wire  _T_2385; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@203743.4]
+  wire  grantIsCached; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@203745.4]
+  reg [9:0] _T_2363; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@203708.4]
+  reg [31:0] _RAND_3;
+  wire  d_first; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@203712.4]
+  wire  _GEN_133; // @[DCache.scala 544:51:shc.marmotcaravel.MarmotCaravelConfig.fir@203847.4]
+  wire  tl_out__d_ready; // @[DCache.scala 574:66:shc.marmotcaravel.MarmotCaravelConfig.fir@203946.4]
+  wire  _T_2397; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@203762.4]
+  wire  _T_2367; // @[Edges.scala 232:25:shc.marmotcaravel.MarmotCaravelConfig.fir@203713.4]
+  wire  _T_2360; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@203706.4]
+  wire [26:0] _T_2356; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@203702.4]
+  wire [11:0] _T_2357; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@203703.4]
+  wire [11:0] _T_2358; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@203704.4]
+  wire [9:0] _T_2359; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@203705.4]
+  wire [9:0] _T_2361; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@203707.4]
+  wire  _T_2368; // @[Edges.scala 232:47:shc.marmotcaravel.MarmotCaravelConfig.fir@203714.4]
+  wire  d_last; // @[Edges.scala 232:37:shc.marmotcaravel.MarmotCaravelConfig.fir@203715.4]
+  wire [31:0] _T_253; // @[DCache.scala 112:65:shc.marmotcaravel.MarmotCaravelConfig.fir@201200.4]
+  wire [7:0] _T_254; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@201201.4]
+  wire [7:0] _T_255; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@201202.4]
+  wire [7:0] _T_256; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@201203.4]
+  wire [7:0] _T_257; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@201204.4]
+  wire [15:0] _T_258; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@201205.4]
+  wire [15:0] _T_259; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@201206.4]
+  wire  _T_263; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@201214.4]
+  wire  _T_583; // @[DCache.scala 233:34:shc.marmotcaravel.MarmotCaravelConfig.fir@201609.4]
+  reg [2:0] release_state; // @[DCache.scala 155:26:shc.marmotcaravel.MarmotCaravelConfig.fir@201308.4]
+  reg [31:0] _RAND_4;
+  wire  releaseInFlight; // @[DCache.scala 233:63:shc.marmotcaravel.MarmotCaravelConfig.fir@201610.4]
+  reg [2:0] blockProbeAfterGrantCount; // @[DCache.scala 493:38:shc.marmotcaravel.MarmotCaravelConfig.fir@203749.4]
+  reg [31:0] _RAND_5;
+  wire  _T_2519; // @[DCache.scala 587:85:shc.marmotcaravel.MarmotCaravelConfig.fir@203959.4]
+  reg [6:0] lrscCount; // @[DCache.scala 327:22:shc.marmotcaravel.MarmotCaravelConfig.fir@202151.4]
+  reg [31:0] _RAND_6;
+  wire  lrscValid; // @[DCache.scala 328:29:shc.marmotcaravel.MarmotCaravelConfig.fir@202152.4]
+  reg  s2_valid_pre_xcpt; // @[DCache.scala 230:30:shc.marmotcaravel.MarmotCaravelConfig.fir@201597.4]
+  reg [31:0] _RAND_7;
+  wire [1:0] _T_577; // @[DCache.scala 231:55:shc.marmotcaravel.MarmotCaravelConfig.fir@201601.4]
+  wire [2:0] _T_578; // @[DCache.scala 231:55:shc.marmotcaravel.MarmotCaravelConfig.fir@201602.4]
+  wire [1:0] _T_575; // @[DCache.scala 231:55:shc.marmotcaravel.MarmotCaravelConfig.fir@201599.4]
+  wire [2:0] _T_576; // @[DCache.scala 231:55:shc.marmotcaravel.MarmotCaravelConfig.fir@201600.4]
+  wire [5:0] _T_579; // @[DCache.scala 231:55:shc.marmotcaravel.MarmotCaravelConfig.fir@201603.4]
+  wire  _T_580; // @[DCache.scala 231:62:shc.marmotcaravel.MarmotCaravelConfig.fir@201604.4]
+  wire  _T_581; // @[DCache.scala 231:39:shc.marmotcaravel.MarmotCaravelConfig.fir@201605.4]
+  wire  s2_valid; // @[DCache.scala 231:36:shc.marmotcaravel.MarmotCaravelConfig.fir@201606.4]
+  wire  _T_2528; // @[DCache.scala 589:76:shc.marmotcaravel.MarmotCaravelConfig.fir@203970.4]
+  wire  _T_270; // @[DCache.scala 135:37:shc.marmotcaravel.MarmotCaravelConfig.fir@201235.4]
+  wire  s1_valid_masked; // @[DCache.scala 135:34:shc.marmotcaravel.MarmotCaravelConfig.fir@201236.4]
+  reg [4:0] s1_req_cmd; // @[DCache.scala 137:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201239.4]
+  reg [31:0] _RAND_8;
+  wire  _T_277; // @[Consts.scala 93:31:shc.marmotcaravel.MarmotCaravelConfig.fir@201253.4]
+  wire  _T_278; // @[Consts.scala 93:48:shc.marmotcaravel.MarmotCaravelConfig.fir@201254.4]
+  wire  _T_279; // @[Consts.scala 93:41:shc.marmotcaravel.MarmotCaravelConfig.fir@201255.4]
+  wire  _T_280; // @[Consts.scala 93:65:shc.marmotcaravel.MarmotCaravelConfig.fir@201256.4]
+  wire  _T_281; // @[Consts.scala 93:58:shc.marmotcaravel.MarmotCaravelConfig.fir@201257.4]
+  wire  _T_282; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201258.4]
+  wire  _T_283; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201259.4]
+  wire  _T_286; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@201262.4]
+  wire  _T_284; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201260.4]
+  wire  _T_287; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@201263.4]
+  wire  _T_285; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201261.4]
+  wire  _T_288; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@201264.4]
+  wire  _T_289; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201265.4]
+  wire  _T_290; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201266.4]
+  wire  _T_294; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@201270.4]
+  wire  _T_291; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201267.4]
+  wire  _T_295; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@201271.4]
+  wire  _T_292; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201268.4]
+  wire  _T_296; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@201272.4]
+  wire  _T_293; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201269.4]
+  wire  _T_297; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@201273.4]
+  wire  _T_298; // @[Consts.scala 91:44:shc.marmotcaravel.MarmotCaravelConfig.fir@201274.4]
+  wire  s1_read; // @[Consts.scala 93:75:shc.marmotcaravel.MarmotCaravelConfig.fir@201275.4]
+  reg  _T_587; // @[DCache.scala 234:40:shc.marmotcaravel.MarmotCaravelConfig.fir@201613.4]
+  reg [31:0] _RAND_9;
+  wire  s2_valid_masked; // @[DCache.scala 234:34:shc.marmotcaravel.MarmotCaravelConfig.fir@201615.4]
+  reg [4:0] s2_req_cmd; // @[DCache.scala 236:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201618.4]
+  reg [31:0] _RAND_10;
+  wire  _T_598; // @[Consts.scala 93:31:shc.marmotcaravel.MarmotCaravelConfig.fir@201636.4]
+  wire  _T_599; // @[Consts.scala 93:48:shc.marmotcaravel.MarmotCaravelConfig.fir@201637.4]
+  wire  _T_600; // @[Consts.scala 93:41:shc.marmotcaravel.MarmotCaravelConfig.fir@201638.4]
+  wire  _T_601; // @[Consts.scala 93:65:shc.marmotcaravel.MarmotCaravelConfig.fir@201639.4]
+  wire  _T_602; // @[Consts.scala 93:58:shc.marmotcaravel.MarmotCaravelConfig.fir@201640.4]
+  wire  _T_603; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201641.4]
+  wire  _T_604; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201642.4]
+  wire  _T_607; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@201645.4]
+  wire  _T_605; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201643.4]
+  wire  _T_608; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@201646.4]
+  wire  _T_606; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201644.4]
+  wire  _T_609; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@201647.4]
+  wire  _T_610; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201648.4]
+  wire  _T_611; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201649.4]
+  wire  _T_615; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@201653.4]
+  wire  _T_612; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201650.4]
+  wire  _T_616; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@201654.4]
+  wire  _T_613; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201651.4]
+  wire  _T_617; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@201655.4]
+  wire  _T_614; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201652.4]
+  wire  _T_618; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@201656.4]
+  wire  _T_619; // @[Consts.scala 91:44:shc.marmotcaravel.MarmotCaravelConfig.fir@201657.4]
+  wire  s2_read; // @[Consts.scala 93:75:shc.marmotcaravel.MarmotCaravelConfig.fir@201658.4]
+  wire  _T_620; // @[Consts.scala 94:32:shc.marmotcaravel.MarmotCaravelConfig.fir@201659.4]
+  wire  _T_621; // @[Consts.scala 94:49:shc.marmotcaravel.MarmotCaravelConfig.fir@201660.4]
+  wire  _T_622; // @[Consts.scala 94:42:shc.marmotcaravel.MarmotCaravelConfig.fir@201661.4]
+  wire  _T_624; // @[Consts.scala 94:59:shc.marmotcaravel.MarmotCaravelConfig.fir@201663.4]
+  wire  s2_write; // @[Consts.scala 94:76:shc.marmotcaravel.MarmotCaravelConfig.fir@201681.4]
+  wire  s2_readwrite; // @[DCache.scala 247:30:shc.marmotcaravel.MarmotCaravelConfig.fir@201682.4]
+  wire  _T_803; // @[DCache.scala 282:51:shc.marmotcaravel.MarmotCaravelConfig.fir@201891.4]
+  wire  _T_720; // @[Consts.scala 95:54:shc.marmotcaravel.MarmotCaravelConfig.fir@201797.4]
+  wire  _T_721; // @[Consts.scala 95:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201798.4]
+  wire  _T_723; // @[Consts.scala 95:64:shc.marmotcaravel.MarmotCaravelConfig.fir@201800.4]
+  wire [1:0] _T_724; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@201801.4]
+  reg [1:0] s2_hit_state_state; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@201740.4]
+  reg [31:0] _RAND_11;
+  wire [3:0] _T_725; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@201802.4]
+  wire  _T_783; // @[Misc.scala 51:20:shc.marmotcaravel.MarmotCaravelConfig.fir@201860.4]
+  wire  _T_780; // @[Misc.scala 51:20:shc.marmotcaravel.MarmotCaravelConfig.fir@201857.4]
+  wire  _T_777; // @[Misc.scala 51:20:shc.marmotcaravel.MarmotCaravelConfig.fir@201854.4]
+  wire  _T_774; // @[Misc.scala 51:20:shc.marmotcaravel.MarmotCaravelConfig.fir@201851.4]
+  wire  _T_771; // @[Misc.scala 51:20:shc.marmotcaravel.MarmotCaravelConfig.fir@201848.4]
+  wire  _T_768; // @[Misc.scala 51:20:shc.marmotcaravel.MarmotCaravelConfig.fir@201845.4]
+  wire  _T_765; // @[Misc.scala 51:20:shc.marmotcaravel.MarmotCaravelConfig.fir@201842.4]
+  wire  _T_762; // @[Misc.scala 51:20:shc.marmotcaravel.MarmotCaravelConfig.fir@201839.4]
+  wire  _T_759; // @[Misc.scala 51:20:shc.marmotcaravel.MarmotCaravelConfig.fir@201836.4]
+  wire  _T_756; // @[Misc.scala 51:20:shc.marmotcaravel.MarmotCaravelConfig.fir@201833.4]
+  wire  _T_753; // @[Misc.scala 51:20:shc.marmotcaravel.MarmotCaravelConfig.fir@201830.4]
+  wire  _T_750; // @[Misc.scala 51:20:shc.marmotcaravel.MarmotCaravelConfig.fir@201827.4]
+  wire  _T_769; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@201846.4]
+  wire  _T_772; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@201849.4]
+  wire  _T_775; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@201852.4]
+  wire  _T_778; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@201855.4]
+  wire  _T_781; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@201858.4]
+  wire  s2_hit; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@201861.4]
+  wire  s2_valid_hit_pre_data_ecc; // @[DCache.scala 282:85:shc.marmotcaravel.MarmotCaravelConfig.fir@201894.4]
+  wire  _T_1176; // @[DCache.scala 345:46:shc.marmotcaravel.MarmotCaravelConfig.fir@202366.4]
+  reg [31:0] s2_req_addr; // @[DCache.scala 236:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201618.4]
+  reg [31:0] _RAND_12;
+  reg  pstore1_held; // @[DCache.scala 359:25:shc.marmotcaravel.MarmotCaravelConfig.fir@202363.4]
+  reg [31:0] _RAND_13;
+  wire  pstore1_valid_pre_kill; // @[DCache.scala 361:56:shc.marmotcaravel.MarmotCaravelConfig.fir@202369.4]
+  reg [31:0] pstore1_addr; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@202204.4]
+  reg [31:0] _RAND_14;
+  wire [11:0] _T_1308; // @[DCache.scala 414:9:shc.marmotcaravel.MarmotCaravelConfig.fir@202540.4]
+  reg [31:0] s1_req_addr; // @[DCache.scala 137:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201239.4]
+  reg [31:0] _RAND_15;
+  wire [11:0] _T_1309; // @[DCache.scala 414:46:shc.marmotcaravel.MarmotCaravelConfig.fir@202541.4]
+  wire  _T_1310; // @[DCache.scala 414:31:shc.marmotcaravel.MarmotCaravelConfig.fir@202542.4]
+  wire  _T_299; // @[Consts.scala 94:32:shc.marmotcaravel.MarmotCaravelConfig.fir@201276.4]
+  wire  _T_300; // @[Consts.scala 94:49:shc.marmotcaravel.MarmotCaravelConfig.fir@201277.4]
+  wire  _T_301; // @[Consts.scala 94:42:shc.marmotcaravel.MarmotCaravelConfig.fir@201278.4]
+  wire  _T_303; // @[Consts.scala 94:59:shc.marmotcaravel.MarmotCaravelConfig.fir@201280.4]
+  wire  s1_write; // @[Consts.scala 94:76:shc.marmotcaravel.MarmotCaravelConfig.fir@201298.4]
+  reg [3:0] pstore1_mask; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@202219.4]
+  reg [31:0] _RAND_16;
+  wire  _T_1314; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@202546.4]
+  wire  _T_1313; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@202545.4]
+  wire [1:0] _T_1320; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@202552.4]
+  wire  _T_1312; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@202544.4]
+  wire  _T_1311; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@202543.4]
+  wire [1:0] _T_1319; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@202551.4]
+  wire [3:0] _T_1321; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@202553.4]
+  wire  _T_1325; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@202557.4]
+  wire  _T_1324; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@202556.4]
+  wire [1:0] _T_1327; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@202559.4]
+  wire  _T_1323; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@202555.4]
+  wire  _T_1322; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@202554.4]
+  wire [1:0] _T_1326; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@202558.4]
+  wire [3:0] _T_1328; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@202560.4]
+  wire  _T_564; // @[AMOALU.scala 17:27:shc.marmotcaravel.MarmotCaravelConfig.fir@201586.4]
+  wire  _T_556; // @[AMOALU.scala 17:27:shc.marmotcaravel.MarmotCaravelConfig.fir@201578.4]
+  reg [2:0] s1_req_typ; // @[DCache.scala 137:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201239.4]
+  reg [31:0] _RAND_17;
+  wire [1:0] _T_555; // @[AMOALU.scala 10:17:shc.marmotcaravel.MarmotCaravelConfig.fir@201577.4]
+  wire  _T_558; // @[AMOALU.scala 17:57:shc.marmotcaravel.MarmotCaravelConfig.fir@201580.4]
+  wire  _T_560; // @[AMOALU.scala 17:46:shc.marmotcaravel.MarmotCaravelConfig.fir@201582.4]
+  wire  _T_562; // @[AMOALU.scala 18:22:shc.marmotcaravel.MarmotCaravelConfig.fir@201584.4]
+  wire [1:0] _T_563; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@201585.4]
+  wire [1:0] _T_565; // @[AMOALU.scala 17:22:shc.marmotcaravel.MarmotCaravelConfig.fir@201587.4]
+  wire  _T_566; // @[AMOALU.scala 17:57:shc.marmotcaravel.MarmotCaravelConfig.fir@201588.4]
+  wire [1:0] _T_567; // @[AMOALU.scala 17:51:shc.marmotcaravel.MarmotCaravelConfig.fir@201589.4]
+  wire [1:0] _T_568; // @[AMOALU.scala 17:46:shc.marmotcaravel.MarmotCaravelConfig.fir@201590.4]
+  wire [1:0] _T_570; // @[AMOALU.scala 18:22:shc.marmotcaravel.MarmotCaravelConfig.fir@201592.4]
+  wire [3:0] _T_571; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@201593.4]
+  wire [3:0] s1_mask; // @[DCache.scala 228:20:shc.marmotcaravel.MarmotCaravelConfig.fir@201594.4]
+  wire  _T_1332; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@202564.4]
+  wire  _T_1331; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@202563.4]
+  wire [1:0] _T_1338; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@202570.4]
+  wire  _T_1330; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@202562.4]
+  wire  _T_1329; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@202561.4]
+  wire [1:0] _T_1337; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@202569.4]
+  wire [3:0] _T_1339; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@202571.4]
+  wire  _T_1343; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@202575.4]
+  wire  _T_1342; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@202574.4]
+  wire [1:0] _T_1345; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@202577.4]
+  wire  _T_1341; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@202573.4]
+  wire  _T_1340; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@202572.4]
+  wire [1:0] _T_1344; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@202576.4]
+  wire [3:0] _T_1346; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@202578.4]
+  wire [3:0] _T_1347; // @[DCache.scala 415:38:shc.marmotcaravel.MarmotCaravelConfig.fir@202579.4]
+  wire  _T_1348; // @[DCache.scala 415:62:shc.marmotcaravel.MarmotCaravelConfig.fir@202580.4]
+  wire [3:0] _T_1349; // @[DCache.scala 415:73:shc.marmotcaravel.MarmotCaravelConfig.fir@202581.4]
+  wire  _T_1350; // @[DCache.scala 415:84:shc.marmotcaravel.MarmotCaravelConfig.fir@202582.4]
+  wire  _T_1351; // @[DCache.scala 415:8:shc.marmotcaravel.MarmotCaravelConfig.fir@202583.4]
+  wire  _T_1352; // @[DCache.scala 414:68:shc.marmotcaravel.MarmotCaravelConfig.fir@202584.4]
+  wire  _T_1353; // @[DCache.scala 417:29:shc.marmotcaravel.MarmotCaravelConfig.fir@202585.4]
+  reg  pstore2_valid; // @[DCache.scala 356:26:shc.marmotcaravel.MarmotCaravelConfig.fir@202292.4]
+  reg [31:0] _RAND_18;
+  reg [31:0] pstore2_addr; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@202441.4]
+  reg [31:0] _RAND_19;
+  wire [11:0] _T_1354; // @[DCache.scala 414:9:shc.marmotcaravel.MarmotCaravelConfig.fir@202586.4]
+  wire  _T_1356; // @[DCache.scala 414:31:shc.marmotcaravel.MarmotCaravelConfig.fir@202588.4]
+  reg [3:0] mask; // @[DCache.scala 387:19:shc.marmotcaravel.MarmotCaravelConfig.fir@202485.4]
+  reg [31:0] _RAND_20;
+  wire  _T_1360; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@202592.4]
+  wire  _T_1359; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@202591.4]
+  wire [1:0] _T_1366; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@202598.4]
+  wire  _T_1358; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@202590.4]
+  wire  _T_1357; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@202589.4]
+  wire [1:0] _T_1365; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@202597.4]
+  wire [3:0] _T_1367; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@202599.4]
+  wire  _T_1371; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@202603.4]
+  wire  _T_1370; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@202602.4]
+  wire [1:0] _T_1373; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@202605.4]
+  wire  _T_1369; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@202601.4]
+  wire  _T_1368; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@202600.4]
+  wire [1:0] _T_1372; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@202604.4]
+  wire [3:0] _T_1374; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@202606.4]
+  wire [3:0] _T_1393; // @[DCache.scala 415:38:shc.marmotcaravel.MarmotCaravelConfig.fir@202625.4]
+  wire  _T_1394; // @[DCache.scala 415:62:shc.marmotcaravel.MarmotCaravelConfig.fir@202626.4]
+  wire [3:0] _T_1395; // @[DCache.scala 415:73:shc.marmotcaravel.MarmotCaravelConfig.fir@202627.4]
+  wire  _T_1396; // @[DCache.scala 415:84:shc.marmotcaravel.MarmotCaravelConfig.fir@202628.4]
+  wire  _T_1397; // @[DCache.scala 415:8:shc.marmotcaravel.MarmotCaravelConfig.fir@202629.4]
+  wire  _T_1398; // @[DCache.scala 414:68:shc.marmotcaravel.MarmotCaravelConfig.fir@202630.4]
+  wire  _T_1399; // @[DCache.scala 418:21:shc.marmotcaravel.MarmotCaravelConfig.fir@202631.4]
+  wire  s1_hazard; // @[DCache.scala 417:71:shc.marmotcaravel.MarmotCaravelConfig.fir@202632.4]
+  wire  s1_raw_hazard; // @[DCache.scala 419:31:shc.marmotcaravel.MarmotCaravelConfig.fir@202633.4]
+  wire  _T_1400; // @[DCache.scala 424:18:shc.marmotcaravel.MarmotCaravelConfig.fir@202635.4]
+  wire [1:0] _T_752; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@201829.4]
+  wire [1:0] _T_755; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@201832.4]
+  wire [1:0] _T_758; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@201835.4]
+  wire [1:0] _T_761; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@201838.4]
+  wire [1:0] _T_764; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@201841.4]
+  wire [1:0] _T_767; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@201844.4]
+  wire [1:0] _T_770; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@201847.4]
+  wire [1:0] _T_773; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@201850.4]
+  wire [1:0] _T_776; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@201853.4]
+  wire [1:0] _T_779; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@201856.4]
+  wire [1:0] _T_782; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@201859.4]
+  wire [1:0] s2_grow_param; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@201862.4]
+  wire  _T_965; // @[Metadata.scala 46:46:shc.marmotcaravel.MarmotCaravelConfig.fir@202079.4]
+  wire  s2_update_meta; // @[Metadata.scala 47:40:shc.marmotcaravel.MarmotCaravelConfig.fir@202080.4]
+  wire  _T_971; // @[DCache.scala 301:41:shc.marmotcaravel.MarmotCaravelConfig.fir@202087.4]
+  wire  _T_972; // @[DCache.scala 301:24:shc.marmotcaravel.MarmotCaravelConfig.fir@202088.4]
+  wire  s1_readwrite; // @[DCache.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@201299.4]
+  wire  s1_nack; // @[DCache.scala 424:36:shc.marmotcaravel.MarmotCaravelConfig.fir@202636.4]
+  wire  _T_271; // @[DCache.scala 136:41:shc.marmotcaravel.MarmotCaravelConfig.fir@201237.4]
+  wire  s1_valid_not_nacked; // @[DCache.scala 136:38:shc.marmotcaravel.MarmotCaravelConfig.fir@201238.4]
+  reg [6:0] s1_req_tag; // @[DCache.scala 137:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201239.4]
+  reg [31:0] _RAND_21;
+  reg  s1_req_phys; // @[DCache.scala 137:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201239.4]
+  reg [31:0] _RAND_22;
+  wire  _T_272; // @[DCache.scala 138:43:shc.marmotcaravel.MarmotCaravelConfig.fir@201240.4]
+  wire  s0_clk_en; // @[DCache.scala 138:40:shc.marmotcaravel.MarmotCaravelConfig.fir@201241.4]
+  wire [25:0] _T_273; // @[DCache.scala 141:49:shc.marmotcaravel.MarmotCaravelConfig.fir@201244.6]
+  wire [5:0] _T_274; // @[DCache.scala 141:86:shc.marmotcaravel.MarmotCaravelConfig.fir@201245.6]
+  wire [31:0] _T_275; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@201246.6]
+  wire  _T_276; // @[DCache.scala 142:11:shc.marmotcaravel.MarmotCaravelConfig.fir@201248.6]
+  wire  s1_sfence; // @[DCache.scala 147:30:shc.marmotcaravel.MarmotCaravelConfig.fir@201300.4]
+  reg  s1_flush_valid; // @[DCache.scala 148:27:shc.marmotcaravel.MarmotCaravelConfig.fir@201301.4]
+  reg [31:0] _RAND_23;
+  reg  cached_grant_wait; // @[DCache.scala 152:30:shc.marmotcaravel.MarmotCaravelConfig.fir@201304.4]
+  reg [31:0] _RAND_24;
+  wire  _T_329; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201311.4]
+  wire  _T_330; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201312.4]
+  wire  inWriteback; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@201313.4]
+  wire  _T_332; // @[DCache.scala 159:38:shc.marmotcaravel.MarmotCaravelConfig.fir@201316.4]
+  wire  _T_333; // @[DCache.scala 159:54:shc.marmotcaravel.MarmotCaravelConfig.fir@201317.4]
+  wire  _T_334; // @[DCache.scala 159:51:shc.marmotcaravel.MarmotCaravelConfig.fir@201318.4]
+  wire  _T_336; // @[DCache.scala 159:73:shc.marmotcaravel.MarmotCaravelConfig.fir@201320.4]
+  reg  uncachedInFlight_0; // @[DCache.scala 162:33:shc.marmotcaravel.MarmotCaravelConfig.fir@201325.4]
+  reg [31:0] _RAND_25;
+  reg [31:0] uncachedReqs_0_addr; // @[DCache.scala 163:25:shc.marmotcaravel.MarmotCaravelConfig.fir@201326.4]
+  reg [31:0] _RAND_26;
+  reg [6:0] uncachedReqs_0_tag; // @[DCache.scala 163:25:shc.marmotcaravel.MarmotCaravelConfig.fir@201326.4]
+  reg [31:0] _RAND_27;
+  reg [2:0] uncachedReqs_0_typ; // @[DCache.scala 163:25:shc.marmotcaravel.MarmotCaravelConfig.fir@201326.4]
+  reg [31:0] _RAND_28;
+  wire  _T_363; // @[Consts.scala 93:31:shc.marmotcaravel.MarmotCaravelConfig.fir@201327.4]
+  wire  _T_364; // @[Consts.scala 93:48:shc.marmotcaravel.MarmotCaravelConfig.fir@201328.4]
+  wire  _T_365; // @[Consts.scala 93:41:shc.marmotcaravel.MarmotCaravelConfig.fir@201329.4]
+  wire  _T_366; // @[Consts.scala 93:65:shc.marmotcaravel.MarmotCaravelConfig.fir@201330.4]
+  wire  _T_367; // @[Consts.scala 93:58:shc.marmotcaravel.MarmotCaravelConfig.fir@201331.4]
+  wire  _T_368; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201332.4]
+  wire  _T_369; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201333.4]
+  wire  _T_370; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201334.4]
+  wire  _T_371; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201335.4]
+  wire  _T_372; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@201336.4]
+  wire  _T_373; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@201337.4]
+  wire  _T_374; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@201338.4]
+  wire  _T_375; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201339.4]
+  wire  _T_376; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201340.4]
+  wire  _T_377; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201341.4]
+  wire  _T_378; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201342.4]
+  wire  _T_379; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201343.4]
+  wire  _T_380; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@201344.4]
+  wire  _T_381; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@201345.4]
+  wire  _T_382; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@201346.4]
+  wire  _T_383; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@201347.4]
+  wire  _T_384; // @[Consts.scala 91:44:shc.marmotcaravel.MarmotCaravelConfig.fir@201348.4]
+  wire  s0_read; // @[Consts.scala 93:75:shc.marmotcaravel.MarmotCaravelConfig.fir@201349.4]
+  wire  _T_385; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201350.4]
+  wire  _T_386; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201351.4]
+  wire  _T_387; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@201352.4]
+  wire  res; // @[DCache.scala 912:15:shc.marmotcaravel.MarmotCaravelConfig.fir@201353.4]
+  wire  _T_415; // @[Consts.scala 94:49:shc.marmotcaravel.MarmotCaravelConfig.fir@201381.4]
+  wire  _T_416; // @[Consts.scala 94:42:shc.marmotcaravel.MarmotCaravelConfig.fir@201382.4]
+  wire  _T_418; // @[Consts.scala 94:59:shc.marmotcaravel.MarmotCaravelConfig.fir@201384.4]
+  wire  _T_436; // @[Consts.scala 94:76:shc.marmotcaravel.MarmotCaravelConfig.fir@201402.4]
+  wire  _T_441; // @[DCache.scala 918:23:shc.marmotcaravel.MarmotCaravelConfig.fir@201407.4]
+  wire  _T_442; // @[DCache.scala 917:21:shc.marmotcaravel.MarmotCaravelConfig.fir@201408.4]
+  wire  _T_443; // @[DCache.scala 913:12:shc.marmotcaravel.MarmotCaravelConfig.fir@201409.4]
+  wire  _T_444; // @[DCache.scala 913:28:shc.marmotcaravel.MarmotCaravelConfig.fir@201410.4]
+  wire  _T_446; // @[DCache.scala 913:11:shc.marmotcaravel.MarmotCaravelConfig.fir@201412.4]
+  wire  _T_447; // @[DCache.scala 913:11:shc.marmotcaravel.MarmotCaravelConfig.fir@201413.4]
+  wire  _T_448; // @[DCache.scala 167:46:shc.marmotcaravel.MarmotCaravelConfig.fir@201418.4]
+  wire  _T_451; // @[DCache.scala 173:9:shc.marmotcaravel.MarmotCaravelConfig.fir@201427.4]
+  wire  _T_452; // @[DCache.scala 173:33:shc.marmotcaravel.MarmotCaravelConfig.fir@201428.4]
+  wire  _GEN_16; // @[DCache.scala 173:45:shc.marmotcaravel.MarmotCaravelConfig.fir@201429.4]
+  wire  _GEN_18; // @[DCache.scala 181:34:shc.marmotcaravel.MarmotCaravelConfig.fir@201498.4]
+  wire  _T_527; // @[DCache.scala 206:35:shc.marmotcaravel.MarmotCaravelConfig.fir@201542.4]
+  wire  _T_530; // @[DCache.scala 206:59:shc.marmotcaravel.MarmotCaravelConfig.fir@201545.4]
+  wire  inScratchpad; // @[DCache.scala 206:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201546.4]
+  wire [7:0] _T_540; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@201565.4]
+  wire [7:0] _T_541; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@201566.4]
+  wire [7:0] _T_542; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@201567.4]
+  wire [7:0] _T_543; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@201568.4]
+  wire [15:0] _T_544; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@201569.4]
+  wire [15:0] _T_545; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@201570.4]
+  wire [31:0] s1_all_data_ways_1; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@201571.4]
+  wire  _T_572; // @[DCache.scala 230:55:shc.marmotcaravel.MarmotCaravelConfig.fir@201595.4]
+  wire  _T_573; // @[DCache.scala 230:52:shc.marmotcaravel.MarmotCaravelConfig.fir@201596.4]
+  reg [6:0] s2_req_tag; // @[DCache.scala 236:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201618.4]
+  reg [31:0] _RAND_29;
+  reg [2:0] s2_req_typ; // @[DCache.scala 236:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201618.4]
+  reg [31:0] _RAND_30;
+  reg  s2_req_phys; // @[DCache.scala 236:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201618.4]
+  reg [31:0] _RAND_31;
+  reg [31:0] s2_uncached_resp_addr; // @[DCache.scala 238:34:shc.marmotcaravel.MarmotCaravelConfig.fir@201620.4]
+  reg [31:0] _RAND_32;
+  wire  _T_591; // @[DCache.scala 239:29:shc.marmotcaravel.MarmotCaravelConfig.fir@201621.4]
+  reg [31:0] _T_595; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@201629.4]
+  reg [31:0] _RAND_33;
+  wire [19:0] _T_596; // @[DCache.scala 244:84:shc.marmotcaravel.MarmotCaravelConfig.fir@201633.4]
+  wire [11:0] _T_597; // @[DCache.scala 244:109:shc.marmotcaravel.MarmotCaravelConfig.fir@201634.4]
+  wire [31:0] s2_vaddr; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@201635.4]
+  reg  s2_flush_valid_pre_tag_ecc; // @[DCache.scala 248:43:shc.marmotcaravel.MarmotCaravelConfig.fir@201683.4]
+  reg [31:0] _RAND_34;
+  wire  en; // @[DCache.scala 258:23:shc.marmotcaravel.MarmotCaravelConfig.fir@201713.4]
+  wire [1:0] _GEN_93; // @[DCache.scala 516:34:shc.marmotcaravel.MarmotCaravelConfig.fir@203796.10]
+  wire [1:0] _GEN_113; // @[DCache.scala 498:26:shc.marmotcaravel.MarmotCaravelConfig.fir@203764.6]
+  wire [1:0] s1_data_way; // @[DCache.scala 497:26:shc.marmotcaravel.MarmotCaravelConfig.fir@203763.4]
+  wire  _T_656; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@201714.4]
+  wire  _T_657; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@201715.4]
+  wire [31:0] s1_all_data_ways_0; // @[DCache.scala 227:29:shc.marmotcaravel.MarmotCaravelConfig.fir@201572.4 DCache.scala 227:29:shc.marmotcaravel.MarmotCaravelConfig.fir@201574.4]
+  wire [31:0] _T_659; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@201716.4]
+  wire [31:0] _T_660; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@201717.4]
+  wire [31:0] _T_661; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@201718.4]
+  wire  _T_665; // @[DCache.scala 264:58:shc.marmotcaravel.MarmotCaravelConfig.fir@201722.4]
+  reg [31:0] s2_data; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@201723.4]
+  reg [31:0] _RAND_35;
+  wire  s2_hit_valid; // @[Metadata.scala 50:45:shc.marmotcaravel.MarmotCaravelConfig.fir@201750.4]
+  wire [7:0] _T_785; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@201866.4]
+  wire [7:0] _T_786; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@201867.4]
+  wire [7:0] _T_787; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@201868.4]
+  wire [7:0] _T_788; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@201869.4]
+  wire [15:0] _T_799; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@201885.4]
+  wire [15:0] _T_800; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@201886.4]
+  wire [31:0] s2_data_corrected; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@201887.4]
+  wire  _T_814; // @[DCache.scala 285:76:shc.marmotcaravel.MarmotCaravelConfig.fir@201905.4]
+  wire  s2_valid_miss; // @[DCache.scala 285:73:shc.marmotcaravel.MarmotCaravelConfig.fir@201906.4]
+  wire  s2_valid_cached_miss; // @[DCache.scala 286:60:shc.marmotcaravel.MarmotCaravelConfig.fir@201912.4]
+  wire  _T_822; // @[DCache.scala 289:29:shc.marmotcaravel.MarmotCaravelConfig.fir@201916.4]
+  wire  _T_825; // @[DCache.scala 291:92:shc.marmotcaravel.MarmotCaravelConfig.fir@201921.4]
+  wire  _T_826; // @[DCache.scala 291:92:shc.marmotcaravel.MarmotCaravelConfig.fir@201922.4]
+  wire  _T_827; // @[DCache.scala 291:67:shc.marmotcaravel.MarmotCaravelConfig.fir@201923.4]
+  wire  s2_valid_uncached_pending; // @[DCache.scala 291:64:shc.marmotcaravel.MarmotCaravelConfig.fir@201924.4]
+  wire [1:0] s2_victim_state_state; // @[DCache.scala 294:28:shc.marmotcaravel.MarmotCaravelConfig.fir@201944.4]
+  wire [3:0] _T_905; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@202015.4]
+  wire  _T_930; // @[Misc.scala 58:20:shc.marmotcaravel.MarmotCaravelConfig.fir@202040.4]
+  wire  _T_934; // @[Misc.scala 58:20:shc.marmotcaravel.MarmotCaravelConfig.fir@202044.4]
+  wire  _T_935; // @[Misc.scala 40:9:shc.marmotcaravel.MarmotCaravelConfig.fir@202045.4]
+  wire  _T_938; // @[Misc.scala 58:20:shc.marmotcaravel.MarmotCaravelConfig.fir@202048.4]
+  wire  _T_939; // @[Misc.scala 40:9:shc.marmotcaravel.MarmotCaravelConfig.fir@202049.4]
+  wire  _T_942; // @[Misc.scala 58:20:shc.marmotcaravel.MarmotCaravelConfig.fir@202052.4]
+  wire  _T_943; // @[Misc.scala 40:9:shc.marmotcaravel.MarmotCaravelConfig.fir@202053.4]
+  wire  _T_946; // @[Misc.scala 58:20:shc.marmotcaravel.MarmotCaravelConfig.fir@202056.4]
+  wire  _T_947; // @[Misc.scala 40:9:shc.marmotcaravel.MarmotCaravelConfig.fir@202057.4]
+  wire  _T_950; // @[Misc.scala 58:20:shc.marmotcaravel.MarmotCaravelConfig.fir@202060.4]
+  wire  _T_951; // @[Misc.scala 40:9:shc.marmotcaravel.MarmotCaravelConfig.fir@202061.4]
+  wire  _T_954; // @[Misc.scala 58:20:shc.marmotcaravel.MarmotCaravelConfig.fir@202064.4]
+  wire  _T_955; // @[Misc.scala 40:9:shc.marmotcaravel.MarmotCaravelConfig.fir@202065.4]
+  wire  _T_958; // @[Misc.scala 58:20:shc.marmotcaravel.MarmotCaravelConfig.fir@202068.4]
+  wire  _T_959; // @[Misc.scala 40:9:shc.marmotcaravel.MarmotCaravelConfig.fir@202069.4]
+  wire  _T_962; // @[Misc.scala 58:20:shc.marmotcaravel.MarmotCaravelConfig.fir@202072.4]
+  wire  s2_victim_dirty; // @[Misc.scala 40:9:shc.marmotcaravel.MarmotCaravelConfig.fir@202073.4]
+  wire  _T_966; // @[DCache.scala 300:33:shc.marmotcaravel.MarmotCaravelConfig.fir@202081.4]
+  wire  _T_967; // @[DCache.scala 300:30:shc.marmotcaravel.MarmotCaravelConfig.fir@202082.4]
+  wire  _T_968; // @[DCache.scala 300:78:shc.marmotcaravel.MarmotCaravelConfig.fir@202083.4]
+  wire  _T_969; // @[DCache.scala 300:50:shc.marmotcaravel.MarmotCaravelConfig.fir@202084.4]
+  wire  _T_970; // @[DCache.scala 300:47:shc.marmotcaravel.MarmotCaravelConfig.fir@202085.4]
+  wire [17:0] _T_984; // @[DCache.scala 309:58:shc.marmotcaravel.MarmotCaravelConfig.fir@202107.4]
+  wire  _T_992; // @[DCache.scala 317:87:shc.marmotcaravel.MarmotCaravelConfig.fir@202123.4]
+  wire [13:0] _T_998; // @[DCache.scala 321:80:shc.marmotcaravel.MarmotCaravelConfig.fir@202133.4]
+  wire  _T_1010; // @[DCache.scala 329:34:shc.marmotcaravel.MarmotCaravelConfig.fir@202153.4]
+  wire [7:0] _T_1025; // @[DCache.scala 337:49:shc.marmotcaravel.MarmotCaravelConfig.fir@202176.6]
+  wire [7:0] _T_1026; // @[DCache.scala 337:49:shc.marmotcaravel.MarmotCaravelConfig.fir@202177.6]
+  wire [6:0] _T_1027; // @[DCache.scala 337:49:shc.marmotcaravel.MarmotCaravelConfig.fir@202178.6]
+  wire  _T_1028; // @[DCache.scala 338:29:shc.marmotcaravel.MarmotCaravelConfig.fir@202181.4]
+  wire  _T_1037; // @[DCache.scala 347:63:shc.marmotcaravel.MarmotCaravelConfig.fir@202198.4]
+  reg [4:0] pstore1_cmd; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@202199.4]
+  reg [31:0] _RAND_36;
+  reg [31:0] pstore1_data; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@202209.4]
+  reg [31:0] _RAND_37;
+  wire  _T_1098; // @[DCache.scala 918:23:shc.marmotcaravel.MarmotCaravelConfig.fir@202276.4]
+  wire  _T_1099; // @[DCache.scala 917:21:shc.marmotcaravel.MarmotCaravelConfig.fir@202277.4]
+  reg  pstore1_rmw; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@202279.4]
+  reg [31:0] _RAND_38;
+  wire  _T_1103; // @[DCache.scala 354:39:shc.marmotcaravel.MarmotCaravelConfig.fir@202284.4]
+  wire  pstore_drain_opportunistic; // @[DCache.scala 357:36:shc.marmotcaravel.MarmotCaravelConfig.fir@202362.4]
+  wire  pstore1_valid_likely; // @[DCache.scala 360:51:shc.marmotcaravel.MarmotCaravelConfig.fir@202365.4]
+  wire  _T_1185; // @[DCache.scala 365:54:shc.marmotcaravel.MarmotCaravelConfig.fir@202378.4]
+  wire  _T_1186; // @[DCache.scala 365:85:shc.marmotcaravel.MarmotCaravelConfig.fir@202379.4]
+  wire  _T_1187; // @[DCache.scala 365:98:shc.marmotcaravel.MarmotCaravelConfig.fir@202380.4]
+  wire  pstore_drain_structural; // @[DCache.scala 365:71:shc.marmotcaravel.MarmotCaravelConfig.fir@202381.4]
+  wire  _T_1197; // @[DCache.scala 366:63:shc.marmotcaravel.MarmotCaravelConfig.fir@202391.4]
+  wire  _T_1198; // @[DCache.scala 366:22:shc.marmotcaravel.MarmotCaravelConfig.fir@202392.4]
+  wire  _T_1200; // @[DCache.scala 366:9:shc.marmotcaravel.MarmotCaravelConfig.fir@202394.4]
+  wire  _T_1201; // @[DCache.scala 366:9:shc.marmotcaravel.MarmotCaravelConfig.fir@202395.4]
+  wire  _T_1215; // @[DCache.scala 374:44:shc.marmotcaravel.MarmotCaravelConfig.fir@202414.4]
+  wire  _T_1216; // @[DCache.scala 374:41:shc.marmotcaravel.MarmotCaravelConfig.fir@202415.4]
+  wire  _T_1217; // @[DCache.scala 374:58:shc.marmotcaravel.MarmotCaravelConfig.fir@202416.4]
+  wire  _T_1218; // @[DCache.scala 374:107:shc.marmotcaravel.MarmotCaravelConfig.fir@202417.4]
+  wire  _T_1219; // @[DCache.scala 374:76:shc.marmotcaravel.MarmotCaravelConfig.fir@202418.4]
+  wire  pstore_drain; // @[DCache.scala 373:48:shc.marmotcaravel.MarmotCaravelConfig.fir@202419.4]
+  wire  _T_1229; // @[DCache.scala 377:71:shc.marmotcaravel.MarmotCaravelConfig.fir@202429.4]
+  wire  _T_1230; // @[DCache.scala 377:91:shc.marmotcaravel.MarmotCaravelConfig.fir@202430.4]
+  wire  _T_1233; // @[DCache.scala 378:79:shc.marmotcaravel.MarmotCaravelConfig.fir@202434.4]
+  wire  advance_pstore1; // @[DCache.scala 378:61:shc.marmotcaravel.MarmotCaravelConfig.fir@202435.4]
+  wire  _T_1235; // @[DCache.scala 379:34:shc.marmotcaravel.MarmotCaravelConfig.fir@202437.4]
+  wire [7:0] _T_2705; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@204296.4]
+  wire [7:0] _T_2703; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@204294.4]
+  wire [15:0] _T_2707; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@204298.4]
+  wire [7:0] _T_2701; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@204292.4]
+  wire [7:0] _T_2699; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@204290.4]
+  wire [15:0] _T_2706; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@204297.4]
+  wire [31:0] mask_1; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@204299.4]
+  wire [31:0] _T_2708; // @[DCache.scala 750:30:shc.marmotcaravel.MarmotCaravelConfig.fir@204300.4]
+  wire [31:0] _T_2709; // @[DCache.scala 750:64:shc.marmotcaravel.MarmotCaravelConfig.fir@204301.4]
+  wire [31:0] _T_2710; // @[DCache.scala 750:62:shc.marmotcaravel.MarmotCaravelConfig.fir@204302.4]
+  wire [31:0] pstore1_storegen_data; // @[DCache.scala 750:37:shc.marmotcaravel.MarmotCaravelConfig.fir@204303.4]
+  wire [7:0] _T_1241; // @[DCache.scala 384:44:shc.marmotcaravel.MarmotCaravelConfig.fir@202450.4]
+  reg [7:0] _T_1246; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@202454.4]
+  reg [31:0] _RAND_39;
+  wire [7:0] _T_1247; // @[DCache.scala 384:44:shc.marmotcaravel.MarmotCaravelConfig.fir@202458.4]
+  reg [7:0] _T_1252; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@202462.4]
+  reg [31:0] _RAND_40;
+  wire [7:0] _T_1253; // @[DCache.scala 384:44:shc.marmotcaravel.MarmotCaravelConfig.fir@202466.4]
+  reg [7:0] _T_1258; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@202470.4]
+  reg [31:0] _RAND_41;
+  wire [7:0] _T_1259; // @[DCache.scala 384:44:shc.marmotcaravel.MarmotCaravelConfig.fir@202474.4]
+  reg [7:0] _T_1264; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@202478.4]
+  reg [31:0] _RAND_42;
+  wire [15:0] _T_1265; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@202482.4]
+  wire [15:0] _T_1266; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@202483.4]
+  wire [31:0] pstore2_storegen_data; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@202484.4]
+  wire [3:0] _T_1270; // @[DCache.scala 390:37:shc.marmotcaravel.MarmotCaravelConfig.fir@202490.6]
+  wire [3:0] _T_1272; // @[DCache.scala 390:15:shc.marmotcaravel.MarmotCaravelConfig.fir@202492.6]
+  wire [31:0] _T_1291; // @[DCache.scala 405:36:shc.marmotcaravel.MarmotCaravelConfig.fir@202517.4]
+  wire [3:0] _T_1296; // @[DCache.scala 410:47:shc.marmotcaravel.MarmotCaravelConfig.fir@202527.4]
+  wire  _T_1297; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@202528.4]
+  wire  _T_1298; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@202529.4]
+  wire  _T_1299; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@202530.4]
+  wire  _T_1300; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@202531.4]
+  wire [1:0] _T_1305; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@202536.4]
+  wire [1:0] _T_1306; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@202537.4]
+  wire [1:0] a_size; // @[Consts.scala 19:28:shc.marmotcaravel.MarmotCaravelConfig.fir@202647.4]
+  wire  _T_1479; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@202726.4]
+  wire [1:0] _T_1480; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@202727.4]
+  wire [1:0] _T_1482; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@202729.4]
+  wire  _T_1483; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@202730.4]
+  wire  _T_1484; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@202731.4]
+  wire  _T_1485; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@202732.4]
+  wire  _T_1486; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@202733.4]
+  wire  _T_1488; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@202735.4]
+  wire  _T_1489; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@202736.4]
+  wire  _T_1491; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@202738.4]
+  wire  _T_1492; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@202739.4]
+  wire  _T_1493; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@202740.4]
+  wire  _T_1494; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@202741.4]
+  wire  _T_1495; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@202742.4]
+  wire  _T_1496; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@202743.4]
+  wire  _T_1497; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@202744.4]
+  wire  _T_1498; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@202745.4]
+  wire  _T_1499; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@202746.4]
+  wire  _T_1500; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@202747.4]
+  wire  _T_1501; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@202748.4]
+  wire  _T_1502; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@202749.4]
+  wire  _T_1503; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@202750.4]
+  wire  _T_1504; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@202751.4]
+  wire  _T_1505; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@202752.4]
+  wire  _T_1506; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@202753.4]
+  wire  _T_1507; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@202754.4]
+  wire [1:0] _T_1508; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@202755.4]
+  wire [1:0] _T_1509; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@202756.4]
+  wire [3:0] get_mask; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@202757.4]
+  wire  _T_2321; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@203652.4]
+  wire [2:0] _T_2322_opcode; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203653.4]
+  wire [2:0] _T_2322_param; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203653.4]
+  wire [3:0] _T_2287_size; // @[Edges.scala 476:17:shc.marmotcaravel.MarmotCaravelConfig.fir@203609.4 Edges.scala 479:15:shc.marmotcaravel.MarmotCaravelConfig.fir@203613.4]
+  wire [3:0] _T_2322_size; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203653.4]
+  wire [31:0] _T_2322_address; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203653.4]
+  wire [3:0] _T_2322_mask; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203653.4]
+  wire [31:0] _T_2322_data; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203653.4]
+  wire  _T_2323; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@203654.4]
+  wire [2:0] _T_2324_opcode; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203655.4]
+  wire [2:0] _T_2324_param; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203655.4]
+  wire [3:0] _T_2324_size; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203655.4]
+  wire [31:0] _T_2324_address; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203655.4]
+  wire [3:0] _T_2324_mask; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203655.4]
+  wire [31:0] _T_2324_data; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203655.4]
+  wire  _T_2325; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@203656.4]
+  wire [2:0] _T_2326_opcode; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203657.4]
+  wire [2:0] _T_2326_param; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203657.4]
+  wire [3:0] _T_2326_size; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203657.4]
+  wire [31:0] _T_2326_address; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203657.4]
+  wire [3:0] _T_2326_mask; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203657.4]
+  wire [31:0] _T_2326_data; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203657.4]
+  wire  _T_2327; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@203658.4]
+  wire [2:0] _T_2328_opcode; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203659.4]
+  wire [2:0] _T_2328_param; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203659.4]
+  wire [3:0] _T_2328_size; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203659.4]
+  wire [31:0] _T_2328_address; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203659.4]
+  wire [3:0] _T_2328_mask; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203659.4]
+  wire [31:0] _T_2328_data; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203659.4]
+  wire  _T_2329; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@203660.4]
+  wire [2:0] _T_2330_opcode; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203661.4]
+  wire [2:0] _T_2330_param; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203661.4]
+  wire [3:0] _T_2330_size; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203661.4]
+  wire [31:0] _T_2330_address; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203661.4]
+  wire [3:0] _T_2330_mask; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203661.4]
+  wire [31:0] _T_2330_data; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203661.4]
+  wire  _T_2331; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@203662.4]
+  wire [2:0] _T_2332_opcode; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203663.4]
+  wire [2:0] _T_2332_param; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203663.4]
+  wire [3:0] _T_2332_size; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203663.4]
+  wire [31:0] _T_2332_address; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203663.4]
+  wire [3:0] _T_2332_mask; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203663.4]
+  wire [31:0] _T_2332_data; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203663.4]
+  wire  _T_2333; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@203664.4]
+  wire [2:0] _T_2334_opcode; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203665.4]
+  wire [2:0] _T_2334_param; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203665.4]
+  wire [3:0] _T_2334_size; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203665.4]
+  wire [31:0] _T_2334_address; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203665.4]
+  wire [3:0] _T_2334_mask; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203665.4]
+  wire [31:0] _T_2334_data; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203665.4]
+  wire  _T_2335; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@203666.4]
+  wire [2:0] _T_2336_opcode; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203667.4]
+  wire [2:0] _T_2336_param; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203667.4]
+  wire [3:0] _T_2336_size; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203667.4]
+  wire [31:0] _T_2336_address; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203667.4]
+  wire [3:0] _T_2336_mask; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203667.4]
+  wire [31:0] _T_2336_data; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203667.4]
+  wire  _T_2337; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@203668.4]
+  wire [2:0] atomics_opcode; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203669.4]
+  wire [2:0] atomics_param; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203669.4]
+  wire [3:0] atomics_size; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203669.4]
+  wire [31:0] atomics_address; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203669.4]
+  wire [3:0] atomics_mask; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203669.4]
+  wire [31:0] atomics_data; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203669.4]
+  wire  _T_2341; // @[DCache.scala 454:63:shc.marmotcaravel.MarmotCaravelConfig.fir@203673.4]
+  wire  tl_out_a_valid; // @[DCache.scala 454:128:shc.marmotcaravel.MarmotCaravelConfig.fir@203674.4]
+  wire  _T_2347; // @[DCache.scala 455:89:shc.marmotcaravel.MarmotCaravelConfig.fir@203680.4]
+  wire  _T_2348; // @[DCache.scala 455:109:shc.marmotcaravel.MarmotCaravelConfig.fir@203681.4]
+  wire [2:0] _T_2349_opcode; // @[DCache.scala 455:108:shc.marmotcaravel.MarmotCaravelConfig.fir@203682.4]
+  wire [2:0] _T_2349_param; // @[DCache.scala 455:108:shc.marmotcaravel.MarmotCaravelConfig.fir@203682.4]
+  wire [3:0] _T_2349_size; // @[DCache.scala 455:108:shc.marmotcaravel.MarmotCaravelConfig.fir@203682.4]
+  wire [31:0] _T_2349_address; // @[DCache.scala 455:108:shc.marmotcaravel.MarmotCaravelConfig.fir@203682.4]
+  wire [3:0] _T_2349_mask; // @[DCache.scala 455:108:shc.marmotcaravel.MarmotCaravelConfig.fir@203682.4]
+  wire [31:0] _T_2349_data; // @[DCache.scala 455:108:shc.marmotcaravel.MarmotCaravelConfig.fir@203682.4]
+  wire  _T_2352; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@203687.4]
+  wire [10:0] _T_2364; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@203709.4]
+  wire [10:0] _T_2365; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@203710.4]
+  wire [9:0] _T_2366; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@203711.4]
+  wire  d_done; // @[Edges.scala 233:22:shc.marmotcaravel.MarmotCaravelConfig.fir@203716.4]
+  wire  _T_2372; // @[DCache.scala 480:14:shc.marmotcaravel.MarmotCaravelConfig.fir@203724.4]
+  wire  _T_2373; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@203725.4]
+  wire  _T_2374; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@203726.4]
+  wire  _T_2375; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@203727.4]
+  wire  _T_2376; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@203728.4]
+  wire  _T_2377; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@203729.4]
+  wire  _T_2378; // @[DCache.scala 480:30:shc.marmotcaravel.MarmotCaravelConfig.fir@203730.4]
+  wire  _T_2380; // @[DCache.scala 480:13:shc.marmotcaravel.MarmotCaravelConfig.fir@203732.4]
+  wire  _T_2381; // @[DCache.scala 480:13:shc.marmotcaravel.MarmotCaravelConfig.fir@203733.4]
+  wire [3:0] _T_2390; // @[DCache.scala 494:97:shc.marmotcaravel.MarmotCaravelConfig.fir@203752.6]
+  wire [3:0] _T_2391; // @[DCache.scala 494:97:shc.marmotcaravel.MarmotCaravelConfig.fir@203753.6]
+  wire [2:0] _T_2392; // @[DCache.scala 494:97:shc.marmotcaravel.MarmotCaravelConfig.fir@203754.6]
+  wire  _T_2399; // @[DCache.scala 500:13:shc.marmotcaravel.MarmotCaravelConfig.fir@203767.8]
+  wire  _T_2400; // @[DCache.scala 500:13:shc.marmotcaravel.MarmotCaravelConfig.fir@203768.8]
+  wire  _T_2405; // @[DCache.scala 512:17:shc.marmotcaravel.MarmotCaravelConfig.fir@203788.12]
+  wire  _T_2406; // @[DCache.scala 512:17:shc.marmotcaravel.MarmotCaravelConfig.fir@203789.12]
+  wire [29:0] _T_2408; // @[DCache.scala 524:39:shc.marmotcaravel.MarmotCaravelConfig.fir@203802.12]
+  wire [31:0] _GEN_183; // @[DCache.scala 524:53:shc.marmotcaravel.MarmotCaravelConfig.fir@203803.12]
+  wire [31:0] dontCareBits; // @[DCache.scala 524:53:shc.marmotcaravel.MarmotCaravelConfig.fir@203803.12]
+  wire [1:0] _T_2409; // @[DCache.scala 525:34:shc.marmotcaravel.MarmotCaravelConfig.fir@203804.12]
+  wire [31:0] _GEN_184; // @[DCache.scala 525:24:shc.marmotcaravel.MarmotCaravelConfig.fir@203805.12]
+  wire [31:0] _T_2410; // @[DCache.scala 525:24:shc.marmotcaravel.MarmotCaravelConfig.fir@203805.12]
+  wire  _T_2414; // @[DCache.scala 536:36:shc.marmotcaravel.MarmotCaravelConfig.fir@203822.4]
+  wire  _T_2415; // @[DCache.scala 536:47:shc.marmotcaravel.MarmotCaravelConfig.fir@203823.4]
+  wire  tl_out__e_valid; // @[DCache.scala 544:51:shc.marmotcaravel.MarmotCaravelConfig.fir@203847.4]
+  wire  _T_2421; // @[DCache.scala 538:47:shc.marmotcaravel.MarmotCaravelConfig.fir@203832.4]
+  wire  _T_2422; // @[DCache.scala 538:58:shc.marmotcaravel.MarmotCaravelConfig.fir@203833.4]
+  wire  _T_2423; // @[DCache.scala 538:26:shc.marmotcaravel.MarmotCaravelConfig.fir@203834.4]
+  wire  _T_2425; // @[DCache.scala 538:9:shc.marmotcaravel.MarmotCaravelConfig.fir@203836.4]
+  wire  _T_2426; // @[DCache.scala 538:9:shc.marmotcaravel.MarmotCaravelConfig.fir@203837.4]
+  wire  _T_2427; // @[DCache.scala 543:44:shc.marmotcaravel.MarmotCaravelConfig.fir@203842.4]
+  wire  _T_2431; // @[DCache.scala 564:43:shc.marmotcaravel.MarmotCaravelConfig.fir@203852.4]
+  wire  _T_2432; // @[DCache.scala 564:56:shc.marmotcaravel.MarmotCaravelConfig.fir@203853.4]
+  wire  _GEN_134; // @[DCache.scala 577:27:shc.marmotcaravel.MarmotCaravelConfig.fir@203948.6]
+  wire  _GEN_135; // @[DCache.scala 577:27:shc.marmotcaravel.MarmotCaravelConfig.fir@203948.6]
+  wire  _GEN_136; // @[DCache.scala 577:27:shc.marmotcaravel.MarmotCaravelConfig.fir@203948.6]
+  reg  s2_release_data_valid; // @[DCache.scala 600:34:shc.marmotcaravel.MarmotCaravelConfig.fir@204011.4]
+  reg [31:0] _RAND_43;
+  reg  s1_release_data_valid; // @[DCache.scala 599:34:shc.marmotcaravel.MarmotCaravelConfig.fir@204007.4]
+  reg [31:0] _RAND_44;
+  wire [1:0] _T_2557; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@204014.4]
+  wire [1:0] _GEN_185; // @[DCache.scala 601:101:shc.marmotcaravel.MarmotCaravelConfig.fir@204015.4]
+  wire [1:0] _T_2559; // @[DCache.scala 601:101:shc.marmotcaravel.MarmotCaravelConfig.fir@204016.4]
+  wire [11:0] _T_2561; // @[DCache.scala 601:47:shc.marmotcaravel.MarmotCaravelConfig.fir@204018.4]
+  wire [10:0] releaseDataBeat; // @[DCache.scala 601:47:shc.marmotcaravel.MarmotCaravelConfig.fir@204019.4]
+  wire  _T_2574; // @[DCache.scala 676:60:shc.marmotcaravel.MarmotCaravelConfig.fir@204063.4]
+  wire [3:0] _T_2578; // @[DCache.scala 679:90:shc.marmotcaravel.MarmotCaravelConfig.fir@204070.4]
+  wire [5:0] _GEN_186; // @[DCache.scala 679:117:shc.marmotcaravel.MarmotCaravelConfig.fir@204071.4]
+  wire [5:0] _T_2579; // @[DCache.scala 679:117:shc.marmotcaravel.MarmotCaravelConfig.fir@204071.4]
+  wire  _T_2583; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@204078.4]
+  wire  _T_2584; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@204079.4]
+  wire  _T_2594; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@204097.4]
+  wire  _T_2595; // @[DCache.scala 701:35:shc.marmotcaravel.MarmotCaravelConfig.fir@204107.4]
+  wire  _T_2596; // @[DCache.scala 701:32:shc.marmotcaravel.MarmotCaravelConfig.fir@204108.4]
+  wire  _T_2597; // @[DCache.scala 701:72:shc.marmotcaravel.MarmotCaravelConfig.fir@204109.4]
+  wire  _T_2598; // @[DCache.scala 701:69:shc.marmotcaravel.MarmotCaravelConfig.fir@204110.4]
+  wire  _T_2599; // @[DCache.scala 701:57:shc.marmotcaravel.MarmotCaravelConfig.fir@204111.4]
+  wire  _T_2600; // @[DCache.scala 701:94:shc.marmotcaravel.MarmotCaravelConfig.fir@204112.4]
+  wire  _T_2602; // @[DCache.scala 701:115:shc.marmotcaravel.MarmotCaravelConfig.fir@204114.4]
+  reg  _T_2606; // @[DCache.scala 705:32:shc.marmotcaravel.MarmotCaravelConfig.fir@204119.4]
+  reg [31:0] _RAND_45;
+  reg  _T_2608_pf_ld; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@204121.4]
+  reg [31:0] _RAND_46;
+  reg  _T_2608_pf_st; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@204121.4]
+  reg [31:0] _RAND_47;
+  reg  _T_2608_ae_ld; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@204121.4]
+  reg [31:0] _RAND_48;
+  reg  _T_2608_ae_st; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@204121.4]
+  reg [31:0] _RAND_49;
+  reg  _T_2608_ma_ld; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@204121.4]
+  reg [31:0] _RAND_50;
+  reg  _T_2608_ma_st; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@204121.4]
+  reg [31:0] _RAND_51;
+  wire  _T_2626_pf_ld; // @[DCache.scala 705:24:shc.marmotcaravel.MarmotCaravelConfig.fir@204168.4]
+  wire  _T_2626_pf_st; // @[DCache.scala 705:24:shc.marmotcaravel.MarmotCaravelConfig.fir@204168.4]
+  wire  _T_2626_ae_ld; // @[DCache.scala 705:24:shc.marmotcaravel.MarmotCaravelConfig.fir@204168.4]
+  wire  _T_2626_ae_st; // @[DCache.scala 705:24:shc.marmotcaravel.MarmotCaravelConfig.fir@204168.4]
+  wire  _T_2626_ma_ld; // @[DCache.scala 705:24:shc.marmotcaravel.MarmotCaravelConfig.fir@204168.4]
+  wire  _T_2626_ma_st; // @[DCache.scala 705:24:shc.marmotcaravel.MarmotCaravelConfig.fir@204168.4]
+  wire  _T_2628; // @[DCache.scala 710:24:shc.marmotcaravel.MarmotCaravelConfig.fir@204172.6]
+  wire  _T_2630; // @[DCache.scala 710:13:shc.marmotcaravel.MarmotCaravelConfig.fir@204174.6]
+  wire  _T_2631; // @[DCache.scala 710:13:shc.marmotcaravel.MarmotCaravelConfig.fir@204175.6]
+  wire  _T_2644; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@204201.4]
+  wire  _T_2645; // @[DCache.scala 713:30:shc.marmotcaravel.MarmotCaravelConfig.fir@204202.4]
+  wire  _T_2646; // @[DCache.scala 713:12:shc.marmotcaravel.MarmotCaravelConfig.fir@204203.4]
+  wire  _T_2648; // @[DCache.scala 713:11:shc.marmotcaravel.MarmotCaravelConfig.fir@204205.4]
+  wire  _T_2649; // @[DCache.scala 713:11:shc.marmotcaravel.MarmotCaravelConfig.fir@204206.4]
+  reg  doUncachedResp; // @[DCache.scala 720:27:shc.marmotcaravel.MarmotCaravelConfig.fir@204214.4]
+  reg [31:0] _RAND_52;
+  wire  _T_2656; // @[DCache.scala 723:11:shc.marmotcaravel.MarmotCaravelConfig.fir@204223.6]
+  wire  _T_2657; // @[DCache.scala 723:11:shc.marmotcaravel.MarmotCaravelConfig.fir@204224.6]
+  wire  _T_2659; // @[Consts.scala 20:31:shc.marmotcaravel.MarmotCaravelConfig.fir@204238.4]
+  wire  _T_2660; // @[Consts.scala 20:28:shc.marmotcaravel.MarmotCaravelConfig.fir@204239.4]
+  wire [15:0] _T_2663; // @[AMOALU.scala 39:37:shc.marmotcaravel.MarmotCaravelConfig.fir@204242.4]
+  wire [15:0] _T_2664; // @[AMOALU.scala 39:55:shc.marmotcaravel.MarmotCaravelConfig.fir@204243.4]
+  wire [15:0] _T_2665; // @[AMOALU.scala 39:24:shc.marmotcaravel.MarmotCaravelConfig.fir@204244.4]
+  wire  _T_2668; // @[AMOALU.scala 42:26:shc.marmotcaravel.MarmotCaravelConfig.fir@204247.4]
+  wire  _T_2670; // @[AMOALU.scala 42:85:shc.marmotcaravel.MarmotCaravelConfig.fir@204249.4]
+  wire  _T_2671; // @[AMOALU.scala 42:76:shc.marmotcaravel.MarmotCaravelConfig.fir@204250.4]
+  wire [15:0] _T_2673; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@204252.4]
+  wire [15:0] _T_2675; // @[AMOALU.scala 42:20:shc.marmotcaravel.MarmotCaravelConfig.fir@204254.4]
+  wire [31:0] _T_2676; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@204255.4]
+  wire [7:0] _T_2678; // @[AMOALU.scala 39:37:shc.marmotcaravel.MarmotCaravelConfig.fir@204257.4]
+  wire [7:0] _T_2679; // @[AMOALU.scala 39:55:shc.marmotcaravel.MarmotCaravelConfig.fir@204258.4]
+  wire [7:0] _T_2680; // @[AMOALU.scala 39:24:shc.marmotcaravel.MarmotCaravelConfig.fir@204259.4]
+  wire  _T_2683; // @[AMOALU.scala 42:26:shc.marmotcaravel.MarmotCaravelConfig.fir@204262.4]
+  wire  _T_2685; // @[AMOALU.scala 42:85:shc.marmotcaravel.MarmotCaravelConfig.fir@204264.4]
+  wire  _T_2686; // @[AMOALU.scala 42:76:shc.marmotcaravel.MarmotCaravelConfig.fir@204265.4]
+  wire [23:0] _T_2688; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@204267.4]
+  wire [23:0] _T_2689; // @[AMOALU.scala 42:98:shc.marmotcaravel.MarmotCaravelConfig.fir@204268.4]
+  wire [23:0] _T_2690; // @[AMOALU.scala 42:20:shc.marmotcaravel.MarmotCaravelConfig.fir@204269.4]
+  reg  resetting; // @[DCache.scala 757:26:shc.marmotcaravel.MarmotCaravelConfig.fir@204305.4]
+  reg [31:0] _RAND_53;
+  reg [7:0] flushCounter; // @[DCache.scala 762:25:shc.marmotcaravel.MarmotCaravelConfig.fir@204308.4]
+  reg [31:0] _RAND_54;
+  wire [8:0] flushCounterNext; // @[DCache.scala 763:39:shc.marmotcaravel.MarmotCaravelConfig.fir@204309.4]
+  wire  flushDone; // @[DCache.scala 764:37:shc.marmotcaravel.MarmotCaravelConfig.fir@204310.4]
+  wire  _T_2717; // @[DCache.scala 766:39:shc.marmotcaravel.MarmotCaravelConfig.fir@204313.4]
+  wire  _T_2718; // @[DCache.scala 766:25:shc.marmotcaravel.MarmotCaravelConfig.fir@204314.4]
+  wire  _T_2733; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@204335.4]
+  wire  _T_2734; // @[DCache.scala 774:48:shc.marmotcaravel.MarmotCaravelConfig.fir@204336.4]
+  wire  _T_2735; // @[DCache.scala 774:45:shc.marmotcaravel.MarmotCaravelConfig.fir@204337.4]
+  wire  _T_2737; // @[DCache.scala 774:64:shc.marmotcaravel.MarmotCaravelConfig.fir@204339.4]
+  wire [13:0] _GEN_187; // @[DCache.scala 778:98:shc.marmotcaravel.MarmotCaravelConfig.fir@204350.4]
+  wire [13:0] _T_2744; // @[DCache.scala 778:98:shc.marmotcaravel.MarmotCaravelConfig.fir@204350.4]
+  wire [8:0] _GEN_172; // @[DCache.scala 805:20:shc.marmotcaravel.MarmotCaravelConfig.fir@204370.4]
+  wire  _T_2755; // @[DCache.scala 815:31:shc.marmotcaravel.MarmotCaravelConfig.fir@204378.4]
+  wire  _T_2758; // @[DCache.scala 817:26:shc.marmotcaravel.MarmotCaravelConfig.fir@204381.4]
+  wire  _T_2759; // @[DCache.scala 818:14:shc.marmotcaravel.MarmotCaravelConfig.fir@204382.4]
+  wire  _T_2760; // @[DCache.scala 818:35:shc.marmotcaravel.MarmotCaravelConfig.fir@204383.4]
+  wire  _T_2761; // @[DCache.scala 819:18:shc.marmotcaravel.MarmotCaravelConfig.fir@204384.4]
+  wire  _T_2763; // @[DCache.scala 819:35:shc.marmotcaravel.MarmotCaravelConfig.fir@204386.4]
+  wire  _T_2769; // @[DCache.scala 822:23:shc.marmotcaravel.MarmotCaravelConfig.fir@204392.4]
+  wire  _T_2771; // @[DCache.scala 823:23:shc.marmotcaravel.MarmotCaravelConfig.fir@204394.4]
+  wire  _T_2773; // @[DCache.scala 823:54:shc.marmotcaravel.MarmotCaravelConfig.fir@204396.4]
+  wire  _T_2833; // @[DCache.scala 861:35:shc.marmotcaravel.MarmotCaravelConfig.fir@204469.4]
+  wire  _GEN_190; // @[DCache.scala 500:13:shc.marmotcaravel.MarmotCaravelConfig.fir@203770.10]
+  wire  _GEN_193; // @[DCache.scala 512:17:shc.marmotcaravel.MarmotCaravelConfig.fir@203791.14]
+  wire  _GEN_194; // @[DCache.scala 512:17:shc.marmotcaravel.MarmotCaravelConfig.fir@203791.14]
+  Arbiter metaArb ( // @[DCache.scala 98:23:shc.marmotcaravel.MarmotCaravelConfig.fir@201183.4]
+    .io_in_0_valid(metaArb_io_in_0_valid),
+    .io_in_0_bits_addr(metaArb_io_in_0_bits_addr),
+    .io_in_2_valid(metaArb_io_in_2_valid),
+    .io_in_2_bits_addr(metaArb_io_in_2_bits_addr),
+    .io_in_3_valid(metaArb_io_in_3_valid),
+    .io_in_3_bits_addr(metaArb_io_in_3_bits_addr),
+    .io_in_4_ready(metaArb_io_in_4_ready),
+    .io_in_4_valid(metaArb_io_in_4_valid),
+    .io_in_4_bits_addr(metaArb_io_in_4_bits_addr),
+    .io_in_5_ready(metaArb_io_in_5_ready),
+    .io_in_5_valid(metaArb_io_in_5_valid),
+    .io_in_5_bits_addr(metaArb_io_in_5_bits_addr),
+    .io_in_5_bits_idx(metaArb_io_in_5_bits_idx),
+    .io_in_7_ready(metaArb_io_in_7_ready),
+    .io_in_7_valid(metaArb_io_in_7_valid),
+    .io_in_7_bits_addr(metaArb_io_in_7_bits_addr),
+    .io_out_ready(metaArb_io_out_ready),
+    .io_out_valid(metaArb_io_out_valid),
+    .io_out_bits_write(metaArb_io_out_bits_write),
+    .io_out_bits_addr(metaArb_io_out_bits_addr)
+  );
+  DCacheDataArray data ( // @[DCache.scala 108:20:shc.marmotcaravel.MarmotCaravelConfig.fir@201188.4]
+    .clock(data_clock),
+    .io_req_valid(data_io_req_valid),
+    .io_req_bits_addr(data_io_req_bits_addr),
+    .io_req_bits_write(data_io_req_bits_write),
+    .io_req_bits_wdata(data_io_req_bits_wdata),
+    .io_req_bits_eccMask(data_io_req_bits_eccMask),
+    .io_resp_0(data_io_resp_0),
+    .data_arrays_0_ext_RW0_addr(data_arrays_0_ext_RW0_addr),
+    .data_arrays_0_ext_RW0_en(data_arrays_0_ext_RW0_en),
+    .data_arrays_0_ext_RW0_clk(data_arrays_0_ext_RW0_clk),
+    .data_arrays_0_ext_RW0_wmode(data_arrays_0_ext_RW0_wmode),
+    .data_arrays_0_ext_RW0_wdata(data_arrays_0_ext_RW0_wdata),
+    .data_arrays_0_ext_RW0_rdata(data_arrays_0_ext_RW0_rdata),
+    .data_arrays_0_ext_RW0_wmask(data_arrays_0_ext_RW0_wmask)
+  );
+  Arbiter_1 dataArb ( // @[DCache.scala 109:23:shc.marmotcaravel.MarmotCaravelConfig.fir@201192.4]
+    .io_in_0_valid(dataArb_io_in_0_valid),
+    .io_in_0_bits_addr(dataArb_io_in_0_bits_addr),
+    .io_in_0_bits_write(dataArb_io_in_0_bits_write),
+    .io_in_0_bits_wdata(dataArb_io_in_0_bits_wdata),
+    .io_in_0_bits_eccMask(dataArb_io_in_0_bits_eccMask),
+    .io_in_1_ready(dataArb_io_in_1_ready),
+    .io_in_1_valid(dataArb_io_in_1_valid),
+    .io_in_1_bits_addr(dataArb_io_in_1_bits_addr),
+    .io_in_1_bits_write(dataArb_io_in_1_bits_write),
+    .io_in_1_bits_wdata(dataArb_io_in_1_bits_wdata),
+    .io_in_1_bits_eccMask(dataArb_io_in_1_bits_eccMask),
+    .io_in_2_ready(dataArb_io_in_2_ready),
+    .io_in_2_valid(dataArb_io_in_2_valid),
+    .io_in_2_bits_addr(dataArb_io_in_2_bits_addr),
+    .io_in_2_bits_wdata(dataArb_io_in_2_bits_wdata),
+    .io_in_2_bits_eccMask(dataArb_io_in_2_bits_eccMask),
+    .io_in_3_ready(dataArb_io_in_3_ready),
+    .io_in_3_valid(dataArb_io_in_3_valid),
+    .io_in_3_bits_addr(dataArb_io_in_3_bits_addr),
+    .io_in_3_bits_wdata(dataArb_io_in_3_bits_wdata),
+    .io_in_3_bits_eccMask(dataArb_io_in_3_bits_eccMask),
+    .io_out_valid(dataArb_io_out_valid),
+    .io_out_bits_addr(dataArb_io_out_bits_addr),
+    .io_out_bits_write(dataArb_io_out_bits_write),
+    .io_out_bits_wdata(dataArb_io_out_bits_wdata),
+    .io_out_bits_eccMask(dataArb_io_out_bits_eccMask)
+  );
+  TLB tlb ( // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
+    .io_req_valid(tlb_io_req_valid),
+    .io_req_bits_vaddr(tlb_io_req_bits_vaddr),
+    .io_req_bits_size(tlb_io_req_bits_size),
+    .io_req_bits_cmd(tlb_io_req_bits_cmd),
+    .io_resp_paddr(tlb_io_resp_paddr),
+    .io_resp_pf_ld(tlb_io_resp_pf_ld),
+    .io_resp_pf_st(tlb_io_resp_pf_st),
+    .io_resp_ae_ld(tlb_io_resp_ae_ld),
+    .io_resp_ae_st(tlb_io_resp_ae_st),
+    .io_resp_ma_ld(tlb_io_resp_ma_ld),
+    .io_resp_ma_st(tlb_io_resp_ma_st),
+    .io_ptw_pmp_0_cfg_l(tlb_io_ptw_pmp_0_cfg_l),
+    .io_ptw_pmp_0_cfg_a(tlb_io_ptw_pmp_0_cfg_a),
+    .io_ptw_pmp_0_cfg_x(tlb_io_ptw_pmp_0_cfg_x),
+    .io_ptw_pmp_0_cfg_w(tlb_io_ptw_pmp_0_cfg_w),
+    .io_ptw_pmp_0_cfg_r(tlb_io_ptw_pmp_0_cfg_r),
+    .io_ptw_pmp_0_addr(tlb_io_ptw_pmp_0_addr),
+    .io_ptw_pmp_0_mask(tlb_io_ptw_pmp_0_mask),
+    .io_ptw_pmp_1_cfg_l(tlb_io_ptw_pmp_1_cfg_l),
+    .io_ptw_pmp_1_cfg_a(tlb_io_ptw_pmp_1_cfg_a),
+    .io_ptw_pmp_1_cfg_x(tlb_io_ptw_pmp_1_cfg_x),
+    .io_ptw_pmp_1_cfg_w(tlb_io_ptw_pmp_1_cfg_w),
+    .io_ptw_pmp_1_cfg_r(tlb_io_ptw_pmp_1_cfg_r),
+    .io_ptw_pmp_1_addr(tlb_io_ptw_pmp_1_addr),
+    .io_ptw_pmp_1_mask(tlb_io_ptw_pmp_1_mask),
+    .io_ptw_pmp_2_cfg_l(tlb_io_ptw_pmp_2_cfg_l),
+    .io_ptw_pmp_2_cfg_a(tlb_io_ptw_pmp_2_cfg_a),
+    .io_ptw_pmp_2_cfg_x(tlb_io_ptw_pmp_2_cfg_x),
+    .io_ptw_pmp_2_cfg_w(tlb_io_ptw_pmp_2_cfg_w),
+    .io_ptw_pmp_2_cfg_r(tlb_io_ptw_pmp_2_cfg_r),
+    .io_ptw_pmp_2_addr(tlb_io_ptw_pmp_2_addr),
+    .io_ptw_pmp_2_mask(tlb_io_ptw_pmp_2_mask),
+    .io_ptw_pmp_3_cfg_l(tlb_io_ptw_pmp_3_cfg_l),
+    .io_ptw_pmp_3_cfg_a(tlb_io_ptw_pmp_3_cfg_a),
+    .io_ptw_pmp_3_cfg_x(tlb_io_ptw_pmp_3_cfg_x),
+    .io_ptw_pmp_3_cfg_w(tlb_io_ptw_pmp_3_cfg_w),
+    .io_ptw_pmp_3_cfg_r(tlb_io_ptw_pmp_3_cfg_r),
+    .io_ptw_pmp_3_addr(tlb_io_ptw_pmp_3_addr),
+    .io_ptw_pmp_3_mask(tlb_io_ptw_pmp_3_mask),
+    .io_ptw_pmp_4_cfg_l(tlb_io_ptw_pmp_4_cfg_l),
+    .io_ptw_pmp_4_cfg_a(tlb_io_ptw_pmp_4_cfg_a),
+    .io_ptw_pmp_4_cfg_x(tlb_io_ptw_pmp_4_cfg_x),
+    .io_ptw_pmp_4_cfg_w(tlb_io_ptw_pmp_4_cfg_w),
+    .io_ptw_pmp_4_cfg_r(tlb_io_ptw_pmp_4_cfg_r),
+    .io_ptw_pmp_4_addr(tlb_io_ptw_pmp_4_addr),
+    .io_ptw_pmp_4_mask(tlb_io_ptw_pmp_4_mask),
+    .io_ptw_pmp_5_cfg_l(tlb_io_ptw_pmp_5_cfg_l),
+    .io_ptw_pmp_5_cfg_a(tlb_io_ptw_pmp_5_cfg_a),
+    .io_ptw_pmp_5_cfg_x(tlb_io_ptw_pmp_5_cfg_x),
+    .io_ptw_pmp_5_cfg_w(tlb_io_ptw_pmp_5_cfg_w),
+    .io_ptw_pmp_5_cfg_r(tlb_io_ptw_pmp_5_cfg_r),
+    .io_ptw_pmp_5_addr(tlb_io_ptw_pmp_5_addr),
+    .io_ptw_pmp_5_mask(tlb_io_ptw_pmp_5_mask),
+    .io_ptw_pmp_6_cfg_l(tlb_io_ptw_pmp_6_cfg_l),
+    .io_ptw_pmp_6_cfg_a(tlb_io_ptw_pmp_6_cfg_a),
+    .io_ptw_pmp_6_cfg_x(tlb_io_ptw_pmp_6_cfg_x),
+    .io_ptw_pmp_6_cfg_w(tlb_io_ptw_pmp_6_cfg_w),
+    .io_ptw_pmp_6_cfg_r(tlb_io_ptw_pmp_6_cfg_r),
+    .io_ptw_pmp_6_addr(tlb_io_ptw_pmp_6_addr),
+    .io_ptw_pmp_6_mask(tlb_io_ptw_pmp_6_mask),
+    .io_ptw_pmp_7_cfg_l(tlb_io_ptw_pmp_7_cfg_l),
+    .io_ptw_pmp_7_cfg_a(tlb_io_ptw_pmp_7_cfg_a),
+    .io_ptw_pmp_7_cfg_x(tlb_io_ptw_pmp_7_cfg_x),
+    .io_ptw_pmp_7_cfg_w(tlb_io_ptw_pmp_7_cfg_w),
+    .io_ptw_pmp_7_cfg_r(tlb_io_ptw_pmp_7_cfg_r),
+    .io_ptw_pmp_7_addr(tlb_io_ptw_pmp_7_addr),
+    .io_ptw_pmp_7_mask(tlb_io_ptw_pmp_7_mask)
+  );
+  AMOALU amoalu ( // @[DCache.scala 743:24:shc.marmotcaravel.MarmotCaravelConfig.fir@204276.4]
+    .io_cmd(amoalu_io_cmd),
+    .io_lhs(amoalu_io_lhs),
+    .io_rhs(amoalu_io_rhs),
+    .io_out_unmasked(amoalu_io_out_unmasked)
+  );
+  assign opc = auto_out_d_bits_opcode[1:0]; // @[DCache.scala 482:26:shc.marmotcaravel.MarmotCaravelConfig.fir@203738.4]
+  assign _T_2382 = opc & 2'h1; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@203739.4]
+  assign data_1 = _T_2382 == 2'h1; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@203740.4]
+  assign _T_2513 = blockUncachedGrant | s1_valid; // @[DCache.scala 574:52:shc.marmotcaravel.MarmotCaravelConfig.fir@203944.4]
+  assign _T_2514 = data_1 & _T_2513; // @[DCache.scala 574:29:shc.marmotcaravel.MarmotCaravelConfig.fir@203945.4]
+  assign _GEN_176 = {{1'd0}, opc}; // @[DCache.scala 491:29:shc.marmotcaravel.MarmotCaravelConfig.fir@203747.4]
+  assign grantIsRefill = _GEN_176 == 3'h5; // @[DCache.scala 491:29:shc.marmotcaravel.MarmotCaravelConfig.fir@203747.4]
+  assign _T_2429 = dataArb_io_in_1_ready == 1'h0; // @[DCache.scala 544:26:shc.marmotcaravel.MarmotCaravelConfig.fir@203845.4]
+  assign _T_2430 = grantIsRefill & _T_2429; // @[DCache.scala 544:23:shc.marmotcaravel.MarmotCaravelConfig.fir@203846.4]
+  assign _T_2385 = _GEN_176 == 3'h4; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@203743.4]
+  assign grantIsCached = _T_2385 | grantIsRefill; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@203745.4]
+  assign d_first = _T_2363 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@203712.4]
+  assign _GEN_133 = _T_2430 ? 1'h0 : 1'h1; // @[DCache.scala 544:51:shc.marmotcaravel.MarmotCaravelConfig.fir@203847.4]
+  assign tl_out__d_ready = _T_2514 ? 1'h0 : _GEN_133; // @[DCache.scala 574:66:shc.marmotcaravel.MarmotCaravelConfig.fir@203946.4]
+  assign _T_2397 = tl_out__d_ready & auto_out_d_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@203762.4]
+  assign _T_2367 = _T_2363 == 10'h1; // @[Edges.scala 232:25:shc.marmotcaravel.MarmotCaravelConfig.fir@203713.4]
+  assign _T_2360 = auto_out_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@203706.4]
+  assign _T_2356 = 27'hfff << auto_out_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@203702.4]
+  assign _T_2357 = _T_2356[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@203703.4]
+  assign _T_2358 = ~ _T_2357; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@203704.4]
+  assign _T_2359 = _T_2358[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@203705.4]
+  assign _T_2361 = _T_2360 ? _T_2359 : 10'h0; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@203707.4]
+  assign _T_2368 = _T_2361 == 10'h0; // @[Edges.scala 232:47:shc.marmotcaravel.MarmotCaravelConfig.fir@203714.4]
+  assign d_last = _T_2367 | _T_2368; // @[Edges.scala 232:37:shc.marmotcaravel.MarmotCaravelConfig.fir@203715.4]
+  assign _T_253 = dataArb_io_out_bits_wdata; // @[DCache.scala 112:65:shc.marmotcaravel.MarmotCaravelConfig.fir@201200.4]
+  assign _T_254 = _T_253[7:0]; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@201201.4]
+  assign _T_255 = _T_253[15:8]; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@201202.4]
+  assign _T_256 = _T_253[23:16]; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@201203.4]
+  assign _T_257 = _T_253[31:24]; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@201204.4]
+  assign _T_258 = {_T_255,_T_254}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@201205.4]
+  assign _T_259 = {_T_257,_T_256}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@201206.4]
+  assign _T_263 = io_cpu_req_ready & io_cpu_req_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@201214.4]
+  assign _T_583 = 1'h0; // @[DCache.scala 233:34:shc.marmotcaravel.MarmotCaravelConfig.fir@201609.4]
+  assign releaseInFlight = release_state != 3'h0; // @[DCache.scala 233:63:shc.marmotcaravel.MarmotCaravelConfig.fir@201610.4]
+  assign _T_2519 = blockProbeAfterGrantCount > 3'h0; // @[DCache.scala 587:85:shc.marmotcaravel.MarmotCaravelConfig.fir@203959.4]
+  assign lrscValid = lrscCount > 7'h3; // @[DCache.scala 328:29:shc.marmotcaravel.MarmotCaravelConfig.fir@202152.4]
+  assign _T_577 = {io_cpu_s2_xcpt_ma_ld,io_cpu_s2_xcpt_ma_st}; // @[DCache.scala 231:55:shc.marmotcaravel.MarmotCaravelConfig.fir@201601.4]
+  assign _T_578 = {_T_577,io_cpu_s2_xcpt_pf_ld}; // @[DCache.scala 231:55:shc.marmotcaravel.MarmotCaravelConfig.fir@201602.4]
+  assign _T_575 = {io_cpu_s2_xcpt_pf_st,io_cpu_s2_xcpt_ae_ld}; // @[DCache.scala 231:55:shc.marmotcaravel.MarmotCaravelConfig.fir@201599.4]
+  assign _T_576 = {_T_575,io_cpu_s2_xcpt_ae_st}; // @[DCache.scala 231:55:shc.marmotcaravel.MarmotCaravelConfig.fir@201600.4]
+  assign _T_579 = {_T_578,_T_576}; // @[DCache.scala 231:55:shc.marmotcaravel.MarmotCaravelConfig.fir@201603.4]
+  assign _T_580 = _T_579 != 6'h0; // @[DCache.scala 231:62:shc.marmotcaravel.MarmotCaravelConfig.fir@201604.4]
+  assign _T_581 = _T_580 == 1'h0; // @[DCache.scala 231:39:shc.marmotcaravel.MarmotCaravelConfig.fir@201605.4]
+  assign s2_valid = s2_valid_pre_xcpt & _T_581; // @[DCache.scala 231:36:shc.marmotcaravel.MarmotCaravelConfig.fir@201606.4]
+  assign _T_2528 = s2_valid == 1'h0; // @[DCache.scala 589:76:shc.marmotcaravel.MarmotCaravelConfig.fir@203970.4]
+  assign _T_270 = io_cpu_s1_kill == 1'h0; // @[DCache.scala 135:37:shc.marmotcaravel.MarmotCaravelConfig.fir@201235.4]
+  assign s1_valid_masked = s1_valid & _T_270; // @[DCache.scala 135:34:shc.marmotcaravel.MarmotCaravelConfig.fir@201236.4]
+  assign _T_277 = s1_req_cmd == 5'h0; // @[Consts.scala 93:31:shc.marmotcaravel.MarmotCaravelConfig.fir@201253.4]
+  assign _T_278 = s1_req_cmd == 5'h6; // @[Consts.scala 93:48:shc.marmotcaravel.MarmotCaravelConfig.fir@201254.4]
+  assign _T_279 = _T_277 | _T_278; // @[Consts.scala 93:41:shc.marmotcaravel.MarmotCaravelConfig.fir@201255.4]
+  assign _T_280 = s1_req_cmd == 5'h7; // @[Consts.scala 93:65:shc.marmotcaravel.MarmotCaravelConfig.fir@201256.4]
+  assign _T_281 = _T_279 | _T_280; // @[Consts.scala 93:58:shc.marmotcaravel.MarmotCaravelConfig.fir@201257.4]
+  assign _T_282 = s1_req_cmd == 5'h4; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201258.4]
+  assign _T_283 = s1_req_cmd == 5'h9; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201259.4]
+  assign _T_286 = _T_282 | _T_283; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@201262.4]
+  assign _T_284 = s1_req_cmd == 5'ha; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201260.4]
+  assign _T_287 = _T_286 | _T_284; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@201263.4]
+  assign _T_285 = s1_req_cmd == 5'hb; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201261.4]
+  assign _T_288 = _T_287 | _T_285; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@201264.4]
+  assign _T_289 = s1_req_cmd == 5'h8; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201265.4]
+  assign _T_290 = s1_req_cmd == 5'hc; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201266.4]
+  assign _T_294 = _T_289 | _T_290; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@201270.4]
+  assign _T_291 = s1_req_cmd == 5'hd; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201267.4]
+  assign _T_295 = _T_294 | _T_291; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@201271.4]
+  assign _T_292 = s1_req_cmd == 5'he; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201268.4]
+  assign _T_296 = _T_295 | _T_292; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@201272.4]
+  assign _T_293 = s1_req_cmd == 5'hf; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201269.4]
+  assign _T_297 = _T_296 | _T_293; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@201273.4]
+  assign _T_298 = _T_288 | _T_297; // @[Consts.scala 91:44:shc.marmotcaravel.MarmotCaravelConfig.fir@201274.4]
+  assign s1_read = _T_281 | _T_298; // @[Consts.scala 93:75:shc.marmotcaravel.MarmotCaravelConfig.fir@201275.4]
+  assign s2_valid_masked = s2_valid & _T_587; // @[DCache.scala 234:34:shc.marmotcaravel.MarmotCaravelConfig.fir@201615.4]
+  assign _T_598 = s2_req_cmd == 5'h0; // @[Consts.scala 93:31:shc.marmotcaravel.MarmotCaravelConfig.fir@201636.4]
+  assign _T_599 = s2_req_cmd == 5'h6; // @[Consts.scala 93:48:shc.marmotcaravel.MarmotCaravelConfig.fir@201637.4]
+  assign _T_600 = _T_598 | _T_599; // @[Consts.scala 93:41:shc.marmotcaravel.MarmotCaravelConfig.fir@201638.4]
+  assign _T_601 = s2_req_cmd == 5'h7; // @[Consts.scala 93:65:shc.marmotcaravel.MarmotCaravelConfig.fir@201639.4]
+  assign _T_602 = _T_600 | _T_601; // @[Consts.scala 93:58:shc.marmotcaravel.MarmotCaravelConfig.fir@201640.4]
+  assign _T_603 = s2_req_cmd == 5'h4; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201641.4]
+  assign _T_604 = s2_req_cmd == 5'h9; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201642.4]
+  assign _T_607 = _T_603 | _T_604; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@201645.4]
+  assign _T_605 = s2_req_cmd == 5'ha; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201643.4]
+  assign _T_608 = _T_607 | _T_605; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@201646.4]
+  assign _T_606 = s2_req_cmd == 5'hb; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201644.4]
+  assign _T_609 = _T_608 | _T_606; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@201647.4]
+  assign _T_610 = s2_req_cmd == 5'h8; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201648.4]
+  assign _T_611 = s2_req_cmd == 5'hc; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201649.4]
+  assign _T_615 = _T_610 | _T_611; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@201653.4]
+  assign _T_612 = s2_req_cmd == 5'hd; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201650.4]
+  assign _T_616 = _T_615 | _T_612; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@201654.4]
+  assign _T_613 = s2_req_cmd == 5'he; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201651.4]
+  assign _T_617 = _T_616 | _T_613; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@201655.4]
+  assign _T_614 = s2_req_cmd == 5'hf; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201652.4]
+  assign _T_618 = _T_617 | _T_614; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@201656.4]
+  assign _T_619 = _T_609 | _T_618; // @[Consts.scala 91:44:shc.marmotcaravel.MarmotCaravelConfig.fir@201657.4]
+  assign s2_read = _T_602 | _T_619; // @[Consts.scala 93:75:shc.marmotcaravel.MarmotCaravelConfig.fir@201658.4]
+  assign _T_620 = s2_req_cmd == 5'h1; // @[Consts.scala 94:32:shc.marmotcaravel.MarmotCaravelConfig.fir@201659.4]
+  assign _T_621 = s2_req_cmd == 5'h11; // @[Consts.scala 94:49:shc.marmotcaravel.MarmotCaravelConfig.fir@201660.4]
+  assign _T_622 = _T_620 | _T_621; // @[Consts.scala 94:42:shc.marmotcaravel.MarmotCaravelConfig.fir@201661.4]
+  assign _T_624 = _T_622 | _T_601; // @[Consts.scala 94:59:shc.marmotcaravel.MarmotCaravelConfig.fir@201663.4]
+  assign s2_write = _T_624 | _T_619; // @[Consts.scala 94:76:shc.marmotcaravel.MarmotCaravelConfig.fir@201681.4]
+  assign s2_readwrite = s2_read | s2_write; // @[DCache.scala 247:30:shc.marmotcaravel.MarmotCaravelConfig.fir@201682.4]
+  assign _T_803 = s2_valid_masked & s2_readwrite; // @[DCache.scala 282:51:shc.marmotcaravel.MarmotCaravelConfig.fir@201891.4]
+  assign _T_720 = s2_req_cmd == 5'h3; // @[Consts.scala 95:54:shc.marmotcaravel.MarmotCaravelConfig.fir@201797.4]
+  assign _T_721 = s2_write | _T_720; // @[Consts.scala 95:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201798.4]
+  assign _T_723 = _T_721 | _T_599; // @[Consts.scala 95:64:shc.marmotcaravel.MarmotCaravelConfig.fir@201800.4]
+  assign _T_724 = {s2_write,_T_723}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@201801.4]
+  assign _T_725 = {_T_724,s2_hit_state_state}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@201802.4]
+  assign _T_783 = 4'h3 == _T_725; // @[Misc.scala 51:20:shc.marmotcaravel.MarmotCaravelConfig.fir@201860.4]
+  assign _T_780 = 4'h2 == _T_725; // @[Misc.scala 51:20:shc.marmotcaravel.MarmotCaravelConfig.fir@201857.4]
+  assign _T_777 = 4'h1 == _T_725; // @[Misc.scala 51:20:shc.marmotcaravel.MarmotCaravelConfig.fir@201854.4]
+  assign _T_774 = 4'h7 == _T_725; // @[Misc.scala 51:20:shc.marmotcaravel.MarmotCaravelConfig.fir@201851.4]
+  assign _T_771 = 4'h6 == _T_725; // @[Misc.scala 51:20:shc.marmotcaravel.MarmotCaravelConfig.fir@201848.4]
+  assign _T_768 = 4'hf == _T_725; // @[Misc.scala 51:20:shc.marmotcaravel.MarmotCaravelConfig.fir@201845.4]
+  assign _T_765 = 4'he == _T_725; // @[Misc.scala 51:20:shc.marmotcaravel.MarmotCaravelConfig.fir@201842.4]
+  assign _T_762 = 4'h0 == _T_725; // @[Misc.scala 51:20:shc.marmotcaravel.MarmotCaravelConfig.fir@201839.4]
+  assign _T_759 = 4'h5 == _T_725; // @[Misc.scala 51:20:shc.marmotcaravel.MarmotCaravelConfig.fir@201836.4]
+  assign _T_756 = 4'h4 == _T_725; // @[Misc.scala 51:20:shc.marmotcaravel.MarmotCaravelConfig.fir@201833.4]
+  assign _T_753 = 4'hd == _T_725; // @[Misc.scala 51:20:shc.marmotcaravel.MarmotCaravelConfig.fir@201830.4]
+  assign _T_750 = 4'hc == _T_725; // @[Misc.scala 51:20:shc.marmotcaravel.MarmotCaravelConfig.fir@201827.4]
+  assign _T_769 = _T_768 ? 1'h1 : _T_765; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@201846.4]
+  assign _T_772 = _T_771 ? 1'h1 : _T_769; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@201849.4]
+  assign _T_775 = _T_774 ? 1'h1 : _T_772; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@201852.4]
+  assign _T_778 = _T_777 ? 1'h1 : _T_775; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@201855.4]
+  assign _T_781 = _T_780 ? 1'h1 : _T_778; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@201858.4]
+  assign s2_hit = _T_783 ? 1'h1 : _T_781; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@201861.4]
+  assign s2_valid_hit_pre_data_ecc = _T_803 & s2_hit; // @[DCache.scala 282:85:shc.marmotcaravel.MarmotCaravelConfig.fir@201894.4]
+  assign _T_1176 = s2_valid_hit_pre_data_ecc & s2_write; // @[DCache.scala 345:46:shc.marmotcaravel.MarmotCaravelConfig.fir@202366.4]
+  assign pstore1_valid_pre_kill = _T_1176 | pstore1_held; // @[DCache.scala 361:56:shc.marmotcaravel.MarmotCaravelConfig.fir@202369.4]
+  assign _T_1308 = pstore1_addr[13:2]; // @[DCache.scala 414:9:shc.marmotcaravel.MarmotCaravelConfig.fir@202540.4]
+  assign _T_1309 = s1_req_addr[13:2]; // @[DCache.scala 414:46:shc.marmotcaravel.MarmotCaravelConfig.fir@202541.4]
+  assign _T_1310 = _T_1308 == _T_1309; // @[DCache.scala 414:31:shc.marmotcaravel.MarmotCaravelConfig.fir@202542.4]
+  assign _T_299 = s1_req_cmd == 5'h1; // @[Consts.scala 94:32:shc.marmotcaravel.MarmotCaravelConfig.fir@201276.4]
+  assign _T_300 = s1_req_cmd == 5'h11; // @[Consts.scala 94:49:shc.marmotcaravel.MarmotCaravelConfig.fir@201277.4]
+  assign _T_301 = _T_299 | _T_300; // @[Consts.scala 94:42:shc.marmotcaravel.MarmotCaravelConfig.fir@201278.4]
+  assign _T_303 = _T_301 | _T_280; // @[Consts.scala 94:59:shc.marmotcaravel.MarmotCaravelConfig.fir@201280.4]
+  assign s1_write = _T_303 | _T_298; // @[Consts.scala 94:76:shc.marmotcaravel.MarmotCaravelConfig.fir@201298.4]
+  assign _T_1314 = pstore1_mask[3]; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@202546.4]
+  assign _T_1313 = pstore1_mask[2]; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@202545.4]
+  assign _T_1320 = {_T_1314,_T_1313}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@202552.4]
+  assign _T_1312 = pstore1_mask[1]; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@202544.4]
+  assign _T_1311 = pstore1_mask[0]; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@202543.4]
+  assign _T_1319 = {_T_1312,_T_1311}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@202551.4]
+  assign _T_1321 = {_T_1320,_T_1319}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@202553.4]
+  assign _T_1325 = _T_1321[3]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@202557.4]
+  assign _T_1324 = _T_1321[2]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@202556.4]
+  assign _T_1327 = {_T_1325,_T_1324}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@202559.4]
+  assign _T_1323 = _T_1321[1]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@202555.4]
+  assign _T_1322 = _T_1321[0]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@202554.4]
+  assign _T_1326 = {_T_1323,_T_1322}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@202558.4]
+  assign _T_1328 = {_T_1327,_T_1326}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@202560.4]
+  assign _T_564 = s1_req_addr[1]; // @[AMOALU.scala 17:27:shc.marmotcaravel.MarmotCaravelConfig.fir@201586.4]
+  assign _T_556 = s1_req_addr[0]; // @[AMOALU.scala 17:27:shc.marmotcaravel.MarmotCaravelConfig.fir@201578.4]
+  assign _T_555 = s1_req_typ[1:0]; // @[AMOALU.scala 10:17:shc.marmotcaravel.MarmotCaravelConfig.fir@201577.4]
+  assign _T_558 = _T_555 >= 2'h1; // @[AMOALU.scala 17:57:shc.marmotcaravel.MarmotCaravelConfig.fir@201580.4]
+  assign _T_560 = _T_556 | _T_558; // @[AMOALU.scala 17:46:shc.marmotcaravel.MarmotCaravelConfig.fir@201582.4]
+  assign _T_562 = _T_556 ? 1'h0 : 1'h1; // @[AMOALU.scala 18:22:shc.marmotcaravel.MarmotCaravelConfig.fir@201584.4]
+  assign _T_563 = {_T_560,_T_562}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@201585.4]
+  assign _T_565 = _T_564 ? _T_563 : 2'h0; // @[AMOALU.scala 17:22:shc.marmotcaravel.MarmotCaravelConfig.fir@201587.4]
+  assign _T_566 = _T_555 >= 2'h2; // @[AMOALU.scala 17:57:shc.marmotcaravel.MarmotCaravelConfig.fir@201588.4]
+  assign _T_567 = _T_566 ? 2'h3 : 2'h0; // @[AMOALU.scala 17:51:shc.marmotcaravel.MarmotCaravelConfig.fir@201589.4]
+  assign _T_568 = _T_565 | _T_567; // @[AMOALU.scala 17:46:shc.marmotcaravel.MarmotCaravelConfig.fir@201590.4]
+  assign _T_570 = _T_564 ? 2'h0 : _T_563; // @[AMOALU.scala 18:22:shc.marmotcaravel.MarmotCaravelConfig.fir@201592.4]
+  assign _T_571 = {_T_568,_T_570}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@201593.4]
+  assign s1_mask = _T_300 ? io_cpu_s1_data_mask : _T_571; // @[DCache.scala 228:20:shc.marmotcaravel.MarmotCaravelConfig.fir@201594.4]
+  assign _T_1332 = s1_mask[3]; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@202564.4]
+  assign _T_1331 = s1_mask[2]; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@202563.4]
+  assign _T_1338 = {_T_1332,_T_1331}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@202570.4]
+  assign _T_1330 = s1_mask[1]; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@202562.4]
+  assign _T_1329 = s1_mask[0]; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@202561.4]
+  assign _T_1337 = {_T_1330,_T_1329}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@202569.4]
+  assign _T_1339 = {_T_1338,_T_1337}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@202571.4]
+  assign _T_1343 = _T_1339[3]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@202575.4]
+  assign _T_1342 = _T_1339[2]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@202574.4]
+  assign _T_1345 = {_T_1343,_T_1342}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@202577.4]
+  assign _T_1341 = _T_1339[1]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@202573.4]
+  assign _T_1340 = _T_1339[0]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@202572.4]
+  assign _T_1344 = {_T_1341,_T_1340}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@202576.4]
+  assign _T_1346 = {_T_1345,_T_1344}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@202578.4]
+  assign _T_1347 = _T_1328 & _T_1346; // @[DCache.scala 415:38:shc.marmotcaravel.MarmotCaravelConfig.fir@202579.4]
+  assign _T_1348 = _T_1347 != 4'h0; // @[DCache.scala 415:62:shc.marmotcaravel.MarmotCaravelConfig.fir@202580.4]
+  assign _T_1349 = pstore1_mask & s1_mask; // @[DCache.scala 415:73:shc.marmotcaravel.MarmotCaravelConfig.fir@202581.4]
+  assign _T_1350 = _T_1349 != 4'h0; // @[DCache.scala 415:84:shc.marmotcaravel.MarmotCaravelConfig.fir@202582.4]
+  assign _T_1351 = s1_write ? _T_1348 : _T_1350; // @[DCache.scala 415:8:shc.marmotcaravel.MarmotCaravelConfig.fir@202583.4]
+  assign _T_1352 = _T_1310 & _T_1351; // @[DCache.scala 414:68:shc.marmotcaravel.MarmotCaravelConfig.fir@202584.4]
+  assign _T_1353 = pstore1_valid_pre_kill & _T_1352; // @[DCache.scala 417:29:shc.marmotcaravel.MarmotCaravelConfig.fir@202585.4]
+  assign _T_1354 = pstore2_addr[13:2]; // @[DCache.scala 414:9:shc.marmotcaravel.MarmotCaravelConfig.fir@202586.4]
+  assign _T_1356 = _T_1354 == _T_1309; // @[DCache.scala 414:31:shc.marmotcaravel.MarmotCaravelConfig.fir@202588.4]
+  assign _T_1360 = mask[3]; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@202592.4]
+  assign _T_1359 = mask[2]; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@202591.4]
+  assign _T_1366 = {_T_1360,_T_1359}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@202598.4]
+  assign _T_1358 = mask[1]; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@202590.4]
+  assign _T_1357 = mask[0]; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@202589.4]
+  assign _T_1365 = {_T_1358,_T_1357}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@202597.4]
+  assign _T_1367 = {_T_1366,_T_1365}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@202599.4]
+  assign _T_1371 = _T_1367[3]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@202603.4]
+  assign _T_1370 = _T_1367[2]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@202602.4]
+  assign _T_1373 = {_T_1371,_T_1370}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@202605.4]
+  assign _T_1369 = _T_1367[1]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@202601.4]
+  assign _T_1368 = _T_1367[0]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@202600.4]
+  assign _T_1372 = {_T_1369,_T_1368}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@202604.4]
+  assign _T_1374 = {_T_1373,_T_1372}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@202606.4]
+  assign _T_1393 = _T_1374 & _T_1346; // @[DCache.scala 415:38:shc.marmotcaravel.MarmotCaravelConfig.fir@202625.4]
+  assign _T_1394 = _T_1393 != 4'h0; // @[DCache.scala 415:62:shc.marmotcaravel.MarmotCaravelConfig.fir@202626.4]
+  assign _T_1395 = mask & s1_mask; // @[DCache.scala 415:73:shc.marmotcaravel.MarmotCaravelConfig.fir@202627.4]
+  assign _T_1396 = _T_1395 != 4'h0; // @[DCache.scala 415:84:shc.marmotcaravel.MarmotCaravelConfig.fir@202628.4]
+  assign _T_1397 = s1_write ? _T_1394 : _T_1396; // @[DCache.scala 415:8:shc.marmotcaravel.MarmotCaravelConfig.fir@202629.4]
+  assign _T_1398 = _T_1356 & _T_1397; // @[DCache.scala 414:68:shc.marmotcaravel.MarmotCaravelConfig.fir@202630.4]
+  assign _T_1399 = pstore2_valid & _T_1398; // @[DCache.scala 418:21:shc.marmotcaravel.MarmotCaravelConfig.fir@202631.4]
+  assign s1_hazard = _T_1353 | _T_1399; // @[DCache.scala 417:71:shc.marmotcaravel.MarmotCaravelConfig.fir@202632.4]
+  assign s1_raw_hazard = s1_read & s1_hazard; // @[DCache.scala 419:31:shc.marmotcaravel.MarmotCaravelConfig.fir@202633.4]
+  assign _T_1400 = s1_valid & s1_raw_hazard; // @[DCache.scala 424:18:shc.marmotcaravel.MarmotCaravelConfig.fir@202635.4]
+  assign _T_752 = _T_750 ? 2'h1 : 2'h0; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@201829.4]
+  assign _T_755 = _T_753 ? 2'h2 : _T_752; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@201832.4]
+  assign _T_758 = _T_756 ? 2'h1 : _T_755; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@201835.4]
+  assign _T_761 = _T_759 ? 2'h2 : _T_758; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@201838.4]
+  assign _T_764 = _T_762 ? 2'h0 : _T_761; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@201841.4]
+  assign _T_767 = _T_765 ? 2'h3 : _T_764; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@201844.4]
+  assign _T_770 = _T_768 ? 2'h3 : _T_767; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@201847.4]
+  assign _T_773 = _T_771 ? 2'h2 : _T_770; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@201850.4]
+  assign _T_776 = _T_774 ? 2'h3 : _T_773; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@201853.4]
+  assign _T_779 = _T_777 ? 2'h1 : _T_776; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@201856.4]
+  assign _T_782 = _T_780 ? 2'h2 : _T_779; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@201859.4]
+  assign s2_grow_param = _T_783 ? 2'h3 : _T_782; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@201862.4]
+  assign _T_965 = s2_hit_state_state == s2_grow_param; // @[Metadata.scala 46:46:shc.marmotcaravel.MarmotCaravelConfig.fir@202079.4]
+  assign s2_update_meta = _T_965 == 1'h0; // @[Metadata.scala 47:40:shc.marmotcaravel.MarmotCaravelConfig.fir@202080.4]
+  assign _T_971 = s2_valid_hit_pre_data_ecc & s2_update_meta; // @[DCache.scala 301:41:shc.marmotcaravel.MarmotCaravelConfig.fir@202087.4]
+  assign _T_972 = io_cpu_s2_nack | _T_971; // @[DCache.scala 301:24:shc.marmotcaravel.MarmotCaravelConfig.fir@202088.4]
+  assign s1_readwrite = s1_read | s1_write; // @[DCache.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@201299.4]
+  assign s1_nack = _T_1400 ? 1'h1 : _T_972; // @[DCache.scala 424:36:shc.marmotcaravel.MarmotCaravelConfig.fir@202636.4]
+  assign _T_271 = s1_nack == 1'h0; // @[DCache.scala 136:41:shc.marmotcaravel.MarmotCaravelConfig.fir@201237.4]
+  assign s1_valid_not_nacked = s1_valid & _T_271; // @[DCache.scala 136:38:shc.marmotcaravel.MarmotCaravelConfig.fir@201238.4]
+  assign _T_272 = metaArb_io_out_bits_write == 1'h0; // @[DCache.scala 138:43:shc.marmotcaravel.MarmotCaravelConfig.fir@201240.4]
+  assign s0_clk_en = metaArb_io_out_valid & _T_272; // @[DCache.scala 138:40:shc.marmotcaravel.MarmotCaravelConfig.fir@201241.4]
+  assign _T_273 = metaArb_io_out_bits_addr[31:6]; // @[DCache.scala 141:49:shc.marmotcaravel.MarmotCaravelConfig.fir@201244.6]
+  assign _T_274 = io_cpu_req_bits_addr[5:0]; // @[DCache.scala 141:86:shc.marmotcaravel.MarmotCaravelConfig.fir@201245.6]
+  assign _T_275 = {_T_273,_T_274}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@201246.6]
+  assign _T_276 = metaArb_io_in_7_ready == 1'h0; // @[DCache.scala 142:11:shc.marmotcaravel.MarmotCaravelConfig.fir@201248.6]
+  assign s1_sfence = s1_req_cmd == 5'h14; // @[DCache.scala 147:30:shc.marmotcaravel.MarmotCaravelConfig.fir@201300.4]
+  assign _T_329 = release_state == 3'h1; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201311.4]
+  assign _T_330 = release_state == 3'h2; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201312.4]
+  assign inWriteback = _T_329 | _T_330; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@201313.4]
+  assign _T_332 = release_state == 3'h0; // @[DCache.scala 159:38:shc.marmotcaravel.MarmotCaravelConfig.fir@201316.4]
+  assign _T_333 = cached_grant_wait == 1'h0; // @[DCache.scala 159:54:shc.marmotcaravel.MarmotCaravelConfig.fir@201317.4]
+  assign _T_334 = _T_332 & _T_333; // @[DCache.scala 159:51:shc.marmotcaravel.MarmotCaravelConfig.fir@201318.4]
+  assign _T_336 = _T_334 & _T_271; // @[DCache.scala 159:73:shc.marmotcaravel.MarmotCaravelConfig.fir@201320.4]
+  assign _T_363 = io_cpu_req_bits_cmd == 5'h0; // @[Consts.scala 93:31:shc.marmotcaravel.MarmotCaravelConfig.fir@201327.4]
+  assign _T_364 = io_cpu_req_bits_cmd == 5'h6; // @[Consts.scala 93:48:shc.marmotcaravel.MarmotCaravelConfig.fir@201328.4]
+  assign _T_365 = _T_363 | _T_364; // @[Consts.scala 93:41:shc.marmotcaravel.MarmotCaravelConfig.fir@201329.4]
+  assign _T_366 = io_cpu_req_bits_cmd == 5'h7; // @[Consts.scala 93:65:shc.marmotcaravel.MarmotCaravelConfig.fir@201330.4]
+  assign _T_367 = _T_365 | _T_366; // @[Consts.scala 93:58:shc.marmotcaravel.MarmotCaravelConfig.fir@201331.4]
+  assign _T_368 = io_cpu_req_bits_cmd == 5'h4; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201332.4]
+  assign _T_369 = io_cpu_req_bits_cmd == 5'h9; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201333.4]
+  assign _T_370 = io_cpu_req_bits_cmd == 5'ha; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201334.4]
+  assign _T_371 = io_cpu_req_bits_cmd == 5'hb; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201335.4]
+  assign _T_372 = _T_368 | _T_369; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@201336.4]
+  assign _T_373 = _T_372 | _T_370; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@201337.4]
+  assign _T_374 = _T_373 | _T_371; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@201338.4]
+  assign _T_375 = io_cpu_req_bits_cmd == 5'h8; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201339.4]
+  assign _T_376 = io_cpu_req_bits_cmd == 5'hc; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201340.4]
+  assign _T_377 = io_cpu_req_bits_cmd == 5'hd; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201341.4]
+  assign _T_378 = io_cpu_req_bits_cmd == 5'he; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201342.4]
+  assign _T_379 = io_cpu_req_bits_cmd == 5'hf; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201343.4]
+  assign _T_380 = _T_375 | _T_376; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@201344.4]
+  assign _T_381 = _T_380 | _T_377; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@201345.4]
+  assign _T_382 = _T_381 | _T_378; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@201346.4]
+  assign _T_383 = _T_382 | _T_379; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@201347.4]
+  assign _T_384 = _T_374 | _T_383; // @[Consts.scala 91:44:shc.marmotcaravel.MarmotCaravelConfig.fir@201348.4]
+  assign s0_read = _T_367 | _T_384; // @[Consts.scala 93:75:shc.marmotcaravel.MarmotCaravelConfig.fir@201349.4]
+  assign _T_385 = io_cpu_req_bits_cmd == 5'h1; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201350.4]
+  assign _T_386 = io_cpu_req_bits_cmd == 5'h3; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201351.4]
+  assign _T_387 = _T_385 | _T_386; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@201352.4]
+  assign res = _T_387 == 1'h0; // @[DCache.scala 912:15:shc.marmotcaravel.MarmotCaravelConfig.fir@201353.4]
+  assign _T_415 = io_cpu_req_bits_cmd == 5'h11; // @[Consts.scala 94:49:shc.marmotcaravel.MarmotCaravelConfig.fir@201381.4]
+  assign _T_416 = _T_385 | _T_415; // @[Consts.scala 94:42:shc.marmotcaravel.MarmotCaravelConfig.fir@201382.4]
+  assign _T_418 = _T_416 | _T_366; // @[Consts.scala 94:59:shc.marmotcaravel.MarmotCaravelConfig.fir@201384.4]
+  assign _T_436 = _T_418 | _T_384; // @[Consts.scala 94:76:shc.marmotcaravel.MarmotCaravelConfig.fir@201402.4]
+  assign _T_441 = _T_436 & _T_415; // @[DCache.scala 918:23:shc.marmotcaravel.MarmotCaravelConfig.fir@201407.4]
+  assign _T_442 = s0_read | _T_441; // @[DCache.scala 917:21:shc.marmotcaravel.MarmotCaravelConfig.fir@201408.4]
+  assign _T_443 = _T_442 == 1'h0; // @[DCache.scala 913:12:shc.marmotcaravel.MarmotCaravelConfig.fir@201409.4]
+  assign _T_444 = _T_443 | res; // @[DCache.scala 913:28:shc.marmotcaravel.MarmotCaravelConfig.fir@201410.4]
+  assign _T_446 = _T_444 | reset; // @[DCache.scala 913:11:shc.marmotcaravel.MarmotCaravelConfig.fir@201412.4]
+  assign _T_447 = _T_446 == 1'h0; // @[DCache.scala 913:11:shc.marmotcaravel.MarmotCaravelConfig.fir@201413.4]
+  assign _T_448 = io_cpu_req_valid & res; // @[DCache.scala 167:46:shc.marmotcaravel.MarmotCaravelConfig.fir@201418.4]
+  assign _T_451 = dataArb_io_in_3_ready == 1'h0; // @[DCache.scala 173:9:shc.marmotcaravel.MarmotCaravelConfig.fir@201427.4]
+  assign _T_452 = _T_451 & s0_read; // @[DCache.scala 173:33:shc.marmotcaravel.MarmotCaravelConfig.fir@201428.4]
+  assign _GEN_16 = _T_452 ? 1'h0 : _T_336; // @[DCache.scala 173:45:shc.marmotcaravel.MarmotCaravelConfig.fir@201429.4]
+  assign _GEN_18 = _T_276 ? 1'h0 : _GEN_16; // @[DCache.scala 181:34:shc.marmotcaravel.MarmotCaravelConfig.fir@201498.4]
+  assign _T_527 = tlb_io_resp_paddr >= 32'h80000000; // @[DCache.scala 206:35:shc.marmotcaravel.MarmotCaravelConfig.fir@201542.4]
+  assign _T_530 = tlb_io_resp_paddr < 32'h80004000; // @[DCache.scala 206:59:shc.marmotcaravel.MarmotCaravelConfig.fir@201545.4]
+  assign inScratchpad = _T_527 & _T_530; // @[DCache.scala 206:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201546.4]
+  assign _T_540 = auto_out_d_bits_data[7:0]; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@201565.4]
+  assign _T_541 = auto_out_d_bits_data[15:8]; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@201566.4]
+  assign _T_542 = auto_out_d_bits_data[23:16]; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@201567.4]
+  assign _T_543 = auto_out_d_bits_data[31:24]; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@201568.4]
+  assign _T_544 = {_T_541,_T_540}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@201569.4]
+  assign _T_545 = {_T_543,_T_542}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@201570.4]
+  assign s1_all_data_ways_1 = {_T_545,_T_544}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@201571.4]
+  assign _T_572 = s1_sfence == 1'h0; // @[DCache.scala 230:55:shc.marmotcaravel.MarmotCaravelConfig.fir@201595.4]
+  assign _T_573 = s1_valid_masked & _T_572; // @[DCache.scala 230:52:shc.marmotcaravel.MarmotCaravelConfig.fir@201596.4]
+  assign _T_591 = s1_valid_not_nacked | s1_flush_valid; // @[DCache.scala 239:29:shc.marmotcaravel.MarmotCaravelConfig.fir@201621.4]
+  assign _T_596 = _T_595[31:12]; // @[DCache.scala 244:84:shc.marmotcaravel.MarmotCaravelConfig.fir@201633.4]
+  assign _T_597 = s2_req_addr[11:0]; // @[DCache.scala 244:109:shc.marmotcaravel.MarmotCaravelConfig.fir@201634.4]
+  assign s2_vaddr = {_T_596,_T_597}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@201635.4]
+  assign en = s1_valid | inWriteback; // @[DCache.scala 258:23:shc.marmotcaravel.MarmotCaravelConfig.fir@201713.4]
+  assign _GEN_93 = data_1 ? 2'h2 : 2'h1; // @[DCache.scala 516:34:shc.marmotcaravel.MarmotCaravelConfig.fir@203796.10]
+  assign _GEN_113 = grantIsCached ? 2'h1 : _GEN_93; // @[DCache.scala 498:26:shc.marmotcaravel.MarmotCaravelConfig.fir@203764.6]
+  assign s1_data_way = _T_2397 ? _GEN_113 : 2'h1; // @[DCache.scala 497:26:shc.marmotcaravel.MarmotCaravelConfig.fir@203763.4]
+  assign _T_656 = s1_data_way[0]; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@201714.4]
+  assign _T_657 = s1_data_way[1]; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@201715.4]
+  assign s1_all_data_ways_0 = data_io_resp_0; // @[DCache.scala 227:29:shc.marmotcaravel.MarmotCaravelConfig.fir@201572.4 DCache.scala 227:29:shc.marmotcaravel.MarmotCaravelConfig.fir@201574.4]
+  assign _T_659 = _T_656 ? s1_all_data_ways_0 : 32'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@201716.4]
+  assign _T_660 = _T_657 ? s1_all_data_ways_1 : 32'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@201717.4]
+  assign _T_661 = _T_659 | _T_660; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@201718.4]
+  assign _T_665 = en | _T_2397; // @[DCache.scala 264:58:shc.marmotcaravel.MarmotCaravelConfig.fir@201722.4]
+  assign s2_hit_valid = s2_hit_state_state > 2'h0; // @[Metadata.scala 50:45:shc.marmotcaravel.MarmotCaravelConfig.fir@201750.4]
+  assign _T_785 = s2_data[7:0]; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@201866.4]
+  assign _T_786 = s2_data[15:8]; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@201867.4]
+  assign _T_787 = s2_data[23:16]; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@201868.4]
+  assign _T_788 = s2_data[31:24]; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@201869.4]
+  assign _T_799 = {_T_786,_T_785}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@201885.4]
+  assign _T_800 = {_T_788,_T_787}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@201886.4]
+  assign s2_data_corrected = {_T_800,_T_799}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@201887.4]
+  assign _T_814 = s2_hit == 1'h0; // @[DCache.scala 285:76:shc.marmotcaravel.MarmotCaravelConfig.fir@201905.4]
+  assign s2_valid_miss = _T_803 & _T_814; // @[DCache.scala 285:73:shc.marmotcaravel.MarmotCaravelConfig.fir@201906.4]
+  assign s2_valid_cached_miss = 1'h0; // @[DCache.scala 286:60:shc.marmotcaravel.MarmotCaravelConfig.fir@201912.4]
+  assign _T_822 = s2_flush_valid_pre_tag_ecc == 1'h0; // @[DCache.scala 289:29:shc.marmotcaravel.MarmotCaravelConfig.fir@201916.4]
+  assign _T_825 = ~ uncachedInFlight_0; // @[DCache.scala 291:92:shc.marmotcaravel.MarmotCaravelConfig.fir@201921.4]
+  assign _T_826 = _T_825 == 1'h0; // @[DCache.scala 291:92:shc.marmotcaravel.MarmotCaravelConfig.fir@201922.4]
+  assign _T_827 = _T_826 == 1'h0; // @[DCache.scala 291:67:shc.marmotcaravel.MarmotCaravelConfig.fir@201923.4]
+  assign s2_valid_uncached_pending = s2_valid_miss & _T_827; // @[DCache.scala 291:64:shc.marmotcaravel.MarmotCaravelConfig.fir@201924.4]
+  assign s2_victim_state_state = s2_hit_valid ? s2_hit_state_state : 2'h0; // @[DCache.scala 294:28:shc.marmotcaravel.MarmotCaravelConfig.fir@201944.4]
+  assign _T_905 = {2'h2,s2_victim_state_state}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@202015.4]
+  assign _T_930 = 4'hb == _T_905; // @[Misc.scala 58:20:shc.marmotcaravel.MarmotCaravelConfig.fir@202040.4]
+  assign _T_934 = 4'h4 == _T_905; // @[Misc.scala 58:20:shc.marmotcaravel.MarmotCaravelConfig.fir@202044.4]
+  assign _T_935 = _T_934 ? 1'h0 : _T_930; // @[Misc.scala 40:9:shc.marmotcaravel.MarmotCaravelConfig.fir@202045.4]
+  assign _T_938 = 4'h5 == _T_905; // @[Misc.scala 58:20:shc.marmotcaravel.MarmotCaravelConfig.fir@202048.4]
+  assign _T_939 = _T_938 ? 1'h0 : _T_935; // @[Misc.scala 40:9:shc.marmotcaravel.MarmotCaravelConfig.fir@202049.4]
+  assign _T_942 = 4'h6 == _T_905; // @[Misc.scala 58:20:shc.marmotcaravel.MarmotCaravelConfig.fir@202052.4]
+  assign _T_943 = _T_942 ? 1'h0 : _T_939; // @[Misc.scala 40:9:shc.marmotcaravel.MarmotCaravelConfig.fir@202053.4]
+  assign _T_946 = 4'h7 == _T_905; // @[Misc.scala 58:20:shc.marmotcaravel.MarmotCaravelConfig.fir@202056.4]
+  assign _T_947 = _T_946 ? 1'h1 : _T_943; // @[Misc.scala 40:9:shc.marmotcaravel.MarmotCaravelConfig.fir@202057.4]
+  assign _T_950 = 4'h0 == _T_905; // @[Misc.scala 58:20:shc.marmotcaravel.MarmotCaravelConfig.fir@202060.4]
+  assign _T_951 = _T_950 ? 1'h0 : _T_947; // @[Misc.scala 40:9:shc.marmotcaravel.MarmotCaravelConfig.fir@202061.4]
+  assign _T_954 = 4'h1 == _T_905; // @[Misc.scala 58:20:shc.marmotcaravel.MarmotCaravelConfig.fir@202064.4]
+  assign _T_955 = _T_954 ? 1'h0 : _T_951; // @[Misc.scala 40:9:shc.marmotcaravel.MarmotCaravelConfig.fir@202065.4]
+  assign _T_958 = 4'h2 == _T_905; // @[Misc.scala 58:20:shc.marmotcaravel.MarmotCaravelConfig.fir@202068.4]
+  assign _T_959 = _T_958 ? 1'h0 : _T_955; // @[Misc.scala 40:9:shc.marmotcaravel.MarmotCaravelConfig.fir@202069.4]
+  assign _T_962 = 4'h3 == _T_905; // @[Misc.scala 58:20:shc.marmotcaravel.MarmotCaravelConfig.fir@202072.4]
+  assign s2_victim_dirty = _T_962 ? 1'h1 : _T_959; // @[Misc.scala 40:9:shc.marmotcaravel.MarmotCaravelConfig.fir@202073.4]
+  assign _T_966 = s2_valid_hit_pre_data_ecc == 1'h0; // @[DCache.scala 300:33:shc.marmotcaravel.MarmotCaravelConfig.fir@202081.4]
+  assign _T_967 = s2_valid & _T_966; // @[DCache.scala 300:30:shc.marmotcaravel.MarmotCaravelConfig.fir@202082.4]
+  assign _T_968 = s2_valid_uncached_pending & auto_out_a_ready; // @[DCache.scala 300:78:shc.marmotcaravel.MarmotCaravelConfig.fir@202083.4]
+  assign _T_969 = _T_968 == 1'h0; // @[DCache.scala 300:50:shc.marmotcaravel.MarmotCaravelConfig.fir@202084.4]
+  assign _T_970 = _T_967 & _T_969; // @[DCache.scala 300:47:shc.marmotcaravel.MarmotCaravelConfig.fir@202085.4]
+  assign _T_984 = io_cpu_req_bits_addr[31:14]; // @[DCache.scala 309:58:shc.marmotcaravel.MarmotCaravelConfig.fir@202107.4]
+  assign _T_992 = s2_victim_dirty == 1'h0; // @[DCache.scala 317:87:shc.marmotcaravel.MarmotCaravelConfig.fir@202123.4]
+  assign _T_998 = s2_vaddr[13:0]; // @[DCache.scala 321:80:shc.marmotcaravel.MarmotCaravelConfig.fir@202133.4]
+  assign _T_1010 = lrscCount > 7'h0; // @[DCache.scala 329:34:shc.marmotcaravel.MarmotCaravelConfig.fir@202153.4]
+  assign _T_1025 = lrscCount - 7'h1; // @[DCache.scala 337:49:shc.marmotcaravel.MarmotCaravelConfig.fir@202176.6]
+  assign _T_1026 = $unsigned(_T_1025); // @[DCache.scala 337:49:shc.marmotcaravel.MarmotCaravelConfig.fir@202177.6]
+  assign _T_1027 = _T_1026[6:0]; // @[DCache.scala 337:49:shc.marmotcaravel.MarmotCaravelConfig.fir@202178.6]
+  assign _T_1028 = s2_valid_masked & lrscValid; // @[DCache.scala 338:29:shc.marmotcaravel.MarmotCaravelConfig.fir@202181.4]
+  assign _T_1037 = s1_valid_not_nacked & s1_write; // @[DCache.scala 347:63:shc.marmotcaravel.MarmotCaravelConfig.fir@202198.4]
+  assign _T_1098 = s1_write & _T_300; // @[DCache.scala 918:23:shc.marmotcaravel.MarmotCaravelConfig.fir@202276.4]
+  assign _T_1099 = s1_read | _T_1098; // @[DCache.scala 917:21:shc.marmotcaravel.MarmotCaravelConfig.fir@202277.4]
+  assign _T_1103 = s2_valid & s2_write; // @[DCache.scala 354:39:shc.marmotcaravel.MarmotCaravelConfig.fir@202284.4]
+  assign pstore_drain_opportunistic = _T_448 == 1'h0; // @[DCache.scala 357:36:shc.marmotcaravel.MarmotCaravelConfig.fir@202362.4]
+  assign pstore1_valid_likely = _T_1103 | pstore1_held; // @[DCache.scala 360:51:shc.marmotcaravel.MarmotCaravelConfig.fir@202365.4]
+  assign _T_1185 = pstore1_valid_likely & pstore2_valid; // @[DCache.scala 365:54:shc.marmotcaravel.MarmotCaravelConfig.fir@202378.4]
+  assign _T_1186 = s1_valid & s1_write; // @[DCache.scala 365:85:shc.marmotcaravel.MarmotCaravelConfig.fir@202379.4]
+  assign _T_1187 = _T_1186 | pstore1_rmw; // @[DCache.scala 365:98:shc.marmotcaravel.MarmotCaravelConfig.fir@202380.4]
+  assign pstore_drain_structural = _T_1185 & _T_1187; // @[DCache.scala 365:71:shc.marmotcaravel.MarmotCaravelConfig.fir@202381.4]
+  assign _T_1197 = pstore1_valid_pre_kill == pstore1_valid_pre_kill; // @[DCache.scala 366:63:shc.marmotcaravel.MarmotCaravelConfig.fir@202391.4]
+  assign _T_1198 = pstore1_rmw | _T_1197; // @[DCache.scala 366:22:shc.marmotcaravel.MarmotCaravelConfig.fir@202392.4]
+  assign _T_1200 = _T_1198 | reset; // @[DCache.scala 366:9:shc.marmotcaravel.MarmotCaravelConfig.fir@202394.4]
+  assign _T_1201 = _T_1200 == 1'h0; // @[DCache.scala 366:9:shc.marmotcaravel.MarmotCaravelConfig.fir@202395.4]
+  assign _T_1215 = pstore1_rmw == 1'h0; // @[DCache.scala 374:44:shc.marmotcaravel.MarmotCaravelConfig.fir@202414.4]
+  assign _T_1216 = pstore1_valid_pre_kill & _T_1215; // @[DCache.scala 374:41:shc.marmotcaravel.MarmotCaravelConfig.fir@202415.4]
+  assign _T_1217 = _T_1216 | pstore2_valid; // @[DCache.scala 374:58:shc.marmotcaravel.MarmotCaravelConfig.fir@202416.4]
+  assign _T_1218 = pstore_drain_opportunistic | releaseInFlight; // @[DCache.scala 374:107:shc.marmotcaravel.MarmotCaravelConfig.fir@202417.4]
+  assign _T_1219 = _T_1217 & _T_1218; // @[DCache.scala 374:76:shc.marmotcaravel.MarmotCaravelConfig.fir@202418.4]
+  assign pstore_drain = pstore_drain_structural | _T_1219; // @[DCache.scala 373:48:shc.marmotcaravel.MarmotCaravelConfig.fir@202419.4]
+  assign _T_1229 = pstore1_valid_pre_kill & pstore2_valid; // @[DCache.scala 377:71:shc.marmotcaravel.MarmotCaravelConfig.fir@202429.4]
+  assign _T_1230 = pstore_drain == 1'h0; // @[DCache.scala 377:91:shc.marmotcaravel.MarmotCaravelConfig.fir@202430.4]
+  assign _T_1233 = pstore2_valid == pstore_drain; // @[DCache.scala 378:79:shc.marmotcaravel.MarmotCaravelConfig.fir@202434.4]
+  assign advance_pstore1 = pstore1_valid_pre_kill & _T_1233; // @[DCache.scala 378:61:shc.marmotcaravel.MarmotCaravelConfig.fir@202435.4]
+  assign _T_1235 = pstore2_valid & _T_1230; // @[DCache.scala 379:34:shc.marmotcaravel.MarmotCaravelConfig.fir@202437.4]
+  assign _T_2705 = _T_1314 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@204296.4]
+  assign _T_2703 = _T_1313 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@204294.4]
+  assign _T_2707 = {_T_2705,_T_2703}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@204298.4]
+  assign _T_2701 = _T_1312 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@204292.4]
+  assign _T_2699 = _T_1311 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@204290.4]
+  assign _T_2706 = {_T_2701,_T_2699}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@204297.4]
+  assign mask_1 = {_T_2707,_T_2706}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@204299.4]
+  assign _T_2708 = amoalu_io_out_unmasked & mask_1; // @[DCache.scala 750:30:shc.marmotcaravel.MarmotCaravelConfig.fir@204300.4]
+  assign _T_2709 = ~ mask_1; // @[DCache.scala 750:64:shc.marmotcaravel.MarmotCaravelConfig.fir@204301.4]
+  assign _T_2710 = s2_data_corrected & _T_2709; // @[DCache.scala 750:62:shc.marmotcaravel.MarmotCaravelConfig.fir@204302.4]
+  assign pstore1_storegen_data = _T_2708 | _T_2710; // @[DCache.scala 750:37:shc.marmotcaravel.MarmotCaravelConfig.fir@204303.4]
+  assign _T_1241 = pstore1_storegen_data[7:0]; // @[DCache.scala 384:44:shc.marmotcaravel.MarmotCaravelConfig.fir@202450.4]
+  assign _T_1247 = pstore1_storegen_data[15:8]; // @[DCache.scala 384:44:shc.marmotcaravel.MarmotCaravelConfig.fir@202458.4]
+  assign _T_1253 = pstore1_storegen_data[23:16]; // @[DCache.scala 384:44:shc.marmotcaravel.MarmotCaravelConfig.fir@202466.4]
+  assign _T_1259 = pstore1_storegen_data[31:24]; // @[DCache.scala 384:44:shc.marmotcaravel.MarmotCaravelConfig.fir@202474.4]
+  assign _T_1265 = {_T_1252,_T_1246}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@202482.4]
+  assign _T_1266 = {_T_1264,_T_1258}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@202483.4]
+  assign pstore2_storegen_data = {_T_1266,_T_1265}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@202484.4]
+  assign _T_1270 = ~ pstore1_mask; // @[DCache.scala 390:37:shc.marmotcaravel.MarmotCaravelConfig.fir@202490.6]
+  assign _T_1272 = ~ _T_1270; // @[DCache.scala 390:15:shc.marmotcaravel.MarmotCaravelConfig.fir@202492.6]
+  assign _T_1291 = pstore2_valid ? pstore2_addr : pstore1_addr; // @[DCache.scala 405:36:shc.marmotcaravel.MarmotCaravelConfig.fir@202517.4]
+  assign _T_1296 = pstore2_valid ? mask : pstore1_mask; // @[DCache.scala 410:47:shc.marmotcaravel.MarmotCaravelConfig.fir@202527.4]
+  assign _T_1297 = _T_1296[0]; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@202528.4]
+  assign _T_1298 = _T_1296[1]; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@202529.4]
+  assign _T_1299 = _T_1296[2]; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@202530.4]
+  assign _T_1300 = _T_1296[3]; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@202531.4]
+  assign _T_1305 = {_T_1298,_T_1297}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@202536.4]
+  assign _T_1306 = {_T_1300,_T_1299}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@202537.4]
+  assign a_size = s2_req_typ[1:0]; // @[Consts.scala 19:28:shc.marmotcaravel.MarmotCaravelConfig.fir@202647.4]
+  assign _T_1479 = a_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@202726.4]
+  assign _T_1480 = 2'h1 << _T_1479; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@202727.4]
+  assign _T_1482 = _T_1480 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@202729.4]
+  assign _T_1483 = a_size >= 2'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@202730.4]
+  assign _T_1484 = _T_1482[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@202731.4]
+  assign _T_1485 = s2_req_addr[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@202732.4]
+  assign _T_1486 = _T_1485 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@202733.4]
+  assign _T_1488 = _T_1484 & _T_1486; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@202735.4]
+  assign _T_1489 = _T_1483 | _T_1488; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@202736.4]
+  assign _T_1491 = _T_1484 & _T_1485; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@202738.4]
+  assign _T_1492 = _T_1483 | _T_1491; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@202739.4]
+  assign _T_1493 = _T_1482[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@202740.4]
+  assign _T_1494 = s2_req_addr[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@202741.4]
+  assign _T_1495 = _T_1494 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@202742.4]
+  assign _T_1496 = _T_1486 & _T_1495; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@202743.4]
+  assign _T_1497 = _T_1493 & _T_1496; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@202744.4]
+  assign _T_1498 = _T_1489 | _T_1497; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@202745.4]
+  assign _T_1499 = _T_1486 & _T_1494; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@202746.4]
+  assign _T_1500 = _T_1493 & _T_1499; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@202747.4]
+  assign _T_1501 = _T_1489 | _T_1500; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@202748.4]
+  assign _T_1502 = _T_1485 & _T_1495; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@202749.4]
+  assign _T_1503 = _T_1493 & _T_1502; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@202750.4]
+  assign _T_1504 = _T_1492 | _T_1503; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@202751.4]
+  assign _T_1505 = _T_1485 & _T_1494; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@202752.4]
+  assign _T_1506 = _T_1493 & _T_1505; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@202753.4]
+  assign _T_1507 = _T_1492 | _T_1506; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@202754.4]
+  assign _T_1508 = {_T_1501,_T_1498}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@202755.4]
+  assign _T_1509 = {_T_1507,_T_1504}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@202756.4]
+  assign get_mask = {_T_1509,_T_1508}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@202757.4]
+  assign _T_2321 = 5'hf == s2_req_cmd; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@203652.4]
+  assign _T_2322_opcode = _T_2321 ? 3'h2 : 3'h0; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203653.4]
+  assign _T_2322_param = _T_2321 ? 3'h3 : 3'h0; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203653.4]
+  assign _T_2287_size = {{2'd0}, a_size}; // @[Edges.scala 476:17:shc.marmotcaravel.MarmotCaravelConfig.fir@203609.4 Edges.scala 479:15:shc.marmotcaravel.MarmotCaravelConfig.fir@203613.4]
+  assign _T_2322_size = _T_2321 ? _T_2287_size : 4'h0; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203653.4]
+  assign _T_2322_address = _T_2321 ? s2_req_addr : 32'h0; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203653.4]
+  assign _T_2322_mask = _T_2321 ? get_mask : 4'h0; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203653.4]
+  assign _T_2322_data = _T_2321 ? pstore1_data : 32'h0; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203653.4]
+  assign _T_2323 = 5'he == s2_req_cmd; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@203654.4]
+  assign _T_2324_opcode = _T_2323 ? 3'h2 : _T_2322_opcode; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203655.4]
+  assign _T_2324_param = _T_2323 ? 3'h2 : _T_2322_param; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203655.4]
+  assign _T_2324_size = _T_2323 ? _T_2287_size : _T_2322_size; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203655.4]
+  assign _T_2324_address = _T_2323 ? s2_req_addr : _T_2322_address; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203655.4]
+  assign _T_2324_mask = _T_2323 ? get_mask : _T_2322_mask; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203655.4]
+  assign _T_2324_data = _T_2323 ? pstore1_data : _T_2322_data; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203655.4]
+  assign _T_2325 = 5'hd == s2_req_cmd; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@203656.4]
+  assign _T_2326_opcode = _T_2325 ? 3'h2 : _T_2324_opcode; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203657.4]
+  assign _T_2326_param = _T_2325 ? 3'h1 : _T_2324_param; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203657.4]
+  assign _T_2326_size = _T_2325 ? _T_2287_size : _T_2324_size; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203657.4]
+  assign _T_2326_address = _T_2325 ? s2_req_addr : _T_2324_address; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203657.4]
+  assign _T_2326_mask = _T_2325 ? get_mask : _T_2324_mask; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203657.4]
+  assign _T_2326_data = _T_2325 ? pstore1_data : _T_2324_data; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203657.4]
+  assign _T_2327 = 5'hc == s2_req_cmd; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@203658.4]
+  assign _T_2328_opcode = _T_2327 ? 3'h2 : _T_2326_opcode; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203659.4]
+  assign _T_2328_param = _T_2327 ? 3'h0 : _T_2326_param; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203659.4]
+  assign _T_2328_size = _T_2327 ? _T_2287_size : _T_2326_size; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203659.4]
+  assign _T_2328_address = _T_2327 ? s2_req_addr : _T_2326_address; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203659.4]
+  assign _T_2328_mask = _T_2327 ? get_mask : _T_2326_mask; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203659.4]
+  assign _T_2328_data = _T_2327 ? pstore1_data : _T_2326_data; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203659.4]
+  assign _T_2329 = 5'h8 == s2_req_cmd; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@203660.4]
+  assign _T_2330_opcode = _T_2329 ? 3'h2 : _T_2328_opcode; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203661.4]
+  assign _T_2330_param = _T_2329 ? 3'h4 : _T_2328_param; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203661.4]
+  assign _T_2330_size = _T_2329 ? _T_2287_size : _T_2328_size; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203661.4]
+  assign _T_2330_address = _T_2329 ? s2_req_addr : _T_2328_address; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203661.4]
+  assign _T_2330_mask = _T_2329 ? get_mask : _T_2328_mask; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203661.4]
+  assign _T_2330_data = _T_2329 ? pstore1_data : _T_2328_data; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203661.4]
+  assign _T_2331 = 5'hb == s2_req_cmd; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@203662.4]
+  assign _T_2332_opcode = _T_2331 ? 3'h3 : _T_2330_opcode; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203663.4]
+  assign _T_2332_param = _T_2331 ? 3'h2 : _T_2330_param; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203663.4]
+  assign _T_2332_size = _T_2331 ? _T_2287_size : _T_2330_size; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203663.4]
+  assign _T_2332_address = _T_2331 ? s2_req_addr : _T_2330_address; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203663.4]
+  assign _T_2332_mask = _T_2331 ? get_mask : _T_2330_mask; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203663.4]
+  assign _T_2332_data = _T_2331 ? pstore1_data : _T_2330_data; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203663.4]
+  assign _T_2333 = 5'ha == s2_req_cmd; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@203664.4]
+  assign _T_2334_opcode = _T_2333 ? 3'h3 : _T_2332_opcode; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203665.4]
+  assign _T_2334_param = _T_2333 ? 3'h1 : _T_2332_param; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203665.4]
+  assign _T_2334_size = _T_2333 ? _T_2287_size : _T_2332_size; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203665.4]
+  assign _T_2334_address = _T_2333 ? s2_req_addr : _T_2332_address; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203665.4]
+  assign _T_2334_mask = _T_2333 ? get_mask : _T_2332_mask; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203665.4]
+  assign _T_2334_data = _T_2333 ? pstore1_data : _T_2332_data; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203665.4]
+  assign _T_2335 = 5'h9 == s2_req_cmd; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@203666.4]
+  assign _T_2336_opcode = _T_2335 ? 3'h3 : _T_2334_opcode; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203667.4]
+  assign _T_2336_param = _T_2335 ? 3'h0 : _T_2334_param; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203667.4]
+  assign _T_2336_size = _T_2335 ? _T_2287_size : _T_2334_size; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203667.4]
+  assign _T_2336_address = _T_2335 ? s2_req_addr : _T_2334_address; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203667.4]
+  assign _T_2336_mask = _T_2335 ? get_mask : _T_2334_mask; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203667.4]
+  assign _T_2336_data = _T_2335 ? pstore1_data : _T_2334_data; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203667.4]
+  assign _T_2337 = 5'h4 == s2_req_cmd; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@203668.4]
+  assign atomics_opcode = _T_2337 ? 3'h3 : _T_2336_opcode; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203669.4]
+  assign atomics_param = _T_2337 ? 3'h3 : _T_2336_param; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203669.4]
+  assign atomics_size = _T_2337 ? _T_2287_size : _T_2336_size; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203669.4]
+  assign atomics_address = _T_2337 ? s2_req_addr : _T_2336_address; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203669.4]
+  assign atomics_mask = _T_2337 ? get_mask : _T_2336_mask; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203669.4]
+  assign atomics_data = _T_2337 ? pstore1_data : _T_2336_data; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203669.4]
+  assign _T_2341 = _T_583 & _T_992; // @[DCache.scala 454:63:shc.marmotcaravel.MarmotCaravelConfig.fir@203673.4]
+  assign tl_out_a_valid = _T_2341 | s2_valid_uncached_pending; // @[DCache.scala 454:128:shc.marmotcaravel.MarmotCaravelConfig.fir@203674.4]
+  assign _T_2347 = s2_write == 1'h0; // @[DCache.scala 455:89:shc.marmotcaravel.MarmotCaravelConfig.fir@203680.4]
+  assign _T_2348 = s2_read == 1'h0; // @[DCache.scala 455:109:shc.marmotcaravel.MarmotCaravelConfig.fir@203681.4]
+  assign _T_2349_opcode = _T_2348 ? 3'h0 : atomics_opcode; // @[DCache.scala 455:108:shc.marmotcaravel.MarmotCaravelConfig.fir@203682.4]
+  assign _T_2349_param = _T_2348 ? 3'h0 : atomics_param; // @[DCache.scala 455:108:shc.marmotcaravel.MarmotCaravelConfig.fir@203682.4]
+  assign _T_2349_size = _T_2348 ? _T_2287_size : atomics_size; // @[DCache.scala 455:108:shc.marmotcaravel.MarmotCaravelConfig.fir@203682.4]
+  assign _T_2349_address = _T_2348 ? s2_req_addr : atomics_address; // @[DCache.scala 455:108:shc.marmotcaravel.MarmotCaravelConfig.fir@203682.4]
+  assign _T_2349_mask = _T_2348 ? get_mask : atomics_mask; // @[DCache.scala 455:108:shc.marmotcaravel.MarmotCaravelConfig.fir@203682.4]
+  assign _T_2349_data = _T_2348 ? pstore1_data : atomics_data; // @[DCache.scala 455:108:shc.marmotcaravel.MarmotCaravelConfig.fir@203682.4]
+  assign _T_2352 = auto_out_a_ready & tl_out_a_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@203687.4]
+  assign _T_2364 = _T_2363 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@203709.4]
+  assign _T_2365 = $unsigned(_T_2364); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@203710.4]
+  assign _T_2366 = _T_2365[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@203711.4]
+  assign d_done = d_last & _T_2397; // @[Edges.scala 233:22:shc.marmotcaravel.MarmotCaravelConfig.fir@203716.4]
+  assign _T_2372 = auto_out_d_valid == 1'h0; // @[DCache.scala 480:14:shc.marmotcaravel.MarmotCaravelConfig.fir@203724.4]
+  assign _T_2373 = auto_out_d_bits_opcode == 3'h1; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@203725.4]
+  assign _T_2374 = auto_out_d_bits_opcode == 3'h0; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@203726.4]
+  assign _T_2375 = auto_out_d_bits_opcode == 3'h2; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@203727.4]
+  assign _T_2376 = _T_2373 | _T_2374; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@203728.4]
+  assign _T_2377 = _T_2376 | _T_2375; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@203729.4]
+  assign _T_2378 = _T_2372 | _T_2377; // @[DCache.scala 480:30:shc.marmotcaravel.MarmotCaravelConfig.fir@203730.4]
+  assign _T_2380 = _T_2378 | reset; // @[DCache.scala 480:13:shc.marmotcaravel.MarmotCaravelConfig.fir@203732.4]
+  assign _T_2381 = _T_2380 == 1'h0; // @[DCache.scala 480:13:shc.marmotcaravel.MarmotCaravelConfig.fir@203733.4]
+  assign _T_2390 = blockProbeAfterGrantCount - 3'h1; // @[DCache.scala 494:97:shc.marmotcaravel.MarmotCaravelConfig.fir@203752.6]
+  assign _T_2391 = $unsigned(_T_2390); // @[DCache.scala 494:97:shc.marmotcaravel.MarmotCaravelConfig.fir@203753.6]
+  assign _T_2392 = _T_2391[2:0]; // @[DCache.scala 494:97:shc.marmotcaravel.MarmotCaravelConfig.fir@203754.6]
+  assign _T_2399 = cached_grant_wait | reset; // @[DCache.scala 500:13:shc.marmotcaravel.MarmotCaravelConfig.fir@203767.8]
+  assign _T_2400 = _T_2399 == 1'h0; // @[DCache.scala 500:13:shc.marmotcaravel.MarmotCaravelConfig.fir@203768.8]
+  assign _T_2405 = uncachedInFlight_0 | reset; // @[DCache.scala 512:17:shc.marmotcaravel.MarmotCaravelConfig.fir@203788.12]
+  assign _T_2406 = _T_2405 == 1'h0; // @[DCache.scala 512:17:shc.marmotcaravel.MarmotCaravelConfig.fir@203789.12]
+  assign _T_2408 = tlb_io_resp_paddr[31:2]; // @[DCache.scala 524:39:shc.marmotcaravel.MarmotCaravelConfig.fir@203802.12]
+  assign _GEN_183 = {{2'd0}, _T_2408}; // @[DCache.scala 524:53:shc.marmotcaravel.MarmotCaravelConfig.fir@203803.12]
+  assign dontCareBits = _GEN_183 << 2; // @[DCache.scala 524:53:shc.marmotcaravel.MarmotCaravelConfig.fir@203803.12]
+  assign _T_2409 = uncachedReqs_0_addr[1:0]; // @[DCache.scala 525:34:shc.marmotcaravel.MarmotCaravelConfig.fir@203804.12]
+  assign _GEN_184 = {{30'd0}, _T_2409}; // @[DCache.scala 525:24:shc.marmotcaravel.MarmotCaravelConfig.fir@203805.12]
+  assign _T_2410 = dontCareBits | _GEN_184; // @[DCache.scala 525:24:shc.marmotcaravel.MarmotCaravelConfig.fir@203805.12]
+  assign _T_2414 = auto_out_d_valid & d_first; // @[DCache.scala 536:36:shc.marmotcaravel.MarmotCaravelConfig.fir@203822.4]
+  assign _T_2415 = _T_2414 & grantIsCached; // @[DCache.scala 536:47:shc.marmotcaravel.MarmotCaravelConfig.fir@203823.4]
+  assign tl_out__e_valid = _T_2430 ? 1'h0 : _T_2415; // @[DCache.scala 544:51:shc.marmotcaravel.MarmotCaravelConfig.fir@203847.4]
+  assign _T_2421 = _T_2397 & d_first; // @[DCache.scala 538:47:shc.marmotcaravel.MarmotCaravelConfig.fir@203832.4]
+  assign _T_2422 = _T_2421 & grantIsCached; // @[DCache.scala 538:58:shc.marmotcaravel.MarmotCaravelConfig.fir@203833.4]
+  assign _T_2423 = tl_out__e_valid == _T_2422; // @[DCache.scala 538:26:shc.marmotcaravel.MarmotCaravelConfig.fir@203834.4]
+  assign _T_2425 = _T_2423 | reset; // @[DCache.scala 538:9:shc.marmotcaravel.MarmotCaravelConfig.fir@203836.4]
+  assign _T_2426 = _T_2425 == 1'h0; // @[DCache.scala 538:9:shc.marmotcaravel.MarmotCaravelConfig.fir@203837.4]
+  assign _T_2427 = auto_out_d_valid & grantIsRefill; // @[DCache.scala 543:44:shc.marmotcaravel.MarmotCaravelConfig.fir@203842.4]
+  assign _T_2431 = grantIsCached & d_done; // @[DCache.scala 564:43:shc.marmotcaravel.MarmotCaravelConfig.fir@203852.4]
+  assign _T_2432 = auto_out_d_bits_denied == 1'h0; // @[DCache.scala 564:56:shc.marmotcaravel.MarmotCaravelConfig.fir@203853.4]
+  assign _GEN_134 = auto_out_d_valid ? 1'h0 : _GEN_18; // @[DCache.scala 577:27:shc.marmotcaravel.MarmotCaravelConfig.fir@203948.6]
+  assign _GEN_135 = auto_out_d_valid ? 1'h1 : _T_2427; // @[DCache.scala 577:27:shc.marmotcaravel.MarmotCaravelConfig.fir@203948.6]
+  assign _GEN_136 = auto_out_d_valid ? 1'h0 : dataArb_io_in_0_bits_write; // @[DCache.scala 577:27:shc.marmotcaravel.MarmotCaravelConfig.fir@203948.6]
+  assign _T_2557 = {1'h0,s2_release_data_valid}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@204014.4]
+  assign _GEN_185 = {{1'd0}, s1_release_data_valid}; // @[DCache.scala 601:101:shc.marmotcaravel.MarmotCaravelConfig.fir@204015.4]
+  assign _T_2559 = _GEN_185 + _T_2557; // @[DCache.scala 601:101:shc.marmotcaravel.MarmotCaravelConfig.fir@204016.4]
+  assign _T_2561 = {{10'd0}, _T_2559}; // @[DCache.scala 601:47:shc.marmotcaravel.MarmotCaravelConfig.fir@204018.4]
+  assign releaseDataBeat = _T_2561[10:0]; // @[DCache.scala 601:47:shc.marmotcaravel.MarmotCaravelConfig.fir@204019.4]
+  assign _T_2574 = releaseDataBeat < 11'h10; // @[DCache.scala 676:60:shc.marmotcaravel.MarmotCaravelConfig.fir@204063.4]
+  assign _T_2578 = releaseDataBeat[3:0]; // @[DCache.scala 679:90:shc.marmotcaravel.MarmotCaravelConfig.fir@204070.4]
+  assign _GEN_186 = {{2'd0}, _T_2578}; // @[DCache.scala 679:117:shc.marmotcaravel.MarmotCaravelConfig.fir@204071.4]
+  assign _T_2579 = _GEN_186 << 2; // @[DCache.scala 679:117:shc.marmotcaravel.MarmotCaravelConfig.fir@204071.4]
+  assign _T_2583 = release_state == 3'h6; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@204078.4]
+  assign _T_2584 = release_state == 3'h7; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@204079.4]
+  assign _T_2594 = metaArb_io_in_4_ready & metaArb_io_in_4_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@204097.4]
+  assign _T_2595 = s1_req_phys == 1'h0; // @[DCache.scala 701:35:shc.marmotcaravel.MarmotCaravelConfig.fir@204107.4]
+  assign _T_2596 = s1_valid & _T_2595; // @[DCache.scala 701:32:shc.marmotcaravel.MarmotCaravelConfig.fir@204108.4]
+  assign _T_2597 = s2_req_phys == 1'h0; // @[DCache.scala 701:72:shc.marmotcaravel.MarmotCaravelConfig.fir@204109.4]
+  assign _T_2598 = s2_valid & _T_2597; // @[DCache.scala 701:69:shc.marmotcaravel.MarmotCaravelConfig.fir@204110.4]
+  assign _T_2599 = _T_2596 | _T_2598; // @[DCache.scala 701:57:shc.marmotcaravel.MarmotCaravelConfig.fir@204111.4]
+  assign _T_2600 = _T_2599 | cached_grant_wait; // @[DCache.scala 701:94:shc.marmotcaravel.MarmotCaravelConfig.fir@204112.4]
+  assign _T_2602 = _T_2600 | uncachedInFlight_0; // @[DCache.scala 701:115:shc.marmotcaravel.MarmotCaravelConfig.fir@204114.4]
+  assign _T_2626_pf_ld = _T_2606 ? _T_2608_pf_ld : 1'h0; // @[DCache.scala 705:24:shc.marmotcaravel.MarmotCaravelConfig.fir@204168.4]
+  assign _T_2626_pf_st = _T_2606 ? _T_2608_pf_st : 1'h0; // @[DCache.scala 705:24:shc.marmotcaravel.MarmotCaravelConfig.fir@204168.4]
+  assign _T_2626_ae_ld = _T_2606 ? _T_2608_ae_ld : 1'h0; // @[DCache.scala 705:24:shc.marmotcaravel.MarmotCaravelConfig.fir@204168.4]
+  assign _T_2626_ae_st = _T_2606 ? _T_2608_ae_st : 1'h0; // @[DCache.scala 705:24:shc.marmotcaravel.MarmotCaravelConfig.fir@204168.4]
+  assign _T_2626_ma_ld = _T_2606 ? _T_2608_ma_ld : 1'h0; // @[DCache.scala 705:24:shc.marmotcaravel.MarmotCaravelConfig.fir@204168.4]
+  assign _T_2626_ma_st = _T_2606 ? _T_2608_ma_st : 1'h0; // @[DCache.scala 705:24:shc.marmotcaravel.MarmotCaravelConfig.fir@204168.4]
+  assign _T_2628 = _T_2528 | s2_hit_valid; // @[DCache.scala 710:24:shc.marmotcaravel.MarmotCaravelConfig.fir@204172.6]
+  assign _T_2630 = _T_2628 | reset; // @[DCache.scala 710:13:shc.marmotcaravel.MarmotCaravelConfig.fir@204174.6]
+  assign _T_2631 = _T_2630 == 1'h0; // @[DCache.scala 710:13:shc.marmotcaravel.MarmotCaravelConfig.fir@204175.6]
+  assign _T_2644 = _T_599 | _T_601; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@204201.4]
+  assign _T_2645 = s2_valid_masked & _T_2644; // @[DCache.scala 713:30:shc.marmotcaravel.MarmotCaravelConfig.fir@204202.4]
+  assign _T_2646 = _T_2645 == 1'h0; // @[DCache.scala 713:12:shc.marmotcaravel.MarmotCaravelConfig.fir@204203.4]
+  assign _T_2648 = _T_2646 | reset; // @[DCache.scala 713:11:shc.marmotcaravel.MarmotCaravelConfig.fir@204205.4]
+  assign _T_2649 = _T_2648 == 1'h0; // @[DCache.scala 713:11:shc.marmotcaravel.MarmotCaravelConfig.fir@204206.4]
+  assign _T_2656 = _T_966 | reset; // @[DCache.scala 723:11:shc.marmotcaravel.MarmotCaravelConfig.fir@204223.6]
+  assign _T_2657 = _T_2656 == 1'h0; // @[DCache.scala 723:11:shc.marmotcaravel.MarmotCaravelConfig.fir@204224.6]
+  assign _T_2659 = s2_req_typ[2]; // @[Consts.scala 20:31:shc.marmotcaravel.MarmotCaravelConfig.fir@204238.4]
+  assign _T_2660 = _T_2659 == 1'h0; // @[Consts.scala 20:28:shc.marmotcaravel.MarmotCaravelConfig.fir@204239.4]
+  assign _T_2663 = s2_data_corrected[31:16]; // @[AMOALU.scala 39:37:shc.marmotcaravel.MarmotCaravelConfig.fir@204242.4]
+  assign _T_2664 = s2_data_corrected[15:0]; // @[AMOALU.scala 39:55:shc.marmotcaravel.MarmotCaravelConfig.fir@204243.4]
+  assign _T_2665 = _T_1485 ? _T_2663 : _T_2664; // @[AMOALU.scala 39:24:shc.marmotcaravel.MarmotCaravelConfig.fir@204244.4]
+  assign _T_2668 = a_size == 2'h1; // @[AMOALU.scala 42:26:shc.marmotcaravel.MarmotCaravelConfig.fir@204247.4]
+  assign _T_2670 = _T_2665[15]; // @[AMOALU.scala 42:85:shc.marmotcaravel.MarmotCaravelConfig.fir@204249.4]
+  assign _T_2671 = _T_2660 & _T_2670; // @[AMOALU.scala 42:76:shc.marmotcaravel.MarmotCaravelConfig.fir@204250.4]
+  assign _T_2673 = _T_2671 ? 16'hffff : 16'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@204252.4]
+  assign _T_2675 = _T_2668 ? _T_2673 : _T_2663; // @[AMOALU.scala 42:20:shc.marmotcaravel.MarmotCaravelConfig.fir@204254.4]
+  assign _T_2676 = {_T_2675,_T_2665}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@204255.4]
+  assign _T_2678 = _T_2676[15:8]; // @[AMOALU.scala 39:37:shc.marmotcaravel.MarmotCaravelConfig.fir@204257.4]
+  assign _T_2679 = _T_2676[7:0]; // @[AMOALU.scala 39:55:shc.marmotcaravel.MarmotCaravelConfig.fir@204258.4]
+  assign _T_2680 = _T_1494 ? _T_2678 : _T_2679; // @[AMOALU.scala 39:24:shc.marmotcaravel.MarmotCaravelConfig.fir@204259.4]
+  assign _T_2683 = a_size == 2'h0; // @[AMOALU.scala 42:26:shc.marmotcaravel.MarmotCaravelConfig.fir@204262.4]
+  assign _T_2685 = _T_2680[7]; // @[AMOALU.scala 42:85:shc.marmotcaravel.MarmotCaravelConfig.fir@204264.4]
+  assign _T_2686 = _T_2660 & _T_2685; // @[AMOALU.scala 42:76:shc.marmotcaravel.MarmotCaravelConfig.fir@204265.4]
+  assign _T_2688 = _T_2686 ? 24'hffffff : 24'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@204267.4]
+  assign _T_2689 = _T_2676[31:8]; // @[AMOALU.scala 42:98:shc.marmotcaravel.MarmotCaravelConfig.fir@204268.4]
+  assign _T_2690 = _T_2683 ? _T_2688 : _T_2689; // @[AMOALU.scala 42:20:shc.marmotcaravel.MarmotCaravelConfig.fir@204269.4]
+  assign flushCounterNext = flushCounter + 8'h1; // @[DCache.scala 763:39:shc.marmotcaravel.MarmotCaravelConfig.fir@204309.4]
+  assign flushDone = flushCounterNext[8:8]; // @[DCache.scala 764:37:shc.marmotcaravel.MarmotCaravelConfig.fir@204310.4]
+  assign _T_2717 = s2_req_cmd == 5'h5; // @[DCache.scala 766:39:shc.marmotcaravel.MarmotCaravelConfig.fir@204313.4]
+  assign _T_2718 = s2_valid_masked & _T_2717; // @[DCache.scala 766:25:shc.marmotcaravel.MarmotCaravelConfig.fir@204314.4]
+  assign _T_2733 = metaArb_io_in_5_ready & metaArb_io_in_5_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@204335.4]
+  assign _T_2734 = s1_flush_valid == 1'h0; // @[DCache.scala 774:48:shc.marmotcaravel.MarmotCaravelConfig.fir@204336.4]
+  assign _T_2735 = _T_2733 & _T_2734; // @[DCache.scala 774:45:shc.marmotcaravel.MarmotCaravelConfig.fir@204337.4]
+  assign _T_2737 = _T_2735 & _T_822; // @[DCache.scala 774:64:shc.marmotcaravel.MarmotCaravelConfig.fir@204339.4]
+  assign _GEN_187 = {{6'd0}, metaArb_io_in_5_bits_idx}; // @[DCache.scala 778:98:shc.marmotcaravel.MarmotCaravelConfig.fir@204350.4]
+  assign _T_2744 = _GEN_187 << 6; // @[DCache.scala 778:98:shc.marmotcaravel.MarmotCaravelConfig.fir@204350.4]
+  assign _GEN_172 = resetting ? flushCounterNext : {{1'd0}, flushCounter}; // @[DCache.scala 805:20:shc.marmotcaravel.MarmotCaravelConfig.fir@204370.4]
+  assign _T_2755 = io_cpu_keep_clock_enabled | metaArb_io_out_valid; // @[DCache.scala 815:31:shc.marmotcaravel.MarmotCaravelConfig.fir@204378.4]
+  assign _T_2758 = _T_2755 | s1_valid; // @[DCache.scala 817:26:shc.marmotcaravel.MarmotCaravelConfig.fir@204381.4]
+  assign _T_2759 = _T_2758 | s2_valid_pre_xcpt; // @[DCache.scala 818:14:shc.marmotcaravel.MarmotCaravelConfig.fir@204382.4]
+  assign _T_2760 = _T_2759 | pstore1_held; // @[DCache.scala 818:35:shc.marmotcaravel.MarmotCaravelConfig.fir@204383.4]
+  assign _T_2761 = _T_2760 | pstore2_valid; // @[DCache.scala 819:18:shc.marmotcaravel.MarmotCaravelConfig.fir@204384.4]
+  assign _T_2763 = _T_2761 | releaseInFlight; // @[DCache.scala 819:35:shc.marmotcaravel.MarmotCaravelConfig.fir@204386.4]
+  assign _T_2769 = _T_2763 | cached_grant_wait; // @[DCache.scala 822:23:shc.marmotcaravel.MarmotCaravelConfig.fir@204392.4]
+  assign _T_2771 = _T_2769 | uncachedInFlight_0; // @[DCache.scala 823:23:shc.marmotcaravel.MarmotCaravelConfig.fir@204394.4]
+  assign _T_2773 = _T_2771 | _T_1010; // @[DCache.scala 823:54:shc.marmotcaravel.MarmotCaravelConfig.fir@204396.4]
+  assign _T_2833 = grantIsCached == 1'h0; // @[DCache.scala 861:35:shc.marmotcaravel.MarmotCaravelConfig.fir@204469.4]
+  assign auto_out_a_valid = _T_2341 | s2_valid_uncached_pending; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@201164.4]
+  assign auto_out_a_bits_opcode = _T_2347 ? 3'h4 : _T_2349_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@201164.4]
+  assign auto_out_a_bits_param = _T_2347 ? 3'h0 : _T_2349_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@201164.4]
+  assign auto_out_a_bits_size = _T_2347 ? _T_2287_size : _T_2349_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@201164.4]
+  assign auto_out_a_bits_address = _T_2347 ? s2_req_addr : _T_2349_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@201164.4]
+  assign auto_out_a_bits_mask = _T_2347 ? get_mask : _T_2349_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@201164.4]
+  assign auto_out_a_bits_data = _T_2347 ? 32'h0 : _T_2349_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@201164.4]
+  assign auto_out_c_valid = s2_release_data_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@201164.4]
+  assign auto_out_d_ready = _T_2514 ? 1'h0 : _GEN_133; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@201164.4]
+  assign auto_out_e_valid = _T_2430 ? 1'h0 : _T_2415; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@201164.4]
+  assign io_cpu_req_ready = _T_2514 ? _GEN_134 : _GEN_18; // @[DCache.scala 159:20:shc.marmotcaravel.MarmotCaravelConfig.fir@201321.4 DCache.scala 173:64:shc.marmotcaravel.MarmotCaravelConfig.fir@201430.6 DCache.scala 181:53:shc.marmotcaravel.MarmotCaravelConfig.fir@201499.6 DCache.scala 192:98:shc.marmotcaravel.MarmotCaravelConfig.fir@201521.6 DCache.scala 578:24:shc.marmotcaravel.MarmotCaravelConfig.fir@203949.8]
+  assign io_cpu_s2_nack = _T_2718 ? 1'h0 : _T_970; // @[DCache.scala 300:18:shc.marmotcaravel.MarmotCaravelConfig.fir@202086.4 DCache.scala 767:20:shc.marmotcaravel.MarmotCaravelConfig.fir@204317.6]
+  assign io_cpu_resp_valid = doUncachedResp ? 1'h1 : s2_valid_hit_pre_data_ecc; // @[DCache.scala 692:21:shc.marmotcaravel.MarmotCaravelConfig.fir@204101.4 DCache.scala 724:23:shc.marmotcaravel.MarmotCaravelConfig.fir@204229.6]
+  assign io_cpu_resp_bits_addr = doUncachedResp ? s2_uncached_resp_addr : s2_req_addr; // @[DCache.scala 693:20:shc.marmotcaravel.MarmotCaravelConfig.fir@204102.4 DCache.scala 726:27:shc.marmotcaravel.MarmotCaravelConfig.fir@204231.6]
+  assign io_cpu_resp_bits_tag = s2_req_tag; // @[DCache.scala 693:20:shc.marmotcaravel.MarmotCaravelConfig.fir@204102.4]
+  assign io_cpu_resp_bits_cmd = s2_req_cmd; // @[DCache.scala 693:20:shc.marmotcaravel.MarmotCaravelConfig.fir@204102.4]
+  assign io_cpu_resp_bits_typ = s2_req_typ; // @[DCache.scala 693:20:shc.marmotcaravel.MarmotCaravelConfig.fir@204102.4]
+  assign io_cpu_resp_bits_data = {_T_2690,_T_2680}; // @[DCache.scala 693:20:shc.marmotcaravel.MarmotCaravelConfig.fir@204102.4 DCache.scala 735:25:shc.marmotcaravel.MarmotCaravelConfig.fir@204272.4]
+  assign io_cpu_resp_bits_replay = doUncachedResp; // @[DCache.scala 695:27:shc.marmotcaravel.MarmotCaravelConfig.fir@204104.4 DCache.scala 725:29:shc.marmotcaravel.MarmotCaravelConfig.fir@204230.6]
+  assign io_cpu_resp_bits_has_data = _T_602 | _T_619; // @[DCache.scala 694:29:shc.marmotcaravel.MarmotCaravelConfig.fir@204103.4]
+  assign io_cpu_resp_bits_data_word_bypass = {_T_800,_T_799}; // @[DCache.scala 736:37:shc.marmotcaravel.MarmotCaravelConfig.fir@204273.4]
+  assign io_cpu_resp_bits_data_raw = {_T_800,_T_799}; // @[DCache.scala 737:29:shc.marmotcaravel.MarmotCaravelConfig.fir@204274.4]
+  assign io_cpu_resp_bits_store_data = pstore1_data; // @[DCache.scala 738:31:shc.marmotcaravel.MarmotCaravelConfig.fir@204275.4]
+  assign io_cpu_replay_next = _T_2397 & data_1; // @[DCache.scala 719:22:shc.marmotcaravel.MarmotCaravelConfig.fir@204213.4]
+  assign io_cpu_s2_xcpt_ma_ld = s2_req_phys ? 1'h0 : _T_2626_ma_ld; // @[DCache.scala 705:18:shc.marmotcaravel.MarmotCaravelConfig.fir@204169.4 DCache.scala 711:22:shc.marmotcaravel.MarmotCaravelConfig.fir@204197.6]
+  assign io_cpu_s2_xcpt_ma_st = s2_req_phys ? 1'h0 : _T_2626_ma_st; // @[DCache.scala 705:18:shc.marmotcaravel.MarmotCaravelConfig.fir@204169.4 DCache.scala 711:22:shc.marmotcaravel.MarmotCaravelConfig.fir@204197.6]
+  assign io_cpu_s2_xcpt_pf_ld = s2_req_phys ? 1'h0 : _T_2626_pf_ld; // @[DCache.scala 705:18:shc.marmotcaravel.MarmotCaravelConfig.fir@204169.4 DCache.scala 711:22:shc.marmotcaravel.MarmotCaravelConfig.fir@204197.6]
+  assign io_cpu_s2_xcpt_pf_st = s2_req_phys ? 1'h0 : _T_2626_pf_st; // @[DCache.scala 705:18:shc.marmotcaravel.MarmotCaravelConfig.fir@204169.4 DCache.scala 711:22:shc.marmotcaravel.MarmotCaravelConfig.fir@204197.6]
+  assign io_cpu_s2_xcpt_ae_ld = s2_req_phys ? 1'h0 : _T_2626_ae_ld; // @[DCache.scala 705:18:shc.marmotcaravel.MarmotCaravelConfig.fir@204169.4 DCache.scala 711:22:shc.marmotcaravel.MarmotCaravelConfig.fir@204197.6]
+  assign io_cpu_s2_xcpt_ae_st = s2_req_phys ? 1'h0 : _T_2626_ae_st; // @[DCache.scala 705:18:shc.marmotcaravel.MarmotCaravelConfig.fir@204169.4 DCache.scala 711:22:shc.marmotcaravel.MarmotCaravelConfig.fir@204197.6]
+  assign io_cpu_ordered = _T_2602 == 1'h0; // @[DCache.scala 701:18:shc.marmotcaravel.MarmotCaravelConfig.fir@204116.4]
+  assign io_cpu_perf_grant = d_last & _T_2397; // @[DCache.scala 829:21:shc.marmotcaravel.MarmotCaravelConfig.fir@204449.4]
+  assign io_cpu_clock_enabled = clock_en_reg; // @[DCache.scala 89:24:shc.marmotcaravel.MarmotCaravelConfig.fir@201166.4]
+  assign metaArb_io_in_0_valid = resetting; // @[DCache.scala 800:26:shc.marmotcaravel.MarmotCaravelConfig.fir@204355.4]
+  assign metaArb_io_in_0_bits_addr = metaArb_io_in_5_bits_addr; // @[DCache.scala 801:25:shc.marmotcaravel.MarmotCaravelConfig.fir@204356.4]
+  assign metaArb_io_in_2_valid = s2_valid_hit_pre_data_ecc & s2_update_meta; // @[DCache.scala 317:26:shc.marmotcaravel.MarmotCaravelConfig.fir@202126.4]
+  assign metaArb_io_in_2_bits_addr = {_T_984,_T_998}; // @[DCache.scala 321:30:shc.marmotcaravel.MarmotCaravelConfig.fir@202135.4]
+  assign metaArb_io_in_3_valid = _T_2431 & _T_2432; // @[DCache.scala 564:26:shc.marmotcaravel.MarmotCaravelConfig.fir@203855.4]
+  assign metaArb_io_in_3_bits_addr = {_T_984,_T_998}; // @[DCache.scala 568:30:shc.marmotcaravel.MarmotCaravelConfig.fir@203863.4]
+  assign metaArb_io_in_4_valid = _T_2583 | _T_2584; // @[DCache.scala 683:26:shc.marmotcaravel.MarmotCaravelConfig.fir@204081.4]
+  assign metaArb_io_in_4_bits_addr = {_T_984,14'h0}; // @[DCache.scala 687:30:shc.marmotcaravel.MarmotCaravelConfig.fir@204089.4]
+  assign metaArb_io_in_5_valid = 1'h0; // @[DCache.scala 775:26:shc.marmotcaravel.MarmotCaravelConfig.fir@204345.4]
+  assign metaArb_io_in_5_bits_addr = {_T_984,_T_2744}; // @[DCache.scala 778:30:shc.marmotcaravel.MarmotCaravelConfig.fir@204352.4]
+  assign metaArb_io_in_5_bits_idx = flushCounter; // @[DCache.scala 777:29:shc.marmotcaravel.MarmotCaravelConfig.fir@204348.4]
+  assign metaArb_io_in_7_valid = io_cpu_req_valid; // @[DCache.scala 175:26:shc.marmotcaravel.MarmotCaravelConfig.fir@201490.4]
+  assign metaArb_io_in_7_bits_addr = io_cpu_req_bits_addr; // @[DCache.scala 178:30:shc.marmotcaravel.MarmotCaravelConfig.fir@201494.4]
+  assign metaArb_io_out_ready = clock_en_reg; // @[DCache.scala 114:24:shc.marmotcaravel.MarmotCaravelConfig.fir@201210.4]
+  assign data_clock = gated_clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201190.4]
+  assign data_io_req_valid = dataArb_io_out_valid; // @[DCache.scala 111:15:shc.marmotcaravel.MarmotCaravelConfig.fir@201199.4]
+  assign data_io_req_bits_addr = dataArb_io_out_bits_addr; // @[DCache.scala 111:15:shc.marmotcaravel.MarmotCaravelConfig.fir@201199.4]
+  assign data_io_req_bits_write = dataArb_io_out_bits_write; // @[DCache.scala 111:15:shc.marmotcaravel.MarmotCaravelConfig.fir@201199.4]
+  assign data_io_req_bits_wdata = {_T_259,_T_258}; // @[DCache.scala 111:15:shc.marmotcaravel.MarmotCaravelConfig.fir@201199.4 DCache.scala 112:26:shc.marmotcaravel.MarmotCaravelConfig.fir@201208.4]
+  assign data_io_req_bits_eccMask = dataArb_io_out_bits_eccMask; // @[DCache.scala 111:15:shc.marmotcaravel.MarmotCaravelConfig.fir@201199.4]
+  assign dataArb_io_in_0_valid = pstore_drain_structural | _T_1219; // @[DCache.scala 403:26:shc.marmotcaravel.MarmotCaravelConfig.fir@202515.4]
+  assign dataArb_io_in_0_bits_addr = _T_1291[13:0]; // @[DCache.scala 405:30:shc.marmotcaravel.MarmotCaravelConfig.fir@202518.4]
+  assign dataArb_io_in_0_bits_write = pstore_drain_structural | _T_1219; // @[DCache.scala 404:31:shc.marmotcaravel.MarmotCaravelConfig.fir@202516.4]
+  assign dataArb_io_in_0_bits_wdata = pstore2_valid ? pstore2_storegen_data : pstore1_data; // @[DCache.scala 407:31:shc.marmotcaravel.MarmotCaravelConfig.fir@202522.4]
+  assign dataArb_io_in_0_bits_eccMask = {_T_1306,_T_1305}; // @[DCache.scala 410:33:shc.marmotcaravel.MarmotCaravelConfig.fir@202539.4]
+  assign dataArb_io_in_1_valid = _T_2514 ? _GEN_135 : _T_2427; // @[DCache.scala 543:26:shc.marmotcaravel.MarmotCaravelConfig.fir@203844.4 DCache.scala 579:30:shc.marmotcaravel.MarmotCaravelConfig.fir@203950.8]
+  assign dataArb_io_in_1_bits_addr = dataArb_io_in_0_bits_addr; // @[DCache.scala 557:27:shc.marmotcaravel.MarmotCaravelConfig.fir@203851.4]
+  assign dataArb_io_in_1_bits_write = _T_2514 ? _GEN_136 : dataArb_io_in_0_bits_write; // @[DCache.scala 557:27:shc.marmotcaravel.MarmotCaravelConfig.fir@203851.4 DCache.scala 580:35:shc.marmotcaravel.MarmotCaravelConfig.fir@203951.8]
+  assign dataArb_io_in_1_bits_wdata = dataArb_io_in_0_bits_wdata; // @[DCache.scala 110:43:shc.marmotcaravel.MarmotCaravelConfig.fir@201196.4 DCache.scala 557:27:shc.marmotcaravel.MarmotCaravelConfig.fir@203851.4]
+  assign dataArb_io_in_1_bits_eccMask = dataArb_io_in_0_bits_eccMask; // @[DCache.scala 557:27:shc.marmotcaravel.MarmotCaravelConfig.fir@203851.4]
+  assign dataArb_io_in_2_valid = inWriteback & _T_2574; // @[DCache.scala 676:26:shc.marmotcaravel.MarmotCaravelConfig.fir@204065.4]
+  assign dataArb_io_in_2_bits_addr = {{8'd0}, _T_2579}; // @[DCache.scala 677:25:shc.marmotcaravel.MarmotCaravelConfig.fir@204066.4 DCache.scala 679:30:shc.marmotcaravel.MarmotCaravelConfig.fir@204073.4]
+  assign dataArb_io_in_2_bits_wdata = dataArb_io_in_1_bits_wdata; // @[DCache.scala 110:43:shc.marmotcaravel.MarmotCaravelConfig.fir@201197.4 DCache.scala 677:25:shc.marmotcaravel.MarmotCaravelConfig.fir@204066.4]
+  assign dataArb_io_in_2_bits_eccMask = dataArb_io_in_1_bits_eccMask; // @[DCache.scala 677:25:shc.marmotcaravel.MarmotCaravelConfig.fir@204066.4]
+  assign dataArb_io_in_3_valid = io_cpu_req_valid & res; // @[DCache.scala 167:26:shc.marmotcaravel.MarmotCaravelConfig.fir@201419.4]
+  assign dataArb_io_in_3_bits_addr = io_cpu_req_bits_addr[13:0]; // @[DCache.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@201420.4 DCache.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@201422.4]
+  assign dataArb_io_in_3_bits_wdata = dataArb_io_in_1_bits_wdata; // @[DCache.scala 110:43:shc.marmotcaravel.MarmotCaravelConfig.fir@201198.4 DCache.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@201420.4]
+  assign dataArb_io_in_3_bits_eccMask = dataArb_io_in_1_bits_eccMask; // @[DCache.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@201420.4]
+  assign tlb_io_req_valid = s1_valid_masked & s1_readwrite; // @[DCache.scala 187:20:shc.marmotcaravel.MarmotCaravelConfig.fir@201510.4]
+  assign tlb_io_req_bits_vaddr = s1_req_addr; // @[DCache.scala 189:25:shc.marmotcaravel.MarmotCaravelConfig.fir@201512.4]
+  assign tlb_io_req_bits_size = s1_req_typ[1:0]; // @[DCache.scala 190:24:shc.marmotcaravel.MarmotCaravelConfig.fir@201513.4]
+  assign tlb_io_req_bits_cmd = s1_req_cmd; // @[DCache.scala 191:23:shc.marmotcaravel.MarmotCaravelConfig.fir@201514.4]
+  assign tlb_io_ptw_pmp_0_cfg_l = io_ptw_pmp_0_cfg_l; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@201505.4]
+  assign tlb_io_ptw_pmp_0_cfg_a = io_ptw_pmp_0_cfg_a; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@201505.4]
+  assign tlb_io_ptw_pmp_0_cfg_x = io_ptw_pmp_0_cfg_x; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@201505.4]
+  assign tlb_io_ptw_pmp_0_cfg_w = io_ptw_pmp_0_cfg_w; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@201505.4]
+  assign tlb_io_ptw_pmp_0_cfg_r = io_ptw_pmp_0_cfg_r; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@201505.4]
+  assign tlb_io_ptw_pmp_0_addr = io_ptw_pmp_0_addr; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@201505.4]
+  assign tlb_io_ptw_pmp_0_mask = io_ptw_pmp_0_mask; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@201505.4]
+  assign tlb_io_ptw_pmp_1_cfg_l = io_ptw_pmp_1_cfg_l; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@201505.4]
+  assign tlb_io_ptw_pmp_1_cfg_a = io_ptw_pmp_1_cfg_a; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@201505.4]
+  assign tlb_io_ptw_pmp_1_cfg_x = io_ptw_pmp_1_cfg_x; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@201505.4]
+  assign tlb_io_ptw_pmp_1_cfg_w = io_ptw_pmp_1_cfg_w; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@201505.4]
+  assign tlb_io_ptw_pmp_1_cfg_r = io_ptw_pmp_1_cfg_r; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@201505.4]
+  assign tlb_io_ptw_pmp_1_addr = io_ptw_pmp_1_addr; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@201505.4]
+  assign tlb_io_ptw_pmp_1_mask = io_ptw_pmp_1_mask; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@201505.4]
+  assign tlb_io_ptw_pmp_2_cfg_l = io_ptw_pmp_2_cfg_l; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@201505.4]
+  assign tlb_io_ptw_pmp_2_cfg_a = io_ptw_pmp_2_cfg_a; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@201505.4]
+  assign tlb_io_ptw_pmp_2_cfg_x = io_ptw_pmp_2_cfg_x; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@201505.4]
+  assign tlb_io_ptw_pmp_2_cfg_w = io_ptw_pmp_2_cfg_w; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@201505.4]
+  assign tlb_io_ptw_pmp_2_cfg_r = io_ptw_pmp_2_cfg_r; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@201505.4]
+  assign tlb_io_ptw_pmp_2_addr = io_ptw_pmp_2_addr; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@201505.4]
+  assign tlb_io_ptw_pmp_2_mask = io_ptw_pmp_2_mask; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@201505.4]
+  assign tlb_io_ptw_pmp_3_cfg_l = io_ptw_pmp_3_cfg_l; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@201505.4]
+  assign tlb_io_ptw_pmp_3_cfg_a = io_ptw_pmp_3_cfg_a; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@201505.4]
+  assign tlb_io_ptw_pmp_3_cfg_x = io_ptw_pmp_3_cfg_x; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@201505.4]
+  assign tlb_io_ptw_pmp_3_cfg_w = io_ptw_pmp_3_cfg_w; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@201505.4]
+  assign tlb_io_ptw_pmp_3_cfg_r = io_ptw_pmp_3_cfg_r; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@201505.4]
+  assign tlb_io_ptw_pmp_3_addr = io_ptw_pmp_3_addr; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@201505.4]
+  assign tlb_io_ptw_pmp_3_mask = io_ptw_pmp_3_mask; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@201505.4]
+  assign tlb_io_ptw_pmp_4_cfg_l = io_ptw_pmp_4_cfg_l; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@201505.4]
+  assign tlb_io_ptw_pmp_4_cfg_a = io_ptw_pmp_4_cfg_a; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@201505.4]
+  assign tlb_io_ptw_pmp_4_cfg_x = io_ptw_pmp_4_cfg_x; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@201505.4]
+  assign tlb_io_ptw_pmp_4_cfg_w = io_ptw_pmp_4_cfg_w; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@201505.4]
+  assign tlb_io_ptw_pmp_4_cfg_r = io_ptw_pmp_4_cfg_r; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@201505.4]
+  assign tlb_io_ptw_pmp_4_addr = io_ptw_pmp_4_addr; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@201505.4]
+  assign tlb_io_ptw_pmp_4_mask = io_ptw_pmp_4_mask; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@201505.4]
+  assign tlb_io_ptw_pmp_5_cfg_l = io_ptw_pmp_5_cfg_l; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@201505.4]
+  assign tlb_io_ptw_pmp_5_cfg_a = io_ptw_pmp_5_cfg_a; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@201505.4]
+  assign tlb_io_ptw_pmp_5_cfg_x = io_ptw_pmp_5_cfg_x; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@201505.4]
+  assign tlb_io_ptw_pmp_5_cfg_w = io_ptw_pmp_5_cfg_w; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@201505.4]
+  assign tlb_io_ptw_pmp_5_cfg_r = io_ptw_pmp_5_cfg_r; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@201505.4]
+  assign tlb_io_ptw_pmp_5_addr = io_ptw_pmp_5_addr; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@201505.4]
+  assign tlb_io_ptw_pmp_5_mask = io_ptw_pmp_5_mask; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@201505.4]
+  assign tlb_io_ptw_pmp_6_cfg_l = io_ptw_pmp_6_cfg_l; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@201505.4]
+  assign tlb_io_ptw_pmp_6_cfg_a = io_ptw_pmp_6_cfg_a; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@201505.4]
+  assign tlb_io_ptw_pmp_6_cfg_x = io_ptw_pmp_6_cfg_x; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@201505.4]
+  assign tlb_io_ptw_pmp_6_cfg_w = io_ptw_pmp_6_cfg_w; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@201505.4]
+  assign tlb_io_ptw_pmp_6_cfg_r = io_ptw_pmp_6_cfg_r; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@201505.4]
+  assign tlb_io_ptw_pmp_6_addr = io_ptw_pmp_6_addr; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@201505.4]
+  assign tlb_io_ptw_pmp_6_mask = io_ptw_pmp_6_mask; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@201505.4]
+  assign tlb_io_ptw_pmp_7_cfg_l = io_ptw_pmp_7_cfg_l; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@201505.4]
+  assign tlb_io_ptw_pmp_7_cfg_a = io_ptw_pmp_7_cfg_a; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@201505.4]
+  assign tlb_io_ptw_pmp_7_cfg_x = io_ptw_pmp_7_cfg_x; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@201505.4]
+  assign tlb_io_ptw_pmp_7_cfg_w = io_ptw_pmp_7_cfg_w; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@201505.4]
+  assign tlb_io_ptw_pmp_7_cfg_r = io_ptw_pmp_7_cfg_r; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@201505.4]
+  assign tlb_io_ptw_pmp_7_addr = io_ptw_pmp_7_addr; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@201505.4]
+  assign tlb_io_ptw_pmp_7_mask = io_ptw_pmp_7_mask; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@201505.4]
+  assign amoalu_io_cmd = pstore1_cmd; // @[DCache.scala 745:19:shc.marmotcaravel.MarmotCaravelConfig.fir@204281.4]
+  assign amoalu_io_lhs = {_T_800,_T_799}; // @[DCache.scala 746:19:shc.marmotcaravel.MarmotCaravelConfig.fir@204282.4]
+  assign amoalu_io_rhs = pstore1_data; // @[DCache.scala 747:19:shc.marmotcaravel.MarmotCaravelConfig.fir@204283.4]
+  assign _GEN_190 = _T_2397 & grantIsCached; // @[DCache.scala 500:13:shc.marmotcaravel.MarmotCaravelConfig.fir@203770.10]
+  assign _GEN_193 = _T_2397 & _T_2833; // @[DCache.scala 512:17:shc.marmotcaravel.MarmotCaravelConfig.fir@203791.14]
+  assign _GEN_194 = _GEN_193 & d_last; // @[DCache.scala 512:17:shc.marmotcaravel.MarmotCaravelConfig.fir@203791.14]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  clock_en_reg = _RAND_0[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  blockUncachedGrant = _RAND_1[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  s1_valid = _RAND_2[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  _T_2363 = _RAND_3[9:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  release_state = _RAND_4[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  blockProbeAfterGrantCount = _RAND_5[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {1{`RANDOM}};
+  lrscCount = _RAND_6[6:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {1{`RANDOM}};
+  s2_valid_pre_xcpt = _RAND_7[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_8 = {1{`RANDOM}};
+  s1_req_cmd = _RAND_8[4:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_9 = {1{`RANDOM}};
+  _T_587 = _RAND_9[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_10 = {1{`RANDOM}};
+  s2_req_cmd = _RAND_10[4:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_11 = {1{`RANDOM}};
+  s2_hit_state_state = _RAND_11[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_12 = {1{`RANDOM}};
+  s2_req_addr = _RAND_12[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_13 = {1{`RANDOM}};
+  pstore1_held = _RAND_13[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_14 = {1{`RANDOM}};
+  pstore1_addr = _RAND_14[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_15 = {1{`RANDOM}};
+  s1_req_addr = _RAND_15[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_16 = {1{`RANDOM}};
+  pstore1_mask = _RAND_16[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_17 = {1{`RANDOM}};
+  s1_req_typ = _RAND_17[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_18 = {1{`RANDOM}};
+  pstore2_valid = _RAND_18[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_19 = {1{`RANDOM}};
+  pstore2_addr = _RAND_19[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_20 = {1{`RANDOM}};
+  mask = _RAND_20[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_21 = {1{`RANDOM}};
+  s1_req_tag = _RAND_21[6:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_22 = {1{`RANDOM}};
+  s1_req_phys = _RAND_22[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_23 = {1{`RANDOM}};
+  s1_flush_valid = _RAND_23[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_24 = {1{`RANDOM}};
+  cached_grant_wait = _RAND_24[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_25 = {1{`RANDOM}};
+  uncachedInFlight_0 = _RAND_25[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_26 = {1{`RANDOM}};
+  uncachedReqs_0_addr = _RAND_26[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_27 = {1{`RANDOM}};
+  uncachedReqs_0_tag = _RAND_27[6:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_28 = {1{`RANDOM}};
+  uncachedReqs_0_typ = _RAND_28[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_29 = {1{`RANDOM}};
+  s2_req_tag = _RAND_29[6:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_30 = {1{`RANDOM}};
+  s2_req_typ = _RAND_30[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_31 = {1{`RANDOM}};
+  s2_req_phys = _RAND_31[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_32 = {1{`RANDOM}};
+  s2_uncached_resp_addr = _RAND_32[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_33 = {1{`RANDOM}};
+  _T_595 = _RAND_33[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_34 = {1{`RANDOM}};
+  s2_flush_valid_pre_tag_ecc = _RAND_34[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_35 = {1{`RANDOM}};
+  s2_data = _RAND_35[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_36 = {1{`RANDOM}};
+  pstore1_cmd = _RAND_36[4:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_37 = {1{`RANDOM}};
+  pstore1_data = _RAND_37[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_38 = {1{`RANDOM}};
+  pstore1_rmw = _RAND_38[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_39 = {1{`RANDOM}};
+  _T_1246 = _RAND_39[7:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_40 = {1{`RANDOM}};
+  _T_1252 = _RAND_40[7:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_41 = {1{`RANDOM}};
+  _T_1258 = _RAND_41[7:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_42 = {1{`RANDOM}};
+  _T_1264 = _RAND_42[7:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_43 = {1{`RANDOM}};
+  s2_release_data_valid = _RAND_43[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_44 = {1{`RANDOM}};
+  s1_release_data_valid = _RAND_44[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_45 = {1{`RANDOM}};
+  _T_2606 = _RAND_45[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_46 = {1{`RANDOM}};
+  _T_2608_pf_ld = _RAND_46[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_47 = {1{`RANDOM}};
+  _T_2608_pf_st = _RAND_47[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_48 = {1{`RANDOM}};
+  _T_2608_ae_ld = _RAND_48[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_49 = {1{`RANDOM}};
+  _T_2608_ae_st = _RAND_49[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_50 = {1{`RANDOM}};
+  _T_2608_ma_ld = _RAND_50[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_51 = {1{`RANDOM}};
+  _T_2608_ma_st = _RAND_51[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_52 = {1{`RANDOM}};
+  doUncachedResp = _RAND_52[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_53 = {1{`RANDOM}};
+  resetting = _RAND_53[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_54 = {1{`RANDOM}};
+  flushCounter = _RAND_54[7:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge gated_clock) begin
+    clock_en_reg <= _T_2773 | _T_2519;
+    if (_T_2514) begin
+      if (auto_out_d_valid) begin
+        blockUncachedGrant <= _T_2429;
+      end else begin
+        blockUncachedGrant <= dataArb_io_out_valid;
+      end
+    end else begin
+      blockUncachedGrant <= dataArb_io_out_valid;
+    end
+    if (reset) begin
+      s1_valid <= 1'h0;
+    end else begin
+      s1_valid <= _T_263;
+    end
+    if (reset) begin
+      _T_2363 <= 10'h0;
+    end else begin
+      if (_T_2397) begin
+        if (d_first) begin
+          if (_T_2360) begin
+            _T_2363 <= _T_2359;
+          end else begin
+            _T_2363 <= 10'h0;
+          end
+        end else begin
+          _T_2363 <= _T_2366;
+        end
+      end
+    end
+    if (reset) begin
+      release_state <= 3'h0;
+    end else begin
+      if (_T_2594) begin
+        release_state <= 3'h0;
+      end
+    end
+    if (reset) begin
+      blockProbeAfterGrantCount <= 3'h0;
+    end else begin
+      if (_T_2397) begin
+        if (grantIsCached) begin
+          if (d_last) begin
+            blockProbeAfterGrantCount <= 3'h7;
+          end else begin
+            if (_T_2519) begin
+              blockProbeAfterGrantCount <= _T_2392;
+            end
+          end
+        end else begin
+          if (_T_2519) begin
+            blockProbeAfterGrantCount <= _T_2392;
+          end
+        end
+      end else begin
+        if (_T_2519) begin
+          blockProbeAfterGrantCount <= _T_2392;
+        end
+      end
+    end
+    if (reset) begin
+      lrscCount <= 7'h0;
+    end else begin
+      if (_T_1028) begin
+        lrscCount <= 7'h3;
+      end else begin
+        if (_T_1010) begin
+          lrscCount <= _T_1027;
+        end else begin
+          if (_T_583) begin
+            if (s2_hit) begin
+              lrscCount <= 7'h4f;
+            end else begin
+              lrscCount <= 7'h0;
+            end
+          end
+        end
+      end
+    end
+    if (reset) begin
+      s2_valid_pre_xcpt <= 1'h0;
+    end else begin
+      s2_valid_pre_xcpt <= _T_573;
+    end
+    if (s0_clk_en) begin
+      s1_req_cmd <= io_cpu_req_bits_cmd;
+    end
+    _T_587 <= s1_nack == 1'h0;
+    if (_T_2397) begin
+      if (grantIsCached) begin
+        if (_T_591) begin
+          s2_req_cmd <= s1_req_cmd;
+        end
+      end else begin
+        if (data_1) begin
+          s2_req_cmd <= 5'h0;
+        end else begin
+          if (_T_591) begin
+            s2_req_cmd <= s1_req_cmd;
+          end
+        end
+      end
+    end else begin
+      if (_T_591) begin
+        s2_req_cmd <= s1_req_cmd;
+      end
+    end
+    if (_T_591) begin
+      if (inScratchpad) begin
+        s2_hit_state_state <= 2'h3;
+      end else begin
+        s2_hit_state_state <= 2'h0;
+      end
+    end
+    if (_T_2397) begin
+      if (grantIsCached) begin
+        if (_T_591) begin
+          s2_req_addr <= tlb_io_resp_paddr;
+        end
+      end else begin
+        if (data_1) begin
+          s2_req_addr <= _T_2410;
+        end else begin
+          if (_T_591) begin
+            s2_req_addr <= tlb_io_resp_paddr;
+          end
+        end
+      end
+    end else begin
+      if (_T_591) begin
+        s2_req_addr <= tlb_io_resp_paddr;
+      end
+    end
+    pstore1_held <= _T_1229 & _T_1230;
+    if (_T_1037) begin
+      pstore1_addr <= s1_req_addr;
+    end
+    if (s0_clk_en) begin
+      s1_req_addr <= _T_275;
+    end
+    if (_T_1037) begin
+      if (_T_300) begin
+        pstore1_mask <= io_cpu_s1_data_mask;
+      end else begin
+        pstore1_mask <= _T_571;
+      end
+    end
+    if (s0_clk_en) begin
+      s1_req_typ <= io_cpu_req_bits_typ;
+    end
+    pstore2_valid <= _T_1235 | advance_pstore1;
+    if (advance_pstore1) begin
+      pstore2_addr <= pstore1_addr;
+    end
+    if (advance_pstore1) begin
+      mask <= _T_1272;
+    end
+    if (s0_clk_en) begin
+      s1_req_tag <= io_cpu_req_bits_tag;
+    end
+    if (s0_clk_en) begin
+      if (_T_276) begin
+        s1_req_phys <= 1'h1;
+      end else begin
+        s1_req_phys <= io_cpu_req_bits_phys;
+      end
+    end
+    s1_flush_valid <= _T_2737 & _T_332;
+    if (reset) begin
+      cached_grant_wait <= 1'h0;
+    end else begin
+      if (_T_2397) begin
+        if (grantIsCached) begin
+          if (d_last) begin
+            cached_grant_wait <= 1'h0;
+          end
+        end
+      end
+    end
+    if (reset) begin
+      uncachedInFlight_0 <= 1'h0;
+    end else begin
+      if (_T_2397) begin
+        if (grantIsCached) begin
+          if (_T_2352) begin
+            uncachedInFlight_0 <= 1'h1;
+          end
+        end else begin
+          if (d_last) begin
+            uncachedInFlight_0 <= 1'h0;
+          end else begin
+            if (_T_2352) begin
+              uncachedInFlight_0 <= 1'h1;
+            end
+          end
+        end
+      end else begin
+        if (_T_2352) begin
+          uncachedInFlight_0 <= 1'h1;
+        end
+      end
+    end
+    if (_T_2352) begin
+      uncachedReqs_0_addr <= s2_req_addr;
+    end
+    if (_T_2352) begin
+      uncachedReqs_0_tag <= s2_req_tag;
+    end
+    if (_T_2352) begin
+      uncachedReqs_0_typ <= s2_req_typ;
+    end
+    if (_T_2397) begin
+      if (grantIsCached) begin
+        if (_T_591) begin
+          s2_req_tag <= s1_req_tag;
+        end
+      end else begin
+        if (data_1) begin
+          s2_req_tag <= uncachedReqs_0_tag;
+        end else begin
+          if (_T_591) begin
+            s2_req_tag <= s1_req_tag;
+          end
+        end
+      end
+    end else begin
+      if (_T_591) begin
+        s2_req_tag <= s1_req_tag;
+      end
+    end
+    if (_T_2397) begin
+      if (grantIsCached) begin
+        if (_T_591) begin
+          s2_req_typ <= s1_req_typ;
+        end
+      end else begin
+        if (data_1) begin
+          s2_req_typ <= uncachedReqs_0_typ;
+        end else begin
+          if (_T_591) begin
+            s2_req_typ <= s1_req_typ;
+          end
+        end
+      end
+    end else begin
+      if (_T_591) begin
+        s2_req_typ <= s1_req_typ;
+      end
+    end
+    if (_T_591) begin
+      s2_req_phys <= s1_req_phys;
+    end
+    if (_T_2397) begin
+      if (!(grantIsCached)) begin
+        if (data_1) begin
+          s2_uncached_resp_addr <= uncachedReqs_0_addr;
+        end
+      end
+    end
+    if (_T_591) begin
+      _T_595 <= s1_req_addr;
+    end
+    s2_flush_valid_pre_tag_ecc <= s1_flush_valid;
+    if (_T_665) begin
+      s2_data <= _T_661;
+    end
+    if (_T_1037) begin
+      pstore1_cmd <= s1_req_cmd;
+    end
+    if (_T_1037) begin
+      pstore1_data <= io_cpu_s1_data_data;
+    end
+    if (_T_1037) begin
+      pstore1_rmw <= _T_1099;
+    end
+    if (advance_pstore1) begin
+      _T_1246 <= _T_1241;
+    end
+    if (advance_pstore1) begin
+      _T_1252 <= _T_1247;
+    end
+    if (advance_pstore1) begin
+      _T_1258 <= _T_1253;
+    end
+    if (advance_pstore1) begin
+      _T_1264 <= _T_1259;
+    end
+    s2_release_data_valid <= s1_release_data_valid;
+    s1_release_data_valid <= dataArb_io_in_2_ready & dataArb_io_in_2_valid;
+    _T_2606 <= tlb_io_req_valid & _T_271;
+    if (s1_valid_not_nacked) begin
+      _T_2608_pf_ld <= tlb_io_resp_pf_ld;
+    end
+    if (s1_valid_not_nacked) begin
+      _T_2608_pf_st <= tlb_io_resp_pf_st;
+    end
+    if (s1_valid_not_nacked) begin
+      _T_2608_ae_ld <= tlb_io_resp_ae_ld;
+    end
+    if (s1_valid_not_nacked) begin
+      _T_2608_ae_st <= tlb_io_resp_ae_st;
+    end
+    if (s1_valid_not_nacked) begin
+      _T_2608_ma_ld <= tlb_io_resp_ma_ld;
+    end
+    if (s1_valid_not_nacked) begin
+      _T_2608_ma_st <= tlb_io_resp_ma_st;
+    end
+    doUncachedResp <= io_cpu_replay_next;
+    if (reset) begin
+      resetting <= 1'h0;
+    end else begin
+      if (resetting) begin
+        if (flushDone) begin
+          resetting <= 1'h0;
+        end
+      end
+    end
+    if (reset) begin
+      flushCounter <= 8'h0;
+    end else begin
+      flushCounter <= _GEN_172[7:0];
+    end
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_447) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at DCache.scala:913 assert(!needsRead(req) || res)\n"); // @[DCache.scala 913:11:shc.marmotcaravel.MarmotCaravelConfig.fir@201415.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_447) begin
+          $fatal; // @[DCache.scala 913:11:shc.marmotcaravel.MarmotCaravelConfig.fir@201416.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_447) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at DCache.scala:913 assert(!needsRead(req) || res)\n"); // @[DCache.scala 913:11:shc.marmotcaravel.MarmotCaravelConfig.fir@202358.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_447) begin
+          $fatal; // @[DCache.scala 913:11:shc.marmotcaravel.MarmotCaravelConfig.fir@202359.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1201) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at DCache.scala:366 assert(pstore1_rmw || pstore1_valid_not_rmw(io.cpu.s2_kill) === pstore1_valid)\n"); // @[DCache.scala 366:9:shc.marmotcaravel.MarmotCaravelConfig.fir@202397.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1201) begin
+          $fatal; // @[DCache.scala 366:9:shc.marmotcaravel.MarmotCaravelConfig.fir@202398.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_2381) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at DCache.scala:480 assert(!tl_out.d.valid || whole_opc.isOneOf(uncachedGrantOpcodes))\n"); // @[DCache.scala 480:13:shc.marmotcaravel.MarmotCaravelConfig.fir@203735.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_2381) begin
+          $fatal; // @[DCache.scala 480:13:shc.marmotcaravel.MarmotCaravelConfig.fir@203736.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_190 & _T_2400) begin
+          $fwrite(32'h80000002,"Assertion failed: A GrantData was unexpected by the dcache.\n    at DCache.scala:500 assert(cached_grant_wait, \"A GrantData was unexpected by the dcache.\")\n"); // @[DCache.scala 500:13:shc.marmotcaravel.MarmotCaravelConfig.fir@203770.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_190 & _T_2400) begin
+          $fatal; // @[DCache.scala 500:13:shc.marmotcaravel.MarmotCaravelConfig.fir@203771.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_194 & _T_2406) begin
+          $fwrite(32'h80000002,"Assertion failed: An AccessAck was unexpected by the dcache.\n    at DCache.scala:512 assert(f, \"An AccessAck was unexpected by the dcache.\") // TODO must handle Ack coming back on same cycle!\n"); // @[DCache.scala 512:17:shc.marmotcaravel.MarmotCaravelConfig.fir@203791.14]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_194 & _T_2406) begin
+          $fatal; // @[DCache.scala 512:17:shc.marmotcaravel.MarmotCaravelConfig.fir@203792.14]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: A ReleaseAck was unexpected by the dcache.\n    at DCache.scala:530 assert(release_ack_wait, \"A ReleaseAck was unexpected by the dcache.\") // TODO should handle Ack coming back on same cycle!\n"); // @[DCache.scala 530:13:shc.marmotcaravel.MarmotCaravelConfig.fir@203816.14]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[DCache.scala 530:13:shc.marmotcaravel.MarmotCaravelConfig.fir@203817.14]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_2426) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at DCache.scala:538 assert(tl_out.e.fire() === (tl_out.d.fire() && d_first && grantIsCached))\n"); // @[DCache.scala 538:9:shc.marmotcaravel.MarmotCaravelConfig.fir@203839.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_2426) begin
+          $fatal; // @[DCache.scala 538:9:shc.marmotcaravel.MarmotCaravelConfig.fir@203840.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (s2_req_phys & _T_2631) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at DCache.scala:710 assert(!s2_valid || s2_hit_valid)\n"); // @[DCache.scala 710:13:shc.marmotcaravel.MarmotCaravelConfig.fir@204177.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (s2_req_phys & _T_2631) begin
+          $fatal; // @[DCache.scala 710:13:shc.marmotcaravel.MarmotCaravelConfig.fir@204178.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_2649) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at DCache.scala:713 assert(!(s2_valid_masked && s2_req.cmd.isOneOf(M_XLR, M_XSC)))\n"); // @[DCache.scala 713:11:shc.marmotcaravel.MarmotCaravelConfig.fir@204208.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_2649) begin
+          $fatal; // @[DCache.scala 713:11:shc.marmotcaravel.MarmotCaravelConfig.fir@204209.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (doUncachedResp & _T_2657) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at DCache.scala:723 assert(!s2_valid_hit)\n"); // @[DCache.scala 723:11:shc.marmotcaravel.MarmotCaravelConfig.fir@204226.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (doUncachedResp & _T_2657) begin
+          $fatal; // @[DCache.scala 723:11:shc.marmotcaravel.MarmotCaravelConfig.fir@204227.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+endmodule
+module ICache( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204483.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204484.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204485.4]
+  output        auto_slave_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204486.4]
+  input         auto_slave_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204486.4]
+  input  [2:0]  auto_slave_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204486.4]
+  input  [1:0]  auto_slave_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204486.4]
+  input  [6:0]  auto_slave_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204486.4]
+  input  [27:0] auto_slave_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204486.4]
+  input  [3:0]  auto_slave_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204486.4]
+  input  [31:0] auto_slave_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204486.4]
+  input         auto_slave_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204486.4]
+  output        auto_slave_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204486.4]
+  output [2:0]  auto_slave_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204486.4]
+  output [1:0]  auto_slave_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204486.4]
+  output [6:0]  auto_slave_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204486.4]
+  output [31:0] auto_slave_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204486.4]
+  input         auto_master_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204486.4]
+  output        auto_master_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204486.4]
+  output [31:0] auto_master_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204486.4]
+  output        auto_master_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204486.4]
+  input         auto_master_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204486.4]
+  input  [2:0]  auto_master_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204486.4]
+  input  [3:0]  auto_master_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204486.4]
+  input  [31:0] auto_master_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204486.4]
+  input         auto_master_out_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204486.4]
+  output        io_req_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204487.4]
+  input         io_req_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204487.4]
+  input  [31:0] io_req_bits_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204487.4]
+  input  [31:0] io_s1_paddr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204487.4]
+  input  [31:0] io_s2_vaddr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204487.4]
+  input         io_s1_kill, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204487.4]
+  input         io_s2_kill, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204487.4]
+  output        io_resp_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204487.4]
+  output [31:0] io_resp_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204487.4]
+  output        io_resp_bits_ae, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204487.4]
+  input         io_invalidate, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204487.4]
+  input         io_clock_enabled, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204487.4]
+  output        io_keep_clock_enabled, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204487.4]
+  output [6:0] tag_array_ext_RW0_addr,
+  output  tag_array_ext_RW0_en,
+  output  tag_array_ext_RW0_clk,
+  output  tag_array_ext_RW0_wmode,
+  output [39:0] tag_array_ext_RW0_wdata,
+  input  [39:0] tag_array_ext_RW0_rdata,
+  output [1:0] tag_array_ext_RW0_wmask,
+  output [10:0] data_arrays_0_0_ext_RW0_addr,
+  output  data_arrays_0_0_ext_RW0_en,
+  output  data_arrays_0_0_ext_RW0_clk,
+  output  data_arrays_0_0_ext_RW0_wmode,
+  output [63:0] data_arrays_0_0_ext_RW0_wdata,
+  input  [63:0] data_arrays_0_0_ext_RW0_rdata,
+  output [1:0] data_arrays_0_0_ext_RW0_wmask
+);
+  wire [6:0] tag_array_RW0_addr; // @[DescribedSRAM.scala 23:21:shc.marmotcaravel.MarmotCaravelConfig.fir@204615.4]
+  wire  tag_array_RW0_en; // @[DescribedSRAM.scala 23:21:shc.marmotcaravel.MarmotCaravelConfig.fir@204615.4]
+  wire  tag_array_RW0_clk; // @[DescribedSRAM.scala 23:21:shc.marmotcaravel.MarmotCaravelConfig.fir@204615.4]
+  wire  tag_array_RW0_wmode; // @[DescribedSRAM.scala 23:21:shc.marmotcaravel.MarmotCaravelConfig.fir@204615.4]
+  wire [19:0] tag_array_RW0_wdata_0; // @[DescribedSRAM.scala 23:21:shc.marmotcaravel.MarmotCaravelConfig.fir@204615.4]
+  wire [19:0] tag_array_RW0_wdata_1; // @[DescribedSRAM.scala 23:21:shc.marmotcaravel.MarmotCaravelConfig.fir@204615.4]
+  wire [19:0] tag_array_RW0_rdata_0; // @[DescribedSRAM.scala 23:21:shc.marmotcaravel.MarmotCaravelConfig.fir@204615.4]
+  wire [19:0] tag_array_RW0_rdata_1; // @[DescribedSRAM.scala 23:21:shc.marmotcaravel.MarmotCaravelConfig.fir@204615.4]
+  wire  tag_array_RW0_wmask_0; // @[DescribedSRAM.scala 23:21:shc.marmotcaravel.MarmotCaravelConfig.fir@204615.4]
+  wire  tag_array_RW0_wmask_1; // @[DescribedSRAM.scala 23:21:shc.marmotcaravel.MarmotCaravelConfig.fir@204615.4]
+  wire [10:0] data_arrays_0_RW0_addr; // @[DescribedSRAM.scala 23:21:shc.marmotcaravel.MarmotCaravelConfig.fir@204769.4]
+  wire  data_arrays_0_RW0_en; // @[DescribedSRAM.scala 23:21:shc.marmotcaravel.MarmotCaravelConfig.fir@204769.4]
+  wire  data_arrays_0_RW0_clk; // @[DescribedSRAM.scala 23:21:shc.marmotcaravel.MarmotCaravelConfig.fir@204769.4]
+  wire  data_arrays_0_RW0_wmode; // @[DescribedSRAM.scala 23:21:shc.marmotcaravel.MarmotCaravelConfig.fir@204769.4]
+  wire [31:0] data_arrays_0_RW0_wdata_0; // @[DescribedSRAM.scala 23:21:shc.marmotcaravel.MarmotCaravelConfig.fir@204769.4]
+  wire [31:0] data_arrays_0_RW0_wdata_1; // @[DescribedSRAM.scala 23:21:shc.marmotcaravel.MarmotCaravelConfig.fir@204769.4]
+  wire [31:0] data_arrays_0_RW0_rdata_0; // @[DescribedSRAM.scala 23:21:shc.marmotcaravel.MarmotCaravelConfig.fir@204769.4]
+  wire [31:0] data_arrays_0_RW0_rdata_1; // @[DescribedSRAM.scala 23:21:shc.marmotcaravel.MarmotCaravelConfig.fir@204769.4]
+  wire  data_arrays_0_RW0_wmask_0; // @[DescribedSRAM.scala 23:21:shc.marmotcaravel.MarmotCaravelConfig.fir@204769.4]
+  wire  data_arrays_0_RW0_wmask_1; // @[DescribedSRAM.scala 23:21:shc.marmotcaravel.MarmotCaravelConfig.fir@204769.4]
+  reg  scratchpadOn; // @[ICache.scala 120:29:shc.marmotcaravel.MarmotCaravelConfig.fir@204499.4]
+  reg [31:0] _RAND_0;
+  reg [6:0] scratchpadMax; // @[ICache.scala 121:42:shc.marmotcaravel.MarmotCaravelConfig.fir@204500.4]
+  reg [31:0] _RAND_1;
+  reg  s1_slaveValid; // @[ICache.scala 132:30:shc.marmotcaravel.MarmotCaravelConfig.fir@204503.4]
+  reg [31:0] _RAND_2;
+  wire  _T_663; // @[ICache.scala 312:40:shc.marmotcaravel.MarmotCaravelConfig.fir@204898.4]
+  reg  s2_slaveValid; // @[ICache.scala 133:30:shc.marmotcaravel.MarmotCaravelConfig.fir@204505.4]
+  reg [31:0] _RAND_3;
+  wire  _T_664; // @[ICache.scala 312:57:shc.marmotcaravel.MarmotCaravelConfig.fir@204899.4]
+  reg  s3_slaveValid; // @[ICache.scala 134:30:shc.marmotcaravel.MarmotCaravelConfig.fir@204507.4]
+  reg [31:0] _RAND_4;
+  wire  _T_665; // @[ICache.scala 312:74:shc.marmotcaravel.MarmotCaravelConfig.fir@204900.4]
+  reg  tl_in_d_valid; // @[ICache.scala 311:32:shc.marmotcaravel.MarmotCaravelConfig.fir@204897.4]
+  reg [31:0] _RAND_5;
+  wire  _T_666; // @[ICache.scala 312:91:shc.marmotcaravel.MarmotCaravelConfig.fir@204901.4]
+  wire  _T_667; // @[ICache.scala 312:107:shc.marmotcaravel.MarmotCaravelConfig.fir@204902.4]
+  wire  _T_668; // @[ICache.scala 312:104:shc.marmotcaravel.MarmotCaravelConfig.fir@204903.4]
+  wire  tl_in_a_ready; // @[ICache.scala 312:23:shc.marmotcaravel.MarmotCaravelConfig.fir@204904.4]
+  wire  s0_slaveValid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@204502.4]
+  reg  s1_valid; // @[ICache.scala 136:21:shc.marmotcaravel.MarmotCaravelConfig.fir@204509.4]
+  reg [31:0] _RAND_6;
+  reg [255:0] vb_array; // @[ICache.scala 195:21:shc.marmotcaravel.MarmotCaravelConfig.fir@204645.4]
+  reg [255:0] _RAND_7;
+  wire [6:0] _T_420; // @[ICache.scala 216:29:shc.marmotcaravel.MarmotCaravelConfig.fir@204673.4]
+  wire [7:0] _T_443; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@204696.4]
+  wire [255:0] _T_444; // @[ICache.scala 222:25:shc.marmotcaravel.MarmotCaravelConfig.fir@204697.4]
+  wire  _T_445; // @[ICache.scala 222:25:shc.marmotcaravel.MarmotCaravelConfig.fir@204698.4]
+  wire  _T_446; // @[ICache.scala 222:51:shc.marmotcaravel.MarmotCaravelConfig.fir@204699.4]
+  wire  _T_447; // @[ICache.scala 222:48:shc.marmotcaravel.MarmotCaravelConfig.fir@204700.4]
+  wire [18:0] _T_449; // @[package.scala 119:13:shc.marmotcaravel.MarmotCaravelConfig.fir@204702.4]
+  wire [18:0] _T_421; // @[ICache.scala 217:29:shc.marmotcaravel.MarmotCaravelConfig.fir@204674.4]
+  wire  _T_450; // @[ICache.scala 225:33:shc.marmotcaravel.MarmotCaravelConfig.fir@204703.4]
+  wire  _T_451; // @[ICache.scala 225:26:shc.marmotcaravel.MarmotCaravelConfig.fir@204704.4]
+  reg [13:0] s1s3_slaveAddr; // @[ICache.scala 212:27:shc.marmotcaravel.MarmotCaravelConfig.fir@204671.4]
+  reg [31:0] _RAND_8;
+  wire [7:0] _T_423; // @[ICache.scala 130:40:shc.marmotcaravel.MarmotCaravelConfig.fir@204676.4]
+  wire [7:0] _GEN_75; // @[ICache.scala 122:77:shc.marmotcaravel.MarmotCaravelConfig.fir@204677.4]
+  wire  _T_424; // @[ICache.scala 122:77:shc.marmotcaravel.MarmotCaravelConfig.fir@204677.4]
+  wire  _T_425; // @[ICache.scala 122:69:shc.marmotcaravel.MarmotCaravelConfig.fir@204678.4]
+  wire  _T_426; // @[package.scala 119:13:shc.marmotcaravel.MarmotCaravelConfig.fir@204679.4]
+  wire  _T_427; // @[ICache.scala 220:91:shc.marmotcaravel.MarmotCaravelConfig.fir@204680.4]
+  wire  _T_428; // @[ICache.scala 220:58:shc.marmotcaravel.MarmotCaravelConfig.fir@204681.4]
+  wire  _T_429; // @[ICache.scala 126:75:shc.marmotcaravel.MarmotCaravelConfig.fir@204682.4]
+  wire  _T_432; // @[ICache.scala 126:91:shc.marmotcaravel.MarmotCaravelConfig.fir@204685.4]
+  wire  _T_433; // @[ICache.scala 126:83:shc.marmotcaravel.MarmotCaravelConfig.fir@204686.4]
+  wire [7:0] _T_434; // @[ICache.scala 127:90:shc.marmotcaravel.MarmotCaravelConfig.fir@204687.4]
+  wire  _T_435; // @[ICache.scala 122:77:shc.marmotcaravel.MarmotCaravelConfig.fir@204688.4]
+  wire  _T_436; // @[ICache.scala 122:69:shc.marmotcaravel.MarmotCaravelConfig.fir@204689.4]
+  wire  _T_437; // @[ICache.scala 127:66:shc.marmotcaravel.MarmotCaravelConfig.fir@204690.4]
+  wire  _T_438; // @[package.scala 119:13:shc.marmotcaravel.MarmotCaravelConfig.fir@204691.4]
+  wire  _T_439; // @[ICache.scala 221:69:shc.marmotcaravel.MarmotCaravelConfig.fir@204692.4]
+  wire  _T_440; // @[ICache.scala 221:39:shc.marmotcaravel.MarmotCaravelConfig.fir@204693.4]
+  wire  _T_441; // @[ICache.scala 219:10:shc.marmotcaravel.MarmotCaravelConfig.fir@204694.4]
+  wire  s1_tag_hit_0; // @[ICache.scala 228:31:shc.marmotcaravel.MarmotCaravelConfig.fir@204711.4]
+  wire [7:0] _T_480; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@204736.4]
+  wire [255:0] _T_481; // @[ICache.scala 222:25:shc.marmotcaravel.MarmotCaravelConfig.fir@204737.4]
+  wire  _T_482; // @[ICache.scala 222:25:shc.marmotcaravel.MarmotCaravelConfig.fir@204738.4]
+  wire  _T_484; // @[ICache.scala 222:48:shc.marmotcaravel.MarmotCaravelConfig.fir@204740.4]
+  wire [18:0] _T_486; // @[package.scala 119:13:shc.marmotcaravel.MarmotCaravelConfig.fir@204742.4]
+  wire  _T_487; // @[ICache.scala 225:33:shc.marmotcaravel.MarmotCaravelConfig.fir@204743.4]
+  wire  s1_tag_hit_1; // @[ICache.scala 225:26:shc.marmotcaravel.MarmotCaravelConfig.fir@204744.4]
+  wire  _T_270; // @[ICache.scala 138:35:shc.marmotcaravel.MarmotCaravelConfig.fir@204512.4]
+  wire  _T_276; // @[ICache.scala 138:46:shc.marmotcaravel.MarmotCaravelConfig.fir@204518.4]
+  wire  s1_hit; // @[ICache.scala 138:40:shc.marmotcaravel.MarmotCaravelConfig.fir@204519.4]
+  wire  _T_277; // @[ICache.scala 140:38:shc.marmotcaravel.MarmotCaravelConfig.fir@204520.4]
+  wire  _T_278; // @[ICache.scala 140:35:shc.marmotcaravel.MarmotCaravelConfig.fir@204521.4]
+  reg  s2_valid; // @[ICache.scala 140:25:shc.marmotcaravel.MarmotCaravelConfig.fir@204522.4]
+  reg [31:0] _RAND_9;
+  reg  s2_hit; // @[ICache.scala 141:23:shc.marmotcaravel.MarmotCaravelConfig.fir@204524.4]
+  reg [31:0] _RAND_10;
+  reg  invalidated; // @[ICache.scala 143:24:shc.marmotcaravel.MarmotCaravelConfig.fir@204526.4]
+  reg [31:0] _RAND_11;
+  reg  refill_valid; // @[ICache.scala 144:29:shc.marmotcaravel.MarmotCaravelConfig.fir@204527.4]
+  reg [31:0] _RAND_12;
+  wire  _T_287; // @[ICache.scala 148:29:shc.marmotcaravel.MarmotCaravelConfig.fir@204533.4]
+  wire  _T_288; // @[ICache.scala 148:26:shc.marmotcaravel.MarmotCaravelConfig.fir@204534.4]
+  wire  _T_289; // @[ICache.scala 148:40:shc.marmotcaravel.MarmotCaravelConfig.fir@204535.4]
+  wire  s2_miss; // @[ICache.scala 148:37:shc.marmotcaravel.MarmotCaravelConfig.fir@204536.4]
+  reg  _T_292; // @[ICache.scala 150:45:shc.marmotcaravel.MarmotCaravelConfig.fir@204539.4]
+  reg [31:0] _RAND_13;
+  wire  s2_request_refill; // @[ICache.scala 150:35:shc.marmotcaravel.MarmotCaravelConfig.fir@204541.4]
+  wire  refill_fire; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@204529.4]
+  wire  _T_290; // @[ICache.scala 149:41:shc.marmotcaravel.MarmotCaravelConfig.fir@204537.4]
+  wire  s1_can_request_refill; // @[ICache.scala 149:31:shc.marmotcaravel.MarmotCaravelConfig.fir@204538.4]
+  wire  _T_293; // @[ICache.scala 151:53:shc.marmotcaravel.MarmotCaravelConfig.fir@204542.4]
+  reg [31:0] refill_addr; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@204543.4]
+  reg [31:0] _RAND_14;
+  wire [18:0] refill_tag; // @[ICache.scala 152:31:shc.marmotcaravel.MarmotCaravelConfig.fir@204547.4]
+  wire [6:0] refill_idx; // @[ICache.scala 153:31:shc.marmotcaravel.MarmotCaravelConfig.fir@204548.4]
+  wire  tl_out_d_ready; // @[ICache.scala 163:21:shc.marmotcaravel.MarmotCaravelConfig.fir@204582.4]
+  wire  _T_295; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@204549.4]
+  wire  _T_296; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@204550.4]
+  wire  refill_one_beat; // @[ICache.scala 154:41:shc.marmotcaravel.MarmotCaravelConfig.fir@204551.4]
+  wire  _T_297; // @[ICache.scala 156:37:shc.marmotcaravel.MarmotCaravelConfig.fir@204552.4]
+  wire  _T_298; // @[ICache.scala 156:54:shc.marmotcaravel.MarmotCaravelConfig.fir@204553.4]
+  wire  s0_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@204556.4]
+  wire [26:0] _T_302; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@204560.4]
+  wire [11:0] _T_303; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@204561.4]
+  wire [11:0] _T_304; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@204562.4]
+  wire [9:0] _T_305; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@204563.4]
+  wire [9:0] _T_307; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@204565.4]
+  reg [9:0] _T_309; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@204566.4]
+  reg [31:0] _RAND_15;
+  wire [10:0] _T_310; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@204567.4]
+  wire [10:0] _T_311; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@204568.4]
+  wire [9:0] _T_312; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@204569.4]
+  wire  _T_313; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@204570.4]
+  wire  _T_314; // @[Edges.scala 232:25:shc.marmotcaravel.MarmotCaravelConfig.fir@204571.4]
+  wire  _T_315; // @[Edges.scala 232:47:shc.marmotcaravel.MarmotCaravelConfig.fir@204572.4]
+  wire  _T_316; // @[Edges.scala 232:37:shc.marmotcaravel.MarmotCaravelConfig.fir@204573.4]
+  wire  d_done; // @[Edges.scala 233:22:shc.marmotcaravel.MarmotCaravelConfig.fir@204574.4]
+  wire [9:0] _T_317; // @[Edges.scala 234:27:shc.marmotcaravel.MarmotCaravelConfig.fir@204575.4]
+  wire [9:0] refill_cnt; // @[Edges.scala 234:25:shc.marmotcaravel.MarmotCaravelConfig.fir@204576.4]
+  wire  refill_done; // @[ICache.scala 162:37:shc.marmotcaravel.MarmotCaravelConfig.fir@204581.4]
+  reg [15:0] _T_321; // @[LFSR.scala 22:23:shc.marmotcaravel.MarmotCaravelConfig.fir@204584.4]
+  reg [31:0] _RAND_16;
+  wire  _T_322; // @[LFSR.scala 23:40:shc.marmotcaravel.MarmotCaravelConfig.fir@204586.6]
+  wire  _T_323; // @[LFSR.scala 23:48:shc.marmotcaravel.MarmotCaravelConfig.fir@204587.6]
+  wire  _T_324; // @[LFSR.scala 23:43:shc.marmotcaravel.MarmotCaravelConfig.fir@204588.6]
+  wire  _T_325; // @[LFSR.scala 23:56:shc.marmotcaravel.MarmotCaravelConfig.fir@204589.6]
+  wire  _T_326; // @[LFSR.scala 23:51:shc.marmotcaravel.MarmotCaravelConfig.fir@204590.6]
+  wire  _T_327; // @[LFSR.scala 23:64:shc.marmotcaravel.MarmotCaravelConfig.fir@204591.6]
+  wire  _T_328; // @[LFSR.scala 23:59:shc.marmotcaravel.MarmotCaravelConfig.fir@204592.6]
+  wire [14:0] _T_329; // @[LFSR.scala 23:73:shc.marmotcaravel.MarmotCaravelConfig.fir@204593.6]
+  wire [15:0] _T_330; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@204594.6]
+  wire [7:0] _T_333; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@204599.4]
+  wire  _T_334; // @[ICache.scala 122:77:shc.marmotcaravel.MarmotCaravelConfig.fir@204600.4]
+  wire  _T_335; // @[ICache.scala 122:69:shc.marmotcaravel.MarmotCaravelConfig.fir@204601.4]
+  wire  repl_way; // @[ICache.scala 172:13:shc.marmotcaravel.MarmotCaravelConfig.fir@204603.4]
+  wire [7:0] _T_337; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@204604.4]
+  wire  _T_338; // @[ICache.scala 122:77:shc.marmotcaravel.MarmotCaravelConfig.fir@204605.4]
+  wire  _T_339; // @[ICache.scala 122:69:shc.marmotcaravel.MarmotCaravelConfig.fir@204606.4]
+  wire  _T_340; // @[ICache.scala 174:12:shc.marmotcaravel.MarmotCaravelConfig.fir@204607.4]
+  wire  _T_342; // @[ICache.scala 174:11:shc.marmotcaravel.MarmotCaravelConfig.fir@204609.4]
+  wire  _T_343; // @[ICache.scala 174:11:shc.marmotcaravel.MarmotCaravelConfig.fir@204610.4]
+  wire [6:0] _T_352; // @[ICache.scala 185:42:shc.marmotcaravel.MarmotCaravelConfig.fir@204616.4]
+  wire  _T_353; // @[ICache.scala 185:70:shc.marmotcaravel.MarmotCaravelConfig.fir@204617.4]
+  wire  _T_354; // @[ICache.scala 185:83:shc.marmotcaravel.MarmotCaravelConfig.fir@204618.4]
+  wire  _T_388; // @[ICache.scala 198:75:shc.marmotcaravel.MarmotCaravelConfig.fir@204648.6]
+  wire  _T_389; // @[ICache.scala 198:72:shc.marmotcaravel.MarmotCaravelConfig.fir@204649.6]
+  wire [255:0] _T_390; // @[ICache.scala 198:32:shc.marmotcaravel.MarmotCaravelConfig.fir@204650.6]
+  wire [255:0] _T_391; // @[ICache.scala 198:32:shc.marmotcaravel.MarmotCaravelConfig.fir@204651.6]
+  wire [255:0] _T_392; // @[ICache.scala 198:32:shc.marmotcaravel.MarmotCaravelConfig.fir@204652.6]
+  wire [255:0] _T_393; // @[ICache.scala 198:32:shc.marmotcaravel.MarmotCaravelConfig.fir@204653.6]
+  wire [255:0] _T_394; // @[ICache.scala 198:32:shc.marmotcaravel.MarmotCaravelConfig.fir@204654.6]
+  wire  _T_677; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@204926.6]
+  wire  _T_678; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@204927.6]
+  wire [7:0] _T_681; // @[ICache.scala 130:40:shc.marmotcaravel.MarmotCaravelConfig.fir@204931.8]
+  wire  _T_682; // @[ICache.scala 122:77:shc.marmotcaravel.MarmotCaravelConfig.fir@204932.8]
+  wire  _T_683; // @[ICache.scala 122:69:shc.marmotcaravel.MarmotCaravelConfig.fir@204933.8]
+  wire  _T_684; // @[ICache.scala 321:19:shc.marmotcaravel.MarmotCaravelConfig.fir@204934.8]
+  wire  _GEN_56; // @[ICache.scala 321:65:shc.marmotcaravel.MarmotCaravelConfig.fir@204935.8]
+  wire  _GEN_58; // @[ICache.scala 319:41:shc.marmotcaravel.MarmotCaravelConfig.fir@204928.6]
+  wire  invalidate; // @[ICache.scala 315:30:shc.marmotcaravel.MarmotCaravelConfig.fir@204923.4]
+  reg [31:0] s1s3_slaveData; // @[ICache.scala 213:27:shc.marmotcaravel.MarmotCaravelConfig.fir@204672.4]
+  reg [31:0] _RAND_17;
+  wire  _T_448; // @[package.scala 119:13:shc.marmotcaravel.MarmotCaravelConfig.fir@204701.4]
+  wire  s1_tl_error_0; // @[ICache.scala 227:32:shc.marmotcaravel.MarmotCaravelConfig.fir@204709.4]
+  wire  _T_485; // @[package.scala 119:13:shc.marmotcaravel.MarmotCaravelConfig.fir@204741.4]
+  wire  s1_tl_error_1; // @[ICache.scala 227:32:shc.marmotcaravel.MarmotCaravelConfig.fir@204749.4]
+  wire  _T_494; // @[ICache.scala 230:21:shc.marmotcaravel.MarmotCaravelConfig.fir@204753.4]
+  wire  _T_495; // @[ICache.scala 230:10:shc.marmotcaravel.MarmotCaravelConfig.fir@204754.4]
+  wire [1:0] _T_500; // @[Bitwise.scala 48:55:shc.marmotcaravel.MarmotCaravelConfig.fir@204759.4]
+  wire  _T_501; // @[ICache.scala 230:115:shc.marmotcaravel.MarmotCaravelConfig.fir@204760.4]
+  wire  _T_502; // @[ICache.scala 230:39:shc.marmotcaravel.MarmotCaravelConfig.fir@204761.4]
+  wire  _T_504; // @[ICache.scala 230:9:shc.marmotcaravel.MarmotCaravelConfig.fir@204763.4]
+  wire  _T_505; // @[ICache.scala 230:9:shc.marmotcaravel.MarmotCaravelConfig.fir@204764.4]
+  wire  _T_518; // @[ICache.scala 247:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204774.4]
+  wire  _T_520; // @[ICache.scala 248:32:shc.marmotcaravel.MarmotCaravelConfig.fir@204776.4]
+  wire  _T_523; // @[ICache.scala 248:49:shc.marmotcaravel.MarmotCaravelConfig.fir@204779.4]
+  wire [10:0] _GEN_82; // @[ICache.scala 249:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204780.4]
+  wire [10:0] _T_524; // @[ICache.scala 249:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204780.4]
+  wire [10:0] _GEN_83; // @[ICache.scala 249:79:shc.marmotcaravel.MarmotCaravelConfig.fir@204781.4]
+  wire [10:0] _T_525; // @[ICache.scala 249:79:shc.marmotcaravel.MarmotCaravelConfig.fir@204781.4]
+  wire [10:0] _T_526; // @[ICache.scala 246:31:shc.marmotcaravel.MarmotCaravelConfig.fir@204782.4]
+  wire [10:0] _T_527; // @[ICache.scala 246:31:shc.marmotcaravel.MarmotCaravelConfig.fir@204783.4]
+  wire [10:0] _T_528; // @[ICache.scala 246:31:shc.marmotcaravel.MarmotCaravelConfig.fir@204784.4]
+  wire [10:0] _T_529; // @[ICache.scala 251:22:shc.marmotcaravel.MarmotCaravelConfig.fir@204785.4]
+  wire [10:0] _T_530; // @[ICache.scala 250:22:shc.marmotcaravel.MarmotCaravelConfig.fir@204786.4]
+  wire  _T_535; // @[ICache.scala 255:20:shc.marmotcaravel.MarmotCaravelConfig.fir@204792.6]
+  wire  _T_554; // @[ICache.scala 258:41:shc.marmotcaravel.MarmotCaravelConfig.fir@204807.4]
+  wire  _T_555; // @[ICache.scala 258:46:shc.marmotcaravel.MarmotCaravelConfig.fir@204808.4]
+  wire [31:0] s1_dout_0; // @[ICache.scala 259:71:shc.marmotcaravel.MarmotCaravelConfig.fir@204820.4]
+  wire [31:0] s1_dout_1; // @[ICache.scala 259:71:shc.marmotcaravel.MarmotCaravelConfig.fir@204820.4]
+  reg  s2_tag_hit_0; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@204824.4]
+  reg [31:0] _RAND_18;
+  reg  s2_tag_hit_1; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@204824.4]
+  reg [31:0] _RAND_19;
+  reg [31:0] s2_dout_0; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@204835.4]
+  reg [31:0] _RAND_20;
+  reg [31:0] s2_dout_1; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@204835.4]
+  reg [31:0] _RAND_21;
+  wire [31:0] _T_611; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@204840.4]
+  wire [31:0] _T_612; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@204841.4]
+  wire [31:0] s2_way_mux; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@204842.4]
+  wire [1:0] _T_635; // @[ICache.scala 272:43:shc.marmotcaravel.MarmotCaravelConfig.fir@204852.4]
+  wire  _T_636; // @[ICache.scala 272:50:shc.marmotcaravel.MarmotCaravelConfig.fir@204853.4]
+  reg  s2_tl_error; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@204854.4]
+  reg [31:0] _RAND_22;
+  reg [2:0] _T_671_opcode; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@204906.4]
+  reg [31:0] _RAND_23;
+  wire  _T_672; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@204917.4]
+  wire  _T_673; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@204918.4]
+  reg [3:0] _T_671_mask; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@204906.4]
+  reg [31:0] _RAND_24;
+  reg [1:0] tl_in_d_bits_size; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@204906.4]
+  reg [31:0] _RAND_25;
+  reg [6:0] tl_in_d_bits_source; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@204906.4]
+  reg [31:0] _RAND_26;
+  wire  _T_679; // @[package.scala 119:13:shc.marmotcaravel.MarmotCaravelConfig.fir@204929.8]
+  wire  _T_680; // @[ICache.scala 129:43:shc.marmotcaravel.MarmotCaravelConfig.fir@204930.8]
+  wire [7:0] _GEN_55; // @[ICache.scala 321:65:shc.marmotcaravel.MarmotCaravelConfig.fir@204935.8]
+  wire [7:0] _GEN_57; // @[ICache.scala 319:41:shc.marmotcaravel.MarmotCaravelConfig.fir@204928.6]
+  wire [27:0] _GEN_60; // @[ICache.scala 315:30:shc.marmotcaravel.MarmotCaravelConfig.fir@204923.4]
+  wire [7:0] _GEN_62; // @[ICache.scala 315:30:shc.marmotcaravel.MarmotCaravelConfig.fir@204923.4]
+  wire  _T_699; // @[ICache.scala 340:16:shc.marmotcaravel.MarmotCaravelConfig.fir@204956.4]
+  reg [31:0] _T_701; // @[ICache.scala 340:44:shc.marmotcaravel.MarmotCaravelConfig.fir@204957.4]
+  reg [31:0] _RAND_27;
+  reg [31:0] _T_703; // @[ICache.scala 340:36:shc.marmotcaravel.MarmotCaravelConfig.fir@204959.4]
+  reg [31:0] _RAND_28;
+  wire  _T_704; // @[ICache.scala 340:56:shc.marmotcaravel.MarmotCaravelConfig.fir@204961.4]
+  wire  _T_705; // @[ICache.scala 340:26:shc.marmotcaravel.MarmotCaravelConfig.fir@204962.4]
+  wire  _T_707; // @[ICache.scala 340:15:shc.marmotcaravel.MarmotCaravelConfig.fir@204964.4]
+  wire  _T_708; // @[ICache.scala 340:15:shc.marmotcaravel.MarmotCaravelConfig.fir@204965.4]
+  wire  _T_720; // @[ICache.scala 352:53:shc.marmotcaravel.MarmotCaravelConfig.fir@204986.4]
+  wire  _T_721; // @[ICache.scala 352:50:shc.marmotcaravel.MarmotCaravelConfig.fir@204987.4]
+  wire  _T_722; // @[ICache.scala 352:36:shc.marmotcaravel.MarmotCaravelConfig.fir@204988.4]
+  wire  _T_734; // @[ICache.scala 356:72:shc.marmotcaravel.MarmotCaravelConfig.fir@205007.6]
+  wire  _T_735; // @[ICache.scala 356:60:shc.marmotcaravel.MarmotCaravelConfig.fir@205008.6]
+  wire  _T_736; // @[ICache.scala 356:32:shc.marmotcaravel.MarmotCaravelConfig.fir@205009.6]
+  wire [31:0] _T_737; // @[ICache.scala 357:62:shc.marmotcaravel.MarmotCaravelConfig.fir@205010.6]
+  wire [7:0] _T_738; // @[ICache.scala 357:116:shc.marmotcaravel.MarmotCaravelConfig.fir@205011.6]
+  wire  _T_741; // @[ICache.scala 356:72:shc.marmotcaravel.MarmotCaravelConfig.fir@205014.6]
+  wire  _T_742; // @[ICache.scala 356:60:shc.marmotcaravel.MarmotCaravelConfig.fir@205015.6]
+  wire  _T_743; // @[ICache.scala 356:32:shc.marmotcaravel.MarmotCaravelConfig.fir@205016.6]
+  wire [31:0] _T_744; // @[ICache.scala 357:62:shc.marmotcaravel.MarmotCaravelConfig.fir@205017.6]
+  wire [7:0] _T_745; // @[ICache.scala 357:116:shc.marmotcaravel.MarmotCaravelConfig.fir@205018.6]
+  wire  _T_748; // @[ICache.scala 356:72:shc.marmotcaravel.MarmotCaravelConfig.fir@205021.6]
+  wire  _T_749; // @[ICache.scala 356:60:shc.marmotcaravel.MarmotCaravelConfig.fir@205022.6]
+  wire  _T_750; // @[ICache.scala 356:32:shc.marmotcaravel.MarmotCaravelConfig.fir@205023.6]
+  wire [31:0] _T_751; // @[ICache.scala 357:62:shc.marmotcaravel.MarmotCaravelConfig.fir@205024.6]
+  wire [7:0] _T_752; // @[ICache.scala 357:116:shc.marmotcaravel.MarmotCaravelConfig.fir@205025.6]
+  wire  _T_755; // @[ICache.scala 356:72:shc.marmotcaravel.MarmotCaravelConfig.fir@205028.6]
+  wire  _T_756; // @[ICache.scala 356:60:shc.marmotcaravel.MarmotCaravelConfig.fir@205029.6]
+  wire  _T_757; // @[ICache.scala 356:32:shc.marmotcaravel.MarmotCaravelConfig.fir@205030.6]
+  wire [31:0] _T_758; // @[ICache.scala 357:62:shc.marmotcaravel.MarmotCaravelConfig.fir@205031.6]
+  wire [7:0] _T_759; // @[ICache.scala 357:116:shc.marmotcaravel.MarmotCaravelConfig.fir@205032.6]
+  wire [15:0] _T_760; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@205033.6]
+  wire [15:0] _T_761; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@205034.6]
+  wire [31:0] _T_762; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@205035.6]
+  wire [25:0] _T_776; // @[ICache.scala 381:46:shc.marmotcaravel.MarmotCaravelConfig.fir@205074.4]
+  wire [31:0] _GEN_89; // @[ICache.scala 381:63:shc.marmotcaravel.MarmotCaravelConfig.fir@205075.4]
+  wire [31:0] tl_out_a_bits_address; // @[ICache.scala 381:63:shc.marmotcaravel.MarmotCaravelConfig.fir@205075.4]
+  wire  _T_883; // @[ICache.scala 126:75:shc.marmotcaravel.MarmotCaravelConfig.fir@205193.4]
+  wire  _T_886; // @[ICache.scala 126:91:shc.marmotcaravel.MarmotCaravelConfig.fir@205196.4]
+  wire  _T_887; // @[ICache.scala 126:83:shc.marmotcaravel.MarmotCaravelConfig.fir@205197.4]
+  wire  _T_888; // @[ICache.scala 416:27:shc.marmotcaravel.MarmotCaravelConfig.fir@205198.4]
+  wire  _T_889; // @[ICache.scala 416:10:shc.marmotcaravel.MarmotCaravelConfig.fir@205199.4]
+  wire  _T_891; // @[ICache.scala 416:9:shc.marmotcaravel.MarmotCaravelConfig.fir@205201.4]
+  wire  _T_892; // @[ICache.scala 416:9:shc.marmotcaravel.MarmotCaravelConfig.fir@205202.4]
+  wire  _T_893; // @[ICache.scala 418:9:shc.marmotcaravel.MarmotCaravelConfig.fir@205207.4]
+  wire  _T_894; // @[ICache.scala 424:32:shc.marmotcaravel.MarmotCaravelConfig.fir@205218.4]
+  wire  _T_895; // @[ICache.scala 424:46:shc.marmotcaravel.MarmotCaravelConfig.fir@205219.4]
+  wire  _T_896; // @[ICache.scala 424:63:shc.marmotcaravel.MarmotCaravelConfig.fir@205220.4]
+  wire  _T_897; // @[ICache.scala 424:80:shc.marmotcaravel.MarmotCaravelConfig.fir@205221.4]
+  wire  _T_898; // @[ICache.scala 424:117:shc.marmotcaravel.MarmotCaravelConfig.fir@205222.4]
+  wire  _T_899; // @[ICache.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@205223.4]
+  tag_array tag_array ( // @[DescribedSRAM.scala 23:21:shc.marmotcaravel.MarmotCaravelConfig.fir@204615.4]
+    .RW0_addr(tag_array_RW0_addr),
+    .RW0_en(tag_array_RW0_en),
+    .RW0_clk(tag_array_RW0_clk),
+    .RW0_wmode(tag_array_RW0_wmode),
+    .RW0_wdata_0(tag_array_RW0_wdata_0),
+    .RW0_wdata_1(tag_array_RW0_wdata_1),
+    .RW0_rdata_0(tag_array_RW0_rdata_0),
+    .RW0_rdata_1(tag_array_RW0_rdata_1),
+    .RW0_wmask_0(tag_array_RW0_wmask_0),
+    .RW0_wmask_1(tag_array_RW0_wmask_1),
+    .tag_array_ext_RW0_addr(tag_array_ext_RW0_addr),
+    .tag_array_ext_RW0_en(tag_array_ext_RW0_en),
+    .tag_array_ext_RW0_clk(tag_array_ext_RW0_clk),
+    .tag_array_ext_RW0_wmode(tag_array_ext_RW0_wmode),
+    .tag_array_ext_RW0_wdata(tag_array_ext_RW0_wdata),
+    .tag_array_ext_RW0_rdata(tag_array_ext_RW0_rdata),
+    .tag_array_ext_RW0_wmask(tag_array_ext_RW0_wmask)
+  );
+  data_arrays_0_0 data_arrays_0 ( // @[DescribedSRAM.scala 23:21:shc.marmotcaravel.MarmotCaravelConfig.fir@204769.4]
+    .RW0_addr(data_arrays_0_RW0_addr),
+    .RW0_en(data_arrays_0_RW0_en),
+    .RW0_clk(data_arrays_0_RW0_clk),
+    .RW0_wmode(data_arrays_0_RW0_wmode),
+    .RW0_wdata_0(data_arrays_0_RW0_wdata_0),
+    .RW0_wdata_1(data_arrays_0_RW0_wdata_1),
+    .RW0_rdata_0(data_arrays_0_RW0_rdata_0),
+    .RW0_rdata_1(data_arrays_0_RW0_rdata_1),
+    .RW0_wmask_0(data_arrays_0_RW0_wmask_0),
+    .RW0_wmask_1(data_arrays_0_RW0_wmask_1),
+    .data_arrays_0_0_ext_RW0_addr(data_arrays_0_0_ext_RW0_addr),
+    .data_arrays_0_0_ext_RW0_en(data_arrays_0_0_ext_RW0_en),
+    .data_arrays_0_0_ext_RW0_clk(data_arrays_0_0_ext_RW0_clk),
+    .data_arrays_0_0_ext_RW0_wmode(data_arrays_0_0_ext_RW0_wmode),
+    .data_arrays_0_0_ext_RW0_wdata(data_arrays_0_0_ext_RW0_wdata),
+    .data_arrays_0_0_ext_RW0_rdata(data_arrays_0_0_ext_RW0_rdata),
+    .data_arrays_0_0_ext_RW0_wmask(data_arrays_0_0_ext_RW0_wmask)
+  );
+  assign _T_663 = auto_master_out_d_valid | s1_slaveValid; // @[ICache.scala 312:40:shc.marmotcaravel.MarmotCaravelConfig.fir@204898.4]
+  assign _T_664 = _T_663 | s2_slaveValid; // @[ICache.scala 312:57:shc.marmotcaravel.MarmotCaravelConfig.fir@204899.4]
+  assign _T_665 = _T_664 | s3_slaveValid; // @[ICache.scala 312:74:shc.marmotcaravel.MarmotCaravelConfig.fir@204900.4]
+  assign _T_666 = _T_665 | tl_in_d_valid; // @[ICache.scala 312:91:shc.marmotcaravel.MarmotCaravelConfig.fir@204901.4]
+  assign _T_667 = io_clock_enabled == 1'h0; // @[ICache.scala 312:107:shc.marmotcaravel.MarmotCaravelConfig.fir@204902.4]
+  assign _T_668 = _T_666 | _T_667; // @[ICache.scala 312:104:shc.marmotcaravel.MarmotCaravelConfig.fir@204903.4]
+  assign tl_in_a_ready = _T_668 == 1'h0; // @[ICache.scala 312:23:shc.marmotcaravel.MarmotCaravelConfig.fir@204904.4]
+  assign s0_slaveValid = tl_in_a_ready & auto_slave_in_a_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@204502.4]
+  assign _T_420 = io_s1_paddr[12:6]; // @[ICache.scala 216:29:shc.marmotcaravel.MarmotCaravelConfig.fir@204673.4]
+  assign _T_443 = {1'h0,_T_420}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@204696.4]
+  assign _T_444 = vb_array >> _T_443; // @[ICache.scala 222:25:shc.marmotcaravel.MarmotCaravelConfig.fir@204697.4]
+  assign _T_445 = _T_444[0]; // @[ICache.scala 222:25:shc.marmotcaravel.MarmotCaravelConfig.fir@204698.4]
+  assign _T_446 = s1_slaveValid == 1'h0; // @[ICache.scala 222:51:shc.marmotcaravel.MarmotCaravelConfig.fir@204699.4]
+  assign _T_447 = _T_445 & _T_446; // @[ICache.scala 222:48:shc.marmotcaravel.MarmotCaravelConfig.fir@204700.4]
+  assign _T_449 = tag_array_RW0_rdata_0[18:0]; // @[package.scala 119:13:shc.marmotcaravel.MarmotCaravelConfig.fir@204702.4]
+  assign _T_421 = io_s1_paddr[31:13]; // @[ICache.scala 217:29:shc.marmotcaravel.MarmotCaravelConfig.fir@204674.4]
+  assign _T_450 = _T_449 == _T_421; // @[ICache.scala 225:33:shc.marmotcaravel.MarmotCaravelConfig.fir@204703.4]
+  assign _T_451 = _T_447 & _T_450; // @[ICache.scala 225:26:shc.marmotcaravel.MarmotCaravelConfig.fir@204704.4]
+  assign _T_423 = s1s3_slaveAddr[13:6]; // @[ICache.scala 130:40:shc.marmotcaravel.MarmotCaravelConfig.fir@204676.4]
+  assign _GEN_75 = {{1'd0}, scratchpadMax}; // @[ICache.scala 122:77:shc.marmotcaravel.MarmotCaravelConfig.fir@204677.4]
+  assign _T_424 = _T_423 <= _GEN_75; // @[ICache.scala 122:77:shc.marmotcaravel.MarmotCaravelConfig.fir@204677.4]
+  assign _T_425 = scratchpadOn & _T_424; // @[ICache.scala 122:69:shc.marmotcaravel.MarmotCaravelConfig.fir@204678.4]
+  assign _T_426 = s1s3_slaveAddr[13]; // @[package.scala 119:13:shc.marmotcaravel.MarmotCaravelConfig.fir@204679.4]
+  assign _T_427 = _T_426 == 1'h0; // @[ICache.scala 220:91:shc.marmotcaravel.MarmotCaravelConfig.fir@204680.4]
+  assign _T_428 = _T_425 & _T_427; // @[ICache.scala 220:58:shc.marmotcaravel.MarmotCaravelConfig.fir@204681.4]
+  assign _T_429 = io_s1_paddr >= 32'h8000000; // @[ICache.scala 126:75:shc.marmotcaravel.MarmotCaravelConfig.fir@204682.4]
+  assign _T_432 = io_s1_paddr < 32'h8004000; // @[ICache.scala 126:91:shc.marmotcaravel.MarmotCaravelConfig.fir@204685.4]
+  assign _T_433 = _T_429 & _T_432; // @[ICache.scala 126:83:shc.marmotcaravel.MarmotCaravelConfig.fir@204686.4]
+  assign _T_434 = io_s1_paddr[13:6]; // @[ICache.scala 127:90:shc.marmotcaravel.MarmotCaravelConfig.fir@204687.4]
+  assign _T_435 = _T_434 <= _GEN_75; // @[ICache.scala 122:77:shc.marmotcaravel.MarmotCaravelConfig.fir@204688.4]
+  assign _T_436 = scratchpadOn & _T_435; // @[ICache.scala 122:69:shc.marmotcaravel.MarmotCaravelConfig.fir@204689.4]
+  assign _T_437 = _T_433 & _T_436; // @[ICache.scala 127:66:shc.marmotcaravel.MarmotCaravelConfig.fir@204690.4]
+  assign _T_438 = io_s1_paddr[13]; // @[package.scala 119:13:shc.marmotcaravel.MarmotCaravelConfig.fir@204691.4]
+  assign _T_439 = _T_438 == 1'h0; // @[ICache.scala 221:69:shc.marmotcaravel.MarmotCaravelConfig.fir@204692.4]
+  assign _T_440 = _T_437 & _T_439; // @[ICache.scala 221:39:shc.marmotcaravel.MarmotCaravelConfig.fir@204693.4]
+  assign _T_441 = s1_slaveValid ? _T_428 : _T_440; // @[ICache.scala 219:10:shc.marmotcaravel.MarmotCaravelConfig.fir@204694.4]
+  assign s1_tag_hit_0 = _T_451 | _T_441; // @[ICache.scala 228:31:shc.marmotcaravel.MarmotCaravelConfig.fir@204711.4]
+  assign _T_480 = {1'h1,_T_420}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@204736.4]
+  assign _T_481 = vb_array >> _T_480; // @[ICache.scala 222:25:shc.marmotcaravel.MarmotCaravelConfig.fir@204737.4]
+  assign _T_482 = _T_481[0]; // @[ICache.scala 222:25:shc.marmotcaravel.MarmotCaravelConfig.fir@204738.4]
+  assign _T_484 = _T_482 & _T_446; // @[ICache.scala 222:48:shc.marmotcaravel.MarmotCaravelConfig.fir@204740.4]
+  assign _T_486 = tag_array_RW0_rdata_1[18:0]; // @[package.scala 119:13:shc.marmotcaravel.MarmotCaravelConfig.fir@204742.4]
+  assign _T_487 = _T_486 == _T_421; // @[ICache.scala 225:33:shc.marmotcaravel.MarmotCaravelConfig.fir@204743.4]
+  assign s1_tag_hit_1 = _T_484 & _T_487; // @[ICache.scala 225:26:shc.marmotcaravel.MarmotCaravelConfig.fir@204744.4]
+  assign _T_270 = s1_tag_hit_0 | s1_tag_hit_1; // @[ICache.scala 138:35:shc.marmotcaravel.MarmotCaravelConfig.fir@204512.4]
+  assign _T_276 = s1_slaveValid ? 1'h1 : _T_433; // @[ICache.scala 138:46:shc.marmotcaravel.MarmotCaravelConfig.fir@204518.4]
+  assign s1_hit = _T_270 | _T_276; // @[ICache.scala 138:40:shc.marmotcaravel.MarmotCaravelConfig.fir@204519.4]
+  assign _T_277 = io_s1_kill == 1'h0; // @[ICache.scala 140:38:shc.marmotcaravel.MarmotCaravelConfig.fir@204520.4]
+  assign _T_278 = s1_valid & _T_277; // @[ICache.scala 140:35:shc.marmotcaravel.MarmotCaravelConfig.fir@204521.4]
+  assign _T_287 = s2_hit == 1'h0; // @[ICache.scala 148:29:shc.marmotcaravel.MarmotCaravelConfig.fir@204533.4]
+  assign _T_288 = s2_valid & _T_287; // @[ICache.scala 148:26:shc.marmotcaravel.MarmotCaravelConfig.fir@204534.4]
+  assign _T_289 = io_s2_kill == 1'h0; // @[ICache.scala 148:40:shc.marmotcaravel.MarmotCaravelConfig.fir@204535.4]
+  assign s2_miss = _T_288 & _T_289; // @[ICache.scala 148:37:shc.marmotcaravel.MarmotCaravelConfig.fir@204536.4]
+  assign s2_request_refill = s2_miss & _T_292; // @[ICache.scala 150:35:shc.marmotcaravel.MarmotCaravelConfig.fir@204541.4]
+  assign refill_fire = auto_master_out_a_ready & s2_request_refill; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@204529.4]
+  assign _T_290 = s2_miss | refill_valid; // @[ICache.scala 149:41:shc.marmotcaravel.MarmotCaravelConfig.fir@204537.4]
+  assign s1_can_request_refill = _T_290 == 1'h0; // @[ICache.scala 149:31:shc.marmotcaravel.MarmotCaravelConfig.fir@204538.4]
+  assign _T_293 = s1_valid & s1_can_request_refill; // @[ICache.scala 151:53:shc.marmotcaravel.MarmotCaravelConfig.fir@204542.4]
+  assign refill_tag = refill_addr[31:13]; // @[ICache.scala 152:31:shc.marmotcaravel.MarmotCaravelConfig.fir@204547.4]
+  assign refill_idx = refill_addr[12:6]; // @[ICache.scala 153:31:shc.marmotcaravel.MarmotCaravelConfig.fir@204548.4]
+  assign tl_out_d_ready = s3_slaveValid == 1'h0; // @[ICache.scala 163:21:shc.marmotcaravel.MarmotCaravelConfig.fir@204582.4]
+  assign _T_295 = tl_out_d_ready & auto_master_out_d_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@204549.4]
+  assign _T_296 = auto_master_out_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@204550.4]
+  assign refill_one_beat = _T_295 & _T_296; // @[ICache.scala 154:41:shc.marmotcaravel.MarmotCaravelConfig.fir@204551.4]
+  assign _T_297 = refill_one_beat | s0_slaveValid; // @[ICache.scala 156:37:shc.marmotcaravel.MarmotCaravelConfig.fir@204552.4]
+  assign _T_298 = _T_297 | s3_slaveValid; // @[ICache.scala 156:54:shc.marmotcaravel.MarmotCaravelConfig.fir@204553.4]
+  assign s0_valid = io_req_ready & io_req_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@204556.4]
+  assign _T_302 = 27'hfff << auto_master_out_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@204560.4]
+  assign _T_303 = _T_302[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@204561.4]
+  assign _T_304 = ~ _T_303; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@204562.4]
+  assign _T_305 = _T_304[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@204563.4]
+  assign _T_307 = _T_296 ? _T_305 : 10'h0; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@204565.4]
+  assign _T_310 = _T_309 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@204567.4]
+  assign _T_311 = $unsigned(_T_310); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@204568.4]
+  assign _T_312 = _T_311[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@204569.4]
+  assign _T_313 = _T_309 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@204570.4]
+  assign _T_314 = _T_309 == 10'h1; // @[Edges.scala 232:25:shc.marmotcaravel.MarmotCaravelConfig.fir@204571.4]
+  assign _T_315 = _T_307 == 10'h0; // @[Edges.scala 232:47:shc.marmotcaravel.MarmotCaravelConfig.fir@204572.4]
+  assign _T_316 = _T_314 | _T_315; // @[Edges.scala 232:37:shc.marmotcaravel.MarmotCaravelConfig.fir@204573.4]
+  assign d_done = _T_316 & _T_295; // @[Edges.scala 233:22:shc.marmotcaravel.MarmotCaravelConfig.fir@204574.4]
+  assign _T_317 = ~ _T_312; // @[Edges.scala 234:27:shc.marmotcaravel.MarmotCaravelConfig.fir@204575.4]
+  assign refill_cnt = _T_307 & _T_317; // @[Edges.scala 234:25:shc.marmotcaravel.MarmotCaravelConfig.fir@204576.4]
+  assign refill_done = refill_one_beat & d_done; // @[ICache.scala 162:37:shc.marmotcaravel.MarmotCaravelConfig.fir@204581.4]
+  assign _T_322 = _T_321[0]; // @[LFSR.scala 23:40:shc.marmotcaravel.MarmotCaravelConfig.fir@204586.6]
+  assign _T_323 = _T_321[2]; // @[LFSR.scala 23:48:shc.marmotcaravel.MarmotCaravelConfig.fir@204587.6]
+  assign _T_324 = _T_322 ^ _T_323; // @[LFSR.scala 23:43:shc.marmotcaravel.MarmotCaravelConfig.fir@204588.6]
+  assign _T_325 = _T_321[3]; // @[LFSR.scala 23:56:shc.marmotcaravel.MarmotCaravelConfig.fir@204589.6]
+  assign _T_326 = _T_324 ^ _T_325; // @[LFSR.scala 23:51:shc.marmotcaravel.MarmotCaravelConfig.fir@204590.6]
+  assign _T_327 = _T_321[5]; // @[LFSR.scala 23:64:shc.marmotcaravel.MarmotCaravelConfig.fir@204591.6]
+  assign _T_328 = _T_326 ^ _T_327; // @[LFSR.scala 23:59:shc.marmotcaravel.MarmotCaravelConfig.fir@204592.6]
+  assign _T_329 = _T_321[15:1]; // @[LFSR.scala 23:73:shc.marmotcaravel.MarmotCaravelConfig.fir@204593.6]
+  assign _T_330 = {_T_328,_T_329}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@204594.6]
+  assign _T_333 = {_T_322,refill_idx}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@204599.4]
+  assign _T_334 = _T_333 <= _GEN_75; // @[ICache.scala 122:77:shc.marmotcaravel.MarmotCaravelConfig.fir@204600.4]
+  assign _T_335 = scratchpadOn & _T_334; // @[ICache.scala 122:69:shc.marmotcaravel.MarmotCaravelConfig.fir@204601.4]
+  assign repl_way = _T_322 | _T_335; // @[ICache.scala 172:13:shc.marmotcaravel.MarmotCaravelConfig.fir@204603.4]
+  assign _T_337 = {repl_way,refill_idx}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@204604.4]
+  assign _T_338 = _T_337 <= _GEN_75; // @[ICache.scala 122:77:shc.marmotcaravel.MarmotCaravelConfig.fir@204605.4]
+  assign _T_339 = scratchpadOn & _T_338; // @[ICache.scala 122:69:shc.marmotcaravel.MarmotCaravelConfig.fir@204606.4]
+  assign _T_340 = _T_339 == 1'h0; // @[ICache.scala 174:12:shc.marmotcaravel.MarmotCaravelConfig.fir@204607.4]
+  assign _T_342 = _T_340 | reset; // @[ICache.scala 174:11:shc.marmotcaravel.MarmotCaravelConfig.fir@204609.4]
+  assign _T_343 = _T_342 == 1'h0; // @[ICache.scala 174:11:shc.marmotcaravel.MarmotCaravelConfig.fir@204610.4]
+  assign _T_352 = io_req_bits_addr[12:6]; // @[ICache.scala 185:42:shc.marmotcaravel.MarmotCaravelConfig.fir@204616.4]
+  assign _T_353 = refill_done == 1'h0; // @[ICache.scala 185:70:shc.marmotcaravel.MarmotCaravelConfig.fir@204617.4]
+  assign _T_354 = _T_353 & s0_valid; // @[ICache.scala 185:83:shc.marmotcaravel.MarmotCaravelConfig.fir@204618.4]
+  assign _T_388 = invalidated == 1'h0; // @[ICache.scala 198:75:shc.marmotcaravel.MarmotCaravelConfig.fir@204648.6]
+  assign _T_389 = refill_done & _T_388; // @[ICache.scala 198:72:shc.marmotcaravel.MarmotCaravelConfig.fir@204649.6]
+  assign _T_390 = 256'h1 << _T_337; // @[ICache.scala 198:32:shc.marmotcaravel.MarmotCaravelConfig.fir@204650.6]
+  assign _T_391 = vb_array | _T_390; // @[ICache.scala 198:32:shc.marmotcaravel.MarmotCaravelConfig.fir@204651.6]
+  assign _T_392 = ~ vb_array; // @[ICache.scala 198:32:shc.marmotcaravel.MarmotCaravelConfig.fir@204652.6]
+  assign _T_393 = _T_392 | _T_390; // @[ICache.scala 198:32:shc.marmotcaravel.MarmotCaravelConfig.fir@204653.6]
+  assign _T_394 = ~ _T_393; // @[ICache.scala 198:32:shc.marmotcaravel.MarmotCaravelConfig.fir@204654.6]
+  assign _T_677 = auto_slave_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@204926.6]
+  assign _T_678 = _T_677 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@204927.6]
+  assign _T_681 = auto_slave_in_a_bits_address[13:6]; // @[ICache.scala 130:40:shc.marmotcaravel.MarmotCaravelConfig.fir@204931.8]
+  assign _T_682 = _T_681 <= _GEN_75; // @[ICache.scala 122:77:shc.marmotcaravel.MarmotCaravelConfig.fir@204932.8]
+  assign _T_683 = scratchpadOn & _T_682; // @[ICache.scala 122:69:shc.marmotcaravel.MarmotCaravelConfig.fir@204933.8]
+  assign _T_684 = _T_683 == 1'h0; // @[ICache.scala 321:19:shc.marmotcaravel.MarmotCaravelConfig.fir@204934.8]
+  assign _GEN_56 = _T_684 ? 1'h1 : io_invalidate; // @[ICache.scala 321:65:shc.marmotcaravel.MarmotCaravelConfig.fir@204935.8]
+  assign _GEN_58 = _T_678 ? _GEN_56 : io_invalidate; // @[ICache.scala 319:41:shc.marmotcaravel.MarmotCaravelConfig.fir@204928.6]
+  assign invalidate = s0_slaveValid ? _GEN_58 : io_invalidate; // @[ICache.scala 315:30:shc.marmotcaravel.MarmotCaravelConfig.fir@204923.4]
+  assign _T_448 = tag_array_RW0_rdata_0[19]; // @[package.scala 119:13:shc.marmotcaravel.MarmotCaravelConfig.fir@204701.4]
+  assign s1_tl_error_0 = _T_451 & _T_448; // @[ICache.scala 227:32:shc.marmotcaravel.MarmotCaravelConfig.fir@204709.4]
+  assign _T_485 = tag_array_RW0_rdata_1[19]; // @[package.scala 119:13:shc.marmotcaravel.MarmotCaravelConfig.fir@204741.4]
+  assign s1_tl_error_1 = s1_tag_hit_1 & _T_485; // @[ICache.scala 227:32:shc.marmotcaravel.MarmotCaravelConfig.fir@204749.4]
+  assign _T_494 = s1_valid | s1_slaveValid; // @[ICache.scala 230:21:shc.marmotcaravel.MarmotCaravelConfig.fir@204753.4]
+  assign _T_495 = _T_494 == 1'h0; // @[ICache.scala 230:10:shc.marmotcaravel.MarmotCaravelConfig.fir@204754.4]
+  assign _T_500 = s1_tag_hit_0 + s1_tag_hit_1; // @[Bitwise.scala 48:55:shc.marmotcaravel.MarmotCaravelConfig.fir@204759.4]
+  assign _T_501 = _T_500 <= 2'h1; // @[ICache.scala 230:115:shc.marmotcaravel.MarmotCaravelConfig.fir@204760.4]
+  assign _T_502 = _T_495 | _T_501; // @[ICache.scala 230:39:shc.marmotcaravel.MarmotCaravelConfig.fir@204761.4]
+  assign _T_504 = _T_502 | reset; // @[ICache.scala 230:9:shc.marmotcaravel.MarmotCaravelConfig.fir@204763.4]
+  assign _T_505 = _T_504 == 1'h0; // @[ICache.scala 230:9:shc.marmotcaravel.MarmotCaravelConfig.fir@204764.4]
+  assign _T_518 = s0_valid | s0_slaveValid; // @[ICache.scala 247:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204774.4]
+  assign _T_520 = refill_one_beat & _T_388; // @[ICache.scala 248:32:shc.marmotcaravel.MarmotCaravelConfig.fir@204776.4]
+  assign _T_523 = _T_520 | s3_slaveValid; // @[ICache.scala 248:49:shc.marmotcaravel.MarmotCaravelConfig.fir@204779.4]
+  assign _GEN_82 = {{4'd0}, refill_idx}; // @[ICache.scala 249:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204780.4]
+  assign _T_524 = _GEN_82 << 4; // @[ICache.scala 249:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204780.4]
+  assign _GEN_83 = {{1'd0}, refill_cnt}; // @[ICache.scala 249:79:shc.marmotcaravel.MarmotCaravelConfig.fir@204781.4]
+  assign _T_525 = _T_524 | _GEN_83; // @[ICache.scala 249:79:shc.marmotcaravel.MarmotCaravelConfig.fir@204781.4]
+  assign _T_526 = s1s3_slaveAddr[12:2]; // @[ICache.scala 246:31:shc.marmotcaravel.MarmotCaravelConfig.fir@204782.4]
+  assign _T_527 = auto_slave_in_a_bits_address[12:2]; // @[ICache.scala 246:31:shc.marmotcaravel.MarmotCaravelConfig.fir@204783.4]
+  assign _T_528 = io_req_bits_addr[12:2]; // @[ICache.scala 246:31:shc.marmotcaravel.MarmotCaravelConfig.fir@204784.4]
+  assign _T_529 = s0_slaveValid ? _T_527 : _T_528; // @[ICache.scala 251:22:shc.marmotcaravel.MarmotCaravelConfig.fir@204785.4]
+  assign _T_530 = s3_slaveValid ? _T_526 : _T_529; // @[ICache.scala 250:22:shc.marmotcaravel.MarmotCaravelConfig.fir@204786.4]
+  assign _T_535 = s3_slaveValid ? _T_426 : repl_way; // @[ICache.scala 255:20:shc.marmotcaravel.MarmotCaravelConfig.fir@204792.6]
+  assign _T_554 = _T_523 == 1'h0; // @[ICache.scala 258:41:shc.marmotcaravel.MarmotCaravelConfig.fir@204807.4]
+  assign _T_555 = _T_554 & _T_518; // @[ICache.scala 258:46:shc.marmotcaravel.MarmotCaravelConfig.fir@204808.4]
+  assign s1_dout_0 = data_arrays_0_RW0_rdata_0; // @[ICache.scala 259:71:shc.marmotcaravel.MarmotCaravelConfig.fir@204820.4]
+  assign s1_dout_1 = data_arrays_0_RW0_rdata_1; // @[ICache.scala 259:71:shc.marmotcaravel.MarmotCaravelConfig.fir@204820.4]
+  assign _T_611 = s2_tag_hit_0 ? s2_dout_0 : 32'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@204840.4]
+  assign _T_612 = s2_tag_hit_1 ? s2_dout_1 : 32'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@204841.4]
+  assign s2_way_mux = _T_611 | _T_612; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@204842.4]
+  assign _T_635 = {s1_tl_error_1,s1_tl_error_0}; // @[ICache.scala 272:43:shc.marmotcaravel.MarmotCaravelConfig.fir@204852.4]
+  assign _T_636 = _T_635 != 2'h0; // @[ICache.scala 272:50:shc.marmotcaravel.MarmotCaravelConfig.fir@204853.4]
+  assign _T_672 = _T_671_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@204917.4]
+  assign _T_673 = _T_672 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@204918.4]
+  assign _T_679 = auto_slave_in_a_bits_address[13]; // @[package.scala 119:13:shc.marmotcaravel.MarmotCaravelConfig.fir@204929.8]
+  assign _T_680 = _T_679 < 1'h1; // @[ICache.scala 129:43:shc.marmotcaravel.MarmotCaravelConfig.fir@204930.8]
+  assign _GEN_55 = _T_684 ? _T_681 : {{1'd0}, scratchpadMax}; // @[ICache.scala 321:65:shc.marmotcaravel.MarmotCaravelConfig.fir@204935.8]
+  assign _GEN_57 = _T_678 ? _GEN_55 : {{1'd0}, scratchpadMax}; // @[ICache.scala 319:41:shc.marmotcaravel.MarmotCaravelConfig.fir@204928.6]
+  assign _GEN_60 = s0_slaveValid ? auto_slave_in_a_bits_address : {{14'd0}, s1s3_slaveAddr}; // @[ICache.scala 315:30:shc.marmotcaravel.MarmotCaravelConfig.fir@204923.4]
+  assign _GEN_62 = s0_slaveValid ? _GEN_57 : {{1'd0}, scratchpadMax}; // @[ICache.scala 315:30:shc.marmotcaravel.MarmotCaravelConfig.fir@204923.4]
+  assign _T_699 = s2_valid == 1'h0; // @[ICache.scala 340:16:shc.marmotcaravel.MarmotCaravelConfig.fir@204956.4]
+  assign _T_704 = _T_703 == io_s2_vaddr; // @[ICache.scala 340:56:shc.marmotcaravel.MarmotCaravelConfig.fir@204961.4]
+  assign _T_705 = _T_699 | _T_704; // @[ICache.scala 340:26:shc.marmotcaravel.MarmotCaravelConfig.fir@204962.4]
+  assign _T_707 = _T_705 | reset; // @[ICache.scala 340:15:shc.marmotcaravel.MarmotCaravelConfig.fir@204964.4]
+  assign _T_708 = _T_707 == 1'h0; // @[ICache.scala 340:15:shc.marmotcaravel.MarmotCaravelConfig.fir@204965.4]
+  assign _T_720 = auto_slave_in_d_ready == 1'h0; // @[ICache.scala 352:53:shc.marmotcaravel.MarmotCaravelConfig.fir@204986.4]
+  assign _T_721 = tl_in_d_valid & _T_720; // @[ICache.scala 352:50:shc.marmotcaravel.MarmotCaravelConfig.fir@204987.4]
+  assign _T_722 = s2_slaveValid | _T_721; // @[ICache.scala 352:36:shc.marmotcaravel.MarmotCaravelConfig.fir@204988.4]
+  assign _T_734 = _T_671_mask[0]; // @[ICache.scala 356:72:shc.marmotcaravel.MarmotCaravelConfig.fir@205007.6]
+  assign _T_735 = _T_673 & _T_734; // @[ICache.scala 356:60:shc.marmotcaravel.MarmotCaravelConfig.fir@205008.6]
+  assign _T_736 = _T_735 == 1'h0; // @[ICache.scala 356:32:shc.marmotcaravel.MarmotCaravelConfig.fir@205009.6]
+  assign _T_737 = _T_736 ? s2_way_mux : s1s3_slaveData; // @[ICache.scala 357:62:shc.marmotcaravel.MarmotCaravelConfig.fir@205010.6]
+  assign _T_738 = _T_737[7:0]; // @[ICache.scala 357:116:shc.marmotcaravel.MarmotCaravelConfig.fir@205011.6]
+  assign _T_741 = _T_671_mask[1]; // @[ICache.scala 356:72:shc.marmotcaravel.MarmotCaravelConfig.fir@205014.6]
+  assign _T_742 = _T_673 & _T_741; // @[ICache.scala 356:60:shc.marmotcaravel.MarmotCaravelConfig.fir@205015.6]
+  assign _T_743 = _T_742 == 1'h0; // @[ICache.scala 356:32:shc.marmotcaravel.MarmotCaravelConfig.fir@205016.6]
+  assign _T_744 = _T_743 ? s2_way_mux : s1s3_slaveData; // @[ICache.scala 357:62:shc.marmotcaravel.MarmotCaravelConfig.fir@205017.6]
+  assign _T_745 = _T_744[15:8]; // @[ICache.scala 357:116:shc.marmotcaravel.MarmotCaravelConfig.fir@205018.6]
+  assign _T_748 = _T_671_mask[2]; // @[ICache.scala 356:72:shc.marmotcaravel.MarmotCaravelConfig.fir@205021.6]
+  assign _T_749 = _T_673 & _T_748; // @[ICache.scala 356:60:shc.marmotcaravel.MarmotCaravelConfig.fir@205022.6]
+  assign _T_750 = _T_749 == 1'h0; // @[ICache.scala 356:32:shc.marmotcaravel.MarmotCaravelConfig.fir@205023.6]
+  assign _T_751 = _T_750 ? s2_way_mux : s1s3_slaveData; // @[ICache.scala 357:62:shc.marmotcaravel.MarmotCaravelConfig.fir@205024.6]
+  assign _T_752 = _T_751[23:16]; // @[ICache.scala 357:116:shc.marmotcaravel.MarmotCaravelConfig.fir@205025.6]
+  assign _T_755 = _T_671_mask[3]; // @[ICache.scala 356:72:shc.marmotcaravel.MarmotCaravelConfig.fir@205028.6]
+  assign _T_756 = _T_673 & _T_755; // @[ICache.scala 356:60:shc.marmotcaravel.MarmotCaravelConfig.fir@205029.6]
+  assign _T_757 = _T_756 == 1'h0; // @[ICache.scala 356:32:shc.marmotcaravel.MarmotCaravelConfig.fir@205030.6]
+  assign _T_758 = _T_757 ? s2_way_mux : s1s3_slaveData; // @[ICache.scala 357:62:shc.marmotcaravel.MarmotCaravelConfig.fir@205031.6]
+  assign _T_759 = _T_758[31:24]; // @[ICache.scala 357:116:shc.marmotcaravel.MarmotCaravelConfig.fir@205032.6]
+  assign _T_760 = {_T_745,_T_738}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@205033.6]
+  assign _T_761 = {_T_759,_T_752}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@205034.6]
+  assign _T_762 = {_T_761,_T_760}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@205035.6]
+  assign _T_776 = refill_addr[31:6]; // @[ICache.scala 381:46:shc.marmotcaravel.MarmotCaravelConfig.fir@205074.4]
+  assign _GEN_89 = {{6'd0}, _T_776}; // @[ICache.scala 381:63:shc.marmotcaravel.MarmotCaravelConfig.fir@205075.4]
+  assign tl_out_a_bits_address = _GEN_89 << 6; // @[ICache.scala 381:63:shc.marmotcaravel.MarmotCaravelConfig.fir@205075.4]
+  assign _T_883 = tl_out_a_bits_address >= 32'h8000000; // @[ICache.scala 126:75:shc.marmotcaravel.MarmotCaravelConfig.fir@205193.4]
+  assign _T_886 = tl_out_a_bits_address < 32'h8004000; // @[ICache.scala 126:91:shc.marmotcaravel.MarmotCaravelConfig.fir@205196.4]
+  assign _T_887 = _T_883 & _T_886; // @[ICache.scala 126:83:shc.marmotcaravel.MarmotCaravelConfig.fir@205197.4]
+  assign _T_888 = s2_request_refill & _T_887; // @[ICache.scala 416:27:shc.marmotcaravel.MarmotCaravelConfig.fir@205198.4]
+  assign _T_889 = _T_888 == 1'h0; // @[ICache.scala 416:10:shc.marmotcaravel.MarmotCaravelConfig.fir@205199.4]
+  assign _T_891 = _T_889 | reset; // @[ICache.scala 416:9:shc.marmotcaravel.MarmotCaravelConfig.fir@205201.4]
+  assign _T_892 = _T_891 == 1'h0; // @[ICache.scala 416:9:shc.marmotcaravel.MarmotCaravelConfig.fir@205202.4]
+  assign _T_893 = refill_valid == 1'h0; // @[ICache.scala 418:9:shc.marmotcaravel.MarmotCaravelConfig.fir@205207.4]
+  assign _T_894 = auto_slave_in_a_valid | tl_in_d_valid; // @[ICache.scala 424:32:shc.marmotcaravel.MarmotCaravelConfig.fir@205218.4]
+  assign _T_895 = _T_894 | s1_slaveValid; // @[ICache.scala 424:46:shc.marmotcaravel.MarmotCaravelConfig.fir@205219.4]
+  assign _T_896 = _T_895 | s2_slaveValid; // @[ICache.scala 424:63:shc.marmotcaravel.MarmotCaravelConfig.fir@205220.4]
+  assign _T_897 = _T_896 | s3_slaveValid; // @[ICache.scala 424:80:shc.marmotcaravel.MarmotCaravelConfig.fir@205221.4]
+  assign _T_898 = _T_897 | s1_valid; // @[ICache.scala 424:117:shc.marmotcaravel.MarmotCaravelConfig.fir@205222.4]
+  assign _T_899 = _T_898 | s2_valid; // @[ICache.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@205223.4]
+  assign auto_slave_in_a_ready = _T_668 == 1'h0; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@204498.4]
+  assign auto_slave_in_d_valid = tl_in_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@204498.4]
+  assign auto_slave_in_d_bits_opcode = _T_673 ? 3'h0 : 3'h1; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@204498.4]
+  assign auto_slave_in_d_bits_size = tl_in_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@204498.4]
+  assign auto_slave_in_d_bits_source = tl_in_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@204498.4]
+  assign auto_slave_in_d_bits_data = s1s3_slaveData; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@204498.4]
+  assign auto_master_out_a_valid = s2_miss & _T_292; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@204497.4]
+  assign auto_master_out_a_bits_address = _GEN_89 << 6; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@204497.4]
+  assign auto_master_out_d_ready = s3_slaveValid == 1'h0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@204497.4]
+  assign io_req_ready = _T_298 == 1'h0; // @[ICache.scala 156:16:shc.marmotcaravel.MarmotCaravelConfig.fir@204555.4]
+  assign io_resp_valid = s2_valid & s2_hit; // @[ICache.scala 299:21:shc.marmotcaravel.MarmotCaravelConfig.fir@204896.4]
+  assign io_resp_bits_data = _T_611 | _T_612; // @[ICache.scala 296:25:shc.marmotcaravel.MarmotCaravelConfig.fir@204892.4]
+  assign io_resp_bits_ae = s2_tl_error; // @[ICache.scala 297:23:shc.marmotcaravel.MarmotCaravelConfig.fir@204893.4]
+  assign io_keep_clock_enabled = _T_899 | refill_valid; // @[ICache.scala 423:25:shc.marmotcaravel.MarmotCaravelConfig.fir@205227.4]
+  assign tag_array_RW0_wdata_0 = {auto_master_out_d_bits_corrupt,refill_tag}; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204639.8]
+  assign tag_array_RW0_wdata_1 = {auto_master_out_d_bits_corrupt,refill_tag}; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204642.8]
+  assign tag_array_RW0_wmask_0 = repl_way == 1'h0; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204637.6 :shc.marmotcaravel.MarmotCaravelConfig.fir@204639.8]
+  assign tag_array_RW0_wmask_1 = _T_322 | _T_335; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204637.6 :shc.marmotcaravel.MarmotCaravelConfig.fir@204642.8]
+  assign data_arrays_0_RW0_wdata_0 = s3_slaveValid ? s1s3_slaveData : auto_master_out_d_bits_data; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204801.8]
+  assign data_arrays_0_RW0_wdata_1 = s3_slaveValid ? s1s3_slaveData : auto_master_out_d_bits_data; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204804.8]
+  assign data_arrays_0_RW0_wmask_0 = _T_535 == 1'h0; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204799.6 :shc.marmotcaravel.MarmotCaravelConfig.fir@204801.8]
+  assign data_arrays_0_RW0_wmask_1 = s3_slaveValid ? _T_426 : repl_way; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204799.6 :shc.marmotcaravel.MarmotCaravelConfig.fir@204804.8]
+  assign tag_array_RW0_wmode = refill_one_beat & d_done;
+  assign tag_array_RW0_clk = clock;
+  assign tag_array_RW0_en = _T_354 | refill_done;
+  assign tag_array_RW0_addr = refill_done ? refill_idx : _T_352;
+  assign data_arrays_0_RW0_wmode = _T_520 | s3_slaveValid;
+  assign data_arrays_0_RW0_clk = clock;
+  assign data_arrays_0_RW0_en = _T_555 | _T_523;
+  assign data_arrays_0_RW0_addr = refill_one_beat ? _T_525 : _T_530;
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  scratchpadOn = _RAND_0[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  scratchpadMax = _RAND_1[6:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  s1_slaveValid = _RAND_2[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  s2_slaveValid = _RAND_3[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  s3_slaveValid = _RAND_4[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  tl_in_d_valid = _RAND_5[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {1{`RANDOM}};
+  s1_valid = _RAND_6[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {8{`RANDOM}};
+  vb_array = _RAND_7[255:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_8 = {1{`RANDOM}};
+  s1s3_slaveAddr = _RAND_8[13:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_9 = {1{`RANDOM}};
+  s2_valid = _RAND_9[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_10 = {1{`RANDOM}};
+  s2_hit = _RAND_10[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_11 = {1{`RANDOM}};
+  invalidated = _RAND_11[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_12 = {1{`RANDOM}};
+  refill_valid = _RAND_12[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_13 = {1{`RANDOM}};
+  _T_292 = _RAND_13[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_14 = {1{`RANDOM}};
+  refill_addr = _RAND_14[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_15 = {1{`RANDOM}};
+  _T_309 = _RAND_15[9:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_16 = {1{`RANDOM}};
+  _T_321 = _RAND_16[15:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_17 = {1{`RANDOM}};
+  s1s3_slaveData = _RAND_17[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_18 = {1{`RANDOM}};
+  s2_tag_hit_0 = _RAND_18[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_19 = {1{`RANDOM}};
+  s2_tag_hit_1 = _RAND_19[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_20 = {1{`RANDOM}};
+  s2_dout_0 = _RAND_20[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_21 = {1{`RANDOM}};
+  s2_dout_1 = _RAND_21[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_22 = {1{`RANDOM}};
+  s2_tl_error = _RAND_22[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_23 = {1{`RANDOM}};
+  _T_671_opcode = _RAND_23[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_24 = {1{`RANDOM}};
+  _T_671_mask = _RAND_24[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_25 = {1{`RANDOM}};
+  tl_in_d_bits_size = _RAND_25[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_26 = {1{`RANDOM}};
+  tl_in_d_bits_source = _RAND_26[6:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_27 = {1{`RANDOM}};
+  _T_701 = _RAND_27[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_28 = {1{`RANDOM}};
+  _T_703 = _RAND_28[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      scratchpadOn <= 1'h0;
+    end else begin
+      if (s0_slaveValid) begin
+        if (_T_678) begin
+          scratchpadOn <= _T_680;
+        end
+      end
+    end
+    scratchpadMax <= _GEN_62[6:0];
+    if (reset) begin
+      s1_slaveValid <= 1'h0;
+    end else begin
+      s1_slaveValid <= s0_slaveValid;
+    end
+    if (reset) begin
+      s2_slaveValid <= 1'h0;
+    end else begin
+      s2_slaveValid <= s1_slaveValid;
+    end
+    if (s2_slaveValid) begin
+      s3_slaveValid <= _T_673;
+    end else begin
+      s3_slaveValid <= 1'h0;
+    end
+    if (reset) begin
+      tl_in_d_valid <= 1'h0;
+    end else begin
+      tl_in_d_valid <= _T_722;
+    end
+    if (reset) begin
+      s1_valid <= 1'h0;
+    end else begin
+      s1_valid <= s0_valid;
+    end
+    if (reset) begin
+      vb_array <= 256'h0;
+    end else begin
+      if (invalidate) begin
+        vb_array <= 256'h0;
+      end else begin
+        if (refill_one_beat) begin
+          if (_T_389) begin
+            vb_array <= _T_391;
+          end else begin
+            vb_array <= _T_394;
+          end
+        end
+      end
+    end
+    s1s3_slaveAddr <= _GEN_60[13:0];
+    if (reset) begin
+      s2_valid <= 1'h0;
+    end else begin
+      s2_valid <= _T_278;
+    end
+    s2_hit <= s1_hit;
+    if (_T_893) begin
+      invalidated <= 1'h0;
+    end else begin
+      if (invalidate) begin
+        invalidated <= 1'h1;
+      end
+    end
+    if (reset) begin
+      refill_valid <= 1'h0;
+    end else begin
+      if (refill_done) begin
+        refill_valid <= 1'h0;
+      end else begin
+        if (refill_fire) begin
+          refill_valid <= 1'h1;
+        end
+      end
+    end
+    _T_292 <= _T_290 == 1'h0;
+    if (_T_293) begin
+      refill_addr <= io_s1_paddr;
+    end
+    if (reset) begin
+      _T_309 <= 10'h0;
+    end else begin
+      if (_T_295) begin
+        if (_T_313) begin
+          if (_T_296) begin
+            _T_309 <= _T_305;
+          end else begin
+            _T_309 <= 10'h0;
+          end
+        end else begin
+          _T_309 <= _T_312;
+        end
+      end
+    end
+    if (reset) begin
+      _T_321 <= 16'h1;
+    end else begin
+      if (refill_fire) begin
+        _T_321 <= _T_330;
+      end
+    end
+    if (s2_slaveValid) begin
+      s1s3_slaveData <= _T_762;
+    end else begin
+      if (s0_slaveValid) begin
+        s1s3_slaveData <= auto_slave_in_a_bits_data;
+      end
+    end
+    if (_T_494) begin
+      s2_tag_hit_0 <= s1_tag_hit_0;
+    end
+    if (_T_494) begin
+      s2_tag_hit_1 <= s1_tag_hit_1;
+    end
+    if (_T_494) begin
+      s2_dout_0 <= s1_dout_0;
+    end
+    if (_T_494) begin
+      s2_dout_1 <= s1_dout_1;
+    end
+    if (_T_494) begin
+      s2_tl_error <= _T_636;
+    end
+    if (s0_slaveValid) begin
+      _T_671_opcode <= auto_slave_in_a_bits_opcode;
+    end
+    if (s0_slaveValid) begin
+      _T_671_mask <= auto_slave_in_a_bits_mask;
+    end
+    if (s0_slaveValid) begin
+      tl_in_d_bits_size <= auto_slave_in_a_bits_size;
+    end
+    if (s0_slaveValid) begin
+      tl_in_d_bits_source <= auto_slave_in_a_bits_source;
+    end
+    _T_701 <= io_req_bits_addr;
+    _T_703 <= _T_701;
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_343) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at ICache.scala:174 assert(!lineInScratchpad(Cat(v, refill_idx)))\n"); // @[ICache.scala 174:11:shc.marmotcaravel.MarmotCaravelConfig.fir@204612.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_343) begin
+          $fatal; // @[ICache.scala 174:11:shc.marmotcaravel.MarmotCaravelConfig.fir@204613.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_505) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at ICache.scala:230 assert(!(s1_valid || s1_slaveValid) || PopCount(s1_tag_hit zip s1_tag_disparity map { case (h, d) => h && !d }) <= 1)\n"); // @[ICache.scala 230:9:shc.marmotcaravel.MarmotCaravelConfig.fir@204766.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_505) begin
+          $fatal; // @[ICache.scala 230:9:shc.marmotcaravel.MarmotCaravelConfig.fir@204767.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_708) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at ICache.scala:340 assert(!s2_valid || RegNext(RegNext(s0_vaddr)) === io.s2_vaddr)\n"); // @[ICache.scala 340:15:shc.marmotcaravel.MarmotCaravelConfig.fir@204967.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_708) begin
+          $fatal; // @[ICache.scala 340:15:shc.marmotcaravel.MarmotCaravelConfig.fir@204968.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_892) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at ICache.scala:416 assert(!(tl_out.a.valid && addrMaybeInScratchpad(tl_out.a.bits.address)))\n"); // @[ICache.scala 416:9:shc.marmotcaravel.MarmotCaravelConfig.fir@205204.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_892) begin
+          $fatal; // @[ICache.scala 416:9:shc.marmotcaravel.MarmotCaravelConfig.fir@205205.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+endmodule
+module ShiftQueue( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205336.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205337.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205338.4]
+  output        io_enq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205339.4]
+  input         io_enq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205339.4]
+  input         io_enq_bits_btb_taken, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205339.4]
+  input         io_enq_bits_btb_bridx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205339.4]
+  input  [4:0]  io_enq_bits_btb_entry, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205339.4]
+  input  [7:0]  io_enq_bits_btb_bht_history, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205339.4]
+  input  [31:0] io_enq_bits_pc, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205339.4]
+  input  [31:0] io_enq_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205339.4]
+  input  [1:0]  io_enq_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205339.4]
+  input         io_enq_bits_xcpt_ae_inst, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205339.4]
+  input         io_enq_bits_replay, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205339.4]
+  input         io_deq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205339.4]
+  output        io_deq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205339.4]
+  output        io_deq_bits_btb_taken, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205339.4]
+  output        io_deq_bits_btb_bridx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205339.4]
+  output [4:0]  io_deq_bits_btb_entry, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205339.4]
+  output [7:0]  io_deq_bits_btb_bht_history, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205339.4]
+  output [31:0] io_deq_bits_pc, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205339.4]
+  output [31:0] io_deq_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205339.4]
+  output        io_deq_bits_xcpt_ae_inst, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205339.4]
+  output        io_deq_bits_replay, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205339.4]
+  output [4:0]  io_mask // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205339.4]
+);
+  reg  _T_60_0; // @[ShiftQueue.scala 20:30:shc.marmotcaravel.MarmotCaravelConfig.fir@205351.4]
+  reg [31:0] _RAND_0;
+  reg  _T_60_1; // @[ShiftQueue.scala 20:30:shc.marmotcaravel.MarmotCaravelConfig.fir@205351.4]
+  reg [31:0] _RAND_1;
+  reg  _T_60_2; // @[ShiftQueue.scala 20:30:shc.marmotcaravel.MarmotCaravelConfig.fir@205351.4]
+  reg [31:0] _RAND_2;
+  reg  _T_60_3; // @[ShiftQueue.scala 20:30:shc.marmotcaravel.MarmotCaravelConfig.fir@205351.4]
+  reg [31:0] _RAND_3;
+  reg  _T_60_4; // @[ShiftQueue.scala 20:30:shc.marmotcaravel.MarmotCaravelConfig.fir@205351.4]
+  reg [31:0] _RAND_4;
+  reg  _T_82_0_btb_taken; // @[ShiftQueue.scala 21:25:shc.marmotcaravel.MarmotCaravelConfig.fir@205352.4]
+  reg [31:0] _RAND_5;
+  reg  _T_82_0_btb_bridx; // @[ShiftQueue.scala 21:25:shc.marmotcaravel.MarmotCaravelConfig.fir@205352.4]
+  reg [31:0] _RAND_6;
+  reg [4:0] _T_82_0_btb_entry; // @[ShiftQueue.scala 21:25:shc.marmotcaravel.MarmotCaravelConfig.fir@205352.4]
+  reg [31:0] _RAND_7;
+  reg [7:0] _T_82_0_btb_bht_history; // @[ShiftQueue.scala 21:25:shc.marmotcaravel.MarmotCaravelConfig.fir@205352.4]
+  reg [31:0] _RAND_8;
+  reg [31:0] _T_82_0_pc; // @[ShiftQueue.scala 21:25:shc.marmotcaravel.MarmotCaravelConfig.fir@205352.4]
+  reg [31:0] _RAND_9;
+  reg [31:0] _T_82_0_data; // @[ShiftQueue.scala 21:25:shc.marmotcaravel.MarmotCaravelConfig.fir@205352.4]
+  reg [31:0] _RAND_10;
+  reg  _T_82_0_xcpt_ae_inst; // @[ShiftQueue.scala 21:25:shc.marmotcaravel.MarmotCaravelConfig.fir@205352.4]
+  reg [31:0] _RAND_11;
+  reg  _T_82_0_replay; // @[ShiftQueue.scala 21:25:shc.marmotcaravel.MarmotCaravelConfig.fir@205352.4]
+  reg [31:0] _RAND_12;
+  reg  _T_82_1_btb_taken; // @[ShiftQueue.scala 21:25:shc.marmotcaravel.MarmotCaravelConfig.fir@205352.4]
+  reg [31:0] _RAND_13;
+  reg  _T_82_1_btb_bridx; // @[ShiftQueue.scala 21:25:shc.marmotcaravel.MarmotCaravelConfig.fir@205352.4]
+  reg [31:0] _RAND_14;
+  reg [4:0] _T_82_1_btb_entry; // @[ShiftQueue.scala 21:25:shc.marmotcaravel.MarmotCaravelConfig.fir@205352.4]
+  reg [31:0] _RAND_15;
+  reg [7:0] _T_82_1_btb_bht_history; // @[ShiftQueue.scala 21:25:shc.marmotcaravel.MarmotCaravelConfig.fir@205352.4]
+  reg [31:0] _RAND_16;
+  reg [31:0] _T_82_1_pc; // @[ShiftQueue.scala 21:25:shc.marmotcaravel.MarmotCaravelConfig.fir@205352.4]
+  reg [31:0] _RAND_17;
+  reg [31:0] _T_82_1_data; // @[ShiftQueue.scala 21:25:shc.marmotcaravel.MarmotCaravelConfig.fir@205352.4]
+  reg [31:0] _RAND_18;
+  reg  _T_82_1_xcpt_ae_inst; // @[ShiftQueue.scala 21:25:shc.marmotcaravel.MarmotCaravelConfig.fir@205352.4]
+  reg [31:0] _RAND_19;
+  reg  _T_82_1_replay; // @[ShiftQueue.scala 21:25:shc.marmotcaravel.MarmotCaravelConfig.fir@205352.4]
+  reg [31:0] _RAND_20;
+  reg  _T_82_2_btb_taken; // @[ShiftQueue.scala 21:25:shc.marmotcaravel.MarmotCaravelConfig.fir@205352.4]
+  reg [31:0] _RAND_21;
+  reg  _T_82_2_btb_bridx; // @[ShiftQueue.scala 21:25:shc.marmotcaravel.MarmotCaravelConfig.fir@205352.4]
+  reg [31:0] _RAND_22;
+  reg [4:0] _T_82_2_btb_entry; // @[ShiftQueue.scala 21:25:shc.marmotcaravel.MarmotCaravelConfig.fir@205352.4]
+  reg [31:0] _RAND_23;
+  reg [7:0] _T_82_2_btb_bht_history; // @[ShiftQueue.scala 21:25:shc.marmotcaravel.MarmotCaravelConfig.fir@205352.4]
+  reg [31:0] _RAND_24;
+  reg [31:0] _T_82_2_pc; // @[ShiftQueue.scala 21:25:shc.marmotcaravel.MarmotCaravelConfig.fir@205352.4]
+  reg [31:0] _RAND_25;
+  reg [31:0] _T_82_2_data; // @[ShiftQueue.scala 21:25:shc.marmotcaravel.MarmotCaravelConfig.fir@205352.4]
+  reg [31:0] _RAND_26;
+  reg  _T_82_2_xcpt_ae_inst; // @[ShiftQueue.scala 21:25:shc.marmotcaravel.MarmotCaravelConfig.fir@205352.4]
+  reg [31:0] _RAND_27;
+  reg  _T_82_2_replay; // @[ShiftQueue.scala 21:25:shc.marmotcaravel.MarmotCaravelConfig.fir@205352.4]
+  reg [31:0] _RAND_28;
+  reg  _T_82_3_btb_taken; // @[ShiftQueue.scala 21:25:shc.marmotcaravel.MarmotCaravelConfig.fir@205352.4]
+  reg [31:0] _RAND_29;
+  reg  _T_82_3_btb_bridx; // @[ShiftQueue.scala 21:25:shc.marmotcaravel.MarmotCaravelConfig.fir@205352.4]
+  reg [31:0] _RAND_30;
+  reg [4:0] _T_82_3_btb_entry; // @[ShiftQueue.scala 21:25:shc.marmotcaravel.MarmotCaravelConfig.fir@205352.4]
+  reg [31:0] _RAND_31;
+  reg [7:0] _T_82_3_btb_bht_history; // @[ShiftQueue.scala 21:25:shc.marmotcaravel.MarmotCaravelConfig.fir@205352.4]
+  reg [31:0] _RAND_32;
+  reg [31:0] _T_82_3_pc; // @[ShiftQueue.scala 21:25:shc.marmotcaravel.MarmotCaravelConfig.fir@205352.4]
+  reg [31:0] _RAND_33;
+  reg [31:0] _T_82_3_data; // @[ShiftQueue.scala 21:25:shc.marmotcaravel.MarmotCaravelConfig.fir@205352.4]
+  reg [31:0] _RAND_34;
+  reg  _T_82_3_xcpt_ae_inst; // @[ShiftQueue.scala 21:25:shc.marmotcaravel.MarmotCaravelConfig.fir@205352.4]
+  reg [31:0] _RAND_35;
+  reg  _T_82_3_replay; // @[ShiftQueue.scala 21:25:shc.marmotcaravel.MarmotCaravelConfig.fir@205352.4]
+  reg [31:0] _RAND_36;
+  reg  _T_82_4_btb_taken; // @[ShiftQueue.scala 21:25:shc.marmotcaravel.MarmotCaravelConfig.fir@205352.4]
+  reg [31:0] _RAND_37;
+  reg  _T_82_4_btb_bridx; // @[ShiftQueue.scala 21:25:shc.marmotcaravel.MarmotCaravelConfig.fir@205352.4]
+  reg [31:0] _RAND_38;
+  reg [4:0] _T_82_4_btb_entry; // @[ShiftQueue.scala 21:25:shc.marmotcaravel.MarmotCaravelConfig.fir@205352.4]
+  reg [31:0] _RAND_39;
+  reg [7:0] _T_82_4_btb_bht_history; // @[ShiftQueue.scala 21:25:shc.marmotcaravel.MarmotCaravelConfig.fir@205352.4]
+  reg [31:0] _RAND_40;
+  reg [31:0] _T_82_4_pc; // @[ShiftQueue.scala 21:25:shc.marmotcaravel.MarmotCaravelConfig.fir@205352.4]
+  reg [31:0] _RAND_41;
+  reg [31:0] _T_82_4_data; // @[ShiftQueue.scala 21:25:shc.marmotcaravel.MarmotCaravelConfig.fir@205352.4]
+  reg [31:0] _RAND_42;
+  reg  _T_82_4_xcpt_ae_inst; // @[ShiftQueue.scala 21:25:shc.marmotcaravel.MarmotCaravelConfig.fir@205352.4]
+  reg [31:0] _RAND_43;
+  reg  _T_82_4_replay; // @[ShiftQueue.scala 21:25:shc.marmotcaravel.MarmotCaravelConfig.fir@205352.4]
+  reg [31:0] _RAND_44;
+  wire  _T_91; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@205354.4]
+  wire  _T_93; // @[ShiftQueue.scala 29:45:shc.marmotcaravel.MarmotCaravelConfig.fir@205356.4]
+  wire  _T_94; // @[ShiftQueue.scala 29:28:shc.marmotcaravel.MarmotCaravelConfig.fir@205357.4]
+  wire  _T_97; // @[ShiftQueue.scala 30:48:shc.marmotcaravel.MarmotCaravelConfig.fir@205360.4]
+  wire  _T_98; // @[ShiftQueue.scala 30:45:shc.marmotcaravel.MarmotCaravelConfig.fir@205361.4]
+  wire  _T_99; // @[ShiftQueue.scala 28:10:shc.marmotcaravel.MarmotCaravelConfig.fir@205362.4]
+  wire  _T_106; // @[ShiftQueue.scala 36:45:shc.marmotcaravel.MarmotCaravelConfig.fir@205372.4]
+  wire  _T_111; // @[ShiftQueue.scala 29:45:shc.marmotcaravel.MarmotCaravelConfig.fir@205378.4]
+  wire  _T_112; // @[ShiftQueue.scala 29:28:shc.marmotcaravel.MarmotCaravelConfig.fir@205379.4]
+  wire  _T_115; // @[ShiftQueue.scala 30:48:shc.marmotcaravel.MarmotCaravelConfig.fir@205382.4]
+  wire  _T_116; // @[ShiftQueue.scala 30:45:shc.marmotcaravel.MarmotCaravelConfig.fir@205383.4]
+  wire  _T_117; // @[ShiftQueue.scala 28:10:shc.marmotcaravel.MarmotCaravelConfig.fir@205384.4]
+  wire  _T_124; // @[ShiftQueue.scala 36:45:shc.marmotcaravel.MarmotCaravelConfig.fir@205394.4]
+  wire  _T_129; // @[ShiftQueue.scala 29:45:shc.marmotcaravel.MarmotCaravelConfig.fir@205400.4]
+  wire  _T_130; // @[ShiftQueue.scala 29:28:shc.marmotcaravel.MarmotCaravelConfig.fir@205401.4]
+  wire  _T_133; // @[ShiftQueue.scala 30:48:shc.marmotcaravel.MarmotCaravelConfig.fir@205404.4]
+  wire  _T_134; // @[ShiftQueue.scala 30:45:shc.marmotcaravel.MarmotCaravelConfig.fir@205405.4]
+  wire  _T_135; // @[ShiftQueue.scala 28:10:shc.marmotcaravel.MarmotCaravelConfig.fir@205406.4]
+  wire  _T_142; // @[ShiftQueue.scala 36:45:shc.marmotcaravel.MarmotCaravelConfig.fir@205416.4]
+  wire  _T_147; // @[ShiftQueue.scala 29:45:shc.marmotcaravel.MarmotCaravelConfig.fir@205422.4]
+  wire  _T_148; // @[ShiftQueue.scala 29:28:shc.marmotcaravel.MarmotCaravelConfig.fir@205423.4]
+  wire  _T_151; // @[ShiftQueue.scala 30:48:shc.marmotcaravel.MarmotCaravelConfig.fir@205426.4]
+  wire  _T_152; // @[ShiftQueue.scala 30:45:shc.marmotcaravel.MarmotCaravelConfig.fir@205427.4]
+  wire  _T_153; // @[ShiftQueue.scala 28:10:shc.marmotcaravel.MarmotCaravelConfig.fir@205428.4]
+  wire  _T_160; // @[ShiftQueue.scala 36:45:shc.marmotcaravel.MarmotCaravelConfig.fir@205438.4]
+  wire  _T_164; // @[ShiftQueue.scala 29:45:shc.marmotcaravel.MarmotCaravelConfig.fir@205443.4]
+  wire  _T_168; // @[ShiftQueue.scala 30:48:shc.marmotcaravel.MarmotCaravelConfig.fir@205447.4]
+  wire  _T_169; // @[ShiftQueue.scala 30:45:shc.marmotcaravel.MarmotCaravelConfig.fir@205448.4]
+  wire  _T_170; // @[ShiftQueue.scala 28:10:shc.marmotcaravel.MarmotCaravelConfig.fir@205449.4]
+  wire  _T_177; // @[ShiftQueue.scala 36:45:shc.marmotcaravel.MarmotCaravelConfig.fir@205459.4]
+  wire [1:0] _T_181; // @[ShiftQueue.scala 52:20:shc.marmotcaravel.MarmotCaravelConfig.fir@205473.4]
+  wire [1:0] _T_182; // @[ShiftQueue.scala 52:20:shc.marmotcaravel.MarmotCaravelConfig.fir@205474.4]
+  wire [2:0] _T_183; // @[ShiftQueue.scala 52:20:shc.marmotcaravel.MarmotCaravelConfig.fir@205475.4]
+  assign _T_91 = io_enq_ready & io_enq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@205354.4]
+  assign _T_93 = _T_91 & _T_60_0; // @[ShiftQueue.scala 29:45:shc.marmotcaravel.MarmotCaravelConfig.fir@205356.4]
+  assign _T_94 = _T_60_1 | _T_93; // @[ShiftQueue.scala 29:28:shc.marmotcaravel.MarmotCaravelConfig.fir@205357.4]
+  assign _T_97 = _T_60_0 == 1'h0; // @[ShiftQueue.scala 30:48:shc.marmotcaravel.MarmotCaravelConfig.fir@205360.4]
+  assign _T_98 = _T_91 & _T_97; // @[ShiftQueue.scala 30:45:shc.marmotcaravel.MarmotCaravelConfig.fir@205361.4]
+  assign _T_99 = io_deq_ready ? _T_94 : _T_98; // @[ShiftQueue.scala 28:10:shc.marmotcaravel.MarmotCaravelConfig.fir@205362.4]
+  assign _T_106 = _T_91 | _T_60_0; // @[ShiftQueue.scala 36:45:shc.marmotcaravel.MarmotCaravelConfig.fir@205372.4]
+  assign _T_111 = _T_91 & _T_60_1; // @[ShiftQueue.scala 29:45:shc.marmotcaravel.MarmotCaravelConfig.fir@205378.4]
+  assign _T_112 = _T_60_2 | _T_111; // @[ShiftQueue.scala 29:28:shc.marmotcaravel.MarmotCaravelConfig.fir@205379.4]
+  assign _T_115 = _T_60_1 == 1'h0; // @[ShiftQueue.scala 30:48:shc.marmotcaravel.MarmotCaravelConfig.fir@205382.4]
+  assign _T_116 = _T_93 & _T_115; // @[ShiftQueue.scala 30:45:shc.marmotcaravel.MarmotCaravelConfig.fir@205383.4]
+  assign _T_117 = io_deq_ready ? _T_112 : _T_116; // @[ShiftQueue.scala 28:10:shc.marmotcaravel.MarmotCaravelConfig.fir@205384.4]
+  assign _T_124 = _T_93 | _T_60_1; // @[ShiftQueue.scala 36:45:shc.marmotcaravel.MarmotCaravelConfig.fir@205394.4]
+  assign _T_129 = _T_91 & _T_60_2; // @[ShiftQueue.scala 29:45:shc.marmotcaravel.MarmotCaravelConfig.fir@205400.4]
+  assign _T_130 = _T_60_3 | _T_129; // @[ShiftQueue.scala 29:28:shc.marmotcaravel.MarmotCaravelConfig.fir@205401.4]
+  assign _T_133 = _T_60_2 == 1'h0; // @[ShiftQueue.scala 30:48:shc.marmotcaravel.MarmotCaravelConfig.fir@205404.4]
+  assign _T_134 = _T_111 & _T_133; // @[ShiftQueue.scala 30:45:shc.marmotcaravel.MarmotCaravelConfig.fir@205405.4]
+  assign _T_135 = io_deq_ready ? _T_130 : _T_134; // @[ShiftQueue.scala 28:10:shc.marmotcaravel.MarmotCaravelConfig.fir@205406.4]
+  assign _T_142 = _T_111 | _T_60_2; // @[ShiftQueue.scala 36:45:shc.marmotcaravel.MarmotCaravelConfig.fir@205416.4]
+  assign _T_147 = _T_91 & _T_60_3; // @[ShiftQueue.scala 29:45:shc.marmotcaravel.MarmotCaravelConfig.fir@205422.4]
+  assign _T_148 = _T_60_4 | _T_147; // @[ShiftQueue.scala 29:28:shc.marmotcaravel.MarmotCaravelConfig.fir@205423.4]
+  assign _T_151 = _T_60_3 == 1'h0; // @[ShiftQueue.scala 30:48:shc.marmotcaravel.MarmotCaravelConfig.fir@205426.4]
+  assign _T_152 = _T_129 & _T_151; // @[ShiftQueue.scala 30:45:shc.marmotcaravel.MarmotCaravelConfig.fir@205427.4]
+  assign _T_153 = io_deq_ready ? _T_148 : _T_152; // @[ShiftQueue.scala 28:10:shc.marmotcaravel.MarmotCaravelConfig.fir@205428.4]
+  assign _T_160 = _T_129 | _T_60_3; // @[ShiftQueue.scala 36:45:shc.marmotcaravel.MarmotCaravelConfig.fir@205438.4]
+  assign _T_164 = _T_91 & _T_60_4; // @[ShiftQueue.scala 29:45:shc.marmotcaravel.MarmotCaravelConfig.fir@205443.4]
+  assign _T_168 = _T_60_4 == 1'h0; // @[ShiftQueue.scala 30:48:shc.marmotcaravel.MarmotCaravelConfig.fir@205447.4]
+  assign _T_169 = _T_147 & _T_168; // @[ShiftQueue.scala 30:45:shc.marmotcaravel.MarmotCaravelConfig.fir@205448.4]
+  assign _T_170 = io_deq_ready ? _T_164 : _T_169; // @[ShiftQueue.scala 28:10:shc.marmotcaravel.MarmotCaravelConfig.fir@205449.4]
+  assign _T_177 = _T_147 | _T_60_4; // @[ShiftQueue.scala 36:45:shc.marmotcaravel.MarmotCaravelConfig.fir@205459.4]
+  assign _T_181 = {_T_60_1,_T_60_0}; // @[ShiftQueue.scala 52:20:shc.marmotcaravel.MarmotCaravelConfig.fir@205473.4]
+  assign _T_182 = {_T_60_4,_T_60_3}; // @[ShiftQueue.scala 52:20:shc.marmotcaravel.MarmotCaravelConfig.fir@205474.4]
+  assign _T_183 = {_T_182,_T_60_2}; // @[ShiftQueue.scala 52:20:shc.marmotcaravel.MarmotCaravelConfig.fir@205475.4]
+  assign io_enq_ready = _T_60_4 == 1'h0; // @[ShiftQueue.scala 39:16:shc.marmotcaravel.MarmotCaravelConfig.fir@205463.4]
+  assign io_deq_valid = io_enq_valid ? 1'h1 : _T_60_0; // @[ShiftQueue.scala 40:16:shc.marmotcaravel.MarmotCaravelConfig.fir@205464.4 ShiftQueue.scala 44:40:shc.marmotcaravel.MarmotCaravelConfig.fir@205467.6]
+  assign io_deq_bits_btb_taken = _T_97 ? io_enq_bits_btb_taken : _T_82_0_btb_taken; // @[ShiftQueue.scala 41:15:shc.marmotcaravel.MarmotCaravelConfig.fir@205465.4 ShiftQueue.scala 45:36:shc.marmotcaravel.MarmotCaravelConfig.fir@205471.6]
+  assign io_deq_bits_btb_bridx = _T_97 ? io_enq_bits_btb_bridx : _T_82_0_btb_bridx; // @[ShiftQueue.scala 41:15:shc.marmotcaravel.MarmotCaravelConfig.fir@205465.4 ShiftQueue.scala 45:36:shc.marmotcaravel.MarmotCaravelConfig.fir@205471.6]
+  assign io_deq_bits_btb_entry = _T_97 ? io_enq_bits_btb_entry : _T_82_0_btb_entry; // @[ShiftQueue.scala 41:15:shc.marmotcaravel.MarmotCaravelConfig.fir@205465.4 ShiftQueue.scala 45:36:shc.marmotcaravel.MarmotCaravelConfig.fir@205471.6]
+  assign io_deq_bits_btb_bht_history = _T_97 ? io_enq_bits_btb_bht_history : _T_82_0_btb_bht_history; // @[ShiftQueue.scala 41:15:shc.marmotcaravel.MarmotCaravelConfig.fir@205465.4 ShiftQueue.scala 45:36:shc.marmotcaravel.MarmotCaravelConfig.fir@205471.6]
+  assign io_deq_bits_pc = _T_97 ? io_enq_bits_pc : _T_82_0_pc; // @[ShiftQueue.scala 41:15:shc.marmotcaravel.MarmotCaravelConfig.fir@205465.4 ShiftQueue.scala 45:36:shc.marmotcaravel.MarmotCaravelConfig.fir@205471.6]
+  assign io_deq_bits_data = _T_97 ? io_enq_bits_data : _T_82_0_data; // @[ShiftQueue.scala 41:15:shc.marmotcaravel.MarmotCaravelConfig.fir@205465.4 ShiftQueue.scala 45:36:shc.marmotcaravel.MarmotCaravelConfig.fir@205471.6]
+  assign io_deq_bits_xcpt_ae_inst = _T_97 ? io_enq_bits_xcpt_ae_inst : _T_82_0_xcpt_ae_inst; // @[ShiftQueue.scala 41:15:shc.marmotcaravel.MarmotCaravelConfig.fir@205465.4 ShiftQueue.scala 45:36:shc.marmotcaravel.MarmotCaravelConfig.fir@205471.6]
+  assign io_deq_bits_replay = _T_97 ? io_enq_bits_replay : _T_82_0_replay; // @[ShiftQueue.scala 41:15:shc.marmotcaravel.MarmotCaravelConfig.fir@205465.4 ShiftQueue.scala 45:36:shc.marmotcaravel.MarmotCaravelConfig.fir@205471.6]
+  assign io_mask = {_T_183,_T_181}; // @[ShiftQueue.scala 52:11:shc.marmotcaravel.MarmotCaravelConfig.fir@205477.4]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  _T_60_0 = _RAND_0[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  _T_60_1 = _RAND_1[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  _T_60_2 = _RAND_2[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  _T_60_3 = _RAND_3[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  _T_60_4 = _RAND_4[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  _T_82_0_btb_taken = _RAND_5[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {1{`RANDOM}};
+  _T_82_0_btb_bridx = _RAND_6[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {1{`RANDOM}};
+  _T_82_0_btb_entry = _RAND_7[4:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_8 = {1{`RANDOM}};
+  _T_82_0_btb_bht_history = _RAND_8[7:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_9 = {1{`RANDOM}};
+  _T_82_0_pc = _RAND_9[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_10 = {1{`RANDOM}};
+  _T_82_0_data = _RAND_10[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_11 = {1{`RANDOM}};
+  _T_82_0_xcpt_ae_inst = _RAND_11[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_12 = {1{`RANDOM}};
+  _T_82_0_replay = _RAND_12[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_13 = {1{`RANDOM}};
+  _T_82_1_btb_taken = _RAND_13[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_14 = {1{`RANDOM}};
+  _T_82_1_btb_bridx = _RAND_14[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_15 = {1{`RANDOM}};
+  _T_82_1_btb_entry = _RAND_15[4:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_16 = {1{`RANDOM}};
+  _T_82_1_btb_bht_history = _RAND_16[7:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_17 = {1{`RANDOM}};
+  _T_82_1_pc = _RAND_17[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_18 = {1{`RANDOM}};
+  _T_82_1_data = _RAND_18[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_19 = {1{`RANDOM}};
+  _T_82_1_xcpt_ae_inst = _RAND_19[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_20 = {1{`RANDOM}};
+  _T_82_1_replay = _RAND_20[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_21 = {1{`RANDOM}};
+  _T_82_2_btb_taken = _RAND_21[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_22 = {1{`RANDOM}};
+  _T_82_2_btb_bridx = _RAND_22[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_23 = {1{`RANDOM}};
+  _T_82_2_btb_entry = _RAND_23[4:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_24 = {1{`RANDOM}};
+  _T_82_2_btb_bht_history = _RAND_24[7:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_25 = {1{`RANDOM}};
+  _T_82_2_pc = _RAND_25[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_26 = {1{`RANDOM}};
+  _T_82_2_data = _RAND_26[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_27 = {1{`RANDOM}};
+  _T_82_2_xcpt_ae_inst = _RAND_27[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_28 = {1{`RANDOM}};
+  _T_82_2_replay = _RAND_28[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_29 = {1{`RANDOM}};
+  _T_82_3_btb_taken = _RAND_29[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_30 = {1{`RANDOM}};
+  _T_82_3_btb_bridx = _RAND_30[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_31 = {1{`RANDOM}};
+  _T_82_3_btb_entry = _RAND_31[4:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_32 = {1{`RANDOM}};
+  _T_82_3_btb_bht_history = _RAND_32[7:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_33 = {1{`RANDOM}};
+  _T_82_3_pc = _RAND_33[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_34 = {1{`RANDOM}};
+  _T_82_3_data = _RAND_34[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_35 = {1{`RANDOM}};
+  _T_82_3_xcpt_ae_inst = _RAND_35[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_36 = {1{`RANDOM}};
+  _T_82_3_replay = _RAND_36[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_37 = {1{`RANDOM}};
+  _T_82_4_btb_taken = _RAND_37[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_38 = {1{`RANDOM}};
+  _T_82_4_btb_bridx = _RAND_38[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_39 = {1{`RANDOM}};
+  _T_82_4_btb_entry = _RAND_39[4:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_40 = {1{`RANDOM}};
+  _T_82_4_btb_bht_history = _RAND_40[7:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_41 = {1{`RANDOM}};
+  _T_82_4_pc = _RAND_41[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_42 = {1{`RANDOM}};
+  _T_82_4_data = _RAND_42[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_43 = {1{`RANDOM}};
+  _T_82_4_xcpt_ae_inst = _RAND_43[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_44 = {1{`RANDOM}};
+  _T_82_4_replay = _RAND_44[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      _T_60_0 <= 1'h0;
+    end else begin
+      if (io_deq_ready) begin
+        _T_60_0 <= _T_94;
+      end else begin
+        _T_60_0 <= _T_106;
+      end
+    end
+    if (reset) begin
+      _T_60_1 <= 1'h0;
+    end else begin
+      if (io_deq_ready) begin
+        _T_60_1 <= _T_112;
+      end else begin
+        _T_60_1 <= _T_124;
+      end
+    end
+    if (reset) begin
+      _T_60_2 <= 1'h0;
+    end else begin
+      if (io_deq_ready) begin
+        _T_60_2 <= _T_130;
+      end else begin
+        _T_60_2 <= _T_142;
+      end
+    end
+    if (reset) begin
+      _T_60_3 <= 1'h0;
+    end else begin
+      if (io_deq_ready) begin
+        _T_60_3 <= _T_148;
+      end else begin
+        _T_60_3 <= _T_160;
+      end
+    end
+    if (reset) begin
+      _T_60_4 <= 1'h0;
+    end else begin
+      if (io_deq_ready) begin
+        _T_60_4 <= _T_164;
+      end else begin
+        _T_60_4 <= _T_177;
+      end
+    end
+    if (_T_99) begin
+      if (_T_60_1) begin
+        _T_82_0_btb_taken <= _T_82_1_btb_taken;
+      end else begin
+        _T_82_0_btb_taken <= io_enq_bits_btb_taken;
+      end
+    end
+    if (_T_99) begin
+      if (_T_60_1) begin
+        _T_82_0_btb_bridx <= _T_82_1_btb_bridx;
+      end else begin
+        _T_82_0_btb_bridx <= io_enq_bits_btb_bridx;
+      end
+    end
+    if (_T_99) begin
+      if (_T_60_1) begin
+        _T_82_0_btb_entry <= _T_82_1_btb_entry;
+      end else begin
+        _T_82_0_btb_entry <= io_enq_bits_btb_entry;
+      end
+    end
+    if (_T_99) begin
+      if (_T_60_1) begin
+        _T_82_0_btb_bht_history <= _T_82_1_btb_bht_history;
+      end else begin
+        _T_82_0_btb_bht_history <= io_enq_bits_btb_bht_history;
+      end
+    end
+    if (_T_99) begin
+      if (_T_60_1) begin
+        _T_82_0_pc <= _T_82_1_pc;
+      end else begin
+        _T_82_0_pc <= io_enq_bits_pc;
+      end
+    end
+    if (_T_99) begin
+      if (_T_60_1) begin
+        _T_82_0_data <= _T_82_1_data;
+      end else begin
+        _T_82_0_data <= io_enq_bits_data;
+      end
+    end
+    if (_T_99) begin
+      if (_T_60_1) begin
+        _T_82_0_xcpt_ae_inst <= _T_82_1_xcpt_ae_inst;
+      end else begin
+        _T_82_0_xcpt_ae_inst <= io_enq_bits_xcpt_ae_inst;
+      end
+    end
+    if (_T_99) begin
+      if (_T_60_1) begin
+        _T_82_0_replay <= _T_82_1_replay;
+      end else begin
+        _T_82_0_replay <= io_enq_bits_replay;
+      end
+    end
+    if (_T_117) begin
+      if (_T_60_2) begin
+        _T_82_1_btb_taken <= _T_82_2_btb_taken;
+      end else begin
+        _T_82_1_btb_taken <= io_enq_bits_btb_taken;
+      end
+    end
+    if (_T_117) begin
+      if (_T_60_2) begin
+        _T_82_1_btb_bridx <= _T_82_2_btb_bridx;
+      end else begin
+        _T_82_1_btb_bridx <= io_enq_bits_btb_bridx;
+      end
+    end
+    if (_T_117) begin
+      if (_T_60_2) begin
+        _T_82_1_btb_entry <= _T_82_2_btb_entry;
+      end else begin
+        _T_82_1_btb_entry <= io_enq_bits_btb_entry;
+      end
+    end
+    if (_T_117) begin
+      if (_T_60_2) begin
+        _T_82_1_btb_bht_history <= _T_82_2_btb_bht_history;
+      end else begin
+        _T_82_1_btb_bht_history <= io_enq_bits_btb_bht_history;
+      end
+    end
+    if (_T_117) begin
+      if (_T_60_2) begin
+        _T_82_1_pc <= _T_82_2_pc;
+      end else begin
+        _T_82_1_pc <= io_enq_bits_pc;
+      end
+    end
+    if (_T_117) begin
+      if (_T_60_2) begin
+        _T_82_1_data <= _T_82_2_data;
+      end else begin
+        _T_82_1_data <= io_enq_bits_data;
+      end
+    end
+    if (_T_117) begin
+      if (_T_60_2) begin
+        _T_82_1_xcpt_ae_inst <= _T_82_2_xcpt_ae_inst;
+      end else begin
+        _T_82_1_xcpt_ae_inst <= io_enq_bits_xcpt_ae_inst;
+      end
+    end
+    if (_T_117) begin
+      if (_T_60_2) begin
+        _T_82_1_replay <= _T_82_2_replay;
+      end else begin
+        _T_82_1_replay <= io_enq_bits_replay;
+      end
+    end
+    if (_T_135) begin
+      if (_T_60_3) begin
+        _T_82_2_btb_taken <= _T_82_3_btb_taken;
+      end else begin
+        _T_82_2_btb_taken <= io_enq_bits_btb_taken;
+      end
+    end
+    if (_T_135) begin
+      if (_T_60_3) begin
+        _T_82_2_btb_bridx <= _T_82_3_btb_bridx;
+      end else begin
+        _T_82_2_btb_bridx <= io_enq_bits_btb_bridx;
+      end
+    end
+    if (_T_135) begin
+      if (_T_60_3) begin
+        _T_82_2_btb_entry <= _T_82_3_btb_entry;
+      end else begin
+        _T_82_2_btb_entry <= io_enq_bits_btb_entry;
+      end
+    end
+    if (_T_135) begin
+      if (_T_60_3) begin
+        _T_82_2_btb_bht_history <= _T_82_3_btb_bht_history;
+      end else begin
+        _T_82_2_btb_bht_history <= io_enq_bits_btb_bht_history;
+      end
+    end
+    if (_T_135) begin
+      if (_T_60_3) begin
+        _T_82_2_pc <= _T_82_3_pc;
+      end else begin
+        _T_82_2_pc <= io_enq_bits_pc;
+      end
+    end
+    if (_T_135) begin
+      if (_T_60_3) begin
+        _T_82_2_data <= _T_82_3_data;
+      end else begin
+        _T_82_2_data <= io_enq_bits_data;
+      end
+    end
+    if (_T_135) begin
+      if (_T_60_3) begin
+        _T_82_2_xcpt_ae_inst <= _T_82_3_xcpt_ae_inst;
+      end else begin
+        _T_82_2_xcpt_ae_inst <= io_enq_bits_xcpt_ae_inst;
+      end
+    end
+    if (_T_135) begin
+      if (_T_60_3) begin
+        _T_82_2_replay <= _T_82_3_replay;
+      end else begin
+        _T_82_2_replay <= io_enq_bits_replay;
+      end
+    end
+    if (_T_153) begin
+      if (_T_60_4) begin
+        _T_82_3_btb_taken <= _T_82_4_btb_taken;
+      end else begin
+        _T_82_3_btb_taken <= io_enq_bits_btb_taken;
+      end
+    end
+    if (_T_153) begin
+      if (_T_60_4) begin
+        _T_82_3_btb_bridx <= _T_82_4_btb_bridx;
+      end else begin
+        _T_82_3_btb_bridx <= io_enq_bits_btb_bridx;
+      end
+    end
+    if (_T_153) begin
+      if (_T_60_4) begin
+        _T_82_3_btb_entry <= _T_82_4_btb_entry;
+      end else begin
+        _T_82_3_btb_entry <= io_enq_bits_btb_entry;
+      end
+    end
+    if (_T_153) begin
+      if (_T_60_4) begin
+        _T_82_3_btb_bht_history <= _T_82_4_btb_bht_history;
+      end else begin
+        _T_82_3_btb_bht_history <= io_enq_bits_btb_bht_history;
+      end
+    end
+    if (_T_153) begin
+      if (_T_60_4) begin
+        _T_82_3_pc <= _T_82_4_pc;
+      end else begin
+        _T_82_3_pc <= io_enq_bits_pc;
+      end
+    end
+    if (_T_153) begin
+      if (_T_60_4) begin
+        _T_82_3_data <= _T_82_4_data;
+      end else begin
+        _T_82_3_data <= io_enq_bits_data;
+      end
+    end
+    if (_T_153) begin
+      if (_T_60_4) begin
+        _T_82_3_xcpt_ae_inst <= _T_82_4_xcpt_ae_inst;
+      end else begin
+        _T_82_3_xcpt_ae_inst <= io_enq_bits_xcpt_ae_inst;
+      end
+    end
+    if (_T_153) begin
+      if (_T_60_4) begin
+        _T_82_3_replay <= _T_82_4_replay;
+      end else begin
+        _T_82_3_replay <= io_enq_bits_replay;
+      end
+    end
+    if (_T_170) begin
+      _T_82_4_btb_taken <= io_enq_bits_btb_taken;
+    end
+    if (_T_170) begin
+      _T_82_4_btb_bridx <= io_enq_bits_btb_bridx;
+    end
+    if (_T_170) begin
+      _T_82_4_btb_entry <= io_enq_bits_btb_entry;
+    end
+    if (_T_170) begin
+      _T_82_4_btb_bht_history <= io_enq_bits_btb_bht_history;
+    end
+    if (_T_170) begin
+      _T_82_4_pc <= io_enq_bits_pc;
+    end
+    if (_T_170) begin
+      _T_82_4_data <= io_enq_bits_data;
+    end
+    if (_T_170) begin
+      _T_82_4_xcpt_ae_inst <= io_enq_bits_xcpt_ae_inst;
+    end
+    if (_T_170) begin
+      _T_82_4_replay <= io_enq_bits_replay;
+    end
+  end
+endmodule
+module TLB_1( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205873.2]
+  input  [31:0] io_req_bits_vaddr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205876.4]
+  output [31:0] io_resp_paddr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205876.4]
+  output        io_resp_ae_inst, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205876.4]
+  input         io_ptw_pmp_0_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205876.4]
+  input  [1:0]  io_ptw_pmp_0_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205876.4]
+  input         io_ptw_pmp_0_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205876.4]
+  input         io_ptw_pmp_0_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205876.4]
+  input         io_ptw_pmp_0_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205876.4]
+  input  [29:0] io_ptw_pmp_0_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205876.4]
+  input  [31:0] io_ptw_pmp_0_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205876.4]
+  input         io_ptw_pmp_1_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205876.4]
+  input  [1:0]  io_ptw_pmp_1_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205876.4]
+  input         io_ptw_pmp_1_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205876.4]
+  input         io_ptw_pmp_1_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205876.4]
+  input         io_ptw_pmp_1_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205876.4]
+  input  [29:0] io_ptw_pmp_1_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205876.4]
+  input  [31:0] io_ptw_pmp_1_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205876.4]
+  input         io_ptw_pmp_2_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205876.4]
+  input  [1:0]  io_ptw_pmp_2_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205876.4]
+  input         io_ptw_pmp_2_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205876.4]
+  input         io_ptw_pmp_2_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205876.4]
+  input         io_ptw_pmp_2_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205876.4]
+  input  [29:0] io_ptw_pmp_2_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205876.4]
+  input  [31:0] io_ptw_pmp_2_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205876.4]
+  input         io_ptw_pmp_3_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205876.4]
+  input  [1:0]  io_ptw_pmp_3_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205876.4]
+  input         io_ptw_pmp_3_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205876.4]
+  input         io_ptw_pmp_3_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205876.4]
+  input         io_ptw_pmp_3_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205876.4]
+  input  [29:0] io_ptw_pmp_3_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205876.4]
+  input  [31:0] io_ptw_pmp_3_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205876.4]
+  input         io_ptw_pmp_4_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205876.4]
+  input  [1:0]  io_ptw_pmp_4_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205876.4]
+  input         io_ptw_pmp_4_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205876.4]
+  input         io_ptw_pmp_4_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205876.4]
+  input         io_ptw_pmp_4_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205876.4]
+  input  [29:0] io_ptw_pmp_4_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205876.4]
+  input  [31:0] io_ptw_pmp_4_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205876.4]
+  input         io_ptw_pmp_5_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205876.4]
+  input  [1:0]  io_ptw_pmp_5_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205876.4]
+  input         io_ptw_pmp_5_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205876.4]
+  input         io_ptw_pmp_5_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205876.4]
+  input         io_ptw_pmp_5_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205876.4]
+  input  [29:0] io_ptw_pmp_5_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205876.4]
+  input  [31:0] io_ptw_pmp_5_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205876.4]
+  input         io_ptw_pmp_6_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205876.4]
+  input  [1:0]  io_ptw_pmp_6_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205876.4]
+  input         io_ptw_pmp_6_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205876.4]
+  input         io_ptw_pmp_6_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205876.4]
+  input         io_ptw_pmp_6_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205876.4]
+  input  [29:0] io_ptw_pmp_6_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205876.4]
+  input  [31:0] io_ptw_pmp_6_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205876.4]
+  input         io_ptw_pmp_7_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205876.4]
+  input  [1:0]  io_ptw_pmp_7_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205876.4]
+  input         io_ptw_pmp_7_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205876.4]
+  input         io_ptw_pmp_7_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205876.4]
+  input         io_ptw_pmp_7_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205876.4]
+  input  [29:0] io_ptw_pmp_7_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205876.4]
+  input  [31:0] io_ptw_pmp_7_mask // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205876.4]
+);
+  wire  pmp_io_pmp_0_cfg_l; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@205944.4]
+  wire [1:0] pmp_io_pmp_0_cfg_a; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@205944.4]
+  wire  pmp_io_pmp_0_cfg_x; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@205944.4]
+  wire  pmp_io_pmp_0_cfg_w; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@205944.4]
+  wire  pmp_io_pmp_0_cfg_r; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@205944.4]
+  wire [29:0] pmp_io_pmp_0_addr; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@205944.4]
+  wire [31:0] pmp_io_pmp_0_mask; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@205944.4]
+  wire  pmp_io_pmp_1_cfg_l; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@205944.4]
+  wire [1:0] pmp_io_pmp_1_cfg_a; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@205944.4]
+  wire  pmp_io_pmp_1_cfg_x; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@205944.4]
+  wire  pmp_io_pmp_1_cfg_w; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@205944.4]
+  wire  pmp_io_pmp_1_cfg_r; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@205944.4]
+  wire [29:0] pmp_io_pmp_1_addr; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@205944.4]
+  wire [31:0] pmp_io_pmp_1_mask; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@205944.4]
+  wire  pmp_io_pmp_2_cfg_l; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@205944.4]
+  wire [1:0] pmp_io_pmp_2_cfg_a; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@205944.4]
+  wire  pmp_io_pmp_2_cfg_x; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@205944.4]
+  wire  pmp_io_pmp_2_cfg_w; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@205944.4]
+  wire  pmp_io_pmp_2_cfg_r; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@205944.4]
+  wire [29:0] pmp_io_pmp_2_addr; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@205944.4]
+  wire [31:0] pmp_io_pmp_2_mask; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@205944.4]
+  wire  pmp_io_pmp_3_cfg_l; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@205944.4]
+  wire [1:0] pmp_io_pmp_3_cfg_a; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@205944.4]
+  wire  pmp_io_pmp_3_cfg_x; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@205944.4]
+  wire  pmp_io_pmp_3_cfg_w; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@205944.4]
+  wire  pmp_io_pmp_3_cfg_r; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@205944.4]
+  wire [29:0] pmp_io_pmp_3_addr; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@205944.4]
+  wire [31:0] pmp_io_pmp_3_mask; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@205944.4]
+  wire  pmp_io_pmp_4_cfg_l; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@205944.4]
+  wire [1:0] pmp_io_pmp_4_cfg_a; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@205944.4]
+  wire  pmp_io_pmp_4_cfg_x; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@205944.4]
+  wire  pmp_io_pmp_4_cfg_w; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@205944.4]
+  wire  pmp_io_pmp_4_cfg_r; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@205944.4]
+  wire [29:0] pmp_io_pmp_4_addr; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@205944.4]
+  wire [31:0] pmp_io_pmp_4_mask; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@205944.4]
+  wire  pmp_io_pmp_5_cfg_l; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@205944.4]
+  wire [1:0] pmp_io_pmp_5_cfg_a; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@205944.4]
+  wire  pmp_io_pmp_5_cfg_x; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@205944.4]
+  wire  pmp_io_pmp_5_cfg_w; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@205944.4]
+  wire  pmp_io_pmp_5_cfg_r; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@205944.4]
+  wire [29:0] pmp_io_pmp_5_addr; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@205944.4]
+  wire [31:0] pmp_io_pmp_5_mask; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@205944.4]
+  wire  pmp_io_pmp_6_cfg_l; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@205944.4]
+  wire [1:0] pmp_io_pmp_6_cfg_a; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@205944.4]
+  wire  pmp_io_pmp_6_cfg_x; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@205944.4]
+  wire  pmp_io_pmp_6_cfg_w; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@205944.4]
+  wire  pmp_io_pmp_6_cfg_r; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@205944.4]
+  wire [29:0] pmp_io_pmp_6_addr; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@205944.4]
+  wire [31:0] pmp_io_pmp_6_mask; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@205944.4]
+  wire  pmp_io_pmp_7_cfg_l; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@205944.4]
+  wire [1:0] pmp_io_pmp_7_cfg_a; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@205944.4]
+  wire  pmp_io_pmp_7_cfg_x; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@205944.4]
+  wire  pmp_io_pmp_7_cfg_w; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@205944.4]
+  wire  pmp_io_pmp_7_cfg_r; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@205944.4]
+  wire [29:0] pmp_io_pmp_7_addr; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@205944.4]
+  wire [31:0] pmp_io_pmp_7_mask; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@205944.4]
+  wire [31:0] pmp_io_addr; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@205944.4]
+  wire  pmp_io_r; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@205944.4]
+  wire  pmp_io_w; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@205944.4]
+  wire  pmp_io_x; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@205944.4]
+  wire [19:0] vpn; // @[TLB.scala 179:30:shc.marmotcaravel.MarmotCaravelConfig.fir@205897.4]
+  wire [19:0] mpu_ppn; // @[TLB.scala 184:123:shc.marmotcaravel.MarmotCaravelConfig.fir@205939.4]
+  wire [11:0] _T_223; // @[TLB.scala 185:52:shc.marmotcaravel.MarmotCaravelConfig.fir@205942.4]
+  wire [31:0] mpu_physaddr; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@205943.4]
+  wire [31:0] _T_227; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@205962.4]
+  wire [32:0] _T_228; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@205963.4]
+  wire [32:0] _T_229; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@205964.4]
+  wire [32:0] _T_230; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@205965.4]
+  wire  _T_231; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@205966.4]
+  wire [31:0] _T_232; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@205967.4]
+  wire [32:0] _T_233; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@205968.4]
+  wire [32:0] _T_234; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@205969.4]
+  wire [32:0] _T_235; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@205970.4]
+  wire  _T_236; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@205971.4]
+  wire [31:0] _T_237; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@205972.4]
+  wire [32:0] _T_238; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@205973.4]
+  wire [32:0] _T_239; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@205974.4]
+  wire [32:0] _T_240; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@205975.4]
+  wire  _T_241; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@205976.4]
+  wire [31:0] _T_242; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@205977.4]
+  wire [32:0] _T_243; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@205978.4]
+  wire [32:0] _T_244; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@205979.4]
+  wire [32:0] _T_245; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@205980.4]
+  wire  _T_246; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@205981.4]
+  wire [31:0] _T_247; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@205982.4]
+  wire [32:0] _T_248; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@205983.4]
+  wire [32:0] _T_249; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@205984.4]
+  wire [32:0] _T_250; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@205985.4]
+  wire  _T_251; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@205986.4]
+  wire [31:0] _T_252; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@205987.4]
+  wire [32:0] _T_253; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@205988.4]
+  wire [32:0] _T_254; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@205989.4]
+  wire [32:0] _T_255; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@205990.4]
+  wire  _T_256; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@205991.4]
+  wire [31:0] _T_257; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@205992.4]
+  wire [32:0] _T_258; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@205993.4]
+  wire [32:0] _T_259; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@205994.4]
+  wire [32:0] _T_260; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@205995.4]
+  wire  _T_261; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@205996.4]
+  wire [31:0] _T_262; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@205997.4]
+  wire [32:0] _T_263; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@205998.4]
+  wire [32:0] _T_264; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@205999.4]
+  wire [32:0] _T_265; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206000.4]
+  wire  _T_266; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206001.4]
+  wire [31:0] _T_267; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@206002.4]
+  wire [32:0] _T_268; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@206003.4]
+  wire [32:0] _T_269; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206004.4]
+  wire [32:0] _T_270; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206005.4]
+  wire  _T_271; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206006.4]
+  wire [31:0] _T_272; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@206007.4]
+  wire [32:0] _T_273; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@206008.4]
+  wire [32:0] _T_274; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206009.4]
+  wire [32:0] _T_275; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206010.4]
+  wire  _T_276; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206011.4]
+  wire [31:0] _T_277; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@206012.4]
+  wire [32:0] _T_278; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@206013.4]
+  wire [32:0] _T_279; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206014.4]
+  wire [32:0] _T_280; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206015.4]
+  wire  _T_281; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206016.4]
+  wire [31:0] _T_282; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@206017.4]
+  wire [32:0] _T_283; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@206018.4]
+  wire [32:0] _T_284; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206019.4]
+  wire [32:0] _T_285; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206020.4]
+  wire  _T_286; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206021.4]
+  wire [31:0] _T_287; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@206022.4]
+  wire [32:0] _T_288; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@206023.4]
+  wire [32:0] _T_289; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206024.4]
+  wire [32:0] _T_290; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206025.4]
+  wire  _T_291; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206026.4]
+  wire [31:0] _T_292; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@206027.4]
+  wire [32:0] _T_293; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@206028.4]
+  wire [32:0] _T_294; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206029.4]
+  wire [32:0] _T_295; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206030.4]
+  wire  _T_296; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206031.4]
+  wire [31:0] _T_297; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@206032.4]
+  wire [32:0] _T_298; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@206033.4]
+  wire [32:0] _T_299; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206034.4]
+  wire [32:0] _T_300; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206035.4]
+  wire  _T_301; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206036.4]
+  wire [32:0] _T_303; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@206038.4]
+  wire [32:0] _T_304; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206039.4]
+  wire [32:0] _T_305; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206040.4]
+  wire  _T_306; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206041.4]
+  wire [31:0] _T_307; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@206042.4]
+  wire [32:0] _T_308; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@206043.4]
+  wire [32:0] _T_309; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206044.4]
+  wire [32:0] _T_310; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206045.4]
+  wire  _T_311; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206046.4]
+  wire [31:0] _T_312; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@206047.4]
+  wire [32:0] _T_313; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@206048.4]
+  wire [32:0] _T_314; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206049.4]
+  wire [32:0] _T_315; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206050.4]
+  wire  _T_316; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206051.4]
+  wire [31:0] _T_317; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@206052.4]
+  wire [32:0] _T_318; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@206053.4]
+  wire [32:0] _T_319; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206054.4]
+  wire [32:0] _T_320; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206055.4]
+  wire  _T_321; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206056.4]
+  wire [31:0] _T_322; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@206057.4]
+  wire [32:0] _T_323; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@206058.4]
+  wire [32:0] _T_324; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206059.4]
+  wire [32:0] _T_325; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206060.4]
+  wire  _T_326; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206061.4]
+  wire  _T_353; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206084.4]
+  wire  _T_354; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206085.4]
+  wire  _T_355; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206086.4]
+  wire  _T_356; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206087.4]
+  wire  _T_357; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206088.4]
+  wire  _T_358; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206089.4]
+  wire  _T_359; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206090.4]
+  wire  _T_360; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206091.4]
+  wire  _T_361; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206092.4]
+  wire  _T_362; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206093.4]
+  wire  _T_363; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206094.4]
+  wire  _T_364; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206095.4]
+  wire  _T_365; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206096.4]
+  wire  _T_366; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206097.4]
+  wire  _T_367; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206098.4]
+  wire  _T_368; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206099.4]
+  wire  _T_369; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206100.4]
+  wire  _T_370; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206101.4]
+  wire  legal_address; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206102.4]
+  wire [32:0] _T_481; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206215.4]
+  wire [32:0] _T_482; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206216.4]
+  wire  _T_483; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206217.4]
+  wire [32:0] _T_486; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206220.4]
+  wire [32:0] _T_487; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206221.4]
+  wire  _T_488; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206222.4]
+  wire [32:0] _T_668; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206403.4]
+  wire [32:0] _T_669; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206404.4]
+  wire  _T_670; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206405.4]
+  wire  _T_681; // @[Parameters.scala 148:89:shc.marmotcaravel.MarmotCaravelConfig.fir@206416.4]
+  wire  _T_682; // @[Parameters.scala 148:89:shc.marmotcaravel.MarmotCaravelConfig.fir@206417.4]
+  wire  _T_689; // @[TLB.scala 193:19:shc.marmotcaravel.MarmotCaravelConfig.fir@206423.4]
+  wire  prot_x; // @[TLB.scala 200:40:shc.marmotcaravel.MarmotCaravelConfig.fir@206424.4]
+  wire [1:0] _T_1341; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@207427.4]
+  wire [6:0] px_array; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207432.4]
+  wire [6:0] _T_1710; // @[TLB.scala 306:23:shc.marmotcaravel.MarmotCaravelConfig.fir@207828.4]
+  wire [6:0] _T_1711; // @[TLB.scala 306:33:shc.marmotcaravel.MarmotCaravelConfig.fir@207829.4]
+  PMPChecker pmp ( // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@205944.4]
+    .io_pmp_0_cfg_l(pmp_io_pmp_0_cfg_l),
+    .io_pmp_0_cfg_a(pmp_io_pmp_0_cfg_a),
+    .io_pmp_0_cfg_x(pmp_io_pmp_0_cfg_x),
+    .io_pmp_0_cfg_w(pmp_io_pmp_0_cfg_w),
+    .io_pmp_0_cfg_r(pmp_io_pmp_0_cfg_r),
+    .io_pmp_0_addr(pmp_io_pmp_0_addr),
+    .io_pmp_0_mask(pmp_io_pmp_0_mask),
+    .io_pmp_1_cfg_l(pmp_io_pmp_1_cfg_l),
+    .io_pmp_1_cfg_a(pmp_io_pmp_1_cfg_a),
+    .io_pmp_1_cfg_x(pmp_io_pmp_1_cfg_x),
+    .io_pmp_1_cfg_w(pmp_io_pmp_1_cfg_w),
+    .io_pmp_1_cfg_r(pmp_io_pmp_1_cfg_r),
+    .io_pmp_1_addr(pmp_io_pmp_1_addr),
+    .io_pmp_1_mask(pmp_io_pmp_1_mask),
+    .io_pmp_2_cfg_l(pmp_io_pmp_2_cfg_l),
+    .io_pmp_2_cfg_a(pmp_io_pmp_2_cfg_a),
+    .io_pmp_2_cfg_x(pmp_io_pmp_2_cfg_x),
+    .io_pmp_2_cfg_w(pmp_io_pmp_2_cfg_w),
+    .io_pmp_2_cfg_r(pmp_io_pmp_2_cfg_r),
+    .io_pmp_2_addr(pmp_io_pmp_2_addr),
+    .io_pmp_2_mask(pmp_io_pmp_2_mask),
+    .io_pmp_3_cfg_l(pmp_io_pmp_3_cfg_l),
+    .io_pmp_3_cfg_a(pmp_io_pmp_3_cfg_a),
+    .io_pmp_3_cfg_x(pmp_io_pmp_3_cfg_x),
+    .io_pmp_3_cfg_w(pmp_io_pmp_3_cfg_w),
+    .io_pmp_3_cfg_r(pmp_io_pmp_3_cfg_r),
+    .io_pmp_3_addr(pmp_io_pmp_3_addr),
+    .io_pmp_3_mask(pmp_io_pmp_3_mask),
+    .io_pmp_4_cfg_l(pmp_io_pmp_4_cfg_l),
+    .io_pmp_4_cfg_a(pmp_io_pmp_4_cfg_a),
+    .io_pmp_4_cfg_x(pmp_io_pmp_4_cfg_x),
+    .io_pmp_4_cfg_w(pmp_io_pmp_4_cfg_w),
+    .io_pmp_4_cfg_r(pmp_io_pmp_4_cfg_r),
+    .io_pmp_4_addr(pmp_io_pmp_4_addr),
+    .io_pmp_4_mask(pmp_io_pmp_4_mask),
+    .io_pmp_5_cfg_l(pmp_io_pmp_5_cfg_l),
+    .io_pmp_5_cfg_a(pmp_io_pmp_5_cfg_a),
+    .io_pmp_5_cfg_x(pmp_io_pmp_5_cfg_x),
+    .io_pmp_5_cfg_w(pmp_io_pmp_5_cfg_w),
+    .io_pmp_5_cfg_r(pmp_io_pmp_5_cfg_r),
+    .io_pmp_5_addr(pmp_io_pmp_5_addr),
+    .io_pmp_5_mask(pmp_io_pmp_5_mask),
+    .io_pmp_6_cfg_l(pmp_io_pmp_6_cfg_l),
+    .io_pmp_6_cfg_a(pmp_io_pmp_6_cfg_a),
+    .io_pmp_6_cfg_x(pmp_io_pmp_6_cfg_x),
+    .io_pmp_6_cfg_w(pmp_io_pmp_6_cfg_w),
+    .io_pmp_6_cfg_r(pmp_io_pmp_6_cfg_r),
+    .io_pmp_6_addr(pmp_io_pmp_6_addr),
+    .io_pmp_6_mask(pmp_io_pmp_6_mask),
+    .io_pmp_7_cfg_l(pmp_io_pmp_7_cfg_l),
+    .io_pmp_7_cfg_a(pmp_io_pmp_7_cfg_a),
+    .io_pmp_7_cfg_x(pmp_io_pmp_7_cfg_x),
+    .io_pmp_7_cfg_w(pmp_io_pmp_7_cfg_w),
+    .io_pmp_7_cfg_r(pmp_io_pmp_7_cfg_r),
+    .io_pmp_7_addr(pmp_io_pmp_7_addr),
+    .io_pmp_7_mask(pmp_io_pmp_7_mask),
+    .io_addr(pmp_io_addr),
+    .io_r(pmp_io_r),
+    .io_w(pmp_io_w),
+    .io_x(pmp_io_x)
+  );
+  assign vpn = io_req_bits_vaddr[31:12]; // @[TLB.scala 179:30:shc.marmotcaravel.MarmotCaravelConfig.fir@205897.4]
+  assign mpu_ppn = io_req_bits_vaddr[31:12]; // @[TLB.scala 184:123:shc.marmotcaravel.MarmotCaravelConfig.fir@205939.4]
+  assign _T_223 = io_req_bits_vaddr[11:0]; // @[TLB.scala 185:52:shc.marmotcaravel.MarmotCaravelConfig.fir@205942.4]
+  assign mpu_physaddr = {mpu_ppn,_T_223}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@205943.4]
+  assign _T_227 = mpu_physaddr ^ 32'h3000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@205962.4]
+  assign _T_228 = {1'b0,$signed(_T_227)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@205963.4]
+  assign _T_229 = $signed(_T_228) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@205964.4]
+  assign _T_230 = $signed(_T_229); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@205965.4]
+  assign _T_231 = $signed(_T_230) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@205966.4]
+  assign _T_232 = mpu_physaddr ^ 32'h10013000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@205967.4]
+  assign _T_233 = {1'b0,$signed(_T_232)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@205968.4]
+  assign _T_234 = $signed(_T_233) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@205969.4]
+  assign _T_235 = $signed(_T_234); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@205970.4]
+  assign _T_236 = $signed(_T_235) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@205971.4]
+  assign _T_237 = mpu_physaddr ^ 32'h10023000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@205972.4]
+  assign _T_238 = {1'b0,$signed(_T_237)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@205973.4]
+  assign _T_239 = $signed(_T_238) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@205974.4]
+  assign _T_240 = $signed(_T_239); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@205975.4]
+  assign _T_241 = $signed(_T_240) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@205976.4]
+  assign _T_242 = mpu_physaddr ^ 32'h10033000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@205977.4]
+  assign _T_243 = {1'b0,$signed(_T_242)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@205978.4]
+  assign _T_244 = $signed(_T_243) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@205979.4]
+  assign _T_245 = $signed(_T_244); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@205980.4]
+  assign _T_246 = $signed(_T_245) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@205981.4]
+  assign _T_247 = mpu_physaddr ^ 32'h10043000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@205982.4]
+  assign _T_248 = {1'b0,$signed(_T_247)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@205983.4]
+  assign _T_249 = $signed(_T_248) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@205984.4]
+  assign _T_250 = $signed(_T_249); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@205985.4]
+  assign _T_251 = $signed(_T_250) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@205986.4]
+  assign _T_252 = mpu_physaddr ^ 32'h10053000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@205987.4]
+  assign _T_253 = {1'b0,$signed(_T_252)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@205988.4]
+  assign _T_254 = $signed(_T_253) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@205989.4]
+  assign _T_255 = $signed(_T_254); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@205990.4]
+  assign _T_256 = $signed(_T_255) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@205991.4]
+  assign _T_257 = mpu_physaddr ^ 32'h10014000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@205992.4]
+  assign _T_258 = {1'b0,$signed(_T_257)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@205993.4]
+  assign _T_259 = $signed(_T_258) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@205994.4]
+  assign _T_260 = $signed(_T_259); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@205995.4]
+  assign _T_261 = $signed(_T_260) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@205996.4]
+  assign _T_262 = mpu_physaddr ^ 32'h20000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@205997.4]
+  assign _T_263 = {1'b0,$signed(_T_262)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@205998.4]
+  assign _T_264 = $signed(_T_263) & $signed(-33'sh20000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@205999.4]
+  assign _T_265 = $signed(_T_264); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206000.4]
+  assign _T_266 = $signed(_T_265) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206001.4]
+  assign _T_267 = mpu_physaddr ^ 32'h10024000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@206002.4]
+  assign _T_268 = {1'b0,$signed(_T_267)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@206003.4]
+  assign _T_269 = $signed(_T_268) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206004.4]
+  assign _T_270 = $signed(_T_269); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206005.4]
+  assign _T_271 = $signed(_T_270) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206006.4]
+  assign _T_272 = mpu_physaddr ^ 32'h10034000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@206007.4]
+  assign _T_273 = {1'b0,$signed(_T_272)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@206008.4]
+  assign _T_274 = $signed(_T_273) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206009.4]
+  assign _T_275 = $signed(_T_274); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206010.4]
+  assign _T_276 = $signed(_T_275) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206011.4]
+  assign _T_277 = mpu_physaddr ^ 32'h10012000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@206012.4]
+  assign _T_278 = {1'b0,$signed(_T_277)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@206013.4]
+  assign _T_279 = $signed(_T_278) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206014.4]
+  assign _T_280 = $signed(_T_279); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206015.4]
+  assign _T_281 = $signed(_T_280) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206016.4]
+  assign _T_282 = mpu_physaddr ^ 32'h10016000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@206017.4]
+  assign _T_283 = {1'b0,$signed(_T_282)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@206018.4]
+  assign _T_284 = $signed(_T_283) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206019.4]
+  assign _T_285 = $signed(_T_284); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206020.4]
+  assign _T_286 = $signed(_T_285) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206021.4]
+  assign _T_287 = mpu_physaddr ^ 32'h10026000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@206022.4]
+  assign _T_288 = {1'b0,$signed(_T_287)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@206023.4]
+  assign _T_289 = $signed(_T_288) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206024.4]
+  assign _T_290 = $signed(_T_289); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206025.4]
+  assign _T_291 = $signed(_T_290) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206026.4]
+  assign _T_292 = mpu_physaddr ^ 32'hc000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@206027.4]
+  assign _T_293 = {1'b0,$signed(_T_292)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@206028.4]
+  assign _T_294 = $signed(_T_293) & $signed(-33'sh4000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206029.4]
+  assign _T_295 = $signed(_T_294); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206030.4]
+  assign _T_296 = $signed(_T_295) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206031.4]
+  assign _T_297 = mpu_physaddr ^ 32'h2000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@206032.4]
+  assign _T_298 = {1'b0,$signed(_T_297)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@206033.4]
+  assign _T_299 = $signed(_T_298) & $signed(-33'sh10000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206034.4]
+  assign _T_300 = $signed(_T_299); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206035.4]
+  assign _T_301 = $signed(_T_300) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206036.4]
+  assign _T_303 = {1'b0,$signed(mpu_physaddr)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@206038.4]
+  assign _T_304 = $signed(_T_303) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206039.4]
+  assign _T_305 = $signed(_T_304); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206040.4]
+  assign _T_306 = $signed(_T_305) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206041.4]
+  assign _T_307 = mpu_physaddr ^ 32'h8000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@206042.4]
+  assign _T_308 = {1'b0,$signed(_T_307)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@206043.4]
+  assign _T_309 = $signed(_T_308) & $signed(-33'sh4000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206044.4]
+  assign _T_310 = $signed(_T_309); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206045.4]
+  assign _T_311 = $signed(_T_310) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206046.4]
+  assign _T_312 = mpu_physaddr ^ 32'h80000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@206047.4]
+  assign _T_313 = {1'b0,$signed(_T_312)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@206048.4]
+  assign _T_314 = $signed(_T_313) & $signed(-33'sh4000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206049.4]
+  assign _T_315 = $signed(_T_314); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206050.4]
+  assign _T_316 = $signed(_T_315) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206051.4]
+  assign _T_317 = mpu_physaddr ^ 32'h10000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@206052.4]
+  assign _T_318 = {1'b0,$signed(_T_317)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@206053.4]
+  assign _T_319 = $signed(_T_318) & $signed(-33'sh2000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206054.4]
+  assign _T_320 = $signed(_T_319); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206055.4]
+  assign _T_321 = $signed(_T_320) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206056.4]
+  assign _T_322 = mpu_physaddr ^ 32'h10000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@206057.4]
+  assign _T_323 = {1'b0,$signed(_T_322)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@206058.4]
+  assign _T_324 = $signed(_T_323) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206059.4]
+  assign _T_325 = $signed(_T_324); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206060.4]
+  assign _T_326 = $signed(_T_325) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206061.4]
+  assign _T_353 = _T_231 | _T_236; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206084.4]
+  assign _T_354 = _T_353 | _T_241; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206085.4]
+  assign _T_355 = _T_354 | _T_246; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206086.4]
+  assign _T_356 = _T_355 | _T_251; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206087.4]
+  assign _T_357 = _T_356 | _T_256; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206088.4]
+  assign _T_358 = _T_357 | _T_261; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206089.4]
+  assign _T_359 = _T_358 | _T_266; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206090.4]
+  assign _T_360 = _T_359 | _T_271; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206091.4]
+  assign _T_361 = _T_360 | _T_276; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206092.4]
+  assign _T_362 = _T_361 | _T_281; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206093.4]
+  assign _T_363 = _T_362 | _T_286; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206094.4]
+  assign _T_364 = _T_363 | _T_291; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206095.4]
+  assign _T_365 = _T_364 | _T_296; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206096.4]
+  assign _T_366 = _T_365 | _T_301; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206097.4]
+  assign _T_367 = _T_366 | _T_306; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206098.4]
+  assign _T_368 = _T_367 | _T_311; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206099.4]
+  assign _T_369 = _T_368 | _T_316; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206100.4]
+  assign _T_370 = _T_369 | _T_321; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206101.4]
+  assign legal_address = _T_370 | _T_326; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206102.4]
+  assign _T_481 = $signed(_T_303) & $signed(33'sh36010000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206215.4]
+  assign _T_482 = $signed(_T_481); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206216.4]
+  assign _T_483 = $signed(_T_482) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206217.4]
+  assign _T_486 = $signed(_T_263) & $signed(33'sh20000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206220.4]
+  assign _T_487 = $signed(_T_486); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206221.4]
+  assign _T_488 = $signed(_T_487) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206222.4]
+  assign _T_668 = $signed(_T_303) & $signed(33'sh36000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206403.4]
+  assign _T_669 = $signed(_T_668); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206404.4]
+  assign _T_670 = $signed(_T_669) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206405.4]
+  assign _T_681 = _T_670 | _T_488; // @[Parameters.scala 148:89:shc.marmotcaravel.MarmotCaravelConfig.fir@206416.4]
+  assign _T_682 = _T_681 | _T_483; // @[Parameters.scala 148:89:shc.marmotcaravel.MarmotCaravelConfig.fir@206417.4]
+  assign _T_689 = legal_address & _T_682; // @[TLB.scala 193:19:shc.marmotcaravel.MarmotCaravelConfig.fir@206423.4]
+  assign prot_x = _T_689 & pmp_io_x; // @[TLB.scala 200:40:shc.marmotcaravel.MarmotCaravelConfig.fir@206424.4]
+  assign _T_1341 = prot_x ? 2'h3 : 2'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@207427.4]
+  assign px_array = {_T_1341,5'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207432.4]
+  assign _T_1710 = ~ px_array; // @[TLB.scala 306:23:shc.marmotcaravel.MarmotCaravelConfig.fir@207828.4]
+  assign _T_1711 = _T_1710 & 7'h40; // @[TLB.scala 306:33:shc.marmotcaravel.MarmotCaravelConfig.fir@207829.4]
+  assign io_resp_paddr = {vpn,_T_223}; // @[TLB.scala 313:17:shc.marmotcaravel.MarmotCaravelConfig.fir@207851.4]
+  assign io_resp_ae_inst = _T_1711 != 7'h0; // @[TLB.scala 306:19:shc.marmotcaravel.MarmotCaravelConfig.fir@207831.4]
+  assign pmp_io_pmp_0_cfg_l = io_ptw_pmp_0_cfg_l; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@205950.4]
+  assign pmp_io_pmp_0_cfg_a = io_ptw_pmp_0_cfg_a; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@205950.4]
+  assign pmp_io_pmp_0_cfg_x = io_ptw_pmp_0_cfg_x; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@205950.4]
+  assign pmp_io_pmp_0_cfg_w = io_ptw_pmp_0_cfg_w; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@205950.4]
+  assign pmp_io_pmp_0_cfg_r = io_ptw_pmp_0_cfg_r; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@205950.4]
+  assign pmp_io_pmp_0_addr = io_ptw_pmp_0_addr; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@205950.4]
+  assign pmp_io_pmp_0_mask = io_ptw_pmp_0_mask; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@205950.4]
+  assign pmp_io_pmp_1_cfg_l = io_ptw_pmp_1_cfg_l; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@205951.4]
+  assign pmp_io_pmp_1_cfg_a = io_ptw_pmp_1_cfg_a; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@205951.4]
+  assign pmp_io_pmp_1_cfg_x = io_ptw_pmp_1_cfg_x; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@205951.4]
+  assign pmp_io_pmp_1_cfg_w = io_ptw_pmp_1_cfg_w; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@205951.4]
+  assign pmp_io_pmp_1_cfg_r = io_ptw_pmp_1_cfg_r; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@205951.4]
+  assign pmp_io_pmp_1_addr = io_ptw_pmp_1_addr; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@205951.4]
+  assign pmp_io_pmp_1_mask = io_ptw_pmp_1_mask; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@205951.4]
+  assign pmp_io_pmp_2_cfg_l = io_ptw_pmp_2_cfg_l; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@205952.4]
+  assign pmp_io_pmp_2_cfg_a = io_ptw_pmp_2_cfg_a; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@205952.4]
+  assign pmp_io_pmp_2_cfg_x = io_ptw_pmp_2_cfg_x; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@205952.4]
+  assign pmp_io_pmp_2_cfg_w = io_ptw_pmp_2_cfg_w; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@205952.4]
+  assign pmp_io_pmp_2_cfg_r = io_ptw_pmp_2_cfg_r; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@205952.4]
+  assign pmp_io_pmp_2_addr = io_ptw_pmp_2_addr; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@205952.4]
+  assign pmp_io_pmp_2_mask = io_ptw_pmp_2_mask; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@205952.4]
+  assign pmp_io_pmp_3_cfg_l = io_ptw_pmp_3_cfg_l; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@205953.4]
+  assign pmp_io_pmp_3_cfg_a = io_ptw_pmp_3_cfg_a; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@205953.4]
+  assign pmp_io_pmp_3_cfg_x = io_ptw_pmp_3_cfg_x; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@205953.4]
+  assign pmp_io_pmp_3_cfg_w = io_ptw_pmp_3_cfg_w; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@205953.4]
+  assign pmp_io_pmp_3_cfg_r = io_ptw_pmp_3_cfg_r; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@205953.4]
+  assign pmp_io_pmp_3_addr = io_ptw_pmp_3_addr; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@205953.4]
+  assign pmp_io_pmp_3_mask = io_ptw_pmp_3_mask; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@205953.4]
+  assign pmp_io_pmp_4_cfg_l = io_ptw_pmp_4_cfg_l; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@205954.4]
+  assign pmp_io_pmp_4_cfg_a = io_ptw_pmp_4_cfg_a; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@205954.4]
+  assign pmp_io_pmp_4_cfg_x = io_ptw_pmp_4_cfg_x; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@205954.4]
+  assign pmp_io_pmp_4_cfg_w = io_ptw_pmp_4_cfg_w; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@205954.4]
+  assign pmp_io_pmp_4_cfg_r = io_ptw_pmp_4_cfg_r; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@205954.4]
+  assign pmp_io_pmp_4_addr = io_ptw_pmp_4_addr; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@205954.4]
+  assign pmp_io_pmp_4_mask = io_ptw_pmp_4_mask; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@205954.4]
+  assign pmp_io_pmp_5_cfg_l = io_ptw_pmp_5_cfg_l; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@205955.4]
+  assign pmp_io_pmp_5_cfg_a = io_ptw_pmp_5_cfg_a; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@205955.4]
+  assign pmp_io_pmp_5_cfg_x = io_ptw_pmp_5_cfg_x; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@205955.4]
+  assign pmp_io_pmp_5_cfg_w = io_ptw_pmp_5_cfg_w; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@205955.4]
+  assign pmp_io_pmp_5_cfg_r = io_ptw_pmp_5_cfg_r; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@205955.4]
+  assign pmp_io_pmp_5_addr = io_ptw_pmp_5_addr; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@205955.4]
+  assign pmp_io_pmp_5_mask = io_ptw_pmp_5_mask; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@205955.4]
+  assign pmp_io_pmp_6_cfg_l = io_ptw_pmp_6_cfg_l; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@205956.4]
+  assign pmp_io_pmp_6_cfg_a = io_ptw_pmp_6_cfg_a; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@205956.4]
+  assign pmp_io_pmp_6_cfg_x = io_ptw_pmp_6_cfg_x; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@205956.4]
+  assign pmp_io_pmp_6_cfg_w = io_ptw_pmp_6_cfg_w; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@205956.4]
+  assign pmp_io_pmp_6_cfg_r = io_ptw_pmp_6_cfg_r; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@205956.4]
+  assign pmp_io_pmp_6_addr = io_ptw_pmp_6_addr; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@205956.4]
+  assign pmp_io_pmp_6_mask = io_ptw_pmp_6_mask; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@205956.4]
+  assign pmp_io_pmp_7_cfg_l = io_ptw_pmp_7_cfg_l; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@205957.4]
+  assign pmp_io_pmp_7_cfg_a = io_ptw_pmp_7_cfg_a; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@205957.4]
+  assign pmp_io_pmp_7_cfg_x = io_ptw_pmp_7_cfg_x; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@205957.4]
+  assign pmp_io_pmp_7_cfg_w = io_ptw_pmp_7_cfg_w; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@205957.4]
+  assign pmp_io_pmp_7_cfg_r = io_ptw_pmp_7_cfg_r; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@205957.4]
+  assign pmp_io_pmp_7_addr = io_ptw_pmp_7_addr; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@205957.4]
+  assign pmp_io_pmp_7_mask = io_ptw_pmp_7_mask; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@205957.4]
+  assign pmp_io_addr = {mpu_ppn,_T_223}; // @[TLB.scala 187:15:shc.marmotcaravel.MarmotCaravelConfig.fir@205948.4]
+endmodule
+module BTB( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@207858.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@207859.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@207860.4]
+  input  [31:0] io_req_bits_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@207861.4]
+  output        io_resp_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@207861.4]
+  output        io_resp_bits_taken, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@207861.4]
+  output        io_resp_bits_bridx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@207861.4]
+  output [31:0] io_resp_bits_target, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@207861.4]
+  output [4:0]  io_resp_bits_entry, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@207861.4]
+  output [7:0]  io_resp_bits_bht_history, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@207861.4]
+  output        io_resp_bits_bht_value, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@207861.4]
+  input         io_btb_update_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@207861.4]
+  input  [4:0]  io_btb_update_bits_prediction_entry, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@207861.4]
+  input  [31:0] io_btb_update_bits_pc, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@207861.4]
+  input         io_btb_update_bits_isValid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@207861.4]
+  input  [31:0] io_btb_update_bits_br_pc, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@207861.4]
+  input  [1:0]  io_btb_update_bits_cfiType, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@207861.4]
+  input         io_bht_update_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@207861.4]
+  input  [7:0]  io_bht_update_bits_prediction_history, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@207861.4]
+  input  [31:0] io_bht_update_bits_pc, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@207861.4]
+  input         io_bht_update_bits_branch, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@207861.4]
+  input         io_bht_update_bits_taken, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@207861.4]
+  input         io_bht_update_bits_mispredict, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@207861.4]
+  input         io_bht_advance_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@207861.4]
+  input         io_bht_advance_bits_bht_value, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@207861.4]
+  input         io_ras_update_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@207861.4]
+  input  [1:0]  io_ras_update_bits_cfiType, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@207861.4]
+  input  [31:0] io_ras_update_bits_returnAddr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@207861.4]
+  output        io_ras_head_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@207861.4]
+  output [31:0] io_ras_head_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@207861.4]
+  input         io_flush // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@207861.4]
+);
+  reg  _T_1161 [0:511]; // @[BTB.scala 113:26:shc.marmotcaravel.MarmotCaravelConfig.fir@208869.4]
+  reg [31:0] _RAND_0;
+  wire  _T_1161__T_1232_data; // @[BTB.scala 113:26:shc.marmotcaravel.MarmotCaravelConfig.fir@208869.4]
+  wire [8:0] _T_1161__T_1232_addr; // @[BTB.scala 113:26:shc.marmotcaravel.MarmotCaravelConfig.fir@208869.4]
+  wire  _T_1161__T_1245_data; // @[BTB.scala 113:26:shc.marmotcaravel.MarmotCaravelConfig.fir@208869.4]
+  wire [8:0] _T_1161__T_1245_addr; // @[BTB.scala 113:26:shc.marmotcaravel.MarmotCaravelConfig.fir@208869.4]
+  wire  _T_1161__T_1245_mask; // @[BTB.scala 113:26:shc.marmotcaravel.MarmotCaravelConfig.fir@208869.4]
+  wire  _T_1161__T_1245_en; // @[BTB.scala 113:26:shc.marmotcaravel.MarmotCaravelConfig.fir@208869.4]
+  reg [12:0] idxs_0; // @[BTB.scala 188:17:shc.marmotcaravel.MarmotCaravelConfig.fir@207866.4]
+  reg [31:0] _RAND_1;
+  reg [12:0] idxs_1; // @[BTB.scala 188:17:shc.marmotcaravel.MarmotCaravelConfig.fir@207866.4]
+  reg [31:0] _RAND_2;
+  reg [12:0] idxs_2; // @[BTB.scala 188:17:shc.marmotcaravel.MarmotCaravelConfig.fir@207866.4]
+  reg [31:0] _RAND_3;
+  reg [12:0] idxs_3; // @[BTB.scala 188:17:shc.marmotcaravel.MarmotCaravelConfig.fir@207866.4]
+  reg [31:0] _RAND_4;
+  reg [12:0] idxs_4; // @[BTB.scala 188:17:shc.marmotcaravel.MarmotCaravelConfig.fir@207866.4]
+  reg [31:0] _RAND_5;
+  reg [12:0] idxs_5; // @[BTB.scala 188:17:shc.marmotcaravel.MarmotCaravelConfig.fir@207866.4]
+  reg [31:0] _RAND_6;
+  reg [12:0] idxs_6; // @[BTB.scala 188:17:shc.marmotcaravel.MarmotCaravelConfig.fir@207866.4]
+  reg [31:0] _RAND_7;
+  reg [12:0] idxs_7; // @[BTB.scala 188:17:shc.marmotcaravel.MarmotCaravelConfig.fir@207866.4]
+  reg [31:0] _RAND_8;
+  reg [12:0] idxs_8; // @[BTB.scala 188:17:shc.marmotcaravel.MarmotCaravelConfig.fir@207866.4]
+  reg [31:0] _RAND_9;
+  reg [12:0] idxs_9; // @[BTB.scala 188:17:shc.marmotcaravel.MarmotCaravelConfig.fir@207866.4]
+  reg [31:0] _RAND_10;
+  reg [12:0] idxs_10; // @[BTB.scala 188:17:shc.marmotcaravel.MarmotCaravelConfig.fir@207866.4]
+  reg [31:0] _RAND_11;
+  reg [12:0] idxs_11; // @[BTB.scala 188:17:shc.marmotcaravel.MarmotCaravelConfig.fir@207866.4]
+  reg [31:0] _RAND_12;
+  reg [12:0] idxs_12; // @[BTB.scala 188:17:shc.marmotcaravel.MarmotCaravelConfig.fir@207866.4]
+  reg [31:0] _RAND_13;
+  reg [12:0] idxs_13; // @[BTB.scala 188:17:shc.marmotcaravel.MarmotCaravelConfig.fir@207866.4]
+  reg [31:0] _RAND_14;
+  reg [12:0] idxs_14; // @[BTB.scala 188:17:shc.marmotcaravel.MarmotCaravelConfig.fir@207866.4]
+  reg [31:0] _RAND_15;
+  reg [12:0] idxs_15; // @[BTB.scala 188:17:shc.marmotcaravel.MarmotCaravelConfig.fir@207866.4]
+  reg [31:0] _RAND_16;
+  reg [12:0] idxs_16; // @[BTB.scala 188:17:shc.marmotcaravel.MarmotCaravelConfig.fir@207866.4]
+  reg [31:0] _RAND_17;
+  reg [12:0] idxs_17; // @[BTB.scala 188:17:shc.marmotcaravel.MarmotCaravelConfig.fir@207866.4]
+  reg [31:0] _RAND_18;
+  reg [12:0] idxs_18; // @[BTB.scala 188:17:shc.marmotcaravel.MarmotCaravelConfig.fir@207866.4]
+  reg [31:0] _RAND_19;
+  reg [12:0] idxs_19; // @[BTB.scala 188:17:shc.marmotcaravel.MarmotCaravelConfig.fir@207866.4]
+  reg [31:0] _RAND_20;
+  reg [12:0] idxs_20; // @[BTB.scala 188:17:shc.marmotcaravel.MarmotCaravelConfig.fir@207866.4]
+  reg [31:0] _RAND_21;
+  reg [12:0] idxs_21; // @[BTB.scala 188:17:shc.marmotcaravel.MarmotCaravelConfig.fir@207866.4]
+  reg [31:0] _RAND_22;
+  reg [12:0] idxs_22; // @[BTB.scala 188:17:shc.marmotcaravel.MarmotCaravelConfig.fir@207866.4]
+  reg [31:0] _RAND_23;
+  reg [12:0] idxs_23; // @[BTB.scala 188:17:shc.marmotcaravel.MarmotCaravelConfig.fir@207866.4]
+  reg [31:0] _RAND_24;
+  reg [12:0] idxs_24; // @[BTB.scala 188:17:shc.marmotcaravel.MarmotCaravelConfig.fir@207866.4]
+  reg [31:0] _RAND_25;
+  reg [12:0] idxs_25; // @[BTB.scala 188:17:shc.marmotcaravel.MarmotCaravelConfig.fir@207866.4]
+  reg [31:0] _RAND_26;
+  reg [12:0] idxs_26; // @[BTB.scala 188:17:shc.marmotcaravel.MarmotCaravelConfig.fir@207866.4]
+  reg [31:0] _RAND_27;
+  reg [12:0] idxs_27; // @[BTB.scala 188:17:shc.marmotcaravel.MarmotCaravelConfig.fir@207866.4]
+  reg [31:0] _RAND_28;
+  reg [2:0] idxPages_0; // @[BTB.scala 189:21:shc.marmotcaravel.MarmotCaravelConfig.fir@207867.4]
+  reg [31:0] _RAND_29;
+  reg [2:0] idxPages_1; // @[BTB.scala 189:21:shc.marmotcaravel.MarmotCaravelConfig.fir@207867.4]
+  reg [31:0] _RAND_30;
+  reg [2:0] idxPages_2; // @[BTB.scala 189:21:shc.marmotcaravel.MarmotCaravelConfig.fir@207867.4]
+  reg [31:0] _RAND_31;
+  reg [2:0] idxPages_3; // @[BTB.scala 189:21:shc.marmotcaravel.MarmotCaravelConfig.fir@207867.4]
+  reg [31:0] _RAND_32;
+  reg [2:0] idxPages_4; // @[BTB.scala 189:21:shc.marmotcaravel.MarmotCaravelConfig.fir@207867.4]
+  reg [31:0] _RAND_33;
+  reg [2:0] idxPages_5; // @[BTB.scala 189:21:shc.marmotcaravel.MarmotCaravelConfig.fir@207867.4]
+  reg [31:0] _RAND_34;
+  reg [2:0] idxPages_6; // @[BTB.scala 189:21:shc.marmotcaravel.MarmotCaravelConfig.fir@207867.4]
+  reg [31:0] _RAND_35;
+  reg [2:0] idxPages_7; // @[BTB.scala 189:21:shc.marmotcaravel.MarmotCaravelConfig.fir@207867.4]
+  reg [31:0] _RAND_36;
+  reg [2:0] idxPages_8; // @[BTB.scala 189:21:shc.marmotcaravel.MarmotCaravelConfig.fir@207867.4]
+  reg [31:0] _RAND_37;
+  reg [2:0] idxPages_9; // @[BTB.scala 189:21:shc.marmotcaravel.MarmotCaravelConfig.fir@207867.4]
+  reg [31:0] _RAND_38;
+  reg [2:0] idxPages_10; // @[BTB.scala 189:21:shc.marmotcaravel.MarmotCaravelConfig.fir@207867.4]
+  reg [31:0] _RAND_39;
+  reg [2:0] idxPages_11; // @[BTB.scala 189:21:shc.marmotcaravel.MarmotCaravelConfig.fir@207867.4]
+  reg [31:0] _RAND_40;
+  reg [2:0] idxPages_12; // @[BTB.scala 189:21:shc.marmotcaravel.MarmotCaravelConfig.fir@207867.4]
+  reg [31:0] _RAND_41;
+  reg [2:0] idxPages_13; // @[BTB.scala 189:21:shc.marmotcaravel.MarmotCaravelConfig.fir@207867.4]
+  reg [31:0] _RAND_42;
+  reg [2:0] idxPages_14; // @[BTB.scala 189:21:shc.marmotcaravel.MarmotCaravelConfig.fir@207867.4]
+  reg [31:0] _RAND_43;
+  reg [2:0] idxPages_15; // @[BTB.scala 189:21:shc.marmotcaravel.MarmotCaravelConfig.fir@207867.4]
+  reg [31:0] _RAND_44;
+  reg [2:0] idxPages_16; // @[BTB.scala 189:21:shc.marmotcaravel.MarmotCaravelConfig.fir@207867.4]
+  reg [31:0] _RAND_45;
+  reg [2:0] idxPages_17; // @[BTB.scala 189:21:shc.marmotcaravel.MarmotCaravelConfig.fir@207867.4]
+  reg [31:0] _RAND_46;
+  reg [2:0] idxPages_18; // @[BTB.scala 189:21:shc.marmotcaravel.MarmotCaravelConfig.fir@207867.4]
+  reg [31:0] _RAND_47;
+  reg [2:0] idxPages_19; // @[BTB.scala 189:21:shc.marmotcaravel.MarmotCaravelConfig.fir@207867.4]
+  reg [31:0] _RAND_48;
+  reg [2:0] idxPages_20; // @[BTB.scala 189:21:shc.marmotcaravel.MarmotCaravelConfig.fir@207867.4]
+  reg [31:0] _RAND_49;
+  reg [2:0] idxPages_21; // @[BTB.scala 189:21:shc.marmotcaravel.MarmotCaravelConfig.fir@207867.4]
+  reg [31:0] _RAND_50;
+  reg [2:0] idxPages_22; // @[BTB.scala 189:21:shc.marmotcaravel.MarmotCaravelConfig.fir@207867.4]
+  reg [31:0] _RAND_51;
+  reg [2:0] idxPages_23; // @[BTB.scala 189:21:shc.marmotcaravel.MarmotCaravelConfig.fir@207867.4]
+  reg [31:0] _RAND_52;
+  reg [2:0] idxPages_24; // @[BTB.scala 189:21:shc.marmotcaravel.MarmotCaravelConfig.fir@207867.4]
+  reg [31:0] _RAND_53;
+  reg [2:0] idxPages_25; // @[BTB.scala 189:21:shc.marmotcaravel.MarmotCaravelConfig.fir@207867.4]
+  reg [31:0] _RAND_54;
+  reg [2:0] idxPages_26; // @[BTB.scala 189:21:shc.marmotcaravel.MarmotCaravelConfig.fir@207867.4]
+  reg [31:0] _RAND_55;
+  reg [2:0] idxPages_27; // @[BTB.scala 189:21:shc.marmotcaravel.MarmotCaravelConfig.fir@207867.4]
+  reg [31:0] _RAND_56;
+  reg [12:0] tgts_0; // @[BTB.scala 190:17:shc.marmotcaravel.MarmotCaravelConfig.fir@207868.4]
+  reg [31:0] _RAND_57;
+  reg [12:0] tgts_1; // @[BTB.scala 190:17:shc.marmotcaravel.MarmotCaravelConfig.fir@207868.4]
+  reg [31:0] _RAND_58;
+  reg [12:0] tgts_2; // @[BTB.scala 190:17:shc.marmotcaravel.MarmotCaravelConfig.fir@207868.4]
+  reg [31:0] _RAND_59;
+  reg [12:0] tgts_3; // @[BTB.scala 190:17:shc.marmotcaravel.MarmotCaravelConfig.fir@207868.4]
+  reg [31:0] _RAND_60;
+  reg [12:0] tgts_4; // @[BTB.scala 190:17:shc.marmotcaravel.MarmotCaravelConfig.fir@207868.4]
+  reg [31:0] _RAND_61;
+  reg [12:0] tgts_5; // @[BTB.scala 190:17:shc.marmotcaravel.MarmotCaravelConfig.fir@207868.4]
+  reg [31:0] _RAND_62;
+  reg [12:0] tgts_6; // @[BTB.scala 190:17:shc.marmotcaravel.MarmotCaravelConfig.fir@207868.4]
+  reg [31:0] _RAND_63;
+  reg [12:0] tgts_7; // @[BTB.scala 190:17:shc.marmotcaravel.MarmotCaravelConfig.fir@207868.4]
+  reg [31:0] _RAND_64;
+  reg [12:0] tgts_8; // @[BTB.scala 190:17:shc.marmotcaravel.MarmotCaravelConfig.fir@207868.4]
+  reg [31:0] _RAND_65;
+  reg [12:0] tgts_9; // @[BTB.scala 190:17:shc.marmotcaravel.MarmotCaravelConfig.fir@207868.4]
+  reg [31:0] _RAND_66;
+  reg [12:0] tgts_10; // @[BTB.scala 190:17:shc.marmotcaravel.MarmotCaravelConfig.fir@207868.4]
+  reg [31:0] _RAND_67;
+  reg [12:0] tgts_11; // @[BTB.scala 190:17:shc.marmotcaravel.MarmotCaravelConfig.fir@207868.4]
+  reg [31:0] _RAND_68;
+  reg [12:0] tgts_12; // @[BTB.scala 190:17:shc.marmotcaravel.MarmotCaravelConfig.fir@207868.4]
+  reg [31:0] _RAND_69;
+  reg [12:0] tgts_13; // @[BTB.scala 190:17:shc.marmotcaravel.MarmotCaravelConfig.fir@207868.4]
+  reg [31:0] _RAND_70;
+  reg [12:0] tgts_14; // @[BTB.scala 190:17:shc.marmotcaravel.MarmotCaravelConfig.fir@207868.4]
+  reg [31:0] _RAND_71;
+  reg [12:0] tgts_15; // @[BTB.scala 190:17:shc.marmotcaravel.MarmotCaravelConfig.fir@207868.4]
+  reg [31:0] _RAND_72;
+  reg [12:0] tgts_16; // @[BTB.scala 190:17:shc.marmotcaravel.MarmotCaravelConfig.fir@207868.4]
+  reg [31:0] _RAND_73;
+  reg [12:0] tgts_17; // @[BTB.scala 190:17:shc.marmotcaravel.MarmotCaravelConfig.fir@207868.4]
+  reg [31:0] _RAND_74;
+  reg [12:0] tgts_18; // @[BTB.scala 190:17:shc.marmotcaravel.MarmotCaravelConfig.fir@207868.4]
+  reg [31:0] _RAND_75;
+  reg [12:0] tgts_19; // @[BTB.scala 190:17:shc.marmotcaravel.MarmotCaravelConfig.fir@207868.4]
+  reg [31:0] _RAND_76;
+  reg [12:0] tgts_20; // @[BTB.scala 190:17:shc.marmotcaravel.MarmotCaravelConfig.fir@207868.4]
+  reg [31:0] _RAND_77;
+  reg [12:0] tgts_21; // @[BTB.scala 190:17:shc.marmotcaravel.MarmotCaravelConfig.fir@207868.4]
+  reg [31:0] _RAND_78;
+  reg [12:0] tgts_22; // @[BTB.scala 190:17:shc.marmotcaravel.MarmotCaravelConfig.fir@207868.4]
+  reg [31:0] _RAND_79;
+  reg [12:0] tgts_23; // @[BTB.scala 190:17:shc.marmotcaravel.MarmotCaravelConfig.fir@207868.4]
+  reg [31:0] _RAND_80;
+  reg [12:0] tgts_24; // @[BTB.scala 190:17:shc.marmotcaravel.MarmotCaravelConfig.fir@207868.4]
+  reg [31:0] _RAND_81;
+  reg [12:0] tgts_25; // @[BTB.scala 190:17:shc.marmotcaravel.MarmotCaravelConfig.fir@207868.4]
+  reg [31:0] _RAND_82;
+  reg [12:0] tgts_26; // @[BTB.scala 190:17:shc.marmotcaravel.MarmotCaravelConfig.fir@207868.4]
+  reg [31:0] _RAND_83;
+  reg [12:0] tgts_27; // @[BTB.scala 190:17:shc.marmotcaravel.MarmotCaravelConfig.fir@207868.4]
+  reg [31:0] _RAND_84;
+  reg [2:0] tgtPages_0; // @[BTB.scala 191:21:shc.marmotcaravel.MarmotCaravelConfig.fir@207869.4]
+  reg [31:0] _RAND_85;
+  reg [2:0] tgtPages_1; // @[BTB.scala 191:21:shc.marmotcaravel.MarmotCaravelConfig.fir@207869.4]
+  reg [31:0] _RAND_86;
+  reg [2:0] tgtPages_2; // @[BTB.scala 191:21:shc.marmotcaravel.MarmotCaravelConfig.fir@207869.4]
+  reg [31:0] _RAND_87;
+  reg [2:0] tgtPages_3; // @[BTB.scala 191:21:shc.marmotcaravel.MarmotCaravelConfig.fir@207869.4]
+  reg [31:0] _RAND_88;
+  reg [2:0] tgtPages_4; // @[BTB.scala 191:21:shc.marmotcaravel.MarmotCaravelConfig.fir@207869.4]
+  reg [31:0] _RAND_89;
+  reg [2:0] tgtPages_5; // @[BTB.scala 191:21:shc.marmotcaravel.MarmotCaravelConfig.fir@207869.4]
+  reg [31:0] _RAND_90;
+  reg [2:0] tgtPages_6; // @[BTB.scala 191:21:shc.marmotcaravel.MarmotCaravelConfig.fir@207869.4]
+  reg [31:0] _RAND_91;
+  reg [2:0] tgtPages_7; // @[BTB.scala 191:21:shc.marmotcaravel.MarmotCaravelConfig.fir@207869.4]
+  reg [31:0] _RAND_92;
+  reg [2:0] tgtPages_8; // @[BTB.scala 191:21:shc.marmotcaravel.MarmotCaravelConfig.fir@207869.4]
+  reg [31:0] _RAND_93;
+  reg [2:0] tgtPages_9; // @[BTB.scala 191:21:shc.marmotcaravel.MarmotCaravelConfig.fir@207869.4]
+  reg [31:0] _RAND_94;
+  reg [2:0] tgtPages_10; // @[BTB.scala 191:21:shc.marmotcaravel.MarmotCaravelConfig.fir@207869.4]
+  reg [31:0] _RAND_95;
+  reg [2:0] tgtPages_11; // @[BTB.scala 191:21:shc.marmotcaravel.MarmotCaravelConfig.fir@207869.4]
+  reg [31:0] _RAND_96;
+  reg [2:0] tgtPages_12; // @[BTB.scala 191:21:shc.marmotcaravel.MarmotCaravelConfig.fir@207869.4]
+  reg [31:0] _RAND_97;
+  reg [2:0] tgtPages_13; // @[BTB.scala 191:21:shc.marmotcaravel.MarmotCaravelConfig.fir@207869.4]
+  reg [31:0] _RAND_98;
+  reg [2:0] tgtPages_14; // @[BTB.scala 191:21:shc.marmotcaravel.MarmotCaravelConfig.fir@207869.4]
+  reg [31:0] _RAND_99;
+  reg [2:0] tgtPages_15; // @[BTB.scala 191:21:shc.marmotcaravel.MarmotCaravelConfig.fir@207869.4]
+  reg [31:0] _RAND_100;
+  reg [2:0] tgtPages_16; // @[BTB.scala 191:21:shc.marmotcaravel.MarmotCaravelConfig.fir@207869.4]
+  reg [31:0] _RAND_101;
+  reg [2:0] tgtPages_17; // @[BTB.scala 191:21:shc.marmotcaravel.MarmotCaravelConfig.fir@207869.4]
+  reg [31:0] _RAND_102;
+  reg [2:0] tgtPages_18; // @[BTB.scala 191:21:shc.marmotcaravel.MarmotCaravelConfig.fir@207869.4]
+  reg [31:0] _RAND_103;
+  reg [2:0] tgtPages_19; // @[BTB.scala 191:21:shc.marmotcaravel.MarmotCaravelConfig.fir@207869.4]
+  reg [31:0] _RAND_104;
+  reg [2:0] tgtPages_20; // @[BTB.scala 191:21:shc.marmotcaravel.MarmotCaravelConfig.fir@207869.4]
+  reg [31:0] _RAND_105;
+  reg [2:0] tgtPages_21; // @[BTB.scala 191:21:shc.marmotcaravel.MarmotCaravelConfig.fir@207869.4]
+  reg [31:0] _RAND_106;
+  reg [2:0] tgtPages_22; // @[BTB.scala 191:21:shc.marmotcaravel.MarmotCaravelConfig.fir@207869.4]
+  reg [31:0] _RAND_107;
+  reg [2:0] tgtPages_23; // @[BTB.scala 191:21:shc.marmotcaravel.MarmotCaravelConfig.fir@207869.4]
+  reg [31:0] _RAND_108;
+  reg [2:0] tgtPages_24; // @[BTB.scala 191:21:shc.marmotcaravel.MarmotCaravelConfig.fir@207869.4]
+  reg [31:0] _RAND_109;
+  reg [2:0] tgtPages_25; // @[BTB.scala 191:21:shc.marmotcaravel.MarmotCaravelConfig.fir@207869.4]
+  reg [31:0] _RAND_110;
+  reg [2:0] tgtPages_26; // @[BTB.scala 191:21:shc.marmotcaravel.MarmotCaravelConfig.fir@207869.4]
+  reg [31:0] _RAND_111;
+  reg [2:0] tgtPages_27; // @[BTB.scala 191:21:shc.marmotcaravel.MarmotCaravelConfig.fir@207869.4]
+  reg [31:0] _RAND_112;
+  reg [17:0] pages_0; // @[BTB.scala 192:18:shc.marmotcaravel.MarmotCaravelConfig.fir@207870.4]
+  reg [31:0] _RAND_113;
+  reg [17:0] pages_1; // @[BTB.scala 192:18:shc.marmotcaravel.MarmotCaravelConfig.fir@207870.4]
+  reg [31:0] _RAND_114;
+  reg [17:0] pages_2; // @[BTB.scala 192:18:shc.marmotcaravel.MarmotCaravelConfig.fir@207870.4]
+  reg [31:0] _RAND_115;
+  reg [17:0] pages_3; // @[BTB.scala 192:18:shc.marmotcaravel.MarmotCaravelConfig.fir@207870.4]
+  reg [31:0] _RAND_116;
+  reg [17:0] pages_4; // @[BTB.scala 192:18:shc.marmotcaravel.MarmotCaravelConfig.fir@207870.4]
+  reg [31:0] _RAND_117;
+  reg [17:0] pages_5; // @[BTB.scala 192:18:shc.marmotcaravel.MarmotCaravelConfig.fir@207870.4]
+  reg [31:0] _RAND_118;
+  reg [5:0] pageValid; // @[BTB.scala 193:22:shc.marmotcaravel.MarmotCaravelConfig.fir@207871.4]
+  reg [31:0] _RAND_119;
+  reg [27:0] isValid; // @[BTB.scala 195:20:shc.marmotcaravel.MarmotCaravelConfig.fir@207872.4]
+  reg [31:0] _RAND_120;
+  reg [1:0] cfiType_0; // @[BTB.scala 196:20:shc.marmotcaravel.MarmotCaravelConfig.fir@207873.4]
+  reg [31:0] _RAND_121;
+  reg [1:0] cfiType_1; // @[BTB.scala 196:20:shc.marmotcaravel.MarmotCaravelConfig.fir@207873.4]
+  reg [31:0] _RAND_122;
+  reg [1:0] cfiType_2; // @[BTB.scala 196:20:shc.marmotcaravel.MarmotCaravelConfig.fir@207873.4]
+  reg [31:0] _RAND_123;
+  reg [1:0] cfiType_3; // @[BTB.scala 196:20:shc.marmotcaravel.MarmotCaravelConfig.fir@207873.4]
+  reg [31:0] _RAND_124;
+  reg [1:0] cfiType_4; // @[BTB.scala 196:20:shc.marmotcaravel.MarmotCaravelConfig.fir@207873.4]
+  reg [31:0] _RAND_125;
+  reg [1:0] cfiType_5; // @[BTB.scala 196:20:shc.marmotcaravel.MarmotCaravelConfig.fir@207873.4]
+  reg [31:0] _RAND_126;
+  reg [1:0] cfiType_6; // @[BTB.scala 196:20:shc.marmotcaravel.MarmotCaravelConfig.fir@207873.4]
+  reg [31:0] _RAND_127;
+  reg [1:0] cfiType_7; // @[BTB.scala 196:20:shc.marmotcaravel.MarmotCaravelConfig.fir@207873.4]
+  reg [31:0] _RAND_128;
+  reg [1:0] cfiType_8; // @[BTB.scala 196:20:shc.marmotcaravel.MarmotCaravelConfig.fir@207873.4]
+  reg [31:0] _RAND_129;
+  reg [1:0] cfiType_9; // @[BTB.scala 196:20:shc.marmotcaravel.MarmotCaravelConfig.fir@207873.4]
+  reg [31:0] _RAND_130;
+  reg [1:0] cfiType_10; // @[BTB.scala 196:20:shc.marmotcaravel.MarmotCaravelConfig.fir@207873.4]
+  reg [31:0] _RAND_131;
+  reg [1:0] cfiType_11; // @[BTB.scala 196:20:shc.marmotcaravel.MarmotCaravelConfig.fir@207873.4]
+  reg [31:0] _RAND_132;
+  reg [1:0] cfiType_12; // @[BTB.scala 196:20:shc.marmotcaravel.MarmotCaravelConfig.fir@207873.4]
+  reg [31:0] _RAND_133;
+  reg [1:0] cfiType_13; // @[BTB.scala 196:20:shc.marmotcaravel.MarmotCaravelConfig.fir@207873.4]
+  reg [31:0] _RAND_134;
+  reg [1:0] cfiType_14; // @[BTB.scala 196:20:shc.marmotcaravel.MarmotCaravelConfig.fir@207873.4]
+  reg [31:0] _RAND_135;
+  reg [1:0] cfiType_15; // @[BTB.scala 196:20:shc.marmotcaravel.MarmotCaravelConfig.fir@207873.4]
+  reg [31:0] _RAND_136;
+  reg [1:0] cfiType_16; // @[BTB.scala 196:20:shc.marmotcaravel.MarmotCaravelConfig.fir@207873.4]
+  reg [31:0] _RAND_137;
+  reg [1:0] cfiType_17; // @[BTB.scala 196:20:shc.marmotcaravel.MarmotCaravelConfig.fir@207873.4]
+  reg [31:0] _RAND_138;
+  reg [1:0] cfiType_18; // @[BTB.scala 196:20:shc.marmotcaravel.MarmotCaravelConfig.fir@207873.4]
+  reg [31:0] _RAND_139;
+  reg [1:0] cfiType_19; // @[BTB.scala 196:20:shc.marmotcaravel.MarmotCaravelConfig.fir@207873.4]
+  reg [31:0] _RAND_140;
+  reg [1:0] cfiType_20; // @[BTB.scala 196:20:shc.marmotcaravel.MarmotCaravelConfig.fir@207873.4]
+  reg [31:0] _RAND_141;
+  reg [1:0] cfiType_21; // @[BTB.scala 196:20:shc.marmotcaravel.MarmotCaravelConfig.fir@207873.4]
+  reg [31:0] _RAND_142;
+  reg [1:0] cfiType_22; // @[BTB.scala 196:20:shc.marmotcaravel.MarmotCaravelConfig.fir@207873.4]
+  reg [31:0] _RAND_143;
+  reg [1:0] cfiType_23; // @[BTB.scala 196:20:shc.marmotcaravel.MarmotCaravelConfig.fir@207873.4]
+  reg [31:0] _RAND_144;
+  reg [1:0] cfiType_24; // @[BTB.scala 196:20:shc.marmotcaravel.MarmotCaravelConfig.fir@207873.4]
+  reg [31:0] _RAND_145;
+  reg [1:0] cfiType_25; // @[BTB.scala 196:20:shc.marmotcaravel.MarmotCaravelConfig.fir@207873.4]
+  reg [31:0] _RAND_146;
+  reg [1:0] cfiType_26; // @[BTB.scala 196:20:shc.marmotcaravel.MarmotCaravelConfig.fir@207873.4]
+  reg [31:0] _RAND_147;
+  reg [1:0] cfiType_27; // @[BTB.scala 196:20:shc.marmotcaravel.MarmotCaravelConfig.fir@207873.4]
+  reg [31:0] _RAND_148;
+  reg  brIdx_0; // @[BTB.scala 197:18:shc.marmotcaravel.MarmotCaravelConfig.fir@207874.4]
+  reg [31:0] _RAND_149;
+  reg  brIdx_1; // @[BTB.scala 197:18:shc.marmotcaravel.MarmotCaravelConfig.fir@207874.4]
+  reg [31:0] _RAND_150;
+  reg  brIdx_2; // @[BTB.scala 197:18:shc.marmotcaravel.MarmotCaravelConfig.fir@207874.4]
+  reg [31:0] _RAND_151;
+  reg  brIdx_3; // @[BTB.scala 197:18:shc.marmotcaravel.MarmotCaravelConfig.fir@207874.4]
+  reg [31:0] _RAND_152;
+  reg  brIdx_4; // @[BTB.scala 197:18:shc.marmotcaravel.MarmotCaravelConfig.fir@207874.4]
+  reg [31:0] _RAND_153;
+  reg  brIdx_5; // @[BTB.scala 197:18:shc.marmotcaravel.MarmotCaravelConfig.fir@207874.4]
+  reg [31:0] _RAND_154;
+  reg  brIdx_6; // @[BTB.scala 197:18:shc.marmotcaravel.MarmotCaravelConfig.fir@207874.4]
+  reg [31:0] _RAND_155;
+  reg  brIdx_7; // @[BTB.scala 197:18:shc.marmotcaravel.MarmotCaravelConfig.fir@207874.4]
+  reg [31:0] _RAND_156;
+  reg  brIdx_8; // @[BTB.scala 197:18:shc.marmotcaravel.MarmotCaravelConfig.fir@207874.4]
+  reg [31:0] _RAND_157;
+  reg  brIdx_9; // @[BTB.scala 197:18:shc.marmotcaravel.MarmotCaravelConfig.fir@207874.4]
+  reg [31:0] _RAND_158;
+  reg  brIdx_10; // @[BTB.scala 197:18:shc.marmotcaravel.MarmotCaravelConfig.fir@207874.4]
+  reg [31:0] _RAND_159;
+  reg  brIdx_11; // @[BTB.scala 197:18:shc.marmotcaravel.MarmotCaravelConfig.fir@207874.4]
+  reg [31:0] _RAND_160;
+  reg  brIdx_12; // @[BTB.scala 197:18:shc.marmotcaravel.MarmotCaravelConfig.fir@207874.4]
+  reg [31:0] _RAND_161;
+  reg  brIdx_13; // @[BTB.scala 197:18:shc.marmotcaravel.MarmotCaravelConfig.fir@207874.4]
+  reg [31:0] _RAND_162;
+  reg  brIdx_14; // @[BTB.scala 197:18:shc.marmotcaravel.MarmotCaravelConfig.fir@207874.4]
+  reg [31:0] _RAND_163;
+  reg  brIdx_15; // @[BTB.scala 197:18:shc.marmotcaravel.MarmotCaravelConfig.fir@207874.4]
+  reg [31:0] _RAND_164;
+  reg  brIdx_16; // @[BTB.scala 197:18:shc.marmotcaravel.MarmotCaravelConfig.fir@207874.4]
+  reg [31:0] _RAND_165;
+  reg  brIdx_17; // @[BTB.scala 197:18:shc.marmotcaravel.MarmotCaravelConfig.fir@207874.4]
+  reg [31:0] _RAND_166;
+  reg  brIdx_18; // @[BTB.scala 197:18:shc.marmotcaravel.MarmotCaravelConfig.fir@207874.4]
+  reg [31:0] _RAND_167;
+  reg  brIdx_19; // @[BTB.scala 197:18:shc.marmotcaravel.MarmotCaravelConfig.fir@207874.4]
+  reg [31:0] _RAND_168;
+  reg  brIdx_20; // @[BTB.scala 197:18:shc.marmotcaravel.MarmotCaravelConfig.fir@207874.4]
+  reg [31:0] _RAND_169;
+  reg  brIdx_21; // @[BTB.scala 197:18:shc.marmotcaravel.MarmotCaravelConfig.fir@207874.4]
+  reg [31:0] _RAND_170;
+  reg  brIdx_22; // @[BTB.scala 197:18:shc.marmotcaravel.MarmotCaravelConfig.fir@207874.4]
+  reg [31:0] _RAND_171;
+  reg  brIdx_23; // @[BTB.scala 197:18:shc.marmotcaravel.MarmotCaravelConfig.fir@207874.4]
+  reg [31:0] _RAND_172;
+  reg  brIdx_24; // @[BTB.scala 197:18:shc.marmotcaravel.MarmotCaravelConfig.fir@207874.4]
+  reg [31:0] _RAND_173;
+  reg  brIdx_25; // @[BTB.scala 197:18:shc.marmotcaravel.MarmotCaravelConfig.fir@207874.4]
+  reg [31:0] _RAND_174;
+  reg  brIdx_26; // @[BTB.scala 197:18:shc.marmotcaravel.MarmotCaravelConfig.fir@207874.4]
+  reg [31:0] _RAND_175;
+  reg  brIdx_27; // @[BTB.scala 197:18:shc.marmotcaravel.MarmotCaravelConfig.fir@207874.4]
+  reg [31:0] _RAND_176;
+  reg  r_btb_update_valid; // @[Valid.scala 48:22:shc.marmotcaravel.MarmotCaravelConfig.fir@207875.4]
+  reg [31:0] _RAND_177;
+  reg [4:0] r_btb_update_bits_prediction_entry; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207877.4]
+  reg [31:0] _RAND_178;
+  reg [31:0] r_btb_update_bits_pc; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207877.4]
+  reg [31:0] _RAND_179;
+  reg  r_btb_update_bits_isValid; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207877.4]
+  reg [31:0] _RAND_180;
+  reg [31:0] r_btb_update_bits_br_pc; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207877.4]
+  reg [31:0] _RAND_181;
+  reg [1:0] r_btb_update_bits_cfiType; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207877.4]
+  reg [31:0] _RAND_182;
+  wire [17:0] _T_248; // @[BTB.scala 199:39:shc.marmotcaravel.MarmotCaravelConfig.fir@207898.4]
+  wire  _T_249; // @[BTB.scala 202:29:shc.marmotcaravel.MarmotCaravelConfig.fir@207899.4]
+  wire  _T_250; // @[BTB.scala 202:29:shc.marmotcaravel.MarmotCaravelConfig.fir@207900.4]
+  wire  _T_251; // @[BTB.scala 202:29:shc.marmotcaravel.MarmotCaravelConfig.fir@207901.4]
+  wire  _T_252; // @[BTB.scala 202:29:shc.marmotcaravel.MarmotCaravelConfig.fir@207902.4]
+  wire  _T_253; // @[BTB.scala 202:29:shc.marmotcaravel.MarmotCaravelConfig.fir@207903.4]
+  wire  _T_254; // @[BTB.scala 202:29:shc.marmotcaravel.MarmotCaravelConfig.fir@207904.4]
+  wire [1:0] _T_255; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207905.4]
+  wire [2:0] _T_256; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207906.4]
+  wire [1:0] _T_257; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207907.4]
+  wire [2:0] _T_258; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207908.4]
+  wire [5:0] _T_259; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207909.4]
+  wire [5:0] pageHit; // @[BTB.scala 202:15:shc.marmotcaravel.MarmotCaravelConfig.fir@207910.4]
+  wire [12:0] _T_260; // @[BTB.scala 205:19:shc.marmotcaravel.MarmotCaravelConfig.fir@207911.4]
+  wire  _T_261; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207912.4]
+  wire  _T_262; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207913.4]
+  wire  _T_263; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207914.4]
+  wire  _T_264; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207915.4]
+  wire  _T_265; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207916.4]
+  wire  _T_266; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207917.4]
+  wire  _T_267; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207918.4]
+  wire  _T_268; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207919.4]
+  wire  _T_269; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207920.4]
+  wire  _T_270; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207921.4]
+  wire  _T_271; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207922.4]
+  wire  _T_272; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207923.4]
+  wire  _T_273; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207924.4]
+  wire  _T_274; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207925.4]
+  wire  _T_275; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207926.4]
+  wire  _T_276; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207927.4]
+  wire  _T_277; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207928.4]
+  wire  _T_278; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207929.4]
+  wire  _T_279; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207930.4]
+  wire  _T_280; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207931.4]
+  wire  _T_281; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207932.4]
+  wire  _T_282; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207933.4]
+  wire  _T_283; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207934.4]
+  wire  _T_284; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207935.4]
+  wire  _T_285; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207936.4]
+  wire  _T_286; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207937.4]
+  wire  _T_287; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207938.4]
+  wire  _T_288; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207939.4]
+  wire [1:0] _T_289; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207940.4]
+  wire [2:0] _T_290; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207941.4]
+  wire [1:0] _T_291; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207942.4]
+  wire [1:0] _T_292; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207943.4]
+  wire [3:0] _T_293; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207944.4]
+  wire [6:0] _T_294; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207945.4]
+  wire [1:0] _T_295; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207946.4]
+  wire [2:0] _T_296; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207947.4]
+  wire [1:0] _T_297; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207948.4]
+  wire [1:0] _T_298; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207949.4]
+  wire [3:0] _T_299; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207950.4]
+  wire [6:0] _T_300; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207951.4]
+  wire [13:0] _T_301; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207952.4]
+  wire [1:0] _T_302; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207953.4]
+  wire [2:0] _T_303; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207954.4]
+  wire [1:0] _T_304; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207955.4]
+  wire [1:0] _T_305; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207956.4]
+  wire [3:0] _T_306; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207957.4]
+  wire [6:0] _T_307; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207958.4]
+  wire [1:0] _T_308; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207959.4]
+  wire [2:0] _T_309; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207960.4]
+  wire [1:0] _T_310; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207961.4]
+  wire [1:0] _T_311; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207962.4]
+  wire [3:0] _T_312; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207963.4]
+  wire [6:0] _T_313; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207964.4]
+  wire [13:0] _T_314; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207965.4]
+  wire [27:0] _T_315; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207966.4]
+  wire [27:0] idxHit; // @[BTB.scala 206:32:shc.marmotcaravel.MarmotCaravelConfig.fir@207967.4]
+  wire [17:0] _T_316; // @[BTB.scala 199:39:shc.marmotcaravel.MarmotCaravelConfig.fir@207968.4]
+  wire  _T_317; // @[BTB.scala 202:29:shc.marmotcaravel.MarmotCaravelConfig.fir@207969.4]
+  wire  _T_318; // @[BTB.scala 202:29:shc.marmotcaravel.MarmotCaravelConfig.fir@207970.4]
+  wire  _T_319; // @[BTB.scala 202:29:shc.marmotcaravel.MarmotCaravelConfig.fir@207971.4]
+  wire  _T_320; // @[BTB.scala 202:29:shc.marmotcaravel.MarmotCaravelConfig.fir@207972.4]
+  wire  _T_321; // @[BTB.scala 202:29:shc.marmotcaravel.MarmotCaravelConfig.fir@207973.4]
+  wire  _T_322; // @[BTB.scala 202:29:shc.marmotcaravel.MarmotCaravelConfig.fir@207974.4]
+  wire [1:0] _T_323; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207975.4]
+  wire [2:0] _T_324; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207976.4]
+  wire [1:0] _T_325; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207977.4]
+  wire [2:0] _T_326; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207978.4]
+  wire [5:0] _T_327; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207979.4]
+  wire [5:0] updatePageHit; // @[BTB.scala 202:15:shc.marmotcaravel.MarmotCaravelConfig.fir@207980.4]
+  wire  updateHit; // @[BTB.scala 220:48:shc.marmotcaravel.MarmotCaravelConfig.fir@207981.4]
+  wire  useUpdatePageHit; // @[BTB.scala 222:40:shc.marmotcaravel.MarmotCaravelConfig.fir@207982.4]
+  wire  usePageHit; // @[BTB.scala 223:28:shc.marmotcaravel.MarmotCaravelConfig.fir@207983.4]
+  wire  doIdxPageRepl; // @[BTB.scala 224:23:shc.marmotcaravel.MarmotCaravelConfig.fir@207984.4]
+  reg [2:0] nextPageRepl; // @[BTB.scala 225:25:shc.marmotcaravel.MarmotCaravelConfig.fir@207985.4]
+  reg [31:0] _RAND_183;
+  wire [4:0] _T_329; // @[BTB.scala 226:32:shc.marmotcaravel.MarmotCaravelConfig.fir@207986.4]
+  wire  _T_330; // @[BTB.scala 226:53:shc.marmotcaravel.MarmotCaravelConfig.fir@207987.4]
+  wire [5:0] _T_331; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207988.4]
+  wire [7:0] _T_332; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@207989.4]
+  wire [7:0] _T_333; // @[BTB.scala 226:70:shc.marmotcaravel.MarmotCaravelConfig.fir@207990.4]
+  wire [7:0] _GEN_438; // @[BTB.scala 226:65:shc.marmotcaravel.MarmotCaravelConfig.fir@207991.4]
+  wire [7:0] idxPageRepl; // @[BTB.scala 226:65:shc.marmotcaravel.MarmotCaravelConfig.fir@207991.4]
+  wire [7:0] idxPageUpdateOH; // @[BTB.scala 227:28:shc.marmotcaravel.MarmotCaravelConfig.fir@207992.4]
+  wire [3:0] _T_334; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@207993.4]
+  wire [3:0] _T_335; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@207994.4]
+  wire  _T_336; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@207995.4]
+  wire [3:0] _T_337; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@207996.4]
+  wire [1:0] _T_338; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@207997.4]
+  wire [1:0] _T_339; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@207998.4]
+  wire  _T_340; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@207999.4]
+  wire [1:0] _T_341; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@208000.4]
+  wire  _T_342; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@208001.4]
+  wire [1:0] _T_343; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208002.4]
+  wire [2:0] idxPageUpdate; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208003.4]
+  wire [7:0] idxPageReplEn; // @[BTB.scala 229:26:shc.marmotcaravel.MarmotCaravelConfig.fir@208004.4]
+  wire  samePage; // @[BTB.scala 231:45:shc.marmotcaravel.MarmotCaravelConfig.fir@208007.4]
+  wire  _T_346; // @[BTB.scala 232:23:shc.marmotcaravel.MarmotCaravelConfig.fir@208008.4]
+  wire  _T_347; // @[BTB.scala 232:36:shc.marmotcaravel.MarmotCaravelConfig.fir@208009.4]
+  wire  doTgtPageRepl; // @[BTB.scala 232:33:shc.marmotcaravel.MarmotCaravelConfig.fir@208010.4]
+  wire [4:0] _T_348; // @[BTB.scala 233:71:shc.marmotcaravel.MarmotCaravelConfig.fir@208011.4]
+  wire  _T_349; // @[BTB.scala 233:100:shc.marmotcaravel.MarmotCaravelConfig.fir@208012.4]
+  wire [5:0] _T_350; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208013.4]
+  wire [7:0] tgtPageRepl; // @[BTB.scala 233:24:shc.marmotcaravel.MarmotCaravelConfig.fir@208014.4]
+  wire [7:0] _T_351; // @[BTB.scala 234:45:shc.marmotcaravel.MarmotCaravelConfig.fir@208015.4]
+  wire [7:0] _GEN_439; // @[BTB.scala 234:40:shc.marmotcaravel.MarmotCaravelConfig.fir@208016.4]
+  wire [7:0] _T_352; // @[BTB.scala 234:40:shc.marmotcaravel.MarmotCaravelConfig.fir@208016.4]
+  wire [3:0] _T_353; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@208017.4]
+  wire [3:0] _T_354; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@208018.4]
+  wire  _T_355; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@208019.4]
+  wire [3:0] _T_356; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@208020.4]
+  wire [1:0] _T_357; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@208021.4]
+  wire [1:0] _T_358; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@208022.4]
+  wire  _T_359; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@208023.4]
+  wire [1:0] _T_360; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@208024.4]
+  wire  _T_361; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@208025.4]
+  wire [1:0] _T_362; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208026.4]
+  wire [2:0] tgtPageUpdate; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208027.4]
+  wire [7:0] tgtPageReplEn; // @[BTB.scala 235:26:shc.marmotcaravel.MarmotCaravelConfig.fir@208028.4]
+  wire  _T_363; // @[BTB.scala 237:46:shc.marmotcaravel.MarmotCaravelConfig.fir@208029.4]
+  wire  _T_364; // @[BTB.scala 237:28:shc.marmotcaravel.MarmotCaravelConfig.fir@208030.4]
+  wire  _T_365; // @[BTB.scala 238:30:shc.marmotcaravel.MarmotCaravelConfig.fir@208032.6]
+  wire [1:0] _T_366; // @[BTB.scala 239:40:shc.marmotcaravel.MarmotCaravelConfig.fir@208033.6]
+  wire [2:0] _GEN_440; // @[BTB.scala 239:29:shc.marmotcaravel.MarmotCaravelConfig.fir@208034.6]
+  wire [2:0] _T_368; // @[BTB.scala 239:29:shc.marmotcaravel.MarmotCaravelConfig.fir@208035.6]
+  wire  _T_369; // @[BTB.scala 240:30:shc.marmotcaravel.MarmotCaravelConfig.fir@208036.6]
+  wire  _T_370; // @[BTB.scala 240:45:shc.marmotcaravel.MarmotCaravelConfig.fir@208037.6]
+  reg [26:0] _T_373; // @[Replacement.scala 41:30:shc.marmotcaravel.MarmotCaravelConfig.fir@208041.4]
+  reg [31:0] _RAND_184;
+  wire [27:0] _GEN_441; // @[Replacement.scala 57:31:shc.marmotcaravel.MarmotCaravelConfig.fir@208042.4]
+  wire [27:0] _T_374; // @[Replacement.scala 57:31:shc.marmotcaravel.MarmotCaravelConfig.fir@208042.4]
+  wire [27:0] _T_378; // @[Replacement.scala 61:48:shc.marmotcaravel.MarmotCaravelConfig.fir@208046.4]
+  wire  _T_379; // @[Replacement.scala 61:48:shc.marmotcaravel.MarmotCaravelConfig.fir@208047.4]
+  wire [1:0] _T_381; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208049.4]
+  wire [5:0] _T_382; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208050.4]
+  wire [4:0] _T_383; // @[Replacement.scala 60:53:shc.marmotcaravel.MarmotCaravelConfig.fir@208051.4]
+  wire  _T_384; // @[Replacement.scala 60:70:shc.marmotcaravel.MarmotCaravelConfig.fir@208052.4]
+  wire [27:0] _T_385; // @[Replacement.scala 61:48:shc.marmotcaravel.MarmotCaravelConfig.fir@208053.4]
+  wire  _T_386; // @[Replacement.scala 61:48:shc.marmotcaravel.MarmotCaravelConfig.fir@208054.4]
+  wire  _T_387; // @[Replacement.scala 61:32:shc.marmotcaravel.MarmotCaravelConfig.fir@208055.4]
+  wire [2:0] _T_388; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208056.4]
+  wire [5:0] _T_389; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208057.4]
+  wire [4:0] _T_390; // @[Replacement.scala 60:53:shc.marmotcaravel.MarmotCaravelConfig.fir@208058.4]
+  wire  _T_391; // @[Replacement.scala 60:70:shc.marmotcaravel.MarmotCaravelConfig.fir@208059.4]
+  wire [27:0] _T_392; // @[Replacement.scala 61:48:shc.marmotcaravel.MarmotCaravelConfig.fir@208060.4]
+  wire  _T_393; // @[Replacement.scala 61:48:shc.marmotcaravel.MarmotCaravelConfig.fir@208061.4]
+  wire  _T_394; // @[Replacement.scala 61:32:shc.marmotcaravel.MarmotCaravelConfig.fir@208062.4]
+  wire [3:0] _T_395; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208063.4]
+  wire [5:0] _T_396; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208064.4]
+  wire [4:0] _T_397; // @[Replacement.scala 60:53:shc.marmotcaravel.MarmotCaravelConfig.fir@208065.4]
+  wire  _T_398; // @[Replacement.scala 60:70:shc.marmotcaravel.MarmotCaravelConfig.fir@208066.4]
+  wire [27:0] _T_399; // @[Replacement.scala 61:48:shc.marmotcaravel.MarmotCaravelConfig.fir@208067.4]
+  wire  _T_400; // @[Replacement.scala 61:48:shc.marmotcaravel.MarmotCaravelConfig.fir@208068.4]
+  wire  _T_401; // @[Replacement.scala 61:32:shc.marmotcaravel.MarmotCaravelConfig.fir@208069.4]
+  wire [4:0] _T_402; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208070.4]
+  wire [5:0] _T_403; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208071.4]
+  wire [4:0] _T_404; // @[Replacement.scala 60:53:shc.marmotcaravel.MarmotCaravelConfig.fir@208072.4]
+  wire  _T_405; // @[Replacement.scala 60:70:shc.marmotcaravel.MarmotCaravelConfig.fir@208073.4]
+  wire [27:0] _T_406; // @[Replacement.scala 61:48:shc.marmotcaravel.MarmotCaravelConfig.fir@208074.4]
+  wire  _T_407; // @[Replacement.scala 61:48:shc.marmotcaravel.MarmotCaravelConfig.fir@208075.4]
+  wire  _T_408; // @[Replacement.scala 61:32:shc.marmotcaravel.MarmotCaravelConfig.fir@208076.4]
+  wire [5:0] _T_409; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208077.4]
+  wire [4:0] _T_410; // @[Replacement.scala 63:8:shc.marmotcaravel.MarmotCaravelConfig.fir@208078.4]
+  wire [4:0] waddr; // @[BTB.scala 244:18:shc.marmotcaravel.MarmotCaravelConfig.fir@208079.4]
+  reg  r_resp_valid; // @[Valid.scala 48:22:shc.marmotcaravel.MarmotCaravelConfig.fir@208080.4]
+  reg [31:0] _RAND_185;
+  reg  r_resp_bits_taken; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208082.4]
+  reg [31:0] _RAND_186;
+  reg [4:0] r_resp_bits_entry; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208082.4]
+  reg [31:0] _RAND_187;
+  wire  _T_419; // @[BTB.scala 246:22:shc.marmotcaravel.MarmotCaravelConfig.fir@208097.4]
+  wire  _T_420; // @[BTB.scala 246:43:shc.marmotcaravel.MarmotCaravelConfig.fir@208098.4]
+  wire [4:0] _T_421; // @[BTB.scala 247:20:shc.marmotcaravel.MarmotCaravelConfig.fir@208100.6]
+  wire  _T_423; // @[Replacement.scala 49:20:shc.marmotcaravel.MarmotCaravelConfig.fir@208102.6]
+  wire  _T_424; // @[Replacement.scala 50:43:shc.marmotcaravel.MarmotCaravelConfig.fir@208103.6]
+  wire [1:0] _T_425; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208104.6]
+  wire [27:0] _GEN_443; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208105.6]
+  wire [27:0] _T_426; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208105.6]
+  wire [27:0] _T_427; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208106.6]
+  wire [27:0] _T_428; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208107.6]
+  wire [27:0] _T_429; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208108.6]
+  wire [27:0] _T_430; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208109.6]
+  wire [1:0] _T_431; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208110.6]
+  wire  _T_432; // @[Replacement.scala 49:20:shc.marmotcaravel.MarmotCaravelConfig.fir@208111.6]
+  wire  _T_433; // @[Replacement.scala 50:43:shc.marmotcaravel.MarmotCaravelConfig.fir@208112.6]
+  wire [3:0] _T_434; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208113.6]
+  wire [27:0] _GEN_445; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208114.6]
+  wire [27:0] _T_435; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208114.6]
+  wire [27:0] _T_436; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208115.6]
+  wire [27:0] _T_437; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208116.6]
+  wire [27:0] _T_438; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208117.6]
+  wire [27:0] _T_439; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208118.6]
+  wire [2:0] _T_440; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208119.6]
+  wire  _T_441; // @[Replacement.scala 49:20:shc.marmotcaravel.MarmotCaravelConfig.fir@208120.6]
+  wire  _T_442; // @[Replacement.scala 50:43:shc.marmotcaravel.MarmotCaravelConfig.fir@208121.6]
+  wire [7:0] _T_443; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208122.6]
+  wire [27:0] _GEN_447; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208123.6]
+  wire [27:0] _T_444; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208123.6]
+  wire [27:0] _T_445; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208124.6]
+  wire [27:0] _T_446; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208125.6]
+  wire [27:0] _T_447; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208126.6]
+  wire [27:0] _T_448; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208127.6]
+  wire [3:0] _T_449; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208128.6]
+  wire  _T_450; // @[Replacement.scala 49:20:shc.marmotcaravel.MarmotCaravelConfig.fir@208129.6]
+  wire  _T_451; // @[Replacement.scala 50:43:shc.marmotcaravel.MarmotCaravelConfig.fir@208130.6]
+  wire [15:0] _T_452; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208131.6]
+  wire [27:0] _GEN_449; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208132.6]
+  wire [27:0] _T_453; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208132.6]
+  wire [27:0] _T_454; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208133.6]
+  wire [27:0] _T_455; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208134.6]
+  wire [27:0] _T_456; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208135.6]
+  wire [27:0] _T_457; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208136.6]
+  wire [4:0] _T_458; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208137.6]
+  wire  _T_459; // @[Replacement.scala 49:20:shc.marmotcaravel.MarmotCaravelConfig.fir@208138.6]
+  wire  _T_460; // @[Replacement.scala 50:43:shc.marmotcaravel.MarmotCaravelConfig.fir@208139.6]
+  wire [31:0] _T_461; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208140.6]
+  wire [31:0] _GEN_451; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208141.6]
+  wire [31:0] _T_462; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208141.6]
+  wire [27:0] _T_463; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208142.6]
+  wire [31:0] _GEN_452; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208143.6]
+  wire [31:0] _T_464; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208143.6]
+  wire [31:0] _T_465; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208144.6]
+  wire [31:0] _T_466; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208145.6]
+  wire [26:0] _T_468; // @[package.scala 119:13:shc.marmotcaravel.MarmotCaravelConfig.fir@208147.6]
+  wire [31:0] _T_469; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@208151.6]
+  wire [12:0] _T_471; // @[BTB.scala 252:40:shc.marmotcaravel.MarmotCaravelConfig.fir@208152.6]
+  wire [3:0] _T_475; // @[BTB.scala 254:38:shc.marmotcaravel.MarmotCaravelConfig.fir@208156.6]
+  wire [2:0] _idxPages_waddr; // @[BTB.scala 254:21:shc.marmotcaravel.MarmotCaravelConfig.fir@208157.6 BTB.scala 254:21:shc.marmotcaravel.MarmotCaravelConfig.fir@208157.6]
+  wire [31:0] _GEN_453; // @[BTB.scala 257:55:shc.marmotcaravel.MarmotCaravelConfig.fir@208160.6]
+  wire [31:0] _T_478; // @[BTB.scala 257:55:shc.marmotcaravel.MarmotCaravelConfig.fir@208160.6]
+  wire [31:0] _T_479; // @[BTB.scala 257:73:shc.marmotcaravel.MarmotCaravelConfig.fir@208161.6]
+  wire [31:0] _T_480; // @[BTB.scala 257:71:shc.marmotcaravel.MarmotCaravelConfig.fir@208162.6]
+  wire [31:0] _T_481; // @[BTB.scala 257:19:shc.marmotcaravel.MarmotCaravelConfig.fir@208163.6]
+  wire [30:0] _T_483; // @[BTB.scala 259:47:shc.marmotcaravel.MarmotCaravelConfig.fir@208165.6]
+  wire  _brIdx_waddr; // @[BTB.scala 259:20:shc.marmotcaravel.MarmotCaravelConfig.fir@208166.6 BTB.scala 259:20:shc.marmotcaravel.MarmotCaravelConfig.fir@208166.6]
+  wire  _T_484; // @[BTB.scala 262:39:shc.marmotcaravel.MarmotCaravelConfig.fir@208167.6]
+  wire  _T_485; // @[BTB.scala 262:25:shc.marmotcaravel.MarmotCaravelConfig.fir@208168.6]
+  wire [7:0] _T_486; // @[BTB.scala 268:24:shc.marmotcaravel.MarmotCaravelConfig.fir@208169.6]
+  wire  _T_490; // @[BTB.scala 266:17:shc.marmotcaravel.MarmotCaravelConfig.fir@208173.6]
+  wire  _T_491; // @[BTB.scala 266:17:shc.marmotcaravel.MarmotCaravelConfig.fir@208177.6]
+  wire  _T_492; // @[BTB.scala 266:17:shc.marmotcaravel.MarmotCaravelConfig.fir@208181.6]
+  wire [7:0] _T_493; // @[BTB.scala 270:24:shc.marmotcaravel.MarmotCaravelConfig.fir@208185.6]
+  wire  _T_497; // @[BTB.scala 266:17:shc.marmotcaravel.MarmotCaravelConfig.fir@208189.6]
+  wire  _T_498; // @[BTB.scala 266:17:shc.marmotcaravel.MarmotCaravelConfig.fir@208193.6]
+  wire  _T_499; // @[BTB.scala 266:17:shc.marmotcaravel.MarmotCaravelConfig.fir@208197.6]
+  wire [7:0] _GEN_455; // @[BTB.scala 272:28:shc.marmotcaravel.MarmotCaravelConfig.fir@208201.6]
+  wire [7:0] _T_500; // @[BTB.scala 272:28:shc.marmotcaravel.MarmotCaravelConfig.fir@208201.6]
+  wire [7:0] _T_501; // @[BTB.scala 272:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208202.6]
+  wire [31:0] _GEN_338; // @[BTB.scala 250:29:shc.marmotcaravel.MarmotCaravelConfig.fir@208150.4]
+  wire [7:0] _GEN_373; // @[BTB.scala 250:29:shc.marmotcaravel.MarmotCaravelConfig.fir@208150.4]
+  wire [6:0] _GEN_456; // @[BTB.scala 275:29:shc.marmotcaravel.MarmotCaravelConfig.fir@208205.4]
+  wire [6:0] _T_502; // @[BTB.scala 275:29:shc.marmotcaravel.MarmotCaravelConfig.fir@208205.4]
+  wire  _T_503; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@208206.4]
+  wire  _T_504; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@208207.4]
+  wire  _T_505; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@208208.4]
+  wire  _T_506; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@208209.4]
+  wire  _T_507; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@208210.4]
+  wire  _T_508; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@208211.4]
+  wire  _T_509; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@208212.4]
+  wire  _T_510; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@208213.4]
+  wire  _T_511; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@208214.4]
+  wire  _T_512; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@208215.4]
+  wire  _T_513; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@208216.4]
+  wire  _T_514; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@208217.4]
+  wire  _T_515; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@208218.4]
+  wire  _T_516; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@208219.4]
+  wire  _T_517; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@208220.4]
+  wire  _T_518; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@208221.4]
+  wire  _T_519; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@208222.4]
+  wire  _T_520; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@208223.4]
+  wire  _T_521; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@208224.4]
+  wire  _T_522; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@208225.4]
+  wire  _T_523; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@208226.4]
+  wire  _T_524; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@208227.4]
+  wire  _T_525; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@208228.4]
+  wire  _T_526; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@208229.4]
+  wire  _T_527; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@208230.4]
+  wire  _T_528; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@208231.4]
+  wire  _T_529; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@208232.4]
+  wire  _T_530; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@208233.4]
+  wire [2:0] _T_532; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208234.4]
+  wire [2:0] _T_533; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208235.4]
+  wire [2:0] _T_534; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208236.4]
+  wire [2:0] _T_535; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208237.4]
+  wire [2:0] _T_536; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208238.4]
+  wire [2:0] _T_537; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208239.4]
+  wire [2:0] _T_538; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208240.4]
+  wire [2:0] _T_539; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208241.4]
+  wire [2:0] _T_540; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208242.4]
+  wire [2:0] _T_541; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208243.4]
+  wire [2:0] _T_542; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208244.4]
+  wire [2:0] _T_543; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208245.4]
+  wire [2:0] _T_544; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208246.4]
+  wire [2:0] _T_545; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208247.4]
+  wire [2:0] _T_546; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208248.4]
+  wire [2:0] _T_547; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208249.4]
+  wire [2:0] _T_548; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208250.4]
+  wire [2:0] _T_549; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208251.4]
+  wire [2:0] _T_550; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208252.4]
+  wire [2:0] _T_551; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208253.4]
+  wire [2:0] _T_552; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208254.4]
+  wire [2:0] _T_553; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208255.4]
+  wire [2:0] _T_554; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208256.4]
+  wire [2:0] _T_555; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208257.4]
+  wire [2:0] _T_556; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208258.4]
+  wire [2:0] _T_557; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208259.4]
+  wire [2:0] _T_558; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208260.4]
+  wire [2:0] _T_559; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208261.4]
+  wire [2:0] _T_560; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208262.4]
+  wire [2:0] _T_561; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208263.4]
+  wire [2:0] _T_562; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208264.4]
+  wire [2:0] _T_563; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208265.4]
+  wire [2:0] _T_564; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208266.4]
+  wire [2:0] _T_565; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208267.4]
+  wire [2:0] _T_566; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208268.4]
+  wire [2:0] _T_567; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208269.4]
+  wire [2:0] _T_568; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208270.4]
+  wire [2:0] _T_569; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208271.4]
+  wire [2:0] _T_570; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208272.4]
+  wire [2:0] _T_571; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208273.4]
+  wire [2:0] _T_572; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208274.4]
+  wire [2:0] _T_573; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208275.4]
+  wire [2:0] _T_574; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208276.4]
+  wire [2:0] _T_575; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208277.4]
+  wire [2:0] _T_576; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208278.4]
+  wire [2:0] _T_577; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208279.4]
+  wire [2:0] _T_578; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208280.4]
+  wire [2:0] _T_579; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208281.4]
+  wire [2:0] _T_580; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208282.4]
+  wire [2:0] _T_581; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208283.4]
+  wire [2:0] _T_582; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208284.4]
+  wire [2:0] _T_583; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208285.4]
+  wire [2:0] _T_584; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208286.4]
+  wire [2:0] _T_585; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208287.4]
+  wire [2:0] _T_586; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208288.4]
+  wire [6:0] _T_589; // @[BTB.scala 275:34:shc.marmotcaravel.MarmotCaravelConfig.fir@208291.4]
+  wire [2:0] _T_620; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208323.4]
+  wire [2:0] _T_621; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208324.4]
+  wire [2:0] _T_622; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208325.4]
+  wire [2:0] _T_623; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208326.4]
+  wire [2:0] _T_624; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208327.4]
+  wire [2:0] _T_625; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208328.4]
+  wire [2:0] _T_626; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208329.4]
+  wire [2:0] _T_627; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208330.4]
+  wire [2:0] _T_628; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208331.4]
+  wire [2:0] _T_629; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208332.4]
+  wire [2:0] _T_630; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208333.4]
+  wire [2:0] _T_631; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208334.4]
+  wire [2:0] _T_632; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208335.4]
+  wire [2:0] _T_633; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208336.4]
+  wire [2:0] _T_634; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208337.4]
+  wire [2:0] _T_635; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208338.4]
+  wire [2:0] _T_636; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208339.4]
+  wire [2:0] _T_637; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208340.4]
+  wire [2:0] _T_638; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208341.4]
+  wire [2:0] _T_639; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208342.4]
+  wire [2:0] _T_640; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208343.4]
+  wire [2:0] _T_641; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208344.4]
+  wire [2:0] _T_642; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208345.4]
+  wire [2:0] _T_643; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208346.4]
+  wire [2:0] _T_644; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208347.4]
+  wire [2:0] _T_645; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208348.4]
+  wire [2:0] _T_646; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208349.4]
+  wire [2:0] _T_647; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208350.4]
+  wire [2:0] _T_648; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208351.4]
+  wire [2:0] _T_649; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208352.4]
+  wire [2:0] _T_650; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208353.4]
+  wire [2:0] _T_651; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208354.4]
+  wire [2:0] _T_652; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208355.4]
+  wire [2:0] _T_653; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208356.4]
+  wire [2:0] _T_654; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208357.4]
+  wire [2:0] _T_655; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208358.4]
+  wire [2:0] _T_656; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208359.4]
+  wire [2:0] _T_657; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208360.4]
+  wire [2:0] _T_658; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208361.4]
+  wire [2:0] _T_659; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208362.4]
+  wire [2:0] _T_660; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208363.4]
+  wire [2:0] _T_661; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208364.4]
+  wire [2:0] _T_662; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208365.4]
+  wire [2:0] _T_663; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208366.4]
+  wire [2:0] _T_664; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208367.4]
+  wire [2:0] _T_665; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208368.4]
+  wire [2:0] _T_666; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208369.4]
+  wire [2:0] _T_667; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208370.4]
+  wire [2:0] _T_668; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208371.4]
+  wire [2:0] _T_669; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208372.4]
+  wire [2:0] _T_670; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208373.4]
+  wire [2:0] _T_671; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208374.4]
+  wire [2:0] _T_672; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208375.4]
+  wire [2:0] _T_673; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208376.4]
+  wire [2:0] _T_674; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208377.4]
+  wire [12:0] _T_707; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208408.4]
+  wire [12:0] _T_708; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208409.4]
+  wire [12:0] _T_709; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208410.4]
+  wire [12:0] _T_710; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208411.4]
+  wire [12:0] _T_711; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208412.4]
+  wire [12:0] _T_712; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208413.4]
+  wire [12:0] _T_713; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208414.4]
+  wire [12:0] _T_714; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208415.4]
+  wire [12:0] _T_715; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208416.4]
+  wire [12:0] _T_716; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208417.4]
+  wire [12:0] _T_717; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208418.4]
+  wire [12:0] _T_718; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208419.4]
+  wire [12:0] _T_719; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208420.4]
+  wire [12:0] _T_720; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208421.4]
+  wire [12:0] _T_721; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208422.4]
+  wire [12:0] _T_722; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208423.4]
+  wire [12:0] _T_723; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208424.4]
+  wire [12:0] _T_724; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208425.4]
+  wire [12:0] _T_725; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208426.4]
+  wire [12:0] _T_726; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208427.4]
+  wire [12:0] _T_727; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208428.4]
+  wire [12:0] _T_728; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208429.4]
+  wire [12:0] _T_729; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208430.4]
+  wire [12:0] _T_730; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208431.4]
+  wire [12:0] _T_731; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208432.4]
+  wire [12:0] _T_732; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208433.4]
+  wire [12:0] _T_733; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208434.4]
+  wire [12:0] _T_734; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208435.4]
+  wire [12:0] _T_735; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208436.4]
+  wire [12:0] _T_736; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208437.4]
+  wire [12:0] _T_737; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208438.4]
+  wire [12:0] _T_738; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208439.4]
+  wire [12:0] _T_739; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208440.4]
+  wire [12:0] _T_740; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208441.4]
+  wire [12:0] _T_741; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208442.4]
+  wire [12:0] _T_742; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208443.4]
+  wire [12:0] _T_743; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208444.4]
+  wire [12:0] _T_744; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208445.4]
+  wire [12:0] _T_745; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208446.4]
+  wire [12:0] _T_746; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208447.4]
+  wire [12:0] _T_747; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208448.4]
+  wire [12:0] _T_748; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208449.4]
+  wire [12:0] _T_749; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208450.4]
+  wire [12:0] _T_750; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208451.4]
+  wire [12:0] _T_751; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208452.4]
+  wire [12:0] _T_752; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208453.4]
+  wire [12:0] _T_753; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208454.4]
+  wire [12:0] _T_754; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208455.4]
+  wire [12:0] _T_755; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208456.4]
+  wire [12:0] _T_756; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208457.4]
+  wire [12:0] _T_757; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208458.4]
+  wire [12:0] _T_758; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208459.4]
+  wire [12:0] _T_759; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208460.4]
+  wire [12:0] _T_760; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208461.4]
+  wire [12:0] _T_761; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208462.4]
+  wire [13:0] _GEN_457; // @[BTB.scala 277:82:shc.marmotcaravel.MarmotCaravelConfig.fir@208465.4]
+  wire [13:0] _T_764; // @[BTB.scala 277:82:shc.marmotcaravel.MarmotCaravelConfig.fir@208465.4]
+  wire [17:0] _GEN_375; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208466.4]
+  wire [17:0] _GEN_376; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208466.4]
+  wire [17:0] _GEN_377; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208466.4]
+  wire [17:0] _GEN_378; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208466.4]
+  wire [17:0] _GEN_379; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208466.4]
+  wire [31:0] _T_765; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208466.4]
+  wire [11:0] _T_766; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@208468.4]
+  wire [15:0] _T_767; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@208469.4]
+  wire  _T_768; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@208470.4]
+  wire [15:0] _GEN_458; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@208471.4]
+  wire [15:0] _T_769; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@208471.4]
+  wire [7:0] _T_770; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@208472.4]
+  wire [7:0] _T_771; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@208473.4]
+  wire  _T_772; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@208474.4]
+  wire [7:0] _T_773; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@208475.4]
+  wire [3:0] _T_774; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@208476.4]
+  wire [3:0] _T_775; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@208477.4]
+  wire  _T_776; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@208478.4]
+  wire [3:0] _T_777; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@208479.4]
+  wire [1:0] _T_778; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@208480.4]
+  wire [1:0] _T_779; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@208481.4]
+  wire  _T_780; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@208482.4]
+  wire [1:0] _T_781; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@208483.4]
+  wire  _T_782; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@208484.4]
+  wire [1:0] _T_783; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208485.4]
+  wire [2:0] _T_784; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208486.4]
+  wire [3:0] _T_785; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208487.4]
+  wire  _T_816; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208518.4]
+  wire  _T_817; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208519.4]
+  wire  _T_818; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208520.4]
+  wire  _T_819; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208521.4]
+  wire  _T_820; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208522.4]
+  wire  _T_821; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208523.4]
+  wire  _T_822; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208524.4]
+  wire  _T_823; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208525.4]
+  wire  _T_824; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208526.4]
+  wire  _T_825; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208527.4]
+  wire  _T_826; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208528.4]
+  wire  _T_827; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208529.4]
+  wire  _T_828; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208530.4]
+  wire  _T_829; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208531.4]
+  wire  _T_830; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208532.4]
+  wire  _T_831; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208533.4]
+  wire  _T_832; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208534.4]
+  wire  _T_833; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208535.4]
+  wire  _T_834; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208536.4]
+  wire  _T_835; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208537.4]
+  wire  _T_836; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208538.4]
+  wire  _T_837; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208539.4]
+  wire  _T_838; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208540.4]
+  wire  _T_839; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208541.4]
+  wire  _T_840; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208542.4]
+  wire  _T_841; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208543.4]
+  wire  _T_842; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208544.4]
+  wire  _T_843; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208545.4]
+  wire  _T_844; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208546.4]
+  wire  _T_845; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208547.4]
+  wire  _T_846; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208548.4]
+  wire  _T_847; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208549.4]
+  wire  _T_848; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208550.4]
+  wire  _T_849; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208551.4]
+  wire  _T_850; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208552.4]
+  wire  _T_851; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208553.4]
+  wire  _T_852; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208554.4]
+  wire  _T_853; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208555.4]
+  wire  _T_854; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208556.4]
+  wire  _T_855; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208557.4]
+  wire  _T_856; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208558.4]
+  wire  _T_857; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208559.4]
+  wire  _T_858; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208560.4]
+  wire  _T_859; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208561.4]
+  wire  _T_860; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208562.4]
+  wire  _T_861; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208563.4]
+  wire  _T_862; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208564.4]
+  wire  _T_863; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208565.4]
+  wire  _T_864; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208566.4]
+  wire  _T_865; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208567.4]
+  wire  _T_866; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208568.4]
+  wire  _T_867; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208569.4]
+  wire  _T_868; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208570.4]
+  wire  _T_869; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208571.4]
+  wire [13:0] _T_967; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208671.4]
+  wire [6:0] _T_968; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208672.4]
+  wire [2:0] _T_969; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208673.4]
+  wire  _T_970; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208674.4]
+  wire [1:0] _T_972; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@208676.4]
+  wire  _T_973; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208677.4]
+  wire  _T_975; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@208679.4]
+  wire  _T_977; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208681.4]
+  wire  _T_979; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@208683.4]
+  wire  _T_981; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208685.4]
+  wire  _T_983; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@208687.4]
+  wire  _T_984; // @[Misc.scala 187:49:shc.marmotcaravel.MarmotCaravelConfig.fir@208688.4]
+  wire [3:0] _T_985; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@208689.4]
+  wire [1:0] _T_986; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208690.4]
+  wire  _T_987; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208691.4]
+  wire  _T_989; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@208693.4]
+  wire  _T_991; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208695.4]
+  wire  _T_993; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@208697.4]
+  wire [1:0] _T_995; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@208699.4]
+  wire  _T_996; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208700.4]
+  wire  _T_998; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@208702.4]
+  wire  _T_1000; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208704.4]
+  wire  _T_1002; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@208706.4]
+  wire  _T_1004; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208708.4]
+  wire  _T_1005; // @[Misc.scala 187:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208709.4]
+  wire  _T_1006; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@208710.4]
+  wire  _T_1007; // @[Misc.scala 187:49:shc.marmotcaravel.MarmotCaravelConfig.fir@208711.4]
+  wire  _T_1008; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208712.4]
+  wire  _T_1009; // @[Misc.scala 187:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208713.4]
+  wire  _T_1010; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@208714.4]
+  wire  _T_1011; // @[Misc.scala 187:49:shc.marmotcaravel.MarmotCaravelConfig.fir@208715.4]
+  wire [6:0] _T_1012; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@208716.4]
+  wire [2:0] _T_1013; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208717.4]
+  wire  _T_1014; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208718.4]
+  wire [1:0] _T_1016; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@208720.4]
+  wire  _T_1017; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208721.4]
+  wire  _T_1019; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@208723.4]
+  wire  _T_1021; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208725.4]
+  wire  _T_1023; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@208727.4]
+  wire  _T_1025; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208729.4]
+  wire  _T_1027; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@208731.4]
+  wire  _T_1028; // @[Misc.scala 187:49:shc.marmotcaravel.MarmotCaravelConfig.fir@208732.4]
+  wire [3:0] _T_1029; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@208733.4]
+  wire [1:0] _T_1030; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208734.4]
+  wire  _T_1031; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208735.4]
+  wire  _T_1033; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@208737.4]
+  wire  _T_1035; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208739.4]
+  wire  _T_1037; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@208741.4]
+  wire [1:0] _T_1039; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@208743.4]
+  wire  _T_1040; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208744.4]
+  wire  _T_1042; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@208746.4]
+  wire  _T_1044; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208748.4]
+  wire  _T_1046; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@208750.4]
+  wire  _T_1048; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208752.4]
+  wire  _T_1049; // @[Misc.scala 187:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208753.4]
+  wire  _T_1050; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@208754.4]
+  wire  _T_1051; // @[Misc.scala 187:49:shc.marmotcaravel.MarmotCaravelConfig.fir@208755.4]
+  wire  _T_1052; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208756.4]
+  wire  _T_1053; // @[Misc.scala 187:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208757.4]
+  wire  _T_1054; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@208758.4]
+  wire  _T_1055; // @[Misc.scala 187:49:shc.marmotcaravel.MarmotCaravelConfig.fir@208759.4]
+  wire  _T_1056; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208760.4]
+  wire  _T_1057; // @[Misc.scala 187:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208761.4]
+  wire  _T_1058; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@208762.4]
+  wire  _T_1059; // @[Misc.scala 187:49:shc.marmotcaravel.MarmotCaravelConfig.fir@208763.4]
+  wire [13:0] _T_1060; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@208764.4]
+  wire [6:0] _T_1061; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208765.4]
+  wire [2:0] _T_1062; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208766.4]
+  wire  _T_1063; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208767.4]
+  wire [1:0] _T_1065; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@208769.4]
+  wire  _T_1066; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208770.4]
+  wire  _T_1068; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@208772.4]
+  wire  _T_1070; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208774.4]
+  wire  _T_1072; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@208776.4]
+  wire  _T_1074; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208778.4]
+  wire  _T_1076; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@208780.4]
+  wire  _T_1077; // @[Misc.scala 187:49:shc.marmotcaravel.MarmotCaravelConfig.fir@208781.4]
+  wire [3:0] _T_1078; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@208782.4]
+  wire [1:0] _T_1079; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208783.4]
+  wire  _T_1080; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208784.4]
+  wire  _T_1082; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@208786.4]
+  wire  _T_1084; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208788.4]
+  wire  _T_1086; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@208790.4]
+  wire [1:0] _T_1088; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@208792.4]
+  wire  _T_1089; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208793.4]
+  wire  _T_1091; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@208795.4]
+  wire  _T_1093; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208797.4]
+  wire  _T_1095; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@208799.4]
+  wire  _T_1097; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208801.4]
+  wire  _T_1098; // @[Misc.scala 187:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208802.4]
+  wire  _T_1099; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@208803.4]
+  wire  _T_1100; // @[Misc.scala 187:49:shc.marmotcaravel.MarmotCaravelConfig.fir@208804.4]
+  wire  _T_1101; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208805.4]
+  wire  _T_1102; // @[Misc.scala 187:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208806.4]
+  wire  _T_1103; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@208807.4]
+  wire  _T_1104; // @[Misc.scala 187:49:shc.marmotcaravel.MarmotCaravelConfig.fir@208808.4]
+  wire [6:0] _T_1105; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@208809.4]
+  wire [2:0] _T_1106; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208810.4]
+  wire  _T_1107; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208811.4]
+  wire [1:0] _T_1109; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@208813.4]
+  wire  _T_1110; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208814.4]
+  wire  _T_1112; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@208816.4]
+  wire  _T_1114; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208818.4]
+  wire  _T_1116; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@208820.4]
+  wire  _T_1118; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208822.4]
+  wire  _T_1120; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@208824.4]
+  wire  _T_1121; // @[Misc.scala 187:49:shc.marmotcaravel.MarmotCaravelConfig.fir@208825.4]
+  wire [3:0] _T_1122; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@208826.4]
+  wire [1:0] _T_1123; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208827.4]
+  wire  _T_1124; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208828.4]
+  wire  _T_1126; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@208830.4]
+  wire  _T_1128; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208832.4]
+  wire  _T_1130; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@208834.4]
+  wire [1:0] _T_1132; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@208836.4]
+  wire  _T_1133; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208837.4]
+  wire  _T_1135; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@208839.4]
+  wire  _T_1137; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208841.4]
+  wire  _T_1139; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@208843.4]
+  wire  _T_1141; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208845.4]
+  wire  _T_1142; // @[Misc.scala 187:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208846.4]
+  wire  _T_1143; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@208847.4]
+  wire  _T_1144; // @[Misc.scala 187:49:shc.marmotcaravel.MarmotCaravelConfig.fir@208848.4]
+  wire  _T_1145; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208849.4]
+  wire  _T_1146; // @[Misc.scala 187:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208850.4]
+  wire  _T_1147; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@208851.4]
+  wire  _T_1148; // @[Misc.scala 187:49:shc.marmotcaravel.MarmotCaravelConfig.fir@208852.4]
+  wire  _T_1149; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208853.4]
+  wire  _T_1150; // @[Misc.scala 187:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208854.4]
+  wire  _T_1151; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@208855.4]
+  wire  _T_1152; // @[Misc.scala 187:49:shc.marmotcaravel.MarmotCaravelConfig.fir@208856.4]
+  wire  _T_1154; // @[Misc.scala 187:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208858.4]
+  wire  _T_1155; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@208859.4]
+  wire  _T_1156; // @[Misc.scala 187:49:shc.marmotcaravel.MarmotCaravelConfig.fir@208860.4]
+  wire [27:0] _T_1157; // @[BTB.scala 285:26:shc.marmotcaravel.MarmotCaravelConfig.fir@208862.6]
+  wire [27:0] _T_1158; // @[BTB.scala 285:24:shc.marmotcaravel.MarmotCaravelConfig.fir@208863.6]
+  wire [31:0] _GEN_380; // @[BTB.scala 284:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208861.4]
+  wire [31:0] _GEN_381; // @[BTB.scala 287:19:shc.marmotcaravel.MarmotCaravelConfig.fir@208866.4]
+  reg [7:0] _T_1163; // @[BTB.scala 114:20:shc.marmotcaravel.MarmotCaravelConfig.fir@208870.4]
+  reg [31:0] _RAND_188;
+  wire  _T_1164; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208871.4]
+  wire  _T_1165; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208872.4]
+  wire  _T_1166; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208873.4]
+  wire  _T_1167; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208874.4]
+  wire  _T_1168; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208875.4]
+  wire  _T_1169; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208876.4]
+  wire  _T_1170; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208877.4]
+  wire  _T_1171; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208878.4]
+  wire  _T_1172; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208879.4]
+  wire  _T_1173; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208880.4]
+  wire  _T_1174; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208881.4]
+  wire  _T_1175; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208882.4]
+  wire  _T_1176; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208883.4]
+  wire  _T_1177; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208884.4]
+  wire  _T_1178; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208885.4]
+  wire  _T_1179; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208886.4]
+  wire  _T_1180; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208887.4]
+  wire  _T_1181; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208888.4]
+  wire  _T_1182; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208889.4]
+  wire  _T_1183; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208890.4]
+  wire  _T_1184; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208891.4]
+  wire  _T_1185; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208892.4]
+  wire  _T_1186; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208893.4]
+  wire  _T_1187; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208894.4]
+  wire  _T_1188; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208895.4]
+  wire  _T_1189; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208896.4]
+  wire  _T_1190; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208897.4]
+  wire  _T_1191; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208898.4]
+  wire [1:0] _T_1192; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208899.4]
+  wire [2:0] _T_1193; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208900.4]
+  wire [1:0] _T_1194; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208901.4]
+  wire [1:0] _T_1195; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208902.4]
+  wire [3:0] _T_1196; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208903.4]
+  wire [6:0] _T_1197; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208904.4]
+  wire [1:0] _T_1198; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208905.4]
+  wire [2:0] _T_1199; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208906.4]
+  wire [1:0] _T_1200; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208907.4]
+  wire [1:0] _T_1201; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208908.4]
+  wire [3:0] _T_1202; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208909.4]
+  wire [6:0] _T_1203; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208910.4]
+  wire [13:0] _T_1204; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208911.4]
+  wire [1:0] _T_1205; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208912.4]
+  wire [2:0] _T_1206; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208913.4]
+  wire [1:0] _T_1207; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208914.4]
+  wire [1:0] _T_1208; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208915.4]
+  wire [3:0] _T_1209; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208916.4]
+  wire [6:0] _T_1210; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208917.4]
+  wire [1:0] _T_1211; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208918.4]
+  wire [2:0] _T_1212; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208919.4]
+  wire [1:0] _T_1213; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208920.4]
+  wire [1:0] _T_1214; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208921.4]
+  wire [3:0] _T_1215; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208922.4]
+  wire [6:0] _T_1216; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208923.4]
+  wire [13:0] _T_1217; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208924.4]
+  wire [27:0] _T_1218; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208925.4]
+  wire [27:0] _T_1219; // @[BTB.scala 293:28:shc.marmotcaravel.MarmotCaravelConfig.fir@208926.4]
+  wire  _T_1220; // @[BTB.scala 293:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208927.4]
+  wire [29:0] _T_1223; // @[BTB.scala 86:21:shc.marmotcaravel.MarmotCaravelConfig.fir@208930.4]
+  wire [8:0] _T_1224; // @[BTB.scala 87:9:shc.marmotcaravel.MarmotCaravelConfig.fir@208931.4]
+  wire [20:0] _T_1225; // @[BTB.scala 87:48:shc.marmotcaravel.MarmotCaravelConfig.fir@208932.4]
+  wire [1:0] _T_1226; // @[BTB.scala 87:77:shc.marmotcaravel.MarmotCaravelConfig.fir@208933.4]
+  wire [8:0] _GEN_459; // @[BTB.scala 87:42:shc.marmotcaravel.MarmotCaravelConfig.fir@208934.4]
+  wire [8:0] _T_1227; // @[BTB.scala 87:42:shc.marmotcaravel.MarmotCaravelConfig.fir@208934.4]
+  wire [15:0] _T_1228; // @[BTB.scala 83:12:shc.marmotcaravel.MarmotCaravelConfig.fir@208935.4]
+  wire [2:0] _T_1229; // @[BTB.scala 83:19:shc.marmotcaravel.MarmotCaravelConfig.fir@208936.4]
+  wire [8:0] _GEN_460; // @[BTB.scala 89:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208937.4]
+  wire [8:0] _T_1230; // @[BTB.scala 89:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208937.4]
+  wire [6:0] _T_1234; // @[BTB.scala 110:35:shc.marmotcaravel.MarmotCaravelConfig.fir@208944.6]
+  wire [7:0] _T_1235; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208945.6]
+  wire [29:0] _T_1236; // @[BTB.scala 86:21:shc.marmotcaravel.MarmotCaravelConfig.fir@208950.8]
+  wire [8:0] _T_1237; // @[BTB.scala 87:9:shc.marmotcaravel.MarmotCaravelConfig.fir@208951.8]
+  wire [20:0] _T_1238; // @[BTB.scala 87:48:shc.marmotcaravel.MarmotCaravelConfig.fir@208952.8]
+  wire [1:0] _T_1239; // @[BTB.scala 87:77:shc.marmotcaravel.MarmotCaravelConfig.fir@208953.8]
+  wire [8:0] _GEN_461; // @[BTB.scala 87:42:shc.marmotcaravel.MarmotCaravelConfig.fir@208954.8]
+  wire [8:0] _T_1240; // @[BTB.scala 87:42:shc.marmotcaravel.MarmotCaravelConfig.fir@208954.8]
+  wire [15:0] _T_1241; // @[BTB.scala 83:12:shc.marmotcaravel.MarmotCaravelConfig.fir@208955.8]
+  wire [2:0] _T_1242; // @[BTB.scala 83:19:shc.marmotcaravel.MarmotCaravelConfig.fir@208956.8]
+  wire [8:0] _GEN_462; // @[BTB.scala 89:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208957.8]
+  wire [8:0] _T_1243; // @[BTB.scala 89:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208957.8]
+  wire [6:0] _T_1246; // @[BTB.scala 107:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208962.10]
+  wire [7:0] _T_1247; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208963.10]
+  wire  _T_1222_value; // @[BTB.scala 92:19:shc.marmotcaravel.MarmotCaravelConfig.fir@208928.4 BTB.scala 93:15:shc.marmotcaravel.MarmotCaravelConfig.fir@208940.4]
+  wire  _T_1249; // @[BTB.scala 308:11:shc.marmotcaravel.MarmotCaravelConfig.fir@208973.4]
+  wire  _T_1250; // @[BTB.scala 308:22:shc.marmotcaravel.MarmotCaravelConfig.fir@208974.4]
+  reg [2:0] _T_1252; // @[BTB.scala 57:26:shc.marmotcaravel.MarmotCaravelConfig.fir@208979.4]
+  reg [31:0] _RAND_189;
+  reg [2:0] _T_1254; // @[BTB.scala 58:24:shc.marmotcaravel.MarmotCaravelConfig.fir@208980.4]
+  reg [31:0] _RAND_190;
+  reg [31:0] _T_1258_0; // @[BTB.scala 59:26:shc.marmotcaravel.MarmotCaravelConfig.fir@208981.4]
+  reg [31:0] _RAND_191;
+  reg [31:0] _T_1258_1; // @[BTB.scala 59:26:shc.marmotcaravel.MarmotCaravelConfig.fir@208981.4]
+  reg [31:0] _RAND_192;
+  reg [31:0] _T_1258_2; // @[BTB.scala 59:26:shc.marmotcaravel.MarmotCaravelConfig.fir@208981.4]
+  reg [31:0] _RAND_193;
+  reg [31:0] _T_1258_3; // @[BTB.scala 59:26:shc.marmotcaravel.MarmotCaravelConfig.fir@208981.4]
+  reg [31:0] _RAND_194;
+  reg [31:0] _T_1258_4; // @[BTB.scala 59:26:shc.marmotcaravel.MarmotCaravelConfig.fir@208981.4]
+  reg [31:0] _RAND_195;
+  reg [31:0] _T_1258_5; // @[BTB.scala 59:26:shc.marmotcaravel.MarmotCaravelConfig.fir@208981.4]
+  reg [31:0] _RAND_196;
+  wire  _T_1267; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@208982.4]
+  wire  _T_1268; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@208983.4]
+  wire  _T_1269; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@208984.4]
+  wire  _T_1270; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@208985.4]
+  wire  _T_1271; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@208986.4]
+  wire  _T_1272; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@208987.4]
+  wire  _T_1273; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@208988.4]
+  wire  _T_1274; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@208989.4]
+  wire  _T_1275; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@208990.4]
+  wire  _T_1276; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@208991.4]
+  wire  _T_1277; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@208992.4]
+  wire  _T_1278; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@208993.4]
+  wire  _T_1279; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@208994.4]
+  wire  _T_1280; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@208995.4]
+  wire  _T_1281; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@208996.4]
+  wire  _T_1282; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@208997.4]
+  wire  _T_1283; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@208998.4]
+  wire  _T_1284; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@208999.4]
+  wire  _T_1285; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@209000.4]
+  wire  _T_1286; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@209001.4]
+  wire  _T_1287; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@209002.4]
+  wire  _T_1288; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@209003.4]
+  wire  _T_1289; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@209004.4]
+  wire  _T_1290; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@209005.4]
+  wire  _T_1291; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@209006.4]
+  wire  _T_1292; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@209007.4]
+  wire  _T_1293; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@209008.4]
+  wire  _T_1294; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@209009.4]
+  wire [1:0] _T_1295; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209010.4]
+  wire [2:0] _T_1296; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209011.4]
+  wire [1:0] _T_1297; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209012.4]
+  wire [1:0] _T_1298; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209013.4]
+  wire [3:0] _T_1299; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209014.4]
+  wire [6:0] _T_1300; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209015.4]
+  wire [1:0] _T_1301; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209016.4]
+  wire [2:0] _T_1302; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209017.4]
+  wire [1:0] _T_1303; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209018.4]
+  wire [1:0] _T_1304; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209019.4]
+  wire [3:0] _T_1305; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209020.4]
+  wire [6:0] _T_1306; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209021.4]
+  wire [13:0] _T_1307; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209022.4]
+  wire [1:0] _T_1308; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209023.4]
+  wire [2:0] _T_1309; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209024.4]
+  wire [1:0] _T_1310; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209025.4]
+  wire [1:0] _T_1311; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209026.4]
+  wire [3:0] _T_1312; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209027.4]
+  wire [6:0] _T_1313; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209028.4]
+  wire [1:0] _T_1314; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209029.4]
+  wire [2:0] _T_1315; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209030.4]
+  wire [1:0] _T_1316; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209031.4]
+  wire [1:0] _T_1317; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209032.4]
+  wire [3:0] _T_1318; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209033.4]
+  wire [6:0] _T_1319; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209034.4]
+  wire [13:0] _T_1320; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209035.4]
+  wire [27:0] _T_1321; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209036.4]
+  wire [27:0] _T_1322; // @[BTB.scala 314:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209037.4]
+  wire  _T_1323; // @[BTB.scala 314:67:shc.marmotcaravel.MarmotCaravelConfig.fir@209038.4]
+  wire  _T_1324; // @[BTB.scala 55:29:shc.marmotcaravel.MarmotCaravelConfig.fir@209039.4]
+  wire  _T_1325; // @[BTB.scala 315:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209040.4]
+  wire [31:0] _GEN_399; // @[BTB.scala 316:22:shc.marmotcaravel.MarmotCaravelConfig.fir@209042.4]
+  wire [31:0] _GEN_400; // @[BTB.scala 316:22:shc.marmotcaravel.MarmotCaravelConfig.fir@209042.4]
+  wire [31:0] _GEN_401; // @[BTB.scala 316:22:shc.marmotcaravel.MarmotCaravelConfig.fir@209042.4]
+  wire [31:0] _GEN_402; // @[BTB.scala 316:22:shc.marmotcaravel.MarmotCaravelConfig.fir@209042.4]
+  wire [31:0] _GEN_403; // @[BTB.scala 316:22:shc.marmotcaravel.MarmotCaravelConfig.fir@209042.4]
+  wire  _T_1329; // @[BTB.scala 317:24:shc.marmotcaravel.MarmotCaravelConfig.fir@209045.4]
+  wire  _T_1331; // @[BTB.scala 321:40:shc.marmotcaravel.MarmotCaravelConfig.fir@209050.6]
+  wire  _T_1332; // @[BTB.scala 44:17:shc.marmotcaravel.MarmotCaravelConfig.fir@209052.8]
+  wire [2:0] _T_1334; // @[BTB.scala 44:42:shc.marmotcaravel.MarmotCaravelConfig.fir@209055.10]
+  wire  _T_1335; // @[BTB.scala 45:49:shc.marmotcaravel.MarmotCaravelConfig.fir@209058.8]
+  wire [2:0] _T_1338; // @[BTB.scala 45:62:shc.marmotcaravel.MarmotCaravelConfig.fir@209061.8]
+  wire [2:0] _T_1339; // @[BTB.scala 45:22:shc.marmotcaravel.MarmotCaravelConfig.fir@209062.8]
+  wire  _T_1341; // @[BTB.scala 323:46:shc.marmotcaravel.MarmotCaravelConfig.fir@209067.8]
+  wire [3:0] _T_1344; // @[BTB.scala 51:20:shc.marmotcaravel.MarmotCaravelConfig.fir@209072.12]
+  wire [3:0] _T_1345; // @[BTB.scala 51:20:shc.marmotcaravel.MarmotCaravelConfig.fir@209073.12]
+  wire [2:0] _T_1346; // @[BTB.scala 51:20:shc.marmotcaravel.MarmotCaravelConfig.fir@209074.12]
+  wire  _T_1347; // @[BTB.scala 52:42:shc.marmotcaravel.MarmotCaravelConfig.fir@209076.12]
+  wire [3:0] _T_1349; // @[BTB.scala 52:50:shc.marmotcaravel.MarmotCaravelConfig.fir@209078.12]
+  wire [3:0] _T_1350; // @[BTB.scala 52:50:shc.marmotcaravel.MarmotCaravelConfig.fir@209079.12]
+  wire [2:0] _T_1351; // @[BTB.scala 52:50:shc.marmotcaravel.MarmotCaravelConfig.fir@209080.12]
+  assign _T_1161__T_1232_addr = _T_1227 ^ _T_1230;
+  assign _T_1161__T_1232_data = _T_1161[_T_1161__T_1232_addr]; // @[BTB.scala 113:26:shc.marmotcaravel.MarmotCaravelConfig.fir@208869.4]
+  assign _T_1161__T_1245_data = io_bht_update_bits_taken;
+  assign _T_1161__T_1245_addr = _T_1240 ^ _T_1243;
+  assign _T_1161__T_1245_mask = 1'h1;
+  assign _T_1161__T_1245_en = io_bht_update_valid ? io_bht_update_bits_branch : 1'h0;
+  assign _T_248 = io_req_bits_addr[31:14]; // @[BTB.scala 199:39:shc.marmotcaravel.MarmotCaravelConfig.fir@207898.4]
+  assign _T_249 = pages_0 == _T_248; // @[BTB.scala 202:29:shc.marmotcaravel.MarmotCaravelConfig.fir@207899.4]
+  assign _T_250 = pages_1 == _T_248; // @[BTB.scala 202:29:shc.marmotcaravel.MarmotCaravelConfig.fir@207900.4]
+  assign _T_251 = pages_2 == _T_248; // @[BTB.scala 202:29:shc.marmotcaravel.MarmotCaravelConfig.fir@207901.4]
+  assign _T_252 = pages_3 == _T_248; // @[BTB.scala 202:29:shc.marmotcaravel.MarmotCaravelConfig.fir@207902.4]
+  assign _T_253 = pages_4 == _T_248; // @[BTB.scala 202:29:shc.marmotcaravel.MarmotCaravelConfig.fir@207903.4]
+  assign _T_254 = pages_5 == _T_248; // @[BTB.scala 202:29:shc.marmotcaravel.MarmotCaravelConfig.fir@207904.4]
+  assign _T_255 = {_T_251,_T_250}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207905.4]
+  assign _T_256 = {_T_255,_T_249}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207906.4]
+  assign _T_257 = {_T_254,_T_253}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207907.4]
+  assign _T_258 = {_T_257,_T_252}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207908.4]
+  assign _T_259 = {_T_258,_T_256}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207909.4]
+  assign pageHit = pageValid & _T_259; // @[BTB.scala 202:15:shc.marmotcaravel.MarmotCaravelConfig.fir@207910.4]
+  assign _T_260 = io_req_bits_addr[13:1]; // @[BTB.scala 205:19:shc.marmotcaravel.MarmotCaravelConfig.fir@207911.4]
+  assign _T_261 = idxs_0 == _T_260; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207912.4]
+  assign _T_262 = idxs_1 == _T_260; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207913.4]
+  assign _T_263 = idxs_2 == _T_260; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207914.4]
+  assign _T_264 = idxs_3 == _T_260; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207915.4]
+  assign _T_265 = idxs_4 == _T_260; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207916.4]
+  assign _T_266 = idxs_5 == _T_260; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207917.4]
+  assign _T_267 = idxs_6 == _T_260; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207918.4]
+  assign _T_268 = idxs_7 == _T_260; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207919.4]
+  assign _T_269 = idxs_8 == _T_260; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207920.4]
+  assign _T_270 = idxs_9 == _T_260; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207921.4]
+  assign _T_271 = idxs_10 == _T_260; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207922.4]
+  assign _T_272 = idxs_11 == _T_260; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207923.4]
+  assign _T_273 = idxs_12 == _T_260; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207924.4]
+  assign _T_274 = idxs_13 == _T_260; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207925.4]
+  assign _T_275 = idxs_14 == _T_260; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207926.4]
+  assign _T_276 = idxs_15 == _T_260; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207927.4]
+  assign _T_277 = idxs_16 == _T_260; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207928.4]
+  assign _T_278 = idxs_17 == _T_260; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207929.4]
+  assign _T_279 = idxs_18 == _T_260; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207930.4]
+  assign _T_280 = idxs_19 == _T_260; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207931.4]
+  assign _T_281 = idxs_20 == _T_260; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207932.4]
+  assign _T_282 = idxs_21 == _T_260; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207933.4]
+  assign _T_283 = idxs_22 == _T_260; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207934.4]
+  assign _T_284 = idxs_23 == _T_260; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207935.4]
+  assign _T_285 = idxs_24 == _T_260; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207936.4]
+  assign _T_286 = idxs_25 == _T_260; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207937.4]
+  assign _T_287 = idxs_26 == _T_260; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207938.4]
+  assign _T_288 = idxs_27 == _T_260; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207939.4]
+  assign _T_289 = {_T_263,_T_262}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207940.4]
+  assign _T_290 = {_T_289,_T_261}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207941.4]
+  assign _T_291 = {_T_265,_T_264}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207942.4]
+  assign _T_292 = {_T_267,_T_266}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207943.4]
+  assign _T_293 = {_T_292,_T_291}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207944.4]
+  assign _T_294 = {_T_293,_T_290}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207945.4]
+  assign _T_295 = {_T_270,_T_269}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207946.4]
+  assign _T_296 = {_T_295,_T_268}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207947.4]
+  assign _T_297 = {_T_272,_T_271}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207948.4]
+  assign _T_298 = {_T_274,_T_273}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207949.4]
+  assign _T_299 = {_T_298,_T_297}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207950.4]
+  assign _T_300 = {_T_299,_T_296}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207951.4]
+  assign _T_301 = {_T_300,_T_294}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207952.4]
+  assign _T_302 = {_T_277,_T_276}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207953.4]
+  assign _T_303 = {_T_302,_T_275}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207954.4]
+  assign _T_304 = {_T_279,_T_278}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207955.4]
+  assign _T_305 = {_T_281,_T_280}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207956.4]
+  assign _T_306 = {_T_305,_T_304}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207957.4]
+  assign _T_307 = {_T_306,_T_303}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207958.4]
+  assign _T_308 = {_T_284,_T_283}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207959.4]
+  assign _T_309 = {_T_308,_T_282}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207960.4]
+  assign _T_310 = {_T_286,_T_285}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207961.4]
+  assign _T_311 = {_T_288,_T_287}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207962.4]
+  assign _T_312 = {_T_311,_T_310}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207963.4]
+  assign _T_313 = {_T_312,_T_309}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207964.4]
+  assign _T_314 = {_T_313,_T_307}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207965.4]
+  assign _T_315 = {_T_314,_T_301}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207966.4]
+  assign idxHit = _T_315 & isValid; // @[BTB.scala 206:32:shc.marmotcaravel.MarmotCaravelConfig.fir@207967.4]
+  assign _T_316 = r_btb_update_bits_pc[31:14]; // @[BTB.scala 199:39:shc.marmotcaravel.MarmotCaravelConfig.fir@207968.4]
+  assign _T_317 = pages_0 == _T_316; // @[BTB.scala 202:29:shc.marmotcaravel.MarmotCaravelConfig.fir@207969.4]
+  assign _T_318 = pages_1 == _T_316; // @[BTB.scala 202:29:shc.marmotcaravel.MarmotCaravelConfig.fir@207970.4]
+  assign _T_319 = pages_2 == _T_316; // @[BTB.scala 202:29:shc.marmotcaravel.MarmotCaravelConfig.fir@207971.4]
+  assign _T_320 = pages_3 == _T_316; // @[BTB.scala 202:29:shc.marmotcaravel.MarmotCaravelConfig.fir@207972.4]
+  assign _T_321 = pages_4 == _T_316; // @[BTB.scala 202:29:shc.marmotcaravel.MarmotCaravelConfig.fir@207973.4]
+  assign _T_322 = pages_5 == _T_316; // @[BTB.scala 202:29:shc.marmotcaravel.MarmotCaravelConfig.fir@207974.4]
+  assign _T_323 = {_T_319,_T_318}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207975.4]
+  assign _T_324 = {_T_323,_T_317}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207976.4]
+  assign _T_325 = {_T_322,_T_321}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207977.4]
+  assign _T_326 = {_T_325,_T_320}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207978.4]
+  assign _T_327 = {_T_326,_T_324}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207979.4]
+  assign updatePageHit = pageValid & _T_327; // @[BTB.scala 202:15:shc.marmotcaravel.MarmotCaravelConfig.fir@207980.4]
+  assign updateHit = r_btb_update_bits_prediction_entry < 5'h1c; // @[BTB.scala 220:48:shc.marmotcaravel.MarmotCaravelConfig.fir@207981.4]
+  assign useUpdatePageHit = updatePageHit != 6'h0; // @[BTB.scala 222:40:shc.marmotcaravel.MarmotCaravelConfig.fir@207982.4]
+  assign usePageHit = pageHit != 6'h0; // @[BTB.scala 223:28:shc.marmotcaravel.MarmotCaravelConfig.fir@207983.4]
+  assign doIdxPageRepl = useUpdatePageHit == 1'h0; // @[BTB.scala 224:23:shc.marmotcaravel.MarmotCaravelConfig.fir@207984.4]
+  assign _T_329 = pageHit[4:0]; // @[BTB.scala 226:32:shc.marmotcaravel.MarmotCaravelConfig.fir@207986.4]
+  assign _T_330 = pageHit[5]; // @[BTB.scala 226:53:shc.marmotcaravel.MarmotCaravelConfig.fir@207987.4]
+  assign _T_331 = {_T_329,_T_330}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207988.4]
+  assign _T_332 = 8'h1 << nextPageRepl; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@207989.4]
+  assign _T_333 = usePageHit ? 8'h0 : _T_332; // @[BTB.scala 226:70:shc.marmotcaravel.MarmotCaravelConfig.fir@207990.4]
+  assign _GEN_438 = {{2'd0}, _T_331}; // @[BTB.scala 226:65:shc.marmotcaravel.MarmotCaravelConfig.fir@207991.4]
+  assign idxPageRepl = _GEN_438 | _T_333; // @[BTB.scala 226:65:shc.marmotcaravel.MarmotCaravelConfig.fir@207991.4]
+  assign idxPageUpdateOH = useUpdatePageHit ? {{2'd0}, updatePageHit} : idxPageRepl; // @[BTB.scala 227:28:shc.marmotcaravel.MarmotCaravelConfig.fir@207992.4]
+  assign _T_334 = idxPageUpdateOH[7:4]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@207993.4]
+  assign _T_335 = idxPageUpdateOH[3:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@207994.4]
+  assign _T_336 = _T_334 != 4'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@207995.4]
+  assign _T_337 = _T_334 | _T_335; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@207996.4]
+  assign _T_338 = _T_337[3:2]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@207997.4]
+  assign _T_339 = _T_337[1:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@207998.4]
+  assign _T_340 = _T_338 != 2'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@207999.4]
+  assign _T_341 = _T_338 | _T_339; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@208000.4]
+  assign _T_342 = _T_341[1]; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@208001.4]
+  assign _T_343 = {_T_340,_T_342}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208002.4]
+  assign idxPageUpdate = {_T_336,_T_343}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208003.4]
+  assign idxPageReplEn = doIdxPageRepl ? idxPageRepl : 8'h0; // @[BTB.scala 229:26:shc.marmotcaravel.MarmotCaravelConfig.fir@208004.4]
+  assign samePage = _T_316 == _T_248; // @[BTB.scala 231:45:shc.marmotcaravel.MarmotCaravelConfig.fir@208007.4]
+  assign _T_346 = samePage == 1'h0; // @[BTB.scala 232:23:shc.marmotcaravel.MarmotCaravelConfig.fir@208008.4]
+  assign _T_347 = usePageHit == 1'h0; // @[BTB.scala 232:36:shc.marmotcaravel.MarmotCaravelConfig.fir@208009.4]
+  assign doTgtPageRepl = _T_346 & _T_347; // @[BTB.scala 232:33:shc.marmotcaravel.MarmotCaravelConfig.fir@208010.4]
+  assign _T_348 = idxPageUpdateOH[4:0]; // @[BTB.scala 233:71:shc.marmotcaravel.MarmotCaravelConfig.fir@208011.4]
+  assign _T_349 = idxPageUpdateOH[5]; // @[BTB.scala 233:100:shc.marmotcaravel.MarmotCaravelConfig.fir@208012.4]
+  assign _T_350 = {_T_348,_T_349}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208013.4]
+  assign tgtPageRepl = samePage ? idxPageUpdateOH : {{2'd0}, _T_350}; // @[BTB.scala 233:24:shc.marmotcaravel.MarmotCaravelConfig.fir@208014.4]
+  assign _T_351 = usePageHit ? 8'h0 : tgtPageRepl; // @[BTB.scala 234:45:shc.marmotcaravel.MarmotCaravelConfig.fir@208015.4]
+  assign _GEN_439 = {{2'd0}, pageHit}; // @[BTB.scala 234:40:shc.marmotcaravel.MarmotCaravelConfig.fir@208016.4]
+  assign _T_352 = _GEN_439 | _T_351; // @[BTB.scala 234:40:shc.marmotcaravel.MarmotCaravelConfig.fir@208016.4]
+  assign _T_353 = _T_352[7:4]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@208017.4]
+  assign _T_354 = _T_352[3:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@208018.4]
+  assign _T_355 = _T_353 != 4'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@208019.4]
+  assign _T_356 = _T_353 | _T_354; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@208020.4]
+  assign _T_357 = _T_356[3:2]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@208021.4]
+  assign _T_358 = _T_356[1:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@208022.4]
+  assign _T_359 = _T_357 != 2'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@208023.4]
+  assign _T_360 = _T_357 | _T_358; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@208024.4]
+  assign _T_361 = _T_360[1]; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@208025.4]
+  assign _T_362 = {_T_359,_T_361}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208026.4]
+  assign tgtPageUpdate = {_T_355,_T_362}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208027.4]
+  assign tgtPageReplEn = doTgtPageRepl ? tgtPageRepl : 8'h0; // @[BTB.scala 235:26:shc.marmotcaravel.MarmotCaravelConfig.fir@208028.4]
+  assign _T_363 = doIdxPageRepl | doTgtPageRepl; // @[BTB.scala 237:46:shc.marmotcaravel.MarmotCaravelConfig.fir@208029.4]
+  assign _T_364 = r_btb_update_valid & _T_363; // @[BTB.scala 237:28:shc.marmotcaravel.MarmotCaravelConfig.fir@208030.4]
+  assign _T_365 = doIdxPageRepl & doTgtPageRepl; // @[BTB.scala 238:30:shc.marmotcaravel.MarmotCaravelConfig.fir@208032.6]
+  assign _T_366 = _T_365 ? 2'h2 : 2'h1; // @[BTB.scala 239:40:shc.marmotcaravel.MarmotCaravelConfig.fir@208033.6]
+  assign _GEN_440 = {{1'd0}, _T_366}; // @[BTB.scala 239:29:shc.marmotcaravel.MarmotCaravelConfig.fir@208034.6]
+  assign _T_368 = nextPageRepl + _GEN_440; // @[BTB.scala 239:29:shc.marmotcaravel.MarmotCaravelConfig.fir@208035.6]
+  assign _T_369 = _T_368 >= 3'h6; // @[BTB.scala 240:30:shc.marmotcaravel.MarmotCaravelConfig.fir@208036.6]
+  assign _T_370 = _T_368[0]; // @[BTB.scala 240:45:shc.marmotcaravel.MarmotCaravelConfig.fir@208037.6]
+  assign _GEN_441 = {{1'd0}, _T_373}; // @[Replacement.scala 57:31:shc.marmotcaravel.MarmotCaravelConfig.fir@208042.4]
+  assign _T_374 = _GEN_441 << 1; // @[Replacement.scala 57:31:shc.marmotcaravel.MarmotCaravelConfig.fir@208042.4]
+  assign _T_378 = _T_374 >> 1'h1; // @[Replacement.scala 61:48:shc.marmotcaravel.MarmotCaravelConfig.fir@208046.4]
+  assign _T_379 = _T_378[0]; // @[Replacement.scala 61:48:shc.marmotcaravel.MarmotCaravelConfig.fir@208047.4]
+  assign _T_381 = {1'h1,_T_379}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208049.4]
+  assign _T_382 = {_T_381,4'h8}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208050.4]
+  assign _T_383 = _T_382[4:0]; // @[Replacement.scala 60:53:shc.marmotcaravel.MarmotCaravelConfig.fir@208051.4]
+  assign _T_384 = _T_383 < 5'h1c; // @[Replacement.scala 60:70:shc.marmotcaravel.MarmotCaravelConfig.fir@208052.4]
+  assign _T_385 = _T_374 >> _T_381; // @[Replacement.scala 61:48:shc.marmotcaravel.MarmotCaravelConfig.fir@208053.4]
+  assign _T_386 = _T_385[0]; // @[Replacement.scala 61:48:shc.marmotcaravel.MarmotCaravelConfig.fir@208054.4]
+  assign _T_387 = _T_384 & _T_386; // @[Replacement.scala 61:32:shc.marmotcaravel.MarmotCaravelConfig.fir@208055.4]
+  assign _T_388 = {_T_381,_T_387}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208056.4]
+  assign _T_389 = {_T_388,3'h4}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208057.4]
+  assign _T_390 = _T_389[4:0]; // @[Replacement.scala 60:53:shc.marmotcaravel.MarmotCaravelConfig.fir@208058.4]
+  assign _T_391 = _T_390 < 5'h1c; // @[Replacement.scala 60:70:shc.marmotcaravel.MarmotCaravelConfig.fir@208059.4]
+  assign _T_392 = _T_374 >> _T_388; // @[Replacement.scala 61:48:shc.marmotcaravel.MarmotCaravelConfig.fir@208060.4]
+  assign _T_393 = _T_392[0]; // @[Replacement.scala 61:48:shc.marmotcaravel.MarmotCaravelConfig.fir@208061.4]
+  assign _T_394 = _T_391 & _T_393; // @[Replacement.scala 61:32:shc.marmotcaravel.MarmotCaravelConfig.fir@208062.4]
+  assign _T_395 = {_T_388,_T_394}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208063.4]
+  assign _T_396 = {_T_395,2'h2}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208064.4]
+  assign _T_397 = _T_396[4:0]; // @[Replacement.scala 60:53:shc.marmotcaravel.MarmotCaravelConfig.fir@208065.4]
+  assign _T_398 = _T_397 < 5'h1c; // @[Replacement.scala 60:70:shc.marmotcaravel.MarmotCaravelConfig.fir@208066.4]
+  assign _T_399 = _T_374 >> _T_395; // @[Replacement.scala 61:48:shc.marmotcaravel.MarmotCaravelConfig.fir@208067.4]
+  assign _T_400 = _T_399[0]; // @[Replacement.scala 61:48:shc.marmotcaravel.MarmotCaravelConfig.fir@208068.4]
+  assign _T_401 = _T_398 & _T_400; // @[Replacement.scala 61:32:shc.marmotcaravel.MarmotCaravelConfig.fir@208069.4]
+  assign _T_402 = {_T_395,_T_401}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208070.4]
+  assign _T_403 = {_T_402,1'h1}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208071.4]
+  assign _T_404 = _T_403[4:0]; // @[Replacement.scala 60:53:shc.marmotcaravel.MarmotCaravelConfig.fir@208072.4]
+  assign _T_405 = _T_404 < 5'h1c; // @[Replacement.scala 60:70:shc.marmotcaravel.MarmotCaravelConfig.fir@208073.4]
+  assign _T_406 = _T_374 >> _T_402; // @[Replacement.scala 61:48:shc.marmotcaravel.MarmotCaravelConfig.fir@208074.4]
+  assign _T_407 = _T_406[0]; // @[Replacement.scala 61:48:shc.marmotcaravel.MarmotCaravelConfig.fir@208075.4]
+  assign _T_408 = _T_405 & _T_407; // @[Replacement.scala 61:32:shc.marmotcaravel.MarmotCaravelConfig.fir@208076.4]
+  assign _T_409 = {_T_402,_T_408}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208077.4]
+  assign _T_410 = _T_409[4:0]; // @[Replacement.scala 63:8:shc.marmotcaravel.MarmotCaravelConfig.fir@208078.4]
+  assign waddr = updateHit ? r_btb_update_bits_prediction_entry : _T_410; // @[BTB.scala 244:18:shc.marmotcaravel.MarmotCaravelConfig.fir@208079.4]
+  assign _T_419 = r_resp_valid & r_resp_bits_taken; // @[BTB.scala 246:22:shc.marmotcaravel.MarmotCaravelConfig.fir@208097.4]
+  assign _T_420 = _T_419 | r_btb_update_valid; // @[BTB.scala 246:43:shc.marmotcaravel.MarmotCaravelConfig.fir@208098.4]
+  assign _T_421 = r_btb_update_valid ? waddr : r_resp_bits_entry; // @[BTB.scala 247:20:shc.marmotcaravel.MarmotCaravelConfig.fir@208100.6]
+  assign _T_423 = _T_421[4]; // @[Replacement.scala 49:20:shc.marmotcaravel.MarmotCaravelConfig.fir@208102.6]
+  assign _T_424 = _T_423 == 1'h0; // @[Replacement.scala 50:43:shc.marmotcaravel.MarmotCaravelConfig.fir@208103.6]
+  assign _T_425 = 2'h1 << 1'h1; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208104.6]
+  assign _GEN_443 = {{26'd0}, _T_425}; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208105.6]
+  assign _T_426 = _T_374 | _GEN_443; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208105.6]
+  assign _T_427 = ~ _T_374; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208106.6]
+  assign _T_428 = _T_427 | _GEN_443; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208107.6]
+  assign _T_429 = ~ _T_428; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208108.6]
+  assign _T_430 = _T_424 ? _T_426 : _T_429; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208109.6]
+  assign _T_431 = {1'h1,_T_423}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208110.6]
+  assign _T_432 = _T_421[3]; // @[Replacement.scala 49:20:shc.marmotcaravel.MarmotCaravelConfig.fir@208111.6]
+  assign _T_433 = _T_432 == 1'h0; // @[Replacement.scala 50:43:shc.marmotcaravel.MarmotCaravelConfig.fir@208112.6]
+  assign _T_434 = 4'h1 << _T_431; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208113.6]
+  assign _GEN_445 = {{24'd0}, _T_434}; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208114.6]
+  assign _T_435 = _T_430 | _GEN_445; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208114.6]
+  assign _T_436 = ~ _T_430; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208115.6]
+  assign _T_437 = _T_436 | _GEN_445; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208116.6]
+  assign _T_438 = ~ _T_437; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208117.6]
+  assign _T_439 = _T_433 ? _T_435 : _T_438; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208118.6]
+  assign _T_440 = {_T_431,_T_432}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208119.6]
+  assign _T_441 = _T_421[2]; // @[Replacement.scala 49:20:shc.marmotcaravel.MarmotCaravelConfig.fir@208120.6]
+  assign _T_442 = _T_441 == 1'h0; // @[Replacement.scala 50:43:shc.marmotcaravel.MarmotCaravelConfig.fir@208121.6]
+  assign _T_443 = 8'h1 << _T_440; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208122.6]
+  assign _GEN_447 = {{20'd0}, _T_443}; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208123.6]
+  assign _T_444 = _T_439 | _GEN_447; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208123.6]
+  assign _T_445 = ~ _T_439; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208124.6]
+  assign _T_446 = _T_445 | _GEN_447; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208125.6]
+  assign _T_447 = ~ _T_446; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208126.6]
+  assign _T_448 = _T_442 ? _T_444 : _T_447; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208127.6]
+  assign _T_449 = {_T_440,_T_441}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208128.6]
+  assign _T_450 = _T_421[1]; // @[Replacement.scala 49:20:shc.marmotcaravel.MarmotCaravelConfig.fir@208129.6]
+  assign _T_451 = _T_450 == 1'h0; // @[Replacement.scala 50:43:shc.marmotcaravel.MarmotCaravelConfig.fir@208130.6]
+  assign _T_452 = 16'h1 << _T_449; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208131.6]
+  assign _GEN_449 = {{12'd0}, _T_452}; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208132.6]
+  assign _T_453 = _T_448 | _GEN_449; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208132.6]
+  assign _T_454 = ~ _T_448; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208133.6]
+  assign _T_455 = _T_454 | _GEN_449; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208134.6]
+  assign _T_456 = ~ _T_455; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208135.6]
+  assign _T_457 = _T_451 ? _T_453 : _T_456; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208136.6]
+  assign _T_458 = {_T_449,_T_450}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208137.6]
+  assign _T_459 = _T_421[0]; // @[Replacement.scala 49:20:shc.marmotcaravel.MarmotCaravelConfig.fir@208138.6]
+  assign _T_460 = _T_459 == 1'h0; // @[Replacement.scala 50:43:shc.marmotcaravel.MarmotCaravelConfig.fir@208139.6]
+  assign _T_461 = 32'h1 << _T_458; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208140.6]
+  assign _GEN_451 = {{4'd0}, _T_457}; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208141.6]
+  assign _T_462 = _GEN_451 | _T_461; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208141.6]
+  assign _T_463 = ~ _T_457; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208142.6]
+  assign _GEN_452 = {{4'd0}, _T_463}; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208143.6]
+  assign _T_464 = _GEN_452 | _T_461; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208143.6]
+  assign _T_465 = ~ _T_464; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208144.6]
+  assign _T_466 = _T_460 ? _T_462 : _T_465; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208145.6]
+  assign _T_468 = _T_466[27:1]; // @[package.scala 119:13:shc.marmotcaravel.MarmotCaravelConfig.fir@208147.6]
+  assign _T_469 = 32'h1 << waddr; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@208151.6]
+  assign _T_471 = r_btb_update_bits_pc[13:1]; // @[BTB.scala 252:40:shc.marmotcaravel.MarmotCaravelConfig.fir@208152.6]
+  assign _T_475 = idxPageUpdate + 3'h1; // @[BTB.scala 254:38:shc.marmotcaravel.MarmotCaravelConfig.fir@208156.6]
+  assign _idxPages_waddr = _T_475[2:0]; // @[BTB.scala 254:21:shc.marmotcaravel.MarmotCaravelConfig.fir@208157.6 BTB.scala 254:21:shc.marmotcaravel.MarmotCaravelConfig.fir@208157.6]
+  assign _GEN_453 = {{4'd0}, isValid}; // @[BTB.scala 257:55:shc.marmotcaravel.MarmotCaravelConfig.fir@208160.6]
+  assign _T_478 = _GEN_453 | _T_469; // @[BTB.scala 257:55:shc.marmotcaravel.MarmotCaravelConfig.fir@208160.6]
+  assign _T_479 = ~ _T_469; // @[BTB.scala 257:73:shc.marmotcaravel.MarmotCaravelConfig.fir@208161.6]
+  assign _T_480 = _GEN_453 & _T_479; // @[BTB.scala 257:71:shc.marmotcaravel.MarmotCaravelConfig.fir@208162.6]
+  assign _T_481 = r_btb_update_bits_isValid ? _T_478 : _T_480; // @[BTB.scala 257:19:shc.marmotcaravel.MarmotCaravelConfig.fir@208163.6]
+  assign _T_483 = r_btb_update_bits_br_pc[31:1]; // @[BTB.scala 259:47:shc.marmotcaravel.MarmotCaravelConfig.fir@208165.6]
+  assign _brIdx_waddr = _T_483[0]; // @[BTB.scala 259:20:shc.marmotcaravel.MarmotCaravelConfig.fir@208166.6 BTB.scala 259:20:shc.marmotcaravel.MarmotCaravelConfig.fir@208166.6]
+  assign _T_484 = idxPageUpdate[0]; // @[BTB.scala 262:39:shc.marmotcaravel.MarmotCaravelConfig.fir@208167.6]
+  assign _T_485 = _T_484 == 1'h0; // @[BTB.scala 262:25:shc.marmotcaravel.MarmotCaravelConfig.fir@208168.6]
+  assign _T_486 = _T_485 ? idxPageReplEn : tgtPageReplEn; // @[BTB.scala 268:24:shc.marmotcaravel.MarmotCaravelConfig.fir@208169.6]
+  assign _T_490 = _T_486[0]; // @[BTB.scala 266:17:shc.marmotcaravel.MarmotCaravelConfig.fir@208173.6]
+  assign _T_491 = _T_486[2]; // @[BTB.scala 266:17:shc.marmotcaravel.MarmotCaravelConfig.fir@208177.6]
+  assign _T_492 = _T_486[4]; // @[BTB.scala 266:17:shc.marmotcaravel.MarmotCaravelConfig.fir@208181.6]
+  assign _T_493 = _T_485 ? tgtPageReplEn : idxPageReplEn; // @[BTB.scala 270:24:shc.marmotcaravel.MarmotCaravelConfig.fir@208185.6]
+  assign _T_497 = _T_493[1]; // @[BTB.scala 266:17:shc.marmotcaravel.MarmotCaravelConfig.fir@208189.6]
+  assign _T_498 = _T_493[3]; // @[BTB.scala 266:17:shc.marmotcaravel.MarmotCaravelConfig.fir@208193.6]
+  assign _T_499 = _T_493[5]; // @[BTB.scala 266:17:shc.marmotcaravel.MarmotCaravelConfig.fir@208197.6]
+  assign _GEN_455 = {{2'd0}, pageValid}; // @[BTB.scala 272:28:shc.marmotcaravel.MarmotCaravelConfig.fir@208201.6]
+  assign _T_500 = _GEN_455 | tgtPageReplEn; // @[BTB.scala 272:28:shc.marmotcaravel.MarmotCaravelConfig.fir@208201.6]
+  assign _T_501 = _T_500 | idxPageReplEn; // @[BTB.scala 272:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208202.6]
+  assign _GEN_338 = r_btb_update_valid ? _T_481 : {{4'd0}, isValid}; // @[BTB.scala 250:29:shc.marmotcaravel.MarmotCaravelConfig.fir@208150.4]
+  assign _GEN_373 = r_btb_update_valid ? _T_501 : {{2'd0}, pageValid}; // @[BTB.scala 250:29:shc.marmotcaravel.MarmotCaravelConfig.fir@208150.4]
+  assign _GEN_456 = {{1'd0}, pageHit}; // @[BTB.scala 275:29:shc.marmotcaravel.MarmotCaravelConfig.fir@208205.4]
+  assign _T_502 = _GEN_456 << 1; // @[BTB.scala 275:29:shc.marmotcaravel.MarmotCaravelConfig.fir@208205.4]
+  assign _T_503 = idxHit[0]; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@208206.4]
+  assign _T_504 = idxHit[1]; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@208207.4]
+  assign _T_505 = idxHit[2]; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@208208.4]
+  assign _T_506 = idxHit[3]; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@208209.4]
+  assign _T_507 = idxHit[4]; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@208210.4]
+  assign _T_508 = idxHit[5]; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@208211.4]
+  assign _T_509 = idxHit[6]; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@208212.4]
+  assign _T_510 = idxHit[7]; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@208213.4]
+  assign _T_511 = idxHit[8]; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@208214.4]
+  assign _T_512 = idxHit[9]; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@208215.4]
+  assign _T_513 = idxHit[10]; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@208216.4]
+  assign _T_514 = idxHit[11]; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@208217.4]
+  assign _T_515 = idxHit[12]; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@208218.4]
+  assign _T_516 = idxHit[13]; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@208219.4]
+  assign _T_517 = idxHit[14]; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@208220.4]
+  assign _T_518 = idxHit[15]; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@208221.4]
+  assign _T_519 = idxHit[16]; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@208222.4]
+  assign _T_520 = idxHit[17]; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@208223.4]
+  assign _T_521 = idxHit[18]; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@208224.4]
+  assign _T_522 = idxHit[19]; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@208225.4]
+  assign _T_523 = idxHit[20]; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@208226.4]
+  assign _T_524 = idxHit[21]; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@208227.4]
+  assign _T_525 = idxHit[22]; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@208228.4]
+  assign _T_526 = idxHit[23]; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@208229.4]
+  assign _T_527 = idxHit[24]; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@208230.4]
+  assign _T_528 = idxHit[25]; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@208231.4]
+  assign _T_529 = idxHit[26]; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@208232.4]
+  assign _T_530 = idxHit[27]; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@208233.4]
+  assign _T_532 = _T_503 ? idxPages_0 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208234.4]
+  assign _T_533 = _T_504 ? idxPages_1 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208235.4]
+  assign _T_534 = _T_505 ? idxPages_2 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208236.4]
+  assign _T_535 = _T_506 ? idxPages_3 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208237.4]
+  assign _T_536 = _T_507 ? idxPages_4 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208238.4]
+  assign _T_537 = _T_508 ? idxPages_5 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208239.4]
+  assign _T_538 = _T_509 ? idxPages_6 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208240.4]
+  assign _T_539 = _T_510 ? idxPages_7 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208241.4]
+  assign _T_540 = _T_511 ? idxPages_8 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208242.4]
+  assign _T_541 = _T_512 ? idxPages_9 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208243.4]
+  assign _T_542 = _T_513 ? idxPages_10 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208244.4]
+  assign _T_543 = _T_514 ? idxPages_11 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208245.4]
+  assign _T_544 = _T_515 ? idxPages_12 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208246.4]
+  assign _T_545 = _T_516 ? idxPages_13 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208247.4]
+  assign _T_546 = _T_517 ? idxPages_14 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208248.4]
+  assign _T_547 = _T_518 ? idxPages_15 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208249.4]
+  assign _T_548 = _T_519 ? idxPages_16 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208250.4]
+  assign _T_549 = _T_520 ? idxPages_17 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208251.4]
+  assign _T_550 = _T_521 ? idxPages_18 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208252.4]
+  assign _T_551 = _T_522 ? idxPages_19 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208253.4]
+  assign _T_552 = _T_523 ? idxPages_20 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208254.4]
+  assign _T_553 = _T_524 ? idxPages_21 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208255.4]
+  assign _T_554 = _T_525 ? idxPages_22 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208256.4]
+  assign _T_555 = _T_526 ? idxPages_23 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208257.4]
+  assign _T_556 = _T_527 ? idxPages_24 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208258.4]
+  assign _T_557 = _T_528 ? idxPages_25 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208259.4]
+  assign _T_558 = _T_529 ? idxPages_26 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208260.4]
+  assign _T_559 = _T_530 ? idxPages_27 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208261.4]
+  assign _T_560 = _T_532 | _T_533; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208262.4]
+  assign _T_561 = _T_560 | _T_534; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208263.4]
+  assign _T_562 = _T_561 | _T_535; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208264.4]
+  assign _T_563 = _T_562 | _T_536; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208265.4]
+  assign _T_564 = _T_563 | _T_537; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208266.4]
+  assign _T_565 = _T_564 | _T_538; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208267.4]
+  assign _T_566 = _T_565 | _T_539; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208268.4]
+  assign _T_567 = _T_566 | _T_540; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208269.4]
+  assign _T_568 = _T_567 | _T_541; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208270.4]
+  assign _T_569 = _T_568 | _T_542; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208271.4]
+  assign _T_570 = _T_569 | _T_543; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208272.4]
+  assign _T_571 = _T_570 | _T_544; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208273.4]
+  assign _T_572 = _T_571 | _T_545; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208274.4]
+  assign _T_573 = _T_572 | _T_546; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208275.4]
+  assign _T_574 = _T_573 | _T_547; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208276.4]
+  assign _T_575 = _T_574 | _T_548; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208277.4]
+  assign _T_576 = _T_575 | _T_549; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208278.4]
+  assign _T_577 = _T_576 | _T_550; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208279.4]
+  assign _T_578 = _T_577 | _T_551; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208280.4]
+  assign _T_579 = _T_578 | _T_552; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208281.4]
+  assign _T_580 = _T_579 | _T_553; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208282.4]
+  assign _T_581 = _T_580 | _T_554; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208283.4]
+  assign _T_582 = _T_581 | _T_555; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208284.4]
+  assign _T_583 = _T_582 | _T_556; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208285.4]
+  assign _T_584 = _T_583 | _T_557; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208286.4]
+  assign _T_585 = _T_584 | _T_558; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208287.4]
+  assign _T_586 = _T_585 | _T_559; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208288.4]
+  assign _T_589 = _T_502 >> _T_586; // @[BTB.scala 275:34:shc.marmotcaravel.MarmotCaravelConfig.fir@208291.4]
+  assign _T_620 = _T_503 ? tgtPages_0 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208323.4]
+  assign _T_621 = _T_504 ? tgtPages_1 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208324.4]
+  assign _T_622 = _T_505 ? tgtPages_2 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208325.4]
+  assign _T_623 = _T_506 ? tgtPages_3 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208326.4]
+  assign _T_624 = _T_507 ? tgtPages_4 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208327.4]
+  assign _T_625 = _T_508 ? tgtPages_5 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208328.4]
+  assign _T_626 = _T_509 ? tgtPages_6 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208329.4]
+  assign _T_627 = _T_510 ? tgtPages_7 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208330.4]
+  assign _T_628 = _T_511 ? tgtPages_8 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208331.4]
+  assign _T_629 = _T_512 ? tgtPages_9 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208332.4]
+  assign _T_630 = _T_513 ? tgtPages_10 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208333.4]
+  assign _T_631 = _T_514 ? tgtPages_11 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208334.4]
+  assign _T_632 = _T_515 ? tgtPages_12 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208335.4]
+  assign _T_633 = _T_516 ? tgtPages_13 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208336.4]
+  assign _T_634 = _T_517 ? tgtPages_14 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208337.4]
+  assign _T_635 = _T_518 ? tgtPages_15 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208338.4]
+  assign _T_636 = _T_519 ? tgtPages_16 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208339.4]
+  assign _T_637 = _T_520 ? tgtPages_17 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208340.4]
+  assign _T_638 = _T_521 ? tgtPages_18 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208341.4]
+  assign _T_639 = _T_522 ? tgtPages_19 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208342.4]
+  assign _T_640 = _T_523 ? tgtPages_20 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208343.4]
+  assign _T_641 = _T_524 ? tgtPages_21 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208344.4]
+  assign _T_642 = _T_525 ? tgtPages_22 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208345.4]
+  assign _T_643 = _T_526 ? tgtPages_23 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208346.4]
+  assign _T_644 = _T_527 ? tgtPages_24 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208347.4]
+  assign _T_645 = _T_528 ? tgtPages_25 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208348.4]
+  assign _T_646 = _T_529 ? tgtPages_26 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208349.4]
+  assign _T_647 = _T_530 ? tgtPages_27 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208350.4]
+  assign _T_648 = _T_620 | _T_621; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208351.4]
+  assign _T_649 = _T_648 | _T_622; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208352.4]
+  assign _T_650 = _T_649 | _T_623; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208353.4]
+  assign _T_651 = _T_650 | _T_624; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208354.4]
+  assign _T_652 = _T_651 | _T_625; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208355.4]
+  assign _T_653 = _T_652 | _T_626; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208356.4]
+  assign _T_654 = _T_653 | _T_627; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208357.4]
+  assign _T_655 = _T_654 | _T_628; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208358.4]
+  assign _T_656 = _T_655 | _T_629; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208359.4]
+  assign _T_657 = _T_656 | _T_630; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208360.4]
+  assign _T_658 = _T_657 | _T_631; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208361.4]
+  assign _T_659 = _T_658 | _T_632; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208362.4]
+  assign _T_660 = _T_659 | _T_633; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208363.4]
+  assign _T_661 = _T_660 | _T_634; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208364.4]
+  assign _T_662 = _T_661 | _T_635; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208365.4]
+  assign _T_663 = _T_662 | _T_636; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208366.4]
+  assign _T_664 = _T_663 | _T_637; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208367.4]
+  assign _T_665 = _T_664 | _T_638; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208368.4]
+  assign _T_666 = _T_665 | _T_639; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208369.4]
+  assign _T_667 = _T_666 | _T_640; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208370.4]
+  assign _T_668 = _T_667 | _T_641; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208371.4]
+  assign _T_669 = _T_668 | _T_642; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208372.4]
+  assign _T_670 = _T_669 | _T_643; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208373.4]
+  assign _T_671 = _T_670 | _T_644; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208374.4]
+  assign _T_672 = _T_671 | _T_645; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208375.4]
+  assign _T_673 = _T_672 | _T_646; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208376.4]
+  assign _T_674 = _T_673 | _T_647; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208377.4]
+  assign _T_707 = _T_503 ? tgts_0 : 13'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208408.4]
+  assign _T_708 = _T_504 ? tgts_1 : 13'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208409.4]
+  assign _T_709 = _T_505 ? tgts_2 : 13'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208410.4]
+  assign _T_710 = _T_506 ? tgts_3 : 13'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208411.4]
+  assign _T_711 = _T_507 ? tgts_4 : 13'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208412.4]
+  assign _T_712 = _T_508 ? tgts_5 : 13'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208413.4]
+  assign _T_713 = _T_509 ? tgts_6 : 13'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208414.4]
+  assign _T_714 = _T_510 ? tgts_7 : 13'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208415.4]
+  assign _T_715 = _T_511 ? tgts_8 : 13'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208416.4]
+  assign _T_716 = _T_512 ? tgts_9 : 13'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208417.4]
+  assign _T_717 = _T_513 ? tgts_10 : 13'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208418.4]
+  assign _T_718 = _T_514 ? tgts_11 : 13'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208419.4]
+  assign _T_719 = _T_515 ? tgts_12 : 13'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208420.4]
+  assign _T_720 = _T_516 ? tgts_13 : 13'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208421.4]
+  assign _T_721 = _T_517 ? tgts_14 : 13'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208422.4]
+  assign _T_722 = _T_518 ? tgts_15 : 13'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208423.4]
+  assign _T_723 = _T_519 ? tgts_16 : 13'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208424.4]
+  assign _T_724 = _T_520 ? tgts_17 : 13'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208425.4]
+  assign _T_725 = _T_521 ? tgts_18 : 13'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208426.4]
+  assign _T_726 = _T_522 ? tgts_19 : 13'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208427.4]
+  assign _T_727 = _T_523 ? tgts_20 : 13'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208428.4]
+  assign _T_728 = _T_524 ? tgts_21 : 13'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208429.4]
+  assign _T_729 = _T_525 ? tgts_22 : 13'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208430.4]
+  assign _T_730 = _T_526 ? tgts_23 : 13'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208431.4]
+  assign _T_731 = _T_527 ? tgts_24 : 13'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208432.4]
+  assign _T_732 = _T_528 ? tgts_25 : 13'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208433.4]
+  assign _T_733 = _T_529 ? tgts_26 : 13'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208434.4]
+  assign _T_734 = _T_530 ? tgts_27 : 13'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208435.4]
+  assign _T_735 = _T_707 | _T_708; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208436.4]
+  assign _T_736 = _T_735 | _T_709; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208437.4]
+  assign _T_737 = _T_736 | _T_710; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208438.4]
+  assign _T_738 = _T_737 | _T_711; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208439.4]
+  assign _T_739 = _T_738 | _T_712; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208440.4]
+  assign _T_740 = _T_739 | _T_713; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208441.4]
+  assign _T_741 = _T_740 | _T_714; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208442.4]
+  assign _T_742 = _T_741 | _T_715; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208443.4]
+  assign _T_743 = _T_742 | _T_716; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208444.4]
+  assign _T_744 = _T_743 | _T_717; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208445.4]
+  assign _T_745 = _T_744 | _T_718; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208446.4]
+  assign _T_746 = _T_745 | _T_719; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208447.4]
+  assign _T_747 = _T_746 | _T_720; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208448.4]
+  assign _T_748 = _T_747 | _T_721; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208449.4]
+  assign _T_749 = _T_748 | _T_722; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208450.4]
+  assign _T_750 = _T_749 | _T_723; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208451.4]
+  assign _T_751 = _T_750 | _T_724; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208452.4]
+  assign _T_752 = _T_751 | _T_725; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208453.4]
+  assign _T_753 = _T_752 | _T_726; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208454.4]
+  assign _T_754 = _T_753 | _T_727; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208455.4]
+  assign _T_755 = _T_754 | _T_728; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208456.4]
+  assign _T_756 = _T_755 | _T_729; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208457.4]
+  assign _T_757 = _T_756 | _T_730; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208458.4]
+  assign _T_758 = _T_757 | _T_731; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208459.4]
+  assign _T_759 = _T_758 | _T_732; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208460.4]
+  assign _T_760 = _T_759 | _T_733; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208461.4]
+  assign _T_761 = _T_760 | _T_734; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208462.4]
+  assign _GEN_457 = {{1'd0}, _T_761}; // @[BTB.scala 277:82:shc.marmotcaravel.MarmotCaravelConfig.fir@208465.4]
+  assign _T_764 = _GEN_457 << 1; // @[BTB.scala 277:82:shc.marmotcaravel.MarmotCaravelConfig.fir@208465.4]
+  assign _GEN_375 = 3'h1 == _T_674 ? pages_1 : pages_0; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208466.4]
+  assign _GEN_376 = 3'h2 == _T_674 ? pages_2 : _GEN_375; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208466.4]
+  assign _GEN_377 = 3'h3 == _T_674 ? pages_3 : _GEN_376; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208466.4]
+  assign _GEN_378 = 3'h4 == _T_674 ? pages_4 : _GEN_377; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208466.4]
+  assign _GEN_379 = 3'h5 == _T_674 ? pages_5 : _GEN_378; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208466.4]
+  assign _T_765 = {_GEN_379,_T_764}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208466.4]
+  assign _T_766 = idxHit[27:16]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@208468.4]
+  assign _T_767 = idxHit[15:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@208469.4]
+  assign _T_768 = _T_766 != 12'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@208470.4]
+  assign _GEN_458 = {{4'd0}, _T_766}; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@208471.4]
+  assign _T_769 = _GEN_458 | _T_767; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@208471.4]
+  assign _T_770 = _T_769[15:8]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@208472.4]
+  assign _T_771 = _T_769[7:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@208473.4]
+  assign _T_772 = _T_770 != 8'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@208474.4]
+  assign _T_773 = _T_770 | _T_771; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@208475.4]
+  assign _T_774 = _T_773[7:4]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@208476.4]
+  assign _T_775 = _T_773[3:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@208477.4]
+  assign _T_776 = _T_774 != 4'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@208478.4]
+  assign _T_777 = _T_774 | _T_775; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@208479.4]
+  assign _T_778 = _T_777[3:2]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@208480.4]
+  assign _T_779 = _T_777[1:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@208481.4]
+  assign _T_780 = _T_778 != 2'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@208482.4]
+  assign _T_781 = _T_778 | _T_779; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@208483.4]
+  assign _T_782 = _T_781[1]; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@208484.4]
+  assign _T_783 = {_T_780,_T_782}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208485.4]
+  assign _T_784 = {_T_776,_T_783}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208486.4]
+  assign _T_785 = {_T_772,_T_784}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208487.4]
+  assign _T_816 = _T_503 ? brIdx_0 : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208518.4]
+  assign _T_817 = _T_504 ? brIdx_1 : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208519.4]
+  assign _T_818 = _T_505 ? brIdx_2 : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208520.4]
+  assign _T_819 = _T_506 ? brIdx_3 : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208521.4]
+  assign _T_820 = _T_507 ? brIdx_4 : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208522.4]
+  assign _T_821 = _T_508 ? brIdx_5 : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208523.4]
+  assign _T_822 = _T_509 ? brIdx_6 : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208524.4]
+  assign _T_823 = _T_510 ? brIdx_7 : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208525.4]
+  assign _T_824 = _T_511 ? brIdx_8 : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208526.4]
+  assign _T_825 = _T_512 ? brIdx_9 : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208527.4]
+  assign _T_826 = _T_513 ? brIdx_10 : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208528.4]
+  assign _T_827 = _T_514 ? brIdx_11 : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208529.4]
+  assign _T_828 = _T_515 ? brIdx_12 : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208530.4]
+  assign _T_829 = _T_516 ? brIdx_13 : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208531.4]
+  assign _T_830 = _T_517 ? brIdx_14 : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208532.4]
+  assign _T_831 = _T_518 ? brIdx_15 : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208533.4]
+  assign _T_832 = _T_519 ? brIdx_16 : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208534.4]
+  assign _T_833 = _T_520 ? brIdx_17 : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208535.4]
+  assign _T_834 = _T_521 ? brIdx_18 : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208536.4]
+  assign _T_835 = _T_522 ? brIdx_19 : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208537.4]
+  assign _T_836 = _T_523 ? brIdx_20 : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208538.4]
+  assign _T_837 = _T_524 ? brIdx_21 : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208539.4]
+  assign _T_838 = _T_525 ? brIdx_22 : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208540.4]
+  assign _T_839 = _T_526 ? brIdx_23 : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208541.4]
+  assign _T_840 = _T_527 ? brIdx_24 : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208542.4]
+  assign _T_841 = _T_528 ? brIdx_25 : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208543.4]
+  assign _T_842 = _T_529 ? brIdx_26 : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208544.4]
+  assign _T_843 = _T_530 ? brIdx_27 : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208545.4]
+  assign _T_844 = _T_816 | _T_817; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208546.4]
+  assign _T_845 = _T_844 | _T_818; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208547.4]
+  assign _T_846 = _T_845 | _T_819; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208548.4]
+  assign _T_847 = _T_846 | _T_820; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208549.4]
+  assign _T_848 = _T_847 | _T_821; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208550.4]
+  assign _T_849 = _T_848 | _T_822; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208551.4]
+  assign _T_850 = _T_849 | _T_823; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208552.4]
+  assign _T_851 = _T_850 | _T_824; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208553.4]
+  assign _T_852 = _T_851 | _T_825; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208554.4]
+  assign _T_853 = _T_852 | _T_826; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208555.4]
+  assign _T_854 = _T_853 | _T_827; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208556.4]
+  assign _T_855 = _T_854 | _T_828; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208557.4]
+  assign _T_856 = _T_855 | _T_829; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208558.4]
+  assign _T_857 = _T_856 | _T_830; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208559.4]
+  assign _T_858 = _T_857 | _T_831; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208560.4]
+  assign _T_859 = _T_858 | _T_832; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208561.4]
+  assign _T_860 = _T_859 | _T_833; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208562.4]
+  assign _T_861 = _T_860 | _T_834; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208563.4]
+  assign _T_862 = _T_861 | _T_835; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208564.4]
+  assign _T_863 = _T_862 | _T_836; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208565.4]
+  assign _T_864 = _T_863 | _T_837; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208566.4]
+  assign _T_865 = _T_864 | _T_838; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208567.4]
+  assign _T_866 = _T_865 | _T_839; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208568.4]
+  assign _T_867 = _T_866 | _T_840; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208569.4]
+  assign _T_868 = _T_867 | _T_841; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208570.4]
+  assign _T_869 = _T_868 | _T_842; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208571.4]
+  assign _T_967 = idxHit[13:0]; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208671.4]
+  assign _T_968 = _T_967[6:0]; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208672.4]
+  assign _T_969 = _T_968[2:0]; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208673.4]
+  assign _T_970 = _T_969[0]; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208674.4]
+  assign _T_972 = _T_969[2:1]; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@208676.4]
+  assign _T_973 = _T_972[0]; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208677.4]
+  assign _T_975 = _T_972[1]; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@208679.4]
+  assign _T_977 = _T_973 | _T_975; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208681.4]
+  assign _T_979 = _T_973 & _T_975; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@208683.4]
+  assign _T_981 = _T_970 | _T_977; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208685.4]
+  assign _T_983 = _T_970 & _T_977; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@208687.4]
+  assign _T_984 = _T_979 | _T_983; // @[Misc.scala 187:49:shc.marmotcaravel.MarmotCaravelConfig.fir@208688.4]
+  assign _T_985 = _T_968[6:3]; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@208689.4]
+  assign _T_986 = _T_985[1:0]; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208690.4]
+  assign _T_987 = _T_986[0]; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208691.4]
+  assign _T_989 = _T_986[1]; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@208693.4]
+  assign _T_991 = _T_987 | _T_989; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208695.4]
+  assign _T_993 = _T_987 & _T_989; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@208697.4]
+  assign _T_995 = _T_985[3:2]; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@208699.4]
+  assign _T_996 = _T_995[0]; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208700.4]
+  assign _T_998 = _T_995[1]; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@208702.4]
+  assign _T_1000 = _T_996 | _T_998; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208704.4]
+  assign _T_1002 = _T_996 & _T_998; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@208706.4]
+  assign _T_1004 = _T_991 | _T_1000; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208708.4]
+  assign _T_1005 = _T_993 | _T_1002; // @[Misc.scala 187:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208709.4]
+  assign _T_1006 = _T_991 & _T_1000; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@208710.4]
+  assign _T_1007 = _T_1005 | _T_1006; // @[Misc.scala 187:49:shc.marmotcaravel.MarmotCaravelConfig.fir@208711.4]
+  assign _T_1008 = _T_981 | _T_1004; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208712.4]
+  assign _T_1009 = _T_984 | _T_1007; // @[Misc.scala 187:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208713.4]
+  assign _T_1010 = _T_981 & _T_1004; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@208714.4]
+  assign _T_1011 = _T_1009 | _T_1010; // @[Misc.scala 187:49:shc.marmotcaravel.MarmotCaravelConfig.fir@208715.4]
+  assign _T_1012 = _T_967[13:7]; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@208716.4]
+  assign _T_1013 = _T_1012[2:0]; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208717.4]
+  assign _T_1014 = _T_1013[0]; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208718.4]
+  assign _T_1016 = _T_1013[2:1]; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@208720.4]
+  assign _T_1017 = _T_1016[0]; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208721.4]
+  assign _T_1019 = _T_1016[1]; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@208723.4]
+  assign _T_1021 = _T_1017 | _T_1019; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208725.4]
+  assign _T_1023 = _T_1017 & _T_1019; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@208727.4]
+  assign _T_1025 = _T_1014 | _T_1021; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208729.4]
+  assign _T_1027 = _T_1014 & _T_1021; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@208731.4]
+  assign _T_1028 = _T_1023 | _T_1027; // @[Misc.scala 187:49:shc.marmotcaravel.MarmotCaravelConfig.fir@208732.4]
+  assign _T_1029 = _T_1012[6:3]; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@208733.4]
+  assign _T_1030 = _T_1029[1:0]; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208734.4]
+  assign _T_1031 = _T_1030[0]; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208735.4]
+  assign _T_1033 = _T_1030[1]; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@208737.4]
+  assign _T_1035 = _T_1031 | _T_1033; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208739.4]
+  assign _T_1037 = _T_1031 & _T_1033; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@208741.4]
+  assign _T_1039 = _T_1029[3:2]; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@208743.4]
+  assign _T_1040 = _T_1039[0]; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208744.4]
+  assign _T_1042 = _T_1039[1]; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@208746.4]
+  assign _T_1044 = _T_1040 | _T_1042; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208748.4]
+  assign _T_1046 = _T_1040 & _T_1042; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@208750.4]
+  assign _T_1048 = _T_1035 | _T_1044; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208752.4]
+  assign _T_1049 = _T_1037 | _T_1046; // @[Misc.scala 187:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208753.4]
+  assign _T_1050 = _T_1035 & _T_1044; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@208754.4]
+  assign _T_1051 = _T_1049 | _T_1050; // @[Misc.scala 187:49:shc.marmotcaravel.MarmotCaravelConfig.fir@208755.4]
+  assign _T_1052 = _T_1025 | _T_1048; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208756.4]
+  assign _T_1053 = _T_1028 | _T_1051; // @[Misc.scala 187:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208757.4]
+  assign _T_1054 = _T_1025 & _T_1048; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@208758.4]
+  assign _T_1055 = _T_1053 | _T_1054; // @[Misc.scala 187:49:shc.marmotcaravel.MarmotCaravelConfig.fir@208759.4]
+  assign _T_1056 = _T_1008 | _T_1052; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208760.4]
+  assign _T_1057 = _T_1011 | _T_1055; // @[Misc.scala 187:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208761.4]
+  assign _T_1058 = _T_1008 & _T_1052; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@208762.4]
+  assign _T_1059 = _T_1057 | _T_1058; // @[Misc.scala 187:49:shc.marmotcaravel.MarmotCaravelConfig.fir@208763.4]
+  assign _T_1060 = idxHit[27:14]; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@208764.4]
+  assign _T_1061 = _T_1060[6:0]; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208765.4]
+  assign _T_1062 = _T_1061[2:0]; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208766.4]
+  assign _T_1063 = _T_1062[0]; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208767.4]
+  assign _T_1065 = _T_1062[2:1]; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@208769.4]
+  assign _T_1066 = _T_1065[0]; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208770.4]
+  assign _T_1068 = _T_1065[1]; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@208772.4]
+  assign _T_1070 = _T_1066 | _T_1068; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208774.4]
+  assign _T_1072 = _T_1066 & _T_1068; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@208776.4]
+  assign _T_1074 = _T_1063 | _T_1070; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208778.4]
+  assign _T_1076 = _T_1063 & _T_1070; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@208780.4]
+  assign _T_1077 = _T_1072 | _T_1076; // @[Misc.scala 187:49:shc.marmotcaravel.MarmotCaravelConfig.fir@208781.4]
+  assign _T_1078 = _T_1061[6:3]; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@208782.4]
+  assign _T_1079 = _T_1078[1:0]; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208783.4]
+  assign _T_1080 = _T_1079[0]; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208784.4]
+  assign _T_1082 = _T_1079[1]; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@208786.4]
+  assign _T_1084 = _T_1080 | _T_1082; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208788.4]
+  assign _T_1086 = _T_1080 & _T_1082; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@208790.4]
+  assign _T_1088 = _T_1078[3:2]; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@208792.4]
+  assign _T_1089 = _T_1088[0]; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208793.4]
+  assign _T_1091 = _T_1088[1]; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@208795.4]
+  assign _T_1093 = _T_1089 | _T_1091; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208797.4]
+  assign _T_1095 = _T_1089 & _T_1091; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@208799.4]
+  assign _T_1097 = _T_1084 | _T_1093; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208801.4]
+  assign _T_1098 = _T_1086 | _T_1095; // @[Misc.scala 187:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208802.4]
+  assign _T_1099 = _T_1084 & _T_1093; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@208803.4]
+  assign _T_1100 = _T_1098 | _T_1099; // @[Misc.scala 187:49:shc.marmotcaravel.MarmotCaravelConfig.fir@208804.4]
+  assign _T_1101 = _T_1074 | _T_1097; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208805.4]
+  assign _T_1102 = _T_1077 | _T_1100; // @[Misc.scala 187:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208806.4]
+  assign _T_1103 = _T_1074 & _T_1097; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@208807.4]
+  assign _T_1104 = _T_1102 | _T_1103; // @[Misc.scala 187:49:shc.marmotcaravel.MarmotCaravelConfig.fir@208808.4]
+  assign _T_1105 = _T_1060[13:7]; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@208809.4]
+  assign _T_1106 = _T_1105[2:0]; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208810.4]
+  assign _T_1107 = _T_1106[0]; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208811.4]
+  assign _T_1109 = _T_1106[2:1]; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@208813.4]
+  assign _T_1110 = _T_1109[0]; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208814.4]
+  assign _T_1112 = _T_1109[1]; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@208816.4]
+  assign _T_1114 = _T_1110 | _T_1112; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208818.4]
+  assign _T_1116 = _T_1110 & _T_1112; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@208820.4]
+  assign _T_1118 = _T_1107 | _T_1114; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208822.4]
+  assign _T_1120 = _T_1107 & _T_1114; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@208824.4]
+  assign _T_1121 = _T_1116 | _T_1120; // @[Misc.scala 187:49:shc.marmotcaravel.MarmotCaravelConfig.fir@208825.4]
+  assign _T_1122 = _T_1105[6:3]; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@208826.4]
+  assign _T_1123 = _T_1122[1:0]; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208827.4]
+  assign _T_1124 = _T_1123[0]; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208828.4]
+  assign _T_1126 = _T_1123[1]; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@208830.4]
+  assign _T_1128 = _T_1124 | _T_1126; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208832.4]
+  assign _T_1130 = _T_1124 & _T_1126; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@208834.4]
+  assign _T_1132 = _T_1122[3:2]; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@208836.4]
+  assign _T_1133 = _T_1132[0]; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208837.4]
+  assign _T_1135 = _T_1132[1]; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@208839.4]
+  assign _T_1137 = _T_1133 | _T_1135; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208841.4]
+  assign _T_1139 = _T_1133 & _T_1135; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@208843.4]
+  assign _T_1141 = _T_1128 | _T_1137; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208845.4]
+  assign _T_1142 = _T_1130 | _T_1139; // @[Misc.scala 187:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208846.4]
+  assign _T_1143 = _T_1128 & _T_1137; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@208847.4]
+  assign _T_1144 = _T_1142 | _T_1143; // @[Misc.scala 187:49:shc.marmotcaravel.MarmotCaravelConfig.fir@208848.4]
+  assign _T_1145 = _T_1118 | _T_1141; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208849.4]
+  assign _T_1146 = _T_1121 | _T_1144; // @[Misc.scala 187:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208850.4]
+  assign _T_1147 = _T_1118 & _T_1141; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@208851.4]
+  assign _T_1148 = _T_1146 | _T_1147; // @[Misc.scala 187:49:shc.marmotcaravel.MarmotCaravelConfig.fir@208852.4]
+  assign _T_1149 = _T_1101 | _T_1145; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208853.4]
+  assign _T_1150 = _T_1104 | _T_1148; // @[Misc.scala 187:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208854.4]
+  assign _T_1151 = _T_1101 & _T_1145; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@208855.4]
+  assign _T_1152 = _T_1150 | _T_1151; // @[Misc.scala 187:49:shc.marmotcaravel.MarmotCaravelConfig.fir@208856.4]
+  assign _T_1154 = _T_1059 | _T_1152; // @[Misc.scala 187:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208858.4]
+  assign _T_1155 = _T_1056 & _T_1149; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@208859.4]
+  assign _T_1156 = _T_1154 | _T_1155; // @[Misc.scala 187:49:shc.marmotcaravel.MarmotCaravelConfig.fir@208860.4]
+  assign _T_1157 = ~ idxHit; // @[BTB.scala 285:26:shc.marmotcaravel.MarmotCaravelConfig.fir@208862.6]
+  assign _T_1158 = isValid & _T_1157; // @[BTB.scala 285:24:shc.marmotcaravel.MarmotCaravelConfig.fir@208863.6]
+  assign _GEN_380 = _T_1156 ? {{4'd0}, _T_1158} : _GEN_338; // @[BTB.scala 284:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208861.4]
+  assign _GEN_381 = io_flush ? 32'h0 : _GEN_380; // @[BTB.scala 287:19:shc.marmotcaravel.MarmotCaravelConfig.fir@208866.4]
+  assign _T_1164 = cfiType_0 == 2'h0; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208871.4]
+  assign _T_1165 = cfiType_1 == 2'h0; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208872.4]
+  assign _T_1166 = cfiType_2 == 2'h0; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208873.4]
+  assign _T_1167 = cfiType_3 == 2'h0; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208874.4]
+  assign _T_1168 = cfiType_4 == 2'h0; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208875.4]
+  assign _T_1169 = cfiType_5 == 2'h0; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208876.4]
+  assign _T_1170 = cfiType_6 == 2'h0; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208877.4]
+  assign _T_1171 = cfiType_7 == 2'h0; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208878.4]
+  assign _T_1172 = cfiType_8 == 2'h0; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208879.4]
+  assign _T_1173 = cfiType_9 == 2'h0; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208880.4]
+  assign _T_1174 = cfiType_10 == 2'h0; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208881.4]
+  assign _T_1175 = cfiType_11 == 2'h0; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208882.4]
+  assign _T_1176 = cfiType_12 == 2'h0; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208883.4]
+  assign _T_1177 = cfiType_13 == 2'h0; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208884.4]
+  assign _T_1178 = cfiType_14 == 2'h0; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208885.4]
+  assign _T_1179 = cfiType_15 == 2'h0; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208886.4]
+  assign _T_1180 = cfiType_16 == 2'h0; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208887.4]
+  assign _T_1181 = cfiType_17 == 2'h0; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208888.4]
+  assign _T_1182 = cfiType_18 == 2'h0; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208889.4]
+  assign _T_1183 = cfiType_19 == 2'h0; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208890.4]
+  assign _T_1184 = cfiType_20 == 2'h0; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208891.4]
+  assign _T_1185 = cfiType_21 == 2'h0; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208892.4]
+  assign _T_1186 = cfiType_22 == 2'h0; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208893.4]
+  assign _T_1187 = cfiType_23 == 2'h0; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208894.4]
+  assign _T_1188 = cfiType_24 == 2'h0; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208895.4]
+  assign _T_1189 = cfiType_25 == 2'h0; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208896.4]
+  assign _T_1190 = cfiType_26 == 2'h0; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208897.4]
+  assign _T_1191 = cfiType_27 == 2'h0; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208898.4]
+  assign _T_1192 = {_T_1166,_T_1165}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208899.4]
+  assign _T_1193 = {_T_1192,_T_1164}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208900.4]
+  assign _T_1194 = {_T_1168,_T_1167}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208901.4]
+  assign _T_1195 = {_T_1170,_T_1169}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208902.4]
+  assign _T_1196 = {_T_1195,_T_1194}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208903.4]
+  assign _T_1197 = {_T_1196,_T_1193}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208904.4]
+  assign _T_1198 = {_T_1173,_T_1172}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208905.4]
+  assign _T_1199 = {_T_1198,_T_1171}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208906.4]
+  assign _T_1200 = {_T_1175,_T_1174}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208907.4]
+  assign _T_1201 = {_T_1177,_T_1176}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208908.4]
+  assign _T_1202 = {_T_1201,_T_1200}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208909.4]
+  assign _T_1203 = {_T_1202,_T_1199}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208910.4]
+  assign _T_1204 = {_T_1203,_T_1197}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208911.4]
+  assign _T_1205 = {_T_1180,_T_1179}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208912.4]
+  assign _T_1206 = {_T_1205,_T_1178}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208913.4]
+  assign _T_1207 = {_T_1182,_T_1181}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208914.4]
+  assign _T_1208 = {_T_1184,_T_1183}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208915.4]
+  assign _T_1209 = {_T_1208,_T_1207}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208916.4]
+  assign _T_1210 = {_T_1209,_T_1206}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208917.4]
+  assign _T_1211 = {_T_1187,_T_1186}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208918.4]
+  assign _T_1212 = {_T_1211,_T_1185}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208919.4]
+  assign _T_1213 = {_T_1189,_T_1188}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208920.4]
+  assign _T_1214 = {_T_1191,_T_1190}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208921.4]
+  assign _T_1215 = {_T_1214,_T_1213}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208922.4]
+  assign _T_1216 = {_T_1215,_T_1212}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208923.4]
+  assign _T_1217 = {_T_1216,_T_1210}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208924.4]
+  assign _T_1218 = {_T_1217,_T_1204}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208925.4]
+  assign _T_1219 = idxHit & _T_1218; // @[BTB.scala 293:28:shc.marmotcaravel.MarmotCaravelConfig.fir@208926.4]
+  assign _T_1220 = _T_1219 != 28'h0; // @[BTB.scala 293:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208927.4]
+  assign _T_1223 = io_req_bits_addr[31:2]; // @[BTB.scala 86:21:shc.marmotcaravel.MarmotCaravelConfig.fir@208930.4]
+  assign _T_1224 = _T_1223[8:0]; // @[BTB.scala 87:9:shc.marmotcaravel.MarmotCaravelConfig.fir@208931.4]
+  assign _T_1225 = _T_1223[29:9]; // @[BTB.scala 87:48:shc.marmotcaravel.MarmotCaravelConfig.fir@208932.4]
+  assign _T_1226 = _T_1225[1:0]; // @[BTB.scala 87:77:shc.marmotcaravel.MarmotCaravelConfig.fir@208933.4]
+  assign _GEN_459 = {{7'd0}, _T_1226}; // @[BTB.scala 87:42:shc.marmotcaravel.MarmotCaravelConfig.fir@208934.4]
+  assign _T_1227 = _T_1224 ^ _GEN_459; // @[BTB.scala 87:42:shc.marmotcaravel.MarmotCaravelConfig.fir@208934.4]
+  assign _T_1228 = 8'hdd * _T_1163; // @[BTB.scala 83:12:shc.marmotcaravel.MarmotCaravelConfig.fir@208935.4]
+  assign _T_1229 = _T_1228[7:5]; // @[BTB.scala 83:19:shc.marmotcaravel.MarmotCaravelConfig.fir@208936.4]
+  assign _GEN_460 = {{6'd0}, _T_1229}; // @[BTB.scala 89:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208937.4]
+  assign _T_1230 = _GEN_460 << 6; // @[BTB.scala 89:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208937.4]
+  assign _T_1234 = _T_1163[7:1]; // @[BTB.scala 110:35:shc.marmotcaravel.MarmotCaravelConfig.fir@208944.6]
+  assign _T_1235 = {io_bht_advance_bits_bht_value,_T_1234}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208945.6]
+  assign _T_1236 = io_bht_update_bits_pc[31:2]; // @[BTB.scala 86:21:shc.marmotcaravel.MarmotCaravelConfig.fir@208950.8]
+  assign _T_1237 = _T_1236[8:0]; // @[BTB.scala 87:9:shc.marmotcaravel.MarmotCaravelConfig.fir@208951.8]
+  assign _T_1238 = _T_1236[29:9]; // @[BTB.scala 87:48:shc.marmotcaravel.MarmotCaravelConfig.fir@208952.8]
+  assign _T_1239 = _T_1238[1:0]; // @[BTB.scala 87:77:shc.marmotcaravel.MarmotCaravelConfig.fir@208953.8]
+  assign _GEN_461 = {{7'd0}, _T_1239}; // @[BTB.scala 87:42:shc.marmotcaravel.MarmotCaravelConfig.fir@208954.8]
+  assign _T_1240 = _T_1237 ^ _GEN_461; // @[BTB.scala 87:42:shc.marmotcaravel.MarmotCaravelConfig.fir@208954.8]
+  assign _T_1241 = 8'hdd * io_bht_update_bits_prediction_history; // @[BTB.scala 83:12:shc.marmotcaravel.MarmotCaravelConfig.fir@208955.8]
+  assign _T_1242 = _T_1241[7:5]; // @[BTB.scala 83:19:shc.marmotcaravel.MarmotCaravelConfig.fir@208956.8]
+  assign _GEN_462 = {{6'd0}, _T_1242}; // @[BTB.scala 89:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208957.8]
+  assign _T_1243 = _GEN_462 << 6; // @[BTB.scala 89:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208957.8]
+  assign _T_1246 = io_bht_update_bits_prediction_history[7:1]; // @[BTB.scala 107:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208962.10]
+  assign _T_1247 = {io_bht_update_bits_taken,_T_1246}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208963.10]
+  assign _T_1222_value = _T_1161__T_1232_data; // @[BTB.scala 92:19:shc.marmotcaravel.MarmotCaravelConfig.fir@208928.4 BTB.scala 93:15:shc.marmotcaravel.MarmotCaravelConfig.fir@208940.4]
+  assign _T_1249 = _T_1222_value == 1'h0; // @[BTB.scala 308:11:shc.marmotcaravel.MarmotCaravelConfig.fir@208973.4]
+  assign _T_1250 = _T_1249 & _T_1220; // @[BTB.scala 308:22:shc.marmotcaravel.MarmotCaravelConfig.fir@208974.4]
+  assign _T_1267 = cfiType_0 == 2'h3; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@208982.4]
+  assign _T_1268 = cfiType_1 == 2'h3; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@208983.4]
+  assign _T_1269 = cfiType_2 == 2'h3; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@208984.4]
+  assign _T_1270 = cfiType_3 == 2'h3; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@208985.4]
+  assign _T_1271 = cfiType_4 == 2'h3; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@208986.4]
+  assign _T_1272 = cfiType_5 == 2'h3; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@208987.4]
+  assign _T_1273 = cfiType_6 == 2'h3; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@208988.4]
+  assign _T_1274 = cfiType_7 == 2'h3; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@208989.4]
+  assign _T_1275 = cfiType_8 == 2'h3; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@208990.4]
+  assign _T_1276 = cfiType_9 == 2'h3; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@208991.4]
+  assign _T_1277 = cfiType_10 == 2'h3; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@208992.4]
+  assign _T_1278 = cfiType_11 == 2'h3; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@208993.4]
+  assign _T_1279 = cfiType_12 == 2'h3; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@208994.4]
+  assign _T_1280 = cfiType_13 == 2'h3; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@208995.4]
+  assign _T_1281 = cfiType_14 == 2'h3; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@208996.4]
+  assign _T_1282 = cfiType_15 == 2'h3; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@208997.4]
+  assign _T_1283 = cfiType_16 == 2'h3; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@208998.4]
+  assign _T_1284 = cfiType_17 == 2'h3; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@208999.4]
+  assign _T_1285 = cfiType_18 == 2'h3; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@209000.4]
+  assign _T_1286 = cfiType_19 == 2'h3; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@209001.4]
+  assign _T_1287 = cfiType_20 == 2'h3; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@209002.4]
+  assign _T_1288 = cfiType_21 == 2'h3; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@209003.4]
+  assign _T_1289 = cfiType_22 == 2'h3; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@209004.4]
+  assign _T_1290 = cfiType_23 == 2'h3; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@209005.4]
+  assign _T_1291 = cfiType_24 == 2'h3; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@209006.4]
+  assign _T_1292 = cfiType_25 == 2'h3; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@209007.4]
+  assign _T_1293 = cfiType_26 == 2'h3; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@209008.4]
+  assign _T_1294 = cfiType_27 == 2'h3; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@209009.4]
+  assign _T_1295 = {_T_1269,_T_1268}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209010.4]
+  assign _T_1296 = {_T_1295,_T_1267}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209011.4]
+  assign _T_1297 = {_T_1271,_T_1270}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209012.4]
+  assign _T_1298 = {_T_1273,_T_1272}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209013.4]
+  assign _T_1299 = {_T_1298,_T_1297}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209014.4]
+  assign _T_1300 = {_T_1299,_T_1296}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209015.4]
+  assign _T_1301 = {_T_1276,_T_1275}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209016.4]
+  assign _T_1302 = {_T_1301,_T_1274}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209017.4]
+  assign _T_1303 = {_T_1278,_T_1277}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209018.4]
+  assign _T_1304 = {_T_1280,_T_1279}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209019.4]
+  assign _T_1305 = {_T_1304,_T_1303}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209020.4]
+  assign _T_1306 = {_T_1305,_T_1302}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209021.4]
+  assign _T_1307 = {_T_1306,_T_1300}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209022.4]
+  assign _T_1308 = {_T_1283,_T_1282}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209023.4]
+  assign _T_1309 = {_T_1308,_T_1281}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209024.4]
+  assign _T_1310 = {_T_1285,_T_1284}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209025.4]
+  assign _T_1311 = {_T_1287,_T_1286}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209026.4]
+  assign _T_1312 = {_T_1311,_T_1310}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209027.4]
+  assign _T_1313 = {_T_1312,_T_1309}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209028.4]
+  assign _T_1314 = {_T_1290,_T_1289}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209029.4]
+  assign _T_1315 = {_T_1314,_T_1288}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209030.4]
+  assign _T_1316 = {_T_1292,_T_1291}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209031.4]
+  assign _T_1317 = {_T_1294,_T_1293}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209032.4]
+  assign _T_1318 = {_T_1317,_T_1316}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209033.4]
+  assign _T_1319 = {_T_1318,_T_1315}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209034.4]
+  assign _T_1320 = {_T_1319,_T_1313}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209035.4]
+  assign _T_1321 = {_T_1320,_T_1307}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209036.4]
+  assign _T_1322 = idxHit & _T_1321; // @[BTB.scala 314:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209037.4]
+  assign _T_1323 = _T_1322 != 28'h0; // @[BTB.scala 314:67:shc.marmotcaravel.MarmotCaravelConfig.fir@209038.4]
+  assign _T_1324 = _T_1252 == 3'h0; // @[BTB.scala 55:29:shc.marmotcaravel.MarmotCaravelConfig.fir@209039.4]
+  assign _T_1325 = _T_1324 == 1'h0; // @[BTB.scala 315:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209040.4]
+  assign _GEN_399 = 3'h1 == _T_1254 ? _T_1258_1 : _T_1258_0; // @[BTB.scala 316:22:shc.marmotcaravel.MarmotCaravelConfig.fir@209042.4]
+  assign _GEN_400 = 3'h2 == _T_1254 ? _T_1258_2 : _GEN_399; // @[BTB.scala 316:22:shc.marmotcaravel.MarmotCaravelConfig.fir@209042.4]
+  assign _GEN_401 = 3'h3 == _T_1254 ? _T_1258_3 : _GEN_400; // @[BTB.scala 316:22:shc.marmotcaravel.MarmotCaravelConfig.fir@209042.4]
+  assign _GEN_402 = 3'h4 == _T_1254 ? _T_1258_4 : _GEN_401; // @[BTB.scala 316:22:shc.marmotcaravel.MarmotCaravelConfig.fir@209042.4]
+  assign _GEN_403 = 3'h5 == _T_1254 ? _T_1258_5 : _GEN_402; // @[BTB.scala 316:22:shc.marmotcaravel.MarmotCaravelConfig.fir@209042.4]
+  assign _T_1329 = _T_1325 & _T_1323; // @[BTB.scala 317:24:shc.marmotcaravel.MarmotCaravelConfig.fir@209045.4]
+  assign _T_1331 = io_ras_update_bits_cfiType == 2'h2; // @[BTB.scala 321:40:shc.marmotcaravel.MarmotCaravelConfig.fir@209050.6]
+  assign _T_1332 = _T_1252 < 3'h6; // @[BTB.scala 44:17:shc.marmotcaravel.MarmotCaravelConfig.fir@209052.8]
+  assign _T_1334 = _T_1252 + 3'h1; // @[BTB.scala 44:42:shc.marmotcaravel.MarmotCaravelConfig.fir@209055.10]
+  assign _T_1335 = _T_1254 < 3'h5; // @[BTB.scala 45:49:shc.marmotcaravel.MarmotCaravelConfig.fir@209058.8]
+  assign _T_1338 = _T_1254 + 3'h1; // @[BTB.scala 45:62:shc.marmotcaravel.MarmotCaravelConfig.fir@209061.8]
+  assign _T_1339 = _T_1335 ? _T_1338 : 3'h0; // @[BTB.scala 45:22:shc.marmotcaravel.MarmotCaravelConfig.fir@209062.8]
+  assign _T_1341 = io_ras_update_bits_cfiType == 2'h3; // @[BTB.scala 323:46:shc.marmotcaravel.MarmotCaravelConfig.fir@209067.8]
+  assign _T_1344 = _T_1252 - 3'h1; // @[BTB.scala 51:20:shc.marmotcaravel.MarmotCaravelConfig.fir@209072.12]
+  assign _T_1345 = $unsigned(_T_1344); // @[BTB.scala 51:20:shc.marmotcaravel.MarmotCaravelConfig.fir@209073.12]
+  assign _T_1346 = _T_1345[2:0]; // @[BTB.scala 51:20:shc.marmotcaravel.MarmotCaravelConfig.fir@209074.12]
+  assign _T_1347 = _T_1254 > 3'h0; // @[BTB.scala 52:42:shc.marmotcaravel.MarmotCaravelConfig.fir@209076.12]
+  assign _T_1349 = _T_1254 - 3'h1; // @[BTB.scala 52:50:shc.marmotcaravel.MarmotCaravelConfig.fir@209078.12]
+  assign _T_1350 = $unsigned(_T_1349); // @[BTB.scala 52:50:shc.marmotcaravel.MarmotCaravelConfig.fir@209079.12]
+  assign _T_1351 = _T_1350[2:0]; // @[BTB.scala 52:50:shc.marmotcaravel.MarmotCaravelConfig.fir@209080.12]
+  assign io_resp_valid = _T_589[0]; // @[BTB.scala 275:17:shc.marmotcaravel.MarmotCaravelConfig.fir@208293.4]
+  assign io_resp_bits_taken = _T_1250 ? 1'h0 : 1'h1; // @[BTB.scala 276:22:shc.marmotcaravel.MarmotCaravelConfig.fir@208294.4 BTB.scala 308:56:shc.marmotcaravel.MarmotCaravelConfig.fir@208976.6]
+  assign io_resp_bits_bridx = _T_869 | _T_843; // @[BTB.scala 279:22:shc.marmotcaravel.MarmotCaravelConfig.fir@208575.4]
+  assign io_resp_bits_target = _T_1329 ? _GEN_403 : _T_765; // @[BTB.scala 277:23:shc.marmotcaravel.MarmotCaravelConfig.fir@208467.4 BTB.scala 318:27:shc.marmotcaravel.MarmotCaravelConfig.fir@209047.6]
+  assign io_resp_bits_entry = {_T_768,_T_785}; // @[BTB.scala 278:22:shc.marmotcaravel.MarmotCaravelConfig.fir@208489.4]
+  assign io_resp_bits_bht_history = _T_1163; // @[BTB.scala 309:22:shc.marmotcaravel.MarmotCaravelConfig.fir@208978.4]
+  assign io_resp_bits_bht_value = _T_1161__T_1232_data; // @[BTB.scala 309:22:shc.marmotcaravel.MarmotCaravelConfig.fir@208978.4]
+  assign io_ras_head_valid = _T_1324 == 1'h0; // @[BTB.scala 315:23:shc.marmotcaravel.MarmotCaravelConfig.fir@209041.4]
+  assign io_ras_head_bits = 3'h5 == _T_1254 ? _T_1258_5 : _GEN_402; // @[BTB.scala 316:22:shc.marmotcaravel.MarmotCaravelConfig.fir@209042.4]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  _RAND_0 = {1{`RANDOM}};
+  `ifdef RANDOMIZE_MEM_INIT
+  for (initvar = 0; initvar < 512; initvar = initvar+1)
+    _T_1161[initvar] = _RAND_0[0:0];
+  `endif // RANDOMIZE_MEM_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  idxs_0 = _RAND_1[12:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  idxs_1 = _RAND_2[12:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  idxs_2 = _RAND_3[12:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  idxs_3 = _RAND_4[12:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  idxs_4 = _RAND_5[12:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {1{`RANDOM}};
+  idxs_5 = _RAND_6[12:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {1{`RANDOM}};
+  idxs_6 = _RAND_7[12:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_8 = {1{`RANDOM}};
+  idxs_7 = _RAND_8[12:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_9 = {1{`RANDOM}};
+  idxs_8 = _RAND_9[12:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_10 = {1{`RANDOM}};
+  idxs_9 = _RAND_10[12:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_11 = {1{`RANDOM}};
+  idxs_10 = _RAND_11[12:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_12 = {1{`RANDOM}};
+  idxs_11 = _RAND_12[12:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_13 = {1{`RANDOM}};
+  idxs_12 = _RAND_13[12:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_14 = {1{`RANDOM}};
+  idxs_13 = _RAND_14[12:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_15 = {1{`RANDOM}};
+  idxs_14 = _RAND_15[12:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_16 = {1{`RANDOM}};
+  idxs_15 = _RAND_16[12:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_17 = {1{`RANDOM}};
+  idxs_16 = _RAND_17[12:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_18 = {1{`RANDOM}};
+  idxs_17 = _RAND_18[12:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_19 = {1{`RANDOM}};
+  idxs_18 = _RAND_19[12:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_20 = {1{`RANDOM}};
+  idxs_19 = _RAND_20[12:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_21 = {1{`RANDOM}};
+  idxs_20 = _RAND_21[12:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_22 = {1{`RANDOM}};
+  idxs_21 = _RAND_22[12:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_23 = {1{`RANDOM}};
+  idxs_22 = _RAND_23[12:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_24 = {1{`RANDOM}};
+  idxs_23 = _RAND_24[12:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_25 = {1{`RANDOM}};
+  idxs_24 = _RAND_25[12:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_26 = {1{`RANDOM}};
+  idxs_25 = _RAND_26[12:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_27 = {1{`RANDOM}};
+  idxs_26 = _RAND_27[12:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_28 = {1{`RANDOM}};
+  idxs_27 = _RAND_28[12:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_29 = {1{`RANDOM}};
+  idxPages_0 = _RAND_29[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_30 = {1{`RANDOM}};
+  idxPages_1 = _RAND_30[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_31 = {1{`RANDOM}};
+  idxPages_2 = _RAND_31[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_32 = {1{`RANDOM}};
+  idxPages_3 = _RAND_32[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_33 = {1{`RANDOM}};
+  idxPages_4 = _RAND_33[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_34 = {1{`RANDOM}};
+  idxPages_5 = _RAND_34[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_35 = {1{`RANDOM}};
+  idxPages_6 = _RAND_35[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_36 = {1{`RANDOM}};
+  idxPages_7 = _RAND_36[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_37 = {1{`RANDOM}};
+  idxPages_8 = _RAND_37[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_38 = {1{`RANDOM}};
+  idxPages_9 = _RAND_38[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_39 = {1{`RANDOM}};
+  idxPages_10 = _RAND_39[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_40 = {1{`RANDOM}};
+  idxPages_11 = _RAND_40[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_41 = {1{`RANDOM}};
+  idxPages_12 = _RAND_41[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_42 = {1{`RANDOM}};
+  idxPages_13 = _RAND_42[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_43 = {1{`RANDOM}};
+  idxPages_14 = _RAND_43[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_44 = {1{`RANDOM}};
+  idxPages_15 = _RAND_44[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_45 = {1{`RANDOM}};
+  idxPages_16 = _RAND_45[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_46 = {1{`RANDOM}};
+  idxPages_17 = _RAND_46[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_47 = {1{`RANDOM}};
+  idxPages_18 = _RAND_47[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_48 = {1{`RANDOM}};
+  idxPages_19 = _RAND_48[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_49 = {1{`RANDOM}};
+  idxPages_20 = _RAND_49[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_50 = {1{`RANDOM}};
+  idxPages_21 = _RAND_50[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_51 = {1{`RANDOM}};
+  idxPages_22 = _RAND_51[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_52 = {1{`RANDOM}};
+  idxPages_23 = _RAND_52[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_53 = {1{`RANDOM}};
+  idxPages_24 = _RAND_53[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_54 = {1{`RANDOM}};
+  idxPages_25 = _RAND_54[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_55 = {1{`RANDOM}};
+  idxPages_26 = _RAND_55[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_56 = {1{`RANDOM}};
+  idxPages_27 = _RAND_56[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_57 = {1{`RANDOM}};
+  tgts_0 = _RAND_57[12:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_58 = {1{`RANDOM}};
+  tgts_1 = _RAND_58[12:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_59 = {1{`RANDOM}};
+  tgts_2 = _RAND_59[12:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_60 = {1{`RANDOM}};
+  tgts_3 = _RAND_60[12:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_61 = {1{`RANDOM}};
+  tgts_4 = _RAND_61[12:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_62 = {1{`RANDOM}};
+  tgts_5 = _RAND_62[12:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_63 = {1{`RANDOM}};
+  tgts_6 = _RAND_63[12:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_64 = {1{`RANDOM}};
+  tgts_7 = _RAND_64[12:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_65 = {1{`RANDOM}};
+  tgts_8 = _RAND_65[12:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_66 = {1{`RANDOM}};
+  tgts_9 = _RAND_66[12:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_67 = {1{`RANDOM}};
+  tgts_10 = _RAND_67[12:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_68 = {1{`RANDOM}};
+  tgts_11 = _RAND_68[12:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_69 = {1{`RANDOM}};
+  tgts_12 = _RAND_69[12:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_70 = {1{`RANDOM}};
+  tgts_13 = _RAND_70[12:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_71 = {1{`RANDOM}};
+  tgts_14 = _RAND_71[12:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_72 = {1{`RANDOM}};
+  tgts_15 = _RAND_72[12:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_73 = {1{`RANDOM}};
+  tgts_16 = _RAND_73[12:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_74 = {1{`RANDOM}};
+  tgts_17 = _RAND_74[12:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_75 = {1{`RANDOM}};
+  tgts_18 = _RAND_75[12:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_76 = {1{`RANDOM}};
+  tgts_19 = _RAND_76[12:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_77 = {1{`RANDOM}};
+  tgts_20 = _RAND_77[12:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_78 = {1{`RANDOM}};
+  tgts_21 = _RAND_78[12:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_79 = {1{`RANDOM}};
+  tgts_22 = _RAND_79[12:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_80 = {1{`RANDOM}};
+  tgts_23 = _RAND_80[12:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_81 = {1{`RANDOM}};
+  tgts_24 = _RAND_81[12:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_82 = {1{`RANDOM}};
+  tgts_25 = _RAND_82[12:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_83 = {1{`RANDOM}};
+  tgts_26 = _RAND_83[12:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_84 = {1{`RANDOM}};
+  tgts_27 = _RAND_84[12:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_85 = {1{`RANDOM}};
+  tgtPages_0 = _RAND_85[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_86 = {1{`RANDOM}};
+  tgtPages_1 = _RAND_86[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_87 = {1{`RANDOM}};
+  tgtPages_2 = _RAND_87[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_88 = {1{`RANDOM}};
+  tgtPages_3 = _RAND_88[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_89 = {1{`RANDOM}};
+  tgtPages_4 = _RAND_89[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_90 = {1{`RANDOM}};
+  tgtPages_5 = _RAND_90[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_91 = {1{`RANDOM}};
+  tgtPages_6 = _RAND_91[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_92 = {1{`RANDOM}};
+  tgtPages_7 = _RAND_92[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_93 = {1{`RANDOM}};
+  tgtPages_8 = _RAND_93[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_94 = {1{`RANDOM}};
+  tgtPages_9 = _RAND_94[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_95 = {1{`RANDOM}};
+  tgtPages_10 = _RAND_95[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_96 = {1{`RANDOM}};
+  tgtPages_11 = _RAND_96[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_97 = {1{`RANDOM}};
+  tgtPages_12 = _RAND_97[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_98 = {1{`RANDOM}};
+  tgtPages_13 = _RAND_98[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_99 = {1{`RANDOM}};
+  tgtPages_14 = _RAND_99[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_100 = {1{`RANDOM}};
+  tgtPages_15 = _RAND_100[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_101 = {1{`RANDOM}};
+  tgtPages_16 = _RAND_101[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_102 = {1{`RANDOM}};
+  tgtPages_17 = _RAND_102[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_103 = {1{`RANDOM}};
+  tgtPages_18 = _RAND_103[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_104 = {1{`RANDOM}};
+  tgtPages_19 = _RAND_104[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_105 = {1{`RANDOM}};
+  tgtPages_20 = _RAND_105[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_106 = {1{`RANDOM}};
+  tgtPages_21 = _RAND_106[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_107 = {1{`RANDOM}};
+  tgtPages_22 = _RAND_107[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_108 = {1{`RANDOM}};
+  tgtPages_23 = _RAND_108[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_109 = {1{`RANDOM}};
+  tgtPages_24 = _RAND_109[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_110 = {1{`RANDOM}};
+  tgtPages_25 = _RAND_110[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_111 = {1{`RANDOM}};
+  tgtPages_26 = _RAND_111[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_112 = {1{`RANDOM}};
+  tgtPages_27 = _RAND_112[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_113 = {1{`RANDOM}};
+  pages_0 = _RAND_113[17:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_114 = {1{`RANDOM}};
+  pages_1 = _RAND_114[17:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_115 = {1{`RANDOM}};
+  pages_2 = _RAND_115[17:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_116 = {1{`RANDOM}};
+  pages_3 = _RAND_116[17:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_117 = {1{`RANDOM}};
+  pages_4 = _RAND_117[17:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_118 = {1{`RANDOM}};
+  pages_5 = _RAND_118[17:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_119 = {1{`RANDOM}};
+  pageValid = _RAND_119[5:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_120 = {1{`RANDOM}};
+  isValid = _RAND_120[27:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_121 = {1{`RANDOM}};
+  cfiType_0 = _RAND_121[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_122 = {1{`RANDOM}};
+  cfiType_1 = _RAND_122[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_123 = {1{`RANDOM}};
+  cfiType_2 = _RAND_123[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_124 = {1{`RANDOM}};
+  cfiType_3 = _RAND_124[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_125 = {1{`RANDOM}};
+  cfiType_4 = _RAND_125[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_126 = {1{`RANDOM}};
+  cfiType_5 = _RAND_126[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_127 = {1{`RANDOM}};
+  cfiType_6 = _RAND_127[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_128 = {1{`RANDOM}};
+  cfiType_7 = _RAND_128[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_129 = {1{`RANDOM}};
+  cfiType_8 = _RAND_129[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_130 = {1{`RANDOM}};
+  cfiType_9 = _RAND_130[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_131 = {1{`RANDOM}};
+  cfiType_10 = _RAND_131[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_132 = {1{`RANDOM}};
+  cfiType_11 = _RAND_132[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_133 = {1{`RANDOM}};
+  cfiType_12 = _RAND_133[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_134 = {1{`RANDOM}};
+  cfiType_13 = _RAND_134[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_135 = {1{`RANDOM}};
+  cfiType_14 = _RAND_135[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_136 = {1{`RANDOM}};
+  cfiType_15 = _RAND_136[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_137 = {1{`RANDOM}};
+  cfiType_16 = _RAND_137[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_138 = {1{`RANDOM}};
+  cfiType_17 = _RAND_138[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_139 = {1{`RANDOM}};
+  cfiType_18 = _RAND_139[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_140 = {1{`RANDOM}};
+  cfiType_19 = _RAND_140[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_141 = {1{`RANDOM}};
+  cfiType_20 = _RAND_141[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_142 = {1{`RANDOM}};
+  cfiType_21 = _RAND_142[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_143 = {1{`RANDOM}};
+  cfiType_22 = _RAND_143[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_144 = {1{`RANDOM}};
+  cfiType_23 = _RAND_144[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_145 = {1{`RANDOM}};
+  cfiType_24 = _RAND_145[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_146 = {1{`RANDOM}};
+  cfiType_25 = _RAND_146[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_147 = {1{`RANDOM}};
+  cfiType_26 = _RAND_147[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_148 = {1{`RANDOM}};
+  cfiType_27 = _RAND_148[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_149 = {1{`RANDOM}};
+  brIdx_0 = _RAND_149[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_150 = {1{`RANDOM}};
+  brIdx_1 = _RAND_150[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_151 = {1{`RANDOM}};
+  brIdx_2 = _RAND_151[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_152 = {1{`RANDOM}};
+  brIdx_3 = _RAND_152[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_153 = {1{`RANDOM}};
+  brIdx_4 = _RAND_153[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_154 = {1{`RANDOM}};
+  brIdx_5 = _RAND_154[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_155 = {1{`RANDOM}};
+  brIdx_6 = _RAND_155[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_156 = {1{`RANDOM}};
+  brIdx_7 = _RAND_156[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_157 = {1{`RANDOM}};
+  brIdx_8 = _RAND_157[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_158 = {1{`RANDOM}};
+  brIdx_9 = _RAND_158[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_159 = {1{`RANDOM}};
+  brIdx_10 = _RAND_159[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_160 = {1{`RANDOM}};
+  brIdx_11 = _RAND_160[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_161 = {1{`RANDOM}};
+  brIdx_12 = _RAND_161[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_162 = {1{`RANDOM}};
+  brIdx_13 = _RAND_162[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_163 = {1{`RANDOM}};
+  brIdx_14 = _RAND_163[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_164 = {1{`RANDOM}};
+  brIdx_15 = _RAND_164[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_165 = {1{`RANDOM}};
+  brIdx_16 = _RAND_165[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_166 = {1{`RANDOM}};
+  brIdx_17 = _RAND_166[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_167 = {1{`RANDOM}};
+  brIdx_18 = _RAND_167[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_168 = {1{`RANDOM}};
+  brIdx_19 = _RAND_168[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_169 = {1{`RANDOM}};
+  brIdx_20 = _RAND_169[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_170 = {1{`RANDOM}};
+  brIdx_21 = _RAND_170[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_171 = {1{`RANDOM}};
+  brIdx_22 = _RAND_171[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_172 = {1{`RANDOM}};
+  brIdx_23 = _RAND_172[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_173 = {1{`RANDOM}};
+  brIdx_24 = _RAND_173[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_174 = {1{`RANDOM}};
+  brIdx_25 = _RAND_174[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_175 = {1{`RANDOM}};
+  brIdx_26 = _RAND_175[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_176 = {1{`RANDOM}};
+  brIdx_27 = _RAND_176[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_177 = {1{`RANDOM}};
+  r_btb_update_valid = _RAND_177[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_178 = {1{`RANDOM}};
+  r_btb_update_bits_prediction_entry = _RAND_178[4:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_179 = {1{`RANDOM}};
+  r_btb_update_bits_pc = _RAND_179[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_180 = {1{`RANDOM}};
+  r_btb_update_bits_isValid = _RAND_180[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_181 = {1{`RANDOM}};
+  r_btb_update_bits_br_pc = _RAND_181[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_182 = {1{`RANDOM}};
+  r_btb_update_bits_cfiType = _RAND_182[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_183 = {1{`RANDOM}};
+  nextPageRepl = _RAND_183[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_184 = {1{`RANDOM}};
+  _T_373 = _RAND_184[26:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_185 = {1{`RANDOM}};
+  r_resp_valid = _RAND_185[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_186 = {1{`RANDOM}};
+  r_resp_bits_taken = _RAND_186[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_187 = {1{`RANDOM}};
+  r_resp_bits_entry = _RAND_187[4:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_188 = {1{`RANDOM}};
+  _T_1163 = _RAND_188[7:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_189 = {1{`RANDOM}};
+  _T_1252 = _RAND_189[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_190 = {1{`RANDOM}};
+  _T_1254 = _RAND_190[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_191 = {1{`RANDOM}};
+  _T_1258_0 = _RAND_191[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_192 = {1{`RANDOM}};
+  _T_1258_1 = _RAND_192[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_193 = {1{`RANDOM}};
+  _T_1258_2 = _RAND_193[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_194 = {1{`RANDOM}};
+  _T_1258_3 = _RAND_194[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_195 = {1{`RANDOM}};
+  _T_1258_4 = _RAND_195[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_196 = {1{`RANDOM}};
+  _T_1258_5 = _RAND_196[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if(_T_1161__T_1245_en & _T_1161__T_1245_mask) begin
+      _T_1161[_T_1161__T_1245_addr] <= _T_1161__T_1245_data; // @[BTB.scala 113:26:shc.marmotcaravel.MarmotCaravelConfig.fir@208869.4]
+    end
+    if (r_btb_update_valid) begin
+      if (5'h0 == waddr) begin
+        idxs_0 <= _T_471;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h1 == waddr) begin
+        idxs_1 <= _T_471;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h2 == waddr) begin
+        idxs_2 <= _T_471;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h3 == waddr) begin
+        idxs_3 <= _T_471;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h4 == waddr) begin
+        idxs_4 <= _T_471;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h5 == waddr) begin
+        idxs_5 <= _T_471;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h6 == waddr) begin
+        idxs_6 <= _T_471;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h7 == waddr) begin
+        idxs_7 <= _T_471;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h8 == waddr) begin
+        idxs_8 <= _T_471;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h9 == waddr) begin
+        idxs_9 <= _T_471;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'ha == waddr) begin
+        idxs_10 <= _T_471;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'hb == waddr) begin
+        idxs_11 <= _T_471;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'hc == waddr) begin
+        idxs_12 <= _T_471;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'hd == waddr) begin
+        idxs_13 <= _T_471;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'he == waddr) begin
+        idxs_14 <= _T_471;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'hf == waddr) begin
+        idxs_15 <= _T_471;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h10 == waddr) begin
+        idxs_16 <= _T_471;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h11 == waddr) begin
+        idxs_17 <= _T_471;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h12 == waddr) begin
+        idxs_18 <= _T_471;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h13 == waddr) begin
+        idxs_19 <= _T_471;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h14 == waddr) begin
+        idxs_20 <= _T_471;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h15 == waddr) begin
+        idxs_21 <= _T_471;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h16 == waddr) begin
+        idxs_22 <= _T_471;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h17 == waddr) begin
+        idxs_23 <= _T_471;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h18 == waddr) begin
+        idxs_24 <= _T_471;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h19 == waddr) begin
+        idxs_25 <= _T_471;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h1a == waddr) begin
+        idxs_26 <= _T_471;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h1b == waddr) begin
+        idxs_27 <= _T_471;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h0 == waddr) begin
+        idxPages_0 <= _idxPages_waddr;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h1 == waddr) begin
+        idxPages_1 <= _idxPages_waddr;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h2 == waddr) begin
+        idxPages_2 <= _idxPages_waddr;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h3 == waddr) begin
+        idxPages_3 <= _idxPages_waddr;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h4 == waddr) begin
+        idxPages_4 <= _idxPages_waddr;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h5 == waddr) begin
+        idxPages_5 <= _idxPages_waddr;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h6 == waddr) begin
+        idxPages_6 <= _idxPages_waddr;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h7 == waddr) begin
+        idxPages_7 <= _idxPages_waddr;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h8 == waddr) begin
+        idxPages_8 <= _idxPages_waddr;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h9 == waddr) begin
+        idxPages_9 <= _idxPages_waddr;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'ha == waddr) begin
+        idxPages_10 <= _idxPages_waddr;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'hb == waddr) begin
+        idxPages_11 <= _idxPages_waddr;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'hc == waddr) begin
+        idxPages_12 <= _idxPages_waddr;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'hd == waddr) begin
+        idxPages_13 <= _idxPages_waddr;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'he == waddr) begin
+        idxPages_14 <= _idxPages_waddr;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'hf == waddr) begin
+        idxPages_15 <= _idxPages_waddr;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h10 == waddr) begin
+        idxPages_16 <= _idxPages_waddr;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h11 == waddr) begin
+        idxPages_17 <= _idxPages_waddr;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h12 == waddr) begin
+        idxPages_18 <= _idxPages_waddr;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h13 == waddr) begin
+        idxPages_19 <= _idxPages_waddr;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h14 == waddr) begin
+        idxPages_20 <= _idxPages_waddr;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h15 == waddr) begin
+        idxPages_21 <= _idxPages_waddr;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h16 == waddr) begin
+        idxPages_22 <= _idxPages_waddr;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h17 == waddr) begin
+        idxPages_23 <= _idxPages_waddr;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h18 == waddr) begin
+        idxPages_24 <= _idxPages_waddr;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h19 == waddr) begin
+        idxPages_25 <= _idxPages_waddr;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h1a == waddr) begin
+        idxPages_26 <= _idxPages_waddr;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h1b == waddr) begin
+        idxPages_27 <= _idxPages_waddr;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h0 == waddr) begin
+        tgts_0 <= _T_260;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h1 == waddr) begin
+        tgts_1 <= _T_260;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h2 == waddr) begin
+        tgts_2 <= _T_260;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h3 == waddr) begin
+        tgts_3 <= _T_260;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h4 == waddr) begin
+        tgts_4 <= _T_260;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h5 == waddr) begin
+        tgts_5 <= _T_260;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h6 == waddr) begin
+        tgts_6 <= _T_260;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h7 == waddr) begin
+        tgts_7 <= _T_260;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h8 == waddr) begin
+        tgts_8 <= _T_260;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h9 == waddr) begin
+        tgts_9 <= _T_260;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'ha == waddr) begin
+        tgts_10 <= _T_260;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'hb == waddr) begin
+        tgts_11 <= _T_260;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'hc == waddr) begin
+        tgts_12 <= _T_260;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'hd == waddr) begin
+        tgts_13 <= _T_260;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'he == waddr) begin
+        tgts_14 <= _T_260;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'hf == waddr) begin
+        tgts_15 <= _T_260;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h10 == waddr) begin
+        tgts_16 <= _T_260;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h11 == waddr) begin
+        tgts_17 <= _T_260;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h12 == waddr) begin
+        tgts_18 <= _T_260;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h13 == waddr) begin
+        tgts_19 <= _T_260;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h14 == waddr) begin
+        tgts_20 <= _T_260;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h15 == waddr) begin
+        tgts_21 <= _T_260;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h16 == waddr) begin
+        tgts_22 <= _T_260;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h17 == waddr) begin
+        tgts_23 <= _T_260;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h18 == waddr) begin
+        tgts_24 <= _T_260;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h19 == waddr) begin
+        tgts_25 <= _T_260;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h1a == waddr) begin
+        tgts_26 <= _T_260;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h1b == waddr) begin
+        tgts_27 <= _T_260;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h0 == waddr) begin
+        tgtPages_0 <= tgtPageUpdate;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h1 == waddr) begin
+        tgtPages_1 <= tgtPageUpdate;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h2 == waddr) begin
+        tgtPages_2 <= tgtPageUpdate;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h3 == waddr) begin
+        tgtPages_3 <= tgtPageUpdate;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h4 == waddr) begin
+        tgtPages_4 <= tgtPageUpdate;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h5 == waddr) begin
+        tgtPages_5 <= tgtPageUpdate;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h6 == waddr) begin
+        tgtPages_6 <= tgtPageUpdate;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h7 == waddr) begin
+        tgtPages_7 <= tgtPageUpdate;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h8 == waddr) begin
+        tgtPages_8 <= tgtPageUpdate;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h9 == waddr) begin
+        tgtPages_9 <= tgtPageUpdate;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'ha == waddr) begin
+        tgtPages_10 <= tgtPageUpdate;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'hb == waddr) begin
+        tgtPages_11 <= tgtPageUpdate;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'hc == waddr) begin
+        tgtPages_12 <= tgtPageUpdate;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'hd == waddr) begin
+        tgtPages_13 <= tgtPageUpdate;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'he == waddr) begin
+        tgtPages_14 <= tgtPageUpdate;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'hf == waddr) begin
+        tgtPages_15 <= tgtPageUpdate;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h10 == waddr) begin
+        tgtPages_16 <= tgtPageUpdate;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h11 == waddr) begin
+        tgtPages_17 <= tgtPageUpdate;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h12 == waddr) begin
+        tgtPages_18 <= tgtPageUpdate;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h13 == waddr) begin
+        tgtPages_19 <= tgtPageUpdate;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h14 == waddr) begin
+        tgtPages_20 <= tgtPageUpdate;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h15 == waddr) begin
+        tgtPages_21 <= tgtPageUpdate;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h16 == waddr) begin
+        tgtPages_22 <= tgtPageUpdate;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h17 == waddr) begin
+        tgtPages_23 <= tgtPageUpdate;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h18 == waddr) begin
+        tgtPages_24 <= tgtPageUpdate;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h19 == waddr) begin
+        tgtPages_25 <= tgtPageUpdate;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h1a == waddr) begin
+        tgtPages_26 <= tgtPageUpdate;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h1b == waddr) begin
+        tgtPages_27 <= tgtPageUpdate;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (_T_490) begin
+        if (_T_485) begin
+          pages_0 <= _T_316;
+        end else begin
+          pages_0 <= _T_248;
+        end
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (_T_497) begin
+        if (_T_485) begin
+          pages_1 <= _T_248;
+        end else begin
+          pages_1 <= _T_316;
+        end
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (_T_491) begin
+        if (_T_485) begin
+          pages_2 <= _T_316;
+        end else begin
+          pages_2 <= _T_248;
+        end
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (_T_498) begin
+        if (_T_485) begin
+          pages_3 <= _T_248;
+        end else begin
+          pages_3 <= _T_316;
+        end
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (_T_492) begin
+        if (_T_485) begin
+          pages_4 <= _T_316;
+        end else begin
+          pages_4 <= _T_248;
+        end
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (_T_499) begin
+        if (_T_485) begin
+          pages_5 <= _T_248;
+        end else begin
+          pages_5 <= _T_316;
+        end
+      end
+    end
+    if (reset) begin
+      pageValid <= 6'h0;
+    end else begin
+      pageValid <= _GEN_373[5:0];
+    end
+    if (reset) begin
+      isValid <= 28'h0;
+    end else begin
+      isValid <= _GEN_381[27:0];
+    end
+    if (r_btb_update_valid) begin
+      if (5'h0 == waddr) begin
+        cfiType_0 <= r_btb_update_bits_cfiType;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h1 == waddr) begin
+        cfiType_1 <= r_btb_update_bits_cfiType;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h2 == waddr) begin
+        cfiType_2 <= r_btb_update_bits_cfiType;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h3 == waddr) begin
+        cfiType_3 <= r_btb_update_bits_cfiType;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h4 == waddr) begin
+        cfiType_4 <= r_btb_update_bits_cfiType;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h5 == waddr) begin
+        cfiType_5 <= r_btb_update_bits_cfiType;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h6 == waddr) begin
+        cfiType_6 <= r_btb_update_bits_cfiType;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h7 == waddr) begin
+        cfiType_7 <= r_btb_update_bits_cfiType;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h8 == waddr) begin
+        cfiType_8 <= r_btb_update_bits_cfiType;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h9 == waddr) begin
+        cfiType_9 <= r_btb_update_bits_cfiType;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'ha == waddr) begin
+        cfiType_10 <= r_btb_update_bits_cfiType;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'hb == waddr) begin
+        cfiType_11 <= r_btb_update_bits_cfiType;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'hc == waddr) begin
+        cfiType_12 <= r_btb_update_bits_cfiType;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'hd == waddr) begin
+        cfiType_13 <= r_btb_update_bits_cfiType;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'he == waddr) begin
+        cfiType_14 <= r_btb_update_bits_cfiType;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'hf == waddr) begin
+        cfiType_15 <= r_btb_update_bits_cfiType;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h10 == waddr) begin
+        cfiType_16 <= r_btb_update_bits_cfiType;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h11 == waddr) begin
+        cfiType_17 <= r_btb_update_bits_cfiType;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h12 == waddr) begin
+        cfiType_18 <= r_btb_update_bits_cfiType;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h13 == waddr) begin
+        cfiType_19 <= r_btb_update_bits_cfiType;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h14 == waddr) begin
+        cfiType_20 <= r_btb_update_bits_cfiType;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h15 == waddr) begin
+        cfiType_21 <= r_btb_update_bits_cfiType;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h16 == waddr) begin
+        cfiType_22 <= r_btb_update_bits_cfiType;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h17 == waddr) begin
+        cfiType_23 <= r_btb_update_bits_cfiType;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h18 == waddr) begin
+        cfiType_24 <= r_btb_update_bits_cfiType;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h19 == waddr) begin
+        cfiType_25 <= r_btb_update_bits_cfiType;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h1a == waddr) begin
+        cfiType_26 <= r_btb_update_bits_cfiType;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h1b == waddr) begin
+        cfiType_27 <= r_btb_update_bits_cfiType;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h0 == waddr) begin
+        brIdx_0 <= _brIdx_waddr;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h1 == waddr) begin
+        brIdx_1 <= _brIdx_waddr;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h2 == waddr) begin
+        brIdx_2 <= _brIdx_waddr;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h3 == waddr) begin
+        brIdx_3 <= _brIdx_waddr;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h4 == waddr) begin
+        brIdx_4 <= _brIdx_waddr;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h5 == waddr) begin
+        brIdx_5 <= _brIdx_waddr;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h6 == waddr) begin
+        brIdx_6 <= _brIdx_waddr;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h7 == waddr) begin
+        brIdx_7 <= _brIdx_waddr;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h8 == waddr) begin
+        brIdx_8 <= _brIdx_waddr;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h9 == waddr) begin
+        brIdx_9 <= _brIdx_waddr;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'ha == waddr) begin
+        brIdx_10 <= _brIdx_waddr;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'hb == waddr) begin
+        brIdx_11 <= _brIdx_waddr;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'hc == waddr) begin
+        brIdx_12 <= _brIdx_waddr;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'hd == waddr) begin
+        brIdx_13 <= _brIdx_waddr;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'he == waddr) begin
+        brIdx_14 <= _brIdx_waddr;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'hf == waddr) begin
+        brIdx_15 <= _brIdx_waddr;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h10 == waddr) begin
+        brIdx_16 <= _brIdx_waddr;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h11 == waddr) begin
+        brIdx_17 <= _brIdx_waddr;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h12 == waddr) begin
+        brIdx_18 <= _brIdx_waddr;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h13 == waddr) begin
+        brIdx_19 <= _brIdx_waddr;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h14 == waddr) begin
+        brIdx_20 <= _brIdx_waddr;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h15 == waddr) begin
+        brIdx_21 <= _brIdx_waddr;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h16 == waddr) begin
+        brIdx_22 <= _brIdx_waddr;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h17 == waddr) begin
+        brIdx_23 <= _brIdx_waddr;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h18 == waddr) begin
+        brIdx_24 <= _brIdx_waddr;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h19 == waddr) begin
+        brIdx_25 <= _brIdx_waddr;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h1a == waddr) begin
+        brIdx_26 <= _brIdx_waddr;
+      end
+    end
+    if (r_btb_update_valid) begin
+      if (5'h1b == waddr) begin
+        brIdx_27 <= _brIdx_waddr;
+      end
+    end
+    if (reset) begin
+      r_btb_update_valid <= 1'h0;
+    end else begin
+      r_btb_update_valid <= io_btb_update_valid;
+    end
+    if (io_btb_update_valid) begin
+      r_btb_update_bits_prediction_entry <= io_btb_update_bits_prediction_entry;
+    end
+    if (io_btb_update_valid) begin
+      r_btb_update_bits_pc <= io_btb_update_bits_pc;
+    end
+    if (io_btb_update_valid) begin
+      r_btb_update_bits_isValid <= io_btb_update_bits_isValid;
+    end
+    if (io_btb_update_valid) begin
+      r_btb_update_bits_br_pc <= io_btb_update_bits_br_pc;
+    end
+    if (io_btb_update_valid) begin
+      r_btb_update_bits_cfiType <= io_btb_update_bits_cfiType;
+    end
+    if (_T_364) begin
+      if (_T_369) begin
+        nextPageRepl <= {{2'd0}, _T_370};
+      end else begin
+        nextPageRepl <= _T_368;
+      end
+    end
+    if (_T_420) begin
+      _T_373 <= _T_468;
+    end
+    if (reset) begin
+      r_resp_valid <= 1'h0;
+    end else begin
+      r_resp_valid <= io_resp_valid;
+    end
+    if (io_resp_valid) begin
+      r_resp_bits_taken <= io_resp_bits_taken;
+    end
+    if (io_resp_valid) begin
+      r_resp_bits_entry <= io_resp_bits_entry;
+    end
+    if (io_bht_update_valid) begin
+      if (io_bht_update_bits_branch) begin
+        if (io_bht_update_bits_mispredict) begin
+          _T_1163 <= _T_1247;
+        end else begin
+          if (io_bht_advance_valid) begin
+            _T_1163 <= _T_1235;
+          end
+        end
+      end else begin
+        if (io_bht_update_bits_mispredict) begin
+          _T_1163 <= io_bht_update_bits_prediction_history;
+        end else begin
+          if (io_bht_advance_valid) begin
+            _T_1163 <= _T_1235;
+          end
+        end
+      end
+    end else begin
+      if (io_bht_advance_valid) begin
+        _T_1163 <= _T_1235;
+      end
+    end
+    if (io_ras_update_valid) begin
+      if (_T_1331) begin
+        if (_T_1332) begin
+          _T_1252 <= _T_1334;
+        end
+      end else begin
+        if (_T_1341) begin
+          if (_T_1325) begin
+            _T_1252 <= _T_1346;
+          end
+        end
+      end
+    end
+    if (io_ras_update_valid) begin
+      if (_T_1331) begin
+        if (_T_1335) begin
+          _T_1254 <= _T_1338;
+        end else begin
+          _T_1254 <= 3'h0;
+        end
+      end else begin
+        if (_T_1341) begin
+          if (_T_1325) begin
+            if (_T_1347) begin
+              _T_1254 <= _T_1351;
+            end else begin
+              _T_1254 <= 3'h5;
+            end
+          end
+        end
+      end
+    end
+    if (io_ras_update_valid) begin
+      if (_T_1331) begin
+        if (3'h0 == _T_1339) begin
+          _T_1258_0 <= io_ras_update_bits_returnAddr;
+        end
+      end
+    end
+    if (io_ras_update_valid) begin
+      if (_T_1331) begin
+        if (3'h1 == _T_1339) begin
+          _T_1258_1 <= io_ras_update_bits_returnAddr;
+        end
+      end
+    end
+    if (io_ras_update_valid) begin
+      if (_T_1331) begin
+        if (3'h2 == _T_1339) begin
+          _T_1258_2 <= io_ras_update_bits_returnAddr;
+        end
+      end
+    end
+    if (io_ras_update_valid) begin
+      if (_T_1331) begin
+        if (3'h3 == _T_1339) begin
+          _T_1258_3 <= io_ras_update_bits_returnAddr;
+        end
+      end
+    end
+    if (io_ras_update_valid) begin
+      if (_T_1331) begin
+        if (3'h4 == _T_1339) begin
+          _T_1258_4 <= io_ras_update_bits_returnAddr;
+        end
+      end
+    end
+    if (io_ras_update_valid) begin
+      if (_T_1331) begin
+        if (3'h5 == _T_1339) begin
+          _T_1258_5 <= io_ras_update_bits_returnAddr;
+        end
+      end
+    end
+  end
+endmodule
+module Frontend( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209087.2]
+  input         gated_clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209088.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209089.4]
+  output        auto_icache_slave_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209090.4]
+  input         auto_icache_slave_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209090.4]
+  input  [2:0]  auto_icache_slave_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209090.4]
+  input  [1:0]  auto_icache_slave_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209090.4]
+  input  [6:0]  auto_icache_slave_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209090.4]
+  input  [27:0] auto_icache_slave_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209090.4]
+  input  [3:0]  auto_icache_slave_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209090.4]
+  input  [31:0] auto_icache_slave_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209090.4]
+  input         auto_icache_slave_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209090.4]
+  output        auto_icache_slave_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209090.4]
+  output [2:0]  auto_icache_slave_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209090.4]
+  output [1:0]  auto_icache_slave_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209090.4]
+  output [6:0]  auto_icache_slave_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209090.4]
+  output [31:0] auto_icache_slave_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209090.4]
+  input         auto_icache_master_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209090.4]
+  output        auto_icache_master_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209090.4]
+  output [31:0] auto_icache_master_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209090.4]
+  output        auto_icache_master_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209090.4]
+  input         auto_icache_master_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209090.4]
+  input  [2:0]  auto_icache_master_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209090.4]
+  input  [3:0]  auto_icache_master_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209090.4]
+  input  [31:0] auto_icache_master_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209090.4]
+  input         auto_icache_master_out_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209090.4]
+  input  [31:0] io_reset_vector, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
+  input         io_cpu_might_request, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
+  input         io_cpu_req_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
+  input  [31:0] io_cpu_req_bits_pc, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
+  input         io_cpu_req_bits_speculative, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
+  input         io_cpu_sfence_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
+  input         io_cpu_resp_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
+  output        io_cpu_resp_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
+  output        io_cpu_resp_bits_btb_taken, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
+  output        io_cpu_resp_bits_btb_bridx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
+  output [4:0]  io_cpu_resp_bits_btb_entry, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
+  output [7:0]  io_cpu_resp_bits_btb_bht_history, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
+  output [31:0] io_cpu_resp_bits_pc, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
+  output [31:0] io_cpu_resp_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
+  output        io_cpu_resp_bits_xcpt_ae_inst, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
+  output        io_cpu_resp_bits_replay, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
+  input         io_cpu_btb_update_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
+  input  [4:0]  io_cpu_btb_update_bits_prediction_entry, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
+  input  [31:0] io_cpu_btb_update_bits_pc, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
+  input         io_cpu_btb_update_bits_isValid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
+  input  [31:0] io_cpu_btb_update_bits_br_pc, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
+  input  [1:0]  io_cpu_btb_update_bits_cfiType, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
+  input         io_cpu_bht_update_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
+  input  [7:0]  io_cpu_bht_update_bits_prediction_history, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
+  input  [31:0] io_cpu_bht_update_bits_pc, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
+  input         io_cpu_bht_update_bits_branch, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
+  input         io_cpu_bht_update_bits_taken, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
+  input         io_cpu_bht_update_bits_mispredict, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
+  input         io_cpu_flush_icache, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
+  output [31:0] io_cpu_npc, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
+  input         io_ptw_pmp_0_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
+  input  [1:0]  io_ptw_pmp_0_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
+  input         io_ptw_pmp_0_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
+  input         io_ptw_pmp_0_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
+  input         io_ptw_pmp_0_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
+  input  [29:0] io_ptw_pmp_0_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
+  input  [31:0] io_ptw_pmp_0_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
+  input         io_ptw_pmp_1_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
+  input  [1:0]  io_ptw_pmp_1_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
+  input         io_ptw_pmp_1_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
+  input         io_ptw_pmp_1_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
+  input         io_ptw_pmp_1_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
+  input  [29:0] io_ptw_pmp_1_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
+  input  [31:0] io_ptw_pmp_1_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
+  input         io_ptw_pmp_2_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
+  input  [1:0]  io_ptw_pmp_2_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
+  input         io_ptw_pmp_2_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
+  input         io_ptw_pmp_2_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
+  input         io_ptw_pmp_2_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
+  input  [29:0] io_ptw_pmp_2_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
+  input  [31:0] io_ptw_pmp_2_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
+  input         io_ptw_pmp_3_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
+  input  [1:0]  io_ptw_pmp_3_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
+  input         io_ptw_pmp_3_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
+  input         io_ptw_pmp_3_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
+  input         io_ptw_pmp_3_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
+  input  [29:0] io_ptw_pmp_3_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
+  input  [31:0] io_ptw_pmp_3_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
+  input         io_ptw_pmp_4_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
+  input  [1:0]  io_ptw_pmp_4_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
+  input         io_ptw_pmp_4_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
+  input         io_ptw_pmp_4_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
+  input         io_ptw_pmp_4_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
+  input  [29:0] io_ptw_pmp_4_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
+  input  [31:0] io_ptw_pmp_4_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
+  input         io_ptw_pmp_5_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
+  input  [1:0]  io_ptw_pmp_5_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
+  input         io_ptw_pmp_5_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
+  input         io_ptw_pmp_5_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
+  input         io_ptw_pmp_5_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
+  input  [29:0] io_ptw_pmp_5_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
+  input  [31:0] io_ptw_pmp_5_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
+  input         io_ptw_pmp_6_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
+  input  [1:0]  io_ptw_pmp_6_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
+  input         io_ptw_pmp_6_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
+  input         io_ptw_pmp_6_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
+  input         io_ptw_pmp_6_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
+  input  [29:0] io_ptw_pmp_6_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
+  input  [31:0] io_ptw_pmp_6_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
+  input         io_ptw_pmp_7_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
+  input  [1:0]  io_ptw_pmp_7_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
+  input         io_ptw_pmp_7_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
+  input         io_ptw_pmp_7_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
+  input         io_ptw_pmp_7_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
+  input  [29:0] io_ptw_pmp_7_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
+  input  [31:0] io_ptw_pmp_7_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
+  output [6:0] tag_array_ext_RW0_addr,
+  output  tag_array_ext_RW0_en,
+  output  tag_array_ext_RW0_clk,
+  output  tag_array_ext_RW0_wmode,
+  output [39:0] tag_array_ext_RW0_wdata,
+  input  [39:0] tag_array_ext_RW0_rdata,
+  output [1:0] tag_array_ext_RW0_wmask,
+  output [10:0] data_arrays_0_0_ext_RW0_addr,
+  output  data_arrays_0_0_ext_RW0_en,
+  output  data_arrays_0_0_ext_RW0_clk,
+  output  data_arrays_0_0_ext_RW0_wmode,
+  output [63:0] data_arrays_0_0_ext_RW0_wdata,
+  input  [63:0] data_arrays_0_0_ext_RW0_rdata,
+  output [1:0] data_arrays_0_0_ext_RW0_wmask
+);
+  wire  icache_clock; // @[Frontend.scala 61:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209097.4]
+  wire  icache_reset; // @[Frontend.scala 61:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209097.4]
+  wire  icache_auto_slave_in_a_ready; // @[Frontend.scala 61:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209097.4]
+  wire  icache_auto_slave_in_a_valid; // @[Frontend.scala 61:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209097.4]
+  wire [2:0] icache_auto_slave_in_a_bits_opcode; // @[Frontend.scala 61:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209097.4]
+  wire [1:0] icache_auto_slave_in_a_bits_size; // @[Frontend.scala 61:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209097.4]
+  wire [6:0] icache_auto_slave_in_a_bits_source; // @[Frontend.scala 61:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209097.4]
+  wire [27:0] icache_auto_slave_in_a_bits_address; // @[Frontend.scala 61:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209097.4]
+  wire [3:0] icache_auto_slave_in_a_bits_mask; // @[Frontend.scala 61:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209097.4]
+  wire [31:0] icache_auto_slave_in_a_bits_data; // @[Frontend.scala 61:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209097.4]
+  wire  icache_auto_slave_in_d_ready; // @[Frontend.scala 61:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209097.4]
+  wire  icache_auto_slave_in_d_valid; // @[Frontend.scala 61:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209097.4]
+  wire [2:0] icache_auto_slave_in_d_bits_opcode; // @[Frontend.scala 61:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209097.4]
+  wire [1:0] icache_auto_slave_in_d_bits_size; // @[Frontend.scala 61:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209097.4]
+  wire [6:0] icache_auto_slave_in_d_bits_source; // @[Frontend.scala 61:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209097.4]
+  wire [31:0] icache_auto_slave_in_d_bits_data; // @[Frontend.scala 61:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209097.4]
+  wire  icache_auto_master_out_a_ready; // @[Frontend.scala 61:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209097.4]
+  wire  icache_auto_master_out_a_valid; // @[Frontend.scala 61:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209097.4]
+  wire [31:0] icache_auto_master_out_a_bits_address; // @[Frontend.scala 61:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209097.4]
+  wire  icache_auto_master_out_d_ready; // @[Frontend.scala 61:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209097.4]
+  wire  icache_auto_master_out_d_valid; // @[Frontend.scala 61:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209097.4]
+  wire [2:0] icache_auto_master_out_d_bits_opcode; // @[Frontend.scala 61:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209097.4]
+  wire [3:0] icache_auto_master_out_d_bits_size; // @[Frontend.scala 61:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209097.4]
+  wire [31:0] icache_auto_master_out_d_bits_data; // @[Frontend.scala 61:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209097.4]
+  wire  icache_auto_master_out_d_bits_corrupt; // @[Frontend.scala 61:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209097.4]
+  wire  icache_io_req_ready; // @[Frontend.scala 61:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209097.4]
+  wire  icache_io_req_valid; // @[Frontend.scala 61:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209097.4]
+  wire [31:0] icache_io_req_bits_addr; // @[Frontend.scala 61:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209097.4]
+  wire [31:0] icache_io_s1_paddr; // @[Frontend.scala 61:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209097.4]
+  wire [31:0] icache_io_s2_vaddr; // @[Frontend.scala 61:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209097.4]
+  wire  icache_io_s1_kill; // @[Frontend.scala 61:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209097.4]
+  wire  icache_io_s2_kill; // @[Frontend.scala 61:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209097.4]
+  wire  icache_io_resp_valid; // @[Frontend.scala 61:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209097.4]
+  wire [31:0] icache_io_resp_bits_data; // @[Frontend.scala 61:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209097.4]
+  wire  icache_io_resp_bits_ae; // @[Frontend.scala 61:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209097.4]
+  wire  icache_io_invalidate; // @[Frontend.scala 61:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209097.4]
+  wire  icache_io_clock_enabled; // @[Frontend.scala 61:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209097.4]
+  wire  icache_io_keep_clock_enabled; // @[Frontend.scala 61:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209097.4]
+  wire  fq_clock; // @[Frontend.scala 82:57:shc.marmotcaravel.MarmotCaravelConfig.fir@209108.4]
+  wire  fq_reset; // @[Frontend.scala 82:57:shc.marmotcaravel.MarmotCaravelConfig.fir@209108.4]
+  wire  fq_io_enq_ready; // @[Frontend.scala 82:57:shc.marmotcaravel.MarmotCaravelConfig.fir@209108.4]
+  wire  fq_io_enq_valid; // @[Frontend.scala 82:57:shc.marmotcaravel.MarmotCaravelConfig.fir@209108.4]
+  wire  fq_io_enq_bits_btb_taken; // @[Frontend.scala 82:57:shc.marmotcaravel.MarmotCaravelConfig.fir@209108.4]
+  wire  fq_io_enq_bits_btb_bridx; // @[Frontend.scala 82:57:shc.marmotcaravel.MarmotCaravelConfig.fir@209108.4]
+  wire [4:0] fq_io_enq_bits_btb_entry; // @[Frontend.scala 82:57:shc.marmotcaravel.MarmotCaravelConfig.fir@209108.4]
+  wire [7:0] fq_io_enq_bits_btb_bht_history; // @[Frontend.scala 82:57:shc.marmotcaravel.MarmotCaravelConfig.fir@209108.4]
+  wire [31:0] fq_io_enq_bits_pc; // @[Frontend.scala 82:57:shc.marmotcaravel.MarmotCaravelConfig.fir@209108.4]
+  wire [31:0] fq_io_enq_bits_data; // @[Frontend.scala 82:57:shc.marmotcaravel.MarmotCaravelConfig.fir@209108.4]
+  wire [1:0] fq_io_enq_bits_mask; // @[Frontend.scala 82:57:shc.marmotcaravel.MarmotCaravelConfig.fir@209108.4]
+  wire  fq_io_enq_bits_xcpt_ae_inst; // @[Frontend.scala 82:57:shc.marmotcaravel.MarmotCaravelConfig.fir@209108.4]
+  wire  fq_io_enq_bits_replay; // @[Frontend.scala 82:57:shc.marmotcaravel.MarmotCaravelConfig.fir@209108.4]
+  wire  fq_io_deq_ready; // @[Frontend.scala 82:57:shc.marmotcaravel.MarmotCaravelConfig.fir@209108.4]
+  wire  fq_io_deq_valid; // @[Frontend.scala 82:57:shc.marmotcaravel.MarmotCaravelConfig.fir@209108.4]
+  wire  fq_io_deq_bits_btb_taken; // @[Frontend.scala 82:57:shc.marmotcaravel.MarmotCaravelConfig.fir@209108.4]
+  wire  fq_io_deq_bits_btb_bridx; // @[Frontend.scala 82:57:shc.marmotcaravel.MarmotCaravelConfig.fir@209108.4]
+  wire [4:0] fq_io_deq_bits_btb_entry; // @[Frontend.scala 82:57:shc.marmotcaravel.MarmotCaravelConfig.fir@209108.4]
+  wire [7:0] fq_io_deq_bits_btb_bht_history; // @[Frontend.scala 82:57:shc.marmotcaravel.MarmotCaravelConfig.fir@209108.4]
+  wire [31:0] fq_io_deq_bits_pc; // @[Frontend.scala 82:57:shc.marmotcaravel.MarmotCaravelConfig.fir@209108.4]
+  wire [31:0] fq_io_deq_bits_data; // @[Frontend.scala 82:57:shc.marmotcaravel.MarmotCaravelConfig.fir@209108.4]
+  wire  fq_io_deq_bits_xcpt_ae_inst; // @[Frontend.scala 82:57:shc.marmotcaravel.MarmotCaravelConfig.fir@209108.4]
+  wire  fq_io_deq_bits_replay; // @[Frontend.scala 82:57:shc.marmotcaravel.MarmotCaravelConfig.fir@209108.4]
+  wire [4:0] fq_io_mask; // @[Frontend.scala 82:57:shc.marmotcaravel.MarmotCaravelConfig.fir@209108.4]
+  wire [31:0] tlb_io_req_bits_vaddr; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209129.4]
+  wire [31:0] tlb_io_resp_paddr; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209129.4]
+  wire  tlb_io_resp_ae_inst; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209129.4]
+  wire  tlb_io_ptw_pmp_0_cfg_l; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209129.4]
+  wire [1:0] tlb_io_ptw_pmp_0_cfg_a; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209129.4]
+  wire  tlb_io_ptw_pmp_0_cfg_x; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209129.4]
+  wire  tlb_io_ptw_pmp_0_cfg_w; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209129.4]
+  wire  tlb_io_ptw_pmp_0_cfg_r; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209129.4]
+  wire [29:0] tlb_io_ptw_pmp_0_addr; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209129.4]
+  wire [31:0] tlb_io_ptw_pmp_0_mask; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209129.4]
+  wire  tlb_io_ptw_pmp_1_cfg_l; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209129.4]
+  wire [1:0] tlb_io_ptw_pmp_1_cfg_a; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209129.4]
+  wire  tlb_io_ptw_pmp_1_cfg_x; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209129.4]
+  wire  tlb_io_ptw_pmp_1_cfg_w; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209129.4]
+  wire  tlb_io_ptw_pmp_1_cfg_r; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209129.4]
+  wire [29:0] tlb_io_ptw_pmp_1_addr; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209129.4]
+  wire [31:0] tlb_io_ptw_pmp_1_mask; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209129.4]
+  wire  tlb_io_ptw_pmp_2_cfg_l; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209129.4]
+  wire [1:0] tlb_io_ptw_pmp_2_cfg_a; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209129.4]
+  wire  tlb_io_ptw_pmp_2_cfg_x; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209129.4]
+  wire  tlb_io_ptw_pmp_2_cfg_w; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209129.4]
+  wire  tlb_io_ptw_pmp_2_cfg_r; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209129.4]
+  wire [29:0] tlb_io_ptw_pmp_2_addr; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209129.4]
+  wire [31:0] tlb_io_ptw_pmp_2_mask; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209129.4]
+  wire  tlb_io_ptw_pmp_3_cfg_l; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209129.4]
+  wire [1:0] tlb_io_ptw_pmp_3_cfg_a; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209129.4]
+  wire  tlb_io_ptw_pmp_3_cfg_x; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209129.4]
+  wire  tlb_io_ptw_pmp_3_cfg_w; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209129.4]
+  wire  tlb_io_ptw_pmp_3_cfg_r; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209129.4]
+  wire [29:0] tlb_io_ptw_pmp_3_addr; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209129.4]
+  wire [31:0] tlb_io_ptw_pmp_3_mask; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209129.4]
+  wire  tlb_io_ptw_pmp_4_cfg_l; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209129.4]
+  wire [1:0] tlb_io_ptw_pmp_4_cfg_a; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209129.4]
+  wire  tlb_io_ptw_pmp_4_cfg_x; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209129.4]
+  wire  tlb_io_ptw_pmp_4_cfg_w; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209129.4]
+  wire  tlb_io_ptw_pmp_4_cfg_r; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209129.4]
+  wire [29:0] tlb_io_ptw_pmp_4_addr; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209129.4]
+  wire [31:0] tlb_io_ptw_pmp_4_mask; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209129.4]
+  wire  tlb_io_ptw_pmp_5_cfg_l; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209129.4]
+  wire [1:0] tlb_io_ptw_pmp_5_cfg_a; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209129.4]
+  wire  tlb_io_ptw_pmp_5_cfg_x; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209129.4]
+  wire  tlb_io_ptw_pmp_5_cfg_w; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209129.4]
+  wire  tlb_io_ptw_pmp_5_cfg_r; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209129.4]
+  wire [29:0] tlb_io_ptw_pmp_5_addr; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209129.4]
+  wire [31:0] tlb_io_ptw_pmp_5_mask; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209129.4]
+  wire  tlb_io_ptw_pmp_6_cfg_l; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209129.4]
+  wire [1:0] tlb_io_ptw_pmp_6_cfg_a; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209129.4]
+  wire  tlb_io_ptw_pmp_6_cfg_x; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209129.4]
+  wire  tlb_io_ptw_pmp_6_cfg_w; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209129.4]
+  wire  tlb_io_ptw_pmp_6_cfg_r; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209129.4]
+  wire [29:0] tlb_io_ptw_pmp_6_addr; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209129.4]
+  wire [31:0] tlb_io_ptw_pmp_6_mask; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209129.4]
+  wire  tlb_io_ptw_pmp_7_cfg_l; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209129.4]
+  wire [1:0] tlb_io_ptw_pmp_7_cfg_a; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209129.4]
+  wire  tlb_io_ptw_pmp_7_cfg_x; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209129.4]
+  wire  tlb_io_ptw_pmp_7_cfg_w; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209129.4]
+  wire  tlb_io_ptw_pmp_7_cfg_r; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209129.4]
+  wire [29:0] tlb_io_ptw_pmp_7_addr; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209129.4]
+  wire [31:0] tlb_io_ptw_pmp_7_mask; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209129.4]
+  wire  btb_clock; // @[Frontend.scala 170:21:shc.marmotcaravel.MarmotCaravelConfig.fir@209252.4]
+  wire  btb_reset; // @[Frontend.scala 170:21:shc.marmotcaravel.MarmotCaravelConfig.fir@209252.4]
+  wire [31:0] btb_io_req_bits_addr; // @[Frontend.scala 170:21:shc.marmotcaravel.MarmotCaravelConfig.fir@209252.4]
+  wire  btb_io_resp_valid; // @[Frontend.scala 170:21:shc.marmotcaravel.MarmotCaravelConfig.fir@209252.4]
+  wire  btb_io_resp_bits_taken; // @[Frontend.scala 170:21:shc.marmotcaravel.MarmotCaravelConfig.fir@209252.4]
+  wire  btb_io_resp_bits_bridx; // @[Frontend.scala 170:21:shc.marmotcaravel.MarmotCaravelConfig.fir@209252.4]
+  wire [31:0] btb_io_resp_bits_target; // @[Frontend.scala 170:21:shc.marmotcaravel.MarmotCaravelConfig.fir@209252.4]
+  wire [4:0] btb_io_resp_bits_entry; // @[Frontend.scala 170:21:shc.marmotcaravel.MarmotCaravelConfig.fir@209252.4]
+  wire [7:0] btb_io_resp_bits_bht_history; // @[Frontend.scala 170:21:shc.marmotcaravel.MarmotCaravelConfig.fir@209252.4]
+  wire  btb_io_resp_bits_bht_value; // @[Frontend.scala 170:21:shc.marmotcaravel.MarmotCaravelConfig.fir@209252.4]
+  wire  btb_io_btb_update_valid; // @[Frontend.scala 170:21:shc.marmotcaravel.MarmotCaravelConfig.fir@209252.4]
+  wire [4:0] btb_io_btb_update_bits_prediction_entry; // @[Frontend.scala 170:21:shc.marmotcaravel.MarmotCaravelConfig.fir@209252.4]
+  wire [31:0] btb_io_btb_update_bits_pc; // @[Frontend.scala 170:21:shc.marmotcaravel.MarmotCaravelConfig.fir@209252.4]
+  wire  btb_io_btb_update_bits_isValid; // @[Frontend.scala 170:21:shc.marmotcaravel.MarmotCaravelConfig.fir@209252.4]
+  wire [31:0] btb_io_btb_update_bits_br_pc; // @[Frontend.scala 170:21:shc.marmotcaravel.MarmotCaravelConfig.fir@209252.4]
+  wire [1:0] btb_io_btb_update_bits_cfiType; // @[Frontend.scala 170:21:shc.marmotcaravel.MarmotCaravelConfig.fir@209252.4]
+  wire  btb_io_bht_update_valid; // @[Frontend.scala 170:21:shc.marmotcaravel.MarmotCaravelConfig.fir@209252.4]
+  wire [7:0] btb_io_bht_update_bits_prediction_history; // @[Frontend.scala 170:21:shc.marmotcaravel.MarmotCaravelConfig.fir@209252.4]
+  wire [31:0] btb_io_bht_update_bits_pc; // @[Frontend.scala 170:21:shc.marmotcaravel.MarmotCaravelConfig.fir@209252.4]
+  wire  btb_io_bht_update_bits_branch; // @[Frontend.scala 170:21:shc.marmotcaravel.MarmotCaravelConfig.fir@209252.4]
+  wire  btb_io_bht_update_bits_taken; // @[Frontend.scala 170:21:shc.marmotcaravel.MarmotCaravelConfig.fir@209252.4]
+  wire  btb_io_bht_update_bits_mispredict; // @[Frontend.scala 170:21:shc.marmotcaravel.MarmotCaravelConfig.fir@209252.4]
+  wire  btb_io_bht_advance_valid; // @[Frontend.scala 170:21:shc.marmotcaravel.MarmotCaravelConfig.fir@209252.4]
+  wire  btb_io_bht_advance_bits_bht_value; // @[Frontend.scala 170:21:shc.marmotcaravel.MarmotCaravelConfig.fir@209252.4]
+  wire  btb_io_ras_update_valid; // @[Frontend.scala 170:21:shc.marmotcaravel.MarmotCaravelConfig.fir@209252.4]
+  wire [1:0] btb_io_ras_update_bits_cfiType; // @[Frontend.scala 170:21:shc.marmotcaravel.MarmotCaravelConfig.fir@209252.4]
+  wire [31:0] btb_io_ras_update_bits_returnAddr; // @[Frontend.scala 170:21:shc.marmotcaravel.MarmotCaravelConfig.fir@209252.4]
+  wire  btb_io_ras_head_valid; // @[Frontend.scala 170:21:shc.marmotcaravel.MarmotCaravelConfig.fir@209252.4]
+  wire [31:0] btb_io_ras_head_bits; // @[Frontend.scala 170:21:shc.marmotcaravel.MarmotCaravelConfig.fir@209252.4]
+  wire  btb_io_flush; // @[Frontend.scala 170:21:shc.marmotcaravel.MarmotCaravelConfig.fir@209252.4]
+  reg  clock_en_reg; // @[Frontend.scala 84:25:shc.marmotcaravel.MarmotCaravelConfig.fir@209112.4]
+  reg [31:0] _RAND_0;
+  wire  _T_284; // @[Frontend.scala 86:29:shc.marmotcaravel.MarmotCaravelConfig.fir@209114.4]
+  wire  _T_285; // @[Frontend.scala 86:52:shc.marmotcaravel.MarmotCaravelConfig.fir@209115.4]
+  wire  _T_286; // @[Frontend.scala 86:75:shc.marmotcaravel.MarmotCaravelConfig.fir@209116.4]
+  wire  _T_287; // @[Frontend.scala 86:102:shc.marmotcaravel.MarmotCaravelConfig.fir@209117.4]
+  wire  _T_288; // @[Frontend.scala 86:10:shc.marmotcaravel.MarmotCaravelConfig.fir@209118.4]
+  wire  _T_289; // @[Frontend.scala 86:130:shc.marmotcaravel.MarmotCaravelConfig.fir@209119.4]
+  wire  _T_291; // @[Frontend.scala 86:9:shc.marmotcaravel.MarmotCaravelConfig.fir@209121.4]
+  wire  _T_292; // @[Frontend.scala 86:9:shc.marmotcaravel.MarmotCaravelConfig.fir@209122.4]
+  wire  _T_293; // @[Frontend.scala 97:49:shc.marmotcaravel.MarmotCaravelConfig.fir@209133.4]
+  wire  _T_294; // @[Frontend.scala 97:38:shc.marmotcaravel.MarmotCaravelConfig.fir@209134.4]
+  wire  s0_valid; // @[Frontend.scala 97:35:shc.marmotcaravel.MarmotCaravelConfig.fir@209135.4]
+  reg  s1_valid; // @[Frontend.scala 98:25:shc.marmotcaravel.MarmotCaravelConfig.fir@209136.4]
+  reg [31:0] _RAND_1;
+  reg [31:0] s1_pc; // @[Frontend.scala 99:18:shc.marmotcaravel.MarmotCaravelConfig.fir@209138.4]
+  reg [31:0] _RAND_2;
+  reg  s1_speculative; // @[Frontend.scala 100:27:shc.marmotcaravel.MarmotCaravelConfig.fir@209139.4]
+  reg [31:0] _RAND_3;
+  reg  s2_valid; // @[Frontend.scala 101:25:shc.marmotcaravel.MarmotCaravelConfig.fir@209140.4]
+  reg [31:0] _RAND_4;
+  wire [31:0] _T_300; // @[Frontend.scala 331:29:shc.marmotcaravel.MarmotCaravelConfig.fir@209141.4]
+  wire [31:0] _T_301; // @[Frontend.scala 331:33:shc.marmotcaravel.MarmotCaravelConfig.fir@209142.4]
+  wire [31:0] _T_302; // @[Frontend.scala 331:27:shc.marmotcaravel.MarmotCaravelConfig.fir@209143.4]
+  reg [31:0] s2_pc; // @[Frontend.scala 102:22:shc.marmotcaravel.MarmotCaravelConfig.fir@209144.4]
+  reg [31:0] _RAND_5;
+  reg  s2_btb_resp_valid; // @[Frontend.scala 103:44:shc.marmotcaravel.MarmotCaravelConfig.fir@209145.4]
+  reg [31:0] _RAND_6;
+  reg  s2_btb_resp_bits_taken; // @[Frontend.scala 104:29:shc.marmotcaravel.MarmotCaravelConfig.fir@209146.4]
+  reg [31:0] _RAND_7;
+  reg  s2_btb_resp_bits_bridx; // @[Frontend.scala 104:29:shc.marmotcaravel.MarmotCaravelConfig.fir@209146.4]
+  reg [31:0] _RAND_8;
+  reg [4:0] s2_btb_resp_bits_entry; // @[Frontend.scala 104:29:shc.marmotcaravel.MarmotCaravelConfig.fir@209146.4]
+  reg [31:0] _RAND_9;
+  reg [7:0] s2_btb_resp_bits_bht_history; // @[Frontend.scala 104:29:shc.marmotcaravel.MarmotCaravelConfig.fir@209146.4]
+  reg [31:0] _RAND_10;
+  reg  s2_btb_resp_bits_bht_value; // @[Frontend.scala 104:29:shc.marmotcaravel.MarmotCaravelConfig.fir@209146.4]
+  reg [31:0] _RAND_11;
+  wire  s2_btb_taken; // @[Frontend.scala 105:40:shc.marmotcaravel.MarmotCaravelConfig.fir@209147.4]
+  reg  s2_tlb_resp_ae_inst; // @[Frontend.scala 106:24:shc.marmotcaravel.MarmotCaravelConfig.fir@209148.4]
+  reg [31:0] _RAND_12;
+  reg  s2_speculative; // @[Frontend.scala 108:27:shc.marmotcaravel.MarmotCaravelConfig.fir@209150.4]
+  reg [31:0] _RAND_13;
+  reg  s2_partial_insn_valid; // @[Frontend.scala 109:38:shc.marmotcaravel.MarmotCaravelConfig.fir@209151.4]
+  reg [31:0] _RAND_14;
+  reg [15:0] s2_partial_insn; // @[Frontend.scala 110:28:shc.marmotcaravel.MarmotCaravelConfig.fir@209152.4]
+  reg [31:0] _RAND_15;
+  reg  wrong_path; // @[Frontend.scala 111:23:shc.marmotcaravel.MarmotCaravelConfig.fir@209153.4]
+  reg [31:0] _RAND_16;
+  wire [31:0] _T_309; // @[Frontend.scala 113:22:shc.marmotcaravel.MarmotCaravelConfig.fir@209154.4]
+  wire [31:0] _T_310; // @[Frontend.scala 113:29:shc.marmotcaravel.MarmotCaravelConfig.fir@209155.4]
+  wire [31:0] s1_base_pc; // @[Frontend.scala 113:20:shc.marmotcaravel.MarmotCaravelConfig.fir@209156.4]
+  wire [31:0] ntpc; // @[Frontend.scala 114:25:shc.marmotcaravel.MarmotCaravelConfig.fir@209158.4]
+  wire  _T_315; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@209167.4]
+  wire  _T_316; // @[Frontend.scala 119:29:shc.marmotcaravel.MarmotCaravelConfig.fir@209168.4]
+  wire  _T_317; // @[Frontend.scala 119:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209169.4]
+  wire  _T_318; // @[Frontend.scala 119:72:shc.marmotcaravel.MarmotCaravelConfig.fir@209170.4]
+  reg  _T_321; // @[Frontend.scala 119:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209172.4]
+  reg [31:0] _RAND_17;
+  wire  s2_replay; // @[Frontend.scala 119:48:shc.marmotcaravel.MarmotCaravelConfig.fir@209174.4]
+  wire  _T_319; // @[Frontend.scala 119:69:shc.marmotcaravel.MarmotCaravelConfig.fir@209171.4]
+  wire [1:0] _T_379; // @[Frontend.scala 199:39:shc.marmotcaravel.MarmotCaravelConfig.fir@209316.4]
+  wire  _T_380; // @[Frontend.scala 199:45:shc.marmotcaravel.MarmotCaravelConfig.fir@209317.4]
+  wire  _T_381; // @[Frontend.scala 200:34:shc.marmotcaravel.MarmotCaravelConfig.fir@209318.4]
+  wire  taken_prevRVI; // @[Frontend.scala 200:31:shc.marmotcaravel.MarmotCaravelConfig.fir@209319.4]
+  wire [15:0] taken_bits; // @[Frontend.scala 202:37:shc.marmotcaravel.MarmotCaravelConfig.fir@209323.4]
+  wire [31:0] taken_rviBits; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209326.4]
+  wire [6:0] _T_386; // @[Frontend.scala 206:28:shc.marmotcaravel.MarmotCaravelConfig.fir@209329.4]
+  wire  taken_rviJump; // @[Frontend.scala 206:34:shc.marmotcaravel.MarmotCaravelConfig.fir@209330.4]
+  wire  taken_rviJALR; // @[Frontend.scala 207:34:shc.marmotcaravel.MarmotCaravelConfig.fir@209332.4]
+  wire  _T_574; // @[Frontend.scala 221:29:shc.marmotcaravel.MarmotCaravelConfig.fir@209531.4]
+  wire  taken_rviBranch; // @[Frontend.scala 205:36:shc.marmotcaravel.MarmotCaravelConfig.fir@209328.4]
+  wire  _T_575; // @[Frontend.scala 221:53:shc.marmotcaravel.MarmotCaravelConfig.fir@209532.4]
+  wire  _T_576; // @[Frontend.scala 221:40:shc.marmotcaravel.MarmotCaravelConfig.fir@209533.4]
+  wire  _T_577; // @[Frontend.scala 221:17:shc.marmotcaravel.MarmotCaravelConfig.fir@209534.4]
+  wire  _T_382; // @[Frontend.scala 201:38:shc.marmotcaravel.MarmotCaravelConfig.fir@209320.4]
+  wire  _T_383; // @[Frontend.scala 201:47:shc.marmotcaravel.MarmotCaravelConfig.fir@209321.4]
+  wire  taken_valid; // @[Frontend.scala 201:44:shc.marmotcaravel.MarmotCaravelConfig.fir@209322.4]
+  wire [15:0] _T_402; // @[Frontend.scala 212:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209351.4]
+  wire  _T_403; // @[Frontend.scala 212:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209352.4]
+  wire  taken_rvcJAL; // @[Frontend.scala 211:45:shc.marmotcaravel.MarmotCaravelConfig.fir@209349.4]
+  wire  taken_rvcJump; // @[Frontend.scala 212:47:shc.marmotcaravel.MarmotCaravelConfig.fir@209353.4]
+  wire [15:0] _T_444; // @[Frontend.scala 216:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209397.4]
+  wire  _T_445; // @[Frontend.scala 216:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209398.4]
+  wire [4:0] _T_446; // @[Frontend.scala 216:56:shc.marmotcaravel.MarmotCaravelConfig.fir@209399.4]
+  wire  _T_447; // @[Frontend.scala 216:62:shc.marmotcaravel.MarmotCaravelConfig.fir@209400.4]
+  wire  taken_rvcJALR; // @[Frontend.scala 216:49:shc.marmotcaravel.MarmotCaravelConfig.fir@209401.4]
+  wire  _T_578; // @[Frontend.scala 222:27:shc.marmotcaravel.MarmotCaravelConfig.fir@209535.4]
+  wire  _T_438; // @[Frontend.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@209389.4]
+  wire  taken_rvcJR; // @[Frontend.scala 214:46:shc.marmotcaravel.MarmotCaravelConfig.fir@209392.4]
+  wire  _T_579; // @[Frontend.scala 222:38:shc.marmotcaravel.MarmotCaravelConfig.fir@209536.4]
+  wire  _T_397; // @[Frontend.scala 210:28:shc.marmotcaravel.MarmotCaravelConfig.fir@209344.4]
+  wire  _T_399; // @[Frontend.scala 210:60:shc.marmotcaravel.MarmotCaravelConfig.fir@209346.4]
+  wire  taken_rvcBranch; // @[Frontend.scala 210:52:shc.marmotcaravel.MarmotCaravelConfig.fir@209347.4]
+  wire  _T_580; // @[Frontend.scala 222:60:shc.marmotcaravel.MarmotCaravelConfig.fir@209537.4]
+  wire  _T_581; // @[Frontend.scala 222:47:shc.marmotcaravel.MarmotCaravelConfig.fir@209538.4]
+  wire  _T_582; // @[Frontend.scala 222:15:shc.marmotcaravel.MarmotCaravelConfig.fir@209539.4]
+  wire  taken_taken; // @[Frontend.scala 221:71:shc.marmotcaravel.MarmotCaravelConfig.fir@209540.4]
+  wire  taken_idx; // @[Frontend.scala 236:13:shc.marmotcaravel.MarmotCaravelConfig.fir@209885.4]
+  wire  _T_882; // @[Frontend.scala 245:15:shc.marmotcaravel.MarmotCaravelConfig.fir@209908.6]
+  wire [1:0] _T_646; // @[Frontend.scala 199:39:shc.marmotcaravel.MarmotCaravelConfig.fir@209638.4]
+  wire  _T_647; // @[Frontend.scala 199:45:shc.marmotcaravel.MarmotCaravelConfig.fir@209639.4]
+  wire  _T_648; // @[Frontend.scala 200:34:shc.marmotcaravel.MarmotCaravelConfig.fir@209640.4]
+  wire  taken_prevRVI_1; // @[Frontend.scala 200:31:shc.marmotcaravel.MarmotCaravelConfig.fir@209641.4]
+  wire [15:0] taken_bits_1; // @[Frontend.scala 202:37:shc.marmotcaravel.MarmotCaravelConfig.fir@209645.4]
+  wire [31:0] taken_rviBits_1; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209648.4]
+  wire [6:0] _T_654; // @[Frontend.scala 207:28:shc.marmotcaravel.MarmotCaravelConfig.fir@209653.4]
+  wire  taken_rviJALR_1; // @[Frontend.scala 207:34:shc.marmotcaravel.MarmotCaravelConfig.fir@209654.4]
+  wire  _T_655; // @[Frontend.scala 208:42:shc.marmotcaravel.MarmotCaravelConfig.fir@209655.4]
+  wire  _T_656; // @[Frontend.scala 208:34:shc.marmotcaravel.MarmotCaravelConfig.fir@209656.4]
+  wire  _T_657; // @[Frontend.scala 208:31:shc.marmotcaravel.MarmotCaravelConfig.fir@209657.4]
+  wire [4:0] _T_658; // @[Frontend.scala 208:77:shc.marmotcaravel.MarmotCaravelConfig.fir@209658.4]
+  wire [4:0] _T_659; // @[Frontend.scala 208:66:shc.marmotcaravel.MarmotCaravelConfig.fir@209659.4]
+  wire  _T_660; // @[Frontend.scala 208:66:shc.marmotcaravel.MarmotCaravelConfig.fir@209660.4]
+  wire  taken_rviReturn_1; // @[Frontend.scala 208:46:shc.marmotcaravel.MarmotCaravelConfig.fir@209661.4]
+  wire  _T_850; // @[Frontend.scala 223:61:shc.marmotcaravel.MarmotCaravelConfig.fir@209863.4]
+  wire  _T_649; // @[Frontend.scala 201:38:shc.marmotcaravel.MarmotCaravelConfig.fir@209642.4]
+  wire  _T_650; // @[Frontend.scala 201:47:shc.marmotcaravel.MarmotCaravelConfig.fir@209643.4]
+  wire  taken_valid_1; // @[Frontend.scala 201:44:shc.marmotcaravel.MarmotCaravelConfig.fir@209644.4]
+  wire [15:0] _T_704; // @[Frontend.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@209710.4]
+  wire  _T_705; // @[Frontend.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@209711.4]
+  wire [4:0] _T_706; // @[Frontend.scala 214:53:shc.marmotcaravel.MarmotCaravelConfig.fir@209712.4]
+  wire  _T_707; // @[Frontend.scala 214:59:shc.marmotcaravel.MarmotCaravelConfig.fir@209713.4]
+  wire  taken_rvcJR_1; // @[Frontend.scala 214:46:shc.marmotcaravel.MarmotCaravelConfig.fir@209714.4]
+  wire [4:0] _T_708; // @[Frontend.scala 215:57:shc.marmotcaravel.MarmotCaravelConfig.fir@209715.4]
+  wire [4:0] _T_709; // @[Frontend.scala 215:49:shc.marmotcaravel.MarmotCaravelConfig.fir@209716.4]
+  wire  _T_710; // @[Frontend.scala 215:49:shc.marmotcaravel.MarmotCaravelConfig.fir@209717.4]
+  wire  taken_rvcReturn_1; // @[Frontend.scala 215:29:shc.marmotcaravel.MarmotCaravelConfig.fir@209718.4]
+  wire  _T_851; // @[Frontend.scala 223:83:shc.marmotcaravel.MarmotCaravelConfig.fir@209864.4]
+  wire  _T_852; // @[Frontend.scala 223:74:shc.marmotcaravel.MarmotCaravelConfig.fir@209865.4]
+  wire  taken_predictReturn_1; // @[Frontend.scala 223:49:shc.marmotcaravel.MarmotCaravelConfig.fir@209866.4]
+  wire  _T_891; // @[Frontend.scala 249:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209921.8]
+  wire  _T_388; // @[Frontend.scala 208:42:shc.marmotcaravel.MarmotCaravelConfig.fir@209333.4]
+  wire  _T_389; // @[Frontend.scala 208:34:shc.marmotcaravel.MarmotCaravelConfig.fir@209334.4]
+  wire  _T_390; // @[Frontend.scala 208:31:shc.marmotcaravel.MarmotCaravelConfig.fir@209335.4]
+  wire [4:0] _T_391; // @[Frontend.scala 208:77:shc.marmotcaravel.MarmotCaravelConfig.fir@209336.4]
+  wire [4:0] _T_392; // @[Frontend.scala 208:66:shc.marmotcaravel.MarmotCaravelConfig.fir@209337.4]
+  wire  _T_393; // @[Frontend.scala 208:66:shc.marmotcaravel.MarmotCaravelConfig.fir@209338.4]
+  wire  taken_rviReturn; // @[Frontend.scala 208:46:shc.marmotcaravel.MarmotCaravelConfig.fir@209339.4]
+  wire  _T_583; // @[Frontend.scala 223:61:shc.marmotcaravel.MarmotCaravelConfig.fir@209541.4]
+  wire [4:0] _T_441; // @[Frontend.scala 215:57:shc.marmotcaravel.MarmotCaravelConfig.fir@209393.4]
+  wire [4:0] _T_442; // @[Frontend.scala 215:49:shc.marmotcaravel.MarmotCaravelConfig.fir@209394.4]
+  wire  _T_443; // @[Frontend.scala 215:49:shc.marmotcaravel.MarmotCaravelConfig.fir@209395.4]
+  wire  taken_rvcReturn; // @[Frontend.scala 215:29:shc.marmotcaravel.MarmotCaravelConfig.fir@209396.4]
+  wire  _T_584; // @[Frontend.scala 223:83:shc.marmotcaravel.MarmotCaravelConfig.fir@209542.4]
+  wire  _T_585; // @[Frontend.scala 223:74:shc.marmotcaravel.MarmotCaravelConfig.fir@209543.4]
+  wire  taken_predictReturn; // @[Frontend.scala 223:49:shc.marmotcaravel.MarmotCaravelConfig.fir@209544.4]
+  wire  _T_624; // @[Frontend.scala 249:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209599.8]
+  wire  _GEN_44; // @[Frontend.scala 245:30:shc.marmotcaravel.MarmotCaravelConfig.fir@209587.6]
+  wire  _GEN_77; // @[Frontend.scala 249:44:shc.marmotcaravel.MarmotCaravelConfig.fir@209922.8]
+  wire  _GEN_80; // @[Frontend.scala 245:30:shc.marmotcaravel.MarmotCaravelConfig.fir@209909.6]
+  wire  useRAS; // @[Frontend.scala 236:25:shc.marmotcaravel.MarmotCaravelConfig.fir@209886.4]
+  wire  taken_rviBranch_1; // @[Frontend.scala 205:36:shc.marmotcaravel.MarmotCaravelConfig.fir@209650.4]
+  wire  _T_855; // @[Frontend.scala 225:53:shc.marmotcaravel.MarmotCaravelConfig.fir@209870.4]
+  wire [15:0] _T_663; // @[Frontend.scala 210:28:shc.marmotcaravel.MarmotCaravelConfig.fir@209665.4]
+  wire  _T_664; // @[Frontend.scala 210:28:shc.marmotcaravel.MarmotCaravelConfig.fir@209666.4]
+  wire  _T_666; // @[Frontend.scala 210:60:shc.marmotcaravel.MarmotCaravelConfig.fir@209668.4]
+  wire  taken_rvcBranch_1; // @[Frontend.scala 210:52:shc.marmotcaravel.MarmotCaravelConfig.fir@209669.4]
+  wire  _T_856; // @[Frontend.scala 225:75:shc.marmotcaravel.MarmotCaravelConfig.fir@209871.4]
+  wire  _T_857; // @[Frontend.scala 225:66:shc.marmotcaravel.MarmotCaravelConfig.fir@209872.4]
+  wire  taken_predictBranch_1; // @[Frontend.scala 225:41:shc.marmotcaravel.MarmotCaravelConfig.fir@209873.4]
+  wire  taken_rviJump_1; // @[Frontend.scala 206:34:shc.marmotcaravel.MarmotCaravelConfig.fir@209652.4]
+  wire  _T_853; // @[Frontend.scala 224:33:shc.marmotcaravel.MarmotCaravelConfig.fir@209867.4]
+  wire  _T_670; // @[Frontend.scala 212:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209674.4]
+  wire  taken_rvcJAL_1; // @[Frontend.scala 211:45:shc.marmotcaravel.MarmotCaravelConfig.fir@209671.4]
+  wire  taken_rvcJump_1; // @[Frontend.scala 212:47:shc.marmotcaravel.MarmotCaravelConfig.fir@209675.4]
+  wire  _T_854; // @[Frontend.scala 224:53:shc.marmotcaravel.MarmotCaravelConfig.fir@209868.4]
+  wire  taken_predictJump_1; // @[Frontend.scala 224:44:shc.marmotcaravel.MarmotCaravelConfig.fir@209869.4]
+  wire  _T_892; // @[Frontend.scala 252:44:shc.marmotcaravel.MarmotCaravelConfig.fir@209925.8]
+  wire  _T_893; // @[Frontend.scala 252:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209926.8]
+  wire [31:0] _T_361; // @[Frontend.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@209281.4]
+  wire [31:0] _T_362; // @[Frontend.scala 192:31:shc.marmotcaravel.MarmotCaravelConfig.fir@209282.4]
+  wire [31:0] s2_base_pc; // @[Frontend.scala 192:22:shc.marmotcaravel.MarmotCaravelConfig.fir@209283.4]
+  wire [31:0] taken_pc_1; // @[Frontend.scala 253:33:shc.marmotcaravel.MarmotCaravelConfig.fir@209928.10]
+  wire [32:0] _T_894; // @[Frontend.scala 256:36:shc.marmotcaravel.MarmotCaravelConfig.fir@209929.10]
+  wire [32:0] _T_895; // @[Frontend.scala 256:36:shc.marmotcaravel.MarmotCaravelConfig.fir@209930.10]
+  wire [31:0] _T_896; // @[Frontend.scala 256:36:shc.marmotcaravel.MarmotCaravelConfig.fir@209931.10]
+  wire [31:0] _T_897; // @[Frontend.scala 256:23:shc.marmotcaravel.MarmotCaravelConfig.fir@209932.10]
+  wire [31:0] _T_898; // @[Frontend.scala 256:57:shc.marmotcaravel.MarmotCaravelConfig.fir@209933.10]
+  wire  _T_715; // @[Frontend.scala 218:31:shc.marmotcaravel.MarmotCaravelConfig.fir@209725.4]
+  wire  _T_717; // @[RocketCore.scala 932:48:shc.marmotcaravel.MarmotCaravelConfig.fir@209727.4]
+  wire  _T_718; // @[RocketCore.scala 932:53:shc.marmotcaravel.MarmotCaravelConfig.fir@209728.4]
+  wire  _T_773; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209783.4]
+  wire [10:0] _T_723; // @[RocketCore.scala 933:21:shc.marmotcaravel.MarmotCaravelConfig.fir@209733.4]
+  wire [10:0] _T_772; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209782.4]
+  wire [11:0] _T_774; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209784.4]
+  wire [7:0] _T_727; // @[RocketCore.scala 934:65:shc.marmotcaravel.MarmotCaravelConfig.fir@209737.4]
+  wire [7:0] _T_728; // @[RocketCore.scala 934:73:shc.marmotcaravel.MarmotCaravelConfig.fir@209738.4]
+  wire [7:0] _T_770; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209780.4]
+  wire  _T_734; // @[RocketCore.scala 936:39:shc.marmotcaravel.MarmotCaravelConfig.fir@209744.4]
+  wire  _T_735; // @[RocketCore.scala 936:44:shc.marmotcaravel.MarmotCaravelConfig.fir@209745.4]
+  wire  _T_738; // @[RocketCore.scala 937:43:shc.marmotcaravel.MarmotCaravelConfig.fir@209748.4]
+  wire  _T_769; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209779.4]
+  wire [8:0] _T_771; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209781.4]
+  wire [20:0] _T_775; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209785.4]
+  wire [5:0] _T_745; // @[RocketCore.scala 938:66:shc.marmotcaravel.MarmotCaravelConfig.fir@209755.4]
+  wire [3:0] _T_751; // @[RocketCore.scala 940:57:shc.marmotcaravel.MarmotCaravelConfig.fir@209761.4]
+  wire [3:0] _T_754; // @[RocketCore.scala 941:52:shc.marmotcaravel.MarmotCaravelConfig.fir@209764.4]
+  wire [9:0] _T_767; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209777.4]
+  wire [10:0] _T_768; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209778.4]
+  wire [31:0] _T_776; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209786.4]
+  wire [31:0] _T_777; // @[RocketCore.scala 946:53:shc.marmotcaravel.MarmotCaravelConfig.fir@209787.4]
+  wire [7:0] _T_791; // @[RocketCore.scala 934:21:shc.marmotcaravel.MarmotCaravelConfig.fir@209801.4]
+  wire [7:0] _T_832; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209842.4]
+  wire  _T_831; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209841.4]
+  wire [8:0] _T_833; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209843.4]
+  wire [20:0] _T_837; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209847.4]
+  wire [9:0] _T_829; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209839.4]
+  wire [10:0] _T_830; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209840.4]
+  wire [31:0] _T_838; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209848.4]
+  wire [31:0] _T_839; // @[RocketCore.scala 946:53:shc.marmotcaravel.MarmotCaravelConfig.fir@209849.4]
+  wire [31:0] taken_rviImm_1; // @[Frontend.scala 218:23:shc.marmotcaravel.MarmotCaravelConfig.fir@209850.4]
+  wire  _T_671; // @[Frontend.scala 213:28:shc.marmotcaravel.MarmotCaravelConfig.fir@209676.4]
+  wire  _T_672; // @[RVC.scala 45:27:shc.marmotcaravel.MarmotCaravelConfig.fir@209677.4]
+  wire [4:0] _T_674; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@209679.4]
+  wire [1:0] _T_675; // @[RVC.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@209680.4]
+  wire [6:0] _T_681; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209686.4]
+  wire  _T_676; // @[RVC.scala 45:43:shc.marmotcaravel.MarmotCaravelConfig.fir@209681.4]
+  wire [7:0] _T_682; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209687.4]
+  wire [1:0] _T_677; // @[RVC.scala 45:49:shc.marmotcaravel.MarmotCaravelConfig.fir@209682.4]
+  wire [1:0] _T_678; // @[RVC.scala 45:59:shc.marmotcaravel.MarmotCaravelConfig.fir@209683.4]
+  wire [3:0] _T_679; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209684.4]
+  wire [4:0] _T_680; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209685.4]
+  wire [12:0] _T_683; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209688.4]
+  wire [12:0] _T_684; // @[Frontend.scala 213:66:shc.marmotcaravel.MarmotCaravelConfig.fir@209689.4]
+  wire [9:0] _T_687; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@209692.4]
+  wire  _T_688; // @[RVC.scala 44:36:shc.marmotcaravel.MarmotCaravelConfig.fir@209693.4]
+  wire [10:0] _T_699; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209704.4]
+  wire [1:0] _T_689; // @[RVC.scala 44:42:shc.marmotcaravel.MarmotCaravelConfig.fir@209694.4]
+  wire [12:0] _T_700; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209705.4]
+  wire  _T_690; // @[RVC.scala 44:51:shc.marmotcaravel.MarmotCaravelConfig.fir@209695.4]
+  wire  _T_691; // @[RVC.scala 44:57:shc.marmotcaravel.MarmotCaravelConfig.fir@209696.4]
+  wire [1:0] _T_698; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209703.4]
+  wire [14:0] _T_701; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209706.4]
+  wire  _T_693; // @[RVC.scala 44:69:shc.marmotcaravel.MarmotCaravelConfig.fir@209698.4]
+  wire [1:0] _T_696; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209701.4]
+  wire [2:0] _T_694; // @[RVC.scala 44:76:shc.marmotcaravel.MarmotCaravelConfig.fir@209699.4]
+  wire [3:0] _T_695; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209700.4]
+  wire [5:0] _T_697; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209702.4]
+  wire [20:0] _T_702; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209707.4]
+  wire [20:0] _T_703; // @[Frontend.scala 213:106:shc.marmotcaravel.MarmotCaravelConfig.fir@209708.4]
+  wire [20:0] taken_rvcImm_1; // @[Frontend.scala 213:23:shc.marmotcaravel.MarmotCaravelConfig.fir@209709.4]
+  wire [31:0] _T_899; // @[Frontend.scala 256:69:shc.marmotcaravel.MarmotCaravelConfig.fir@209934.10]
+  wire [31:0] _T_901; // @[Frontend.scala 256:64:shc.marmotcaravel.MarmotCaravelConfig.fir@209936.10]
+  wire [31:0] taken_npc_1; // @[Frontend.scala 256:64:shc.marmotcaravel.MarmotCaravelConfig.fir@209937.10]
+  wire [31:0] _T_902; // @[Frontend.scala 257:34:shc.marmotcaravel.MarmotCaravelConfig.fir@209938.10]
+  wire  _T_588; // @[Frontend.scala 225:53:shc.marmotcaravel.MarmotCaravelConfig.fir@209548.4]
+  wire  _T_589; // @[Frontend.scala 225:75:shc.marmotcaravel.MarmotCaravelConfig.fir@209549.4]
+  wire  _T_590; // @[Frontend.scala 225:66:shc.marmotcaravel.MarmotCaravelConfig.fir@209550.4]
+  wire  taken_predictBranch; // @[Frontend.scala 225:41:shc.marmotcaravel.MarmotCaravelConfig.fir@209551.4]
+  wire  _T_586; // @[Frontend.scala 224:33:shc.marmotcaravel.MarmotCaravelConfig.fir@209545.4]
+  wire  _T_587; // @[Frontend.scala 224:53:shc.marmotcaravel.MarmotCaravelConfig.fir@209546.4]
+  wire  taken_predictJump; // @[Frontend.scala 224:44:shc.marmotcaravel.MarmotCaravelConfig.fir@209547.4]
+  wire  _T_625; // @[Frontend.scala 252:44:shc.marmotcaravel.MarmotCaravelConfig.fir@209603.8]
+  wire  _T_626; // @[Frontend.scala 252:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209604.8]
+  wire [31:0] _T_627; // @[Frontend.scala 255:32:shc.marmotcaravel.MarmotCaravelConfig.fir@209607.10]
+  wire  _T_448; // @[Frontend.scala 218:31:shc.marmotcaravel.MarmotCaravelConfig.fir@209403.4]
+  wire  _T_450; // @[RocketCore.scala 932:48:shc.marmotcaravel.MarmotCaravelConfig.fir@209405.4]
+  wire  _T_451; // @[RocketCore.scala 932:53:shc.marmotcaravel.MarmotCaravelConfig.fir@209406.4]
+  wire  _T_506; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209461.4]
+  wire [10:0] _T_456; // @[RocketCore.scala 933:21:shc.marmotcaravel.MarmotCaravelConfig.fir@209411.4]
+  wire [10:0] _T_505; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209460.4]
+  wire [11:0] _T_507; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209462.4]
+  wire [7:0] _T_460; // @[RocketCore.scala 934:65:shc.marmotcaravel.MarmotCaravelConfig.fir@209415.4]
+  wire [7:0] _T_461; // @[RocketCore.scala 934:73:shc.marmotcaravel.MarmotCaravelConfig.fir@209416.4]
+  wire [7:0] _T_503; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209458.4]
+  wire  _T_467; // @[RocketCore.scala 936:39:shc.marmotcaravel.MarmotCaravelConfig.fir@209422.4]
+  wire  _T_468; // @[RocketCore.scala 936:44:shc.marmotcaravel.MarmotCaravelConfig.fir@209423.4]
+  wire  _T_471; // @[RocketCore.scala 937:43:shc.marmotcaravel.MarmotCaravelConfig.fir@209426.4]
+  wire  _T_502; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209457.4]
+  wire [8:0] _T_504; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209459.4]
+  wire [20:0] _T_508; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209463.4]
+  wire [5:0] _T_478; // @[RocketCore.scala 938:66:shc.marmotcaravel.MarmotCaravelConfig.fir@209433.4]
+  wire [3:0] _T_484; // @[RocketCore.scala 940:57:shc.marmotcaravel.MarmotCaravelConfig.fir@209439.4]
+  wire [3:0] _T_487; // @[RocketCore.scala 941:52:shc.marmotcaravel.MarmotCaravelConfig.fir@209442.4]
+  wire [9:0] _T_500; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209455.4]
+  wire [10:0] _T_501; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209456.4]
+  wire [31:0] _T_509; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209464.4]
+  wire [31:0] _T_510; // @[RocketCore.scala 946:53:shc.marmotcaravel.MarmotCaravelConfig.fir@209465.4]
+  wire [7:0] _T_524; // @[RocketCore.scala 934:21:shc.marmotcaravel.MarmotCaravelConfig.fir@209479.4]
+  wire [7:0] _T_565; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209520.4]
+  wire  _T_564; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209519.4]
+  wire [8:0] _T_566; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209521.4]
+  wire [20:0] _T_570; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209525.4]
+  wire [9:0] _T_562; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209517.4]
+  wire [10:0] _T_563; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209518.4]
+  wire [31:0] _T_571; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209526.4]
+  wire [31:0] _T_572; // @[RocketCore.scala 946:53:shc.marmotcaravel.MarmotCaravelConfig.fir@209527.4]
+  wire [31:0] taken_rviImm; // @[Frontend.scala 218:23:shc.marmotcaravel.MarmotCaravelConfig.fir@209528.4]
+  wire [32:0] _T_628; // @[Frontend.scala 255:61:shc.marmotcaravel.MarmotCaravelConfig.fir@209608.10]
+  wire  _T_404; // @[Frontend.scala 213:28:shc.marmotcaravel.MarmotCaravelConfig.fir@209354.4]
+  wire  _T_405; // @[RVC.scala 45:27:shc.marmotcaravel.MarmotCaravelConfig.fir@209355.4]
+  wire [4:0] _T_407; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@209357.4]
+  wire [1:0] _T_408; // @[RVC.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@209358.4]
+  wire [6:0] _T_414; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209364.4]
+  wire  _T_409; // @[RVC.scala 45:43:shc.marmotcaravel.MarmotCaravelConfig.fir@209359.4]
+  wire [7:0] _T_415; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209365.4]
+  wire [1:0] _T_410; // @[RVC.scala 45:49:shc.marmotcaravel.MarmotCaravelConfig.fir@209360.4]
+  wire [1:0] _T_411; // @[RVC.scala 45:59:shc.marmotcaravel.MarmotCaravelConfig.fir@209361.4]
+  wire [3:0] _T_412; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209362.4]
+  wire [4:0] _T_413; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209363.4]
+  wire [12:0] _T_416; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209366.4]
+  wire [12:0] _T_417; // @[Frontend.scala 213:66:shc.marmotcaravel.MarmotCaravelConfig.fir@209367.4]
+  wire [9:0] _T_420; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@209370.4]
+  wire  _T_421; // @[RVC.scala 44:36:shc.marmotcaravel.MarmotCaravelConfig.fir@209371.4]
+  wire [10:0] _T_432; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209382.4]
+  wire [1:0] _T_422; // @[RVC.scala 44:42:shc.marmotcaravel.MarmotCaravelConfig.fir@209372.4]
+  wire [12:0] _T_433; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209383.4]
+  wire  _T_423; // @[RVC.scala 44:51:shc.marmotcaravel.MarmotCaravelConfig.fir@209373.4]
+  wire  _T_424; // @[RVC.scala 44:57:shc.marmotcaravel.MarmotCaravelConfig.fir@209374.4]
+  wire [1:0] _T_431; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209381.4]
+  wire [14:0] _T_434; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209384.4]
+  wire  _T_426; // @[RVC.scala 44:69:shc.marmotcaravel.MarmotCaravelConfig.fir@209376.4]
+  wire [1:0] _T_429; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209379.4]
+  wire [2:0] _T_427; // @[RVC.scala 44:76:shc.marmotcaravel.MarmotCaravelConfig.fir@209377.4]
+  wire [3:0] _T_428; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209378.4]
+  wire [5:0] _T_430; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209380.4]
+  wire [20:0] _T_435; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209385.4]
+  wire [20:0] _T_436; // @[Frontend.scala 213:106:shc.marmotcaravel.MarmotCaravelConfig.fir@209386.4]
+  wire [20:0] taken_rvcImm; // @[Frontend.scala 213:23:shc.marmotcaravel.MarmotCaravelConfig.fir@209387.4]
+  wire [32:0] _T_629; // @[Frontend.scala 255:44:shc.marmotcaravel.MarmotCaravelConfig.fir@209609.10]
+  wire [32:0] _GEN_126; // @[Frontend.scala 255:39:shc.marmotcaravel.MarmotCaravelConfig.fir@209610.10]
+  wire [32:0] _T_631; // @[Frontend.scala 255:39:shc.marmotcaravel.MarmotCaravelConfig.fir@209611.10]
+  wire [32:0] taken_npc; // @[Frontend.scala 255:39:shc.marmotcaravel.MarmotCaravelConfig.fir@209612.10]
+  wire [32:0] _T_632; // @[Frontend.scala 257:34:shc.marmotcaravel.MarmotCaravelConfig.fir@209613.10]
+  wire  predicted_taken; // @[Frontend.scala 183:29:shc.marmotcaravel.MarmotCaravelConfig.fir@209270.4]
+  wire [31:0] _GEN_27; // @[Frontend.scala 183:56:shc.marmotcaravel.MarmotCaravelConfig.fir@209271.4]
+  wire [32:0] _GEN_42; // @[Frontend.scala 252:61:shc.marmotcaravel.MarmotCaravelConfig.fir@209605.8]
+  wire [32:0] _GEN_45; // @[Frontend.scala 245:30:shc.marmotcaravel.MarmotCaravelConfig.fir@209587.6]
+  wire [32:0] _GEN_78; // @[Frontend.scala 252:61:shc.marmotcaravel.MarmotCaravelConfig.fir@209927.8]
+  wire [32:0] _GEN_81; // @[Frontend.scala 245:30:shc.marmotcaravel.MarmotCaravelConfig.fir@209909.6]
+  wire [32:0] _GEN_98; // @[Frontend.scala 236:25:shc.marmotcaravel.MarmotCaravelConfig.fir@209886.4]
+  wire [32:0] predicted_npc; // @[Frontend.scala 296:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209976.4]
+  wire [32:0] npc; // @[Frontend.scala 120:16:shc.marmotcaravel.MarmotCaravelConfig.fir@209176.4]
+  wire  _T_323; // @[Frontend.scala 126:56:shc.marmotcaravel.MarmotCaravelConfig.fir@209178.4]
+  wire  _T_324; // @[Frontend.scala 126:53:shc.marmotcaravel.MarmotCaravelConfig.fir@209179.4]
+  wire  _T_325; // @[Frontend.scala 126:41:shc.marmotcaravel.MarmotCaravelConfig.fir@209180.4]
+  wire  s0_speculative; // @[Frontend.scala 126:72:shc.marmotcaravel.MarmotCaravelConfig.fir@209181.4]
+  wire  _T_329; // @[Frontend.scala 132:9:shc.marmotcaravel.MarmotCaravelConfig.fir@209189.4]
+  wire  _T_841; // @[Frontend.scala 221:29:shc.marmotcaravel.MarmotCaravelConfig.fir@209853.4]
+  wire  _T_842; // @[Frontend.scala 221:53:shc.marmotcaravel.MarmotCaravelConfig.fir@209854.4]
+  wire  _T_843; // @[Frontend.scala 221:40:shc.marmotcaravel.MarmotCaravelConfig.fir@209855.4]
+  wire  _T_844; // @[Frontend.scala 221:17:shc.marmotcaravel.MarmotCaravelConfig.fir@209856.4]
+  wire  _T_712; // @[Frontend.scala 216:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209720.4]
+  wire  taken_rvcJALR_1; // @[Frontend.scala 216:49:shc.marmotcaravel.MarmotCaravelConfig.fir@209723.4]
+  wire  _T_845; // @[Frontend.scala 222:27:shc.marmotcaravel.MarmotCaravelConfig.fir@209857.4]
+  wire  _T_846; // @[Frontend.scala 222:38:shc.marmotcaravel.MarmotCaravelConfig.fir@209858.4]
+  wire  _T_847; // @[Frontend.scala 222:60:shc.marmotcaravel.MarmotCaravelConfig.fir@209859.4]
+  wire  _T_848; // @[Frontend.scala 222:47:shc.marmotcaravel.MarmotCaravelConfig.fir@209860.4]
+  wire  _T_849; // @[Frontend.scala 222:15:shc.marmotcaravel.MarmotCaravelConfig.fir@209861.4]
+  wire  taken_taken_1; // @[Frontend.scala 221:71:shc.marmotcaravel.MarmotCaravelConfig.fir@209862.4]
+  wire  taken; // @[Frontend.scala 277:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209975.4]
+  wire  _GEN_115; // @[Frontend.scala 307:33:shc.marmotcaravel.MarmotCaravelConfig.fir@209992.8]
+  wire  _GEN_119; // @[Frontend.scala 303:20:shc.marmotcaravel.MarmotCaravelConfig.fir@209987.6]
+  wire  s2_redirect; // @[Frontend.scala 302:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209986.4]
+  wire  _T_330; // @[Frontend.scala 133:17:shc.marmotcaravel.MarmotCaravelConfig.fir@209191.6]
+  reg  _T_340; // @[Frontend.scala 157:29:shc.marmotcaravel.MarmotCaravelConfig.fir@209221.4]
+  reg [31:0] _RAND_18;
+  wire  _T_341; // @[Frontend.scala 157:40:shc.marmotcaravel.MarmotCaravelConfig.fir@209223.4]
+  wire  _T_343; // @[Frontend.scala 157:98:shc.marmotcaravel.MarmotCaravelConfig.fir@209225.4]
+  wire  _T_344; // @[Frontend.scala 157:77:shc.marmotcaravel.MarmotCaravelConfig.fir@209226.4]
+  wire [32:0] _T_346; // @[Frontend.scala 159:28:shc.marmotcaravel.MarmotCaravelConfig.fir@209230.4]
+  wire [32:0] _T_347; // @[Frontend.scala 331:29:shc.marmotcaravel.MarmotCaravelConfig.fir@209231.4]
+  wire [32:0] _T_348; // @[Frontend.scala 331:33:shc.marmotcaravel.MarmotCaravelConfig.fir@209232.4]
+  wire [32:0] _T_349; // @[Frontend.scala 331:27:shc.marmotcaravel.MarmotCaravelConfig.fir@209233.4]
+  wire  _T_350; // @[package.scala 119:13:shc.marmotcaravel.MarmotCaravelConfig.fir@209236.4]
+  wire [2:0] _T_351; // @[Frontend.scala 162:52:shc.marmotcaravel.MarmotCaravelConfig.fir@209237.4]
+  wire  _T_352; // @[Frontend.scala 163:79:shc.marmotcaravel.MarmotCaravelConfig.fir@209239.4]
+  wire  _T_353; // @[Frontend.scala 163:76:shc.marmotcaravel.MarmotCaravelConfig.fir@209240.4]
+  wire  _T_354; // @[Frontend.scala 163:104:shc.marmotcaravel.MarmotCaravelConfig.fir@209241.4]
+  wire  _T_355; // @[Frontend.scala 163:101:shc.marmotcaravel.MarmotCaravelConfig.fir@209242.4]
+  wire  _T_357; // @[Frontend.scala 167:30:shc.marmotcaravel.MarmotCaravelConfig.fir@209248.4]
+  wire  _T_367; // @[Frontend.scala 283:11:shc.marmotcaravel.MarmotCaravelConfig.fir@209294.4]
+  wire  _T_368; // @[Frontend.scala 284:44:shc.marmotcaravel.MarmotCaravelConfig.fir@209296.6]
+  wire  fetch_bubble_likely; // @[Frontend.scala 284:33:shc.marmotcaravel.MarmotCaravelConfig.fir@209297.6]
+  wire  _T_370; // @[Frontend.scala 285:54:shc.marmotcaravel.MarmotCaravelConfig.fir@209299.6]
+  wire  _T_371; // @[Frontend.scala 285:51:shc.marmotcaravel.MarmotCaravelConfig.fir@209300.6]
+  wire  _T_372; // @[Frontend.scala 285:66:shc.marmotcaravel.MarmotCaravelConfig.fir@209301.6]
+  wire  _T_909; // @[Frontend.scala 264:15:shc.marmotcaravel.MarmotCaravelConfig.fir@209952.6]
+  wire  _T_911; // @[Frontend.scala 264:52:shc.marmotcaravel.MarmotCaravelConfig.fir@209954.6]
+  wire  _T_912; // @[Frontend.scala 264:91:shc.marmotcaravel.MarmotCaravelConfig.fir@209955.6]
+  wire  _T_913; // @[Frontend.scala 264:106:shc.marmotcaravel.MarmotCaravelConfig.fir@209956.6]
+  wire  _T_914; // @[Frontend.scala 264:34:shc.marmotcaravel.MarmotCaravelConfig.fir@209957.6]
+  wire  _T_641; // @[Frontend.scala 264:52:shc.marmotcaravel.MarmotCaravelConfig.fir@209629.6]
+  wire  _T_642; // @[Frontend.scala 264:91:shc.marmotcaravel.MarmotCaravelConfig.fir@209630.6]
+  wire  _T_643; // @[Frontend.scala 264:106:shc.marmotcaravel.MarmotCaravelConfig.fir@209631.6]
+  wire  _T_644; // @[Frontend.scala 264:34:shc.marmotcaravel.MarmotCaravelConfig.fir@209632.6]
+  wire  _GEN_91; // @[Frontend.scala 264:125:shc.marmotcaravel.MarmotCaravelConfig.fir@209958.6]
+  wire  updateBTB; // @[Frontend.scala 236:25:shc.marmotcaravel.MarmotCaravelConfig.fir@209886.4]
+  wire  _T_373; // @[Frontend.scala 285:89:shc.marmotcaravel.MarmotCaravelConfig.fir@209302.6]
+  wire [1:0] _GEN_127; // @[Frontend.scala 289:63:shc.marmotcaravel.MarmotCaravelConfig.fir@209307.6]
+  wire [1:0] _T_374; // @[Frontend.scala 289:63:shc.marmotcaravel.MarmotCaravelConfig.fir@209307.6]
+  wire [31:0] _GEN_128; // @[Frontend.scala 289:50:shc.marmotcaravel.MarmotCaravelConfig.fir@209308.6]
+  wire [31:0] _T_375; // @[Frontend.scala 289:50:shc.marmotcaravel.MarmotCaravelConfig.fir@209308.6]
+  wire [1:0] after_idx; // @[Frontend.scala 236:25:shc.marmotcaravel.MarmotCaravelConfig.fir@209886.4]
+  wire [2:0] _GEN_129; // @[Frontend.scala 293:66:shc.marmotcaravel.MarmotCaravelConfig.fir@209312.4]
+  wire [2:0] _T_376; // @[Frontend.scala 293:66:shc.marmotcaravel.MarmotCaravelConfig.fir@209312.4]
+  wire [31:0] _GEN_130; // @[Frontend.scala 293:53:shc.marmotcaravel.MarmotCaravelConfig.fir@209313.4]
+  wire  _T_394; // @[Frontend.scala 209:30:shc.marmotcaravel.MarmotCaravelConfig.fir@209340.4]
+  wire  taken_rviCall; // @[Frontend.scala 209:42:shc.marmotcaravel.MarmotCaravelConfig.fir@209342.4]
+  wire  taken_rvcCall; // @[Frontend.scala 217:28:shc.marmotcaravel.MarmotCaravelConfig.fir@209402.4]
+  wire  _T_591; // @[Frontend.scala 227:22:shc.marmotcaravel.MarmotCaravelConfig.fir@209552.4]
+  wire  _T_592; // @[Frontend.scala 227:69:shc.marmotcaravel.MarmotCaravelConfig.fir@209553.4]
+  wire  _T_593; // @[Frontend.scala 227:43:shc.marmotcaravel.MarmotCaravelConfig.fir@209554.4]
+  wire  _T_594; // @[Frontend.scala 227:77:shc.marmotcaravel.MarmotCaravelConfig.fir@209555.4]
+  wire  _T_596; // @[Frontend.scala 227:86:shc.marmotcaravel.MarmotCaravelConfig.fir@209557.4]
+  wire  _GEN_38; // @[Frontend.scala 227:95:shc.marmotcaravel.MarmotCaravelConfig.fir@209558.4]
+  wire  _GEN_39; // @[Frontend.scala 227:95:shc.marmotcaravel.MarmotCaravelConfig.fir@209558.4]
+  wire  _T_601; // @[Frontend.scala 239:92:shc.marmotcaravel.MarmotCaravelConfig.fir@209570.6]
+  wire  _T_602; // @[Frontend.scala 239:80:shc.marmotcaravel.MarmotCaravelConfig.fir@209571.6]
+  wire  _T_603; // @[Frontend.scala 239:127:shc.marmotcaravel.MarmotCaravelConfig.fir@209572.6]
+  wire  _T_604; // @[Frontend.scala 239:115:shc.marmotcaravel.MarmotCaravelConfig.fir@209573.6]
+  wire  _T_605; // @[Frontend.scala 239:106:shc.marmotcaravel.MarmotCaravelConfig.fir@209574.6]
+  wire  _T_606; // @[Frontend.scala 239:68:shc.marmotcaravel.MarmotCaravelConfig.fir@209575.6]
+  wire  _T_607; // @[Frontend.scala 240:50:shc.marmotcaravel.MarmotCaravelConfig.fir@209577.6]
+  wire  _T_608; // @[Frontend.scala 241:50:shc.marmotcaravel.MarmotCaravelConfig.fir@209578.6]
+  wire  _T_609; // @[Frontend.scala 242:50:shc.marmotcaravel.MarmotCaravelConfig.fir@209579.6]
+  wire  _T_612; // @[Frontend.scala 242:46:shc.marmotcaravel.MarmotCaravelConfig.fir@209582.6]
+  wire [1:0] _T_613; // @[Frontend.scala 241:46:shc.marmotcaravel.MarmotCaravelConfig.fir@209583.6]
+  wire [1:0] _T_614; // @[Frontend.scala 240:46:shc.marmotcaravel.MarmotCaravelConfig.fir@209584.6]
+  wire  _T_617; // @[Frontend.scala 246:34:shc.marmotcaravel.MarmotCaravelConfig.fir@209589.8]
+  wire  _T_618; // @[Frontend.scala 246:46:shc.marmotcaravel.MarmotCaravelConfig.fir@209590.8]
+  wire  _T_619; // @[Frontend.scala 246:43:shc.marmotcaravel.MarmotCaravelConfig.fir@209591.8]
+  wire  _T_620; // @[Frontend.scala 246:64:shc.marmotcaravel.MarmotCaravelConfig.fir@209592.8]
+  wire  _T_621; // @[Frontend.scala 246:61:shc.marmotcaravel.MarmotCaravelConfig.fir@209593.8]
+  wire  _T_622; // @[Frontend.scala 246:80:shc.marmotcaravel.MarmotCaravelConfig.fir@209594.8]
+  wire  _T_623; // @[Frontend.scala 246:77:shc.marmotcaravel.MarmotCaravelConfig.fir@209595.8]
+  wire  _GEN_46; // @[Frontend.scala 260:59:shc.marmotcaravel.MarmotCaravelConfig.fir@209620.6]
+  wire [1:0] _T_651; // @[Frontend.scala 199:39:shc.marmotcaravel.MarmotCaravelConfig.fir@209646.4]
+  wire  taken_rvc_1; // @[Frontend.scala 199:45:shc.marmotcaravel.MarmotCaravelConfig.fir@209647.4]
+  wire  _T_661; // @[Frontend.scala 209:30:shc.marmotcaravel.MarmotCaravelConfig.fir@209662.4]
+  wire  taken_rviCall_1; // @[Frontend.scala 209:42:shc.marmotcaravel.MarmotCaravelConfig.fir@209664.4]
+  wire  taken_rvcCall_1; // @[Frontend.scala 217:28:shc.marmotcaravel.MarmotCaravelConfig.fir@209724.4]
+  wire  _T_860; // @[Frontend.scala 227:43:shc.marmotcaravel.MarmotCaravelConfig.fir@209876.4]
+  wire  _T_861; // @[Frontend.scala 227:77:shc.marmotcaravel.MarmotCaravelConfig.fir@209877.4]
+  wire  _T_862; // @[Frontend.scala 227:89:shc.marmotcaravel.MarmotCaravelConfig.fir@209878.4]
+  wire  _T_863; // @[Frontend.scala 227:86:shc.marmotcaravel.MarmotCaravelConfig.fir@209879.4]
+  wire  _T_868; // @[Frontend.scala 239:92:shc.marmotcaravel.MarmotCaravelConfig.fir@209892.6]
+  wire  _T_869; // @[Frontend.scala 239:80:shc.marmotcaravel.MarmotCaravelConfig.fir@209893.6]
+  wire  _T_870; // @[Frontend.scala 239:127:shc.marmotcaravel.MarmotCaravelConfig.fir@209894.6]
+  wire  _T_871; // @[Frontend.scala 239:115:shc.marmotcaravel.MarmotCaravelConfig.fir@209895.6]
+  wire  _T_872; // @[Frontend.scala 239:106:shc.marmotcaravel.MarmotCaravelConfig.fir@209896.6]
+  wire  _T_873; // @[Frontend.scala 239:68:shc.marmotcaravel.MarmotCaravelConfig.fir@209897.6]
+  wire  _T_874; // @[Frontend.scala 240:50:shc.marmotcaravel.MarmotCaravelConfig.fir@209899.6]
+  wire  _T_875; // @[Frontend.scala 241:50:shc.marmotcaravel.MarmotCaravelConfig.fir@209900.6]
+  wire  _T_876; // @[Frontend.scala 242:50:shc.marmotcaravel.MarmotCaravelConfig.fir@209901.6]
+  wire  _T_879; // @[Frontend.scala 242:46:shc.marmotcaravel.MarmotCaravelConfig.fir@209904.6]
+  wire [1:0] _T_880; // @[Frontend.scala 241:46:shc.marmotcaravel.MarmotCaravelConfig.fir@209905.6]
+  wire [1:0] _T_881; // @[Frontend.scala 240:46:shc.marmotcaravel.MarmotCaravelConfig.fir@209906.6]
+  wire  _T_884; // @[Frontend.scala 246:34:shc.marmotcaravel.MarmotCaravelConfig.fir@209911.8]
+  wire  _T_885; // @[Frontend.scala 246:46:shc.marmotcaravel.MarmotCaravelConfig.fir@209912.8]
+  wire  _T_886; // @[Frontend.scala 246:43:shc.marmotcaravel.MarmotCaravelConfig.fir@209913.8]
+  wire  _T_887; // @[Frontend.scala 246:64:shc.marmotcaravel.MarmotCaravelConfig.fir@209914.8]
+  wire  _T_888; // @[Frontend.scala 246:61:shc.marmotcaravel.MarmotCaravelConfig.fir@209915.8]
+  wire  _T_889; // @[Frontend.scala 246:80:shc.marmotcaravel.MarmotCaravelConfig.fir@209916.8]
+  wire  _T_890; // @[Frontend.scala 246:77:shc.marmotcaravel.MarmotCaravelConfig.fir@209917.8]
+  wire  _GEN_82; // @[Frontend.scala 260:59:shc.marmotcaravel.MarmotCaravelConfig.fir@209945.6]
+  wire  _T_917; // @[Frontend.scala 272:23:shc.marmotcaravel.MarmotCaravelConfig.fir@209966.6]
+  wire  _T_919; // @[Frontend.scala 272:37:shc.marmotcaravel.MarmotCaravelConfig.fir@209968.6]
+  wire [15:0] _T_920; // @[Frontend.scala 274:37:shc.marmotcaravel.MarmotCaravelConfig.fir@209971.8]
+  wire  _T_922; // @[Frontend.scala 299:45:shc.marmotcaravel.MarmotCaravelConfig.fir@209980.4]
+  wire  _T_923; // @[Frontend.scala 299:28:shc.marmotcaravel.MarmotCaravelConfig.fir@209981.4]
+  wire  _GEN_116; // @[Frontend.scala 303:20:shc.marmotcaravel.MarmotCaravelConfig.fir@209987.6]
+  wire  _GEN_117; // @[Frontend.scala 303:20:shc.marmotcaravel.MarmotCaravelConfig.fir@209987.6]
+  wire [4:0] _GEN_118; // @[Frontend.scala 303:20:shc.marmotcaravel.MarmotCaravelConfig.fir@209987.6]
+  wire  _T_926; // @[Frontend.scala 311:12:shc.marmotcaravel.MarmotCaravelConfig.fir@209997.4]
+  wire  _T_928; // @[Frontend.scala 311:35:shc.marmotcaravel.MarmotCaravelConfig.fir@209999.4]
+  wire  _T_930; // @[Frontend.scala 311:11:shc.marmotcaravel.MarmotCaravelConfig.fir@210001.4]
+  wire  _T_931; // @[Frontend.scala 311:11:shc.marmotcaravel.MarmotCaravelConfig.fir@210002.4]
+  wire  _T_933; // @[Frontend.scala 324:40:shc.marmotcaravel.MarmotCaravelConfig.fir@210018.4]
+  wire  _T_934; // @[Frontend.scala 325:34:shc.marmotcaravel.MarmotCaravelConfig.fir@210019.4]
+  wire  _T_935; // @[Frontend.scala 326:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210020.4]
+  wire  _T_938; // @[Frontend.scala 328:16:shc.marmotcaravel.MarmotCaravelConfig.fir@210023.4]
+  wire  _T_939; // @[Frontend.scala 328:5:shc.marmotcaravel.MarmotCaravelConfig.fir@210024.4]
+  ICache icache ( // @[Frontend.scala 61:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209097.4]
+    .clock(icache_clock),
+    .reset(icache_reset),
+    .auto_slave_in_a_ready(icache_auto_slave_in_a_ready),
+    .auto_slave_in_a_valid(icache_auto_slave_in_a_valid),
+    .auto_slave_in_a_bits_opcode(icache_auto_slave_in_a_bits_opcode),
+    .auto_slave_in_a_bits_size(icache_auto_slave_in_a_bits_size),
+    .auto_slave_in_a_bits_source(icache_auto_slave_in_a_bits_source),
+    .auto_slave_in_a_bits_address(icache_auto_slave_in_a_bits_address),
+    .auto_slave_in_a_bits_mask(icache_auto_slave_in_a_bits_mask),
+    .auto_slave_in_a_bits_data(icache_auto_slave_in_a_bits_data),
+    .auto_slave_in_d_ready(icache_auto_slave_in_d_ready),
+    .auto_slave_in_d_valid(icache_auto_slave_in_d_valid),
+    .auto_slave_in_d_bits_opcode(icache_auto_slave_in_d_bits_opcode),
+    .auto_slave_in_d_bits_size(icache_auto_slave_in_d_bits_size),
+    .auto_slave_in_d_bits_source(icache_auto_slave_in_d_bits_source),
+    .auto_slave_in_d_bits_data(icache_auto_slave_in_d_bits_data),
+    .auto_master_out_a_ready(icache_auto_master_out_a_ready),
+    .auto_master_out_a_valid(icache_auto_master_out_a_valid),
+    .auto_master_out_a_bits_address(icache_auto_master_out_a_bits_address),
+    .auto_master_out_d_ready(icache_auto_master_out_d_ready),
+    .auto_master_out_d_valid(icache_auto_master_out_d_valid),
+    .auto_master_out_d_bits_opcode(icache_auto_master_out_d_bits_opcode),
+    .auto_master_out_d_bits_size(icache_auto_master_out_d_bits_size),
+    .auto_master_out_d_bits_data(icache_auto_master_out_d_bits_data),
+    .auto_master_out_d_bits_corrupt(icache_auto_master_out_d_bits_corrupt),
+    .io_req_ready(icache_io_req_ready),
+    .io_req_valid(icache_io_req_valid),
+    .io_req_bits_addr(icache_io_req_bits_addr),
+    .io_s1_paddr(icache_io_s1_paddr),
+    .io_s2_vaddr(icache_io_s2_vaddr),
+    .io_s1_kill(icache_io_s1_kill),
+    .io_s2_kill(icache_io_s2_kill),
+    .io_resp_valid(icache_io_resp_valid),
+    .io_resp_bits_data(icache_io_resp_bits_data),
+    .io_resp_bits_ae(icache_io_resp_bits_ae),
+    .io_invalidate(icache_io_invalidate),
+    .io_clock_enabled(icache_io_clock_enabled),
+    .io_keep_clock_enabled(icache_io_keep_clock_enabled),
+    .tag_array_ext_RW0_addr(tag_array_ext_RW0_addr),
+    .tag_array_ext_RW0_en(tag_array_ext_RW0_en),
+    .tag_array_ext_RW0_clk(tag_array_ext_RW0_clk),
+    .tag_array_ext_RW0_wmode(tag_array_ext_RW0_wmode),
+    .tag_array_ext_RW0_wdata(tag_array_ext_RW0_wdata),
+    .tag_array_ext_RW0_rdata(tag_array_ext_RW0_rdata),
+    .tag_array_ext_RW0_wmask(tag_array_ext_RW0_wmask),
+    .data_arrays_0_0_ext_RW0_addr(data_arrays_0_0_ext_RW0_addr),
+    .data_arrays_0_0_ext_RW0_en(data_arrays_0_0_ext_RW0_en),
+    .data_arrays_0_0_ext_RW0_clk(data_arrays_0_0_ext_RW0_clk),
+    .data_arrays_0_0_ext_RW0_wmode(data_arrays_0_0_ext_RW0_wmode),
+    .data_arrays_0_0_ext_RW0_wdata(data_arrays_0_0_ext_RW0_wdata),
+    .data_arrays_0_0_ext_RW0_rdata(data_arrays_0_0_ext_RW0_rdata),
+    .data_arrays_0_0_ext_RW0_wmask(data_arrays_0_0_ext_RW0_wmask)
+  );
+  ShiftQueue fq ( // @[Frontend.scala 82:57:shc.marmotcaravel.MarmotCaravelConfig.fir@209108.4]
+    .clock(fq_clock),
+    .reset(fq_reset),
+    .io_enq_ready(fq_io_enq_ready),
+    .io_enq_valid(fq_io_enq_valid),
+    .io_enq_bits_btb_taken(fq_io_enq_bits_btb_taken),
+    .io_enq_bits_btb_bridx(fq_io_enq_bits_btb_bridx),
+    .io_enq_bits_btb_entry(fq_io_enq_bits_btb_entry),
+    .io_enq_bits_btb_bht_history(fq_io_enq_bits_btb_bht_history),
+    .io_enq_bits_pc(fq_io_enq_bits_pc),
+    .io_enq_bits_data(fq_io_enq_bits_data),
+    .io_enq_bits_mask(fq_io_enq_bits_mask),
+    .io_enq_bits_xcpt_ae_inst(fq_io_enq_bits_xcpt_ae_inst),
+    .io_enq_bits_replay(fq_io_enq_bits_replay),
+    .io_deq_ready(fq_io_deq_ready),
+    .io_deq_valid(fq_io_deq_valid),
+    .io_deq_bits_btb_taken(fq_io_deq_bits_btb_taken),
+    .io_deq_bits_btb_bridx(fq_io_deq_bits_btb_bridx),
+    .io_deq_bits_btb_entry(fq_io_deq_bits_btb_entry),
+    .io_deq_bits_btb_bht_history(fq_io_deq_bits_btb_bht_history),
+    .io_deq_bits_pc(fq_io_deq_bits_pc),
+    .io_deq_bits_data(fq_io_deq_bits_data),
+    .io_deq_bits_xcpt_ae_inst(fq_io_deq_bits_xcpt_ae_inst),
+    .io_deq_bits_replay(fq_io_deq_bits_replay),
+    .io_mask(fq_io_mask)
+  );
+  TLB_1 tlb ( // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209129.4]
+    .io_req_bits_vaddr(tlb_io_req_bits_vaddr),
+    .io_resp_paddr(tlb_io_resp_paddr),
+    .io_resp_ae_inst(tlb_io_resp_ae_inst),
+    .io_ptw_pmp_0_cfg_l(tlb_io_ptw_pmp_0_cfg_l),
+    .io_ptw_pmp_0_cfg_a(tlb_io_ptw_pmp_0_cfg_a),
+    .io_ptw_pmp_0_cfg_x(tlb_io_ptw_pmp_0_cfg_x),
+    .io_ptw_pmp_0_cfg_w(tlb_io_ptw_pmp_0_cfg_w),
+    .io_ptw_pmp_0_cfg_r(tlb_io_ptw_pmp_0_cfg_r),
+    .io_ptw_pmp_0_addr(tlb_io_ptw_pmp_0_addr),
+    .io_ptw_pmp_0_mask(tlb_io_ptw_pmp_0_mask),
+    .io_ptw_pmp_1_cfg_l(tlb_io_ptw_pmp_1_cfg_l),
+    .io_ptw_pmp_1_cfg_a(tlb_io_ptw_pmp_1_cfg_a),
+    .io_ptw_pmp_1_cfg_x(tlb_io_ptw_pmp_1_cfg_x),
+    .io_ptw_pmp_1_cfg_w(tlb_io_ptw_pmp_1_cfg_w),
+    .io_ptw_pmp_1_cfg_r(tlb_io_ptw_pmp_1_cfg_r),
+    .io_ptw_pmp_1_addr(tlb_io_ptw_pmp_1_addr),
+    .io_ptw_pmp_1_mask(tlb_io_ptw_pmp_1_mask),
+    .io_ptw_pmp_2_cfg_l(tlb_io_ptw_pmp_2_cfg_l),
+    .io_ptw_pmp_2_cfg_a(tlb_io_ptw_pmp_2_cfg_a),
+    .io_ptw_pmp_2_cfg_x(tlb_io_ptw_pmp_2_cfg_x),
+    .io_ptw_pmp_2_cfg_w(tlb_io_ptw_pmp_2_cfg_w),
+    .io_ptw_pmp_2_cfg_r(tlb_io_ptw_pmp_2_cfg_r),
+    .io_ptw_pmp_2_addr(tlb_io_ptw_pmp_2_addr),
+    .io_ptw_pmp_2_mask(tlb_io_ptw_pmp_2_mask),
+    .io_ptw_pmp_3_cfg_l(tlb_io_ptw_pmp_3_cfg_l),
+    .io_ptw_pmp_3_cfg_a(tlb_io_ptw_pmp_3_cfg_a),
+    .io_ptw_pmp_3_cfg_x(tlb_io_ptw_pmp_3_cfg_x),
+    .io_ptw_pmp_3_cfg_w(tlb_io_ptw_pmp_3_cfg_w),
+    .io_ptw_pmp_3_cfg_r(tlb_io_ptw_pmp_3_cfg_r),
+    .io_ptw_pmp_3_addr(tlb_io_ptw_pmp_3_addr),
+    .io_ptw_pmp_3_mask(tlb_io_ptw_pmp_3_mask),
+    .io_ptw_pmp_4_cfg_l(tlb_io_ptw_pmp_4_cfg_l),
+    .io_ptw_pmp_4_cfg_a(tlb_io_ptw_pmp_4_cfg_a),
+    .io_ptw_pmp_4_cfg_x(tlb_io_ptw_pmp_4_cfg_x),
+    .io_ptw_pmp_4_cfg_w(tlb_io_ptw_pmp_4_cfg_w),
+    .io_ptw_pmp_4_cfg_r(tlb_io_ptw_pmp_4_cfg_r),
+    .io_ptw_pmp_4_addr(tlb_io_ptw_pmp_4_addr),
+    .io_ptw_pmp_4_mask(tlb_io_ptw_pmp_4_mask),
+    .io_ptw_pmp_5_cfg_l(tlb_io_ptw_pmp_5_cfg_l),
+    .io_ptw_pmp_5_cfg_a(tlb_io_ptw_pmp_5_cfg_a),
+    .io_ptw_pmp_5_cfg_x(tlb_io_ptw_pmp_5_cfg_x),
+    .io_ptw_pmp_5_cfg_w(tlb_io_ptw_pmp_5_cfg_w),
+    .io_ptw_pmp_5_cfg_r(tlb_io_ptw_pmp_5_cfg_r),
+    .io_ptw_pmp_5_addr(tlb_io_ptw_pmp_5_addr),
+    .io_ptw_pmp_5_mask(tlb_io_ptw_pmp_5_mask),
+    .io_ptw_pmp_6_cfg_l(tlb_io_ptw_pmp_6_cfg_l),
+    .io_ptw_pmp_6_cfg_a(tlb_io_ptw_pmp_6_cfg_a),
+    .io_ptw_pmp_6_cfg_x(tlb_io_ptw_pmp_6_cfg_x),
+    .io_ptw_pmp_6_cfg_w(tlb_io_ptw_pmp_6_cfg_w),
+    .io_ptw_pmp_6_cfg_r(tlb_io_ptw_pmp_6_cfg_r),
+    .io_ptw_pmp_6_addr(tlb_io_ptw_pmp_6_addr),
+    .io_ptw_pmp_6_mask(tlb_io_ptw_pmp_6_mask),
+    .io_ptw_pmp_7_cfg_l(tlb_io_ptw_pmp_7_cfg_l),
+    .io_ptw_pmp_7_cfg_a(tlb_io_ptw_pmp_7_cfg_a),
+    .io_ptw_pmp_7_cfg_x(tlb_io_ptw_pmp_7_cfg_x),
+    .io_ptw_pmp_7_cfg_w(tlb_io_ptw_pmp_7_cfg_w),
+    .io_ptw_pmp_7_cfg_r(tlb_io_ptw_pmp_7_cfg_r),
+    .io_ptw_pmp_7_addr(tlb_io_ptw_pmp_7_addr),
+    .io_ptw_pmp_7_mask(tlb_io_ptw_pmp_7_mask)
+  );
+  BTB btb ( // @[Frontend.scala 170:21:shc.marmotcaravel.MarmotCaravelConfig.fir@209252.4]
+    .clock(btb_clock),
+    .reset(btb_reset),
+    .io_req_bits_addr(btb_io_req_bits_addr),
+    .io_resp_valid(btb_io_resp_valid),
+    .io_resp_bits_taken(btb_io_resp_bits_taken),
+    .io_resp_bits_bridx(btb_io_resp_bits_bridx),
+    .io_resp_bits_target(btb_io_resp_bits_target),
+    .io_resp_bits_entry(btb_io_resp_bits_entry),
+    .io_resp_bits_bht_history(btb_io_resp_bits_bht_history),
+    .io_resp_bits_bht_value(btb_io_resp_bits_bht_value),
+    .io_btb_update_valid(btb_io_btb_update_valid),
+    .io_btb_update_bits_prediction_entry(btb_io_btb_update_bits_prediction_entry),
+    .io_btb_update_bits_pc(btb_io_btb_update_bits_pc),
+    .io_btb_update_bits_isValid(btb_io_btb_update_bits_isValid),
+    .io_btb_update_bits_br_pc(btb_io_btb_update_bits_br_pc),
+    .io_btb_update_bits_cfiType(btb_io_btb_update_bits_cfiType),
+    .io_bht_update_valid(btb_io_bht_update_valid),
+    .io_bht_update_bits_prediction_history(btb_io_bht_update_bits_prediction_history),
+    .io_bht_update_bits_pc(btb_io_bht_update_bits_pc),
+    .io_bht_update_bits_branch(btb_io_bht_update_bits_branch),
+    .io_bht_update_bits_taken(btb_io_bht_update_bits_taken),
+    .io_bht_update_bits_mispredict(btb_io_bht_update_bits_mispredict),
+    .io_bht_advance_valid(btb_io_bht_advance_valid),
+    .io_bht_advance_bits_bht_value(btb_io_bht_advance_bits_bht_value),
+    .io_ras_update_valid(btb_io_ras_update_valid),
+    .io_ras_update_bits_cfiType(btb_io_ras_update_bits_cfiType),
+    .io_ras_update_bits_returnAddr(btb_io_ras_update_bits_returnAddr),
+    .io_ras_head_valid(btb_io_ras_head_valid),
+    .io_ras_head_bits(btb_io_ras_head_bits),
+    .io_flush(btb_io_flush)
+  );
+  assign _T_284 = io_cpu_req_valid | io_cpu_sfence_valid; // @[Frontend.scala 86:29:shc.marmotcaravel.MarmotCaravelConfig.fir@209114.4]
+  assign _T_285 = _T_284 | io_cpu_flush_icache; // @[Frontend.scala 86:52:shc.marmotcaravel.MarmotCaravelConfig.fir@209115.4]
+  assign _T_286 = _T_285 | io_cpu_bht_update_valid; // @[Frontend.scala 86:75:shc.marmotcaravel.MarmotCaravelConfig.fir@209116.4]
+  assign _T_287 = _T_286 | io_cpu_btb_update_valid; // @[Frontend.scala 86:102:shc.marmotcaravel.MarmotCaravelConfig.fir@209117.4]
+  assign _T_288 = _T_287 == 1'h0; // @[Frontend.scala 86:10:shc.marmotcaravel.MarmotCaravelConfig.fir@209118.4]
+  assign _T_289 = _T_288 | io_cpu_might_request; // @[Frontend.scala 86:130:shc.marmotcaravel.MarmotCaravelConfig.fir@209119.4]
+  assign _T_291 = _T_289 | reset; // @[Frontend.scala 86:9:shc.marmotcaravel.MarmotCaravelConfig.fir@209121.4]
+  assign _T_292 = _T_291 == 1'h0; // @[Frontend.scala 86:9:shc.marmotcaravel.MarmotCaravelConfig.fir@209122.4]
+  assign _T_293 = fq_io_mask[2]; // @[Frontend.scala 97:49:shc.marmotcaravel.MarmotCaravelConfig.fir@209133.4]
+  assign _T_294 = _T_293 == 1'h0; // @[Frontend.scala 97:38:shc.marmotcaravel.MarmotCaravelConfig.fir@209134.4]
+  assign s0_valid = io_cpu_req_valid | _T_294; // @[Frontend.scala 97:35:shc.marmotcaravel.MarmotCaravelConfig.fir@209135.4]
+  assign _T_300 = ~ io_reset_vector; // @[Frontend.scala 331:29:shc.marmotcaravel.MarmotCaravelConfig.fir@209141.4]
+  assign _T_301 = _T_300 | 32'h1; // @[Frontend.scala 331:33:shc.marmotcaravel.MarmotCaravelConfig.fir@209142.4]
+  assign _T_302 = ~ _T_301; // @[Frontend.scala 331:27:shc.marmotcaravel.MarmotCaravelConfig.fir@209143.4]
+  assign s2_btb_taken = s2_btb_resp_valid & s2_btb_resp_bits_taken; // @[Frontend.scala 105:40:shc.marmotcaravel.MarmotCaravelConfig.fir@209147.4]
+  assign _T_309 = ~ s1_pc; // @[Frontend.scala 113:22:shc.marmotcaravel.MarmotCaravelConfig.fir@209154.4]
+  assign _T_310 = _T_309 | 32'h3; // @[Frontend.scala 113:29:shc.marmotcaravel.MarmotCaravelConfig.fir@209155.4]
+  assign s1_base_pc = ~ _T_310; // @[Frontend.scala 113:20:shc.marmotcaravel.MarmotCaravelConfig.fir@209156.4]
+  assign ntpc = s1_base_pc + 32'h4; // @[Frontend.scala 114:25:shc.marmotcaravel.MarmotCaravelConfig.fir@209158.4]
+  assign _T_315 = fq_io_enq_ready & fq_io_enq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@209167.4]
+  assign _T_316 = _T_315 == 1'h0; // @[Frontend.scala 119:29:shc.marmotcaravel.MarmotCaravelConfig.fir@209168.4]
+  assign _T_317 = s2_valid & _T_316; // @[Frontend.scala 119:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209169.4]
+  assign _T_318 = s0_valid == 1'h0; // @[Frontend.scala 119:72:shc.marmotcaravel.MarmotCaravelConfig.fir@209170.4]
+  assign s2_replay = _T_317 | _T_321; // @[Frontend.scala 119:48:shc.marmotcaravel.MarmotCaravelConfig.fir@209174.4]
+  assign _T_319 = s2_replay & _T_318; // @[Frontend.scala 119:69:shc.marmotcaravel.MarmotCaravelConfig.fir@209171.4]
+  assign _T_379 = s2_partial_insn[1:0]; // @[Frontend.scala 199:39:shc.marmotcaravel.MarmotCaravelConfig.fir@209316.4]
+  assign _T_380 = _T_379 != 2'h3; // @[Frontend.scala 199:45:shc.marmotcaravel.MarmotCaravelConfig.fir@209317.4]
+  assign _T_381 = _T_380 == 1'h0; // @[Frontend.scala 200:34:shc.marmotcaravel.MarmotCaravelConfig.fir@209318.4]
+  assign taken_prevRVI = s2_partial_insn_valid & _T_381; // @[Frontend.scala 200:31:shc.marmotcaravel.MarmotCaravelConfig.fir@209319.4]
+  assign taken_bits = fq_io_enq_bits_data[15:0]; // @[Frontend.scala 202:37:shc.marmotcaravel.MarmotCaravelConfig.fir@209323.4]
+  assign taken_rviBits = {taken_bits,s2_partial_insn}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209326.4]
+  assign _T_386 = taken_rviBits[6:0]; // @[Frontend.scala 206:28:shc.marmotcaravel.MarmotCaravelConfig.fir@209329.4]
+  assign taken_rviJump = _T_386 == 7'h6f; // @[Frontend.scala 206:34:shc.marmotcaravel.MarmotCaravelConfig.fir@209330.4]
+  assign taken_rviJALR = _T_386 == 7'h67; // @[Frontend.scala 207:34:shc.marmotcaravel.MarmotCaravelConfig.fir@209332.4]
+  assign _T_574 = taken_rviJump | taken_rviJALR; // @[Frontend.scala 221:29:shc.marmotcaravel.MarmotCaravelConfig.fir@209531.4]
+  assign taken_rviBranch = _T_386 == 7'h63; // @[Frontend.scala 205:36:shc.marmotcaravel.MarmotCaravelConfig.fir@209328.4]
+  assign _T_575 = taken_rviBranch & s2_btb_resp_bits_bht_value; // @[Frontend.scala 221:53:shc.marmotcaravel.MarmotCaravelConfig.fir@209532.4]
+  assign _T_576 = _T_574 | _T_575; // @[Frontend.scala 221:40:shc.marmotcaravel.MarmotCaravelConfig.fir@209533.4]
+  assign _T_577 = taken_prevRVI & _T_576; // @[Frontend.scala 221:17:shc.marmotcaravel.MarmotCaravelConfig.fir@209534.4]
+  assign _T_382 = fq_io_enq_bits_mask[0]; // @[Frontend.scala 201:38:shc.marmotcaravel.MarmotCaravelConfig.fir@209320.4]
+  assign _T_383 = taken_prevRVI == 1'h0; // @[Frontend.scala 201:47:shc.marmotcaravel.MarmotCaravelConfig.fir@209321.4]
+  assign taken_valid = _T_382 & _T_383; // @[Frontend.scala 201:44:shc.marmotcaravel.MarmotCaravelConfig.fir@209322.4]
+  assign _T_402 = taken_bits & 16'he003; // @[Frontend.scala 212:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209351.4]
+  assign _T_403 = 16'ha001 == _T_402; // @[Frontend.scala 212:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209352.4]
+  assign taken_rvcJAL = 16'h2001 == _T_402; // @[Frontend.scala 211:45:shc.marmotcaravel.MarmotCaravelConfig.fir@209349.4]
+  assign taken_rvcJump = _T_403 | taken_rvcJAL; // @[Frontend.scala 212:47:shc.marmotcaravel.MarmotCaravelConfig.fir@209353.4]
+  assign _T_444 = taken_bits & 16'hf003; // @[Frontend.scala 216:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209397.4]
+  assign _T_445 = 16'h9002 == _T_444; // @[Frontend.scala 216:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209398.4]
+  assign _T_446 = taken_bits[6:2]; // @[Frontend.scala 216:56:shc.marmotcaravel.MarmotCaravelConfig.fir@209399.4]
+  assign _T_447 = _T_446 == 5'h0; // @[Frontend.scala 216:62:shc.marmotcaravel.MarmotCaravelConfig.fir@209400.4]
+  assign taken_rvcJALR = _T_445 & _T_447; // @[Frontend.scala 216:49:shc.marmotcaravel.MarmotCaravelConfig.fir@209401.4]
+  assign _T_578 = taken_rvcJump | taken_rvcJALR; // @[Frontend.scala 222:27:shc.marmotcaravel.MarmotCaravelConfig.fir@209535.4]
+  assign _T_438 = 16'h8002 == _T_444; // @[Frontend.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@209389.4]
+  assign taken_rvcJR = _T_438 & _T_447; // @[Frontend.scala 214:46:shc.marmotcaravel.MarmotCaravelConfig.fir@209392.4]
+  assign _T_579 = _T_578 | taken_rvcJR; // @[Frontend.scala 222:38:shc.marmotcaravel.MarmotCaravelConfig.fir@209536.4]
+  assign _T_397 = 16'hc001 == _T_402; // @[Frontend.scala 210:28:shc.marmotcaravel.MarmotCaravelConfig.fir@209344.4]
+  assign _T_399 = 16'he001 == _T_402; // @[Frontend.scala 210:60:shc.marmotcaravel.MarmotCaravelConfig.fir@209346.4]
+  assign taken_rvcBranch = _T_397 | _T_399; // @[Frontend.scala 210:52:shc.marmotcaravel.MarmotCaravelConfig.fir@209347.4]
+  assign _T_580 = taken_rvcBranch & s2_btb_resp_bits_bht_value; // @[Frontend.scala 222:60:shc.marmotcaravel.MarmotCaravelConfig.fir@209537.4]
+  assign _T_581 = _T_579 | _T_580; // @[Frontend.scala 222:47:shc.marmotcaravel.MarmotCaravelConfig.fir@209538.4]
+  assign _T_582 = taken_valid & _T_581; // @[Frontend.scala 222:15:shc.marmotcaravel.MarmotCaravelConfig.fir@209539.4]
+  assign taken_taken = _T_577 | _T_582; // @[Frontend.scala 221:71:shc.marmotcaravel.MarmotCaravelConfig.fir@209540.4]
+  assign taken_idx = taken_taken == 1'h0; // @[Frontend.scala 236:13:shc.marmotcaravel.MarmotCaravelConfig.fir@209885.4]
+  assign _T_882 = s2_btb_taken == 1'h0; // @[Frontend.scala 245:15:shc.marmotcaravel.MarmotCaravelConfig.fir@209908.6]
+  assign _T_646 = taken_bits[1:0]; // @[Frontend.scala 199:39:shc.marmotcaravel.MarmotCaravelConfig.fir@209638.4]
+  assign _T_647 = _T_646 != 2'h3; // @[Frontend.scala 199:45:shc.marmotcaravel.MarmotCaravelConfig.fir@209639.4]
+  assign _T_648 = _T_647 == 1'h0; // @[Frontend.scala 200:34:shc.marmotcaravel.MarmotCaravelConfig.fir@209640.4]
+  assign taken_prevRVI_1 = taken_valid & _T_648; // @[Frontend.scala 200:31:shc.marmotcaravel.MarmotCaravelConfig.fir@209641.4]
+  assign taken_bits_1 = fq_io_enq_bits_data[31:16]; // @[Frontend.scala 202:37:shc.marmotcaravel.MarmotCaravelConfig.fir@209645.4]
+  assign taken_rviBits_1 = {taken_bits_1,taken_bits}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209648.4]
+  assign _T_654 = taken_rviBits_1[6:0]; // @[Frontend.scala 207:28:shc.marmotcaravel.MarmotCaravelConfig.fir@209653.4]
+  assign taken_rviJALR_1 = _T_654 == 7'h67; // @[Frontend.scala 207:34:shc.marmotcaravel.MarmotCaravelConfig.fir@209654.4]
+  assign _T_655 = taken_rviBits_1[7]; // @[Frontend.scala 208:42:shc.marmotcaravel.MarmotCaravelConfig.fir@209655.4]
+  assign _T_656 = _T_655 == 1'h0; // @[Frontend.scala 208:34:shc.marmotcaravel.MarmotCaravelConfig.fir@209656.4]
+  assign _T_657 = taken_rviJALR_1 & _T_656; // @[Frontend.scala 208:31:shc.marmotcaravel.MarmotCaravelConfig.fir@209657.4]
+  assign _T_658 = taken_rviBits_1[19:15]; // @[Frontend.scala 208:77:shc.marmotcaravel.MarmotCaravelConfig.fir@209658.4]
+  assign _T_659 = _T_658 & 5'h1b; // @[Frontend.scala 208:66:shc.marmotcaravel.MarmotCaravelConfig.fir@209659.4]
+  assign _T_660 = 5'h1 == _T_659; // @[Frontend.scala 208:66:shc.marmotcaravel.MarmotCaravelConfig.fir@209660.4]
+  assign taken_rviReturn_1 = _T_657 & _T_660; // @[Frontend.scala 208:46:shc.marmotcaravel.MarmotCaravelConfig.fir@209661.4]
+  assign _T_850 = taken_prevRVI_1 & taken_rviReturn_1; // @[Frontend.scala 223:61:shc.marmotcaravel.MarmotCaravelConfig.fir@209863.4]
+  assign _T_649 = fq_io_enq_bits_mask[1]; // @[Frontend.scala 201:38:shc.marmotcaravel.MarmotCaravelConfig.fir@209642.4]
+  assign _T_650 = taken_prevRVI_1 == 1'h0; // @[Frontend.scala 201:47:shc.marmotcaravel.MarmotCaravelConfig.fir@209643.4]
+  assign taken_valid_1 = _T_649 & _T_650; // @[Frontend.scala 201:44:shc.marmotcaravel.MarmotCaravelConfig.fir@209644.4]
+  assign _T_704 = taken_bits_1 & 16'hf003; // @[Frontend.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@209710.4]
+  assign _T_705 = 16'h8002 == _T_704; // @[Frontend.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@209711.4]
+  assign _T_706 = taken_bits_1[6:2]; // @[Frontend.scala 214:53:shc.marmotcaravel.MarmotCaravelConfig.fir@209712.4]
+  assign _T_707 = _T_706 == 5'h0; // @[Frontend.scala 214:59:shc.marmotcaravel.MarmotCaravelConfig.fir@209713.4]
+  assign taken_rvcJR_1 = _T_705 & _T_707; // @[Frontend.scala 214:46:shc.marmotcaravel.MarmotCaravelConfig.fir@209714.4]
+  assign _T_708 = taken_bits_1[11:7]; // @[Frontend.scala 215:57:shc.marmotcaravel.MarmotCaravelConfig.fir@209715.4]
+  assign _T_709 = _T_708 & 5'h1b; // @[Frontend.scala 215:49:shc.marmotcaravel.MarmotCaravelConfig.fir@209716.4]
+  assign _T_710 = 5'h1 == _T_709; // @[Frontend.scala 215:49:shc.marmotcaravel.MarmotCaravelConfig.fir@209717.4]
+  assign taken_rvcReturn_1 = taken_rvcJR_1 & _T_710; // @[Frontend.scala 215:29:shc.marmotcaravel.MarmotCaravelConfig.fir@209718.4]
+  assign _T_851 = taken_valid_1 & taken_rvcReturn_1; // @[Frontend.scala 223:83:shc.marmotcaravel.MarmotCaravelConfig.fir@209864.4]
+  assign _T_852 = _T_850 | _T_851; // @[Frontend.scala 223:74:shc.marmotcaravel.MarmotCaravelConfig.fir@209865.4]
+  assign taken_predictReturn_1 = btb_io_ras_head_valid & _T_852; // @[Frontend.scala 223:49:shc.marmotcaravel.MarmotCaravelConfig.fir@209866.4]
+  assign _T_891 = s2_valid & taken_predictReturn_1; // @[Frontend.scala 249:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209921.8]
+  assign _T_388 = taken_rviBits[7]; // @[Frontend.scala 208:42:shc.marmotcaravel.MarmotCaravelConfig.fir@209333.4]
+  assign _T_389 = _T_388 == 1'h0; // @[Frontend.scala 208:34:shc.marmotcaravel.MarmotCaravelConfig.fir@209334.4]
+  assign _T_390 = taken_rviJALR & _T_389; // @[Frontend.scala 208:31:shc.marmotcaravel.MarmotCaravelConfig.fir@209335.4]
+  assign _T_391 = taken_rviBits[19:15]; // @[Frontend.scala 208:77:shc.marmotcaravel.MarmotCaravelConfig.fir@209336.4]
+  assign _T_392 = _T_391 & 5'h1b; // @[Frontend.scala 208:66:shc.marmotcaravel.MarmotCaravelConfig.fir@209337.4]
+  assign _T_393 = 5'h1 == _T_392; // @[Frontend.scala 208:66:shc.marmotcaravel.MarmotCaravelConfig.fir@209338.4]
+  assign taken_rviReturn = _T_390 & _T_393; // @[Frontend.scala 208:46:shc.marmotcaravel.MarmotCaravelConfig.fir@209339.4]
+  assign _T_583 = taken_prevRVI & taken_rviReturn; // @[Frontend.scala 223:61:shc.marmotcaravel.MarmotCaravelConfig.fir@209541.4]
+  assign _T_441 = taken_bits[11:7]; // @[Frontend.scala 215:57:shc.marmotcaravel.MarmotCaravelConfig.fir@209393.4]
+  assign _T_442 = _T_441 & 5'h1b; // @[Frontend.scala 215:49:shc.marmotcaravel.MarmotCaravelConfig.fir@209394.4]
+  assign _T_443 = 5'h1 == _T_442; // @[Frontend.scala 215:49:shc.marmotcaravel.MarmotCaravelConfig.fir@209395.4]
+  assign taken_rvcReturn = taken_rvcJR & _T_443; // @[Frontend.scala 215:29:shc.marmotcaravel.MarmotCaravelConfig.fir@209396.4]
+  assign _T_584 = taken_valid & taken_rvcReturn; // @[Frontend.scala 223:83:shc.marmotcaravel.MarmotCaravelConfig.fir@209542.4]
+  assign _T_585 = _T_583 | _T_584; // @[Frontend.scala 223:74:shc.marmotcaravel.MarmotCaravelConfig.fir@209543.4]
+  assign taken_predictReturn = btb_io_ras_head_valid & _T_585; // @[Frontend.scala 223:49:shc.marmotcaravel.MarmotCaravelConfig.fir@209544.4]
+  assign _T_624 = s2_valid & taken_predictReturn; // @[Frontend.scala 249:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209599.8]
+  assign _GEN_44 = _T_882 ? _T_624 : 1'h0; // @[Frontend.scala 245:30:shc.marmotcaravel.MarmotCaravelConfig.fir@209587.6]
+  assign _GEN_77 = _T_891 ? 1'h1 : _GEN_44; // @[Frontend.scala 249:44:shc.marmotcaravel.MarmotCaravelConfig.fir@209922.8]
+  assign _GEN_80 = _T_882 ? _GEN_77 : _GEN_44; // @[Frontend.scala 245:30:shc.marmotcaravel.MarmotCaravelConfig.fir@209909.6]
+  assign useRAS = taken_idx ? _GEN_80 : _GEN_44; // @[Frontend.scala 236:25:shc.marmotcaravel.MarmotCaravelConfig.fir@209886.4]
+  assign taken_rviBranch_1 = _T_654 == 7'h63; // @[Frontend.scala 205:36:shc.marmotcaravel.MarmotCaravelConfig.fir@209650.4]
+  assign _T_855 = taken_prevRVI_1 & taken_rviBranch_1; // @[Frontend.scala 225:53:shc.marmotcaravel.MarmotCaravelConfig.fir@209870.4]
+  assign _T_663 = taken_bits_1 & 16'he003; // @[Frontend.scala 210:28:shc.marmotcaravel.MarmotCaravelConfig.fir@209665.4]
+  assign _T_664 = 16'hc001 == _T_663; // @[Frontend.scala 210:28:shc.marmotcaravel.MarmotCaravelConfig.fir@209666.4]
+  assign _T_666 = 16'he001 == _T_663; // @[Frontend.scala 210:60:shc.marmotcaravel.MarmotCaravelConfig.fir@209668.4]
+  assign taken_rvcBranch_1 = _T_664 | _T_666; // @[Frontend.scala 210:52:shc.marmotcaravel.MarmotCaravelConfig.fir@209669.4]
+  assign _T_856 = taken_valid_1 & taken_rvcBranch_1; // @[Frontend.scala 225:75:shc.marmotcaravel.MarmotCaravelConfig.fir@209871.4]
+  assign _T_857 = _T_855 | _T_856; // @[Frontend.scala 225:66:shc.marmotcaravel.MarmotCaravelConfig.fir@209872.4]
+  assign taken_predictBranch_1 = s2_btb_resp_bits_bht_value & _T_857; // @[Frontend.scala 225:41:shc.marmotcaravel.MarmotCaravelConfig.fir@209873.4]
+  assign taken_rviJump_1 = _T_654 == 7'h6f; // @[Frontend.scala 206:34:shc.marmotcaravel.MarmotCaravelConfig.fir@209652.4]
+  assign _T_853 = taken_prevRVI_1 & taken_rviJump_1; // @[Frontend.scala 224:33:shc.marmotcaravel.MarmotCaravelConfig.fir@209867.4]
+  assign _T_670 = 16'ha001 == _T_663; // @[Frontend.scala 212:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209674.4]
+  assign taken_rvcJAL_1 = 16'h2001 == _T_663; // @[Frontend.scala 211:45:shc.marmotcaravel.MarmotCaravelConfig.fir@209671.4]
+  assign taken_rvcJump_1 = _T_670 | taken_rvcJAL_1; // @[Frontend.scala 212:47:shc.marmotcaravel.MarmotCaravelConfig.fir@209675.4]
+  assign _T_854 = taken_valid_1 & taken_rvcJump_1; // @[Frontend.scala 224:53:shc.marmotcaravel.MarmotCaravelConfig.fir@209868.4]
+  assign taken_predictJump_1 = _T_853 | _T_854; // @[Frontend.scala 224:44:shc.marmotcaravel.MarmotCaravelConfig.fir@209869.4]
+  assign _T_892 = taken_predictBranch_1 | taken_predictJump_1; // @[Frontend.scala 252:44:shc.marmotcaravel.MarmotCaravelConfig.fir@209925.8]
+  assign _T_893 = s2_valid & _T_892; // @[Frontend.scala 252:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209926.8]
+  assign _T_361 = ~ s2_pc; // @[Frontend.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@209281.4]
+  assign _T_362 = _T_361 | 32'h3; // @[Frontend.scala 192:31:shc.marmotcaravel.MarmotCaravelConfig.fir@209282.4]
+  assign s2_base_pc = ~ _T_362; // @[Frontend.scala 192:22:shc.marmotcaravel.MarmotCaravelConfig.fir@209283.4]
+  assign taken_pc_1 = s2_base_pc | 32'h2; // @[Frontend.scala 253:33:shc.marmotcaravel.MarmotCaravelConfig.fir@209928.10]
+  assign _T_894 = taken_pc_1 - 32'h2; // @[Frontend.scala 256:36:shc.marmotcaravel.MarmotCaravelConfig.fir@209929.10]
+  assign _T_895 = $unsigned(_T_894); // @[Frontend.scala 256:36:shc.marmotcaravel.MarmotCaravelConfig.fir@209930.10]
+  assign _T_896 = _T_895[31:0]; // @[Frontend.scala 256:36:shc.marmotcaravel.MarmotCaravelConfig.fir@209931.10]
+  assign _T_897 = taken_prevRVI_1 ? _T_896 : taken_pc_1; // @[Frontend.scala 256:23:shc.marmotcaravel.MarmotCaravelConfig.fir@209932.10]
+  assign _T_898 = $signed(_T_897); // @[Frontend.scala 256:57:shc.marmotcaravel.MarmotCaravelConfig.fir@209933.10]
+  assign _T_715 = taken_rviBits_1[3]; // @[Frontend.scala 218:31:shc.marmotcaravel.MarmotCaravelConfig.fir@209725.4]
+  assign _T_717 = taken_rviBits_1[31]; // @[RocketCore.scala 932:48:shc.marmotcaravel.MarmotCaravelConfig.fir@209727.4]
+  assign _T_718 = $signed(_T_717); // @[RocketCore.scala 932:53:shc.marmotcaravel.MarmotCaravelConfig.fir@209728.4]
+  assign _T_773 = $unsigned(_T_718); // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209783.4]
+  assign _T_723 = {11{_T_718}}; // @[RocketCore.scala 933:21:shc.marmotcaravel.MarmotCaravelConfig.fir@209733.4]
+  assign _T_772 = $unsigned(_T_723); // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209782.4]
+  assign _T_774 = {_T_773,_T_772}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209784.4]
+  assign _T_727 = taken_rviBits_1[19:12]; // @[RocketCore.scala 934:65:shc.marmotcaravel.MarmotCaravelConfig.fir@209737.4]
+  assign _T_728 = $signed(_T_727); // @[RocketCore.scala 934:73:shc.marmotcaravel.MarmotCaravelConfig.fir@209738.4]
+  assign _T_770 = $unsigned(_T_728); // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209780.4]
+  assign _T_734 = taken_rviBits_1[20]; // @[RocketCore.scala 936:39:shc.marmotcaravel.MarmotCaravelConfig.fir@209744.4]
+  assign _T_735 = $signed(_T_734); // @[RocketCore.scala 936:44:shc.marmotcaravel.MarmotCaravelConfig.fir@209745.4]
+  assign _T_738 = $signed(_T_655); // @[RocketCore.scala 937:43:shc.marmotcaravel.MarmotCaravelConfig.fir@209748.4]
+  assign _T_769 = $unsigned(_T_735); // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209779.4]
+  assign _T_771 = {_T_770,_T_769}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209781.4]
+  assign _T_775 = {_T_774,_T_771}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209785.4]
+  assign _T_745 = taken_rviBits_1[30:25]; // @[RocketCore.scala 938:66:shc.marmotcaravel.MarmotCaravelConfig.fir@209755.4]
+  assign _T_751 = taken_rviBits_1[11:8]; // @[RocketCore.scala 940:57:shc.marmotcaravel.MarmotCaravelConfig.fir@209761.4]
+  assign _T_754 = taken_rviBits_1[24:21]; // @[RocketCore.scala 941:52:shc.marmotcaravel.MarmotCaravelConfig.fir@209764.4]
+  assign _T_767 = {_T_745,_T_754}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209777.4]
+  assign _T_768 = {_T_767,1'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209778.4]
+  assign _T_776 = {_T_775,_T_768}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209786.4]
+  assign _T_777 = $signed(_T_776); // @[RocketCore.scala 946:53:shc.marmotcaravel.MarmotCaravelConfig.fir@209787.4]
+  assign _T_791 = {8{_T_718}}; // @[RocketCore.scala 934:21:shc.marmotcaravel.MarmotCaravelConfig.fir@209801.4]
+  assign _T_832 = $unsigned(_T_791); // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209842.4]
+  assign _T_831 = $unsigned(_T_738); // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209841.4]
+  assign _T_833 = {_T_832,_T_831}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209843.4]
+  assign _T_837 = {_T_774,_T_833}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209847.4]
+  assign _T_829 = {_T_745,_T_751}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209839.4]
+  assign _T_830 = {_T_829,1'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209840.4]
+  assign _T_838 = {_T_837,_T_830}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209848.4]
+  assign _T_839 = $signed(_T_838); // @[RocketCore.scala 946:53:shc.marmotcaravel.MarmotCaravelConfig.fir@209849.4]
+  assign taken_rviImm_1 = _T_715 ? $signed(_T_777) : $signed(_T_839); // @[Frontend.scala 218:23:shc.marmotcaravel.MarmotCaravelConfig.fir@209850.4]
+  assign _T_671 = taken_bits_1[14]; // @[Frontend.scala 213:28:shc.marmotcaravel.MarmotCaravelConfig.fir@209676.4]
+  assign _T_672 = taken_bits_1[12]; // @[RVC.scala 45:27:shc.marmotcaravel.MarmotCaravelConfig.fir@209677.4]
+  assign _T_674 = _T_672 ? 5'h1f : 5'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@209679.4]
+  assign _T_675 = taken_bits_1[6:5]; // @[RVC.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@209680.4]
+  assign _T_681 = {_T_674,_T_675}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209686.4]
+  assign _T_676 = taken_bits_1[2]; // @[RVC.scala 45:43:shc.marmotcaravel.MarmotCaravelConfig.fir@209681.4]
+  assign _T_682 = {_T_681,_T_676}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209687.4]
+  assign _T_677 = taken_bits_1[11:10]; // @[RVC.scala 45:49:shc.marmotcaravel.MarmotCaravelConfig.fir@209682.4]
+  assign _T_678 = taken_bits_1[4:3]; // @[RVC.scala 45:59:shc.marmotcaravel.MarmotCaravelConfig.fir@209683.4]
+  assign _T_679 = {_T_677,_T_678}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209684.4]
+  assign _T_680 = {_T_679,1'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209685.4]
+  assign _T_683 = {_T_682,_T_680}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209688.4]
+  assign _T_684 = $signed(_T_683); // @[Frontend.scala 213:66:shc.marmotcaravel.MarmotCaravelConfig.fir@209689.4]
+  assign _T_687 = _T_672 ? 10'h3ff : 10'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@209692.4]
+  assign _T_688 = taken_bits_1[8]; // @[RVC.scala 44:36:shc.marmotcaravel.MarmotCaravelConfig.fir@209693.4]
+  assign _T_699 = {_T_687,_T_688}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209704.4]
+  assign _T_689 = taken_bits_1[10:9]; // @[RVC.scala 44:42:shc.marmotcaravel.MarmotCaravelConfig.fir@209694.4]
+  assign _T_700 = {_T_699,_T_689}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209705.4]
+  assign _T_690 = taken_bits_1[6]; // @[RVC.scala 44:51:shc.marmotcaravel.MarmotCaravelConfig.fir@209695.4]
+  assign _T_691 = taken_bits_1[7]; // @[RVC.scala 44:57:shc.marmotcaravel.MarmotCaravelConfig.fir@209696.4]
+  assign _T_698 = {_T_690,_T_691}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209703.4]
+  assign _T_701 = {_T_700,_T_698}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209706.4]
+  assign _T_693 = taken_bits_1[11]; // @[RVC.scala 44:69:shc.marmotcaravel.MarmotCaravelConfig.fir@209698.4]
+  assign _T_696 = {_T_676,_T_693}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209701.4]
+  assign _T_694 = taken_bits_1[5:3]; // @[RVC.scala 44:76:shc.marmotcaravel.MarmotCaravelConfig.fir@209699.4]
+  assign _T_695 = {_T_694,1'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209700.4]
+  assign _T_697 = {_T_696,_T_695}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209702.4]
+  assign _T_702 = {_T_701,_T_697}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209707.4]
+  assign _T_703 = $signed(_T_702); // @[Frontend.scala 213:106:shc.marmotcaravel.MarmotCaravelConfig.fir@209708.4]
+  assign taken_rvcImm_1 = _T_671 ? $signed({{8{_T_684[12]}},_T_684}) : $signed(_T_703); // @[Frontend.scala 213:23:shc.marmotcaravel.MarmotCaravelConfig.fir@209709.4]
+  assign _T_899 = taken_prevRVI_1 ? $signed(taken_rviImm_1) : $signed({{11{taken_rvcImm_1[20]}},taken_rvcImm_1}); // @[Frontend.scala 256:69:shc.marmotcaravel.MarmotCaravelConfig.fir@209934.10]
+  assign _T_901 = $signed(_T_898) + $signed(_T_899); // @[Frontend.scala 256:64:shc.marmotcaravel.MarmotCaravelConfig.fir@209936.10]
+  assign taken_npc_1 = $signed(_T_901); // @[Frontend.scala 256:64:shc.marmotcaravel.MarmotCaravelConfig.fir@209937.10]
+  assign _T_902 = $unsigned(taken_npc_1); // @[Frontend.scala 257:34:shc.marmotcaravel.MarmotCaravelConfig.fir@209938.10]
+  assign _T_588 = taken_prevRVI & taken_rviBranch; // @[Frontend.scala 225:53:shc.marmotcaravel.MarmotCaravelConfig.fir@209548.4]
+  assign _T_589 = taken_valid & taken_rvcBranch; // @[Frontend.scala 225:75:shc.marmotcaravel.MarmotCaravelConfig.fir@209549.4]
+  assign _T_590 = _T_588 | _T_589; // @[Frontend.scala 225:66:shc.marmotcaravel.MarmotCaravelConfig.fir@209550.4]
+  assign taken_predictBranch = s2_btb_resp_bits_bht_value & _T_590; // @[Frontend.scala 225:41:shc.marmotcaravel.MarmotCaravelConfig.fir@209551.4]
+  assign _T_586 = taken_prevRVI & taken_rviJump; // @[Frontend.scala 224:33:shc.marmotcaravel.MarmotCaravelConfig.fir@209545.4]
+  assign _T_587 = taken_valid & taken_rvcJump; // @[Frontend.scala 224:53:shc.marmotcaravel.MarmotCaravelConfig.fir@209546.4]
+  assign taken_predictJump = _T_586 | _T_587; // @[Frontend.scala 224:44:shc.marmotcaravel.MarmotCaravelConfig.fir@209547.4]
+  assign _T_625 = taken_predictBranch | taken_predictJump; // @[Frontend.scala 252:44:shc.marmotcaravel.MarmotCaravelConfig.fir@209603.8]
+  assign _T_626 = s2_valid & _T_625; // @[Frontend.scala 252:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209604.8]
+  assign _T_627 = $signed(s2_base_pc); // @[Frontend.scala 255:32:shc.marmotcaravel.MarmotCaravelConfig.fir@209607.10]
+  assign _T_448 = taken_rviBits[3]; // @[Frontend.scala 218:31:shc.marmotcaravel.MarmotCaravelConfig.fir@209403.4]
+  assign _T_450 = taken_rviBits[31]; // @[RocketCore.scala 932:48:shc.marmotcaravel.MarmotCaravelConfig.fir@209405.4]
+  assign _T_451 = $signed(_T_450); // @[RocketCore.scala 932:53:shc.marmotcaravel.MarmotCaravelConfig.fir@209406.4]
+  assign _T_506 = $unsigned(_T_451); // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209461.4]
+  assign _T_456 = {11{_T_451}}; // @[RocketCore.scala 933:21:shc.marmotcaravel.MarmotCaravelConfig.fir@209411.4]
+  assign _T_505 = $unsigned(_T_456); // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209460.4]
+  assign _T_507 = {_T_506,_T_505}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209462.4]
+  assign _T_460 = taken_rviBits[19:12]; // @[RocketCore.scala 934:65:shc.marmotcaravel.MarmotCaravelConfig.fir@209415.4]
+  assign _T_461 = $signed(_T_460); // @[RocketCore.scala 934:73:shc.marmotcaravel.MarmotCaravelConfig.fir@209416.4]
+  assign _T_503 = $unsigned(_T_461); // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209458.4]
+  assign _T_467 = taken_rviBits[20]; // @[RocketCore.scala 936:39:shc.marmotcaravel.MarmotCaravelConfig.fir@209422.4]
+  assign _T_468 = $signed(_T_467); // @[RocketCore.scala 936:44:shc.marmotcaravel.MarmotCaravelConfig.fir@209423.4]
+  assign _T_471 = $signed(_T_388); // @[RocketCore.scala 937:43:shc.marmotcaravel.MarmotCaravelConfig.fir@209426.4]
+  assign _T_502 = $unsigned(_T_468); // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209457.4]
+  assign _T_504 = {_T_503,_T_502}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209459.4]
+  assign _T_508 = {_T_507,_T_504}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209463.4]
+  assign _T_478 = taken_rviBits[30:25]; // @[RocketCore.scala 938:66:shc.marmotcaravel.MarmotCaravelConfig.fir@209433.4]
+  assign _T_484 = taken_rviBits[11:8]; // @[RocketCore.scala 940:57:shc.marmotcaravel.MarmotCaravelConfig.fir@209439.4]
+  assign _T_487 = taken_rviBits[24:21]; // @[RocketCore.scala 941:52:shc.marmotcaravel.MarmotCaravelConfig.fir@209442.4]
+  assign _T_500 = {_T_478,_T_487}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209455.4]
+  assign _T_501 = {_T_500,1'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209456.4]
+  assign _T_509 = {_T_508,_T_501}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209464.4]
+  assign _T_510 = $signed(_T_509); // @[RocketCore.scala 946:53:shc.marmotcaravel.MarmotCaravelConfig.fir@209465.4]
+  assign _T_524 = {8{_T_451}}; // @[RocketCore.scala 934:21:shc.marmotcaravel.MarmotCaravelConfig.fir@209479.4]
+  assign _T_565 = $unsigned(_T_524); // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209520.4]
+  assign _T_564 = $unsigned(_T_471); // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209519.4]
+  assign _T_566 = {_T_565,_T_564}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209521.4]
+  assign _T_570 = {_T_507,_T_566}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209525.4]
+  assign _T_562 = {_T_478,_T_484}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209517.4]
+  assign _T_563 = {_T_562,1'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209518.4]
+  assign _T_571 = {_T_570,_T_563}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209526.4]
+  assign _T_572 = $signed(_T_571); // @[RocketCore.scala 946:53:shc.marmotcaravel.MarmotCaravelConfig.fir@209527.4]
+  assign taken_rviImm = _T_448 ? $signed(_T_510) : $signed(_T_572); // @[Frontend.scala 218:23:shc.marmotcaravel.MarmotCaravelConfig.fir@209528.4]
+  assign _T_628 = $signed(taken_rviImm) - $signed(32'sh2); // @[Frontend.scala 255:61:shc.marmotcaravel.MarmotCaravelConfig.fir@209608.10]
+  assign _T_404 = taken_bits[14]; // @[Frontend.scala 213:28:shc.marmotcaravel.MarmotCaravelConfig.fir@209354.4]
+  assign _T_405 = taken_bits[12]; // @[RVC.scala 45:27:shc.marmotcaravel.MarmotCaravelConfig.fir@209355.4]
+  assign _T_407 = _T_405 ? 5'h1f : 5'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@209357.4]
+  assign _T_408 = taken_bits[6:5]; // @[RVC.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@209358.4]
+  assign _T_414 = {_T_407,_T_408}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209364.4]
+  assign _T_409 = taken_bits[2]; // @[RVC.scala 45:43:shc.marmotcaravel.MarmotCaravelConfig.fir@209359.4]
+  assign _T_415 = {_T_414,_T_409}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209365.4]
+  assign _T_410 = taken_bits[11:10]; // @[RVC.scala 45:49:shc.marmotcaravel.MarmotCaravelConfig.fir@209360.4]
+  assign _T_411 = taken_bits[4:3]; // @[RVC.scala 45:59:shc.marmotcaravel.MarmotCaravelConfig.fir@209361.4]
+  assign _T_412 = {_T_410,_T_411}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209362.4]
+  assign _T_413 = {_T_412,1'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209363.4]
+  assign _T_416 = {_T_415,_T_413}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209366.4]
+  assign _T_417 = $signed(_T_416); // @[Frontend.scala 213:66:shc.marmotcaravel.MarmotCaravelConfig.fir@209367.4]
+  assign _T_420 = _T_405 ? 10'h3ff : 10'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@209370.4]
+  assign _T_421 = taken_bits[8]; // @[RVC.scala 44:36:shc.marmotcaravel.MarmotCaravelConfig.fir@209371.4]
+  assign _T_432 = {_T_420,_T_421}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209382.4]
+  assign _T_422 = taken_bits[10:9]; // @[RVC.scala 44:42:shc.marmotcaravel.MarmotCaravelConfig.fir@209372.4]
+  assign _T_433 = {_T_432,_T_422}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209383.4]
+  assign _T_423 = taken_bits[6]; // @[RVC.scala 44:51:shc.marmotcaravel.MarmotCaravelConfig.fir@209373.4]
+  assign _T_424 = taken_bits[7]; // @[RVC.scala 44:57:shc.marmotcaravel.MarmotCaravelConfig.fir@209374.4]
+  assign _T_431 = {_T_423,_T_424}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209381.4]
+  assign _T_434 = {_T_433,_T_431}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209384.4]
+  assign _T_426 = taken_bits[11]; // @[RVC.scala 44:69:shc.marmotcaravel.MarmotCaravelConfig.fir@209376.4]
+  assign _T_429 = {_T_409,_T_426}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209379.4]
+  assign _T_427 = taken_bits[5:3]; // @[RVC.scala 44:76:shc.marmotcaravel.MarmotCaravelConfig.fir@209377.4]
+  assign _T_428 = {_T_427,1'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209378.4]
+  assign _T_430 = {_T_429,_T_428}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209380.4]
+  assign _T_435 = {_T_434,_T_430}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209385.4]
+  assign _T_436 = $signed(_T_435); // @[Frontend.scala 213:106:shc.marmotcaravel.MarmotCaravelConfig.fir@209386.4]
+  assign taken_rvcImm = _T_404 ? $signed({{8{_T_417[12]}},_T_417}) : $signed(_T_436); // @[Frontend.scala 213:23:shc.marmotcaravel.MarmotCaravelConfig.fir@209387.4]
+  assign _T_629 = taken_prevRVI ? $signed(_T_628) : $signed({{12{taken_rvcImm[20]}},taken_rvcImm}); // @[Frontend.scala 255:44:shc.marmotcaravel.MarmotCaravelConfig.fir@209609.10]
+  assign _GEN_126 = {{1{_T_627[31]}},_T_627}; // @[Frontend.scala 255:39:shc.marmotcaravel.MarmotCaravelConfig.fir@209610.10]
+  assign _T_631 = $signed(_GEN_126) + $signed(_T_629); // @[Frontend.scala 255:39:shc.marmotcaravel.MarmotCaravelConfig.fir@209611.10]
+  assign taken_npc = $signed(_T_631); // @[Frontend.scala 255:39:shc.marmotcaravel.MarmotCaravelConfig.fir@209612.10]
+  assign _T_632 = $unsigned(taken_npc); // @[Frontend.scala 257:34:shc.marmotcaravel.MarmotCaravelConfig.fir@209613.10]
+  assign predicted_taken = btb_io_resp_valid & btb_io_resp_bits_taken; // @[Frontend.scala 183:29:shc.marmotcaravel.MarmotCaravelConfig.fir@209270.4]
+  assign _GEN_27 = predicted_taken ? btb_io_resp_bits_target : ntpc; // @[Frontend.scala 183:56:shc.marmotcaravel.MarmotCaravelConfig.fir@209271.4]
+  assign _GEN_42 = _T_626 ? _T_632 : {{1'd0}, _GEN_27}; // @[Frontend.scala 252:61:shc.marmotcaravel.MarmotCaravelConfig.fir@209605.8]
+  assign _GEN_45 = _T_882 ? _GEN_42 : {{1'd0}, _GEN_27}; // @[Frontend.scala 245:30:shc.marmotcaravel.MarmotCaravelConfig.fir@209587.6]
+  assign _GEN_78 = _T_893 ? {{1'd0}, _T_902} : _GEN_45; // @[Frontend.scala 252:61:shc.marmotcaravel.MarmotCaravelConfig.fir@209927.8]
+  assign _GEN_81 = _T_882 ? _GEN_78 : _GEN_45; // @[Frontend.scala 245:30:shc.marmotcaravel.MarmotCaravelConfig.fir@209909.6]
+  assign _GEN_98 = taken_idx ? _GEN_81 : _GEN_45; // @[Frontend.scala 236:25:shc.marmotcaravel.MarmotCaravelConfig.fir@209886.4]
+  assign predicted_npc = useRAS ? {{1'd0}, btb_io_ras_head_bits} : _GEN_98; // @[Frontend.scala 296:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209976.4]
+  assign npc = s2_replay ? {{1'd0}, s2_pc} : predicted_npc; // @[Frontend.scala 120:16:shc.marmotcaravel.MarmotCaravelConfig.fir@209176.4]
+  assign _T_323 = s2_speculative == 1'h0; // @[Frontend.scala 126:56:shc.marmotcaravel.MarmotCaravelConfig.fir@209178.4]
+  assign _T_324 = s2_valid & _T_323; // @[Frontend.scala 126:53:shc.marmotcaravel.MarmotCaravelConfig.fir@209179.4]
+  assign _T_325 = s1_speculative | _T_324; // @[Frontend.scala 126:41:shc.marmotcaravel.MarmotCaravelConfig.fir@209180.4]
+  assign s0_speculative = _T_325 | predicted_taken; // @[Frontend.scala 126:72:shc.marmotcaravel.MarmotCaravelConfig.fir@209181.4]
+  assign _T_329 = s2_replay == 1'h0; // @[Frontend.scala 132:9:shc.marmotcaravel.MarmotCaravelConfig.fir@209189.4]
+  assign _T_841 = taken_rviJump_1 | taken_rviJALR_1; // @[Frontend.scala 221:29:shc.marmotcaravel.MarmotCaravelConfig.fir@209853.4]
+  assign _T_842 = taken_rviBranch_1 & s2_btb_resp_bits_bht_value; // @[Frontend.scala 221:53:shc.marmotcaravel.MarmotCaravelConfig.fir@209854.4]
+  assign _T_843 = _T_841 | _T_842; // @[Frontend.scala 221:40:shc.marmotcaravel.MarmotCaravelConfig.fir@209855.4]
+  assign _T_844 = taken_prevRVI_1 & _T_843; // @[Frontend.scala 221:17:shc.marmotcaravel.MarmotCaravelConfig.fir@209856.4]
+  assign _T_712 = 16'h9002 == _T_704; // @[Frontend.scala 216:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209720.4]
+  assign taken_rvcJALR_1 = _T_712 & _T_707; // @[Frontend.scala 216:49:shc.marmotcaravel.MarmotCaravelConfig.fir@209723.4]
+  assign _T_845 = taken_rvcJump_1 | taken_rvcJALR_1; // @[Frontend.scala 222:27:shc.marmotcaravel.MarmotCaravelConfig.fir@209857.4]
+  assign _T_846 = _T_845 | taken_rvcJR_1; // @[Frontend.scala 222:38:shc.marmotcaravel.MarmotCaravelConfig.fir@209858.4]
+  assign _T_847 = taken_rvcBranch_1 & s2_btb_resp_bits_bht_value; // @[Frontend.scala 222:60:shc.marmotcaravel.MarmotCaravelConfig.fir@209859.4]
+  assign _T_848 = _T_846 | _T_847; // @[Frontend.scala 222:47:shc.marmotcaravel.MarmotCaravelConfig.fir@209860.4]
+  assign _T_849 = taken_valid_1 & _T_848; // @[Frontend.scala 222:15:shc.marmotcaravel.MarmotCaravelConfig.fir@209861.4]
+  assign taken_taken_1 = _T_844 | _T_849; // @[Frontend.scala 221:71:shc.marmotcaravel.MarmotCaravelConfig.fir@209862.4]
+  assign taken = taken_taken | taken_taken_1; // @[Frontend.scala 277:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209975.4]
+  assign _GEN_115 = _T_315 ? 1'h1 : io_cpu_req_valid; // @[Frontend.scala 307:33:shc.marmotcaravel.MarmotCaravelConfig.fir@209992.8]
+  assign _GEN_119 = taken ? _GEN_115 : io_cpu_req_valid; // @[Frontend.scala 303:20:shc.marmotcaravel.MarmotCaravelConfig.fir@209987.6]
+  assign s2_redirect = _T_882 ? _GEN_119 : io_cpu_req_valid; // @[Frontend.scala 302:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209986.4]
+  assign _T_330 = s2_redirect == 1'h0; // @[Frontend.scala 133:17:shc.marmotcaravel.MarmotCaravelConfig.fir@209191.6]
+  assign _T_341 = _T_340 & s2_valid; // @[Frontend.scala 157:40:shc.marmotcaravel.MarmotCaravelConfig.fir@209223.4]
+  assign _T_343 = icache_io_s2_kill; // @[Frontend.scala 157:98:shc.marmotcaravel.MarmotCaravelConfig.fir@209225.4]
+  assign _T_344 = icache_io_resp_valid | _T_343; // @[Frontend.scala 157:77:shc.marmotcaravel.MarmotCaravelConfig.fir@209226.4]
+  assign _T_346 = io_cpu_req_valid ? {{1'd0}, io_cpu_req_bits_pc} : npc; // @[Frontend.scala 159:28:shc.marmotcaravel.MarmotCaravelConfig.fir@209230.4]
+  assign _T_347 = ~ _T_346; // @[Frontend.scala 331:29:shc.marmotcaravel.MarmotCaravelConfig.fir@209231.4]
+  assign _T_348 = _T_347 | 33'h1; // @[Frontend.scala 331:33:shc.marmotcaravel.MarmotCaravelConfig.fir@209232.4]
+  assign _T_349 = ~ _T_348; // @[Frontend.scala 331:27:shc.marmotcaravel.MarmotCaravelConfig.fir@209233.4]
+  assign _T_350 = s2_pc[1]; // @[package.scala 119:13:shc.marmotcaravel.MarmotCaravelConfig.fir@209236.4]
+  assign _T_351 = 3'h3 << _T_350; // @[Frontend.scala 162:52:shc.marmotcaravel.MarmotCaravelConfig.fir@209237.4]
+  assign _T_352 = icache_io_resp_valid == 1'h0; // @[Frontend.scala 163:79:shc.marmotcaravel.MarmotCaravelConfig.fir@209239.4]
+  assign _T_353 = icache_io_s2_kill & _T_352; // @[Frontend.scala 163:76:shc.marmotcaravel.MarmotCaravelConfig.fir@209240.4]
+  assign _T_354 = s2_tlb_resp_ae_inst == 1'h0; // @[Frontend.scala 163:104:shc.marmotcaravel.MarmotCaravelConfig.fir@209241.4]
+  assign _T_355 = _T_353 & _T_354; // @[Frontend.scala 163:101:shc.marmotcaravel.MarmotCaravelConfig.fir@209242.4]
+  assign _T_357 = icache_io_resp_valid & icache_io_resp_bits_ae; // @[Frontend.scala 167:30:shc.marmotcaravel.MarmotCaravelConfig.fir@209248.4]
+  assign _T_367 = io_cpu_btb_update_valid == 1'h0; // @[Frontend.scala 283:11:shc.marmotcaravel.MarmotCaravelConfig.fir@209294.4]
+  assign _T_368 = fq_io_mask[1]; // @[Frontend.scala 284:44:shc.marmotcaravel.MarmotCaravelConfig.fir@209296.6]
+  assign fetch_bubble_likely = _T_368 == 1'h0; // @[Frontend.scala 284:33:shc.marmotcaravel.MarmotCaravelConfig.fir@209297.6]
+  assign _T_370 = wrong_path == 1'h0; // @[Frontend.scala 285:54:shc.marmotcaravel.MarmotCaravelConfig.fir@209299.6]
+  assign _T_371 = _T_315 & _T_370; // @[Frontend.scala 285:51:shc.marmotcaravel.MarmotCaravelConfig.fir@209300.6]
+  assign _T_372 = _T_371 & fetch_bubble_likely; // @[Frontend.scala 285:66:shc.marmotcaravel.MarmotCaravelConfig.fir@209301.6]
+  assign _T_909 = s2_btb_resp_valid == 1'h0; // @[Frontend.scala 264:15:shc.marmotcaravel.MarmotCaravelConfig.fir@209952.6]
+  assign _T_911 = taken_predictBranch_1 & s2_btb_resp_bits_bht_value; // @[Frontend.scala 264:52:shc.marmotcaravel.MarmotCaravelConfig.fir@209954.6]
+  assign _T_912 = _T_911 | taken_predictJump_1; // @[Frontend.scala 264:91:shc.marmotcaravel.MarmotCaravelConfig.fir@209955.6]
+  assign _T_913 = _T_912 | taken_predictReturn_1; // @[Frontend.scala 264:106:shc.marmotcaravel.MarmotCaravelConfig.fir@209956.6]
+  assign _T_914 = _T_909 & _T_913; // @[Frontend.scala 264:34:shc.marmotcaravel.MarmotCaravelConfig.fir@209957.6]
+  assign _T_641 = taken_predictBranch & s2_btb_resp_bits_bht_value; // @[Frontend.scala 264:52:shc.marmotcaravel.MarmotCaravelConfig.fir@209629.6]
+  assign _T_642 = _T_641 | taken_predictJump; // @[Frontend.scala 264:91:shc.marmotcaravel.MarmotCaravelConfig.fir@209630.6]
+  assign _T_643 = _T_642 | taken_predictReturn; // @[Frontend.scala 264:106:shc.marmotcaravel.MarmotCaravelConfig.fir@209631.6]
+  assign _T_644 = _T_909 & _T_643; // @[Frontend.scala 264:34:shc.marmotcaravel.MarmotCaravelConfig.fir@209632.6]
+  assign _GEN_91 = _T_914 ? 1'h1 : _T_644; // @[Frontend.scala 264:125:shc.marmotcaravel.MarmotCaravelConfig.fir@209958.6]
+  assign updateBTB = taken_idx ? _GEN_91 : _T_644; // @[Frontend.scala 236:25:shc.marmotcaravel.MarmotCaravelConfig.fir@209886.4]
+  assign _T_373 = _T_372 & updateBTB; // @[Frontend.scala 285:89:shc.marmotcaravel.MarmotCaravelConfig.fir@209302.6]
+  assign _GEN_127 = {{1'd0}, taken_idx}; // @[Frontend.scala 289:63:shc.marmotcaravel.MarmotCaravelConfig.fir@209307.6]
+  assign _T_374 = _GEN_127 << 1; // @[Frontend.scala 289:63:shc.marmotcaravel.MarmotCaravelConfig.fir@209307.6]
+  assign _GEN_128 = {{30'd0}, _T_374}; // @[Frontend.scala 289:50:shc.marmotcaravel.MarmotCaravelConfig.fir@209308.6]
+  assign _T_375 = s2_base_pc | _GEN_128; // @[Frontend.scala 289:50:shc.marmotcaravel.MarmotCaravelConfig.fir@209308.6]
+  assign after_idx = taken_idx ? 2'h2 : 2'h1; // @[Frontend.scala 236:25:shc.marmotcaravel.MarmotCaravelConfig.fir@209886.4]
+  assign _GEN_129 = {{1'd0}, after_idx}; // @[Frontend.scala 293:66:shc.marmotcaravel.MarmotCaravelConfig.fir@209312.4]
+  assign _T_376 = _GEN_129 << 1; // @[Frontend.scala 293:66:shc.marmotcaravel.MarmotCaravelConfig.fir@209312.4]
+  assign _GEN_130 = {{29'd0}, _T_376}; // @[Frontend.scala 293:53:shc.marmotcaravel.MarmotCaravelConfig.fir@209313.4]
+  assign _T_394 = taken_rviJALR | taken_rviJump; // @[Frontend.scala 209:30:shc.marmotcaravel.MarmotCaravelConfig.fir@209340.4]
+  assign taken_rviCall = _T_394 & _T_388; // @[Frontend.scala 209:42:shc.marmotcaravel.MarmotCaravelConfig.fir@209342.4]
+  assign taken_rvcCall = taken_rvcJAL | taken_rvcJALR; // @[Frontend.scala 217:28:shc.marmotcaravel.MarmotCaravelConfig.fir@209402.4]
+  assign _T_591 = s2_valid & s2_btb_resp_valid; // @[Frontend.scala 227:22:shc.marmotcaravel.MarmotCaravelConfig.fir@209552.4]
+  assign _T_592 = s2_btb_resp_bits_bridx == 1'h0; // @[Frontend.scala 227:69:shc.marmotcaravel.MarmotCaravelConfig.fir@209553.4]
+  assign _T_593 = _T_591 & _T_592; // @[Frontend.scala 227:43:shc.marmotcaravel.MarmotCaravelConfig.fir@209554.4]
+  assign _T_594 = _T_593 & taken_valid; // @[Frontend.scala 227:77:shc.marmotcaravel.MarmotCaravelConfig.fir@209555.4]
+  assign _T_596 = _T_594 & _T_648; // @[Frontend.scala 227:86:shc.marmotcaravel.MarmotCaravelConfig.fir@209557.4]
+  assign _GEN_38 = _T_596 ? 1'h1 : _T_355; // @[Frontend.scala 227:95:shc.marmotcaravel.MarmotCaravelConfig.fir@209558.4]
+  assign _GEN_39 = _T_596 ? 1'h1 : wrong_path; // @[Frontend.scala 227:95:shc.marmotcaravel.MarmotCaravelConfig.fir@209558.4]
+  assign _T_601 = taken_rviCall | taken_rviReturn; // @[Frontend.scala 239:92:shc.marmotcaravel.MarmotCaravelConfig.fir@209570.6]
+  assign _T_602 = taken_prevRVI & _T_601; // @[Frontend.scala 239:80:shc.marmotcaravel.MarmotCaravelConfig.fir@209571.6]
+  assign _T_603 = taken_rvcCall | taken_rvcReturn; // @[Frontend.scala 239:127:shc.marmotcaravel.MarmotCaravelConfig.fir@209572.6]
+  assign _T_604 = taken_valid & _T_603; // @[Frontend.scala 239:115:shc.marmotcaravel.MarmotCaravelConfig.fir@209573.6]
+  assign _T_605 = _T_602 | _T_604; // @[Frontend.scala 239:106:shc.marmotcaravel.MarmotCaravelConfig.fir@209574.6]
+  assign _T_606 = _T_371 & _T_605; // @[Frontend.scala 239:68:shc.marmotcaravel.MarmotCaravelConfig.fir@209575.6]
+  assign _T_607 = taken_prevRVI ? taken_rviReturn : taken_rvcReturn; // @[Frontend.scala 240:50:shc.marmotcaravel.MarmotCaravelConfig.fir@209577.6]
+  assign _T_608 = taken_prevRVI ? taken_rviCall : taken_rvcCall; // @[Frontend.scala 241:50:shc.marmotcaravel.MarmotCaravelConfig.fir@209578.6]
+  assign _T_609 = taken_prevRVI ? taken_rviBranch : taken_rvcBranch; // @[Frontend.scala 242:50:shc.marmotcaravel.MarmotCaravelConfig.fir@209579.6]
+  assign _T_612 = _T_609 ? 1'h0 : 1'h1; // @[Frontend.scala 242:46:shc.marmotcaravel.MarmotCaravelConfig.fir@209582.6]
+  assign _T_613 = _T_608 ? 2'h2 : {{1'd0}, _T_612}; // @[Frontend.scala 241:46:shc.marmotcaravel.MarmotCaravelConfig.fir@209583.6]
+  assign _T_614 = _T_607 ? 2'h3 : _T_613; // @[Frontend.scala 240:46:shc.marmotcaravel.MarmotCaravelConfig.fir@209584.6]
+  assign _T_617 = _T_315 & taken_taken; // @[Frontend.scala 246:34:shc.marmotcaravel.MarmotCaravelConfig.fir@209589.8]
+  assign _T_618 = taken_predictBranch == 1'h0; // @[Frontend.scala 246:46:shc.marmotcaravel.MarmotCaravelConfig.fir@209590.8]
+  assign _T_619 = _T_617 & _T_618; // @[Frontend.scala 246:43:shc.marmotcaravel.MarmotCaravelConfig.fir@209591.8]
+  assign _T_620 = taken_predictJump == 1'h0; // @[Frontend.scala 246:64:shc.marmotcaravel.MarmotCaravelConfig.fir@209592.8]
+  assign _T_621 = _T_619 & _T_620; // @[Frontend.scala 246:61:shc.marmotcaravel.MarmotCaravelConfig.fir@209593.8]
+  assign _T_622 = taken_predictReturn == 1'h0; // @[Frontend.scala 246:80:shc.marmotcaravel.MarmotCaravelConfig.fir@209594.8]
+  assign _T_623 = _T_621 & _T_622; // @[Frontend.scala 246:77:shc.marmotcaravel.MarmotCaravelConfig.fir@209595.8]
+  assign _GEN_46 = _T_590 ? _T_371 : 1'h0; // @[Frontend.scala 260:59:shc.marmotcaravel.MarmotCaravelConfig.fir@209620.6]
+  assign _T_651 = taken_bits_1[1:0]; // @[Frontend.scala 199:39:shc.marmotcaravel.MarmotCaravelConfig.fir@209646.4]
+  assign taken_rvc_1 = _T_651 != 2'h3; // @[Frontend.scala 199:45:shc.marmotcaravel.MarmotCaravelConfig.fir@209647.4]
+  assign _T_661 = taken_rviJALR_1 | taken_rviJump_1; // @[Frontend.scala 209:30:shc.marmotcaravel.MarmotCaravelConfig.fir@209662.4]
+  assign taken_rviCall_1 = _T_661 & _T_655; // @[Frontend.scala 209:42:shc.marmotcaravel.MarmotCaravelConfig.fir@209664.4]
+  assign taken_rvcCall_1 = taken_rvcJAL_1 | taken_rvcJALR_1; // @[Frontend.scala 217:28:shc.marmotcaravel.MarmotCaravelConfig.fir@209724.4]
+  assign _T_860 = _T_591 & s2_btb_resp_bits_bridx; // @[Frontend.scala 227:43:shc.marmotcaravel.MarmotCaravelConfig.fir@209876.4]
+  assign _T_861 = _T_860 & taken_valid_1; // @[Frontend.scala 227:77:shc.marmotcaravel.MarmotCaravelConfig.fir@209877.4]
+  assign _T_862 = taken_rvc_1 == 1'h0; // @[Frontend.scala 227:89:shc.marmotcaravel.MarmotCaravelConfig.fir@209878.4]
+  assign _T_863 = _T_861 & _T_862; // @[Frontend.scala 227:86:shc.marmotcaravel.MarmotCaravelConfig.fir@209879.4]
+  assign _T_868 = taken_rviCall_1 | taken_rviReturn_1; // @[Frontend.scala 239:92:shc.marmotcaravel.MarmotCaravelConfig.fir@209892.6]
+  assign _T_869 = taken_prevRVI_1 & _T_868; // @[Frontend.scala 239:80:shc.marmotcaravel.MarmotCaravelConfig.fir@209893.6]
+  assign _T_870 = taken_rvcCall_1 | taken_rvcReturn_1; // @[Frontend.scala 239:127:shc.marmotcaravel.MarmotCaravelConfig.fir@209894.6]
+  assign _T_871 = taken_valid_1 & _T_870; // @[Frontend.scala 239:115:shc.marmotcaravel.MarmotCaravelConfig.fir@209895.6]
+  assign _T_872 = _T_869 | _T_871; // @[Frontend.scala 239:106:shc.marmotcaravel.MarmotCaravelConfig.fir@209896.6]
+  assign _T_873 = _T_371 & _T_872; // @[Frontend.scala 239:68:shc.marmotcaravel.MarmotCaravelConfig.fir@209897.6]
+  assign _T_874 = taken_prevRVI_1 ? taken_rviReturn_1 : taken_rvcReturn_1; // @[Frontend.scala 240:50:shc.marmotcaravel.MarmotCaravelConfig.fir@209899.6]
+  assign _T_875 = taken_prevRVI_1 ? taken_rviCall_1 : taken_rvcCall_1; // @[Frontend.scala 241:50:shc.marmotcaravel.MarmotCaravelConfig.fir@209900.6]
+  assign _T_876 = taken_prevRVI_1 ? taken_rviBranch_1 : taken_rvcBranch_1; // @[Frontend.scala 242:50:shc.marmotcaravel.MarmotCaravelConfig.fir@209901.6]
+  assign _T_879 = _T_876 ? 1'h0 : 1'h1; // @[Frontend.scala 242:46:shc.marmotcaravel.MarmotCaravelConfig.fir@209904.6]
+  assign _T_880 = _T_875 ? 2'h2 : {{1'd0}, _T_879}; // @[Frontend.scala 241:46:shc.marmotcaravel.MarmotCaravelConfig.fir@209905.6]
+  assign _T_881 = _T_874 ? 2'h3 : _T_880; // @[Frontend.scala 240:46:shc.marmotcaravel.MarmotCaravelConfig.fir@209906.6]
+  assign _T_884 = _T_315 & taken_taken_1; // @[Frontend.scala 246:34:shc.marmotcaravel.MarmotCaravelConfig.fir@209911.8]
+  assign _T_885 = taken_predictBranch_1 == 1'h0; // @[Frontend.scala 246:46:shc.marmotcaravel.MarmotCaravelConfig.fir@209912.8]
+  assign _T_886 = _T_884 & _T_885; // @[Frontend.scala 246:43:shc.marmotcaravel.MarmotCaravelConfig.fir@209913.8]
+  assign _T_887 = taken_predictJump_1 == 1'h0; // @[Frontend.scala 246:64:shc.marmotcaravel.MarmotCaravelConfig.fir@209914.8]
+  assign _T_888 = _T_886 & _T_887; // @[Frontend.scala 246:61:shc.marmotcaravel.MarmotCaravelConfig.fir@209915.8]
+  assign _T_889 = taken_predictReturn_1 == 1'h0; // @[Frontend.scala 246:80:shc.marmotcaravel.MarmotCaravelConfig.fir@209916.8]
+  assign _T_890 = _T_888 & _T_889; // @[Frontend.scala 246:77:shc.marmotcaravel.MarmotCaravelConfig.fir@209917.8]
+  assign _GEN_82 = _T_857 ? _T_371 : _GEN_46; // @[Frontend.scala 260:59:shc.marmotcaravel.MarmotCaravelConfig.fir@209945.6]
+  assign _T_917 = taken_valid_1 & taken_idx; // @[Frontend.scala 272:23:shc.marmotcaravel.MarmotCaravelConfig.fir@209966.6]
+  assign _T_919 = _T_917 & _T_862; // @[Frontend.scala 272:37:shc.marmotcaravel.MarmotCaravelConfig.fir@209968.6]
+  assign _T_920 = taken_bits_1 | 16'h3; // @[Frontend.scala 274:37:shc.marmotcaravel.MarmotCaravelConfig.fir@209971.8]
+  assign _T_922 = s2_btb_taken | taken; // @[Frontend.scala 299:45:shc.marmotcaravel.MarmotCaravelConfig.fir@209980.4]
+  assign _T_923 = _T_315 & _T_922; // @[Frontend.scala 299:28:shc.marmotcaravel.MarmotCaravelConfig.fir@209981.4]
+  assign _GEN_116 = taken ? taken_idx : s2_btb_resp_bits_bridx; // @[Frontend.scala 303:20:shc.marmotcaravel.MarmotCaravelConfig.fir@209987.6]
+  assign _GEN_117 = taken ? 1'h1 : s2_btb_taken; // @[Frontend.scala 303:20:shc.marmotcaravel.MarmotCaravelConfig.fir@209987.6]
+  assign _GEN_118 = taken ? 5'h1c : s2_btb_resp_bits_entry; // @[Frontend.scala 303:20:shc.marmotcaravel.MarmotCaravelConfig.fir@209987.6]
+  assign _T_926 = s2_partial_insn_valid == 1'h0; // @[Frontend.scala 311:12:shc.marmotcaravel.MarmotCaravelConfig.fir@209997.4]
+  assign _T_928 = _T_926 | _T_382; // @[Frontend.scala 311:35:shc.marmotcaravel.MarmotCaravelConfig.fir@209999.4]
+  assign _T_930 = _T_928 | reset; // @[Frontend.scala 311:11:shc.marmotcaravel.MarmotCaravelConfig.fir@210001.4]
+  assign _T_931 = _T_930 == 1'h0; // @[Frontend.scala 311:11:shc.marmotcaravel.MarmotCaravelConfig.fir@210002.4]
+  assign _T_933 = io_cpu_might_request | icache_io_keep_clock_enabled; // @[Frontend.scala 324:40:shc.marmotcaravel.MarmotCaravelConfig.fir@210018.4]
+  assign _T_934 = _T_933 | s1_valid; // @[Frontend.scala 325:34:shc.marmotcaravel.MarmotCaravelConfig.fir@210019.4]
+  assign _T_935 = _T_934 | s2_valid; // @[Frontend.scala 326:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210020.4]
+  assign _T_938 = fq_io_mask[4]; // @[Frontend.scala 328:16:shc.marmotcaravel.MarmotCaravelConfig.fir@210023.4]
+  assign _T_939 = _T_938 == 1'h0; // @[Frontend.scala 328:5:shc.marmotcaravel.MarmotCaravelConfig.fir@210024.4]
+  assign auto_icache_slave_in_a_ready = icache_auto_slave_in_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@209105.4]
+  assign auto_icache_slave_in_d_valid = icache_auto_slave_in_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@209105.4]
+  assign auto_icache_slave_in_d_bits_opcode = icache_auto_slave_in_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@209105.4]
+  assign auto_icache_slave_in_d_bits_size = icache_auto_slave_in_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@209105.4]
+  assign auto_icache_slave_in_d_bits_source = icache_auto_slave_in_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@209105.4]
+  assign auto_icache_slave_in_d_bits_data = icache_auto_slave_in_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@209105.4]
+  assign auto_icache_master_out_a_valid = icache_auto_master_out_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@209104.4]
+  assign auto_icache_master_out_a_bits_address = icache_auto_master_out_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@209104.4]
+  assign auto_icache_master_out_d_ready = icache_auto_master_out_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@209104.4]
+  assign io_cpu_resp_valid = fq_io_deq_valid; // @[Frontend.scala 316:15:shc.marmotcaravel.MarmotCaravelConfig.fir@210013.4]
+  assign io_cpu_resp_bits_btb_taken = fq_io_deq_bits_btb_taken; // @[Frontend.scala 316:15:shc.marmotcaravel.MarmotCaravelConfig.fir@210013.4]
+  assign io_cpu_resp_bits_btb_bridx = fq_io_deq_bits_btb_bridx; // @[Frontend.scala 316:15:shc.marmotcaravel.MarmotCaravelConfig.fir@210013.4]
+  assign io_cpu_resp_bits_btb_entry = fq_io_deq_bits_btb_entry; // @[Frontend.scala 316:15:shc.marmotcaravel.MarmotCaravelConfig.fir@210013.4]
+  assign io_cpu_resp_bits_btb_bht_history = fq_io_deq_bits_btb_bht_history; // @[Frontend.scala 316:15:shc.marmotcaravel.MarmotCaravelConfig.fir@210013.4]
+  assign io_cpu_resp_bits_pc = fq_io_deq_bits_pc; // @[Frontend.scala 316:15:shc.marmotcaravel.MarmotCaravelConfig.fir@210013.4]
+  assign io_cpu_resp_bits_data = fq_io_deq_bits_data; // @[Frontend.scala 316:15:shc.marmotcaravel.MarmotCaravelConfig.fir@210013.4]
+  assign io_cpu_resp_bits_xcpt_ae_inst = fq_io_deq_bits_xcpt_ae_inst; // @[Frontend.scala 316:15:shc.marmotcaravel.MarmotCaravelConfig.fir@210013.4]
+  assign io_cpu_resp_bits_replay = fq_io_deq_bits_replay; // @[Frontend.scala 316:15:shc.marmotcaravel.MarmotCaravelConfig.fir@210013.4]
+  assign io_cpu_npc = _T_349[31:0]; // @[Frontend.scala 159:14:shc.marmotcaravel.MarmotCaravelConfig.fir@209234.4]
+  assign icache_clock = gated_clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209102.4 Frontend.scala 91:16:shc.marmotcaravel.MarmotCaravelConfig.fir@209127.4]
+  assign icache_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209103.4]
+  assign icache_auto_slave_in_a_valid = auto_icache_slave_in_a_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@209105.4]
+  assign icache_auto_slave_in_a_bits_opcode = auto_icache_slave_in_a_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@209105.4]
+  assign icache_auto_slave_in_a_bits_size = auto_icache_slave_in_a_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@209105.4]
+  assign icache_auto_slave_in_a_bits_source = auto_icache_slave_in_a_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@209105.4]
+  assign icache_auto_slave_in_a_bits_address = auto_icache_slave_in_a_bits_address; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@209105.4]
+  assign icache_auto_slave_in_a_bits_mask = auto_icache_slave_in_a_bits_mask; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@209105.4]
+  assign icache_auto_slave_in_a_bits_data = auto_icache_slave_in_a_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@209105.4]
+  assign icache_auto_slave_in_d_ready = auto_icache_slave_in_d_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@209105.4]
+  assign icache_auto_master_out_a_ready = auto_icache_master_out_a_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@209104.4]
+  assign icache_auto_master_out_d_valid = auto_icache_master_out_d_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@209104.4]
+  assign icache_auto_master_out_d_bits_opcode = auto_icache_master_out_d_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@209104.4]
+  assign icache_auto_master_out_d_bits_size = auto_icache_master_out_d_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@209104.4]
+  assign icache_auto_master_out_d_bits_data = auto_icache_master_out_d_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@209104.4]
+  assign icache_auto_master_out_d_bits_corrupt = auto_icache_master_out_d_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@209104.4]
+  assign icache_io_req_valid = io_cpu_req_valid | _T_294; // @[Frontend.scala 148:23:shc.marmotcaravel.MarmotCaravelConfig.fir@209208.4]
+  assign icache_io_req_bits_addr = io_cpu_npc; // @[Frontend.scala 149:27:shc.marmotcaravel.MarmotCaravelConfig.fir@209209.4]
+  assign icache_io_s1_paddr = tlb_io_resp_paddr; // @[Frontend.scala 151:22:shc.marmotcaravel.MarmotCaravelConfig.fir@209211.4]
+  assign icache_io_s2_vaddr = s2_pc; // @[Frontend.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@209212.4]
+  assign icache_io_s1_kill = s2_redirect | s2_replay; // @[Frontend.scala 153:21:shc.marmotcaravel.MarmotCaravelConfig.fir@209215.4]
+  assign icache_io_s2_kill = s2_speculative | s2_tlb_resp_ae_inst; // @[Frontend.scala 154:21:shc.marmotcaravel.MarmotCaravelConfig.fir@209219.4]
+  assign icache_io_invalidate = io_cpu_flush_icache; // @[Frontend.scala 150:24:shc.marmotcaravel.MarmotCaravelConfig.fir@209210.4]
+  assign icache_io_clock_enabled = clock_en_reg | io_cpu_might_request; // @[Frontend.scala 92:27:shc.marmotcaravel.MarmotCaravelConfig.fir@209128.4]
+  assign fq_clock = gated_clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209110.4]
+  assign fq_reset = reset | io_cpu_req_valid; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209111.4]
+  assign fq_io_enq_valid = _T_341 & _T_344; // @[Frontend.scala 157:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209228.4]
+  assign fq_io_enq_bits_btb_taken = _T_882 ? _GEN_117 : s2_btb_taken; // @[Frontend.scala 164:22:shc.marmotcaravel.MarmotCaravelConfig.fir@209245.4 Frontend.scala 165:28:shc.marmotcaravel.MarmotCaravelConfig.fir@209246.4 Frontend.scala 305:34:shc.marmotcaravel.MarmotCaravelConfig.fir@209989.8]
+  assign fq_io_enq_bits_btb_bridx = _T_882 ? _GEN_116 : s2_btb_resp_bits_bridx; // @[Frontend.scala 164:22:shc.marmotcaravel.MarmotCaravelConfig.fir@209245.4 Frontend.scala 304:34:shc.marmotcaravel.MarmotCaravelConfig.fir@209988.8]
+  assign fq_io_enq_bits_btb_entry = _T_882 ? _GEN_118 : s2_btb_resp_bits_entry; // @[Frontend.scala 164:22:shc.marmotcaravel.MarmotCaravelConfig.fir@209245.4 Frontend.scala 306:34:shc.marmotcaravel.MarmotCaravelConfig.fir@209990.8]
+  assign fq_io_enq_bits_btb_bht_history = s2_btb_resp_bits_bht_history; // @[Frontend.scala 164:22:shc.marmotcaravel.MarmotCaravelConfig.fir@209245.4]
+  assign fq_io_enq_bits_pc = s2_pc; // @[Frontend.scala 158:21:shc.marmotcaravel.MarmotCaravelConfig.fir@209229.4]
+  assign fq_io_enq_bits_data = icache_io_resp_bits_data; // @[Frontend.scala 161:23:shc.marmotcaravel.MarmotCaravelConfig.fir@209235.4]
+  assign fq_io_enq_bits_mask = _T_351[1:0]; // @[Frontend.scala 162:23:shc.marmotcaravel.MarmotCaravelConfig.fir@209238.4]
+  assign fq_io_enq_bits_xcpt_ae_inst = _T_357 ? 1'h1 : s2_tlb_resp_ae_inst; // @[Frontend.scala 166:23:shc.marmotcaravel.MarmotCaravelConfig.fir@209247.4 Frontend.scala 167:87:shc.marmotcaravel.MarmotCaravelConfig.fir@209250.6]
+  assign fq_io_enq_bits_replay = _T_863 ? 1'h1 : _GEN_38; // @[Frontend.scala 163:25:shc.marmotcaravel.MarmotCaravelConfig.fir@209244.4 Frontend.scala 231:31:shc.marmotcaravel.MarmotCaravelConfig.fir@209560.6 Frontend.scala 231:31:shc.marmotcaravel.MarmotCaravelConfig.fir@209882.6]
+  assign fq_io_deq_ready = io_cpu_resp_ready; // @[Frontend.scala 316:15:shc.marmotcaravel.MarmotCaravelConfig.fir@210013.4]
+  assign tlb_io_req_bits_vaddr = s1_pc; // @[Frontend.scala 141:25:shc.marmotcaravel.MarmotCaravelConfig.fir@209201.4]
+  assign tlb_io_ptw_pmp_0_cfg_l = io_ptw_pmp_0_cfg_l; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@209197.4]
+  assign tlb_io_ptw_pmp_0_cfg_a = io_ptw_pmp_0_cfg_a; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@209197.4]
+  assign tlb_io_ptw_pmp_0_cfg_x = io_ptw_pmp_0_cfg_x; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@209197.4]
+  assign tlb_io_ptw_pmp_0_cfg_w = io_ptw_pmp_0_cfg_w; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@209197.4]
+  assign tlb_io_ptw_pmp_0_cfg_r = io_ptw_pmp_0_cfg_r; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@209197.4]
+  assign tlb_io_ptw_pmp_0_addr = io_ptw_pmp_0_addr; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@209197.4]
+  assign tlb_io_ptw_pmp_0_mask = io_ptw_pmp_0_mask; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@209197.4]
+  assign tlb_io_ptw_pmp_1_cfg_l = io_ptw_pmp_1_cfg_l; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@209197.4]
+  assign tlb_io_ptw_pmp_1_cfg_a = io_ptw_pmp_1_cfg_a; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@209197.4]
+  assign tlb_io_ptw_pmp_1_cfg_x = io_ptw_pmp_1_cfg_x; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@209197.4]
+  assign tlb_io_ptw_pmp_1_cfg_w = io_ptw_pmp_1_cfg_w; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@209197.4]
+  assign tlb_io_ptw_pmp_1_cfg_r = io_ptw_pmp_1_cfg_r; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@209197.4]
+  assign tlb_io_ptw_pmp_1_addr = io_ptw_pmp_1_addr; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@209197.4]
+  assign tlb_io_ptw_pmp_1_mask = io_ptw_pmp_1_mask; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@209197.4]
+  assign tlb_io_ptw_pmp_2_cfg_l = io_ptw_pmp_2_cfg_l; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@209197.4]
+  assign tlb_io_ptw_pmp_2_cfg_a = io_ptw_pmp_2_cfg_a; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@209197.4]
+  assign tlb_io_ptw_pmp_2_cfg_x = io_ptw_pmp_2_cfg_x; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@209197.4]
+  assign tlb_io_ptw_pmp_2_cfg_w = io_ptw_pmp_2_cfg_w; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@209197.4]
+  assign tlb_io_ptw_pmp_2_cfg_r = io_ptw_pmp_2_cfg_r; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@209197.4]
+  assign tlb_io_ptw_pmp_2_addr = io_ptw_pmp_2_addr; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@209197.4]
+  assign tlb_io_ptw_pmp_2_mask = io_ptw_pmp_2_mask; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@209197.4]
+  assign tlb_io_ptw_pmp_3_cfg_l = io_ptw_pmp_3_cfg_l; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@209197.4]
+  assign tlb_io_ptw_pmp_3_cfg_a = io_ptw_pmp_3_cfg_a; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@209197.4]
+  assign tlb_io_ptw_pmp_3_cfg_x = io_ptw_pmp_3_cfg_x; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@209197.4]
+  assign tlb_io_ptw_pmp_3_cfg_w = io_ptw_pmp_3_cfg_w; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@209197.4]
+  assign tlb_io_ptw_pmp_3_cfg_r = io_ptw_pmp_3_cfg_r; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@209197.4]
+  assign tlb_io_ptw_pmp_3_addr = io_ptw_pmp_3_addr; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@209197.4]
+  assign tlb_io_ptw_pmp_3_mask = io_ptw_pmp_3_mask; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@209197.4]
+  assign tlb_io_ptw_pmp_4_cfg_l = io_ptw_pmp_4_cfg_l; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@209197.4]
+  assign tlb_io_ptw_pmp_4_cfg_a = io_ptw_pmp_4_cfg_a; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@209197.4]
+  assign tlb_io_ptw_pmp_4_cfg_x = io_ptw_pmp_4_cfg_x; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@209197.4]
+  assign tlb_io_ptw_pmp_4_cfg_w = io_ptw_pmp_4_cfg_w; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@209197.4]
+  assign tlb_io_ptw_pmp_4_cfg_r = io_ptw_pmp_4_cfg_r; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@209197.4]
+  assign tlb_io_ptw_pmp_4_addr = io_ptw_pmp_4_addr; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@209197.4]
+  assign tlb_io_ptw_pmp_4_mask = io_ptw_pmp_4_mask; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@209197.4]
+  assign tlb_io_ptw_pmp_5_cfg_l = io_ptw_pmp_5_cfg_l; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@209197.4]
+  assign tlb_io_ptw_pmp_5_cfg_a = io_ptw_pmp_5_cfg_a; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@209197.4]
+  assign tlb_io_ptw_pmp_5_cfg_x = io_ptw_pmp_5_cfg_x; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@209197.4]
+  assign tlb_io_ptw_pmp_5_cfg_w = io_ptw_pmp_5_cfg_w; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@209197.4]
+  assign tlb_io_ptw_pmp_5_cfg_r = io_ptw_pmp_5_cfg_r; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@209197.4]
+  assign tlb_io_ptw_pmp_5_addr = io_ptw_pmp_5_addr; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@209197.4]
+  assign tlb_io_ptw_pmp_5_mask = io_ptw_pmp_5_mask; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@209197.4]
+  assign tlb_io_ptw_pmp_6_cfg_l = io_ptw_pmp_6_cfg_l; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@209197.4]
+  assign tlb_io_ptw_pmp_6_cfg_a = io_ptw_pmp_6_cfg_a; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@209197.4]
+  assign tlb_io_ptw_pmp_6_cfg_x = io_ptw_pmp_6_cfg_x; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@209197.4]
+  assign tlb_io_ptw_pmp_6_cfg_w = io_ptw_pmp_6_cfg_w; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@209197.4]
+  assign tlb_io_ptw_pmp_6_cfg_r = io_ptw_pmp_6_cfg_r; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@209197.4]
+  assign tlb_io_ptw_pmp_6_addr = io_ptw_pmp_6_addr; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@209197.4]
+  assign tlb_io_ptw_pmp_6_mask = io_ptw_pmp_6_mask; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@209197.4]
+  assign tlb_io_ptw_pmp_7_cfg_l = io_ptw_pmp_7_cfg_l; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@209197.4]
+  assign tlb_io_ptw_pmp_7_cfg_a = io_ptw_pmp_7_cfg_a; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@209197.4]
+  assign tlb_io_ptw_pmp_7_cfg_x = io_ptw_pmp_7_cfg_x; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@209197.4]
+  assign tlb_io_ptw_pmp_7_cfg_w = io_ptw_pmp_7_cfg_w; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@209197.4]
+  assign tlb_io_ptw_pmp_7_cfg_r = io_ptw_pmp_7_cfg_r; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@209197.4]
+  assign tlb_io_ptw_pmp_7_addr = io_ptw_pmp_7_addr; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@209197.4]
+  assign tlb_io_ptw_pmp_7_mask = io_ptw_pmp_7_mask; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@209197.4]
+  assign btb_clock = gated_clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209254.4]
+  assign btb_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209255.4]
+  assign btb_io_req_bits_addr = s1_pc; // @[Frontend.scala 173:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209258.4]
+  assign btb_io_btb_update_valid = _T_367 ? _T_373 : io_cpu_btb_update_valid; // @[Frontend.scala 174:23:shc.marmotcaravel.MarmotCaravelConfig.fir@209259.4 Frontend.scala 285:31:shc.marmotcaravel.MarmotCaravelConfig.fir@209303.6]
+  assign btb_io_btb_update_bits_prediction_entry = _T_367 ? 5'h1c : io_cpu_btb_update_bits_prediction_entry; // @[Frontend.scala 174:23:shc.marmotcaravel.MarmotCaravelConfig.fir@209259.4 Frontend.scala 286:47:shc.marmotcaravel.MarmotCaravelConfig.fir@209304.6]
+  assign btb_io_btb_update_bits_pc = _T_367 ? s2_base_pc : io_cpu_btb_update_bits_pc; // @[Frontend.scala 174:23:shc.marmotcaravel.MarmotCaravelConfig.fir@209259.4 Frontend.scala 290:33:shc.marmotcaravel.MarmotCaravelConfig.fir@209310.6]
+  assign btb_io_btb_update_bits_isValid = _T_367 ? 1'h1 : io_cpu_btb_update_bits_isValid; // @[Frontend.scala 174:23:shc.marmotcaravel.MarmotCaravelConfig.fir@209259.4 Frontend.scala 287:38:shc.marmotcaravel.MarmotCaravelConfig.fir@209305.6]
+  assign btb_io_btb_update_bits_br_pc = _T_367 ? _T_375 : io_cpu_btb_update_bits_br_pc; // @[Frontend.scala 174:23:shc.marmotcaravel.MarmotCaravelConfig.fir@209259.4 Frontend.scala 289:36:shc.marmotcaravel.MarmotCaravelConfig.fir@209309.6]
+  assign btb_io_btb_update_bits_cfiType = _T_367 ? btb_io_ras_update_bits_cfiType : io_cpu_btb_update_bits_cfiType; // @[Frontend.scala 174:23:shc.marmotcaravel.MarmotCaravelConfig.fir@209259.4 Frontend.scala 288:38:shc.marmotcaravel.MarmotCaravelConfig.fir@209306.6]
+  assign btb_io_bht_update_valid = io_cpu_bht_update_valid; // @[Frontend.scala 175:23:shc.marmotcaravel.MarmotCaravelConfig.fir@209260.4 Frontend.scala 190:50:shc.marmotcaravel.MarmotCaravelConfig.fir@209279.6]
+  assign btb_io_bht_update_bits_prediction_history = io_cpu_bht_update_bits_prediction_history; // @[Frontend.scala 175:23:shc.marmotcaravel.MarmotCaravelConfig.fir@209260.4]
+  assign btb_io_bht_update_bits_pc = io_cpu_bht_update_bits_pc; // @[Frontend.scala 175:23:shc.marmotcaravel.MarmotCaravelConfig.fir@209260.4]
+  assign btb_io_bht_update_bits_branch = io_cpu_bht_update_bits_branch; // @[Frontend.scala 175:23:shc.marmotcaravel.MarmotCaravelConfig.fir@209260.4]
+  assign btb_io_bht_update_bits_taken = io_cpu_bht_update_bits_taken; // @[Frontend.scala 175:23:shc.marmotcaravel.MarmotCaravelConfig.fir@209260.4]
+  assign btb_io_bht_update_bits_mispredict = io_cpu_bht_update_bits_mispredict; // @[Frontend.scala 175:23:shc.marmotcaravel.MarmotCaravelConfig.fir@209260.4]
+  assign btb_io_bht_advance_valid = taken_idx ? _GEN_82 : _GEN_46; // @[Frontend.scala 177:30:shc.marmotcaravel.MarmotCaravelConfig.fir@209262.4 Frontend.scala 261:36:shc.marmotcaravel.MarmotCaravelConfig.fir@209624.8 Frontend.scala 261:36:shc.marmotcaravel.MarmotCaravelConfig.fir@209949.8]
+  assign btb_io_bht_advance_bits_bht_value = s2_btb_resp_bits_bht_value; // @[Frontend.scala 262:35:shc.marmotcaravel.MarmotCaravelConfig.fir@209625.8 Frontend.scala 262:35:shc.marmotcaravel.MarmotCaravelConfig.fir@209950.8]
+  assign btb_io_ras_update_valid = taken_idx ? _T_873 : _T_606; // @[Frontend.scala 176:29:shc.marmotcaravel.MarmotCaravelConfig.fir@209261.4 Frontend.scala 239:33:shc.marmotcaravel.MarmotCaravelConfig.fir@209576.6 Frontend.scala 239:33:shc.marmotcaravel.MarmotCaravelConfig.fir@209898.6]
+  assign btb_io_ras_update_bits_cfiType = taken_idx ? _T_881 : _T_614; // @[Frontend.scala 240:40:shc.marmotcaravel.MarmotCaravelConfig.fir@209585.6 Frontend.scala 240:40:shc.marmotcaravel.MarmotCaravelConfig.fir@209907.6]
+  assign btb_io_ras_update_bits_returnAddr = s2_base_pc + _GEN_130; // @[Frontend.scala 293:39:shc.marmotcaravel.MarmotCaravelConfig.fir@209315.4]
+  assign btb_io_flush = _T_863 ? 1'h1 : _T_596; // @[Frontend.scala 171:18:shc.marmotcaravel.MarmotCaravelConfig.fir@209256.4 Frontend.scala 189:54:shc.marmotcaravel.MarmotCaravelConfig.fir@209276.6 Frontend.scala 230:22:shc.marmotcaravel.MarmotCaravelConfig.fir@209559.6 Frontend.scala 230:22:shc.marmotcaravel.MarmotCaravelConfig.fir@209881.6]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  clock_en_reg = _RAND_0[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  s1_valid = _RAND_1[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  s1_pc = _RAND_2[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  s1_speculative = _RAND_3[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  s2_valid = _RAND_4[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  s2_pc = _RAND_5[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {1{`RANDOM}};
+  s2_btb_resp_valid = _RAND_6[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {1{`RANDOM}};
+  s2_btb_resp_bits_taken = _RAND_7[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_8 = {1{`RANDOM}};
+  s2_btb_resp_bits_bridx = _RAND_8[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_9 = {1{`RANDOM}};
+  s2_btb_resp_bits_entry = _RAND_9[4:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_10 = {1{`RANDOM}};
+  s2_btb_resp_bits_bht_history = _RAND_10[7:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_11 = {1{`RANDOM}};
+  s2_btb_resp_bits_bht_value = _RAND_11[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_12 = {1{`RANDOM}};
+  s2_tlb_resp_ae_inst = _RAND_12[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_13 = {1{`RANDOM}};
+  s2_speculative = _RAND_13[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_14 = {1{`RANDOM}};
+  s2_partial_insn_valid = _RAND_14[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_15 = {1{`RANDOM}};
+  s2_partial_insn = _RAND_15[15:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_16 = {1{`RANDOM}};
+  wrong_path = _RAND_16[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_17 = {1{`RANDOM}};
+  _T_321 = _RAND_17[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_18 = {1{`RANDOM}};
+  _T_340 = _RAND_18[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge gated_clock) begin
+    clock_en_reg <= _T_935 | _T_939;
+    s1_valid <= io_cpu_req_valid | _T_294;
+    s1_pc <= io_cpu_npc;
+    if (io_cpu_req_valid) begin
+      s1_speculative <= io_cpu_req_bits_speculative;
+    end else begin
+      if (s2_replay) begin
+        s1_speculative <= s2_speculative;
+      end else begin
+        s1_speculative <= s0_speculative;
+      end
+    end
+    if (reset) begin
+      s2_valid <= 1'h0;
+    end else begin
+      if (_T_329) begin
+        s2_valid <= _T_330;
+      end else begin
+        s2_valid <= 1'h0;
+      end
+    end
+    if (reset) begin
+      s2_pc <= _T_302;
+    end else begin
+      if (_T_329) begin
+        s2_pc <= s1_pc;
+      end
+    end
+    if (_T_329) begin
+      s2_btb_resp_valid <= btb_io_resp_valid;
+    end
+    if (_T_329) begin
+      s2_btb_resp_bits_taken <= btb_io_resp_bits_taken;
+    end
+    if (_T_329) begin
+      s2_btb_resp_bits_bridx <= btb_io_resp_bits_bridx;
+    end
+    if (_T_329) begin
+      s2_btb_resp_bits_entry <= btb_io_resp_bits_entry;
+    end
+    if (_T_329) begin
+      s2_btb_resp_bits_bht_history <= btb_io_resp_bits_bht_history;
+    end
+    if (_T_329) begin
+      s2_btb_resp_bits_bht_value <= btb_io_resp_bits_bht_value;
+    end
+    if (_T_329) begin
+      s2_tlb_resp_ae_inst <= tlb_io_resp_ae_inst;
+    end
+    if (reset) begin
+      s2_speculative <= 1'h0;
+    end else begin
+      if (_T_329) begin
+        s2_speculative <= s1_speculative;
+      end
+    end
+    if (reset) begin
+      s2_partial_insn_valid <= 1'h0;
+    end else begin
+      if (s2_redirect) begin
+        s2_partial_insn_valid <= 1'h0;
+      end else begin
+        if (_T_923) begin
+          s2_partial_insn_valid <= 1'h0;
+        end else begin
+          if (_T_315) begin
+            s2_partial_insn_valid <= _T_919;
+          end
+        end
+      end
+    end
+    if (_T_315) begin
+      if (_T_919) begin
+        s2_partial_insn <= _T_920;
+      end
+    end
+    if (io_cpu_req_valid) begin
+      wrong_path <= 1'h0;
+    end else begin
+      if (taken_idx) begin
+        if (_T_882) begin
+          if (_T_890) begin
+            wrong_path <= 1'h1;
+          end else begin
+            if (_T_863) begin
+              wrong_path <= 1'h1;
+            end else begin
+              if (_T_882) begin
+                if (_T_623) begin
+                  wrong_path <= 1'h1;
+                end else begin
+                  if (_T_596) begin
+                    wrong_path <= 1'h1;
+                  end
+                end
+              end else begin
+                if (_T_596) begin
+                  wrong_path <= 1'h1;
+                end
+              end
+            end
+          end
+        end else begin
+          if (_T_863) begin
+            wrong_path <= 1'h1;
+          end else begin
+            if (_T_882) begin
+              if (_T_623) begin
+                wrong_path <= 1'h1;
+              end else begin
+                if (_T_596) begin
+                  wrong_path <= 1'h1;
+                end
+              end
+            end else begin
+              if (_T_596) begin
+                wrong_path <= 1'h1;
+              end
+            end
+          end
+        end
+      end else begin
+        if (_T_863) begin
+          wrong_path <= 1'h1;
+        end else begin
+          if (_T_882) begin
+            if (_T_623) begin
+              wrong_path <= 1'h1;
+            end else begin
+              wrong_path <= _GEN_39;
+            end
+          end else begin
+            wrong_path <= _GEN_39;
+          end
+        end
+      end
+    end
+    if (reset) begin
+      _T_321 <= 1'h1;
+    end else begin
+      _T_321 <= _T_319;
+    end
+    _T_340 <= s1_valid;
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_292) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at Frontend.scala:86 assert(!(io.cpu.req.valid || io.cpu.sfence.valid || io.cpu.flush_icache || io.cpu.bht_update.valid || io.cpu.btb_update.valid) || io.cpu.might_request)\n"); // @[Frontend.scala 86:9:shc.marmotcaravel.MarmotCaravelConfig.fir@209124.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_292) begin
+          $fatal; // @[Frontend.scala 86:9:shc.marmotcaravel.MarmotCaravelConfig.fir@209125.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_931) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at Frontend.scala:311 assert(!s2_partial_insn_valid || fq.io.enq.bits.mask(0))\n"); // @[Frontend.scala 311:11:shc.marmotcaravel.MarmotCaravelConfig.fir@210004.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_931) begin
+          $fatal; // @[Frontend.scala 311:11:shc.marmotcaravel.MarmotCaravelConfig.fir@210005.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+endmodule
+module TLFragmenter_17( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210059.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210060.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210061.4]
+  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210062.4]
+  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210062.4]
+  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210062.4]
+  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210062.4]
+  input  [2:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210062.4]
+  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210062.4]
+  input  [27:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210062.4]
+  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210062.4]
+  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210062.4]
+  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210062.4]
+  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210062.4]
+  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210062.4]
+  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210062.4]
+  output [2:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210062.4]
+  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210062.4]
+  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210062.4]
+  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210062.4]
+  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210062.4]
+  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210062.4]
+  output [1:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210062.4]
+  output [6:0]  auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210062.4]
+  output [27:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210062.4]
+  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210062.4]
+  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210062.4]
+  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210062.4]
+  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210062.4]
+  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210062.4]
+  input  [1:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210062.4]
+  input  [6:0]  auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210062.4]
+  input  [31:0] auto_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210062.4]
+);
+  wire  Repeater_clock; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210150.4]
+  wire  Repeater_reset; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210150.4]
+  wire  Repeater_io_repeat; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210150.4]
+  wire  Repeater_io_full; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210150.4]
+  wire  Repeater_io_enq_ready; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210150.4]
+  wire  Repeater_io_enq_valid; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210150.4]
+  wire [2:0] Repeater_io_enq_bits_opcode; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210150.4]
+  wire [2:0] Repeater_io_enq_bits_param; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210150.4]
+  wire [2:0] Repeater_io_enq_bits_size; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210150.4]
+  wire  Repeater_io_enq_bits_source; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210150.4]
+  wire [27:0] Repeater_io_enq_bits_address; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210150.4]
+  wire [3:0] Repeater_io_enq_bits_mask; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210150.4]
+  wire  Repeater_io_enq_bits_corrupt; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210150.4]
+  wire  Repeater_io_deq_ready; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210150.4]
+  wire  Repeater_io_deq_valid; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210150.4]
+  wire [2:0] Repeater_io_deq_bits_opcode; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210150.4]
+  wire [2:0] Repeater_io_deq_bits_param; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210150.4]
+  wire [2:0] Repeater_io_deq_bits_size; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210150.4]
+  wire  Repeater_io_deq_bits_source; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210150.4]
+  wire [27:0] Repeater_io_deq_bits_address; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210150.4]
+  wire [3:0] Repeater_io_deq_bits_mask; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210150.4]
+  wire  Repeater_io_deq_bits_corrupt; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210150.4]
+  reg [3:0] _T_222; // @[Fragmenter.scala 167:27:shc.marmotcaravel.MarmotCaravelConfig.fir@210073.4]
+  reg [31:0] _RAND_0;
+  reg [2:0] _T_224; // @[Fragmenter.scala 168:22:shc.marmotcaravel.MarmotCaravelConfig.fir@210074.4]
+  reg [31:0] _RAND_1;
+  reg  _T_226; // @[Fragmenter.scala 169:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210075.4]
+  reg [31:0] _RAND_2;
+  wire [3:0] _T_227; // @[Fragmenter.scala 170:39:shc.marmotcaravel.MarmotCaravelConfig.fir@210076.4]
+  wire  _T_228; // @[Fragmenter.scala 171:27:shc.marmotcaravel.MarmotCaravelConfig.fir@210077.4]
+  wire  _T_229; // @[Fragmenter.scala 172:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210078.4]
+  wire [3:0] _T_231; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@210080.4]
+  wire [2:0] _T_232; // @[OneHot.scala 52:27:shc.marmotcaravel.MarmotCaravelConfig.fir@210081.4]
+  wire [4:0] _T_234; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@210083.4]
+  wire [1:0] _T_235; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@210084.4]
+  wire [1:0] _T_236; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@210085.4]
+  wire  _T_237; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@210086.4]
+  wire  _T_249; // @[Fragmenter.scala 182:58:shc.marmotcaravel.MarmotCaravelConfig.fir@210102.4]
+  wire  _T_250; // @[Fragmenter.scala 182:30:shc.marmotcaravel.MarmotCaravelConfig.fir@210103.4]
+  wire [5:0] _GEN_7; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@210104.4]
+  wire [5:0] _T_251; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@210104.4]
+  wire [5:0] _GEN_8; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@210105.4]
+  wire [5:0] _T_252; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@210105.4]
+  wire [6:0] _GEN_9; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@210106.4]
+  wire [6:0] _T_253; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@210106.4]
+  wire [6:0] _T_254; // @[package.scala 183:40:shc.marmotcaravel.MarmotCaravelConfig.fir@210107.4]
+  wire [6:0] _T_255; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@210108.4]
+  wire [6:0] _T_256; // @[package.scala 183:53:shc.marmotcaravel.MarmotCaravelConfig.fir@210109.4]
+  wire [6:0] _T_257; // @[package.scala 183:51:shc.marmotcaravel.MarmotCaravelConfig.fir@210110.4]
+  wire [2:0] _T_258; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@210111.4]
+  wire [3:0] _T_259; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@210112.4]
+  wire  _T_260; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210113.4]
+  wire [3:0] _GEN_10; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210114.4]
+  wire [3:0] _T_261; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210114.4]
+  wire [1:0] _T_262; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@210115.4]
+  wire [1:0] _T_263; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@210116.4]
+  wire  _T_264; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210117.4]
+  wire [1:0] _T_265; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210118.4]
+  wire  _T_266; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@210119.4]
+  wire [1:0] _T_267; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@210120.4]
+  wire [2:0] _T_268; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@210121.4]
+  wire  _T_276; // @[Fragmenter.scala 200:18:shc.marmotcaravel.MarmotCaravelConfig.fir@210136.4]
+  wire  _T_275; // @[Fragmenter.scala 197:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210135.4]
+  wire  _T_277; // @[Fragmenter.scala 200:35:shc.marmotcaravel.MarmotCaravelConfig.fir@210137.4]
+  wire  _T_278; // @[Fragmenter.scala 200:31:shc.marmotcaravel.MarmotCaravelConfig.fir@210138.4]
+  wire  _T_279; // @[Fragmenter.scala 200:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210139.4]
+  wire  _T_280; // @[Fragmenter.scala 201:33:shc.marmotcaravel.MarmotCaravelConfig.fir@210140.4]
+  wire  _T_269; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@210122.4]
+  wire [3:0] _GEN_11; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@210124.6]
+  wire [4:0] _T_270; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@210124.6]
+  wire [4:0] _T_271; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@210125.6]
+  wire [3:0] _T_272; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@210126.6]
+  wire  _T_274; // @[Fragmenter.scala 190:39:shc.marmotcaravel.MarmotCaravelConfig.fir@210131.8]
+  wire  _T_281; // @[Fragmenter.scala 202:37:shc.marmotcaravel.MarmotCaravelConfig.fir@210142.4]
+  wire  _T_309; // @[Fragmenter.scala 262:29:shc.marmotcaravel.MarmotCaravelConfig.fir@210175.4]
+  wire [2:0] _T_310; // @[Fragmenter.scala 262:22:shc.marmotcaravel.MarmotCaravelConfig.fir@210176.4]
+  wire [12:0] _T_312; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@210178.4]
+  wire [5:0] _T_313; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@210179.4]
+  wire [5:0] _T_314; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@210180.4]
+  wire [8:0] _T_316; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@210182.4]
+  wire [1:0] _T_317; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@210183.4]
+  wire [1:0] _T_318; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@210184.4]
+  wire  _T_319; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@210185.4]
+  wire  _T_320; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210186.4]
+  reg [3:0] _T_323; // @[Fragmenter.scala 268:27:shc.marmotcaravel.MarmotCaravelConfig.fir@210188.4]
+  reg [31:0] _RAND_3;
+  wire  _T_324; // @[Fragmenter.scala 269:27:shc.marmotcaravel.MarmotCaravelConfig.fir@210189.4]
+  wire [3:0] _T_325; // @[Fragmenter.scala 270:46:shc.marmotcaravel.MarmotCaravelConfig.fir@210190.4]
+  wire [4:0] _T_326; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@210191.4]
+  wire [4:0] _T_327; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@210192.4]
+  wire [3:0] _T_328; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@210193.4]
+  wire [3:0] _T_329; // @[Fragmenter.scala 270:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210194.4]
+  wire [3:0] _T_330; // @[Fragmenter.scala 271:26:shc.marmotcaravel.MarmotCaravelConfig.fir@210195.4]
+  wire [3:0] _T_333; // @[Fragmenter.scala 271:24:shc.marmotcaravel.MarmotCaravelConfig.fir@210198.4]
+  reg  _T_341; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@210205.4]
+  reg [31:0] _RAND_4;
+  wire  _GEN_5; // @[Reg.scala 12:19:shc.marmotcaravel.MarmotCaravelConfig.fir@210206.4]
+  wire  _T_343; // @[Fragmenter.scala 274:21:shc.marmotcaravel.MarmotCaravelConfig.fir@210210.4]
+  wire  _T_344; // @[Fragmenter.scala 275:76:shc.marmotcaravel.MarmotCaravelConfig.fir@210211.4]
+  wire  _T_70_a_valid; // @[Nodes.scala 332:76:shc.marmotcaravel.MarmotCaravelConfig.fir@210069.4 Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@210220.4]
+  wire  _T_345; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@210212.4]
+  wire  _T_346; // @[Fragmenter.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@210216.4]
+  wire  _T_347; // @[Fragmenter.scala 279:51:shc.marmotcaravel.MarmotCaravelConfig.fir@210217.4]
+  wire [5:0] _GEN_12; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@210221.4]
+  wire [5:0] _T_349; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@210221.4]
+  wire [5:0] _T_350; // @[Fragmenter.scala 281:88:shc.marmotcaravel.MarmotCaravelConfig.fir@210222.4]
+  wire [5:0] _T_351; // @[Fragmenter.scala 281:86:shc.marmotcaravel.MarmotCaravelConfig.fir@210223.4]
+  wire [5:0] _GEN_13; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@210224.4]
+  wire [5:0] _T_352; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@210224.4]
+  wire [5:0] _T_353; // @[Fragmenter.scala 281:109:shc.marmotcaravel.MarmotCaravelConfig.fir@210225.4]
+  wire [5:0] _T_354; // @[Fragmenter.scala 281:49:shc.marmotcaravel.MarmotCaravelConfig.fir@210226.4]
+  wire [27:0] _GEN_14; // @[Fragmenter.scala 281:47:shc.marmotcaravel.MarmotCaravelConfig.fir@210227.4]
+  wire [4:0] _T_356; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@210229.4]
+  wire [1:0] _T_357; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@210230.4]
+  wire  _T_359; // @[Fragmenter.scala 286:15:shc.marmotcaravel.MarmotCaravelConfig.fir@210234.4]
+  wire  _T_361; // @[Fragmenter.scala 286:33:shc.marmotcaravel.MarmotCaravelConfig.fir@210236.4]
+  wire  _T_363; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210238.4]
+  wire  _T_364; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210239.4]
+  wire  _T_366; // @[Fragmenter.scala 289:51:shc.marmotcaravel.MarmotCaravelConfig.fir@210246.4]
+  wire  _T_367; // @[Fragmenter.scala 289:33:shc.marmotcaravel.MarmotCaravelConfig.fir@210247.4]
+  wire  _T_369; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210249.4]
+  wire  _T_370; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210250.4]
+  Repeater Repeater ( // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210150.4]
+    .clock(Repeater_clock),
+    .reset(Repeater_reset),
+    .io_repeat(Repeater_io_repeat),
+    .io_full(Repeater_io_full),
+    .io_enq_ready(Repeater_io_enq_ready),
+    .io_enq_valid(Repeater_io_enq_valid),
+    .io_enq_bits_opcode(Repeater_io_enq_bits_opcode),
+    .io_enq_bits_param(Repeater_io_enq_bits_param),
+    .io_enq_bits_size(Repeater_io_enq_bits_size),
+    .io_enq_bits_source(Repeater_io_enq_bits_source),
+    .io_enq_bits_address(Repeater_io_enq_bits_address),
+    .io_enq_bits_mask(Repeater_io_enq_bits_mask),
+    .io_enq_bits_corrupt(Repeater_io_enq_bits_corrupt),
+    .io_deq_ready(Repeater_io_deq_ready),
+    .io_deq_valid(Repeater_io_deq_valid),
+    .io_deq_bits_opcode(Repeater_io_deq_bits_opcode),
+    .io_deq_bits_param(Repeater_io_deq_bits_param),
+    .io_deq_bits_size(Repeater_io_deq_bits_size),
+    .io_deq_bits_source(Repeater_io_deq_bits_source),
+    .io_deq_bits_address(Repeater_io_deq_bits_address),
+    .io_deq_bits_mask(Repeater_io_deq_bits_mask),
+    .io_deq_bits_corrupt(Repeater_io_deq_bits_corrupt)
+  );
+  assign _T_227 = auto_out_d_bits_source[3:0]; // @[Fragmenter.scala 170:39:shc.marmotcaravel.MarmotCaravelConfig.fir@210076.4]
+  assign _T_228 = _T_222 == 4'h0; // @[Fragmenter.scala 171:27:shc.marmotcaravel.MarmotCaravelConfig.fir@210077.4]
+  assign _T_229 = _T_227 == 4'h0; // @[Fragmenter.scala 172:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210078.4]
+  assign _T_231 = 4'h1 << auto_out_d_bits_size; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@210080.4]
+  assign _T_232 = _T_231[2:0]; // @[OneHot.scala 52:27:shc.marmotcaravel.MarmotCaravelConfig.fir@210081.4]
+  assign _T_234 = 5'h3 << auto_out_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@210083.4]
+  assign _T_235 = _T_234[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@210084.4]
+  assign _T_236 = ~ _T_235; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@210085.4]
+  assign _T_237 = auto_out_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@210086.4]
+  assign _T_249 = _T_232[2:2]; // @[Fragmenter.scala 182:58:shc.marmotcaravel.MarmotCaravelConfig.fir@210102.4]
+  assign _T_250 = _T_237 ? 1'h1 : _T_249; // @[Fragmenter.scala 182:30:shc.marmotcaravel.MarmotCaravelConfig.fir@210103.4]
+  assign _GEN_7 = {{2'd0}, _T_227}; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@210104.4]
+  assign _T_251 = _GEN_7 << 2; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@210104.4]
+  assign _GEN_8 = {{4'd0}, _T_236}; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@210105.4]
+  assign _T_252 = _T_251 | _GEN_8; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@210105.4]
+  assign _GEN_9 = {{1'd0}, _T_252}; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@210106.4]
+  assign _T_253 = _GEN_9 << 1; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@210106.4]
+  assign _T_254 = _T_253 | 7'h1; // @[package.scala 183:40:shc.marmotcaravel.MarmotCaravelConfig.fir@210107.4]
+  assign _T_255 = {1'h0,_T_252}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@210108.4]
+  assign _T_256 = ~ _T_255; // @[package.scala 183:53:shc.marmotcaravel.MarmotCaravelConfig.fir@210109.4]
+  assign _T_257 = _T_254 & _T_256; // @[package.scala 183:51:shc.marmotcaravel.MarmotCaravelConfig.fir@210110.4]
+  assign _T_258 = _T_257[6:4]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@210111.4]
+  assign _T_259 = _T_257[3:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@210112.4]
+  assign _T_260 = _T_258 != 3'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210113.4]
+  assign _GEN_10 = {{1'd0}, _T_258}; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210114.4]
+  assign _T_261 = _GEN_10 | _T_259; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210114.4]
+  assign _T_262 = _T_261[3:2]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@210115.4]
+  assign _T_263 = _T_261[1:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@210116.4]
+  assign _T_264 = _T_262 != 2'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210117.4]
+  assign _T_265 = _T_262 | _T_263; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210118.4]
+  assign _T_266 = _T_265[1]; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@210119.4]
+  assign _T_267 = {_T_264,_T_266}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@210120.4]
+  assign _T_268 = {_T_260,_T_267}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@210121.4]
+  assign _T_276 = _T_237 == 1'h0; // @[Fragmenter.scala 200:18:shc.marmotcaravel.MarmotCaravelConfig.fir@210136.4]
+  assign _T_275 = auto_out_d_bits_source[5]; // @[Fragmenter.scala 197:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210135.4]
+  assign _T_277 = _T_275 ? _T_228 : _T_229; // @[Fragmenter.scala 200:35:shc.marmotcaravel.MarmotCaravelConfig.fir@210137.4]
+  assign _T_278 = _T_277 == 1'h0; // @[Fragmenter.scala 200:31:shc.marmotcaravel.MarmotCaravelConfig.fir@210138.4]
+  assign _T_279 = _T_276 & _T_278; // @[Fragmenter.scala 200:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210139.4]
+  assign _T_280 = auto_in_d_ready | _T_279; // @[Fragmenter.scala 201:33:shc.marmotcaravel.MarmotCaravelConfig.fir@210140.4]
+  assign _T_269 = _T_280 & auto_out_d_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@210122.4]
+  assign _GEN_11 = {{3'd0}, _T_250}; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@210124.6]
+  assign _T_270 = _T_222 - _GEN_11; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@210124.6]
+  assign _T_271 = $unsigned(_T_270); // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@210125.6]
+  assign _T_272 = _T_271[3:0]; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@210126.6]
+  assign _T_274 = auto_out_d_bits_source[4]; // @[Fragmenter.scala 190:39:shc.marmotcaravel.MarmotCaravelConfig.fir@210131.8]
+  assign _T_281 = _T_279 == 1'h0; // @[Fragmenter.scala 202:37:shc.marmotcaravel.MarmotCaravelConfig.fir@210142.4]
+  assign _T_309 = Repeater_io_deq_bits_size > 3'h2; // @[Fragmenter.scala 262:29:shc.marmotcaravel.MarmotCaravelConfig.fir@210175.4]
+  assign _T_310 = _T_309 ? 3'h2 : Repeater_io_deq_bits_size; // @[Fragmenter.scala 262:22:shc.marmotcaravel.MarmotCaravelConfig.fir@210176.4]
+  assign _T_312 = 13'h3f << Repeater_io_deq_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@210178.4]
+  assign _T_313 = _T_312[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@210179.4]
+  assign _T_314 = ~ _T_313; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@210180.4]
+  assign _T_316 = 9'h3 << _T_310; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@210182.4]
+  assign _T_317 = _T_316[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@210183.4]
+  assign _T_318 = ~ _T_317; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@210184.4]
+  assign _T_319 = Repeater_io_deq_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@210185.4]
+  assign _T_320 = _T_319 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210186.4]
+  assign _T_324 = _T_323 == 4'h0; // @[Fragmenter.scala 269:27:shc.marmotcaravel.MarmotCaravelConfig.fir@210189.4]
+  assign _T_325 = _T_314[5:2]; // @[Fragmenter.scala 270:46:shc.marmotcaravel.MarmotCaravelConfig.fir@210190.4]
+  assign _T_326 = _T_323 - 4'h1; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@210191.4]
+  assign _T_327 = $unsigned(_T_326); // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@210192.4]
+  assign _T_328 = _T_327[3:0]; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@210193.4]
+  assign _T_329 = _T_324 ? _T_325 : _T_328; // @[Fragmenter.scala 270:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210194.4]
+  assign _T_330 = ~ _T_329; // @[Fragmenter.scala 271:26:shc.marmotcaravel.MarmotCaravelConfig.fir@210195.4]
+  assign _T_333 = ~ _T_330; // @[Fragmenter.scala 271:24:shc.marmotcaravel.MarmotCaravelConfig.fir@210198.4]
+  assign _GEN_5 = _T_324 ? _T_226 : _T_341; // @[Reg.scala 12:19:shc.marmotcaravel.MarmotCaravelConfig.fir@210206.4]
+  assign _T_343 = _GEN_5 == 1'h0; // @[Fragmenter.scala 274:21:shc.marmotcaravel.MarmotCaravelConfig.fir@210210.4]
+  assign _T_344 = Repeater_io_deq_bits_opcode == 3'h0; // @[Fragmenter.scala 275:76:shc.marmotcaravel.MarmotCaravelConfig.fir@210211.4]
+  assign _T_70_a_valid = Repeater_io_deq_valid; // @[Nodes.scala 332:76:shc.marmotcaravel.MarmotCaravelConfig.fir@210069.4 Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@210220.4]
+  assign _T_345 = auto_out_a_ready & _T_70_a_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@210212.4]
+  assign _T_346 = _T_320 == 1'h0; // @[Fragmenter.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@210216.4]
+  assign _T_347 = _T_333 != 4'h0; // @[Fragmenter.scala 279:51:shc.marmotcaravel.MarmotCaravelConfig.fir@210217.4]
+  assign _GEN_12 = {{2'd0}, _T_329}; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@210221.4]
+  assign _T_349 = _GEN_12 << 2; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@210221.4]
+  assign _T_350 = ~ _T_314; // @[Fragmenter.scala 281:88:shc.marmotcaravel.MarmotCaravelConfig.fir@210222.4]
+  assign _T_351 = _T_349 | _T_350; // @[Fragmenter.scala 281:86:shc.marmotcaravel.MarmotCaravelConfig.fir@210223.4]
+  assign _GEN_13 = {{4'd0}, _T_318}; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@210224.4]
+  assign _T_352 = _T_351 | _GEN_13; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@210224.4]
+  assign _T_353 = _T_352 | 6'h3; // @[Fragmenter.scala 281:109:shc.marmotcaravel.MarmotCaravelConfig.fir@210225.4]
+  assign _T_354 = ~ _T_353; // @[Fragmenter.scala 281:49:shc.marmotcaravel.MarmotCaravelConfig.fir@210226.4]
+  assign _GEN_14 = {{22'd0}, _T_354}; // @[Fragmenter.scala 281:47:shc.marmotcaravel.MarmotCaravelConfig.fir@210227.4]
+  assign _T_356 = {_T_343,_T_333}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@210229.4]
+  assign _T_357 = {Repeater_io_deq_bits_source,_T_344}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@210230.4]
+  assign _T_359 = Repeater_io_full == 1'h0; // @[Fragmenter.scala 286:15:shc.marmotcaravel.MarmotCaravelConfig.fir@210234.4]
+  assign _T_361 = _T_359 | _T_346; // @[Fragmenter.scala 286:33:shc.marmotcaravel.MarmotCaravelConfig.fir@210236.4]
+  assign _T_363 = _T_361 | reset; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210238.4]
+  assign _T_364 = _T_363 == 1'h0; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210239.4]
+  assign _T_366 = Repeater_io_deq_bits_mask == 4'hf; // @[Fragmenter.scala 289:51:shc.marmotcaravel.MarmotCaravelConfig.fir@210246.4]
+  assign _T_367 = _T_359 | _T_366; // @[Fragmenter.scala 289:33:shc.marmotcaravel.MarmotCaravelConfig.fir@210247.4]
+  assign _T_369 = _T_367 | reset; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210249.4]
+  assign _T_370 = _T_369 == 1'h0; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210250.4]
+  assign auto_in_a_ready = Repeater_io_enq_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@210072.4]
+  assign auto_in_d_valid = auto_out_d_valid & _T_281; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@210072.4]
+  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@210072.4]
+  assign auto_in_d_bits_size = _T_228 ? _T_268 : _T_224; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@210072.4]
+  assign auto_in_d_bits_source = auto_out_d_bits_source[6:6]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@210072.4]
+  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@210072.4]
+  assign auto_out_a_valid = Repeater_io_deq_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@210071.4]
+  assign auto_out_a_bits_opcode = Repeater_io_deq_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@210071.4]
+  assign auto_out_a_bits_size = _T_310[1:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@210071.4]
+  assign auto_out_a_bits_source = {_T_357,_T_356}; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@210071.4]
+  assign auto_out_a_bits_address = Repeater_io_deq_bits_address | _GEN_14; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@210071.4]
+  assign auto_out_a_bits_mask = Repeater_io_full ? 4'hf : auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@210071.4]
+  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@210071.4]
+  assign auto_out_d_ready = auto_in_d_ready | _T_279; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@210071.4]
+  assign Repeater_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210152.4]
+  assign Repeater_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210153.4]
+  assign Repeater_io_repeat = _T_346 & _T_347; // @[Fragmenter.scala 279:26:shc.marmotcaravel.MarmotCaravelConfig.fir@210219.4]
+  assign Repeater_io_enq_valid = auto_in_a_valid; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@210154.4]
+  assign Repeater_io_enq_bits_opcode = auto_in_a_bits_opcode; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@210154.4]
+  assign Repeater_io_enq_bits_param = auto_in_a_bits_param; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@210154.4]
+  assign Repeater_io_enq_bits_size = auto_in_a_bits_size; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@210154.4]
+  assign Repeater_io_enq_bits_source = auto_in_a_bits_source; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@210154.4]
+  assign Repeater_io_enq_bits_address = auto_in_a_bits_address; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@210154.4]
+  assign Repeater_io_enq_bits_mask = auto_in_a_bits_mask; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@210154.4]
+  assign Repeater_io_enq_bits_corrupt = auto_in_a_bits_corrupt; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@210154.4]
+  assign Repeater_io_deq_ready = auto_out_a_ready; // @[Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@210220.4]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  _T_222 = _RAND_0[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  _T_224 = _RAND_1[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  _T_226 = _RAND_2[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  _T_323 = _RAND_3[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  _T_341 = _RAND_4[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      _T_222 <= 4'h0;
+    end else begin
+      if (_T_269) begin
+        if (_T_228) begin
+          _T_222 <= _T_227;
+        end else begin
+          _T_222 <= _T_272;
+        end
+      end
+    end
+    if (_T_269) begin
+      if (_T_228) begin
+        _T_224 <= _T_268;
+      end
+    end
+    if (reset) begin
+      _T_226 <= 1'h0;
+    end else begin
+      if (_T_269) begin
+        if (_T_228) begin
+          _T_226 <= _T_274;
+        end
+      end
+    end
+    if (reset) begin
+      _T_323 <= 4'h0;
+    end else begin
+      if (_T_345) begin
+        _T_323 <= _T_333;
+      end
+    end
+    if (_T_324) begin
+      _T_341 <= _T_226;
+    end
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:180 assert (!out.d.valid || (acknum_fragment & acknum_size) === UInt(0))\n"); // @[Fragmenter.scala 180:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210097.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Fragmenter.scala 180:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210098.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_364) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:286 assert (!repeater.io.full || !aHasData)\n"); // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210241.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_364) begin
+          $fatal; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210242.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_370) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:289 assert (!repeater.io.full || in_a.bits.mask === fullMask)\n"); // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210252.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_370) begin
+          $fatal; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210253.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+endmodule
+module ScratchpadSlavePort( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210264.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210265.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210266.4]
+  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210267.4]
+  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210267.4]
+  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210267.4]
+  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210267.4]
+  input  [1:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210267.4]
+  input  [6:0]  auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210267.4]
+  input  [31:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210267.4]
+  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210267.4]
+  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210267.4]
+  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210267.4]
+  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210267.4]
+  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210267.4]
+  output [1:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210267.4]
+  output [6:0]  auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210267.4]
+  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210267.4]
+  input         io_dmem_req_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210268.4]
+  output        io_dmem_req_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210268.4]
+  output [31:0] io_dmem_req_bits_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210268.4]
+  output [4:0]  io_dmem_req_bits_cmd, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210268.4]
+  output [2:0]  io_dmem_req_bits_typ, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210268.4]
+  output        io_dmem_s1_kill, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210268.4]
+  output [31:0] io_dmem_s1_data_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210268.4]
+  output [3:0]  io_dmem_s1_data_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210268.4]
+  input         io_dmem_s2_nack, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210268.4]
+  input         io_dmem_resp_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210268.4]
+  input  [31:0] io_dmem_resp_bits_data_raw // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210268.4]
+);
+  reg [2:0] state; // @[ScratchpadSlavePort.scala 40:20:shc.marmotcaravel.MarmotCaravelConfig.fir@210277.4]
+  reg [31:0] _RAND_0;
+  wire  _T_174; // @[ScratchpadSlavePort.scala 42:17:shc.marmotcaravel.MarmotCaravelConfig.fir@210280.4]
+  wire  _T_226; // @[ScratchpadSlavePort.scala 91:50:shc.marmotcaravel.MarmotCaravelConfig.fir@210370.4]
+  wire  tl_in_d_valid; // @[ScratchpadSlavePort.scala 91:41:shc.marmotcaravel.MarmotCaravelConfig.fir@210371.4]
+  wire  _T_175; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@210287.4]
+  wire  _T_180; // @[ScratchpadSlavePort.scala 79:23:shc.marmotcaravel.MarmotCaravelConfig.fir@210306.4]
+  wire  _T_181; // @[ScratchpadSlavePort.scala 79:44:shc.marmotcaravel.MarmotCaravelConfig.fir@210307.4]
+  wire  _T_182; // @[ScratchpadSlavePort.scala 79:56:shc.marmotcaravel.MarmotCaravelConfig.fir@210308.4]
+  wire  _T_183; // @[ScratchpadSlavePort.scala 79:78:shc.marmotcaravel.MarmotCaravelConfig.fir@210309.4]
+  wire  ready; // @[ScratchpadSlavePort.scala 79:35:shc.marmotcaravel.MarmotCaravelConfig.fir@210310.4]
+  wire  _T_184; // @[ScratchpadSlavePort.scala 80:38:shc.marmotcaravel.MarmotCaravelConfig.fir@210311.4]
+  wire  _T_185; // @[ScratchpadSlavePort.scala 80:57:shc.marmotcaravel.MarmotCaravelConfig.fir@210312.4]
+  wire  dmem_req_valid; // @[ScratchpadSlavePort.scala 80:48:shc.marmotcaravel.MarmotCaravelConfig.fir@210313.4]
+  wire  _T_176; // @[ScratchpadSlavePort.scala 46:26:shc.marmotcaravel.MarmotCaravelConfig.fir@210294.4]
+  reg [2:0] acq_opcode; // @[ScratchpadSlavePort.scala 48:18:shc.marmotcaravel.MarmotCaravelConfig.fir@210298.4]
+  reg [31:0] _RAND_1;
+  reg [2:0] acq_param; // @[ScratchpadSlavePort.scala 48:18:shc.marmotcaravel.MarmotCaravelConfig.fir@210298.4]
+  reg [31:0] _RAND_2;
+  reg [1:0] acq_size; // @[ScratchpadSlavePort.scala 48:18:shc.marmotcaravel.MarmotCaravelConfig.fir@210298.4]
+  reg [31:0] _RAND_3;
+  reg [6:0] acq_source; // @[ScratchpadSlavePort.scala 48:18:shc.marmotcaravel.MarmotCaravelConfig.fir@210298.4]
+  reg [31:0] _RAND_4;
+  reg [31:0] acq_address; // @[ScratchpadSlavePort.scala 48:18:shc.marmotcaravel.MarmotCaravelConfig.fir@210298.4]
+  reg [31:0] _RAND_5;
+  reg [3:0] acq_mask; // @[ScratchpadSlavePort.scala 48:18:shc.marmotcaravel.MarmotCaravelConfig.fir@210298.4]
+  reg [31:0] _RAND_6;
+  reg [31:0] acq_data; // @[ScratchpadSlavePort.scala 48:18:shc.marmotcaravel.MarmotCaravelConfig.fir@210298.4]
+  reg [31:0] _RAND_7;
+  wire  tl_in_a_ready; // @[ScratchpadSlavePort.scala 84:40:shc.marmotcaravel.MarmotCaravelConfig.fir@210319.4]
+  wire  _T_177; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@210299.4]
+  wire  ready_likely; // @[ScratchpadSlavePort.scala 78:42:shc.marmotcaravel.MarmotCaravelConfig.fir@210305.4]
+  wire  _T_187; // @[ScratchpadSlavePort.scala 81:48:shc.marmotcaravel.MarmotCaravelConfig.fir@210315.4]
+  wire [2:0] _T_191_opcode; // @[ScratchpadSlavePort.scala 85:41:shc.marmotcaravel.MarmotCaravelConfig.fir@210322.4]
+  wire [2:0] _T_191_param; // @[ScratchpadSlavePort.scala 85:41:shc.marmotcaravel.MarmotCaravelConfig.fir@210322.4]
+  wire [1:0] _T_191_size; // @[ScratchpadSlavePort.scala 85:41:shc.marmotcaravel.MarmotCaravelConfig.fir@210322.4]
+  wire  _T_196; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@210329.4]
+  wire [3:0] _T_197; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@210330.4]
+  wire  _T_198; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@210331.4]
+  wire [3:0] _T_199; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@210332.4]
+  wire  _T_200; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@210333.4]
+  wire [3:0] _T_201; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@210334.4]
+  wire  _T_202; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@210335.4]
+  wire [3:0] _T_203; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@210336.4]
+  wire  _T_204; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@210337.4]
+  wire [3:0] _T_205; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@210338.4]
+  wire [2:0] _T_208; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@210342.4]
+  wire [3:0] _T_210; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@210344.4]
+  wire [3:0] _T_212; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@210346.4]
+  wire [3:0] _T_214; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@210348.4]
+  wire  _T_217; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@210351.4]
+  wire [3:0] _T_218; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@210352.4]
+  wire  _T_219; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@210353.4]
+  wire [3:0] _T_220; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@210354.4]
+  wire  _T_221; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@210355.4]
+  wire [4:0] _T_222; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@210356.4]
+  wire  _T_223; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@210357.4]
+  wire  _T_228; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@210373.4]
+  wire  _T_229; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@210374.4]
+  wire  _T_230; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@210375.4]
+  reg [31:0] _T_238; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@210399.4]
+  reg [31:0] _RAND_8;
+  assign _T_174 = state == 3'h1; // @[ScratchpadSlavePort.scala 42:17:shc.marmotcaravel.MarmotCaravelConfig.fir@210280.4]
+  assign _T_226 = state == 3'h4; // @[ScratchpadSlavePort.scala 91:50:shc.marmotcaravel.MarmotCaravelConfig.fir@210370.4]
+  assign tl_in_d_valid = io_dmem_resp_valid | _T_226; // @[ScratchpadSlavePort.scala 91:41:shc.marmotcaravel.MarmotCaravelConfig.fir@210371.4]
+  assign _T_175 = auto_in_d_ready & tl_in_d_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@210287.4]
+  assign _T_180 = state == 3'h0; // @[ScratchpadSlavePort.scala 79:23:shc.marmotcaravel.MarmotCaravelConfig.fir@210306.4]
+  assign _T_181 = state == 3'h2; // @[ScratchpadSlavePort.scala 79:44:shc.marmotcaravel.MarmotCaravelConfig.fir@210307.4]
+  assign _T_182 = _T_181 & io_dmem_resp_valid; // @[ScratchpadSlavePort.scala 79:56:shc.marmotcaravel.MarmotCaravelConfig.fir@210308.4]
+  assign _T_183 = _T_182 & auto_in_d_ready; // @[ScratchpadSlavePort.scala 79:78:shc.marmotcaravel.MarmotCaravelConfig.fir@210309.4]
+  assign ready = _T_180 | _T_183; // @[ScratchpadSlavePort.scala 79:35:shc.marmotcaravel.MarmotCaravelConfig.fir@210310.4]
+  assign _T_184 = auto_in_a_valid & ready; // @[ScratchpadSlavePort.scala 80:38:shc.marmotcaravel.MarmotCaravelConfig.fir@210311.4]
+  assign _T_185 = state == 3'h3; // @[ScratchpadSlavePort.scala 80:57:shc.marmotcaravel.MarmotCaravelConfig.fir@210312.4]
+  assign dmem_req_valid = _T_184 | _T_185; // @[ScratchpadSlavePort.scala 80:48:shc.marmotcaravel.MarmotCaravelConfig.fir@210313.4]
+  assign _T_176 = dmem_req_valid & io_dmem_req_ready; // @[ScratchpadSlavePort.scala 46:26:shc.marmotcaravel.MarmotCaravelConfig.fir@210294.4]
+  assign tl_in_a_ready = io_dmem_req_ready & ready; // @[ScratchpadSlavePort.scala 84:40:shc.marmotcaravel.MarmotCaravelConfig.fir@210319.4]
+  assign _T_177 = tl_in_a_ready & auto_in_a_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@210299.4]
+  assign ready_likely = _T_180 | _T_181; // @[ScratchpadSlavePort.scala 78:42:shc.marmotcaravel.MarmotCaravelConfig.fir@210305.4]
+  assign _T_187 = auto_in_a_valid & ready_likely; // @[ScratchpadSlavePort.scala 81:48:shc.marmotcaravel.MarmotCaravelConfig.fir@210315.4]
+  assign _T_191_opcode = _T_185 ? acq_opcode : auto_in_a_bits_opcode; // @[ScratchpadSlavePort.scala 85:41:shc.marmotcaravel.MarmotCaravelConfig.fir@210322.4]
+  assign _T_191_param = _T_185 ? acq_param : auto_in_a_bits_param; // @[ScratchpadSlavePort.scala 85:41:shc.marmotcaravel.MarmotCaravelConfig.fir@210322.4]
+  assign _T_191_size = _T_185 ? acq_size : auto_in_a_bits_size; // @[ScratchpadSlavePort.scala 85:41:shc.marmotcaravel.MarmotCaravelConfig.fir@210322.4]
+  assign _T_196 = 3'h4 == _T_191_param; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@210329.4]
+  assign _T_197 = _T_196 ? 4'h8 : 4'h0; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@210330.4]
+  assign _T_198 = 3'h3 == _T_191_param; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@210331.4]
+  assign _T_199 = _T_198 ? 4'hf : _T_197; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@210332.4]
+  assign _T_200 = 3'h2 == _T_191_param; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@210333.4]
+  assign _T_201 = _T_200 ? 4'he : _T_199; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@210334.4]
+  assign _T_202 = 3'h1 == _T_191_param; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@210335.4]
+  assign _T_203 = _T_202 ? 4'hd : _T_201; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@210336.4]
+  assign _T_204 = 3'h0 == _T_191_param; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@210337.4]
+  assign _T_205 = _T_204 ? 4'hc : _T_203; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@210338.4]
+  assign _T_208 = _T_198 ? 3'h4 : 3'h0; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@210342.4]
+  assign _T_210 = _T_200 ? 4'hb : {{1'd0}, _T_208}; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@210344.4]
+  assign _T_212 = _T_202 ? 4'ha : _T_210; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@210346.4]
+  assign _T_214 = _T_204 ? 4'h9 : _T_212; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@210348.4]
+  assign _T_217 = 3'h3 == _T_191_opcode; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@210351.4]
+  assign _T_218 = _T_217 ? _T_214 : 4'h0; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@210352.4]
+  assign _T_219 = 3'h2 == _T_191_opcode; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@210353.4]
+  assign _T_220 = _T_219 ? _T_205 : _T_218; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@210354.4]
+  assign _T_221 = 3'h1 == _T_191_opcode; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@210355.4]
+  assign _T_222 = _T_221 ? 5'h11 : {{1'd0}, _T_220}; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@210356.4]
+  assign _T_223 = 3'h0 == _T_191_opcode; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@210357.4]
+  assign _T_228 = acq_opcode == 3'h0; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@210373.4]
+  assign _T_229 = acq_opcode == 3'h1; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@210374.4]
+  assign _T_230 = _T_228 | _T_229; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@210375.4]
+  assign auto_in_a_ready = io_dmem_req_ready & ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@210276.4]
+  assign auto_in_d_valid = io_dmem_resp_valid | _T_226; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@210276.4]
+  assign auto_in_d_bits_opcode = _T_230 ? 3'h0 : 3'h1; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@210276.4]
+  assign auto_in_d_bits_size = acq_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@210276.4]
+  assign auto_in_d_bits_source = acq_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@210276.4]
+  assign auto_in_d_bits_data = _T_181 ? io_dmem_resp_bits_data_raw : _T_238; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@210276.4]
+  assign io_dmem_req_valid = _T_187 | _T_185; // @[ScratchpadSlavePort.scala 83:23:shc.marmotcaravel.MarmotCaravelConfig.fir@210318.4]
+  assign io_dmem_req_bits_addr = _T_185 ? acq_address : auto_in_a_bits_address; // @[ScratchpadSlavePort.scala 85:22:shc.marmotcaravel.MarmotCaravelConfig.fir@210364.4]
+  assign io_dmem_req_bits_cmd = _T_223 ? 5'h1 : _T_222; // @[ScratchpadSlavePort.scala 85:22:shc.marmotcaravel.MarmotCaravelConfig.fir@210364.4]
+  assign io_dmem_req_bits_typ = {{1'd0}, _T_191_size}; // @[ScratchpadSlavePort.scala 85:22:shc.marmotcaravel.MarmotCaravelConfig.fir@210364.4]
+  assign io_dmem_s1_kill = state != 3'h1; // @[ScratchpadSlavePort.scala 88:21:shc.marmotcaravel.MarmotCaravelConfig.fir@210368.4]
+  assign io_dmem_s1_data_data = acq_data; // @[ScratchpadSlavePort.scala 86:26:shc.marmotcaravel.MarmotCaravelConfig.fir@210365.4]
+  assign io_dmem_s1_data_mask = acq_mask; // @[ScratchpadSlavePort.scala 87:26:shc.marmotcaravel.MarmotCaravelConfig.fir@210366.4]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  state = _RAND_0[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  acq_opcode = _RAND_1[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  acq_param = _RAND_2[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  acq_size = _RAND_3[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  acq_source = _RAND_4[6:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  acq_address = _RAND_5[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {1{`RANDOM}};
+  acq_mask = _RAND_6[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {1{`RANDOM}};
+  acq_data = _RAND_7[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_8 = {1{`RANDOM}};
+  _T_238 = _RAND_8[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      state <= 3'h0;
+    end else begin
+      if (_T_176) begin
+        state <= 3'h1;
+      end else begin
+        if (io_dmem_s2_nack) begin
+          state <= 3'h3;
+        end else begin
+          if (_T_175) begin
+            state <= 3'h0;
+          end else begin
+            if (io_dmem_resp_valid) begin
+              state <= 3'h4;
+            end else begin
+              if (_T_174) begin
+                state <= 3'h2;
+              end
+            end
+          end
+        end
+      end
+    end
+    if (_T_177) begin
+      acq_opcode <= auto_in_a_bits_opcode;
+    end
+    if (_T_177) begin
+      acq_param <= auto_in_a_bits_param;
+    end
+    if (_T_177) begin
+      acq_size <= auto_in_a_bits_size;
+    end
+    if (_T_177) begin
+      acq_source <= auto_in_a_bits_source;
+    end
+    if (_T_177) begin
+      acq_address <= auto_in_a_bits_address;
+    end
+    if (_T_177) begin
+      acq_mask <= auto_in_a_bits_mask;
+    end
+    if (_T_177) begin
+      acq_data <= auto_in_a_bits_data;
+    end
+    if (_T_181) begin
+      _T_238 <= io_dmem_resp_bits_data_raw;
+    end
+  end
+endmodule
+module Repeater_19( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210409.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210410.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210411.4]
+  input         io_repeat, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210412.4]
+  output        io_full, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210412.4]
+  output        io_enq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210412.4]
+  input         io_enq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210412.4]
+  input  [2:0]  io_enq_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210412.4]
+  input  [2:0]  io_enq_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210412.4]
+  input  [2:0]  io_enq_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210412.4]
+  input         io_enq_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210412.4]
+  input  [31:0] io_enq_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210412.4]
+  input  [3:0]  io_enq_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210412.4]
+  input         io_deq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210412.4]
+  output        io_deq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210412.4]
+  output [2:0]  io_deq_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210412.4]
+  output [2:0]  io_deq_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210412.4]
+  output [2:0]  io_deq_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210412.4]
+  output        io_deq_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210412.4]
+  output [31:0] io_deq_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210412.4]
+  output [3:0]  io_deq_bits_mask // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210412.4]
+);
+  reg  full; // @[Repeater.scala 18:21:shc.marmotcaravel.MarmotCaravelConfig.fir@210417.4]
+  reg [31:0] _RAND_0;
+  reg [2:0] saved_opcode; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@210418.4]
+  reg [31:0] _RAND_1;
+  reg [2:0] saved_param; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@210418.4]
+  reg [31:0] _RAND_2;
+  reg [2:0] saved_size; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@210418.4]
+  reg [31:0] _RAND_3;
+  reg  saved_source; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@210418.4]
+  reg [31:0] _RAND_4;
+  reg [31:0] saved_address; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@210418.4]
+  reg [31:0] _RAND_5;
+  reg [3:0] saved_mask; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@210418.4]
+  reg [31:0] _RAND_6;
+  wire  _T_18; // @[Repeater.scala 23:35:shc.marmotcaravel.MarmotCaravelConfig.fir@210421.4]
+  wire  _T_21; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@210427.4]
+  wire  _T_22; // @[Repeater.scala 27:23:shc.marmotcaravel.MarmotCaravelConfig.fir@210428.4]
+  wire  _T_23; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@210433.4]
+  wire  _T_24; // @[Repeater.scala 28:26:shc.marmotcaravel.MarmotCaravelConfig.fir@210434.4]
+  wire  _T_25; // @[Repeater.scala 28:23:shc.marmotcaravel.MarmotCaravelConfig.fir@210435.4]
+  assign _T_18 = full == 1'h0; // @[Repeater.scala 23:35:shc.marmotcaravel.MarmotCaravelConfig.fir@210421.4]
+  assign _T_21 = io_enq_ready & io_enq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@210427.4]
+  assign _T_22 = _T_21 & io_repeat; // @[Repeater.scala 27:23:shc.marmotcaravel.MarmotCaravelConfig.fir@210428.4]
+  assign _T_23 = io_deq_ready & io_deq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@210433.4]
+  assign _T_24 = io_repeat == 1'h0; // @[Repeater.scala 28:26:shc.marmotcaravel.MarmotCaravelConfig.fir@210434.4]
+  assign _T_25 = _T_23 & _T_24; // @[Repeater.scala 28:23:shc.marmotcaravel.MarmotCaravelConfig.fir@210435.4]
+  assign io_full = full; // @[Repeater.scala 25:11:shc.marmotcaravel.MarmotCaravelConfig.fir@210426.4]
+  assign io_enq_ready = io_deq_ready & _T_18; // @[Repeater.scala 23:16:shc.marmotcaravel.MarmotCaravelConfig.fir@210423.4]
+  assign io_deq_valid = io_enq_valid | full; // @[Repeater.scala 22:16:shc.marmotcaravel.MarmotCaravelConfig.fir@210420.4]
+  assign io_deq_bits_opcode = full ? saved_opcode : io_enq_bits_opcode; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@210425.4]
+  assign io_deq_bits_param = full ? saved_param : io_enq_bits_param; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@210425.4]
+  assign io_deq_bits_size = full ? saved_size : io_enq_bits_size; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@210425.4]
+  assign io_deq_bits_source = full ? saved_source : io_enq_bits_source; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@210425.4]
+  assign io_deq_bits_address = full ? saved_address : io_enq_bits_address; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@210425.4]
+  assign io_deq_bits_mask = full ? saved_mask : io_enq_bits_mask; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@210425.4]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  full = _RAND_0[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  saved_opcode = _RAND_1[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  saved_param = _RAND_2[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  saved_size = _RAND_3[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  saved_source = _RAND_4[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  saved_address = _RAND_5[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {1{`RANDOM}};
+  saved_mask = _RAND_6[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      full <= 1'h0;
+    end else begin
+      if (_T_25) begin
+        full <= 1'h0;
+      end else begin
+        if (_T_22) begin
+          full <= 1'h1;
+        end
+      end
+    end
+    if (_T_22) begin
+      saved_opcode <= io_enq_bits_opcode;
+    end
+    if (_T_22) begin
+      saved_param <= io_enq_bits_param;
+    end
+    if (_T_22) begin
+      saved_size <= io_enq_bits_size;
+    end
+    if (_T_22) begin
+      saved_source <= io_enq_bits_source;
+    end
+    if (_T_22) begin
+      saved_address <= io_enq_bits_address;
+    end
+    if (_T_22) begin
+      saved_mask <= io_enq_bits_mask;
+    end
+  end
+endmodule
+module TLFragmenter_18( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210440.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210441.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210442.4]
+  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210443.4]
+  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210443.4]
+  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210443.4]
+  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210443.4]
+  input  [2:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210443.4]
+  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210443.4]
+  input  [31:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210443.4]
+  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210443.4]
+  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210443.4]
+  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210443.4]
+  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210443.4]
+  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210443.4]
+  output [2:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210443.4]
+  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210443.4]
+  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210443.4]
+  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210443.4]
+  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210443.4]
+  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210443.4]
+  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210443.4]
+  output [1:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210443.4]
+  output [6:0]  auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210443.4]
+  output [31:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210443.4]
+  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210443.4]
+  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210443.4]
+  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210443.4]
+  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210443.4]
+  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210443.4]
+  input  [1:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210443.4]
+  input  [6:0]  auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210443.4]
+  input  [31:0] auto_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210443.4]
+);
+  wire  Repeater_clock; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210531.4]
+  wire  Repeater_reset; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210531.4]
+  wire  Repeater_io_repeat; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210531.4]
+  wire  Repeater_io_full; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210531.4]
+  wire  Repeater_io_enq_ready; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210531.4]
+  wire  Repeater_io_enq_valid; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210531.4]
+  wire [2:0] Repeater_io_enq_bits_opcode; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210531.4]
+  wire [2:0] Repeater_io_enq_bits_param; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210531.4]
+  wire [2:0] Repeater_io_enq_bits_size; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210531.4]
+  wire  Repeater_io_enq_bits_source; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210531.4]
+  wire [31:0] Repeater_io_enq_bits_address; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210531.4]
+  wire [3:0] Repeater_io_enq_bits_mask; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210531.4]
+  wire  Repeater_io_deq_ready; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210531.4]
+  wire  Repeater_io_deq_valid; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210531.4]
+  wire [2:0] Repeater_io_deq_bits_opcode; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210531.4]
+  wire [2:0] Repeater_io_deq_bits_param; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210531.4]
+  wire [2:0] Repeater_io_deq_bits_size; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210531.4]
+  wire  Repeater_io_deq_bits_source; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210531.4]
+  wire [31:0] Repeater_io_deq_bits_address; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210531.4]
+  wire [3:0] Repeater_io_deq_bits_mask; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210531.4]
+  reg [3:0] _T_222; // @[Fragmenter.scala 167:27:shc.marmotcaravel.MarmotCaravelConfig.fir@210454.4]
+  reg [31:0] _RAND_0;
+  reg [2:0] _T_224; // @[Fragmenter.scala 168:22:shc.marmotcaravel.MarmotCaravelConfig.fir@210455.4]
+  reg [31:0] _RAND_1;
+  reg  _T_226; // @[Fragmenter.scala 169:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210456.4]
+  reg [31:0] _RAND_2;
+  wire [3:0] _T_227; // @[Fragmenter.scala 170:39:shc.marmotcaravel.MarmotCaravelConfig.fir@210457.4]
+  wire  _T_228; // @[Fragmenter.scala 171:27:shc.marmotcaravel.MarmotCaravelConfig.fir@210458.4]
+  wire  _T_229; // @[Fragmenter.scala 172:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210459.4]
+  wire [3:0] _T_231; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@210461.4]
+  wire [2:0] _T_232; // @[OneHot.scala 52:27:shc.marmotcaravel.MarmotCaravelConfig.fir@210462.4]
+  wire [4:0] _T_234; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@210464.4]
+  wire [1:0] _T_235; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@210465.4]
+  wire [1:0] _T_236; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@210466.4]
+  wire  _T_237; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@210467.4]
+  wire  _T_249; // @[Fragmenter.scala 182:58:shc.marmotcaravel.MarmotCaravelConfig.fir@210483.4]
+  wire  _T_250; // @[Fragmenter.scala 182:30:shc.marmotcaravel.MarmotCaravelConfig.fir@210484.4]
+  wire [5:0] _GEN_7; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@210485.4]
+  wire [5:0] _T_251; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@210485.4]
+  wire [5:0] _GEN_8; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@210486.4]
+  wire [5:0] _T_252; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@210486.4]
+  wire [6:0] _GEN_9; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@210487.4]
+  wire [6:0] _T_253; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@210487.4]
+  wire [6:0] _T_254; // @[package.scala 183:40:shc.marmotcaravel.MarmotCaravelConfig.fir@210488.4]
+  wire [6:0] _T_255; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@210489.4]
+  wire [6:0] _T_256; // @[package.scala 183:53:shc.marmotcaravel.MarmotCaravelConfig.fir@210490.4]
+  wire [6:0] _T_257; // @[package.scala 183:51:shc.marmotcaravel.MarmotCaravelConfig.fir@210491.4]
+  wire [2:0] _T_258; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@210492.4]
+  wire [3:0] _T_259; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@210493.4]
+  wire  _T_260; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210494.4]
+  wire [3:0] _GEN_10; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210495.4]
+  wire [3:0] _T_261; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210495.4]
+  wire [1:0] _T_262; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@210496.4]
+  wire [1:0] _T_263; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@210497.4]
+  wire  _T_264; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210498.4]
+  wire [1:0] _T_265; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210499.4]
+  wire  _T_266; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@210500.4]
+  wire [1:0] _T_267; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@210501.4]
+  wire [2:0] _T_268; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@210502.4]
+  wire  _T_276; // @[Fragmenter.scala 200:18:shc.marmotcaravel.MarmotCaravelConfig.fir@210517.4]
+  wire  _T_275; // @[Fragmenter.scala 197:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210516.4]
+  wire  _T_277; // @[Fragmenter.scala 200:35:shc.marmotcaravel.MarmotCaravelConfig.fir@210518.4]
+  wire  _T_278; // @[Fragmenter.scala 200:31:shc.marmotcaravel.MarmotCaravelConfig.fir@210519.4]
+  wire  _T_279; // @[Fragmenter.scala 200:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210520.4]
+  wire  _T_280; // @[Fragmenter.scala 201:33:shc.marmotcaravel.MarmotCaravelConfig.fir@210521.4]
+  wire  _T_269; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@210503.4]
+  wire [3:0] _GEN_11; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@210505.6]
+  wire [4:0] _T_270; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@210505.6]
+  wire [4:0] _T_271; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@210506.6]
+  wire [3:0] _T_272; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@210507.6]
+  wire  _T_274; // @[Fragmenter.scala 190:39:shc.marmotcaravel.MarmotCaravelConfig.fir@210512.8]
+  wire  _T_281; // @[Fragmenter.scala 202:37:shc.marmotcaravel.MarmotCaravelConfig.fir@210523.4]
+  wire  _T_309; // @[Fragmenter.scala 262:29:shc.marmotcaravel.MarmotCaravelConfig.fir@210556.4]
+  wire [2:0] _T_310; // @[Fragmenter.scala 262:22:shc.marmotcaravel.MarmotCaravelConfig.fir@210557.4]
+  wire [12:0] _T_312; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@210559.4]
+  wire [5:0] _T_313; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@210560.4]
+  wire [5:0] _T_314; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@210561.4]
+  wire [8:0] _T_316; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@210563.4]
+  wire [1:0] _T_317; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@210564.4]
+  wire [1:0] _T_318; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@210565.4]
+  wire  _T_319; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@210566.4]
+  wire  _T_320; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210567.4]
+  reg [3:0] _T_323; // @[Fragmenter.scala 268:27:shc.marmotcaravel.MarmotCaravelConfig.fir@210569.4]
+  reg [31:0] _RAND_3;
+  wire  _T_324; // @[Fragmenter.scala 269:27:shc.marmotcaravel.MarmotCaravelConfig.fir@210570.4]
+  wire [3:0] _T_325; // @[Fragmenter.scala 270:46:shc.marmotcaravel.MarmotCaravelConfig.fir@210571.4]
+  wire [4:0] _T_326; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@210572.4]
+  wire [4:0] _T_327; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@210573.4]
+  wire [3:0] _T_328; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@210574.4]
+  wire [3:0] _T_329; // @[Fragmenter.scala 270:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210575.4]
+  wire [3:0] _T_330; // @[Fragmenter.scala 271:26:shc.marmotcaravel.MarmotCaravelConfig.fir@210576.4]
+  wire [3:0] _T_333; // @[Fragmenter.scala 271:24:shc.marmotcaravel.MarmotCaravelConfig.fir@210579.4]
+  reg  _T_341; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@210586.4]
+  reg [31:0] _RAND_4;
+  wire  _GEN_5; // @[Reg.scala 12:19:shc.marmotcaravel.MarmotCaravelConfig.fir@210587.4]
+  wire  _T_343; // @[Fragmenter.scala 274:21:shc.marmotcaravel.MarmotCaravelConfig.fir@210591.4]
+  wire  _T_344; // @[Fragmenter.scala 275:76:shc.marmotcaravel.MarmotCaravelConfig.fir@210592.4]
+  wire  _T_70_a_valid; // @[Nodes.scala 332:76:shc.marmotcaravel.MarmotCaravelConfig.fir@210450.4 Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@210601.4]
+  wire  _T_345; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@210593.4]
+  wire  _T_346; // @[Fragmenter.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@210597.4]
+  wire  _T_347; // @[Fragmenter.scala 279:51:shc.marmotcaravel.MarmotCaravelConfig.fir@210598.4]
+  wire [5:0] _GEN_12; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@210602.4]
+  wire [5:0] _T_349; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@210602.4]
+  wire [5:0] _T_350; // @[Fragmenter.scala 281:88:shc.marmotcaravel.MarmotCaravelConfig.fir@210603.4]
+  wire [5:0] _T_351; // @[Fragmenter.scala 281:86:shc.marmotcaravel.MarmotCaravelConfig.fir@210604.4]
+  wire [5:0] _GEN_13; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@210605.4]
+  wire [5:0] _T_352; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@210605.4]
+  wire [5:0] _T_353; // @[Fragmenter.scala 281:109:shc.marmotcaravel.MarmotCaravelConfig.fir@210606.4]
+  wire [5:0] _T_354; // @[Fragmenter.scala 281:49:shc.marmotcaravel.MarmotCaravelConfig.fir@210607.4]
+  wire [31:0] _GEN_14; // @[Fragmenter.scala 281:47:shc.marmotcaravel.MarmotCaravelConfig.fir@210608.4]
+  wire [4:0] _T_356; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@210610.4]
+  wire [1:0] _T_357; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@210611.4]
+  wire  _T_359; // @[Fragmenter.scala 286:15:shc.marmotcaravel.MarmotCaravelConfig.fir@210615.4]
+  wire  _T_361; // @[Fragmenter.scala 286:33:shc.marmotcaravel.MarmotCaravelConfig.fir@210617.4]
+  wire  _T_363; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210619.4]
+  wire  _T_364; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210620.4]
+  wire  _T_366; // @[Fragmenter.scala 289:51:shc.marmotcaravel.MarmotCaravelConfig.fir@210627.4]
+  wire  _T_367; // @[Fragmenter.scala 289:33:shc.marmotcaravel.MarmotCaravelConfig.fir@210628.4]
+  wire  _T_369; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210630.4]
+  wire  _T_370; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210631.4]
+  Repeater_19 Repeater ( // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210531.4]
+    .clock(Repeater_clock),
+    .reset(Repeater_reset),
+    .io_repeat(Repeater_io_repeat),
+    .io_full(Repeater_io_full),
+    .io_enq_ready(Repeater_io_enq_ready),
+    .io_enq_valid(Repeater_io_enq_valid),
+    .io_enq_bits_opcode(Repeater_io_enq_bits_opcode),
+    .io_enq_bits_param(Repeater_io_enq_bits_param),
+    .io_enq_bits_size(Repeater_io_enq_bits_size),
+    .io_enq_bits_source(Repeater_io_enq_bits_source),
+    .io_enq_bits_address(Repeater_io_enq_bits_address),
+    .io_enq_bits_mask(Repeater_io_enq_bits_mask),
+    .io_deq_ready(Repeater_io_deq_ready),
+    .io_deq_valid(Repeater_io_deq_valid),
+    .io_deq_bits_opcode(Repeater_io_deq_bits_opcode),
+    .io_deq_bits_param(Repeater_io_deq_bits_param),
+    .io_deq_bits_size(Repeater_io_deq_bits_size),
+    .io_deq_bits_source(Repeater_io_deq_bits_source),
+    .io_deq_bits_address(Repeater_io_deq_bits_address),
+    .io_deq_bits_mask(Repeater_io_deq_bits_mask)
+  );
+  assign _T_227 = auto_out_d_bits_source[3:0]; // @[Fragmenter.scala 170:39:shc.marmotcaravel.MarmotCaravelConfig.fir@210457.4]
+  assign _T_228 = _T_222 == 4'h0; // @[Fragmenter.scala 171:27:shc.marmotcaravel.MarmotCaravelConfig.fir@210458.4]
+  assign _T_229 = _T_227 == 4'h0; // @[Fragmenter.scala 172:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210459.4]
+  assign _T_231 = 4'h1 << auto_out_d_bits_size; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@210461.4]
+  assign _T_232 = _T_231[2:0]; // @[OneHot.scala 52:27:shc.marmotcaravel.MarmotCaravelConfig.fir@210462.4]
+  assign _T_234 = 5'h3 << auto_out_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@210464.4]
+  assign _T_235 = _T_234[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@210465.4]
+  assign _T_236 = ~ _T_235; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@210466.4]
+  assign _T_237 = auto_out_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@210467.4]
+  assign _T_249 = _T_232[2:2]; // @[Fragmenter.scala 182:58:shc.marmotcaravel.MarmotCaravelConfig.fir@210483.4]
+  assign _T_250 = _T_237 ? 1'h1 : _T_249; // @[Fragmenter.scala 182:30:shc.marmotcaravel.MarmotCaravelConfig.fir@210484.4]
+  assign _GEN_7 = {{2'd0}, _T_227}; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@210485.4]
+  assign _T_251 = _GEN_7 << 2; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@210485.4]
+  assign _GEN_8 = {{4'd0}, _T_236}; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@210486.4]
+  assign _T_252 = _T_251 | _GEN_8; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@210486.4]
+  assign _GEN_9 = {{1'd0}, _T_252}; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@210487.4]
+  assign _T_253 = _GEN_9 << 1; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@210487.4]
+  assign _T_254 = _T_253 | 7'h1; // @[package.scala 183:40:shc.marmotcaravel.MarmotCaravelConfig.fir@210488.4]
+  assign _T_255 = {1'h0,_T_252}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@210489.4]
+  assign _T_256 = ~ _T_255; // @[package.scala 183:53:shc.marmotcaravel.MarmotCaravelConfig.fir@210490.4]
+  assign _T_257 = _T_254 & _T_256; // @[package.scala 183:51:shc.marmotcaravel.MarmotCaravelConfig.fir@210491.4]
+  assign _T_258 = _T_257[6:4]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@210492.4]
+  assign _T_259 = _T_257[3:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@210493.4]
+  assign _T_260 = _T_258 != 3'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210494.4]
+  assign _GEN_10 = {{1'd0}, _T_258}; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210495.4]
+  assign _T_261 = _GEN_10 | _T_259; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210495.4]
+  assign _T_262 = _T_261[3:2]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@210496.4]
+  assign _T_263 = _T_261[1:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@210497.4]
+  assign _T_264 = _T_262 != 2'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210498.4]
+  assign _T_265 = _T_262 | _T_263; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210499.4]
+  assign _T_266 = _T_265[1]; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@210500.4]
+  assign _T_267 = {_T_264,_T_266}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@210501.4]
+  assign _T_268 = {_T_260,_T_267}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@210502.4]
+  assign _T_276 = _T_237 == 1'h0; // @[Fragmenter.scala 200:18:shc.marmotcaravel.MarmotCaravelConfig.fir@210517.4]
+  assign _T_275 = auto_out_d_bits_source[5]; // @[Fragmenter.scala 197:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210516.4]
+  assign _T_277 = _T_275 ? _T_228 : _T_229; // @[Fragmenter.scala 200:35:shc.marmotcaravel.MarmotCaravelConfig.fir@210518.4]
+  assign _T_278 = _T_277 == 1'h0; // @[Fragmenter.scala 200:31:shc.marmotcaravel.MarmotCaravelConfig.fir@210519.4]
+  assign _T_279 = _T_276 & _T_278; // @[Fragmenter.scala 200:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210520.4]
+  assign _T_280 = auto_in_d_ready | _T_279; // @[Fragmenter.scala 201:33:shc.marmotcaravel.MarmotCaravelConfig.fir@210521.4]
+  assign _T_269 = _T_280 & auto_out_d_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@210503.4]
+  assign _GEN_11 = {{3'd0}, _T_250}; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@210505.6]
+  assign _T_270 = _T_222 - _GEN_11; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@210505.6]
+  assign _T_271 = $unsigned(_T_270); // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@210506.6]
+  assign _T_272 = _T_271[3:0]; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@210507.6]
+  assign _T_274 = auto_out_d_bits_source[4]; // @[Fragmenter.scala 190:39:shc.marmotcaravel.MarmotCaravelConfig.fir@210512.8]
+  assign _T_281 = _T_279 == 1'h0; // @[Fragmenter.scala 202:37:shc.marmotcaravel.MarmotCaravelConfig.fir@210523.4]
+  assign _T_309 = Repeater_io_deq_bits_size > 3'h2; // @[Fragmenter.scala 262:29:shc.marmotcaravel.MarmotCaravelConfig.fir@210556.4]
+  assign _T_310 = _T_309 ? 3'h2 : Repeater_io_deq_bits_size; // @[Fragmenter.scala 262:22:shc.marmotcaravel.MarmotCaravelConfig.fir@210557.4]
+  assign _T_312 = 13'h3f << Repeater_io_deq_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@210559.4]
+  assign _T_313 = _T_312[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@210560.4]
+  assign _T_314 = ~ _T_313; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@210561.4]
+  assign _T_316 = 9'h3 << _T_310; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@210563.4]
+  assign _T_317 = _T_316[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@210564.4]
+  assign _T_318 = ~ _T_317; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@210565.4]
+  assign _T_319 = Repeater_io_deq_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@210566.4]
+  assign _T_320 = _T_319 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210567.4]
+  assign _T_324 = _T_323 == 4'h0; // @[Fragmenter.scala 269:27:shc.marmotcaravel.MarmotCaravelConfig.fir@210570.4]
+  assign _T_325 = _T_314[5:2]; // @[Fragmenter.scala 270:46:shc.marmotcaravel.MarmotCaravelConfig.fir@210571.4]
+  assign _T_326 = _T_323 - 4'h1; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@210572.4]
+  assign _T_327 = $unsigned(_T_326); // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@210573.4]
+  assign _T_328 = _T_327[3:0]; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@210574.4]
+  assign _T_329 = _T_324 ? _T_325 : _T_328; // @[Fragmenter.scala 270:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210575.4]
+  assign _T_330 = ~ _T_329; // @[Fragmenter.scala 271:26:shc.marmotcaravel.MarmotCaravelConfig.fir@210576.4]
+  assign _T_333 = ~ _T_330; // @[Fragmenter.scala 271:24:shc.marmotcaravel.MarmotCaravelConfig.fir@210579.4]
+  assign _GEN_5 = _T_324 ? _T_226 : _T_341; // @[Reg.scala 12:19:shc.marmotcaravel.MarmotCaravelConfig.fir@210587.4]
+  assign _T_343 = _GEN_5 == 1'h0; // @[Fragmenter.scala 274:21:shc.marmotcaravel.MarmotCaravelConfig.fir@210591.4]
+  assign _T_344 = Repeater_io_deq_bits_opcode == 3'h0; // @[Fragmenter.scala 275:76:shc.marmotcaravel.MarmotCaravelConfig.fir@210592.4]
+  assign _T_70_a_valid = Repeater_io_deq_valid; // @[Nodes.scala 332:76:shc.marmotcaravel.MarmotCaravelConfig.fir@210450.4 Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@210601.4]
+  assign _T_345 = auto_out_a_ready & _T_70_a_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@210593.4]
+  assign _T_346 = _T_320 == 1'h0; // @[Fragmenter.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@210597.4]
+  assign _T_347 = _T_333 != 4'h0; // @[Fragmenter.scala 279:51:shc.marmotcaravel.MarmotCaravelConfig.fir@210598.4]
+  assign _GEN_12 = {{2'd0}, _T_329}; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@210602.4]
+  assign _T_349 = _GEN_12 << 2; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@210602.4]
+  assign _T_350 = ~ _T_314; // @[Fragmenter.scala 281:88:shc.marmotcaravel.MarmotCaravelConfig.fir@210603.4]
+  assign _T_351 = _T_349 | _T_350; // @[Fragmenter.scala 281:86:shc.marmotcaravel.MarmotCaravelConfig.fir@210604.4]
+  assign _GEN_13 = {{4'd0}, _T_318}; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@210605.4]
+  assign _T_352 = _T_351 | _GEN_13; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@210605.4]
+  assign _T_353 = _T_352 | 6'h3; // @[Fragmenter.scala 281:109:shc.marmotcaravel.MarmotCaravelConfig.fir@210606.4]
+  assign _T_354 = ~ _T_353; // @[Fragmenter.scala 281:49:shc.marmotcaravel.MarmotCaravelConfig.fir@210607.4]
+  assign _GEN_14 = {{26'd0}, _T_354}; // @[Fragmenter.scala 281:47:shc.marmotcaravel.MarmotCaravelConfig.fir@210608.4]
+  assign _T_356 = {_T_343,_T_333}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@210610.4]
+  assign _T_357 = {Repeater_io_deq_bits_source,_T_344}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@210611.4]
+  assign _T_359 = Repeater_io_full == 1'h0; // @[Fragmenter.scala 286:15:shc.marmotcaravel.MarmotCaravelConfig.fir@210615.4]
+  assign _T_361 = _T_359 | _T_346; // @[Fragmenter.scala 286:33:shc.marmotcaravel.MarmotCaravelConfig.fir@210617.4]
+  assign _T_363 = _T_361 | reset; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210619.4]
+  assign _T_364 = _T_363 == 1'h0; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210620.4]
+  assign _T_366 = Repeater_io_deq_bits_mask == 4'hf; // @[Fragmenter.scala 289:51:shc.marmotcaravel.MarmotCaravelConfig.fir@210627.4]
+  assign _T_367 = _T_359 | _T_366; // @[Fragmenter.scala 289:33:shc.marmotcaravel.MarmotCaravelConfig.fir@210628.4]
+  assign _T_369 = _T_367 | reset; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210630.4]
+  assign _T_370 = _T_369 == 1'h0; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210631.4]
+  assign auto_in_a_ready = Repeater_io_enq_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@210453.4]
+  assign auto_in_d_valid = auto_out_d_valid & _T_281; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@210453.4]
+  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@210453.4]
+  assign auto_in_d_bits_size = _T_228 ? _T_268 : _T_224; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@210453.4]
+  assign auto_in_d_bits_source = auto_out_d_bits_source[6:6]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@210453.4]
+  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@210453.4]
+  assign auto_out_a_valid = Repeater_io_deq_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@210452.4]
+  assign auto_out_a_bits_opcode = Repeater_io_deq_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@210452.4]
+  assign auto_out_a_bits_param = Repeater_io_deq_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@210452.4]
+  assign auto_out_a_bits_size = _T_310[1:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@210452.4]
+  assign auto_out_a_bits_source = {_T_357,_T_356}; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@210452.4]
+  assign auto_out_a_bits_address = Repeater_io_deq_bits_address | _GEN_14; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@210452.4]
+  assign auto_out_a_bits_mask = Repeater_io_full ? 4'hf : auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@210452.4]
+  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@210452.4]
+  assign auto_out_d_ready = auto_in_d_ready | _T_279; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@210452.4]
+  assign Repeater_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210533.4]
+  assign Repeater_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210534.4]
+  assign Repeater_io_repeat = _T_346 & _T_347; // @[Fragmenter.scala 279:26:shc.marmotcaravel.MarmotCaravelConfig.fir@210600.4]
+  assign Repeater_io_enq_valid = auto_in_a_valid; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@210535.4]
+  assign Repeater_io_enq_bits_opcode = auto_in_a_bits_opcode; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@210535.4]
+  assign Repeater_io_enq_bits_param = auto_in_a_bits_param; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@210535.4]
+  assign Repeater_io_enq_bits_size = auto_in_a_bits_size; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@210535.4]
+  assign Repeater_io_enq_bits_source = auto_in_a_bits_source; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@210535.4]
+  assign Repeater_io_enq_bits_address = auto_in_a_bits_address; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@210535.4]
+  assign Repeater_io_enq_bits_mask = auto_in_a_bits_mask; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@210535.4]
+  assign Repeater_io_deq_ready = auto_out_a_ready; // @[Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@210601.4]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  _T_222 = _RAND_0[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  _T_224 = _RAND_1[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  _T_226 = _RAND_2[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  _T_323 = _RAND_3[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  _T_341 = _RAND_4[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      _T_222 <= 4'h0;
+    end else begin
+      if (_T_269) begin
+        if (_T_228) begin
+          _T_222 <= _T_227;
+        end else begin
+          _T_222 <= _T_272;
+        end
+      end
+    end
+    if (_T_269) begin
+      if (_T_228) begin
+        _T_224 <= _T_268;
+      end
+    end
+    if (reset) begin
+      _T_226 <= 1'h0;
+    end else begin
+      if (_T_269) begin
+        if (_T_228) begin
+          _T_226 <= _T_274;
+        end
+      end
+    end
+    if (reset) begin
+      _T_323 <= 4'h0;
+    end else begin
+      if (_T_345) begin
+        _T_323 <= _T_333;
+      end
+    end
+    if (_T_324) begin
+      _T_341 <= _T_226;
+    end
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:180 assert (!out.d.valid || (acknum_fragment & acknum_size) === UInt(0))\n"); // @[Fragmenter.scala 180:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210478.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Fragmenter.scala 180:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210479.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_364) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:286 assert (!repeater.io.full || !aHasData)\n"); // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210622.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_364) begin
+          $fatal; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210623.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_370) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:289 assert (!repeater.io.full || in_a.bits.mask === fullMask)\n"); // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210633.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_370) begin
+          $fatal; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210634.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+endmodule
+module TLMonitor_55( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210652.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210653.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210654.4]
+  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210655.4]
+  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210655.4]
+  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210655.4]
+  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210655.4]
+  input  [3:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210655.4]
+  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210655.4]
+  input  [31:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210655.4]
+  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210655.4]
+  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210655.4]
+  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210655.4]
+  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210655.4]
+  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210655.4]
+  input  [1:0]  io_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210655.4]
+  input  [3:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210655.4]
+  input         io_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210655.4]
+  input         io_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210655.4]
+  input         io_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210655.4]
+  input         io_in_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210655.4]
+);
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@212445.4]
+  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@210671.6]
+  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@210676.6]
+  wire [26:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@210678.6]
+  wire [11:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@210679.6]
+  wire [11:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@210680.6]
+  wire [31:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@210681.6]
+  wire [31:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@210681.6]
+  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@210682.6]
+  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@210684.6]
+  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@210685.6]
+  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@210687.6]
+  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@210688.6]
+  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@210689.6]
+  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@210690.6]
+  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@210691.6]
+  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@210693.6]
+  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@210694.6]
+  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@210696.6]
+  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@210697.6]
+  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@210698.6]
+  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@210699.6]
+  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@210700.6]
+  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@210701.6]
+  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@210702.6]
+  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@210703.6]
+  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@210704.6]
+  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@210705.6]
+  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@210706.6]
+  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@210707.6]
+  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@210708.6]
+  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@210709.6]
+  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@210710.6]
+  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@210711.6]
+  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@210712.6]
+  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@210713.6]
+  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@210714.6]
+  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@210715.6]
+  wire [32:0] _T_73; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@210719.6]
+  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@210740.6]
+  wire [31:0] _T_92; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@210743.8]
+  wire [32:0] _T_93; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@210744.8]
+  wire [32:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210745.8]
+  wire [32:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210746.8]
+  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@210747.8]
+  wire [31:0] _T_97; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@210748.8]
+  wire [32:0] _T_98; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@210749.8]
+  wire [32:0] _T_99; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210750.8]
+  wire [32:0] _T_100; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210751.8]
+  wire  _T_101; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@210752.8]
+  wire [31:0] _T_102; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@210753.8]
+  wire [32:0] _T_103; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@210754.8]
+  wire [32:0] _T_104; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210755.8]
+  wire [32:0] _T_105; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210756.8]
+  wire  _T_106; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@210757.8]
+  wire [31:0] _T_107; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@210758.8]
+  wire [32:0] _T_108; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@210759.8]
+  wire [32:0] _T_109; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210760.8]
+  wire [32:0] _T_110; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210761.8]
+  wire  _T_111; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@210762.8]
+  wire [31:0] _T_112; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@210763.8]
+  wire [32:0] _T_113; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@210764.8]
+  wire [32:0] _T_114; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210765.8]
+  wire [32:0] _T_115; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210766.8]
+  wire  _T_116; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@210767.8]
+  wire [31:0] _T_117; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@210768.8]
+  wire [32:0] _T_118; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@210769.8]
+  wire [32:0] _T_119; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210770.8]
+  wire [32:0] _T_120; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210771.8]
+  wire  _T_121; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@210772.8]
+  wire [31:0] _T_122; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@210773.8]
+  wire [32:0] _T_123; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@210774.8]
+  wire [32:0] _T_124; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210775.8]
+  wire [32:0] _T_125; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210776.8]
+  wire  _T_126; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@210777.8]
+  wire [31:0] _T_127; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@210778.8]
+  wire [32:0] _T_128; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@210779.8]
+  wire [32:0] _T_129; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210780.8]
+  wire [32:0] _T_130; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210781.8]
+  wire  _T_131; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@210782.8]
+  wire [31:0] _T_132; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@210783.8]
+  wire [32:0] _T_133; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@210784.8]
+  wire [32:0] _T_134; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210785.8]
+  wire [32:0] _T_135; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210786.8]
+  wire  _T_136; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@210787.8]
+  wire [31:0] _T_137; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@210788.8]
+  wire [32:0] _T_138; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@210789.8]
+  wire [32:0] _T_139; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210790.8]
+  wire [32:0] _T_140; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210791.8]
+  wire  _T_141; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@210792.8]
+  wire [32:0] _T_144; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210795.8]
+  wire [32:0] _T_145; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210796.8]
+  wire  _T_146; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@210797.8]
+  wire [31:0] _T_147; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@210798.8]
+  wire [32:0] _T_148; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@210799.8]
+  wire [32:0] _T_149; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210800.8]
+  wire [32:0] _T_150; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210801.8]
+  wire  _T_151; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@210802.8]
+  wire [31:0] _T_152; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@210803.8]
+  wire [32:0] _T_153; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@210804.8]
+  wire [32:0] _T_154; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210805.8]
+  wire [32:0] _T_155; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210806.8]
+  wire  _T_156; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@210807.8]
+  wire [31:0] _T_157; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@210808.8]
+  wire [32:0] _T_158; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@210809.8]
+  wire [32:0] _T_159; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210810.8]
+  wire [32:0] _T_160; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210811.8]
+  wire  _T_161; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@210812.8]
+  wire  _T_162; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@210813.8]
+  wire  _T_163; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@210814.8]
+  wire  _T_164; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@210815.8]
+  wire  _T_165; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@210816.8]
+  wire  _T_179; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210830.8]
+  wire  _T_184; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210843.8]
+  wire  _T_185; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210844.8]
+  wire  _T_188; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210851.8]
+  wire  _T_189; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210852.8]
+  wire  _T_191; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210858.8]
+  wire  _T_192; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210859.8]
+  wire  _T_193; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@210864.8]
+  wire  _T_195; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210866.8]
+  wire  _T_196; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210867.8]
+  wire [3:0] _T_197; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@210872.8]
+  wire  _T_198; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210873.8]
+  wire  _T_200; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210875.8]
+  wire  _T_201; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210876.8]
+  wire  _T_202; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@210881.8]
+  wire  _T_204; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210883.8]
+  wire  _T_205; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210884.8]
+  wire  _T_206; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@210890.6]
+  wire  _T_313; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@211022.8]
+  wire  _T_315; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211024.8]
+  wire  _T_316; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211025.8]
+  wire  _T_326; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@211048.6]
+  wire  _T_328; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@211051.8]
+  wire  _T_336; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@211059.8]
+  wire  _T_338; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@211061.8]
+  wire  _T_406; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@211129.8]
+  wire  _T_407; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@211130.8]
+  wire  _T_408; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@211131.8]
+  wire  _T_409; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@211132.8]
+  wire  _T_410; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@211133.8]
+  wire  _T_411; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@211134.8]
+  wire  _T_412; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@211135.8]
+  wire  _T_413; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@211136.8]
+  wire  _T_414; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@211137.8]
+  wire  _T_415; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@211138.8]
+  wire  _T_416; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@211139.8]
+  wire  _T_417; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@211140.8]
+  wire  _T_418; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@211141.8]
+  wire  _T_420; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@211143.8]
+  wire  _T_422; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211145.8]
+  wire  _T_423; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211146.8]
+  wire  _T_430; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@211165.8]
+  wire  _T_432; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211167.8]
+  wire  _T_433; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211168.8]
+  wire  _T_434; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@211173.8]
+  wire  _T_436; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211175.8]
+  wire  _T_437; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211176.8]
+  wire  _T_442; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@211190.6]
+  wire  _T_515; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@211264.8]
+  wire  _T_516; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@211265.8]
+  wire  _T_517; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@211266.8]
+  wire  _T_518; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@211267.8]
+  wire  _T_519; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@211268.8]
+  wire  _T_520; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@211269.8]
+  wire  _T_521; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@211270.8]
+  wire  _T_522; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@211271.8]
+  wire  _T_537; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@211286.8]
+  wire  _T_540; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211289.8]
+  wire  _T_541; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211290.8]
+  wire  _T_556; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@211326.6]
+  wire [3:0] _T_666; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@211453.8]
+  wire [3:0] _T_667; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@211454.8]
+  wire  _T_668; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@211455.8]
+  wire  _T_670; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211457.8]
+  wire  _T_671; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211458.8]
+  wire  _T_672; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@211464.6]
+  wire  _T_674; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@211467.8]
+  wire  _T_741; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@211534.8]
+  wire  _T_742; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@211535.8]
+  wire  _T_743; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@211536.8]
+  wire  _T_744; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@211537.8]
+  wire  _T_745; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@211538.8]
+  wire  _T_746; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@211539.8]
+  wire  _T_747; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@211540.8]
+  wire  _T_748; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@211541.8]
+  wire  _T_765; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211558.8]
+  wire  _T_766; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211559.8]
+  wire  _T_773; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@211578.8]
+  wire  _T_775; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211580.8]
+  wire  _T_776; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211581.8]
+  wire  _T_781; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@211595.6]
+  wire  _T_882; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@211709.8]
+  wire  _T_884; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211711.8]
+  wire  _T_885; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211712.8]
+  wire  _T_890; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@211726.6]
+  wire  _T_983; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211820.8]
+  wire  _T_984; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211821.8]
+  wire  _T_999; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@211859.6]
+  wire  _T_1001; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@211861.6]
+  wire  _T_1002; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@211862.6]
+  wire  _T_1004; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@211868.6]
+  wire  _T_1013; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@211873.6]
+  wire  _T_1015; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@211875.6]
+  wire  _T_1017; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211878.8]
+  wire  _T_1018; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211879.8]
+  wire  _T_1019; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@211884.8]
+  wire  _T_1021; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211886.8]
+  wire  _T_1022; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211887.8]
+  wire  _T_1023; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@211892.8]
+  wire  _T_1025; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211894.8]
+  wire  _T_1026; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211895.8]
+  wire  _T_1027; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@211900.8]
+  wire  _T_1029; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211902.8]
+  wire  _T_1030; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211903.8]
+  wire  _T_1031; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@211908.8]
+  wire  _T_1033; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211910.8]
+  wire  _T_1034; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211911.8]
+  wire  _T_1035; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@211917.6]
+  wire  _T_1046; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@211941.8]
+  wire  _T_1048; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211943.8]
+  wire  _T_1049; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211944.8]
+  wire  _T_1050; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@211949.8]
+  wire  _T_1052; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211951.8]
+  wire  _T_1053; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211952.8]
+  wire  _T_1063; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@211975.6]
+  wire  _T_1083; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@212016.8]
+  wire  _T_1085; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212018.8]
+  wire  _T_1086; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212019.8]
+  wire  _T_1092; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@212034.6]
+  wire  _T_1109; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@212069.6]
+  wire  _T_1127; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@212105.6]
+  wire  _T_1156; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@212165.4]
+  wire [9:0] _T_1161; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@212170.4]
+  wire  _T_1162; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@212171.4]
+  wire  _T_1163; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@212172.4]
+  reg [9:0] _T_1166; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@212174.4]
+  reg [31:0] _RAND_0;
+  wire [10:0] _T_1167; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@212175.4]
+  wire [10:0] _T_1168; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@212176.4]
+  wire [9:0] _T_1169; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@212177.4]
+  wire  _T_1170; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@212178.4]
+  reg [2:0] _T_1179; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@212189.4]
+  reg [31:0] _RAND_1;
+  reg [2:0] _T_1181; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@212190.4]
+  reg [31:0] _RAND_2;
+  reg [3:0] _T_1183; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@212191.4]
+  reg [31:0] _RAND_3;
+  reg  _T_1185; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@212192.4]
+  reg [31:0] _RAND_4;
+  reg [31:0] _T_1187; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@212193.4]
+  reg [31:0] _RAND_5;
+  wire  _T_1188; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@212194.4]
+  wire  _T_1189; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@212195.4]
+  wire  _T_1190; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@212197.6]
+  wire  _T_1192; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212199.6]
+  wire  _T_1193; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212200.6]
+  wire  _T_1194; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@212205.6]
+  wire  _T_1196; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212207.6]
+  wire  _T_1197; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212208.6]
+  wire  _T_1198; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@212213.6]
+  wire  _T_1200; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212215.6]
+  wire  _T_1201; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212216.6]
+  wire  _T_1202; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@212221.6]
+  wire  _T_1204; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212223.6]
+  wire  _T_1205; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212224.6]
+  wire  _T_1206; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@212229.6]
+  wire  _T_1208; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212231.6]
+  wire  _T_1209; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212232.6]
+  wire  _T_1211; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@212239.4]
+  wire  _T_1212; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@212247.4]
+  wire [26:0] _T_1214; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@212249.4]
+  wire [11:0] _T_1215; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@212250.4]
+  wire [11:0] _T_1216; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@212251.4]
+  wire [9:0] _T_1217; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@212252.4]
+  wire  _T_1218; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@212253.4]
+  reg [9:0] _T_1221; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@212255.4]
+  reg [31:0] _RAND_6;
+  wire [10:0] _T_1222; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@212256.4]
+  wire [10:0] _T_1223; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@212257.4]
+  wire [9:0] _T_1224; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@212258.4]
+  wire  _T_1225; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@212259.4]
+  reg [2:0] _T_1234; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@212270.4]
+  reg [31:0] _RAND_7;
+  reg [1:0] _T_1236; // @[Monitor.scala 419:22:shc.marmotcaravel.MarmotCaravelConfig.fir@212271.4]
+  reg [31:0] _RAND_8;
+  reg [3:0] _T_1238; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@212272.4]
+  reg [31:0] _RAND_9;
+  reg  _T_1240; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@212273.4]
+  reg [31:0] _RAND_10;
+  reg  _T_1242; // @[Monitor.scala 422:22:shc.marmotcaravel.MarmotCaravelConfig.fir@212274.4]
+  reg [31:0] _RAND_11;
+  reg  _T_1244; // @[Monitor.scala 423:22:shc.marmotcaravel.MarmotCaravelConfig.fir@212275.4]
+  reg [31:0] _RAND_12;
+  wire  _T_1245; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@212276.4]
+  wire  _T_1246; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@212277.4]
+  wire  _T_1247; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@212279.6]
+  wire  _T_1249; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212281.6]
+  wire  _T_1250; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212282.6]
+  wire  _T_1251; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@212287.6]
+  wire  _T_1253; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212289.6]
+  wire  _T_1254; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212290.6]
+  wire  _T_1255; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@212295.6]
+  wire  _T_1257; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212297.6]
+  wire  _T_1258; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212298.6]
+  wire  _T_1259; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@212303.6]
+  wire  _T_1261; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212305.6]
+  wire  _T_1262; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212306.6]
+  wire  _T_1263; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@212311.6]
+  wire  _T_1265; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212313.6]
+  wire  _T_1266; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212314.6]
+  wire  _T_1267; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@212319.6]
+  wire  _T_1269; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212321.6]
+  wire  _T_1270; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212322.6]
+  wire  _T_1272; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@212329.4]
+  reg [1:0] _T_1274; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@212338.4]
+  reg [31:0] _RAND_13;
+  reg [9:0] _T_1285; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@212348.4]
+  reg [31:0] _RAND_14;
+  wire [10:0] _T_1286; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@212349.4]
+  wire [10:0] _T_1287; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@212350.4]
+  wire [9:0] _T_1288; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@212351.4]
+  wire  _T_1289; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@212352.4]
+  reg [9:0] _T_1306; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@212371.4]
+  reg [31:0] _RAND_15;
+  wire [10:0] _T_1307; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@212372.4]
+  wire [10:0] _T_1308; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@212373.4]
+  wire [9:0] _T_1309; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@212374.4]
+  wire  _T_1310; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@212375.4]
+  wire  _T_1321; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@212390.4]
+  wire [1:0] _T_1323; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@212393.6]
+  wire [1:0] _T_1324; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@212395.6]
+  wire  _T_1325; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@212396.6]
+  wire  _T_1326; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212397.6]
+  wire  _T_1328; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@212399.6]
+  wire  _T_1329; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@212400.6]
+  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@212392.4]
+  wire  _T_1334; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@212411.4]
+  wire  _T_1336; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@212413.4]
+  wire  _T_1337; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@212414.4]
+  wire [1:0] _T_1338; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@212416.6]
+  wire [1:0] _T_1339; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212418.6]
+  wire [1:0] _T_1340; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@212419.6]
+  wire  _T_1341; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@212420.6]
+  wire  _T_1343; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@212422.6]
+  wire  _T_1344; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@212423.6]
+  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@212415.4]
+  wire  _T_1345; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@212429.4]
+  wire  _T_1346; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@212430.4]
+  wire  _T_1347; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@212431.4]
+  wire  _T_1348; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@212432.4]
+  wire  _T_1350; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@212434.4]
+  wire  _T_1351; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@212435.4]
+  wire [1:0] _T_1352; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@212440.4]
+  wire [1:0] _T_1353; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@212441.4]
+  wire [1:0] _T_1354; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@212442.4]
+  reg [31:0] _T_1356; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@212444.4]
+  reg [31:0] _RAND_16;
+  wire  _T_1357; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@212447.4]
+  wire  _T_1358; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@212448.4]
+  wire  _T_1359; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@212449.4]
+  wire  _T_1360; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@212450.4]
+  wire  _T_1361; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@212451.4]
+  wire  _T_1362; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@212452.4]
+  wire  _T_1364; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@212454.4]
+  wire  _T_1365; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@212455.4]
+  wire [31:0] _T_1367; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@212461.4]
+  wire  _T_1370; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@212465.4]
+  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210832.10]
+  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210982.10]
+  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211148.10]
+  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211292.10]
+  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211428.10]
+  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211561.10]
+  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211692.10]
+  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211823.10]
+  wire  _GEN_115; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211881.10]
+  wire  _GEN_125; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211923.10]
+  wire  _GEN_137; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211981.10]
+  wire  _GEN_149; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212040.10]
+  wire  _GEN_155; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212075.10]
+  wire  _GEN_161; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212111.10]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@212445.4]
+    .out(plusarg_reader_out)
+  );
+  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@210671.6]
+  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@210676.6]
+  assign _T_32 = 27'hfff << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@210678.6]
+  assign _T_33 = _T_32[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@210679.6]
+  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@210680.6]
+  assign _GEN_18 = {{20'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@210681.6]
+  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@210681.6]
+  assign _T_36 = _T_35 == 32'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@210682.6]
+  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@210684.6]
+  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@210685.6]
+  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@210687.6]
+  assign _T_42 = io_in_a_bits_size >= 4'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@210688.6]
+  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@210689.6]
+  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@210690.6]
+  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@210691.6]
+  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@210693.6]
+  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@210694.6]
+  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@210696.6]
+  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@210697.6]
+  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@210698.6]
+  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@210699.6]
+  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@210700.6]
+  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@210701.6]
+  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@210702.6]
+  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@210703.6]
+  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@210704.6]
+  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@210705.6]
+  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@210706.6]
+  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@210707.6]
+  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@210708.6]
+  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@210709.6]
+  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@210710.6]
+  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@210711.6]
+  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@210712.6]
+  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@210713.6]
+  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@210714.6]
+  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@210715.6]
+  assign _T_73 = {1'b0,$signed(io_in_a_bits_address)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@210719.6]
+  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@210740.6]
+  assign _T_92 = io_in_a_bits_address ^ 32'h3000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@210743.8]
+  assign _T_93 = {1'b0,$signed(_T_92)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@210744.8]
+  assign _T_94 = $signed(_T_93) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210745.8]
+  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210746.8]
+  assign _T_96 = $signed(_T_95) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@210747.8]
+  assign _T_97 = io_in_a_bits_address ^ 32'h10013000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@210748.8]
+  assign _T_98 = {1'b0,$signed(_T_97)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@210749.8]
+  assign _T_99 = $signed(_T_98) & $signed(-33'sh21000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210750.8]
+  assign _T_100 = $signed(_T_99); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210751.8]
+  assign _T_101 = $signed(_T_100) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@210752.8]
+  assign _T_102 = io_in_a_bits_address ^ 32'h10023000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@210753.8]
+  assign _T_103 = {1'b0,$signed(_T_102)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@210754.8]
+  assign _T_104 = $signed(_T_103) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210755.8]
+  assign _T_105 = $signed(_T_104); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210756.8]
+  assign _T_106 = $signed(_T_105) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@210757.8]
+  assign _T_107 = io_in_a_bits_address ^ 32'h10043000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@210758.8]
+  assign _T_108 = {1'b0,$signed(_T_107)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@210759.8]
+  assign _T_109 = $signed(_T_108) & $signed(-33'sh11000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210760.8]
+  assign _T_110 = $signed(_T_109); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210761.8]
+  assign _T_111 = $signed(_T_110) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@210762.8]
+  assign _T_112 = io_in_a_bits_address ^ 32'h10014000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@210763.8]
+  assign _T_113 = {1'b0,$signed(_T_112)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@210764.8]
+  assign _T_114 = $signed(_T_113) & $signed(-33'sh21000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210765.8]
+  assign _T_115 = $signed(_T_114); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210766.8]
+  assign _T_116 = $signed(_T_115) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@210767.8]
+  assign _T_117 = io_in_a_bits_address ^ 32'h20000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@210768.8]
+  assign _T_118 = {1'b0,$signed(_T_117)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@210769.8]
+  assign _T_119 = $signed(_T_118) & $signed(-33'sh20000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210770.8]
+  assign _T_120 = $signed(_T_119); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210771.8]
+  assign _T_121 = $signed(_T_120) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@210772.8]
+  assign _T_122 = io_in_a_bits_address ^ 32'h10024000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@210773.8]
+  assign _T_123 = {1'b0,$signed(_T_122)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@210774.8]
+  assign _T_124 = $signed(_T_123) & $signed(-33'sh3000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210775.8]
+  assign _T_125 = $signed(_T_124); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210776.8]
+  assign _T_126 = $signed(_T_125) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@210777.8]
+  assign _T_127 = io_in_a_bits_address ^ 32'h10012000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@210778.8]
+  assign _T_128 = {1'b0,$signed(_T_127)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@210779.8]
+  assign _T_129 = $signed(_T_128) & $signed(-33'sh5000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210780.8]
+  assign _T_130 = $signed(_T_129); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210781.8]
+  assign _T_131 = $signed(_T_130) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@210782.8]
+  assign _T_132 = io_in_a_bits_address ^ 32'hc000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@210783.8]
+  assign _T_133 = {1'b0,$signed(_T_132)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@210784.8]
+  assign _T_134 = $signed(_T_133) & $signed(-33'sh4000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210785.8]
+  assign _T_135 = $signed(_T_134); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210786.8]
+  assign _T_136 = $signed(_T_135) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@210787.8]
+  assign _T_137 = io_in_a_bits_address ^ 32'h2000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@210788.8]
+  assign _T_138 = {1'b0,$signed(_T_137)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@210789.8]
+  assign _T_139 = $signed(_T_138) & $signed(-33'sh10000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210790.8]
+  assign _T_140 = $signed(_T_139); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210791.8]
+  assign _T_141 = $signed(_T_140) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@210792.8]
+  assign _T_144 = $signed(_T_73) & $signed(-33'sh10001000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210795.8]
+  assign _T_145 = $signed(_T_144); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210796.8]
+  assign _T_146 = $signed(_T_145) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@210797.8]
+  assign _T_147 = io_in_a_bits_address ^ 32'h8000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@210798.8]
+  assign _T_148 = {1'b0,$signed(_T_147)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@210799.8]
+  assign _T_149 = $signed(_T_148) & $signed(-33'sh4000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210800.8]
+  assign _T_150 = $signed(_T_149); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210801.8]
+  assign _T_151 = $signed(_T_150) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@210802.8]
+  assign _T_152 = io_in_a_bits_address ^ 32'h80000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@210803.8]
+  assign _T_153 = {1'b0,$signed(_T_152)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@210804.8]
+  assign _T_154 = $signed(_T_153) & $signed(-33'sh4000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210805.8]
+  assign _T_155 = $signed(_T_154); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210806.8]
+  assign _T_156 = $signed(_T_155) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@210807.8]
+  assign _T_157 = io_in_a_bits_address ^ 32'h10000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@210808.8]
+  assign _T_158 = {1'b0,$signed(_T_157)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@210809.8]
+  assign _T_159 = $signed(_T_158) & $signed(-33'sh2000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210810.8]
+  assign _T_160 = $signed(_T_159); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210811.8]
+  assign _T_161 = $signed(_T_160) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@210812.8]
+  assign _T_162 = _T_96 | _T_101; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@210813.8]
+  assign _T_163 = _T_162 | _T_106; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@210814.8]
+  assign _T_164 = _T_163 | _T_111; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@210815.8]
+  assign _T_165 = _T_164 | _T_116; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@210816.8]
+  assign _T_179 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210830.8]
+  assign _T_184 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210843.8]
+  assign _T_185 = _T_184 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210844.8]
+  assign _T_188 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210851.8]
+  assign _T_189 = _T_188 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210852.8]
+  assign _T_191 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210858.8]
+  assign _T_192 = _T_191 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210859.8]
+  assign _T_193 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@210864.8]
+  assign _T_195 = _T_193 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210866.8]
+  assign _T_196 = _T_195 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210867.8]
+  assign _T_197 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@210872.8]
+  assign _T_198 = _T_197 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210873.8]
+  assign _T_200 = _T_198 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210875.8]
+  assign _T_201 = _T_200 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210876.8]
+  assign _T_202 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@210881.8]
+  assign _T_204 = _T_202 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210883.8]
+  assign _T_205 = _T_204 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210884.8]
+  assign _T_206 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@210890.6]
+  assign _T_313 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@211022.8]
+  assign _T_315 = _T_313 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211024.8]
+  assign _T_316 = _T_315 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211025.8]
+  assign _T_326 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@211048.6]
+  assign _T_328 = io_in_a_bits_size <= 4'hc; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@211051.8]
+  assign _T_336 = _T_328 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@211059.8]
+  assign _T_338 = io_in_a_bits_size <= 4'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@211061.8]
+  assign _T_406 = _T_101 | _T_106; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@211129.8]
+  assign _T_407 = _T_406 | _T_111; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@211130.8]
+  assign _T_408 = _T_407 | _T_116; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@211131.8]
+  assign _T_409 = _T_408 | _T_121; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@211132.8]
+  assign _T_410 = _T_409 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@211133.8]
+  assign _T_411 = _T_410 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@211134.8]
+  assign _T_412 = _T_411 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@211135.8]
+  assign _T_413 = _T_412 | _T_141; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@211136.8]
+  assign _T_414 = _T_413 | _T_146; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@211137.8]
+  assign _T_415 = _T_414 | _T_151; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@211138.8]
+  assign _T_416 = _T_415 | _T_156; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@211139.8]
+  assign _T_417 = _T_416 | _T_161; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@211140.8]
+  assign _T_418 = _T_338 & _T_417; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@211141.8]
+  assign _T_420 = _T_336 | _T_418; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@211143.8]
+  assign _T_422 = _T_420 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211145.8]
+  assign _T_423 = _T_422 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211146.8]
+  assign _T_430 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@211165.8]
+  assign _T_432 = _T_430 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211167.8]
+  assign _T_433 = _T_432 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211168.8]
+  assign _T_434 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@211173.8]
+  assign _T_436 = _T_434 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211175.8]
+  assign _T_437 = _T_436 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211176.8]
+  assign _T_442 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@211190.6]
+  assign _T_515 = _T_408 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@211264.8]
+  assign _T_516 = _T_515 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@211265.8]
+  assign _T_517 = _T_516 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@211266.8]
+  assign _T_518 = _T_517 | _T_141; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@211267.8]
+  assign _T_519 = _T_518 | _T_146; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@211268.8]
+  assign _T_520 = _T_519 | _T_151; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@211269.8]
+  assign _T_521 = _T_520 | _T_156; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@211270.8]
+  assign _T_522 = _T_338 & _T_521; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@211271.8]
+  assign _T_537 = _T_336 | _T_522; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@211286.8]
+  assign _T_540 = _T_537 | reset; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211289.8]
+  assign _T_541 = _T_540 == 1'h0; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211290.8]
+  assign _T_556 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@211326.6]
+  assign _T_666 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@211453.8]
+  assign _T_667 = io_in_a_bits_mask & _T_666; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@211454.8]
+  assign _T_668 = _T_667 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@211455.8]
+  assign _T_670 = _T_668 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211457.8]
+  assign _T_671 = _T_670 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211458.8]
+  assign _T_672 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@211464.6]
+  assign _T_674 = io_in_a_bits_size <= 4'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@211467.8]
+  assign _T_741 = _T_165 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@211534.8]
+  assign _T_742 = _T_741 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@211535.8]
+  assign _T_743 = _T_742 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@211536.8]
+  assign _T_744 = _T_743 | _T_141; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@211537.8]
+  assign _T_745 = _T_744 | _T_146; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@211538.8]
+  assign _T_746 = _T_745 | _T_151; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@211539.8]
+  assign _T_747 = _T_746 | _T_156; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@211540.8]
+  assign _T_748 = _T_674 & _T_747; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@211541.8]
+  assign _T_765 = _T_748 | reset; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211558.8]
+  assign _T_766 = _T_765 == 1'h0; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211559.8]
+  assign _T_773 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@211578.8]
+  assign _T_775 = _T_773 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211580.8]
+  assign _T_776 = _T_775 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211581.8]
+  assign _T_781 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@211595.6]
+  assign _T_882 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@211709.8]
+  assign _T_884 = _T_882 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211711.8]
+  assign _T_885 = _T_884 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211712.8]
+  assign _T_890 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@211726.6]
+  assign _T_983 = _T_336 | reset; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211820.8]
+  assign _T_984 = _T_983 == 1'h0; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211821.8]
+  assign _T_999 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@211859.6]
+  assign _T_1001 = _T_999 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@211861.6]
+  assign _T_1002 = _T_1001 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@211862.6]
+  assign _T_1004 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@211868.6]
+  assign _T_1013 = io_in_d_bits_source | _T_1004; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@211873.6]
+  assign _T_1015 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@211875.6]
+  assign _T_1017 = _T_1013 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211878.8]
+  assign _T_1018 = _T_1017 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211879.8]
+  assign _T_1019 = io_in_d_bits_size >= 4'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@211884.8]
+  assign _T_1021 = _T_1019 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211886.8]
+  assign _T_1022 = _T_1021 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211887.8]
+  assign _T_1023 = io_in_d_bits_param == 2'h0; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@211892.8]
+  assign _T_1025 = _T_1023 | reset; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211894.8]
+  assign _T_1026 = _T_1025 == 1'h0; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211895.8]
+  assign _T_1027 = io_in_d_bits_corrupt == 1'h0; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@211900.8]
+  assign _T_1029 = _T_1027 | reset; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211902.8]
+  assign _T_1030 = _T_1029 == 1'h0; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211903.8]
+  assign _T_1031 = io_in_d_bits_denied == 1'h0; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@211908.8]
+  assign _T_1033 = _T_1031 | reset; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211910.8]
+  assign _T_1034 = _T_1033 == 1'h0; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211911.8]
+  assign _T_1035 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@211917.6]
+  assign _T_1046 = io_in_d_bits_param <= 2'h2; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@211941.8]
+  assign _T_1048 = _T_1046 | reset; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211943.8]
+  assign _T_1049 = _T_1048 == 1'h0; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211944.8]
+  assign _T_1050 = io_in_d_bits_param != 2'h2; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@211949.8]
+  assign _T_1052 = _T_1050 | reset; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211951.8]
+  assign _T_1053 = _T_1052 == 1'h0; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211952.8]
+  assign _T_1063 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@211975.6]
+  assign _T_1083 = _T_1031 | io_in_d_bits_corrupt; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@212016.8]
+  assign _T_1085 = _T_1083 | reset; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212018.8]
+  assign _T_1086 = _T_1085 == 1'h0; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212019.8]
+  assign _T_1092 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@212034.6]
+  assign _T_1109 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@212069.6]
+  assign _T_1127 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@212105.6]
+  assign _T_1156 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@212165.4]
+  assign _T_1161 = _T_34[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@212170.4]
+  assign _T_1162 = io_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@212171.4]
+  assign _T_1163 = _T_1162 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@212172.4]
+  assign _T_1167 = _T_1166 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@212175.4]
+  assign _T_1168 = $unsigned(_T_1167); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@212176.4]
+  assign _T_1169 = _T_1168[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@212177.4]
+  assign _T_1170 = _T_1166 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@212178.4]
+  assign _T_1188 = _T_1170 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@212194.4]
+  assign _T_1189 = io_in_a_valid & _T_1188; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@212195.4]
+  assign _T_1190 = io_in_a_bits_opcode == _T_1179; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@212197.6]
+  assign _T_1192 = _T_1190 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212199.6]
+  assign _T_1193 = _T_1192 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212200.6]
+  assign _T_1194 = io_in_a_bits_param == _T_1181; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@212205.6]
+  assign _T_1196 = _T_1194 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212207.6]
+  assign _T_1197 = _T_1196 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212208.6]
+  assign _T_1198 = io_in_a_bits_size == _T_1183; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@212213.6]
+  assign _T_1200 = _T_1198 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212215.6]
+  assign _T_1201 = _T_1200 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212216.6]
+  assign _T_1202 = io_in_a_bits_source == _T_1185; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@212221.6]
+  assign _T_1204 = _T_1202 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212223.6]
+  assign _T_1205 = _T_1204 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212224.6]
+  assign _T_1206 = io_in_a_bits_address == _T_1187; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@212229.6]
+  assign _T_1208 = _T_1206 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212231.6]
+  assign _T_1209 = _T_1208 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212232.6]
+  assign _T_1211 = _T_1156 & _T_1170; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@212239.4]
+  assign _T_1212 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@212247.4]
+  assign _T_1214 = 27'hfff << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@212249.4]
+  assign _T_1215 = _T_1214[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@212250.4]
+  assign _T_1216 = ~ _T_1215; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@212251.4]
+  assign _T_1217 = _T_1216[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@212252.4]
+  assign _T_1218 = io_in_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@212253.4]
+  assign _T_1222 = _T_1221 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@212256.4]
+  assign _T_1223 = $unsigned(_T_1222); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@212257.4]
+  assign _T_1224 = _T_1223[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@212258.4]
+  assign _T_1225 = _T_1221 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@212259.4]
+  assign _T_1245 = _T_1225 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@212276.4]
+  assign _T_1246 = io_in_d_valid & _T_1245; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@212277.4]
+  assign _T_1247 = io_in_d_bits_opcode == _T_1234; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@212279.6]
+  assign _T_1249 = _T_1247 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212281.6]
+  assign _T_1250 = _T_1249 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212282.6]
+  assign _T_1251 = io_in_d_bits_param == _T_1236; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@212287.6]
+  assign _T_1253 = _T_1251 | reset; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212289.6]
+  assign _T_1254 = _T_1253 == 1'h0; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212290.6]
+  assign _T_1255 = io_in_d_bits_size == _T_1238; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@212295.6]
+  assign _T_1257 = _T_1255 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212297.6]
+  assign _T_1258 = _T_1257 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212298.6]
+  assign _T_1259 = io_in_d_bits_source == _T_1240; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@212303.6]
+  assign _T_1261 = _T_1259 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212305.6]
+  assign _T_1262 = _T_1261 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212306.6]
+  assign _T_1263 = io_in_d_bits_sink == _T_1242; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@212311.6]
+  assign _T_1265 = _T_1263 | reset; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212313.6]
+  assign _T_1266 = _T_1265 == 1'h0; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212314.6]
+  assign _T_1267 = io_in_d_bits_denied == _T_1244; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@212319.6]
+  assign _T_1269 = _T_1267 | reset; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212321.6]
+  assign _T_1270 = _T_1269 == 1'h0; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212322.6]
+  assign _T_1272 = _T_1212 & _T_1225; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@212329.4]
+  assign _T_1286 = _T_1285 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@212349.4]
+  assign _T_1287 = $unsigned(_T_1286); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@212350.4]
+  assign _T_1288 = _T_1287[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@212351.4]
+  assign _T_1289 = _T_1285 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@212352.4]
+  assign _T_1307 = _T_1306 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@212372.4]
+  assign _T_1308 = $unsigned(_T_1307); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@212373.4]
+  assign _T_1309 = _T_1308[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@212374.4]
+  assign _T_1310 = _T_1306 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@212375.4]
+  assign _T_1321 = _T_1156 & _T_1289; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@212390.4]
+  assign _T_1323 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@212393.6]
+  assign _T_1324 = _T_1274 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@212395.6]
+  assign _T_1325 = _T_1324[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@212396.6]
+  assign _T_1326 = _T_1325 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212397.6]
+  assign _T_1328 = _T_1326 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@212399.6]
+  assign _T_1329 = _T_1328 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@212400.6]
+  assign _GEN_15 = _T_1321 ? _T_1323 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@212392.4]
+  assign _T_1334 = _T_1212 & _T_1310; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@212411.4]
+  assign _T_1336 = _T_1015 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@212413.4]
+  assign _T_1337 = _T_1334 & _T_1336; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@212414.4]
+  assign _T_1338 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@212416.6]
+  assign _T_1339 = _GEN_15 | _T_1274; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212418.6]
+  assign _T_1340 = _T_1339 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@212419.6]
+  assign _T_1341 = _T_1340[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@212420.6]
+  assign _T_1343 = _T_1341 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@212422.6]
+  assign _T_1344 = _T_1343 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@212423.6]
+  assign _GEN_16 = _T_1337 ? _T_1338 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@212415.4]
+  assign _T_1345 = _GEN_15 != _GEN_16; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@212429.4]
+  assign _T_1346 = _GEN_15 != 2'h0; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@212430.4]
+  assign _T_1347 = _T_1346 == 1'h0; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@212431.4]
+  assign _T_1348 = _T_1345 | _T_1347; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@212432.4]
+  assign _T_1350 = _T_1348 | reset; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@212434.4]
+  assign _T_1351 = _T_1350 == 1'h0; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@212435.4]
+  assign _T_1352 = _T_1274 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@212440.4]
+  assign _T_1353 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@212441.4]
+  assign _T_1354 = _T_1352 & _T_1353; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@212442.4]
+  assign _T_1357 = _T_1274 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@212447.4]
+  assign _T_1358 = _T_1357 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@212448.4]
+  assign _T_1359 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@212449.4]
+  assign _T_1360 = _T_1358 | _T_1359; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@212450.4]
+  assign _T_1361 = _T_1356 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@212451.4]
+  assign _T_1362 = _T_1360 | _T_1361; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@212452.4]
+  assign _T_1364 = _T_1362 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@212454.4]
+  assign _T_1365 = _T_1364 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@212455.4]
+  assign _T_1367 = _T_1356 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@212461.4]
+  assign _T_1370 = _T_1156 | _T_1212; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@212465.4]
+  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210832.10]
+  assign _GEN_35 = io_in_a_valid & _T_206; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210982.10]
+  assign _GEN_53 = io_in_a_valid & _T_326; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211148.10]
+  assign _GEN_65 = io_in_a_valid & _T_442; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211292.10]
+  assign _GEN_75 = io_in_a_valid & _T_556; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211428.10]
+  assign _GEN_85 = io_in_a_valid & _T_672; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211561.10]
+  assign _GEN_95 = io_in_a_valid & _T_781; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211692.10]
+  assign _GEN_105 = io_in_a_valid & _T_890; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211823.10]
+  assign _GEN_115 = io_in_d_valid & _T_1015; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211881.10]
+  assign _GEN_125 = io_in_d_valid & _T_1035; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211923.10]
+  assign _GEN_137 = io_in_d_valid & _T_1063; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211981.10]
+  assign _GEN_149 = io_in_d_valid & _T_1092; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212040.10]
+  assign _GEN_155 = io_in_d_valid & _T_1109; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212075.10]
+  assign _GEN_161 = io_in_d_valid & _T_1127; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212111.10]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  _T_1166 = _RAND_0[9:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  _T_1179 = _RAND_1[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  _T_1181 = _RAND_2[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  _T_1183 = _RAND_3[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  _T_1185 = _RAND_4[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  _T_1187 = _RAND_5[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {1{`RANDOM}};
+  _T_1221 = _RAND_6[9:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {1{`RANDOM}};
+  _T_1234 = _RAND_7[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_8 = {1{`RANDOM}};
+  _T_1236 = _RAND_8[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_9 = {1{`RANDOM}};
+  _T_1238 = _RAND_9[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_10 = {1{`RANDOM}};
+  _T_1240 = _RAND_10[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_11 = {1{`RANDOM}};
+  _T_1242 = _RAND_11[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_12 = {1{`RANDOM}};
+  _T_1244 = _RAND_12[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_13 = {1{`RANDOM}};
+  _T_1274 = _RAND_13[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_14 = {1{`RANDOM}};
+  _T_1285 = _RAND_14[9:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_15 = {1{`RANDOM}};
+  _T_1306 = _RAND_15[9:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_16 = {1{`RANDOM}};
+  _T_1356 = _RAND_16[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      _T_1166 <= 10'h0;
+    end else begin
+      if (_T_1156) begin
+        if (_T_1170) begin
+          if (_T_1163) begin
+            _T_1166 <= _T_1161;
+          end else begin
+            _T_1166 <= 10'h0;
+          end
+        end else begin
+          _T_1166 <= _T_1169;
+        end
+      end
+    end
+    if (_T_1211) begin
+      _T_1179 <= io_in_a_bits_opcode;
+    end
+    if (_T_1211) begin
+      _T_1181 <= io_in_a_bits_param;
+    end
+    if (_T_1211) begin
+      _T_1183 <= io_in_a_bits_size;
+    end
+    if (_T_1211) begin
+      _T_1185 <= io_in_a_bits_source;
+    end
+    if (_T_1211) begin
+      _T_1187 <= io_in_a_bits_address;
+    end
+    if (reset) begin
+      _T_1221 <= 10'h0;
+    end else begin
+      if (_T_1212) begin
+        if (_T_1225) begin
+          if (_T_1218) begin
+            _T_1221 <= _T_1217;
+          end else begin
+            _T_1221 <= 10'h0;
+          end
+        end else begin
+          _T_1221 <= _T_1224;
+        end
+      end
+    end
+    if (_T_1272) begin
+      _T_1234 <= io_in_d_bits_opcode;
+    end
+    if (_T_1272) begin
+      _T_1236 <= io_in_d_bits_param;
+    end
+    if (_T_1272) begin
+      _T_1238 <= io_in_d_bits_size;
+    end
+    if (_T_1272) begin
+      _T_1240 <= io_in_d_bits_source;
+    end
+    if (_T_1272) begin
+      _T_1242 <= io_in_d_bits_sink;
+    end
+    if (_T_1272) begin
+      _T_1244 <= io_in_d_bits_denied;
+    end
+    if (reset) begin
+      _T_1274 <= 2'h0;
+    end else begin
+      _T_1274 <= _T_1354;
+    end
+    if (reset) begin
+      _T_1285 <= 10'h0;
+    end else begin
+      if (_T_1156) begin
+        if (_T_1289) begin
+          if (_T_1163) begin
+            _T_1285 <= _T_1161;
+          end else begin
+            _T_1285 <= 10'h0;
+          end
+        end else begin
+          _T_1285 <= _T_1288;
+        end
+      end
+    end
+    if (reset) begin
+      _T_1306 <= 10'h0;
+    end else begin
+      if (_T_1212) begin
+        if (_T_1310) begin
+          if (_T_1218) begin
+            _T_1306 <= _T_1217;
+          end else begin
+            _T_1306 <= 10'h0;
+          end
+        end else begin
+          _T_1306 <= _T_1309;
+        end
+      end
+    end
+    if (reset) begin
+      _T_1356 <= 32'h0;
+    end else begin
+      if (_T_1370) begin
+        _T_1356 <= 32'h0;
+      end else begin
+        _T_1356 <= _T_1367;
+      end
+    end
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@210667.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@210668.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@210737.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@210738.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_179) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210832.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_179) begin
+          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210833.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_179) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210839.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_179) begin
+          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210840.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_185) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210846.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_185) begin
+          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210847.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_189) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210854.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_189) begin
+          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210855.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_192) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210861.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_192) begin
+          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210862.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_196) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210869.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_196) begin
+          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210870.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_201) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210878.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_201) begin
+          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210879.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_205) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210886.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_205) begin
+          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210887.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_179) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210982.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_179) begin
+          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210983.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_179) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210989.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_179) begin
+          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210990.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_185) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210996.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_185) begin
+          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210997.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_189) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211004.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_189) begin
+          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211005.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_192) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211011.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_192) begin
+          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211012.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_196) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211019.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_196) begin
+          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211020.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_316) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211027.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_316) begin
+          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211028.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_201) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211036.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_201) begin
+          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211037.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_35 & _T_205) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211044.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_35 & _T_205) begin
+          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211045.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_423) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211148.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_423) begin
+          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211149.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_185) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211155.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_185) begin
+          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211156.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_192) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211162.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_192) begin
+          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211163.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_433) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211170.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_433) begin
+          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211171.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_437) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211178.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_437) begin
+          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211179.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_53 & _T_205) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211186.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_53 & _T_205) begin
+          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211187.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_541) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211292.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_541) begin
+          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211293.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_185) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211299.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_185) begin
+          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211300.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_192) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211306.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_192) begin
+          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211307.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_433) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211314.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_433) begin
+          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211315.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_65 & _T_437) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211322.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_65 & _T_437) begin
+          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211323.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_541) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211428.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_541) begin
+          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211429.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_185) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211435.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_185) begin
+          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211436.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_192) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211442.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_192) begin
+          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211443.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_433) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211450.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_433) begin
+          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211451.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_671) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211460.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_671) begin
+          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211461.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_766) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211561.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_766) begin
+          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211562.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_185) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211568.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_185) begin
+          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211569.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_192) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211575.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_192) begin
+          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211576.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_776) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211583.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_776) begin
+          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211584.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_85 & _T_437) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211591.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_85 & _T_437) begin
+          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211592.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_766) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211692.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_766) begin
+          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211693.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_185) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211699.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_185) begin
+          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211700.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_192) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211706.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_192) begin
+          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211707.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_885) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211714.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_885) begin
+          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211715.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_95 & _T_437) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211722.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_95 & _T_437) begin
+          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211723.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_984) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211823.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_984) begin
+          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211824.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_185) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211830.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_185) begin
+          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211831.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_192) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211837.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_192) begin
+          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211838.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_437) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211845.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_437) begin
+          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211846.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_205) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211853.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_205) begin
+          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211854.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1002) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@211864.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1002) begin
+          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@211865.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_1018) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211881.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_1018) begin
+          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211882.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_1022) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211889.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_1022) begin
+          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211890.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_1026) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211897.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_1026) begin
+          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211898.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_1030) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211905.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_1030) begin
+          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211906.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_115 & _T_1034) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211913.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_115 & _T_1034) begin
+          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211914.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_1018) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211923.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_1018) begin
+          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211924.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_179) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211930.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_179) begin
+          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211931.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_1022) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211938.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_1022) begin
+          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211939.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_1049) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211946.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_1049) begin
+          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211947.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_1053) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211954.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_1053) begin
+          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211955.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_125 & _T_1030) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211962.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_125 & _T_1030) begin
+          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211963.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211971.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211972.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_137 & _T_1018) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211981.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_137 & _T_1018) begin
+          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211982.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_137 & _T_179) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211988.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_137 & _T_179) begin
+          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211989.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_137 & _T_1022) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211996.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_137 & _T_1022) begin
+          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211997.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_137 & _T_1049) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212004.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_137 & _T_1049) begin
+          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212005.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_137 & _T_1053) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212012.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_137 & _T_1053) begin
+          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212013.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_137 & _T_1086) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212021.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_137 & _T_1086) begin
+          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212022.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212030.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212031.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_149 & _T_1018) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212040.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_149 & _T_1018) begin
+          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212041.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_149 & _T_1026) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212048.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_149 & _T_1026) begin
+          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212049.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_149 & _T_1030) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212056.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_149 & _T_1030) begin
+          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212057.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212065.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212066.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_155 & _T_1018) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212075.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_155 & _T_1018) begin
+          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212076.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_155 & _T_1026) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212083.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_155 & _T_1026) begin
+          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212084.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_155 & _T_1086) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212092.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_155 & _T_1086) begin
+          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212093.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212101.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212102.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_161 & _T_1018) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212111.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_161 & _T_1018) begin
+          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212112.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_161 & _T_1026) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212119.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_161 & _T_1026) begin
+          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212120.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_161 & _T_1030) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212127.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_161 & _T_1030) begin
+          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212128.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212136.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212137.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212146.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212147.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212154.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212155.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212162.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212163.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1189 & _T_1193) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212202.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1189 & _T_1193) begin
+          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212203.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1189 & _T_1197) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212210.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1189 & _T_1197) begin
+          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212211.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1189 & _T_1201) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212218.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1189 & _T_1201) begin
+          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212219.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1189 & _T_1205) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212226.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1189 & _T_1205) begin
+          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212227.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1189 & _T_1209) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212234.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1189 & _T_1209) begin
+          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212235.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1246 & _T_1250) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212284.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1246 & _T_1250) begin
+          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212285.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1246 & _T_1254) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212292.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1246 & _T_1254) begin
+          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212293.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1246 & _T_1258) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212300.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1246 & _T_1258) begin
+          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212301.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1246 & _T_1262) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212308.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1246 & _T_1262) begin
+          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212309.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1246 & _T_1266) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212316.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1246 & _T_1266) begin
+          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212317.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1246 & _T_1270) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212324.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1246 & _T_1270) begin
+          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212325.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1321 & _T_1329) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@212402.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1321 & _T_1329) begin
+          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@212403.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1337 & _T_1344) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@212425.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1337 & _T_1344) begin
+          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@212426.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1351) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' and 'D' concurrent, despite minlatency 4 (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:471 assert(a_set =/= d_clr || !a_set.orR, s\"'A' and 'D' concurrent, despite minlatency ${edge.manager.minLatency}\" + extra)\n"); // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@212437.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1351) begin
+          $fatal; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@212438.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1365) begin
+          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@212457.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1365) begin
+          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@212458.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+endmodule
+module TLBuffer_15( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212598.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212599.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212600.4]
+  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212601.4]
+  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212601.4]
+  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212601.4]
+  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212601.4]
+  input  [3:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212601.4]
+  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212601.4]
+  input  [31:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212601.4]
+  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212601.4]
+  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212601.4]
+  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212601.4]
+  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212601.4]
+  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212601.4]
+  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212601.4]
+  output [1:0]  auto_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212601.4]
+  output [3:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212601.4]
+  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212601.4]
+  output        auto_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212601.4]
+  output        auto_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212601.4]
+  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212601.4]
+  output        auto_in_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212601.4]
+  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212601.4]
+  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212601.4]
+  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212601.4]
+  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212601.4]
+  output [3:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212601.4]
+  output        auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212601.4]
+  output [31:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212601.4]
+  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212601.4]
+  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212601.4]
+  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212601.4]
+  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212601.4]
+  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212601.4]
+  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212601.4]
+  input  [1:0]  auto_out_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212601.4]
+  input  [3:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212601.4]
+  input         auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212601.4]
+  input         auto_out_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212601.4]
+  input         auto_out_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212601.4]
+  input  [31:0] auto_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212601.4]
+  input         auto_out_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212601.4]
+);
+  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@212608.4]
+  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@212608.4]
+  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@212608.4]
+  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@212608.4]
+  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@212608.4]
+  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@212608.4]
+  wire [3:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@212608.4]
+  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@212608.4]
+  wire [31:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@212608.4]
+  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@212608.4]
+  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@212608.4]
+  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@212608.4]
+  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@212608.4]
+  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@212608.4]
+  wire [1:0] TLMonitor_io_in_d_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@212608.4]
+  wire [3:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@212608.4]
+  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@212608.4]
+  wire  TLMonitor_io_in_d_bits_sink; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@212608.4]
+  wire  TLMonitor_io_in_d_bits_denied; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@212608.4]
+  wire  TLMonitor_io_in_d_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@212608.4]
+  wire  Queue_clock; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212649.4]
+  wire  Queue_reset; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212649.4]
+  wire  Queue_io_enq_ready; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212649.4]
+  wire  Queue_io_enq_valid; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212649.4]
+  wire [2:0] Queue_io_enq_bits_opcode; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212649.4]
+  wire [2:0] Queue_io_enq_bits_param; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212649.4]
+  wire [3:0] Queue_io_enq_bits_size; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212649.4]
+  wire  Queue_io_enq_bits_source; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212649.4]
+  wire [31:0] Queue_io_enq_bits_address; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212649.4]
+  wire [3:0] Queue_io_enq_bits_mask; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212649.4]
+  wire [31:0] Queue_io_enq_bits_data; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212649.4]
+  wire  Queue_io_enq_bits_corrupt; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212649.4]
+  wire  Queue_io_deq_ready; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212649.4]
+  wire  Queue_io_deq_valid; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212649.4]
+  wire [2:0] Queue_io_deq_bits_opcode; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212649.4]
+  wire [2:0] Queue_io_deq_bits_param; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212649.4]
+  wire [3:0] Queue_io_deq_bits_size; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212649.4]
+  wire  Queue_io_deq_bits_source; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212649.4]
+  wire [31:0] Queue_io_deq_bits_address; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212649.4]
+  wire [3:0] Queue_io_deq_bits_mask; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212649.4]
+  wire [31:0] Queue_io_deq_bits_data; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212649.4]
+  wire  Queue_io_deq_bits_corrupt; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212649.4]
+  wire  Queue_1_clock; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212663.4]
+  wire  Queue_1_reset; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212663.4]
+  wire  Queue_1_io_enq_ready; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212663.4]
+  wire  Queue_1_io_enq_valid; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212663.4]
+  wire [2:0] Queue_1_io_enq_bits_opcode; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212663.4]
+  wire [1:0] Queue_1_io_enq_bits_param; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212663.4]
+  wire [3:0] Queue_1_io_enq_bits_size; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212663.4]
+  wire  Queue_1_io_enq_bits_source; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212663.4]
+  wire  Queue_1_io_enq_bits_sink; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212663.4]
+  wire  Queue_1_io_enq_bits_denied; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212663.4]
+  wire [31:0] Queue_1_io_enq_bits_data; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212663.4]
+  wire  Queue_1_io_enq_bits_corrupt; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212663.4]
+  wire  Queue_1_io_deq_ready; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212663.4]
+  wire  Queue_1_io_deq_valid; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212663.4]
+  wire [2:0] Queue_1_io_deq_bits_opcode; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212663.4]
+  wire [1:0] Queue_1_io_deq_bits_param; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212663.4]
+  wire [3:0] Queue_1_io_deq_bits_size; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212663.4]
+  wire  Queue_1_io_deq_bits_source; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212663.4]
+  wire  Queue_1_io_deq_bits_sink; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212663.4]
+  wire  Queue_1_io_deq_bits_denied; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212663.4]
+  wire [31:0] Queue_1_io_deq_bits_data; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212663.4]
+  wire  Queue_1_io_deq_bits_corrupt; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212663.4]
+  TLMonitor_55 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@212608.4]
+    .clock(TLMonitor_clock),
+    .reset(TLMonitor_reset),
+    .io_in_a_ready(TLMonitor_io_in_a_ready),
+    .io_in_a_valid(TLMonitor_io_in_a_valid),
+    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
+    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
+    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
+    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
+    .io_in_d_ready(TLMonitor_io_in_d_ready),
+    .io_in_d_valid(TLMonitor_io_in_d_valid),
+    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
+    .io_in_d_bits_param(TLMonitor_io_in_d_bits_param),
+    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
+    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source),
+    .io_in_d_bits_sink(TLMonitor_io_in_d_bits_sink),
+    .io_in_d_bits_denied(TLMonitor_io_in_d_bits_denied),
+    .io_in_d_bits_corrupt(TLMonitor_io_in_d_bits_corrupt)
+  );
+  Queue Queue ( // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212649.4]
+    .clock(Queue_clock),
+    .reset(Queue_reset),
+    .io_enq_ready(Queue_io_enq_ready),
+    .io_enq_valid(Queue_io_enq_valid),
+    .io_enq_bits_opcode(Queue_io_enq_bits_opcode),
+    .io_enq_bits_param(Queue_io_enq_bits_param),
+    .io_enq_bits_size(Queue_io_enq_bits_size),
+    .io_enq_bits_source(Queue_io_enq_bits_source),
+    .io_enq_bits_address(Queue_io_enq_bits_address),
+    .io_enq_bits_mask(Queue_io_enq_bits_mask),
+    .io_enq_bits_data(Queue_io_enq_bits_data),
+    .io_enq_bits_corrupt(Queue_io_enq_bits_corrupt),
+    .io_deq_ready(Queue_io_deq_ready),
+    .io_deq_valid(Queue_io_deq_valid),
+    .io_deq_bits_opcode(Queue_io_deq_bits_opcode),
+    .io_deq_bits_param(Queue_io_deq_bits_param),
+    .io_deq_bits_size(Queue_io_deq_bits_size),
+    .io_deq_bits_source(Queue_io_deq_bits_source),
+    .io_deq_bits_address(Queue_io_deq_bits_address),
+    .io_deq_bits_mask(Queue_io_deq_bits_mask),
+    .io_deq_bits_data(Queue_io_deq_bits_data),
+    .io_deq_bits_corrupt(Queue_io_deq_bits_corrupt)
+  );
+  Queue_1 Queue_1 ( // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212663.4]
+    .clock(Queue_1_clock),
+    .reset(Queue_1_reset),
+    .io_enq_ready(Queue_1_io_enq_ready),
+    .io_enq_valid(Queue_1_io_enq_valid),
+    .io_enq_bits_opcode(Queue_1_io_enq_bits_opcode),
+    .io_enq_bits_param(Queue_1_io_enq_bits_param),
+    .io_enq_bits_size(Queue_1_io_enq_bits_size),
+    .io_enq_bits_source(Queue_1_io_enq_bits_source),
+    .io_enq_bits_sink(Queue_1_io_enq_bits_sink),
+    .io_enq_bits_denied(Queue_1_io_enq_bits_denied),
+    .io_enq_bits_data(Queue_1_io_enq_bits_data),
+    .io_enq_bits_corrupt(Queue_1_io_enq_bits_corrupt),
+    .io_deq_ready(Queue_1_io_deq_ready),
+    .io_deq_valid(Queue_1_io_deq_valid),
+    .io_deq_bits_opcode(Queue_1_io_deq_bits_opcode),
+    .io_deq_bits_param(Queue_1_io_deq_bits_param),
+    .io_deq_bits_size(Queue_1_io_deq_bits_size),
+    .io_deq_bits_source(Queue_1_io_deq_bits_source),
+    .io_deq_bits_sink(Queue_1_io_deq_bits_sink),
+    .io_deq_bits_denied(Queue_1_io_deq_bits_denied),
+    .io_deq_bits_data(Queue_1_io_deq_bits_data),
+    .io_deq_bits_corrupt(Queue_1_io_deq_bits_corrupt)
+  );
+  assign auto_in_a_ready = Queue_io_enq_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@212648.4]
+  assign auto_in_d_valid = Queue_1_io_deq_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@212648.4]
+  assign auto_in_d_bits_opcode = Queue_1_io_deq_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@212648.4]
+  assign auto_in_d_bits_param = Queue_1_io_deq_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@212648.4]
+  assign auto_in_d_bits_size = Queue_1_io_deq_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@212648.4]
+  assign auto_in_d_bits_source = Queue_1_io_deq_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@212648.4]
+  assign auto_in_d_bits_sink = Queue_1_io_deq_bits_sink; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@212648.4]
+  assign auto_in_d_bits_denied = Queue_1_io_deq_bits_denied; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@212648.4]
+  assign auto_in_d_bits_data = Queue_1_io_deq_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@212648.4]
+  assign auto_in_d_bits_corrupt = Queue_1_io_deq_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@212648.4]
+  assign auto_out_a_valid = Queue_io_deq_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@212647.4]
+  assign auto_out_a_bits_opcode = Queue_io_deq_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@212647.4]
+  assign auto_out_a_bits_param = Queue_io_deq_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@212647.4]
+  assign auto_out_a_bits_size = Queue_io_deq_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@212647.4]
+  assign auto_out_a_bits_source = Queue_io_deq_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@212647.4]
+  assign auto_out_a_bits_address = Queue_io_deq_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@212647.4]
+  assign auto_out_a_bits_mask = Queue_io_deq_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@212647.4]
+  assign auto_out_a_bits_data = Queue_io_deq_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@212647.4]
+  assign auto_out_a_bits_corrupt = Queue_io_deq_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@212647.4]
+  assign auto_out_d_ready = Queue_1_io_enq_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@212647.4]
+  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212610.4]
+  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212611.4]
+  assign TLMonitor_io_in_a_ready = Queue_io_enq_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@212644.4]
+  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@212644.4]
+  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@212644.4]
+  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@212644.4]
+  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@212644.4]
+  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@212644.4]
+  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@212644.4]
+  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@212644.4]
+  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@212644.4]
+  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@212644.4]
+  assign TLMonitor_io_in_d_valid = Queue_1_io_deq_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@212644.4]
+  assign TLMonitor_io_in_d_bits_opcode = Queue_1_io_deq_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@212644.4]
+  assign TLMonitor_io_in_d_bits_param = Queue_1_io_deq_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@212644.4]
+  assign TLMonitor_io_in_d_bits_size = Queue_1_io_deq_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@212644.4]
+  assign TLMonitor_io_in_d_bits_source = Queue_1_io_deq_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@212644.4]
+  assign TLMonitor_io_in_d_bits_sink = Queue_1_io_deq_bits_sink; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@212644.4]
+  assign TLMonitor_io_in_d_bits_denied = Queue_1_io_deq_bits_denied; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@212644.4]
+  assign TLMonitor_io_in_d_bits_corrupt = Queue_1_io_deq_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@212644.4]
+  assign Queue_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212650.4]
+  assign Queue_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212651.4]
+  assign Queue_io_enq_valid = auto_in_a_valid; // @[Decoupled.scala 294:22:shc.marmotcaravel.MarmotCaravelConfig.fir@212652.4]
+  assign Queue_io_enq_bits_opcode = auto_in_a_bits_opcode; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212660.4]
+  assign Queue_io_enq_bits_param = auto_in_a_bits_param; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212659.4]
+  assign Queue_io_enq_bits_size = auto_in_a_bits_size; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212658.4]
+  assign Queue_io_enq_bits_source = auto_in_a_bits_source; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212657.4]
+  assign Queue_io_enq_bits_address = auto_in_a_bits_address; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212656.4]
+  assign Queue_io_enq_bits_mask = auto_in_a_bits_mask; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212655.4]
+  assign Queue_io_enq_bits_data = auto_in_a_bits_data; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212654.4]
+  assign Queue_io_enq_bits_corrupt = auto_in_a_bits_corrupt; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212653.4]
+  assign Queue_io_deq_ready = auto_out_a_ready; // @[Buffer.scala 38:13:shc.marmotcaravel.MarmotCaravelConfig.fir@212662.4]
+  assign Queue_1_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212664.4]
+  assign Queue_1_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212665.4]
+  assign Queue_1_io_enq_valid = auto_out_d_valid; // @[Decoupled.scala 294:22:shc.marmotcaravel.MarmotCaravelConfig.fir@212666.4]
+  assign Queue_1_io_enq_bits_opcode = auto_out_d_bits_opcode; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212674.4]
+  assign Queue_1_io_enq_bits_param = auto_out_d_bits_param; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212673.4]
+  assign Queue_1_io_enq_bits_size = auto_out_d_bits_size; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212672.4]
+  assign Queue_1_io_enq_bits_source = auto_out_d_bits_source; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212671.4]
+  assign Queue_1_io_enq_bits_sink = auto_out_d_bits_sink; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212670.4]
+  assign Queue_1_io_enq_bits_denied = auto_out_d_bits_denied; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212669.4]
+  assign Queue_1_io_enq_bits_data = auto_out_d_bits_data; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212668.4]
+  assign Queue_1_io_enq_bits_corrupt = auto_out_d_bits_corrupt; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212667.4]
+  assign Queue_1_io_deq_ready = auto_in_d_ready; // @[Buffer.scala 39:13:shc.marmotcaravel.MarmotCaravelConfig.fir@212676.4]
+endmodule
+module Queue_11( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212684.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212685.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212686.4]
+  output        io_enq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212687.4]
+  input         io_enq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212687.4]
+  input  [2:0]  io_enq_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212687.4]
+  input  [2:0]  io_enq_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212687.4]
+  input  [2:0]  io_enq_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212687.4]
+  input         io_enq_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212687.4]
+  input  [31:0] io_enq_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212687.4]
+  input  [3:0]  io_enq_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212687.4]
+  input  [31:0] io_enq_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212687.4]
+  input         io_enq_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212687.4]
+  input         io_deq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212687.4]
+  output        io_deq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212687.4]
+  output [2:0]  io_deq_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212687.4]
+  output [2:0]  io_deq_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212687.4]
+  output [2:0]  io_deq_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212687.4]
+  output        io_deq_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212687.4]
+  output [31:0] io_deq_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212687.4]
+  output [3:0]  io_deq_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212687.4]
+  output [31:0] io_deq_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212687.4]
+  output        io_deq_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212687.4]
+);
+  reg [2:0] _T_35_opcode [0:1]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
+  reg [31:0] _RAND_0;
+  wire [2:0] _T_35_opcode__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
+  wire  _T_35_opcode__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
+  wire [2:0] _T_35_opcode__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
+  wire  _T_35_opcode__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
+  wire  _T_35_opcode__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
+  wire  _T_35_opcode__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
+  reg [2:0] _T_35_param [0:1]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
+  reg [31:0] _RAND_1;
+  wire [2:0] _T_35_param__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
+  wire  _T_35_param__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
+  wire [2:0] _T_35_param__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
+  wire  _T_35_param__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
+  wire  _T_35_param__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
+  wire  _T_35_param__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
+  reg [2:0] _T_35_size [0:1]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
+  reg [31:0] _RAND_2;
+  wire [2:0] _T_35_size__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
+  wire  _T_35_size__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
+  wire [2:0] _T_35_size__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
+  wire  _T_35_size__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
+  wire  _T_35_size__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
+  wire  _T_35_size__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
+  reg  _T_35_source [0:1]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
+  reg [31:0] _RAND_3;
+  wire  _T_35_source__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
+  wire  _T_35_source__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
+  wire  _T_35_source__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
+  wire  _T_35_source__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
+  wire  _T_35_source__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
+  wire  _T_35_source__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
+  reg [31:0] _T_35_address [0:1]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
+  reg [31:0] _RAND_4;
+  wire [31:0] _T_35_address__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
+  wire  _T_35_address__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
+  wire [31:0] _T_35_address__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
+  wire  _T_35_address__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
+  wire  _T_35_address__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
+  wire  _T_35_address__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
+  reg [3:0] _T_35_mask [0:1]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
+  reg [31:0] _RAND_5;
+  wire [3:0] _T_35_mask__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
+  wire  _T_35_mask__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
+  wire [3:0] _T_35_mask__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
+  wire  _T_35_mask__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
+  wire  _T_35_mask__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
+  wire  _T_35_mask__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
+  reg [31:0] _T_35_data [0:1]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
+  reg [31:0] _RAND_6;
+  wire [31:0] _T_35_data__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
+  wire  _T_35_data__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
+  wire [31:0] _T_35_data__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
+  wire  _T_35_data__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
+  wire  _T_35_data__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
+  wire  _T_35_data__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
+  reg  _T_35_corrupt [0:1]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
+  reg [31:0] _RAND_7;
+  wire  _T_35_corrupt__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
+  wire  _T_35_corrupt__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
+  wire  _T_35_corrupt__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
+  wire  _T_35_corrupt__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
+  wire  _T_35_corrupt__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
+  wire  _T_35_corrupt__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
+  reg  value; // @[Counter.scala 26:33:shc.marmotcaravel.MarmotCaravelConfig.fir@212690.4]
+  reg [31:0] _RAND_8;
+  reg  value_1; // @[Counter.scala 26:33:shc.marmotcaravel.MarmotCaravelConfig.fir@212691.4]
+  reg [31:0] _RAND_9;
+  reg  _T_39; // @[Decoupled.scala 217:35:shc.marmotcaravel.MarmotCaravelConfig.fir@212692.4]
+  reg [31:0] _RAND_10;
+  wire  _T_40; // @[Decoupled.scala 219:41:shc.marmotcaravel.MarmotCaravelConfig.fir@212693.4]
+  wire  _T_41; // @[Decoupled.scala 220:36:shc.marmotcaravel.MarmotCaravelConfig.fir@212694.4]
+  wire  _T_42; // @[Decoupled.scala 220:33:shc.marmotcaravel.MarmotCaravelConfig.fir@212695.4]
+  wire  _T_43; // @[Decoupled.scala 221:32:shc.marmotcaravel.MarmotCaravelConfig.fir@212696.4]
+  wire  _T_44; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@212697.4]
+  wire  _T_47; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@212700.4]
+  wire  _T_52; // @[Counter.scala 35:22:shc.marmotcaravel.MarmotCaravelConfig.fir@212715.6]
+  wire  _T_54; // @[Counter.scala 35:22:shc.marmotcaravel.MarmotCaravelConfig.fir@212721.6]
+  wire  _T_55; // @[Decoupled.scala 232:16:shc.marmotcaravel.MarmotCaravelConfig.fir@212724.4]
+  assign _T_35_opcode__T_58_addr = value_1;
+  assign _T_35_opcode__T_58_data = _T_35_opcode[_T_35_opcode__T_58_addr]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
+  assign _T_35_opcode__T_50_data = io_enq_bits_opcode;
+  assign _T_35_opcode__T_50_addr = value;
+  assign _T_35_opcode__T_50_mask = 1'h1;
+  assign _T_35_opcode__T_50_en = io_enq_ready & io_enq_valid;
+  assign _T_35_param__T_58_addr = value_1;
+  assign _T_35_param__T_58_data = _T_35_param[_T_35_param__T_58_addr]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
+  assign _T_35_param__T_50_data = io_enq_bits_param;
+  assign _T_35_param__T_50_addr = value;
+  assign _T_35_param__T_50_mask = 1'h1;
+  assign _T_35_param__T_50_en = io_enq_ready & io_enq_valid;
+  assign _T_35_size__T_58_addr = value_1;
+  assign _T_35_size__T_58_data = _T_35_size[_T_35_size__T_58_addr]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
+  assign _T_35_size__T_50_data = io_enq_bits_size;
+  assign _T_35_size__T_50_addr = value;
+  assign _T_35_size__T_50_mask = 1'h1;
+  assign _T_35_size__T_50_en = io_enq_ready & io_enq_valid;
+  assign _T_35_source__T_58_addr = value_1;
+  assign _T_35_source__T_58_data = _T_35_source[_T_35_source__T_58_addr]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
+  assign _T_35_source__T_50_data = io_enq_bits_source;
+  assign _T_35_source__T_50_addr = value;
+  assign _T_35_source__T_50_mask = 1'h1;
+  assign _T_35_source__T_50_en = io_enq_ready & io_enq_valid;
+  assign _T_35_address__T_58_addr = value_1;
+  assign _T_35_address__T_58_data = _T_35_address[_T_35_address__T_58_addr]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
+  assign _T_35_address__T_50_data = io_enq_bits_address;
+  assign _T_35_address__T_50_addr = value;
+  assign _T_35_address__T_50_mask = 1'h1;
+  assign _T_35_address__T_50_en = io_enq_ready & io_enq_valid;
+  assign _T_35_mask__T_58_addr = value_1;
+  assign _T_35_mask__T_58_data = _T_35_mask[_T_35_mask__T_58_addr]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
+  assign _T_35_mask__T_50_data = io_enq_bits_mask;
+  assign _T_35_mask__T_50_addr = value;
+  assign _T_35_mask__T_50_mask = 1'h1;
+  assign _T_35_mask__T_50_en = io_enq_ready & io_enq_valid;
+  assign _T_35_data__T_58_addr = value_1;
+  assign _T_35_data__T_58_data = _T_35_data[_T_35_data__T_58_addr]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
+  assign _T_35_data__T_50_data = io_enq_bits_data;
+  assign _T_35_data__T_50_addr = value;
+  assign _T_35_data__T_50_mask = 1'h1;
+  assign _T_35_data__T_50_en = io_enq_ready & io_enq_valid;
+  assign _T_35_corrupt__T_58_addr = value_1;
+  assign _T_35_corrupt__T_58_data = _T_35_corrupt[_T_35_corrupt__T_58_addr]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
+  assign _T_35_corrupt__T_50_data = io_enq_bits_corrupt;
+  assign _T_35_corrupt__T_50_addr = value;
+  assign _T_35_corrupt__T_50_mask = 1'h1;
+  assign _T_35_corrupt__T_50_en = io_enq_ready & io_enq_valid;
+  assign _T_40 = value == value_1; // @[Decoupled.scala 219:41:shc.marmotcaravel.MarmotCaravelConfig.fir@212693.4]
+  assign _T_41 = _T_39 == 1'h0; // @[Decoupled.scala 220:36:shc.marmotcaravel.MarmotCaravelConfig.fir@212694.4]
+  assign _T_42 = _T_40 & _T_41; // @[Decoupled.scala 220:33:shc.marmotcaravel.MarmotCaravelConfig.fir@212695.4]
+  assign _T_43 = _T_40 & _T_39; // @[Decoupled.scala 221:32:shc.marmotcaravel.MarmotCaravelConfig.fir@212696.4]
+  assign _T_44 = io_enq_ready & io_enq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@212697.4]
+  assign _T_47 = io_deq_ready & io_deq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@212700.4]
+  assign _T_52 = value + 1'h1; // @[Counter.scala 35:22:shc.marmotcaravel.MarmotCaravelConfig.fir@212715.6]
+  assign _T_54 = value_1 + 1'h1; // @[Counter.scala 35:22:shc.marmotcaravel.MarmotCaravelConfig.fir@212721.6]
+  assign _T_55 = _T_44 != _T_47; // @[Decoupled.scala 232:16:shc.marmotcaravel.MarmotCaravelConfig.fir@212724.4]
+  assign io_enq_ready = _T_43 == 1'h0; // @[Decoupled.scala 237:16:shc.marmotcaravel.MarmotCaravelConfig.fir@212731.4]
+  assign io_deq_valid = _T_42 == 1'h0; // @[Decoupled.scala 236:16:shc.marmotcaravel.MarmotCaravelConfig.fir@212729.4]
+  assign io_deq_bits_opcode = _T_35_opcode__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@212740.4]
+  assign io_deq_bits_param = _T_35_param__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@212739.4]
+  assign io_deq_bits_size = _T_35_size__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@212738.4]
+  assign io_deq_bits_source = _T_35_source__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@212737.4]
+  assign io_deq_bits_address = _T_35_address__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@212736.4]
+  assign io_deq_bits_mask = _T_35_mask__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@212735.4]
+  assign io_deq_bits_data = _T_35_data__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@212734.4]
+  assign io_deq_bits_corrupt = _T_35_corrupt__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@212733.4]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  _RAND_0 = {1{`RANDOM}};
+  `ifdef RANDOMIZE_MEM_INIT
+  for (initvar = 0; initvar < 2; initvar = initvar+1)
+    _T_35_opcode[initvar] = _RAND_0[2:0];
+  `endif // RANDOMIZE_MEM_INIT
+  _RAND_1 = {1{`RANDOM}};
+  `ifdef RANDOMIZE_MEM_INIT
+  for (initvar = 0; initvar < 2; initvar = initvar+1)
+    _T_35_param[initvar] = _RAND_1[2:0];
+  `endif // RANDOMIZE_MEM_INIT
+  _RAND_2 = {1{`RANDOM}};
+  `ifdef RANDOMIZE_MEM_INIT
+  for (initvar = 0; initvar < 2; initvar = initvar+1)
+    _T_35_size[initvar] = _RAND_2[2:0];
+  `endif // RANDOMIZE_MEM_INIT
+  _RAND_3 = {1{`RANDOM}};
+  `ifdef RANDOMIZE_MEM_INIT
+  for (initvar = 0; initvar < 2; initvar = initvar+1)
+    _T_35_source[initvar] = _RAND_3[0:0];
+  `endif // RANDOMIZE_MEM_INIT
+  _RAND_4 = {1{`RANDOM}};
+  `ifdef RANDOMIZE_MEM_INIT
+  for (initvar = 0; initvar < 2; initvar = initvar+1)
+    _T_35_address[initvar] = _RAND_4[31:0];
+  `endif // RANDOMIZE_MEM_INIT
+  _RAND_5 = {1{`RANDOM}};
+  `ifdef RANDOMIZE_MEM_INIT
+  for (initvar = 0; initvar < 2; initvar = initvar+1)
+    _T_35_mask[initvar] = _RAND_5[3:0];
+  `endif // RANDOMIZE_MEM_INIT
+  _RAND_6 = {1{`RANDOM}};
+  `ifdef RANDOMIZE_MEM_INIT
+  for (initvar = 0; initvar < 2; initvar = initvar+1)
+    _T_35_data[initvar] = _RAND_6[31:0];
+  `endif // RANDOMIZE_MEM_INIT
+  _RAND_7 = {1{`RANDOM}};
+  `ifdef RANDOMIZE_MEM_INIT
+  for (initvar = 0; initvar < 2; initvar = initvar+1)
+    _T_35_corrupt[initvar] = _RAND_7[0:0];
+  `endif // RANDOMIZE_MEM_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_8 = {1{`RANDOM}};
+  value = _RAND_8[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_9 = {1{`RANDOM}};
+  value_1 = _RAND_9[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_10 = {1{`RANDOM}};
+  _T_39 = _RAND_10[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if(_T_35_opcode__T_50_en & _T_35_opcode__T_50_mask) begin
+      _T_35_opcode[_T_35_opcode__T_50_addr] <= _T_35_opcode__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
+    end
+    if(_T_35_param__T_50_en & _T_35_param__T_50_mask) begin
+      _T_35_param[_T_35_param__T_50_addr] <= _T_35_param__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
+    end
+    if(_T_35_size__T_50_en & _T_35_size__T_50_mask) begin
+      _T_35_size[_T_35_size__T_50_addr] <= _T_35_size__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
+    end
+    if(_T_35_source__T_50_en & _T_35_source__T_50_mask) begin
+      _T_35_source[_T_35_source__T_50_addr] <= _T_35_source__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
+    end
+    if(_T_35_address__T_50_en & _T_35_address__T_50_mask) begin
+      _T_35_address[_T_35_address__T_50_addr] <= _T_35_address__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
+    end
+    if(_T_35_mask__T_50_en & _T_35_mask__T_50_mask) begin
+      _T_35_mask[_T_35_mask__T_50_addr] <= _T_35_mask__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
+    end
+    if(_T_35_data__T_50_en & _T_35_data__T_50_mask) begin
+      _T_35_data[_T_35_data__T_50_addr] <= _T_35_data__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
+    end
+    if(_T_35_corrupt__T_50_en & _T_35_corrupt__T_50_mask) begin
+      _T_35_corrupt[_T_35_corrupt__T_50_addr] <= _T_35_corrupt__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
+    end
+    if (reset) begin
+      value <= 1'h0;
+    end else begin
+      if (_T_44) begin
+        value <= _T_52;
+      end
+    end
+    if (reset) begin
+      value_1 <= 1'h0;
+    end else begin
+      if (_T_47) begin
+        value_1 <= _T_54;
+      end
+    end
+    if (reset) begin
+      _T_39 <= 1'h0;
+    end else begin
+      if (_T_55) begin
+        _T_39 <= _T_44;
+      end
+    end
+  end
+endmodule
+module Queue_12( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212748.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212749.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212750.4]
+  output        io_enq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212751.4]
+  input         io_enq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212751.4]
+  input  [2:0]  io_enq_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212751.4]
+  input  [1:0]  io_enq_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212751.4]
+  input  [2:0]  io_enq_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212751.4]
+  input         io_enq_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212751.4]
+  input         io_enq_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212751.4]
+  input         io_enq_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212751.4]
+  input  [31:0] io_enq_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212751.4]
+  input         io_enq_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212751.4]
+  input         io_deq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212751.4]
+  output        io_deq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212751.4]
+  output [2:0]  io_deq_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212751.4]
+  output [1:0]  io_deq_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212751.4]
+  output [2:0]  io_deq_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212751.4]
+  output        io_deq_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212751.4]
+  output        io_deq_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212751.4]
+  output        io_deq_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212751.4]
+  output [31:0] io_deq_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212751.4]
+  output        io_deq_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212751.4]
+);
+  reg [2:0] _T_35_opcode [0:1]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
+  reg [31:0] _RAND_0;
+  wire [2:0] _T_35_opcode__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
+  wire  _T_35_opcode__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
+  wire [2:0] _T_35_opcode__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
+  wire  _T_35_opcode__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
+  wire  _T_35_opcode__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
+  wire  _T_35_opcode__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
+  reg [1:0] _T_35_param [0:1]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
+  reg [31:0] _RAND_1;
+  wire [1:0] _T_35_param__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
+  wire  _T_35_param__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
+  wire [1:0] _T_35_param__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
+  wire  _T_35_param__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
+  wire  _T_35_param__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
+  wire  _T_35_param__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
+  reg [2:0] _T_35_size [0:1]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
+  reg [31:0] _RAND_2;
+  wire [2:0] _T_35_size__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
+  wire  _T_35_size__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
+  wire [2:0] _T_35_size__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
+  wire  _T_35_size__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
+  wire  _T_35_size__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
+  wire  _T_35_size__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
+  reg  _T_35_source [0:1]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
+  reg [31:0] _RAND_3;
+  wire  _T_35_source__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
+  wire  _T_35_source__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
+  wire  _T_35_source__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
+  wire  _T_35_source__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
+  wire  _T_35_source__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
+  wire  _T_35_source__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
+  reg  _T_35_sink [0:1]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
+  reg [31:0] _RAND_4;
+  wire  _T_35_sink__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
+  wire  _T_35_sink__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
+  wire  _T_35_sink__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
+  wire  _T_35_sink__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
+  wire  _T_35_sink__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
+  wire  _T_35_sink__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
+  reg  _T_35_denied [0:1]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
+  reg [31:0] _RAND_5;
+  wire  _T_35_denied__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
+  wire  _T_35_denied__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
+  wire  _T_35_denied__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
+  wire  _T_35_denied__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
+  wire  _T_35_denied__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
+  wire  _T_35_denied__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
+  reg [31:0] _T_35_data [0:1]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
+  reg [31:0] _RAND_6;
+  wire [31:0] _T_35_data__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
+  wire  _T_35_data__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
+  wire [31:0] _T_35_data__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
+  wire  _T_35_data__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
+  wire  _T_35_data__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
+  wire  _T_35_data__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
+  reg  _T_35_corrupt [0:1]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
+  reg [31:0] _RAND_7;
+  wire  _T_35_corrupt__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
+  wire  _T_35_corrupt__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
+  wire  _T_35_corrupt__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
+  wire  _T_35_corrupt__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
+  wire  _T_35_corrupt__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
+  wire  _T_35_corrupt__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
+  reg  value; // @[Counter.scala 26:33:shc.marmotcaravel.MarmotCaravelConfig.fir@212754.4]
+  reg [31:0] _RAND_8;
+  reg  value_1; // @[Counter.scala 26:33:shc.marmotcaravel.MarmotCaravelConfig.fir@212755.4]
+  reg [31:0] _RAND_9;
+  reg  _T_39; // @[Decoupled.scala 217:35:shc.marmotcaravel.MarmotCaravelConfig.fir@212756.4]
+  reg [31:0] _RAND_10;
+  wire  _T_40; // @[Decoupled.scala 219:41:shc.marmotcaravel.MarmotCaravelConfig.fir@212757.4]
+  wire  _T_41; // @[Decoupled.scala 220:36:shc.marmotcaravel.MarmotCaravelConfig.fir@212758.4]
+  wire  _T_42; // @[Decoupled.scala 220:33:shc.marmotcaravel.MarmotCaravelConfig.fir@212759.4]
+  wire  _T_43; // @[Decoupled.scala 221:32:shc.marmotcaravel.MarmotCaravelConfig.fir@212760.4]
+  wire  _T_44; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@212761.4]
+  wire  _T_47; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@212764.4]
+  wire  _T_52; // @[Counter.scala 35:22:shc.marmotcaravel.MarmotCaravelConfig.fir@212779.6]
+  wire  _T_54; // @[Counter.scala 35:22:shc.marmotcaravel.MarmotCaravelConfig.fir@212785.6]
+  wire  _T_55; // @[Decoupled.scala 232:16:shc.marmotcaravel.MarmotCaravelConfig.fir@212788.4]
+  assign _T_35_opcode__T_58_addr = value_1;
+  assign _T_35_opcode__T_58_data = _T_35_opcode[_T_35_opcode__T_58_addr]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
+  assign _T_35_opcode__T_50_data = io_enq_bits_opcode;
+  assign _T_35_opcode__T_50_addr = value;
+  assign _T_35_opcode__T_50_mask = 1'h1;
+  assign _T_35_opcode__T_50_en = io_enq_ready & io_enq_valid;
+  assign _T_35_param__T_58_addr = value_1;
+  assign _T_35_param__T_58_data = _T_35_param[_T_35_param__T_58_addr]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
+  assign _T_35_param__T_50_data = io_enq_bits_param;
+  assign _T_35_param__T_50_addr = value;
+  assign _T_35_param__T_50_mask = 1'h1;
+  assign _T_35_param__T_50_en = io_enq_ready & io_enq_valid;
+  assign _T_35_size__T_58_addr = value_1;
+  assign _T_35_size__T_58_data = _T_35_size[_T_35_size__T_58_addr]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
+  assign _T_35_size__T_50_data = io_enq_bits_size;
+  assign _T_35_size__T_50_addr = value;
+  assign _T_35_size__T_50_mask = 1'h1;
+  assign _T_35_size__T_50_en = io_enq_ready & io_enq_valid;
+  assign _T_35_source__T_58_addr = value_1;
+  assign _T_35_source__T_58_data = _T_35_source[_T_35_source__T_58_addr]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
+  assign _T_35_source__T_50_data = io_enq_bits_source;
+  assign _T_35_source__T_50_addr = value;
+  assign _T_35_source__T_50_mask = 1'h1;
+  assign _T_35_source__T_50_en = io_enq_ready & io_enq_valid;
+  assign _T_35_sink__T_58_addr = value_1;
+  assign _T_35_sink__T_58_data = _T_35_sink[_T_35_sink__T_58_addr]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
+  assign _T_35_sink__T_50_data = io_enq_bits_sink;
+  assign _T_35_sink__T_50_addr = value;
+  assign _T_35_sink__T_50_mask = 1'h1;
+  assign _T_35_sink__T_50_en = io_enq_ready & io_enq_valid;
+  assign _T_35_denied__T_58_addr = value_1;
+  assign _T_35_denied__T_58_data = _T_35_denied[_T_35_denied__T_58_addr]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
+  assign _T_35_denied__T_50_data = io_enq_bits_denied;
+  assign _T_35_denied__T_50_addr = value;
+  assign _T_35_denied__T_50_mask = 1'h1;
+  assign _T_35_denied__T_50_en = io_enq_ready & io_enq_valid;
+  assign _T_35_data__T_58_addr = value_1;
+  assign _T_35_data__T_58_data = _T_35_data[_T_35_data__T_58_addr]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
+  assign _T_35_data__T_50_data = io_enq_bits_data;
+  assign _T_35_data__T_50_addr = value;
+  assign _T_35_data__T_50_mask = 1'h1;
+  assign _T_35_data__T_50_en = io_enq_ready & io_enq_valid;
+  assign _T_35_corrupt__T_58_addr = value_1;
+  assign _T_35_corrupt__T_58_data = _T_35_corrupt[_T_35_corrupt__T_58_addr]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
+  assign _T_35_corrupt__T_50_data = io_enq_bits_corrupt;
+  assign _T_35_corrupt__T_50_addr = value;
+  assign _T_35_corrupt__T_50_mask = 1'h1;
+  assign _T_35_corrupt__T_50_en = io_enq_ready & io_enq_valid;
+  assign _T_40 = value == value_1; // @[Decoupled.scala 219:41:shc.marmotcaravel.MarmotCaravelConfig.fir@212757.4]
+  assign _T_41 = _T_39 == 1'h0; // @[Decoupled.scala 220:36:shc.marmotcaravel.MarmotCaravelConfig.fir@212758.4]
+  assign _T_42 = _T_40 & _T_41; // @[Decoupled.scala 220:33:shc.marmotcaravel.MarmotCaravelConfig.fir@212759.4]
+  assign _T_43 = _T_40 & _T_39; // @[Decoupled.scala 221:32:shc.marmotcaravel.MarmotCaravelConfig.fir@212760.4]
+  assign _T_44 = io_enq_ready & io_enq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@212761.4]
+  assign _T_47 = io_deq_ready & io_deq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@212764.4]
+  assign _T_52 = value + 1'h1; // @[Counter.scala 35:22:shc.marmotcaravel.MarmotCaravelConfig.fir@212779.6]
+  assign _T_54 = value_1 + 1'h1; // @[Counter.scala 35:22:shc.marmotcaravel.MarmotCaravelConfig.fir@212785.6]
+  assign _T_55 = _T_44 != _T_47; // @[Decoupled.scala 232:16:shc.marmotcaravel.MarmotCaravelConfig.fir@212788.4]
+  assign io_enq_ready = _T_43 == 1'h0; // @[Decoupled.scala 237:16:shc.marmotcaravel.MarmotCaravelConfig.fir@212795.4]
+  assign io_deq_valid = _T_42 == 1'h0; // @[Decoupled.scala 236:16:shc.marmotcaravel.MarmotCaravelConfig.fir@212793.4]
+  assign io_deq_bits_opcode = _T_35_opcode__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@212804.4]
+  assign io_deq_bits_param = _T_35_param__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@212803.4]
+  assign io_deq_bits_size = _T_35_size__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@212802.4]
+  assign io_deq_bits_source = _T_35_source__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@212801.4]
+  assign io_deq_bits_sink = _T_35_sink__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@212800.4]
+  assign io_deq_bits_denied = _T_35_denied__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@212799.4]
+  assign io_deq_bits_data = _T_35_data__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@212798.4]
+  assign io_deq_bits_corrupt = _T_35_corrupt__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@212797.4]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  _RAND_0 = {1{`RANDOM}};
+  `ifdef RANDOMIZE_MEM_INIT
+  for (initvar = 0; initvar < 2; initvar = initvar+1)
+    _T_35_opcode[initvar] = _RAND_0[2:0];
+  `endif // RANDOMIZE_MEM_INIT
+  _RAND_1 = {1{`RANDOM}};
+  `ifdef RANDOMIZE_MEM_INIT
+  for (initvar = 0; initvar < 2; initvar = initvar+1)
+    _T_35_param[initvar] = _RAND_1[1:0];
+  `endif // RANDOMIZE_MEM_INIT
+  _RAND_2 = {1{`RANDOM}};
+  `ifdef RANDOMIZE_MEM_INIT
+  for (initvar = 0; initvar < 2; initvar = initvar+1)
+    _T_35_size[initvar] = _RAND_2[2:0];
+  `endif // RANDOMIZE_MEM_INIT
+  _RAND_3 = {1{`RANDOM}};
+  `ifdef RANDOMIZE_MEM_INIT
+  for (initvar = 0; initvar < 2; initvar = initvar+1)
+    _T_35_source[initvar] = _RAND_3[0:0];
+  `endif // RANDOMIZE_MEM_INIT
+  _RAND_4 = {1{`RANDOM}};
+  `ifdef RANDOMIZE_MEM_INIT
+  for (initvar = 0; initvar < 2; initvar = initvar+1)
+    _T_35_sink[initvar] = _RAND_4[0:0];
+  `endif // RANDOMIZE_MEM_INIT
+  _RAND_5 = {1{`RANDOM}};
+  `ifdef RANDOMIZE_MEM_INIT
+  for (initvar = 0; initvar < 2; initvar = initvar+1)
+    _T_35_denied[initvar] = _RAND_5[0:0];
+  `endif // RANDOMIZE_MEM_INIT
+  _RAND_6 = {1{`RANDOM}};
+  `ifdef RANDOMIZE_MEM_INIT
+  for (initvar = 0; initvar < 2; initvar = initvar+1)
+    _T_35_data[initvar] = _RAND_6[31:0];
+  `endif // RANDOMIZE_MEM_INIT
+  _RAND_7 = {1{`RANDOM}};
+  `ifdef RANDOMIZE_MEM_INIT
+  for (initvar = 0; initvar < 2; initvar = initvar+1)
+    _T_35_corrupt[initvar] = _RAND_7[0:0];
+  `endif // RANDOMIZE_MEM_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_8 = {1{`RANDOM}};
+  value = _RAND_8[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_9 = {1{`RANDOM}};
+  value_1 = _RAND_9[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_10 = {1{`RANDOM}};
+  _T_39 = _RAND_10[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if(_T_35_opcode__T_50_en & _T_35_opcode__T_50_mask) begin
+      _T_35_opcode[_T_35_opcode__T_50_addr] <= _T_35_opcode__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
+    end
+    if(_T_35_param__T_50_en & _T_35_param__T_50_mask) begin
+      _T_35_param[_T_35_param__T_50_addr] <= _T_35_param__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
+    end
+    if(_T_35_size__T_50_en & _T_35_size__T_50_mask) begin
+      _T_35_size[_T_35_size__T_50_addr] <= _T_35_size__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
+    end
+    if(_T_35_source__T_50_en & _T_35_source__T_50_mask) begin
+      _T_35_source[_T_35_source__T_50_addr] <= _T_35_source__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
+    end
+    if(_T_35_sink__T_50_en & _T_35_sink__T_50_mask) begin
+      _T_35_sink[_T_35_sink__T_50_addr] <= _T_35_sink__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
+    end
+    if(_T_35_denied__T_50_en & _T_35_denied__T_50_mask) begin
+      _T_35_denied[_T_35_denied__T_50_addr] <= _T_35_denied__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
+    end
+    if(_T_35_data__T_50_en & _T_35_data__T_50_mask) begin
+      _T_35_data[_T_35_data__T_50_addr] <= _T_35_data__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
+    end
+    if(_T_35_corrupt__T_50_en & _T_35_corrupt__T_50_mask) begin
+      _T_35_corrupt[_T_35_corrupt__T_50_addr] <= _T_35_corrupt__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
+    end
+    if (reset) begin
+      value <= 1'h0;
+    end else begin
+      if (_T_44) begin
+        value <= _T_52;
+      end
+    end
+    if (reset) begin
+      value_1 <= 1'h0;
+    end else begin
+      if (_T_47) begin
+        value_1 <= _T_54;
+      end
+    end
+    if (reset) begin
+      _T_39 <= 1'h0;
+    end else begin
+      if (_T_55) begin
+        _T_39 <= _T_44;
+      end
+    end
+  end
+endmodule
+module TLBuffer_16( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212812.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212813.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212814.4]
+  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212815.4]
+  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212815.4]
+  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212815.4]
+  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212815.4]
+  input  [2:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212815.4]
+  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212815.4]
+  input  [31:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212815.4]
+  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212815.4]
+  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212815.4]
+  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212815.4]
+  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212815.4]
+  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212815.4]
+  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212815.4]
+  output [1:0]  auto_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212815.4]
+  output [2:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212815.4]
+  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212815.4]
+  output        auto_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212815.4]
+  output        auto_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212815.4]
+  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212815.4]
+  output        auto_in_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212815.4]
+  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212815.4]
+  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212815.4]
+  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212815.4]
+  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212815.4]
+  output [2:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212815.4]
+  output        auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212815.4]
+  output [31:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212815.4]
+  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212815.4]
+  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212815.4]
+  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212815.4]
+  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212815.4]
+  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212815.4]
+  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212815.4]
+  input  [1:0]  auto_out_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212815.4]
+  input  [2:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212815.4]
+  input         auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212815.4]
+  input         auto_out_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212815.4]
+  input         auto_out_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212815.4]
+  input  [31:0] auto_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212815.4]
+  input         auto_out_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212815.4]
+);
+  wire  Queue_clock; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212826.4]
+  wire  Queue_reset; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212826.4]
+  wire  Queue_io_enq_ready; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212826.4]
+  wire  Queue_io_enq_valid; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212826.4]
+  wire [2:0] Queue_io_enq_bits_opcode; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212826.4]
+  wire [2:0] Queue_io_enq_bits_param; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212826.4]
+  wire [2:0] Queue_io_enq_bits_size; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212826.4]
+  wire  Queue_io_enq_bits_source; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212826.4]
+  wire [31:0] Queue_io_enq_bits_address; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212826.4]
+  wire [3:0] Queue_io_enq_bits_mask; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212826.4]
+  wire [31:0] Queue_io_enq_bits_data; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212826.4]
+  wire  Queue_io_enq_bits_corrupt; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212826.4]
+  wire  Queue_io_deq_ready; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212826.4]
+  wire  Queue_io_deq_valid; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212826.4]
+  wire [2:0] Queue_io_deq_bits_opcode; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212826.4]
+  wire [2:0] Queue_io_deq_bits_param; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212826.4]
+  wire [2:0] Queue_io_deq_bits_size; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212826.4]
+  wire  Queue_io_deq_bits_source; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212826.4]
+  wire [31:0] Queue_io_deq_bits_address; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212826.4]
+  wire [3:0] Queue_io_deq_bits_mask; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212826.4]
+  wire [31:0] Queue_io_deq_bits_data; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212826.4]
+  wire  Queue_io_deq_bits_corrupt; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212826.4]
+  wire  Queue_1_clock; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212840.4]
+  wire  Queue_1_reset; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212840.4]
+  wire  Queue_1_io_enq_ready; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212840.4]
+  wire  Queue_1_io_enq_valid; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212840.4]
+  wire [2:0] Queue_1_io_enq_bits_opcode; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212840.4]
+  wire [1:0] Queue_1_io_enq_bits_param; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212840.4]
+  wire [2:0] Queue_1_io_enq_bits_size; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212840.4]
+  wire  Queue_1_io_enq_bits_source; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212840.4]
+  wire  Queue_1_io_enq_bits_sink; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212840.4]
+  wire  Queue_1_io_enq_bits_denied; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212840.4]
+  wire [31:0] Queue_1_io_enq_bits_data; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212840.4]
+  wire  Queue_1_io_enq_bits_corrupt; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212840.4]
+  wire  Queue_1_io_deq_ready; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212840.4]
+  wire  Queue_1_io_deq_valid; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212840.4]
+  wire [2:0] Queue_1_io_deq_bits_opcode; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212840.4]
+  wire [1:0] Queue_1_io_deq_bits_param; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212840.4]
+  wire [2:0] Queue_1_io_deq_bits_size; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212840.4]
+  wire  Queue_1_io_deq_bits_source; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212840.4]
+  wire  Queue_1_io_deq_bits_sink; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212840.4]
+  wire  Queue_1_io_deq_bits_denied; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212840.4]
+  wire [31:0] Queue_1_io_deq_bits_data; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212840.4]
+  wire  Queue_1_io_deq_bits_corrupt; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212840.4]
+  Queue_11 Queue ( // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212826.4]
+    .clock(Queue_clock),
+    .reset(Queue_reset),
+    .io_enq_ready(Queue_io_enq_ready),
+    .io_enq_valid(Queue_io_enq_valid),
+    .io_enq_bits_opcode(Queue_io_enq_bits_opcode),
+    .io_enq_bits_param(Queue_io_enq_bits_param),
+    .io_enq_bits_size(Queue_io_enq_bits_size),
+    .io_enq_bits_source(Queue_io_enq_bits_source),
+    .io_enq_bits_address(Queue_io_enq_bits_address),
+    .io_enq_bits_mask(Queue_io_enq_bits_mask),
+    .io_enq_bits_data(Queue_io_enq_bits_data),
+    .io_enq_bits_corrupt(Queue_io_enq_bits_corrupt),
+    .io_deq_ready(Queue_io_deq_ready),
+    .io_deq_valid(Queue_io_deq_valid),
+    .io_deq_bits_opcode(Queue_io_deq_bits_opcode),
+    .io_deq_bits_param(Queue_io_deq_bits_param),
+    .io_deq_bits_size(Queue_io_deq_bits_size),
+    .io_deq_bits_source(Queue_io_deq_bits_source),
+    .io_deq_bits_address(Queue_io_deq_bits_address),
+    .io_deq_bits_mask(Queue_io_deq_bits_mask),
+    .io_deq_bits_data(Queue_io_deq_bits_data),
+    .io_deq_bits_corrupt(Queue_io_deq_bits_corrupt)
+  );
+  Queue_12 Queue_1 ( // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212840.4]
+    .clock(Queue_1_clock),
+    .reset(Queue_1_reset),
+    .io_enq_ready(Queue_1_io_enq_ready),
+    .io_enq_valid(Queue_1_io_enq_valid),
+    .io_enq_bits_opcode(Queue_1_io_enq_bits_opcode),
+    .io_enq_bits_param(Queue_1_io_enq_bits_param),
+    .io_enq_bits_size(Queue_1_io_enq_bits_size),
+    .io_enq_bits_source(Queue_1_io_enq_bits_source),
+    .io_enq_bits_sink(Queue_1_io_enq_bits_sink),
+    .io_enq_bits_denied(Queue_1_io_enq_bits_denied),
+    .io_enq_bits_data(Queue_1_io_enq_bits_data),
+    .io_enq_bits_corrupt(Queue_1_io_enq_bits_corrupt),
+    .io_deq_ready(Queue_1_io_deq_ready),
+    .io_deq_valid(Queue_1_io_deq_valid),
+    .io_deq_bits_opcode(Queue_1_io_deq_bits_opcode),
+    .io_deq_bits_param(Queue_1_io_deq_bits_param),
+    .io_deq_bits_size(Queue_1_io_deq_bits_size),
+    .io_deq_bits_source(Queue_1_io_deq_bits_source),
+    .io_deq_bits_sink(Queue_1_io_deq_bits_sink),
+    .io_deq_bits_denied(Queue_1_io_deq_bits_denied),
+    .io_deq_bits_data(Queue_1_io_deq_bits_data),
+    .io_deq_bits_corrupt(Queue_1_io_deq_bits_corrupt)
+  );
+  assign auto_in_a_ready = Queue_io_enq_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@212825.4]
+  assign auto_in_d_valid = Queue_1_io_deq_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@212825.4]
+  assign auto_in_d_bits_opcode = Queue_1_io_deq_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@212825.4]
+  assign auto_in_d_bits_param = Queue_1_io_deq_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@212825.4]
+  assign auto_in_d_bits_size = Queue_1_io_deq_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@212825.4]
+  assign auto_in_d_bits_source = Queue_1_io_deq_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@212825.4]
+  assign auto_in_d_bits_sink = Queue_1_io_deq_bits_sink; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@212825.4]
+  assign auto_in_d_bits_denied = Queue_1_io_deq_bits_denied; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@212825.4]
+  assign auto_in_d_bits_data = Queue_1_io_deq_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@212825.4]
+  assign auto_in_d_bits_corrupt = Queue_1_io_deq_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@212825.4]
+  assign auto_out_a_valid = Queue_io_deq_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@212824.4]
+  assign auto_out_a_bits_opcode = Queue_io_deq_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@212824.4]
+  assign auto_out_a_bits_param = Queue_io_deq_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@212824.4]
+  assign auto_out_a_bits_size = Queue_io_deq_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@212824.4]
+  assign auto_out_a_bits_source = Queue_io_deq_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@212824.4]
+  assign auto_out_a_bits_address = Queue_io_deq_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@212824.4]
+  assign auto_out_a_bits_mask = Queue_io_deq_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@212824.4]
+  assign auto_out_a_bits_data = Queue_io_deq_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@212824.4]
+  assign auto_out_a_bits_corrupt = Queue_io_deq_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@212824.4]
+  assign auto_out_d_ready = Queue_1_io_enq_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@212824.4]
+  assign Queue_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212827.4]
+  assign Queue_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212828.4]
+  assign Queue_io_enq_valid = auto_in_a_valid; // @[Decoupled.scala 294:22:shc.marmotcaravel.MarmotCaravelConfig.fir@212829.4]
+  assign Queue_io_enq_bits_opcode = auto_in_a_bits_opcode; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212837.4]
+  assign Queue_io_enq_bits_param = auto_in_a_bits_param; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212836.4]
+  assign Queue_io_enq_bits_size = auto_in_a_bits_size; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212835.4]
+  assign Queue_io_enq_bits_source = auto_in_a_bits_source; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212834.4]
+  assign Queue_io_enq_bits_address = auto_in_a_bits_address; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212833.4]
+  assign Queue_io_enq_bits_mask = auto_in_a_bits_mask; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212832.4]
+  assign Queue_io_enq_bits_data = auto_in_a_bits_data; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212831.4]
+  assign Queue_io_enq_bits_corrupt = auto_in_a_bits_corrupt; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212830.4]
+  assign Queue_io_deq_ready = auto_out_a_ready; // @[Buffer.scala 38:13:shc.marmotcaravel.MarmotCaravelConfig.fir@212839.4]
+  assign Queue_1_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212841.4]
+  assign Queue_1_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212842.4]
+  assign Queue_1_io_enq_valid = auto_out_d_valid; // @[Decoupled.scala 294:22:shc.marmotcaravel.MarmotCaravelConfig.fir@212843.4]
+  assign Queue_1_io_enq_bits_opcode = auto_out_d_bits_opcode; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212851.4]
+  assign Queue_1_io_enq_bits_param = auto_out_d_bits_param; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212850.4]
+  assign Queue_1_io_enq_bits_size = auto_out_d_bits_size; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212849.4]
+  assign Queue_1_io_enq_bits_source = auto_out_d_bits_source; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212848.4]
+  assign Queue_1_io_enq_bits_sink = auto_out_d_bits_sink; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212847.4]
+  assign Queue_1_io_enq_bits_denied = auto_out_d_bits_denied; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212846.4]
+  assign Queue_1_io_enq_bits_data = auto_out_d_bits_data; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212845.4]
+  assign Queue_1_io_enq_bits_corrupt = auto_out_d_bits_corrupt; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212844.4]
+  assign Queue_1_io_deq_ready = auto_in_d_ready; // @[Buffer.scala 39:13:shc.marmotcaravel.MarmotCaravelConfig.fir@212853.4]
+endmodule
+module SynchronizerShiftReg_w1_d3( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212861.2]
+  input   clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212862.4]
+  input   io_d, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212864.4]
+  output  io_q // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212864.4]
+);
+  reg  sync_0; // @[ShiftReg.scala 114:16:shc.marmotcaravel.MarmotCaravelConfig.fir@212869.4]
+  reg [31:0] _RAND_0;
+  reg  sync_1; // @[ShiftReg.scala 114:16:shc.marmotcaravel.MarmotCaravelConfig.fir@212870.4]
+  reg [31:0] _RAND_1;
+  reg  sync_2; // @[ShiftReg.scala 114:16:shc.marmotcaravel.MarmotCaravelConfig.fir@212871.4]
+  reg [31:0] _RAND_2;
+  assign io_q = sync_0; // @[ShiftReg.scala 123:8:shc.marmotcaravel.MarmotCaravelConfig.fir@212875.4]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  sync_0 = _RAND_0[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  sync_1 = _RAND_1[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  sync_2 = _RAND_2[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    sync_0 <= sync_1;
+    sync_1 <= sync_2;
+    sync_2 <= io_d;
+  end
+endmodule
+module IntSyncCrossingSink( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212877.2]
+  input   clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212878.4]
+  input   auto_in_sync_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212880.4]
+  output  auto_out_0 // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212880.4]
+);
+  wire  SynchronizerShiftReg_w1_d3_clock; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@212891.4]
+  wire  SynchronizerShiftReg_w1_d3_io_d; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@212891.4]
+  wire  SynchronizerShiftReg_w1_d3_io_q; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@212891.4]
+  SynchronizerShiftReg_w1_d3 SynchronizerShiftReg_w1_d3 ( // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@212891.4]
+    .clock(SynchronizerShiftReg_w1_d3_clock),
+    .io_d(SynchronizerShiftReg_w1_d3_io_d),
+    .io_q(SynchronizerShiftReg_w1_d3_io_q)
+  );
+  assign auto_out_0 = SynchronizerShiftReg_w1_d3_io_q; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@212889.4]
+  assign SynchronizerShiftReg_w1_d3_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212893.4]
+  assign SynchronizerShiftReg_w1_d3_io_d = auto_in_sync_0; // @[ShiftReg.scala 49:16:shc.marmotcaravel.MarmotCaravelConfig.fir@212895.4]
+endmodule
+module IntSyncCrossingSink_1( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212905.2]
+  input   auto_in_sync_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212908.4]
+  input   auto_in_sync_1, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212908.4]
+  output  auto_out_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212908.4]
+  output  auto_out_1 // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212908.4]
+);
+  assign auto_out_0 = auto_in_sync_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@212917.4]
+  assign auto_out_1 = auto_in_sync_1; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@212917.4]
+endmodule
+module IntSyncCrossingSink_2( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212921.2]
+  input   auto_in_sync_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212924.4]
+  output  auto_out_0 // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212924.4]
+);
+  assign auto_out_0 = auto_in_sync_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@212933.4]
+endmodule
+module HellaCacheArbiter( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212946.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212947.4]
+  output        io_requestor_0_req_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
+  input         io_requestor_0_req_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
+  input  [31:0] io_requestor_0_req_bits_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
+  input  [6:0]  io_requestor_0_req_bits_tag, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
+  input  [4:0]  io_requestor_0_req_bits_cmd, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
+  input  [2:0]  io_requestor_0_req_bits_typ, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
+  input         io_requestor_0_s1_kill, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
+  input  [31:0] io_requestor_0_s1_data_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
+  output        io_requestor_0_s2_nack, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
+  output        io_requestor_0_resp_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
+  output [6:0]  io_requestor_0_resp_bits_tag, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
+  output [31:0] io_requestor_0_resp_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
+  output        io_requestor_0_resp_bits_replay, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
+  output        io_requestor_0_resp_bits_has_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
+  output [31:0] io_requestor_0_resp_bits_data_word_bypass, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
+  output        io_requestor_0_replay_next, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
+  output        io_requestor_0_s2_xcpt_ma_ld, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
+  output        io_requestor_0_s2_xcpt_ma_st, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
+  output        io_requestor_0_s2_xcpt_pf_ld, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
+  output        io_requestor_0_s2_xcpt_pf_st, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
+  output        io_requestor_0_s2_xcpt_ae_ld, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
+  output        io_requestor_0_s2_xcpt_ae_st, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
+  output        io_requestor_0_ordered, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
+  output        io_requestor_0_perf_grant, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
+  input         io_requestor_0_keep_clock_enabled, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
+  output        io_requestor_0_clock_enabled, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
+  output        io_requestor_1_req_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
+  input         io_requestor_1_req_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
+  input  [31:0] io_requestor_1_req_bits_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
+  input  [4:0]  io_requestor_1_req_bits_cmd, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
+  input  [2:0]  io_requestor_1_req_bits_typ, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
+  input         io_requestor_1_s1_kill, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
+  input  [31:0] io_requestor_1_s1_data_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
+  input  [3:0]  io_requestor_1_s1_data_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
+  output        io_requestor_1_s2_nack, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
+  output        io_requestor_1_resp_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
+  output [31:0] io_requestor_1_resp_bits_data_raw, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
+  input         io_mem_req_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
+  output        io_mem_req_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
+  output [31:0] io_mem_req_bits_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
+  output [6:0]  io_mem_req_bits_tag, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
+  output [4:0]  io_mem_req_bits_cmd, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
+  output [2:0]  io_mem_req_bits_typ, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
+  output        io_mem_req_bits_phys, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
+  output        io_mem_s1_kill, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
+  output [31:0] io_mem_s1_data_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
+  output [3:0]  io_mem_s1_data_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
+  input         io_mem_s2_nack, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
+  input         io_mem_resp_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
+  input  [6:0]  io_mem_resp_bits_tag, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
+  input  [31:0] io_mem_resp_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
+  input         io_mem_resp_bits_replay, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
+  input         io_mem_resp_bits_has_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
+  input  [31:0] io_mem_resp_bits_data_word_bypass, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
+  input  [31:0] io_mem_resp_bits_data_raw, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
+  input         io_mem_replay_next, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
+  input         io_mem_s2_xcpt_ma_ld, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
+  input         io_mem_s2_xcpt_ma_st, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
+  input         io_mem_s2_xcpt_pf_ld, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
+  input         io_mem_s2_xcpt_pf_st, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
+  input         io_mem_s2_xcpt_ae_ld, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
+  input         io_mem_s2_xcpt_ae_st, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
+  input         io_mem_ordered, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
+  input         io_mem_perf_grant, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
+  output        io_mem_keep_clock_enabled, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
+  input         io_mem_clock_enabled // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
+);
+  reg  _T_210; // @[HellaCacheArbiter.scala 19:20:shc.marmotcaravel.MarmotCaravelConfig.fir@212954.4]
+  reg [31:0] _RAND_0;
+  reg  _T_212; // @[HellaCacheArbiter.scala 20:20:shc.marmotcaravel.MarmotCaravelConfig.fir@212955.4]
+  reg [31:0] _RAND_1;
+  wire  _T_215; // @[HellaCacheArbiter.scala 27:67:shc.marmotcaravel.MarmotCaravelConfig.fir@212962.4]
+  wire [7:0] _T_218; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@212980.6]
+  wire [7:0] _GEN_4; // @[HellaCacheArbiter.scala 52:26:shc.marmotcaravel.MarmotCaravelConfig.fir@212975.4]
+  wire  _T_219; // @[HellaCacheArbiter.scala 53:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212984.4]
+  wire  _T_220; // @[HellaCacheArbiter.scala 54:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212989.4]
+  wire  _T_221; // @[HellaCacheArbiter.scala 60:41:shc.marmotcaravel.MarmotCaravelConfig.fir@212993.4]
+  wire  _T_222; // @[HellaCacheArbiter.scala 60:57:shc.marmotcaravel.MarmotCaravelConfig.fir@212994.4]
+  wire [5:0] _T_226; // @[HellaCacheArbiter.scala 69:45:shc.marmotcaravel.MarmotCaravelConfig.fir@213006.4]
+  assign _T_215 = io_requestor_0_req_valid == 1'h0; // @[HellaCacheArbiter.scala 27:67:shc.marmotcaravel.MarmotCaravelConfig.fir@212962.4]
+  assign _T_218 = {io_requestor_0_req_bits_tag,1'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@212980.6]
+  assign _GEN_4 = io_requestor_0_req_valid ? _T_218 : 8'h1; // @[HellaCacheArbiter.scala 52:26:shc.marmotcaravel.MarmotCaravelConfig.fir@212975.4]
+  assign _T_219 = _T_210 == 1'h0; // @[HellaCacheArbiter.scala 53:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212984.4]
+  assign _T_220 = _T_212 == 1'h0; // @[HellaCacheArbiter.scala 54:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212989.4]
+  assign _T_221 = io_mem_resp_bits_tag[0]; // @[HellaCacheArbiter.scala 60:41:shc.marmotcaravel.MarmotCaravelConfig.fir@212993.4]
+  assign _T_222 = _T_221 == 1'h0; // @[HellaCacheArbiter.scala 60:57:shc.marmotcaravel.MarmotCaravelConfig.fir@212994.4]
+  assign _T_226 = io_mem_resp_bits_tag[6:1]; // @[HellaCacheArbiter.scala 69:45:shc.marmotcaravel.MarmotCaravelConfig.fir@213006.4]
+  assign io_requestor_0_req_ready = io_mem_req_ready; // @[HellaCacheArbiter.scala 25:31:shc.marmotcaravel.MarmotCaravelConfig.fir@212961.4]
+  assign io_requestor_0_s2_nack = io_mem_s2_nack & _T_220; // @[HellaCacheArbiter.scala 65:31:shc.marmotcaravel.MarmotCaravelConfig.fir@213002.4]
+  assign io_requestor_0_resp_valid = io_mem_resp_valid & _T_222; // @[HellaCacheArbiter.scala 61:18:shc.marmotcaravel.MarmotCaravelConfig.fir@212996.4]
+  assign io_requestor_0_resp_bits_tag = {{1'd0}, _T_226}; // @[HellaCacheArbiter.scala 68:17:shc.marmotcaravel.MarmotCaravelConfig.fir@213005.4 HellaCacheArbiter.scala 69:21:shc.marmotcaravel.MarmotCaravelConfig.fir@213007.4]
+  assign io_requestor_0_resp_bits_data = io_mem_resp_bits_data; // @[HellaCacheArbiter.scala 68:17:shc.marmotcaravel.MarmotCaravelConfig.fir@213005.4]
+  assign io_requestor_0_resp_bits_replay = io_mem_resp_bits_replay; // @[HellaCacheArbiter.scala 68:17:shc.marmotcaravel.MarmotCaravelConfig.fir@213005.4]
+  assign io_requestor_0_resp_bits_has_data = io_mem_resp_bits_has_data; // @[HellaCacheArbiter.scala 68:17:shc.marmotcaravel.MarmotCaravelConfig.fir@213005.4]
+  assign io_requestor_0_resp_bits_data_word_bypass = io_mem_resp_bits_data_word_bypass; // @[HellaCacheArbiter.scala 68:17:shc.marmotcaravel.MarmotCaravelConfig.fir@213005.4]
+  assign io_requestor_0_replay_next = io_mem_replay_next; // @[HellaCacheArbiter.scala 71:35:shc.marmotcaravel.MarmotCaravelConfig.fir@213008.4]
+  assign io_requestor_0_s2_xcpt_ma_ld = io_mem_s2_xcpt_ma_ld; // @[HellaCacheArbiter.scala 62:31:shc.marmotcaravel.MarmotCaravelConfig.fir@212997.4]
+  assign io_requestor_0_s2_xcpt_ma_st = io_mem_s2_xcpt_ma_st; // @[HellaCacheArbiter.scala 62:31:shc.marmotcaravel.MarmotCaravelConfig.fir@212997.4]
+  assign io_requestor_0_s2_xcpt_pf_ld = io_mem_s2_xcpt_pf_ld; // @[HellaCacheArbiter.scala 62:31:shc.marmotcaravel.MarmotCaravelConfig.fir@212997.4]
+  assign io_requestor_0_s2_xcpt_pf_st = io_mem_s2_xcpt_pf_st; // @[HellaCacheArbiter.scala 62:31:shc.marmotcaravel.MarmotCaravelConfig.fir@212997.4]
+  assign io_requestor_0_s2_xcpt_ae_ld = io_mem_s2_xcpt_ae_ld; // @[HellaCacheArbiter.scala 62:31:shc.marmotcaravel.MarmotCaravelConfig.fir@212997.4]
+  assign io_requestor_0_s2_xcpt_ae_st = io_mem_s2_xcpt_ae_st; // @[HellaCacheArbiter.scala 62:31:shc.marmotcaravel.MarmotCaravelConfig.fir@212997.4]
+  assign io_requestor_0_ordered = io_mem_ordered; // @[HellaCacheArbiter.scala 63:31:shc.marmotcaravel.MarmotCaravelConfig.fir@212998.4]
+  assign io_requestor_0_perf_grant = io_mem_perf_grant; // @[HellaCacheArbiter.scala 64:28:shc.marmotcaravel.MarmotCaravelConfig.fir@212999.4]
+  assign io_requestor_0_clock_enabled = io_mem_clock_enabled; // @[HellaCacheArbiter.scala 67:37:shc.marmotcaravel.MarmotCaravelConfig.fir@213004.4]
+  assign io_requestor_1_req_ready = io_requestor_0_req_ready & _T_215; // @[HellaCacheArbiter.scala 27:33:shc.marmotcaravel.MarmotCaravelConfig.fir@212964.4]
+  assign io_requestor_1_s2_nack = io_mem_s2_nack & _T_212; // @[HellaCacheArbiter.scala 65:31:shc.marmotcaravel.MarmotCaravelConfig.fir@213018.4]
+  assign io_requestor_1_resp_valid = io_mem_resp_valid & _T_221; // @[HellaCacheArbiter.scala 61:18:shc.marmotcaravel.MarmotCaravelConfig.fir@213012.4]
+  assign io_requestor_1_resp_bits_data_raw = io_mem_resp_bits_data_raw; // @[HellaCacheArbiter.scala 68:17:shc.marmotcaravel.MarmotCaravelConfig.fir@213021.4]
+  assign io_mem_req_valid = io_requestor_0_req_valid | io_requestor_1_req_valid; // @[HellaCacheArbiter.scala 24:22:shc.marmotcaravel.MarmotCaravelConfig.fir@212960.4]
+  assign io_mem_req_bits_addr = io_requestor_0_req_valid ? io_requestor_0_req_bits_addr : io_requestor_1_req_bits_addr; // @[HellaCacheArbiter.scala 34:30:shc.marmotcaravel.MarmotCaravelConfig.fir@212967.4 HellaCacheArbiter.scala 34:30:shc.marmotcaravel.MarmotCaravelConfig.fir@212978.6]
+  assign io_mem_req_bits_tag = _GEN_4[6:0]; // @[HellaCacheArbiter.scala 36:29:shc.marmotcaravel.MarmotCaravelConfig.fir@212970.4 HellaCacheArbiter.scala 36:29:shc.marmotcaravel.MarmotCaravelConfig.fir@212981.6]
+  assign io_mem_req_bits_cmd = io_requestor_0_req_valid ? io_requestor_0_req_bits_cmd : io_requestor_1_req_bits_cmd; // @[HellaCacheArbiter.scala 32:29:shc.marmotcaravel.MarmotCaravelConfig.fir@212965.4 HellaCacheArbiter.scala 32:29:shc.marmotcaravel.MarmotCaravelConfig.fir@212976.6]
+  assign io_mem_req_bits_typ = io_requestor_0_req_valid ? io_requestor_0_req_bits_typ : io_requestor_1_req_bits_typ; // @[HellaCacheArbiter.scala 33:29:shc.marmotcaravel.MarmotCaravelConfig.fir@212966.4 HellaCacheArbiter.scala 33:29:shc.marmotcaravel.MarmotCaravelConfig.fir@212977.6]
+  assign io_mem_req_bits_phys = io_requestor_0_req_valid ? 1'h0 : 1'h1; // @[HellaCacheArbiter.scala 35:30:shc.marmotcaravel.MarmotCaravelConfig.fir@212968.4 HellaCacheArbiter.scala 35:30:shc.marmotcaravel.MarmotCaravelConfig.fir@212979.6]
+  assign io_mem_s1_kill = _T_219 ? io_requestor_0_s1_kill : io_requestor_1_s1_kill; // @[HellaCacheArbiter.scala 40:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212972.4 HellaCacheArbiter.scala 40:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212986.6]
+  assign io_mem_s1_data_data = _T_219 ? io_requestor_0_s1_data_data : io_requestor_1_s1_data_data; // @[HellaCacheArbiter.scala 41:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212973.4 HellaCacheArbiter.scala 41:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212987.6]
+  assign io_mem_s1_data_mask = _T_219 ? 4'h0 : io_requestor_1_s1_data_mask; // @[HellaCacheArbiter.scala 41:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212973.4 HellaCacheArbiter.scala 41:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212987.6]
+  assign io_mem_keep_clock_enabled = io_requestor_0_keep_clock_enabled; // @[HellaCacheArbiter.scala 22:31:shc.marmotcaravel.MarmotCaravelConfig.fir@212958.4]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  _T_210 = _RAND_0[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  _T_212 = _RAND_1[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (io_requestor_0_req_valid) begin
+      _T_210 <= 1'h0;
+    end else begin
+      _T_210 <= 1'h1;
+    end
+    _T_212 <= _T_210;
+  end
+endmodule
+module PTW( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213066.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213067.4]
+  output        io_requestor_0_pmp_0_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  output [1:0]  io_requestor_0_pmp_0_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  output        io_requestor_0_pmp_0_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  output        io_requestor_0_pmp_0_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  output        io_requestor_0_pmp_0_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  output [29:0] io_requestor_0_pmp_0_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  output [31:0] io_requestor_0_pmp_0_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  output        io_requestor_0_pmp_1_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  output [1:0]  io_requestor_0_pmp_1_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  output        io_requestor_0_pmp_1_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  output        io_requestor_0_pmp_1_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  output        io_requestor_0_pmp_1_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  output [29:0] io_requestor_0_pmp_1_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  output [31:0] io_requestor_0_pmp_1_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  output        io_requestor_0_pmp_2_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  output [1:0]  io_requestor_0_pmp_2_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  output        io_requestor_0_pmp_2_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  output        io_requestor_0_pmp_2_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  output        io_requestor_0_pmp_2_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  output [29:0] io_requestor_0_pmp_2_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  output [31:0] io_requestor_0_pmp_2_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  output        io_requestor_0_pmp_3_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  output [1:0]  io_requestor_0_pmp_3_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  output        io_requestor_0_pmp_3_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  output        io_requestor_0_pmp_3_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  output        io_requestor_0_pmp_3_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  output [29:0] io_requestor_0_pmp_3_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  output [31:0] io_requestor_0_pmp_3_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  output        io_requestor_0_pmp_4_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  output [1:0]  io_requestor_0_pmp_4_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  output        io_requestor_0_pmp_4_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  output        io_requestor_0_pmp_4_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  output        io_requestor_0_pmp_4_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  output [29:0] io_requestor_0_pmp_4_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  output [31:0] io_requestor_0_pmp_4_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  output        io_requestor_0_pmp_5_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  output [1:0]  io_requestor_0_pmp_5_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  output        io_requestor_0_pmp_5_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  output        io_requestor_0_pmp_5_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  output        io_requestor_0_pmp_5_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  output [29:0] io_requestor_0_pmp_5_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  output [31:0] io_requestor_0_pmp_5_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  output        io_requestor_0_pmp_6_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  output [1:0]  io_requestor_0_pmp_6_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  output        io_requestor_0_pmp_6_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  output        io_requestor_0_pmp_6_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  output        io_requestor_0_pmp_6_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  output [29:0] io_requestor_0_pmp_6_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  output [31:0] io_requestor_0_pmp_6_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  output        io_requestor_0_pmp_7_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  output [1:0]  io_requestor_0_pmp_7_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  output        io_requestor_0_pmp_7_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  output        io_requestor_0_pmp_7_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  output        io_requestor_0_pmp_7_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  output [29:0] io_requestor_0_pmp_7_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  output [31:0] io_requestor_0_pmp_7_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  output        io_requestor_1_pmp_0_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  output [1:0]  io_requestor_1_pmp_0_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  output        io_requestor_1_pmp_0_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  output        io_requestor_1_pmp_0_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  output        io_requestor_1_pmp_0_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  output [29:0] io_requestor_1_pmp_0_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  output [31:0] io_requestor_1_pmp_0_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  output        io_requestor_1_pmp_1_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  output [1:0]  io_requestor_1_pmp_1_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  output        io_requestor_1_pmp_1_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  output        io_requestor_1_pmp_1_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  output        io_requestor_1_pmp_1_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  output [29:0] io_requestor_1_pmp_1_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  output [31:0] io_requestor_1_pmp_1_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  output        io_requestor_1_pmp_2_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  output [1:0]  io_requestor_1_pmp_2_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  output        io_requestor_1_pmp_2_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  output        io_requestor_1_pmp_2_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  output        io_requestor_1_pmp_2_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  output [29:0] io_requestor_1_pmp_2_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  output [31:0] io_requestor_1_pmp_2_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  output        io_requestor_1_pmp_3_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  output [1:0]  io_requestor_1_pmp_3_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  output        io_requestor_1_pmp_3_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  output        io_requestor_1_pmp_3_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  output        io_requestor_1_pmp_3_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  output [29:0] io_requestor_1_pmp_3_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  output [31:0] io_requestor_1_pmp_3_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  output        io_requestor_1_pmp_4_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  output [1:0]  io_requestor_1_pmp_4_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  output        io_requestor_1_pmp_4_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  output        io_requestor_1_pmp_4_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  output        io_requestor_1_pmp_4_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  output [29:0] io_requestor_1_pmp_4_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  output [31:0] io_requestor_1_pmp_4_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  output        io_requestor_1_pmp_5_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  output [1:0]  io_requestor_1_pmp_5_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  output        io_requestor_1_pmp_5_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  output        io_requestor_1_pmp_5_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  output        io_requestor_1_pmp_5_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  output [29:0] io_requestor_1_pmp_5_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  output [31:0] io_requestor_1_pmp_5_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  output        io_requestor_1_pmp_6_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  output [1:0]  io_requestor_1_pmp_6_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  output        io_requestor_1_pmp_6_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  output        io_requestor_1_pmp_6_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  output        io_requestor_1_pmp_6_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  output [29:0] io_requestor_1_pmp_6_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  output [31:0] io_requestor_1_pmp_6_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  output        io_requestor_1_pmp_7_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  output [1:0]  io_requestor_1_pmp_7_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  output        io_requestor_1_pmp_7_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  output        io_requestor_1_pmp_7_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  output        io_requestor_1_pmp_7_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  output [29:0] io_requestor_1_pmp_7_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  output [31:0] io_requestor_1_pmp_7_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  input         io_dpath_pmp_0_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  input  [1:0]  io_dpath_pmp_0_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  input         io_dpath_pmp_0_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  input         io_dpath_pmp_0_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  input         io_dpath_pmp_0_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  input  [29:0] io_dpath_pmp_0_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  input  [31:0] io_dpath_pmp_0_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  input         io_dpath_pmp_1_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  input  [1:0]  io_dpath_pmp_1_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  input         io_dpath_pmp_1_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  input         io_dpath_pmp_1_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  input         io_dpath_pmp_1_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  input  [29:0] io_dpath_pmp_1_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  input  [31:0] io_dpath_pmp_1_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  input         io_dpath_pmp_2_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  input  [1:0]  io_dpath_pmp_2_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  input         io_dpath_pmp_2_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  input         io_dpath_pmp_2_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  input         io_dpath_pmp_2_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  input  [29:0] io_dpath_pmp_2_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  input  [31:0] io_dpath_pmp_2_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  input         io_dpath_pmp_3_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  input  [1:0]  io_dpath_pmp_3_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  input         io_dpath_pmp_3_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  input         io_dpath_pmp_3_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  input         io_dpath_pmp_3_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  input  [29:0] io_dpath_pmp_3_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  input  [31:0] io_dpath_pmp_3_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  input         io_dpath_pmp_4_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  input  [1:0]  io_dpath_pmp_4_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  input         io_dpath_pmp_4_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  input         io_dpath_pmp_4_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  input         io_dpath_pmp_4_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  input  [29:0] io_dpath_pmp_4_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  input  [31:0] io_dpath_pmp_4_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  input         io_dpath_pmp_5_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  input  [1:0]  io_dpath_pmp_5_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  input         io_dpath_pmp_5_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  input         io_dpath_pmp_5_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  input         io_dpath_pmp_5_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  input  [29:0] io_dpath_pmp_5_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  input  [31:0] io_dpath_pmp_5_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  input         io_dpath_pmp_6_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  input  [1:0]  io_dpath_pmp_6_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  input         io_dpath_pmp_6_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  input         io_dpath_pmp_6_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  input         io_dpath_pmp_6_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  input  [29:0] io_dpath_pmp_6_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  input  [31:0] io_dpath_pmp_6_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  input         io_dpath_pmp_7_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  input  [1:0]  io_dpath_pmp_7_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  input         io_dpath_pmp_7_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  input         io_dpath_pmp_7_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  input         io_dpath_pmp_7_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  input  [29:0] io_dpath_pmp_7_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+  input  [31:0] io_dpath_pmp_7_mask // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
+);
+  assign io_requestor_0_pmp_0_cfg_l = io_dpath_pmp_0_cfg_l; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214011.4]
+  assign io_requestor_0_pmp_0_cfg_a = io_dpath_pmp_0_cfg_a; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214011.4]
+  assign io_requestor_0_pmp_0_cfg_x = io_dpath_pmp_0_cfg_x; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214011.4]
+  assign io_requestor_0_pmp_0_cfg_w = io_dpath_pmp_0_cfg_w; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214011.4]
+  assign io_requestor_0_pmp_0_cfg_r = io_dpath_pmp_0_cfg_r; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214011.4]
+  assign io_requestor_0_pmp_0_addr = io_dpath_pmp_0_addr; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214011.4]
+  assign io_requestor_0_pmp_0_mask = io_dpath_pmp_0_mask; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214011.4]
+  assign io_requestor_0_pmp_1_cfg_l = io_dpath_pmp_1_cfg_l; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214011.4]
+  assign io_requestor_0_pmp_1_cfg_a = io_dpath_pmp_1_cfg_a; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214011.4]
+  assign io_requestor_0_pmp_1_cfg_x = io_dpath_pmp_1_cfg_x; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214011.4]
+  assign io_requestor_0_pmp_1_cfg_w = io_dpath_pmp_1_cfg_w; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214011.4]
+  assign io_requestor_0_pmp_1_cfg_r = io_dpath_pmp_1_cfg_r; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214011.4]
+  assign io_requestor_0_pmp_1_addr = io_dpath_pmp_1_addr; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214011.4]
+  assign io_requestor_0_pmp_1_mask = io_dpath_pmp_1_mask; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214011.4]
+  assign io_requestor_0_pmp_2_cfg_l = io_dpath_pmp_2_cfg_l; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214011.4]
+  assign io_requestor_0_pmp_2_cfg_a = io_dpath_pmp_2_cfg_a; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214011.4]
+  assign io_requestor_0_pmp_2_cfg_x = io_dpath_pmp_2_cfg_x; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214011.4]
+  assign io_requestor_0_pmp_2_cfg_w = io_dpath_pmp_2_cfg_w; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214011.4]
+  assign io_requestor_0_pmp_2_cfg_r = io_dpath_pmp_2_cfg_r; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214011.4]
+  assign io_requestor_0_pmp_2_addr = io_dpath_pmp_2_addr; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214011.4]
+  assign io_requestor_0_pmp_2_mask = io_dpath_pmp_2_mask; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214011.4]
+  assign io_requestor_0_pmp_3_cfg_l = io_dpath_pmp_3_cfg_l; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214011.4]
+  assign io_requestor_0_pmp_3_cfg_a = io_dpath_pmp_3_cfg_a; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214011.4]
+  assign io_requestor_0_pmp_3_cfg_x = io_dpath_pmp_3_cfg_x; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214011.4]
+  assign io_requestor_0_pmp_3_cfg_w = io_dpath_pmp_3_cfg_w; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214011.4]
+  assign io_requestor_0_pmp_3_cfg_r = io_dpath_pmp_3_cfg_r; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214011.4]
+  assign io_requestor_0_pmp_3_addr = io_dpath_pmp_3_addr; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214011.4]
+  assign io_requestor_0_pmp_3_mask = io_dpath_pmp_3_mask; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214011.4]
+  assign io_requestor_0_pmp_4_cfg_l = io_dpath_pmp_4_cfg_l; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214011.4]
+  assign io_requestor_0_pmp_4_cfg_a = io_dpath_pmp_4_cfg_a; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214011.4]
+  assign io_requestor_0_pmp_4_cfg_x = io_dpath_pmp_4_cfg_x; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214011.4]
+  assign io_requestor_0_pmp_4_cfg_w = io_dpath_pmp_4_cfg_w; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214011.4]
+  assign io_requestor_0_pmp_4_cfg_r = io_dpath_pmp_4_cfg_r; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214011.4]
+  assign io_requestor_0_pmp_4_addr = io_dpath_pmp_4_addr; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214011.4]
+  assign io_requestor_0_pmp_4_mask = io_dpath_pmp_4_mask; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214011.4]
+  assign io_requestor_0_pmp_5_cfg_l = io_dpath_pmp_5_cfg_l; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214011.4]
+  assign io_requestor_0_pmp_5_cfg_a = io_dpath_pmp_5_cfg_a; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214011.4]
+  assign io_requestor_0_pmp_5_cfg_x = io_dpath_pmp_5_cfg_x; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214011.4]
+  assign io_requestor_0_pmp_5_cfg_w = io_dpath_pmp_5_cfg_w; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214011.4]
+  assign io_requestor_0_pmp_5_cfg_r = io_dpath_pmp_5_cfg_r; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214011.4]
+  assign io_requestor_0_pmp_5_addr = io_dpath_pmp_5_addr; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214011.4]
+  assign io_requestor_0_pmp_5_mask = io_dpath_pmp_5_mask; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214011.4]
+  assign io_requestor_0_pmp_6_cfg_l = io_dpath_pmp_6_cfg_l; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214011.4]
+  assign io_requestor_0_pmp_6_cfg_a = io_dpath_pmp_6_cfg_a; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214011.4]
+  assign io_requestor_0_pmp_6_cfg_x = io_dpath_pmp_6_cfg_x; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214011.4]
+  assign io_requestor_0_pmp_6_cfg_w = io_dpath_pmp_6_cfg_w; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214011.4]
+  assign io_requestor_0_pmp_6_cfg_r = io_dpath_pmp_6_cfg_r; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214011.4]
+  assign io_requestor_0_pmp_6_addr = io_dpath_pmp_6_addr; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214011.4]
+  assign io_requestor_0_pmp_6_mask = io_dpath_pmp_6_mask; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214011.4]
+  assign io_requestor_0_pmp_7_cfg_l = io_dpath_pmp_7_cfg_l; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214011.4]
+  assign io_requestor_0_pmp_7_cfg_a = io_dpath_pmp_7_cfg_a; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214011.4]
+  assign io_requestor_0_pmp_7_cfg_x = io_dpath_pmp_7_cfg_x; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214011.4]
+  assign io_requestor_0_pmp_7_cfg_w = io_dpath_pmp_7_cfg_w; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214011.4]
+  assign io_requestor_0_pmp_7_cfg_r = io_dpath_pmp_7_cfg_r; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214011.4]
+  assign io_requestor_0_pmp_7_addr = io_dpath_pmp_7_addr; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214011.4]
+  assign io_requestor_0_pmp_7_mask = io_dpath_pmp_7_mask; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214011.4]
+  assign io_requestor_1_pmp_0_cfg_l = io_dpath_pmp_0_cfg_l; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214023.4]
+  assign io_requestor_1_pmp_0_cfg_a = io_dpath_pmp_0_cfg_a; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214023.4]
+  assign io_requestor_1_pmp_0_cfg_x = io_dpath_pmp_0_cfg_x; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214023.4]
+  assign io_requestor_1_pmp_0_cfg_w = io_dpath_pmp_0_cfg_w; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214023.4]
+  assign io_requestor_1_pmp_0_cfg_r = io_dpath_pmp_0_cfg_r; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214023.4]
+  assign io_requestor_1_pmp_0_addr = io_dpath_pmp_0_addr; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214023.4]
+  assign io_requestor_1_pmp_0_mask = io_dpath_pmp_0_mask; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214023.4]
+  assign io_requestor_1_pmp_1_cfg_l = io_dpath_pmp_1_cfg_l; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214023.4]
+  assign io_requestor_1_pmp_1_cfg_a = io_dpath_pmp_1_cfg_a; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214023.4]
+  assign io_requestor_1_pmp_1_cfg_x = io_dpath_pmp_1_cfg_x; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214023.4]
+  assign io_requestor_1_pmp_1_cfg_w = io_dpath_pmp_1_cfg_w; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214023.4]
+  assign io_requestor_1_pmp_1_cfg_r = io_dpath_pmp_1_cfg_r; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214023.4]
+  assign io_requestor_1_pmp_1_addr = io_dpath_pmp_1_addr; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214023.4]
+  assign io_requestor_1_pmp_1_mask = io_dpath_pmp_1_mask; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214023.4]
+  assign io_requestor_1_pmp_2_cfg_l = io_dpath_pmp_2_cfg_l; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214023.4]
+  assign io_requestor_1_pmp_2_cfg_a = io_dpath_pmp_2_cfg_a; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214023.4]
+  assign io_requestor_1_pmp_2_cfg_x = io_dpath_pmp_2_cfg_x; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214023.4]
+  assign io_requestor_1_pmp_2_cfg_w = io_dpath_pmp_2_cfg_w; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214023.4]
+  assign io_requestor_1_pmp_2_cfg_r = io_dpath_pmp_2_cfg_r; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214023.4]
+  assign io_requestor_1_pmp_2_addr = io_dpath_pmp_2_addr; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214023.4]
+  assign io_requestor_1_pmp_2_mask = io_dpath_pmp_2_mask; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214023.4]
+  assign io_requestor_1_pmp_3_cfg_l = io_dpath_pmp_3_cfg_l; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214023.4]
+  assign io_requestor_1_pmp_3_cfg_a = io_dpath_pmp_3_cfg_a; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214023.4]
+  assign io_requestor_1_pmp_3_cfg_x = io_dpath_pmp_3_cfg_x; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214023.4]
+  assign io_requestor_1_pmp_3_cfg_w = io_dpath_pmp_3_cfg_w; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214023.4]
+  assign io_requestor_1_pmp_3_cfg_r = io_dpath_pmp_3_cfg_r; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214023.4]
+  assign io_requestor_1_pmp_3_addr = io_dpath_pmp_3_addr; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214023.4]
+  assign io_requestor_1_pmp_3_mask = io_dpath_pmp_3_mask; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214023.4]
+  assign io_requestor_1_pmp_4_cfg_l = io_dpath_pmp_4_cfg_l; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214023.4]
+  assign io_requestor_1_pmp_4_cfg_a = io_dpath_pmp_4_cfg_a; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214023.4]
+  assign io_requestor_1_pmp_4_cfg_x = io_dpath_pmp_4_cfg_x; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214023.4]
+  assign io_requestor_1_pmp_4_cfg_w = io_dpath_pmp_4_cfg_w; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214023.4]
+  assign io_requestor_1_pmp_4_cfg_r = io_dpath_pmp_4_cfg_r; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214023.4]
+  assign io_requestor_1_pmp_4_addr = io_dpath_pmp_4_addr; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214023.4]
+  assign io_requestor_1_pmp_4_mask = io_dpath_pmp_4_mask; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214023.4]
+  assign io_requestor_1_pmp_5_cfg_l = io_dpath_pmp_5_cfg_l; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214023.4]
+  assign io_requestor_1_pmp_5_cfg_a = io_dpath_pmp_5_cfg_a; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214023.4]
+  assign io_requestor_1_pmp_5_cfg_x = io_dpath_pmp_5_cfg_x; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214023.4]
+  assign io_requestor_1_pmp_5_cfg_w = io_dpath_pmp_5_cfg_w; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214023.4]
+  assign io_requestor_1_pmp_5_cfg_r = io_dpath_pmp_5_cfg_r; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214023.4]
+  assign io_requestor_1_pmp_5_addr = io_dpath_pmp_5_addr; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214023.4]
+  assign io_requestor_1_pmp_5_mask = io_dpath_pmp_5_mask; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214023.4]
+  assign io_requestor_1_pmp_6_cfg_l = io_dpath_pmp_6_cfg_l; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214023.4]
+  assign io_requestor_1_pmp_6_cfg_a = io_dpath_pmp_6_cfg_a; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214023.4]
+  assign io_requestor_1_pmp_6_cfg_x = io_dpath_pmp_6_cfg_x; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214023.4]
+  assign io_requestor_1_pmp_6_cfg_w = io_dpath_pmp_6_cfg_w; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214023.4]
+  assign io_requestor_1_pmp_6_cfg_r = io_dpath_pmp_6_cfg_r; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214023.4]
+  assign io_requestor_1_pmp_6_addr = io_dpath_pmp_6_addr; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214023.4]
+  assign io_requestor_1_pmp_6_mask = io_dpath_pmp_6_mask; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214023.4]
+  assign io_requestor_1_pmp_7_cfg_l = io_dpath_pmp_7_cfg_l; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214023.4]
+  assign io_requestor_1_pmp_7_cfg_a = io_dpath_pmp_7_cfg_a; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214023.4]
+  assign io_requestor_1_pmp_7_cfg_x = io_dpath_pmp_7_cfg_x; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214023.4]
+  assign io_requestor_1_pmp_7_cfg_w = io_dpath_pmp_7_cfg_w; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214023.4]
+  assign io_requestor_1_pmp_7_cfg_r = io_dpath_pmp_7_cfg_r; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214023.4]
+  assign io_requestor_1_pmp_7_addr = io_dpath_pmp_7_addr; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214023.4]
+  assign io_requestor_1_pmp_7_mask = io_dpath_pmp_7_mask; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214023.4]
+  always @(posedge clock) begin
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at PTW.scala:323 assert(state === s_req || state === s_wait1)\n"); // @[PTW.scala 323:11:shc.marmotcaravel.MarmotCaravelConfig.fir@214151.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[PTW.scala 323:11:shc.marmotcaravel.MarmotCaravelConfig.fir@214152.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at PTW.scala:330 assert(state === s_wait2)\n"); // @[PTW.scala 330:11:shc.marmotcaravel.MarmotCaravelConfig.fir@214167.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[PTW.scala 330:11:shc.marmotcaravel.MarmotCaravelConfig.fir@214168.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at PTW.scala:334 assert(state === s_wait2 || state === s_wait3)\n"); // @[PTW.scala 334:11:shc.marmotcaravel.MarmotCaravelConfig.fir@214180.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[PTW.scala 334:11:shc.marmotcaravel.MarmotCaravelConfig.fir@214181.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+endmodule
+module RVCExpander( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214252.2]
+  input  [31:0] io_in, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214255.4]
+  output [31:0] io_out_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214255.4]
+  output [4:0]  io_out_rd, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214255.4]
+  output [4:0]  io_out_rs1, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214255.4]
+  output [4:0]  io_out_rs2, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214255.4]
+  output        io_rvc // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214255.4]
+);
+  wire [1:0] _T_6; // @[RVC.scala 163:20:shc.marmotcaravel.MarmotCaravelConfig.fir@214260.4]
+  wire [7:0] _T_8; // @[RVC.scala 53:22:shc.marmotcaravel.MarmotCaravelConfig.fir@214263.4]
+  wire  _T_9; // @[RVC.scala 53:29:shc.marmotcaravel.MarmotCaravelConfig.fir@214264.4]
+  wire [6:0] _T_10; // @[RVC.scala 53:20:shc.marmotcaravel.MarmotCaravelConfig.fir@214265.4]
+  wire [3:0] _T_11; // @[RVC.scala 34:26:shc.marmotcaravel.MarmotCaravelConfig.fir@214266.4]
+  wire [1:0] _T_12; // @[RVC.scala 34:35:shc.marmotcaravel.MarmotCaravelConfig.fir@214267.4]
+  wire  _T_13; // @[RVC.scala 34:45:shc.marmotcaravel.MarmotCaravelConfig.fir@214268.4]
+  wire  _T_14; // @[RVC.scala 34:51:shc.marmotcaravel.MarmotCaravelConfig.fir@214269.4]
+  wire [2:0] _T_15; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214270.4]
+  wire [5:0] _T_16; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214271.4]
+  wire [6:0] _T_17; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214272.4]
+  wire [9:0] _T_18; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214273.4]
+  wire [2:0] _T_19; // @[RVC.scala 31:30:shc.marmotcaravel.MarmotCaravelConfig.fir@214274.4]
+  wire [4:0] _T_20; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214275.4]
+  wire [11:0] _T_21; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214276.4]
+  wire [14:0] _T_22; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214277.4]
+  wire [17:0] _T_23; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214278.4]
+  wire [29:0] _T_24; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214279.4]
+  wire [1:0] _T_32; // @[RVC.scala 36:20:shc.marmotcaravel.MarmotCaravelConfig.fir@214292.4]
+  wire [2:0] _T_33; // @[RVC.scala 36:28:shc.marmotcaravel.MarmotCaravelConfig.fir@214293.4]
+  wire [4:0] _T_34; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214294.4]
+  wire [7:0] _T_35; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214295.4]
+  wire [2:0] _T_36; // @[RVC.scala 30:30:shc.marmotcaravel.MarmotCaravelConfig.fir@214296.4]
+  wire [4:0] _T_37; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214297.4]
+  wire [11:0] _T_40; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214300.4]
+  wire [12:0] _T_41; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214301.4]
+  wire [15:0] _T_42; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214302.4]
+  wire [27:0] _T_43; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214303.4]
+  wire [3:0] _T_57; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214322.4]
+  wire [6:0] _T_58; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214323.4]
+  wire [11:0] _T_63; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214328.4]
+  wire [11:0] _T_64; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214329.4]
+  wire [14:0] _T_65; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214330.4]
+  wire [26:0] _T_66; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214331.4]
+  wire [26:0] _T_89; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214359.4]
+  wire [1:0] _T_105; // @[RVC.scala 63:32:shc.marmotcaravel.MarmotCaravelConfig.fir@214380.4]
+  wire [4:0] _T_116; // @[RVC.scala 63:66:shc.marmotcaravel.MarmotCaravelConfig.fir@214391.4]
+  wire [7:0] _T_117; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214392.4]
+  wire [14:0] _T_118; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214393.4]
+  wire [6:0] _T_119; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214394.4]
+  wire [11:0] _T_120; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214395.4]
+  wire [26:0] _T_121; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214396.4]
+  wire [2:0] _T_135; // @[RVC.scala 66:30:shc.marmotcaravel.MarmotCaravelConfig.fir@214415.4]
+  wire [4:0] _T_144; // @[RVC.scala 66:64:shc.marmotcaravel.MarmotCaravelConfig.fir@214424.4]
+  wire [7:0] _T_145; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214425.4]
+  wire [14:0] _T_146; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214426.4]
+  wire [7:0] _T_147; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214427.4]
+  wire [12:0] _T_148; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214428.4]
+  wire [27:0] _T_149; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214429.4]
+  wire [14:0] _T_178; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214463.4]
+  wire [26:0] _T_181; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214466.4]
+  wire [14:0] _T_210; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214500.4]
+  wire [26:0] _T_213; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214503.4]
+  wire  _T_223; // @[RVC.scala 43:30:shc.marmotcaravel.MarmotCaravelConfig.fir@214518.4]
+  wire [6:0] _T_225; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@214520.4]
+  wire [4:0] _T_226; // @[RVC.scala 43:38:shc.marmotcaravel.MarmotCaravelConfig.fir@214521.4]
+  wire [11:0] _T_227; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214522.4]
+  wire [4:0] _T_228; // @[RVC.scala 33:13:shc.marmotcaravel.MarmotCaravelConfig.fir@214523.4]
+  wire [11:0] _T_230; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214525.4]
+  wire [16:0] _T_231; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214526.4]
+  wire [19:0] _T_232; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214527.4]
+  wire [31:0] _T_233; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214528.4]
+  wire [9:0] _T_243; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@214543.4]
+  wire  _T_244; // @[RVC.scala 44:36:shc.marmotcaravel.MarmotCaravelConfig.fir@214544.4]
+  wire [1:0] _T_245; // @[RVC.scala 44:42:shc.marmotcaravel.MarmotCaravelConfig.fir@214545.4]
+  wire  _T_247; // @[RVC.scala 44:57:shc.marmotcaravel.MarmotCaravelConfig.fir@214547.4]
+  wire  _T_248; // @[RVC.scala 44:63:shc.marmotcaravel.MarmotCaravelConfig.fir@214548.4]
+  wire  _T_249; // @[RVC.scala 44:69:shc.marmotcaravel.MarmotCaravelConfig.fir@214549.4]
+  wire [2:0] _T_250; // @[RVC.scala 44:76:shc.marmotcaravel.MarmotCaravelConfig.fir@214550.4]
+  wire [3:0] _T_251; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214551.4]
+  wire [1:0] _T_252; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214552.4]
+  wire [5:0] _T_253; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214553.4]
+  wire [1:0] _T_254; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214554.4]
+  wire [10:0] _T_255; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214555.4]
+  wire [12:0] _T_256; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214556.4]
+  wire [14:0] _T_257; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214557.4]
+  wire [20:0] _T_258; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214558.4]
+  wire  _T_259; // @[RVC.scala 81:36:shc.marmotcaravel.MarmotCaravelConfig.fir@214559.4]
+  wire [9:0] _T_278; // @[RVC.scala 81:46:shc.marmotcaravel.MarmotCaravelConfig.fir@214578.4]
+  wire  _T_297; // @[RVC.scala 81:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214597.4]
+  wire [7:0] _T_316; // @[RVC.scala 81:68:shc.marmotcaravel.MarmotCaravelConfig.fir@214616.4]
+  wire [12:0] _T_317; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214617.4]
+  wire [19:0] _T_318; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214618.4]
+  wire [10:0] _T_319; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214619.4]
+  wire [11:0] _T_320; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214620.4]
+  wire [31:0] _T_321; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214621.4]
+  wire [16:0] _T_335; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214640.4]
+  wire [19:0] _T_336; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214641.4]
+  wire [31:0] _T_337; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214642.4]
+  wire  _T_349; // @[RVC.scala 90:29:shc.marmotcaravel.MarmotCaravelConfig.fir@214659.4]
+  wire [6:0] _T_350; // @[RVC.scala 90:20:shc.marmotcaravel.MarmotCaravelConfig.fir@214660.4]
+  wire [14:0] _T_353; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@214663.4]
+  wire [19:0] _T_355; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214665.4]
+  wire [31:0] _T_356; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214666.4]
+  wire [19:0] _T_357; // @[RVC.scala 91:31:shc.marmotcaravel.MarmotCaravelConfig.fir@214667.4]
+  wire [24:0] _T_359; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214669.4]
+  wire [31:0] _T_360; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214670.4]
+  wire  _T_369; // @[RVC.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@214684.4]
+  wire  _T_371; // @[RVC.scala 92:27:shc.marmotcaravel.MarmotCaravelConfig.fir@214686.4]
+  wire  _T_372; // @[RVC.scala 92:21:shc.marmotcaravel.MarmotCaravelConfig.fir@214687.4]
+  wire [6:0] _T_379; // @[RVC.scala 86:20:shc.marmotcaravel.MarmotCaravelConfig.fir@214694.4]
+  wire [2:0] _T_382; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@214697.4]
+  wire [1:0] _T_383; // @[RVC.scala 42:42:shc.marmotcaravel.MarmotCaravelConfig.fir@214698.4]
+  wire [1:0] _T_387; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214702.4]
+  wire [5:0] _T_388; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214703.4]
+  wire [4:0] _T_389; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214704.4]
+  wire [5:0] _T_390; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214705.4]
+  wire [11:0] _T_391; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214706.4]
+  wire [11:0] _T_394; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214709.4]
+  wire [16:0] _T_395; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214710.4]
+  wire [19:0] _T_396; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214711.4]
+  wire [31:0] _T_397; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214712.4]
+  wire [31:0] _T_405_bits; // @[RVC.scala 92:10:shc.marmotcaravel.MarmotCaravelConfig.fir@214725.4]
+  wire [4:0] _T_405_rd; // @[RVC.scala 92:10:shc.marmotcaravel.MarmotCaravelConfig.fir@214725.4]
+  wire [4:0] _T_405_rs2; // @[RVC.scala 92:10:shc.marmotcaravel.MarmotCaravelConfig.fir@214725.4]
+  wire [5:0] _T_408; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214728.4]
+  wire [11:0] _T_413; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214733.4]
+  wire [10:0] _T_414; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214734.4]
+  wire [13:0] _T_415; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214735.4]
+  wire [25:0] _T_416; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214736.4]
+  wire [30:0] _GEN_0; // @[RVC.scala 99:23:shc.marmotcaravel.MarmotCaravelConfig.fir@214748.4]
+  wire [30:0] _T_428; // @[RVC.scala 99:23:shc.marmotcaravel.MarmotCaravelConfig.fir@214748.4]
+  wire [16:0] _T_439; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214759.4]
+  wire [19:0] _T_440; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214760.4]
+  wire [31:0] _T_441; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214761.4]
+  wire [2:0] _T_444; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214764.4]
+  wire  _T_445; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@214765.4]
+  wire [2:0] _T_446; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@214766.4]
+  wire  _T_447; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@214767.4]
+  wire [2:0] _T_448; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@214768.4]
+  wire  _T_449; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@214769.4]
+  wire [2:0] _T_450; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@214770.4]
+  wire  _T_451; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@214771.4]
+  wire [2:0] _T_452; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@214772.4]
+  wire  _T_453; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@214773.4]
+  wire [2:0] _T_454; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@214774.4]
+  wire  _T_455; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@214775.4]
+  wire [2:0] _T_456; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@214776.4]
+  wire  _T_457; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@214777.4]
+  wire [2:0] _T_458; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@214778.4]
+  wire  _T_460; // @[RVC.scala 103:30:shc.marmotcaravel.MarmotCaravelConfig.fir@214780.4]
+  wire [30:0] _T_461; // @[RVC.scala 103:22:shc.marmotcaravel.MarmotCaravelConfig.fir@214781.4]
+  wire [6:0] _T_463; // @[RVC.scala 104:22:shc.marmotcaravel.MarmotCaravelConfig.fir@214783.4]
+  wire [11:0] _T_470; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214790.4]
+  wire [9:0] _T_471; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214791.4]
+  wire [12:0] _T_472; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214792.4]
+  wire [24:0] _T_473; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214793.4]
+  wire [30:0] _GEN_1; // @[RVC.scala 105:43:shc.marmotcaravel.MarmotCaravelConfig.fir@214794.4]
+  wire [30:0] _T_474; // @[RVC.scala 105:43:shc.marmotcaravel.MarmotCaravelConfig.fir@214794.4]
+  wire [1:0] _T_475; // @[RVC.scala 107:42:shc.marmotcaravel.MarmotCaravelConfig.fir@214795.4]
+  wire  _T_476; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@214796.4]
+  wire [30:0] _T_477; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@214797.4]
+  wire  _T_478; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@214798.4]
+  wire [31:0] _T_479; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@214799.4]
+  wire  _T_480; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@214800.4]
+  wire [31:0] _T_481; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@214801.4]
+  wire [12:0] _T_567; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214892.4]
+  wire [19:0] _T_568; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214893.4]
+  wire [31:0] _T_571; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214896.4]
+  wire [4:0] _T_581; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@214911.4]
+  wire [3:0] _T_586; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214916.4]
+  wire [4:0] _T_587; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214917.4]
+  wire [6:0] _T_588; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214918.4]
+  wire [7:0] _T_589; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214919.4]
+  wire [12:0] _T_590; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214920.4]
+  wire  _T_591; // @[RVC.scala 95:29:shc.marmotcaravel.MarmotCaravelConfig.fir@214921.4]
+  wire [5:0] _T_604; // @[RVC.scala 95:39:shc.marmotcaravel.MarmotCaravelConfig.fir@214934.4]
+  wire [3:0] _T_619; // @[RVC.scala 95:72:shc.marmotcaravel.MarmotCaravelConfig.fir@214949.4]
+  wire  _T_632; // @[RVC.scala 95:83:shc.marmotcaravel.MarmotCaravelConfig.fir@214962.4]
+  wire [7:0] _T_633; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214963.4]
+  wire [6:0] _T_634; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214964.4]
+  wire [14:0] _T_635; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214965.4]
+  wire [9:0] _T_636; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214966.4]
+  wire [6:0] _T_637; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214967.4]
+  wire [16:0] _T_638; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214968.4]
+  wire [31:0] _T_639; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214969.4]
+  wire [6:0] _T_702; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215037.4]
+  wire [14:0] _T_703; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215038.4]
+  wire [31:0] _T_707; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215042.4]
+  wire  _T_714; // @[RVC.scala 113:27:shc.marmotcaravel.MarmotCaravelConfig.fir@215054.4]
+  wire [6:0] _T_715; // @[RVC.scala 113:23:shc.marmotcaravel.MarmotCaravelConfig.fir@215055.4]
+  wire [10:0] _T_722; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215062.4]
+  wire [13:0] _T_723; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215063.4]
+  wire [25:0] _T_724; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215064.4]
+  wire [4:0] _T_734; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215079.4]
+  wire [3:0] _T_735; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215080.4]
+  wire [8:0] _T_736; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215081.4]
+  wire [11:0] _T_738; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215083.4]
+  wire [13:0] _T_739; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215084.4]
+  wire [16:0] _T_740; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215085.4]
+  wire [28:0] _T_741; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215086.4]
+  wire [1:0] _T_747; // @[RVC.scala 37:22:shc.marmotcaravel.MarmotCaravelConfig.fir@215097.4]
+  wire [2:0] _T_749; // @[RVC.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@215099.4]
+  wire [4:0] _T_750; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215100.4]
+  wire [2:0] _T_751; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215101.4]
+  wire [7:0] _T_752; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215102.4]
+  wire [11:0] _T_754; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215104.4]
+  wire [12:0] _T_755; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215105.4]
+  wire [15:0] _T_756; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215106.4]
+  wire [27:0] _T_757; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215107.4]
+  wire [27:0] _T_773; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215128.4]
+  wire [11:0] _T_781; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215141.4]
+  wire [9:0] _T_782; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215142.4]
+  wire [12:0] _T_783; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215143.4]
+  wire [24:0] _T_784; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215144.4]
+  wire [9:0] _T_794; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215159.4]
+  wire [12:0] _T_795; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215160.4]
+  wire [24:0] _T_796; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215161.4]
+  wire [24:0] _T_808; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215178.4]
+  wire [17:0] _T_809; // @[RVC.scala 133:29:shc.marmotcaravel.MarmotCaravelConfig.fir@215179.4]
+  wire [24:0] _T_810; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215180.4]
+  wire [24:0] _T_813; // @[RVC.scala 134:33:shc.marmotcaravel.MarmotCaravelConfig.fir@215183.4]
+  wire  _T_820; // @[RVC.scala 135:27:shc.marmotcaravel.MarmotCaravelConfig.fir@215195.4]
+  wire [31:0] _T_789_bits; // @[RVC.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@215148.4 RVC.scala 22:14:shc.marmotcaravel.MarmotCaravelConfig.fir@215150.4]
+  wire [31:0] _T_818_bits; // @[RVC.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@215187.4 RVC.scala 22:14:shc.marmotcaravel.MarmotCaravelConfig.fir@215189.4]
+  wire [31:0] _T_821_bits; // @[RVC.scala 135:22:shc.marmotcaravel.MarmotCaravelConfig.fir@215196.4]
+  wire [4:0] _T_821_rd; // @[RVC.scala 135:22:shc.marmotcaravel.MarmotCaravelConfig.fir@215196.4]
+  wire [4:0] _T_821_rs1; // @[RVC.scala 135:22:shc.marmotcaravel.MarmotCaravelConfig.fir@215196.4]
+  wire [4:0] _T_821_rs2; // @[RVC.scala 135:22:shc.marmotcaravel.MarmotCaravelConfig.fir@215196.4]
+  wire [24:0] _T_827; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215202.4]
+  wire [24:0] _T_829; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215204.4]
+  wire [24:0] _T_830; // @[RVC.scala 137:47:shc.marmotcaravel.MarmotCaravelConfig.fir@215205.4]
+  wire [24:0] _T_833; // @[RVC.scala 138:33:shc.marmotcaravel.MarmotCaravelConfig.fir@215208.4]
+  wire [31:0] _T_802_bits; // @[RVC.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@215166.4 RVC.scala 22:14:shc.marmotcaravel.MarmotCaravelConfig.fir@215168.4]
+  wire [31:0] _T_838_bits; // @[RVC.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@215212.4 RVC.scala 22:14:shc.marmotcaravel.MarmotCaravelConfig.fir@215214.4]
+  wire [31:0] _T_841_bits; // @[RVC.scala 139:25:shc.marmotcaravel.MarmotCaravelConfig.fir@215221.4]
+  wire [4:0] _T_841_rd; // @[RVC.scala 139:25:shc.marmotcaravel.MarmotCaravelConfig.fir@215221.4]
+  wire [4:0] _T_841_rs1; // @[RVC.scala 139:25:shc.marmotcaravel.MarmotCaravelConfig.fir@215221.4]
+  wire [31:0] _T_843_bits; // @[RVC.scala 140:10:shc.marmotcaravel.MarmotCaravelConfig.fir@215223.4]
+  wire [4:0] _T_843_rd; // @[RVC.scala 140:10:shc.marmotcaravel.MarmotCaravelConfig.fir@215223.4]
+  wire [4:0] _T_843_rs1; // @[RVC.scala 140:10:shc.marmotcaravel.MarmotCaravelConfig.fir@215223.4]
+  wire [4:0] _T_843_rs2; // @[RVC.scala 140:10:shc.marmotcaravel.MarmotCaravelConfig.fir@215223.4]
+  wire [5:0] _T_846; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215226.4]
+  wire [8:0] _T_847; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215227.4]
+  wire [3:0] _T_848; // @[RVC.scala 124:34:shc.marmotcaravel.MarmotCaravelConfig.fir@215228.4]
+  wire [4:0] _T_854; // @[RVC.scala 124:67:shc.marmotcaravel.MarmotCaravelConfig.fir@215234.4]
+  wire [7:0] _T_855; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215235.4]
+  wire [14:0] _T_856; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215236.4]
+  wire [8:0] _T_857; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215237.4]
+  wire [13:0] _T_858; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215238.4]
+  wire [28:0] _T_859; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215239.4]
+  wire [1:0] _T_865; // @[RVC.scala 39:22:shc.marmotcaravel.MarmotCaravelConfig.fir@215250.4]
+  wire [3:0] _T_866; // @[RVC.scala 39:30:shc.marmotcaravel.MarmotCaravelConfig.fir@215251.4]
+  wire [5:0] _T_867; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215252.4]
+  wire [7:0] _T_868; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215253.4]
+  wire [2:0] _T_869; // @[RVC.scala 123:33:shc.marmotcaravel.MarmotCaravelConfig.fir@215254.4]
+  wire [4:0] _T_875; // @[RVC.scala 123:66:shc.marmotcaravel.MarmotCaravelConfig.fir@215260.4]
+  wire [7:0] _T_876; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215261.4]
+  wire [14:0] _T_877; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215262.4]
+  wire [7:0] _T_878; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215263.4]
+  wire [12:0] _T_879; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215264.4]
+  wire [27:0] _T_880; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215265.4]
+  wire [14:0] _T_898; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215288.4]
+  wire [27:0] _T_901; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215291.4]
+  wire [4:0] _T_908; // @[RVC.scala 20:57:shc.marmotcaravel.MarmotCaravelConfig.fir@215303.4]
+  wire [4:0] _T_909; // @[RVC.scala 20:79:shc.marmotcaravel.MarmotCaravelConfig.fir@215304.4]
+  wire [2:0] _T_956; // @[RVC.scala 151:20:shc.marmotcaravel.MarmotCaravelConfig.fir@215391.4]
+  wire [4:0] _T_957; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215392.4]
+  wire  _T_958; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@215393.4]
+  wire [31:0] _T_52_bits; // @[RVC.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@214311.4 RVC.scala 22:14:shc.marmotcaravel.MarmotCaravelConfig.fir@214313.4]
+  wire [31:0] _T_31_bits; // @[RVC.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@214285.4 RVC.scala 22:14:shc.marmotcaravel.MarmotCaravelConfig.fir@214287.4]
+  wire [31:0] _T_959_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215394.4]
+  wire [4:0] _T_959_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215394.4]
+  wire [4:0] _T_959_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215394.4]
+  wire  _T_960; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@215395.4]
+  wire [31:0] _T_75_bits; // @[RVC.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@214339.4 RVC.scala 22:14:shc.marmotcaravel.MarmotCaravelConfig.fir@214341.4]
+  wire [31:0] _T_961_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215396.4]
+  wire [4:0] _T_961_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215396.4]
+  wire [4:0] _T_961_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215396.4]
+  wire  _T_962; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@215397.4]
+  wire [31:0] _T_98_bits; // @[RVC.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@214367.4 RVC.scala 22:14:shc.marmotcaravel.MarmotCaravelConfig.fir@214369.4]
+  wire [31:0] _T_963_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215398.4]
+  wire [4:0] _T_963_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215398.4]
+  wire [4:0] _T_963_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215398.4]
+  wire  _T_964; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@215399.4]
+  wire [31:0] _T_130_bits; // @[RVC.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@214404.4 RVC.scala 22:14:shc.marmotcaravel.MarmotCaravelConfig.fir@214406.4]
+  wire [31:0] _T_965_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215400.4]
+  wire [4:0] _T_965_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215400.4]
+  wire [4:0] _T_965_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215400.4]
+  wire  _T_966; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@215401.4]
+  wire [31:0] _T_158_bits; // @[RVC.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@214437.4 RVC.scala 22:14:shc.marmotcaravel.MarmotCaravelConfig.fir@214439.4]
+  wire [31:0] _T_967_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215402.4]
+  wire [4:0] _T_967_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215402.4]
+  wire [4:0] _T_967_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215402.4]
+  wire  _T_968; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@215403.4]
+  wire [31:0] _T_190_bits; // @[RVC.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@214474.4 RVC.scala 22:14:shc.marmotcaravel.MarmotCaravelConfig.fir@214476.4]
+  wire [31:0] _T_969_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215404.4]
+  wire [4:0] _T_969_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215404.4]
+  wire [4:0] _T_969_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215404.4]
+  wire  _T_970; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@215405.4]
+  wire [31:0] _T_222_bits; // @[RVC.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@214511.4 RVC.scala 22:14:shc.marmotcaravel.MarmotCaravelConfig.fir@214513.4]
+  wire [31:0] _T_971_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215406.4]
+  wire [4:0] _T_971_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215406.4]
+  wire [4:0] _T_971_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215406.4]
+  wire  _T_972; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@215407.4]
+  wire [31:0] _T_973_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215408.4]
+  wire [4:0] _T_973_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215408.4]
+  wire [4:0] _T_973_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215408.4]
+  wire [4:0] _T_973_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215408.4]
+  wire  _T_974; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@215409.4]
+  wire [31:0] _T_975_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215410.4]
+  wire [4:0] _T_975_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215410.4]
+  wire [4:0] _T_975_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215410.4]
+  wire [4:0] _T_975_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215410.4]
+  wire  _T_976; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@215411.4]
+  wire [31:0] _T_977_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215412.4]
+  wire [4:0] _T_977_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215412.4]
+  wire [4:0] _T_977_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215412.4]
+  wire [4:0] _T_977_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215412.4]
+  wire  _T_978; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@215413.4]
+  wire [31:0] _T_979_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215414.4]
+  wire [4:0] _T_979_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215414.4]
+  wire [4:0] _T_979_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215414.4]
+  wire [4:0] _T_979_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215414.4]
+  wire  _T_980; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@215415.4]
+  wire [31:0] _T_981_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215416.4]
+  wire [4:0] _T_981_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215416.4]
+  wire [4:0] _T_981_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215416.4]
+  wire [4:0] _T_981_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215416.4]
+  wire  _T_982; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@215417.4]
+  wire [31:0] _T_983_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215418.4]
+  wire [4:0] _T_983_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215418.4]
+  wire [4:0] _T_983_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215418.4]
+  wire [4:0] _T_983_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215418.4]
+  wire  _T_984; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@215419.4]
+  wire [31:0] _T_985_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215420.4]
+  wire [4:0] _T_985_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215420.4]
+  wire [4:0] _T_985_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215420.4]
+  wire [4:0] _T_985_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215420.4]
+  wire  _T_986; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@215421.4]
+  wire [31:0] _T_987_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215422.4]
+  wire [4:0] _T_987_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215422.4]
+  wire [4:0] _T_987_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215422.4]
+  wire [4:0] _T_987_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215422.4]
+  wire  _T_988; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@215423.4]
+  wire [31:0] _T_730_bits; // @[RVC.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@215069.4 RVC.scala 22:14:shc.marmotcaravel.MarmotCaravelConfig.fir@215071.4]
+  wire [31:0] _T_989_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215424.4]
+  wire [4:0] _T_989_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215424.4]
+  wire [4:0] _T_989_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215424.4]
+  wire [4:0] _T_989_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215424.4]
+  wire  _T_990; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@215425.4]
+  wire [31:0] _T_746_bits; // @[RVC.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@215090.4 RVC.scala 22:14:shc.marmotcaravel.MarmotCaravelConfig.fir@215092.4]
+  wire [31:0] _T_991_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215426.4]
+  wire [4:0] _T_991_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215426.4]
+  wire [4:0] _T_991_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215426.4]
+  wire [4:0] _T_991_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215426.4]
+  wire  _T_992; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@215427.4]
+  wire [31:0] _T_762_bits; // @[RVC.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@215111.4 RVC.scala 22:14:shc.marmotcaravel.MarmotCaravelConfig.fir@215113.4]
+  wire [31:0] _T_993_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215428.4]
+  wire [4:0] _T_993_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215428.4]
+  wire [4:0] _T_993_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215428.4]
+  wire [4:0] _T_993_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215428.4]
+  wire  _T_994; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@215429.4]
+  wire [31:0] _T_778_bits; // @[RVC.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@215132.4 RVC.scala 22:14:shc.marmotcaravel.MarmotCaravelConfig.fir@215134.4]
+  wire [31:0] _T_995_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215430.4]
+  wire [4:0] _T_995_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215430.4]
+  wire [4:0] _T_995_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215430.4]
+  wire [4:0] _T_995_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215430.4]
+  wire  _T_996; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@215431.4]
+  wire [31:0] _T_997_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215432.4]
+  wire [4:0] _T_997_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215432.4]
+  wire [4:0] _T_997_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215432.4]
+  wire [4:0] _T_997_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215432.4]
+  wire  _T_998; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@215433.4]
+  wire [31:0] _T_864_bits; // @[RVC.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@215243.4 RVC.scala 22:14:shc.marmotcaravel.MarmotCaravelConfig.fir@215245.4]
+  wire [31:0] _T_999_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215434.4]
+  wire [4:0] _T_999_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215434.4]
+  wire [4:0] _T_999_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215434.4]
+  wire [4:0] _T_999_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215434.4]
+  wire  _T_1000; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@215435.4]
+  wire [31:0] _T_885_bits; // @[RVC.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@215269.4 RVC.scala 22:14:shc.marmotcaravel.MarmotCaravelConfig.fir@215271.4]
+  wire [31:0] _T_1001_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215436.4]
+  wire [4:0] _T_1001_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215436.4]
+  wire [4:0] _T_1001_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215436.4]
+  wire [4:0] _T_1001_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215436.4]
+  wire  _T_1002; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@215437.4]
+  wire [31:0] _T_906_bits; // @[RVC.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@215295.4 RVC.scala 22:14:shc.marmotcaravel.MarmotCaravelConfig.fir@215297.4]
+  wire [31:0] _T_1003_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215438.4]
+  wire [4:0] _T_1003_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215438.4]
+  wire [4:0] _T_1003_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215438.4]
+  wire [4:0] _T_1003_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215438.4]
+  wire  _T_1004; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@215439.4]
+  wire [31:0] _T_1005_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215440.4]
+  wire [4:0] _T_1005_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215440.4]
+  wire [4:0] _T_1005_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215440.4]
+  wire [4:0] _T_1005_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215440.4]
+  wire  _T_1006; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@215441.4]
+  wire [31:0] _T_1007_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215442.4]
+  wire [4:0] _T_1007_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215442.4]
+  wire [4:0] _T_1007_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215442.4]
+  wire [4:0] _T_1007_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215442.4]
+  wire  _T_1008; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@215443.4]
+  wire [31:0] _T_1009_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215444.4]
+  wire [4:0] _T_1009_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215444.4]
+  wire [4:0] _T_1009_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215444.4]
+  wire [4:0] _T_1009_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215444.4]
+  wire  _T_1010; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@215445.4]
+  wire [31:0] _T_1011_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215446.4]
+  wire [4:0] _T_1011_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215446.4]
+  wire [4:0] _T_1011_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215446.4]
+  wire [4:0] _T_1011_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215446.4]
+  wire  _T_1012; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@215447.4]
+  wire [31:0] _T_1013_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215448.4]
+  wire [4:0] _T_1013_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215448.4]
+  wire [4:0] _T_1013_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215448.4]
+  wire [4:0] _T_1013_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215448.4]
+  wire  _T_1014; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@215449.4]
+  wire [31:0] _T_1015_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215450.4]
+  wire [4:0] _T_1015_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215450.4]
+  wire [4:0] _T_1015_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215450.4]
+  wire [4:0] _T_1015_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215450.4]
+  wire  _T_1016; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@215451.4]
+  wire [31:0] _T_1017_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215452.4]
+  wire [4:0] _T_1017_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215452.4]
+  wire [4:0] _T_1017_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215452.4]
+  wire [4:0] _T_1017_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215452.4]
+  wire  _T_1018; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@215453.4]
+  assign _T_6 = io_in[1:0]; // @[RVC.scala 163:20:shc.marmotcaravel.MarmotCaravelConfig.fir@214260.4]
+  assign _T_8 = io_in[12:5]; // @[RVC.scala 53:22:shc.marmotcaravel.MarmotCaravelConfig.fir@214263.4]
+  assign _T_9 = _T_8 != 8'h0; // @[RVC.scala 53:29:shc.marmotcaravel.MarmotCaravelConfig.fir@214264.4]
+  assign _T_10 = _T_9 ? 7'h13 : 7'h1f; // @[RVC.scala 53:20:shc.marmotcaravel.MarmotCaravelConfig.fir@214265.4]
+  assign _T_11 = io_in[10:7]; // @[RVC.scala 34:26:shc.marmotcaravel.MarmotCaravelConfig.fir@214266.4]
+  assign _T_12 = io_in[12:11]; // @[RVC.scala 34:35:shc.marmotcaravel.MarmotCaravelConfig.fir@214267.4]
+  assign _T_13 = io_in[5]; // @[RVC.scala 34:45:shc.marmotcaravel.MarmotCaravelConfig.fir@214268.4]
+  assign _T_14 = io_in[6]; // @[RVC.scala 34:51:shc.marmotcaravel.MarmotCaravelConfig.fir@214269.4]
+  assign _T_15 = {_T_14,2'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214270.4]
+  assign _T_16 = {_T_11,_T_12}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214271.4]
+  assign _T_17 = {_T_16,_T_13}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214272.4]
+  assign _T_18 = {_T_17,_T_15}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214273.4]
+  assign _T_19 = io_in[4:2]; // @[RVC.scala 31:30:shc.marmotcaravel.MarmotCaravelConfig.fir@214274.4]
+  assign _T_20 = {2'h1,_T_19}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214275.4]
+  assign _T_21 = {_T_20,_T_10}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214276.4]
+  assign _T_22 = {_T_18,5'h2}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214277.4]
+  assign _T_23 = {_T_22,3'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214278.4]
+  assign _T_24 = {_T_23,_T_21}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214279.4]
+  assign _T_32 = io_in[6:5]; // @[RVC.scala 36:20:shc.marmotcaravel.MarmotCaravelConfig.fir@214292.4]
+  assign _T_33 = io_in[12:10]; // @[RVC.scala 36:28:shc.marmotcaravel.MarmotCaravelConfig.fir@214293.4]
+  assign _T_34 = {_T_32,_T_33}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214294.4]
+  assign _T_35 = {_T_34,3'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214295.4]
+  assign _T_36 = io_in[9:7]; // @[RVC.scala 30:30:shc.marmotcaravel.MarmotCaravelConfig.fir@214296.4]
+  assign _T_37 = {2'h1,_T_36}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214297.4]
+  assign _T_40 = {_T_20,7'h7}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214300.4]
+  assign _T_41 = {_T_35,_T_37}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214301.4]
+  assign _T_42 = {_T_41,3'h3}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214302.4]
+  assign _T_43 = {_T_42,_T_40}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214303.4]
+  assign _T_57 = {_T_13,_T_33}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214322.4]
+  assign _T_58 = {_T_57,_T_15}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214323.4]
+  assign _T_63 = {_T_20,7'h3}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214328.4]
+  assign _T_64 = {_T_58,_T_37}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214329.4]
+  assign _T_65 = {_T_64,3'h2}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214330.4]
+  assign _T_66 = {_T_65,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214331.4]
+  assign _T_89 = {_T_65,_T_40}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214359.4]
+  assign _T_105 = _T_58[6:5]; // @[RVC.scala 63:32:shc.marmotcaravel.MarmotCaravelConfig.fir@214380.4]
+  assign _T_116 = _T_58[4:0]; // @[RVC.scala 63:66:shc.marmotcaravel.MarmotCaravelConfig.fir@214391.4]
+  assign _T_117 = {3'h2,_T_116}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214392.4]
+  assign _T_118 = {_T_117,7'h3f}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214393.4]
+  assign _T_119 = {_T_105,_T_20}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214394.4]
+  assign _T_120 = {_T_119,_T_37}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214395.4]
+  assign _T_121 = {_T_120,_T_118}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214396.4]
+  assign _T_135 = _T_35[7:5]; // @[RVC.scala 66:30:shc.marmotcaravel.MarmotCaravelConfig.fir@214415.4]
+  assign _T_144 = _T_35[4:0]; // @[RVC.scala 66:64:shc.marmotcaravel.MarmotCaravelConfig.fir@214424.4]
+  assign _T_145 = {3'h3,_T_144}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214425.4]
+  assign _T_146 = {_T_145,7'h27}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214426.4]
+  assign _T_147 = {_T_135,_T_20}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214427.4]
+  assign _T_148 = {_T_147,_T_37}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214428.4]
+  assign _T_149 = {_T_148,_T_146}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214429.4]
+  assign _T_178 = {_T_117,7'h23}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214463.4]
+  assign _T_181 = {_T_120,_T_178}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214466.4]
+  assign _T_210 = {_T_117,7'h27}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214500.4]
+  assign _T_213 = {_T_120,_T_210}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214503.4]
+  assign _T_223 = io_in[12]; // @[RVC.scala 43:30:shc.marmotcaravel.MarmotCaravelConfig.fir@214518.4]
+  assign _T_225 = _T_223 ? 7'h7f : 7'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@214520.4]
+  assign _T_226 = io_in[6:2]; // @[RVC.scala 43:38:shc.marmotcaravel.MarmotCaravelConfig.fir@214521.4]
+  assign _T_227 = {_T_225,_T_226}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214522.4]
+  assign _T_228 = io_in[11:7]; // @[RVC.scala 33:13:shc.marmotcaravel.MarmotCaravelConfig.fir@214523.4]
+  assign _T_230 = {_T_228,7'h13}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214525.4]
+  assign _T_231 = {_T_227,_T_228}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214526.4]
+  assign _T_232 = {_T_231,3'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214527.4]
+  assign _T_233 = {_T_232,_T_230}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214528.4]
+  assign _T_243 = _T_223 ? 10'h3ff : 10'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@214543.4]
+  assign _T_244 = io_in[8]; // @[RVC.scala 44:36:shc.marmotcaravel.MarmotCaravelConfig.fir@214544.4]
+  assign _T_245 = io_in[10:9]; // @[RVC.scala 44:42:shc.marmotcaravel.MarmotCaravelConfig.fir@214545.4]
+  assign _T_247 = io_in[7]; // @[RVC.scala 44:57:shc.marmotcaravel.MarmotCaravelConfig.fir@214547.4]
+  assign _T_248 = io_in[2]; // @[RVC.scala 44:63:shc.marmotcaravel.MarmotCaravelConfig.fir@214548.4]
+  assign _T_249 = io_in[11]; // @[RVC.scala 44:69:shc.marmotcaravel.MarmotCaravelConfig.fir@214549.4]
+  assign _T_250 = io_in[5:3]; // @[RVC.scala 44:76:shc.marmotcaravel.MarmotCaravelConfig.fir@214550.4]
+  assign _T_251 = {_T_250,1'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214551.4]
+  assign _T_252 = {_T_248,_T_249}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214552.4]
+  assign _T_253 = {_T_252,_T_251}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214553.4]
+  assign _T_254 = {_T_14,_T_247}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214554.4]
+  assign _T_255 = {_T_243,_T_244}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214555.4]
+  assign _T_256 = {_T_255,_T_245}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214556.4]
+  assign _T_257 = {_T_256,_T_254}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214557.4]
+  assign _T_258 = {_T_257,_T_253}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214558.4]
+  assign _T_259 = _T_258[20]; // @[RVC.scala 81:36:shc.marmotcaravel.MarmotCaravelConfig.fir@214559.4]
+  assign _T_278 = _T_258[10:1]; // @[RVC.scala 81:46:shc.marmotcaravel.MarmotCaravelConfig.fir@214578.4]
+  assign _T_297 = _T_258[11]; // @[RVC.scala 81:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214597.4]
+  assign _T_316 = _T_258[19:12]; // @[RVC.scala 81:68:shc.marmotcaravel.MarmotCaravelConfig.fir@214616.4]
+  assign _T_317 = {_T_316,5'h1}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214617.4]
+  assign _T_318 = {_T_317,7'h6f}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214618.4]
+  assign _T_319 = {_T_259,_T_278}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214619.4]
+  assign _T_320 = {_T_319,_T_297}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214620.4]
+  assign _T_321 = {_T_320,_T_318}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214621.4]
+  assign _T_335 = {_T_227,5'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214640.4]
+  assign _T_336 = {_T_335,3'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214641.4]
+  assign _T_337 = {_T_336,_T_230}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214642.4]
+  assign _T_349 = _T_227 != 12'h0; // @[RVC.scala 90:29:shc.marmotcaravel.MarmotCaravelConfig.fir@214659.4]
+  assign _T_350 = _T_349 ? 7'h37 : 7'h3f; // @[RVC.scala 90:20:shc.marmotcaravel.MarmotCaravelConfig.fir@214660.4]
+  assign _T_353 = _T_223 ? 15'h7fff : 15'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@214663.4]
+  assign _T_355 = {_T_353,_T_226}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214665.4]
+  assign _T_356 = {_T_355,12'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214666.4]
+  assign _T_357 = _T_356[31:12]; // @[RVC.scala 91:31:shc.marmotcaravel.MarmotCaravelConfig.fir@214667.4]
+  assign _T_359 = {_T_357,_T_228}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214669.4]
+  assign _T_360 = {_T_359,_T_350}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214670.4]
+  assign _T_369 = _T_228 == 5'h0; // @[RVC.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@214684.4]
+  assign _T_371 = _T_228 == 5'h2; // @[RVC.scala 92:27:shc.marmotcaravel.MarmotCaravelConfig.fir@214686.4]
+  assign _T_372 = _T_369 | _T_371; // @[RVC.scala 92:21:shc.marmotcaravel.MarmotCaravelConfig.fir@214687.4]
+  assign _T_379 = _T_349 ? 7'h13 : 7'h1f; // @[RVC.scala 86:20:shc.marmotcaravel.MarmotCaravelConfig.fir@214694.4]
+  assign _T_382 = _T_223 ? 3'h7 : 3'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@214697.4]
+  assign _T_383 = io_in[4:3]; // @[RVC.scala 42:42:shc.marmotcaravel.MarmotCaravelConfig.fir@214698.4]
+  assign _T_387 = {_T_248,_T_14}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214702.4]
+  assign _T_388 = {_T_387,4'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214703.4]
+  assign _T_389 = {_T_382,_T_383}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214704.4]
+  assign _T_390 = {_T_389,_T_13}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214705.4]
+  assign _T_391 = {_T_390,_T_388}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214706.4]
+  assign _T_394 = {_T_228,_T_379}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214709.4]
+  assign _T_395 = {_T_391,_T_228}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214710.4]
+  assign _T_396 = {_T_395,3'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214711.4]
+  assign _T_397 = {_T_396,_T_394}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214712.4]
+  assign _T_405_bits = _T_372 ? _T_397 : _T_360; // @[RVC.scala 92:10:shc.marmotcaravel.MarmotCaravelConfig.fir@214725.4]
+  assign _T_405_rd = _T_372 ? _T_228 : _T_228; // @[RVC.scala 92:10:shc.marmotcaravel.MarmotCaravelConfig.fir@214725.4]
+  assign _T_405_rs2 = _T_372 ? _T_20 : _T_20; // @[RVC.scala 92:10:shc.marmotcaravel.MarmotCaravelConfig.fir@214725.4]
+  assign _T_408 = {_T_223,_T_226}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214728.4]
+  assign _T_413 = {_T_37,7'h13}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214733.4]
+  assign _T_414 = {_T_408,_T_37}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214734.4]
+  assign _T_415 = {_T_414,3'h5}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214735.4]
+  assign _T_416 = {_T_415,_T_413}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214736.4]
+  assign _GEN_0 = {{5'd0}, _T_416}; // @[RVC.scala 99:23:shc.marmotcaravel.MarmotCaravelConfig.fir@214748.4]
+  assign _T_428 = _GEN_0 | 31'h40000000; // @[RVC.scala 99:23:shc.marmotcaravel.MarmotCaravelConfig.fir@214748.4]
+  assign _T_439 = {_T_227,_T_37}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214759.4]
+  assign _T_440 = {_T_439,3'h7}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214760.4]
+  assign _T_441 = {_T_440,_T_413}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214761.4]
+  assign _T_444 = {_T_223,_T_32}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214764.4]
+  assign _T_445 = _T_444 == 3'h1; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@214765.4]
+  assign _T_446 = _T_445 ? 3'h4 : 3'h0; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@214766.4]
+  assign _T_447 = _T_444 == 3'h2; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@214767.4]
+  assign _T_448 = _T_447 ? 3'h6 : _T_446; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@214768.4]
+  assign _T_449 = _T_444 == 3'h3; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@214769.4]
+  assign _T_450 = _T_449 ? 3'h7 : _T_448; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@214770.4]
+  assign _T_451 = _T_444 == 3'h4; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@214771.4]
+  assign _T_452 = _T_451 ? 3'h0 : _T_450; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@214772.4]
+  assign _T_453 = _T_444 == 3'h5; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@214773.4]
+  assign _T_454 = _T_453 ? 3'h0 : _T_452; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@214774.4]
+  assign _T_455 = _T_444 == 3'h6; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@214775.4]
+  assign _T_456 = _T_455 ? 3'h2 : _T_454; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@214776.4]
+  assign _T_457 = _T_444 == 3'h7; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@214777.4]
+  assign _T_458 = _T_457 ? 3'h3 : _T_456; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@214778.4]
+  assign _T_460 = _T_32 == 2'h0; // @[RVC.scala 103:30:shc.marmotcaravel.MarmotCaravelConfig.fir@214780.4]
+  assign _T_461 = _T_460 ? 31'h40000000 : 31'h0; // @[RVC.scala 103:22:shc.marmotcaravel.MarmotCaravelConfig.fir@214781.4]
+  assign _T_463 = _T_223 ? 7'h3b : 7'h33; // @[RVC.scala 104:22:shc.marmotcaravel.MarmotCaravelConfig.fir@214783.4]
+  assign _T_470 = {_T_37,_T_463}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214790.4]
+  assign _T_471 = {_T_20,_T_37}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214791.4]
+  assign _T_472 = {_T_471,_T_458}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214792.4]
+  assign _T_473 = {_T_472,_T_470}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214793.4]
+  assign _GEN_1 = {{6'd0}, _T_473}; // @[RVC.scala 105:43:shc.marmotcaravel.MarmotCaravelConfig.fir@214794.4]
+  assign _T_474 = _GEN_1 | _T_461; // @[RVC.scala 105:43:shc.marmotcaravel.MarmotCaravelConfig.fir@214794.4]
+  assign _T_475 = io_in[11:10]; // @[RVC.scala 107:42:shc.marmotcaravel.MarmotCaravelConfig.fir@214795.4]
+  assign _T_476 = _T_475 == 2'h1; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@214796.4]
+  assign _T_477 = _T_476 ? _T_428 : {{5'd0}, _T_416}; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@214797.4]
+  assign _T_478 = _T_475 == 2'h2; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@214798.4]
+  assign _T_479 = _T_478 ? _T_441 : {{1'd0}, _T_477}; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@214799.4]
+  assign _T_480 = _T_475 == 2'h3; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@214800.4]
+  assign _T_481 = _T_480 ? {{1'd0}, _T_474} : _T_479; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@214801.4]
+  assign _T_567 = {_T_316,5'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214892.4]
+  assign _T_568 = {_T_567,7'h6f}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214893.4]
+  assign _T_571 = {_T_320,_T_568}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214896.4]
+  assign _T_581 = _T_223 ? 5'h1f : 5'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@214911.4]
+  assign _T_586 = {_T_475,_T_383}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214916.4]
+  assign _T_587 = {_T_586,1'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214917.4]
+  assign _T_588 = {_T_581,_T_32}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214918.4]
+  assign _T_589 = {_T_588,_T_248}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214919.4]
+  assign _T_590 = {_T_589,_T_587}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214920.4]
+  assign _T_591 = _T_590[12]; // @[RVC.scala 95:29:shc.marmotcaravel.MarmotCaravelConfig.fir@214921.4]
+  assign _T_604 = _T_590[10:5]; // @[RVC.scala 95:39:shc.marmotcaravel.MarmotCaravelConfig.fir@214934.4]
+  assign _T_619 = _T_590[4:1]; // @[RVC.scala 95:72:shc.marmotcaravel.MarmotCaravelConfig.fir@214949.4]
+  assign _T_632 = _T_590[11]; // @[RVC.scala 95:83:shc.marmotcaravel.MarmotCaravelConfig.fir@214962.4]
+  assign _T_633 = {_T_632,7'h63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214963.4]
+  assign _T_634 = {3'h0,_T_619}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214964.4]
+  assign _T_635 = {_T_634,_T_633}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214965.4]
+  assign _T_636 = {5'h0,_T_37}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214966.4]
+  assign _T_637 = {_T_591,_T_604}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214967.4]
+  assign _T_638 = {_T_637,_T_636}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214968.4]
+  assign _T_639 = {_T_638,_T_635}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214969.4]
+  assign _T_702 = {3'h1,_T_619}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215037.4]
+  assign _T_703 = {_T_702,_T_633}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215038.4]
+  assign _T_707 = {_T_638,_T_703}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215042.4]
+  assign _T_714 = _T_228 != 5'h0; // @[RVC.scala 113:27:shc.marmotcaravel.MarmotCaravelConfig.fir@215054.4]
+  assign _T_715 = _T_714 ? 7'h3 : 7'h1f; // @[RVC.scala 113:23:shc.marmotcaravel.MarmotCaravelConfig.fir@215055.4]
+  assign _T_722 = {_T_408,_T_228}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215062.4]
+  assign _T_723 = {_T_722,3'h1}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215063.4]
+  assign _T_724 = {_T_723,_T_230}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215064.4]
+  assign _T_734 = {_T_32,3'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215079.4]
+  assign _T_735 = {_T_19,_T_223}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215080.4]
+  assign _T_736 = {_T_735,_T_734}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215081.4]
+  assign _T_738 = {_T_228,7'h7}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215083.4]
+  assign _T_739 = {_T_736,5'h2}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215084.4]
+  assign _T_740 = {_T_739,3'h3}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215085.4]
+  assign _T_741 = {_T_740,_T_738}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215086.4]
+  assign _T_747 = io_in[3:2]; // @[RVC.scala 37:22:shc.marmotcaravel.MarmotCaravelConfig.fir@215097.4]
+  assign _T_749 = io_in[6:4]; // @[RVC.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@215099.4]
+  assign _T_750 = {_T_749,2'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215100.4]
+  assign _T_751 = {_T_747,_T_223}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215101.4]
+  assign _T_752 = {_T_751,_T_750}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215102.4]
+  assign _T_754 = {_T_228,_T_715}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215104.4]
+  assign _T_755 = {_T_752,5'h2}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215105.4]
+  assign _T_756 = {_T_755,3'h2}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215106.4]
+  assign _T_757 = {_T_756,_T_754}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215107.4]
+  assign _T_773 = {_T_756,_T_738}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215128.4]
+  assign _T_781 = {_T_228,7'h33}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215141.4]
+  assign _T_782 = {_T_226,5'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215142.4]
+  assign _T_783 = {_T_782,3'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215143.4]
+  assign _T_784 = {_T_783,_T_781}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215144.4]
+  assign _T_794 = {_T_226,_T_228}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215159.4]
+  assign _T_795 = {_T_794,3'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215160.4]
+  assign _T_796 = {_T_795,_T_781}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215161.4]
+  assign _T_808 = {_T_795,12'h67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215178.4]
+  assign _T_809 = _T_808[24:7]; // @[RVC.scala 133:29:shc.marmotcaravel.MarmotCaravelConfig.fir@215179.4]
+  assign _T_810 = {_T_809,7'h1f}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215180.4]
+  assign _T_813 = _T_714 ? _T_808 : _T_810; // @[RVC.scala 134:33:shc.marmotcaravel.MarmotCaravelConfig.fir@215183.4]
+  assign _T_820 = _T_226 != 5'h0; // @[RVC.scala 135:27:shc.marmotcaravel.MarmotCaravelConfig.fir@215195.4]
+  assign _T_789_bits = {{7'd0}, _T_784}; // @[RVC.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@215148.4 RVC.scala 22:14:shc.marmotcaravel.MarmotCaravelConfig.fir@215150.4]
+  assign _T_818_bits = {{7'd0}, _T_813}; // @[RVC.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@215187.4 RVC.scala 22:14:shc.marmotcaravel.MarmotCaravelConfig.fir@215189.4]
+  assign _T_821_bits = _T_820 ? _T_789_bits : _T_818_bits; // @[RVC.scala 135:22:shc.marmotcaravel.MarmotCaravelConfig.fir@215196.4]
+  assign _T_821_rd = _T_820 ? _T_228 : 5'h0; // @[RVC.scala 135:22:shc.marmotcaravel.MarmotCaravelConfig.fir@215196.4]
+  assign _T_821_rs1 = _T_820 ? 5'h0 : _T_228; // @[RVC.scala 135:22:shc.marmotcaravel.MarmotCaravelConfig.fir@215196.4]
+  assign _T_821_rs2 = _T_820 ? _T_226 : _T_226; // @[RVC.scala 135:22:shc.marmotcaravel.MarmotCaravelConfig.fir@215196.4]
+  assign _T_827 = {_T_795,12'he7}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215202.4]
+  assign _T_829 = {_T_809,7'h73}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215204.4]
+  assign _T_830 = _T_829 | 25'h100000; // @[RVC.scala 137:47:shc.marmotcaravel.MarmotCaravelConfig.fir@215205.4]
+  assign _T_833 = _T_714 ? _T_827 : _T_830; // @[RVC.scala 138:33:shc.marmotcaravel.MarmotCaravelConfig.fir@215208.4]
+  assign _T_802_bits = {{7'd0}, _T_796}; // @[RVC.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@215166.4 RVC.scala 22:14:shc.marmotcaravel.MarmotCaravelConfig.fir@215168.4]
+  assign _T_838_bits = {{7'd0}, _T_833}; // @[RVC.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@215212.4 RVC.scala 22:14:shc.marmotcaravel.MarmotCaravelConfig.fir@215214.4]
+  assign _T_841_bits = _T_820 ? _T_802_bits : _T_838_bits; // @[RVC.scala 139:25:shc.marmotcaravel.MarmotCaravelConfig.fir@215221.4]
+  assign _T_841_rd = _T_820 ? _T_228 : 5'h1; // @[RVC.scala 139:25:shc.marmotcaravel.MarmotCaravelConfig.fir@215221.4]
+  assign _T_841_rs1 = _T_820 ? _T_228 : _T_228; // @[RVC.scala 139:25:shc.marmotcaravel.MarmotCaravelConfig.fir@215221.4]
+  assign _T_843_bits = _T_223 ? _T_841_bits : _T_821_bits; // @[RVC.scala 140:10:shc.marmotcaravel.MarmotCaravelConfig.fir@215223.4]
+  assign _T_843_rd = _T_223 ? _T_841_rd : _T_821_rd; // @[RVC.scala 140:10:shc.marmotcaravel.MarmotCaravelConfig.fir@215223.4]
+  assign _T_843_rs1 = _T_223 ? _T_841_rs1 : _T_821_rs1; // @[RVC.scala 140:10:shc.marmotcaravel.MarmotCaravelConfig.fir@215223.4]
+  assign _T_843_rs2 = _T_223 ? _T_821_rs2 : _T_821_rs2; // @[RVC.scala 140:10:shc.marmotcaravel.MarmotCaravelConfig.fir@215223.4]
+  assign _T_846 = {_T_36,_T_33}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215226.4]
+  assign _T_847 = {_T_846,3'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215227.4]
+  assign _T_848 = _T_847[8:5]; // @[RVC.scala 124:34:shc.marmotcaravel.MarmotCaravelConfig.fir@215228.4]
+  assign _T_854 = _T_847[4:0]; // @[RVC.scala 124:67:shc.marmotcaravel.MarmotCaravelConfig.fir@215234.4]
+  assign _T_855 = {3'h3,_T_854}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215235.4]
+  assign _T_856 = {_T_855,7'h27}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215236.4]
+  assign _T_857 = {_T_848,_T_226}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215237.4]
+  assign _T_858 = {_T_857,5'h2}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215238.4]
+  assign _T_859 = {_T_858,_T_856}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215239.4]
+  assign _T_865 = io_in[8:7]; // @[RVC.scala 39:22:shc.marmotcaravel.MarmotCaravelConfig.fir@215250.4]
+  assign _T_866 = io_in[12:9]; // @[RVC.scala 39:30:shc.marmotcaravel.MarmotCaravelConfig.fir@215251.4]
+  assign _T_867 = {_T_865,_T_866}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215252.4]
+  assign _T_868 = {_T_867,2'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215253.4]
+  assign _T_869 = _T_868[7:5]; // @[RVC.scala 123:33:shc.marmotcaravel.MarmotCaravelConfig.fir@215254.4]
+  assign _T_875 = _T_868[4:0]; // @[RVC.scala 123:66:shc.marmotcaravel.MarmotCaravelConfig.fir@215260.4]
+  assign _T_876 = {3'h2,_T_875}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215261.4]
+  assign _T_877 = {_T_876,7'h23}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215262.4]
+  assign _T_878 = {_T_869,_T_226}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215263.4]
+  assign _T_879 = {_T_878,5'h2}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215264.4]
+  assign _T_880 = {_T_879,_T_877}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215265.4]
+  assign _T_898 = {_T_876,7'h27}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215288.4]
+  assign _T_901 = {_T_879,_T_898}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215291.4]
+  assign _T_908 = io_in[19:15]; // @[RVC.scala 20:57:shc.marmotcaravel.MarmotCaravelConfig.fir@215303.4]
+  assign _T_909 = io_in[24:20]; // @[RVC.scala 20:79:shc.marmotcaravel.MarmotCaravelConfig.fir@215304.4]
+  assign _T_956 = io_in[15:13]; // @[RVC.scala 151:20:shc.marmotcaravel.MarmotCaravelConfig.fir@215391.4]
+  assign _T_957 = {_T_6,_T_956}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215392.4]
+  assign _T_958 = _T_957 == 5'h1; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@215393.4]
+  assign _T_52_bits = {{4'd0}, _T_43}; // @[RVC.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@214311.4 RVC.scala 22:14:shc.marmotcaravel.MarmotCaravelConfig.fir@214313.4]
+  assign _T_31_bits = {{2'd0}, _T_24}; // @[RVC.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@214285.4 RVC.scala 22:14:shc.marmotcaravel.MarmotCaravelConfig.fir@214287.4]
+  assign _T_959_bits = _T_958 ? _T_52_bits : _T_31_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215394.4]
+  assign _T_959_rd = _T_958 ? _T_20 : _T_20; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215394.4]
+  assign _T_959_rs1 = _T_958 ? _T_37 : 5'h2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215394.4]
+  assign _T_960 = _T_957 == 5'h2; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@215395.4]
+  assign _T_75_bits = {{5'd0}, _T_66}; // @[RVC.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@214339.4 RVC.scala 22:14:shc.marmotcaravel.MarmotCaravelConfig.fir@214341.4]
+  assign _T_961_bits = _T_960 ? _T_75_bits : _T_959_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215396.4]
+  assign _T_961_rd = _T_960 ? _T_20 : _T_959_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215396.4]
+  assign _T_961_rs1 = _T_960 ? _T_37 : _T_959_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215396.4]
+  assign _T_962 = _T_957 == 5'h3; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@215397.4]
+  assign _T_98_bits = {{5'd0}, _T_89}; // @[RVC.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@214367.4 RVC.scala 22:14:shc.marmotcaravel.MarmotCaravelConfig.fir@214369.4]
+  assign _T_963_bits = _T_962 ? _T_98_bits : _T_961_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215398.4]
+  assign _T_963_rd = _T_962 ? _T_20 : _T_961_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215398.4]
+  assign _T_963_rs1 = _T_962 ? _T_37 : _T_961_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215398.4]
+  assign _T_964 = _T_957 == 5'h4; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@215399.4]
+  assign _T_130_bits = {{5'd0}, _T_121}; // @[RVC.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@214404.4 RVC.scala 22:14:shc.marmotcaravel.MarmotCaravelConfig.fir@214406.4]
+  assign _T_965_bits = _T_964 ? _T_130_bits : _T_963_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215400.4]
+  assign _T_965_rd = _T_964 ? _T_20 : _T_963_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215400.4]
+  assign _T_965_rs1 = _T_964 ? _T_37 : _T_963_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215400.4]
+  assign _T_966 = _T_957 == 5'h5; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@215401.4]
+  assign _T_158_bits = {{4'd0}, _T_149}; // @[RVC.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@214437.4 RVC.scala 22:14:shc.marmotcaravel.MarmotCaravelConfig.fir@214439.4]
+  assign _T_967_bits = _T_966 ? _T_158_bits : _T_965_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215402.4]
+  assign _T_967_rd = _T_966 ? _T_20 : _T_965_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215402.4]
+  assign _T_967_rs1 = _T_966 ? _T_37 : _T_965_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215402.4]
+  assign _T_968 = _T_957 == 5'h6; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@215403.4]
+  assign _T_190_bits = {{5'd0}, _T_181}; // @[RVC.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@214474.4 RVC.scala 22:14:shc.marmotcaravel.MarmotCaravelConfig.fir@214476.4]
+  assign _T_969_bits = _T_968 ? _T_190_bits : _T_967_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215404.4]
+  assign _T_969_rd = _T_968 ? _T_20 : _T_967_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215404.4]
+  assign _T_969_rs1 = _T_968 ? _T_37 : _T_967_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215404.4]
+  assign _T_970 = _T_957 == 5'h7; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@215405.4]
+  assign _T_222_bits = {{5'd0}, _T_213}; // @[RVC.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@214511.4 RVC.scala 22:14:shc.marmotcaravel.MarmotCaravelConfig.fir@214513.4]
+  assign _T_971_bits = _T_970 ? _T_222_bits : _T_969_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215406.4]
+  assign _T_971_rd = _T_970 ? _T_20 : _T_969_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215406.4]
+  assign _T_971_rs1 = _T_970 ? _T_37 : _T_969_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215406.4]
+  assign _T_972 = _T_957 == 5'h8; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@215407.4]
+  assign _T_973_bits = _T_972 ? _T_233 : _T_971_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215408.4]
+  assign _T_973_rd = _T_972 ? _T_228 : _T_971_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215408.4]
+  assign _T_973_rs1 = _T_972 ? _T_228 : _T_971_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215408.4]
+  assign _T_973_rs2 = _T_972 ? _T_20 : _T_971_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215408.4]
+  assign _T_974 = _T_957 == 5'h9; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@215409.4]
+  assign _T_975_bits = _T_974 ? _T_321 : _T_973_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215410.4]
+  assign _T_975_rd = _T_974 ? 5'h1 : _T_973_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215410.4]
+  assign _T_975_rs1 = _T_974 ? _T_228 : _T_973_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215410.4]
+  assign _T_975_rs2 = _T_974 ? _T_20 : _T_973_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215410.4]
+  assign _T_976 = _T_957 == 5'ha; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@215411.4]
+  assign _T_977_bits = _T_976 ? _T_337 : _T_975_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215412.4]
+  assign _T_977_rd = _T_976 ? _T_228 : _T_975_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215412.4]
+  assign _T_977_rs1 = _T_976 ? 5'h0 : _T_975_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215412.4]
+  assign _T_977_rs2 = _T_976 ? _T_20 : _T_975_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215412.4]
+  assign _T_978 = _T_957 == 5'hb; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@215413.4]
+  assign _T_979_bits = _T_978 ? _T_405_bits : _T_977_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215414.4]
+  assign _T_979_rd = _T_978 ? _T_405_rd : _T_977_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215414.4]
+  assign _T_979_rs1 = _T_978 ? _T_405_rd : _T_977_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215414.4]
+  assign _T_979_rs2 = _T_978 ? _T_405_rs2 : _T_977_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215414.4]
+  assign _T_980 = _T_957 == 5'hc; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@215415.4]
+  assign _T_981_bits = _T_980 ? _T_481 : _T_979_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215416.4]
+  assign _T_981_rd = _T_980 ? _T_37 : _T_979_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215416.4]
+  assign _T_981_rs1 = _T_980 ? _T_37 : _T_979_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215416.4]
+  assign _T_981_rs2 = _T_980 ? _T_20 : _T_979_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215416.4]
+  assign _T_982 = _T_957 == 5'hd; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@215417.4]
+  assign _T_983_bits = _T_982 ? _T_571 : _T_981_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215418.4]
+  assign _T_983_rd = _T_982 ? 5'h0 : _T_981_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215418.4]
+  assign _T_983_rs1 = _T_982 ? _T_37 : _T_981_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215418.4]
+  assign _T_983_rs2 = _T_982 ? _T_20 : _T_981_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215418.4]
+  assign _T_984 = _T_957 == 5'he; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@215419.4]
+  assign _T_985_bits = _T_984 ? _T_639 : _T_983_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215420.4]
+  assign _T_985_rd = _T_984 ? _T_37 : _T_983_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215420.4]
+  assign _T_985_rs1 = _T_984 ? _T_37 : _T_983_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215420.4]
+  assign _T_985_rs2 = _T_984 ? 5'h0 : _T_983_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215420.4]
+  assign _T_986 = _T_957 == 5'hf; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@215421.4]
+  assign _T_987_bits = _T_986 ? _T_707 : _T_985_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215422.4]
+  assign _T_987_rd = _T_986 ? 5'h0 : _T_985_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215422.4]
+  assign _T_987_rs1 = _T_986 ? _T_37 : _T_985_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215422.4]
+  assign _T_987_rs2 = _T_986 ? 5'h0 : _T_985_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215422.4]
+  assign _T_988 = _T_957 == 5'h10; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@215423.4]
+  assign _T_730_bits = {{6'd0}, _T_724}; // @[RVC.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@215069.4 RVC.scala 22:14:shc.marmotcaravel.MarmotCaravelConfig.fir@215071.4]
+  assign _T_989_bits = _T_988 ? _T_730_bits : _T_987_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215424.4]
+  assign _T_989_rd = _T_988 ? _T_228 : _T_987_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215424.4]
+  assign _T_989_rs1 = _T_988 ? _T_228 : _T_987_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215424.4]
+  assign _T_989_rs2 = _T_988 ? _T_226 : _T_987_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215424.4]
+  assign _T_990 = _T_957 == 5'h11; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@215425.4]
+  assign _T_746_bits = {{3'd0}, _T_741}; // @[RVC.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@215090.4 RVC.scala 22:14:shc.marmotcaravel.MarmotCaravelConfig.fir@215092.4]
+  assign _T_991_bits = _T_990 ? _T_746_bits : _T_989_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215426.4]
+  assign _T_991_rd = _T_990 ? _T_228 : _T_989_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215426.4]
+  assign _T_991_rs1 = _T_990 ? 5'h2 : _T_989_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215426.4]
+  assign _T_991_rs2 = _T_990 ? _T_226 : _T_989_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215426.4]
+  assign _T_992 = _T_957 == 5'h12; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@215427.4]
+  assign _T_762_bits = {{4'd0}, _T_757}; // @[RVC.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@215111.4 RVC.scala 22:14:shc.marmotcaravel.MarmotCaravelConfig.fir@215113.4]
+  assign _T_993_bits = _T_992 ? _T_762_bits : _T_991_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215428.4]
+  assign _T_993_rd = _T_992 ? _T_228 : _T_991_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215428.4]
+  assign _T_993_rs1 = _T_992 ? 5'h2 : _T_991_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215428.4]
+  assign _T_993_rs2 = _T_992 ? _T_226 : _T_991_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215428.4]
+  assign _T_994 = _T_957 == 5'h13; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@215429.4]
+  assign _T_778_bits = {{4'd0}, _T_773}; // @[RVC.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@215132.4 RVC.scala 22:14:shc.marmotcaravel.MarmotCaravelConfig.fir@215134.4]
+  assign _T_995_bits = _T_994 ? _T_778_bits : _T_993_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215430.4]
+  assign _T_995_rd = _T_994 ? _T_228 : _T_993_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215430.4]
+  assign _T_995_rs1 = _T_994 ? 5'h2 : _T_993_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215430.4]
+  assign _T_995_rs2 = _T_994 ? _T_226 : _T_993_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215430.4]
+  assign _T_996 = _T_957 == 5'h14; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@215431.4]
+  assign _T_997_bits = _T_996 ? _T_843_bits : _T_995_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215432.4]
+  assign _T_997_rd = _T_996 ? _T_843_rd : _T_995_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215432.4]
+  assign _T_997_rs1 = _T_996 ? _T_843_rs1 : _T_995_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215432.4]
+  assign _T_997_rs2 = _T_996 ? _T_843_rs2 : _T_995_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215432.4]
+  assign _T_998 = _T_957 == 5'h15; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@215433.4]
+  assign _T_864_bits = {{3'd0}, _T_859}; // @[RVC.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@215243.4 RVC.scala 22:14:shc.marmotcaravel.MarmotCaravelConfig.fir@215245.4]
+  assign _T_999_bits = _T_998 ? _T_864_bits : _T_997_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215434.4]
+  assign _T_999_rd = _T_998 ? _T_228 : _T_997_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215434.4]
+  assign _T_999_rs1 = _T_998 ? 5'h2 : _T_997_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215434.4]
+  assign _T_999_rs2 = _T_998 ? _T_226 : _T_997_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215434.4]
+  assign _T_1000 = _T_957 == 5'h16; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@215435.4]
+  assign _T_885_bits = {{4'd0}, _T_880}; // @[RVC.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@215269.4 RVC.scala 22:14:shc.marmotcaravel.MarmotCaravelConfig.fir@215271.4]
+  assign _T_1001_bits = _T_1000 ? _T_885_bits : _T_999_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215436.4]
+  assign _T_1001_rd = _T_1000 ? _T_228 : _T_999_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215436.4]
+  assign _T_1001_rs1 = _T_1000 ? 5'h2 : _T_999_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215436.4]
+  assign _T_1001_rs2 = _T_1000 ? _T_226 : _T_999_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215436.4]
+  assign _T_1002 = _T_957 == 5'h17; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@215437.4]
+  assign _T_906_bits = {{4'd0}, _T_901}; // @[RVC.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@215295.4 RVC.scala 22:14:shc.marmotcaravel.MarmotCaravelConfig.fir@215297.4]
+  assign _T_1003_bits = _T_1002 ? _T_906_bits : _T_1001_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215438.4]
+  assign _T_1003_rd = _T_1002 ? _T_228 : _T_1001_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215438.4]
+  assign _T_1003_rs1 = _T_1002 ? 5'h2 : _T_1001_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215438.4]
+  assign _T_1003_rs2 = _T_1002 ? _T_226 : _T_1001_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215438.4]
+  assign _T_1004 = _T_957 == 5'h18; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@215439.4]
+  assign _T_1005_bits = _T_1004 ? io_in : _T_1003_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215440.4]
+  assign _T_1005_rd = _T_1004 ? _T_228 : _T_1003_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215440.4]
+  assign _T_1005_rs1 = _T_1004 ? _T_908 : _T_1003_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215440.4]
+  assign _T_1005_rs2 = _T_1004 ? _T_909 : _T_1003_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215440.4]
+  assign _T_1006 = _T_957 == 5'h19; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@215441.4]
+  assign _T_1007_bits = _T_1006 ? io_in : _T_1005_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215442.4]
+  assign _T_1007_rd = _T_1006 ? _T_228 : _T_1005_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215442.4]
+  assign _T_1007_rs1 = _T_1006 ? _T_908 : _T_1005_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215442.4]
+  assign _T_1007_rs2 = _T_1006 ? _T_909 : _T_1005_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215442.4]
+  assign _T_1008 = _T_957 == 5'h1a; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@215443.4]
+  assign _T_1009_bits = _T_1008 ? io_in : _T_1007_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215444.4]
+  assign _T_1009_rd = _T_1008 ? _T_228 : _T_1007_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215444.4]
+  assign _T_1009_rs1 = _T_1008 ? _T_908 : _T_1007_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215444.4]
+  assign _T_1009_rs2 = _T_1008 ? _T_909 : _T_1007_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215444.4]
+  assign _T_1010 = _T_957 == 5'h1b; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@215445.4]
+  assign _T_1011_bits = _T_1010 ? io_in : _T_1009_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215446.4]
+  assign _T_1011_rd = _T_1010 ? _T_228 : _T_1009_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215446.4]
+  assign _T_1011_rs1 = _T_1010 ? _T_908 : _T_1009_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215446.4]
+  assign _T_1011_rs2 = _T_1010 ? _T_909 : _T_1009_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215446.4]
+  assign _T_1012 = _T_957 == 5'h1c; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@215447.4]
+  assign _T_1013_bits = _T_1012 ? io_in : _T_1011_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215448.4]
+  assign _T_1013_rd = _T_1012 ? _T_228 : _T_1011_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215448.4]
+  assign _T_1013_rs1 = _T_1012 ? _T_908 : _T_1011_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215448.4]
+  assign _T_1013_rs2 = _T_1012 ? _T_909 : _T_1011_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215448.4]
+  assign _T_1014 = _T_957 == 5'h1d; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@215449.4]
+  assign _T_1015_bits = _T_1014 ? io_in : _T_1013_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215450.4]
+  assign _T_1015_rd = _T_1014 ? _T_228 : _T_1013_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215450.4]
+  assign _T_1015_rs1 = _T_1014 ? _T_908 : _T_1013_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215450.4]
+  assign _T_1015_rs2 = _T_1014 ? _T_909 : _T_1013_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215450.4]
+  assign _T_1016 = _T_957 == 5'h1e; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@215451.4]
+  assign _T_1017_bits = _T_1016 ? io_in : _T_1015_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215452.4]
+  assign _T_1017_rd = _T_1016 ? _T_228 : _T_1015_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215452.4]
+  assign _T_1017_rs1 = _T_1016 ? _T_908 : _T_1015_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215452.4]
+  assign _T_1017_rs2 = _T_1016 ? _T_909 : _T_1015_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215452.4]
+  assign _T_1018 = _T_957 == 5'h1f; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@215453.4]
+  assign io_out_bits = _T_1018 ? io_in : _T_1017_bits; // @[RVC.scala 164:12:shc.marmotcaravel.MarmotCaravelConfig.fir@215455.4]
+  assign io_out_rd = _T_1018 ? _T_228 : _T_1017_rd; // @[RVC.scala 164:12:shc.marmotcaravel.MarmotCaravelConfig.fir@215455.4]
+  assign io_out_rs1 = _T_1018 ? _T_908 : _T_1017_rs1; // @[RVC.scala 164:12:shc.marmotcaravel.MarmotCaravelConfig.fir@215455.4]
+  assign io_out_rs2 = _T_1018 ? _T_909 : _T_1017_rs2; // @[RVC.scala 164:12:shc.marmotcaravel.MarmotCaravelConfig.fir@215455.4]
+  assign io_rvc = _T_6 != 2'h3; // @[RVC.scala 163:12:shc.marmotcaravel.MarmotCaravelConfig.fir@214262.4]
+endmodule
+module IBuf( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215457.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215458.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215459.4]
+  output        io_imem_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215460.4]
+  input         io_imem_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215460.4]
+  input         io_imem_bits_btb_taken, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215460.4]
+  input         io_imem_bits_btb_bridx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215460.4]
+  input  [4:0]  io_imem_bits_btb_entry, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215460.4]
+  input  [7:0]  io_imem_bits_btb_bht_history, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215460.4]
+  input  [31:0] io_imem_bits_pc, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215460.4]
+  input  [31:0] io_imem_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215460.4]
+  input         io_imem_bits_xcpt_ae_inst, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215460.4]
+  input         io_imem_bits_replay, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215460.4]
+  input         io_kill, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215460.4]
+  output [31:0] io_pc, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215460.4]
+  output [4:0]  io_btb_resp_entry, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215460.4]
+  output [7:0]  io_btb_resp_bht_history, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215460.4]
+  input         io_inst_0_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215460.4]
+  output        io_inst_0_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215460.4]
+  output        io_inst_0_bits_xcpt0_pf_inst, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215460.4]
+  output        io_inst_0_bits_xcpt0_ae_inst, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215460.4]
+  output        io_inst_0_bits_xcpt1_pf_inst, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215460.4]
+  output        io_inst_0_bits_xcpt1_ae_inst, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215460.4]
+  output        io_inst_0_bits_replay, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215460.4]
+  output        io_inst_0_bits_rvc, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215460.4]
+  output [31:0] io_inst_0_bits_inst_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215460.4]
+  output [4:0]  io_inst_0_bits_inst_rd, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215460.4]
+  output [4:0]  io_inst_0_bits_inst_rs1, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215460.4]
+  output [4:0]  io_inst_0_bits_inst_rs2, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215460.4]
+  output [31:0] io_inst_0_bits_raw // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215460.4]
+);
+  wire [31:0] RVCExpander_io_in; // @[IBuf.scala 86:21:shc.marmotcaravel.MarmotCaravelConfig.fir@215596.4]
+  wire [31:0] RVCExpander_io_out_bits; // @[IBuf.scala 86:21:shc.marmotcaravel.MarmotCaravelConfig.fir@215596.4]
+  wire [4:0] RVCExpander_io_out_rd; // @[IBuf.scala 86:21:shc.marmotcaravel.MarmotCaravelConfig.fir@215596.4]
+  wire [4:0] RVCExpander_io_out_rs1; // @[IBuf.scala 86:21:shc.marmotcaravel.MarmotCaravelConfig.fir@215596.4]
+  wire [4:0] RVCExpander_io_out_rs2; // @[IBuf.scala 86:21:shc.marmotcaravel.MarmotCaravelConfig.fir@215596.4]
+  wire  RVCExpander_io_rvc; // @[IBuf.scala 86:21:shc.marmotcaravel.MarmotCaravelConfig.fir@215596.4]
+  reg  nBufValid; // @[IBuf.scala 34:47:shc.marmotcaravel.MarmotCaravelConfig.fir@215465.4]
+  reg [31:0] _RAND_0;
+  reg [31:0] buf__pc; // @[IBuf.scala 35:16:shc.marmotcaravel.MarmotCaravelConfig.fir@215466.4]
+  reg [31:0] _RAND_1;
+  reg [31:0] buf__data; // @[IBuf.scala 35:16:shc.marmotcaravel.MarmotCaravelConfig.fir@215466.4]
+  reg [31:0] _RAND_2;
+  reg  buf__xcpt_pf_inst; // @[IBuf.scala 35:16:shc.marmotcaravel.MarmotCaravelConfig.fir@215466.4]
+  reg [31:0] _RAND_3;
+  reg  buf__xcpt_ae_inst; // @[IBuf.scala 35:16:shc.marmotcaravel.MarmotCaravelConfig.fir@215466.4]
+  reg [31:0] _RAND_4;
+  reg  buf__replay; // @[IBuf.scala 35:16:shc.marmotcaravel.MarmotCaravelConfig.fir@215466.4]
+  reg [31:0] _RAND_5;
+  reg [4:0] ibufBTBResp_entry; // @[IBuf.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@215467.4]
+  reg [31:0] _RAND_6;
+  reg [7:0] ibufBTBResp_bht_history; // @[IBuf.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@215467.4]
+  reg [31:0] _RAND_7;
+  wire  pcWordBits; // @[package.scala 119:13:shc.marmotcaravel.MarmotCaravelConfig.fir@215468.4]
+  wire [1:0] _T_25; // @[IBuf.scala 41:64:shc.marmotcaravel.MarmotCaravelConfig.fir@215472.4]
+  wire [1:0] _T_26; // @[IBuf.scala 41:16:shc.marmotcaravel.MarmotCaravelConfig.fir@215473.4]
+  wire [1:0] _GEN_56; // @[IBuf.scala 41:88:shc.marmotcaravel.MarmotCaravelConfig.fir@215474.4]
+  wire [2:0] _T_27; // @[IBuf.scala 41:88:shc.marmotcaravel.MarmotCaravelConfig.fir@215474.4]
+  wire [2:0] _T_28; // @[IBuf.scala 41:88:shc.marmotcaravel.MarmotCaravelConfig.fir@215475.4]
+  wire [1:0] nIC; // @[IBuf.scala 41:88:shc.marmotcaravel.MarmotCaravelConfig.fir@215476.4]
+  wire [1:0] _T_31; // @[IBuf.scala 43:19:shc.marmotcaravel.MarmotCaravelConfig.fir@215480.4]
+  wire [1:0] _GEN_57; // @[IBuf.scala 43:49:shc.marmotcaravel.MarmotCaravelConfig.fir@215481.4]
+  wire [1:0] nValid; // @[IBuf.scala 43:49:shc.marmotcaravel.MarmotCaravelConfig.fir@215482.4]
+  wire [3:0] _T_94; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@215562.4]
+  wire [4:0] _T_95; // @[IBuf.scala 74:33:shc.marmotcaravel.MarmotCaravelConfig.fir@215563.4]
+  wire [4:0] _T_96; // @[IBuf.scala 74:33:shc.marmotcaravel.MarmotCaravelConfig.fir@215564.4]
+  wire [3:0] _T_97; // @[IBuf.scala 74:33:shc.marmotcaravel.MarmotCaravelConfig.fir@215565.4]
+  wire [1:0] valid; // @[IBuf.scala 74:37:shc.marmotcaravel.MarmotCaravelConfig.fir@215566.4]
+  wire [1:0] _T_127; // @[IBuf.scala 93:42:shc.marmotcaravel.MarmotCaravelConfig.fir@215614.4]
+  wire  _T_128; // @[IBuf.scala 93:42:shc.marmotcaravel.MarmotCaravelConfig.fir@215615.4]
+  wire  _T_129; // @[IBuf.scala 93:34:shc.marmotcaravel.MarmotCaravelConfig.fir@215616.4]
+  wire [1:0] _T_98; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@215567.4]
+  wire [2:0] _T_99; // @[IBuf.scala 75:37:shc.marmotcaravel.MarmotCaravelConfig.fir@215568.4]
+  wire [2:0] _T_100; // @[IBuf.scala 75:37:shc.marmotcaravel.MarmotCaravelConfig.fir@215569.4]
+  wire [1:0] bufMask; // @[IBuf.scala 75:37:shc.marmotcaravel.MarmotCaravelConfig.fir@215570.4]
+  wire [1:0] buf_replay; // @[IBuf.scala 77:23:shc.marmotcaravel.MarmotCaravelConfig.fir@215575.4]
+  wire [1:0] _T_130; // @[IBuf.scala 93:61:shc.marmotcaravel.MarmotCaravelConfig.fir@215617.4]
+  wire  _T_131; // @[IBuf.scala 93:61:shc.marmotcaravel.MarmotCaravelConfig.fir@215618.4]
+  wire  _T_132; // @[IBuf.scala 93:48:shc.marmotcaravel.MarmotCaravelConfig.fir@215619.4]
+  wire [1:0] _T_165; // @[IBuf.scala 102:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215663.6]
+  wire [1:0] nReady; // @[IBuf.scala 102:56:shc.marmotcaravel.MarmotCaravelConfig.fir@215658.4]
+  wire [2:0] _T_29; // @[IBuf.scala 42:25:shc.marmotcaravel.MarmotCaravelConfig.fir@215477.4]
+  wire [2:0] _T_30; // @[IBuf.scala 42:25:shc.marmotcaravel.MarmotCaravelConfig.fir@215478.4]
+  wire [1:0] nICReady; // @[IBuf.scala 42:25:shc.marmotcaravel.MarmotCaravelConfig.fir@215479.4]
+  wire  _T_33; // @[IBuf.scala 44:47:shc.marmotcaravel.MarmotCaravelConfig.fir@215483.4]
+  wire  _T_34; // @[IBuf.scala 44:37:shc.marmotcaravel.MarmotCaravelConfig.fir@215484.4]
+  wire  _T_35; // @[IBuf.scala 44:73:shc.marmotcaravel.MarmotCaravelConfig.fir@215485.4]
+  wire [2:0] _T_36; // @[IBuf.scala 44:92:shc.marmotcaravel.MarmotCaravelConfig.fir@215486.4]
+  wire [2:0] _T_37; // @[IBuf.scala 44:92:shc.marmotcaravel.MarmotCaravelConfig.fir@215487.4]
+  wire [1:0] _T_38; // @[IBuf.scala 44:92:shc.marmotcaravel.MarmotCaravelConfig.fir@215488.4]
+  wire  _T_39; // @[IBuf.scala 44:85:shc.marmotcaravel.MarmotCaravelConfig.fir@215489.4]
+  wire  _T_40; // @[IBuf.scala 44:80:shc.marmotcaravel.MarmotCaravelConfig.fir@215490.4]
+  wire [2:0] _T_43; // @[IBuf.scala 48:64:shc.marmotcaravel.MarmotCaravelConfig.fir@215495.6]
+  wire [2:0] _T_44; // @[IBuf.scala 48:64:shc.marmotcaravel.MarmotCaravelConfig.fir@215496.6]
+  wire [1:0] _T_45; // @[IBuf.scala 48:64:shc.marmotcaravel.MarmotCaravelConfig.fir@215497.6]
+  wire [1:0] _T_46; // @[IBuf.scala 48:23:shc.marmotcaravel.MarmotCaravelConfig.fir@215498.6]
+  wire  _T_48; // @[IBuf.scala 54:27:shc.marmotcaravel.MarmotCaravelConfig.fir@215501.6]
+  wire  _T_49; // @[IBuf.scala 54:62:shc.marmotcaravel.MarmotCaravelConfig.fir@215502.6]
+  wire  _T_50; // @[IBuf.scala 54:50:shc.marmotcaravel.MarmotCaravelConfig.fir@215503.6]
+  wire  _T_55; // @[IBuf.scala 54:68:shc.marmotcaravel.MarmotCaravelConfig.fir@215508.6]
+  wire [1:0] _T_57; // @[IBuf.scala 55:32:shc.marmotcaravel.MarmotCaravelConfig.fir@215511.8]
+  wire [15:0] _T_61; // @[IBuf.scala 127:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215517.8]
+  wire [31:0] _T_62; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215518.8]
+  wire [63:0] _T_63; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215519.8]
+  wire [5:0] _GEN_64; // @[IBuf.scala 128:19:shc.marmotcaravel.MarmotCaravelConfig.fir@215520.8]
+  wire [5:0] _T_64; // @[IBuf.scala 128:19:shc.marmotcaravel.MarmotCaravelConfig.fir@215520.8]
+  wire [63:0] _T_65; // @[IBuf.scala 128:10:shc.marmotcaravel.MarmotCaravelConfig.fir@215521.8]
+  wire [15:0] _T_66; // @[IBuf.scala 58:61:shc.marmotcaravel.MarmotCaravelConfig.fir@215522.8]
+  wire [31:0] _T_68; // @[IBuf.scala 59:35:shc.marmotcaravel.MarmotCaravelConfig.fir@215525.8]
+  wire [2:0] _GEN_65; // @[IBuf.scala 59:80:shc.marmotcaravel.MarmotCaravelConfig.fir@215526.8]
+  wire [2:0] _T_69; // @[IBuf.scala 59:80:shc.marmotcaravel.MarmotCaravelConfig.fir@215526.8]
+  wire [31:0] _GEN_66; // @[IBuf.scala 59:68:shc.marmotcaravel.MarmotCaravelConfig.fir@215527.8]
+  wire [31:0] _T_71; // @[IBuf.scala 59:68:shc.marmotcaravel.MarmotCaravelConfig.fir@215528.8]
+  wire [31:0] _T_72; // @[IBuf.scala 59:109:shc.marmotcaravel.MarmotCaravelConfig.fir@215529.8]
+  wire [31:0] _T_73; // @[IBuf.scala 59:49:shc.marmotcaravel.MarmotCaravelConfig.fir@215530.8]
+  wire [1:0] _GEN_0; // @[IBuf.scala 54:92:shc.marmotcaravel.MarmotCaravelConfig.fir@215509.6]
+  wire [1:0] _GEN_23; // @[IBuf.scala 47:29:shc.marmotcaravel.MarmotCaravelConfig.fir@215493.4]
+  wire [1:0] _GEN_46; // @[IBuf.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@215535.4]
+  wire [1:0] _T_75; // @[IBuf.scala 68:32:shc.marmotcaravel.MarmotCaravelConfig.fir@215539.4]
+  wire [2:0] _T_76; // @[IBuf.scala 68:44:shc.marmotcaravel.MarmotCaravelConfig.fir@215540.4]
+  wire [2:0] _T_77; // @[IBuf.scala 68:44:shc.marmotcaravel.MarmotCaravelConfig.fir@215541.4]
+  wire [1:0] icShiftAmt; // @[IBuf.scala 68:44:shc.marmotcaravel.MarmotCaravelConfig.fir@215542.4]
+  wire [15:0] _T_79; // @[IBuf.scala 69:87:shc.marmotcaravel.MarmotCaravelConfig.fir@215544.4]
+  wire [31:0] _T_80; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215545.4]
+  wire [63:0] _T_81; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215546.4]
+  wire [15:0] _T_82; // @[IBuf.scala 120:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215547.4]
+  wire [31:0] _T_83; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215548.4]
+  wire [63:0] _T_84; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215549.4]
+  wire [127:0] _T_85; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215550.4]
+  wire [5:0] _GEN_69; // @[IBuf.scala 121:19:shc.marmotcaravel.MarmotCaravelConfig.fir@215551.4]
+  wire [5:0] _T_86; // @[IBuf.scala 121:19:shc.marmotcaravel.MarmotCaravelConfig.fir@215551.4]
+  wire [190:0] _GEN_70; // @[IBuf.scala 121:10:shc.marmotcaravel.MarmotCaravelConfig.fir@215552.4]
+  wire [190:0] _T_87; // @[IBuf.scala 121:10:shc.marmotcaravel.MarmotCaravelConfig.fir@215552.4]
+  wire [31:0] icData; // @[package.scala 119:13:shc.marmotcaravel.MarmotCaravelConfig.fir@215553.4]
+  wire [4:0] _GEN_71; // @[IBuf.scala 71:65:shc.marmotcaravel.MarmotCaravelConfig.fir@215555.4]
+  wire [4:0] _T_89; // @[IBuf.scala 71:65:shc.marmotcaravel.MarmotCaravelConfig.fir@215555.4]
+  wire [62:0] _T_90; // @[IBuf.scala 71:51:shc.marmotcaravel.MarmotCaravelConfig.fir@215556.4]
+  wire [31:0] icMask; // @[IBuf.scala 71:92:shc.marmotcaravel.MarmotCaravelConfig.fir@215557.4]
+  wire [31:0] _T_91; // @[IBuf.scala 72:21:shc.marmotcaravel.MarmotCaravelConfig.fir@215558.4]
+  wire [31:0] _T_92; // @[IBuf.scala 72:43:shc.marmotcaravel.MarmotCaravelConfig.fir@215559.4]
+  wire [31:0] _T_93; // @[IBuf.scala 72:41:shc.marmotcaravel.MarmotCaravelConfig.fir@215560.4]
+  wire  _T_101; // @[IBuf.scala 76:61:shc.marmotcaravel.MarmotCaravelConfig.fir@215571.4]
+  wire  _T_102; // @[IBuf.scala 76:61:shc.marmotcaravel.MarmotCaravelConfig.fir@215573.4]
+  wire  xcpt_1_pf_inst; // @[IBuf.scala 76:53:shc.marmotcaravel.MarmotCaravelConfig.fir@215574.4]
+  wire  xcpt_1_ae_inst; // @[IBuf.scala 76:53:shc.marmotcaravel.MarmotCaravelConfig.fir@215574.4]
+  wire [1:0] _T_103; // @[IBuf.scala 78:65:shc.marmotcaravel.MarmotCaravelConfig.fir@215576.4]
+  wire [1:0] _T_104; // @[IBuf.scala 78:63:shc.marmotcaravel.MarmotCaravelConfig.fir@215577.4]
+  wire [1:0] _T_105; // @[IBuf.scala 78:35:shc.marmotcaravel.MarmotCaravelConfig.fir@215578.4]
+  wire [1:0] ic_replay; // @[IBuf.scala 78:30:shc.marmotcaravel.MarmotCaravelConfig.fir@215579.4]
+  wire  _T_106; // @[IBuf.scala 79:10:shc.marmotcaravel.MarmotCaravelConfig.fir@215580.4]
+  wire  _T_107; // @[IBuf.scala 79:28:shc.marmotcaravel.MarmotCaravelConfig.fir@215581.4]
+  wire  _T_108; // @[IBuf.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@215582.4]
+  wire  _T_109; // @[IBuf.scala 79:78:shc.marmotcaravel.MarmotCaravelConfig.fir@215583.4]
+  wire  _T_110; // @[IBuf.scala 79:52:shc.marmotcaravel.MarmotCaravelConfig.fir@215584.4]
+  wire  _T_112; // @[IBuf.scala 79:9:shc.marmotcaravel.MarmotCaravelConfig.fir@215586.4]
+  wire  _T_113; // @[IBuf.scala 79:9:shc.marmotcaravel.MarmotCaravelConfig.fir@215587.4]
+  wire  _T_114; // @[IBuf.scala 82:26:shc.marmotcaravel.MarmotCaravelConfig.fir@215593.4]
+  wire [1:0] _T_116; // @[IBuf.scala 92:29:shc.marmotcaravel.MarmotCaravelConfig.fir@215603.4]
+  wire  _T_117; // @[IBuf.scala 92:29:shc.marmotcaravel.MarmotCaravelConfig.fir@215604.4]
+  wire  _T_118; // @[IBuf.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@215605.4]
+  wire [1:0] _T_121; // @[IBuf.scala 92:61:shc.marmotcaravel.MarmotCaravelConfig.fir@215608.4]
+  wire  _T_122; // @[IBuf.scala 92:61:shc.marmotcaravel.MarmotCaravelConfig.fir@215609.4]
+  wire  _T_123; // @[IBuf.scala 92:49:shc.marmotcaravel.MarmotCaravelConfig.fir@215610.4]
+  wire [1:0] _T_133; // @[IBuf.scala 94:32:shc.marmotcaravel.MarmotCaravelConfig.fir@215620.4]
+  wire  _T_134; // @[IBuf.scala 94:32:shc.marmotcaravel.MarmotCaravelConfig.fir@215621.4]
+  wire [1:0] _T_142; // @[IBuf.scala 96:63:shc.marmotcaravel.MarmotCaravelConfig.fir@215631.4]
+  wire [1:0] _T_143; // @[IBuf.scala 96:35:shc.marmotcaravel.MarmotCaravelConfig.fir@215632.4]
+  wire [1:0] _T_151; // @[IBuf.scala 100:21:shc.marmotcaravel.MarmotCaravelConfig.fir@215645.4]
+  wire  _T_152; // @[IBuf.scala 100:21:shc.marmotcaravel.MarmotCaravelConfig.fir@215646.4]
+  wire  _T_153; // @[IBuf.scala 100:25:shc.marmotcaravel.MarmotCaravelConfig.fir@215647.4]
+  wire [1:0] _T_156; // @[IBuf.scala 100:50:shc.marmotcaravel.MarmotCaravelConfig.fir@215650.4]
+  wire  _T_157; // @[IBuf.scala 100:50:shc.marmotcaravel.MarmotCaravelConfig.fir@215651.4]
+  wire  _T_158; // @[IBuf.scala 100:40:shc.marmotcaravel.MarmotCaravelConfig.fir@215652.4]
+  RVCExpander RVCExpander ( // @[IBuf.scala 86:21:shc.marmotcaravel.MarmotCaravelConfig.fir@215596.4]
+    .io_in(RVCExpander_io_in),
+    .io_out_bits(RVCExpander_io_out_bits),
+    .io_out_rd(RVCExpander_io_out_rd),
+    .io_out_rs1(RVCExpander_io_out_rs1),
+    .io_out_rs2(RVCExpander_io_out_rs2),
+    .io_rvc(RVCExpander_io_rvc)
+  );
+  assign pcWordBits = io_imem_bits_pc[1]; // @[package.scala 119:13:shc.marmotcaravel.MarmotCaravelConfig.fir@215468.4]
+  assign _T_25 = io_imem_bits_btb_bridx + 1'h1; // @[IBuf.scala 41:64:shc.marmotcaravel.MarmotCaravelConfig.fir@215472.4]
+  assign _T_26 = io_imem_bits_btb_taken ? _T_25 : 2'h2; // @[IBuf.scala 41:16:shc.marmotcaravel.MarmotCaravelConfig.fir@215473.4]
+  assign _GEN_56 = {{1'd0}, pcWordBits}; // @[IBuf.scala 41:88:shc.marmotcaravel.MarmotCaravelConfig.fir@215474.4]
+  assign _T_27 = _T_26 - _GEN_56; // @[IBuf.scala 41:88:shc.marmotcaravel.MarmotCaravelConfig.fir@215474.4]
+  assign _T_28 = $unsigned(_T_27); // @[IBuf.scala 41:88:shc.marmotcaravel.MarmotCaravelConfig.fir@215475.4]
+  assign nIC = _T_28[1:0]; // @[IBuf.scala 41:88:shc.marmotcaravel.MarmotCaravelConfig.fir@215476.4]
+  assign _T_31 = io_imem_valid ? nIC : 2'h0; // @[IBuf.scala 43:19:shc.marmotcaravel.MarmotCaravelConfig.fir@215480.4]
+  assign _GEN_57 = {{1'd0}, nBufValid}; // @[IBuf.scala 43:49:shc.marmotcaravel.MarmotCaravelConfig.fir@215481.4]
+  assign nValid = _T_31 + _GEN_57; // @[IBuf.scala 43:49:shc.marmotcaravel.MarmotCaravelConfig.fir@215482.4]
+  assign _T_94 = 4'h1 << nValid; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@215562.4]
+  assign _T_95 = _T_94 - 4'h1; // @[IBuf.scala 74:33:shc.marmotcaravel.MarmotCaravelConfig.fir@215563.4]
+  assign _T_96 = $unsigned(_T_95); // @[IBuf.scala 74:33:shc.marmotcaravel.MarmotCaravelConfig.fir@215564.4]
+  assign _T_97 = _T_96[3:0]; // @[IBuf.scala 74:33:shc.marmotcaravel.MarmotCaravelConfig.fir@215565.4]
+  assign valid = _T_97[1:0]; // @[IBuf.scala 74:37:shc.marmotcaravel.MarmotCaravelConfig.fir@215566.4]
+  assign _T_127 = valid >> 1'h1; // @[IBuf.scala 93:42:shc.marmotcaravel.MarmotCaravelConfig.fir@215614.4]
+  assign _T_128 = _T_127[0]; // @[IBuf.scala 93:42:shc.marmotcaravel.MarmotCaravelConfig.fir@215615.4]
+  assign _T_129 = RVCExpander_io_rvc | _T_128; // @[IBuf.scala 93:34:shc.marmotcaravel.MarmotCaravelConfig.fir@215616.4]
+  assign _T_98 = 2'h1 << nBufValid; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@215567.4]
+  assign _T_99 = _T_98 - 2'h1; // @[IBuf.scala 75:37:shc.marmotcaravel.MarmotCaravelConfig.fir@215568.4]
+  assign _T_100 = $unsigned(_T_99); // @[IBuf.scala 75:37:shc.marmotcaravel.MarmotCaravelConfig.fir@215569.4]
+  assign bufMask = _T_100[1:0]; // @[IBuf.scala 75:37:shc.marmotcaravel.MarmotCaravelConfig.fir@215570.4]
+  assign buf_replay = buf__replay ? bufMask : 2'h0; // @[IBuf.scala 77:23:shc.marmotcaravel.MarmotCaravelConfig.fir@215575.4]
+  assign _T_130 = buf_replay >> 1'h0; // @[IBuf.scala 93:61:shc.marmotcaravel.MarmotCaravelConfig.fir@215617.4]
+  assign _T_131 = _T_130[0]; // @[IBuf.scala 93:61:shc.marmotcaravel.MarmotCaravelConfig.fir@215618.4]
+  assign _T_132 = _T_129 | _T_131; // @[IBuf.scala 93:48:shc.marmotcaravel.MarmotCaravelConfig.fir@215619.4]
+  assign _T_165 = RVCExpander_io_rvc ? 2'h1 : 2'h2; // @[IBuf.scala 102:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215663.6]
+  assign nReady = _T_132 ? _T_165 : 2'h0; // @[IBuf.scala 102:56:shc.marmotcaravel.MarmotCaravelConfig.fir@215658.4]
+  assign _T_29 = nReady - _GEN_57; // @[IBuf.scala 42:25:shc.marmotcaravel.MarmotCaravelConfig.fir@215477.4]
+  assign _T_30 = $unsigned(_T_29); // @[IBuf.scala 42:25:shc.marmotcaravel.MarmotCaravelConfig.fir@215478.4]
+  assign nICReady = _T_30[1:0]; // @[IBuf.scala 42:25:shc.marmotcaravel.MarmotCaravelConfig.fir@215479.4]
+  assign _T_33 = nReady >= _GEN_57; // @[IBuf.scala 44:47:shc.marmotcaravel.MarmotCaravelConfig.fir@215483.4]
+  assign _T_34 = io_inst_0_ready & _T_33; // @[IBuf.scala 44:37:shc.marmotcaravel.MarmotCaravelConfig.fir@215484.4]
+  assign _T_35 = nICReady >= nIC; // @[IBuf.scala 44:73:shc.marmotcaravel.MarmotCaravelConfig.fir@215485.4]
+  assign _T_36 = nIC - nICReady; // @[IBuf.scala 44:92:shc.marmotcaravel.MarmotCaravelConfig.fir@215486.4]
+  assign _T_37 = $unsigned(_T_36); // @[IBuf.scala 44:92:shc.marmotcaravel.MarmotCaravelConfig.fir@215487.4]
+  assign _T_38 = _T_37[1:0]; // @[IBuf.scala 44:92:shc.marmotcaravel.MarmotCaravelConfig.fir@215488.4]
+  assign _T_39 = 2'h1 >= _T_38; // @[IBuf.scala 44:85:shc.marmotcaravel.MarmotCaravelConfig.fir@215489.4]
+  assign _T_40 = _T_35 | _T_39; // @[IBuf.scala 44:80:shc.marmotcaravel.MarmotCaravelConfig.fir@215490.4]
+  assign _T_43 = _GEN_57 - nReady; // @[IBuf.scala 48:64:shc.marmotcaravel.MarmotCaravelConfig.fir@215495.6]
+  assign _T_44 = $unsigned(_T_43); // @[IBuf.scala 48:64:shc.marmotcaravel.MarmotCaravelConfig.fir@215496.6]
+  assign _T_45 = _T_44[1:0]; // @[IBuf.scala 48:64:shc.marmotcaravel.MarmotCaravelConfig.fir@215497.6]
+  assign _T_46 = _T_33 ? 2'h0 : _T_45; // @[IBuf.scala 48:23:shc.marmotcaravel.MarmotCaravelConfig.fir@215498.6]
+  assign _T_48 = io_imem_valid & _T_33; // @[IBuf.scala 54:27:shc.marmotcaravel.MarmotCaravelConfig.fir@215501.6]
+  assign _T_49 = nICReady < nIC; // @[IBuf.scala 54:62:shc.marmotcaravel.MarmotCaravelConfig.fir@215502.6]
+  assign _T_50 = _T_48 & _T_49; // @[IBuf.scala 54:50:shc.marmotcaravel.MarmotCaravelConfig.fir@215503.6]
+  assign _T_55 = _T_50 & _T_39; // @[IBuf.scala 54:68:shc.marmotcaravel.MarmotCaravelConfig.fir@215508.6]
+  assign _T_57 = _GEN_56 + nICReady; // @[IBuf.scala 55:32:shc.marmotcaravel.MarmotCaravelConfig.fir@215511.8]
+  assign _T_61 = io_imem_bits_data[31:16]; // @[IBuf.scala 127:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215517.8]
+  assign _T_62 = {_T_61,_T_61}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215518.8]
+  assign _T_63 = {_T_62,io_imem_bits_data}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215519.8]
+  assign _GEN_64 = {{4'd0}, _T_57}; // @[IBuf.scala 128:19:shc.marmotcaravel.MarmotCaravelConfig.fir@215520.8]
+  assign _T_64 = _GEN_64 << 4; // @[IBuf.scala 128:19:shc.marmotcaravel.MarmotCaravelConfig.fir@215520.8]
+  assign _T_65 = _T_63 >> _T_64; // @[IBuf.scala 128:10:shc.marmotcaravel.MarmotCaravelConfig.fir@215521.8]
+  assign _T_66 = _T_65[15:0]; // @[IBuf.scala 58:61:shc.marmotcaravel.MarmotCaravelConfig.fir@215522.8]
+  assign _T_68 = io_imem_bits_pc & 32'hfffffffc; // @[IBuf.scala 59:35:shc.marmotcaravel.MarmotCaravelConfig.fir@215525.8]
+  assign _GEN_65 = {{1'd0}, nICReady}; // @[IBuf.scala 59:80:shc.marmotcaravel.MarmotCaravelConfig.fir@215526.8]
+  assign _T_69 = _GEN_65 << 1; // @[IBuf.scala 59:80:shc.marmotcaravel.MarmotCaravelConfig.fir@215526.8]
+  assign _GEN_66 = {{29'd0}, _T_69}; // @[IBuf.scala 59:68:shc.marmotcaravel.MarmotCaravelConfig.fir@215527.8]
+  assign _T_71 = io_imem_bits_pc + _GEN_66; // @[IBuf.scala 59:68:shc.marmotcaravel.MarmotCaravelConfig.fir@215528.8]
+  assign _T_72 = _T_71 & 32'h3; // @[IBuf.scala 59:109:shc.marmotcaravel.MarmotCaravelConfig.fir@215529.8]
+  assign _T_73 = _T_68 | _T_72; // @[IBuf.scala 59:49:shc.marmotcaravel.MarmotCaravelConfig.fir@215530.8]
+  assign _GEN_0 = _T_55 ? _T_38 : _T_46; // @[IBuf.scala 54:92:shc.marmotcaravel.MarmotCaravelConfig.fir@215509.6]
+  assign _GEN_23 = io_inst_0_ready ? _GEN_0 : {{1'd0}, nBufValid}; // @[IBuf.scala 47:29:shc.marmotcaravel.MarmotCaravelConfig.fir@215493.4]
+  assign _GEN_46 = io_kill ? 2'h0 : _GEN_23; // @[IBuf.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@215535.4]
+  assign _T_75 = 2'h2 + _GEN_57; // @[IBuf.scala 68:32:shc.marmotcaravel.MarmotCaravelConfig.fir@215539.4]
+  assign _T_76 = _T_75 - _GEN_56; // @[IBuf.scala 68:44:shc.marmotcaravel.MarmotCaravelConfig.fir@215540.4]
+  assign _T_77 = $unsigned(_T_76); // @[IBuf.scala 68:44:shc.marmotcaravel.MarmotCaravelConfig.fir@215541.4]
+  assign icShiftAmt = _T_77[1:0]; // @[IBuf.scala 68:44:shc.marmotcaravel.MarmotCaravelConfig.fir@215542.4]
+  assign _T_79 = io_imem_bits_data[15:0]; // @[IBuf.scala 69:87:shc.marmotcaravel.MarmotCaravelConfig.fir@215544.4]
+  assign _T_80 = {_T_79,_T_79}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215545.4]
+  assign _T_81 = {io_imem_bits_data,_T_80}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215546.4]
+  assign _T_82 = _T_81[63:48]; // @[IBuf.scala 120:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215547.4]
+  assign _T_83 = {_T_82,_T_82}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215548.4]
+  assign _T_84 = {_T_83,_T_83}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215549.4]
+  assign _T_85 = {_T_84,_T_81}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215550.4]
+  assign _GEN_69 = {{4'd0}, icShiftAmt}; // @[IBuf.scala 121:19:shc.marmotcaravel.MarmotCaravelConfig.fir@215551.4]
+  assign _T_86 = _GEN_69 << 4; // @[IBuf.scala 121:19:shc.marmotcaravel.MarmotCaravelConfig.fir@215551.4]
+  assign _GEN_70 = {{63'd0}, _T_85}; // @[IBuf.scala 121:10:shc.marmotcaravel.MarmotCaravelConfig.fir@215552.4]
+  assign _T_87 = _GEN_70 << _T_86; // @[IBuf.scala 121:10:shc.marmotcaravel.MarmotCaravelConfig.fir@215552.4]
+  assign icData = _T_87[95:64]; // @[package.scala 119:13:shc.marmotcaravel.MarmotCaravelConfig.fir@215553.4]
+  assign _GEN_71 = {{4'd0}, nBufValid}; // @[IBuf.scala 71:65:shc.marmotcaravel.MarmotCaravelConfig.fir@215555.4]
+  assign _T_89 = _GEN_71 << 4; // @[IBuf.scala 71:65:shc.marmotcaravel.MarmotCaravelConfig.fir@215555.4]
+  assign _T_90 = 63'hffffffff << _T_89; // @[IBuf.scala 71:51:shc.marmotcaravel.MarmotCaravelConfig.fir@215556.4]
+  assign icMask = _T_90[31:0]; // @[IBuf.scala 71:92:shc.marmotcaravel.MarmotCaravelConfig.fir@215557.4]
+  assign _T_91 = icData & icMask; // @[IBuf.scala 72:21:shc.marmotcaravel.MarmotCaravelConfig.fir@215558.4]
+  assign _T_92 = ~ icMask; // @[IBuf.scala 72:43:shc.marmotcaravel.MarmotCaravelConfig.fir@215559.4]
+  assign _T_93 = buf__data & _T_92; // @[IBuf.scala 72:41:shc.marmotcaravel.MarmotCaravelConfig.fir@215560.4]
+  assign _T_101 = bufMask[0]; // @[IBuf.scala 76:61:shc.marmotcaravel.MarmotCaravelConfig.fir@215571.4]
+  assign _T_102 = bufMask[1]; // @[IBuf.scala 76:61:shc.marmotcaravel.MarmotCaravelConfig.fir@215573.4]
+  assign xcpt_1_pf_inst = _T_102 ? buf__xcpt_pf_inst : 1'h0; // @[IBuf.scala 76:53:shc.marmotcaravel.MarmotCaravelConfig.fir@215574.4]
+  assign xcpt_1_ae_inst = _T_102 ? buf__xcpt_ae_inst : io_imem_bits_xcpt_ae_inst; // @[IBuf.scala 76:53:shc.marmotcaravel.MarmotCaravelConfig.fir@215574.4]
+  assign _T_103 = ~ bufMask; // @[IBuf.scala 78:65:shc.marmotcaravel.MarmotCaravelConfig.fir@215576.4]
+  assign _T_104 = valid & _T_103; // @[IBuf.scala 78:63:shc.marmotcaravel.MarmotCaravelConfig.fir@215577.4]
+  assign _T_105 = io_imem_bits_replay ? _T_104 : 2'h0; // @[IBuf.scala 78:35:shc.marmotcaravel.MarmotCaravelConfig.fir@215578.4]
+  assign ic_replay = buf_replay | _T_105; // @[IBuf.scala 78:30:shc.marmotcaravel.MarmotCaravelConfig.fir@215579.4]
+  assign _T_106 = io_imem_valid == 1'h0; // @[IBuf.scala 79:10:shc.marmotcaravel.MarmotCaravelConfig.fir@215580.4]
+  assign _T_107 = io_imem_bits_btb_taken == 1'h0; // @[IBuf.scala 79:28:shc.marmotcaravel.MarmotCaravelConfig.fir@215581.4]
+  assign _T_108 = _T_106 | _T_107; // @[IBuf.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@215582.4]
+  assign _T_109 = io_imem_bits_btb_bridx >= pcWordBits; // @[IBuf.scala 79:78:shc.marmotcaravel.MarmotCaravelConfig.fir@215583.4]
+  assign _T_110 = _T_108 | _T_109; // @[IBuf.scala 79:52:shc.marmotcaravel.MarmotCaravelConfig.fir@215584.4]
+  assign _T_112 = _T_110 | reset; // @[IBuf.scala 79:9:shc.marmotcaravel.MarmotCaravelConfig.fir@215586.4]
+  assign _T_113 = _T_112 == 1'h0; // @[IBuf.scala 79:9:shc.marmotcaravel.MarmotCaravelConfig.fir@215587.4]
+  assign _T_114 = nBufValid > 1'h0; // @[IBuf.scala 82:26:shc.marmotcaravel.MarmotCaravelConfig.fir@215593.4]
+  assign _T_116 = ic_replay >> 1'h0; // @[IBuf.scala 92:29:shc.marmotcaravel.MarmotCaravelConfig.fir@215603.4]
+  assign _T_117 = _T_116[0]; // @[IBuf.scala 92:29:shc.marmotcaravel.MarmotCaravelConfig.fir@215604.4]
+  assign _T_118 = RVCExpander_io_rvc == 1'h0; // @[IBuf.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@215605.4]
+  assign _T_121 = ic_replay >> 1'h1; // @[IBuf.scala 92:61:shc.marmotcaravel.MarmotCaravelConfig.fir@215608.4]
+  assign _T_122 = _T_121[0]; // @[IBuf.scala 92:61:shc.marmotcaravel.MarmotCaravelConfig.fir@215609.4]
+  assign _T_123 = _T_118 & _T_122; // @[IBuf.scala 92:49:shc.marmotcaravel.MarmotCaravelConfig.fir@215610.4]
+  assign _T_133 = valid >> 1'h0; // @[IBuf.scala 94:32:shc.marmotcaravel.MarmotCaravelConfig.fir@215620.4]
+  assign _T_134 = _T_133[0]; // @[IBuf.scala 94:32:shc.marmotcaravel.MarmotCaravelConfig.fir@215621.4]
+  assign _T_142 = {xcpt_1_pf_inst,xcpt_1_ae_inst}; // @[IBuf.scala 96:63:shc.marmotcaravel.MarmotCaravelConfig.fir@215631.4]
+  assign _T_143 = RVCExpander_io_rvc ? 2'h0 : _T_142; // @[IBuf.scala 96:35:shc.marmotcaravel.MarmotCaravelConfig.fir@215632.4]
+  assign _T_151 = bufMask >> 1'h0; // @[IBuf.scala 100:21:shc.marmotcaravel.MarmotCaravelConfig.fir@215645.4]
+  assign _T_152 = _T_151[0]; // @[IBuf.scala 100:21:shc.marmotcaravel.MarmotCaravelConfig.fir@215646.4]
+  assign _T_153 = _T_152 & RVCExpander_io_rvc; // @[IBuf.scala 100:25:shc.marmotcaravel.MarmotCaravelConfig.fir@215647.4]
+  assign _T_156 = bufMask >> 1'h1; // @[IBuf.scala 100:50:shc.marmotcaravel.MarmotCaravelConfig.fir@215650.4]
+  assign _T_157 = _T_156[0]; // @[IBuf.scala 100:50:shc.marmotcaravel.MarmotCaravelConfig.fir@215651.4]
+  assign _T_158 = _T_153 | _T_157; // @[IBuf.scala 100:40:shc.marmotcaravel.MarmotCaravelConfig.fir@215652.4]
+  assign io_imem_ready = _T_34 & _T_40; // @[IBuf.scala 44:17:shc.marmotcaravel.MarmotCaravelConfig.fir@215492.4]
+  assign io_pc = _T_114 ? buf__pc : io_imem_bits_pc; // @[IBuf.scala 82:9:shc.marmotcaravel.MarmotCaravelConfig.fir@215595.4]
+  assign io_btb_resp_entry = _T_158 ? ibufBTBResp_entry : io_imem_bits_btb_entry; // @[IBuf.scala 81:15:shc.marmotcaravel.MarmotCaravelConfig.fir@215592.4 IBuf.scala 100:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215654.6]
+  assign io_btb_resp_bht_history = _T_158 ? ibufBTBResp_bht_history : io_imem_bits_btb_bht_history; // @[IBuf.scala 81:15:shc.marmotcaravel.MarmotCaravelConfig.fir@215592.4 IBuf.scala 100:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215654.6]
+  assign io_inst_0_valid = _T_134 & _T_132; // @[IBuf.scala 94:24:shc.marmotcaravel.MarmotCaravelConfig.fir@215623.4]
+  assign io_inst_0_bits_xcpt0_pf_inst = _T_101 ? buf__xcpt_pf_inst : 1'h0; // @[IBuf.scala 95:29:shc.marmotcaravel.MarmotCaravelConfig.fir@215626.4]
+  assign io_inst_0_bits_xcpt0_ae_inst = _T_101 ? buf__xcpt_ae_inst : io_imem_bits_xcpt_ae_inst; // @[IBuf.scala 95:29:shc.marmotcaravel.MarmotCaravelConfig.fir@215626.4]
+  assign io_inst_0_bits_xcpt1_pf_inst = _T_143[1]; // @[IBuf.scala 96:29:shc.marmotcaravel.MarmotCaravelConfig.fir@215642.4]
+  assign io_inst_0_bits_xcpt1_ae_inst = _T_143[0]; // @[IBuf.scala 96:29:shc.marmotcaravel.MarmotCaravelConfig.fir@215642.4]
+  assign io_inst_0_bits_replay = _T_117 | _T_123; // @[IBuf.scala 97:30:shc.marmotcaravel.MarmotCaravelConfig.fir@215643.4]
+  assign io_inst_0_bits_rvc = RVCExpander_io_rvc; // @[IBuf.scala 98:27:shc.marmotcaravel.MarmotCaravelConfig.fir@215644.4]
+  assign io_inst_0_bits_inst_bits = RVCExpander_io_out_bits; // @[IBuf.scala 88:26:shc.marmotcaravel.MarmotCaravelConfig.fir@215601.4]
+  assign io_inst_0_bits_inst_rd = RVCExpander_io_out_rd; // @[IBuf.scala 88:26:shc.marmotcaravel.MarmotCaravelConfig.fir@215601.4]
+  assign io_inst_0_bits_inst_rs1 = RVCExpander_io_out_rs1; // @[IBuf.scala 88:26:shc.marmotcaravel.MarmotCaravelConfig.fir@215601.4]
+  assign io_inst_0_bits_inst_rs2 = RVCExpander_io_out_rs2; // @[IBuf.scala 88:26:shc.marmotcaravel.MarmotCaravelConfig.fir@215601.4]
+  assign io_inst_0_bits_raw = _T_91 | _T_93; // @[IBuf.scala 89:25:shc.marmotcaravel.MarmotCaravelConfig.fir@215602.4]
+  assign RVCExpander_io_in = _T_91 | _T_93; // @[IBuf.scala 87:15:shc.marmotcaravel.MarmotCaravelConfig.fir@215600.4]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  nBufValid = _RAND_0[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  buf__pc = _RAND_1[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  buf__data = _RAND_2[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  buf__xcpt_pf_inst = _RAND_3[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  buf__xcpt_ae_inst = _RAND_4[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  buf__replay = _RAND_5[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {1{`RANDOM}};
+  ibufBTBResp_entry = _RAND_6[4:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {1{`RANDOM}};
+  ibufBTBResp_bht_history = _RAND_7[7:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      nBufValid <= 1'h0;
+    end else begin
+      nBufValid <= _GEN_46[0];
+    end
+    if (io_inst_0_ready) begin
+      if (_T_55) begin
+        buf__pc <= _T_73;
+      end
+    end
+    if (io_inst_0_ready) begin
+      if (_T_55) begin
+        buf__data <= {{16'd0}, _T_66};
+      end
+    end
+    if (io_inst_0_ready) begin
+      if (_T_55) begin
+        buf__xcpt_pf_inst <= 1'h0;
+      end
+    end
+    if (io_inst_0_ready) begin
+      if (_T_55) begin
+        buf__xcpt_ae_inst <= io_imem_bits_xcpt_ae_inst;
+      end
+    end
+    if (io_inst_0_ready) begin
+      if (_T_55) begin
+        buf__replay <= io_imem_bits_replay;
+      end
+    end
+    if (io_inst_0_ready) begin
+      if (_T_55) begin
+        ibufBTBResp_entry <= io_imem_bits_btb_entry;
+      end
+    end
+    if (io_inst_0_ready) begin
+      if (_T_55) begin
+        ibufBTBResp_bht_history <= io_imem_bits_btb_bht_history;
+      end
+    end
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_113) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at IBuf.scala:79 assert(!io.imem.valid || !io.imem.bits.btb.taken || io.imem.bits.btb.bridx >= pcWordBits)\n"); // @[IBuf.scala 79:9:shc.marmotcaravel.MarmotCaravelConfig.fir@215589.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_113) begin
+          $fatal; // @[IBuf.scala 79:9:shc.marmotcaravel.MarmotCaravelConfig.fir@215590.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+endmodule
+module CSRFile( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215675.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215676.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215677.4]
+  input         io_ungated_clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  input         io_interrupts_debug, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  input         io_interrupts_mtip, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  input         io_interrupts_msip, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  input         io_interrupts_meip, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  input         io_hartid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  input  [11:0] io_rw_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  input  [2:0]  io_rw_cmd, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  output [31:0] io_rw_rdata, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  input  [31:0] io_rw_wdata, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  input  [11:0] io_decode_0_csr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  output        io_decode_0_fp_illegal, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  output        io_decode_0_fp_csr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  output        io_decode_0_read_illegal, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  output        io_decode_0_write_illegal, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  output        io_decode_0_write_flush, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  output        io_csr_stall, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  output        io_eret, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  output        io_singleStep, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  output        io_status_debug, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  output [31:0] io_status_isa, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  output [1:0]  io_status_dprv, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  output [1:0]  io_status_prv, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  output        io_status_sd, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  output [26:0] io_status_zero2, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  output [1:0]  io_status_sxl, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  output [1:0]  io_status_uxl, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  output        io_status_sd_rv32, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  output [7:0]  io_status_zero1, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  output        io_status_tsr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  output        io_status_tw, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  output        io_status_tvm, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  output        io_status_mxr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  output        io_status_sum, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  output        io_status_mprv, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  output [1:0]  io_status_xs, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  output [1:0]  io_status_fs, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  output [1:0]  io_status_mpp, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  output [1:0]  io_status_hpp, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  output        io_status_spp, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  output        io_status_mpie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  output        io_status_hpie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  output        io_status_spie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  output        io_status_upie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  output        io_status_mie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  output        io_status_hie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  output        io_status_sie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  output        io_status_uie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  output [31:0] io_evec, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  input         io_exception, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  input         io_retire, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  input  [31:0] io_cause, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  input  [31:0] io_pc, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  input  [31:0] io_tval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  output [31:0] io_time, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  output        io_interrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  output [31:0] io_interrupt_cause, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  output        io_bp_0_control_action, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  output        io_bp_0_control_chain, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  output [1:0]  io_bp_0_control_tmatch, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  output        io_bp_0_control_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  output        io_bp_0_control_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  output        io_bp_0_control_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  output [31:0] io_bp_0_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  output        io_bp_1_control_action, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  output [1:0]  io_bp_1_control_tmatch, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  output        io_bp_1_control_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  output        io_bp_1_control_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  output        io_bp_1_control_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  output [31:0] io_bp_1_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  output        io_pmp_0_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  output [1:0]  io_pmp_0_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  output        io_pmp_0_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  output        io_pmp_0_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  output        io_pmp_0_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  output [29:0] io_pmp_0_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  output [31:0] io_pmp_0_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  output        io_pmp_1_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  output [1:0]  io_pmp_1_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  output        io_pmp_1_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  output        io_pmp_1_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  output        io_pmp_1_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  output [29:0] io_pmp_1_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  output [31:0] io_pmp_1_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  output        io_pmp_2_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  output [1:0]  io_pmp_2_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  output        io_pmp_2_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  output        io_pmp_2_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  output        io_pmp_2_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  output [29:0] io_pmp_2_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  output [31:0] io_pmp_2_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  output        io_pmp_3_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  output [1:0]  io_pmp_3_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  output        io_pmp_3_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  output        io_pmp_3_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  output        io_pmp_3_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  output [29:0] io_pmp_3_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  output [31:0] io_pmp_3_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  output        io_pmp_4_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  output [1:0]  io_pmp_4_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  output        io_pmp_4_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  output        io_pmp_4_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  output        io_pmp_4_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  output [29:0] io_pmp_4_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  output [31:0] io_pmp_4_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  output        io_pmp_5_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  output [1:0]  io_pmp_5_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  output        io_pmp_5_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  output        io_pmp_5_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  output        io_pmp_5_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  output [29:0] io_pmp_5_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  output [31:0] io_pmp_5_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  output        io_pmp_6_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  output [1:0]  io_pmp_6_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  output        io_pmp_6_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  output        io_pmp_6_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  output        io_pmp_6_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  output [29:0] io_pmp_6_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  output [31:0] io_pmp_6_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  output        io_pmp_7_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  output [1:0]  io_pmp_7_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  output        io_pmp_7_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  output        io_pmp_7_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  output        io_pmp_7_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  output [29:0] io_pmp_7_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  output [31:0] io_pmp_7_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  input  [31:0] io_inst_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  output        io_trace_0_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  output [31:0] io_trace_0_iaddr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  output [31:0] io_trace_0_insn, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+  output        io_trace_0_exception // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
+);
+  reg [1:0] reg_mstatus_mpp; // @[CSR.scala 236:24:shc.marmotcaravel.MarmotCaravelConfig.fir@215751.4]
+  reg [31:0] _RAND_0;
+  reg  reg_mstatus_spp; // @[CSR.scala 236:24:shc.marmotcaravel.MarmotCaravelConfig.fir@215751.4]
+  reg [31:0] _RAND_1;
+  reg  reg_mstatus_mpie; // @[CSR.scala 236:24:shc.marmotcaravel.MarmotCaravelConfig.fir@215751.4]
+  reg [31:0] _RAND_2;
+  reg  reg_mstatus_mie; // @[CSR.scala 236:24:shc.marmotcaravel.MarmotCaravelConfig.fir@215751.4]
+  reg [31:0] _RAND_3;
+  reg  reg_dcsr_ebreakm; // @[CSR.scala 244:21:shc.marmotcaravel.MarmotCaravelConfig.fir@215794.4]
+  reg [31:0] _RAND_4;
+  reg [2:0] reg_dcsr_cause; // @[CSR.scala 244:21:shc.marmotcaravel.MarmotCaravelConfig.fir@215794.4]
+  reg [31:0] _RAND_5;
+  reg  reg_dcsr_step; // @[CSR.scala 244:21:shc.marmotcaravel.MarmotCaravelConfig.fir@215794.4]
+  reg [31:0] _RAND_6;
+  reg [1:0] reg_dcsr_prv; // @[CSR.scala 244:21:shc.marmotcaravel.MarmotCaravelConfig.fir@215794.4]
+  reg [31:0] _RAND_7;
+  reg  reg_debug; // @[CSR.scala 282:22:shc.marmotcaravel.MarmotCaravelConfig.fir@215850.4]
+  reg [31:0] _RAND_8;
+  reg [31:0] reg_dpc; // @[CSR.scala 283:20:shc.marmotcaravel.MarmotCaravelConfig.fir@215851.4]
+  reg [31:0] _RAND_9;
+  reg [31:0] reg_dscratch; // @[CSR.scala 284:25:shc.marmotcaravel.MarmotCaravelConfig.fir@215852.4]
+  reg [31:0] _RAND_10;
+  reg  reg_singleStepped; // @[CSR.scala 285:30:shc.marmotcaravel.MarmotCaravelConfig.fir@215853.4]
+  reg [31:0] _RAND_11;
+  reg  reg_tselect; // @[CSR.scala 287:24:shc.marmotcaravel.MarmotCaravelConfig.fir@215854.4]
+  reg [31:0] _RAND_12;
+  reg  reg_bp_0_control_dmode; // @[CSR.scala 288:19:shc.marmotcaravel.MarmotCaravelConfig.fir@215855.4]
+  reg [31:0] _RAND_13;
+  reg  reg_bp_0_control_action; // @[CSR.scala 288:19:shc.marmotcaravel.MarmotCaravelConfig.fir@215855.4]
+  reg [31:0] _RAND_14;
+  reg  reg_bp_0_control_chain; // @[CSR.scala 288:19:shc.marmotcaravel.MarmotCaravelConfig.fir@215855.4]
+  reg [31:0] _RAND_15;
+  reg [1:0] reg_bp_0_control_tmatch; // @[CSR.scala 288:19:shc.marmotcaravel.MarmotCaravelConfig.fir@215855.4]
+  reg [31:0] _RAND_16;
+  reg  reg_bp_0_control_x; // @[CSR.scala 288:19:shc.marmotcaravel.MarmotCaravelConfig.fir@215855.4]
+  reg [31:0] _RAND_17;
+  reg  reg_bp_0_control_w; // @[CSR.scala 288:19:shc.marmotcaravel.MarmotCaravelConfig.fir@215855.4]
+  reg [31:0] _RAND_18;
+  reg  reg_bp_0_control_r; // @[CSR.scala 288:19:shc.marmotcaravel.MarmotCaravelConfig.fir@215855.4]
+  reg [31:0] _RAND_19;
+  reg [31:0] reg_bp_0_address; // @[CSR.scala 288:19:shc.marmotcaravel.MarmotCaravelConfig.fir@215855.4]
+  reg [31:0] _RAND_20;
+  reg  reg_bp_1_control_dmode; // @[CSR.scala 288:19:shc.marmotcaravel.MarmotCaravelConfig.fir@215855.4]
+  reg [31:0] _RAND_21;
+  reg  reg_bp_1_control_action; // @[CSR.scala 288:19:shc.marmotcaravel.MarmotCaravelConfig.fir@215855.4]
+  reg [31:0] _RAND_22;
+  reg [1:0] reg_bp_1_control_tmatch; // @[CSR.scala 288:19:shc.marmotcaravel.MarmotCaravelConfig.fir@215855.4]
+  reg [31:0] _RAND_23;
+  reg  reg_bp_1_control_x; // @[CSR.scala 288:19:shc.marmotcaravel.MarmotCaravelConfig.fir@215855.4]
+  reg [31:0] _RAND_24;
+  reg  reg_bp_1_control_w; // @[CSR.scala 288:19:shc.marmotcaravel.MarmotCaravelConfig.fir@215855.4]
+  reg [31:0] _RAND_25;
+  reg  reg_bp_1_control_r; // @[CSR.scala 288:19:shc.marmotcaravel.MarmotCaravelConfig.fir@215855.4]
+  reg [31:0] _RAND_26;
+  reg [31:0] reg_bp_1_address; // @[CSR.scala 288:19:shc.marmotcaravel.MarmotCaravelConfig.fir@215855.4]
+  reg [31:0] _RAND_27;
+  reg  reg_pmp_0_cfg_l; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@215856.4]
+  reg [31:0] _RAND_28;
+  reg [1:0] reg_pmp_0_cfg_a; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@215856.4]
+  reg [31:0] _RAND_29;
+  reg  reg_pmp_0_cfg_x; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@215856.4]
+  reg [31:0] _RAND_30;
+  reg  reg_pmp_0_cfg_w; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@215856.4]
+  reg [31:0] _RAND_31;
+  reg  reg_pmp_0_cfg_r; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@215856.4]
+  reg [31:0] _RAND_32;
+  reg [29:0] reg_pmp_0_addr; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@215856.4]
+  reg [31:0] _RAND_33;
+  reg  reg_pmp_1_cfg_l; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@215856.4]
+  reg [31:0] _RAND_34;
+  reg [1:0] reg_pmp_1_cfg_a; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@215856.4]
+  reg [31:0] _RAND_35;
+  reg  reg_pmp_1_cfg_x; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@215856.4]
+  reg [31:0] _RAND_36;
+  reg  reg_pmp_1_cfg_w; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@215856.4]
+  reg [31:0] _RAND_37;
+  reg  reg_pmp_1_cfg_r; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@215856.4]
+  reg [31:0] _RAND_38;
+  reg [29:0] reg_pmp_1_addr; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@215856.4]
+  reg [31:0] _RAND_39;
+  reg  reg_pmp_2_cfg_l; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@215856.4]
+  reg [31:0] _RAND_40;
+  reg [1:0] reg_pmp_2_cfg_a; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@215856.4]
+  reg [31:0] _RAND_41;
+  reg  reg_pmp_2_cfg_x; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@215856.4]
+  reg [31:0] _RAND_42;
+  reg  reg_pmp_2_cfg_w; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@215856.4]
+  reg [31:0] _RAND_43;
+  reg  reg_pmp_2_cfg_r; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@215856.4]
+  reg [31:0] _RAND_44;
+  reg [29:0] reg_pmp_2_addr; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@215856.4]
+  reg [31:0] _RAND_45;
+  reg  reg_pmp_3_cfg_l; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@215856.4]
+  reg [31:0] _RAND_46;
+  reg [1:0] reg_pmp_3_cfg_a; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@215856.4]
+  reg [31:0] _RAND_47;
+  reg  reg_pmp_3_cfg_x; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@215856.4]
+  reg [31:0] _RAND_48;
+  reg  reg_pmp_3_cfg_w; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@215856.4]
+  reg [31:0] _RAND_49;
+  reg  reg_pmp_3_cfg_r; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@215856.4]
+  reg [31:0] _RAND_50;
+  reg [29:0] reg_pmp_3_addr; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@215856.4]
+  reg [31:0] _RAND_51;
+  reg  reg_pmp_4_cfg_l; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@215856.4]
+  reg [31:0] _RAND_52;
+  reg [1:0] reg_pmp_4_cfg_a; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@215856.4]
+  reg [31:0] _RAND_53;
+  reg  reg_pmp_4_cfg_x; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@215856.4]
+  reg [31:0] _RAND_54;
+  reg  reg_pmp_4_cfg_w; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@215856.4]
+  reg [31:0] _RAND_55;
+  reg  reg_pmp_4_cfg_r; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@215856.4]
+  reg [31:0] _RAND_56;
+  reg [29:0] reg_pmp_4_addr; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@215856.4]
+  reg [31:0] _RAND_57;
+  reg  reg_pmp_5_cfg_l; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@215856.4]
+  reg [31:0] _RAND_58;
+  reg [1:0] reg_pmp_5_cfg_a; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@215856.4]
+  reg [31:0] _RAND_59;
+  reg  reg_pmp_5_cfg_x; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@215856.4]
+  reg [31:0] _RAND_60;
+  reg  reg_pmp_5_cfg_w; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@215856.4]
+  reg [31:0] _RAND_61;
+  reg  reg_pmp_5_cfg_r; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@215856.4]
+  reg [31:0] _RAND_62;
+  reg [29:0] reg_pmp_5_addr; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@215856.4]
+  reg [31:0] _RAND_63;
+  reg  reg_pmp_6_cfg_l; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@215856.4]
+  reg [31:0] _RAND_64;
+  reg [1:0] reg_pmp_6_cfg_a; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@215856.4]
+  reg [31:0] _RAND_65;
+  reg  reg_pmp_6_cfg_x; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@215856.4]
+  reg [31:0] _RAND_66;
+  reg  reg_pmp_6_cfg_w; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@215856.4]
+  reg [31:0] _RAND_67;
+  reg  reg_pmp_6_cfg_r; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@215856.4]
+  reg [31:0] _RAND_68;
+  reg [29:0] reg_pmp_6_addr; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@215856.4]
+  reg [31:0] _RAND_69;
+  reg  reg_pmp_7_cfg_l; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@215856.4]
+  reg [31:0] _RAND_70;
+  reg [1:0] reg_pmp_7_cfg_a; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@215856.4]
+  reg [31:0] _RAND_71;
+  reg  reg_pmp_7_cfg_x; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@215856.4]
+  reg [31:0] _RAND_72;
+  reg  reg_pmp_7_cfg_w; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@215856.4]
+  reg [31:0] _RAND_73;
+  reg  reg_pmp_7_cfg_r; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@215856.4]
+  reg [31:0] _RAND_74;
+  reg [29:0] reg_pmp_7_addr; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@215856.4]
+  reg [31:0] _RAND_75;
+  reg [31:0] reg_mie; // @[CSR.scala 291:20:shc.marmotcaravel.MarmotCaravelConfig.fir@215857.4]
+  reg [31:0] _RAND_76;
+  reg [31:0] reg_mepc; // @[CSR.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@215861.4]
+  reg [31:0] _RAND_77;
+  reg [31:0] reg_mcause; // @[CSR.scala 296:23:shc.marmotcaravel.MarmotCaravelConfig.fir@215862.4]
+  reg [31:0] _RAND_78;
+  reg [31:0] reg_mbadaddr; // @[CSR.scala 297:25:shc.marmotcaravel.MarmotCaravelConfig.fir@215863.4]
+  reg [31:0] _RAND_79;
+  reg [31:0] reg_mscratch; // @[CSR.scala 298:25:shc.marmotcaravel.MarmotCaravelConfig.fir@215864.4]
+  reg [31:0] _RAND_80;
+  reg [31:0] reg_mtvec; // @[CSR.scala 301:27:shc.marmotcaravel.MarmotCaravelConfig.fir@215865.4]
+  reg [31:0] _RAND_81;
+  reg  reg_wfi; // @[CSR.scala 314:50:shc.marmotcaravel.MarmotCaravelConfig.fir@215874.4]
+  reg [31:0] _RAND_82;
+  reg [5:0] _T_258; // @[Counters.scala 46:37:shc.marmotcaravel.MarmotCaravelConfig.fir@215877.4]
+  reg [31:0] _RAND_83;
+  wire [5:0] _GEN_446; // @[Counters.scala 47:33:shc.marmotcaravel.MarmotCaravelConfig.fir@215878.4]
+  wire [6:0] _T_259; // @[Counters.scala 47:33:shc.marmotcaravel.MarmotCaravelConfig.fir@215878.4]
+  reg [57:0] _T_261; // @[Counters.scala 51:27:shc.marmotcaravel.MarmotCaravelConfig.fir@215880.4]
+  reg [63:0] _RAND_84;
+  wire  _T_262; // @[Counters.scala 52:20:shc.marmotcaravel.MarmotCaravelConfig.fir@215881.4]
+  wire [57:0] _T_264; // @[Counters.scala 52:43:shc.marmotcaravel.MarmotCaravelConfig.fir@215884.6]
+  wire [63:0] _T_265; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215887.4]
+  wire  _T_266; // @[CSR.scala 320:103:shc.marmotcaravel.MarmotCaravelConfig.fir@215888.4]
+  reg [5:0] _T_268; // @[Counters.scala 46:37:shc.marmotcaravel.MarmotCaravelConfig.fir@215889.4]
+  reg [31:0] _RAND_85;
+  wire [5:0] _GEN_447; // @[Counters.scala 47:33:shc.marmotcaravel.MarmotCaravelConfig.fir@215890.4]
+  wire [6:0] _T_269; // @[Counters.scala 47:33:shc.marmotcaravel.MarmotCaravelConfig.fir@215890.4]
+  reg [57:0] _T_271; // @[Counters.scala 51:27:shc.marmotcaravel.MarmotCaravelConfig.fir@215892.4]
+  reg [63:0] _RAND_86;
+  wire  _T_272; // @[Counters.scala 52:20:shc.marmotcaravel.MarmotCaravelConfig.fir@215893.4]
+  wire [57:0] _T_274; // @[Counters.scala 52:43:shc.marmotcaravel.MarmotCaravelConfig.fir@215896.6]
+  wire [63:0] _T_275; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215899.4]
+  wire [1:0] _T_282; // @[CSR.scala 333:22:shc.marmotcaravel.MarmotCaravelConfig.fir@215908.4]
+  wire [3:0] _T_283; // @[CSR.scala 333:22:shc.marmotcaravel.MarmotCaravelConfig.fir@215909.4]
+  wire [1:0] _T_285; // @[CSR.scala 333:22:shc.marmotcaravel.MarmotCaravelConfig.fir@215911.4]
+  wire [3:0] _T_286; // @[CSR.scala 333:22:shc.marmotcaravel.MarmotCaravelConfig.fir@215912.4]
+  wire [7:0] _T_287; // @[CSR.scala 333:22:shc.marmotcaravel.MarmotCaravelConfig.fir@215913.4]
+  wire [1:0] _T_289; // @[CSR.scala 333:22:shc.marmotcaravel.MarmotCaravelConfig.fir@215915.4]
+  wire [3:0] _T_290; // @[CSR.scala 333:22:shc.marmotcaravel.MarmotCaravelConfig.fir@215916.4]
+  wire [7:0] _T_294; // @[CSR.scala 333:22:shc.marmotcaravel.MarmotCaravelConfig.fir@215920.4]
+  wire [15:0] _T_295; // @[CSR.scala 333:22:shc.marmotcaravel.MarmotCaravelConfig.fir@215921.4]
+  wire [15:0] read_mip; // @[CSR.scala 333:29:shc.marmotcaravel.MarmotCaravelConfig.fir@215922.4]
+  wire [31:0] _GEN_448; // @[CSR.scala 336:56:shc.marmotcaravel.MarmotCaravelConfig.fir@215923.4]
+  wire [31:0] pending_interrupts; // @[CSR.scala 336:56:shc.marmotcaravel.MarmotCaravelConfig.fir@215923.4]
+  wire [14:0] _GEN_449; // @[CSR.scala 337:42:shc.marmotcaravel.MarmotCaravelConfig.fir@215925.4]
+  wire [14:0] d_interrupts; // @[CSR.scala 337:42:shc.marmotcaravel.MarmotCaravelConfig.fir@215925.4]
+  wire [31:0] _T_299; // @[CSR.scala 338:73:shc.marmotcaravel.MarmotCaravelConfig.fir@215928.4]
+  wire [31:0] _T_301; // @[CSR.scala 338:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215930.4]
+  wire [31:0] m_interrupts; // @[CSR.scala 338:25:shc.marmotcaravel.MarmotCaravelConfig.fir@215931.4]
+  wire  _T_307; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@215938.4]
+  wire  _T_308; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@215939.4]
+  wire  _T_309; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@215940.4]
+  wire  _T_310; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@215941.4]
+  wire  _T_311; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@215942.4]
+  wire  _T_312; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@215943.4]
+  wire  _T_313; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@215944.4]
+  wire  _T_314; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@215945.4]
+  wire  _T_315; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@215946.4]
+  wire  _T_316; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@215947.4]
+  wire  _T_317; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@215948.4]
+  wire  _T_318; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@215949.4]
+  wire  _T_319; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@215950.4]
+  wire  _T_320; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@215951.4]
+  wire  _T_321; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@215952.4]
+  wire  _T_322; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@215953.4]
+  wire  _T_323; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@215954.4]
+  wire  _T_324; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@215955.4]
+  wire  _T_325; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@215956.4]
+  wire  _T_326; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@215957.4]
+  wire  _T_327; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@215958.4]
+  wire  _T_328; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@215959.4]
+  wire  _T_329; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@215960.4]
+  wire  _T_330; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@215961.4]
+  wire  _T_331; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@215962.4]
+  wire  _T_345; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@215976.4]
+  wire  _T_346; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@215977.4]
+  wire  _T_347; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@215978.4]
+  wire  _T_348; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@215979.4]
+  wire  _T_349; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@215980.4]
+  wire  _T_350; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@215981.4]
+  wire  _T_351; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@215982.4]
+  wire  _T_352; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@215983.4]
+  wire  _T_353; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@215984.4]
+  wire  _T_354; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@215985.4]
+  wire  _T_355; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@215986.4]
+  wire  _T_356; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@215987.4]
+  wire  _T_357; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@215988.4]
+  wire  _T_358; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@215989.4]
+  wire  _T_359; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@215990.4]
+  wire  _T_360; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@215991.4]
+  wire  _T_361; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@215992.4]
+  wire  _T_362; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@215993.4]
+  wire  _T_363; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@215994.4]
+  wire  _T_364; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@215995.4]
+  wire  _T_365; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@215996.4]
+  wire  _T_366; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@215997.4]
+  wire  _T_367; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@215998.4]
+  wire  anyInterrupt; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@215999.4]
+  wire [3:0] _T_432; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@216064.4]
+  wire [3:0] _T_433; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@216065.4]
+  wire [3:0] _T_434; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@216066.4]
+  wire [3:0] _T_435; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@216067.4]
+  wire [3:0] _T_436; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@216068.4]
+  wire [3:0] _T_437; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@216069.4]
+  wire [3:0] _T_438; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@216070.4]
+  wire [3:0] _T_439; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@216071.4]
+  wire [3:0] _T_440; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@216072.4]
+  wire [3:0] _T_441; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@216073.4]
+  wire [3:0] _T_442; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@216074.4]
+  wire [3:0] _T_443; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@216075.4]
+  wire [3:0] _T_444; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@216076.4]
+  wire [3:0] _T_445; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@216077.4]
+  wire [3:0] _T_446; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@216078.4]
+  wire [3:0] _T_447; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@216079.4]
+  wire [3:0] _T_448; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@216080.4]
+  wire [3:0] _T_449; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@216081.4]
+  wire [3:0] _T_450; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@216082.4]
+  wire [3:0] _T_451; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@216083.4]
+  wire [3:0] _T_452; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@216084.4]
+  wire [3:0] _T_453; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@216085.4]
+  wire [3:0] _T_454; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@216086.4]
+  wire [3:0] whichInterrupt; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@216087.4]
+  wire [31:0] _GEN_450; // @[CSR.scala 342:43:shc.marmotcaravel.MarmotCaravelConfig.fir@216088.4]
+  wire  _T_456; // @[CSR.scala 343:36:shc.marmotcaravel.MarmotCaravelConfig.fir@216090.4]
+  wire  _T_457; // @[CSR.scala 343:33:shc.marmotcaravel.MarmotCaravelConfig.fir@216091.4]
+  wire  _T_458; // @[CSR.scala 343:51:shc.marmotcaravel.MarmotCaravelConfig.fir@216092.4]
+  wire  _T_459; // @[CSR.scala 343:76:shc.marmotcaravel.MarmotCaravelConfig.fir@216093.4]
+  wire  _T_463; // @[PMP.scala 51:31:shc.marmotcaravel.MarmotCaravelConfig.fir@216102.4]
+  wire [30:0] _T_464; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@216103.4]
+  wire [30:0] _T_467; // @[PMP.scala 52:23:shc.marmotcaravel.MarmotCaravelConfig.fir@216106.4]
+  wire [30:0] _T_468; // @[PMP.scala 52:16:shc.marmotcaravel.MarmotCaravelConfig.fir@216107.4]
+  wire [30:0] _T_469; // @[PMP.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216108.4]
+  wire [32:0] _T_470; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@216109.4]
+  wire  _T_473; // @[PMP.scala 51:31:shc.marmotcaravel.MarmotCaravelConfig.fir@216114.4]
+  wire [30:0] _T_474; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@216115.4]
+  wire [30:0] _T_477; // @[PMP.scala 52:23:shc.marmotcaravel.MarmotCaravelConfig.fir@216118.4]
+  wire [30:0] _T_478; // @[PMP.scala 52:16:shc.marmotcaravel.MarmotCaravelConfig.fir@216119.4]
+  wire [30:0] _T_479; // @[PMP.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216120.4]
+  wire [32:0] _T_480; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@216121.4]
+  wire  _T_483; // @[PMP.scala 51:31:shc.marmotcaravel.MarmotCaravelConfig.fir@216126.4]
+  wire [30:0] _T_484; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@216127.4]
+  wire [30:0] _T_487; // @[PMP.scala 52:23:shc.marmotcaravel.MarmotCaravelConfig.fir@216130.4]
+  wire [30:0] _T_488; // @[PMP.scala 52:16:shc.marmotcaravel.MarmotCaravelConfig.fir@216131.4]
+  wire [30:0] _T_489; // @[PMP.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216132.4]
+  wire [32:0] _T_490; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@216133.4]
+  wire  _T_493; // @[PMP.scala 51:31:shc.marmotcaravel.MarmotCaravelConfig.fir@216138.4]
+  wire [30:0] _T_494; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@216139.4]
+  wire [30:0] _T_497; // @[PMP.scala 52:23:shc.marmotcaravel.MarmotCaravelConfig.fir@216142.4]
+  wire [30:0] _T_498; // @[PMP.scala 52:16:shc.marmotcaravel.MarmotCaravelConfig.fir@216143.4]
+  wire [30:0] _T_499; // @[PMP.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216144.4]
+  wire [32:0] _T_500; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@216145.4]
+  wire  _T_503; // @[PMP.scala 51:31:shc.marmotcaravel.MarmotCaravelConfig.fir@216150.4]
+  wire [30:0] _T_504; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@216151.4]
+  wire [30:0] _T_507; // @[PMP.scala 52:23:shc.marmotcaravel.MarmotCaravelConfig.fir@216154.4]
+  wire [30:0] _T_508; // @[PMP.scala 52:16:shc.marmotcaravel.MarmotCaravelConfig.fir@216155.4]
+  wire [30:0] _T_509; // @[PMP.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216156.4]
+  wire [32:0] _T_510; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@216157.4]
+  wire  _T_513; // @[PMP.scala 51:31:shc.marmotcaravel.MarmotCaravelConfig.fir@216162.4]
+  wire [30:0] _T_514; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@216163.4]
+  wire [30:0] _T_517; // @[PMP.scala 52:23:shc.marmotcaravel.MarmotCaravelConfig.fir@216166.4]
+  wire [30:0] _T_518; // @[PMP.scala 52:16:shc.marmotcaravel.MarmotCaravelConfig.fir@216167.4]
+  wire [30:0] _T_519; // @[PMP.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216168.4]
+  wire [32:0] _T_520; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@216169.4]
+  wire  _T_523; // @[PMP.scala 51:31:shc.marmotcaravel.MarmotCaravelConfig.fir@216174.4]
+  wire [30:0] _T_524; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@216175.4]
+  wire [30:0] _T_527; // @[PMP.scala 52:23:shc.marmotcaravel.MarmotCaravelConfig.fir@216178.4]
+  wire [30:0] _T_528; // @[PMP.scala 52:16:shc.marmotcaravel.MarmotCaravelConfig.fir@216179.4]
+  wire [30:0] _T_529; // @[PMP.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216180.4]
+  wire [32:0] _T_530; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@216181.4]
+  wire  _T_533; // @[PMP.scala 51:31:shc.marmotcaravel.MarmotCaravelConfig.fir@216186.4]
+  wire [30:0] _T_534; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@216187.4]
+  wire [30:0] _T_537; // @[PMP.scala 52:23:shc.marmotcaravel.MarmotCaravelConfig.fir@216190.4]
+  wire [30:0] _T_538; // @[PMP.scala 52:16:shc.marmotcaravel.MarmotCaravelConfig.fir@216191.4]
+  wire [30:0] _T_539; // @[PMP.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216192.4]
+  wire [32:0] _T_540; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@216193.4]
+  reg [31:0] reg_misa; // @[CSR.scala 359:21:shc.marmotcaravel.MarmotCaravelConfig.fir@216203.4]
+  reg [31:0] _RAND_87;
+  wire [1:0] _T_542; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216204.4]
+  wire [2:0] _T_543; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216205.4]
+  wire [1:0] _T_544; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216206.4]
+  wire [1:0] _T_545; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216207.4]
+  wire [3:0] _T_546; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216208.4]
+  wire [6:0] _T_547; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216209.4]
+  wire [2:0] _T_548; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216210.4]
+  wire [3:0] _T_549; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216211.4]
+  wire [3:0] _T_550; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216212.4]
+  wire [2:0] _T_551; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216213.4]
+  wire [6:0] _T_552; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216214.4]
+  wire [10:0] _T_553; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216215.4]
+  wire [17:0] _T_554; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216216.4]
+  wire [1:0] _T_555; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216217.4]
+  wire [2:0] _T_556; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216218.4]
+  wire [1:0] _T_557; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216219.4]
+  wire [8:0] _T_558; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216220.4]
+  wire [10:0] _T_559; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216221.4]
+  wire [13:0] _T_560; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216222.4]
+  wire [3:0] _T_561; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216223.4]
+  wire [27:0] _T_562; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216224.4]
+  wire [31:0] _T_563; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216225.4]
+  wire [3:0] _T_564; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216226.4]
+  wire [32:0] _T_565; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216227.4]
+  wire [36:0] _T_566; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216228.4]
+  wire [68:0] _T_567; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216229.4]
+  wire [82:0] _T_568; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216230.4]
+  wire [100:0] _T_569; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216231.4]
+  wire [31:0] read_mstatus; // @[CSR.scala 360:40:shc.marmotcaravel.MarmotCaravelConfig.fir@216232.4]
+  wire  _GEN_19; // @[CSR.scala 364:48:shc.marmotcaravel.MarmotCaravelConfig.fir@216233.4]
+  wire  _GEN_22; // @[CSR.scala 364:48:shc.marmotcaravel.MarmotCaravelConfig.fir@216233.4]
+  wire  _GEN_23; // @[CSR.scala 364:48:shc.marmotcaravel.MarmotCaravelConfig.fir@216233.4]
+  wire [1:0] _GEN_25; // @[CSR.scala 364:48:shc.marmotcaravel.MarmotCaravelConfig.fir@216233.4]
+  wire  _GEN_30; // @[CSR.scala 364:48:shc.marmotcaravel.MarmotCaravelConfig.fir@216233.4]
+  wire  _GEN_31; // @[CSR.scala 364:48:shc.marmotcaravel.MarmotCaravelConfig.fir@216233.4]
+  wire  _GEN_32; // @[CSR.scala 364:48:shc.marmotcaravel.MarmotCaravelConfig.fir@216233.4]
+  wire [31:0] _GEN_33; // @[CSR.scala 364:48:shc.marmotcaravel.MarmotCaravelConfig.fir@216233.4]
+  wire [1:0] _T_571; // @[CSR.scala 364:48:shc.marmotcaravel.MarmotCaravelConfig.fir@216233.4]
+  wire [2:0] _T_572; // @[CSR.scala 364:48:shc.marmotcaravel.MarmotCaravelConfig.fir@216234.4]
+  wire [6:0] _T_576; // @[CSR.scala 364:48:shc.marmotcaravel.MarmotCaravelConfig.fir@216238.4]
+  wire [3:0] _T_577; // @[CSR.scala 364:48:shc.marmotcaravel.MarmotCaravelConfig.fir@216239.4]
+  wire [1:0] _T_578; // @[CSR.scala 364:48:shc.marmotcaravel.MarmotCaravelConfig.fir@216240.4]
+  wire [5:0] _T_579; // @[CSR.scala 364:48:shc.marmotcaravel.MarmotCaravelConfig.fir@216241.4]
+  wire [4:0] _T_581; // @[CSR.scala 364:48:shc.marmotcaravel.MarmotCaravelConfig.fir@216243.4]
+  wire [18:0] _T_582; // @[CSR.scala 364:48:shc.marmotcaravel.MarmotCaravelConfig.fir@216244.4]
+  wire [24:0] _T_583; // @[CSR.scala 364:48:shc.marmotcaravel.MarmotCaravelConfig.fir@216245.4]
+  wire [31:0] _T_584; // @[CSR.scala 364:48:shc.marmotcaravel.MarmotCaravelConfig.fir@216246.4]
+  wire [31:0] _T_586; // @[CSR.scala 908:28:shc.marmotcaravel.MarmotCaravelConfig.fir@216247.4]
+  wire  _T_587; // @[CSR.scala 908:45:shc.marmotcaravel.MarmotCaravelConfig.fir@216248.4]
+  wire [1:0] _T_588; // @[CSR.scala 908:36:shc.marmotcaravel.MarmotCaravelConfig.fir@216249.4]
+  wire [31:0] _GEN_451; // @[CSR.scala 908:31:shc.marmotcaravel.MarmotCaravelConfig.fir@216250.4]
+  wire [31:0] _T_589; // @[CSR.scala 908:31:shc.marmotcaravel.MarmotCaravelConfig.fir@216250.4]
+  wire [31:0] _T_590; // @[CSR.scala 908:26:shc.marmotcaravel.MarmotCaravelConfig.fir@216251.4]
+  wire [3:0] _T_591; // @[CSR.scala 378:27:shc.marmotcaravel.MarmotCaravelConfig.fir@216252.4]
+  wire [5:0] _T_592; // @[CSR.scala 378:27:shc.marmotcaravel.MarmotCaravelConfig.fir@216253.4]
+  wire [3:0] _T_593; // @[CSR.scala 378:27:shc.marmotcaravel.MarmotCaravelConfig.fir@216254.4]
+  wire [5:0] _T_595; // @[CSR.scala 378:27:shc.marmotcaravel.MarmotCaravelConfig.fir@216256.4]
+  wire [11:0] _T_596; // @[CSR.scala 378:27:shc.marmotcaravel.MarmotCaravelConfig.fir@216257.4]
+  wire [12:0] _T_599; // @[CSR.scala 378:27:shc.marmotcaravel.MarmotCaravelConfig.fir@216260.4]
+  wire [16:0] _T_601; // @[CSR.scala 378:27:shc.marmotcaravel.MarmotCaravelConfig.fir@216262.4]
+  wire [19:0] _T_602; // @[CSR.scala 378:27:shc.marmotcaravel.MarmotCaravelConfig.fir@216263.4]
+  wire [31:0] _T_603; // @[CSR.scala 378:27:shc.marmotcaravel.MarmotCaravelConfig.fir@216264.4]
+  wire [31:0] _T_604; // @[CSR.scala 908:28:shc.marmotcaravel.MarmotCaravelConfig.fir@216265.4]
+  wire [31:0] _T_607; // @[CSR.scala 908:31:shc.marmotcaravel.MarmotCaravelConfig.fir@216268.4]
+  wire [31:0] _T_608; // @[CSR.scala 908:26:shc.marmotcaravel.MarmotCaravelConfig.fir@216269.4]
+  wire [31:0] _T_610; // @[CSR.scala 415:50:shc.marmotcaravel.MarmotCaravelConfig.fir@216271.4]
+  wire [31:0] _T_611; // @[CSR.scala 416:54:shc.marmotcaravel.MarmotCaravelConfig.fir@216272.4]
+  wire [1:0] _T_626; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216294.4]
+  wire [2:0] _T_627; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216295.4]
+  wire [2:0] _T_628; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216296.4]
+  wire [4:0] _T_629; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216297.4]
+  wire [7:0] _T_630; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216298.4]
+  wire [1:0] _T_631; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216299.4]
+  wire [2:0] _T_632; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216300.4]
+  wire [2:0] _T_633; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216301.4]
+  wire [4:0] _T_634; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216302.4]
+  wire [7:0] _T_635; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216303.4]
+  wire [1:0] _T_636; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216304.4]
+  wire [2:0] _T_637; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216305.4]
+  wire [2:0] _T_638; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216306.4]
+  wire [4:0] _T_639; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216307.4]
+  wire [7:0] _T_640; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216308.4]
+  wire [1:0] _T_641; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216309.4]
+  wire [2:0] _T_642; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216310.4]
+  wire [2:0] _T_643; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216311.4]
+  wire [4:0] _T_644; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216312.4]
+  wire [7:0] _T_645; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216313.4]
+  wire [15:0] _T_646; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@216314.4]
+  wire [15:0] _T_647; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@216315.4]
+  wire [31:0] _T_648; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@216316.4]
+  wire [1:0] _T_649; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216317.4]
+  wire [2:0] _T_650; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216318.4]
+  wire [2:0] _T_651; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216319.4]
+  wire [4:0] _T_652; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216320.4]
+  wire [7:0] _T_653; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216321.4]
+  wire [1:0] _T_654; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216322.4]
+  wire [2:0] _T_655; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216323.4]
+  wire [2:0] _T_656; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216324.4]
+  wire [4:0] _T_657; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216325.4]
+  wire [7:0] _T_658; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216326.4]
+  wire [1:0] _T_659; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216327.4]
+  wire [2:0] _T_660; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216328.4]
+  wire [2:0] _T_661; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216329.4]
+  wire [4:0] _T_662; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216330.4]
+  wire [7:0] _T_663; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216331.4]
+  wire [1:0] _T_664; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216332.4]
+  wire [2:0] _T_665; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216333.4]
+  wire [2:0] _T_666; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216334.4]
+  wire [4:0] _T_667; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216335.4]
+  wire [7:0] _T_668; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216336.4]
+  wire [15:0] _T_669; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@216337.4]
+  wire [15:0] _T_670; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@216338.4]
+  wire [31:0] _T_671; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@216339.4]
+  wire  _T_722; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@216390.4]
+  wire  _T_723; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@216391.4]
+  wire  _T_724; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@216392.4]
+  wire  _T_725; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@216393.4]
+  wire  _T_726; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@216394.4]
+  wire  _T_727; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@216395.4]
+  wire  _T_728; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@216396.4]
+  wire  _T_729; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@216397.4]
+  wire  _T_730; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@216398.4]
+  wire  _T_731; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@216399.4]
+  wire  _T_732; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@216400.4]
+  wire  _T_733; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@216401.4]
+  wire  _T_734; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@216402.4]
+  wire  _T_735; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@216403.4]
+  wire  _T_736; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@216404.4]
+  wire  _T_737; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@216405.4]
+  wire  _T_738; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@216406.4]
+  wire  _T_739; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@216407.4]
+  wire  _T_827; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@216495.4]
+  wire  _T_828; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@216496.4]
+  wire  _T_829; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@216497.4]
+  wire  _T_830; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@216498.4]
+  wire  _T_833; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@216501.4]
+  wire  _T_834; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@216502.4]
+  wire  _T_835; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@216503.4]
+  wire  _T_836; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@216504.4]
+  wire  _T_837; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@216505.4]
+  wire  _T_838; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@216506.4]
+  wire  _T_839; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@216507.4]
+  wire  _T_840; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@216508.4]
+  wire  _T_850; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@216518.4]
+  wire  _T_852; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@216520.4]
+  wire  _T_853; // @[CSR.scala 886:13:shc.marmotcaravel.MarmotCaravelConfig.fir@216521.4]
+  wire [31:0] _T_854; // @[CSR.scala 886:9:shc.marmotcaravel.MarmotCaravelConfig.fir@216522.4]
+  wire [31:0] _T_855; // @[CSR.scala 886:34:shc.marmotcaravel.MarmotCaravelConfig.fir@216523.4]
+  wire [1:0] _T_856; // @[CSR.scala 886:53:shc.marmotcaravel.MarmotCaravelConfig.fir@216524.4]
+  wire [1:0] _T_857; // @[CSR.scala 886:59:shc.marmotcaravel.MarmotCaravelConfig.fir@216525.4]
+  wire  _T_858; // @[CSR.scala 886:59:shc.marmotcaravel.MarmotCaravelConfig.fir@216526.4]
+  wire [31:0] _T_859; // @[CSR.scala 886:49:shc.marmotcaravel.MarmotCaravelConfig.fir@216527.4]
+  wire [31:0] _T_860; // @[CSR.scala 886:45:shc.marmotcaravel.MarmotCaravelConfig.fir@216528.4]
+  wire [31:0] wdata; // @[CSR.scala 886:43:shc.marmotcaravel.MarmotCaravelConfig.fir@216529.4]
+  wire  system_insn; // @[CSR.scala 479:31:shc.marmotcaravel.MarmotCaravelConfig.fir@216530.4]
+  wire [31:0] _GEN_453; // @[CSR.scala 488:92:shc.marmotcaravel.MarmotCaravelConfig.fir@216531.4]
+  wire [31:0] _T_861; // @[CSR.scala 488:92:shc.marmotcaravel.MarmotCaravelConfig.fir@216531.4]
+  wire [31:0] _T_862; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@216532.4]
+  wire  _T_863; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@216533.4]
+  wire [31:0] _T_865; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@216535.4]
+  wire  _T_866; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@216536.4]
+  wire [31:0] _T_868; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@216538.4]
+  wire  _T_869; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@216539.4]
+  wire [31:0] _T_871; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@216541.4]
+  wire  _T_872; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@216542.4]
+  wire  insn_call; // @[CSR.scala 488:159:shc.marmotcaravel.MarmotCaravelConfig.fir@216545.4]
+  wire  insn_break; // @[CSR.scala 488:159:shc.marmotcaravel.MarmotCaravelConfig.fir@216547.4]
+  wire  insn_ret; // @[CSR.scala 488:159:shc.marmotcaravel.MarmotCaravelConfig.fir@216549.4]
+  wire  insn_wfi; // @[CSR.scala 488:159:shc.marmotcaravel.MarmotCaravelConfig.fir@216551.4]
+  wire  _T_918; // @[CSR.scala 499:39:shc.marmotcaravel.MarmotCaravelConfig.fir@216593.4]
+  wire  _T_919; // @[CSR.scala 499:57:shc.marmotcaravel.MarmotCaravelConfig.fir@216594.4]
+  wire  _T_920; // @[CSR.scala 499:48:shc.marmotcaravel.MarmotCaravelConfig.fir@216595.4]
+  wire  _T_933; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216611.4]
+  wire  _T_934; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216612.4]
+  wire  _T_935; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216613.4]
+  wire  _T_936; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216614.4]
+  wire  _T_937; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216615.4]
+  wire  _T_938; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216616.4]
+  wire  _T_939; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216617.4]
+  wire  _T_940; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216618.4]
+  wire  _T_941; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216619.4]
+  wire  _T_942; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216620.4]
+  wire  _T_943; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216621.4]
+  wire  _T_944; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216622.4]
+  wire  _T_945; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216623.4]
+  wire  _T_946; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216624.4]
+  wire  _T_947; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216625.4]
+  wire  _T_948; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216626.4]
+  wire  _T_949; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216627.4]
+  wire  _T_950; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216628.4]
+  wire  _T_951; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216629.4]
+  wire  _T_952; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216630.4]
+  wire  _T_953; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216631.4]
+  wire  _T_954; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216632.4]
+  wire  _T_955; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216633.4]
+  wire  _T_956; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216634.4]
+  wire  _T_957; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216635.4]
+  wire  _T_958; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216636.4]
+  wire  _T_959; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216637.4]
+  wire  _T_960; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216638.4]
+  wire  _T_961; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216639.4]
+  wire  _T_962; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216640.4]
+  wire  _T_963; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216641.4]
+  wire  _T_964; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216642.4]
+  wire  _T_965; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216643.4]
+  wire  _T_966; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216644.4]
+  wire  _T_967; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216645.4]
+  wire  _T_968; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216646.4]
+  wire  _T_969; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216647.4]
+  wire  _T_970; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216648.4]
+  wire  _T_971; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216649.4]
+  wire  _T_972; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216650.4]
+  wire  _T_973; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216651.4]
+  wire  _T_974; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216652.4]
+  wire  _T_975; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216653.4]
+  wire  _T_976; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216654.4]
+  wire  _T_977; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216655.4]
+  wire  _T_978; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216656.4]
+  wire  _T_979; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216657.4]
+  wire  _T_980; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216658.4]
+  wire  _T_981; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216659.4]
+  wire  _T_982; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216660.4]
+  wire  _T_983; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216661.4]
+  wire  _T_984; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216662.4]
+  wire  _T_985; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216663.4]
+  wire  _T_986; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216664.4]
+  wire  _T_987; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216665.4]
+  wire  _T_988; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216666.4]
+  wire  _T_989; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216667.4]
+  wire  _T_990; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216668.4]
+  wire  _T_991; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216669.4]
+  wire  _T_992; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216670.4]
+  wire  _T_993; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216671.4]
+  wire  _T_994; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216672.4]
+  wire  _T_995; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216673.4]
+  wire  _T_996; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216674.4]
+  wire  _T_997; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216675.4]
+  wire  _T_998; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216676.4]
+  wire  _T_999; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216677.4]
+  wire  _T_1000; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216678.4]
+  wire  _T_1001; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216679.4]
+  wire  _T_1002; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216680.4]
+  wire  _T_1003; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216681.4]
+  wire  _T_1004; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216682.4]
+  wire  _T_1005; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216683.4]
+  wire  _T_1006; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216684.4]
+  wire  _T_1007; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216685.4]
+  wire  _T_1008; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216686.4]
+  wire  _T_1009; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216687.4]
+  wire  _T_1010; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216688.4]
+  wire  _T_1011; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216689.4]
+  wire  _T_1012; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216690.4]
+  wire  _T_1013; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216691.4]
+  wire  _T_1014; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216692.4]
+  wire  _T_1015; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216693.4]
+  wire  _T_1016; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216694.4]
+  wire  _T_1017; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216695.4]
+  wire  _T_1018; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216696.4]
+  wire  _T_1019; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216697.4]
+  wire  _T_1020; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216698.4]
+  wire  _T_1021; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216699.4]
+  wire  _T_1022; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216700.4]
+  wire  _T_1023; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216701.4]
+  wire  _T_1024; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216702.4]
+  wire  _T_1025; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216703.4]
+  wire  _T_1026; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216704.4]
+  wire  _T_1027; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216705.4]
+  wire  _T_1028; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216706.4]
+  wire  _T_1029; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216707.4]
+  wire  _T_1030; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216708.4]
+  wire  _T_1031; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216709.4]
+  wire  _T_1032; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216710.4]
+  wire  _T_1033; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216711.4]
+  wire  _T_1034; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216712.4]
+  wire  _T_1035; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216713.4]
+  wire  _T_1036; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216714.4]
+  wire  _T_1037; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216715.4]
+  wire  _T_1038; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216716.4]
+  wire  _T_1039; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216717.4]
+  wire  _T_1040; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216718.4]
+  wire  _T_1041; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216719.4]
+  wire  _T_1042; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216720.4]
+  wire  _T_1043; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216721.4]
+  wire  _T_1044; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216722.4]
+  wire  _T_1045; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216723.4]
+  wire  _T_1046; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216724.4]
+  wire  _T_1047; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216725.4]
+  wire  _T_1048; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216726.4]
+  wire  _T_1049; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216727.4]
+  wire  _T_1050; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216728.4]
+  wire  _T_1051; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216729.4]
+  wire  _T_1052; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216730.4]
+  wire  _T_1053; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216731.4]
+  wire  _T_1054; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216732.4]
+  wire  _T_1055; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216733.4]
+  wire  _T_1056; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216734.4]
+  wire  _T_1057; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216735.4]
+  wire  _T_1058; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216736.4]
+  wire  _T_1059; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216737.4]
+  wire  _T_1060; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216738.4]
+  wire  _T_1061; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216739.4]
+  wire  _T_1062; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216740.4]
+  wire  _T_1063; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216741.4]
+  wire  _T_1064; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216742.4]
+  wire  _T_1065; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216743.4]
+  wire  _T_1066; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216744.4]
+  wire  _T_1067; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216745.4]
+  wire  _T_1068; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216746.4]
+  wire  _T_1069; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216747.4]
+  wire  _T_1070; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216748.4]
+  wire  _T_1071; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216749.4]
+  wire  _T_1072; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216750.4]
+  wire  _T_1073; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216751.4]
+  wire  _T_1074; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216752.4]
+  wire  _T_1075; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216753.4]
+  wire  _T_1076; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216754.4]
+  wire  _T_1077; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216755.4]
+  wire  _T_1078; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216756.4]
+  wire  _T_1079; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216757.4]
+  wire  _T_1080; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216758.4]
+  wire  _T_1081; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216759.4]
+  wire  _T_1082; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216760.4]
+  wire  _T_1083; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216761.4]
+  wire  _T_1084; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216762.4]
+  wire  _T_1085; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216763.4]
+  wire  _T_1086; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216764.4]
+  wire  _T_1087; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216765.4]
+  wire  _T_1088; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216766.4]
+  wire  _T_1089; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216767.4]
+  wire  _T_1090; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216768.4]
+  wire  _T_1091; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216769.4]
+  wire  _T_1092; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216770.4]
+  wire  _T_1093; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216771.4]
+  wire  _T_1094; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216772.4]
+  wire  _T_1095; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216773.4]
+  wire  _T_1096; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216774.4]
+  wire  _T_1097; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216775.4]
+  wire  _T_1098; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216776.4]
+  wire  _T_1099; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216777.4]
+  wire  _T_1100; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216778.4]
+  wire  _T_1101; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216779.4]
+  wire  _T_1102; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216780.4]
+  wire  _T_1103; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216781.4]
+  wire  _T_1104; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216782.4]
+  wire  _T_1105; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216783.4]
+  wire  _T_1106; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216784.4]
+  wire  _T_1107; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216785.4]
+  wire  _T_1108; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216786.4]
+  wire  _T_1109; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216787.4]
+  wire  _T_1110; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216788.4]
+  wire  _T_1111; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216789.4]
+  wire  _T_1112; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216790.4]
+  wire  _T_1113; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216791.4]
+  wire  _T_1114; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216792.4]
+  wire  _T_1115; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216793.4]
+  wire  _T_1116; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216794.4]
+  wire  _T_1117; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216795.4]
+  wire  _T_1118; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216796.4]
+  wire  _T_1119; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216797.4]
+  wire  _T_1120; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216798.4]
+  wire  _T_1121; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216799.4]
+  wire  _T_1122; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216800.4]
+  wire  _T_1123; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216801.4]
+  wire  _T_1124; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216802.4]
+  wire  _T_1125; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216803.4]
+  wire  _T_1126; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216804.4]
+  wire  _T_1127; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216805.4]
+  wire  _T_1128; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216806.4]
+  wire  _T_1129; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216807.4]
+  wire  _T_1130; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216808.4]
+  wire  _T_1131; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216809.4]
+  wire  _T_1132; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216810.4]
+  wire  _T_1133; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216811.4]
+  wire  _T_1134; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216812.4]
+  wire  _T_1135; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216813.4]
+  wire  _T_1136; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216814.4]
+  wire  _T_1137; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216815.4]
+  wire  _T_1138; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216816.4]
+  wire  _T_1139; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216817.4]
+  wire  _T_1140; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216818.4]
+  wire  _T_1141; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216819.4]
+  wire  _T_1142; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216820.4]
+  wire  _T_1143; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216821.4]
+  wire  _T_1144; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216822.4]
+  wire  _T_1145; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216823.4]
+  wire  _T_1146; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216824.4]
+  wire  _T_1147; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216825.4]
+  wire  _T_1148; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216826.4]
+  wire  _T_1149; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216827.4]
+  wire  _T_1150; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216828.4]
+  wire  _T_1151; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216829.4]
+  wire  _T_1152; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216830.4]
+  wire  _T_1153; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216831.4]
+  wire  _T_1154; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216832.4]
+  wire  _T_1155; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216833.4]
+  wire  _T_1156; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216834.4]
+  wire  _T_1157; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216835.4]
+  wire  _T_1158; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216836.4]
+  wire  _T_1159; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216837.4]
+  wire  _T_1160; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216838.4]
+  wire  _T_1161; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216839.4]
+  wire  _T_1162; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216840.4]
+  wire  _T_1163; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216841.4]
+  wire  _T_1164; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216842.4]
+  wire  _T_1165; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216843.4]
+  wire  _T_1166; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216844.4]
+  wire  _T_1167; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216845.4]
+  wire  _T_1168; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216846.4]
+  wire  _T_1169; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216847.4]
+  wire  _T_1170; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216848.4]
+  wire  _T_1171; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216849.4]
+  wire  _T_1172; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216850.4]
+  wire  _T_1173; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216851.4]
+  wire  _T_1174; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216852.4]
+  wire  _T_1175; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216853.4]
+  wire  _T_1176; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216854.4]
+  wire  _T_1177; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216855.4]
+  wire  _T_1178; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216856.4]
+  wire  _T_1179; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216857.4]
+  wire  _T_1180; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216858.4]
+  wire  _T_1181; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216859.4]
+  wire  _T_1182; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216860.4]
+  wire  _T_1183; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216861.4]
+  wire  _T_1184; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216862.4]
+  wire  _T_1185; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216863.4]
+  wire  _T_1186; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216864.4]
+  wire  _T_1187; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216865.4]
+  wire  _T_1188; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216866.4]
+  wire  _T_1189; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216867.4]
+  wire  _T_1190; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216868.4]
+  wire  _T_1191; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216869.4]
+  wire  _T_1192; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216870.4]
+  wire  _T_1193; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216871.4]
+  wire  _T_1194; // @[CSR.scala 503:7:shc.marmotcaravel.MarmotCaravelConfig.fir@216872.4]
+  wire  _T_1213; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216891.4]
+  wire  _T_1214; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216892.4]
+  wire  _T_1217; // @[CSR.scala 506:49:shc.marmotcaravel.MarmotCaravelConfig.fir@216895.4]
+  wire  _T_1218; // @[CSR.scala 505:148:shc.marmotcaravel.MarmotCaravelConfig.fir@216896.4]
+  wire  _T_1219; // @[CSR.scala 507:21:shc.marmotcaravel.MarmotCaravelConfig.fir@216897.4]
+  wire [1:0] _T_1221; // @[CSR.scala 508:39:shc.marmotcaravel.MarmotCaravelConfig.fir@216900.4]
+  wire [1:0] _T_1222; // @[CSR.scala 508:47:shc.marmotcaravel.MarmotCaravelConfig.fir@216901.4]
+  wire  _T_1224; // @[CSR.scala 509:40:shc.marmotcaravel.MarmotCaravelConfig.fir@216904.4]
+  wire  _T_1225; // @[CSR.scala 509:71:shc.marmotcaravel.MarmotCaravelConfig.fir@216905.4]
+  wire  _T_1226; // @[CSR.scala 509:57:shc.marmotcaravel.MarmotCaravelConfig.fir@216906.4]
+  wire  _T_1227; // @[CSR.scala 509:102:shc.marmotcaravel.MarmotCaravelConfig.fir@216907.4]
+  wire  _T_1228; // @[CSR.scala 509:133:shc.marmotcaravel.MarmotCaravelConfig.fir@216908.4]
+  wire  _T_1229; // @[CSR.scala 509:119:shc.marmotcaravel.MarmotCaravelConfig.fir@216909.4]
+  wire  _T_1230; // @[CSR.scala 509:88:shc.marmotcaravel.MarmotCaravelConfig.fir@216910.4]
+  wire [31:0] _T_1245; // @[CSR.scala 518:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216927.4]
+  wire [31:0] cause; // @[CSR.scala 517:8:shc.marmotcaravel.MarmotCaravelConfig.fir@216928.4]
+  wire [7:0] cause_lsbs; // @[CSR.scala 519:25:shc.marmotcaravel.MarmotCaravelConfig.fir@216929.4]
+  wire  _T_1246; // @[CSR.scala 520:30:shc.marmotcaravel.MarmotCaravelConfig.fir@216930.4]
+  wire  _T_1247; // @[CSR.scala 520:53:shc.marmotcaravel.MarmotCaravelConfig.fir@216931.4]
+  wire  causeIsDebugInt; // @[CSR.scala 520:39:shc.marmotcaravel.MarmotCaravelConfig.fir@216932.4]
+  wire  _T_1249; // @[CSR.scala 521:29:shc.marmotcaravel.MarmotCaravelConfig.fir@216934.4]
+  wire  causeIsDebugTrigger; // @[CSR.scala 521:44:shc.marmotcaravel.MarmotCaravelConfig.fir@216936.4]
+  wire  _T_1253; // @[CSR.scala 522:42:shc.marmotcaravel.MarmotCaravelConfig.fir@216939.4]
+  wire [1:0] _T_1255; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@216941.4]
+  wire [3:0] _T_1256; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@216942.4]
+  wire [3:0] _T_1257; // @[CSR.scala 522:134:shc.marmotcaravel.MarmotCaravelConfig.fir@216943.4]
+  wire  _T_1258; // @[CSR.scala 522:134:shc.marmotcaravel.MarmotCaravelConfig.fir@216944.4]
+  wire  causeIsDebugBreak; // @[CSR.scala 522:56:shc.marmotcaravel.MarmotCaravelConfig.fir@216945.4]
+  wire  _T_1259; // @[CSR.scala 523:60:shc.marmotcaravel.MarmotCaravelConfig.fir@216946.4]
+  wire  _T_1260; // @[CSR.scala 523:79:shc.marmotcaravel.MarmotCaravelConfig.fir@216947.4]
+  wire  _T_1261; // @[CSR.scala 523:102:shc.marmotcaravel.MarmotCaravelConfig.fir@216948.4]
+  wire  trapToDebug; // @[CSR.scala 523:123:shc.marmotcaravel.MarmotCaravelConfig.fir@216949.4]
+  wire [11:0] _T_1263; // @[CSR.scala 524:37:shc.marmotcaravel.MarmotCaravelConfig.fir@216951.4]
+  wire [11:0] debugTVec; // @[CSR.scala 524:22:shc.marmotcaravel.MarmotCaravelConfig.fir@216952.4]
+  wire [4:0] _T_1273; // @[CSR.scala 533:32:shc.marmotcaravel.MarmotCaravelConfig.fir@216963.4]
+  wire [6:0] _GEN_455; // @[CSR.scala 533:59:shc.marmotcaravel.MarmotCaravelConfig.fir@216964.4]
+  wire [6:0] _T_1274; // @[CSR.scala 533:59:shc.marmotcaravel.MarmotCaravelConfig.fir@216964.4]
+  wire [24:0] _T_1275; // @[CSR.scala 534:33:shc.marmotcaravel.MarmotCaravelConfig.fir@216965.4]
+  wire [31:0] _T_1276; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@216966.4]
+  wire  _T_1277; // @[CSR.scala 535:24:shc.marmotcaravel.MarmotCaravelConfig.fir@216967.4]
+  wire  _T_1279; // @[CSR.scala 535:28:shc.marmotcaravel.MarmotCaravelConfig.fir@216969.4]
+  wire [2:0] _T_1280; // @[CSR.scala 535:70:shc.marmotcaravel.MarmotCaravelConfig.fir@216970.4]
+  wire  _T_1281; // @[CSR.scala 535:94:shc.marmotcaravel.MarmotCaravelConfig.fir@216971.4]
+  wire  _T_1282; // @[CSR.scala 535:55:shc.marmotcaravel.MarmotCaravelConfig.fir@216972.4]
+  wire [31:0] notDebugTVec; // @[CSR.scala 536:8:shc.marmotcaravel.MarmotCaravelConfig.fir@216973.4]
+  wire [31:0] tvec; // @[CSR.scala 538:17:shc.marmotcaravel.MarmotCaravelConfig.fir@216974.4]
+  wire  _T_1283; // @[CSR.scala 541:24:shc.marmotcaravel.MarmotCaravelConfig.fir@216977.4]
+  wire [1:0] _T_1287; // @[CSR.scala 544:32:shc.marmotcaravel.MarmotCaravelConfig.fir@216984.4]
+  wire  _T_1288; // @[CSR.scala 544:32:shc.marmotcaravel.MarmotCaravelConfig.fir@216985.4]
+  wire [1:0] _T_1289; // @[CSR.scala 544:53:shc.marmotcaravel.MarmotCaravelConfig.fir@216986.4]
+  wire  _T_1290; // @[CSR.scala 544:53:shc.marmotcaravel.MarmotCaravelConfig.fir@216987.4]
+  wire  exception; // @[CSR.scala 553:43:shc.marmotcaravel.MarmotCaravelConfig.fir@217002.4]
+  wire [1:0] _T_1298; // @[Bitwise.scala 48:55:shc.marmotcaravel.MarmotCaravelConfig.fir@217003.4]
+  wire [1:0] _T_1299; // @[Bitwise.scala 48:55:shc.marmotcaravel.MarmotCaravelConfig.fir@217004.4]
+  wire [2:0] _T_1300; // @[Bitwise.scala 48:55:shc.marmotcaravel.MarmotCaravelConfig.fir@217005.4]
+  wire  _T_1301; // @[CSR.scala 554:79:shc.marmotcaravel.MarmotCaravelConfig.fir@217006.4]
+  wire  _T_1303; // @[CSR.scala 554:9:shc.marmotcaravel.MarmotCaravelConfig.fir@217008.4]
+  wire  _T_1304; // @[CSR.scala 554:9:shc.marmotcaravel.MarmotCaravelConfig.fir@217009.4]
+  wire  _T_1306; // @[CSR.scala 556:18:shc.marmotcaravel.MarmotCaravelConfig.fir@217015.4]
+  wire  _T_1308; // @[CSR.scala 556:36:shc.marmotcaravel.MarmotCaravelConfig.fir@217017.4]
+  wire  _T_1309; // @[CSR.scala 557:28:shc.marmotcaravel.MarmotCaravelConfig.fir@217021.4]
+  wire  _T_1310; // @[CSR.scala 557:32:shc.marmotcaravel.MarmotCaravelConfig.fir@217022.4]
+  wire  _T_1311; // @[CSR.scala 557:55:shc.marmotcaravel.MarmotCaravelConfig.fir@217023.4]
+  wire  _T_1313; // @[CSR.scala 559:22:shc.marmotcaravel.MarmotCaravelConfig.fir@217028.4]
+  wire  _T_1321; // @[CSR.scala 562:10:shc.marmotcaravel.MarmotCaravelConfig.fir@217046.4]
+  wire  _T_1322; // @[CSR.scala 562:42:shc.marmotcaravel.MarmotCaravelConfig.fir@217047.4]
+  wire  _T_1323; // @[CSR.scala 562:29:shc.marmotcaravel.MarmotCaravelConfig.fir@217048.4]
+  wire  _T_1325; // @[CSR.scala 562:9:shc.marmotcaravel.MarmotCaravelConfig.fir@217050.4]
+  wire  _T_1326; // @[CSR.scala 562:9:shc.marmotcaravel.MarmotCaravelConfig.fir@217051.4]
+  wire [31:0] _T_1327; // @[CSR.scala 907:28:shc.marmotcaravel.MarmotCaravelConfig.fir@217056.4]
+  wire [31:0] _T_1328; // @[CSR.scala 907:31:shc.marmotcaravel.MarmotCaravelConfig.fir@217057.4]
+  wire [31:0] epc; // @[CSR.scala 907:26:shc.marmotcaravel.MarmotCaravelConfig.fir@217058.4]
+  wire [1:0] _T_1331; // @[CSR.scala 573:86:shc.marmotcaravel.MarmotCaravelConfig.fir@217068.10]
+  wire [1:0] _T_1332; // @[CSR.scala 573:56:shc.marmotcaravel.MarmotCaravelConfig.fir@217069.10]
+  wire [1:0] _GEN_48; // @[CSR.scala 577:27:shc.marmotcaravel.MarmotCaravelConfig.fir@217077.8]
+  wire [1:0] _GEN_67; // @[CSR.scala 569:24:shc.marmotcaravel.MarmotCaravelConfig.fir@217063.6]
+  wire [1:0] _GEN_85; // @[CSR.scala 568:20:shc.marmotcaravel.MarmotCaravelConfig.fir@217062.4]
+  wire  _T_1542; // @[CSR.scala 623:47:shc.marmotcaravel.MarmotCaravelConfig.fir@217315.8]
+  wire [31:0] _GEN_95; // @[CSR.scala 623:53:shc.marmotcaravel.MarmotCaravelConfig.fir@217317.8]
+  wire  _T_1555; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217354.4]
+  wire [31:0] _T_1556; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217355.4]
+  wire [31:0] _T_1557; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217356.4]
+  wire [31:0] _T_1558; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217357.4]
+  wire [31:0] _T_1559; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217358.4]
+  wire [31:0] _T_1560; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217359.4]
+  wire [15:0] _T_1561; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217360.4]
+  wire [31:0] _T_1562; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217361.4]
+  wire [31:0] _T_1563; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217362.4]
+  wire [31:0] _T_1564; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217363.4]
+  wire [31:0] _T_1565; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217364.4]
+  wire [31:0] _T_1566; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217365.4]
+  wire  _T_1567; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217366.4]
+  wire [31:0] _T_1568; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217367.4]
+  wire [31:0] _T_1569; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217368.4]
+  wire [31:0] _T_1570; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217369.4]
+  wire [63:0] _T_1571; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217370.4]
+  wire [63:0] _T_1572; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217371.4]
+  wire [31:0] _T_1660; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217459.4]
+  wire [31:0] _T_1661; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217460.4]
+  wire [31:0] _T_1662; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217461.4]
+  wire [31:0] _T_1663; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217462.4]
+  wire [29:0] _T_1666; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217465.4]
+  wire [29:0] _T_1667; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217466.4]
+  wire [29:0] _T_1668; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217467.4]
+  wire [29:0] _T_1669; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217468.4]
+  wire [29:0] _T_1670; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217469.4]
+  wire [29:0] _T_1671; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217470.4]
+  wire [29:0] _T_1672; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217471.4]
+  wire [29:0] _T_1673; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217472.4]
+  wire [31:0] _T_1683; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217482.4]
+  wire [31:0] _T_1685; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217484.4]
+  wire [31:0] _GEN_458; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217485.4]
+  wire [31:0] _T_1686; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217485.4]
+  wire [31:0] _T_1687; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217486.4]
+  wire [31:0] _T_1688; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217487.4]
+  wire [31:0] _T_1689; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217488.4]
+  wire [31:0] _T_1690; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217489.4]
+  wire [31:0] _GEN_459; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217490.4]
+  wire [31:0] _T_1691; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217490.4]
+  wire [31:0] _T_1692; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217491.4]
+  wire [31:0] _T_1693; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217492.4]
+  wire [31:0] _T_1694; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217493.4]
+  wire [31:0] _T_1695; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217494.4]
+  wire [31:0] _T_1696; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217495.4]
+  wire [31:0] _GEN_460; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217496.4]
+  wire [31:0] _T_1697; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217496.4]
+  wire [31:0] _T_1698; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217497.4]
+  wire [31:0] _T_1699; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217498.4]
+  wire [31:0] _T_1700; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217499.4]
+  wire [63:0] _GEN_461; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217500.4]
+  wire [63:0] _T_1701; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217500.4]
+  wire [63:0] _T_1702; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217501.4]
+  wire [63:0] _GEN_462; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217589.4]
+  wire [63:0] _T_1790; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217589.4]
+  wire [63:0] _GEN_463; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217590.4]
+  wire [63:0] _T_1791; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217590.4]
+  wire [63:0] _GEN_464; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217591.4]
+  wire [63:0] _T_1792; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217591.4]
+  wire [63:0] _GEN_465; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217592.4]
+  wire [63:0] _T_1793; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217592.4]
+  wire [63:0] _GEN_466; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217595.4]
+  wire [63:0] _T_1796; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217595.4]
+  wire [63:0] _GEN_467; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217596.4]
+  wire [63:0] _T_1797; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217596.4]
+  wire [63:0] _GEN_468; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217597.4]
+  wire [63:0] _T_1798; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217597.4]
+  wire [63:0] _GEN_469; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217598.4]
+  wire [63:0] _T_1799; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217598.4]
+  wire [63:0] _GEN_470; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217599.4]
+  wire [63:0] _T_1800; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217599.4]
+  wire [63:0] _GEN_471; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217600.4]
+  wire [63:0] _T_1801; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217600.4]
+  wire [63:0] _GEN_472; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217601.4]
+  wire [63:0] _T_1802; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217601.4]
+  wire [63:0] _GEN_473; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217602.4]
+  wire [63:0] _T_1803; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217602.4]
+  wire [63:0] _GEN_474; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217612.4]
+  wire [63:0] _T_1813; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217612.4]
+  wire [63:0] _GEN_475; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217614.4]
+  wire [63:0] _T_1815; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217614.4]
+  wire  _T_1818; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@217618.4]
+  wire  _T_1819; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@217619.4]
+  wire  _T_1820; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@217620.4]
+  wire  _T_3002; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@218809.4]
+  wire  csr_wen; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@218810.4]
+  wire [100:0] _T_3019; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218828.8 :shc.marmotcaravel.MarmotCaravelConfig.fir@218830.8]
+  wire  _T_3023; // @[CSR.scala 670:47:shc.marmotcaravel.MarmotCaravelConfig.fir@218837.8]
+  wire  _T_3027; // @[CSR.scala 670:47:shc.marmotcaravel.MarmotCaravelConfig.fir@218845.8]
+  wire  _T_3049; // @[CSR.scala 694:20:shc.marmotcaravel.MarmotCaravelConfig.fir@218893.8]
+  wire  _T_3050; // @[CSR.scala 696:39:shc.marmotcaravel.MarmotCaravelConfig.fir@218894.8]
+  wire  _T_3051; // @[CSR.scala 696:33:shc.marmotcaravel.MarmotCaravelConfig.fir@218895.8]
+  wire  _T_3053; // @[CSR.scala 696:51:shc.marmotcaravel.MarmotCaravelConfig.fir@218897.8]
+  wire  _T_3054; // @[CSR.scala 696:43:shc.marmotcaravel.MarmotCaravelConfig.fir@218898.8]
+  wire [31:0] _T_3055; // @[CSR.scala 698:25:shc.marmotcaravel.MarmotCaravelConfig.fir@218900.10]
+  wire  _T_3056; // @[CSR.scala 698:35:shc.marmotcaravel.MarmotCaravelConfig.fir@218901.10]
+  wire [3:0] _GEN_476; // @[CSR.scala 698:38:shc.marmotcaravel.MarmotCaravelConfig.fir@218902.10]
+  wire [3:0] _T_3057; // @[CSR.scala 698:38:shc.marmotcaravel.MarmotCaravelConfig.fir@218902.10]
+  wire [31:0] _GEN_477; // @[CSR.scala 698:32:shc.marmotcaravel.MarmotCaravelConfig.fir@218903.10]
+  wire [31:0] _T_3058; // @[CSR.scala 698:32:shc.marmotcaravel.MarmotCaravelConfig.fir@218903.10]
+  wire [31:0] _T_3059; // @[CSR.scala 698:23:shc.marmotcaravel.MarmotCaravelConfig.fir@218904.10]
+  wire [31:0] _T_3060; // @[CSR.scala 698:55:shc.marmotcaravel.MarmotCaravelConfig.fir@218905.10]
+  wire [31:0] _T_3062; // @[CSR.scala 698:73:shc.marmotcaravel.MarmotCaravelConfig.fir@218907.10]
+  wire [31:0] _T_3063; // @[CSR.scala 698:62:shc.marmotcaravel.MarmotCaravelConfig.fir@218908.10]
+  wire [31:0] _T_3115; // @[CSR.scala 713:59:shc.marmotcaravel.MarmotCaravelConfig.fir@218976.8]
+  wire [31:0] _T_3117; // @[CSR.scala 907:31:shc.marmotcaravel.MarmotCaravelConfig.fir@218981.8]
+  wire [31:0] _T_3118; // @[CSR.scala 907:26:shc.marmotcaravel.MarmotCaravelConfig.fir@218982.8]
+  wire [31:0] _T_3120; // @[CSR.scala 717:64:shc.marmotcaravel.MarmotCaravelConfig.fir@218990.8]
+  wire  _T_3121; // @[CSR.scala 717:81:shc.marmotcaravel.MarmotCaravelConfig.fir@218991.8]
+  wire [6:0] _T_3122; // @[CSR.scala 717:75:shc.marmotcaravel.MarmotCaravelConfig.fir@218992.8]
+  wire [31:0] _GEN_478; // @[CSR.scala 717:70:shc.marmotcaravel.MarmotCaravelConfig.fir@218993.8]
+  wire [31:0] _T_3123; // @[CSR.scala 717:70:shc.marmotcaravel.MarmotCaravelConfig.fir@218993.8]
+  wire [31:0] _T_3124; // @[CSR.scala 717:55:shc.marmotcaravel.MarmotCaravelConfig.fir@218994.8]
+  wire [31:0] _T_3125; // @[CSR.scala 718:62:shc.marmotcaravel.MarmotCaravelConfig.fir@218998.8]
+  wire [31:0] _T_3127; // @[CSR.scala 901:47:shc.marmotcaravel.MarmotCaravelConfig.fir@219006.8]
+  wire [63:0] _T_3128; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@219007.8]
+  wire [57:0] _T_3129; // @[Counters.scala 67:28:shc.marmotcaravel.MarmotCaravelConfig.fir@219009.8]
+  wire [63:0] _GEN_129; // @[CSR.scala 901:31:shc.marmotcaravel.MarmotCaravelConfig.fir@219005.6]
+  wire [31:0] _T_3131; // @[CSR.scala 902:74:shc.marmotcaravel.MarmotCaravelConfig.fir@219014.8]
+  wire [63:0] _T_3132; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@219015.8]
+  wire [57:0] _T_3133; // @[Counters.scala 67:28:shc.marmotcaravel.MarmotCaravelConfig.fir@219017.8]
+  wire [63:0] _GEN_131; // @[CSR.scala 902:31:shc.marmotcaravel.MarmotCaravelConfig.fir@219012.6]
+  wire [31:0] _T_3134; // @[CSR.scala 901:47:shc.marmotcaravel.MarmotCaravelConfig.fir@219021.8]
+  wire [63:0] _T_3135; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@219022.8]
+  wire [57:0] _T_3136; // @[Counters.scala 67:28:shc.marmotcaravel.MarmotCaravelConfig.fir@219024.8]
+  wire [63:0] _GEN_133; // @[CSR.scala 901:31:shc.marmotcaravel.MarmotCaravelConfig.fir@219020.6]
+  wire [31:0] _T_3138; // @[CSR.scala 902:74:shc.marmotcaravel.MarmotCaravelConfig.fir@219029.8]
+  wire [63:0] _T_3139; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@219030.8]
+  wire [57:0] _T_3140; // @[Counters.scala 67:28:shc.marmotcaravel.MarmotCaravelConfig.fir@219032.8]
+  wire [63:0] _GEN_135; // @[CSR.scala 902:31:shc.marmotcaravel.MarmotCaravelConfig.fir@219027.6]
+  wire  _T_3152; // @[CSR.scala 737:43:shc.marmotcaravel.MarmotCaravelConfig.fir@219053.8]
+  wire  _T_3153; // @[CSR.scala 737:43:shc.marmotcaravel.MarmotCaravelConfig.fir@219055.8]
+  wire  _T_3156; // @[CSR.scala 737:43:shc.marmotcaravel.MarmotCaravelConfig.fir@219061.8]
+  wire [31:0] _GEN_141; // @[CSR.scala 786:41:shc.marmotcaravel.MarmotCaravelConfig.fir@219081.6]
+  wire  _T_3164; // @[CSR.scala 789:13:shc.marmotcaravel.MarmotCaravelConfig.fir@219084.6]
+  wire  _T_3165; // @[CSR.scala 789:31:shc.marmotcaravel.MarmotCaravelConfig.fir@219085.6]
+  wire  _T_3172; // @[CSR.scala 791:48:shc.marmotcaravel.MarmotCaravelConfig.fir@219095.10]
+  wire [1:0] _T_3178; // @[CSR.scala 791:48:shc.marmotcaravel.MarmotCaravelConfig.fir@219107.10]
+  wire  _T_3184; // @[CSR.scala 791:48:shc.marmotcaravel.MarmotCaravelConfig.fir@219119.10]
+  wire  _T_3186; // @[CSR.scala 792:36:shc.marmotcaravel.MarmotCaravelConfig.fir@219123.10]
+  wire  _T_3187; // @[CSR.scala 795:38:shc.marmotcaravel.MarmotCaravelConfig.fir@219126.10]
+  wire  _T_3188; // @[CSR.scala 802:60:shc.marmotcaravel.MarmotCaravelConfig.fir@219133.6]
+  wire  _T_3189; // @[CSR.scala 802:57:shc.marmotcaravel.MarmotCaravelConfig.fir@219134.6]
+  wire [7:0] _T_3195; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@219139.8 :shc.marmotcaravel.MarmotCaravelConfig.fir@219141.8]
+  wire  _T_3196; // @[CSR.scala 803:46:shc.marmotcaravel.MarmotCaravelConfig.fir@219142.8]
+  wire  _T_3197; // @[CSR.scala 803:46:shc.marmotcaravel.MarmotCaravelConfig.fir@219144.8]
+  wire  _T_3198; // @[CSR.scala 803:46:shc.marmotcaravel.MarmotCaravelConfig.fir@219146.8]
+  wire [1:0] _T_3199; // @[CSR.scala 803:46:shc.marmotcaravel.MarmotCaravelConfig.fir@219148.8]
+  wire  _T_3201; // @[CSR.scala 803:46:shc.marmotcaravel.MarmotCaravelConfig.fir@219152.8]
+  wire  _T_3202; // @[PMP.scala 39:20:shc.marmotcaravel.MarmotCaravelConfig.fir@219156.6]
+  wire  _T_3203; // @[PMP.scala 41:13:shc.marmotcaravel.MarmotCaravelConfig.fir@219157.6]
+  wire  _T_3205; // @[PMP.scala 41:20:shc.marmotcaravel.MarmotCaravelConfig.fir@219159.6]
+  wire  _T_3206; // @[PMP.scala 43:62:shc.marmotcaravel.MarmotCaravelConfig.fir@219160.6]
+  wire  _T_3207; // @[PMP.scala 43:44:shc.marmotcaravel.MarmotCaravelConfig.fir@219161.6]
+  wire  _T_3208; // @[CSR.scala 809:48:shc.marmotcaravel.MarmotCaravelConfig.fir@219162.6]
+  wire  _T_3209; // @[CSR.scala 809:45:shc.marmotcaravel.MarmotCaravelConfig.fir@219163.6]
+  wire [31:0] _GEN_248; // @[CSR.scala 809:71:shc.marmotcaravel.MarmotCaravelConfig.fir@219164.6]
+  wire  _T_3210; // @[CSR.scala 802:60:shc.marmotcaravel.MarmotCaravelConfig.fir@219167.6]
+  wire  _T_3211; // @[CSR.scala 802:57:shc.marmotcaravel.MarmotCaravelConfig.fir@219168.6]
+  wire [23:0] _T_3213; // @[CSR.scala 803:53:shc.marmotcaravel.MarmotCaravelConfig.fir@219170.8]
+  wire [7:0] _T_3217; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@219173.8 :shc.marmotcaravel.MarmotCaravelConfig.fir@219175.8]
+  wire  _T_3218; // @[CSR.scala 803:46:shc.marmotcaravel.MarmotCaravelConfig.fir@219176.8]
+  wire  _T_3219; // @[CSR.scala 803:46:shc.marmotcaravel.MarmotCaravelConfig.fir@219178.8]
+  wire  _T_3220; // @[CSR.scala 803:46:shc.marmotcaravel.MarmotCaravelConfig.fir@219180.8]
+  wire [1:0] _T_3221; // @[CSR.scala 803:46:shc.marmotcaravel.MarmotCaravelConfig.fir@219182.8]
+  wire  _T_3223; // @[CSR.scala 803:46:shc.marmotcaravel.MarmotCaravelConfig.fir@219186.8]
+  wire  _T_3224; // @[PMP.scala 39:20:shc.marmotcaravel.MarmotCaravelConfig.fir@219190.6]
+  wire  _T_3225; // @[PMP.scala 41:13:shc.marmotcaravel.MarmotCaravelConfig.fir@219191.6]
+  wire  _T_3227; // @[PMP.scala 41:20:shc.marmotcaravel.MarmotCaravelConfig.fir@219193.6]
+  wire  _T_3228; // @[PMP.scala 43:62:shc.marmotcaravel.MarmotCaravelConfig.fir@219194.6]
+  wire  _T_3229; // @[PMP.scala 43:44:shc.marmotcaravel.MarmotCaravelConfig.fir@219195.6]
+  wire  _T_3230; // @[CSR.scala 809:48:shc.marmotcaravel.MarmotCaravelConfig.fir@219196.6]
+  wire  _T_3231; // @[CSR.scala 809:45:shc.marmotcaravel.MarmotCaravelConfig.fir@219197.6]
+  wire [31:0] _GEN_255; // @[CSR.scala 809:71:shc.marmotcaravel.MarmotCaravelConfig.fir@219198.6]
+  wire  _T_3232; // @[CSR.scala 802:60:shc.marmotcaravel.MarmotCaravelConfig.fir@219201.6]
+  wire  _T_3233; // @[CSR.scala 802:57:shc.marmotcaravel.MarmotCaravelConfig.fir@219202.6]
+  wire [15:0] _T_3235; // @[CSR.scala 803:53:shc.marmotcaravel.MarmotCaravelConfig.fir@219204.8]
+  wire [7:0] _T_3239; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@219207.8 :shc.marmotcaravel.MarmotCaravelConfig.fir@219209.8]
+  wire  _T_3240; // @[CSR.scala 803:46:shc.marmotcaravel.MarmotCaravelConfig.fir@219210.8]
+  wire  _T_3241; // @[CSR.scala 803:46:shc.marmotcaravel.MarmotCaravelConfig.fir@219212.8]
+  wire  _T_3242; // @[CSR.scala 803:46:shc.marmotcaravel.MarmotCaravelConfig.fir@219214.8]
+  wire [1:0] _T_3243; // @[CSR.scala 803:46:shc.marmotcaravel.MarmotCaravelConfig.fir@219216.8]
+  wire  _T_3245; // @[CSR.scala 803:46:shc.marmotcaravel.MarmotCaravelConfig.fir@219220.8]
+  wire  _T_3246; // @[PMP.scala 39:20:shc.marmotcaravel.MarmotCaravelConfig.fir@219224.6]
+  wire  _T_3247; // @[PMP.scala 41:13:shc.marmotcaravel.MarmotCaravelConfig.fir@219225.6]
+  wire  _T_3249; // @[PMP.scala 41:20:shc.marmotcaravel.MarmotCaravelConfig.fir@219227.6]
+  wire  _T_3250; // @[PMP.scala 43:62:shc.marmotcaravel.MarmotCaravelConfig.fir@219228.6]
+  wire  _T_3251; // @[PMP.scala 43:44:shc.marmotcaravel.MarmotCaravelConfig.fir@219229.6]
+  wire  _T_3252; // @[CSR.scala 809:48:shc.marmotcaravel.MarmotCaravelConfig.fir@219230.6]
+  wire  _T_3253; // @[CSR.scala 809:45:shc.marmotcaravel.MarmotCaravelConfig.fir@219231.6]
+  wire [31:0] _GEN_262; // @[CSR.scala 809:71:shc.marmotcaravel.MarmotCaravelConfig.fir@219232.6]
+  wire  _T_3254; // @[CSR.scala 802:60:shc.marmotcaravel.MarmotCaravelConfig.fir@219235.6]
+  wire  _T_3255; // @[CSR.scala 802:57:shc.marmotcaravel.MarmotCaravelConfig.fir@219236.6]
+  wire [7:0] _T_3257; // @[CSR.scala 803:53:shc.marmotcaravel.MarmotCaravelConfig.fir@219238.8]
+  wire  _T_3262; // @[CSR.scala 803:46:shc.marmotcaravel.MarmotCaravelConfig.fir@219244.8]
+  wire  _T_3263; // @[CSR.scala 803:46:shc.marmotcaravel.MarmotCaravelConfig.fir@219246.8]
+  wire  _T_3264; // @[CSR.scala 803:46:shc.marmotcaravel.MarmotCaravelConfig.fir@219248.8]
+  wire [1:0] _T_3265; // @[CSR.scala 803:46:shc.marmotcaravel.MarmotCaravelConfig.fir@219250.8]
+  wire  _T_3267; // @[CSR.scala 803:46:shc.marmotcaravel.MarmotCaravelConfig.fir@219254.8]
+  wire  _T_3268; // @[PMP.scala 39:20:shc.marmotcaravel.MarmotCaravelConfig.fir@219258.6]
+  wire  _T_3269; // @[PMP.scala 41:13:shc.marmotcaravel.MarmotCaravelConfig.fir@219259.6]
+  wire  _T_3271; // @[PMP.scala 41:20:shc.marmotcaravel.MarmotCaravelConfig.fir@219261.6]
+  wire  _T_3272; // @[PMP.scala 43:62:shc.marmotcaravel.MarmotCaravelConfig.fir@219262.6]
+  wire  _T_3273; // @[PMP.scala 43:44:shc.marmotcaravel.MarmotCaravelConfig.fir@219263.6]
+  wire  _T_3274; // @[CSR.scala 809:48:shc.marmotcaravel.MarmotCaravelConfig.fir@219264.6]
+  wire  _T_3275; // @[CSR.scala 809:45:shc.marmotcaravel.MarmotCaravelConfig.fir@219265.6]
+  wire [31:0] _GEN_269; // @[CSR.scala 809:71:shc.marmotcaravel.MarmotCaravelConfig.fir@219266.6]
+  wire  _T_3276; // @[CSR.scala 802:60:shc.marmotcaravel.MarmotCaravelConfig.fir@219269.6]
+  wire  _T_3277; // @[CSR.scala 802:57:shc.marmotcaravel.MarmotCaravelConfig.fir@219270.6]
+  wire  _T_3290; // @[PMP.scala 39:20:shc.marmotcaravel.MarmotCaravelConfig.fir@219292.6]
+  wire  _T_3291; // @[PMP.scala 41:13:shc.marmotcaravel.MarmotCaravelConfig.fir@219293.6]
+  wire  _T_3293; // @[PMP.scala 41:20:shc.marmotcaravel.MarmotCaravelConfig.fir@219295.6]
+  wire  _T_3294; // @[PMP.scala 43:62:shc.marmotcaravel.MarmotCaravelConfig.fir@219296.6]
+  wire  _T_3295; // @[PMP.scala 43:44:shc.marmotcaravel.MarmotCaravelConfig.fir@219297.6]
+  wire  _T_3296; // @[CSR.scala 809:48:shc.marmotcaravel.MarmotCaravelConfig.fir@219298.6]
+  wire  _T_3297; // @[CSR.scala 809:45:shc.marmotcaravel.MarmotCaravelConfig.fir@219299.6]
+  wire [31:0] _GEN_276; // @[CSR.scala 809:71:shc.marmotcaravel.MarmotCaravelConfig.fir@219300.6]
+  wire  _T_3298; // @[CSR.scala 802:60:shc.marmotcaravel.MarmotCaravelConfig.fir@219303.6]
+  wire  _T_3299; // @[CSR.scala 802:57:shc.marmotcaravel.MarmotCaravelConfig.fir@219304.6]
+  wire  _T_3312; // @[PMP.scala 39:20:shc.marmotcaravel.MarmotCaravelConfig.fir@219326.6]
+  wire  _T_3313; // @[PMP.scala 41:13:shc.marmotcaravel.MarmotCaravelConfig.fir@219327.6]
+  wire  _T_3315; // @[PMP.scala 41:20:shc.marmotcaravel.MarmotCaravelConfig.fir@219329.6]
+  wire  _T_3316; // @[PMP.scala 43:62:shc.marmotcaravel.MarmotCaravelConfig.fir@219330.6]
+  wire  _T_3317; // @[PMP.scala 43:44:shc.marmotcaravel.MarmotCaravelConfig.fir@219331.6]
+  wire  _T_3318; // @[CSR.scala 809:48:shc.marmotcaravel.MarmotCaravelConfig.fir@219332.6]
+  wire  _T_3319; // @[CSR.scala 809:45:shc.marmotcaravel.MarmotCaravelConfig.fir@219333.6]
+  wire [31:0] _GEN_283; // @[CSR.scala 809:71:shc.marmotcaravel.MarmotCaravelConfig.fir@219334.6]
+  wire  _T_3320; // @[CSR.scala 802:60:shc.marmotcaravel.MarmotCaravelConfig.fir@219337.6]
+  wire  _T_3321; // @[CSR.scala 802:57:shc.marmotcaravel.MarmotCaravelConfig.fir@219338.6]
+  wire  _T_3334; // @[PMP.scala 39:20:shc.marmotcaravel.MarmotCaravelConfig.fir@219360.6]
+  wire  _T_3335; // @[PMP.scala 41:13:shc.marmotcaravel.MarmotCaravelConfig.fir@219361.6]
+  wire  _T_3337; // @[PMP.scala 41:20:shc.marmotcaravel.MarmotCaravelConfig.fir@219363.6]
+  wire  _T_3338; // @[PMP.scala 43:62:shc.marmotcaravel.MarmotCaravelConfig.fir@219364.6]
+  wire  _T_3339; // @[PMP.scala 43:44:shc.marmotcaravel.MarmotCaravelConfig.fir@219365.6]
+  wire  _T_3340; // @[CSR.scala 809:48:shc.marmotcaravel.MarmotCaravelConfig.fir@219366.6]
+  wire  _T_3341; // @[CSR.scala 809:45:shc.marmotcaravel.MarmotCaravelConfig.fir@219367.6]
+  wire [31:0] _GEN_290; // @[CSR.scala 809:71:shc.marmotcaravel.MarmotCaravelConfig.fir@219368.6]
+  wire  _T_3342; // @[CSR.scala 802:60:shc.marmotcaravel.MarmotCaravelConfig.fir@219371.6]
+  wire  _T_3343; // @[CSR.scala 802:57:shc.marmotcaravel.MarmotCaravelConfig.fir@219372.6]
+  wire  _T_3361; // @[PMP.scala 43:44:shc.marmotcaravel.MarmotCaravelConfig.fir@219399.6]
+  wire  _T_3362; // @[CSR.scala 809:48:shc.marmotcaravel.MarmotCaravelConfig.fir@219400.6]
+  wire  _T_3363; // @[CSR.scala 809:45:shc.marmotcaravel.MarmotCaravelConfig.fir@219401.6]
+  wire [31:0] _GEN_297; // @[CSR.scala 809:71:shc.marmotcaravel.MarmotCaravelConfig.fir@219402.6]
+  wire [63:0] _GEN_315; // @[CSR.scala 668:18:shc.marmotcaravel.MarmotCaravelConfig.fir@218824.4]
+  wire [63:0] _GEN_317; // @[CSR.scala 668:18:shc.marmotcaravel.MarmotCaravelConfig.fir@218824.4]
+  wire [31:0] _GEN_323; // @[CSR.scala 668:18:shc.marmotcaravel.MarmotCaravelConfig.fir@218824.4]
+  wire [31:0] _GEN_362; // @[CSR.scala 668:18:shc.marmotcaravel.MarmotCaravelConfig.fir@218824.4]
+  wire [31:0] _GEN_369; // @[CSR.scala 668:18:shc.marmotcaravel.MarmotCaravelConfig.fir@218824.4]
+  wire [31:0] _GEN_376; // @[CSR.scala 668:18:shc.marmotcaravel.MarmotCaravelConfig.fir@218824.4]
+  wire [31:0] _GEN_383; // @[CSR.scala 668:18:shc.marmotcaravel.MarmotCaravelConfig.fir@218824.4]
+  wire [31:0] _GEN_390; // @[CSR.scala 668:18:shc.marmotcaravel.MarmotCaravelConfig.fir@218824.4]
+  wire [31:0] _GEN_397; // @[CSR.scala 668:18:shc.marmotcaravel.MarmotCaravelConfig.fir@218824.4]
+  wire [31:0] _GEN_404; // @[CSR.scala 668:18:shc.marmotcaravel.MarmotCaravelConfig.fir@218824.4]
+  wire [31:0] _GEN_411; // @[CSR.scala 668:18:shc.marmotcaravel.MarmotCaravelConfig.fir@218824.4]
+  wire  _T_3392; // @[CSR.scala 865:26:shc.marmotcaravel.MarmotCaravelConfig.fir@219527.4]
+  assign _GEN_446 = {{5'd0}, io_retire}; // @[Counters.scala 47:33:shc.marmotcaravel.MarmotCaravelConfig.fir@215878.4]
+  assign _T_259 = _T_258 + _GEN_446; // @[Counters.scala 47:33:shc.marmotcaravel.MarmotCaravelConfig.fir@215878.4]
+  assign _T_262 = _T_259[6]; // @[Counters.scala 52:20:shc.marmotcaravel.MarmotCaravelConfig.fir@215881.4]
+  assign _T_264 = _T_261 + 58'h1; // @[Counters.scala 52:43:shc.marmotcaravel.MarmotCaravelConfig.fir@215884.6]
+  assign _T_265 = {_T_261,_T_258}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215887.4]
+  assign _T_266 = reg_wfi == 1'h0; // @[CSR.scala 320:103:shc.marmotcaravel.MarmotCaravelConfig.fir@215888.4]
+  assign _GEN_447 = {{5'd0}, _T_266}; // @[Counters.scala 47:33:shc.marmotcaravel.MarmotCaravelConfig.fir@215890.4]
+  assign _T_269 = _T_268 + _GEN_447; // @[Counters.scala 47:33:shc.marmotcaravel.MarmotCaravelConfig.fir@215890.4]
+  assign _T_272 = _T_269[6]; // @[Counters.scala 52:20:shc.marmotcaravel.MarmotCaravelConfig.fir@215893.4]
+  assign _T_274 = _T_271 + 58'h1; // @[Counters.scala 52:43:shc.marmotcaravel.MarmotCaravelConfig.fir@215896.6]
+  assign _T_275 = {_T_271,_T_268}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215899.4]
+  assign _T_282 = {io_interrupts_msip,1'h0}; // @[CSR.scala 333:22:shc.marmotcaravel.MarmotCaravelConfig.fir@215908.4]
+  assign _T_283 = {_T_282,2'h0}; // @[CSR.scala 333:22:shc.marmotcaravel.MarmotCaravelConfig.fir@215909.4]
+  assign _T_285 = {io_interrupts_mtip,1'h0}; // @[CSR.scala 333:22:shc.marmotcaravel.MarmotCaravelConfig.fir@215911.4]
+  assign _T_286 = {_T_285,2'h0}; // @[CSR.scala 333:22:shc.marmotcaravel.MarmotCaravelConfig.fir@215912.4]
+  assign _T_287 = {_T_286,_T_283}; // @[CSR.scala 333:22:shc.marmotcaravel.MarmotCaravelConfig.fir@215913.4]
+  assign _T_289 = {io_interrupts_meip,1'h0}; // @[CSR.scala 333:22:shc.marmotcaravel.MarmotCaravelConfig.fir@215915.4]
+  assign _T_290 = {_T_289,2'h0}; // @[CSR.scala 333:22:shc.marmotcaravel.MarmotCaravelConfig.fir@215916.4]
+  assign _T_294 = {4'h0,_T_290}; // @[CSR.scala 333:22:shc.marmotcaravel.MarmotCaravelConfig.fir@215920.4]
+  assign _T_295 = {_T_294,_T_287}; // @[CSR.scala 333:22:shc.marmotcaravel.MarmotCaravelConfig.fir@215921.4]
+  assign read_mip = _T_295 & 16'h888; // @[CSR.scala 333:29:shc.marmotcaravel.MarmotCaravelConfig.fir@215922.4]
+  assign _GEN_448 = {{16'd0}, read_mip}; // @[CSR.scala 336:56:shc.marmotcaravel.MarmotCaravelConfig.fir@215923.4]
+  assign pending_interrupts = _GEN_448 & reg_mie; // @[CSR.scala 336:56:shc.marmotcaravel.MarmotCaravelConfig.fir@215923.4]
+  assign _GEN_449 = {{14'd0}, io_interrupts_debug}; // @[CSR.scala 337:42:shc.marmotcaravel.MarmotCaravelConfig.fir@215925.4]
+  assign d_interrupts = _GEN_449 << 14; // @[CSR.scala 337:42:shc.marmotcaravel.MarmotCaravelConfig.fir@215925.4]
+  assign _T_299 = ~ pending_interrupts; // @[CSR.scala 338:73:shc.marmotcaravel.MarmotCaravelConfig.fir@215928.4]
+  assign _T_301 = ~ _T_299; // @[CSR.scala 338:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215930.4]
+  assign m_interrupts = reg_mstatus_mie ? _T_301 : 32'h0; // @[CSR.scala 338:25:shc.marmotcaravel.MarmotCaravelConfig.fir@215931.4]
+  assign _T_307 = d_interrupts[14]; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@215938.4]
+  assign _T_308 = d_interrupts[13]; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@215939.4]
+  assign _T_309 = d_interrupts[12]; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@215940.4]
+  assign _T_310 = d_interrupts[11]; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@215941.4]
+  assign _T_311 = d_interrupts[3]; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@215942.4]
+  assign _T_312 = d_interrupts[7]; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@215943.4]
+  assign _T_313 = d_interrupts[9]; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@215944.4]
+  assign _T_314 = d_interrupts[1]; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@215945.4]
+  assign _T_315 = d_interrupts[5]; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@215946.4]
+  assign _T_316 = d_interrupts[8]; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@215947.4]
+  assign _T_317 = d_interrupts[0]; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@215948.4]
+  assign _T_318 = d_interrupts[4]; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@215949.4]
+  assign _T_319 = m_interrupts[15]; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@215950.4]
+  assign _T_320 = m_interrupts[14]; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@215951.4]
+  assign _T_321 = m_interrupts[13]; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@215952.4]
+  assign _T_322 = m_interrupts[12]; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@215953.4]
+  assign _T_323 = m_interrupts[11]; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@215954.4]
+  assign _T_324 = m_interrupts[3]; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@215955.4]
+  assign _T_325 = m_interrupts[7]; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@215956.4]
+  assign _T_326 = m_interrupts[9]; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@215957.4]
+  assign _T_327 = m_interrupts[1]; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@215958.4]
+  assign _T_328 = m_interrupts[5]; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@215959.4]
+  assign _T_329 = m_interrupts[8]; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@215960.4]
+  assign _T_330 = m_interrupts[0]; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@215961.4]
+  assign _T_331 = m_interrupts[4]; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@215962.4]
+  assign _T_345 = _T_307 | _T_308; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@215976.4]
+  assign _T_346 = _T_345 | _T_309; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@215977.4]
+  assign _T_347 = _T_346 | _T_310; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@215978.4]
+  assign _T_348 = _T_347 | _T_311; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@215979.4]
+  assign _T_349 = _T_348 | _T_312; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@215980.4]
+  assign _T_350 = _T_349 | _T_313; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@215981.4]
+  assign _T_351 = _T_350 | _T_314; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@215982.4]
+  assign _T_352 = _T_351 | _T_315; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@215983.4]
+  assign _T_353 = _T_352 | _T_316; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@215984.4]
+  assign _T_354 = _T_353 | _T_317; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@215985.4]
+  assign _T_355 = _T_354 | _T_318; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@215986.4]
+  assign _T_356 = _T_355 | _T_319; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@215987.4]
+  assign _T_357 = _T_356 | _T_320; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@215988.4]
+  assign _T_358 = _T_357 | _T_321; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@215989.4]
+  assign _T_359 = _T_358 | _T_322; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@215990.4]
+  assign _T_360 = _T_359 | _T_323; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@215991.4]
+  assign _T_361 = _T_360 | _T_324; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@215992.4]
+  assign _T_362 = _T_361 | _T_325; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@215993.4]
+  assign _T_363 = _T_362 | _T_326; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@215994.4]
+  assign _T_364 = _T_363 | _T_327; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@215995.4]
+  assign _T_365 = _T_364 | _T_328; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@215996.4]
+  assign _T_366 = _T_365 | _T_329; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@215997.4]
+  assign _T_367 = _T_366 | _T_330; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@215998.4]
+  assign anyInterrupt = _T_367 | _T_331; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@215999.4]
+  assign _T_432 = _T_330 ? 4'h0 : 4'h4; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@216064.4]
+  assign _T_433 = _T_329 ? 4'h8 : _T_432; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@216065.4]
+  assign _T_434 = _T_328 ? 4'h5 : _T_433; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@216066.4]
+  assign _T_435 = _T_327 ? 4'h1 : _T_434; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@216067.4]
+  assign _T_436 = _T_326 ? 4'h9 : _T_435; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@216068.4]
+  assign _T_437 = _T_325 ? 4'h7 : _T_436; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@216069.4]
+  assign _T_438 = _T_324 ? 4'h3 : _T_437; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@216070.4]
+  assign _T_439 = _T_323 ? 4'hb : _T_438; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@216071.4]
+  assign _T_440 = _T_322 ? 4'hc : _T_439; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@216072.4]
+  assign _T_441 = _T_321 ? 4'hd : _T_440; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@216073.4]
+  assign _T_442 = _T_320 ? 4'he : _T_441; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@216074.4]
+  assign _T_443 = _T_319 ? 4'hf : _T_442; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@216075.4]
+  assign _T_444 = _T_318 ? 4'h4 : _T_443; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@216076.4]
+  assign _T_445 = _T_317 ? 4'h0 : _T_444; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@216077.4]
+  assign _T_446 = _T_316 ? 4'h8 : _T_445; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@216078.4]
+  assign _T_447 = _T_315 ? 4'h5 : _T_446; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@216079.4]
+  assign _T_448 = _T_314 ? 4'h1 : _T_447; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@216080.4]
+  assign _T_449 = _T_313 ? 4'h9 : _T_448; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@216081.4]
+  assign _T_450 = _T_312 ? 4'h7 : _T_449; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@216082.4]
+  assign _T_451 = _T_311 ? 4'h3 : _T_450; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@216083.4]
+  assign _T_452 = _T_310 ? 4'hb : _T_451; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@216084.4]
+  assign _T_453 = _T_309 ? 4'hc : _T_452; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@216085.4]
+  assign _T_454 = _T_308 ? 4'hd : _T_453; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@216086.4]
+  assign whichInterrupt = _T_307 ? 4'he : _T_454; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@216087.4]
+  assign _GEN_450 = {{28'd0}, whichInterrupt}; // @[CSR.scala 342:43:shc.marmotcaravel.MarmotCaravelConfig.fir@216088.4]
+  assign _T_456 = io_singleStep == 1'h0; // @[CSR.scala 343:36:shc.marmotcaravel.MarmotCaravelConfig.fir@216090.4]
+  assign _T_457 = anyInterrupt & _T_456; // @[CSR.scala 343:33:shc.marmotcaravel.MarmotCaravelConfig.fir@216091.4]
+  assign _T_458 = _T_457 | reg_singleStepped; // @[CSR.scala 343:51:shc.marmotcaravel.MarmotCaravelConfig.fir@216092.4]
+  assign _T_459 = reg_debug == 1'h0; // @[CSR.scala 343:76:shc.marmotcaravel.MarmotCaravelConfig.fir@216093.4]
+  assign _T_463 = reg_pmp_0_cfg_a[0]; // @[PMP.scala 51:31:shc.marmotcaravel.MarmotCaravelConfig.fir@216102.4]
+  assign _T_464 = {reg_pmp_0_addr,_T_463}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@216103.4]
+  assign _T_467 = _T_464 + 31'h1; // @[PMP.scala 52:23:shc.marmotcaravel.MarmotCaravelConfig.fir@216106.4]
+  assign _T_468 = ~ _T_467; // @[PMP.scala 52:16:shc.marmotcaravel.MarmotCaravelConfig.fir@216107.4]
+  assign _T_469 = _T_464 & _T_468; // @[PMP.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216108.4]
+  assign _T_470 = {_T_469,2'h3}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@216109.4]
+  assign _T_473 = reg_pmp_1_cfg_a[0]; // @[PMP.scala 51:31:shc.marmotcaravel.MarmotCaravelConfig.fir@216114.4]
+  assign _T_474 = {reg_pmp_1_addr,_T_473}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@216115.4]
+  assign _T_477 = _T_474 + 31'h1; // @[PMP.scala 52:23:shc.marmotcaravel.MarmotCaravelConfig.fir@216118.4]
+  assign _T_478 = ~ _T_477; // @[PMP.scala 52:16:shc.marmotcaravel.MarmotCaravelConfig.fir@216119.4]
+  assign _T_479 = _T_474 & _T_478; // @[PMP.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216120.4]
+  assign _T_480 = {_T_479,2'h3}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@216121.4]
+  assign _T_483 = reg_pmp_2_cfg_a[0]; // @[PMP.scala 51:31:shc.marmotcaravel.MarmotCaravelConfig.fir@216126.4]
+  assign _T_484 = {reg_pmp_2_addr,_T_483}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@216127.4]
+  assign _T_487 = _T_484 + 31'h1; // @[PMP.scala 52:23:shc.marmotcaravel.MarmotCaravelConfig.fir@216130.4]
+  assign _T_488 = ~ _T_487; // @[PMP.scala 52:16:shc.marmotcaravel.MarmotCaravelConfig.fir@216131.4]
+  assign _T_489 = _T_484 & _T_488; // @[PMP.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216132.4]
+  assign _T_490 = {_T_489,2'h3}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@216133.4]
+  assign _T_493 = reg_pmp_3_cfg_a[0]; // @[PMP.scala 51:31:shc.marmotcaravel.MarmotCaravelConfig.fir@216138.4]
+  assign _T_494 = {reg_pmp_3_addr,_T_493}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@216139.4]
+  assign _T_497 = _T_494 + 31'h1; // @[PMP.scala 52:23:shc.marmotcaravel.MarmotCaravelConfig.fir@216142.4]
+  assign _T_498 = ~ _T_497; // @[PMP.scala 52:16:shc.marmotcaravel.MarmotCaravelConfig.fir@216143.4]
+  assign _T_499 = _T_494 & _T_498; // @[PMP.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216144.4]
+  assign _T_500 = {_T_499,2'h3}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@216145.4]
+  assign _T_503 = reg_pmp_4_cfg_a[0]; // @[PMP.scala 51:31:shc.marmotcaravel.MarmotCaravelConfig.fir@216150.4]
+  assign _T_504 = {reg_pmp_4_addr,_T_503}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@216151.4]
+  assign _T_507 = _T_504 + 31'h1; // @[PMP.scala 52:23:shc.marmotcaravel.MarmotCaravelConfig.fir@216154.4]
+  assign _T_508 = ~ _T_507; // @[PMP.scala 52:16:shc.marmotcaravel.MarmotCaravelConfig.fir@216155.4]
+  assign _T_509 = _T_504 & _T_508; // @[PMP.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216156.4]
+  assign _T_510 = {_T_509,2'h3}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@216157.4]
+  assign _T_513 = reg_pmp_5_cfg_a[0]; // @[PMP.scala 51:31:shc.marmotcaravel.MarmotCaravelConfig.fir@216162.4]
+  assign _T_514 = {reg_pmp_5_addr,_T_513}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@216163.4]
+  assign _T_517 = _T_514 + 31'h1; // @[PMP.scala 52:23:shc.marmotcaravel.MarmotCaravelConfig.fir@216166.4]
+  assign _T_518 = ~ _T_517; // @[PMP.scala 52:16:shc.marmotcaravel.MarmotCaravelConfig.fir@216167.4]
+  assign _T_519 = _T_514 & _T_518; // @[PMP.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216168.4]
+  assign _T_520 = {_T_519,2'h3}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@216169.4]
+  assign _T_523 = reg_pmp_6_cfg_a[0]; // @[PMP.scala 51:31:shc.marmotcaravel.MarmotCaravelConfig.fir@216174.4]
+  assign _T_524 = {reg_pmp_6_addr,_T_523}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@216175.4]
+  assign _T_527 = _T_524 + 31'h1; // @[PMP.scala 52:23:shc.marmotcaravel.MarmotCaravelConfig.fir@216178.4]
+  assign _T_528 = ~ _T_527; // @[PMP.scala 52:16:shc.marmotcaravel.MarmotCaravelConfig.fir@216179.4]
+  assign _T_529 = _T_524 & _T_528; // @[PMP.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216180.4]
+  assign _T_530 = {_T_529,2'h3}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@216181.4]
+  assign _T_533 = reg_pmp_7_cfg_a[0]; // @[PMP.scala 51:31:shc.marmotcaravel.MarmotCaravelConfig.fir@216186.4]
+  assign _T_534 = {reg_pmp_7_addr,_T_533}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@216187.4]
+  assign _T_537 = _T_534 + 31'h1; // @[PMP.scala 52:23:shc.marmotcaravel.MarmotCaravelConfig.fir@216190.4]
+  assign _T_538 = ~ _T_537; // @[PMP.scala 52:16:shc.marmotcaravel.MarmotCaravelConfig.fir@216191.4]
+  assign _T_539 = _T_534 & _T_538; // @[PMP.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216192.4]
+  assign _T_540 = {_T_539,2'h3}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@216193.4]
+  assign _T_542 = {io_status_hie,io_status_sie}; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216204.4]
+  assign _T_543 = {_T_542,io_status_uie}; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216205.4]
+  assign _T_544 = {io_status_upie,io_status_mie}; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216206.4]
+  assign _T_545 = {io_status_hpie,io_status_spie}; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216207.4]
+  assign _T_546 = {_T_545,_T_544}; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216208.4]
+  assign _T_547 = {_T_546,_T_543}; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216209.4]
+  assign _T_548 = {io_status_hpp,io_status_spp}; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216210.4]
+  assign _T_549 = {_T_548,io_status_mpie}; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216211.4]
+  assign _T_550 = {io_status_fs,io_status_mpp}; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216212.4]
+  assign _T_551 = {io_status_mprv,io_status_xs}; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216213.4]
+  assign _T_552 = {_T_551,_T_550}; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216214.4]
+  assign _T_553 = {_T_552,_T_549}; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216215.4]
+  assign _T_554 = {_T_553,_T_547}; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216216.4]
+  assign _T_555 = {io_status_tvm,io_status_mxr}; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216217.4]
+  assign _T_556 = {_T_555,io_status_sum}; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216218.4]
+  assign _T_557 = {io_status_tsr,io_status_tw}; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216219.4]
+  assign _T_558 = {io_status_sd_rv32,io_status_zero1}; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216220.4]
+  assign _T_559 = {_T_558,_T_557}; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216221.4]
+  assign _T_560 = {_T_559,_T_556}; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216222.4]
+  assign _T_561 = {io_status_sxl,io_status_uxl}; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216223.4]
+  assign _T_562 = {io_status_sd,io_status_zero2}; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216224.4]
+  assign _T_563 = {_T_562,_T_561}; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216225.4]
+  assign _T_564 = {io_status_dprv,io_status_prv}; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216226.4]
+  assign _T_565 = {io_status_debug,io_status_isa}; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216227.4]
+  assign _T_566 = {_T_565,_T_564}; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216228.4]
+  assign _T_567 = {_T_566,_T_563}; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216229.4]
+  assign _T_568 = {_T_567,_T_560}; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216230.4]
+  assign _T_569 = {_T_568,_T_554}; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216231.4]
+  assign read_mstatus = _T_569[31:0]; // @[CSR.scala 360:40:shc.marmotcaravel.MarmotCaravelConfig.fir@216232.4]
+  assign _GEN_19 = reg_tselect ? reg_bp_1_control_dmode : reg_bp_0_control_dmode; // @[CSR.scala 364:48:shc.marmotcaravel.MarmotCaravelConfig.fir@216233.4]
+  assign _GEN_22 = reg_tselect ? reg_bp_1_control_action : reg_bp_0_control_action; // @[CSR.scala 364:48:shc.marmotcaravel.MarmotCaravelConfig.fir@216233.4]
+  assign _GEN_23 = reg_tselect ? 1'h0 : reg_bp_0_control_chain; // @[CSR.scala 364:48:shc.marmotcaravel.MarmotCaravelConfig.fir@216233.4]
+  assign _GEN_25 = reg_tselect ? reg_bp_1_control_tmatch : reg_bp_0_control_tmatch; // @[CSR.scala 364:48:shc.marmotcaravel.MarmotCaravelConfig.fir@216233.4]
+  assign _GEN_30 = reg_tselect ? reg_bp_1_control_x : reg_bp_0_control_x; // @[CSR.scala 364:48:shc.marmotcaravel.MarmotCaravelConfig.fir@216233.4]
+  assign _GEN_31 = reg_tselect ? reg_bp_1_control_w : reg_bp_0_control_w; // @[CSR.scala 364:48:shc.marmotcaravel.MarmotCaravelConfig.fir@216233.4]
+  assign _GEN_32 = reg_tselect ? reg_bp_1_control_r : reg_bp_0_control_r; // @[CSR.scala 364:48:shc.marmotcaravel.MarmotCaravelConfig.fir@216233.4]
+  assign _GEN_33 = reg_tselect ? reg_bp_1_address : reg_bp_0_address; // @[CSR.scala 364:48:shc.marmotcaravel.MarmotCaravelConfig.fir@216233.4]
+  assign _T_571 = {_GEN_30,_GEN_31}; // @[CSR.scala 364:48:shc.marmotcaravel.MarmotCaravelConfig.fir@216233.4]
+  assign _T_572 = {_T_571,_GEN_32}; // @[CSR.scala 364:48:shc.marmotcaravel.MarmotCaravelConfig.fir@216234.4]
+  assign _T_576 = {4'h8,_T_572}; // @[CSR.scala 364:48:shc.marmotcaravel.MarmotCaravelConfig.fir@216238.4]
+  assign _T_577 = {2'h0,_GEN_25}; // @[CSR.scala 364:48:shc.marmotcaravel.MarmotCaravelConfig.fir@216239.4]
+  assign _T_578 = {_GEN_22,_GEN_23}; // @[CSR.scala 364:48:shc.marmotcaravel.MarmotCaravelConfig.fir@216240.4]
+  assign _T_579 = {_T_578,_T_577}; // @[CSR.scala 364:48:shc.marmotcaravel.MarmotCaravelConfig.fir@216241.4]
+  assign _T_581 = {4'h2,_GEN_19}; // @[CSR.scala 364:48:shc.marmotcaravel.MarmotCaravelConfig.fir@216243.4]
+  assign _T_582 = {_T_581,14'h400}; // @[CSR.scala 364:48:shc.marmotcaravel.MarmotCaravelConfig.fir@216244.4]
+  assign _T_583 = {_T_582,_T_579}; // @[CSR.scala 364:48:shc.marmotcaravel.MarmotCaravelConfig.fir@216245.4]
+  assign _T_584 = {_T_583,_T_576}; // @[CSR.scala 364:48:shc.marmotcaravel.MarmotCaravelConfig.fir@216246.4]
+  assign _T_586 = ~ reg_mepc; // @[CSR.scala 908:28:shc.marmotcaravel.MarmotCaravelConfig.fir@216247.4]
+  assign _T_587 = reg_misa[2]; // @[CSR.scala 908:45:shc.marmotcaravel.MarmotCaravelConfig.fir@216248.4]
+  assign _T_588 = _T_587 ? 2'h1 : 2'h3; // @[CSR.scala 908:36:shc.marmotcaravel.MarmotCaravelConfig.fir@216249.4]
+  assign _GEN_451 = {{30'd0}, _T_588}; // @[CSR.scala 908:31:shc.marmotcaravel.MarmotCaravelConfig.fir@216250.4]
+  assign _T_589 = _T_586 | _GEN_451; // @[CSR.scala 908:31:shc.marmotcaravel.MarmotCaravelConfig.fir@216250.4]
+  assign _T_590 = ~ _T_589; // @[CSR.scala 908:26:shc.marmotcaravel.MarmotCaravelConfig.fir@216251.4]
+  assign _T_591 = {3'h0,reg_dcsr_step}; // @[CSR.scala 378:27:shc.marmotcaravel.MarmotCaravelConfig.fir@216252.4]
+  assign _T_592 = {_T_591,reg_dcsr_prv}; // @[CSR.scala 378:27:shc.marmotcaravel.MarmotCaravelConfig.fir@216253.4]
+  assign _T_593 = {1'h0,reg_dcsr_cause}; // @[CSR.scala 378:27:shc.marmotcaravel.MarmotCaravelConfig.fir@216254.4]
+  assign _T_595 = {2'h0,_T_593}; // @[CSR.scala 378:27:shc.marmotcaravel.MarmotCaravelConfig.fir@216256.4]
+  assign _T_596 = {_T_595,_T_592}; // @[CSR.scala 378:27:shc.marmotcaravel.MarmotCaravelConfig.fir@216257.4]
+  assign _T_599 = {12'h0,reg_dcsr_ebreakm}; // @[CSR.scala 378:27:shc.marmotcaravel.MarmotCaravelConfig.fir@216260.4]
+  assign _T_601 = {4'h4,_T_599}; // @[CSR.scala 378:27:shc.marmotcaravel.MarmotCaravelConfig.fir@216262.4]
+  assign _T_602 = {_T_601,3'h0}; // @[CSR.scala 378:27:shc.marmotcaravel.MarmotCaravelConfig.fir@216263.4]
+  assign _T_603 = {_T_602,_T_596}; // @[CSR.scala 378:27:shc.marmotcaravel.MarmotCaravelConfig.fir@216264.4]
+  assign _T_604 = ~ reg_dpc; // @[CSR.scala 908:28:shc.marmotcaravel.MarmotCaravelConfig.fir@216265.4]
+  assign _T_607 = _T_604 | _GEN_451; // @[CSR.scala 908:31:shc.marmotcaravel.MarmotCaravelConfig.fir@216268.4]
+  assign _T_608 = ~ _T_607; // @[CSR.scala 908:26:shc.marmotcaravel.MarmotCaravelConfig.fir@216269.4]
+  assign _T_610 = _T_275[63:32]; // @[CSR.scala 415:50:shc.marmotcaravel.MarmotCaravelConfig.fir@216271.4]
+  assign _T_611 = _T_265[63:32]; // @[CSR.scala 416:54:shc.marmotcaravel.MarmotCaravelConfig.fir@216272.4]
+  assign _T_626 = {reg_pmp_0_cfg_x,reg_pmp_0_cfg_w}; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216294.4]
+  assign _T_627 = {_T_626,reg_pmp_0_cfg_r}; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216295.4]
+  assign _T_628 = {reg_pmp_0_cfg_l,2'h0}; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216296.4]
+  assign _T_629 = {_T_628,reg_pmp_0_cfg_a}; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216297.4]
+  assign _T_630 = {_T_629,_T_627}; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216298.4]
+  assign _T_631 = {reg_pmp_1_cfg_x,reg_pmp_1_cfg_w}; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216299.4]
+  assign _T_632 = {_T_631,reg_pmp_1_cfg_r}; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216300.4]
+  assign _T_633 = {reg_pmp_1_cfg_l,2'h0}; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216301.4]
+  assign _T_634 = {_T_633,reg_pmp_1_cfg_a}; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216302.4]
+  assign _T_635 = {_T_634,_T_632}; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216303.4]
+  assign _T_636 = {reg_pmp_2_cfg_x,reg_pmp_2_cfg_w}; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216304.4]
+  assign _T_637 = {_T_636,reg_pmp_2_cfg_r}; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216305.4]
+  assign _T_638 = {reg_pmp_2_cfg_l,2'h0}; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216306.4]
+  assign _T_639 = {_T_638,reg_pmp_2_cfg_a}; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216307.4]
+  assign _T_640 = {_T_639,_T_637}; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216308.4]
+  assign _T_641 = {reg_pmp_3_cfg_x,reg_pmp_3_cfg_w}; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216309.4]
+  assign _T_642 = {_T_641,reg_pmp_3_cfg_r}; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216310.4]
+  assign _T_643 = {reg_pmp_3_cfg_l,2'h0}; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216311.4]
+  assign _T_644 = {_T_643,reg_pmp_3_cfg_a}; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216312.4]
+  assign _T_645 = {_T_644,_T_642}; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216313.4]
+  assign _T_646 = {_T_635,_T_630}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@216314.4]
+  assign _T_647 = {_T_645,_T_640}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@216315.4]
+  assign _T_648 = {_T_647,_T_646}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@216316.4]
+  assign _T_649 = {reg_pmp_4_cfg_x,reg_pmp_4_cfg_w}; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216317.4]
+  assign _T_650 = {_T_649,reg_pmp_4_cfg_r}; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216318.4]
+  assign _T_651 = {reg_pmp_4_cfg_l,2'h0}; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216319.4]
+  assign _T_652 = {_T_651,reg_pmp_4_cfg_a}; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216320.4]
+  assign _T_653 = {_T_652,_T_650}; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216321.4]
+  assign _T_654 = {reg_pmp_5_cfg_x,reg_pmp_5_cfg_w}; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216322.4]
+  assign _T_655 = {_T_654,reg_pmp_5_cfg_r}; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216323.4]
+  assign _T_656 = {reg_pmp_5_cfg_l,2'h0}; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216324.4]
+  assign _T_657 = {_T_656,reg_pmp_5_cfg_a}; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216325.4]
+  assign _T_658 = {_T_657,_T_655}; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216326.4]
+  assign _T_659 = {reg_pmp_6_cfg_x,reg_pmp_6_cfg_w}; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216327.4]
+  assign _T_660 = {_T_659,reg_pmp_6_cfg_r}; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216328.4]
+  assign _T_661 = {reg_pmp_6_cfg_l,2'h0}; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216329.4]
+  assign _T_662 = {_T_661,reg_pmp_6_cfg_a}; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216330.4]
+  assign _T_663 = {_T_662,_T_660}; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216331.4]
+  assign _T_664 = {reg_pmp_7_cfg_x,reg_pmp_7_cfg_w}; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216332.4]
+  assign _T_665 = {_T_664,reg_pmp_7_cfg_r}; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216333.4]
+  assign _T_666 = {reg_pmp_7_cfg_l,2'h0}; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216334.4]
+  assign _T_667 = {_T_666,reg_pmp_7_cfg_a}; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216335.4]
+  assign _T_668 = {_T_667,_T_665}; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216336.4]
+  assign _T_669 = {_T_658,_T_653}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@216337.4]
+  assign _T_670 = {_T_668,_T_663}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@216338.4]
+  assign _T_671 = {_T_670,_T_669}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@216339.4]
+  assign _T_722 = io_rw_addr == 12'h7a0; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@216390.4]
+  assign _T_723 = io_rw_addr == 12'h7a1; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@216391.4]
+  assign _T_724 = io_rw_addr == 12'h7a2; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@216392.4]
+  assign _T_725 = io_rw_addr == 12'h301; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@216393.4]
+  assign _T_726 = io_rw_addr == 12'h300; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@216394.4]
+  assign _T_727 = io_rw_addr == 12'h305; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@216395.4]
+  assign _T_728 = io_rw_addr == 12'h344; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@216396.4]
+  assign _T_729 = io_rw_addr == 12'h304; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@216397.4]
+  assign _T_730 = io_rw_addr == 12'h340; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@216398.4]
+  assign _T_731 = io_rw_addr == 12'h341; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@216399.4]
+  assign _T_732 = io_rw_addr == 12'h343; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@216400.4]
+  assign _T_733 = io_rw_addr == 12'h342; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@216401.4]
+  assign _T_734 = io_rw_addr == 12'hf14; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@216402.4]
+  assign _T_735 = io_rw_addr == 12'h7b0; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@216403.4]
+  assign _T_736 = io_rw_addr == 12'h7b1; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@216404.4]
+  assign _T_737 = io_rw_addr == 12'h7b2; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@216405.4]
+  assign _T_738 = io_rw_addr == 12'hb00; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@216406.4]
+  assign _T_739 = io_rw_addr == 12'hb02; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@216407.4]
+  assign _T_827 = io_rw_addr == 12'hb80; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@216495.4]
+  assign _T_828 = io_rw_addr == 12'hb82; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@216496.4]
+  assign _T_829 = io_rw_addr == 12'h3a0; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@216497.4]
+  assign _T_830 = io_rw_addr == 12'h3a1; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@216498.4]
+  assign _T_833 = io_rw_addr == 12'h3b0; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@216501.4]
+  assign _T_834 = io_rw_addr == 12'h3b1; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@216502.4]
+  assign _T_835 = io_rw_addr == 12'h3b2; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@216503.4]
+  assign _T_836 = io_rw_addr == 12'h3b3; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@216504.4]
+  assign _T_837 = io_rw_addr == 12'h3b4; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@216505.4]
+  assign _T_838 = io_rw_addr == 12'h3b5; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@216506.4]
+  assign _T_839 = io_rw_addr == 12'h3b6; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@216507.4]
+  assign _T_840 = io_rw_addr == 12'h3b7; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@216508.4]
+  assign _T_850 = io_rw_addr == 12'hf12; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@216518.4]
+  assign _T_852 = io_rw_addr == 12'hf13; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@216520.4]
+  assign _T_853 = io_rw_cmd[1]; // @[CSR.scala 886:13:shc.marmotcaravel.MarmotCaravelConfig.fir@216521.4]
+  assign _T_854 = _T_853 ? io_rw_rdata : 32'h0; // @[CSR.scala 886:9:shc.marmotcaravel.MarmotCaravelConfig.fir@216522.4]
+  assign _T_855 = _T_854 | io_rw_wdata; // @[CSR.scala 886:34:shc.marmotcaravel.MarmotCaravelConfig.fir@216523.4]
+  assign _T_856 = io_rw_cmd[1:0]; // @[CSR.scala 886:53:shc.marmotcaravel.MarmotCaravelConfig.fir@216524.4]
+  assign _T_857 = ~ _T_856; // @[CSR.scala 886:59:shc.marmotcaravel.MarmotCaravelConfig.fir@216525.4]
+  assign _T_858 = _T_857 == 2'h0; // @[CSR.scala 886:59:shc.marmotcaravel.MarmotCaravelConfig.fir@216526.4]
+  assign _T_859 = _T_858 ? io_rw_wdata : 32'h0; // @[CSR.scala 886:49:shc.marmotcaravel.MarmotCaravelConfig.fir@216527.4]
+  assign _T_860 = ~ _T_859; // @[CSR.scala 886:45:shc.marmotcaravel.MarmotCaravelConfig.fir@216528.4]
+  assign wdata = _T_855 & _T_860; // @[CSR.scala 886:43:shc.marmotcaravel.MarmotCaravelConfig.fir@216529.4]
+  assign system_insn = io_rw_cmd == 3'h4; // @[CSR.scala 479:31:shc.marmotcaravel.MarmotCaravelConfig.fir@216530.4]
+  assign _GEN_453 = {{20'd0}, io_rw_addr}; // @[CSR.scala 488:92:shc.marmotcaravel.MarmotCaravelConfig.fir@216531.4]
+  assign _T_861 = _GEN_453 << 20; // @[CSR.scala 488:92:shc.marmotcaravel.MarmotCaravelConfig.fir@216531.4]
+  assign _T_862 = _T_861 & 32'h20100000; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@216532.4]
+  assign _T_863 = _T_862 == 32'h0; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@216533.4]
+  assign _T_865 = _T_861 & 32'h10100000; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@216535.4]
+  assign _T_866 = _T_865 == 32'h100000; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@216536.4]
+  assign _T_868 = _T_861 & 32'h20000000; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@216538.4]
+  assign _T_869 = _T_868 == 32'h20000000; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@216539.4]
+  assign _T_871 = _T_861 & 32'h30000000; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@216541.4]
+  assign _T_872 = _T_871 == 32'h10000000; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@216542.4]
+  assign insn_call = system_insn & _T_863; // @[CSR.scala 488:159:shc.marmotcaravel.MarmotCaravelConfig.fir@216545.4]
+  assign insn_break = system_insn & _T_866; // @[CSR.scala 488:159:shc.marmotcaravel.MarmotCaravelConfig.fir@216547.4]
+  assign insn_ret = system_insn & _T_869; // @[CSR.scala 488:159:shc.marmotcaravel.MarmotCaravelConfig.fir@216549.4]
+  assign insn_wfi = system_insn & _T_872; // @[CSR.scala 488:159:shc.marmotcaravel.MarmotCaravelConfig.fir@216551.4]
+  assign _T_918 = io_status_fs == 2'h0; // @[CSR.scala 499:39:shc.marmotcaravel.MarmotCaravelConfig.fir@216593.4]
+  assign _T_919 = reg_misa[5]; // @[CSR.scala 499:57:shc.marmotcaravel.MarmotCaravelConfig.fir@216594.4]
+  assign _T_920 = _T_919 == 1'h0; // @[CSR.scala 499:48:shc.marmotcaravel.MarmotCaravelConfig.fir@216595.4]
+  assign _T_933 = io_decode_0_csr == 12'h7a0; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216611.4]
+  assign _T_934 = io_decode_0_csr == 12'h7a1; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216612.4]
+  assign _T_935 = io_decode_0_csr == 12'h7a2; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216613.4]
+  assign _T_936 = io_decode_0_csr == 12'h301; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216614.4]
+  assign _T_937 = io_decode_0_csr == 12'h300; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216615.4]
+  assign _T_938 = io_decode_0_csr == 12'h305; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216616.4]
+  assign _T_939 = io_decode_0_csr == 12'h344; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216617.4]
+  assign _T_940 = io_decode_0_csr == 12'h304; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216618.4]
+  assign _T_941 = io_decode_0_csr == 12'h340; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216619.4]
+  assign _T_942 = io_decode_0_csr == 12'h341; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216620.4]
+  assign _T_943 = io_decode_0_csr == 12'h343; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216621.4]
+  assign _T_944 = io_decode_0_csr == 12'h342; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216622.4]
+  assign _T_945 = io_decode_0_csr == 12'hf14; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216623.4]
+  assign _T_946 = io_decode_0_csr == 12'h7b0; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216624.4]
+  assign _T_947 = io_decode_0_csr == 12'h7b1; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216625.4]
+  assign _T_948 = io_decode_0_csr == 12'h7b2; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216626.4]
+  assign _T_949 = io_decode_0_csr == 12'hb00; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216627.4]
+  assign _T_950 = io_decode_0_csr == 12'hb02; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216628.4]
+  assign _T_951 = io_decode_0_csr == 12'h323; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216629.4]
+  assign _T_952 = io_decode_0_csr == 12'hb03; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216630.4]
+  assign _T_953 = io_decode_0_csr == 12'hb83; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216631.4]
+  assign _T_954 = io_decode_0_csr == 12'h324; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216632.4]
+  assign _T_955 = io_decode_0_csr == 12'hb04; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216633.4]
+  assign _T_956 = io_decode_0_csr == 12'hb84; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216634.4]
+  assign _T_957 = io_decode_0_csr == 12'h325; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216635.4]
+  assign _T_958 = io_decode_0_csr == 12'hb05; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216636.4]
+  assign _T_959 = io_decode_0_csr == 12'hb85; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216637.4]
+  assign _T_960 = io_decode_0_csr == 12'h326; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216638.4]
+  assign _T_961 = io_decode_0_csr == 12'hb06; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216639.4]
+  assign _T_962 = io_decode_0_csr == 12'hb86; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216640.4]
+  assign _T_963 = io_decode_0_csr == 12'h327; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216641.4]
+  assign _T_964 = io_decode_0_csr == 12'hb07; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216642.4]
+  assign _T_965 = io_decode_0_csr == 12'hb87; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216643.4]
+  assign _T_966 = io_decode_0_csr == 12'h328; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216644.4]
+  assign _T_967 = io_decode_0_csr == 12'hb08; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216645.4]
+  assign _T_968 = io_decode_0_csr == 12'hb88; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216646.4]
+  assign _T_969 = io_decode_0_csr == 12'h329; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216647.4]
+  assign _T_970 = io_decode_0_csr == 12'hb09; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216648.4]
+  assign _T_971 = io_decode_0_csr == 12'hb89; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216649.4]
+  assign _T_972 = io_decode_0_csr == 12'h32a; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216650.4]
+  assign _T_973 = io_decode_0_csr == 12'hb0a; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216651.4]
+  assign _T_974 = io_decode_0_csr == 12'hb8a; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216652.4]
+  assign _T_975 = io_decode_0_csr == 12'h32b; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216653.4]
+  assign _T_976 = io_decode_0_csr == 12'hb0b; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216654.4]
+  assign _T_977 = io_decode_0_csr == 12'hb8b; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216655.4]
+  assign _T_978 = io_decode_0_csr == 12'h32c; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216656.4]
+  assign _T_979 = io_decode_0_csr == 12'hb0c; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216657.4]
+  assign _T_980 = io_decode_0_csr == 12'hb8c; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216658.4]
+  assign _T_981 = io_decode_0_csr == 12'h32d; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216659.4]
+  assign _T_982 = io_decode_0_csr == 12'hb0d; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216660.4]
+  assign _T_983 = io_decode_0_csr == 12'hb8d; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216661.4]
+  assign _T_984 = io_decode_0_csr == 12'h32e; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216662.4]
+  assign _T_985 = io_decode_0_csr == 12'hb0e; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216663.4]
+  assign _T_986 = io_decode_0_csr == 12'hb8e; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216664.4]
+  assign _T_987 = io_decode_0_csr == 12'h32f; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216665.4]
+  assign _T_988 = io_decode_0_csr == 12'hb0f; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216666.4]
+  assign _T_989 = io_decode_0_csr == 12'hb8f; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216667.4]
+  assign _T_990 = io_decode_0_csr == 12'h330; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216668.4]
+  assign _T_991 = io_decode_0_csr == 12'hb10; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216669.4]
+  assign _T_992 = io_decode_0_csr == 12'hb90; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216670.4]
+  assign _T_993 = io_decode_0_csr == 12'h331; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216671.4]
+  assign _T_994 = io_decode_0_csr == 12'hb11; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216672.4]
+  assign _T_995 = io_decode_0_csr == 12'hb91; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216673.4]
+  assign _T_996 = io_decode_0_csr == 12'h332; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216674.4]
+  assign _T_997 = io_decode_0_csr == 12'hb12; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216675.4]
+  assign _T_998 = io_decode_0_csr == 12'hb92; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216676.4]
+  assign _T_999 = io_decode_0_csr == 12'h333; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216677.4]
+  assign _T_1000 = io_decode_0_csr == 12'hb13; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216678.4]
+  assign _T_1001 = io_decode_0_csr == 12'hb93; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216679.4]
+  assign _T_1002 = io_decode_0_csr == 12'h334; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216680.4]
+  assign _T_1003 = io_decode_0_csr == 12'hb14; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216681.4]
+  assign _T_1004 = io_decode_0_csr == 12'hb94; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216682.4]
+  assign _T_1005 = io_decode_0_csr == 12'h335; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216683.4]
+  assign _T_1006 = io_decode_0_csr == 12'hb15; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216684.4]
+  assign _T_1007 = io_decode_0_csr == 12'hb95; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216685.4]
+  assign _T_1008 = io_decode_0_csr == 12'h336; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216686.4]
+  assign _T_1009 = io_decode_0_csr == 12'hb16; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216687.4]
+  assign _T_1010 = io_decode_0_csr == 12'hb96; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216688.4]
+  assign _T_1011 = io_decode_0_csr == 12'h337; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216689.4]
+  assign _T_1012 = io_decode_0_csr == 12'hb17; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216690.4]
+  assign _T_1013 = io_decode_0_csr == 12'hb97; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216691.4]
+  assign _T_1014 = io_decode_0_csr == 12'h338; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216692.4]
+  assign _T_1015 = io_decode_0_csr == 12'hb18; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216693.4]
+  assign _T_1016 = io_decode_0_csr == 12'hb98; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216694.4]
+  assign _T_1017 = io_decode_0_csr == 12'h339; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216695.4]
+  assign _T_1018 = io_decode_0_csr == 12'hb19; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216696.4]
+  assign _T_1019 = io_decode_0_csr == 12'hb99; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216697.4]
+  assign _T_1020 = io_decode_0_csr == 12'h33a; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216698.4]
+  assign _T_1021 = io_decode_0_csr == 12'hb1a; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216699.4]
+  assign _T_1022 = io_decode_0_csr == 12'hb9a; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216700.4]
+  assign _T_1023 = io_decode_0_csr == 12'h33b; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216701.4]
+  assign _T_1024 = io_decode_0_csr == 12'hb1b; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216702.4]
+  assign _T_1025 = io_decode_0_csr == 12'hb9b; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216703.4]
+  assign _T_1026 = io_decode_0_csr == 12'h33c; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216704.4]
+  assign _T_1027 = io_decode_0_csr == 12'hb1c; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216705.4]
+  assign _T_1028 = io_decode_0_csr == 12'hb9c; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216706.4]
+  assign _T_1029 = io_decode_0_csr == 12'h33d; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216707.4]
+  assign _T_1030 = io_decode_0_csr == 12'hb1d; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216708.4]
+  assign _T_1031 = io_decode_0_csr == 12'hb9d; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216709.4]
+  assign _T_1032 = io_decode_0_csr == 12'h33e; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216710.4]
+  assign _T_1033 = io_decode_0_csr == 12'hb1e; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216711.4]
+  assign _T_1034 = io_decode_0_csr == 12'hb9e; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216712.4]
+  assign _T_1035 = io_decode_0_csr == 12'h33f; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216713.4]
+  assign _T_1036 = io_decode_0_csr == 12'hb1f; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216714.4]
+  assign _T_1037 = io_decode_0_csr == 12'hb9f; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216715.4]
+  assign _T_1038 = io_decode_0_csr == 12'hb80; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216716.4]
+  assign _T_1039 = io_decode_0_csr == 12'hb82; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216717.4]
+  assign _T_1040 = io_decode_0_csr == 12'h3a0; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216718.4]
+  assign _T_1041 = io_decode_0_csr == 12'h3a1; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216719.4]
+  assign _T_1042 = io_decode_0_csr == 12'h3a2; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216720.4]
+  assign _T_1043 = io_decode_0_csr == 12'h3a3; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216721.4]
+  assign _T_1044 = io_decode_0_csr == 12'h3b0; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216722.4]
+  assign _T_1045 = io_decode_0_csr == 12'h3b1; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216723.4]
+  assign _T_1046 = io_decode_0_csr == 12'h3b2; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216724.4]
+  assign _T_1047 = io_decode_0_csr == 12'h3b3; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216725.4]
+  assign _T_1048 = io_decode_0_csr == 12'h3b4; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216726.4]
+  assign _T_1049 = io_decode_0_csr == 12'h3b5; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216727.4]
+  assign _T_1050 = io_decode_0_csr == 12'h3b6; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216728.4]
+  assign _T_1051 = io_decode_0_csr == 12'h3b7; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216729.4]
+  assign _T_1052 = io_decode_0_csr == 12'h3b8; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216730.4]
+  assign _T_1053 = io_decode_0_csr == 12'h3b9; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216731.4]
+  assign _T_1054 = io_decode_0_csr == 12'h3ba; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216732.4]
+  assign _T_1055 = io_decode_0_csr == 12'h3bb; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216733.4]
+  assign _T_1056 = io_decode_0_csr == 12'h3bc; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216734.4]
+  assign _T_1057 = io_decode_0_csr == 12'h3bd; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216735.4]
+  assign _T_1058 = io_decode_0_csr == 12'h3be; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216736.4]
+  assign _T_1059 = io_decode_0_csr == 12'h3bf; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216737.4]
+  assign _T_1060 = io_decode_0_csr == 12'h7c1; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216738.4]
+  assign _T_1061 = io_decode_0_csr == 12'hf12; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216739.4]
+  assign _T_1062 = io_decode_0_csr == 12'hf11; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216740.4]
+  assign _T_1063 = io_decode_0_csr == 12'hf13; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216741.4]
+  assign _T_1064 = _T_933 | _T_934; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216742.4]
+  assign _T_1065 = _T_1064 | _T_935; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216743.4]
+  assign _T_1066 = _T_1065 | _T_936; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216744.4]
+  assign _T_1067 = _T_1066 | _T_937; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216745.4]
+  assign _T_1068 = _T_1067 | _T_938; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216746.4]
+  assign _T_1069 = _T_1068 | _T_939; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216747.4]
+  assign _T_1070 = _T_1069 | _T_940; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216748.4]
+  assign _T_1071 = _T_1070 | _T_941; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216749.4]
+  assign _T_1072 = _T_1071 | _T_942; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216750.4]
+  assign _T_1073 = _T_1072 | _T_943; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216751.4]
+  assign _T_1074 = _T_1073 | _T_944; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216752.4]
+  assign _T_1075 = _T_1074 | _T_945; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216753.4]
+  assign _T_1076 = _T_1075 | _T_946; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216754.4]
+  assign _T_1077 = _T_1076 | _T_947; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216755.4]
+  assign _T_1078 = _T_1077 | _T_948; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216756.4]
+  assign _T_1079 = _T_1078 | _T_949; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216757.4]
+  assign _T_1080 = _T_1079 | _T_950; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216758.4]
+  assign _T_1081 = _T_1080 | _T_951; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216759.4]
+  assign _T_1082 = _T_1081 | _T_952; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216760.4]
+  assign _T_1083 = _T_1082 | _T_953; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216761.4]
+  assign _T_1084 = _T_1083 | _T_954; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216762.4]
+  assign _T_1085 = _T_1084 | _T_955; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216763.4]
+  assign _T_1086 = _T_1085 | _T_956; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216764.4]
+  assign _T_1087 = _T_1086 | _T_957; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216765.4]
+  assign _T_1088 = _T_1087 | _T_958; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216766.4]
+  assign _T_1089 = _T_1088 | _T_959; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216767.4]
+  assign _T_1090 = _T_1089 | _T_960; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216768.4]
+  assign _T_1091 = _T_1090 | _T_961; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216769.4]
+  assign _T_1092 = _T_1091 | _T_962; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216770.4]
+  assign _T_1093 = _T_1092 | _T_963; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216771.4]
+  assign _T_1094 = _T_1093 | _T_964; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216772.4]
+  assign _T_1095 = _T_1094 | _T_965; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216773.4]
+  assign _T_1096 = _T_1095 | _T_966; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216774.4]
+  assign _T_1097 = _T_1096 | _T_967; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216775.4]
+  assign _T_1098 = _T_1097 | _T_968; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216776.4]
+  assign _T_1099 = _T_1098 | _T_969; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216777.4]
+  assign _T_1100 = _T_1099 | _T_970; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216778.4]
+  assign _T_1101 = _T_1100 | _T_971; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216779.4]
+  assign _T_1102 = _T_1101 | _T_972; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216780.4]
+  assign _T_1103 = _T_1102 | _T_973; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216781.4]
+  assign _T_1104 = _T_1103 | _T_974; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216782.4]
+  assign _T_1105 = _T_1104 | _T_975; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216783.4]
+  assign _T_1106 = _T_1105 | _T_976; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216784.4]
+  assign _T_1107 = _T_1106 | _T_977; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216785.4]
+  assign _T_1108 = _T_1107 | _T_978; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216786.4]
+  assign _T_1109 = _T_1108 | _T_979; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216787.4]
+  assign _T_1110 = _T_1109 | _T_980; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216788.4]
+  assign _T_1111 = _T_1110 | _T_981; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216789.4]
+  assign _T_1112 = _T_1111 | _T_982; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216790.4]
+  assign _T_1113 = _T_1112 | _T_983; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216791.4]
+  assign _T_1114 = _T_1113 | _T_984; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216792.4]
+  assign _T_1115 = _T_1114 | _T_985; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216793.4]
+  assign _T_1116 = _T_1115 | _T_986; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216794.4]
+  assign _T_1117 = _T_1116 | _T_987; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216795.4]
+  assign _T_1118 = _T_1117 | _T_988; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216796.4]
+  assign _T_1119 = _T_1118 | _T_989; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216797.4]
+  assign _T_1120 = _T_1119 | _T_990; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216798.4]
+  assign _T_1121 = _T_1120 | _T_991; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216799.4]
+  assign _T_1122 = _T_1121 | _T_992; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216800.4]
+  assign _T_1123 = _T_1122 | _T_993; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216801.4]
+  assign _T_1124 = _T_1123 | _T_994; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216802.4]
+  assign _T_1125 = _T_1124 | _T_995; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216803.4]
+  assign _T_1126 = _T_1125 | _T_996; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216804.4]
+  assign _T_1127 = _T_1126 | _T_997; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216805.4]
+  assign _T_1128 = _T_1127 | _T_998; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216806.4]
+  assign _T_1129 = _T_1128 | _T_999; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216807.4]
+  assign _T_1130 = _T_1129 | _T_1000; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216808.4]
+  assign _T_1131 = _T_1130 | _T_1001; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216809.4]
+  assign _T_1132 = _T_1131 | _T_1002; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216810.4]
+  assign _T_1133 = _T_1132 | _T_1003; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216811.4]
+  assign _T_1134 = _T_1133 | _T_1004; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216812.4]
+  assign _T_1135 = _T_1134 | _T_1005; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216813.4]
+  assign _T_1136 = _T_1135 | _T_1006; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216814.4]
+  assign _T_1137 = _T_1136 | _T_1007; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216815.4]
+  assign _T_1138 = _T_1137 | _T_1008; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216816.4]
+  assign _T_1139 = _T_1138 | _T_1009; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216817.4]
+  assign _T_1140 = _T_1139 | _T_1010; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216818.4]
+  assign _T_1141 = _T_1140 | _T_1011; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216819.4]
+  assign _T_1142 = _T_1141 | _T_1012; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216820.4]
+  assign _T_1143 = _T_1142 | _T_1013; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216821.4]
+  assign _T_1144 = _T_1143 | _T_1014; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216822.4]
+  assign _T_1145 = _T_1144 | _T_1015; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216823.4]
+  assign _T_1146 = _T_1145 | _T_1016; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216824.4]
+  assign _T_1147 = _T_1146 | _T_1017; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216825.4]
+  assign _T_1148 = _T_1147 | _T_1018; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216826.4]
+  assign _T_1149 = _T_1148 | _T_1019; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216827.4]
+  assign _T_1150 = _T_1149 | _T_1020; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216828.4]
+  assign _T_1151 = _T_1150 | _T_1021; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216829.4]
+  assign _T_1152 = _T_1151 | _T_1022; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216830.4]
+  assign _T_1153 = _T_1152 | _T_1023; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216831.4]
+  assign _T_1154 = _T_1153 | _T_1024; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216832.4]
+  assign _T_1155 = _T_1154 | _T_1025; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216833.4]
+  assign _T_1156 = _T_1155 | _T_1026; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216834.4]
+  assign _T_1157 = _T_1156 | _T_1027; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216835.4]
+  assign _T_1158 = _T_1157 | _T_1028; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216836.4]
+  assign _T_1159 = _T_1158 | _T_1029; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216837.4]
+  assign _T_1160 = _T_1159 | _T_1030; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216838.4]
+  assign _T_1161 = _T_1160 | _T_1031; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216839.4]
+  assign _T_1162 = _T_1161 | _T_1032; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216840.4]
+  assign _T_1163 = _T_1162 | _T_1033; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216841.4]
+  assign _T_1164 = _T_1163 | _T_1034; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216842.4]
+  assign _T_1165 = _T_1164 | _T_1035; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216843.4]
+  assign _T_1166 = _T_1165 | _T_1036; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216844.4]
+  assign _T_1167 = _T_1166 | _T_1037; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216845.4]
+  assign _T_1168 = _T_1167 | _T_1038; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216846.4]
+  assign _T_1169 = _T_1168 | _T_1039; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216847.4]
+  assign _T_1170 = _T_1169 | _T_1040; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216848.4]
+  assign _T_1171 = _T_1170 | _T_1041; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216849.4]
+  assign _T_1172 = _T_1171 | _T_1042; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216850.4]
+  assign _T_1173 = _T_1172 | _T_1043; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216851.4]
+  assign _T_1174 = _T_1173 | _T_1044; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216852.4]
+  assign _T_1175 = _T_1174 | _T_1045; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216853.4]
+  assign _T_1176 = _T_1175 | _T_1046; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216854.4]
+  assign _T_1177 = _T_1176 | _T_1047; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216855.4]
+  assign _T_1178 = _T_1177 | _T_1048; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216856.4]
+  assign _T_1179 = _T_1178 | _T_1049; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216857.4]
+  assign _T_1180 = _T_1179 | _T_1050; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216858.4]
+  assign _T_1181 = _T_1180 | _T_1051; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216859.4]
+  assign _T_1182 = _T_1181 | _T_1052; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216860.4]
+  assign _T_1183 = _T_1182 | _T_1053; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216861.4]
+  assign _T_1184 = _T_1183 | _T_1054; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216862.4]
+  assign _T_1185 = _T_1184 | _T_1055; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216863.4]
+  assign _T_1186 = _T_1185 | _T_1056; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216864.4]
+  assign _T_1187 = _T_1186 | _T_1057; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216865.4]
+  assign _T_1188 = _T_1187 | _T_1058; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216866.4]
+  assign _T_1189 = _T_1188 | _T_1059; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216867.4]
+  assign _T_1190 = _T_1189 | _T_1060; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216868.4]
+  assign _T_1191 = _T_1190 | _T_1061; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216869.4]
+  assign _T_1192 = _T_1191 | _T_1062; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216870.4]
+  assign _T_1193 = _T_1192 | _T_1063; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216871.4]
+  assign _T_1194 = _T_1193 == 1'h0; // @[CSR.scala 503:7:shc.marmotcaravel.MarmotCaravelConfig.fir@216872.4]
+  assign _T_1213 = _T_946 | _T_947; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216891.4]
+  assign _T_1214 = _T_1213 | _T_948; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216892.4]
+  assign _T_1217 = _T_1214 & _T_459; // @[CSR.scala 506:49:shc.marmotcaravel.MarmotCaravelConfig.fir@216895.4]
+  assign _T_1218 = _T_1194 | _T_1217; // @[CSR.scala 505:148:shc.marmotcaravel.MarmotCaravelConfig.fir@216896.4]
+  assign _T_1219 = io_decode_0_fp_csr & io_decode_0_fp_illegal; // @[CSR.scala 507:21:shc.marmotcaravel.MarmotCaravelConfig.fir@216897.4]
+  assign _T_1221 = io_decode_0_csr[11:10]; // @[CSR.scala 508:39:shc.marmotcaravel.MarmotCaravelConfig.fir@216900.4]
+  assign _T_1222 = ~ _T_1221; // @[CSR.scala 508:47:shc.marmotcaravel.MarmotCaravelConfig.fir@216901.4]
+  assign _T_1224 = io_decode_0_csr >= 12'h340; // @[CSR.scala 509:40:shc.marmotcaravel.MarmotCaravelConfig.fir@216904.4]
+  assign _T_1225 = io_decode_0_csr <= 12'h343; // @[CSR.scala 509:71:shc.marmotcaravel.MarmotCaravelConfig.fir@216905.4]
+  assign _T_1226 = _T_1224 & _T_1225; // @[CSR.scala 509:57:shc.marmotcaravel.MarmotCaravelConfig.fir@216906.4]
+  assign _T_1227 = io_decode_0_csr >= 12'h140; // @[CSR.scala 509:102:shc.marmotcaravel.MarmotCaravelConfig.fir@216907.4]
+  assign _T_1228 = io_decode_0_csr <= 12'h143; // @[CSR.scala 509:133:shc.marmotcaravel.MarmotCaravelConfig.fir@216908.4]
+  assign _T_1229 = _T_1227 & _T_1228; // @[CSR.scala 509:119:shc.marmotcaravel.MarmotCaravelConfig.fir@216909.4]
+  assign _T_1230 = _T_1226 | _T_1229; // @[CSR.scala 509:88:shc.marmotcaravel.MarmotCaravelConfig.fir@216910.4]
+  assign _T_1245 = insn_break ? 32'h3 : io_cause; // @[CSR.scala 518:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216927.4]
+  assign cause = insn_call ? 32'hb : _T_1245; // @[CSR.scala 517:8:shc.marmotcaravel.MarmotCaravelConfig.fir@216928.4]
+  assign cause_lsbs = cause[7:0]; // @[CSR.scala 519:25:shc.marmotcaravel.MarmotCaravelConfig.fir@216929.4]
+  assign _T_1246 = cause[31]; // @[CSR.scala 520:30:shc.marmotcaravel.MarmotCaravelConfig.fir@216930.4]
+  assign _T_1247 = cause_lsbs == 8'he; // @[CSR.scala 520:53:shc.marmotcaravel.MarmotCaravelConfig.fir@216931.4]
+  assign causeIsDebugInt = _T_1246 & _T_1247; // @[CSR.scala 520:39:shc.marmotcaravel.MarmotCaravelConfig.fir@216932.4]
+  assign _T_1249 = _T_1246 == 1'h0; // @[CSR.scala 521:29:shc.marmotcaravel.MarmotCaravelConfig.fir@216934.4]
+  assign causeIsDebugTrigger = _T_1249 & _T_1247; // @[CSR.scala 521:44:shc.marmotcaravel.MarmotCaravelConfig.fir@216936.4]
+  assign _T_1253 = _T_1249 & insn_break; // @[CSR.scala 522:42:shc.marmotcaravel.MarmotCaravelConfig.fir@216939.4]
+  assign _T_1255 = {reg_dcsr_ebreakm,1'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@216941.4]
+  assign _T_1256 = {_T_1255,2'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@216942.4]
+  assign _T_1257 = _T_1256 >> 2'h3; // @[CSR.scala 522:134:shc.marmotcaravel.MarmotCaravelConfig.fir@216943.4]
+  assign _T_1258 = _T_1257[0]; // @[CSR.scala 522:134:shc.marmotcaravel.MarmotCaravelConfig.fir@216944.4]
+  assign causeIsDebugBreak = _T_1253 & _T_1258; // @[CSR.scala 522:56:shc.marmotcaravel.MarmotCaravelConfig.fir@216945.4]
+  assign _T_1259 = reg_singleStepped | causeIsDebugInt; // @[CSR.scala 523:60:shc.marmotcaravel.MarmotCaravelConfig.fir@216946.4]
+  assign _T_1260 = _T_1259 | causeIsDebugTrigger; // @[CSR.scala 523:79:shc.marmotcaravel.MarmotCaravelConfig.fir@216947.4]
+  assign _T_1261 = _T_1260 | causeIsDebugBreak; // @[CSR.scala 523:102:shc.marmotcaravel.MarmotCaravelConfig.fir@216948.4]
+  assign trapToDebug = _T_1261 | reg_debug; // @[CSR.scala 523:123:shc.marmotcaravel.MarmotCaravelConfig.fir@216949.4]
+  assign _T_1263 = insn_break ? 12'h800 : 12'h808; // @[CSR.scala 524:37:shc.marmotcaravel.MarmotCaravelConfig.fir@216951.4]
+  assign debugTVec = reg_debug ? _T_1263 : 12'h800; // @[CSR.scala 524:22:shc.marmotcaravel.MarmotCaravelConfig.fir@216952.4]
+  assign _T_1273 = cause[4:0]; // @[CSR.scala 533:32:shc.marmotcaravel.MarmotCaravelConfig.fir@216963.4]
+  assign _GEN_455 = {{2'd0}, _T_1273}; // @[CSR.scala 533:59:shc.marmotcaravel.MarmotCaravelConfig.fir@216964.4]
+  assign _T_1274 = _GEN_455 << 2; // @[CSR.scala 533:59:shc.marmotcaravel.MarmotCaravelConfig.fir@216964.4]
+  assign _T_1275 = reg_mtvec[31:7]; // @[CSR.scala 534:33:shc.marmotcaravel.MarmotCaravelConfig.fir@216965.4]
+  assign _T_1276 = {_T_1275,_T_1274}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@216966.4]
+  assign _T_1277 = reg_mtvec[0]; // @[CSR.scala 535:24:shc.marmotcaravel.MarmotCaravelConfig.fir@216967.4]
+  assign _T_1279 = _T_1277 & _T_1246; // @[CSR.scala 535:28:shc.marmotcaravel.MarmotCaravelConfig.fir@216969.4]
+  assign _T_1280 = cause_lsbs[7:5]; // @[CSR.scala 535:70:shc.marmotcaravel.MarmotCaravelConfig.fir@216970.4]
+  assign _T_1281 = _T_1280 == 3'h0; // @[CSR.scala 535:94:shc.marmotcaravel.MarmotCaravelConfig.fir@216971.4]
+  assign _T_1282 = _T_1279 & _T_1281; // @[CSR.scala 535:55:shc.marmotcaravel.MarmotCaravelConfig.fir@216972.4]
+  assign notDebugTVec = _T_1282 ? _T_1276 : reg_mtvec; // @[CSR.scala 536:8:shc.marmotcaravel.MarmotCaravelConfig.fir@216973.4]
+  assign tvec = trapToDebug ? {{20'd0}, debugTVec} : notDebugTVec; // @[CSR.scala 538:17:shc.marmotcaravel.MarmotCaravelConfig.fir@216974.4]
+  assign _T_1283 = insn_call | insn_break; // @[CSR.scala 541:24:shc.marmotcaravel.MarmotCaravelConfig.fir@216977.4]
+  assign _T_1287 = ~ io_status_fs; // @[CSR.scala 544:32:shc.marmotcaravel.MarmotCaravelConfig.fir@216984.4]
+  assign _T_1288 = _T_1287 == 2'h0; // @[CSR.scala 544:32:shc.marmotcaravel.MarmotCaravelConfig.fir@216985.4]
+  assign _T_1289 = ~ io_status_xs; // @[CSR.scala 544:53:shc.marmotcaravel.MarmotCaravelConfig.fir@216986.4]
+  assign _T_1290 = _T_1289 == 2'h0; // @[CSR.scala 544:53:shc.marmotcaravel.MarmotCaravelConfig.fir@216987.4]
+  assign exception = _T_1283 | io_exception; // @[CSR.scala 553:43:shc.marmotcaravel.MarmotCaravelConfig.fir@217002.4]
+  assign _T_1298 = insn_ret + insn_call; // @[Bitwise.scala 48:55:shc.marmotcaravel.MarmotCaravelConfig.fir@217003.4]
+  assign _T_1299 = insn_break + io_exception; // @[Bitwise.scala 48:55:shc.marmotcaravel.MarmotCaravelConfig.fir@217004.4]
+  assign _T_1300 = _T_1298 + _T_1299; // @[Bitwise.scala 48:55:shc.marmotcaravel.MarmotCaravelConfig.fir@217005.4]
+  assign _T_1301 = _T_1300 <= 3'h1; // @[CSR.scala 554:79:shc.marmotcaravel.MarmotCaravelConfig.fir@217006.4]
+  assign _T_1303 = _T_1301 | reset; // @[CSR.scala 554:9:shc.marmotcaravel.MarmotCaravelConfig.fir@217008.4]
+  assign _T_1304 = _T_1303 == 1'h0; // @[CSR.scala 554:9:shc.marmotcaravel.MarmotCaravelConfig.fir@217009.4]
+  assign _T_1306 = insn_wfi & _T_456; // @[CSR.scala 556:18:shc.marmotcaravel.MarmotCaravelConfig.fir@217015.4]
+  assign _T_1308 = _T_1306 & _T_459; // @[CSR.scala 556:36:shc.marmotcaravel.MarmotCaravelConfig.fir@217017.4]
+  assign _T_1309 = pending_interrupts != 32'h0; // @[CSR.scala 557:28:shc.marmotcaravel.MarmotCaravelConfig.fir@217021.4]
+  assign _T_1310 = _T_1309 | io_interrupts_debug; // @[CSR.scala 557:32:shc.marmotcaravel.MarmotCaravelConfig.fir@217022.4]
+  assign _T_1311 = _T_1310 | exception; // @[CSR.scala 557:55:shc.marmotcaravel.MarmotCaravelConfig.fir@217023.4]
+  assign _T_1313 = io_retire | exception; // @[CSR.scala 559:22:shc.marmotcaravel.MarmotCaravelConfig.fir@217028.4]
+  assign _T_1321 = reg_singleStepped == 1'h0; // @[CSR.scala 562:10:shc.marmotcaravel.MarmotCaravelConfig.fir@217046.4]
+  assign _T_1322 = io_retire == 1'h0; // @[CSR.scala 562:42:shc.marmotcaravel.MarmotCaravelConfig.fir@217047.4]
+  assign _T_1323 = _T_1321 | _T_1322; // @[CSR.scala 562:29:shc.marmotcaravel.MarmotCaravelConfig.fir@217048.4]
+  assign _T_1325 = _T_1323 | reset; // @[CSR.scala 562:9:shc.marmotcaravel.MarmotCaravelConfig.fir@217050.4]
+  assign _T_1326 = _T_1325 == 1'h0; // @[CSR.scala 562:9:shc.marmotcaravel.MarmotCaravelConfig.fir@217051.4]
+  assign _T_1327 = ~ io_pc; // @[CSR.scala 907:28:shc.marmotcaravel.MarmotCaravelConfig.fir@217056.4]
+  assign _T_1328 = _T_1327 | 32'h1; // @[CSR.scala 907:31:shc.marmotcaravel.MarmotCaravelConfig.fir@217057.4]
+  assign epc = ~ _T_1328; // @[CSR.scala 907:26:shc.marmotcaravel.MarmotCaravelConfig.fir@217058.4]
+  assign _T_1331 = causeIsDebugTrigger ? 2'h2 : 2'h1; // @[CSR.scala 573:86:shc.marmotcaravel.MarmotCaravelConfig.fir@217068.10]
+  assign _T_1332 = causeIsDebugInt ? 2'h3 : _T_1331; // @[CSR.scala 573:56:shc.marmotcaravel.MarmotCaravelConfig.fir@217069.10]
+  assign _GEN_48 = {{1'd0}, reg_mstatus_spp}; // @[CSR.scala 577:27:shc.marmotcaravel.MarmotCaravelConfig.fir@217077.8]
+  assign _GEN_67 = trapToDebug ? {{1'd0}, reg_mstatus_spp} : _GEN_48; // @[CSR.scala 569:24:shc.marmotcaravel.MarmotCaravelConfig.fir@217063.6]
+  assign _GEN_85 = exception ? _GEN_67 : {{1'd0}, reg_mstatus_spp}; // @[CSR.scala 568:20:shc.marmotcaravel.MarmotCaravelConfig.fir@217062.4]
+  assign _T_1542 = io_rw_addr[10]; // @[CSR.scala 623:47:shc.marmotcaravel.MarmotCaravelConfig.fir@217315.8]
+  assign _GEN_95 = _T_1542 ? _T_608 : _T_590; // @[CSR.scala 623:53:shc.marmotcaravel.MarmotCaravelConfig.fir@217317.8]
+  assign _T_1555 = _T_722 ? reg_tselect : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217354.4]
+  assign _T_1556 = _T_723 ? _T_584 : 32'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217355.4]
+  assign _T_1557 = _T_724 ? _GEN_33 : 32'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217356.4]
+  assign _T_1558 = _T_725 ? reg_misa : 32'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217357.4]
+  assign _T_1559 = _T_726 ? read_mstatus : 32'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217358.4]
+  assign _T_1560 = _T_727 ? reg_mtvec : 32'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217359.4]
+  assign _T_1561 = _T_728 ? read_mip : 16'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217360.4]
+  assign _T_1562 = _T_729 ? reg_mie : 32'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217361.4]
+  assign _T_1563 = _T_730 ? reg_mscratch : 32'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217362.4]
+  assign _T_1564 = _T_731 ? _T_590 : 32'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217363.4]
+  assign _T_1565 = _T_732 ? reg_mbadaddr : 32'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217364.4]
+  assign _T_1566 = _T_733 ? reg_mcause : 32'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217365.4]
+  assign _T_1567 = _T_734 ? io_hartid : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217366.4]
+  assign _T_1568 = _T_735 ? _T_603 : 32'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217367.4]
+  assign _T_1569 = _T_736 ? _T_608 : 32'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217368.4]
+  assign _T_1570 = _T_737 ? reg_dscratch : 32'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217369.4]
+  assign _T_1571 = _T_738 ? _T_275 : 64'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217370.4]
+  assign _T_1572 = _T_739 ? _T_265 : 64'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217371.4]
+  assign _T_1660 = _T_827 ? _T_610 : 32'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217459.4]
+  assign _T_1661 = _T_828 ? _T_611 : 32'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217460.4]
+  assign _T_1662 = _T_829 ? _T_648 : 32'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217461.4]
+  assign _T_1663 = _T_830 ? _T_671 : 32'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217462.4]
+  assign _T_1666 = _T_833 ? reg_pmp_0_addr : 30'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217465.4]
+  assign _T_1667 = _T_834 ? reg_pmp_1_addr : 30'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217466.4]
+  assign _T_1668 = _T_835 ? reg_pmp_2_addr : 30'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217467.4]
+  assign _T_1669 = _T_836 ? reg_pmp_3_addr : 30'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217468.4]
+  assign _T_1670 = _T_837 ? reg_pmp_4_addr : 30'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217469.4]
+  assign _T_1671 = _T_838 ? reg_pmp_5_addr : 30'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217470.4]
+  assign _T_1672 = _T_839 ? reg_pmp_6_addr : 30'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217471.4]
+  assign _T_1673 = _T_840 ? reg_pmp_7_addr : 30'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217472.4]
+  assign _T_1683 = _T_850 ? 32'h1 : 32'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217482.4]
+  assign _T_1685 = _T_852 ? 32'h20181004 : 32'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217484.4]
+  assign _GEN_458 = {{31'd0}, _T_1555}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217485.4]
+  assign _T_1686 = _GEN_458 | _T_1556; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217485.4]
+  assign _T_1687 = _T_1686 | _T_1557; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217486.4]
+  assign _T_1688 = _T_1687 | _T_1558; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217487.4]
+  assign _T_1689 = _T_1688 | _T_1559; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217488.4]
+  assign _T_1690 = _T_1689 | _T_1560; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217489.4]
+  assign _GEN_459 = {{16'd0}, _T_1561}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217490.4]
+  assign _T_1691 = _T_1690 | _GEN_459; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217490.4]
+  assign _T_1692 = _T_1691 | _T_1562; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217491.4]
+  assign _T_1693 = _T_1692 | _T_1563; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217492.4]
+  assign _T_1694 = _T_1693 | _T_1564; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217493.4]
+  assign _T_1695 = _T_1694 | _T_1565; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217494.4]
+  assign _T_1696 = _T_1695 | _T_1566; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217495.4]
+  assign _GEN_460 = {{31'd0}, _T_1567}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217496.4]
+  assign _T_1697 = _T_1696 | _GEN_460; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217496.4]
+  assign _T_1698 = _T_1697 | _T_1568; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217497.4]
+  assign _T_1699 = _T_1698 | _T_1569; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217498.4]
+  assign _T_1700 = _T_1699 | _T_1570; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217499.4]
+  assign _GEN_461 = {{32'd0}, _T_1700}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217500.4]
+  assign _T_1701 = _GEN_461 | _T_1571; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217500.4]
+  assign _T_1702 = _T_1701 | _T_1572; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217501.4]
+  assign _GEN_462 = {{32'd0}, _T_1660}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217589.4]
+  assign _T_1790 = _T_1702 | _GEN_462; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217589.4]
+  assign _GEN_463 = {{32'd0}, _T_1661}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217590.4]
+  assign _T_1791 = _T_1790 | _GEN_463; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217590.4]
+  assign _GEN_464 = {{32'd0}, _T_1662}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217591.4]
+  assign _T_1792 = _T_1791 | _GEN_464; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217591.4]
+  assign _GEN_465 = {{32'd0}, _T_1663}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217592.4]
+  assign _T_1793 = _T_1792 | _GEN_465; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217592.4]
+  assign _GEN_466 = {{34'd0}, _T_1666}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217595.4]
+  assign _T_1796 = _T_1793 | _GEN_466; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217595.4]
+  assign _GEN_467 = {{34'd0}, _T_1667}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217596.4]
+  assign _T_1797 = _T_1796 | _GEN_467; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217596.4]
+  assign _GEN_468 = {{34'd0}, _T_1668}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217597.4]
+  assign _T_1798 = _T_1797 | _GEN_468; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217597.4]
+  assign _GEN_469 = {{34'd0}, _T_1669}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217598.4]
+  assign _T_1799 = _T_1798 | _GEN_469; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217598.4]
+  assign _GEN_470 = {{34'd0}, _T_1670}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217599.4]
+  assign _T_1800 = _T_1799 | _GEN_470; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217599.4]
+  assign _GEN_471 = {{34'd0}, _T_1671}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217600.4]
+  assign _T_1801 = _T_1800 | _GEN_471; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217600.4]
+  assign _GEN_472 = {{34'd0}, _T_1672}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217601.4]
+  assign _T_1802 = _T_1801 | _GEN_472; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217601.4]
+  assign _GEN_473 = {{34'd0}, _T_1673}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217602.4]
+  assign _T_1803 = _T_1802 | _GEN_473; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217602.4]
+  assign _GEN_474 = {{32'd0}, _T_1683}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217612.4]
+  assign _T_1813 = _T_1803 | _GEN_474; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217612.4]
+  assign _GEN_475 = {{32'd0}, _T_1685}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217614.4]
+  assign _T_1815 = _T_1813 | _GEN_475; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217614.4]
+  assign _T_1818 = io_rw_cmd == 3'h5; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@217618.4]
+  assign _T_1819 = io_rw_cmd == 3'h6; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@217619.4]
+  assign _T_1820 = io_rw_cmd == 3'h7; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@217620.4]
+  assign _T_3002 = _T_1819 | _T_1820; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@218809.4]
+  assign csr_wen = _T_3002 | _T_1818; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@218810.4]
+  assign _T_3019 = {{69'd0}, wdata}; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218828.8 :shc.marmotcaravel.MarmotCaravelConfig.fir@218830.8]
+  assign _T_3023 = _T_3019[3]; // @[CSR.scala 670:47:shc.marmotcaravel.MarmotCaravelConfig.fir@218837.8]
+  assign _T_3027 = _T_3019[7]; // @[CSR.scala 670:47:shc.marmotcaravel.MarmotCaravelConfig.fir@218845.8]
+  assign _T_3049 = wdata[5]; // @[CSR.scala 694:20:shc.marmotcaravel.MarmotCaravelConfig.fir@218893.8]
+  assign _T_3050 = io_pc[1]; // @[CSR.scala 696:39:shc.marmotcaravel.MarmotCaravelConfig.fir@218894.8]
+  assign _T_3051 = _T_3050 == 1'h0; // @[CSR.scala 696:33:shc.marmotcaravel.MarmotCaravelConfig.fir@218895.8]
+  assign _T_3053 = wdata[2]; // @[CSR.scala 696:51:shc.marmotcaravel.MarmotCaravelConfig.fir@218897.8]
+  assign _T_3054 = _T_3051 | _T_3053; // @[CSR.scala 696:43:shc.marmotcaravel.MarmotCaravelConfig.fir@218898.8]
+  assign _T_3055 = ~ wdata; // @[CSR.scala 698:25:shc.marmotcaravel.MarmotCaravelConfig.fir@218900.10]
+  assign _T_3056 = _T_3049 == 1'h0; // @[CSR.scala 698:35:shc.marmotcaravel.MarmotCaravelConfig.fir@218901.10]
+  assign _GEN_476 = {{3'd0}, _T_3056}; // @[CSR.scala 698:38:shc.marmotcaravel.MarmotCaravelConfig.fir@218902.10]
+  assign _T_3057 = _GEN_476 << 3; // @[CSR.scala 698:38:shc.marmotcaravel.MarmotCaravelConfig.fir@218902.10]
+  assign _GEN_477 = {{28'd0}, _T_3057}; // @[CSR.scala 698:32:shc.marmotcaravel.MarmotCaravelConfig.fir@218903.10]
+  assign _T_3058 = _T_3055 | _GEN_477; // @[CSR.scala 698:32:shc.marmotcaravel.MarmotCaravelConfig.fir@218903.10]
+  assign _T_3059 = ~ _T_3058; // @[CSR.scala 698:23:shc.marmotcaravel.MarmotCaravelConfig.fir@218904.10]
+  assign _T_3060 = _T_3059 & 32'h1005; // @[CSR.scala 698:55:shc.marmotcaravel.MarmotCaravelConfig.fir@218905.10]
+  assign _T_3062 = reg_misa & 32'hffffeffa; // @[CSR.scala 698:73:shc.marmotcaravel.MarmotCaravelConfig.fir@218907.10]
+  assign _T_3063 = _T_3060 | _T_3062; // @[CSR.scala 698:62:shc.marmotcaravel.MarmotCaravelConfig.fir@218908.10]
+  assign _T_3115 = wdata & 32'h888; // @[CSR.scala 713:59:shc.marmotcaravel.MarmotCaravelConfig.fir@218976.8]
+  assign _T_3117 = _T_3055 | 32'h1; // @[CSR.scala 907:31:shc.marmotcaravel.MarmotCaravelConfig.fir@218981.8]
+  assign _T_3118 = ~ _T_3117; // @[CSR.scala 907:26:shc.marmotcaravel.MarmotCaravelConfig.fir@218982.8]
+  assign _T_3120 = _T_3055 | 32'h2; // @[CSR.scala 717:64:shc.marmotcaravel.MarmotCaravelConfig.fir@218990.8]
+  assign _T_3121 = wdata[0]; // @[CSR.scala 717:81:shc.marmotcaravel.MarmotCaravelConfig.fir@218991.8]
+  assign _T_3122 = _T_3121 ? 7'h7c : 7'h0; // @[CSR.scala 717:75:shc.marmotcaravel.MarmotCaravelConfig.fir@218992.8]
+  assign _GEN_478 = {{25'd0}, _T_3122}; // @[CSR.scala 717:70:shc.marmotcaravel.MarmotCaravelConfig.fir@218993.8]
+  assign _T_3123 = _T_3120 | _GEN_478; // @[CSR.scala 717:70:shc.marmotcaravel.MarmotCaravelConfig.fir@218993.8]
+  assign _T_3124 = ~ _T_3123; // @[CSR.scala 717:55:shc.marmotcaravel.MarmotCaravelConfig.fir@218994.8]
+  assign _T_3125 = wdata & 32'h8000000f; // @[CSR.scala 718:62:shc.marmotcaravel.MarmotCaravelConfig.fir@218998.8]
+  assign _T_3127 = _T_275[63:32]; // @[CSR.scala 901:47:shc.marmotcaravel.MarmotCaravelConfig.fir@219006.8]
+  assign _T_3128 = {_T_3127,wdata}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@219007.8]
+  assign _T_3129 = _T_3128[63:6]; // @[Counters.scala 67:28:shc.marmotcaravel.MarmotCaravelConfig.fir@219009.8]
+  assign _GEN_129 = _T_738 ? _T_3128 : {{57'd0}, _T_269}; // @[CSR.scala 901:31:shc.marmotcaravel.MarmotCaravelConfig.fir@219005.6]
+  assign _T_3131 = _T_275[31:0]; // @[CSR.scala 902:74:shc.marmotcaravel.MarmotCaravelConfig.fir@219014.8]
+  assign _T_3132 = {wdata,_T_3131}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@219015.8]
+  assign _T_3133 = _T_3132[63:6]; // @[Counters.scala 67:28:shc.marmotcaravel.MarmotCaravelConfig.fir@219017.8]
+  assign _GEN_131 = _T_827 ? _T_3132 : _GEN_129; // @[CSR.scala 902:31:shc.marmotcaravel.MarmotCaravelConfig.fir@219012.6]
+  assign _T_3134 = _T_265[63:32]; // @[CSR.scala 901:47:shc.marmotcaravel.MarmotCaravelConfig.fir@219021.8]
+  assign _T_3135 = {_T_3134,wdata}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@219022.8]
+  assign _T_3136 = _T_3135[63:6]; // @[Counters.scala 67:28:shc.marmotcaravel.MarmotCaravelConfig.fir@219024.8]
+  assign _GEN_133 = _T_739 ? _T_3135 : {{57'd0}, _T_259}; // @[CSR.scala 901:31:shc.marmotcaravel.MarmotCaravelConfig.fir@219020.6]
+  assign _T_3138 = _T_265[31:0]; // @[CSR.scala 902:74:shc.marmotcaravel.MarmotCaravelConfig.fir@219029.8]
+  assign _T_3139 = {wdata,_T_3138}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@219030.8]
+  assign _T_3140 = _T_3139[63:6]; // @[Counters.scala 67:28:shc.marmotcaravel.MarmotCaravelConfig.fir@219032.8]
+  assign _GEN_135 = _T_828 ? _T_3139 : _GEN_133; // @[CSR.scala 902:31:shc.marmotcaravel.MarmotCaravelConfig.fir@219027.6]
+  assign _T_3152 = wdata[11]; // @[CSR.scala 737:43:shc.marmotcaravel.MarmotCaravelConfig.fir@219053.8]
+  assign _T_3153 = wdata[12]; // @[CSR.scala 737:43:shc.marmotcaravel.MarmotCaravelConfig.fir@219055.8]
+  assign _T_3156 = wdata[15]; // @[CSR.scala 737:43:shc.marmotcaravel.MarmotCaravelConfig.fir@219061.8]
+  assign _GEN_141 = _T_722 ? wdata : {{31'd0}, reg_tselect}; // @[CSR.scala 786:41:shc.marmotcaravel.MarmotCaravelConfig.fir@219081.6]
+  assign _T_3164 = _GEN_19 == 1'h0; // @[CSR.scala 789:13:shc.marmotcaravel.MarmotCaravelConfig.fir@219084.6]
+  assign _T_3165 = _T_3164 | reg_debug; // @[CSR.scala 789:31:shc.marmotcaravel.MarmotCaravelConfig.fir@219085.6]
+  assign _T_3172 = wdata[1]; // @[CSR.scala 791:48:shc.marmotcaravel.MarmotCaravelConfig.fir@219095.10]
+  assign _T_3178 = wdata[8:7]; // @[CSR.scala 791:48:shc.marmotcaravel.MarmotCaravelConfig.fir@219107.10]
+  assign _T_3184 = wdata[27]; // @[CSR.scala 791:48:shc.marmotcaravel.MarmotCaravelConfig.fir@219119.10]
+  assign _T_3186 = _T_3184 & reg_debug; // @[CSR.scala 792:36:shc.marmotcaravel.MarmotCaravelConfig.fir@219123.10]
+  assign _T_3187 = _T_3186 & _T_3153; // @[CSR.scala 795:38:shc.marmotcaravel.MarmotCaravelConfig.fir@219126.10]
+  assign _T_3188 = reg_pmp_0_cfg_l == 1'h0; // @[CSR.scala 802:60:shc.marmotcaravel.MarmotCaravelConfig.fir@219133.6]
+  assign _T_3189 = _T_829 & _T_3188; // @[CSR.scala 802:57:shc.marmotcaravel.MarmotCaravelConfig.fir@219134.6]
+  assign _T_3195 = wdata[7:0]; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@219139.8 :shc.marmotcaravel.MarmotCaravelConfig.fir@219141.8]
+  assign _T_3196 = _T_3195[0]; // @[CSR.scala 803:46:shc.marmotcaravel.MarmotCaravelConfig.fir@219142.8]
+  assign _T_3197 = _T_3195[1]; // @[CSR.scala 803:46:shc.marmotcaravel.MarmotCaravelConfig.fir@219144.8]
+  assign _T_3198 = _T_3195[2]; // @[CSR.scala 803:46:shc.marmotcaravel.MarmotCaravelConfig.fir@219146.8]
+  assign _T_3199 = _T_3195[4:3]; // @[CSR.scala 803:46:shc.marmotcaravel.MarmotCaravelConfig.fir@219148.8]
+  assign _T_3201 = _T_3195[7]; // @[CSR.scala 803:46:shc.marmotcaravel.MarmotCaravelConfig.fir@219152.8]
+  assign _T_3202 = reg_pmp_1_cfg_a[1]; // @[PMP.scala 39:20:shc.marmotcaravel.MarmotCaravelConfig.fir@219156.6]
+  assign _T_3203 = _T_3202 == 1'h0; // @[PMP.scala 41:13:shc.marmotcaravel.MarmotCaravelConfig.fir@219157.6]
+  assign _T_3205 = _T_3203 & _T_473; // @[PMP.scala 41:20:shc.marmotcaravel.MarmotCaravelConfig.fir@219159.6]
+  assign _T_3206 = reg_pmp_1_cfg_l & _T_3205; // @[PMP.scala 43:62:shc.marmotcaravel.MarmotCaravelConfig.fir@219160.6]
+  assign _T_3207 = reg_pmp_0_cfg_l | _T_3206; // @[PMP.scala 43:44:shc.marmotcaravel.MarmotCaravelConfig.fir@219161.6]
+  assign _T_3208 = _T_3207 == 1'h0; // @[CSR.scala 809:48:shc.marmotcaravel.MarmotCaravelConfig.fir@219162.6]
+  assign _T_3209 = _T_833 & _T_3208; // @[CSR.scala 809:45:shc.marmotcaravel.MarmotCaravelConfig.fir@219163.6]
+  assign _GEN_248 = _T_3209 ? wdata : {{2'd0}, reg_pmp_0_addr}; // @[CSR.scala 809:71:shc.marmotcaravel.MarmotCaravelConfig.fir@219164.6]
+  assign _T_3210 = reg_pmp_1_cfg_l == 1'h0; // @[CSR.scala 802:60:shc.marmotcaravel.MarmotCaravelConfig.fir@219167.6]
+  assign _T_3211 = _T_829 & _T_3210; // @[CSR.scala 802:57:shc.marmotcaravel.MarmotCaravelConfig.fir@219168.6]
+  assign _T_3213 = wdata[31:8]; // @[CSR.scala 803:53:shc.marmotcaravel.MarmotCaravelConfig.fir@219170.8]
+  assign _T_3217 = _T_3213[7:0]; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@219173.8 :shc.marmotcaravel.MarmotCaravelConfig.fir@219175.8]
+  assign _T_3218 = _T_3217[0]; // @[CSR.scala 803:46:shc.marmotcaravel.MarmotCaravelConfig.fir@219176.8]
+  assign _T_3219 = _T_3217[1]; // @[CSR.scala 803:46:shc.marmotcaravel.MarmotCaravelConfig.fir@219178.8]
+  assign _T_3220 = _T_3217[2]; // @[CSR.scala 803:46:shc.marmotcaravel.MarmotCaravelConfig.fir@219180.8]
+  assign _T_3221 = _T_3217[4:3]; // @[CSR.scala 803:46:shc.marmotcaravel.MarmotCaravelConfig.fir@219182.8]
+  assign _T_3223 = _T_3217[7]; // @[CSR.scala 803:46:shc.marmotcaravel.MarmotCaravelConfig.fir@219186.8]
+  assign _T_3224 = reg_pmp_2_cfg_a[1]; // @[PMP.scala 39:20:shc.marmotcaravel.MarmotCaravelConfig.fir@219190.6]
+  assign _T_3225 = _T_3224 == 1'h0; // @[PMP.scala 41:13:shc.marmotcaravel.MarmotCaravelConfig.fir@219191.6]
+  assign _T_3227 = _T_3225 & _T_483; // @[PMP.scala 41:20:shc.marmotcaravel.MarmotCaravelConfig.fir@219193.6]
+  assign _T_3228 = reg_pmp_2_cfg_l & _T_3227; // @[PMP.scala 43:62:shc.marmotcaravel.MarmotCaravelConfig.fir@219194.6]
+  assign _T_3229 = reg_pmp_1_cfg_l | _T_3228; // @[PMP.scala 43:44:shc.marmotcaravel.MarmotCaravelConfig.fir@219195.6]
+  assign _T_3230 = _T_3229 == 1'h0; // @[CSR.scala 809:48:shc.marmotcaravel.MarmotCaravelConfig.fir@219196.6]
+  assign _T_3231 = _T_834 & _T_3230; // @[CSR.scala 809:45:shc.marmotcaravel.MarmotCaravelConfig.fir@219197.6]
+  assign _GEN_255 = _T_3231 ? wdata : {{2'd0}, reg_pmp_1_addr}; // @[CSR.scala 809:71:shc.marmotcaravel.MarmotCaravelConfig.fir@219198.6]
+  assign _T_3232 = reg_pmp_2_cfg_l == 1'h0; // @[CSR.scala 802:60:shc.marmotcaravel.MarmotCaravelConfig.fir@219201.6]
+  assign _T_3233 = _T_829 & _T_3232; // @[CSR.scala 802:57:shc.marmotcaravel.MarmotCaravelConfig.fir@219202.6]
+  assign _T_3235 = wdata[31:16]; // @[CSR.scala 803:53:shc.marmotcaravel.MarmotCaravelConfig.fir@219204.8]
+  assign _T_3239 = _T_3235[7:0]; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@219207.8 :shc.marmotcaravel.MarmotCaravelConfig.fir@219209.8]
+  assign _T_3240 = _T_3239[0]; // @[CSR.scala 803:46:shc.marmotcaravel.MarmotCaravelConfig.fir@219210.8]
+  assign _T_3241 = _T_3239[1]; // @[CSR.scala 803:46:shc.marmotcaravel.MarmotCaravelConfig.fir@219212.8]
+  assign _T_3242 = _T_3239[2]; // @[CSR.scala 803:46:shc.marmotcaravel.MarmotCaravelConfig.fir@219214.8]
+  assign _T_3243 = _T_3239[4:3]; // @[CSR.scala 803:46:shc.marmotcaravel.MarmotCaravelConfig.fir@219216.8]
+  assign _T_3245 = _T_3239[7]; // @[CSR.scala 803:46:shc.marmotcaravel.MarmotCaravelConfig.fir@219220.8]
+  assign _T_3246 = reg_pmp_3_cfg_a[1]; // @[PMP.scala 39:20:shc.marmotcaravel.MarmotCaravelConfig.fir@219224.6]
+  assign _T_3247 = _T_3246 == 1'h0; // @[PMP.scala 41:13:shc.marmotcaravel.MarmotCaravelConfig.fir@219225.6]
+  assign _T_3249 = _T_3247 & _T_493; // @[PMP.scala 41:20:shc.marmotcaravel.MarmotCaravelConfig.fir@219227.6]
+  assign _T_3250 = reg_pmp_3_cfg_l & _T_3249; // @[PMP.scala 43:62:shc.marmotcaravel.MarmotCaravelConfig.fir@219228.6]
+  assign _T_3251 = reg_pmp_2_cfg_l | _T_3250; // @[PMP.scala 43:44:shc.marmotcaravel.MarmotCaravelConfig.fir@219229.6]
+  assign _T_3252 = _T_3251 == 1'h0; // @[CSR.scala 809:48:shc.marmotcaravel.MarmotCaravelConfig.fir@219230.6]
+  assign _T_3253 = _T_835 & _T_3252; // @[CSR.scala 809:45:shc.marmotcaravel.MarmotCaravelConfig.fir@219231.6]
+  assign _GEN_262 = _T_3253 ? wdata : {{2'd0}, reg_pmp_2_addr}; // @[CSR.scala 809:71:shc.marmotcaravel.MarmotCaravelConfig.fir@219232.6]
+  assign _T_3254 = reg_pmp_3_cfg_l == 1'h0; // @[CSR.scala 802:60:shc.marmotcaravel.MarmotCaravelConfig.fir@219235.6]
+  assign _T_3255 = _T_829 & _T_3254; // @[CSR.scala 802:57:shc.marmotcaravel.MarmotCaravelConfig.fir@219236.6]
+  assign _T_3257 = wdata[31:24]; // @[CSR.scala 803:53:shc.marmotcaravel.MarmotCaravelConfig.fir@219238.8]
+  assign _T_3262 = _T_3257[0]; // @[CSR.scala 803:46:shc.marmotcaravel.MarmotCaravelConfig.fir@219244.8]
+  assign _T_3263 = _T_3257[1]; // @[CSR.scala 803:46:shc.marmotcaravel.MarmotCaravelConfig.fir@219246.8]
+  assign _T_3264 = _T_3257[2]; // @[CSR.scala 803:46:shc.marmotcaravel.MarmotCaravelConfig.fir@219248.8]
+  assign _T_3265 = _T_3257[4:3]; // @[CSR.scala 803:46:shc.marmotcaravel.MarmotCaravelConfig.fir@219250.8]
+  assign _T_3267 = _T_3257[7]; // @[CSR.scala 803:46:shc.marmotcaravel.MarmotCaravelConfig.fir@219254.8]
+  assign _T_3268 = reg_pmp_4_cfg_a[1]; // @[PMP.scala 39:20:shc.marmotcaravel.MarmotCaravelConfig.fir@219258.6]
+  assign _T_3269 = _T_3268 == 1'h0; // @[PMP.scala 41:13:shc.marmotcaravel.MarmotCaravelConfig.fir@219259.6]
+  assign _T_3271 = _T_3269 & _T_503; // @[PMP.scala 41:20:shc.marmotcaravel.MarmotCaravelConfig.fir@219261.6]
+  assign _T_3272 = reg_pmp_4_cfg_l & _T_3271; // @[PMP.scala 43:62:shc.marmotcaravel.MarmotCaravelConfig.fir@219262.6]
+  assign _T_3273 = reg_pmp_3_cfg_l | _T_3272; // @[PMP.scala 43:44:shc.marmotcaravel.MarmotCaravelConfig.fir@219263.6]
+  assign _T_3274 = _T_3273 == 1'h0; // @[CSR.scala 809:48:shc.marmotcaravel.MarmotCaravelConfig.fir@219264.6]
+  assign _T_3275 = _T_836 & _T_3274; // @[CSR.scala 809:45:shc.marmotcaravel.MarmotCaravelConfig.fir@219265.6]
+  assign _GEN_269 = _T_3275 ? wdata : {{2'd0}, reg_pmp_3_addr}; // @[CSR.scala 809:71:shc.marmotcaravel.MarmotCaravelConfig.fir@219266.6]
+  assign _T_3276 = reg_pmp_4_cfg_l == 1'h0; // @[CSR.scala 802:60:shc.marmotcaravel.MarmotCaravelConfig.fir@219269.6]
+  assign _T_3277 = _T_830 & _T_3276; // @[CSR.scala 802:57:shc.marmotcaravel.MarmotCaravelConfig.fir@219270.6]
+  assign _T_3290 = reg_pmp_5_cfg_a[1]; // @[PMP.scala 39:20:shc.marmotcaravel.MarmotCaravelConfig.fir@219292.6]
+  assign _T_3291 = _T_3290 == 1'h0; // @[PMP.scala 41:13:shc.marmotcaravel.MarmotCaravelConfig.fir@219293.6]
+  assign _T_3293 = _T_3291 & _T_513; // @[PMP.scala 41:20:shc.marmotcaravel.MarmotCaravelConfig.fir@219295.6]
+  assign _T_3294 = reg_pmp_5_cfg_l & _T_3293; // @[PMP.scala 43:62:shc.marmotcaravel.MarmotCaravelConfig.fir@219296.6]
+  assign _T_3295 = reg_pmp_4_cfg_l | _T_3294; // @[PMP.scala 43:44:shc.marmotcaravel.MarmotCaravelConfig.fir@219297.6]
+  assign _T_3296 = _T_3295 == 1'h0; // @[CSR.scala 809:48:shc.marmotcaravel.MarmotCaravelConfig.fir@219298.6]
+  assign _T_3297 = _T_837 & _T_3296; // @[CSR.scala 809:45:shc.marmotcaravel.MarmotCaravelConfig.fir@219299.6]
+  assign _GEN_276 = _T_3297 ? wdata : {{2'd0}, reg_pmp_4_addr}; // @[CSR.scala 809:71:shc.marmotcaravel.MarmotCaravelConfig.fir@219300.6]
+  assign _T_3298 = reg_pmp_5_cfg_l == 1'h0; // @[CSR.scala 802:60:shc.marmotcaravel.MarmotCaravelConfig.fir@219303.6]
+  assign _T_3299 = _T_830 & _T_3298; // @[CSR.scala 802:57:shc.marmotcaravel.MarmotCaravelConfig.fir@219304.6]
+  assign _T_3312 = reg_pmp_6_cfg_a[1]; // @[PMP.scala 39:20:shc.marmotcaravel.MarmotCaravelConfig.fir@219326.6]
+  assign _T_3313 = _T_3312 == 1'h0; // @[PMP.scala 41:13:shc.marmotcaravel.MarmotCaravelConfig.fir@219327.6]
+  assign _T_3315 = _T_3313 & _T_523; // @[PMP.scala 41:20:shc.marmotcaravel.MarmotCaravelConfig.fir@219329.6]
+  assign _T_3316 = reg_pmp_6_cfg_l & _T_3315; // @[PMP.scala 43:62:shc.marmotcaravel.MarmotCaravelConfig.fir@219330.6]
+  assign _T_3317 = reg_pmp_5_cfg_l | _T_3316; // @[PMP.scala 43:44:shc.marmotcaravel.MarmotCaravelConfig.fir@219331.6]
+  assign _T_3318 = _T_3317 == 1'h0; // @[CSR.scala 809:48:shc.marmotcaravel.MarmotCaravelConfig.fir@219332.6]
+  assign _T_3319 = _T_838 & _T_3318; // @[CSR.scala 809:45:shc.marmotcaravel.MarmotCaravelConfig.fir@219333.6]
+  assign _GEN_283 = _T_3319 ? wdata : {{2'd0}, reg_pmp_5_addr}; // @[CSR.scala 809:71:shc.marmotcaravel.MarmotCaravelConfig.fir@219334.6]
+  assign _T_3320 = reg_pmp_6_cfg_l == 1'h0; // @[CSR.scala 802:60:shc.marmotcaravel.MarmotCaravelConfig.fir@219337.6]
+  assign _T_3321 = _T_830 & _T_3320; // @[CSR.scala 802:57:shc.marmotcaravel.MarmotCaravelConfig.fir@219338.6]
+  assign _T_3334 = reg_pmp_7_cfg_a[1]; // @[PMP.scala 39:20:shc.marmotcaravel.MarmotCaravelConfig.fir@219360.6]
+  assign _T_3335 = _T_3334 == 1'h0; // @[PMP.scala 41:13:shc.marmotcaravel.MarmotCaravelConfig.fir@219361.6]
+  assign _T_3337 = _T_3335 & _T_533; // @[PMP.scala 41:20:shc.marmotcaravel.MarmotCaravelConfig.fir@219363.6]
+  assign _T_3338 = reg_pmp_7_cfg_l & _T_3337; // @[PMP.scala 43:62:shc.marmotcaravel.MarmotCaravelConfig.fir@219364.6]
+  assign _T_3339 = reg_pmp_6_cfg_l | _T_3338; // @[PMP.scala 43:44:shc.marmotcaravel.MarmotCaravelConfig.fir@219365.6]
+  assign _T_3340 = _T_3339 == 1'h0; // @[CSR.scala 809:48:shc.marmotcaravel.MarmotCaravelConfig.fir@219366.6]
+  assign _T_3341 = _T_839 & _T_3340; // @[CSR.scala 809:45:shc.marmotcaravel.MarmotCaravelConfig.fir@219367.6]
+  assign _GEN_290 = _T_3341 ? wdata : {{2'd0}, reg_pmp_6_addr}; // @[CSR.scala 809:71:shc.marmotcaravel.MarmotCaravelConfig.fir@219368.6]
+  assign _T_3342 = reg_pmp_7_cfg_l == 1'h0; // @[CSR.scala 802:60:shc.marmotcaravel.MarmotCaravelConfig.fir@219371.6]
+  assign _T_3343 = _T_830 & _T_3342; // @[CSR.scala 802:57:shc.marmotcaravel.MarmotCaravelConfig.fir@219372.6]
+  assign _T_3361 = reg_pmp_7_cfg_l | _T_3338; // @[PMP.scala 43:44:shc.marmotcaravel.MarmotCaravelConfig.fir@219399.6]
+  assign _T_3362 = _T_3361 == 1'h0; // @[CSR.scala 809:48:shc.marmotcaravel.MarmotCaravelConfig.fir@219400.6]
+  assign _T_3363 = _T_840 & _T_3362; // @[CSR.scala 809:45:shc.marmotcaravel.MarmotCaravelConfig.fir@219401.6]
+  assign _GEN_297 = _T_3363 ? wdata : {{2'd0}, reg_pmp_7_addr}; // @[CSR.scala 809:71:shc.marmotcaravel.MarmotCaravelConfig.fir@219402.6]
+  assign _GEN_315 = csr_wen ? _GEN_131 : {{57'd0}, _T_269}; // @[CSR.scala 668:18:shc.marmotcaravel.MarmotCaravelConfig.fir@218824.4]
+  assign _GEN_317 = csr_wen ? _GEN_135 : {{57'd0}, _T_259}; // @[CSR.scala 668:18:shc.marmotcaravel.MarmotCaravelConfig.fir@218824.4]
+  assign _GEN_323 = csr_wen ? _GEN_141 : {{31'd0}, reg_tselect}; // @[CSR.scala 668:18:shc.marmotcaravel.MarmotCaravelConfig.fir@218824.4]
+  assign _GEN_362 = csr_wen ? _GEN_248 : {{2'd0}, reg_pmp_0_addr}; // @[CSR.scala 668:18:shc.marmotcaravel.MarmotCaravelConfig.fir@218824.4]
+  assign _GEN_369 = csr_wen ? _GEN_255 : {{2'd0}, reg_pmp_1_addr}; // @[CSR.scala 668:18:shc.marmotcaravel.MarmotCaravelConfig.fir@218824.4]
+  assign _GEN_376 = csr_wen ? _GEN_262 : {{2'd0}, reg_pmp_2_addr}; // @[CSR.scala 668:18:shc.marmotcaravel.MarmotCaravelConfig.fir@218824.4]
+  assign _GEN_383 = csr_wen ? _GEN_269 : {{2'd0}, reg_pmp_3_addr}; // @[CSR.scala 668:18:shc.marmotcaravel.MarmotCaravelConfig.fir@218824.4]
+  assign _GEN_390 = csr_wen ? _GEN_276 : {{2'd0}, reg_pmp_4_addr}; // @[CSR.scala 668:18:shc.marmotcaravel.MarmotCaravelConfig.fir@218824.4]
+  assign _GEN_397 = csr_wen ? _GEN_283 : {{2'd0}, reg_pmp_5_addr}; // @[CSR.scala 668:18:shc.marmotcaravel.MarmotCaravelConfig.fir@218824.4]
+  assign _GEN_404 = csr_wen ? _GEN_290 : {{2'd0}, reg_pmp_6_addr}; // @[CSR.scala 668:18:shc.marmotcaravel.MarmotCaravelConfig.fir@218824.4]
+  assign _GEN_411 = csr_wen ? _GEN_297 : {{2'd0}, reg_pmp_7_addr}; // @[CSR.scala 668:18:shc.marmotcaravel.MarmotCaravelConfig.fir@218824.4]
+  assign _T_3392 = io_retire > 1'h0; // @[CSR.scala 865:26:shc.marmotcaravel.MarmotCaravelConfig.fir@219527.4]
+  assign io_rw_rdata = _T_1815[31:0]; // @[CSR.scala 645:15:shc.marmotcaravel.MarmotCaravelConfig.fir@217617.4]
+  assign io_decode_0_fp_illegal = _T_918 | _T_920; // @[CSR.scala 499:23:shc.marmotcaravel.MarmotCaravelConfig.fir@216597.4]
+  assign io_decode_0_fp_csr = 1'h0; // @[CSR.scala 500:19:shc.marmotcaravel.MarmotCaravelConfig.fir@216603.4]
+  assign io_decode_0_read_illegal = _T_1218 | _T_1219; // @[CSR.scala 502:25:shc.marmotcaravel.MarmotCaravelConfig.fir@216899.4]
+  assign io_decode_0_write_illegal = _T_1222 == 2'h0; // @[CSR.scala 508:26:shc.marmotcaravel.MarmotCaravelConfig.fir@216903.4]
+  assign io_decode_0_write_flush = _T_1230 == 1'h0; // @[CSR.scala 509:24:shc.marmotcaravel.MarmotCaravelConfig.fir@216912.4]
+  assign io_csr_stall = reg_wfi; // @[CSR.scala 637:16:shc.marmotcaravel.MarmotCaravelConfig.fir@217341.4]
+  assign io_eret = _T_1283 | insn_ret; // @[CSR.scala 541:11:shc.marmotcaravel.MarmotCaravelConfig.fir@216979.4]
+  assign io_singleStep = reg_dcsr_step & _T_459; // @[CSR.scala 542:17:shc.marmotcaravel.MarmotCaravelConfig.fir@216982.4]
+  assign io_status_debug = reg_debug; // @[CSR.scala 543:13:shc.marmotcaravel.MarmotCaravelConfig.fir@216983.4 CSR.scala 545:19:shc.marmotcaravel.MarmotCaravelConfig.fir@216990.4]
+  assign io_status_isa = reg_misa; // @[CSR.scala 543:13:shc.marmotcaravel.MarmotCaravelConfig.fir@216983.4 CSR.scala 546:17:shc.marmotcaravel.MarmotCaravelConfig.fir@216991.4]
+  assign io_status_dprv = 2'h3; // @[CSR.scala 543:13:shc.marmotcaravel.MarmotCaravelConfig.fir@216983.4 CSR.scala 549:18:shc.marmotcaravel.MarmotCaravelConfig.fir@216999.4]
+  assign io_status_prv = 2'h3; // @[CSR.scala 543:13:shc.marmotcaravel.MarmotCaravelConfig.fir@216983.4]
+  assign io_status_sd = _T_1288 | _T_1290; // @[CSR.scala 543:13:shc.marmotcaravel.MarmotCaravelConfig.fir@216983.4 CSR.scala 544:16:shc.marmotcaravel.MarmotCaravelConfig.fir@216989.4]
+  assign io_status_zero2 = 27'h0; // @[CSR.scala 543:13:shc.marmotcaravel.MarmotCaravelConfig.fir@216983.4]
+  assign io_status_sxl = 2'h0; // @[CSR.scala 543:13:shc.marmotcaravel.MarmotCaravelConfig.fir@216983.4 CSR.scala 548:17:shc.marmotcaravel.MarmotCaravelConfig.fir@216993.4]
+  assign io_status_uxl = 2'h0; // @[CSR.scala 543:13:shc.marmotcaravel.MarmotCaravelConfig.fir@216983.4 CSR.scala 547:17:shc.marmotcaravel.MarmotCaravelConfig.fir@216992.4]
+  assign io_status_sd_rv32 = io_status_sd; // @[CSR.scala 543:13:shc.marmotcaravel.MarmotCaravelConfig.fir@216983.4 CSR.scala 551:23:shc.marmotcaravel.MarmotCaravelConfig.fir@217000.4]
+  assign io_status_zero1 = 8'h0; // @[CSR.scala 543:13:shc.marmotcaravel.MarmotCaravelConfig.fir@216983.4]
+  assign io_status_tsr = 1'h0; // @[CSR.scala 543:13:shc.marmotcaravel.MarmotCaravelConfig.fir@216983.4]
+  assign io_status_tw = 1'h0; // @[CSR.scala 543:13:shc.marmotcaravel.MarmotCaravelConfig.fir@216983.4]
+  assign io_status_tvm = 1'h0; // @[CSR.scala 543:13:shc.marmotcaravel.MarmotCaravelConfig.fir@216983.4]
+  assign io_status_mxr = 1'h0; // @[CSR.scala 543:13:shc.marmotcaravel.MarmotCaravelConfig.fir@216983.4]
+  assign io_status_sum = 1'h0; // @[CSR.scala 543:13:shc.marmotcaravel.MarmotCaravelConfig.fir@216983.4]
+  assign io_status_mprv = 1'h0; // @[CSR.scala 543:13:shc.marmotcaravel.MarmotCaravelConfig.fir@216983.4]
+  assign io_status_xs = 2'h0; // @[CSR.scala 543:13:shc.marmotcaravel.MarmotCaravelConfig.fir@216983.4]
+  assign io_status_fs = 2'h0; // @[CSR.scala 543:13:shc.marmotcaravel.MarmotCaravelConfig.fir@216983.4]
+  assign io_status_mpp = reg_mstatus_mpp; // @[CSR.scala 543:13:shc.marmotcaravel.MarmotCaravelConfig.fir@216983.4]
+  assign io_status_hpp = 2'h0; // @[CSR.scala 543:13:shc.marmotcaravel.MarmotCaravelConfig.fir@216983.4]
+  assign io_status_spp = reg_mstatus_spp; // @[CSR.scala 543:13:shc.marmotcaravel.MarmotCaravelConfig.fir@216983.4]
+  assign io_status_mpie = reg_mstatus_mpie; // @[CSR.scala 543:13:shc.marmotcaravel.MarmotCaravelConfig.fir@216983.4]
+  assign io_status_hpie = 1'h0; // @[CSR.scala 543:13:shc.marmotcaravel.MarmotCaravelConfig.fir@216983.4]
+  assign io_status_spie = 1'h0; // @[CSR.scala 543:13:shc.marmotcaravel.MarmotCaravelConfig.fir@216983.4]
+  assign io_status_upie = 1'h0; // @[CSR.scala 543:13:shc.marmotcaravel.MarmotCaravelConfig.fir@216983.4]
+  assign io_status_mie = reg_mstatus_mie; // @[CSR.scala 543:13:shc.marmotcaravel.MarmotCaravelConfig.fir@216983.4]
+  assign io_status_hie = 1'h0; // @[CSR.scala 543:13:shc.marmotcaravel.MarmotCaravelConfig.fir@216983.4]
+  assign io_status_sie = 1'h0; // @[CSR.scala 543:13:shc.marmotcaravel.MarmotCaravelConfig.fir@216983.4]
+  assign io_status_uie = 1'h0; // @[CSR.scala 543:13:shc.marmotcaravel.MarmotCaravelConfig.fir@216983.4]
+  assign io_evec = insn_ret ? _GEN_95 : tvec; // @[CSR.scala 539:11:shc.marmotcaravel.MarmotCaravelConfig.fir@216975.4 CSR.scala 622:15:shc.marmotcaravel.MarmotCaravelConfig.fir@217312.8 CSR.scala 626:15:shc.marmotcaravel.MarmotCaravelConfig.fir@217325.10 CSR.scala 632:15:shc.marmotcaravel.MarmotCaravelConfig.fir@217337.10]
+  assign io_time = _T_275[31:0]; // @[CSR.scala 636:11:shc.marmotcaravel.MarmotCaravelConfig.fir@217340.4]
+  assign io_interrupt = _T_458 & _T_459; // @[CSR.scala 343:16:shc.marmotcaravel.MarmotCaravelConfig.fir@216095.4]
+  assign io_interrupt_cause = 32'h80000000 + _GEN_450; // @[CSR.scala 344:22:shc.marmotcaravel.MarmotCaravelConfig.fir@216096.4]
+  assign io_bp_0_control_action = reg_bp_0_control_action; // @[CSR.scala 345:9:shc.marmotcaravel.MarmotCaravelConfig.fir@216097.4]
+  assign io_bp_0_control_chain = reg_bp_0_control_chain; // @[CSR.scala 345:9:shc.marmotcaravel.MarmotCaravelConfig.fir@216097.4]
+  assign io_bp_0_control_tmatch = reg_bp_0_control_tmatch; // @[CSR.scala 345:9:shc.marmotcaravel.MarmotCaravelConfig.fir@216097.4]
+  assign io_bp_0_control_x = reg_bp_0_control_x; // @[CSR.scala 345:9:shc.marmotcaravel.MarmotCaravelConfig.fir@216097.4]
+  assign io_bp_0_control_w = reg_bp_0_control_w; // @[CSR.scala 345:9:shc.marmotcaravel.MarmotCaravelConfig.fir@216097.4]
+  assign io_bp_0_control_r = reg_bp_0_control_r; // @[CSR.scala 345:9:shc.marmotcaravel.MarmotCaravelConfig.fir@216097.4]
+  assign io_bp_0_address = reg_bp_0_address; // @[CSR.scala 345:9:shc.marmotcaravel.MarmotCaravelConfig.fir@216097.4]
+  assign io_bp_1_control_action = reg_bp_1_control_action; // @[CSR.scala 345:9:shc.marmotcaravel.MarmotCaravelConfig.fir@216098.4]
+  assign io_bp_1_control_tmatch = reg_bp_1_control_tmatch; // @[CSR.scala 345:9:shc.marmotcaravel.MarmotCaravelConfig.fir@216098.4]
+  assign io_bp_1_control_x = reg_bp_1_control_x; // @[CSR.scala 345:9:shc.marmotcaravel.MarmotCaravelConfig.fir@216098.4]
+  assign io_bp_1_control_w = reg_bp_1_control_w; // @[CSR.scala 345:9:shc.marmotcaravel.MarmotCaravelConfig.fir@216098.4]
+  assign io_bp_1_control_r = reg_bp_1_control_r; // @[CSR.scala 345:9:shc.marmotcaravel.MarmotCaravelConfig.fir@216098.4]
+  assign io_bp_1_address = reg_bp_1_address; // @[CSR.scala 345:9:shc.marmotcaravel.MarmotCaravelConfig.fir@216098.4]
+  assign io_pmp_0_cfg_l = reg_pmp_0_cfg_l; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@216195.4]
+  assign io_pmp_0_cfg_a = reg_pmp_0_cfg_a; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@216195.4]
+  assign io_pmp_0_cfg_x = reg_pmp_0_cfg_x; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@216195.4]
+  assign io_pmp_0_cfg_w = reg_pmp_0_cfg_w; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@216195.4]
+  assign io_pmp_0_cfg_r = reg_pmp_0_cfg_r; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@216195.4]
+  assign io_pmp_0_addr = reg_pmp_0_addr; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@216195.4]
+  assign io_pmp_0_mask = _T_470[31:0]; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@216195.4]
+  assign io_pmp_1_cfg_l = reg_pmp_1_cfg_l; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@216196.4]
+  assign io_pmp_1_cfg_a = reg_pmp_1_cfg_a; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@216196.4]
+  assign io_pmp_1_cfg_x = reg_pmp_1_cfg_x; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@216196.4]
+  assign io_pmp_1_cfg_w = reg_pmp_1_cfg_w; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@216196.4]
+  assign io_pmp_1_cfg_r = reg_pmp_1_cfg_r; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@216196.4]
+  assign io_pmp_1_addr = reg_pmp_1_addr; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@216196.4]
+  assign io_pmp_1_mask = _T_480[31:0]; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@216196.4]
+  assign io_pmp_2_cfg_l = reg_pmp_2_cfg_l; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@216197.4]
+  assign io_pmp_2_cfg_a = reg_pmp_2_cfg_a; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@216197.4]
+  assign io_pmp_2_cfg_x = reg_pmp_2_cfg_x; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@216197.4]
+  assign io_pmp_2_cfg_w = reg_pmp_2_cfg_w; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@216197.4]
+  assign io_pmp_2_cfg_r = reg_pmp_2_cfg_r; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@216197.4]
+  assign io_pmp_2_addr = reg_pmp_2_addr; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@216197.4]
+  assign io_pmp_2_mask = _T_490[31:0]; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@216197.4]
+  assign io_pmp_3_cfg_l = reg_pmp_3_cfg_l; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@216198.4]
+  assign io_pmp_3_cfg_a = reg_pmp_3_cfg_a; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@216198.4]
+  assign io_pmp_3_cfg_x = reg_pmp_3_cfg_x; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@216198.4]
+  assign io_pmp_3_cfg_w = reg_pmp_3_cfg_w; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@216198.4]
+  assign io_pmp_3_cfg_r = reg_pmp_3_cfg_r; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@216198.4]
+  assign io_pmp_3_addr = reg_pmp_3_addr; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@216198.4]
+  assign io_pmp_3_mask = _T_500[31:0]; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@216198.4]
+  assign io_pmp_4_cfg_l = reg_pmp_4_cfg_l; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@216199.4]
+  assign io_pmp_4_cfg_a = reg_pmp_4_cfg_a; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@216199.4]
+  assign io_pmp_4_cfg_x = reg_pmp_4_cfg_x; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@216199.4]
+  assign io_pmp_4_cfg_w = reg_pmp_4_cfg_w; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@216199.4]
+  assign io_pmp_4_cfg_r = reg_pmp_4_cfg_r; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@216199.4]
+  assign io_pmp_4_addr = reg_pmp_4_addr; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@216199.4]
+  assign io_pmp_4_mask = _T_510[31:0]; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@216199.4]
+  assign io_pmp_5_cfg_l = reg_pmp_5_cfg_l; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@216200.4]
+  assign io_pmp_5_cfg_a = reg_pmp_5_cfg_a; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@216200.4]
+  assign io_pmp_5_cfg_x = reg_pmp_5_cfg_x; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@216200.4]
+  assign io_pmp_5_cfg_w = reg_pmp_5_cfg_w; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@216200.4]
+  assign io_pmp_5_cfg_r = reg_pmp_5_cfg_r; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@216200.4]
+  assign io_pmp_5_addr = reg_pmp_5_addr; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@216200.4]
+  assign io_pmp_5_mask = _T_520[31:0]; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@216200.4]
+  assign io_pmp_6_cfg_l = reg_pmp_6_cfg_l; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@216201.4]
+  assign io_pmp_6_cfg_a = reg_pmp_6_cfg_a; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@216201.4]
+  assign io_pmp_6_cfg_x = reg_pmp_6_cfg_x; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@216201.4]
+  assign io_pmp_6_cfg_w = reg_pmp_6_cfg_w; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@216201.4]
+  assign io_pmp_6_cfg_r = reg_pmp_6_cfg_r; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@216201.4]
+  assign io_pmp_6_addr = reg_pmp_6_addr; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@216201.4]
+  assign io_pmp_6_mask = _T_530[31:0]; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@216201.4]
+  assign io_pmp_7_cfg_l = reg_pmp_7_cfg_l; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@216202.4]
+  assign io_pmp_7_cfg_a = reg_pmp_7_cfg_a; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@216202.4]
+  assign io_pmp_7_cfg_x = reg_pmp_7_cfg_x; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@216202.4]
+  assign io_pmp_7_cfg_w = reg_pmp_7_cfg_w; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@216202.4]
+  assign io_pmp_7_cfg_r = reg_pmp_7_cfg_r; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@216202.4]
+  assign io_pmp_7_addr = reg_pmp_7_addr; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@216202.4]
+  assign io_pmp_7_mask = _T_540[31:0]; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@216202.4]
+  assign io_trace_0_valid = _T_3392 | io_trace_0_exception; // @[CSR.scala 865:13:shc.marmotcaravel.MarmotCaravelConfig.fir@219529.4]
+  assign io_trace_0_iaddr = io_pc; // @[CSR.scala 867:13:shc.marmotcaravel.MarmotCaravelConfig.fir@219531.4]
+  assign io_trace_0_insn = io_inst_0; // @[CSR.scala 866:12:shc.marmotcaravel.MarmotCaravelConfig.fir@219530.4]
+  assign io_trace_0_exception = _T_1283 | io_exception; // @[CSR.scala 864:17:shc.marmotcaravel.MarmotCaravelConfig.fir@219526.4]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  reg_mstatus_mpp = _RAND_0[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  reg_mstatus_spp = _RAND_1[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  reg_mstatus_mpie = _RAND_2[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  reg_mstatus_mie = _RAND_3[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  reg_dcsr_ebreakm = _RAND_4[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  reg_dcsr_cause = _RAND_5[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {1{`RANDOM}};
+  reg_dcsr_step = _RAND_6[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {1{`RANDOM}};
+  reg_dcsr_prv = _RAND_7[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_8 = {1{`RANDOM}};
+  reg_debug = _RAND_8[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_9 = {1{`RANDOM}};
+  reg_dpc = _RAND_9[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_10 = {1{`RANDOM}};
+  reg_dscratch = _RAND_10[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_11 = {1{`RANDOM}};
+  reg_singleStepped = _RAND_11[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_12 = {1{`RANDOM}};
+  reg_tselect = _RAND_12[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_13 = {1{`RANDOM}};
+  reg_bp_0_control_dmode = _RAND_13[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_14 = {1{`RANDOM}};
+  reg_bp_0_control_action = _RAND_14[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_15 = {1{`RANDOM}};
+  reg_bp_0_control_chain = _RAND_15[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_16 = {1{`RANDOM}};
+  reg_bp_0_control_tmatch = _RAND_16[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_17 = {1{`RANDOM}};
+  reg_bp_0_control_x = _RAND_17[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_18 = {1{`RANDOM}};
+  reg_bp_0_control_w = _RAND_18[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_19 = {1{`RANDOM}};
+  reg_bp_0_control_r = _RAND_19[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_20 = {1{`RANDOM}};
+  reg_bp_0_address = _RAND_20[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_21 = {1{`RANDOM}};
+  reg_bp_1_control_dmode = _RAND_21[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_22 = {1{`RANDOM}};
+  reg_bp_1_control_action = _RAND_22[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_23 = {1{`RANDOM}};
+  reg_bp_1_control_tmatch = _RAND_23[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_24 = {1{`RANDOM}};
+  reg_bp_1_control_x = _RAND_24[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_25 = {1{`RANDOM}};
+  reg_bp_1_control_w = _RAND_25[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_26 = {1{`RANDOM}};
+  reg_bp_1_control_r = _RAND_26[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_27 = {1{`RANDOM}};
+  reg_bp_1_address = _RAND_27[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_28 = {1{`RANDOM}};
+  reg_pmp_0_cfg_l = _RAND_28[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_29 = {1{`RANDOM}};
+  reg_pmp_0_cfg_a = _RAND_29[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_30 = {1{`RANDOM}};
+  reg_pmp_0_cfg_x = _RAND_30[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_31 = {1{`RANDOM}};
+  reg_pmp_0_cfg_w = _RAND_31[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_32 = {1{`RANDOM}};
+  reg_pmp_0_cfg_r = _RAND_32[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_33 = {1{`RANDOM}};
+  reg_pmp_0_addr = _RAND_33[29:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_34 = {1{`RANDOM}};
+  reg_pmp_1_cfg_l = _RAND_34[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_35 = {1{`RANDOM}};
+  reg_pmp_1_cfg_a = _RAND_35[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_36 = {1{`RANDOM}};
+  reg_pmp_1_cfg_x = _RAND_36[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_37 = {1{`RANDOM}};
+  reg_pmp_1_cfg_w = _RAND_37[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_38 = {1{`RANDOM}};
+  reg_pmp_1_cfg_r = _RAND_38[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_39 = {1{`RANDOM}};
+  reg_pmp_1_addr = _RAND_39[29:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_40 = {1{`RANDOM}};
+  reg_pmp_2_cfg_l = _RAND_40[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_41 = {1{`RANDOM}};
+  reg_pmp_2_cfg_a = _RAND_41[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_42 = {1{`RANDOM}};
+  reg_pmp_2_cfg_x = _RAND_42[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_43 = {1{`RANDOM}};
+  reg_pmp_2_cfg_w = _RAND_43[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_44 = {1{`RANDOM}};
+  reg_pmp_2_cfg_r = _RAND_44[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_45 = {1{`RANDOM}};
+  reg_pmp_2_addr = _RAND_45[29:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_46 = {1{`RANDOM}};
+  reg_pmp_3_cfg_l = _RAND_46[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_47 = {1{`RANDOM}};
+  reg_pmp_3_cfg_a = _RAND_47[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_48 = {1{`RANDOM}};
+  reg_pmp_3_cfg_x = _RAND_48[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_49 = {1{`RANDOM}};
+  reg_pmp_3_cfg_w = _RAND_49[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_50 = {1{`RANDOM}};
+  reg_pmp_3_cfg_r = _RAND_50[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_51 = {1{`RANDOM}};
+  reg_pmp_3_addr = _RAND_51[29:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_52 = {1{`RANDOM}};
+  reg_pmp_4_cfg_l = _RAND_52[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_53 = {1{`RANDOM}};
+  reg_pmp_4_cfg_a = _RAND_53[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_54 = {1{`RANDOM}};
+  reg_pmp_4_cfg_x = _RAND_54[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_55 = {1{`RANDOM}};
+  reg_pmp_4_cfg_w = _RAND_55[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_56 = {1{`RANDOM}};
+  reg_pmp_4_cfg_r = _RAND_56[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_57 = {1{`RANDOM}};
+  reg_pmp_4_addr = _RAND_57[29:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_58 = {1{`RANDOM}};
+  reg_pmp_5_cfg_l = _RAND_58[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_59 = {1{`RANDOM}};
+  reg_pmp_5_cfg_a = _RAND_59[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_60 = {1{`RANDOM}};
+  reg_pmp_5_cfg_x = _RAND_60[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_61 = {1{`RANDOM}};
+  reg_pmp_5_cfg_w = _RAND_61[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_62 = {1{`RANDOM}};
+  reg_pmp_5_cfg_r = _RAND_62[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_63 = {1{`RANDOM}};
+  reg_pmp_5_addr = _RAND_63[29:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_64 = {1{`RANDOM}};
+  reg_pmp_6_cfg_l = _RAND_64[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_65 = {1{`RANDOM}};
+  reg_pmp_6_cfg_a = _RAND_65[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_66 = {1{`RANDOM}};
+  reg_pmp_6_cfg_x = _RAND_66[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_67 = {1{`RANDOM}};
+  reg_pmp_6_cfg_w = _RAND_67[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_68 = {1{`RANDOM}};
+  reg_pmp_6_cfg_r = _RAND_68[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_69 = {1{`RANDOM}};
+  reg_pmp_6_addr = _RAND_69[29:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_70 = {1{`RANDOM}};
+  reg_pmp_7_cfg_l = _RAND_70[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_71 = {1{`RANDOM}};
+  reg_pmp_7_cfg_a = _RAND_71[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_72 = {1{`RANDOM}};
+  reg_pmp_7_cfg_x = _RAND_72[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_73 = {1{`RANDOM}};
+  reg_pmp_7_cfg_w = _RAND_73[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_74 = {1{`RANDOM}};
+  reg_pmp_7_cfg_r = _RAND_74[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_75 = {1{`RANDOM}};
+  reg_pmp_7_addr = _RAND_75[29:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_76 = {1{`RANDOM}};
+  reg_mie = _RAND_76[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_77 = {1{`RANDOM}};
+  reg_mepc = _RAND_77[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_78 = {1{`RANDOM}};
+  reg_mcause = _RAND_78[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_79 = {1{`RANDOM}};
+  reg_mbadaddr = _RAND_79[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_80 = {1{`RANDOM}};
+  reg_mscratch = _RAND_80[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_81 = {1{`RANDOM}};
+  reg_mtvec = _RAND_81[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_82 = {1{`RANDOM}};
+  reg_wfi = _RAND_82[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_83 = {1{`RANDOM}};
+  _T_258 = _RAND_83[5:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_84 = {2{`RANDOM}};
+  _T_261 = _RAND_84[57:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_85 = {1{`RANDOM}};
+  _T_268 = _RAND_85[5:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_86 = {2{`RANDOM}};
+  _T_271 = _RAND_86[57:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_87 = {1{`RANDOM}};
+  reg_misa = _RAND_87[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      reg_mstatus_mpp <= 2'h3;
+    end else begin
+      if (insn_ret) begin
+        if (_T_1542) begin
+          if (exception) begin
+            if (!(trapToDebug)) begin
+              reg_mstatus_mpp <= 2'h3;
+            end
+          end
+        end else begin
+          reg_mstatus_mpp <= 2'h3;
+        end
+      end else begin
+        if (exception) begin
+          if (!(trapToDebug)) begin
+            reg_mstatus_mpp <= 2'h3;
+          end
+        end
+      end
+    end
+    if (reset) begin
+      reg_mstatus_spp <= 1'h0;
+    end else begin
+      reg_mstatus_spp <= _GEN_85[0];
+    end
+    if (reset) begin
+      reg_mstatus_mpie <= 1'h0;
+    end else begin
+      if (csr_wen) begin
+        if (_T_726) begin
+          reg_mstatus_mpie <= _T_3027;
+        end else begin
+          if (insn_ret) begin
+            if (_T_1542) begin
+              if (exception) begin
+                if (!(trapToDebug)) begin
+                  reg_mstatus_mpie <= reg_mstatus_mie;
+                end
+              end
+            end else begin
+              reg_mstatus_mpie <= 1'h1;
+            end
+          end else begin
+            if (exception) begin
+              if (!(trapToDebug)) begin
+                reg_mstatus_mpie <= reg_mstatus_mie;
+              end
+            end
+          end
+        end
+      end else begin
+        if (insn_ret) begin
+          if (_T_1542) begin
+            if (exception) begin
+              if (!(trapToDebug)) begin
+                reg_mstatus_mpie <= reg_mstatus_mie;
+              end
+            end
+          end else begin
+            reg_mstatus_mpie <= 1'h1;
+          end
+        end else begin
+          if (exception) begin
+            if (!(trapToDebug)) begin
+              reg_mstatus_mpie <= reg_mstatus_mie;
+            end
+          end
+        end
+      end
+    end
+    if (reset) begin
+      reg_mstatus_mie <= 1'h0;
+    end else begin
+      if (csr_wen) begin
+        if (_T_726) begin
+          reg_mstatus_mie <= _T_3023;
+        end else begin
+          if (insn_ret) begin
+            if (_T_1542) begin
+              if (exception) begin
+                if (!(trapToDebug)) begin
+                  reg_mstatus_mie <= 1'h0;
+                end
+              end
+            end else begin
+              reg_mstatus_mie <= reg_mstatus_mpie;
+            end
+          end else begin
+            if (exception) begin
+              if (!(trapToDebug)) begin
+                reg_mstatus_mie <= 1'h0;
+              end
+            end
+          end
+        end
+      end else begin
+        if (insn_ret) begin
+          if (_T_1542) begin
+            if (exception) begin
+              if (!(trapToDebug)) begin
+                reg_mstatus_mie <= 1'h0;
+              end
+            end
+          end else begin
+            reg_mstatus_mie <= reg_mstatus_mpie;
+          end
+        end else begin
+          if (exception) begin
+            if (!(trapToDebug)) begin
+              reg_mstatus_mie <= 1'h0;
+            end
+          end
+        end
+      end
+    end
+    if (reset) begin
+      reg_dcsr_ebreakm <= 1'h0;
+    end else begin
+      if (csr_wen) begin
+        if (_T_735) begin
+          reg_dcsr_ebreakm <= _T_3156;
+        end
+      end
+    end
+    if (reset) begin
+      reg_dcsr_cause <= 3'h0;
+    end else begin
+      if (exception) begin
+        if (trapToDebug) begin
+          if (_T_459) begin
+            if (reg_singleStepped) begin
+              reg_dcsr_cause <= 3'h4;
+            end else begin
+              reg_dcsr_cause <= {{1'd0}, _T_1332};
+            end
+          end
+        end
+      end
+    end
+    if (reset) begin
+      reg_dcsr_step <= 1'h0;
+    end else begin
+      if (csr_wen) begin
+        if (_T_735) begin
+          reg_dcsr_step <= _T_3053;
+        end
+      end
+    end
+    if (reset) begin
+      reg_dcsr_prv <= 2'h3;
+    end else begin
+      if (exception) begin
+        if (trapToDebug) begin
+          if (_T_459) begin
+            reg_dcsr_prv <= 2'h3;
+          end
+        end
+      end
+    end
+    if (reset) begin
+      reg_debug <= 1'h0;
+    end else begin
+      if (insn_ret) begin
+        if (_T_1542) begin
+          reg_debug <= 1'h0;
+        end else begin
+          if (exception) begin
+            if (trapToDebug) begin
+              if (_T_459) begin
+                reg_debug <= 1'h1;
+              end
+            end
+          end
+        end
+      end else begin
+        if (exception) begin
+          if (trapToDebug) begin
+            if (_T_459) begin
+              reg_debug <= 1'h1;
+            end
+          end
+        end
+      end
+    end
+    if (csr_wen) begin
+      if (_T_736) begin
+        reg_dpc <= _T_3118;
+      end else begin
+        if (exception) begin
+          if (trapToDebug) begin
+            if (_T_459) begin
+              reg_dpc <= epc;
+            end
+          end
+        end
+      end
+    end else begin
+      if (exception) begin
+        if (trapToDebug) begin
+          if (_T_459) begin
+            reg_dpc <= epc;
+          end
+        end
+      end
+    end
+    if (csr_wen) begin
+      if (_T_737) begin
+        reg_dscratch <= wdata;
+      end
+    end
+    if (_T_456) begin
+      reg_singleStepped <= 1'h0;
+    end else begin
+      if (_T_1313) begin
+        reg_singleStepped <= 1'h1;
+      end
+    end
+    reg_tselect <= _GEN_323[0];
+    if (reset) begin
+      reg_bp_0_control_dmode <= 1'h0;
+    end else begin
+      if (csr_wen) begin
+        if (_T_3165) begin
+          if (_T_723) begin
+            if (1'h0 == reg_tselect) begin
+              reg_bp_0_control_dmode <= _T_3186;
+            end else begin
+              if (1'h0 == reg_tselect) begin
+                reg_bp_0_control_dmode <= _T_3184;
+              end
+            end
+          end
+        end
+      end
+    end
+    if (reset) begin
+      reg_bp_0_control_action <= 1'h0;
+    end else begin
+      if (csr_wen) begin
+        if (_T_3165) begin
+          if (_T_723) begin
+            if (1'h0 == reg_tselect) begin
+              reg_bp_0_control_action <= _T_3187;
+            end else begin
+              if (1'h0 == reg_tselect) begin
+                reg_bp_0_control_action <= _T_3153;
+              end
+            end
+          end
+        end
+      end
+    end
+    if (csr_wen) begin
+      if (_T_3165) begin
+        if (_T_723) begin
+          if (1'h0 == reg_tselect) begin
+            reg_bp_0_control_chain <= _T_3152;
+          end
+        end
+      end
+    end
+    if (csr_wen) begin
+      if (_T_3165) begin
+        if (_T_723) begin
+          if (1'h0 == reg_tselect) begin
+            reg_bp_0_control_tmatch <= _T_3178;
+          end
+        end
+      end
+    end
+    if (reset) begin
+      reg_bp_0_control_x <= 1'h0;
+    end else begin
+      if (csr_wen) begin
+        if (_T_3165) begin
+          if (_T_723) begin
+            if (1'h0 == reg_tselect) begin
+              reg_bp_0_control_x <= _T_3053;
+            end
+          end
+        end
+      end
+    end
+    if (reset) begin
+      reg_bp_0_control_w <= 1'h0;
+    end else begin
+      if (csr_wen) begin
+        if (_T_3165) begin
+          if (_T_723) begin
+            if (1'h0 == reg_tselect) begin
+              reg_bp_0_control_w <= _T_3172;
+            end
+          end
+        end
+      end
+    end
+    if (reset) begin
+      reg_bp_0_control_r <= 1'h0;
+    end else begin
+      if (csr_wen) begin
+        if (_T_3165) begin
+          if (_T_723) begin
+            if (1'h0 == reg_tselect) begin
+              reg_bp_0_control_r <= _T_3121;
+            end
+          end
+        end
+      end
+    end
+    if (csr_wen) begin
+      if (_T_3165) begin
+        if (_T_724) begin
+          if (1'h0 == reg_tselect) begin
+            reg_bp_0_address <= wdata;
+          end
+        end
+      end
+    end
+    if (reset) begin
+      reg_bp_1_control_dmode <= 1'h0;
+    end else begin
+      if (csr_wen) begin
+        if (_T_3165) begin
+          if (_T_723) begin
+            if (reg_tselect) begin
+              reg_bp_1_control_dmode <= _T_3186;
+            end else begin
+              if (reg_tselect) begin
+                reg_bp_1_control_dmode <= _T_3184;
+              end
+            end
+          end
+        end
+      end
+    end
+    if (reset) begin
+      reg_bp_1_control_action <= 1'h0;
+    end else begin
+      if (csr_wen) begin
+        if (_T_3165) begin
+          if (_T_723) begin
+            if (reg_tselect) begin
+              reg_bp_1_control_action <= _T_3187;
+            end else begin
+              if (reg_tselect) begin
+                reg_bp_1_control_action <= _T_3153;
+              end
+            end
+          end
+        end
+      end
+    end
+    if (csr_wen) begin
+      if (_T_3165) begin
+        if (_T_723) begin
+          if (reg_tselect) begin
+            reg_bp_1_control_tmatch <= _T_3178;
+          end
+        end
+      end
+    end
+    if (reset) begin
+      reg_bp_1_control_x <= 1'h0;
+    end else begin
+      if (csr_wen) begin
+        if (_T_3165) begin
+          if (_T_723) begin
+            if (reg_tselect) begin
+              reg_bp_1_control_x <= _T_3053;
+            end
+          end
+        end
+      end
+    end
+    if (reset) begin
+      reg_bp_1_control_w <= 1'h0;
+    end else begin
+      if (csr_wen) begin
+        if (_T_3165) begin
+          if (_T_723) begin
+            if (reg_tselect) begin
+              reg_bp_1_control_w <= _T_3172;
+            end
+          end
+        end
+      end
+    end
+    if (reset) begin
+      reg_bp_1_control_r <= 1'h0;
+    end else begin
+      if (csr_wen) begin
+        if (_T_3165) begin
+          if (_T_723) begin
+            if (reg_tselect) begin
+              reg_bp_1_control_r <= _T_3121;
+            end
+          end
+        end
+      end
+    end
+    if (csr_wen) begin
+      if (_T_3165) begin
+        if (_T_724) begin
+          if (reg_tselect) begin
+            reg_bp_1_address <= wdata;
+          end
+        end
+      end
+    end
+    if (reset) begin
+      reg_pmp_0_cfg_l <= 1'h0;
+    end else begin
+      if (csr_wen) begin
+        if (_T_3189) begin
+          reg_pmp_0_cfg_l <= _T_3201;
+        end
+      end
+    end
+    if (reset) begin
+      reg_pmp_0_cfg_a <= 2'h0;
+    end else begin
+      if (csr_wen) begin
+        if (_T_3189) begin
+          reg_pmp_0_cfg_a <= _T_3199;
+        end
+      end
+    end
+    if (csr_wen) begin
+      if (_T_3189) begin
+        reg_pmp_0_cfg_x <= _T_3198;
+      end
+    end
+    if (csr_wen) begin
+      if (_T_3189) begin
+        reg_pmp_0_cfg_w <= _T_3197;
+      end
+    end
+    if (csr_wen) begin
+      if (_T_3189) begin
+        reg_pmp_0_cfg_r <= _T_3196;
+      end
+    end
+    reg_pmp_0_addr <= _GEN_362[29:0];
+    if (reset) begin
+      reg_pmp_1_cfg_l <= 1'h0;
+    end else begin
+      if (csr_wen) begin
+        if (_T_3211) begin
+          reg_pmp_1_cfg_l <= _T_3223;
+        end
+      end
+    end
+    if (reset) begin
+      reg_pmp_1_cfg_a <= 2'h0;
+    end else begin
+      if (csr_wen) begin
+        if (_T_3211) begin
+          reg_pmp_1_cfg_a <= _T_3221;
+        end
+      end
+    end
+    if (csr_wen) begin
+      if (_T_3211) begin
+        reg_pmp_1_cfg_x <= _T_3220;
+      end
+    end
+    if (csr_wen) begin
+      if (_T_3211) begin
+        reg_pmp_1_cfg_w <= _T_3219;
+      end
+    end
+    if (csr_wen) begin
+      if (_T_3211) begin
+        reg_pmp_1_cfg_r <= _T_3218;
+      end
+    end
+    reg_pmp_1_addr <= _GEN_369[29:0];
+    if (reset) begin
+      reg_pmp_2_cfg_l <= 1'h0;
+    end else begin
+      if (csr_wen) begin
+        if (_T_3233) begin
+          reg_pmp_2_cfg_l <= _T_3245;
+        end
+      end
+    end
+    if (reset) begin
+      reg_pmp_2_cfg_a <= 2'h0;
+    end else begin
+      if (csr_wen) begin
+        if (_T_3233) begin
+          reg_pmp_2_cfg_a <= _T_3243;
+        end
+      end
+    end
+    if (csr_wen) begin
+      if (_T_3233) begin
+        reg_pmp_2_cfg_x <= _T_3242;
+      end
+    end
+    if (csr_wen) begin
+      if (_T_3233) begin
+        reg_pmp_2_cfg_w <= _T_3241;
+      end
+    end
+    if (csr_wen) begin
+      if (_T_3233) begin
+        reg_pmp_2_cfg_r <= _T_3240;
+      end
+    end
+    reg_pmp_2_addr <= _GEN_376[29:0];
+    if (reset) begin
+      reg_pmp_3_cfg_l <= 1'h0;
+    end else begin
+      if (csr_wen) begin
+        if (_T_3255) begin
+          reg_pmp_3_cfg_l <= _T_3267;
+        end
+      end
+    end
+    if (reset) begin
+      reg_pmp_3_cfg_a <= 2'h0;
+    end else begin
+      if (csr_wen) begin
+        if (_T_3255) begin
+          reg_pmp_3_cfg_a <= _T_3265;
+        end
+      end
+    end
+    if (csr_wen) begin
+      if (_T_3255) begin
+        reg_pmp_3_cfg_x <= _T_3264;
+      end
+    end
+    if (csr_wen) begin
+      if (_T_3255) begin
+        reg_pmp_3_cfg_w <= _T_3263;
+      end
+    end
+    if (csr_wen) begin
+      if (_T_3255) begin
+        reg_pmp_3_cfg_r <= _T_3262;
+      end
+    end
+    reg_pmp_3_addr <= _GEN_383[29:0];
+    if (reset) begin
+      reg_pmp_4_cfg_l <= 1'h0;
+    end else begin
+      if (csr_wen) begin
+        if (_T_3277) begin
+          reg_pmp_4_cfg_l <= _T_3201;
+        end
+      end
+    end
+    if (reset) begin
+      reg_pmp_4_cfg_a <= 2'h0;
+    end else begin
+      if (csr_wen) begin
+        if (_T_3277) begin
+          reg_pmp_4_cfg_a <= _T_3199;
+        end
+      end
+    end
+    if (csr_wen) begin
+      if (_T_3277) begin
+        reg_pmp_4_cfg_x <= _T_3198;
+      end
+    end
+    if (csr_wen) begin
+      if (_T_3277) begin
+        reg_pmp_4_cfg_w <= _T_3197;
+      end
+    end
+    if (csr_wen) begin
+      if (_T_3277) begin
+        reg_pmp_4_cfg_r <= _T_3196;
+      end
+    end
+    reg_pmp_4_addr <= _GEN_390[29:0];
+    if (reset) begin
+      reg_pmp_5_cfg_l <= 1'h0;
+    end else begin
+      if (csr_wen) begin
+        if (_T_3299) begin
+          reg_pmp_5_cfg_l <= _T_3223;
+        end
+      end
+    end
+    if (reset) begin
+      reg_pmp_5_cfg_a <= 2'h0;
+    end else begin
+      if (csr_wen) begin
+        if (_T_3299) begin
+          reg_pmp_5_cfg_a <= _T_3221;
+        end
+      end
+    end
+    if (csr_wen) begin
+      if (_T_3299) begin
+        reg_pmp_5_cfg_x <= _T_3220;
+      end
+    end
+    if (csr_wen) begin
+      if (_T_3299) begin
+        reg_pmp_5_cfg_w <= _T_3219;
+      end
+    end
+    if (csr_wen) begin
+      if (_T_3299) begin
+        reg_pmp_5_cfg_r <= _T_3218;
+      end
+    end
+    reg_pmp_5_addr <= _GEN_397[29:0];
+    if (reset) begin
+      reg_pmp_6_cfg_l <= 1'h0;
+    end else begin
+      if (csr_wen) begin
+        if (_T_3321) begin
+          reg_pmp_6_cfg_l <= _T_3245;
+        end
+      end
+    end
+    if (reset) begin
+      reg_pmp_6_cfg_a <= 2'h0;
+    end else begin
+      if (csr_wen) begin
+        if (_T_3321) begin
+          reg_pmp_6_cfg_a <= _T_3243;
+        end
+      end
+    end
+    if (csr_wen) begin
+      if (_T_3321) begin
+        reg_pmp_6_cfg_x <= _T_3242;
+      end
+    end
+    if (csr_wen) begin
+      if (_T_3321) begin
+        reg_pmp_6_cfg_w <= _T_3241;
+      end
+    end
+    if (csr_wen) begin
+      if (_T_3321) begin
+        reg_pmp_6_cfg_r <= _T_3240;
+      end
+    end
+    reg_pmp_6_addr <= _GEN_404[29:0];
+    if (reset) begin
+      reg_pmp_7_cfg_l <= 1'h0;
+    end else begin
+      if (csr_wen) begin
+        if (_T_3343) begin
+          reg_pmp_7_cfg_l <= _T_3267;
+        end
+      end
+    end
+    if (reset) begin
+      reg_pmp_7_cfg_a <= 2'h0;
+    end else begin
+      if (csr_wen) begin
+        if (_T_3343) begin
+          reg_pmp_7_cfg_a <= _T_3265;
+        end
+      end
+    end
+    if (csr_wen) begin
+      if (_T_3343) begin
+        reg_pmp_7_cfg_x <= _T_3264;
+      end
+    end
+    if (csr_wen) begin
+      if (_T_3343) begin
+        reg_pmp_7_cfg_w <= _T_3263;
+      end
+    end
+    if (csr_wen) begin
+      if (_T_3343) begin
+        reg_pmp_7_cfg_r <= _T_3262;
+      end
+    end
+    reg_pmp_7_addr <= _GEN_411[29:0];
+    if (csr_wen) begin
+      if (_T_729) begin
+        reg_mie <= _T_3115;
+      end
+    end
+    if (csr_wen) begin
+      if (_T_731) begin
+        reg_mepc <= _T_3118;
+      end else begin
+        if (exception) begin
+          if (!(trapToDebug)) begin
+            reg_mepc <= epc;
+          end
+        end
+      end
+    end else begin
+      if (exception) begin
+        if (!(trapToDebug)) begin
+          reg_mepc <= epc;
+        end
+      end
+    end
+    if (csr_wen) begin
+      if (_T_733) begin
+        reg_mcause <= _T_3125;
+      end else begin
+        if (exception) begin
+          if (!(trapToDebug)) begin
+            if (insn_call) begin
+              reg_mcause <= 32'hb;
+            end else begin
+              if (insn_break) begin
+                reg_mcause <= 32'h3;
+              end else begin
+                reg_mcause <= io_cause;
+              end
+            end
+          end
+        end
+      end
+    end else begin
+      if (exception) begin
+        if (!(trapToDebug)) begin
+          if (insn_call) begin
+            reg_mcause <= 32'hb;
+          end else begin
+            if (insn_break) begin
+              reg_mcause <= 32'h3;
+            end else begin
+              reg_mcause <= io_cause;
+            end
+          end
+        end
+      end
+    end
+    if (csr_wen) begin
+      if (_T_732) begin
+        reg_mbadaddr <= wdata;
+      end else begin
+        if (exception) begin
+          if (!(trapToDebug)) begin
+            reg_mbadaddr <= io_tval;
+          end
+        end
+      end
+    end else begin
+      if (exception) begin
+        if (!(trapToDebug)) begin
+          reg_mbadaddr <= io_tval;
+        end
+      end
+    end
+    if (csr_wen) begin
+      if (_T_730) begin
+        reg_mscratch <= wdata;
+      end
+    end
+    if (reset) begin
+      reg_mtvec <= 32'h0;
+    end else begin
+      if (csr_wen) begin
+        if (_T_727) begin
+          reg_mtvec <= _T_3124;
+        end
+      end
+    end
+    if (reset) begin
+      _T_258 <= 6'h0;
+    end else begin
+      _T_258 <= _GEN_317[5:0];
+    end
+    if (reset) begin
+      _T_261 <= 58'h0;
+    end else begin
+      if (csr_wen) begin
+        if (_T_828) begin
+          _T_261 <= _T_3140;
+        end else begin
+          if (_T_739) begin
+            _T_261 <= _T_3136;
+          end else begin
+            if (_T_262) begin
+              _T_261 <= _T_264;
+            end
+          end
+        end
+      end else begin
+        if (_T_262) begin
+          _T_261 <= _T_264;
+        end
+      end
+    end
+    if (reset) begin
+      reg_misa <= 32'h40001105;
+    end else begin
+      if (csr_wen) begin
+        if (_T_725) begin
+          if (_T_3054) begin
+            reg_misa <= _T_3063;
+          end
+        end
+      end
+    end
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1304) begin
+          $fwrite(32'h80000002,"Assertion failed: these conditions must be mutually exclusive\n    at CSR.scala:554 assert(PopCount(insn_ret :: insn_call :: insn_break :: io.exception :: Nil) <= 1, \"these conditions must be mutually exclusive\")\n"); // @[CSR.scala 554:9:shc.marmotcaravel.MarmotCaravelConfig.fir@217011.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1304) begin
+          $fatal; // @[CSR.scala 554:9:shc.marmotcaravel.MarmotCaravelConfig.fir@217012.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at CSR.scala:561 assert(!io.singleStep || io.retire <= UInt(1))\n"); // @[CSR.scala 561:9:shc.marmotcaravel.MarmotCaravelConfig.fir@217043.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[CSR.scala 561:9:shc.marmotcaravel.MarmotCaravelConfig.fir@217044.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1326) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at CSR.scala:562 assert(!reg_singleStepped || io.retire === UInt(0))\n"); // @[CSR.scala 562:9:shc.marmotcaravel.MarmotCaravelConfig.fir@217053.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1326) begin
+          $fatal; // @[CSR.scala 562:9:shc.marmotcaravel.MarmotCaravelConfig.fir@217054.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+  always @(posedge io_ungated_clock) begin
+    if (reset) begin
+      reg_wfi <= 1'h0;
+    end else begin
+      if (_T_1311) begin
+        reg_wfi <= 1'h0;
+      end else begin
+        if (_T_1308) begin
+          reg_wfi <= 1'h1;
+        end
+      end
+    end
+    if (reset) begin
+      _T_268 <= 6'h0;
+    end else begin
+      _T_268 <= _GEN_315[5:0];
+    end
+    if (reset) begin
+      _T_271 <= 58'h0;
+    end else begin
+      if (csr_wen) begin
+        if (_T_827) begin
+          _T_271 <= _T_3133;
+        end else begin
+          if (_T_738) begin
+            _T_271 <= _T_3129;
+          end else begin
+            if (_T_272) begin
+              _T_271 <= _T_274;
+            end
+          end
+        end
+      end else begin
+        if (_T_272) begin
+          _T_271 <= _T_274;
+        end
+      end
+    end
+  end
+endmodule
+module BreakpointUnit( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@219539.2]
+  input         io_status_debug, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@219542.4]
+  input         io_bp_0_control_action, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@219542.4]
+  input         io_bp_0_control_chain, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@219542.4]
+  input  [1:0]  io_bp_0_control_tmatch, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@219542.4]
+  input         io_bp_0_control_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@219542.4]
+  input         io_bp_0_control_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@219542.4]
+  input         io_bp_0_control_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@219542.4]
+  input  [31:0] io_bp_0_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@219542.4]
+  input         io_bp_1_control_action, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@219542.4]
+  input  [1:0]  io_bp_1_control_tmatch, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@219542.4]
+  input         io_bp_1_control_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@219542.4]
+  input         io_bp_1_control_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@219542.4]
+  input         io_bp_1_control_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@219542.4]
+  input  [31:0] io_bp_1_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@219542.4]
+  input  [31:0] io_pc, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@219542.4]
+  input  [31:0] io_ea, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@219542.4]
+  output        io_xcpt_if, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@219542.4]
+  output        io_xcpt_ld, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@219542.4]
+  output        io_xcpt_st, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@219542.4]
+  output        io_debug_if, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@219542.4]
+  output        io_debug_ld, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@219542.4]
+  output        io_debug_st // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@219542.4]
+);
+  wire  _T_20; // @[Breakpoint.scala 30:35:shc.marmotcaravel.MarmotCaravelConfig.fir@219553.4]
+  wire [3:0] _T_24; // @[Breakpoint.scala 30:68:shc.marmotcaravel.MarmotCaravelConfig.fir@219557.4]
+  wire  _T_25; // @[Breakpoint.scala 30:68:shc.marmotcaravel.MarmotCaravelConfig.fir@219558.4]
+  wire  _T_26; // @[Breakpoint.scala 30:50:shc.marmotcaravel.MarmotCaravelConfig.fir@219559.4]
+  wire  _T_28; // @[Breakpoint.scala 73:22:shc.marmotcaravel.MarmotCaravelConfig.fir@219561.4]
+  wire  _T_29; // @[Breakpoint.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@219562.4]
+  wire  _T_30; // @[Breakpoint.scala 44:8:shc.marmotcaravel.MarmotCaravelConfig.fir@219563.4]
+  wire  _T_31; // @[Breakpoint.scala 44:36:shc.marmotcaravel.MarmotCaravelConfig.fir@219564.4]
+  wire  _T_32; // @[Breakpoint.scala 44:20:shc.marmotcaravel.MarmotCaravelConfig.fir@219565.4]
+  wire [31:0] _T_33; // @[Breakpoint.scala 41:6:shc.marmotcaravel.MarmotCaravelConfig.fir@219566.4]
+  wire  _T_35; // @[Breakpoint.scala 38:83:shc.marmotcaravel.MarmotCaravelConfig.fir@219568.4]
+  wire  _T_36; // @[Breakpoint.scala 38:73:shc.marmotcaravel.MarmotCaravelConfig.fir@219569.4]
+  wire  _T_37; // @[Breakpoint.scala 38:83:shc.marmotcaravel.MarmotCaravelConfig.fir@219570.4]
+  wire  _T_38; // @[Breakpoint.scala 38:73:shc.marmotcaravel.MarmotCaravelConfig.fir@219571.4]
+  wire  _T_39; // @[Breakpoint.scala 38:83:shc.marmotcaravel.MarmotCaravelConfig.fir@219572.4]
+  wire  _T_40; // @[Breakpoint.scala 38:73:shc.marmotcaravel.MarmotCaravelConfig.fir@219573.4]
+  wire [1:0] _T_41; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@219574.4]
+  wire [1:0] _T_42; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@219575.4]
+  wire [3:0] _T_43; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@219576.4]
+  wire [31:0] _GEN_12; // @[Breakpoint.scala 41:9:shc.marmotcaravel.MarmotCaravelConfig.fir@219577.4]
+  wire [31:0] _T_44; // @[Breakpoint.scala 41:9:shc.marmotcaravel.MarmotCaravelConfig.fir@219577.4]
+  wire [31:0] _T_45; // @[Breakpoint.scala 41:24:shc.marmotcaravel.MarmotCaravelConfig.fir@219578.4]
+  wire [31:0] _T_56; // @[Breakpoint.scala 41:33:shc.marmotcaravel.MarmotCaravelConfig.fir@219589.4]
+  wire  _T_57; // @[Breakpoint.scala 41:19:shc.marmotcaravel.MarmotCaravelConfig.fir@219590.4]
+  wire  _T_58; // @[Breakpoint.scala 47:8:shc.marmotcaravel.MarmotCaravelConfig.fir@219591.4]
+  wire  _T_59; // @[Breakpoint.scala 73:38:shc.marmotcaravel.MarmotCaravelConfig.fir@219592.4]
+  wire  _T_61; // @[Breakpoint.scala 74:22:shc.marmotcaravel.MarmotCaravelConfig.fir@219594.4]
+  wire  _T_92; // @[Breakpoint.scala 74:38:shc.marmotcaravel.MarmotCaravelConfig.fir@219625.4]
+  wire  _T_94; // @[Breakpoint.scala 75:22:shc.marmotcaravel.MarmotCaravelConfig.fir@219627.4]
+  wire  _T_96; // @[Breakpoint.scala 44:8:shc.marmotcaravel.MarmotCaravelConfig.fir@219629.4]
+  wire  _T_98; // @[Breakpoint.scala 44:20:shc.marmotcaravel.MarmotCaravelConfig.fir@219631.4]
+  wire [31:0] _T_99; // @[Breakpoint.scala 41:6:shc.marmotcaravel.MarmotCaravelConfig.fir@219632.4]
+  wire [31:0] _T_110; // @[Breakpoint.scala 41:9:shc.marmotcaravel.MarmotCaravelConfig.fir@219643.4]
+  wire  _T_123; // @[Breakpoint.scala 41:19:shc.marmotcaravel.MarmotCaravelConfig.fir@219656.4]
+  wire  _T_124; // @[Breakpoint.scala 47:8:shc.marmotcaravel.MarmotCaravelConfig.fir@219657.4]
+  wire  _T_125; // @[Breakpoint.scala 75:38:shc.marmotcaravel.MarmotCaravelConfig.fir@219658.4]
+  wire  _T_126; // @[Breakpoint.scala 76:15:shc.marmotcaravel.MarmotCaravelConfig.fir@219659.4]
+  wire  _T_127; // @[Breakpoint.scala 78:15:shc.marmotcaravel.MarmotCaravelConfig.fir@219660.4]
+  wire  _T_128; // @[Breakpoint.scala 78:37:shc.marmotcaravel.MarmotCaravelConfig.fir@219662.6]
+  wire  _GEN_0; // @[Breakpoint.scala 78:21:shc.marmotcaravel.MarmotCaravelConfig.fir@219661.4]
+  wire  _GEN_1; // @[Breakpoint.scala 78:21:shc.marmotcaravel.MarmotCaravelConfig.fir@219661.4]
+  wire  _T_129; // @[Breakpoint.scala 79:15:shc.marmotcaravel.MarmotCaravelConfig.fir@219666.4]
+  wire  _GEN_2; // @[Breakpoint.scala 79:21:shc.marmotcaravel.MarmotCaravelConfig.fir@219667.4]
+  wire  _GEN_3; // @[Breakpoint.scala 79:21:shc.marmotcaravel.MarmotCaravelConfig.fir@219667.4]
+  wire  _T_131; // @[Breakpoint.scala 80:15:shc.marmotcaravel.MarmotCaravelConfig.fir@219672.4]
+  wire  _GEN_4; // @[Breakpoint.scala 80:21:shc.marmotcaravel.MarmotCaravelConfig.fir@219673.4]
+  wire  _GEN_5; // @[Breakpoint.scala 80:21:shc.marmotcaravel.MarmotCaravelConfig.fir@219673.4]
+  wire  _T_133; // @[Breakpoint.scala 82:10:shc.marmotcaravel.MarmotCaravelConfig.fir@219678.4]
+  wire  _T_134; // @[Breakpoint.scala 82:20:shc.marmotcaravel.MarmotCaravelConfig.fir@219679.4]
+  wire  _T_135; // @[Breakpoint.scala 82:30:shc.marmotcaravel.MarmotCaravelConfig.fir@219680.4]
+  wire  _T_143; // @[Breakpoint.scala 73:16:shc.marmotcaravel.MarmotCaravelConfig.fir@219688.4]
+  wire  _T_144; // @[Breakpoint.scala 73:22:shc.marmotcaravel.MarmotCaravelConfig.fir@219689.4]
+  wire  _T_145; // @[Breakpoint.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@219690.4]
+  wire  _T_146; // @[Breakpoint.scala 44:8:shc.marmotcaravel.MarmotCaravelConfig.fir@219691.4]
+  wire  _T_147; // @[Breakpoint.scala 44:36:shc.marmotcaravel.MarmotCaravelConfig.fir@219692.4]
+  wire  _T_148; // @[Breakpoint.scala 44:20:shc.marmotcaravel.MarmotCaravelConfig.fir@219693.4]
+  wire  _T_151; // @[Breakpoint.scala 38:83:shc.marmotcaravel.MarmotCaravelConfig.fir@219696.4]
+  wire  _T_152; // @[Breakpoint.scala 38:73:shc.marmotcaravel.MarmotCaravelConfig.fir@219697.4]
+  wire  _T_153; // @[Breakpoint.scala 38:83:shc.marmotcaravel.MarmotCaravelConfig.fir@219698.4]
+  wire  _T_154; // @[Breakpoint.scala 38:73:shc.marmotcaravel.MarmotCaravelConfig.fir@219699.4]
+  wire  _T_155; // @[Breakpoint.scala 38:83:shc.marmotcaravel.MarmotCaravelConfig.fir@219700.4]
+  wire  _T_156; // @[Breakpoint.scala 38:73:shc.marmotcaravel.MarmotCaravelConfig.fir@219701.4]
+  wire [1:0] _T_157; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@219702.4]
+  wire [1:0] _T_158; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@219703.4]
+  wire [3:0] _T_159; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@219704.4]
+  wire [31:0] _GEN_18; // @[Breakpoint.scala 41:9:shc.marmotcaravel.MarmotCaravelConfig.fir@219705.4]
+  wire [31:0] _T_160; // @[Breakpoint.scala 41:9:shc.marmotcaravel.MarmotCaravelConfig.fir@219705.4]
+  wire [31:0] _T_161; // @[Breakpoint.scala 41:24:shc.marmotcaravel.MarmotCaravelConfig.fir@219706.4]
+  wire [31:0] _T_172; // @[Breakpoint.scala 41:33:shc.marmotcaravel.MarmotCaravelConfig.fir@219717.4]
+  wire  _T_173; // @[Breakpoint.scala 41:19:shc.marmotcaravel.MarmotCaravelConfig.fir@219718.4]
+  wire  _T_174; // @[Breakpoint.scala 47:8:shc.marmotcaravel.MarmotCaravelConfig.fir@219719.4]
+  wire  _T_175; // @[Breakpoint.scala 73:38:shc.marmotcaravel.MarmotCaravelConfig.fir@219720.4]
+  wire  _T_176; // @[Breakpoint.scala 74:16:shc.marmotcaravel.MarmotCaravelConfig.fir@219721.4]
+  wire  _T_177; // @[Breakpoint.scala 74:22:shc.marmotcaravel.MarmotCaravelConfig.fir@219722.4]
+  wire  _T_208; // @[Breakpoint.scala 74:38:shc.marmotcaravel.MarmotCaravelConfig.fir@219753.4]
+  wire  _T_209; // @[Breakpoint.scala 75:16:shc.marmotcaravel.MarmotCaravelConfig.fir@219754.4]
+  wire  _T_210; // @[Breakpoint.scala 75:22:shc.marmotcaravel.MarmotCaravelConfig.fir@219755.4]
+  wire  _T_212; // @[Breakpoint.scala 44:8:shc.marmotcaravel.MarmotCaravelConfig.fir@219757.4]
+  wire  _T_214; // @[Breakpoint.scala 44:20:shc.marmotcaravel.MarmotCaravelConfig.fir@219759.4]
+  wire [31:0] _T_226; // @[Breakpoint.scala 41:9:shc.marmotcaravel.MarmotCaravelConfig.fir@219771.4]
+  wire  _T_239; // @[Breakpoint.scala 41:19:shc.marmotcaravel.MarmotCaravelConfig.fir@219784.4]
+  wire  _T_240; // @[Breakpoint.scala 47:8:shc.marmotcaravel.MarmotCaravelConfig.fir@219785.4]
+  wire  _T_241; // @[Breakpoint.scala 75:38:shc.marmotcaravel.MarmotCaravelConfig.fir@219786.4]
+  wire  _T_244; // @[Breakpoint.scala 78:37:shc.marmotcaravel.MarmotCaravelConfig.fir@219790.6]
+  assign _T_20 = io_status_debug == 1'h0; // @[Breakpoint.scala 30:35:shc.marmotcaravel.MarmotCaravelConfig.fir@219553.4]
+  assign _T_24 = 4'h8 >> 2'h3; // @[Breakpoint.scala 30:68:shc.marmotcaravel.MarmotCaravelConfig.fir@219557.4]
+  assign _T_25 = _T_24[0]; // @[Breakpoint.scala 30:68:shc.marmotcaravel.MarmotCaravelConfig.fir@219558.4]
+  assign _T_26 = _T_20 & _T_25; // @[Breakpoint.scala 30:50:shc.marmotcaravel.MarmotCaravelConfig.fir@219559.4]
+  assign _T_28 = _T_26 & io_bp_0_control_r; // @[Breakpoint.scala 73:22:shc.marmotcaravel.MarmotCaravelConfig.fir@219561.4]
+  assign _T_29 = io_bp_0_control_tmatch[1]; // @[Breakpoint.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@219562.4]
+  assign _T_30 = io_ea >= io_bp_0_address; // @[Breakpoint.scala 44:8:shc.marmotcaravel.MarmotCaravelConfig.fir@219563.4]
+  assign _T_31 = io_bp_0_control_tmatch[0]; // @[Breakpoint.scala 44:36:shc.marmotcaravel.MarmotCaravelConfig.fir@219564.4]
+  assign _T_32 = _T_30 ^ _T_31; // @[Breakpoint.scala 44:20:shc.marmotcaravel.MarmotCaravelConfig.fir@219565.4]
+  assign _T_33 = ~ io_ea; // @[Breakpoint.scala 41:6:shc.marmotcaravel.MarmotCaravelConfig.fir@219566.4]
+  assign _T_35 = io_bp_0_address[0]; // @[Breakpoint.scala 38:83:shc.marmotcaravel.MarmotCaravelConfig.fir@219568.4]
+  assign _T_36 = _T_31 & _T_35; // @[Breakpoint.scala 38:73:shc.marmotcaravel.MarmotCaravelConfig.fir@219569.4]
+  assign _T_37 = io_bp_0_address[1]; // @[Breakpoint.scala 38:83:shc.marmotcaravel.MarmotCaravelConfig.fir@219570.4]
+  assign _T_38 = _T_36 & _T_37; // @[Breakpoint.scala 38:73:shc.marmotcaravel.MarmotCaravelConfig.fir@219571.4]
+  assign _T_39 = io_bp_0_address[2]; // @[Breakpoint.scala 38:83:shc.marmotcaravel.MarmotCaravelConfig.fir@219572.4]
+  assign _T_40 = _T_38 & _T_39; // @[Breakpoint.scala 38:73:shc.marmotcaravel.MarmotCaravelConfig.fir@219573.4]
+  assign _T_41 = {_T_36,_T_31}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@219574.4]
+  assign _T_42 = {_T_40,_T_38}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@219575.4]
+  assign _T_43 = {_T_42,_T_41}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@219576.4]
+  assign _GEN_12 = {{28'd0}, _T_43}; // @[Breakpoint.scala 41:9:shc.marmotcaravel.MarmotCaravelConfig.fir@219577.4]
+  assign _T_44 = _T_33 | _GEN_12; // @[Breakpoint.scala 41:9:shc.marmotcaravel.MarmotCaravelConfig.fir@219577.4]
+  assign _T_45 = ~ io_bp_0_address; // @[Breakpoint.scala 41:24:shc.marmotcaravel.MarmotCaravelConfig.fir@219578.4]
+  assign _T_56 = _T_45 | _GEN_12; // @[Breakpoint.scala 41:33:shc.marmotcaravel.MarmotCaravelConfig.fir@219589.4]
+  assign _T_57 = _T_44 == _T_56; // @[Breakpoint.scala 41:19:shc.marmotcaravel.MarmotCaravelConfig.fir@219590.4]
+  assign _T_58 = _T_29 ? _T_32 : _T_57; // @[Breakpoint.scala 47:8:shc.marmotcaravel.MarmotCaravelConfig.fir@219591.4]
+  assign _T_59 = _T_28 & _T_58; // @[Breakpoint.scala 73:38:shc.marmotcaravel.MarmotCaravelConfig.fir@219592.4]
+  assign _T_61 = _T_26 & io_bp_0_control_w; // @[Breakpoint.scala 74:22:shc.marmotcaravel.MarmotCaravelConfig.fir@219594.4]
+  assign _T_92 = _T_61 & _T_58; // @[Breakpoint.scala 74:38:shc.marmotcaravel.MarmotCaravelConfig.fir@219625.4]
+  assign _T_94 = _T_26 & io_bp_0_control_x; // @[Breakpoint.scala 75:22:shc.marmotcaravel.MarmotCaravelConfig.fir@219627.4]
+  assign _T_96 = io_pc >= io_bp_0_address; // @[Breakpoint.scala 44:8:shc.marmotcaravel.MarmotCaravelConfig.fir@219629.4]
+  assign _T_98 = _T_96 ^ _T_31; // @[Breakpoint.scala 44:20:shc.marmotcaravel.MarmotCaravelConfig.fir@219631.4]
+  assign _T_99 = ~ io_pc; // @[Breakpoint.scala 41:6:shc.marmotcaravel.MarmotCaravelConfig.fir@219632.4]
+  assign _T_110 = _T_99 | _GEN_12; // @[Breakpoint.scala 41:9:shc.marmotcaravel.MarmotCaravelConfig.fir@219643.4]
+  assign _T_123 = _T_110 == _T_56; // @[Breakpoint.scala 41:19:shc.marmotcaravel.MarmotCaravelConfig.fir@219656.4]
+  assign _T_124 = _T_29 ? _T_98 : _T_123; // @[Breakpoint.scala 47:8:shc.marmotcaravel.MarmotCaravelConfig.fir@219657.4]
+  assign _T_125 = _T_94 & _T_124; // @[Breakpoint.scala 75:38:shc.marmotcaravel.MarmotCaravelConfig.fir@219658.4]
+  assign _T_126 = io_bp_0_control_chain == 1'h0; // @[Breakpoint.scala 76:15:shc.marmotcaravel.MarmotCaravelConfig.fir@219659.4]
+  assign _T_127 = _T_126 & _T_59; // @[Breakpoint.scala 78:15:shc.marmotcaravel.MarmotCaravelConfig.fir@219660.4]
+  assign _T_128 = io_bp_0_control_action == 1'h0; // @[Breakpoint.scala 78:37:shc.marmotcaravel.MarmotCaravelConfig.fir@219662.6]
+  assign _GEN_0 = _T_127 ? _T_128 : 1'h0; // @[Breakpoint.scala 78:21:shc.marmotcaravel.MarmotCaravelConfig.fir@219661.4]
+  assign _GEN_1 = _T_127 ? io_bp_0_control_action : 1'h0; // @[Breakpoint.scala 78:21:shc.marmotcaravel.MarmotCaravelConfig.fir@219661.4]
+  assign _T_129 = _T_126 & _T_92; // @[Breakpoint.scala 79:15:shc.marmotcaravel.MarmotCaravelConfig.fir@219666.4]
+  assign _GEN_2 = _T_129 ? _T_128 : 1'h0; // @[Breakpoint.scala 79:21:shc.marmotcaravel.MarmotCaravelConfig.fir@219667.4]
+  assign _GEN_3 = _T_129 ? io_bp_0_control_action : 1'h0; // @[Breakpoint.scala 79:21:shc.marmotcaravel.MarmotCaravelConfig.fir@219667.4]
+  assign _T_131 = _T_126 & _T_125; // @[Breakpoint.scala 80:15:shc.marmotcaravel.MarmotCaravelConfig.fir@219672.4]
+  assign _GEN_4 = _T_131 ? _T_128 : 1'h0; // @[Breakpoint.scala 80:21:shc.marmotcaravel.MarmotCaravelConfig.fir@219673.4]
+  assign _GEN_5 = _T_131 ? io_bp_0_control_action : 1'h0; // @[Breakpoint.scala 80:21:shc.marmotcaravel.MarmotCaravelConfig.fir@219673.4]
+  assign _T_133 = _T_126 | _T_59; // @[Breakpoint.scala 82:10:shc.marmotcaravel.MarmotCaravelConfig.fir@219678.4]
+  assign _T_134 = _T_126 | _T_92; // @[Breakpoint.scala 82:20:shc.marmotcaravel.MarmotCaravelConfig.fir@219679.4]
+  assign _T_135 = _T_126 | _T_125; // @[Breakpoint.scala 82:30:shc.marmotcaravel.MarmotCaravelConfig.fir@219680.4]
+  assign _T_143 = _T_26 & _T_133; // @[Breakpoint.scala 73:16:shc.marmotcaravel.MarmotCaravelConfig.fir@219688.4]
+  assign _T_144 = _T_143 & io_bp_1_control_r; // @[Breakpoint.scala 73:22:shc.marmotcaravel.MarmotCaravelConfig.fir@219689.4]
+  assign _T_145 = io_bp_1_control_tmatch[1]; // @[Breakpoint.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@219690.4]
+  assign _T_146 = io_ea >= io_bp_1_address; // @[Breakpoint.scala 44:8:shc.marmotcaravel.MarmotCaravelConfig.fir@219691.4]
+  assign _T_147 = io_bp_1_control_tmatch[0]; // @[Breakpoint.scala 44:36:shc.marmotcaravel.MarmotCaravelConfig.fir@219692.4]
+  assign _T_148 = _T_146 ^ _T_147; // @[Breakpoint.scala 44:20:shc.marmotcaravel.MarmotCaravelConfig.fir@219693.4]
+  assign _T_151 = io_bp_1_address[0]; // @[Breakpoint.scala 38:83:shc.marmotcaravel.MarmotCaravelConfig.fir@219696.4]
+  assign _T_152 = _T_147 & _T_151; // @[Breakpoint.scala 38:73:shc.marmotcaravel.MarmotCaravelConfig.fir@219697.4]
+  assign _T_153 = io_bp_1_address[1]; // @[Breakpoint.scala 38:83:shc.marmotcaravel.MarmotCaravelConfig.fir@219698.4]
+  assign _T_154 = _T_152 & _T_153; // @[Breakpoint.scala 38:73:shc.marmotcaravel.MarmotCaravelConfig.fir@219699.4]
+  assign _T_155 = io_bp_1_address[2]; // @[Breakpoint.scala 38:83:shc.marmotcaravel.MarmotCaravelConfig.fir@219700.4]
+  assign _T_156 = _T_154 & _T_155; // @[Breakpoint.scala 38:73:shc.marmotcaravel.MarmotCaravelConfig.fir@219701.4]
+  assign _T_157 = {_T_152,_T_147}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@219702.4]
+  assign _T_158 = {_T_156,_T_154}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@219703.4]
+  assign _T_159 = {_T_158,_T_157}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@219704.4]
+  assign _GEN_18 = {{28'd0}, _T_159}; // @[Breakpoint.scala 41:9:shc.marmotcaravel.MarmotCaravelConfig.fir@219705.4]
+  assign _T_160 = _T_33 | _GEN_18; // @[Breakpoint.scala 41:9:shc.marmotcaravel.MarmotCaravelConfig.fir@219705.4]
+  assign _T_161 = ~ io_bp_1_address; // @[Breakpoint.scala 41:24:shc.marmotcaravel.MarmotCaravelConfig.fir@219706.4]
+  assign _T_172 = _T_161 | _GEN_18; // @[Breakpoint.scala 41:33:shc.marmotcaravel.MarmotCaravelConfig.fir@219717.4]
+  assign _T_173 = _T_160 == _T_172; // @[Breakpoint.scala 41:19:shc.marmotcaravel.MarmotCaravelConfig.fir@219718.4]
+  assign _T_174 = _T_145 ? _T_148 : _T_173; // @[Breakpoint.scala 47:8:shc.marmotcaravel.MarmotCaravelConfig.fir@219719.4]
+  assign _T_175 = _T_144 & _T_174; // @[Breakpoint.scala 73:38:shc.marmotcaravel.MarmotCaravelConfig.fir@219720.4]
+  assign _T_176 = _T_26 & _T_134; // @[Breakpoint.scala 74:16:shc.marmotcaravel.MarmotCaravelConfig.fir@219721.4]
+  assign _T_177 = _T_176 & io_bp_1_control_w; // @[Breakpoint.scala 74:22:shc.marmotcaravel.MarmotCaravelConfig.fir@219722.4]
+  assign _T_208 = _T_177 & _T_174; // @[Breakpoint.scala 74:38:shc.marmotcaravel.MarmotCaravelConfig.fir@219753.4]
+  assign _T_209 = _T_26 & _T_135; // @[Breakpoint.scala 75:16:shc.marmotcaravel.MarmotCaravelConfig.fir@219754.4]
+  assign _T_210 = _T_209 & io_bp_1_control_x; // @[Breakpoint.scala 75:22:shc.marmotcaravel.MarmotCaravelConfig.fir@219755.4]
+  assign _T_212 = io_pc >= io_bp_1_address; // @[Breakpoint.scala 44:8:shc.marmotcaravel.MarmotCaravelConfig.fir@219757.4]
+  assign _T_214 = _T_212 ^ _T_147; // @[Breakpoint.scala 44:20:shc.marmotcaravel.MarmotCaravelConfig.fir@219759.4]
+  assign _T_226 = _T_99 | _GEN_18; // @[Breakpoint.scala 41:9:shc.marmotcaravel.MarmotCaravelConfig.fir@219771.4]
+  assign _T_239 = _T_226 == _T_172; // @[Breakpoint.scala 41:19:shc.marmotcaravel.MarmotCaravelConfig.fir@219784.4]
+  assign _T_240 = _T_145 ? _T_214 : _T_239; // @[Breakpoint.scala 47:8:shc.marmotcaravel.MarmotCaravelConfig.fir@219785.4]
+  assign _T_241 = _T_210 & _T_240; // @[Breakpoint.scala 75:38:shc.marmotcaravel.MarmotCaravelConfig.fir@219786.4]
+  assign _T_244 = io_bp_1_control_action == 1'h0; // @[Breakpoint.scala 78:37:shc.marmotcaravel.MarmotCaravelConfig.fir@219790.6]
+  assign io_xcpt_if = _T_241 ? _T_244 : _GEN_4; // @[Breakpoint.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@219547.4 Breakpoint.scala 80:34:shc.marmotcaravel.MarmotCaravelConfig.fir@219675.6 Breakpoint.scala 80:34:shc.marmotcaravel.MarmotCaravelConfig.fir@219803.6]
+  assign io_xcpt_ld = _T_175 ? _T_244 : _GEN_0; // @[Breakpoint.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@219548.4 Breakpoint.scala 78:34:shc.marmotcaravel.MarmotCaravelConfig.fir@219663.6 Breakpoint.scala 78:34:shc.marmotcaravel.MarmotCaravelConfig.fir@219791.6]
+  assign io_xcpt_st = _T_208 ? _T_244 : _GEN_2; // @[Breakpoint.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@219549.4 Breakpoint.scala 79:34:shc.marmotcaravel.MarmotCaravelConfig.fir@219669.6 Breakpoint.scala 79:34:shc.marmotcaravel.MarmotCaravelConfig.fir@219797.6]
+  assign io_debug_if = _T_241 ? io_bp_1_control_action : _GEN_5; // @[Breakpoint.scala 67:15:shc.marmotcaravel.MarmotCaravelConfig.fir@219550.4 Breakpoint.scala 80:69:shc.marmotcaravel.MarmotCaravelConfig.fir@219676.6 Breakpoint.scala 80:69:shc.marmotcaravel.MarmotCaravelConfig.fir@219804.6]
+  assign io_debug_ld = _T_175 ? io_bp_1_control_action : _GEN_1; // @[Breakpoint.scala 68:15:shc.marmotcaravel.MarmotCaravelConfig.fir@219551.4 Breakpoint.scala 78:69:shc.marmotcaravel.MarmotCaravelConfig.fir@219664.6 Breakpoint.scala 78:69:shc.marmotcaravel.MarmotCaravelConfig.fir@219792.6]
+  assign io_debug_st = _T_208 ? io_bp_1_control_action : _GEN_3; // @[Breakpoint.scala 69:15:shc.marmotcaravel.MarmotCaravelConfig.fir@219552.4 Breakpoint.scala 79:69:shc.marmotcaravel.MarmotCaravelConfig.fir@219670.6 Breakpoint.scala 79:69:shc.marmotcaravel.MarmotCaravelConfig.fir@219798.6]
+endmodule
+module ALU( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@219810.2]
+  input  [3:0]  io_fn, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@219813.4]
+  input  [31:0] io_in2, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@219813.4]
+  input  [31:0] io_in1, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@219813.4]
+  output [31:0] io_out, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@219813.4]
+  output [31:0] io_adder_out, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@219813.4]
+  output        io_cmp_out // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@219813.4]
+);
+  wire  _T_11; // @[ALU.scala 40:29:shc.marmotcaravel.MarmotCaravelConfig.fir@219818.4]
+  wire [31:0] _T_12; // @[ALU.scala 62:35:shc.marmotcaravel.MarmotCaravelConfig.fir@219819.4]
+  wire [31:0] in2_inv; // @[ALU.scala 62:20:shc.marmotcaravel.MarmotCaravelConfig.fir@219820.4]
+  wire [31:0] in1_xor_in2; // @[ALU.scala 63:28:shc.marmotcaravel.MarmotCaravelConfig.fir@219821.4]
+  wire [31:0] _T_14; // @[ALU.scala 64:26:shc.marmotcaravel.MarmotCaravelConfig.fir@219823.4]
+  wire [31:0] _GEN_0; // @[ALU.scala 64:36:shc.marmotcaravel.MarmotCaravelConfig.fir@219825.4]
+  wire  _T_18; // @[ALU.scala 68:15:shc.marmotcaravel.MarmotCaravelConfig.fir@219828.4]
+  wire  _T_19; // @[ALU.scala 68:34:shc.marmotcaravel.MarmotCaravelConfig.fir@219829.4]
+  wire  _T_20; // @[ALU.scala 68:24:shc.marmotcaravel.MarmotCaravelConfig.fir@219830.4]
+  wire  _T_21; // @[ALU.scala 68:56:shc.marmotcaravel.MarmotCaravelConfig.fir@219831.4]
+  wire  _T_22; // @[ALU.scala 42:35:shc.marmotcaravel.MarmotCaravelConfig.fir@219832.4]
+  wire  _T_25; // @[ALU.scala 69:8:shc.marmotcaravel.MarmotCaravelConfig.fir@219835.4]
+  wire  slt; // @[ALU.scala 68:8:shc.marmotcaravel.MarmotCaravelConfig.fir@219836.4]
+  wire  _T_26; // @[ALU.scala 43:35:shc.marmotcaravel.MarmotCaravelConfig.fir@219837.4]
+  wire  _T_28; // @[ALU.scala 44:26:shc.marmotcaravel.MarmotCaravelConfig.fir@219839.4]
+  wire  _T_29; // @[ALU.scala 70:68:shc.marmotcaravel.MarmotCaravelConfig.fir@219840.4]
+  wire  _T_30; // @[ALU.scala 70:41:shc.marmotcaravel.MarmotCaravelConfig.fir@219841.4]
+  wire [4:0] shamt; // @[ALU.scala 74:28:shc.marmotcaravel.MarmotCaravelConfig.fir@219844.4]
+  wire  _T_32; // @[ALU.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@219845.4]
+  wire  _T_33; // @[ALU.scala 82:44:shc.marmotcaravel.MarmotCaravelConfig.fir@219846.4]
+  wire  _T_34; // @[ALU.scala 82:35:shc.marmotcaravel.MarmotCaravelConfig.fir@219847.4]
+  wire [15:0] _T_37; // @[Bitwise.scala 103:21:shc.marmotcaravel.MarmotCaravelConfig.fir@219850.4]
+  wire [31:0] _T_38; // @[Bitwise.scala 103:31:shc.marmotcaravel.MarmotCaravelConfig.fir@219851.4]
+  wire [15:0] _T_39; // @[Bitwise.scala 103:46:shc.marmotcaravel.MarmotCaravelConfig.fir@219852.4]
+  wire [31:0] _GEN_1; // @[Bitwise.scala 103:65:shc.marmotcaravel.MarmotCaravelConfig.fir@219853.4]
+  wire [31:0] _T_40; // @[Bitwise.scala 103:65:shc.marmotcaravel.MarmotCaravelConfig.fir@219853.4]
+  wire [31:0] _T_42; // @[Bitwise.scala 103:75:shc.marmotcaravel.MarmotCaravelConfig.fir@219855.4]
+  wire [31:0] _T_43; // @[Bitwise.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@219856.4]
+  wire [23:0] _T_47; // @[Bitwise.scala 103:21:shc.marmotcaravel.MarmotCaravelConfig.fir@219860.4]
+  wire [31:0] _GEN_2; // @[Bitwise.scala 103:31:shc.marmotcaravel.MarmotCaravelConfig.fir@219861.4]
+  wire [31:0] _T_48; // @[Bitwise.scala 103:31:shc.marmotcaravel.MarmotCaravelConfig.fir@219861.4]
+  wire [23:0] _T_49; // @[Bitwise.scala 103:46:shc.marmotcaravel.MarmotCaravelConfig.fir@219862.4]
+  wire [31:0] _GEN_3; // @[Bitwise.scala 103:65:shc.marmotcaravel.MarmotCaravelConfig.fir@219863.4]
+  wire [31:0] _T_50; // @[Bitwise.scala 103:65:shc.marmotcaravel.MarmotCaravelConfig.fir@219863.4]
+  wire [31:0] _T_52; // @[Bitwise.scala 103:75:shc.marmotcaravel.MarmotCaravelConfig.fir@219865.4]
+  wire [31:0] _T_53; // @[Bitwise.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@219866.4]
+  wire [27:0] _T_57; // @[Bitwise.scala 103:21:shc.marmotcaravel.MarmotCaravelConfig.fir@219870.4]
+  wire [31:0] _GEN_4; // @[Bitwise.scala 103:31:shc.marmotcaravel.MarmotCaravelConfig.fir@219871.4]
+  wire [31:0] _T_58; // @[Bitwise.scala 103:31:shc.marmotcaravel.MarmotCaravelConfig.fir@219871.4]
+  wire [27:0] _T_59; // @[Bitwise.scala 103:46:shc.marmotcaravel.MarmotCaravelConfig.fir@219872.4]
+  wire [31:0] _GEN_5; // @[Bitwise.scala 103:65:shc.marmotcaravel.MarmotCaravelConfig.fir@219873.4]
+  wire [31:0] _T_60; // @[Bitwise.scala 103:65:shc.marmotcaravel.MarmotCaravelConfig.fir@219873.4]
+  wire [31:0] _T_62; // @[Bitwise.scala 103:75:shc.marmotcaravel.MarmotCaravelConfig.fir@219875.4]
+  wire [31:0] _T_63; // @[Bitwise.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@219876.4]
+  wire [29:0] _T_67; // @[Bitwise.scala 103:21:shc.marmotcaravel.MarmotCaravelConfig.fir@219880.4]
+  wire [31:0] _GEN_6; // @[Bitwise.scala 103:31:shc.marmotcaravel.MarmotCaravelConfig.fir@219881.4]
+  wire [31:0] _T_68; // @[Bitwise.scala 103:31:shc.marmotcaravel.MarmotCaravelConfig.fir@219881.4]
+  wire [29:0] _T_69; // @[Bitwise.scala 103:46:shc.marmotcaravel.MarmotCaravelConfig.fir@219882.4]
+  wire [31:0] _GEN_7; // @[Bitwise.scala 103:65:shc.marmotcaravel.MarmotCaravelConfig.fir@219883.4]
+  wire [31:0] _T_70; // @[Bitwise.scala 103:65:shc.marmotcaravel.MarmotCaravelConfig.fir@219883.4]
+  wire [31:0] _T_72; // @[Bitwise.scala 103:75:shc.marmotcaravel.MarmotCaravelConfig.fir@219885.4]
+  wire [31:0] _T_73; // @[Bitwise.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@219886.4]
+  wire [30:0] _T_77; // @[Bitwise.scala 103:21:shc.marmotcaravel.MarmotCaravelConfig.fir@219890.4]
+  wire [31:0] _GEN_8; // @[Bitwise.scala 103:31:shc.marmotcaravel.MarmotCaravelConfig.fir@219891.4]
+  wire [31:0] _T_78; // @[Bitwise.scala 103:31:shc.marmotcaravel.MarmotCaravelConfig.fir@219891.4]
+  wire [30:0] _T_79; // @[Bitwise.scala 103:46:shc.marmotcaravel.MarmotCaravelConfig.fir@219892.4]
+  wire [31:0] _GEN_9; // @[Bitwise.scala 103:65:shc.marmotcaravel.MarmotCaravelConfig.fir@219893.4]
+  wire [31:0] _T_80; // @[Bitwise.scala 103:65:shc.marmotcaravel.MarmotCaravelConfig.fir@219893.4]
+  wire [31:0] _T_82; // @[Bitwise.scala 103:75:shc.marmotcaravel.MarmotCaravelConfig.fir@219895.4]
+  wire [31:0] _T_83; // @[Bitwise.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@219896.4]
+  wire [31:0] shin; // @[ALU.scala 82:17:shc.marmotcaravel.MarmotCaravelConfig.fir@219897.4]
+  wire  _T_85; // @[ALU.scala 83:41:shc.marmotcaravel.MarmotCaravelConfig.fir@219899.4]
+  wire  _T_86; // @[ALU.scala 83:35:shc.marmotcaravel.MarmotCaravelConfig.fir@219900.4]
+  wire [32:0] _T_87; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@219901.4]
+  wire [32:0] _T_88; // @[ALU.scala 83:57:shc.marmotcaravel.MarmotCaravelConfig.fir@219902.4]
+  wire [32:0] _T_89; // @[ALU.scala 83:64:shc.marmotcaravel.MarmotCaravelConfig.fir@219903.4]
+  wire [31:0] shout_r; // @[ALU.scala 83:73:shc.marmotcaravel.MarmotCaravelConfig.fir@219904.4]
+  wire [15:0] _T_92; // @[Bitwise.scala 103:21:shc.marmotcaravel.MarmotCaravelConfig.fir@219907.4]
+  wire [31:0] _T_93; // @[Bitwise.scala 103:31:shc.marmotcaravel.MarmotCaravelConfig.fir@219908.4]
+  wire [15:0] _T_94; // @[Bitwise.scala 103:46:shc.marmotcaravel.MarmotCaravelConfig.fir@219909.4]
+  wire [31:0] _GEN_10; // @[Bitwise.scala 103:65:shc.marmotcaravel.MarmotCaravelConfig.fir@219910.4]
+  wire [31:0] _T_95; // @[Bitwise.scala 103:65:shc.marmotcaravel.MarmotCaravelConfig.fir@219910.4]
+  wire [31:0] _T_97; // @[Bitwise.scala 103:75:shc.marmotcaravel.MarmotCaravelConfig.fir@219912.4]
+  wire [31:0] _T_98; // @[Bitwise.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@219913.4]
+  wire [23:0] _T_102; // @[Bitwise.scala 103:21:shc.marmotcaravel.MarmotCaravelConfig.fir@219917.4]
+  wire [31:0] _GEN_11; // @[Bitwise.scala 103:31:shc.marmotcaravel.MarmotCaravelConfig.fir@219918.4]
+  wire [31:0] _T_103; // @[Bitwise.scala 103:31:shc.marmotcaravel.MarmotCaravelConfig.fir@219918.4]
+  wire [23:0] _T_104; // @[Bitwise.scala 103:46:shc.marmotcaravel.MarmotCaravelConfig.fir@219919.4]
+  wire [31:0] _GEN_12; // @[Bitwise.scala 103:65:shc.marmotcaravel.MarmotCaravelConfig.fir@219920.4]
+  wire [31:0] _T_105; // @[Bitwise.scala 103:65:shc.marmotcaravel.MarmotCaravelConfig.fir@219920.4]
+  wire [31:0] _T_107; // @[Bitwise.scala 103:75:shc.marmotcaravel.MarmotCaravelConfig.fir@219922.4]
+  wire [31:0] _T_108; // @[Bitwise.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@219923.4]
+  wire [27:0] _T_112; // @[Bitwise.scala 103:21:shc.marmotcaravel.MarmotCaravelConfig.fir@219927.4]
+  wire [31:0] _GEN_13; // @[Bitwise.scala 103:31:shc.marmotcaravel.MarmotCaravelConfig.fir@219928.4]
+  wire [31:0] _T_113; // @[Bitwise.scala 103:31:shc.marmotcaravel.MarmotCaravelConfig.fir@219928.4]
+  wire [27:0] _T_114; // @[Bitwise.scala 103:46:shc.marmotcaravel.MarmotCaravelConfig.fir@219929.4]
+  wire [31:0] _GEN_14; // @[Bitwise.scala 103:65:shc.marmotcaravel.MarmotCaravelConfig.fir@219930.4]
+  wire [31:0] _T_115; // @[Bitwise.scala 103:65:shc.marmotcaravel.MarmotCaravelConfig.fir@219930.4]
+  wire [31:0] _T_117; // @[Bitwise.scala 103:75:shc.marmotcaravel.MarmotCaravelConfig.fir@219932.4]
+  wire [31:0] _T_118; // @[Bitwise.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@219933.4]
+  wire [29:0] _T_122; // @[Bitwise.scala 103:21:shc.marmotcaravel.MarmotCaravelConfig.fir@219937.4]
+  wire [31:0] _GEN_15; // @[Bitwise.scala 103:31:shc.marmotcaravel.MarmotCaravelConfig.fir@219938.4]
+  wire [31:0] _T_123; // @[Bitwise.scala 103:31:shc.marmotcaravel.MarmotCaravelConfig.fir@219938.4]
+  wire [29:0] _T_124; // @[Bitwise.scala 103:46:shc.marmotcaravel.MarmotCaravelConfig.fir@219939.4]
+  wire [31:0] _GEN_16; // @[Bitwise.scala 103:65:shc.marmotcaravel.MarmotCaravelConfig.fir@219940.4]
+  wire [31:0] _T_125; // @[Bitwise.scala 103:65:shc.marmotcaravel.MarmotCaravelConfig.fir@219940.4]
+  wire [31:0] _T_127; // @[Bitwise.scala 103:75:shc.marmotcaravel.MarmotCaravelConfig.fir@219942.4]
+  wire [31:0] _T_128; // @[Bitwise.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@219943.4]
+  wire [30:0] _T_132; // @[Bitwise.scala 103:21:shc.marmotcaravel.MarmotCaravelConfig.fir@219947.4]
+  wire [31:0] _GEN_17; // @[Bitwise.scala 103:31:shc.marmotcaravel.MarmotCaravelConfig.fir@219948.4]
+  wire [31:0] _T_133; // @[Bitwise.scala 103:31:shc.marmotcaravel.MarmotCaravelConfig.fir@219948.4]
+  wire [30:0] _T_134; // @[Bitwise.scala 103:46:shc.marmotcaravel.MarmotCaravelConfig.fir@219949.4]
+  wire [31:0] _GEN_18; // @[Bitwise.scala 103:65:shc.marmotcaravel.MarmotCaravelConfig.fir@219950.4]
+  wire [31:0] _T_135; // @[Bitwise.scala 103:65:shc.marmotcaravel.MarmotCaravelConfig.fir@219950.4]
+  wire [31:0] _T_137; // @[Bitwise.scala 103:75:shc.marmotcaravel.MarmotCaravelConfig.fir@219952.4]
+  wire [31:0] shout_l; // @[Bitwise.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@219953.4]
+  wire [31:0] _T_141; // @[ALU.scala 85:18:shc.marmotcaravel.MarmotCaravelConfig.fir@219957.4]
+  wire  _T_142; // @[ALU.scala 86:25:shc.marmotcaravel.MarmotCaravelConfig.fir@219958.4]
+  wire [31:0] _T_143; // @[ALU.scala 86:18:shc.marmotcaravel.MarmotCaravelConfig.fir@219959.4]
+  wire [31:0] shout; // @[ALU.scala 85:74:shc.marmotcaravel.MarmotCaravelConfig.fir@219960.4]
+  wire  _T_144; // @[ALU.scala 89:25:shc.marmotcaravel.MarmotCaravelConfig.fir@219961.4]
+  wire  _T_145; // @[ALU.scala 89:45:shc.marmotcaravel.MarmotCaravelConfig.fir@219962.4]
+  wire  _T_146; // @[ALU.scala 89:36:shc.marmotcaravel.MarmotCaravelConfig.fir@219963.4]
+  wire [31:0] _T_147; // @[ALU.scala 89:18:shc.marmotcaravel.MarmotCaravelConfig.fir@219964.4]
+  wire  _T_149; // @[ALU.scala 90:44:shc.marmotcaravel.MarmotCaravelConfig.fir@219966.4]
+  wire  _T_150; // @[ALU.scala 90:35:shc.marmotcaravel.MarmotCaravelConfig.fir@219967.4]
+  wire [31:0] _T_151; // @[ALU.scala 90:63:shc.marmotcaravel.MarmotCaravelConfig.fir@219968.4]
+  wire [31:0] _T_152; // @[ALU.scala 90:18:shc.marmotcaravel.MarmotCaravelConfig.fir@219969.4]
+  wire [31:0] logic$; // @[ALU.scala 89:78:shc.marmotcaravel.MarmotCaravelConfig.fir@219970.4]
+  wire  _T_153; // @[ALU.scala 41:30:shc.marmotcaravel.MarmotCaravelConfig.fir@219971.4]
+  wire  _T_154; // @[ALU.scala 91:35:shc.marmotcaravel.MarmotCaravelConfig.fir@219972.4]
+  wire [31:0] _GEN_19; // @[ALU.scala 91:43:shc.marmotcaravel.MarmotCaravelConfig.fir@219973.4]
+  wire [31:0] _T_155; // @[ALU.scala 91:43:shc.marmotcaravel.MarmotCaravelConfig.fir@219973.4]
+  wire [31:0] shift_logic; // @[ALU.scala 91:51:shc.marmotcaravel.MarmotCaravelConfig.fir@219974.4]
+  wire  _T_156; // @[ALU.scala 92:23:shc.marmotcaravel.MarmotCaravelConfig.fir@219975.4]
+  wire  _T_157; // @[ALU.scala 92:43:shc.marmotcaravel.MarmotCaravelConfig.fir@219976.4]
+  wire  _T_158; // @[ALU.scala 92:34:shc.marmotcaravel.MarmotCaravelConfig.fir@219977.4]
+  assign _T_11 = io_fn[3]; // @[ALU.scala 40:29:shc.marmotcaravel.MarmotCaravelConfig.fir@219818.4]
+  assign _T_12 = ~ io_in2; // @[ALU.scala 62:35:shc.marmotcaravel.MarmotCaravelConfig.fir@219819.4]
+  assign in2_inv = _T_11 ? _T_12 : io_in2; // @[ALU.scala 62:20:shc.marmotcaravel.MarmotCaravelConfig.fir@219820.4]
+  assign in1_xor_in2 = io_in1 ^ in2_inv; // @[ALU.scala 63:28:shc.marmotcaravel.MarmotCaravelConfig.fir@219821.4]
+  assign _T_14 = io_in1 + in2_inv; // @[ALU.scala 64:26:shc.marmotcaravel.MarmotCaravelConfig.fir@219823.4]
+  assign _GEN_0 = {{31'd0}, _T_11}; // @[ALU.scala 64:36:shc.marmotcaravel.MarmotCaravelConfig.fir@219825.4]
+  assign _T_18 = io_in1[31]; // @[ALU.scala 68:15:shc.marmotcaravel.MarmotCaravelConfig.fir@219828.4]
+  assign _T_19 = io_in2[31]; // @[ALU.scala 68:34:shc.marmotcaravel.MarmotCaravelConfig.fir@219829.4]
+  assign _T_20 = _T_18 == _T_19; // @[ALU.scala 68:24:shc.marmotcaravel.MarmotCaravelConfig.fir@219830.4]
+  assign _T_21 = io_adder_out[31]; // @[ALU.scala 68:56:shc.marmotcaravel.MarmotCaravelConfig.fir@219831.4]
+  assign _T_22 = io_fn[1]; // @[ALU.scala 42:35:shc.marmotcaravel.MarmotCaravelConfig.fir@219832.4]
+  assign _T_25 = _T_22 ? _T_19 : _T_18; // @[ALU.scala 69:8:shc.marmotcaravel.MarmotCaravelConfig.fir@219835.4]
+  assign slt = _T_20 ? _T_21 : _T_25; // @[ALU.scala 68:8:shc.marmotcaravel.MarmotCaravelConfig.fir@219836.4]
+  assign _T_26 = io_fn[0]; // @[ALU.scala 43:35:shc.marmotcaravel.MarmotCaravelConfig.fir@219837.4]
+  assign _T_28 = _T_11 == 1'h0; // @[ALU.scala 44:26:shc.marmotcaravel.MarmotCaravelConfig.fir@219839.4]
+  assign _T_29 = in1_xor_in2 == 32'h0; // @[ALU.scala 70:68:shc.marmotcaravel.MarmotCaravelConfig.fir@219840.4]
+  assign _T_30 = _T_28 ? _T_29 : slt; // @[ALU.scala 70:41:shc.marmotcaravel.MarmotCaravelConfig.fir@219841.4]
+  assign shamt = io_in2[4:0]; // @[ALU.scala 74:28:shc.marmotcaravel.MarmotCaravelConfig.fir@219844.4]
+  assign _T_32 = io_fn == 4'h5; // @[ALU.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@219845.4]
+  assign _T_33 = io_fn == 4'hb; // @[ALU.scala 82:44:shc.marmotcaravel.MarmotCaravelConfig.fir@219846.4]
+  assign _T_34 = _T_32 | _T_33; // @[ALU.scala 82:35:shc.marmotcaravel.MarmotCaravelConfig.fir@219847.4]
+  assign _T_37 = io_in1[31:16]; // @[Bitwise.scala 103:21:shc.marmotcaravel.MarmotCaravelConfig.fir@219850.4]
+  assign _T_38 = {{16'd0}, _T_37}; // @[Bitwise.scala 103:31:shc.marmotcaravel.MarmotCaravelConfig.fir@219851.4]
+  assign _T_39 = io_in1[15:0]; // @[Bitwise.scala 103:46:shc.marmotcaravel.MarmotCaravelConfig.fir@219852.4]
+  assign _GEN_1 = {{16'd0}, _T_39}; // @[Bitwise.scala 103:65:shc.marmotcaravel.MarmotCaravelConfig.fir@219853.4]
+  assign _T_40 = _GEN_1 << 16; // @[Bitwise.scala 103:65:shc.marmotcaravel.MarmotCaravelConfig.fir@219853.4]
+  assign _T_42 = _T_40 & 32'hffff0000; // @[Bitwise.scala 103:75:shc.marmotcaravel.MarmotCaravelConfig.fir@219855.4]
+  assign _T_43 = _T_38 | _T_42; // @[Bitwise.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@219856.4]
+  assign _T_47 = _T_43[31:8]; // @[Bitwise.scala 103:21:shc.marmotcaravel.MarmotCaravelConfig.fir@219860.4]
+  assign _GEN_2 = {{8'd0}, _T_47}; // @[Bitwise.scala 103:31:shc.marmotcaravel.MarmotCaravelConfig.fir@219861.4]
+  assign _T_48 = _GEN_2 & 32'hff00ff; // @[Bitwise.scala 103:31:shc.marmotcaravel.MarmotCaravelConfig.fir@219861.4]
+  assign _T_49 = _T_43[23:0]; // @[Bitwise.scala 103:46:shc.marmotcaravel.MarmotCaravelConfig.fir@219862.4]
+  assign _GEN_3 = {{8'd0}, _T_49}; // @[Bitwise.scala 103:65:shc.marmotcaravel.MarmotCaravelConfig.fir@219863.4]
+  assign _T_50 = _GEN_3 << 8; // @[Bitwise.scala 103:65:shc.marmotcaravel.MarmotCaravelConfig.fir@219863.4]
+  assign _T_52 = _T_50 & 32'hff00ff00; // @[Bitwise.scala 103:75:shc.marmotcaravel.MarmotCaravelConfig.fir@219865.4]
+  assign _T_53 = _T_48 | _T_52; // @[Bitwise.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@219866.4]
+  assign _T_57 = _T_53[31:4]; // @[Bitwise.scala 103:21:shc.marmotcaravel.MarmotCaravelConfig.fir@219870.4]
+  assign _GEN_4 = {{4'd0}, _T_57}; // @[Bitwise.scala 103:31:shc.marmotcaravel.MarmotCaravelConfig.fir@219871.4]
+  assign _T_58 = _GEN_4 & 32'hf0f0f0f; // @[Bitwise.scala 103:31:shc.marmotcaravel.MarmotCaravelConfig.fir@219871.4]
+  assign _T_59 = _T_53[27:0]; // @[Bitwise.scala 103:46:shc.marmotcaravel.MarmotCaravelConfig.fir@219872.4]
+  assign _GEN_5 = {{4'd0}, _T_59}; // @[Bitwise.scala 103:65:shc.marmotcaravel.MarmotCaravelConfig.fir@219873.4]
+  assign _T_60 = _GEN_5 << 4; // @[Bitwise.scala 103:65:shc.marmotcaravel.MarmotCaravelConfig.fir@219873.4]
+  assign _T_62 = _T_60 & 32'hf0f0f0f0; // @[Bitwise.scala 103:75:shc.marmotcaravel.MarmotCaravelConfig.fir@219875.4]
+  assign _T_63 = _T_58 | _T_62; // @[Bitwise.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@219876.4]
+  assign _T_67 = _T_63[31:2]; // @[Bitwise.scala 103:21:shc.marmotcaravel.MarmotCaravelConfig.fir@219880.4]
+  assign _GEN_6 = {{2'd0}, _T_67}; // @[Bitwise.scala 103:31:shc.marmotcaravel.MarmotCaravelConfig.fir@219881.4]
+  assign _T_68 = _GEN_6 & 32'h33333333; // @[Bitwise.scala 103:31:shc.marmotcaravel.MarmotCaravelConfig.fir@219881.4]
+  assign _T_69 = _T_63[29:0]; // @[Bitwise.scala 103:46:shc.marmotcaravel.MarmotCaravelConfig.fir@219882.4]
+  assign _GEN_7 = {{2'd0}, _T_69}; // @[Bitwise.scala 103:65:shc.marmotcaravel.MarmotCaravelConfig.fir@219883.4]
+  assign _T_70 = _GEN_7 << 2; // @[Bitwise.scala 103:65:shc.marmotcaravel.MarmotCaravelConfig.fir@219883.4]
+  assign _T_72 = _T_70 & 32'hcccccccc; // @[Bitwise.scala 103:75:shc.marmotcaravel.MarmotCaravelConfig.fir@219885.4]
+  assign _T_73 = _T_68 | _T_72; // @[Bitwise.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@219886.4]
+  assign _T_77 = _T_73[31:1]; // @[Bitwise.scala 103:21:shc.marmotcaravel.MarmotCaravelConfig.fir@219890.4]
+  assign _GEN_8 = {{1'd0}, _T_77}; // @[Bitwise.scala 103:31:shc.marmotcaravel.MarmotCaravelConfig.fir@219891.4]
+  assign _T_78 = _GEN_8 & 32'h55555555; // @[Bitwise.scala 103:31:shc.marmotcaravel.MarmotCaravelConfig.fir@219891.4]
+  assign _T_79 = _T_73[30:0]; // @[Bitwise.scala 103:46:shc.marmotcaravel.MarmotCaravelConfig.fir@219892.4]
+  assign _GEN_9 = {{1'd0}, _T_79}; // @[Bitwise.scala 103:65:shc.marmotcaravel.MarmotCaravelConfig.fir@219893.4]
+  assign _T_80 = _GEN_9 << 1; // @[Bitwise.scala 103:65:shc.marmotcaravel.MarmotCaravelConfig.fir@219893.4]
+  assign _T_82 = _T_80 & 32'haaaaaaaa; // @[Bitwise.scala 103:75:shc.marmotcaravel.MarmotCaravelConfig.fir@219895.4]
+  assign _T_83 = _T_78 | _T_82; // @[Bitwise.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@219896.4]
+  assign shin = _T_34 ? io_in1 : _T_83; // @[ALU.scala 82:17:shc.marmotcaravel.MarmotCaravelConfig.fir@219897.4]
+  assign _T_85 = shin[31]; // @[ALU.scala 83:41:shc.marmotcaravel.MarmotCaravelConfig.fir@219899.4]
+  assign _T_86 = _T_11 & _T_85; // @[ALU.scala 83:35:shc.marmotcaravel.MarmotCaravelConfig.fir@219900.4]
+  assign _T_87 = {_T_86,shin}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@219901.4]
+  assign _T_88 = $signed(_T_87); // @[ALU.scala 83:57:shc.marmotcaravel.MarmotCaravelConfig.fir@219902.4]
+  assign _T_89 = $signed(_T_88) >>> shamt; // @[ALU.scala 83:64:shc.marmotcaravel.MarmotCaravelConfig.fir@219903.4]
+  assign shout_r = _T_89[31:0]; // @[ALU.scala 83:73:shc.marmotcaravel.MarmotCaravelConfig.fir@219904.4]
+  assign _T_92 = shout_r[31:16]; // @[Bitwise.scala 103:21:shc.marmotcaravel.MarmotCaravelConfig.fir@219907.4]
+  assign _T_93 = {{16'd0}, _T_92}; // @[Bitwise.scala 103:31:shc.marmotcaravel.MarmotCaravelConfig.fir@219908.4]
+  assign _T_94 = shout_r[15:0]; // @[Bitwise.scala 103:46:shc.marmotcaravel.MarmotCaravelConfig.fir@219909.4]
+  assign _GEN_10 = {{16'd0}, _T_94}; // @[Bitwise.scala 103:65:shc.marmotcaravel.MarmotCaravelConfig.fir@219910.4]
+  assign _T_95 = _GEN_10 << 16; // @[Bitwise.scala 103:65:shc.marmotcaravel.MarmotCaravelConfig.fir@219910.4]
+  assign _T_97 = _T_95 & 32'hffff0000; // @[Bitwise.scala 103:75:shc.marmotcaravel.MarmotCaravelConfig.fir@219912.4]
+  assign _T_98 = _T_93 | _T_97; // @[Bitwise.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@219913.4]
+  assign _T_102 = _T_98[31:8]; // @[Bitwise.scala 103:21:shc.marmotcaravel.MarmotCaravelConfig.fir@219917.4]
+  assign _GEN_11 = {{8'd0}, _T_102}; // @[Bitwise.scala 103:31:shc.marmotcaravel.MarmotCaravelConfig.fir@219918.4]
+  assign _T_103 = _GEN_11 & 32'hff00ff; // @[Bitwise.scala 103:31:shc.marmotcaravel.MarmotCaravelConfig.fir@219918.4]
+  assign _T_104 = _T_98[23:0]; // @[Bitwise.scala 103:46:shc.marmotcaravel.MarmotCaravelConfig.fir@219919.4]
+  assign _GEN_12 = {{8'd0}, _T_104}; // @[Bitwise.scala 103:65:shc.marmotcaravel.MarmotCaravelConfig.fir@219920.4]
+  assign _T_105 = _GEN_12 << 8; // @[Bitwise.scala 103:65:shc.marmotcaravel.MarmotCaravelConfig.fir@219920.4]
+  assign _T_107 = _T_105 & 32'hff00ff00; // @[Bitwise.scala 103:75:shc.marmotcaravel.MarmotCaravelConfig.fir@219922.4]
+  assign _T_108 = _T_103 | _T_107; // @[Bitwise.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@219923.4]
+  assign _T_112 = _T_108[31:4]; // @[Bitwise.scala 103:21:shc.marmotcaravel.MarmotCaravelConfig.fir@219927.4]
+  assign _GEN_13 = {{4'd0}, _T_112}; // @[Bitwise.scala 103:31:shc.marmotcaravel.MarmotCaravelConfig.fir@219928.4]
+  assign _T_113 = _GEN_13 & 32'hf0f0f0f; // @[Bitwise.scala 103:31:shc.marmotcaravel.MarmotCaravelConfig.fir@219928.4]
+  assign _T_114 = _T_108[27:0]; // @[Bitwise.scala 103:46:shc.marmotcaravel.MarmotCaravelConfig.fir@219929.4]
+  assign _GEN_14 = {{4'd0}, _T_114}; // @[Bitwise.scala 103:65:shc.marmotcaravel.MarmotCaravelConfig.fir@219930.4]
+  assign _T_115 = _GEN_14 << 4; // @[Bitwise.scala 103:65:shc.marmotcaravel.MarmotCaravelConfig.fir@219930.4]
+  assign _T_117 = _T_115 & 32'hf0f0f0f0; // @[Bitwise.scala 103:75:shc.marmotcaravel.MarmotCaravelConfig.fir@219932.4]
+  assign _T_118 = _T_113 | _T_117; // @[Bitwise.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@219933.4]
+  assign _T_122 = _T_118[31:2]; // @[Bitwise.scala 103:21:shc.marmotcaravel.MarmotCaravelConfig.fir@219937.4]
+  assign _GEN_15 = {{2'd0}, _T_122}; // @[Bitwise.scala 103:31:shc.marmotcaravel.MarmotCaravelConfig.fir@219938.4]
+  assign _T_123 = _GEN_15 & 32'h33333333; // @[Bitwise.scala 103:31:shc.marmotcaravel.MarmotCaravelConfig.fir@219938.4]
+  assign _T_124 = _T_118[29:0]; // @[Bitwise.scala 103:46:shc.marmotcaravel.MarmotCaravelConfig.fir@219939.4]
+  assign _GEN_16 = {{2'd0}, _T_124}; // @[Bitwise.scala 103:65:shc.marmotcaravel.MarmotCaravelConfig.fir@219940.4]
+  assign _T_125 = _GEN_16 << 2; // @[Bitwise.scala 103:65:shc.marmotcaravel.MarmotCaravelConfig.fir@219940.4]
+  assign _T_127 = _T_125 & 32'hcccccccc; // @[Bitwise.scala 103:75:shc.marmotcaravel.MarmotCaravelConfig.fir@219942.4]
+  assign _T_128 = _T_123 | _T_127; // @[Bitwise.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@219943.4]
+  assign _T_132 = _T_128[31:1]; // @[Bitwise.scala 103:21:shc.marmotcaravel.MarmotCaravelConfig.fir@219947.4]
+  assign _GEN_17 = {{1'd0}, _T_132}; // @[Bitwise.scala 103:31:shc.marmotcaravel.MarmotCaravelConfig.fir@219948.4]
+  assign _T_133 = _GEN_17 & 32'h55555555; // @[Bitwise.scala 103:31:shc.marmotcaravel.MarmotCaravelConfig.fir@219948.4]
+  assign _T_134 = _T_128[30:0]; // @[Bitwise.scala 103:46:shc.marmotcaravel.MarmotCaravelConfig.fir@219949.4]
+  assign _GEN_18 = {{1'd0}, _T_134}; // @[Bitwise.scala 103:65:shc.marmotcaravel.MarmotCaravelConfig.fir@219950.4]
+  assign _T_135 = _GEN_18 << 1; // @[Bitwise.scala 103:65:shc.marmotcaravel.MarmotCaravelConfig.fir@219950.4]
+  assign _T_137 = _T_135 & 32'haaaaaaaa; // @[Bitwise.scala 103:75:shc.marmotcaravel.MarmotCaravelConfig.fir@219952.4]
+  assign shout_l = _T_133 | _T_137; // @[Bitwise.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@219953.4]
+  assign _T_141 = _T_34 ? shout_r : 32'h0; // @[ALU.scala 85:18:shc.marmotcaravel.MarmotCaravelConfig.fir@219957.4]
+  assign _T_142 = io_fn == 4'h1; // @[ALU.scala 86:25:shc.marmotcaravel.MarmotCaravelConfig.fir@219958.4]
+  assign _T_143 = _T_142 ? shout_l : 32'h0; // @[ALU.scala 86:18:shc.marmotcaravel.MarmotCaravelConfig.fir@219959.4]
+  assign shout = _T_141 | _T_143; // @[ALU.scala 85:74:shc.marmotcaravel.MarmotCaravelConfig.fir@219960.4]
+  assign _T_144 = io_fn == 4'h4; // @[ALU.scala 89:25:shc.marmotcaravel.MarmotCaravelConfig.fir@219961.4]
+  assign _T_145 = io_fn == 4'h6; // @[ALU.scala 89:45:shc.marmotcaravel.MarmotCaravelConfig.fir@219962.4]
+  assign _T_146 = _T_144 | _T_145; // @[ALU.scala 89:36:shc.marmotcaravel.MarmotCaravelConfig.fir@219963.4]
+  assign _T_147 = _T_146 ? in1_xor_in2 : 32'h0; // @[ALU.scala 89:18:shc.marmotcaravel.MarmotCaravelConfig.fir@219964.4]
+  assign _T_149 = io_fn == 4'h7; // @[ALU.scala 90:44:shc.marmotcaravel.MarmotCaravelConfig.fir@219966.4]
+  assign _T_150 = _T_145 | _T_149; // @[ALU.scala 90:35:shc.marmotcaravel.MarmotCaravelConfig.fir@219967.4]
+  assign _T_151 = io_in1 & io_in2; // @[ALU.scala 90:63:shc.marmotcaravel.MarmotCaravelConfig.fir@219968.4]
+  assign _T_152 = _T_150 ? _T_151 : 32'h0; // @[ALU.scala 90:18:shc.marmotcaravel.MarmotCaravelConfig.fir@219969.4]
+  assign logic$ = _T_147 | _T_152; // @[ALU.scala 89:78:shc.marmotcaravel.MarmotCaravelConfig.fir@219970.4]
+  assign _T_153 = io_fn >= 4'hc; // @[ALU.scala 41:30:shc.marmotcaravel.MarmotCaravelConfig.fir@219971.4]
+  assign _T_154 = _T_153 & slt; // @[ALU.scala 91:35:shc.marmotcaravel.MarmotCaravelConfig.fir@219972.4]
+  assign _GEN_19 = {{31'd0}, _T_154}; // @[ALU.scala 91:43:shc.marmotcaravel.MarmotCaravelConfig.fir@219973.4]
+  assign _T_155 = _GEN_19 | logic$; // @[ALU.scala 91:43:shc.marmotcaravel.MarmotCaravelConfig.fir@219973.4]
+  assign shift_logic = _T_155 | shout; // @[ALU.scala 91:51:shc.marmotcaravel.MarmotCaravelConfig.fir@219974.4]
+  assign _T_156 = io_fn == 4'h0; // @[ALU.scala 92:23:shc.marmotcaravel.MarmotCaravelConfig.fir@219975.4]
+  assign _T_157 = io_fn == 4'ha; // @[ALU.scala 92:43:shc.marmotcaravel.MarmotCaravelConfig.fir@219976.4]
+  assign _T_158 = _T_156 | _T_157; // @[ALU.scala 92:34:shc.marmotcaravel.MarmotCaravelConfig.fir@219977.4]
+  assign io_out = _T_158 ? io_adder_out : shift_logic; // @[ALU.scala 94:10:shc.marmotcaravel.MarmotCaravelConfig.fir@219979.4]
+  assign io_adder_out = _T_14 + _GEN_0; // @[ALU.scala 64:16:shc.marmotcaravel.MarmotCaravelConfig.fir@219827.4]
+  assign io_cmp_out = _T_26 ^ _T_30; // @[ALU.scala 70:14:shc.marmotcaravel.MarmotCaravelConfig.fir@219843.4]
+endmodule
+module MulDiv( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@219981.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@219982.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@219983.4]
+  output        io_req_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@219984.4]
+  input         io_req_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@219984.4]
+  input  [3:0]  io_req_bits_fn, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@219984.4]
+  input  [31:0] io_req_bits_in1, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@219984.4]
+  input  [31:0] io_req_bits_in2, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@219984.4]
+  input  [4:0]  io_req_bits_tag, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@219984.4]
+  input         io_kill, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@219984.4]
+  input         io_resp_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@219984.4]
+  output        io_resp_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@219984.4]
+  output [31:0] io_resp_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@219984.4]
+  output [4:0]  io_resp_bits_tag // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@219984.4]
+);
+  reg [2:0] state; // @[Multiplier.scala 51:18:shc.marmotcaravel.MarmotCaravelConfig.fir@219989.4]
+  reg [31:0] _RAND_0;
+  reg [4:0] req_tag; // @[Multiplier.scala 53:16:shc.marmotcaravel.MarmotCaravelConfig.fir@219990.4]
+  reg [31:0] _RAND_1;
+  reg [5:0] count; // @[Multiplier.scala 54:18:shc.marmotcaravel.MarmotCaravelConfig.fir@219991.4]
+  reg [31:0] _RAND_2;
+  reg  neg_out; // @[Multiplier.scala 57:20:shc.marmotcaravel.MarmotCaravelConfig.fir@219992.4]
+  reg [31:0] _RAND_3;
+  reg  isHi; // @[Multiplier.scala 58:17:shc.marmotcaravel.MarmotCaravelConfig.fir@219993.4]
+  reg [31:0] _RAND_4;
+  reg  resHi; // @[Multiplier.scala 59:18:shc.marmotcaravel.MarmotCaravelConfig.fir@219994.4]
+  reg [31:0] _RAND_5;
+  reg [32:0] divisor; // @[Multiplier.scala 60:20:shc.marmotcaravel.MarmotCaravelConfig.fir@219995.4]
+  reg [63:0] _RAND_6;
+  reg [65:0] remainder; // @[Multiplier.scala 61:22:shc.marmotcaravel.MarmotCaravelConfig.fir@219996.4]
+  reg [95:0] _RAND_7;
+  wire [3:0] _T_22; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@219997.4]
+  wire  cmdMul; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@219998.4]
+  wire [3:0] _T_25; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220000.4]
+  wire  _T_26; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220001.4]
+  wire [3:0] _T_27; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220002.4]
+  wire  _T_28; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220003.4]
+  wire  cmdHi; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220005.4]
+  wire [3:0] _T_31; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220006.4]
+  wire  _T_32; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220007.4]
+  wire [3:0] _T_33; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220008.4]
+  wire  _T_34; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220009.4]
+  wire  lhsSigned; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220011.4]
+  wire  _T_38; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220013.4]
+  wire  rhsSigned; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220015.4]
+  wire  _T_44; // @[Multiplier.scala 81:48:shc.marmotcaravel.MarmotCaravelConfig.fir@220023.4]
+  wire  lhs_sign; // @[Multiplier.scala 81:23:shc.marmotcaravel.MarmotCaravelConfig.fir@220025.4]
+  wire [15:0] _T_48; // @[Multiplier.scala 82:43:shc.marmotcaravel.MarmotCaravelConfig.fir@220028.4]
+  wire [15:0] _T_50; // @[Multiplier.scala 83:15:shc.marmotcaravel.MarmotCaravelConfig.fir@220030.4]
+  wire [31:0] lhs_in; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220031.4]
+  wire  _T_54; // @[Multiplier.scala 81:48:shc.marmotcaravel.MarmotCaravelConfig.fir@220035.4]
+  wire  rhs_sign; // @[Multiplier.scala 81:23:shc.marmotcaravel.MarmotCaravelConfig.fir@220037.4]
+  wire [15:0] _T_58; // @[Multiplier.scala 82:43:shc.marmotcaravel.MarmotCaravelConfig.fir@220040.4]
+  wire [15:0] _T_60; // @[Multiplier.scala 83:15:shc.marmotcaravel.MarmotCaravelConfig.fir@220042.4]
+  wire [31:0] rhs_in; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220043.4]
+  wire [32:0] _T_61; // @[Multiplier.scala 88:29:shc.marmotcaravel.MarmotCaravelConfig.fir@220044.4]
+  wire [33:0] _T_62; // @[Multiplier.scala 88:37:shc.marmotcaravel.MarmotCaravelConfig.fir@220045.4]
+  wire [33:0] _T_63; // @[Multiplier.scala 88:37:shc.marmotcaravel.MarmotCaravelConfig.fir@220046.4]
+  wire [32:0] subtractor; // @[Multiplier.scala 88:37:shc.marmotcaravel.MarmotCaravelConfig.fir@220047.4]
+  wire [31:0] _T_64; // @[Multiplier.scala 89:36:shc.marmotcaravel.MarmotCaravelConfig.fir@220048.4]
+  wire [31:0] _T_65; // @[Multiplier.scala 89:57:shc.marmotcaravel.MarmotCaravelConfig.fir@220049.4]
+  wire [31:0] result; // @[Multiplier.scala 89:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220050.4]
+  wire [32:0] _T_66; // @[Multiplier.scala 90:27:shc.marmotcaravel.MarmotCaravelConfig.fir@220051.4]
+  wire [32:0] _T_67; // @[Multiplier.scala 90:27:shc.marmotcaravel.MarmotCaravelConfig.fir@220052.4]
+  wire [31:0] negated_remainder; // @[Multiplier.scala 90:27:shc.marmotcaravel.MarmotCaravelConfig.fir@220053.4]
+  wire  _T_68; // @[Multiplier.scala 92:39:shc.marmotcaravel.MarmotCaravelConfig.fir@220054.4]
+  wire  _T_69; // @[Multiplier.scala 93:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220056.6]
+  wire  _T_70; // @[Multiplier.scala 96:18:shc.marmotcaravel.MarmotCaravelConfig.fir@220060.6]
+  wire  _T_71; // @[Multiplier.scala 101:39:shc.marmotcaravel.MarmotCaravelConfig.fir@220066.4]
+  wire  _T_72; // @[Multiplier.scala 106:39:shc.marmotcaravel.MarmotCaravelConfig.fir@220072.4]
+  wire [32:0] _T_73; // @[Multiplier.scala 107:31:shc.marmotcaravel.MarmotCaravelConfig.fir@220074.6]
+  wire [64:0] _T_75; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220076.6]
+  wire  _T_76; // @[Multiplier.scala 108:31:shc.marmotcaravel.MarmotCaravelConfig.fir@220077.6]
+  wire [31:0] _T_77; // @[Multiplier.scala 109:24:shc.marmotcaravel.MarmotCaravelConfig.fir@220078.6]
+  wire [32:0] _T_78; // @[Multiplier.scala 110:23:shc.marmotcaravel.MarmotCaravelConfig.fir@220079.6]
+  wire [32:0] _T_79; // @[Multiplier.scala 110:37:shc.marmotcaravel.MarmotCaravelConfig.fir@220080.6]
+  wire [32:0] _T_80; // @[Multiplier.scala 111:26:shc.marmotcaravel.MarmotCaravelConfig.fir@220081.6]
+  wire [7:0] _T_81; // @[Multiplier.scala 112:38:shc.marmotcaravel.MarmotCaravelConfig.fir@220082.6]
+  wire [8:0] _T_82; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220083.6]
+  wire [8:0] _T_83; // @[Multiplier.scala 112:60:shc.marmotcaravel.MarmotCaravelConfig.fir@220084.6]
+  wire [32:0] _GEN_35; // @[Multiplier.scala 112:67:shc.marmotcaravel.MarmotCaravelConfig.fir@220085.6]
+  wire [41:0] _T_84; // @[Multiplier.scala 112:67:shc.marmotcaravel.MarmotCaravelConfig.fir@220085.6]
+  wire [41:0] _GEN_36; // @[Multiplier.scala 112:76:shc.marmotcaravel.MarmotCaravelConfig.fir@220086.6]
+  wire [41:0] _T_86; // @[Multiplier.scala 112:76:shc.marmotcaravel.MarmotCaravelConfig.fir@220087.6]
+  wire [41:0] _T_87; // @[Multiplier.scala 112:76:shc.marmotcaravel.MarmotCaravelConfig.fir@220088.6]
+  wire [23:0] _T_88; // @[Multiplier.scala 113:38:shc.marmotcaravel.MarmotCaravelConfig.fir@220089.6]
+  wire [41:0] _T_89; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220090.6]
+  wire [65:0] _T_90; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220091.6]
+  wire  _T_91; // @[Multiplier.scala 114:32:shc.marmotcaravel.MarmotCaravelConfig.fir@220092.6]
+  wire  _T_92; // @[Multiplier.scala 114:57:shc.marmotcaravel.MarmotCaravelConfig.fir@220093.6]
+  wire  _T_101; // @[Multiplier.scala 118:7:shc.marmotcaravel.MarmotCaravelConfig.fir@220102.6]
+  wire [32:0] _T_113; // @[Multiplier.scala 120:37:shc.marmotcaravel.MarmotCaravelConfig.fir@220114.6]
+  wire [31:0] _T_115; // @[Multiplier.scala 120:82:shc.marmotcaravel.MarmotCaravelConfig.fir@220116.6]
+  wire [64:0] _T_116; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220117.6]
+  wire [32:0] _T_117; // @[Multiplier.scala 121:34:shc.marmotcaravel.MarmotCaravelConfig.fir@220118.6]
+  wire [31:0] _T_118; // @[Multiplier.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@220119.6]
+  wire [33:0] _T_119; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220120.6]
+  wire [65:0] _T_120; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220121.6]
+  wire [5:0] _T_122; // @[Multiplier.scala 123:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220124.6]
+  wire  _T_123; // @[Multiplier.scala 124:25:shc.marmotcaravel.MarmotCaravelConfig.fir@220126.6]
+  wire  _T_125; // @[Multiplier.scala 129:39:shc.marmotcaravel.MarmotCaravelConfig.fir@220133.4]
+  wire  _T_126; // @[Multiplier.scala 133:28:shc.marmotcaravel.MarmotCaravelConfig.fir@220135.6]
+  wire [31:0] _T_127; // @[Multiplier.scala 134:24:shc.marmotcaravel.MarmotCaravelConfig.fir@220136.6]
+  wire [31:0] _T_128; // @[Multiplier.scala 134:45:shc.marmotcaravel.MarmotCaravelConfig.fir@220137.6]
+  wire [31:0] _T_129; // @[Multiplier.scala 134:14:shc.marmotcaravel.MarmotCaravelConfig.fir@220138.6]
+  wire  _T_131; // @[Multiplier.scala 134:67:shc.marmotcaravel.MarmotCaravelConfig.fir@220140.6]
+  wire [63:0] _T_132; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220141.6]
+  wire [64:0] _T_133; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220142.6]
+  wire  _T_134; // @[Multiplier.scala 138:17:shc.marmotcaravel.MarmotCaravelConfig.fir@220144.6]
+  wire  _T_138; // @[Multiplier.scala 146:24:shc.marmotcaravel.MarmotCaravelConfig.fir@220153.6]
+  wire  _T_141; // @[Multiplier.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220156.6]
+  wire  _T_143; // @[Multiplier.scala 159:18:shc.marmotcaravel.MarmotCaravelConfig.fir@220158.6]
+  wire  _T_144; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@220163.4]
+  wire  _T_145; // @[Multiplier.scala 161:24:shc.marmotcaravel.MarmotCaravelConfig.fir@220164.4]
+  wire  _T_146; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@220168.4]
+  wire  _T_147; // @[Multiplier.scala 165:46:shc.marmotcaravel.MarmotCaravelConfig.fir@220170.6]
+  wire  _T_154; // @[Multiplier.scala 169:46:shc.marmotcaravel.MarmotCaravelConfig.fir@220181.6]
+  wire [32:0] _T_156; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220184.6]
+  wire [15:0] _T_165; // @[Multiplier.scala 176:69:shc.marmotcaravel.MarmotCaravelConfig.fir@220198.4]
+  wire [15:0] loOut; // @[Multiplier.scala 176:86:shc.marmotcaravel.MarmotCaravelConfig.fir@220199.4]
+  wire  _T_174; // @[Multiplier.scala 180:27:shc.marmotcaravel.MarmotCaravelConfig.fir@220211.4]
+  wire  _T_175; // @[Multiplier.scala 180:51:shc.marmotcaravel.MarmotCaravelConfig.fir@220212.4]
+  assign _T_22 = io_req_bits_fn & 4'h4; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@219997.4]
+  assign cmdMul = _T_22 == 4'h0; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@219998.4]
+  assign _T_25 = io_req_bits_fn & 4'h5; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220000.4]
+  assign _T_26 = _T_25 == 4'h1; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220001.4]
+  assign _T_27 = io_req_bits_fn & 4'h2; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220002.4]
+  assign _T_28 = _T_27 == 4'h2; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220003.4]
+  assign cmdHi = _T_26 | _T_28; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220005.4]
+  assign _T_31 = io_req_bits_fn & 4'h6; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220006.4]
+  assign _T_32 = _T_31 == 4'h0; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220007.4]
+  assign _T_33 = io_req_bits_fn & 4'h1; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220008.4]
+  assign _T_34 = _T_33 == 4'h0; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220009.4]
+  assign lhsSigned = _T_32 | _T_34; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220011.4]
+  assign _T_38 = _T_25 == 4'h4; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220013.4]
+  assign rhsSigned = _T_32 | _T_38; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220015.4]
+  assign _T_44 = io_req_bits_in1[31]; // @[Multiplier.scala 81:48:shc.marmotcaravel.MarmotCaravelConfig.fir@220023.4]
+  assign lhs_sign = lhsSigned & _T_44; // @[Multiplier.scala 81:23:shc.marmotcaravel.MarmotCaravelConfig.fir@220025.4]
+  assign _T_48 = io_req_bits_in1[31:16]; // @[Multiplier.scala 82:43:shc.marmotcaravel.MarmotCaravelConfig.fir@220028.4]
+  assign _T_50 = io_req_bits_in1[15:0]; // @[Multiplier.scala 83:15:shc.marmotcaravel.MarmotCaravelConfig.fir@220030.4]
+  assign lhs_in = {_T_48,_T_50}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220031.4]
+  assign _T_54 = io_req_bits_in2[31]; // @[Multiplier.scala 81:48:shc.marmotcaravel.MarmotCaravelConfig.fir@220035.4]
+  assign rhs_sign = rhsSigned & _T_54; // @[Multiplier.scala 81:23:shc.marmotcaravel.MarmotCaravelConfig.fir@220037.4]
+  assign _T_58 = io_req_bits_in2[31:16]; // @[Multiplier.scala 82:43:shc.marmotcaravel.MarmotCaravelConfig.fir@220040.4]
+  assign _T_60 = io_req_bits_in2[15:0]; // @[Multiplier.scala 83:15:shc.marmotcaravel.MarmotCaravelConfig.fir@220042.4]
+  assign rhs_in = {_T_58,_T_60}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220043.4]
+  assign _T_61 = remainder[64:32]; // @[Multiplier.scala 88:29:shc.marmotcaravel.MarmotCaravelConfig.fir@220044.4]
+  assign _T_62 = _T_61 - divisor; // @[Multiplier.scala 88:37:shc.marmotcaravel.MarmotCaravelConfig.fir@220045.4]
+  assign _T_63 = $unsigned(_T_62); // @[Multiplier.scala 88:37:shc.marmotcaravel.MarmotCaravelConfig.fir@220046.4]
+  assign subtractor = _T_63[32:0]; // @[Multiplier.scala 88:37:shc.marmotcaravel.MarmotCaravelConfig.fir@220047.4]
+  assign _T_64 = remainder[64:33]; // @[Multiplier.scala 89:36:shc.marmotcaravel.MarmotCaravelConfig.fir@220048.4]
+  assign _T_65 = remainder[31:0]; // @[Multiplier.scala 89:57:shc.marmotcaravel.MarmotCaravelConfig.fir@220049.4]
+  assign result = resHi ? _T_64 : _T_65; // @[Multiplier.scala 89:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220050.4]
+  assign _T_66 = 32'h0 - result; // @[Multiplier.scala 90:27:shc.marmotcaravel.MarmotCaravelConfig.fir@220051.4]
+  assign _T_67 = $unsigned(_T_66); // @[Multiplier.scala 90:27:shc.marmotcaravel.MarmotCaravelConfig.fir@220052.4]
+  assign negated_remainder = _T_67[31:0]; // @[Multiplier.scala 90:27:shc.marmotcaravel.MarmotCaravelConfig.fir@220053.4]
+  assign _T_68 = state == 3'h1; // @[Multiplier.scala 92:39:shc.marmotcaravel.MarmotCaravelConfig.fir@220054.4]
+  assign _T_69 = remainder[31]; // @[Multiplier.scala 93:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220056.6]
+  assign _T_70 = divisor[31]; // @[Multiplier.scala 96:18:shc.marmotcaravel.MarmotCaravelConfig.fir@220060.6]
+  assign _T_71 = state == 3'h5; // @[Multiplier.scala 101:39:shc.marmotcaravel.MarmotCaravelConfig.fir@220066.4]
+  assign _T_72 = state == 3'h2; // @[Multiplier.scala 106:39:shc.marmotcaravel.MarmotCaravelConfig.fir@220072.4]
+  assign _T_73 = remainder[65:33]; // @[Multiplier.scala 107:31:shc.marmotcaravel.MarmotCaravelConfig.fir@220074.6]
+  assign _T_75 = {_T_73,_T_65}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220076.6]
+  assign _T_76 = remainder[32]; // @[Multiplier.scala 108:31:shc.marmotcaravel.MarmotCaravelConfig.fir@220077.6]
+  assign _T_77 = _T_75[31:0]; // @[Multiplier.scala 109:24:shc.marmotcaravel.MarmotCaravelConfig.fir@220078.6]
+  assign _T_78 = _T_75[64:32]; // @[Multiplier.scala 110:23:shc.marmotcaravel.MarmotCaravelConfig.fir@220079.6]
+  assign _T_79 = $signed(_T_78); // @[Multiplier.scala 110:37:shc.marmotcaravel.MarmotCaravelConfig.fir@220080.6]
+  assign _T_80 = $signed(divisor); // @[Multiplier.scala 111:26:shc.marmotcaravel.MarmotCaravelConfig.fir@220081.6]
+  assign _T_81 = _T_77[7:0]; // @[Multiplier.scala 112:38:shc.marmotcaravel.MarmotCaravelConfig.fir@220082.6]
+  assign _T_82 = {_T_76,_T_81}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220083.6]
+  assign _T_83 = $signed(_T_82); // @[Multiplier.scala 112:60:shc.marmotcaravel.MarmotCaravelConfig.fir@220084.6]
+  assign _GEN_35 = {{24{_T_83[8]}},_T_83}; // @[Multiplier.scala 112:67:shc.marmotcaravel.MarmotCaravelConfig.fir@220085.6]
+  assign _T_84 = $signed(_GEN_35) * $signed(_T_80); // @[Multiplier.scala 112:67:shc.marmotcaravel.MarmotCaravelConfig.fir@220085.6]
+  assign _GEN_36 = {{9{_T_79[32]}},_T_79}; // @[Multiplier.scala 112:76:shc.marmotcaravel.MarmotCaravelConfig.fir@220086.6]
+  assign _T_86 = $signed(_T_84) + $signed(_GEN_36); // @[Multiplier.scala 112:76:shc.marmotcaravel.MarmotCaravelConfig.fir@220087.6]
+  assign _T_87 = $signed(_T_86); // @[Multiplier.scala 112:76:shc.marmotcaravel.MarmotCaravelConfig.fir@220088.6]
+  assign _T_88 = _T_77[31:8]; // @[Multiplier.scala 113:38:shc.marmotcaravel.MarmotCaravelConfig.fir@220089.6]
+  assign _T_89 = $unsigned(_T_87); // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220090.6]
+  assign _T_90 = {_T_89,_T_88}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220091.6]
+  assign _T_91 = count == 6'h2; // @[Multiplier.scala 114:32:shc.marmotcaravel.MarmotCaravelConfig.fir@220092.6]
+  assign _T_92 = _T_91 & neg_out; // @[Multiplier.scala 114:57:shc.marmotcaravel.MarmotCaravelConfig.fir@220093.6]
+  assign _T_101 = isHi == 1'h0; // @[Multiplier.scala 118:7:shc.marmotcaravel.MarmotCaravelConfig.fir@220102.6]
+  assign _T_113 = _T_90[64:32]; // @[Multiplier.scala 120:37:shc.marmotcaravel.MarmotCaravelConfig.fir@220114.6]
+  assign _T_115 = _T_90[31:0]; // @[Multiplier.scala 120:82:shc.marmotcaravel.MarmotCaravelConfig.fir@220116.6]
+  assign _T_116 = {_T_113,_T_115}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220117.6]
+  assign _T_117 = _T_116[64:32]; // @[Multiplier.scala 121:34:shc.marmotcaravel.MarmotCaravelConfig.fir@220118.6]
+  assign _T_118 = _T_116[31:0]; // @[Multiplier.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@220119.6]
+  assign _T_119 = {_T_117,_T_92}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220120.6]
+  assign _T_120 = {_T_119,_T_118}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220121.6]
+  assign _T_122 = count + 6'h1; // @[Multiplier.scala 123:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220124.6]
+  assign _T_123 = count == 6'h3; // @[Multiplier.scala 124:25:shc.marmotcaravel.MarmotCaravelConfig.fir@220126.6]
+  assign _T_125 = state == 3'h3; // @[Multiplier.scala 129:39:shc.marmotcaravel.MarmotCaravelConfig.fir@220133.4]
+  assign _T_126 = subtractor[32]; // @[Multiplier.scala 133:28:shc.marmotcaravel.MarmotCaravelConfig.fir@220135.6]
+  assign _T_127 = remainder[63:32]; // @[Multiplier.scala 134:24:shc.marmotcaravel.MarmotCaravelConfig.fir@220136.6]
+  assign _T_128 = subtractor[31:0]; // @[Multiplier.scala 134:45:shc.marmotcaravel.MarmotCaravelConfig.fir@220137.6]
+  assign _T_129 = _T_126 ? _T_127 : _T_128; // @[Multiplier.scala 134:14:shc.marmotcaravel.MarmotCaravelConfig.fir@220138.6]
+  assign _T_131 = _T_126 == 1'h0; // @[Multiplier.scala 134:67:shc.marmotcaravel.MarmotCaravelConfig.fir@220140.6]
+  assign _T_132 = {_T_129,_T_65}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220141.6]
+  assign _T_133 = {_T_132,_T_131}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220142.6]
+  assign _T_134 = count == 6'h20; // @[Multiplier.scala 138:17:shc.marmotcaravel.MarmotCaravelConfig.fir@220144.6]
+  assign _T_138 = count == 6'h0; // @[Multiplier.scala 146:24:shc.marmotcaravel.MarmotCaravelConfig.fir@220153.6]
+  assign _T_141 = _T_138 & _T_131; // @[Multiplier.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220156.6]
+  assign _T_143 = _T_141 & _T_101; // @[Multiplier.scala 159:18:shc.marmotcaravel.MarmotCaravelConfig.fir@220158.6]
+  assign _T_144 = io_resp_ready & io_resp_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@220163.4]
+  assign _T_145 = _T_144 | io_kill; // @[Multiplier.scala 161:24:shc.marmotcaravel.MarmotCaravelConfig.fir@220164.4]
+  assign _T_146 = io_req_ready & io_req_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@220168.4]
+  assign _T_147 = lhs_sign | rhs_sign; // @[Multiplier.scala 165:46:shc.marmotcaravel.MarmotCaravelConfig.fir@220170.6]
+  assign _T_154 = lhs_sign != rhs_sign; // @[Multiplier.scala 169:46:shc.marmotcaravel.MarmotCaravelConfig.fir@220181.6]
+  assign _T_156 = {rhs_sign,rhs_in}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220184.6]
+  assign _T_165 = result[31:16]; // @[Multiplier.scala 176:69:shc.marmotcaravel.MarmotCaravelConfig.fir@220198.4]
+  assign loOut = result[15:0]; // @[Multiplier.scala 176:86:shc.marmotcaravel.MarmotCaravelConfig.fir@220199.4]
+  assign _T_174 = state == 3'h6; // @[Multiplier.scala 180:27:shc.marmotcaravel.MarmotCaravelConfig.fir@220211.4]
+  assign _T_175 = state == 3'h7; // @[Multiplier.scala 180:51:shc.marmotcaravel.MarmotCaravelConfig.fir@220212.4]
+  assign io_req_ready = state == 3'h0; // @[Multiplier.scala 181:16:shc.marmotcaravel.MarmotCaravelConfig.fir@220216.4]
+  assign io_resp_valid = _T_174 | _T_175; // @[Multiplier.scala 180:17:shc.marmotcaravel.MarmotCaravelConfig.fir@220214.4]
+  assign io_resp_bits_data = {_T_165,loOut}; // @[Multiplier.scala 179:21:shc.marmotcaravel.MarmotCaravelConfig.fir@220210.4]
+  assign io_resp_bits_tag = req_tag; // @[Multiplier.scala 178:16:shc.marmotcaravel.MarmotCaravelConfig.fir@220208.4]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  state = _RAND_0[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  req_tag = _RAND_1[4:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  count = _RAND_2[5:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  neg_out = _RAND_3[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  isHi = _RAND_4[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  resHi = _RAND_5[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {2{`RANDOM}};
+  divisor = _RAND_6[32:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {3{`RANDOM}};
+  remainder = _RAND_7[65:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      state <= 3'h0;
+    end else begin
+      if (_T_146) begin
+        if (cmdMul) begin
+          state <= 3'h2;
+        end else begin
+          if (_T_147) begin
+            state <= 3'h1;
+          end else begin
+            state <= 3'h3;
+          end
+        end
+      end else begin
+        if (_T_145) begin
+          state <= 3'h0;
+        end else begin
+          if (_T_125) begin
+            if (_T_134) begin
+              if (neg_out) begin
+                state <= 3'h5;
+              end else begin
+                state <= 3'h7;
+              end
+            end else begin
+              if (_T_72) begin
+                if (_T_123) begin
+                  state <= 3'h6;
+                end else begin
+                  if (_T_71) begin
+                    state <= 3'h7;
+                  end else begin
+                    if (_T_68) begin
+                      state <= 3'h3;
+                    end
+                  end
+                end
+              end else begin
+                if (_T_71) begin
+                  state <= 3'h7;
+                end else begin
+                  if (_T_68) begin
+                    state <= 3'h3;
+                  end
+                end
+              end
+            end
+          end else begin
+            if (_T_72) begin
+              if (_T_123) begin
+                state <= 3'h6;
+              end else begin
+                if (_T_71) begin
+                  state <= 3'h7;
+                end else begin
+                  if (_T_68) begin
+                    state <= 3'h3;
+                  end
+                end
+              end
+            end else begin
+              if (_T_71) begin
+                state <= 3'h7;
+              end else begin
+                if (_T_68) begin
+                  state <= 3'h3;
+                end
+              end
+            end
+          end
+        end
+      end
+    end
+    if (_T_146) begin
+      req_tag <= io_req_bits_tag;
+    end
+    if (_T_146) begin
+      count <= 6'h0;
+    end else begin
+      if (_T_125) begin
+        count <= _T_122;
+      end else begin
+        if (_T_72) begin
+          count <= _T_122;
+        end
+      end
+    end
+    if (_T_146) begin
+      if (cmdHi) begin
+        neg_out <= lhs_sign;
+      end else begin
+        neg_out <= _T_154;
+      end
+    end else begin
+      if (_T_125) begin
+        if (_T_143) begin
+          neg_out <= 1'h0;
+        end
+      end
+    end
+    if (_T_146) begin
+      isHi <= cmdHi;
+    end
+    if (_T_146) begin
+      resHi <= 1'h0;
+    end else begin
+      if (_T_125) begin
+        if (_T_134) begin
+          resHi <= isHi;
+        end else begin
+          if (_T_72) begin
+            if (_T_123) begin
+              resHi <= isHi;
+            end else begin
+              if (_T_71) begin
+                resHi <= 1'h0;
+              end
+            end
+          end else begin
+            if (_T_71) begin
+              resHi <= 1'h0;
+            end
+          end
+        end
+      end else begin
+        if (_T_72) begin
+          if (_T_123) begin
+            resHi <= isHi;
+          end else begin
+            if (_T_71) begin
+              resHi <= 1'h0;
+            end
+          end
+        end else begin
+          if (_T_71) begin
+            resHi <= 1'h0;
+          end
+        end
+      end
+    end
+    if (_T_146) begin
+      divisor <= _T_156;
+    end else begin
+      if (_T_68) begin
+        if (_T_70) begin
+          divisor <= subtractor;
+        end
+      end
+    end
+    if (_T_146) begin
+      remainder <= {{34'd0}, lhs_in};
+    end else begin
+      if (_T_125) begin
+        remainder <= {{1'd0}, _T_133};
+      end else begin
+        if (_T_72) begin
+          remainder <= _T_120;
+        end else begin
+          if (_T_71) begin
+            remainder <= {{34'd0}, negated_remainder};
+          end else begin
+            if (_T_68) begin
+              if (_T_69) begin
+                remainder <= {{34'd0}, negated_remainder};
+              end
+            end
+          end
+        end
+      end
+    end
+  end
+endmodule
+module PlusArgTimeout( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220225.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220226.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220227.4]
+  input  [31:0] io_count // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220228.4]
+);
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 25:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220233.4]
+  wire  _T_5; // @[PlusArg.scala 27:13:shc.marmotcaravel.MarmotCaravelConfig.fir@220235.4]
+  wire  _T_6; // @[PlusArg.scala 28:22:shc.marmotcaravel.MarmotCaravelConfig.fir@220237.6]
+  wire  _T_8; // @[PlusArg.scala 28:12:shc.marmotcaravel.MarmotCaravelConfig.fir@220239.6]
+  wire  _T_9; // @[PlusArg.scala 28:12:shc.marmotcaravel.MarmotCaravelConfig.fir@220240.6]
+  plusarg_reader #(.FORMAT("max_core_cycles=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 25:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220233.4]
+    .out(plusarg_reader_out)
+  );
+  assign _T_5 = plusarg_reader_out > 32'h0; // @[PlusArg.scala 27:13:shc.marmotcaravel.MarmotCaravelConfig.fir@220235.4]
+  assign _T_6 = io_count < plusarg_reader_out; // @[PlusArg.scala 28:22:shc.marmotcaravel.MarmotCaravelConfig.fir@220237.6]
+  assign _T_8 = _T_6 | reset; // @[PlusArg.scala 28:12:shc.marmotcaravel.MarmotCaravelConfig.fir@220239.6]
+  assign _T_9 = _T_8 == 1'h0; // @[PlusArg.scala 28:12:shc.marmotcaravel.MarmotCaravelConfig.fir@220240.6]
+  always @(posedge clock) begin
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_5 & _T_9) begin
+          $fwrite(32'h80000002,"Assertion failed: Timeout exceeded: Kill the emulation after INT rdtime cycles. Off if 0.\n    at PlusArg.scala:28 assert (io.count < max, s\"Timeout exceeded: $docstring\")\n"); // @[PlusArg.scala 28:12:shc.marmotcaravel.MarmotCaravelConfig.fir@220242.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_5 & _T_9) begin
+          $fatal; // @[PlusArg.scala 28:12:shc.marmotcaravel.MarmotCaravelConfig.fir@220243.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+endmodule
+module Rocket( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220247.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220248.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220249.4]
+  input         io_hartid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
+  input         io_interrupts_debug, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
+  input         io_interrupts_mtip, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
+  input         io_interrupts_msip, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
+  input         io_interrupts_meip, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
+  output        io_imem_might_request, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
+  output        io_imem_req_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
+  output [31:0] io_imem_req_bits_pc, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
+  output        io_imem_req_bits_speculative, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
+  output        io_imem_sfence_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
+  output        io_imem_resp_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
+  input         io_imem_resp_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
+  input         io_imem_resp_bits_btb_taken, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
+  input         io_imem_resp_bits_btb_bridx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
+  input  [4:0]  io_imem_resp_bits_btb_entry, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
+  input  [7:0]  io_imem_resp_bits_btb_bht_history, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
+  input  [31:0] io_imem_resp_bits_pc, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
+  input  [31:0] io_imem_resp_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
+  input         io_imem_resp_bits_xcpt_ae_inst, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
+  input         io_imem_resp_bits_replay, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
+  output        io_imem_btb_update_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
+  output [4:0]  io_imem_btb_update_bits_prediction_entry, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
+  output [31:0] io_imem_btb_update_bits_pc, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
+  output        io_imem_btb_update_bits_isValid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
+  output [31:0] io_imem_btb_update_bits_br_pc, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
+  output [1:0]  io_imem_btb_update_bits_cfiType, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
+  output        io_imem_bht_update_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
+  output [7:0]  io_imem_bht_update_bits_prediction_history, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
+  output [31:0] io_imem_bht_update_bits_pc, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
+  output        io_imem_bht_update_bits_branch, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
+  output        io_imem_bht_update_bits_taken, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
+  output        io_imem_bht_update_bits_mispredict, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
+  output        io_imem_flush_icache, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
+  input         io_dmem_req_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
+  output        io_dmem_req_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
+  output [31:0] io_dmem_req_bits_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
+  output [6:0]  io_dmem_req_bits_tag, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
+  output [4:0]  io_dmem_req_bits_cmd, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
+  output [2:0]  io_dmem_req_bits_typ, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
+  output        io_dmem_s1_kill, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
+  output [31:0] io_dmem_s1_data_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
+  input         io_dmem_s2_nack, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
+  input         io_dmem_resp_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
+  input  [6:0]  io_dmem_resp_bits_tag, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
+  input  [31:0] io_dmem_resp_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
+  input         io_dmem_resp_bits_replay, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
+  input         io_dmem_resp_bits_has_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
+  input  [31:0] io_dmem_resp_bits_data_word_bypass, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
+  input         io_dmem_replay_next, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
+  input         io_dmem_s2_xcpt_ma_ld, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
+  input         io_dmem_s2_xcpt_ma_st, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
+  input         io_dmem_s2_xcpt_pf_ld, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
+  input         io_dmem_s2_xcpt_pf_st, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
+  input         io_dmem_s2_xcpt_ae_ld, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
+  input         io_dmem_s2_xcpt_ae_st, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
+  input         io_dmem_ordered, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
+  input         io_dmem_perf_grant, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
+  output        io_dmem_keep_clock_enabled, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
+  input         io_dmem_clock_enabled, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
+  output        io_ptw_pmp_0_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
+  output [1:0]  io_ptw_pmp_0_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
+  output        io_ptw_pmp_0_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
+  output        io_ptw_pmp_0_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
+  output        io_ptw_pmp_0_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
+  output [29:0] io_ptw_pmp_0_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
+  output [31:0] io_ptw_pmp_0_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
+  output        io_ptw_pmp_1_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
+  output [1:0]  io_ptw_pmp_1_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
+  output        io_ptw_pmp_1_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
+  output        io_ptw_pmp_1_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
+  output        io_ptw_pmp_1_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
+  output [29:0] io_ptw_pmp_1_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
+  output [31:0] io_ptw_pmp_1_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
+  output        io_ptw_pmp_2_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
+  output [1:0]  io_ptw_pmp_2_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
+  output        io_ptw_pmp_2_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
+  output        io_ptw_pmp_2_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
+  output        io_ptw_pmp_2_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
+  output [29:0] io_ptw_pmp_2_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
+  output [31:0] io_ptw_pmp_2_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
+  output        io_ptw_pmp_3_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
+  output [1:0]  io_ptw_pmp_3_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
+  output        io_ptw_pmp_3_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
+  output        io_ptw_pmp_3_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
+  output        io_ptw_pmp_3_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
+  output [29:0] io_ptw_pmp_3_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
+  output [31:0] io_ptw_pmp_3_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
+  output        io_ptw_pmp_4_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
+  output [1:0]  io_ptw_pmp_4_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
+  output        io_ptw_pmp_4_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
+  output        io_ptw_pmp_4_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
+  output        io_ptw_pmp_4_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
+  output [29:0] io_ptw_pmp_4_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
+  output [31:0] io_ptw_pmp_4_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
+  output        io_ptw_pmp_5_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
+  output [1:0]  io_ptw_pmp_5_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
+  output        io_ptw_pmp_5_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
+  output        io_ptw_pmp_5_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
+  output        io_ptw_pmp_5_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
+  output [29:0] io_ptw_pmp_5_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
+  output [31:0] io_ptw_pmp_5_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
+  output        io_ptw_pmp_6_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
+  output [1:0]  io_ptw_pmp_6_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
+  output        io_ptw_pmp_6_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
+  output        io_ptw_pmp_6_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
+  output        io_ptw_pmp_6_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
+  output [29:0] io_ptw_pmp_6_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
+  output [31:0] io_ptw_pmp_6_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
+  output        io_ptw_pmp_7_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
+  output [1:0]  io_ptw_pmp_7_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
+  output        io_ptw_pmp_7_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
+  output        io_ptw_pmp_7_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
+  output        io_ptw_pmp_7_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
+  output [29:0] io_ptw_pmp_7_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
+  output [31:0] io_ptw_pmp_7_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
+  output [31:0] io_ptw_customCSRs_csrs_0_value // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
+);
+  wire  ibuf_clock; // @[RocketCore.scala 222:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220310.4]
+  wire  ibuf_reset; // @[RocketCore.scala 222:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220310.4]
+  wire  ibuf_io_imem_ready; // @[RocketCore.scala 222:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220310.4]
+  wire  ibuf_io_imem_valid; // @[RocketCore.scala 222:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220310.4]
+  wire  ibuf_io_imem_bits_btb_taken; // @[RocketCore.scala 222:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220310.4]
+  wire  ibuf_io_imem_bits_btb_bridx; // @[RocketCore.scala 222:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220310.4]
+  wire [4:0] ibuf_io_imem_bits_btb_entry; // @[RocketCore.scala 222:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220310.4]
+  wire [7:0] ibuf_io_imem_bits_btb_bht_history; // @[RocketCore.scala 222:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220310.4]
+  wire [31:0] ibuf_io_imem_bits_pc; // @[RocketCore.scala 222:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220310.4]
+  wire [31:0] ibuf_io_imem_bits_data; // @[RocketCore.scala 222:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220310.4]
+  wire  ibuf_io_imem_bits_xcpt_ae_inst; // @[RocketCore.scala 222:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220310.4]
+  wire  ibuf_io_imem_bits_replay; // @[RocketCore.scala 222:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220310.4]
+  wire  ibuf_io_kill; // @[RocketCore.scala 222:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220310.4]
+  wire [31:0] ibuf_io_pc; // @[RocketCore.scala 222:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220310.4]
+  wire [4:0] ibuf_io_btb_resp_entry; // @[RocketCore.scala 222:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220310.4]
+  wire [7:0] ibuf_io_btb_resp_bht_history; // @[RocketCore.scala 222:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220310.4]
+  wire  ibuf_io_inst_0_ready; // @[RocketCore.scala 222:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220310.4]
+  wire  ibuf_io_inst_0_valid; // @[RocketCore.scala 222:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220310.4]
+  wire  ibuf_io_inst_0_bits_xcpt0_pf_inst; // @[RocketCore.scala 222:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220310.4]
+  wire  ibuf_io_inst_0_bits_xcpt0_ae_inst; // @[RocketCore.scala 222:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220310.4]
+  wire  ibuf_io_inst_0_bits_xcpt1_pf_inst; // @[RocketCore.scala 222:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220310.4]
+  wire  ibuf_io_inst_0_bits_xcpt1_ae_inst; // @[RocketCore.scala 222:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220310.4]
+  wire  ibuf_io_inst_0_bits_replay; // @[RocketCore.scala 222:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220310.4]
+  wire  ibuf_io_inst_0_bits_rvc; // @[RocketCore.scala 222:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220310.4]
+  wire [31:0] ibuf_io_inst_0_bits_inst_bits; // @[RocketCore.scala 222:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220310.4]
+  wire [4:0] ibuf_io_inst_0_bits_inst_rd; // @[RocketCore.scala 222:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220310.4]
+  wire [4:0] ibuf_io_inst_0_bits_inst_rs1; // @[RocketCore.scala 222:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220310.4]
+  wire [4:0] ibuf_io_inst_0_bits_inst_rs2; // @[RocketCore.scala 222:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220310.4]
+  wire [31:0] ibuf_io_inst_0_bits_raw; // @[RocketCore.scala 222:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220310.4]
+  reg [31:0] _T_574 [0:30]; // @[RocketCore.scala 910:23:shc.marmotcaravel.MarmotCaravelConfig.fir@220657.4]
+  reg [31:0] _RAND_0;
+  wire [31:0] _T_574__T_581_data; // @[RocketCore.scala 910:23:shc.marmotcaravel.MarmotCaravelConfig.fir@220657.4]
+  wire [4:0] _T_574__T_581_addr; // @[RocketCore.scala 910:23:shc.marmotcaravel.MarmotCaravelConfig.fir@220657.4]
+  reg [31:0] _RAND_1;
+  wire [31:0] _T_574__T_589_data; // @[RocketCore.scala 910:23:shc.marmotcaravel.MarmotCaravelConfig.fir@220657.4]
+  wire [4:0] _T_574__T_589_addr; // @[RocketCore.scala 910:23:shc.marmotcaravel.MarmotCaravelConfig.fir@220657.4]
+  reg [31:0] _RAND_2;
+  wire [31:0] _T_574__T_1298_data; // @[RocketCore.scala 910:23:shc.marmotcaravel.MarmotCaravelConfig.fir@220657.4]
+  wire [4:0] _T_574__T_1298_addr; // @[RocketCore.scala 910:23:shc.marmotcaravel.MarmotCaravelConfig.fir@220657.4]
+  wire  _T_574__T_1298_mask; // @[RocketCore.scala 910:23:shc.marmotcaravel.MarmotCaravelConfig.fir@220657.4]
+  wire  _T_574__T_1298_en; // @[RocketCore.scala 910:23:shc.marmotcaravel.MarmotCaravelConfig.fir@220657.4]
+  wire  csr_clock; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire  csr_reset; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire  csr_io_ungated_clock; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire  csr_io_interrupts_debug; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire  csr_io_interrupts_mtip; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire  csr_io_interrupts_msip; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire  csr_io_interrupts_meip; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire  csr_io_hartid; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire [11:0] csr_io_rw_addr; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire [2:0] csr_io_rw_cmd; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire [31:0] csr_io_rw_rdata; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire [31:0] csr_io_rw_wdata; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire [11:0] csr_io_decode_0_csr; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire  csr_io_decode_0_fp_illegal; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire  csr_io_decode_0_fp_csr; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire  csr_io_decode_0_read_illegal; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire  csr_io_decode_0_write_illegal; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire  csr_io_decode_0_write_flush; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire  csr_io_csr_stall; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire  csr_io_eret; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire  csr_io_singleStep; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire  csr_io_status_debug; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire [31:0] csr_io_status_isa; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire [1:0] csr_io_status_dprv; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire [1:0] csr_io_status_prv; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire  csr_io_status_sd; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire [26:0] csr_io_status_zero2; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire [1:0] csr_io_status_sxl; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire [1:0] csr_io_status_uxl; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire  csr_io_status_sd_rv32; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire [7:0] csr_io_status_zero1; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire  csr_io_status_tsr; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire  csr_io_status_tw; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire  csr_io_status_tvm; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire  csr_io_status_mxr; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire  csr_io_status_sum; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire  csr_io_status_mprv; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire [1:0] csr_io_status_xs; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire [1:0] csr_io_status_fs; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire [1:0] csr_io_status_mpp; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire [1:0] csr_io_status_hpp; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire  csr_io_status_spp; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire  csr_io_status_mpie; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire  csr_io_status_hpie; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire  csr_io_status_spie; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire  csr_io_status_upie; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire  csr_io_status_mie; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire  csr_io_status_hie; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire  csr_io_status_sie; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire  csr_io_status_uie; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire [31:0] csr_io_evec; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire  csr_io_exception; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire  csr_io_retire; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire [31:0] csr_io_cause; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire [31:0] csr_io_pc; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire [31:0] csr_io_tval; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire [31:0] csr_io_time; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire  csr_io_interrupt; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire [31:0] csr_io_interrupt_cause; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire  csr_io_bp_0_control_action; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire  csr_io_bp_0_control_chain; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire [1:0] csr_io_bp_0_control_tmatch; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire  csr_io_bp_0_control_x; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire  csr_io_bp_0_control_w; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire  csr_io_bp_0_control_r; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire [31:0] csr_io_bp_0_address; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire  csr_io_bp_1_control_action; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire [1:0] csr_io_bp_1_control_tmatch; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire  csr_io_bp_1_control_x; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire  csr_io_bp_1_control_w; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire  csr_io_bp_1_control_r; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire [31:0] csr_io_bp_1_address; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire  csr_io_pmp_0_cfg_l; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire [1:0] csr_io_pmp_0_cfg_a; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire  csr_io_pmp_0_cfg_x; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire  csr_io_pmp_0_cfg_w; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire  csr_io_pmp_0_cfg_r; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire [29:0] csr_io_pmp_0_addr; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire [31:0] csr_io_pmp_0_mask; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire  csr_io_pmp_1_cfg_l; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire [1:0] csr_io_pmp_1_cfg_a; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire  csr_io_pmp_1_cfg_x; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire  csr_io_pmp_1_cfg_w; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire  csr_io_pmp_1_cfg_r; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire [29:0] csr_io_pmp_1_addr; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire [31:0] csr_io_pmp_1_mask; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire  csr_io_pmp_2_cfg_l; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire [1:0] csr_io_pmp_2_cfg_a; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire  csr_io_pmp_2_cfg_x; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire  csr_io_pmp_2_cfg_w; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire  csr_io_pmp_2_cfg_r; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire [29:0] csr_io_pmp_2_addr; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire [31:0] csr_io_pmp_2_mask; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire  csr_io_pmp_3_cfg_l; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire [1:0] csr_io_pmp_3_cfg_a; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire  csr_io_pmp_3_cfg_x; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire  csr_io_pmp_3_cfg_w; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire  csr_io_pmp_3_cfg_r; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire [29:0] csr_io_pmp_3_addr; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire [31:0] csr_io_pmp_3_mask; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire  csr_io_pmp_4_cfg_l; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire [1:0] csr_io_pmp_4_cfg_a; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire  csr_io_pmp_4_cfg_x; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire  csr_io_pmp_4_cfg_w; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire  csr_io_pmp_4_cfg_r; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire [29:0] csr_io_pmp_4_addr; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire [31:0] csr_io_pmp_4_mask; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire  csr_io_pmp_5_cfg_l; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire [1:0] csr_io_pmp_5_cfg_a; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire  csr_io_pmp_5_cfg_x; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire  csr_io_pmp_5_cfg_w; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire  csr_io_pmp_5_cfg_r; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire [29:0] csr_io_pmp_5_addr; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire [31:0] csr_io_pmp_5_mask; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire  csr_io_pmp_6_cfg_l; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire [1:0] csr_io_pmp_6_cfg_a; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire  csr_io_pmp_6_cfg_x; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire  csr_io_pmp_6_cfg_w; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire  csr_io_pmp_6_cfg_r; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire [29:0] csr_io_pmp_6_addr; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire [31:0] csr_io_pmp_6_mask; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire  csr_io_pmp_7_cfg_l; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire [1:0] csr_io_pmp_7_cfg_a; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire  csr_io_pmp_7_cfg_x; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire  csr_io_pmp_7_cfg_w; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire  csr_io_pmp_7_cfg_r; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire [29:0] csr_io_pmp_7_addr; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire [31:0] csr_io_pmp_7_mask; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire [31:0] csr_io_inst_0; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire  csr_io_trace_0_valid; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire [31:0] csr_io_trace_0_iaddr; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire [31:0] csr_io_trace_0_insn; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire  csr_io_trace_0_exception; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+  wire  bpu_io_status_debug; // @[RocketCore.scala 280:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220831.4]
+  wire  bpu_io_bp_0_control_action; // @[RocketCore.scala 280:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220831.4]
+  wire  bpu_io_bp_0_control_chain; // @[RocketCore.scala 280:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220831.4]
+  wire [1:0] bpu_io_bp_0_control_tmatch; // @[RocketCore.scala 280:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220831.4]
+  wire  bpu_io_bp_0_control_x; // @[RocketCore.scala 280:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220831.4]
+  wire  bpu_io_bp_0_control_w; // @[RocketCore.scala 280:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220831.4]
+  wire  bpu_io_bp_0_control_r; // @[RocketCore.scala 280:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220831.4]
+  wire [31:0] bpu_io_bp_0_address; // @[RocketCore.scala 280:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220831.4]
+  wire  bpu_io_bp_1_control_action; // @[RocketCore.scala 280:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220831.4]
+  wire [1:0] bpu_io_bp_1_control_tmatch; // @[RocketCore.scala 280:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220831.4]
+  wire  bpu_io_bp_1_control_x; // @[RocketCore.scala 280:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220831.4]
+  wire  bpu_io_bp_1_control_w; // @[RocketCore.scala 280:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220831.4]
+  wire  bpu_io_bp_1_control_r; // @[RocketCore.scala 280:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220831.4]
+  wire [31:0] bpu_io_bp_1_address; // @[RocketCore.scala 280:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220831.4]
+  wire [31:0] bpu_io_pc; // @[RocketCore.scala 280:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220831.4]
+  wire [31:0] bpu_io_ea; // @[RocketCore.scala 280:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220831.4]
+  wire  bpu_io_xcpt_if; // @[RocketCore.scala 280:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220831.4]
+  wire  bpu_io_xcpt_ld; // @[RocketCore.scala 280:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220831.4]
+  wire  bpu_io_xcpt_st; // @[RocketCore.scala 280:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220831.4]
+  wire  bpu_io_debug_if; // @[RocketCore.scala 280:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220831.4]
+  wire  bpu_io_debug_ld; // @[RocketCore.scala 280:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220831.4]
+  wire  bpu_io_debug_st; // @[RocketCore.scala 280:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220831.4]
+  wire [3:0] alu_io_fn; // @[RocketCore.scala 339:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220983.4]
+  wire [31:0] alu_io_in2; // @[RocketCore.scala 339:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220983.4]
+  wire [31:0] alu_io_in1; // @[RocketCore.scala 339:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220983.4]
+  wire [31:0] alu_io_out; // @[RocketCore.scala 339:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220983.4]
+  wire [31:0] alu_io_adder_out; // @[RocketCore.scala 339:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220983.4]
+  wire  alu_io_cmp_out; // @[RocketCore.scala 339:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220983.4]
+  wire  div_clock; // @[RocketCore.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220993.4]
+  wire  div_reset; // @[RocketCore.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220993.4]
+  wire  div_io_req_ready; // @[RocketCore.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220993.4]
+  wire  div_io_req_valid; // @[RocketCore.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220993.4]
+  wire [3:0] div_io_req_bits_fn; // @[RocketCore.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220993.4]
+  wire [31:0] div_io_req_bits_in1; // @[RocketCore.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220993.4]
+  wire [31:0] div_io_req_bits_in2; // @[RocketCore.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220993.4]
+  wire [4:0] div_io_req_bits_tag; // @[RocketCore.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220993.4]
+  wire  div_io_kill; // @[RocketCore.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220993.4]
+  wire  div_io_resp_ready; // @[RocketCore.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220993.4]
+  wire  div_io_resp_valid; // @[RocketCore.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220993.4]
+  wire [31:0] div_io_resp_bits_data; // @[RocketCore.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220993.4]
+  wire [4:0] div_io_resp_bits_tag; // @[RocketCore.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220993.4]
+  wire  PlusArgTimeout_clock; // @[PlusArg.scala 51:11:shc.marmotcaravel.MarmotCaravelConfig.fir@222015.4]
+  wire  PlusArgTimeout_reset; // @[PlusArg.scala 51:11:shc.marmotcaravel.MarmotCaravelConfig.fir@222015.4]
+  wire [31:0] PlusArgTimeout_io_count; // @[PlusArg.scala 51:11:shc.marmotcaravel.MarmotCaravelConfig.fir@222015.4]
+  reg  imem_might_request_reg; // @[RocketCore.scala 98:35:shc.marmotcaravel.MarmotCaravelConfig.fir@220257.4]
+  reg [31:0] _RAND_3;
+  reg  ex_ctrl_branch; // @[RocketCore.scala 168:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220261.4]
+  reg [31:0] _RAND_4;
+  reg  ex_ctrl_jal; // @[RocketCore.scala 168:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220261.4]
+  reg [31:0] _RAND_5;
+  reg  ex_ctrl_jalr; // @[RocketCore.scala 168:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220261.4]
+  reg [31:0] _RAND_6;
+  reg  ex_ctrl_rxs2; // @[RocketCore.scala 168:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220261.4]
+  reg [31:0] _RAND_7;
+  reg [1:0] ex_ctrl_sel_alu2; // @[RocketCore.scala 168:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220261.4]
+  reg [31:0] _RAND_8;
+  reg [1:0] ex_ctrl_sel_alu1; // @[RocketCore.scala 168:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220261.4]
+  reg [31:0] _RAND_9;
+  reg [2:0] ex_ctrl_sel_imm; // @[RocketCore.scala 168:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220261.4]
+  reg [31:0] _RAND_10;
+  reg [3:0] ex_ctrl_alu_fn; // @[RocketCore.scala 168:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220261.4]
+  reg [31:0] _RAND_11;
+  reg  ex_ctrl_mem; // @[RocketCore.scala 168:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220261.4]
+  reg [31:0] _RAND_12;
+  reg [4:0] ex_ctrl_mem_cmd; // @[RocketCore.scala 168:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220261.4]
+  reg [31:0] _RAND_13;
+  reg [2:0] ex_ctrl_mem_type; // @[RocketCore.scala 168:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220261.4]
+  reg [31:0] _RAND_14;
+  reg  ex_ctrl_div; // @[RocketCore.scala 168:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220261.4]
+  reg [31:0] _RAND_15;
+  reg  ex_ctrl_wxd; // @[RocketCore.scala 168:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220261.4]
+  reg [31:0] _RAND_16;
+  reg [2:0] ex_ctrl_csr; // @[RocketCore.scala 168:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220261.4]
+  reg [31:0] _RAND_17;
+  reg  ex_ctrl_fence_i; // @[RocketCore.scala 168:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220261.4]
+  reg [31:0] _RAND_18;
+  reg  mem_ctrl_fp; // @[RocketCore.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@220262.4]
+  reg [31:0] _RAND_19;
+  reg  mem_ctrl_rocc; // @[RocketCore.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@220262.4]
+  reg [31:0] _RAND_20;
+  reg  mem_ctrl_branch; // @[RocketCore.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@220262.4]
+  reg [31:0] _RAND_21;
+  reg  mem_ctrl_jal; // @[RocketCore.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@220262.4]
+  reg [31:0] _RAND_22;
+  reg  mem_ctrl_jalr; // @[RocketCore.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@220262.4]
+  reg [31:0] _RAND_23;
+  reg  mem_ctrl_mem; // @[RocketCore.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@220262.4]
+  reg [31:0] _RAND_24;
+  reg  mem_ctrl_mul; // @[RocketCore.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@220262.4]
+  reg [31:0] _RAND_25;
+  reg  mem_ctrl_div; // @[RocketCore.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@220262.4]
+  reg [31:0] _RAND_26;
+  reg  mem_ctrl_wxd; // @[RocketCore.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@220262.4]
+  reg [31:0] _RAND_27;
+  reg [2:0] mem_ctrl_csr; // @[RocketCore.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@220262.4]
+  reg [31:0] _RAND_28;
+  reg  mem_ctrl_fence_i; // @[RocketCore.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@220262.4]
+  reg [31:0] _RAND_29;
+  reg  wb_ctrl_rocc; // @[RocketCore.scala 170:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220263.4]
+  reg [31:0] _RAND_30;
+  reg  wb_ctrl_mem; // @[RocketCore.scala 170:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220263.4]
+  reg [31:0] _RAND_31;
+  reg  wb_ctrl_div; // @[RocketCore.scala 170:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220263.4]
+  reg [31:0] _RAND_32;
+  reg  wb_ctrl_wxd; // @[RocketCore.scala 170:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220263.4]
+  reg [31:0] _RAND_33;
+  reg [2:0] wb_ctrl_csr; // @[RocketCore.scala 170:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220263.4]
+  reg [31:0] _RAND_34;
+  reg  wb_ctrl_fence_i; // @[RocketCore.scala 170:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220263.4]
+  reg [31:0] _RAND_35;
+  reg  ex_reg_xcpt_interrupt; // @[RocketCore.scala 172:35:shc.marmotcaravel.MarmotCaravelConfig.fir@220264.4]
+  reg [31:0] _RAND_36;
+  reg  ex_reg_valid; // @[RocketCore.scala 173:35:shc.marmotcaravel.MarmotCaravelConfig.fir@220265.4]
+  reg [31:0] _RAND_37;
+  reg  ex_reg_rvc; // @[RocketCore.scala 174:35:shc.marmotcaravel.MarmotCaravelConfig.fir@220266.4]
+  reg [31:0] _RAND_38;
+  reg [4:0] ex_reg_btb_resp_entry; // @[RocketCore.scala 175:35:shc.marmotcaravel.MarmotCaravelConfig.fir@220267.4]
+  reg [31:0] _RAND_39;
+  reg [7:0] ex_reg_btb_resp_bht_history; // @[RocketCore.scala 175:35:shc.marmotcaravel.MarmotCaravelConfig.fir@220267.4]
+  reg [31:0] _RAND_40;
+  reg  ex_reg_xcpt; // @[RocketCore.scala 176:35:shc.marmotcaravel.MarmotCaravelConfig.fir@220268.4]
+  reg [31:0] _RAND_41;
+  reg  ex_reg_flush_pipe; // @[RocketCore.scala 177:35:shc.marmotcaravel.MarmotCaravelConfig.fir@220269.4]
+  reg [31:0] _RAND_42;
+  reg  ex_reg_load_use; // @[RocketCore.scala 178:35:shc.marmotcaravel.MarmotCaravelConfig.fir@220270.4]
+  reg [31:0] _RAND_43;
+  reg [31:0] ex_reg_cause; // @[RocketCore.scala 179:35:shc.marmotcaravel.MarmotCaravelConfig.fir@220271.4]
+  reg [31:0] _RAND_44;
+  reg  ex_reg_replay; // @[RocketCore.scala 180:26:shc.marmotcaravel.MarmotCaravelConfig.fir@220272.4]
+  reg [31:0] _RAND_45;
+  reg [31:0] ex_reg_pc; // @[RocketCore.scala 181:22:shc.marmotcaravel.MarmotCaravelConfig.fir@220273.4]
+  reg [31:0] _RAND_46;
+  reg [31:0] ex_reg_inst; // @[RocketCore.scala 182:24:shc.marmotcaravel.MarmotCaravelConfig.fir@220274.4]
+  reg [31:0] _RAND_47;
+  reg [31:0] ex_reg_raw_inst; // @[RocketCore.scala 183:28:shc.marmotcaravel.MarmotCaravelConfig.fir@220275.4]
+  reg [31:0] _RAND_48;
+  reg  mem_reg_xcpt_interrupt; // @[RocketCore.scala 185:36:shc.marmotcaravel.MarmotCaravelConfig.fir@220276.4]
+  reg [31:0] _RAND_49;
+  reg  mem_reg_valid; // @[RocketCore.scala 186:36:shc.marmotcaravel.MarmotCaravelConfig.fir@220277.4]
+  reg [31:0] _RAND_50;
+  reg  mem_reg_rvc; // @[RocketCore.scala 187:36:shc.marmotcaravel.MarmotCaravelConfig.fir@220278.4]
+  reg [31:0] _RAND_51;
+  reg [4:0] mem_reg_btb_resp_entry; // @[RocketCore.scala 188:36:shc.marmotcaravel.MarmotCaravelConfig.fir@220279.4]
+  reg [31:0] _RAND_52;
+  reg [7:0] mem_reg_btb_resp_bht_history; // @[RocketCore.scala 188:36:shc.marmotcaravel.MarmotCaravelConfig.fir@220279.4]
+  reg [31:0] _RAND_53;
+  reg  mem_reg_xcpt; // @[RocketCore.scala 189:36:shc.marmotcaravel.MarmotCaravelConfig.fir@220280.4]
+  reg [31:0] _RAND_54;
+  reg  mem_reg_replay; // @[RocketCore.scala 190:36:shc.marmotcaravel.MarmotCaravelConfig.fir@220281.4]
+  reg [31:0] _RAND_55;
+  reg  mem_reg_flush_pipe; // @[RocketCore.scala 191:36:shc.marmotcaravel.MarmotCaravelConfig.fir@220282.4]
+  reg [31:0] _RAND_56;
+  reg [31:0] mem_reg_cause; // @[RocketCore.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@220283.4]
+  reg [31:0] _RAND_57;
+  reg  mem_reg_slow_bypass; // @[RocketCore.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@220284.4]
+  reg [31:0] _RAND_58;
+  reg  mem_reg_load; // @[RocketCore.scala 194:36:shc.marmotcaravel.MarmotCaravelConfig.fir@220285.4]
+  reg [31:0] _RAND_59;
+  reg  mem_reg_store; // @[RocketCore.scala 195:36:shc.marmotcaravel.MarmotCaravelConfig.fir@220286.4]
+  reg [31:0] _RAND_60;
+  reg  mem_reg_sfence; // @[RocketCore.scala 196:27:shc.marmotcaravel.MarmotCaravelConfig.fir@220287.4]
+  reg [31:0] _RAND_61;
+  reg [31:0] mem_reg_pc; // @[RocketCore.scala 197:23:shc.marmotcaravel.MarmotCaravelConfig.fir@220288.4]
+  reg [31:0] _RAND_62;
+  reg [31:0] mem_reg_inst; // @[RocketCore.scala 198:25:shc.marmotcaravel.MarmotCaravelConfig.fir@220289.4]
+  reg [31:0] _RAND_63;
+  reg [31:0] mem_reg_raw_inst; // @[RocketCore.scala 199:29:shc.marmotcaravel.MarmotCaravelConfig.fir@220290.4]
+  reg [31:0] _RAND_64;
+  reg [31:0] mem_reg_wdata; // @[RocketCore.scala 200:26:shc.marmotcaravel.MarmotCaravelConfig.fir@220291.4]
+  reg [31:0] _RAND_65;
+  reg [31:0] mem_reg_rs2; // @[RocketCore.scala 201:24:shc.marmotcaravel.MarmotCaravelConfig.fir@220292.4]
+  reg [31:0] _RAND_66;
+  reg  mem_br_taken; // @[RocketCore.scala 202:25:shc.marmotcaravel.MarmotCaravelConfig.fir@220293.4]
+  reg [31:0] _RAND_67;
+  reg  wb_reg_valid; // @[RocketCore.scala 205:35:shc.marmotcaravel.MarmotCaravelConfig.fir@220296.4]
+  reg [31:0] _RAND_68;
+  reg  wb_reg_xcpt; // @[RocketCore.scala 206:35:shc.marmotcaravel.MarmotCaravelConfig.fir@220297.4]
+  reg [31:0] _RAND_69;
+  reg  wb_reg_replay; // @[RocketCore.scala 207:35:shc.marmotcaravel.MarmotCaravelConfig.fir@220298.4]
+  reg [31:0] _RAND_70;
+  reg  wb_reg_flush_pipe; // @[RocketCore.scala 208:35:shc.marmotcaravel.MarmotCaravelConfig.fir@220299.4]
+  reg [31:0] _RAND_71;
+  reg [31:0] wb_reg_cause; // @[RocketCore.scala 209:35:shc.marmotcaravel.MarmotCaravelConfig.fir@220300.4]
+  reg [31:0] _RAND_72;
+  reg  wb_reg_sfence; // @[RocketCore.scala 210:26:shc.marmotcaravel.MarmotCaravelConfig.fir@220301.4]
+  reg [31:0] _RAND_73;
+  reg [31:0] wb_reg_pc; // @[RocketCore.scala 211:22:shc.marmotcaravel.MarmotCaravelConfig.fir@220302.4]
+  reg [31:0] _RAND_74;
+  reg [31:0] wb_reg_inst; // @[RocketCore.scala 212:24:shc.marmotcaravel.MarmotCaravelConfig.fir@220303.4]
+  reg [31:0] _RAND_75;
+  reg [31:0] wb_reg_raw_inst; // @[RocketCore.scala 213:28:shc.marmotcaravel.MarmotCaravelConfig.fir@220304.4]
+  reg [31:0] _RAND_76;
+  reg [31:0] wb_reg_wdata; // @[RocketCore.scala 214:25:shc.marmotcaravel.MarmotCaravelConfig.fir@220305.4]
+  reg [31:0] _RAND_77;
+  wire  replay_wb_common; // @[RocketCore.scala 563:42:shc.marmotcaravel.MarmotCaravelConfig.fir@221535.4]
+  wire  replay_wb_rocc; // @[RocketCore.scala 564:37:shc.marmotcaravel.MarmotCaravelConfig.fir@221536.4]
+  wire  replay_wb; // @[RocketCore.scala 565:36:shc.marmotcaravel.MarmotCaravelConfig.fir@221539.4]
+  wire  _T_1236; // @[RocketCore.scala 542:19:shc.marmotcaravel.MarmotCaravelConfig.fir@221494.4]
+  wire  _T_1237; // @[RocketCore.scala 542:34:shc.marmotcaravel.MarmotCaravelConfig.fir@221495.4]
+  wire  _T_1248; // @[RocketCore.scala 870:26:shc.marmotcaravel.MarmotCaravelConfig.fir@221506.4]
+  wire  _T_1239; // @[RocketCore.scala 543:34:shc.marmotcaravel.MarmotCaravelConfig.fir@221497.4]
+  wire  _T_1249; // @[RocketCore.scala 870:26:shc.marmotcaravel.MarmotCaravelConfig.fir@221507.4]
+  wire  _T_1241; // @[RocketCore.scala 544:34:shc.marmotcaravel.MarmotCaravelConfig.fir@221499.4]
+  wire  _T_1250; // @[RocketCore.scala 870:26:shc.marmotcaravel.MarmotCaravelConfig.fir@221508.4]
+  wire  _T_1243; // @[RocketCore.scala 545:34:shc.marmotcaravel.MarmotCaravelConfig.fir@221501.4]
+  wire  _T_1251; // @[RocketCore.scala 870:26:shc.marmotcaravel.MarmotCaravelConfig.fir@221509.4]
+  wire  _T_1245; // @[RocketCore.scala 546:34:shc.marmotcaravel.MarmotCaravelConfig.fir@221503.4]
+  wire  _T_1252; // @[RocketCore.scala 870:26:shc.marmotcaravel.MarmotCaravelConfig.fir@221510.4]
+  wire  _T_1247; // @[RocketCore.scala 547:34:shc.marmotcaravel.MarmotCaravelConfig.fir@221505.4]
+  wire  wb_xcpt; // @[RocketCore.scala 870:26:shc.marmotcaravel.MarmotCaravelConfig.fir@221511.4]
+  wire  _T_1274; // @[RocketCore.scala 566:27:shc.marmotcaravel.MarmotCaravelConfig.fir@221540.4]
+  wire  _T_1275; // @[RocketCore.scala 566:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221541.4]
+  wire  take_pc_wb; // @[RocketCore.scala 566:53:shc.marmotcaravel.MarmotCaravelConfig.fir@221542.4]
+  wire  _T_923; // @[RocketCore.scala 425:34:shc.marmotcaravel.MarmotCaravelConfig.fir@221106.4]
+  wire  ex_pc_valid; // @[RocketCore.scala 425:51:shc.marmotcaravel.MarmotCaravelConfig.fir@221107.4]
+  wire  _T_1096; // @[RocketCore.scala 448:36:shc.marmotcaravel.MarmotCaravelConfig.fir@221286.4]
+  wire [31:0] _T_1097; // @[RocketCore.scala 448:106:shc.marmotcaravel.MarmotCaravelConfig.fir@221287.4]
+  wire [31:0] _T_965; // @[RocketCore.scala 444:34:shc.marmotcaravel.MarmotCaravelConfig.fir@221154.4]
+  wire  _T_966; // @[RocketCore.scala 445:25:shc.marmotcaravel.MarmotCaravelConfig.fir@221155.4]
+  wire  _T_968; // @[RocketCore.scala 932:48:shc.marmotcaravel.MarmotCaravelConfig.fir@221157.4]
+  wire  _T_969; // @[RocketCore.scala 932:53:shc.marmotcaravel.MarmotCaravelConfig.fir@221158.4]
+  wire  _T_1024; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221213.4]
+  wire [10:0] _T_974; // @[RocketCore.scala 933:21:shc.marmotcaravel.MarmotCaravelConfig.fir@221163.4]
+  wire [10:0] _T_1023; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221212.4]
+  wire [11:0] _T_1025; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221214.4]
+  wire [7:0] _T_978; // @[RocketCore.scala 934:65:shc.marmotcaravel.MarmotCaravelConfig.fir@221167.4]
+  wire [7:0] _T_979; // @[RocketCore.scala 934:73:shc.marmotcaravel.MarmotCaravelConfig.fir@221168.4]
+  wire [7:0] _T_980; // @[RocketCore.scala 934:21:shc.marmotcaravel.MarmotCaravelConfig.fir@221169.4]
+  wire [7:0] _T_1021; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221210.4]
+  wire  _T_985; // @[RocketCore.scala 936:39:shc.marmotcaravel.MarmotCaravelConfig.fir@221174.4]
+  wire  _T_986; // @[RocketCore.scala 936:44:shc.marmotcaravel.MarmotCaravelConfig.fir@221175.4]
+  wire  _T_988; // @[RocketCore.scala 937:39:shc.marmotcaravel.MarmotCaravelConfig.fir@221177.4]
+  wire  _T_989; // @[RocketCore.scala 937:43:shc.marmotcaravel.MarmotCaravelConfig.fir@221178.4]
+  wire  _T_1020; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221209.4]
+  wire [8:0] _T_1022; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221211.4]
+  wire [20:0] _T_1026; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221215.4]
+  wire [5:0] _T_996; // @[RocketCore.scala 938:66:shc.marmotcaravel.MarmotCaravelConfig.fir@221185.4]
+  wire [3:0] _T_1002; // @[RocketCore.scala 940:57:shc.marmotcaravel.MarmotCaravelConfig.fir@221191.4]
+  wire [3:0] _T_1005; // @[RocketCore.scala 941:52:shc.marmotcaravel.MarmotCaravelConfig.fir@221194.4]
+  wire [9:0] _T_1018; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221207.4]
+  wire [10:0] _T_1019; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221208.4]
+  wire [31:0] _T_1027; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221216.4]
+  wire [31:0] _T_1028; // @[RocketCore.scala 946:53:shc.marmotcaravel.MarmotCaravelConfig.fir@221217.4]
+  wire [7:0] _T_1083; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221272.4]
+  wire  _T_1082; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221271.4]
+  wire [8:0] _T_1084; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221273.4]
+  wire [20:0] _T_1088; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221277.4]
+  wire [9:0] _T_1080; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221269.4]
+  wire [10:0] _T_1081; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221270.4]
+  wire [31:0] _T_1089; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221278.4]
+  wire [31:0] _T_1090; // @[RocketCore.scala 946:53:shc.marmotcaravel.MarmotCaravelConfig.fir@221279.4]
+  wire [3:0] _T_1091; // @[RocketCore.scala 447:8:shc.marmotcaravel.MarmotCaravelConfig.fir@221280.4]
+  wire [31:0] _T_1092; // @[RocketCore.scala 446:8:shc.marmotcaravel.MarmotCaravelConfig.fir@221281.4]
+  wire [31:0] _T_1093; // @[RocketCore.scala 445:8:shc.marmotcaravel.MarmotCaravelConfig.fir@221282.4]
+  wire [31:0] _T_1095; // @[RocketCore.scala 444:41:shc.marmotcaravel.MarmotCaravelConfig.fir@221284.4]
+  wire [31:0] mem_br_target; // @[RocketCore.scala 444:41:shc.marmotcaravel.MarmotCaravelConfig.fir@221285.4]
+  wire [31:0] _T_1098; // @[RocketCore.scala 448:21:shc.marmotcaravel.MarmotCaravelConfig.fir@221288.4]
+  wire [31:0] _T_1099; // @[RocketCore.scala 448:129:shc.marmotcaravel.MarmotCaravelConfig.fir@221289.4]
+  wire [31:0] _T_1100; // @[RocketCore.scala 448:129:shc.marmotcaravel.MarmotCaravelConfig.fir@221290.4]
+  wire [31:0] mem_npc; // @[RocketCore.scala 448:141:shc.marmotcaravel.MarmotCaravelConfig.fir@221291.4]
+  wire  _T_1101; // @[RocketCore.scala 450:30:shc.marmotcaravel.MarmotCaravelConfig.fir@221292.4]
+  wire  _T_1102; // @[RocketCore.scala 451:31:shc.marmotcaravel.MarmotCaravelConfig.fir@221293.4]
+  wire  _T_1103; // @[RocketCore.scala 451:62:shc.marmotcaravel.MarmotCaravelConfig.fir@221294.4]
+  wire  _T_1104; // @[RocketCore.scala 451:8:shc.marmotcaravel.MarmotCaravelConfig.fir@221295.4]
+  wire  mem_wrong_npc; // @[RocketCore.scala 450:8:shc.marmotcaravel.MarmotCaravelConfig.fir@221296.4]
+  wire  _T_1120; // @[RocketCore.scala 458:54:shc.marmotcaravel.MarmotCaravelConfig.fir@221317.4]
+  wire  take_pc_mem; // @[RocketCore.scala 458:32:shc.marmotcaravel.MarmotCaravelConfig.fir@221318.4]
+  wire  take_pc_mem_wb; // @[RocketCore.scala 218:35:shc.marmotcaravel.MarmotCaravelConfig.fir@220309.4]
+  wire [31:0] _T_263; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220318.4]
+  wire  _T_264; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220319.4]
+  wire [31:0] _T_265; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220320.4]
+  wire  _T_266; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220321.4]
+  wire [31:0] _T_267; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220322.4]
+  wire  _T_268; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220323.4]
+  wire [31:0] _T_269; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220324.4]
+  wire  _T_270; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220325.4]
+  wire [31:0] _T_271; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220326.4]
+  wire  _T_272; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220327.4]
+  wire [31:0] _T_273; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220328.4]
+  wire  _T_274; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220329.4]
+  wire [31:0] _T_275; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220330.4]
+  wire  _T_276; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220331.4]
+  wire [31:0] _T_277; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220332.4]
+  wire  _T_278; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220333.4]
+  wire [31:0] _T_279; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220334.4]
+  wire  _T_280; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220335.4]
+  wire [31:0] _T_281; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220336.4]
+  wire  _T_282; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220337.4]
+  wire  _T_284; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220339.4]
+  wire [31:0] _T_285; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220340.4]
+  wire  _T_286; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220341.4]
+  wire  _T_288; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220343.4]
+  wire [31:0] _T_289; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220344.4]
+  wire  _T_290; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220345.4]
+  wire [31:0] _T_291; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220346.4]
+  wire  _T_292; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220347.4]
+  wire [31:0] _T_293; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220348.4]
+  wire  _T_294; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220349.4]
+  wire  _T_295; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220350.4]
+  wire  _T_296; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220351.4]
+  wire  _T_297; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220352.4]
+  wire [31:0] _T_298; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220353.4]
+  wire  _T_299; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220354.4]
+  wire [31:0] _T_300; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220355.4]
+  wire  _T_301; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220356.4]
+  wire [31:0] _T_302; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220357.4]
+  wire  _T_303; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220358.4]
+  wire  _T_305; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220360.4]
+  wire  _T_307; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220362.4]
+  wire  _T_308; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220363.4]
+  wire  _T_309; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220364.4]
+  wire  _T_310; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220365.4]
+  wire  _T_311; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220366.4]
+  wire  _T_312; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220367.4]
+  wire  _T_313; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220368.4]
+  wire  _T_314; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220369.4]
+  wire  _T_315; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220370.4]
+  wire  _T_316; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220371.4]
+  wire  _T_317; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220372.4]
+  wire  _T_318; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220373.4]
+  wire  _T_319; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220374.4]
+  wire  _T_320; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220375.4]
+  wire  _T_321; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220376.4]
+  wire  _T_322; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220377.4]
+  wire  _T_323; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220378.4]
+  wire  _T_324; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220379.4]
+  wire  _T_325; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220380.4]
+  wire  _T_326; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220381.4]
+  wire  _T_327; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220382.4]
+  wire  id_ctrl_legal; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220383.4]
+  wire [31:0] _T_329; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220384.4]
+  wire  id_ctrl_branch; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220385.4]
+  wire [31:0] _T_332; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220387.4]
+  wire  id_ctrl_jal; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220388.4]
+  wire [31:0] _T_335; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220390.4]
+  wire  id_ctrl_jalr; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220391.4]
+  wire [31:0] _T_338; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220393.4]
+  wire  _T_339; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220394.4]
+  wire [31:0] _T_340; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220395.4]
+  wire  _T_341; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220396.4]
+  wire [31:0] _T_342; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220397.4]
+  wire  _T_343; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220398.4]
+  wire  _T_345; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220400.4]
+  wire  id_ctrl_rxs2; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220401.4]
+  wire [31:0] _T_347; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220402.4]
+  wire  _T_348; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220403.4]
+  wire [31:0] _T_349; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220404.4]
+  wire  _T_350; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220405.4]
+  wire [31:0] _T_351; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220406.4]
+  wire  _T_352; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220407.4]
+  wire [31:0] _T_353; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220408.4]
+  wire  _T_354; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220409.4]
+  wire  _T_356; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220411.4]
+  wire  _T_357; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220412.4]
+  wire  id_ctrl_rxs1; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220413.4]
+  wire [31:0] _T_359; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220414.4]
+  wire  _T_360; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220415.4]
+  wire [31:0] _T_361; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220416.4]
+  wire  _T_362; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220417.4]
+  wire [31:0] _T_363; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220418.4]
+  wire  _T_364; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220419.4]
+  wire [31:0] _T_365; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220420.4]
+  wire  _T_366; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220421.4]
+  wire  _T_368; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220423.4]
+  wire  _T_369; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220424.4]
+  wire  _T_370; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220425.4]
+  wire  _T_371; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220426.4]
+  wire  _T_373; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220428.4]
+  wire [31:0] _T_374; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220429.4]
+  wire  _T_375; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220430.4]
+  wire  _T_377; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220432.4]
+  wire  _T_378; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220433.4]
+  wire [1:0] id_ctrl_sel_alu2; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220434.4]
+  wire [31:0] _T_380; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220435.4]
+  wire  _T_381; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220436.4]
+  wire  _T_383; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220438.4]
+  wire  _T_384; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220439.4]
+  wire  _T_385; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220440.4]
+  wire [31:0] _T_386; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220441.4]
+  wire  _T_387; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220442.4]
+  wire  _T_389; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220444.4]
+  wire [1:0] id_ctrl_sel_alu1; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220445.4]
+  wire [31:0] _T_391; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220446.4]
+  wire  _T_392; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220447.4]
+  wire  _T_394; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220449.4]
+  wire  _T_396; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220451.4]
+  wire  _T_398; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220453.4]
+  wire  _T_400; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220455.4]
+  wire [31:0] _T_401; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220456.4]
+  wire  _T_402; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220457.4]
+  wire [31:0] _T_403; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220458.4]
+  wire  _T_404; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220459.4]
+  wire  _T_406; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220461.4]
+  wire  _T_407; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220462.4]
+  wire [1:0] _T_408; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220463.4]
+  wire [2:0] id_ctrl_sel_imm; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220464.4]
+  wire [31:0] _T_413; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220468.4]
+  wire  _T_414; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220469.4]
+  wire [31:0] _T_415; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220470.4]
+  wire  _T_416; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220471.4]
+  wire [31:0] _T_417; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220472.4]
+  wire  _T_418; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220473.4]
+  wire [31:0] _T_419; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220474.4]
+  wire  _T_420; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220475.4]
+  wire  _T_422; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220477.4]
+  wire  _T_423; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220478.4]
+  wire  _T_424; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220479.4]
+  wire [31:0] _T_425; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220480.4]
+  wire  _T_426; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220481.4]
+  wire [31:0] _T_427; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220482.4]
+  wire  _T_428; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220483.4]
+  wire [31:0] _T_429; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220484.4]
+  wire  _T_430; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220485.4]
+  wire [31:0] _T_431; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220486.4]
+  wire  _T_432; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220487.4]
+  wire [31:0] _T_433; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220488.4]
+  wire  _T_434; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220489.4]
+  wire [31:0] _T_435; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220490.4]
+  wire  _T_436; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220491.4]
+  wire [31:0] _T_437; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220492.4]
+  wire  _T_438; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220493.4]
+  wire  _T_440; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220495.4]
+  wire  _T_441; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220496.4]
+  wire  _T_442; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220497.4]
+  wire  _T_443; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220498.4]
+  wire  _T_444; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220499.4]
+  wire  _T_445; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220500.4]
+  wire [31:0] _T_446; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220501.4]
+  wire  _T_447; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220502.4]
+  wire [31:0] _T_448; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220503.4]
+  wire  _T_449; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220504.4]
+  wire [31:0] _T_450; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220505.4]
+  wire  _T_451; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220506.4]
+  wire [31:0] _T_452; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220507.4]
+  wire  _T_453; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220508.4]
+  wire [31:0] _T_454; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220509.4]
+  wire  _T_455; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220510.4]
+  wire  _T_457; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220512.4]
+  wire  _T_458; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220513.4]
+  wire  _T_459; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220514.4]
+  wire  _T_460; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220515.4]
+  wire [31:0] _T_461; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220516.4]
+  wire  _T_462; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220517.4]
+  wire [31:0] _T_463; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220518.4]
+  wire  _T_464; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220519.4]
+  wire [31:0] _T_465; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220520.4]
+  wire  _T_466; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220521.4]
+  wire  _T_468; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220523.4]
+  wire  _T_469; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220524.4]
+  wire  _T_470; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220525.4]
+  wire  _T_471; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220526.4]
+  wire [1:0] _T_472; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220527.4]
+  wire [1:0] _T_473; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220528.4]
+  wire [3:0] id_ctrl_alu_fn; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220529.4]
+  wire [31:0] _T_475; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220530.4]
+  wire  _T_476; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220531.4]
+  wire  _T_478; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220533.4]
+  wire  _T_479; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220534.4]
+  wire  _T_480; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220535.4]
+  wire  _T_481; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220536.4]
+  wire  _T_482; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220537.4]
+  wire  id_ctrl_mem; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220538.4]
+  wire [31:0] _T_484; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220539.4]
+  wire  _T_485; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220540.4]
+  wire [31:0] _T_486; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220541.4]
+  wire  _T_487; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220542.4]
+  wire [31:0] _T_488; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220543.4]
+  wire  _T_489; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220544.4]
+  wire [31:0] _T_490; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220545.4]
+  wire  _T_491; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220546.4]
+  wire  _T_493; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220548.4]
+  wire  _T_494; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220549.4]
+  wire  _T_495; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220550.4]
+  wire [31:0] _T_496; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220551.4]
+  wire  _T_497; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220552.4]
+  wire [31:0] _T_498; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220553.4]
+  wire  _T_499; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220554.4]
+  wire  _T_501; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220556.4]
+  wire [31:0] _T_502; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220557.4]
+  wire  _T_503; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220558.4]
+  wire [31:0] _T_504; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220559.4]
+  wire  _T_505; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220560.4]
+  wire [31:0] _T_506; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220561.4]
+  wire  _T_507; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220562.4]
+  wire  _T_509; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220564.4]
+  wire  _T_510; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220565.4]
+  wire  _T_511; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220566.4]
+  wire [31:0] _T_512; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220567.4]
+  wire  _T_513; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220568.4]
+  wire [1:0] _T_515; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220570.4]
+  wire [1:0] _T_516; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220571.4]
+  wire [2:0] _T_517; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220572.4]
+  wire [4:0] id_ctrl_mem_cmd; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220573.4]
+  wire [31:0] _T_519; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220574.4]
+  wire  _T_520; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220575.4]
+  wire [31:0] _T_522; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220577.4]
+  wire  _T_523; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220578.4]
+  wire [31:0] _T_525; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220580.4]
+  wire  _T_526; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220581.4]
+  wire [1:0] _T_528; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220583.4]
+  wire [2:0] id_ctrl_mem_type; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220584.4]
+  wire [31:0] _T_530; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220585.4]
+  wire  id_ctrl_div; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220586.4]
+  wire  _T_534; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220589.4]
+  wire  _T_536; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220591.4]
+  wire [31:0] _T_537; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220592.4]
+  wire  _T_538; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220593.4]
+  wire  _T_540; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220595.4]
+  wire [31:0] _T_541; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220596.4]
+  wire  _T_542; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220597.4]
+  wire  _T_544; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220599.4]
+  wire  _T_545; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220600.4]
+  wire  _T_546; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220601.4]
+  wire  _T_547; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220602.4]
+  wire  _T_548; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220603.4]
+  wire  id_ctrl_wxd; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220604.4]
+  wire [31:0] _T_550; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220605.4]
+  wire  _T_551; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220606.4]
+  wire  _T_554; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220609.4]
+  wire  _T_557; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220612.4]
+  wire [1:0] _T_559; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220614.4]
+  wire [2:0] id_ctrl_csr; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220615.4]
+  wire [31:0] _T_561; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220616.4]
+  wire  id_ctrl_fence_i; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220617.4]
+  wire [31:0] _T_564; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220619.4]
+  wire  id_ctrl_fence; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220620.4]
+  wire [31:0] _T_567; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220622.4]
+  wire  id_ctrl_amo; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220623.4]
+  reg  id_reg_fence; // @[RocketCore.scala 236:25:shc.marmotcaravel.MarmotCaravelConfig.fir@220656.4]
+  reg [31:0] _RAND_78;
+  wire  _T_577; // @[RocketCore.scala 917:45:shc.marmotcaravel.MarmotCaravelConfig.fir@220660.4]
+  wire [4:0] _T_579; // @[RocketCore.scala 911:44:shc.marmotcaravel.MarmotCaravelConfig.fir@220662.4]
+  wire [31:0] _T_582; // @[RocketCore.scala 917:25:shc.marmotcaravel.MarmotCaravelConfig.fir@220665.4]
+  wire [4:0] _T_587; // @[RocketCore.scala 911:44:shc.marmotcaravel.MarmotCaravelConfig.fir@220671.4]
+  wire [31:0] _T_590; // @[RocketCore.scala 917:25:shc.marmotcaravel.MarmotCaravelConfig.fir@220674.4]
+  wire  _T_661; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@220749.4]
+  wire  _T_662; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@220750.4]
+  wire  _T_663; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@220751.4]
+  wire  _T_664; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@220752.4]
+  wire  id_csr_en; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@220753.4]
+  wire  id_system_insn; // @[RocketCore.scala 246:36:shc.marmotcaravel.MarmotCaravelConfig.fir@220754.4]
+  wire  id_csr_ren; // @[RocketCore.scala 247:54:shc.marmotcaravel.MarmotCaravelConfig.fir@220759.4]
+  wire  _T_669; // @[RocketCore.scala 249:50:shc.marmotcaravel.MarmotCaravelConfig.fir@220761.4]
+  wire  id_sfence; // @[RocketCore.scala 249:31:shc.marmotcaravel.MarmotCaravelConfig.fir@220762.4]
+  wire  _T_670; // @[RocketCore.scala 250:32:shc.marmotcaravel.MarmotCaravelConfig.fir@220763.4]
+  wire  _T_671; // @[RocketCore.scala 250:67:shc.marmotcaravel.MarmotCaravelConfig.fir@220764.4]
+  wire  _T_672; // @[RocketCore.scala 250:64:shc.marmotcaravel.MarmotCaravelConfig.fir@220765.4]
+  wire  _T_673; // @[RocketCore.scala 250:79:shc.marmotcaravel.MarmotCaravelConfig.fir@220766.4]
+  wire  id_csr_flush; // @[RocketCore.scala 250:50:shc.marmotcaravel.MarmotCaravelConfig.fir@220767.4]
+  wire  _T_674; // @[RocketCore.scala 258:25:shc.marmotcaravel.MarmotCaravelConfig.fir@220768.4]
+  wire  _T_676; // @[RocketCore.scala 259:55:shc.marmotcaravel.MarmotCaravelConfig.fir@220770.4]
+  wire  _T_677; // @[RocketCore.scala 259:37:shc.marmotcaravel.MarmotCaravelConfig.fir@220771.4]
+  wire  _T_678; // @[RocketCore.scala 259:34:shc.marmotcaravel.MarmotCaravelConfig.fir@220772.4]
+  wire  _T_679; // @[RocketCore.scala 258:40:shc.marmotcaravel.MarmotCaravelConfig.fir@220773.4]
+  wire  _T_680; // @[RocketCore.scala 260:38:shc.marmotcaravel.MarmotCaravelConfig.fir@220774.4]
+  wire  _T_681; // @[RocketCore.scala 260:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220775.4]
+  wire  _T_682; // @[RocketCore.scala 260:17:shc.marmotcaravel.MarmotCaravelConfig.fir@220776.4]
+  wire  _T_683; // @[RocketCore.scala 259:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220777.4]
+  wire  _T_691; // @[RocketCore.scala 263:51:shc.marmotcaravel.MarmotCaravelConfig.fir@220785.4]
+  wire  _T_692; // @[RocketCore.scala 263:33:shc.marmotcaravel.MarmotCaravelConfig.fir@220786.4]
+  wire  _T_693; // @[RocketCore.scala 263:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220787.4]
+  wire  _T_694; // @[RocketCore.scala 262:47:shc.marmotcaravel.MarmotCaravelConfig.fir@220788.4]
+  wire  _T_700; // @[RocketCore.scala 266:64:shc.marmotcaravel.MarmotCaravelConfig.fir@220794.4]
+  wire  _T_701; // @[RocketCore.scala 266:49:shc.marmotcaravel.MarmotCaravelConfig.fir@220795.4]
+  wire  _T_702; // @[RocketCore.scala 266:15:shc.marmotcaravel.MarmotCaravelConfig.fir@220796.4]
+  wire  id_illegal_insn; // @[RocketCore.scala 265:73:shc.marmotcaravel.MarmotCaravelConfig.fir@220797.4]
+  wire  id_amo_aq; // @[RocketCore.scala 269:29:shc.marmotcaravel.MarmotCaravelConfig.fir@220803.4]
+  wire  id_amo_rl; // @[RocketCore.scala 270:29:shc.marmotcaravel.MarmotCaravelConfig.fir@220804.4]
+  wire  _T_708; // @[RocketCore.scala 271:52:shc.marmotcaravel.MarmotCaravelConfig.fir@220805.4]
+  wire  id_fence_next; // @[RocketCore.scala 271:37:shc.marmotcaravel.MarmotCaravelConfig.fir@220806.4]
+  wire  _T_709; // @[RocketCore.scala 272:21:shc.marmotcaravel.MarmotCaravelConfig.fir@220807.4]
+  wire  id_mem_busy; // @[RocketCore.scala 272:38:shc.marmotcaravel.MarmotCaravelConfig.fir@220808.4]
+  wire  _T_710; // @[RocketCore.scala 273:9:shc.marmotcaravel.MarmotCaravelConfig.fir@220809.4]
+  wire  _T_718; // @[RocketCore.scala 278:33:shc.marmotcaravel.MarmotCaravelConfig.fir@220821.4]
+  wire  _T_719; // @[RocketCore.scala 278:46:shc.marmotcaravel.MarmotCaravelConfig.fir@220822.4]
+  wire  _T_721; // @[RocketCore.scala 278:81:shc.marmotcaravel.MarmotCaravelConfig.fir@220824.4]
+  wire  _T_722; // @[RocketCore.scala 278:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220825.4]
+  wire  id_do_fence; // @[RocketCore.scala 278:17:shc.marmotcaravel.MarmotCaravelConfig.fir@220826.4]
+  wire  _T_726; // @[RocketCore.scala 870:26:shc.marmotcaravel.MarmotCaravelConfig.fir@220839.4]
+  wire  _T_727; // @[RocketCore.scala 870:26:shc.marmotcaravel.MarmotCaravelConfig.fir@220840.4]
+  wire  _T_728; // @[RocketCore.scala 870:26:shc.marmotcaravel.MarmotCaravelConfig.fir@220841.4]
+  wire  _T_729; // @[RocketCore.scala 870:26:shc.marmotcaravel.MarmotCaravelConfig.fir@220842.4]
+  wire  _T_730; // @[RocketCore.scala 870:26:shc.marmotcaravel.MarmotCaravelConfig.fir@220843.4]
+  wire  _T_731; // @[RocketCore.scala 870:26:shc.marmotcaravel.MarmotCaravelConfig.fir@220844.4]
+  wire  id_xcpt; // @[RocketCore.scala 870:26:shc.marmotcaravel.MarmotCaravelConfig.fir@220845.4]
+  wire [1:0] _T_732; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@220846.4]
+  wire [3:0] _T_733; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@220847.4]
+  wire [3:0] _T_734; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@220848.4]
+  wire [3:0] _T_735; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@220849.4]
+  wire [3:0] _T_736; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@220850.4]
+  wire [3:0] _T_737; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@220851.4]
+  wire [4:0] ex_waddr; // @[RocketCore.scala 313:29:shc.marmotcaravel.MarmotCaravelConfig.fir@220864.4]
+  wire [4:0] mem_waddr; // @[RocketCore.scala 314:31:shc.marmotcaravel.MarmotCaravelConfig.fir@220865.4]
+  wire [4:0] wb_waddr; // @[RocketCore.scala 315:29:shc.marmotcaravel.MarmotCaravelConfig.fir@220866.4]
+  wire  _T_748; // @[RocketCore.scala 318:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220867.4]
+  wire  _T_749; // @[RocketCore.scala 319:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220868.4]
+  wire  _T_750; // @[RocketCore.scala 319:39:shc.marmotcaravel.MarmotCaravelConfig.fir@220869.4]
+  wire  _T_751; // @[RocketCore.scala 319:36:shc.marmotcaravel.MarmotCaravelConfig.fir@220870.4]
+  wire  _T_753; // @[RocketCore.scala 321:82:shc.marmotcaravel.MarmotCaravelConfig.fir@220872.4]
+  wire  _T_755; // @[RocketCore.scala 321:82:shc.marmotcaravel.MarmotCaravelConfig.fir@220874.4]
+  wire  _T_756; // @[RocketCore.scala 321:74:shc.marmotcaravel.MarmotCaravelConfig.fir@220875.4]
+  wire  _T_757; // @[RocketCore.scala 321:82:shc.marmotcaravel.MarmotCaravelConfig.fir@220876.4]
+  wire  _T_758; // @[RocketCore.scala 321:74:shc.marmotcaravel.MarmotCaravelConfig.fir@220877.4]
+  wire  _T_760; // @[RocketCore.scala 321:74:shc.marmotcaravel.MarmotCaravelConfig.fir@220879.4]
+  wire  _T_761; // @[RocketCore.scala 321:82:shc.marmotcaravel.MarmotCaravelConfig.fir@220880.4]
+  wire  _T_763; // @[RocketCore.scala 321:82:shc.marmotcaravel.MarmotCaravelConfig.fir@220882.4]
+  wire  _T_764; // @[RocketCore.scala 321:74:shc.marmotcaravel.MarmotCaravelConfig.fir@220883.4]
+  wire  _T_765; // @[RocketCore.scala 321:82:shc.marmotcaravel.MarmotCaravelConfig.fir@220884.4]
+  wire  _T_766; // @[RocketCore.scala 321:74:shc.marmotcaravel.MarmotCaravelConfig.fir@220885.4]
+  wire  _T_768; // @[RocketCore.scala 321:74:shc.marmotcaravel.MarmotCaravelConfig.fir@220887.4]
+  reg  ex_reg_rs_bypass_0; // @[RocketCore.scala 325:29:shc.marmotcaravel.MarmotCaravelConfig.fir@220888.4]
+  reg [31:0] _RAND_79;
+  reg  ex_reg_rs_bypass_1; // @[RocketCore.scala 325:29:shc.marmotcaravel.MarmotCaravelConfig.fir@220888.4]
+  reg [31:0] _RAND_80;
+  reg [1:0] ex_reg_rs_lsb_0; // @[RocketCore.scala 326:26:shc.marmotcaravel.MarmotCaravelConfig.fir@220889.4]
+  reg [31:0] _RAND_81;
+  reg [1:0] ex_reg_rs_lsb_1; // @[RocketCore.scala 326:26:shc.marmotcaravel.MarmotCaravelConfig.fir@220889.4]
+  reg [31:0] _RAND_82;
+  reg [29:0] ex_reg_rs_msb_0; // @[RocketCore.scala 327:26:shc.marmotcaravel.MarmotCaravelConfig.fir@220890.4]
+  reg [31:0] _RAND_83;
+  reg [29:0] ex_reg_rs_msb_1; // @[RocketCore.scala 327:26:shc.marmotcaravel.MarmotCaravelConfig.fir@220890.4]
+  reg [31:0] _RAND_84;
+  wire  _T_790; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@220891.4]
+  wire [31:0] _T_791; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220892.4]
+  wire  _T_792; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@220893.4]
+  wire [31:0] _T_793; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220894.4]
+  wire  _T_794; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@220895.4]
+  wire [31:0] _T_795; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220896.4]
+  wire [31:0] _T_796; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220897.4]
+  wire [31:0] _T_797; // @[RocketCore.scala 329:14:shc.marmotcaravel.MarmotCaravelConfig.fir@220898.4]
+  wire  _T_798; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@220899.4]
+  wire [31:0] _T_799; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220900.4]
+  wire  _T_800; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@220901.4]
+  wire [31:0] _T_801; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220902.4]
+  wire  _T_802; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@220903.4]
+  wire [31:0] _T_803; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220904.4]
+  wire [31:0] _T_804; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220905.4]
+  wire [31:0] _T_805; // @[RocketCore.scala 329:14:shc.marmotcaravel.MarmotCaravelConfig.fir@220906.4]
+  wire  _T_806; // @[RocketCore.scala 932:24:shc.marmotcaravel.MarmotCaravelConfig.fir@220907.4]
+  wire  _T_807; // @[RocketCore.scala 932:48:shc.marmotcaravel.MarmotCaravelConfig.fir@220908.4]
+  wire  _T_808; // @[RocketCore.scala 932:53:shc.marmotcaravel.MarmotCaravelConfig.fir@220909.4]
+  wire  _T_809; // @[RocketCore.scala 932:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220910.4]
+  wire  _T_810; // @[RocketCore.scala 933:26:shc.marmotcaravel.MarmotCaravelConfig.fir@220911.4]
+  wire [10:0] _T_811; // @[RocketCore.scala 933:41:shc.marmotcaravel.MarmotCaravelConfig.fir@220912.4]
+  wire [10:0] _T_812; // @[RocketCore.scala 933:49:shc.marmotcaravel.MarmotCaravelConfig.fir@220913.4]
+  wire [10:0] _T_813; // @[RocketCore.scala 933:21:shc.marmotcaravel.MarmotCaravelConfig.fir@220914.4]
+  wire  _T_814; // @[RocketCore.scala 934:26:shc.marmotcaravel.MarmotCaravelConfig.fir@220915.4]
+  wire  _T_815; // @[RocketCore.scala 934:43:shc.marmotcaravel.MarmotCaravelConfig.fir@220916.4]
+  wire  _T_816; // @[RocketCore.scala 934:36:shc.marmotcaravel.MarmotCaravelConfig.fir@220917.4]
+  wire [7:0] _T_817; // @[RocketCore.scala 934:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220918.4]
+  wire [7:0] _T_818; // @[RocketCore.scala 934:73:shc.marmotcaravel.MarmotCaravelConfig.fir@220919.4]
+  wire [7:0] _T_819; // @[RocketCore.scala 934:21:shc.marmotcaravel.MarmotCaravelConfig.fir@220920.4]
+  wire  _T_822; // @[RocketCore.scala 935:33:shc.marmotcaravel.MarmotCaravelConfig.fir@220923.4]
+  wire  _T_823; // @[RocketCore.scala 936:23:shc.marmotcaravel.MarmotCaravelConfig.fir@220924.4]
+  wire  _T_824; // @[RocketCore.scala 936:39:shc.marmotcaravel.MarmotCaravelConfig.fir@220925.4]
+  wire  _T_825; // @[RocketCore.scala 936:44:shc.marmotcaravel.MarmotCaravelConfig.fir@220926.4]
+  wire  _T_826; // @[RocketCore.scala 937:23:shc.marmotcaravel.MarmotCaravelConfig.fir@220927.4]
+  wire  _T_827; // @[RocketCore.scala 937:39:shc.marmotcaravel.MarmotCaravelConfig.fir@220928.4]
+  wire  _T_828; // @[RocketCore.scala 937:43:shc.marmotcaravel.MarmotCaravelConfig.fir@220929.4]
+  wire  _T_829; // @[RocketCore.scala 937:18:shc.marmotcaravel.MarmotCaravelConfig.fir@220930.4]
+  wire  _T_830; // @[RocketCore.scala 936:18:shc.marmotcaravel.MarmotCaravelConfig.fir@220931.4]
+  wire  _T_831; // @[RocketCore.scala 935:18:shc.marmotcaravel.MarmotCaravelConfig.fir@220932.4]
+  wire [5:0] _T_835; // @[RocketCore.scala 938:66:shc.marmotcaravel.MarmotCaravelConfig.fir@220936.4]
+  wire [5:0] _T_836; // @[RocketCore.scala 938:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220937.4]
+  wire  _T_838; // @[RocketCore.scala 940:24:shc.marmotcaravel.MarmotCaravelConfig.fir@220939.4]
+  wire  _T_840; // @[RocketCore.scala 940:34:shc.marmotcaravel.MarmotCaravelConfig.fir@220941.4]
+  wire [3:0] _T_841; // @[RocketCore.scala 940:57:shc.marmotcaravel.MarmotCaravelConfig.fir@220942.4]
+  wire [3:0] _T_843; // @[RocketCore.scala 941:39:shc.marmotcaravel.MarmotCaravelConfig.fir@220944.4]
+  wire [3:0] _T_844; // @[RocketCore.scala 941:52:shc.marmotcaravel.MarmotCaravelConfig.fir@220945.4]
+  wire [3:0] _T_845; // @[RocketCore.scala 941:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220946.4]
+  wire [3:0] _T_846; // @[RocketCore.scala 940:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220947.4]
+  wire [3:0] _T_847; // @[RocketCore.scala 939:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220948.4]
+  wire  _T_850; // @[RocketCore.scala 943:22:shc.marmotcaravel.MarmotCaravelConfig.fir@220951.4]
+  wire  _T_853; // @[RocketCore.scala 944:37:shc.marmotcaravel.MarmotCaravelConfig.fir@220954.4]
+  wire  _T_854; // @[RocketCore.scala 944:17:shc.marmotcaravel.MarmotCaravelConfig.fir@220955.4]
+  wire  _T_855; // @[RocketCore.scala 943:17:shc.marmotcaravel.MarmotCaravelConfig.fir@220956.4]
+  wire  _T_856; // @[RocketCore.scala 942:17:shc.marmotcaravel.MarmotCaravelConfig.fir@220957.4]
+  wire [9:0] _T_857; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220958.4]
+  wire [10:0] _T_858; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220959.4]
+  wire  _T_859; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220960.4]
+  wire [7:0] _T_860; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220961.4]
+  wire [8:0] _T_861; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220962.4]
+  wire [10:0] _T_862; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220963.4]
+  wire  _T_863; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220964.4]
+  wire [11:0] _T_864; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220965.4]
+  wire [20:0] _T_865; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220966.4]
+  wire [31:0] _T_866; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220967.4]
+  wire [31:0] ex_imm; // @[RocketCore.scala 946:53:shc.marmotcaravel.MarmotCaravelConfig.fir@220968.4]
+  wire [31:0] _T_867; // @[RocketCore.scala 332:24:shc.marmotcaravel.MarmotCaravelConfig.fir@220969.4]
+  wire [31:0] _T_868; // @[RocketCore.scala 333:24:shc.marmotcaravel.MarmotCaravelConfig.fir@220970.4]
+  wire  _T_869; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220971.4]
+  wire [31:0] _T_870; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@220972.4]
+  wire  _T_871; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220973.4]
+  wire [31:0] ex_op1; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@220974.4]
+  wire [31:0] _T_872; // @[RocketCore.scala 335:24:shc.marmotcaravel.MarmotCaravelConfig.fir@220975.4]
+  wire [3:0] _T_873; // @[RocketCore.scala 337:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220976.4]
+  wire  _T_874; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220977.4]
+  wire [3:0] _T_875; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@220978.4]
+  wire  _T_876; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220979.4]
+  wire [31:0] _T_877; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@220980.4]
+  wire  _T_878; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220981.4]
+  wire [31:0] ex_op2; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@220982.4]
+  wire  _T_1494; // @[RocketCore.scala 702:17:shc.marmotcaravel.MarmotCaravelConfig.fir@221842.4]
+  wire  _T_1495; // @[RocketCore.scala 702:40:shc.marmotcaravel.MarmotCaravelConfig.fir@221843.4]
+  wire  _T_1496; // @[RocketCore.scala 702:71:shc.marmotcaravel.MarmotCaravelConfig.fir@221844.4]
+  wire  _T_1333; // @[RocketCore.scala 634:55:shc.marmotcaravel.MarmotCaravelConfig.fir@221658.4]
+  wire  _T_1334; // @[RocketCore.scala 634:42:shc.marmotcaravel.MarmotCaravelConfig.fir@221659.4]
+  wire  _T_1381; // @[RocketCore.scala 654:70:shc.marmotcaravel.MarmotCaravelConfig.fir@221713.4]
+  wire  _T_1382; // @[RocketCore.scala 879:27:shc.marmotcaravel.MarmotCaravelConfig.fir@221714.4]
+  wire  _T_1335; // @[RocketCore.scala 635:55:shc.marmotcaravel.MarmotCaravelConfig.fir@221660.4]
+  wire  _T_1336; // @[RocketCore.scala 635:42:shc.marmotcaravel.MarmotCaravelConfig.fir@221661.4]
+  wire  _T_1383; // @[RocketCore.scala 654:70:shc.marmotcaravel.MarmotCaravelConfig.fir@221715.4]
+  wire  _T_1384; // @[RocketCore.scala 879:27:shc.marmotcaravel.MarmotCaravelConfig.fir@221716.4]
+  wire  _T_1387; // @[RocketCore.scala 879:50:shc.marmotcaravel.MarmotCaravelConfig.fir@221719.4]
+  wire  _T_1337; // @[RocketCore.scala 636:55:shc.marmotcaravel.MarmotCaravelConfig.fir@221662.4]
+  wire  _T_1338; // @[RocketCore.scala 636:42:shc.marmotcaravel.MarmotCaravelConfig.fir@221663.4]
+  wire  _T_1385; // @[RocketCore.scala 654:70:shc.marmotcaravel.MarmotCaravelConfig.fir@221717.4]
+  wire  _T_1386; // @[RocketCore.scala 879:27:shc.marmotcaravel.MarmotCaravelConfig.fir@221718.4]
+  wire  _T_1388; // @[RocketCore.scala 879:50:shc.marmotcaravel.MarmotCaravelConfig.fir@221720.4]
+  wire  data_hazard_ex; // @[RocketCore.scala 654:36:shc.marmotcaravel.MarmotCaravelConfig.fir@221721.4]
+  wire  _T_1375; // @[RocketCore.scala 653:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221706.4]
+  wire  _T_1376; // @[RocketCore.scala 653:48:shc.marmotcaravel.MarmotCaravelConfig.fir@221707.4]
+  wire  _T_1377; // @[RocketCore.scala 653:64:shc.marmotcaravel.MarmotCaravelConfig.fir@221708.4]
+  wire  ex_cannot_bypass; // @[RocketCore.scala 653:94:shc.marmotcaravel.MarmotCaravelConfig.fir@221710.4]
+  wire  _T_1400; // @[RocketCore.scala 656:54:shc.marmotcaravel.MarmotCaravelConfig.fir@221734.4]
+  wire  id_ex_hazard; // @[RocketCore.scala 656:35:shc.marmotcaravel.MarmotCaravelConfig.fir@221736.4]
+  wire  _T_1408; // @[RocketCore.scala 663:72:shc.marmotcaravel.MarmotCaravelConfig.fir@221745.4]
+  wire  _T_1409; // @[RocketCore.scala 879:27:shc.marmotcaravel.MarmotCaravelConfig.fir@221746.4]
+  wire  _T_1410; // @[RocketCore.scala 663:72:shc.marmotcaravel.MarmotCaravelConfig.fir@221747.4]
+  wire  _T_1411; // @[RocketCore.scala 879:27:shc.marmotcaravel.MarmotCaravelConfig.fir@221748.4]
+  wire  _T_1414; // @[RocketCore.scala 879:50:shc.marmotcaravel.MarmotCaravelConfig.fir@221751.4]
+  wire  _T_1412; // @[RocketCore.scala 663:72:shc.marmotcaravel.MarmotCaravelConfig.fir@221749.4]
+  wire  _T_1413; // @[RocketCore.scala 879:27:shc.marmotcaravel.MarmotCaravelConfig.fir@221750.4]
+  wire  _T_1415; // @[RocketCore.scala 879:50:shc.marmotcaravel.MarmotCaravelConfig.fir@221752.4]
+  wire  data_hazard_mem; // @[RocketCore.scala 663:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221753.4]
+  wire  _T_1402; // @[RocketCore.scala 662:40:shc.marmotcaravel.MarmotCaravelConfig.fir@221738.4]
+  wire  _T_1403; // @[RocketCore.scala 662:66:shc.marmotcaravel.MarmotCaravelConfig.fir@221739.4]
+  wire  _T_1404; // @[RocketCore.scala 662:50:shc.marmotcaravel.MarmotCaravelConfig.fir@221740.4]
+  wire  _T_1405; // @[RocketCore.scala 662:84:shc.marmotcaravel.MarmotCaravelConfig.fir@221741.4]
+  wire  _T_1406; // @[RocketCore.scala 662:100:shc.marmotcaravel.MarmotCaravelConfig.fir@221742.4]
+  wire  _T_1407; // @[RocketCore.scala 662:116:shc.marmotcaravel.MarmotCaravelConfig.fir@221743.4]
+  wire  mem_cannot_bypass; // @[RocketCore.scala 662:131:shc.marmotcaravel.MarmotCaravelConfig.fir@221744.4]
+  wire  _T_1427; // @[RocketCore.scala 665:57:shc.marmotcaravel.MarmotCaravelConfig.fir@221766.4]
+  wire  id_mem_hazard; // @[RocketCore.scala 665:37:shc.marmotcaravel.MarmotCaravelConfig.fir@221768.4]
+  wire  _T_1467; // @[RocketCore.scala 692:18:shc.marmotcaravel.MarmotCaravelConfig.fir@221814.4]
+  wire  _T_1431; // @[RocketCore.scala 669:70:shc.marmotcaravel.MarmotCaravelConfig.fir@221772.4]
+  wire  _T_1432; // @[RocketCore.scala 879:27:shc.marmotcaravel.MarmotCaravelConfig.fir@221773.4]
+  wire  _T_1433; // @[RocketCore.scala 669:70:shc.marmotcaravel.MarmotCaravelConfig.fir@221774.4]
+  wire  _T_1434; // @[RocketCore.scala 879:27:shc.marmotcaravel.MarmotCaravelConfig.fir@221775.4]
+  wire  _T_1437; // @[RocketCore.scala 879:50:shc.marmotcaravel.MarmotCaravelConfig.fir@221778.4]
+  wire  _T_1435; // @[RocketCore.scala 669:70:shc.marmotcaravel.MarmotCaravelConfig.fir@221776.4]
+  wire  _T_1436; // @[RocketCore.scala 879:27:shc.marmotcaravel.MarmotCaravelConfig.fir@221777.4]
+  wire  _T_1438; // @[RocketCore.scala 879:50:shc.marmotcaravel.MarmotCaravelConfig.fir@221779.4]
+  wire  data_hazard_wb; // @[RocketCore.scala 669:36:shc.marmotcaravel.MarmotCaravelConfig.fir@221780.4]
+  wire  _T_924; // @[RocketCore.scala 426:39:shc.marmotcaravel.MarmotCaravelConfig.fir@221108.4]
+  wire  wb_dcache_miss; // @[RocketCore.scala 426:36:shc.marmotcaravel.MarmotCaravelConfig.fir@221109.4]
+  wire  _T_1271; // @[RocketCore.scala 562:35:shc.marmotcaravel.MarmotCaravelConfig.fir@221533.4]
+  wire  wb_set_sboard; // @[RocketCore.scala 562:53:shc.marmotcaravel.MarmotCaravelConfig.fir@221534.4]
+  wire  _T_1450; // @[RocketCore.scala 671:54:shc.marmotcaravel.MarmotCaravelConfig.fir@221793.4]
+  wire  id_wb_hazard; // @[RocketCore.scala 671:35:shc.marmotcaravel.MarmotCaravelConfig.fir@221795.4]
+  wire  _T_1468; // @[RocketCore.scala 692:35:shc.marmotcaravel.MarmotCaravelConfig.fir@221815.4]
+  reg [31:0] _T_1340; // @[RocketCore.scala 896:25:shc.marmotcaravel.MarmotCaravelConfig.fir@221664.4]
+  reg [31:0] _RAND_85;
+  wire [30:0] _T_1341; // @[RocketCore.scala 897:35:shc.marmotcaravel.MarmotCaravelConfig.fir@221665.4]
+  wire [31:0] _GEN_240; // @[RocketCore.scala 897:40:shc.marmotcaravel.MarmotCaravelConfig.fir@221666.4]
+  wire [31:0] _T_1342; // @[RocketCore.scala 897:40:shc.marmotcaravel.MarmotCaravelConfig.fir@221666.4]
+  wire [31:0] _T_1348; // @[RocketCore.scala 893:35:shc.marmotcaravel.MarmotCaravelConfig.fir@221675.4]
+  wire  _T_1349; // @[RocketCore.scala 893:35:shc.marmotcaravel.MarmotCaravelConfig.fir@221676.4]
+  wire  dmem_resp_valid; // @[RocketCore.scala 572:44:shc.marmotcaravel.MarmotCaravelConfig.fir@221550.4]
+  wire  dmem_resp_replay; // @[RocketCore.scala 573:42:shc.marmotcaravel.MarmotCaravelConfig.fir@221551.4]
+  wire  _T_1277; // @[RocketCore.scala 569:45:shc.marmotcaravel.MarmotCaravelConfig.fir@221544.4]
+  wire  dmem_resp_xpu; // @[RocketCore.scala 569:23:shc.marmotcaravel.MarmotCaravelConfig.fir@221546.4]
+  wire  _T_1285; // @[RocketCore.scala 588:26:shc.marmotcaravel.MarmotCaravelConfig.fir@221564.4]
+  wire  _T_1283; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@221560.4]
+  wire  ll_wen; // @[RocketCore.scala 588:44:shc.marmotcaravel.MarmotCaravelConfig.fir@221565.4]
+  wire [4:0] dmem_resp_waddr; // @[RocketCore.scala 571:46:shc.marmotcaravel.MarmotCaravelConfig.fir@221549.4]
+  wire [4:0] ll_waddr; // @[RocketCore.scala 588:44:shc.marmotcaravel.MarmotCaravelConfig.fir@221565.4]
+  wire  _T_1350; // @[RocketCore.scala 646:70:shc.marmotcaravel.MarmotCaravelConfig.fir@221677.4]
+  wire  _T_1351; // @[RocketCore.scala 646:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221678.4]
+  wire  _T_1352; // @[RocketCore.scala 649:80:shc.marmotcaravel.MarmotCaravelConfig.fir@221679.4]
+  wire  _T_1353; // @[RocketCore.scala 649:77:shc.marmotcaravel.MarmotCaravelConfig.fir@221680.4]
+  wire  _T_1354; // @[RocketCore.scala 879:27:shc.marmotcaravel.MarmotCaravelConfig.fir@221681.4]
+  wire [31:0] _T_1355; // @[RocketCore.scala 893:35:shc.marmotcaravel.MarmotCaravelConfig.fir@221682.4]
+  wire  _T_1356; // @[RocketCore.scala 893:35:shc.marmotcaravel.MarmotCaravelConfig.fir@221683.4]
+  wire  _T_1357; // @[RocketCore.scala 646:70:shc.marmotcaravel.MarmotCaravelConfig.fir@221684.4]
+  wire  _T_1358; // @[RocketCore.scala 646:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221685.4]
+  wire  _T_1359; // @[RocketCore.scala 649:80:shc.marmotcaravel.MarmotCaravelConfig.fir@221686.4]
+  wire  _T_1360; // @[RocketCore.scala 649:77:shc.marmotcaravel.MarmotCaravelConfig.fir@221687.4]
+  wire  _T_1361; // @[RocketCore.scala 879:27:shc.marmotcaravel.MarmotCaravelConfig.fir@221688.4]
+  wire  _T_1369; // @[RocketCore.scala 879:50:shc.marmotcaravel.MarmotCaravelConfig.fir@221696.4]
+  wire [31:0] _T_1362; // @[RocketCore.scala 893:35:shc.marmotcaravel.MarmotCaravelConfig.fir@221689.4]
+  wire  _T_1363; // @[RocketCore.scala 893:35:shc.marmotcaravel.MarmotCaravelConfig.fir@221690.4]
+  wire  _T_1364; // @[RocketCore.scala 646:70:shc.marmotcaravel.MarmotCaravelConfig.fir@221691.4]
+  wire  _T_1365; // @[RocketCore.scala 646:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221692.4]
+  wire  _T_1366; // @[RocketCore.scala 649:80:shc.marmotcaravel.MarmotCaravelConfig.fir@221693.4]
+  wire  _T_1367; // @[RocketCore.scala 649:77:shc.marmotcaravel.MarmotCaravelConfig.fir@221694.4]
+  wire  _T_1368; // @[RocketCore.scala 879:27:shc.marmotcaravel.MarmotCaravelConfig.fir@221695.4]
+  wire  id_sboard_hazard; // @[RocketCore.scala 879:50:shc.marmotcaravel.MarmotCaravelConfig.fir@221697.4]
+  wire  _T_1469; // @[RocketCore.scala 692:51:shc.marmotcaravel.MarmotCaravelConfig.fir@221816.4]
+  wire  _T_1470; // @[RocketCore.scala 693:40:shc.marmotcaravel.MarmotCaravelConfig.fir@221817.4]
+  wire  _T_1471; // @[RocketCore.scala 693:57:shc.marmotcaravel.MarmotCaravelConfig.fir@221818.4]
+  wire  _T_1472; // @[RocketCore.scala 693:23:shc.marmotcaravel.MarmotCaravelConfig.fir@221819.4]
+  wire  _T_1473; // @[RocketCore.scala 692:71:shc.marmotcaravel.MarmotCaravelConfig.fir@221820.4]
+  reg  blocked; // @[RocketCore.scala 684:22:shc.marmotcaravel.MarmotCaravelConfig.fir@221796.4]
+  reg [31:0] _RAND_86;
+  wire  _T_1460; // @[RocketCore.scala 686:16:shc.marmotcaravel.MarmotCaravelConfig.fir@221805.4]
+  wire  dcache_blocked; // @[RocketCore.scala 686:13:shc.marmotcaravel.MarmotCaravelConfig.fir@221806.4]
+  wire  _T_1480; // @[RocketCore.scala 696:17:shc.marmotcaravel.MarmotCaravelConfig.fir@221827.4]
+  wire  _T_1481; // @[RocketCore.scala 695:32:shc.marmotcaravel.MarmotCaravelConfig.fir@221828.4]
+  wire  wb_wxd; // @[RocketCore.scala 561:29:shc.marmotcaravel.MarmotCaravelConfig.fir@221532.4]
+  wire  _T_1484; // @[RocketCore.scala 698:65:shc.marmotcaravel.MarmotCaravelConfig.fir@221831.4]
+  wire  _T_1485; // @[RocketCore.scala 698:62:shc.marmotcaravel.MarmotCaravelConfig.fir@221832.4]
+  wire  _T_1486; // @[RocketCore.scala 698:40:shc.marmotcaravel.MarmotCaravelConfig.fir@221833.4]
+  wire  _T_1487; // @[RocketCore.scala 698:21:shc.marmotcaravel.MarmotCaravelConfig.fir@221834.4]
+  wire  _T_1488; // @[RocketCore.scala 698:75:shc.marmotcaravel.MarmotCaravelConfig.fir@221835.4]
+  wire  _T_1489; // @[RocketCore.scala 698:17:shc.marmotcaravel.MarmotCaravelConfig.fir@221836.4]
+  wire  _T_1490; // @[RocketCore.scala 697:34:shc.marmotcaravel.MarmotCaravelConfig.fir@221837.4]
+  wire  _T_1493; // @[RocketCore.scala 699:15:shc.marmotcaravel.MarmotCaravelConfig.fir@221840.4]
+  wire  ctrl_stalld; // @[RocketCore.scala 700:17:shc.marmotcaravel.MarmotCaravelConfig.fir@221841.4]
+  wire  _T_1497; // @[RocketCore.scala 702:89:shc.marmotcaravel.MarmotCaravelConfig.fir@221845.4]
+  wire  ctrl_killd; // @[RocketCore.scala 702:104:shc.marmotcaravel.MarmotCaravelConfig.fir@221846.4]
+  wire  _T_882; // @[RocketCore.scala 368:19:shc.marmotcaravel.MarmotCaravelConfig.fir@221004.4]
+  wire  _T_883; // @[RocketCore.scala 369:20:shc.marmotcaravel.MarmotCaravelConfig.fir@221006.4]
+  wire  _T_884; // @[RocketCore.scala 369:29:shc.marmotcaravel.MarmotCaravelConfig.fir@221007.4]
+  wire [1:0] _T_892; // @[RocketCore.scala 383:22:shc.marmotcaravel.MarmotCaravelConfig.fir@221030.8]
+  wire  _T_893; // @[RocketCore.scala 383:29:shc.marmotcaravel.MarmotCaravelConfig.fir@221031.8]
+  wire [1:0] _T_894; // @[RocketCore.scala 388:40:shc.marmotcaravel.MarmotCaravelConfig.fir@221037.8]
+  wire  _T_895; // @[RocketCore.scala 388:47:shc.marmotcaravel.MarmotCaravelConfig.fir@221038.8]
+  wire  _T_896; // @[RocketCore.scala 388:28:shc.marmotcaravel.MarmotCaravelConfig.fir@221039.8]
+  wire  _T_897; // @[RocketCore.scala 393:42:shc.marmotcaravel.MarmotCaravelConfig.fir@221045.6]
+  wire [1:0] _T_900; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221051.8]
+  wire  _T_901; // @[RocketCore.scala 400:48:shc.marmotcaravel.MarmotCaravelConfig.fir@221054.6]
+  wire  _T_902; // @[RocketCore.scala 400:48:shc.marmotcaravel.MarmotCaravelConfig.fir@221055.6]
+  wire  do_bypass; // @[RocketCore.scala 400:48:shc.marmotcaravel.MarmotCaravelConfig.fir@221056.6]
+  wire  _T_905; // @[RocketCore.scala 404:26:shc.marmotcaravel.MarmotCaravelConfig.fir@221062.6]
+  wire  _T_906; // @[RocketCore.scala 404:23:shc.marmotcaravel.MarmotCaravelConfig.fir@221063.6]
+  wire  _T_1286; // @[RocketCore.scala 596:34:shc.marmotcaravel.MarmotCaravelConfig.fir@221570.4]
+  wire  _T_1287; // @[RocketCore.scala 596:31:shc.marmotcaravel.MarmotCaravelConfig.fir@221571.4]
+  wire  _T_1288; // @[RocketCore.scala 596:48:shc.marmotcaravel.MarmotCaravelConfig.fir@221572.4]
+  wire  wb_valid; // @[RocketCore.scala 596:45:shc.marmotcaravel.MarmotCaravelConfig.fir@221573.4]
+  wire  wb_wen; // @[RocketCore.scala 597:25:shc.marmotcaravel.MarmotCaravelConfig.fir@221574.4]
+  wire  rf_wen; // @[RocketCore.scala 598:23:shc.marmotcaravel.MarmotCaravelConfig.fir@221575.4]
+  wire [4:0] rf_waddr; // @[RocketCore.scala 599:21:shc.marmotcaravel.MarmotCaravelConfig.fir@221576.4]
+  wire  _T_1295; // @[RocketCore.scala 922:16:shc.marmotcaravel.MarmotCaravelConfig.fir@221585.6]
+  wire  _T_1299; // @[RocketCore.scala 925:20:shc.marmotcaravel.MarmotCaravelConfig.fir@221591.8]
+  wire  _T_1289; // @[RocketCore.scala 600:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221577.4]
+  wire [31:0] ll_wdata; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221554.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@221556.4]
+  wire  _T_1291; // @[RocketCore.scala 602:34:shc.marmotcaravel.MarmotCaravelConfig.fir@221579.4]
+  wire [31:0] _T_1293; // @[RocketCore.scala 602:21:shc.marmotcaravel.MarmotCaravelConfig.fir@221581.4]
+  wire [31:0] _T_1294; // @[RocketCore.scala 601:21:shc.marmotcaravel.MarmotCaravelConfig.fir@221582.4]
+  wire [31:0] rf_wdata; // @[RocketCore.scala 600:21:shc.marmotcaravel.MarmotCaravelConfig.fir@221583.4]
+  wire [31:0] _GEN_214; // @[RocketCore.scala 925:31:shc.marmotcaravel.MarmotCaravelConfig.fir@221592.8]
+  wire [31:0] _GEN_221; // @[RocketCore.scala 922:29:shc.marmotcaravel.MarmotCaravelConfig.fir@221586.6]
+  wire [31:0] _GEN_228; // @[RocketCore.scala 605:17:shc.marmotcaravel.MarmotCaravelConfig.fir@221584.4]
+  wire [1:0] _T_907; // @[RocketCore.scala 405:37:shc.marmotcaravel.MarmotCaravelConfig.fir@221065.8]
+  wire [29:0] _T_908; // @[RocketCore.scala 406:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221067.8]
+  wire  _T_909; // @[RocketCore.scala 400:48:shc.marmotcaravel.MarmotCaravelConfig.fir@221070.6]
+  wire  _T_910; // @[RocketCore.scala 400:48:shc.marmotcaravel.MarmotCaravelConfig.fir@221071.6]
+  wire  do_bypass_1; // @[RocketCore.scala 400:48:shc.marmotcaravel.MarmotCaravelConfig.fir@221072.6]
+  wire  _T_913; // @[RocketCore.scala 404:26:shc.marmotcaravel.MarmotCaravelConfig.fir@221078.6]
+  wire  _T_914; // @[RocketCore.scala 404:23:shc.marmotcaravel.MarmotCaravelConfig.fir@221079.6]
+  wire  _T_1300; // @[RocketCore.scala 925:20:shc.marmotcaravel.MarmotCaravelConfig.fir@221595.8]
+  wire [31:0] _GEN_215; // @[RocketCore.scala 925:31:shc.marmotcaravel.MarmotCaravelConfig.fir@221596.8]
+  wire [31:0] _GEN_222; // @[RocketCore.scala 922:29:shc.marmotcaravel.MarmotCaravelConfig.fir@221586.6]
+  wire [31:0] _GEN_229; // @[RocketCore.scala 605:17:shc.marmotcaravel.MarmotCaravelConfig.fir@221584.4]
+  wire [1:0] _T_915; // @[RocketCore.scala 405:37:shc.marmotcaravel.MarmotCaravelConfig.fir@221081.8]
+  wire [29:0] _T_916; // @[RocketCore.scala 406:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221083.8]
+  wire [15:0] _T_917; // @[RocketCore.scala 410:62:shc.marmotcaravel.MarmotCaravelConfig.fir@221087.8]
+  wire [31:0] inst; // @[RocketCore.scala 410:21:shc.marmotcaravel.MarmotCaravelConfig.fir@221088.8]
+  wire [1:0] _T_918; // @[RocketCore.scala 412:31:shc.marmotcaravel.MarmotCaravelConfig.fir@221090.8]
+  wire [29:0] _T_919; // @[RocketCore.scala 413:32:shc.marmotcaravel.MarmotCaravelConfig.fir@221092.8]
+  wire  _T_1429; // @[RocketCore.scala 666:32:shc.marmotcaravel.MarmotCaravelConfig.fir@221769.4]
+  wire  id_load_use; // @[RocketCore.scala 666:51:shc.marmotcaravel.MarmotCaravelConfig.fir@221770.4]
+  wire  _T_921; // @[RocketCore.scala 416:21:shc.marmotcaravel.MarmotCaravelConfig.fir@221097.4]
+  wire  _T_922; // @[RocketCore.scala 416:41:shc.marmotcaravel.MarmotCaravelConfig.fir@221098.4]
+  wire  _T_925; // @[RocketCore.scala 427:45:shc.marmotcaravel.MarmotCaravelConfig.fir@221110.4]
+  wire  _T_926; // @[RocketCore.scala 427:42:shc.marmotcaravel.MarmotCaravelConfig.fir@221111.4]
+  wire  _T_927; // @[RocketCore.scala 428:45:shc.marmotcaravel.MarmotCaravelConfig.fir@221112.4]
+  wire  _T_928; // @[RocketCore.scala 428:42:shc.marmotcaravel.MarmotCaravelConfig.fir@221113.4]
+  wire  replay_ex_structural; // @[RocketCore.scala 427:64:shc.marmotcaravel.MarmotCaravelConfig.fir@221114.4]
+  wire  replay_ex_load_use; // @[RocketCore.scala 429:43:shc.marmotcaravel.MarmotCaravelConfig.fir@221115.4]
+  wire  _T_929; // @[RocketCore.scala 430:75:shc.marmotcaravel.MarmotCaravelConfig.fir@221116.4]
+  wire  _T_930; // @[RocketCore.scala 430:50:shc.marmotcaravel.MarmotCaravelConfig.fir@221117.4]
+  wire  replay_ex; // @[RocketCore.scala 430:33:shc.marmotcaravel.MarmotCaravelConfig.fir@221118.4]
+  wire  _T_931; // @[RocketCore.scala 431:35:shc.marmotcaravel.MarmotCaravelConfig.fir@221119.4]
+  wire  _T_932; // @[RocketCore.scala 431:51:shc.marmotcaravel.MarmotCaravelConfig.fir@221120.4]
+  wire  ctrl_killx; // @[RocketCore.scala 431:48:shc.marmotcaravel.MarmotCaravelConfig.fir@221121.4]
+  wire  _T_933; // @[RocketCore.scala 433:40:shc.marmotcaravel.MarmotCaravelConfig.fir@221122.4]
+  wire  _T_944; // @[RocketCore.scala 433:91:shc.marmotcaravel.MarmotCaravelConfig.fir@221129.4]
+  wire  _T_945; // @[RocketCore.scala 433:91:shc.marmotcaravel.MarmotCaravelConfig.fir@221130.4]
+  wire  _T_946; // @[RocketCore.scala 433:91:shc.marmotcaravel.MarmotCaravelConfig.fir@221131.4]
+  wire  _T_947; // @[RocketCore.scala 433:91:shc.marmotcaravel.MarmotCaravelConfig.fir@221132.4]
+  wire  _T_949; // @[RocketCore.scala 433:91:shc.marmotcaravel.MarmotCaravelConfig.fir@221134.4]
+  wire  _T_950; // @[RocketCore.scala 433:91:shc.marmotcaravel.MarmotCaravelConfig.fir@221135.4]
+  wire  _T_951; // @[RocketCore.scala 433:91:shc.marmotcaravel.MarmotCaravelConfig.fir@221136.4]
+  wire  ex_slow_bypass; // @[RocketCore.scala 433:50:shc.marmotcaravel.MarmotCaravelConfig.fir@221137.4]
+  wire  ex_xcpt; // @[RocketCore.scala 437:28:shc.marmotcaravel.MarmotCaravelConfig.fir@221141.4]
+  wire  _T_964; // @[RocketCore.scala 443:36:shc.marmotcaravel.MarmotCaravelConfig.fir@221152.4]
+  wire  mem_pc_valid; // @[RocketCore.scala 443:54:shc.marmotcaravel.MarmotCaravelConfig.fir@221153.4]
+  wire  _T_1107; // @[RocketCore.scala 452:66:shc.marmotcaravel.MarmotCaravelConfig.fir@221299.4]
+  wire  _T_1108; // @[RocketCore.scala 452:56:shc.marmotcaravel.MarmotCaravelConfig.fir@221300.4]
+  wire  _T_1109; // @[RocketCore.scala 452:73:shc.marmotcaravel.MarmotCaravelConfig.fir@221301.4]
+  wire  mem_npc_misaligned; // @[RocketCore.scala 452:70:shc.marmotcaravel.MarmotCaravelConfig.fir@221302.4]
+  wire  _T_1110; // @[RocketCore.scala 453:27:shc.marmotcaravel.MarmotCaravelConfig.fir@221303.4]
+  wire  _T_1111; // @[RocketCore.scala 453:59:shc.marmotcaravel.MarmotCaravelConfig.fir@221304.4]
+  wire  _T_1112; // @[RocketCore.scala 453:41:shc.marmotcaravel.MarmotCaravelConfig.fir@221305.4]
+  wire [31:0] _T_1114; // @[RocketCore.scala 453:26:shc.marmotcaravel.MarmotCaravelConfig.fir@221307.4]
+  wire [31:0] mem_int_wdata; // @[RocketCore.scala 453:119:shc.marmotcaravel.MarmotCaravelConfig.fir@221308.4]
+  wire  _T_1115; // @[RocketCore.scala 454:33:shc.marmotcaravel.MarmotCaravelConfig.fir@221309.4]
+  wire  mem_cfi; // @[RocketCore.scala 454:50:shc.marmotcaravel.MarmotCaravelConfig.fir@221310.4]
+  wire  _T_1117; // @[RocketCore.scala 455:57:shc.marmotcaravel.MarmotCaravelConfig.fir@221312.4]
+  wire  mem_cfi_taken; // @[RocketCore.scala 455:74:shc.marmotcaravel.MarmotCaravelConfig.fir@221313.4]
+  wire  _T_1122; // @[RocketCore.scala 460:20:shc.marmotcaravel.MarmotCaravelConfig.fir@221320.4]
+  wire  _T_1129; // @[RocketCore.scala 467:23:shc.marmotcaravel.MarmotCaravelConfig.fir@221331.4]
+  wire  _T_1130; // @[Consts.scala 93:31:shc.marmotcaravel.MarmotCaravelConfig.fir@221339.8]
+  wire  _T_1131; // @[Consts.scala 93:48:shc.marmotcaravel.MarmotCaravelConfig.fir@221340.8]
+  wire  _T_1132; // @[Consts.scala 93:41:shc.marmotcaravel.MarmotCaravelConfig.fir@221341.8]
+  wire  _T_1134; // @[Consts.scala 93:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221343.8]
+  wire  _T_1135; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@221344.8]
+  wire  _T_1136; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@221345.8]
+  wire  _T_1137; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@221346.8]
+  wire  _T_1138; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@221347.8]
+  wire  _T_1139; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@221348.8]
+  wire  _T_1140; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@221349.8]
+  wire  _T_1141; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@221350.8]
+  wire  _T_1142; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@221351.8]
+  wire  _T_1143; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@221352.8]
+  wire  _T_1144; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@221353.8]
+  wire  _T_1145; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@221354.8]
+  wire  _T_1146; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@221355.8]
+  wire  _T_1147; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@221356.8]
+  wire  _T_1148; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@221357.8]
+  wire  _T_1149; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@221358.8]
+  wire  _T_1150; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@221359.8]
+  wire  _T_1151; // @[Consts.scala 91:44:shc.marmotcaravel.MarmotCaravelConfig.fir@221360.8]
+  wire  _T_1152; // @[Consts.scala 93:75:shc.marmotcaravel.MarmotCaravelConfig.fir@221361.8]
+  wire  _T_1153; // @[RocketCore.scala 472:33:shc.marmotcaravel.MarmotCaravelConfig.fir@221362.8]
+  wire  _T_1154; // @[Consts.scala 94:32:shc.marmotcaravel.MarmotCaravelConfig.fir@221364.8]
+  wire  _T_1155; // @[Consts.scala 94:49:shc.marmotcaravel.MarmotCaravelConfig.fir@221365.8]
+  wire  _T_1156; // @[Consts.scala 94:42:shc.marmotcaravel.MarmotCaravelConfig.fir@221366.8]
+  wire  _T_1158; // @[Consts.scala 94:59:shc.marmotcaravel.MarmotCaravelConfig.fir@221368.8]
+  wire  _T_1176; // @[Consts.scala 94:76:shc.marmotcaravel.MarmotCaravelConfig.fir@221386.8]
+  wire  _T_1177; // @[RocketCore.scala 473:34:shc.marmotcaravel.MarmotCaravelConfig.fir@221387.8]
+  wire  _T_1180; // @[RocketCore.scala 486:24:shc.marmotcaravel.MarmotCaravelConfig.fir@221401.8]
+  wire [1:0] _T_1181; // @[AMOALU.scala 10:17:shc.marmotcaravel.MarmotCaravelConfig.fir@221404.10]
+  wire  _T_1182; // @[AMOALU.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@221405.10]
+  wire [7:0] _T_1183; // @[AMOALU.scala 26:66:shc.marmotcaravel.MarmotCaravelConfig.fir@221406.10]
+  wire [15:0] _T_1184; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221407.10]
+  wire [31:0] _T_1185; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221408.10]
+  wire  _T_1186; // @[AMOALU.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@221409.10]
+  wire [15:0] _T_1187; // @[AMOALU.scala 26:66:shc.marmotcaravel.MarmotCaravelConfig.fir@221410.10]
+  wire [31:0] _T_1188; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221411.10]
+  wire  _T_1191; // @[RocketCore.scala 490:24:shc.marmotcaravel.MarmotCaravelConfig.fir@221416.8]
+  wire  _T_1192; // @[RocketCore.scala 497:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221422.4]
+  wire  _T_1193; // @[RocketCore.scala 497:75:shc.marmotcaravel.MarmotCaravelConfig.fir@221423.4]
+  wire  mem_breakpoint; // @[RocketCore.scala 497:57:shc.marmotcaravel.MarmotCaravelConfig.fir@221424.4]
+  wire  _T_1194; // @[RocketCore.scala 498:44:shc.marmotcaravel.MarmotCaravelConfig.fir@221425.4]
+  wire  _T_1195; // @[RocketCore.scala 498:82:shc.marmotcaravel.MarmotCaravelConfig.fir@221426.4]
+  wire  mem_debug_breakpoint; // @[RocketCore.scala 498:64:shc.marmotcaravel.MarmotCaravelConfig.fir@221427.4]
+  wire  mem_ldst_xcpt; // @[RocketCore.scala 870:26:shc.marmotcaravel.MarmotCaravelConfig.fir@221428.4]
+  wire [3:0] mem_ldst_cause; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@221429.4]
+  wire  _T_1196; // @[RocketCore.scala 504:29:shc.marmotcaravel.MarmotCaravelConfig.fir@221430.4]
+  wire  _T_1197; // @[RocketCore.scala 505:20:shc.marmotcaravel.MarmotCaravelConfig.fir@221431.4]
+  wire  _T_1198; // @[RocketCore.scala 506:20:shc.marmotcaravel.MarmotCaravelConfig.fir@221432.4]
+  wire  _T_1199; // @[RocketCore.scala 870:26:shc.marmotcaravel.MarmotCaravelConfig.fir@221433.4]
+  wire  mem_xcpt; // @[RocketCore.scala 870:26:shc.marmotcaravel.MarmotCaravelConfig.fir@221434.4]
+  wire [3:0] _T_1200; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@221435.4]
+  wire  dcache_kill_mem; // @[RocketCore.scala 515:55:shc.marmotcaravel.MarmotCaravelConfig.fir@221450.4]
+  wire  replay_mem; // @[RocketCore.scala 517:37:shc.marmotcaravel.MarmotCaravelConfig.fir@221453.4]
+  wire  _T_1216; // @[RocketCore.scala 518:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221455.4]
+  wire  _T_1217; // @[RocketCore.scala 518:52:shc.marmotcaravel.MarmotCaravelConfig.fir@221456.4]
+  wire  _T_1218; // @[RocketCore.scala 518:71:shc.marmotcaravel.MarmotCaravelConfig.fir@221457.4]
+  wire  killm_common; // @[RocketCore.scala 518:68:shc.marmotcaravel.MarmotCaravelConfig.fir@221458.4]
+  reg  _T_1221; // @[RocketCore.scala 519:37:shc.marmotcaravel.MarmotCaravelConfig.fir@221460.4]
+  reg [31:0] _RAND_87;
+  wire  ctrl_killm; // @[RocketCore.scala 520:33:shc.marmotcaravel.MarmotCaravelConfig.fir@221464.4]
+  wire  _T_1224; // @[RocketCore.scala 523:19:shc.marmotcaravel.MarmotCaravelConfig.fir@221466.4]
+  wire  _T_1225; // @[RocketCore.scala 524:34:shc.marmotcaravel.MarmotCaravelConfig.fir@221468.4]
+  wire  _T_1232; // @[RocketCore.scala 530:39:shc.marmotcaravel.MarmotCaravelConfig.fir@221481.6]
+  wire  _T_1233; // @[RocketCore.scala 530:54:shc.marmotcaravel.MarmotCaravelConfig.fir@221482.6]
+  wire [2:0] _T_1253; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@221512.4]
+  wire [3:0] _T_1254; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@221513.4]
+  wire [3:0] _T_1255; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@221514.4]
+  wire [3:0] _T_1256; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@221515.4]
+  wire [3:0] _T_1257; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@221516.4]
+  wire [31:0] wb_cause; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@221517.4]
+  wire  _T_1258; // @[RocketCore.scala 874:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221518.4]
+  wire  _T_1260; // @[RocketCore.scala 874:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221520.4]
+  wire  _T_1262; // @[RocketCore.scala 874:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221522.4]
+  wire  _T_1264; // @[RocketCore.scala 874:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221524.4]
+  wire  _T_1266; // @[RocketCore.scala 874:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221526.4]
+  wire  _T_1268; // @[RocketCore.scala 874:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221528.4]
+  wire [1:0] _T_1302; // @[RocketCore.scala 613:66:shc.marmotcaravel.MarmotCaravelConfig.fir@221607.4]
+  wire [1:0] _T_1303; // @[RocketCore.scala 613:73:shc.marmotcaravel.MarmotCaravelConfig.fir@221608.4]
+  wire  _T_1304; // @[RocketCore.scala 613:73:shc.marmotcaravel.MarmotCaravelConfig.fir@221609.4]
+  wire [15:0] _T_1305; // @[RocketCore.scala 613:91:shc.marmotcaravel.MarmotCaravelConfig.fir@221610.4]
+  wire [15:0] _T_1306; // @[RocketCore.scala 613:50:shc.marmotcaravel.MarmotCaravelConfig.fir@221611.4]
+  wire [15:0] _T_1307; // @[RocketCore.scala 613:119:shc.marmotcaravel.MarmotCaravelConfig.fir@221612.4]
+  wire  _T_1309; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@221621.4]
+  wire  _T_1310; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@221622.4]
+  wire  _T_1315; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@221627.4]
+  wire  _T_1318; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@221630.4]
+  wire  _T_1319; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@221631.4]
+  wire  _T_1320; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@221632.4]
+  wire  _T_1321; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@221633.4]
+  wire  _T_1322; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@221634.4]
+  wire  _T_1323; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@221635.4]
+  wire  _T_1324; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@221636.4]
+  wire  _T_1325; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@221637.4]
+  wire  _T_1326; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@221638.4]
+  wire  _T_1327; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@221639.4]
+  wire  tval_valid; // @[RocketCore.scala 620:28:shc.marmotcaravel.MarmotCaravelConfig.fir@221640.4]
+  wire [2:0] _T_1330; // @[CSR.scala 128:15:shc.marmotcaravel.MarmotCaravelConfig.fir@221652.4]
+  wire [2:0] _T_1331; // @[CSR.scala 128:11:shc.marmotcaravel.MarmotCaravelConfig.fir@221653.4]
+  wire [31:0] _T_1343; // @[RocketCore.scala 900:62:shc.marmotcaravel.MarmotCaravelConfig.fir@221667.4]
+  wire [31:0] _T_1344; // @[RocketCore.scala 900:49:shc.marmotcaravel.MarmotCaravelConfig.fir@221668.4]
+  wire [31:0] _T_1345; // @[RocketCore.scala 892:64:shc.marmotcaravel.MarmotCaravelConfig.fir@221669.4]
+  wire [31:0] _T_1346; // @[RocketCore.scala 892:62:shc.marmotcaravel.MarmotCaravelConfig.fir@221670.4]
+  wire  _T_1370; // @[RocketCore.scala 650:28:shc.marmotcaravel.MarmotCaravelConfig.fir@221698.4]
+  wire [31:0] _T_1371; // @[RocketCore.scala 900:62:shc.marmotcaravel.MarmotCaravelConfig.fir@221699.4]
+  wire [31:0] _T_1372; // @[RocketCore.scala 900:49:shc.marmotcaravel.MarmotCaravelConfig.fir@221700.4]
+  wire [31:0] _T_1373; // @[RocketCore.scala 891:60:shc.marmotcaravel.MarmotCaravelConfig.fir@221701.4]
+  wire  _T_1374; // @[RocketCore.scala 903:17:shc.marmotcaravel.MarmotCaravelConfig.fir@221702.4]
+  wire  _T_1454; // @[RocketCore.scala 685:35:shc.marmotcaravel.MarmotCaravelConfig.fir@221798.4]
+  wire  _T_1456; // @[RocketCore.scala 685:60:shc.marmotcaravel.MarmotCaravelConfig.fir@221800.4]
+  wire  _T_1457; // @[RocketCore.scala 685:95:shc.marmotcaravel.MarmotCaravelConfig.fir@221801.4]
+  wire  _T_1458; // @[RocketCore.scala 685:116:shc.marmotcaravel.MarmotCaravelConfig.fir@221802.4]
+  wire  _T_1500; // @[RocketCore.scala 707:17:shc.marmotcaravel.MarmotCaravelConfig.fir@221851.4]
+  wire [31:0] _T_1501; // @[RocketCore.scala 708:8:shc.marmotcaravel.MarmotCaravelConfig.fir@221852.4]
+  wire  _T_1503; // @[RocketCore.scala 710:40:shc.marmotcaravel.MarmotCaravelConfig.fir@221855.4]
+  wire  _T_1504; // @[RocketCore.scala 710:62:shc.marmotcaravel.MarmotCaravelConfig.fir@221856.4]
+  wire  _T_1506; // @[RocketCore.scala 712:43:shc.marmotcaravel.MarmotCaravelConfig.fir@221859.4]
+  wire  _T_1507; // @[CustomCSRs.scala 38:61:shc.marmotcaravel.MarmotCaravelConfig.fir@221860.4]
+  wire  _T_1514; // @[RocketCore.scala 724:45:shc.marmotcaravel.MarmotCaravelConfig.fir@221876.4]
+  wire  _T_1515; // @[RocketCore.scala 724:60:shc.marmotcaravel.MarmotCaravelConfig.fir@221877.4]
+  wire  _T_1516; // @[RocketCore.scala 724:81:shc.marmotcaravel.MarmotCaravelConfig.fir@221878.4]
+  wire  _T_1517; // @[RocketCore.scala 724:90:shc.marmotcaravel.MarmotCaravelConfig.fir@221879.4]
+  wire  _T_1519; // @[RocketCore.scala 727:23:shc.marmotcaravel.MarmotCaravelConfig.fir@221883.4]
+  wire  _T_1520; // @[RocketCore.scala 727:53:shc.marmotcaravel.MarmotCaravelConfig.fir@221884.4]
+  wire  _T_1521; // @[RocketCore.scala 727:41:shc.marmotcaravel.MarmotCaravelConfig.fir@221885.4]
+  wire [4:0] _T_1522; // @[RocketCore.scala 728:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221886.4]
+  wire [4:0] _T_1523; // @[RocketCore.scala 728:46:shc.marmotcaravel.MarmotCaravelConfig.fir@221887.4]
+  wire  _T_1524; // @[RocketCore.scala 728:46:shc.marmotcaravel.MarmotCaravelConfig.fir@221888.4]
+  wire  _T_1525; // @[RocketCore.scala 728:23:shc.marmotcaravel.MarmotCaravelConfig.fir@221889.4]
+  wire [1:0] _T_1528; // @[RocketCore.scala 728:8:shc.marmotcaravel.MarmotCaravelConfig.fir@221892.4]
+  wire [1:0] _T_1530; // @[RocketCore.scala 732:74:shc.marmotcaravel.MarmotCaravelConfig.fir@221896.4]
+  wire [31:0] _GEN_241; // @[RocketCore.scala 732:69:shc.marmotcaravel.MarmotCaravelConfig.fir@221897.4]
+  wire [31:0] _T_1533; // @[RocketCore.scala 733:35:shc.marmotcaravel.MarmotCaravelConfig.fir@221900.4]
+  wire [31:0] _T_1534; // @[RocketCore.scala 733:66:shc.marmotcaravel.MarmotCaravelConfig.fir@221901.4]
+  wire [5:0] ex_dcache_tag; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221929.4]
+  wire [4:0] _T_1561; // @[RocketCore.scala 771:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221965.4]
+  wire [4:0] _T_1562; // @[RocketCore.scala 771:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221967.4]
+  wire [31:0] coreMonitorBundle_time; // @[RocketCore.scala 811:40:shc.marmotcaravel.MarmotCaravelConfig.fir@221981.4]
+  wire  _T_1569; // @[RocketCore.scala 812:55:shc.marmotcaravel.MarmotCaravelConfig.fir@221983.4]
+  wire  coreMonitorBundle_valid; // @[RocketCore.scala 812:52:shc.marmotcaravel.MarmotCaravelConfig.fir@221984.4]
+  wire [31:0] coreMonitorBundle_pc; // @[RocketCore.scala 813:48:shc.marmotcaravel.MarmotCaravelConfig.fir@221986.4]
+  wire  _T_1573; // @[RocketCore.scala 814:44:shc.marmotcaravel.MarmotCaravelConfig.fir@221989.4]
+  wire  _T_1574; // @[RocketCore.scala 814:41:shc.marmotcaravel.MarmotCaravelConfig.fir@221990.4]
+  wire [4:0] coreMonitorBundle_wrdst; // @[RocketCore.scala 814:33:shc.marmotcaravel.MarmotCaravelConfig.fir@221991.4]
+  reg [31:0] _T_1578; // @[RocketCore.scala 818:43:shc.marmotcaravel.MarmotCaravelConfig.fir@221997.4]
+  reg [31:0] _RAND_88;
+  reg [31:0] coreMonitorBundle_rd0val; // @[RocketCore.scala 818:34:shc.marmotcaravel.MarmotCaravelConfig.fir@221999.4]
+  reg [31:0] _RAND_89;
+  reg [31:0] _T_1583; // @[RocketCore.scala 820:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222004.4]
+  reg [31:0] _RAND_90;
+  reg [31:0] coreMonitorBundle_rd1val; // @[RocketCore.scala 820:34:shc.marmotcaravel.MarmotCaravelConfig.fir@222006.4]
+  reg [31:0] _RAND_91;
+  wire  _T_1587; // @[RocketCore.scala 852:11:shc.marmotcaravel.MarmotCaravelConfig.fir@222011.4]
+  wire [31:0] coreMonitorBundle_inst; // @[RocketCore.scala 808:31:shc.marmotcaravel.MarmotCaravelConfig.fir@221978.4 RocketCore.scala 821:26:shc.marmotcaravel.MarmotCaravelConfig.fir@222009.4]
+  IBuf ibuf ( // @[RocketCore.scala 222:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220310.4]
+    .clock(ibuf_clock),
+    .reset(ibuf_reset),
+    .io_imem_ready(ibuf_io_imem_ready),
+    .io_imem_valid(ibuf_io_imem_valid),
+    .io_imem_bits_btb_taken(ibuf_io_imem_bits_btb_taken),
+    .io_imem_bits_btb_bridx(ibuf_io_imem_bits_btb_bridx),
+    .io_imem_bits_btb_entry(ibuf_io_imem_bits_btb_entry),
+    .io_imem_bits_btb_bht_history(ibuf_io_imem_bits_btb_bht_history),
+    .io_imem_bits_pc(ibuf_io_imem_bits_pc),
+    .io_imem_bits_data(ibuf_io_imem_bits_data),
+    .io_imem_bits_xcpt_ae_inst(ibuf_io_imem_bits_xcpt_ae_inst),
+    .io_imem_bits_replay(ibuf_io_imem_bits_replay),
+    .io_kill(ibuf_io_kill),
+    .io_pc(ibuf_io_pc),
+    .io_btb_resp_entry(ibuf_io_btb_resp_entry),
+    .io_btb_resp_bht_history(ibuf_io_btb_resp_bht_history),
+    .io_inst_0_ready(ibuf_io_inst_0_ready),
+    .io_inst_0_valid(ibuf_io_inst_0_valid),
+    .io_inst_0_bits_xcpt0_pf_inst(ibuf_io_inst_0_bits_xcpt0_pf_inst),
+    .io_inst_0_bits_xcpt0_ae_inst(ibuf_io_inst_0_bits_xcpt0_ae_inst),
+    .io_inst_0_bits_xcpt1_pf_inst(ibuf_io_inst_0_bits_xcpt1_pf_inst),
+    .io_inst_0_bits_xcpt1_ae_inst(ibuf_io_inst_0_bits_xcpt1_ae_inst),
+    .io_inst_0_bits_replay(ibuf_io_inst_0_bits_replay),
+    .io_inst_0_bits_rvc(ibuf_io_inst_0_bits_rvc),
+    .io_inst_0_bits_inst_bits(ibuf_io_inst_0_bits_inst_bits),
+    .io_inst_0_bits_inst_rd(ibuf_io_inst_0_bits_inst_rd),
+    .io_inst_0_bits_inst_rs1(ibuf_io_inst_0_bits_inst_rs1),
+    .io_inst_0_bits_inst_rs2(ibuf_io_inst_0_bits_inst_rs2),
+    .io_inst_0_bits_raw(ibuf_io_inst_0_bits_raw)
+  );
+  CSRFile csr ( // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
+    .clock(csr_clock),
+    .reset(csr_reset),
+    .io_ungated_clock(csr_io_ungated_clock),
+    .io_interrupts_debug(csr_io_interrupts_debug),
+    .io_interrupts_mtip(csr_io_interrupts_mtip),
+    .io_interrupts_msip(csr_io_interrupts_msip),
+    .io_interrupts_meip(csr_io_interrupts_meip),
+    .io_hartid(csr_io_hartid),
+    .io_rw_addr(csr_io_rw_addr),
+    .io_rw_cmd(csr_io_rw_cmd),
+    .io_rw_rdata(csr_io_rw_rdata),
+    .io_rw_wdata(csr_io_rw_wdata),
+    .io_decode_0_csr(csr_io_decode_0_csr),
+    .io_decode_0_fp_illegal(csr_io_decode_0_fp_illegal),
+    .io_decode_0_fp_csr(csr_io_decode_0_fp_csr),
+    .io_decode_0_read_illegal(csr_io_decode_0_read_illegal),
+    .io_decode_0_write_illegal(csr_io_decode_0_write_illegal),
+    .io_decode_0_write_flush(csr_io_decode_0_write_flush),
+    .io_csr_stall(csr_io_csr_stall),
+    .io_eret(csr_io_eret),
+    .io_singleStep(csr_io_singleStep),
+    .io_status_debug(csr_io_status_debug),
+    .io_status_isa(csr_io_status_isa),
+    .io_status_dprv(csr_io_status_dprv),
+    .io_status_prv(csr_io_status_prv),
+    .io_status_sd(csr_io_status_sd),
+    .io_status_zero2(csr_io_status_zero2),
+    .io_status_sxl(csr_io_status_sxl),
+    .io_status_uxl(csr_io_status_uxl),
+    .io_status_sd_rv32(csr_io_status_sd_rv32),
+    .io_status_zero1(csr_io_status_zero1),
+    .io_status_tsr(csr_io_status_tsr),
+    .io_status_tw(csr_io_status_tw),
+    .io_status_tvm(csr_io_status_tvm),
+    .io_status_mxr(csr_io_status_mxr),
+    .io_status_sum(csr_io_status_sum),
+    .io_status_mprv(csr_io_status_mprv),
+    .io_status_xs(csr_io_status_xs),
+    .io_status_fs(csr_io_status_fs),
+    .io_status_mpp(csr_io_status_mpp),
+    .io_status_hpp(csr_io_status_hpp),
+    .io_status_spp(csr_io_status_spp),
+    .io_status_mpie(csr_io_status_mpie),
+    .io_status_hpie(csr_io_status_hpie),
+    .io_status_spie(csr_io_status_spie),
+    .io_status_upie(csr_io_status_upie),
+    .io_status_mie(csr_io_status_mie),
+    .io_status_hie(csr_io_status_hie),
+    .io_status_sie(csr_io_status_sie),
+    .io_status_uie(csr_io_status_uie),
+    .io_evec(csr_io_evec),
+    .io_exception(csr_io_exception),
+    .io_retire(csr_io_retire),
+    .io_cause(csr_io_cause),
+    .io_pc(csr_io_pc),
+    .io_tval(csr_io_tval),
+    .io_time(csr_io_time),
+    .io_interrupt(csr_io_interrupt),
+    .io_interrupt_cause(csr_io_interrupt_cause),
+    .io_bp_0_control_action(csr_io_bp_0_control_action),
+    .io_bp_0_control_chain(csr_io_bp_0_control_chain),
+    .io_bp_0_control_tmatch(csr_io_bp_0_control_tmatch),
+    .io_bp_0_control_x(csr_io_bp_0_control_x),
+    .io_bp_0_control_w(csr_io_bp_0_control_w),
+    .io_bp_0_control_r(csr_io_bp_0_control_r),
+    .io_bp_0_address(csr_io_bp_0_address),
+    .io_bp_1_control_action(csr_io_bp_1_control_action),
+    .io_bp_1_control_tmatch(csr_io_bp_1_control_tmatch),
+    .io_bp_1_control_x(csr_io_bp_1_control_x),
+    .io_bp_1_control_w(csr_io_bp_1_control_w),
+    .io_bp_1_control_r(csr_io_bp_1_control_r),
+    .io_bp_1_address(csr_io_bp_1_address),
+    .io_pmp_0_cfg_l(csr_io_pmp_0_cfg_l),
+    .io_pmp_0_cfg_a(csr_io_pmp_0_cfg_a),
+    .io_pmp_0_cfg_x(csr_io_pmp_0_cfg_x),
+    .io_pmp_0_cfg_w(csr_io_pmp_0_cfg_w),
+    .io_pmp_0_cfg_r(csr_io_pmp_0_cfg_r),
+    .io_pmp_0_addr(csr_io_pmp_0_addr),
+    .io_pmp_0_mask(csr_io_pmp_0_mask),
+    .io_pmp_1_cfg_l(csr_io_pmp_1_cfg_l),
+    .io_pmp_1_cfg_a(csr_io_pmp_1_cfg_a),
+    .io_pmp_1_cfg_x(csr_io_pmp_1_cfg_x),
+    .io_pmp_1_cfg_w(csr_io_pmp_1_cfg_w),
+    .io_pmp_1_cfg_r(csr_io_pmp_1_cfg_r),
+    .io_pmp_1_addr(csr_io_pmp_1_addr),
+    .io_pmp_1_mask(csr_io_pmp_1_mask),
+    .io_pmp_2_cfg_l(csr_io_pmp_2_cfg_l),
+    .io_pmp_2_cfg_a(csr_io_pmp_2_cfg_a),
+    .io_pmp_2_cfg_x(csr_io_pmp_2_cfg_x),
+    .io_pmp_2_cfg_w(csr_io_pmp_2_cfg_w),
+    .io_pmp_2_cfg_r(csr_io_pmp_2_cfg_r),
+    .io_pmp_2_addr(csr_io_pmp_2_addr),
+    .io_pmp_2_mask(csr_io_pmp_2_mask),
+    .io_pmp_3_cfg_l(csr_io_pmp_3_cfg_l),
+    .io_pmp_3_cfg_a(csr_io_pmp_3_cfg_a),
+    .io_pmp_3_cfg_x(csr_io_pmp_3_cfg_x),
+    .io_pmp_3_cfg_w(csr_io_pmp_3_cfg_w),
+    .io_pmp_3_cfg_r(csr_io_pmp_3_cfg_r),
+    .io_pmp_3_addr(csr_io_pmp_3_addr),
+    .io_pmp_3_mask(csr_io_pmp_3_mask),
+    .io_pmp_4_cfg_l(csr_io_pmp_4_cfg_l),
+    .io_pmp_4_cfg_a(csr_io_pmp_4_cfg_a),
+    .io_pmp_4_cfg_x(csr_io_pmp_4_cfg_x),
+    .io_pmp_4_cfg_w(csr_io_pmp_4_cfg_w),
+    .io_pmp_4_cfg_r(csr_io_pmp_4_cfg_r),
+    .io_pmp_4_addr(csr_io_pmp_4_addr),
+    .io_pmp_4_mask(csr_io_pmp_4_mask),
+    .io_pmp_5_cfg_l(csr_io_pmp_5_cfg_l),
+    .io_pmp_5_cfg_a(csr_io_pmp_5_cfg_a),
+    .io_pmp_5_cfg_x(csr_io_pmp_5_cfg_x),
+    .io_pmp_5_cfg_w(csr_io_pmp_5_cfg_w),
+    .io_pmp_5_cfg_r(csr_io_pmp_5_cfg_r),
+    .io_pmp_5_addr(csr_io_pmp_5_addr),
+    .io_pmp_5_mask(csr_io_pmp_5_mask),
+    .io_pmp_6_cfg_l(csr_io_pmp_6_cfg_l),
+    .io_pmp_6_cfg_a(csr_io_pmp_6_cfg_a),
+    .io_pmp_6_cfg_x(csr_io_pmp_6_cfg_x),
+    .io_pmp_6_cfg_w(csr_io_pmp_6_cfg_w),
+    .io_pmp_6_cfg_r(csr_io_pmp_6_cfg_r),
+    .io_pmp_6_addr(csr_io_pmp_6_addr),
+    .io_pmp_6_mask(csr_io_pmp_6_mask),
+    .io_pmp_7_cfg_l(csr_io_pmp_7_cfg_l),
+    .io_pmp_7_cfg_a(csr_io_pmp_7_cfg_a),
+    .io_pmp_7_cfg_x(csr_io_pmp_7_cfg_x),
+    .io_pmp_7_cfg_w(csr_io_pmp_7_cfg_w),
+    .io_pmp_7_cfg_r(csr_io_pmp_7_cfg_r),
+    .io_pmp_7_addr(csr_io_pmp_7_addr),
+    .io_pmp_7_mask(csr_io_pmp_7_mask),
+    .io_inst_0(csr_io_inst_0),
+    .io_trace_0_valid(csr_io_trace_0_valid),
+    .io_trace_0_iaddr(csr_io_trace_0_iaddr),
+    .io_trace_0_insn(csr_io_trace_0_insn),
+    .io_trace_0_exception(csr_io_trace_0_exception)
+  );
+  BreakpointUnit bpu ( // @[RocketCore.scala 280:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220831.4]
+    .io_status_debug(bpu_io_status_debug),
+    .io_bp_0_control_action(bpu_io_bp_0_control_action),
+    .io_bp_0_control_chain(bpu_io_bp_0_control_chain),
+    .io_bp_0_control_tmatch(bpu_io_bp_0_control_tmatch),
+    .io_bp_0_control_x(bpu_io_bp_0_control_x),
+    .io_bp_0_control_w(bpu_io_bp_0_control_w),
+    .io_bp_0_control_r(bpu_io_bp_0_control_r),
+    .io_bp_0_address(bpu_io_bp_0_address),
+    .io_bp_1_control_action(bpu_io_bp_1_control_action),
+    .io_bp_1_control_tmatch(bpu_io_bp_1_control_tmatch),
+    .io_bp_1_control_x(bpu_io_bp_1_control_x),
+    .io_bp_1_control_w(bpu_io_bp_1_control_w),
+    .io_bp_1_control_r(bpu_io_bp_1_control_r),
+    .io_bp_1_address(bpu_io_bp_1_address),
+    .io_pc(bpu_io_pc),
+    .io_ea(bpu_io_ea),
+    .io_xcpt_if(bpu_io_xcpt_if),
+    .io_xcpt_ld(bpu_io_xcpt_ld),
+    .io_xcpt_st(bpu_io_xcpt_st),
+    .io_debug_if(bpu_io_debug_if),
+    .io_debug_ld(bpu_io_debug_ld),
+    .io_debug_st(bpu_io_debug_st)
+  );
+  ALU alu ( // @[RocketCore.scala 339:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220983.4]
+    .io_fn(alu_io_fn),
+    .io_in2(alu_io_in2),
+    .io_in1(alu_io_in1),
+    .io_out(alu_io_out),
+    .io_adder_out(alu_io_adder_out),
+    .io_cmp_out(alu_io_cmp_out)
+  );
+  MulDiv div ( // @[RocketCore.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220993.4]
+    .clock(div_clock),
+    .reset(div_reset),
+    .io_req_ready(div_io_req_ready),
+    .io_req_valid(div_io_req_valid),
+    .io_req_bits_fn(div_io_req_bits_fn),
+    .io_req_bits_in1(div_io_req_bits_in1),
+    .io_req_bits_in2(div_io_req_bits_in2),
+    .io_req_bits_tag(div_io_req_bits_tag),
+    .io_kill(div_io_kill),
+    .io_resp_ready(div_io_resp_ready),
+    .io_resp_valid(div_io_resp_valid),
+    .io_resp_bits_data(div_io_resp_bits_data),
+    .io_resp_bits_tag(div_io_resp_bits_tag)
+  );
+  PlusArgTimeout PlusArgTimeout ( // @[PlusArg.scala 51:11:shc.marmotcaravel.MarmotCaravelConfig.fir@222015.4]
+    .clock(PlusArgTimeout_clock),
+    .reset(PlusArgTimeout_reset),
+    .io_count(PlusArgTimeout_io_count)
+  );
+  assign _T_574__T_581_addr = ~ _T_579;
+  `ifndef RANDOMIZE_GARBAGE_ASSIGN
+  assign _T_574__T_581_data = _T_574[_T_574__T_581_addr]; // @[RocketCore.scala 910:23:shc.marmotcaravel.MarmotCaravelConfig.fir@220657.4]
+  `else
+  assign _T_574__T_581_data = _T_574__T_581_addr >= 5'h1f ? _RAND_1[31:0] : _T_574[_T_574__T_581_addr]; // @[RocketCore.scala 910:23:shc.marmotcaravel.MarmotCaravelConfig.fir@220657.4]
+  `endif // RANDOMIZE_GARBAGE_ASSIGN
+  assign _T_574__T_589_addr = ~ _T_587;
+  `ifndef RANDOMIZE_GARBAGE_ASSIGN
+  assign _T_574__T_589_data = _T_574[_T_574__T_589_addr]; // @[RocketCore.scala 910:23:shc.marmotcaravel.MarmotCaravelConfig.fir@220657.4]
+  `else
+  assign _T_574__T_589_data = _T_574__T_589_addr >= 5'h1f ? _RAND_2[31:0] : _T_574[_T_574__T_589_addr]; // @[RocketCore.scala 910:23:shc.marmotcaravel.MarmotCaravelConfig.fir@220657.4]
+  `endif // RANDOMIZE_GARBAGE_ASSIGN
+  assign _T_574__T_1298_data = _T_1289 ? io_dmem_resp_bits_data : _T_1294;
+  assign _T_574__T_1298_addr = ~ rf_waddr;
+  assign _T_574__T_1298_mask = 1'h1;
+  assign _T_574__T_1298_en = rf_wen ? _T_1295 : 1'h0;
+  assign replay_wb_common = io_dmem_s2_nack | wb_reg_replay; // @[RocketCore.scala 563:42:shc.marmotcaravel.MarmotCaravelConfig.fir@221535.4]
+  assign replay_wb_rocc = wb_reg_valid & wb_ctrl_rocc; // @[RocketCore.scala 564:37:shc.marmotcaravel.MarmotCaravelConfig.fir@221536.4]
+  assign replay_wb = replay_wb_common | replay_wb_rocc; // @[RocketCore.scala 565:36:shc.marmotcaravel.MarmotCaravelConfig.fir@221539.4]
+  assign _T_1236 = wb_reg_valid & wb_ctrl_mem; // @[RocketCore.scala 542:19:shc.marmotcaravel.MarmotCaravelConfig.fir@221494.4]
+  assign _T_1237 = _T_1236 & io_dmem_s2_xcpt_ma_st; // @[RocketCore.scala 542:34:shc.marmotcaravel.MarmotCaravelConfig.fir@221495.4]
+  assign _T_1248 = wb_reg_xcpt | _T_1237; // @[RocketCore.scala 870:26:shc.marmotcaravel.MarmotCaravelConfig.fir@221506.4]
+  assign _T_1239 = _T_1236 & io_dmem_s2_xcpt_ma_ld; // @[RocketCore.scala 543:34:shc.marmotcaravel.MarmotCaravelConfig.fir@221497.4]
+  assign _T_1249 = _T_1248 | _T_1239; // @[RocketCore.scala 870:26:shc.marmotcaravel.MarmotCaravelConfig.fir@221507.4]
+  assign _T_1241 = _T_1236 & io_dmem_s2_xcpt_pf_st; // @[RocketCore.scala 544:34:shc.marmotcaravel.MarmotCaravelConfig.fir@221499.4]
+  assign _T_1250 = _T_1249 | _T_1241; // @[RocketCore.scala 870:26:shc.marmotcaravel.MarmotCaravelConfig.fir@221508.4]
+  assign _T_1243 = _T_1236 & io_dmem_s2_xcpt_pf_ld; // @[RocketCore.scala 545:34:shc.marmotcaravel.MarmotCaravelConfig.fir@221501.4]
+  assign _T_1251 = _T_1250 | _T_1243; // @[RocketCore.scala 870:26:shc.marmotcaravel.MarmotCaravelConfig.fir@221509.4]
+  assign _T_1245 = _T_1236 & io_dmem_s2_xcpt_ae_st; // @[RocketCore.scala 546:34:shc.marmotcaravel.MarmotCaravelConfig.fir@221503.4]
+  assign _T_1252 = _T_1251 | _T_1245; // @[RocketCore.scala 870:26:shc.marmotcaravel.MarmotCaravelConfig.fir@221510.4]
+  assign _T_1247 = _T_1236 & io_dmem_s2_xcpt_ae_ld; // @[RocketCore.scala 547:34:shc.marmotcaravel.MarmotCaravelConfig.fir@221505.4]
+  assign wb_xcpt = _T_1252 | _T_1247; // @[RocketCore.scala 870:26:shc.marmotcaravel.MarmotCaravelConfig.fir@221511.4]
+  assign _T_1274 = replay_wb | wb_xcpt; // @[RocketCore.scala 566:27:shc.marmotcaravel.MarmotCaravelConfig.fir@221540.4]
+  assign _T_1275 = _T_1274 | csr_io_eret; // @[RocketCore.scala 566:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221541.4]
+  assign take_pc_wb = _T_1275 | wb_reg_flush_pipe; // @[RocketCore.scala 566:53:shc.marmotcaravel.MarmotCaravelConfig.fir@221542.4]
+  assign _T_923 = ex_reg_valid | ex_reg_replay; // @[RocketCore.scala 425:34:shc.marmotcaravel.MarmotCaravelConfig.fir@221106.4]
+  assign ex_pc_valid = _T_923 | ex_reg_xcpt_interrupt; // @[RocketCore.scala 425:51:shc.marmotcaravel.MarmotCaravelConfig.fir@221107.4]
+  assign _T_1096 = mem_ctrl_jalr | mem_reg_sfence; // @[RocketCore.scala 448:36:shc.marmotcaravel.MarmotCaravelConfig.fir@221286.4]
+  assign _T_1097 = $signed(mem_reg_wdata); // @[RocketCore.scala 448:106:shc.marmotcaravel.MarmotCaravelConfig.fir@221287.4]
+  assign _T_965 = $signed(mem_reg_pc); // @[RocketCore.scala 444:34:shc.marmotcaravel.MarmotCaravelConfig.fir@221154.4]
+  assign _T_966 = mem_ctrl_branch & mem_br_taken; // @[RocketCore.scala 445:25:shc.marmotcaravel.MarmotCaravelConfig.fir@221155.4]
+  assign _T_968 = mem_reg_inst[31]; // @[RocketCore.scala 932:48:shc.marmotcaravel.MarmotCaravelConfig.fir@221157.4]
+  assign _T_969 = $signed(_T_968); // @[RocketCore.scala 932:53:shc.marmotcaravel.MarmotCaravelConfig.fir@221158.4]
+  assign _T_1024 = $unsigned(_T_969); // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221213.4]
+  assign _T_974 = {11{_T_969}}; // @[RocketCore.scala 933:21:shc.marmotcaravel.MarmotCaravelConfig.fir@221163.4]
+  assign _T_1023 = $unsigned(_T_974); // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221212.4]
+  assign _T_1025 = {_T_1024,_T_1023}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221214.4]
+  assign _T_978 = mem_reg_inst[19:12]; // @[RocketCore.scala 934:65:shc.marmotcaravel.MarmotCaravelConfig.fir@221167.4]
+  assign _T_979 = $signed(_T_978); // @[RocketCore.scala 934:73:shc.marmotcaravel.MarmotCaravelConfig.fir@221168.4]
+  assign _T_980 = {8{_T_969}}; // @[RocketCore.scala 934:21:shc.marmotcaravel.MarmotCaravelConfig.fir@221169.4]
+  assign _T_1021 = $unsigned(_T_980); // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221210.4]
+  assign _T_985 = mem_reg_inst[20]; // @[RocketCore.scala 936:39:shc.marmotcaravel.MarmotCaravelConfig.fir@221174.4]
+  assign _T_986 = $signed(_T_985); // @[RocketCore.scala 936:44:shc.marmotcaravel.MarmotCaravelConfig.fir@221175.4]
+  assign _T_988 = mem_reg_inst[7]; // @[RocketCore.scala 937:39:shc.marmotcaravel.MarmotCaravelConfig.fir@221177.4]
+  assign _T_989 = $signed(_T_988); // @[RocketCore.scala 937:43:shc.marmotcaravel.MarmotCaravelConfig.fir@221178.4]
+  assign _T_1020 = $unsigned(_T_989); // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221209.4]
+  assign _T_1022 = {_T_1021,_T_1020}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221211.4]
+  assign _T_1026 = {_T_1025,_T_1022}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221215.4]
+  assign _T_996 = mem_reg_inst[30:25]; // @[RocketCore.scala 938:66:shc.marmotcaravel.MarmotCaravelConfig.fir@221185.4]
+  assign _T_1002 = mem_reg_inst[11:8]; // @[RocketCore.scala 940:57:shc.marmotcaravel.MarmotCaravelConfig.fir@221191.4]
+  assign _T_1005 = mem_reg_inst[24:21]; // @[RocketCore.scala 941:52:shc.marmotcaravel.MarmotCaravelConfig.fir@221194.4]
+  assign _T_1018 = {_T_996,_T_1002}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221207.4]
+  assign _T_1019 = {_T_1018,1'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221208.4]
+  assign _T_1027 = {_T_1026,_T_1019}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221216.4]
+  assign _T_1028 = $signed(_T_1027); // @[RocketCore.scala 946:53:shc.marmotcaravel.MarmotCaravelConfig.fir@221217.4]
+  assign _T_1083 = $unsigned(_T_979); // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221272.4]
+  assign _T_1082 = $unsigned(_T_986); // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221271.4]
+  assign _T_1084 = {_T_1083,_T_1082}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221273.4]
+  assign _T_1088 = {_T_1025,_T_1084}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221277.4]
+  assign _T_1080 = {_T_996,_T_1005}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221269.4]
+  assign _T_1081 = {_T_1080,1'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221270.4]
+  assign _T_1089 = {_T_1088,_T_1081}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221278.4]
+  assign _T_1090 = $signed(_T_1089); // @[RocketCore.scala 946:53:shc.marmotcaravel.MarmotCaravelConfig.fir@221279.4]
+  assign _T_1091 = mem_reg_rvc ? $signed(4'sh2) : $signed(4'sh4); // @[RocketCore.scala 447:8:shc.marmotcaravel.MarmotCaravelConfig.fir@221280.4]
+  assign _T_1092 = mem_ctrl_jal ? $signed(_T_1090) : $signed({{28{_T_1091[3]}},_T_1091}); // @[RocketCore.scala 446:8:shc.marmotcaravel.MarmotCaravelConfig.fir@221281.4]
+  assign _T_1093 = _T_966 ? $signed(_T_1028) : $signed(_T_1092); // @[RocketCore.scala 445:8:shc.marmotcaravel.MarmotCaravelConfig.fir@221282.4]
+  assign _T_1095 = $signed(_T_965) + $signed(_T_1093); // @[RocketCore.scala 444:41:shc.marmotcaravel.MarmotCaravelConfig.fir@221284.4]
+  assign mem_br_target = $signed(_T_1095); // @[RocketCore.scala 444:41:shc.marmotcaravel.MarmotCaravelConfig.fir@221285.4]
+  assign _T_1098 = _T_1096 ? $signed(_T_1097) : $signed(mem_br_target); // @[RocketCore.scala 448:21:shc.marmotcaravel.MarmotCaravelConfig.fir@221288.4]
+  assign _T_1099 = $signed(_T_1098) & $signed(-32'sh2); // @[RocketCore.scala 448:129:shc.marmotcaravel.MarmotCaravelConfig.fir@221289.4]
+  assign _T_1100 = $signed(_T_1099); // @[RocketCore.scala 448:129:shc.marmotcaravel.MarmotCaravelConfig.fir@221290.4]
+  assign mem_npc = $unsigned(_T_1100); // @[RocketCore.scala 448:141:shc.marmotcaravel.MarmotCaravelConfig.fir@221291.4]
+  assign _T_1101 = mem_npc != ex_reg_pc; // @[RocketCore.scala 450:30:shc.marmotcaravel.MarmotCaravelConfig.fir@221292.4]
+  assign _T_1102 = ibuf_io_inst_0_valid | ibuf_io_imem_valid; // @[RocketCore.scala 451:31:shc.marmotcaravel.MarmotCaravelConfig.fir@221293.4]
+  assign _T_1103 = mem_npc != ibuf_io_pc; // @[RocketCore.scala 451:62:shc.marmotcaravel.MarmotCaravelConfig.fir@221294.4]
+  assign _T_1104 = _T_1102 ? _T_1103 : 1'h1; // @[RocketCore.scala 451:8:shc.marmotcaravel.MarmotCaravelConfig.fir@221295.4]
+  assign mem_wrong_npc = ex_pc_valid ? _T_1101 : _T_1104; // @[RocketCore.scala 450:8:shc.marmotcaravel.MarmotCaravelConfig.fir@221296.4]
+  assign _T_1120 = mem_wrong_npc | mem_reg_sfence; // @[RocketCore.scala 458:54:shc.marmotcaravel.MarmotCaravelConfig.fir@221317.4]
+  assign take_pc_mem = mem_reg_valid & _T_1120; // @[RocketCore.scala 458:32:shc.marmotcaravel.MarmotCaravelConfig.fir@221318.4]
+  assign take_pc_mem_wb = take_pc_wb | take_pc_mem; // @[RocketCore.scala 218:35:shc.marmotcaravel.MarmotCaravelConfig.fir@220309.4]
+  assign _T_263 = ibuf_io_inst_0_bits_inst_bits & 32'h505f; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220318.4]
+  assign _T_264 = _T_263 == 32'h3; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220319.4]
+  assign _T_265 = ibuf_io_inst_0_bits_inst_bits & 32'h207f; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220320.4]
+  assign _T_266 = _T_265 == 32'h3; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220321.4]
+  assign _T_267 = ibuf_io_inst_0_bits_inst_bits & 32'h607f; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220322.4]
+  assign _T_268 = _T_267 == 32'hf; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220323.4]
+  assign _T_269 = ibuf_io_inst_0_bits_inst_bits & 32'h5f; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220324.4]
+  assign _T_270 = _T_269 == 32'h17; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220325.4]
+  assign _T_271 = ibuf_io_inst_0_bits_inst_bits & 32'hfc00007f; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220326.4]
+  assign _T_272 = _T_271 == 32'h33; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220327.4]
+  assign _T_273 = ibuf_io_inst_0_bits_inst_bits & 32'hbe00707f; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220328.4]
+  assign _T_274 = _T_273 == 32'h33; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220329.4]
+  assign _T_275 = ibuf_io_inst_0_bits_inst_bits & 32'h707b; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220330.4]
+  assign _T_276 = _T_275 == 32'h63; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220331.4]
+  assign _T_277 = ibuf_io_inst_0_bits_inst_bits & 32'h7f; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220332.4]
+  assign _T_278 = _T_277 == 32'h6f; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220333.4]
+  assign _T_279 = ibuf_io_inst_0_bits_inst_bits & 32'hffefffff; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220334.4]
+  assign _T_280 = _T_279 == 32'h73; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220335.4]
+  assign _T_281 = ibuf_io_inst_0_bits_inst_bits & 32'hfe00305f; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220336.4]
+  assign _T_282 = _T_281 == 32'h1013; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220337.4]
+  assign _T_284 = _T_265 == 32'h2013; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220339.4]
+  assign _T_285 = ibuf_io_inst_0_bits_inst_bits & 32'h1800707f; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220340.4]
+  assign _T_286 = _T_285 == 32'h202f; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220341.4]
+  assign _T_288 = _T_265 == 32'h2073; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220343.4]
+  assign _T_289 = ibuf_io_inst_0_bits_inst_bits & 32'hbe00705f; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220344.4]
+  assign _T_290 = _T_289 == 32'h5013; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220345.4]
+  assign _T_291 = ibuf_io_inst_0_bits_inst_bits & 32'he800707f; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220346.4]
+  assign _T_292 = _T_291 == 32'h800202f; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220347.4]
+  assign _T_293 = ibuf_io_inst_0_bits_inst_bits & 32'hf9f0707f; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220348.4]
+  assign _T_294 = _T_293 == 32'h1000202f; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220349.4]
+  assign _T_295 = ibuf_io_inst_0_bits_inst_bits == 32'h10500073; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220350.4]
+  assign _T_296 = ibuf_io_inst_0_bits_inst_bits == 32'h30200073; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220351.4]
+  assign _T_297 = ibuf_io_inst_0_bits_inst_bits == 32'h7b200073; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220352.4]
+  assign _T_298 = ibuf_io_inst_0_bits_inst_bits & 32'h306f; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220353.4]
+  assign _T_299 = _T_298 == 32'h1063; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220354.4]
+  assign _T_300 = ibuf_io_inst_0_bits_inst_bits & 32'h407f; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220355.4]
+  assign _T_301 = _T_300 == 32'h4063; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220356.4]
+  assign _T_302 = ibuf_io_inst_0_bits_inst_bits & 32'h605f; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220357.4]
+  assign _T_303 = _T_302 == 32'h3; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220358.4]
+  assign _T_305 = _T_298 == 32'h3; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220360.4]
+  assign _T_307 = _T_264 | _T_266; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220362.4]
+  assign _T_308 = _T_307 | _T_268; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220363.4]
+  assign _T_309 = _T_308 | _T_270; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220364.4]
+  assign _T_310 = _T_309 | _T_272; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220365.4]
+  assign _T_311 = _T_310 | _T_274; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220366.4]
+  assign _T_312 = _T_311 | _T_276; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220367.4]
+  assign _T_313 = _T_312 | _T_278; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220368.4]
+  assign _T_314 = _T_313 | _T_280; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220369.4]
+  assign _T_315 = _T_314 | _T_282; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220370.4]
+  assign _T_316 = _T_315 | _T_284; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220371.4]
+  assign _T_317 = _T_316 | _T_286; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220372.4]
+  assign _T_318 = _T_317 | _T_288; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220373.4]
+  assign _T_319 = _T_318 | _T_290; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220374.4]
+  assign _T_320 = _T_319 | _T_292; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220375.4]
+  assign _T_321 = _T_320 | _T_294; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220376.4]
+  assign _T_322 = _T_321 | _T_295; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220377.4]
+  assign _T_323 = _T_322 | _T_296; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220378.4]
+  assign _T_324 = _T_323 | _T_297; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220379.4]
+  assign _T_325 = _T_324 | _T_299; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220380.4]
+  assign _T_326 = _T_325 | _T_301; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220381.4]
+  assign _T_327 = _T_326 | _T_303; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220382.4]
+  assign id_ctrl_legal = _T_327 | _T_305; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220383.4]
+  assign _T_329 = ibuf_io_inst_0_bits_inst_bits & 32'h54; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220384.4]
+  assign id_ctrl_branch = _T_329 == 32'h40; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220385.4]
+  assign _T_332 = ibuf_io_inst_0_bits_inst_bits & 32'h48; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220387.4]
+  assign id_ctrl_jal = _T_332 == 32'h48; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220388.4]
+  assign _T_335 = ibuf_io_inst_0_bits_inst_bits & 32'h1c; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220390.4]
+  assign id_ctrl_jalr = _T_335 == 32'h4; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220391.4]
+  assign _T_338 = ibuf_io_inst_0_bits_inst_bits & 32'h70; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220393.4]
+  assign _T_339 = _T_338 == 32'h20; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220394.4]
+  assign _T_340 = ibuf_io_inst_0_bits_inst_bits & 32'h64; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220395.4]
+  assign _T_341 = _T_340 == 32'h20; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220396.4]
+  assign _T_342 = ibuf_io_inst_0_bits_inst_bits & 32'h34; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220397.4]
+  assign _T_343 = _T_342 == 32'h20; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220398.4]
+  assign _T_345 = _T_339 | _T_341; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220400.4]
+  assign id_ctrl_rxs2 = _T_345 | _T_343; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220401.4]
+  assign _T_347 = ibuf_io_inst_0_bits_inst_bits & 32'h4004; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220402.4]
+  assign _T_348 = _T_347 == 32'h0; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220403.4]
+  assign _T_349 = ibuf_io_inst_0_bits_inst_bits & 32'h44; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220404.4]
+  assign _T_350 = _T_349 == 32'h0; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220405.4]
+  assign _T_351 = ibuf_io_inst_0_bits_inst_bits & 32'h18; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220406.4]
+  assign _T_352 = _T_351 == 32'h0; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220407.4]
+  assign _T_353 = ibuf_io_inst_0_bits_inst_bits & 32'h2050; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220408.4]
+  assign _T_354 = _T_353 == 32'h2000; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220409.4]
+  assign _T_356 = _T_348 | _T_350; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220411.4]
+  assign _T_357 = _T_356 | _T_352; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220412.4]
+  assign id_ctrl_rxs1 = _T_357 | _T_354; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220413.4]
+  assign _T_359 = ibuf_io_inst_0_bits_inst_bits & 32'h58; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220414.4]
+  assign _T_360 = _T_359 == 32'h0; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220415.4]
+  assign _T_361 = ibuf_io_inst_0_bits_inst_bits & 32'h20; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220416.4]
+  assign _T_362 = _T_361 == 32'h0; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220417.4]
+  assign _T_363 = ibuf_io_inst_0_bits_inst_bits & 32'hc; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220418.4]
+  assign _T_364 = _T_363 == 32'h4; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220419.4]
+  assign _T_365 = ibuf_io_inst_0_bits_inst_bits & 32'h4050; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220420.4]
+  assign _T_366 = _T_365 == 32'h4050; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220421.4]
+  assign _T_368 = _T_360 | _T_362; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220423.4]
+  assign _T_369 = _T_368 | _T_364; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220424.4]
+  assign _T_370 = _T_369 | id_ctrl_jal; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220425.4]
+  assign _T_371 = _T_370 | _T_366; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220426.4]
+  assign _T_373 = _T_332 == 32'h0; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220428.4]
+  assign _T_374 = ibuf_io_inst_0_bits_inst_bits & 32'h4008; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220429.4]
+  assign _T_375 = _T_374 == 32'h4000; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220430.4]
+  assign _T_377 = _T_373 | _T_352; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220432.4]
+  assign _T_378 = _T_377 | _T_375; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220433.4]
+  assign id_ctrl_sel_alu2 = {_T_378,_T_371}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220434.4]
+  assign _T_380 = ibuf_io_inst_0_bits_inst_bits & 32'h50; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220435.4]
+  assign _T_381 = _T_380 == 32'h0; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220436.4]
+  assign _T_383 = _T_348 | _T_381; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220438.4]
+  assign _T_384 = _T_383 | _T_350; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220439.4]
+  assign _T_385 = _T_384 | _T_352; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220440.4]
+  assign _T_386 = ibuf_io_inst_0_bits_inst_bits & 32'h24; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220441.4]
+  assign _T_387 = _T_386 == 32'h4; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220442.4]
+  assign _T_389 = _T_387 | id_ctrl_jal; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220444.4]
+  assign id_ctrl_sel_alu1 = {_T_389,_T_385}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220445.4]
+  assign _T_391 = ibuf_io_inst_0_bits_inst_bits & 32'h8; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220446.4]
+  assign _T_392 = _T_391 == 32'h8; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220447.4]
+  assign _T_394 = _T_349 == 32'h40; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220449.4]
+  assign _T_396 = _T_392 | _T_394; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220451.4]
+  assign _T_398 = _T_349 == 32'h4; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220453.4]
+  assign _T_400 = _T_398 | _T_392; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220455.4]
+  assign _T_401 = ibuf_io_inst_0_bits_inst_bits & 32'h14; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220456.4]
+  assign _T_402 = _T_401 == 32'h10; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220457.4]
+  assign _T_403 = ibuf_io_inst_0_bits_inst_bits & 32'h30; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220458.4]
+  assign _T_404 = _T_403 == 32'h0; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220459.4]
+  assign _T_406 = id_ctrl_jalr | _T_402; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220461.4]
+  assign _T_407 = _T_406 | _T_404; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220462.4]
+  assign _T_408 = {_T_407,_T_400}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220463.4]
+  assign id_ctrl_sel_imm = {_T_408,_T_396}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220464.4]
+  assign _T_413 = ibuf_io_inst_0_bits_inst_bits & 32'h3054; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220468.4]
+  assign _T_414 = _T_413 == 32'h1010; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220469.4]
+  assign _T_415 = ibuf_io_inst_0_bits_inst_bits & 32'h1058; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220470.4]
+  assign _T_416 = _T_415 == 32'h1040; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220471.4]
+  assign _T_417 = ibuf_io_inst_0_bits_inst_bits & 32'h7044; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220472.4]
+  assign _T_418 = _T_417 == 32'h7000; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220473.4]
+  assign _T_419 = ibuf_io_inst_0_bits_inst_bits & 32'h2001074; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220474.4]
+  assign _T_420 = _T_419 == 32'h2001030; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220475.4]
+  assign _T_422 = _T_414 | _T_416; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220477.4]
+  assign _T_423 = _T_422 | _T_418; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220478.4]
+  assign _T_424 = _T_423 | _T_420; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220479.4]
+  assign _T_425 = ibuf_io_inst_0_bits_inst_bits & 32'h4054; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220480.4]
+  assign _T_426 = _T_425 == 32'h40; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220481.4]
+  assign _T_427 = ibuf_io_inst_0_bits_inst_bits & 32'h3044; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220482.4]
+  assign _T_428 = _T_427 == 32'h3000; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220483.4]
+  assign _T_429 = ibuf_io_inst_0_bits_inst_bits & 32'h6044; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220484.4]
+  assign _T_430 = _T_429 == 32'h6000; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220485.4]
+  assign _T_431 = ibuf_io_inst_0_bits_inst_bits & 32'h6018; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220486.4]
+  assign _T_432 = _T_431 == 32'h6000; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220487.4]
+  assign _T_433 = ibuf_io_inst_0_bits_inst_bits & 32'h2002074; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220488.4]
+  assign _T_434 = _T_433 == 32'h2002030; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220489.4]
+  assign _T_435 = ibuf_io_inst_0_bits_inst_bits & 32'h40003034; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220490.4]
+  assign _T_436 = _T_435 == 32'h40000030; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220491.4]
+  assign _T_437 = ibuf_io_inst_0_bits_inst_bits & 32'h40001054; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220492.4]
+  assign _T_438 = _T_437 == 32'h40001010; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220493.4]
+  assign _T_440 = _T_426 | _T_428; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220495.4]
+  assign _T_441 = _T_440 | _T_430; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220496.4]
+  assign _T_442 = _T_441 | _T_432; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220497.4]
+  assign _T_443 = _T_442 | _T_434; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220498.4]
+  assign _T_444 = _T_443 | _T_436; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220499.4]
+  assign _T_445 = _T_444 | _T_438; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220500.4]
+  assign _T_446 = ibuf_io_inst_0_bits_inst_bits & 32'h2002054; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220501.4]
+  assign _T_447 = _T_446 == 32'h2010; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220502.4]
+  assign _T_448 = ibuf_io_inst_0_bits_inst_bits & 32'h2034; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220503.4]
+  assign _T_449 = _T_448 == 32'h2010; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220504.4]
+  assign _T_450 = ibuf_io_inst_0_bits_inst_bits & 32'h40004054; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220505.4]
+  assign _T_451 = _T_450 == 32'h4010; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220506.4]
+  assign _T_452 = ibuf_io_inst_0_bits_inst_bits & 32'h5054; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220507.4]
+  assign _T_453 = _T_452 == 32'h4010; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220508.4]
+  assign _T_454 = ibuf_io_inst_0_bits_inst_bits & 32'h4058; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220509.4]
+  assign _T_455 = _T_454 == 32'h4040; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220510.4]
+  assign _T_457 = _T_447 | _T_449; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220512.4]
+  assign _T_458 = _T_457 | _T_451; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220513.4]
+  assign _T_459 = _T_458 | _T_453; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220514.4]
+  assign _T_460 = _T_459 | _T_455; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220515.4]
+  assign _T_461 = ibuf_io_inst_0_bits_inst_bits & 32'h2006054; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220516.4]
+  assign _T_462 = _T_461 == 32'h2010; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220517.4]
+  assign _T_463 = ibuf_io_inst_0_bits_inst_bits & 32'h6034; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220518.4]
+  assign _T_464 = _T_463 == 32'h2010; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220519.4]
+  assign _T_465 = ibuf_io_inst_0_bits_inst_bits & 32'h40003054; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220520.4]
+  assign _T_466 = _T_465 == 32'h40001010; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220521.4]
+  assign _T_468 = _T_462 | _T_464; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220523.4]
+  assign _T_469 = _T_468 | _T_455; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220524.4]
+  assign _T_470 = _T_469 | _T_436; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220525.4]
+  assign _T_471 = _T_470 | _T_466; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220526.4]
+  assign _T_472 = {_T_445,_T_424}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220527.4]
+  assign _T_473 = {_T_471,_T_460}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220528.4]
+  assign id_ctrl_alu_fn = {_T_473,_T_472}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220529.4]
+  assign _T_475 = ibuf_io_inst_0_bits_inst_bits & 32'h707f; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220530.4]
+  assign _T_476 = _T_475 == 32'h100f; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220531.4]
+  assign _T_478 = _T_303 | _T_264; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220533.4]
+  assign _T_479 = _T_478 | _T_266; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220534.4]
+  assign _T_480 = _T_479 | _T_476; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220535.4]
+  assign _T_481 = _T_480 | _T_286; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220536.4]
+  assign _T_482 = _T_481 | _T_292; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220537.4]
+  assign id_ctrl_mem = _T_482 | _T_294; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220538.4]
+  assign _T_484 = ibuf_io_inst_0_bits_inst_bits & 32'h2008; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220539.4]
+  assign _T_485 = _T_484 == 32'h8; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220540.4]
+  assign _T_486 = ibuf_io_inst_0_bits_inst_bits & 32'h28; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220541.4]
+  assign _T_487 = _T_486 == 32'h20; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220542.4]
+  assign _T_488 = ibuf_io_inst_0_bits_inst_bits & 32'h18000020; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220543.4]
+  assign _T_489 = _T_488 == 32'h18000020; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220544.4]
+  assign _T_490 = ibuf_io_inst_0_bits_inst_bits & 32'h20000020; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220545.4]
+  assign _T_491 = _T_490 == 32'h20000020; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220546.4]
+  assign _T_493 = _T_485 | _T_487; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220548.4]
+  assign _T_494 = _T_493 | _T_489; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220549.4]
+  assign _T_495 = _T_494 | _T_491; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220550.4]
+  assign _T_496 = ibuf_io_inst_0_bits_inst_bits & 32'h10001008; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220551.4]
+  assign _T_497 = _T_496 == 32'h10000008; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220552.4]
+  assign _T_498 = ibuf_io_inst_0_bits_inst_bits & 32'h40001008; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220553.4]
+  assign _T_499 = _T_498 == 32'h40000008; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220554.4]
+  assign _T_501 = _T_497 | _T_499; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220556.4]
+  assign _T_502 = ibuf_io_inst_0_bits_inst_bits & 32'h8000008; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220557.4]
+  assign _T_503 = _T_502 == 32'h8000008; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220558.4]
+  assign _T_504 = ibuf_io_inst_0_bits_inst_bits & 32'h10000008; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220559.4]
+  assign _T_505 = _T_504 == 32'h10000008; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220560.4]
+  assign _T_506 = ibuf_io_inst_0_bits_inst_bits & 32'h80000008; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220561.4]
+  assign _T_507 = _T_506 == 32'h80000008; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220562.4]
+  assign _T_509 = _T_485 | _T_503; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220564.4]
+  assign _T_510 = _T_509 | _T_505; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220565.4]
+  assign _T_511 = _T_510 | _T_507; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220566.4]
+  assign _T_512 = ibuf_io_inst_0_bits_inst_bits & 32'h18001008; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220567.4]
+  assign _T_513 = _T_512 == 32'h8; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220568.4]
+  assign _T_515 = {_T_501,_T_495}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220570.4]
+  assign _T_516 = {1'h0,_T_513}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220571.4]
+  assign _T_517 = {_T_516,_T_511}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220572.4]
+  assign id_ctrl_mem_cmd = {_T_517,_T_515}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220573.4]
+  assign _T_519 = ibuf_io_inst_0_bits_inst_bits & 32'h1000; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220574.4]
+  assign _T_520 = _T_519 == 32'h1000; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220575.4]
+  assign _T_522 = ibuf_io_inst_0_bits_inst_bits & 32'h2000; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220577.4]
+  assign _T_523 = _T_522 == 32'h2000; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220578.4]
+  assign _T_525 = ibuf_io_inst_0_bits_inst_bits & 32'h4000; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220580.4]
+  assign _T_526 = _T_525 == 32'h4000; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220581.4]
+  assign _T_528 = {_T_526,_T_523}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220583.4]
+  assign id_ctrl_mem_type = {_T_528,_T_520}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220584.4]
+  assign _T_530 = ibuf_io_inst_0_bits_inst_bits & 32'h2000074; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220585.4]
+  assign id_ctrl_div = _T_530 == 32'h2000030; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220586.4]
+  assign _T_534 = _T_486 == 32'h0; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220589.4]
+  assign _T_536 = _T_380 == 32'h10; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220591.4]
+  assign _T_537 = ibuf_io_inst_0_bits_inst_bits & 32'h1010; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220592.4]
+  assign _T_538 = _T_537 == 32'h1010; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220593.4]
+  assign _T_540 = _T_484 == 32'h2008; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220595.4]
+  assign _T_541 = ibuf_io_inst_0_bits_inst_bits & 32'h2010; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220596.4]
+  assign _T_542 = _T_541 == 32'h2010; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220597.4]
+  assign _T_544 = _T_534 | _T_364; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220599.4]
+  assign _T_545 = _T_544 | _T_536; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220600.4]
+  assign _T_546 = _T_545 | id_ctrl_jal; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220601.4]
+  assign _T_547 = _T_546 | _T_538; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220602.4]
+  assign _T_548 = _T_547 | _T_540; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220603.4]
+  assign id_ctrl_wxd = _T_548 | _T_542; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220604.4]
+  assign _T_550 = ibuf_io_inst_0_bits_inst_bits & 32'h1050; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220605.4]
+  assign _T_551 = _T_550 == 32'h1050; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220606.4]
+  assign _T_554 = _T_353 == 32'h2050; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220609.4]
+  assign _T_557 = _T_380 == 32'h50; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220612.4]
+  assign _T_559 = {_T_557,_T_554}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220614.4]
+  assign id_ctrl_csr = {_T_559,_T_551}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220615.4]
+  assign _T_561 = ibuf_io_inst_0_bits_inst_bits & 32'h1048; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220616.4]
+  assign id_ctrl_fence_i = _T_561 == 32'h1008; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220617.4]
+  assign _T_564 = ibuf_io_inst_0_bits_inst_bits & 32'h3048; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220619.4]
+  assign id_ctrl_fence = _T_564 == 32'h8; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220620.4]
+  assign _T_567 = ibuf_io_inst_0_bits_inst_bits & 32'h2048; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220622.4]
+  assign id_ctrl_amo = _T_567 == 32'h2008; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220623.4]
+  assign _T_577 = ibuf_io_inst_0_bits_inst_rs1 == 5'h0; // @[RocketCore.scala 917:45:shc.marmotcaravel.MarmotCaravelConfig.fir@220660.4]
+  assign _T_579 = ibuf_io_inst_0_bits_inst_rs1; // @[RocketCore.scala 911:44:shc.marmotcaravel.MarmotCaravelConfig.fir@220662.4]
+  assign _T_582 = _T_574__T_581_data; // @[RocketCore.scala 917:25:shc.marmotcaravel.MarmotCaravelConfig.fir@220665.4]
+  assign _T_587 = ibuf_io_inst_0_bits_inst_rs2; // @[RocketCore.scala 911:44:shc.marmotcaravel.MarmotCaravelConfig.fir@220671.4]
+  assign _T_590 = _T_574__T_589_data; // @[RocketCore.scala 917:25:shc.marmotcaravel.MarmotCaravelConfig.fir@220674.4]
+  assign _T_661 = id_ctrl_csr == 3'h6; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@220749.4]
+  assign _T_662 = id_ctrl_csr == 3'h7; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@220750.4]
+  assign _T_663 = id_ctrl_csr == 3'h5; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@220751.4]
+  assign _T_664 = _T_661 | _T_662; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@220752.4]
+  assign id_csr_en = _T_664 | _T_663; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@220753.4]
+  assign id_system_insn = id_ctrl_csr == 3'h4; // @[RocketCore.scala 246:36:shc.marmotcaravel.MarmotCaravelConfig.fir@220754.4]
+  assign id_csr_ren = _T_664 & _T_577; // @[RocketCore.scala 247:54:shc.marmotcaravel.MarmotCaravelConfig.fir@220759.4]
+  assign _T_669 = id_ctrl_mem_cmd == 5'h14; // @[RocketCore.scala 249:50:shc.marmotcaravel.MarmotCaravelConfig.fir@220761.4]
+  assign id_sfence = id_ctrl_mem & _T_669; // @[RocketCore.scala 249:31:shc.marmotcaravel.MarmotCaravelConfig.fir@220762.4]
+  assign _T_670 = id_sfence | id_system_insn; // @[RocketCore.scala 250:32:shc.marmotcaravel.MarmotCaravelConfig.fir@220763.4]
+  assign _T_671 = id_csr_ren == 1'h0; // @[RocketCore.scala 250:67:shc.marmotcaravel.MarmotCaravelConfig.fir@220764.4]
+  assign _T_672 = id_csr_en & _T_671; // @[RocketCore.scala 250:64:shc.marmotcaravel.MarmotCaravelConfig.fir@220765.4]
+  assign _T_673 = _T_672 & csr_io_decode_0_write_flush; // @[RocketCore.scala 250:79:shc.marmotcaravel.MarmotCaravelConfig.fir@220766.4]
+  assign id_csr_flush = _T_670 | _T_673; // @[RocketCore.scala 250:50:shc.marmotcaravel.MarmotCaravelConfig.fir@220767.4]
+  assign _T_674 = id_ctrl_legal == 1'h0; // @[RocketCore.scala 258:25:shc.marmotcaravel.MarmotCaravelConfig.fir@220768.4]
+  assign _T_676 = csr_io_status_isa[12]; // @[RocketCore.scala 259:55:shc.marmotcaravel.MarmotCaravelConfig.fir@220770.4]
+  assign _T_677 = _T_676 == 1'h0; // @[RocketCore.scala 259:37:shc.marmotcaravel.MarmotCaravelConfig.fir@220771.4]
+  assign _T_678 = id_ctrl_div & _T_677; // @[RocketCore.scala 259:34:shc.marmotcaravel.MarmotCaravelConfig.fir@220772.4]
+  assign _T_679 = _T_674 | _T_678; // @[RocketCore.scala 258:40:shc.marmotcaravel.MarmotCaravelConfig.fir@220773.4]
+  assign _T_680 = csr_io_status_isa[0]; // @[RocketCore.scala 260:38:shc.marmotcaravel.MarmotCaravelConfig.fir@220774.4]
+  assign _T_681 = _T_680 == 1'h0; // @[RocketCore.scala 260:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220775.4]
+  assign _T_682 = id_ctrl_amo & _T_681; // @[RocketCore.scala 260:17:shc.marmotcaravel.MarmotCaravelConfig.fir@220776.4]
+  assign _T_683 = _T_679 | _T_682; // @[RocketCore.scala 259:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220777.4]
+  assign _T_691 = csr_io_status_isa[2]; // @[RocketCore.scala 263:51:shc.marmotcaravel.MarmotCaravelConfig.fir@220785.4]
+  assign _T_692 = _T_691 == 1'h0; // @[RocketCore.scala 263:33:shc.marmotcaravel.MarmotCaravelConfig.fir@220786.4]
+  assign _T_693 = ibuf_io_inst_0_bits_rvc & _T_692; // @[RocketCore.scala 263:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220787.4]
+  assign _T_694 = _T_683 | _T_693; // @[RocketCore.scala 262:47:shc.marmotcaravel.MarmotCaravelConfig.fir@220788.4]
+  assign _T_700 = _T_671 & csr_io_decode_0_write_illegal; // @[RocketCore.scala 266:64:shc.marmotcaravel.MarmotCaravelConfig.fir@220794.4]
+  assign _T_701 = csr_io_decode_0_read_illegal | _T_700; // @[RocketCore.scala 266:49:shc.marmotcaravel.MarmotCaravelConfig.fir@220795.4]
+  assign _T_702 = id_csr_en & _T_701; // @[RocketCore.scala 266:15:shc.marmotcaravel.MarmotCaravelConfig.fir@220796.4]
+  assign id_illegal_insn = _T_694 | _T_702; // @[RocketCore.scala 265:73:shc.marmotcaravel.MarmotCaravelConfig.fir@220797.4]
+  assign id_amo_aq = ibuf_io_inst_0_bits_inst_bits[26]; // @[RocketCore.scala 269:29:shc.marmotcaravel.MarmotCaravelConfig.fir@220803.4]
+  assign id_amo_rl = ibuf_io_inst_0_bits_inst_bits[25]; // @[RocketCore.scala 270:29:shc.marmotcaravel.MarmotCaravelConfig.fir@220804.4]
+  assign _T_708 = id_ctrl_amo & id_amo_aq; // @[RocketCore.scala 271:52:shc.marmotcaravel.MarmotCaravelConfig.fir@220805.4]
+  assign id_fence_next = id_ctrl_fence | _T_708; // @[RocketCore.scala 271:37:shc.marmotcaravel.MarmotCaravelConfig.fir@220806.4]
+  assign _T_709 = io_dmem_ordered == 1'h0; // @[RocketCore.scala 272:21:shc.marmotcaravel.MarmotCaravelConfig.fir@220807.4]
+  assign id_mem_busy = _T_709 | io_dmem_req_valid; // @[RocketCore.scala 272:38:shc.marmotcaravel.MarmotCaravelConfig.fir@220808.4]
+  assign _T_710 = id_mem_busy == 1'h0; // @[RocketCore.scala 273:9:shc.marmotcaravel.MarmotCaravelConfig.fir@220809.4]
+  assign _T_718 = id_ctrl_amo & id_amo_rl; // @[RocketCore.scala 278:33:shc.marmotcaravel.MarmotCaravelConfig.fir@220821.4]
+  assign _T_719 = _T_718 | id_ctrl_fence_i; // @[RocketCore.scala 278:46:shc.marmotcaravel.MarmotCaravelConfig.fir@220822.4]
+  assign _T_721 = id_reg_fence & id_ctrl_mem; // @[RocketCore.scala 278:81:shc.marmotcaravel.MarmotCaravelConfig.fir@220824.4]
+  assign _T_722 = _T_719 | _T_721; // @[RocketCore.scala 278:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220825.4]
+  assign id_do_fence = id_mem_busy & _T_722; // @[RocketCore.scala 278:17:shc.marmotcaravel.MarmotCaravelConfig.fir@220826.4]
+  assign _T_726 = csr_io_interrupt | bpu_io_debug_if; // @[RocketCore.scala 870:26:shc.marmotcaravel.MarmotCaravelConfig.fir@220839.4]
+  assign _T_727 = _T_726 | bpu_io_xcpt_if; // @[RocketCore.scala 870:26:shc.marmotcaravel.MarmotCaravelConfig.fir@220840.4]
+  assign _T_728 = _T_727 | ibuf_io_inst_0_bits_xcpt0_pf_inst; // @[RocketCore.scala 870:26:shc.marmotcaravel.MarmotCaravelConfig.fir@220841.4]
+  assign _T_729 = _T_728 | ibuf_io_inst_0_bits_xcpt0_ae_inst; // @[RocketCore.scala 870:26:shc.marmotcaravel.MarmotCaravelConfig.fir@220842.4]
+  assign _T_730 = _T_729 | ibuf_io_inst_0_bits_xcpt1_pf_inst; // @[RocketCore.scala 870:26:shc.marmotcaravel.MarmotCaravelConfig.fir@220843.4]
+  assign _T_731 = _T_730 | ibuf_io_inst_0_bits_xcpt1_ae_inst; // @[RocketCore.scala 870:26:shc.marmotcaravel.MarmotCaravelConfig.fir@220844.4]
+  assign id_xcpt = _T_731 | id_illegal_insn; // @[RocketCore.scala 870:26:shc.marmotcaravel.MarmotCaravelConfig.fir@220845.4]
+  assign _T_732 = ibuf_io_inst_0_bits_xcpt1_ae_inst ? 2'h1 : 2'h2; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@220846.4]
+  assign _T_733 = ibuf_io_inst_0_bits_xcpt1_pf_inst ? 4'hc : {{2'd0}, _T_732}; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@220847.4]
+  assign _T_734 = ibuf_io_inst_0_bits_xcpt0_ae_inst ? 4'h1 : _T_733; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@220848.4]
+  assign _T_735 = ibuf_io_inst_0_bits_xcpt0_pf_inst ? 4'hc : _T_734; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@220849.4]
+  assign _T_736 = bpu_io_xcpt_if ? 4'h3 : _T_735; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@220850.4]
+  assign _T_737 = bpu_io_debug_if ? 4'he : _T_736; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@220851.4]
+  assign ex_waddr = ex_reg_inst[11:7]; // @[RocketCore.scala 313:29:shc.marmotcaravel.MarmotCaravelConfig.fir@220864.4]
+  assign mem_waddr = mem_reg_inst[11:7]; // @[RocketCore.scala 314:31:shc.marmotcaravel.MarmotCaravelConfig.fir@220865.4]
+  assign wb_waddr = wb_reg_inst[11:7]; // @[RocketCore.scala 315:29:shc.marmotcaravel.MarmotCaravelConfig.fir@220866.4]
+  assign _T_748 = ex_reg_valid & ex_ctrl_wxd; // @[RocketCore.scala 318:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220867.4]
+  assign _T_749 = mem_reg_valid & mem_ctrl_wxd; // @[RocketCore.scala 319:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220868.4]
+  assign _T_750 = mem_ctrl_mem == 1'h0; // @[RocketCore.scala 319:39:shc.marmotcaravel.MarmotCaravelConfig.fir@220869.4]
+  assign _T_751 = _T_749 & _T_750; // @[RocketCore.scala 319:36:shc.marmotcaravel.MarmotCaravelConfig.fir@220870.4]
+  assign _T_753 = 5'h0 == ibuf_io_inst_0_bits_inst_rs1; // @[RocketCore.scala 321:82:shc.marmotcaravel.MarmotCaravelConfig.fir@220872.4]
+  assign _T_755 = ex_waddr == ibuf_io_inst_0_bits_inst_rs1; // @[RocketCore.scala 321:82:shc.marmotcaravel.MarmotCaravelConfig.fir@220874.4]
+  assign _T_756 = _T_748 & _T_755; // @[RocketCore.scala 321:74:shc.marmotcaravel.MarmotCaravelConfig.fir@220875.4]
+  assign _T_757 = mem_waddr == ibuf_io_inst_0_bits_inst_rs1; // @[RocketCore.scala 321:82:shc.marmotcaravel.MarmotCaravelConfig.fir@220876.4]
+  assign _T_758 = _T_751 & _T_757; // @[RocketCore.scala 321:74:shc.marmotcaravel.MarmotCaravelConfig.fir@220877.4]
+  assign _T_760 = _T_749 & _T_757; // @[RocketCore.scala 321:74:shc.marmotcaravel.MarmotCaravelConfig.fir@220879.4]
+  assign _T_761 = 5'h0 == ibuf_io_inst_0_bits_inst_rs2; // @[RocketCore.scala 321:82:shc.marmotcaravel.MarmotCaravelConfig.fir@220880.4]
+  assign _T_763 = ex_waddr == ibuf_io_inst_0_bits_inst_rs2; // @[RocketCore.scala 321:82:shc.marmotcaravel.MarmotCaravelConfig.fir@220882.4]
+  assign _T_764 = _T_748 & _T_763; // @[RocketCore.scala 321:74:shc.marmotcaravel.MarmotCaravelConfig.fir@220883.4]
+  assign _T_765 = mem_waddr == ibuf_io_inst_0_bits_inst_rs2; // @[RocketCore.scala 321:82:shc.marmotcaravel.MarmotCaravelConfig.fir@220884.4]
+  assign _T_766 = _T_751 & _T_765; // @[RocketCore.scala 321:74:shc.marmotcaravel.MarmotCaravelConfig.fir@220885.4]
+  assign _T_768 = _T_749 & _T_765; // @[RocketCore.scala 321:74:shc.marmotcaravel.MarmotCaravelConfig.fir@220887.4]
+  assign _T_790 = ex_reg_rs_lsb_0 == 2'h1; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@220891.4]
+  assign _T_791 = _T_790 ? mem_reg_wdata : 32'h0; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220892.4]
+  assign _T_792 = ex_reg_rs_lsb_0 == 2'h2; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@220893.4]
+  assign _T_793 = _T_792 ? wb_reg_wdata : _T_791; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220894.4]
+  assign _T_794 = ex_reg_rs_lsb_0 == 2'h3; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@220895.4]
+  assign _T_795 = _T_794 ? io_dmem_resp_bits_data_word_bypass : _T_793; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220896.4]
+  assign _T_796 = {ex_reg_rs_msb_0,ex_reg_rs_lsb_0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220897.4]
+  assign _T_797 = ex_reg_rs_bypass_0 ? _T_795 : _T_796; // @[RocketCore.scala 329:14:shc.marmotcaravel.MarmotCaravelConfig.fir@220898.4]
+  assign _T_798 = ex_reg_rs_lsb_1 == 2'h1; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@220899.4]
+  assign _T_799 = _T_798 ? mem_reg_wdata : 32'h0; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220900.4]
+  assign _T_800 = ex_reg_rs_lsb_1 == 2'h2; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@220901.4]
+  assign _T_801 = _T_800 ? wb_reg_wdata : _T_799; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220902.4]
+  assign _T_802 = ex_reg_rs_lsb_1 == 2'h3; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@220903.4]
+  assign _T_803 = _T_802 ? io_dmem_resp_bits_data_word_bypass : _T_801; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220904.4]
+  assign _T_804 = {ex_reg_rs_msb_1,ex_reg_rs_lsb_1}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220905.4]
+  assign _T_805 = ex_reg_rs_bypass_1 ? _T_803 : _T_804; // @[RocketCore.scala 329:14:shc.marmotcaravel.MarmotCaravelConfig.fir@220906.4]
+  assign _T_806 = ex_ctrl_sel_imm == 3'h5; // @[RocketCore.scala 932:24:shc.marmotcaravel.MarmotCaravelConfig.fir@220907.4]
+  assign _T_807 = ex_reg_inst[31]; // @[RocketCore.scala 932:48:shc.marmotcaravel.MarmotCaravelConfig.fir@220908.4]
+  assign _T_808 = $signed(_T_807); // @[RocketCore.scala 932:53:shc.marmotcaravel.MarmotCaravelConfig.fir@220909.4]
+  assign _T_809 = _T_806 ? $signed(1'sh0) : $signed(_T_808); // @[RocketCore.scala 932:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220910.4]
+  assign _T_810 = ex_ctrl_sel_imm == 3'h2; // @[RocketCore.scala 933:26:shc.marmotcaravel.MarmotCaravelConfig.fir@220911.4]
+  assign _T_811 = ex_reg_inst[30:20]; // @[RocketCore.scala 933:41:shc.marmotcaravel.MarmotCaravelConfig.fir@220912.4]
+  assign _T_812 = $signed(_T_811); // @[RocketCore.scala 933:49:shc.marmotcaravel.MarmotCaravelConfig.fir@220913.4]
+  assign _T_813 = _T_810 ? $signed(_T_812) : $signed({11{_T_809}}); // @[RocketCore.scala 933:21:shc.marmotcaravel.MarmotCaravelConfig.fir@220914.4]
+  assign _T_814 = ex_ctrl_sel_imm != 3'h2; // @[RocketCore.scala 934:26:shc.marmotcaravel.MarmotCaravelConfig.fir@220915.4]
+  assign _T_815 = ex_ctrl_sel_imm != 3'h3; // @[RocketCore.scala 934:43:shc.marmotcaravel.MarmotCaravelConfig.fir@220916.4]
+  assign _T_816 = _T_814 & _T_815; // @[RocketCore.scala 934:36:shc.marmotcaravel.MarmotCaravelConfig.fir@220917.4]
+  assign _T_817 = ex_reg_inst[19:12]; // @[RocketCore.scala 934:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220918.4]
+  assign _T_818 = $signed(_T_817); // @[RocketCore.scala 934:73:shc.marmotcaravel.MarmotCaravelConfig.fir@220919.4]
+  assign _T_819 = _T_816 ? $signed({8{_T_809}}) : $signed(_T_818); // @[RocketCore.scala 934:21:shc.marmotcaravel.MarmotCaravelConfig.fir@220920.4]
+  assign _T_822 = _T_810 | _T_806; // @[RocketCore.scala 935:33:shc.marmotcaravel.MarmotCaravelConfig.fir@220923.4]
+  assign _T_823 = ex_ctrl_sel_imm == 3'h3; // @[RocketCore.scala 936:23:shc.marmotcaravel.MarmotCaravelConfig.fir@220924.4]
+  assign _T_824 = ex_reg_inst[20]; // @[RocketCore.scala 936:39:shc.marmotcaravel.MarmotCaravelConfig.fir@220925.4]
+  assign _T_825 = $signed(_T_824); // @[RocketCore.scala 936:44:shc.marmotcaravel.MarmotCaravelConfig.fir@220926.4]
+  assign _T_826 = ex_ctrl_sel_imm == 3'h1; // @[RocketCore.scala 937:23:shc.marmotcaravel.MarmotCaravelConfig.fir@220927.4]
+  assign _T_827 = ex_reg_inst[7]; // @[RocketCore.scala 937:39:shc.marmotcaravel.MarmotCaravelConfig.fir@220928.4]
+  assign _T_828 = $signed(_T_827); // @[RocketCore.scala 937:43:shc.marmotcaravel.MarmotCaravelConfig.fir@220929.4]
+  assign _T_829 = _T_826 ? $signed(_T_828) : $signed(_T_809); // @[RocketCore.scala 937:18:shc.marmotcaravel.MarmotCaravelConfig.fir@220930.4]
+  assign _T_830 = _T_823 ? $signed(_T_825) : $signed(_T_829); // @[RocketCore.scala 936:18:shc.marmotcaravel.MarmotCaravelConfig.fir@220931.4]
+  assign _T_831 = _T_822 ? $signed(1'sh0) : $signed(_T_830); // @[RocketCore.scala 935:18:shc.marmotcaravel.MarmotCaravelConfig.fir@220932.4]
+  assign _T_835 = ex_reg_inst[30:25]; // @[RocketCore.scala 938:66:shc.marmotcaravel.MarmotCaravelConfig.fir@220936.4]
+  assign _T_836 = _T_822 ? 6'h0 : _T_835; // @[RocketCore.scala 938:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220937.4]
+  assign _T_838 = ex_ctrl_sel_imm == 3'h0; // @[RocketCore.scala 940:24:shc.marmotcaravel.MarmotCaravelConfig.fir@220939.4]
+  assign _T_840 = _T_838 | _T_826; // @[RocketCore.scala 940:34:shc.marmotcaravel.MarmotCaravelConfig.fir@220941.4]
+  assign _T_841 = ex_reg_inst[11:8]; // @[RocketCore.scala 940:57:shc.marmotcaravel.MarmotCaravelConfig.fir@220942.4]
+  assign _T_843 = ex_reg_inst[19:16]; // @[RocketCore.scala 941:39:shc.marmotcaravel.MarmotCaravelConfig.fir@220944.4]
+  assign _T_844 = ex_reg_inst[24:21]; // @[RocketCore.scala 941:52:shc.marmotcaravel.MarmotCaravelConfig.fir@220945.4]
+  assign _T_845 = _T_806 ? _T_843 : _T_844; // @[RocketCore.scala 941:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220946.4]
+  assign _T_846 = _T_840 ? _T_841 : _T_845; // @[RocketCore.scala 940:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220947.4]
+  assign _T_847 = _T_810 ? 4'h0 : _T_846; // @[RocketCore.scala 939:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220948.4]
+  assign _T_850 = ex_ctrl_sel_imm == 3'h4; // @[RocketCore.scala 943:22:shc.marmotcaravel.MarmotCaravelConfig.fir@220951.4]
+  assign _T_853 = ex_reg_inst[15]; // @[RocketCore.scala 944:37:shc.marmotcaravel.MarmotCaravelConfig.fir@220954.4]
+  assign _T_854 = _T_806 ? _T_853 : 1'h0; // @[RocketCore.scala 944:17:shc.marmotcaravel.MarmotCaravelConfig.fir@220955.4]
+  assign _T_855 = _T_850 ? _T_824 : _T_854; // @[RocketCore.scala 943:17:shc.marmotcaravel.MarmotCaravelConfig.fir@220956.4]
+  assign _T_856 = _T_838 ? _T_827 : _T_855; // @[RocketCore.scala 942:17:shc.marmotcaravel.MarmotCaravelConfig.fir@220957.4]
+  assign _T_857 = {_T_836,_T_847}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220958.4]
+  assign _T_858 = {_T_857,_T_856}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220959.4]
+  assign _T_859 = $unsigned(_T_831); // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220960.4]
+  assign _T_860 = $unsigned(_T_819); // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220961.4]
+  assign _T_861 = {_T_860,_T_859}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220962.4]
+  assign _T_862 = $unsigned(_T_813); // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220963.4]
+  assign _T_863 = $unsigned(_T_809); // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220964.4]
+  assign _T_864 = {_T_863,_T_862}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220965.4]
+  assign _T_865 = {_T_864,_T_861}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220966.4]
+  assign _T_866 = {_T_865,_T_858}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220967.4]
+  assign ex_imm = $signed(_T_866); // @[RocketCore.scala 946:53:shc.marmotcaravel.MarmotCaravelConfig.fir@220968.4]
+  assign _T_867 = $signed(_T_797); // @[RocketCore.scala 332:24:shc.marmotcaravel.MarmotCaravelConfig.fir@220969.4]
+  assign _T_868 = $signed(ex_reg_pc); // @[RocketCore.scala 333:24:shc.marmotcaravel.MarmotCaravelConfig.fir@220970.4]
+  assign _T_869 = 2'h2 == ex_ctrl_sel_alu1; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220971.4]
+  assign _T_870 = _T_869 ? $signed(_T_868) : $signed(32'sh0); // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@220972.4]
+  assign _T_871 = 2'h1 == ex_ctrl_sel_alu1; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220973.4]
+  assign ex_op1 = _T_871 ? $signed(_T_867) : $signed(_T_870); // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@220974.4]
+  assign _T_872 = $signed(_T_805); // @[RocketCore.scala 335:24:shc.marmotcaravel.MarmotCaravelConfig.fir@220975.4]
+  assign _T_873 = ex_reg_rvc ? $signed(4'sh2) : $signed(4'sh4); // @[RocketCore.scala 337:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220976.4]
+  assign _T_874 = 2'h1 == ex_ctrl_sel_alu2; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220977.4]
+  assign _T_875 = _T_874 ? $signed(_T_873) : $signed(4'sh0); // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@220978.4]
+  assign _T_876 = 2'h3 == ex_ctrl_sel_alu2; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220979.4]
+  assign _T_877 = _T_876 ? $signed(ex_imm) : $signed({{28{_T_875[3]}},_T_875}); // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@220980.4]
+  assign _T_878 = 2'h2 == ex_ctrl_sel_alu2; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220981.4]
+  assign ex_op2 = _T_878 ? $signed(_T_872) : $signed(_T_877); // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@220982.4]
+  assign _T_1494 = ibuf_io_inst_0_valid == 1'h0; // @[RocketCore.scala 702:17:shc.marmotcaravel.MarmotCaravelConfig.fir@221842.4]
+  assign _T_1495 = _T_1494 | ibuf_io_inst_0_bits_replay; // @[RocketCore.scala 702:40:shc.marmotcaravel.MarmotCaravelConfig.fir@221843.4]
+  assign _T_1496 = _T_1495 | take_pc_mem_wb; // @[RocketCore.scala 702:71:shc.marmotcaravel.MarmotCaravelConfig.fir@221844.4]
+  assign _T_1333 = ibuf_io_inst_0_bits_inst_rs1 != 5'h0; // @[RocketCore.scala 634:55:shc.marmotcaravel.MarmotCaravelConfig.fir@221658.4]
+  assign _T_1334 = id_ctrl_rxs1 & _T_1333; // @[RocketCore.scala 634:42:shc.marmotcaravel.MarmotCaravelConfig.fir@221659.4]
+  assign _T_1381 = ibuf_io_inst_0_bits_inst_rs1 == ex_waddr; // @[RocketCore.scala 654:70:shc.marmotcaravel.MarmotCaravelConfig.fir@221713.4]
+  assign _T_1382 = _T_1334 & _T_1381; // @[RocketCore.scala 879:27:shc.marmotcaravel.MarmotCaravelConfig.fir@221714.4]
+  assign _T_1335 = ibuf_io_inst_0_bits_inst_rs2 != 5'h0; // @[RocketCore.scala 635:55:shc.marmotcaravel.MarmotCaravelConfig.fir@221660.4]
+  assign _T_1336 = id_ctrl_rxs2 & _T_1335; // @[RocketCore.scala 635:42:shc.marmotcaravel.MarmotCaravelConfig.fir@221661.4]
+  assign _T_1383 = ibuf_io_inst_0_bits_inst_rs2 == ex_waddr; // @[RocketCore.scala 654:70:shc.marmotcaravel.MarmotCaravelConfig.fir@221715.4]
+  assign _T_1384 = _T_1336 & _T_1383; // @[RocketCore.scala 879:27:shc.marmotcaravel.MarmotCaravelConfig.fir@221716.4]
+  assign _T_1387 = _T_1382 | _T_1384; // @[RocketCore.scala 879:50:shc.marmotcaravel.MarmotCaravelConfig.fir@221719.4]
+  assign _T_1337 = ibuf_io_inst_0_bits_inst_rd != 5'h0; // @[RocketCore.scala 636:55:shc.marmotcaravel.MarmotCaravelConfig.fir@221662.4]
+  assign _T_1338 = id_ctrl_wxd & _T_1337; // @[RocketCore.scala 636:42:shc.marmotcaravel.MarmotCaravelConfig.fir@221663.4]
+  assign _T_1385 = ibuf_io_inst_0_bits_inst_rd == ex_waddr; // @[RocketCore.scala 654:70:shc.marmotcaravel.MarmotCaravelConfig.fir@221717.4]
+  assign _T_1386 = _T_1338 & _T_1385; // @[RocketCore.scala 879:27:shc.marmotcaravel.MarmotCaravelConfig.fir@221718.4]
+  assign _T_1388 = _T_1387 | _T_1386; // @[RocketCore.scala 879:50:shc.marmotcaravel.MarmotCaravelConfig.fir@221720.4]
+  assign data_hazard_ex = ex_ctrl_wxd & _T_1388; // @[RocketCore.scala 654:36:shc.marmotcaravel.MarmotCaravelConfig.fir@221721.4]
+  assign _T_1375 = ex_ctrl_csr != 3'h0; // @[RocketCore.scala 653:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221706.4]
+  assign _T_1376 = _T_1375 | ex_ctrl_jalr; // @[RocketCore.scala 653:48:shc.marmotcaravel.MarmotCaravelConfig.fir@221707.4]
+  assign _T_1377 = _T_1376 | ex_ctrl_mem; // @[RocketCore.scala 653:64:shc.marmotcaravel.MarmotCaravelConfig.fir@221708.4]
+  assign ex_cannot_bypass = _T_1377 | ex_ctrl_div; // @[RocketCore.scala 653:94:shc.marmotcaravel.MarmotCaravelConfig.fir@221710.4]
+  assign _T_1400 = data_hazard_ex & ex_cannot_bypass; // @[RocketCore.scala 656:54:shc.marmotcaravel.MarmotCaravelConfig.fir@221734.4]
+  assign id_ex_hazard = ex_reg_valid & _T_1400; // @[RocketCore.scala 656:35:shc.marmotcaravel.MarmotCaravelConfig.fir@221736.4]
+  assign _T_1408 = ibuf_io_inst_0_bits_inst_rs1 == mem_waddr; // @[RocketCore.scala 663:72:shc.marmotcaravel.MarmotCaravelConfig.fir@221745.4]
+  assign _T_1409 = _T_1334 & _T_1408; // @[RocketCore.scala 879:27:shc.marmotcaravel.MarmotCaravelConfig.fir@221746.4]
+  assign _T_1410 = ibuf_io_inst_0_bits_inst_rs2 == mem_waddr; // @[RocketCore.scala 663:72:shc.marmotcaravel.MarmotCaravelConfig.fir@221747.4]
+  assign _T_1411 = _T_1336 & _T_1410; // @[RocketCore.scala 879:27:shc.marmotcaravel.MarmotCaravelConfig.fir@221748.4]
+  assign _T_1414 = _T_1409 | _T_1411; // @[RocketCore.scala 879:50:shc.marmotcaravel.MarmotCaravelConfig.fir@221751.4]
+  assign _T_1412 = ibuf_io_inst_0_bits_inst_rd == mem_waddr; // @[RocketCore.scala 663:72:shc.marmotcaravel.MarmotCaravelConfig.fir@221749.4]
+  assign _T_1413 = _T_1338 & _T_1412; // @[RocketCore.scala 879:27:shc.marmotcaravel.MarmotCaravelConfig.fir@221750.4]
+  assign _T_1415 = _T_1414 | _T_1413; // @[RocketCore.scala 879:50:shc.marmotcaravel.MarmotCaravelConfig.fir@221752.4]
+  assign data_hazard_mem = mem_ctrl_wxd & _T_1415; // @[RocketCore.scala 663:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221753.4]
+  assign _T_1402 = mem_ctrl_csr != 3'h0; // @[RocketCore.scala 662:40:shc.marmotcaravel.MarmotCaravelConfig.fir@221738.4]
+  assign _T_1403 = mem_ctrl_mem & mem_reg_slow_bypass; // @[RocketCore.scala 662:66:shc.marmotcaravel.MarmotCaravelConfig.fir@221739.4]
+  assign _T_1404 = _T_1402 | _T_1403; // @[RocketCore.scala 662:50:shc.marmotcaravel.MarmotCaravelConfig.fir@221740.4]
+  assign _T_1405 = _T_1404 | mem_ctrl_mul; // @[RocketCore.scala 662:84:shc.marmotcaravel.MarmotCaravelConfig.fir@221741.4]
+  assign _T_1406 = _T_1405 | mem_ctrl_div; // @[RocketCore.scala 662:100:shc.marmotcaravel.MarmotCaravelConfig.fir@221742.4]
+  assign _T_1407 = _T_1406 | mem_ctrl_fp; // @[RocketCore.scala 662:116:shc.marmotcaravel.MarmotCaravelConfig.fir@221743.4]
+  assign mem_cannot_bypass = _T_1407 | mem_ctrl_rocc; // @[RocketCore.scala 662:131:shc.marmotcaravel.MarmotCaravelConfig.fir@221744.4]
+  assign _T_1427 = data_hazard_mem & mem_cannot_bypass; // @[RocketCore.scala 665:57:shc.marmotcaravel.MarmotCaravelConfig.fir@221766.4]
+  assign id_mem_hazard = mem_reg_valid & _T_1427; // @[RocketCore.scala 665:37:shc.marmotcaravel.MarmotCaravelConfig.fir@221768.4]
+  assign _T_1467 = id_ex_hazard | id_mem_hazard; // @[RocketCore.scala 692:18:shc.marmotcaravel.MarmotCaravelConfig.fir@221814.4]
+  assign _T_1431 = ibuf_io_inst_0_bits_inst_rs1 == wb_waddr; // @[RocketCore.scala 669:70:shc.marmotcaravel.MarmotCaravelConfig.fir@221772.4]
+  assign _T_1432 = _T_1334 & _T_1431; // @[RocketCore.scala 879:27:shc.marmotcaravel.MarmotCaravelConfig.fir@221773.4]
+  assign _T_1433 = ibuf_io_inst_0_bits_inst_rs2 == wb_waddr; // @[RocketCore.scala 669:70:shc.marmotcaravel.MarmotCaravelConfig.fir@221774.4]
+  assign _T_1434 = _T_1336 & _T_1433; // @[RocketCore.scala 879:27:shc.marmotcaravel.MarmotCaravelConfig.fir@221775.4]
+  assign _T_1437 = _T_1432 | _T_1434; // @[RocketCore.scala 879:50:shc.marmotcaravel.MarmotCaravelConfig.fir@221778.4]
+  assign _T_1435 = ibuf_io_inst_0_bits_inst_rd == wb_waddr; // @[RocketCore.scala 669:70:shc.marmotcaravel.MarmotCaravelConfig.fir@221776.4]
+  assign _T_1436 = _T_1338 & _T_1435; // @[RocketCore.scala 879:27:shc.marmotcaravel.MarmotCaravelConfig.fir@221777.4]
+  assign _T_1438 = _T_1437 | _T_1436; // @[RocketCore.scala 879:50:shc.marmotcaravel.MarmotCaravelConfig.fir@221779.4]
+  assign data_hazard_wb = wb_ctrl_wxd & _T_1438; // @[RocketCore.scala 669:36:shc.marmotcaravel.MarmotCaravelConfig.fir@221780.4]
+  assign _T_924 = io_dmem_resp_valid == 1'h0; // @[RocketCore.scala 426:39:shc.marmotcaravel.MarmotCaravelConfig.fir@221108.4]
+  assign wb_dcache_miss = wb_ctrl_mem & _T_924; // @[RocketCore.scala 426:36:shc.marmotcaravel.MarmotCaravelConfig.fir@221109.4]
+  assign _T_1271 = wb_ctrl_div | wb_dcache_miss; // @[RocketCore.scala 562:35:shc.marmotcaravel.MarmotCaravelConfig.fir@221533.4]
+  assign wb_set_sboard = _T_1271 | wb_ctrl_rocc; // @[RocketCore.scala 562:53:shc.marmotcaravel.MarmotCaravelConfig.fir@221534.4]
+  assign _T_1450 = data_hazard_wb & wb_set_sboard; // @[RocketCore.scala 671:54:shc.marmotcaravel.MarmotCaravelConfig.fir@221793.4]
+  assign id_wb_hazard = wb_reg_valid & _T_1450; // @[RocketCore.scala 671:35:shc.marmotcaravel.MarmotCaravelConfig.fir@221795.4]
+  assign _T_1468 = _T_1467 | id_wb_hazard; // @[RocketCore.scala 692:35:shc.marmotcaravel.MarmotCaravelConfig.fir@221815.4]
+  assign _T_1341 = _T_1340[31:1]; // @[RocketCore.scala 897:35:shc.marmotcaravel.MarmotCaravelConfig.fir@221665.4]
+  assign _GEN_240 = {{1'd0}, _T_1341}; // @[RocketCore.scala 897:40:shc.marmotcaravel.MarmotCaravelConfig.fir@221666.4]
+  assign _T_1342 = _GEN_240 << 1; // @[RocketCore.scala 897:40:shc.marmotcaravel.MarmotCaravelConfig.fir@221666.4]
+  assign _T_1348 = _T_1342 >> ibuf_io_inst_0_bits_inst_rs1; // @[RocketCore.scala 893:35:shc.marmotcaravel.MarmotCaravelConfig.fir@221675.4]
+  assign _T_1349 = _T_1348[0]; // @[RocketCore.scala 893:35:shc.marmotcaravel.MarmotCaravelConfig.fir@221676.4]
+  assign dmem_resp_valid = io_dmem_resp_valid & io_dmem_resp_bits_has_data; // @[RocketCore.scala 572:44:shc.marmotcaravel.MarmotCaravelConfig.fir@221550.4]
+  assign dmem_resp_replay = dmem_resp_valid & io_dmem_resp_bits_replay; // @[RocketCore.scala 573:42:shc.marmotcaravel.MarmotCaravelConfig.fir@221551.4]
+  assign _T_1277 = io_dmem_resp_bits_tag[0]; // @[RocketCore.scala 569:45:shc.marmotcaravel.MarmotCaravelConfig.fir@221544.4]
+  assign dmem_resp_xpu = _T_1277 == 1'h0; // @[RocketCore.scala 569:23:shc.marmotcaravel.MarmotCaravelConfig.fir@221546.4]
+  assign _T_1285 = dmem_resp_replay & dmem_resp_xpu; // @[RocketCore.scala 588:26:shc.marmotcaravel.MarmotCaravelConfig.fir@221564.4]
+  assign _T_1283 = div_io_resp_ready & div_io_resp_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@221560.4]
+  assign ll_wen = _T_1285 ? 1'h1 : _T_1283; // @[RocketCore.scala 588:44:shc.marmotcaravel.MarmotCaravelConfig.fir@221565.4]
+  assign dmem_resp_waddr = io_dmem_resp_bits_tag[5:1]; // @[RocketCore.scala 571:46:shc.marmotcaravel.MarmotCaravelConfig.fir@221549.4]
+  assign ll_waddr = _T_1285 ? dmem_resp_waddr : div_io_resp_bits_tag; // @[RocketCore.scala 588:44:shc.marmotcaravel.MarmotCaravelConfig.fir@221565.4]
+  assign _T_1350 = ll_waddr == ibuf_io_inst_0_bits_inst_rs1; // @[RocketCore.scala 646:70:shc.marmotcaravel.MarmotCaravelConfig.fir@221677.4]
+  assign _T_1351 = ll_wen & _T_1350; // @[RocketCore.scala 646:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221678.4]
+  assign _T_1352 = _T_1351 == 1'h0; // @[RocketCore.scala 649:80:shc.marmotcaravel.MarmotCaravelConfig.fir@221679.4]
+  assign _T_1353 = _T_1349 & _T_1352; // @[RocketCore.scala 649:77:shc.marmotcaravel.MarmotCaravelConfig.fir@221680.4]
+  assign _T_1354 = _T_1334 & _T_1353; // @[RocketCore.scala 879:27:shc.marmotcaravel.MarmotCaravelConfig.fir@221681.4]
+  assign _T_1355 = _T_1342 >> ibuf_io_inst_0_bits_inst_rs2; // @[RocketCore.scala 893:35:shc.marmotcaravel.MarmotCaravelConfig.fir@221682.4]
+  assign _T_1356 = _T_1355[0]; // @[RocketCore.scala 893:35:shc.marmotcaravel.MarmotCaravelConfig.fir@221683.4]
+  assign _T_1357 = ll_waddr == ibuf_io_inst_0_bits_inst_rs2; // @[RocketCore.scala 646:70:shc.marmotcaravel.MarmotCaravelConfig.fir@221684.4]
+  assign _T_1358 = ll_wen & _T_1357; // @[RocketCore.scala 646:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221685.4]
+  assign _T_1359 = _T_1358 == 1'h0; // @[RocketCore.scala 649:80:shc.marmotcaravel.MarmotCaravelConfig.fir@221686.4]
+  assign _T_1360 = _T_1356 & _T_1359; // @[RocketCore.scala 649:77:shc.marmotcaravel.MarmotCaravelConfig.fir@221687.4]
+  assign _T_1361 = _T_1336 & _T_1360; // @[RocketCore.scala 879:27:shc.marmotcaravel.MarmotCaravelConfig.fir@221688.4]
+  assign _T_1369 = _T_1354 | _T_1361; // @[RocketCore.scala 879:50:shc.marmotcaravel.MarmotCaravelConfig.fir@221696.4]
+  assign _T_1362 = _T_1342 >> ibuf_io_inst_0_bits_inst_rd; // @[RocketCore.scala 893:35:shc.marmotcaravel.MarmotCaravelConfig.fir@221689.4]
+  assign _T_1363 = _T_1362[0]; // @[RocketCore.scala 893:35:shc.marmotcaravel.MarmotCaravelConfig.fir@221690.4]
+  assign _T_1364 = ll_waddr == ibuf_io_inst_0_bits_inst_rd; // @[RocketCore.scala 646:70:shc.marmotcaravel.MarmotCaravelConfig.fir@221691.4]
+  assign _T_1365 = ll_wen & _T_1364; // @[RocketCore.scala 646:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221692.4]
+  assign _T_1366 = _T_1365 == 1'h0; // @[RocketCore.scala 649:80:shc.marmotcaravel.MarmotCaravelConfig.fir@221693.4]
+  assign _T_1367 = _T_1363 & _T_1366; // @[RocketCore.scala 649:77:shc.marmotcaravel.MarmotCaravelConfig.fir@221694.4]
+  assign _T_1368 = _T_1338 & _T_1367; // @[RocketCore.scala 879:27:shc.marmotcaravel.MarmotCaravelConfig.fir@221695.4]
+  assign id_sboard_hazard = _T_1369 | _T_1368; // @[RocketCore.scala 879:50:shc.marmotcaravel.MarmotCaravelConfig.fir@221697.4]
+  assign _T_1469 = _T_1468 | id_sboard_hazard; // @[RocketCore.scala 692:51:shc.marmotcaravel.MarmotCaravelConfig.fir@221816.4]
+  assign _T_1470 = ex_reg_valid | mem_reg_valid; // @[RocketCore.scala 693:40:shc.marmotcaravel.MarmotCaravelConfig.fir@221817.4]
+  assign _T_1471 = _T_1470 | wb_reg_valid; // @[RocketCore.scala 693:57:shc.marmotcaravel.MarmotCaravelConfig.fir@221818.4]
+  assign _T_1472 = csr_io_singleStep & _T_1471; // @[RocketCore.scala 693:23:shc.marmotcaravel.MarmotCaravelConfig.fir@221819.4]
+  assign _T_1473 = _T_1469 | _T_1472; // @[RocketCore.scala 692:71:shc.marmotcaravel.MarmotCaravelConfig.fir@221820.4]
+  assign _T_1460 = io_dmem_perf_grant == 1'h0; // @[RocketCore.scala 686:16:shc.marmotcaravel.MarmotCaravelConfig.fir@221805.4]
+  assign dcache_blocked = blocked & _T_1460; // @[RocketCore.scala 686:13:shc.marmotcaravel.MarmotCaravelConfig.fir@221806.4]
+  assign _T_1480 = id_ctrl_mem & dcache_blocked; // @[RocketCore.scala 696:17:shc.marmotcaravel.MarmotCaravelConfig.fir@221827.4]
+  assign _T_1481 = _T_1473 | _T_1480; // @[RocketCore.scala 695:32:shc.marmotcaravel.MarmotCaravelConfig.fir@221828.4]
+  assign wb_wxd = wb_reg_valid & wb_ctrl_wxd; // @[RocketCore.scala 561:29:shc.marmotcaravel.MarmotCaravelConfig.fir@221532.4]
+  assign _T_1484 = wb_wxd == 1'h0; // @[RocketCore.scala 698:65:shc.marmotcaravel.MarmotCaravelConfig.fir@221831.4]
+  assign _T_1485 = div_io_resp_valid & _T_1484; // @[RocketCore.scala 698:62:shc.marmotcaravel.MarmotCaravelConfig.fir@221832.4]
+  assign _T_1486 = div_io_req_ready | _T_1485; // @[RocketCore.scala 698:40:shc.marmotcaravel.MarmotCaravelConfig.fir@221833.4]
+  assign _T_1487 = _T_1486 == 1'h0; // @[RocketCore.scala 698:21:shc.marmotcaravel.MarmotCaravelConfig.fir@221834.4]
+  assign _T_1488 = _T_1487 | div_io_req_valid; // @[RocketCore.scala 698:75:shc.marmotcaravel.MarmotCaravelConfig.fir@221835.4]
+  assign _T_1489 = id_ctrl_div & _T_1488; // @[RocketCore.scala 698:17:shc.marmotcaravel.MarmotCaravelConfig.fir@221836.4]
+  assign _T_1490 = _T_1481 | _T_1489; // @[RocketCore.scala 697:34:shc.marmotcaravel.MarmotCaravelConfig.fir@221837.4]
+  assign _T_1493 = _T_1490 | id_do_fence; // @[RocketCore.scala 699:15:shc.marmotcaravel.MarmotCaravelConfig.fir@221840.4]
+  assign ctrl_stalld = _T_1493 | csr_io_csr_stall; // @[RocketCore.scala 700:17:shc.marmotcaravel.MarmotCaravelConfig.fir@221841.4]
+  assign _T_1497 = _T_1496 | ctrl_stalld; // @[RocketCore.scala 702:89:shc.marmotcaravel.MarmotCaravelConfig.fir@221845.4]
+  assign ctrl_killd = _T_1497 | csr_io_interrupt; // @[RocketCore.scala 702:104:shc.marmotcaravel.MarmotCaravelConfig.fir@221846.4]
+  assign _T_882 = ctrl_killd == 1'h0; // @[RocketCore.scala 368:19:shc.marmotcaravel.MarmotCaravelConfig.fir@221004.4]
+  assign _T_883 = take_pc_mem_wb == 1'h0; // @[RocketCore.scala 369:20:shc.marmotcaravel.MarmotCaravelConfig.fir@221006.4]
+  assign _T_884 = _T_883 & ibuf_io_inst_0_valid; // @[RocketCore.scala 369:29:shc.marmotcaravel.MarmotCaravelConfig.fir@221007.4]
+  assign _T_892 = {ibuf_io_inst_0_bits_xcpt1_pf_inst,ibuf_io_inst_0_bits_xcpt1_ae_inst}; // @[RocketCore.scala 383:22:shc.marmotcaravel.MarmotCaravelConfig.fir@221030.8]
+  assign _T_893 = _T_892 != 2'h0; // @[RocketCore.scala 383:29:shc.marmotcaravel.MarmotCaravelConfig.fir@221031.8]
+  assign _T_894 = {ibuf_io_inst_0_bits_xcpt0_pf_inst,ibuf_io_inst_0_bits_xcpt0_ae_inst}; // @[RocketCore.scala 388:40:shc.marmotcaravel.MarmotCaravelConfig.fir@221037.8]
+  assign _T_895 = _T_894 != 2'h0; // @[RocketCore.scala 388:47:shc.marmotcaravel.MarmotCaravelConfig.fir@221038.8]
+  assign _T_896 = bpu_io_xcpt_if | _T_895; // @[RocketCore.scala 388:28:shc.marmotcaravel.MarmotCaravelConfig.fir@221039.8]
+  assign _T_897 = id_ctrl_fence_i | id_csr_flush; // @[RocketCore.scala 393:42:shc.marmotcaravel.MarmotCaravelConfig.fir@221045.6]
+  assign _T_900 = {_T_1335,_T_1333}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221051.8]
+  assign _T_901 = _T_753 | _T_756; // @[RocketCore.scala 400:48:shc.marmotcaravel.MarmotCaravelConfig.fir@221054.6]
+  assign _T_902 = _T_901 | _T_758; // @[RocketCore.scala 400:48:shc.marmotcaravel.MarmotCaravelConfig.fir@221055.6]
+  assign do_bypass = _T_902 | _T_760; // @[RocketCore.scala 400:48:shc.marmotcaravel.MarmotCaravelConfig.fir@221056.6]
+  assign _T_905 = do_bypass == 1'h0; // @[RocketCore.scala 404:26:shc.marmotcaravel.MarmotCaravelConfig.fir@221062.6]
+  assign _T_906 = id_ctrl_rxs1 & _T_905; // @[RocketCore.scala 404:23:shc.marmotcaravel.MarmotCaravelConfig.fir@221063.6]
+  assign _T_1286 = replay_wb == 1'h0; // @[RocketCore.scala 596:34:shc.marmotcaravel.MarmotCaravelConfig.fir@221570.4]
+  assign _T_1287 = wb_reg_valid & _T_1286; // @[RocketCore.scala 596:31:shc.marmotcaravel.MarmotCaravelConfig.fir@221571.4]
+  assign _T_1288 = wb_xcpt == 1'h0; // @[RocketCore.scala 596:48:shc.marmotcaravel.MarmotCaravelConfig.fir@221572.4]
+  assign wb_valid = _T_1287 & _T_1288; // @[RocketCore.scala 596:45:shc.marmotcaravel.MarmotCaravelConfig.fir@221573.4]
+  assign wb_wen = wb_valid & wb_ctrl_wxd; // @[RocketCore.scala 597:25:shc.marmotcaravel.MarmotCaravelConfig.fir@221574.4]
+  assign rf_wen = wb_wen | ll_wen; // @[RocketCore.scala 598:23:shc.marmotcaravel.MarmotCaravelConfig.fir@221575.4]
+  assign rf_waddr = ll_wen ? ll_waddr : wb_waddr; // @[RocketCore.scala 599:21:shc.marmotcaravel.MarmotCaravelConfig.fir@221576.4]
+  assign _T_1295 = rf_waddr != 5'h0; // @[RocketCore.scala 922:16:shc.marmotcaravel.MarmotCaravelConfig.fir@221585.6]
+  assign _T_1299 = rf_waddr == ibuf_io_inst_0_bits_inst_rs1; // @[RocketCore.scala 925:20:shc.marmotcaravel.MarmotCaravelConfig.fir@221591.8]
+  assign _T_1289 = dmem_resp_valid & dmem_resp_xpu; // @[RocketCore.scala 600:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221577.4]
+  assign ll_wdata = div_io_resp_bits_data; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221554.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@221556.4]
+  assign _T_1291 = wb_ctrl_csr != 3'h0; // @[RocketCore.scala 602:34:shc.marmotcaravel.MarmotCaravelConfig.fir@221579.4]
+  assign _T_1293 = _T_1291 ? csr_io_rw_rdata : wb_reg_wdata; // @[RocketCore.scala 602:21:shc.marmotcaravel.MarmotCaravelConfig.fir@221581.4]
+  assign _T_1294 = ll_wen ? ll_wdata : _T_1293; // @[RocketCore.scala 601:21:shc.marmotcaravel.MarmotCaravelConfig.fir@221582.4]
+  assign rf_wdata = _T_1289 ? io_dmem_resp_bits_data : _T_1294; // @[RocketCore.scala 600:21:shc.marmotcaravel.MarmotCaravelConfig.fir@221583.4]
+  assign _GEN_214 = _T_1299 ? rf_wdata : _T_582; // @[RocketCore.scala 925:31:shc.marmotcaravel.MarmotCaravelConfig.fir@221592.8]
+  assign _GEN_221 = _T_1295 ? _GEN_214 : _T_582; // @[RocketCore.scala 922:29:shc.marmotcaravel.MarmotCaravelConfig.fir@221586.6]
+  assign _GEN_228 = rf_wen ? _GEN_221 : _T_582; // @[RocketCore.scala 605:17:shc.marmotcaravel.MarmotCaravelConfig.fir@221584.4]
+  assign _T_907 = _GEN_228[1:0]; // @[RocketCore.scala 405:37:shc.marmotcaravel.MarmotCaravelConfig.fir@221065.8]
+  assign _T_908 = _GEN_228[31:2]; // @[RocketCore.scala 406:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221067.8]
+  assign _T_909 = _T_761 | _T_764; // @[RocketCore.scala 400:48:shc.marmotcaravel.MarmotCaravelConfig.fir@221070.6]
+  assign _T_910 = _T_909 | _T_766; // @[RocketCore.scala 400:48:shc.marmotcaravel.MarmotCaravelConfig.fir@221071.6]
+  assign do_bypass_1 = _T_910 | _T_768; // @[RocketCore.scala 400:48:shc.marmotcaravel.MarmotCaravelConfig.fir@221072.6]
+  assign _T_913 = do_bypass_1 == 1'h0; // @[RocketCore.scala 404:26:shc.marmotcaravel.MarmotCaravelConfig.fir@221078.6]
+  assign _T_914 = id_ctrl_rxs2 & _T_913; // @[RocketCore.scala 404:23:shc.marmotcaravel.MarmotCaravelConfig.fir@221079.6]
+  assign _T_1300 = rf_waddr == ibuf_io_inst_0_bits_inst_rs2; // @[RocketCore.scala 925:20:shc.marmotcaravel.MarmotCaravelConfig.fir@221595.8]
+  assign _GEN_215 = _T_1300 ? rf_wdata : _T_590; // @[RocketCore.scala 925:31:shc.marmotcaravel.MarmotCaravelConfig.fir@221596.8]
+  assign _GEN_222 = _T_1295 ? _GEN_215 : _T_590; // @[RocketCore.scala 922:29:shc.marmotcaravel.MarmotCaravelConfig.fir@221586.6]
+  assign _GEN_229 = rf_wen ? _GEN_222 : _T_590; // @[RocketCore.scala 605:17:shc.marmotcaravel.MarmotCaravelConfig.fir@221584.4]
+  assign _T_915 = _GEN_229[1:0]; // @[RocketCore.scala 405:37:shc.marmotcaravel.MarmotCaravelConfig.fir@221081.8]
+  assign _T_916 = _GEN_229[31:2]; // @[RocketCore.scala 406:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221083.8]
+  assign _T_917 = ibuf_io_inst_0_bits_raw[15:0]; // @[RocketCore.scala 410:62:shc.marmotcaravel.MarmotCaravelConfig.fir@221087.8]
+  assign inst = ibuf_io_inst_0_bits_rvc ? {{16'd0}, _T_917} : ibuf_io_inst_0_bits_raw; // @[RocketCore.scala 410:21:shc.marmotcaravel.MarmotCaravelConfig.fir@221088.8]
+  assign _T_918 = inst[1:0]; // @[RocketCore.scala 412:31:shc.marmotcaravel.MarmotCaravelConfig.fir@221090.8]
+  assign _T_919 = inst[31:2]; // @[RocketCore.scala 413:32:shc.marmotcaravel.MarmotCaravelConfig.fir@221092.8]
+  assign _T_1429 = mem_reg_valid & data_hazard_mem; // @[RocketCore.scala 666:32:shc.marmotcaravel.MarmotCaravelConfig.fir@221769.4]
+  assign id_load_use = _T_1429 & mem_ctrl_mem; // @[RocketCore.scala 666:51:shc.marmotcaravel.MarmotCaravelConfig.fir@221770.4]
+  assign _T_921 = _T_882 | csr_io_interrupt; // @[RocketCore.scala 416:21:shc.marmotcaravel.MarmotCaravelConfig.fir@221097.4]
+  assign _T_922 = _T_921 | ibuf_io_inst_0_bits_replay; // @[RocketCore.scala 416:41:shc.marmotcaravel.MarmotCaravelConfig.fir@221098.4]
+  assign _T_925 = io_dmem_req_ready == 1'h0; // @[RocketCore.scala 427:45:shc.marmotcaravel.MarmotCaravelConfig.fir@221110.4]
+  assign _T_926 = ex_ctrl_mem & _T_925; // @[RocketCore.scala 427:42:shc.marmotcaravel.MarmotCaravelConfig.fir@221111.4]
+  assign _T_927 = div_io_req_ready == 1'h0; // @[RocketCore.scala 428:45:shc.marmotcaravel.MarmotCaravelConfig.fir@221112.4]
+  assign _T_928 = ex_ctrl_div & _T_927; // @[RocketCore.scala 428:42:shc.marmotcaravel.MarmotCaravelConfig.fir@221113.4]
+  assign replay_ex_structural = _T_926 | _T_928; // @[RocketCore.scala 427:64:shc.marmotcaravel.MarmotCaravelConfig.fir@221114.4]
+  assign replay_ex_load_use = wb_dcache_miss & ex_reg_load_use; // @[RocketCore.scala 429:43:shc.marmotcaravel.MarmotCaravelConfig.fir@221115.4]
+  assign _T_929 = replay_ex_structural | replay_ex_load_use; // @[RocketCore.scala 430:75:shc.marmotcaravel.MarmotCaravelConfig.fir@221116.4]
+  assign _T_930 = ex_reg_valid & _T_929; // @[RocketCore.scala 430:50:shc.marmotcaravel.MarmotCaravelConfig.fir@221117.4]
+  assign replay_ex = ex_reg_replay | _T_930; // @[RocketCore.scala 430:33:shc.marmotcaravel.MarmotCaravelConfig.fir@221118.4]
+  assign _T_931 = take_pc_mem_wb | replay_ex; // @[RocketCore.scala 431:35:shc.marmotcaravel.MarmotCaravelConfig.fir@221119.4]
+  assign _T_932 = ex_reg_valid == 1'h0; // @[RocketCore.scala 431:51:shc.marmotcaravel.MarmotCaravelConfig.fir@221120.4]
+  assign ctrl_killx = _T_931 | _T_932; // @[RocketCore.scala 431:48:shc.marmotcaravel.MarmotCaravelConfig.fir@221121.4]
+  assign _T_933 = ex_ctrl_mem_cmd == 5'h7; // @[RocketCore.scala 433:40:shc.marmotcaravel.MarmotCaravelConfig.fir@221122.4]
+  assign _T_944 = 3'h0 == ex_ctrl_mem_type; // @[RocketCore.scala 433:91:shc.marmotcaravel.MarmotCaravelConfig.fir@221129.4]
+  assign _T_945 = 3'h4 == ex_ctrl_mem_type; // @[RocketCore.scala 433:91:shc.marmotcaravel.MarmotCaravelConfig.fir@221130.4]
+  assign _T_946 = 3'h1 == ex_ctrl_mem_type; // @[RocketCore.scala 433:91:shc.marmotcaravel.MarmotCaravelConfig.fir@221131.4]
+  assign _T_947 = 3'h5 == ex_ctrl_mem_type; // @[RocketCore.scala 433:91:shc.marmotcaravel.MarmotCaravelConfig.fir@221132.4]
+  assign _T_949 = _T_944 | _T_945; // @[RocketCore.scala 433:91:shc.marmotcaravel.MarmotCaravelConfig.fir@221134.4]
+  assign _T_950 = _T_949 | _T_946; // @[RocketCore.scala 433:91:shc.marmotcaravel.MarmotCaravelConfig.fir@221135.4]
+  assign _T_951 = _T_950 | _T_947; // @[RocketCore.scala 433:91:shc.marmotcaravel.MarmotCaravelConfig.fir@221136.4]
+  assign ex_slow_bypass = _T_933 | _T_951; // @[RocketCore.scala 433:50:shc.marmotcaravel.MarmotCaravelConfig.fir@221137.4]
+  assign ex_xcpt = ex_reg_xcpt_interrupt | ex_reg_xcpt; // @[RocketCore.scala 437:28:shc.marmotcaravel.MarmotCaravelConfig.fir@221141.4]
+  assign _T_964 = mem_reg_valid | mem_reg_replay; // @[RocketCore.scala 443:36:shc.marmotcaravel.MarmotCaravelConfig.fir@221152.4]
+  assign mem_pc_valid = _T_964 | mem_reg_xcpt_interrupt; // @[RocketCore.scala 443:54:shc.marmotcaravel.MarmotCaravelConfig.fir@221153.4]
+  assign _T_1107 = mem_npc[1]; // @[RocketCore.scala 452:66:shc.marmotcaravel.MarmotCaravelConfig.fir@221299.4]
+  assign _T_1108 = _T_692 & _T_1107; // @[RocketCore.scala 452:56:shc.marmotcaravel.MarmotCaravelConfig.fir@221300.4]
+  assign _T_1109 = mem_reg_sfence == 1'h0; // @[RocketCore.scala 452:73:shc.marmotcaravel.MarmotCaravelConfig.fir@221301.4]
+  assign mem_npc_misaligned = _T_1108 & _T_1109; // @[RocketCore.scala 452:70:shc.marmotcaravel.MarmotCaravelConfig.fir@221302.4]
+  assign _T_1110 = mem_reg_xcpt == 1'h0; // @[RocketCore.scala 453:27:shc.marmotcaravel.MarmotCaravelConfig.fir@221303.4]
+  assign _T_1111 = mem_ctrl_jalr ^ mem_npc_misaligned; // @[RocketCore.scala 453:59:shc.marmotcaravel.MarmotCaravelConfig.fir@221304.4]
+  assign _T_1112 = _T_1110 & _T_1111; // @[RocketCore.scala 453:41:shc.marmotcaravel.MarmotCaravelConfig.fir@221305.4]
+  assign _T_1114 = _T_1112 ? $signed(mem_br_target) : $signed(_T_1097); // @[RocketCore.scala 453:26:shc.marmotcaravel.MarmotCaravelConfig.fir@221307.4]
+  assign mem_int_wdata = $unsigned(_T_1114); // @[RocketCore.scala 453:119:shc.marmotcaravel.MarmotCaravelConfig.fir@221308.4]
+  assign _T_1115 = mem_ctrl_branch | mem_ctrl_jalr; // @[RocketCore.scala 454:33:shc.marmotcaravel.MarmotCaravelConfig.fir@221309.4]
+  assign mem_cfi = _T_1115 | mem_ctrl_jal; // @[RocketCore.scala 454:50:shc.marmotcaravel.MarmotCaravelConfig.fir@221310.4]
+  assign _T_1117 = _T_966 | mem_ctrl_jalr; // @[RocketCore.scala 455:57:shc.marmotcaravel.MarmotCaravelConfig.fir@221312.4]
+  assign mem_cfi_taken = _T_1117 | mem_ctrl_jal; // @[RocketCore.scala 455:74:shc.marmotcaravel.MarmotCaravelConfig.fir@221313.4]
+  assign _T_1122 = ctrl_killx == 1'h0; // @[RocketCore.scala 460:20:shc.marmotcaravel.MarmotCaravelConfig.fir@221320.4]
+  assign _T_1129 = mem_reg_valid & mem_reg_flush_pipe; // @[RocketCore.scala 467:23:shc.marmotcaravel.MarmotCaravelConfig.fir@221331.4]
+  assign _T_1130 = ex_ctrl_mem_cmd == 5'h0; // @[Consts.scala 93:31:shc.marmotcaravel.MarmotCaravelConfig.fir@221339.8]
+  assign _T_1131 = ex_ctrl_mem_cmd == 5'h6; // @[Consts.scala 93:48:shc.marmotcaravel.MarmotCaravelConfig.fir@221340.8]
+  assign _T_1132 = _T_1130 | _T_1131; // @[Consts.scala 93:41:shc.marmotcaravel.MarmotCaravelConfig.fir@221341.8]
+  assign _T_1134 = _T_1132 | _T_933; // @[Consts.scala 93:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221343.8]
+  assign _T_1135 = ex_ctrl_mem_cmd == 5'h4; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@221344.8]
+  assign _T_1136 = ex_ctrl_mem_cmd == 5'h9; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@221345.8]
+  assign _T_1137 = ex_ctrl_mem_cmd == 5'ha; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@221346.8]
+  assign _T_1138 = ex_ctrl_mem_cmd == 5'hb; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@221347.8]
+  assign _T_1139 = _T_1135 | _T_1136; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@221348.8]
+  assign _T_1140 = _T_1139 | _T_1137; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@221349.8]
+  assign _T_1141 = _T_1140 | _T_1138; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@221350.8]
+  assign _T_1142 = ex_ctrl_mem_cmd == 5'h8; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@221351.8]
+  assign _T_1143 = ex_ctrl_mem_cmd == 5'hc; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@221352.8]
+  assign _T_1144 = ex_ctrl_mem_cmd == 5'hd; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@221353.8]
+  assign _T_1145 = ex_ctrl_mem_cmd == 5'he; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@221354.8]
+  assign _T_1146 = ex_ctrl_mem_cmd == 5'hf; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@221355.8]
+  assign _T_1147 = _T_1142 | _T_1143; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@221356.8]
+  assign _T_1148 = _T_1147 | _T_1144; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@221357.8]
+  assign _T_1149 = _T_1148 | _T_1145; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@221358.8]
+  assign _T_1150 = _T_1149 | _T_1146; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@221359.8]
+  assign _T_1151 = _T_1141 | _T_1150; // @[Consts.scala 91:44:shc.marmotcaravel.MarmotCaravelConfig.fir@221360.8]
+  assign _T_1152 = _T_1134 | _T_1151; // @[Consts.scala 93:75:shc.marmotcaravel.MarmotCaravelConfig.fir@221361.8]
+  assign _T_1153 = ex_ctrl_mem & _T_1152; // @[RocketCore.scala 472:33:shc.marmotcaravel.MarmotCaravelConfig.fir@221362.8]
+  assign _T_1154 = ex_ctrl_mem_cmd == 5'h1; // @[Consts.scala 94:32:shc.marmotcaravel.MarmotCaravelConfig.fir@221364.8]
+  assign _T_1155 = ex_ctrl_mem_cmd == 5'h11; // @[Consts.scala 94:49:shc.marmotcaravel.MarmotCaravelConfig.fir@221365.8]
+  assign _T_1156 = _T_1154 | _T_1155; // @[Consts.scala 94:42:shc.marmotcaravel.MarmotCaravelConfig.fir@221366.8]
+  assign _T_1158 = _T_1156 | _T_933; // @[Consts.scala 94:59:shc.marmotcaravel.MarmotCaravelConfig.fir@221368.8]
+  assign _T_1176 = _T_1158 | _T_1151; // @[Consts.scala 94:76:shc.marmotcaravel.MarmotCaravelConfig.fir@221386.8]
+  assign _T_1177 = ex_ctrl_mem & _T_1176; // @[RocketCore.scala 473:34:shc.marmotcaravel.MarmotCaravelConfig.fir@221387.8]
+  assign _T_1180 = ex_ctrl_rxs2 & ex_ctrl_mem; // @[RocketCore.scala 486:24:shc.marmotcaravel.MarmotCaravelConfig.fir@221401.8]
+  assign _T_1181 = ex_ctrl_mem_type[1:0]; // @[AMOALU.scala 10:17:shc.marmotcaravel.MarmotCaravelConfig.fir@221404.10]
+  assign _T_1182 = _T_1181 == 2'h0; // @[AMOALU.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@221405.10]
+  assign _T_1183 = _T_805[7:0]; // @[AMOALU.scala 26:66:shc.marmotcaravel.MarmotCaravelConfig.fir@221406.10]
+  assign _T_1184 = {_T_1183,_T_1183}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221407.10]
+  assign _T_1185 = {_T_1184,_T_1184}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221408.10]
+  assign _T_1186 = _T_1181 == 2'h1; // @[AMOALU.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@221409.10]
+  assign _T_1187 = _T_805[15:0]; // @[AMOALU.scala 26:66:shc.marmotcaravel.MarmotCaravelConfig.fir@221410.10]
+  assign _T_1188 = {_T_1187,_T_1187}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221411.10]
+  assign _T_1191 = ex_ctrl_jalr & csr_io_status_debug; // @[RocketCore.scala 490:24:shc.marmotcaravel.MarmotCaravelConfig.fir@221416.8]
+  assign _T_1192 = mem_reg_load & bpu_io_xcpt_ld; // @[RocketCore.scala 497:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221422.4]
+  assign _T_1193 = mem_reg_store & bpu_io_xcpt_st; // @[RocketCore.scala 497:75:shc.marmotcaravel.MarmotCaravelConfig.fir@221423.4]
+  assign mem_breakpoint = _T_1192 | _T_1193; // @[RocketCore.scala 497:57:shc.marmotcaravel.MarmotCaravelConfig.fir@221424.4]
+  assign _T_1194 = mem_reg_load & bpu_io_debug_ld; // @[RocketCore.scala 498:44:shc.marmotcaravel.MarmotCaravelConfig.fir@221425.4]
+  assign _T_1195 = mem_reg_store & bpu_io_debug_st; // @[RocketCore.scala 498:82:shc.marmotcaravel.MarmotCaravelConfig.fir@221426.4]
+  assign mem_debug_breakpoint = _T_1194 | _T_1195; // @[RocketCore.scala 498:64:shc.marmotcaravel.MarmotCaravelConfig.fir@221427.4]
+  assign mem_ldst_xcpt = mem_debug_breakpoint | mem_breakpoint; // @[RocketCore.scala 870:26:shc.marmotcaravel.MarmotCaravelConfig.fir@221428.4]
+  assign mem_ldst_cause = mem_debug_breakpoint ? 4'he : 4'h3; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@221429.4]
+  assign _T_1196 = mem_reg_xcpt_interrupt | mem_reg_xcpt; // @[RocketCore.scala 504:29:shc.marmotcaravel.MarmotCaravelConfig.fir@221430.4]
+  assign _T_1197 = mem_reg_valid & mem_npc_misaligned; // @[RocketCore.scala 505:20:shc.marmotcaravel.MarmotCaravelConfig.fir@221431.4]
+  assign _T_1198 = mem_reg_valid & mem_ldst_xcpt; // @[RocketCore.scala 506:20:shc.marmotcaravel.MarmotCaravelConfig.fir@221432.4]
+  assign _T_1199 = _T_1196 | _T_1197; // @[RocketCore.scala 870:26:shc.marmotcaravel.MarmotCaravelConfig.fir@221433.4]
+  assign mem_xcpt = _T_1199 | _T_1198; // @[RocketCore.scala 870:26:shc.marmotcaravel.MarmotCaravelConfig.fir@221434.4]
+  assign _T_1200 = _T_1197 ? 4'h0 : mem_ldst_cause; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@221435.4]
+  assign dcache_kill_mem = _T_749 & io_dmem_replay_next; // @[RocketCore.scala 515:55:shc.marmotcaravel.MarmotCaravelConfig.fir@221450.4]
+  assign replay_mem = dcache_kill_mem | mem_reg_replay; // @[RocketCore.scala 517:37:shc.marmotcaravel.MarmotCaravelConfig.fir@221453.4]
+  assign _T_1216 = dcache_kill_mem | take_pc_wb; // @[RocketCore.scala 518:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221455.4]
+  assign _T_1217 = _T_1216 | mem_reg_xcpt; // @[RocketCore.scala 518:52:shc.marmotcaravel.MarmotCaravelConfig.fir@221456.4]
+  assign _T_1218 = mem_reg_valid == 1'h0; // @[RocketCore.scala 518:71:shc.marmotcaravel.MarmotCaravelConfig.fir@221457.4]
+  assign killm_common = _T_1217 | _T_1218; // @[RocketCore.scala 518:68:shc.marmotcaravel.MarmotCaravelConfig.fir@221458.4]
+  assign ctrl_killm = killm_common | mem_xcpt; // @[RocketCore.scala 520:33:shc.marmotcaravel.MarmotCaravelConfig.fir@221464.4]
+  assign _T_1224 = ctrl_killm == 1'h0; // @[RocketCore.scala 523:19:shc.marmotcaravel.MarmotCaravelConfig.fir@221466.4]
+  assign _T_1225 = take_pc_wb == 1'h0; // @[RocketCore.scala 524:34:shc.marmotcaravel.MarmotCaravelConfig.fir@221468.4]
+  assign _T_1232 = _T_1110 & mem_ctrl_fp; // @[RocketCore.scala 530:39:shc.marmotcaravel.MarmotCaravelConfig.fir@221481.6]
+  assign _T_1233 = _T_1232 & mem_ctrl_wxd; // @[RocketCore.scala 530:54:shc.marmotcaravel.MarmotCaravelConfig.fir@221482.6]
+  assign _T_1253 = _T_1245 ? 3'h7 : 3'h5; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@221512.4]
+  assign _T_1254 = _T_1243 ? 4'hd : {{1'd0}, _T_1253}; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@221513.4]
+  assign _T_1255 = _T_1241 ? 4'hf : _T_1254; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@221514.4]
+  assign _T_1256 = _T_1239 ? 4'h4 : _T_1255; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@221515.4]
+  assign _T_1257 = _T_1237 ? 4'h6 : _T_1256; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@221516.4]
+  assign wb_cause = wb_reg_xcpt ? wb_reg_cause : {{28'd0}, _T_1257}; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@221517.4]
+  assign _T_1258 = wb_cause == 32'h6; // @[RocketCore.scala 874:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221518.4]
+  assign _T_1260 = wb_cause == 32'h4; // @[RocketCore.scala 874:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221520.4]
+  assign _T_1262 = wb_cause == 32'hf; // @[RocketCore.scala 874:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221522.4]
+  assign _T_1264 = wb_cause == 32'hd; // @[RocketCore.scala 874:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221524.4]
+  assign _T_1266 = wb_cause == 32'h7; // @[RocketCore.scala 874:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221526.4]
+  assign _T_1268 = wb_cause == 32'h5; // @[RocketCore.scala 874:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221528.4]
+  assign _T_1302 = wb_reg_raw_inst[1:0]; // @[RocketCore.scala 613:66:shc.marmotcaravel.MarmotCaravelConfig.fir@221607.4]
+  assign _T_1303 = ~ _T_1302; // @[RocketCore.scala 613:73:shc.marmotcaravel.MarmotCaravelConfig.fir@221608.4]
+  assign _T_1304 = _T_1303 == 2'h0; // @[RocketCore.scala 613:73:shc.marmotcaravel.MarmotCaravelConfig.fir@221609.4]
+  assign _T_1305 = wb_reg_inst[31:16]; // @[RocketCore.scala 613:91:shc.marmotcaravel.MarmotCaravelConfig.fir@221610.4]
+  assign _T_1306 = _T_1304 ? _T_1305 : 16'h0; // @[RocketCore.scala 613:50:shc.marmotcaravel.MarmotCaravelConfig.fir@221611.4]
+  assign _T_1307 = wb_reg_raw_inst[15:0]; // @[RocketCore.scala 613:119:shc.marmotcaravel.MarmotCaravelConfig.fir@221612.4]
+  assign _T_1309 = wb_cause == 32'h2; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@221621.4]
+  assign _T_1310 = wb_cause == 32'h3; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@221622.4]
+  assign _T_1315 = wb_cause == 32'h1; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@221627.4]
+  assign _T_1318 = wb_cause == 32'hc; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@221630.4]
+  assign _T_1319 = _T_1309 | _T_1310; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@221631.4]
+  assign _T_1320 = _T_1319 | _T_1260; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@221632.4]
+  assign _T_1321 = _T_1320 | _T_1258; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@221633.4]
+  assign _T_1322 = _T_1321 | _T_1268; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@221634.4]
+  assign _T_1323 = _T_1322 | _T_1266; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@221635.4]
+  assign _T_1324 = _T_1323 | _T_1315; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@221636.4]
+  assign _T_1325 = _T_1324 | _T_1264; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@221637.4]
+  assign _T_1326 = _T_1325 | _T_1262; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@221638.4]
+  assign _T_1327 = _T_1326 | _T_1318; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@221639.4]
+  assign tval_valid = wb_xcpt & _T_1327; // @[RocketCore.scala 620:28:shc.marmotcaravel.MarmotCaravelConfig.fir@221640.4]
+  assign _T_1330 = wb_reg_valid ? 3'h0 : 3'h4; // @[CSR.scala 128:15:shc.marmotcaravel.MarmotCaravelConfig.fir@221652.4]
+  assign _T_1331 = ~ _T_1330; // @[CSR.scala 128:11:shc.marmotcaravel.MarmotCaravelConfig.fir@221653.4]
+  assign _T_1343 = 32'h1 << ll_waddr; // @[RocketCore.scala 900:62:shc.marmotcaravel.MarmotCaravelConfig.fir@221667.4]
+  assign _T_1344 = ll_wen ? _T_1343 : 32'h0; // @[RocketCore.scala 900:49:shc.marmotcaravel.MarmotCaravelConfig.fir@221668.4]
+  assign _T_1345 = ~ _T_1344; // @[RocketCore.scala 892:64:shc.marmotcaravel.MarmotCaravelConfig.fir@221669.4]
+  assign _T_1346 = _T_1342 & _T_1345; // @[RocketCore.scala 892:62:shc.marmotcaravel.MarmotCaravelConfig.fir@221670.4]
+  assign _T_1370 = wb_set_sboard & wb_wen; // @[RocketCore.scala 650:28:shc.marmotcaravel.MarmotCaravelConfig.fir@221698.4]
+  assign _T_1371 = 32'h1 << wb_waddr; // @[RocketCore.scala 900:62:shc.marmotcaravel.MarmotCaravelConfig.fir@221699.4]
+  assign _T_1372 = _T_1370 ? _T_1371 : 32'h0; // @[RocketCore.scala 900:49:shc.marmotcaravel.MarmotCaravelConfig.fir@221700.4]
+  assign _T_1373 = _T_1346 | _T_1372; // @[RocketCore.scala 891:60:shc.marmotcaravel.MarmotCaravelConfig.fir@221701.4]
+  assign _T_1374 = ll_wen | _T_1370; // @[RocketCore.scala 903:17:shc.marmotcaravel.MarmotCaravelConfig.fir@221702.4]
+  assign _T_1454 = _T_925 & io_dmem_clock_enabled; // @[RocketCore.scala 685:35:shc.marmotcaravel.MarmotCaravelConfig.fir@221798.4]
+  assign _T_1456 = _T_1454 & _T_1460; // @[RocketCore.scala 685:60:shc.marmotcaravel.MarmotCaravelConfig.fir@221800.4]
+  assign _T_1457 = blocked | io_dmem_req_valid; // @[RocketCore.scala 685:95:shc.marmotcaravel.MarmotCaravelConfig.fir@221801.4]
+  assign _T_1458 = _T_1457 | io_dmem_s2_nack; // @[RocketCore.scala 685:116:shc.marmotcaravel.MarmotCaravelConfig.fir@221802.4]
+  assign _T_1500 = wb_xcpt | csr_io_eret; // @[RocketCore.scala 707:17:shc.marmotcaravel.MarmotCaravelConfig.fir@221851.4]
+  assign _T_1501 = replay_wb ? wb_reg_pc : mem_npc; // @[RocketCore.scala 708:8:shc.marmotcaravel.MarmotCaravelConfig.fir@221852.4]
+  assign _T_1503 = wb_reg_valid & wb_ctrl_fence_i; // @[RocketCore.scala 710:40:shc.marmotcaravel.MarmotCaravelConfig.fir@221855.4]
+  assign _T_1504 = io_dmem_s2_nack == 1'h0; // @[RocketCore.scala 710:62:shc.marmotcaravel.MarmotCaravelConfig.fir@221856.4]
+  assign _T_1506 = ex_pc_valid | mem_pc_valid; // @[RocketCore.scala 712:43:shc.marmotcaravel.MarmotCaravelConfig.fir@221859.4]
+  assign _T_1507 = io_ptw_customCSRs_csrs_0_value[1]; // @[CustomCSRs.scala 38:61:shc.marmotcaravel.MarmotCaravelConfig.fir@221860.4]
+  assign _T_1514 = mem_reg_valid & _T_1225; // @[RocketCore.scala 724:45:shc.marmotcaravel.MarmotCaravelConfig.fir@221876.4]
+  assign _T_1515 = _T_1514 & mem_wrong_npc; // @[RocketCore.scala 724:60:shc.marmotcaravel.MarmotCaravelConfig.fir@221877.4]
+  assign _T_1516 = mem_cfi == 1'h0; // @[RocketCore.scala 724:81:shc.marmotcaravel.MarmotCaravelConfig.fir@221878.4]
+  assign _T_1517 = _T_1516 | mem_cfi_taken; // @[RocketCore.scala 724:90:shc.marmotcaravel.MarmotCaravelConfig.fir@221879.4]
+  assign _T_1519 = mem_ctrl_jal | mem_ctrl_jalr; // @[RocketCore.scala 727:23:shc.marmotcaravel.MarmotCaravelConfig.fir@221883.4]
+  assign _T_1520 = mem_waddr[0]; // @[RocketCore.scala 727:53:shc.marmotcaravel.MarmotCaravelConfig.fir@221884.4]
+  assign _T_1521 = _T_1519 & _T_1520; // @[RocketCore.scala 727:41:shc.marmotcaravel.MarmotCaravelConfig.fir@221885.4]
+  assign _T_1522 = mem_reg_inst[19:15]; // @[RocketCore.scala 728:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221886.4]
+  assign _T_1523 = _T_1522 & 5'h1b; // @[RocketCore.scala 728:46:shc.marmotcaravel.MarmotCaravelConfig.fir@221887.4]
+  assign _T_1524 = 5'h1 == _T_1523; // @[RocketCore.scala 728:46:shc.marmotcaravel.MarmotCaravelConfig.fir@221888.4]
+  assign _T_1525 = mem_ctrl_jalr & _T_1524; // @[RocketCore.scala 728:23:shc.marmotcaravel.MarmotCaravelConfig.fir@221889.4]
+  assign _T_1528 = _T_1525 ? 2'h3 : {{1'd0}, _T_1519}; // @[RocketCore.scala 728:8:shc.marmotcaravel.MarmotCaravelConfig.fir@221892.4]
+  assign _T_1530 = mem_reg_rvc ? 2'h0 : 2'h2; // @[RocketCore.scala 732:74:shc.marmotcaravel.MarmotCaravelConfig.fir@221896.4]
+  assign _GEN_241 = {{30'd0}, _T_1530}; // @[RocketCore.scala 732:69:shc.marmotcaravel.MarmotCaravelConfig.fir@221897.4]
+  assign _T_1533 = ~ io_imem_btb_update_bits_br_pc; // @[RocketCore.scala 733:35:shc.marmotcaravel.MarmotCaravelConfig.fir@221900.4]
+  assign _T_1534 = _T_1533 | 32'h3; // @[RocketCore.scala 733:66:shc.marmotcaravel.MarmotCaravelConfig.fir@221901.4]
+  assign ex_dcache_tag = {ex_waddr,1'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221929.4]
+  assign _T_1561 = wb_reg_inst[19:15]; // @[RocketCore.scala 771:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221965.4]
+  assign _T_1562 = wb_reg_inst[24:20]; // @[RocketCore.scala 771:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221967.4]
+  assign coreMonitorBundle_time = csr_io_time; // @[RocketCore.scala 811:40:shc.marmotcaravel.MarmotCaravelConfig.fir@221981.4]
+  assign _T_1569 = csr_io_trace_0_exception == 1'h0; // @[RocketCore.scala 812:55:shc.marmotcaravel.MarmotCaravelConfig.fir@221983.4]
+  assign coreMonitorBundle_valid = csr_io_trace_0_valid & _T_1569; // @[RocketCore.scala 812:52:shc.marmotcaravel.MarmotCaravelConfig.fir@221984.4]
+  assign coreMonitorBundle_pc = csr_io_trace_0_iaddr; // @[RocketCore.scala 813:48:shc.marmotcaravel.MarmotCaravelConfig.fir@221986.4]
+  assign _T_1573 = _T_1370 == 1'h0; // @[RocketCore.scala 814:44:shc.marmotcaravel.MarmotCaravelConfig.fir@221989.4]
+  assign _T_1574 = rf_wen & _T_1573; // @[RocketCore.scala 814:41:shc.marmotcaravel.MarmotCaravelConfig.fir@221990.4]
+  assign coreMonitorBundle_wrdst = _T_1574 ? rf_waddr : 5'h0; // @[RocketCore.scala 814:33:shc.marmotcaravel.MarmotCaravelConfig.fir@221991.4]
+  assign _T_1587 = reset == 1'h0; // @[RocketCore.scala 852:11:shc.marmotcaravel.MarmotCaravelConfig.fir@222011.4]
+  assign coreMonitorBundle_inst = csr_io_trace_0_insn; // @[RocketCore.scala 808:31:shc.marmotcaravel.MarmotCaravelConfig.fir@221978.4 RocketCore.scala 821:26:shc.marmotcaravel.MarmotCaravelConfig.fir@222009.4]
+  assign io_imem_might_request = imem_might_request_reg; // @[RocketCore.scala 711:25:shc.marmotcaravel.MarmotCaravelConfig.fir@221863.4]
+  assign io_imem_req_valid = take_pc_wb | take_pc_mem; // @[RocketCore.scala 704:21:shc.marmotcaravel.MarmotCaravelConfig.fir@221848.4]
+  assign io_imem_req_bits_pc = _T_1500 ? csr_io_evec : _T_1501; // @[RocketCore.scala 706:23:shc.marmotcaravel.MarmotCaravelConfig.fir@221854.4]
+  assign io_imem_req_bits_speculative = take_pc_wb == 1'h0; // @[RocketCore.scala 705:32:shc.marmotcaravel.MarmotCaravelConfig.fir@221850.4]
+  assign io_imem_sfence_valid = wb_reg_valid & wb_reg_sfence; // @[RocketCore.scala 715:24:shc.marmotcaravel.MarmotCaravelConfig.fir@221865.4]
+  assign io_imem_resp_ready = ibuf_io_imem_ready; // @[RocketCore.scala 226:16:shc.marmotcaravel.MarmotCaravelConfig.fir@220314.4]
+  assign io_imem_btb_update_valid = _T_1515 & _T_1517; // @[RocketCore.scala 724:28:shc.marmotcaravel.MarmotCaravelConfig.fir@221881.4]
+  assign io_imem_btb_update_bits_prediction_entry = mem_reg_btb_resp_entry; // @[RocketCore.scala 734:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221904.4]
+  assign io_imem_btb_update_bits_pc = ~ _T_1534; // @[RocketCore.scala 733:30:shc.marmotcaravel.MarmotCaravelConfig.fir@221903.4]
+  assign io_imem_btb_update_bits_isValid = _T_1115 | mem_ctrl_jal; // @[RocketCore.scala 725:35:shc.marmotcaravel.MarmotCaravelConfig.fir@221882.4]
+  assign io_imem_btb_update_bits_br_pc = mem_reg_pc + _GEN_241; // @[RocketCore.scala 732:33:shc.marmotcaravel.MarmotCaravelConfig.fir@221899.4]
+  assign io_imem_btb_update_bits_cfiType = _T_1521 ? 2'h2 : _T_1528; // @[RocketCore.scala 726:35:shc.marmotcaravel.MarmotCaravelConfig.fir@221894.4]
+  assign io_imem_bht_update_valid = mem_reg_valid & _T_1225; // @[RocketCore.scala 736:28:shc.marmotcaravel.MarmotCaravelConfig.fir@221907.4]
+  assign io_imem_bht_update_bits_prediction_history = mem_reg_btb_resp_bht_history; // @[RocketCore.scala 741:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221912.4]
+  assign io_imem_bht_update_bits_pc = io_imem_btb_update_bits_pc; // @[RocketCore.scala 737:30:shc.marmotcaravel.MarmotCaravelConfig.fir@221908.4]
+  assign io_imem_bht_update_bits_branch = mem_ctrl_branch; // @[RocketCore.scala 740:34:shc.marmotcaravel.MarmotCaravelConfig.fir@221911.4]
+  assign io_imem_bht_update_bits_taken = mem_br_taken; // @[RocketCore.scala 738:33:shc.marmotcaravel.MarmotCaravelConfig.fir@221909.4]
+  assign io_imem_bht_update_bits_mispredict = ex_pc_valid ? _T_1101 : _T_1104; // @[RocketCore.scala 739:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221910.4]
+  assign io_imem_flush_icache = _T_1503 & _T_1504; // @[RocketCore.scala 710:24:shc.marmotcaravel.MarmotCaravelConfig.fir@221858.4]
+  assign io_dmem_req_valid = ex_reg_valid & ex_ctrl_mem; // @[RocketCore.scala 754:25:shc.marmotcaravel.MarmotCaravelConfig.fir@221928.4]
+  assign io_dmem_req_bits_addr = alu_io_adder_out; // @[RocketCore.scala 761:25:shc.marmotcaravel.MarmotCaravelConfig.fir@221934.4]
+  assign io_dmem_req_bits_tag = {{1'd0}, ex_dcache_tag}; // @[RocketCore.scala 757:25:shc.marmotcaravel.MarmotCaravelConfig.fir@221930.4]
+  assign io_dmem_req_bits_cmd = ex_ctrl_mem_cmd; // @[RocketCore.scala 758:25:shc.marmotcaravel.MarmotCaravelConfig.fir@221931.4]
+  assign io_dmem_req_bits_typ = ex_ctrl_mem_type; // @[RocketCore.scala 759:25:shc.marmotcaravel.MarmotCaravelConfig.fir@221932.4]
+  assign io_dmem_s1_kill = killm_common | mem_ldst_xcpt; // @[RocketCore.scala 763:19:shc.marmotcaravel.MarmotCaravelConfig.fir@221938.4]
+  assign io_dmem_s1_data_data = mem_reg_rs2; // @[RocketCore.scala 762:24:shc.marmotcaravel.MarmotCaravelConfig.fir@221935.4]
+  assign io_dmem_keep_clock_enabled = ibuf_io_inst_0_valid & id_ctrl_mem; // @[RocketCore.scala 766:30:shc.marmotcaravel.MarmotCaravelConfig.fir@221941.4]
+  assign io_ptw_pmp_0_cfg_l = csr_io_pmp_0_cfg_l; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@221649.4]
+  assign io_ptw_pmp_0_cfg_a = csr_io_pmp_0_cfg_a; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@221649.4]
+  assign io_ptw_pmp_0_cfg_x = csr_io_pmp_0_cfg_x; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@221649.4]
+  assign io_ptw_pmp_0_cfg_w = csr_io_pmp_0_cfg_w; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@221649.4]
+  assign io_ptw_pmp_0_cfg_r = csr_io_pmp_0_cfg_r; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@221649.4]
+  assign io_ptw_pmp_0_addr = csr_io_pmp_0_addr; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@221649.4]
+  assign io_ptw_pmp_0_mask = csr_io_pmp_0_mask; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@221649.4]
+  assign io_ptw_pmp_1_cfg_l = csr_io_pmp_1_cfg_l; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@221649.4]
+  assign io_ptw_pmp_1_cfg_a = csr_io_pmp_1_cfg_a; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@221649.4]
+  assign io_ptw_pmp_1_cfg_x = csr_io_pmp_1_cfg_x; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@221649.4]
+  assign io_ptw_pmp_1_cfg_w = csr_io_pmp_1_cfg_w; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@221649.4]
+  assign io_ptw_pmp_1_cfg_r = csr_io_pmp_1_cfg_r; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@221649.4]
+  assign io_ptw_pmp_1_addr = csr_io_pmp_1_addr; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@221649.4]
+  assign io_ptw_pmp_1_mask = csr_io_pmp_1_mask; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@221649.4]
+  assign io_ptw_pmp_2_cfg_l = csr_io_pmp_2_cfg_l; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@221649.4]
+  assign io_ptw_pmp_2_cfg_a = csr_io_pmp_2_cfg_a; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@221649.4]
+  assign io_ptw_pmp_2_cfg_x = csr_io_pmp_2_cfg_x; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@221649.4]
+  assign io_ptw_pmp_2_cfg_w = csr_io_pmp_2_cfg_w; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@221649.4]
+  assign io_ptw_pmp_2_cfg_r = csr_io_pmp_2_cfg_r; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@221649.4]
+  assign io_ptw_pmp_2_addr = csr_io_pmp_2_addr; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@221649.4]
+  assign io_ptw_pmp_2_mask = csr_io_pmp_2_mask; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@221649.4]
+  assign io_ptw_pmp_3_cfg_l = csr_io_pmp_3_cfg_l; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@221649.4]
+  assign io_ptw_pmp_3_cfg_a = csr_io_pmp_3_cfg_a; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@221649.4]
+  assign io_ptw_pmp_3_cfg_x = csr_io_pmp_3_cfg_x; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@221649.4]
+  assign io_ptw_pmp_3_cfg_w = csr_io_pmp_3_cfg_w; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@221649.4]
+  assign io_ptw_pmp_3_cfg_r = csr_io_pmp_3_cfg_r; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@221649.4]
+  assign io_ptw_pmp_3_addr = csr_io_pmp_3_addr; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@221649.4]
+  assign io_ptw_pmp_3_mask = csr_io_pmp_3_mask; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@221649.4]
+  assign io_ptw_pmp_4_cfg_l = csr_io_pmp_4_cfg_l; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@221649.4]
+  assign io_ptw_pmp_4_cfg_a = csr_io_pmp_4_cfg_a; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@221649.4]
+  assign io_ptw_pmp_4_cfg_x = csr_io_pmp_4_cfg_x; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@221649.4]
+  assign io_ptw_pmp_4_cfg_w = csr_io_pmp_4_cfg_w; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@221649.4]
+  assign io_ptw_pmp_4_cfg_r = csr_io_pmp_4_cfg_r; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@221649.4]
+  assign io_ptw_pmp_4_addr = csr_io_pmp_4_addr; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@221649.4]
+  assign io_ptw_pmp_4_mask = csr_io_pmp_4_mask; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@221649.4]
+  assign io_ptw_pmp_5_cfg_l = csr_io_pmp_5_cfg_l; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@221649.4]
+  assign io_ptw_pmp_5_cfg_a = csr_io_pmp_5_cfg_a; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@221649.4]
+  assign io_ptw_pmp_5_cfg_x = csr_io_pmp_5_cfg_x; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@221649.4]
+  assign io_ptw_pmp_5_cfg_w = csr_io_pmp_5_cfg_w; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@221649.4]
+  assign io_ptw_pmp_5_cfg_r = csr_io_pmp_5_cfg_r; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@221649.4]
+  assign io_ptw_pmp_5_addr = csr_io_pmp_5_addr; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@221649.4]
+  assign io_ptw_pmp_5_mask = csr_io_pmp_5_mask; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@221649.4]
+  assign io_ptw_pmp_6_cfg_l = csr_io_pmp_6_cfg_l; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@221649.4]
+  assign io_ptw_pmp_6_cfg_a = csr_io_pmp_6_cfg_a; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@221649.4]
+  assign io_ptw_pmp_6_cfg_x = csr_io_pmp_6_cfg_x; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@221649.4]
+  assign io_ptw_pmp_6_cfg_w = csr_io_pmp_6_cfg_w; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@221649.4]
+  assign io_ptw_pmp_6_cfg_r = csr_io_pmp_6_cfg_r; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@221649.4]
+  assign io_ptw_pmp_6_addr = csr_io_pmp_6_addr; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@221649.4]
+  assign io_ptw_pmp_6_mask = csr_io_pmp_6_mask; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@221649.4]
+  assign io_ptw_pmp_7_cfg_l = csr_io_pmp_7_cfg_l; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@221649.4]
+  assign io_ptw_pmp_7_cfg_a = csr_io_pmp_7_cfg_a; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@221649.4]
+  assign io_ptw_pmp_7_cfg_x = csr_io_pmp_7_cfg_x; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@221649.4]
+  assign io_ptw_pmp_7_cfg_w = csr_io_pmp_7_cfg_w; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@221649.4]
+  assign io_ptw_pmp_7_cfg_r = csr_io_pmp_7_cfg_r; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@221649.4]
+  assign io_ptw_pmp_7_addr = csr_io_pmp_7_addr; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@221649.4]
+  assign io_ptw_pmp_7_mask = csr_io_pmp_7_mask; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@221649.4]
+  assign io_ptw_customCSRs_csrs_0_value = 32'h0; // @[RocketCore.scala 626:79:shc.marmotcaravel.MarmotCaravelConfig.fir@221644.4]
+  assign ibuf_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220312.4]
+  assign ibuf_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220313.4]
+  assign ibuf_io_imem_valid = io_imem_resp_valid; // @[RocketCore.scala 226:16:shc.marmotcaravel.MarmotCaravelConfig.fir@220314.4]
+  assign ibuf_io_imem_bits_btb_taken = io_imem_resp_bits_btb_taken; // @[RocketCore.scala 226:16:shc.marmotcaravel.MarmotCaravelConfig.fir@220314.4]
+  assign ibuf_io_imem_bits_btb_bridx = io_imem_resp_bits_btb_bridx; // @[RocketCore.scala 226:16:shc.marmotcaravel.MarmotCaravelConfig.fir@220314.4]
+  assign ibuf_io_imem_bits_btb_entry = io_imem_resp_bits_btb_entry; // @[RocketCore.scala 226:16:shc.marmotcaravel.MarmotCaravelConfig.fir@220314.4]
+  assign ibuf_io_imem_bits_btb_bht_history = io_imem_resp_bits_btb_bht_history; // @[RocketCore.scala 226:16:shc.marmotcaravel.MarmotCaravelConfig.fir@220314.4]
+  assign ibuf_io_imem_bits_pc = io_imem_resp_bits_pc; // @[RocketCore.scala 226:16:shc.marmotcaravel.MarmotCaravelConfig.fir@220314.4]
+  assign ibuf_io_imem_bits_data = io_imem_resp_bits_data; // @[RocketCore.scala 226:16:shc.marmotcaravel.MarmotCaravelConfig.fir@220314.4]
+  assign ibuf_io_imem_bits_xcpt_ae_inst = io_imem_resp_bits_xcpt_ae_inst; // @[RocketCore.scala 226:16:shc.marmotcaravel.MarmotCaravelConfig.fir@220314.4]
+  assign ibuf_io_imem_bits_replay = io_imem_resp_bits_replay; // @[RocketCore.scala 226:16:shc.marmotcaravel.MarmotCaravelConfig.fir@220314.4]
+  assign ibuf_io_kill = take_pc_wb | take_pc_mem; // @[RocketCore.scala 227:16:shc.marmotcaravel.MarmotCaravelConfig.fir@220315.4]
+  assign ibuf_io_inst_0_ready = ctrl_stalld == 1'h0; // @[RocketCore.scala 722:25:shc.marmotcaravel.MarmotCaravelConfig.fir@221874.4]
+  assign csr_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220747.4]
+  assign csr_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220748.4]
+  assign csr_io_ungated_clock = clock; // @[RocketCore.scala 608:24:shc.marmotcaravel.MarmotCaravelConfig.fir@221601.4]
+  assign csr_io_interrupts_debug = io_interrupts_debug; // @[RocketCore.scala 614:21:shc.marmotcaravel.MarmotCaravelConfig.fir@221615.4]
+  assign csr_io_interrupts_mtip = io_interrupts_mtip; // @[RocketCore.scala 614:21:shc.marmotcaravel.MarmotCaravelConfig.fir@221615.4]
+  assign csr_io_interrupts_msip = io_interrupts_msip; // @[RocketCore.scala 614:21:shc.marmotcaravel.MarmotCaravelConfig.fir@221615.4]
+  assign csr_io_interrupts_meip = io_interrupts_meip; // @[RocketCore.scala 614:21:shc.marmotcaravel.MarmotCaravelConfig.fir@221615.4]
+  assign csr_io_hartid = io_hartid; // @[RocketCore.scala 615:17:shc.marmotcaravel.MarmotCaravelConfig.fir@221616.4]
+  assign csr_io_rw_addr = wb_reg_inst[31:20]; // @[RocketCore.scala 629:18:shc.marmotcaravel.MarmotCaravelConfig.fir@221651.4]
+  assign csr_io_rw_cmd = wb_ctrl_csr & _T_1331; // @[RocketCore.scala 630:17:shc.marmotcaravel.MarmotCaravelConfig.fir@221655.4]
+  assign csr_io_rw_wdata = wb_reg_wdata; // @[RocketCore.scala 631:19:shc.marmotcaravel.MarmotCaravelConfig.fir@221656.4]
+  assign csr_io_decode_0_csr = ibuf_io_inst_0_bits_raw[31:20]; // @[RocketCore.scala 609:24:shc.marmotcaravel.MarmotCaravelConfig.fir@221603.4]
+  assign csr_io_exception = _T_1252 | _T_1247; // @[RocketCore.scala 610:20:shc.marmotcaravel.MarmotCaravelConfig.fir@221604.4]
+  assign csr_io_retire = _T_1287 & _T_1288; // @[RocketCore.scala 612:17:shc.marmotcaravel.MarmotCaravelConfig.fir@221606.4]
+  assign csr_io_cause = wb_reg_xcpt ? wb_reg_cause : {{28'd0}, _T_1257}; // @[RocketCore.scala 611:16:shc.marmotcaravel.MarmotCaravelConfig.fir@221605.4]
+  assign csr_io_pc = wb_reg_pc; // @[RocketCore.scala 619:13:shc.marmotcaravel.MarmotCaravelConfig.fir@221620.4]
+  assign csr_io_tval = tval_valid ? wb_reg_wdata : 32'h0; // @[RocketCore.scala 624:15:shc.marmotcaravel.MarmotCaravelConfig.fir@221642.4]
+  assign csr_io_inst_0 = {_T_1306,_T_1307}; // @[RocketCore.scala 613:18:shc.marmotcaravel.MarmotCaravelConfig.fir@221614.4]
+  assign bpu_io_status_debug = csr_io_status_debug; // @[RocketCore.scala 281:17:shc.marmotcaravel.MarmotCaravelConfig.fir@220835.4]
+  assign bpu_io_bp_0_control_action = csr_io_bp_0_control_action; // @[RocketCore.scala 282:13:shc.marmotcaravel.MarmotCaravelConfig.fir@220836.4]
+  assign bpu_io_bp_0_control_chain = csr_io_bp_0_control_chain; // @[RocketCore.scala 282:13:shc.marmotcaravel.MarmotCaravelConfig.fir@220836.4]
+  assign bpu_io_bp_0_control_tmatch = csr_io_bp_0_control_tmatch; // @[RocketCore.scala 282:13:shc.marmotcaravel.MarmotCaravelConfig.fir@220836.4]
+  assign bpu_io_bp_0_control_x = csr_io_bp_0_control_x; // @[RocketCore.scala 282:13:shc.marmotcaravel.MarmotCaravelConfig.fir@220836.4]
+  assign bpu_io_bp_0_control_w = csr_io_bp_0_control_w; // @[RocketCore.scala 282:13:shc.marmotcaravel.MarmotCaravelConfig.fir@220836.4]
+  assign bpu_io_bp_0_control_r = csr_io_bp_0_control_r; // @[RocketCore.scala 282:13:shc.marmotcaravel.MarmotCaravelConfig.fir@220836.4]
+  assign bpu_io_bp_0_address = csr_io_bp_0_address; // @[RocketCore.scala 282:13:shc.marmotcaravel.MarmotCaravelConfig.fir@220836.4]
+  assign bpu_io_bp_1_control_action = csr_io_bp_1_control_action; // @[RocketCore.scala 282:13:shc.marmotcaravel.MarmotCaravelConfig.fir@220836.4]
+  assign bpu_io_bp_1_control_tmatch = csr_io_bp_1_control_tmatch; // @[RocketCore.scala 282:13:shc.marmotcaravel.MarmotCaravelConfig.fir@220836.4]
+  assign bpu_io_bp_1_control_x = csr_io_bp_1_control_x; // @[RocketCore.scala 282:13:shc.marmotcaravel.MarmotCaravelConfig.fir@220836.4]
+  assign bpu_io_bp_1_control_w = csr_io_bp_1_control_w; // @[RocketCore.scala 282:13:shc.marmotcaravel.MarmotCaravelConfig.fir@220836.4]
+  assign bpu_io_bp_1_control_r = csr_io_bp_1_control_r; // @[RocketCore.scala 282:13:shc.marmotcaravel.MarmotCaravelConfig.fir@220836.4]
+  assign bpu_io_bp_1_address = csr_io_bp_1_address; // @[RocketCore.scala 282:13:shc.marmotcaravel.MarmotCaravelConfig.fir@220836.4]
+  assign bpu_io_pc = ibuf_io_pc; // @[RocketCore.scala 283:13:shc.marmotcaravel.MarmotCaravelConfig.fir@220837.4]
+  assign bpu_io_ea = mem_reg_wdata; // @[RocketCore.scala 284:13:shc.marmotcaravel.MarmotCaravelConfig.fir@220838.4]
+  assign alu_io_fn = ex_ctrl_alu_fn; // @[RocketCore.scala 341:13:shc.marmotcaravel.MarmotCaravelConfig.fir@220988.4]
+  assign alu_io_in2 = $unsigned(ex_op2); // @[RocketCore.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@220990.4]
+  assign alu_io_in1 = $unsigned(ex_op1); // @[RocketCore.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@220992.4]
+  assign div_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220995.4]
+  assign div_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220996.4]
+  assign div_io_req_valid = ex_reg_valid & ex_ctrl_div; // @[RocketCore.scala 355:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220998.4]
+  assign div_io_req_bits_fn = ex_ctrl_alu_fn; // @[RocketCore.scala 357:22:shc.marmotcaravel.MarmotCaravelConfig.fir@221000.4]
+  assign div_io_req_bits_in1 = ex_reg_rs_bypass_0 ? _T_795 : _T_796; // @[RocketCore.scala 358:23:shc.marmotcaravel.MarmotCaravelConfig.fir@221001.4]
+  assign div_io_req_bits_in2 = ex_reg_rs_bypass_1 ? _T_803 : _T_804; // @[RocketCore.scala 359:23:shc.marmotcaravel.MarmotCaravelConfig.fir@221002.4]
+  assign div_io_req_bits_tag = ex_reg_inst[11:7]; // @[RocketCore.scala 360:23:shc.marmotcaravel.MarmotCaravelConfig.fir@221003.4]
+  assign div_io_kill = killm_common & _T_1221; // @[RocketCore.scala 519:15:shc.marmotcaravel.MarmotCaravelConfig.fir@221463.4]
+  assign div_io_resp_ready = _T_1285 ? 1'h0 : _T_1484; // @[RocketCore.scala 575:21:shc.marmotcaravel.MarmotCaravelConfig.fir@221553.4 RocketCore.scala 589:23:shc.marmotcaravel.MarmotCaravelConfig.fir@221566.6]
+  assign PlusArgTimeout_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222017.4]
+  assign PlusArgTimeout_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222018.4]
+  assign PlusArgTimeout_io_count = csr_io_time; // @[PlusArg.scala 51:75:shc.marmotcaravel.MarmotCaravelConfig.fir@222019.4]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  _RAND_0 = {1{`RANDOM}};
+  `ifdef RANDOMIZE_MEM_INIT
+  for (initvar = 0; initvar < 31; initvar = initvar+1)
+    _T_574[initvar] = _RAND_0[31:0];
+  `endif // RANDOMIZE_MEM_INIT
+  _RAND_1 = {1{`RANDOM}};
+  _RAND_2 = {1{`RANDOM}};
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  imem_might_request_reg = _RAND_3[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  ex_ctrl_branch = _RAND_4[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  ex_ctrl_jal = _RAND_5[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {1{`RANDOM}};
+  ex_ctrl_jalr = _RAND_6[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {1{`RANDOM}};
+  ex_ctrl_rxs2 = _RAND_7[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_8 = {1{`RANDOM}};
+  ex_ctrl_sel_alu2 = _RAND_8[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_9 = {1{`RANDOM}};
+  ex_ctrl_sel_alu1 = _RAND_9[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_10 = {1{`RANDOM}};
+  ex_ctrl_sel_imm = _RAND_10[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_11 = {1{`RANDOM}};
+  ex_ctrl_alu_fn = _RAND_11[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_12 = {1{`RANDOM}};
+  ex_ctrl_mem = _RAND_12[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_13 = {1{`RANDOM}};
+  ex_ctrl_mem_cmd = _RAND_13[4:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_14 = {1{`RANDOM}};
+  ex_ctrl_mem_type = _RAND_14[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_15 = {1{`RANDOM}};
+  ex_ctrl_div = _RAND_15[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_16 = {1{`RANDOM}};
+  ex_ctrl_wxd = _RAND_16[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_17 = {1{`RANDOM}};
+  ex_ctrl_csr = _RAND_17[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_18 = {1{`RANDOM}};
+  ex_ctrl_fence_i = _RAND_18[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_19 = {1{`RANDOM}};
+  mem_ctrl_fp = _RAND_19[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_20 = {1{`RANDOM}};
+  mem_ctrl_rocc = _RAND_20[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_21 = {1{`RANDOM}};
+  mem_ctrl_branch = _RAND_21[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_22 = {1{`RANDOM}};
+  mem_ctrl_jal = _RAND_22[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_23 = {1{`RANDOM}};
+  mem_ctrl_jalr = _RAND_23[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_24 = {1{`RANDOM}};
+  mem_ctrl_mem = _RAND_24[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_25 = {1{`RANDOM}};
+  mem_ctrl_mul = _RAND_25[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_26 = {1{`RANDOM}};
+  mem_ctrl_div = _RAND_26[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_27 = {1{`RANDOM}};
+  mem_ctrl_wxd = _RAND_27[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_28 = {1{`RANDOM}};
+  mem_ctrl_csr = _RAND_28[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_29 = {1{`RANDOM}};
+  mem_ctrl_fence_i = _RAND_29[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_30 = {1{`RANDOM}};
+  wb_ctrl_rocc = _RAND_30[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_31 = {1{`RANDOM}};
+  wb_ctrl_mem = _RAND_31[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_32 = {1{`RANDOM}};
+  wb_ctrl_div = _RAND_32[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_33 = {1{`RANDOM}};
+  wb_ctrl_wxd = _RAND_33[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_34 = {1{`RANDOM}};
+  wb_ctrl_csr = _RAND_34[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_35 = {1{`RANDOM}};
+  wb_ctrl_fence_i = _RAND_35[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_36 = {1{`RANDOM}};
+  ex_reg_xcpt_interrupt = _RAND_36[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_37 = {1{`RANDOM}};
+  ex_reg_valid = _RAND_37[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_38 = {1{`RANDOM}};
+  ex_reg_rvc = _RAND_38[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_39 = {1{`RANDOM}};
+  ex_reg_btb_resp_entry = _RAND_39[4:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_40 = {1{`RANDOM}};
+  ex_reg_btb_resp_bht_history = _RAND_40[7:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_41 = {1{`RANDOM}};
+  ex_reg_xcpt = _RAND_41[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_42 = {1{`RANDOM}};
+  ex_reg_flush_pipe = _RAND_42[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_43 = {1{`RANDOM}};
+  ex_reg_load_use = _RAND_43[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_44 = {1{`RANDOM}};
+  ex_reg_cause = _RAND_44[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_45 = {1{`RANDOM}};
+  ex_reg_replay = _RAND_45[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_46 = {1{`RANDOM}};
+  ex_reg_pc = _RAND_46[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_47 = {1{`RANDOM}};
+  ex_reg_inst = _RAND_47[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_48 = {1{`RANDOM}};
+  ex_reg_raw_inst = _RAND_48[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_49 = {1{`RANDOM}};
+  mem_reg_xcpt_interrupt = _RAND_49[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_50 = {1{`RANDOM}};
+  mem_reg_valid = _RAND_50[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_51 = {1{`RANDOM}};
+  mem_reg_rvc = _RAND_51[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_52 = {1{`RANDOM}};
+  mem_reg_btb_resp_entry = _RAND_52[4:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_53 = {1{`RANDOM}};
+  mem_reg_btb_resp_bht_history = _RAND_53[7:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_54 = {1{`RANDOM}};
+  mem_reg_xcpt = _RAND_54[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_55 = {1{`RANDOM}};
+  mem_reg_replay = _RAND_55[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_56 = {1{`RANDOM}};
+  mem_reg_flush_pipe = _RAND_56[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_57 = {1{`RANDOM}};
+  mem_reg_cause = _RAND_57[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_58 = {1{`RANDOM}};
+  mem_reg_slow_bypass = _RAND_58[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_59 = {1{`RANDOM}};
+  mem_reg_load = _RAND_59[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_60 = {1{`RANDOM}};
+  mem_reg_store = _RAND_60[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_61 = {1{`RANDOM}};
+  mem_reg_sfence = _RAND_61[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_62 = {1{`RANDOM}};
+  mem_reg_pc = _RAND_62[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_63 = {1{`RANDOM}};
+  mem_reg_inst = _RAND_63[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_64 = {1{`RANDOM}};
+  mem_reg_raw_inst = _RAND_64[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_65 = {1{`RANDOM}};
+  mem_reg_wdata = _RAND_65[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_66 = {1{`RANDOM}};
+  mem_reg_rs2 = _RAND_66[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_67 = {1{`RANDOM}};
+  mem_br_taken = _RAND_67[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_68 = {1{`RANDOM}};
+  wb_reg_valid = _RAND_68[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_69 = {1{`RANDOM}};
+  wb_reg_xcpt = _RAND_69[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_70 = {1{`RANDOM}};
+  wb_reg_replay = _RAND_70[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_71 = {1{`RANDOM}};
+  wb_reg_flush_pipe = _RAND_71[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_72 = {1{`RANDOM}};
+  wb_reg_cause = _RAND_72[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_73 = {1{`RANDOM}};
+  wb_reg_sfence = _RAND_73[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_74 = {1{`RANDOM}};
+  wb_reg_pc = _RAND_74[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_75 = {1{`RANDOM}};
+  wb_reg_inst = _RAND_75[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_76 = {1{`RANDOM}};
+  wb_reg_raw_inst = _RAND_76[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_77 = {1{`RANDOM}};
+  wb_reg_wdata = _RAND_77[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_78 = {1{`RANDOM}};
+  id_reg_fence = _RAND_78[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_79 = {1{`RANDOM}};
+  ex_reg_rs_bypass_0 = _RAND_79[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_80 = {1{`RANDOM}};
+  ex_reg_rs_bypass_1 = _RAND_80[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_81 = {1{`RANDOM}};
+  ex_reg_rs_lsb_0 = _RAND_81[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_82 = {1{`RANDOM}};
+  ex_reg_rs_lsb_1 = _RAND_82[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_83 = {1{`RANDOM}};
+  ex_reg_rs_msb_0 = _RAND_83[29:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_84 = {1{`RANDOM}};
+  ex_reg_rs_msb_1 = _RAND_84[29:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_85 = {1{`RANDOM}};
+  _T_1340 = _RAND_85[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_86 = {1{`RANDOM}};
+  blocked = _RAND_86[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_87 = {1{`RANDOM}};
+  _T_1221 = _RAND_87[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_88 = {1{`RANDOM}};
+  _T_1578 = _RAND_88[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_89 = {1{`RANDOM}};
+  coreMonitorBundle_rd0val = _RAND_89[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_90 = {1{`RANDOM}};
+  _T_1583 = _RAND_90[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_91 = {1{`RANDOM}};
+  coreMonitorBundle_rd1val = _RAND_91[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if(_T_574__T_1298_en & _T_574__T_1298_mask) begin
+      _T_574[_T_574__T_1298_addr] <= _T_574__T_1298_data; // @[RocketCore.scala 910:23:shc.marmotcaravel.MarmotCaravelConfig.fir@220657.4]
+    end
+    imem_might_request_reg <= _T_1506 | _T_1507;
+    if (_T_882) begin
+      ex_ctrl_branch <= id_ctrl_branch;
+    end
+    if (_T_882) begin
+      ex_ctrl_jal <= id_ctrl_jal;
+    end
+    if (_T_882) begin
+      ex_ctrl_jalr <= id_ctrl_jalr;
+    end
+    if (_T_882) begin
+      ex_ctrl_rxs2 <= id_ctrl_rxs2;
+    end
+    if (_T_882) begin
+      if (id_xcpt) begin
+        if (_T_896) begin
+          ex_ctrl_sel_alu2 <= 2'h0;
+        end else begin
+          if (_T_893) begin
+            ex_ctrl_sel_alu2 <= 2'h1;
+          end else begin
+            ex_ctrl_sel_alu2 <= 2'h0;
+          end
+        end
+      end else begin
+        ex_ctrl_sel_alu2 <= id_ctrl_sel_alu2;
+      end
+    end
+    if (_T_882) begin
+      if (id_xcpt) begin
+        if (_T_896) begin
+          ex_ctrl_sel_alu1 <= 2'h2;
+        end else begin
+          if (_T_893) begin
+            ex_ctrl_sel_alu1 <= 2'h2;
+          end else begin
+            ex_ctrl_sel_alu1 <= 2'h1;
+          end
+        end
+      end else begin
+        ex_ctrl_sel_alu1 <= id_ctrl_sel_alu1;
+      end
+    end
+    if (_T_882) begin
+      ex_ctrl_sel_imm <= id_ctrl_sel_imm;
+    end
+    if (_T_882) begin
+      if (id_xcpt) begin
+        ex_ctrl_alu_fn <= 4'h0;
+      end else begin
+        ex_ctrl_alu_fn <= id_ctrl_alu_fn;
+      end
+    end
+    if (_T_882) begin
+      ex_ctrl_mem <= id_ctrl_mem;
+    end
+    if (_T_882) begin
+      ex_ctrl_mem_cmd <= id_ctrl_mem_cmd;
+    end
+    if (_T_882) begin
+      if (id_sfence) begin
+        ex_ctrl_mem_type <= {{1'd0}, _T_900};
+      end else begin
+        ex_ctrl_mem_type <= id_ctrl_mem_type;
+      end
+    end
+    if (_T_882) begin
+      ex_ctrl_div <= id_ctrl_div;
+    end
+    if (_T_882) begin
+      ex_ctrl_wxd <= id_ctrl_wxd;
+    end
+    if (_T_882) begin
+      if (id_csr_ren) begin
+        ex_ctrl_csr <= 3'h2;
+      end else begin
+        ex_ctrl_csr <= id_ctrl_csr;
+      end
+    end
+    if (_T_882) begin
+      ex_ctrl_fence_i <= id_ctrl_fence_i;
+    end
+    if (!(_T_1129)) begin
+      if (ex_pc_valid) begin
+        mem_ctrl_fp <= 1'h0;
+      end
+    end
+    if (!(_T_1129)) begin
+      if (ex_pc_valid) begin
+        mem_ctrl_rocc <= 1'h0;
+      end
+    end
+    if (!(_T_1129)) begin
+      if (ex_pc_valid) begin
+        mem_ctrl_branch <= ex_ctrl_branch;
+      end
+    end
+    if (!(_T_1129)) begin
+      if (ex_pc_valid) begin
+        mem_ctrl_jal <= ex_ctrl_jal;
+      end
+    end
+    if (!(_T_1129)) begin
+      if (ex_pc_valid) begin
+        mem_ctrl_jalr <= ex_ctrl_jalr;
+      end
+    end
+    if (!(_T_1129)) begin
+      if (ex_pc_valid) begin
+        mem_ctrl_mem <= ex_ctrl_mem;
+      end
+    end
+    if (!(_T_1129)) begin
+      if (ex_pc_valid) begin
+        mem_ctrl_mul <= 1'h0;
+      end
+    end
+    if (!(_T_1129)) begin
+      if (ex_pc_valid) begin
+        mem_ctrl_div <= ex_ctrl_div;
+      end
+    end
+    if (!(_T_1129)) begin
+      if (ex_pc_valid) begin
+        mem_ctrl_wxd <= ex_ctrl_wxd;
+      end
+    end
+    if (!(_T_1129)) begin
+      if (ex_pc_valid) begin
+        mem_ctrl_csr <= ex_ctrl_csr;
+      end
+    end
+    if (!(_T_1129)) begin
+      if (ex_pc_valid) begin
+        if (_T_1191) begin
+          mem_ctrl_fence_i <= 1'h1;
+        end else begin
+          mem_ctrl_fence_i <= ex_ctrl_fence_i;
+        end
+      end
+    end
+    if (mem_pc_valid) begin
+      wb_ctrl_rocc <= mem_ctrl_rocc;
+    end
+    if (mem_pc_valid) begin
+      wb_ctrl_mem <= mem_ctrl_mem;
+    end
+    if (mem_pc_valid) begin
+      wb_ctrl_div <= mem_ctrl_div;
+    end
+    if (mem_pc_valid) begin
+      wb_ctrl_wxd <= mem_ctrl_wxd;
+    end
+    if (mem_pc_valid) begin
+      wb_ctrl_csr <= mem_ctrl_csr;
+    end
+    if (mem_pc_valid) begin
+      wb_ctrl_fence_i <= mem_ctrl_fence_i;
+    end
+    ex_reg_xcpt_interrupt <= _T_884 & csr_io_interrupt;
+    ex_reg_valid <= ctrl_killd == 1'h0;
+    if (_T_882) begin
+      if (id_xcpt) begin
+        if (_T_893) begin
+          ex_reg_rvc <= 1'h1;
+        end else begin
+          ex_reg_rvc <= ibuf_io_inst_0_bits_rvc;
+        end
+      end else begin
+        ex_reg_rvc <= ibuf_io_inst_0_bits_rvc;
+      end
+    end
+    if (_T_922) begin
+      ex_reg_btb_resp_entry <= ibuf_io_btb_resp_entry;
+    end
+    if (_T_922) begin
+      ex_reg_btb_resp_bht_history <= ibuf_io_btb_resp_bht_history;
+    end
+    ex_reg_xcpt <= _T_882 & id_xcpt;
+    if (_T_882) begin
+      ex_reg_flush_pipe <= _T_897;
+    end
+    if (_T_882) begin
+      ex_reg_load_use <= id_load_use;
+    end
+    if (_T_922) begin
+      if (csr_io_interrupt) begin
+        ex_reg_cause <= csr_io_interrupt_cause;
+      end else begin
+        ex_reg_cause <= {{28'd0}, _T_737};
+      end
+    end
+    ex_reg_replay <= _T_884 & ibuf_io_inst_0_bits_replay;
+    if (_T_922) begin
+      ex_reg_pc <= ibuf_io_pc;
+    end
+    if (_T_922) begin
+      ex_reg_inst <= ibuf_io_inst_0_bits_inst_bits;
+    end
+    if (_T_922) begin
+      ex_reg_raw_inst <= ibuf_io_inst_0_bits_raw;
+    end
+    mem_reg_xcpt_interrupt <= _T_883 & ex_reg_xcpt_interrupt;
+    mem_reg_valid <= ctrl_killx == 1'h0;
+    if (!(_T_1129)) begin
+      if (ex_pc_valid) begin
+        mem_reg_rvc <= ex_reg_rvc;
+      end
+    end
+    if (!(_T_1129)) begin
+      if (ex_pc_valid) begin
+        mem_reg_btb_resp_entry <= ex_reg_btb_resp_entry;
+      end
+    end
+    if (!(_T_1129)) begin
+      if (ex_pc_valid) begin
+        mem_reg_btb_resp_bht_history <= ex_reg_btb_resp_bht_history;
+      end
+    end
+    mem_reg_xcpt <= _T_1122 & ex_xcpt;
+    mem_reg_replay <= _T_883 & replay_ex;
+    if (!(_T_1129)) begin
+      if (ex_pc_valid) begin
+        if (_T_1191) begin
+          mem_reg_flush_pipe <= 1'h1;
+        end else begin
+          mem_reg_flush_pipe <= ex_reg_flush_pipe;
+        end
+      end
+    end
+    if (!(_T_1129)) begin
+      if (ex_pc_valid) begin
+        mem_reg_cause <= ex_reg_cause;
+      end
+    end
+    if (!(_T_1129)) begin
+      if (ex_pc_valid) begin
+        mem_reg_slow_bypass <= ex_slow_bypass;
+      end
+    end
+    if (!(_T_1129)) begin
+      if (ex_pc_valid) begin
+        mem_reg_load <= _T_1153;
+      end
+    end
+    if (!(_T_1129)) begin
+      if (ex_pc_valid) begin
+        mem_reg_store <= _T_1177;
+      end
+    end
+    if (_T_1129) begin
+      mem_reg_sfence <= 1'h0;
+    end else begin
+      if (ex_pc_valid) begin
+        mem_reg_sfence <= 1'h0;
+      end
+    end
+    if (!(_T_1129)) begin
+      if (ex_pc_valid) begin
+        mem_reg_pc <= ex_reg_pc;
+      end
+    end
+    if (!(_T_1129)) begin
+      if (ex_pc_valid) begin
+        mem_reg_inst <= ex_reg_inst;
+      end
+    end
+    if (!(_T_1129)) begin
+      if (ex_pc_valid) begin
+        mem_reg_raw_inst <= ex_reg_raw_inst;
+      end
+    end
+    if (!(_T_1129)) begin
+      if (ex_pc_valid) begin
+        mem_reg_wdata <= alu_io_out;
+      end
+    end
+    if (!(_T_1129)) begin
+      if (ex_pc_valid) begin
+        if (_T_1180) begin
+          if (_T_1182) begin
+            mem_reg_rs2 <= _T_1185;
+          end else begin
+            if (_T_1186) begin
+              mem_reg_rs2 <= _T_1188;
+            end else begin
+              if (ex_reg_rs_bypass_1) begin
+                if (_T_802) begin
+                  mem_reg_rs2 <= io_dmem_resp_bits_data_word_bypass;
+                end else begin
+                  if (_T_800) begin
+                    mem_reg_rs2 <= wb_reg_wdata;
+                  end else begin
+                    if (_T_798) begin
+                      mem_reg_rs2 <= mem_reg_wdata;
+                    end else begin
+                      mem_reg_rs2 <= 32'h0;
+                    end
+                  end
+                end
+              end else begin
+                mem_reg_rs2 <= _T_804;
+              end
+            end
+          end
+        end
+      end
+    end
+    if (!(_T_1129)) begin
+      if (ex_pc_valid) begin
+        mem_br_taken <= alu_io_cmp_out;
+      end
+    end
+    wb_reg_valid <= ctrl_killm == 1'h0;
+    wb_reg_xcpt <= mem_xcpt & _T_1225;
+    wb_reg_replay <= replay_mem & _T_1225;
+    wb_reg_flush_pipe <= _T_1224 & mem_reg_flush_pipe;
+    if (mem_pc_valid) begin
+      if (_T_1196) begin
+        wb_reg_cause <= mem_reg_cause;
+      end else begin
+        wb_reg_cause <= {{28'd0}, _T_1200};
+      end
+    end
+    if (mem_pc_valid) begin
+      wb_reg_sfence <= mem_reg_sfence;
+    end
+    if (mem_pc_valid) begin
+      wb_reg_pc <= mem_reg_pc;
+    end
+    if (mem_pc_valid) begin
+      wb_reg_inst <= mem_reg_inst;
+    end
+    if (mem_pc_valid) begin
+      wb_reg_raw_inst <= mem_reg_raw_inst;
+    end
+    if (mem_pc_valid) begin
+      if (_T_1233) begin
+        wb_reg_wdata <= 32'h0;
+      end else begin
+        wb_reg_wdata <= mem_int_wdata;
+      end
+    end
+    if (reset) begin
+      id_reg_fence <= 1'h0;
+    end else begin
+      if (_T_882) begin
+        if (id_fence_next) begin
+          id_reg_fence <= 1'h1;
+        end else begin
+          if (_T_710) begin
+            id_reg_fence <= 1'h0;
+          end
+        end
+      end else begin
+        if (_T_710) begin
+          id_reg_fence <= 1'h0;
+        end
+      end
+    end
+    if (_T_882) begin
+      if (id_illegal_insn) begin
+        ex_reg_rs_bypass_0 <= 1'h0;
+      end else begin
+        ex_reg_rs_bypass_0 <= do_bypass;
+      end
+    end
+    if (_T_882) begin
+      ex_reg_rs_bypass_1 <= do_bypass_1;
+    end
+    if (_T_882) begin
+      if (id_illegal_insn) begin
+        ex_reg_rs_lsb_0 <= _T_918;
+      end else begin
+        if (_T_906) begin
+          ex_reg_rs_lsb_0 <= _T_907;
+        end else begin
+          if (_T_753) begin
+            ex_reg_rs_lsb_0 <= 2'h0;
+          end else begin
+            if (_T_756) begin
+              ex_reg_rs_lsb_0 <= 2'h1;
+            end else begin
+              if (_T_758) begin
+                ex_reg_rs_lsb_0 <= 2'h2;
+              end else begin
+                ex_reg_rs_lsb_0 <= 2'h3;
+              end
+            end
+          end
+        end
+      end
+    end
+    if (_T_882) begin
+      if (_T_914) begin
+        ex_reg_rs_lsb_1 <= _T_915;
+      end else begin
+        if (_T_761) begin
+          ex_reg_rs_lsb_1 <= 2'h0;
+        end else begin
+          if (_T_764) begin
+            ex_reg_rs_lsb_1 <= 2'h1;
+          end else begin
+            if (_T_766) begin
+              ex_reg_rs_lsb_1 <= 2'h2;
+            end else begin
+              ex_reg_rs_lsb_1 <= 2'h3;
+            end
+          end
+        end
+      end
+    end
+    if (_T_882) begin
+      if (id_illegal_insn) begin
+        ex_reg_rs_msb_0 <= _T_919;
+      end else begin
+        if (_T_906) begin
+          ex_reg_rs_msb_0 <= _T_908;
+        end
+      end
+    end
+    if (_T_882) begin
+      if (_T_914) begin
+        ex_reg_rs_msb_1 <= _T_916;
+      end
+    end
+    if (reset) begin
+      _T_1340 <= 32'h0;
+    end else begin
+      if (_T_1374) begin
+        _T_1340 <= _T_1373;
+      end else begin
+        if (ll_wen) begin
+          _T_1340 <= _T_1346;
+        end
+      end
+    end
+    blocked <= _T_1456 & _T_1458;
+    _T_1221 <= div_io_req_ready & div_io_req_valid;
+    if (ex_reg_rs_bypass_0) begin
+      if (_T_794) begin
+        _T_1578 <= io_dmem_resp_bits_data_word_bypass;
+      end else begin
+        if (_T_792) begin
+          _T_1578 <= wb_reg_wdata;
+        end else begin
+          if (_T_790) begin
+            _T_1578 <= mem_reg_wdata;
+          end else begin
+            _T_1578 <= 32'h0;
+          end
+        end
+      end
+    end else begin
+      _T_1578 <= _T_796;
+    end
+    coreMonitorBundle_rd0val <= _T_1578;
+    if (ex_reg_rs_bypass_1) begin
+      if (_T_802) begin
+        _T_1583 <= io_dmem_resp_bits_data_word_bypass;
+      end else begin
+        if (_T_800) begin
+          _T_1583 <= wb_reg_wdata;
+        end else begin
+          if (_T_798) begin
+            _T_1583 <= mem_reg_wdata;
+          end else begin
+            _T_1583 <= 32'h0;
+          end
+        end
+      end
+    end else begin
+      _T_1583 <= _T_804;
+    end
+    coreMonitorBundle_rd1val <= _T_1583;
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1587) begin
+          $fwrite(32'h80000002,"C%d: %d [%d] pc=[%x] W[r%d=%x][%d] R[r%d=%x] R[r%d=%x] inst=[%x] DASM(%x)\n",io_hartid,coreMonitorBundle_time,coreMonitorBundle_valid,coreMonitorBundle_pc,coreMonitorBundle_wrdst,rf_wdata,rf_wen,_T_1561,coreMonitorBundle_rd0val,_T_1562,coreMonitorBundle_rd1val,coreMonitorBundle_inst,coreMonitorBundle_inst); // @[RocketCore.scala 852:11:shc.marmotcaravel.MarmotCaravelConfig.fir@222013.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+endmodule
+module RocketTile( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222021.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222022.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222023.4]
+  input         auto_intsink_in_sync_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222024.4]
+  input         auto_int_in_xing_in_1_sync_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222024.4]
+  input         auto_int_in_xing_in_0_sync_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222024.4]
+  input         auto_int_in_xing_in_0_sync_1, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222024.4]
+  output        auto_tl_slave_xing_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222024.4]
+  input         auto_tl_slave_xing_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222024.4]
+  input  [2:0]  auto_tl_slave_xing_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222024.4]
+  input  [2:0]  auto_tl_slave_xing_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222024.4]
+  input  [2:0]  auto_tl_slave_xing_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222024.4]
+  input         auto_tl_slave_xing_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222024.4]
+  input  [31:0] auto_tl_slave_xing_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222024.4]
+  input  [3:0]  auto_tl_slave_xing_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222024.4]
+  input  [31:0] auto_tl_slave_xing_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222024.4]
+  input         auto_tl_slave_xing_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222024.4]
+  input         auto_tl_slave_xing_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222024.4]
+  output        auto_tl_slave_xing_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222024.4]
+  output [2:0]  auto_tl_slave_xing_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222024.4]
+  output [1:0]  auto_tl_slave_xing_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222024.4]
+  output [2:0]  auto_tl_slave_xing_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222024.4]
+  output        auto_tl_slave_xing_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222024.4]
+  output        auto_tl_slave_xing_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222024.4]
+  output        auto_tl_slave_xing_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222024.4]
+  output [31:0] auto_tl_slave_xing_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222024.4]
+  output        auto_tl_slave_xing_in_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222024.4]
+  input         auto_tl_master_xing_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222024.4]
+  output        auto_tl_master_xing_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222024.4]
+  output [2:0]  auto_tl_master_xing_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222024.4]
+  output [2:0]  auto_tl_master_xing_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222024.4]
+  output [3:0]  auto_tl_master_xing_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222024.4]
+  output        auto_tl_master_xing_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222024.4]
+  output [31:0] auto_tl_master_xing_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222024.4]
+  output [3:0]  auto_tl_master_xing_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222024.4]
+  output [31:0] auto_tl_master_xing_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222024.4]
+  output        auto_tl_master_xing_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222024.4]
+  output        auto_tl_master_xing_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222024.4]
+  input         auto_tl_master_xing_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222024.4]
+  input  [2:0]  auto_tl_master_xing_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222024.4]
+  input  [1:0]  auto_tl_master_xing_out_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222024.4]
+  input  [3:0]  auto_tl_master_xing_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222024.4]
+  input         auto_tl_master_xing_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222024.4]
+  input         auto_tl_master_xing_out_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222024.4]
+  input         auto_tl_master_xing_out_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222024.4]
+  input  [31:0] auto_tl_master_xing_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222024.4]
+  input         auto_tl_master_xing_out_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222024.4]
+  input         constants_hartid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222025.4]
+  input  [31:0] constants_reset_vector, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222025.4]
+  output [11:0] data_arrays_0_ext_RW0_addr,
+  output  data_arrays_0_ext_RW0_en,
+  output  data_arrays_0_ext_RW0_clk,
+  output  data_arrays_0_ext_RW0_wmode,
+  output [31:0] data_arrays_0_ext_RW0_wdata,
+  input  [31:0] data_arrays_0_ext_RW0_rdata,
+  output [3:0] data_arrays_0_ext_RW0_wmask,
+  output [6:0] tag_array_ext_RW0_addr,
+  output  tag_array_ext_RW0_en,
+  output  tag_array_ext_RW0_clk,
+  output  tag_array_ext_RW0_wmode,
+  output [39:0] tag_array_ext_RW0_wdata,
+  input  [39:0] tag_array_ext_RW0_rdata,
+  output [1:0] tag_array_ext_RW0_wmask,
+  output [10:0] data_arrays_0_0_ext_RW0_addr,
+  output  data_arrays_0_0_ext_RW0_en,
+  output  data_arrays_0_0_ext_RW0_clk,
+  output  data_arrays_0_0_ext_RW0_wmode,
+  output [63:0] data_arrays_0_0_ext_RW0_wdata,
+  input  [63:0] data_arrays_0_0_ext_RW0_rdata,
+  output [1:0] data_arrays_0_0_ext_RW0_wmask
+);
+  wire  tlMasterXbar_clock; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@222031.4]
+  wire  tlMasterXbar_reset; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@222031.4]
+  wire  tlMasterXbar_auto_in_1_a_ready; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@222031.4]
+  wire  tlMasterXbar_auto_in_1_a_valid; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@222031.4]
+  wire [31:0] tlMasterXbar_auto_in_1_a_bits_address; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@222031.4]
+  wire  tlMasterXbar_auto_in_1_d_ready; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@222031.4]
+  wire  tlMasterXbar_auto_in_1_d_valid; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@222031.4]
+  wire [2:0] tlMasterXbar_auto_in_1_d_bits_opcode; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@222031.4]
+  wire [3:0] tlMasterXbar_auto_in_1_d_bits_size; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@222031.4]
+  wire [31:0] tlMasterXbar_auto_in_1_d_bits_data; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@222031.4]
+  wire  tlMasterXbar_auto_in_1_d_bits_corrupt; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@222031.4]
+  wire  tlMasterXbar_auto_in_0_a_ready; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@222031.4]
+  wire  tlMasterXbar_auto_in_0_a_valid; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@222031.4]
+  wire [2:0] tlMasterXbar_auto_in_0_a_bits_opcode; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@222031.4]
+  wire [2:0] tlMasterXbar_auto_in_0_a_bits_param; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@222031.4]
+  wire [3:0] tlMasterXbar_auto_in_0_a_bits_size; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@222031.4]
+  wire [31:0] tlMasterXbar_auto_in_0_a_bits_address; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@222031.4]
+  wire [3:0] tlMasterXbar_auto_in_0_a_bits_mask; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@222031.4]
+  wire [31:0] tlMasterXbar_auto_in_0_a_bits_data; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@222031.4]
+  wire  tlMasterXbar_auto_in_0_c_valid; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@222031.4]
+  wire  tlMasterXbar_auto_in_0_d_ready; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@222031.4]
+  wire  tlMasterXbar_auto_in_0_d_valid; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@222031.4]
+  wire [2:0] tlMasterXbar_auto_in_0_d_bits_opcode; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@222031.4]
+  wire [3:0] tlMasterXbar_auto_in_0_d_bits_size; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@222031.4]
+  wire  tlMasterXbar_auto_in_0_d_bits_denied; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@222031.4]
+  wire [31:0] tlMasterXbar_auto_in_0_d_bits_data; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@222031.4]
+  wire  tlMasterXbar_auto_in_0_e_valid; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@222031.4]
+  wire  tlMasterXbar_auto_out_a_ready; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@222031.4]
+  wire  tlMasterXbar_auto_out_a_valid; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@222031.4]
+  wire [2:0] tlMasterXbar_auto_out_a_bits_opcode; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@222031.4]
+  wire [2:0] tlMasterXbar_auto_out_a_bits_param; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@222031.4]
+  wire [3:0] tlMasterXbar_auto_out_a_bits_size; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@222031.4]
+  wire  tlMasterXbar_auto_out_a_bits_source; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@222031.4]
+  wire [31:0] tlMasterXbar_auto_out_a_bits_address; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@222031.4]
+  wire [3:0] tlMasterXbar_auto_out_a_bits_mask; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@222031.4]
+  wire [31:0] tlMasterXbar_auto_out_a_bits_data; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@222031.4]
+  wire  tlMasterXbar_auto_out_a_bits_corrupt; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@222031.4]
+  wire  tlMasterXbar_auto_out_d_ready; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@222031.4]
+  wire  tlMasterXbar_auto_out_d_valid; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@222031.4]
+  wire [2:0] tlMasterXbar_auto_out_d_bits_opcode; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@222031.4]
+  wire [1:0] tlMasterXbar_auto_out_d_bits_param; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@222031.4]
+  wire [3:0] tlMasterXbar_auto_out_d_bits_size; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@222031.4]
+  wire  tlMasterXbar_auto_out_d_bits_source; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@222031.4]
+  wire  tlMasterXbar_auto_out_d_bits_sink; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@222031.4]
+  wire  tlMasterXbar_auto_out_d_bits_denied; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@222031.4]
+  wire [31:0] tlMasterXbar_auto_out_d_bits_data; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@222031.4]
+  wire  tlMasterXbar_auto_out_d_bits_corrupt; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@222031.4]
+  wire  tlSlaveXbar_clock; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@222037.4]
+  wire  tlSlaveXbar_reset; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@222037.4]
+  wire  tlSlaveXbar_auto_in_a_ready; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@222037.4]
+  wire  tlSlaveXbar_auto_in_a_valid; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@222037.4]
+  wire [2:0] tlSlaveXbar_auto_in_a_bits_opcode; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@222037.4]
+  wire [2:0] tlSlaveXbar_auto_in_a_bits_param; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@222037.4]
+  wire [2:0] tlSlaveXbar_auto_in_a_bits_size; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@222037.4]
+  wire  tlSlaveXbar_auto_in_a_bits_source; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@222037.4]
+  wire [31:0] tlSlaveXbar_auto_in_a_bits_address; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@222037.4]
+  wire [3:0] tlSlaveXbar_auto_in_a_bits_mask; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@222037.4]
+  wire [31:0] tlSlaveXbar_auto_in_a_bits_data; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@222037.4]
+  wire  tlSlaveXbar_auto_in_a_bits_corrupt; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@222037.4]
+  wire  tlSlaveXbar_auto_in_d_ready; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@222037.4]
+  wire  tlSlaveXbar_auto_in_d_valid; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@222037.4]
+  wire [2:0] tlSlaveXbar_auto_in_d_bits_opcode; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@222037.4]
+  wire [1:0] tlSlaveXbar_auto_in_d_bits_param; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@222037.4]
+  wire [2:0] tlSlaveXbar_auto_in_d_bits_size; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@222037.4]
+  wire  tlSlaveXbar_auto_in_d_bits_source; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@222037.4]
+  wire  tlSlaveXbar_auto_in_d_bits_sink; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@222037.4]
+  wire  tlSlaveXbar_auto_in_d_bits_denied; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@222037.4]
+  wire [31:0] tlSlaveXbar_auto_in_d_bits_data; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@222037.4]
+  wire  tlSlaveXbar_auto_in_d_bits_corrupt; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@222037.4]
+  wire  tlSlaveXbar_auto_out_1_a_ready; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@222037.4]
+  wire  tlSlaveXbar_auto_out_1_a_valid; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@222037.4]
+  wire [2:0] tlSlaveXbar_auto_out_1_a_bits_opcode; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@222037.4]
+  wire [2:0] tlSlaveXbar_auto_out_1_a_bits_param; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@222037.4]
+  wire [2:0] tlSlaveXbar_auto_out_1_a_bits_size; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@222037.4]
+  wire  tlSlaveXbar_auto_out_1_a_bits_source; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@222037.4]
+  wire [31:0] tlSlaveXbar_auto_out_1_a_bits_address; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@222037.4]
+  wire [3:0] tlSlaveXbar_auto_out_1_a_bits_mask; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@222037.4]
+  wire [31:0] tlSlaveXbar_auto_out_1_a_bits_data; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@222037.4]
+  wire  tlSlaveXbar_auto_out_1_d_ready; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@222037.4]
+  wire  tlSlaveXbar_auto_out_1_d_valid; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@222037.4]
+  wire [2:0] tlSlaveXbar_auto_out_1_d_bits_opcode; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@222037.4]
+  wire [2:0] tlSlaveXbar_auto_out_1_d_bits_size; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@222037.4]
+  wire  tlSlaveXbar_auto_out_1_d_bits_source; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@222037.4]
+  wire [31:0] tlSlaveXbar_auto_out_1_d_bits_data; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@222037.4]
+  wire  tlSlaveXbar_auto_out_0_a_ready; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@222037.4]
+  wire  tlSlaveXbar_auto_out_0_a_valid; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@222037.4]
+  wire [2:0] tlSlaveXbar_auto_out_0_a_bits_opcode; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@222037.4]
+  wire [2:0] tlSlaveXbar_auto_out_0_a_bits_param; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@222037.4]
+  wire [2:0] tlSlaveXbar_auto_out_0_a_bits_size; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@222037.4]
+  wire  tlSlaveXbar_auto_out_0_a_bits_source; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@222037.4]
+  wire [27:0] tlSlaveXbar_auto_out_0_a_bits_address; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@222037.4]
+  wire [3:0] tlSlaveXbar_auto_out_0_a_bits_mask; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@222037.4]
+  wire [31:0] tlSlaveXbar_auto_out_0_a_bits_data; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@222037.4]
+  wire  tlSlaveXbar_auto_out_0_a_bits_corrupt; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@222037.4]
+  wire  tlSlaveXbar_auto_out_0_d_ready; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@222037.4]
+  wire  tlSlaveXbar_auto_out_0_d_valid; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@222037.4]
+  wire [2:0] tlSlaveXbar_auto_out_0_d_bits_opcode; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@222037.4]
+  wire [2:0] tlSlaveXbar_auto_out_0_d_bits_size; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@222037.4]
+  wire  tlSlaveXbar_auto_out_0_d_bits_source; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@222037.4]
+  wire [31:0] tlSlaveXbar_auto_out_0_d_bits_data; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@222037.4]
+  wire  intXbar_auto_int_in_2_0; // @[BaseTile.scala 144:37:shc.marmotcaravel.MarmotCaravelConfig.fir@222043.4]
+  wire  intXbar_auto_int_in_1_0; // @[BaseTile.scala 144:37:shc.marmotcaravel.MarmotCaravelConfig.fir@222043.4]
+  wire  intXbar_auto_int_in_1_1; // @[BaseTile.scala 144:37:shc.marmotcaravel.MarmotCaravelConfig.fir@222043.4]
+  wire  intXbar_auto_int_in_0_0; // @[BaseTile.scala 144:37:shc.marmotcaravel.MarmotCaravelConfig.fir@222043.4]
+  wire  intXbar_auto_int_out_0; // @[BaseTile.scala 144:37:shc.marmotcaravel.MarmotCaravelConfig.fir@222043.4]
+  wire  intXbar_auto_int_out_1; // @[BaseTile.scala 144:37:shc.marmotcaravel.MarmotCaravelConfig.fir@222043.4]
+  wire  intXbar_auto_int_out_2; // @[BaseTile.scala 144:37:shc.marmotcaravel.MarmotCaravelConfig.fir@222043.4]
+  wire  intXbar_auto_int_out_3; // @[BaseTile.scala 144:37:shc.marmotcaravel.MarmotCaravelConfig.fir@222043.4]
+  wire  dcache_gated_clock; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
+  wire  dcache_reset; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
+  wire  dcache_auto_out_a_ready; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
+  wire  dcache_auto_out_a_valid; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
+  wire [2:0] dcache_auto_out_a_bits_opcode; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
+  wire [2:0] dcache_auto_out_a_bits_param; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
+  wire [3:0] dcache_auto_out_a_bits_size; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
+  wire [31:0] dcache_auto_out_a_bits_address; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
+  wire [3:0] dcache_auto_out_a_bits_mask; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
+  wire [31:0] dcache_auto_out_a_bits_data; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
+  wire  dcache_auto_out_c_valid; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
+  wire  dcache_auto_out_d_ready; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
+  wire  dcache_auto_out_d_valid; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
+  wire [2:0] dcache_auto_out_d_bits_opcode; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
+  wire [3:0] dcache_auto_out_d_bits_size; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
+  wire  dcache_auto_out_d_bits_denied; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
+  wire [31:0] dcache_auto_out_d_bits_data; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
+  wire  dcache_auto_out_e_valid; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
+  wire  dcache_io_cpu_req_ready; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
+  wire  dcache_io_cpu_req_valid; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
+  wire [31:0] dcache_io_cpu_req_bits_addr; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
+  wire [6:0] dcache_io_cpu_req_bits_tag; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
+  wire [4:0] dcache_io_cpu_req_bits_cmd; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
+  wire [2:0] dcache_io_cpu_req_bits_typ; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
+  wire  dcache_io_cpu_req_bits_phys; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
+  wire  dcache_io_cpu_s1_kill; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
+  wire [31:0] dcache_io_cpu_s1_data_data; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
+  wire [3:0] dcache_io_cpu_s1_data_mask; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
+  wire  dcache_io_cpu_s2_nack; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
+  wire  dcache_io_cpu_resp_valid; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
+  wire [31:0] dcache_io_cpu_resp_bits_addr; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
+  wire [6:0] dcache_io_cpu_resp_bits_tag; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
+  wire [4:0] dcache_io_cpu_resp_bits_cmd; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
+  wire [2:0] dcache_io_cpu_resp_bits_typ; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
+  wire [31:0] dcache_io_cpu_resp_bits_data; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
+  wire  dcache_io_cpu_resp_bits_replay; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
+  wire  dcache_io_cpu_resp_bits_has_data; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
+  wire [31:0] dcache_io_cpu_resp_bits_data_word_bypass; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
+  wire [31:0] dcache_io_cpu_resp_bits_data_raw; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
+  wire [31:0] dcache_io_cpu_resp_bits_store_data; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
+  wire  dcache_io_cpu_replay_next; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
+  wire  dcache_io_cpu_s2_xcpt_ma_ld; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
+  wire  dcache_io_cpu_s2_xcpt_ma_st; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
+  wire  dcache_io_cpu_s2_xcpt_pf_ld; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
+  wire  dcache_io_cpu_s2_xcpt_pf_st; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
+  wire  dcache_io_cpu_s2_xcpt_ae_ld; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
+  wire  dcache_io_cpu_s2_xcpt_ae_st; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
+  wire  dcache_io_cpu_ordered; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
+  wire  dcache_io_cpu_perf_grant; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
+  wire  dcache_io_cpu_keep_clock_enabled; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
+  wire  dcache_io_cpu_clock_enabled; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
+  wire  dcache_io_ptw_pmp_0_cfg_l; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
+  wire [1:0] dcache_io_ptw_pmp_0_cfg_a; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
+  wire  dcache_io_ptw_pmp_0_cfg_x; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
+  wire  dcache_io_ptw_pmp_0_cfg_w; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
+  wire  dcache_io_ptw_pmp_0_cfg_r; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
+  wire [29:0] dcache_io_ptw_pmp_0_addr; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
+  wire [31:0] dcache_io_ptw_pmp_0_mask; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
+  wire  dcache_io_ptw_pmp_1_cfg_l; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
+  wire [1:0] dcache_io_ptw_pmp_1_cfg_a; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
+  wire  dcache_io_ptw_pmp_1_cfg_x; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
+  wire  dcache_io_ptw_pmp_1_cfg_w; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
+  wire  dcache_io_ptw_pmp_1_cfg_r; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
+  wire [29:0] dcache_io_ptw_pmp_1_addr; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
+  wire [31:0] dcache_io_ptw_pmp_1_mask; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
+  wire  dcache_io_ptw_pmp_2_cfg_l; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
+  wire [1:0] dcache_io_ptw_pmp_2_cfg_a; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
+  wire  dcache_io_ptw_pmp_2_cfg_x; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
+  wire  dcache_io_ptw_pmp_2_cfg_w; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
+  wire  dcache_io_ptw_pmp_2_cfg_r; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
+  wire [29:0] dcache_io_ptw_pmp_2_addr; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
+  wire [31:0] dcache_io_ptw_pmp_2_mask; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
+  wire  dcache_io_ptw_pmp_3_cfg_l; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
+  wire [1:0] dcache_io_ptw_pmp_3_cfg_a; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
+  wire  dcache_io_ptw_pmp_3_cfg_x; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
+  wire  dcache_io_ptw_pmp_3_cfg_w; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
+  wire  dcache_io_ptw_pmp_3_cfg_r; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
+  wire [29:0] dcache_io_ptw_pmp_3_addr; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
+  wire [31:0] dcache_io_ptw_pmp_3_mask; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
+  wire  dcache_io_ptw_pmp_4_cfg_l; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
+  wire [1:0] dcache_io_ptw_pmp_4_cfg_a; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
+  wire  dcache_io_ptw_pmp_4_cfg_x; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
+  wire  dcache_io_ptw_pmp_4_cfg_w; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
+  wire  dcache_io_ptw_pmp_4_cfg_r; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
+  wire [29:0] dcache_io_ptw_pmp_4_addr; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
+  wire [31:0] dcache_io_ptw_pmp_4_mask; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
+  wire  dcache_io_ptw_pmp_5_cfg_l; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
+  wire [1:0] dcache_io_ptw_pmp_5_cfg_a; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
+  wire  dcache_io_ptw_pmp_5_cfg_x; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
+  wire  dcache_io_ptw_pmp_5_cfg_w; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
+  wire  dcache_io_ptw_pmp_5_cfg_r; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
+  wire [29:0] dcache_io_ptw_pmp_5_addr; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
+  wire [31:0] dcache_io_ptw_pmp_5_mask; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
+  wire  dcache_io_ptw_pmp_6_cfg_l; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
+  wire [1:0] dcache_io_ptw_pmp_6_cfg_a; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
+  wire  dcache_io_ptw_pmp_6_cfg_x; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
+  wire  dcache_io_ptw_pmp_6_cfg_w; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
+  wire  dcache_io_ptw_pmp_6_cfg_r; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
+  wire [29:0] dcache_io_ptw_pmp_6_addr; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
+  wire [31:0] dcache_io_ptw_pmp_6_mask; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
+  wire  dcache_io_ptw_pmp_7_cfg_l; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
+  wire [1:0] dcache_io_ptw_pmp_7_cfg_a; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
+  wire  dcache_io_ptw_pmp_7_cfg_x; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
+  wire  dcache_io_ptw_pmp_7_cfg_w; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
+  wire  dcache_io_ptw_pmp_7_cfg_r; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
+  wire [29:0] dcache_io_ptw_pmp_7_addr; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
+  wire [31:0] dcache_io_ptw_pmp_7_mask; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
+  wire  frontend_gated_clock; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
+  wire  frontend_reset; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
+  wire  frontend_auto_icache_slave_in_a_ready; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
+  wire  frontend_auto_icache_slave_in_a_valid; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
+  wire [2:0] frontend_auto_icache_slave_in_a_bits_opcode; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
+  wire [1:0] frontend_auto_icache_slave_in_a_bits_size; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
+  wire [6:0] frontend_auto_icache_slave_in_a_bits_source; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
+  wire [27:0] frontend_auto_icache_slave_in_a_bits_address; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
+  wire [3:0] frontend_auto_icache_slave_in_a_bits_mask; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
+  wire [31:0] frontend_auto_icache_slave_in_a_bits_data; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
+  wire  frontend_auto_icache_slave_in_d_ready; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
+  wire  frontend_auto_icache_slave_in_d_valid; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
+  wire [2:0] frontend_auto_icache_slave_in_d_bits_opcode; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
+  wire [1:0] frontend_auto_icache_slave_in_d_bits_size; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
+  wire [6:0] frontend_auto_icache_slave_in_d_bits_source; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
+  wire [31:0] frontend_auto_icache_slave_in_d_bits_data; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
+  wire  frontend_auto_icache_master_out_a_ready; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
+  wire  frontend_auto_icache_master_out_a_valid; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
+  wire [31:0] frontend_auto_icache_master_out_a_bits_address; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
+  wire  frontend_auto_icache_master_out_d_ready; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
+  wire  frontend_auto_icache_master_out_d_valid; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
+  wire [2:0] frontend_auto_icache_master_out_d_bits_opcode; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
+  wire [3:0] frontend_auto_icache_master_out_d_bits_size; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
+  wire [31:0] frontend_auto_icache_master_out_d_bits_data; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
+  wire  frontend_auto_icache_master_out_d_bits_corrupt; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
+  wire [31:0] frontend_io_reset_vector; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
+  wire  frontend_io_cpu_might_request; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
+  wire  frontend_io_cpu_req_valid; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
+  wire [31:0] frontend_io_cpu_req_bits_pc; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
+  wire  frontend_io_cpu_req_bits_speculative; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
+  wire  frontend_io_cpu_sfence_valid; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
+  wire  frontend_io_cpu_resp_ready; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
+  wire  frontend_io_cpu_resp_valid; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
+  wire  frontend_io_cpu_resp_bits_btb_taken; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
+  wire  frontend_io_cpu_resp_bits_btb_bridx; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
+  wire [4:0] frontend_io_cpu_resp_bits_btb_entry; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
+  wire [7:0] frontend_io_cpu_resp_bits_btb_bht_history; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
+  wire [31:0] frontend_io_cpu_resp_bits_pc; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
+  wire [31:0] frontend_io_cpu_resp_bits_data; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
+  wire  frontend_io_cpu_resp_bits_xcpt_ae_inst; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
+  wire  frontend_io_cpu_resp_bits_replay; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
+  wire  frontend_io_cpu_btb_update_valid; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
+  wire [4:0] frontend_io_cpu_btb_update_bits_prediction_entry; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
+  wire [31:0] frontend_io_cpu_btb_update_bits_pc; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
+  wire  frontend_io_cpu_btb_update_bits_isValid; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
+  wire [31:0] frontend_io_cpu_btb_update_bits_br_pc; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
+  wire [1:0] frontend_io_cpu_btb_update_bits_cfiType; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
+  wire  frontend_io_cpu_bht_update_valid; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
+  wire [7:0] frontend_io_cpu_bht_update_bits_prediction_history; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
+  wire [31:0] frontend_io_cpu_bht_update_bits_pc; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
+  wire  frontend_io_cpu_bht_update_bits_branch; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
+  wire  frontend_io_cpu_bht_update_bits_taken; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
+  wire  frontend_io_cpu_bht_update_bits_mispredict; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
+  wire  frontend_io_cpu_flush_icache; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
+  wire [31:0] frontend_io_cpu_npc; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
+  wire  frontend_io_ptw_pmp_0_cfg_l; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
+  wire [1:0] frontend_io_ptw_pmp_0_cfg_a; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
+  wire  frontend_io_ptw_pmp_0_cfg_x; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
+  wire  frontend_io_ptw_pmp_0_cfg_w; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
+  wire  frontend_io_ptw_pmp_0_cfg_r; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
+  wire [29:0] frontend_io_ptw_pmp_0_addr; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
+  wire [31:0] frontend_io_ptw_pmp_0_mask; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
+  wire  frontend_io_ptw_pmp_1_cfg_l; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
+  wire [1:0] frontend_io_ptw_pmp_1_cfg_a; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
+  wire  frontend_io_ptw_pmp_1_cfg_x; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
+  wire  frontend_io_ptw_pmp_1_cfg_w; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
+  wire  frontend_io_ptw_pmp_1_cfg_r; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
+  wire [29:0] frontend_io_ptw_pmp_1_addr; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
+  wire [31:0] frontend_io_ptw_pmp_1_mask; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
+  wire  frontend_io_ptw_pmp_2_cfg_l; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
+  wire [1:0] frontend_io_ptw_pmp_2_cfg_a; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
+  wire  frontend_io_ptw_pmp_2_cfg_x; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
+  wire  frontend_io_ptw_pmp_2_cfg_w; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
+  wire  frontend_io_ptw_pmp_2_cfg_r; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
+  wire [29:0] frontend_io_ptw_pmp_2_addr; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
+  wire [31:0] frontend_io_ptw_pmp_2_mask; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
+  wire  frontend_io_ptw_pmp_3_cfg_l; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
+  wire [1:0] frontend_io_ptw_pmp_3_cfg_a; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
+  wire  frontend_io_ptw_pmp_3_cfg_x; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
+  wire  frontend_io_ptw_pmp_3_cfg_w; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
+  wire  frontend_io_ptw_pmp_3_cfg_r; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
+  wire [29:0] frontend_io_ptw_pmp_3_addr; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
+  wire [31:0] frontend_io_ptw_pmp_3_mask; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
+  wire  frontend_io_ptw_pmp_4_cfg_l; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
+  wire [1:0] frontend_io_ptw_pmp_4_cfg_a; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
+  wire  frontend_io_ptw_pmp_4_cfg_x; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
+  wire  frontend_io_ptw_pmp_4_cfg_w; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
+  wire  frontend_io_ptw_pmp_4_cfg_r; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
+  wire [29:0] frontend_io_ptw_pmp_4_addr; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
+  wire [31:0] frontend_io_ptw_pmp_4_mask; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
+  wire  frontend_io_ptw_pmp_5_cfg_l; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
+  wire [1:0] frontend_io_ptw_pmp_5_cfg_a; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
+  wire  frontend_io_ptw_pmp_5_cfg_x; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
+  wire  frontend_io_ptw_pmp_5_cfg_w; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
+  wire  frontend_io_ptw_pmp_5_cfg_r; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
+  wire [29:0] frontend_io_ptw_pmp_5_addr; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
+  wire [31:0] frontend_io_ptw_pmp_5_mask; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
+  wire  frontend_io_ptw_pmp_6_cfg_l; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
+  wire [1:0] frontend_io_ptw_pmp_6_cfg_a; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
+  wire  frontend_io_ptw_pmp_6_cfg_x; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
+  wire  frontend_io_ptw_pmp_6_cfg_w; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
+  wire  frontend_io_ptw_pmp_6_cfg_r; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
+  wire [29:0] frontend_io_ptw_pmp_6_addr; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
+  wire [31:0] frontend_io_ptw_pmp_6_mask; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
+  wire  frontend_io_ptw_pmp_7_cfg_l; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
+  wire [1:0] frontend_io_ptw_pmp_7_cfg_a; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
+  wire  frontend_io_ptw_pmp_7_cfg_x; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
+  wire  frontend_io_ptw_pmp_7_cfg_w; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
+  wire  frontend_io_ptw_pmp_7_cfg_r; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
+  wire [29:0] frontend_io_ptw_pmp_7_addr; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
+  wire [31:0] frontend_io_ptw_pmp_7_mask; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
+  wire  fragmenter_clock; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222063.4]
+  wire  fragmenter_reset; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222063.4]
+  wire  fragmenter_auto_in_a_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222063.4]
+  wire  fragmenter_auto_in_a_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222063.4]
+  wire [2:0] fragmenter_auto_in_a_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222063.4]
+  wire [2:0] fragmenter_auto_in_a_bits_param; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222063.4]
+  wire [2:0] fragmenter_auto_in_a_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222063.4]
+  wire  fragmenter_auto_in_a_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222063.4]
+  wire [27:0] fragmenter_auto_in_a_bits_address; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222063.4]
+  wire [3:0] fragmenter_auto_in_a_bits_mask; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222063.4]
+  wire [31:0] fragmenter_auto_in_a_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222063.4]
+  wire  fragmenter_auto_in_a_bits_corrupt; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222063.4]
+  wire  fragmenter_auto_in_d_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222063.4]
+  wire  fragmenter_auto_in_d_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222063.4]
+  wire [2:0] fragmenter_auto_in_d_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222063.4]
+  wire [2:0] fragmenter_auto_in_d_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222063.4]
+  wire  fragmenter_auto_in_d_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222063.4]
+  wire [31:0] fragmenter_auto_in_d_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222063.4]
+  wire  fragmenter_auto_out_a_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222063.4]
+  wire  fragmenter_auto_out_a_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222063.4]
+  wire [2:0] fragmenter_auto_out_a_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222063.4]
+  wire [1:0] fragmenter_auto_out_a_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222063.4]
+  wire [6:0] fragmenter_auto_out_a_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222063.4]
+  wire [27:0] fragmenter_auto_out_a_bits_address; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222063.4]
+  wire [3:0] fragmenter_auto_out_a_bits_mask; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222063.4]
+  wire [31:0] fragmenter_auto_out_a_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222063.4]
+  wire  fragmenter_auto_out_d_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222063.4]
+  wire  fragmenter_auto_out_d_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222063.4]
+  wire [2:0] fragmenter_auto_out_d_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222063.4]
+  wire [1:0] fragmenter_auto_out_d_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222063.4]
+  wire [6:0] fragmenter_auto_out_d_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222063.4]
+  wire [31:0] fragmenter_auto_out_d_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222063.4]
+  wire  dtim_adapter_clock; // @[RocketTile.scala 46:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222069.4]
+  wire  dtim_adapter_reset; // @[RocketTile.scala 46:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222069.4]
+  wire  dtim_adapter_auto_in_a_ready; // @[RocketTile.scala 46:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222069.4]
+  wire  dtim_adapter_auto_in_a_valid; // @[RocketTile.scala 46:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222069.4]
+  wire [2:0] dtim_adapter_auto_in_a_bits_opcode; // @[RocketTile.scala 46:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222069.4]
+  wire [2:0] dtim_adapter_auto_in_a_bits_param; // @[RocketTile.scala 46:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222069.4]
+  wire [1:0] dtim_adapter_auto_in_a_bits_size; // @[RocketTile.scala 46:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222069.4]
+  wire [6:0] dtim_adapter_auto_in_a_bits_source; // @[RocketTile.scala 46:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222069.4]
+  wire [31:0] dtim_adapter_auto_in_a_bits_address; // @[RocketTile.scala 46:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222069.4]
+  wire [3:0] dtim_adapter_auto_in_a_bits_mask; // @[RocketTile.scala 46:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222069.4]
+  wire [31:0] dtim_adapter_auto_in_a_bits_data; // @[RocketTile.scala 46:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222069.4]
+  wire  dtim_adapter_auto_in_d_ready; // @[RocketTile.scala 46:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222069.4]
+  wire  dtim_adapter_auto_in_d_valid; // @[RocketTile.scala 46:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222069.4]
+  wire [2:0] dtim_adapter_auto_in_d_bits_opcode; // @[RocketTile.scala 46:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222069.4]
+  wire [1:0] dtim_adapter_auto_in_d_bits_size; // @[RocketTile.scala 46:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222069.4]
+  wire [6:0] dtim_adapter_auto_in_d_bits_source; // @[RocketTile.scala 46:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222069.4]
+  wire [31:0] dtim_adapter_auto_in_d_bits_data; // @[RocketTile.scala 46:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222069.4]
+  wire  dtim_adapter_io_dmem_req_ready; // @[RocketTile.scala 46:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222069.4]
+  wire  dtim_adapter_io_dmem_req_valid; // @[RocketTile.scala 46:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222069.4]
+  wire [31:0] dtim_adapter_io_dmem_req_bits_addr; // @[RocketTile.scala 46:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222069.4]
+  wire [4:0] dtim_adapter_io_dmem_req_bits_cmd; // @[RocketTile.scala 46:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222069.4]
+  wire [2:0] dtim_adapter_io_dmem_req_bits_typ; // @[RocketTile.scala 46:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222069.4]
+  wire  dtim_adapter_io_dmem_s1_kill; // @[RocketTile.scala 46:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222069.4]
+  wire [31:0] dtim_adapter_io_dmem_s1_data_data; // @[RocketTile.scala 46:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222069.4]
+  wire [3:0] dtim_adapter_io_dmem_s1_data_mask; // @[RocketTile.scala 46:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222069.4]
+  wire  dtim_adapter_io_dmem_s2_nack; // @[RocketTile.scala 46:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222069.4]
+  wire  dtim_adapter_io_dmem_resp_valid; // @[RocketTile.scala 46:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222069.4]
+  wire [31:0] dtim_adapter_io_dmem_resp_bits_data_raw; // @[RocketTile.scala 46:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222069.4]
+  wire  fragmenter_1_clock; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222076.4]
+  wire  fragmenter_1_reset; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222076.4]
+  wire  fragmenter_1_auto_in_a_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222076.4]
+  wire  fragmenter_1_auto_in_a_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222076.4]
+  wire [2:0] fragmenter_1_auto_in_a_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222076.4]
+  wire [2:0] fragmenter_1_auto_in_a_bits_param; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222076.4]
+  wire [2:0] fragmenter_1_auto_in_a_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222076.4]
+  wire  fragmenter_1_auto_in_a_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222076.4]
+  wire [31:0] fragmenter_1_auto_in_a_bits_address; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222076.4]
+  wire [3:0] fragmenter_1_auto_in_a_bits_mask; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222076.4]
+  wire [31:0] fragmenter_1_auto_in_a_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222076.4]
+  wire  fragmenter_1_auto_in_d_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222076.4]
+  wire  fragmenter_1_auto_in_d_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222076.4]
+  wire [2:0] fragmenter_1_auto_in_d_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222076.4]
+  wire [2:0] fragmenter_1_auto_in_d_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222076.4]
+  wire  fragmenter_1_auto_in_d_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222076.4]
+  wire [31:0] fragmenter_1_auto_in_d_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222076.4]
+  wire  fragmenter_1_auto_out_a_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222076.4]
+  wire  fragmenter_1_auto_out_a_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222076.4]
+  wire [2:0] fragmenter_1_auto_out_a_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222076.4]
+  wire [2:0] fragmenter_1_auto_out_a_bits_param; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222076.4]
+  wire [1:0] fragmenter_1_auto_out_a_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222076.4]
+  wire [6:0] fragmenter_1_auto_out_a_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222076.4]
+  wire [31:0] fragmenter_1_auto_out_a_bits_address; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222076.4]
+  wire [3:0] fragmenter_1_auto_out_a_bits_mask; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222076.4]
+  wire [31:0] fragmenter_1_auto_out_a_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222076.4]
+  wire  fragmenter_1_auto_out_d_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222076.4]
+  wire  fragmenter_1_auto_out_d_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222076.4]
+  wire [2:0] fragmenter_1_auto_out_d_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222076.4]
+  wire [1:0] fragmenter_1_auto_out_d_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222076.4]
+  wire [6:0] fragmenter_1_auto_out_d_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222076.4]
+  wire [31:0] fragmenter_1_auto_out_d_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222076.4]
+  wire  buffer_clock; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222082.4]
+  wire  buffer_reset; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222082.4]
+  wire  buffer_auto_in_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222082.4]
+  wire  buffer_auto_in_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222082.4]
+  wire [2:0] buffer_auto_in_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222082.4]
+  wire [2:0] buffer_auto_in_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222082.4]
+  wire [3:0] buffer_auto_in_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222082.4]
+  wire  buffer_auto_in_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222082.4]
+  wire [31:0] buffer_auto_in_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222082.4]
+  wire [3:0] buffer_auto_in_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222082.4]
+  wire [31:0] buffer_auto_in_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222082.4]
+  wire  buffer_auto_in_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222082.4]
+  wire  buffer_auto_in_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222082.4]
+  wire  buffer_auto_in_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222082.4]
+  wire [2:0] buffer_auto_in_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222082.4]
+  wire [1:0] buffer_auto_in_d_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222082.4]
+  wire [3:0] buffer_auto_in_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222082.4]
+  wire  buffer_auto_in_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222082.4]
+  wire  buffer_auto_in_d_bits_sink; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222082.4]
+  wire  buffer_auto_in_d_bits_denied; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222082.4]
+  wire [31:0] buffer_auto_in_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222082.4]
+  wire  buffer_auto_in_d_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222082.4]
+  wire  buffer_auto_out_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222082.4]
+  wire  buffer_auto_out_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222082.4]
+  wire [2:0] buffer_auto_out_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222082.4]
+  wire [2:0] buffer_auto_out_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222082.4]
+  wire [3:0] buffer_auto_out_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222082.4]
+  wire  buffer_auto_out_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222082.4]
+  wire [31:0] buffer_auto_out_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222082.4]
+  wire [3:0] buffer_auto_out_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222082.4]
+  wire [31:0] buffer_auto_out_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222082.4]
+  wire  buffer_auto_out_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222082.4]
+  wire  buffer_auto_out_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222082.4]
+  wire  buffer_auto_out_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222082.4]
+  wire [2:0] buffer_auto_out_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222082.4]
+  wire [1:0] buffer_auto_out_d_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222082.4]
+  wire [3:0] buffer_auto_out_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222082.4]
+  wire  buffer_auto_out_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222082.4]
+  wire  buffer_auto_out_d_bits_sink; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222082.4]
+  wire  buffer_auto_out_d_bits_denied; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222082.4]
+  wire [31:0] buffer_auto_out_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222082.4]
+  wire  buffer_auto_out_d_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222082.4]
+  wire  buffer_1_clock; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222088.4]
+  wire  buffer_1_reset; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222088.4]
+  wire  buffer_1_auto_in_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222088.4]
+  wire  buffer_1_auto_in_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222088.4]
+  wire [2:0] buffer_1_auto_in_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222088.4]
+  wire [2:0] buffer_1_auto_in_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222088.4]
+  wire [2:0] buffer_1_auto_in_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222088.4]
+  wire  buffer_1_auto_in_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222088.4]
+  wire [31:0] buffer_1_auto_in_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222088.4]
+  wire [3:0] buffer_1_auto_in_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222088.4]
+  wire [31:0] buffer_1_auto_in_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222088.4]
+  wire  buffer_1_auto_in_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222088.4]
+  wire  buffer_1_auto_in_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222088.4]
+  wire  buffer_1_auto_in_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222088.4]
+  wire [2:0] buffer_1_auto_in_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222088.4]
+  wire [1:0] buffer_1_auto_in_d_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222088.4]
+  wire [2:0] buffer_1_auto_in_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222088.4]
+  wire  buffer_1_auto_in_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222088.4]
+  wire  buffer_1_auto_in_d_bits_sink; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222088.4]
+  wire  buffer_1_auto_in_d_bits_denied; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222088.4]
+  wire [31:0] buffer_1_auto_in_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222088.4]
+  wire  buffer_1_auto_in_d_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222088.4]
+  wire  buffer_1_auto_out_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222088.4]
+  wire  buffer_1_auto_out_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222088.4]
+  wire [2:0] buffer_1_auto_out_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222088.4]
+  wire [2:0] buffer_1_auto_out_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222088.4]
+  wire [2:0] buffer_1_auto_out_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222088.4]
+  wire  buffer_1_auto_out_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222088.4]
+  wire [31:0] buffer_1_auto_out_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222088.4]
+  wire [3:0] buffer_1_auto_out_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222088.4]
+  wire [31:0] buffer_1_auto_out_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222088.4]
+  wire  buffer_1_auto_out_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222088.4]
+  wire  buffer_1_auto_out_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222088.4]
+  wire  buffer_1_auto_out_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222088.4]
+  wire [2:0] buffer_1_auto_out_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222088.4]
+  wire [1:0] buffer_1_auto_out_d_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222088.4]
+  wire [2:0] buffer_1_auto_out_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222088.4]
+  wire  buffer_1_auto_out_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222088.4]
+  wire  buffer_1_auto_out_d_bits_sink; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222088.4]
+  wire  buffer_1_auto_out_d_bits_denied; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222088.4]
+  wire [31:0] buffer_1_auto_out_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222088.4]
+  wire  buffer_1_auto_out_d_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222088.4]
+  wire  intsink_clock; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@222094.4]
+  wire  intsink_auto_in_sync_0; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@222094.4]
+  wire  intsink_auto_out_0; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@222094.4]
+  wire  intsink_1_auto_in_sync_0; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@222100.4]
+  wire  intsink_1_auto_in_sync_1; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@222100.4]
+  wire  intsink_1_auto_out_0; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@222100.4]
+  wire  intsink_1_auto_out_1; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@222100.4]
+  wire  intsink_2_auto_in_sync_0; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@222106.4]
+  wire  intsink_2_auto_out_0; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@222106.4]
+  wire  dcacheArb_clock; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
+  wire  dcacheArb_io_requestor_0_req_ready; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
+  wire  dcacheArb_io_requestor_0_req_valid; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
+  wire [31:0] dcacheArb_io_requestor_0_req_bits_addr; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
+  wire [6:0] dcacheArb_io_requestor_0_req_bits_tag; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
+  wire [4:0] dcacheArb_io_requestor_0_req_bits_cmd; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
+  wire [2:0] dcacheArb_io_requestor_0_req_bits_typ; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
+  wire  dcacheArb_io_requestor_0_s1_kill; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
+  wire [31:0] dcacheArb_io_requestor_0_s1_data_data; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
+  wire  dcacheArb_io_requestor_0_s2_nack; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
+  wire  dcacheArb_io_requestor_0_resp_valid; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
+  wire [6:0] dcacheArb_io_requestor_0_resp_bits_tag; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
+  wire [31:0] dcacheArb_io_requestor_0_resp_bits_data; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
+  wire  dcacheArb_io_requestor_0_resp_bits_replay; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
+  wire  dcacheArb_io_requestor_0_resp_bits_has_data; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
+  wire [31:0] dcacheArb_io_requestor_0_resp_bits_data_word_bypass; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
+  wire  dcacheArb_io_requestor_0_replay_next; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
+  wire  dcacheArb_io_requestor_0_s2_xcpt_ma_ld; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
+  wire  dcacheArb_io_requestor_0_s2_xcpt_ma_st; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
+  wire  dcacheArb_io_requestor_0_s2_xcpt_pf_ld; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
+  wire  dcacheArb_io_requestor_0_s2_xcpt_pf_st; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
+  wire  dcacheArb_io_requestor_0_s2_xcpt_ae_ld; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
+  wire  dcacheArb_io_requestor_0_s2_xcpt_ae_st; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
+  wire  dcacheArb_io_requestor_0_ordered; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
+  wire  dcacheArb_io_requestor_0_perf_grant; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
+  wire  dcacheArb_io_requestor_0_keep_clock_enabled; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
+  wire  dcacheArb_io_requestor_0_clock_enabled; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
+  wire  dcacheArb_io_requestor_1_req_ready; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
+  wire  dcacheArb_io_requestor_1_req_valid; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
+  wire [31:0] dcacheArb_io_requestor_1_req_bits_addr; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
+  wire [4:0] dcacheArb_io_requestor_1_req_bits_cmd; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
+  wire [2:0] dcacheArb_io_requestor_1_req_bits_typ; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
+  wire  dcacheArb_io_requestor_1_s1_kill; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
+  wire [31:0] dcacheArb_io_requestor_1_s1_data_data; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
+  wire [3:0] dcacheArb_io_requestor_1_s1_data_mask; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
+  wire  dcacheArb_io_requestor_1_s2_nack; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
+  wire  dcacheArb_io_requestor_1_resp_valid; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
+  wire [31:0] dcacheArb_io_requestor_1_resp_bits_data_raw; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
+  wire  dcacheArb_io_mem_req_ready; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
+  wire  dcacheArb_io_mem_req_valid; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
+  wire [31:0] dcacheArb_io_mem_req_bits_addr; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
+  wire [6:0] dcacheArb_io_mem_req_bits_tag; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
+  wire [4:0] dcacheArb_io_mem_req_bits_cmd; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
+  wire [2:0] dcacheArb_io_mem_req_bits_typ; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
+  wire  dcacheArb_io_mem_req_bits_phys; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
+  wire  dcacheArb_io_mem_s1_kill; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
+  wire [31:0] dcacheArb_io_mem_s1_data_data; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
+  wire [3:0] dcacheArb_io_mem_s1_data_mask; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
+  wire  dcacheArb_io_mem_s2_nack; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
+  wire  dcacheArb_io_mem_resp_valid; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
+  wire [6:0] dcacheArb_io_mem_resp_bits_tag; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
+  wire [31:0] dcacheArb_io_mem_resp_bits_data; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
+  wire  dcacheArb_io_mem_resp_bits_replay; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
+  wire  dcacheArb_io_mem_resp_bits_has_data; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
+  wire [31:0] dcacheArb_io_mem_resp_bits_data_word_bypass; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
+  wire [31:0] dcacheArb_io_mem_resp_bits_data_raw; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
+  wire  dcacheArb_io_mem_replay_next; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
+  wire  dcacheArb_io_mem_s2_xcpt_ma_ld; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
+  wire  dcacheArb_io_mem_s2_xcpt_ma_st; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
+  wire  dcacheArb_io_mem_s2_xcpt_pf_ld; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
+  wire  dcacheArb_io_mem_s2_xcpt_pf_st; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
+  wire  dcacheArb_io_mem_s2_xcpt_ae_ld; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
+  wire  dcacheArb_io_mem_s2_xcpt_ae_st; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
+  wire  dcacheArb_io_mem_ordered; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
+  wire  dcacheArb_io_mem_perf_grant; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
+  wire  dcacheArb_io_mem_keep_clock_enabled; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
+  wire  dcacheArb_io_mem_clock_enabled; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
+  wire  ptw_clock; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire  ptw_io_requestor_0_pmp_0_cfg_l; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire [1:0] ptw_io_requestor_0_pmp_0_cfg_a; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire  ptw_io_requestor_0_pmp_0_cfg_x; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire  ptw_io_requestor_0_pmp_0_cfg_w; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire  ptw_io_requestor_0_pmp_0_cfg_r; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire [29:0] ptw_io_requestor_0_pmp_0_addr; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire [31:0] ptw_io_requestor_0_pmp_0_mask; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire  ptw_io_requestor_0_pmp_1_cfg_l; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire [1:0] ptw_io_requestor_0_pmp_1_cfg_a; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire  ptw_io_requestor_0_pmp_1_cfg_x; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire  ptw_io_requestor_0_pmp_1_cfg_w; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire  ptw_io_requestor_0_pmp_1_cfg_r; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire [29:0] ptw_io_requestor_0_pmp_1_addr; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire [31:0] ptw_io_requestor_0_pmp_1_mask; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire  ptw_io_requestor_0_pmp_2_cfg_l; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire [1:0] ptw_io_requestor_0_pmp_2_cfg_a; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire  ptw_io_requestor_0_pmp_2_cfg_x; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire  ptw_io_requestor_0_pmp_2_cfg_w; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire  ptw_io_requestor_0_pmp_2_cfg_r; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire [29:0] ptw_io_requestor_0_pmp_2_addr; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire [31:0] ptw_io_requestor_0_pmp_2_mask; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire  ptw_io_requestor_0_pmp_3_cfg_l; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire [1:0] ptw_io_requestor_0_pmp_3_cfg_a; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire  ptw_io_requestor_0_pmp_3_cfg_x; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire  ptw_io_requestor_0_pmp_3_cfg_w; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire  ptw_io_requestor_0_pmp_3_cfg_r; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire [29:0] ptw_io_requestor_0_pmp_3_addr; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire [31:0] ptw_io_requestor_0_pmp_3_mask; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire  ptw_io_requestor_0_pmp_4_cfg_l; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire [1:0] ptw_io_requestor_0_pmp_4_cfg_a; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire  ptw_io_requestor_0_pmp_4_cfg_x; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire  ptw_io_requestor_0_pmp_4_cfg_w; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire  ptw_io_requestor_0_pmp_4_cfg_r; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire [29:0] ptw_io_requestor_0_pmp_4_addr; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire [31:0] ptw_io_requestor_0_pmp_4_mask; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire  ptw_io_requestor_0_pmp_5_cfg_l; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire [1:0] ptw_io_requestor_0_pmp_5_cfg_a; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire  ptw_io_requestor_0_pmp_5_cfg_x; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire  ptw_io_requestor_0_pmp_5_cfg_w; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire  ptw_io_requestor_0_pmp_5_cfg_r; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire [29:0] ptw_io_requestor_0_pmp_5_addr; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire [31:0] ptw_io_requestor_0_pmp_5_mask; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire  ptw_io_requestor_0_pmp_6_cfg_l; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire [1:0] ptw_io_requestor_0_pmp_6_cfg_a; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire  ptw_io_requestor_0_pmp_6_cfg_x; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire  ptw_io_requestor_0_pmp_6_cfg_w; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire  ptw_io_requestor_0_pmp_6_cfg_r; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire [29:0] ptw_io_requestor_0_pmp_6_addr; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire [31:0] ptw_io_requestor_0_pmp_6_mask; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire  ptw_io_requestor_0_pmp_7_cfg_l; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire [1:0] ptw_io_requestor_0_pmp_7_cfg_a; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire  ptw_io_requestor_0_pmp_7_cfg_x; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire  ptw_io_requestor_0_pmp_7_cfg_w; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire  ptw_io_requestor_0_pmp_7_cfg_r; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire [29:0] ptw_io_requestor_0_pmp_7_addr; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire [31:0] ptw_io_requestor_0_pmp_7_mask; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire  ptw_io_requestor_1_pmp_0_cfg_l; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire [1:0] ptw_io_requestor_1_pmp_0_cfg_a; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire  ptw_io_requestor_1_pmp_0_cfg_x; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire  ptw_io_requestor_1_pmp_0_cfg_w; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire  ptw_io_requestor_1_pmp_0_cfg_r; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire [29:0] ptw_io_requestor_1_pmp_0_addr; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire [31:0] ptw_io_requestor_1_pmp_0_mask; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire  ptw_io_requestor_1_pmp_1_cfg_l; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire [1:0] ptw_io_requestor_1_pmp_1_cfg_a; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire  ptw_io_requestor_1_pmp_1_cfg_x; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire  ptw_io_requestor_1_pmp_1_cfg_w; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire  ptw_io_requestor_1_pmp_1_cfg_r; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire [29:0] ptw_io_requestor_1_pmp_1_addr; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire [31:0] ptw_io_requestor_1_pmp_1_mask; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire  ptw_io_requestor_1_pmp_2_cfg_l; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire [1:0] ptw_io_requestor_1_pmp_2_cfg_a; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire  ptw_io_requestor_1_pmp_2_cfg_x; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire  ptw_io_requestor_1_pmp_2_cfg_w; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire  ptw_io_requestor_1_pmp_2_cfg_r; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire [29:0] ptw_io_requestor_1_pmp_2_addr; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire [31:0] ptw_io_requestor_1_pmp_2_mask; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire  ptw_io_requestor_1_pmp_3_cfg_l; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire [1:0] ptw_io_requestor_1_pmp_3_cfg_a; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire  ptw_io_requestor_1_pmp_3_cfg_x; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire  ptw_io_requestor_1_pmp_3_cfg_w; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire  ptw_io_requestor_1_pmp_3_cfg_r; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire [29:0] ptw_io_requestor_1_pmp_3_addr; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire [31:0] ptw_io_requestor_1_pmp_3_mask; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire  ptw_io_requestor_1_pmp_4_cfg_l; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire [1:0] ptw_io_requestor_1_pmp_4_cfg_a; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire  ptw_io_requestor_1_pmp_4_cfg_x; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire  ptw_io_requestor_1_pmp_4_cfg_w; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire  ptw_io_requestor_1_pmp_4_cfg_r; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire [29:0] ptw_io_requestor_1_pmp_4_addr; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire [31:0] ptw_io_requestor_1_pmp_4_mask; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire  ptw_io_requestor_1_pmp_5_cfg_l; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire [1:0] ptw_io_requestor_1_pmp_5_cfg_a; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire  ptw_io_requestor_1_pmp_5_cfg_x; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire  ptw_io_requestor_1_pmp_5_cfg_w; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire  ptw_io_requestor_1_pmp_5_cfg_r; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire [29:0] ptw_io_requestor_1_pmp_5_addr; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire [31:0] ptw_io_requestor_1_pmp_5_mask; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire  ptw_io_requestor_1_pmp_6_cfg_l; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire [1:0] ptw_io_requestor_1_pmp_6_cfg_a; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire  ptw_io_requestor_1_pmp_6_cfg_x; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire  ptw_io_requestor_1_pmp_6_cfg_w; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire  ptw_io_requestor_1_pmp_6_cfg_r; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire [29:0] ptw_io_requestor_1_pmp_6_addr; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire [31:0] ptw_io_requestor_1_pmp_6_mask; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire  ptw_io_requestor_1_pmp_7_cfg_l; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire [1:0] ptw_io_requestor_1_pmp_7_cfg_a; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire  ptw_io_requestor_1_pmp_7_cfg_x; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire  ptw_io_requestor_1_pmp_7_cfg_w; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire  ptw_io_requestor_1_pmp_7_cfg_r; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire [29:0] ptw_io_requestor_1_pmp_7_addr; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire [31:0] ptw_io_requestor_1_pmp_7_mask; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire  ptw_io_dpath_pmp_0_cfg_l; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire [1:0] ptw_io_dpath_pmp_0_cfg_a; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire  ptw_io_dpath_pmp_0_cfg_x; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire  ptw_io_dpath_pmp_0_cfg_w; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire  ptw_io_dpath_pmp_0_cfg_r; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire [29:0] ptw_io_dpath_pmp_0_addr; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire [31:0] ptw_io_dpath_pmp_0_mask; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire  ptw_io_dpath_pmp_1_cfg_l; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire [1:0] ptw_io_dpath_pmp_1_cfg_a; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire  ptw_io_dpath_pmp_1_cfg_x; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire  ptw_io_dpath_pmp_1_cfg_w; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire  ptw_io_dpath_pmp_1_cfg_r; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire [29:0] ptw_io_dpath_pmp_1_addr; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire [31:0] ptw_io_dpath_pmp_1_mask; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire  ptw_io_dpath_pmp_2_cfg_l; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire [1:0] ptw_io_dpath_pmp_2_cfg_a; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire  ptw_io_dpath_pmp_2_cfg_x; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire  ptw_io_dpath_pmp_2_cfg_w; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire  ptw_io_dpath_pmp_2_cfg_r; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire [29:0] ptw_io_dpath_pmp_2_addr; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire [31:0] ptw_io_dpath_pmp_2_mask; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire  ptw_io_dpath_pmp_3_cfg_l; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire [1:0] ptw_io_dpath_pmp_3_cfg_a; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire  ptw_io_dpath_pmp_3_cfg_x; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire  ptw_io_dpath_pmp_3_cfg_w; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire  ptw_io_dpath_pmp_3_cfg_r; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire [29:0] ptw_io_dpath_pmp_3_addr; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire [31:0] ptw_io_dpath_pmp_3_mask; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire  ptw_io_dpath_pmp_4_cfg_l; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire [1:0] ptw_io_dpath_pmp_4_cfg_a; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire  ptw_io_dpath_pmp_4_cfg_x; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire  ptw_io_dpath_pmp_4_cfg_w; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire  ptw_io_dpath_pmp_4_cfg_r; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire [29:0] ptw_io_dpath_pmp_4_addr; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire [31:0] ptw_io_dpath_pmp_4_mask; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire  ptw_io_dpath_pmp_5_cfg_l; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire [1:0] ptw_io_dpath_pmp_5_cfg_a; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire  ptw_io_dpath_pmp_5_cfg_x; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire  ptw_io_dpath_pmp_5_cfg_w; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire  ptw_io_dpath_pmp_5_cfg_r; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire [29:0] ptw_io_dpath_pmp_5_addr; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire [31:0] ptw_io_dpath_pmp_5_mask; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire  ptw_io_dpath_pmp_6_cfg_l; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire [1:0] ptw_io_dpath_pmp_6_cfg_a; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire  ptw_io_dpath_pmp_6_cfg_x; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire  ptw_io_dpath_pmp_6_cfg_w; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire  ptw_io_dpath_pmp_6_cfg_r; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire [29:0] ptw_io_dpath_pmp_6_addr; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire [31:0] ptw_io_dpath_pmp_6_mask; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire  ptw_io_dpath_pmp_7_cfg_l; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire [1:0] ptw_io_dpath_pmp_7_cfg_a; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire  ptw_io_dpath_pmp_7_cfg_x; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire  ptw_io_dpath_pmp_7_cfg_w; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire  ptw_io_dpath_pmp_7_cfg_r; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire [29:0] ptw_io_dpath_pmp_7_addr; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire [31:0] ptw_io_dpath_pmp_7_mask; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+  wire  core_clock; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
+  wire  core_reset; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
+  wire  core_io_hartid; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
+  wire  core_io_interrupts_debug; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
+  wire  core_io_interrupts_mtip; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
+  wire  core_io_interrupts_msip; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
+  wire  core_io_interrupts_meip; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
+  wire  core_io_imem_might_request; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
+  wire  core_io_imem_req_valid; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
+  wire [31:0] core_io_imem_req_bits_pc; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
+  wire  core_io_imem_req_bits_speculative; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
+  wire  core_io_imem_sfence_valid; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
+  wire  core_io_imem_resp_ready; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
+  wire  core_io_imem_resp_valid; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
+  wire  core_io_imem_resp_bits_btb_taken; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
+  wire  core_io_imem_resp_bits_btb_bridx; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
+  wire [4:0] core_io_imem_resp_bits_btb_entry; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
+  wire [7:0] core_io_imem_resp_bits_btb_bht_history; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
+  wire [31:0] core_io_imem_resp_bits_pc; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
+  wire [31:0] core_io_imem_resp_bits_data; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
+  wire  core_io_imem_resp_bits_xcpt_ae_inst; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
+  wire  core_io_imem_resp_bits_replay; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
+  wire  core_io_imem_btb_update_valid; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
+  wire [4:0] core_io_imem_btb_update_bits_prediction_entry; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
+  wire [31:0] core_io_imem_btb_update_bits_pc; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
+  wire  core_io_imem_btb_update_bits_isValid; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
+  wire [31:0] core_io_imem_btb_update_bits_br_pc; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
+  wire [1:0] core_io_imem_btb_update_bits_cfiType; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
+  wire  core_io_imem_bht_update_valid; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
+  wire [7:0] core_io_imem_bht_update_bits_prediction_history; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
+  wire [31:0] core_io_imem_bht_update_bits_pc; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
+  wire  core_io_imem_bht_update_bits_branch; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
+  wire  core_io_imem_bht_update_bits_taken; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
+  wire  core_io_imem_bht_update_bits_mispredict; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
+  wire  core_io_imem_flush_icache; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
+  wire  core_io_dmem_req_ready; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
+  wire  core_io_dmem_req_valid; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
+  wire [31:0] core_io_dmem_req_bits_addr; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
+  wire [6:0] core_io_dmem_req_bits_tag; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
+  wire [4:0] core_io_dmem_req_bits_cmd; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
+  wire [2:0] core_io_dmem_req_bits_typ; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
+  wire  core_io_dmem_s1_kill; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
+  wire [31:0] core_io_dmem_s1_data_data; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
+  wire  core_io_dmem_s2_nack; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
+  wire  core_io_dmem_resp_valid; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
+  wire [6:0] core_io_dmem_resp_bits_tag; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
+  wire [31:0] core_io_dmem_resp_bits_data; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
+  wire  core_io_dmem_resp_bits_replay; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
+  wire  core_io_dmem_resp_bits_has_data; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
+  wire [31:0] core_io_dmem_resp_bits_data_word_bypass; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
+  wire  core_io_dmem_replay_next; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
+  wire  core_io_dmem_s2_xcpt_ma_ld; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
+  wire  core_io_dmem_s2_xcpt_ma_st; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
+  wire  core_io_dmem_s2_xcpt_pf_ld; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
+  wire  core_io_dmem_s2_xcpt_pf_st; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
+  wire  core_io_dmem_s2_xcpt_ae_ld; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
+  wire  core_io_dmem_s2_xcpt_ae_st; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
+  wire  core_io_dmem_ordered; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
+  wire  core_io_dmem_perf_grant; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
+  wire  core_io_dmem_keep_clock_enabled; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
+  wire  core_io_dmem_clock_enabled; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
+  wire  core_io_ptw_pmp_0_cfg_l; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
+  wire [1:0] core_io_ptw_pmp_0_cfg_a; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
+  wire  core_io_ptw_pmp_0_cfg_x; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
+  wire  core_io_ptw_pmp_0_cfg_w; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
+  wire  core_io_ptw_pmp_0_cfg_r; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
+  wire [29:0] core_io_ptw_pmp_0_addr; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
+  wire [31:0] core_io_ptw_pmp_0_mask; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
+  wire  core_io_ptw_pmp_1_cfg_l; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
+  wire [1:0] core_io_ptw_pmp_1_cfg_a; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
+  wire  core_io_ptw_pmp_1_cfg_x; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
+  wire  core_io_ptw_pmp_1_cfg_w; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
+  wire  core_io_ptw_pmp_1_cfg_r; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
+  wire [29:0] core_io_ptw_pmp_1_addr; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
+  wire [31:0] core_io_ptw_pmp_1_mask; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
+  wire  core_io_ptw_pmp_2_cfg_l; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
+  wire [1:0] core_io_ptw_pmp_2_cfg_a; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
+  wire  core_io_ptw_pmp_2_cfg_x; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
+  wire  core_io_ptw_pmp_2_cfg_w; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
+  wire  core_io_ptw_pmp_2_cfg_r; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
+  wire [29:0] core_io_ptw_pmp_2_addr; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
+  wire [31:0] core_io_ptw_pmp_2_mask; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
+  wire  core_io_ptw_pmp_3_cfg_l; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
+  wire [1:0] core_io_ptw_pmp_3_cfg_a; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
+  wire  core_io_ptw_pmp_3_cfg_x; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
+  wire  core_io_ptw_pmp_3_cfg_w; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
+  wire  core_io_ptw_pmp_3_cfg_r; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
+  wire [29:0] core_io_ptw_pmp_3_addr; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
+  wire [31:0] core_io_ptw_pmp_3_mask; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
+  wire  core_io_ptw_pmp_4_cfg_l; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
+  wire [1:0] core_io_ptw_pmp_4_cfg_a; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
+  wire  core_io_ptw_pmp_4_cfg_x; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
+  wire  core_io_ptw_pmp_4_cfg_w; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
+  wire  core_io_ptw_pmp_4_cfg_r; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
+  wire [29:0] core_io_ptw_pmp_4_addr; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
+  wire [31:0] core_io_ptw_pmp_4_mask; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
+  wire  core_io_ptw_pmp_5_cfg_l; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
+  wire [1:0] core_io_ptw_pmp_5_cfg_a; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
+  wire  core_io_ptw_pmp_5_cfg_x; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
+  wire  core_io_ptw_pmp_5_cfg_w; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
+  wire  core_io_ptw_pmp_5_cfg_r; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
+  wire [29:0] core_io_ptw_pmp_5_addr; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
+  wire [31:0] core_io_ptw_pmp_5_mask; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
+  wire  core_io_ptw_pmp_6_cfg_l; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
+  wire [1:0] core_io_ptw_pmp_6_cfg_a; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
+  wire  core_io_ptw_pmp_6_cfg_x; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
+  wire  core_io_ptw_pmp_6_cfg_w; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
+  wire  core_io_ptw_pmp_6_cfg_r; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
+  wire [29:0] core_io_ptw_pmp_6_addr; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
+  wire [31:0] core_io_ptw_pmp_6_mask; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
+  wire  core_io_ptw_pmp_7_cfg_l; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
+  wire [1:0] core_io_ptw_pmp_7_cfg_a; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
+  wire  core_io_ptw_pmp_7_cfg_x; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
+  wire  core_io_ptw_pmp_7_cfg_w; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
+  wire  core_io_ptw_pmp_7_cfg_r; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
+  wire [29:0] core_io_ptw_pmp_7_addr; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
+  wire [31:0] core_io_ptw_pmp_7_mask; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
+  wire [31:0] core_io_ptw_customCSRs_csrs_0_value; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
+  TLXbar_8 tlMasterXbar ( // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@222031.4]
+    .clock(tlMasterXbar_clock),
+    .reset(tlMasterXbar_reset),
+    .auto_in_1_a_ready(tlMasterXbar_auto_in_1_a_ready),
+    .auto_in_1_a_valid(tlMasterXbar_auto_in_1_a_valid),
+    .auto_in_1_a_bits_address(tlMasterXbar_auto_in_1_a_bits_address),
+    .auto_in_1_d_ready(tlMasterXbar_auto_in_1_d_ready),
+    .auto_in_1_d_valid(tlMasterXbar_auto_in_1_d_valid),
+    .auto_in_1_d_bits_opcode(tlMasterXbar_auto_in_1_d_bits_opcode),
+    .auto_in_1_d_bits_size(tlMasterXbar_auto_in_1_d_bits_size),
+    .auto_in_1_d_bits_data(tlMasterXbar_auto_in_1_d_bits_data),
+    .auto_in_1_d_bits_corrupt(tlMasterXbar_auto_in_1_d_bits_corrupt),
+    .auto_in_0_a_ready(tlMasterXbar_auto_in_0_a_ready),
+    .auto_in_0_a_valid(tlMasterXbar_auto_in_0_a_valid),
+    .auto_in_0_a_bits_opcode(tlMasterXbar_auto_in_0_a_bits_opcode),
+    .auto_in_0_a_bits_param(tlMasterXbar_auto_in_0_a_bits_param),
+    .auto_in_0_a_bits_size(tlMasterXbar_auto_in_0_a_bits_size),
+    .auto_in_0_a_bits_address(tlMasterXbar_auto_in_0_a_bits_address),
+    .auto_in_0_a_bits_mask(tlMasterXbar_auto_in_0_a_bits_mask),
+    .auto_in_0_a_bits_data(tlMasterXbar_auto_in_0_a_bits_data),
+    .auto_in_0_c_valid(tlMasterXbar_auto_in_0_c_valid),
+    .auto_in_0_d_ready(tlMasterXbar_auto_in_0_d_ready),
+    .auto_in_0_d_valid(tlMasterXbar_auto_in_0_d_valid),
+    .auto_in_0_d_bits_opcode(tlMasterXbar_auto_in_0_d_bits_opcode),
+    .auto_in_0_d_bits_size(tlMasterXbar_auto_in_0_d_bits_size),
+    .auto_in_0_d_bits_denied(tlMasterXbar_auto_in_0_d_bits_denied),
+    .auto_in_0_d_bits_data(tlMasterXbar_auto_in_0_d_bits_data),
+    .auto_in_0_e_valid(tlMasterXbar_auto_in_0_e_valid),
+    .auto_out_a_ready(tlMasterXbar_auto_out_a_ready),
+    .auto_out_a_valid(tlMasterXbar_auto_out_a_valid),
+    .auto_out_a_bits_opcode(tlMasterXbar_auto_out_a_bits_opcode),
+    .auto_out_a_bits_param(tlMasterXbar_auto_out_a_bits_param),
+    .auto_out_a_bits_size(tlMasterXbar_auto_out_a_bits_size),
+    .auto_out_a_bits_source(tlMasterXbar_auto_out_a_bits_source),
+    .auto_out_a_bits_address(tlMasterXbar_auto_out_a_bits_address),
+    .auto_out_a_bits_mask(tlMasterXbar_auto_out_a_bits_mask),
+    .auto_out_a_bits_data(tlMasterXbar_auto_out_a_bits_data),
+    .auto_out_a_bits_corrupt(tlMasterXbar_auto_out_a_bits_corrupt),
+    .auto_out_d_ready(tlMasterXbar_auto_out_d_ready),
+    .auto_out_d_valid(tlMasterXbar_auto_out_d_valid),
+    .auto_out_d_bits_opcode(tlMasterXbar_auto_out_d_bits_opcode),
+    .auto_out_d_bits_param(tlMasterXbar_auto_out_d_bits_param),
+    .auto_out_d_bits_size(tlMasterXbar_auto_out_d_bits_size),
+    .auto_out_d_bits_source(tlMasterXbar_auto_out_d_bits_source),
+    .auto_out_d_bits_sink(tlMasterXbar_auto_out_d_bits_sink),
+    .auto_out_d_bits_denied(tlMasterXbar_auto_out_d_bits_denied),
+    .auto_out_d_bits_data(tlMasterXbar_auto_out_d_bits_data),
+    .auto_out_d_bits_corrupt(tlMasterXbar_auto_out_d_bits_corrupt)
+  );
+  TLXbar_9 tlSlaveXbar ( // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@222037.4]
+    .clock(tlSlaveXbar_clock),
+    .reset(tlSlaveXbar_reset),
+    .auto_in_a_ready(tlSlaveXbar_auto_in_a_ready),
+    .auto_in_a_valid(tlSlaveXbar_auto_in_a_valid),
+    .auto_in_a_bits_opcode(tlSlaveXbar_auto_in_a_bits_opcode),
+    .auto_in_a_bits_param(tlSlaveXbar_auto_in_a_bits_param),
+    .auto_in_a_bits_size(tlSlaveXbar_auto_in_a_bits_size),
+    .auto_in_a_bits_source(tlSlaveXbar_auto_in_a_bits_source),
+    .auto_in_a_bits_address(tlSlaveXbar_auto_in_a_bits_address),
+    .auto_in_a_bits_mask(tlSlaveXbar_auto_in_a_bits_mask),
+    .auto_in_a_bits_data(tlSlaveXbar_auto_in_a_bits_data),
+    .auto_in_a_bits_corrupt(tlSlaveXbar_auto_in_a_bits_corrupt),
+    .auto_in_d_ready(tlSlaveXbar_auto_in_d_ready),
+    .auto_in_d_valid(tlSlaveXbar_auto_in_d_valid),
+    .auto_in_d_bits_opcode(tlSlaveXbar_auto_in_d_bits_opcode),
+    .auto_in_d_bits_param(tlSlaveXbar_auto_in_d_bits_param),
+    .auto_in_d_bits_size(tlSlaveXbar_auto_in_d_bits_size),
+    .auto_in_d_bits_source(tlSlaveXbar_auto_in_d_bits_source),
+    .auto_in_d_bits_sink(tlSlaveXbar_auto_in_d_bits_sink),
+    .auto_in_d_bits_denied(tlSlaveXbar_auto_in_d_bits_denied),
+    .auto_in_d_bits_data(tlSlaveXbar_auto_in_d_bits_data),
+    .auto_in_d_bits_corrupt(tlSlaveXbar_auto_in_d_bits_corrupt),
+    .auto_out_1_a_ready(tlSlaveXbar_auto_out_1_a_ready),
+    .auto_out_1_a_valid(tlSlaveXbar_auto_out_1_a_valid),
+    .auto_out_1_a_bits_opcode(tlSlaveXbar_auto_out_1_a_bits_opcode),
+    .auto_out_1_a_bits_param(tlSlaveXbar_auto_out_1_a_bits_param),
+    .auto_out_1_a_bits_size(tlSlaveXbar_auto_out_1_a_bits_size),
+    .auto_out_1_a_bits_source(tlSlaveXbar_auto_out_1_a_bits_source),
+    .auto_out_1_a_bits_address(tlSlaveXbar_auto_out_1_a_bits_address),
+    .auto_out_1_a_bits_mask(tlSlaveXbar_auto_out_1_a_bits_mask),
+    .auto_out_1_a_bits_data(tlSlaveXbar_auto_out_1_a_bits_data),
+    .auto_out_1_d_ready(tlSlaveXbar_auto_out_1_d_ready),
+    .auto_out_1_d_valid(tlSlaveXbar_auto_out_1_d_valid),
+    .auto_out_1_d_bits_opcode(tlSlaveXbar_auto_out_1_d_bits_opcode),
+    .auto_out_1_d_bits_size(tlSlaveXbar_auto_out_1_d_bits_size),
+    .auto_out_1_d_bits_source(tlSlaveXbar_auto_out_1_d_bits_source),
+    .auto_out_1_d_bits_data(tlSlaveXbar_auto_out_1_d_bits_data),
+    .auto_out_0_a_ready(tlSlaveXbar_auto_out_0_a_ready),
+    .auto_out_0_a_valid(tlSlaveXbar_auto_out_0_a_valid),
+    .auto_out_0_a_bits_opcode(tlSlaveXbar_auto_out_0_a_bits_opcode),
+    .auto_out_0_a_bits_param(tlSlaveXbar_auto_out_0_a_bits_param),
+    .auto_out_0_a_bits_size(tlSlaveXbar_auto_out_0_a_bits_size),
+    .auto_out_0_a_bits_source(tlSlaveXbar_auto_out_0_a_bits_source),
+    .auto_out_0_a_bits_address(tlSlaveXbar_auto_out_0_a_bits_address),
+    .auto_out_0_a_bits_mask(tlSlaveXbar_auto_out_0_a_bits_mask),
+    .auto_out_0_a_bits_data(tlSlaveXbar_auto_out_0_a_bits_data),
+    .auto_out_0_a_bits_corrupt(tlSlaveXbar_auto_out_0_a_bits_corrupt),
+    .auto_out_0_d_ready(tlSlaveXbar_auto_out_0_d_ready),
+    .auto_out_0_d_valid(tlSlaveXbar_auto_out_0_d_valid),
+    .auto_out_0_d_bits_opcode(tlSlaveXbar_auto_out_0_d_bits_opcode),
+    .auto_out_0_d_bits_size(tlSlaveXbar_auto_out_0_d_bits_size),
+    .auto_out_0_d_bits_source(tlSlaveXbar_auto_out_0_d_bits_source),
+    .auto_out_0_d_bits_data(tlSlaveXbar_auto_out_0_d_bits_data)
+  );
+  IntXbar_1 intXbar ( // @[BaseTile.scala 144:37:shc.marmotcaravel.MarmotCaravelConfig.fir@222043.4]
+    .auto_int_in_2_0(intXbar_auto_int_in_2_0),
+    .auto_int_in_1_0(intXbar_auto_int_in_1_0),
+    .auto_int_in_1_1(intXbar_auto_int_in_1_1),
+    .auto_int_in_0_0(intXbar_auto_int_in_0_0),
+    .auto_int_out_0(intXbar_auto_int_out_0),
+    .auto_int_out_1(intXbar_auto_int_out_1),
+    .auto_int_out_2(intXbar_auto_int_out_2),
+    .auto_int_out_3(intXbar_auto_int_out_3)
+  );
+  DCache dcache ( // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
+    .gated_clock(dcache_gated_clock),
+    .reset(dcache_reset),
+    .auto_out_a_ready(dcache_auto_out_a_ready),
+    .auto_out_a_valid(dcache_auto_out_a_valid),
+    .auto_out_a_bits_opcode(dcache_auto_out_a_bits_opcode),
+    .auto_out_a_bits_param(dcache_auto_out_a_bits_param),
+    .auto_out_a_bits_size(dcache_auto_out_a_bits_size),
+    .auto_out_a_bits_address(dcache_auto_out_a_bits_address),
+    .auto_out_a_bits_mask(dcache_auto_out_a_bits_mask),
+    .auto_out_a_bits_data(dcache_auto_out_a_bits_data),
+    .auto_out_c_valid(dcache_auto_out_c_valid),
+    .auto_out_d_ready(dcache_auto_out_d_ready),
+    .auto_out_d_valid(dcache_auto_out_d_valid),
+    .auto_out_d_bits_opcode(dcache_auto_out_d_bits_opcode),
+    .auto_out_d_bits_size(dcache_auto_out_d_bits_size),
+    .auto_out_d_bits_denied(dcache_auto_out_d_bits_denied),
+    .auto_out_d_bits_data(dcache_auto_out_d_bits_data),
+    .auto_out_e_valid(dcache_auto_out_e_valid),
+    .io_cpu_req_ready(dcache_io_cpu_req_ready),
+    .io_cpu_req_valid(dcache_io_cpu_req_valid),
+    .io_cpu_req_bits_addr(dcache_io_cpu_req_bits_addr),
+    .io_cpu_req_bits_tag(dcache_io_cpu_req_bits_tag),
+    .io_cpu_req_bits_cmd(dcache_io_cpu_req_bits_cmd),
+    .io_cpu_req_bits_typ(dcache_io_cpu_req_bits_typ),
+    .io_cpu_req_bits_phys(dcache_io_cpu_req_bits_phys),
+    .io_cpu_s1_kill(dcache_io_cpu_s1_kill),
+    .io_cpu_s1_data_data(dcache_io_cpu_s1_data_data),
+    .io_cpu_s1_data_mask(dcache_io_cpu_s1_data_mask),
+    .io_cpu_s2_nack(dcache_io_cpu_s2_nack),
+    .io_cpu_resp_valid(dcache_io_cpu_resp_valid),
+    .io_cpu_resp_bits_addr(dcache_io_cpu_resp_bits_addr),
+    .io_cpu_resp_bits_tag(dcache_io_cpu_resp_bits_tag),
+    .io_cpu_resp_bits_cmd(dcache_io_cpu_resp_bits_cmd),
+    .io_cpu_resp_bits_typ(dcache_io_cpu_resp_bits_typ),
+    .io_cpu_resp_bits_data(dcache_io_cpu_resp_bits_data),
+    .io_cpu_resp_bits_replay(dcache_io_cpu_resp_bits_replay),
+    .io_cpu_resp_bits_has_data(dcache_io_cpu_resp_bits_has_data),
+    .io_cpu_resp_bits_data_word_bypass(dcache_io_cpu_resp_bits_data_word_bypass),
+    .io_cpu_resp_bits_data_raw(dcache_io_cpu_resp_bits_data_raw),
+    .io_cpu_resp_bits_store_data(dcache_io_cpu_resp_bits_store_data),
+    .io_cpu_replay_next(dcache_io_cpu_replay_next),
+    .io_cpu_s2_xcpt_ma_ld(dcache_io_cpu_s2_xcpt_ma_ld),
+    .io_cpu_s2_xcpt_ma_st(dcache_io_cpu_s2_xcpt_ma_st),
+    .io_cpu_s2_xcpt_pf_ld(dcache_io_cpu_s2_xcpt_pf_ld),
+    .io_cpu_s2_xcpt_pf_st(dcache_io_cpu_s2_xcpt_pf_st),
+    .io_cpu_s2_xcpt_ae_ld(dcache_io_cpu_s2_xcpt_ae_ld),
+    .io_cpu_s2_xcpt_ae_st(dcache_io_cpu_s2_xcpt_ae_st),
+    .io_cpu_ordered(dcache_io_cpu_ordered),
+    .io_cpu_perf_grant(dcache_io_cpu_perf_grant),
+    .io_cpu_keep_clock_enabled(dcache_io_cpu_keep_clock_enabled),
+    .io_cpu_clock_enabled(dcache_io_cpu_clock_enabled),
+    .io_ptw_pmp_0_cfg_l(dcache_io_ptw_pmp_0_cfg_l),
+    .io_ptw_pmp_0_cfg_a(dcache_io_ptw_pmp_0_cfg_a),
+    .io_ptw_pmp_0_cfg_x(dcache_io_ptw_pmp_0_cfg_x),
+    .io_ptw_pmp_0_cfg_w(dcache_io_ptw_pmp_0_cfg_w),
+    .io_ptw_pmp_0_cfg_r(dcache_io_ptw_pmp_0_cfg_r),
+    .io_ptw_pmp_0_addr(dcache_io_ptw_pmp_0_addr),
+    .io_ptw_pmp_0_mask(dcache_io_ptw_pmp_0_mask),
+    .io_ptw_pmp_1_cfg_l(dcache_io_ptw_pmp_1_cfg_l),
+    .io_ptw_pmp_1_cfg_a(dcache_io_ptw_pmp_1_cfg_a),
+    .io_ptw_pmp_1_cfg_x(dcache_io_ptw_pmp_1_cfg_x),
+    .io_ptw_pmp_1_cfg_w(dcache_io_ptw_pmp_1_cfg_w),
+    .io_ptw_pmp_1_cfg_r(dcache_io_ptw_pmp_1_cfg_r),
+    .io_ptw_pmp_1_addr(dcache_io_ptw_pmp_1_addr),
+    .io_ptw_pmp_1_mask(dcache_io_ptw_pmp_1_mask),
+    .io_ptw_pmp_2_cfg_l(dcache_io_ptw_pmp_2_cfg_l),
+    .io_ptw_pmp_2_cfg_a(dcache_io_ptw_pmp_2_cfg_a),
+    .io_ptw_pmp_2_cfg_x(dcache_io_ptw_pmp_2_cfg_x),
+    .io_ptw_pmp_2_cfg_w(dcache_io_ptw_pmp_2_cfg_w),
+    .io_ptw_pmp_2_cfg_r(dcache_io_ptw_pmp_2_cfg_r),
+    .io_ptw_pmp_2_addr(dcache_io_ptw_pmp_2_addr),
+    .io_ptw_pmp_2_mask(dcache_io_ptw_pmp_2_mask),
+    .io_ptw_pmp_3_cfg_l(dcache_io_ptw_pmp_3_cfg_l),
+    .io_ptw_pmp_3_cfg_a(dcache_io_ptw_pmp_3_cfg_a),
+    .io_ptw_pmp_3_cfg_x(dcache_io_ptw_pmp_3_cfg_x),
+    .io_ptw_pmp_3_cfg_w(dcache_io_ptw_pmp_3_cfg_w),
+    .io_ptw_pmp_3_cfg_r(dcache_io_ptw_pmp_3_cfg_r),
+    .io_ptw_pmp_3_addr(dcache_io_ptw_pmp_3_addr),
+    .io_ptw_pmp_3_mask(dcache_io_ptw_pmp_3_mask),
+    .io_ptw_pmp_4_cfg_l(dcache_io_ptw_pmp_4_cfg_l),
+    .io_ptw_pmp_4_cfg_a(dcache_io_ptw_pmp_4_cfg_a),
+    .io_ptw_pmp_4_cfg_x(dcache_io_ptw_pmp_4_cfg_x),
+    .io_ptw_pmp_4_cfg_w(dcache_io_ptw_pmp_4_cfg_w),
+    .io_ptw_pmp_4_cfg_r(dcache_io_ptw_pmp_4_cfg_r),
+    .io_ptw_pmp_4_addr(dcache_io_ptw_pmp_4_addr),
+    .io_ptw_pmp_4_mask(dcache_io_ptw_pmp_4_mask),
+    .io_ptw_pmp_5_cfg_l(dcache_io_ptw_pmp_5_cfg_l),
+    .io_ptw_pmp_5_cfg_a(dcache_io_ptw_pmp_5_cfg_a),
+    .io_ptw_pmp_5_cfg_x(dcache_io_ptw_pmp_5_cfg_x),
+    .io_ptw_pmp_5_cfg_w(dcache_io_ptw_pmp_5_cfg_w),
+    .io_ptw_pmp_5_cfg_r(dcache_io_ptw_pmp_5_cfg_r),
+    .io_ptw_pmp_5_addr(dcache_io_ptw_pmp_5_addr),
+    .io_ptw_pmp_5_mask(dcache_io_ptw_pmp_5_mask),
+    .io_ptw_pmp_6_cfg_l(dcache_io_ptw_pmp_6_cfg_l),
+    .io_ptw_pmp_6_cfg_a(dcache_io_ptw_pmp_6_cfg_a),
+    .io_ptw_pmp_6_cfg_x(dcache_io_ptw_pmp_6_cfg_x),
+    .io_ptw_pmp_6_cfg_w(dcache_io_ptw_pmp_6_cfg_w),
+    .io_ptw_pmp_6_cfg_r(dcache_io_ptw_pmp_6_cfg_r),
+    .io_ptw_pmp_6_addr(dcache_io_ptw_pmp_6_addr),
+    .io_ptw_pmp_6_mask(dcache_io_ptw_pmp_6_mask),
+    .io_ptw_pmp_7_cfg_l(dcache_io_ptw_pmp_7_cfg_l),
+    .io_ptw_pmp_7_cfg_a(dcache_io_ptw_pmp_7_cfg_a),
+    .io_ptw_pmp_7_cfg_x(dcache_io_ptw_pmp_7_cfg_x),
+    .io_ptw_pmp_7_cfg_w(dcache_io_ptw_pmp_7_cfg_w),
+    .io_ptw_pmp_7_cfg_r(dcache_io_ptw_pmp_7_cfg_r),
+    .io_ptw_pmp_7_addr(dcache_io_ptw_pmp_7_addr),
+    .io_ptw_pmp_7_mask(dcache_io_ptw_pmp_7_mask),
+    .data_arrays_0_ext_RW0_addr(data_arrays_0_ext_RW0_addr),
+    .data_arrays_0_ext_RW0_en(data_arrays_0_ext_RW0_en),
+    .data_arrays_0_ext_RW0_clk(data_arrays_0_ext_RW0_clk),
+    .data_arrays_0_ext_RW0_wmode(data_arrays_0_ext_RW0_wmode),
+    .data_arrays_0_ext_RW0_wdata(data_arrays_0_ext_RW0_wdata),
+    .data_arrays_0_ext_RW0_rdata(data_arrays_0_ext_RW0_rdata),
+    .data_arrays_0_ext_RW0_wmask(data_arrays_0_ext_RW0_wmask)
+  );
+  Frontend frontend ( // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
+    .gated_clock(frontend_gated_clock),
+    .reset(frontend_reset),
+    .auto_icache_slave_in_a_ready(frontend_auto_icache_slave_in_a_ready),
+    .auto_icache_slave_in_a_valid(frontend_auto_icache_slave_in_a_valid),
+    .auto_icache_slave_in_a_bits_opcode(frontend_auto_icache_slave_in_a_bits_opcode),
+    .auto_icache_slave_in_a_bits_size(frontend_auto_icache_slave_in_a_bits_size),
+    .auto_icache_slave_in_a_bits_source(frontend_auto_icache_slave_in_a_bits_source),
+    .auto_icache_slave_in_a_bits_address(frontend_auto_icache_slave_in_a_bits_address),
+    .auto_icache_slave_in_a_bits_mask(frontend_auto_icache_slave_in_a_bits_mask),
+    .auto_icache_slave_in_a_bits_data(frontend_auto_icache_slave_in_a_bits_data),
+    .auto_icache_slave_in_d_ready(frontend_auto_icache_slave_in_d_ready),
+    .auto_icache_slave_in_d_valid(frontend_auto_icache_slave_in_d_valid),
+    .auto_icache_slave_in_d_bits_opcode(frontend_auto_icache_slave_in_d_bits_opcode),
+    .auto_icache_slave_in_d_bits_size(frontend_auto_icache_slave_in_d_bits_size),
+    .auto_icache_slave_in_d_bits_source(frontend_auto_icache_slave_in_d_bits_source),
+    .auto_icache_slave_in_d_bits_data(frontend_auto_icache_slave_in_d_bits_data),
+    .auto_icache_master_out_a_ready(frontend_auto_icache_master_out_a_ready),
+    .auto_icache_master_out_a_valid(frontend_auto_icache_master_out_a_valid),
+    .auto_icache_master_out_a_bits_address(frontend_auto_icache_master_out_a_bits_address),
+    .auto_icache_master_out_d_ready(frontend_auto_icache_master_out_d_ready),
+    .auto_icache_master_out_d_valid(frontend_auto_icache_master_out_d_valid),
+    .auto_icache_master_out_d_bits_opcode(frontend_auto_icache_master_out_d_bits_opcode),
+    .auto_icache_master_out_d_bits_size(frontend_auto_icache_master_out_d_bits_size),
+    .auto_icache_master_out_d_bits_data(frontend_auto_icache_master_out_d_bits_data),
+    .auto_icache_master_out_d_bits_corrupt(frontend_auto_icache_master_out_d_bits_corrupt),
+    .io_reset_vector(frontend_io_reset_vector),
+    .io_cpu_might_request(frontend_io_cpu_might_request),
+    .io_cpu_req_valid(frontend_io_cpu_req_valid),
+    .io_cpu_req_bits_pc(frontend_io_cpu_req_bits_pc),
+    .io_cpu_req_bits_speculative(frontend_io_cpu_req_bits_speculative),
+    .io_cpu_sfence_valid(frontend_io_cpu_sfence_valid),
+    .io_cpu_resp_ready(frontend_io_cpu_resp_ready),
+    .io_cpu_resp_valid(frontend_io_cpu_resp_valid),
+    .io_cpu_resp_bits_btb_taken(frontend_io_cpu_resp_bits_btb_taken),
+    .io_cpu_resp_bits_btb_bridx(frontend_io_cpu_resp_bits_btb_bridx),
+    .io_cpu_resp_bits_btb_entry(frontend_io_cpu_resp_bits_btb_entry),
+    .io_cpu_resp_bits_btb_bht_history(frontend_io_cpu_resp_bits_btb_bht_history),
+    .io_cpu_resp_bits_pc(frontend_io_cpu_resp_bits_pc),
+    .io_cpu_resp_bits_data(frontend_io_cpu_resp_bits_data),
+    .io_cpu_resp_bits_xcpt_ae_inst(frontend_io_cpu_resp_bits_xcpt_ae_inst),
+    .io_cpu_resp_bits_replay(frontend_io_cpu_resp_bits_replay),
+    .io_cpu_btb_update_valid(frontend_io_cpu_btb_update_valid),
+    .io_cpu_btb_update_bits_prediction_entry(frontend_io_cpu_btb_update_bits_prediction_entry),
+    .io_cpu_btb_update_bits_pc(frontend_io_cpu_btb_update_bits_pc),
+    .io_cpu_btb_update_bits_isValid(frontend_io_cpu_btb_update_bits_isValid),
+    .io_cpu_btb_update_bits_br_pc(frontend_io_cpu_btb_update_bits_br_pc),
+    .io_cpu_btb_update_bits_cfiType(frontend_io_cpu_btb_update_bits_cfiType),
+    .io_cpu_bht_update_valid(frontend_io_cpu_bht_update_valid),
+    .io_cpu_bht_update_bits_prediction_history(frontend_io_cpu_bht_update_bits_prediction_history),
+    .io_cpu_bht_update_bits_pc(frontend_io_cpu_bht_update_bits_pc),
+    .io_cpu_bht_update_bits_branch(frontend_io_cpu_bht_update_bits_branch),
+    .io_cpu_bht_update_bits_taken(frontend_io_cpu_bht_update_bits_taken),
+    .io_cpu_bht_update_bits_mispredict(frontend_io_cpu_bht_update_bits_mispredict),
+    .io_cpu_flush_icache(frontend_io_cpu_flush_icache),
+    .io_cpu_npc(frontend_io_cpu_npc),
+    .io_ptw_pmp_0_cfg_l(frontend_io_ptw_pmp_0_cfg_l),
+    .io_ptw_pmp_0_cfg_a(frontend_io_ptw_pmp_0_cfg_a),
+    .io_ptw_pmp_0_cfg_x(frontend_io_ptw_pmp_0_cfg_x),
+    .io_ptw_pmp_0_cfg_w(frontend_io_ptw_pmp_0_cfg_w),
+    .io_ptw_pmp_0_cfg_r(frontend_io_ptw_pmp_0_cfg_r),
+    .io_ptw_pmp_0_addr(frontend_io_ptw_pmp_0_addr),
+    .io_ptw_pmp_0_mask(frontend_io_ptw_pmp_0_mask),
+    .io_ptw_pmp_1_cfg_l(frontend_io_ptw_pmp_1_cfg_l),
+    .io_ptw_pmp_1_cfg_a(frontend_io_ptw_pmp_1_cfg_a),
+    .io_ptw_pmp_1_cfg_x(frontend_io_ptw_pmp_1_cfg_x),
+    .io_ptw_pmp_1_cfg_w(frontend_io_ptw_pmp_1_cfg_w),
+    .io_ptw_pmp_1_cfg_r(frontend_io_ptw_pmp_1_cfg_r),
+    .io_ptw_pmp_1_addr(frontend_io_ptw_pmp_1_addr),
+    .io_ptw_pmp_1_mask(frontend_io_ptw_pmp_1_mask),
+    .io_ptw_pmp_2_cfg_l(frontend_io_ptw_pmp_2_cfg_l),
+    .io_ptw_pmp_2_cfg_a(frontend_io_ptw_pmp_2_cfg_a),
+    .io_ptw_pmp_2_cfg_x(frontend_io_ptw_pmp_2_cfg_x),
+    .io_ptw_pmp_2_cfg_w(frontend_io_ptw_pmp_2_cfg_w),
+    .io_ptw_pmp_2_cfg_r(frontend_io_ptw_pmp_2_cfg_r),
+    .io_ptw_pmp_2_addr(frontend_io_ptw_pmp_2_addr),
+    .io_ptw_pmp_2_mask(frontend_io_ptw_pmp_2_mask),
+    .io_ptw_pmp_3_cfg_l(frontend_io_ptw_pmp_3_cfg_l),
+    .io_ptw_pmp_3_cfg_a(frontend_io_ptw_pmp_3_cfg_a),
+    .io_ptw_pmp_3_cfg_x(frontend_io_ptw_pmp_3_cfg_x),
+    .io_ptw_pmp_3_cfg_w(frontend_io_ptw_pmp_3_cfg_w),
+    .io_ptw_pmp_3_cfg_r(frontend_io_ptw_pmp_3_cfg_r),
+    .io_ptw_pmp_3_addr(frontend_io_ptw_pmp_3_addr),
+    .io_ptw_pmp_3_mask(frontend_io_ptw_pmp_3_mask),
+    .io_ptw_pmp_4_cfg_l(frontend_io_ptw_pmp_4_cfg_l),
+    .io_ptw_pmp_4_cfg_a(frontend_io_ptw_pmp_4_cfg_a),
+    .io_ptw_pmp_4_cfg_x(frontend_io_ptw_pmp_4_cfg_x),
+    .io_ptw_pmp_4_cfg_w(frontend_io_ptw_pmp_4_cfg_w),
+    .io_ptw_pmp_4_cfg_r(frontend_io_ptw_pmp_4_cfg_r),
+    .io_ptw_pmp_4_addr(frontend_io_ptw_pmp_4_addr),
+    .io_ptw_pmp_4_mask(frontend_io_ptw_pmp_4_mask),
+    .io_ptw_pmp_5_cfg_l(frontend_io_ptw_pmp_5_cfg_l),
+    .io_ptw_pmp_5_cfg_a(frontend_io_ptw_pmp_5_cfg_a),
+    .io_ptw_pmp_5_cfg_x(frontend_io_ptw_pmp_5_cfg_x),
+    .io_ptw_pmp_5_cfg_w(frontend_io_ptw_pmp_5_cfg_w),
+    .io_ptw_pmp_5_cfg_r(frontend_io_ptw_pmp_5_cfg_r),
+    .io_ptw_pmp_5_addr(frontend_io_ptw_pmp_5_addr),
+    .io_ptw_pmp_5_mask(frontend_io_ptw_pmp_5_mask),
+    .io_ptw_pmp_6_cfg_l(frontend_io_ptw_pmp_6_cfg_l),
+    .io_ptw_pmp_6_cfg_a(frontend_io_ptw_pmp_6_cfg_a),
+    .io_ptw_pmp_6_cfg_x(frontend_io_ptw_pmp_6_cfg_x),
+    .io_ptw_pmp_6_cfg_w(frontend_io_ptw_pmp_6_cfg_w),
+    .io_ptw_pmp_6_cfg_r(frontend_io_ptw_pmp_6_cfg_r),
+    .io_ptw_pmp_6_addr(frontend_io_ptw_pmp_6_addr),
+    .io_ptw_pmp_6_mask(frontend_io_ptw_pmp_6_mask),
+    .io_ptw_pmp_7_cfg_l(frontend_io_ptw_pmp_7_cfg_l),
+    .io_ptw_pmp_7_cfg_a(frontend_io_ptw_pmp_7_cfg_a),
+    .io_ptw_pmp_7_cfg_x(frontend_io_ptw_pmp_7_cfg_x),
+    .io_ptw_pmp_7_cfg_w(frontend_io_ptw_pmp_7_cfg_w),
+    .io_ptw_pmp_7_cfg_r(frontend_io_ptw_pmp_7_cfg_r),
+    .io_ptw_pmp_7_addr(frontend_io_ptw_pmp_7_addr),
+    .io_ptw_pmp_7_mask(frontend_io_ptw_pmp_7_mask),
+    .tag_array_ext_RW0_addr(tag_array_ext_RW0_addr),
+    .tag_array_ext_RW0_en(tag_array_ext_RW0_en),
+    .tag_array_ext_RW0_clk(tag_array_ext_RW0_clk),
+    .tag_array_ext_RW0_wmode(tag_array_ext_RW0_wmode),
+    .tag_array_ext_RW0_wdata(tag_array_ext_RW0_wdata),
+    .tag_array_ext_RW0_rdata(tag_array_ext_RW0_rdata),
+    .tag_array_ext_RW0_wmask(tag_array_ext_RW0_wmask),
+    .data_arrays_0_0_ext_RW0_addr(data_arrays_0_0_ext_RW0_addr),
+    .data_arrays_0_0_ext_RW0_en(data_arrays_0_0_ext_RW0_en),
+    .data_arrays_0_0_ext_RW0_clk(data_arrays_0_0_ext_RW0_clk),
+    .data_arrays_0_0_ext_RW0_wmode(data_arrays_0_0_ext_RW0_wmode),
+    .data_arrays_0_0_ext_RW0_wdata(data_arrays_0_0_ext_RW0_wdata),
+    .data_arrays_0_0_ext_RW0_rdata(data_arrays_0_0_ext_RW0_rdata),
+    .data_arrays_0_0_ext_RW0_wmask(data_arrays_0_0_ext_RW0_wmask)
+  );
+  TLFragmenter_17 fragmenter ( // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222063.4]
+    .clock(fragmenter_clock),
+    .reset(fragmenter_reset),
+    .auto_in_a_ready(fragmenter_auto_in_a_ready),
+    .auto_in_a_valid(fragmenter_auto_in_a_valid),
+    .auto_in_a_bits_opcode(fragmenter_auto_in_a_bits_opcode),
+    .auto_in_a_bits_param(fragmenter_auto_in_a_bits_param),
+    .auto_in_a_bits_size(fragmenter_auto_in_a_bits_size),
+    .auto_in_a_bits_source(fragmenter_auto_in_a_bits_source),
+    .auto_in_a_bits_address(fragmenter_auto_in_a_bits_address),
+    .auto_in_a_bits_mask(fragmenter_auto_in_a_bits_mask),
+    .auto_in_a_bits_data(fragmenter_auto_in_a_bits_data),
+    .auto_in_a_bits_corrupt(fragmenter_auto_in_a_bits_corrupt),
+    .auto_in_d_ready(fragmenter_auto_in_d_ready),
+    .auto_in_d_valid(fragmenter_auto_in_d_valid),
+    .auto_in_d_bits_opcode(fragmenter_auto_in_d_bits_opcode),
+    .auto_in_d_bits_size(fragmenter_auto_in_d_bits_size),
+    .auto_in_d_bits_source(fragmenter_auto_in_d_bits_source),
+    .auto_in_d_bits_data(fragmenter_auto_in_d_bits_data),
+    .auto_out_a_ready(fragmenter_auto_out_a_ready),
+    .auto_out_a_valid(fragmenter_auto_out_a_valid),
+    .auto_out_a_bits_opcode(fragmenter_auto_out_a_bits_opcode),
+    .auto_out_a_bits_size(fragmenter_auto_out_a_bits_size),
+    .auto_out_a_bits_source(fragmenter_auto_out_a_bits_source),
+    .auto_out_a_bits_address(fragmenter_auto_out_a_bits_address),
+    .auto_out_a_bits_mask(fragmenter_auto_out_a_bits_mask),
+    .auto_out_a_bits_data(fragmenter_auto_out_a_bits_data),
+    .auto_out_d_ready(fragmenter_auto_out_d_ready),
+    .auto_out_d_valid(fragmenter_auto_out_d_valid),
+    .auto_out_d_bits_opcode(fragmenter_auto_out_d_bits_opcode),
+    .auto_out_d_bits_size(fragmenter_auto_out_d_bits_size),
+    .auto_out_d_bits_source(fragmenter_auto_out_d_bits_source),
+    .auto_out_d_bits_data(fragmenter_auto_out_d_bits_data)
+  );
+  ScratchpadSlavePort dtim_adapter ( // @[RocketTile.scala 46:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222069.4]
+    .clock(dtim_adapter_clock),
+    .reset(dtim_adapter_reset),
+    .auto_in_a_ready(dtim_adapter_auto_in_a_ready),
+    .auto_in_a_valid(dtim_adapter_auto_in_a_valid),
+    .auto_in_a_bits_opcode(dtim_adapter_auto_in_a_bits_opcode),
+    .auto_in_a_bits_param(dtim_adapter_auto_in_a_bits_param),
+    .auto_in_a_bits_size(dtim_adapter_auto_in_a_bits_size),
+    .auto_in_a_bits_source(dtim_adapter_auto_in_a_bits_source),
+    .auto_in_a_bits_address(dtim_adapter_auto_in_a_bits_address),
+    .auto_in_a_bits_mask(dtim_adapter_auto_in_a_bits_mask),
+    .auto_in_a_bits_data(dtim_adapter_auto_in_a_bits_data),
+    .auto_in_d_ready(dtim_adapter_auto_in_d_ready),
+    .auto_in_d_valid(dtim_adapter_auto_in_d_valid),
+    .auto_in_d_bits_opcode(dtim_adapter_auto_in_d_bits_opcode),
+    .auto_in_d_bits_size(dtim_adapter_auto_in_d_bits_size),
+    .auto_in_d_bits_source(dtim_adapter_auto_in_d_bits_source),
+    .auto_in_d_bits_data(dtim_adapter_auto_in_d_bits_data),
+    .io_dmem_req_ready(dtim_adapter_io_dmem_req_ready),
+    .io_dmem_req_valid(dtim_adapter_io_dmem_req_valid),
+    .io_dmem_req_bits_addr(dtim_adapter_io_dmem_req_bits_addr),
+    .io_dmem_req_bits_cmd(dtim_adapter_io_dmem_req_bits_cmd),
+    .io_dmem_req_bits_typ(dtim_adapter_io_dmem_req_bits_typ),
+    .io_dmem_s1_kill(dtim_adapter_io_dmem_s1_kill),
+    .io_dmem_s1_data_data(dtim_adapter_io_dmem_s1_data_data),
+    .io_dmem_s1_data_mask(dtim_adapter_io_dmem_s1_data_mask),
+    .io_dmem_s2_nack(dtim_adapter_io_dmem_s2_nack),
+    .io_dmem_resp_valid(dtim_adapter_io_dmem_resp_valid),
+    .io_dmem_resp_bits_data_raw(dtim_adapter_io_dmem_resp_bits_data_raw)
+  );
+  TLFragmenter_18 fragmenter_1 ( // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222076.4]
+    .clock(fragmenter_1_clock),
+    .reset(fragmenter_1_reset),
+    .auto_in_a_ready(fragmenter_1_auto_in_a_ready),
+    .auto_in_a_valid(fragmenter_1_auto_in_a_valid),
+    .auto_in_a_bits_opcode(fragmenter_1_auto_in_a_bits_opcode),
+    .auto_in_a_bits_param(fragmenter_1_auto_in_a_bits_param),
+    .auto_in_a_bits_size(fragmenter_1_auto_in_a_bits_size),
+    .auto_in_a_bits_source(fragmenter_1_auto_in_a_bits_source),
+    .auto_in_a_bits_address(fragmenter_1_auto_in_a_bits_address),
+    .auto_in_a_bits_mask(fragmenter_1_auto_in_a_bits_mask),
+    .auto_in_a_bits_data(fragmenter_1_auto_in_a_bits_data),
+    .auto_in_d_ready(fragmenter_1_auto_in_d_ready),
+    .auto_in_d_valid(fragmenter_1_auto_in_d_valid),
+    .auto_in_d_bits_opcode(fragmenter_1_auto_in_d_bits_opcode),
+    .auto_in_d_bits_size(fragmenter_1_auto_in_d_bits_size),
+    .auto_in_d_bits_source(fragmenter_1_auto_in_d_bits_source),
+    .auto_in_d_bits_data(fragmenter_1_auto_in_d_bits_data),
+    .auto_out_a_ready(fragmenter_1_auto_out_a_ready),
+    .auto_out_a_valid(fragmenter_1_auto_out_a_valid),
+    .auto_out_a_bits_opcode(fragmenter_1_auto_out_a_bits_opcode),
+    .auto_out_a_bits_param(fragmenter_1_auto_out_a_bits_param),
+    .auto_out_a_bits_size(fragmenter_1_auto_out_a_bits_size),
+    .auto_out_a_bits_source(fragmenter_1_auto_out_a_bits_source),
+    .auto_out_a_bits_address(fragmenter_1_auto_out_a_bits_address),
+    .auto_out_a_bits_mask(fragmenter_1_auto_out_a_bits_mask),
+    .auto_out_a_bits_data(fragmenter_1_auto_out_a_bits_data),
+    .auto_out_d_ready(fragmenter_1_auto_out_d_ready),
+    .auto_out_d_valid(fragmenter_1_auto_out_d_valid),
+    .auto_out_d_bits_opcode(fragmenter_1_auto_out_d_bits_opcode),
+    .auto_out_d_bits_size(fragmenter_1_auto_out_d_bits_size),
+    .auto_out_d_bits_source(fragmenter_1_auto_out_d_bits_source),
+    .auto_out_d_bits_data(fragmenter_1_auto_out_d_bits_data)
+  );
+  TLBuffer_15 buffer ( // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222082.4]
+    .clock(buffer_clock),
+    .reset(buffer_reset),
+    .auto_in_a_ready(buffer_auto_in_a_ready),
+    .auto_in_a_valid(buffer_auto_in_a_valid),
+    .auto_in_a_bits_opcode(buffer_auto_in_a_bits_opcode),
+    .auto_in_a_bits_param(buffer_auto_in_a_bits_param),
+    .auto_in_a_bits_size(buffer_auto_in_a_bits_size),
+    .auto_in_a_bits_source(buffer_auto_in_a_bits_source),
+    .auto_in_a_bits_address(buffer_auto_in_a_bits_address),
+    .auto_in_a_bits_mask(buffer_auto_in_a_bits_mask),
+    .auto_in_a_bits_data(buffer_auto_in_a_bits_data),
+    .auto_in_a_bits_corrupt(buffer_auto_in_a_bits_corrupt),
+    .auto_in_d_ready(buffer_auto_in_d_ready),
+    .auto_in_d_valid(buffer_auto_in_d_valid),
+    .auto_in_d_bits_opcode(buffer_auto_in_d_bits_opcode),
+    .auto_in_d_bits_param(buffer_auto_in_d_bits_param),
+    .auto_in_d_bits_size(buffer_auto_in_d_bits_size),
+    .auto_in_d_bits_source(buffer_auto_in_d_bits_source),
+    .auto_in_d_bits_sink(buffer_auto_in_d_bits_sink),
+    .auto_in_d_bits_denied(buffer_auto_in_d_bits_denied),
+    .auto_in_d_bits_data(buffer_auto_in_d_bits_data),
+    .auto_in_d_bits_corrupt(buffer_auto_in_d_bits_corrupt),
+    .auto_out_a_ready(buffer_auto_out_a_ready),
+    .auto_out_a_valid(buffer_auto_out_a_valid),
+    .auto_out_a_bits_opcode(buffer_auto_out_a_bits_opcode),
+    .auto_out_a_bits_param(buffer_auto_out_a_bits_param),
+    .auto_out_a_bits_size(buffer_auto_out_a_bits_size),
+    .auto_out_a_bits_source(buffer_auto_out_a_bits_source),
+    .auto_out_a_bits_address(buffer_auto_out_a_bits_address),
+    .auto_out_a_bits_mask(buffer_auto_out_a_bits_mask),
+    .auto_out_a_bits_data(buffer_auto_out_a_bits_data),
+    .auto_out_a_bits_corrupt(buffer_auto_out_a_bits_corrupt),
+    .auto_out_d_ready(buffer_auto_out_d_ready),
+    .auto_out_d_valid(buffer_auto_out_d_valid),
+    .auto_out_d_bits_opcode(buffer_auto_out_d_bits_opcode),
+    .auto_out_d_bits_param(buffer_auto_out_d_bits_param),
+    .auto_out_d_bits_size(buffer_auto_out_d_bits_size),
+    .auto_out_d_bits_source(buffer_auto_out_d_bits_source),
+    .auto_out_d_bits_sink(buffer_auto_out_d_bits_sink),
+    .auto_out_d_bits_denied(buffer_auto_out_d_bits_denied),
+    .auto_out_d_bits_data(buffer_auto_out_d_bits_data),
+    .auto_out_d_bits_corrupt(buffer_auto_out_d_bits_corrupt)
+  );
+  TLBuffer_16 buffer_1 ( // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222088.4]
+    .clock(buffer_1_clock),
+    .reset(buffer_1_reset),
+    .auto_in_a_ready(buffer_1_auto_in_a_ready),
+    .auto_in_a_valid(buffer_1_auto_in_a_valid),
+    .auto_in_a_bits_opcode(buffer_1_auto_in_a_bits_opcode),
+    .auto_in_a_bits_param(buffer_1_auto_in_a_bits_param),
+    .auto_in_a_bits_size(buffer_1_auto_in_a_bits_size),
+    .auto_in_a_bits_source(buffer_1_auto_in_a_bits_source),
+    .auto_in_a_bits_address(buffer_1_auto_in_a_bits_address),
+    .auto_in_a_bits_mask(buffer_1_auto_in_a_bits_mask),
+    .auto_in_a_bits_data(buffer_1_auto_in_a_bits_data),
+    .auto_in_a_bits_corrupt(buffer_1_auto_in_a_bits_corrupt),
+    .auto_in_d_ready(buffer_1_auto_in_d_ready),
+    .auto_in_d_valid(buffer_1_auto_in_d_valid),
+    .auto_in_d_bits_opcode(buffer_1_auto_in_d_bits_opcode),
+    .auto_in_d_bits_param(buffer_1_auto_in_d_bits_param),
+    .auto_in_d_bits_size(buffer_1_auto_in_d_bits_size),
+    .auto_in_d_bits_source(buffer_1_auto_in_d_bits_source),
+    .auto_in_d_bits_sink(buffer_1_auto_in_d_bits_sink),
+    .auto_in_d_bits_denied(buffer_1_auto_in_d_bits_denied),
+    .auto_in_d_bits_data(buffer_1_auto_in_d_bits_data),
+    .auto_in_d_bits_corrupt(buffer_1_auto_in_d_bits_corrupt),
+    .auto_out_a_ready(buffer_1_auto_out_a_ready),
+    .auto_out_a_valid(buffer_1_auto_out_a_valid),
+    .auto_out_a_bits_opcode(buffer_1_auto_out_a_bits_opcode),
+    .auto_out_a_bits_param(buffer_1_auto_out_a_bits_param),
+    .auto_out_a_bits_size(buffer_1_auto_out_a_bits_size),
+    .auto_out_a_bits_source(buffer_1_auto_out_a_bits_source),
+    .auto_out_a_bits_address(buffer_1_auto_out_a_bits_address),
+    .auto_out_a_bits_mask(buffer_1_auto_out_a_bits_mask),
+    .auto_out_a_bits_data(buffer_1_auto_out_a_bits_data),
+    .auto_out_a_bits_corrupt(buffer_1_auto_out_a_bits_corrupt),
+    .auto_out_d_ready(buffer_1_auto_out_d_ready),
+    .auto_out_d_valid(buffer_1_auto_out_d_valid),
+    .auto_out_d_bits_opcode(buffer_1_auto_out_d_bits_opcode),
+    .auto_out_d_bits_param(buffer_1_auto_out_d_bits_param),
+    .auto_out_d_bits_size(buffer_1_auto_out_d_bits_size),
+    .auto_out_d_bits_source(buffer_1_auto_out_d_bits_source),
+    .auto_out_d_bits_sink(buffer_1_auto_out_d_bits_sink),
+    .auto_out_d_bits_denied(buffer_1_auto_out_d_bits_denied),
+    .auto_out_d_bits_data(buffer_1_auto_out_d_bits_data),
+    .auto_out_d_bits_corrupt(buffer_1_auto_out_d_bits_corrupt)
+  );
+  IntSyncCrossingSink intsink ( // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@222094.4]
+    .clock(intsink_clock),
+    .auto_in_sync_0(intsink_auto_in_sync_0),
+    .auto_out_0(intsink_auto_out_0)
+  );
+  IntSyncCrossingSink_1 intsink_1 ( // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@222100.4]
+    .auto_in_sync_0(intsink_1_auto_in_sync_0),
+    .auto_in_sync_1(intsink_1_auto_in_sync_1),
+    .auto_out_0(intsink_1_auto_out_0),
+    .auto_out_1(intsink_1_auto_out_1)
+  );
+  IntSyncCrossingSink_2 intsink_2 ( // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@222106.4]
+    .auto_in_sync_0(intsink_2_auto_in_sync_0),
+    .auto_out_0(intsink_2_auto_out_0)
+  );
+  HellaCacheArbiter dcacheArb ( // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
+    .clock(dcacheArb_clock),
+    .io_requestor_0_req_ready(dcacheArb_io_requestor_0_req_ready),
+    .io_requestor_0_req_valid(dcacheArb_io_requestor_0_req_valid),
+    .io_requestor_0_req_bits_addr(dcacheArb_io_requestor_0_req_bits_addr),
+    .io_requestor_0_req_bits_tag(dcacheArb_io_requestor_0_req_bits_tag),
+    .io_requestor_0_req_bits_cmd(dcacheArb_io_requestor_0_req_bits_cmd),
+    .io_requestor_0_req_bits_typ(dcacheArb_io_requestor_0_req_bits_typ),
+    .io_requestor_0_s1_kill(dcacheArb_io_requestor_0_s1_kill),
+    .io_requestor_0_s1_data_data(dcacheArb_io_requestor_0_s1_data_data),
+    .io_requestor_0_s2_nack(dcacheArb_io_requestor_0_s2_nack),
+    .io_requestor_0_resp_valid(dcacheArb_io_requestor_0_resp_valid),
+    .io_requestor_0_resp_bits_tag(dcacheArb_io_requestor_0_resp_bits_tag),
+    .io_requestor_0_resp_bits_data(dcacheArb_io_requestor_0_resp_bits_data),
+    .io_requestor_0_resp_bits_replay(dcacheArb_io_requestor_0_resp_bits_replay),
+    .io_requestor_0_resp_bits_has_data(dcacheArb_io_requestor_0_resp_bits_has_data),
+    .io_requestor_0_resp_bits_data_word_bypass(dcacheArb_io_requestor_0_resp_bits_data_word_bypass),
+    .io_requestor_0_replay_next(dcacheArb_io_requestor_0_replay_next),
+    .io_requestor_0_s2_xcpt_ma_ld(dcacheArb_io_requestor_0_s2_xcpt_ma_ld),
+    .io_requestor_0_s2_xcpt_ma_st(dcacheArb_io_requestor_0_s2_xcpt_ma_st),
+    .io_requestor_0_s2_xcpt_pf_ld(dcacheArb_io_requestor_0_s2_xcpt_pf_ld),
+    .io_requestor_0_s2_xcpt_pf_st(dcacheArb_io_requestor_0_s2_xcpt_pf_st),
+    .io_requestor_0_s2_xcpt_ae_ld(dcacheArb_io_requestor_0_s2_xcpt_ae_ld),
+    .io_requestor_0_s2_xcpt_ae_st(dcacheArb_io_requestor_0_s2_xcpt_ae_st),
+    .io_requestor_0_ordered(dcacheArb_io_requestor_0_ordered),
+    .io_requestor_0_perf_grant(dcacheArb_io_requestor_0_perf_grant),
+    .io_requestor_0_keep_clock_enabled(dcacheArb_io_requestor_0_keep_clock_enabled),
+    .io_requestor_0_clock_enabled(dcacheArb_io_requestor_0_clock_enabled),
+    .io_requestor_1_req_ready(dcacheArb_io_requestor_1_req_ready),
+    .io_requestor_1_req_valid(dcacheArb_io_requestor_1_req_valid),
+    .io_requestor_1_req_bits_addr(dcacheArb_io_requestor_1_req_bits_addr),
+    .io_requestor_1_req_bits_cmd(dcacheArb_io_requestor_1_req_bits_cmd),
+    .io_requestor_1_req_bits_typ(dcacheArb_io_requestor_1_req_bits_typ),
+    .io_requestor_1_s1_kill(dcacheArb_io_requestor_1_s1_kill),
+    .io_requestor_1_s1_data_data(dcacheArb_io_requestor_1_s1_data_data),
+    .io_requestor_1_s1_data_mask(dcacheArb_io_requestor_1_s1_data_mask),
+    .io_requestor_1_s2_nack(dcacheArb_io_requestor_1_s2_nack),
+    .io_requestor_1_resp_valid(dcacheArb_io_requestor_1_resp_valid),
+    .io_requestor_1_resp_bits_data_raw(dcacheArb_io_requestor_1_resp_bits_data_raw),
+    .io_mem_req_ready(dcacheArb_io_mem_req_ready),
+    .io_mem_req_valid(dcacheArb_io_mem_req_valid),
+    .io_mem_req_bits_addr(dcacheArb_io_mem_req_bits_addr),
+    .io_mem_req_bits_tag(dcacheArb_io_mem_req_bits_tag),
+    .io_mem_req_bits_cmd(dcacheArb_io_mem_req_bits_cmd),
+    .io_mem_req_bits_typ(dcacheArb_io_mem_req_bits_typ),
+    .io_mem_req_bits_phys(dcacheArb_io_mem_req_bits_phys),
+    .io_mem_s1_kill(dcacheArb_io_mem_s1_kill),
+    .io_mem_s1_data_data(dcacheArb_io_mem_s1_data_data),
+    .io_mem_s1_data_mask(dcacheArb_io_mem_s1_data_mask),
+    .io_mem_s2_nack(dcacheArb_io_mem_s2_nack),
+    .io_mem_resp_valid(dcacheArb_io_mem_resp_valid),
+    .io_mem_resp_bits_tag(dcacheArb_io_mem_resp_bits_tag),
+    .io_mem_resp_bits_data(dcacheArb_io_mem_resp_bits_data),
+    .io_mem_resp_bits_replay(dcacheArb_io_mem_resp_bits_replay),
+    .io_mem_resp_bits_has_data(dcacheArb_io_mem_resp_bits_has_data),
+    .io_mem_resp_bits_data_word_bypass(dcacheArb_io_mem_resp_bits_data_word_bypass),
+    .io_mem_resp_bits_data_raw(dcacheArb_io_mem_resp_bits_data_raw),
+    .io_mem_replay_next(dcacheArb_io_mem_replay_next),
+    .io_mem_s2_xcpt_ma_ld(dcacheArb_io_mem_s2_xcpt_ma_ld),
+    .io_mem_s2_xcpt_ma_st(dcacheArb_io_mem_s2_xcpt_ma_st),
+    .io_mem_s2_xcpt_pf_ld(dcacheArb_io_mem_s2_xcpt_pf_ld),
+    .io_mem_s2_xcpt_pf_st(dcacheArb_io_mem_s2_xcpt_pf_st),
+    .io_mem_s2_xcpt_ae_ld(dcacheArb_io_mem_s2_xcpt_ae_ld),
+    .io_mem_s2_xcpt_ae_st(dcacheArb_io_mem_s2_xcpt_ae_st),
+    .io_mem_ordered(dcacheArb_io_mem_ordered),
+    .io_mem_perf_grant(dcacheArb_io_mem_perf_grant),
+    .io_mem_keep_clock_enabled(dcacheArb_io_mem_keep_clock_enabled),
+    .io_mem_clock_enabled(dcacheArb_io_mem_clock_enabled)
+  );
+  PTW ptw ( // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
+    .clock(ptw_clock),
+    .io_requestor_0_pmp_0_cfg_l(ptw_io_requestor_0_pmp_0_cfg_l),
+    .io_requestor_0_pmp_0_cfg_a(ptw_io_requestor_0_pmp_0_cfg_a),
+    .io_requestor_0_pmp_0_cfg_x(ptw_io_requestor_0_pmp_0_cfg_x),
+    .io_requestor_0_pmp_0_cfg_w(ptw_io_requestor_0_pmp_0_cfg_w),
+    .io_requestor_0_pmp_0_cfg_r(ptw_io_requestor_0_pmp_0_cfg_r),
+    .io_requestor_0_pmp_0_addr(ptw_io_requestor_0_pmp_0_addr),
+    .io_requestor_0_pmp_0_mask(ptw_io_requestor_0_pmp_0_mask),
+    .io_requestor_0_pmp_1_cfg_l(ptw_io_requestor_0_pmp_1_cfg_l),
+    .io_requestor_0_pmp_1_cfg_a(ptw_io_requestor_0_pmp_1_cfg_a),
+    .io_requestor_0_pmp_1_cfg_x(ptw_io_requestor_0_pmp_1_cfg_x),
+    .io_requestor_0_pmp_1_cfg_w(ptw_io_requestor_0_pmp_1_cfg_w),
+    .io_requestor_0_pmp_1_cfg_r(ptw_io_requestor_0_pmp_1_cfg_r),
+    .io_requestor_0_pmp_1_addr(ptw_io_requestor_0_pmp_1_addr),
+    .io_requestor_0_pmp_1_mask(ptw_io_requestor_0_pmp_1_mask),
+    .io_requestor_0_pmp_2_cfg_l(ptw_io_requestor_0_pmp_2_cfg_l),
+    .io_requestor_0_pmp_2_cfg_a(ptw_io_requestor_0_pmp_2_cfg_a),
+    .io_requestor_0_pmp_2_cfg_x(ptw_io_requestor_0_pmp_2_cfg_x),
+    .io_requestor_0_pmp_2_cfg_w(ptw_io_requestor_0_pmp_2_cfg_w),
+    .io_requestor_0_pmp_2_cfg_r(ptw_io_requestor_0_pmp_2_cfg_r),
+    .io_requestor_0_pmp_2_addr(ptw_io_requestor_0_pmp_2_addr),
+    .io_requestor_0_pmp_2_mask(ptw_io_requestor_0_pmp_2_mask),
+    .io_requestor_0_pmp_3_cfg_l(ptw_io_requestor_0_pmp_3_cfg_l),
+    .io_requestor_0_pmp_3_cfg_a(ptw_io_requestor_0_pmp_3_cfg_a),
+    .io_requestor_0_pmp_3_cfg_x(ptw_io_requestor_0_pmp_3_cfg_x),
+    .io_requestor_0_pmp_3_cfg_w(ptw_io_requestor_0_pmp_3_cfg_w),
+    .io_requestor_0_pmp_3_cfg_r(ptw_io_requestor_0_pmp_3_cfg_r),
+    .io_requestor_0_pmp_3_addr(ptw_io_requestor_0_pmp_3_addr),
+    .io_requestor_0_pmp_3_mask(ptw_io_requestor_0_pmp_3_mask),
+    .io_requestor_0_pmp_4_cfg_l(ptw_io_requestor_0_pmp_4_cfg_l),
+    .io_requestor_0_pmp_4_cfg_a(ptw_io_requestor_0_pmp_4_cfg_a),
+    .io_requestor_0_pmp_4_cfg_x(ptw_io_requestor_0_pmp_4_cfg_x),
+    .io_requestor_0_pmp_4_cfg_w(ptw_io_requestor_0_pmp_4_cfg_w),
+    .io_requestor_0_pmp_4_cfg_r(ptw_io_requestor_0_pmp_4_cfg_r),
+    .io_requestor_0_pmp_4_addr(ptw_io_requestor_0_pmp_4_addr),
+    .io_requestor_0_pmp_4_mask(ptw_io_requestor_0_pmp_4_mask),
+    .io_requestor_0_pmp_5_cfg_l(ptw_io_requestor_0_pmp_5_cfg_l),
+    .io_requestor_0_pmp_5_cfg_a(ptw_io_requestor_0_pmp_5_cfg_a),
+    .io_requestor_0_pmp_5_cfg_x(ptw_io_requestor_0_pmp_5_cfg_x),
+    .io_requestor_0_pmp_5_cfg_w(ptw_io_requestor_0_pmp_5_cfg_w),
+    .io_requestor_0_pmp_5_cfg_r(ptw_io_requestor_0_pmp_5_cfg_r),
+    .io_requestor_0_pmp_5_addr(ptw_io_requestor_0_pmp_5_addr),
+    .io_requestor_0_pmp_5_mask(ptw_io_requestor_0_pmp_5_mask),
+    .io_requestor_0_pmp_6_cfg_l(ptw_io_requestor_0_pmp_6_cfg_l),
+    .io_requestor_0_pmp_6_cfg_a(ptw_io_requestor_0_pmp_6_cfg_a),
+    .io_requestor_0_pmp_6_cfg_x(ptw_io_requestor_0_pmp_6_cfg_x),
+    .io_requestor_0_pmp_6_cfg_w(ptw_io_requestor_0_pmp_6_cfg_w),
+    .io_requestor_0_pmp_6_cfg_r(ptw_io_requestor_0_pmp_6_cfg_r),
+    .io_requestor_0_pmp_6_addr(ptw_io_requestor_0_pmp_6_addr),
+    .io_requestor_0_pmp_6_mask(ptw_io_requestor_0_pmp_6_mask),
+    .io_requestor_0_pmp_7_cfg_l(ptw_io_requestor_0_pmp_7_cfg_l),
+    .io_requestor_0_pmp_7_cfg_a(ptw_io_requestor_0_pmp_7_cfg_a),
+    .io_requestor_0_pmp_7_cfg_x(ptw_io_requestor_0_pmp_7_cfg_x),
+    .io_requestor_0_pmp_7_cfg_w(ptw_io_requestor_0_pmp_7_cfg_w),
+    .io_requestor_0_pmp_7_cfg_r(ptw_io_requestor_0_pmp_7_cfg_r),
+    .io_requestor_0_pmp_7_addr(ptw_io_requestor_0_pmp_7_addr),
+    .io_requestor_0_pmp_7_mask(ptw_io_requestor_0_pmp_7_mask),
+    .io_requestor_1_pmp_0_cfg_l(ptw_io_requestor_1_pmp_0_cfg_l),
+    .io_requestor_1_pmp_0_cfg_a(ptw_io_requestor_1_pmp_0_cfg_a),
+    .io_requestor_1_pmp_0_cfg_x(ptw_io_requestor_1_pmp_0_cfg_x),
+    .io_requestor_1_pmp_0_cfg_w(ptw_io_requestor_1_pmp_0_cfg_w),
+    .io_requestor_1_pmp_0_cfg_r(ptw_io_requestor_1_pmp_0_cfg_r),
+    .io_requestor_1_pmp_0_addr(ptw_io_requestor_1_pmp_0_addr),
+    .io_requestor_1_pmp_0_mask(ptw_io_requestor_1_pmp_0_mask),
+    .io_requestor_1_pmp_1_cfg_l(ptw_io_requestor_1_pmp_1_cfg_l),
+    .io_requestor_1_pmp_1_cfg_a(ptw_io_requestor_1_pmp_1_cfg_a),
+    .io_requestor_1_pmp_1_cfg_x(ptw_io_requestor_1_pmp_1_cfg_x),
+    .io_requestor_1_pmp_1_cfg_w(ptw_io_requestor_1_pmp_1_cfg_w),
+    .io_requestor_1_pmp_1_cfg_r(ptw_io_requestor_1_pmp_1_cfg_r),
+    .io_requestor_1_pmp_1_addr(ptw_io_requestor_1_pmp_1_addr),
+    .io_requestor_1_pmp_1_mask(ptw_io_requestor_1_pmp_1_mask),
+    .io_requestor_1_pmp_2_cfg_l(ptw_io_requestor_1_pmp_2_cfg_l),
+    .io_requestor_1_pmp_2_cfg_a(ptw_io_requestor_1_pmp_2_cfg_a),
+    .io_requestor_1_pmp_2_cfg_x(ptw_io_requestor_1_pmp_2_cfg_x),
+    .io_requestor_1_pmp_2_cfg_w(ptw_io_requestor_1_pmp_2_cfg_w),
+    .io_requestor_1_pmp_2_cfg_r(ptw_io_requestor_1_pmp_2_cfg_r),
+    .io_requestor_1_pmp_2_addr(ptw_io_requestor_1_pmp_2_addr),
+    .io_requestor_1_pmp_2_mask(ptw_io_requestor_1_pmp_2_mask),
+    .io_requestor_1_pmp_3_cfg_l(ptw_io_requestor_1_pmp_3_cfg_l),
+    .io_requestor_1_pmp_3_cfg_a(ptw_io_requestor_1_pmp_3_cfg_a),
+    .io_requestor_1_pmp_3_cfg_x(ptw_io_requestor_1_pmp_3_cfg_x),
+    .io_requestor_1_pmp_3_cfg_w(ptw_io_requestor_1_pmp_3_cfg_w),
+    .io_requestor_1_pmp_3_cfg_r(ptw_io_requestor_1_pmp_3_cfg_r),
+    .io_requestor_1_pmp_3_addr(ptw_io_requestor_1_pmp_3_addr),
+    .io_requestor_1_pmp_3_mask(ptw_io_requestor_1_pmp_3_mask),
+    .io_requestor_1_pmp_4_cfg_l(ptw_io_requestor_1_pmp_4_cfg_l),
+    .io_requestor_1_pmp_4_cfg_a(ptw_io_requestor_1_pmp_4_cfg_a),
+    .io_requestor_1_pmp_4_cfg_x(ptw_io_requestor_1_pmp_4_cfg_x),
+    .io_requestor_1_pmp_4_cfg_w(ptw_io_requestor_1_pmp_4_cfg_w),
+    .io_requestor_1_pmp_4_cfg_r(ptw_io_requestor_1_pmp_4_cfg_r),
+    .io_requestor_1_pmp_4_addr(ptw_io_requestor_1_pmp_4_addr),
+    .io_requestor_1_pmp_4_mask(ptw_io_requestor_1_pmp_4_mask),
+    .io_requestor_1_pmp_5_cfg_l(ptw_io_requestor_1_pmp_5_cfg_l),
+    .io_requestor_1_pmp_5_cfg_a(ptw_io_requestor_1_pmp_5_cfg_a),
+    .io_requestor_1_pmp_5_cfg_x(ptw_io_requestor_1_pmp_5_cfg_x),
+    .io_requestor_1_pmp_5_cfg_w(ptw_io_requestor_1_pmp_5_cfg_w),
+    .io_requestor_1_pmp_5_cfg_r(ptw_io_requestor_1_pmp_5_cfg_r),
+    .io_requestor_1_pmp_5_addr(ptw_io_requestor_1_pmp_5_addr),
+    .io_requestor_1_pmp_5_mask(ptw_io_requestor_1_pmp_5_mask),
+    .io_requestor_1_pmp_6_cfg_l(ptw_io_requestor_1_pmp_6_cfg_l),
+    .io_requestor_1_pmp_6_cfg_a(ptw_io_requestor_1_pmp_6_cfg_a),
+    .io_requestor_1_pmp_6_cfg_x(ptw_io_requestor_1_pmp_6_cfg_x),
+    .io_requestor_1_pmp_6_cfg_w(ptw_io_requestor_1_pmp_6_cfg_w),
+    .io_requestor_1_pmp_6_cfg_r(ptw_io_requestor_1_pmp_6_cfg_r),
+    .io_requestor_1_pmp_6_addr(ptw_io_requestor_1_pmp_6_addr),
+    .io_requestor_1_pmp_6_mask(ptw_io_requestor_1_pmp_6_mask),
+    .io_requestor_1_pmp_7_cfg_l(ptw_io_requestor_1_pmp_7_cfg_l),
+    .io_requestor_1_pmp_7_cfg_a(ptw_io_requestor_1_pmp_7_cfg_a),
+    .io_requestor_1_pmp_7_cfg_x(ptw_io_requestor_1_pmp_7_cfg_x),
+    .io_requestor_1_pmp_7_cfg_w(ptw_io_requestor_1_pmp_7_cfg_w),
+    .io_requestor_1_pmp_7_cfg_r(ptw_io_requestor_1_pmp_7_cfg_r),
+    .io_requestor_1_pmp_7_addr(ptw_io_requestor_1_pmp_7_addr),
+    .io_requestor_1_pmp_7_mask(ptw_io_requestor_1_pmp_7_mask),
+    .io_dpath_pmp_0_cfg_l(ptw_io_dpath_pmp_0_cfg_l),
+    .io_dpath_pmp_0_cfg_a(ptw_io_dpath_pmp_0_cfg_a),
+    .io_dpath_pmp_0_cfg_x(ptw_io_dpath_pmp_0_cfg_x),
+    .io_dpath_pmp_0_cfg_w(ptw_io_dpath_pmp_0_cfg_w),
+    .io_dpath_pmp_0_cfg_r(ptw_io_dpath_pmp_0_cfg_r),
+    .io_dpath_pmp_0_addr(ptw_io_dpath_pmp_0_addr),
+    .io_dpath_pmp_0_mask(ptw_io_dpath_pmp_0_mask),
+    .io_dpath_pmp_1_cfg_l(ptw_io_dpath_pmp_1_cfg_l),
+    .io_dpath_pmp_1_cfg_a(ptw_io_dpath_pmp_1_cfg_a),
+    .io_dpath_pmp_1_cfg_x(ptw_io_dpath_pmp_1_cfg_x),
+    .io_dpath_pmp_1_cfg_w(ptw_io_dpath_pmp_1_cfg_w),
+    .io_dpath_pmp_1_cfg_r(ptw_io_dpath_pmp_1_cfg_r),
+    .io_dpath_pmp_1_addr(ptw_io_dpath_pmp_1_addr),
+    .io_dpath_pmp_1_mask(ptw_io_dpath_pmp_1_mask),
+    .io_dpath_pmp_2_cfg_l(ptw_io_dpath_pmp_2_cfg_l),
+    .io_dpath_pmp_2_cfg_a(ptw_io_dpath_pmp_2_cfg_a),
+    .io_dpath_pmp_2_cfg_x(ptw_io_dpath_pmp_2_cfg_x),
+    .io_dpath_pmp_2_cfg_w(ptw_io_dpath_pmp_2_cfg_w),
+    .io_dpath_pmp_2_cfg_r(ptw_io_dpath_pmp_2_cfg_r),
+    .io_dpath_pmp_2_addr(ptw_io_dpath_pmp_2_addr),
+    .io_dpath_pmp_2_mask(ptw_io_dpath_pmp_2_mask),
+    .io_dpath_pmp_3_cfg_l(ptw_io_dpath_pmp_3_cfg_l),
+    .io_dpath_pmp_3_cfg_a(ptw_io_dpath_pmp_3_cfg_a),
+    .io_dpath_pmp_3_cfg_x(ptw_io_dpath_pmp_3_cfg_x),
+    .io_dpath_pmp_3_cfg_w(ptw_io_dpath_pmp_3_cfg_w),
+    .io_dpath_pmp_3_cfg_r(ptw_io_dpath_pmp_3_cfg_r),
+    .io_dpath_pmp_3_addr(ptw_io_dpath_pmp_3_addr),
+    .io_dpath_pmp_3_mask(ptw_io_dpath_pmp_3_mask),
+    .io_dpath_pmp_4_cfg_l(ptw_io_dpath_pmp_4_cfg_l),
+    .io_dpath_pmp_4_cfg_a(ptw_io_dpath_pmp_4_cfg_a),
+    .io_dpath_pmp_4_cfg_x(ptw_io_dpath_pmp_4_cfg_x),
+    .io_dpath_pmp_4_cfg_w(ptw_io_dpath_pmp_4_cfg_w),
+    .io_dpath_pmp_4_cfg_r(ptw_io_dpath_pmp_4_cfg_r),
+    .io_dpath_pmp_4_addr(ptw_io_dpath_pmp_4_addr),
+    .io_dpath_pmp_4_mask(ptw_io_dpath_pmp_4_mask),
+    .io_dpath_pmp_5_cfg_l(ptw_io_dpath_pmp_5_cfg_l),
+    .io_dpath_pmp_5_cfg_a(ptw_io_dpath_pmp_5_cfg_a),
+    .io_dpath_pmp_5_cfg_x(ptw_io_dpath_pmp_5_cfg_x),
+    .io_dpath_pmp_5_cfg_w(ptw_io_dpath_pmp_5_cfg_w),
+    .io_dpath_pmp_5_cfg_r(ptw_io_dpath_pmp_5_cfg_r),
+    .io_dpath_pmp_5_addr(ptw_io_dpath_pmp_5_addr),
+    .io_dpath_pmp_5_mask(ptw_io_dpath_pmp_5_mask),
+    .io_dpath_pmp_6_cfg_l(ptw_io_dpath_pmp_6_cfg_l),
+    .io_dpath_pmp_6_cfg_a(ptw_io_dpath_pmp_6_cfg_a),
+    .io_dpath_pmp_6_cfg_x(ptw_io_dpath_pmp_6_cfg_x),
+    .io_dpath_pmp_6_cfg_w(ptw_io_dpath_pmp_6_cfg_w),
+    .io_dpath_pmp_6_cfg_r(ptw_io_dpath_pmp_6_cfg_r),
+    .io_dpath_pmp_6_addr(ptw_io_dpath_pmp_6_addr),
+    .io_dpath_pmp_6_mask(ptw_io_dpath_pmp_6_mask),
+    .io_dpath_pmp_7_cfg_l(ptw_io_dpath_pmp_7_cfg_l),
+    .io_dpath_pmp_7_cfg_a(ptw_io_dpath_pmp_7_cfg_a),
+    .io_dpath_pmp_7_cfg_x(ptw_io_dpath_pmp_7_cfg_x),
+    .io_dpath_pmp_7_cfg_w(ptw_io_dpath_pmp_7_cfg_w),
+    .io_dpath_pmp_7_cfg_r(ptw_io_dpath_pmp_7_cfg_r),
+    .io_dpath_pmp_7_addr(ptw_io_dpath_pmp_7_addr),
+    .io_dpath_pmp_7_mask(ptw_io_dpath_pmp_7_mask)
+  );
+  Rocket core ( // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
+    .clock(core_clock),
+    .reset(core_reset),
+    .io_hartid(core_io_hartid),
+    .io_interrupts_debug(core_io_interrupts_debug),
+    .io_interrupts_mtip(core_io_interrupts_mtip),
+    .io_interrupts_msip(core_io_interrupts_msip),
+    .io_interrupts_meip(core_io_interrupts_meip),
+    .io_imem_might_request(core_io_imem_might_request),
+    .io_imem_req_valid(core_io_imem_req_valid),
+    .io_imem_req_bits_pc(core_io_imem_req_bits_pc),
+    .io_imem_req_bits_speculative(core_io_imem_req_bits_speculative),
+    .io_imem_sfence_valid(core_io_imem_sfence_valid),
+    .io_imem_resp_ready(core_io_imem_resp_ready),
+    .io_imem_resp_valid(core_io_imem_resp_valid),
+    .io_imem_resp_bits_btb_taken(core_io_imem_resp_bits_btb_taken),
+    .io_imem_resp_bits_btb_bridx(core_io_imem_resp_bits_btb_bridx),
+    .io_imem_resp_bits_btb_entry(core_io_imem_resp_bits_btb_entry),
+    .io_imem_resp_bits_btb_bht_history(core_io_imem_resp_bits_btb_bht_history),
+    .io_imem_resp_bits_pc(core_io_imem_resp_bits_pc),
+    .io_imem_resp_bits_data(core_io_imem_resp_bits_data),
+    .io_imem_resp_bits_xcpt_ae_inst(core_io_imem_resp_bits_xcpt_ae_inst),
+    .io_imem_resp_bits_replay(core_io_imem_resp_bits_replay),
+    .io_imem_btb_update_valid(core_io_imem_btb_update_valid),
+    .io_imem_btb_update_bits_prediction_entry(core_io_imem_btb_update_bits_prediction_entry),
+    .io_imem_btb_update_bits_pc(core_io_imem_btb_update_bits_pc),
+    .io_imem_btb_update_bits_isValid(core_io_imem_btb_update_bits_isValid),
+    .io_imem_btb_update_bits_br_pc(core_io_imem_btb_update_bits_br_pc),
+    .io_imem_btb_update_bits_cfiType(core_io_imem_btb_update_bits_cfiType),
+    .io_imem_bht_update_valid(core_io_imem_bht_update_valid),
+    .io_imem_bht_update_bits_prediction_history(core_io_imem_bht_update_bits_prediction_history),
+    .io_imem_bht_update_bits_pc(core_io_imem_bht_update_bits_pc),
+    .io_imem_bht_update_bits_branch(core_io_imem_bht_update_bits_branch),
+    .io_imem_bht_update_bits_taken(core_io_imem_bht_update_bits_taken),
+    .io_imem_bht_update_bits_mispredict(core_io_imem_bht_update_bits_mispredict),
+    .io_imem_flush_icache(core_io_imem_flush_icache),
+    .io_dmem_req_ready(core_io_dmem_req_ready),
+    .io_dmem_req_valid(core_io_dmem_req_valid),
+    .io_dmem_req_bits_addr(core_io_dmem_req_bits_addr),
+    .io_dmem_req_bits_tag(core_io_dmem_req_bits_tag),
+    .io_dmem_req_bits_cmd(core_io_dmem_req_bits_cmd),
+    .io_dmem_req_bits_typ(core_io_dmem_req_bits_typ),
+    .io_dmem_s1_kill(core_io_dmem_s1_kill),
+    .io_dmem_s1_data_data(core_io_dmem_s1_data_data),
+    .io_dmem_s2_nack(core_io_dmem_s2_nack),
+    .io_dmem_resp_valid(core_io_dmem_resp_valid),
+    .io_dmem_resp_bits_tag(core_io_dmem_resp_bits_tag),
+    .io_dmem_resp_bits_data(core_io_dmem_resp_bits_data),
+    .io_dmem_resp_bits_replay(core_io_dmem_resp_bits_replay),
+    .io_dmem_resp_bits_has_data(core_io_dmem_resp_bits_has_data),
+    .io_dmem_resp_bits_data_word_bypass(core_io_dmem_resp_bits_data_word_bypass),
+    .io_dmem_replay_next(core_io_dmem_replay_next),
+    .io_dmem_s2_xcpt_ma_ld(core_io_dmem_s2_xcpt_ma_ld),
+    .io_dmem_s2_xcpt_ma_st(core_io_dmem_s2_xcpt_ma_st),
+    .io_dmem_s2_xcpt_pf_ld(core_io_dmem_s2_xcpt_pf_ld),
+    .io_dmem_s2_xcpt_pf_st(core_io_dmem_s2_xcpt_pf_st),
+    .io_dmem_s2_xcpt_ae_ld(core_io_dmem_s2_xcpt_ae_ld),
+    .io_dmem_s2_xcpt_ae_st(core_io_dmem_s2_xcpt_ae_st),
+    .io_dmem_ordered(core_io_dmem_ordered),
+    .io_dmem_perf_grant(core_io_dmem_perf_grant),
+    .io_dmem_keep_clock_enabled(core_io_dmem_keep_clock_enabled),
+    .io_dmem_clock_enabled(core_io_dmem_clock_enabled),
+    .io_ptw_pmp_0_cfg_l(core_io_ptw_pmp_0_cfg_l),
+    .io_ptw_pmp_0_cfg_a(core_io_ptw_pmp_0_cfg_a),
+    .io_ptw_pmp_0_cfg_x(core_io_ptw_pmp_0_cfg_x),
+    .io_ptw_pmp_0_cfg_w(core_io_ptw_pmp_0_cfg_w),
+    .io_ptw_pmp_0_cfg_r(core_io_ptw_pmp_0_cfg_r),
+    .io_ptw_pmp_0_addr(core_io_ptw_pmp_0_addr),
+    .io_ptw_pmp_0_mask(core_io_ptw_pmp_0_mask),
+    .io_ptw_pmp_1_cfg_l(core_io_ptw_pmp_1_cfg_l),
+    .io_ptw_pmp_1_cfg_a(core_io_ptw_pmp_1_cfg_a),
+    .io_ptw_pmp_1_cfg_x(core_io_ptw_pmp_1_cfg_x),
+    .io_ptw_pmp_1_cfg_w(core_io_ptw_pmp_1_cfg_w),
+    .io_ptw_pmp_1_cfg_r(core_io_ptw_pmp_1_cfg_r),
+    .io_ptw_pmp_1_addr(core_io_ptw_pmp_1_addr),
+    .io_ptw_pmp_1_mask(core_io_ptw_pmp_1_mask),
+    .io_ptw_pmp_2_cfg_l(core_io_ptw_pmp_2_cfg_l),
+    .io_ptw_pmp_2_cfg_a(core_io_ptw_pmp_2_cfg_a),
+    .io_ptw_pmp_2_cfg_x(core_io_ptw_pmp_2_cfg_x),
+    .io_ptw_pmp_2_cfg_w(core_io_ptw_pmp_2_cfg_w),
+    .io_ptw_pmp_2_cfg_r(core_io_ptw_pmp_2_cfg_r),
+    .io_ptw_pmp_2_addr(core_io_ptw_pmp_2_addr),
+    .io_ptw_pmp_2_mask(core_io_ptw_pmp_2_mask),
+    .io_ptw_pmp_3_cfg_l(core_io_ptw_pmp_3_cfg_l),
+    .io_ptw_pmp_3_cfg_a(core_io_ptw_pmp_3_cfg_a),
+    .io_ptw_pmp_3_cfg_x(core_io_ptw_pmp_3_cfg_x),
+    .io_ptw_pmp_3_cfg_w(core_io_ptw_pmp_3_cfg_w),
+    .io_ptw_pmp_3_cfg_r(core_io_ptw_pmp_3_cfg_r),
+    .io_ptw_pmp_3_addr(core_io_ptw_pmp_3_addr),
+    .io_ptw_pmp_3_mask(core_io_ptw_pmp_3_mask),
+    .io_ptw_pmp_4_cfg_l(core_io_ptw_pmp_4_cfg_l),
+    .io_ptw_pmp_4_cfg_a(core_io_ptw_pmp_4_cfg_a),
+    .io_ptw_pmp_4_cfg_x(core_io_ptw_pmp_4_cfg_x),
+    .io_ptw_pmp_4_cfg_w(core_io_ptw_pmp_4_cfg_w),
+    .io_ptw_pmp_4_cfg_r(core_io_ptw_pmp_4_cfg_r),
+    .io_ptw_pmp_4_addr(core_io_ptw_pmp_4_addr),
+    .io_ptw_pmp_4_mask(core_io_ptw_pmp_4_mask),
+    .io_ptw_pmp_5_cfg_l(core_io_ptw_pmp_5_cfg_l),
+    .io_ptw_pmp_5_cfg_a(core_io_ptw_pmp_5_cfg_a),
+    .io_ptw_pmp_5_cfg_x(core_io_ptw_pmp_5_cfg_x),
+    .io_ptw_pmp_5_cfg_w(core_io_ptw_pmp_5_cfg_w),
+    .io_ptw_pmp_5_cfg_r(core_io_ptw_pmp_5_cfg_r),
+    .io_ptw_pmp_5_addr(core_io_ptw_pmp_5_addr),
+    .io_ptw_pmp_5_mask(core_io_ptw_pmp_5_mask),
+    .io_ptw_pmp_6_cfg_l(core_io_ptw_pmp_6_cfg_l),
+    .io_ptw_pmp_6_cfg_a(core_io_ptw_pmp_6_cfg_a),
+    .io_ptw_pmp_6_cfg_x(core_io_ptw_pmp_6_cfg_x),
+    .io_ptw_pmp_6_cfg_w(core_io_ptw_pmp_6_cfg_w),
+    .io_ptw_pmp_6_cfg_r(core_io_ptw_pmp_6_cfg_r),
+    .io_ptw_pmp_6_addr(core_io_ptw_pmp_6_addr),
+    .io_ptw_pmp_6_mask(core_io_ptw_pmp_6_mask),
+    .io_ptw_pmp_7_cfg_l(core_io_ptw_pmp_7_cfg_l),
+    .io_ptw_pmp_7_cfg_a(core_io_ptw_pmp_7_cfg_a),
+    .io_ptw_pmp_7_cfg_x(core_io_ptw_pmp_7_cfg_x),
+    .io_ptw_pmp_7_cfg_w(core_io_ptw_pmp_7_cfg_w),
+    .io_ptw_pmp_7_cfg_r(core_io_ptw_pmp_7_cfg_r),
+    .io_ptw_pmp_7_addr(core_io_ptw_pmp_7_addr),
+    .io_ptw_pmp_7_mask(core_io_ptw_pmp_7_mask),
+    .io_ptw_customCSRs_csrs_0_value(core_io_ptw_customCSRs_csrs_0_value)
+  );
+  assign auto_tl_slave_xing_in_a_ready = buffer_1_auto_in_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222193.4]
+  assign auto_tl_slave_xing_in_d_valid = buffer_1_auto_in_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222193.4]
+  assign auto_tl_slave_xing_in_d_bits_opcode = buffer_1_auto_in_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222193.4]
+  assign auto_tl_slave_xing_in_d_bits_param = buffer_1_auto_in_d_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222193.4]
+  assign auto_tl_slave_xing_in_d_bits_size = buffer_1_auto_in_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222193.4]
+  assign auto_tl_slave_xing_in_d_bits_source = buffer_1_auto_in_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222193.4]
+  assign auto_tl_slave_xing_in_d_bits_sink = buffer_1_auto_in_d_bits_sink; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222193.4]
+  assign auto_tl_slave_xing_in_d_bits_denied = buffer_1_auto_in_d_bits_denied; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222193.4]
+  assign auto_tl_slave_xing_in_d_bits_data = buffer_1_auto_in_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222193.4]
+  assign auto_tl_slave_xing_in_d_bits_corrupt = buffer_1_auto_in_d_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222193.4]
+  assign auto_tl_master_xing_out_a_valid = buffer_auto_out_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@222192.4]
+  assign auto_tl_master_xing_out_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@222192.4]
+  assign auto_tl_master_xing_out_a_bits_param = buffer_auto_out_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@222192.4]
+  assign auto_tl_master_xing_out_a_bits_size = buffer_auto_out_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@222192.4]
+  assign auto_tl_master_xing_out_a_bits_source = buffer_auto_out_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@222192.4]
+  assign auto_tl_master_xing_out_a_bits_address = buffer_auto_out_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@222192.4]
+  assign auto_tl_master_xing_out_a_bits_mask = buffer_auto_out_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@222192.4]
+  assign auto_tl_master_xing_out_a_bits_data = buffer_auto_out_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@222192.4]
+  assign auto_tl_master_xing_out_a_bits_corrupt = buffer_auto_out_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@222192.4]
+  assign auto_tl_master_xing_out_d_ready = buffer_auto_out_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@222192.4]
+  assign tlMasterXbar_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222035.4]
+  assign tlMasterXbar_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222036.4]
+  assign tlMasterXbar_auto_in_1_a_valid = frontend_auto_icache_master_out_a_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222179.4]
+  assign tlMasterXbar_auto_in_1_a_bits_address = frontend_auto_icache_master_out_a_bits_address; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222179.4]
+  assign tlMasterXbar_auto_in_1_d_ready = frontend_auto_icache_master_out_d_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222179.4]
+  assign tlMasterXbar_auto_in_0_a_valid = dcache_auto_out_a_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222178.4]
+  assign tlMasterXbar_auto_in_0_a_bits_opcode = dcache_auto_out_a_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222178.4]
+  assign tlMasterXbar_auto_in_0_a_bits_param = dcache_auto_out_a_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222178.4]
+  assign tlMasterXbar_auto_in_0_a_bits_size = dcache_auto_out_a_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222178.4]
+  assign tlMasterXbar_auto_in_0_a_bits_address = dcache_auto_out_a_bits_address; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222178.4]
+  assign tlMasterXbar_auto_in_0_a_bits_mask = dcache_auto_out_a_bits_mask; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222178.4]
+  assign tlMasterXbar_auto_in_0_a_bits_data = dcache_auto_out_a_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222178.4]
+  assign tlMasterXbar_auto_in_0_c_valid = dcache_auto_out_c_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222178.4]
+  assign tlMasterXbar_auto_in_0_d_ready = dcache_auto_out_d_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222178.4]
+  assign tlMasterXbar_auto_in_0_e_valid = dcache_auto_out_e_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222178.4]
+  assign tlMasterXbar_auto_out_a_ready = buffer_auto_in_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222171.4]
+  assign tlMasterXbar_auto_out_d_valid = buffer_auto_in_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222171.4]
+  assign tlMasterXbar_auto_out_d_bits_opcode = buffer_auto_in_d_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222171.4]
+  assign tlMasterXbar_auto_out_d_bits_param = buffer_auto_in_d_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222171.4]
+  assign tlMasterXbar_auto_out_d_bits_size = buffer_auto_in_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222171.4]
+  assign tlMasterXbar_auto_out_d_bits_source = buffer_auto_in_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222171.4]
+  assign tlMasterXbar_auto_out_d_bits_sink = buffer_auto_in_d_bits_sink; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222171.4]
+  assign tlMasterXbar_auto_out_d_bits_denied = buffer_auto_in_d_bits_denied; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222171.4]
+  assign tlMasterXbar_auto_out_d_bits_data = buffer_auto_in_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222171.4]
+  assign tlMasterXbar_auto_out_d_bits_corrupt = buffer_auto_in_d_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222171.4]
+  assign tlSlaveXbar_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222041.4]
+  assign tlSlaveXbar_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222042.4]
+  assign tlSlaveXbar_auto_in_a_valid = buffer_1_auto_out_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222181.4]
+  assign tlSlaveXbar_auto_in_a_bits_opcode = buffer_1_auto_out_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222181.4]
+  assign tlSlaveXbar_auto_in_a_bits_param = buffer_1_auto_out_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222181.4]
+  assign tlSlaveXbar_auto_in_a_bits_size = buffer_1_auto_out_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222181.4]
+  assign tlSlaveXbar_auto_in_a_bits_source = buffer_1_auto_out_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222181.4]
+  assign tlSlaveXbar_auto_in_a_bits_address = buffer_1_auto_out_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222181.4]
+  assign tlSlaveXbar_auto_in_a_bits_mask = buffer_1_auto_out_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222181.4]
+  assign tlSlaveXbar_auto_in_a_bits_data = buffer_1_auto_out_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222181.4]
+  assign tlSlaveXbar_auto_in_a_bits_corrupt = buffer_1_auto_out_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222181.4]
+  assign tlSlaveXbar_auto_in_d_ready = buffer_1_auto_out_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222181.4]
+  assign tlSlaveXbar_auto_out_1_a_ready = fragmenter_1_auto_in_a_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222173.4]
+  assign tlSlaveXbar_auto_out_1_d_valid = fragmenter_1_auto_in_d_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222173.4]
+  assign tlSlaveXbar_auto_out_1_d_bits_opcode = fragmenter_1_auto_in_d_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222173.4]
+  assign tlSlaveXbar_auto_out_1_d_bits_size = fragmenter_1_auto_in_d_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222173.4]
+  assign tlSlaveXbar_auto_out_1_d_bits_source = fragmenter_1_auto_in_d_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222173.4]
+  assign tlSlaveXbar_auto_out_1_d_bits_data = fragmenter_1_auto_in_d_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222173.4]
+  assign tlSlaveXbar_auto_out_0_a_ready = fragmenter_auto_in_a_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222172.4]
+  assign tlSlaveXbar_auto_out_0_d_valid = fragmenter_auto_in_d_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222172.4]
+  assign tlSlaveXbar_auto_out_0_d_bits_opcode = fragmenter_auto_in_d_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222172.4]
+  assign tlSlaveXbar_auto_out_0_d_bits_size = fragmenter_auto_in_d_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222172.4]
+  assign tlSlaveXbar_auto_out_0_d_bits_source = fragmenter_auto_in_d_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222172.4]
+  assign tlSlaveXbar_auto_out_0_d_bits_data = fragmenter_auto_in_d_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222172.4]
+  assign intXbar_auto_int_in_2_0 = intsink_2_auto_out_0; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222177.4]
+  assign intXbar_auto_int_in_1_0 = intsink_1_auto_out_0; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222176.4]
+  assign intXbar_auto_int_in_1_1 = intsink_1_auto_out_1; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222176.4]
+  assign intXbar_auto_int_in_0_0 = intsink_auto_out_0; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222175.4]
+  assign dcache_gated_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222054.4]
+  assign dcache_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222055.4]
+  assign dcache_auto_out_a_ready = tlMasterXbar_auto_in_0_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222178.4]
+  assign dcache_auto_out_d_valid = tlMasterXbar_auto_in_0_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222178.4]
+  assign dcache_auto_out_d_bits_opcode = tlMasterXbar_auto_in_0_d_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222178.4]
+  assign dcache_auto_out_d_bits_size = tlMasterXbar_auto_in_0_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222178.4]
+  assign dcache_auto_out_d_bits_denied = tlMasterXbar_auto_in_0_d_bits_denied; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222178.4]
+  assign dcache_auto_out_d_bits_data = tlMasterXbar_auto_in_0_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222178.4]
+  assign dcache_io_cpu_req_valid = dcacheArb_io_mem_req_valid; // @[HellaCache.scala 228:30:shc.marmotcaravel.MarmotCaravelConfig.fir@222201.4]
+  assign dcache_io_cpu_req_bits_addr = dcacheArb_io_mem_req_bits_addr; // @[HellaCache.scala 228:30:shc.marmotcaravel.MarmotCaravelConfig.fir@222201.4]
+  assign dcache_io_cpu_req_bits_tag = dcacheArb_io_mem_req_bits_tag; // @[HellaCache.scala 228:30:shc.marmotcaravel.MarmotCaravelConfig.fir@222201.4]
+  assign dcache_io_cpu_req_bits_cmd = dcacheArb_io_mem_req_bits_cmd; // @[HellaCache.scala 228:30:shc.marmotcaravel.MarmotCaravelConfig.fir@222201.4]
+  assign dcache_io_cpu_req_bits_typ = dcacheArb_io_mem_req_bits_typ; // @[HellaCache.scala 228:30:shc.marmotcaravel.MarmotCaravelConfig.fir@222201.4]
+  assign dcache_io_cpu_req_bits_phys = dcacheArb_io_mem_req_bits_phys; // @[HellaCache.scala 228:30:shc.marmotcaravel.MarmotCaravelConfig.fir@222201.4]
+  assign dcache_io_cpu_s1_kill = dcacheArb_io_mem_s1_kill; // @[HellaCache.scala 228:30:shc.marmotcaravel.MarmotCaravelConfig.fir@222201.4]
+  assign dcache_io_cpu_s1_data_data = dcacheArb_io_mem_s1_data_data; // @[HellaCache.scala 228:30:shc.marmotcaravel.MarmotCaravelConfig.fir@222201.4]
+  assign dcache_io_cpu_s1_data_mask = dcacheArb_io_mem_s1_data_mask; // @[HellaCache.scala 228:30:shc.marmotcaravel.MarmotCaravelConfig.fir@222201.4]
+  assign dcache_io_cpu_keep_clock_enabled = dcacheArb_io_mem_keep_clock_enabled; // @[HellaCache.scala 228:30:shc.marmotcaravel.MarmotCaravelConfig.fir@222201.4]
+  assign dcache_io_ptw_pmp_0_cfg_l = ptw_io_requestor_0_pmp_0_cfg_l; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222227.4]
+  assign dcache_io_ptw_pmp_0_cfg_a = ptw_io_requestor_0_pmp_0_cfg_a; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222227.4]
+  assign dcache_io_ptw_pmp_0_cfg_x = ptw_io_requestor_0_pmp_0_cfg_x; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222227.4]
+  assign dcache_io_ptw_pmp_0_cfg_w = ptw_io_requestor_0_pmp_0_cfg_w; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222227.4]
+  assign dcache_io_ptw_pmp_0_cfg_r = ptw_io_requestor_0_pmp_0_cfg_r; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222227.4]
+  assign dcache_io_ptw_pmp_0_addr = ptw_io_requestor_0_pmp_0_addr; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222227.4]
+  assign dcache_io_ptw_pmp_0_mask = ptw_io_requestor_0_pmp_0_mask; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222227.4]
+  assign dcache_io_ptw_pmp_1_cfg_l = ptw_io_requestor_0_pmp_1_cfg_l; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222227.4]
+  assign dcache_io_ptw_pmp_1_cfg_a = ptw_io_requestor_0_pmp_1_cfg_a; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222227.4]
+  assign dcache_io_ptw_pmp_1_cfg_x = ptw_io_requestor_0_pmp_1_cfg_x; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222227.4]
+  assign dcache_io_ptw_pmp_1_cfg_w = ptw_io_requestor_0_pmp_1_cfg_w; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222227.4]
+  assign dcache_io_ptw_pmp_1_cfg_r = ptw_io_requestor_0_pmp_1_cfg_r; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222227.4]
+  assign dcache_io_ptw_pmp_1_addr = ptw_io_requestor_0_pmp_1_addr; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222227.4]
+  assign dcache_io_ptw_pmp_1_mask = ptw_io_requestor_0_pmp_1_mask; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222227.4]
+  assign dcache_io_ptw_pmp_2_cfg_l = ptw_io_requestor_0_pmp_2_cfg_l; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222227.4]
+  assign dcache_io_ptw_pmp_2_cfg_a = ptw_io_requestor_0_pmp_2_cfg_a; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222227.4]
+  assign dcache_io_ptw_pmp_2_cfg_x = ptw_io_requestor_0_pmp_2_cfg_x; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222227.4]
+  assign dcache_io_ptw_pmp_2_cfg_w = ptw_io_requestor_0_pmp_2_cfg_w; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222227.4]
+  assign dcache_io_ptw_pmp_2_cfg_r = ptw_io_requestor_0_pmp_2_cfg_r; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222227.4]
+  assign dcache_io_ptw_pmp_2_addr = ptw_io_requestor_0_pmp_2_addr; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222227.4]
+  assign dcache_io_ptw_pmp_2_mask = ptw_io_requestor_0_pmp_2_mask; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222227.4]
+  assign dcache_io_ptw_pmp_3_cfg_l = ptw_io_requestor_0_pmp_3_cfg_l; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222227.4]
+  assign dcache_io_ptw_pmp_3_cfg_a = ptw_io_requestor_0_pmp_3_cfg_a; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222227.4]
+  assign dcache_io_ptw_pmp_3_cfg_x = ptw_io_requestor_0_pmp_3_cfg_x; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222227.4]
+  assign dcache_io_ptw_pmp_3_cfg_w = ptw_io_requestor_0_pmp_3_cfg_w; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222227.4]
+  assign dcache_io_ptw_pmp_3_cfg_r = ptw_io_requestor_0_pmp_3_cfg_r; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222227.4]
+  assign dcache_io_ptw_pmp_3_addr = ptw_io_requestor_0_pmp_3_addr; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222227.4]
+  assign dcache_io_ptw_pmp_3_mask = ptw_io_requestor_0_pmp_3_mask; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222227.4]
+  assign dcache_io_ptw_pmp_4_cfg_l = ptw_io_requestor_0_pmp_4_cfg_l; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222227.4]
+  assign dcache_io_ptw_pmp_4_cfg_a = ptw_io_requestor_0_pmp_4_cfg_a; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222227.4]
+  assign dcache_io_ptw_pmp_4_cfg_x = ptw_io_requestor_0_pmp_4_cfg_x; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222227.4]
+  assign dcache_io_ptw_pmp_4_cfg_w = ptw_io_requestor_0_pmp_4_cfg_w; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222227.4]
+  assign dcache_io_ptw_pmp_4_cfg_r = ptw_io_requestor_0_pmp_4_cfg_r; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222227.4]
+  assign dcache_io_ptw_pmp_4_addr = ptw_io_requestor_0_pmp_4_addr; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222227.4]
+  assign dcache_io_ptw_pmp_4_mask = ptw_io_requestor_0_pmp_4_mask; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222227.4]
+  assign dcache_io_ptw_pmp_5_cfg_l = ptw_io_requestor_0_pmp_5_cfg_l; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222227.4]
+  assign dcache_io_ptw_pmp_5_cfg_a = ptw_io_requestor_0_pmp_5_cfg_a; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222227.4]
+  assign dcache_io_ptw_pmp_5_cfg_x = ptw_io_requestor_0_pmp_5_cfg_x; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222227.4]
+  assign dcache_io_ptw_pmp_5_cfg_w = ptw_io_requestor_0_pmp_5_cfg_w; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222227.4]
+  assign dcache_io_ptw_pmp_5_cfg_r = ptw_io_requestor_0_pmp_5_cfg_r; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222227.4]
+  assign dcache_io_ptw_pmp_5_addr = ptw_io_requestor_0_pmp_5_addr; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222227.4]
+  assign dcache_io_ptw_pmp_5_mask = ptw_io_requestor_0_pmp_5_mask; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222227.4]
+  assign dcache_io_ptw_pmp_6_cfg_l = ptw_io_requestor_0_pmp_6_cfg_l; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222227.4]
+  assign dcache_io_ptw_pmp_6_cfg_a = ptw_io_requestor_0_pmp_6_cfg_a; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222227.4]
+  assign dcache_io_ptw_pmp_6_cfg_x = ptw_io_requestor_0_pmp_6_cfg_x; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222227.4]
+  assign dcache_io_ptw_pmp_6_cfg_w = ptw_io_requestor_0_pmp_6_cfg_w; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222227.4]
+  assign dcache_io_ptw_pmp_6_cfg_r = ptw_io_requestor_0_pmp_6_cfg_r; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222227.4]
+  assign dcache_io_ptw_pmp_6_addr = ptw_io_requestor_0_pmp_6_addr; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222227.4]
+  assign dcache_io_ptw_pmp_6_mask = ptw_io_requestor_0_pmp_6_mask; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222227.4]
+  assign dcache_io_ptw_pmp_7_cfg_l = ptw_io_requestor_0_pmp_7_cfg_l; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222227.4]
+  assign dcache_io_ptw_pmp_7_cfg_a = ptw_io_requestor_0_pmp_7_cfg_a; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222227.4]
+  assign dcache_io_ptw_pmp_7_cfg_x = ptw_io_requestor_0_pmp_7_cfg_x; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222227.4]
+  assign dcache_io_ptw_pmp_7_cfg_w = ptw_io_requestor_0_pmp_7_cfg_w; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222227.4]
+  assign dcache_io_ptw_pmp_7_cfg_r = ptw_io_requestor_0_pmp_7_cfg_r; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222227.4]
+  assign dcache_io_ptw_pmp_7_addr = ptw_io_requestor_0_pmp_7_addr; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222227.4]
+  assign dcache_io_ptw_pmp_7_mask = ptw_io_requestor_0_pmp_7_mask; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222227.4]
+  assign frontend_gated_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222061.4]
+  assign frontend_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222062.4]
+  assign frontend_auto_icache_slave_in_a_valid = fragmenter_auto_out_a_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222180.4]
+  assign frontend_auto_icache_slave_in_a_bits_opcode = fragmenter_auto_out_a_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222180.4]
+  assign frontend_auto_icache_slave_in_a_bits_size = fragmenter_auto_out_a_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222180.4]
+  assign frontend_auto_icache_slave_in_a_bits_source = fragmenter_auto_out_a_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222180.4]
+  assign frontend_auto_icache_slave_in_a_bits_address = fragmenter_auto_out_a_bits_address; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222180.4]
+  assign frontend_auto_icache_slave_in_a_bits_mask = fragmenter_auto_out_a_bits_mask; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222180.4]
+  assign frontend_auto_icache_slave_in_a_bits_data = fragmenter_auto_out_a_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222180.4]
+  assign frontend_auto_icache_slave_in_d_ready = fragmenter_auto_out_d_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222180.4]
+  assign frontend_auto_icache_master_out_a_ready = tlMasterXbar_auto_in_1_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222179.4]
+  assign frontend_auto_icache_master_out_d_valid = tlMasterXbar_auto_in_1_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222179.4]
+  assign frontend_auto_icache_master_out_d_bits_opcode = tlMasterXbar_auto_in_1_d_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222179.4]
+  assign frontend_auto_icache_master_out_d_bits_size = tlMasterXbar_auto_in_1_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222179.4]
+  assign frontend_auto_icache_master_out_d_bits_data = tlMasterXbar_auto_in_1_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222179.4]
+  assign frontend_auto_icache_master_out_d_bits_corrupt = tlMasterXbar_auto_in_1_d_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222179.4]
+  assign frontend_io_reset_vector = constants_reset_vector; // @[RocketTile.scala 131:41:shc.marmotcaravel.MarmotCaravelConfig.fir@222217.4]
+  assign frontend_io_cpu_might_request = core_io_imem_might_request; // @[RocketTile.scala 130:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222216.4]
+  assign frontend_io_cpu_req_valid = core_io_imem_req_valid; // @[RocketTile.scala 130:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222216.4]
+  assign frontend_io_cpu_req_bits_pc = core_io_imem_req_bits_pc; // @[RocketTile.scala 130:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222216.4]
+  assign frontend_io_cpu_req_bits_speculative = core_io_imem_req_bits_speculative; // @[RocketTile.scala 130:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222216.4]
+  assign frontend_io_cpu_sfence_valid = core_io_imem_sfence_valid; // @[RocketTile.scala 130:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222216.4]
+  assign frontend_io_cpu_resp_ready = core_io_imem_resp_ready; // @[RocketTile.scala 130:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222216.4]
+  assign frontend_io_cpu_btb_update_valid = core_io_imem_btb_update_valid; // @[RocketTile.scala 130:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222216.4]
+  assign frontend_io_cpu_btb_update_bits_prediction_entry = core_io_imem_btb_update_bits_prediction_entry; // @[RocketTile.scala 130:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222216.4]
+  assign frontend_io_cpu_btb_update_bits_pc = core_io_imem_btb_update_bits_pc; // @[RocketTile.scala 130:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222216.4]
+  assign frontend_io_cpu_btb_update_bits_isValid = core_io_imem_btb_update_bits_isValid; // @[RocketTile.scala 130:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222216.4]
+  assign frontend_io_cpu_btb_update_bits_br_pc = core_io_imem_btb_update_bits_br_pc; // @[RocketTile.scala 130:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222216.4]
+  assign frontend_io_cpu_btb_update_bits_cfiType = core_io_imem_btb_update_bits_cfiType; // @[RocketTile.scala 130:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222216.4]
+  assign frontend_io_cpu_bht_update_valid = core_io_imem_bht_update_valid; // @[RocketTile.scala 130:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222216.4]
+  assign frontend_io_cpu_bht_update_bits_prediction_history = core_io_imem_bht_update_bits_prediction_history; // @[RocketTile.scala 130:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222216.4]
+  assign frontend_io_cpu_bht_update_bits_pc = core_io_imem_bht_update_bits_pc; // @[RocketTile.scala 130:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222216.4]
+  assign frontend_io_cpu_bht_update_bits_branch = core_io_imem_bht_update_bits_branch; // @[RocketTile.scala 130:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222216.4]
+  assign frontend_io_cpu_bht_update_bits_taken = core_io_imem_bht_update_bits_taken; // @[RocketTile.scala 130:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222216.4]
+  assign frontend_io_cpu_bht_update_bits_mispredict = core_io_imem_bht_update_bits_mispredict; // @[RocketTile.scala 130:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222216.4]
+  assign frontend_io_cpu_flush_icache = core_io_imem_flush_icache; // @[RocketTile.scala 130:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222216.4]
+  assign frontend_io_ptw_pmp_0_cfg_l = ptw_io_requestor_1_pmp_0_cfg_l; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222228.4]
+  assign frontend_io_ptw_pmp_0_cfg_a = ptw_io_requestor_1_pmp_0_cfg_a; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222228.4]
+  assign frontend_io_ptw_pmp_0_cfg_x = ptw_io_requestor_1_pmp_0_cfg_x; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222228.4]
+  assign frontend_io_ptw_pmp_0_cfg_w = ptw_io_requestor_1_pmp_0_cfg_w; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222228.4]
+  assign frontend_io_ptw_pmp_0_cfg_r = ptw_io_requestor_1_pmp_0_cfg_r; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222228.4]
+  assign frontend_io_ptw_pmp_0_addr = ptw_io_requestor_1_pmp_0_addr; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222228.4]
+  assign frontend_io_ptw_pmp_0_mask = ptw_io_requestor_1_pmp_0_mask; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222228.4]
+  assign frontend_io_ptw_pmp_1_cfg_l = ptw_io_requestor_1_pmp_1_cfg_l; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222228.4]
+  assign frontend_io_ptw_pmp_1_cfg_a = ptw_io_requestor_1_pmp_1_cfg_a; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222228.4]
+  assign frontend_io_ptw_pmp_1_cfg_x = ptw_io_requestor_1_pmp_1_cfg_x; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222228.4]
+  assign frontend_io_ptw_pmp_1_cfg_w = ptw_io_requestor_1_pmp_1_cfg_w; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222228.4]
+  assign frontend_io_ptw_pmp_1_cfg_r = ptw_io_requestor_1_pmp_1_cfg_r; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222228.4]
+  assign frontend_io_ptw_pmp_1_addr = ptw_io_requestor_1_pmp_1_addr; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222228.4]
+  assign frontend_io_ptw_pmp_1_mask = ptw_io_requestor_1_pmp_1_mask; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222228.4]
+  assign frontend_io_ptw_pmp_2_cfg_l = ptw_io_requestor_1_pmp_2_cfg_l; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222228.4]
+  assign frontend_io_ptw_pmp_2_cfg_a = ptw_io_requestor_1_pmp_2_cfg_a; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222228.4]
+  assign frontend_io_ptw_pmp_2_cfg_x = ptw_io_requestor_1_pmp_2_cfg_x; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222228.4]
+  assign frontend_io_ptw_pmp_2_cfg_w = ptw_io_requestor_1_pmp_2_cfg_w; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222228.4]
+  assign frontend_io_ptw_pmp_2_cfg_r = ptw_io_requestor_1_pmp_2_cfg_r; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222228.4]
+  assign frontend_io_ptw_pmp_2_addr = ptw_io_requestor_1_pmp_2_addr; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222228.4]
+  assign frontend_io_ptw_pmp_2_mask = ptw_io_requestor_1_pmp_2_mask; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222228.4]
+  assign frontend_io_ptw_pmp_3_cfg_l = ptw_io_requestor_1_pmp_3_cfg_l; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222228.4]
+  assign frontend_io_ptw_pmp_3_cfg_a = ptw_io_requestor_1_pmp_3_cfg_a; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222228.4]
+  assign frontend_io_ptw_pmp_3_cfg_x = ptw_io_requestor_1_pmp_3_cfg_x; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222228.4]
+  assign frontend_io_ptw_pmp_3_cfg_w = ptw_io_requestor_1_pmp_3_cfg_w; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222228.4]
+  assign frontend_io_ptw_pmp_3_cfg_r = ptw_io_requestor_1_pmp_3_cfg_r; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222228.4]
+  assign frontend_io_ptw_pmp_3_addr = ptw_io_requestor_1_pmp_3_addr; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222228.4]
+  assign frontend_io_ptw_pmp_3_mask = ptw_io_requestor_1_pmp_3_mask; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222228.4]
+  assign frontend_io_ptw_pmp_4_cfg_l = ptw_io_requestor_1_pmp_4_cfg_l; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222228.4]
+  assign frontend_io_ptw_pmp_4_cfg_a = ptw_io_requestor_1_pmp_4_cfg_a; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222228.4]
+  assign frontend_io_ptw_pmp_4_cfg_x = ptw_io_requestor_1_pmp_4_cfg_x; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222228.4]
+  assign frontend_io_ptw_pmp_4_cfg_w = ptw_io_requestor_1_pmp_4_cfg_w; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222228.4]
+  assign frontend_io_ptw_pmp_4_cfg_r = ptw_io_requestor_1_pmp_4_cfg_r; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222228.4]
+  assign frontend_io_ptw_pmp_4_addr = ptw_io_requestor_1_pmp_4_addr; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222228.4]
+  assign frontend_io_ptw_pmp_4_mask = ptw_io_requestor_1_pmp_4_mask; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222228.4]
+  assign frontend_io_ptw_pmp_5_cfg_l = ptw_io_requestor_1_pmp_5_cfg_l; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222228.4]
+  assign frontend_io_ptw_pmp_5_cfg_a = ptw_io_requestor_1_pmp_5_cfg_a; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222228.4]
+  assign frontend_io_ptw_pmp_5_cfg_x = ptw_io_requestor_1_pmp_5_cfg_x; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222228.4]
+  assign frontend_io_ptw_pmp_5_cfg_w = ptw_io_requestor_1_pmp_5_cfg_w; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222228.4]
+  assign frontend_io_ptw_pmp_5_cfg_r = ptw_io_requestor_1_pmp_5_cfg_r; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222228.4]
+  assign frontend_io_ptw_pmp_5_addr = ptw_io_requestor_1_pmp_5_addr; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222228.4]
+  assign frontend_io_ptw_pmp_5_mask = ptw_io_requestor_1_pmp_5_mask; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222228.4]
+  assign frontend_io_ptw_pmp_6_cfg_l = ptw_io_requestor_1_pmp_6_cfg_l; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222228.4]
+  assign frontend_io_ptw_pmp_6_cfg_a = ptw_io_requestor_1_pmp_6_cfg_a; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222228.4]
+  assign frontend_io_ptw_pmp_6_cfg_x = ptw_io_requestor_1_pmp_6_cfg_x; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222228.4]
+  assign frontend_io_ptw_pmp_6_cfg_w = ptw_io_requestor_1_pmp_6_cfg_w; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222228.4]
+  assign frontend_io_ptw_pmp_6_cfg_r = ptw_io_requestor_1_pmp_6_cfg_r; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222228.4]
+  assign frontend_io_ptw_pmp_6_addr = ptw_io_requestor_1_pmp_6_addr; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222228.4]
+  assign frontend_io_ptw_pmp_6_mask = ptw_io_requestor_1_pmp_6_mask; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222228.4]
+  assign frontend_io_ptw_pmp_7_cfg_l = ptw_io_requestor_1_pmp_7_cfg_l; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222228.4]
+  assign frontend_io_ptw_pmp_7_cfg_a = ptw_io_requestor_1_pmp_7_cfg_a; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222228.4]
+  assign frontend_io_ptw_pmp_7_cfg_x = ptw_io_requestor_1_pmp_7_cfg_x; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222228.4]
+  assign frontend_io_ptw_pmp_7_cfg_w = ptw_io_requestor_1_pmp_7_cfg_w; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222228.4]
+  assign frontend_io_ptw_pmp_7_cfg_r = ptw_io_requestor_1_pmp_7_cfg_r; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222228.4]
+  assign frontend_io_ptw_pmp_7_addr = ptw_io_requestor_1_pmp_7_addr; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222228.4]
+  assign frontend_io_ptw_pmp_7_mask = ptw_io_requestor_1_pmp_7_mask; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222228.4]
+  assign fragmenter_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222067.4]
+  assign fragmenter_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222068.4]
+  assign fragmenter_auto_in_a_valid = tlSlaveXbar_auto_out_0_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222172.4]
+  assign fragmenter_auto_in_a_bits_opcode = tlSlaveXbar_auto_out_0_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222172.4]
+  assign fragmenter_auto_in_a_bits_param = tlSlaveXbar_auto_out_0_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222172.4]
+  assign fragmenter_auto_in_a_bits_size = tlSlaveXbar_auto_out_0_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222172.4]
+  assign fragmenter_auto_in_a_bits_source = tlSlaveXbar_auto_out_0_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222172.4]
+  assign fragmenter_auto_in_a_bits_address = tlSlaveXbar_auto_out_0_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222172.4]
+  assign fragmenter_auto_in_a_bits_mask = tlSlaveXbar_auto_out_0_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222172.4]
+  assign fragmenter_auto_in_a_bits_data = tlSlaveXbar_auto_out_0_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222172.4]
+  assign fragmenter_auto_in_a_bits_corrupt = tlSlaveXbar_auto_out_0_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222172.4]
+  assign fragmenter_auto_in_d_ready = tlSlaveXbar_auto_out_0_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222172.4]
+  assign fragmenter_auto_out_a_ready = frontend_auto_icache_slave_in_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222180.4]
+  assign fragmenter_auto_out_d_valid = frontend_auto_icache_slave_in_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222180.4]
+  assign fragmenter_auto_out_d_bits_opcode = frontend_auto_icache_slave_in_d_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222180.4]
+  assign fragmenter_auto_out_d_bits_size = frontend_auto_icache_slave_in_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222180.4]
+  assign fragmenter_auto_out_d_bits_source = frontend_auto_icache_slave_in_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222180.4]
+  assign fragmenter_auto_out_d_bits_data = frontend_auto_icache_slave_in_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222180.4]
+  assign dtim_adapter_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222074.4]
+  assign dtim_adapter_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222075.4]
+  assign dtim_adapter_auto_in_a_valid = fragmenter_1_auto_out_a_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222183.4]
+  assign dtim_adapter_auto_in_a_bits_opcode = fragmenter_1_auto_out_a_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222183.4]
+  assign dtim_adapter_auto_in_a_bits_param = fragmenter_1_auto_out_a_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222183.4]
+  assign dtim_adapter_auto_in_a_bits_size = fragmenter_1_auto_out_a_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222183.4]
+  assign dtim_adapter_auto_in_a_bits_source = fragmenter_1_auto_out_a_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222183.4]
+  assign dtim_adapter_auto_in_a_bits_address = fragmenter_1_auto_out_a_bits_address; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222183.4]
+  assign dtim_adapter_auto_in_a_bits_mask = fragmenter_1_auto_out_a_bits_mask; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222183.4]
+  assign dtim_adapter_auto_in_a_bits_data = fragmenter_1_auto_out_a_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222183.4]
+  assign dtim_adapter_auto_in_d_ready = fragmenter_1_auto_out_d_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222183.4]
+  assign dtim_adapter_io_dmem_req_ready = dcacheArb_io_requestor_1_req_ready; // @[RocketTile.scala 163:26:shc.marmotcaravel.MarmotCaravelConfig.fir@222226.4]
+  assign dtim_adapter_io_dmem_s2_nack = dcacheArb_io_requestor_1_s2_nack; // @[RocketTile.scala 163:26:shc.marmotcaravel.MarmotCaravelConfig.fir@222226.4]
+  assign dtim_adapter_io_dmem_resp_valid = dcacheArb_io_requestor_1_resp_valid; // @[RocketTile.scala 163:26:shc.marmotcaravel.MarmotCaravelConfig.fir@222226.4]
+  assign dtim_adapter_io_dmem_resp_bits_data_raw = dcacheArb_io_requestor_1_resp_bits_data_raw; // @[RocketTile.scala 163:26:shc.marmotcaravel.MarmotCaravelConfig.fir@222226.4]
+  assign fragmenter_1_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222080.4]
+  assign fragmenter_1_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222081.4]
+  assign fragmenter_1_auto_in_a_valid = tlSlaveXbar_auto_out_1_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222173.4]
+  assign fragmenter_1_auto_in_a_bits_opcode = tlSlaveXbar_auto_out_1_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222173.4]
+  assign fragmenter_1_auto_in_a_bits_param = tlSlaveXbar_auto_out_1_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222173.4]
+  assign fragmenter_1_auto_in_a_bits_size = tlSlaveXbar_auto_out_1_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222173.4]
+  assign fragmenter_1_auto_in_a_bits_source = tlSlaveXbar_auto_out_1_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222173.4]
+  assign fragmenter_1_auto_in_a_bits_address = tlSlaveXbar_auto_out_1_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222173.4]
+  assign fragmenter_1_auto_in_a_bits_mask = tlSlaveXbar_auto_out_1_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222173.4]
+  assign fragmenter_1_auto_in_a_bits_data = tlSlaveXbar_auto_out_1_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222173.4]
+  assign fragmenter_1_auto_in_d_ready = tlSlaveXbar_auto_out_1_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222173.4]
+  assign fragmenter_1_auto_out_a_ready = dtim_adapter_auto_in_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222183.4]
+  assign fragmenter_1_auto_out_d_valid = dtim_adapter_auto_in_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222183.4]
+  assign fragmenter_1_auto_out_d_bits_opcode = dtim_adapter_auto_in_d_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222183.4]
+  assign fragmenter_1_auto_out_d_bits_size = dtim_adapter_auto_in_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222183.4]
+  assign fragmenter_1_auto_out_d_bits_source = dtim_adapter_auto_in_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222183.4]
+  assign fragmenter_1_auto_out_d_bits_data = dtim_adapter_auto_in_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222183.4]
+  assign buffer_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222086.4]
+  assign buffer_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222087.4]
+  assign buffer_auto_in_a_valid = tlMasterXbar_auto_out_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222182.4]
+  assign buffer_auto_in_a_bits_opcode = tlMasterXbar_auto_out_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222182.4]
+  assign buffer_auto_in_a_bits_param = tlMasterXbar_auto_out_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222182.4]
+  assign buffer_auto_in_a_bits_size = tlMasterXbar_auto_out_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222182.4]
+  assign buffer_auto_in_a_bits_source = tlMasterXbar_auto_out_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222182.4]
+  assign buffer_auto_in_a_bits_address = tlMasterXbar_auto_out_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222182.4]
+  assign buffer_auto_in_a_bits_mask = tlMasterXbar_auto_out_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222182.4]
+  assign buffer_auto_in_a_bits_data = tlMasterXbar_auto_out_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222182.4]
+  assign buffer_auto_in_a_bits_corrupt = tlMasterXbar_auto_out_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222182.4]
+  assign buffer_auto_in_d_ready = tlMasterXbar_auto_out_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222182.4]
+  assign buffer_auto_out_a_ready = auto_tl_master_xing_out_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222184.4]
+  assign buffer_auto_out_d_valid = auto_tl_master_xing_out_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222184.4]
+  assign buffer_auto_out_d_bits_opcode = auto_tl_master_xing_out_d_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222184.4]
+  assign buffer_auto_out_d_bits_param = auto_tl_master_xing_out_d_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222184.4]
+  assign buffer_auto_out_d_bits_size = auto_tl_master_xing_out_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222184.4]
+  assign buffer_auto_out_d_bits_source = auto_tl_master_xing_out_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222184.4]
+  assign buffer_auto_out_d_bits_sink = auto_tl_master_xing_out_d_bits_sink; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222184.4]
+  assign buffer_auto_out_d_bits_denied = auto_tl_master_xing_out_d_bits_denied; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222184.4]
+  assign buffer_auto_out_d_bits_data = auto_tl_master_xing_out_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222184.4]
+  assign buffer_auto_out_d_bits_corrupt = auto_tl_master_xing_out_d_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222184.4]
+  assign buffer_1_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222092.4]
+  assign buffer_1_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222093.4]
+  assign buffer_1_auto_in_a_valid = auto_tl_slave_xing_in_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222186.4]
+  assign buffer_1_auto_in_a_bits_opcode = auto_tl_slave_xing_in_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222186.4]
+  assign buffer_1_auto_in_a_bits_param = auto_tl_slave_xing_in_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222186.4]
+  assign buffer_1_auto_in_a_bits_size = auto_tl_slave_xing_in_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222186.4]
+  assign buffer_1_auto_in_a_bits_source = auto_tl_slave_xing_in_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222186.4]
+  assign buffer_1_auto_in_a_bits_address = auto_tl_slave_xing_in_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222186.4]
+  assign buffer_1_auto_in_a_bits_mask = auto_tl_slave_xing_in_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222186.4]
+  assign buffer_1_auto_in_a_bits_data = auto_tl_slave_xing_in_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222186.4]
+  assign buffer_1_auto_in_a_bits_corrupt = auto_tl_slave_xing_in_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222186.4]
+  assign buffer_1_auto_in_d_ready = auto_tl_slave_xing_in_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222186.4]
+  assign buffer_1_auto_out_a_ready = tlSlaveXbar_auto_in_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222185.4]
+  assign buffer_1_auto_out_d_valid = tlSlaveXbar_auto_in_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222185.4]
+  assign buffer_1_auto_out_d_bits_opcode = tlSlaveXbar_auto_in_d_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222185.4]
+  assign buffer_1_auto_out_d_bits_param = tlSlaveXbar_auto_in_d_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222185.4]
+  assign buffer_1_auto_out_d_bits_size = tlSlaveXbar_auto_in_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222185.4]
+  assign buffer_1_auto_out_d_bits_source = tlSlaveXbar_auto_in_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222185.4]
+  assign buffer_1_auto_out_d_bits_sink = tlSlaveXbar_auto_in_d_bits_sink; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222185.4]
+  assign buffer_1_auto_out_d_bits_denied = tlSlaveXbar_auto_in_d_bits_denied; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222185.4]
+  assign buffer_1_auto_out_d_bits_data = tlSlaveXbar_auto_in_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222185.4]
+  assign buffer_1_auto_out_d_bits_corrupt = tlSlaveXbar_auto_in_d_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222185.4]
+  assign intsink_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222098.4]
+  assign intsink_auto_in_sync_0 = auto_intsink_in_sync_0; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222196.4]
+  assign intsink_1_auto_in_sync_0 = auto_int_in_xing_in_0_sync_0; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222189.4]
+  assign intsink_1_auto_in_sync_1 = auto_int_in_xing_in_0_sync_1; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222189.4]
+  assign intsink_2_auto_in_sync_0 = auto_int_in_xing_in_1_sync_0; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222191.4]
+  assign dcacheArb_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222199.4]
+  assign dcacheArb_io_requestor_0_req_valid = core_io_dmem_req_valid; // @[RocketTile.scala 163:26:shc.marmotcaravel.MarmotCaravelConfig.fir@222225.4]
+  assign dcacheArb_io_requestor_0_req_bits_addr = core_io_dmem_req_bits_addr; // @[RocketTile.scala 163:26:shc.marmotcaravel.MarmotCaravelConfig.fir@222225.4]
+  assign dcacheArb_io_requestor_0_req_bits_tag = core_io_dmem_req_bits_tag; // @[RocketTile.scala 163:26:shc.marmotcaravel.MarmotCaravelConfig.fir@222225.4]
+  assign dcacheArb_io_requestor_0_req_bits_cmd = core_io_dmem_req_bits_cmd; // @[RocketTile.scala 163:26:shc.marmotcaravel.MarmotCaravelConfig.fir@222225.4]
+  assign dcacheArb_io_requestor_0_req_bits_typ = core_io_dmem_req_bits_typ; // @[RocketTile.scala 163:26:shc.marmotcaravel.MarmotCaravelConfig.fir@222225.4]
+  assign dcacheArb_io_requestor_0_s1_kill = core_io_dmem_s1_kill; // @[RocketTile.scala 163:26:shc.marmotcaravel.MarmotCaravelConfig.fir@222225.4]
+  assign dcacheArb_io_requestor_0_s1_data_data = core_io_dmem_s1_data_data; // @[RocketTile.scala 163:26:shc.marmotcaravel.MarmotCaravelConfig.fir@222225.4]
+  assign dcacheArb_io_requestor_0_keep_clock_enabled = core_io_dmem_keep_clock_enabled; // @[RocketTile.scala 163:26:shc.marmotcaravel.MarmotCaravelConfig.fir@222225.4]
+  assign dcacheArb_io_requestor_1_req_valid = dtim_adapter_io_dmem_req_valid; // @[RocketTile.scala 163:26:shc.marmotcaravel.MarmotCaravelConfig.fir@222226.4]
+  assign dcacheArb_io_requestor_1_req_bits_addr = dtim_adapter_io_dmem_req_bits_addr; // @[RocketTile.scala 163:26:shc.marmotcaravel.MarmotCaravelConfig.fir@222226.4]
+  assign dcacheArb_io_requestor_1_req_bits_cmd = dtim_adapter_io_dmem_req_bits_cmd; // @[RocketTile.scala 163:26:shc.marmotcaravel.MarmotCaravelConfig.fir@222226.4]
+  assign dcacheArb_io_requestor_1_req_bits_typ = dtim_adapter_io_dmem_req_bits_typ; // @[RocketTile.scala 163:26:shc.marmotcaravel.MarmotCaravelConfig.fir@222226.4]
+  assign dcacheArb_io_requestor_1_s1_kill = dtim_adapter_io_dmem_s1_kill; // @[RocketTile.scala 163:26:shc.marmotcaravel.MarmotCaravelConfig.fir@222226.4]
+  assign dcacheArb_io_requestor_1_s1_data_data = dtim_adapter_io_dmem_s1_data_data; // @[RocketTile.scala 163:26:shc.marmotcaravel.MarmotCaravelConfig.fir@222226.4]
+  assign dcacheArb_io_requestor_1_s1_data_mask = dtim_adapter_io_dmem_s1_data_mask; // @[RocketTile.scala 163:26:shc.marmotcaravel.MarmotCaravelConfig.fir@222226.4]
+  assign dcacheArb_io_mem_req_ready = dcache_io_cpu_req_ready; // @[HellaCache.scala 228:30:shc.marmotcaravel.MarmotCaravelConfig.fir@222201.4]
+  assign dcacheArb_io_mem_s2_nack = dcache_io_cpu_s2_nack; // @[HellaCache.scala 228:30:shc.marmotcaravel.MarmotCaravelConfig.fir@222201.4]
+  assign dcacheArb_io_mem_resp_valid = dcache_io_cpu_resp_valid; // @[HellaCache.scala 228:30:shc.marmotcaravel.MarmotCaravelConfig.fir@222201.4]
+  assign dcacheArb_io_mem_resp_bits_tag = dcache_io_cpu_resp_bits_tag; // @[HellaCache.scala 228:30:shc.marmotcaravel.MarmotCaravelConfig.fir@222201.4]
+  assign dcacheArb_io_mem_resp_bits_data = dcache_io_cpu_resp_bits_data; // @[HellaCache.scala 228:30:shc.marmotcaravel.MarmotCaravelConfig.fir@222201.4]
+  assign dcacheArb_io_mem_resp_bits_replay = dcache_io_cpu_resp_bits_replay; // @[HellaCache.scala 228:30:shc.marmotcaravel.MarmotCaravelConfig.fir@222201.4]
+  assign dcacheArb_io_mem_resp_bits_has_data = dcache_io_cpu_resp_bits_has_data; // @[HellaCache.scala 228:30:shc.marmotcaravel.MarmotCaravelConfig.fir@222201.4]
+  assign dcacheArb_io_mem_resp_bits_data_word_bypass = dcache_io_cpu_resp_bits_data_word_bypass; // @[HellaCache.scala 228:30:shc.marmotcaravel.MarmotCaravelConfig.fir@222201.4]
+  assign dcacheArb_io_mem_resp_bits_data_raw = dcache_io_cpu_resp_bits_data_raw; // @[HellaCache.scala 228:30:shc.marmotcaravel.MarmotCaravelConfig.fir@222201.4]
+  assign dcacheArb_io_mem_replay_next = dcache_io_cpu_replay_next; // @[HellaCache.scala 228:30:shc.marmotcaravel.MarmotCaravelConfig.fir@222201.4]
+  assign dcacheArb_io_mem_s2_xcpt_ma_ld = dcache_io_cpu_s2_xcpt_ma_ld; // @[HellaCache.scala 228:30:shc.marmotcaravel.MarmotCaravelConfig.fir@222201.4]
+  assign dcacheArb_io_mem_s2_xcpt_ma_st = dcache_io_cpu_s2_xcpt_ma_st; // @[HellaCache.scala 228:30:shc.marmotcaravel.MarmotCaravelConfig.fir@222201.4]
+  assign dcacheArb_io_mem_s2_xcpt_pf_ld = dcache_io_cpu_s2_xcpt_pf_ld; // @[HellaCache.scala 228:30:shc.marmotcaravel.MarmotCaravelConfig.fir@222201.4]
+  assign dcacheArb_io_mem_s2_xcpt_pf_st = dcache_io_cpu_s2_xcpt_pf_st; // @[HellaCache.scala 228:30:shc.marmotcaravel.MarmotCaravelConfig.fir@222201.4]
+  assign dcacheArb_io_mem_s2_xcpt_ae_ld = dcache_io_cpu_s2_xcpt_ae_ld; // @[HellaCache.scala 228:30:shc.marmotcaravel.MarmotCaravelConfig.fir@222201.4]
+  assign dcacheArb_io_mem_s2_xcpt_ae_st = dcache_io_cpu_s2_xcpt_ae_st; // @[HellaCache.scala 228:30:shc.marmotcaravel.MarmotCaravelConfig.fir@222201.4]
+  assign dcacheArb_io_mem_ordered = dcache_io_cpu_ordered; // @[HellaCache.scala 228:30:shc.marmotcaravel.MarmotCaravelConfig.fir@222201.4]
+  assign dcacheArb_io_mem_perf_grant = dcache_io_cpu_perf_grant; // @[HellaCache.scala 228:30:shc.marmotcaravel.MarmotCaravelConfig.fir@222201.4]
+  assign dcacheArb_io_mem_clock_enabled = dcache_io_cpu_clock_enabled; // @[HellaCache.scala 228:30:shc.marmotcaravel.MarmotCaravelConfig.fir@222201.4]
+  assign ptw_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222204.4]
+  assign ptw_io_dpath_pmp_0_cfg_l = core_io_ptw_pmp_0_cfg_l; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222220.4]
+  assign ptw_io_dpath_pmp_0_cfg_a = core_io_ptw_pmp_0_cfg_a; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222220.4]
+  assign ptw_io_dpath_pmp_0_cfg_x = core_io_ptw_pmp_0_cfg_x; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222220.4]
+  assign ptw_io_dpath_pmp_0_cfg_w = core_io_ptw_pmp_0_cfg_w; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222220.4]
+  assign ptw_io_dpath_pmp_0_cfg_r = core_io_ptw_pmp_0_cfg_r; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222220.4]
+  assign ptw_io_dpath_pmp_0_addr = core_io_ptw_pmp_0_addr; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222220.4]
+  assign ptw_io_dpath_pmp_0_mask = core_io_ptw_pmp_0_mask; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222220.4]
+  assign ptw_io_dpath_pmp_1_cfg_l = core_io_ptw_pmp_1_cfg_l; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222220.4]
+  assign ptw_io_dpath_pmp_1_cfg_a = core_io_ptw_pmp_1_cfg_a; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222220.4]
+  assign ptw_io_dpath_pmp_1_cfg_x = core_io_ptw_pmp_1_cfg_x; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222220.4]
+  assign ptw_io_dpath_pmp_1_cfg_w = core_io_ptw_pmp_1_cfg_w; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222220.4]
+  assign ptw_io_dpath_pmp_1_cfg_r = core_io_ptw_pmp_1_cfg_r; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222220.4]
+  assign ptw_io_dpath_pmp_1_addr = core_io_ptw_pmp_1_addr; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222220.4]
+  assign ptw_io_dpath_pmp_1_mask = core_io_ptw_pmp_1_mask; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222220.4]
+  assign ptw_io_dpath_pmp_2_cfg_l = core_io_ptw_pmp_2_cfg_l; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222220.4]
+  assign ptw_io_dpath_pmp_2_cfg_a = core_io_ptw_pmp_2_cfg_a; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222220.4]
+  assign ptw_io_dpath_pmp_2_cfg_x = core_io_ptw_pmp_2_cfg_x; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222220.4]
+  assign ptw_io_dpath_pmp_2_cfg_w = core_io_ptw_pmp_2_cfg_w; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222220.4]
+  assign ptw_io_dpath_pmp_2_cfg_r = core_io_ptw_pmp_2_cfg_r; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222220.4]
+  assign ptw_io_dpath_pmp_2_addr = core_io_ptw_pmp_2_addr; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222220.4]
+  assign ptw_io_dpath_pmp_2_mask = core_io_ptw_pmp_2_mask; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222220.4]
+  assign ptw_io_dpath_pmp_3_cfg_l = core_io_ptw_pmp_3_cfg_l; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222220.4]
+  assign ptw_io_dpath_pmp_3_cfg_a = core_io_ptw_pmp_3_cfg_a; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222220.4]
+  assign ptw_io_dpath_pmp_3_cfg_x = core_io_ptw_pmp_3_cfg_x; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222220.4]
+  assign ptw_io_dpath_pmp_3_cfg_w = core_io_ptw_pmp_3_cfg_w; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222220.4]
+  assign ptw_io_dpath_pmp_3_cfg_r = core_io_ptw_pmp_3_cfg_r; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222220.4]
+  assign ptw_io_dpath_pmp_3_addr = core_io_ptw_pmp_3_addr; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222220.4]
+  assign ptw_io_dpath_pmp_3_mask = core_io_ptw_pmp_3_mask; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222220.4]
+  assign ptw_io_dpath_pmp_4_cfg_l = core_io_ptw_pmp_4_cfg_l; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222220.4]
+  assign ptw_io_dpath_pmp_4_cfg_a = core_io_ptw_pmp_4_cfg_a; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222220.4]
+  assign ptw_io_dpath_pmp_4_cfg_x = core_io_ptw_pmp_4_cfg_x; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222220.4]
+  assign ptw_io_dpath_pmp_4_cfg_w = core_io_ptw_pmp_4_cfg_w; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222220.4]
+  assign ptw_io_dpath_pmp_4_cfg_r = core_io_ptw_pmp_4_cfg_r; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222220.4]
+  assign ptw_io_dpath_pmp_4_addr = core_io_ptw_pmp_4_addr; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222220.4]
+  assign ptw_io_dpath_pmp_4_mask = core_io_ptw_pmp_4_mask; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222220.4]
+  assign ptw_io_dpath_pmp_5_cfg_l = core_io_ptw_pmp_5_cfg_l; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222220.4]
+  assign ptw_io_dpath_pmp_5_cfg_a = core_io_ptw_pmp_5_cfg_a; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222220.4]
+  assign ptw_io_dpath_pmp_5_cfg_x = core_io_ptw_pmp_5_cfg_x; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222220.4]
+  assign ptw_io_dpath_pmp_5_cfg_w = core_io_ptw_pmp_5_cfg_w; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222220.4]
+  assign ptw_io_dpath_pmp_5_cfg_r = core_io_ptw_pmp_5_cfg_r; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222220.4]
+  assign ptw_io_dpath_pmp_5_addr = core_io_ptw_pmp_5_addr; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222220.4]
+  assign ptw_io_dpath_pmp_5_mask = core_io_ptw_pmp_5_mask; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222220.4]
+  assign ptw_io_dpath_pmp_6_cfg_l = core_io_ptw_pmp_6_cfg_l; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222220.4]
+  assign ptw_io_dpath_pmp_6_cfg_a = core_io_ptw_pmp_6_cfg_a; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222220.4]
+  assign ptw_io_dpath_pmp_6_cfg_x = core_io_ptw_pmp_6_cfg_x; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222220.4]
+  assign ptw_io_dpath_pmp_6_cfg_w = core_io_ptw_pmp_6_cfg_w; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222220.4]
+  assign ptw_io_dpath_pmp_6_cfg_r = core_io_ptw_pmp_6_cfg_r; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222220.4]
+  assign ptw_io_dpath_pmp_6_addr = core_io_ptw_pmp_6_addr; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222220.4]
+  assign ptw_io_dpath_pmp_6_mask = core_io_ptw_pmp_6_mask; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222220.4]
+  assign ptw_io_dpath_pmp_7_cfg_l = core_io_ptw_pmp_7_cfg_l; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222220.4]
+  assign ptw_io_dpath_pmp_7_cfg_a = core_io_ptw_pmp_7_cfg_a; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222220.4]
+  assign ptw_io_dpath_pmp_7_cfg_x = core_io_ptw_pmp_7_cfg_x; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222220.4]
+  assign ptw_io_dpath_pmp_7_cfg_w = core_io_ptw_pmp_7_cfg_w; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222220.4]
+  assign ptw_io_dpath_pmp_7_cfg_r = core_io_ptw_pmp_7_cfg_r; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222220.4]
+  assign ptw_io_dpath_pmp_7_addr = core_io_ptw_pmp_7_addr; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222220.4]
+  assign ptw_io_dpath_pmp_7_mask = core_io_ptw_pmp_7_mask; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222220.4]
+  assign core_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222208.4]
+  assign core_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222209.4]
+  assign core_io_hartid = constants_hartid; // @[RocketTile.scala 127:18:shc.marmotcaravel.MarmotCaravelConfig.fir@222215.4]
+  assign core_io_interrupts_debug = intXbar_auto_int_out_0; // @[Interrupts.scala 75:93:shc.marmotcaravel.MarmotCaravelConfig.fir@222211.4]
+  assign core_io_interrupts_mtip = intXbar_auto_int_out_2; // @[Interrupts.scala 75:93:shc.marmotcaravel.MarmotCaravelConfig.fir@222213.4]
+  assign core_io_interrupts_msip = intXbar_auto_int_out_1; // @[Interrupts.scala 75:93:shc.marmotcaravel.MarmotCaravelConfig.fir@222212.4]
+  assign core_io_interrupts_meip = intXbar_auto_int_out_3; // @[Interrupts.scala 75:93:shc.marmotcaravel.MarmotCaravelConfig.fir@222214.4]
+  assign core_io_imem_resp_valid = frontend_io_cpu_resp_valid; // @[RocketTile.scala 130:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222216.4]
+  assign core_io_imem_resp_bits_btb_taken = frontend_io_cpu_resp_bits_btb_taken; // @[RocketTile.scala 130:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222216.4]
+  assign core_io_imem_resp_bits_btb_bridx = frontend_io_cpu_resp_bits_btb_bridx; // @[RocketTile.scala 130:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222216.4]
+  assign core_io_imem_resp_bits_btb_entry = frontend_io_cpu_resp_bits_btb_entry; // @[RocketTile.scala 130:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222216.4]
+  assign core_io_imem_resp_bits_btb_bht_history = frontend_io_cpu_resp_bits_btb_bht_history; // @[RocketTile.scala 130:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222216.4]
+  assign core_io_imem_resp_bits_pc = frontend_io_cpu_resp_bits_pc; // @[RocketTile.scala 130:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222216.4]
+  assign core_io_imem_resp_bits_data = frontend_io_cpu_resp_bits_data; // @[RocketTile.scala 130:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222216.4]
+  assign core_io_imem_resp_bits_xcpt_ae_inst = frontend_io_cpu_resp_bits_xcpt_ae_inst; // @[RocketTile.scala 130:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222216.4]
+  assign core_io_imem_resp_bits_replay = frontend_io_cpu_resp_bits_replay; // @[RocketTile.scala 130:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222216.4]
+  assign core_io_dmem_req_ready = dcacheArb_io_requestor_0_req_ready; // @[RocketTile.scala 163:26:shc.marmotcaravel.MarmotCaravelConfig.fir@222225.4]
+  assign core_io_dmem_s2_nack = dcacheArb_io_requestor_0_s2_nack; // @[RocketTile.scala 163:26:shc.marmotcaravel.MarmotCaravelConfig.fir@222225.4]
+  assign core_io_dmem_resp_valid = dcacheArb_io_requestor_0_resp_valid; // @[RocketTile.scala 163:26:shc.marmotcaravel.MarmotCaravelConfig.fir@222225.4]
+  assign core_io_dmem_resp_bits_tag = dcacheArb_io_requestor_0_resp_bits_tag; // @[RocketTile.scala 163:26:shc.marmotcaravel.MarmotCaravelConfig.fir@222225.4]
+  assign core_io_dmem_resp_bits_data = dcacheArb_io_requestor_0_resp_bits_data; // @[RocketTile.scala 163:26:shc.marmotcaravel.MarmotCaravelConfig.fir@222225.4]
+  assign core_io_dmem_resp_bits_replay = dcacheArb_io_requestor_0_resp_bits_replay; // @[RocketTile.scala 163:26:shc.marmotcaravel.MarmotCaravelConfig.fir@222225.4]
+  assign core_io_dmem_resp_bits_has_data = dcacheArb_io_requestor_0_resp_bits_has_data; // @[RocketTile.scala 163:26:shc.marmotcaravel.MarmotCaravelConfig.fir@222225.4]
+  assign core_io_dmem_resp_bits_data_word_bypass = dcacheArb_io_requestor_0_resp_bits_data_word_bypass; // @[RocketTile.scala 163:26:shc.marmotcaravel.MarmotCaravelConfig.fir@222225.4]
+  assign core_io_dmem_replay_next = dcacheArb_io_requestor_0_replay_next; // @[RocketTile.scala 163:26:shc.marmotcaravel.MarmotCaravelConfig.fir@222225.4]
+  assign core_io_dmem_s2_xcpt_ma_ld = dcacheArb_io_requestor_0_s2_xcpt_ma_ld; // @[RocketTile.scala 163:26:shc.marmotcaravel.MarmotCaravelConfig.fir@222225.4]
+  assign core_io_dmem_s2_xcpt_ma_st = dcacheArb_io_requestor_0_s2_xcpt_ma_st; // @[RocketTile.scala 163:26:shc.marmotcaravel.MarmotCaravelConfig.fir@222225.4]
+  assign core_io_dmem_s2_xcpt_pf_ld = dcacheArb_io_requestor_0_s2_xcpt_pf_ld; // @[RocketTile.scala 163:26:shc.marmotcaravel.MarmotCaravelConfig.fir@222225.4]
+  assign core_io_dmem_s2_xcpt_pf_st = dcacheArb_io_requestor_0_s2_xcpt_pf_st; // @[RocketTile.scala 163:26:shc.marmotcaravel.MarmotCaravelConfig.fir@222225.4]
+  assign core_io_dmem_s2_xcpt_ae_ld = dcacheArb_io_requestor_0_s2_xcpt_ae_ld; // @[RocketTile.scala 163:26:shc.marmotcaravel.MarmotCaravelConfig.fir@222225.4]
+  assign core_io_dmem_s2_xcpt_ae_st = dcacheArb_io_requestor_0_s2_xcpt_ae_st; // @[RocketTile.scala 163:26:shc.marmotcaravel.MarmotCaravelConfig.fir@222225.4]
+  assign core_io_dmem_ordered = dcacheArb_io_requestor_0_ordered; // @[RocketTile.scala 163:26:shc.marmotcaravel.MarmotCaravelConfig.fir@222225.4]
+  assign core_io_dmem_perf_grant = dcacheArb_io_requestor_0_perf_grant; // @[RocketTile.scala 163:26:shc.marmotcaravel.MarmotCaravelConfig.fir@222225.4]
+  assign core_io_dmem_clock_enabled = dcacheArb_io_requestor_0_clock_enabled; // @[RocketTile.scala 163:26:shc.marmotcaravel.MarmotCaravelConfig.fir@222225.4]
+endmodule
+module AsyncResetRegVec_w2_i0( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222250.2]
+  input        clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222251.4]
+  input        reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222252.4]
+  input  [1:0] io_d, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222253.4]
+  output [1:0] io_q // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222253.4]
+);
+  wire  reg_0_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@222258.4]
+  wire  reg_0_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@222258.4]
+  wire  reg_0_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@222258.4]
+  wire  reg_0_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@222258.4]
+  wire  reg_0_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@222258.4]
+  wire  reg_1_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@222264.4]
+  wire  reg_1_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@222264.4]
+  wire  reg_1_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@222264.4]
+  wire  reg_1_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@222264.4]
+  wire  reg_1_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@222264.4]
+  AsyncResetReg #(.RESET_VALUE(0)) reg_0 ( // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@222258.4]
+    .rst(reg_0_rst),
+    .clk(reg_0_clk),
+    .en(reg_0_en),
+    .q(reg_0_q),
+    .d(reg_0_d)
+  );
+  AsyncResetReg #(.RESET_VALUE(0)) reg_1 ( // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@222264.4]
+    .rst(reg_1_rst),
+    .clk(reg_1_clk),
+    .en(reg_1_en),
+    .q(reg_1_q),
+    .d(reg_1_d)
+  );
+  assign io_q = {reg_1_q,reg_0_q}; // @[AsyncResetReg.scala 73:8:shc.marmotcaravel.MarmotCaravelConfig.fir@222281.4]
+  assign reg_0_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@222271.4]
+  assign reg_0_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@222270.4]
+  assign reg_0_en = 1'h1; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@222274.4]
+  assign reg_0_d = io_d[0]; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@222273.4]
+  assign reg_1_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@222276.4]
+  assign reg_1_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@222275.4]
+  assign reg_1_en = 1'h1; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@222279.4]
+  assign reg_1_d = io_d[1]; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@222278.4]
+endmodule
+module IntSyncCrossingSource_2( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222283.2]
+  input   clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222284.4]
+  input   reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222285.4]
+  input   auto_in_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222286.4]
+  input   auto_in_1, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222286.4]
+  output  auto_out_sync_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222286.4]
+  output  auto_out_sync_1 // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222286.4]
+);
+  wire  AsyncResetRegVec_w2_i0_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@222298.4]
+  wire  AsyncResetRegVec_w2_i0_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@222298.4]
+  wire [1:0] AsyncResetRegVec_w2_i0_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@222298.4]
+  wire [1:0] AsyncResetRegVec_w2_i0_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@222298.4]
+  AsyncResetRegVec_w2_i0 AsyncResetRegVec_w2_i0 ( // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@222298.4]
+    .clock(AsyncResetRegVec_w2_i0_clock),
+    .reset(AsyncResetRegVec_w2_i0_reset),
+    .io_d(AsyncResetRegVec_w2_i0_io_d),
+    .io_q(AsyncResetRegVec_w2_i0_io_q)
+  );
+  assign auto_out_sync_0 = AsyncResetRegVec_w2_i0_io_q[0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@222295.4]
+  assign auto_out_sync_1 = AsyncResetRegVec_w2_i0_io_q[1]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@222295.4]
+  assign AsyncResetRegVec_w2_i0_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222300.4]
+  assign AsyncResetRegVec_w2_i0_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222301.4]
+  assign AsyncResetRegVec_w2_i0_io_d = {auto_in_1,auto_in_0}; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222302.4]
+endmodule
+module IntSyncCrossingSource_3( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222340.2]
+  input   clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222341.4]
+  input   reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222342.4]
+  input   auto_in_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222343.4]
+  output  auto_out_sync_0 // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222343.4]
+);
+  wire  AsyncResetRegVec_w1_i0_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@222354.4]
+  wire  AsyncResetRegVec_w1_i0_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@222354.4]
+  wire  AsyncResetRegVec_w1_i0_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@222354.4]
+  wire  AsyncResetRegVec_w1_i0_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@222354.4]
+  wire  AsyncResetRegVec_w1_i0_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@222354.4]
+  AsyncResetRegVec_w1_i0 AsyncResetRegVec_w1_i0 ( // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@222354.4]
+    .clock(AsyncResetRegVec_w1_i0_clock),
+    .reset(AsyncResetRegVec_w1_i0_reset),
+    .io_d(AsyncResetRegVec_w1_i0_io_d),
+    .io_q(AsyncResetRegVec_w1_i0_io_q),
+    .io_en(AsyncResetRegVec_w1_i0_io_en)
+  );
+  assign auto_out_sync_0 = AsyncResetRegVec_w1_i0_io_q; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@222352.4]
+  assign AsyncResetRegVec_w1_i0_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222356.4]
+  assign AsyncResetRegVec_w1_i0_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222357.4]
+  assign AsyncResetRegVec_w1_i0_io_d = auto_in_0; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222358.4]
+  assign AsyncResetRegVec_w1_i0_io_en = 1'h1; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222359.4]
+endmodule
+module TLMonitor_56( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222379.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222380.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222381.4]
+  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222382.4]
+  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222382.4]
+  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222382.4]
+  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222382.4]
+  input  [1:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222382.4]
+  input  [5:0]  io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222382.4]
+  input  [16:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222382.4]
+  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222382.4]
+  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222382.4]
+  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222382.4]
+  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222382.4]
+  input  [1:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222382.4]
+  input  [5:0]  io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222382.4]
+);
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@223503.4]
+  wire [4:0] _T_36; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@222409.6]
+  wire [1:0] _T_37; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@222410.6]
+  wire [1:0] _T_38; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@222411.6]
+  wire [16:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@222412.6]
+  wire [16:0] _T_39; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@222412.6]
+  wire  _T_40; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@222413.6]
+  wire  _T_42; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@222415.6]
+  wire [1:0] _T_43; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@222416.6]
+  wire [1:0] _T_45; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@222418.6]
+  wire  _T_46; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@222419.6]
+  wire  _T_47; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@222420.6]
+  wire  _T_48; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@222421.6]
+  wire  _T_49; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222422.6]
+  wire  _T_51; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@222424.6]
+  wire  _T_52; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@222425.6]
+  wire  _T_54; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@222427.6]
+  wire  _T_55; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@222428.6]
+  wire  _T_56; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@222429.6]
+  wire  _T_57; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@222430.6]
+  wire  _T_58; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222431.6]
+  wire  _T_59; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@222432.6]
+  wire  _T_60; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@222433.6]
+  wire  _T_61; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@222434.6]
+  wire  _T_62; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@222435.6]
+  wire  _T_63; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@222436.6]
+  wire  _T_64; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@222437.6]
+  wire  _T_65; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@222438.6]
+  wire  _T_66; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@222439.6]
+  wire  _T_67; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@222440.6]
+  wire  _T_68; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@222441.6]
+  wire  _T_69; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@222442.6]
+  wire  _T_70; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@222443.6]
+  wire [1:0] _T_71; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@222444.6]
+  wire [1:0] _T_72; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@222445.6]
+  wire [3:0] _T_73; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@222446.6]
+  wire  _T_92; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222469.6]
+  wire [16:0] _T_94; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222472.8]
+  wire [17:0] _T_95; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@222473.8]
+  wire [17:0] _T_96; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@222474.8]
+  wire [17:0] _T_97; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@222475.8]
+  wire  _T_98; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@222476.8]
+  wire  _T_103; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222481.8]
+  wire  _T_112; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222502.8]
+  wire  _T_113; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222503.8]
+  wire  _T_115; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222509.8]
+  wire  _T_116; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222510.8]
+  wire  _T_117; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@222515.8]
+  wire  _T_119; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222517.8]
+  wire  _T_120; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222518.8]
+  wire [3:0] _T_121; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222523.8]
+  wire  _T_122; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222524.8]
+  wire  _T_124; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222526.8]
+  wire  _T_125; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222527.8]
+  wire  _T_126; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222532.8]
+  wire  _T_128; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222534.8]
+  wire  _T_129; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222535.8]
+  wire  _T_130; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222541.6]
+  wire  _T_159; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222595.8]
+  wire  _T_161; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222597.8]
+  wire  _T_162; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222598.8]
+  wire  _T_172; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222621.6]
+  wire  _T_174; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@222624.8]
+  wire  _T_182; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@222632.8]
+  wire  _T_185; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222635.8]
+  wire  _T_186; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222636.8]
+  wire  _T_193; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222655.8]
+  wire  _T_195; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222657.8]
+  wire  _T_196; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222658.8]
+  wire  _T_197; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@222663.8]
+  wire  _T_199; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222665.8]
+  wire  _T_200; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222666.8]
+  wire  _T_205; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222680.6]
+  wire  _T_231; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222728.6]
+  wire [3:0] _T_253; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@222767.8]
+  wire [3:0] _T_254; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222768.8]
+  wire  _T_255; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@222769.8]
+  wire  _T_257; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222771.8]
+  wire  _T_258; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222772.8]
+  wire  _T_259; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222778.6]
+  wire  _T_277; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@222809.8]
+  wire  _T_279; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222811.8]
+  wire  _T_280; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222812.8]
+  wire  _T_285; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222826.6]
+  wire  _T_303; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@222857.8]
+  wire  _T_305; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222859.8]
+  wire  _T_306; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222860.8]
+  wire  _T_311; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222874.6]
+  wire  _T_498; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@223234.4]
+  reg  _T_508; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@223243.4]
+  reg [31:0] _RAND_0;
+  wire [1:0] _T_509; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@223244.4]
+  wire [1:0] _T_510; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@223245.4]
+  wire  _T_511; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@223246.4]
+  wire  _T_512; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@223247.4]
+  reg [2:0] _T_521; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@223258.4]
+  reg [31:0] _RAND_1;
+  reg [2:0] _T_523; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@223259.4]
+  reg [31:0] _RAND_2;
+  reg [1:0] _T_525; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@223260.4]
+  reg [31:0] _RAND_3;
+  reg [5:0] _T_527; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@223261.4]
+  reg [31:0] _RAND_4;
+  reg [16:0] _T_529; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@223262.4]
+  reg [31:0] _RAND_5;
+  wire  _T_530; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@223263.4]
+  wire  _T_531; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@223264.4]
+  wire  _T_532; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@223266.6]
+  wire  _T_534; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223268.6]
+  wire  _T_535; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223269.6]
+  wire  _T_536; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@223274.6]
+  wire  _T_538; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223276.6]
+  wire  _T_539; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223277.6]
+  wire  _T_540; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@223282.6]
+  wire  _T_542; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223284.6]
+  wire  _T_543; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223285.6]
+  wire  _T_544; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@223290.6]
+  wire  _T_546; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223292.6]
+  wire  _T_547; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223293.6]
+  wire  _T_548; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@223298.6]
+  wire  _T_550; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223300.6]
+  wire  _T_551; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223301.6]
+  wire  _T_553; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@223308.4]
+  wire  _T_554; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@223316.4]
+  reg  _T_563; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@223324.4]
+  reg [31:0] _RAND_6;
+  wire [1:0] _T_564; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@223325.4]
+  wire [1:0] _T_565; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@223326.4]
+  wire  _T_566; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@223327.4]
+  wire  _T_567; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@223328.4]
+  reg [1:0] _T_580; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@223341.4]
+  reg [31:0] _RAND_7;
+  reg [5:0] _T_582; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@223342.4]
+  reg [31:0] _RAND_8;
+  wire  _T_587; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@223345.4]
+  wire  _T_588; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@223346.4]
+  wire  _T_597; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@223364.6]
+  wire  _T_599; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223366.6]
+  wire  _T_600; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223367.6]
+  wire  _T_601; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@223372.6]
+  wire  _T_603; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223374.6]
+  wire  _T_604; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223375.6]
+  wire  _T_614; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@223398.4]
+  reg [63:0] _T_616; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@223407.4]
+  reg [63:0] _RAND_9;
+  reg  _T_627; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@223417.4]
+  reg [31:0] _RAND_10;
+  wire [1:0] _T_628; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@223418.4]
+  wire [1:0] _T_629; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@223419.4]
+  wire  _T_630; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@223420.4]
+  wire  _T_631; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@223421.4]
+  reg  _T_648; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@223440.4]
+  reg [31:0] _RAND_11;
+  wire [1:0] _T_649; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@223441.4]
+  wire [1:0] _T_650; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@223442.4]
+  wire  _T_651; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@223443.4]
+  wire  _T_652; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@223444.4]
+  wire  _T_663; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@223459.4]
+  wire [63:0] _T_665; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@223462.6]
+  wire [63:0] _T_666; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@223464.6]
+  wire  _T_667; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@223465.6]
+  wire  _T_668; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223466.6]
+  wire  _T_670; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@223468.6]
+  wire  _T_671; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@223469.6]
+  wire [63:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@223461.4]
+  wire  _T_676; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@223480.4]
+  wire [63:0] _T_680; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@223485.6]
+  wire [63:0] _T_681; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@223487.6]
+  wire [63:0] _T_682; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@223488.6]
+  wire  _T_683; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@223489.6]
+  wire  _T_685; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@223491.6]
+  wire  _T_686; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@223492.6]
+  wire [63:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@223484.4]
+  wire [63:0] _T_687; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@223498.4]
+  wire [63:0] _T_688; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@223499.4]
+  wire [63:0] _T_689; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@223500.4]
+  reg [31:0] _T_691; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@223502.4]
+  reg [31:0] _RAND_12;
+  wire  _T_692; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@223505.4]
+  wire  _T_693; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@223506.4]
+  wire  _T_694; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@223507.4]
+  wire  _T_695; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@223508.4]
+  wire  _T_696; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@223509.4]
+  wire  _T_697; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@223510.4]
+  wire  _T_699; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@223512.4]
+  wire  _T_700; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@223513.4]
+  wire [31:0] _T_702; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@223519.4]
+  wire  _T_705; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@223523.4]
+  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222483.10]
+  wire  _GEN_33; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222555.10]
+  wire  _GEN_49; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222638.10]
+  wire  _GEN_59; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222694.10]
+  wire  _GEN_67; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222742.10]
+  wire  _GEN_75; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222792.10]
+  wire  _GEN_83; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222840.10]
+  wire  _GEN_91; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222888.10]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@223503.4]
+    .out(plusarg_reader_out)
+  );
+  assign _T_36 = 5'h3 << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@222409.6]
+  assign _T_37 = _T_36[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@222410.6]
+  assign _T_38 = ~ _T_37; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@222411.6]
+  assign _GEN_18 = {{15'd0}, _T_38}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@222412.6]
+  assign _T_39 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@222412.6]
+  assign _T_40 = _T_39 == 17'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@222413.6]
+  assign _T_42 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@222415.6]
+  assign _T_43 = 2'h1 << _T_42; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@222416.6]
+  assign _T_45 = _T_43 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@222418.6]
+  assign _T_46 = io_in_a_bits_size >= 2'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@222419.6]
+  assign _T_47 = _T_45[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@222420.6]
+  assign _T_48 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@222421.6]
+  assign _T_49 = _T_48 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222422.6]
+  assign _T_51 = _T_47 & _T_49; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@222424.6]
+  assign _T_52 = _T_46 | _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@222425.6]
+  assign _T_54 = _T_47 & _T_48; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@222427.6]
+  assign _T_55 = _T_46 | _T_54; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@222428.6]
+  assign _T_56 = _T_45[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@222429.6]
+  assign _T_57 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@222430.6]
+  assign _T_58 = _T_57 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222431.6]
+  assign _T_59 = _T_49 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@222432.6]
+  assign _T_60 = _T_56 & _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@222433.6]
+  assign _T_61 = _T_52 | _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@222434.6]
+  assign _T_62 = _T_49 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@222435.6]
+  assign _T_63 = _T_56 & _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@222436.6]
+  assign _T_64 = _T_52 | _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@222437.6]
+  assign _T_65 = _T_48 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@222438.6]
+  assign _T_66 = _T_56 & _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@222439.6]
+  assign _T_67 = _T_55 | _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@222440.6]
+  assign _T_68 = _T_48 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@222441.6]
+  assign _T_69 = _T_56 & _T_68; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@222442.6]
+  assign _T_70 = _T_55 | _T_69; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@222443.6]
+  assign _T_71 = {_T_64,_T_61}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@222444.6]
+  assign _T_72 = {_T_70,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@222445.6]
+  assign _T_73 = {_T_72,_T_71}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@222446.6]
+  assign _T_92 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222469.6]
+  assign _T_94 = io_in_a_bits_address ^ 17'h10000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222472.8]
+  assign _T_95 = {1'b0,$signed(_T_94)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@222473.8]
+  assign _T_96 = $signed(_T_95) & $signed(-18'sh2000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@222474.8]
+  assign _T_97 = $signed(_T_96); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@222475.8]
+  assign _T_98 = $signed(_T_97) == $signed(18'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@222476.8]
+  assign _T_103 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222481.8]
+  assign _T_112 = _T_46 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222502.8]
+  assign _T_113 = _T_112 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222503.8]
+  assign _T_115 = _T_40 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222509.8]
+  assign _T_116 = _T_115 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222510.8]
+  assign _T_117 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@222515.8]
+  assign _T_119 = _T_117 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222517.8]
+  assign _T_120 = _T_119 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222518.8]
+  assign _T_121 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222523.8]
+  assign _T_122 = _T_121 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222524.8]
+  assign _T_124 = _T_122 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222526.8]
+  assign _T_125 = _T_124 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222527.8]
+  assign _T_126 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222532.8]
+  assign _T_128 = _T_126 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222534.8]
+  assign _T_129 = _T_128 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222535.8]
+  assign _T_130 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222541.6]
+  assign _T_159 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222595.8]
+  assign _T_161 = _T_159 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222597.8]
+  assign _T_162 = _T_161 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222598.8]
+  assign _T_172 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222621.6]
+  assign _T_174 = io_in_a_bits_size <= 2'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@222624.8]
+  assign _T_182 = _T_174 & _T_98; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@222632.8]
+  assign _T_185 = _T_182 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222635.8]
+  assign _T_186 = _T_185 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222636.8]
+  assign _T_193 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222655.8]
+  assign _T_195 = _T_193 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222657.8]
+  assign _T_196 = _T_195 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222658.8]
+  assign _T_197 = io_in_a_bits_mask == _T_73; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@222663.8]
+  assign _T_199 = _T_197 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222665.8]
+  assign _T_200 = _T_199 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222666.8]
+  assign _T_205 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222680.6]
+  assign _T_231 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222728.6]
+  assign _T_253 = ~ _T_73; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@222767.8]
+  assign _T_254 = io_in_a_bits_mask & _T_253; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222768.8]
+  assign _T_255 = _T_254 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@222769.8]
+  assign _T_257 = _T_255 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222771.8]
+  assign _T_258 = _T_257 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222772.8]
+  assign _T_259 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222778.6]
+  assign _T_277 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@222809.8]
+  assign _T_279 = _T_277 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222811.8]
+  assign _T_280 = _T_279 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222812.8]
+  assign _T_285 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222826.6]
+  assign _T_303 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@222857.8]
+  assign _T_305 = _T_303 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222859.8]
+  assign _T_306 = _T_305 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222860.8]
+  assign _T_311 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222874.6]
+  assign _T_498 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@223234.4]
+  assign _T_509 = _T_508 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@223244.4]
+  assign _T_510 = $unsigned(_T_509); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@223245.4]
+  assign _T_511 = _T_510[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@223246.4]
+  assign _T_512 = _T_508 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@223247.4]
+  assign _T_530 = _T_512 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@223263.4]
+  assign _T_531 = io_in_a_valid & _T_530; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@223264.4]
+  assign _T_532 = io_in_a_bits_opcode == _T_521; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@223266.6]
+  assign _T_534 = _T_532 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223268.6]
+  assign _T_535 = _T_534 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223269.6]
+  assign _T_536 = io_in_a_bits_param == _T_523; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@223274.6]
+  assign _T_538 = _T_536 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223276.6]
+  assign _T_539 = _T_538 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223277.6]
+  assign _T_540 = io_in_a_bits_size == _T_525; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@223282.6]
+  assign _T_542 = _T_540 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223284.6]
+  assign _T_543 = _T_542 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223285.6]
+  assign _T_544 = io_in_a_bits_source == _T_527; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@223290.6]
+  assign _T_546 = _T_544 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223292.6]
+  assign _T_547 = _T_546 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223293.6]
+  assign _T_548 = io_in_a_bits_address == _T_529; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@223298.6]
+  assign _T_550 = _T_548 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223300.6]
+  assign _T_551 = _T_550 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223301.6]
+  assign _T_553 = _T_498 & _T_512; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@223308.4]
+  assign _T_554 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@223316.4]
+  assign _T_564 = _T_563 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@223325.4]
+  assign _T_565 = $unsigned(_T_564); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@223326.4]
+  assign _T_566 = _T_565[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@223327.4]
+  assign _T_567 = _T_563 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@223328.4]
+  assign _T_587 = _T_567 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@223345.4]
+  assign _T_588 = io_in_d_valid & _T_587; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@223346.4]
+  assign _T_597 = io_in_d_bits_size == _T_580; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@223364.6]
+  assign _T_599 = _T_597 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223366.6]
+  assign _T_600 = _T_599 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223367.6]
+  assign _T_601 = io_in_d_bits_source == _T_582; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@223372.6]
+  assign _T_603 = _T_601 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223374.6]
+  assign _T_604 = _T_603 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223375.6]
+  assign _T_614 = _T_554 & _T_567; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@223398.4]
+  assign _T_628 = _T_627 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@223418.4]
+  assign _T_629 = $unsigned(_T_628); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@223419.4]
+  assign _T_630 = _T_629[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@223420.4]
+  assign _T_631 = _T_627 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@223421.4]
+  assign _T_649 = _T_648 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@223441.4]
+  assign _T_650 = $unsigned(_T_649); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@223442.4]
+  assign _T_651 = _T_650[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@223443.4]
+  assign _T_652 = _T_648 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@223444.4]
+  assign _T_663 = _T_498 & _T_631; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@223459.4]
+  assign _T_665 = 64'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@223462.6]
+  assign _T_666 = _T_616 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@223464.6]
+  assign _T_667 = _T_666[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@223465.6]
+  assign _T_668 = _T_667 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223466.6]
+  assign _T_670 = _T_668 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@223468.6]
+  assign _T_671 = _T_670 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@223469.6]
+  assign _GEN_15 = _T_663 ? _T_665 : 64'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@223461.4]
+  assign _T_676 = _T_554 & _T_652; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@223480.4]
+  assign _T_680 = 64'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@223485.6]
+  assign _T_681 = _GEN_15 | _T_616; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@223487.6]
+  assign _T_682 = _T_681 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@223488.6]
+  assign _T_683 = _T_682[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@223489.6]
+  assign _T_685 = _T_683 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@223491.6]
+  assign _T_686 = _T_685 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@223492.6]
+  assign _GEN_16 = _T_676 ? _T_680 : 64'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@223484.4]
+  assign _T_687 = _T_616 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@223498.4]
+  assign _T_688 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@223499.4]
+  assign _T_689 = _T_687 & _T_688; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@223500.4]
+  assign _T_692 = _T_616 != 64'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@223505.4]
+  assign _T_693 = _T_692 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@223506.4]
+  assign _T_694 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@223507.4]
+  assign _T_695 = _T_693 | _T_694; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@223508.4]
+  assign _T_696 = _T_691 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@223509.4]
+  assign _T_697 = _T_695 | _T_696; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@223510.4]
+  assign _T_699 = _T_697 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@223512.4]
+  assign _T_700 = _T_699 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@223513.4]
+  assign _T_702 = _T_691 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@223519.4]
+  assign _T_705 = _T_498 | _T_554; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@223523.4]
+  assign _GEN_19 = io_in_a_valid & _T_92; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222483.10]
+  assign _GEN_33 = io_in_a_valid & _T_130; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222555.10]
+  assign _GEN_49 = io_in_a_valid & _T_172; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222638.10]
+  assign _GEN_59 = io_in_a_valid & _T_205; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222694.10]
+  assign _GEN_67 = io_in_a_valid & _T_231; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222742.10]
+  assign _GEN_75 = io_in_a_valid & _T_259; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222792.10]
+  assign _GEN_83 = io_in_a_valid & _T_285; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222840.10]
+  assign _GEN_91 = io_in_a_valid & _T_311; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222888.10]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  _T_508 = _RAND_0[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  _T_521 = _RAND_1[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  _T_523 = _RAND_2[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  _T_525 = _RAND_3[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  _T_527 = _RAND_4[5:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  _T_529 = _RAND_5[16:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {1{`RANDOM}};
+  _T_563 = _RAND_6[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {1{`RANDOM}};
+  _T_580 = _RAND_7[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_8 = {1{`RANDOM}};
+  _T_582 = _RAND_8[5:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_9 = {2{`RANDOM}};
+  _T_616 = _RAND_9[63:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_10 = {1{`RANDOM}};
+  _T_627 = _RAND_10[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_11 = {1{`RANDOM}};
+  _T_648 = _RAND_11[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_12 = {1{`RANDOM}};
+  _T_691 = _RAND_12[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      _T_508 <= 1'h0;
+    end else begin
+      if (_T_498) begin
+        if (_T_512) begin
+          _T_508 <= 1'h0;
+        end else begin
+          _T_508 <= _T_511;
+        end
+      end
+    end
+    if (_T_553) begin
+      _T_521 <= io_in_a_bits_opcode;
+    end
+    if (_T_553) begin
+      _T_523 <= io_in_a_bits_param;
+    end
+    if (_T_553) begin
+      _T_525 <= io_in_a_bits_size;
+    end
+    if (_T_553) begin
+      _T_527 <= io_in_a_bits_source;
+    end
+    if (_T_553) begin
+      _T_529 <= io_in_a_bits_address;
+    end
+    if (reset) begin
+      _T_563 <= 1'h0;
+    end else begin
+      if (_T_554) begin
+        if (_T_567) begin
+          _T_563 <= 1'h0;
+        end else begin
+          _T_563 <= _T_566;
+        end
+      end
+    end
+    if (_T_614) begin
+      _T_580 <= io_in_d_bits_size;
+    end
+    if (_T_614) begin
+      _T_582 <= io_in_d_bits_source;
+    end
+    if (reset) begin
+      _T_616 <= 64'h0;
+    end else begin
+      _T_616 <= _T_689;
+    end
+    if (reset) begin
+      _T_627 <= 1'h0;
+    end else begin
+      if (_T_498) begin
+        if (_T_631) begin
+          _T_627 <= 1'h0;
+        end else begin
+          _T_627 <= _T_630;
+        end
+      end
+    end
+    if (reset) begin
+      _T_648 <= 1'h0;
+    end else begin
+      if (_T_554) begin
+        if (_T_652) begin
+          _T_648 <= 1'h0;
+        end else begin
+          _T_648 <= _T_651;
+        end
+      end
+    end
+    if (reset) begin
+      _T_691 <= 32'h0;
+    end else begin
+      if (_T_705) begin
+        _T_691 <= 32'h0;
+      end else begin
+        _T_691 <= _T_702;
+      end
+    end
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@222394.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@222395.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@222466.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@222467.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222483.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_103) begin
+          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222484.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222490.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_103) begin
+          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222491.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222497.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222498.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_113) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222505.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_113) begin
+          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222506.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222512.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_116) begin
+          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222513.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_120) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222520.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_120) begin
+          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222521.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_125) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222529.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_125) begin
+          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222530.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_129) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222537.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_129) begin
+          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222538.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222555.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_103) begin
+          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222556.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222562.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_103) begin
+          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222563.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222569.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222570.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_113) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222577.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_113) begin
+          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222578.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222584.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_116) begin
+          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222585.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_120) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222592.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_120) begin
+          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222593.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_162) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222600.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_162) begin
+          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222601.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_125) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222609.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_125) begin
+          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222610.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_129) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222617.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_129) begin
+          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222618.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_186) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222638.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_186) begin
+          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222639.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222645.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222646.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222652.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_116) begin
+          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222653.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_196) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222660.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_196) begin
+          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222661.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222668.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_200) begin
+          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222669.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_129) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222676.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_129) begin
+          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222677.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_59 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222694.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_59 & _T_103) begin
+          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222695.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222701.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222702.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_59 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222708.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_59 & _T_116) begin
+          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222709.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_59 & _T_196) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222716.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_59 & _T_196) begin
+          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222717.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_59 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222724.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_59 & _T_200) begin
+          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222725.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_67 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222742.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_67 & _T_103) begin
+          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222743.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222749.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222750.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_67 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222756.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_67 & _T_116) begin
+          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222757.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_67 & _T_196) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222764.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_67 & _T_196) begin
+          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222765.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_67 & _T_258) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222774.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_67 & _T_258) begin
+          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222775.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222792.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_103) begin
+          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222793.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222799.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222800.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222806.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_116) begin
+          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222807.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_280) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222814.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_280) begin
+          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222815.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222822.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_200) begin
+          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222823.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_83 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222840.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_83 & _T_103) begin
+          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222841.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222847.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222848.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_83 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222854.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_83 & _T_116) begin
+          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222855.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_83 & _T_306) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222862.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_83 & _T_306) begin
+          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222863.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_83 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222870.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_83 & _T_200) begin
+          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222871.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_91 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222888.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_91 & _T_103) begin
+          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222889.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222895.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222896.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_91 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222902.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_91 & _T_116) begin
+          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222903.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_91 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222910.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_91 & _T_200) begin
+          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222911.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_91 & _T_129) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222918.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_91 & _T_129) begin
+          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222919.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@222929.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@222930.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222950.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222951.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222958.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222959.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222966.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222967.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222974.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222975.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222982.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222983.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222992.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222993.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222999.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223000.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223007.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223008.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223015.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223016.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223023.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223024.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223031.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223032.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223040.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223041.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223050.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223051.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223057.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223058.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223065.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223066.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223073.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223074.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223081.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223082.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223090.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223091.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223099.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223100.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223109.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223110.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223117.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223118.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223125.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223126.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223134.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223135.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223144.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223145.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223152.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223153.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223161.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223162.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223170.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223171.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223180.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223181.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223188.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223189.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223196.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223197.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223205.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223206.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223215.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223216.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223223.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223224.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223231.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223232.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_531 & _T_535) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223271.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_531 & _T_535) begin
+          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223272.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_531 & _T_539) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223279.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_531 & _T_539) begin
+          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223280.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_531 & _T_543) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223287.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_531 & _T_543) begin
+          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223288.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_531 & _T_547) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223295.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_531 & _T_547) begin
+          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223296.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_531 & _T_551) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223303.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_531 & _T_551) begin
+          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223304.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223353.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223354.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223361.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223362.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_588 & _T_600) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223369.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_588 & _T_600) begin
+          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223370.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_588 & _T_604) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223377.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_588 & _T_604) begin
+          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223378.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223385.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223386.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223393.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223394.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_663 & _T_671) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@223471.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_663 & _T_671) begin
+          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@223472.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_676 & _T_686) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@223494.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_676 & _T_686) begin
+          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@223495.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_700) begin
+          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@223515.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_700) begin
+          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@223516.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+endmodule
+module TLMaskROM( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@223538.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@223539.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@223540.4]
+  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@223541.4]
+  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@223541.4]
+  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@223541.4]
+  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@223541.4]
+  input  [1:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@223541.4]
+  input  [5:0]  auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@223541.4]
+  input  [16:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@223541.4]
+  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@223541.4]
+  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@223541.4]
+  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@223541.4]
+  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@223541.4]
+  output [1:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@223541.4]
+  output [5:0]  auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@223541.4]
+  output [31:0] auto_in_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@223541.4]
+);
+  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@223548.4]
+  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@223548.4]
+  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@223548.4]
+  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@223548.4]
+  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@223548.4]
+  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@223548.4]
+  wire [1:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@223548.4]
+  wire [5:0] TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@223548.4]
+  wire [16:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@223548.4]
+  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@223548.4]
+  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@223548.4]
+  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@223548.4]
+  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@223548.4]
+  wire [1:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@223548.4]
+  wire [5:0] TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@223548.4]
+  wire [31:0] rom_q; // @[ROMGenerator.scala 27:19:shc.marmotcaravel.MarmotCaravelConfig.fir@223586.4]
+  wire  rom_me; // @[ROMGenerator.scala 27:19:shc.marmotcaravel.MarmotCaravelConfig.fir@223586.4]
+  wire  rom_oe; // @[ROMGenerator.scala 27:19:shc.marmotcaravel.MarmotCaravelConfig.fir@223586.4]
+  wire [10:0] rom_address; // @[ROMGenerator.scala 27:19:shc.marmotcaravel.MarmotCaravelConfig.fir@223586.4]
+  wire  rom_clock; // @[ROMGenerator.scala 27:19:shc.marmotcaravel.MarmotCaravelConfig.fir@223586.4]
+  wire [17:0] _T_156; // @[MaskROM.scala 42:54:shc.marmotcaravel.MarmotCaravelConfig.fir@223593.4]
+  wire [17:0] _T_157; // @[MaskROM.scala 42:54:shc.marmotcaravel.MarmotCaravelConfig.fir@223594.4]
+  wire [16:0] _T_158; // @[MaskROM.scala 42:54:shc.marmotcaravel.MarmotCaravelConfig.fir@223595.4]
+  wire [14:0] _T_159; // @[Edges.scala 192:34:shc.marmotcaravel.MarmotCaravelConfig.fir@223596.4]
+  reg  d_full; // @[MaskROM.scala 46:25:shc.marmotcaravel.MarmotCaravelConfig.fir@223602.4]
+  reg [31:0] _RAND_0;
+  wire  _T_172; // @[MaskROM.scala 55:33:shc.marmotcaravel.MarmotCaravelConfig.fir@223622.4]
+  wire  in_a_ready; // @[MaskROM.scala 55:30:shc.marmotcaravel.MarmotCaravelConfig.fir@223623.4]
+  wire  _T_161; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@223600.4]
+  reg [1:0] d_size; // @[MaskROM.scala 47:21:shc.marmotcaravel.MarmotCaravelConfig.fir@223603.4]
+  reg [31:0] _RAND_1;
+  reg [5:0] d_source; // @[MaskROM.scala 48:23:shc.marmotcaravel.MarmotCaravelConfig.fir@223604.4]
+  reg [31:0] _RAND_2;
+  reg  _T_167; // @[MaskROM.scala 49:45:shc.marmotcaravel.MarmotCaravelConfig.fir@223606.4]
+  reg [31:0] _RAND_3;
+  reg [31:0] _T_169; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@223608.4]
+  reg [31:0] _RAND_4;
+  wire  _T_170; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@223613.4]
+  TLMonitor_56 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@223548.4]
+    .clock(TLMonitor_clock),
+    .reset(TLMonitor_reset),
+    .io_in_a_ready(TLMonitor_io_in_a_ready),
+    .io_in_a_valid(TLMonitor_io_in_a_valid),
+    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
+    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
+    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
+    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
+    .io_in_d_ready(TLMonitor_io_in_d_ready),
+    .io_in_d_valid(TLMonitor_io_in_d_valid),
+    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
+    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source)
+  );
+  BootROM rom ( // @[ROMGenerator.scala 27:19:shc.marmotcaravel.MarmotCaravelConfig.fir@223586.4]
+    .q(rom_q),
+    .me(rom_me),
+    .oe(rom_oe),
+    .address(rom_address),
+    .clock(rom_clock)
+  );
+  assign _T_156 = auto_in_a_bits_address - 17'h10000; // @[MaskROM.scala 42:54:shc.marmotcaravel.MarmotCaravelConfig.fir@223593.4]
+  assign _T_157 = $unsigned(_T_156); // @[MaskROM.scala 42:54:shc.marmotcaravel.MarmotCaravelConfig.fir@223594.4]
+  assign _T_158 = _T_157[16:0]; // @[MaskROM.scala 42:54:shc.marmotcaravel.MarmotCaravelConfig.fir@223595.4]
+  assign _T_159 = _T_158[16:2]; // @[Edges.scala 192:34:shc.marmotcaravel.MarmotCaravelConfig.fir@223596.4]
+  assign _T_172 = d_full == 1'h0; // @[MaskROM.scala 55:33:shc.marmotcaravel.MarmotCaravelConfig.fir@223622.4]
+  assign in_a_ready = auto_in_d_ready | _T_172; // @[MaskROM.scala 55:30:shc.marmotcaravel.MarmotCaravelConfig.fir@223623.4]
+  assign _T_161 = in_a_ready & auto_in_a_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@223600.4]
+  assign _T_170 = auto_in_d_ready & d_full; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@223613.4]
+  assign auto_in_a_ready = auto_in_d_ready | _T_172; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@223585.4]
+  assign auto_in_d_valid = d_full; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@223585.4]
+  assign auto_in_d_bits_size = d_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@223585.4]
+  assign auto_in_d_bits_source = d_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@223585.4]
+  assign auto_in_d_bits_data = _T_167 ? rom_q : _T_169; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@223585.4]
+  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@223550.4]
+  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@223551.4]
+  assign TLMonitor_io_in_a_ready = auto_in_d_ready | _T_172; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@223584.4]
+  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@223584.4]
+  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@223584.4]
+  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@223584.4]
+  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@223584.4]
+  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@223584.4]
+  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@223584.4]
+  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@223584.4]
+  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@223584.4]
+  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@223584.4]
+  assign TLMonitor_io_in_d_valid = d_full; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@223584.4]
+  assign TLMonitor_io_in_d_bits_size = d_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@223584.4]
+  assign TLMonitor_io_in_d_bits_source = d_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@223584.4]
+  assign rom_me = in_a_ready & auto_in_a_valid; // @[MaskROM.scala 44:15:shc.marmotcaravel.MarmotCaravelConfig.fir@223601.4]
+  assign rom_oe = 1'h1; // @[MaskROM.scala 43:15:shc.marmotcaravel.MarmotCaravelConfig.fir@223599.4]
+  assign rom_address = _T_159[10:0]; // @[MaskROM.scala 42:20:shc.marmotcaravel.MarmotCaravelConfig.fir@223598.4]
+  assign rom_clock = clock; // @[MaskROM.scala 41:18:shc.marmotcaravel.MarmotCaravelConfig.fir@223592.4]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  d_full = _RAND_0[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  d_size = _RAND_1[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  d_source = _RAND_2[5:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  _T_167 = _RAND_3[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  _T_169 = _RAND_4[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      d_full <= 1'h0;
+    end else begin
+      if (_T_161) begin
+        d_full <= 1'h1;
+      end else begin
+        if (_T_170) begin
+          d_full <= 1'h0;
+        end
+      end
+    end
+    if (_T_161) begin
+      d_size <= auto_in_a_bits_size;
+    end
+    if (_T_161) begin
+      d_source <= auto_in_a_bits_source;
+    end
+    _T_167 <= in_a_ready & auto_in_a_valid;
+    if (_T_167) begin
+      _T_169 <= rom_q;
+    end
+  end
+endmodule
+module TLMonitor_57( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@223652.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@223653.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@223654.4]
+  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@223655.4]
+  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@223655.4]
+  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@223655.4]
+  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@223655.4]
+  input  [1:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@223655.4]
+  input  [5:0]  io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@223655.4]
+  input  [28:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@223655.4]
+  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@223655.4]
+  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@223655.4]
+  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@223655.4]
+  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@223655.4]
+  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@223655.4]
+  input  [1:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@223655.4]
+  input  [5:0]  io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@223655.4]
+);
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@224793.4]
+  wire [4:0] _T_36; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@223682.6]
+  wire [1:0] _T_37; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@223683.6]
+  wire [1:0] _T_38; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@223684.6]
+  wire [28:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@223685.6]
+  wire [28:0] _T_39; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@223685.6]
+  wire  _T_40; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@223686.6]
+  wire  _T_42; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@223688.6]
+  wire [1:0] _T_43; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@223689.6]
+  wire [1:0] _T_45; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@223691.6]
+  wire  _T_46; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@223692.6]
+  wire  _T_47; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@223693.6]
+  wire  _T_48; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@223694.6]
+  wire  _T_49; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@223695.6]
+  wire  _T_51; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@223697.6]
+  wire  _T_52; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@223698.6]
+  wire  _T_54; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@223700.6]
+  wire  _T_55; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@223701.6]
+  wire  _T_56; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@223702.6]
+  wire  _T_57; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@223703.6]
+  wire  _T_58; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@223704.6]
+  wire  _T_59; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@223705.6]
+  wire  _T_60; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@223706.6]
+  wire  _T_61; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@223707.6]
+  wire  _T_62; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@223708.6]
+  wire  _T_63; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@223709.6]
+  wire  _T_64; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@223710.6]
+  wire  _T_65; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@223711.6]
+  wire  _T_66; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@223712.6]
+  wire  _T_67; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@223713.6]
+  wire  _T_68; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@223714.6]
+  wire  _T_69; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@223715.6]
+  wire  _T_70; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@223716.6]
+  wire [1:0] _T_71; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@223717.6]
+  wire [1:0] _T_72; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@223718.6]
+  wire [3:0] _T_73; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@223719.6]
+  wire  _T_92; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@223742.6]
+  wire [28:0] _T_94; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@223745.8]
+  wire [29:0] _T_95; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@223746.8]
+  wire [29:0] _T_96; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@223747.8]
+  wire [29:0] _T_97; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@223748.8]
+  wire  _T_98; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@223749.8]
+  wire  _T_103; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223754.8]
+  wire  _T_112; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223775.8]
+  wire  _T_113; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223776.8]
+  wire  _T_115; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223782.8]
+  wire  _T_116; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223783.8]
+  wire  _T_117; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@223788.8]
+  wire  _T_119; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223790.8]
+  wire  _T_120; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223791.8]
+  wire [3:0] _T_121; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@223796.8]
+  wire  _T_122; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@223797.8]
+  wire  _T_124; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223799.8]
+  wire  _T_125; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223800.8]
+  wire  _T_126; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@223805.8]
+  wire  _T_128; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223807.8]
+  wire  _T_129; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223808.8]
+  wire  _T_130; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@223814.6]
+  wire  _T_159; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@223868.8]
+  wire  _T_161; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223870.8]
+  wire  _T_162; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223871.8]
+  wire  _T_172; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@223894.6]
+  wire  _T_174; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@223897.8]
+  wire  _T_182; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@223905.8]
+  wire  _T_185; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223908.8]
+  wire  _T_186; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223909.8]
+  wire  _T_193; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@223928.8]
+  wire  _T_195; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223930.8]
+  wire  _T_196; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223931.8]
+  wire  _T_197; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@223936.8]
+  wire  _T_199; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223938.8]
+  wire  _T_200; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223939.8]
+  wire  _T_205; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@223953.6]
+  wire  _T_234; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@224004.6]
+  wire [3:0] _T_259; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@224046.8]
+  wire [3:0] _T_260; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@224047.8]
+  wire  _T_261; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@224048.8]
+  wire  _T_263; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224050.8]
+  wire  _T_264; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224051.8]
+  wire  _T_265; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@224057.6]
+  wire  _T_283; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@224088.8]
+  wire  _T_285; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224090.8]
+  wire  _T_286; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224091.8]
+  wire  _T_291; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@224105.6]
+  wire  _T_309; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@224136.8]
+  wire  _T_311; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224138.8]
+  wire  _T_312; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224139.8]
+  wire  _T_317; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@224153.6]
+  wire  _T_343; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@224203.6]
+  wire  _T_345; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@224205.6]
+  wire  _T_346; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@224206.6]
+  wire  _T_363; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@224223.6]
+  wire  _T_367; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@224232.8]
+  wire  _T_369; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224234.8]
+  wire  _T_370; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224235.8]
+  wire  _T_383; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@224265.6]
+  wire  _T_411; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@224323.6]
+  wire  _T_504; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@224513.4]
+  reg  _T_514; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@224522.4]
+  reg [31:0] _RAND_0;
+  wire [1:0] _T_515; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@224523.4]
+  wire [1:0] _T_516; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@224524.4]
+  wire  _T_517; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@224525.4]
+  wire  _T_518; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@224526.4]
+  reg [2:0] _T_527; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@224537.4]
+  reg [31:0] _RAND_1;
+  reg [2:0] _T_529; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@224538.4]
+  reg [31:0] _RAND_2;
+  reg [1:0] _T_531; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@224539.4]
+  reg [31:0] _RAND_3;
+  reg [5:0] _T_533; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@224540.4]
+  reg [31:0] _RAND_4;
+  reg [28:0] _T_535; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@224541.4]
+  reg [31:0] _RAND_5;
+  wire  _T_536; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@224542.4]
+  wire  _T_537; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@224543.4]
+  wire  _T_538; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@224545.6]
+  wire  _T_540; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224547.6]
+  wire  _T_541; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224548.6]
+  wire  _T_542; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@224553.6]
+  wire  _T_544; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224555.6]
+  wire  _T_545; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224556.6]
+  wire  _T_546; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@224561.6]
+  wire  _T_548; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224563.6]
+  wire  _T_549; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224564.6]
+  wire  _T_550; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@224569.6]
+  wire  _T_552; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224571.6]
+  wire  _T_553; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224572.6]
+  wire  _T_554; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@224577.6]
+  wire  _T_556; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224579.6]
+  wire  _T_557; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224580.6]
+  wire  _T_559; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@224587.4]
+  wire  _T_560; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@224595.4]
+  reg  _T_569; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@224603.4]
+  reg [31:0] _RAND_6;
+  wire [1:0] _T_570; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@224604.4]
+  wire [1:0] _T_571; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@224605.4]
+  wire  _T_572; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@224606.4]
+  wire  _T_573; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@224607.4]
+  reg [2:0] _T_582; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@224618.4]
+  reg [31:0] _RAND_7;
+  reg [1:0] _T_586; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@224620.4]
+  reg [31:0] _RAND_8;
+  reg [5:0] _T_588; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@224621.4]
+  reg [31:0] _RAND_9;
+  wire  _T_593; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@224624.4]
+  wire  _T_594; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@224625.4]
+  wire  _T_595; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@224627.6]
+  wire  _T_597; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224629.6]
+  wire  _T_598; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224630.6]
+  wire  _T_603; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@224643.6]
+  wire  _T_605; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224645.6]
+  wire  _T_606; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224646.6]
+  wire  _T_607; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@224651.6]
+  wire  _T_609; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224653.6]
+  wire  _T_610; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224654.6]
+  wire  _T_620; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@224677.4]
+  reg [63:0] _T_622; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@224686.4]
+  reg [63:0] _RAND_10;
+  reg  _T_633; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@224696.4]
+  reg [31:0] _RAND_11;
+  wire [1:0] _T_634; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@224697.4]
+  wire [1:0] _T_635; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@224698.4]
+  wire  _T_636; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@224699.4]
+  wire  _T_637; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@224700.4]
+  reg  _T_654; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@224719.4]
+  reg [31:0] _RAND_12;
+  wire [1:0] _T_655; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@224720.4]
+  wire [1:0] _T_656; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@224721.4]
+  wire  _T_657; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@224722.4]
+  wire  _T_658; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@224723.4]
+  wire  _T_669; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@224738.4]
+  wire [63:0] _T_671; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@224741.6]
+  wire [63:0] _T_672; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@224743.6]
+  wire  _T_673; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@224744.6]
+  wire  _T_674; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224745.6]
+  wire  _T_676; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@224747.6]
+  wire  _T_677; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@224748.6]
+  wire [63:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@224740.4]
+  wire  _T_682; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@224759.4]
+  wire  _T_684; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@224761.4]
+  wire  _T_685; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@224762.4]
+  wire [63:0] _T_686; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@224764.6]
+  wire [63:0] _T_687; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@224766.6]
+  wire [63:0] _T_688; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@224767.6]
+  wire  _T_689; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@224768.6]
+  wire  _T_691; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@224770.6]
+  wire  _T_692; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@224771.6]
+  wire [63:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@224763.4]
+  wire  _T_693; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@224777.4]
+  wire  _T_694; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@224778.4]
+  wire  _T_695; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@224779.4]
+  wire  _T_696; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@224780.4]
+  wire  _T_698; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@224782.4]
+  wire  _T_699; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@224783.4]
+  wire [63:0] _T_700; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@224788.4]
+  wire [63:0] _T_701; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@224789.4]
+  wire [63:0] _T_702; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@224790.4]
+  reg [31:0] _T_704; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@224792.4]
+  reg [31:0] _RAND_13;
+  wire  _T_705; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@224795.4]
+  wire  _T_706; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@224796.4]
+  wire  _T_707; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@224797.4]
+  wire  _T_708; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@224798.4]
+  wire  _T_709; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@224799.4]
+  wire  _T_710; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@224800.4]
+  wire  _T_712; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@224802.4]
+  wire  _T_713; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@224803.4]
+  wire [31:0] _T_715; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@224809.4]
+  wire  _T_718; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@224813.4]
+  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223756.10]
+  wire  _GEN_33; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223828.10]
+  wire  _GEN_49; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223911.10]
+  wire  _GEN_59; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223970.10]
+  wire  _GEN_67; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224021.10]
+  wire  _GEN_75; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224071.10]
+  wire  _GEN_83; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224119.10]
+  wire  _GEN_91; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224167.10]
+  wire  _GEN_99; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224237.10]
+  wire  _GEN_101; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224278.10]
+  wire  _GEN_105; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224336.10]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@224793.4]
+    .out(plusarg_reader_out)
+  );
+  assign _T_36 = 5'h3 << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@223682.6]
+  assign _T_37 = _T_36[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@223683.6]
+  assign _T_38 = ~ _T_37; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@223684.6]
+  assign _GEN_18 = {{27'd0}, _T_38}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@223685.6]
+  assign _T_39 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@223685.6]
+  assign _T_40 = _T_39 == 29'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@223686.6]
+  assign _T_42 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@223688.6]
+  assign _T_43 = 2'h1 << _T_42; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@223689.6]
+  assign _T_45 = _T_43 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@223691.6]
+  assign _T_46 = io_in_a_bits_size >= 2'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@223692.6]
+  assign _T_47 = _T_45[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@223693.6]
+  assign _T_48 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@223694.6]
+  assign _T_49 = _T_48 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@223695.6]
+  assign _T_51 = _T_47 & _T_49; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@223697.6]
+  assign _T_52 = _T_46 | _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@223698.6]
+  assign _T_54 = _T_47 & _T_48; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@223700.6]
+  assign _T_55 = _T_46 | _T_54; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@223701.6]
+  assign _T_56 = _T_45[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@223702.6]
+  assign _T_57 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@223703.6]
+  assign _T_58 = _T_57 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@223704.6]
+  assign _T_59 = _T_49 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@223705.6]
+  assign _T_60 = _T_56 & _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@223706.6]
+  assign _T_61 = _T_52 | _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@223707.6]
+  assign _T_62 = _T_49 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@223708.6]
+  assign _T_63 = _T_56 & _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@223709.6]
+  assign _T_64 = _T_52 | _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@223710.6]
+  assign _T_65 = _T_48 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@223711.6]
+  assign _T_66 = _T_56 & _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@223712.6]
+  assign _T_67 = _T_55 | _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@223713.6]
+  assign _T_68 = _T_48 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@223714.6]
+  assign _T_69 = _T_56 & _T_68; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@223715.6]
+  assign _T_70 = _T_55 | _T_69; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@223716.6]
+  assign _T_71 = {_T_64,_T_61}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@223717.6]
+  assign _T_72 = {_T_70,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@223718.6]
+  assign _T_73 = {_T_72,_T_71}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@223719.6]
+  assign _T_92 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@223742.6]
+  assign _T_94 = io_in_a_bits_address ^ 29'h10000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@223745.8]
+  assign _T_95 = {1'b0,$signed(_T_94)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@223746.8]
+  assign _T_96 = $signed(_T_95) & $signed(-30'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@223747.8]
+  assign _T_97 = $signed(_T_96); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@223748.8]
+  assign _T_98 = $signed(_T_97) == $signed(30'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@223749.8]
+  assign _T_103 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223754.8]
+  assign _T_112 = _T_46 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223775.8]
+  assign _T_113 = _T_112 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223776.8]
+  assign _T_115 = _T_40 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223782.8]
+  assign _T_116 = _T_115 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223783.8]
+  assign _T_117 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@223788.8]
+  assign _T_119 = _T_117 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223790.8]
+  assign _T_120 = _T_119 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223791.8]
+  assign _T_121 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@223796.8]
+  assign _T_122 = _T_121 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@223797.8]
+  assign _T_124 = _T_122 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223799.8]
+  assign _T_125 = _T_124 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223800.8]
+  assign _T_126 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@223805.8]
+  assign _T_128 = _T_126 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223807.8]
+  assign _T_129 = _T_128 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223808.8]
+  assign _T_130 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@223814.6]
+  assign _T_159 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@223868.8]
+  assign _T_161 = _T_159 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223870.8]
+  assign _T_162 = _T_161 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223871.8]
+  assign _T_172 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@223894.6]
+  assign _T_174 = io_in_a_bits_size <= 2'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@223897.8]
+  assign _T_182 = _T_174 & _T_98; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@223905.8]
+  assign _T_185 = _T_182 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223908.8]
+  assign _T_186 = _T_185 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223909.8]
+  assign _T_193 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@223928.8]
+  assign _T_195 = _T_193 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223930.8]
+  assign _T_196 = _T_195 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223931.8]
+  assign _T_197 = io_in_a_bits_mask == _T_73; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@223936.8]
+  assign _T_199 = _T_197 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223938.8]
+  assign _T_200 = _T_199 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223939.8]
+  assign _T_205 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@223953.6]
+  assign _T_234 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@224004.6]
+  assign _T_259 = ~ _T_73; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@224046.8]
+  assign _T_260 = io_in_a_bits_mask & _T_259; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@224047.8]
+  assign _T_261 = _T_260 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@224048.8]
+  assign _T_263 = _T_261 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224050.8]
+  assign _T_264 = _T_263 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224051.8]
+  assign _T_265 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@224057.6]
+  assign _T_283 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@224088.8]
+  assign _T_285 = _T_283 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224090.8]
+  assign _T_286 = _T_285 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224091.8]
+  assign _T_291 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@224105.6]
+  assign _T_309 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@224136.8]
+  assign _T_311 = _T_309 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224138.8]
+  assign _T_312 = _T_311 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224139.8]
+  assign _T_317 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@224153.6]
+  assign _T_343 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@224203.6]
+  assign _T_345 = _T_343 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@224205.6]
+  assign _T_346 = _T_345 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@224206.6]
+  assign _T_363 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@224223.6]
+  assign _T_367 = io_in_d_bits_size >= 2'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@224232.8]
+  assign _T_369 = _T_367 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224234.8]
+  assign _T_370 = _T_369 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224235.8]
+  assign _T_383 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@224265.6]
+  assign _T_411 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@224323.6]
+  assign _T_504 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@224513.4]
+  assign _T_515 = _T_514 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@224523.4]
+  assign _T_516 = $unsigned(_T_515); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@224524.4]
+  assign _T_517 = _T_516[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@224525.4]
+  assign _T_518 = _T_514 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@224526.4]
+  assign _T_536 = _T_518 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@224542.4]
+  assign _T_537 = io_in_a_valid & _T_536; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@224543.4]
+  assign _T_538 = io_in_a_bits_opcode == _T_527; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@224545.6]
+  assign _T_540 = _T_538 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224547.6]
+  assign _T_541 = _T_540 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224548.6]
+  assign _T_542 = io_in_a_bits_param == _T_529; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@224553.6]
+  assign _T_544 = _T_542 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224555.6]
+  assign _T_545 = _T_544 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224556.6]
+  assign _T_546 = io_in_a_bits_size == _T_531; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@224561.6]
+  assign _T_548 = _T_546 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224563.6]
+  assign _T_549 = _T_548 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224564.6]
+  assign _T_550 = io_in_a_bits_source == _T_533; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@224569.6]
+  assign _T_552 = _T_550 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224571.6]
+  assign _T_553 = _T_552 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224572.6]
+  assign _T_554 = io_in_a_bits_address == _T_535; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@224577.6]
+  assign _T_556 = _T_554 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224579.6]
+  assign _T_557 = _T_556 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224580.6]
+  assign _T_559 = _T_504 & _T_518; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@224587.4]
+  assign _T_560 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@224595.4]
+  assign _T_570 = _T_569 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@224604.4]
+  assign _T_571 = $unsigned(_T_570); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@224605.4]
+  assign _T_572 = _T_571[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@224606.4]
+  assign _T_573 = _T_569 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@224607.4]
+  assign _T_593 = _T_573 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@224624.4]
+  assign _T_594 = io_in_d_valid & _T_593; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@224625.4]
+  assign _T_595 = io_in_d_bits_opcode == _T_582; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@224627.6]
+  assign _T_597 = _T_595 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224629.6]
+  assign _T_598 = _T_597 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224630.6]
+  assign _T_603 = io_in_d_bits_size == _T_586; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@224643.6]
+  assign _T_605 = _T_603 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224645.6]
+  assign _T_606 = _T_605 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224646.6]
+  assign _T_607 = io_in_d_bits_source == _T_588; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@224651.6]
+  assign _T_609 = _T_607 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224653.6]
+  assign _T_610 = _T_609 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224654.6]
+  assign _T_620 = _T_560 & _T_573; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@224677.4]
+  assign _T_634 = _T_633 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@224697.4]
+  assign _T_635 = $unsigned(_T_634); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@224698.4]
+  assign _T_636 = _T_635[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@224699.4]
+  assign _T_637 = _T_633 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@224700.4]
+  assign _T_655 = _T_654 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@224720.4]
+  assign _T_656 = $unsigned(_T_655); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@224721.4]
+  assign _T_657 = _T_656[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@224722.4]
+  assign _T_658 = _T_654 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@224723.4]
+  assign _T_669 = _T_504 & _T_637; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@224738.4]
+  assign _T_671 = 64'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@224741.6]
+  assign _T_672 = _T_622 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@224743.6]
+  assign _T_673 = _T_672[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@224744.6]
+  assign _T_674 = _T_673 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224745.6]
+  assign _T_676 = _T_674 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@224747.6]
+  assign _T_677 = _T_676 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@224748.6]
+  assign _GEN_15 = _T_669 ? _T_671 : 64'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@224740.4]
+  assign _T_682 = _T_560 & _T_658; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@224759.4]
+  assign _T_684 = _T_363 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@224761.4]
+  assign _T_685 = _T_682 & _T_684; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@224762.4]
+  assign _T_686 = 64'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@224764.6]
+  assign _T_687 = _GEN_15 | _T_622; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@224766.6]
+  assign _T_688 = _T_687 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@224767.6]
+  assign _T_689 = _T_688[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@224768.6]
+  assign _T_691 = _T_689 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@224770.6]
+  assign _T_692 = _T_691 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@224771.6]
+  assign _GEN_16 = _T_685 ? _T_686 : 64'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@224763.4]
+  assign _T_693 = _GEN_15 != _GEN_16; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@224777.4]
+  assign _T_694 = _GEN_15 != 64'h0; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@224778.4]
+  assign _T_695 = _T_694 == 1'h0; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@224779.4]
+  assign _T_696 = _T_693 | _T_695; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@224780.4]
+  assign _T_698 = _T_696 | reset; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@224782.4]
+  assign _T_699 = _T_698 == 1'h0; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@224783.4]
+  assign _T_700 = _T_622 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@224788.4]
+  assign _T_701 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@224789.4]
+  assign _T_702 = _T_700 & _T_701; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@224790.4]
+  assign _T_705 = _T_622 != 64'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@224795.4]
+  assign _T_706 = _T_705 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@224796.4]
+  assign _T_707 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@224797.4]
+  assign _T_708 = _T_706 | _T_707; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@224798.4]
+  assign _T_709 = _T_704 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@224799.4]
+  assign _T_710 = _T_708 | _T_709; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@224800.4]
+  assign _T_712 = _T_710 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@224802.4]
+  assign _T_713 = _T_712 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@224803.4]
+  assign _T_715 = _T_704 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@224809.4]
+  assign _T_718 = _T_504 | _T_560; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@224813.4]
+  assign _GEN_19 = io_in_a_valid & _T_92; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223756.10]
+  assign _GEN_33 = io_in_a_valid & _T_130; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223828.10]
+  assign _GEN_49 = io_in_a_valid & _T_172; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223911.10]
+  assign _GEN_59 = io_in_a_valid & _T_205; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223970.10]
+  assign _GEN_67 = io_in_a_valid & _T_234; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224021.10]
+  assign _GEN_75 = io_in_a_valid & _T_265; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224071.10]
+  assign _GEN_83 = io_in_a_valid & _T_291; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224119.10]
+  assign _GEN_91 = io_in_a_valid & _T_317; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224167.10]
+  assign _GEN_99 = io_in_d_valid & _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224237.10]
+  assign _GEN_101 = io_in_d_valid & _T_383; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224278.10]
+  assign _GEN_105 = io_in_d_valid & _T_411; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224336.10]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  _T_514 = _RAND_0[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  _T_527 = _RAND_1[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  _T_529 = _RAND_2[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  _T_531 = _RAND_3[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  _T_533 = _RAND_4[5:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  _T_535 = _RAND_5[28:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {1{`RANDOM}};
+  _T_569 = _RAND_6[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {1{`RANDOM}};
+  _T_582 = _RAND_7[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_8 = {1{`RANDOM}};
+  _T_586 = _RAND_8[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_9 = {1{`RANDOM}};
+  _T_588 = _RAND_9[5:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_10 = {2{`RANDOM}};
+  _T_622 = _RAND_10[63:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_11 = {1{`RANDOM}};
+  _T_633 = _RAND_11[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_12 = {1{`RANDOM}};
+  _T_654 = _RAND_12[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_13 = {1{`RANDOM}};
+  _T_704 = _RAND_13[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      _T_514 <= 1'h0;
+    end else begin
+      if (_T_504) begin
+        if (_T_518) begin
+          _T_514 <= 1'h0;
+        end else begin
+          _T_514 <= _T_517;
+        end
+      end
+    end
+    if (_T_559) begin
+      _T_527 <= io_in_a_bits_opcode;
+    end
+    if (_T_559) begin
+      _T_529 <= io_in_a_bits_param;
+    end
+    if (_T_559) begin
+      _T_531 <= io_in_a_bits_size;
+    end
+    if (_T_559) begin
+      _T_533 <= io_in_a_bits_source;
+    end
+    if (_T_559) begin
+      _T_535 <= io_in_a_bits_address;
+    end
+    if (reset) begin
+      _T_569 <= 1'h0;
+    end else begin
+      if (_T_560) begin
+        if (_T_573) begin
+          _T_569 <= 1'h0;
+        end else begin
+          _T_569 <= _T_572;
+        end
+      end
+    end
+    if (_T_620) begin
+      _T_582 <= io_in_d_bits_opcode;
+    end
+    if (_T_620) begin
+      _T_586 <= io_in_d_bits_size;
+    end
+    if (_T_620) begin
+      _T_588 <= io_in_d_bits_source;
+    end
+    if (reset) begin
+      _T_622 <= 64'h0;
+    end else begin
+      _T_622 <= _T_702;
+    end
+    if (reset) begin
+      _T_633 <= 1'h0;
+    end else begin
+      if (_T_504) begin
+        if (_T_637) begin
+          _T_633 <= 1'h0;
+        end else begin
+          _T_633 <= _T_636;
+        end
+      end
+    end
+    if (reset) begin
+      _T_654 <= 1'h0;
+    end else begin
+      if (_T_560) begin
+        if (_T_658) begin
+          _T_654 <= 1'h0;
+        end else begin
+          _T_654 <= _T_657;
+        end
+      end
+    end
+    if (reset) begin
+      _T_704 <= 32'h0;
+    end else begin
+      if (_T_718) begin
+        _T_704 <= 32'h0;
+      end else begin
+        _T_704 <= _T_715;
+      end
+    end
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@223667.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@223668.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@223739.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@223740.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223756.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_103) begin
+          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223757.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223763.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_103) begin
+          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223764.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223770.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223771.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_113) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223778.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_113) begin
+          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223779.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223785.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_116) begin
+          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223786.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_120) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223793.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_120) begin
+          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223794.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_125) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223802.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_125) begin
+          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223803.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_129) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223810.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_129) begin
+          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223811.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223828.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_103) begin
+          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223829.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223835.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_103) begin
+          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223836.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223842.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223843.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_113) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223850.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_113) begin
+          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223851.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223857.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_116) begin
+          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223858.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_120) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223865.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_120) begin
+          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223866.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_162) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223873.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_162) begin
+          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223874.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_125) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223882.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_125) begin
+          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223883.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_129) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223890.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_129) begin
+          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223891.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_186) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223911.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_186) begin
+          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223912.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223918.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223919.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223925.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_116) begin
+          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223926.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_196) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223933.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_196) begin
+          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223934.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223941.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_200) begin
+          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223942.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_129) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223949.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_129) begin
+          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223950.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_59 & _T_186) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223970.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_59 & _T_186) begin
+          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223971.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223977.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223978.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_59 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223984.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_59 & _T_116) begin
+          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223985.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_59 & _T_196) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223992.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_59 & _T_196) begin
+          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223993.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_59 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224000.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_59 & _T_200) begin
+          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224001.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_67 & _T_186) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224021.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_67 & _T_186) begin
+          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224022.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224028.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224029.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_67 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224035.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_67 & _T_116) begin
+          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224036.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_67 & _T_196) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224043.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_67 & _T_196) begin
+          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224044.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_67 & _T_264) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224053.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_67 & _T_264) begin
+          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224054.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224071.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_103) begin
+          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224072.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224078.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224079.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224085.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_116) begin
+          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224086.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_286) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224093.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_286) begin
+          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224094.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224101.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_200) begin
+          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224102.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_83 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224119.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_83 & _T_103) begin
+          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224120.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224126.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224127.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_83 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224133.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_83 & _T_116) begin
+          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224134.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_83 & _T_312) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224141.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_83 & _T_312) begin
+          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224142.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_83 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224149.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_83 & _T_200) begin
+          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224150.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_91 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224167.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_91 & _T_103) begin
+          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224168.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224174.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224175.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_91 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224181.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_91 & _T_116) begin
+          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224182.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_91 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224189.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_91 & _T_200) begin
+          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224190.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_91 & _T_129) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224197.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_91 & _T_129) begin
+          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224198.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_346) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@224208.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_346) begin
+          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@224209.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224229.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224230.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_99 & _T_370) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224237.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_99 & _T_370) begin
+          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224238.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224245.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224246.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224253.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224254.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224261.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224262.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224271.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224272.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_101 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224278.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_101 & _T_103) begin
+          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224279.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_101 & _T_370) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224286.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_101 & _T_370) begin
+          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224287.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224294.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224295.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224302.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224303.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224310.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224311.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224319.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224320.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224329.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224330.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224336.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_103) begin
+          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224337.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_370) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224344.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_370) begin
+          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224345.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224352.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224353.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224360.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224361.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224369.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224370.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224378.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224379.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224388.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224389.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224396.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224397.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224404.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224405.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224413.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224414.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224423.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224424.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224431.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224432.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224440.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224441.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224449.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224450.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224459.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224460.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224467.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224468.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224475.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224476.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224484.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224485.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224494.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224495.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224502.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224503.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224510.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224511.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_541) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224550.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_541) begin
+          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224551.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_545) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224558.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_545) begin
+          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224559.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_549) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224566.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_549) begin
+          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224567.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_553) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224574.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_553) begin
+          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224575.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_557) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224582.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_557) begin
+          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224583.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_594 & _T_598) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224632.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_594 & _T_598) begin
+          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224633.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224640.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224641.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_594 & _T_606) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224648.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_594 & _T_606) begin
+          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224649.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_594 & _T_610) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224656.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_594 & _T_610) begin
+          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224657.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224664.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224665.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224672.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224673.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_669 & _T_677) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@224750.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_669 & _T_677) begin
+          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@224751.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_685 & _T_692) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@224773.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_685 & _T_692) begin
+          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@224774.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_699) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' and 'D' concurrent, despite minlatency 1 (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:471 assert(a_set =/= d_clr || !a_set.orR, s\"'A' and 'D' concurrent, despite minlatency ${edge.manager.minLatency}\" + extra)\n"); // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@224785.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_699) begin
+          $fatal; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@224786.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_713) begin
+          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@224805.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_713) begin
+          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@224806.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+endmodule
+module RTC( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@224849.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@224850.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@224851.4]
+  input         io_regs_cfg_write__countAlways, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@224852.4]
+  input  [3:0]  io_regs_cfg_write__scale, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@224852.4]
+  output        io_regs_cfg_read_ip_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@224852.4]
+  output        io_regs_cfg_read_countAlways, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@224852.4]
+  output [3:0]  io_regs_cfg_read_scale, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@224852.4]
+  input         io_regs_cfg_write_countAlways, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@224852.4]
+  input         io_regs_cfg_write_scale, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@224852.4]
+  input         io_regs_countLo_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@224852.4]
+  input  [31:0] io_regs_countLo_write_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@224852.4]
+  output [31:0] io_regs_countLo_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@224852.4]
+  input         io_regs_countHi_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@224852.4]
+  input  [31:0] io_regs_countHi_write_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@224852.4]
+  output [31:0] io_regs_countHi_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@224852.4]
+  output [31:0] io_regs_s_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@224852.4]
+  input         io_regs_cmp_0_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@224852.4]
+  input  [31:0] io_regs_cmp_0_write_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@224852.4]
+  output [31:0] io_regs_cmp_0_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@224852.4]
+  output        io_ip_0 // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@224852.4]
+);
+  wire  AsyncResetRegVec_w1_i0_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@224868.4]
+  wire  AsyncResetRegVec_w1_i0_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@224868.4]
+  wire  AsyncResetRegVec_w1_i0_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@224868.4]
+  wire  AsyncResetRegVec_w1_i0_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@224868.4]
+  wire  AsyncResetRegVec_w1_i0_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@224868.4]
+  reg [3:0] scale; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@224858.4]
+  reg [31:0] _RAND_0;
+  reg [31:0] cmp_0; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@224863.4]
+  reg [31:0] _RAND_1;
+  wire  countAlways; // @[RTC.scala 21:123:shc.marmotcaravel.MarmotCaravelConfig.fir@224874.4]
+  reg [5:0] _T_211; // @[Counters.scala 46:72:shc.marmotcaravel.MarmotCaravelConfig.fir@224875.4]
+  reg [31:0] _RAND_2;
+  wire [5:0] _GEN_9; // @[Counters.scala 47:33:shc.marmotcaravel.MarmotCaravelConfig.fir@224876.4]
+  wire [6:0] _T_212; // @[Counters.scala 47:33:shc.marmotcaravel.MarmotCaravelConfig.fir@224876.4]
+  reg [41:0] _T_214; // @[Counters.scala 51:70:shc.marmotcaravel.MarmotCaravelConfig.fir@224878.4]
+  reg [63:0] _RAND_3;
+  wire  _T_215; // @[Counters.scala 52:20:shc.marmotcaravel.MarmotCaravelConfig.fir@224879.4]
+  wire [41:0] _T_217; // @[Counters.scala 52:43:shc.marmotcaravel.MarmotCaravelConfig.fir@224882.6]
+  wire [41:0] _GEN_2; // @[Counters.scala 52:34:shc.marmotcaravel.MarmotCaravelConfig.fir@224880.4]
+  wire [47:0] _T_218; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@224885.4]
+  wire [15:0] _T_220; // @[Timer.scala 206:71:shc.marmotcaravel.MarmotCaravelConfig.fir@224888.6]
+  wire [47:0] _T_221; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@224889.6]
+  wire [41:0] _T_222; // @[Counters.scala 67:28:shc.marmotcaravel.MarmotCaravelConfig.fir@224891.6]
+  wire [47:0] _GEN_3; // @[Timer.scala 206:50:shc.marmotcaravel.MarmotCaravelConfig.fir@224887.4]
+  wire [41:0] _GEN_4; // @[Timer.scala 206:50:shc.marmotcaravel.MarmotCaravelConfig.fir@224887.4]
+  wire [31:0] _T_224; // @[Timer.scala 207:125:shc.marmotcaravel.MarmotCaravelConfig.fir@224896.6]
+  wire [63:0] _T_225; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@224897.6]
+  wire [57:0] _T_226; // @[Counters.scala 67:28:shc.marmotcaravel.MarmotCaravelConfig.fir@224899.6]
+  wire [63:0] _GEN_5; // @[Timer.scala 207:77:shc.marmotcaravel.MarmotCaravelConfig.fir@224895.4]
+  wire [57:0] _GEN_6; // @[Timer.scala 207:77:shc.marmotcaravel.MarmotCaravelConfig.fir@224895.4]
+  wire [47:0] _T_227; // @[Timer.scala 210:28:shc.marmotcaravel.MarmotCaravelConfig.fir@224902.4]
+  wire [31:0] s; // @[Timer.scala 210:37:shc.marmotcaravel.MarmotCaravelConfig.fir@224903.4]
+  reg  ip_0; // @[RTC.scala 19:43:shc.marmotcaravel.MarmotCaravelConfig.fir@224978.4]
+  reg [31:0] _RAND_4;
+  AsyncResetRegVec_w1_i0 AsyncResetRegVec_w1_i0 ( // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@224868.4]
+    .clock(AsyncResetRegVec_w1_i0_clock),
+    .reset(AsyncResetRegVec_w1_i0_reset),
+    .io_d(AsyncResetRegVec_w1_i0_io_d),
+    .io_q(AsyncResetRegVec_w1_i0_io_q),
+    .io_en(AsyncResetRegVec_w1_i0_io_en)
+  );
+  assign countAlways = AsyncResetRegVec_w1_i0_io_q; // @[RTC.scala 21:123:shc.marmotcaravel.MarmotCaravelConfig.fir@224874.4]
+  assign _GEN_9 = {{5'd0}, countAlways}; // @[Counters.scala 47:33:shc.marmotcaravel.MarmotCaravelConfig.fir@224876.4]
+  assign _T_212 = _T_211 + _GEN_9; // @[Counters.scala 47:33:shc.marmotcaravel.MarmotCaravelConfig.fir@224876.4]
+  assign _T_215 = _T_212[6]; // @[Counters.scala 52:20:shc.marmotcaravel.MarmotCaravelConfig.fir@224879.4]
+  assign _T_217 = _T_214 + 42'h1; // @[Counters.scala 52:43:shc.marmotcaravel.MarmotCaravelConfig.fir@224882.6]
+  assign _GEN_2 = _T_215 ? _T_217 : _T_214; // @[Counters.scala 52:34:shc.marmotcaravel.MarmotCaravelConfig.fir@224880.4]
+  assign _T_218 = {_T_214,_T_211}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@224885.4]
+  assign _T_220 = _T_218[47:32]; // @[Timer.scala 206:71:shc.marmotcaravel.MarmotCaravelConfig.fir@224888.6]
+  assign _T_221 = {_T_220,io_regs_countLo_write_bits}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@224889.6]
+  assign _T_222 = _T_221[47:6]; // @[Counters.scala 67:28:shc.marmotcaravel.MarmotCaravelConfig.fir@224891.6]
+  assign _GEN_3 = io_regs_countLo_write_valid ? _T_221 : {{41'd0}, _T_212}; // @[Timer.scala 206:50:shc.marmotcaravel.MarmotCaravelConfig.fir@224887.4]
+  assign _GEN_4 = io_regs_countLo_write_valid ? _T_222 : _GEN_2; // @[Timer.scala 206:50:shc.marmotcaravel.MarmotCaravelConfig.fir@224887.4]
+  assign _T_224 = _T_218[31:0]; // @[Timer.scala 207:125:shc.marmotcaravel.MarmotCaravelConfig.fir@224896.6]
+  assign _T_225 = {io_regs_countHi_write_bits,_T_224}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@224897.6]
+  assign _T_226 = _T_225[63:6]; // @[Counters.scala 67:28:shc.marmotcaravel.MarmotCaravelConfig.fir@224899.6]
+  assign _GEN_5 = io_regs_countHi_write_valid ? _T_225 : {{16'd0}, _GEN_3}; // @[Timer.scala 207:77:shc.marmotcaravel.MarmotCaravelConfig.fir@224895.4]
+  assign _GEN_6 = io_regs_countHi_write_valid ? _T_226 : {{16'd0}, _GEN_4}; // @[Timer.scala 207:77:shc.marmotcaravel.MarmotCaravelConfig.fir@224895.4]
+  assign _T_227 = _T_218 >> scale; // @[Timer.scala 210:28:shc.marmotcaravel.MarmotCaravelConfig.fir@224902.4]
+  assign s = _T_227[31:0]; // @[Timer.scala 210:37:shc.marmotcaravel.MarmotCaravelConfig.fir@224903.4]
+  assign io_regs_cfg_read_ip_0 = ip_0; // @[Timer.scala 216:20:shc.marmotcaravel.MarmotCaravelConfig.fir@224977.4 Timer.scala 217:23:shc.marmotcaravel.MarmotCaravelConfig.fir@224980.4]
+  assign io_regs_cfg_read_countAlways = AsyncResetRegVec_w1_i0_io_q; // @[Timer.scala 216:20:shc.marmotcaravel.MarmotCaravelConfig.fir@224977.4 Timer.scala 222:32:shc.marmotcaravel.MarmotCaravelConfig.fir@224995.4]
+  assign io_regs_cfg_read_scale = scale; // @[Timer.scala 216:20:shc.marmotcaravel.MarmotCaravelConfig.fir@224977.4 Timer.scala 226:26:shc.marmotcaravel.MarmotCaravelConfig.fir@225000.4]
+  assign io_regs_countLo_read = _T_218[31:0]; // @[Timer.scala 228:24:shc.marmotcaravel.MarmotCaravelConfig.fir@225001.4]
+  assign io_regs_countHi_read = {{16'd0}, _T_220}; // @[Timer.scala 229:24:shc.marmotcaravel.MarmotCaravelConfig.fir@225003.4]
+  assign io_regs_s_read = _T_227[31:0]; // @[Timer.scala 230:18:shc.marmotcaravel.MarmotCaravelConfig.fir@225004.4]
+  assign io_regs_cmp_0_read = cmp_0; // @[Timer.scala 231:53:shc.marmotcaravel.MarmotCaravelConfig.fir@225005.4]
+  assign io_ip_0 = ip_0; // @[Timer.scala 234:9:shc.marmotcaravel.MarmotCaravelConfig.fir@225008.4]
+  assign AsyncResetRegVec_w1_i0_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@224870.4]
+  assign AsyncResetRegVec_w1_i0_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@224871.4]
+  assign AsyncResetRegVec_w1_i0_io_d = io_regs_cfg_write__countAlways; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224872.4]
+  assign AsyncResetRegVec_w1_i0_io_en = io_regs_cfg_write_countAlways; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@224873.4]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  scale = _RAND_0[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  cmp_0 = _RAND_1[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  _T_211 = _RAND_2[5:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {2{`RANDOM}};
+  _T_214 = _RAND_3[41:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  ip_0 = _RAND_4[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (io_regs_cfg_write_scale) begin
+      scale <= io_regs_cfg_write__scale;
+    end
+    if (io_regs_cmp_0_write_valid) begin
+      cmp_0 <= io_regs_cmp_0_write_bits;
+    end
+    _T_211 <= _GEN_5[5:0];
+    _T_214 <= _GEN_6[41:0];
+    ip_0 <= s >= cmp_0;
+  end
+endmodule
+module PMUCore( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225010.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225011.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225012.4]
+  input         io_wakeup_rtc, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
+  output        io_control_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
+  output        io_control_bits_hfclkrst, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
+  output        io_control_bits_corerst, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
+  output        io_control_bits_reserved1, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
+  output        io_control_bits_vddpaden, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
+  output        io_control_bits_reserved0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
+  input  [1:0]  io_resetCause, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
+  input         io_regs_ie_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
+  input  [3:0]  io_regs_ie_write_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
+  output [3:0]  io_regs_ie_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
+  input         io_regs_cause_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
+  output [31:0] io_regs_cause_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
+  input         io_regs_sleep_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
+  input         io_regs_key_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
+  input  [31:0] io_regs_key_write_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
+  output [31:0] io_regs_key_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
+  input         io_regs_wakeupProgram_0_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
+  input  [31:0] io_regs_wakeupProgram_0_write_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
+  output [31:0] io_regs_wakeupProgram_0_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
+  input         io_regs_wakeupProgram_1_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
+  input  [31:0] io_regs_wakeupProgram_1_write_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
+  output [31:0] io_regs_wakeupProgram_1_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
+  input         io_regs_wakeupProgram_2_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
+  input  [31:0] io_regs_wakeupProgram_2_write_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
+  output [31:0] io_regs_wakeupProgram_2_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
+  input         io_regs_wakeupProgram_3_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
+  input  [31:0] io_regs_wakeupProgram_3_write_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
+  output [31:0] io_regs_wakeupProgram_3_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
+  input         io_regs_wakeupProgram_4_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
+  input  [31:0] io_regs_wakeupProgram_4_write_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
+  output [31:0] io_regs_wakeupProgram_4_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
+  input         io_regs_wakeupProgram_5_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
+  input  [31:0] io_regs_wakeupProgram_5_write_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
+  output [31:0] io_regs_wakeupProgram_5_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
+  input         io_regs_wakeupProgram_6_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
+  input  [31:0] io_regs_wakeupProgram_6_write_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
+  output [31:0] io_regs_wakeupProgram_6_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
+  input         io_regs_wakeupProgram_7_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
+  input  [31:0] io_regs_wakeupProgram_7_write_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
+  output [31:0] io_regs_wakeupProgram_7_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
+  input         io_regs_sleepProgram_0_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
+  input  [31:0] io_regs_sleepProgram_0_write_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
+  output [31:0] io_regs_sleepProgram_0_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
+  input         io_regs_sleepProgram_1_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
+  input  [31:0] io_regs_sleepProgram_1_write_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
+  output [31:0] io_regs_sleepProgram_1_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
+  input         io_regs_sleepProgram_2_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
+  input  [31:0] io_regs_sleepProgram_2_write_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
+  output [31:0] io_regs_sleepProgram_2_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
+  input         io_regs_sleepProgram_3_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
+  input  [31:0] io_regs_sleepProgram_3_write_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
+  output [31:0] io_regs_sleepProgram_3_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
+  input         io_regs_sleepProgram_4_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
+  input  [31:0] io_regs_sleepProgram_4_write_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
+  output [31:0] io_regs_sleepProgram_4_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
+  input         io_regs_sleepProgram_5_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
+  input  [31:0] io_regs_sleepProgram_5_write_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
+  output [31:0] io_regs_sleepProgram_5_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
+  input         io_regs_sleepProgram_6_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
+  input  [31:0] io_regs_sleepProgram_6_write_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
+  output [31:0] io_regs_sleepProgram_6_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
+  input         io_regs_sleepProgram_7_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
+  input  [31:0] io_regs_sleepProgram_7_write_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
+  output [31:0] io_regs_sleepProgram_7_read // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
+);
+  reg  run; // @[PMU.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@225018.4]
+  reg [31:0] _RAND_0;
+  reg  awake; // @[PMU.scala 69:18:shc.marmotcaravel.MarmotCaravelConfig.fir@225019.4]
+  reg [31:0] _RAND_1;
+  wire  _T_135; // @[WatchdogTimer.scala 16:74:shc.marmotcaravel.MarmotCaravelConfig.fir@225020.4]
+  wire  _T_136; // @[WatchdogTimer.scala 16:74:shc.marmotcaravel.MarmotCaravelConfig.fir@225021.4]
+  wire  _T_137; // @[WatchdogTimer.scala 16:74:shc.marmotcaravel.MarmotCaravelConfig.fir@225022.4]
+  wire  _T_138; // @[WatchdogTimer.scala 16:74:shc.marmotcaravel.MarmotCaravelConfig.fir@225023.4]
+  wire  _T_139; // @[WatchdogTimer.scala 16:74:shc.marmotcaravel.MarmotCaravelConfig.fir@225024.4]
+  wire  _T_140; // @[WatchdogTimer.scala 16:74:shc.marmotcaravel.MarmotCaravelConfig.fir@225025.4]
+  wire  _T_141; // @[WatchdogTimer.scala 16:74:shc.marmotcaravel.MarmotCaravelConfig.fir@225026.4]
+  wire  _T_142; // @[WatchdogTimer.scala 16:74:shc.marmotcaravel.MarmotCaravelConfig.fir@225027.4]
+  wire  _T_143; // @[WatchdogTimer.scala 16:74:shc.marmotcaravel.MarmotCaravelConfig.fir@225028.4]
+  wire  _T_144; // @[WatchdogTimer.scala 16:74:shc.marmotcaravel.MarmotCaravelConfig.fir@225029.4]
+  wire  _T_145; // @[WatchdogTimer.scala 16:74:shc.marmotcaravel.MarmotCaravelConfig.fir@225030.4]
+  wire  _T_146; // @[WatchdogTimer.scala 16:74:shc.marmotcaravel.MarmotCaravelConfig.fir@225031.4]
+  wire  _T_147; // @[WatchdogTimer.scala 16:74:shc.marmotcaravel.MarmotCaravelConfig.fir@225032.4]
+  wire  _T_148; // @[WatchdogTimer.scala 16:74:shc.marmotcaravel.MarmotCaravelConfig.fir@225033.4]
+  wire  _T_149; // @[WatchdogTimer.scala 18:16:shc.marmotcaravel.MarmotCaravelConfig.fir@225034.4]
+  wire  _T_150; // @[WatchdogTimer.scala 18:16:shc.marmotcaravel.MarmotCaravelConfig.fir@225035.4]
+  wire  _T_151; // @[WatchdogTimer.scala 18:16:shc.marmotcaravel.MarmotCaravelConfig.fir@225036.4]
+  wire  _T_152; // @[WatchdogTimer.scala 18:16:shc.marmotcaravel.MarmotCaravelConfig.fir@225037.4]
+  wire  _T_153; // @[PMU.scala 72:38:shc.marmotcaravel.MarmotCaravelConfig.fir@225038.4]
+  wire  _T_154; // @[PMU.scala 72:63:shc.marmotcaravel.MarmotCaravelConfig.fir@225039.4]
+  wire  _T_155; // @[PMU.scala 72:60:shc.marmotcaravel.MarmotCaravelConfig.fir@225040.4]
+  wire  _T_156; // @[PMU.scala 72:111:shc.marmotcaravel.MarmotCaravelConfig.fir@225041.4]
+  reg  unlocked; // @[Reg.scala 19:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225042.4]
+  reg [31:0] _RAND_2;
+  wire  _T_158; // @[PMU.scala 74:80:shc.marmotcaravel.MarmotCaravelConfig.fir@225046.4]
+  reg  wantSleep; // @[Reg.scala 19:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225047.4]
+  reg [31:0] _RAND_3;
+  reg [2:0] pc; // @[PMU.scala 75:15:shc.marmotcaravel.MarmotCaravelConfig.fir@225051.4]
+  reg [31:0] _RAND_4;
+  reg [1:0] wakeupCause; // @[PMU.scala 76:24:shc.marmotcaravel.MarmotCaravelConfig.fir@225052.4]
+  reg [31:0] _RAND_5;
+  wire  _T_162; // @[PMU.scala 77:68:shc.marmotcaravel.MarmotCaravelConfig.fir@225053.4]
+  reg [3:0] _T_164; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@225054.4]
+  reg [31:0] _RAND_6;
+  wire [3:0] ie; // @[PMU.scala 77:81:shc.marmotcaravel.MarmotCaravelConfig.fir@225058.4]
+  reg [8:0] wakeupProgram_0; // @[PMU.scala 80:51:shc.marmotcaravel.MarmotCaravelConfig.fir@225059.4]
+  reg [31:0] _RAND_7;
+  reg [8:0] wakeupProgram_1; // @[PMU.scala 80:51:shc.marmotcaravel.MarmotCaravelConfig.fir@225060.4]
+  reg [31:0] _RAND_8;
+  reg [8:0] wakeupProgram_2; // @[PMU.scala 80:51:shc.marmotcaravel.MarmotCaravelConfig.fir@225061.4]
+  reg [31:0] _RAND_9;
+  reg [8:0] wakeupProgram_3; // @[PMU.scala 80:51:shc.marmotcaravel.MarmotCaravelConfig.fir@225062.4]
+  reg [31:0] _RAND_10;
+  reg [8:0] wakeupProgram_4; // @[PMU.scala 80:51:shc.marmotcaravel.MarmotCaravelConfig.fir@225063.4]
+  reg [31:0] _RAND_11;
+  reg [8:0] wakeupProgram_5; // @[PMU.scala 80:51:shc.marmotcaravel.MarmotCaravelConfig.fir@225064.4]
+  reg [31:0] _RAND_12;
+  reg [8:0] wakeupProgram_6; // @[PMU.scala 80:51:shc.marmotcaravel.MarmotCaravelConfig.fir@225065.4]
+  reg [31:0] _RAND_13;
+  reg [8:0] wakeupProgram_7; // @[PMU.scala 80:51:shc.marmotcaravel.MarmotCaravelConfig.fir@225066.4]
+  reg [31:0] _RAND_14;
+  reg [8:0] sleepProgram_0; // @[PMU.scala 81:49:shc.marmotcaravel.MarmotCaravelConfig.fir@225067.4]
+  reg [31:0] _RAND_15;
+  reg [8:0] sleepProgram_1; // @[PMU.scala 81:49:shc.marmotcaravel.MarmotCaravelConfig.fir@225068.4]
+  reg [31:0] _RAND_16;
+  reg [8:0] sleepProgram_2; // @[PMU.scala 81:49:shc.marmotcaravel.MarmotCaravelConfig.fir@225069.4]
+  reg [31:0] _RAND_17;
+  reg [8:0] sleepProgram_3; // @[PMU.scala 81:49:shc.marmotcaravel.MarmotCaravelConfig.fir@225070.4]
+  reg [31:0] _RAND_18;
+  reg [8:0] sleepProgram_4; // @[PMU.scala 81:49:shc.marmotcaravel.MarmotCaravelConfig.fir@225071.4]
+  reg [31:0] _RAND_19;
+  reg [8:0] sleepProgram_5; // @[PMU.scala 81:49:shc.marmotcaravel.MarmotCaravelConfig.fir@225072.4]
+  reg [31:0] _RAND_20;
+  reg [8:0] sleepProgram_6; // @[PMU.scala 81:49:shc.marmotcaravel.MarmotCaravelConfig.fir@225073.4]
+  reg [31:0] _RAND_21;
+  reg [8:0] sleepProgram_7; // @[PMU.scala 81:49:shc.marmotcaravel.MarmotCaravelConfig.fir@225074.4]
+  reg [31:0] _RAND_22;
+  wire  _T_182; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@225075.4]
+  wire [8:0] _T_183; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@225076.4]
+  wire  _T_184; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@225077.4]
+  wire [8:0] _T_185; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@225078.4]
+  wire  _T_186; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@225079.4]
+  wire [8:0] _T_187; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@225080.4]
+  wire  _T_188; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@225081.4]
+  wire [8:0] _T_189; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@225082.4]
+  wire  _T_190; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@225083.4]
+  wire [8:0] _T_191; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@225084.4]
+  wire  _T_192; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@225085.4]
+  wire [8:0] _T_193; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@225086.4]
+  wire  _T_194; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@225087.4]
+  wire [8:0] _T_195; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@225088.4]
+  wire [8:0] _T_197; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@225090.4]
+  wire [8:0] _T_199; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@225092.4]
+  wire [8:0] _T_201; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@225094.4]
+  wire [8:0] _T_203; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@225096.4]
+  wire [8:0] _T_205; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@225098.4]
+  wire [8:0] _T_207; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@225100.4]
+  wire [8:0] _T_209; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@225102.4]
+  wire [8:0] insnBits; // @[PMU.scala 82:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225103.4]
+  wire [3:0] insn_dt; // @[PMU.scala 83:43:shc.marmotcaravel.MarmotCaravelConfig.fir@225109.4]
+  reg [15:0] count; // @[PMU.scala 85:18:shc.marmotcaravel.MarmotCaravelConfig.fir@225121.4]
+  reg [31:0] _RAND_23;
+  wire [15:0] _T_222; // @[PMU.scala 86:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225123.4]
+  wire [15:0] _T_223; // @[PMU.scala 86:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225124.4]
+  wire [15:0] _T_224; // @[PMU.scala 86:35:shc.marmotcaravel.MarmotCaravelConfig.fir@225125.4]
+  wire  tick; // @[PMU.scala 86:35:shc.marmotcaravel.MarmotCaravelConfig.fir@225126.4]
+  wire [3:0] npc; // @[PMU.scala 87:16:shc.marmotcaravel.MarmotCaravelConfig.fir@225127.4]
+  wire  last; // @[PMU.scala 88:18:shc.marmotcaravel.MarmotCaravelConfig.fir@225128.4]
+  wire  _T_225; // @[PMU.scala 89:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225129.4]
+  wire  _T_226; // @[PMU.scala 89:27:shc.marmotcaravel.MarmotCaravelConfig.fir@225130.4]
+  wire [3:0] _GEN_5; // @[PMU.scala 94:17:shc.marmotcaravel.MarmotCaravelConfig.fir@225138.6]
+  wire [1:0] _T_231; // @[PMU.scala 102:45:shc.marmotcaravel.MarmotCaravelConfig.fir@225146.6]
+  wire [3:0] _T_233; // @[PMU.scala 102:45:shc.marmotcaravel.MarmotCaravelConfig.fir@225148.6]
+  wire [3:0] _T_234; // @[PMU.scala 102:33:shc.marmotcaravel.MarmotCaravelConfig.fir@225149.6]
+  wire  _T_235; // @[PMU.scala 103:11:shc.marmotcaravel.MarmotCaravelConfig.fir@225150.6]
+  wire  _T_236; // @[PMU.scala 103:40:shc.marmotcaravel.MarmotCaravelConfig.fir@225151.6]
+  wire  _T_237; // @[PMU.scala 103:18:shc.marmotcaravel.MarmotCaravelConfig.fir@225152.6]
+  wire  _T_238; // @[OneHot.scala 39:40:shc.marmotcaravel.MarmotCaravelConfig.fir@225156.8]
+  wire  _T_239; // @[OneHot.scala 39:40:shc.marmotcaravel.MarmotCaravelConfig.fir@225157.8]
+  wire  _T_240; // @[OneHot.scala 39:40:shc.marmotcaravel.MarmotCaravelConfig.fir@225158.8]
+  wire  _T_245; // @[PMU.scala 108:17:shc.marmotcaravel.MarmotCaravelConfig.fir@225165.6]
+  wire [3:0] _GEN_14; // @[PMU.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@225134.4]
+  wire [9:0] _GEN_34; // @[PMU.scala 115:54:shc.marmotcaravel.MarmotCaravelConfig.fir@225172.4]
+  wire [9:0] _T_246; // @[PMU.scala 115:54:shc.marmotcaravel.MarmotCaravelConfig.fir@225172.4]
+  wire [9:0] _GEN_35; // @[PMU.scala 115:37:shc.marmotcaravel.MarmotCaravelConfig.fir@225173.4]
+  wire [9:0] _T_247; // @[PMU.scala 115:37:shc.marmotcaravel.MarmotCaravelConfig.fir@225173.4]
+  wire  _T_248; // @[PMU.scala 122:28:shc.marmotcaravel.MarmotCaravelConfig.fir@225179.4]
+  wire [31:0] _GEN_18; // @[PMU.scala 122:41:shc.marmotcaravel.MarmotCaravelConfig.fir@225180.4]
+  wire  _T_249; // @[PMU.scala 122:28:shc.marmotcaravel.MarmotCaravelConfig.fir@225184.4]
+  wire [31:0] _GEN_19; // @[PMU.scala 122:41:shc.marmotcaravel.MarmotCaravelConfig.fir@225185.4]
+  wire  _T_250; // @[PMU.scala 122:28:shc.marmotcaravel.MarmotCaravelConfig.fir@225189.4]
+  wire [31:0] _GEN_20; // @[PMU.scala 122:41:shc.marmotcaravel.MarmotCaravelConfig.fir@225190.4]
+  wire  _T_251; // @[PMU.scala 122:28:shc.marmotcaravel.MarmotCaravelConfig.fir@225194.4]
+  wire [31:0] _GEN_21; // @[PMU.scala 122:41:shc.marmotcaravel.MarmotCaravelConfig.fir@225195.4]
+  wire  _T_252; // @[PMU.scala 122:28:shc.marmotcaravel.MarmotCaravelConfig.fir@225199.4]
+  wire [31:0] _GEN_22; // @[PMU.scala 122:41:shc.marmotcaravel.MarmotCaravelConfig.fir@225200.4]
+  wire  _T_253; // @[PMU.scala 122:28:shc.marmotcaravel.MarmotCaravelConfig.fir@225204.4]
+  wire [31:0] _GEN_23; // @[PMU.scala 122:41:shc.marmotcaravel.MarmotCaravelConfig.fir@225205.4]
+  wire  _T_254; // @[PMU.scala 122:28:shc.marmotcaravel.MarmotCaravelConfig.fir@225209.4]
+  wire [31:0] _GEN_24; // @[PMU.scala 122:41:shc.marmotcaravel.MarmotCaravelConfig.fir@225210.4]
+  wire  _T_255; // @[PMU.scala 122:28:shc.marmotcaravel.MarmotCaravelConfig.fir@225214.4]
+  wire [31:0] _GEN_25; // @[PMU.scala 122:41:shc.marmotcaravel.MarmotCaravelConfig.fir@225215.4]
+  wire  _T_256; // @[PMU.scala 122:28:shc.marmotcaravel.MarmotCaravelConfig.fir@225219.4]
+  wire [31:0] _GEN_26; // @[PMU.scala 122:41:shc.marmotcaravel.MarmotCaravelConfig.fir@225220.4]
+  wire  _T_257; // @[PMU.scala 122:28:shc.marmotcaravel.MarmotCaravelConfig.fir@225224.4]
+  wire [31:0] _GEN_27; // @[PMU.scala 122:41:shc.marmotcaravel.MarmotCaravelConfig.fir@225225.4]
+  wire  _T_258; // @[PMU.scala 122:28:shc.marmotcaravel.MarmotCaravelConfig.fir@225229.4]
+  wire [31:0] _GEN_28; // @[PMU.scala 122:41:shc.marmotcaravel.MarmotCaravelConfig.fir@225230.4]
+  wire  _T_259; // @[PMU.scala 122:28:shc.marmotcaravel.MarmotCaravelConfig.fir@225234.4]
+  wire [31:0] _GEN_29; // @[PMU.scala 122:41:shc.marmotcaravel.MarmotCaravelConfig.fir@225235.4]
+  wire  _T_260; // @[PMU.scala 122:28:shc.marmotcaravel.MarmotCaravelConfig.fir@225239.4]
+  wire [31:0] _GEN_30; // @[PMU.scala 122:41:shc.marmotcaravel.MarmotCaravelConfig.fir@225240.4]
+  wire  _T_261; // @[PMU.scala 122:28:shc.marmotcaravel.MarmotCaravelConfig.fir@225244.4]
+  wire [31:0] _GEN_31; // @[PMU.scala 122:41:shc.marmotcaravel.MarmotCaravelConfig.fir@225245.4]
+  wire  _T_262; // @[PMU.scala 122:28:shc.marmotcaravel.MarmotCaravelConfig.fir@225249.4]
+  wire [31:0] _GEN_32; // @[PMU.scala 122:41:shc.marmotcaravel.MarmotCaravelConfig.fir@225250.4]
+  wire  _T_263; // @[PMU.scala 122:28:shc.marmotcaravel.MarmotCaravelConfig.fir@225254.4]
+  wire [31:0] _GEN_33; // @[PMU.scala 122:41:shc.marmotcaravel.MarmotCaravelConfig.fir@225255.4]
+  assign _T_135 = io_regs_sleepProgram_0_write_valid | io_regs_sleepProgram_1_write_valid; // @[WatchdogTimer.scala 16:74:shc.marmotcaravel.MarmotCaravelConfig.fir@225020.4]
+  assign _T_136 = _T_135 | io_regs_sleepProgram_2_write_valid; // @[WatchdogTimer.scala 16:74:shc.marmotcaravel.MarmotCaravelConfig.fir@225021.4]
+  assign _T_137 = _T_136 | io_regs_sleepProgram_3_write_valid; // @[WatchdogTimer.scala 16:74:shc.marmotcaravel.MarmotCaravelConfig.fir@225022.4]
+  assign _T_138 = _T_137 | io_regs_sleepProgram_4_write_valid; // @[WatchdogTimer.scala 16:74:shc.marmotcaravel.MarmotCaravelConfig.fir@225023.4]
+  assign _T_139 = _T_138 | io_regs_sleepProgram_5_write_valid; // @[WatchdogTimer.scala 16:74:shc.marmotcaravel.MarmotCaravelConfig.fir@225024.4]
+  assign _T_140 = _T_139 | io_regs_sleepProgram_6_write_valid; // @[WatchdogTimer.scala 16:74:shc.marmotcaravel.MarmotCaravelConfig.fir@225025.4]
+  assign _T_141 = _T_140 | io_regs_sleepProgram_7_write_valid; // @[WatchdogTimer.scala 16:74:shc.marmotcaravel.MarmotCaravelConfig.fir@225026.4]
+  assign _T_142 = io_regs_wakeupProgram_0_write_valid | io_regs_wakeupProgram_1_write_valid; // @[WatchdogTimer.scala 16:74:shc.marmotcaravel.MarmotCaravelConfig.fir@225027.4]
+  assign _T_143 = _T_142 | io_regs_wakeupProgram_2_write_valid; // @[WatchdogTimer.scala 16:74:shc.marmotcaravel.MarmotCaravelConfig.fir@225028.4]
+  assign _T_144 = _T_143 | io_regs_wakeupProgram_3_write_valid; // @[WatchdogTimer.scala 16:74:shc.marmotcaravel.MarmotCaravelConfig.fir@225029.4]
+  assign _T_145 = _T_144 | io_regs_wakeupProgram_4_write_valid; // @[WatchdogTimer.scala 16:74:shc.marmotcaravel.MarmotCaravelConfig.fir@225030.4]
+  assign _T_146 = _T_145 | io_regs_wakeupProgram_5_write_valid; // @[WatchdogTimer.scala 16:74:shc.marmotcaravel.MarmotCaravelConfig.fir@225031.4]
+  assign _T_147 = _T_146 | io_regs_wakeupProgram_6_write_valid; // @[WatchdogTimer.scala 16:74:shc.marmotcaravel.MarmotCaravelConfig.fir@225032.4]
+  assign _T_148 = _T_147 | io_regs_wakeupProgram_7_write_valid; // @[WatchdogTimer.scala 16:74:shc.marmotcaravel.MarmotCaravelConfig.fir@225033.4]
+  assign _T_149 = _T_141 | _T_148; // @[WatchdogTimer.scala 18:16:shc.marmotcaravel.MarmotCaravelConfig.fir@225034.4]
+  assign _T_150 = _T_149 | io_regs_sleep_write_valid; // @[WatchdogTimer.scala 18:16:shc.marmotcaravel.MarmotCaravelConfig.fir@225035.4]
+  assign _T_151 = _T_150 | io_regs_cause_write_valid; // @[WatchdogTimer.scala 18:16:shc.marmotcaravel.MarmotCaravelConfig.fir@225036.4]
+  assign _T_152 = _T_151 | io_regs_ie_write_valid; // @[WatchdogTimer.scala 18:16:shc.marmotcaravel.MarmotCaravelConfig.fir@225037.4]
+  assign _T_153 = io_regs_key_write_bits == 32'h51f15e; // @[PMU.scala 72:38:shc.marmotcaravel.MarmotCaravelConfig.fir@225038.4]
+  assign _T_154 = _T_152 == 1'h0; // @[PMU.scala 72:63:shc.marmotcaravel.MarmotCaravelConfig.fir@225039.4]
+  assign _T_155 = _T_153 & _T_154; // @[PMU.scala 72:60:shc.marmotcaravel.MarmotCaravelConfig.fir@225040.4]
+  assign _T_156 = io_regs_key_write_valid | _T_152; // @[PMU.scala 72:111:shc.marmotcaravel.MarmotCaravelConfig.fir@225041.4]
+  assign _T_158 = io_regs_sleep_write_valid & unlocked; // @[PMU.scala 74:80:shc.marmotcaravel.MarmotCaravelConfig.fir@225046.4]
+  assign _T_162 = io_regs_ie_write_valid & unlocked; // @[PMU.scala 77:68:shc.marmotcaravel.MarmotCaravelConfig.fir@225053.4]
+  assign ie = _T_164 | 4'h1; // @[PMU.scala 77:81:shc.marmotcaravel.MarmotCaravelConfig.fir@225058.4]
+  assign _T_182 = pc == 3'h1; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@225075.4]
+  assign _T_183 = _T_182 ? wakeupProgram_1 : wakeupProgram_0; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@225076.4]
+  assign _T_184 = pc == 3'h2; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@225077.4]
+  assign _T_185 = _T_184 ? wakeupProgram_2 : _T_183; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@225078.4]
+  assign _T_186 = pc == 3'h3; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@225079.4]
+  assign _T_187 = _T_186 ? wakeupProgram_3 : _T_185; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@225080.4]
+  assign _T_188 = pc == 3'h4; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@225081.4]
+  assign _T_189 = _T_188 ? wakeupProgram_4 : _T_187; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@225082.4]
+  assign _T_190 = pc == 3'h5; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@225083.4]
+  assign _T_191 = _T_190 ? wakeupProgram_5 : _T_189; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@225084.4]
+  assign _T_192 = pc == 3'h6; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@225085.4]
+  assign _T_193 = _T_192 ? wakeupProgram_6 : _T_191; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@225086.4]
+  assign _T_194 = pc == 3'h7; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@225087.4]
+  assign _T_195 = _T_194 ? wakeupProgram_7 : _T_193; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@225088.4]
+  assign _T_197 = _T_182 ? sleepProgram_1 : sleepProgram_0; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@225090.4]
+  assign _T_199 = _T_184 ? sleepProgram_2 : _T_197; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@225092.4]
+  assign _T_201 = _T_186 ? sleepProgram_3 : _T_199; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@225094.4]
+  assign _T_203 = _T_188 ? sleepProgram_4 : _T_201; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@225096.4]
+  assign _T_205 = _T_190 ? sleepProgram_5 : _T_203; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@225098.4]
+  assign _T_207 = _T_192 ? sleepProgram_6 : _T_205; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@225100.4]
+  assign _T_209 = _T_194 ? sleepProgram_7 : _T_207; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@225102.4]
+  assign insnBits = awake ? _T_195 : _T_209; // @[PMU.scala 82:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225103.4]
+  assign insn_dt = insnBits[3:0]; // @[PMU.scala 83:43:shc.marmotcaravel.MarmotCaravelConfig.fir@225109.4]
+  assign _T_222 = count + 16'h1; // @[PMU.scala 86:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225123.4]
+  assign _T_223 = count ^ _T_222; // @[PMU.scala 86:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225124.4]
+  assign _T_224 = _T_223 >> insn_dt; // @[PMU.scala 86:35:shc.marmotcaravel.MarmotCaravelConfig.fir@225125.4]
+  assign tick = _T_224[0]; // @[PMU.scala 86:35:shc.marmotcaravel.MarmotCaravelConfig.fir@225126.4]
+  assign npc = pc + 3'h1; // @[PMU.scala 87:16:shc.marmotcaravel.MarmotCaravelConfig.fir@225127.4]
+  assign last = npc >= 4'h8; // @[PMU.scala 88:18:shc.marmotcaravel.MarmotCaravelConfig.fir@225128.4]
+  assign _T_225 = last == 1'h0; // @[PMU.scala 89:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225129.4]
+  assign _T_226 = run & _T_225; // @[PMU.scala 89:27:shc.marmotcaravel.MarmotCaravelConfig.fir@225130.4]
+  assign _GEN_5 = tick ? npc : {{1'd0}, pc}; // @[PMU.scala 94:17:shc.marmotcaravel.MarmotCaravelConfig.fir@225138.6]
+  assign _T_231 = {io_wakeup_rtc,1'h0}; // @[PMU.scala 102:45:shc.marmotcaravel.MarmotCaravelConfig.fir@225146.6]
+  assign _T_233 = {2'h1,_T_231}; // @[PMU.scala 102:45:shc.marmotcaravel.MarmotCaravelConfig.fir@225148.6]
+  assign _T_234 = ie & _T_233; // @[PMU.scala 102:33:shc.marmotcaravel.MarmotCaravelConfig.fir@225149.6]
+  assign _T_235 = awake == 1'h0; // @[PMU.scala 103:11:shc.marmotcaravel.MarmotCaravelConfig.fir@225150.6]
+  assign _T_236 = _T_234 != 4'h0; // @[PMU.scala 103:40:shc.marmotcaravel.MarmotCaravelConfig.fir@225151.6]
+  assign _T_237 = _T_235 & _T_236; // @[PMU.scala 103:18:shc.marmotcaravel.MarmotCaravelConfig.fir@225152.6]
+  assign _T_238 = _T_234[0]; // @[OneHot.scala 39:40:shc.marmotcaravel.MarmotCaravelConfig.fir@225156.8]
+  assign _T_239 = _T_234[1]; // @[OneHot.scala 39:40:shc.marmotcaravel.MarmotCaravelConfig.fir@225157.8]
+  assign _T_240 = _T_234[2]; // @[OneHot.scala 39:40:shc.marmotcaravel.MarmotCaravelConfig.fir@225158.8]
+  assign _T_245 = awake & wantSleep; // @[PMU.scala 108:17:shc.marmotcaravel.MarmotCaravelConfig.fir@225165.6]
+  assign _GEN_14 = run ? _GEN_5 : {{1'd0}, pc}; // @[PMU.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@225134.4]
+  assign _GEN_34 = {{8'd0}, io_resetCause}; // @[PMU.scala 115:54:shc.marmotcaravel.MarmotCaravelConfig.fir@225172.4]
+  assign _T_246 = _GEN_34 << 8; // @[PMU.scala 115:54:shc.marmotcaravel.MarmotCaravelConfig.fir@225172.4]
+  assign _GEN_35 = {{8'd0}, wakeupCause}; // @[PMU.scala 115:37:shc.marmotcaravel.MarmotCaravelConfig.fir@225173.4]
+  assign _T_247 = _GEN_35 | _T_246; // @[PMU.scala 115:37:shc.marmotcaravel.MarmotCaravelConfig.fir@225173.4]
+  assign _T_248 = io_regs_wakeupProgram_0_write_valid & unlocked; // @[PMU.scala 122:28:shc.marmotcaravel.MarmotCaravelConfig.fir@225179.4]
+  assign _GEN_18 = _T_248 ? io_regs_wakeupProgram_0_write_bits : {{23'd0}, wakeupProgram_0}; // @[PMU.scala 122:41:shc.marmotcaravel.MarmotCaravelConfig.fir@225180.4]
+  assign _T_249 = io_regs_wakeupProgram_1_write_valid & unlocked; // @[PMU.scala 122:28:shc.marmotcaravel.MarmotCaravelConfig.fir@225184.4]
+  assign _GEN_19 = _T_249 ? io_regs_wakeupProgram_1_write_bits : {{23'd0}, wakeupProgram_1}; // @[PMU.scala 122:41:shc.marmotcaravel.MarmotCaravelConfig.fir@225185.4]
+  assign _T_250 = io_regs_wakeupProgram_2_write_valid & unlocked; // @[PMU.scala 122:28:shc.marmotcaravel.MarmotCaravelConfig.fir@225189.4]
+  assign _GEN_20 = _T_250 ? io_regs_wakeupProgram_2_write_bits : {{23'd0}, wakeupProgram_2}; // @[PMU.scala 122:41:shc.marmotcaravel.MarmotCaravelConfig.fir@225190.4]
+  assign _T_251 = io_regs_wakeupProgram_3_write_valid & unlocked; // @[PMU.scala 122:28:shc.marmotcaravel.MarmotCaravelConfig.fir@225194.4]
+  assign _GEN_21 = _T_251 ? io_regs_wakeupProgram_3_write_bits : {{23'd0}, wakeupProgram_3}; // @[PMU.scala 122:41:shc.marmotcaravel.MarmotCaravelConfig.fir@225195.4]
+  assign _T_252 = io_regs_wakeupProgram_4_write_valid & unlocked; // @[PMU.scala 122:28:shc.marmotcaravel.MarmotCaravelConfig.fir@225199.4]
+  assign _GEN_22 = _T_252 ? io_regs_wakeupProgram_4_write_bits : {{23'd0}, wakeupProgram_4}; // @[PMU.scala 122:41:shc.marmotcaravel.MarmotCaravelConfig.fir@225200.4]
+  assign _T_253 = io_regs_wakeupProgram_5_write_valid & unlocked; // @[PMU.scala 122:28:shc.marmotcaravel.MarmotCaravelConfig.fir@225204.4]
+  assign _GEN_23 = _T_253 ? io_regs_wakeupProgram_5_write_bits : {{23'd0}, wakeupProgram_5}; // @[PMU.scala 122:41:shc.marmotcaravel.MarmotCaravelConfig.fir@225205.4]
+  assign _T_254 = io_regs_wakeupProgram_6_write_valid & unlocked; // @[PMU.scala 122:28:shc.marmotcaravel.MarmotCaravelConfig.fir@225209.4]
+  assign _GEN_24 = _T_254 ? io_regs_wakeupProgram_6_write_bits : {{23'd0}, wakeupProgram_6}; // @[PMU.scala 122:41:shc.marmotcaravel.MarmotCaravelConfig.fir@225210.4]
+  assign _T_255 = io_regs_wakeupProgram_7_write_valid & unlocked; // @[PMU.scala 122:28:shc.marmotcaravel.MarmotCaravelConfig.fir@225214.4]
+  assign _GEN_25 = _T_255 ? io_regs_wakeupProgram_7_write_bits : {{23'd0}, wakeupProgram_7}; // @[PMU.scala 122:41:shc.marmotcaravel.MarmotCaravelConfig.fir@225215.4]
+  assign _T_256 = io_regs_sleepProgram_0_write_valid & unlocked; // @[PMU.scala 122:28:shc.marmotcaravel.MarmotCaravelConfig.fir@225219.4]
+  assign _GEN_26 = _T_256 ? io_regs_sleepProgram_0_write_bits : {{23'd0}, sleepProgram_0}; // @[PMU.scala 122:41:shc.marmotcaravel.MarmotCaravelConfig.fir@225220.4]
+  assign _T_257 = io_regs_sleepProgram_1_write_valid & unlocked; // @[PMU.scala 122:28:shc.marmotcaravel.MarmotCaravelConfig.fir@225224.4]
+  assign _GEN_27 = _T_257 ? io_regs_sleepProgram_1_write_bits : {{23'd0}, sleepProgram_1}; // @[PMU.scala 122:41:shc.marmotcaravel.MarmotCaravelConfig.fir@225225.4]
+  assign _T_258 = io_regs_sleepProgram_2_write_valid & unlocked; // @[PMU.scala 122:28:shc.marmotcaravel.MarmotCaravelConfig.fir@225229.4]
+  assign _GEN_28 = _T_258 ? io_regs_sleepProgram_2_write_bits : {{23'd0}, sleepProgram_2}; // @[PMU.scala 122:41:shc.marmotcaravel.MarmotCaravelConfig.fir@225230.4]
+  assign _T_259 = io_regs_sleepProgram_3_write_valid & unlocked; // @[PMU.scala 122:28:shc.marmotcaravel.MarmotCaravelConfig.fir@225234.4]
+  assign _GEN_29 = _T_259 ? io_regs_sleepProgram_3_write_bits : {{23'd0}, sleepProgram_3}; // @[PMU.scala 122:41:shc.marmotcaravel.MarmotCaravelConfig.fir@225235.4]
+  assign _T_260 = io_regs_sleepProgram_4_write_valid & unlocked; // @[PMU.scala 122:28:shc.marmotcaravel.MarmotCaravelConfig.fir@225239.4]
+  assign _GEN_30 = _T_260 ? io_regs_sleepProgram_4_write_bits : {{23'd0}, sleepProgram_4}; // @[PMU.scala 122:41:shc.marmotcaravel.MarmotCaravelConfig.fir@225240.4]
+  assign _T_261 = io_regs_sleepProgram_5_write_valid & unlocked; // @[PMU.scala 122:28:shc.marmotcaravel.MarmotCaravelConfig.fir@225244.4]
+  assign _GEN_31 = _T_261 ? io_regs_sleepProgram_5_write_bits : {{23'd0}, sleepProgram_5}; // @[PMU.scala 122:41:shc.marmotcaravel.MarmotCaravelConfig.fir@225245.4]
+  assign _T_262 = io_regs_sleepProgram_6_write_valid & unlocked; // @[PMU.scala 122:28:shc.marmotcaravel.MarmotCaravelConfig.fir@225249.4]
+  assign _GEN_32 = _T_262 ? io_regs_sleepProgram_6_write_bits : {{23'd0}, sleepProgram_6}; // @[PMU.scala 122:41:shc.marmotcaravel.MarmotCaravelConfig.fir@225250.4]
+  assign _T_263 = io_regs_sleepProgram_7_write_valid & unlocked; // @[PMU.scala 122:28:shc.marmotcaravel.MarmotCaravelConfig.fir@225254.4]
+  assign _GEN_33 = _T_263 ? io_regs_sleepProgram_7_write_bits : {{23'd0}, sleepProgram_7}; // @[PMU.scala 122:41:shc.marmotcaravel.MarmotCaravelConfig.fir@225255.4]
+  assign io_control_valid = _T_226 & tick; // @[PMU.scala 89:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225132.4]
+  assign io_control_bits_hfclkrst = insnBits[8]; // @[PMU.scala 90:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225133.4]
+  assign io_control_bits_corerst = insnBits[7]; // @[PMU.scala 90:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225133.4]
+  assign io_control_bits_reserved1 = insnBits[6]; // @[PMU.scala 90:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225133.4]
+  assign io_control_bits_vddpaden = insnBits[5]; // @[PMU.scala 90:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225133.4]
+  assign io_control_bits_reserved0 = insnBits[4]; // @[PMU.scala 90:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225133.4]
+  assign io_regs_ie_read = _T_164 | 4'h1; // @[PMU.scala 116:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225175.4]
+  assign io_regs_cause_read = {{22'd0}, _T_247}; // @[PMU.scala 115:22:shc.marmotcaravel.MarmotCaravelConfig.fir@225174.4]
+  assign io_regs_key_read = {{31'd0}, unlocked}; // @[PMU.scala 117:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225176.4]
+  assign io_regs_wakeupProgram_0_read = {{23'd0}, wakeupProgram_0}; // @[PMU.scala 121:15:shc.marmotcaravel.MarmotCaravelConfig.fir@225178.4]
+  assign io_regs_wakeupProgram_1_read = {{23'd0}, wakeupProgram_1}; // @[PMU.scala 121:15:shc.marmotcaravel.MarmotCaravelConfig.fir@225183.4]
+  assign io_regs_wakeupProgram_2_read = {{23'd0}, wakeupProgram_2}; // @[PMU.scala 121:15:shc.marmotcaravel.MarmotCaravelConfig.fir@225188.4]
+  assign io_regs_wakeupProgram_3_read = {{23'd0}, wakeupProgram_3}; // @[PMU.scala 121:15:shc.marmotcaravel.MarmotCaravelConfig.fir@225193.4]
+  assign io_regs_wakeupProgram_4_read = {{23'd0}, wakeupProgram_4}; // @[PMU.scala 121:15:shc.marmotcaravel.MarmotCaravelConfig.fir@225198.4]
+  assign io_regs_wakeupProgram_5_read = {{23'd0}, wakeupProgram_5}; // @[PMU.scala 121:15:shc.marmotcaravel.MarmotCaravelConfig.fir@225203.4]
+  assign io_regs_wakeupProgram_6_read = {{23'd0}, wakeupProgram_6}; // @[PMU.scala 121:15:shc.marmotcaravel.MarmotCaravelConfig.fir@225208.4]
+  assign io_regs_wakeupProgram_7_read = {{23'd0}, wakeupProgram_7}; // @[PMU.scala 121:15:shc.marmotcaravel.MarmotCaravelConfig.fir@225213.4]
+  assign io_regs_sleepProgram_0_read = {{23'd0}, sleepProgram_0}; // @[PMU.scala 121:15:shc.marmotcaravel.MarmotCaravelConfig.fir@225218.4]
+  assign io_regs_sleepProgram_1_read = {{23'd0}, sleepProgram_1}; // @[PMU.scala 121:15:shc.marmotcaravel.MarmotCaravelConfig.fir@225223.4]
+  assign io_regs_sleepProgram_2_read = {{23'd0}, sleepProgram_2}; // @[PMU.scala 121:15:shc.marmotcaravel.MarmotCaravelConfig.fir@225228.4]
+  assign io_regs_sleepProgram_3_read = {{23'd0}, sleepProgram_3}; // @[PMU.scala 121:15:shc.marmotcaravel.MarmotCaravelConfig.fir@225233.4]
+  assign io_regs_sleepProgram_4_read = {{23'd0}, sleepProgram_4}; // @[PMU.scala 121:15:shc.marmotcaravel.MarmotCaravelConfig.fir@225238.4]
+  assign io_regs_sleepProgram_5_read = {{23'd0}, sleepProgram_5}; // @[PMU.scala 121:15:shc.marmotcaravel.MarmotCaravelConfig.fir@225243.4]
+  assign io_regs_sleepProgram_6_read = {{23'd0}, sleepProgram_6}; // @[PMU.scala 121:15:shc.marmotcaravel.MarmotCaravelConfig.fir@225248.4]
+  assign io_regs_sleepProgram_7_read = {{23'd0}, sleepProgram_7}; // @[PMU.scala 121:15:shc.marmotcaravel.MarmotCaravelConfig.fir@225253.4]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  run = _RAND_0[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  awake = _RAND_1[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  unlocked = _RAND_2[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  wantSleep = _RAND_3[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  pc = _RAND_4[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  wakeupCause = _RAND_5[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {1{`RANDOM}};
+  _T_164 = _RAND_6[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {1{`RANDOM}};
+  wakeupProgram_0 = _RAND_7[8:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_8 = {1{`RANDOM}};
+  wakeupProgram_1 = _RAND_8[8:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_9 = {1{`RANDOM}};
+  wakeupProgram_2 = _RAND_9[8:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_10 = {1{`RANDOM}};
+  wakeupProgram_3 = _RAND_10[8:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_11 = {1{`RANDOM}};
+  wakeupProgram_4 = _RAND_11[8:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_12 = {1{`RANDOM}};
+  wakeupProgram_5 = _RAND_12[8:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_13 = {1{`RANDOM}};
+  wakeupProgram_6 = _RAND_13[8:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_14 = {1{`RANDOM}};
+  wakeupProgram_7 = _RAND_14[8:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_15 = {1{`RANDOM}};
+  sleepProgram_0 = _RAND_15[8:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_16 = {1{`RANDOM}};
+  sleepProgram_1 = _RAND_16[8:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_17 = {1{`RANDOM}};
+  sleepProgram_2 = _RAND_17[8:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_18 = {1{`RANDOM}};
+  sleepProgram_3 = _RAND_18[8:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_19 = {1{`RANDOM}};
+  sleepProgram_4 = _RAND_19[8:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_20 = {1{`RANDOM}};
+  sleepProgram_5 = _RAND_20[8:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_21 = {1{`RANDOM}};
+  sleepProgram_6 = _RAND_21[8:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_22 = {1{`RANDOM}};
+  sleepProgram_7 = _RAND_22[8:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_23 = {1{`RANDOM}};
+  count = _RAND_23[15:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      run <= 1'h1;
+    end else begin
+      if (run) begin
+        if (tick) begin
+          run <= _T_225;
+        end
+      end else begin
+        if (_T_245) begin
+          run <= 1'h1;
+        end else begin
+          if (_T_237) begin
+            run <= 1'h1;
+          end
+        end
+      end
+    end
+    if (reset) begin
+      awake <= 1'h1;
+    end else begin
+      if (!(run)) begin
+        if (_T_245) begin
+          awake <= 1'h0;
+        end else begin
+          if (_T_237) begin
+            awake <= 1'h1;
+          end
+        end
+      end
+    end
+    if (reset) begin
+      unlocked <= 1'h0;
+    end else begin
+      if (_T_156) begin
+        unlocked <= _T_155;
+      end
+    end
+    if (reset) begin
+      wantSleep <= 1'h0;
+    end else begin
+      if (run) begin
+        if (_T_158) begin
+          wantSleep <= 1'h1;
+        end
+      end else begin
+        if (_T_245) begin
+          wantSleep <= 1'h0;
+        end else begin
+          if (_T_158) begin
+            wantSleep <= 1'h1;
+          end
+        end
+      end
+    end
+    if (reset) begin
+      pc <= 3'h0;
+    end else begin
+      pc <= _GEN_14[2:0];
+    end
+    if (reset) begin
+      wakeupCause <= 2'h0;
+    end else begin
+      if (!(run)) begin
+        if (_T_237) begin
+          if (_T_238) begin
+            wakeupCause <= 2'h0;
+          end else begin
+            if (_T_239) begin
+              wakeupCause <= 2'h1;
+            end else begin
+              if (_T_240) begin
+                wakeupCause <= 2'h2;
+              end else begin
+                wakeupCause <= 2'h3;
+              end
+            end
+          end
+        end
+      end
+    end
+    if (_T_162) begin
+      _T_164 <= io_regs_ie_write_bits;
+    end
+    if (reset) begin
+      wakeupProgram_0 <= 9'h1f0;
+    end else begin
+      wakeupProgram_0 <= _GEN_18[8:0];
+    end
+    if (reset) begin
+      wakeupProgram_1 <= 9'hf8;
+    end else begin
+      wakeupProgram_1 <= _GEN_19[8:0];
+    end
+    if (reset) begin
+      wakeupProgram_2 <= 9'h30;
+    end else begin
+      wakeupProgram_2 <= _GEN_20[8:0];
+    end
+    if (reset) begin
+      wakeupProgram_3 <= 9'h30;
+    end else begin
+      wakeupProgram_3 <= _GEN_21[8:0];
+    end
+    if (reset) begin
+      wakeupProgram_4 <= 9'h30;
+    end else begin
+      wakeupProgram_4 <= _GEN_22[8:0];
+    end
+    if (reset) begin
+      wakeupProgram_5 <= 9'h30;
+    end else begin
+      wakeupProgram_5 <= _GEN_23[8:0];
+    end
+    if (reset) begin
+      wakeupProgram_6 <= 9'h30;
+    end else begin
+      wakeupProgram_6 <= _GEN_24[8:0];
+    end
+    if (reset) begin
+      wakeupProgram_7 <= 9'h30;
+    end else begin
+      wakeupProgram_7 <= _GEN_25[8:0];
+    end
+    if (reset) begin
+      sleepProgram_0 <= 9'hf0;
+    end else begin
+      sleepProgram_0 <= _GEN_26[8:0];
+    end
+    if (reset) begin
+      sleepProgram_1 <= 9'h1f0;
+    end else begin
+      sleepProgram_1 <= _GEN_27[8:0];
+    end
+    if (reset) begin
+      sleepProgram_2 <= 9'h1d0;
+    end else begin
+      sleepProgram_2 <= _GEN_28[8:0];
+    end
+    if (reset) begin
+      sleepProgram_3 <= 9'h1c0;
+    end else begin
+      sleepProgram_3 <= _GEN_29[8:0];
+    end
+    if (reset) begin
+      sleepProgram_4 <= 9'h1c0;
+    end else begin
+      sleepProgram_4 <= _GEN_30[8:0];
+    end
+    if (reset) begin
+      sleepProgram_5 <= 9'h1c0;
+    end else begin
+      sleepProgram_5 <= _GEN_31[8:0];
+    end
+    if (reset) begin
+      sleepProgram_6 <= 9'h1c0;
+    end else begin
+      sleepProgram_6 <= _GEN_32[8:0];
+    end
+    if (reset) begin
+      sleepProgram_7 <= 9'h1c0;
+    end else begin
+      sleepProgram_7 <= _GEN_33[8:0];
+    end
+    if (reset) begin
+      count <= 16'h0;
+    end else begin
+      if (run) begin
+        if (tick) begin
+          count <= 16'h0;
+        end else begin
+          count <= _T_222;
+        end
+      end
+    end
+  end
+endmodule
+module AsyncResetRegVec_w5_i0( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225309.2]
+  input        clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225310.4]
+  input        reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225311.4]
+  input  [4:0] io_d, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225312.4]
+  output [4:0] io_q, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225312.4]
+  input        io_en // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225312.4]
+);
+  wire  reg_0_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@225317.4]
+  wire  reg_0_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@225317.4]
+  wire  reg_0_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@225317.4]
+  wire  reg_0_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@225317.4]
+  wire  reg_0_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@225317.4]
+  wire  reg_1_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@225323.4]
+  wire  reg_1_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@225323.4]
+  wire  reg_1_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@225323.4]
+  wire  reg_1_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@225323.4]
+  wire  reg_1_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@225323.4]
+  wire  reg_2_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@225329.4]
+  wire  reg_2_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@225329.4]
+  wire  reg_2_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@225329.4]
+  wire  reg_2_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@225329.4]
+  wire  reg_2_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@225329.4]
+  wire  reg_3_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@225335.4]
+  wire  reg_3_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@225335.4]
+  wire  reg_3_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@225335.4]
+  wire  reg_3_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@225335.4]
+  wire  reg_3_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@225335.4]
+  wire  reg_4_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@225341.4]
+  wire  reg_4_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@225341.4]
+  wire  reg_4_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@225341.4]
+  wire  reg_4_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@225341.4]
+  wire  reg_4_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@225341.4]
+  wire [1:0] _T_12; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@225372.4]
+  wire [1:0] _T_13; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@225373.4]
+  wire [2:0] _T_14; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@225374.4]
+  AsyncResetReg #(.RESET_VALUE(0)) reg_0 ( // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@225317.4]
+    .rst(reg_0_rst),
+    .clk(reg_0_clk),
+    .en(reg_0_en),
+    .q(reg_0_q),
+    .d(reg_0_d)
+  );
+  AsyncResetReg #(.RESET_VALUE(0)) reg_1 ( // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@225323.4]
+    .rst(reg_1_rst),
+    .clk(reg_1_clk),
+    .en(reg_1_en),
+    .q(reg_1_q),
+    .d(reg_1_d)
+  );
+  AsyncResetReg #(.RESET_VALUE(0)) reg_2 ( // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@225329.4]
+    .rst(reg_2_rst),
+    .clk(reg_2_clk),
+    .en(reg_2_en),
+    .q(reg_2_q),
+    .d(reg_2_d)
+  );
+  AsyncResetReg #(.RESET_VALUE(0)) reg_3 ( // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@225335.4]
+    .rst(reg_3_rst),
+    .clk(reg_3_clk),
+    .en(reg_3_en),
+    .q(reg_3_q),
+    .d(reg_3_d)
+  );
+  AsyncResetReg #(.RESET_VALUE(0)) reg_4 ( // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@225341.4]
+    .rst(reg_4_rst),
+    .clk(reg_4_clk),
+    .en(reg_4_en),
+    .q(reg_4_q),
+    .d(reg_4_d)
+  );
+  assign _T_12 = {reg_1_q,reg_0_q}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@225372.4]
+  assign _T_13 = {reg_4_q,reg_3_q}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@225373.4]
+  assign _T_14 = {_T_13,reg_2_q}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@225374.4]
+  assign io_q = {_T_14,_T_12}; // @[AsyncResetReg.scala 73:8:shc.marmotcaravel.MarmotCaravelConfig.fir@225376.4]
+  assign reg_0_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@225348.4]
+  assign reg_0_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@225347.4]
+  assign reg_0_en = io_en; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@225351.4]
+  assign reg_0_d = io_d[0]; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@225350.4]
+  assign reg_1_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@225353.4]
+  assign reg_1_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@225352.4]
+  assign reg_1_en = io_en; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@225356.4]
+  assign reg_1_d = io_d[1]; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@225355.4]
+  assign reg_2_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@225358.4]
+  assign reg_2_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@225357.4]
+  assign reg_2_en = io_en; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@225361.4]
+  assign reg_2_d = io_d[2]; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@225360.4]
+  assign reg_3_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@225363.4]
+  assign reg_3_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@225362.4]
+  assign reg_3_en = io_en; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@225366.4]
+  assign reg_3_d = io_d[3]; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@225365.4]
+  assign reg_4_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@225368.4]
+  assign reg_4_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@225367.4]
+  assign reg_4_en = io_en; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@225371.4]
+  assign reg_4_d = io_d[4]; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@225370.4]
+endmodule
+module PMU( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225402.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225403.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225404.4]
+  input         io_wakeup_rtc, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225405.4]
+  output        io_control_corerst, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225405.4]
+  input         io_regs_ie_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225405.4]
+  input  [3:0]  io_regs_ie_write_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225405.4]
+  output [3:0]  io_regs_ie_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225405.4]
+  input         io_regs_cause_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225405.4]
+  output [31:0] io_regs_cause_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225405.4]
+  input         io_regs_sleep_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225405.4]
+  input         io_regs_key_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225405.4]
+  input  [31:0] io_regs_key_write_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225405.4]
+  output [31:0] io_regs_key_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225405.4]
+  input         io_regs_wakeupProgram_0_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225405.4]
+  input  [31:0] io_regs_wakeupProgram_0_write_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225405.4]
+  output [31:0] io_regs_wakeupProgram_0_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225405.4]
+  input         io_regs_wakeupProgram_1_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225405.4]
+  input  [31:0] io_regs_wakeupProgram_1_write_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225405.4]
+  output [31:0] io_regs_wakeupProgram_1_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225405.4]
+  input         io_regs_wakeupProgram_2_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225405.4]
+  input  [31:0] io_regs_wakeupProgram_2_write_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225405.4]
+  output [31:0] io_regs_wakeupProgram_2_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225405.4]
+  input         io_regs_wakeupProgram_3_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225405.4]
+  input  [31:0] io_regs_wakeupProgram_3_write_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225405.4]
+  output [31:0] io_regs_wakeupProgram_3_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225405.4]
+  input         io_regs_wakeupProgram_4_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225405.4]
+  input  [31:0] io_regs_wakeupProgram_4_write_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225405.4]
+  output [31:0] io_regs_wakeupProgram_4_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225405.4]
+  input         io_regs_wakeupProgram_5_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225405.4]
+  input  [31:0] io_regs_wakeupProgram_5_write_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225405.4]
+  output [31:0] io_regs_wakeupProgram_5_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225405.4]
+  input         io_regs_wakeupProgram_6_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225405.4]
+  input  [31:0] io_regs_wakeupProgram_6_write_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225405.4]
+  output [31:0] io_regs_wakeupProgram_6_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225405.4]
+  input         io_regs_wakeupProgram_7_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225405.4]
+  input  [31:0] io_regs_wakeupProgram_7_write_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225405.4]
+  output [31:0] io_regs_wakeupProgram_7_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225405.4]
+  input         io_regs_sleepProgram_0_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225405.4]
+  input  [31:0] io_regs_sleepProgram_0_write_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225405.4]
+  output [31:0] io_regs_sleepProgram_0_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225405.4]
+  input         io_regs_sleepProgram_1_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225405.4]
+  input  [31:0] io_regs_sleepProgram_1_write_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225405.4]
+  output [31:0] io_regs_sleepProgram_1_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225405.4]
+  input         io_regs_sleepProgram_2_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225405.4]
+  input  [31:0] io_regs_sleepProgram_2_write_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225405.4]
+  output [31:0] io_regs_sleepProgram_2_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225405.4]
+  input         io_regs_sleepProgram_3_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225405.4]
+  input  [31:0] io_regs_sleepProgram_3_write_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225405.4]
+  output [31:0] io_regs_sleepProgram_3_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225405.4]
+  input         io_regs_sleepProgram_4_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225405.4]
+  input  [31:0] io_regs_sleepProgram_4_write_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225405.4]
+  output [31:0] io_regs_sleepProgram_4_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225405.4]
+  input         io_regs_sleepProgram_5_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225405.4]
+  input  [31:0] io_regs_sleepProgram_5_write_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225405.4]
+  output [31:0] io_regs_sleepProgram_5_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225405.4]
+  input         io_regs_sleepProgram_6_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225405.4]
+  input  [31:0] io_regs_sleepProgram_6_write_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225405.4]
+  output [31:0] io_regs_sleepProgram_6_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225405.4]
+  input         io_regs_sleepProgram_7_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225405.4]
+  input  [31:0] io_regs_sleepProgram_7_write_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225405.4]
+  output [31:0] io_regs_sleepProgram_7_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225405.4]
+  input         io_resetCauses_wdogrst, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225405.4]
+  input         io_resetCauses_erst // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225405.4]
+);
+  wire  core_clock; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
+  wire  core_reset; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
+  wire  core_io_wakeup_rtc; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
+  wire  core_io_control_valid; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
+  wire  core_io_control_bits_hfclkrst; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
+  wire  core_io_control_bits_corerst; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
+  wire  core_io_control_bits_reserved1; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
+  wire  core_io_control_bits_vddpaden; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
+  wire  core_io_control_bits_reserved0; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
+  wire [1:0] core_io_resetCause; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
+  wire  core_io_regs_ie_write_valid; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
+  wire [3:0] core_io_regs_ie_write_bits; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
+  wire [3:0] core_io_regs_ie_read; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
+  wire  core_io_regs_cause_write_valid; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
+  wire [31:0] core_io_regs_cause_read; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
+  wire  core_io_regs_sleep_write_valid; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
+  wire  core_io_regs_key_write_valid; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
+  wire [31:0] core_io_regs_key_write_bits; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
+  wire [31:0] core_io_regs_key_read; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
+  wire  core_io_regs_wakeupProgram_0_write_valid; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
+  wire [31:0] core_io_regs_wakeupProgram_0_write_bits; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
+  wire [31:0] core_io_regs_wakeupProgram_0_read; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
+  wire  core_io_regs_wakeupProgram_1_write_valid; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
+  wire [31:0] core_io_regs_wakeupProgram_1_write_bits; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
+  wire [31:0] core_io_regs_wakeupProgram_1_read; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
+  wire  core_io_regs_wakeupProgram_2_write_valid; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
+  wire [31:0] core_io_regs_wakeupProgram_2_write_bits; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
+  wire [31:0] core_io_regs_wakeupProgram_2_read; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
+  wire  core_io_regs_wakeupProgram_3_write_valid; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
+  wire [31:0] core_io_regs_wakeupProgram_3_write_bits; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
+  wire [31:0] core_io_regs_wakeupProgram_3_read; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
+  wire  core_io_regs_wakeupProgram_4_write_valid; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
+  wire [31:0] core_io_regs_wakeupProgram_4_write_bits; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
+  wire [31:0] core_io_regs_wakeupProgram_4_read; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
+  wire  core_io_regs_wakeupProgram_5_write_valid; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
+  wire [31:0] core_io_regs_wakeupProgram_5_write_bits; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
+  wire [31:0] core_io_regs_wakeupProgram_5_read; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
+  wire  core_io_regs_wakeupProgram_6_write_valid; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
+  wire [31:0] core_io_regs_wakeupProgram_6_write_bits; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
+  wire [31:0] core_io_regs_wakeupProgram_6_read; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
+  wire  core_io_regs_wakeupProgram_7_write_valid; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
+  wire [31:0] core_io_regs_wakeupProgram_7_write_bits; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
+  wire [31:0] core_io_regs_wakeupProgram_7_read; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
+  wire  core_io_regs_sleepProgram_0_write_valid; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
+  wire [31:0] core_io_regs_sleepProgram_0_write_bits; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
+  wire [31:0] core_io_regs_sleepProgram_0_read; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
+  wire  core_io_regs_sleepProgram_1_write_valid; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
+  wire [31:0] core_io_regs_sleepProgram_1_write_bits; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
+  wire [31:0] core_io_regs_sleepProgram_1_read; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
+  wire  core_io_regs_sleepProgram_2_write_valid; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
+  wire [31:0] core_io_regs_sleepProgram_2_write_bits; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
+  wire [31:0] core_io_regs_sleepProgram_2_read; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
+  wire  core_io_regs_sleepProgram_3_write_valid; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
+  wire [31:0] core_io_regs_sleepProgram_3_write_bits; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
+  wire [31:0] core_io_regs_sleepProgram_3_read; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
+  wire  core_io_regs_sleepProgram_4_write_valid; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
+  wire [31:0] core_io_regs_sleepProgram_4_write_bits; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
+  wire [31:0] core_io_regs_sleepProgram_4_read; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
+  wire  core_io_regs_sleepProgram_5_write_valid; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
+  wire [31:0] core_io_regs_sleepProgram_5_write_bits; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
+  wire [31:0] core_io_regs_sleepProgram_5_read; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
+  wire  core_io_regs_sleepProgram_6_write_valid; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
+  wire [31:0] core_io_regs_sleepProgram_6_write_bits; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
+  wire [31:0] core_io_regs_sleepProgram_6_read; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
+  wire  core_io_regs_sleepProgram_7_write_valid; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
+  wire [31:0] core_io_regs_sleepProgram_7_write_bits; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
+  wire [31:0] core_io_regs_sleepProgram_7_read; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
+  wire  AsyncResetRegVec_w5_i0_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225426.4]
+  wire  AsyncResetRegVec_w5_i0_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225426.4]
+  wire [4:0] AsyncResetRegVec_w5_i0_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225426.4]
+  wire [4:0] AsyncResetRegVec_w5_i0_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225426.4]
+  wire  AsyncResetRegVec_w5_i0_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225426.4]
+  wire  SRLatch_q; // @[PMU.scala 147:25:shc.marmotcaravel.MarmotCaravelConfig.fir@225451.4]
+  wire  SRLatch_reset; // @[PMU.scala 147:25:shc.marmotcaravel.MarmotCaravelConfig.fir@225451.4]
+  wire  SRLatch_set; // @[PMU.scala 147:25:shc.marmotcaravel.MarmotCaravelConfig.fir@225451.4]
+  wire  SRLatch_1_q; // @[PMU.scala 147:25:shc.marmotcaravel.MarmotCaravelConfig.fir@225461.4]
+  wire  SRLatch_1_reset; // @[PMU.scala 147:25:shc.marmotcaravel.MarmotCaravelConfig.fir@225461.4]
+  wire  SRLatch_1_set; // @[PMU.scala 147:25:shc.marmotcaravel.MarmotCaravelConfig.fir@225461.4]
+  wire  SRLatch_2_q; // @[PMU.scala 147:25:shc.marmotcaravel.MarmotCaravelConfig.fir@225471.4]
+  wire  SRLatch_2_reset; // @[PMU.scala 147:25:shc.marmotcaravel.MarmotCaravelConfig.fir@225471.4]
+  wire  SRLatch_2_set; // @[PMU.scala 147:25:shc.marmotcaravel.MarmotCaravelConfig.fir@225471.4]
+  reg  _T_132; // @[PMU.scala 134:33:shc.marmotcaravel.MarmotCaravelConfig.fir@225410.4]
+  reg [31:0] _RAND_0;
+  reg  coreReset; // @[PMU.scala 134:22:shc.marmotcaravel.MarmotCaravelConfig.fir@225412.4]
+  reg [31:0] _RAND_1;
+  wire [1:0] _T_134; // @[PMU.scala 141:52:shc.marmotcaravel.MarmotCaravelConfig.fir@225421.4]
+  wire [1:0] _T_135; // @[PMU.scala 141:52:shc.marmotcaravel.MarmotCaravelConfig.fir@225422.4]
+  wire [2:0] _T_136; // @[PMU.scala 141:52:shc.marmotcaravel.MarmotCaravelConfig.fir@225423.4]
+  wire [4:0] _T_137; // @[PMU.scala 141:52:shc.marmotcaravel.MarmotCaravelConfig.fir@225424.4]
+  wire [4:0] latch; // @[PMU.scala 141:15:shc.marmotcaravel.MarmotCaravelConfig.fir@225432.4]
+  wire [1:0] _T_148; // @[PMU.scala 145:32:shc.marmotcaravel.MarmotCaravelConfig.fir@225449.4]
+  wire [2:0] _T_149; // @[PMU.scala 145:32:shc.marmotcaravel.MarmotCaravelConfig.fir@225450.4]
+  wire  _T_150; // @[PMU.scala 148:28:shc.marmotcaravel.MarmotCaravelConfig.fir@225455.4]
+  wire  _T_151; // @[PMU.scala 149:74:shc.marmotcaravel.MarmotCaravelConfig.fir@225457.4]
+  wire  _T_152; // @[PMU.scala 149:74:shc.marmotcaravel.MarmotCaravelConfig.fir@225458.4]
+  wire [1:0] _T_162; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@225481.4]
+  wire [2:0] _T_163; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@225482.4]
+  wire  _T_164; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@225483.4]
+  wire [1:0] _T_165; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@225484.4]
+  wire [1:0] _GEN_0; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@225486.4]
+  wire [1:0] _T_167; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@225486.4]
+  wire  _T_168; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@225487.4]
+  PMUCore core ( // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
+    .clock(core_clock),
+    .reset(core_reset),
+    .io_wakeup_rtc(core_io_wakeup_rtc),
+    .io_control_valid(core_io_control_valid),
+    .io_control_bits_hfclkrst(core_io_control_bits_hfclkrst),
+    .io_control_bits_corerst(core_io_control_bits_corerst),
+    .io_control_bits_reserved1(core_io_control_bits_reserved1),
+    .io_control_bits_vddpaden(core_io_control_bits_vddpaden),
+    .io_control_bits_reserved0(core_io_control_bits_reserved0),
+    .io_resetCause(core_io_resetCause),
+    .io_regs_ie_write_valid(core_io_regs_ie_write_valid),
+    .io_regs_ie_write_bits(core_io_regs_ie_write_bits),
+    .io_regs_ie_read(core_io_regs_ie_read),
+    .io_regs_cause_write_valid(core_io_regs_cause_write_valid),
+    .io_regs_cause_read(core_io_regs_cause_read),
+    .io_regs_sleep_write_valid(core_io_regs_sleep_write_valid),
+    .io_regs_key_write_valid(core_io_regs_key_write_valid),
+    .io_regs_key_write_bits(core_io_regs_key_write_bits),
+    .io_regs_key_read(core_io_regs_key_read),
+    .io_regs_wakeupProgram_0_write_valid(core_io_regs_wakeupProgram_0_write_valid),
+    .io_regs_wakeupProgram_0_write_bits(core_io_regs_wakeupProgram_0_write_bits),
+    .io_regs_wakeupProgram_0_read(core_io_regs_wakeupProgram_0_read),
+    .io_regs_wakeupProgram_1_write_valid(core_io_regs_wakeupProgram_1_write_valid),
+    .io_regs_wakeupProgram_1_write_bits(core_io_regs_wakeupProgram_1_write_bits),
+    .io_regs_wakeupProgram_1_read(core_io_regs_wakeupProgram_1_read),
+    .io_regs_wakeupProgram_2_write_valid(core_io_regs_wakeupProgram_2_write_valid),
+    .io_regs_wakeupProgram_2_write_bits(core_io_regs_wakeupProgram_2_write_bits),
+    .io_regs_wakeupProgram_2_read(core_io_regs_wakeupProgram_2_read),
+    .io_regs_wakeupProgram_3_write_valid(core_io_regs_wakeupProgram_3_write_valid),
+    .io_regs_wakeupProgram_3_write_bits(core_io_regs_wakeupProgram_3_write_bits),
+    .io_regs_wakeupProgram_3_read(core_io_regs_wakeupProgram_3_read),
+    .io_regs_wakeupProgram_4_write_valid(core_io_regs_wakeupProgram_4_write_valid),
+    .io_regs_wakeupProgram_4_write_bits(core_io_regs_wakeupProgram_4_write_bits),
+    .io_regs_wakeupProgram_4_read(core_io_regs_wakeupProgram_4_read),
+    .io_regs_wakeupProgram_5_write_valid(core_io_regs_wakeupProgram_5_write_valid),
+    .io_regs_wakeupProgram_5_write_bits(core_io_regs_wakeupProgram_5_write_bits),
+    .io_regs_wakeupProgram_5_read(core_io_regs_wakeupProgram_5_read),
+    .io_regs_wakeupProgram_6_write_valid(core_io_regs_wakeupProgram_6_write_valid),
+    .io_regs_wakeupProgram_6_write_bits(core_io_regs_wakeupProgram_6_write_bits),
+    .io_regs_wakeupProgram_6_read(core_io_regs_wakeupProgram_6_read),
+    .io_regs_wakeupProgram_7_write_valid(core_io_regs_wakeupProgram_7_write_valid),
+    .io_regs_wakeupProgram_7_write_bits(core_io_regs_wakeupProgram_7_write_bits),
+    .io_regs_wakeupProgram_7_read(core_io_regs_wakeupProgram_7_read),
+    .io_regs_sleepProgram_0_write_valid(core_io_regs_sleepProgram_0_write_valid),
+    .io_regs_sleepProgram_0_write_bits(core_io_regs_sleepProgram_0_write_bits),
+    .io_regs_sleepProgram_0_read(core_io_regs_sleepProgram_0_read),
+    .io_regs_sleepProgram_1_write_valid(core_io_regs_sleepProgram_1_write_valid),
+    .io_regs_sleepProgram_1_write_bits(core_io_regs_sleepProgram_1_write_bits),
+    .io_regs_sleepProgram_1_read(core_io_regs_sleepProgram_1_read),
+    .io_regs_sleepProgram_2_write_valid(core_io_regs_sleepProgram_2_write_valid),
+    .io_regs_sleepProgram_2_write_bits(core_io_regs_sleepProgram_2_write_bits),
+    .io_regs_sleepProgram_2_read(core_io_regs_sleepProgram_2_read),
+    .io_regs_sleepProgram_3_write_valid(core_io_regs_sleepProgram_3_write_valid),
+    .io_regs_sleepProgram_3_write_bits(core_io_regs_sleepProgram_3_write_bits),
+    .io_regs_sleepProgram_3_read(core_io_regs_sleepProgram_3_read),
+    .io_regs_sleepProgram_4_write_valid(core_io_regs_sleepProgram_4_write_valid),
+    .io_regs_sleepProgram_4_write_bits(core_io_regs_sleepProgram_4_write_bits),
+    .io_regs_sleepProgram_4_read(core_io_regs_sleepProgram_4_read),
+    .io_regs_sleepProgram_5_write_valid(core_io_regs_sleepProgram_5_write_valid),
+    .io_regs_sleepProgram_5_write_bits(core_io_regs_sleepProgram_5_write_bits),
+    .io_regs_sleepProgram_5_read(core_io_regs_sleepProgram_5_read),
+    .io_regs_sleepProgram_6_write_valid(core_io_regs_sleepProgram_6_write_valid),
+    .io_regs_sleepProgram_6_write_bits(core_io_regs_sleepProgram_6_write_bits),
+    .io_regs_sleepProgram_6_read(core_io_regs_sleepProgram_6_read),
+    .io_regs_sleepProgram_7_write_valid(core_io_regs_sleepProgram_7_write_valid),
+    .io_regs_sleepProgram_7_write_bits(core_io_regs_sleepProgram_7_write_bits),
+    .io_regs_sleepProgram_7_read(core_io_regs_sleepProgram_7_read)
+  );
+  AsyncResetRegVec_w5_i0 AsyncResetRegVec_w5_i0 ( // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225426.4]
+    .clock(AsyncResetRegVec_w5_i0_clock),
+    .reset(AsyncResetRegVec_w5_i0_reset),
+    .io_d(AsyncResetRegVec_w5_i0_io_d),
+    .io_q(AsyncResetRegVec_w5_i0_io_q),
+    .io_en(AsyncResetRegVec_w5_i0_io_en)
+  );
+  SRLatch SRLatch ( // @[PMU.scala 147:25:shc.marmotcaravel.MarmotCaravelConfig.fir@225451.4]
+    .q(SRLatch_q),
+    .reset(SRLatch_reset),
+    .set(SRLatch_set)
+  );
+  SRLatch SRLatch_1 ( // @[PMU.scala 147:25:shc.marmotcaravel.MarmotCaravelConfig.fir@225461.4]
+    .q(SRLatch_1_q),
+    .reset(SRLatch_1_reset),
+    .set(SRLatch_1_set)
+  );
+  SRLatch SRLatch_2 ( // @[PMU.scala 147:25:shc.marmotcaravel.MarmotCaravelConfig.fir@225471.4]
+    .q(SRLatch_2_q),
+    .reset(SRLatch_2_reset),
+    .set(SRLatch_2_set)
+  );
+  assign _T_134 = {core_io_control_bits_vddpaden,core_io_control_bits_reserved0}; // @[PMU.scala 141:52:shc.marmotcaravel.MarmotCaravelConfig.fir@225421.4]
+  assign _T_135 = {core_io_control_bits_hfclkrst,core_io_control_bits_corerst}; // @[PMU.scala 141:52:shc.marmotcaravel.MarmotCaravelConfig.fir@225422.4]
+  assign _T_136 = {_T_135,core_io_control_bits_reserved1}; // @[PMU.scala 141:52:shc.marmotcaravel.MarmotCaravelConfig.fir@225423.4]
+  assign _T_137 = {_T_136,_T_134}; // @[PMU.scala 141:52:shc.marmotcaravel.MarmotCaravelConfig.fir@225424.4]
+  assign latch = ~ AsyncResetRegVec_w5_i0_io_q; // @[PMU.scala 141:15:shc.marmotcaravel.MarmotCaravelConfig.fir@225432.4]
+  assign _T_148 = {io_resetCauses_wdogrst,io_resetCauses_erst}; // @[PMU.scala 145:32:shc.marmotcaravel.MarmotCaravelConfig.fir@225449.4]
+  assign _T_149 = {_T_148,1'h0}; // @[PMU.scala 145:32:shc.marmotcaravel.MarmotCaravelConfig.fir@225450.4]
+  assign _T_150 = _T_149[0]; // @[PMU.scala 148:28:shc.marmotcaravel.MarmotCaravelConfig.fir@225455.4]
+  assign _T_151 = _T_149[1]; // @[PMU.scala 149:74:shc.marmotcaravel.MarmotCaravelConfig.fir@225457.4]
+  assign _T_152 = _T_149[2]; // @[PMU.scala 149:74:shc.marmotcaravel.MarmotCaravelConfig.fir@225458.4]
+  assign _T_162 = {SRLatch_2_q,SRLatch_1_q}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@225481.4]
+  assign _T_163 = {_T_162,SRLatch_q}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@225482.4]
+  assign _T_164 = _T_163[2]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@225483.4]
+  assign _T_165 = _T_163[1:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@225484.4]
+  assign _GEN_0 = {{1'd0}, _T_164}; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@225486.4]
+  assign _T_167 = _GEN_0 | _T_165; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@225486.4]
+  assign _T_168 = _T_167[1]; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@225487.4]
+  assign io_control_corerst = latch[3]; // @[PMU.scala 142:14:shc.marmotcaravel.MarmotCaravelConfig.fir@225448.4]
+  assign io_regs_ie_read = core_io_regs_ie_read; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@225419.4]
+  assign io_regs_cause_read = core_io_regs_cause_read; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@225419.4]
+  assign io_regs_key_read = core_io_regs_key_read; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@225419.4]
+  assign io_regs_wakeupProgram_0_read = core_io_regs_wakeupProgram_0_read; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@225419.4]
+  assign io_regs_wakeupProgram_1_read = core_io_regs_wakeupProgram_1_read; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@225419.4]
+  assign io_regs_wakeupProgram_2_read = core_io_regs_wakeupProgram_2_read; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@225419.4]
+  assign io_regs_wakeupProgram_3_read = core_io_regs_wakeupProgram_3_read; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@225419.4]
+  assign io_regs_wakeupProgram_4_read = core_io_regs_wakeupProgram_4_read; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@225419.4]
+  assign io_regs_wakeupProgram_5_read = core_io_regs_wakeupProgram_5_read; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@225419.4]
+  assign io_regs_wakeupProgram_6_read = core_io_regs_wakeupProgram_6_read; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@225419.4]
+  assign io_regs_wakeupProgram_7_read = core_io_regs_wakeupProgram_7_read; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@225419.4]
+  assign io_regs_sleepProgram_0_read = core_io_regs_sleepProgram_0_read; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@225419.4]
+  assign io_regs_sleepProgram_1_read = core_io_regs_sleepProgram_1_read; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@225419.4]
+  assign io_regs_sleepProgram_2_read = core_io_regs_sleepProgram_2_read; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@225419.4]
+  assign io_regs_sleepProgram_3_read = core_io_regs_sleepProgram_3_read; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@225419.4]
+  assign io_regs_sleepProgram_4_read = core_io_regs_sleepProgram_4_read; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@225419.4]
+  assign io_regs_sleepProgram_5_read = core_io_regs_sleepProgram_5_read; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@225419.4]
+  assign io_regs_sleepProgram_6_read = core_io_regs_sleepProgram_6_read; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@225419.4]
+  assign io_regs_sleepProgram_7_read = core_io_regs_sleepProgram_7_read; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@225419.4]
+  assign core_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225417.4]
+  assign core_reset = coreReset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225418.4]
+  assign core_io_wakeup_rtc = io_wakeup_rtc; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@225419.4]
+  assign core_io_resetCause = {_T_164,_T_168}; // @[PMU.scala 144:22:shc.marmotcaravel.MarmotCaravelConfig.fir@225489.4]
+  assign core_io_regs_ie_write_valid = io_regs_ie_write_valid; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@225419.4]
+  assign core_io_regs_ie_write_bits = io_regs_ie_write_bits; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@225419.4]
+  assign core_io_regs_cause_write_valid = io_regs_cause_write_valid; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@225419.4]
+  assign core_io_regs_sleep_write_valid = io_regs_sleep_write_valid; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@225419.4]
+  assign core_io_regs_key_write_valid = io_regs_key_write_valid; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@225419.4]
+  assign core_io_regs_key_write_bits = io_regs_key_write_bits; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@225419.4]
+  assign core_io_regs_wakeupProgram_0_write_valid = io_regs_wakeupProgram_0_write_valid; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@225419.4]
+  assign core_io_regs_wakeupProgram_0_write_bits = io_regs_wakeupProgram_0_write_bits; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@225419.4]
+  assign core_io_regs_wakeupProgram_1_write_valid = io_regs_wakeupProgram_1_write_valid; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@225419.4]
+  assign core_io_regs_wakeupProgram_1_write_bits = io_regs_wakeupProgram_1_write_bits; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@225419.4]
+  assign core_io_regs_wakeupProgram_2_write_valid = io_regs_wakeupProgram_2_write_valid; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@225419.4]
+  assign core_io_regs_wakeupProgram_2_write_bits = io_regs_wakeupProgram_2_write_bits; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@225419.4]
+  assign core_io_regs_wakeupProgram_3_write_valid = io_regs_wakeupProgram_3_write_valid; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@225419.4]
+  assign core_io_regs_wakeupProgram_3_write_bits = io_regs_wakeupProgram_3_write_bits; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@225419.4]
+  assign core_io_regs_wakeupProgram_4_write_valid = io_regs_wakeupProgram_4_write_valid; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@225419.4]
+  assign core_io_regs_wakeupProgram_4_write_bits = io_regs_wakeupProgram_4_write_bits; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@225419.4]
+  assign core_io_regs_wakeupProgram_5_write_valid = io_regs_wakeupProgram_5_write_valid; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@225419.4]
+  assign core_io_regs_wakeupProgram_5_write_bits = io_regs_wakeupProgram_5_write_bits; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@225419.4]
+  assign core_io_regs_wakeupProgram_6_write_valid = io_regs_wakeupProgram_6_write_valid; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@225419.4]
+  assign core_io_regs_wakeupProgram_6_write_bits = io_regs_wakeupProgram_6_write_bits; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@225419.4]
+  assign core_io_regs_wakeupProgram_7_write_valid = io_regs_wakeupProgram_7_write_valid; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@225419.4]
+  assign core_io_regs_wakeupProgram_7_write_bits = io_regs_wakeupProgram_7_write_bits; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@225419.4]
+  assign core_io_regs_sleepProgram_0_write_valid = io_regs_sleepProgram_0_write_valid; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@225419.4]
+  assign core_io_regs_sleepProgram_0_write_bits = io_regs_sleepProgram_0_write_bits; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@225419.4]
+  assign core_io_regs_sleepProgram_1_write_valid = io_regs_sleepProgram_1_write_valid; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@225419.4]
+  assign core_io_regs_sleepProgram_1_write_bits = io_regs_sleepProgram_1_write_bits; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@225419.4]
+  assign core_io_regs_sleepProgram_2_write_valid = io_regs_sleepProgram_2_write_valid; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@225419.4]
+  assign core_io_regs_sleepProgram_2_write_bits = io_regs_sleepProgram_2_write_bits; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@225419.4]
+  assign core_io_regs_sleepProgram_3_write_valid = io_regs_sleepProgram_3_write_valid; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@225419.4]
+  assign core_io_regs_sleepProgram_3_write_bits = io_regs_sleepProgram_3_write_bits; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@225419.4]
+  assign core_io_regs_sleepProgram_4_write_valid = io_regs_sleepProgram_4_write_valid; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@225419.4]
+  assign core_io_regs_sleepProgram_4_write_bits = io_regs_sleepProgram_4_write_bits; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@225419.4]
+  assign core_io_regs_sleepProgram_5_write_valid = io_regs_sleepProgram_5_write_valid; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@225419.4]
+  assign core_io_regs_sleepProgram_5_write_bits = io_regs_sleepProgram_5_write_bits; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@225419.4]
+  assign core_io_regs_sleepProgram_6_write_valid = io_regs_sleepProgram_6_write_valid; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@225419.4]
+  assign core_io_regs_sleepProgram_6_write_bits = io_regs_sleepProgram_6_write_bits; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@225419.4]
+  assign core_io_regs_sleepProgram_7_write_valid = io_regs_sleepProgram_7_write_valid; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@225419.4]
+  assign core_io_regs_sleepProgram_7_write_bits = io_regs_sleepProgram_7_write_bits; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@225419.4]
+  assign AsyncResetRegVec_w5_i0_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225428.4]
+  assign AsyncResetRegVec_w5_i0_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225429.4]
+  assign AsyncResetRegVec_w5_i0_io_d = ~ _T_137; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@225430.4]
+  assign AsyncResetRegVec_w5_i0_io_en = core_io_control_valid; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@225431.4]
+  assign SRLatch_reset = _T_151 | _T_152; // @[PMU.scala 149:22:shc.marmotcaravel.MarmotCaravelConfig.fir@225460.4]
+  assign SRLatch_set = _T_149[0]; // @[PMU.scala 148:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225456.4]
+  assign SRLatch_1_reset = _T_150 | _T_152; // @[PMU.scala 149:22:shc.marmotcaravel.MarmotCaravelConfig.fir@225470.4]
+  assign SRLatch_1_set = _T_149[1]; // @[PMU.scala 148:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225466.4]
+  assign SRLatch_2_reset = _T_150 | _T_151; // @[PMU.scala 149:22:shc.marmotcaravel.MarmotCaravelConfig.fir@225480.4]
+  assign SRLatch_2_set = _T_149[2]; // @[PMU.scala 148:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225476.4]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  _T_132 = _RAND_0[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  coreReset = _RAND_1[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    _T_132 <= reset;
+    coreReset <= _T_132;
+  end
+endmodule
+module WatchdogTimer( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225646.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225647.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225648.4]
+  input         io_regs_cfg_write__ip_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225649.4]
+  input         io_regs_cfg_write__running, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225649.4]
+  input         io_regs_cfg_write__countAlways, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225649.4]
+  input         io_regs_cfg_write__zerocmp, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225649.4]
+  input         io_regs_cfg_write__sticky, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225649.4]
+  input  [3:0]  io_regs_cfg_write__scale, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225649.4]
+  output        io_regs_cfg_read_ip_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225649.4]
+  output        io_regs_cfg_read_running, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225649.4]
+  output        io_regs_cfg_read_countAlways, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225649.4]
+  output        io_regs_cfg_read_deglitch, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225649.4]
+  output        io_regs_cfg_read_sticky, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225649.4]
+  output [3:0]  io_regs_cfg_read_scale, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225649.4]
+  input         io_regs_cfg_write_ip_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225649.4]
+  input         io_regs_cfg_write_gang_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225649.4]
+  input         io_regs_cfg_write_extra_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225649.4]
+  input         io_regs_cfg_write_center_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225649.4]
+  input         io_regs_cfg_write_running, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225649.4]
+  input         io_regs_cfg_write_countAlways, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225649.4]
+  input         io_regs_cfg_write_deglitch, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225649.4]
+  input         io_regs_cfg_write_zerocmp, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225649.4]
+  input         io_regs_cfg_write_sticky, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225649.4]
+  input         io_regs_cfg_write_scale, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225649.4]
+  input         io_regs_countLo_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225649.4]
+  input  [30:0] io_regs_countLo_write_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225649.4]
+  output [30:0] io_regs_countLo_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225649.4]
+  input         io_regs_countHi_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225649.4]
+  input         io_regs_s_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225649.4]
+  output [15:0] io_regs_s_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225649.4]
+  input         io_regs_cmp_0_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225649.4]
+  input  [15:0] io_regs_cmp_0_write_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225649.4]
+  output [15:0] io_regs_cmp_0_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225649.4]
+  input         io_regs_feed_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225649.4]
+  input  [31:0] io_regs_feed_write_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225649.4]
+  input         io_regs_key_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225649.4]
+  input  [31:0] io_regs_key_write_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225649.4]
+  output [31:0] io_regs_key_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225649.4]
+  output        io_ip_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225649.4]
+  input         io_corerst, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225649.4]
+  output        io_rst // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225649.4]
+);
+  wire  AsyncResetRegVec_w1_i0_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225684.4]
+  wire  AsyncResetRegVec_w1_i0_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225684.4]
+  wire  AsyncResetRegVec_w1_i0_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225684.4]
+  wire  AsyncResetRegVec_w1_i0_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225684.4]
+  wire  AsyncResetRegVec_w1_i0_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225684.4]
+  wire  AsyncResetRegVec_w1_i0_1_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225706.4]
+  wire  AsyncResetRegVec_w1_i0_1_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225706.4]
+  wire  AsyncResetRegVec_w1_i0_1_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225706.4]
+  wire  AsyncResetRegVec_w1_i0_1_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225706.4]
+  wire  AsyncResetRegVec_w1_i0_1_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225706.4]
+  wire  AsyncResetRegVec_w1_i0_2_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225714.4]
+  wire  AsyncResetRegVec_w1_i0_2_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225714.4]
+  wire  AsyncResetRegVec_w1_i0_2_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225714.4]
+  wire  AsyncResetRegVec_w1_i0_2_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225714.4]
+  wire  AsyncResetRegVec_w1_i0_2_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225714.4]
+  wire  AsyncResetRegVec_w1_i0_3_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225856.4]
+  wire  AsyncResetRegVec_w1_i0_3_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225856.4]
+  wire  AsyncResetRegVec_w1_i0_3_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225856.4]
+  wire  AsyncResetRegVec_w1_i0_3_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225856.4]
+  wire  AsyncResetRegVec_w1_i0_3_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225856.4]
+  wire  AsyncResetRegVec_w1_i0_4_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225875.4]
+  wire  AsyncResetRegVec_w1_i0_4_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225875.4]
+  wire  AsyncResetRegVec_w1_i0_4_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225875.4]
+  wire  AsyncResetRegVec_w1_i0_4_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225875.4]
+  wire  AsyncResetRegVec_w1_i0_4_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225875.4]
+  wire  _T_212; // @[Timer.scala 138:13:shc.marmotcaravel.MarmotCaravelConfig.fir@225657.4]
+  wire  _T_216; // @[Timer.scala 138:13:shc.marmotcaravel.MarmotCaravelConfig.fir@225661.4]
+  wire  _T_220; // @[Timer.scala 138:13:shc.marmotcaravel.MarmotCaravelConfig.fir@225665.4]
+  wire  _T_224; // @[Timer.scala 138:13:shc.marmotcaravel.MarmotCaravelConfig.fir@225669.4]
+  wire  _T_225; // @[Timer.scala 138:13:shc.marmotcaravel.MarmotCaravelConfig.fir@225670.4]
+  wire  _T_226; // @[Timer.scala 138:13:shc.marmotcaravel.MarmotCaravelConfig.fir@225671.4]
+  wire  _T_227; // @[Timer.scala 138:13:shc.marmotcaravel.MarmotCaravelConfig.fir@225672.4]
+  wire  _T_228; // @[Timer.scala 138:13:shc.marmotcaravel.MarmotCaravelConfig.fir@225673.4]
+  wire  _T_229; // @[Timer.scala 138:13:shc.marmotcaravel.MarmotCaravelConfig.fir@225674.4]
+  wire  _T_230; // @[WatchdogTimer.scala 18:16:shc.marmotcaravel.MarmotCaravelConfig.fir@225675.4]
+  wire  _T_231; // @[WatchdogTimer.scala 18:16:shc.marmotcaravel.MarmotCaravelConfig.fir@225676.4]
+  wire  _T_232; // @[WatchdogTimer.scala 18:16:shc.marmotcaravel.MarmotCaravelConfig.fir@225677.4]
+  wire  _T_233; // @[WatchdogTimer.scala 18:16:shc.marmotcaravel.MarmotCaravelConfig.fir@225678.4]
+  wire  _T_234; // @[WatchdogTimer.scala 18:16:shc.marmotcaravel.MarmotCaravelConfig.fir@225679.4]
+  wire  _T_235; // @[WatchdogTimer.scala 39:42:shc.marmotcaravel.MarmotCaravelConfig.fir@225680.4]
+  wire  _T_236; // @[WatchdogTimer.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@225681.4]
+  wire  unlocked; // @[WatchdogTimer.scala 39:114:shc.marmotcaravel.MarmotCaravelConfig.fir@225690.4]
+  wire  _T_239; // @[Timer.scala 201:84:shc.marmotcaravel.MarmotCaravelConfig.fir@225691.4]
+  reg [3:0] scale; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@225692.4]
+  reg [31:0] _RAND_0;
+  wire  _T_241; // @[Timer.scala 203:82:shc.marmotcaravel.MarmotCaravelConfig.fir@225696.4]
+  reg [15:0] cmp_0; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@225697.4]
+  reg [31:0] _RAND_1;
+  reg  _T_244; // @[WatchdogTimer.scala 32:45:shc.marmotcaravel.MarmotCaravelConfig.fir@225701.4]
+  reg [31:0] _RAND_2;
+  reg  _T_246; // @[WatchdogTimer.scala 32:34:shc.marmotcaravel.MarmotCaravelConfig.fir@225703.4]
+  reg [31:0] _RAND_3;
+  wire  countAlways; // @[WatchdogTimer.scala 29:123:shc.marmotcaravel.MarmotCaravelConfig.fir@225712.4]
+  wire  countAwake; // @[WatchdogTimer.scala 30:123:shc.marmotcaravel.MarmotCaravelConfig.fir@225720.4]
+  wire  _T_249; // @[WatchdogTimer.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@225721.4]
+  wire  _T_250; // @[WatchdogTimer.scala 33:32:shc.marmotcaravel.MarmotCaravelConfig.fir@225722.4]
+  wire  countEn; // @[WatchdogTimer.scala 33:17:shc.marmotcaravel.MarmotCaravelConfig.fir@225723.4]
+  reg [4:0] _T_252; // @[Counters.scala 46:72:shc.marmotcaravel.MarmotCaravelConfig.fir@225724.4]
+  reg [31:0] _RAND_4;
+  wire [4:0] _GEN_9; // @[Counters.scala 47:33:shc.marmotcaravel.MarmotCaravelConfig.fir@225725.4]
+  wire [5:0] _T_253; // @[Counters.scala 47:33:shc.marmotcaravel.MarmotCaravelConfig.fir@225725.4]
+  reg [25:0] _T_255; // @[Counters.scala 51:70:shc.marmotcaravel.MarmotCaravelConfig.fir@225727.4]
+  reg [31:0] _RAND_5;
+  wire  _T_256; // @[Counters.scala 52:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225728.4]
+  wire [25:0] _T_258; // @[Counters.scala 52:43:shc.marmotcaravel.MarmotCaravelConfig.fir@225731.6]
+  wire [25:0] _GEN_2; // @[Counters.scala 52:34:shc.marmotcaravel.MarmotCaravelConfig.fir@225729.4]
+  wire [30:0] _T_259; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@225734.4]
+  wire  _T_260; // @[Timer.scala 206:37:shc.marmotcaravel.MarmotCaravelConfig.fir@225735.4]
+  wire [31:0] _T_262; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@225738.6]
+  wire [26:0] _T_263; // @[Counters.scala 67:28:shc.marmotcaravel.MarmotCaravelConfig.fir@225740.6]
+  wire [31:0] _GEN_3; // @[Timer.scala 206:50:shc.marmotcaravel.MarmotCaravelConfig.fir@225736.4]
+  wire [26:0] _GEN_4; // @[Timer.scala 206:50:shc.marmotcaravel.MarmotCaravelConfig.fir@225736.4]
+  wire [30:0] _T_264; // @[Timer.scala 210:28:shc.marmotcaravel.MarmotCaravelConfig.fir@225743.4]
+  wire [15:0] s; // @[Timer.scala 210:37:shc.marmotcaravel.MarmotCaravelConfig.fir@225744.4]
+  wire  elapsed_0; // @[Timer.scala 212:90:shc.marmotcaravel.MarmotCaravelConfig.fir@225752.4]
+  wire  _T_283; // @[WatchdogTimer.scala 43:14:shc.marmotcaravel.MarmotCaravelConfig.fir@225756.4]
+  wire  _T_284; // @[WatchdogTimer.scala 43:69:shc.marmotcaravel.MarmotCaravelConfig.fir@225757.4]
+  wire  feed; // @[WatchdogTimer.scala 43:42:shc.marmotcaravel.MarmotCaravelConfig.fir@225758.4]
+  wire  _T_285; // @[Timer.scala 202:95:shc.marmotcaravel.MarmotCaravelConfig.fir@225759.4]
+  reg  zerocmp; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@225760.4]
+  reg [31:0] _RAND_6;
+  wire  _T_287; // @[Timer.scala 213:47:shc.marmotcaravel.MarmotCaravelConfig.fir@225764.4]
+  wire  countReset; // @[Timer.scala 213:35:shc.marmotcaravel.MarmotCaravelConfig.fir@225765.4]
+  wire [31:0] _GEN_6; // @[Timer.scala 214:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225766.4]
+  wire [26:0] _GEN_7; // @[Timer.scala 214:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225766.4]
+  wire  _T_343; // @[WatchdogTimer.scala 36:69:shc.marmotcaravel.MarmotCaravelConfig.fir@225827.4]
+  wire  _T_351; // @[WatchdogTimer.scala 36:111:shc.marmotcaravel.MarmotCaravelConfig.fir@225831.4]
+  wire  _T_352; // @[WatchdogTimer.scala 36:124:shc.marmotcaravel.MarmotCaravelConfig.fir@225832.4]
+  reg  ip_0; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@225833.4]
+  reg [31:0] _RAND_7;
+  wire  rsten; // @[WatchdogTimer.scala 35:116:shc.marmotcaravel.MarmotCaravelConfig.fir@225862.4]
+  AsyncResetRegVec_w1_i0 AsyncResetRegVec_w1_i0 ( // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225684.4]
+    .clock(AsyncResetRegVec_w1_i0_clock),
+    .reset(AsyncResetRegVec_w1_i0_reset),
+    .io_d(AsyncResetRegVec_w1_i0_io_d),
+    .io_q(AsyncResetRegVec_w1_i0_io_q),
+    .io_en(AsyncResetRegVec_w1_i0_io_en)
+  );
+  AsyncResetRegVec_w1_i0 AsyncResetRegVec_w1_i0_1 ( // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225706.4]
+    .clock(AsyncResetRegVec_w1_i0_1_clock),
+    .reset(AsyncResetRegVec_w1_i0_1_reset),
+    .io_d(AsyncResetRegVec_w1_i0_1_io_d),
+    .io_q(AsyncResetRegVec_w1_i0_1_io_q),
+    .io_en(AsyncResetRegVec_w1_i0_1_io_en)
+  );
+  AsyncResetRegVec_w1_i0 AsyncResetRegVec_w1_i0_2 ( // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225714.4]
+    .clock(AsyncResetRegVec_w1_i0_2_clock),
+    .reset(AsyncResetRegVec_w1_i0_2_reset),
+    .io_d(AsyncResetRegVec_w1_i0_2_io_d),
+    .io_q(AsyncResetRegVec_w1_i0_2_io_q),
+    .io_en(AsyncResetRegVec_w1_i0_2_io_en)
+  );
+  AsyncResetRegVec_w1_i0 AsyncResetRegVec_w1_i0_3 ( // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225856.4]
+    .clock(AsyncResetRegVec_w1_i0_3_clock),
+    .reset(AsyncResetRegVec_w1_i0_3_reset),
+    .io_d(AsyncResetRegVec_w1_i0_3_io_d),
+    .io_q(AsyncResetRegVec_w1_i0_3_io_q),
+    .io_en(AsyncResetRegVec_w1_i0_3_io_en)
+  );
+  AsyncResetRegVec_w1_i0 AsyncResetRegVec_w1_i0_4 ( // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225875.4]
+    .clock(AsyncResetRegVec_w1_i0_4_clock),
+    .reset(AsyncResetRegVec_w1_i0_4_reset),
+    .io_d(AsyncResetRegVec_w1_i0_4_io_d),
+    .io_q(AsyncResetRegVec_w1_i0_4_io_q),
+    .io_en(AsyncResetRegVec_w1_i0_4_io_en)
+  );
+  assign _T_212 = io_regs_cfg_write_ip_0 | io_regs_cfg_write_gang_0; // @[Timer.scala 138:13:shc.marmotcaravel.MarmotCaravelConfig.fir@225657.4]
+  assign _T_216 = _T_212 | io_regs_cfg_write_extra_0; // @[Timer.scala 138:13:shc.marmotcaravel.MarmotCaravelConfig.fir@225661.4]
+  assign _T_220 = _T_216 | io_regs_cfg_write_center_0; // @[Timer.scala 138:13:shc.marmotcaravel.MarmotCaravelConfig.fir@225665.4]
+  assign _T_224 = _T_220 | io_regs_cfg_write_running; // @[Timer.scala 138:13:shc.marmotcaravel.MarmotCaravelConfig.fir@225669.4]
+  assign _T_225 = _T_224 | io_regs_cfg_write_countAlways; // @[Timer.scala 138:13:shc.marmotcaravel.MarmotCaravelConfig.fir@225670.4]
+  assign _T_226 = _T_225 | io_regs_cfg_write_deglitch; // @[Timer.scala 138:13:shc.marmotcaravel.MarmotCaravelConfig.fir@225671.4]
+  assign _T_227 = _T_226 | io_regs_cfg_write_zerocmp; // @[Timer.scala 138:13:shc.marmotcaravel.MarmotCaravelConfig.fir@225672.4]
+  assign _T_228 = _T_227 | io_regs_cfg_write_sticky; // @[Timer.scala 138:13:shc.marmotcaravel.MarmotCaravelConfig.fir@225673.4]
+  assign _T_229 = _T_228 | io_regs_cfg_write_scale; // @[Timer.scala 138:13:shc.marmotcaravel.MarmotCaravelConfig.fir@225674.4]
+  assign _T_230 = io_regs_feed_write_valid | io_regs_cmp_0_write_valid; // @[WatchdogTimer.scala 18:16:shc.marmotcaravel.MarmotCaravelConfig.fir@225675.4]
+  assign _T_231 = _T_230 | io_regs_s_write_valid; // @[WatchdogTimer.scala 18:16:shc.marmotcaravel.MarmotCaravelConfig.fir@225676.4]
+  assign _T_232 = _T_231 | io_regs_countHi_write_valid; // @[WatchdogTimer.scala 18:16:shc.marmotcaravel.MarmotCaravelConfig.fir@225677.4]
+  assign _T_233 = _T_232 | io_regs_countLo_write_valid; // @[WatchdogTimer.scala 18:16:shc.marmotcaravel.MarmotCaravelConfig.fir@225678.4]
+  assign _T_234 = _T_233 | _T_229; // @[WatchdogTimer.scala 18:16:shc.marmotcaravel.MarmotCaravelConfig.fir@225679.4]
+  assign _T_235 = io_regs_key_write_bits == 32'h51f15e; // @[WatchdogTimer.scala 39:42:shc.marmotcaravel.MarmotCaravelConfig.fir@225680.4]
+  assign _T_236 = _T_234 == 1'h0; // @[WatchdogTimer.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@225681.4]
+  assign unlocked = AsyncResetRegVec_w1_i0_io_q; // @[WatchdogTimer.scala 39:114:shc.marmotcaravel.MarmotCaravelConfig.fir@225690.4]
+  assign _T_239 = io_regs_cfg_write_scale & unlocked; // @[Timer.scala 201:84:shc.marmotcaravel.MarmotCaravelConfig.fir@225691.4]
+  assign _T_241 = io_regs_cmp_0_write_valid & unlocked; // @[Timer.scala 203:82:shc.marmotcaravel.MarmotCaravelConfig.fir@225696.4]
+  assign countAlways = AsyncResetRegVec_w1_i0_1_io_q; // @[WatchdogTimer.scala 29:123:shc.marmotcaravel.MarmotCaravelConfig.fir@225712.4]
+  assign countAwake = AsyncResetRegVec_w1_i0_2_io_q; // @[WatchdogTimer.scala 30:123:shc.marmotcaravel.MarmotCaravelConfig.fir@225720.4]
+  assign _T_249 = _T_246 == 1'h0; // @[WatchdogTimer.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@225721.4]
+  assign _T_250 = countAwake & _T_249; // @[WatchdogTimer.scala 33:32:shc.marmotcaravel.MarmotCaravelConfig.fir@225722.4]
+  assign countEn = countAlways | _T_250; // @[WatchdogTimer.scala 33:17:shc.marmotcaravel.MarmotCaravelConfig.fir@225723.4]
+  assign _GEN_9 = {{4'd0}, countEn}; // @[Counters.scala 47:33:shc.marmotcaravel.MarmotCaravelConfig.fir@225725.4]
+  assign _T_253 = _T_252 + _GEN_9; // @[Counters.scala 47:33:shc.marmotcaravel.MarmotCaravelConfig.fir@225725.4]
+  assign _T_256 = _T_253[5]; // @[Counters.scala 52:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225728.4]
+  assign _T_258 = _T_255 + 26'h1; // @[Counters.scala 52:43:shc.marmotcaravel.MarmotCaravelConfig.fir@225731.6]
+  assign _GEN_2 = _T_256 ? _T_258 : _T_255; // @[Counters.scala 52:34:shc.marmotcaravel.MarmotCaravelConfig.fir@225729.4]
+  assign _T_259 = {_T_255,_T_252}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@225734.4]
+  assign _T_260 = io_regs_countLo_write_valid & unlocked; // @[Timer.scala 206:37:shc.marmotcaravel.MarmotCaravelConfig.fir@225735.4]
+  assign _T_262 = {1'h0,io_regs_countLo_write_bits}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@225738.6]
+  assign _T_263 = _T_262[31:5]; // @[Counters.scala 67:28:shc.marmotcaravel.MarmotCaravelConfig.fir@225740.6]
+  assign _GEN_3 = _T_260 ? _T_262 : {{26'd0}, _T_253}; // @[Timer.scala 206:50:shc.marmotcaravel.MarmotCaravelConfig.fir@225736.4]
+  assign _GEN_4 = _T_260 ? _T_263 : {{1'd0}, _GEN_2}; // @[Timer.scala 206:50:shc.marmotcaravel.MarmotCaravelConfig.fir@225736.4]
+  assign _T_264 = _T_259 >> scale; // @[Timer.scala 210:28:shc.marmotcaravel.MarmotCaravelConfig.fir@225743.4]
+  assign s = _T_264[15:0]; // @[Timer.scala 210:37:shc.marmotcaravel.MarmotCaravelConfig.fir@225744.4]
+  assign elapsed_0 = s >= cmp_0; // @[Timer.scala 212:90:shc.marmotcaravel.MarmotCaravelConfig.fir@225752.4]
+  assign _T_283 = unlocked & io_regs_feed_write_valid; // @[WatchdogTimer.scala 43:14:shc.marmotcaravel.MarmotCaravelConfig.fir@225756.4]
+  assign _T_284 = io_regs_feed_write_bits == 32'hd09f00d; // @[WatchdogTimer.scala 43:69:shc.marmotcaravel.MarmotCaravelConfig.fir@225757.4]
+  assign feed = _T_283 & _T_284; // @[WatchdogTimer.scala 43:42:shc.marmotcaravel.MarmotCaravelConfig.fir@225758.4]
+  assign _T_285 = io_regs_cfg_write_zerocmp & unlocked; // @[Timer.scala 202:95:shc.marmotcaravel.MarmotCaravelConfig.fir@225759.4]
+  assign _T_287 = zerocmp & elapsed_0; // @[Timer.scala 213:47:shc.marmotcaravel.MarmotCaravelConfig.fir@225764.4]
+  assign countReset = feed | _T_287; // @[Timer.scala 213:35:shc.marmotcaravel.MarmotCaravelConfig.fir@225765.4]
+  assign _GEN_6 = countReset ? 32'h0 : _GEN_3; // @[Timer.scala 214:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225766.4]
+  assign _GEN_7 = countReset ? 27'h0 : _GEN_4; // @[Timer.scala 214:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225766.4]
+  assign _T_343 = io_regs_cfg_write__ip_0 | elapsed_0; // @[WatchdogTimer.scala 36:69:shc.marmotcaravel.MarmotCaravelConfig.fir@225827.4]
+  assign _T_351 = io_regs_cfg_write_ip_0 & unlocked; // @[WatchdogTimer.scala 36:111:shc.marmotcaravel.MarmotCaravelConfig.fir@225831.4]
+  assign _T_352 = _T_351 | elapsed_0; // @[WatchdogTimer.scala 36:124:shc.marmotcaravel.MarmotCaravelConfig.fir@225832.4]
+  assign rsten = AsyncResetRegVec_w1_i0_3_io_q; // @[WatchdogTimer.scala 35:116:shc.marmotcaravel.MarmotCaravelConfig.fir@225862.4]
+  assign io_regs_cfg_read_ip_0 = ip_0; // @[Timer.scala 216:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225826.4 Timer.scala 217:23:shc.marmotcaravel.MarmotCaravelConfig.fir@225837.4]
+  assign io_regs_cfg_read_running = AsyncResetRegVec_w1_i0_2_io_q; // @[Timer.scala 216:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225826.4 Timer.scala 221:28:shc.marmotcaravel.MarmotCaravelConfig.fir@225851.4]
+  assign io_regs_cfg_read_countAlways = AsyncResetRegVec_w1_i0_1_io_q; // @[Timer.scala 216:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225826.4 Timer.scala 222:32:shc.marmotcaravel.MarmotCaravelConfig.fir@225852.4]
+  assign io_regs_cfg_read_deglitch = zerocmp; // @[Timer.scala 216:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225826.4 Timer.scala 223:29:shc.marmotcaravel.MarmotCaravelConfig.fir@225853.4 Timer.scala 224:29:shc.marmotcaravel.MarmotCaravelConfig.fir@225854.4]
+  assign io_regs_cfg_read_sticky = AsyncResetRegVec_w1_i0_3_io_q; // @[Timer.scala 216:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225826.4 Timer.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@225864.4]
+  assign io_regs_cfg_read_scale = scale; // @[Timer.scala 216:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225826.4 Timer.scala 226:26:shc.marmotcaravel.MarmotCaravelConfig.fir@225865.4]
+  assign io_regs_countLo_read = {_T_255,_T_252}; // @[Timer.scala 228:24:shc.marmotcaravel.MarmotCaravelConfig.fir@225866.4]
+  assign io_regs_s_read = _T_264[15:0]; // @[Timer.scala 230:18:shc.marmotcaravel.MarmotCaravelConfig.fir@225869.4]
+  assign io_regs_cmp_0_read = cmp_0; // @[Timer.scala 231:53:shc.marmotcaravel.MarmotCaravelConfig.fir@225870.4]
+  assign io_regs_key_read = {{31'd0}, AsyncResetRegVec_w1_i0_io_q}; // @[Timer.scala 233:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225872.4]
+  assign io_ip_0 = ip_0; // @[Timer.scala 234:9:shc.marmotcaravel.MarmotCaravelConfig.fir@225873.4]
+  assign io_rst = AsyncResetRegVec_w1_i0_4_io_q; // @[WatchdogTimer.scala 65:10:shc.marmotcaravel.MarmotCaravelConfig.fir@225881.4]
+  assign AsyncResetRegVec_w1_i0_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225686.4]
+  assign AsyncResetRegVec_w1_i0_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225687.4]
+  assign AsyncResetRegVec_w1_i0_io_d = _T_235 & _T_236; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@225688.4]
+  assign AsyncResetRegVec_w1_i0_io_en = io_regs_key_write_valid | _T_234; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@225689.4]
+  assign AsyncResetRegVec_w1_i0_1_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225708.4]
+  assign AsyncResetRegVec_w1_i0_1_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225709.4]
+  assign AsyncResetRegVec_w1_i0_1_io_d = io_regs_cfg_write__countAlways; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@225710.4]
+  assign AsyncResetRegVec_w1_i0_1_io_en = io_regs_cfg_write_countAlways & unlocked; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@225711.4]
+  assign AsyncResetRegVec_w1_i0_2_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225716.4]
+  assign AsyncResetRegVec_w1_i0_2_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225717.4]
+  assign AsyncResetRegVec_w1_i0_2_io_d = io_regs_cfg_write__running; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@225718.4]
+  assign AsyncResetRegVec_w1_i0_2_io_en = io_regs_cfg_write_running & unlocked; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@225719.4]
+  assign AsyncResetRegVec_w1_i0_3_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225858.4]
+  assign AsyncResetRegVec_w1_i0_3_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225859.4]
+  assign AsyncResetRegVec_w1_i0_3_io_d = io_regs_cfg_write__sticky; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@225860.4]
+  assign AsyncResetRegVec_w1_i0_3_io_en = io_regs_cfg_write_sticky & unlocked; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@225861.4]
+  assign AsyncResetRegVec_w1_i0_4_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225877.4]
+  assign AsyncResetRegVec_w1_i0_4_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225878.4]
+  assign AsyncResetRegVec_w1_i0_4_io_d = 1'h1; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@225879.4]
+  assign AsyncResetRegVec_w1_i0_4_io_en = rsten & elapsed_0; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@225880.4]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  scale = _RAND_0[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  cmp_0 = _RAND_1[15:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  _T_244 = _RAND_2[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  _T_246 = _RAND_3[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  _T_252 = _RAND_4[4:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  _T_255 = _RAND_5[25:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {1{`RANDOM}};
+  zerocmp = _RAND_6[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {1{`RANDOM}};
+  ip_0 = _RAND_7[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (_T_239) begin
+      scale <= io_regs_cfg_write__scale;
+    end
+    if (_T_241) begin
+      cmp_0 <= io_regs_cmp_0_write_bits;
+    end
+    _T_244 <= io_corerst;
+    _T_246 <= _T_244;
+    _T_252 <= _GEN_6[4:0];
+    _T_255 <= _GEN_7[25:0];
+    if (_T_285) begin
+      zerocmp <= io_regs_cfg_write__zerocmp;
+    end
+    if (_T_352) begin
+      ip_0 <= _T_343;
+    end
+  end
+endmodule
+module Queue_13( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225883.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225884.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225885.4]
+  output        io_enq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225886.4]
+  input         io_enq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225886.4]
+  input         io_enq_bits_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225886.4]
+  input  [9:0]  io_enq_bits_index, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225886.4]
+  input  [31:0] io_enq_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225886.4]
+  input  [3:0]  io_enq_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225886.4]
+  input  [7:0]  io_enq_bits_extra, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225886.4]
+  input         io_deq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225886.4]
+  output        io_deq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225886.4]
+  output        io_deq_bits_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225886.4]
+  output [9:0]  io_deq_bits_index, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225886.4]
+  output [31:0] io_deq_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225886.4]
+  output [3:0]  io_deq_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225886.4]
+  output [7:0]  io_deq_bits_extra // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225886.4]
+);
+  reg  _T_35_read [0:0]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@225888.4]
+  reg [31:0] _RAND_0;
+  wire  _T_35_read__T_52_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@225888.4]
+  wire  _T_35_read__T_52_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@225888.4]
+  wire  _T_35_read__T_48_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@225888.4]
+  wire  _T_35_read__T_48_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@225888.4]
+  wire  _T_35_read__T_48_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@225888.4]
+  wire  _T_35_read__T_48_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@225888.4]
+  reg [9:0] _T_35_index [0:0]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@225888.4]
+  reg [31:0] _RAND_1;
+  wire [9:0] _T_35_index__T_52_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@225888.4]
+  wire  _T_35_index__T_52_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@225888.4]
+  wire [9:0] _T_35_index__T_48_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@225888.4]
+  wire  _T_35_index__T_48_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@225888.4]
+  wire  _T_35_index__T_48_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@225888.4]
+  wire  _T_35_index__T_48_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@225888.4]
+  reg [31:0] _T_35_data [0:0]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@225888.4]
+  reg [31:0] _RAND_2;
+  wire [31:0] _T_35_data__T_52_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@225888.4]
+  wire  _T_35_data__T_52_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@225888.4]
+  wire [31:0] _T_35_data__T_48_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@225888.4]
+  wire  _T_35_data__T_48_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@225888.4]
+  wire  _T_35_data__T_48_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@225888.4]
+  wire  _T_35_data__T_48_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@225888.4]
+  reg [3:0] _T_35_mask [0:0]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@225888.4]
+  reg [31:0] _RAND_3;
+  wire [3:0] _T_35_mask__T_52_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@225888.4]
+  wire  _T_35_mask__T_52_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@225888.4]
+  wire [3:0] _T_35_mask__T_48_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@225888.4]
+  wire  _T_35_mask__T_48_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@225888.4]
+  wire  _T_35_mask__T_48_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@225888.4]
+  wire  _T_35_mask__T_48_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@225888.4]
+  reg [7:0] _T_35_extra [0:0]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@225888.4]
+  reg [31:0] _RAND_4;
+  wire [7:0] _T_35_extra__T_52_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@225888.4]
+  wire  _T_35_extra__T_52_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@225888.4]
+  wire [7:0] _T_35_extra__T_48_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@225888.4]
+  wire  _T_35_extra__T_48_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@225888.4]
+  wire  _T_35_extra__T_48_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@225888.4]
+  wire  _T_35_extra__T_48_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@225888.4]
+  reg  _T_37; // @[Decoupled.scala 217:35:shc.marmotcaravel.MarmotCaravelConfig.fir@225889.4]
+  reg [31:0] _RAND_5;
+  wire  _T_39; // @[Decoupled.scala 220:36:shc.marmotcaravel.MarmotCaravelConfig.fir@225891.4]
+  wire  _T_42; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@225894.4]
+  wire  _T_45; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@225897.4]
+  wire  _T_49; // @[Decoupled.scala 232:16:shc.marmotcaravel.MarmotCaravelConfig.fir@225910.4]
+  assign _T_35_read__T_52_addr = 1'h0;
+  assign _T_35_read__T_52_data = _T_35_read[_T_35_read__T_52_addr]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@225888.4]
+  assign _T_35_read__T_48_data = io_enq_bits_read;
+  assign _T_35_read__T_48_addr = 1'h0;
+  assign _T_35_read__T_48_mask = 1'h1;
+  assign _T_35_read__T_48_en = io_enq_ready & io_enq_valid;
+  assign _T_35_index__T_52_addr = 1'h0;
+  assign _T_35_index__T_52_data = _T_35_index[_T_35_index__T_52_addr]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@225888.4]
+  assign _T_35_index__T_48_data = io_enq_bits_index;
+  assign _T_35_index__T_48_addr = 1'h0;
+  assign _T_35_index__T_48_mask = 1'h1;
+  assign _T_35_index__T_48_en = io_enq_ready & io_enq_valid;
+  assign _T_35_data__T_52_addr = 1'h0;
+  assign _T_35_data__T_52_data = _T_35_data[_T_35_data__T_52_addr]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@225888.4]
+  assign _T_35_data__T_48_data = io_enq_bits_data;
+  assign _T_35_data__T_48_addr = 1'h0;
+  assign _T_35_data__T_48_mask = 1'h1;
+  assign _T_35_data__T_48_en = io_enq_ready & io_enq_valid;
+  assign _T_35_mask__T_52_addr = 1'h0;
+  assign _T_35_mask__T_52_data = _T_35_mask[_T_35_mask__T_52_addr]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@225888.4]
+  assign _T_35_mask__T_48_data = io_enq_bits_mask;
+  assign _T_35_mask__T_48_addr = 1'h0;
+  assign _T_35_mask__T_48_mask = 1'h1;
+  assign _T_35_mask__T_48_en = io_enq_ready & io_enq_valid;
+  assign _T_35_extra__T_52_addr = 1'h0;
+  assign _T_35_extra__T_52_data = _T_35_extra[_T_35_extra__T_52_addr]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@225888.4]
+  assign _T_35_extra__T_48_data = io_enq_bits_extra;
+  assign _T_35_extra__T_48_addr = 1'h0;
+  assign _T_35_extra__T_48_mask = 1'h1;
+  assign _T_35_extra__T_48_en = io_enq_ready & io_enq_valid;
+  assign _T_39 = _T_37 == 1'h0; // @[Decoupled.scala 220:36:shc.marmotcaravel.MarmotCaravelConfig.fir@225891.4]
+  assign _T_42 = io_enq_ready & io_enq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@225894.4]
+  assign _T_45 = io_deq_ready & io_deq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@225897.4]
+  assign _T_49 = _T_42 != _T_45; // @[Decoupled.scala 232:16:shc.marmotcaravel.MarmotCaravelConfig.fir@225910.4]
+  assign io_enq_ready = _T_37 == 1'h0; // @[Decoupled.scala 237:16:shc.marmotcaravel.MarmotCaravelConfig.fir@225917.4]
+  assign io_deq_valid = _T_39 == 1'h0; // @[Decoupled.scala 236:16:shc.marmotcaravel.MarmotCaravelConfig.fir@225915.4]
+  assign io_deq_bits_read = _T_35_read__T_52_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@225923.4]
+  assign io_deq_bits_index = _T_35_index__T_52_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@225922.4]
+  assign io_deq_bits_data = _T_35_data__T_52_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@225921.4]
+  assign io_deq_bits_mask = _T_35_mask__T_52_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@225920.4]
+  assign io_deq_bits_extra = _T_35_extra__T_52_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@225919.4]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  _RAND_0 = {1{`RANDOM}};
+  `ifdef RANDOMIZE_MEM_INIT
+  for (initvar = 0; initvar < 1; initvar = initvar+1)
+    _T_35_read[initvar] = _RAND_0[0:0];
+  `endif // RANDOMIZE_MEM_INIT
+  _RAND_1 = {1{`RANDOM}};
+  `ifdef RANDOMIZE_MEM_INIT
+  for (initvar = 0; initvar < 1; initvar = initvar+1)
+    _T_35_index[initvar] = _RAND_1[9:0];
+  `endif // RANDOMIZE_MEM_INIT
+  _RAND_2 = {1{`RANDOM}};
+  `ifdef RANDOMIZE_MEM_INIT
+  for (initvar = 0; initvar < 1; initvar = initvar+1)
+    _T_35_data[initvar] = _RAND_2[31:0];
+  `endif // RANDOMIZE_MEM_INIT
+  _RAND_3 = {1{`RANDOM}};
+  `ifdef RANDOMIZE_MEM_INIT
+  for (initvar = 0; initvar < 1; initvar = initvar+1)
+    _T_35_mask[initvar] = _RAND_3[3:0];
+  `endif // RANDOMIZE_MEM_INIT
+  _RAND_4 = {1{`RANDOM}};
+  `ifdef RANDOMIZE_MEM_INIT
+  for (initvar = 0; initvar < 1; initvar = initvar+1)
+    _T_35_extra[initvar] = _RAND_4[7:0];
+  `endif // RANDOMIZE_MEM_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  _T_37 = _RAND_5[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if(_T_35_read__T_48_en & _T_35_read__T_48_mask) begin
+      _T_35_read[_T_35_read__T_48_addr] <= _T_35_read__T_48_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@225888.4]
+    end
+    if(_T_35_index__T_48_en & _T_35_index__T_48_mask) begin
+      _T_35_index[_T_35_index__T_48_addr] <= _T_35_index__T_48_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@225888.4]
+    end
+    if(_T_35_data__T_48_en & _T_35_data__T_48_mask) begin
+      _T_35_data[_T_35_data__T_48_addr] <= _T_35_data__T_48_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@225888.4]
+    end
+    if(_T_35_mask__T_48_en & _T_35_mask__T_48_mask) begin
+      _T_35_mask[_T_35_mask__T_48_addr] <= _T_35_mask__T_48_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@225888.4]
+    end
+    if(_T_35_extra__T_48_en & _T_35_extra__T_48_mask) begin
+      _T_35_extra[_T_35_extra__T_48_addr] <= _T_35_extra__T_48_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@225888.4]
+    end
+    if (reset) begin
+      _T_37 <= 1'h0;
+    end else begin
+      if (_T_49) begin
+        _T_37 <= _T_42;
+      end
+    end
+  end
+endmodule
+module TLMockAON( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225931.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225932.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225933.4]
+  output        auto_int_out_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225934.4]
+  output        auto_int_out_1, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225934.4]
+  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225934.4]
+  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225934.4]
+  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225934.4]
+  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225934.4]
+  input  [1:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225934.4]
+  input  [5:0]  auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225934.4]
+  input  [28:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225934.4]
+  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225934.4]
+  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225934.4]
+  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225934.4]
+  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225934.4]
+  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225934.4]
+  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225934.4]
+  output [1:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225934.4]
+  output [5:0]  auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225934.4]
+  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225934.4]
+  output        io_moff_corerst, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225935.4]
+  output        io_wdog_rst, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225935.4]
+  output        io_lfclk, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225935.4]
+  input         io_lfextclk, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225935.4]
+  input         io_resetCauses_wdogrst, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225935.4]
+  input         io_resetCauses_erst // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225935.4]
+);
+  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@225943.4]
+  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@225943.4]
+  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@225943.4]
+  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@225943.4]
+  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@225943.4]
+  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@225943.4]
+  wire [1:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@225943.4]
+  wire [5:0] TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@225943.4]
+  wire [28:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@225943.4]
+  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@225943.4]
+  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@225943.4]
+  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@225943.4]
+  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@225943.4]
+  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@225943.4]
+  wire [1:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@225943.4]
+  wire [5:0] TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@225943.4]
+  wire  rtc_clock; // @[MockAON.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225984.4]
+  wire  rtc_reset; // @[MockAON.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225984.4]
+  wire  rtc_io_regs_cfg_write__countAlways; // @[MockAON.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225984.4]
+  wire [3:0] rtc_io_regs_cfg_write__scale; // @[MockAON.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225984.4]
+  wire  rtc_io_regs_cfg_read_ip_0; // @[MockAON.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225984.4]
+  wire  rtc_io_regs_cfg_read_countAlways; // @[MockAON.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225984.4]
+  wire [3:0] rtc_io_regs_cfg_read_scale; // @[MockAON.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225984.4]
+  wire  rtc_io_regs_cfg_write_countAlways; // @[MockAON.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225984.4]
+  wire  rtc_io_regs_cfg_write_scale; // @[MockAON.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225984.4]
+  wire  rtc_io_regs_countLo_write_valid; // @[MockAON.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225984.4]
+  wire [31:0] rtc_io_regs_countLo_write_bits; // @[MockAON.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225984.4]
+  wire [31:0] rtc_io_regs_countLo_read; // @[MockAON.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225984.4]
+  wire  rtc_io_regs_countHi_write_valid; // @[MockAON.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225984.4]
+  wire [31:0] rtc_io_regs_countHi_write_bits; // @[MockAON.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225984.4]
+  wire [31:0] rtc_io_regs_countHi_read; // @[MockAON.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225984.4]
+  wire [31:0] rtc_io_regs_s_read; // @[MockAON.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225984.4]
+  wire  rtc_io_regs_cmp_0_write_valid; // @[MockAON.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225984.4]
+  wire [31:0] rtc_io_regs_cmp_0_write_bits; // @[MockAON.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225984.4]
+  wire [31:0] rtc_io_regs_cmp_0_read; // @[MockAON.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225984.4]
+  wire  rtc_io_ip_0; // @[MockAON.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225984.4]
+  wire  pmu_clock; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
+  wire  pmu_reset; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
+  wire  pmu_io_wakeup_rtc; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
+  wire  pmu_io_control_corerst; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
+  wire  pmu_io_regs_ie_write_valid; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
+  wire [3:0] pmu_io_regs_ie_write_bits; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
+  wire [3:0] pmu_io_regs_ie_read; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
+  wire  pmu_io_regs_cause_write_valid; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
+  wire [31:0] pmu_io_regs_cause_read; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
+  wire  pmu_io_regs_sleep_write_valid; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
+  wire  pmu_io_regs_key_write_valid; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
+  wire [31:0] pmu_io_regs_key_write_bits; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
+  wire [31:0] pmu_io_regs_key_read; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
+  wire  pmu_io_regs_wakeupProgram_0_write_valid; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
+  wire [31:0] pmu_io_regs_wakeupProgram_0_write_bits; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
+  wire [31:0] pmu_io_regs_wakeupProgram_0_read; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
+  wire  pmu_io_regs_wakeupProgram_1_write_valid; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
+  wire [31:0] pmu_io_regs_wakeupProgram_1_write_bits; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
+  wire [31:0] pmu_io_regs_wakeupProgram_1_read; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
+  wire  pmu_io_regs_wakeupProgram_2_write_valid; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
+  wire [31:0] pmu_io_regs_wakeupProgram_2_write_bits; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
+  wire [31:0] pmu_io_regs_wakeupProgram_2_read; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
+  wire  pmu_io_regs_wakeupProgram_3_write_valid; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
+  wire [31:0] pmu_io_regs_wakeupProgram_3_write_bits; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
+  wire [31:0] pmu_io_regs_wakeupProgram_3_read; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
+  wire  pmu_io_regs_wakeupProgram_4_write_valid; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
+  wire [31:0] pmu_io_regs_wakeupProgram_4_write_bits; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
+  wire [31:0] pmu_io_regs_wakeupProgram_4_read; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
+  wire  pmu_io_regs_wakeupProgram_5_write_valid; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
+  wire [31:0] pmu_io_regs_wakeupProgram_5_write_bits; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
+  wire [31:0] pmu_io_regs_wakeupProgram_5_read; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
+  wire  pmu_io_regs_wakeupProgram_6_write_valid; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
+  wire [31:0] pmu_io_regs_wakeupProgram_6_write_bits; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
+  wire [31:0] pmu_io_regs_wakeupProgram_6_read; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
+  wire  pmu_io_regs_wakeupProgram_7_write_valid; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
+  wire [31:0] pmu_io_regs_wakeupProgram_7_write_bits; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
+  wire [31:0] pmu_io_regs_wakeupProgram_7_read; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
+  wire  pmu_io_regs_sleepProgram_0_write_valid; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
+  wire [31:0] pmu_io_regs_sleepProgram_0_write_bits; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
+  wire [31:0] pmu_io_regs_sleepProgram_0_read; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
+  wire  pmu_io_regs_sleepProgram_1_write_valid; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
+  wire [31:0] pmu_io_regs_sleepProgram_1_write_bits; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
+  wire [31:0] pmu_io_regs_sleepProgram_1_read; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
+  wire  pmu_io_regs_sleepProgram_2_write_valid; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
+  wire [31:0] pmu_io_regs_sleepProgram_2_write_bits; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
+  wire [31:0] pmu_io_regs_sleepProgram_2_read; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
+  wire  pmu_io_regs_sleepProgram_3_write_valid; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
+  wire [31:0] pmu_io_regs_sleepProgram_3_write_bits; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
+  wire [31:0] pmu_io_regs_sleepProgram_3_read; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
+  wire  pmu_io_regs_sleepProgram_4_write_valid; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
+  wire [31:0] pmu_io_regs_sleepProgram_4_write_bits; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
+  wire [31:0] pmu_io_regs_sleepProgram_4_read; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
+  wire  pmu_io_regs_sleepProgram_5_write_valid; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
+  wire [31:0] pmu_io_regs_sleepProgram_5_write_bits; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
+  wire [31:0] pmu_io_regs_sleepProgram_5_read; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
+  wire  pmu_io_regs_sleepProgram_6_write_valid; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
+  wire [31:0] pmu_io_regs_sleepProgram_6_write_bits; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
+  wire [31:0] pmu_io_regs_sleepProgram_6_read; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
+  wire  pmu_io_regs_sleepProgram_7_write_valid; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
+  wire [31:0] pmu_io_regs_sleepProgram_7_write_bits; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
+  wire [31:0] pmu_io_regs_sleepProgram_7_read; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
+  wire  pmu_io_resetCauses_wdogrst; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
+  wire  pmu_io_resetCauses_erst; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
+  wire  wdog_clock; // @[MockAON.scala 78:20:shc.marmotcaravel.MarmotCaravelConfig.fir@226001.4]
+  wire  wdog_reset; // @[MockAON.scala 78:20:shc.marmotcaravel.MarmotCaravelConfig.fir@226001.4]
+  wire  wdog_io_regs_cfg_write__ip_0; // @[MockAON.scala 78:20:shc.marmotcaravel.MarmotCaravelConfig.fir@226001.4]
+  wire  wdog_io_regs_cfg_write__running; // @[MockAON.scala 78:20:shc.marmotcaravel.MarmotCaravelConfig.fir@226001.4]
+  wire  wdog_io_regs_cfg_write__countAlways; // @[MockAON.scala 78:20:shc.marmotcaravel.MarmotCaravelConfig.fir@226001.4]
+  wire  wdog_io_regs_cfg_write__zerocmp; // @[MockAON.scala 78:20:shc.marmotcaravel.MarmotCaravelConfig.fir@226001.4]
+  wire  wdog_io_regs_cfg_write__sticky; // @[MockAON.scala 78:20:shc.marmotcaravel.MarmotCaravelConfig.fir@226001.4]
+  wire [3:0] wdog_io_regs_cfg_write__scale; // @[MockAON.scala 78:20:shc.marmotcaravel.MarmotCaravelConfig.fir@226001.4]
+  wire  wdog_io_regs_cfg_read_ip_0; // @[MockAON.scala 78:20:shc.marmotcaravel.MarmotCaravelConfig.fir@226001.4]
+  wire  wdog_io_regs_cfg_read_running; // @[MockAON.scala 78:20:shc.marmotcaravel.MarmotCaravelConfig.fir@226001.4]
+  wire  wdog_io_regs_cfg_read_countAlways; // @[MockAON.scala 78:20:shc.marmotcaravel.MarmotCaravelConfig.fir@226001.4]
+  wire  wdog_io_regs_cfg_read_deglitch; // @[MockAON.scala 78:20:shc.marmotcaravel.MarmotCaravelConfig.fir@226001.4]
+  wire  wdog_io_regs_cfg_read_sticky; // @[MockAON.scala 78:20:shc.marmotcaravel.MarmotCaravelConfig.fir@226001.4]
+  wire [3:0] wdog_io_regs_cfg_read_scale; // @[MockAON.scala 78:20:shc.marmotcaravel.MarmotCaravelConfig.fir@226001.4]
+  wire  wdog_io_regs_cfg_write_ip_0; // @[MockAON.scala 78:20:shc.marmotcaravel.MarmotCaravelConfig.fir@226001.4]
+  wire  wdog_io_regs_cfg_write_gang_0; // @[MockAON.scala 78:20:shc.marmotcaravel.MarmotCaravelConfig.fir@226001.4]
+  wire  wdog_io_regs_cfg_write_extra_0; // @[MockAON.scala 78:20:shc.marmotcaravel.MarmotCaravelConfig.fir@226001.4]
+  wire  wdog_io_regs_cfg_write_center_0; // @[MockAON.scala 78:20:shc.marmotcaravel.MarmotCaravelConfig.fir@226001.4]
+  wire  wdog_io_regs_cfg_write_running; // @[MockAON.scala 78:20:shc.marmotcaravel.MarmotCaravelConfig.fir@226001.4]
+  wire  wdog_io_regs_cfg_write_countAlways; // @[MockAON.scala 78:20:shc.marmotcaravel.MarmotCaravelConfig.fir@226001.4]
+  wire  wdog_io_regs_cfg_write_deglitch; // @[MockAON.scala 78:20:shc.marmotcaravel.MarmotCaravelConfig.fir@226001.4]
+  wire  wdog_io_regs_cfg_write_zerocmp; // @[MockAON.scala 78:20:shc.marmotcaravel.MarmotCaravelConfig.fir@226001.4]
+  wire  wdog_io_regs_cfg_write_sticky; // @[MockAON.scala 78:20:shc.marmotcaravel.MarmotCaravelConfig.fir@226001.4]
+  wire  wdog_io_regs_cfg_write_scale; // @[MockAON.scala 78:20:shc.marmotcaravel.MarmotCaravelConfig.fir@226001.4]
+  wire  wdog_io_regs_countLo_write_valid; // @[MockAON.scala 78:20:shc.marmotcaravel.MarmotCaravelConfig.fir@226001.4]
+  wire [30:0] wdog_io_regs_countLo_write_bits; // @[MockAON.scala 78:20:shc.marmotcaravel.MarmotCaravelConfig.fir@226001.4]
+  wire [30:0] wdog_io_regs_countLo_read; // @[MockAON.scala 78:20:shc.marmotcaravel.MarmotCaravelConfig.fir@226001.4]
+  wire  wdog_io_regs_countHi_write_valid; // @[MockAON.scala 78:20:shc.marmotcaravel.MarmotCaravelConfig.fir@226001.4]
+  wire  wdog_io_regs_s_write_valid; // @[MockAON.scala 78:20:shc.marmotcaravel.MarmotCaravelConfig.fir@226001.4]
+  wire [15:0] wdog_io_regs_s_read; // @[MockAON.scala 78:20:shc.marmotcaravel.MarmotCaravelConfig.fir@226001.4]
+  wire  wdog_io_regs_cmp_0_write_valid; // @[MockAON.scala 78:20:shc.marmotcaravel.MarmotCaravelConfig.fir@226001.4]
+  wire [15:0] wdog_io_regs_cmp_0_write_bits; // @[MockAON.scala 78:20:shc.marmotcaravel.MarmotCaravelConfig.fir@226001.4]
+  wire [15:0] wdog_io_regs_cmp_0_read; // @[MockAON.scala 78:20:shc.marmotcaravel.MarmotCaravelConfig.fir@226001.4]
+  wire  wdog_io_regs_feed_write_valid; // @[MockAON.scala 78:20:shc.marmotcaravel.MarmotCaravelConfig.fir@226001.4]
+  wire [31:0] wdog_io_regs_feed_write_bits; // @[MockAON.scala 78:20:shc.marmotcaravel.MarmotCaravelConfig.fir@226001.4]
+  wire  wdog_io_regs_key_write_valid; // @[MockAON.scala 78:20:shc.marmotcaravel.MarmotCaravelConfig.fir@226001.4]
+  wire [31:0] wdog_io_regs_key_write_bits; // @[MockAON.scala 78:20:shc.marmotcaravel.MarmotCaravelConfig.fir@226001.4]
+  wire [31:0] wdog_io_regs_key_read; // @[MockAON.scala 78:20:shc.marmotcaravel.MarmotCaravelConfig.fir@226001.4]
+  wire  wdog_io_ip_0; // @[MockAON.scala 78:20:shc.marmotcaravel.MarmotCaravelConfig.fir@226001.4]
+  wire  wdog_io_corerst; // @[MockAON.scala 78:20:shc.marmotcaravel.MarmotCaravelConfig.fir@226001.4]
+  wire  wdog_io_rst; // @[MockAON.scala 78:20:shc.marmotcaravel.MarmotCaravelConfig.fir@226001.4]
+  wire  Queue_clock; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@226098.4]
+  wire  Queue_reset; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@226098.4]
+  wire  Queue_io_enq_ready; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@226098.4]
+  wire  Queue_io_enq_valid; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@226098.4]
+  wire  Queue_io_enq_bits_read; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@226098.4]
+  wire [9:0] Queue_io_enq_bits_index; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@226098.4]
+  wire [31:0] Queue_io_enq_bits_data; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@226098.4]
+  wire [3:0] Queue_io_enq_bits_mask; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@226098.4]
+  wire [7:0] Queue_io_enq_bits_extra; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@226098.4]
+  wire  Queue_io_deq_ready; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@226098.4]
+  wire  Queue_io_deq_valid; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@226098.4]
+  wire  Queue_io_deq_bits_read; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@226098.4]
+  wire [9:0] Queue_io_deq_bits_index; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@226098.4]
+  wire [31:0] Queue_io_deq_bits_data; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@226098.4]
+  wire [3:0] Queue_io_deq_bits_mask; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@226098.4]
+  wire [7:0] Queue_io_deq_bits_extra; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@226098.4]
+  reg [31:0] backupRegs_0; // @[MockAON.scala 86:47:shc.marmotcaravel.MarmotCaravelConfig.fir@226011.4]
+  reg [31:0] _RAND_0;
+  reg [31:0] backupRegs_1; // @[MockAON.scala 86:47:shc.marmotcaravel.MarmotCaravelConfig.fir@226012.4]
+  reg [31:0] _RAND_1;
+  reg [31:0] backupRegs_2; // @[MockAON.scala 86:47:shc.marmotcaravel.MarmotCaravelConfig.fir@226013.4]
+  reg [31:0] _RAND_2;
+  reg [31:0] backupRegs_3; // @[MockAON.scala 86:47:shc.marmotcaravel.MarmotCaravelConfig.fir@226014.4]
+  reg [31:0] _RAND_3;
+  reg [31:0] backupRegs_4; // @[MockAON.scala 86:47:shc.marmotcaravel.MarmotCaravelConfig.fir@226015.4]
+  reg [31:0] _RAND_4;
+  reg [31:0] backupRegs_5; // @[MockAON.scala 86:47:shc.marmotcaravel.MarmotCaravelConfig.fir@226016.4]
+  reg [31:0] _RAND_5;
+  reg [31:0] backupRegs_6; // @[MockAON.scala 86:47:shc.marmotcaravel.MarmotCaravelConfig.fir@226017.4]
+  reg [31:0] _RAND_6;
+  reg [31:0] backupRegs_7; // @[MockAON.scala 86:47:shc.marmotcaravel.MarmotCaravelConfig.fir@226018.4]
+  reg [31:0] _RAND_7;
+  reg [31:0] backupRegs_8; // @[MockAON.scala 86:47:shc.marmotcaravel.MarmotCaravelConfig.fir@226019.4]
+  reg [31:0] _RAND_8;
+  reg [31:0] backupRegs_9; // @[MockAON.scala 86:47:shc.marmotcaravel.MarmotCaravelConfig.fir@226020.4]
+  reg [31:0] _RAND_9;
+  reg [31:0] backupRegs_10; // @[MockAON.scala 86:47:shc.marmotcaravel.MarmotCaravelConfig.fir@226021.4]
+  reg [31:0] _RAND_10;
+  reg [31:0] backupRegs_11; // @[MockAON.scala 86:47:shc.marmotcaravel.MarmotCaravelConfig.fir@226022.4]
+  reg [31:0] _RAND_11;
+  reg [31:0] backupRegs_12; // @[MockAON.scala 86:47:shc.marmotcaravel.MarmotCaravelConfig.fir@226023.4]
+  reg [31:0] _RAND_12;
+  reg [31:0] backupRegs_13; // @[MockAON.scala 86:47:shc.marmotcaravel.MarmotCaravelConfig.fir@226024.4]
+  reg [31:0] _RAND_13;
+  reg [31:0] backupRegs_14; // @[MockAON.scala 86:47:shc.marmotcaravel.MarmotCaravelConfig.fir@226025.4]
+  reg [31:0] _RAND_14;
+  reg [31:0] backupRegs_15; // @[MockAON.scala 86:47:shc.marmotcaravel.MarmotCaravelConfig.fir@226026.4]
+  reg [31:0] _RAND_15;
+  wire [26:0] _T_291; // @[Edges.scala 192:34:shc.marmotcaravel.MarmotCaravelConfig.fir@226087.4]
+  wire [9:0] _T_309; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226110.4]
+  wire  _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226112.4]
+  wire  _T_777; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@226234.4]
+  wire  _T_778; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@226235.4]
+  wire  _T_779; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@226236.4]
+  wire  _T_780; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@226237.4]
+  wire [7:0] _T_782; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@226239.4]
+  wire [7:0] _T_784; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@226241.4]
+  wire [7:0] _T_786; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@226243.4]
+  wire [7:0] _T_788; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@226245.4]
+  wire [15:0] _T_789; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226246.4]
+  wire [15:0] _T_790; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226247.4]
+  wire [31:0] _T_791; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226248.4]
+  wire [31:0] _T_800; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226257.4]
+  wire  _T_801; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226258.4]
+  wire  _T_5011; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@231030.4]
+  wire  _T_2928; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228537.4]
+  wire  _T_2927; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228536.4]
+  wire [1:0] _T_2935; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@228544.4]
+  wire  _T_2926; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228535.4]
+  wire  _T_2925; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228534.4]
+  wire [1:0] _T_2934; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@228543.4]
+  wire [3:0] _T_2936; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@228545.4]
+  wire  _T_2924; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228533.4]
+  wire  _T_2923; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228532.4]
+  wire [1:0] _T_2932; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@228541.4]
+  wire  _T_2922; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228531.4]
+  wire [2:0] _T_2933; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@228542.4]
+  wire [6:0] _T_2937; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@228546.4]
+  wire [127:0] _T_3067; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@228676.4]
+  wire  _T_3137; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228746.4]
+  wire  _T_5919; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232143.4]
+  wire  _T_5920; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232144.4]
+  wire  _T_6337; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232697.4]
+  wire  _T_6338; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232698.4]
+  wire [31:0] _T_806; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226263.4]
+  wire [31:0] _T_815; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226274.4]
+  wire [3:0] _T_822; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226281.4]
+  wire [3:0] _T_825; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226284.4]
+  wire  _T_826; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226285.4]
+  wire  _T_3068; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228677.4]
+  wire  _T_5923; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232147.4]
+  wire  _T_5924; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232148.4]
+  wire [3:0] _T_840; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226301.4]
+  wire [4:0] _T_866; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226327.4]
+  wire [7:0] _T_867; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226328.4]
+  wire  _T_874; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226335.4]
+  wire  _T_877; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226338.4]
+  wire  _T_878; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226339.4]
+  wire [8:0] _T_893; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226356.4]
+  wire  _T_901; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226364.4]
+  wire  _T_904; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226367.4]
+  wire  _T_905; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226368.4]
+  wire [9:0] _T_920; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226385.4]
+  wire  _T_928; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226393.4]
+  wire  _T_931; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226396.4]
+  wire  _T_932; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226397.4]
+  wire [10:0] _T_947; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226414.4]
+  wire [11:0] _T_974; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226441.4]
+  wire  _T_982; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226449.4]
+  wire  _T_985; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226452.4]
+  wire  _T_986; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226453.4]
+  wire [12:0] _T_1001; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226470.4]
+  wire  _T_1009; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226478.4]
+  wire  _T_1012; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226481.4]
+  wire  _T_1013; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226482.4]
+  wire [13:0] _T_1028; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226499.4]
+  wire [14:0] _T_1055; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226526.4]
+  wire [15:0] _T_1056; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226527.4]
+  wire  _T_1063; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226534.4]
+  wire  _T_1066; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226537.4]
+  wire  _T_1067; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226538.4]
+  wire [16:0] _T_1082; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226555.4]
+  wire [17:0] _T_1109; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226582.4]
+  wire [19:0] _T_1110; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226583.4]
+  wire  _T_1117; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226590.4]
+  wire  _T_1120; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226593.4]
+  wire  _T_1121; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226594.4]
+  wire [20:0] _T_1136; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226611.4]
+  wire [21:0] _T_1163; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226638.4]
+  wire [23:0] _T_1164; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226639.4]
+  wire  _T_1171; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226646.4]
+  wire  _T_1174; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226649.4]
+  wire  _T_1175; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226650.4]
+  wire [24:0] _T_1190; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226667.4]
+  wire [25:0] _T_1217; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226694.4]
+  wire [27:0] _T_1218; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226695.4]
+  wire  _T_1225; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226702.4]
+  wire  _T_1228; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226705.4]
+  wire  _T_1229; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226706.4]
+  wire [28:0] _T_1244; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226723.4]
+  wire [29:0] _T_1271; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226750.4]
+  wire [31:0] _T_1272; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226751.4]
+  wire  _T_3110; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228719.4]
+  wire  _T_6175; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232497.4]
+  wire  _T_6176; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232498.4]
+  wire  _T_1287; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226766.4]
+  wire  _T_3092; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228701.4]
+  wire  _T_6067; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232360.4]
+  wire  _T_6068; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232361.4]
+  wire [31:0] _T_1322; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226806.4]
+  wire  _T_3105; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228714.4]
+  wire  _T_6145; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232457.4]
+  wire  _T_6146; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232458.4]
+  wire  _T_1337; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226821.4]
+  wire [31:0] _T_1372; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226861.4]
+  wire  _T_3114; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228723.4]
+  wire  _T_6199; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232529.4]
+  wire  _T_6200; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232530.4]
+  wire  _T_1387; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226876.4]
+  wire  _T_3146; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228755.4]
+  wire  _T_6391; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232769.4]
+  wire  _T_6392; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232770.4]
+  wire [31:0] _T_1422; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226916.4]
+  wire  _T_3142; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228751.4]
+  wire  _T_6367; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232737.4]
+  wire  _T_6368; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232738.4]
+  wire [31:0] _T_1447; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226943.4]
+  wire  _T_3074; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228683.4]
+  wire  _T_5959; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232209.4]
+  wire  _T_5960; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232210.4]
+  wire  _T_3106; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228715.4]
+  wire  _T_6151; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232465.4]
+  wire  _T_6152; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232466.4]
+  wire  _T_1487; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226985.4]
+  wire  _T_3138; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228747.4]
+  wire  _T_6343; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232705.4]
+  wire  _T_6344; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232706.4]
+  wire [31:0] _T_1522; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@227025.4]
+  wire  _T_3101; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228710.4]
+  wire  _T_6121; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232425.4]
+  wire  _T_6122; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232426.4]
+  wire  _T_1537; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@227040.4]
+  wire  _T_3133; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228742.4]
+  wire  _T_6313; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232665.4]
+  wire  _T_6314; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232666.4]
+  wire [31:0] _T_1572; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@227080.4]
+  wire  _T_3145; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228754.4]
+  wire  _T_6385; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232761.4]
+  wire  _T_6386; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232762.4]
+  wire [31:0] _T_1597; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@227107.4]
+  wire  _T_3109; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228718.4]
+  wire  _T_6169; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232489.4]
+  wire  _T_6170; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232490.4]
+  wire  _T_1612; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@227122.4]
+  wire  _T_3141; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228750.4]
+  wire  _T_6361; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232729.4]
+  wire  _T_6362; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232730.4]
+  wire [31:0] _T_1647; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@227162.4]
+  wire [30:0] _T_1654; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@227169.4]
+  wire [30:0] _T_1657; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@227172.4]
+  wire  _T_1658; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@227173.4]
+  wire  _T_3070; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228679.4]
+  wire  _T_5935; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232178.4]
+  wire  _T_5936; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232179.4]
+  wire [30:0] _T_1672; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@227189.4]
+  wire  _T_3100; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228709.4]
+  wire  _T_6115; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232417.4]
+  wire  _T_6116; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232418.4]
+  wire  _T_1687; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@227204.4]
+  wire  _T_3102; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228711.4]
+  wire  _T_6127; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232433.4]
+  wire  _T_6128; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232434.4]
+  wire  _T_1712; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@227232.4]
+  wire  _T_3113; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228722.4]
+  wire  _T_6193; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232521.4]
+  wire  _T_6194; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232522.4]
+  wire  _T_1737; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@227260.4]
+  wire  _T_3132; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228741.4]
+  wire  _T_6307; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232657.4]
+  wire  _T_6308; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232658.4]
+  wire [31:0] _T_1772; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@227300.4]
+  wire  _T_3112; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228721.4]
+  wire  _T_6187; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232513.4]
+  wire  _T_6188; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232514.4]
+  wire  _T_1812; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@227342.4]
+  wire  _T_3139; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228748.4]
+  wire  _T_6349; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232713.4]
+  wire  _T_6350; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232714.4]
+  wire [31:0] _T_1847; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@227382.4]
+  wire  _T_3149; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228758.4]
+  wire  _T_6409; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232793.4]
+  wire  _T_6410; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232794.4]
+  wire [31:0] _T_1872; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@227409.4]
+  wire  _T_3144; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228753.4]
+  wire  _T_6379; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232753.4]
+  wire  _T_6380; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232754.4]
+  wire [31:0] _T_1897; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@227436.4]
+  wire  _T_3075; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228684.4]
+  wire  _T_5965; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232217.4]
+  wire  _T_5966; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232218.4]
+  wire [31:0] _T_1922; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@227463.4]
+  wire  _T_3107; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228716.4]
+  wire  _T_6157; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232473.4]
+  wire  _T_6158; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232474.4]
+  wire  _T_1937; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@227478.4]
+  wire  _T_3134; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228743.4]
+  wire  _T_6319; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232673.4]
+  wire  _T_6320; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232674.4]
+  wire [31:0] _T_1972; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@227518.4]
+  wire  _T_3071; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228680.4]
+  wire  _T_5941; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232186.4]
+  wire  _T_5942; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232187.4]
+  wire  _T_3148; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228757.4]
+  wire  _T_6403; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232785.4]
+  wire  _T_6404; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232786.4]
+  wire [3:0] _T_2022; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@227572.4]
+  wire  _T_3103; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228712.4]
+  wire  _T_6133; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232441.4]
+  wire  _T_6134; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232442.4]
+  wire  _T_2037; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@227587.4]
+  wire  _T_3086; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228695.4]
+  wire  _T_6031; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232313.4]
+  wire  _T_6032; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232314.4]
+  wire [31:0] _T_2072; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@227627.4]
+  wire  _T_3135; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228744.4]
+  wire  _T_6325; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232681.4]
+  wire  _T_6326; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232682.4]
+  wire [31:0] _T_2097; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@227654.4]
+  wire  _T_3084; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228693.4]
+  wire  _T_6019; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232282.4]
+  wire  _T_6020; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232283.4]
+  wire [3:0] _T_2122; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@227681.4]
+  wire [4:0] _T_2148; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@227707.4]
+  wire [7:0] _T_2149; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@227708.4]
+  wire [8:0] _T_2175; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@227736.4]
+  wire [9:0] _T_2202; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@227765.4]
+  wire [10:0] _T_2229; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@227794.4]
+  wire [11:0] _T_2256; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@227821.4]
+  wire [12:0] _T_2283; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@227850.4]
+  wire [13:0] _T_2310; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@227879.4]
+  wire [14:0] _T_2337; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@227906.4]
+  wire [15:0] _T_2338; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@227907.4]
+  wire [16:0] _T_2364; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@227935.4]
+  wire [17:0] _T_2391; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@227962.4]
+  wire [19:0] _T_2392; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@227963.4]
+  wire [20:0] _T_2418; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@227991.4]
+  wire [21:0] _T_2445; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@228018.4]
+  wire [23:0] _T_2446; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228019.4]
+  wire [24:0] _T_2472; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@228047.4]
+  wire [25:0] _T_2499; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@228074.4]
+  wire [27:0] _T_2500; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228075.4]
+  wire [28:0] _T_2526; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@228103.4]
+  wire [29:0] _T_2553; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@228130.4]
+  wire [31:0] _T_2554; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228131.4]
+  wire  _T_3140; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228749.4]
+  wire  _T_6355; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232721.4]
+  wire  _T_6356; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232722.4]
+  wire [31:0] _T_2579; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228158.4]
+  wire  _T_3111; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228720.4]
+  wire  _T_6181; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232505.4]
+  wire  _T_6182; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232506.4]
+  wire  _T_2594; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228173.4]
+  wire  _T_3108; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228717.4]
+  wire  _T_6163; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232481.4]
+  wire  _T_6164; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232482.4]
+  wire  _T_2619; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228201.4]
+  wire [15:0] _T_2661; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228248.4]
+  wire [15:0] _T_2664; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228251.4]
+  wire  _T_2665; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228252.4]
+  wire  _T_3076; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228685.4]
+  wire  _T_5971; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232225.4]
+  wire  _T_5972; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232226.4]
+  wire [15:0] _T_2679; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228268.4]
+  wire  _T_3143; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228752.4]
+  wire  _T_6373; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232745.4]
+  wire  _T_6374; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232746.4]
+  wire [31:0] _T_2704; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228295.4]
+  wire  _T_3150; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228759.4]
+  wire  _T_6415; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232801.4]
+  wire  _T_6416; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232802.4]
+  wire  _T_3104; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228713.4]
+  wire  _T_6139; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232449.4]
+  wire  _T_6140; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232450.4]
+  wire  _T_2744; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228337.4]
+  wire  _T_3087; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228696.4]
+  wire  _T_6037; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232321.4]
+  wire  _T_6038; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232322.4]
+  wire [31:0] _T_2779; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228377.4]
+  wire  _T_3072; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228681.4]
+  wire  _T_5947; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232194.4]
+  wire  _T_5948; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232195.4]
+  wire [15:0] _T_2804; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228404.4]
+  wire  _T_3147; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228756.4]
+  wire  _T_6397; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232777.4]
+  wire  _T_6398; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232778.4]
+  wire [31:0] _T_2829; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228431.4]
+  wire  _T_3115; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228724.4]
+  wire  _T_6205; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232537.4]
+  wire  _T_6206; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232538.4]
+  wire  _T_2844; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228446.4]
+  wire  _T_3136; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228745.4]
+  wire  _T_6331; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232689.4]
+  wire  _T_6332; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232690.4]
+  wire [31:0] _T_2879; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228486.4]
+  wire  _T_3151; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228760.4]
+  wire  _T_6421; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232809.4]
+  wire  _T_6422; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232810.4]
+  wire [31:0] _T_2904; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228513.4]
+  wire  _T_6834; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233269.4]
+  wire  _T_6835; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233274.6]
+  wire  _T_6836; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233279.8]
+  wire  _T_6837; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233284.10]
+  wire  _T_6838; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233289.12]
+  wire  _T_6839; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233294.14]
+  wire  _T_6840; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233299.16]
+  wire  _T_6841; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233304.18]
+  wire  _T_6842; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233309.20]
+  wire  _T_6843; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233314.22]
+  wire  _T_6844; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233319.24]
+  wire  _T_6845; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233324.26]
+  wire  _T_6846; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233329.28]
+  wire  _T_6847; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233334.30]
+  wire  _T_6848; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233339.32]
+  wire  _T_6849; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233344.34]
+  wire  _T_6850; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233349.36]
+  wire  _T_6851; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233354.38]
+  wire  _T_6852; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233359.40]
+  wire  _T_6853; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233364.42]
+  wire  _T_6854; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233369.44]
+  wire  _T_6855; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233374.46]
+  wire  _T_6856; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233379.48]
+  wire  _T_6857; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233384.50]
+  wire  _T_6858; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233389.52]
+  wire  _T_6859; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233394.54]
+  wire  _T_6860; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233399.56]
+  wire  _T_6861; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233404.58]
+  wire  _T_6862; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233409.60]
+  wire  _T_6863; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233414.62]
+  wire  _T_6864; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233419.64]
+  wire  _T_6865; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233424.66]
+  wire  _T_6866; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233429.68]
+  wire  _T_6867; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233434.70]
+  wire  _T_6868; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233439.72]
+  wire  _T_6869; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233444.74]
+  wire  _T_6870; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233449.76]
+  wire  _T_6871; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233454.78]
+  wire  _T_6872; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233459.80]
+  wire  _T_6873; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233464.82]
+  wire  _T_6874; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233469.84]
+  wire  _T_6875; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233474.86]
+  wire  _T_6876; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233479.88]
+  wire  _T_6877; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233484.90]
+  wire  _T_6878; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233489.92]
+  wire  _T_6879; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233494.94]
+  wire  _T_6880; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233499.96]
+  wire  _T_6881; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233504.98]
+  wire  _T_6882; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233509.100]
+  wire  _T_6883; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233514.102]
+  wire  _GEN_528; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233515.102]
+  wire  _GEN_529; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233510.100]
+  wire  _GEN_530; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233505.98]
+  wire  _GEN_531; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233500.96]
+  wire  _GEN_532; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233495.94]
+  wire  _GEN_533; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233490.92]
+  wire  _GEN_534; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233485.90]
+  wire  _GEN_535; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233480.88]
+  wire  _GEN_536; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233475.86]
+  wire  _GEN_537; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233470.84]
+  wire  _GEN_538; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233465.82]
+  wire  _GEN_539; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233460.80]
+  wire  _GEN_540; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233455.78]
+  wire  _GEN_541; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233450.76]
+  wire  _GEN_542; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233445.74]
+  wire  _GEN_543; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233440.72]
+  wire  _GEN_544; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233435.70]
+  wire  _GEN_545; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233430.68]
+  wire  _GEN_546; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233425.66]
+  wire  _GEN_547; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233420.64]
+  wire  _GEN_548; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233415.62]
+  wire  _GEN_549; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233410.60]
+  wire  _GEN_550; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233405.58]
+  wire  _GEN_551; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233400.56]
+  wire  _GEN_552; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233395.54]
+  wire  _GEN_553; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233390.52]
+  wire  _GEN_554; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233385.50]
+  wire  _GEN_555; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233380.48]
+  wire  _GEN_556; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233375.46]
+  wire  _GEN_557; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233370.44]
+  wire  _GEN_558; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233365.42]
+  wire  _GEN_559; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233360.40]
+  wire  _GEN_560; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233355.38]
+  wire  _GEN_561; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233350.36]
+  wire  _GEN_562; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233345.34]
+  wire  _GEN_563; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233340.32]
+  wire  _GEN_564; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233335.30]
+  wire  _GEN_565; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233330.28]
+  wire  _GEN_566; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233325.26]
+  wire  _GEN_567; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233320.24]
+  wire  _GEN_568; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233315.22]
+  wire  _GEN_569; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233310.20]
+  wire  _GEN_570; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233305.18]
+  wire  _GEN_571; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233300.16]
+  wire  _GEN_572; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233295.14]
+  wire  _GEN_573; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233290.12]
+  wire  _GEN_574; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233285.10]
+  wire  _GEN_575; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233280.8]
+  wire  _GEN_576; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233275.6]
+  wire  _GEN_577; // @[Conditional.scala 40:58:shc.marmotcaravel.MarmotCaravelConfig.fir@233270.4]
+  wire [31:0] _GEN_578; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233767.102]
+  wire [31:0] _GEN_579; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233762.100]
+  wire [31:0] _GEN_580; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233757.98]
+  wire [31:0] _GEN_581; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233752.96]
+  wire [31:0] _GEN_582; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233747.94]
+  wire [31:0] _GEN_583; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233742.92]
+  wire [31:0] _GEN_584; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233737.90]
+  wire [31:0] _GEN_585; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233732.88]
+  wire [31:0] _GEN_586; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233727.86]
+  wire [31:0] _GEN_587; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233722.84]
+  wire [31:0] _GEN_588; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233717.82]
+  wire [31:0] _GEN_589; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233712.80]
+  wire [31:0] _GEN_590; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233707.78]
+  wire [31:0] _GEN_591; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233702.76]
+  wire [31:0] _GEN_592; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233697.74]
+  wire [31:0] _GEN_593; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233692.72]
+  wire [31:0] _GEN_594; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233687.70]
+  wire [31:0] _GEN_595; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233682.68]
+  wire [31:0] _GEN_596; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233677.66]
+  wire [31:0] _GEN_597; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233672.64]
+  wire [31:0] _GEN_598; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233667.62]
+  wire [31:0] _GEN_599; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233662.60]
+  wire [31:0] _GEN_600; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233657.58]
+  wire [31:0] _GEN_601; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233652.56]
+  wire [31:0] _GEN_602; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233647.54]
+  wire [31:0] _GEN_603; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233642.52]
+  wire [31:0] _GEN_604; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233637.50]
+  wire [31:0] _GEN_605; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233632.48]
+  wire [31:0] _GEN_606; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233627.46]
+  wire [31:0] _GEN_607; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233622.44]
+  wire [31:0] _GEN_608; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233617.42]
+  wire [31:0] _GEN_609; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233612.40]
+  wire [31:0] _GEN_610; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233607.38]
+  wire [31:0] _GEN_611; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233602.36]
+  wire [31:0] _GEN_612; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233597.34]
+  wire [31:0] _GEN_613; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233592.32]
+  wire [31:0] _GEN_614; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233587.30]
+  wire [31:0] _GEN_615; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233582.28]
+  wire [31:0] _GEN_616; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233577.26]
+  wire [31:0] _GEN_617; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233572.24]
+  wire [31:0] _GEN_618; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233567.22]
+  wire [31:0] _GEN_619; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233562.20]
+  wire [31:0] _GEN_620; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233557.18]
+  wire [31:0] _GEN_621; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233552.16]
+  wire [31:0] _GEN_622; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233547.14]
+  wire [31:0] _GEN_623; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233542.12]
+  wire [31:0] _GEN_624; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233537.10]
+  wire [31:0] _GEN_625; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233532.8]
+  wire [31:0] _GEN_626; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233527.6]
+  wire [31:0] _GEN_627; // @[Conditional.scala 40:58:shc.marmotcaravel.MarmotCaravelConfig.fir@233522.4]
+  wire [7:0] _T_297_bits_extra; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226093.4 RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@233772.4]
+  wire  _T_297_bits_read; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226093.4 RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@233265.4]
+  TLMonitor_57 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@225943.4]
+    .clock(TLMonitor_clock),
+    .reset(TLMonitor_reset),
+    .io_in_a_ready(TLMonitor_io_in_a_ready),
+    .io_in_a_valid(TLMonitor_io_in_a_valid),
+    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
+    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
+    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
+    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
+    .io_in_d_ready(TLMonitor_io_in_d_ready),
+    .io_in_d_valid(TLMonitor_io_in_d_valid),
+    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
+    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
+    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source)
+  );
+  RTC rtc ( // @[MockAON.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225984.4]
+    .clock(rtc_clock),
+    .reset(rtc_reset),
+    .io_regs_cfg_write__countAlways(rtc_io_regs_cfg_write__countAlways),
+    .io_regs_cfg_write__scale(rtc_io_regs_cfg_write__scale),
+    .io_regs_cfg_read_ip_0(rtc_io_regs_cfg_read_ip_0),
+    .io_regs_cfg_read_countAlways(rtc_io_regs_cfg_read_countAlways),
+    .io_regs_cfg_read_scale(rtc_io_regs_cfg_read_scale),
+    .io_regs_cfg_write_countAlways(rtc_io_regs_cfg_write_countAlways),
+    .io_regs_cfg_write_scale(rtc_io_regs_cfg_write_scale),
+    .io_regs_countLo_write_valid(rtc_io_regs_countLo_write_valid),
+    .io_regs_countLo_write_bits(rtc_io_regs_countLo_write_bits),
+    .io_regs_countLo_read(rtc_io_regs_countLo_read),
+    .io_regs_countHi_write_valid(rtc_io_regs_countHi_write_valid),
+    .io_regs_countHi_write_bits(rtc_io_regs_countHi_write_bits),
+    .io_regs_countHi_read(rtc_io_regs_countHi_read),
+    .io_regs_s_read(rtc_io_regs_s_read),
+    .io_regs_cmp_0_write_valid(rtc_io_regs_cmp_0_write_valid),
+    .io_regs_cmp_0_write_bits(rtc_io_regs_cmp_0_write_bits),
+    .io_regs_cmp_0_read(rtc_io_regs_cmp_0_read),
+    .io_ip_0(rtc_io_ip_0)
+  );
+  PMU pmu ( // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
+    .clock(pmu_clock),
+    .reset(pmu_reset),
+    .io_wakeup_rtc(pmu_io_wakeup_rtc),
+    .io_control_corerst(pmu_io_control_corerst),
+    .io_regs_ie_write_valid(pmu_io_regs_ie_write_valid),
+    .io_regs_ie_write_bits(pmu_io_regs_ie_write_bits),
+    .io_regs_ie_read(pmu_io_regs_ie_read),
+    .io_regs_cause_write_valid(pmu_io_regs_cause_write_valid),
+    .io_regs_cause_read(pmu_io_regs_cause_read),
+    .io_regs_sleep_write_valid(pmu_io_regs_sleep_write_valid),
+    .io_regs_key_write_valid(pmu_io_regs_key_write_valid),
+    .io_regs_key_write_bits(pmu_io_regs_key_write_bits),
+    .io_regs_key_read(pmu_io_regs_key_read),
+    .io_regs_wakeupProgram_0_write_valid(pmu_io_regs_wakeupProgram_0_write_valid),
+    .io_regs_wakeupProgram_0_write_bits(pmu_io_regs_wakeupProgram_0_write_bits),
+    .io_regs_wakeupProgram_0_read(pmu_io_regs_wakeupProgram_0_read),
+    .io_regs_wakeupProgram_1_write_valid(pmu_io_regs_wakeupProgram_1_write_valid),
+    .io_regs_wakeupProgram_1_write_bits(pmu_io_regs_wakeupProgram_1_write_bits),
+    .io_regs_wakeupProgram_1_read(pmu_io_regs_wakeupProgram_1_read),
+    .io_regs_wakeupProgram_2_write_valid(pmu_io_regs_wakeupProgram_2_write_valid),
+    .io_regs_wakeupProgram_2_write_bits(pmu_io_regs_wakeupProgram_2_write_bits),
+    .io_regs_wakeupProgram_2_read(pmu_io_regs_wakeupProgram_2_read),
+    .io_regs_wakeupProgram_3_write_valid(pmu_io_regs_wakeupProgram_3_write_valid),
+    .io_regs_wakeupProgram_3_write_bits(pmu_io_regs_wakeupProgram_3_write_bits),
+    .io_regs_wakeupProgram_3_read(pmu_io_regs_wakeupProgram_3_read),
+    .io_regs_wakeupProgram_4_write_valid(pmu_io_regs_wakeupProgram_4_write_valid),
+    .io_regs_wakeupProgram_4_write_bits(pmu_io_regs_wakeupProgram_4_write_bits),
+    .io_regs_wakeupProgram_4_read(pmu_io_regs_wakeupProgram_4_read),
+    .io_regs_wakeupProgram_5_write_valid(pmu_io_regs_wakeupProgram_5_write_valid),
+    .io_regs_wakeupProgram_5_write_bits(pmu_io_regs_wakeupProgram_5_write_bits),
+    .io_regs_wakeupProgram_5_read(pmu_io_regs_wakeupProgram_5_read),
+    .io_regs_wakeupProgram_6_write_valid(pmu_io_regs_wakeupProgram_6_write_valid),
+    .io_regs_wakeupProgram_6_write_bits(pmu_io_regs_wakeupProgram_6_write_bits),
+    .io_regs_wakeupProgram_6_read(pmu_io_regs_wakeupProgram_6_read),
+    .io_regs_wakeupProgram_7_write_valid(pmu_io_regs_wakeupProgram_7_write_valid),
+    .io_regs_wakeupProgram_7_write_bits(pmu_io_regs_wakeupProgram_7_write_bits),
+    .io_regs_wakeupProgram_7_read(pmu_io_regs_wakeupProgram_7_read),
+    .io_regs_sleepProgram_0_write_valid(pmu_io_regs_sleepProgram_0_write_valid),
+    .io_regs_sleepProgram_0_write_bits(pmu_io_regs_sleepProgram_0_write_bits),
+    .io_regs_sleepProgram_0_read(pmu_io_regs_sleepProgram_0_read),
+    .io_regs_sleepProgram_1_write_valid(pmu_io_regs_sleepProgram_1_write_valid),
+    .io_regs_sleepProgram_1_write_bits(pmu_io_regs_sleepProgram_1_write_bits),
+    .io_regs_sleepProgram_1_read(pmu_io_regs_sleepProgram_1_read),
+    .io_regs_sleepProgram_2_write_valid(pmu_io_regs_sleepProgram_2_write_valid),
+    .io_regs_sleepProgram_2_write_bits(pmu_io_regs_sleepProgram_2_write_bits),
+    .io_regs_sleepProgram_2_read(pmu_io_regs_sleepProgram_2_read),
+    .io_regs_sleepProgram_3_write_valid(pmu_io_regs_sleepProgram_3_write_valid),
+    .io_regs_sleepProgram_3_write_bits(pmu_io_regs_sleepProgram_3_write_bits),
+    .io_regs_sleepProgram_3_read(pmu_io_regs_sleepProgram_3_read),
+    .io_regs_sleepProgram_4_write_valid(pmu_io_regs_sleepProgram_4_write_valid),
+    .io_regs_sleepProgram_4_write_bits(pmu_io_regs_sleepProgram_4_write_bits),
+    .io_regs_sleepProgram_4_read(pmu_io_regs_sleepProgram_4_read),
+    .io_regs_sleepProgram_5_write_valid(pmu_io_regs_sleepProgram_5_write_valid),
+    .io_regs_sleepProgram_5_write_bits(pmu_io_regs_sleepProgram_5_write_bits),
+    .io_regs_sleepProgram_5_read(pmu_io_regs_sleepProgram_5_read),
+    .io_regs_sleepProgram_6_write_valid(pmu_io_regs_sleepProgram_6_write_valid),
+    .io_regs_sleepProgram_6_write_bits(pmu_io_regs_sleepProgram_6_write_bits),
+    .io_regs_sleepProgram_6_read(pmu_io_regs_sleepProgram_6_read),
+    .io_regs_sleepProgram_7_write_valid(pmu_io_regs_sleepProgram_7_write_valid),
+    .io_regs_sleepProgram_7_write_bits(pmu_io_regs_sleepProgram_7_write_bits),
+    .io_regs_sleepProgram_7_read(pmu_io_regs_sleepProgram_7_read),
+    .io_resetCauses_wdogrst(pmu_io_resetCauses_wdogrst),
+    .io_resetCauses_erst(pmu_io_resetCauses_erst)
+  );
+  WatchdogTimer wdog ( // @[MockAON.scala 78:20:shc.marmotcaravel.MarmotCaravelConfig.fir@226001.4]
+    .clock(wdog_clock),
+    .reset(wdog_reset),
+    .io_regs_cfg_write__ip_0(wdog_io_regs_cfg_write__ip_0),
+    .io_regs_cfg_write__running(wdog_io_regs_cfg_write__running),
+    .io_regs_cfg_write__countAlways(wdog_io_regs_cfg_write__countAlways),
+    .io_regs_cfg_write__zerocmp(wdog_io_regs_cfg_write__zerocmp),
+    .io_regs_cfg_write__sticky(wdog_io_regs_cfg_write__sticky),
+    .io_regs_cfg_write__scale(wdog_io_regs_cfg_write__scale),
+    .io_regs_cfg_read_ip_0(wdog_io_regs_cfg_read_ip_0),
+    .io_regs_cfg_read_running(wdog_io_regs_cfg_read_running),
+    .io_regs_cfg_read_countAlways(wdog_io_regs_cfg_read_countAlways),
+    .io_regs_cfg_read_deglitch(wdog_io_regs_cfg_read_deglitch),
+    .io_regs_cfg_read_sticky(wdog_io_regs_cfg_read_sticky),
+    .io_regs_cfg_read_scale(wdog_io_regs_cfg_read_scale),
+    .io_regs_cfg_write_ip_0(wdog_io_regs_cfg_write_ip_0),
+    .io_regs_cfg_write_gang_0(wdog_io_regs_cfg_write_gang_0),
+    .io_regs_cfg_write_extra_0(wdog_io_regs_cfg_write_extra_0),
+    .io_regs_cfg_write_center_0(wdog_io_regs_cfg_write_center_0),
+    .io_regs_cfg_write_running(wdog_io_regs_cfg_write_running),
+    .io_regs_cfg_write_countAlways(wdog_io_regs_cfg_write_countAlways),
+    .io_regs_cfg_write_deglitch(wdog_io_regs_cfg_write_deglitch),
+    .io_regs_cfg_write_zerocmp(wdog_io_regs_cfg_write_zerocmp),
+    .io_regs_cfg_write_sticky(wdog_io_regs_cfg_write_sticky),
+    .io_regs_cfg_write_scale(wdog_io_regs_cfg_write_scale),
+    .io_regs_countLo_write_valid(wdog_io_regs_countLo_write_valid),
+    .io_regs_countLo_write_bits(wdog_io_regs_countLo_write_bits),
+    .io_regs_countLo_read(wdog_io_regs_countLo_read),
+    .io_regs_countHi_write_valid(wdog_io_regs_countHi_write_valid),
+    .io_regs_s_write_valid(wdog_io_regs_s_write_valid),
+    .io_regs_s_read(wdog_io_regs_s_read),
+    .io_regs_cmp_0_write_valid(wdog_io_regs_cmp_0_write_valid),
+    .io_regs_cmp_0_write_bits(wdog_io_regs_cmp_0_write_bits),
+    .io_regs_cmp_0_read(wdog_io_regs_cmp_0_read),
+    .io_regs_feed_write_valid(wdog_io_regs_feed_write_valid),
+    .io_regs_feed_write_bits(wdog_io_regs_feed_write_bits),
+    .io_regs_key_write_valid(wdog_io_regs_key_write_valid),
+    .io_regs_key_write_bits(wdog_io_regs_key_write_bits),
+    .io_regs_key_read(wdog_io_regs_key_read),
+    .io_ip_0(wdog_io_ip_0),
+    .io_corerst(wdog_io_corerst),
+    .io_rst(wdog_io_rst)
+  );
+  Queue_13 Queue ( // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@226098.4]
+    .clock(Queue_clock),
+    .reset(Queue_reset),
+    .io_enq_ready(Queue_io_enq_ready),
+    .io_enq_valid(Queue_io_enq_valid),
+    .io_enq_bits_read(Queue_io_enq_bits_read),
+    .io_enq_bits_index(Queue_io_enq_bits_index),
+    .io_enq_bits_data(Queue_io_enq_bits_data),
+    .io_enq_bits_mask(Queue_io_enq_bits_mask),
+    .io_enq_bits_extra(Queue_io_enq_bits_extra),
+    .io_deq_ready(Queue_io_deq_ready),
+    .io_deq_valid(Queue_io_deq_valid),
+    .io_deq_bits_read(Queue_io_deq_bits_read),
+    .io_deq_bits_index(Queue_io_deq_bits_index),
+    .io_deq_bits_data(Queue_io_deq_bits_data),
+    .io_deq_bits_mask(Queue_io_deq_bits_mask),
+    .io_deq_bits_extra(Queue_io_deq_bits_extra)
+  );
+  assign _T_291 = auto_in_a_bits_address[28:2]; // @[Edges.scala 192:34:shc.marmotcaravel.MarmotCaravelConfig.fir@226087.4]
+  assign _T_309 = Queue_io_deq_bits_index & 10'h380; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226110.4]
+  assign _T_311 = _T_309 == 10'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226112.4]
+  assign _T_777 = Queue_io_deq_bits_mask[0]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@226234.4]
+  assign _T_778 = Queue_io_deq_bits_mask[1]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@226235.4]
+  assign _T_779 = Queue_io_deq_bits_mask[2]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@226236.4]
+  assign _T_780 = Queue_io_deq_bits_mask[3]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@226237.4]
+  assign _T_782 = _T_777 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@226239.4]
+  assign _T_784 = _T_778 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@226241.4]
+  assign _T_786 = _T_779 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@226243.4]
+  assign _T_788 = _T_780 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@226245.4]
+  assign _T_789 = {_T_784,_T_782}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226246.4]
+  assign _T_790 = {_T_788,_T_786}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226247.4]
+  assign _T_791 = {_T_790,_T_789}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226248.4]
+  assign _T_800 = ~ _T_791; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226257.4]
+  assign _T_801 = _T_800 == 32'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226258.4]
+  assign _T_5011 = Queue_io_deq_valid & auto_in_d_ready; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@231030.4]
+  assign _T_2928 = Queue_io_deq_bits_index[6]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228537.4]
+  assign _T_2927 = Queue_io_deq_bits_index[5]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228536.4]
+  assign _T_2935 = {_T_2928,_T_2927}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@228544.4]
+  assign _T_2926 = Queue_io_deq_bits_index[4]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228535.4]
+  assign _T_2925 = Queue_io_deq_bits_index[3]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228534.4]
+  assign _T_2934 = {_T_2926,_T_2925}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@228543.4]
+  assign _T_2936 = {_T_2935,_T_2934}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@228545.4]
+  assign _T_2924 = Queue_io_deq_bits_index[2]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228533.4]
+  assign _T_2923 = Queue_io_deq_bits_index[1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228532.4]
+  assign _T_2932 = {_T_2924,_T_2923}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@228541.4]
+  assign _T_2922 = Queue_io_deq_bits_index[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228531.4]
+  assign _T_2933 = {_T_2932,_T_2922}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@228542.4]
+  assign _T_2937 = {_T_2936,_T_2933}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@228546.4]
+  assign _T_3067 = 128'h1 << _T_2937; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@228676.4]
+  assign _T_3137 = _T_3067[69]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228746.4]
+  assign _T_5919 = Queue_io_deq_bits_read == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232143.4]
+  assign _T_5920 = _T_5011 & _T_5919; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232144.4]
+  assign _T_6337 = _T_5920 & _T_3137; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232697.4]
+  assign _T_6338 = _T_6337 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232698.4]
+  assign _T_806 = Queue_io_deq_bits_data; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226263.4]
+  assign _T_815 = pmu_io_regs_wakeupProgram_5_read; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226274.4]
+  assign _T_822 = _T_791[3:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226281.4]
+  assign _T_825 = ~ _T_822; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226284.4]
+  assign _T_826 = _T_825 == 4'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226285.4]
+  assign _T_3068 = _T_3067[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228677.4]
+  assign _T_5923 = _T_5920 & _T_3068; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232147.4]
+  assign _T_5924 = _T_5923 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232148.4]
+  assign _T_840 = wdog_io_regs_cfg_read_scale; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226301.4]
+  assign _T_866 = {1'h0,_T_840}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226327.4]
+  assign _T_867 = {{3'd0}, _T_866}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226328.4]
+  assign _T_874 = _T_791[8]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226335.4]
+  assign _T_877 = ~ _T_874; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226338.4]
+  assign _T_878 = _T_877 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226339.4]
+  assign _T_893 = {wdog_io_regs_cfg_read_sticky,_T_867}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226356.4]
+  assign _T_901 = _T_791[9]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226364.4]
+  assign _T_904 = ~ _T_901; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226367.4]
+  assign _T_905 = _T_904 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226368.4]
+  assign _T_920 = {1'h0,_T_893}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226385.4]
+  assign _T_928 = _T_791[10]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226393.4]
+  assign _T_931 = ~ _T_928; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226396.4]
+  assign _T_932 = _T_931 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226397.4]
+  assign _T_947 = {wdog_io_regs_cfg_read_deglitch,_T_920}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226414.4]
+  assign _T_974 = {1'h0,_T_947}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226441.4]
+  assign _T_982 = _T_791[12]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226449.4]
+  assign _T_985 = ~ _T_982; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226452.4]
+  assign _T_986 = _T_985 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226453.4]
+  assign _T_1001 = {wdog_io_regs_cfg_read_countAlways,_T_974}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226470.4]
+  assign _T_1009 = _T_791[13]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226478.4]
+  assign _T_1012 = ~ _T_1009; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226481.4]
+  assign _T_1013 = _T_1012 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226482.4]
+  assign _T_1028 = {wdog_io_regs_cfg_read_running,_T_1001}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226499.4]
+  assign _T_1055 = {1'h0,_T_1028}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226526.4]
+  assign _T_1056 = {{1'd0}, _T_1055}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226527.4]
+  assign _T_1063 = _T_791[16]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226534.4]
+  assign _T_1066 = ~ _T_1063; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226537.4]
+  assign _T_1067 = _T_1066 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226538.4]
+  assign _T_1082 = {1'h0,_T_1056}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226555.4]
+  assign _T_1109 = {1'h0,_T_1082}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226582.4]
+  assign _T_1110 = {{2'd0}, _T_1109}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226583.4]
+  assign _T_1117 = _T_791[20]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226590.4]
+  assign _T_1120 = ~ _T_1117; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226593.4]
+  assign _T_1121 = _T_1120 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226594.4]
+  assign _T_1136 = {1'h0,_T_1110}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226611.4]
+  assign _T_1163 = {1'h0,_T_1136}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226638.4]
+  assign _T_1164 = {{2'd0}, _T_1163}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226639.4]
+  assign _T_1171 = _T_791[24]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226646.4]
+  assign _T_1174 = ~ _T_1171; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226649.4]
+  assign _T_1175 = _T_1174 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226650.4]
+  assign _T_1190 = {1'h0,_T_1164}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226667.4]
+  assign _T_1217 = {1'h0,_T_1190}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226694.4]
+  assign _T_1218 = {{2'd0}, _T_1217}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226695.4]
+  assign _T_1225 = _T_791[28]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226702.4]
+  assign _T_1228 = ~ _T_1225; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226705.4]
+  assign _T_1229 = _T_1228 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226706.4]
+  assign _T_1244 = {wdog_io_regs_cfg_read_ip_0,_T_1218}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226723.4]
+  assign _T_1271 = {1'h0,_T_1244}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226750.4]
+  assign _T_1272 = {{2'd0}, _T_1271}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226751.4]
+  assign _T_3110 = _T_3067[42]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228719.4]
+  assign _T_6175 = _T_5920 & _T_3110; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232497.4]
+  assign _T_6176 = _T_6175 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232498.4]
+  assign _T_1287 = _T_6176 & _T_801; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226766.4]
+  assign _T_3092 = _T_3067[24]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228701.4]
+  assign _T_6067 = _T_5920 & _T_3092; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232360.4]
+  assign _T_6068 = _T_6067 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232361.4]
+  assign _T_1322 = rtc_io_regs_cmp_0_read; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226806.4]
+  assign _T_3105 = _T_3067[37]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228714.4]
+  assign _T_6145 = _T_5920 & _T_3105; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232457.4]
+  assign _T_6146 = _T_6145 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232458.4]
+  assign _T_1337 = _T_6146 & _T_801; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226821.4]
+  assign _T_1372 = rtc_io_regs_s_read; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226861.4]
+  assign _T_3114 = _T_3067[46]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228723.4]
+  assign _T_6199 = _T_5920 & _T_3114; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232529.4]
+  assign _T_6200 = _T_6199 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232530.4]
+  assign _T_1387 = _T_6200 & _T_801; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226876.4]
+  assign _T_3146 = _T_3067[78]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228755.4]
+  assign _T_6391 = _T_5920 & _T_3146; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232769.4]
+  assign _T_6392 = _T_6391 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232770.4]
+  assign _T_1422 = pmu_io_regs_sleepProgram_6_read; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226916.4]
+  assign _T_3142 = _T_3067[74]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228751.4]
+  assign _T_6367 = _T_5920 & _T_3142; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232737.4]
+  assign _T_6368 = _T_6367 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232738.4]
+  assign _T_1447 = pmu_io_regs_sleepProgram_2_read; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226943.4]
+  assign _T_3074 = _T_3067[6]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228683.4]
+  assign _T_5959 = _T_5920 & _T_3074; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232209.4]
+  assign _T_5960 = _T_5959 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232210.4]
+  assign _T_3106 = _T_3067[38]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228715.4]
+  assign _T_6151 = _T_5920 & _T_3106; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232465.4]
+  assign _T_6152 = _T_6151 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232466.4]
+  assign _T_1487 = _T_6152 & _T_801; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226985.4]
+  assign _T_3138 = _T_3067[70]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228747.4]
+  assign _T_6343 = _T_5920 & _T_3138; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232705.4]
+  assign _T_6344 = _T_6343 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232706.4]
+  assign _T_1522 = pmu_io_regs_wakeupProgram_6_read; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@227025.4]
+  assign _T_3101 = _T_3067[33]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228710.4]
+  assign _T_6121 = _T_5920 & _T_3101; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232425.4]
+  assign _T_6122 = _T_6121 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232426.4]
+  assign _T_1537 = _T_6122 & _T_801; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@227040.4]
+  assign _T_3133 = _T_3067[65]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228742.4]
+  assign _T_6313 = _T_5920 & _T_3133; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232665.4]
+  assign _T_6314 = _T_6313 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232666.4]
+  assign _T_1572 = pmu_io_regs_wakeupProgram_1_read; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@227080.4]
+  assign _T_3145 = _T_3067[77]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228754.4]
+  assign _T_6385 = _T_5920 & _T_3145; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232761.4]
+  assign _T_6386 = _T_6385 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232762.4]
+  assign _T_1597 = pmu_io_regs_sleepProgram_5_read; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@227107.4]
+  assign _T_3109 = _T_3067[41]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228718.4]
+  assign _T_6169 = _T_5920 & _T_3109; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232489.4]
+  assign _T_6170 = _T_6169 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232490.4]
+  assign _T_1612 = _T_6170 & _T_801; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@227122.4]
+  assign _T_3141 = _T_3067[73]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228750.4]
+  assign _T_6361 = _T_5920 & _T_3141; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232729.4]
+  assign _T_6362 = _T_6361 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232730.4]
+  assign _T_1647 = pmu_io_regs_sleepProgram_1_read; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@227162.4]
+  assign _T_1654 = _T_791[30:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@227169.4]
+  assign _T_1657 = ~ _T_1654; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@227172.4]
+  assign _T_1658 = _T_1657 == 31'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@227173.4]
+  assign _T_3070 = _T_3067[2]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228679.4]
+  assign _T_5935 = _T_5920 & _T_3070; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232178.4]
+  assign _T_5936 = _T_5935 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232179.4]
+  assign _T_1672 = wdog_io_regs_countLo_read; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@227189.4]
+  assign _T_3100 = _T_3067[32]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228709.4]
+  assign _T_6115 = _T_5920 & _T_3100; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232417.4]
+  assign _T_6116 = _T_6115 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232418.4]
+  assign _T_1687 = _T_6116 & _T_801; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@227204.4]
+  assign _T_3102 = _T_3067[34]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228711.4]
+  assign _T_6127 = _T_5920 & _T_3102; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232433.4]
+  assign _T_6128 = _T_6127 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232434.4]
+  assign _T_1712 = _T_6128 & _T_801; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@227232.4]
+  assign _T_3113 = _T_3067[45]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228722.4]
+  assign _T_6193 = _T_5920 & _T_3113; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232521.4]
+  assign _T_6194 = _T_6193 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232522.4]
+  assign _T_1737 = _T_6194 & _T_801; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@227260.4]
+  assign _T_3132 = _T_3067[64]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228741.4]
+  assign _T_6307 = _T_5920 & _T_3132; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232657.4]
+  assign _T_6308 = _T_6307 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232658.4]
+  assign _T_1772 = pmu_io_regs_wakeupProgram_0_read; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@227300.4]
+  assign _T_3112 = _T_3067[44]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228721.4]
+  assign _T_6187 = _T_5920 & _T_3112; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232513.4]
+  assign _T_6188 = _T_6187 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232514.4]
+  assign _T_1812 = _T_6188 & _T_801; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@227342.4]
+  assign _T_3139 = _T_3067[71]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228748.4]
+  assign _T_6349 = _T_5920 & _T_3139; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232713.4]
+  assign _T_6350 = _T_6349 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232714.4]
+  assign _T_1847 = pmu_io_regs_wakeupProgram_7_read; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@227382.4]
+  assign _T_3149 = _T_3067[81]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228758.4]
+  assign _T_6409 = _T_5920 & _T_3149; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232793.4]
+  assign _T_6410 = _T_6409 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232794.4]
+  assign _T_1872 = pmu_io_regs_cause_read; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@227409.4]
+  assign _T_3144 = _T_3067[76]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228753.4]
+  assign _T_6379 = _T_5920 & _T_3144; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232753.4]
+  assign _T_6380 = _T_6379 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232754.4]
+  assign _T_1897 = pmu_io_regs_sleepProgram_4_read; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@227436.4]
+  assign _T_3075 = _T_3067[7]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228684.4]
+  assign _T_5965 = _T_5920 & _T_3075; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232217.4]
+  assign _T_5966 = _T_5965 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232218.4]
+  assign _T_1922 = wdog_io_regs_key_read; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@227463.4]
+  assign _T_3107 = _T_3067[39]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228716.4]
+  assign _T_6157 = _T_5920 & _T_3107; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232473.4]
+  assign _T_6158 = _T_6157 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232474.4]
+  assign _T_1937 = _T_6158 & _T_801; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@227478.4]
+  assign _T_3134 = _T_3067[66]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228743.4]
+  assign _T_6319 = _T_5920 & _T_3134; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232673.4]
+  assign _T_6320 = _T_6319 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232674.4]
+  assign _T_1972 = pmu_io_regs_wakeupProgram_2_read; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@227518.4]
+  assign _T_3071 = _T_3067[3]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228680.4]
+  assign _T_5941 = _T_5920 & _T_3071; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232186.4]
+  assign _T_5942 = _T_5941 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232187.4]
+  assign _T_3148 = _T_3067[80]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228757.4]
+  assign _T_6403 = _T_5920 & _T_3148; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232785.4]
+  assign _T_6404 = _T_6403 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232786.4]
+  assign _T_2022 = pmu_io_regs_ie_read; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@227572.4]
+  assign _T_3103 = _T_3067[35]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228712.4]
+  assign _T_6133 = _T_5920 & _T_3103; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232441.4]
+  assign _T_6134 = _T_6133 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232442.4]
+  assign _T_2037 = _T_6134 & _T_801; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@227587.4]
+  assign _T_3086 = _T_3067[18]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228695.4]
+  assign _T_6031 = _T_5920 & _T_3086; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232313.4]
+  assign _T_6032 = _T_6031 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232314.4]
+  assign _T_2072 = rtc_io_regs_countLo_read; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@227627.4]
+  assign _T_3135 = _T_3067[67]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228744.4]
+  assign _T_6325 = _T_5920 & _T_3135; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232681.4]
+  assign _T_6326 = _T_6325 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232682.4]
+  assign _T_2097 = pmu_io_regs_wakeupProgram_3_read; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@227654.4]
+  assign _T_3084 = _T_3067[16]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228693.4]
+  assign _T_6019 = _T_5920 & _T_3084; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232282.4]
+  assign _T_6020 = _T_6019 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232283.4]
+  assign _T_2122 = rtc_io_regs_cfg_read_scale; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@227681.4]
+  assign _T_2148 = {1'h0,_T_2122}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@227707.4]
+  assign _T_2149 = {{3'd0}, _T_2148}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@227708.4]
+  assign _T_2175 = {1'h0,_T_2149}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@227736.4]
+  assign _T_2202 = {1'h0,_T_2175}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@227765.4]
+  assign _T_2229 = {1'h0,_T_2202}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@227794.4]
+  assign _T_2256 = {1'h0,_T_2229}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@227821.4]
+  assign _T_2283 = {rtc_io_regs_cfg_read_countAlways,_T_2256}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@227850.4]
+  assign _T_2310 = {1'h0,_T_2283}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@227879.4]
+  assign _T_2337 = {1'h0,_T_2310}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@227906.4]
+  assign _T_2338 = {{1'd0}, _T_2337}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@227907.4]
+  assign _T_2364 = {1'h0,_T_2338}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@227935.4]
+  assign _T_2391 = {1'h0,_T_2364}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@227962.4]
+  assign _T_2392 = {{2'd0}, _T_2391}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@227963.4]
+  assign _T_2418 = {1'h0,_T_2392}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@227991.4]
+  assign _T_2445 = {1'h0,_T_2418}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@228018.4]
+  assign _T_2446 = {{2'd0}, _T_2445}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228019.4]
+  assign _T_2472 = {1'h0,_T_2446}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@228047.4]
+  assign _T_2499 = {1'h0,_T_2472}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@228074.4]
+  assign _T_2500 = {{2'd0}, _T_2499}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228075.4]
+  assign _T_2526 = {rtc_io_regs_cfg_read_ip_0,_T_2500}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@228103.4]
+  assign _T_2553 = {1'h0,_T_2526}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@228130.4]
+  assign _T_2554 = {{2'd0}, _T_2553}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228131.4]
+  assign _T_3140 = _T_3067[72]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228749.4]
+  assign _T_6355 = _T_5920 & _T_3140; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232721.4]
+  assign _T_6356 = _T_6355 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232722.4]
+  assign _T_2579 = pmu_io_regs_sleepProgram_0_read; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228158.4]
+  assign _T_3111 = _T_3067[43]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228720.4]
+  assign _T_6181 = _T_5920 & _T_3111; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232505.4]
+  assign _T_6182 = _T_6181 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232506.4]
+  assign _T_2594 = _T_6182 & _T_801; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228173.4]
+  assign _T_3108 = _T_3067[40]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228717.4]
+  assign _T_6163 = _T_5920 & _T_3108; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232481.4]
+  assign _T_6164 = _T_6163 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232482.4]
+  assign _T_2619 = _T_6164 & _T_801; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228201.4]
+  assign _T_2661 = _T_791[15:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228248.4]
+  assign _T_2664 = ~ _T_2661; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228251.4]
+  assign _T_2665 = _T_2664 == 16'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228252.4]
+  assign _T_3076 = _T_3067[8]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228685.4]
+  assign _T_5971 = _T_5920 & _T_3076; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232225.4]
+  assign _T_5972 = _T_5971 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232226.4]
+  assign _T_2679 = wdog_io_regs_cmp_0_read; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228268.4]
+  assign _T_3143 = _T_3067[75]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228752.4]
+  assign _T_6373 = _T_5920 & _T_3143; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232745.4]
+  assign _T_6374 = _T_6373 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232746.4]
+  assign _T_2704 = pmu_io_regs_sleepProgram_3_read; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228295.4]
+  assign _T_3150 = _T_3067[82]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228759.4]
+  assign _T_6415 = _T_5920 & _T_3150; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232801.4]
+  assign _T_6416 = _T_6415 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232802.4]
+  assign _T_3104 = _T_3067[36]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228713.4]
+  assign _T_6139 = _T_5920 & _T_3104; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232449.4]
+  assign _T_6140 = _T_6139 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232450.4]
+  assign _T_2744 = _T_6140 & _T_801; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228337.4]
+  assign _T_3087 = _T_3067[19]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228696.4]
+  assign _T_6037 = _T_5920 & _T_3087; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232321.4]
+  assign _T_6038 = _T_6037 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232322.4]
+  assign _T_2779 = rtc_io_regs_countHi_read; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228377.4]
+  assign _T_3072 = _T_3067[4]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228681.4]
+  assign _T_5947 = _T_5920 & _T_3072; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232194.4]
+  assign _T_5948 = _T_5947 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232195.4]
+  assign _T_2804 = wdog_io_regs_s_read; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228404.4]
+  assign _T_3147 = _T_3067[79]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228756.4]
+  assign _T_6397 = _T_5920 & _T_3147; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232777.4]
+  assign _T_6398 = _T_6397 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232778.4]
+  assign _T_2829 = pmu_io_regs_sleepProgram_7_read; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228431.4]
+  assign _T_3115 = _T_3067[47]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228724.4]
+  assign _T_6205 = _T_5920 & _T_3115; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232537.4]
+  assign _T_6206 = _T_6205 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232538.4]
+  assign _T_2844 = _T_6206 & _T_801; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228446.4]
+  assign _T_3136 = _T_3067[68]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228745.4]
+  assign _T_6331 = _T_5920 & _T_3136; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232689.4]
+  assign _T_6332 = _T_6331 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232690.4]
+  assign _T_2879 = pmu_io_regs_wakeupProgram_4_read; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228486.4]
+  assign _T_3151 = _T_3067[83]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228760.4]
+  assign _T_6421 = _T_5920 & _T_3151; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232809.4]
+  assign _T_6422 = _T_6421 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232810.4]
+  assign _T_2904 = pmu_io_regs_key_read; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228513.4]
+  assign _T_6834 = 7'h0 == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233269.4]
+  assign _T_6835 = 7'h2 == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233274.6]
+  assign _T_6836 = 7'h3 == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233279.8]
+  assign _T_6837 = 7'h4 == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233284.10]
+  assign _T_6838 = 7'h6 == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233289.12]
+  assign _T_6839 = 7'h7 == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233294.14]
+  assign _T_6840 = 7'h8 == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233299.16]
+  assign _T_6841 = 7'h10 == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233304.18]
+  assign _T_6842 = 7'h12 == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233309.20]
+  assign _T_6843 = 7'h13 == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233314.22]
+  assign _T_6844 = 7'h14 == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233319.24]
+  assign _T_6845 = 7'h16 == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233324.26]
+  assign _T_6846 = 7'h17 == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233329.28]
+  assign _T_6847 = 7'h18 == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233334.30]
+  assign _T_6848 = 7'h20 == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233339.32]
+  assign _T_6849 = 7'h21 == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233344.34]
+  assign _T_6850 = 7'h22 == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233349.36]
+  assign _T_6851 = 7'h23 == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233354.38]
+  assign _T_6852 = 7'h24 == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233359.40]
+  assign _T_6853 = 7'h25 == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233364.42]
+  assign _T_6854 = 7'h26 == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233369.44]
+  assign _T_6855 = 7'h27 == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233374.46]
+  assign _T_6856 = 7'h28 == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233379.48]
+  assign _T_6857 = 7'h29 == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233384.50]
+  assign _T_6858 = 7'h2a == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233389.52]
+  assign _T_6859 = 7'h2b == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233394.54]
+  assign _T_6860 = 7'h2c == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233399.56]
+  assign _T_6861 = 7'h2d == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233404.58]
+  assign _T_6862 = 7'h2e == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233409.60]
+  assign _T_6863 = 7'h2f == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233414.62]
+  assign _T_6864 = 7'h40 == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233419.64]
+  assign _T_6865 = 7'h41 == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233424.66]
+  assign _T_6866 = 7'h42 == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233429.68]
+  assign _T_6867 = 7'h43 == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233434.70]
+  assign _T_6868 = 7'h44 == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233439.72]
+  assign _T_6869 = 7'h45 == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233444.74]
+  assign _T_6870 = 7'h46 == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233449.76]
+  assign _T_6871 = 7'h47 == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233454.78]
+  assign _T_6872 = 7'h48 == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233459.80]
+  assign _T_6873 = 7'h49 == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233464.82]
+  assign _T_6874 = 7'h4a == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233469.84]
+  assign _T_6875 = 7'h4b == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233474.86]
+  assign _T_6876 = 7'h4c == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233479.88]
+  assign _T_6877 = 7'h4d == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233484.90]
+  assign _T_6878 = 7'h4e == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233489.92]
+  assign _T_6879 = 7'h4f == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233494.94]
+  assign _T_6880 = 7'h50 == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233499.96]
+  assign _T_6881 = 7'h51 == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233504.98]
+  assign _T_6882 = 7'h52 == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233509.100]
+  assign _T_6883 = 7'h53 == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233514.102]
+  assign _GEN_528 = _T_6883 ? _T_311 : 1'h1; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233515.102]
+  assign _GEN_529 = _T_6882 ? _T_311 : _GEN_528; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233510.100]
+  assign _GEN_530 = _T_6881 ? _T_311 : _GEN_529; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233505.98]
+  assign _GEN_531 = _T_6880 ? _T_311 : _GEN_530; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233500.96]
+  assign _GEN_532 = _T_6879 ? _T_311 : _GEN_531; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233495.94]
+  assign _GEN_533 = _T_6878 ? _T_311 : _GEN_532; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233490.92]
+  assign _GEN_534 = _T_6877 ? _T_311 : _GEN_533; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233485.90]
+  assign _GEN_535 = _T_6876 ? _T_311 : _GEN_534; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233480.88]
+  assign _GEN_536 = _T_6875 ? _T_311 : _GEN_535; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233475.86]
+  assign _GEN_537 = _T_6874 ? _T_311 : _GEN_536; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233470.84]
+  assign _GEN_538 = _T_6873 ? _T_311 : _GEN_537; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233465.82]
+  assign _GEN_539 = _T_6872 ? _T_311 : _GEN_538; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233460.80]
+  assign _GEN_540 = _T_6871 ? _T_311 : _GEN_539; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233455.78]
+  assign _GEN_541 = _T_6870 ? _T_311 : _GEN_540; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233450.76]
+  assign _GEN_542 = _T_6869 ? _T_311 : _GEN_541; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233445.74]
+  assign _GEN_543 = _T_6868 ? _T_311 : _GEN_542; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233440.72]
+  assign _GEN_544 = _T_6867 ? _T_311 : _GEN_543; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233435.70]
+  assign _GEN_545 = _T_6866 ? _T_311 : _GEN_544; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233430.68]
+  assign _GEN_546 = _T_6865 ? _T_311 : _GEN_545; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233425.66]
+  assign _GEN_547 = _T_6864 ? _T_311 : _GEN_546; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233420.64]
+  assign _GEN_548 = _T_6863 ? _T_311 : _GEN_547; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233415.62]
+  assign _GEN_549 = _T_6862 ? _T_311 : _GEN_548; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233410.60]
+  assign _GEN_550 = _T_6861 ? _T_311 : _GEN_549; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233405.58]
+  assign _GEN_551 = _T_6860 ? _T_311 : _GEN_550; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233400.56]
+  assign _GEN_552 = _T_6859 ? _T_311 : _GEN_551; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233395.54]
+  assign _GEN_553 = _T_6858 ? _T_311 : _GEN_552; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233390.52]
+  assign _GEN_554 = _T_6857 ? _T_311 : _GEN_553; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233385.50]
+  assign _GEN_555 = _T_6856 ? _T_311 : _GEN_554; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233380.48]
+  assign _GEN_556 = _T_6855 ? _T_311 : _GEN_555; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233375.46]
+  assign _GEN_557 = _T_6854 ? _T_311 : _GEN_556; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233370.44]
+  assign _GEN_558 = _T_6853 ? _T_311 : _GEN_557; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233365.42]
+  assign _GEN_559 = _T_6852 ? _T_311 : _GEN_558; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233360.40]
+  assign _GEN_560 = _T_6851 ? _T_311 : _GEN_559; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233355.38]
+  assign _GEN_561 = _T_6850 ? _T_311 : _GEN_560; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233350.36]
+  assign _GEN_562 = _T_6849 ? _T_311 : _GEN_561; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233345.34]
+  assign _GEN_563 = _T_6848 ? _T_311 : _GEN_562; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233340.32]
+  assign _GEN_564 = _T_6847 ? _T_311 : _GEN_563; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233335.30]
+  assign _GEN_565 = _T_6846 ? _T_311 : _GEN_564; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233330.28]
+  assign _GEN_566 = _T_6845 ? _T_311 : _GEN_565; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233325.26]
+  assign _GEN_567 = _T_6844 ? _T_311 : _GEN_566; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233320.24]
+  assign _GEN_568 = _T_6843 ? _T_311 : _GEN_567; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233315.22]
+  assign _GEN_569 = _T_6842 ? _T_311 : _GEN_568; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233310.20]
+  assign _GEN_570 = _T_6841 ? _T_311 : _GEN_569; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233305.18]
+  assign _GEN_571 = _T_6840 ? _T_311 : _GEN_570; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233300.16]
+  assign _GEN_572 = _T_6839 ? _T_311 : _GEN_571; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233295.14]
+  assign _GEN_573 = _T_6838 ? _T_311 : _GEN_572; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233290.12]
+  assign _GEN_574 = _T_6837 ? _T_311 : _GEN_573; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233285.10]
+  assign _GEN_575 = _T_6836 ? _T_311 : _GEN_574; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233280.8]
+  assign _GEN_576 = _T_6835 ? _T_311 : _GEN_575; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233275.6]
+  assign _GEN_577 = _T_6834 ? _T_311 : _GEN_576; // @[Conditional.scala 40:58:shc.marmotcaravel.MarmotCaravelConfig.fir@233270.4]
+  assign _GEN_578 = _T_6883 ? _T_2904 : 32'h0; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233767.102]
+  assign _GEN_579 = _T_6882 ? 32'h0 : _GEN_578; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233762.100]
+  assign _GEN_580 = _T_6881 ? _T_1872 : _GEN_579; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233757.98]
+  assign _GEN_581 = _T_6880 ? {{28'd0}, _T_2022} : _GEN_580; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233752.96]
+  assign _GEN_582 = _T_6879 ? _T_2829 : _GEN_581; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233747.94]
+  assign _GEN_583 = _T_6878 ? _T_1422 : _GEN_582; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233742.92]
+  assign _GEN_584 = _T_6877 ? _T_1597 : _GEN_583; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233737.90]
+  assign _GEN_585 = _T_6876 ? _T_1897 : _GEN_584; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233732.88]
+  assign _GEN_586 = _T_6875 ? _T_2704 : _GEN_585; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233727.86]
+  assign _GEN_587 = _T_6874 ? _T_1447 : _GEN_586; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233722.84]
+  assign _GEN_588 = _T_6873 ? _T_1647 : _GEN_587; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233717.82]
+  assign _GEN_589 = _T_6872 ? _T_2579 : _GEN_588; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233712.80]
+  assign _GEN_590 = _T_6871 ? _T_1847 : _GEN_589; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233707.78]
+  assign _GEN_591 = _T_6870 ? _T_1522 : _GEN_590; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233702.76]
+  assign _GEN_592 = _T_6869 ? _T_815 : _GEN_591; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233697.74]
+  assign _GEN_593 = _T_6868 ? _T_2879 : _GEN_592; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233692.72]
+  assign _GEN_594 = _T_6867 ? _T_2097 : _GEN_593; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233687.70]
+  assign _GEN_595 = _T_6866 ? _T_1972 : _GEN_594; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233682.68]
+  assign _GEN_596 = _T_6865 ? _T_1572 : _GEN_595; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233677.66]
+  assign _GEN_597 = _T_6864 ? _T_1772 : _GEN_596; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233672.64]
+  assign _GEN_598 = _T_6863 ? backupRegs_15 : _GEN_597; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233667.62]
+  assign _GEN_599 = _T_6862 ? backupRegs_14 : _GEN_598; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233662.60]
+  assign _GEN_600 = _T_6861 ? backupRegs_13 : _GEN_599; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233657.58]
+  assign _GEN_601 = _T_6860 ? backupRegs_12 : _GEN_600; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233652.56]
+  assign _GEN_602 = _T_6859 ? backupRegs_11 : _GEN_601; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233647.54]
+  assign _GEN_603 = _T_6858 ? backupRegs_10 : _GEN_602; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233642.52]
+  assign _GEN_604 = _T_6857 ? backupRegs_9 : _GEN_603; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233637.50]
+  assign _GEN_605 = _T_6856 ? backupRegs_8 : _GEN_604; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233632.48]
+  assign _GEN_606 = _T_6855 ? backupRegs_7 : _GEN_605; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233627.46]
+  assign _GEN_607 = _T_6854 ? backupRegs_6 : _GEN_606; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233622.44]
+  assign _GEN_608 = _T_6853 ? backupRegs_5 : _GEN_607; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233617.42]
+  assign _GEN_609 = _T_6852 ? backupRegs_4 : _GEN_608; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233612.40]
+  assign _GEN_610 = _T_6851 ? backupRegs_3 : _GEN_609; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233607.38]
+  assign _GEN_611 = _T_6850 ? backupRegs_2 : _GEN_610; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233602.36]
+  assign _GEN_612 = _T_6849 ? backupRegs_1 : _GEN_611; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233597.34]
+  assign _GEN_613 = _T_6848 ? backupRegs_0 : _GEN_612; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233592.32]
+  assign _GEN_614 = _T_6847 ? _T_1322 : _GEN_613; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233587.30]
+  assign _GEN_615 = _T_6846 ? 32'h1 : _GEN_614; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233582.28]
+  assign _GEN_616 = _T_6845 ? 32'h0 : _GEN_615; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233577.26]
+  assign _GEN_617 = _T_6844 ? _T_1372 : _GEN_616; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233572.24]
+  assign _GEN_618 = _T_6843 ? _T_2779 : _GEN_617; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233567.22]
+  assign _GEN_619 = _T_6842 ? _T_2072 : _GEN_618; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233562.20]
+  assign _GEN_620 = _T_6841 ? _T_2554 : _GEN_619; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233557.18]
+  assign _GEN_621 = _T_6840 ? {{16'd0}, _T_2679} : _GEN_620; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233552.16]
+  assign _GEN_622 = _T_6839 ? _T_1922 : _GEN_621; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233547.14]
+  assign _GEN_623 = _T_6838 ? 32'h0 : _GEN_622; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233542.12]
+  assign _GEN_624 = _T_6837 ? {{16'd0}, _T_2804} : _GEN_623; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233537.10]
+  assign _GEN_625 = _T_6836 ? 32'h0 : _GEN_624; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233532.8]
+  assign _GEN_626 = _T_6835 ? {{1'd0}, _T_1672} : _GEN_625; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233527.6]
+  assign _GEN_627 = _T_6834 ? _T_1272 : _GEN_626; // @[Conditional.scala 40:58:shc.marmotcaravel.MarmotCaravelConfig.fir@233522.4]
+  assign _T_297_bits_extra = Queue_io_deq_bits_extra; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226093.4 RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@233772.4]
+  assign _T_297_bits_read = Queue_io_deq_bits_read; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226093.4 RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@233265.4]
+  assign auto_int_out_0 = wdog_io_ip_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@225983.4]
+  assign auto_int_out_1 = rtc_io_ip_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@225983.4]
+  assign auto_in_a_ready = Queue_io_enq_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@225982.4]
+  assign auto_in_d_valid = Queue_io_deq_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@225982.4]
+  assign auto_in_d_bits_opcode = {{2'd0}, _T_297_bits_read}; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@225982.4]
+  assign auto_in_d_bits_size = _T_297_bits_extra[1:0]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@225982.4]
+  assign auto_in_d_bits_source = _T_297_bits_extra[7:2]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@225982.4]
+  assign auto_in_d_bits_data = _GEN_577 ? _GEN_627 : 32'h0; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@225982.4]
+  assign io_moff_corerst = pmu_io_control_corerst; // @[MockAON.scala 64:11:shc.marmotcaravel.MarmotCaravelConfig.fir@225994.4]
+  assign io_wdog_rst = wdog_io_rst; // @[MockAON.scala 79:15:shc.marmotcaravel.MarmotCaravelConfig.fir@226007.4]
+  assign io_lfclk = io_lfextclk; // @[MockAON.scala 84:12:shc.marmotcaravel.MarmotCaravelConfig.fir@226010.4]
+  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225945.4]
+  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225946.4]
+  assign TLMonitor_io_in_a_ready = Queue_io_enq_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225979.4]
+  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225979.4]
+  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225979.4]
+  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225979.4]
+  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225979.4]
+  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225979.4]
+  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225979.4]
+  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225979.4]
+  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225979.4]
+  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225979.4]
+  assign TLMonitor_io_in_d_valid = Queue_io_deq_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225979.4]
+  assign TLMonitor_io_in_d_bits_opcode = {{2'd0}, _T_297_bits_read}; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225979.4]
+  assign TLMonitor_io_in_d_bits_size = _T_297_bits_extra[1:0]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225979.4]
+  assign TLMonitor_io_in_d_bits_source = _T_297_bits_extra[7:2]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225979.4]
+  assign rtc_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225988.4]
+  assign rtc_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225989.4]
+  assign rtc_io_regs_cfg_write__countAlways = Queue_io_deq_bits_data[12]; // @[Timer.scala 84:17:shc.marmotcaravel.MarmotCaravelConfig.fir@227840.4]
+  assign rtc_io_regs_cfg_write__scale = Queue_io_deq_bits_data[3:0]; // @[Timer.scala 84:17:shc.marmotcaravel.MarmotCaravelConfig.fir@227672.4]
+  assign rtc_io_regs_cfg_write_countAlways = _T_6020 & _T_986; // @[Timer.scala 83:17:shc.marmotcaravel.MarmotCaravelConfig.fir@227839.4]
+  assign rtc_io_regs_cfg_write_scale = _T_6020 & _T_826; // @[Timer.scala 83:17:shc.marmotcaravel.MarmotCaravelConfig.fir@227671.4]
+  assign rtc_io_regs_countLo_write_valid = _T_6032 & _T_801; // @[SlaveRegIF.scala 13:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227617.4]
+  assign rtc_io_regs_countLo_write_bits = Queue_io_deq_bits_data; // @[SlaveRegIF.scala 14:18:shc.marmotcaravel.MarmotCaravelConfig.fir@227618.4]
+  assign rtc_io_regs_countHi_write_valid = _T_6038 & _T_801; // @[SlaveRegIF.scala 13:19:shc.marmotcaravel.MarmotCaravelConfig.fir@228367.4]
+  assign rtc_io_regs_countHi_write_bits = Queue_io_deq_bits_data; // @[SlaveRegIF.scala 14:18:shc.marmotcaravel.MarmotCaravelConfig.fir@228368.4]
+  assign rtc_io_regs_cmp_0_write_valid = _T_6068 & _T_801; // @[SlaveRegIF.scala 13:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226796.4]
+  assign rtc_io_regs_cmp_0_write_bits = Queue_io_deq_bits_data; // @[SlaveRegIF.scala 14:18:shc.marmotcaravel.MarmotCaravelConfig.fir@226797.4]
+  assign pmu_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225992.4]
+  assign pmu_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225993.4]
+  assign pmu_io_wakeup_rtc = rtc_io_ip_0; // @[MockAON.scala 68:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225998.4]
+  assign pmu_io_regs_ie_write_valid = _T_6404 & _T_826; // @[SlaveRegIF.scala 13:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227562.4]
+  assign pmu_io_regs_ie_write_bits = Queue_io_deq_bits_data[3:0]; // @[SlaveRegIF.scala 14:18:shc.marmotcaravel.MarmotCaravelConfig.fir@227563.4]
+  assign pmu_io_regs_cause_write_valid = _T_6410 & _T_801; // @[SlaveRegIF.scala 13:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227399.4]
+  assign pmu_io_regs_sleep_write_valid = _T_6416 & _T_801; // @[SlaveRegIF.scala 13:19:shc.marmotcaravel.MarmotCaravelConfig.fir@228312.4]
+  assign pmu_io_regs_key_write_valid = _T_6422 & _T_801; // @[SlaveRegIF.scala 13:19:shc.marmotcaravel.MarmotCaravelConfig.fir@228503.4]
+  assign pmu_io_regs_key_write_bits = Queue_io_deq_bits_data; // @[SlaveRegIF.scala 14:18:shc.marmotcaravel.MarmotCaravelConfig.fir@228504.4]
+  assign pmu_io_regs_wakeupProgram_0_write_valid = _T_6308 & _T_801; // @[SlaveRegIF.scala 13:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227290.4]
+  assign pmu_io_regs_wakeupProgram_0_write_bits = Queue_io_deq_bits_data; // @[SlaveRegIF.scala 14:18:shc.marmotcaravel.MarmotCaravelConfig.fir@227291.4]
+  assign pmu_io_regs_wakeupProgram_1_write_valid = _T_6314 & _T_801; // @[SlaveRegIF.scala 13:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227070.4]
+  assign pmu_io_regs_wakeupProgram_1_write_bits = Queue_io_deq_bits_data; // @[SlaveRegIF.scala 14:18:shc.marmotcaravel.MarmotCaravelConfig.fir@227071.4]
+  assign pmu_io_regs_wakeupProgram_2_write_valid = _T_6320 & _T_801; // @[SlaveRegIF.scala 13:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227508.4]
+  assign pmu_io_regs_wakeupProgram_2_write_bits = Queue_io_deq_bits_data; // @[SlaveRegIF.scala 14:18:shc.marmotcaravel.MarmotCaravelConfig.fir@227509.4]
+  assign pmu_io_regs_wakeupProgram_3_write_valid = _T_6326 & _T_801; // @[SlaveRegIF.scala 13:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227644.4]
+  assign pmu_io_regs_wakeupProgram_3_write_bits = Queue_io_deq_bits_data; // @[SlaveRegIF.scala 14:18:shc.marmotcaravel.MarmotCaravelConfig.fir@227645.4]
+  assign pmu_io_regs_wakeupProgram_4_write_valid = _T_6332 & _T_801; // @[SlaveRegIF.scala 13:19:shc.marmotcaravel.MarmotCaravelConfig.fir@228476.4]
+  assign pmu_io_regs_wakeupProgram_4_write_bits = Queue_io_deq_bits_data; // @[SlaveRegIF.scala 14:18:shc.marmotcaravel.MarmotCaravelConfig.fir@228477.4]
+  assign pmu_io_regs_wakeupProgram_5_write_valid = _T_6338 & _T_801; // @[SlaveRegIF.scala 13:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226264.4]
+  assign pmu_io_regs_wakeupProgram_5_write_bits = Queue_io_deq_bits_data; // @[SlaveRegIF.scala 14:18:shc.marmotcaravel.MarmotCaravelConfig.fir@226265.4]
+  assign pmu_io_regs_wakeupProgram_6_write_valid = _T_6344 & _T_801; // @[SlaveRegIF.scala 13:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227015.4]
+  assign pmu_io_regs_wakeupProgram_6_write_bits = Queue_io_deq_bits_data; // @[SlaveRegIF.scala 14:18:shc.marmotcaravel.MarmotCaravelConfig.fir@227016.4]
+  assign pmu_io_regs_wakeupProgram_7_write_valid = _T_6350 & _T_801; // @[SlaveRegIF.scala 13:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227372.4]
+  assign pmu_io_regs_wakeupProgram_7_write_bits = Queue_io_deq_bits_data; // @[SlaveRegIF.scala 14:18:shc.marmotcaravel.MarmotCaravelConfig.fir@227373.4]
+  assign pmu_io_regs_sleepProgram_0_write_valid = _T_6356 & _T_801; // @[SlaveRegIF.scala 13:19:shc.marmotcaravel.MarmotCaravelConfig.fir@228148.4]
+  assign pmu_io_regs_sleepProgram_0_write_bits = Queue_io_deq_bits_data; // @[SlaveRegIF.scala 14:18:shc.marmotcaravel.MarmotCaravelConfig.fir@228149.4]
+  assign pmu_io_regs_sleepProgram_1_write_valid = _T_6362 & _T_801; // @[SlaveRegIF.scala 13:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227152.4]
+  assign pmu_io_regs_sleepProgram_1_write_bits = Queue_io_deq_bits_data; // @[SlaveRegIF.scala 14:18:shc.marmotcaravel.MarmotCaravelConfig.fir@227153.4]
+  assign pmu_io_regs_sleepProgram_2_write_valid = _T_6368 & _T_801; // @[SlaveRegIF.scala 13:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226933.4]
+  assign pmu_io_regs_sleepProgram_2_write_bits = Queue_io_deq_bits_data; // @[SlaveRegIF.scala 14:18:shc.marmotcaravel.MarmotCaravelConfig.fir@226934.4]
+  assign pmu_io_regs_sleepProgram_3_write_valid = _T_6374 & _T_801; // @[SlaveRegIF.scala 13:19:shc.marmotcaravel.MarmotCaravelConfig.fir@228285.4]
+  assign pmu_io_regs_sleepProgram_3_write_bits = Queue_io_deq_bits_data; // @[SlaveRegIF.scala 14:18:shc.marmotcaravel.MarmotCaravelConfig.fir@228286.4]
+  assign pmu_io_regs_sleepProgram_4_write_valid = _T_6380 & _T_801; // @[SlaveRegIF.scala 13:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227426.4]
+  assign pmu_io_regs_sleepProgram_4_write_bits = Queue_io_deq_bits_data; // @[SlaveRegIF.scala 14:18:shc.marmotcaravel.MarmotCaravelConfig.fir@227427.4]
+  assign pmu_io_regs_sleepProgram_5_write_valid = _T_6386 & _T_801; // @[SlaveRegIF.scala 13:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227097.4]
+  assign pmu_io_regs_sleepProgram_5_write_bits = Queue_io_deq_bits_data; // @[SlaveRegIF.scala 14:18:shc.marmotcaravel.MarmotCaravelConfig.fir@227098.4]
+  assign pmu_io_regs_sleepProgram_6_write_valid = _T_6392 & _T_801; // @[SlaveRegIF.scala 13:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226906.4]
+  assign pmu_io_regs_sleepProgram_6_write_bits = Queue_io_deq_bits_data; // @[SlaveRegIF.scala 14:18:shc.marmotcaravel.MarmotCaravelConfig.fir@226907.4]
+  assign pmu_io_regs_sleepProgram_7_write_valid = _T_6398 & _T_801; // @[SlaveRegIF.scala 13:19:shc.marmotcaravel.MarmotCaravelConfig.fir@228421.4]
+  assign pmu_io_regs_sleepProgram_7_write_bits = Queue_io_deq_bits_data; // @[SlaveRegIF.scala 14:18:shc.marmotcaravel.MarmotCaravelConfig.fir@228422.4]
+  assign pmu_io_resetCauses_wdogrst = io_resetCauses_wdogrst; // @[MockAON.scala 69:22:shc.marmotcaravel.MarmotCaravelConfig.fir@225999.4]
+  assign pmu_io_resetCauses_erst = io_resetCauses_erst; // @[MockAON.scala 69:22:shc.marmotcaravel.MarmotCaravelConfig.fir@225999.4]
+  assign wdog_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@226005.4]
+  assign wdog_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@226006.4]
+  assign wdog_io_regs_cfg_write__ip_0 = Queue_io_deq_bits_data[28]; // @[Timer.scala 84:17:shc.marmotcaravel.MarmotCaravelConfig.fir@226713.4]
+  assign wdog_io_regs_cfg_write__running = Queue_io_deq_bits_data[13]; // @[Timer.scala 84:17:shc.marmotcaravel.MarmotCaravelConfig.fir@226489.4]
+  assign wdog_io_regs_cfg_write__countAlways = Queue_io_deq_bits_data[12]; // @[Timer.scala 84:17:shc.marmotcaravel.MarmotCaravelConfig.fir@226460.4]
+  assign wdog_io_regs_cfg_write__zerocmp = Queue_io_deq_bits_data[9]; // @[Timer.scala 84:17:shc.marmotcaravel.MarmotCaravelConfig.fir@226375.4]
+  assign wdog_io_regs_cfg_write__sticky = Queue_io_deq_bits_data[8]; // @[Timer.scala 84:17:shc.marmotcaravel.MarmotCaravelConfig.fir@226346.4]
+  assign wdog_io_regs_cfg_write__scale = Queue_io_deq_bits_data[3:0]; // @[Timer.scala 84:17:shc.marmotcaravel.MarmotCaravelConfig.fir@226292.4]
+  assign wdog_io_regs_cfg_write_ip_0 = _T_5924 & _T_1229; // @[Timer.scala 89:18:shc.marmotcaravel.MarmotCaravelConfig.fir@226033.4 Timer.scala 83:17:shc.marmotcaravel.MarmotCaravelConfig.fir@226712.4]
+  assign wdog_io_regs_cfg_write_gang_0 = _T_5924 & _T_1175; // @[Timer.scala 90:18:shc.marmotcaravel.MarmotCaravelConfig.fir@226040.4 Timer.scala 83:17:shc.marmotcaravel.MarmotCaravelConfig.fir@226656.4]
+  assign wdog_io_regs_cfg_write_extra_0 = _T_5924 & _T_1121; // @[Timer.scala 91:18:shc.marmotcaravel.MarmotCaravelConfig.fir@226047.4 Timer.scala 83:17:shc.marmotcaravel.MarmotCaravelConfig.fir@226600.4]
+  assign wdog_io_regs_cfg_write_center_0 = _T_5924 & _T_1067; // @[Timer.scala 92:18:shc.marmotcaravel.MarmotCaravelConfig.fir@226054.4 Timer.scala 83:17:shc.marmotcaravel.MarmotCaravelConfig.fir@226544.4]
+  assign wdog_io_regs_cfg_write_running = _T_5924 & _T_1013; // @[Timer.scala 83:17:shc.marmotcaravel.MarmotCaravelConfig.fir@226488.4]
+  assign wdog_io_regs_cfg_write_countAlways = _T_5924 & _T_986; // @[Timer.scala 83:17:shc.marmotcaravel.MarmotCaravelConfig.fir@226459.4]
+  assign wdog_io_regs_cfg_write_deglitch = _T_5924 & _T_932; // @[Timer.scala 83:17:shc.marmotcaravel.MarmotCaravelConfig.fir@226403.4]
+  assign wdog_io_regs_cfg_write_zerocmp = _T_5924 & _T_905; // @[Timer.scala 83:17:shc.marmotcaravel.MarmotCaravelConfig.fir@226374.4]
+  assign wdog_io_regs_cfg_write_sticky = _T_5924 & _T_878; // @[Timer.scala 83:17:shc.marmotcaravel.MarmotCaravelConfig.fir@226345.4]
+  assign wdog_io_regs_cfg_write_scale = _T_5924 & _T_826; // @[Timer.scala 83:17:shc.marmotcaravel.MarmotCaravelConfig.fir@226291.4]
+  assign wdog_io_regs_countLo_write_valid = _T_5936 & _T_1658; // @[SlaveRegIF.scala 13:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227179.4]
+  assign wdog_io_regs_countLo_write_bits = Queue_io_deq_bits_data[30:0]; // @[SlaveRegIF.scala 14:18:shc.marmotcaravel.MarmotCaravelConfig.fir@227180.4]
+  assign wdog_io_regs_countHi_write_valid = _T_5942 & _T_801; // @[SlaveRegIF.scala 13:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227535.4]
+  assign wdog_io_regs_s_write_valid = _T_5948 & _T_2665; // @[SlaveRegIF.scala 13:19:shc.marmotcaravel.MarmotCaravelConfig.fir@228394.4]
+  assign wdog_io_regs_cmp_0_write_valid = _T_5972 & _T_2665; // @[SlaveRegIF.scala 13:19:shc.marmotcaravel.MarmotCaravelConfig.fir@228258.4]
+  assign wdog_io_regs_cmp_0_write_bits = Queue_io_deq_bits_data[15:0]; // @[SlaveRegIF.scala 14:18:shc.marmotcaravel.MarmotCaravelConfig.fir@228259.4]
+  assign wdog_io_regs_feed_write_valid = _T_5960 & _T_801; // @[SlaveRegIF.scala 13:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226960.4]
+  assign wdog_io_regs_feed_write_bits = Queue_io_deq_bits_data; // @[SlaveRegIF.scala 14:18:shc.marmotcaravel.MarmotCaravelConfig.fir@226961.4]
+  assign wdog_io_regs_key_write_valid = _T_5966 & _T_801; // @[SlaveRegIF.scala 13:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227453.4]
+  assign wdog_io_regs_key_write_bits = Queue_io_deq_bits_data; // @[SlaveRegIF.scala 14:18:shc.marmotcaravel.MarmotCaravelConfig.fir@227454.4]
+  assign wdog_io_corerst = pmu_io_control_corerst; // @[MockAON.scala 80:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226008.4]
+  assign Queue_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@226099.4]
+  assign Queue_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@226100.4]
+  assign Queue_io_enq_valid = auto_in_a_valid; // @[Decoupled.scala 294:22:shc.marmotcaravel.MarmotCaravelConfig.fir@226101.4]
+  assign Queue_io_enq_bits_read = auto_in_a_bits_opcode == 3'h4; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@226106.4]
+  assign Queue_io_enq_bits_index = _T_291[9:0]; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@226105.4]
+  assign Queue_io_enq_bits_data = auto_in_a_bits_data; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@226104.4]
+  assign Queue_io_enq_bits_mask = auto_in_a_bits_mask; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@226103.4]
+  assign Queue_io_enq_bits_extra = {auto_in_a_bits_source,auto_in_a_bits_size}; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@226102.4]
+  assign Queue_io_deq_ready = auto_in_d_ready; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@233262.4]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  backupRegs_0 = _RAND_0[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  backupRegs_1 = _RAND_1[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  backupRegs_2 = _RAND_2[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  backupRegs_3 = _RAND_3[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  backupRegs_4 = _RAND_4[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  backupRegs_5 = _RAND_5[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {1{`RANDOM}};
+  backupRegs_6 = _RAND_6[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {1{`RANDOM}};
+  backupRegs_7 = _RAND_7[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_8 = {1{`RANDOM}};
+  backupRegs_8 = _RAND_8[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_9 = {1{`RANDOM}};
+  backupRegs_9 = _RAND_9[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_10 = {1{`RANDOM}};
+  backupRegs_10 = _RAND_10[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_11 = {1{`RANDOM}};
+  backupRegs_11 = _RAND_11[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_12 = {1{`RANDOM}};
+  backupRegs_12 = _RAND_12[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_13 = {1{`RANDOM}};
+  backupRegs_13 = _RAND_13[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_14 = {1{`RANDOM}};
+  backupRegs_14 = _RAND_14[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_15 = {1{`RANDOM}};
+  backupRegs_15 = _RAND_15[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (_T_1687) begin
+      backupRegs_0 <= _T_806;
+    end
+    if (_T_1537) begin
+      backupRegs_1 <= _T_806;
+    end
+    if (_T_1712) begin
+      backupRegs_2 <= _T_806;
+    end
+    if (_T_2037) begin
+      backupRegs_3 <= _T_806;
+    end
+    if (_T_2744) begin
+      backupRegs_4 <= _T_806;
+    end
+    if (_T_1337) begin
+      backupRegs_5 <= _T_806;
+    end
+    if (_T_1487) begin
+      backupRegs_6 <= _T_806;
+    end
+    if (_T_1937) begin
+      backupRegs_7 <= _T_806;
+    end
+    if (_T_2619) begin
+      backupRegs_8 <= _T_806;
+    end
+    if (_T_1612) begin
+      backupRegs_9 <= _T_806;
+    end
+    if (_T_1287) begin
+      backupRegs_10 <= _T_806;
+    end
+    if (_T_2594) begin
+      backupRegs_11 <= _T_806;
+    end
+    if (_T_1812) begin
+      backupRegs_12 <= _T_806;
+    end
+    if (_T_1737) begin
+      backupRegs_13 <= _T_806;
+    end
+    if (_T_1387) begin
+      backupRegs_14 <= _T_806;
+    end
+    if (_T_2844) begin
+      backupRegs_15 <= _T_806;
+    end
+  end
+endmodule
+module IsoZero( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@233797.2]
+  input   io_in, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@233800.4]
+  input   io_iso, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@233800.4]
+  output  io_out // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@233800.4]
+);
+  wire  _T_7; // @[MockAONWrapper.scala 157:21:shc.marmotcaravel.MarmotCaravelConfig.fir@233805.4]
+  assign _T_7 = ~ io_iso; // @[MockAONWrapper.scala 157:21:shc.marmotcaravel.MarmotCaravelConfig.fir@233805.4]
+  assign io_out = io_in & _T_7; // @[MockAONWrapper.scala 157:10:shc.marmotcaravel.MarmotCaravelConfig.fir@233807.4]
+endmodule
+module TLIsolation( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@234829.2]
+  input  [2:0]  auto_in_a_mem_0_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@234832.4]
+  input  [2:0]  auto_in_a_mem_0_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@234832.4]
+  input  [1:0]  auto_in_a_mem_0_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@234832.4]
+  input  [5:0]  auto_in_a_mem_0_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@234832.4]
+  input  [28:0] auto_in_a_mem_0_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@234832.4]
+  input  [3:0]  auto_in_a_mem_0_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@234832.4]
+  input  [31:0] auto_in_a_mem_0_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@234832.4]
+  input         auto_in_a_mem_0_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@234832.4]
+  output        auto_in_a_ridx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@234832.4]
+  input         auto_in_a_widx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@234832.4]
+  output        auto_in_a_safe_ridx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@234832.4]
+  input         auto_in_a_safe_widx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@234832.4]
+  input         auto_in_a_safe_source_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@234832.4]
+  output        auto_in_a_safe_sink_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@234832.4]
+  output [2:0]  auto_in_d_mem_0_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@234832.4]
+  output [1:0]  auto_in_d_mem_0_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@234832.4]
+  output [1:0]  auto_in_d_mem_0_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@234832.4]
+  output [5:0]  auto_in_d_mem_0_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@234832.4]
+  output        auto_in_d_mem_0_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@234832.4]
+  output        auto_in_d_mem_0_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@234832.4]
+  output [31:0] auto_in_d_mem_0_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@234832.4]
+  output        auto_in_d_mem_0_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@234832.4]
+  input         auto_in_d_ridx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@234832.4]
+  output        auto_in_d_widx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@234832.4]
+  input         auto_in_d_safe_ridx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@234832.4]
+  output        auto_in_d_safe_widx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@234832.4]
+  output        auto_in_d_safe_source_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@234832.4]
+  input         auto_in_d_safe_sink_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@234832.4]
+  output [2:0]  auto_out_a_mem_0_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@234832.4]
+  output [2:0]  auto_out_a_mem_0_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@234832.4]
+  output [1:0]  auto_out_a_mem_0_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@234832.4]
+  output [5:0]  auto_out_a_mem_0_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@234832.4]
+  output [28:0] auto_out_a_mem_0_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@234832.4]
+  output [3:0]  auto_out_a_mem_0_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@234832.4]
+  output [31:0] auto_out_a_mem_0_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@234832.4]
+  output        auto_out_a_mem_0_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@234832.4]
+  input         auto_out_a_ridx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@234832.4]
+  output        auto_out_a_widx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@234832.4]
+  input         auto_out_a_safe_ridx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@234832.4]
+  output        auto_out_a_safe_widx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@234832.4]
+  output        auto_out_a_safe_source_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@234832.4]
+  input         auto_out_a_safe_sink_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@234832.4]
+  input  [2:0]  auto_out_d_mem_0_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@234832.4]
+  input  [1:0]  auto_out_d_mem_0_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@234832.4]
+  input  [5:0]  auto_out_d_mem_0_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@234832.4]
+  input  [31:0] auto_out_d_mem_0_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@234832.4]
+  output        auto_out_d_ridx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@234832.4]
+  input         auto_out_d_widx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@234832.4]
+  output        auto_out_d_safe_ridx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@234832.4]
+  input         auto_out_d_safe_widx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@234832.4]
+  input         auto_out_d_safe_source_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@234832.4]
+  output        auto_out_d_safe_sink_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@234832.4]
+  input         io_iso_out // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@234833.4]
+);
+  wire  iso_0_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234852.4]
+  wire  iso_0_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234852.4]
+  wire  iso_0_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234852.4]
+  wire  iso_1_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234856.4]
+  wire  iso_1_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234856.4]
+  wire  iso_1_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234856.4]
+  wire  iso_2_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234860.4]
+  wire  iso_2_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234860.4]
+  wire  iso_2_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234860.4]
+  wire  iso_3_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234864.4]
+  wire  iso_3_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234864.4]
+  wire  iso_3_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234864.4]
+  wire  iso_4_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234868.4]
+  wire  iso_4_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234868.4]
+  wire  iso_4_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234868.4]
+  wire  iso_5_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234872.4]
+  wire  iso_5_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234872.4]
+  wire  iso_5_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234872.4]
+  wire  iso_6_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234876.4]
+  wire  iso_6_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234876.4]
+  wire  iso_6_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234876.4]
+  wire  iso_7_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234880.4]
+  wire  iso_7_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234880.4]
+  wire  iso_7_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234880.4]
+  wire  iso_8_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234884.4]
+  wire  iso_8_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234884.4]
+  wire  iso_8_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234884.4]
+  wire  iso_9_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234888.4]
+  wire  iso_9_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234888.4]
+  wire  iso_9_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234888.4]
+  wire  iso_10_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234892.4]
+  wire  iso_10_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234892.4]
+  wire  iso_10_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234892.4]
+  wire  iso_11_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234896.4]
+  wire  iso_11_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234896.4]
+  wire  iso_11_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234896.4]
+  wire  iso_12_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234900.4]
+  wire  iso_12_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234900.4]
+  wire  iso_12_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234900.4]
+  wire  iso_13_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234904.4]
+  wire  iso_13_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234904.4]
+  wire  iso_13_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234904.4]
+  wire  iso_14_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234908.4]
+  wire  iso_14_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234908.4]
+  wire  iso_14_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234908.4]
+  wire  iso_15_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234912.4]
+  wire  iso_15_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234912.4]
+  wire  iso_15_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234912.4]
+  wire  iso_16_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234916.4]
+  wire  iso_16_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234916.4]
+  wire  iso_16_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234916.4]
+  wire  iso_17_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234920.4]
+  wire  iso_17_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234920.4]
+  wire  iso_17_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234920.4]
+  wire  iso_18_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234924.4]
+  wire  iso_18_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234924.4]
+  wire  iso_18_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234924.4]
+  wire  iso_19_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234928.4]
+  wire  iso_19_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234928.4]
+  wire  iso_19_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234928.4]
+  wire  iso_20_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234932.4]
+  wire  iso_20_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234932.4]
+  wire  iso_20_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234932.4]
+  wire  iso_21_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234936.4]
+  wire  iso_21_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234936.4]
+  wire  iso_21_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234936.4]
+  wire  iso_22_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234940.4]
+  wire  iso_22_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234940.4]
+  wire  iso_22_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234940.4]
+  wire  iso_23_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234944.4]
+  wire  iso_23_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234944.4]
+  wire  iso_23_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234944.4]
+  wire  iso_24_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234948.4]
+  wire  iso_24_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234948.4]
+  wire  iso_24_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234948.4]
+  wire  iso_25_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234952.4]
+  wire  iso_25_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234952.4]
+  wire  iso_25_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234952.4]
+  wire  iso_26_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234956.4]
+  wire  iso_26_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234956.4]
+  wire  iso_26_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234956.4]
+  wire  iso_27_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234960.4]
+  wire  iso_27_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234960.4]
+  wire  iso_27_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234960.4]
+  wire  iso_28_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234964.4]
+  wire  iso_28_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234964.4]
+  wire  iso_28_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234964.4]
+  wire  iso_29_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234968.4]
+  wire  iso_29_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234968.4]
+  wire  iso_29_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234968.4]
+  wire  iso_30_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234972.4]
+  wire  iso_30_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234972.4]
+  wire  iso_30_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234972.4]
+  wire  iso_31_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234976.4]
+  wire  iso_31_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234976.4]
+  wire  iso_31_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234976.4]
+  wire  iso_32_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234980.4]
+  wire  iso_32_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234980.4]
+  wire  iso_32_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234980.4]
+  wire  iso_33_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234984.4]
+  wire  iso_33_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234984.4]
+  wire  iso_33_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234984.4]
+  wire  iso_34_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234988.4]
+  wire  iso_34_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234988.4]
+  wire  iso_34_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234988.4]
+  wire  iso_35_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234992.4]
+  wire  iso_35_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234992.4]
+  wire  iso_35_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234992.4]
+  wire  iso_36_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234996.4]
+  wire  iso_36_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234996.4]
+  wire  iso_36_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234996.4]
+  wire  iso_37_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235000.4]
+  wire  iso_37_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235000.4]
+  wire  iso_37_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235000.4]
+  wire  iso_38_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235004.4]
+  wire  iso_38_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235004.4]
+  wire  iso_38_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235004.4]
+  wire  iso_39_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235008.4]
+  wire  iso_39_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235008.4]
+  wire  iso_39_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235008.4]
+  wire  iso_40_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235012.4]
+  wire  iso_40_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235012.4]
+  wire  iso_40_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235012.4]
+  wire  iso_41_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235016.4]
+  wire  iso_41_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235016.4]
+  wire  iso_41_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235016.4]
+  wire  iso_42_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235020.4]
+  wire  iso_42_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235020.4]
+  wire  iso_42_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235020.4]
+  wire  iso_43_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235024.4]
+  wire  iso_43_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235024.4]
+  wire  iso_43_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235024.4]
+  wire  iso_44_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235028.4]
+  wire  iso_44_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235028.4]
+  wire  iso_44_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235028.4]
+  wire  iso_45_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235032.4]
+  wire  iso_45_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235032.4]
+  wire  iso_45_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235032.4]
+  wire  iso_46_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235036.4]
+  wire  iso_46_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235036.4]
+  wire  iso_46_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235036.4]
+  wire  iso_47_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235040.4]
+  wire  iso_47_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235040.4]
+  wire  iso_47_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235040.4]
+  wire  iso_48_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235044.4]
+  wire  iso_48_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235044.4]
+  wire  iso_48_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235044.4]
+  wire  iso_49_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235048.4]
+  wire  iso_49_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235048.4]
+  wire  iso_49_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235048.4]
+  wire  iso_50_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235052.4]
+  wire  iso_50_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235052.4]
+  wire  iso_50_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235052.4]
+  wire  iso_51_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235056.4]
+  wire  iso_51_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235056.4]
+  wire  iso_51_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235056.4]
+  wire  iso_52_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235060.4]
+  wire  iso_52_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235060.4]
+  wire  iso_52_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235060.4]
+  wire  iso_53_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235064.4]
+  wire  iso_53_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235064.4]
+  wire  iso_53_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235064.4]
+  wire  iso_54_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235068.4]
+  wire  iso_54_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235068.4]
+  wire  iso_54_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235068.4]
+  wire  iso_55_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235072.4]
+  wire  iso_55_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235072.4]
+  wire  iso_55_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235072.4]
+  wire  iso_56_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235076.4]
+  wire  iso_56_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235076.4]
+  wire  iso_56_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235076.4]
+  wire  iso_57_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235080.4]
+  wire  iso_57_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235080.4]
+  wire  iso_57_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235080.4]
+  wire  iso_58_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235084.4]
+  wire  iso_58_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235084.4]
+  wire  iso_58_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235084.4]
+  wire  iso_59_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235088.4]
+  wire  iso_59_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235088.4]
+  wire  iso_59_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235088.4]
+  wire  iso_60_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235092.4]
+  wire  iso_60_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235092.4]
+  wire  iso_60_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235092.4]
+  wire  iso_61_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235096.4]
+  wire  iso_61_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235096.4]
+  wire  iso_61_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235096.4]
+  wire  iso_62_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235100.4]
+  wire  iso_62_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235100.4]
+  wire  iso_62_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235100.4]
+  wire  iso_63_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235104.4]
+  wire  iso_63_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235104.4]
+  wire  iso_63_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235104.4]
+  wire  iso_64_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235108.4]
+  wire  iso_64_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235108.4]
+  wire  iso_64_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235108.4]
+  wire  iso_65_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235112.4]
+  wire  iso_65_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235112.4]
+  wire  iso_65_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235112.4]
+  wire  iso_66_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235116.4]
+  wire  iso_66_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235116.4]
+  wire  iso_66_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235116.4]
+  wire  iso_67_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235120.4]
+  wire  iso_67_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235120.4]
+  wire  iso_67_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235120.4]
+  wire  iso_68_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235124.4]
+  wire  iso_68_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235124.4]
+  wire  iso_68_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235124.4]
+  wire  iso_69_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235128.4]
+  wire  iso_69_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235128.4]
+  wire  iso_69_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235128.4]
+  wire  iso_70_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235132.4]
+  wire  iso_70_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235132.4]
+  wire  iso_70_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235132.4]
+  wire  iso_71_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235136.4]
+  wire  iso_71_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235136.4]
+  wire  iso_71_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235136.4]
+  wire  iso_72_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235140.4]
+  wire  iso_72_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235140.4]
+  wire  iso_72_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235140.4]
+  wire  iso_73_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235144.4]
+  wire  iso_73_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235144.4]
+  wire  iso_73_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235144.4]
+  wire  iso_74_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235148.4]
+  wire  iso_74_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235148.4]
+  wire  iso_74_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235148.4]
+  wire  iso_75_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235152.4]
+  wire  iso_75_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235152.4]
+  wire  iso_75_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235152.4]
+  wire  iso_76_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235156.4]
+  wire  iso_76_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235156.4]
+  wire  iso_76_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235156.4]
+  wire  iso_77_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235160.4]
+  wire  iso_77_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235160.4]
+  wire  iso_77_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235160.4]
+  wire  iso_78_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235164.4]
+  wire  iso_78_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235164.4]
+  wire  iso_78_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235164.4]
+  wire  iso_79_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235168.4]
+  wire  iso_79_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235168.4]
+  wire  iso_79_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235168.4]
+  wire  iso_0_1_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235513.4]
+  wire  iso_0_1_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235513.4]
+  wire  iso_0_1_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235513.4]
+  wire  iso_0_2_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235528.4]
+  wire  iso_0_2_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235528.4]
+  wire  iso_0_2_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235528.4]
+  wire  iso_0_3_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235539.4]
+  wire  iso_0_3_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235539.4]
+  wire  iso_0_3_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235539.4]
+  wire  iso_0_4_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235591.4]
+  wire  iso_0_4_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235591.4]
+  wire  iso_0_4_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235591.4]
+  wire  iso_0_5_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235610.4]
+  wire  iso_0_5_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235610.4]
+  wire  iso_0_5_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235610.4]
+  wire  iso_0_6_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235621.4]
+  wire  iso_0_6_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235621.4]
+  wire  iso_0_6_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235621.4]
+  wire [32:0] _T_876; // @[Isolation.scala 21:66:shc.marmotcaravel.MarmotCaravelConfig.fir@234845.4]
+  wire [32:0] _T_877; // @[Isolation.scala 21:66:shc.marmotcaravel.MarmotCaravelConfig.fir@234846.4]
+  wire [65:0] _T_878; // @[Isolation.scala 21:66:shc.marmotcaravel.MarmotCaravelConfig.fir@234847.4]
+  wire [7:0] _T_879; // @[Isolation.scala 21:66:shc.marmotcaravel.MarmotCaravelConfig.fir@234848.4]
+  wire [5:0] _T_880; // @[Isolation.scala 21:66:shc.marmotcaravel.MarmotCaravelConfig.fir@234849.4]
+  wire [13:0] _T_881; // @[Isolation.scala 21:66:shc.marmotcaravel.MarmotCaravelConfig.fir@234850.4]
+  wire [79:0] _T_882; // @[Isolation.scala 21:66:shc.marmotcaravel.MarmotCaravelConfig.fir@234851.4]
+  wire [1:0] _T_963; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235412.4]
+  wire [1:0] _T_964; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235413.4]
+  wire [2:0] _T_965; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235414.4]
+  wire [4:0] _T_966; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235415.4]
+  wire [1:0] _T_967; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235416.4]
+  wire [1:0] _T_968; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235417.4]
+  wire [2:0] _T_969; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235418.4]
+  wire [4:0] _T_970; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235419.4]
+  wire [9:0] _T_971; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235420.4]
+  wire [1:0] _T_972; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235421.4]
+  wire [1:0] _T_973; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235422.4]
+  wire [2:0] _T_974; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235423.4]
+  wire [4:0] _T_975; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235424.4]
+  wire [1:0] _T_976; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235425.4]
+  wire [1:0] _T_977; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235426.4]
+  wire [2:0] _T_978; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235427.4]
+  wire [4:0] _T_979; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235428.4]
+  wire [9:0] _T_980; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235429.4]
+  wire [19:0] _T_981; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235430.4]
+  wire [1:0] _T_982; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235431.4]
+  wire [1:0] _T_983; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235432.4]
+  wire [2:0] _T_984; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235433.4]
+  wire [4:0] _T_985; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235434.4]
+  wire [1:0] _T_986; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235435.4]
+  wire [1:0] _T_987; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235436.4]
+  wire [2:0] _T_988; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235437.4]
+  wire [4:0] _T_989; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235438.4]
+  wire [9:0] _T_990; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235439.4]
+  wire [1:0] _T_991; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235440.4]
+  wire [1:0] _T_992; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235441.4]
+  wire [2:0] _T_993; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235442.4]
+  wire [4:0] _T_994; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235443.4]
+  wire [1:0] _T_995; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235444.4]
+  wire [1:0] _T_996; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235445.4]
+  wire [2:0] _T_997; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235446.4]
+  wire [4:0] _T_998; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235447.4]
+  wire [9:0] _T_999; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235448.4]
+  wire [19:0] _T_1000; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235449.4]
+  wire [39:0] _T_1001; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235450.4]
+  wire [1:0] _T_1002; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235451.4]
+  wire [1:0] _T_1003; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235452.4]
+  wire [2:0] _T_1004; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235453.4]
+  wire [4:0] _T_1005; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235454.4]
+  wire [1:0] _T_1006; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235455.4]
+  wire [1:0] _T_1007; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235456.4]
+  wire [2:0] _T_1008; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235457.4]
+  wire [4:0] _T_1009; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235458.4]
+  wire [9:0] _T_1010; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235459.4]
+  wire [1:0] _T_1011; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235460.4]
+  wire [1:0] _T_1012; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235461.4]
+  wire [2:0] _T_1013; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235462.4]
+  wire [4:0] _T_1014; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235463.4]
+  wire [1:0] _T_1015; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235464.4]
+  wire [1:0] _T_1016; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235465.4]
+  wire [2:0] _T_1017; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235466.4]
+  wire [4:0] _T_1018; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235467.4]
+  wire [9:0] _T_1019; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235468.4]
+  wire [19:0] _T_1020; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235469.4]
+  wire [1:0] _T_1021; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235470.4]
+  wire [1:0] _T_1022; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235471.4]
+  wire [2:0] _T_1023; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235472.4]
+  wire [4:0] _T_1024; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235473.4]
+  wire [1:0] _T_1025; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235474.4]
+  wire [1:0] _T_1026; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235475.4]
+  wire [2:0] _T_1027; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235476.4]
+  wire [4:0] _T_1028; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235477.4]
+  wire [9:0] _T_1029; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235478.4]
+  wire [1:0] _T_1030; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235479.4]
+  wire [1:0] _T_1031; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235480.4]
+  wire [2:0] _T_1032; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235481.4]
+  wire [4:0] _T_1033; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235482.4]
+  wire [1:0] _T_1034; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235483.4]
+  wire [1:0] _T_1035; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235484.4]
+  wire [2:0] _T_1036; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235485.4]
+  wire [4:0] _T_1037; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235486.4]
+  wire [9:0] _T_1038; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235487.4]
+  wire [19:0] _T_1039; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235488.4]
+  wire [39:0] _T_1040; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235489.4]
+  wire [79:0] _T_1041; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235490.4]
+  wire [32:0] _T_1081; // @[Isolation.scala 22:66:shc.marmotcaravel.MarmotCaravelConfig.fir@235558.4]
+  wire [34:0] _T_1083; // @[Isolation.scala 22:66:shc.marmotcaravel.MarmotCaravelConfig.fir@235560.4]
+  wire [7:0] _T_1084; // @[Isolation.scala 22:66:shc.marmotcaravel.MarmotCaravelConfig.fir@235561.4]
+  wire [4:0] _T_1085; // @[Isolation.scala 22:66:shc.marmotcaravel.MarmotCaravelConfig.fir@235562.4]
+  wire [12:0] _T_1086; // @[Isolation.scala 22:66:shc.marmotcaravel.MarmotCaravelConfig.fir@235563.4]
+  wire [47:0] _T_1087; // @[Isolation.scala 22:66:shc.marmotcaravel.MarmotCaravelConfig.fir@235564.4]
+  IsoZero iso_0 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234852.4]
+    .io_in(iso_0_io_in),
+    .io_iso(iso_0_io_iso),
+    .io_out(iso_0_io_out)
+  );
+  IsoZero iso_1 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234856.4]
+    .io_in(iso_1_io_in),
+    .io_iso(iso_1_io_iso),
+    .io_out(iso_1_io_out)
+  );
+  IsoZero iso_2 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234860.4]
+    .io_in(iso_2_io_in),
+    .io_iso(iso_2_io_iso),
+    .io_out(iso_2_io_out)
+  );
+  IsoZero iso_3 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234864.4]
+    .io_in(iso_3_io_in),
+    .io_iso(iso_3_io_iso),
+    .io_out(iso_3_io_out)
+  );
+  IsoZero iso_4 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234868.4]
+    .io_in(iso_4_io_in),
+    .io_iso(iso_4_io_iso),
+    .io_out(iso_4_io_out)
+  );
+  IsoZero iso_5 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234872.4]
+    .io_in(iso_5_io_in),
+    .io_iso(iso_5_io_iso),
+    .io_out(iso_5_io_out)
+  );
+  IsoZero iso_6 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234876.4]
+    .io_in(iso_6_io_in),
+    .io_iso(iso_6_io_iso),
+    .io_out(iso_6_io_out)
+  );
+  IsoZero iso_7 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234880.4]
+    .io_in(iso_7_io_in),
+    .io_iso(iso_7_io_iso),
+    .io_out(iso_7_io_out)
+  );
+  IsoZero iso_8 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234884.4]
+    .io_in(iso_8_io_in),
+    .io_iso(iso_8_io_iso),
+    .io_out(iso_8_io_out)
+  );
+  IsoZero iso_9 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234888.4]
+    .io_in(iso_9_io_in),
+    .io_iso(iso_9_io_iso),
+    .io_out(iso_9_io_out)
+  );
+  IsoZero iso_10 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234892.4]
+    .io_in(iso_10_io_in),
+    .io_iso(iso_10_io_iso),
+    .io_out(iso_10_io_out)
+  );
+  IsoZero iso_11 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234896.4]
+    .io_in(iso_11_io_in),
+    .io_iso(iso_11_io_iso),
+    .io_out(iso_11_io_out)
+  );
+  IsoZero iso_12 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234900.4]
+    .io_in(iso_12_io_in),
+    .io_iso(iso_12_io_iso),
+    .io_out(iso_12_io_out)
+  );
+  IsoZero iso_13 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234904.4]
+    .io_in(iso_13_io_in),
+    .io_iso(iso_13_io_iso),
+    .io_out(iso_13_io_out)
+  );
+  IsoZero iso_14 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234908.4]
+    .io_in(iso_14_io_in),
+    .io_iso(iso_14_io_iso),
+    .io_out(iso_14_io_out)
+  );
+  IsoZero iso_15 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234912.4]
+    .io_in(iso_15_io_in),
+    .io_iso(iso_15_io_iso),
+    .io_out(iso_15_io_out)
+  );
+  IsoZero iso_16 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234916.4]
+    .io_in(iso_16_io_in),
+    .io_iso(iso_16_io_iso),
+    .io_out(iso_16_io_out)
+  );
+  IsoZero iso_17 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234920.4]
+    .io_in(iso_17_io_in),
+    .io_iso(iso_17_io_iso),
+    .io_out(iso_17_io_out)
+  );
+  IsoZero iso_18 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234924.4]
+    .io_in(iso_18_io_in),
+    .io_iso(iso_18_io_iso),
+    .io_out(iso_18_io_out)
+  );
+  IsoZero iso_19 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234928.4]
+    .io_in(iso_19_io_in),
+    .io_iso(iso_19_io_iso),
+    .io_out(iso_19_io_out)
+  );
+  IsoZero iso_20 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234932.4]
+    .io_in(iso_20_io_in),
+    .io_iso(iso_20_io_iso),
+    .io_out(iso_20_io_out)
+  );
+  IsoZero iso_21 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234936.4]
+    .io_in(iso_21_io_in),
+    .io_iso(iso_21_io_iso),
+    .io_out(iso_21_io_out)
+  );
+  IsoZero iso_22 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234940.4]
+    .io_in(iso_22_io_in),
+    .io_iso(iso_22_io_iso),
+    .io_out(iso_22_io_out)
+  );
+  IsoZero iso_23 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234944.4]
+    .io_in(iso_23_io_in),
+    .io_iso(iso_23_io_iso),
+    .io_out(iso_23_io_out)
+  );
+  IsoZero iso_24 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234948.4]
+    .io_in(iso_24_io_in),
+    .io_iso(iso_24_io_iso),
+    .io_out(iso_24_io_out)
+  );
+  IsoZero iso_25 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234952.4]
+    .io_in(iso_25_io_in),
+    .io_iso(iso_25_io_iso),
+    .io_out(iso_25_io_out)
+  );
+  IsoZero iso_26 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234956.4]
+    .io_in(iso_26_io_in),
+    .io_iso(iso_26_io_iso),
+    .io_out(iso_26_io_out)
+  );
+  IsoZero iso_27 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234960.4]
+    .io_in(iso_27_io_in),
+    .io_iso(iso_27_io_iso),
+    .io_out(iso_27_io_out)
+  );
+  IsoZero iso_28 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234964.4]
+    .io_in(iso_28_io_in),
+    .io_iso(iso_28_io_iso),
+    .io_out(iso_28_io_out)
+  );
+  IsoZero iso_29 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234968.4]
+    .io_in(iso_29_io_in),
+    .io_iso(iso_29_io_iso),
+    .io_out(iso_29_io_out)
+  );
+  IsoZero iso_30 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234972.4]
+    .io_in(iso_30_io_in),
+    .io_iso(iso_30_io_iso),
+    .io_out(iso_30_io_out)
+  );
+  IsoZero iso_31 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234976.4]
+    .io_in(iso_31_io_in),
+    .io_iso(iso_31_io_iso),
+    .io_out(iso_31_io_out)
+  );
+  IsoZero iso_32 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234980.4]
+    .io_in(iso_32_io_in),
+    .io_iso(iso_32_io_iso),
+    .io_out(iso_32_io_out)
+  );
+  IsoZero iso_33 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234984.4]
+    .io_in(iso_33_io_in),
+    .io_iso(iso_33_io_iso),
+    .io_out(iso_33_io_out)
+  );
+  IsoZero iso_34 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234988.4]
+    .io_in(iso_34_io_in),
+    .io_iso(iso_34_io_iso),
+    .io_out(iso_34_io_out)
+  );
+  IsoZero iso_35 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234992.4]
+    .io_in(iso_35_io_in),
+    .io_iso(iso_35_io_iso),
+    .io_out(iso_35_io_out)
+  );
+  IsoZero iso_36 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234996.4]
+    .io_in(iso_36_io_in),
+    .io_iso(iso_36_io_iso),
+    .io_out(iso_36_io_out)
+  );
+  IsoZero iso_37 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235000.4]
+    .io_in(iso_37_io_in),
+    .io_iso(iso_37_io_iso),
+    .io_out(iso_37_io_out)
+  );
+  IsoZero iso_38 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235004.4]
+    .io_in(iso_38_io_in),
+    .io_iso(iso_38_io_iso),
+    .io_out(iso_38_io_out)
+  );
+  IsoZero iso_39 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235008.4]
+    .io_in(iso_39_io_in),
+    .io_iso(iso_39_io_iso),
+    .io_out(iso_39_io_out)
+  );
+  IsoZero iso_40 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235012.4]
+    .io_in(iso_40_io_in),
+    .io_iso(iso_40_io_iso),
+    .io_out(iso_40_io_out)
+  );
+  IsoZero iso_41 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235016.4]
+    .io_in(iso_41_io_in),
+    .io_iso(iso_41_io_iso),
+    .io_out(iso_41_io_out)
+  );
+  IsoZero iso_42 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235020.4]
+    .io_in(iso_42_io_in),
+    .io_iso(iso_42_io_iso),
+    .io_out(iso_42_io_out)
+  );
+  IsoZero iso_43 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235024.4]
+    .io_in(iso_43_io_in),
+    .io_iso(iso_43_io_iso),
+    .io_out(iso_43_io_out)
+  );
+  IsoZero iso_44 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235028.4]
+    .io_in(iso_44_io_in),
+    .io_iso(iso_44_io_iso),
+    .io_out(iso_44_io_out)
+  );
+  IsoZero iso_45 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235032.4]
+    .io_in(iso_45_io_in),
+    .io_iso(iso_45_io_iso),
+    .io_out(iso_45_io_out)
+  );
+  IsoZero iso_46 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235036.4]
+    .io_in(iso_46_io_in),
+    .io_iso(iso_46_io_iso),
+    .io_out(iso_46_io_out)
+  );
+  IsoZero iso_47 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235040.4]
+    .io_in(iso_47_io_in),
+    .io_iso(iso_47_io_iso),
+    .io_out(iso_47_io_out)
+  );
+  IsoZero iso_48 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235044.4]
+    .io_in(iso_48_io_in),
+    .io_iso(iso_48_io_iso),
+    .io_out(iso_48_io_out)
+  );
+  IsoZero iso_49 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235048.4]
+    .io_in(iso_49_io_in),
+    .io_iso(iso_49_io_iso),
+    .io_out(iso_49_io_out)
+  );
+  IsoZero iso_50 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235052.4]
+    .io_in(iso_50_io_in),
+    .io_iso(iso_50_io_iso),
+    .io_out(iso_50_io_out)
+  );
+  IsoZero iso_51 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235056.4]
+    .io_in(iso_51_io_in),
+    .io_iso(iso_51_io_iso),
+    .io_out(iso_51_io_out)
+  );
+  IsoZero iso_52 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235060.4]
+    .io_in(iso_52_io_in),
+    .io_iso(iso_52_io_iso),
+    .io_out(iso_52_io_out)
+  );
+  IsoZero iso_53 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235064.4]
+    .io_in(iso_53_io_in),
+    .io_iso(iso_53_io_iso),
+    .io_out(iso_53_io_out)
+  );
+  IsoZero iso_54 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235068.4]
+    .io_in(iso_54_io_in),
+    .io_iso(iso_54_io_iso),
+    .io_out(iso_54_io_out)
+  );
+  IsoZero iso_55 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235072.4]
+    .io_in(iso_55_io_in),
+    .io_iso(iso_55_io_iso),
+    .io_out(iso_55_io_out)
+  );
+  IsoZero iso_56 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235076.4]
+    .io_in(iso_56_io_in),
+    .io_iso(iso_56_io_iso),
+    .io_out(iso_56_io_out)
+  );
+  IsoZero iso_57 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235080.4]
+    .io_in(iso_57_io_in),
+    .io_iso(iso_57_io_iso),
+    .io_out(iso_57_io_out)
+  );
+  IsoZero iso_58 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235084.4]
+    .io_in(iso_58_io_in),
+    .io_iso(iso_58_io_iso),
+    .io_out(iso_58_io_out)
+  );
+  IsoZero iso_59 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235088.4]
+    .io_in(iso_59_io_in),
+    .io_iso(iso_59_io_iso),
+    .io_out(iso_59_io_out)
+  );
+  IsoZero iso_60 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235092.4]
+    .io_in(iso_60_io_in),
+    .io_iso(iso_60_io_iso),
+    .io_out(iso_60_io_out)
+  );
+  IsoZero iso_61 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235096.4]
+    .io_in(iso_61_io_in),
+    .io_iso(iso_61_io_iso),
+    .io_out(iso_61_io_out)
+  );
+  IsoZero iso_62 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235100.4]
+    .io_in(iso_62_io_in),
+    .io_iso(iso_62_io_iso),
+    .io_out(iso_62_io_out)
+  );
+  IsoZero iso_63 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235104.4]
+    .io_in(iso_63_io_in),
+    .io_iso(iso_63_io_iso),
+    .io_out(iso_63_io_out)
+  );
+  IsoZero iso_64 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235108.4]
+    .io_in(iso_64_io_in),
+    .io_iso(iso_64_io_iso),
+    .io_out(iso_64_io_out)
+  );
+  IsoZero iso_65 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235112.4]
+    .io_in(iso_65_io_in),
+    .io_iso(iso_65_io_iso),
+    .io_out(iso_65_io_out)
+  );
+  IsoZero iso_66 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235116.4]
+    .io_in(iso_66_io_in),
+    .io_iso(iso_66_io_iso),
+    .io_out(iso_66_io_out)
+  );
+  IsoZero iso_67 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235120.4]
+    .io_in(iso_67_io_in),
+    .io_iso(iso_67_io_iso),
+    .io_out(iso_67_io_out)
+  );
+  IsoZero iso_68 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235124.4]
+    .io_in(iso_68_io_in),
+    .io_iso(iso_68_io_iso),
+    .io_out(iso_68_io_out)
+  );
+  IsoZero iso_69 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235128.4]
+    .io_in(iso_69_io_in),
+    .io_iso(iso_69_io_iso),
+    .io_out(iso_69_io_out)
+  );
+  IsoZero iso_70 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235132.4]
+    .io_in(iso_70_io_in),
+    .io_iso(iso_70_io_iso),
+    .io_out(iso_70_io_out)
+  );
+  IsoZero iso_71 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235136.4]
+    .io_in(iso_71_io_in),
+    .io_iso(iso_71_io_iso),
+    .io_out(iso_71_io_out)
+  );
+  IsoZero iso_72 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235140.4]
+    .io_in(iso_72_io_in),
+    .io_iso(iso_72_io_iso),
+    .io_out(iso_72_io_out)
+  );
+  IsoZero iso_73 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235144.4]
+    .io_in(iso_73_io_in),
+    .io_iso(iso_73_io_iso),
+    .io_out(iso_73_io_out)
+  );
+  IsoZero iso_74 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235148.4]
+    .io_in(iso_74_io_in),
+    .io_iso(iso_74_io_iso),
+    .io_out(iso_74_io_out)
+  );
+  IsoZero iso_75 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235152.4]
+    .io_in(iso_75_io_in),
+    .io_iso(iso_75_io_iso),
+    .io_out(iso_75_io_out)
+  );
+  IsoZero iso_76 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235156.4]
+    .io_in(iso_76_io_in),
+    .io_iso(iso_76_io_iso),
+    .io_out(iso_76_io_out)
+  );
+  IsoZero iso_77 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235160.4]
+    .io_in(iso_77_io_in),
+    .io_iso(iso_77_io_iso),
+    .io_out(iso_77_io_out)
+  );
+  IsoZero iso_78 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235164.4]
+    .io_in(iso_78_io_in),
+    .io_iso(iso_78_io_iso),
+    .io_out(iso_78_io_out)
+  );
+  IsoZero iso_79 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235168.4]
+    .io_in(iso_79_io_in),
+    .io_iso(iso_79_io_iso),
+    .io_out(iso_79_io_out)
+  );
+  IsoZero iso_0_1 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235513.4]
+    .io_in(iso_0_1_io_in),
+    .io_iso(iso_0_1_io_iso),
+    .io_out(iso_0_1_io_out)
+  );
+  IsoZero iso_0_2 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235528.4]
+    .io_in(iso_0_2_io_in),
+    .io_iso(iso_0_2_io_iso),
+    .io_out(iso_0_2_io_out)
+  );
+  IsoZero iso_0_3 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235539.4]
+    .io_in(iso_0_3_io_in),
+    .io_iso(iso_0_3_io_iso),
+    .io_out(iso_0_3_io_out)
+  );
+  IsoZero iso_0_4 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235591.4]
+    .io_in(iso_0_4_io_in),
+    .io_iso(iso_0_4_io_iso),
+    .io_out(iso_0_4_io_out)
+  );
+  IsoZero iso_0_5 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235610.4]
+    .io_in(iso_0_5_io_in),
+    .io_iso(iso_0_5_io_iso),
+    .io_out(iso_0_5_io_out)
+  );
+  IsoZero iso_0_6 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235621.4]
+    .io_in(iso_0_6_io_in),
+    .io_iso(iso_0_6_io_iso),
+    .io_out(iso_0_6_io_out)
+  );
+  assign _T_876 = {auto_in_a_mem_0_data,auto_in_a_mem_0_corrupt}; // @[Isolation.scala 21:66:shc.marmotcaravel.MarmotCaravelConfig.fir@234845.4]
+  assign _T_877 = {auto_in_a_mem_0_address,auto_in_a_mem_0_mask}; // @[Isolation.scala 21:66:shc.marmotcaravel.MarmotCaravelConfig.fir@234846.4]
+  assign _T_878 = {_T_877,_T_876}; // @[Isolation.scala 21:66:shc.marmotcaravel.MarmotCaravelConfig.fir@234847.4]
+  assign _T_879 = {auto_in_a_mem_0_size,auto_in_a_mem_0_source}; // @[Isolation.scala 21:66:shc.marmotcaravel.MarmotCaravelConfig.fir@234848.4]
+  assign _T_880 = {auto_in_a_mem_0_opcode,auto_in_a_mem_0_param}; // @[Isolation.scala 21:66:shc.marmotcaravel.MarmotCaravelConfig.fir@234849.4]
+  assign _T_881 = {_T_880,_T_879}; // @[Isolation.scala 21:66:shc.marmotcaravel.MarmotCaravelConfig.fir@234850.4]
+  assign _T_882 = {_T_881,_T_878}; // @[Isolation.scala 21:66:shc.marmotcaravel.MarmotCaravelConfig.fir@234851.4]
+  assign _T_963 = {iso_1_io_out,iso_0_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235412.4]
+  assign _T_964 = {iso_4_io_out,iso_3_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235413.4]
+  assign _T_965 = {_T_964,iso_2_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235414.4]
+  assign _T_966 = {_T_965,_T_963}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235415.4]
+  assign _T_967 = {iso_6_io_out,iso_5_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235416.4]
+  assign _T_968 = {iso_9_io_out,iso_8_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235417.4]
+  assign _T_969 = {_T_968,iso_7_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235418.4]
+  assign _T_970 = {_T_969,_T_967}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235419.4]
+  assign _T_971 = {_T_970,_T_966}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235420.4]
+  assign _T_972 = {iso_11_io_out,iso_10_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235421.4]
+  assign _T_973 = {iso_14_io_out,iso_13_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235422.4]
+  assign _T_974 = {_T_973,iso_12_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235423.4]
+  assign _T_975 = {_T_974,_T_972}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235424.4]
+  assign _T_976 = {iso_16_io_out,iso_15_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235425.4]
+  assign _T_977 = {iso_19_io_out,iso_18_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235426.4]
+  assign _T_978 = {_T_977,iso_17_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235427.4]
+  assign _T_979 = {_T_978,_T_976}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235428.4]
+  assign _T_980 = {_T_979,_T_975}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235429.4]
+  assign _T_981 = {_T_980,_T_971}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235430.4]
+  assign _T_982 = {iso_21_io_out,iso_20_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235431.4]
+  assign _T_983 = {iso_24_io_out,iso_23_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235432.4]
+  assign _T_984 = {_T_983,iso_22_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235433.4]
+  assign _T_985 = {_T_984,_T_982}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235434.4]
+  assign _T_986 = {iso_26_io_out,iso_25_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235435.4]
+  assign _T_987 = {iso_29_io_out,iso_28_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235436.4]
+  assign _T_988 = {_T_987,iso_27_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235437.4]
+  assign _T_989 = {_T_988,_T_986}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235438.4]
+  assign _T_990 = {_T_989,_T_985}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235439.4]
+  assign _T_991 = {iso_31_io_out,iso_30_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235440.4]
+  assign _T_992 = {iso_34_io_out,iso_33_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235441.4]
+  assign _T_993 = {_T_992,iso_32_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235442.4]
+  assign _T_994 = {_T_993,_T_991}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235443.4]
+  assign _T_995 = {iso_36_io_out,iso_35_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235444.4]
+  assign _T_996 = {iso_39_io_out,iso_38_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235445.4]
+  assign _T_997 = {_T_996,iso_37_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235446.4]
+  assign _T_998 = {_T_997,_T_995}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235447.4]
+  assign _T_999 = {_T_998,_T_994}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235448.4]
+  assign _T_1000 = {_T_999,_T_990}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235449.4]
+  assign _T_1001 = {_T_1000,_T_981}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235450.4]
+  assign _T_1002 = {iso_41_io_out,iso_40_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235451.4]
+  assign _T_1003 = {iso_44_io_out,iso_43_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235452.4]
+  assign _T_1004 = {_T_1003,iso_42_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235453.4]
+  assign _T_1005 = {_T_1004,_T_1002}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235454.4]
+  assign _T_1006 = {iso_46_io_out,iso_45_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235455.4]
+  assign _T_1007 = {iso_49_io_out,iso_48_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235456.4]
+  assign _T_1008 = {_T_1007,iso_47_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235457.4]
+  assign _T_1009 = {_T_1008,_T_1006}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235458.4]
+  assign _T_1010 = {_T_1009,_T_1005}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235459.4]
+  assign _T_1011 = {iso_51_io_out,iso_50_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235460.4]
+  assign _T_1012 = {iso_54_io_out,iso_53_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235461.4]
+  assign _T_1013 = {_T_1012,iso_52_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235462.4]
+  assign _T_1014 = {_T_1013,_T_1011}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235463.4]
+  assign _T_1015 = {iso_56_io_out,iso_55_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235464.4]
+  assign _T_1016 = {iso_59_io_out,iso_58_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235465.4]
+  assign _T_1017 = {_T_1016,iso_57_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235466.4]
+  assign _T_1018 = {_T_1017,_T_1015}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235467.4]
+  assign _T_1019 = {_T_1018,_T_1014}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235468.4]
+  assign _T_1020 = {_T_1019,_T_1010}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235469.4]
+  assign _T_1021 = {iso_61_io_out,iso_60_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235470.4]
+  assign _T_1022 = {iso_64_io_out,iso_63_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235471.4]
+  assign _T_1023 = {_T_1022,iso_62_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235472.4]
+  assign _T_1024 = {_T_1023,_T_1021}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235473.4]
+  assign _T_1025 = {iso_66_io_out,iso_65_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235474.4]
+  assign _T_1026 = {iso_69_io_out,iso_68_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235475.4]
+  assign _T_1027 = {_T_1026,iso_67_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235476.4]
+  assign _T_1028 = {_T_1027,_T_1025}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235477.4]
+  assign _T_1029 = {_T_1028,_T_1024}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235478.4]
+  assign _T_1030 = {iso_71_io_out,iso_70_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235479.4]
+  assign _T_1031 = {iso_74_io_out,iso_73_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235480.4]
+  assign _T_1032 = {_T_1031,iso_72_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235481.4]
+  assign _T_1033 = {_T_1032,_T_1030}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235482.4]
+  assign _T_1034 = {iso_76_io_out,iso_75_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235483.4]
+  assign _T_1035 = {iso_79_io_out,iso_78_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235484.4]
+  assign _T_1036 = {_T_1035,iso_77_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235485.4]
+  assign _T_1037 = {_T_1036,_T_1034}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235486.4]
+  assign _T_1038 = {_T_1037,_T_1033}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235487.4]
+  assign _T_1039 = {_T_1038,_T_1029}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235488.4]
+  assign _T_1040 = {_T_1039,_T_1020}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235489.4]
+  assign _T_1041 = {_T_1040,_T_1001}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235490.4]
+  assign _T_1081 = {auto_out_d_mem_0_data,1'h0}; // @[Isolation.scala 22:66:shc.marmotcaravel.MarmotCaravelConfig.fir@235558.4]
+  assign _T_1083 = {2'h0,_T_1081}; // @[Isolation.scala 22:66:shc.marmotcaravel.MarmotCaravelConfig.fir@235560.4]
+  assign _T_1084 = {auto_out_d_mem_0_size,auto_out_d_mem_0_source}; // @[Isolation.scala 22:66:shc.marmotcaravel.MarmotCaravelConfig.fir@235561.4]
+  assign _T_1085 = {auto_out_d_mem_0_opcode,2'h0}; // @[Isolation.scala 22:66:shc.marmotcaravel.MarmotCaravelConfig.fir@235562.4]
+  assign _T_1086 = {_T_1085,_T_1084}; // @[Isolation.scala 22:66:shc.marmotcaravel.MarmotCaravelConfig.fir@235563.4]
+  assign _T_1087 = {_T_1086,_T_1083}; // @[Isolation.scala 22:66:shc.marmotcaravel.MarmotCaravelConfig.fir@235564.4]
+  assign auto_in_a_ridx = auto_out_a_ridx; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@234844.4]
+  assign auto_in_a_safe_ridx_valid = auto_out_a_safe_ridx_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@234844.4]
+  assign auto_in_a_safe_sink_reset_n = auto_out_a_safe_sink_reset_n; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@234844.4]
+  assign auto_in_d_mem_0_opcode = _T_1087[47:45]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@234844.4]
+  assign auto_in_d_mem_0_param = _T_1087[44:43]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@234844.4]
+  assign auto_in_d_mem_0_size = _T_1087[42:41]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@234844.4]
+  assign auto_in_d_mem_0_source = _T_1087[40:35]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@234844.4]
+  assign auto_in_d_mem_0_sink = _T_1087[34]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@234844.4]
+  assign auto_in_d_mem_0_denied = _T_1087[33]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@234844.4]
+  assign auto_in_d_mem_0_data = _T_1087[32:1]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@234844.4]
+  assign auto_in_d_mem_0_corrupt = _T_1087[0]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@234844.4]
+  assign auto_in_d_widx = auto_out_d_widx; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@234844.4]
+  assign auto_in_d_safe_widx_valid = auto_out_d_safe_widx_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@234844.4]
+  assign auto_in_d_safe_source_reset_n = auto_out_d_safe_source_reset_n; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@234844.4]
+  assign auto_out_a_mem_0_opcode = _T_1041[79:77]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@234843.4]
+  assign auto_out_a_mem_0_param = _T_1041[76:74]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@234843.4]
+  assign auto_out_a_mem_0_size = _T_1041[73:72]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@234843.4]
+  assign auto_out_a_mem_0_source = _T_1041[71:66]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@234843.4]
+  assign auto_out_a_mem_0_address = _T_1041[65:37]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@234843.4]
+  assign auto_out_a_mem_0_mask = _T_1041[36:33]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@234843.4]
+  assign auto_out_a_mem_0_data = _T_1041[32:1]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@234843.4]
+  assign auto_out_a_mem_0_corrupt = _T_1041[0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@234843.4]
+  assign auto_out_a_widx = iso_0_1_io_out; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@234843.4]
+  assign auto_out_a_safe_widx_valid = iso_0_2_io_out; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@234843.4]
+  assign auto_out_a_safe_source_reset_n = iso_0_3_io_out; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@234843.4]
+  assign auto_out_d_ridx = iso_0_4_io_out; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@234843.4]
+  assign auto_out_d_safe_ridx_valid = iso_0_5_io_out; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@234843.4]
+  assign auto_out_d_safe_sink_reset_n = iso_0_6_io_out; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@234843.4]
+  assign iso_0_io_in = _T_882[0]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235173.4]
+  assign iso_0_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235174.4]
+  assign iso_1_io_in = _T_882[1]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235176.4]
+  assign iso_1_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235177.4]
+  assign iso_2_io_in = _T_882[2]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235179.4]
+  assign iso_2_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235180.4]
+  assign iso_3_io_in = _T_882[3]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235182.4]
+  assign iso_3_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235183.4]
+  assign iso_4_io_in = _T_882[4]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235185.4]
+  assign iso_4_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235186.4]
+  assign iso_5_io_in = _T_882[5]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235188.4]
+  assign iso_5_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235189.4]
+  assign iso_6_io_in = _T_882[6]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235191.4]
+  assign iso_6_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235192.4]
+  assign iso_7_io_in = _T_882[7]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235194.4]
+  assign iso_7_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235195.4]
+  assign iso_8_io_in = _T_882[8]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235197.4]
+  assign iso_8_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235198.4]
+  assign iso_9_io_in = _T_882[9]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235200.4]
+  assign iso_9_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235201.4]
+  assign iso_10_io_in = _T_882[10]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235203.4]
+  assign iso_10_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235204.4]
+  assign iso_11_io_in = _T_882[11]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235206.4]
+  assign iso_11_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235207.4]
+  assign iso_12_io_in = _T_882[12]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235209.4]
+  assign iso_12_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235210.4]
+  assign iso_13_io_in = _T_882[13]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235212.4]
+  assign iso_13_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235213.4]
+  assign iso_14_io_in = _T_882[14]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235215.4]
+  assign iso_14_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235216.4]
+  assign iso_15_io_in = _T_882[15]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235218.4]
+  assign iso_15_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235219.4]
+  assign iso_16_io_in = _T_882[16]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235221.4]
+  assign iso_16_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235222.4]
+  assign iso_17_io_in = _T_882[17]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235224.4]
+  assign iso_17_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235225.4]
+  assign iso_18_io_in = _T_882[18]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235227.4]
+  assign iso_18_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235228.4]
+  assign iso_19_io_in = _T_882[19]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235230.4]
+  assign iso_19_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235231.4]
+  assign iso_20_io_in = _T_882[20]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235233.4]
+  assign iso_20_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235234.4]
+  assign iso_21_io_in = _T_882[21]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235236.4]
+  assign iso_21_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235237.4]
+  assign iso_22_io_in = _T_882[22]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235239.4]
+  assign iso_22_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235240.4]
+  assign iso_23_io_in = _T_882[23]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235242.4]
+  assign iso_23_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235243.4]
+  assign iso_24_io_in = _T_882[24]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235245.4]
+  assign iso_24_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235246.4]
+  assign iso_25_io_in = _T_882[25]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235248.4]
+  assign iso_25_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235249.4]
+  assign iso_26_io_in = _T_882[26]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235251.4]
+  assign iso_26_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235252.4]
+  assign iso_27_io_in = _T_882[27]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235254.4]
+  assign iso_27_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235255.4]
+  assign iso_28_io_in = _T_882[28]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235257.4]
+  assign iso_28_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235258.4]
+  assign iso_29_io_in = _T_882[29]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235260.4]
+  assign iso_29_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235261.4]
+  assign iso_30_io_in = _T_882[30]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235263.4]
+  assign iso_30_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235264.4]
+  assign iso_31_io_in = _T_882[31]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235266.4]
+  assign iso_31_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235267.4]
+  assign iso_32_io_in = _T_882[32]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235269.4]
+  assign iso_32_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235270.4]
+  assign iso_33_io_in = _T_882[33]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235272.4]
+  assign iso_33_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235273.4]
+  assign iso_34_io_in = _T_882[34]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235275.4]
+  assign iso_34_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235276.4]
+  assign iso_35_io_in = _T_882[35]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235278.4]
+  assign iso_35_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235279.4]
+  assign iso_36_io_in = _T_882[36]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235281.4]
+  assign iso_36_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235282.4]
+  assign iso_37_io_in = _T_882[37]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235284.4]
+  assign iso_37_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235285.4]
+  assign iso_38_io_in = _T_882[38]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235287.4]
+  assign iso_38_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235288.4]
+  assign iso_39_io_in = _T_882[39]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235290.4]
+  assign iso_39_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235291.4]
+  assign iso_40_io_in = _T_882[40]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235293.4]
+  assign iso_40_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235294.4]
+  assign iso_41_io_in = _T_882[41]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235296.4]
+  assign iso_41_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235297.4]
+  assign iso_42_io_in = _T_882[42]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235299.4]
+  assign iso_42_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235300.4]
+  assign iso_43_io_in = _T_882[43]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235302.4]
+  assign iso_43_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235303.4]
+  assign iso_44_io_in = _T_882[44]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235305.4]
+  assign iso_44_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235306.4]
+  assign iso_45_io_in = _T_882[45]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235308.4]
+  assign iso_45_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235309.4]
+  assign iso_46_io_in = _T_882[46]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235311.4]
+  assign iso_46_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235312.4]
+  assign iso_47_io_in = _T_882[47]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235314.4]
+  assign iso_47_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235315.4]
+  assign iso_48_io_in = _T_882[48]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235317.4]
+  assign iso_48_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235318.4]
+  assign iso_49_io_in = _T_882[49]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235320.4]
+  assign iso_49_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235321.4]
+  assign iso_50_io_in = _T_882[50]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235323.4]
+  assign iso_50_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235324.4]
+  assign iso_51_io_in = _T_882[51]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235326.4]
+  assign iso_51_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235327.4]
+  assign iso_52_io_in = _T_882[52]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235329.4]
+  assign iso_52_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235330.4]
+  assign iso_53_io_in = _T_882[53]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235332.4]
+  assign iso_53_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235333.4]
+  assign iso_54_io_in = _T_882[54]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235335.4]
+  assign iso_54_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235336.4]
+  assign iso_55_io_in = _T_882[55]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235338.4]
+  assign iso_55_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235339.4]
+  assign iso_56_io_in = _T_882[56]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235341.4]
+  assign iso_56_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235342.4]
+  assign iso_57_io_in = _T_882[57]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235344.4]
+  assign iso_57_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235345.4]
+  assign iso_58_io_in = _T_882[58]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235347.4]
+  assign iso_58_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235348.4]
+  assign iso_59_io_in = _T_882[59]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235350.4]
+  assign iso_59_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235351.4]
+  assign iso_60_io_in = _T_882[60]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235353.4]
+  assign iso_60_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235354.4]
+  assign iso_61_io_in = _T_882[61]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235356.4]
+  assign iso_61_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235357.4]
+  assign iso_62_io_in = _T_882[62]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235359.4]
+  assign iso_62_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235360.4]
+  assign iso_63_io_in = _T_882[63]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235362.4]
+  assign iso_63_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235363.4]
+  assign iso_64_io_in = _T_882[64]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235365.4]
+  assign iso_64_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235366.4]
+  assign iso_65_io_in = _T_882[65]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235368.4]
+  assign iso_65_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235369.4]
+  assign iso_66_io_in = _T_882[66]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235371.4]
+  assign iso_66_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235372.4]
+  assign iso_67_io_in = _T_882[67]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235374.4]
+  assign iso_67_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235375.4]
+  assign iso_68_io_in = _T_882[68]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235377.4]
+  assign iso_68_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235378.4]
+  assign iso_69_io_in = _T_882[69]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235380.4]
+  assign iso_69_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235381.4]
+  assign iso_70_io_in = _T_882[70]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235383.4]
+  assign iso_70_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235384.4]
+  assign iso_71_io_in = _T_882[71]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235386.4]
+  assign iso_71_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235387.4]
+  assign iso_72_io_in = _T_882[72]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235389.4]
+  assign iso_72_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235390.4]
+  assign iso_73_io_in = _T_882[73]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235392.4]
+  assign iso_73_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235393.4]
+  assign iso_74_io_in = _T_882[74]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235395.4]
+  assign iso_74_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235396.4]
+  assign iso_75_io_in = _T_882[75]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235398.4]
+  assign iso_75_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235399.4]
+  assign iso_76_io_in = _T_882[76]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235401.4]
+  assign iso_76_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235402.4]
+  assign iso_77_io_in = _T_882[77]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235404.4]
+  assign iso_77_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235405.4]
+  assign iso_78_io_in = _T_882[78]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235407.4]
+  assign iso_78_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235408.4]
+  assign iso_79_io_in = _T_882[79]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235410.4]
+  assign iso_79_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235411.4]
+  assign iso_0_1_io_in = auto_in_a_widx; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235518.4]
+  assign iso_0_1_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235519.4]
+  assign iso_0_2_io_in = auto_in_a_safe_widx_valid; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235533.4]
+  assign iso_0_2_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235534.4]
+  assign iso_0_3_io_in = auto_in_a_safe_source_reset_n; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235544.4]
+  assign iso_0_3_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235545.4]
+  assign iso_0_4_io_in = auto_in_d_ridx; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235596.4]
+  assign iso_0_4_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235597.4]
+  assign iso_0_5_io_in = auto_in_d_safe_ridx_valid; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235615.4]
+  assign iso_0_5_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235616.4]
+  assign iso_0_6_io_in = auto_in_d_safe_sink_reset_n; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235626.4]
+  assign iso_0_6_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235627.4]
+endmodule
+module SynchronizerShiftReg_w80_d1( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@235803.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@235804.4]
+  input  [79:0] io_d, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@235806.4]
+  output [79:0] io_q // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@235806.4]
+);
+  reg [79:0] sync_0; // @[ShiftReg.scala 114:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235811.4]
+  reg [95:0] _RAND_0;
+  assign io_q = sync_0; // @[ShiftReg.scala 123:8:shc.marmotcaravel.MarmotCaravelConfig.fir@235813.4]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {3{`RANDOM}};
+  sync_0 = _RAND_0[79:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    sync_0 <= io_d;
+  end
+endmodule
+module AsyncQueueSink_4( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236279.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236280.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236281.4]
+  input         io_deq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236282.4]
+  output        io_deq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236282.4]
+  output [2:0]  io_deq_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236282.4]
+  output [2:0]  io_deq_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236282.4]
+  output [1:0]  io_deq_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236282.4]
+  output [5:0]  io_deq_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236282.4]
+  output [28:0] io_deq_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236282.4]
+  output [3:0]  io_deq_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236282.4]
+  output [31:0] io_deq_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236282.4]
+  output        io_deq_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236282.4]
+  input  [2:0]  io_async_mem_0_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236282.4]
+  input  [2:0]  io_async_mem_0_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236282.4]
+  input  [1:0]  io_async_mem_0_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236282.4]
+  input  [5:0]  io_async_mem_0_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236282.4]
+  input  [28:0] io_async_mem_0_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236282.4]
+  input  [3:0]  io_async_mem_0_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236282.4]
+  input  [31:0] io_async_mem_0_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236282.4]
+  input         io_async_mem_0_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236282.4]
+  output        io_async_ridx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236282.4]
+  input         io_async_widx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236282.4]
+  output        io_async_safe_ridx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236282.4]
+  input         io_async_safe_widx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236282.4]
+  input         io_async_safe_source_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236282.4]
+  output        io_async_safe_sink_reset_n // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236282.4]
+);
+  wire  ridx_bin_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@236289.4]
+  wire  ridx_bin_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@236289.4]
+  wire  ridx_bin_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@236289.4]
+  wire  ridx_bin_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@236289.4]
+  wire  ridx_bin_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@236289.4]
+  wire  widx_gray_clock; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@236301.4]
+  wire  widx_gray_reset; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@236301.4]
+  wire  widx_gray_io_d; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@236301.4]
+  wire  widx_gray_io_q; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@236301.4]
+  wire  deq_bits_reg_clock; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@236312.4]
+  wire [79:0] deq_bits_reg_io_d; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@236312.4]
+  wire [79:0] deq_bits_reg_io_q; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@236312.4]
+  wire  valid_reg_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@236353.4]
+  wire  valid_reg_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@236353.4]
+  wire  valid_reg_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@236353.4]
+  wire  valid_reg_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@236353.4]
+  wire  valid_reg_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@236353.4]
+  wire  ridx_gray_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@236362.4]
+  wire  ridx_gray_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@236362.4]
+  wire  ridx_gray_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@236362.4]
+  wire  ridx_gray_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@236362.4]
+  wire  ridx_gray_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@236362.4]
+  wire  AsyncValidSync_clock; // @[AsyncQueue.scala 154:31:shc.marmotcaravel.MarmotCaravelConfig.fir@236369.4]
+  wire  AsyncValidSync_reset; // @[AsyncQueue.scala 154:31:shc.marmotcaravel.MarmotCaravelConfig.fir@236369.4]
+  wire  AsyncValidSync_io_out; // @[AsyncQueue.scala 154:31:shc.marmotcaravel.MarmotCaravelConfig.fir@236369.4]
+  wire  AsyncValidSync_1_clock; // @[AsyncQueue.scala 155:31:shc.marmotcaravel.MarmotCaravelConfig.fir@236372.4]
+  wire  AsyncValidSync_1_reset; // @[AsyncQueue.scala 155:31:shc.marmotcaravel.MarmotCaravelConfig.fir@236372.4]
+  wire  AsyncValidSync_1_io_in; // @[AsyncQueue.scala 155:31:shc.marmotcaravel.MarmotCaravelConfig.fir@236372.4]
+  wire  AsyncValidSync_1_io_out; // @[AsyncQueue.scala 155:31:shc.marmotcaravel.MarmotCaravelConfig.fir@236372.4]
+  wire  AsyncValidSync_2_clock; // @[AsyncQueue.scala 156:31:shc.marmotcaravel.MarmotCaravelConfig.fir@236375.4]
+  wire  AsyncValidSync_2_reset; // @[AsyncQueue.scala 156:31:shc.marmotcaravel.MarmotCaravelConfig.fir@236375.4]
+  wire  AsyncValidSync_2_io_in; // @[AsyncQueue.scala 156:31:shc.marmotcaravel.MarmotCaravelConfig.fir@236375.4]
+  wire  AsyncValidSync_2_io_out; // @[AsyncQueue.scala 156:31:shc.marmotcaravel.MarmotCaravelConfig.fir@236375.4]
+  wire  AsyncResetRegVec_w1_i0_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@236404.4]
+  wire  AsyncResetRegVec_w1_i0_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@236404.4]
+  wire  AsyncResetRegVec_w1_i0_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@236404.4]
+  wire  AsyncResetRegVec_w1_i0_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@236404.4]
+  wire  AsyncResetRegVec_w1_i0_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@236404.4]
+  wire  _T_58; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@236286.4]
+  wire  source_ready; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236284.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@236285.4 AsyncQueue.scala 164:18:shc.marmotcaravel.MarmotCaravelConfig.fir@236390.4]
+  wire  _T_59; // @[AsyncQueue.scala 130:49:shc.marmotcaravel.MarmotCaravelConfig.fir@236287.4]
+  wire  _T_63; // @[AsyncQueue.scala 53:43:shc.marmotcaravel.MarmotCaravelConfig.fir@236296.4]
+  wire  ridx; // @[AsyncQueue.scala 53:23:shc.marmotcaravel.MarmotCaravelConfig.fir@236297.4]
+  wire  widx; // @[ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@236306.4 ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@236308.4]
+  wire  _T_67; // @[AsyncQueue.scala 132:36:shc.marmotcaravel.MarmotCaravelConfig.fir@236309.4]
+  wire  valid; // @[AsyncQueue.scala 132:28:shc.marmotcaravel.MarmotCaravelConfig.fir@236310.4]
+  wire [2:0] deq_bits_nxt_opcode; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@236311.4]
+  wire [2:0] deq_bits_nxt_param; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@236311.4]
+  wire [1:0] deq_bits_nxt_size; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@236311.4]
+  wire [5:0] deq_bits_nxt_source; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@236311.4]
+  wire [28:0] deq_bits_nxt_address; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@236311.4]
+  wire [3:0] deq_bits_nxt_mask; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@236311.4]
+  wire [31:0] deq_bits_nxt_data; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@236311.4]
+  wire  deq_bits_nxt_corrupt; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@236311.4]
+  wire [32:0] _T_69; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@236316.4]
+  wire [32:0] _T_70; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@236317.4]
+  wire [65:0] _T_71; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@236318.4]
+  wire [7:0] _T_72; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@236319.4]
+  wire [5:0] _T_73; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@236320.4]
+  wire [13:0] _T_74; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@236321.4]
+  wire [79:0] _T_79; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236326.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@236328.4]
+  wire  valid_reg_1; // @[AsyncQueue.scala 147:59:shc.marmotcaravel.MarmotCaravelConfig.fir@236359.4]
+  wire  _T_90; // @[AsyncQueue.scala 157:44:shc.marmotcaravel.MarmotCaravelConfig.fir@236379.4]
+  AsyncResetRegVec_w1_i0 ridx_bin ( // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@236289.4]
+    .clock(ridx_bin_clock),
+    .reset(ridx_bin_reset),
+    .io_d(ridx_bin_io_d),
+    .io_q(ridx_bin_io_q),
+    .io_en(ridx_bin_io_en)
+  );
+  AsyncResetSynchronizerShiftReg_w1_d3_i0 widx_gray ( // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@236301.4]
+    .clock(widx_gray_clock),
+    .reset(widx_gray_reset),
+    .io_d(widx_gray_io_d),
+    .io_q(widx_gray_io_q)
+  );
+  SynchronizerShiftReg_w80_d1 deq_bits_reg ( // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@236312.4]
+    .clock(deq_bits_reg_clock),
+    .io_d(deq_bits_reg_io_d),
+    .io_q(deq_bits_reg_io_q)
+  );
+  AsyncResetRegVec_w1_i0 valid_reg ( // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@236353.4]
+    .clock(valid_reg_clock),
+    .reset(valid_reg_reset),
+    .io_d(valid_reg_io_d),
+    .io_q(valid_reg_io_q),
+    .io_en(valid_reg_io_en)
+  );
+  AsyncResetRegVec_w1_i0 ridx_gray ( // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@236362.4]
+    .clock(ridx_gray_clock),
+    .reset(ridx_gray_reset),
+    .io_d(ridx_gray_io_d),
+    .io_q(ridx_gray_io_q),
+    .io_en(ridx_gray_io_en)
+  );
+  AsyncValidSync AsyncValidSync ( // @[AsyncQueue.scala 154:31:shc.marmotcaravel.MarmotCaravelConfig.fir@236369.4]
+    .clock(AsyncValidSync_clock),
+    .reset(AsyncValidSync_reset),
+    .io_out(AsyncValidSync_io_out)
+  );
+  AsyncValidSync_1 AsyncValidSync_1 ( // @[AsyncQueue.scala 155:31:shc.marmotcaravel.MarmotCaravelConfig.fir@236372.4]
+    .clock(AsyncValidSync_1_clock),
+    .reset(AsyncValidSync_1_reset),
+    .io_in(AsyncValidSync_1_io_in),
+    .io_out(AsyncValidSync_1_io_out)
+  );
+  AsyncValidSync_2 AsyncValidSync_2 ( // @[AsyncQueue.scala 156:31:shc.marmotcaravel.MarmotCaravelConfig.fir@236375.4]
+    .clock(AsyncValidSync_2_clock),
+    .reset(AsyncValidSync_2_reset),
+    .io_in(AsyncValidSync_2_io_in),
+    .io_out(AsyncValidSync_2_io_out)
+  );
+  AsyncResetRegVec_w1_i0 AsyncResetRegVec_w1_i0 ( // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@236404.4]
+    .clock(AsyncResetRegVec_w1_i0_clock),
+    .reset(AsyncResetRegVec_w1_i0_reset),
+    .io_d(AsyncResetRegVec_w1_i0_io_d),
+    .io_q(AsyncResetRegVec_w1_i0_io_q),
+    .io_en(AsyncResetRegVec_w1_i0_io_en)
+  );
+  assign _T_58 = io_deq_ready & io_deq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@236286.4]
+  assign source_ready = AsyncValidSync_2_io_out; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236284.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@236285.4 AsyncQueue.scala 164:18:shc.marmotcaravel.MarmotCaravelConfig.fir@236390.4]
+  assign _T_59 = source_ready == 1'h0; // @[AsyncQueue.scala 130:49:shc.marmotcaravel.MarmotCaravelConfig.fir@236287.4]
+  assign _T_63 = ridx_bin_io_q + _T_58; // @[AsyncQueue.scala 53:43:shc.marmotcaravel.MarmotCaravelConfig.fir@236296.4]
+  assign ridx = _T_59 ? 1'h0 : _T_63; // @[AsyncQueue.scala 53:23:shc.marmotcaravel.MarmotCaravelConfig.fir@236297.4]
+  assign widx = widx_gray_io_q; // @[ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@236306.4 ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@236308.4]
+  assign _T_67 = ridx != widx; // @[AsyncQueue.scala 132:36:shc.marmotcaravel.MarmotCaravelConfig.fir@236309.4]
+  assign valid = source_ready & _T_67; // @[AsyncQueue.scala 132:28:shc.marmotcaravel.MarmotCaravelConfig.fir@236310.4]
+  assign deq_bits_nxt_opcode = valid ? io_async_mem_0_opcode : io_deq_bits_opcode; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@236311.4]
+  assign deq_bits_nxt_param = valid ? io_async_mem_0_param : io_deq_bits_param; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@236311.4]
+  assign deq_bits_nxt_size = valid ? io_async_mem_0_size : io_deq_bits_size; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@236311.4]
+  assign deq_bits_nxt_source = valid ? io_async_mem_0_source : io_deq_bits_source; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@236311.4]
+  assign deq_bits_nxt_address = valid ? io_async_mem_0_address : io_deq_bits_address; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@236311.4]
+  assign deq_bits_nxt_mask = valid ? io_async_mem_0_mask : io_deq_bits_mask; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@236311.4]
+  assign deq_bits_nxt_data = valid ? io_async_mem_0_data : io_deq_bits_data; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@236311.4]
+  assign deq_bits_nxt_corrupt = valid ? io_async_mem_0_corrupt : io_deq_bits_corrupt; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@236311.4]
+  assign _T_69 = {deq_bits_nxt_data,deq_bits_nxt_corrupt}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@236316.4]
+  assign _T_70 = {deq_bits_nxt_address,deq_bits_nxt_mask}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@236317.4]
+  assign _T_71 = {_T_70,_T_69}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@236318.4]
+  assign _T_72 = {deq_bits_nxt_size,deq_bits_nxt_source}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@236319.4]
+  assign _T_73 = {deq_bits_nxt_opcode,deq_bits_nxt_param}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@236320.4]
+  assign _T_74 = {_T_73,_T_72}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@236321.4]
+  assign _T_79 = deq_bits_reg_io_q; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236326.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@236328.4]
+  assign valid_reg_1 = valid_reg_io_q; // @[AsyncQueue.scala 147:59:shc.marmotcaravel.MarmotCaravelConfig.fir@236359.4]
+  assign _T_90 = io_async_safe_source_reset_n == 1'h0; // @[AsyncQueue.scala 157:44:shc.marmotcaravel.MarmotCaravelConfig.fir@236379.4]
+  assign io_deq_valid = valid_reg_1 & source_ready; // @[AsyncQueue.scala 148:16:shc.marmotcaravel.MarmotCaravelConfig.fir@236361.4]
+  assign io_deq_bits_opcode = _T_79[79:77]; // @[AsyncQueue.scala 145:15:shc.marmotcaravel.MarmotCaravelConfig.fir@236352.4]
+  assign io_deq_bits_param = _T_79[76:74]; // @[AsyncQueue.scala 145:15:shc.marmotcaravel.MarmotCaravelConfig.fir@236351.4]
+  assign io_deq_bits_size = _T_79[73:72]; // @[AsyncQueue.scala 145:15:shc.marmotcaravel.MarmotCaravelConfig.fir@236350.4]
+  assign io_deq_bits_source = _T_79[71:66]; // @[AsyncQueue.scala 145:15:shc.marmotcaravel.MarmotCaravelConfig.fir@236349.4]
+  assign io_deq_bits_address = _T_79[65:37]; // @[AsyncQueue.scala 145:15:shc.marmotcaravel.MarmotCaravelConfig.fir@236348.4]
+  assign io_deq_bits_mask = _T_79[36:33]; // @[AsyncQueue.scala 145:15:shc.marmotcaravel.MarmotCaravelConfig.fir@236347.4]
+  assign io_deq_bits_data = _T_79[32:1]; // @[AsyncQueue.scala 145:15:shc.marmotcaravel.MarmotCaravelConfig.fir@236346.4]
+  assign io_deq_bits_corrupt = _T_79[0]; // @[AsyncQueue.scala 145:15:shc.marmotcaravel.MarmotCaravelConfig.fir@236345.4]
+  assign io_async_ridx = ridx_gray_io_q; // @[AsyncQueue.scala 151:17:shc.marmotcaravel.MarmotCaravelConfig.fir@236368.4]
+  assign io_async_safe_ridx_valid = AsyncValidSync_io_out; // @[AsyncQueue.scala 161:20:shc.marmotcaravel.MarmotCaravelConfig.fir@236387.4]
+  assign io_async_safe_sink_reset_n = reset == 1'h0; // @[AsyncQueue.scala 165:22:shc.marmotcaravel.MarmotCaravelConfig.fir@236393.4]
+  assign ridx_bin_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236291.4]
+  assign ridx_bin_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236292.4]
+  assign ridx_bin_io_d = _T_59 ? 1'h0 : _T_63; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@236293.4]
+  assign ridx_bin_io_en = 1'h1; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@236294.4]
+  assign widx_gray_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236303.4]
+  assign widx_gray_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236304.4]
+  assign widx_gray_io_d = io_async_widx; // @[ShiftReg.scala 49:16:shc.marmotcaravel.MarmotCaravelConfig.fir@236305.4]
+  assign deq_bits_reg_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236314.4]
+  assign deq_bits_reg_io_d = {_T_74,_T_71}; // @[ShiftReg.scala 49:16:shc.marmotcaravel.MarmotCaravelConfig.fir@236323.4]
+  assign valid_reg_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236355.4]
+  assign valid_reg_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236356.4]
+  assign valid_reg_io_d = source_ready & _T_67; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@236357.4]
+  assign valid_reg_io_en = 1'h1; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@236358.4]
+  assign ridx_gray_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236364.4]
+  assign ridx_gray_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236365.4]
+  assign ridx_gray_io_d = _T_59 ? 1'h0 : _T_63; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@236366.4]
+  assign ridx_gray_io_en = 1'h1; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@236367.4]
+  assign AsyncValidSync_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236370.4]
+  assign AsyncValidSync_reset = reset | _T_90; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236371.4 AsyncQueue.scala 157:25:shc.marmotcaravel.MarmotCaravelConfig.fir@236381.4]
+  assign AsyncValidSync_1_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236373.4]
+  assign AsyncValidSync_1_reset = reset | _T_90; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236374.4 AsyncQueue.scala 158:25:shc.marmotcaravel.MarmotCaravelConfig.fir@236385.4]
+  assign AsyncValidSync_1_io_in = io_async_safe_widx_valid; // @[AsyncQueue.scala 162:25:shc.marmotcaravel.MarmotCaravelConfig.fir@236388.4]
+  assign AsyncValidSync_2_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236376.4]
+  assign AsyncValidSync_2_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236377.4]
+  assign AsyncValidSync_2_io_in = AsyncValidSync_1_io_out; // @[AsyncQueue.scala 163:24:shc.marmotcaravel.MarmotCaravelConfig.fir@236389.4]
+  assign AsyncResetRegVec_w1_i0_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236406.4]
+  assign AsyncResetRegVec_w1_i0_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236407.4]
+  assign AsyncResetRegVec_w1_i0_io_d = io_async_widx == io_async_ridx; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@236408.4]
+  assign AsyncResetRegVec_w1_i0_io_en = 1'h1; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@236409.4]
+endmodule
+module AsyncQueueSource_4( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236996.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236997.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236998.4]
+  output        io_enq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236999.4]
+  input         io_enq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236999.4]
+  input  [2:0]  io_enq_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236999.4]
+  input  [1:0]  io_enq_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236999.4]
+  input  [5:0]  io_enq_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236999.4]
+  input  [31:0] io_enq_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236999.4]
+  output [2:0]  io_async_mem_0_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236999.4]
+  output [1:0]  io_async_mem_0_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236999.4]
+  output [5:0]  io_async_mem_0_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236999.4]
+  output [31:0] io_async_mem_0_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236999.4]
+  input         io_async_ridx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236999.4]
+  output        io_async_widx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236999.4]
+  input         io_async_safe_ridx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236999.4]
+  output        io_async_safe_widx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236999.4]
+  output        io_async_safe_source_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236999.4]
+  input         io_async_safe_sink_reset_n // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236999.4]
+);
+  wire  widx_bin_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@237007.4]
+  wire  widx_bin_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@237007.4]
+  wire  widx_bin_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@237007.4]
+  wire  widx_bin_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@237007.4]
+  wire  widx_bin_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@237007.4]
+  wire  ridx_gray_clock; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@237019.4]
+  wire  ridx_gray_reset; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@237019.4]
+  wire  ridx_gray_io_d; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@237019.4]
+  wire  ridx_gray_io_q; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@237019.4]
+  wire  ready_reg_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@237041.4]
+  wire  ready_reg_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@237041.4]
+  wire  ready_reg_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@237041.4]
+  wire  ready_reg_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@237041.4]
+  wire  ready_reg_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@237041.4]
+  wire  widx_gray_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@237050.4]
+  wire  widx_gray_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@237050.4]
+  wire  widx_gray_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@237050.4]
+  wire  widx_gray_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@237050.4]
+  wire  widx_gray_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@237050.4]
+  wire  AsyncValidSync_clock; // @[AsyncQueue.scala 96:30:shc.marmotcaravel.MarmotCaravelConfig.fir@237065.4]
+  wire  AsyncValidSync_reset; // @[AsyncQueue.scala 96:30:shc.marmotcaravel.MarmotCaravelConfig.fir@237065.4]
+  wire  AsyncValidSync_io_out; // @[AsyncQueue.scala 96:30:shc.marmotcaravel.MarmotCaravelConfig.fir@237065.4]
+  wire  AsyncValidSync_1_clock; // @[AsyncQueue.scala 97:30:shc.marmotcaravel.MarmotCaravelConfig.fir@237068.4]
+  wire  AsyncValidSync_1_reset; // @[AsyncQueue.scala 97:30:shc.marmotcaravel.MarmotCaravelConfig.fir@237068.4]
+  wire  AsyncValidSync_1_io_in; // @[AsyncQueue.scala 97:30:shc.marmotcaravel.MarmotCaravelConfig.fir@237068.4]
+  wire  AsyncValidSync_1_io_out; // @[AsyncQueue.scala 97:30:shc.marmotcaravel.MarmotCaravelConfig.fir@237068.4]
+  wire  AsyncValidSync_2_clock; // @[AsyncQueue.scala 98:30:shc.marmotcaravel.MarmotCaravelConfig.fir@237071.4]
+  wire  AsyncValidSync_2_reset; // @[AsyncQueue.scala 98:30:shc.marmotcaravel.MarmotCaravelConfig.fir@237071.4]
+  wire  AsyncValidSync_2_io_in; // @[AsyncQueue.scala 98:30:shc.marmotcaravel.MarmotCaravelConfig.fir@237071.4]
+  wire  AsyncValidSync_2_io_out; // @[AsyncQueue.scala 98:30:shc.marmotcaravel.MarmotCaravelConfig.fir@237071.4]
+  reg [2:0] mem_0_opcode; // @[AsyncQueue.scala 76:16:shc.marmotcaravel.MarmotCaravelConfig.fir@237003.4]
+  reg [31:0] _RAND_0;
+  reg [1:0] mem_0_size; // @[AsyncQueue.scala 76:16:shc.marmotcaravel.MarmotCaravelConfig.fir@237003.4]
+  reg [31:0] _RAND_1;
+  reg [5:0] mem_0_source; // @[AsyncQueue.scala 76:16:shc.marmotcaravel.MarmotCaravelConfig.fir@237003.4]
+  reg [31:0] _RAND_2;
+  reg [31:0] mem_0_data; // @[AsyncQueue.scala 76:16:shc.marmotcaravel.MarmotCaravelConfig.fir@237003.4]
+  reg [31:0] _RAND_3;
+  wire  _T_43; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@237004.4]
+  wire  sink_ready; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237001.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@237002.4 AsyncQueue.scala 106:16:shc.marmotcaravel.MarmotCaravelConfig.fir@237086.4]
+  wire  _T_44; // @[AsyncQueue.scala 77:49:shc.marmotcaravel.MarmotCaravelConfig.fir@237005.4]
+  wire  _T_48; // @[AsyncQueue.scala 53:43:shc.marmotcaravel.MarmotCaravelConfig.fir@237014.4]
+  wire  widx; // @[AsyncQueue.scala 53:23:shc.marmotcaravel.MarmotCaravelConfig.fir@237015.4]
+  wire  ridx; // @[ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237024.4 ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237026.4]
+  wire  _T_52; // @[AsyncQueue.scala 79:44:shc.marmotcaravel.MarmotCaravelConfig.fir@237027.4]
+  wire  _T_53; // @[AsyncQueue.scala 79:34:shc.marmotcaravel.MarmotCaravelConfig.fir@237028.4]
+  wire  ready_reg_1; // @[AsyncQueue.scala 84:59:shc.marmotcaravel.MarmotCaravelConfig.fir@237047.4]
+  wire  _T_58; // @[AsyncQueue.scala 99:43:shc.marmotcaravel.MarmotCaravelConfig.fir@237075.4]
+  AsyncResetRegVec_w1_i0 widx_bin ( // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@237007.4]
+    .clock(widx_bin_clock),
+    .reset(widx_bin_reset),
+    .io_d(widx_bin_io_d),
+    .io_q(widx_bin_io_q),
+    .io_en(widx_bin_io_en)
+  );
+  AsyncResetSynchronizerShiftReg_w1_d3_i0 ridx_gray ( // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@237019.4]
+    .clock(ridx_gray_clock),
+    .reset(ridx_gray_reset),
+    .io_d(ridx_gray_io_d),
+    .io_q(ridx_gray_io_q)
+  );
+  AsyncResetRegVec_w1_i0 ready_reg ( // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@237041.4]
+    .clock(ready_reg_clock),
+    .reset(ready_reg_reset),
+    .io_d(ready_reg_io_d),
+    .io_q(ready_reg_io_q),
+    .io_en(ready_reg_io_en)
+  );
+  AsyncResetRegVec_w1_i0 widx_gray ( // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@237050.4]
+    .clock(widx_gray_clock),
+    .reset(widx_gray_reset),
+    .io_d(widx_gray_io_d),
+    .io_q(widx_gray_io_q),
+    .io_en(widx_gray_io_en)
+  );
+  AsyncValidSync AsyncValidSync ( // @[AsyncQueue.scala 96:30:shc.marmotcaravel.MarmotCaravelConfig.fir@237065.4]
+    .clock(AsyncValidSync_clock),
+    .reset(AsyncValidSync_reset),
+    .io_out(AsyncValidSync_io_out)
+  );
+  AsyncValidSync_1 AsyncValidSync_1 ( // @[AsyncQueue.scala 97:30:shc.marmotcaravel.MarmotCaravelConfig.fir@237068.4]
+    .clock(AsyncValidSync_1_clock),
+    .reset(AsyncValidSync_1_reset),
+    .io_in(AsyncValidSync_1_io_in),
+    .io_out(AsyncValidSync_1_io_out)
+  );
+  AsyncValidSync_2 AsyncValidSync_2 ( // @[AsyncQueue.scala 98:30:shc.marmotcaravel.MarmotCaravelConfig.fir@237071.4]
+    .clock(AsyncValidSync_2_clock),
+    .reset(AsyncValidSync_2_reset),
+    .io_in(AsyncValidSync_2_io_in),
+    .io_out(AsyncValidSync_2_io_out)
+  );
+  assign _T_43 = io_enq_ready & io_enq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@237004.4]
+  assign sink_ready = AsyncValidSync_2_io_out; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237001.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@237002.4 AsyncQueue.scala 106:16:shc.marmotcaravel.MarmotCaravelConfig.fir@237086.4]
+  assign _T_44 = sink_ready == 1'h0; // @[AsyncQueue.scala 77:49:shc.marmotcaravel.MarmotCaravelConfig.fir@237005.4]
+  assign _T_48 = widx_bin_io_q + _T_43; // @[AsyncQueue.scala 53:43:shc.marmotcaravel.MarmotCaravelConfig.fir@237014.4]
+  assign widx = _T_44 ? 1'h0 : _T_48; // @[AsyncQueue.scala 53:23:shc.marmotcaravel.MarmotCaravelConfig.fir@237015.4]
+  assign ridx = ridx_gray_io_q; // @[ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237024.4 ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237026.4]
+  assign _T_52 = ridx ^ 1'h1; // @[AsyncQueue.scala 79:44:shc.marmotcaravel.MarmotCaravelConfig.fir@237027.4]
+  assign _T_53 = widx != _T_52; // @[AsyncQueue.scala 79:34:shc.marmotcaravel.MarmotCaravelConfig.fir@237028.4]
+  assign ready_reg_1 = ready_reg_io_q; // @[AsyncQueue.scala 84:59:shc.marmotcaravel.MarmotCaravelConfig.fir@237047.4]
+  assign _T_58 = io_async_safe_sink_reset_n == 1'h0; // @[AsyncQueue.scala 99:43:shc.marmotcaravel.MarmotCaravelConfig.fir@237075.4]
+  assign io_enq_ready = ready_reg_1 & sink_ready; // @[AsyncQueue.scala 85:16:shc.marmotcaravel.MarmotCaravelConfig.fir@237049.4]
+  assign io_async_mem_0_opcode = mem_0_opcode; // @[AsyncQueue.scala 92:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237064.4]
+  assign io_async_mem_0_size = mem_0_size; // @[AsyncQueue.scala 92:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237062.4]
+  assign io_async_mem_0_source = mem_0_source; // @[AsyncQueue.scala 92:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237061.4]
+  assign io_async_mem_0_data = mem_0_data; // @[AsyncQueue.scala 92:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237058.4]
+  assign io_async_widx = widx_gray_io_q; // @[AsyncQueue.scala 88:17:shc.marmotcaravel.MarmotCaravelConfig.fir@237056.4]
+  assign io_async_safe_widx_valid = AsyncValidSync_io_out; // @[AsyncQueue.scala 103:20:shc.marmotcaravel.MarmotCaravelConfig.fir@237083.4]
+  assign io_async_safe_source_reset_n = reset == 1'h0; // @[AsyncQueue.scala 107:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237089.4]
+  assign widx_bin_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237009.4]
+  assign widx_bin_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237010.4]
+  assign widx_bin_io_d = _T_44 ? 1'h0 : _T_48; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237011.4]
+  assign widx_bin_io_en = 1'h1; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@237012.4]
+  assign ridx_gray_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237021.4]
+  assign ridx_gray_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237022.4]
+  assign ridx_gray_io_d = io_async_ridx; // @[ShiftReg.scala 49:16:shc.marmotcaravel.MarmotCaravelConfig.fir@237023.4]
+  assign ready_reg_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237043.4]
+  assign ready_reg_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237044.4]
+  assign ready_reg_io_d = sink_ready & _T_53; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237045.4]
+  assign ready_reg_io_en = 1'h1; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@237046.4]
+  assign widx_gray_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237052.4]
+  assign widx_gray_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237053.4]
+  assign widx_gray_io_d = _T_44 ? 1'h0 : _T_48; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237054.4]
+  assign widx_gray_io_en = 1'h1; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@237055.4]
+  assign AsyncValidSync_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237066.4]
+  assign AsyncValidSync_reset = reset | _T_58; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237067.4 AsyncQueue.scala 99:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237077.4]
+  assign AsyncValidSync_1_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237069.4]
+  assign AsyncValidSync_1_reset = reset | _T_58; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237070.4 AsyncQueue.scala 100:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237081.4]
+  assign AsyncValidSync_1_io_in = io_async_safe_ridx_valid; // @[AsyncQueue.scala 104:23:shc.marmotcaravel.MarmotCaravelConfig.fir@237084.4]
+  assign AsyncValidSync_2_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237072.4]
+  assign AsyncValidSync_2_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237073.4]
+  assign AsyncValidSync_2_io_in = AsyncValidSync_1_io_out; // @[AsyncQueue.scala 105:22:shc.marmotcaravel.MarmotCaravelConfig.fir@237085.4]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  mem_0_opcode = _RAND_0[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  mem_0_size = _RAND_1[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  mem_0_source = _RAND_2[5:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  mem_0_data = _RAND_3[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (_T_43) begin
+      mem_0_opcode <= io_enq_bits_opcode;
+    end
+    if (_T_43) begin
+      mem_0_size <= io_enq_bits_size;
+    end
+    if (_T_43) begin
+      mem_0_source <= io_enq_bits_source;
+    end
+    if (_T_43) begin
+      mem_0_data <= io_enq_bits_data;
+    end
+  end
+endmodule
+module TLAsyncCrossingSink_1( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237091.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237092.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237093.4]
+  input  [2:0]  auto_in_a_mem_0_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237094.4]
+  input  [2:0]  auto_in_a_mem_0_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237094.4]
+  input  [1:0]  auto_in_a_mem_0_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237094.4]
+  input  [5:0]  auto_in_a_mem_0_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237094.4]
+  input  [28:0] auto_in_a_mem_0_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237094.4]
+  input  [3:0]  auto_in_a_mem_0_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237094.4]
+  input  [31:0] auto_in_a_mem_0_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237094.4]
+  input         auto_in_a_mem_0_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237094.4]
+  output        auto_in_a_ridx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237094.4]
+  input         auto_in_a_widx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237094.4]
+  output        auto_in_a_safe_ridx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237094.4]
+  input         auto_in_a_safe_widx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237094.4]
+  input         auto_in_a_safe_source_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237094.4]
+  output        auto_in_a_safe_sink_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237094.4]
+  output [2:0]  auto_in_d_mem_0_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237094.4]
+  output [1:0]  auto_in_d_mem_0_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237094.4]
+  output [5:0]  auto_in_d_mem_0_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237094.4]
+  output [31:0] auto_in_d_mem_0_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237094.4]
+  input         auto_in_d_ridx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237094.4]
+  output        auto_in_d_widx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237094.4]
+  input         auto_in_d_safe_ridx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237094.4]
+  output        auto_in_d_safe_widx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237094.4]
+  output        auto_in_d_safe_source_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237094.4]
+  input         auto_in_d_safe_sink_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237094.4]
+  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237094.4]
+  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237094.4]
+  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237094.4]
+  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237094.4]
+  output [1:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237094.4]
+  output [5:0]  auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237094.4]
+  output [28:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237094.4]
+  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237094.4]
+  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237094.4]
+  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237094.4]
+  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237094.4]
+  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237094.4]
+  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237094.4]
+  input  [1:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237094.4]
+  input  [5:0]  auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237094.4]
+  input  [31:0] auto_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237094.4]
+);
+  wire  AsyncQueueSink_clock; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@237105.4]
+  wire  AsyncQueueSink_reset; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@237105.4]
+  wire  AsyncQueueSink_io_deq_ready; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@237105.4]
+  wire  AsyncQueueSink_io_deq_valid; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@237105.4]
+  wire [2:0] AsyncQueueSink_io_deq_bits_opcode; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@237105.4]
+  wire [2:0] AsyncQueueSink_io_deq_bits_param; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@237105.4]
+  wire [1:0] AsyncQueueSink_io_deq_bits_size; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@237105.4]
+  wire [5:0] AsyncQueueSink_io_deq_bits_source; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@237105.4]
+  wire [28:0] AsyncQueueSink_io_deq_bits_address; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@237105.4]
+  wire [3:0] AsyncQueueSink_io_deq_bits_mask; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@237105.4]
+  wire [31:0] AsyncQueueSink_io_deq_bits_data; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@237105.4]
+  wire  AsyncQueueSink_io_deq_bits_corrupt; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@237105.4]
+  wire [2:0] AsyncQueueSink_io_async_mem_0_opcode; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@237105.4]
+  wire [2:0] AsyncQueueSink_io_async_mem_0_param; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@237105.4]
+  wire [1:0] AsyncQueueSink_io_async_mem_0_size; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@237105.4]
+  wire [5:0] AsyncQueueSink_io_async_mem_0_source; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@237105.4]
+  wire [28:0] AsyncQueueSink_io_async_mem_0_address; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@237105.4]
+  wire [3:0] AsyncQueueSink_io_async_mem_0_mask; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@237105.4]
+  wire [31:0] AsyncQueueSink_io_async_mem_0_data; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@237105.4]
+  wire  AsyncQueueSink_io_async_mem_0_corrupt; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@237105.4]
+  wire  AsyncQueueSink_io_async_ridx; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@237105.4]
+  wire  AsyncQueueSink_io_async_widx; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@237105.4]
+  wire  AsyncQueueSink_io_async_safe_ridx_valid; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@237105.4]
+  wire  AsyncQueueSink_io_async_safe_widx_valid; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@237105.4]
+  wire  AsyncQueueSink_io_async_safe_source_reset_n; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@237105.4]
+  wire  AsyncQueueSink_io_async_safe_sink_reset_n; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@237105.4]
+  wire  AsyncQueueSource_clock; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237116.4]
+  wire  AsyncQueueSource_reset; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237116.4]
+  wire  AsyncQueueSource_io_enq_ready; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237116.4]
+  wire  AsyncQueueSource_io_enq_valid; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237116.4]
+  wire [2:0] AsyncQueueSource_io_enq_bits_opcode; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237116.4]
+  wire [1:0] AsyncQueueSource_io_enq_bits_size; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237116.4]
+  wire [5:0] AsyncQueueSource_io_enq_bits_source; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237116.4]
+  wire [31:0] AsyncQueueSource_io_enq_bits_data; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237116.4]
+  wire [2:0] AsyncQueueSource_io_async_mem_0_opcode; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237116.4]
+  wire [1:0] AsyncQueueSource_io_async_mem_0_size; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237116.4]
+  wire [5:0] AsyncQueueSource_io_async_mem_0_source; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237116.4]
+  wire [31:0] AsyncQueueSource_io_async_mem_0_data; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237116.4]
+  wire  AsyncQueueSource_io_async_ridx; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237116.4]
+  wire  AsyncQueueSource_io_async_widx; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237116.4]
+  wire  AsyncQueueSource_io_async_safe_ridx_valid; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237116.4]
+  wire  AsyncQueueSource_io_async_safe_widx_valid; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237116.4]
+  wire  AsyncQueueSource_io_async_safe_source_reset_n; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237116.4]
+  wire  AsyncQueueSource_io_async_safe_sink_reset_n; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237116.4]
+  AsyncQueueSink_4 AsyncQueueSink ( // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@237105.4]
+    .clock(AsyncQueueSink_clock),
+    .reset(AsyncQueueSink_reset),
+    .io_deq_ready(AsyncQueueSink_io_deq_ready),
+    .io_deq_valid(AsyncQueueSink_io_deq_valid),
+    .io_deq_bits_opcode(AsyncQueueSink_io_deq_bits_opcode),
+    .io_deq_bits_param(AsyncQueueSink_io_deq_bits_param),
+    .io_deq_bits_size(AsyncQueueSink_io_deq_bits_size),
+    .io_deq_bits_source(AsyncQueueSink_io_deq_bits_source),
+    .io_deq_bits_address(AsyncQueueSink_io_deq_bits_address),
+    .io_deq_bits_mask(AsyncQueueSink_io_deq_bits_mask),
+    .io_deq_bits_data(AsyncQueueSink_io_deq_bits_data),
+    .io_deq_bits_corrupt(AsyncQueueSink_io_deq_bits_corrupt),
+    .io_async_mem_0_opcode(AsyncQueueSink_io_async_mem_0_opcode),
+    .io_async_mem_0_param(AsyncQueueSink_io_async_mem_0_param),
+    .io_async_mem_0_size(AsyncQueueSink_io_async_mem_0_size),
+    .io_async_mem_0_source(AsyncQueueSink_io_async_mem_0_source),
+    .io_async_mem_0_address(AsyncQueueSink_io_async_mem_0_address),
+    .io_async_mem_0_mask(AsyncQueueSink_io_async_mem_0_mask),
+    .io_async_mem_0_data(AsyncQueueSink_io_async_mem_0_data),
+    .io_async_mem_0_corrupt(AsyncQueueSink_io_async_mem_0_corrupt),
+    .io_async_ridx(AsyncQueueSink_io_async_ridx),
+    .io_async_widx(AsyncQueueSink_io_async_widx),
+    .io_async_safe_ridx_valid(AsyncQueueSink_io_async_safe_ridx_valid),
+    .io_async_safe_widx_valid(AsyncQueueSink_io_async_safe_widx_valid),
+    .io_async_safe_source_reset_n(AsyncQueueSink_io_async_safe_source_reset_n),
+    .io_async_safe_sink_reset_n(AsyncQueueSink_io_async_safe_sink_reset_n)
+  );
+  AsyncQueueSource_4 AsyncQueueSource ( // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237116.4]
+    .clock(AsyncQueueSource_clock),
+    .reset(AsyncQueueSource_reset),
+    .io_enq_ready(AsyncQueueSource_io_enq_ready),
+    .io_enq_valid(AsyncQueueSource_io_enq_valid),
+    .io_enq_bits_opcode(AsyncQueueSource_io_enq_bits_opcode),
+    .io_enq_bits_size(AsyncQueueSource_io_enq_bits_size),
+    .io_enq_bits_source(AsyncQueueSource_io_enq_bits_source),
+    .io_enq_bits_data(AsyncQueueSource_io_enq_bits_data),
+    .io_async_mem_0_opcode(AsyncQueueSource_io_async_mem_0_opcode),
+    .io_async_mem_0_size(AsyncQueueSource_io_async_mem_0_size),
+    .io_async_mem_0_source(AsyncQueueSource_io_async_mem_0_source),
+    .io_async_mem_0_data(AsyncQueueSource_io_async_mem_0_data),
+    .io_async_ridx(AsyncQueueSource_io_async_ridx),
+    .io_async_widx(AsyncQueueSource_io_async_widx),
+    .io_async_safe_ridx_valid(AsyncQueueSource_io_async_safe_ridx_valid),
+    .io_async_safe_widx_valid(AsyncQueueSource_io_async_safe_widx_valid),
+    .io_async_safe_source_reset_n(AsyncQueueSource_io_async_safe_source_reset_n),
+    .io_async_safe_sink_reset_n(AsyncQueueSource_io_async_safe_sink_reset_n)
+  );
+  assign auto_in_a_ridx = AsyncQueueSink_io_async_ridx; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237104.4]
+  assign auto_in_a_safe_ridx_valid = AsyncQueueSink_io_async_safe_ridx_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237104.4]
+  assign auto_in_a_safe_sink_reset_n = AsyncQueueSink_io_async_safe_sink_reset_n; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237104.4]
+  assign auto_in_d_mem_0_opcode = AsyncQueueSource_io_async_mem_0_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237104.4]
+  assign auto_in_d_mem_0_size = AsyncQueueSource_io_async_mem_0_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237104.4]
+  assign auto_in_d_mem_0_source = AsyncQueueSource_io_async_mem_0_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237104.4]
+  assign auto_in_d_mem_0_data = AsyncQueueSource_io_async_mem_0_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237104.4]
+  assign auto_in_d_widx = AsyncQueueSource_io_async_widx; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237104.4]
+  assign auto_in_d_safe_widx_valid = AsyncQueueSource_io_async_safe_widx_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237104.4]
+  assign auto_in_d_safe_source_reset_n = AsyncQueueSource_io_async_safe_source_reset_n; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237104.4]
+  assign auto_out_a_valid = AsyncQueueSink_io_deq_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@237103.4]
+  assign auto_out_a_bits_opcode = AsyncQueueSink_io_deq_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@237103.4]
+  assign auto_out_a_bits_param = AsyncQueueSink_io_deq_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@237103.4]
+  assign auto_out_a_bits_size = AsyncQueueSink_io_deq_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@237103.4]
+  assign auto_out_a_bits_source = AsyncQueueSink_io_deq_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@237103.4]
+  assign auto_out_a_bits_address = AsyncQueueSink_io_deq_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@237103.4]
+  assign auto_out_a_bits_mask = AsyncQueueSink_io_deq_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@237103.4]
+  assign auto_out_a_bits_data = AsyncQueueSink_io_deq_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@237103.4]
+  assign auto_out_a_bits_corrupt = AsyncQueueSink_io_deq_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@237103.4]
+  assign auto_out_d_ready = AsyncQueueSource_io_enq_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@237103.4]
+  assign AsyncQueueSink_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237106.4]
+  assign AsyncQueueSink_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237107.4]
+  assign AsyncQueueSink_io_deq_ready = auto_out_a_ready; // @[AsyncCrossing.scala 57:13:shc.marmotcaravel.MarmotCaravelConfig.fir@237115.4]
+  assign AsyncQueueSink_io_async_mem_0_opcode = auto_in_a_mem_0_opcode; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@237114.4]
+  assign AsyncQueueSink_io_async_mem_0_param = auto_in_a_mem_0_param; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@237114.4]
+  assign AsyncQueueSink_io_async_mem_0_size = auto_in_a_mem_0_size; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@237114.4]
+  assign AsyncQueueSink_io_async_mem_0_source = auto_in_a_mem_0_source; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@237114.4]
+  assign AsyncQueueSink_io_async_mem_0_address = auto_in_a_mem_0_address; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@237114.4]
+  assign AsyncQueueSink_io_async_mem_0_mask = auto_in_a_mem_0_mask; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@237114.4]
+  assign AsyncQueueSink_io_async_mem_0_data = auto_in_a_mem_0_data; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@237114.4]
+  assign AsyncQueueSink_io_async_mem_0_corrupt = auto_in_a_mem_0_corrupt; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@237114.4]
+  assign AsyncQueueSink_io_async_widx = auto_in_a_widx; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@237112.4]
+  assign AsyncQueueSink_io_async_safe_widx_valid = auto_in_a_safe_widx_valid; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@237110.4]
+  assign AsyncQueueSink_io_async_safe_source_reset_n = auto_in_a_safe_source_reset_n; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@237109.4]
+  assign AsyncQueueSource_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237117.4]
+  assign AsyncQueueSource_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237118.4]
+  assign AsyncQueueSource_io_enq_valid = auto_out_d_valid; // @[AsyncQueue.scala 193:19:shc.marmotcaravel.MarmotCaravelConfig.fir@237120.4]
+  assign AsyncQueueSource_io_enq_bits_opcode = auto_out_d_bits_opcode; // @[AsyncQueue.scala 193:19:shc.marmotcaravel.MarmotCaravelConfig.fir@237119.4]
+  assign AsyncQueueSource_io_enq_bits_size = auto_out_d_bits_size; // @[AsyncQueue.scala 193:19:shc.marmotcaravel.MarmotCaravelConfig.fir@237119.4]
+  assign AsyncQueueSource_io_enq_bits_source = auto_out_d_bits_source; // @[AsyncQueue.scala 193:19:shc.marmotcaravel.MarmotCaravelConfig.fir@237119.4]
+  assign AsyncQueueSource_io_enq_bits_data = auto_out_d_bits_data; // @[AsyncQueue.scala 193:19:shc.marmotcaravel.MarmotCaravelConfig.fir@237119.4]
+  assign AsyncQueueSource_io_async_ridx = auto_in_d_ridx; // @[AsyncCrossing.scala 58:12:shc.marmotcaravel.MarmotCaravelConfig.fir@237122.4]
+  assign AsyncQueueSource_io_async_safe_ridx_valid = auto_in_d_safe_ridx_valid; // @[AsyncCrossing.scala 58:12:shc.marmotcaravel.MarmotCaravelConfig.fir@237122.4]
+  assign AsyncQueueSource_io_async_safe_sink_reset_n = auto_in_d_safe_sink_reset_n; // @[AsyncCrossing.scala 58:12:shc.marmotcaravel.MarmotCaravelConfig.fir@237122.4]
+endmodule
+module IntSyncCrossingSource_4( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237146.2]
+  input   auto_in_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237149.4]
+  input   auto_in_1, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237149.4]
+  output  auto_out_sync_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237149.4]
+  output  auto_out_sync_1 // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237149.4]
+);
+  assign auto_out_sync_0 = auto_in_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@237158.4]
+  assign auto_out_sync_1 = auto_in_1; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@237158.4]
+endmodule
+module MockAONWrapper( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237473.2]
+  output        auto_intsource_out_sync_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237476.4]
+  output        auto_intsource_out_sync_1, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237476.4]
+  input  [2:0]  auto_isolation_in_a_mem_0_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237476.4]
+  input  [2:0]  auto_isolation_in_a_mem_0_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237476.4]
+  input  [1:0]  auto_isolation_in_a_mem_0_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237476.4]
+  input  [5:0]  auto_isolation_in_a_mem_0_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237476.4]
+  input  [28:0] auto_isolation_in_a_mem_0_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237476.4]
+  input  [3:0]  auto_isolation_in_a_mem_0_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237476.4]
+  input  [31:0] auto_isolation_in_a_mem_0_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237476.4]
+  input         auto_isolation_in_a_mem_0_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237476.4]
+  output        auto_isolation_in_a_ridx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237476.4]
+  input         auto_isolation_in_a_widx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237476.4]
+  output        auto_isolation_in_a_safe_ridx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237476.4]
+  input         auto_isolation_in_a_safe_widx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237476.4]
+  input         auto_isolation_in_a_safe_source_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237476.4]
+  output        auto_isolation_in_a_safe_sink_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237476.4]
+  output [2:0]  auto_isolation_in_d_mem_0_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237476.4]
+  output [1:0]  auto_isolation_in_d_mem_0_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237476.4]
+  output [1:0]  auto_isolation_in_d_mem_0_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237476.4]
+  output [5:0]  auto_isolation_in_d_mem_0_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237476.4]
+  output        auto_isolation_in_d_mem_0_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237476.4]
+  output        auto_isolation_in_d_mem_0_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237476.4]
+  output [31:0] auto_isolation_in_d_mem_0_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237476.4]
+  output        auto_isolation_in_d_mem_0_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237476.4]
+  input         auto_isolation_in_d_ridx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237476.4]
+  output        auto_isolation_in_d_widx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237476.4]
+  input         auto_isolation_in_d_safe_ridx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237476.4]
+  output        auto_isolation_in_d_safe_widx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237476.4]
+  output        auto_isolation_in_d_safe_source_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237476.4]
+  input         auto_isolation_in_d_safe_sink_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237476.4]
+  input         io_pins_erst_n_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237477.4]
+  input         io_pins_lfextclk_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237477.4]
+  output        io_rsts_corerst, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237477.4]
+  output        io_rtc, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237477.4]
+  input         io_ndreset // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237477.4]
+);
+  wire  aon_clock; // @[MockAONWrapper.scala 34:23:shc.marmotcaravel.MarmotCaravelConfig.fir@237483.4]
+  wire  aon_reset; // @[MockAONWrapper.scala 34:23:shc.marmotcaravel.MarmotCaravelConfig.fir@237483.4]
+  wire  aon_auto_int_out_0; // @[MockAONWrapper.scala 34:23:shc.marmotcaravel.MarmotCaravelConfig.fir@237483.4]
+  wire  aon_auto_int_out_1; // @[MockAONWrapper.scala 34:23:shc.marmotcaravel.MarmotCaravelConfig.fir@237483.4]
+  wire  aon_auto_in_a_ready; // @[MockAONWrapper.scala 34:23:shc.marmotcaravel.MarmotCaravelConfig.fir@237483.4]
+  wire  aon_auto_in_a_valid; // @[MockAONWrapper.scala 34:23:shc.marmotcaravel.MarmotCaravelConfig.fir@237483.4]
+  wire [2:0] aon_auto_in_a_bits_opcode; // @[MockAONWrapper.scala 34:23:shc.marmotcaravel.MarmotCaravelConfig.fir@237483.4]
+  wire [2:0] aon_auto_in_a_bits_param; // @[MockAONWrapper.scala 34:23:shc.marmotcaravel.MarmotCaravelConfig.fir@237483.4]
+  wire [1:0] aon_auto_in_a_bits_size; // @[MockAONWrapper.scala 34:23:shc.marmotcaravel.MarmotCaravelConfig.fir@237483.4]
+  wire [5:0] aon_auto_in_a_bits_source; // @[MockAONWrapper.scala 34:23:shc.marmotcaravel.MarmotCaravelConfig.fir@237483.4]
+  wire [28:0] aon_auto_in_a_bits_address; // @[MockAONWrapper.scala 34:23:shc.marmotcaravel.MarmotCaravelConfig.fir@237483.4]
+  wire [3:0] aon_auto_in_a_bits_mask; // @[MockAONWrapper.scala 34:23:shc.marmotcaravel.MarmotCaravelConfig.fir@237483.4]
+  wire [31:0] aon_auto_in_a_bits_data; // @[MockAONWrapper.scala 34:23:shc.marmotcaravel.MarmotCaravelConfig.fir@237483.4]
+  wire  aon_auto_in_a_bits_corrupt; // @[MockAONWrapper.scala 34:23:shc.marmotcaravel.MarmotCaravelConfig.fir@237483.4]
+  wire  aon_auto_in_d_ready; // @[MockAONWrapper.scala 34:23:shc.marmotcaravel.MarmotCaravelConfig.fir@237483.4]
+  wire  aon_auto_in_d_valid; // @[MockAONWrapper.scala 34:23:shc.marmotcaravel.MarmotCaravelConfig.fir@237483.4]
+  wire [2:0] aon_auto_in_d_bits_opcode; // @[MockAONWrapper.scala 34:23:shc.marmotcaravel.MarmotCaravelConfig.fir@237483.4]
+  wire [1:0] aon_auto_in_d_bits_size; // @[MockAONWrapper.scala 34:23:shc.marmotcaravel.MarmotCaravelConfig.fir@237483.4]
+  wire [5:0] aon_auto_in_d_bits_source; // @[MockAONWrapper.scala 34:23:shc.marmotcaravel.MarmotCaravelConfig.fir@237483.4]
+  wire [31:0] aon_auto_in_d_bits_data; // @[MockAONWrapper.scala 34:23:shc.marmotcaravel.MarmotCaravelConfig.fir@237483.4]
+  wire  aon_io_moff_corerst; // @[MockAONWrapper.scala 34:23:shc.marmotcaravel.MarmotCaravelConfig.fir@237483.4]
+  wire  aon_io_wdog_rst; // @[MockAONWrapper.scala 34:23:shc.marmotcaravel.MarmotCaravelConfig.fir@237483.4]
+  wire  aon_io_lfclk; // @[MockAONWrapper.scala 34:23:shc.marmotcaravel.MarmotCaravelConfig.fir@237483.4]
+  wire  aon_io_lfextclk; // @[MockAONWrapper.scala 34:23:shc.marmotcaravel.MarmotCaravelConfig.fir@237483.4]
+  wire  aon_io_resetCauses_wdogrst; // @[MockAONWrapper.scala 34:23:shc.marmotcaravel.MarmotCaravelConfig.fir@237483.4]
+  wire  aon_io_resetCauses_erst; // @[MockAONWrapper.scala 34:23:shc.marmotcaravel.MarmotCaravelConfig.fir@237483.4]
+  wire [2:0] isolation_auto_in_a_mem_0_opcode; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237490.4]
+  wire [2:0] isolation_auto_in_a_mem_0_param; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237490.4]
+  wire [1:0] isolation_auto_in_a_mem_0_size; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237490.4]
+  wire [5:0] isolation_auto_in_a_mem_0_source; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237490.4]
+  wire [28:0] isolation_auto_in_a_mem_0_address; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237490.4]
+  wire [3:0] isolation_auto_in_a_mem_0_mask; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237490.4]
+  wire [31:0] isolation_auto_in_a_mem_0_data; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237490.4]
+  wire  isolation_auto_in_a_mem_0_corrupt; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237490.4]
+  wire  isolation_auto_in_a_ridx; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237490.4]
+  wire  isolation_auto_in_a_widx; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237490.4]
+  wire  isolation_auto_in_a_safe_ridx_valid; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237490.4]
+  wire  isolation_auto_in_a_safe_widx_valid; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237490.4]
+  wire  isolation_auto_in_a_safe_source_reset_n; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237490.4]
+  wire  isolation_auto_in_a_safe_sink_reset_n; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237490.4]
+  wire [2:0] isolation_auto_in_d_mem_0_opcode; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237490.4]
+  wire [1:0] isolation_auto_in_d_mem_0_param; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237490.4]
+  wire [1:0] isolation_auto_in_d_mem_0_size; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237490.4]
+  wire [5:0] isolation_auto_in_d_mem_0_source; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237490.4]
+  wire  isolation_auto_in_d_mem_0_sink; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237490.4]
+  wire  isolation_auto_in_d_mem_0_denied; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237490.4]
+  wire [31:0] isolation_auto_in_d_mem_0_data; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237490.4]
+  wire  isolation_auto_in_d_mem_0_corrupt; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237490.4]
+  wire  isolation_auto_in_d_ridx; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237490.4]
+  wire  isolation_auto_in_d_widx; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237490.4]
+  wire  isolation_auto_in_d_safe_ridx_valid; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237490.4]
+  wire  isolation_auto_in_d_safe_widx_valid; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237490.4]
+  wire  isolation_auto_in_d_safe_source_reset_n; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237490.4]
+  wire  isolation_auto_in_d_safe_sink_reset_n; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237490.4]
+  wire [2:0] isolation_auto_out_a_mem_0_opcode; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237490.4]
+  wire [2:0] isolation_auto_out_a_mem_0_param; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237490.4]
+  wire [1:0] isolation_auto_out_a_mem_0_size; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237490.4]
+  wire [5:0] isolation_auto_out_a_mem_0_source; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237490.4]
+  wire [28:0] isolation_auto_out_a_mem_0_address; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237490.4]
+  wire [3:0] isolation_auto_out_a_mem_0_mask; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237490.4]
+  wire [31:0] isolation_auto_out_a_mem_0_data; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237490.4]
+  wire  isolation_auto_out_a_mem_0_corrupt; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237490.4]
+  wire  isolation_auto_out_a_ridx; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237490.4]
+  wire  isolation_auto_out_a_widx; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237490.4]
+  wire  isolation_auto_out_a_safe_ridx_valid; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237490.4]
+  wire  isolation_auto_out_a_safe_widx_valid; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237490.4]
+  wire  isolation_auto_out_a_safe_source_reset_n; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237490.4]
+  wire  isolation_auto_out_a_safe_sink_reset_n; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237490.4]
+  wire [2:0] isolation_auto_out_d_mem_0_opcode; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237490.4]
+  wire [1:0] isolation_auto_out_d_mem_0_size; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237490.4]
+  wire [5:0] isolation_auto_out_d_mem_0_source; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237490.4]
+  wire [31:0] isolation_auto_out_d_mem_0_data; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237490.4]
+  wire  isolation_auto_out_d_ridx; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237490.4]
+  wire  isolation_auto_out_d_widx; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237490.4]
+  wire  isolation_auto_out_d_safe_ridx_valid; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237490.4]
+  wire  isolation_auto_out_d_safe_widx_valid; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237490.4]
+  wire  isolation_auto_out_d_safe_source_reset_n; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237490.4]
+  wire  isolation_auto_out_d_safe_sink_reset_n; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237490.4]
+  wire  isolation_io_iso_out; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237490.4]
+  wire  crossing_clock; // @[MockAONWrapper.scala 45:28:shc.marmotcaravel.MarmotCaravelConfig.fir@237497.4]
+  wire  crossing_reset; // @[MockAONWrapper.scala 45:28:shc.marmotcaravel.MarmotCaravelConfig.fir@237497.4]
+  wire [2:0] crossing_auto_in_a_mem_0_opcode; // @[MockAONWrapper.scala 45:28:shc.marmotcaravel.MarmotCaravelConfig.fir@237497.4]
+  wire [2:0] crossing_auto_in_a_mem_0_param; // @[MockAONWrapper.scala 45:28:shc.marmotcaravel.MarmotCaravelConfig.fir@237497.4]
+  wire [1:0] crossing_auto_in_a_mem_0_size; // @[MockAONWrapper.scala 45:28:shc.marmotcaravel.MarmotCaravelConfig.fir@237497.4]
+  wire [5:0] crossing_auto_in_a_mem_0_source; // @[MockAONWrapper.scala 45:28:shc.marmotcaravel.MarmotCaravelConfig.fir@237497.4]
+  wire [28:0] crossing_auto_in_a_mem_0_address; // @[MockAONWrapper.scala 45:28:shc.marmotcaravel.MarmotCaravelConfig.fir@237497.4]
+  wire [3:0] crossing_auto_in_a_mem_0_mask; // @[MockAONWrapper.scala 45:28:shc.marmotcaravel.MarmotCaravelConfig.fir@237497.4]
+  wire [31:0] crossing_auto_in_a_mem_0_data; // @[MockAONWrapper.scala 45:28:shc.marmotcaravel.MarmotCaravelConfig.fir@237497.4]
+  wire  crossing_auto_in_a_mem_0_corrupt; // @[MockAONWrapper.scala 45:28:shc.marmotcaravel.MarmotCaravelConfig.fir@237497.4]
+  wire  crossing_auto_in_a_ridx; // @[MockAONWrapper.scala 45:28:shc.marmotcaravel.MarmotCaravelConfig.fir@237497.4]
+  wire  crossing_auto_in_a_widx; // @[MockAONWrapper.scala 45:28:shc.marmotcaravel.MarmotCaravelConfig.fir@237497.4]
+  wire  crossing_auto_in_a_safe_ridx_valid; // @[MockAONWrapper.scala 45:28:shc.marmotcaravel.MarmotCaravelConfig.fir@237497.4]
+  wire  crossing_auto_in_a_safe_widx_valid; // @[MockAONWrapper.scala 45:28:shc.marmotcaravel.MarmotCaravelConfig.fir@237497.4]
+  wire  crossing_auto_in_a_safe_source_reset_n; // @[MockAONWrapper.scala 45:28:shc.marmotcaravel.MarmotCaravelConfig.fir@237497.4]
+  wire  crossing_auto_in_a_safe_sink_reset_n; // @[MockAONWrapper.scala 45:28:shc.marmotcaravel.MarmotCaravelConfig.fir@237497.4]
+  wire [2:0] crossing_auto_in_d_mem_0_opcode; // @[MockAONWrapper.scala 45:28:shc.marmotcaravel.MarmotCaravelConfig.fir@237497.4]
+  wire [1:0] crossing_auto_in_d_mem_0_size; // @[MockAONWrapper.scala 45:28:shc.marmotcaravel.MarmotCaravelConfig.fir@237497.4]
+  wire [5:0] crossing_auto_in_d_mem_0_source; // @[MockAONWrapper.scala 45:28:shc.marmotcaravel.MarmotCaravelConfig.fir@237497.4]
+  wire [31:0] crossing_auto_in_d_mem_0_data; // @[MockAONWrapper.scala 45:28:shc.marmotcaravel.MarmotCaravelConfig.fir@237497.4]
+  wire  crossing_auto_in_d_ridx; // @[MockAONWrapper.scala 45:28:shc.marmotcaravel.MarmotCaravelConfig.fir@237497.4]
+  wire  crossing_auto_in_d_widx; // @[MockAONWrapper.scala 45:28:shc.marmotcaravel.MarmotCaravelConfig.fir@237497.4]
+  wire  crossing_auto_in_d_safe_ridx_valid; // @[MockAONWrapper.scala 45:28:shc.marmotcaravel.MarmotCaravelConfig.fir@237497.4]
+  wire  crossing_auto_in_d_safe_widx_valid; // @[MockAONWrapper.scala 45:28:shc.marmotcaravel.MarmotCaravelConfig.fir@237497.4]
+  wire  crossing_auto_in_d_safe_source_reset_n; // @[MockAONWrapper.scala 45:28:shc.marmotcaravel.MarmotCaravelConfig.fir@237497.4]
+  wire  crossing_auto_in_d_safe_sink_reset_n; // @[MockAONWrapper.scala 45:28:shc.marmotcaravel.MarmotCaravelConfig.fir@237497.4]
+  wire  crossing_auto_out_a_ready; // @[MockAONWrapper.scala 45:28:shc.marmotcaravel.MarmotCaravelConfig.fir@237497.4]
+  wire  crossing_auto_out_a_valid; // @[MockAONWrapper.scala 45:28:shc.marmotcaravel.MarmotCaravelConfig.fir@237497.4]
+  wire [2:0] crossing_auto_out_a_bits_opcode; // @[MockAONWrapper.scala 45:28:shc.marmotcaravel.MarmotCaravelConfig.fir@237497.4]
+  wire [2:0] crossing_auto_out_a_bits_param; // @[MockAONWrapper.scala 45:28:shc.marmotcaravel.MarmotCaravelConfig.fir@237497.4]
+  wire [1:0] crossing_auto_out_a_bits_size; // @[MockAONWrapper.scala 45:28:shc.marmotcaravel.MarmotCaravelConfig.fir@237497.4]
+  wire [5:0] crossing_auto_out_a_bits_source; // @[MockAONWrapper.scala 45:28:shc.marmotcaravel.MarmotCaravelConfig.fir@237497.4]
+  wire [28:0] crossing_auto_out_a_bits_address; // @[MockAONWrapper.scala 45:28:shc.marmotcaravel.MarmotCaravelConfig.fir@237497.4]
+  wire [3:0] crossing_auto_out_a_bits_mask; // @[MockAONWrapper.scala 45:28:shc.marmotcaravel.MarmotCaravelConfig.fir@237497.4]
+  wire [31:0] crossing_auto_out_a_bits_data; // @[MockAONWrapper.scala 45:28:shc.marmotcaravel.MarmotCaravelConfig.fir@237497.4]
+  wire  crossing_auto_out_a_bits_corrupt; // @[MockAONWrapper.scala 45:28:shc.marmotcaravel.MarmotCaravelConfig.fir@237497.4]
+  wire  crossing_auto_out_d_ready; // @[MockAONWrapper.scala 45:28:shc.marmotcaravel.MarmotCaravelConfig.fir@237497.4]
+  wire  crossing_auto_out_d_valid; // @[MockAONWrapper.scala 45:28:shc.marmotcaravel.MarmotCaravelConfig.fir@237497.4]
+  wire [2:0] crossing_auto_out_d_bits_opcode; // @[MockAONWrapper.scala 45:28:shc.marmotcaravel.MarmotCaravelConfig.fir@237497.4]
+  wire [1:0] crossing_auto_out_d_bits_size; // @[MockAONWrapper.scala 45:28:shc.marmotcaravel.MarmotCaravelConfig.fir@237497.4]
+  wire [5:0] crossing_auto_out_d_bits_source; // @[MockAONWrapper.scala 45:28:shc.marmotcaravel.MarmotCaravelConfig.fir@237497.4]
+  wire [31:0] crossing_auto_out_d_bits_data; // @[MockAONWrapper.scala 45:28:shc.marmotcaravel.MarmotCaravelConfig.fir@237497.4]
+  wire  intsource_auto_in_0; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237503.4]
+  wire  intsource_auto_in_1; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237503.4]
+  wire  intsource_auto_out_sync_0; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237503.4]
+  wire  intsource_auto_out_sync_1; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237503.4]
+  wire  aonrst_catch_clock; // @[MockAONWrapper.scala 98:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237532.4]
+  wire  aonrst_catch_reset; // @[MockAONWrapper.scala 98:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237532.4]
+  wire  aonrst_catch_io_sync_reset; // @[MockAONWrapper.scala 98:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237532.4]
+  wire  ResetCatchAndSync_d3_clock; // @[ResetCatchAndSync.scala 39:28:shc.marmotcaravel.MarmotCaravelConfig.fir@237544.4]
+  wire  ResetCatchAndSync_d3_reset; // @[ResetCatchAndSync.scala 39:28:shc.marmotcaravel.MarmotCaravelConfig.fir@237544.4]
+  wire  ResetCatchAndSync_d3_io_sync_reset; // @[ResetCatchAndSync.scala 39:28:shc.marmotcaravel.MarmotCaravelConfig.fir@237544.4]
+  wire  erst; // @[MockAONWrapper.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@237519.4]
+  wire  _T_381; // @[MockAONWrapper.scala 99:32:shc.marmotcaravel.MarmotCaravelConfig.fir@237536.4]
+  wire  _T_383; // @[compatibility.scala 247:56:shc.marmotcaravel.MarmotCaravelConfig.fir@237542.4]
+  TLMockAON aon ( // @[MockAONWrapper.scala 34:23:shc.marmotcaravel.MarmotCaravelConfig.fir@237483.4]
+    .clock(aon_clock),
+    .reset(aon_reset),
+    .auto_int_out_0(aon_auto_int_out_0),
+    .auto_int_out_1(aon_auto_int_out_1),
+    .auto_in_a_ready(aon_auto_in_a_ready),
+    .auto_in_a_valid(aon_auto_in_a_valid),
+    .auto_in_a_bits_opcode(aon_auto_in_a_bits_opcode),
+    .auto_in_a_bits_param(aon_auto_in_a_bits_param),
+    .auto_in_a_bits_size(aon_auto_in_a_bits_size),
+    .auto_in_a_bits_source(aon_auto_in_a_bits_source),
+    .auto_in_a_bits_address(aon_auto_in_a_bits_address),
+    .auto_in_a_bits_mask(aon_auto_in_a_bits_mask),
+    .auto_in_a_bits_data(aon_auto_in_a_bits_data),
+    .auto_in_a_bits_corrupt(aon_auto_in_a_bits_corrupt),
+    .auto_in_d_ready(aon_auto_in_d_ready),
+    .auto_in_d_valid(aon_auto_in_d_valid),
+    .auto_in_d_bits_opcode(aon_auto_in_d_bits_opcode),
+    .auto_in_d_bits_size(aon_auto_in_d_bits_size),
+    .auto_in_d_bits_source(aon_auto_in_d_bits_source),
+    .auto_in_d_bits_data(aon_auto_in_d_bits_data),
+    .io_moff_corerst(aon_io_moff_corerst),
+    .io_wdog_rst(aon_io_wdog_rst),
+    .io_lfclk(aon_io_lfclk),
+    .io_lfextclk(aon_io_lfextclk),
+    .io_resetCauses_wdogrst(aon_io_resetCauses_wdogrst),
+    .io_resetCauses_erst(aon_io_resetCauses_erst)
+  );
+  TLIsolation isolation ( // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237490.4]
+    .auto_in_a_mem_0_opcode(isolation_auto_in_a_mem_0_opcode),
+    .auto_in_a_mem_0_param(isolation_auto_in_a_mem_0_param),
+    .auto_in_a_mem_0_size(isolation_auto_in_a_mem_0_size),
+    .auto_in_a_mem_0_source(isolation_auto_in_a_mem_0_source),
+    .auto_in_a_mem_0_address(isolation_auto_in_a_mem_0_address),
+    .auto_in_a_mem_0_mask(isolation_auto_in_a_mem_0_mask),
+    .auto_in_a_mem_0_data(isolation_auto_in_a_mem_0_data),
+    .auto_in_a_mem_0_corrupt(isolation_auto_in_a_mem_0_corrupt),
+    .auto_in_a_ridx(isolation_auto_in_a_ridx),
+    .auto_in_a_widx(isolation_auto_in_a_widx),
+    .auto_in_a_safe_ridx_valid(isolation_auto_in_a_safe_ridx_valid),
+    .auto_in_a_safe_widx_valid(isolation_auto_in_a_safe_widx_valid),
+    .auto_in_a_safe_source_reset_n(isolation_auto_in_a_safe_source_reset_n),
+    .auto_in_a_safe_sink_reset_n(isolation_auto_in_a_safe_sink_reset_n),
+    .auto_in_d_mem_0_opcode(isolation_auto_in_d_mem_0_opcode),
+    .auto_in_d_mem_0_param(isolation_auto_in_d_mem_0_param),
+    .auto_in_d_mem_0_size(isolation_auto_in_d_mem_0_size),
+    .auto_in_d_mem_0_source(isolation_auto_in_d_mem_0_source),
+    .auto_in_d_mem_0_sink(isolation_auto_in_d_mem_0_sink),
+    .auto_in_d_mem_0_denied(isolation_auto_in_d_mem_0_denied),
+    .auto_in_d_mem_0_data(isolation_auto_in_d_mem_0_data),
+    .auto_in_d_mem_0_corrupt(isolation_auto_in_d_mem_0_corrupt),
+    .auto_in_d_ridx(isolation_auto_in_d_ridx),
+    .auto_in_d_widx(isolation_auto_in_d_widx),
+    .auto_in_d_safe_ridx_valid(isolation_auto_in_d_safe_ridx_valid),
+    .auto_in_d_safe_widx_valid(isolation_auto_in_d_safe_widx_valid),
+    .auto_in_d_safe_source_reset_n(isolation_auto_in_d_safe_source_reset_n),
+    .auto_in_d_safe_sink_reset_n(isolation_auto_in_d_safe_sink_reset_n),
+    .auto_out_a_mem_0_opcode(isolation_auto_out_a_mem_0_opcode),
+    .auto_out_a_mem_0_param(isolation_auto_out_a_mem_0_param),
+    .auto_out_a_mem_0_size(isolation_auto_out_a_mem_0_size),
+    .auto_out_a_mem_0_source(isolation_auto_out_a_mem_0_source),
+    .auto_out_a_mem_0_address(isolation_auto_out_a_mem_0_address),
+    .auto_out_a_mem_0_mask(isolation_auto_out_a_mem_0_mask),
+    .auto_out_a_mem_0_data(isolation_auto_out_a_mem_0_data),
+    .auto_out_a_mem_0_corrupt(isolation_auto_out_a_mem_0_corrupt),
+    .auto_out_a_ridx(isolation_auto_out_a_ridx),
+    .auto_out_a_widx(isolation_auto_out_a_widx),
+    .auto_out_a_safe_ridx_valid(isolation_auto_out_a_safe_ridx_valid),
+    .auto_out_a_safe_widx_valid(isolation_auto_out_a_safe_widx_valid),
+    .auto_out_a_safe_source_reset_n(isolation_auto_out_a_safe_source_reset_n),
+    .auto_out_a_safe_sink_reset_n(isolation_auto_out_a_safe_sink_reset_n),
+    .auto_out_d_mem_0_opcode(isolation_auto_out_d_mem_0_opcode),
+    .auto_out_d_mem_0_size(isolation_auto_out_d_mem_0_size),
+    .auto_out_d_mem_0_source(isolation_auto_out_d_mem_0_source),
+    .auto_out_d_mem_0_data(isolation_auto_out_d_mem_0_data),
+    .auto_out_d_ridx(isolation_auto_out_d_ridx),
+    .auto_out_d_widx(isolation_auto_out_d_widx),
+    .auto_out_d_safe_ridx_valid(isolation_auto_out_d_safe_ridx_valid),
+    .auto_out_d_safe_widx_valid(isolation_auto_out_d_safe_widx_valid),
+    .auto_out_d_safe_source_reset_n(isolation_auto_out_d_safe_source_reset_n),
+    .auto_out_d_safe_sink_reset_n(isolation_auto_out_d_safe_sink_reset_n),
+    .io_iso_out(isolation_io_iso_out)
+  );
+  TLAsyncCrossingSink_1 crossing ( // @[MockAONWrapper.scala 45:28:shc.marmotcaravel.MarmotCaravelConfig.fir@237497.4]
+    .clock(crossing_clock),
+    .reset(crossing_reset),
+    .auto_in_a_mem_0_opcode(crossing_auto_in_a_mem_0_opcode),
+    .auto_in_a_mem_0_param(crossing_auto_in_a_mem_0_param),
+    .auto_in_a_mem_0_size(crossing_auto_in_a_mem_0_size),
+    .auto_in_a_mem_0_source(crossing_auto_in_a_mem_0_source),
+    .auto_in_a_mem_0_address(crossing_auto_in_a_mem_0_address),
+    .auto_in_a_mem_0_mask(crossing_auto_in_a_mem_0_mask),
+    .auto_in_a_mem_0_data(crossing_auto_in_a_mem_0_data),
+    .auto_in_a_mem_0_corrupt(crossing_auto_in_a_mem_0_corrupt),
+    .auto_in_a_ridx(crossing_auto_in_a_ridx),
+    .auto_in_a_widx(crossing_auto_in_a_widx),
+    .auto_in_a_safe_ridx_valid(crossing_auto_in_a_safe_ridx_valid),
+    .auto_in_a_safe_widx_valid(crossing_auto_in_a_safe_widx_valid),
+    .auto_in_a_safe_source_reset_n(crossing_auto_in_a_safe_source_reset_n),
+    .auto_in_a_safe_sink_reset_n(crossing_auto_in_a_safe_sink_reset_n),
+    .auto_in_d_mem_0_opcode(crossing_auto_in_d_mem_0_opcode),
+    .auto_in_d_mem_0_size(crossing_auto_in_d_mem_0_size),
+    .auto_in_d_mem_0_source(crossing_auto_in_d_mem_0_source),
+    .auto_in_d_mem_0_data(crossing_auto_in_d_mem_0_data),
+    .auto_in_d_ridx(crossing_auto_in_d_ridx),
+    .auto_in_d_widx(crossing_auto_in_d_widx),
+    .auto_in_d_safe_ridx_valid(crossing_auto_in_d_safe_ridx_valid),
+    .auto_in_d_safe_widx_valid(crossing_auto_in_d_safe_widx_valid),
+    .auto_in_d_safe_source_reset_n(crossing_auto_in_d_safe_source_reset_n),
+    .auto_in_d_safe_sink_reset_n(crossing_auto_in_d_safe_sink_reset_n),
+    .auto_out_a_ready(crossing_auto_out_a_ready),
+    .auto_out_a_valid(crossing_auto_out_a_valid),
+    .auto_out_a_bits_opcode(crossing_auto_out_a_bits_opcode),
+    .auto_out_a_bits_param(crossing_auto_out_a_bits_param),
+    .auto_out_a_bits_size(crossing_auto_out_a_bits_size),
+    .auto_out_a_bits_source(crossing_auto_out_a_bits_source),
+    .auto_out_a_bits_address(crossing_auto_out_a_bits_address),
+    .auto_out_a_bits_mask(crossing_auto_out_a_bits_mask),
+    .auto_out_a_bits_data(crossing_auto_out_a_bits_data),
+    .auto_out_a_bits_corrupt(crossing_auto_out_a_bits_corrupt),
+    .auto_out_d_ready(crossing_auto_out_d_ready),
+    .auto_out_d_valid(crossing_auto_out_d_valid),
+    .auto_out_d_bits_opcode(crossing_auto_out_d_bits_opcode),
+    .auto_out_d_bits_size(crossing_auto_out_d_bits_size),
+    .auto_out_d_bits_source(crossing_auto_out_d_bits_source),
+    .auto_out_d_bits_data(crossing_auto_out_d_bits_data)
+  );
+  IntSyncCrossingSource_4 intsource ( // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237503.4]
+    .auto_in_0(intsource_auto_in_0),
+    .auto_in_1(intsource_auto_in_1),
+    .auto_out_sync_0(intsource_auto_out_sync_0),
+    .auto_out_sync_1(intsource_auto_out_sync_1)
+  );
+  ResetCatchAndSync_d3 aonrst_catch ( // @[MockAONWrapper.scala 98:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237532.4]
+    .clock(aonrst_catch_clock),
+    .reset(aonrst_catch_reset),
+    .io_sync_reset(aonrst_catch_io_sync_reset)
+  );
+  ResetCatchAndSync_d3 ResetCatchAndSync_d3 ( // @[ResetCatchAndSync.scala 39:28:shc.marmotcaravel.MarmotCaravelConfig.fir@237544.4]
+    .clock(ResetCatchAndSync_d3_clock),
+    .reset(ResetCatchAndSync_d3_reset),
+    .io_sync_reset(ResetCatchAndSync_d3_io_sync_reset)
+  );
+  assign erst = ~ io_pins_erst_n_i_ival; // @[MockAONWrapper.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@237519.4]
+  assign _T_381 = erst | aon_io_wdog_rst; // @[MockAONWrapper.scala 99:32:shc.marmotcaravel.MarmotCaravelConfig.fir@237536.4]
+  assign _T_383 = aon_reset; // @[compatibility.scala 247:56:shc.marmotcaravel.MarmotCaravelConfig.fir@237542.4]
+  assign auto_intsource_out_sync_0 = intsource_auto_out_sync_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@237513.4]
+  assign auto_intsource_out_sync_1 = intsource_auto_out_sync_1; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@237513.4]
+  assign auto_isolation_in_a_ridx = isolation_auto_in_a_ridx; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237512.4]
+  assign auto_isolation_in_a_safe_ridx_valid = isolation_auto_in_a_safe_ridx_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237512.4]
+  assign auto_isolation_in_a_safe_sink_reset_n = isolation_auto_in_a_safe_sink_reset_n; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237512.4]
+  assign auto_isolation_in_d_mem_0_opcode = isolation_auto_in_d_mem_0_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237512.4]
+  assign auto_isolation_in_d_mem_0_param = isolation_auto_in_d_mem_0_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237512.4]
+  assign auto_isolation_in_d_mem_0_size = isolation_auto_in_d_mem_0_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237512.4]
+  assign auto_isolation_in_d_mem_0_source = isolation_auto_in_d_mem_0_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237512.4]
+  assign auto_isolation_in_d_mem_0_sink = isolation_auto_in_d_mem_0_sink; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237512.4]
+  assign auto_isolation_in_d_mem_0_denied = isolation_auto_in_d_mem_0_denied; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237512.4]
+  assign auto_isolation_in_d_mem_0_data = isolation_auto_in_d_mem_0_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237512.4]
+  assign auto_isolation_in_d_mem_0_corrupt = isolation_auto_in_d_mem_0_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237512.4]
+  assign auto_isolation_in_d_widx = isolation_auto_in_d_widx; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237512.4]
+  assign auto_isolation_in_d_safe_widx_valid = isolation_auto_in_d_safe_widx_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237512.4]
+  assign auto_isolation_in_d_safe_source_reset_n = isolation_auto_in_d_safe_source_reset_n; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237512.4]
+  assign io_rsts_corerst = aon_io_moff_corerst; // @[MockAONWrapper.scala 80:22:shc.marmotcaravel.MarmotCaravelConfig.fir@237524.4]
+  assign io_rtc = aon_io_lfclk; // @[MockAONWrapper.scala 142:12:shc.marmotcaravel.MarmotCaravelConfig.fir@237582.4]
+  assign aon_clock = aon_io_lfclk; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237488.4 MockAONWrapper.scala 103:22:shc.marmotcaravel.MarmotCaravelConfig.fir@237541.4]
+  assign aon_reset = aonrst_catch_io_sync_reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237489.4 MockAONWrapper.scala 101:22:shc.marmotcaravel.MarmotCaravelConfig.fir@237540.4]
+  assign aon_auto_in_a_valid = crossing_auto_out_a_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237511.4]
+  assign aon_auto_in_a_bits_opcode = crossing_auto_out_a_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237511.4]
+  assign aon_auto_in_a_bits_param = crossing_auto_out_a_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237511.4]
+  assign aon_auto_in_a_bits_size = crossing_auto_out_a_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237511.4]
+  assign aon_auto_in_a_bits_source = crossing_auto_out_a_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237511.4]
+  assign aon_auto_in_a_bits_address = crossing_auto_out_a_bits_address; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237511.4]
+  assign aon_auto_in_a_bits_mask = crossing_auto_out_a_bits_mask; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237511.4]
+  assign aon_auto_in_a_bits_data = crossing_auto_out_a_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237511.4]
+  assign aon_auto_in_a_bits_corrupt = crossing_auto_out_a_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237511.4]
+  assign aon_auto_in_d_ready = crossing_auto_out_d_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237511.4]
+  assign aon_io_lfextclk = io_pins_lfextclk_i_ival; // @[MockAONWrapper.scala 93:21:shc.marmotcaravel.MarmotCaravelConfig.fir@237531.4]
+  assign aon_io_resetCauses_wdogrst = aon_io_wdog_rst; // @[MockAONWrapper.scala 68:32:shc.marmotcaravel.MarmotCaravelConfig.fir@237521.4]
+  assign aon_io_resetCauses_erst = ~ io_pins_erst_n_i_ival; // @[MockAONWrapper.scala 67:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237520.4]
+  assign isolation_auto_in_a_mem_0_opcode = auto_isolation_in_a_mem_0_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237512.4]
+  assign isolation_auto_in_a_mem_0_param = auto_isolation_in_a_mem_0_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237512.4]
+  assign isolation_auto_in_a_mem_0_size = auto_isolation_in_a_mem_0_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237512.4]
+  assign isolation_auto_in_a_mem_0_source = auto_isolation_in_a_mem_0_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237512.4]
+  assign isolation_auto_in_a_mem_0_address = auto_isolation_in_a_mem_0_address; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237512.4]
+  assign isolation_auto_in_a_mem_0_mask = auto_isolation_in_a_mem_0_mask; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237512.4]
+  assign isolation_auto_in_a_mem_0_data = auto_isolation_in_a_mem_0_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237512.4]
+  assign isolation_auto_in_a_mem_0_corrupt = auto_isolation_in_a_mem_0_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237512.4]
+  assign isolation_auto_in_a_widx = auto_isolation_in_a_widx; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237512.4]
+  assign isolation_auto_in_a_safe_widx_valid = auto_isolation_in_a_safe_widx_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237512.4]
+  assign isolation_auto_in_a_safe_source_reset_n = auto_isolation_in_a_safe_source_reset_n; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237512.4]
+  assign isolation_auto_in_d_ridx = auto_isolation_in_d_ridx; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237512.4]
+  assign isolation_auto_in_d_safe_ridx_valid = auto_isolation_in_d_safe_ridx_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237512.4]
+  assign isolation_auto_in_d_safe_sink_reset_n = auto_isolation_in_d_safe_sink_reset_n; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237512.4]
+  assign isolation_auto_out_a_ridx = crossing_auto_in_a_ridx; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@237510.4]
+  assign isolation_auto_out_a_safe_ridx_valid = crossing_auto_in_a_safe_ridx_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@237510.4]
+  assign isolation_auto_out_a_safe_sink_reset_n = crossing_auto_in_a_safe_sink_reset_n; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@237510.4]
+  assign isolation_auto_out_d_mem_0_opcode = crossing_auto_in_d_mem_0_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@237510.4]
+  assign isolation_auto_out_d_mem_0_size = crossing_auto_in_d_mem_0_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@237510.4]
+  assign isolation_auto_out_d_mem_0_source = crossing_auto_in_d_mem_0_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@237510.4]
+  assign isolation_auto_out_d_mem_0_data = crossing_auto_in_d_mem_0_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@237510.4]
+  assign isolation_auto_out_d_widx = crossing_auto_in_d_widx; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@237510.4]
+  assign isolation_auto_out_d_safe_widx_valid = crossing_auto_in_d_safe_widx_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@237510.4]
+  assign isolation_auto_out_d_safe_source_reset_n = crossing_auto_in_d_safe_source_reset_n; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@237510.4]
+  assign isolation_io_iso_out = aon_io_moff_corerst; // @[MockAONWrapper.scala 122:33:shc.marmotcaravel.MarmotCaravelConfig.fir@237562.4]
+  assign crossing_clock = aon_io_lfclk; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237501.4 MockAONWrapper.scala 117:27:shc.marmotcaravel.MarmotCaravelConfig.fir@237560.4]
+  assign crossing_reset = ResetCatchAndSync_d3_io_sync_reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237502.4 MockAONWrapper.scala 118:27:shc.marmotcaravel.MarmotCaravelConfig.fir@237561.4]
+  assign crossing_auto_in_a_mem_0_opcode = isolation_auto_out_a_mem_0_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@237510.4]
+  assign crossing_auto_in_a_mem_0_param = isolation_auto_out_a_mem_0_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@237510.4]
+  assign crossing_auto_in_a_mem_0_size = isolation_auto_out_a_mem_0_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@237510.4]
+  assign crossing_auto_in_a_mem_0_source = isolation_auto_out_a_mem_0_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@237510.4]
+  assign crossing_auto_in_a_mem_0_address = isolation_auto_out_a_mem_0_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@237510.4]
+  assign crossing_auto_in_a_mem_0_mask = isolation_auto_out_a_mem_0_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@237510.4]
+  assign crossing_auto_in_a_mem_0_data = isolation_auto_out_a_mem_0_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@237510.4]
+  assign crossing_auto_in_a_mem_0_corrupt = isolation_auto_out_a_mem_0_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@237510.4]
+  assign crossing_auto_in_a_widx = isolation_auto_out_a_widx; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@237510.4]
+  assign crossing_auto_in_a_safe_widx_valid = isolation_auto_out_a_safe_widx_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@237510.4]
+  assign crossing_auto_in_a_safe_source_reset_n = isolation_auto_out_a_safe_source_reset_n; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@237510.4]
+  assign crossing_auto_in_d_ridx = isolation_auto_out_d_ridx; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@237510.4]
+  assign crossing_auto_in_d_safe_ridx_valid = isolation_auto_out_d_safe_ridx_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@237510.4]
+  assign crossing_auto_in_d_safe_sink_reset_n = isolation_auto_out_d_safe_sink_reset_n; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@237510.4]
+  assign crossing_auto_out_a_ready = aon_auto_in_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237511.4]
+  assign crossing_auto_out_d_valid = aon_auto_in_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237511.4]
+  assign crossing_auto_out_d_bits_opcode = aon_auto_in_d_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237511.4]
+  assign crossing_auto_out_d_bits_size = aon_auto_in_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237511.4]
+  assign crossing_auto_out_d_bits_source = aon_auto_in_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237511.4]
+  assign crossing_auto_out_d_bits_data = aon_auto_in_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237511.4]
+  assign intsource_auto_in_0 = aon_auto_int_out_0; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@237509.4]
+  assign intsource_auto_in_1 = aon_auto_int_out_1; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@237509.4]
+  assign aonrst_catch_clock = aon_io_lfclk; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237534.4 MockAONWrapper.scala 100:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237539.4]
+  assign aonrst_catch_reset = _T_381 | io_ndreset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237535.4 MockAONWrapper.scala 99:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237538.4]
+  assign ResetCatchAndSync_d3_clock = aon_io_lfclk; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237546.4]
+  assign ResetCatchAndSync_d3_reset = aon_io_moff_corerst | _T_383; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237547.4]
+endmodule
+module SynchronizerShiftReg_w2_d3( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237584.2]
+  input        clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237585.4]
+  input  [1:0] io_d, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237587.4]
+  output [1:0] io_q // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237587.4]
+);
+  reg [1:0] sync_0; // @[ShiftReg.scala 114:16:shc.marmotcaravel.MarmotCaravelConfig.fir@237592.4]
+  reg [31:0] _RAND_0;
+  reg [1:0] sync_1; // @[ShiftReg.scala 114:16:shc.marmotcaravel.MarmotCaravelConfig.fir@237593.4]
+  reg [31:0] _RAND_1;
+  reg [1:0] sync_2; // @[ShiftReg.scala 114:16:shc.marmotcaravel.MarmotCaravelConfig.fir@237594.4]
+  reg [31:0] _RAND_2;
+  assign io_q = sync_0; // @[ShiftReg.scala 123:8:shc.marmotcaravel.MarmotCaravelConfig.fir@237598.4]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  sync_0 = _RAND_0[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  sync_1 = _RAND_1[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  sync_2 = _RAND_2[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    sync_0 <= sync_1;
+    sync_1 <= sync_2;
+    sync_2 <= io_d;
+  end
+endmodule
+module IntSyncCrossingSink_4( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237600.2]
+  input   clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237601.4]
+  input   auto_in_sync_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237603.4]
+  input   auto_in_sync_1, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237603.4]
+  output  auto_out_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237603.4]
+  output  auto_out_1 // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237603.4]
+);
+  wire  SynchronizerShiftReg_w2_d3_clock; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@237614.4]
+  wire [1:0] SynchronizerShiftReg_w2_d3_io_d; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@237614.4]
+  wire [1:0] SynchronizerShiftReg_w2_d3_io_q; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@237614.4]
+  wire [1:0] _T_58; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237622.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@237624.4]
+  SynchronizerShiftReg_w2_d3 SynchronizerShiftReg_w2_d3 ( // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@237614.4]
+    .clock(SynchronizerShiftReg_w2_d3_clock),
+    .io_d(SynchronizerShiftReg_w2_d3_io_d),
+    .io_q(SynchronizerShiftReg_w2_d3_io_q)
+  );
+  assign _T_58 = SynchronizerShiftReg_w2_d3_io_q; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237622.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@237624.4]
+  assign auto_out_0 = _T_58[0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@237612.4]
+  assign auto_out_1 = _T_58[1]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@237612.4]
+  assign SynchronizerShiftReg_w2_d3_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237616.4]
+  assign SynchronizerShiftReg_w2_d3_io_d = {auto_in_sync_1,auto_in_sync_0}; // @[ShiftReg.scala 49:16:shc.marmotcaravel.MarmotCaravelConfig.fir@237619.4]
+endmodule
+module IntXing( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237647.2]
+  input   clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237648.4]
+  input   auto_int_in_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237650.4]
+  output  auto_int_out_0 // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237650.4]
+);
+  wire  SynchronizerShiftReg_w1_d3_clock; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@237661.4]
+  wire  SynchronizerShiftReg_w1_d3_io_d; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@237661.4]
+  wire  SynchronizerShiftReg_w1_d3_io_q; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@237661.4]
+  SynchronizerShiftReg_w1_d3 SynchronizerShiftReg_w1_d3 ( // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@237661.4]
+    .clock(SynchronizerShiftReg_w1_d3_clock),
+    .io_d(SynchronizerShiftReg_w1_d3_io_d),
+    .io_q(SynchronizerShiftReg_w1_d3_io_q)
+  );
+  assign auto_int_out_0 = SynchronizerShiftReg_w1_d3_io_q; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@237659.4]
+  assign SynchronizerShiftReg_w1_d3_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237663.4]
+  assign SynchronizerShiftReg_w1_d3_io_d = auto_int_in_0; // @[ShiftReg.scala 49:16:shc.marmotcaravel.MarmotCaravelConfig.fir@237665.4]
+endmodule
+module TLMonitor_58( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237682.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237683.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237684.4]
+  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237685.4]
+  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237685.4]
+  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237685.4]
+  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237685.4]
+  input  [1:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237685.4]
+  input  [5:0]  io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237685.4]
+  input  [28:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237685.4]
+  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237685.4]
+  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237685.4]
+  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237685.4]
+  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237685.4]
+  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237685.4]
+  input  [1:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237685.4]
+  input  [5:0]  io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237685.4]
+);
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@238812.4]
+  wire [4:0] _T_36; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@237712.6]
+  wire [1:0] _T_37; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@237713.6]
+  wire [1:0] _T_38; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@237714.6]
+  wire [28:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@237715.6]
+  wire [28:0] _T_39; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@237715.6]
+  wire  _T_40; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237716.6]
+  wire  _T_42; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@237718.6]
+  wire [1:0] _T_43; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@237719.6]
+  wire [1:0] _T_45; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@237721.6]
+  wire  _T_46; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@237722.6]
+  wire  _T_47; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@237723.6]
+  wire  _T_48; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@237724.6]
+  wire  _T_49; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@237725.6]
+  wire  _T_51; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@237727.6]
+  wire  _T_52; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237728.6]
+  wire  _T_54; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@237730.6]
+  wire  _T_55; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237731.6]
+  wire  _T_56; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@237732.6]
+  wire  _T_57; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@237733.6]
+  wire  _T_58; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@237734.6]
+  wire  _T_59; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@237735.6]
+  wire  _T_60; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@237736.6]
+  wire  _T_61; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237737.6]
+  wire  _T_62; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@237738.6]
+  wire  _T_63; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@237739.6]
+  wire  _T_64; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237740.6]
+  wire  _T_65; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@237741.6]
+  wire  _T_66; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@237742.6]
+  wire  _T_67; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237743.6]
+  wire  _T_68; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@237744.6]
+  wire  _T_69; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@237745.6]
+  wire  _T_70; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237746.6]
+  wire [1:0] _T_71; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@237747.6]
+  wire [1:0] _T_72; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@237748.6]
+  wire [3:0] _T_73; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@237749.6]
+  wire  _T_92; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@237772.6]
+  wire [28:0] _T_94; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237775.8]
+  wire [29:0] _T_95; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@237776.8]
+  wire [29:0] _T_96; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@237777.8]
+  wire [29:0] _T_97; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@237778.8]
+  wire  _T_98; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@237779.8]
+  wire  _T_103; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237784.8]
+  wire  _T_112; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237805.8]
+  wire  _T_113; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237806.8]
+  wire  _T_115; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237812.8]
+  wire  _T_116; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237813.8]
+  wire  _T_117; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@237818.8]
+  wire  _T_119; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237820.8]
+  wire  _T_120; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237821.8]
+  wire [3:0] _T_121; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@237826.8]
+  wire  _T_122; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@237827.8]
+  wire  _T_124; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237829.8]
+  wire  _T_125; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237830.8]
+  wire  _T_126; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@237835.8]
+  wire  _T_128; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237837.8]
+  wire  _T_129; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237838.8]
+  wire  _T_130; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@237844.6]
+  wire  _T_159; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@237898.8]
+  wire  _T_161; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237900.8]
+  wire  _T_162; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237901.8]
+  wire  _T_172; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@237924.6]
+  wire  _T_174; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@237927.8]
+  wire  _T_182; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@237935.8]
+  wire  _T_185; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237938.8]
+  wire  _T_186; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237939.8]
+  wire  _T_193; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@237958.8]
+  wire  _T_195; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237960.8]
+  wire  _T_196; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237961.8]
+  wire  _T_197; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@237966.8]
+  wire  _T_199; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237968.8]
+  wire  _T_200; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237969.8]
+  wire  _T_205; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@237983.6]
+  wire  _T_234; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@238034.6]
+  wire [3:0] _T_259; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@238076.8]
+  wire [3:0] _T_260; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@238077.8]
+  wire  _T_261; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@238078.8]
+  wire  _T_263; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238080.8]
+  wire  _T_264; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238081.8]
+  wire  _T_265; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@238087.6]
+  wire  _T_283; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@238118.8]
+  wire  _T_285; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238120.8]
+  wire  _T_286; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238121.8]
+  wire  _T_291; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@238135.6]
+  wire  _T_309; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@238166.8]
+  wire  _T_311; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238168.8]
+  wire  _T_312; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238169.8]
+  wire  _T_317; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@238183.6]
+  wire  _T_343; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@238233.6]
+  wire  _T_345; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@238235.6]
+  wire  _T_346; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@238236.6]
+  wire  _T_363; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@238253.6]
+  wire  _T_367; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@238262.8]
+  wire  _T_369; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238264.8]
+  wire  _T_370; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238265.8]
+  wire  _T_383; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@238295.6]
+  wire  _T_411; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@238353.6]
+  wire  _T_504; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@238543.4]
+  reg  _T_514; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@238552.4]
+  reg [31:0] _RAND_0;
+  wire [1:0] _T_515; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@238553.4]
+  wire [1:0] _T_516; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@238554.4]
+  wire  _T_517; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@238555.4]
+  wire  _T_518; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@238556.4]
+  reg [2:0] _T_527; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@238567.4]
+  reg [31:0] _RAND_1;
+  reg [2:0] _T_529; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@238568.4]
+  reg [31:0] _RAND_2;
+  reg [1:0] _T_531; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@238569.4]
+  reg [31:0] _RAND_3;
+  reg [5:0] _T_533; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@238570.4]
+  reg [31:0] _RAND_4;
+  reg [28:0] _T_535; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@238571.4]
+  reg [31:0] _RAND_5;
+  wire  _T_536; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@238572.4]
+  wire  _T_537; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@238573.4]
+  wire  _T_538; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@238575.6]
+  wire  _T_540; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238577.6]
+  wire  _T_541; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238578.6]
+  wire  _T_542; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@238583.6]
+  wire  _T_544; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238585.6]
+  wire  _T_545; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238586.6]
+  wire  _T_546; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@238591.6]
+  wire  _T_548; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238593.6]
+  wire  _T_549; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238594.6]
+  wire  _T_550; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@238599.6]
+  wire  _T_552; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238601.6]
+  wire  _T_553; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238602.6]
+  wire  _T_554; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@238607.6]
+  wire  _T_556; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238609.6]
+  wire  _T_557; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238610.6]
+  wire  _T_559; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@238617.4]
+  wire  _T_560; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@238625.4]
+  reg  _T_569; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@238633.4]
+  reg [31:0] _RAND_6;
+  wire [1:0] _T_570; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@238634.4]
+  wire [1:0] _T_571; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@238635.4]
+  wire  _T_572; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@238636.4]
+  wire  _T_573; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@238637.4]
+  reg [2:0] _T_582; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@238648.4]
+  reg [31:0] _RAND_7;
+  reg [1:0] _T_586; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@238650.4]
+  reg [31:0] _RAND_8;
+  reg [5:0] _T_588; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@238651.4]
+  reg [31:0] _RAND_9;
+  wire  _T_593; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@238654.4]
+  wire  _T_594; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@238655.4]
+  wire  _T_595; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@238657.6]
+  wire  _T_597; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238659.6]
+  wire  _T_598; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238660.6]
+  wire  _T_603; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@238673.6]
+  wire  _T_605; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238675.6]
+  wire  _T_606; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238676.6]
+  wire  _T_607; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@238681.6]
+  wire  _T_609; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238683.6]
+  wire  _T_610; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238684.6]
+  wire  _T_620; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@238707.4]
+  reg [63:0] _T_622; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@238716.4]
+  reg [63:0] _RAND_10;
+  reg  _T_633; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@238726.4]
+  reg [31:0] _RAND_11;
+  wire [1:0] _T_634; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@238727.4]
+  wire [1:0] _T_635; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@238728.4]
+  wire  _T_636; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@238729.4]
+  wire  _T_637; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@238730.4]
+  reg  _T_654; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@238749.4]
+  reg [31:0] _RAND_12;
+  wire [1:0] _T_655; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@238750.4]
+  wire [1:0] _T_656; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@238751.4]
+  wire  _T_657; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@238752.4]
+  wire  _T_658; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@238753.4]
+  wire  _T_669; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@238768.4]
+  wire [63:0] _T_671; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@238771.6]
+  wire [63:0] _T_672; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@238773.6]
+  wire  _T_673; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@238774.6]
+  wire  _T_674; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238775.6]
+  wire  _T_676; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@238777.6]
+  wire  _T_677; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@238778.6]
+  wire [63:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@238770.4]
+  wire  _T_682; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@238789.4]
+  wire  _T_684; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@238791.4]
+  wire  _T_685; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@238792.4]
+  wire [63:0] _T_686; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@238794.6]
+  wire [63:0] _T_687; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@238796.6]
+  wire [63:0] _T_688; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@238797.6]
+  wire  _T_689; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@238798.6]
+  wire  _T_691; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@238800.6]
+  wire  _T_692; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@238801.6]
+  wire [63:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@238793.4]
+  wire [63:0] _T_693; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@238807.4]
+  wire [63:0] _T_694; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@238808.4]
+  wire [63:0] _T_695; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@238809.4]
+  reg [31:0] _T_697; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@238811.4]
+  reg [31:0] _RAND_13;
+  wire  _T_698; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@238814.4]
+  wire  _T_699; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@238815.4]
+  wire  _T_700; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@238816.4]
+  wire  _T_701; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@238817.4]
+  wire  _T_702; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@238818.4]
+  wire  _T_703; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@238819.4]
+  wire  _T_705; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@238821.4]
+  wire  _T_706; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@238822.4]
+  wire [31:0] _T_708; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@238828.4]
+  wire  _T_711; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@238832.4]
+  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237786.10]
+  wire  _GEN_33; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237858.10]
+  wire  _GEN_49; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237941.10]
+  wire  _GEN_59; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238000.10]
+  wire  _GEN_67; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238051.10]
+  wire  _GEN_75; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238101.10]
+  wire  _GEN_83; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238149.10]
+  wire  _GEN_91; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238197.10]
+  wire  _GEN_99; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238267.10]
+  wire  _GEN_101; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238308.10]
+  wire  _GEN_105; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238366.10]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@238812.4]
+    .out(plusarg_reader_out)
+  );
+  assign _T_36 = 5'h3 << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@237712.6]
+  assign _T_37 = _T_36[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@237713.6]
+  assign _T_38 = ~ _T_37; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@237714.6]
+  assign _GEN_18 = {{27'd0}, _T_38}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@237715.6]
+  assign _T_39 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@237715.6]
+  assign _T_40 = _T_39 == 29'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237716.6]
+  assign _T_42 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@237718.6]
+  assign _T_43 = 2'h1 << _T_42; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@237719.6]
+  assign _T_45 = _T_43 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@237721.6]
+  assign _T_46 = io_in_a_bits_size >= 2'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@237722.6]
+  assign _T_47 = _T_45[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@237723.6]
+  assign _T_48 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@237724.6]
+  assign _T_49 = _T_48 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@237725.6]
+  assign _T_51 = _T_47 & _T_49; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@237727.6]
+  assign _T_52 = _T_46 | _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237728.6]
+  assign _T_54 = _T_47 & _T_48; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@237730.6]
+  assign _T_55 = _T_46 | _T_54; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237731.6]
+  assign _T_56 = _T_45[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@237732.6]
+  assign _T_57 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@237733.6]
+  assign _T_58 = _T_57 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@237734.6]
+  assign _T_59 = _T_49 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@237735.6]
+  assign _T_60 = _T_56 & _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@237736.6]
+  assign _T_61 = _T_52 | _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237737.6]
+  assign _T_62 = _T_49 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@237738.6]
+  assign _T_63 = _T_56 & _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@237739.6]
+  assign _T_64 = _T_52 | _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237740.6]
+  assign _T_65 = _T_48 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@237741.6]
+  assign _T_66 = _T_56 & _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@237742.6]
+  assign _T_67 = _T_55 | _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237743.6]
+  assign _T_68 = _T_48 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@237744.6]
+  assign _T_69 = _T_56 & _T_68; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@237745.6]
+  assign _T_70 = _T_55 | _T_69; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237746.6]
+  assign _T_71 = {_T_64,_T_61}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@237747.6]
+  assign _T_72 = {_T_70,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@237748.6]
+  assign _T_73 = {_T_72,_T_71}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@237749.6]
+  assign _T_92 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@237772.6]
+  assign _T_94 = io_in_a_bits_address ^ 29'h10013000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237775.8]
+  assign _T_95 = {1'b0,$signed(_T_94)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@237776.8]
+  assign _T_96 = $signed(_T_95) & $signed(-30'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@237777.8]
+  assign _T_97 = $signed(_T_96); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@237778.8]
+  assign _T_98 = $signed(_T_97) == $signed(30'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@237779.8]
+  assign _T_103 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237784.8]
+  assign _T_112 = _T_46 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237805.8]
+  assign _T_113 = _T_112 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237806.8]
+  assign _T_115 = _T_40 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237812.8]
+  assign _T_116 = _T_115 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237813.8]
+  assign _T_117 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@237818.8]
+  assign _T_119 = _T_117 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237820.8]
+  assign _T_120 = _T_119 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237821.8]
+  assign _T_121 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@237826.8]
+  assign _T_122 = _T_121 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@237827.8]
+  assign _T_124 = _T_122 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237829.8]
+  assign _T_125 = _T_124 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237830.8]
+  assign _T_126 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@237835.8]
+  assign _T_128 = _T_126 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237837.8]
+  assign _T_129 = _T_128 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237838.8]
+  assign _T_130 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@237844.6]
+  assign _T_159 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@237898.8]
+  assign _T_161 = _T_159 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237900.8]
+  assign _T_162 = _T_161 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237901.8]
+  assign _T_172 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@237924.6]
+  assign _T_174 = io_in_a_bits_size <= 2'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@237927.8]
+  assign _T_182 = _T_174 & _T_98; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@237935.8]
+  assign _T_185 = _T_182 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237938.8]
+  assign _T_186 = _T_185 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237939.8]
+  assign _T_193 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@237958.8]
+  assign _T_195 = _T_193 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237960.8]
+  assign _T_196 = _T_195 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237961.8]
+  assign _T_197 = io_in_a_bits_mask == _T_73; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@237966.8]
+  assign _T_199 = _T_197 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237968.8]
+  assign _T_200 = _T_199 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237969.8]
+  assign _T_205 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@237983.6]
+  assign _T_234 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@238034.6]
+  assign _T_259 = ~ _T_73; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@238076.8]
+  assign _T_260 = io_in_a_bits_mask & _T_259; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@238077.8]
+  assign _T_261 = _T_260 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@238078.8]
+  assign _T_263 = _T_261 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238080.8]
+  assign _T_264 = _T_263 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238081.8]
+  assign _T_265 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@238087.6]
+  assign _T_283 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@238118.8]
+  assign _T_285 = _T_283 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238120.8]
+  assign _T_286 = _T_285 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238121.8]
+  assign _T_291 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@238135.6]
+  assign _T_309 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@238166.8]
+  assign _T_311 = _T_309 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238168.8]
+  assign _T_312 = _T_311 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238169.8]
+  assign _T_317 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@238183.6]
+  assign _T_343 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@238233.6]
+  assign _T_345 = _T_343 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@238235.6]
+  assign _T_346 = _T_345 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@238236.6]
+  assign _T_363 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@238253.6]
+  assign _T_367 = io_in_d_bits_size >= 2'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@238262.8]
+  assign _T_369 = _T_367 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238264.8]
+  assign _T_370 = _T_369 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238265.8]
+  assign _T_383 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@238295.6]
+  assign _T_411 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@238353.6]
+  assign _T_504 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@238543.4]
+  assign _T_515 = _T_514 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@238553.4]
+  assign _T_516 = $unsigned(_T_515); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@238554.4]
+  assign _T_517 = _T_516[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@238555.4]
+  assign _T_518 = _T_514 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@238556.4]
+  assign _T_536 = _T_518 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@238572.4]
+  assign _T_537 = io_in_a_valid & _T_536; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@238573.4]
+  assign _T_538 = io_in_a_bits_opcode == _T_527; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@238575.6]
+  assign _T_540 = _T_538 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238577.6]
+  assign _T_541 = _T_540 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238578.6]
+  assign _T_542 = io_in_a_bits_param == _T_529; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@238583.6]
+  assign _T_544 = _T_542 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238585.6]
+  assign _T_545 = _T_544 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238586.6]
+  assign _T_546 = io_in_a_bits_size == _T_531; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@238591.6]
+  assign _T_548 = _T_546 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238593.6]
+  assign _T_549 = _T_548 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238594.6]
+  assign _T_550 = io_in_a_bits_source == _T_533; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@238599.6]
+  assign _T_552 = _T_550 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238601.6]
+  assign _T_553 = _T_552 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238602.6]
+  assign _T_554 = io_in_a_bits_address == _T_535; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@238607.6]
+  assign _T_556 = _T_554 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238609.6]
+  assign _T_557 = _T_556 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238610.6]
+  assign _T_559 = _T_504 & _T_518; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@238617.4]
+  assign _T_560 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@238625.4]
+  assign _T_570 = _T_569 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@238634.4]
+  assign _T_571 = $unsigned(_T_570); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@238635.4]
+  assign _T_572 = _T_571[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@238636.4]
+  assign _T_573 = _T_569 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@238637.4]
+  assign _T_593 = _T_573 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@238654.4]
+  assign _T_594 = io_in_d_valid & _T_593; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@238655.4]
+  assign _T_595 = io_in_d_bits_opcode == _T_582; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@238657.6]
+  assign _T_597 = _T_595 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238659.6]
+  assign _T_598 = _T_597 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238660.6]
+  assign _T_603 = io_in_d_bits_size == _T_586; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@238673.6]
+  assign _T_605 = _T_603 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238675.6]
+  assign _T_606 = _T_605 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238676.6]
+  assign _T_607 = io_in_d_bits_source == _T_588; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@238681.6]
+  assign _T_609 = _T_607 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238683.6]
+  assign _T_610 = _T_609 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238684.6]
+  assign _T_620 = _T_560 & _T_573; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@238707.4]
+  assign _T_634 = _T_633 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@238727.4]
+  assign _T_635 = $unsigned(_T_634); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@238728.4]
+  assign _T_636 = _T_635[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@238729.4]
+  assign _T_637 = _T_633 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@238730.4]
+  assign _T_655 = _T_654 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@238750.4]
+  assign _T_656 = $unsigned(_T_655); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@238751.4]
+  assign _T_657 = _T_656[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@238752.4]
+  assign _T_658 = _T_654 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@238753.4]
+  assign _T_669 = _T_504 & _T_637; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@238768.4]
+  assign _T_671 = 64'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@238771.6]
+  assign _T_672 = _T_622 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@238773.6]
+  assign _T_673 = _T_672[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@238774.6]
+  assign _T_674 = _T_673 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238775.6]
+  assign _T_676 = _T_674 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@238777.6]
+  assign _T_677 = _T_676 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@238778.6]
+  assign _GEN_15 = _T_669 ? _T_671 : 64'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@238770.4]
+  assign _T_682 = _T_560 & _T_658; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@238789.4]
+  assign _T_684 = _T_363 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@238791.4]
+  assign _T_685 = _T_682 & _T_684; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@238792.4]
+  assign _T_686 = 64'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@238794.6]
+  assign _T_687 = _GEN_15 | _T_622; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@238796.6]
+  assign _T_688 = _T_687 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@238797.6]
+  assign _T_689 = _T_688[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@238798.6]
+  assign _T_691 = _T_689 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@238800.6]
+  assign _T_692 = _T_691 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@238801.6]
+  assign _GEN_16 = _T_685 ? _T_686 : 64'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@238793.4]
+  assign _T_693 = _T_622 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@238807.4]
+  assign _T_694 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@238808.4]
+  assign _T_695 = _T_693 & _T_694; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@238809.4]
+  assign _T_698 = _T_622 != 64'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@238814.4]
+  assign _T_699 = _T_698 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@238815.4]
+  assign _T_700 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@238816.4]
+  assign _T_701 = _T_699 | _T_700; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@238817.4]
+  assign _T_702 = _T_697 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@238818.4]
+  assign _T_703 = _T_701 | _T_702; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@238819.4]
+  assign _T_705 = _T_703 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@238821.4]
+  assign _T_706 = _T_705 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@238822.4]
+  assign _T_708 = _T_697 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@238828.4]
+  assign _T_711 = _T_504 | _T_560; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@238832.4]
+  assign _GEN_19 = io_in_a_valid & _T_92; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237786.10]
+  assign _GEN_33 = io_in_a_valid & _T_130; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237858.10]
+  assign _GEN_49 = io_in_a_valid & _T_172; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237941.10]
+  assign _GEN_59 = io_in_a_valid & _T_205; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238000.10]
+  assign _GEN_67 = io_in_a_valid & _T_234; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238051.10]
+  assign _GEN_75 = io_in_a_valid & _T_265; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238101.10]
+  assign _GEN_83 = io_in_a_valid & _T_291; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238149.10]
+  assign _GEN_91 = io_in_a_valid & _T_317; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238197.10]
+  assign _GEN_99 = io_in_d_valid & _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238267.10]
+  assign _GEN_101 = io_in_d_valid & _T_383; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238308.10]
+  assign _GEN_105 = io_in_d_valid & _T_411; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238366.10]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  _T_514 = _RAND_0[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  _T_527 = _RAND_1[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  _T_529 = _RAND_2[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  _T_531 = _RAND_3[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  _T_533 = _RAND_4[5:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  _T_535 = _RAND_5[28:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {1{`RANDOM}};
+  _T_569 = _RAND_6[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {1{`RANDOM}};
+  _T_582 = _RAND_7[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_8 = {1{`RANDOM}};
+  _T_586 = _RAND_8[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_9 = {1{`RANDOM}};
+  _T_588 = _RAND_9[5:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_10 = {2{`RANDOM}};
+  _T_622 = _RAND_10[63:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_11 = {1{`RANDOM}};
+  _T_633 = _RAND_11[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_12 = {1{`RANDOM}};
+  _T_654 = _RAND_12[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_13 = {1{`RANDOM}};
+  _T_697 = _RAND_13[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      _T_514 <= 1'h0;
+    end else begin
+      if (_T_504) begin
+        if (_T_518) begin
+          _T_514 <= 1'h0;
+        end else begin
+          _T_514 <= _T_517;
+        end
+      end
+    end
+    if (_T_559) begin
+      _T_527 <= io_in_a_bits_opcode;
+    end
+    if (_T_559) begin
+      _T_529 <= io_in_a_bits_param;
+    end
+    if (_T_559) begin
+      _T_531 <= io_in_a_bits_size;
+    end
+    if (_T_559) begin
+      _T_533 <= io_in_a_bits_source;
+    end
+    if (_T_559) begin
+      _T_535 <= io_in_a_bits_address;
+    end
+    if (reset) begin
+      _T_569 <= 1'h0;
+    end else begin
+      if (_T_560) begin
+        if (_T_573) begin
+          _T_569 <= 1'h0;
+        end else begin
+          _T_569 <= _T_572;
+        end
+      end
+    end
+    if (_T_620) begin
+      _T_582 <= io_in_d_bits_opcode;
+    end
+    if (_T_620) begin
+      _T_586 <= io_in_d_bits_size;
+    end
+    if (_T_620) begin
+      _T_588 <= io_in_d_bits_source;
+    end
+    if (reset) begin
+      _T_622 <= 64'h0;
+    end else begin
+      _T_622 <= _T_695;
+    end
+    if (reset) begin
+      _T_633 <= 1'h0;
+    end else begin
+      if (_T_504) begin
+        if (_T_637) begin
+          _T_633 <= 1'h0;
+        end else begin
+          _T_633 <= _T_636;
+        end
+      end
+    end
+    if (reset) begin
+      _T_654 <= 1'h0;
+    end else begin
+      if (_T_560) begin
+        if (_T_658) begin
+          _T_654 <= 1'h0;
+        end else begin
+          _T_654 <= _T_657;
+        end
+      end
+    end
+    if (reset) begin
+      _T_697 <= 32'h0;
+    end else begin
+      if (_T_711) begin
+        _T_697 <= 32'h0;
+      end else begin
+        _T_697 <= _T_708;
+      end
+    end
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@237697.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@237698.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@237769.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@237770.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237786.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_103) begin
+          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237787.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237793.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_103) begin
+          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237794.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237800.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237801.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_113) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237808.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_113) begin
+          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237809.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237815.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_116) begin
+          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237816.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_120) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237823.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_120) begin
+          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237824.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_125) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237832.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_125) begin
+          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237833.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_129) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237840.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_129) begin
+          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237841.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237858.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_103) begin
+          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237859.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237865.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_103) begin
+          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237866.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237872.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237873.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_113) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237880.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_113) begin
+          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237881.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237887.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_116) begin
+          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237888.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_120) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237895.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_120) begin
+          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237896.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_162) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237903.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_162) begin
+          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237904.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_125) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237912.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_125) begin
+          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237913.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_129) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237920.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_129) begin
+          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237921.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_186) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237941.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_186) begin
+          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237942.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237948.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237949.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237955.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_116) begin
+          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237956.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_196) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237963.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_196) begin
+          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237964.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237971.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_200) begin
+          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237972.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_129) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237979.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_129) begin
+          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237980.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_59 & _T_186) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238000.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_59 & _T_186) begin
+          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238001.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238007.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238008.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_59 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238014.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_59 & _T_116) begin
+          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238015.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_59 & _T_196) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238022.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_59 & _T_196) begin
+          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238023.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_59 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238030.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_59 & _T_200) begin
+          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238031.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_67 & _T_186) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238051.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_67 & _T_186) begin
+          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238052.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238058.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238059.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_67 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238065.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_67 & _T_116) begin
+          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238066.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_67 & _T_196) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238073.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_67 & _T_196) begin
+          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238074.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_67 & _T_264) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238083.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_67 & _T_264) begin
+          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238084.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238101.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_103) begin
+          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238102.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238108.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238109.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238115.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_116) begin
+          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238116.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_286) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238123.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_286) begin
+          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238124.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238131.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_200) begin
+          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238132.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_83 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238149.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_83 & _T_103) begin
+          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238150.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238156.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238157.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_83 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238163.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_83 & _T_116) begin
+          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238164.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_83 & _T_312) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238171.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_83 & _T_312) begin
+          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238172.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_83 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238179.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_83 & _T_200) begin
+          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238180.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_91 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238197.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_91 & _T_103) begin
+          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238198.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238204.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238205.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_91 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238211.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_91 & _T_116) begin
+          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238212.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_91 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238219.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_91 & _T_200) begin
+          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238220.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_91 & _T_129) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238227.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_91 & _T_129) begin
+          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238228.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_346) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@238238.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_346) begin
+          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@238239.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238259.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238260.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_99 & _T_370) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238267.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_99 & _T_370) begin
+          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238268.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238275.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238276.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238283.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238284.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238291.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238292.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238301.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238302.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_101 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238308.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_101 & _T_103) begin
+          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238309.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_101 & _T_370) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238316.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_101 & _T_370) begin
+          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238317.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238324.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238325.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238332.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238333.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238340.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238341.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238349.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238350.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238359.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238360.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238366.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_103) begin
+          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238367.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_370) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238374.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_370) begin
+          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238375.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238382.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238383.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238390.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238391.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238399.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238400.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238408.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238409.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238418.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238419.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238426.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238427.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238434.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238435.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238443.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238444.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238453.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238454.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238461.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238462.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238470.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238471.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238479.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238480.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238489.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238490.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238497.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238498.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238505.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238506.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238514.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238515.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238524.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238525.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238532.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238533.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238540.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238541.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_541) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238580.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_541) begin
+          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238581.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_545) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238588.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_545) begin
+          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238589.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_549) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238596.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_549) begin
+          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238597.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_553) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238604.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_553) begin
+          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238605.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_557) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238612.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_557) begin
+          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238613.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_594 & _T_598) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238662.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_594 & _T_598) begin
+          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238663.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238670.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238671.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_594 & _T_606) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238678.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_594 & _T_606) begin
+          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238679.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_594 & _T_610) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238686.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_594 & _T_610) begin
+          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238687.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238694.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238695.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238702.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238703.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_669 & _T_677) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@238780.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_669 & _T_677) begin
+          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@238781.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_685 & _T_692) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@238803.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_685 & _T_692) begin
+          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@238804.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_706) begin
+          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@238824.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_706) begin
+          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@238825.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+endmodule
+module TLBuffer_17( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@238837.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@238838.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@238839.4]
+  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@238840.4]
+  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@238840.4]
+  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@238840.4]
+  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@238840.4]
+  input  [1:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@238840.4]
+  input  [5:0]  auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@238840.4]
+  input  [28:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@238840.4]
+  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@238840.4]
+  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@238840.4]
+  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@238840.4]
+  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@238840.4]
+  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@238840.4]
+  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@238840.4]
+  output [1:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@238840.4]
+  output [5:0]  auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@238840.4]
+  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@238840.4]
+  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@238840.4]
+  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@238840.4]
+  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@238840.4]
+  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@238840.4]
+  output [1:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@238840.4]
+  output [5:0]  auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@238840.4]
+  output [28:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@238840.4]
+  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@238840.4]
+  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@238840.4]
+  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@238840.4]
+  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@238840.4]
+  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@238840.4]
+  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@238840.4]
+  input  [1:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@238840.4]
+  input  [5:0]  auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@238840.4]
+  input  [31:0] auto_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@238840.4]
+);
+  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@238847.4]
+  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@238847.4]
+  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@238847.4]
+  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@238847.4]
+  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@238847.4]
+  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@238847.4]
+  wire [1:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@238847.4]
+  wire [5:0] TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@238847.4]
+  wire [28:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@238847.4]
+  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@238847.4]
+  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@238847.4]
+  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@238847.4]
+  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@238847.4]
+  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@238847.4]
+  wire [1:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@238847.4]
+  wire [5:0] TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@238847.4]
+  TLMonitor_58 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@238847.4]
+    .clock(TLMonitor_clock),
+    .reset(TLMonitor_reset),
+    .io_in_a_ready(TLMonitor_io_in_a_ready),
+    .io_in_a_valid(TLMonitor_io_in_a_valid),
+    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
+    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
+    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
+    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
+    .io_in_d_ready(TLMonitor_io_in_d_ready),
+    .io_in_d_valid(TLMonitor_io_in_d_valid),
+    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
+    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
+    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source)
+  );
+  assign auto_in_a_ready = auto_out_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@238887.4]
+  assign auto_in_d_valid = auto_out_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@238887.4]
+  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@238887.4]
+  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@238887.4]
+  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@238887.4]
+  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@238887.4]
+  assign auto_out_a_valid = auto_in_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@238886.4]
+  assign auto_out_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@238886.4]
+  assign auto_out_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@238886.4]
+  assign auto_out_a_bits_size = auto_in_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@238886.4]
+  assign auto_out_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@238886.4]
+  assign auto_out_a_bits_address = auto_in_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@238886.4]
+  assign auto_out_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@238886.4]
+  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@238886.4]
+  assign auto_out_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@238886.4]
+  assign auto_out_d_ready = auto_in_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@238886.4]
+  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@238849.4]
+  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@238850.4]
+  assign TLMonitor_io_in_a_ready = auto_out_a_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@238883.4]
+  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@238883.4]
+  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@238883.4]
+  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@238883.4]
+  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@238883.4]
+  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@238883.4]
+  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@238883.4]
+  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@238883.4]
+  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@238883.4]
+  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@238883.4]
+  assign TLMonitor_io_in_d_valid = auto_out_d_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@238883.4]
+  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@238883.4]
+  assign TLMonitor_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@238883.4]
+  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@238883.4]
+endmodule
+module TLMonitor_59( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@238958.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@238959.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@238960.4]
+  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@238961.4]
+  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@238961.4]
+  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@238961.4]
+  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@238961.4]
+  input  [1:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@238961.4]
+  input  [5:0]  io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@238961.4]
+  input  [28:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@238961.4]
+  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@238961.4]
+  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@238961.4]
+  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@238961.4]
+  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@238961.4]
+  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@238961.4]
+  input  [1:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@238961.4]
+  input  [5:0]  io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@238961.4]
+);
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@240088.4]
+  wire [4:0] _T_36; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@238988.6]
+  wire [1:0] _T_37; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@238989.6]
+  wire [1:0] _T_38; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@238990.6]
+  wire [28:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@238991.6]
+  wire [28:0] _T_39; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@238991.6]
+  wire  _T_40; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@238992.6]
+  wire  _T_42; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@238994.6]
+  wire [1:0] _T_43; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@238995.6]
+  wire [1:0] _T_45; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@238997.6]
+  wire  _T_46; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@238998.6]
+  wire  _T_47; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@238999.6]
+  wire  _T_48; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@239000.6]
+  wire  _T_49; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@239001.6]
+  wire  _T_51; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@239003.6]
+  wire  _T_52; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@239004.6]
+  wire  _T_54; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@239006.6]
+  wire  _T_55; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@239007.6]
+  wire  _T_56; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@239008.6]
+  wire  _T_57; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@239009.6]
+  wire  _T_58; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@239010.6]
+  wire  _T_59; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@239011.6]
+  wire  _T_60; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@239012.6]
+  wire  _T_61; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@239013.6]
+  wire  _T_62; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@239014.6]
+  wire  _T_63; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@239015.6]
+  wire  _T_64; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@239016.6]
+  wire  _T_65; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@239017.6]
+  wire  _T_66; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@239018.6]
+  wire  _T_67; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@239019.6]
+  wire  _T_68; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@239020.6]
+  wire  _T_69; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@239021.6]
+  wire  _T_70; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@239022.6]
+  wire [1:0] _T_71; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@239023.6]
+  wire [1:0] _T_72; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@239024.6]
+  wire [3:0] _T_73; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@239025.6]
+  wire  _T_92; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@239048.6]
+  wire [28:0] _T_94; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@239051.8]
+  wire [29:0] _T_95; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@239052.8]
+  wire [29:0] _T_96; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@239053.8]
+  wire [29:0] _T_97; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@239054.8]
+  wire  _T_98; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@239055.8]
+  wire  _T_103; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239060.8]
+  wire  _T_112; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239081.8]
+  wire  _T_113; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239082.8]
+  wire  _T_115; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239088.8]
+  wire  _T_116; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239089.8]
+  wire  _T_117; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@239094.8]
+  wire  _T_119; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239096.8]
+  wire  _T_120; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239097.8]
+  wire [3:0] _T_121; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@239102.8]
+  wire  _T_122; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@239103.8]
+  wire  _T_124; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239105.8]
+  wire  _T_125; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239106.8]
+  wire  _T_126; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@239111.8]
+  wire  _T_128; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239113.8]
+  wire  _T_129; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239114.8]
+  wire  _T_130; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@239120.6]
+  wire  _T_159; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@239174.8]
+  wire  _T_161; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239176.8]
+  wire  _T_162; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239177.8]
+  wire  _T_172; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@239200.6]
+  wire  _T_174; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@239203.8]
+  wire  _T_182; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@239211.8]
+  wire  _T_185; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239214.8]
+  wire  _T_186; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239215.8]
+  wire  _T_193; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@239234.8]
+  wire  _T_195; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239236.8]
+  wire  _T_196; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239237.8]
+  wire  _T_197; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@239242.8]
+  wire  _T_199; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239244.8]
+  wire  _T_200; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239245.8]
+  wire  _T_205; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@239259.6]
+  wire  _T_234; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@239310.6]
+  wire [3:0] _T_259; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@239352.8]
+  wire [3:0] _T_260; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@239353.8]
+  wire  _T_261; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@239354.8]
+  wire  _T_263; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239356.8]
+  wire  _T_264; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239357.8]
+  wire  _T_265; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@239363.6]
+  wire  _T_283; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@239394.8]
+  wire  _T_285; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239396.8]
+  wire  _T_286; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239397.8]
+  wire  _T_291; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@239411.6]
+  wire  _T_309; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@239442.8]
+  wire  _T_311; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239444.8]
+  wire  _T_312; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239445.8]
+  wire  _T_317; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@239459.6]
+  wire  _T_343; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@239509.6]
+  wire  _T_345; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@239511.6]
+  wire  _T_346; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@239512.6]
+  wire  _T_363; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@239529.6]
+  wire  _T_367; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@239538.8]
+  wire  _T_369; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239540.8]
+  wire  _T_370; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239541.8]
+  wire  _T_383; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@239571.6]
+  wire  _T_411; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@239629.6]
+  wire  _T_504; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@239819.4]
+  reg  _T_514; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@239828.4]
+  reg [31:0] _RAND_0;
+  wire [1:0] _T_515; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@239829.4]
+  wire [1:0] _T_516; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@239830.4]
+  wire  _T_517; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@239831.4]
+  wire  _T_518; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@239832.4]
+  reg [2:0] _T_527; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@239843.4]
+  reg [31:0] _RAND_1;
+  reg [2:0] _T_529; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@239844.4]
+  reg [31:0] _RAND_2;
+  reg [1:0] _T_531; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@239845.4]
+  reg [31:0] _RAND_3;
+  reg [5:0] _T_533; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@239846.4]
+  reg [31:0] _RAND_4;
+  reg [28:0] _T_535; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@239847.4]
+  reg [31:0] _RAND_5;
+  wire  _T_536; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@239848.4]
+  wire  _T_537; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@239849.4]
+  wire  _T_538; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@239851.6]
+  wire  _T_540; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239853.6]
+  wire  _T_541; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239854.6]
+  wire  _T_542; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@239859.6]
+  wire  _T_544; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239861.6]
+  wire  _T_545; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239862.6]
+  wire  _T_546; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@239867.6]
+  wire  _T_548; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239869.6]
+  wire  _T_549; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239870.6]
+  wire  _T_550; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@239875.6]
+  wire  _T_552; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239877.6]
+  wire  _T_553; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239878.6]
+  wire  _T_554; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@239883.6]
+  wire  _T_556; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239885.6]
+  wire  _T_557; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239886.6]
+  wire  _T_559; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@239893.4]
+  wire  _T_560; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@239901.4]
+  reg  _T_569; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@239909.4]
+  reg [31:0] _RAND_6;
+  wire [1:0] _T_570; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@239910.4]
+  wire [1:0] _T_571; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@239911.4]
+  wire  _T_572; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@239912.4]
+  wire  _T_573; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@239913.4]
+  reg [2:0] _T_582; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@239924.4]
+  reg [31:0] _RAND_7;
+  reg [1:0] _T_586; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@239926.4]
+  reg [31:0] _RAND_8;
+  reg [5:0] _T_588; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@239927.4]
+  reg [31:0] _RAND_9;
+  wire  _T_593; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@239930.4]
+  wire  _T_594; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@239931.4]
+  wire  _T_595; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@239933.6]
+  wire  _T_597; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239935.6]
+  wire  _T_598; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239936.6]
+  wire  _T_603; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@239949.6]
+  wire  _T_605; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239951.6]
+  wire  _T_606; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239952.6]
+  wire  _T_607; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@239957.6]
+  wire  _T_609; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239959.6]
+  wire  _T_610; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239960.6]
+  wire  _T_620; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@239983.4]
+  reg [63:0] _T_622; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@239992.4]
+  reg [63:0] _RAND_10;
+  reg  _T_633; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@240002.4]
+  reg [31:0] _RAND_11;
+  wire [1:0] _T_634; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@240003.4]
+  wire [1:0] _T_635; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@240004.4]
+  wire  _T_636; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@240005.4]
+  wire  _T_637; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@240006.4]
+  reg  _T_654; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@240025.4]
+  reg [31:0] _RAND_12;
+  wire [1:0] _T_655; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@240026.4]
+  wire [1:0] _T_656; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@240027.4]
+  wire  _T_657; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@240028.4]
+  wire  _T_658; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@240029.4]
+  wire  _T_669; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@240044.4]
+  wire [63:0] _T_671; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@240047.6]
+  wire [63:0] _T_672; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@240049.6]
+  wire  _T_673; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@240050.6]
+  wire  _T_674; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@240051.6]
+  wire  _T_676; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@240053.6]
+  wire  _T_677; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@240054.6]
+  wire [63:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@240046.4]
+  wire  _T_682; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@240065.4]
+  wire  _T_684; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@240067.4]
+  wire  _T_685; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@240068.4]
+  wire [63:0] _T_686; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@240070.6]
+  wire [63:0] _T_687; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@240072.6]
+  wire [63:0] _T_688; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@240073.6]
+  wire  _T_689; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@240074.6]
+  wire  _T_691; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@240076.6]
+  wire  _T_692; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@240077.6]
+  wire [63:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@240069.4]
+  wire [63:0] _T_693; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@240083.4]
+  wire [63:0] _T_694; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@240084.4]
+  wire [63:0] _T_695; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@240085.4]
+  reg [31:0] _T_697; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@240087.4]
+  reg [31:0] _RAND_13;
+  wire  _T_698; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@240090.4]
+  wire  _T_699; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@240091.4]
+  wire  _T_700; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@240092.4]
+  wire  _T_701; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@240093.4]
+  wire  _T_702; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@240094.4]
+  wire  _T_703; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@240095.4]
+  wire  _T_705; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@240097.4]
+  wire  _T_706; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@240098.4]
+  wire [31:0] _T_708; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@240104.4]
+  wire  _T_711; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@240108.4]
+  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239062.10]
+  wire  _GEN_33; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239134.10]
+  wire  _GEN_49; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239217.10]
+  wire  _GEN_59; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239276.10]
+  wire  _GEN_67; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239327.10]
+  wire  _GEN_75; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239377.10]
+  wire  _GEN_83; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239425.10]
+  wire  _GEN_91; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239473.10]
+  wire  _GEN_99; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239543.10]
+  wire  _GEN_101; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239584.10]
+  wire  _GEN_105; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239642.10]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@240088.4]
+    .out(plusarg_reader_out)
+  );
+  assign _T_36 = 5'h3 << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@238988.6]
+  assign _T_37 = _T_36[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@238989.6]
+  assign _T_38 = ~ _T_37; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@238990.6]
+  assign _GEN_18 = {{27'd0}, _T_38}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@238991.6]
+  assign _T_39 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@238991.6]
+  assign _T_40 = _T_39 == 29'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@238992.6]
+  assign _T_42 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@238994.6]
+  assign _T_43 = 2'h1 << _T_42; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@238995.6]
+  assign _T_45 = _T_43 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@238997.6]
+  assign _T_46 = io_in_a_bits_size >= 2'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@238998.6]
+  assign _T_47 = _T_45[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@238999.6]
+  assign _T_48 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@239000.6]
+  assign _T_49 = _T_48 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@239001.6]
+  assign _T_51 = _T_47 & _T_49; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@239003.6]
+  assign _T_52 = _T_46 | _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@239004.6]
+  assign _T_54 = _T_47 & _T_48; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@239006.6]
+  assign _T_55 = _T_46 | _T_54; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@239007.6]
+  assign _T_56 = _T_45[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@239008.6]
+  assign _T_57 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@239009.6]
+  assign _T_58 = _T_57 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@239010.6]
+  assign _T_59 = _T_49 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@239011.6]
+  assign _T_60 = _T_56 & _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@239012.6]
+  assign _T_61 = _T_52 | _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@239013.6]
+  assign _T_62 = _T_49 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@239014.6]
+  assign _T_63 = _T_56 & _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@239015.6]
+  assign _T_64 = _T_52 | _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@239016.6]
+  assign _T_65 = _T_48 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@239017.6]
+  assign _T_66 = _T_56 & _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@239018.6]
+  assign _T_67 = _T_55 | _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@239019.6]
+  assign _T_68 = _T_48 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@239020.6]
+  assign _T_69 = _T_56 & _T_68; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@239021.6]
+  assign _T_70 = _T_55 | _T_69; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@239022.6]
+  assign _T_71 = {_T_64,_T_61}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@239023.6]
+  assign _T_72 = {_T_70,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@239024.6]
+  assign _T_73 = {_T_72,_T_71}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@239025.6]
+  assign _T_92 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@239048.6]
+  assign _T_94 = io_in_a_bits_address ^ 29'h10013000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@239051.8]
+  assign _T_95 = {1'b0,$signed(_T_94)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@239052.8]
+  assign _T_96 = $signed(_T_95) & $signed(-30'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@239053.8]
+  assign _T_97 = $signed(_T_96); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@239054.8]
+  assign _T_98 = $signed(_T_97) == $signed(30'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@239055.8]
+  assign _T_103 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239060.8]
+  assign _T_112 = _T_46 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239081.8]
+  assign _T_113 = _T_112 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239082.8]
+  assign _T_115 = _T_40 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239088.8]
+  assign _T_116 = _T_115 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239089.8]
+  assign _T_117 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@239094.8]
+  assign _T_119 = _T_117 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239096.8]
+  assign _T_120 = _T_119 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239097.8]
+  assign _T_121 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@239102.8]
+  assign _T_122 = _T_121 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@239103.8]
+  assign _T_124 = _T_122 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239105.8]
+  assign _T_125 = _T_124 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239106.8]
+  assign _T_126 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@239111.8]
+  assign _T_128 = _T_126 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239113.8]
+  assign _T_129 = _T_128 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239114.8]
+  assign _T_130 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@239120.6]
+  assign _T_159 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@239174.8]
+  assign _T_161 = _T_159 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239176.8]
+  assign _T_162 = _T_161 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239177.8]
+  assign _T_172 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@239200.6]
+  assign _T_174 = io_in_a_bits_size <= 2'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@239203.8]
+  assign _T_182 = _T_174 & _T_98; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@239211.8]
+  assign _T_185 = _T_182 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239214.8]
+  assign _T_186 = _T_185 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239215.8]
+  assign _T_193 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@239234.8]
+  assign _T_195 = _T_193 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239236.8]
+  assign _T_196 = _T_195 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239237.8]
+  assign _T_197 = io_in_a_bits_mask == _T_73; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@239242.8]
+  assign _T_199 = _T_197 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239244.8]
+  assign _T_200 = _T_199 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239245.8]
+  assign _T_205 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@239259.6]
+  assign _T_234 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@239310.6]
+  assign _T_259 = ~ _T_73; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@239352.8]
+  assign _T_260 = io_in_a_bits_mask & _T_259; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@239353.8]
+  assign _T_261 = _T_260 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@239354.8]
+  assign _T_263 = _T_261 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239356.8]
+  assign _T_264 = _T_263 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239357.8]
+  assign _T_265 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@239363.6]
+  assign _T_283 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@239394.8]
+  assign _T_285 = _T_283 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239396.8]
+  assign _T_286 = _T_285 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239397.8]
+  assign _T_291 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@239411.6]
+  assign _T_309 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@239442.8]
+  assign _T_311 = _T_309 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239444.8]
+  assign _T_312 = _T_311 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239445.8]
+  assign _T_317 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@239459.6]
+  assign _T_343 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@239509.6]
+  assign _T_345 = _T_343 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@239511.6]
+  assign _T_346 = _T_345 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@239512.6]
+  assign _T_363 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@239529.6]
+  assign _T_367 = io_in_d_bits_size >= 2'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@239538.8]
+  assign _T_369 = _T_367 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239540.8]
+  assign _T_370 = _T_369 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239541.8]
+  assign _T_383 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@239571.6]
+  assign _T_411 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@239629.6]
+  assign _T_504 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@239819.4]
+  assign _T_515 = _T_514 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@239829.4]
+  assign _T_516 = $unsigned(_T_515); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@239830.4]
+  assign _T_517 = _T_516[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@239831.4]
+  assign _T_518 = _T_514 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@239832.4]
+  assign _T_536 = _T_518 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@239848.4]
+  assign _T_537 = io_in_a_valid & _T_536; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@239849.4]
+  assign _T_538 = io_in_a_bits_opcode == _T_527; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@239851.6]
+  assign _T_540 = _T_538 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239853.6]
+  assign _T_541 = _T_540 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239854.6]
+  assign _T_542 = io_in_a_bits_param == _T_529; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@239859.6]
+  assign _T_544 = _T_542 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239861.6]
+  assign _T_545 = _T_544 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239862.6]
+  assign _T_546 = io_in_a_bits_size == _T_531; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@239867.6]
+  assign _T_548 = _T_546 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239869.6]
+  assign _T_549 = _T_548 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239870.6]
+  assign _T_550 = io_in_a_bits_source == _T_533; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@239875.6]
+  assign _T_552 = _T_550 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239877.6]
+  assign _T_553 = _T_552 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239878.6]
+  assign _T_554 = io_in_a_bits_address == _T_535; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@239883.6]
+  assign _T_556 = _T_554 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239885.6]
+  assign _T_557 = _T_556 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239886.6]
+  assign _T_559 = _T_504 & _T_518; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@239893.4]
+  assign _T_560 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@239901.4]
+  assign _T_570 = _T_569 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@239910.4]
+  assign _T_571 = $unsigned(_T_570); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@239911.4]
+  assign _T_572 = _T_571[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@239912.4]
+  assign _T_573 = _T_569 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@239913.4]
+  assign _T_593 = _T_573 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@239930.4]
+  assign _T_594 = io_in_d_valid & _T_593; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@239931.4]
+  assign _T_595 = io_in_d_bits_opcode == _T_582; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@239933.6]
+  assign _T_597 = _T_595 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239935.6]
+  assign _T_598 = _T_597 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239936.6]
+  assign _T_603 = io_in_d_bits_size == _T_586; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@239949.6]
+  assign _T_605 = _T_603 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239951.6]
+  assign _T_606 = _T_605 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239952.6]
+  assign _T_607 = io_in_d_bits_source == _T_588; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@239957.6]
+  assign _T_609 = _T_607 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239959.6]
+  assign _T_610 = _T_609 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239960.6]
+  assign _T_620 = _T_560 & _T_573; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@239983.4]
+  assign _T_634 = _T_633 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@240003.4]
+  assign _T_635 = $unsigned(_T_634); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@240004.4]
+  assign _T_636 = _T_635[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@240005.4]
+  assign _T_637 = _T_633 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@240006.4]
+  assign _T_655 = _T_654 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@240026.4]
+  assign _T_656 = $unsigned(_T_655); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@240027.4]
+  assign _T_657 = _T_656[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@240028.4]
+  assign _T_658 = _T_654 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@240029.4]
+  assign _T_669 = _T_504 & _T_637; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@240044.4]
+  assign _T_671 = 64'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@240047.6]
+  assign _T_672 = _T_622 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@240049.6]
+  assign _T_673 = _T_672[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@240050.6]
+  assign _T_674 = _T_673 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@240051.6]
+  assign _T_676 = _T_674 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@240053.6]
+  assign _T_677 = _T_676 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@240054.6]
+  assign _GEN_15 = _T_669 ? _T_671 : 64'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@240046.4]
+  assign _T_682 = _T_560 & _T_658; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@240065.4]
+  assign _T_684 = _T_363 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@240067.4]
+  assign _T_685 = _T_682 & _T_684; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@240068.4]
+  assign _T_686 = 64'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@240070.6]
+  assign _T_687 = _GEN_15 | _T_622; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@240072.6]
+  assign _T_688 = _T_687 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@240073.6]
+  assign _T_689 = _T_688[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@240074.6]
+  assign _T_691 = _T_689 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@240076.6]
+  assign _T_692 = _T_691 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@240077.6]
+  assign _GEN_16 = _T_685 ? _T_686 : 64'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@240069.4]
+  assign _T_693 = _T_622 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@240083.4]
+  assign _T_694 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@240084.4]
+  assign _T_695 = _T_693 & _T_694; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@240085.4]
+  assign _T_698 = _T_622 != 64'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@240090.4]
+  assign _T_699 = _T_698 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@240091.4]
+  assign _T_700 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@240092.4]
+  assign _T_701 = _T_699 | _T_700; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@240093.4]
+  assign _T_702 = _T_697 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@240094.4]
+  assign _T_703 = _T_701 | _T_702; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@240095.4]
+  assign _T_705 = _T_703 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@240097.4]
+  assign _T_706 = _T_705 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@240098.4]
+  assign _T_708 = _T_697 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@240104.4]
+  assign _T_711 = _T_504 | _T_560; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@240108.4]
+  assign _GEN_19 = io_in_a_valid & _T_92; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239062.10]
+  assign _GEN_33 = io_in_a_valid & _T_130; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239134.10]
+  assign _GEN_49 = io_in_a_valid & _T_172; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239217.10]
+  assign _GEN_59 = io_in_a_valid & _T_205; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239276.10]
+  assign _GEN_67 = io_in_a_valid & _T_234; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239327.10]
+  assign _GEN_75 = io_in_a_valid & _T_265; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239377.10]
+  assign _GEN_83 = io_in_a_valid & _T_291; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239425.10]
+  assign _GEN_91 = io_in_a_valid & _T_317; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239473.10]
+  assign _GEN_99 = io_in_d_valid & _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239543.10]
+  assign _GEN_101 = io_in_d_valid & _T_383; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239584.10]
+  assign _GEN_105 = io_in_d_valid & _T_411; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239642.10]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  _T_514 = _RAND_0[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  _T_527 = _RAND_1[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  _T_529 = _RAND_2[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  _T_531 = _RAND_3[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  _T_533 = _RAND_4[5:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  _T_535 = _RAND_5[28:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {1{`RANDOM}};
+  _T_569 = _RAND_6[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {1{`RANDOM}};
+  _T_582 = _RAND_7[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_8 = {1{`RANDOM}};
+  _T_586 = _RAND_8[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_9 = {1{`RANDOM}};
+  _T_588 = _RAND_9[5:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_10 = {2{`RANDOM}};
+  _T_622 = _RAND_10[63:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_11 = {1{`RANDOM}};
+  _T_633 = _RAND_11[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_12 = {1{`RANDOM}};
+  _T_654 = _RAND_12[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_13 = {1{`RANDOM}};
+  _T_697 = _RAND_13[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      _T_514 <= 1'h0;
+    end else begin
+      if (_T_504) begin
+        if (_T_518) begin
+          _T_514 <= 1'h0;
+        end else begin
+          _T_514 <= _T_517;
+        end
+      end
+    end
+    if (_T_559) begin
+      _T_527 <= io_in_a_bits_opcode;
+    end
+    if (_T_559) begin
+      _T_529 <= io_in_a_bits_param;
+    end
+    if (_T_559) begin
+      _T_531 <= io_in_a_bits_size;
+    end
+    if (_T_559) begin
+      _T_533 <= io_in_a_bits_source;
+    end
+    if (_T_559) begin
+      _T_535 <= io_in_a_bits_address;
+    end
+    if (reset) begin
+      _T_569 <= 1'h0;
+    end else begin
+      if (_T_560) begin
+        if (_T_573) begin
+          _T_569 <= 1'h0;
+        end else begin
+          _T_569 <= _T_572;
+        end
+      end
+    end
+    if (_T_620) begin
+      _T_582 <= io_in_d_bits_opcode;
+    end
+    if (_T_620) begin
+      _T_586 <= io_in_d_bits_size;
+    end
+    if (_T_620) begin
+      _T_588 <= io_in_d_bits_source;
+    end
+    if (reset) begin
+      _T_622 <= 64'h0;
+    end else begin
+      _T_622 <= _T_695;
+    end
+    if (reset) begin
+      _T_633 <= 1'h0;
+    end else begin
+      if (_T_504) begin
+        if (_T_637) begin
+          _T_633 <= 1'h0;
+        end else begin
+          _T_633 <= _T_636;
+        end
+      end
+    end
+    if (reset) begin
+      _T_654 <= 1'h0;
+    end else begin
+      if (_T_560) begin
+        if (_T_658) begin
+          _T_654 <= 1'h0;
+        end else begin
+          _T_654 <= _T_657;
+        end
+      end
+    end
+    if (reset) begin
+      _T_697 <= 32'h0;
+    end else begin
+      if (_T_711) begin
+        _T_697 <= 32'h0;
+      end else begin
+        _T_697 <= _T_708;
+      end
+    end
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@238973.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@238974.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@239045.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@239046.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239062.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_103) begin
+          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239063.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239069.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_103) begin
+          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239070.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239076.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239077.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_113) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239084.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_113) begin
+          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239085.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239091.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_116) begin
+          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239092.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_120) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239099.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_120) begin
+          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239100.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_125) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239108.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_125) begin
+          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239109.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_129) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239116.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_129) begin
+          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239117.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239134.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_103) begin
+          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239135.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239141.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_103) begin
+          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239142.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239148.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239149.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_113) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239156.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_113) begin
+          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239157.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239163.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_116) begin
+          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239164.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_120) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239171.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_120) begin
+          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239172.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_162) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239179.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_162) begin
+          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239180.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_125) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239188.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_125) begin
+          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239189.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_129) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239196.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_129) begin
+          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239197.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_186) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239217.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_186) begin
+          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239218.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239224.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239225.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239231.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_116) begin
+          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239232.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_196) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239239.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_196) begin
+          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239240.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239247.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_200) begin
+          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239248.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_129) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239255.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_129) begin
+          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239256.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_59 & _T_186) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239276.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_59 & _T_186) begin
+          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239277.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239283.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239284.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_59 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239290.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_59 & _T_116) begin
+          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239291.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_59 & _T_196) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239298.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_59 & _T_196) begin
+          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239299.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_59 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239306.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_59 & _T_200) begin
+          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239307.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_67 & _T_186) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239327.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_67 & _T_186) begin
+          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239328.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239334.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239335.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_67 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239341.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_67 & _T_116) begin
+          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239342.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_67 & _T_196) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239349.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_67 & _T_196) begin
+          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239350.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_67 & _T_264) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239359.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_67 & _T_264) begin
+          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239360.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239377.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_103) begin
+          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239378.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239384.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239385.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239391.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_116) begin
+          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239392.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_286) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239399.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_286) begin
+          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239400.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239407.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_200) begin
+          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239408.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_83 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239425.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_83 & _T_103) begin
+          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239426.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239432.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239433.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_83 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239439.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_83 & _T_116) begin
+          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239440.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_83 & _T_312) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239447.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_83 & _T_312) begin
+          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239448.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_83 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239455.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_83 & _T_200) begin
+          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239456.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_91 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239473.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_91 & _T_103) begin
+          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239474.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239480.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239481.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_91 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239487.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_91 & _T_116) begin
+          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239488.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_91 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239495.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_91 & _T_200) begin
+          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239496.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_91 & _T_129) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239503.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_91 & _T_129) begin
+          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239504.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_346) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@239514.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_346) begin
+          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@239515.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239535.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239536.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_99 & _T_370) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239543.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_99 & _T_370) begin
+          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239544.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239551.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239552.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239559.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239560.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239567.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239568.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239577.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239578.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_101 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239584.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_101 & _T_103) begin
+          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239585.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_101 & _T_370) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239592.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_101 & _T_370) begin
+          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239593.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239600.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239601.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239608.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239609.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239616.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239617.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239625.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239626.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239635.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239636.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239642.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_103) begin
+          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239643.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_370) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239650.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_370) begin
+          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239651.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239658.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239659.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239666.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239667.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239675.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239676.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239684.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239685.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239694.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239695.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239702.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239703.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239710.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239711.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239719.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239720.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239729.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239730.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239737.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239738.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239746.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239747.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239755.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239756.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239765.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239766.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239773.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239774.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239781.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239782.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239790.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239791.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239800.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239801.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239808.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239809.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239816.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239817.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_541) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239856.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_541) begin
+          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239857.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_545) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239864.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_545) begin
+          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239865.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_549) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239872.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_549) begin
+          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239873.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_553) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239880.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_553) begin
+          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239881.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_557) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239888.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_557) begin
+          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239889.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_594 & _T_598) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239938.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_594 & _T_598) begin
+          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239939.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239946.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239947.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_594 & _T_606) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239954.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_594 & _T_606) begin
+          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239955.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_594 & _T_610) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239962.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_594 & _T_610) begin
+          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239963.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239970.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239971.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239978.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239979.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_669 & _T_677) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@240056.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_669 & _T_677) begin
+          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@240057.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_685 & _T_692) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@240079.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_685 & _T_692) begin
+          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@240080.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_706) begin
+          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@240100.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_706) begin
+          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@240101.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+endmodule
+module UARTTx( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240120.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240121.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240122.4]
+  input         io_en, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240123.4]
+  output        io_in_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240123.4]
+  input         io_in_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240123.4]
+  input  [7:0]  io_in_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240123.4]
+  output        io_out, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240123.4]
+  input  [15:0] io_div, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240123.4]
+  input         io_nstop // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240123.4]
+);
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@240134.4]
+  reg [15:0] prescaler; // @[UARTTx.scala 17:22:shc.marmotcaravel.MarmotCaravelConfig.fir@240128.4]
+  reg [31:0] _RAND_0;
+  wire  pulse; // @[UARTTx.scala 18:26:shc.marmotcaravel.MarmotCaravelConfig.fir@240129.4]
+  reg [3:0] counter; // @[UARTTx.scala 21:20:shc.marmotcaravel.MarmotCaravelConfig.fir@240130.4]
+  reg [31:0] _RAND_1;
+  reg [8:0] shifter; // @[UARTTx.scala 22:20:shc.marmotcaravel.MarmotCaravelConfig.fir@240131.4]
+  reg [31:0] _RAND_2;
+  reg  out; // @[UARTTx.scala 23:16:shc.marmotcaravel.MarmotCaravelConfig.fir@240132.4]
+  reg [31:0] _RAND_3;
+  wire  plusarg_tx; // @[UARTTx.scala 26:90:shc.marmotcaravel.MarmotCaravelConfig.fir@240136.4]
+  wire  busy; // @[UARTTx.scala 28:23:shc.marmotcaravel.MarmotCaravelConfig.fir@240137.4]
+  wire  _T_18; // @[UARTTx.scala 29:27:shc.marmotcaravel.MarmotCaravelConfig.fir@240138.4]
+  wire  _T_20; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@240141.4]
+  wire  _T_22; // @[UARTTx.scala 31:11:shc.marmotcaravel.MarmotCaravelConfig.fir@240144.6]
+  wire  _T_24; // @[UARTTx.scala 33:22:shc.marmotcaravel.MarmotCaravelConfig.fir@240150.4]
+  wire [8:0] _T_25; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240152.6]
+  wire  _T_26; // @[UARTTx.scala 36:17:shc.marmotcaravel.MarmotCaravelConfig.fir@240154.6]
+  wire [3:0] _T_29; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@240156.6]
+  wire [3:0] _T_30; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@240157.6]
+  wire [3:0] _T_31; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@240158.6]
+  wire [16:0] _T_34; // @[UARTTx.scala 39:47:shc.marmotcaravel.MarmotCaravelConfig.fir@240164.6]
+  wire [16:0] _T_35; // @[UARTTx.scala 39:47:shc.marmotcaravel.MarmotCaravelConfig.fir@240165.6]
+  wire [15:0] _T_36; // @[UARTTx.scala 39:47:shc.marmotcaravel.MarmotCaravelConfig.fir@240166.6]
+  wire  _T_38; // @[UARTTx.scala 41:15:shc.marmotcaravel.MarmotCaravelConfig.fir@240170.4]
+  wire [4:0] _T_39; // @[UARTTx.scala 42:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240172.6]
+  wire [4:0] _T_40; // @[UARTTx.scala 42:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240173.6]
+  wire [3:0] _T_41; // @[UARTTx.scala 42:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240174.6]
+  wire [7:0] _T_42; // @[UARTTx.scala 43:40:shc.marmotcaravel.MarmotCaravelConfig.fir@240176.6]
+  wire [8:0] _T_43; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240177.6]
+  wire  _T_44; // @[UARTTx.scala 44:19:shc.marmotcaravel.MarmotCaravelConfig.fir@240179.6]
+  plusarg_reader #(.FORMAT("uart_tx=%d"), .DEFAULT(1)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@240134.4]
+    .out(plusarg_reader_out)
+  );
+  assign pulse = prescaler == 16'h0; // @[UARTTx.scala 18:26:shc.marmotcaravel.MarmotCaravelConfig.fir@240129.4]
+  assign plusarg_tx = plusarg_reader_out != 32'h0; // @[UARTTx.scala 26:90:shc.marmotcaravel.MarmotCaravelConfig.fir@240136.4]
+  assign busy = counter != 4'h0; // @[UARTTx.scala 28:23:shc.marmotcaravel.MarmotCaravelConfig.fir@240137.4]
+  assign _T_18 = busy == 1'h0; // @[UARTTx.scala 29:27:shc.marmotcaravel.MarmotCaravelConfig.fir@240138.4]
+  assign _T_20 = io_in_ready & io_in_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@240141.4]
+  assign _T_22 = reset == 1'h0; // @[UARTTx.scala 31:11:shc.marmotcaravel.MarmotCaravelConfig.fir@240144.6]
+  assign _T_24 = _T_20 & plusarg_tx; // @[UARTTx.scala 33:22:shc.marmotcaravel.MarmotCaravelConfig.fir@240150.4]
+  assign _T_25 = {io_in_bits,1'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240152.6]
+  assign _T_26 = io_nstop == 1'h0; // @[UARTTx.scala 36:17:shc.marmotcaravel.MarmotCaravelConfig.fir@240154.6]
+  assign _T_29 = _T_26 ? 4'ha : 4'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@240156.6]
+  assign _T_30 = io_nstop ? 4'hb : 4'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@240157.6]
+  assign _T_31 = _T_29 | _T_30; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@240158.6]
+  assign _T_34 = prescaler - 16'h1; // @[UARTTx.scala 39:47:shc.marmotcaravel.MarmotCaravelConfig.fir@240164.6]
+  assign _T_35 = $unsigned(_T_34); // @[UARTTx.scala 39:47:shc.marmotcaravel.MarmotCaravelConfig.fir@240165.6]
+  assign _T_36 = _T_35[15:0]; // @[UARTTx.scala 39:47:shc.marmotcaravel.MarmotCaravelConfig.fir@240166.6]
+  assign _T_38 = pulse & busy; // @[UARTTx.scala 41:15:shc.marmotcaravel.MarmotCaravelConfig.fir@240170.4]
+  assign _T_39 = counter - 4'h1; // @[UARTTx.scala 42:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240172.6]
+  assign _T_40 = $unsigned(_T_39); // @[UARTTx.scala 42:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240173.6]
+  assign _T_41 = _T_40[3:0]; // @[UARTTx.scala 42:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240174.6]
+  assign _T_42 = shifter[8:1]; // @[UARTTx.scala 43:40:shc.marmotcaravel.MarmotCaravelConfig.fir@240176.6]
+  assign _T_43 = {1'h1,_T_42}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240177.6]
+  assign _T_44 = shifter[0]; // @[UARTTx.scala 44:19:shc.marmotcaravel.MarmotCaravelConfig.fir@240179.6]
+  assign io_in_ready = io_en & _T_18; // @[UARTTx.scala 29:15:shc.marmotcaravel.MarmotCaravelConfig.fir@240140.4]
+  assign io_out = out; // @[UARTTx.scala 24:10:shc.marmotcaravel.MarmotCaravelConfig.fir@240133.4]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  prescaler = _RAND_0[15:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  counter = _RAND_1[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  shifter = _RAND_2[8:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  out = _RAND_3[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      prescaler <= 16'h0;
+    end else begin
+      if (busy) begin
+        if (pulse) begin
+          prescaler <= io_div;
+        end else begin
+          prescaler <= _T_36;
+        end
+      end
+    end
+    if (reset) begin
+      counter <= 4'h0;
+    end else begin
+      if (_T_38) begin
+        counter <= _T_41;
+      end else begin
+        if (_T_24) begin
+          counter <= _T_31;
+        end
+      end
+    end
+    if (_T_38) begin
+      shifter <= _T_43;
+    end else begin
+      if (_T_24) begin
+        shifter <= _T_25;
+      end
+    end
+    if (reset) begin
+      out <= 1'h1;
+    end else begin
+      if (_T_38) begin
+        out <= _T_44;
+      end
+    end
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_20 & _T_22) begin
+          $fwrite(32'h80000002,"UART TX (%x): %c\n",io_in_bits,io_in_bits); // @[UARTTx.scala 31:11:shc.marmotcaravel.MarmotCaravelConfig.fir@240146.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+endmodule
+module Queue_14( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240183.2]
+  input        clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240184.4]
+  input        reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240185.4]
+  output       io_enq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240186.4]
+  input        io_enq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240186.4]
+  input  [7:0] io_enq_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240186.4]
+  input        io_deq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240186.4]
+  output       io_deq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240186.4]
+  output [7:0] io_deq_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240186.4]
+  output [3:0] io_count // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240186.4]
+);
+  reg [7:0] _T_35 [0:7]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240191.4]
+  reg [31:0] _RAND_0;
+  wire [7:0] _T_35__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240191.4]
+  wire [2:0] _T_35__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240191.4]
+  wire [7:0] _T_35__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240191.4]
+  wire [2:0] _T_35__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240191.4]
+  wire  _T_35__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240191.4]
+  wire  _T_35__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240191.4]
+  reg [2:0] value; // @[Counter.scala 26:33:shc.marmotcaravel.MarmotCaravelConfig.fir@240192.4]
+  reg [31:0] _RAND_1;
+  reg [2:0] value_1; // @[Counter.scala 26:33:shc.marmotcaravel.MarmotCaravelConfig.fir@240193.4]
+  reg [31:0] _RAND_2;
+  reg  _T_39; // @[Decoupled.scala 217:35:shc.marmotcaravel.MarmotCaravelConfig.fir@240194.4]
+  reg [31:0] _RAND_3;
+  wire  _T_40; // @[Decoupled.scala 219:41:shc.marmotcaravel.MarmotCaravelConfig.fir@240195.4]
+  wire  _T_41; // @[Decoupled.scala 220:36:shc.marmotcaravel.MarmotCaravelConfig.fir@240196.4]
+  wire  _T_42; // @[Decoupled.scala 220:33:shc.marmotcaravel.MarmotCaravelConfig.fir@240197.4]
+  wire  _T_43; // @[Decoupled.scala 221:32:shc.marmotcaravel.MarmotCaravelConfig.fir@240198.4]
+  wire  _T_44; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@240199.4]
+  wire  _T_47; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@240203.4]
+  wire [2:0] _T_52; // @[Counter.scala 35:22:shc.marmotcaravel.MarmotCaravelConfig.fir@240212.6]
+  wire [2:0] _T_54; // @[Counter.scala 35:22:shc.marmotcaravel.MarmotCaravelConfig.fir@240218.6]
+  wire  _T_55; // @[Decoupled.scala 232:16:shc.marmotcaravel.MarmotCaravelConfig.fir@240221.4]
+  wire [3:0] _T_59; // @[Decoupled.scala 253:40:shc.marmotcaravel.MarmotCaravelConfig.fir@240231.4]
+  wire [3:0] _T_60; // @[Decoupled.scala 253:40:shc.marmotcaravel.MarmotCaravelConfig.fir@240232.4]
+  wire [2:0] _T_61; // @[Decoupled.scala 253:40:shc.marmotcaravel.MarmotCaravelConfig.fir@240233.4]
+  wire  _T_62; // @[Decoupled.scala 255:32:shc.marmotcaravel.MarmotCaravelConfig.fir@240234.4]
+  assign _T_35__T_58_addr = value_1;
+  assign _T_35__T_58_data = _T_35[_T_35__T_58_addr]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240191.4]
+  assign _T_35__T_50_data = io_enq_bits;
+  assign _T_35__T_50_addr = value;
+  assign _T_35__T_50_mask = 1'h1;
+  assign _T_35__T_50_en = io_enq_ready & io_enq_valid;
+  assign _T_40 = value == value_1; // @[Decoupled.scala 219:41:shc.marmotcaravel.MarmotCaravelConfig.fir@240195.4]
+  assign _T_41 = _T_39 == 1'h0; // @[Decoupled.scala 220:36:shc.marmotcaravel.MarmotCaravelConfig.fir@240196.4]
+  assign _T_42 = _T_40 & _T_41; // @[Decoupled.scala 220:33:shc.marmotcaravel.MarmotCaravelConfig.fir@240197.4]
+  assign _T_43 = _T_40 & _T_39; // @[Decoupled.scala 221:32:shc.marmotcaravel.MarmotCaravelConfig.fir@240198.4]
+  assign _T_44 = io_enq_ready & io_enq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@240199.4]
+  assign _T_47 = io_deq_ready & io_deq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@240203.4]
+  assign _T_52 = value + 3'h1; // @[Counter.scala 35:22:shc.marmotcaravel.MarmotCaravelConfig.fir@240212.6]
+  assign _T_54 = value_1 + 3'h1; // @[Counter.scala 35:22:shc.marmotcaravel.MarmotCaravelConfig.fir@240218.6]
+  assign _T_55 = _T_44 != _T_47; // @[Decoupled.scala 232:16:shc.marmotcaravel.MarmotCaravelConfig.fir@240221.4]
+  assign _T_59 = value - value_1; // @[Decoupled.scala 253:40:shc.marmotcaravel.MarmotCaravelConfig.fir@240231.4]
+  assign _T_60 = $unsigned(_T_59); // @[Decoupled.scala 253:40:shc.marmotcaravel.MarmotCaravelConfig.fir@240232.4]
+  assign _T_61 = _T_60[2:0]; // @[Decoupled.scala 253:40:shc.marmotcaravel.MarmotCaravelConfig.fir@240233.4]
+  assign _T_62 = _T_39 & _T_40; // @[Decoupled.scala 255:32:shc.marmotcaravel.MarmotCaravelConfig.fir@240234.4]
+  assign io_enq_ready = _T_43 == 1'h0; // @[Decoupled.scala 237:16:shc.marmotcaravel.MarmotCaravelConfig.fir@240228.4]
+  assign io_deq_valid = _T_42 == 1'h0; // @[Decoupled.scala 236:16:shc.marmotcaravel.MarmotCaravelConfig.fir@240226.4]
+  assign io_deq_bits = _T_35__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@240230.4]
+  assign io_count = {_T_62,_T_61}; // @[Decoupled.scala 255:14:shc.marmotcaravel.MarmotCaravelConfig.fir@240236.4]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  _RAND_0 = {1{`RANDOM}};
+  `ifdef RANDOMIZE_MEM_INIT
+  for (initvar = 0; initvar < 8; initvar = initvar+1)
+    _T_35[initvar] = _RAND_0[7:0];
+  `endif // RANDOMIZE_MEM_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  value = _RAND_1[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  value_1 = _RAND_2[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  _T_39 = _RAND_3[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if(_T_35__T_50_en & _T_35__T_50_mask) begin
+      _T_35[_T_35__T_50_addr] <= _T_35__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240191.4]
+    end
+    if (reset) begin
+      value <= 3'h0;
+    end else begin
+      if (_T_44) begin
+        value <= _T_52;
+      end
+    end
+    if (reset) begin
+      value_1 <= 3'h0;
+    end else begin
+      if (_T_47) begin
+        value_1 <= _T_54;
+      end
+    end
+    if (reset) begin
+      _T_39 <= 1'h0;
+    end else begin
+      if (_T_55) begin
+        _T_39 <= _T_44;
+      end
+    end
+  end
+endmodule
+module UARTRx( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240238.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240239.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240240.4]
+  input         io_en, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240241.4]
+  input         io_in, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240241.4]
+  output        io_out_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240241.4]
+  output [7:0]  io_out_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240241.4]
+  input  [15:0] io_div // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240241.4]
+);
+  reg [1:0] debounce; // @[UARTRx.scala 16:21:shc.marmotcaravel.MarmotCaravelConfig.fir@240246.4]
+  reg [31:0] _RAND_0;
+  wire  debounce_max; // @[UARTRx.scala 17:32:shc.marmotcaravel.MarmotCaravelConfig.fir@240247.4]
+  wire  debounce_min; // @[UARTRx.scala 18:32:shc.marmotcaravel.MarmotCaravelConfig.fir@240248.4]
+  reg [12:0] prescaler; // @[UARTRx.scala 20:22:shc.marmotcaravel.MarmotCaravelConfig.fir@240249.4]
+  reg [31:0] _RAND_1;
+  wire  pulse; // @[UARTRx.scala 22:26:shc.marmotcaravel.MarmotCaravelConfig.fir@240253.4]
+  reg [3:0] data_count; // @[UARTRx.scala 26:23:shc.marmotcaravel.MarmotCaravelConfig.fir@240254.4]
+  reg [31:0] _RAND_2;
+  wire  data_last; // @[UARTRx.scala 27:31:shc.marmotcaravel.MarmotCaravelConfig.fir@240255.4]
+  reg [3:0] sample_count; // @[UARTRx.scala 28:25:shc.marmotcaravel.MarmotCaravelConfig.fir@240256.4]
+  reg [31:0] _RAND_3;
+  wire  sample_mid; // @[UARTRx.scala 29:34:shc.marmotcaravel.MarmotCaravelConfig.fir@240257.4]
+  wire [7:0] _T_14; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240259.4]
+  wire [8:0] _T_15; // @[UARTRx.scala 31:49:shc.marmotcaravel.MarmotCaravelConfig.fir@240260.4]
+  wire [8:0] _T_16; // @[UARTRx.scala 31:49:shc.marmotcaravel.MarmotCaravelConfig.fir@240261.4]
+  wire [7:0] countdown; // @[UARTRx.scala 31:49:shc.marmotcaravel.MarmotCaravelConfig.fir@240262.4]
+  wire [3:0] remainder; // @[UARTRx.scala 36:25:shc.marmotcaravel.MarmotCaravelConfig.fir@240263.4]
+  wire  extend; // @[UARTRx.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@240264.4]
+  reg  state; // @[UARTRx.scala 52:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240287.4]
+  reg [31:0] _RAND_4;
+  wire  _T_34; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@240288.4]
+  wire  _T_42; // @[UARTRx.scala 59:13:shc.marmotcaravel.MarmotCaravelConfig.fir@240300.6]
+  wire  _GEN_8; // @[UARTRx.scala 59:21:shc.marmotcaravel.MarmotCaravelConfig.fir@240301.6]
+  wire  start; // @[Conditional.scala 40:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240289.4]
+  wire  restore; // @[UARTRx.scala 38:23:shc.marmotcaravel.MarmotCaravelConfig.fir@240265.4]
+  wire [11:0] _T_17; // @[UARTRx.scala 39:42:shc.marmotcaravel.MarmotCaravelConfig.fir@240266.4]
+  wire [12:0] prescaler_in; // @[UARTRx.scala 39:25:shc.marmotcaravel.MarmotCaravelConfig.fir@240267.4]
+  wire  _T_18; // @[UARTRx.scala 40:51:shc.marmotcaravel.MarmotCaravelConfig.fir@240268.4]
+  wire  _T_19; // @[UARTRx.scala 40:42:shc.marmotcaravel.MarmotCaravelConfig.fir@240269.4]
+  wire [12:0] _GEN_41; // @[UARTRx.scala 40:37:shc.marmotcaravel.MarmotCaravelConfig.fir@240270.4]
+  wire [13:0] _T_20; // @[UARTRx.scala 40:37:shc.marmotcaravel.MarmotCaravelConfig.fir@240270.4]
+  wire [13:0] _T_21; // @[UARTRx.scala 40:37:shc.marmotcaravel.MarmotCaravelConfig.fir@240271.4]
+  wire [12:0] prescaler_next; // @[UARTRx.scala 40:37:shc.marmotcaravel.MarmotCaravelConfig.fir@240272.4]
+  reg [2:0] sample; // @[UARTRx.scala 42:19:shc.marmotcaravel.MarmotCaravelConfig.fir@240273.4]
+  reg [31:0] _RAND_5;
+  wire  _T_23; // @[UARTRx.scala 43:31:shc.marmotcaravel.MarmotCaravelConfig.fir@240274.4]
+  wire  _T_24; // @[UARTRx.scala 43:31:shc.marmotcaravel.MarmotCaravelConfig.fir@240275.4]
+  wire  _T_25; // @[UARTRx.scala 43:31:shc.marmotcaravel.MarmotCaravelConfig.fir@240276.4]
+  wire  _T_26; // @[Misc.scala 171:48:shc.marmotcaravel.MarmotCaravelConfig.fir@240277.4]
+  wire  _T_27; // @[Misc.scala 171:48:shc.marmotcaravel.MarmotCaravelConfig.fir@240278.4]
+  wire  _T_28; // @[Misc.scala 172:22:shc.marmotcaravel.MarmotCaravelConfig.fir@240279.4]
+  wire  _T_29; // @[Misc.scala 171:48:shc.marmotcaravel.MarmotCaravelConfig.fir@240280.4]
+  wire  voter; // @[Misc.scala 172:22:shc.marmotcaravel.MarmotCaravelConfig.fir@240281.4]
+  reg [7:0] shifter; // @[UARTRx.scala 44:20:shc.marmotcaravel.MarmotCaravelConfig.fir@240282.4]
+  reg [31:0] _RAND_6;
+  reg  valid; // @[UARTRx.scala 46:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240283.4]
+  reg [31:0] _RAND_7;
+  wire  _T_36; // @[UARTRx.scala 56:13:shc.marmotcaravel.MarmotCaravelConfig.fir@240291.6]
+  wire  _T_37; // @[UARTRx.scala 56:26:shc.marmotcaravel.MarmotCaravelConfig.fir@240292.6]
+  wire  _T_38; // @[UARTRx.scala 56:23:shc.marmotcaravel.MarmotCaravelConfig.fir@240293.6]
+  wire [2:0] _T_39; // @[UARTRx.scala 57:30:shc.marmotcaravel.MarmotCaravelConfig.fir@240295.8]
+  wire [2:0] _T_40; // @[UARTRx.scala 57:30:shc.marmotcaravel.MarmotCaravelConfig.fir@240296.8]
+  wire [1:0] _T_41; // @[UARTRx.scala 57:30:shc.marmotcaravel.MarmotCaravelConfig.fir@240297.8]
+  wire [1:0] _T_44; // @[UARTRx.scala 60:30:shc.marmotcaravel.MarmotCaravelConfig.fir@240303.8]
+  wire [3:0] _T_46; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240319.10]
+  wire [3:0] _T_47; // @[UARTRx.scala 75:33:shc.marmotcaravel.MarmotCaravelConfig.fir@240321.10]
+  wire [3:0] _T_48; // @[UARTRx.scala 76:34:shc.marmotcaravel.MarmotCaravelConfig.fir@240323.10]
+  wire [6:0] _T_49; // @[UARTRx.scala 83:43:shc.marmotcaravel.MarmotCaravelConfig.fir@240331.14]
+  wire [7:0] _T_50; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240332.14]
+  wire [3:0] _GEN_18; // @[UARTRx.scala 73:20:shc.marmotcaravel.MarmotCaravelConfig.fir@240318.8]
+  wire [3:0] _GEN_25; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@240316.6]
+  wire [3:0] _GEN_37; // @[Conditional.scala 40:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240289.4]
+  wire  _T_51; // @[UARTRx.scala 90:9:shc.marmotcaravel.MarmotCaravelConfig.fir@240338.4]
+  assign debounce_max = debounce == 2'h3; // @[UARTRx.scala 17:32:shc.marmotcaravel.MarmotCaravelConfig.fir@240247.4]
+  assign debounce_min = debounce == 2'h0; // @[UARTRx.scala 18:32:shc.marmotcaravel.MarmotCaravelConfig.fir@240248.4]
+  assign pulse = prescaler == 13'h0; // @[UARTRx.scala 22:26:shc.marmotcaravel.MarmotCaravelConfig.fir@240253.4]
+  assign data_last = data_count == 4'h0; // @[UARTRx.scala 27:31:shc.marmotcaravel.MarmotCaravelConfig.fir@240255.4]
+  assign sample_mid = sample_count == 4'h7; // @[UARTRx.scala 29:34:shc.marmotcaravel.MarmotCaravelConfig.fir@240257.4]
+  assign _T_14 = {data_count,sample_count}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240259.4]
+  assign _T_15 = _T_14 - 8'h1; // @[UARTRx.scala 31:49:shc.marmotcaravel.MarmotCaravelConfig.fir@240260.4]
+  assign _T_16 = $unsigned(_T_15); // @[UARTRx.scala 31:49:shc.marmotcaravel.MarmotCaravelConfig.fir@240261.4]
+  assign countdown = _T_16[7:0]; // @[UARTRx.scala 31:49:shc.marmotcaravel.MarmotCaravelConfig.fir@240262.4]
+  assign remainder = io_div[3:0]; // @[UARTRx.scala 36:25:shc.marmotcaravel.MarmotCaravelConfig.fir@240263.4]
+  assign extend = sample_count < remainder; // @[UARTRx.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@240264.4]
+  assign _T_34 = 1'h0 == state; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@240288.4]
+  assign _T_42 = io_in == 1'h0; // @[UARTRx.scala 59:13:shc.marmotcaravel.MarmotCaravelConfig.fir@240300.6]
+  assign _GEN_8 = _T_42 ? debounce_max : 1'h0; // @[UARTRx.scala 59:21:shc.marmotcaravel.MarmotCaravelConfig.fir@240301.6]
+  assign start = _T_34 ? _GEN_8 : 1'h0; // @[Conditional.scala 40:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240289.4]
+  assign restore = start | pulse; // @[UARTRx.scala 38:23:shc.marmotcaravel.MarmotCaravelConfig.fir@240265.4]
+  assign _T_17 = io_div[15:4]; // @[UARTRx.scala 39:42:shc.marmotcaravel.MarmotCaravelConfig.fir@240266.4]
+  assign prescaler_in = restore ? {{1'd0}, _T_17} : prescaler; // @[UARTRx.scala 39:25:shc.marmotcaravel.MarmotCaravelConfig.fir@240267.4]
+  assign _T_18 = restore & extend; // @[UARTRx.scala 40:51:shc.marmotcaravel.MarmotCaravelConfig.fir@240268.4]
+  assign _T_19 = _T_18 ? 1'h0 : 1'h1; // @[UARTRx.scala 40:42:shc.marmotcaravel.MarmotCaravelConfig.fir@240269.4]
+  assign _GEN_41 = {{12'd0}, _T_19}; // @[UARTRx.scala 40:37:shc.marmotcaravel.MarmotCaravelConfig.fir@240270.4]
+  assign _T_20 = prescaler_in - _GEN_41; // @[UARTRx.scala 40:37:shc.marmotcaravel.MarmotCaravelConfig.fir@240270.4]
+  assign _T_21 = $unsigned(_T_20); // @[UARTRx.scala 40:37:shc.marmotcaravel.MarmotCaravelConfig.fir@240271.4]
+  assign prescaler_next = _T_21[12:0]; // @[UARTRx.scala 40:37:shc.marmotcaravel.MarmotCaravelConfig.fir@240272.4]
+  assign _T_23 = sample[0]; // @[UARTRx.scala 43:31:shc.marmotcaravel.MarmotCaravelConfig.fir@240274.4]
+  assign _T_24 = sample[1]; // @[UARTRx.scala 43:31:shc.marmotcaravel.MarmotCaravelConfig.fir@240275.4]
+  assign _T_25 = sample[2]; // @[UARTRx.scala 43:31:shc.marmotcaravel.MarmotCaravelConfig.fir@240276.4]
+  assign _T_26 = _T_23 & _T_24; // @[Misc.scala 171:48:shc.marmotcaravel.MarmotCaravelConfig.fir@240277.4]
+  assign _T_27 = _T_23 & _T_25; // @[Misc.scala 171:48:shc.marmotcaravel.MarmotCaravelConfig.fir@240278.4]
+  assign _T_28 = _T_26 | _T_27; // @[Misc.scala 172:22:shc.marmotcaravel.MarmotCaravelConfig.fir@240279.4]
+  assign _T_29 = _T_24 & _T_25; // @[Misc.scala 171:48:shc.marmotcaravel.MarmotCaravelConfig.fir@240280.4]
+  assign voter = _T_28 | _T_29; // @[Misc.scala 172:22:shc.marmotcaravel.MarmotCaravelConfig.fir@240281.4]
+  assign _T_36 = _T_42 == 1'h0; // @[UARTRx.scala 56:13:shc.marmotcaravel.MarmotCaravelConfig.fir@240291.6]
+  assign _T_37 = debounce_min == 1'h0; // @[UARTRx.scala 56:26:shc.marmotcaravel.MarmotCaravelConfig.fir@240292.6]
+  assign _T_38 = _T_36 & _T_37; // @[UARTRx.scala 56:23:shc.marmotcaravel.MarmotCaravelConfig.fir@240293.6]
+  assign _T_39 = debounce - 2'h1; // @[UARTRx.scala 57:30:shc.marmotcaravel.MarmotCaravelConfig.fir@240295.8]
+  assign _T_40 = $unsigned(_T_39); // @[UARTRx.scala 57:30:shc.marmotcaravel.MarmotCaravelConfig.fir@240296.8]
+  assign _T_41 = _T_40[1:0]; // @[UARTRx.scala 57:30:shc.marmotcaravel.MarmotCaravelConfig.fir@240297.8]
+  assign _T_44 = debounce + 2'h1; // @[UARTRx.scala 60:30:shc.marmotcaravel.MarmotCaravelConfig.fir@240303.8]
+  assign _T_46 = {sample,io_in}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240319.10]
+  assign _T_47 = countdown[7:4]; // @[UARTRx.scala 75:33:shc.marmotcaravel.MarmotCaravelConfig.fir@240321.10]
+  assign _T_48 = countdown[3:0]; // @[UARTRx.scala 76:34:shc.marmotcaravel.MarmotCaravelConfig.fir@240323.10]
+  assign _T_49 = shifter[7:1]; // @[UARTRx.scala 83:43:shc.marmotcaravel.MarmotCaravelConfig.fir@240331.14]
+  assign _T_50 = {voter,_T_49}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240332.14]
+  assign _GEN_18 = pulse ? _T_46 : {{1'd0}, sample}; // @[UARTRx.scala 73:20:shc.marmotcaravel.MarmotCaravelConfig.fir@240318.8]
+  assign _GEN_25 = state ? _GEN_18 : {{1'd0}, sample}; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@240316.6]
+  assign _GEN_37 = _T_34 ? {{1'd0}, sample} : _GEN_25; // @[Conditional.scala 40:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240289.4]
+  assign _T_51 = io_en == 1'h0; // @[UARTRx.scala 90:9:shc.marmotcaravel.MarmotCaravelConfig.fir@240338.4]
+  assign io_out_valid = valid; // @[UARTRx.scala 48:16:shc.marmotcaravel.MarmotCaravelConfig.fir@240285.4]
+  assign io_out_bits = shifter; // @[UARTRx.scala 49:15:shc.marmotcaravel.MarmotCaravelConfig.fir@240286.4]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  debounce = _RAND_0[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  prescaler = _RAND_1[12:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  data_count = _RAND_2[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  sample_count = _RAND_3[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  state = _RAND_4[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  sample = _RAND_5[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {1{`RANDOM}};
+  shifter = _RAND_6[7:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {1{`RANDOM}};
+  valid = _RAND_7[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      debounce <= 2'h0;
+    end else begin
+      if (_T_51) begin
+        debounce <= 2'h0;
+      end else begin
+        if (_T_34) begin
+          if (_T_42) begin
+            debounce <= _T_44;
+          end else begin
+            if (_T_38) begin
+              debounce <= _T_41;
+            end
+          end
+        end
+      end
+    end
+    if (_T_34) begin
+      if (_T_42) begin
+        if (debounce_max) begin
+          prescaler <= prescaler_next;
+        end
+      end
+    end else begin
+      if (state) begin
+        prescaler <= prescaler_next;
+      end
+    end
+    if (_T_34) begin
+      if (_T_42) begin
+        if (debounce_max) begin
+          data_count <= 4'h9;
+        end
+      end
+    end else begin
+      if (state) begin
+        if (pulse) begin
+          data_count <= _T_47;
+        end
+      end
+    end
+    if (_T_34) begin
+      if (_T_42) begin
+        if (debounce_max) begin
+          sample_count <= 4'hf;
+        end
+      end
+    end else begin
+      if (state) begin
+        if (pulse) begin
+          sample_count <= _T_48;
+        end
+      end
+    end
+    if (reset) begin
+      state <= 1'h0;
+    end else begin
+      if (_T_34) begin
+        if (_T_42) begin
+          if (debounce_max) begin
+            state <= 1'h1;
+          end
+        end
+      end else begin
+        if (state) begin
+          if (pulse) begin
+            if (sample_mid) begin
+              if (data_last) begin
+                state <= 1'h0;
+              end
+            end
+          end
+        end
+      end
+    end
+    sample <= _GEN_37[2:0];
+    if (!(_T_34)) begin
+      if (state) begin
+        if (pulse) begin
+          if (sample_mid) begin
+            if (!(data_last)) begin
+              shifter <= _T_50;
+            end
+          end
+        end
+      end
+    end
+    if (reset) begin
+      valid <= 1'h0;
+    end else begin
+      if (_T_34) begin
+        valid <= 1'h0;
+      end else begin
+        if (state) begin
+          if (pulse) begin
+            if (sample_mid) begin
+              valid <= data_last;
+            end else begin
+              valid <= 1'h0;
+            end
+          end else begin
+            valid <= 1'h0;
+          end
+        end else begin
+          valid <= 1'h0;
+        end
+      end
+    end
+  end
+endmodule
+module TLUART( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240398.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240399.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240400.4]
+  output        auto_int_xing_out_sync_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240401.4]
+  output        auto_control_xing_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240401.4]
+  input         auto_control_xing_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240401.4]
+  input  [2:0]  auto_control_xing_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240401.4]
+  input  [2:0]  auto_control_xing_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240401.4]
+  input  [1:0]  auto_control_xing_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240401.4]
+  input  [5:0]  auto_control_xing_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240401.4]
+  input  [28:0] auto_control_xing_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240401.4]
+  input  [3:0]  auto_control_xing_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240401.4]
+  input  [31:0] auto_control_xing_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240401.4]
+  input         auto_control_xing_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240401.4]
+  input         auto_control_xing_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240401.4]
+  output        auto_control_xing_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240401.4]
+  output [2:0]  auto_control_xing_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240401.4]
+  output [1:0]  auto_control_xing_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240401.4]
+  output [5:0]  auto_control_xing_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240401.4]
+  output [31:0] auto_control_xing_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240401.4]
+  output        auto_io_out_txd, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240401.4]
+  input         auto_io_out_rxd // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240401.4]
+);
+  wire  buffer_clock; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@240406.4]
+  wire  buffer_reset; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@240406.4]
+  wire  buffer_auto_in_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@240406.4]
+  wire  buffer_auto_in_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@240406.4]
+  wire [2:0] buffer_auto_in_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@240406.4]
+  wire [2:0] buffer_auto_in_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@240406.4]
+  wire [1:0] buffer_auto_in_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@240406.4]
+  wire [5:0] buffer_auto_in_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@240406.4]
+  wire [28:0] buffer_auto_in_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@240406.4]
+  wire [3:0] buffer_auto_in_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@240406.4]
+  wire [31:0] buffer_auto_in_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@240406.4]
+  wire  buffer_auto_in_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@240406.4]
+  wire  buffer_auto_in_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@240406.4]
+  wire  buffer_auto_in_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@240406.4]
+  wire [2:0] buffer_auto_in_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@240406.4]
+  wire [1:0] buffer_auto_in_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@240406.4]
+  wire [5:0] buffer_auto_in_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@240406.4]
+  wire [31:0] buffer_auto_in_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@240406.4]
+  wire  buffer_auto_out_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@240406.4]
+  wire  buffer_auto_out_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@240406.4]
+  wire [2:0] buffer_auto_out_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@240406.4]
+  wire [2:0] buffer_auto_out_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@240406.4]
+  wire [1:0] buffer_auto_out_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@240406.4]
+  wire [5:0] buffer_auto_out_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@240406.4]
+  wire [28:0] buffer_auto_out_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@240406.4]
+  wire [3:0] buffer_auto_out_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@240406.4]
+  wire [31:0] buffer_auto_out_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@240406.4]
+  wire  buffer_auto_out_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@240406.4]
+  wire  buffer_auto_out_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@240406.4]
+  wire  buffer_auto_out_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@240406.4]
+  wire [2:0] buffer_auto_out_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@240406.4]
+  wire [1:0] buffer_auto_out_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@240406.4]
+  wire [5:0] buffer_auto_out_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@240406.4]
+  wire [31:0] buffer_auto_out_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@240406.4]
+  wire  intsource_clock; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@240412.4]
+  wire  intsource_reset; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@240412.4]
+  wire  intsource_auto_in_0; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@240412.4]
+  wire  intsource_auto_out_sync_0; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@240412.4]
+  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@240424.4]
+  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@240424.4]
+  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@240424.4]
+  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@240424.4]
+  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@240424.4]
+  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@240424.4]
+  wire [1:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@240424.4]
+  wire [5:0] TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@240424.4]
+  wire [28:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@240424.4]
+  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@240424.4]
+  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@240424.4]
+  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@240424.4]
+  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@240424.4]
+  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@240424.4]
+  wire [1:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@240424.4]
+  wire [5:0] TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@240424.4]
+  wire  txm_clock; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@240478.4]
+  wire  txm_reset; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@240478.4]
+  wire  txm_io_en; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@240478.4]
+  wire  txm_io_in_ready; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@240478.4]
+  wire  txm_io_in_valid; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@240478.4]
+  wire [7:0] txm_io_in_bits; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@240478.4]
+  wire  txm_io_out; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@240478.4]
+  wire [15:0] txm_io_div; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@240478.4]
+  wire  txm_io_nstop; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@240478.4]
+  wire  txq_clock; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@240482.4]
+  wire  txq_reset; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@240482.4]
+  wire  txq_io_enq_ready; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@240482.4]
+  wire  txq_io_enq_valid; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@240482.4]
+  wire [7:0] txq_io_enq_bits; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@240482.4]
+  wire  txq_io_deq_ready; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@240482.4]
+  wire  txq_io_deq_valid; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@240482.4]
+  wire [7:0] txq_io_deq_bits; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@240482.4]
+  wire [3:0] txq_io_count; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@240482.4]
+  wire  rxm_clock; // @[UART.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@240486.4]
+  wire  rxm_reset; // @[UART.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@240486.4]
+  wire  rxm_io_en; // @[UART.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@240486.4]
+  wire  rxm_io_in; // @[UART.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@240486.4]
+  wire  rxm_io_out_valid; // @[UART.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@240486.4]
+  wire [7:0] rxm_io_out_bits; // @[UART.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@240486.4]
+  wire [15:0] rxm_io_div; // @[UART.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@240486.4]
+  wire  rxq_clock; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@240490.4]
+  wire  rxq_reset; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@240490.4]
+  wire  rxq_io_enq_ready; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@240490.4]
+  wire  rxq_io_enq_valid; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@240490.4]
+  wire [7:0] rxq_io_enq_bits; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@240490.4]
+  wire  rxq_io_deq_ready; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@240490.4]
+  wire  rxq_io_deq_valid; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@240490.4]
+  wire [7:0] rxq_io_deq_bits; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@240490.4]
+  wire [3:0] rxq_io_count; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@240490.4]
+  reg [15:0] div; // @[UART.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@240494.4]
+  reg [31:0] _RAND_0;
+  reg  txen; // @[UART.scala 72:17:shc.marmotcaravel.MarmotCaravelConfig.fir@240495.4]
+  reg [31:0] _RAND_1;
+  reg  rxen; // @[UART.scala 73:17:shc.marmotcaravel.MarmotCaravelConfig.fir@240496.4]
+  reg [31:0] _RAND_2;
+  reg [3:0] txwm; // @[UART.scala 74:17:shc.marmotcaravel.MarmotCaravelConfig.fir@240497.4]
+  reg [31:0] _RAND_3;
+  reg [3:0] rxwm; // @[UART.scala 75:17:shc.marmotcaravel.MarmotCaravelConfig.fir@240498.4]
+  reg [31:0] _RAND_4;
+  reg  nstop; // @[UART.scala 76:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240499.4]
+  reg [31:0] _RAND_5;
+  reg  ie_rxwm; // @[UART.scala 89:15:shc.marmotcaravel.MarmotCaravelConfig.fir@240518.4]
+  reg [31:0] _RAND_6;
+  reg  ie_txwm; // @[UART.scala 89:15:shc.marmotcaravel.MarmotCaravelConfig.fir@240518.4]
+  reg [31:0] _RAND_7;
+  wire  ip_txwm; // @[UART.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@240521.4]
+  wire  ip_rxwm; // @[UART.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@240523.4]
+  wire  _T_298; // @[UART.scala 94:29:shc.marmotcaravel.MarmotCaravelConfig.fir@240525.4]
+  wire  _T_299; // @[UART.scala 94:53:shc.marmotcaravel.MarmotCaravelConfig.fir@240526.4]
+  wire  _T_303; // @[RegMapFIFO.scala 24:9:shc.marmotcaravel.MarmotCaravelConfig.fir@240531.4]
+  wire  _T_304; // @[RegMapFIFO.scala 45:21:shc.marmotcaravel.MarmotCaravelConfig.fir@240532.4]
+  wire [2:0] _T_42_a_bits_opcode; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@240422.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@240472.4]
+  wire  _T_312; // @[RegisterRouter.scala 58:36:shc.marmotcaravel.MarmotCaravelConfig.fir@240535.4]
+  wire [28:0] _T_42_a_bits_address; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@240422.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@240472.4]
+  wire [26:0] _T_313; // @[Edges.scala 192:34:shc.marmotcaravel.MarmotCaravelConfig.fir@240537.4]
+  wire [5:0] _T_42_a_bits_source; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@240422.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@240472.4]
+  wire [1:0] _T_42_a_bits_size; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@240422.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@240472.4]
+  wire [7:0] _T_314; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240541.4]
+  wire [9:0] _T_309_bits_index; // @[RegisterRouter.scala 57:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240533.4 RegisterRouter.scala 59:19:shc.marmotcaravel.MarmotCaravelConfig.fir@240538.4]
+  wire [9:0] _T_330; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240549.4]
+  wire  _T_332; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240551.4]
+  wire [3:0] _T_42_a_bits_mask; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@240422.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@240472.4]
+  wire  _T_434; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@240573.4]
+  wire  _T_435; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@240574.4]
+  wire  _T_436; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@240575.4]
+  wire  _T_437; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@240576.4]
+  wire [7:0] _T_439; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@240578.4]
+  wire [7:0] _T_441; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@240580.4]
+  wire [7:0] _T_443; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@240582.4]
+  wire [7:0] _T_445; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@240584.4]
+  wire [15:0] _T_446; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240585.4]
+  wire [15:0] _T_447; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240586.4]
+  wire [31:0] _T_448; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240587.4]
+  wire [7:0] _T_464; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240603.4]
+  wire  _T_465; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240604.4]
+  wire [7:0] _T_467; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240606.4]
+  wire  _T_468; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240607.4]
+  wire  _T_42_a_valid; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@240422.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@240472.4]
+  wire  _T_42_d_ready; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@240422.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@240472.4]
+  wire  _T_900; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@241067.4]
+  wire  _T_899; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@241066.4]
+  wire [1:0] _T_908; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@241075.4]
+  wire  _T_898; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@241065.4]
+  wire [2:0] _T_909; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@241076.4]
+  wire  _T_928; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@241095.4]
+  wire  _T_929; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@241096.4]
+  wire [7:0] _T_910; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@241077.4]
+  wire  _T_911; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@241078.4]
+  wire  _T_996; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@241182.4]
+  wire  _T_997; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@241183.4]
+  wire  _T_1000; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@241186.4]
+  wire  _T_1001; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@241187.4]
+  wire  _T_476; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240615.4]
+  wire [31:0] _T_42_a_bits_data; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@240422.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@240472.4]
+  wire  _T_525; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240666.4]
+  wire  _T_526; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240667.4]
+  wire  _T_527; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240668.4]
+  wire  _T_531; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240672.4]
+  wire  _T_532; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240673.4]
+  wire  _T_534; // @[RegMapFIFO.scala 26:26:shc.marmotcaravel.MarmotCaravelConfig.fir@240675.4]
+  wire  _T_479; // @[RegMapFIFO.scala 18:33:shc.marmotcaravel.MarmotCaravelConfig.fir@240618.4]
+  wire [31:0] _T_544; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240686.4]
+  wire  _T_547; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240689.4]
+  wire  _T_550; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240692.4]
+  wire  _T_551; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240693.4]
+  wire  _T_561; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240703.4]
+  wire  _T_572; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240714.4]
+  wire  _T_575; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240717.4]
+  wire  _T_576; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240718.4]
+  wire  _T_586; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240728.4]
+  wire [1:0] _T_596; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240738.4]
+  wire  _T_912; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@241079.4]
+  wire  _T_938; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@241109.4]
+  wire  _T_939; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@241110.4]
+  wire [7:0] _T_622; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240765.4]
+  wire [8:0] _T_648; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240791.4]
+  wire [30:0] _T_649; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240792.4]
+  wire [31:0] _T_675; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240818.4]
+  wire [15:0] _T_678; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240821.4]
+  wire [15:0] _T_681; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240824.4]
+  wire  _T_682; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240825.4]
+  wire  _T_917; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@241084.4]
+  wire  _T_1036; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@241243.4]
+  wire  _T_1037; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@241244.4]
+  wire  _T_690; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240833.4]
+  wire [15:0] _T_692; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240835.4]
+  wire  _T_913; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@241080.4]
+  wire  _T_1012; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@241206.4]
+  wire  _T_1013; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@241207.4]
+  wire  _T_715; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240861.4]
+  wire  _T_740; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240889.4]
+  wire [1:0] _T_752; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240904.4]
+  wire [3:0] _T_755; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240907.4]
+  wire [3:0] _T_758; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240910.4]
+  wire  _T_759; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240911.4]
+  wire  _T_767; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240919.4]
+  wire [3:0] _T_769; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240921.4]
+  wire [15:0] _T_778; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240933.4]
+  wire [19:0] _T_779; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240934.4]
+  wire  _T_914; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@241081.4]
+  wire  _T_1018; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@241216.4]
+  wire  _T_1019; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@241217.4]
+  wire  _T_794; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240949.4]
+  wire  _T_819; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240977.4]
+  wire [15:0] _T_830; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240991.4]
+  wire [19:0] _T_831; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240992.4]
+  wire  _T_915; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@241082.4]
+  wire  _T_1024; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@241225.4]
+  wire  _T_1025; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@241226.4]
+  wire  _T_846; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@241007.4]
+  wire  _T_871; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@241035.4]
+  wire [1:0] _T_883; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@241050.4]
+  wire  _GEN_41; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@241463.4]
+  wire  _GEN_42; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@241463.4]
+  wire  _GEN_43; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@241463.4]
+  wire  _GEN_44; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@241463.4]
+  wire  _GEN_45; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@241463.4]
+  wire  _GEN_46; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@241463.4]
+  wire  _GEN_47; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@241463.4]
+  wire [31:0] _GEN_49; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@241475.4]
+  wire [31:0] _T_1225_2; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@241465.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@241469.4]
+  wire [31:0] _GEN_50; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@241475.4]
+  wire [31:0] _T_1225_3; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@241465.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@241470.4]
+  wire [31:0] _GEN_51; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@241475.4]
+  wire [31:0] _T_1225_4; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@241465.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@241471.4]
+  wire [31:0] _GEN_52; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@241475.4]
+  wire [31:0] _T_1225_5; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@241465.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@241472.4]
+  wire [31:0] _GEN_53; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@241475.4]
+  wire [31:0] _T_1225_6; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@241465.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@241473.4]
+  wire [31:0] _GEN_54; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@241475.4]
+  wire [31:0] _GEN_55; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@241475.4]
+  TLBuffer_17 buffer ( // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@240406.4]
+    .clock(buffer_clock),
+    .reset(buffer_reset),
+    .auto_in_a_ready(buffer_auto_in_a_ready),
+    .auto_in_a_valid(buffer_auto_in_a_valid),
+    .auto_in_a_bits_opcode(buffer_auto_in_a_bits_opcode),
+    .auto_in_a_bits_param(buffer_auto_in_a_bits_param),
+    .auto_in_a_bits_size(buffer_auto_in_a_bits_size),
+    .auto_in_a_bits_source(buffer_auto_in_a_bits_source),
+    .auto_in_a_bits_address(buffer_auto_in_a_bits_address),
+    .auto_in_a_bits_mask(buffer_auto_in_a_bits_mask),
+    .auto_in_a_bits_data(buffer_auto_in_a_bits_data),
+    .auto_in_a_bits_corrupt(buffer_auto_in_a_bits_corrupt),
+    .auto_in_d_ready(buffer_auto_in_d_ready),
+    .auto_in_d_valid(buffer_auto_in_d_valid),
+    .auto_in_d_bits_opcode(buffer_auto_in_d_bits_opcode),
+    .auto_in_d_bits_size(buffer_auto_in_d_bits_size),
+    .auto_in_d_bits_source(buffer_auto_in_d_bits_source),
+    .auto_in_d_bits_data(buffer_auto_in_d_bits_data),
+    .auto_out_a_ready(buffer_auto_out_a_ready),
+    .auto_out_a_valid(buffer_auto_out_a_valid),
+    .auto_out_a_bits_opcode(buffer_auto_out_a_bits_opcode),
+    .auto_out_a_bits_param(buffer_auto_out_a_bits_param),
+    .auto_out_a_bits_size(buffer_auto_out_a_bits_size),
+    .auto_out_a_bits_source(buffer_auto_out_a_bits_source),
+    .auto_out_a_bits_address(buffer_auto_out_a_bits_address),
+    .auto_out_a_bits_mask(buffer_auto_out_a_bits_mask),
+    .auto_out_a_bits_data(buffer_auto_out_a_bits_data),
+    .auto_out_a_bits_corrupt(buffer_auto_out_a_bits_corrupt),
+    .auto_out_d_ready(buffer_auto_out_d_ready),
+    .auto_out_d_valid(buffer_auto_out_d_valid),
+    .auto_out_d_bits_opcode(buffer_auto_out_d_bits_opcode),
+    .auto_out_d_bits_size(buffer_auto_out_d_bits_size),
+    .auto_out_d_bits_source(buffer_auto_out_d_bits_source),
+    .auto_out_d_bits_data(buffer_auto_out_d_bits_data)
+  );
+  IntSyncCrossingSource_3 intsource ( // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@240412.4]
+    .clock(intsource_clock),
+    .reset(intsource_reset),
+    .auto_in_0(intsource_auto_in_0),
+    .auto_out_sync_0(intsource_auto_out_sync_0)
+  );
+  TLMonitor_59 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@240424.4]
+    .clock(TLMonitor_clock),
+    .reset(TLMonitor_reset),
+    .io_in_a_ready(TLMonitor_io_in_a_ready),
+    .io_in_a_valid(TLMonitor_io_in_a_valid),
+    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
+    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
+    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
+    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
+    .io_in_d_ready(TLMonitor_io_in_d_ready),
+    .io_in_d_valid(TLMonitor_io_in_d_valid),
+    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
+    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
+    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source)
+  );
+  UARTTx txm ( // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@240478.4]
+    .clock(txm_clock),
+    .reset(txm_reset),
+    .io_en(txm_io_en),
+    .io_in_ready(txm_io_in_ready),
+    .io_in_valid(txm_io_in_valid),
+    .io_in_bits(txm_io_in_bits),
+    .io_out(txm_io_out),
+    .io_div(txm_io_div),
+    .io_nstop(txm_io_nstop)
+  );
+  Queue_14 txq ( // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@240482.4]
+    .clock(txq_clock),
+    .reset(txq_reset),
+    .io_enq_ready(txq_io_enq_ready),
+    .io_enq_valid(txq_io_enq_valid),
+    .io_enq_bits(txq_io_enq_bits),
+    .io_deq_ready(txq_io_deq_ready),
+    .io_deq_valid(txq_io_deq_valid),
+    .io_deq_bits(txq_io_deq_bits),
+    .io_count(txq_io_count)
+  );
+  UARTRx rxm ( // @[UART.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@240486.4]
+    .clock(rxm_clock),
+    .reset(rxm_reset),
+    .io_en(rxm_io_en),
+    .io_in(rxm_io_in),
+    .io_out_valid(rxm_io_out_valid),
+    .io_out_bits(rxm_io_out_bits),
+    .io_div(rxm_io_div)
+  );
+  Queue_14 rxq ( // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@240490.4]
+    .clock(rxq_clock),
+    .reset(rxq_reset),
+    .io_enq_ready(rxq_io_enq_ready),
+    .io_enq_valid(rxq_io_enq_valid),
+    .io_enq_bits(rxq_io_enq_bits),
+    .io_deq_ready(rxq_io_deq_ready),
+    .io_deq_valid(rxq_io_deq_valid),
+    .io_deq_bits(rxq_io_deq_bits),
+    .io_count(rxq_io_count)
+  );
+  assign ip_txwm = txq_io_count < txwm; // @[UART.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@240521.4]
+  assign ip_rxwm = rxq_io_count > rxwm; // @[UART.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@240523.4]
+  assign _T_298 = ip_txwm & ie_txwm; // @[UART.scala 94:29:shc.marmotcaravel.MarmotCaravelConfig.fir@240525.4]
+  assign _T_299 = ip_rxwm & ie_rxwm; // @[UART.scala 94:53:shc.marmotcaravel.MarmotCaravelConfig.fir@240526.4]
+  assign _T_303 = txq_io_enq_ready == 1'h0; // @[RegMapFIFO.scala 24:9:shc.marmotcaravel.MarmotCaravelConfig.fir@240531.4]
+  assign _T_304 = rxq_io_deq_valid == 1'h0; // @[RegMapFIFO.scala 45:21:shc.marmotcaravel.MarmotCaravelConfig.fir@240532.4]
+  assign _T_42_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@240422.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@240472.4]
+  assign _T_312 = _T_42_a_bits_opcode == 3'h4; // @[RegisterRouter.scala 58:36:shc.marmotcaravel.MarmotCaravelConfig.fir@240535.4]
+  assign _T_42_a_bits_address = buffer_auto_out_a_bits_address; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@240422.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@240472.4]
+  assign _T_313 = _T_42_a_bits_address[28:2]; // @[Edges.scala 192:34:shc.marmotcaravel.MarmotCaravelConfig.fir@240537.4]
+  assign _T_42_a_bits_source = buffer_auto_out_a_bits_source; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@240422.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@240472.4]
+  assign _T_42_a_bits_size = buffer_auto_out_a_bits_size; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@240422.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@240472.4]
+  assign _T_314 = {_T_42_a_bits_source,_T_42_a_bits_size}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240541.4]
+  assign _T_309_bits_index = _T_313[9:0]; // @[RegisterRouter.scala 57:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240533.4 RegisterRouter.scala 59:19:shc.marmotcaravel.MarmotCaravelConfig.fir@240538.4]
+  assign _T_330 = _T_309_bits_index & 10'h3f8; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240549.4]
+  assign _T_332 = _T_330 == 10'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240551.4]
+  assign _T_42_a_bits_mask = buffer_auto_out_a_bits_mask; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@240422.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@240472.4]
+  assign _T_434 = _T_42_a_bits_mask[0]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@240573.4]
+  assign _T_435 = _T_42_a_bits_mask[1]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@240574.4]
+  assign _T_436 = _T_42_a_bits_mask[2]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@240575.4]
+  assign _T_437 = _T_42_a_bits_mask[3]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@240576.4]
+  assign _T_439 = _T_434 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@240578.4]
+  assign _T_441 = _T_435 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@240580.4]
+  assign _T_443 = _T_436 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@240582.4]
+  assign _T_445 = _T_437 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@240584.4]
+  assign _T_446 = {_T_441,_T_439}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240585.4]
+  assign _T_447 = {_T_445,_T_443}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240586.4]
+  assign _T_448 = {_T_447,_T_446}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240587.4]
+  assign _T_464 = _T_448[7:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240603.4]
+  assign _T_465 = _T_464 != 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240604.4]
+  assign _T_467 = ~ _T_464; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240606.4]
+  assign _T_468 = _T_467 == 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240607.4]
+  assign _T_42_a_valid = buffer_auto_out_a_valid; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@240422.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@240472.4]
+  assign _T_42_d_ready = buffer_auto_out_d_ready; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@240422.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@240472.4]
+  assign _T_900 = _T_309_bits_index[2]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@241067.4]
+  assign _T_899 = _T_309_bits_index[1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@241066.4]
+  assign _T_908 = {_T_900,_T_899}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@241075.4]
+  assign _T_898 = _T_309_bits_index[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@241065.4]
+  assign _T_909 = {_T_908,_T_898}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@241076.4]
+  assign _T_928 = _T_42_a_valid & _T_42_d_ready; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@241095.4]
+  assign _T_929 = _T_928 & _T_312; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@241096.4]
+  assign _T_910 = 8'h1 << _T_909; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@241077.4]
+  assign _T_911 = _T_910[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@241078.4]
+  assign _T_996 = _T_312 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@241182.4]
+  assign _T_997 = _T_928 & _T_996; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@241183.4]
+  assign _T_1000 = _T_997 & _T_911; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@241186.4]
+  assign _T_1001 = _T_1000 & _T_332; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@241187.4]
+  assign _T_476 = _T_1001 & _T_468; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240615.4]
+  assign _T_42_a_bits_data = buffer_auto_out_a_bits_data; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@240422.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@240472.4]
+  assign _T_525 = _T_448[31]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240666.4]
+  assign _T_526 = ~ _T_525; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240667.4]
+  assign _T_527 = _T_526 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240668.4]
+  assign _T_531 = _T_1001 & _T_527; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240672.4]
+  assign _T_532 = _T_42_a_bits_data[31]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240673.4]
+  assign _T_534 = _T_531 & _T_532; // @[RegMapFIFO.scala 26:26:shc.marmotcaravel.MarmotCaravelConfig.fir@240675.4]
+  assign _T_479 = _T_534 == 1'h0; // @[RegMapFIFO.scala 18:33:shc.marmotcaravel.MarmotCaravelConfig.fir@240618.4]
+  assign _T_544 = {_T_303,31'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240686.4]
+  assign _T_547 = _T_448[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240689.4]
+  assign _T_550 = ~ _T_547; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240692.4]
+  assign _T_551 = _T_550 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240693.4]
+  assign _T_561 = _T_42_a_bits_data[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240703.4]
+  assign _T_572 = _T_448[1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240714.4]
+  assign _T_575 = ~ _T_572; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240717.4]
+  assign _T_576 = _T_575 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240718.4]
+  assign _T_586 = _T_42_a_bits_data[1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240728.4]
+  assign _T_596 = {ip_rxwm,ip_txwm}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240738.4]
+  assign _T_912 = _T_910[1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@241079.4]
+  assign _T_938 = _T_929 & _T_912; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@241109.4]
+  assign _T_939 = _T_938 & _T_332; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@241110.4]
+  assign _T_622 = rxq_io_deq_bits; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240765.4]
+  assign _T_648 = {1'h0,_T_622}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240791.4]
+  assign _T_649 = {{22'd0}, _T_648}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240792.4]
+  assign _T_675 = {_T_304,_T_649}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240818.4]
+  assign _T_678 = _T_448[15:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240821.4]
+  assign _T_681 = ~ _T_678; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240824.4]
+  assign _T_682 = _T_681 == 16'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240825.4]
+  assign _T_917 = _T_910[6]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@241084.4]
+  assign _T_1036 = _T_997 & _T_917; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@241243.4]
+  assign _T_1037 = _T_1036 & _T_332; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@241244.4]
+  assign _T_690 = _T_1037 & _T_682; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240833.4]
+  assign _T_692 = _T_42_a_bits_data[15:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240835.4]
+  assign _T_913 = _T_910[2]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@241080.4]
+  assign _T_1012 = _T_997 & _T_913; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@241206.4]
+  assign _T_1013 = _T_1012 & _T_332; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@241207.4]
+  assign _T_715 = _T_1013 & _T_551; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240861.4]
+  assign _T_740 = _T_1013 & _T_576; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240889.4]
+  assign _T_752 = {nstop,txen}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240904.4]
+  assign _T_755 = _T_448[19:16]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240907.4]
+  assign _T_758 = ~ _T_755; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240910.4]
+  assign _T_759 = _T_758 == 4'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240911.4]
+  assign _T_767 = _T_1013 & _T_759; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240919.4]
+  assign _T_769 = _T_42_a_bits_data[19:16]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240921.4]
+  assign _T_778 = {{14'd0}, _T_752}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240933.4]
+  assign _T_779 = {txwm,_T_778}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240934.4]
+  assign _T_914 = _T_910[3]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@241081.4]
+  assign _T_1018 = _T_997 & _T_914; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@241216.4]
+  assign _T_1019 = _T_1018 & _T_332; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@241217.4]
+  assign _T_794 = _T_1019 & _T_551; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240949.4]
+  assign _T_819 = _T_1019 & _T_759; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240977.4]
+  assign _T_830 = {{15'd0}, rxen}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240991.4]
+  assign _T_831 = {rxwm,_T_830}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240992.4]
+  assign _T_915 = _T_910[4]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@241082.4]
+  assign _T_1024 = _T_997 & _T_915; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@241225.4]
+  assign _T_1025 = _T_1024 & _T_332; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@241226.4]
+  assign _T_846 = _T_1025 & _T_551; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@241007.4]
+  assign _T_871 = _T_1025 & _T_576; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@241035.4]
+  assign _T_883 = {ie_rxwm,ie_txwm}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@241050.4]
+  assign _GEN_41 = 3'h1 == _T_909 ? _T_332 : _T_332; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@241463.4]
+  assign _GEN_42 = 3'h2 == _T_909 ? _T_332 : _GEN_41; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@241463.4]
+  assign _GEN_43 = 3'h3 == _T_909 ? _T_332 : _GEN_42; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@241463.4]
+  assign _GEN_44 = 3'h4 == _T_909 ? _T_332 : _GEN_43; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@241463.4]
+  assign _GEN_45 = 3'h5 == _T_909 ? _T_332 : _GEN_44; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@241463.4]
+  assign _GEN_46 = 3'h6 == _T_909 ? _T_332 : _GEN_45; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@241463.4]
+  assign _GEN_47 = 3'h7 == _T_909 ? 1'h1 : _GEN_46; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@241463.4]
+  assign _GEN_49 = 3'h1 == _T_909 ? _T_675 : _T_544; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@241475.4]
+  assign _T_1225_2 = {{12'd0}, _T_779}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@241465.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@241469.4]
+  assign _GEN_50 = 3'h2 == _T_909 ? _T_1225_2 : _GEN_49; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@241475.4]
+  assign _T_1225_3 = {{12'd0}, _T_831}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@241465.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@241470.4]
+  assign _GEN_51 = 3'h3 == _T_909 ? _T_1225_3 : _GEN_50; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@241475.4]
+  assign _T_1225_4 = {{30'd0}, _T_883}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@241465.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@241471.4]
+  assign _GEN_52 = 3'h4 == _T_909 ? _T_1225_4 : _GEN_51; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@241475.4]
+  assign _T_1225_5 = {{30'd0}, _T_596}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@241465.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@241472.4]
+  assign _GEN_53 = 3'h5 == _T_909 ? _T_1225_5 : _GEN_52; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@241475.4]
+  assign _T_1225_6 = {{16'd0}, div}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@241465.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@241473.4]
+  assign _GEN_54 = 3'h6 == _T_909 ? _T_1225_6 : _GEN_53; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@241475.4]
+  assign _GEN_55 = 3'h7 == _T_909 ? 32'h0 : _GEN_54; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@241475.4]
+  assign auto_int_xing_out_sync_0 = intsource_auto_out_sync_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@240477.4]
+  assign auto_control_xing_in_a_ready = buffer_auto_in_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@240476.4]
+  assign auto_control_xing_in_d_valid = buffer_auto_in_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@240476.4]
+  assign auto_control_xing_in_d_bits_opcode = buffer_auto_in_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@240476.4]
+  assign auto_control_xing_in_d_bits_size = buffer_auto_in_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@240476.4]
+  assign auto_control_xing_in_d_bits_source = buffer_auto_in_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@240476.4]
+  assign auto_control_xing_in_d_bits_data = buffer_auto_in_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@240476.4]
+  assign auto_io_out_txd = txm_io_out; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@240475.4]
+  assign buffer_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240410.4]
+  assign buffer_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240411.4]
+  assign buffer_auto_in_a_valid = auto_control_xing_in_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@240473.4]
+  assign buffer_auto_in_a_bits_opcode = auto_control_xing_in_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@240473.4]
+  assign buffer_auto_in_a_bits_param = auto_control_xing_in_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@240473.4]
+  assign buffer_auto_in_a_bits_size = auto_control_xing_in_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@240473.4]
+  assign buffer_auto_in_a_bits_source = auto_control_xing_in_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@240473.4]
+  assign buffer_auto_in_a_bits_address = auto_control_xing_in_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@240473.4]
+  assign buffer_auto_in_a_bits_mask = auto_control_xing_in_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@240473.4]
+  assign buffer_auto_in_a_bits_data = auto_control_xing_in_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@240473.4]
+  assign buffer_auto_in_a_bits_corrupt = auto_control_xing_in_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@240473.4]
+  assign buffer_auto_in_d_ready = auto_control_xing_in_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@240473.4]
+  assign buffer_auto_out_a_ready = buffer_auto_out_d_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@240472.4]
+  assign buffer_auto_out_d_valid = buffer_auto_out_a_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@240472.4]
+  assign buffer_auto_out_d_bits_opcode = {{2'd0}, _T_312}; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@240472.4]
+  assign buffer_auto_out_d_bits_size = _T_314[1:0]; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@240472.4]
+  assign buffer_auto_out_d_bits_source = _T_314[7:2]; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@240472.4]
+  assign buffer_auto_out_d_bits_data = _GEN_47 ? _GEN_55 : 32'h0; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@240472.4]
+  assign intsource_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240416.4]
+  assign intsource_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240417.4]
+  assign intsource_auto_in_0 = _T_298 | _T_299; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@240471.4]
+  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240426.4]
+  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240427.4]
+  assign TLMonitor_io_in_a_ready = buffer_auto_out_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@240460.4]
+  assign TLMonitor_io_in_a_valid = buffer_auto_out_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@240460.4]
+  assign TLMonitor_io_in_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@240460.4]
+  assign TLMonitor_io_in_a_bits_param = buffer_auto_out_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@240460.4]
+  assign TLMonitor_io_in_a_bits_size = buffer_auto_out_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@240460.4]
+  assign TLMonitor_io_in_a_bits_source = buffer_auto_out_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@240460.4]
+  assign TLMonitor_io_in_a_bits_address = buffer_auto_out_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@240460.4]
+  assign TLMonitor_io_in_a_bits_mask = buffer_auto_out_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@240460.4]
+  assign TLMonitor_io_in_a_bits_corrupt = buffer_auto_out_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@240460.4]
+  assign TLMonitor_io_in_d_ready = buffer_auto_out_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@240460.4]
+  assign TLMonitor_io_in_d_valid = buffer_auto_out_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@240460.4]
+  assign TLMonitor_io_in_d_bits_opcode = {{2'd0}, _T_312}; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@240460.4]
+  assign TLMonitor_io_in_d_bits_size = _T_314[1:0]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@240460.4]
+  assign TLMonitor_io_in_d_bits_source = _T_314[7:2]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@240460.4]
+  assign txm_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240480.4]
+  assign txm_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240481.4]
+  assign txm_io_en = txen; // @[UART.scala 78:13:shc.marmotcaravel.MarmotCaravelConfig.fir@240500.4]
+  assign txm_io_in_valid = txq_io_deq_valid; // @[UART.scala 79:13:shc.marmotcaravel.MarmotCaravelConfig.fir@240501.4]
+  assign txm_io_in_bits = txq_io_deq_bits; // @[UART.scala 79:13:shc.marmotcaravel.MarmotCaravelConfig.fir@240501.4]
+  assign txm_io_div = div; // @[UART.scala 80:14:shc.marmotcaravel.MarmotCaravelConfig.fir@240502.4]
+  assign txm_io_nstop = nstop; // @[UART.scala 81:16:shc.marmotcaravel.MarmotCaravelConfig.fir@240503.4]
+  assign txq_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240484.4]
+  assign txq_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240485.4]
+  assign txq_io_enq_valid = _T_476 & _T_479; // @[RegMapFIFO.scala 18:21:shc.marmotcaravel.MarmotCaravelConfig.fir@240620.4]
+  assign txq_io_enq_bits = _T_42_a_bits_data[7:0]; // @[RegMapFIFO.scala 19:20:shc.marmotcaravel.MarmotCaravelConfig.fir@240621.4]
+  assign txq_io_deq_ready = txm_io_in_ready; // @[UART.scala 79:13:shc.marmotcaravel.MarmotCaravelConfig.fir@240501.4]
+  assign rxm_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240488.4]
+  assign rxm_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240489.4]
+  assign rxm_io_en = rxen; // @[UART.scala 84:13:shc.marmotcaravel.MarmotCaravelConfig.fir@240505.4]
+  assign rxm_io_in = auto_io_out_rxd; // @[UART.scala 85:13:shc.marmotcaravel.MarmotCaravelConfig.fir@240506.4]
+  assign rxm_io_div = div; // @[UART.scala 87:14:shc.marmotcaravel.MarmotCaravelConfig.fir@240508.4]
+  assign rxq_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240492.4]
+  assign rxq_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240493.4]
+  assign rxq_io_enq_valid = rxm_io_out_valid; // @[UART.scala 86:14:shc.marmotcaravel.MarmotCaravelConfig.fir@240507.4]
+  assign rxq_io_enq_bits = rxm_io_out_bits; // @[UART.scala 86:14:shc.marmotcaravel.MarmotCaravelConfig.fir@240507.4]
+  assign rxq_io_deq_ready = _T_939 & _T_465; // @[RegMapFIFO.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@240755.4]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  div = _RAND_0[15:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  txen = _RAND_1[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  rxen = _RAND_2[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  txwm = _RAND_3[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  rxwm = _RAND_4[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  nstop = _RAND_5[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {1{`RANDOM}};
+  ie_rxwm = _RAND_6[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {1{`RANDOM}};
+  ie_txwm = _RAND_7[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      div <= 16'h364;
+    end else begin
+      if (_T_690) begin
+        div <= _T_692;
+      end
+    end
+    if (reset) begin
+      txen <= 1'h0;
+    end else begin
+      if (_T_715) begin
+        txen <= _T_561;
+      end
+    end
+    if (reset) begin
+      rxen <= 1'h0;
+    end else begin
+      if (_T_794) begin
+        rxen <= _T_561;
+      end
+    end
+    if (reset) begin
+      txwm <= 4'h0;
+    end else begin
+      if (_T_767) begin
+        txwm <= _T_769;
+      end
+    end
+    if (reset) begin
+      rxwm <= 4'h0;
+    end else begin
+      if (_T_819) begin
+        rxwm <= _T_769;
+      end
+    end
+    if (reset) begin
+      nstop <= 1'h0;
+    end else begin
+      if (_T_740) begin
+        nstop <= _T_586;
+      end
+    end
+    if (reset) begin
+      ie_rxwm <= 1'h0;
+    end else begin
+      if (_T_871) begin
+        ie_rxwm <= _T_586;
+      end
+    end
+    if (reset) begin
+      ie_txwm <= 1'h0;
+    end else begin
+      if (_T_846) begin
+        ie_txwm <= _T_561;
+      end
+    end
+  end
+endmodule
+module TLMonitor_60( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@241570.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@241571.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@241572.4]
+  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@241573.4]
+  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@241573.4]
+  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@241573.4]
+  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@241573.4]
+  input  [1:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@241573.4]
+  input  [5:0]  io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@241573.4]
+  input  [28:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@241573.4]
+  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@241573.4]
+  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@241573.4]
+  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@241573.4]
+  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@241573.4]
+  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@241573.4]
+  input  [1:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@241573.4]
+  input  [5:0]  io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@241573.4]
+);
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@242700.4]
+  wire [4:0] _T_36; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@241600.6]
+  wire [1:0] _T_37; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@241601.6]
+  wire [1:0] _T_38; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@241602.6]
+  wire [28:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@241603.6]
+  wire [28:0] _T_39; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@241603.6]
+  wire  _T_40; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@241604.6]
+  wire  _T_42; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@241606.6]
+  wire [1:0] _T_43; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@241607.6]
+  wire [1:0] _T_45; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@241609.6]
+  wire  _T_46; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@241610.6]
+  wire  _T_47; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@241611.6]
+  wire  _T_48; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@241612.6]
+  wire  _T_49; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@241613.6]
+  wire  _T_51; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@241615.6]
+  wire  _T_52; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@241616.6]
+  wire  _T_54; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@241618.6]
+  wire  _T_55; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@241619.6]
+  wire  _T_56; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@241620.6]
+  wire  _T_57; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@241621.6]
+  wire  _T_58; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@241622.6]
+  wire  _T_59; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@241623.6]
+  wire  _T_60; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@241624.6]
+  wire  _T_61; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@241625.6]
+  wire  _T_62; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@241626.6]
+  wire  _T_63; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@241627.6]
+  wire  _T_64; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@241628.6]
+  wire  _T_65; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@241629.6]
+  wire  _T_66; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@241630.6]
+  wire  _T_67; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@241631.6]
+  wire  _T_68; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@241632.6]
+  wire  _T_69; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@241633.6]
+  wire  _T_70; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@241634.6]
+  wire [1:0] _T_71; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@241635.6]
+  wire [1:0] _T_72; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@241636.6]
+  wire [3:0] _T_73; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@241637.6]
+  wire  _T_92; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@241660.6]
+  wire [28:0] _T_94; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@241663.8]
+  wire [29:0] _T_95; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@241664.8]
+  wire [29:0] _T_96; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@241665.8]
+  wire [29:0] _T_97; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@241666.8]
+  wire  _T_98; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@241667.8]
+  wire  _T_103; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241672.8]
+  wire  _T_112; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241693.8]
+  wire  _T_113; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241694.8]
+  wire  _T_115; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241700.8]
+  wire  _T_116; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241701.8]
+  wire  _T_117; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@241706.8]
+  wire  _T_119; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241708.8]
+  wire  _T_120; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241709.8]
+  wire [3:0] _T_121; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@241714.8]
+  wire  _T_122; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@241715.8]
+  wire  _T_124; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241717.8]
+  wire  _T_125; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241718.8]
+  wire  _T_126; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@241723.8]
+  wire  _T_128; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241725.8]
+  wire  _T_129; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241726.8]
+  wire  _T_130; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@241732.6]
+  wire  _T_159; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@241786.8]
+  wire  _T_161; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241788.8]
+  wire  _T_162; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241789.8]
+  wire  _T_172; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@241812.6]
+  wire  _T_174; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@241815.8]
+  wire  _T_182; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@241823.8]
+  wire  _T_185; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241826.8]
+  wire  _T_186; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241827.8]
+  wire  _T_193; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@241846.8]
+  wire  _T_195; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241848.8]
+  wire  _T_196; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241849.8]
+  wire  _T_197; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@241854.8]
+  wire  _T_199; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241856.8]
+  wire  _T_200; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241857.8]
+  wire  _T_205; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@241871.6]
+  wire  _T_234; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@241922.6]
+  wire [3:0] _T_259; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@241964.8]
+  wire [3:0] _T_260; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@241965.8]
+  wire  _T_261; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@241966.8]
+  wire  _T_263; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241968.8]
+  wire  _T_264; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241969.8]
+  wire  _T_265; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@241975.6]
+  wire  _T_283; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@242006.8]
+  wire  _T_285; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242008.8]
+  wire  _T_286; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242009.8]
+  wire  _T_291; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@242023.6]
+  wire  _T_309; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@242054.8]
+  wire  _T_311; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242056.8]
+  wire  _T_312; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242057.8]
+  wire  _T_317; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@242071.6]
+  wire  _T_343; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@242121.6]
+  wire  _T_345; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@242123.6]
+  wire  _T_346; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@242124.6]
+  wire  _T_363; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@242141.6]
+  wire  _T_367; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@242150.8]
+  wire  _T_369; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242152.8]
+  wire  _T_370; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242153.8]
+  wire  _T_383; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@242183.6]
+  wire  _T_411; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@242241.6]
+  wire  _T_504; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@242431.4]
+  reg  _T_514; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@242440.4]
+  reg [31:0] _RAND_0;
+  wire [1:0] _T_515; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@242441.4]
+  wire [1:0] _T_516; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@242442.4]
+  wire  _T_517; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@242443.4]
+  wire  _T_518; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@242444.4]
+  reg [2:0] _T_527; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@242455.4]
+  reg [31:0] _RAND_1;
+  reg [2:0] _T_529; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@242456.4]
+  reg [31:0] _RAND_2;
+  reg [1:0] _T_531; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@242457.4]
+  reg [31:0] _RAND_3;
+  reg [5:0] _T_533; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@242458.4]
+  reg [31:0] _RAND_4;
+  reg [28:0] _T_535; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@242459.4]
+  reg [31:0] _RAND_5;
+  wire  _T_536; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@242460.4]
+  wire  _T_537; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@242461.4]
+  wire  _T_538; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@242463.6]
+  wire  _T_540; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242465.6]
+  wire  _T_541; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242466.6]
+  wire  _T_542; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@242471.6]
+  wire  _T_544; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242473.6]
+  wire  _T_545; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242474.6]
+  wire  _T_546; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@242479.6]
+  wire  _T_548; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242481.6]
+  wire  _T_549; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242482.6]
+  wire  _T_550; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@242487.6]
+  wire  _T_552; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242489.6]
+  wire  _T_553; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242490.6]
+  wire  _T_554; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@242495.6]
+  wire  _T_556; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242497.6]
+  wire  _T_557; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242498.6]
+  wire  _T_559; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@242505.4]
+  wire  _T_560; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@242513.4]
+  reg  _T_569; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@242521.4]
+  reg [31:0] _RAND_6;
+  wire [1:0] _T_570; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@242522.4]
+  wire [1:0] _T_571; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@242523.4]
+  wire  _T_572; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@242524.4]
+  wire  _T_573; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@242525.4]
+  reg [2:0] _T_582; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@242536.4]
+  reg [31:0] _RAND_7;
+  reg [1:0] _T_586; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@242538.4]
+  reg [31:0] _RAND_8;
+  reg [5:0] _T_588; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@242539.4]
+  reg [31:0] _RAND_9;
+  wire  _T_593; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@242542.4]
+  wire  _T_594; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@242543.4]
+  wire  _T_595; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@242545.6]
+  wire  _T_597; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242547.6]
+  wire  _T_598; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242548.6]
+  wire  _T_603; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@242561.6]
+  wire  _T_605; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242563.6]
+  wire  _T_606; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242564.6]
+  wire  _T_607; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@242569.6]
+  wire  _T_609; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242571.6]
+  wire  _T_610; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242572.6]
+  wire  _T_620; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@242595.4]
+  reg [63:0] _T_622; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@242604.4]
+  reg [63:0] _RAND_10;
+  reg  _T_633; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@242614.4]
+  reg [31:0] _RAND_11;
+  wire [1:0] _T_634; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@242615.4]
+  wire [1:0] _T_635; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@242616.4]
+  wire  _T_636; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@242617.4]
+  wire  _T_637; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@242618.4]
+  reg  _T_654; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@242637.4]
+  reg [31:0] _RAND_12;
+  wire [1:0] _T_655; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@242638.4]
+  wire [1:0] _T_656; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@242639.4]
+  wire  _T_657; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@242640.4]
+  wire  _T_658; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@242641.4]
+  wire  _T_669; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@242656.4]
+  wire [63:0] _T_671; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@242659.6]
+  wire [63:0] _T_672; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@242661.6]
+  wire  _T_673; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@242662.6]
+  wire  _T_674; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242663.6]
+  wire  _T_676; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@242665.6]
+  wire  _T_677; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@242666.6]
+  wire [63:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@242658.4]
+  wire  _T_682; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@242677.4]
+  wire  _T_684; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@242679.4]
+  wire  _T_685; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@242680.4]
+  wire [63:0] _T_686; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@242682.6]
+  wire [63:0] _T_687; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@242684.6]
+  wire [63:0] _T_688; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@242685.6]
+  wire  _T_689; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@242686.6]
+  wire  _T_691; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@242688.6]
+  wire  _T_692; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@242689.6]
+  wire [63:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@242681.4]
+  wire [63:0] _T_693; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@242695.4]
+  wire [63:0] _T_694; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@242696.4]
+  wire [63:0] _T_695; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@242697.4]
+  reg [31:0] _T_697; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@242699.4]
+  reg [31:0] _RAND_13;
+  wire  _T_698; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@242702.4]
+  wire  _T_699; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@242703.4]
+  wire  _T_700; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@242704.4]
+  wire  _T_701; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@242705.4]
+  wire  _T_702; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@242706.4]
+  wire  _T_703; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@242707.4]
+  wire  _T_705; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@242709.4]
+  wire  _T_706; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@242710.4]
+  wire [31:0] _T_708; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@242716.4]
+  wire  _T_711; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@242720.4]
+  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241674.10]
+  wire  _GEN_33; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241746.10]
+  wire  _GEN_49; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241829.10]
+  wire  _GEN_59; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241888.10]
+  wire  _GEN_67; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241939.10]
+  wire  _GEN_75; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241989.10]
+  wire  _GEN_83; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242037.10]
+  wire  _GEN_91; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242085.10]
+  wire  _GEN_99; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242155.10]
+  wire  _GEN_101; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242196.10]
+  wire  _GEN_105; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242254.10]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@242700.4]
+    .out(plusarg_reader_out)
+  );
+  assign _T_36 = 5'h3 << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@241600.6]
+  assign _T_37 = _T_36[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@241601.6]
+  assign _T_38 = ~ _T_37; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@241602.6]
+  assign _GEN_18 = {{27'd0}, _T_38}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@241603.6]
+  assign _T_39 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@241603.6]
+  assign _T_40 = _T_39 == 29'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@241604.6]
+  assign _T_42 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@241606.6]
+  assign _T_43 = 2'h1 << _T_42; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@241607.6]
+  assign _T_45 = _T_43 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@241609.6]
+  assign _T_46 = io_in_a_bits_size >= 2'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@241610.6]
+  assign _T_47 = _T_45[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@241611.6]
+  assign _T_48 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@241612.6]
+  assign _T_49 = _T_48 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@241613.6]
+  assign _T_51 = _T_47 & _T_49; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@241615.6]
+  assign _T_52 = _T_46 | _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@241616.6]
+  assign _T_54 = _T_47 & _T_48; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@241618.6]
+  assign _T_55 = _T_46 | _T_54; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@241619.6]
+  assign _T_56 = _T_45[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@241620.6]
+  assign _T_57 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@241621.6]
+  assign _T_58 = _T_57 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@241622.6]
+  assign _T_59 = _T_49 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@241623.6]
+  assign _T_60 = _T_56 & _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@241624.6]
+  assign _T_61 = _T_52 | _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@241625.6]
+  assign _T_62 = _T_49 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@241626.6]
+  assign _T_63 = _T_56 & _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@241627.6]
+  assign _T_64 = _T_52 | _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@241628.6]
+  assign _T_65 = _T_48 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@241629.6]
+  assign _T_66 = _T_56 & _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@241630.6]
+  assign _T_67 = _T_55 | _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@241631.6]
+  assign _T_68 = _T_48 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@241632.6]
+  assign _T_69 = _T_56 & _T_68; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@241633.6]
+  assign _T_70 = _T_55 | _T_69; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@241634.6]
+  assign _T_71 = {_T_64,_T_61}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@241635.6]
+  assign _T_72 = {_T_70,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@241636.6]
+  assign _T_73 = {_T_72,_T_71}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@241637.6]
+  assign _T_92 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@241660.6]
+  assign _T_94 = io_in_a_bits_address ^ 29'h10023000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@241663.8]
+  assign _T_95 = {1'b0,$signed(_T_94)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@241664.8]
+  assign _T_96 = $signed(_T_95) & $signed(-30'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@241665.8]
+  assign _T_97 = $signed(_T_96); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@241666.8]
+  assign _T_98 = $signed(_T_97) == $signed(30'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@241667.8]
+  assign _T_103 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241672.8]
+  assign _T_112 = _T_46 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241693.8]
+  assign _T_113 = _T_112 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241694.8]
+  assign _T_115 = _T_40 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241700.8]
+  assign _T_116 = _T_115 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241701.8]
+  assign _T_117 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@241706.8]
+  assign _T_119 = _T_117 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241708.8]
+  assign _T_120 = _T_119 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241709.8]
+  assign _T_121 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@241714.8]
+  assign _T_122 = _T_121 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@241715.8]
+  assign _T_124 = _T_122 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241717.8]
+  assign _T_125 = _T_124 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241718.8]
+  assign _T_126 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@241723.8]
+  assign _T_128 = _T_126 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241725.8]
+  assign _T_129 = _T_128 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241726.8]
+  assign _T_130 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@241732.6]
+  assign _T_159 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@241786.8]
+  assign _T_161 = _T_159 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241788.8]
+  assign _T_162 = _T_161 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241789.8]
+  assign _T_172 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@241812.6]
+  assign _T_174 = io_in_a_bits_size <= 2'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@241815.8]
+  assign _T_182 = _T_174 & _T_98; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@241823.8]
+  assign _T_185 = _T_182 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241826.8]
+  assign _T_186 = _T_185 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241827.8]
+  assign _T_193 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@241846.8]
+  assign _T_195 = _T_193 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241848.8]
+  assign _T_196 = _T_195 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241849.8]
+  assign _T_197 = io_in_a_bits_mask == _T_73; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@241854.8]
+  assign _T_199 = _T_197 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241856.8]
+  assign _T_200 = _T_199 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241857.8]
+  assign _T_205 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@241871.6]
+  assign _T_234 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@241922.6]
+  assign _T_259 = ~ _T_73; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@241964.8]
+  assign _T_260 = io_in_a_bits_mask & _T_259; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@241965.8]
+  assign _T_261 = _T_260 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@241966.8]
+  assign _T_263 = _T_261 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241968.8]
+  assign _T_264 = _T_263 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241969.8]
+  assign _T_265 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@241975.6]
+  assign _T_283 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@242006.8]
+  assign _T_285 = _T_283 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242008.8]
+  assign _T_286 = _T_285 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242009.8]
+  assign _T_291 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@242023.6]
+  assign _T_309 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@242054.8]
+  assign _T_311 = _T_309 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242056.8]
+  assign _T_312 = _T_311 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242057.8]
+  assign _T_317 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@242071.6]
+  assign _T_343 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@242121.6]
+  assign _T_345 = _T_343 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@242123.6]
+  assign _T_346 = _T_345 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@242124.6]
+  assign _T_363 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@242141.6]
+  assign _T_367 = io_in_d_bits_size >= 2'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@242150.8]
+  assign _T_369 = _T_367 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242152.8]
+  assign _T_370 = _T_369 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242153.8]
+  assign _T_383 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@242183.6]
+  assign _T_411 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@242241.6]
+  assign _T_504 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@242431.4]
+  assign _T_515 = _T_514 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@242441.4]
+  assign _T_516 = $unsigned(_T_515); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@242442.4]
+  assign _T_517 = _T_516[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@242443.4]
+  assign _T_518 = _T_514 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@242444.4]
+  assign _T_536 = _T_518 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@242460.4]
+  assign _T_537 = io_in_a_valid & _T_536; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@242461.4]
+  assign _T_538 = io_in_a_bits_opcode == _T_527; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@242463.6]
+  assign _T_540 = _T_538 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242465.6]
+  assign _T_541 = _T_540 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242466.6]
+  assign _T_542 = io_in_a_bits_param == _T_529; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@242471.6]
+  assign _T_544 = _T_542 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242473.6]
+  assign _T_545 = _T_544 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242474.6]
+  assign _T_546 = io_in_a_bits_size == _T_531; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@242479.6]
+  assign _T_548 = _T_546 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242481.6]
+  assign _T_549 = _T_548 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242482.6]
+  assign _T_550 = io_in_a_bits_source == _T_533; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@242487.6]
+  assign _T_552 = _T_550 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242489.6]
+  assign _T_553 = _T_552 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242490.6]
+  assign _T_554 = io_in_a_bits_address == _T_535; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@242495.6]
+  assign _T_556 = _T_554 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242497.6]
+  assign _T_557 = _T_556 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242498.6]
+  assign _T_559 = _T_504 & _T_518; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@242505.4]
+  assign _T_560 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@242513.4]
+  assign _T_570 = _T_569 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@242522.4]
+  assign _T_571 = $unsigned(_T_570); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@242523.4]
+  assign _T_572 = _T_571[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@242524.4]
+  assign _T_573 = _T_569 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@242525.4]
+  assign _T_593 = _T_573 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@242542.4]
+  assign _T_594 = io_in_d_valid & _T_593; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@242543.4]
+  assign _T_595 = io_in_d_bits_opcode == _T_582; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@242545.6]
+  assign _T_597 = _T_595 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242547.6]
+  assign _T_598 = _T_597 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242548.6]
+  assign _T_603 = io_in_d_bits_size == _T_586; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@242561.6]
+  assign _T_605 = _T_603 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242563.6]
+  assign _T_606 = _T_605 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242564.6]
+  assign _T_607 = io_in_d_bits_source == _T_588; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@242569.6]
+  assign _T_609 = _T_607 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242571.6]
+  assign _T_610 = _T_609 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242572.6]
+  assign _T_620 = _T_560 & _T_573; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@242595.4]
+  assign _T_634 = _T_633 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@242615.4]
+  assign _T_635 = $unsigned(_T_634); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@242616.4]
+  assign _T_636 = _T_635[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@242617.4]
+  assign _T_637 = _T_633 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@242618.4]
+  assign _T_655 = _T_654 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@242638.4]
+  assign _T_656 = $unsigned(_T_655); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@242639.4]
+  assign _T_657 = _T_656[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@242640.4]
+  assign _T_658 = _T_654 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@242641.4]
+  assign _T_669 = _T_504 & _T_637; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@242656.4]
+  assign _T_671 = 64'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@242659.6]
+  assign _T_672 = _T_622 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@242661.6]
+  assign _T_673 = _T_672[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@242662.6]
+  assign _T_674 = _T_673 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242663.6]
+  assign _T_676 = _T_674 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@242665.6]
+  assign _T_677 = _T_676 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@242666.6]
+  assign _GEN_15 = _T_669 ? _T_671 : 64'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@242658.4]
+  assign _T_682 = _T_560 & _T_658; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@242677.4]
+  assign _T_684 = _T_363 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@242679.4]
+  assign _T_685 = _T_682 & _T_684; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@242680.4]
+  assign _T_686 = 64'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@242682.6]
+  assign _T_687 = _GEN_15 | _T_622; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@242684.6]
+  assign _T_688 = _T_687 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@242685.6]
+  assign _T_689 = _T_688[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@242686.6]
+  assign _T_691 = _T_689 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@242688.6]
+  assign _T_692 = _T_691 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@242689.6]
+  assign _GEN_16 = _T_685 ? _T_686 : 64'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@242681.4]
+  assign _T_693 = _T_622 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@242695.4]
+  assign _T_694 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@242696.4]
+  assign _T_695 = _T_693 & _T_694; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@242697.4]
+  assign _T_698 = _T_622 != 64'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@242702.4]
+  assign _T_699 = _T_698 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@242703.4]
+  assign _T_700 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@242704.4]
+  assign _T_701 = _T_699 | _T_700; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@242705.4]
+  assign _T_702 = _T_697 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@242706.4]
+  assign _T_703 = _T_701 | _T_702; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@242707.4]
+  assign _T_705 = _T_703 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@242709.4]
+  assign _T_706 = _T_705 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@242710.4]
+  assign _T_708 = _T_697 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@242716.4]
+  assign _T_711 = _T_504 | _T_560; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@242720.4]
+  assign _GEN_19 = io_in_a_valid & _T_92; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241674.10]
+  assign _GEN_33 = io_in_a_valid & _T_130; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241746.10]
+  assign _GEN_49 = io_in_a_valid & _T_172; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241829.10]
+  assign _GEN_59 = io_in_a_valid & _T_205; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241888.10]
+  assign _GEN_67 = io_in_a_valid & _T_234; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241939.10]
+  assign _GEN_75 = io_in_a_valid & _T_265; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241989.10]
+  assign _GEN_83 = io_in_a_valid & _T_291; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242037.10]
+  assign _GEN_91 = io_in_a_valid & _T_317; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242085.10]
+  assign _GEN_99 = io_in_d_valid & _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242155.10]
+  assign _GEN_101 = io_in_d_valid & _T_383; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242196.10]
+  assign _GEN_105 = io_in_d_valid & _T_411; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242254.10]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  _T_514 = _RAND_0[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  _T_527 = _RAND_1[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  _T_529 = _RAND_2[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  _T_531 = _RAND_3[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  _T_533 = _RAND_4[5:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  _T_535 = _RAND_5[28:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {1{`RANDOM}};
+  _T_569 = _RAND_6[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {1{`RANDOM}};
+  _T_582 = _RAND_7[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_8 = {1{`RANDOM}};
+  _T_586 = _RAND_8[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_9 = {1{`RANDOM}};
+  _T_588 = _RAND_9[5:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_10 = {2{`RANDOM}};
+  _T_622 = _RAND_10[63:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_11 = {1{`RANDOM}};
+  _T_633 = _RAND_11[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_12 = {1{`RANDOM}};
+  _T_654 = _RAND_12[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_13 = {1{`RANDOM}};
+  _T_697 = _RAND_13[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      _T_514 <= 1'h0;
+    end else begin
+      if (_T_504) begin
+        if (_T_518) begin
+          _T_514 <= 1'h0;
+        end else begin
+          _T_514 <= _T_517;
+        end
+      end
+    end
+    if (_T_559) begin
+      _T_527 <= io_in_a_bits_opcode;
+    end
+    if (_T_559) begin
+      _T_529 <= io_in_a_bits_param;
+    end
+    if (_T_559) begin
+      _T_531 <= io_in_a_bits_size;
+    end
+    if (_T_559) begin
+      _T_533 <= io_in_a_bits_source;
+    end
+    if (_T_559) begin
+      _T_535 <= io_in_a_bits_address;
+    end
+    if (reset) begin
+      _T_569 <= 1'h0;
+    end else begin
+      if (_T_560) begin
+        if (_T_573) begin
+          _T_569 <= 1'h0;
+        end else begin
+          _T_569 <= _T_572;
+        end
+      end
+    end
+    if (_T_620) begin
+      _T_582 <= io_in_d_bits_opcode;
+    end
+    if (_T_620) begin
+      _T_586 <= io_in_d_bits_size;
+    end
+    if (_T_620) begin
+      _T_588 <= io_in_d_bits_source;
+    end
+    if (reset) begin
+      _T_622 <= 64'h0;
+    end else begin
+      _T_622 <= _T_695;
+    end
+    if (reset) begin
+      _T_633 <= 1'h0;
+    end else begin
+      if (_T_504) begin
+        if (_T_637) begin
+          _T_633 <= 1'h0;
+        end else begin
+          _T_633 <= _T_636;
+        end
+      end
+    end
+    if (reset) begin
+      _T_654 <= 1'h0;
+    end else begin
+      if (_T_560) begin
+        if (_T_658) begin
+          _T_654 <= 1'h0;
+        end else begin
+          _T_654 <= _T_657;
+        end
+      end
+    end
+    if (reset) begin
+      _T_697 <= 32'h0;
+    end else begin
+      if (_T_711) begin
+        _T_697 <= 32'h0;
+      end else begin
+        _T_697 <= _T_708;
+      end
+    end
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@241585.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@241586.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@241657.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@241658.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241674.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_103) begin
+          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241675.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241681.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_103) begin
+          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241682.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241688.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241689.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_113) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241696.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_113) begin
+          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241697.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241703.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_116) begin
+          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241704.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_120) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241711.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_120) begin
+          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241712.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_125) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241720.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_125) begin
+          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241721.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_129) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241728.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_129) begin
+          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241729.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241746.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_103) begin
+          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241747.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241753.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_103) begin
+          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241754.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241760.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241761.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_113) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241768.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_113) begin
+          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241769.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241775.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_116) begin
+          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241776.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_120) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241783.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_120) begin
+          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241784.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_162) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241791.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_162) begin
+          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241792.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_125) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241800.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_125) begin
+          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241801.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_129) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241808.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_129) begin
+          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241809.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_186) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241829.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_186) begin
+          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241830.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241836.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241837.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241843.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_116) begin
+          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241844.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_196) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241851.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_196) begin
+          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241852.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241859.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_200) begin
+          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241860.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_129) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241867.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_129) begin
+          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241868.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_59 & _T_186) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241888.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_59 & _T_186) begin
+          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241889.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241895.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241896.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_59 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241902.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_59 & _T_116) begin
+          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241903.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_59 & _T_196) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241910.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_59 & _T_196) begin
+          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241911.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_59 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241918.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_59 & _T_200) begin
+          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241919.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_67 & _T_186) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241939.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_67 & _T_186) begin
+          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241940.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241946.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241947.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_67 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241953.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_67 & _T_116) begin
+          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241954.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_67 & _T_196) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241961.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_67 & _T_196) begin
+          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241962.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_67 & _T_264) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241971.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_67 & _T_264) begin
+          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241972.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241989.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_103) begin
+          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241990.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241996.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241997.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242003.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_116) begin
+          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242004.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_286) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242011.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_286) begin
+          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242012.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242019.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_200) begin
+          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242020.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_83 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242037.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_83 & _T_103) begin
+          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242038.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242044.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242045.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_83 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242051.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_83 & _T_116) begin
+          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242052.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_83 & _T_312) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242059.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_83 & _T_312) begin
+          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242060.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_83 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242067.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_83 & _T_200) begin
+          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242068.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_91 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242085.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_91 & _T_103) begin
+          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242086.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242092.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242093.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_91 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242099.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_91 & _T_116) begin
+          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242100.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_91 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242107.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_91 & _T_200) begin
+          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242108.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_91 & _T_129) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242115.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_91 & _T_129) begin
+          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242116.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_346) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@242126.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_346) begin
+          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@242127.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242147.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242148.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_99 & _T_370) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242155.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_99 & _T_370) begin
+          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242156.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242163.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242164.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242171.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242172.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242179.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242180.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242189.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242190.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_101 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242196.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_101 & _T_103) begin
+          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242197.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_101 & _T_370) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242204.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_101 & _T_370) begin
+          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242205.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242212.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242213.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242220.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242221.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242228.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242229.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242237.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242238.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242247.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242248.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242254.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_103) begin
+          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242255.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_370) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242262.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_370) begin
+          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242263.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242270.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242271.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242278.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242279.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242287.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242288.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242296.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242297.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242306.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242307.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242314.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242315.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242322.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242323.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242331.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242332.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242341.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242342.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242349.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242350.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242358.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242359.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242367.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242368.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242377.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242378.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242385.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242386.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242393.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242394.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242402.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242403.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242412.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242413.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242420.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242421.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242428.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242429.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_541) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242468.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_541) begin
+          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242469.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_545) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242476.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_545) begin
+          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242477.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_549) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242484.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_549) begin
+          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242485.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_553) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242492.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_553) begin
+          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242493.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_557) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242500.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_557) begin
+          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242501.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_594 & _T_598) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242550.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_594 & _T_598) begin
+          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242551.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242558.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242559.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_594 & _T_606) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242566.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_594 & _T_606) begin
+          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242567.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_594 & _T_610) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242574.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_594 & _T_610) begin
+          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242575.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242582.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242583.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242590.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242591.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_669 & _T_677) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@242668.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_669 & _T_677) begin
+          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@242669.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_685 & _T_692) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@242691.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_685 & _T_692) begin
+          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@242692.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_706) begin
+          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@242712.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_706) begin
+          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@242713.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+endmodule
+module TLBuffer_18( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242725.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242726.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242727.4]
+  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242728.4]
+  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242728.4]
+  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242728.4]
+  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242728.4]
+  input  [1:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242728.4]
+  input  [5:0]  auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242728.4]
+  input  [28:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242728.4]
+  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242728.4]
+  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242728.4]
+  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242728.4]
+  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242728.4]
+  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242728.4]
+  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242728.4]
+  output [1:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242728.4]
+  output [5:0]  auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242728.4]
+  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242728.4]
+  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242728.4]
+  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242728.4]
+  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242728.4]
+  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242728.4]
+  output [1:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242728.4]
+  output [5:0]  auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242728.4]
+  output [28:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242728.4]
+  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242728.4]
+  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242728.4]
+  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242728.4]
+  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242728.4]
+  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242728.4]
+  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242728.4]
+  input  [1:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242728.4]
+  input  [5:0]  auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242728.4]
+  input  [31:0] auto_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242728.4]
+);
+  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@242735.4]
+  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@242735.4]
+  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@242735.4]
+  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@242735.4]
+  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@242735.4]
+  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@242735.4]
+  wire [1:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@242735.4]
+  wire [5:0] TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@242735.4]
+  wire [28:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@242735.4]
+  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@242735.4]
+  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@242735.4]
+  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@242735.4]
+  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@242735.4]
+  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@242735.4]
+  wire [1:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@242735.4]
+  wire [5:0] TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@242735.4]
+  TLMonitor_60 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@242735.4]
+    .clock(TLMonitor_clock),
+    .reset(TLMonitor_reset),
+    .io_in_a_ready(TLMonitor_io_in_a_ready),
+    .io_in_a_valid(TLMonitor_io_in_a_valid),
+    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
+    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
+    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
+    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
+    .io_in_d_ready(TLMonitor_io_in_d_ready),
+    .io_in_d_valid(TLMonitor_io_in_d_valid),
+    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
+    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
+    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source)
+  );
+  assign auto_in_a_ready = auto_out_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@242775.4]
+  assign auto_in_d_valid = auto_out_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@242775.4]
+  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@242775.4]
+  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@242775.4]
+  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@242775.4]
+  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@242775.4]
+  assign auto_out_a_valid = auto_in_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@242774.4]
+  assign auto_out_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@242774.4]
+  assign auto_out_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@242774.4]
+  assign auto_out_a_bits_size = auto_in_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@242774.4]
+  assign auto_out_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@242774.4]
+  assign auto_out_a_bits_address = auto_in_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@242774.4]
+  assign auto_out_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@242774.4]
+  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@242774.4]
+  assign auto_out_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@242774.4]
+  assign auto_out_d_ready = auto_in_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@242774.4]
+  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242737.4]
+  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242738.4]
+  assign TLMonitor_io_in_a_ready = auto_out_a_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@242771.4]
+  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@242771.4]
+  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@242771.4]
+  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@242771.4]
+  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@242771.4]
+  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@242771.4]
+  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@242771.4]
+  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@242771.4]
+  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@242771.4]
+  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@242771.4]
+  assign TLMonitor_io_in_d_valid = auto_out_d_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@242771.4]
+  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@242771.4]
+  assign TLMonitor_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@242771.4]
+  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@242771.4]
+endmodule
+module TLMonitor_61( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242846.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242847.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242848.4]
+  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242849.4]
+  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242849.4]
+  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242849.4]
+  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242849.4]
+  input  [1:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242849.4]
+  input  [5:0]  io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242849.4]
+  input  [28:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242849.4]
+  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242849.4]
+  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242849.4]
+  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242849.4]
+  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242849.4]
+  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242849.4]
+  input  [1:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242849.4]
+  input  [5:0]  io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242849.4]
+);
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@243976.4]
+  wire [4:0] _T_36; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@242876.6]
+  wire [1:0] _T_37; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@242877.6]
+  wire [1:0] _T_38; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@242878.6]
+  wire [28:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@242879.6]
+  wire [28:0] _T_39; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@242879.6]
+  wire  _T_40; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@242880.6]
+  wire  _T_42; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@242882.6]
+  wire [1:0] _T_43; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@242883.6]
+  wire [1:0] _T_45; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@242885.6]
+  wire  _T_46; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@242886.6]
+  wire  _T_47; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@242887.6]
+  wire  _T_48; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@242888.6]
+  wire  _T_49; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@242889.6]
+  wire  _T_51; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@242891.6]
+  wire  _T_52; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@242892.6]
+  wire  _T_54; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@242894.6]
+  wire  _T_55; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@242895.6]
+  wire  _T_56; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@242896.6]
+  wire  _T_57; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@242897.6]
+  wire  _T_58; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@242898.6]
+  wire  _T_59; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@242899.6]
+  wire  _T_60; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@242900.6]
+  wire  _T_61; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@242901.6]
+  wire  _T_62; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@242902.6]
+  wire  _T_63; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@242903.6]
+  wire  _T_64; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@242904.6]
+  wire  _T_65; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@242905.6]
+  wire  _T_66; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@242906.6]
+  wire  _T_67; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@242907.6]
+  wire  _T_68; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@242908.6]
+  wire  _T_69; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@242909.6]
+  wire  _T_70; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@242910.6]
+  wire [1:0] _T_71; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@242911.6]
+  wire [1:0] _T_72; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@242912.6]
+  wire [3:0] _T_73; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@242913.6]
+  wire  _T_92; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@242936.6]
+  wire [28:0] _T_94; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@242939.8]
+  wire [29:0] _T_95; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@242940.8]
+  wire [29:0] _T_96; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@242941.8]
+  wire [29:0] _T_97; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@242942.8]
+  wire  _T_98; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@242943.8]
+  wire  _T_103; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242948.8]
+  wire  _T_112; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242969.8]
+  wire  _T_113; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242970.8]
+  wire  _T_115; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242976.8]
+  wire  _T_116; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242977.8]
+  wire  _T_117; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@242982.8]
+  wire  _T_119; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242984.8]
+  wire  _T_120; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242985.8]
+  wire [3:0] _T_121; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@242990.8]
+  wire  _T_122; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@242991.8]
+  wire  _T_124; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242993.8]
+  wire  _T_125; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242994.8]
+  wire  _T_126; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@242999.8]
+  wire  _T_128; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243001.8]
+  wire  _T_129; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243002.8]
+  wire  _T_130; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@243008.6]
+  wire  _T_159; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@243062.8]
+  wire  _T_161; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243064.8]
+  wire  _T_162; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243065.8]
+  wire  _T_172; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@243088.6]
+  wire  _T_174; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@243091.8]
+  wire  _T_182; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@243099.8]
+  wire  _T_185; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243102.8]
+  wire  _T_186; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243103.8]
+  wire  _T_193; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@243122.8]
+  wire  _T_195; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243124.8]
+  wire  _T_196; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243125.8]
+  wire  _T_197; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@243130.8]
+  wire  _T_199; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243132.8]
+  wire  _T_200; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243133.8]
+  wire  _T_205; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@243147.6]
+  wire  _T_234; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@243198.6]
+  wire [3:0] _T_259; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@243240.8]
+  wire [3:0] _T_260; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@243241.8]
+  wire  _T_261; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@243242.8]
+  wire  _T_263; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243244.8]
+  wire  _T_264; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243245.8]
+  wire  _T_265; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@243251.6]
+  wire  _T_283; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@243282.8]
+  wire  _T_285; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243284.8]
+  wire  _T_286; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243285.8]
+  wire  _T_291; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@243299.6]
+  wire  _T_309; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@243330.8]
+  wire  _T_311; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243332.8]
+  wire  _T_312; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243333.8]
+  wire  _T_317; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@243347.6]
+  wire  _T_343; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@243397.6]
+  wire  _T_345; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@243399.6]
+  wire  _T_346; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@243400.6]
+  wire  _T_363; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@243417.6]
+  wire  _T_367; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@243426.8]
+  wire  _T_369; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243428.8]
+  wire  _T_370; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243429.8]
+  wire  _T_383; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@243459.6]
+  wire  _T_411; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@243517.6]
+  wire  _T_504; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@243707.4]
+  reg  _T_514; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@243716.4]
+  reg [31:0] _RAND_0;
+  wire [1:0] _T_515; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@243717.4]
+  wire [1:0] _T_516; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@243718.4]
+  wire  _T_517; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@243719.4]
+  wire  _T_518; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@243720.4]
+  reg [2:0] _T_527; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@243731.4]
+  reg [31:0] _RAND_1;
+  reg [2:0] _T_529; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@243732.4]
+  reg [31:0] _RAND_2;
+  reg [1:0] _T_531; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@243733.4]
+  reg [31:0] _RAND_3;
+  reg [5:0] _T_533; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@243734.4]
+  reg [31:0] _RAND_4;
+  reg [28:0] _T_535; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@243735.4]
+  reg [31:0] _RAND_5;
+  wire  _T_536; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@243736.4]
+  wire  _T_537; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@243737.4]
+  wire  _T_538; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@243739.6]
+  wire  _T_540; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243741.6]
+  wire  _T_541; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243742.6]
+  wire  _T_542; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@243747.6]
+  wire  _T_544; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243749.6]
+  wire  _T_545; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243750.6]
+  wire  _T_546; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@243755.6]
+  wire  _T_548; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243757.6]
+  wire  _T_549; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243758.6]
+  wire  _T_550; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@243763.6]
+  wire  _T_552; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243765.6]
+  wire  _T_553; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243766.6]
+  wire  _T_554; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@243771.6]
+  wire  _T_556; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243773.6]
+  wire  _T_557; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243774.6]
+  wire  _T_559; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@243781.4]
+  wire  _T_560; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@243789.4]
+  reg  _T_569; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@243797.4]
+  reg [31:0] _RAND_6;
+  wire [1:0] _T_570; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@243798.4]
+  wire [1:0] _T_571; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@243799.4]
+  wire  _T_572; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@243800.4]
+  wire  _T_573; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@243801.4]
+  reg [2:0] _T_582; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@243812.4]
+  reg [31:0] _RAND_7;
+  reg [1:0] _T_586; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@243814.4]
+  reg [31:0] _RAND_8;
+  reg [5:0] _T_588; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@243815.4]
+  reg [31:0] _RAND_9;
+  wire  _T_593; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@243818.4]
+  wire  _T_594; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@243819.4]
+  wire  _T_595; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@243821.6]
+  wire  _T_597; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243823.6]
+  wire  _T_598; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243824.6]
+  wire  _T_603; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@243837.6]
+  wire  _T_605; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243839.6]
+  wire  _T_606; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243840.6]
+  wire  _T_607; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@243845.6]
+  wire  _T_609; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243847.6]
+  wire  _T_610; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243848.6]
+  wire  _T_620; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@243871.4]
+  reg [63:0] _T_622; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@243880.4]
+  reg [63:0] _RAND_10;
+  reg  _T_633; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@243890.4]
+  reg [31:0] _RAND_11;
+  wire [1:0] _T_634; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@243891.4]
+  wire [1:0] _T_635; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@243892.4]
+  wire  _T_636; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@243893.4]
+  wire  _T_637; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@243894.4]
+  reg  _T_654; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@243913.4]
+  reg [31:0] _RAND_12;
+  wire [1:0] _T_655; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@243914.4]
+  wire [1:0] _T_656; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@243915.4]
+  wire  _T_657; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@243916.4]
+  wire  _T_658; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@243917.4]
+  wire  _T_669; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@243932.4]
+  wire [63:0] _T_671; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@243935.6]
+  wire [63:0] _T_672; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@243937.6]
+  wire  _T_673; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@243938.6]
+  wire  _T_674; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243939.6]
+  wire  _T_676; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@243941.6]
+  wire  _T_677; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@243942.6]
+  wire [63:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@243934.4]
+  wire  _T_682; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@243953.4]
+  wire  _T_684; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@243955.4]
+  wire  _T_685; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@243956.4]
+  wire [63:0] _T_686; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@243958.6]
+  wire [63:0] _T_687; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@243960.6]
+  wire [63:0] _T_688; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@243961.6]
+  wire  _T_689; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@243962.6]
+  wire  _T_691; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@243964.6]
+  wire  _T_692; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@243965.6]
+  wire [63:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@243957.4]
+  wire [63:0] _T_693; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@243971.4]
+  wire [63:0] _T_694; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@243972.4]
+  wire [63:0] _T_695; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@243973.4]
+  reg [31:0] _T_697; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@243975.4]
+  reg [31:0] _RAND_13;
+  wire  _T_698; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@243978.4]
+  wire  _T_699; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@243979.4]
+  wire  _T_700; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@243980.4]
+  wire  _T_701; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@243981.4]
+  wire  _T_702; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@243982.4]
+  wire  _T_703; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@243983.4]
+  wire  _T_705; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@243985.4]
+  wire  _T_706; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@243986.4]
+  wire [31:0] _T_708; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@243992.4]
+  wire  _T_711; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@243996.4]
+  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242950.10]
+  wire  _GEN_33; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243022.10]
+  wire  _GEN_49; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243105.10]
+  wire  _GEN_59; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243164.10]
+  wire  _GEN_67; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243215.10]
+  wire  _GEN_75; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243265.10]
+  wire  _GEN_83; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243313.10]
+  wire  _GEN_91; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243361.10]
+  wire  _GEN_99; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243431.10]
+  wire  _GEN_101; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243472.10]
+  wire  _GEN_105; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243530.10]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@243976.4]
+    .out(plusarg_reader_out)
+  );
+  assign _T_36 = 5'h3 << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@242876.6]
+  assign _T_37 = _T_36[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@242877.6]
+  assign _T_38 = ~ _T_37; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@242878.6]
+  assign _GEN_18 = {{27'd0}, _T_38}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@242879.6]
+  assign _T_39 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@242879.6]
+  assign _T_40 = _T_39 == 29'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@242880.6]
+  assign _T_42 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@242882.6]
+  assign _T_43 = 2'h1 << _T_42; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@242883.6]
+  assign _T_45 = _T_43 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@242885.6]
+  assign _T_46 = io_in_a_bits_size >= 2'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@242886.6]
+  assign _T_47 = _T_45[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@242887.6]
+  assign _T_48 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@242888.6]
+  assign _T_49 = _T_48 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@242889.6]
+  assign _T_51 = _T_47 & _T_49; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@242891.6]
+  assign _T_52 = _T_46 | _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@242892.6]
+  assign _T_54 = _T_47 & _T_48; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@242894.6]
+  assign _T_55 = _T_46 | _T_54; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@242895.6]
+  assign _T_56 = _T_45[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@242896.6]
+  assign _T_57 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@242897.6]
+  assign _T_58 = _T_57 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@242898.6]
+  assign _T_59 = _T_49 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@242899.6]
+  assign _T_60 = _T_56 & _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@242900.6]
+  assign _T_61 = _T_52 | _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@242901.6]
+  assign _T_62 = _T_49 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@242902.6]
+  assign _T_63 = _T_56 & _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@242903.6]
+  assign _T_64 = _T_52 | _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@242904.6]
+  assign _T_65 = _T_48 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@242905.6]
+  assign _T_66 = _T_56 & _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@242906.6]
+  assign _T_67 = _T_55 | _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@242907.6]
+  assign _T_68 = _T_48 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@242908.6]
+  assign _T_69 = _T_56 & _T_68; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@242909.6]
+  assign _T_70 = _T_55 | _T_69; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@242910.6]
+  assign _T_71 = {_T_64,_T_61}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@242911.6]
+  assign _T_72 = {_T_70,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@242912.6]
+  assign _T_73 = {_T_72,_T_71}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@242913.6]
+  assign _T_92 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@242936.6]
+  assign _T_94 = io_in_a_bits_address ^ 29'h10023000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@242939.8]
+  assign _T_95 = {1'b0,$signed(_T_94)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@242940.8]
+  assign _T_96 = $signed(_T_95) & $signed(-30'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@242941.8]
+  assign _T_97 = $signed(_T_96); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@242942.8]
+  assign _T_98 = $signed(_T_97) == $signed(30'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@242943.8]
+  assign _T_103 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242948.8]
+  assign _T_112 = _T_46 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242969.8]
+  assign _T_113 = _T_112 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242970.8]
+  assign _T_115 = _T_40 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242976.8]
+  assign _T_116 = _T_115 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242977.8]
+  assign _T_117 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@242982.8]
+  assign _T_119 = _T_117 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242984.8]
+  assign _T_120 = _T_119 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242985.8]
+  assign _T_121 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@242990.8]
+  assign _T_122 = _T_121 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@242991.8]
+  assign _T_124 = _T_122 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242993.8]
+  assign _T_125 = _T_124 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242994.8]
+  assign _T_126 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@242999.8]
+  assign _T_128 = _T_126 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243001.8]
+  assign _T_129 = _T_128 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243002.8]
+  assign _T_130 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@243008.6]
+  assign _T_159 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@243062.8]
+  assign _T_161 = _T_159 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243064.8]
+  assign _T_162 = _T_161 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243065.8]
+  assign _T_172 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@243088.6]
+  assign _T_174 = io_in_a_bits_size <= 2'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@243091.8]
+  assign _T_182 = _T_174 & _T_98; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@243099.8]
+  assign _T_185 = _T_182 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243102.8]
+  assign _T_186 = _T_185 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243103.8]
+  assign _T_193 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@243122.8]
+  assign _T_195 = _T_193 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243124.8]
+  assign _T_196 = _T_195 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243125.8]
+  assign _T_197 = io_in_a_bits_mask == _T_73; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@243130.8]
+  assign _T_199 = _T_197 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243132.8]
+  assign _T_200 = _T_199 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243133.8]
+  assign _T_205 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@243147.6]
+  assign _T_234 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@243198.6]
+  assign _T_259 = ~ _T_73; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@243240.8]
+  assign _T_260 = io_in_a_bits_mask & _T_259; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@243241.8]
+  assign _T_261 = _T_260 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@243242.8]
+  assign _T_263 = _T_261 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243244.8]
+  assign _T_264 = _T_263 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243245.8]
+  assign _T_265 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@243251.6]
+  assign _T_283 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@243282.8]
+  assign _T_285 = _T_283 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243284.8]
+  assign _T_286 = _T_285 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243285.8]
+  assign _T_291 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@243299.6]
+  assign _T_309 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@243330.8]
+  assign _T_311 = _T_309 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243332.8]
+  assign _T_312 = _T_311 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243333.8]
+  assign _T_317 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@243347.6]
+  assign _T_343 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@243397.6]
+  assign _T_345 = _T_343 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@243399.6]
+  assign _T_346 = _T_345 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@243400.6]
+  assign _T_363 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@243417.6]
+  assign _T_367 = io_in_d_bits_size >= 2'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@243426.8]
+  assign _T_369 = _T_367 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243428.8]
+  assign _T_370 = _T_369 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243429.8]
+  assign _T_383 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@243459.6]
+  assign _T_411 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@243517.6]
+  assign _T_504 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@243707.4]
+  assign _T_515 = _T_514 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@243717.4]
+  assign _T_516 = $unsigned(_T_515); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@243718.4]
+  assign _T_517 = _T_516[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@243719.4]
+  assign _T_518 = _T_514 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@243720.4]
+  assign _T_536 = _T_518 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@243736.4]
+  assign _T_537 = io_in_a_valid & _T_536; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@243737.4]
+  assign _T_538 = io_in_a_bits_opcode == _T_527; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@243739.6]
+  assign _T_540 = _T_538 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243741.6]
+  assign _T_541 = _T_540 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243742.6]
+  assign _T_542 = io_in_a_bits_param == _T_529; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@243747.6]
+  assign _T_544 = _T_542 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243749.6]
+  assign _T_545 = _T_544 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243750.6]
+  assign _T_546 = io_in_a_bits_size == _T_531; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@243755.6]
+  assign _T_548 = _T_546 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243757.6]
+  assign _T_549 = _T_548 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243758.6]
+  assign _T_550 = io_in_a_bits_source == _T_533; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@243763.6]
+  assign _T_552 = _T_550 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243765.6]
+  assign _T_553 = _T_552 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243766.6]
+  assign _T_554 = io_in_a_bits_address == _T_535; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@243771.6]
+  assign _T_556 = _T_554 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243773.6]
+  assign _T_557 = _T_556 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243774.6]
+  assign _T_559 = _T_504 & _T_518; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@243781.4]
+  assign _T_560 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@243789.4]
+  assign _T_570 = _T_569 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@243798.4]
+  assign _T_571 = $unsigned(_T_570); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@243799.4]
+  assign _T_572 = _T_571[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@243800.4]
+  assign _T_573 = _T_569 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@243801.4]
+  assign _T_593 = _T_573 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@243818.4]
+  assign _T_594 = io_in_d_valid & _T_593; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@243819.4]
+  assign _T_595 = io_in_d_bits_opcode == _T_582; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@243821.6]
+  assign _T_597 = _T_595 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243823.6]
+  assign _T_598 = _T_597 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243824.6]
+  assign _T_603 = io_in_d_bits_size == _T_586; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@243837.6]
+  assign _T_605 = _T_603 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243839.6]
+  assign _T_606 = _T_605 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243840.6]
+  assign _T_607 = io_in_d_bits_source == _T_588; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@243845.6]
+  assign _T_609 = _T_607 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243847.6]
+  assign _T_610 = _T_609 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243848.6]
+  assign _T_620 = _T_560 & _T_573; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@243871.4]
+  assign _T_634 = _T_633 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@243891.4]
+  assign _T_635 = $unsigned(_T_634); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@243892.4]
+  assign _T_636 = _T_635[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@243893.4]
+  assign _T_637 = _T_633 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@243894.4]
+  assign _T_655 = _T_654 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@243914.4]
+  assign _T_656 = $unsigned(_T_655); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@243915.4]
+  assign _T_657 = _T_656[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@243916.4]
+  assign _T_658 = _T_654 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@243917.4]
+  assign _T_669 = _T_504 & _T_637; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@243932.4]
+  assign _T_671 = 64'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@243935.6]
+  assign _T_672 = _T_622 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@243937.6]
+  assign _T_673 = _T_672[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@243938.6]
+  assign _T_674 = _T_673 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243939.6]
+  assign _T_676 = _T_674 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@243941.6]
+  assign _T_677 = _T_676 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@243942.6]
+  assign _GEN_15 = _T_669 ? _T_671 : 64'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@243934.4]
+  assign _T_682 = _T_560 & _T_658; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@243953.4]
+  assign _T_684 = _T_363 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@243955.4]
+  assign _T_685 = _T_682 & _T_684; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@243956.4]
+  assign _T_686 = 64'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@243958.6]
+  assign _T_687 = _GEN_15 | _T_622; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@243960.6]
+  assign _T_688 = _T_687 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@243961.6]
+  assign _T_689 = _T_688[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@243962.6]
+  assign _T_691 = _T_689 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@243964.6]
+  assign _T_692 = _T_691 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@243965.6]
+  assign _GEN_16 = _T_685 ? _T_686 : 64'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@243957.4]
+  assign _T_693 = _T_622 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@243971.4]
+  assign _T_694 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@243972.4]
+  assign _T_695 = _T_693 & _T_694; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@243973.4]
+  assign _T_698 = _T_622 != 64'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@243978.4]
+  assign _T_699 = _T_698 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@243979.4]
+  assign _T_700 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@243980.4]
+  assign _T_701 = _T_699 | _T_700; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@243981.4]
+  assign _T_702 = _T_697 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@243982.4]
+  assign _T_703 = _T_701 | _T_702; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@243983.4]
+  assign _T_705 = _T_703 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@243985.4]
+  assign _T_706 = _T_705 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@243986.4]
+  assign _T_708 = _T_697 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@243992.4]
+  assign _T_711 = _T_504 | _T_560; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@243996.4]
+  assign _GEN_19 = io_in_a_valid & _T_92; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242950.10]
+  assign _GEN_33 = io_in_a_valid & _T_130; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243022.10]
+  assign _GEN_49 = io_in_a_valid & _T_172; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243105.10]
+  assign _GEN_59 = io_in_a_valid & _T_205; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243164.10]
+  assign _GEN_67 = io_in_a_valid & _T_234; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243215.10]
+  assign _GEN_75 = io_in_a_valid & _T_265; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243265.10]
+  assign _GEN_83 = io_in_a_valid & _T_291; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243313.10]
+  assign _GEN_91 = io_in_a_valid & _T_317; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243361.10]
+  assign _GEN_99 = io_in_d_valid & _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243431.10]
+  assign _GEN_101 = io_in_d_valid & _T_383; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243472.10]
+  assign _GEN_105 = io_in_d_valid & _T_411; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243530.10]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  _T_514 = _RAND_0[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  _T_527 = _RAND_1[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  _T_529 = _RAND_2[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  _T_531 = _RAND_3[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  _T_533 = _RAND_4[5:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  _T_535 = _RAND_5[28:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {1{`RANDOM}};
+  _T_569 = _RAND_6[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {1{`RANDOM}};
+  _T_582 = _RAND_7[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_8 = {1{`RANDOM}};
+  _T_586 = _RAND_8[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_9 = {1{`RANDOM}};
+  _T_588 = _RAND_9[5:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_10 = {2{`RANDOM}};
+  _T_622 = _RAND_10[63:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_11 = {1{`RANDOM}};
+  _T_633 = _RAND_11[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_12 = {1{`RANDOM}};
+  _T_654 = _RAND_12[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_13 = {1{`RANDOM}};
+  _T_697 = _RAND_13[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      _T_514 <= 1'h0;
+    end else begin
+      if (_T_504) begin
+        if (_T_518) begin
+          _T_514 <= 1'h0;
+        end else begin
+          _T_514 <= _T_517;
+        end
+      end
+    end
+    if (_T_559) begin
+      _T_527 <= io_in_a_bits_opcode;
+    end
+    if (_T_559) begin
+      _T_529 <= io_in_a_bits_param;
+    end
+    if (_T_559) begin
+      _T_531 <= io_in_a_bits_size;
+    end
+    if (_T_559) begin
+      _T_533 <= io_in_a_bits_source;
+    end
+    if (_T_559) begin
+      _T_535 <= io_in_a_bits_address;
+    end
+    if (reset) begin
+      _T_569 <= 1'h0;
+    end else begin
+      if (_T_560) begin
+        if (_T_573) begin
+          _T_569 <= 1'h0;
+        end else begin
+          _T_569 <= _T_572;
+        end
+      end
+    end
+    if (_T_620) begin
+      _T_582 <= io_in_d_bits_opcode;
+    end
+    if (_T_620) begin
+      _T_586 <= io_in_d_bits_size;
+    end
+    if (_T_620) begin
+      _T_588 <= io_in_d_bits_source;
+    end
+    if (reset) begin
+      _T_622 <= 64'h0;
+    end else begin
+      _T_622 <= _T_695;
+    end
+    if (reset) begin
+      _T_633 <= 1'h0;
+    end else begin
+      if (_T_504) begin
+        if (_T_637) begin
+          _T_633 <= 1'h0;
+        end else begin
+          _T_633 <= _T_636;
+        end
+      end
+    end
+    if (reset) begin
+      _T_654 <= 1'h0;
+    end else begin
+      if (_T_560) begin
+        if (_T_658) begin
+          _T_654 <= 1'h0;
+        end else begin
+          _T_654 <= _T_657;
+        end
+      end
+    end
+    if (reset) begin
+      _T_697 <= 32'h0;
+    end else begin
+      if (_T_711) begin
+        _T_697 <= 32'h0;
+      end else begin
+        _T_697 <= _T_708;
+      end
+    end
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@242861.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@242862.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@242933.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@242934.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242950.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_103) begin
+          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242951.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242957.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_103) begin
+          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242958.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242964.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242965.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_113) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242972.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_113) begin
+          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242973.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242979.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_116) begin
+          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242980.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_120) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242987.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_120) begin
+          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242988.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_125) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242996.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_125) begin
+          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242997.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_129) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243004.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_129) begin
+          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243005.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243022.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_103) begin
+          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243023.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243029.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_103) begin
+          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243030.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243036.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243037.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_113) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243044.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_113) begin
+          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243045.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243051.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_116) begin
+          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243052.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_120) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243059.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_120) begin
+          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243060.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_162) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243067.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_162) begin
+          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243068.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_125) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243076.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_125) begin
+          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243077.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_129) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243084.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_129) begin
+          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243085.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_186) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243105.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_186) begin
+          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243106.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243112.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243113.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243119.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_116) begin
+          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243120.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_196) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243127.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_196) begin
+          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243128.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243135.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_200) begin
+          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243136.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_129) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243143.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_129) begin
+          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243144.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_59 & _T_186) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243164.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_59 & _T_186) begin
+          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243165.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243171.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243172.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_59 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243178.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_59 & _T_116) begin
+          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243179.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_59 & _T_196) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243186.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_59 & _T_196) begin
+          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243187.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_59 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243194.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_59 & _T_200) begin
+          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243195.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_67 & _T_186) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243215.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_67 & _T_186) begin
+          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243216.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243222.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243223.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_67 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243229.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_67 & _T_116) begin
+          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243230.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_67 & _T_196) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243237.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_67 & _T_196) begin
+          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243238.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_67 & _T_264) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243247.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_67 & _T_264) begin
+          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243248.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243265.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_103) begin
+          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243266.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243272.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243273.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243279.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_116) begin
+          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243280.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_286) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243287.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_286) begin
+          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243288.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243295.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_200) begin
+          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243296.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_83 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243313.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_83 & _T_103) begin
+          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243314.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243320.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243321.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_83 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243327.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_83 & _T_116) begin
+          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243328.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_83 & _T_312) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243335.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_83 & _T_312) begin
+          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243336.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_83 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243343.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_83 & _T_200) begin
+          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243344.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_91 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243361.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_91 & _T_103) begin
+          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243362.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243368.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243369.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_91 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243375.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_91 & _T_116) begin
+          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243376.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_91 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243383.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_91 & _T_200) begin
+          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243384.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_91 & _T_129) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243391.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_91 & _T_129) begin
+          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243392.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_346) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@243402.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_346) begin
+          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@243403.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243423.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243424.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_99 & _T_370) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243431.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_99 & _T_370) begin
+          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243432.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243439.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243440.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243447.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243448.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243455.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243456.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243465.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243466.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_101 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243472.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_101 & _T_103) begin
+          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243473.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_101 & _T_370) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243480.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_101 & _T_370) begin
+          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243481.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243488.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243489.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243496.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243497.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243504.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243505.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243513.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243514.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243523.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243524.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243530.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_103) begin
+          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243531.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_370) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243538.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_370) begin
+          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243539.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243546.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243547.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243554.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243555.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243563.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243564.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243572.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243573.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243582.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243583.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243590.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243591.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243598.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243599.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243607.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243608.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243617.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243618.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243625.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243626.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243634.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243635.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243643.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243644.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243653.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243654.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243661.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243662.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243669.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243670.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243678.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243679.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243688.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243689.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243696.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243697.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243704.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243705.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_541) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243744.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_541) begin
+          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243745.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_545) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243752.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_545) begin
+          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243753.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_549) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243760.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_549) begin
+          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243761.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_553) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243768.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_553) begin
+          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243769.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_557) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243776.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_557) begin
+          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243777.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_594 & _T_598) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243826.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_594 & _T_598) begin
+          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243827.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243834.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243835.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_594 & _T_606) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243842.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_594 & _T_606) begin
+          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243843.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_594 & _T_610) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243850.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_594 & _T_610) begin
+          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243851.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243858.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243859.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243866.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243867.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_669 & _T_677) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@243944.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_669 & _T_677) begin
+          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@243945.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_685 & _T_692) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@243967.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_685 & _T_692) begin
+          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@243968.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_706) begin
+          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@243988.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_706) begin
+          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@243989.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+endmodule
+module TLUART_1( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@244286.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@244287.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@244288.4]
+  output        auto_int_xing_out_sync_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@244289.4]
+  output        auto_control_xing_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@244289.4]
+  input         auto_control_xing_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@244289.4]
+  input  [2:0]  auto_control_xing_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@244289.4]
+  input  [2:0]  auto_control_xing_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@244289.4]
+  input  [1:0]  auto_control_xing_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@244289.4]
+  input  [5:0]  auto_control_xing_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@244289.4]
+  input  [28:0] auto_control_xing_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@244289.4]
+  input  [3:0]  auto_control_xing_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@244289.4]
+  input  [31:0] auto_control_xing_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@244289.4]
+  input         auto_control_xing_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@244289.4]
+  input         auto_control_xing_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@244289.4]
+  output        auto_control_xing_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@244289.4]
+  output [2:0]  auto_control_xing_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@244289.4]
+  output [1:0]  auto_control_xing_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@244289.4]
+  output [5:0]  auto_control_xing_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@244289.4]
+  output [31:0] auto_control_xing_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@244289.4]
+  output        auto_io_out_txd, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@244289.4]
+  input         auto_io_out_rxd // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@244289.4]
+);
+  wire  buffer_clock; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@244294.4]
+  wire  buffer_reset; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@244294.4]
+  wire  buffer_auto_in_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@244294.4]
+  wire  buffer_auto_in_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@244294.4]
+  wire [2:0] buffer_auto_in_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@244294.4]
+  wire [2:0] buffer_auto_in_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@244294.4]
+  wire [1:0] buffer_auto_in_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@244294.4]
+  wire [5:0] buffer_auto_in_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@244294.4]
+  wire [28:0] buffer_auto_in_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@244294.4]
+  wire [3:0] buffer_auto_in_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@244294.4]
+  wire [31:0] buffer_auto_in_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@244294.4]
+  wire  buffer_auto_in_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@244294.4]
+  wire  buffer_auto_in_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@244294.4]
+  wire  buffer_auto_in_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@244294.4]
+  wire [2:0] buffer_auto_in_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@244294.4]
+  wire [1:0] buffer_auto_in_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@244294.4]
+  wire [5:0] buffer_auto_in_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@244294.4]
+  wire [31:0] buffer_auto_in_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@244294.4]
+  wire  buffer_auto_out_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@244294.4]
+  wire  buffer_auto_out_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@244294.4]
+  wire [2:0] buffer_auto_out_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@244294.4]
+  wire [2:0] buffer_auto_out_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@244294.4]
+  wire [1:0] buffer_auto_out_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@244294.4]
+  wire [5:0] buffer_auto_out_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@244294.4]
+  wire [28:0] buffer_auto_out_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@244294.4]
+  wire [3:0] buffer_auto_out_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@244294.4]
+  wire [31:0] buffer_auto_out_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@244294.4]
+  wire  buffer_auto_out_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@244294.4]
+  wire  buffer_auto_out_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@244294.4]
+  wire  buffer_auto_out_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@244294.4]
+  wire [2:0] buffer_auto_out_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@244294.4]
+  wire [1:0] buffer_auto_out_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@244294.4]
+  wire [5:0] buffer_auto_out_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@244294.4]
+  wire [31:0] buffer_auto_out_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@244294.4]
+  wire  intsource_clock; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@244300.4]
+  wire  intsource_reset; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@244300.4]
+  wire  intsource_auto_in_0; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@244300.4]
+  wire  intsource_auto_out_sync_0; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@244300.4]
+  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@244312.4]
+  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@244312.4]
+  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@244312.4]
+  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@244312.4]
+  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@244312.4]
+  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@244312.4]
+  wire [1:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@244312.4]
+  wire [5:0] TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@244312.4]
+  wire [28:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@244312.4]
+  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@244312.4]
+  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@244312.4]
+  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@244312.4]
+  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@244312.4]
+  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@244312.4]
+  wire [1:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@244312.4]
+  wire [5:0] TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@244312.4]
+  wire  txm_clock; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@244366.4]
+  wire  txm_reset; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@244366.4]
+  wire  txm_io_en; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@244366.4]
+  wire  txm_io_in_ready; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@244366.4]
+  wire  txm_io_in_valid; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@244366.4]
+  wire [7:0] txm_io_in_bits; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@244366.4]
+  wire  txm_io_out; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@244366.4]
+  wire [15:0] txm_io_div; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@244366.4]
+  wire  txm_io_nstop; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@244366.4]
+  wire  txq_clock; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@244370.4]
+  wire  txq_reset; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@244370.4]
+  wire  txq_io_enq_ready; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@244370.4]
+  wire  txq_io_enq_valid; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@244370.4]
+  wire [7:0] txq_io_enq_bits; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@244370.4]
+  wire  txq_io_deq_ready; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@244370.4]
+  wire  txq_io_deq_valid; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@244370.4]
+  wire [7:0] txq_io_deq_bits; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@244370.4]
+  wire [3:0] txq_io_count; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@244370.4]
+  wire  rxm_clock; // @[UART.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@244374.4]
+  wire  rxm_reset; // @[UART.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@244374.4]
+  wire  rxm_io_en; // @[UART.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@244374.4]
+  wire  rxm_io_in; // @[UART.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@244374.4]
+  wire  rxm_io_out_valid; // @[UART.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@244374.4]
+  wire [7:0] rxm_io_out_bits; // @[UART.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@244374.4]
+  wire [15:0] rxm_io_div; // @[UART.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@244374.4]
+  wire  rxq_clock; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@244378.4]
+  wire  rxq_reset; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@244378.4]
+  wire  rxq_io_enq_ready; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@244378.4]
+  wire  rxq_io_enq_valid; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@244378.4]
+  wire [7:0] rxq_io_enq_bits; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@244378.4]
+  wire  rxq_io_deq_ready; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@244378.4]
+  wire  rxq_io_deq_valid; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@244378.4]
+  wire [7:0] rxq_io_deq_bits; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@244378.4]
+  wire [3:0] rxq_io_count; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@244378.4]
+  reg [15:0] div; // @[UART.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@244382.4]
+  reg [31:0] _RAND_0;
+  reg  txen; // @[UART.scala 72:17:shc.marmotcaravel.MarmotCaravelConfig.fir@244383.4]
+  reg [31:0] _RAND_1;
+  reg  rxen; // @[UART.scala 73:17:shc.marmotcaravel.MarmotCaravelConfig.fir@244384.4]
+  reg [31:0] _RAND_2;
+  reg [3:0] txwm; // @[UART.scala 74:17:shc.marmotcaravel.MarmotCaravelConfig.fir@244385.4]
+  reg [31:0] _RAND_3;
+  reg [3:0] rxwm; // @[UART.scala 75:17:shc.marmotcaravel.MarmotCaravelConfig.fir@244386.4]
+  reg [31:0] _RAND_4;
+  reg  nstop; // @[UART.scala 76:18:shc.marmotcaravel.MarmotCaravelConfig.fir@244387.4]
+  reg [31:0] _RAND_5;
+  reg  ie_rxwm; // @[UART.scala 89:15:shc.marmotcaravel.MarmotCaravelConfig.fir@244406.4]
+  reg [31:0] _RAND_6;
+  reg  ie_txwm; // @[UART.scala 89:15:shc.marmotcaravel.MarmotCaravelConfig.fir@244406.4]
+  reg [31:0] _RAND_7;
+  wire  ip_txwm; // @[UART.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@244409.4]
+  wire  ip_rxwm; // @[UART.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@244411.4]
+  wire  _T_298; // @[UART.scala 94:29:shc.marmotcaravel.MarmotCaravelConfig.fir@244413.4]
+  wire  _T_299; // @[UART.scala 94:53:shc.marmotcaravel.MarmotCaravelConfig.fir@244414.4]
+  wire  _T_303; // @[RegMapFIFO.scala 24:9:shc.marmotcaravel.MarmotCaravelConfig.fir@244419.4]
+  wire  _T_304; // @[RegMapFIFO.scala 45:21:shc.marmotcaravel.MarmotCaravelConfig.fir@244420.4]
+  wire [2:0] _T_42_a_bits_opcode; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@244310.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@244360.4]
+  wire  _T_312; // @[RegisterRouter.scala 58:36:shc.marmotcaravel.MarmotCaravelConfig.fir@244423.4]
+  wire [28:0] _T_42_a_bits_address; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@244310.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@244360.4]
+  wire [26:0] _T_313; // @[Edges.scala 192:34:shc.marmotcaravel.MarmotCaravelConfig.fir@244425.4]
+  wire [5:0] _T_42_a_bits_source; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@244310.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@244360.4]
+  wire [1:0] _T_42_a_bits_size; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@244310.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@244360.4]
+  wire [7:0] _T_314; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@244429.4]
+  wire [9:0] _T_309_bits_index; // @[RegisterRouter.scala 57:18:shc.marmotcaravel.MarmotCaravelConfig.fir@244421.4 RegisterRouter.scala 59:19:shc.marmotcaravel.MarmotCaravelConfig.fir@244426.4]
+  wire [9:0] _T_330; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244437.4]
+  wire  _T_332; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244439.4]
+  wire [3:0] _T_42_a_bits_mask; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@244310.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@244360.4]
+  wire  _T_434; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@244461.4]
+  wire  _T_435; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@244462.4]
+  wire  _T_436; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@244463.4]
+  wire  _T_437; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@244464.4]
+  wire [7:0] _T_439; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@244466.4]
+  wire [7:0] _T_441; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@244468.4]
+  wire [7:0] _T_443; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@244470.4]
+  wire [7:0] _T_445; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@244472.4]
+  wire [15:0] _T_446; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@244473.4]
+  wire [15:0] _T_447; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@244474.4]
+  wire [31:0] _T_448; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@244475.4]
+  wire [7:0] _T_464; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244491.4]
+  wire  _T_465; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244492.4]
+  wire [7:0] _T_467; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244494.4]
+  wire  _T_468; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244495.4]
+  wire  _T_42_a_valid; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@244310.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@244360.4]
+  wire  _T_42_d_ready; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@244310.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@244360.4]
+  wire  _T_900; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244955.4]
+  wire  _T_899; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244954.4]
+  wire [1:0] _T_908; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@244963.4]
+  wire  _T_898; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244953.4]
+  wire [2:0] _T_909; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@244964.4]
+  wire  _T_928; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244983.4]
+  wire  _T_929; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244984.4]
+  wire [7:0] _T_910; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@244965.4]
+  wire  _T_911; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244966.4]
+  wire  _T_996; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@245070.4]
+  wire  _T_997; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@245071.4]
+  wire  _T_1000; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@245074.4]
+  wire  _T_1001; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@245075.4]
+  wire  _T_476; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244503.4]
+  wire [31:0] _T_42_a_bits_data; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@244310.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@244360.4]
+  wire  _T_525; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244554.4]
+  wire  _T_526; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244555.4]
+  wire  _T_527; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244556.4]
+  wire  _T_531; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244560.4]
+  wire  _T_532; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244561.4]
+  wire  _T_534; // @[RegMapFIFO.scala 26:26:shc.marmotcaravel.MarmotCaravelConfig.fir@244563.4]
+  wire  _T_479; // @[RegMapFIFO.scala 18:33:shc.marmotcaravel.MarmotCaravelConfig.fir@244506.4]
+  wire [31:0] _T_544; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@244574.4]
+  wire  _T_547; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244577.4]
+  wire  _T_550; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244580.4]
+  wire  _T_551; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244581.4]
+  wire  _T_561; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244591.4]
+  wire  _T_572; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244602.4]
+  wire  _T_575; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244605.4]
+  wire  _T_576; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244606.4]
+  wire  _T_586; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244616.4]
+  wire [1:0] _T_596; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@244626.4]
+  wire  _T_912; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244967.4]
+  wire  _T_938; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244997.4]
+  wire  _T_939; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244998.4]
+  wire [7:0] _T_622; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244653.4]
+  wire [8:0] _T_648; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@244679.4]
+  wire [30:0] _T_649; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244680.4]
+  wire [31:0] _T_675; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@244706.4]
+  wire [15:0] _T_678; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244709.4]
+  wire [15:0] _T_681; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244712.4]
+  wire  _T_682; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244713.4]
+  wire  _T_917; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244972.4]
+  wire  _T_1036; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@245131.4]
+  wire  _T_1037; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@245132.4]
+  wire  _T_690; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244721.4]
+  wire [15:0] _T_692; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244723.4]
+  wire  _T_913; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244968.4]
+  wire  _T_1012; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@245094.4]
+  wire  _T_1013; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@245095.4]
+  wire  _T_715; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244749.4]
+  wire  _T_740; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244777.4]
+  wire [1:0] _T_752; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@244792.4]
+  wire [3:0] _T_755; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244795.4]
+  wire [3:0] _T_758; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244798.4]
+  wire  _T_759; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244799.4]
+  wire  _T_767; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244807.4]
+  wire [3:0] _T_769; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244809.4]
+  wire [15:0] _T_778; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244821.4]
+  wire [19:0] _T_779; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@244822.4]
+  wire  _T_914; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244969.4]
+  wire  _T_1018; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@245104.4]
+  wire  _T_1019; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@245105.4]
+  wire  _T_794; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244837.4]
+  wire  _T_819; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244865.4]
+  wire [15:0] _T_830; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244879.4]
+  wire [19:0] _T_831; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@244880.4]
+  wire  _T_915; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244970.4]
+  wire  _T_1024; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@245113.4]
+  wire  _T_1025; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@245114.4]
+  wire  _T_846; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244895.4]
+  wire  _T_871; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244923.4]
+  wire [1:0] _T_883; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@244938.4]
+  wire  _GEN_41; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@245351.4]
+  wire  _GEN_42; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@245351.4]
+  wire  _GEN_43; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@245351.4]
+  wire  _GEN_44; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@245351.4]
+  wire  _GEN_45; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@245351.4]
+  wire  _GEN_46; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@245351.4]
+  wire  _GEN_47; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@245351.4]
+  wire [31:0] _GEN_49; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@245363.4]
+  wire [31:0] _T_1225_2; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@245353.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@245357.4]
+  wire [31:0] _GEN_50; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@245363.4]
+  wire [31:0] _T_1225_3; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@245353.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@245358.4]
+  wire [31:0] _GEN_51; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@245363.4]
+  wire [31:0] _T_1225_4; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@245353.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@245359.4]
+  wire [31:0] _GEN_52; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@245363.4]
+  wire [31:0] _T_1225_5; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@245353.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@245360.4]
+  wire [31:0] _GEN_53; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@245363.4]
+  wire [31:0] _T_1225_6; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@245353.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@245361.4]
+  wire [31:0] _GEN_54; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@245363.4]
+  wire [31:0] _GEN_55; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@245363.4]
+  TLBuffer_18 buffer ( // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@244294.4]
+    .clock(buffer_clock),
+    .reset(buffer_reset),
+    .auto_in_a_ready(buffer_auto_in_a_ready),
+    .auto_in_a_valid(buffer_auto_in_a_valid),
+    .auto_in_a_bits_opcode(buffer_auto_in_a_bits_opcode),
+    .auto_in_a_bits_param(buffer_auto_in_a_bits_param),
+    .auto_in_a_bits_size(buffer_auto_in_a_bits_size),
+    .auto_in_a_bits_source(buffer_auto_in_a_bits_source),
+    .auto_in_a_bits_address(buffer_auto_in_a_bits_address),
+    .auto_in_a_bits_mask(buffer_auto_in_a_bits_mask),
+    .auto_in_a_bits_data(buffer_auto_in_a_bits_data),
+    .auto_in_a_bits_corrupt(buffer_auto_in_a_bits_corrupt),
+    .auto_in_d_ready(buffer_auto_in_d_ready),
+    .auto_in_d_valid(buffer_auto_in_d_valid),
+    .auto_in_d_bits_opcode(buffer_auto_in_d_bits_opcode),
+    .auto_in_d_bits_size(buffer_auto_in_d_bits_size),
+    .auto_in_d_bits_source(buffer_auto_in_d_bits_source),
+    .auto_in_d_bits_data(buffer_auto_in_d_bits_data),
+    .auto_out_a_ready(buffer_auto_out_a_ready),
+    .auto_out_a_valid(buffer_auto_out_a_valid),
+    .auto_out_a_bits_opcode(buffer_auto_out_a_bits_opcode),
+    .auto_out_a_bits_param(buffer_auto_out_a_bits_param),
+    .auto_out_a_bits_size(buffer_auto_out_a_bits_size),
+    .auto_out_a_bits_source(buffer_auto_out_a_bits_source),
+    .auto_out_a_bits_address(buffer_auto_out_a_bits_address),
+    .auto_out_a_bits_mask(buffer_auto_out_a_bits_mask),
+    .auto_out_a_bits_data(buffer_auto_out_a_bits_data),
+    .auto_out_a_bits_corrupt(buffer_auto_out_a_bits_corrupt),
+    .auto_out_d_ready(buffer_auto_out_d_ready),
+    .auto_out_d_valid(buffer_auto_out_d_valid),
+    .auto_out_d_bits_opcode(buffer_auto_out_d_bits_opcode),
+    .auto_out_d_bits_size(buffer_auto_out_d_bits_size),
+    .auto_out_d_bits_source(buffer_auto_out_d_bits_source),
+    .auto_out_d_bits_data(buffer_auto_out_d_bits_data)
+  );
+  IntSyncCrossingSource_3 intsource ( // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@244300.4]
+    .clock(intsource_clock),
+    .reset(intsource_reset),
+    .auto_in_0(intsource_auto_in_0),
+    .auto_out_sync_0(intsource_auto_out_sync_0)
+  );
+  TLMonitor_61 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@244312.4]
+    .clock(TLMonitor_clock),
+    .reset(TLMonitor_reset),
+    .io_in_a_ready(TLMonitor_io_in_a_ready),
+    .io_in_a_valid(TLMonitor_io_in_a_valid),
+    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
+    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
+    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
+    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
+    .io_in_d_ready(TLMonitor_io_in_d_ready),
+    .io_in_d_valid(TLMonitor_io_in_d_valid),
+    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
+    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
+    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source)
+  );
+  UARTTx txm ( // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@244366.4]
+    .clock(txm_clock),
+    .reset(txm_reset),
+    .io_en(txm_io_en),
+    .io_in_ready(txm_io_in_ready),
+    .io_in_valid(txm_io_in_valid),
+    .io_in_bits(txm_io_in_bits),
+    .io_out(txm_io_out),
+    .io_div(txm_io_div),
+    .io_nstop(txm_io_nstop)
+  );
+  Queue_14 txq ( // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@244370.4]
+    .clock(txq_clock),
+    .reset(txq_reset),
+    .io_enq_ready(txq_io_enq_ready),
+    .io_enq_valid(txq_io_enq_valid),
+    .io_enq_bits(txq_io_enq_bits),
+    .io_deq_ready(txq_io_deq_ready),
+    .io_deq_valid(txq_io_deq_valid),
+    .io_deq_bits(txq_io_deq_bits),
+    .io_count(txq_io_count)
+  );
+  UARTRx rxm ( // @[UART.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@244374.4]
+    .clock(rxm_clock),
+    .reset(rxm_reset),
+    .io_en(rxm_io_en),
+    .io_in(rxm_io_in),
+    .io_out_valid(rxm_io_out_valid),
+    .io_out_bits(rxm_io_out_bits),
+    .io_div(rxm_io_div)
+  );
+  Queue_14 rxq ( // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@244378.4]
+    .clock(rxq_clock),
+    .reset(rxq_reset),
+    .io_enq_ready(rxq_io_enq_ready),
+    .io_enq_valid(rxq_io_enq_valid),
+    .io_enq_bits(rxq_io_enq_bits),
+    .io_deq_ready(rxq_io_deq_ready),
+    .io_deq_valid(rxq_io_deq_valid),
+    .io_deq_bits(rxq_io_deq_bits),
+    .io_count(rxq_io_count)
+  );
+  assign ip_txwm = txq_io_count < txwm; // @[UART.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@244409.4]
+  assign ip_rxwm = rxq_io_count > rxwm; // @[UART.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@244411.4]
+  assign _T_298 = ip_txwm & ie_txwm; // @[UART.scala 94:29:shc.marmotcaravel.MarmotCaravelConfig.fir@244413.4]
+  assign _T_299 = ip_rxwm & ie_rxwm; // @[UART.scala 94:53:shc.marmotcaravel.MarmotCaravelConfig.fir@244414.4]
+  assign _T_303 = txq_io_enq_ready == 1'h0; // @[RegMapFIFO.scala 24:9:shc.marmotcaravel.MarmotCaravelConfig.fir@244419.4]
+  assign _T_304 = rxq_io_deq_valid == 1'h0; // @[RegMapFIFO.scala 45:21:shc.marmotcaravel.MarmotCaravelConfig.fir@244420.4]
+  assign _T_42_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@244310.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@244360.4]
+  assign _T_312 = _T_42_a_bits_opcode == 3'h4; // @[RegisterRouter.scala 58:36:shc.marmotcaravel.MarmotCaravelConfig.fir@244423.4]
+  assign _T_42_a_bits_address = buffer_auto_out_a_bits_address; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@244310.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@244360.4]
+  assign _T_313 = _T_42_a_bits_address[28:2]; // @[Edges.scala 192:34:shc.marmotcaravel.MarmotCaravelConfig.fir@244425.4]
+  assign _T_42_a_bits_source = buffer_auto_out_a_bits_source; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@244310.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@244360.4]
+  assign _T_42_a_bits_size = buffer_auto_out_a_bits_size; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@244310.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@244360.4]
+  assign _T_314 = {_T_42_a_bits_source,_T_42_a_bits_size}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@244429.4]
+  assign _T_309_bits_index = _T_313[9:0]; // @[RegisterRouter.scala 57:18:shc.marmotcaravel.MarmotCaravelConfig.fir@244421.4 RegisterRouter.scala 59:19:shc.marmotcaravel.MarmotCaravelConfig.fir@244426.4]
+  assign _T_330 = _T_309_bits_index & 10'h3f8; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244437.4]
+  assign _T_332 = _T_330 == 10'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244439.4]
+  assign _T_42_a_bits_mask = buffer_auto_out_a_bits_mask; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@244310.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@244360.4]
+  assign _T_434 = _T_42_a_bits_mask[0]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@244461.4]
+  assign _T_435 = _T_42_a_bits_mask[1]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@244462.4]
+  assign _T_436 = _T_42_a_bits_mask[2]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@244463.4]
+  assign _T_437 = _T_42_a_bits_mask[3]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@244464.4]
+  assign _T_439 = _T_434 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@244466.4]
+  assign _T_441 = _T_435 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@244468.4]
+  assign _T_443 = _T_436 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@244470.4]
+  assign _T_445 = _T_437 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@244472.4]
+  assign _T_446 = {_T_441,_T_439}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@244473.4]
+  assign _T_447 = {_T_445,_T_443}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@244474.4]
+  assign _T_448 = {_T_447,_T_446}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@244475.4]
+  assign _T_464 = _T_448[7:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244491.4]
+  assign _T_465 = _T_464 != 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244492.4]
+  assign _T_467 = ~ _T_464; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244494.4]
+  assign _T_468 = _T_467 == 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244495.4]
+  assign _T_42_a_valid = buffer_auto_out_a_valid; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@244310.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@244360.4]
+  assign _T_42_d_ready = buffer_auto_out_d_ready; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@244310.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@244360.4]
+  assign _T_900 = _T_309_bits_index[2]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244955.4]
+  assign _T_899 = _T_309_bits_index[1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244954.4]
+  assign _T_908 = {_T_900,_T_899}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@244963.4]
+  assign _T_898 = _T_309_bits_index[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244953.4]
+  assign _T_909 = {_T_908,_T_898}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@244964.4]
+  assign _T_928 = _T_42_a_valid & _T_42_d_ready; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244983.4]
+  assign _T_929 = _T_928 & _T_312; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244984.4]
+  assign _T_910 = 8'h1 << _T_909; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@244965.4]
+  assign _T_911 = _T_910[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244966.4]
+  assign _T_996 = _T_312 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@245070.4]
+  assign _T_997 = _T_928 & _T_996; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@245071.4]
+  assign _T_1000 = _T_997 & _T_911; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@245074.4]
+  assign _T_1001 = _T_1000 & _T_332; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@245075.4]
+  assign _T_476 = _T_1001 & _T_468; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244503.4]
+  assign _T_42_a_bits_data = buffer_auto_out_a_bits_data; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@244310.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@244360.4]
+  assign _T_525 = _T_448[31]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244554.4]
+  assign _T_526 = ~ _T_525; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244555.4]
+  assign _T_527 = _T_526 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244556.4]
+  assign _T_531 = _T_1001 & _T_527; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244560.4]
+  assign _T_532 = _T_42_a_bits_data[31]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244561.4]
+  assign _T_534 = _T_531 & _T_532; // @[RegMapFIFO.scala 26:26:shc.marmotcaravel.MarmotCaravelConfig.fir@244563.4]
+  assign _T_479 = _T_534 == 1'h0; // @[RegMapFIFO.scala 18:33:shc.marmotcaravel.MarmotCaravelConfig.fir@244506.4]
+  assign _T_544 = {_T_303,31'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@244574.4]
+  assign _T_547 = _T_448[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244577.4]
+  assign _T_550 = ~ _T_547; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244580.4]
+  assign _T_551 = _T_550 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244581.4]
+  assign _T_561 = _T_42_a_bits_data[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244591.4]
+  assign _T_572 = _T_448[1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244602.4]
+  assign _T_575 = ~ _T_572; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244605.4]
+  assign _T_576 = _T_575 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244606.4]
+  assign _T_586 = _T_42_a_bits_data[1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244616.4]
+  assign _T_596 = {ip_rxwm,ip_txwm}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@244626.4]
+  assign _T_912 = _T_910[1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244967.4]
+  assign _T_938 = _T_929 & _T_912; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244997.4]
+  assign _T_939 = _T_938 & _T_332; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244998.4]
+  assign _T_622 = rxq_io_deq_bits; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244653.4]
+  assign _T_648 = {1'h0,_T_622}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@244679.4]
+  assign _T_649 = {{22'd0}, _T_648}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244680.4]
+  assign _T_675 = {_T_304,_T_649}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@244706.4]
+  assign _T_678 = _T_448[15:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244709.4]
+  assign _T_681 = ~ _T_678; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244712.4]
+  assign _T_682 = _T_681 == 16'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244713.4]
+  assign _T_917 = _T_910[6]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244972.4]
+  assign _T_1036 = _T_997 & _T_917; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@245131.4]
+  assign _T_1037 = _T_1036 & _T_332; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@245132.4]
+  assign _T_690 = _T_1037 & _T_682; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244721.4]
+  assign _T_692 = _T_42_a_bits_data[15:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244723.4]
+  assign _T_913 = _T_910[2]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244968.4]
+  assign _T_1012 = _T_997 & _T_913; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@245094.4]
+  assign _T_1013 = _T_1012 & _T_332; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@245095.4]
+  assign _T_715 = _T_1013 & _T_551; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244749.4]
+  assign _T_740 = _T_1013 & _T_576; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244777.4]
+  assign _T_752 = {nstop,txen}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@244792.4]
+  assign _T_755 = _T_448[19:16]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244795.4]
+  assign _T_758 = ~ _T_755; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244798.4]
+  assign _T_759 = _T_758 == 4'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244799.4]
+  assign _T_767 = _T_1013 & _T_759; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244807.4]
+  assign _T_769 = _T_42_a_bits_data[19:16]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244809.4]
+  assign _T_778 = {{14'd0}, _T_752}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244821.4]
+  assign _T_779 = {txwm,_T_778}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@244822.4]
+  assign _T_914 = _T_910[3]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244969.4]
+  assign _T_1018 = _T_997 & _T_914; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@245104.4]
+  assign _T_1019 = _T_1018 & _T_332; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@245105.4]
+  assign _T_794 = _T_1019 & _T_551; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244837.4]
+  assign _T_819 = _T_1019 & _T_759; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244865.4]
+  assign _T_830 = {{15'd0}, rxen}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244879.4]
+  assign _T_831 = {rxwm,_T_830}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@244880.4]
+  assign _T_915 = _T_910[4]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244970.4]
+  assign _T_1024 = _T_997 & _T_915; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@245113.4]
+  assign _T_1025 = _T_1024 & _T_332; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@245114.4]
+  assign _T_846 = _T_1025 & _T_551; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244895.4]
+  assign _T_871 = _T_1025 & _T_576; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244923.4]
+  assign _T_883 = {ie_rxwm,ie_txwm}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@244938.4]
+  assign _GEN_41 = 3'h1 == _T_909 ? _T_332 : _T_332; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@245351.4]
+  assign _GEN_42 = 3'h2 == _T_909 ? _T_332 : _GEN_41; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@245351.4]
+  assign _GEN_43 = 3'h3 == _T_909 ? _T_332 : _GEN_42; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@245351.4]
+  assign _GEN_44 = 3'h4 == _T_909 ? _T_332 : _GEN_43; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@245351.4]
+  assign _GEN_45 = 3'h5 == _T_909 ? _T_332 : _GEN_44; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@245351.4]
+  assign _GEN_46 = 3'h6 == _T_909 ? _T_332 : _GEN_45; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@245351.4]
+  assign _GEN_47 = 3'h7 == _T_909 ? 1'h1 : _GEN_46; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@245351.4]
+  assign _GEN_49 = 3'h1 == _T_909 ? _T_675 : _T_544; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@245363.4]
+  assign _T_1225_2 = {{12'd0}, _T_779}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@245353.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@245357.4]
+  assign _GEN_50 = 3'h2 == _T_909 ? _T_1225_2 : _GEN_49; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@245363.4]
+  assign _T_1225_3 = {{12'd0}, _T_831}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@245353.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@245358.4]
+  assign _GEN_51 = 3'h3 == _T_909 ? _T_1225_3 : _GEN_50; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@245363.4]
+  assign _T_1225_4 = {{30'd0}, _T_883}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@245353.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@245359.4]
+  assign _GEN_52 = 3'h4 == _T_909 ? _T_1225_4 : _GEN_51; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@245363.4]
+  assign _T_1225_5 = {{30'd0}, _T_596}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@245353.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@245360.4]
+  assign _GEN_53 = 3'h5 == _T_909 ? _T_1225_5 : _GEN_52; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@245363.4]
+  assign _T_1225_6 = {{16'd0}, div}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@245353.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@245361.4]
+  assign _GEN_54 = 3'h6 == _T_909 ? _T_1225_6 : _GEN_53; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@245363.4]
+  assign _GEN_55 = 3'h7 == _T_909 ? 32'h0 : _GEN_54; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@245363.4]
+  assign auto_int_xing_out_sync_0 = intsource_auto_out_sync_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@244365.4]
+  assign auto_control_xing_in_a_ready = buffer_auto_in_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@244364.4]
+  assign auto_control_xing_in_d_valid = buffer_auto_in_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@244364.4]
+  assign auto_control_xing_in_d_bits_opcode = buffer_auto_in_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@244364.4]
+  assign auto_control_xing_in_d_bits_size = buffer_auto_in_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@244364.4]
+  assign auto_control_xing_in_d_bits_source = buffer_auto_in_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@244364.4]
+  assign auto_control_xing_in_d_bits_data = buffer_auto_in_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@244364.4]
+  assign auto_io_out_txd = txm_io_out; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@244363.4]
+  assign buffer_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@244298.4]
+  assign buffer_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@244299.4]
+  assign buffer_auto_in_a_valid = auto_control_xing_in_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@244361.4]
+  assign buffer_auto_in_a_bits_opcode = auto_control_xing_in_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@244361.4]
+  assign buffer_auto_in_a_bits_param = auto_control_xing_in_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@244361.4]
+  assign buffer_auto_in_a_bits_size = auto_control_xing_in_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@244361.4]
+  assign buffer_auto_in_a_bits_source = auto_control_xing_in_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@244361.4]
+  assign buffer_auto_in_a_bits_address = auto_control_xing_in_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@244361.4]
+  assign buffer_auto_in_a_bits_mask = auto_control_xing_in_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@244361.4]
+  assign buffer_auto_in_a_bits_data = auto_control_xing_in_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@244361.4]
+  assign buffer_auto_in_a_bits_corrupt = auto_control_xing_in_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@244361.4]
+  assign buffer_auto_in_d_ready = auto_control_xing_in_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@244361.4]
+  assign buffer_auto_out_a_ready = buffer_auto_out_d_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@244360.4]
+  assign buffer_auto_out_d_valid = buffer_auto_out_a_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@244360.4]
+  assign buffer_auto_out_d_bits_opcode = {{2'd0}, _T_312}; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@244360.4]
+  assign buffer_auto_out_d_bits_size = _T_314[1:0]; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@244360.4]
+  assign buffer_auto_out_d_bits_source = _T_314[7:2]; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@244360.4]
+  assign buffer_auto_out_d_bits_data = _GEN_47 ? _GEN_55 : 32'h0; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@244360.4]
+  assign intsource_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@244304.4]
+  assign intsource_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@244305.4]
+  assign intsource_auto_in_0 = _T_298 | _T_299; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@244359.4]
+  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@244314.4]
+  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@244315.4]
+  assign TLMonitor_io_in_a_ready = buffer_auto_out_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@244348.4]
+  assign TLMonitor_io_in_a_valid = buffer_auto_out_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@244348.4]
+  assign TLMonitor_io_in_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@244348.4]
+  assign TLMonitor_io_in_a_bits_param = buffer_auto_out_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@244348.4]
+  assign TLMonitor_io_in_a_bits_size = buffer_auto_out_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@244348.4]
+  assign TLMonitor_io_in_a_bits_source = buffer_auto_out_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@244348.4]
+  assign TLMonitor_io_in_a_bits_address = buffer_auto_out_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@244348.4]
+  assign TLMonitor_io_in_a_bits_mask = buffer_auto_out_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@244348.4]
+  assign TLMonitor_io_in_a_bits_corrupt = buffer_auto_out_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@244348.4]
+  assign TLMonitor_io_in_d_ready = buffer_auto_out_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@244348.4]
+  assign TLMonitor_io_in_d_valid = buffer_auto_out_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@244348.4]
+  assign TLMonitor_io_in_d_bits_opcode = {{2'd0}, _T_312}; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@244348.4]
+  assign TLMonitor_io_in_d_bits_size = _T_314[1:0]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@244348.4]
+  assign TLMonitor_io_in_d_bits_source = _T_314[7:2]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@244348.4]
+  assign txm_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@244368.4]
+  assign txm_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@244369.4]
+  assign txm_io_en = txen; // @[UART.scala 78:13:shc.marmotcaravel.MarmotCaravelConfig.fir@244388.4]
+  assign txm_io_in_valid = txq_io_deq_valid; // @[UART.scala 79:13:shc.marmotcaravel.MarmotCaravelConfig.fir@244389.4]
+  assign txm_io_in_bits = txq_io_deq_bits; // @[UART.scala 79:13:shc.marmotcaravel.MarmotCaravelConfig.fir@244389.4]
+  assign txm_io_div = div; // @[UART.scala 80:14:shc.marmotcaravel.MarmotCaravelConfig.fir@244390.4]
+  assign txm_io_nstop = nstop; // @[UART.scala 81:16:shc.marmotcaravel.MarmotCaravelConfig.fir@244391.4]
+  assign txq_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@244372.4]
+  assign txq_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@244373.4]
+  assign txq_io_enq_valid = _T_476 & _T_479; // @[RegMapFIFO.scala 18:21:shc.marmotcaravel.MarmotCaravelConfig.fir@244508.4]
+  assign txq_io_enq_bits = _T_42_a_bits_data[7:0]; // @[RegMapFIFO.scala 19:20:shc.marmotcaravel.MarmotCaravelConfig.fir@244509.4]
+  assign txq_io_deq_ready = txm_io_in_ready; // @[UART.scala 79:13:shc.marmotcaravel.MarmotCaravelConfig.fir@244389.4]
+  assign rxm_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@244376.4]
+  assign rxm_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@244377.4]
+  assign rxm_io_en = rxen; // @[UART.scala 84:13:shc.marmotcaravel.MarmotCaravelConfig.fir@244393.4]
+  assign rxm_io_in = auto_io_out_rxd; // @[UART.scala 85:13:shc.marmotcaravel.MarmotCaravelConfig.fir@244394.4]
+  assign rxm_io_div = div; // @[UART.scala 87:14:shc.marmotcaravel.MarmotCaravelConfig.fir@244396.4]
+  assign rxq_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@244380.4]
+  assign rxq_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@244381.4]
+  assign rxq_io_enq_valid = rxm_io_out_valid; // @[UART.scala 86:14:shc.marmotcaravel.MarmotCaravelConfig.fir@244395.4]
+  assign rxq_io_enq_bits = rxm_io_out_bits; // @[UART.scala 86:14:shc.marmotcaravel.MarmotCaravelConfig.fir@244395.4]
+  assign rxq_io_deq_ready = _T_939 & _T_465; // @[RegMapFIFO.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@244643.4]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  div = _RAND_0[15:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  txen = _RAND_1[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  rxen = _RAND_2[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  txwm = _RAND_3[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  rxwm = _RAND_4[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  nstop = _RAND_5[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {1{`RANDOM}};
+  ie_rxwm = _RAND_6[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {1{`RANDOM}};
+  ie_txwm = _RAND_7[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      div <= 16'h364;
+    end else begin
+      if (_T_690) begin
+        div <= _T_692;
+      end
+    end
+    if (reset) begin
+      txen <= 1'h0;
+    end else begin
+      if (_T_715) begin
+        txen <= _T_561;
+      end
+    end
+    if (reset) begin
+      rxen <= 1'h0;
+    end else begin
+      if (_T_794) begin
+        rxen <= _T_561;
+      end
+    end
+    if (reset) begin
+      txwm <= 4'h0;
+    end else begin
+      if (_T_767) begin
+        txwm <= _T_769;
+      end
+    end
+    if (reset) begin
+      rxwm <= 4'h0;
+    end else begin
+      if (_T_819) begin
+        rxwm <= _T_769;
+      end
+    end
+    if (reset) begin
+      nstop <= 1'h0;
+    end else begin
+      if (_T_740) begin
+        nstop <= _T_586;
+      end
+    end
+    if (reset) begin
+      ie_rxwm <= 1'h0;
+    end else begin
+      if (_T_871) begin
+        ie_rxwm <= _T_586;
+      end
+    end
+    if (reset) begin
+      ie_txwm <= 1'h0;
+    end else begin
+      if (_T_846) begin
+        ie_txwm <= _T_561;
+      end
+    end
+  end
+endmodule
+module TLMonitor_62( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@245458.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@245459.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@245460.4]
+  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@245461.4]
+  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@245461.4]
+  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@245461.4]
+  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@245461.4]
+  input  [1:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@245461.4]
+  input  [5:0]  io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@245461.4]
+  input  [28:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@245461.4]
+  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@245461.4]
+  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@245461.4]
+  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@245461.4]
+  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@245461.4]
+  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@245461.4]
+  input  [1:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@245461.4]
+  input  [5:0]  io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@245461.4]
+);
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@246588.4]
+  wire [4:0] _T_36; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@245488.6]
+  wire [1:0] _T_37; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@245489.6]
+  wire [1:0] _T_38; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@245490.6]
+  wire [28:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@245491.6]
+  wire [28:0] _T_39; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@245491.6]
+  wire  _T_40; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@245492.6]
+  wire  _T_42; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@245494.6]
+  wire [1:0] _T_43; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@245495.6]
+  wire [1:0] _T_45; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@245497.6]
+  wire  _T_46; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@245498.6]
+  wire  _T_47; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@245499.6]
+  wire  _T_48; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@245500.6]
+  wire  _T_49; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@245501.6]
+  wire  _T_51; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@245503.6]
+  wire  _T_52; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@245504.6]
+  wire  _T_54; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@245506.6]
+  wire  _T_55; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@245507.6]
+  wire  _T_56; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@245508.6]
+  wire  _T_57; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@245509.6]
+  wire  _T_58; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@245510.6]
+  wire  _T_59; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@245511.6]
+  wire  _T_60; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@245512.6]
+  wire  _T_61; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@245513.6]
+  wire  _T_62; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@245514.6]
+  wire  _T_63; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@245515.6]
+  wire  _T_64; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@245516.6]
+  wire  _T_65; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@245517.6]
+  wire  _T_66; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@245518.6]
+  wire  _T_67; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@245519.6]
+  wire  _T_68; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@245520.6]
+  wire  _T_69; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@245521.6]
+  wire  _T_70; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@245522.6]
+  wire [1:0] _T_71; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@245523.6]
+  wire [1:0] _T_72; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@245524.6]
+  wire [3:0] _T_73; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@245525.6]
+  wire  _T_92; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@245548.6]
+  wire [28:0] _T_94; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@245551.8]
+  wire [29:0] _T_95; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@245552.8]
+  wire [29:0] _T_96; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@245553.8]
+  wire [29:0] _T_97; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@245554.8]
+  wire  _T_98; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@245555.8]
+  wire  _T_103; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245560.8]
+  wire  _T_112; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245581.8]
+  wire  _T_113; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245582.8]
+  wire  _T_115; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245588.8]
+  wire  _T_116; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245589.8]
+  wire  _T_117; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@245594.8]
+  wire  _T_119; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245596.8]
+  wire  _T_120; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245597.8]
+  wire [3:0] _T_121; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@245602.8]
+  wire  _T_122; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@245603.8]
+  wire  _T_124; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245605.8]
+  wire  _T_125; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245606.8]
+  wire  _T_126; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@245611.8]
+  wire  _T_128; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245613.8]
+  wire  _T_129; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245614.8]
+  wire  _T_130; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@245620.6]
+  wire  _T_159; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@245674.8]
+  wire  _T_161; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245676.8]
+  wire  _T_162; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245677.8]
+  wire  _T_172; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@245700.6]
+  wire  _T_174; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@245703.8]
+  wire  _T_182; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@245711.8]
+  wire  _T_185; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245714.8]
+  wire  _T_186; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245715.8]
+  wire  _T_193; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@245734.8]
+  wire  _T_195; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245736.8]
+  wire  _T_196; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245737.8]
+  wire  _T_197; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@245742.8]
+  wire  _T_199; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245744.8]
+  wire  _T_200; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245745.8]
+  wire  _T_205; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@245759.6]
+  wire  _T_234; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@245810.6]
+  wire [3:0] _T_259; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@245852.8]
+  wire [3:0] _T_260; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@245853.8]
+  wire  _T_261; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@245854.8]
+  wire  _T_263; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245856.8]
+  wire  _T_264; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245857.8]
+  wire  _T_265; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@245863.6]
+  wire  _T_283; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@245894.8]
+  wire  _T_285; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245896.8]
+  wire  _T_286; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245897.8]
+  wire  _T_291; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@245911.6]
+  wire  _T_309; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@245942.8]
+  wire  _T_311; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245944.8]
+  wire  _T_312; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245945.8]
+  wire  _T_317; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@245959.6]
+  wire  _T_343; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246009.6]
+  wire  _T_345; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@246011.6]
+  wire  _T_346; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@246012.6]
+  wire  _T_363; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@246029.6]
+  wire  _T_367; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@246038.8]
+  wire  _T_369; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246040.8]
+  wire  _T_370; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246041.8]
+  wire  _T_383; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@246071.6]
+  wire  _T_411; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@246129.6]
+  wire  _T_504; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@246319.4]
+  reg  _T_514; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@246328.4]
+  reg [31:0] _RAND_0;
+  wire [1:0] _T_515; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@246329.4]
+  wire [1:0] _T_516; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@246330.4]
+  wire  _T_517; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@246331.4]
+  wire  _T_518; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@246332.4]
+  reg [2:0] _T_527; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@246343.4]
+  reg [31:0] _RAND_1;
+  reg [2:0] _T_529; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@246344.4]
+  reg [31:0] _RAND_2;
+  reg [1:0] _T_531; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@246345.4]
+  reg [31:0] _RAND_3;
+  reg [5:0] _T_533; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@246346.4]
+  reg [31:0] _RAND_4;
+  reg [28:0] _T_535; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@246347.4]
+  reg [31:0] _RAND_5;
+  wire  _T_536; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@246348.4]
+  wire  _T_537; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@246349.4]
+  wire  _T_538; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@246351.6]
+  wire  _T_540; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246353.6]
+  wire  _T_541; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246354.6]
+  wire  _T_542; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@246359.6]
+  wire  _T_544; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246361.6]
+  wire  _T_545; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246362.6]
+  wire  _T_546; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@246367.6]
+  wire  _T_548; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246369.6]
+  wire  _T_549; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246370.6]
+  wire  _T_550; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@246375.6]
+  wire  _T_552; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246377.6]
+  wire  _T_553; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246378.6]
+  wire  _T_554; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@246383.6]
+  wire  _T_556; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246385.6]
+  wire  _T_557; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246386.6]
+  wire  _T_559; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@246393.4]
+  wire  _T_560; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@246401.4]
+  reg  _T_569; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@246409.4]
+  reg [31:0] _RAND_6;
+  wire [1:0] _T_570; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@246410.4]
+  wire [1:0] _T_571; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@246411.4]
+  wire  _T_572; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@246412.4]
+  wire  _T_573; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@246413.4]
+  reg [2:0] _T_582; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@246424.4]
+  reg [31:0] _RAND_7;
+  reg [1:0] _T_586; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@246426.4]
+  reg [31:0] _RAND_8;
+  reg [5:0] _T_588; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@246427.4]
+  reg [31:0] _RAND_9;
+  wire  _T_593; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@246430.4]
+  wire  _T_594; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@246431.4]
+  wire  _T_595; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@246433.6]
+  wire  _T_597; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246435.6]
+  wire  _T_598; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246436.6]
+  wire  _T_603; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@246449.6]
+  wire  _T_605; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246451.6]
+  wire  _T_606; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246452.6]
+  wire  _T_607; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@246457.6]
+  wire  _T_609; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246459.6]
+  wire  _T_610; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246460.6]
+  wire  _T_620; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@246483.4]
+  reg [63:0] _T_622; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@246492.4]
+  reg [63:0] _RAND_10;
+  reg  _T_633; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@246502.4]
+  reg [31:0] _RAND_11;
+  wire [1:0] _T_634; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@246503.4]
+  wire [1:0] _T_635; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@246504.4]
+  wire  _T_636; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@246505.4]
+  wire  _T_637; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@246506.4]
+  reg  _T_654; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@246525.4]
+  reg [31:0] _RAND_12;
+  wire [1:0] _T_655; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@246526.4]
+  wire [1:0] _T_656; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@246527.4]
+  wire  _T_657; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@246528.4]
+  wire  _T_658; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@246529.4]
+  wire  _T_669; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@246544.4]
+  wire [63:0] _T_671; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@246547.6]
+  wire [63:0] _T_672; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@246549.6]
+  wire  _T_673; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@246550.6]
+  wire  _T_674; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246551.6]
+  wire  _T_676; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@246553.6]
+  wire  _T_677; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@246554.6]
+  wire [63:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@246546.4]
+  wire  _T_682; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@246565.4]
+  wire  _T_684; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@246567.4]
+  wire  _T_685; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@246568.4]
+  wire [63:0] _T_686; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@246570.6]
+  wire [63:0] _T_687; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@246572.6]
+  wire [63:0] _T_688; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@246573.6]
+  wire  _T_689; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@246574.6]
+  wire  _T_691; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@246576.6]
+  wire  _T_692; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@246577.6]
+  wire [63:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@246569.4]
+  wire [63:0] _T_693; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@246583.4]
+  wire [63:0] _T_694; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@246584.4]
+  wire [63:0] _T_695; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@246585.4]
+  reg [31:0] _T_697; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@246587.4]
+  reg [31:0] _RAND_13;
+  wire  _T_698; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@246590.4]
+  wire  _T_699; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@246591.4]
+  wire  _T_700; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@246592.4]
+  wire  _T_701; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@246593.4]
+  wire  _T_702; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@246594.4]
+  wire  _T_703; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@246595.4]
+  wire  _T_705; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@246597.4]
+  wire  _T_706; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@246598.4]
+  wire [31:0] _T_708; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@246604.4]
+  wire  _T_711; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@246608.4]
+  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245562.10]
+  wire  _GEN_33; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245634.10]
+  wire  _GEN_49; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245717.10]
+  wire  _GEN_59; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245776.10]
+  wire  _GEN_67; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245827.10]
+  wire  _GEN_75; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245877.10]
+  wire  _GEN_83; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245925.10]
+  wire  _GEN_91; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245973.10]
+  wire  _GEN_99; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246043.10]
+  wire  _GEN_101; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246084.10]
+  wire  _GEN_105; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246142.10]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@246588.4]
+    .out(plusarg_reader_out)
+  );
+  assign _T_36 = 5'h3 << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@245488.6]
+  assign _T_37 = _T_36[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@245489.6]
+  assign _T_38 = ~ _T_37; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@245490.6]
+  assign _GEN_18 = {{27'd0}, _T_38}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@245491.6]
+  assign _T_39 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@245491.6]
+  assign _T_40 = _T_39 == 29'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@245492.6]
+  assign _T_42 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@245494.6]
+  assign _T_43 = 2'h1 << _T_42; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@245495.6]
+  assign _T_45 = _T_43 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@245497.6]
+  assign _T_46 = io_in_a_bits_size >= 2'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@245498.6]
+  assign _T_47 = _T_45[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@245499.6]
+  assign _T_48 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@245500.6]
+  assign _T_49 = _T_48 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@245501.6]
+  assign _T_51 = _T_47 & _T_49; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@245503.6]
+  assign _T_52 = _T_46 | _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@245504.6]
+  assign _T_54 = _T_47 & _T_48; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@245506.6]
+  assign _T_55 = _T_46 | _T_54; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@245507.6]
+  assign _T_56 = _T_45[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@245508.6]
+  assign _T_57 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@245509.6]
+  assign _T_58 = _T_57 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@245510.6]
+  assign _T_59 = _T_49 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@245511.6]
+  assign _T_60 = _T_56 & _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@245512.6]
+  assign _T_61 = _T_52 | _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@245513.6]
+  assign _T_62 = _T_49 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@245514.6]
+  assign _T_63 = _T_56 & _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@245515.6]
+  assign _T_64 = _T_52 | _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@245516.6]
+  assign _T_65 = _T_48 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@245517.6]
+  assign _T_66 = _T_56 & _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@245518.6]
+  assign _T_67 = _T_55 | _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@245519.6]
+  assign _T_68 = _T_48 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@245520.6]
+  assign _T_69 = _T_56 & _T_68; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@245521.6]
+  assign _T_70 = _T_55 | _T_69; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@245522.6]
+  assign _T_71 = {_T_64,_T_61}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@245523.6]
+  assign _T_72 = {_T_70,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@245524.6]
+  assign _T_73 = {_T_72,_T_71}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@245525.6]
+  assign _T_92 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@245548.6]
+  assign _T_94 = io_in_a_bits_address ^ 29'h10033000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@245551.8]
+  assign _T_95 = {1'b0,$signed(_T_94)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@245552.8]
+  assign _T_96 = $signed(_T_95) & $signed(-30'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@245553.8]
+  assign _T_97 = $signed(_T_96); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@245554.8]
+  assign _T_98 = $signed(_T_97) == $signed(30'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@245555.8]
+  assign _T_103 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245560.8]
+  assign _T_112 = _T_46 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245581.8]
+  assign _T_113 = _T_112 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245582.8]
+  assign _T_115 = _T_40 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245588.8]
+  assign _T_116 = _T_115 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245589.8]
+  assign _T_117 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@245594.8]
+  assign _T_119 = _T_117 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245596.8]
+  assign _T_120 = _T_119 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245597.8]
+  assign _T_121 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@245602.8]
+  assign _T_122 = _T_121 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@245603.8]
+  assign _T_124 = _T_122 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245605.8]
+  assign _T_125 = _T_124 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245606.8]
+  assign _T_126 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@245611.8]
+  assign _T_128 = _T_126 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245613.8]
+  assign _T_129 = _T_128 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245614.8]
+  assign _T_130 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@245620.6]
+  assign _T_159 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@245674.8]
+  assign _T_161 = _T_159 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245676.8]
+  assign _T_162 = _T_161 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245677.8]
+  assign _T_172 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@245700.6]
+  assign _T_174 = io_in_a_bits_size <= 2'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@245703.8]
+  assign _T_182 = _T_174 & _T_98; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@245711.8]
+  assign _T_185 = _T_182 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245714.8]
+  assign _T_186 = _T_185 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245715.8]
+  assign _T_193 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@245734.8]
+  assign _T_195 = _T_193 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245736.8]
+  assign _T_196 = _T_195 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245737.8]
+  assign _T_197 = io_in_a_bits_mask == _T_73; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@245742.8]
+  assign _T_199 = _T_197 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245744.8]
+  assign _T_200 = _T_199 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245745.8]
+  assign _T_205 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@245759.6]
+  assign _T_234 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@245810.6]
+  assign _T_259 = ~ _T_73; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@245852.8]
+  assign _T_260 = io_in_a_bits_mask & _T_259; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@245853.8]
+  assign _T_261 = _T_260 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@245854.8]
+  assign _T_263 = _T_261 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245856.8]
+  assign _T_264 = _T_263 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245857.8]
+  assign _T_265 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@245863.6]
+  assign _T_283 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@245894.8]
+  assign _T_285 = _T_283 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245896.8]
+  assign _T_286 = _T_285 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245897.8]
+  assign _T_291 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@245911.6]
+  assign _T_309 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@245942.8]
+  assign _T_311 = _T_309 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245944.8]
+  assign _T_312 = _T_311 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245945.8]
+  assign _T_317 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@245959.6]
+  assign _T_343 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246009.6]
+  assign _T_345 = _T_343 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@246011.6]
+  assign _T_346 = _T_345 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@246012.6]
+  assign _T_363 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@246029.6]
+  assign _T_367 = io_in_d_bits_size >= 2'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@246038.8]
+  assign _T_369 = _T_367 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246040.8]
+  assign _T_370 = _T_369 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246041.8]
+  assign _T_383 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@246071.6]
+  assign _T_411 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@246129.6]
+  assign _T_504 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@246319.4]
+  assign _T_515 = _T_514 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@246329.4]
+  assign _T_516 = $unsigned(_T_515); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@246330.4]
+  assign _T_517 = _T_516[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@246331.4]
+  assign _T_518 = _T_514 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@246332.4]
+  assign _T_536 = _T_518 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@246348.4]
+  assign _T_537 = io_in_a_valid & _T_536; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@246349.4]
+  assign _T_538 = io_in_a_bits_opcode == _T_527; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@246351.6]
+  assign _T_540 = _T_538 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246353.6]
+  assign _T_541 = _T_540 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246354.6]
+  assign _T_542 = io_in_a_bits_param == _T_529; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@246359.6]
+  assign _T_544 = _T_542 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246361.6]
+  assign _T_545 = _T_544 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246362.6]
+  assign _T_546 = io_in_a_bits_size == _T_531; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@246367.6]
+  assign _T_548 = _T_546 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246369.6]
+  assign _T_549 = _T_548 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246370.6]
+  assign _T_550 = io_in_a_bits_source == _T_533; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@246375.6]
+  assign _T_552 = _T_550 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246377.6]
+  assign _T_553 = _T_552 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246378.6]
+  assign _T_554 = io_in_a_bits_address == _T_535; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@246383.6]
+  assign _T_556 = _T_554 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246385.6]
+  assign _T_557 = _T_556 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246386.6]
+  assign _T_559 = _T_504 & _T_518; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@246393.4]
+  assign _T_560 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@246401.4]
+  assign _T_570 = _T_569 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@246410.4]
+  assign _T_571 = $unsigned(_T_570); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@246411.4]
+  assign _T_572 = _T_571[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@246412.4]
+  assign _T_573 = _T_569 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@246413.4]
+  assign _T_593 = _T_573 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@246430.4]
+  assign _T_594 = io_in_d_valid & _T_593; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@246431.4]
+  assign _T_595 = io_in_d_bits_opcode == _T_582; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@246433.6]
+  assign _T_597 = _T_595 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246435.6]
+  assign _T_598 = _T_597 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246436.6]
+  assign _T_603 = io_in_d_bits_size == _T_586; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@246449.6]
+  assign _T_605 = _T_603 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246451.6]
+  assign _T_606 = _T_605 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246452.6]
+  assign _T_607 = io_in_d_bits_source == _T_588; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@246457.6]
+  assign _T_609 = _T_607 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246459.6]
+  assign _T_610 = _T_609 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246460.6]
+  assign _T_620 = _T_560 & _T_573; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@246483.4]
+  assign _T_634 = _T_633 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@246503.4]
+  assign _T_635 = $unsigned(_T_634); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@246504.4]
+  assign _T_636 = _T_635[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@246505.4]
+  assign _T_637 = _T_633 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@246506.4]
+  assign _T_655 = _T_654 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@246526.4]
+  assign _T_656 = $unsigned(_T_655); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@246527.4]
+  assign _T_657 = _T_656[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@246528.4]
+  assign _T_658 = _T_654 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@246529.4]
+  assign _T_669 = _T_504 & _T_637; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@246544.4]
+  assign _T_671 = 64'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@246547.6]
+  assign _T_672 = _T_622 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@246549.6]
+  assign _T_673 = _T_672[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@246550.6]
+  assign _T_674 = _T_673 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246551.6]
+  assign _T_676 = _T_674 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@246553.6]
+  assign _T_677 = _T_676 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@246554.6]
+  assign _GEN_15 = _T_669 ? _T_671 : 64'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@246546.4]
+  assign _T_682 = _T_560 & _T_658; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@246565.4]
+  assign _T_684 = _T_363 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@246567.4]
+  assign _T_685 = _T_682 & _T_684; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@246568.4]
+  assign _T_686 = 64'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@246570.6]
+  assign _T_687 = _GEN_15 | _T_622; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@246572.6]
+  assign _T_688 = _T_687 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@246573.6]
+  assign _T_689 = _T_688[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@246574.6]
+  assign _T_691 = _T_689 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@246576.6]
+  assign _T_692 = _T_691 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@246577.6]
+  assign _GEN_16 = _T_685 ? _T_686 : 64'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@246569.4]
+  assign _T_693 = _T_622 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@246583.4]
+  assign _T_694 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@246584.4]
+  assign _T_695 = _T_693 & _T_694; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@246585.4]
+  assign _T_698 = _T_622 != 64'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@246590.4]
+  assign _T_699 = _T_698 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@246591.4]
+  assign _T_700 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@246592.4]
+  assign _T_701 = _T_699 | _T_700; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@246593.4]
+  assign _T_702 = _T_697 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@246594.4]
+  assign _T_703 = _T_701 | _T_702; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@246595.4]
+  assign _T_705 = _T_703 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@246597.4]
+  assign _T_706 = _T_705 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@246598.4]
+  assign _T_708 = _T_697 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@246604.4]
+  assign _T_711 = _T_504 | _T_560; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@246608.4]
+  assign _GEN_19 = io_in_a_valid & _T_92; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245562.10]
+  assign _GEN_33 = io_in_a_valid & _T_130; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245634.10]
+  assign _GEN_49 = io_in_a_valid & _T_172; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245717.10]
+  assign _GEN_59 = io_in_a_valid & _T_205; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245776.10]
+  assign _GEN_67 = io_in_a_valid & _T_234; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245827.10]
+  assign _GEN_75 = io_in_a_valid & _T_265; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245877.10]
+  assign _GEN_83 = io_in_a_valid & _T_291; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245925.10]
+  assign _GEN_91 = io_in_a_valid & _T_317; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245973.10]
+  assign _GEN_99 = io_in_d_valid & _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246043.10]
+  assign _GEN_101 = io_in_d_valid & _T_383; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246084.10]
+  assign _GEN_105 = io_in_d_valid & _T_411; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246142.10]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  _T_514 = _RAND_0[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  _T_527 = _RAND_1[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  _T_529 = _RAND_2[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  _T_531 = _RAND_3[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  _T_533 = _RAND_4[5:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  _T_535 = _RAND_5[28:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {1{`RANDOM}};
+  _T_569 = _RAND_6[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {1{`RANDOM}};
+  _T_582 = _RAND_7[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_8 = {1{`RANDOM}};
+  _T_586 = _RAND_8[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_9 = {1{`RANDOM}};
+  _T_588 = _RAND_9[5:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_10 = {2{`RANDOM}};
+  _T_622 = _RAND_10[63:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_11 = {1{`RANDOM}};
+  _T_633 = _RAND_11[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_12 = {1{`RANDOM}};
+  _T_654 = _RAND_12[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_13 = {1{`RANDOM}};
+  _T_697 = _RAND_13[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      _T_514 <= 1'h0;
+    end else begin
+      if (_T_504) begin
+        if (_T_518) begin
+          _T_514 <= 1'h0;
+        end else begin
+          _T_514 <= _T_517;
+        end
+      end
+    end
+    if (_T_559) begin
+      _T_527 <= io_in_a_bits_opcode;
+    end
+    if (_T_559) begin
+      _T_529 <= io_in_a_bits_param;
+    end
+    if (_T_559) begin
+      _T_531 <= io_in_a_bits_size;
+    end
+    if (_T_559) begin
+      _T_533 <= io_in_a_bits_source;
+    end
+    if (_T_559) begin
+      _T_535 <= io_in_a_bits_address;
+    end
+    if (reset) begin
+      _T_569 <= 1'h0;
+    end else begin
+      if (_T_560) begin
+        if (_T_573) begin
+          _T_569 <= 1'h0;
+        end else begin
+          _T_569 <= _T_572;
+        end
+      end
+    end
+    if (_T_620) begin
+      _T_582 <= io_in_d_bits_opcode;
+    end
+    if (_T_620) begin
+      _T_586 <= io_in_d_bits_size;
+    end
+    if (_T_620) begin
+      _T_588 <= io_in_d_bits_source;
+    end
+    if (reset) begin
+      _T_622 <= 64'h0;
+    end else begin
+      _T_622 <= _T_695;
+    end
+    if (reset) begin
+      _T_633 <= 1'h0;
+    end else begin
+      if (_T_504) begin
+        if (_T_637) begin
+          _T_633 <= 1'h0;
+        end else begin
+          _T_633 <= _T_636;
+        end
+      end
+    end
+    if (reset) begin
+      _T_654 <= 1'h0;
+    end else begin
+      if (_T_560) begin
+        if (_T_658) begin
+          _T_654 <= 1'h0;
+        end else begin
+          _T_654 <= _T_657;
+        end
+      end
+    end
+    if (reset) begin
+      _T_697 <= 32'h0;
+    end else begin
+      if (_T_711) begin
+        _T_697 <= 32'h0;
+      end else begin
+        _T_697 <= _T_708;
+      end
+    end
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@245473.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@245474.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@245545.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@245546.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245562.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_103) begin
+          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245563.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245569.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_103) begin
+          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245570.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245576.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245577.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_113) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245584.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_113) begin
+          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245585.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245591.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_116) begin
+          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245592.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_120) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245599.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_120) begin
+          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245600.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_125) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245608.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_125) begin
+          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245609.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_129) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245616.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_129) begin
+          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245617.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245634.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_103) begin
+          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245635.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245641.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_103) begin
+          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245642.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245648.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245649.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_113) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245656.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_113) begin
+          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245657.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245663.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_116) begin
+          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245664.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_120) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245671.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_120) begin
+          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245672.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_162) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245679.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_162) begin
+          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245680.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_125) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245688.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_125) begin
+          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245689.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_129) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245696.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_129) begin
+          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245697.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_186) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245717.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_186) begin
+          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245718.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245724.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245725.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245731.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_116) begin
+          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245732.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_196) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245739.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_196) begin
+          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245740.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245747.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_200) begin
+          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245748.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_129) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245755.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_129) begin
+          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245756.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_59 & _T_186) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245776.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_59 & _T_186) begin
+          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245777.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245783.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245784.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_59 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245790.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_59 & _T_116) begin
+          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245791.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_59 & _T_196) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245798.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_59 & _T_196) begin
+          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245799.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_59 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245806.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_59 & _T_200) begin
+          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245807.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_67 & _T_186) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245827.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_67 & _T_186) begin
+          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245828.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245834.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245835.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_67 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245841.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_67 & _T_116) begin
+          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245842.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_67 & _T_196) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245849.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_67 & _T_196) begin
+          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245850.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_67 & _T_264) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245859.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_67 & _T_264) begin
+          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245860.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245877.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_103) begin
+          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245878.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245884.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245885.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245891.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_116) begin
+          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245892.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_286) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245899.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_286) begin
+          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245900.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245907.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_200) begin
+          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245908.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_83 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245925.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_83 & _T_103) begin
+          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245926.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245932.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245933.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_83 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245939.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_83 & _T_116) begin
+          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245940.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_83 & _T_312) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245947.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_83 & _T_312) begin
+          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245948.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_83 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245955.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_83 & _T_200) begin
+          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245956.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_91 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245973.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_91 & _T_103) begin
+          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245974.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245980.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245981.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_91 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245987.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_91 & _T_116) begin
+          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245988.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_91 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245995.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_91 & _T_200) begin
+          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245996.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_91 & _T_129) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246003.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_91 & _T_129) begin
+          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246004.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_346) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@246014.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_346) begin
+          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@246015.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246035.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246036.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_99 & _T_370) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246043.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_99 & _T_370) begin
+          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246044.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246051.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246052.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246059.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246060.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246067.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246068.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246077.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246078.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_101 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246084.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_101 & _T_103) begin
+          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246085.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_101 & _T_370) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246092.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_101 & _T_370) begin
+          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246093.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246100.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246101.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246108.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246109.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246116.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246117.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246125.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246126.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246135.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246136.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246142.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_103) begin
+          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246143.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_370) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246150.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_370) begin
+          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246151.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246158.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246159.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246166.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246167.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246175.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246176.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246184.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246185.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246194.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246195.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246202.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246203.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246210.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246211.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246219.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246220.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246229.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246230.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246237.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246238.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246246.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246247.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246255.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246256.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246265.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246266.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246273.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246274.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246281.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246282.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246290.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246291.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246300.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246301.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246308.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246309.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246316.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246317.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_541) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246356.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_541) begin
+          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246357.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_545) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246364.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_545) begin
+          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246365.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_549) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246372.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_549) begin
+          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246373.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_553) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246380.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_553) begin
+          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246381.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_557) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246388.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_557) begin
+          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246389.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_594 & _T_598) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246438.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_594 & _T_598) begin
+          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246439.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246446.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246447.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_594 & _T_606) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246454.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_594 & _T_606) begin
+          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246455.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_594 & _T_610) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246462.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_594 & _T_610) begin
+          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246463.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246470.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246471.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246478.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246479.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_669 & _T_677) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@246556.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_669 & _T_677) begin
+          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@246557.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_685 & _T_692) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@246579.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_685 & _T_692) begin
+          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@246580.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_706) begin
+          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@246600.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_706) begin
+          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@246601.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+endmodule
+module TLBuffer_19( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@246613.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@246614.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@246615.4]
+  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@246616.4]
+  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@246616.4]
+  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@246616.4]
+  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@246616.4]
+  input  [1:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@246616.4]
+  input  [5:0]  auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@246616.4]
+  input  [28:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@246616.4]
+  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@246616.4]
+  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@246616.4]
+  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@246616.4]
+  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@246616.4]
+  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@246616.4]
+  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@246616.4]
+  output [1:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@246616.4]
+  output [5:0]  auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@246616.4]
+  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@246616.4]
+  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@246616.4]
+  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@246616.4]
+  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@246616.4]
+  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@246616.4]
+  output [1:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@246616.4]
+  output [5:0]  auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@246616.4]
+  output [28:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@246616.4]
+  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@246616.4]
+  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@246616.4]
+  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@246616.4]
+  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@246616.4]
+  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@246616.4]
+  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@246616.4]
+  input  [1:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@246616.4]
+  input  [5:0]  auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@246616.4]
+  input  [31:0] auto_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@246616.4]
+);
+  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@246623.4]
+  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@246623.4]
+  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@246623.4]
+  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@246623.4]
+  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@246623.4]
+  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@246623.4]
+  wire [1:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@246623.4]
+  wire [5:0] TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@246623.4]
+  wire [28:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@246623.4]
+  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@246623.4]
+  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@246623.4]
+  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@246623.4]
+  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@246623.4]
+  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@246623.4]
+  wire [1:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@246623.4]
+  wire [5:0] TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@246623.4]
+  TLMonitor_62 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@246623.4]
+    .clock(TLMonitor_clock),
+    .reset(TLMonitor_reset),
+    .io_in_a_ready(TLMonitor_io_in_a_ready),
+    .io_in_a_valid(TLMonitor_io_in_a_valid),
+    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
+    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
+    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
+    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
+    .io_in_d_ready(TLMonitor_io_in_d_ready),
+    .io_in_d_valid(TLMonitor_io_in_d_valid),
+    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
+    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
+    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source)
+  );
+  assign auto_in_a_ready = auto_out_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@246663.4]
+  assign auto_in_d_valid = auto_out_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@246663.4]
+  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@246663.4]
+  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@246663.4]
+  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@246663.4]
+  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@246663.4]
+  assign auto_out_a_valid = auto_in_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@246662.4]
+  assign auto_out_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@246662.4]
+  assign auto_out_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@246662.4]
+  assign auto_out_a_bits_size = auto_in_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@246662.4]
+  assign auto_out_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@246662.4]
+  assign auto_out_a_bits_address = auto_in_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@246662.4]
+  assign auto_out_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@246662.4]
+  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@246662.4]
+  assign auto_out_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@246662.4]
+  assign auto_out_d_ready = auto_in_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@246662.4]
+  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@246625.4]
+  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@246626.4]
+  assign TLMonitor_io_in_a_ready = auto_out_a_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@246659.4]
+  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@246659.4]
+  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@246659.4]
+  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@246659.4]
+  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@246659.4]
+  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@246659.4]
+  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@246659.4]
+  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@246659.4]
+  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@246659.4]
+  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@246659.4]
+  assign TLMonitor_io_in_d_valid = auto_out_d_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@246659.4]
+  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@246659.4]
+  assign TLMonitor_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@246659.4]
+  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@246659.4]
+endmodule
+module TLMonitor_63( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@246734.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@246735.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@246736.4]
+  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@246737.4]
+  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@246737.4]
+  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@246737.4]
+  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@246737.4]
+  input  [1:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@246737.4]
+  input  [5:0]  io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@246737.4]
+  input  [28:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@246737.4]
+  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@246737.4]
+  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@246737.4]
+  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@246737.4]
+  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@246737.4]
+  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@246737.4]
+  input  [1:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@246737.4]
+  input  [5:0]  io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@246737.4]
+);
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@247864.4]
+  wire [4:0] _T_36; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@246764.6]
+  wire [1:0] _T_37; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@246765.6]
+  wire [1:0] _T_38; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@246766.6]
+  wire [28:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@246767.6]
+  wire [28:0] _T_39; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@246767.6]
+  wire  _T_40; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246768.6]
+  wire  _T_42; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@246770.6]
+  wire [1:0] _T_43; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@246771.6]
+  wire [1:0] _T_45; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@246773.6]
+  wire  _T_46; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@246774.6]
+  wire  _T_47; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@246775.6]
+  wire  _T_48; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@246776.6]
+  wire  _T_49; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@246777.6]
+  wire  _T_51; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@246779.6]
+  wire  _T_52; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@246780.6]
+  wire  _T_54; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@246782.6]
+  wire  _T_55; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@246783.6]
+  wire  _T_56; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@246784.6]
+  wire  _T_57; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@246785.6]
+  wire  _T_58; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@246786.6]
+  wire  _T_59; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@246787.6]
+  wire  _T_60; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@246788.6]
+  wire  _T_61; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@246789.6]
+  wire  _T_62; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@246790.6]
+  wire  _T_63; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@246791.6]
+  wire  _T_64; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@246792.6]
+  wire  _T_65; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@246793.6]
+  wire  _T_66; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@246794.6]
+  wire  _T_67; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@246795.6]
+  wire  _T_68; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@246796.6]
+  wire  _T_69; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@246797.6]
+  wire  _T_70; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@246798.6]
+  wire [1:0] _T_71; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@246799.6]
+  wire [1:0] _T_72; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@246800.6]
+  wire [3:0] _T_73; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@246801.6]
+  wire  _T_92; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@246824.6]
+  wire [28:0] _T_94; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@246827.8]
+  wire [29:0] _T_95; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@246828.8]
+  wire [29:0] _T_96; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@246829.8]
+  wire [29:0] _T_97; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@246830.8]
+  wire  _T_98; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@246831.8]
+  wire  _T_103; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246836.8]
+  wire  _T_112; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246857.8]
+  wire  _T_113; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246858.8]
+  wire  _T_115; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246864.8]
+  wire  _T_116; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246865.8]
+  wire  _T_117; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@246870.8]
+  wire  _T_119; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246872.8]
+  wire  _T_120; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246873.8]
+  wire [3:0] _T_121; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@246878.8]
+  wire  _T_122; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@246879.8]
+  wire  _T_124; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246881.8]
+  wire  _T_125; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246882.8]
+  wire  _T_126; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@246887.8]
+  wire  _T_128; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246889.8]
+  wire  _T_129; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246890.8]
+  wire  _T_130; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@246896.6]
+  wire  _T_159; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@246950.8]
+  wire  _T_161; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246952.8]
+  wire  _T_162; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246953.8]
+  wire  _T_172; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@246976.6]
+  wire  _T_174; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@246979.8]
+  wire  _T_182; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@246987.8]
+  wire  _T_185; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246990.8]
+  wire  _T_186; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246991.8]
+  wire  _T_193; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@247010.8]
+  wire  _T_195; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247012.8]
+  wire  _T_196; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247013.8]
+  wire  _T_197; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@247018.8]
+  wire  _T_199; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247020.8]
+  wire  _T_200; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247021.8]
+  wire  _T_205; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@247035.6]
+  wire  _T_234; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@247086.6]
+  wire [3:0] _T_259; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@247128.8]
+  wire [3:0] _T_260; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@247129.8]
+  wire  _T_261; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@247130.8]
+  wire  _T_263; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247132.8]
+  wire  _T_264; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247133.8]
+  wire  _T_265; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@247139.6]
+  wire  _T_283; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@247170.8]
+  wire  _T_285; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247172.8]
+  wire  _T_286; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247173.8]
+  wire  _T_291; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@247187.6]
+  wire  _T_309; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@247218.8]
+  wire  _T_311; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247220.8]
+  wire  _T_312; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247221.8]
+  wire  _T_317; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@247235.6]
+  wire  _T_343; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@247285.6]
+  wire  _T_345; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@247287.6]
+  wire  _T_346; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@247288.6]
+  wire  _T_363; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@247305.6]
+  wire  _T_367; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@247314.8]
+  wire  _T_369; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247316.8]
+  wire  _T_370; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247317.8]
+  wire  _T_383; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@247347.6]
+  wire  _T_411; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@247405.6]
+  wire  _T_504; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@247595.4]
+  reg  _T_514; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@247604.4]
+  reg [31:0] _RAND_0;
+  wire [1:0] _T_515; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@247605.4]
+  wire [1:0] _T_516; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@247606.4]
+  wire  _T_517; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@247607.4]
+  wire  _T_518; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@247608.4]
+  reg [2:0] _T_527; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@247619.4]
+  reg [31:0] _RAND_1;
+  reg [2:0] _T_529; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@247620.4]
+  reg [31:0] _RAND_2;
+  reg [1:0] _T_531; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@247621.4]
+  reg [31:0] _RAND_3;
+  reg [5:0] _T_533; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@247622.4]
+  reg [31:0] _RAND_4;
+  reg [28:0] _T_535; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@247623.4]
+  reg [31:0] _RAND_5;
+  wire  _T_536; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@247624.4]
+  wire  _T_537; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@247625.4]
+  wire  _T_538; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@247627.6]
+  wire  _T_540; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247629.6]
+  wire  _T_541; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247630.6]
+  wire  _T_542; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@247635.6]
+  wire  _T_544; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247637.6]
+  wire  _T_545; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247638.6]
+  wire  _T_546; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@247643.6]
+  wire  _T_548; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247645.6]
+  wire  _T_549; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247646.6]
+  wire  _T_550; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@247651.6]
+  wire  _T_552; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247653.6]
+  wire  _T_553; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247654.6]
+  wire  _T_554; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@247659.6]
+  wire  _T_556; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247661.6]
+  wire  _T_557; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247662.6]
+  wire  _T_559; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@247669.4]
+  wire  _T_560; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@247677.4]
+  reg  _T_569; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@247685.4]
+  reg [31:0] _RAND_6;
+  wire [1:0] _T_570; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@247686.4]
+  wire [1:0] _T_571; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@247687.4]
+  wire  _T_572; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@247688.4]
+  wire  _T_573; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@247689.4]
+  reg [2:0] _T_582; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@247700.4]
+  reg [31:0] _RAND_7;
+  reg [1:0] _T_586; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@247702.4]
+  reg [31:0] _RAND_8;
+  reg [5:0] _T_588; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@247703.4]
+  reg [31:0] _RAND_9;
+  wire  _T_593; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@247706.4]
+  wire  _T_594; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@247707.4]
+  wire  _T_595; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@247709.6]
+  wire  _T_597; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247711.6]
+  wire  _T_598; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247712.6]
+  wire  _T_603; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@247725.6]
+  wire  _T_605; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247727.6]
+  wire  _T_606; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247728.6]
+  wire  _T_607; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@247733.6]
+  wire  _T_609; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247735.6]
+  wire  _T_610; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247736.6]
+  wire  _T_620; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@247759.4]
+  reg [63:0] _T_622; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@247768.4]
+  reg [63:0] _RAND_10;
+  reg  _T_633; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@247778.4]
+  reg [31:0] _RAND_11;
+  wire [1:0] _T_634; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@247779.4]
+  wire [1:0] _T_635; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@247780.4]
+  wire  _T_636; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@247781.4]
+  wire  _T_637; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@247782.4]
+  reg  _T_654; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@247801.4]
+  reg [31:0] _RAND_12;
+  wire [1:0] _T_655; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@247802.4]
+  wire [1:0] _T_656; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@247803.4]
+  wire  _T_657; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@247804.4]
+  wire  _T_658; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@247805.4]
+  wire  _T_669; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@247820.4]
+  wire [63:0] _T_671; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@247823.6]
+  wire [63:0] _T_672; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@247825.6]
+  wire  _T_673; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@247826.6]
+  wire  _T_674; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247827.6]
+  wire  _T_676; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@247829.6]
+  wire  _T_677; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@247830.6]
+  wire [63:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@247822.4]
+  wire  _T_682; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@247841.4]
+  wire  _T_684; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@247843.4]
+  wire  _T_685; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@247844.4]
+  wire [63:0] _T_686; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@247846.6]
+  wire [63:0] _T_687; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@247848.6]
+  wire [63:0] _T_688; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@247849.6]
+  wire  _T_689; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@247850.6]
+  wire  _T_691; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@247852.6]
+  wire  _T_692; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@247853.6]
+  wire [63:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@247845.4]
+  wire [63:0] _T_693; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@247859.4]
+  wire [63:0] _T_694; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@247860.4]
+  wire [63:0] _T_695; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@247861.4]
+  reg [31:0] _T_697; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@247863.4]
+  reg [31:0] _RAND_13;
+  wire  _T_698; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@247866.4]
+  wire  _T_699; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@247867.4]
+  wire  _T_700; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@247868.4]
+  wire  _T_701; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@247869.4]
+  wire  _T_702; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@247870.4]
+  wire  _T_703; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@247871.4]
+  wire  _T_705; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@247873.4]
+  wire  _T_706; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@247874.4]
+  wire [31:0] _T_708; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@247880.4]
+  wire  _T_711; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@247884.4]
+  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246838.10]
+  wire  _GEN_33; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246910.10]
+  wire  _GEN_49; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246993.10]
+  wire  _GEN_59; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247052.10]
+  wire  _GEN_67; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247103.10]
+  wire  _GEN_75; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247153.10]
+  wire  _GEN_83; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247201.10]
+  wire  _GEN_91; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247249.10]
+  wire  _GEN_99; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247319.10]
+  wire  _GEN_101; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247360.10]
+  wire  _GEN_105; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247418.10]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@247864.4]
+    .out(plusarg_reader_out)
+  );
+  assign _T_36 = 5'h3 << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@246764.6]
+  assign _T_37 = _T_36[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@246765.6]
+  assign _T_38 = ~ _T_37; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@246766.6]
+  assign _GEN_18 = {{27'd0}, _T_38}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@246767.6]
+  assign _T_39 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@246767.6]
+  assign _T_40 = _T_39 == 29'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246768.6]
+  assign _T_42 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@246770.6]
+  assign _T_43 = 2'h1 << _T_42; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@246771.6]
+  assign _T_45 = _T_43 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@246773.6]
+  assign _T_46 = io_in_a_bits_size >= 2'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@246774.6]
+  assign _T_47 = _T_45[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@246775.6]
+  assign _T_48 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@246776.6]
+  assign _T_49 = _T_48 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@246777.6]
+  assign _T_51 = _T_47 & _T_49; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@246779.6]
+  assign _T_52 = _T_46 | _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@246780.6]
+  assign _T_54 = _T_47 & _T_48; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@246782.6]
+  assign _T_55 = _T_46 | _T_54; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@246783.6]
+  assign _T_56 = _T_45[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@246784.6]
+  assign _T_57 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@246785.6]
+  assign _T_58 = _T_57 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@246786.6]
+  assign _T_59 = _T_49 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@246787.6]
+  assign _T_60 = _T_56 & _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@246788.6]
+  assign _T_61 = _T_52 | _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@246789.6]
+  assign _T_62 = _T_49 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@246790.6]
+  assign _T_63 = _T_56 & _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@246791.6]
+  assign _T_64 = _T_52 | _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@246792.6]
+  assign _T_65 = _T_48 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@246793.6]
+  assign _T_66 = _T_56 & _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@246794.6]
+  assign _T_67 = _T_55 | _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@246795.6]
+  assign _T_68 = _T_48 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@246796.6]
+  assign _T_69 = _T_56 & _T_68; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@246797.6]
+  assign _T_70 = _T_55 | _T_69; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@246798.6]
+  assign _T_71 = {_T_64,_T_61}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@246799.6]
+  assign _T_72 = {_T_70,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@246800.6]
+  assign _T_73 = {_T_72,_T_71}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@246801.6]
+  assign _T_92 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@246824.6]
+  assign _T_94 = io_in_a_bits_address ^ 29'h10033000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@246827.8]
+  assign _T_95 = {1'b0,$signed(_T_94)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@246828.8]
+  assign _T_96 = $signed(_T_95) & $signed(-30'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@246829.8]
+  assign _T_97 = $signed(_T_96); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@246830.8]
+  assign _T_98 = $signed(_T_97) == $signed(30'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@246831.8]
+  assign _T_103 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246836.8]
+  assign _T_112 = _T_46 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246857.8]
+  assign _T_113 = _T_112 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246858.8]
+  assign _T_115 = _T_40 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246864.8]
+  assign _T_116 = _T_115 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246865.8]
+  assign _T_117 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@246870.8]
+  assign _T_119 = _T_117 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246872.8]
+  assign _T_120 = _T_119 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246873.8]
+  assign _T_121 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@246878.8]
+  assign _T_122 = _T_121 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@246879.8]
+  assign _T_124 = _T_122 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246881.8]
+  assign _T_125 = _T_124 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246882.8]
+  assign _T_126 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@246887.8]
+  assign _T_128 = _T_126 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246889.8]
+  assign _T_129 = _T_128 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246890.8]
+  assign _T_130 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@246896.6]
+  assign _T_159 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@246950.8]
+  assign _T_161 = _T_159 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246952.8]
+  assign _T_162 = _T_161 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246953.8]
+  assign _T_172 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@246976.6]
+  assign _T_174 = io_in_a_bits_size <= 2'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@246979.8]
+  assign _T_182 = _T_174 & _T_98; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@246987.8]
+  assign _T_185 = _T_182 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246990.8]
+  assign _T_186 = _T_185 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246991.8]
+  assign _T_193 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@247010.8]
+  assign _T_195 = _T_193 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247012.8]
+  assign _T_196 = _T_195 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247013.8]
+  assign _T_197 = io_in_a_bits_mask == _T_73; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@247018.8]
+  assign _T_199 = _T_197 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247020.8]
+  assign _T_200 = _T_199 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247021.8]
+  assign _T_205 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@247035.6]
+  assign _T_234 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@247086.6]
+  assign _T_259 = ~ _T_73; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@247128.8]
+  assign _T_260 = io_in_a_bits_mask & _T_259; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@247129.8]
+  assign _T_261 = _T_260 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@247130.8]
+  assign _T_263 = _T_261 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247132.8]
+  assign _T_264 = _T_263 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247133.8]
+  assign _T_265 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@247139.6]
+  assign _T_283 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@247170.8]
+  assign _T_285 = _T_283 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247172.8]
+  assign _T_286 = _T_285 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247173.8]
+  assign _T_291 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@247187.6]
+  assign _T_309 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@247218.8]
+  assign _T_311 = _T_309 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247220.8]
+  assign _T_312 = _T_311 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247221.8]
+  assign _T_317 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@247235.6]
+  assign _T_343 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@247285.6]
+  assign _T_345 = _T_343 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@247287.6]
+  assign _T_346 = _T_345 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@247288.6]
+  assign _T_363 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@247305.6]
+  assign _T_367 = io_in_d_bits_size >= 2'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@247314.8]
+  assign _T_369 = _T_367 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247316.8]
+  assign _T_370 = _T_369 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247317.8]
+  assign _T_383 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@247347.6]
+  assign _T_411 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@247405.6]
+  assign _T_504 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@247595.4]
+  assign _T_515 = _T_514 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@247605.4]
+  assign _T_516 = $unsigned(_T_515); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@247606.4]
+  assign _T_517 = _T_516[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@247607.4]
+  assign _T_518 = _T_514 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@247608.4]
+  assign _T_536 = _T_518 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@247624.4]
+  assign _T_537 = io_in_a_valid & _T_536; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@247625.4]
+  assign _T_538 = io_in_a_bits_opcode == _T_527; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@247627.6]
+  assign _T_540 = _T_538 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247629.6]
+  assign _T_541 = _T_540 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247630.6]
+  assign _T_542 = io_in_a_bits_param == _T_529; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@247635.6]
+  assign _T_544 = _T_542 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247637.6]
+  assign _T_545 = _T_544 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247638.6]
+  assign _T_546 = io_in_a_bits_size == _T_531; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@247643.6]
+  assign _T_548 = _T_546 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247645.6]
+  assign _T_549 = _T_548 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247646.6]
+  assign _T_550 = io_in_a_bits_source == _T_533; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@247651.6]
+  assign _T_552 = _T_550 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247653.6]
+  assign _T_553 = _T_552 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247654.6]
+  assign _T_554 = io_in_a_bits_address == _T_535; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@247659.6]
+  assign _T_556 = _T_554 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247661.6]
+  assign _T_557 = _T_556 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247662.6]
+  assign _T_559 = _T_504 & _T_518; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@247669.4]
+  assign _T_560 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@247677.4]
+  assign _T_570 = _T_569 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@247686.4]
+  assign _T_571 = $unsigned(_T_570); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@247687.4]
+  assign _T_572 = _T_571[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@247688.4]
+  assign _T_573 = _T_569 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@247689.4]
+  assign _T_593 = _T_573 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@247706.4]
+  assign _T_594 = io_in_d_valid & _T_593; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@247707.4]
+  assign _T_595 = io_in_d_bits_opcode == _T_582; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@247709.6]
+  assign _T_597 = _T_595 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247711.6]
+  assign _T_598 = _T_597 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247712.6]
+  assign _T_603 = io_in_d_bits_size == _T_586; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@247725.6]
+  assign _T_605 = _T_603 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247727.6]
+  assign _T_606 = _T_605 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247728.6]
+  assign _T_607 = io_in_d_bits_source == _T_588; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@247733.6]
+  assign _T_609 = _T_607 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247735.6]
+  assign _T_610 = _T_609 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247736.6]
+  assign _T_620 = _T_560 & _T_573; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@247759.4]
+  assign _T_634 = _T_633 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@247779.4]
+  assign _T_635 = $unsigned(_T_634); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@247780.4]
+  assign _T_636 = _T_635[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@247781.4]
+  assign _T_637 = _T_633 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@247782.4]
+  assign _T_655 = _T_654 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@247802.4]
+  assign _T_656 = $unsigned(_T_655); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@247803.4]
+  assign _T_657 = _T_656[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@247804.4]
+  assign _T_658 = _T_654 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@247805.4]
+  assign _T_669 = _T_504 & _T_637; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@247820.4]
+  assign _T_671 = 64'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@247823.6]
+  assign _T_672 = _T_622 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@247825.6]
+  assign _T_673 = _T_672[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@247826.6]
+  assign _T_674 = _T_673 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247827.6]
+  assign _T_676 = _T_674 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@247829.6]
+  assign _T_677 = _T_676 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@247830.6]
+  assign _GEN_15 = _T_669 ? _T_671 : 64'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@247822.4]
+  assign _T_682 = _T_560 & _T_658; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@247841.4]
+  assign _T_684 = _T_363 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@247843.4]
+  assign _T_685 = _T_682 & _T_684; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@247844.4]
+  assign _T_686 = 64'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@247846.6]
+  assign _T_687 = _GEN_15 | _T_622; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@247848.6]
+  assign _T_688 = _T_687 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@247849.6]
+  assign _T_689 = _T_688[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@247850.6]
+  assign _T_691 = _T_689 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@247852.6]
+  assign _T_692 = _T_691 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@247853.6]
+  assign _GEN_16 = _T_685 ? _T_686 : 64'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@247845.4]
+  assign _T_693 = _T_622 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@247859.4]
+  assign _T_694 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@247860.4]
+  assign _T_695 = _T_693 & _T_694; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@247861.4]
+  assign _T_698 = _T_622 != 64'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@247866.4]
+  assign _T_699 = _T_698 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@247867.4]
+  assign _T_700 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@247868.4]
+  assign _T_701 = _T_699 | _T_700; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@247869.4]
+  assign _T_702 = _T_697 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@247870.4]
+  assign _T_703 = _T_701 | _T_702; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@247871.4]
+  assign _T_705 = _T_703 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@247873.4]
+  assign _T_706 = _T_705 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@247874.4]
+  assign _T_708 = _T_697 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@247880.4]
+  assign _T_711 = _T_504 | _T_560; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@247884.4]
+  assign _GEN_19 = io_in_a_valid & _T_92; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246838.10]
+  assign _GEN_33 = io_in_a_valid & _T_130; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246910.10]
+  assign _GEN_49 = io_in_a_valid & _T_172; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246993.10]
+  assign _GEN_59 = io_in_a_valid & _T_205; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247052.10]
+  assign _GEN_67 = io_in_a_valid & _T_234; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247103.10]
+  assign _GEN_75 = io_in_a_valid & _T_265; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247153.10]
+  assign _GEN_83 = io_in_a_valid & _T_291; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247201.10]
+  assign _GEN_91 = io_in_a_valid & _T_317; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247249.10]
+  assign _GEN_99 = io_in_d_valid & _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247319.10]
+  assign _GEN_101 = io_in_d_valid & _T_383; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247360.10]
+  assign _GEN_105 = io_in_d_valid & _T_411; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247418.10]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  _T_514 = _RAND_0[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  _T_527 = _RAND_1[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  _T_529 = _RAND_2[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  _T_531 = _RAND_3[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  _T_533 = _RAND_4[5:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  _T_535 = _RAND_5[28:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {1{`RANDOM}};
+  _T_569 = _RAND_6[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {1{`RANDOM}};
+  _T_582 = _RAND_7[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_8 = {1{`RANDOM}};
+  _T_586 = _RAND_8[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_9 = {1{`RANDOM}};
+  _T_588 = _RAND_9[5:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_10 = {2{`RANDOM}};
+  _T_622 = _RAND_10[63:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_11 = {1{`RANDOM}};
+  _T_633 = _RAND_11[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_12 = {1{`RANDOM}};
+  _T_654 = _RAND_12[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_13 = {1{`RANDOM}};
+  _T_697 = _RAND_13[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      _T_514 <= 1'h0;
+    end else begin
+      if (_T_504) begin
+        if (_T_518) begin
+          _T_514 <= 1'h0;
+        end else begin
+          _T_514 <= _T_517;
+        end
+      end
+    end
+    if (_T_559) begin
+      _T_527 <= io_in_a_bits_opcode;
+    end
+    if (_T_559) begin
+      _T_529 <= io_in_a_bits_param;
+    end
+    if (_T_559) begin
+      _T_531 <= io_in_a_bits_size;
+    end
+    if (_T_559) begin
+      _T_533 <= io_in_a_bits_source;
+    end
+    if (_T_559) begin
+      _T_535 <= io_in_a_bits_address;
+    end
+    if (reset) begin
+      _T_569 <= 1'h0;
+    end else begin
+      if (_T_560) begin
+        if (_T_573) begin
+          _T_569 <= 1'h0;
+        end else begin
+          _T_569 <= _T_572;
+        end
+      end
+    end
+    if (_T_620) begin
+      _T_582 <= io_in_d_bits_opcode;
+    end
+    if (_T_620) begin
+      _T_586 <= io_in_d_bits_size;
+    end
+    if (_T_620) begin
+      _T_588 <= io_in_d_bits_source;
+    end
+    if (reset) begin
+      _T_622 <= 64'h0;
+    end else begin
+      _T_622 <= _T_695;
+    end
+    if (reset) begin
+      _T_633 <= 1'h0;
+    end else begin
+      if (_T_504) begin
+        if (_T_637) begin
+          _T_633 <= 1'h0;
+        end else begin
+          _T_633 <= _T_636;
+        end
+      end
+    end
+    if (reset) begin
+      _T_654 <= 1'h0;
+    end else begin
+      if (_T_560) begin
+        if (_T_658) begin
+          _T_654 <= 1'h0;
+        end else begin
+          _T_654 <= _T_657;
+        end
+      end
+    end
+    if (reset) begin
+      _T_697 <= 32'h0;
+    end else begin
+      if (_T_711) begin
+        _T_697 <= 32'h0;
+      end else begin
+        _T_697 <= _T_708;
+      end
+    end
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@246749.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@246750.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@246821.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@246822.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246838.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_103) begin
+          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246839.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246845.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_103) begin
+          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246846.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246852.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246853.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_113) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246860.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_113) begin
+          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246861.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246867.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_116) begin
+          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246868.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_120) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246875.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_120) begin
+          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246876.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_125) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246884.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_125) begin
+          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246885.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_129) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246892.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_129) begin
+          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246893.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246910.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_103) begin
+          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246911.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246917.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_103) begin
+          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246918.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246924.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246925.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_113) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246932.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_113) begin
+          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246933.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246939.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_116) begin
+          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246940.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_120) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246947.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_120) begin
+          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246948.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_162) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246955.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_162) begin
+          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246956.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_125) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246964.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_125) begin
+          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246965.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_129) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246972.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_129) begin
+          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246973.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_186) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246993.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_186) begin
+          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246994.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247000.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247001.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247007.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_116) begin
+          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247008.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_196) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247015.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_196) begin
+          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247016.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247023.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_200) begin
+          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247024.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_129) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247031.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_129) begin
+          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247032.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_59 & _T_186) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247052.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_59 & _T_186) begin
+          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247053.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247059.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247060.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_59 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247066.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_59 & _T_116) begin
+          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247067.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_59 & _T_196) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247074.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_59 & _T_196) begin
+          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247075.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_59 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247082.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_59 & _T_200) begin
+          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247083.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_67 & _T_186) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247103.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_67 & _T_186) begin
+          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247104.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247110.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247111.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_67 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247117.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_67 & _T_116) begin
+          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247118.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_67 & _T_196) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247125.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_67 & _T_196) begin
+          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247126.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_67 & _T_264) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247135.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_67 & _T_264) begin
+          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247136.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247153.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_103) begin
+          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247154.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247160.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247161.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247167.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_116) begin
+          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247168.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_286) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247175.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_286) begin
+          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247176.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247183.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_200) begin
+          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247184.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_83 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247201.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_83 & _T_103) begin
+          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247202.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247208.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247209.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_83 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247215.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_83 & _T_116) begin
+          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247216.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_83 & _T_312) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247223.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_83 & _T_312) begin
+          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247224.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_83 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247231.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_83 & _T_200) begin
+          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247232.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_91 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247249.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_91 & _T_103) begin
+          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247250.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247256.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247257.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_91 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247263.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_91 & _T_116) begin
+          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247264.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_91 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247271.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_91 & _T_200) begin
+          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247272.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_91 & _T_129) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247279.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_91 & _T_129) begin
+          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247280.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_346) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@247290.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_346) begin
+          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@247291.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247311.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247312.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_99 & _T_370) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247319.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_99 & _T_370) begin
+          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247320.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247327.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247328.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247335.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247336.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247343.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247344.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247353.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247354.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_101 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247360.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_101 & _T_103) begin
+          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247361.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_101 & _T_370) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247368.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_101 & _T_370) begin
+          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247369.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247376.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247377.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247384.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247385.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247392.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247393.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247401.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247402.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247411.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247412.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247418.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_103) begin
+          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247419.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_370) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247426.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_370) begin
+          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247427.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247434.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247435.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247442.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247443.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247451.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247452.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247460.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247461.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247470.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247471.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247478.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247479.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247486.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247487.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247495.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247496.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247505.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247506.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247513.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247514.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247522.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247523.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247531.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247532.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247541.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247542.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247549.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247550.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247557.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247558.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247566.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247567.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247576.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247577.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247584.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247585.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247592.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247593.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_541) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247632.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_541) begin
+          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247633.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_545) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247640.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_545) begin
+          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247641.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_549) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247648.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_549) begin
+          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247649.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_553) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247656.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_553) begin
+          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247657.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_557) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247664.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_557) begin
+          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247665.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_594 & _T_598) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247714.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_594 & _T_598) begin
+          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247715.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247722.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247723.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_594 & _T_606) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247730.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_594 & _T_606) begin
+          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247731.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_594 & _T_610) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247738.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_594 & _T_610) begin
+          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247739.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247746.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247747.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247754.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247755.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_669 & _T_677) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@247832.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_669 & _T_677) begin
+          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@247833.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_685 & _T_692) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@247855.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_685 & _T_692) begin
+          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@247856.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_706) begin
+          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@247876.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_706) begin
+          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@247877.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+endmodule
+module TLUART_2( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@248174.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@248175.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@248176.4]
+  output        auto_int_xing_out_sync_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@248177.4]
+  output        auto_control_xing_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@248177.4]
+  input         auto_control_xing_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@248177.4]
+  input  [2:0]  auto_control_xing_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@248177.4]
+  input  [2:0]  auto_control_xing_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@248177.4]
+  input  [1:0]  auto_control_xing_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@248177.4]
+  input  [5:0]  auto_control_xing_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@248177.4]
+  input  [28:0] auto_control_xing_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@248177.4]
+  input  [3:0]  auto_control_xing_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@248177.4]
+  input  [31:0] auto_control_xing_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@248177.4]
+  input         auto_control_xing_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@248177.4]
+  input         auto_control_xing_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@248177.4]
+  output        auto_control_xing_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@248177.4]
+  output [2:0]  auto_control_xing_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@248177.4]
+  output [1:0]  auto_control_xing_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@248177.4]
+  output [5:0]  auto_control_xing_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@248177.4]
+  output [31:0] auto_control_xing_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@248177.4]
+  output        auto_io_out_txd, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@248177.4]
+  input         auto_io_out_rxd // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@248177.4]
+);
+  wire  buffer_clock; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@248182.4]
+  wire  buffer_reset; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@248182.4]
+  wire  buffer_auto_in_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@248182.4]
+  wire  buffer_auto_in_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@248182.4]
+  wire [2:0] buffer_auto_in_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@248182.4]
+  wire [2:0] buffer_auto_in_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@248182.4]
+  wire [1:0] buffer_auto_in_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@248182.4]
+  wire [5:0] buffer_auto_in_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@248182.4]
+  wire [28:0] buffer_auto_in_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@248182.4]
+  wire [3:0] buffer_auto_in_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@248182.4]
+  wire [31:0] buffer_auto_in_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@248182.4]
+  wire  buffer_auto_in_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@248182.4]
+  wire  buffer_auto_in_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@248182.4]
+  wire  buffer_auto_in_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@248182.4]
+  wire [2:0] buffer_auto_in_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@248182.4]
+  wire [1:0] buffer_auto_in_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@248182.4]
+  wire [5:0] buffer_auto_in_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@248182.4]
+  wire [31:0] buffer_auto_in_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@248182.4]
+  wire  buffer_auto_out_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@248182.4]
+  wire  buffer_auto_out_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@248182.4]
+  wire [2:0] buffer_auto_out_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@248182.4]
+  wire [2:0] buffer_auto_out_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@248182.4]
+  wire [1:0] buffer_auto_out_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@248182.4]
+  wire [5:0] buffer_auto_out_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@248182.4]
+  wire [28:0] buffer_auto_out_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@248182.4]
+  wire [3:0] buffer_auto_out_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@248182.4]
+  wire [31:0] buffer_auto_out_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@248182.4]
+  wire  buffer_auto_out_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@248182.4]
+  wire  buffer_auto_out_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@248182.4]
+  wire  buffer_auto_out_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@248182.4]
+  wire [2:0] buffer_auto_out_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@248182.4]
+  wire [1:0] buffer_auto_out_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@248182.4]
+  wire [5:0] buffer_auto_out_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@248182.4]
+  wire [31:0] buffer_auto_out_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@248182.4]
+  wire  intsource_clock; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@248188.4]
+  wire  intsource_reset; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@248188.4]
+  wire  intsource_auto_in_0; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@248188.4]
+  wire  intsource_auto_out_sync_0; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@248188.4]
+  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@248200.4]
+  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@248200.4]
+  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@248200.4]
+  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@248200.4]
+  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@248200.4]
+  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@248200.4]
+  wire [1:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@248200.4]
+  wire [5:0] TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@248200.4]
+  wire [28:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@248200.4]
+  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@248200.4]
+  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@248200.4]
+  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@248200.4]
+  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@248200.4]
+  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@248200.4]
+  wire [1:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@248200.4]
+  wire [5:0] TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@248200.4]
+  wire  txm_clock; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@248254.4]
+  wire  txm_reset; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@248254.4]
+  wire  txm_io_en; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@248254.4]
+  wire  txm_io_in_ready; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@248254.4]
+  wire  txm_io_in_valid; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@248254.4]
+  wire [7:0] txm_io_in_bits; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@248254.4]
+  wire  txm_io_out; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@248254.4]
+  wire [15:0] txm_io_div; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@248254.4]
+  wire  txm_io_nstop; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@248254.4]
+  wire  txq_clock; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@248258.4]
+  wire  txq_reset; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@248258.4]
+  wire  txq_io_enq_ready; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@248258.4]
+  wire  txq_io_enq_valid; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@248258.4]
+  wire [7:0] txq_io_enq_bits; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@248258.4]
+  wire  txq_io_deq_ready; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@248258.4]
+  wire  txq_io_deq_valid; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@248258.4]
+  wire [7:0] txq_io_deq_bits; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@248258.4]
+  wire [3:0] txq_io_count; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@248258.4]
+  wire  rxm_clock; // @[UART.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@248262.4]
+  wire  rxm_reset; // @[UART.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@248262.4]
+  wire  rxm_io_en; // @[UART.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@248262.4]
+  wire  rxm_io_in; // @[UART.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@248262.4]
+  wire  rxm_io_out_valid; // @[UART.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@248262.4]
+  wire [7:0] rxm_io_out_bits; // @[UART.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@248262.4]
+  wire [15:0] rxm_io_div; // @[UART.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@248262.4]
+  wire  rxq_clock; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@248266.4]
+  wire  rxq_reset; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@248266.4]
+  wire  rxq_io_enq_ready; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@248266.4]
+  wire  rxq_io_enq_valid; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@248266.4]
+  wire [7:0] rxq_io_enq_bits; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@248266.4]
+  wire  rxq_io_deq_ready; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@248266.4]
+  wire  rxq_io_deq_valid; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@248266.4]
+  wire [7:0] rxq_io_deq_bits; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@248266.4]
+  wire [3:0] rxq_io_count; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@248266.4]
+  reg [15:0] div; // @[UART.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@248270.4]
+  reg [31:0] _RAND_0;
+  reg  txen; // @[UART.scala 72:17:shc.marmotcaravel.MarmotCaravelConfig.fir@248271.4]
+  reg [31:0] _RAND_1;
+  reg  rxen; // @[UART.scala 73:17:shc.marmotcaravel.MarmotCaravelConfig.fir@248272.4]
+  reg [31:0] _RAND_2;
+  reg [3:0] txwm; // @[UART.scala 74:17:shc.marmotcaravel.MarmotCaravelConfig.fir@248273.4]
+  reg [31:0] _RAND_3;
+  reg [3:0] rxwm; // @[UART.scala 75:17:shc.marmotcaravel.MarmotCaravelConfig.fir@248274.4]
+  reg [31:0] _RAND_4;
+  reg  nstop; // @[UART.scala 76:18:shc.marmotcaravel.MarmotCaravelConfig.fir@248275.4]
+  reg [31:0] _RAND_5;
+  reg  ie_rxwm; // @[UART.scala 89:15:shc.marmotcaravel.MarmotCaravelConfig.fir@248294.4]
+  reg [31:0] _RAND_6;
+  reg  ie_txwm; // @[UART.scala 89:15:shc.marmotcaravel.MarmotCaravelConfig.fir@248294.4]
+  reg [31:0] _RAND_7;
+  wire  ip_txwm; // @[UART.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@248297.4]
+  wire  ip_rxwm; // @[UART.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@248299.4]
+  wire  _T_298; // @[UART.scala 94:29:shc.marmotcaravel.MarmotCaravelConfig.fir@248301.4]
+  wire  _T_299; // @[UART.scala 94:53:shc.marmotcaravel.MarmotCaravelConfig.fir@248302.4]
+  wire  _T_303; // @[RegMapFIFO.scala 24:9:shc.marmotcaravel.MarmotCaravelConfig.fir@248307.4]
+  wire  _T_304; // @[RegMapFIFO.scala 45:21:shc.marmotcaravel.MarmotCaravelConfig.fir@248308.4]
+  wire [2:0] _T_42_a_bits_opcode; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@248198.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@248248.4]
+  wire  _T_312; // @[RegisterRouter.scala 58:36:shc.marmotcaravel.MarmotCaravelConfig.fir@248311.4]
+  wire [28:0] _T_42_a_bits_address; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@248198.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@248248.4]
+  wire [26:0] _T_313; // @[Edges.scala 192:34:shc.marmotcaravel.MarmotCaravelConfig.fir@248313.4]
+  wire [5:0] _T_42_a_bits_source; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@248198.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@248248.4]
+  wire [1:0] _T_42_a_bits_size; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@248198.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@248248.4]
+  wire [7:0] _T_314; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@248317.4]
+  wire [9:0] _T_309_bits_index; // @[RegisterRouter.scala 57:18:shc.marmotcaravel.MarmotCaravelConfig.fir@248309.4 RegisterRouter.scala 59:19:shc.marmotcaravel.MarmotCaravelConfig.fir@248314.4]
+  wire [9:0] _T_330; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248325.4]
+  wire  _T_332; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248327.4]
+  wire [3:0] _T_42_a_bits_mask; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@248198.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@248248.4]
+  wire  _T_434; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@248349.4]
+  wire  _T_435; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@248350.4]
+  wire  _T_436; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@248351.4]
+  wire  _T_437; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@248352.4]
+  wire [7:0] _T_439; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@248354.4]
+  wire [7:0] _T_441; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@248356.4]
+  wire [7:0] _T_443; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@248358.4]
+  wire [7:0] _T_445; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@248360.4]
+  wire [15:0] _T_446; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@248361.4]
+  wire [15:0] _T_447; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@248362.4]
+  wire [31:0] _T_448; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@248363.4]
+  wire [7:0] _T_464; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248379.4]
+  wire  _T_465; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248380.4]
+  wire [7:0] _T_467; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248382.4]
+  wire  _T_468; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248383.4]
+  wire  _T_42_a_valid; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@248198.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@248248.4]
+  wire  _T_42_d_ready; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@248198.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@248248.4]
+  wire  _T_900; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248843.4]
+  wire  _T_899; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248842.4]
+  wire [1:0] _T_908; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@248851.4]
+  wire  _T_898; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248841.4]
+  wire [2:0] _T_909; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@248852.4]
+  wire  _T_928; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248871.4]
+  wire  _T_929; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248872.4]
+  wire [7:0] _T_910; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@248853.4]
+  wire  _T_911; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248854.4]
+  wire  _T_996; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248958.4]
+  wire  _T_997; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248959.4]
+  wire  _T_1000; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248962.4]
+  wire  _T_1001; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248963.4]
+  wire  _T_476; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248391.4]
+  wire [31:0] _T_42_a_bits_data; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@248198.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@248248.4]
+  wire  _T_525; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248442.4]
+  wire  _T_526; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248443.4]
+  wire  _T_527; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248444.4]
+  wire  _T_531; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248448.4]
+  wire  _T_532; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248449.4]
+  wire  _T_534; // @[RegMapFIFO.scala 26:26:shc.marmotcaravel.MarmotCaravelConfig.fir@248451.4]
+  wire  _T_479; // @[RegMapFIFO.scala 18:33:shc.marmotcaravel.MarmotCaravelConfig.fir@248394.4]
+  wire [31:0] _T_544; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@248462.4]
+  wire  _T_547; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248465.4]
+  wire  _T_550; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248468.4]
+  wire  _T_551; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248469.4]
+  wire  _T_561; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248479.4]
+  wire  _T_572; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248490.4]
+  wire  _T_575; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248493.4]
+  wire  _T_576; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248494.4]
+  wire  _T_586; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248504.4]
+  wire [1:0] _T_596; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@248514.4]
+  wire  _T_912; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248855.4]
+  wire  _T_938; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248885.4]
+  wire  _T_939; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248886.4]
+  wire [7:0] _T_622; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248541.4]
+  wire [8:0] _T_648; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@248567.4]
+  wire [30:0] _T_649; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248568.4]
+  wire [31:0] _T_675; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@248594.4]
+  wire [15:0] _T_678; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248597.4]
+  wire [15:0] _T_681; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248600.4]
+  wire  _T_682; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248601.4]
+  wire  _T_917; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248860.4]
+  wire  _T_1036; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@249019.4]
+  wire  _T_1037; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@249020.4]
+  wire  _T_690; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248609.4]
+  wire [15:0] _T_692; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248611.4]
+  wire  _T_913; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248856.4]
+  wire  _T_1012; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248982.4]
+  wire  _T_1013; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248983.4]
+  wire  _T_715; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248637.4]
+  wire  _T_740; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248665.4]
+  wire [1:0] _T_752; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@248680.4]
+  wire [3:0] _T_755; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248683.4]
+  wire [3:0] _T_758; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248686.4]
+  wire  _T_759; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248687.4]
+  wire  _T_767; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248695.4]
+  wire [3:0] _T_769; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248697.4]
+  wire [15:0] _T_778; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248709.4]
+  wire [19:0] _T_779; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@248710.4]
+  wire  _T_914; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248857.4]
+  wire  _T_1018; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248992.4]
+  wire  _T_1019; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248993.4]
+  wire  _T_794; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248725.4]
+  wire  _T_819; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248753.4]
+  wire [15:0] _T_830; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248767.4]
+  wire [19:0] _T_831; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@248768.4]
+  wire  _T_915; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248858.4]
+  wire  _T_1024; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@249001.4]
+  wire  _T_1025; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@249002.4]
+  wire  _T_846; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248783.4]
+  wire  _T_871; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248811.4]
+  wire [1:0] _T_883; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@248826.4]
+  wire  _GEN_41; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@249239.4]
+  wire  _GEN_42; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@249239.4]
+  wire  _GEN_43; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@249239.4]
+  wire  _GEN_44; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@249239.4]
+  wire  _GEN_45; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@249239.4]
+  wire  _GEN_46; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@249239.4]
+  wire  _GEN_47; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@249239.4]
+  wire [31:0] _GEN_49; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@249251.4]
+  wire [31:0] _T_1225_2; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@249241.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@249245.4]
+  wire [31:0] _GEN_50; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@249251.4]
+  wire [31:0] _T_1225_3; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@249241.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@249246.4]
+  wire [31:0] _GEN_51; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@249251.4]
+  wire [31:0] _T_1225_4; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@249241.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@249247.4]
+  wire [31:0] _GEN_52; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@249251.4]
+  wire [31:0] _T_1225_5; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@249241.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@249248.4]
+  wire [31:0] _GEN_53; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@249251.4]
+  wire [31:0] _T_1225_6; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@249241.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@249249.4]
+  wire [31:0] _GEN_54; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@249251.4]
+  wire [31:0] _GEN_55; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@249251.4]
+  TLBuffer_19 buffer ( // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@248182.4]
+    .clock(buffer_clock),
+    .reset(buffer_reset),
+    .auto_in_a_ready(buffer_auto_in_a_ready),
+    .auto_in_a_valid(buffer_auto_in_a_valid),
+    .auto_in_a_bits_opcode(buffer_auto_in_a_bits_opcode),
+    .auto_in_a_bits_param(buffer_auto_in_a_bits_param),
+    .auto_in_a_bits_size(buffer_auto_in_a_bits_size),
+    .auto_in_a_bits_source(buffer_auto_in_a_bits_source),
+    .auto_in_a_bits_address(buffer_auto_in_a_bits_address),
+    .auto_in_a_bits_mask(buffer_auto_in_a_bits_mask),
+    .auto_in_a_bits_data(buffer_auto_in_a_bits_data),
+    .auto_in_a_bits_corrupt(buffer_auto_in_a_bits_corrupt),
+    .auto_in_d_ready(buffer_auto_in_d_ready),
+    .auto_in_d_valid(buffer_auto_in_d_valid),
+    .auto_in_d_bits_opcode(buffer_auto_in_d_bits_opcode),
+    .auto_in_d_bits_size(buffer_auto_in_d_bits_size),
+    .auto_in_d_bits_source(buffer_auto_in_d_bits_source),
+    .auto_in_d_bits_data(buffer_auto_in_d_bits_data),
+    .auto_out_a_ready(buffer_auto_out_a_ready),
+    .auto_out_a_valid(buffer_auto_out_a_valid),
+    .auto_out_a_bits_opcode(buffer_auto_out_a_bits_opcode),
+    .auto_out_a_bits_param(buffer_auto_out_a_bits_param),
+    .auto_out_a_bits_size(buffer_auto_out_a_bits_size),
+    .auto_out_a_bits_source(buffer_auto_out_a_bits_source),
+    .auto_out_a_bits_address(buffer_auto_out_a_bits_address),
+    .auto_out_a_bits_mask(buffer_auto_out_a_bits_mask),
+    .auto_out_a_bits_data(buffer_auto_out_a_bits_data),
+    .auto_out_a_bits_corrupt(buffer_auto_out_a_bits_corrupt),
+    .auto_out_d_ready(buffer_auto_out_d_ready),
+    .auto_out_d_valid(buffer_auto_out_d_valid),
+    .auto_out_d_bits_opcode(buffer_auto_out_d_bits_opcode),
+    .auto_out_d_bits_size(buffer_auto_out_d_bits_size),
+    .auto_out_d_bits_source(buffer_auto_out_d_bits_source),
+    .auto_out_d_bits_data(buffer_auto_out_d_bits_data)
+  );
+  IntSyncCrossingSource_3 intsource ( // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@248188.4]
+    .clock(intsource_clock),
+    .reset(intsource_reset),
+    .auto_in_0(intsource_auto_in_0),
+    .auto_out_sync_0(intsource_auto_out_sync_0)
+  );
+  TLMonitor_63 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@248200.4]
+    .clock(TLMonitor_clock),
+    .reset(TLMonitor_reset),
+    .io_in_a_ready(TLMonitor_io_in_a_ready),
+    .io_in_a_valid(TLMonitor_io_in_a_valid),
+    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
+    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
+    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
+    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
+    .io_in_d_ready(TLMonitor_io_in_d_ready),
+    .io_in_d_valid(TLMonitor_io_in_d_valid),
+    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
+    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
+    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source)
+  );
+  UARTTx txm ( // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@248254.4]
+    .clock(txm_clock),
+    .reset(txm_reset),
+    .io_en(txm_io_en),
+    .io_in_ready(txm_io_in_ready),
+    .io_in_valid(txm_io_in_valid),
+    .io_in_bits(txm_io_in_bits),
+    .io_out(txm_io_out),
+    .io_div(txm_io_div),
+    .io_nstop(txm_io_nstop)
+  );
+  Queue_14 txq ( // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@248258.4]
+    .clock(txq_clock),
+    .reset(txq_reset),
+    .io_enq_ready(txq_io_enq_ready),
+    .io_enq_valid(txq_io_enq_valid),
+    .io_enq_bits(txq_io_enq_bits),
+    .io_deq_ready(txq_io_deq_ready),
+    .io_deq_valid(txq_io_deq_valid),
+    .io_deq_bits(txq_io_deq_bits),
+    .io_count(txq_io_count)
+  );
+  UARTRx rxm ( // @[UART.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@248262.4]
+    .clock(rxm_clock),
+    .reset(rxm_reset),
+    .io_en(rxm_io_en),
+    .io_in(rxm_io_in),
+    .io_out_valid(rxm_io_out_valid),
+    .io_out_bits(rxm_io_out_bits),
+    .io_div(rxm_io_div)
+  );
+  Queue_14 rxq ( // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@248266.4]
+    .clock(rxq_clock),
+    .reset(rxq_reset),
+    .io_enq_ready(rxq_io_enq_ready),
+    .io_enq_valid(rxq_io_enq_valid),
+    .io_enq_bits(rxq_io_enq_bits),
+    .io_deq_ready(rxq_io_deq_ready),
+    .io_deq_valid(rxq_io_deq_valid),
+    .io_deq_bits(rxq_io_deq_bits),
+    .io_count(rxq_io_count)
+  );
+  assign ip_txwm = txq_io_count < txwm; // @[UART.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@248297.4]
+  assign ip_rxwm = rxq_io_count > rxwm; // @[UART.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@248299.4]
+  assign _T_298 = ip_txwm & ie_txwm; // @[UART.scala 94:29:shc.marmotcaravel.MarmotCaravelConfig.fir@248301.4]
+  assign _T_299 = ip_rxwm & ie_rxwm; // @[UART.scala 94:53:shc.marmotcaravel.MarmotCaravelConfig.fir@248302.4]
+  assign _T_303 = txq_io_enq_ready == 1'h0; // @[RegMapFIFO.scala 24:9:shc.marmotcaravel.MarmotCaravelConfig.fir@248307.4]
+  assign _T_304 = rxq_io_deq_valid == 1'h0; // @[RegMapFIFO.scala 45:21:shc.marmotcaravel.MarmotCaravelConfig.fir@248308.4]
+  assign _T_42_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@248198.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@248248.4]
+  assign _T_312 = _T_42_a_bits_opcode == 3'h4; // @[RegisterRouter.scala 58:36:shc.marmotcaravel.MarmotCaravelConfig.fir@248311.4]
+  assign _T_42_a_bits_address = buffer_auto_out_a_bits_address; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@248198.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@248248.4]
+  assign _T_313 = _T_42_a_bits_address[28:2]; // @[Edges.scala 192:34:shc.marmotcaravel.MarmotCaravelConfig.fir@248313.4]
+  assign _T_42_a_bits_source = buffer_auto_out_a_bits_source; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@248198.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@248248.4]
+  assign _T_42_a_bits_size = buffer_auto_out_a_bits_size; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@248198.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@248248.4]
+  assign _T_314 = {_T_42_a_bits_source,_T_42_a_bits_size}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@248317.4]
+  assign _T_309_bits_index = _T_313[9:0]; // @[RegisterRouter.scala 57:18:shc.marmotcaravel.MarmotCaravelConfig.fir@248309.4 RegisterRouter.scala 59:19:shc.marmotcaravel.MarmotCaravelConfig.fir@248314.4]
+  assign _T_330 = _T_309_bits_index & 10'h3f8; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248325.4]
+  assign _T_332 = _T_330 == 10'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248327.4]
+  assign _T_42_a_bits_mask = buffer_auto_out_a_bits_mask; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@248198.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@248248.4]
+  assign _T_434 = _T_42_a_bits_mask[0]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@248349.4]
+  assign _T_435 = _T_42_a_bits_mask[1]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@248350.4]
+  assign _T_436 = _T_42_a_bits_mask[2]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@248351.4]
+  assign _T_437 = _T_42_a_bits_mask[3]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@248352.4]
+  assign _T_439 = _T_434 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@248354.4]
+  assign _T_441 = _T_435 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@248356.4]
+  assign _T_443 = _T_436 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@248358.4]
+  assign _T_445 = _T_437 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@248360.4]
+  assign _T_446 = {_T_441,_T_439}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@248361.4]
+  assign _T_447 = {_T_445,_T_443}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@248362.4]
+  assign _T_448 = {_T_447,_T_446}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@248363.4]
+  assign _T_464 = _T_448[7:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248379.4]
+  assign _T_465 = _T_464 != 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248380.4]
+  assign _T_467 = ~ _T_464; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248382.4]
+  assign _T_468 = _T_467 == 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248383.4]
+  assign _T_42_a_valid = buffer_auto_out_a_valid; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@248198.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@248248.4]
+  assign _T_42_d_ready = buffer_auto_out_d_ready; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@248198.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@248248.4]
+  assign _T_900 = _T_309_bits_index[2]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248843.4]
+  assign _T_899 = _T_309_bits_index[1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248842.4]
+  assign _T_908 = {_T_900,_T_899}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@248851.4]
+  assign _T_898 = _T_309_bits_index[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248841.4]
+  assign _T_909 = {_T_908,_T_898}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@248852.4]
+  assign _T_928 = _T_42_a_valid & _T_42_d_ready; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248871.4]
+  assign _T_929 = _T_928 & _T_312; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248872.4]
+  assign _T_910 = 8'h1 << _T_909; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@248853.4]
+  assign _T_911 = _T_910[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248854.4]
+  assign _T_996 = _T_312 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248958.4]
+  assign _T_997 = _T_928 & _T_996; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248959.4]
+  assign _T_1000 = _T_997 & _T_911; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248962.4]
+  assign _T_1001 = _T_1000 & _T_332; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248963.4]
+  assign _T_476 = _T_1001 & _T_468; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248391.4]
+  assign _T_42_a_bits_data = buffer_auto_out_a_bits_data; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@248198.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@248248.4]
+  assign _T_525 = _T_448[31]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248442.4]
+  assign _T_526 = ~ _T_525; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248443.4]
+  assign _T_527 = _T_526 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248444.4]
+  assign _T_531 = _T_1001 & _T_527; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248448.4]
+  assign _T_532 = _T_42_a_bits_data[31]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248449.4]
+  assign _T_534 = _T_531 & _T_532; // @[RegMapFIFO.scala 26:26:shc.marmotcaravel.MarmotCaravelConfig.fir@248451.4]
+  assign _T_479 = _T_534 == 1'h0; // @[RegMapFIFO.scala 18:33:shc.marmotcaravel.MarmotCaravelConfig.fir@248394.4]
+  assign _T_544 = {_T_303,31'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@248462.4]
+  assign _T_547 = _T_448[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248465.4]
+  assign _T_550 = ~ _T_547; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248468.4]
+  assign _T_551 = _T_550 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248469.4]
+  assign _T_561 = _T_42_a_bits_data[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248479.4]
+  assign _T_572 = _T_448[1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248490.4]
+  assign _T_575 = ~ _T_572; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248493.4]
+  assign _T_576 = _T_575 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248494.4]
+  assign _T_586 = _T_42_a_bits_data[1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248504.4]
+  assign _T_596 = {ip_rxwm,ip_txwm}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@248514.4]
+  assign _T_912 = _T_910[1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248855.4]
+  assign _T_938 = _T_929 & _T_912; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248885.4]
+  assign _T_939 = _T_938 & _T_332; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248886.4]
+  assign _T_622 = rxq_io_deq_bits; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248541.4]
+  assign _T_648 = {1'h0,_T_622}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@248567.4]
+  assign _T_649 = {{22'd0}, _T_648}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248568.4]
+  assign _T_675 = {_T_304,_T_649}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@248594.4]
+  assign _T_678 = _T_448[15:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248597.4]
+  assign _T_681 = ~ _T_678; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248600.4]
+  assign _T_682 = _T_681 == 16'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248601.4]
+  assign _T_917 = _T_910[6]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248860.4]
+  assign _T_1036 = _T_997 & _T_917; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@249019.4]
+  assign _T_1037 = _T_1036 & _T_332; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@249020.4]
+  assign _T_690 = _T_1037 & _T_682; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248609.4]
+  assign _T_692 = _T_42_a_bits_data[15:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248611.4]
+  assign _T_913 = _T_910[2]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248856.4]
+  assign _T_1012 = _T_997 & _T_913; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248982.4]
+  assign _T_1013 = _T_1012 & _T_332; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248983.4]
+  assign _T_715 = _T_1013 & _T_551; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248637.4]
+  assign _T_740 = _T_1013 & _T_576; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248665.4]
+  assign _T_752 = {nstop,txen}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@248680.4]
+  assign _T_755 = _T_448[19:16]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248683.4]
+  assign _T_758 = ~ _T_755; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248686.4]
+  assign _T_759 = _T_758 == 4'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248687.4]
+  assign _T_767 = _T_1013 & _T_759; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248695.4]
+  assign _T_769 = _T_42_a_bits_data[19:16]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248697.4]
+  assign _T_778 = {{14'd0}, _T_752}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248709.4]
+  assign _T_779 = {txwm,_T_778}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@248710.4]
+  assign _T_914 = _T_910[3]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248857.4]
+  assign _T_1018 = _T_997 & _T_914; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248992.4]
+  assign _T_1019 = _T_1018 & _T_332; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248993.4]
+  assign _T_794 = _T_1019 & _T_551; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248725.4]
+  assign _T_819 = _T_1019 & _T_759; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248753.4]
+  assign _T_830 = {{15'd0}, rxen}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248767.4]
+  assign _T_831 = {rxwm,_T_830}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@248768.4]
+  assign _T_915 = _T_910[4]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248858.4]
+  assign _T_1024 = _T_997 & _T_915; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@249001.4]
+  assign _T_1025 = _T_1024 & _T_332; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@249002.4]
+  assign _T_846 = _T_1025 & _T_551; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248783.4]
+  assign _T_871 = _T_1025 & _T_576; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248811.4]
+  assign _T_883 = {ie_rxwm,ie_txwm}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@248826.4]
+  assign _GEN_41 = 3'h1 == _T_909 ? _T_332 : _T_332; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@249239.4]
+  assign _GEN_42 = 3'h2 == _T_909 ? _T_332 : _GEN_41; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@249239.4]
+  assign _GEN_43 = 3'h3 == _T_909 ? _T_332 : _GEN_42; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@249239.4]
+  assign _GEN_44 = 3'h4 == _T_909 ? _T_332 : _GEN_43; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@249239.4]
+  assign _GEN_45 = 3'h5 == _T_909 ? _T_332 : _GEN_44; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@249239.4]
+  assign _GEN_46 = 3'h6 == _T_909 ? _T_332 : _GEN_45; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@249239.4]
+  assign _GEN_47 = 3'h7 == _T_909 ? 1'h1 : _GEN_46; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@249239.4]
+  assign _GEN_49 = 3'h1 == _T_909 ? _T_675 : _T_544; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@249251.4]
+  assign _T_1225_2 = {{12'd0}, _T_779}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@249241.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@249245.4]
+  assign _GEN_50 = 3'h2 == _T_909 ? _T_1225_2 : _GEN_49; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@249251.4]
+  assign _T_1225_3 = {{12'd0}, _T_831}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@249241.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@249246.4]
+  assign _GEN_51 = 3'h3 == _T_909 ? _T_1225_3 : _GEN_50; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@249251.4]
+  assign _T_1225_4 = {{30'd0}, _T_883}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@249241.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@249247.4]
+  assign _GEN_52 = 3'h4 == _T_909 ? _T_1225_4 : _GEN_51; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@249251.4]
+  assign _T_1225_5 = {{30'd0}, _T_596}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@249241.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@249248.4]
+  assign _GEN_53 = 3'h5 == _T_909 ? _T_1225_5 : _GEN_52; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@249251.4]
+  assign _T_1225_6 = {{16'd0}, div}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@249241.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@249249.4]
+  assign _GEN_54 = 3'h6 == _T_909 ? _T_1225_6 : _GEN_53; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@249251.4]
+  assign _GEN_55 = 3'h7 == _T_909 ? 32'h0 : _GEN_54; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@249251.4]
+  assign auto_int_xing_out_sync_0 = intsource_auto_out_sync_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@248253.4]
+  assign auto_control_xing_in_a_ready = buffer_auto_in_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@248252.4]
+  assign auto_control_xing_in_d_valid = buffer_auto_in_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@248252.4]
+  assign auto_control_xing_in_d_bits_opcode = buffer_auto_in_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@248252.4]
+  assign auto_control_xing_in_d_bits_size = buffer_auto_in_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@248252.4]
+  assign auto_control_xing_in_d_bits_source = buffer_auto_in_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@248252.4]
+  assign auto_control_xing_in_d_bits_data = buffer_auto_in_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@248252.4]
+  assign auto_io_out_txd = txm_io_out; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@248251.4]
+  assign buffer_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@248186.4]
+  assign buffer_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@248187.4]
+  assign buffer_auto_in_a_valid = auto_control_xing_in_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@248249.4]
+  assign buffer_auto_in_a_bits_opcode = auto_control_xing_in_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@248249.4]
+  assign buffer_auto_in_a_bits_param = auto_control_xing_in_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@248249.4]
+  assign buffer_auto_in_a_bits_size = auto_control_xing_in_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@248249.4]
+  assign buffer_auto_in_a_bits_source = auto_control_xing_in_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@248249.4]
+  assign buffer_auto_in_a_bits_address = auto_control_xing_in_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@248249.4]
+  assign buffer_auto_in_a_bits_mask = auto_control_xing_in_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@248249.4]
+  assign buffer_auto_in_a_bits_data = auto_control_xing_in_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@248249.4]
+  assign buffer_auto_in_a_bits_corrupt = auto_control_xing_in_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@248249.4]
+  assign buffer_auto_in_d_ready = auto_control_xing_in_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@248249.4]
+  assign buffer_auto_out_a_ready = buffer_auto_out_d_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@248248.4]
+  assign buffer_auto_out_d_valid = buffer_auto_out_a_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@248248.4]
+  assign buffer_auto_out_d_bits_opcode = {{2'd0}, _T_312}; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@248248.4]
+  assign buffer_auto_out_d_bits_size = _T_314[1:0]; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@248248.4]
+  assign buffer_auto_out_d_bits_source = _T_314[7:2]; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@248248.4]
+  assign buffer_auto_out_d_bits_data = _GEN_47 ? _GEN_55 : 32'h0; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@248248.4]
+  assign intsource_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@248192.4]
+  assign intsource_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@248193.4]
+  assign intsource_auto_in_0 = _T_298 | _T_299; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@248247.4]
+  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@248202.4]
+  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@248203.4]
+  assign TLMonitor_io_in_a_ready = buffer_auto_out_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@248236.4]
+  assign TLMonitor_io_in_a_valid = buffer_auto_out_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@248236.4]
+  assign TLMonitor_io_in_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@248236.4]
+  assign TLMonitor_io_in_a_bits_param = buffer_auto_out_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@248236.4]
+  assign TLMonitor_io_in_a_bits_size = buffer_auto_out_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@248236.4]
+  assign TLMonitor_io_in_a_bits_source = buffer_auto_out_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@248236.4]
+  assign TLMonitor_io_in_a_bits_address = buffer_auto_out_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@248236.4]
+  assign TLMonitor_io_in_a_bits_mask = buffer_auto_out_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@248236.4]
+  assign TLMonitor_io_in_a_bits_corrupt = buffer_auto_out_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@248236.4]
+  assign TLMonitor_io_in_d_ready = buffer_auto_out_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@248236.4]
+  assign TLMonitor_io_in_d_valid = buffer_auto_out_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@248236.4]
+  assign TLMonitor_io_in_d_bits_opcode = {{2'd0}, _T_312}; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@248236.4]
+  assign TLMonitor_io_in_d_bits_size = _T_314[1:0]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@248236.4]
+  assign TLMonitor_io_in_d_bits_source = _T_314[7:2]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@248236.4]
+  assign txm_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@248256.4]
+  assign txm_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@248257.4]
+  assign txm_io_en = txen; // @[UART.scala 78:13:shc.marmotcaravel.MarmotCaravelConfig.fir@248276.4]
+  assign txm_io_in_valid = txq_io_deq_valid; // @[UART.scala 79:13:shc.marmotcaravel.MarmotCaravelConfig.fir@248277.4]
+  assign txm_io_in_bits = txq_io_deq_bits; // @[UART.scala 79:13:shc.marmotcaravel.MarmotCaravelConfig.fir@248277.4]
+  assign txm_io_div = div; // @[UART.scala 80:14:shc.marmotcaravel.MarmotCaravelConfig.fir@248278.4]
+  assign txm_io_nstop = nstop; // @[UART.scala 81:16:shc.marmotcaravel.MarmotCaravelConfig.fir@248279.4]
+  assign txq_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@248260.4]
+  assign txq_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@248261.4]
+  assign txq_io_enq_valid = _T_476 & _T_479; // @[RegMapFIFO.scala 18:21:shc.marmotcaravel.MarmotCaravelConfig.fir@248396.4]
+  assign txq_io_enq_bits = _T_42_a_bits_data[7:0]; // @[RegMapFIFO.scala 19:20:shc.marmotcaravel.MarmotCaravelConfig.fir@248397.4]
+  assign txq_io_deq_ready = txm_io_in_ready; // @[UART.scala 79:13:shc.marmotcaravel.MarmotCaravelConfig.fir@248277.4]
+  assign rxm_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@248264.4]
+  assign rxm_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@248265.4]
+  assign rxm_io_en = rxen; // @[UART.scala 84:13:shc.marmotcaravel.MarmotCaravelConfig.fir@248281.4]
+  assign rxm_io_in = auto_io_out_rxd; // @[UART.scala 85:13:shc.marmotcaravel.MarmotCaravelConfig.fir@248282.4]
+  assign rxm_io_div = div; // @[UART.scala 87:14:shc.marmotcaravel.MarmotCaravelConfig.fir@248284.4]
+  assign rxq_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@248268.4]
+  assign rxq_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@248269.4]
+  assign rxq_io_enq_valid = rxm_io_out_valid; // @[UART.scala 86:14:shc.marmotcaravel.MarmotCaravelConfig.fir@248283.4]
+  assign rxq_io_enq_bits = rxm_io_out_bits; // @[UART.scala 86:14:shc.marmotcaravel.MarmotCaravelConfig.fir@248283.4]
+  assign rxq_io_deq_ready = _T_939 & _T_465; // @[RegMapFIFO.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@248531.4]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  div = _RAND_0[15:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  txen = _RAND_1[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  rxen = _RAND_2[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  txwm = _RAND_3[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  rxwm = _RAND_4[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  nstop = _RAND_5[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {1{`RANDOM}};
+  ie_rxwm = _RAND_6[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {1{`RANDOM}};
+  ie_txwm = _RAND_7[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      div <= 16'h364;
+    end else begin
+      if (_T_690) begin
+        div <= _T_692;
+      end
+    end
+    if (reset) begin
+      txen <= 1'h0;
+    end else begin
+      if (_T_715) begin
+        txen <= _T_561;
+      end
+    end
+    if (reset) begin
+      rxen <= 1'h0;
+    end else begin
+      if (_T_794) begin
+        rxen <= _T_561;
+      end
+    end
+    if (reset) begin
+      txwm <= 4'h0;
+    end else begin
+      if (_T_767) begin
+        txwm <= _T_769;
+      end
+    end
+    if (reset) begin
+      rxwm <= 4'h0;
+    end else begin
+      if (_T_819) begin
+        rxwm <= _T_769;
+      end
+    end
+    if (reset) begin
+      nstop <= 1'h0;
+    end else begin
+      if (_T_740) begin
+        nstop <= _T_586;
+      end
+    end
+    if (reset) begin
+      ie_rxwm <= 1'h0;
+    end else begin
+      if (_T_871) begin
+        ie_rxwm <= _T_586;
+      end
+    end
+    if (reset) begin
+      ie_txwm <= 1'h0;
+    end else begin
+      if (_T_846) begin
+        ie_txwm <= _T_561;
+      end
+    end
+  end
+endmodule
+module TLMonitor_64( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@249346.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@249347.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@249348.4]
+  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@249349.4]
+  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@249349.4]
+  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@249349.4]
+  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@249349.4]
+  input  [1:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@249349.4]
+  input  [5:0]  io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@249349.4]
+  input  [28:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@249349.4]
+  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@249349.4]
+  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@249349.4]
+  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@249349.4]
+  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@249349.4]
+  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@249349.4]
+  input  [1:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@249349.4]
+  input  [5:0]  io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@249349.4]
+);
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@250476.4]
+  wire [4:0] _T_36; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@249376.6]
+  wire [1:0] _T_37; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@249377.6]
+  wire [1:0] _T_38; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@249378.6]
+  wire [28:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@249379.6]
+  wire [28:0] _T_39; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@249379.6]
+  wire  _T_40; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@249380.6]
+  wire  _T_42; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@249382.6]
+  wire [1:0] _T_43; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@249383.6]
+  wire [1:0] _T_45; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@249385.6]
+  wire  _T_46; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@249386.6]
+  wire  _T_47; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@249387.6]
+  wire  _T_48; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@249388.6]
+  wire  _T_49; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@249389.6]
+  wire  _T_51; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@249391.6]
+  wire  _T_52; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@249392.6]
+  wire  _T_54; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@249394.6]
+  wire  _T_55; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@249395.6]
+  wire  _T_56; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@249396.6]
+  wire  _T_57; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@249397.6]
+  wire  _T_58; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@249398.6]
+  wire  _T_59; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@249399.6]
+  wire  _T_60; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@249400.6]
+  wire  _T_61; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@249401.6]
+  wire  _T_62; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@249402.6]
+  wire  _T_63; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@249403.6]
+  wire  _T_64; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@249404.6]
+  wire  _T_65; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@249405.6]
+  wire  _T_66; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@249406.6]
+  wire  _T_67; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@249407.6]
+  wire  _T_68; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@249408.6]
+  wire  _T_69; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@249409.6]
+  wire  _T_70; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@249410.6]
+  wire [1:0] _T_71; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@249411.6]
+  wire [1:0] _T_72; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@249412.6]
+  wire [3:0] _T_73; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@249413.6]
+  wire  _T_92; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@249436.6]
+  wire [28:0] _T_94; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@249439.8]
+  wire [29:0] _T_95; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@249440.8]
+  wire [29:0] _T_96; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@249441.8]
+  wire [29:0] _T_97; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@249442.8]
+  wire  _T_98; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@249443.8]
+  wire  _T_103; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249448.8]
+  wire  _T_112; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249469.8]
+  wire  _T_113; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249470.8]
+  wire  _T_115; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249476.8]
+  wire  _T_116; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249477.8]
+  wire  _T_117; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@249482.8]
+  wire  _T_119; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249484.8]
+  wire  _T_120; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249485.8]
+  wire [3:0] _T_121; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@249490.8]
+  wire  _T_122; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@249491.8]
+  wire  _T_124; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249493.8]
+  wire  _T_125; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249494.8]
+  wire  _T_126; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@249499.8]
+  wire  _T_128; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249501.8]
+  wire  _T_129; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249502.8]
+  wire  _T_130; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@249508.6]
+  wire  _T_159; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@249562.8]
+  wire  _T_161; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249564.8]
+  wire  _T_162; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249565.8]
+  wire  _T_172; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@249588.6]
+  wire  _T_174; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@249591.8]
+  wire  _T_182; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@249599.8]
+  wire  _T_185; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249602.8]
+  wire  _T_186; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249603.8]
+  wire  _T_193; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@249622.8]
+  wire  _T_195; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249624.8]
+  wire  _T_196; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249625.8]
+  wire  _T_197; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@249630.8]
+  wire  _T_199; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249632.8]
+  wire  _T_200; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249633.8]
+  wire  _T_205; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@249647.6]
+  wire  _T_234; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@249698.6]
+  wire [3:0] _T_259; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@249740.8]
+  wire [3:0] _T_260; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@249741.8]
+  wire  _T_261; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@249742.8]
+  wire  _T_263; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249744.8]
+  wire  _T_264; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249745.8]
+  wire  _T_265; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@249751.6]
+  wire  _T_283; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@249782.8]
+  wire  _T_285; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249784.8]
+  wire  _T_286; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249785.8]
+  wire  _T_291; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@249799.6]
+  wire  _T_309; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@249830.8]
+  wire  _T_311; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249832.8]
+  wire  _T_312; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249833.8]
+  wire  _T_317; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@249847.6]
+  wire  _T_343; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@249897.6]
+  wire  _T_345; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@249899.6]
+  wire  _T_346; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@249900.6]
+  wire  _T_363; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@249917.6]
+  wire  _T_367; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@249926.8]
+  wire  _T_369; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249928.8]
+  wire  _T_370; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249929.8]
+  wire  _T_383; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@249959.6]
+  wire  _T_411; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@250017.6]
+  wire  _T_504; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@250207.4]
+  reg  _T_514; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@250216.4]
+  reg [31:0] _RAND_0;
+  wire [1:0] _T_515; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@250217.4]
+  wire [1:0] _T_516; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@250218.4]
+  wire  _T_517; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@250219.4]
+  wire  _T_518; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@250220.4]
+  reg [2:0] _T_527; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@250231.4]
+  reg [31:0] _RAND_1;
+  reg [2:0] _T_529; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@250232.4]
+  reg [31:0] _RAND_2;
+  reg [1:0] _T_531; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@250233.4]
+  reg [31:0] _RAND_3;
+  reg [5:0] _T_533; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@250234.4]
+  reg [31:0] _RAND_4;
+  reg [28:0] _T_535; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@250235.4]
+  reg [31:0] _RAND_5;
+  wire  _T_536; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@250236.4]
+  wire  _T_537; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@250237.4]
+  wire  _T_538; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@250239.6]
+  wire  _T_540; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250241.6]
+  wire  _T_541; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250242.6]
+  wire  _T_542; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@250247.6]
+  wire  _T_544; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250249.6]
+  wire  _T_545; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250250.6]
+  wire  _T_546; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@250255.6]
+  wire  _T_548; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250257.6]
+  wire  _T_549; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250258.6]
+  wire  _T_550; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@250263.6]
+  wire  _T_552; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250265.6]
+  wire  _T_553; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250266.6]
+  wire  _T_554; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@250271.6]
+  wire  _T_556; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250273.6]
+  wire  _T_557; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250274.6]
+  wire  _T_559; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@250281.4]
+  wire  _T_560; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@250289.4]
+  reg  _T_569; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@250297.4]
+  reg [31:0] _RAND_6;
+  wire [1:0] _T_570; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@250298.4]
+  wire [1:0] _T_571; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@250299.4]
+  wire  _T_572; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@250300.4]
+  wire  _T_573; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@250301.4]
+  reg [2:0] _T_582; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@250312.4]
+  reg [31:0] _RAND_7;
+  reg [1:0] _T_586; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@250314.4]
+  reg [31:0] _RAND_8;
+  reg [5:0] _T_588; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@250315.4]
+  reg [31:0] _RAND_9;
+  wire  _T_593; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@250318.4]
+  wire  _T_594; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@250319.4]
+  wire  _T_595; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@250321.6]
+  wire  _T_597; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250323.6]
+  wire  _T_598; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250324.6]
+  wire  _T_603; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@250337.6]
+  wire  _T_605; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250339.6]
+  wire  _T_606; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250340.6]
+  wire  _T_607; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@250345.6]
+  wire  _T_609; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250347.6]
+  wire  _T_610; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250348.6]
+  wire  _T_620; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@250371.4]
+  reg [63:0] _T_622; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@250380.4]
+  reg [63:0] _RAND_10;
+  reg  _T_633; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@250390.4]
+  reg [31:0] _RAND_11;
+  wire [1:0] _T_634; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@250391.4]
+  wire [1:0] _T_635; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@250392.4]
+  wire  _T_636; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@250393.4]
+  wire  _T_637; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@250394.4]
+  reg  _T_654; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@250413.4]
+  reg [31:0] _RAND_12;
+  wire [1:0] _T_655; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@250414.4]
+  wire [1:0] _T_656; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@250415.4]
+  wire  _T_657; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@250416.4]
+  wire  _T_658; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@250417.4]
+  wire  _T_669; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@250432.4]
+  wire [63:0] _T_671; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@250435.6]
+  wire [63:0] _T_672; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@250437.6]
+  wire  _T_673; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@250438.6]
+  wire  _T_674; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250439.6]
+  wire  _T_676; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@250441.6]
+  wire  _T_677; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@250442.6]
+  wire [63:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@250434.4]
+  wire  _T_682; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@250453.4]
+  wire  _T_684; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@250455.4]
+  wire  _T_685; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@250456.4]
+  wire [63:0] _T_686; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@250458.6]
+  wire [63:0] _T_687; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@250460.6]
+  wire [63:0] _T_688; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@250461.6]
+  wire  _T_689; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@250462.6]
+  wire  _T_691; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@250464.6]
+  wire  _T_692; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@250465.6]
+  wire [63:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@250457.4]
+  wire [63:0] _T_693; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@250471.4]
+  wire [63:0] _T_694; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@250472.4]
+  wire [63:0] _T_695; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@250473.4]
+  reg [31:0] _T_697; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@250475.4]
+  reg [31:0] _RAND_13;
+  wire  _T_698; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@250478.4]
+  wire  _T_699; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@250479.4]
+  wire  _T_700; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@250480.4]
+  wire  _T_701; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@250481.4]
+  wire  _T_702; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@250482.4]
+  wire  _T_703; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@250483.4]
+  wire  _T_705; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@250485.4]
+  wire  _T_706; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@250486.4]
+  wire [31:0] _T_708; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@250492.4]
+  wire  _T_711; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@250496.4]
+  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249450.10]
+  wire  _GEN_33; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249522.10]
+  wire  _GEN_49; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249605.10]
+  wire  _GEN_59; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249664.10]
+  wire  _GEN_67; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249715.10]
+  wire  _GEN_75; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249765.10]
+  wire  _GEN_83; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249813.10]
+  wire  _GEN_91; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249861.10]
+  wire  _GEN_99; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249931.10]
+  wire  _GEN_101; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249972.10]
+  wire  _GEN_105; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250030.10]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@250476.4]
+    .out(plusarg_reader_out)
+  );
+  assign _T_36 = 5'h3 << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@249376.6]
+  assign _T_37 = _T_36[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@249377.6]
+  assign _T_38 = ~ _T_37; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@249378.6]
+  assign _GEN_18 = {{27'd0}, _T_38}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@249379.6]
+  assign _T_39 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@249379.6]
+  assign _T_40 = _T_39 == 29'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@249380.6]
+  assign _T_42 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@249382.6]
+  assign _T_43 = 2'h1 << _T_42; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@249383.6]
+  assign _T_45 = _T_43 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@249385.6]
+  assign _T_46 = io_in_a_bits_size >= 2'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@249386.6]
+  assign _T_47 = _T_45[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@249387.6]
+  assign _T_48 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@249388.6]
+  assign _T_49 = _T_48 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@249389.6]
+  assign _T_51 = _T_47 & _T_49; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@249391.6]
+  assign _T_52 = _T_46 | _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@249392.6]
+  assign _T_54 = _T_47 & _T_48; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@249394.6]
+  assign _T_55 = _T_46 | _T_54; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@249395.6]
+  assign _T_56 = _T_45[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@249396.6]
+  assign _T_57 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@249397.6]
+  assign _T_58 = _T_57 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@249398.6]
+  assign _T_59 = _T_49 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@249399.6]
+  assign _T_60 = _T_56 & _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@249400.6]
+  assign _T_61 = _T_52 | _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@249401.6]
+  assign _T_62 = _T_49 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@249402.6]
+  assign _T_63 = _T_56 & _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@249403.6]
+  assign _T_64 = _T_52 | _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@249404.6]
+  assign _T_65 = _T_48 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@249405.6]
+  assign _T_66 = _T_56 & _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@249406.6]
+  assign _T_67 = _T_55 | _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@249407.6]
+  assign _T_68 = _T_48 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@249408.6]
+  assign _T_69 = _T_56 & _T_68; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@249409.6]
+  assign _T_70 = _T_55 | _T_69; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@249410.6]
+  assign _T_71 = {_T_64,_T_61}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@249411.6]
+  assign _T_72 = {_T_70,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@249412.6]
+  assign _T_73 = {_T_72,_T_71}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@249413.6]
+  assign _T_92 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@249436.6]
+  assign _T_94 = io_in_a_bits_address ^ 29'h10043000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@249439.8]
+  assign _T_95 = {1'b0,$signed(_T_94)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@249440.8]
+  assign _T_96 = $signed(_T_95) & $signed(-30'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@249441.8]
+  assign _T_97 = $signed(_T_96); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@249442.8]
+  assign _T_98 = $signed(_T_97) == $signed(30'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@249443.8]
+  assign _T_103 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249448.8]
+  assign _T_112 = _T_46 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249469.8]
+  assign _T_113 = _T_112 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249470.8]
+  assign _T_115 = _T_40 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249476.8]
+  assign _T_116 = _T_115 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249477.8]
+  assign _T_117 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@249482.8]
+  assign _T_119 = _T_117 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249484.8]
+  assign _T_120 = _T_119 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249485.8]
+  assign _T_121 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@249490.8]
+  assign _T_122 = _T_121 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@249491.8]
+  assign _T_124 = _T_122 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249493.8]
+  assign _T_125 = _T_124 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249494.8]
+  assign _T_126 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@249499.8]
+  assign _T_128 = _T_126 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249501.8]
+  assign _T_129 = _T_128 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249502.8]
+  assign _T_130 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@249508.6]
+  assign _T_159 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@249562.8]
+  assign _T_161 = _T_159 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249564.8]
+  assign _T_162 = _T_161 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249565.8]
+  assign _T_172 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@249588.6]
+  assign _T_174 = io_in_a_bits_size <= 2'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@249591.8]
+  assign _T_182 = _T_174 & _T_98; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@249599.8]
+  assign _T_185 = _T_182 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249602.8]
+  assign _T_186 = _T_185 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249603.8]
+  assign _T_193 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@249622.8]
+  assign _T_195 = _T_193 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249624.8]
+  assign _T_196 = _T_195 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249625.8]
+  assign _T_197 = io_in_a_bits_mask == _T_73; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@249630.8]
+  assign _T_199 = _T_197 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249632.8]
+  assign _T_200 = _T_199 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249633.8]
+  assign _T_205 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@249647.6]
+  assign _T_234 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@249698.6]
+  assign _T_259 = ~ _T_73; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@249740.8]
+  assign _T_260 = io_in_a_bits_mask & _T_259; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@249741.8]
+  assign _T_261 = _T_260 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@249742.8]
+  assign _T_263 = _T_261 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249744.8]
+  assign _T_264 = _T_263 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249745.8]
+  assign _T_265 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@249751.6]
+  assign _T_283 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@249782.8]
+  assign _T_285 = _T_283 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249784.8]
+  assign _T_286 = _T_285 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249785.8]
+  assign _T_291 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@249799.6]
+  assign _T_309 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@249830.8]
+  assign _T_311 = _T_309 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249832.8]
+  assign _T_312 = _T_311 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249833.8]
+  assign _T_317 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@249847.6]
+  assign _T_343 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@249897.6]
+  assign _T_345 = _T_343 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@249899.6]
+  assign _T_346 = _T_345 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@249900.6]
+  assign _T_363 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@249917.6]
+  assign _T_367 = io_in_d_bits_size >= 2'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@249926.8]
+  assign _T_369 = _T_367 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249928.8]
+  assign _T_370 = _T_369 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249929.8]
+  assign _T_383 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@249959.6]
+  assign _T_411 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@250017.6]
+  assign _T_504 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@250207.4]
+  assign _T_515 = _T_514 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@250217.4]
+  assign _T_516 = $unsigned(_T_515); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@250218.4]
+  assign _T_517 = _T_516[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@250219.4]
+  assign _T_518 = _T_514 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@250220.4]
+  assign _T_536 = _T_518 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@250236.4]
+  assign _T_537 = io_in_a_valid & _T_536; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@250237.4]
+  assign _T_538 = io_in_a_bits_opcode == _T_527; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@250239.6]
+  assign _T_540 = _T_538 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250241.6]
+  assign _T_541 = _T_540 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250242.6]
+  assign _T_542 = io_in_a_bits_param == _T_529; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@250247.6]
+  assign _T_544 = _T_542 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250249.6]
+  assign _T_545 = _T_544 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250250.6]
+  assign _T_546 = io_in_a_bits_size == _T_531; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@250255.6]
+  assign _T_548 = _T_546 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250257.6]
+  assign _T_549 = _T_548 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250258.6]
+  assign _T_550 = io_in_a_bits_source == _T_533; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@250263.6]
+  assign _T_552 = _T_550 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250265.6]
+  assign _T_553 = _T_552 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250266.6]
+  assign _T_554 = io_in_a_bits_address == _T_535; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@250271.6]
+  assign _T_556 = _T_554 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250273.6]
+  assign _T_557 = _T_556 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250274.6]
+  assign _T_559 = _T_504 & _T_518; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@250281.4]
+  assign _T_560 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@250289.4]
+  assign _T_570 = _T_569 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@250298.4]
+  assign _T_571 = $unsigned(_T_570); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@250299.4]
+  assign _T_572 = _T_571[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@250300.4]
+  assign _T_573 = _T_569 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@250301.4]
+  assign _T_593 = _T_573 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@250318.4]
+  assign _T_594 = io_in_d_valid & _T_593; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@250319.4]
+  assign _T_595 = io_in_d_bits_opcode == _T_582; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@250321.6]
+  assign _T_597 = _T_595 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250323.6]
+  assign _T_598 = _T_597 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250324.6]
+  assign _T_603 = io_in_d_bits_size == _T_586; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@250337.6]
+  assign _T_605 = _T_603 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250339.6]
+  assign _T_606 = _T_605 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250340.6]
+  assign _T_607 = io_in_d_bits_source == _T_588; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@250345.6]
+  assign _T_609 = _T_607 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250347.6]
+  assign _T_610 = _T_609 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250348.6]
+  assign _T_620 = _T_560 & _T_573; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@250371.4]
+  assign _T_634 = _T_633 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@250391.4]
+  assign _T_635 = $unsigned(_T_634); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@250392.4]
+  assign _T_636 = _T_635[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@250393.4]
+  assign _T_637 = _T_633 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@250394.4]
+  assign _T_655 = _T_654 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@250414.4]
+  assign _T_656 = $unsigned(_T_655); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@250415.4]
+  assign _T_657 = _T_656[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@250416.4]
+  assign _T_658 = _T_654 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@250417.4]
+  assign _T_669 = _T_504 & _T_637; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@250432.4]
+  assign _T_671 = 64'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@250435.6]
+  assign _T_672 = _T_622 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@250437.6]
+  assign _T_673 = _T_672[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@250438.6]
+  assign _T_674 = _T_673 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250439.6]
+  assign _T_676 = _T_674 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@250441.6]
+  assign _T_677 = _T_676 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@250442.6]
+  assign _GEN_15 = _T_669 ? _T_671 : 64'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@250434.4]
+  assign _T_682 = _T_560 & _T_658; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@250453.4]
+  assign _T_684 = _T_363 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@250455.4]
+  assign _T_685 = _T_682 & _T_684; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@250456.4]
+  assign _T_686 = 64'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@250458.6]
+  assign _T_687 = _GEN_15 | _T_622; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@250460.6]
+  assign _T_688 = _T_687 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@250461.6]
+  assign _T_689 = _T_688[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@250462.6]
+  assign _T_691 = _T_689 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@250464.6]
+  assign _T_692 = _T_691 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@250465.6]
+  assign _GEN_16 = _T_685 ? _T_686 : 64'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@250457.4]
+  assign _T_693 = _T_622 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@250471.4]
+  assign _T_694 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@250472.4]
+  assign _T_695 = _T_693 & _T_694; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@250473.4]
+  assign _T_698 = _T_622 != 64'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@250478.4]
+  assign _T_699 = _T_698 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@250479.4]
+  assign _T_700 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@250480.4]
+  assign _T_701 = _T_699 | _T_700; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@250481.4]
+  assign _T_702 = _T_697 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@250482.4]
+  assign _T_703 = _T_701 | _T_702; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@250483.4]
+  assign _T_705 = _T_703 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@250485.4]
+  assign _T_706 = _T_705 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@250486.4]
+  assign _T_708 = _T_697 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@250492.4]
+  assign _T_711 = _T_504 | _T_560; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@250496.4]
+  assign _GEN_19 = io_in_a_valid & _T_92; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249450.10]
+  assign _GEN_33 = io_in_a_valid & _T_130; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249522.10]
+  assign _GEN_49 = io_in_a_valid & _T_172; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249605.10]
+  assign _GEN_59 = io_in_a_valid & _T_205; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249664.10]
+  assign _GEN_67 = io_in_a_valid & _T_234; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249715.10]
+  assign _GEN_75 = io_in_a_valid & _T_265; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249765.10]
+  assign _GEN_83 = io_in_a_valid & _T_291; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249813.10]
+  assign _GEN_91 = io_in_a_valid & _T_317; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249861.10]
+  assign _GEN_99 = io_in_d_valid & _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249931.10]
+  assign _GEN_101 = io_in_d_valid & _T_383; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249972.10]
+  assign _GEN_105 = io_in_d_valid & _T_411; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250030.10]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  _T_514 = _RAND_0[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  _T_527 = _RAND_1[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  _T_529 = _RAND_2[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  _T_531 = _RAND_3[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  _T_533 = _RAND_4[5:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  _T_535 = _RAND_5[28:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {1{`RANDOM}};
+  _T_569 = _RAND_6[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {1{`RANDOM}};
+  _T_582 = _RAND_7[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_8 = {1{`RANDOM}};
+  _T_586 = _RAND_8[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_9 = {1{`RANDOM}};
+  _T_588 = _RAND_9[5:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_10 = {2{`RANDOM}};
+  _T_622 = _RAND_10[63:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_11 = {1{`RANDOM}};
+  _T_633 = _RAND_11[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_12 = {1{`RANDOM}};
+  _T_654 = _RAND_12[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_13 = {1{`RANDOM}};
+  _T_697 = _RAND_13[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      _T_514 <= 1'h0;
+    end else begin
+      if (_T_504) begin
+        if (_T_518) begin
+          _T_514 <= 1'h0;
+        end else begin
+          _T_514 <= _T_517;
+        end
+      end
+    end
+    if (_T_559) begin
+      _T_527 <= io_in_a_bits_opcode;
+    end
+    if (_T_559) begin
+      _T_529 <= io_in_a_bits_param;
+    end
+    if (_T_559) begin
+      _T_531 <= io_in_a_bits_size;
+    end
+    if (_T_559) begin
+      _T_533 <= io_in_a_bits_source;
+    end
+    if (_T_559) begin
+      _T_535 <= io_in_a_bits_address;
+    end
+    if (reset) begin
+      _T_569 <= 1'h0;
+    end else begin
+      if (_T_560) begin
+        if (_T_573) begin
+          _T_569 <= 1'h0;
+        end else begin
+          _T_569 <= _T_572;
+        end
+      end
+    end
+    if (_T_620) begin
+      _T_582 <= io_in_d_bits_opcode;
+    end
+    if (_T_620) begin
+      _T_586 <= io_in_d_bits_size;
+    end
+    if (_T_620) begin
+      _T_588 <= io_in_d_bits_source;
+    end
+    if (reset) begin
+      _T_622 <= 64'h0;
+    end else begin
+      _T_622 <= _T_695;
+    end
+    if (reset) begin
+      _T_633 <= 1'h0;
+    end else begin
+      if (_T_504) begin
+        if (_T_637) begin
+          _T_633 <= 1'h0;
+        end else begin
+          _T_633 <= _T_636;
+        end
+      end
+    end
+    if (reset) begin
+      _T_654 <= 1'h0;
+    end else begin
+      if (_T_560) begin
+        if (_T_658) begin
+          _T_654 <= 1'h0;
+        end else begin
+          _T_654 <= _T_657;
+        end
+      end
+    end
+    if (reset) begin
+      _T_697 <= 32'h0;
+    end else begin
+      if (_T_711) begin
+        _T_697 <= 32'h0;
+      end else begin
+        _T_697 <= _T_708;
+      end
+    end
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@249361.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@249362.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@249433.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@249434.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249450.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_103) begin
+          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249451.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249457.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_103) begin
+          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249458.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249464.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249465.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_113) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249472.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_113) begin
+          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249473.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249479.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_116) begin
+          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249480.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_120) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249487.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_120) begin
+          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249488.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_125) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249496.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_125) begin
+          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249497.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_129) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249504.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_129) begin
+          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249505.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249522.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_103) begin
+          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249523.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249529.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_103) begin
+          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249530.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249536.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249537.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_113) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249544.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_113) begin
+          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249545.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249551.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_116) begin
+          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249552.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_120) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249559.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_120) begin
+          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249560.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_162) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249567.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_162) begin
+          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249568.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_125) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249576.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_125) begin
+          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249577.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_129) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249584.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_129) begin
+          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249585.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_186) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249605.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_186) begin
+          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249606.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249612.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249613.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249619.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_116) begin
+          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249620.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_196) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249627.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_196) begin
+          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249628.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249635.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_200) begin
+          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249636.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_129) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249643.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_129) begin
+          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249644.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_59 & _T_186) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249664.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_59 & _T_186) begin
+          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249665.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249671.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249672.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_59 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249678.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_59 & _T_116) begin
+          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249679.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_59 & _T_196) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249686.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_59 & _T_196) begin
+          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249687.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_59 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249694.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_59 & _T_200) begin
+          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249695.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_67 & _T_186) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249715.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_67 & _T_186) begin
+          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249716.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249722.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249723.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_67 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249729.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_67 & _T_116) begin
+          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249730.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_67 & _T_196) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249737.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_67 & _T_196) begin
+          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249738.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_67 & _T_264) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249747.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_67 & _T_264) begin
+          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249748.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249765.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_103) begin
+          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249766.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249772.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249773.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249779.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_116) begin
+          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249780.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_286) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249787.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_286) begin
+          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249788.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249795.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_200) begin
+          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249796.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_83 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249813.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_83 & _T_103) begin
+          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249814.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249820.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249821.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_83 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249827.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_83 & _T_116) begin
+          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249828.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_83 & _T_312) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249835.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_83 & _T_312) begin
+          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249836.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_83 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249843.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_83 & _T_200) begin
+          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249844.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_91 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249861.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_91 & _T_103) begin
+          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249862.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249868.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249869.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_91 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249875.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_91 & _T_116) begin
+          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249876.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_91 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249883.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_91 & _T_200) begin
+          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249884.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_91 & _T_129) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249891.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_91 & _T_129) begin
+          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249892.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_346) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@249902.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_346) begin
+          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@249903.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249923.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249924.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_99 & _T_370) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249931.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_99 & _T_370) begin
+          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249932.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249939.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249940.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249947.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249948.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249955.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249956.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249965.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249966.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_101 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249972.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_101 & _T_103) begin
+          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249973.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_101 & _T_370) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249980.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_101 & _T_370) begin
+          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249981.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249988.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249989.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249996.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249997.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250004.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250005.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250013.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250014.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250023.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250024.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250030.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_103) begin
+          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250031.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_370) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250038.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_370) begin
+          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250039.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250046.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250047.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250054.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250055.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250063.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250064.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250072.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250073.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250082.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250083.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250090.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250091.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250098.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250099.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250107.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250108.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250117.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250118.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250125.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250126.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250134.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250135.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250143.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250144.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250153.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250154.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250161.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250162.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250169.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250170.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250178.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250179.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250188.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250189.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250196.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250197.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250204.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250205.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_541) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250244.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_541) begin
+          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250245.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_545) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250252.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_545) begin
+          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250253.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_549) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250260.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_549) begin
+          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250261.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_553) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250268.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_553) begin
+          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250269.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_557) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250276.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_557) begin
+          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250277.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_594 & _T_598) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250326.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_594 & _T_598) begin
+          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250327.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250334.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250335.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_594 & _T_606) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250342.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_594 & _T_606) begin
+          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250343.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_594 & _T_610) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250350.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_594 & _T_610) begin
+          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250351.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250358.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250359.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250366.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250367.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_669 & _T_677) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@250444.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_669 & _T_677) begin
+          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@250445.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_685 & _T_692) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@250467.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_685 & _T_692) begin
+          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@250468.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_706) begin
+          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@250488.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_706) begin
+          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@250489.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+endmodule
+module TLBuffer_20( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@250501.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@250502.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@250503.4]
+  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@250504.4]
+  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@250504.4]
+  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@250504.4]
+  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@250504.4]
+  input  [1:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@250504.4]
+  input  [5:0]  auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@250504.4]
+  input  [28:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@250504.4]
+  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@250504.4]
+  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@250504.4]
+  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@250504.4]
+  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@250504.4]
+  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@250504.4]
+  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@250504.4]
+  output [1:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@250504.4]
+  output [5:0]  auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@250504.4]
+  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@250504.4]
+  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@250504.4]
+  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@250504.4]
+  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@250504.4]
+  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@250504.4]
+  output [1:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@250504.4]
+  output [5:0]  auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@250504.4]
+  output [28:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@250504.4]
+  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@250504.4]
+  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@250504.4]
+  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@250504.4]
+  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@250504.4]
+  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@250504.4]
+  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@250504.4]
+  input  [1:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@250504.4]
+  input  [5:0]  auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@250504.4]
+  input  [31:0] auto_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@250504.4]
+);
+  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@250511.4]
+  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@250511.4]
+  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@250511.4]
+  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@250511.4]
+  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@250511.4]
+  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@250511.4]
+  wire [1:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@250511.4]
+  wire [5:0] TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@250511.4]
+  wire [28:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@250511.4]
+  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@250511.4]
+  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@250511.4]
+  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@250511.4]
+  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@250511.4]
+  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@250511.4]
+  wire [1:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@250511.4]
+  wire [5:0] TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@250511.4]
+  TLMonitor_64 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@250511.4]
+    .clock(TLMonitor_clock),
+    .reset(TLMonitor_reset),
+    .io_in_a_ready(TLMonitor_io_in_a_ready),
+    .io_in_a_valid(TLMonitor_io_in_a_valid),
+    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
+    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
+    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
+    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
+    .io_in_d_ready(TLMonitor_io_in_d_ready),
+    .io_in_d_valid(TLMonitor_io_in_d_valid),
+    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
+    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
+    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source)
+  );
+  assign auto_in_a_ready = auto_out_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@250551.4]
+  assign auto_in_d_valid = auto_out_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@250551.4]
+  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@250551.4]
+  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@250551.4]
+  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@250551.4]
+  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@250551.4]
+  assign auto_out_a_valid = auto_in_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@250550.4]
+  assign auto_out_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@250550.4]
+  assign auto_out_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@250550.4]
+  assign auto_out_a_bits_size = auto_in_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@250550.4]
+  assign auto_out_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@250550.4]
+  assign auto_out_a_bits_address = auto_in_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@250550.4]
+  assign auto_out_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@250550.4]
+  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@250550.4]
+  assign auto_out_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@250550.4]
+  assign auto_out_d_ready = auto_in_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@250550.4]
+  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@250513.4]
+  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@250514.4]
+  assign TLMonitor_io_in_a_ready = auto_out_a_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@250547.4]
+  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@250547.4]
+  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@250547.4]
+  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@250547.4]
+  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@250547.4]
+  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@250547.4]
+  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@250547.4]
+  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@250547.4]
+  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@250547.4]
+  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@250547.4]
+  assign TLMonitor_io_in_d_valid = auto_out_d_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@250547.4]
+  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@250547.4]
+  assign TLMonitor_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@250547.4]
+  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@250547.4]
+endmodule
+module TLMonitor_65( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@250622.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@250623.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@250624.4]
+  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@250625.4]
+  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@250625.4]
+  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@250625.4]
+  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@250625.4]
+  input  [1:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@250625.4]
+  input  [5:0]  io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@250625.4]
+  input  [28:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@250625.4]
+  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@250625.4]
+  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@250625.4]
+  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@250625.4]
+  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@250625.4]
+  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@250625.4]
+  input  [1:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@250625.4]
+  input  [5:0]  io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@250625.4]
+);
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@251752.4]
+  wire [4:0] _T_36; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@250652.6]
+  wire [1:0] _T_37; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@250653.6]
+  wire [1:0] _T_38; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@250654.6]
+  wire [28:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@250655.6]
+  wire [28:0] _T_39; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@250655.6]
+  wire  _T_40; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@250656.6]
+  wire  _T_42; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@250658.6]
+  wire [1:0] _T_43; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@250659.6]
+  wire [1:0] _T_45; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@250661.6]
+  wire  _T_46; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@250662.6]
+  wire  _T_47; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@250663.6]
+  wire  _T_48; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@250664.6]
+  wire  _T_49; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@250665.6]
+  wire  _T_51; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@250667.6]
+  wire  _T_52; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@250668.6]
+  wire  _T_54; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@250670.6]
+  wire  _T_55; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@250671.6]
+  wire  _T_56; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@250672.6]
+  wire  _T_57; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@250673.6]
+  wire  _T_58; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@250674.6]
+  wire  _T_59; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@250675.6]
+  wire  _T_60; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@250676.6]
+  wire  _T_61; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@250677.6]
+  wire  _T_62; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@250678.6]
+  wire  _T_63; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@250679.6]
+  wire  _T_64; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@250680.6]
+  wire  _T_65; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@250681.6]
+  wire  _T_66; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@250682.6]
+  wire  _T_67; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@250683.6]
+  wire  _T_68; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@250684.6]
+  wire  _T_69; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@250685.6]
+  wire  _T_70; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@250686.6]
+  wire [1:0] _T_71; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@250687.6]
+  wire [1:0] _T_72; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@250688.6]
+  wire [3:0] _T_73; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@250689.6]
+  wire  _T_92; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@250712.6]
+  wire [28:0] _T_94; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@250715.8]
+  wire [29:0] _T_95; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@250716.8]
+  wire [29:0] _T_96; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@250717.8]
+  wire [29:0] _T_97; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@250718.8]
+  wire  _T_98; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@250719.8]
+  wire  _T_103; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250724.8]
+  wire  _T_112; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250745.8]
+  wire  _T_113; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250746.8]
+  wire  _T_115; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250752.8]
+  wire  _T_116; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250753.8]
+  wire  _T_117; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@250758.8]
+  wire  _T_119; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250760.8]
+  wire  _T_120; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250761.8]
+  wire [3:0] _T_121; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@250766.8]
+  wire  _T_122; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@250767.8]
+  wire  _T_124; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250769.8]
+  wire  _T_125; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250770.8]
+  wire  _T_126; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@250775.8]
+  wire  _T_128; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250777.8]
+  wire  _T_129; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250778.8]
+  wire  _T_130; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@250784.6]
+  wire  _T_159; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@250838.8]
+  wire  _T_161; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250840.8]
+  wire  _T_162; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250841.8]
+  wire  _T_172; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@250864.6]
+  wire  _T_174; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@250867.8]
+  wire  _T_182; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@250875.8]
+  wire  _T_185; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250878.8]
+  wire  _T_186; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250879.8]
+  wire  _T_193; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@250898.8]
+  wire  _T_195; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250900.8]
+  wire  _T_196; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250901.8]
+  wire  _T_197; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@250906.8]
+  wire  _T_199; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250908.8]
+  wire  _T_200; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250909.8]
+  wire  _T_205; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@250923.6]
+  wire  _T_234; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@250974.6]
+  wire [3:0] _T_259; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@251016.8]
+  wire [3:0] _T_260; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@251017.8]
+  wire  _T_261; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@251018.8]
+  wire  _T_263; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251020.8]
+  wire  _T_264; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251021.8]
+  wire  _T_265; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@251027.6]
+  wire  _T_283; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@251058.8]
+  wire  _T_285; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251060.8]
+  wire  _T_286; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251061.8]
+  wire  _T_291; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@251075.6]
+  wire  _T_309; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@251106.8]
+  wire  _T_311; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251108.8]
+  wire  _T_312; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251109.8]
+  wire  _T_317; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@251123.6]
+  wire  _T_343; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@251173.6]
+  wire  _T_345; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@251175.6]
+  wire  _T_346; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@251176.6]
+  wire  _T_363; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@251193.6]
+  wire  _T_367; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@251202.8]
+  wire  _T_369; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251204.8]
+  wire  _T_370; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251205.8]
+  wire  _T_383; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@251235.6]
+  wire  _T_411; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@251293.6]
+  wire  _T_504; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@251483.4]
+  reg  _T_514; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@251492.4]
+  reg [31:0] _RAND_0;
+  wire [1:0] _T_515; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@251493.4]
+  wire [1:0] _T_516; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@251494.4]
+  wire  _T_517; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@251495.4]
+  wire  _T_518; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@251496.4]
+  reg [2:0] _T_527; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@251507.4]
+  reg [31:0] _RAND_1;
+  reg [2:0] _T_529; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@251508.4]
+  reg [31:0] _RAND_2;
+  reg [1:0] _T_531; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@251509.4]
+  reg [31:0] _RAND_3;
+  reg [5:0] _T_533; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@251510.4]
+  reg [31:0] _RAND_4;
+  reg [28:0] _T_535; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@251511.4]
+  reg [31:0] _RAND_5;
+  wire  _T_536; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@251512.4]
+  wire  _T_537; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@251513.4]
+  wire  _T_538; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@251515.6]
+  wire  _T_540; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251517.6]
+  wire  _T_541; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251518.6]
+  wire  _T_542; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@251523.6]
+  wire  _T_544; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251525.6]
+  wire  _T_545; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251526.6]
+  wire  _T_546; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@251531.6]
+  wire  _T_548; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251533.6]
+  wire  _T_549; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251534.6]
+  wire  _T_550; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@251539.6]
+  wire  _T_552; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251541.6]
+  wire  _T_553; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251542.6]
+  wire  _T_554; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@251547.6]
+  wire  _T_556; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251549.6]
+  wire  _T_557; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251550.6]
+  wire  _T_559; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@251557.4]
+  wire  _T_560; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@251565.4]
+  reg  _T_569; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@251573.4]
+  reg [31:0] _RAND_6;
+  wire [1:0] _T_570; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@251574.4]
+  wire [1:0] _T_571; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@251575.4]
+  wire  _T_572; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@251576.4]
+  wire  _T_573; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@251577.4]
+  reg [2:0] _T_582; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@251588.4]
+  reg [31:0] _RAND_7;
+  reg [1:0] _T_586; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@251590.4]
+  reg [31:0] _RAND_8;
+  reg [5:0] _T_588; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@251591.4]
+  reg [31:0] _RAND_9;
+  wire  _T_593; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@251594.4]
+  wire  _T_594; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@251595.4]
+  wire  _T_595; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@251597.6]
+  wire  _T_597; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251599.6]
+  wire  _T_598; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251600.6]
+  wire  _T_603; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@251613.6]
+  wire  _T_605; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251615.6]
+  wire  _T_606; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251616.6]
+  wire  _T_607; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@251621.6]
+  wire  _T_609; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251623.6]
+  wire  _T_610; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251624.6]
+  wire  _T_620; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@251647.4]
+  reg [63:0] _T_622; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@251656.4]
+  reg [63:0] _RAND_10;
+  reg  _T_633; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@251666.4]
+  reg [31:0] _RAND_11;
+  wire [1:0] _T_634; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@251667.4]
+  wire [1:0] _T_635; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@251668.4]
+  wire  _T_636; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@251669.4]
+  wire  _T_637; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@251670.4]
+  reg  _T_654; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@251689.4]
+  reg [31:0] _RAND_12;
+  wire [1:0] _T_655; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@251690.4]
+  wire [1:0] _T_656; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@251691.4]
+  wire  _T_657; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@251692.4]
+  wire  _T_658; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@251693.4]
+  wire  _T_669; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@251708.4]
+  wire [63:0] _T_671; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@251711.6]
+  wire [63:0] _T_672; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@251713.6]
+  wire  _T_673; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@251714.6]
+  wire  _T_674; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251715.6]
+  wire  _T_676; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@251717.6]
+  wire  _T_677; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@251718.6]
+  wire [63:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@251710.4]
+  wire  _T_682; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@251729.4]
+  wire  _T_684; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@251731.4]
+  wire  _T_685; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@251732.4]
+  wire [63:0] _T_686; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@251734.6]
+  wire [63:0] _T_687; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@251736.6]
+  wire [63:0] _T_688; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@251737.6]
+  wire  _T_689; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@251738.6]
+  wire  _T_691; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@251740.6]
+  wire  _T_692; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@251741.6]
+  wire [63:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@251733.4]
+  wire [63:0] _T_693; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@251747.4]
+  wire [63:0] _T_694; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@251748.4]
+  wire [63:0] _T_695; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@251749.4]
+  reg [31:0] _T_697; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@251751.4]
+  reg [31:0] _RAND_13;
+  wire  _T_698; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@251754.4]
+  wire  _T_699; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@251755.4]
+  wire  _T_700; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@251756.4]
+  wire  _T_701; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@251757.4]
+  wire  _T_702; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@251758.4]
+  wire  _T_703; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@251759.4]
+  wire  _T_705; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@251761.4]
+  wire  _T_706; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@251762.4]
+  wire [31:0] _T_708; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@251768.4]
+  wire  _T_711; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@251772.4]
+  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250726.10]
+  wire  _GEN_33; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250798.10]
+  wire  _GEN_49; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250881.10]
+  wire  _GEN_59; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250940.10]
+  wire  _GEN_67; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250991.10]
+  wire  _GEN_75; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251041.10]
+  wire  _GEN_83; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251089.10]
+  wire  _GEN_91; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251137.10]
+  wire  _GEN_99; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251207.10]
+  wire  _GEN_101; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251248.10]
+  wire  _GEN_105; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251306.10]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@251752.4]
+    .out(plusarg_reader_out)
+  );
+  assign _T_36 = 5'h3 << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@250652.6]
+  assign _T_37 = _T_36[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@250653.6]
+  assign _T_38 = ~ _T_37; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@250654.6]
+  assign _GEN_18 = {{27'd0}, _T_38}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@250655.6]
+  assign _T_39 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@250655.6]
+  assign _T_40 = _T_39 == 29'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@250656.6]
+  assign _T_42 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@250658.6]
+  assign _T_43 = 2'h1 << _T_42; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@250659.6]
+  assign _T_45 = _T_43 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@250661.6]
+  assign _T_46 = io_in_a_bits_size >= 2'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@250662.6]
+  assign _T_47 = _T_45[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@250663.6]
+  assign _T_48 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@250664.6]
+  assign _T_49 = _T_48 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@250665.6]
+  assign _T_51 = _T_47 & _T_49; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@250667.6]
+  assign _T_52 = _T_46 | _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@250668.6]
+  assign _T_54 = _T_47 & _T_48; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@250670.6]
+  assign _T_55 = _T_46 | _T_54; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@250671.6]
+  assign _T_56 = _T_45[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@250672.6]
+  assign _T_57 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@250673.6]
+  assign _T_58 = _T_57 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@250674.6]
+  assign _T_59 = _T_49 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@250675.6]
+  assign _T_60 = _T_56 & _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@250676.6]
+  assign _T_61 = _T_52 | _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@250677.6]
+  assign _T_62 = _T_49 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@250678.6]
+  assign _T_63 = _T_56 & _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@250679.6]
+  assign _T_64 = _T_52 | _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@250680.6]
+  assign _T_65 = _T_48 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@250681.6]
+  assign _T_66 = _T_56 & _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@250682.6]
+  assign _T_67 = _T_55 | _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@250683.6]
+  assign _T_68 = _T_48 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@250684.6]
+  assign _T_69 = _T_56 & _T_68; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@250685.6]
+  assign _T_70 = _T_55 | _T_69; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@250686.6]
+  assign _T_71 = {_T_64,_T_61}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@250687.6]
+  assign _T_72 = {_T_70,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@250688.6]
+  assign _T_73 = {_T_72,_T_71}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@250689.6]
+  assign _T_92 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@250712.6]
+  assign _T_94 = io_in_a_bits_address ^ 29'h10043000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@250715.8]
+  assign _T_95 = {1'b0,$signed(_T_94)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@250716.8]
+  assign _T_96 = $signed(_T_95) & $signed(-30'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@250717.8]
+  assign _T_97 = $signed(_T_96); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@250718.8]
+  assign _T_98 = $signed(_T_97) == $signed(30'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@250719.8]
+  assign _T_103 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250724.8]
+  assign _T_112 = _T_46 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250745.8]
+  assign _T_113 = _T_112 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250746.8]
+  assign _T_115 = _T_40 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250752.8]
+  assign _T_116 = _T_115 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250753.8]
+  assign _T_117 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@250758.8]
+  assign _T_119 = _T_117 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250760.8]
+  assign _T_120 = _T_119 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250761.8]
+  assign _T_121 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@250766.8]
+  assign _T_122 = _T_121 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@250767.8]
+  assign _T_124 = _T_122 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250769.8]
+  assign _T_125 = _T_124 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250770.8]
+  assign _T_126 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@250775.8]
+  assign _T_128 = _T_126 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250777.8]
+  assign _T_129 = _T_128 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250778.8]
+  assign _T_130 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@250784.6]
+  assign _T_159 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@250838.8]
+  assign _T_161 = _T_159 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250840.8]
+  assign _T_162 = _T_161 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250841.8]
+  assign _T_172 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@250864.6]
+  assign _T_174 = io_in_a_bits_size <= 2'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@250867.8]
+  assign _T_182 = _T_174 & _T_98; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@250875.8]
+  assign _T_185 = _T_182 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250878.8]
+  assign _T_186 = _T_185 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250879.8]
+  assign _T_193 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@250898.8]
+  assign _T_195 = _T_193 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250900.8]
+  assign _T_196 = _T_195 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250901.8]
+  assign _T_197 = io_in_a_bits_mask == _T_73; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@250906.8]
+  assign _T_199 = _T_197 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250908.8]
+  assign _T_200 = _T_199 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250909.8]
+  assign _T_205 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@250923.6]
+  assign _T_234 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@250974.6]
+  assign _T_259 = ~ _T_73; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@251016.8]
+  assign _T_260 = io_in_a_bits_mask & _T_259; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@251017.8]
+  assign _T_261 = _T_260 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@251018.8]
+  assign _T_263 = _T_261 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251020.8]
+  assign _T_264 = _T_263 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251021.8]
+  assign _T_265 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@251027.6]
+  assign _T_283 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@251058.8]
+  assign _T_285 = _T_283 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251060.8]
+  assign _T_286 = _T_285 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251061.8]
+  assign _T_291 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@251075.6]
+  assign _T_309 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@251106.8]
+  assign _T_311 = _T_309 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251108.8]
+  assign _T_312 = _T_311 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251109.8]
+  assign _T_317 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@251123.6]
+  assign _T_343 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@251173.6]
+  assign _T_345 = _T_343 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@251175.6]
+  assign _T_346 = _T_345 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@251176.6]
+  assign _T_363 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@251193.6]
+  assign _T_367 = io_in_d_bits_size >= 2'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@251202.8]
+  assign _T_369 = _T_367 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251204.8]
+  assign _T_370 = _T_369 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251205.8]
+  assign _T_383 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@251235.6]
+  assign _T_411 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@251293.6]
+  assign _T_504 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@251483.4]
+  assign _T_515 = _T_514 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@251493.4]
+  assign _T_516 = $unsigned(_T_515); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@251494.4]
+  assign _T_517 = _T_516[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@251495.4]
+  assign _T_518 = _T_514 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@251496.4]
+  assign _T_536 = _T_518 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@251512.4]
+  assign _T_537 = io_in_a_valid & _T_536; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@251513.4]
+  assign _T_538 = io_in_a_bits_opcode == _T_527; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@251515.6]
+  assign _T_540 = _T_538 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251517.6]
+  assign _T_541 = _T_540 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251518.6]
+  assign _T_542 = io_in_a_bits_param == _T_529; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@251523.6]
+  assign _T_544 = _T_542 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251525.6]
+  assign _T_545 = _T_544 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251526.6]
+  assign _T_546 = io_in_a_bits_size == _T_531; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@251531.6]
+  assign _T_548 = _T_546 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251533.6]
+  assign _T_549 = _T_548 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251534.6]
+  assign _T_550 = io_in_a_bits_source == _T_533; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@251539.6]
+  assign _T_552 = _T_550 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251541.6]
+  assign _T_553 = _T_552 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251542.6]
+  assign _T_554 = io_in_a_bits_address == _T_535; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@251547.6]
+  assign _T_556 = _T_554 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251549.6]
+  assign _T_557 = _T_556 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251550.6]
+  assign _T_559 = _T_504 & _T_518; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@251557.4]
+  assign _T_560 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@251565.4]
+  assign _T_570 = _T_569 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@251574.4]
+  assign _T_571 = $unsigned(_T_570); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@251575.4]
+  assign _T_572 = _T_571[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@251576.4]
+  assign _T_573 = _T_569 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@251577.4]
+  assign _T_593 = _T_573 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@251594.4]
+  assign _T_594 = io_in_d_valid & _T_593; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@251595.4]
+  assign _T_595 = io_in_d_bits_opcode == _T_582; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@251597.6]
+  assign _T_597 = _T_595 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251599.6]
+  assign _T_598 = _T_597 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251600.6]
+  assign _T_603 = io_in_d_bits_size == _T_586; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@251613.6]
+  assign _T_605 = _T_603 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251615.6]
+  assign _T_606 = _T_605 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251616.6]
+  assign _T_607 = io_in_d_bits_source == _T_588; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@251621.6]
+  assign _T_609 = _T_607 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251623.6]
+  assign _T_610 = _T_609 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251624.6]
+  assign _T_620 = _T_560 & _T_573; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@251647.4]
+  assign _T_634 = _T_633 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@251667.4]
+  assign _T_635 = $unsigned(_T_634); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@251668.4]
+  assign _T_636 = _T_635[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@251669.4]
+  assign _T_637 = _T_633 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@251670.4]
+  assign _T_655 = _T_654 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@251690.4]
+  assign _T_656 = $unsigned(_T_655); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@251691.4]
+  assign _T_657 = _T_656[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@251692.4]
+  assign _T_658 = _T_654 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@251693.4]
+  assign _T_669 = _T_504 & _T_637; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@251708.4]
+  assign _T_671 = 64'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@251711.6]
+  assign _T_672 = _T_622 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@251713.6]
+  assign _T_673 = _T_672[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@251714.6]
+  assign _T_674 = _T_673 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251715.6]
+  assign _T_676 = _T_674 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@251717.6]
+  assign _T_677 = _T_676 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@251718.6]
+  assign _GEN_15 = _T_669 ? _T_671 : 64'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@251710.4]
+  assign _T_682 = _T_560 & _T_658; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@251729.4]
+  assign _T_684 = _T_363 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@251731.4]
+  assign _T_685 = _T_682 & _T_684; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@251732.4]
+  assign _T_686 = 64'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@251734.6]
+  assign _T_687 = _GEN_15 | _T_622; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@251736.6]
+  assign _T_688 = _T_687 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@251737.6]
+  assign _T_689 = _T_688[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@251738.6]
+  assign _T_691 = _T_689 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@251740.6]
+  assign _T_692 = _T_691 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@251741.6]
+  assign _GEN_16 = _T_685 ? _T_686 : 64'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@251733.4]
+  assign _T_693 = _T_622 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@251747.4]
+  assign _T_694 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@251748.4]
+  assign _T_695 = _T_693 & _T_694; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@251749.4]
+  assign _T_698 = _T_622 != 64'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@251754.4]
+  assign _T_699 = _T_698 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@251755.4]
+  assign _T_700 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@251756.4]
+  assign _T_701 = _T_699 | _T_700; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@251757.4]
+  assign _T_702 = _T_697 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@251758.4]
+  assign _T_703 = _T_701 | _T_702; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@251759.4]
+  assign _T_705 = _T_703 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@251761.4]
+  assign _T_706 = _T_705 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@251762.4]
+  assign _T_708 = _T_697 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@251768.4]
+  assign _T_711 = _T_504 | _T_560; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@251772.4]
+  assign _GEN_19 = io_in_a_valid & _T_92; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250726.10]
+  assign _GEN_33 = io_in_a_valid & _T_130; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250798.10]
+  assign _GEN_49 = io_in_a_valid & _T_172; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250881.10]
+  assign _GEN_59 = io_in_a_valid & _T_205; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250940.10]
+  assign _GEN_67 = io_in_a_valid & _T_234; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250991.10]
+  assign _GEN_75 = io_in_a_valid & _T_265; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251041.10]
+  assign _GEN_83 = io_in_a_valid & _T_291; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251089.10]
+  assign _GEN_91 = io_in_a_valid & _T_317; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251137.10]
+  assign _GEN_99 = io_in_d_valid & _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251207.10]
+  assign _GEN_101 = io_in_d_valid & _T_383; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251248.10]
+  assign _GEN_105 = io_in_d_valid & _T_411; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251306.10]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  _T_514 = _RAND_0[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  _T_527 = _RAND_1[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  _T_529 = _RAND_2[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  _T_531 = _RAND_3[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  _T_533 = _RAND_4[5:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  _T_535 = _RAND_5[28:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {1{`RANDOM}};
+  _T_569 = _RAND_6[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {1{`RANDOM}};
+  _T_582 = _RAND_7[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_8 = {1{`RANDOM}};
+  _T_586 = _RAND_8[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_9 = {1{`RANDOM}};
+  _T_588 = _RAND_9[5:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_10 = {2{`RANDOM}};
+  _T_622 = _RAND_10[63:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_11 = {1{`RANDOM}};
+  _T_633 = _RAND_11[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_12 = {1{`RANDOM}};
+  _T_654 = _RAND_12[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_13 = {1{`RANDOM}};
+  _T_697 = _RAND_13[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      _T_514 <= 1'h0;
+    end else begin
+      if (_T_504) begin
+        if (_T_518) begin
+          _T_514 <= 1'h0;
+        end else begin
+          _T_514 <= _T_517;
+        end
+      end
+    end
+    if (_T_559) begin
+      _T_527 <= io_in_a_bits_opcode;
+    end
+    if (_T_559) begin
+      _T_529 <= io_in_a_bits_param;
+    end
+    if (_T_559) begin
+      _T_531 <= io_in_a_bits_size;
+    end
+    if (_T_559) begin
+      _T_533 <= io_in_a_bits_source;
+    end
+    if (_T_559) begin
+      _T_535 <= io_in_a_bits_address;
+    end
+    if (reset) begin
+      _T_569 <= 1'h0;
+    end else begin
+      if (_T_560) begin
+        if (_T_573) begin
+          _T_569 <= 1'h0;
+        end else begin
+          _T_569 <= _T_572;
+        end
+      end
+    end
+    if (_T_620) begin
+      _T_582 <= io_in_d_bits_opcode;
+    end
+    if (_T_620) begin
+      _T_586 <= io_in_d_bits_size;
+    end
+    if (_T_620) begin
+      _T_588 <= io_in_d_bits_source;
+    end
+    if (reset) begin
+      _T_622 <= 64'h0;
+    end else begin
+      _T_622 <= _T_695;
+    end
+    if (reset) begin
+      _T_633 <= 1'h0;
+    end else begin
+      if (_T_504) begin
+        if (_T_637) begin
+          _T_633 <= 1'h0;
+        end else begin
+          _T_633 <= _T_636;
+        end
+      end
+    end
+    if (reset) begin
+      _T_654 <= 1'h0;
+    end else begin
+      if (_T_560) begin
+        if (_T_658) begin
+          _T_654 <= 1'h0;
+        end else begin
+          _T_654 <= _T_657;
+        end
+      end
+    end
+    if (reset) begin
+      _T_697 <= 32'h0;
+    end else begin
+      if (_T_711) begin
+        _T_697 <= 32'h0;
+      end else begin
+        _T_697 <= _T_708;
+      end
+    end
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@250637.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@250638.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@250709.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@250710.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250726.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_103) begin
+          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250727.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250733.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_103) begin
+          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250734.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250740.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250741.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_113) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250748.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_113) begin
+          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250749.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250755.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_116) begin
+          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250756.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_120) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250763.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_120) begin
+          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250764.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_125) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250772.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_125) begin
+          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250773.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_129) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250780.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_129) begin
+          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250781.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250798.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_103) begin
+          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250799.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250805.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_103) begin
+          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250806.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250812.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250813.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_113) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250820.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_113) begin
+          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250821.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250827.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_116) begin
+          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250828.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_120) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250835.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_120) begin
+          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250836.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_162) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250843.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_162) begin
+          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250844.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_125) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250852.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_125) begin
+          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250853.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_129) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250860.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_129) begin
+          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250861.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_186) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250881.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_186) begin
+          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250882.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250888.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250889.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250895.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_116) begin
+          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250896.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_196) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250903.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_196) begin
+          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250904.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250911.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_200) begin
+          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250912.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_129) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250919.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_129) begin
+          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250920.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_59 & _T_186) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250940.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_59 & _T_186) begin
+          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250941.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250947.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250948.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_59 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250954.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_59 & _T_116) begin
+          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250955.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_59 & _T_196) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250962.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_59 & _T_196) begin
+          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250963.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_59 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250970.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_59 & _T_200) begin
+          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250971.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_67 & _T_186) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250991.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_67 & _T_186) begin
+          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250992.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250998.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250999.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_67 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251005.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_67 & _T_116) begin
+          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251006.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_67 & _T_196) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251013.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_67 & _T_196) begin
+          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251014.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_67 & _T_264) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251023.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_67 & _T_264) begin
+          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251024.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251041.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_103) begin
+          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251042.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251048.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251049.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251055.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_116) begin
+          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251056.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_286) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251063.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_286) begin
+          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251064.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251071.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_200) begin
+          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251072.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_83 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251089.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_83 & _T_103) begin
+          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251090.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251096.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251097.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_83 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251103.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_83 & _T_116) begin
+          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251104.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_83 & _T_312) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251111.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_83 & _T_312) begin
+          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251112.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_83 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251119.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_83 & _T_200) begin
+          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251120.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_91 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251137.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_91 & _T_103) begin
+          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251138.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251144.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251145.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_91 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251151.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_91 & _T_116) begin
+          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251152.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_91 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251159.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_91 & _T_200) begin
+          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251160.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_91 & _T_129) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251167.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_91 & _T_129) begin
+          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251168.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_346) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@251178.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_346) begin
+          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@251179.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251199.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251200.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_99 & _T_370) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251207.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_99 & _T_370) begin
+          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251208.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251215.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251216.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251223.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251224.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251231.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251232.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251241.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251242.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_101 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251248.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_101 & _T_103) begin
+          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251249.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_101 & _T_370) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251256.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_101 & _T_370) begin
+          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251257.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251264.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251265.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251272.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251273.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251280.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251281.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251289.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251290.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251299.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251300.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251306.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_103) begin
+          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251307.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_370) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251314.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_370) begin
+          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251315.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251322.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251323.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251330.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251331.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251339.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251340.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251348.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251349.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251358.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251359.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251366.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251367.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251374.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251375.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251383.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251384.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251393.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251394.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251401.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251402.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251410.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251411.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251419.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251420.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251429.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251430.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251437.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251438.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251445.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251446.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251454.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251455.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251464.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251465.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251472.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251473.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251480.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251481.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_541) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251520.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_541) begin
+          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251521.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_545) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251528.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_545) begin
+          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251529.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_549) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251536.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_549) begin
+          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251537.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_553) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251544.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_553) begin
+          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251545.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_557) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251552.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_557) begin
+          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251553.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_594 & _T_598) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251602.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_594 & _T_598) begin
+          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251603.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251610.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251611.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_594 & _T_606) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251618.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_594 & _T_606) begin
+          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251619.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_594 & _T_610) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251626.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_594 & _T_610) begin
+          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251627.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251634.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251635.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251642.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251643.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_669 & _T_677) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@251720.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_669 & _T_677) begin
+          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@251721.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_685 & _T_692) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@251743.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_685 & _T_692) begin
+          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@251744.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_706) begin
+          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@251764.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_706) begin
+          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@251765.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+endmodule
+module TLUART_3( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@252062.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@252063.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@252064.4]
+  output        auto_int_xing_out_sync_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@252065.4]
+  output        auto_control_xing_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@252065.4]
+  input         auto_control_xing_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@252065.4]
+  input  [2:0]  auto_control_xing_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@252065.4]
+  input  [2:0]  auto_control_xing_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@252065.4]
+  input  [1:0]  auto_control_xing_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@252065.4]
+  input  [5:0]  auto_control_xing_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@252065.4]
+  input  [28:0] auto_control_xing_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@252065.4]
+  input  [3:0]  auto_control_xing_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@252065.4]
+  input  [31:0] auto_control_xing_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@252065.4]
+  input         auto_control_xing_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@252065.4]
+  input         auto_control_xing_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@252065.4]
+  output        auto_control_xing_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@252065.4]
+  output [2:0]  auto_control_xing_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@252065.4]
+  output [1:0]  auto_control_xing_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@252065.4]
+  output [5:0]  auto_control_xing_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@252065.4]
+  output [31:0] auto_control_xing_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@252065.4]
+  output        auto_io_out_txd, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@252065.4]
+  input         auto_io_out_rxd // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@252065.4]
+);
+  wire  buffer_clock; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@252070.4]
+  wire  buffer_reset; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@252070.4]
+  wire  buffer_auto_in_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@252070.4]
+  wire  buffer_auto_in_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@252070.4]
+  wire [2:0] buffer_auto_in_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@252070.4]
+  wire [2:0] buffer_auto_in_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@252070.4]
+  wire [1:0] buffer_auto_in_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@252070.4]
+  wire [5:0] buffer_auto_in_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@252070.4]
+  wire [28:0] buffer_auto_in_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@252070.4]
+  wire [3:0] buffer_auto_in_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@252070.4]
+  wire [31:0] buffer_auto_in_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@252070.4]
+  wire  buffer_auto_in_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@252070.4]
+  wire  buffer_auto_in_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@252070.4]
+  wire  buffer_auto_in_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@252070.4]
+  wire [2:0] buffer_auto_in_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@252070.4]
+  wire [1:0] buffer_auto_in_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@252070.4]
+  wire [5:0] buffer_auto_in_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@252070.4]
+  wire [31:0] buffer_auto_in_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@252070.4]
+  wire  buffer_auto_out_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@252070.4]
+  wire  buffer_auto_out_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@252070.4]
+  wire [2:0] buffer_auto_out_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@252070.4]
+  wire [2:0] buffer_auto_out_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@252070.4]
+  wire [1:0] buffer_auto_out_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@252070.4]
+  wire [5:0] buffer_auto_out_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@252070.4]
+  wire [28:0] buffer_auto_out_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@252070.4]
+  wire [3:0] buffer_auto_out_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@252070.4]
+  wire [31:0] buffer_auto_out_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@252070.4]
+  wire  buffer_auto_out_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@252070.4]
+  wire  buffer_auto_out_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@252070.4]
+  wire  buffer_auto_out_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@252070.4]
+  wire [2:0] buffer_auto_out_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@252070.4]
+  wire [1:0] buffer_auto_out_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@252070.4]
+  wire [5:0] buffer_auto_out_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@252070.4]
+  wire [31:0] buffer_auto_out_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@252070.4]
+  wire  intsource_clock; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@252076.4]
+  wire  intsource_reset; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@252076.4]
+  wire  intsource_auto_in_0; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@252076.4]
+  wire  intsource_auto_out_sync_0; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@252076.4]
+  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@252088.4]
+  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@252088.4]
+  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@252088.4]
+  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@252088.4]
+  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@252088.4]
+  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@252088.4]
+  wire [1:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@252088.4]
+  wire [5:0] TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@252088.4]
+  wire [28:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@252088.4]
+  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@252088.4]
+  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@252088.4]
+  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@252088.4]
+  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@252088.4]
+  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@252088.4]
+  wire [1:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@252088.4]
+  wire [5:0] TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@252088.4]
+  wire  txm_clock; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@252142.4]
+  wire  txm_reset; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@252142.4]
+  wire  txm_io_en; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@252142.4]
+  wire  txm_io_in_ready; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@252142.4]
+  wire  txm_io_in_valid; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@252142.4]
+  wire [7:0] txm_io_in_bits; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@252142.4]
+  wire  txm_io_out; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@252142.4]
+  wire [15:0] txm_io_div; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@252142.4]
+  wire  txm_io_nstop; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@252142.4]
+  wire  txq_clock; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@252146.4]
+  wire  txq_reset; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@252146.4]
+  wire  txq_io_enq_ready; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@252146.4]
+  wire  txq_io_enq_valid; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@252146.4]
+  wire [7:0] txq_io_enq_bits; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@252146.4]
+  wire  txq_io_deq_ready; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@252146.4]
+  wire  txq_io_deq_valid; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@252146.4]
+  wire [7:0] txq_io_deq_bits; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@252146.4]
+  wire [3:0] txq_io_count; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@252146.4]
+  wire  rxm_clock; // @[UART.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@252150.4]
+  wire  rxm_reset; // @[UART.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@252150.4]
+  wire  rxm_io_en; // @[UART.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@252150.4]
+  wire  rxm_io_in; // @[UART.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@252150.4]
+  wire  rxm_io_out_valid; // @[UART.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@252150.4]
+  wire [7:0] rxm_io_out_bits; // @[UART.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@252150.4]
+  wire [15:0] rxm_io_div; // @[UART.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@252150.4]
+  wire  rxq_clock; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@252154.4]
+  wire  rxq_reset; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@252154.4]
+  wire  rxq_io_enq_ready; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@252154.4]
+  wire  rxq_io_enq_valid; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@252154.4]
+  wire [7:0] rxq_io_enq_bits; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@252154.4]
+  wire  rxq_io_deq_ready; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@252154.4]
+  wire  rxq_io_deq_valid; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@252154.4]
+  wire [7:0] rxq_io_deq_bits; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@252154.4]
+  wire [3:0] rxq_io_count; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@252154.4]
+  reg [15:0] div; // @[UART.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@252158.4]
+  reg [31:0] _RAND_0;
+  reg  txen; // @[UART.scala 72:17:shc.marmotcaravel.MarmotCaravelConfig.fir@252159.4]
+  reg [31:0] _RAND_1;
+  reg  rxen; // @[UART.scala 73:17:shc.marmotcaravel.MarmotCaravelConfig.fir@252160.4]
+  reg [31:0] _RAND_2;
+  reg [3:0] txwm; // @[UART.scala 74:17:shc.marmotcaravel.MarmotCaravelConfig.fir@252161.4]
+  reg [31:0] _RAND_3;
+  reg [3:0] rxwm; // @[UART.scala 75:17:shc.marmotcaravel.MarmotCaravelConfig.fir@252162.4]
+  reg [31:0] _RAND_4;
+  reg  nstop; // @[UART.scala 76:18:shc.marmotcaravel.MarmotCaravelConfig.fir@252163.4]
+  reg [31:0] _RAND_5;
+  reg  ie_rxwm; // @[UART.scala 89:15:shc.marmotcaravel.MarmotCaravelConfig.fir@252182.4]
+  reg [31:0] _RAND_6;
+  reg  ie_txwm; // @[UART.scala 89:15:shc.marmotcaravel.MarmotCaravelConfig.fir@252182.4]
+  reg [31:0] _RAND_7;
+  wire  ip_txwm; // @[UART.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@252185.4]
+  wire  ip_rxwm; // @[UART.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@252187.4]
+  wire  _T_298; // @[UART.scala 94:29:shc.marmotcaravel.MarmotCaravelConfig.fir@252189.4]
+  wire  _T_299; // @[UART.scala 94:53:shc.marmotcaravel.MarmotCaravelConfig.fir@252190.4]
+  wire  _T_303; // @[RegMapFIFO.scala 24:9:shc.marmotcaravel.MarmotCaravelConfig.fir@252195.4]
+  wire  _T_304; // @[RegMapFIFO.scala 45:21:shc.marmotcaravel.MarmotCaravelConfig.fir@252196.4]
+  wire [2:0] _T_42_a_bits_opcode; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@252086.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@252136.4]
+  wire  _T_312; // @[RegisterRouter.scala 58:36:shc.marmotcaravel.MarmotCaravelConfig.fir@252199.4]
+  wire [28:0] _T_42_a_bits_address; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@252086.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@252136.4]
+  wire [26:0] _T_313; // @[Edges.scala 192:34:shc.marmotcaravel.MarmotCaravelConfig.fir@252201.4]
+  wire [5:0] _T_42_a_bits_source; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@252086.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@252136.4]
+  wire [1:0] _T_42_a_bits_size; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@252086.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@252136.4]
+  wire [7:0] _T_314; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@252205.4]
+  wire [9:0] _T_309_bits_index; // @[RegisterRouter.scala 57:18:shc.marmotcaravel.MarmotCaravelConfig.fir@252197.4 RegisterRouter.scala 59:19:shc.marmotcaravel.MarmotCaravelConfig.fir@252202.4]
+  wire [9:0] _T_330; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252213.4]
+  wire  _T_332; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252215.4]
+  wire [3:0] _T_42_a_bits_mask; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@252086.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@252136.4]
+  wire  _T_434; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@252237.4]
+  wire  _T_435; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@252238.4]
+  wire  _T_436; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@252239.4]
+  wire  _T_437; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@252240.4]
+  wire [7:0] _T_439; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@252242.4]
+  wire [7:0] _T_441; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@252244.4]
+  wire [7:0] _T_443; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@252246.4]
+  wire [7:0] _T_445; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@252248.4]
+  wire [15:0] _T_446; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@252249.4]
+  wire [15:0] _T_447; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@252250.4]
+  wire [31:0] _T_448; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@252251.4]
+  wire [7:0] _T_464; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252267.4]
+  wire  _T_465; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252268.4]
+  wire [7:0] _T_467; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252270.4]
+  wire  _T_468; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252271.4]
+  wire  _T_42_a_valid; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@252086.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@252136.4]
+  wire  _T_42_d_ready; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@252086.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@252136.4]
+  wire  _T_900; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252731.4]
+  wire  _T_899; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252730.4]
+  wire [1:0] _T_908; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@252739.4]
+  wire  _T_898; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252729.4]
+  wire [2:0] _T_909; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@252740.4]
+  wire  _T_928; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252759.4]
+  wire  _T_929; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252760.4]
+  wire [7:0] _T_910; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@252741.4]
+  wire  _T_911; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252742.4]
+  wire  _T_996; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252846.4]
+  wire  _T_997; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252847.4]
+  wire  _T_1000; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252850.4]
+  wire  _T_1001; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252851.4]
+  wire  _T_476; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252279.4]
+  wire [31:0] _T_42_a_bits_data; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@252086.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@252136.4]
+  wire  _T_525; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252330.4]
+  wire  _T_526; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252331.4]
+  wire  _T_527; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252332.4]
+  wire  _T_531; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252336.4]
+  wire  _T_532; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252337.4]
+  wire  _T_534; // @[RegMapFIFO.scala 26:26:shc.marmotcaravel.MarmotCaravelConfig.fir@252339.4]
+  wire  _T_479; // @[RegMapFIFO.scala 18:33:shc.marmotcaravel.MarmotCaravelConfig.fir@252282.4]
+  wire [31:0] _T_544; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@252350.4]
+  wire  _T_547; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252353.4]
+  wire  _T_550; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252356.4]
+  wire  _T_551; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252357.4]
+  wire  _T_561; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252367.4]
+  wire  _T_572; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252378.4]
+  wire  _T_575; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252381.4]
+  wire  _T_576; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252382.4]
+  wire  _T_586; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252392.4]
+  wire [1:0] _T_596; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@252402.4]
+  wire  _T_912; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252743.4]
+  wire  _T_938; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252773.4]
+  wire  _T_939; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252774.4]
+  wire [7:0] _T_622; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252429.4]
+  wire [8:0] _T_648; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@252455.4]
+  wire [30:0] _T_649; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252456.4]
+  wire [31:0] _T_675; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@252482.4]
+  wire [15:0] _T_678; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252485.4]
+  wire [15:0] _T_681; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252488.4]
+  wire  _T_682; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252489.4]
+  wire  _T_917; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252748.4]
+  wire  _T_1036; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252907.4]
+  wire  _T_1037; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252908.4]
+  wire  _T_690; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252497.4]
+  wire [15:0] _T_692; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252499.4]
+  wire  _T_913; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252744.4]
+  wire  _T_1012; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252870.4]
+  wire  _T_1013; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252871.4]
+  wire  _T_715; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252525.4]
+  wire  _T_740; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252553.4]
+  wire [1:0] _T_752; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@252568.4]
+  wire [3:0] _T_755; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252571.4]
+  wire [3:0] _T_758; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252574.4]
+  wire  _T_759; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252575.4]
+  wire  _T_767; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252583.4]
+  wire [3:0] _T_769; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252585.4]
+  wire [15:0] _T_778; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252597.4]
+  wire [19:0] _T_779; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@252598.4]
+  wire  _T_914; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252745.4]
+  wire  _T_1018; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252880.4]
+  wire  _T_1019; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252881.4]
+  wire  _T_794; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252613.4]
+  wire  _T_819; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252641.4]
+  wire [15:0] _T_830; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252655.4]
+  wire [19:0] _T_831; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@252656.4]
+  wire  _T_915; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252746.4]
+  wire  _T_1024; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252889.4]
+  wire  _T_1025; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252890.4]
+  wire  _T_846; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252671.4]
+  wire  _T_871; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252699.4]
+  wire [1:0] _T_883; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@252714.4]
+  wire  _GEN_41; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@253127.4]
+  wire  _GEN_42; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@253127.4]
+  wire  _GEN_43; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@253127.4]
+  wire  _GEN_44; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@253127.4]
+  wire  _GEN_45; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@253127.4]
+  wire  _GEN_46; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@253127.4]
+  wire  _GEN_47; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@253127.4]
+  wire [31:0] _GEN_49; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@253139.4]
+  wire [31:0] _T_1225_2; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@253129.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@253133.4]
+  wire [31:0] _GEN_50; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@253139.4]
+  wire [31:0] _T_1225_3; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@253129.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@253134.4]
+  wire [31:0] _GEN_51; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@253139.4]
+  wire [31:0] _T_1225_4; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@253129.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@253135.4]
+  wire [31:0] _GEN_52; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@253139.4]
+  wire [31:0] _T_1225_5; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@253129.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@253136.4]
+  wire [31:0] _GEN_53; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@253139.4]
+  wire [31:0] _T_1225_6; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@253129.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@253137.4]
+  wire [31:0] _GEN_54; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@253139.4]
+  wire [31:0] _GEN_55; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@253139.4]
+  TLBuffer_20 buffer ( // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@252070.4]
+    .clock(buffer_clock),
+    .reset(buffer_reset),
+    .auto_in_a_ready(buffer_auto_in_a_ready),
+    .auto_in_a_valid(buffer_auto_in_a_valid),
+    .auto_in_a_bits_opcode(buffer_auto_in_a_bits_opcode),
+    .auto_in_a_bits_param(buffer_auto_in_a_bits_param),
+    .auto_in_a_bits_size(buffer_auto_in_a_bits_size),
+    .auto_in_a_bits_source(buffer_auto_in_a_bits_source),
+    .auto_in_a_bits_address(buffer_auto_in_a_bits_address),
+    .auto_in_a_bits_mask(buffer_auto_in_a_bits_mask),
+    .auto_in_a_bits_data(buffer_auto_in_a_bits_data),
+    .auto_in_a_bits_corrupt(buffer_auto_in_a_bits_corrupt),
+    .auto_in_d_ready(buffer_auto_in_d_ready),
+    .auto_in_d_valid(buffer_auto_in_d_valid),
+    .auto_in_d_bits_opcode(buffer_auto_in_d_bits_opcode),
+    .auto_in_d_bits_size(buffer_auto_in_d_bits_size),
+    .auto_in_d_bits_source(buffer_auto_in_d_bits_source),
+    .auto_in_d_bits_data(buffer_auto_in_d_bits_data),
+    .auto_out_a_ready(buffer_auto_out_a_ready),
+    .auto_out_a_valid(buffer_auto_out_a_valid),
+    .auto_out_a_bits_opcode(buffer_auto_out_a_bits_opcode),
+    .auto_out_a_bits_param(buffer_auto_out_a_bits_param),
+    .auto_out_a_bits_size(buffer_auto_out_a_bits_size),
+    .auto_out_a_bits_source(buffer_auto_out_a_bits_source),
+    .auto_out_a_bits_address(buffer_auto_out_a_bits_address),
+    .auto_out_a_bits_mask(buffer_auto_out_a_bits_mask),
+    .auto_out_a_bits_data(buffer_auto_out_a_bits_data),
+    .auto_out_a_bits_corrupt(buffer_auto_out_a_bits_corrupt),
+    .auto_out_d_ready(buffer_auto_out_d_ready),
+    .auto_out_d_valid(buffer_auto_out_d_valid),
+    .auto_out_d_bits_opcode(buffer_auto_out_d_bits_opcode),
+    .auto_out_d_bits_size(buffer_auto_out_d_bits_size),
+    .auto_out_d_bits_source(buffer_auto_out_d_bits_source),
+    .auto_out_d_bits_data(buffer_auto_out_d_bits_data)
+  );
+  IntSyncCrossingSource_3 intsource ( // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@252076.4]
+    .clock(intsource_clock),
+    .reset(intsource_reset),
+    .auto_in_0(intsource_auto_in_0),
+    .auto_out_sync_0(intsource_auto_out_sync_0)
+  );
+  TLMonitor_65 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@252088.4]
+    .clock(TLMonitor_clock),
+    .reset(TLMonitor_reset),
+    .io_in_a_ready(TLMonitor_io_in_a_ready),
+    .io_in_a_valid(TLMonitor_io_in_a_valid),
+    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
+    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
+    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
+    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
+    .io_in_d_ready(TLMonitor_io_in_d_ready),
+    .io_in_d_valid(TLMonitor_io_in_d_valid),
+    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
+    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
+    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source)
+  );
+  UARTTx txm ( // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@252142.4]
+    .clock(txm_clock),
+    .reset(txm_reset),
+    .io_en(txm_io_en),
+    .io_in_ready(txm_io_in_ready),
+    .io_in_valid(txm_io_in_valid),
+    .io_in_bits(txm_io_in_bits),
+    .io_out(txm_io_out),
+    .io_div(txm_io_div),
+    .io_nstop(txm_io_nstop)
+  );
+  Queue_14 txq ( // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@252146.4]
+    .clock(txq_clock),
+    .reset(txq_reset),
+    .io_enq_ready(txq_io_enq_ready),
+    .io_enq_valid(txq_io_enq_valid),
+    .io_enq_bits(txq_io_enq_bits),
+    .io_deq_ready(txq_io_deq_ready),
+    .io_deq_valid(txq_io_deq_valid),
+    .io_deq_bits(txq_io_deq_bits),
+    .io_count(txq_io_count)
+  );
+  UARTRx rxm ( // @[UART.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@252150.4]
+    .clock(rxm_clock),
+    .reset(rxm_reset),
+    .io_en(rxm_io_en),
+    .io_in(rxm_io_in),
+    .io_out_valid(rxm_io_out_valid),
+    .io_out_bits(rxm_io_out_bits),
+    .io_div(rxm_io_div)
+  );
+  Queue_14 rxq ( // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@252154.4]
+    .clock(rxq_clock),
+    .reset(rxq_reset),
+    .io_enq_ready(rxq_io_enq_ready),
+    .io_enq_valid(rxq_io_enq_valid),
+    .io_enq_bits(rxq_io_enq_bits),
+    .io_deq_ready(rxq_io_deq_ready),
+    .io_deq_valid(rxq_io_deq_valid),
+    .io_deq_bits(rxq_io_deq_bits),
+    .io_count(rxq_io_count)
+  );
+  assign ip_txwm = txq_io_count < txwm; // @[UART.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@252185.4]
+  assign ip_rxwm = rxq_io_count > rxwm; // @[UART.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@252187.4]
+  assign _T_298 = ip_txwm & ie_txwm; // @[UART.scala 94:29:shc.marmotcaravel.MarmotCaravelConfig.fir@252189.4]
+  assign _T_299 = ip_rxwm & ie_rxwm; // @[UART.scala 94:53:shc.marmotcaravel.MarmotCaravelConfig.fir@252190.4]
+  assign _T_303 = txq_io_enq_ready == 1'h0; // @[RegMapFIFO.scala 24:9:shc.marmotcaravel.MarmotCaravelConfig.fir@252195.4]
+  assign _T_304 = rxq_io_deq_valid == 1'h0; // @[RegMapFIFO.scala 45:21:shc.marmotcaravel.MarmotCaravelConfig.fir@252196.4]
+  assign _T_42_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@252086.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@252136.4]
+  assign _T_312 = _T_42_a_bits_opcode == 3'h4; // @[RegisterRouter.scala 58:36:shc.marmotcaravel.MarmotCaravelConfig.fir@252199.4]
+  assign _T_42_a_bits_address = buffer_auto_out_a_bits_address; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@252086.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@252136.4]
+  assign _T_313 = _T_42_a_bits_address[28:2]; // @[Edges.scala 192:34:shc.marmotcaravel.MarmotCaravelConfig.fir@252201.4]
+  assign _T_42_a_bits_source = buffer_auto_out_a_bits_source; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@252086.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@252136.4]
+  assign _T_42_a_bits_size = buffer_auto_out_a_bits_size; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@252086.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@252136.4]
+  assign _T_314 = {_T_42_a_bits_source,_T_42_a_bits_size}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@252205.4]
+  assign _T_309_bits_index = _T_313[9:0]; // @[RegisterRouter.scala 57:18:shc.marmotcaravel.MarmotCaravelConfig.fir@252197.4 RegisterRouter.scala 59:19:shc.marmotcaravel.MarmotCaravelConfig.fir@252202.4]
+  assign _T_330 = _T_309_bits_index & 10'h3f8; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252213.4]
+  assign _T_332 = _T_330 == 10'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252215.4]
+  assign _T_42_a_bits_mask = buffer_auto_out_a_bits_mask; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@252086.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@252136.4]
+  assign _T_434 = _T_42_a_bits_mask[0]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@252237.4]
+  assign _T_435 = _T_42_a_bits_mask[1]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@252238.4]
+  assign _T_436 = _T_42_a_bits_mask[2]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@252239.4]
+  assign _T_437 = _T_42_a_bits_mask[3]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@252240.4]
+  assign _T_439 = _T_434 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@252242.4]
+  assign _T_441 = _T_435 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@252244.4]
+  assign _T_443 = _T_436 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@252246.4]
+  assign _T_445 = _T_437 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@252248.4]
+  assign _T_446 = {_T_441,_T_439}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@252249.4]
+  assign _T_447 = {_T_445,_T_443}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@252250.4]
+  assign _T_448 = {_T_447,_T_446}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@252251.4]
+  assign _T_464 = _T_448[7:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252267.4]
+  assign _T_465 = _T_464 != 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252268.4]
+  assign _T_467 = ~ _T_464; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252270.4]
+  assign _T_468 = _T_467 == 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252271.4]
+  assign _T_42_a_valid = buffer_auto_out_a_valid; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@252086.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@252136.4]
+  assign _T_42_d_ready = buffer_auto_out_d_ready; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@252086.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@252136.4]
+  assign _T_900 = _T_309_bits_index[2]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252731.4]
+  assign _T_899 = _T_309_bits_index[1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252730.4]
+  assign _T_908 = {_T_900,_T_899}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@252739.4]
+  assign _T_898 = _T_309_bits_index[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252729.4]
+  assign _T_909 = {_T_908,_T_898}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@252740.4]
+  assign _T_928 = _T_42_a_valid & _T_42_d_ready; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252759.4]
+  assign _T_929 = _T_928 & _T_312; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252760.4]
+  assign _T_910 = 8'h1 << _T_909; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@252741.4]
+  assign _T_911 = _T_910[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252742.4]
+  assign _T_996 = _T_312 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252846.4]
+  assign _T_997 = _T_928 & _T_996; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252847.4]
+  assign _T_1000 = _T_997 & _T_911; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252850.4]
+  assign _T_1001 = _T_1000 & _T_332; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252851.4]
+  assign _T_476 = _T_1001 & _T_468; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252279.4]
+  assign _T_42_a_bits_data = buffer_auto_out_a_bits_data; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@252086.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@252136.4]
+  assign _T_525 = _T_448[31]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252330.4]
+  assign _T_526 = ~ _T_525; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252331.4]
+  assign _T_527 = _T_526 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252332.4]
+  assign _T_531 = _T_1001 & _T_527; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252336.4]
+  assign _T_532 = _T_42_a_bits_data[31]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252337.4]
+  assign _T_534 = _T_531 & _T_532; // @[RegMapFIFO.scala 26:26:shc.marmotcaravel.MarmotCaravelConfig.fir@252339.4]
+  assign _T_479 = _T_534 == 1'h0; // @[RegMapFIFO.scala 18:33:shc.marmotcaravel.MarmotCaravelConfig.fir@252282.4]
+  assign _T_544 = {_T_303,31'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@252350.4]
+  assign _T_547 = _T_448[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252353.4]
+  assign _T_550 = ~ _T_547; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252356.4]
+  assign _T_551 = _T_550 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252357.4]
+  assign _T_561 = _T_42_a_bits_data[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252367.4]
+  assign _T_572 = _T_448[1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252378.4]
+  assign _T_575 = ~ _T_572; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252381.4]
+  assign _T_576 = _T_575 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252382.4]
+  assign _T_586 = _T_42_a_bits_data[1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252392.4]
+  assign _T_596 = {ip_rxwm,ip_txwm}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@252402.4]
+  assign _T_912 = _T_910[1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252743.4]
+  assign _T_938 = _T_929 & _T_912; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252773.4]
+  assign _T_939 = _T_938 & _T_332; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252774.4]
+  assign _T_622 = rxq_io_deq_bits; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252429.4]
+  assign _T_648 = {1'h0,_T_622}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@252455.4]
+  assign _T_649 = {{22'd0}, _T_648}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252456.4]
+  assign _T_675 = {_T_304,_T_649}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@252482.4]
+  assign _T_678 = _T_448[15:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252485.4]
+  assign _T_681 = ~ _T_678; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252488.4]
+  assign _T_682 = _T_681 == 16'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252489.4]
+  assign _T_917 = _T_910[6]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252748.4]
+  assign _T_1036 = _T_997 & _T_917; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252907.4]
+  assign _T_1037 = _T_1036 & _T_332; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252908.4]
+  assign _T_690 = _T_1037 & _T_682; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252497.4]
+  assign _T_692 = _T_42_a_bits_data[15:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252499.4]
+  assign _T_913 = _T_910[2]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252744.4]
+  assign _T_1012 = _T_997 & _T_913; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252870.4]
+  assign _T_1013 = _T_1012 & _T_332; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252871.4]
+  assign _T_715 = _T_1013 & _T_551; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252525.4]
+  assign _T_740 = _T_1013 & _T_576; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252553.4]
+  assign _T_752 = {nstop,txen}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@252568.4]
+  assign _T_755 = _T_448[19:16]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252571.4]
+  assign _T_758 = ~ _T_755; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252574.4]
+  assign _T_759 = _T_758 == 4'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252575.4]
+  assign _T_767 = _T_1013 & _T_759; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252583.4]
+  assign _T_769 = _T_42_a_bits_data[19:16]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252585.4]
+  assign _T_778 = {{14'd0}, _T_752}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252597.4]
+  assign _T_779 = {txwm,_T_778}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@252598.4]
+  assign _T_914 = _T_910[3]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252745.4]
+  assign _T_1018 = _T_997 & _T_914; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252880.4]
+  assign _T_1019 = _T_1018 & _T_332; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252881.4]
+  assign _T_794 = _T_1019 & _T_551; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252613.4]
+  assign _T_819 = _T_1019 & _T_759; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252641.4]
+  assign _T_830 = {{15'd0}, rxen}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252655.4]
+  assign _T_831 = {rxwm,_T_830}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@252656.4]
+  assign _T_915 = _T_910[4]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252746.4]
+  assign _T_1024 = _T_997 & _T_915; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252889.4]
+  assign _T_1025 = _T_1024 & _T_332; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252890.4]
+  assign _T_846 = _T_1025 & _T_551; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252671.4]
+  assign _T_871 = _T_1025 & _T_576; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252699.4]
+  assign _T_883 = {ie_rxwm,ie_txwm}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@252714.4]
+  assign _GEN_41 = 3'h1 == _T_909 ? _T_332 : _T_332; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@253127.4]
+  assign _GEN_42 = 3'h2 == _T_909 ? _T_332 : _GEN_41; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@253127.4]
+  assign _GEN_43 = 3'h3 == _T_909 ? _T_332 : _GEN_42; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@253127.4]
+  assign _GEN_44 = 3'h4 == _T_909 ? _T_332 : _GEN_43; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@253127.4]
+  assign _GEN_45 = 3'h5 == _T_909 ? _T_332 : _GEN_44; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@253127.4]
+  assign _GEN_46 = 3'h6 == _T_909 ? _T_332 : _GEN_45; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@253127.4]
+  assign _GEN_47 = 3'h7 == _T_909 ? 1'h1 : _GEN_46; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@253127.4]
+  assign _GEN_49 = 3'h1 == _T_909 ? _T_675 : _T_544; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@253139.4]
+  assign _T_1225_2 = {{12'd0}, _T_779}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@253129.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@253133.4]
+  assign _GEN_50 = 3'h2 == _T_909 ? _T_1225_2 : _GEN_49; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@253139.4]
+  assign _T_1225_3 = {{12'd0}, _T_831}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@253129.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@253134.4]
+  assign _GEN_51 = 3'h3 == _T_909 ? _T_1225_3 : _GEN_50; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@253139.4]
+  assign _T_1225_4 = {{30'd0}, _T_883}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@253129.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@253135.4]
+  assign _GEN_52 = 3'h4 == _T_909 ? _T_1225_4 : _GEN_51; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@253139.4]
+  assign _T_1225_5 = {{30'd0}, _T_596}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@253129.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@253136.4]
+  assign _GEN_53 = 3'h5 == _T_909 ? _T_1225_5 : _GEN_52; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@253139.4]
+  assign _T_1225_6 = {{16'd0}, div}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@253129.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@253137.4]
+  assign _GEN_54 = 3'h6 == _T_909 ? _T_1225_6 : _GEN_53; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@253139.4]
+  assign _GEN_55 = 3'h7 == _T_909 ? 32'h0 : _GEN_54; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@253139.4]
+  assign auto_int_xing_out_sync_0 = intsource_auto_out_sync_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@252141.4]
+  assign auto_control_xing_in_a_ready = buffer_auto_in_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@252140.4]
+  assign auto_control_xing_in_d_valid = buffer_auto_in_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@252140.4]
+  assign auto_control_xing_in_d_bits_opcode = buffer_auto_in_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@252140.4]
+  assign auto_control_xing_in_d_bits_size = buffer_auto_in_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@252140.4]
+  assign auto_control_xing_in_d_bits_source = buffer_auto_in_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@252140.4]
+  assign auto_control_xing_in_d_bits_data = buffer_auto_in_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@252140.4]
+  assign auto_io_out_txd = txm_io_out; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@252139.4]
+  assign buffer_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@252074.4]
+  assign buffer_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@252075.4]
+  assign buffer_auto_in_a_valid = auto_control_xing_in_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@252137.4]
+  assign buffer_auto_in_a_bits_opcode = auto_control_xing_in_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@252137.4]
+  assign buffer_auto_in_a_bits_param = auto_control_xing_in_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@252137.4]
+  assign buffer_auto_in_a_bits_size = auto_control_xing_in_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@252137.4]
+  assign buffer_auto_in_a_bits_source = auto_control_xing_in_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@252137.4]
+  assign buffer_auto_in_a_bits_address = auto_control_xing_in_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@252137.4]
+  assign buffer_auto_in_a_bits_mask = auto_control_xing_in_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@252137.4]
+  assign buffer_auto_in_a_bits_data = auto_control_xing_in_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@252137.4]
+  assign buffer_auto_in_a_bits_corrupt = auto_control_xing_in_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@252137.4]
+  assign buffer_auto_in_d_ready = auto_control_xing_in_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@252137.4]
+  assign buffer_auto_out_a_ready = buffer_auto_out_d_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@252136.4]
+  assign buffer_auto_out_d_valid = buffer_auto_out_a_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@252136.4]
+  assign buffer_auto_out_d_bits_opcode = {{2'd0}, _T_312}; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@252136.4]
+  assign buffer_auto_out_d_bits_size = _T_314[1:0]; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@252136.4]
+  assign buffer_auto_out_d_bits_source = _T_314[7:2]; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@252136.4]
+  assign buffer_auto_out_d_bits_data = _GEN_47 ? _GEN_55 : 32'h0; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@252136.4]
+  assign intsource_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@252080.4]
+  assign intsource_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@252081.4]
+  assign intsource_auto_in_0 = _T_298 | _T_299; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@252135.4]
+  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@252090.4]
+  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@252091.4]
+  assign TLMonitor_io_in_a_ready = buffer_auto_out_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@252124.4]
+  assign TLMonitor_io_in_a_valid = buffer_auto_out_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@252124.4]
+  assign TLMonitor_io_in_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@252124.4]
+  assign TLMonitor_io_in_a_bits_param = buffer_auto_out_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@252124.4]
+  assign TLMonitor_io_in_a_bits_size = buffer_auto_out_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@252124.4]
+  assign TLMonitor_io_in_a_bits_source = buffer_auto_out_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@252124.4]
+  assign TLMonitor_io_in_a_bits_address = buffer_auto_out_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@252124.4]
+  assign TLMonitor_io_in_a_bits_mask = buffer_auto_out_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@252124.4]
+  assign TLMonitor_io_in_a_bits_corrupt = buffer_auto_out_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@252124.4]
+  assign TLMonitor_io_in_d_ready = buffer_auto_out_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@252124.4]
+  assign TLMonitor_io_in_d_valid = buffer_auto_out_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@252124.4]
+  assign TLMonitor_io_in_d_bits_opcode = {{2'd0}, _T_312}; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@252124.4]
+  assign TLMonitor_io_in_d_bits_size = _T_314[1:0]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@252124.4]
+  assign TLMonitor_io_in_d_bits_source = _T_314[7:2]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@252124.4]
+  assign txm_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@252144.4]
+  assign txm_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@252145.4]
+  assign txm_io_en = txen; // @[UART.scala 78:13:shc.marmotcaravel.MarmotCaravelConfig.fir@252164.4]
+  assign txm_io_in_valid = txq_io_deq_valid; // @[UART.scala 79:13:shc.marmotcaravel.MarmotCaravelConfig.fir@252165.4]
+  assign txm_io_in_bits = txq_io_deq_bits; // @[UART.scala 79:13:shc.marmotcaravel.MarmotCaravelConfig.fir@252165.4]
+  assign txm_io_div = div; // @[UART.scala 80:14:shc.marmotcaravel.MarmotCaravelConfig.fir@252166.4]
+  assign txm_io_nstop = nstop; // @[UART.scala 81:16:shc.marmotcaravel.MarmotCaravelConfig.fir@252167.4]
+  assign txq_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@252148.4]
+  assign txq_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@252149.4]
+  assign txq_io_enq_valid = _T_476 & _T_479; // @[RegMapFIFO.scala 18:21:shc.marmotcaravel.MarmotCaravelConfig.fir@252284.4]
+  assign txq_io_enq_bits = _T_42_a_bits_data[7:0]; // @[RegMapFIFO.scala 19:20:shc.marmotcaravel.MarmotCaravelConfig.fir@252285.4]
+  assign txq_io_deq_ready = txm_io_in_ready; // @[UART.scala 79:13:shc.marmotcaravel.MarmotCaravelConfig.fir@252165.4]
+  assign rxm_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@252152.4]
+  assign rxm_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@252153.4]
+  assign rxm_io_en = rxen; // @[UART.scala 84:13:shc.marmotcaravel.MarmotCaravelConfig.fir@252169.4]
+  assign rxm_io_in = auto_io_out_rxd; // @[UART.scala 85:13:shc.marmotcaravel.MarmotCaravelConfig.fir@252170.4]
+  assign rxm_io_div = div; // @[UART.scala 87:14:shc.marmotcaravel.MarmotCaravelConfig.fir@252172.4]
+  assign rxq_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@252156.4]
+  assign rxq_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@252157.4]
+  assign rxq_io_enq_valid = rxm_io_out_valid; // @[UART.scala 86:14:shc.marmotcaravel.MarmotCaravelConfig.fir@252171.4]
+  assign rxq_io_enq_bits = rxm_io_out_bits; // @[UART.scala 86:14:shc.marmotcaravel.MarmotCaravelConfig.fir@252171.4]
+  assign rxq_io_deq_ready = _T_939 & _T_465; // @[RegMapFIFO.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@252419.4]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  div = _RAND_0[15:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  txen = _RAND_1[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  rxen = _RAND_2[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  txwm = _RAND_3[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  rxwm = _RAND_4[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  nstop = _RAND_5[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {1{`RANDOM}};
+  ie_rxwm = _RAND_6[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {1{`RANDOM}};
+  ie_txwm = _RAND_7[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      div <= 16'h364;
+    end else begin
+      if (_T_690) begin
+        div <= _T_692;
+      end
+    end
+    if (reset) begin
+      txen <= 1'h0;
+    end else begin
+      if (_T_715) begin
+        txen <= _T_561;
+      end
+    end
+    if (reset) begin
+      rxen <= 1'h0;
+    end else begin
+      if (_T_794) begin
+        rxen <= _T_561;
+      end
+    end
+    if (reset) begin
+      txwm <= 4'h0;
+    end else begin
+      if (_T_767) begin
+        txwm <= _T_769;
+      end
+    end
+    if (reset) begin
+      rxwm <= 4'h0;
+    end else begin
+      if (_T_819) begin
+        rxwm <= _T_769;
+      end
+    end
+    if (reset) begin
+      nstop <= 1'h0;
+    end else begin
+      if (_T_740) begin
+        nstop <= _T_586;
+      end
+    end
+    if (reset) begin
+      ie_rxwm <= 1'h0;
+    end else begin
+      if (_T_871) begin
+        ie_rxwm <= _T_586;
+      end
+    end
+    if (reset) begin
+      ie_txwm <= 1'h0;
+    end else begin
+      if (_T_846) begin
+        ie_txwm <= _T_561;
+      end
+    end
+  end
+endmodule
+module TLMonitor_66( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@253234.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@253235.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@253236.4]
+  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@253237.4]
+  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@253237.4]
+  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@253237.4]
+  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@253237.4]
+  input  [1:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@253237.4]
+  input  [5:0]  io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@253237.4]
+  input  [28:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@253237.4]
+  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@253237.4]
+  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@253237.4]
+  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@253237.4]
+  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@253237.4]
+  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@253237.4]
+  input  [1:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@253237.4]
+  input  [5:0]  io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@253237.4]
+);
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@254364.4]
+  wire [4:0] _T_36; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@253264.6]
+  wire [1:0] _T_37; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@253265.6]
+  wire [1:0] _T_38; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@253266.6]
+  wire [28:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@253267.6]
+  wire [28:0] _T_39; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@253267.6]
+  wire  _T_40; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@253268.6]
+  wire  _T_42; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@253270.6]
+  wire [1:0] _T_43; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@253271.6]
+  wire [1:0] _T_45; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@253273.6]
+  wire  _T_46; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@253274.6]
+  wire  _T_47; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@253275.6]
+  wire  _T_48; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@253276.6]
+  wire  _T_49; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@253277.6]
+  wire  _T_51; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@253279.6]
+  wire  _T_52; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@253280.6]
+  wire  _T_54; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@253282.6]
+  wire  _T_55; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@253283.6]
+  wire  _T_56; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@253284.6]
+  wire  _T_57; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@253285.6]
+  wire  _T_58; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@253286.6]
+  wire  _T_59; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@253287.6]
+  wire  _T_60; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@253288.6]
+  wire  _T_61; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@253289.6]
+  wire  _T_62; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@253290.6]
+  wire  _T_63; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@253291.6]
+  wire  _T_64; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@253292.6]
+  wire  _T_65; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@253293.6]
+  wire  _T_66; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@253294.6]
+  wire  _T_67; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@253295.6]
+  wire  _T_68; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@253296.6]
+  wire  _T_69; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@253297.6]
+  wire  _T_70; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@253298.6]
+  wire [1:0] _T_71; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@253299.6]
+  wire [1:0] _T_72; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@253300.6]
+  wire [3:0] _T_73; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@253301.6]
+  wire  _T_92; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@253324.6]
+  wire [28:0] _T_94; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@253327.8]
+  wire [29:0] _T_95; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@253328.8]
+  wire [29:0] _T_96; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@253329.8]
+  wire [29:0] _T_97; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@253330.8]
+  wire  _T_98; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@253331.8]
+  wire  _T_103; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253336.8]
+  wire  _T_112; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253357.8]
+  wire  _T_113; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253358.8]
+  wire  _T_115; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253364.8]
+  wire  _T_116; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253365.8]
+  wire  _T_117; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@253370.8]
+  wire  _T_119; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253372.8]
+  wire  _T_120; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253373.8]
+  wire [3:0] _T_121; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@253378.8]
+  wire  _T_122; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@253379.8]
+  wire  _T_124; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253381.8]
+  wire  _T_125; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253382.8]
+  wire  _T_126; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@253387.8]
+  wire  _T_128; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253389.8]
+  wire  _T_129; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253390.8]
+  wire  _T_130; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@253396.6]
+  wire  _T_159; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@253450.8]
+  wire  _T_161; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253452.8]
+  wire  _T_162; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253453.8]
+  wire  _T_172; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@253476.6]
+  wire  _T_174; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@253479.8]
+  wire  _T_182; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@253487.8]
+  wire  _T_185; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253490.8]
+  wire  _T_186; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253491.8]
+  wire  _T_193; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@253510.8]
+  wire  _T_195; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253512.8]
+  wire  _T_196; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253513.8]
+  wire  _T_197; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@253518.8]
+  wire  _T_199; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253520.8]
+  wire  _T_200; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253521.8]
+  wire  _T_205; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@253535.6]
+  wire  _T_234; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@253586.6]
+  wire [3:0] _T_259; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@253628.8]
+  wire [3:0] _T_260; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@253629.8]
+  wire  _T_261; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@253630.8]
+  wire  _T_263; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253632.8]
+  wire  _T_264; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253633.8]
+  wire  _T_265; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@253639.6]
+  wire  _T_283; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@253670.8]
+  wire  _T_285; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253672.8]
+  wire  _T_286; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253673.8]
+  wire  _T_291; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@253687.6]
+  wire  _T_309; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@253718.8]
+  wire  _T_311; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253720.8]
+  wire  _T_312; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253721.8]
+  wire  _T_317; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@253735.6]
+  wire  _T_343; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@253785.6]
+  wire  _T_345; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@253787.6]
+  wire  _T_346; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@253788.6]
+  wire  _T_363; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@253805.6]
+  wire  _T_367; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@253814.8]
+  wire  _T_369; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253816.8]
+  wire  _T_370; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253817.8]
+  wire  _T_383; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@253847.6]
+  wire  _T_411; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@253905.6]
+  wire  _T_504; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@254095.4]
+  reg  _T_514; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@254104.4]
+  reg [31:0] _RAND_0;
+  wire [1:0] _T_515; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@254105.4]
+  wire [1:0] _T_516; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@254106.4]
+  wire  _T_517; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@254107.4]
+  wire  _T_518; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@254108.4]
+  reg [2:0] _T_527; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@254119.4]
+  reg [31:0] _RAND_1;
+  reg [2:0] _T_529; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@254120.4]
+  reg [31:0] _RAND_2;
+  reg [1:0] _T_531; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@254121.4]
+  reg [31:0] _RAND_3;
+  reg [5:0] _T_533; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@254122.4]
+  reg [31:0] _RAND_4;
+  reg [28:0] _T_535; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@254123.4]
+  reg [31:0] _RAND_5;
+  wire  _T_536; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@254124.4]
+  wire  _T_537; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@254125.4]
+  wire  _T_538; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@254127.6]
+  wire  _T_540; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254129.6]
+  wire  _T_541; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254130.6]
+  wire  _T_542; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@254135.6]
+  wire  _T_544; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254137.6]
+  wire  _T_545; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254138.6]
+  wire  _T_546; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@254143.6]
+  wire  _T_548; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254145.6]
+  wire  _T_549; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254146.6]
+  wire  _T_550; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@254151.6]
+  wire  _T_552; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254153.6]
+  wire  _T_553; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254154.6]
+  wire  _T_554; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@254159.6]
+  wire  _T_556; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254161.6]
+  wire  _T_557; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254162.6]
+  wire  _T_559; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@254169.4]
+  wire  _T_560; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@254177.4]
+  reg  _T_569; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@254185.4]
+  reg [31:0] _RAND_6;
+  wire [1:0] _T_570; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@254186.4]
+  wire [1:0] _T_571; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@254187.4]
+  wire  _T_572; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@254188.4]
+  wire  _T_573; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@254189.4]
+  reg [2:0] _T_582; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@254200.4]
+  reg [31:0] _RAND_7;
+  reg [1:0] _T_586; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@254202.4]
+  reg [31:0] _RAND_8;
+  reg [5:0] _T_588; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@254203.4]
+  reg [31:0] _RAND_9;
+  wire  _T_593; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@254206.4]
+  wire  _T_594; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@254207.4]
+  wire  _T_595; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@254209.6]
+  wire  _T_597; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254211.6]
+  wire  _T_598; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254212.6]
+  wire  _T_603; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@254225.6]
+  wire  _T_605; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254227.6]
+  wire  _T_606; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254228.6]
+  wire  _T_607; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@254233.6]
+  wire  _T_609; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254235.6]
+  wire  _T_610; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254236.6]
+  wire  _T_620; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@254259.4]
+  reg [63:0] _T_622; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@254268.4]
+  reg [63:0] _RAND_10;
+  reg  _T_633; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@254278.4]
+  reg [31:0] _RAND_11;
+  wire [1:0] _T_634; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@254279.4]
+  wire [1:0] _T_635; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@254280.4]
+  wire  _T_636; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@254281.4]
+  wire  _T_637; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@254282.4]
+  reg  _T_654; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@254301.4]
+  reg [31:0] _RAND_12;
+  wire [1:0] _T_655; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@254302.4]
+  wire [1:0] _T_656; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@254303.4]
+  wire  _T_657; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@254304.4]
+  wire  _T_658; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@254305.4]
+  wire  _T_669; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@254320.4]
+  wire [63:0] _T_671; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@254323.6]
+  wire [63:0] _T_672; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@254325.6]
+  wire  _T_673; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@254326.6]
+  wire  _T_674; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254327.6]
+  wire  _T_676; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@254329.6]
+  wire  _T_677; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@254330.6]
+  wire [63:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@254322.4]
+  wire  _T_682; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@254341.4]
+  wire  _T_684; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@254343.4]
+  wire  _T_685; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@254344.4]
+  wire [63:0] _T_686; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@254346.6]
+  wire [63:0] _T_687; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@254348.6]
+  wire [63:0] _T_688; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@254349.6]
+  wire  _T_689; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@254350.6]
+  wire  _T_691; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@254352.6]
+  wire  _T_692; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@254353.6]
+  wire [63:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@254345.4]
+  wire [63:0] _T_693; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@254359.4]
+  wire [63:0] _T_694; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@254360.4]
+  wire [63:0] _T_695; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@254361.4]
+  reg [31:0] _T_697; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@254363.4]
+  reg [31:0] _RAND_13;
+  wire  _T_698; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@254366.4]
+  wire  _T_699; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@254367.4]
+  wire  _T_700; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@254368.4]
+  wire  _T_701; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@254369.4]
+  wire  _T_702; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@254370.4]
+  wire  _T_703; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@254371.4]
+  wire  _T_705; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@254373.4]
+  wire  _T_706; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@254374.4]
+  wire [31:0] _T_708; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@254380.4]
+  wire  _T_711; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@254384.4]
+  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253338.10]
+  wire  _GEN_33; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253410.10]
+  wire  _GEN_49; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253493.10]
+  wire  _GEN_59; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253552.10]
+  wire  _GEN_67; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253603.10]
+  wire  _GEN_75; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253653.10]
+  wire  _GEN_83; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253701.10]
+  wire  _GEN_91; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253749.10]
+  wire  _GEN_99; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253819.10]
+  wire  _GEN_101; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253860.10]
+  wire  _GEN_105; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253918.10]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@254364.4]
+    .out(plusarg_reader_out)
+  );
+  assign _T_36 = 5'h3 << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@253264.6]
+  assign _T_37 = _T_36[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@253265.6]
+  assign _T_38 = ~ _T_37; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@253266.6]
+  assign _GEN_18 = {{27'd0}, _T_38}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@253267.6]
+  assign _T_39 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@253267.6]
+  assign _T_40 = _T_39 == 29'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@253268.6]
+  assign _T_42 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@253270.6]
+  assign _T_43 = 2'h1 << _T_42; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@253271.6]
+  assign _T_45 = _T_43 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@253273.6]
+  assign _T_46 = io_in_a_bits_size >= 2'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@253274.6]
+  assign _T_47 = _T_45[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@253275.6]
+  assign _T_48 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@253276.6]
+  assign _T_49 = _T_48 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@253277.6]
+  assign _T_51 = _T_47 & _T_49; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@253279.6]
+  assign _T_52 = _T_46 | _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@253280.6]
+  assign _T_54 = _T_47 & _T_48; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@253282.6]
+  assign _T_55 = _T_46 | _T_54; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@253283.6]
+  assign _T_56 = _T_45[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@253284.6]
+  assign _T_57 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@253285.6]
+  assign _T_58 = _T_57 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@253286.6]
+  assign _T_59 = _T_49 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@253287.6]
+  assign _T_60 = _T_56 & _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@253288.6]
+  assign _T_61 = _T_52 | _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@253289.6]
+  assign _T_62 = _T_49 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@253290.6]
+  assign _T_63 = _T_56 & _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@253291.6]
+  assign _T_64 = _T_52 | _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@253292.6]
+  assign _T_65 = _T_48 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@253293.6]
+  assign _T_66 = _T_56 & _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@253294.6]
+  assign _T_67 = _T_55 | _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@253295.6]
+  assign _T_68 = _T_48 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@253296.6]
+  assign _T_69 = _T_56 & _T_68; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@253297.6]
+  assign _T_70 = _T_55 | _T_69; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@253298.6]
+  assign _T_71 = {_T_64,_T_61}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@253299.6]
+  assign _T_72 = {_T_70,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@253300.6]
+  assign _T_73 = {_T_72,_T_71}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@253301.6]
+  assign _T_92 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@253324.6]
+  assign _T_94 = io_in_a_bits_address ^ 29'h10053000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@253327.8]
+  assign _T_95 = {1'b0,$signed(_T_94)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@253328.8]
+  assign _T_96 = $signed(_T_95) & $signed(-30'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@253329.8]
+  assign _T_97 = $signed(_T_96); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@253330.8]
+  assign _T_98 = $signed(_T_97) == $signed(30'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@253331.8]
+  assign _T_103 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253336.8]
+  assign _T_112 = _T_46 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253357.8]
+  assign _T_113 = _T_112 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253358.8]
+  assign _T_115 = _T_40 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253364.8]
+  assign _T_116 = _T_115 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253365.8]
+  assign _T_117 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@253370.8]
+  assign _T_119 = _T_117 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253372.8]
+  assign _T_120 = _T_119 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253373.8]
+  assign _T_121 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@253378.8]
+  assign _T_122 = _T_121 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@253379.8]
+  assign _T_124 = _T_122 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253381.8]
+  assign _T_125 = _T_124 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253382.8]
+  assign _T_126 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@253387.8]
+  assign _T_128 = _T_126 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253389.8]
+  assign _T_129 = _T_128 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253390.8]
+  assign _T_130 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@253396.6]
+  assign _T_159 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@253450.8]
+  assign _T_161 = _T_159 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253452.8]
+  assign _T_162 = _T_161 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253453.8]
+  assign _T_172 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@253476.6]
+  assign _T_174 = io_in_a_bits_size <= 2'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@253479.8]
+  assign _T_182 = _T_174 & _T_98; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@253487.8]
+  assign _T_185 = _T_182 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253490.8]
+  assign _T_186 = _T_185 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253491.8]
+  assign _T_193 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@253510.8]
+  assign _T_195 = _T_193 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253512.8]
+  assign _T_196 = _T_195 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253513.8]
+  assign _T_197 = io_in_a_bits_mask == _T_73; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@253518.8]
+  assign _T_199 = _T_197 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253520.8]
+  assign _T_200 = _T_199 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253521.8]
+  assign _T_205 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@253535.6]
+  assign _T_234 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@253586.6]
+  assign _T_259 = ~ _T_73; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@253628.8]
+  assign _T_260 = io_in_a_bits_mask & _T_259; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@253629.8]
+  assign _T_261 = _T_260 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@253630.8]
+  assign _T_263 = _T_261 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253632.8]
+  assign _T_264 = _T_263 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253633.8]
+  assign _T_265 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@253639.6]
+  assign _T_283 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@253670.8]
+  assign _T_285 = _T_283 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253672.8]
+  assign _T_286 = _T_285 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253673.8]
+  assign _T_291 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@253687.6]
+  assign _T_309 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@253718.8]
+  assign _T_311 = _T_309 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253720.8]
+  assign _T_312 = _T_311 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253721.8]
+  assign _T_317 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@253735.6]
+  assign _T_343 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@253785.6]
+  assign _T_345 = _T_343 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@253787.6]
+  assign _T_346 = _T_345 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@253788.6]
+  assign _T_363 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@253805.6]
+  assign _T_367 = io_in_d_bits_size >= 2'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@253814.8]
+  assign _T_369 = _T_367 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253816.8]
+  assign _T_370 = _T_369 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253817.8]
+  assign _T_383 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@253847.6]
+  assign _T_411 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@253905.6]
+  assign _T_504 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@254095.4]
+  assign _T_515 = _T_514 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@254105.4]
+  assign _T_516 = $unsigned(_T_515); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@254106.4]
+  assign _T_517 = _T_516[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@254107.4]
+  assign _T_518 = _T_514 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@254108.4]
+  assign _T_536 = _T_518 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@254124.4]
+  assign _T_537 = io_in_a_valid & _T_536; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@254125.4]
+  assign _T_538 = io_in_a_bits_opcode == _T_527; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@254127.6]
+  assign _T_540 = _T_538 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254129.6]
+  assign _T_541 = _T_540 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254130.6]
+  assign _T_542 = io_in_a_bits_param == _T_529; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@254135.6]
+  assign _T_544 = _T_542 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254137.6]
+  assign _T_545 = _T_544 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254138.6]
+  assign _T_546 = io_in_a_bits_size == _T_531; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@254143.6]
+  assign _T_548 = _T_546 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254145.6]
+  assign _T_549 = _T_548 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254146.6]
+  assign _T_550 = io_in_a_bits_source == _T_533; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@254151.6]
+  assign _T_552 = _T_550 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254153.6]
+  assign _T_553 = _T_552 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254154.6]
+  assign _T_554 = io_in_a_bits_address == _T_535; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@254159.6]
+  assign _T_556 = _T_554 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254161.6]
+  assign _T_557 = _T_556 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254162.6]
+  assign _T_559 = _T_504 & _T_518; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@254169.4]
+  assign _T_560 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@254177.4]
+  assign _T_570 = _T_569 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@254186.4]
+  assign _T_571 = $unsigned(_T_570); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@254187.4]
+  assign _T_572 = _T_571[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@254188.4]
+  assign _T_573 = _T_569 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@254189.4]
+  assign _T_593 = _T_573 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@254206.4]
+  assign _T_594 = io_in_d_valid & _T_593; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@254207.4]
+  assign _T_595 = io_in_d_bits_opcode == _T_582; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@254209.6]
+  assign _T_597 = _T_595 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254211.6]
+  assign _T_598 = _T_597 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254212.6]
+  assign _T_603 = io_in_d_bits_size == _T_586; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@254225.6]
+  assign _T_605 = _T_603 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254227.6]
+  assign _T_606 = _T_605 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254228.6]
+  assign _T_607 = io_in_d_bits_source == _T_588; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@254233.6]
+  assign _T_609 = _T_607 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254235.6]
+  assign _T_610 = _T_609 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254236.6]
+  assign _T_620 = _T_560 & _T_573; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@254259.4]
+  assign _T_634 = _T_633 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@254279.4]
+  assign _T_635 = $unsigned(_T_634); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@254280.4]
+  assign _T_636 = _T_635[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@254281.4]
+  assign _T_637 = _T_633 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@254282.4]
+  assign _T_655 = _T_654 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@254302.4]
+  assign _T_656 = $unsigned(_T_655); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@254303.4]
+  assign _T_657 = _T_656[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@254304.4]
+  assign _T_658 = _T_654 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@254305.4]
+  assign _T_669 = _T_504 & _T_637; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@254320.4]
+  assign _T_671 = 64'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@254323.6]
+  assign _T_672 = _T_622 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@254325.6]
+  assign _T_673 = _T_672[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@254326.6]
+  assign _T_674 = _T_673 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254327.6]
+  assign _T_676 = _T_674 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@254329.6]
+  assign _T_677 = _T_676 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@254330.6]
+  assign _GEN_15 = _T_669 ? _T_671 : 64'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@254322.4]
+  assign _T_682 = _T_560 & _T_658; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@254341.4]
+  assign _T_684 = _T_363 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@254343.4]
+  assign _T_685 = _T_682 & _T_684; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@254344.4]
+  assign _T_686 = 64'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@254346.6]
+  assign _T_687 = _GEN_15 | _T_622; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@254348.6]
+  assign _T_688 = _T_687 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@254349.6]
+  assign _T_689 = _T_688[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@254350.6]
+  assign _T_691 = _T_689 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@254352.6]
+  assign _T_692 = _T_691 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@254353.6]
+  assign _GEN_16 = _T_685 ? _T_686 : 64'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@254345.4]
+  assign _T_693 = _T_622 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@254359.4]
+  assign _T_694 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@254360.4]
+  assign _T_695 = _T_693 & _T_694; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@254361.4]
+  assign _T_698 = _T_622 != 64'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@254366.4]
+  assign _T_699 = _T_698 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@254367.4]
+  assign _T_700 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@254368.4]
+  assign _T_701 = _T_699 | _T_700; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@254369.4]
+  assign _T_702 = _T_697 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@254370.4]
+  assign _T_703 = _T_701 | _T_702; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@254371.4]
+  assign _T_705 = _T_703 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@254373.4]
+  assign _T_706 = _T_705 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@254374.4]
+  assign _T_708 = _T_697 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@254380.4]
+  assign _T_711 = _T_504 | _T_560; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@254384.4]
+  assign _GEN_19 = io_in_a_valid & _T_92; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253338.10]
+  assign _GEN_33 = io_in_a_valid & _T_130; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253410.10]
+  assign _GEN_49 = io_in_a_valid & _T_172; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253493.10]
+  assign _GEN_59 = io_in_a_valid & _T_205; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253552.10]
+  assign _GEN_67 = io_in_a_valid & _T_234; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253603.10]
+  assign _GEN_75 = io_in_a_valid & _T_265; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253653.10]
+  assign _GEN_83 = io_in_a_valid & _T_291; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253701.10]
+  assign _GEN_91 = io_in_a_valid & _T_317; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253749.10]
+  assign _GEN_99 = io_in_d_valid & _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253819.10]
+  assign _GEN_101 = io_in_d_valid & _T_383; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253860.10]
+  assign _GEN_105 = io_in_d_valid & _T_411; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253918.10]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  _T_514 = _RAND_0[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  _T_527 = _RAND_1[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  _T_529 = _RAND_2[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  _T_531 = _RAND_3[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  _T_533 = _RAND_4[5:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  _T_535 = _RAND_5[28:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {1{`RANDOM}};
+  _T_569 = _RAND_6[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {1{`RANDOM}};
+  _T_582 = _RAND_7[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_8 = {1{`RANDOM}};
+  _T_586 = _RAND_8[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_9 = {1{`RANDOM}};
+  _T_588 = _RAND_9[5:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_10 = {2{`RANDOM}};
+  _T_622 = _RAND_10[63:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_11 = {1{`RANDOM}};
+  _T_633 = _RAND_11[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_12 = {1{`RANDOM}};
+  _T_654 = _RAND_12[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_13 = {1{`RANDOM}};
+  _T_697 = _RAND_13[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      _T_514 <= 1'h0;
+    end else begin
+      if (_T_504) begin
+        if (_T_518) begin
+          _T_514 <= 1'h0;
+        end else begin
+          _T_514 <= _T_517;
+        end
+      end
+    end
+    if (_T_559) begin
+      _T_527 <= io_in_a_bits_opcode;
+    end
+    if (_T_559) begin
+      _T_529 <= io_in_a_bits_param;
+    end
+    if (_T_559) begin
+      _T_531 <= io_in_a_bits_size;
+    end
+    if (_T_559) begin
+      _T_533 <= io_in_a_bits_source;
+    end
+    if (_T_559) begin
+      _T_535 <= io_in_a_bits_address;
+    end
+    if (reset) begin
+      _T_569 <= 1'h0;
+    end else begin
+      if (_T_560) begin
+        if (_T_573) begin
+          _T_569 <= 1'h0;
+        end else begin
+          _T_569 <= _T_572;
+        end
+      end
+    end
+    if (_T_620) begin
+      _T_582 <= io_in_d_bits_opcode;
+    end
+    if (_T_620) begin
+      _T_586 <= io_in_d_bits_size;
+    end
+    if (_T_620) begin
+      _T_588 <= io_in_d_bits_source;
+    end
+    if (reset) begin
+      _T_622 <= 64'h0;
+    end else begin
+      _T_622 <= _T_695;
+    end
+    if (reset) begin
+      _T_633 <= 1'h0;
+    end else begin
+      if (_T_504) begin
+        if (_T_637) begin
+          _T_633 <= 1'h0;
+        end else begin
+          _T_633 <= _T_636;
+        end
+      end
+    end
+    if (reset) begin
+      _T_654 <= 1'h0;
+    end else begin
+      if (_T_560) begin
+        if (_T_658) begin
+          _T_654 <= 1'h0;
+        end else begin
+          _T_654 <= _T_657;
+        end
+      end
+    end
+    if (reset) begin
+      _T_697 <= 32'h0;
+    end else begin
+      if (_T_711) begin
+        _T_697 <= 32'h0;
+      end else begin
+        _T_697 <= _T_708;
+      end
+    end
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@253249.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@253250.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@253321.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@253322.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253338.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_103) begin
+          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253339.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253345.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_103) begin
+          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253346.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253352.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253353.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_113) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253360.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_113) begin
+          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253361.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253367.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_116) begin
+          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253368.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_120) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253375.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_120) begin
+          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253376.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_125) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253384.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_125) begin
+          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253385.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_129) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253392.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_129) begin
+          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253393.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253410.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_103) begin
+          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253411.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253417.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_103) begin
+          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253418.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253424.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253425.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_113) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253432.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_113) begin
+          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253433.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253439.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_116) begin
+          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253440.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_120) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253447.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_120) begin
+          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253448.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_162) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253455.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_162) begin
+          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253456.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_125) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253464.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_125) begin
+          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253465.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_129) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253472.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_129) begin
+          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253473.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_186) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253493.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_186) begin
+          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253494.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253500.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253501.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253507.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_116) begin
+          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253508.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_196) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253515.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_196) begin
+          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253516.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253523.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_200) begin
+          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253524.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_129) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253531.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_129) begin
+          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253532.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_59 & _T_186) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253552.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_59 & _T_186) begin
+          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253553.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253559.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253560.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_59 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253566.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_59 & _T_116) begin
+          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253567.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_59 & _T_196) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253574.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_59 & _T_196) begin
+          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253575.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_59 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253582.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_59 & _T_200) begin
+          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253583.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_67 & _T_186) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253603.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_67 & _T_186) begin
+          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253604.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253610.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253611.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_67 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253617.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_67 & _T_116) begin
+          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253618.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_67 & _T_196) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253625.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_67 & _T_196) begin
+          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253626.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_67 & _T_264) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253635.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_67 & _T_264) begin
+          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253636.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253653.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_103) begin
+          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253654.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253660.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253661.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253667.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_116) begin
+          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253668.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_286) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253675.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_286) begin
+          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253676.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253683.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_200) begin
+          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253684.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_83 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253701.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_83 & _T_103) begin
+          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253702.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253708.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253709.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_83 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253715.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_83 & _T_116) begin
+          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253716.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_83 & _T_312) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253723.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_83 & _T_312) begin
+          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253724.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_83 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253731.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_83 & _T_200) begin
+          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253732.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_91 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253749.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_91 & _T_103) begin
+          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253750.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253756.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253757.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_91 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253763.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_91 & _T_116) begin
+          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253764.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_91 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253771.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_91 & _T_200) begin
+          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253772.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_91 & _T_129) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253779.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_91 & _T_129) begin
+          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253780.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_346) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@253790.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_346) begin
+          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@253791.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253811.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253812.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_99 & _T_370) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253819.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_99 & _T_370) begin
+          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253820.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253827.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253828.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253835.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253836.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253843.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253844.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253853.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253854.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_101 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253860.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_101 & _T_103) begin
+          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253861.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_101 & _T_370) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253868.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_101 & _T_370) begin
+          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253869.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253876.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253877.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253884.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253885.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253892.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253893.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253901.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253902.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253911.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253912.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253918.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_103) begin
+          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253919.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_370) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253926.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_370) begin
+          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253927.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253934.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253935.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253942.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253943.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253951.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253952.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253960.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253961.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253970.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253971.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253978.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253979.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253986.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253987.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253995.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253996.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254005.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254006.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254013.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254014.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254022.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254023.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254031.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254032.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254041.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254042.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254049.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254050.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254057.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254058.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254066.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254067.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254076.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254077.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254084.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254085.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254092.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254093.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_541) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254132.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_541) begin
+          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254133.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_545) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254140.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_545) begin
+          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254141.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_549) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254148.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_549) begin
+          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254149.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_553) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254156.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_553) begin
+          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254157.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_557) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254164.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_557) begin
+          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254165.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_594 & _T_598) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254214.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_594 & _T_598) begin
+          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254215.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254222.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254223.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_594 & _T_606) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254230.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_594 & _T_606) begin
+          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254231.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_594 & _T_610) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254238.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_594 & _T_610) begin
+          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254239.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254246.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254247.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254254.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254255.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_669 & _T_677) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@254332.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_669 & _T_677) begin
+          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@254333.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_685 & _T_692) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@254355.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_685 & _T_692) begin
+          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@254356.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_706) begin
+          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@254376.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_706) begin
+          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@254377.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+endmodule
+module TLBuffer_21( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@254389.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@254390.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@254391.4]
+  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@254392.4]
+  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@254392.4]
+  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@254392.4]
+  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@254392.4]
+  input  [1:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@254392.4]
+  input  [5:0]  auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@254392.4]
+  input  [28:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@254392.4]
+  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@254392.4]
+  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@254392.4]
+  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@254392.4]
+  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@254392.4]
+  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@254392.4]
+  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@254392.4]
+  output [1:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@254392.4]
+  output [5:0]  auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@254392.4]
+  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@254392.4]
+  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@254392.4]
+  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@254392.4]
+  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@254392.4]
+  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@254392.4]
+  output [1:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@254392.4]
+  output [5:0]  auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@254392.4]
+  output [28:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@254392.4]
+  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@254392.4]
+  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@254392.4]
+  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@254392.4]
+  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@254392.4]
+  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@254392.4]
+  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@254392.4]
+  input  [1:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@254392.4]
+  input  [5:0]  auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@254392.4]
+  input  [31:0] auto_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@254392.4]
+);
+  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@254399.4]
+  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@254399.4]
+  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@254399.4]
+  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@254399.4]
+  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@254399.4]
+  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@254399.4]
+  wire [1:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@254399.4]
+  wire [5:0] TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@254399.4]
+  wire [28:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@254399.4]
+  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@254399.4]
+  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@254399.4]
+  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@254399.4]
+  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@254399.4]
+  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@254399.4]
+  wire [1:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@254399.4]
+  wire [5:0] TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@254399.4]
+  TLMonitor_66 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@254399.4]
+    .clock(TLMonitor_clock),
+    .reset(TLMonitor_reset),
+    .io_in_a_ready(TLMonitor_io_in_a_ready),
+    .io_in_a_valid(TLMonitor_io_in_a_valid),
+    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
+    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
+    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
+    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
+    .io_in_d_ready(TLMonitor_io_in_d_ready),
+    .io_in_d_valid(TLMonitor_io_in_d_valid),
+    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
+    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
+    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source)
+  );
+  assign auto_in_a_ready = auto_out_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@254439.4]
+  assign auto_in_d_valid = auto_out_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@254439.4]
+  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@254439.4]
+  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@254439.4]
+  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@254439.4]
+  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@254439.4]
+  assign auto_out_a_valid = auto_in_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@254438.4]
+  assign auto_out_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@254438.4]
+  assign auto_out_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@254438.4]
+  assign auto_out_a_bits_size = auto_in_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@254438.4]
+  assign auto_out_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@254438.4]
+  assign auto_out_a_bits_address = auto_in_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@254438.4]
+  assign auto_out_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@254438.4]
+  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@254438.4]
+  assign auto_out_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@254438.4]
+  assign auto_out_d_ready = auto_in_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@254438.4]
+  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@254401.4]
+  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@254402.4]
+  assign TLMonitor_io_in_a_ready = auto_out_a_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@254435.4]
+  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@254435.4]
+  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@254435.4]
+  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@254435.4]
+  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@254435.4]
+  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@254435.4]
+  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@254435.4]
+  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@254435.4]
+  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@254435.4]
+  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@254435.4]
+  assign TLMonitor_io_in_d_valid = auto_out_d_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@254435.4]
+  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@254435.4]
+  assign TLMonitor_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@254435.4]
+  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@254435.4]
+endmodule
+module TLMonitor_67( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@254510.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@254511.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@254512.4]
+  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@254513.4]
+  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@254513.4]
+  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@254513.4]
+  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@254513.4]
+  input  [1:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@254513.4]
+  input  [5:0]  io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@254513.4]
+  input  [28:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@254513.4]
+  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@254513.4]
+  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@254513.4]
+  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@254513.4]
+  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@254513.4]
+  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@254513.4]
+  input  [1:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@254513.4]
+  input  [5:0]  io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@254513.4]
+);
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@255640.4]
+  wire [4:0] _T_36; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@254540.6]
+  wire [1:0] _T_37; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@254541.6]
+  wire [1:0] _T_38; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@254542.6]
+  wire [28:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@254543.6]
+  wire [28:0] _T_39; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@254543.6]
+  wire  _T_40; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@254544.6]
+  wire  _T_42; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@254546.6]
+  wire [1:0] _T_43; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@254547.6]
+  wire [1:0] _T_45; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@254549.6]
+  wire  _T_46; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@254550.6]
+  wire  _T_47; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@254551.6]
+  wire  _T_48; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@254552.6]
+  wire  _T_49; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@254553.6]
+  wire  _T_51; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@254555.6]
+  wire  _T_52; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@254556.6]
+  wire  _T_54; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@254558.6]
+  wire  _T_55; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@254559.6]
+  wire  _T_56; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@254560.6]
+  wire  _T_57; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@254561.6]
+  wire  _T_58; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@254562.6]
+  wire  _T_59; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@254563.6]
+  wire  _T_60; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@254564.6]
+  wire  _T_61; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@254565.6]
+  wire  _T_62; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@254566.6]
+  wire  _T_63; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@254567.6]
+  wire  _T_64; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@254568.6]
+  wire  _T_65; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@254569.6]
+  wire  _T_66; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@254570.6]
+  wire  _T_67; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@254571.6]
+  wire  _T_68; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@254572.6]
+  wire  _T_69; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@254573.6]
+  wire  _T_70; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@254574.6]
+  wire [1:0] _T_71; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@254575.6]
+  wire [1:0] _T_72; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@254576.6]
+  wire [3:0] _T_73; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@254577.6]
+  wire  _T_92; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@254600.6]
+  wire [28:0] _T_94; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@254603.8]
+  wire [29:0] _T_95; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@254604.8]
+  wire [29:0] _T_96; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@254605.8]
+  wire [29:0] _T_97; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@254606.8]
+  wire  _T_98; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@254607.8]
+  wire  _T_103; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254612.8]
+  wire  _T_112; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254633.8]
+  wire  _T_113; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254634.8]
+  wire  _T_115; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254640.8]
+  wire  _T_116; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254641.8]
+  wire  _T_117; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@254646.8]
+  wire  _T_119; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254648.8]
+  wire  _T_120; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254649.8]
+  wire [3:0] _T_121; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@254654.8]
+  wire  _T_122; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@254655.8]
+  wire  _T_124; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254657.8]
+  wire  _T_125; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254658.8]
+  wire  _T_126; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@254663.8]
+  wire  _T_128; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254665.8]
+  wire  _T_129; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254666.8]
+  wire  _T_130; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@254672.6]
+  wire  _T_159; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@254726.8]
+  wire  _T_161; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254728.8]
+  wire  _T_162; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254729.8]
+  wire  _T_172; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@254752.6]
+  wire  _T_174; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@254755.8]
+  wire  _T_182; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@254763.8]
+  wire  _T_185; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254766.8]
+  wire  _T_186; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254767.8]
+  wire  _T_193; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@254786.8]
+  wire  _T_195; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254788.8]
+  wire  _T_196; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254789.8]
+  wire  _T_197; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@254794.8]
+  wire  _T_199; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254796.8]
+  wire  _T_200; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254797.8]
+  wire  _T_205; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@254811.6]
+  wire  _T_234; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@254862.6]
+  wire [3:0] _T_259; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@254904.8]
+  wire [3:0] _T_260; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@254905.8]
+  wire  _T_261; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@254906.8]
+  wire  _T_263; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254908.8]
+  wire  _T_264; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254909.8]
+  wire  _T_265; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@254915.6]
+  wire  _T_283; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@254946.8]
+  wire  _T_285; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254948.8]
+  wire  _T_286; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254949.8]
+  wire  _T_291; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@254963.6]
+  wire  _T_309; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@254994.8]
+  wire  _T_311; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254996.8]
+  wire  _T_312; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254997.8]
+  wire  _T_317; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@255011.6]
+  wire  _T_343; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@255061.6]
+  wire  _T_345; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@255063.6]
+  wire  _T_346; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@255064.6]
+  wire  _T_363; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@255081.6]
+  wire  _T_367; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@255090.8]
+  wire  _T_369; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255092.8]
+  wire  _T_370; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255093.8]
+  wire  _T_383; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@255123.6]
+  wire  _T_411; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@255181.6]
+  wire  _T_504; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@255371.4]
+  reg  _T_514; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@255380.4]
+  reg [31:0] _RAND_0;
+  wire [1:0] _T_515; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255381.4]
+  wire [1:0] _T_516; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255382.4]
+  wire  _T_517; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255383.4]
+  wire  _T_518; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@255384.4]
+  reg [2:0] _T_527; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@255395.4]
+  reg [31:0] _RAND_1;
+  reg [2:0] _T_529; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@255396.4]
+  reg [31:0] _RAND_2;
+  reg [1:0] _T_531; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@255397.4]
+  reg [31:0] _RAND_3;
+  reg [5:0] _T_533; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@255398.4]
+  reg [31:0] _RAND_4;
+  reg [28:0] _T_535; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@255399.4]
+  reg [31:0] _RAND_5;
+  wire  _T_536; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@255400.4]
+  wire  _T_537; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@255401.4]
+  wire  _T_538; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@255403.6]
+  wire  _T_540; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255405.6]
+  wire  _T_541; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255406.6]
+  wire  _T_542; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@255411.6]
+  wire  _T_544; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255413.6]
+  wire  _T_545; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255414.6]
+  wire  _T_546; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@255419.6]
+  wire  _T_548; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255421.6]
+  wire  _T_549; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255422.6]
+  wire  _T_550; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@255427.6]
+  wire  _T_552; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255429.6]
+  wire  _T_553; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255430.6]
+  wire  _T_554; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@255435.6]
+  wire  _T_556; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255437.6]
+  wire  _T_557; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255438.6]
+  wire  _T_559; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@255445.4]
+  wire  _T_560; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@255453.4]
+  reg  _T_569; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@255461.4]
+  reg [31:0] _RAND_6;
+  wire [1:0] _T_570; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255462.4]
+  wire [1:0] _T_571; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255463.4]
+  wire  _T_572; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255464.4]
+  wire  _T_573; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@255465.4]
+  reg [2:0] _T_582; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@255476.4]
+  reg [31:0] _RAND_7;
+  reg [1:0] _T_586; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@255478.4]
+  reg [31:0] _RAND_8;
+  reg [5:0] _T_588; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@255479.4]
+  reg [31:0] _RAND_9;
+  wire  _T_593; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@255482.4]
+  wire  _T_594; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@255483.4]
+  wire  _T_595; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@255485.6]
+  wire  _T_597; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255487.6]
+  wire  _T_598; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255488.6]
+  wire  _T_603; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@255501.6]
+  wire  _T_605; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255503.6]
+  wire  _T_606; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255504.6]
+  wire  _T_607; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@255509.6]
+  wire  _T_609; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255511.6]
+  wire  _T_610; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255512.6]
+  wire  _T_620; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@255535.4]
+  reg [63:0] _T_622; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@255544.4]
+  reg [63:0] _RAND_10;
+  reg  _T_633; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@255554.4]
+  reg [31:0] _RAND_11;
+  wire [1:0] _T_634; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255555.4]
+  wire [1:0] _T_635; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255556.4]
+  wire  _T_636; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255557.4]
+  wire  _T_637; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@255558.4]
+  reg  _T_654; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@255577.4]
+  reg [31:0] _RAND_12;
+  wire [1:0] _T_655; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255578.4]
+  wire [1:0] _T_656; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255579.4]
+  wire  _T_657; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255580.4]
+  wire  _T_658; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@255581.4]
+  wire  _T_669; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@255596.4]
+  wire [63:0] _T_671; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@255599.6]
+  wire [63:0] _T_672; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@255601.6]
+  wire  _T_673; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@255602.6]
+  wire  _T_674; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255603.6]
+  wire  _T_676; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@255605.6]
+  wire  _T_677; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@255606.6]
+  wire [63:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@255598.4]
+  wire  _T_682; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@255617.4]
+  wire  _T_684; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@255619.4]
+  wire  _T_685; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@255620.4]
+  wire [63:0] _T_686; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@255622.6]
+  wire [63:0] _T_687; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@255624.6]
+  wire [63:0] _T_688; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@255625.6]
+  wire  _T_689; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@255626.6]
+  wire  _T_691; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@255628.6]
+  wire  _T_692; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@255629.6]
+  wire [63:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@255621.4]
+  wire [63:0] _T_693; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@255635.4]
+  wire [63:0] _T_694; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@255636.4]
+  wire [63:0] _T_695; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@255637.4]
+  reg [31:0] _T_697; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@255639.4]
+  reg [31:0] _RAND_13;
+  wire  _T_698; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@255642.4]
+  wire  _T_699; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@255643.4]
+  wire  _T_700; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@255644.4]
+  wire  _T_701; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@255645.4]
+  wire  _T_702; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@255646.4]
+  wire  _T_703; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@255647.4]
+  wire  _T_705; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@255649.4]
+  wire  _T_706; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@255650.4]
+  wire [31:0] _T_708; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@255656.4]
+  wire  _T_711; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@255660.4]
+  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254614.10]
+  wire  _GEN_33; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254686.10]
+  wire  _GEN_49; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254769.10]
+  wire  _GEN_59; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254828.10]
+  wire  _GEN_67; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254879.10]
+  wire  _GEN_75; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254929.10]
+  wire  _GEN_83; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254977.10]
+  wire  _GEN_91; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255025.10]
+  wire  _GEN_99; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255095.10]
+  wire  _GEN_101; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255136.10]
+  wire  _GEN_105; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255194.10]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@255640.4]
+    .out(plusarg_reader_out)
+  );
+  assign _T_36 = 5'h3 << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@254540.6]
+  assign _T_37 = _T_36[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@254541.6]
+  assign _T_38 = ~ _T_37; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@254542.6]
+  assign _GEN_18 = {{27'd0}, _T_38}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@254543.6]
+  assign _T_39 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@254543.6]
+  assign _T_40 = _T_39 == 29'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@254544.6]
+  assign _T_42 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@254546.6]
+  assign _T_43 = 2'h1 << _T_42; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@254547.6]
+  assign _T_45 = _T_43 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@254549.6]
+  assign _T_46 = io_in_a_bits_size >= 2'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@254550.6]
+  assign _T_47 = _T_45[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@254551.6]
+  assign _T_48 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@254552.6]
+  assign _T_49 = _T_48 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@254553.6]
+  assign _T_51 = _T_47 & _T_49; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@254555.6]
+  assign _T_52 = _T_46 | _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@254556.6]
+  assign _T_54 = _T_47 & _T_48; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@254558.6]
+  assign _T_55 = _T_46 | _T_54; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@254559.6]
+  assign _T_56 = _T_45[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@254560.6]
+  assign _T_57 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@254561.6]
+  assign _T_58 = _T_57 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@254562.6]
+  assign _T_59 = _T_49 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@254563.6]
+  assign _T_60 = _T_56 & _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@254564.6]
+  assign _T_61 = _T_52 | _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@254565.6]
+  assign _T_62 = _T_49 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@254566.6]
+  assign _T_63 = _T_56 & _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@254567.6]
+  assign _T_64 = _T_52 | _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@254568.6]
+  assign _T_65 = _T_48 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@254569.6]
+  assign _T_66 = _T_56 & _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@254570.6]
+  assign _T_67 = _T_55 | _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@254571.6]
+  assign _T_68 = _T_48 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@254572.6]
+  assign _T_69 = _T_56 & _T_68; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@254573.6]
+  assign _T_70 = _T_55 | _T_69; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@254574.6]
+  assign _T_71 = {_T_64,_T_61}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@254575.6]
+  assign _T_72 = {_T_70,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@254576.6]
+  assign _T_73 = {_T_72,_T_71}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@254577.6]
+  assign _T_92 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@254600.6]
+  assign _T_94 = io_in_a_bits_address ^ 29'h10053000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@254603.8]
+  assign _T_95 = {1'b0,$signed(_T_94)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@254604.8]
+  assign _T_96 = $signed(_T_95) & $signed(-30'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@254605.8]
+  assign _T_97 = $signed(_T_96); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@254606.8]
+  assign _T_98 = $signed(_T_97) == $signed(30'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@254607.8]
+  assign _T_103 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254612.8]
+  assign _T_112 = _T_46 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254633.8]
+  assign _T_113 = _T_112 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254634.8]
+  assign _T_115 = _T_40 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254640.8]
+  assign _T_116 = _T_115 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254641.8]
+  assign _T_117 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@254646.8]
+  assign _T_119 = _T_117 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254648.8]
+  assign _T_120 = _T_119 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254649.8]
+  assign _T_121 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@254654.8]
+  assign _T_122 = _T_121 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@254655.8]
+  assign _T_124 = _T_122 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254657.8]
+  assign _T_125 = _T_124 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254658.8]
+  assign _T_126 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@254663.8]
+  assign _T_128 = _T_126 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254665.8]
+  assign _T_129 = _T_128 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254666.8]
+  assign _T_130 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@254672.6]
+  assign _T_159 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@254726.8]
+  assign _T_161 = _T_159 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254728.8]
+  assign _T_162 = _T_161 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254729.8]
+  assign _T_172 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@254752.6]
+  assign _T_174 = io_in_a_bits_size <= 2'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@254755.8]
+  assign _T_182 = _T_174 & _T_98; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@254763.8]
+  assign _T_185 = _T_182 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254766.8]
+  assign _T_186 = _T_185 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254767.8]
+  assign _T_193 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@254786.8]
+  assign _T_195 = _T_193 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254788.8]
+  assign _T_196 = _T_195 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254789.8]
+  assign _T_197 = io_in_a_bits_mask == _T_73; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@254794.8]
+  assign _T_199 = _T_197 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254796.8]
+  assign _T_200 = _T_199 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254797.8]
+  assign _T_205 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@254811.6]
+  assign _T_234 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@254862.6]
+  assign _T_259 = ~ _T_73; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@254904.8]
+  assign _T_260 = io_in_a_bits_mask & _T_259; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@254905.8]
+  assign _T_261 = _T_260 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@254906.8]
+  assign _T_263 = _T_261 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254908.8]
+  assign _T_264 = _T_263 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254909.8]
+  assign _T_265 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@254915.6]
+  assign _T_283 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@254946.8]
+  assign _T_285 = _T_283 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254948.8]
+  assign _T_286 = _T_285 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254949.8]
+  assign _T_291 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@254963.6]
+  assign _T_309 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@254994.8]
+  assign _T_311 = _T_309 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254996.8]
+  assign _T_312 = _T_311 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254997.8]
+  assign _T_317 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@255011.6]
+  assign _T_343 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@255061.6]
+  assign _T_345 = _T_343 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@255063.6]
+  assign _T_346 = _T_345 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@255064.6]
+  assign _T_363 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@255081.6]
+  assign _T_367 = io_in_d_bits_size >= 2'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@255090.8]
+  assign _T_369 = _T_367 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255092.8]
+  assign _T_370 = _T_369 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255093.8]
+  assign _T_383 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@255123.6]
+  assign _T_411 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@255181.6]
+  assign _T_504 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@255371.4]
+  assign _T_515 = _T_514 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255381.4]
+  assign _T_516 = $unsigned(_T_515); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255382.4]
+  assign _T_517 = _T_516[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255383.4]
+  assign _T_518 = _T_514 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@255384.4]
+  assign _T_536 = _T_518 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@255400.4]
+  assign _T_537 = io_in_a_valid & _T_536; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@255401.4]
+  assign _T_538 = io_in_a_bits_opcode == _T_527; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@255403.6]
+  assign _T_540 = _T_538 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255405.6]
+  assign _T_541 = _T_540 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255406.6]
+  assign _T_542 = io_in_a_bits_param == _T_529; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@255411.6]
+  assign _T_544 = _T_542 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255413.6]
+  assign _T_545 = _T_544 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255414.6]
+  assign _T_546 = io_in_a_bits_size == _T_531; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@255419.6]
+  assign _T_548 = _T_546 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255421.6]
+  assign _T_549 = _T_548 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255422.6]
+  assign _T_550 = io_in_a_bits_source == _T_533; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@255427.6]
+  assign _T_552 = _T_550 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255429.6]
+  assign _T_553 = _T_552 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255430.6]
+  assign _T_554 = io_in_a_bits_address == _T_535; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@255435.6]
+  assign _T_556 = _T_554 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255437.6]
+  assign _T_557 = _T_556 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255438.6]
+  assign _T_559 = _T_504 & _T_518; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@255445.4]
+  assign _T_560 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@255453.4]
+  assign _T_570 = _T_569 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255462.4]
+  assign _T_571 = $unsigned(_T_570); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255463.4]
+  assign _T_572 = _T_571[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255464.4]
+  assign _T_573 = _T_569 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@255465.4]
+  assign _T_593 = _T_573 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@255482.4]
+  assign _T_594 = io_in_d_valid & _T_593; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@255483.4]
+  assign _T_595 = io_in_d_bits_opcode == _T_582; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@255485.6]
+  assign _T_597 = _T_595 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255487.6]
+  assign _T_598 = _T_597 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255488.6]
+  assign _T_603 = io_in_d_bits_size == _T_586; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@255501.6]
+  assign _T_605 = _T_603 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255503.6]
+  assign _T_606 = _T_605 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255504.6]
+  assign _T_607 = io_in_d_bits_source == _T_588; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@255509.6]
+  assign _T_609 = _T_607 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255511.6]
+  assign _T_610 = _T_609 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255512.6]
+  assign _T_620 = _T_560 & _T_573; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@255535.4]
+  assign _T_634 = _T_633 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255555.4]
+  assign _T_635 = $unsigned(_T_634); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255556.4]
+  assign _T_636 = _T_635[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255557.4]
+  assign _T_637 = _T_633 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@255558.4]
+  assign _T_655 = _T_654 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255578.4]
+  assign _T_656 = $unsigned(_T_655); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255579.4]
+  assign _T_657 = _T_656[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255580.4]
+  assign _T_658 = _T_654 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@255581.4]
+  assign _T_669 = _T_504 & _T_637; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@255596.4]
+  assign _T_671 = 64'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@255599.6]
+  assign _T_672 = _T_622 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@255601.6]
+  assign _T_673 = _T_672[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@255602.6]
+  assign _T_674 = _T_673 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255603.6]
+  assign _T_676 = _T_674 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@255605.6]
+  assign _T_677 = _T_676 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@255606.6]
+  assign _GEN_15 = _T_669 ? _T_671 : 64'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@255598.4]
+  assign _T_682 = _T_560 & _T_658; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@255617.4]
+  assign _T_684 = _T_363 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@255619.4]
+  assign _T_685 = _T_682 & _T_684; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@255620.4]
+  assign _T_686 = 64'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@255622.6]
+  assign _T_687 = _GEN_15 | _T_622; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@255624.6]
+  assign _T_688 = _T_687 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@255625.6]
+  assign _T_689 = _T_688[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@255626.6]
+  assign _T_691 = _T_689 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@255628.6]
+  assign _T_692 = _T_691 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@255629.6]
+  assign _GEN_16 = _T_685 ? _T_686 : 64'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@255621.4]
+  assign _T_693 = _T_622 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@255635.4]
+  assign _T_694 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@255636.4]
+  assign _T_695 = _T_693 & _T_694; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@255637.4]
+  assign _T_698 = _T_622 != 64'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@255642.4]
+  assign _T_699 = _T_698 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@255643.4]
+  assign _T_700 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@255644.4]
+  assign _T_701 = _T_699 | _T_700; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@255645.4]
+  assign _T_702 = _T_697 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@255646.4]
+  assign _T_703 = _T_701 | _T_702; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@255647.4]
+  assign _T_705 = _T_703 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@255649.4]
+  assign _T_706 = _T_705 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@255650.4]
+  assign _T_708 = _T_697 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@255656.4]
+  assign _T_711 = _T_504 | _T_560; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@255660.4]
+  assign _GEN_19 = io_in_a_valid & _T_92; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254614.10]
+  assign _GEN_33 = io_in_a_valid & _T_130; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254686.10]
+  assign _GEN_49 = io_in_a_valid & _T_172; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254769.10]
+  assign _GEN_59 = io_in_a_valid & _T_205; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254828.10]
+  assign _GEN_67 = io_in_a_valid & _T_234; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254879.10]
+  assign _GEN_75 = io_in_a_valid & _T_265; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254929.10]
+  assign _GEN_83 = io_in_a_valid & _T_291; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254977.10]
+  assign _GEN_91 = io_in_a_valid & _T_317; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255025.10]
+  assign _GEN_99 = io_in_d_valid & _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255095.10]
+  assign _GEN_101 = io_in_d_valid & _T_383; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255136.10]
+  assign _GEN_105 = io_in_d_valid & _T_411; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255194.10]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  _T_514 = _RAND_0[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  _T_527 = _RAND_1[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  _T_529 = _RAND_2[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  _T_531 = _RAND_3[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  _T_533 = _RAND_4[5:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  _T_535 = _RAND_5[28:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {1{`RANDOM}};
+  _T_569 = _RAND_6[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {1{`RANDOM}};
+  _T_582 = _RAND_7[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_8 = {1{`RANDOM}};
+  _T_586 = _RAND_8[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_9 = {1{`RANDOM}};
+  _T_588 = _RAND_9[5:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_10 = {2{`RANDOM}};
+  _T_622 = _RAND_10[63:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_11 = {1{`RANDOM}};
+  _T_633 = _RAND_11[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_12 = {1{`RANDOM}};
+  _T_654 = _RAND_12[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_13 = {1{`RANDOM}};
+  _T_697 = _RAND_13[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      _T_514 <= 1'h0;
+    end else begin
+      if (_T_504) begin
+        if (_T_518) begin
+          _T_514 <= 1'h0;
+        end else begin
+          _T_514 <= _T_517;
+        end
+      end
+    end
+    if (_T_559) begin
+      _T_527 <= io_in_a_bits_opcode;
+    end
+    if (_T_559) begin
+      _T_529 <= io_in_a_bits_param;
+    end
+    if (_T_559) begin
+      _T_531 <= io_in_a_bits_size;
+    end
+    if (_T_559) begin
+      _T_533 <= io_in_a_bits_source;
+    end
+    if (_T_559) begin
+      _T_535 <= io_in_a_bits_address;
+    end
+    if (reset) begin
+      _T_569 <= 1'h0;
+    end else begin
+      if (_T_560) begin
+        if (_T_573) begin
+          _T_569 <= 1'h0;
+        end else begin
+          _T_569 <= _T_572;
+        end
+      end
+    end
+    if (_T_620) begin
+      _T_582 <= io_in_d_bits_opcode;
+    end
+    if (_T_620) begin
+      _T_586 <= io_in_d_bits_size;
+    end
+    if (_T_620) begin
+      _T_588 <= io_in_d_bits_source;
+    end
+    if (reset) begin
+      _T_622 <= 64'h0;
+    end else begin
+      _T_622 <= _T_695;
+    end
+    if (reset) begin
+      _T_633 <= 1'h0;
+    end else begin
+      if (_T_504) begin
+        if (_T_637) begin
+          _T_633 <= 1'h0;
+        end else begin
+          _T_633 <= _T_636;
+        end
+      end
+    end
+    if (reset) begin
+      _T_654 <= 1'h0;
+    end else begin
+      if (_T_560) begin
+        if (_T_658) begin
+          _T_654 <= 1'h0;
+        end else begin
+          _T_654 <= _T_657;
+        end
+      end
+    end
+    if (reset) begin
+      _T_697 <= 32'h0;
+    end else begin
+      if (_T_711) begin
+        _T_697 <= 32'h0;
+      end else begin
+        _T_697 <= _T_708;
+      end
+    end
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@254525.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@254526.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@254597.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@254598.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254614.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_103) begin
+          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254615.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254621.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_103) begin
+          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254622.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254628.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254629.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_113) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254636.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_113) begin
+          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254637.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254643.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_116) begin
+          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254644.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_120) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254651.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_120) begin
+          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254652.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_125) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254660.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_125) begin
+          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254661.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_129) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254668.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_129) begin
+          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254669.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254686.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_103) begin
+          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254687.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254693.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_103) begin
+          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254694.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254700.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254701.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_113) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254708.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_113) begin
+          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254709.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254715.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_116) begin
+          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254716.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_120) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254723.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_120) begin
+          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254724.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_162) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254731.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_162) begin
+          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254732.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_125) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254740.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_125) begin
+          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254741.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_129) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254748.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_129) begin
+          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254749.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_186) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254769.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_186) begin
+          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254770.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254776.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254777.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254783.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_116) begin
+          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254784.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_196) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254791.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_196) begin
+          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254792.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254799.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_200) begin
+          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254800.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_129) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254807.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_129) begin
+          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254808.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_59 & _T_186) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254828.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_59 & _T_186) begin
+          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254829.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254835.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254836.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_59 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254842.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_59 & _T_116) begin
+          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254843.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_59 & _T_196) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254850.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_59 & _T_196) begin
+          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254851.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_59 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254858.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_59 & _T_200) begin
+          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254859.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_67 & _T_186) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254879.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_67 & _T_186) begin
+          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254880.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254886.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254887.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_67 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254893.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_67 & _T_116) begin
+          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254894.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_67 & _T_196) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254901.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_67 & _T_196) begin
+          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254902.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_67 & _T_264) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254911.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_67 & _T_264) begin
+          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254912.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254929.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_103) begin
+          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254930.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254936.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254937.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254943.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_116) begin
+          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254944.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_286) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254951.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_286) begin
+          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254952.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254959.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_200) begin
+          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254960.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_83 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254977.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_83 & _T_103) begin
+          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254978.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254984.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254985.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_83 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254991.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_83 & _T_116) begin
+          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254992.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_83 & _T_312) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254999.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_83 & _T_312) begin
+          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255000.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_83 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255007.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_83 & _T_200) begin
+          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255008.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_91 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255025.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_91 & _T_103) begin
+          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255026.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255032.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255033.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_91 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255039.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_91 & _T_116) begin
+          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255040.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_91 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255047.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_91 & _T_200) begin
+          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255048.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_91 & _T_129) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255055.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_91 & _T_129) begin
+          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255056.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_346) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@255066.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_346) begin
+          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@255067.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255087.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255088.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_99 & _T_370) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255095.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_99 & _T_370) begin
+          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255096.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255103.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255104.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255111.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255112.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255119.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255120.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255129.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255130.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_101 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255136.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_101 & _T_103) begin
+          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255137.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_101 & _T_370) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255144.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_101 & _T_370) begin
+          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255145.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255152.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255153.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255160.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255161.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255168.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255169.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255177.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255178.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255187.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255188.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255194.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_103) begin
+          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255195.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_370) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255202.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_370) begin
+          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255203.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255210.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255211.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255218.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255219.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255227.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255228.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255236.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255237.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255246.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255247.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255254.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255255.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255262.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255263.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255271.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255272.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255281.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255282.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255289.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255290.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255298.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255299.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255307.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255308.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255317.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255318.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255325.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255326.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255333.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255334.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255342.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255343.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255352.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255353.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255360.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255361.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255368.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255369.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_541) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255408.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_541) begin
+          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255409.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_545) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255416.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_545) begin
+          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255417.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_549) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255424.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_549) begin
+          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255425.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_553) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255432.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_553) begin
+          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255433.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_557) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255440.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_557) begin
+          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255441.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_594 & _T_598) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255490.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_594 & _T_598) begin
+          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255491.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255498.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255499.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_594 & _T_606) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255506.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_594 & _T_606) begin
+          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255507.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_594 & _T_610) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255514.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_594 & _T_610) begin
+          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255515.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255522.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255523.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255530.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255531.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_669 & _T_677) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@255608.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_669 & _T_677) begin
+          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@255609.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_685 & _T_692) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@255631.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_685 & _T_692) begin
+          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@255632.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_706) begin
+          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@255652.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_706) begin
+          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@255653.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+endmodule
+module TLUART_4( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@255950.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@255951.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@255952.4]
+  output        auto_int_xing_out_sync_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@255953.4]
+  output        auto_control_xing_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@255953.4]
+  input         auto_control_xing_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@255953.4]
+  input  [2:0]  auto_control_xing_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@255953.4]
+  input  [2:0]  auto_control_xing_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@255953.4]
+  input  [1:0]  auto_control_xing_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@255953.4]
+  input  [5:0]  auto_control_xing_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@255953.4]
+  input  [28:0] auto_control_xing_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@255953.4]
+  input  [3:0]  auto_control_xing_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@255953.4]
+  input  [31:0] auto_control_xing_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@255953.4]
+  input         auto_control_xing_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@255953.4]
+  input         auto_control_xing_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@255953.4]
+  output        auto_control_xing_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@255953.4]
+  output [2:0]  auto_control_xing_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@255953.4]
+  output [1:0]  auto_control_xing_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@255953.4]
+  output [5:0]  auto_control_xing_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@255953.4]
+  output [31:0] auto_control_xing_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@255953.4]
+  output        auto_io_out_txd, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@255953.4]
+  input         auto_io_out_rxd // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@255953.4]
+);
+  wire  buffer_clock; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255958.4]
+  wire  buffer_reset; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255958.4]
+  wire  buffer_auto_in_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255958.4]
+  wire  buffer_auto_in_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255958.4]
+  wire [2:0] buffer_auto_in_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255958.4]
+  wire [2:0] buffer_auto_in_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255958.4]
+  wire [1:0] buffer_auto_in_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255958.4]
+  wire [5:0] buffer_auto_in_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255958.4]
+  wire [28:0] buffer_auto_in_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255958.4]
+  wire [3:0] buffer_auto_in_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255958.4]
+  wire [31:0] buffer_auto_in_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255958.4]
+  wire  buffer_auto_in_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255958.4]
+  wire  buffer_auto_in_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255958.4]
+  wire  buffer_auto_in_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255958.4]
+  wire [2:0] buffer_auto_in_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255958.4]
+  wire [1:0] buffer_auto_in_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255958.4]
+  wire [5:0] buffer_auto_in_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255958.4]
+  wire [31:0] buffer_auto_in_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255958.4]
+  wire  buffer_auto_out_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255958.4]
+  wire  buffer_auto_out_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255958.4]
+  wire [2:0] buffer_auto_out_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255958.4]
+  wire [2:0] buffer_auto_out_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255958.4]
+  wire [1:0] buffer_auto_out_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255958.4]
+  wire [5:0] buffer_auto_out_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255958.4]
+  wire [28:0] buffer_auto_out_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255958.4]
+  wire [3:0] buffer_auto_out_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255958.4]
+  wire [31:0] buffer_auto_out_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255958.4]
+  wire  buffer_auto_out_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255958.4]
+  wire  buffer_auto_out_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255958.4]
+  wire  buffer_auto_out_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255958.4]
+  wire [2:0] buffer_auto_out_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255958.4]
+  wire [1:0] buffer_auto_out_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255958.4]
+  wire [5:0] buffer_auto_out_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255958.4]
+  wire [31:0] buffer_auto_out_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255958.4]
+  wire  intsource_clock; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@255964.4]
+  wire  intsource_reset; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@255964.4]
+  wire  intsource_auto_in_0; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@255964.4]
+  wire  intsource_auto_out_sync_0; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@255964.4]
+  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@255976.4]
+  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@255976.4]
+  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@255976.4]
+  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@255976.4]
+  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@255976.4]
+  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@255976.4]
+  wire [1:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@255976.4]
+  wire [5:0] TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@255976.4]
+  wire [28:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@255976.4]
+  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@255976.4]
+  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@255976.4]
+  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@255976.4]
+  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@255976.4]
+  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@255976.4]
+  wire [1:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@255976.4]
+  wire [5:0] TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@255976.4]
+  wire  txm_clock; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@256030.4]
+  wire  txm_reset; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@256030.4]
+  wire  txm_io_en; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@256030.4]
+  wire  txm_io_in_ready; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@256030.4]
+  wire  txm_io_in_valid; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@256030.4]
+  wire [7:0] txm_io_in_bits; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@256030.4]
+  wire  txm_io_out; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@256030.4]
+  wire [15:0] txm_io_div; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@256030.4]
+  wire  txm_io_nstop; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@256030.4]
+  wire  txq_clock; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@256034.4]
+  wire  txq_reset; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@256034.4]
+  wire  txq_io_enq_ready; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@256034.4]
+  wire  txq_io_enq_valid; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@256034.4]
+  wire [7:0] txq_io_enq_bits; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@256034.4]
+  wire  txq_io_deq_ready; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@256034.4]
+  wire  txq_io_deq_valid; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@256034.4]
+  wire [7:0] txq_io_deq_bits; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@256034.4]
+  wire [3:0] txq_io_count; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@256034.4]
+  wire  rxm_clock; // @[UART.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@256038.4]
+  wire  rxm_reset; // @[UART.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@256038.4]
+  wire  rxm_io_en; // @[UART.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@256038.4]
+  wire  rxm_io_in; // @[UART.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@256038.4]
+  wire  rxm_io_out_valid; // @[UART.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@256038.4]
+  wire [7:0] rxm_io_out_bits; // @[UART.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@256038.4]
+  wire [15:0] rxm_io_div; // @[UART.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@256038.4]
+  wire  rxq_clock; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@256042.4]
+  wire  rxq_reset; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@256042.4]
+  wire  rxq_io_enq_ready; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@256042.4]
+  wire  rxq_io_enq_valid; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@256042.4]
+  wire [7:0] rxq_io_enq_bits; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@256042.4]
+  wire  rxq_io_deq_ready; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@256042.4]
+  wire  rxq_io_deq_valid; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@256042.4]
+  wire [7:0] rxq_io_deq_bits; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@256042.4]
+  wire [3:0] rxq_io_count; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@256042.4]
+  reg [15:0] div; // @[UART.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@256046.4]
+  reg [31:0] _RAND_0;
+  reg  txen; // @[UART.scala 72:17:shc.marmotcaravel.MarmotCaravelConfig.fir@256047.4]
+  reg [31:0] _RAND_1;
+  reg  rxen; // @[UART.scala 73:17:shc.marmotcaravel.MarmotCaravelConfig.fir@256048.4]
+  reg [31:0] _RAND_2;
+  reg [3:0] txwm; // @[UART.scala 74:17:shc.marmotcaravel.MarmotCaravelConfig.fir@256049.4]
+  reg [31:0] _RAND_3;
+  reg [3:0] rxwm; // @[UART.scala 75:17:shc.marmotcaravel.MarmotCaravelConfig.fir@256050.4]
+  reg [31:0] _RAND_4;
+  reg  nstop; // @[UART.scala 76:18:shc.marmotcaravel.MarmotCaravelConfig.fir@256051.4]
+  reg [31:0] _RAND_5;
+  reg  ie_rxwm; // @[UART.scala 89:15:shc.marmotcaravel.MarmotCaravelConfig.fir@256070.4]
+  reg [31:0] _RAND_6;
+  reg  ie_txwm; // @[UART.scala 89:15:shc.marmotcaravel.MarmotCaravelConfig.fir@256070.4]
+  reg [31:0] _RAND_7;
+  wire  ip_txwm; // @[UART.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@256073.4]
+  wire  ip_rxwm; // @[UART.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@256075.4]
+  wire  _T_298; // @[UART.scala 94:29:shc.marmotcaravel.MarmotCaravelConfig.fir@256077.4]
+  wire  _T_299; // @[UART.scala 94:53:shc.marmotcaravel.MarmotCaravelConfig.fir@256078.4]
+  wire  _T_303; // @[RegMapFIFO.scala 24:9:shc.marmotcaravel.MarmotCaravelConfig.fir@256083.4]
+  wire  _T_304; // @[RegMapFIFO.scala 45:21:shc.marmotcaravel.MarmotCaravelConfig.fir@256084.4]
+  wire [2:0] _T_42_a_bits_opcode; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@255974.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@256024.4]
+  wire  _T_312; // @[RegisterRouter.scala 58:36:shc.marmotcaravel.MarmotCaravelConfig.fir@256087.4]
+  wire [28:0] _T_42_a_bits_address; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@255974.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@256024.4]
+  wire [26:0] _T_313; // @[Edges.scala 192:34:shc.marmotcaravel.MarmotCaravelConfig.fir@256089.4]
+  wire [5:0] _T_42_a_bits_source; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@255974.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@256024.4]
+  wire [1:0] _T_42_a_bits_size; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@255974.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@256024.4]
+  wire [7:0] _T_314; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@256093.4]
+  wire [9:0] _T_309_bits_index; // @[RegisterRouter.scala 57:18:shc.marmotcaravel.MarmotCaravelConfig.fir@256085.4 RegisterRouter.scala 59:19:shc.marmotcaravel.MarmotCaravelConfig.fir@256090.4]
+  wire [9:0] _T_330; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256101.4]
+  wire  _T_332; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256103.4]
+  wire [3:0] _T_42_a_bits_mask; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@255974.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@256024.4]
+  wire  _T_434; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@256125.4]
+  wire  _T_435; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@256126.4]
+  wire  _T_436; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@256127.4]
+  wire  _T_437; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@256128.4]
+  wire [7:0] _T_439; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@256130.4]
+  wire [7:0] _T_441; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@256132.4]
+  wire [7:0] _T_443; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@256134.4]
+  wire [7:0] _T_445; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@256136.4]
+  wire [15:0] _T_446; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@256137.4]
+  wire [15:0] _T_447; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@256138.4]
+  wire [31:0] _T_448; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@256139.4]
+  wire [7:0] _T_464; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256155.4]
+  wire  _T_465; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256156.4]
+  wire [7:0] _T_467; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256158.4]
+  wire  _T_468; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256159.4]
+  wire  _T_42_a_valid; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@255974.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@256024.4]
+  wire  _T_42_d_ready; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@255974.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@256024.4]
+  wire  _T_900; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256619.4]
+  wire  _T_899; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256618.4]
+  wire [1:0] _T_908; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@256627.4]
+  wire  _T_898; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256617.4]
+  wire [2:0] _T_909; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@256628.4]
+  wire  _T_928; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256647.4]
+  wire  _T_929; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256648.4]
+  wire [7:0] _T_910; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@256629.4]
+  wire  _T_911; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256630.4]
+  wire  _T_996; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256734.4]
+  wire  _T_997; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256735.4]
+  wire  _T_1000; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256738.4]
+  wire  _T_1001; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256739.4]
+  wire  _T_476; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256167.4]
+  wire [31:0] _T_42_a_bits_data; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@255974.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@256024.4]
+  wire  _T_525; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256218.4]
+  wire  _T_526; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256219.4]
+  wire  _T_527; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256220.4]
+  wire  _T_531; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256224.4]
+  wire  _T_532; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256225.4]
+  wire  _T_534; // @[RegMapFIFO.scala 26:26:shc.marmotcaravel.MarmotCaravelConfig.fir@256227.4]
+  wire  _T_479; // @[RegMapFIFO.scala 18:33:shc.marmotcaravel.MarmotCaravelConfig.fir@256170.4]
+  wire [31:0] _T_544; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@256238.4]
+  wire  _T_547; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256241.4]
+  wire  _T_550; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256244.4]
+  wire  _T_551; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256245.4]
+  wire  _T_561; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256255.4]
+  wire  _T_572; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256266.4]
+  wire  _T_575; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256269.4]
+  wire  _T_576; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256270.4]
+  wire  _T_586; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256280.4]
+  wire [1:0] _T_596; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@256290.4]
+  wire  _T_912; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256631.4]
+  wire  _T_938; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256661.4]
+  wire  _T_939; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256662.4]
+  wire [7:0] _T_622; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256317.4]
+  wire [8:0] _T_648; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@256343.4]
+  wire [30:0] _T_649; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256344.4]
+  wire [31:0] _T_675; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@256370.4]
+  wire [15:0] _T_678; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256373.4]
+  wire [15:0] _T_681; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256376.4]
+  wire  _T_682; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256377.4]
+  wire  _T_917; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256636.4]
+  wire  _T_1036; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256795.4]
+  wire  _T_1037; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256796.4]
+  wire  _T_690; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256385.4]
+  wire [15:0] _T_692; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256387.4]
+  wire  _T_913; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256632.4]
+  wire  _T_1012; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256758.4]
+  wire  _T_1013; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256759.4]
+  wire  _T_715; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256413.4]
+  wire  _T_740; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256441.4]
+  wire [1:0] _T_752; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@256456.4]
+  wire [3:0] _T_755; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256459.4]
+  wire [3:0] _T_758; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256462.4]
+  wire  _T_759; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256463.4]
+  wire  _T_767; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256471.4]
+  wire [3:0] _T_769; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256473.4]
+  wire [15:0] _T_778; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256485.4]
+  wire [19:0] _T_779; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@256486.4]
+  wire  _T_914; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256633.4]
+  wire  _T_1018; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256768.4]
+  wire  _T_1019; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256769.4]
+  wire  _T_794; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256501.4]
+  wire  _T_819; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256529.4]
+  wire [15:0] _T_830; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256543.4]
+  wire [19:0] _T_831; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@256544.4]
+  wire  _T_915; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256634.4]
+  wire  _T_1024; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256777.4]
+  wire  _T_1025; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256778.4]
+  wire  _T_846; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256559.4]
+  wire  _T_871; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256587.4]
+  wire [1:0] _T_883; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@256602.4]
+  wire  _GEN_41; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@257015.4]
+  wire  _GEN_42; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@257015.4]
+  wire  _GEN_43; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@257015.4]
+  wire  _GEN_44; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@257015.4]
+  wire  _GEN_45; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@257015.4]
+  wire  _GEN_46; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@257015.4]
+  wire  _GEN_47; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@257015.4]
+  wire [31:0] _GEN_49; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@257027.4]
+  wire [31:0] _T_1225_2; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@257017.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@257021.4]
+  wire [31:0] _GEN_50; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@257027.4]
+  wire [31:0] _T_1225_3; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@257017.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@257022.4]
+  wire [31:0] _GEN_51; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@257027.4]
+  wire [31:0] _T_1225_4; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@257017.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@257023.4]
+  wire [31:0] _GEN_52; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@257027.4]
+  wire [31:0] _T_1225_5; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@257017.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@257024.4]
+  wire [31:0] _GEN_53; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@257027.4]
+  wire [31:0] _T_1225_6; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@257017.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@257025.4]
+  wire [31:0] _GEN_54; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@257027.4]
+  wire [31:0] _GEN_55; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@257027.4]
+  TLBuffer_21 buffer ( // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255958.4]
+    .clock(buffer_clock),
+    .reset(buffer_reset),
+    .auto_in_a_ready(buffer_auto_in_a_ready),
+    .auto_in_a_valid(buffer_auto_in_a_valid),
+    .auto_in_a_bits_opcode(buffer_auto_in_a_bits_opcode),
+    .auto_in_a_bits_param(buffer_auto_in_a_bits_param),
+    .auto_in_a_bits_size(buffer_auto_in_a_bits_size),
+    .auto_in_a_bits_source(buffer_auto_in_a_bits_source),
+    .auto_in_a_bits_address(buffer_auto_in_a_bits_address),
+    .auto_in_a_bits_mask(buffer_auto_in_a_bits_mask),
+    .auto_in_a_bits_data(buffer_auto_in_a_bits_data),
+    .auto_in_a_bits_corrupt(buffer_auto_in_a_bits_corrupt),
+    .auto_in_d_ready(buffer_auto_in_d_ready),
+    .auto_in_d_valid(buffer_auto_in_d_valid),
+    .auto_in_d_bits_opcode(buffer_auto_in_d_bits_opcode),
+    .auto_in_d_bits_size(buffer_auto_in_d_bits_size),
+    .auto_in_d_bits_source(buffer_auto_in_d_bits_source),
+    .auto_in_d_bits_data(buffer_auto_in_d_bits_data),
+    .auto_out_a_ready(buffer_auto_out_a_ready),
+    .auto_out_a_valid(buffer_auto_out_a_valid),
+    .auto_out_a_bits_opcode(buffer_auto_out_a_bits_opcode),
+    .auto_out_a_bits_param(buffer_auto_out_a_bits_param),
+    .auto_out_a_bits_size(buffer_auto_out_a_bits_size),
+    .auto_out_a_bits_source(buffer_auto_out_a_bits_source),
+    .auto_out_a_bits_address(buffer_auto_out_a_bits_address),
+    .auto_out_a_bits_mask(buffer_auto_out_a_bits_mask),
+    .auto_out_a_bits_data(buffer_auto_out_a_bits_data),
+    .auto_out_a_bits_corrupt(buffer_auto_out_a_bits_corrupt),
+    .auto_out_d_ready(buffer_auto_out_d_ready),
+    .auto_out_d_valid(buffer_auto_out_d_valid),
+    .auto_out_d_bits_opcode(buffer_auto_out_d_bits_opcode),
+    .auto_out_d_bits_size(buffer_auto_out_d_bits_size),
+    .auto_out_d_bits_source(buffer_auto_out_d_bits_source),
+    .auto_out_d_bits_data(buffer_auto_out_d_bits_data)
+  );
+  IntSyncCrossingSource_3 intsource ( // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@255964.4]
+    .clock(intsource_clock),
+    .reset(intsource_reset),
+    .auto_in_0(intsource_auto_in_0),
+    .auto_out_sync_0(intsource_auto_out_sync_0)
+  );
+  TLMonitor_67 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@255976.4]
+    .clock(TLMonitor_clock),
+    .reset(TLMonitor_reset),
+    .io_in_a_ready(TLMonitor_io_in_a_ready),
+    .io_in_a_valid(TLMonitor_io_in_a_valid),
+    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
+    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
+    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
+    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
+    .io_in_d_ready(TLMonitor_io_in_d_ready),
+    .io_in_d_valid(TLMonitor_io_in_d_valid),
+    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
+    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
+    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source)
+  );
+  UARTTx txm ( // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@256030.4]
+    .clock(txm_clock),
+    .reset(txm_reset),
+    .io_en(txm_io_en),
+    .io_in_ready(txm_io_in_ready),
+    .io_in_valid(txm_io_in_valid),
+    .io_in_bits(txm_io_in_bits),
+    .io_out(txm_io_out),
+    .io_div(txm_io_div),
+    .io_nstop(txm_io_nstop)
+  );
+  Queue_14 txq ( // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@256034.4]
+    .clock(txq_clock),
+    .reset(txq_reset),
+    .io_enq_ready(txq_io_enq_ready),
+    .io_enq_valid(txq_io_enq_valid),
+    .io_enq_bits(txq_io_enq_bits),
+    .io_deq_ready(txq_io_deq_ready),
+    .io_deq_valid(txq_io_deq_valid),
+    .io_deq_bits(txq_io_deq_bits),
+    .io_count(txq_io_count)
+  );
+  UARTRx rxm ( // @[UART.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@256038.4]
+    .clock(rxm_clock),
+    .reset(rxm_reset),
+    .io_en(rxm_io_en),
+    .io_in(rxm_io_in),
+    .io_out_valid(rxm_io_out_valid),
+    .io_out_bits(rxm_io_out_bits),
+    .io_div(rxm_io_div)
+  );
+  Queue_14 rxq ( // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@256042.4]
+    .clock(rxq_clock),
+    .reset(rxq_reset),
+    .io_enq_ready(rxq_io_enq_ready),
+    .io_enq_valid(rxq_io_enq_valid),
+    .io_enq_bits(rxq_io_enq_bits),
+    .io_deq_ready(rxq_io_deq_ready),
+    .io_deq_valid(rxq_io_deq_valid),
+    .io_deq_bits(rxq_io_deq_bits),
+    .io_count(rxq_io_count)
+  );
+  assign ip_txwm = txq_io_count < txwm; // @[UART.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@256073.4]
+  assign ip_rxwm = rxq_io_count > rxwm; // @[UART.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@256075.4]
+  assign _T_298 = ip_txwm & ie_txwm; // @[UART.scala 94:29:shc.marmotcaravel.MarmotCaravelConfig.fir@256077.4]
+  assign _T_299 = ip_rxwm & ie_rxwm; // @[UART.scala 94:53:shc.marmotcaravel.MarmotCaravelConfig.fir@256078.4]
+  assign _T_303 = txq_io_enq_ready == 1'h0; // @[RegMapFIFO.scala 24:9:shc.marmotcaravel.MarmotCaravelConfig.fir@256083.4]
+  assign _T_304 = rxq_io_deq_valid == 1'h0; // @[RegMapFIFO.scala 45:21:shc.marmotcaravel.MarmotCaravelConfig.fir@256084.4]
+  assign _T_42_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@255974.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@256024.4]
+  assign _T_312 = _T_42_a_bits_opcode == 3'h4; // @[RegisterRouter.scala 58:36:shc.marmotcaravel.MarmotCaravelConfig.fir@256087.4]
+  assign _T_42_a_bits_address = buffer_auto_out_a_bits_address; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@255974.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@256024.4]
+  assign _T_313 = _T_42_a_bits_address[28:2]; // @[Edges.scala 192:34:shc.marmotcaravel.MarmotCaravelConfig.fir@256089.4]
+  assign _T_42_a_bits_source = buffer_auto_out_a_bits_source; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@255974.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@256024.4]
+  assign _T_42_a_bits_size = buffer_auto_out_a_bits_size; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@255974.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@256024.4]
+  assign _T_314 = {_T_42_a_bits_source,_T_42_a_bits_size}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@256093.4]
+  assign _T_309_bits_index = _T_313[9:0]; // @[RegisterRouter.scala 57:18:shc.marmotcaravel.MarmotCaravelConfig.fir@256085.4 RegisterRouter.scala 59:19:shc.marmotcaravel.MarmotCaravelConfig.fir@256090.4]
+  assign _T_330 = _T_309_bits_index & 10'h3f8; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256101.4]
+  assign _T_332 = _T_330 == 10'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256103.4]
+  assign _T_42_a_bits_mask = buffer_auto_out_a_bits_mask; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@255974.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@256024.4]
+  assign _T_434 = _T_42_a_bits_mask[0]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@256125.4]
+  assign _T_435 = _T_42_a_bits_mask[1]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@256126.4]
+  assign _T_436 = _T_42_a_bits_mask[2]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@256127.4]
+  assign _T_437 = _T_42_a_bits_mask[3]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@256128.4]
+  assign _T_439 = _T_434 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@256130.4]
+  assign _T_441 = _T_435 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@256132.4]
+  assign _T_443 = _T_436 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@256134.4]
+  assign _T_445 = _T_437 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@256136.4]
+  assign _T_446 = {_T_441,_T_439}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@256137.4]
+  assign _T_447 = {_T_445,_T_443}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@256138.4]
+  assign _T_448 = {_T_447,_T_446}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@256139.4]
+  assign _T_464 = _T_448[7:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256155.4]
+  assign _T_465 = _T_464 != 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256156.4]
+  assign _T_467 = ~ _T_464; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256158.4]
+  assign _T_468 = _T_467 == 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256159.4]
+  assign _T_42_a_valid = buffer_auto_out_a_valid; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@255974.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@256024.4]
+  assign _T_42_d_ready = buffer_auto_out_d_ready; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@255974.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@256024.4]
+  assign _T_900 = _T_309_bits_index[2]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256619.4]
+  assign _T_899 = _T_309_bits_index[1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256618.4]
+  assign _T_908 = {_T_900,_T_899}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@256627.4]
+  assign _T_898 = _T_309_bits_index[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256617.4]
+  assign _T_909 = {_T_908,_T_898}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@256628.4]
+  assign _T_928 = _T_42_a_valid & _T_42_d_ready; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256647.4]
+  assign _T_929 = _T_928 & _T_312; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256648.4]
+  assign _T_910 = 8'h1 << _T_909; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@256629.4]
+  assign _T_911 = _T_910[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256630.4]
+  assign _T_996 = _T_312 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256734.4]
+  assign _T_997 = _T_928 & _T_996; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256735.4]
+  assign _T_1000 = _T_997 & _T_911; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256738.4]
+  assign _T_1001 = _T_1000 & _T_332; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256739.4]
+  assign _T_476 = _T_1001 & _T_468; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256167.4]
+  assign _T_42_a_bits_data = buffer_auto_out_a_bits_data; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@255974.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@256024.4]
+  assign _T_525 = _T_448[31]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256218.4]
+  assign _T_526 = ~ _T_525; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256219.4]
+  assign _T_527 = _T_526 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256220.4]
+  assign _T_531 = _T_1001 & _T_527; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256224.4]
+  assign _T_532 = _T_42_a_bits_data[31]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256225.4]
+  assign _T_534 = _T_531 & _T_532; // @[RegMapFIFO.scala 26:26:shc.marmotcaravel.MarmotCaravelConfig.fir@256227.4]
+  assign _T_479 = _T_534 == 1'h0; // @[RegMapFIFO.scala 18:33:shc.marmotcaravel.MarmotCaravelConfig.fir@256170.4]
+  assign _T_544 = {_T_303,31'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@256238.4]
+  assign _T_547 = _T_448[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256241.4]
+  assign _T_550 = ~ _T_547; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256244.4]
+  assign _T_551 = _T_550 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256245.4]
+  assign _T_561 = _T_42_a_bits_data[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256255.4]
+  assign _T_572 = _T_448[1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256266.4]
+  assign _T_575 = ~ _T_572; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256269.4]
+  assign _T_576 = _T_575 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256270.4]
+  assign _T_586 = _T_42_a_bits_data[1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256280.4]
+  assign _T_596 = {ip_rxwm,ip_txwm}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@256290.4]
+  assign _T_912 = _T_910[1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256631.4]
+  assign _T_938 = _T_929 & _T_912; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256661.4]
+  assign _T_939 = _T_938 & _T_332; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256662.4]
+  assign _T_622 = rxq_io_deq_bits; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256317.4]
+  assign _T_648 = {1'h0,_T_622}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@256343.4]
+  assign _T_649 = {{22'd0}, _T_648}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256344.4]
+  assign _T_675 = {_T_304,_T_649}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@256370.4]
+  assign _T_678 = _T_448[15:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256373.4]
+  assign _T_681 = ~ _T_678; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256376.4]
+  assign _T_682 = _T_681 == 16'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256377.4]
+  assign _T_917 = _T_910[6]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256636.4]
+  assign _T_1036 = _T_997 & _T_917; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256795.4]
+  assign _T_1037 = _T_1036 & _T_332; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256796.4]
+  assign _T_690 = _T_1037 & _T_682; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256385.4]
+  assign _T_692 = _T_42_a_bits_data[15:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256387.4]
+  assign _T_913 = _T_910[2]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256632.4]
+  assign _T_1012 = _T_997 & _T_913; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256758.4]
+  assign _T_1013 = _T_1012 & _T_332; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256759.4]
+  assign _T_715 = _T_1013 & _T_551; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256413.4]
+  assign _T_740 = _T_1013 & _T_576; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256441.4]
+  assign _T_752 = {nstop,txen}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@256456.4]
+  assign _T_755 = _T_448[19:16]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256459.4]
+  assign _T_758 = ~ _T_755; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256462.4]
+  assign _T_759 = _T_758 == 4'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256463.4]
+  assign _T_767 = _T_1013 & _T_759; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256471.4]
+  assign _T_769 = _T_42_a_bits_data[19:16]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256473.4]
+  assign _T_778 = {{14'd0}, _T_752}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256485.4]
+  assign _T_779 = {txwm,_T_778}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@256486.4]
+  assign _T_914 = _T_910[3]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256633.4]
+  assign _T_1018 = _T_997 & _T_914; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256768.4]
+  assign _T_1019 = _T_1018 & _T_332; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256769.4]
+  assign _T_794 = _T_1019 & _T_551; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256501.4]
+  assign _T_819 = _T_1019 & _T_759; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256529.4]
+  assign _T_830 = {{15'd0}, rxen}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256543.4]
+  assign _T_831 = {rxwm,_T_830}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@256544.4]
+  assign _T_915 = _T_910[4]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256634.4]
+  assign _T_1024 = _T_997 & _T_915; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256777.4]
+  assign _T_1025 = _T_1024 & _T_332; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256778.4]
+  assign _T_846 = _T_1025 & _T_551; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256559.4]
+  assign _T_871 = _T_1025 & _T_576; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256587.4]
+  assign _T_883 = {ie_rxwm,ie_txwm}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@256602.4]
+  assign _GEN_41 = 3'h1 == _T_909 ? _T_332 : _T_332; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@257015.4]
+  assign _GEN_42 = 3'h2 == _T_909 ? _T_332 : _GEN_41; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@257015.4]
+  assign _GEN_43 = 3'h3 == _T_909 ? _T_332 : _GEN_42; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@257015.4]
+  assign _GEN_44 = 3'h4 == _T_909 ? _T_332 : _GEN_43; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@257015.4]
+  assign _GEN_45 = 3'h5 == _T_909 ? _T_332 : _GEN_44; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@257015.4]
+  assign _GEN_46 = 3'h6 == _T_909 ? _T_332 : _GEN_45; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@257015.4]
+  assign _GEN_47 = 3'h7 == _T_909 ? 1'h1 : _GEN_46; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@257015.4]
+  assign _GEN_49 = 3'h1 == _T_909 ? _T_675 : _T_544; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@257027.4]
+  assign _T_1225_2 = {{12'd0}, _T_779}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@257017.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@257021.4]
+  assign _GEN_50 = 3'h2 == _T_909 ? _T_1225_2 : _GEN_49; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@257027.4]
+  assign _T_1225_3 = {{12'd0}, _T_831}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@257017.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@257022.4]
+  assign _GEN_51 = 3'h3 == _T_909 ? _T_1225_3 : _GEN_50; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@257027.4]
+  assign _T_1225_4 = {{30'd0}, _T_883}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@257017.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@257023.4]
+  assign _GEN_52 = 3'h4 == _T_909 ? _T_1225_4 : _GEN_51; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@257027.4]
+  assign _T_1225_5 = {{30'd0}, _T_596}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@257017.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@257024.4]
+  assign _GEN_53 = 3'h5 == _T_909 ? _T_1225_5 : _GEN_52; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@257027.4]
+  assign _T_1225_6 = {{16'd0}, div}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@257017.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@257025.4]
+  assign _GEN_54 = 3'h6 == _T_909 ? _T_1225_6 : _GEN_53; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@257027.4]
+  assign _GEN_55 = 3'h7 == _T_909 ? 32'h0 : _GEN_54; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@257027.4]
+  assign auto_int_xing_out_sync_0 = intsource_auto_out_sync_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@256029.4]
+  assign auto_control_xing_in_a_ready = buffer_auto_in_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@256028.4]
+  assign auto_control_xing_in_d_valid = buffer_auto_in_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@256028.4]
+  assign auto_control_xing_in_d_bits_opcode = buffer_auto_in_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@256028.4]
+  assign auto_control_xing_in_d_bits_size = buffer_auto_in_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@256028.4]
+  assign auto_control_xing_in_d_bits_source = buffer_auto_in_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@256028.4]
+  assign auto_control_xing_in_d_bits_data = buffer_auto_in_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@256028.4]
+  assign auto_io_out_txd = txm_io_out; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@256027.4]
+  assign buffer_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@255962.4]
+  assign buffer_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@255963.4]
+  assign buffer_auto_in_a_valid = auto_control_xing_in_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@256025.4]
+  assign buffer_auto_in_a_bits_opcode = auto_control_xing_in_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@256025.4]
+  assign buffer_auto_in_a_bits_param = auto_control_xing_in_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@256025.4]
+  assign buffer_auto_in_a_bits_size = auto_control_xing_in_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@256025.4]
+  assign buffer_auto_in_a_bits_source = auto_control_xing_in_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@256025.4]
+  assign buffer_auto_in_a_bits_address = auto_control_xing_in_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@256025.4]
+  assign buffer_auto_in_a_bits_mask = auto_control_xing_in_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@256025.4]
+  assign buffer_auto_in_a_bits_data = auto_control_xing_in_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@256025.4]
+  assign buffer_auto_in_a_bits_corrupt = auto_control_xing_in_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@256025.4]
+  assign buffer_auto_in_d_ready = auto_control_xing_in_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@256025.4]
+  assign buffer_auto_out_a_ready = buffer_auto_out_d_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@256024.4]
+  assign buffer_auto_out_d_valid = buffer_auto_out_a_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@256024.4]
+  assign buffer_auto_out_d_bits_opcode = {{2'd0}, _T_312}; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@256024.4]
+  assign buffer_auto_out_d_bits_size = _T_314[1:0]; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@256024.4]
+  assign buffer_auto_out_d_bits_source = _T_314[7:2]; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@256024.4]
+  assign buffer_auto_out_d_bits_data = _GEN_47 ? _GEN_55 : 32'h0; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@256024.4]
+  assign intsource_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@255968.4]
+  assign intsource_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@255969.4]
+  assign intsource_auto_in_0 = _T_298 | _T_299; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@256023.4]
+  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@255978.4]
+  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@255979.4]
+  assign TLMonitor_io_in_a_ready = buffer_auto_out_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@256012.4]
+  assign TLMonitor_io_in_a_valid = buffer_auto_out_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@256012.4]
+  assign TLMonitor_io_in_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@256012.4]
+  assign TLMonitor_io_in_a_bits_param = buffer_auto_out_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@256012.4]
+  assign TLMonitor_io_in_a_bits_size = buffer_auto_out_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@256012.4]
+  assign TLMonitor_io_in_a_bits_source = buffer_auto_out_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@256012.4]
+  assign TLMonitor_io_in_a_bits_address = buffer_auto_out_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@256012.4]
+  assign TLMonitor_io_in_a_bits_mask = buffer_auto_out_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@256012.4]
+  assign TLMonitor_io_in_a_bits_corrupt = buffer_auto_out_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@256012.4]
+  assign TLMonitor_io_in_d_ready = buffer_auto_out_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@256012.4]
+  assign TLMonitor_io_in_d_valid = buffer_auto_out_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@256012.4]
+  assign TLMonitor_io_in_d_bits_opcode = {{2'd0}, _T_312}; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@256012.4]
+  assign TLMonitor_io_in_d_bits_size = _T_314[1:0]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@256012.4]
+  assign TLMonitor_io_in_d_bits_source = _T_314[7:2]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@256012.4]
+  assign txm_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@256032.4]
+  assign txm_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@256033.4]
+  assign txm_io_en = txen; // @[UART.scala 78:13:shc.marmotcaravel.MarmotCaravelConfig.fir@256052.4]
+  assign txm_io_in_valid = txq_io_deq_valid; // @[UART.scala 79:13:shc.marmotcaravel.MarmotCaravelConfig.fir@256053.4]
+  assign txm_io_in_bits = txq_io_deq_bits; // @[UART.scala 79:13:shc.marmotcaravel.MarmotCaravelConfig.fir@256053.4]
+  assign txm_io_div = div; // @[UART.scala 80:14:shc.marmotcaravel.MarmotCaravelConfig.fir@256054.4]
+  assign txm_io_nstop = nstop; // @[UART.scala 81:16:shc.marmotcaravel.MarmotCaravelConfig.fir@256055.4]
+  assign txq_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@256036.4]
+  assign txq_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@256037.4]
+  assign txq_io_enq_valid = _T_476 & _T_479; // @[RegMapFIFO.scala 18:21:shc.marmotcaravel.MarmotCaravelConfig.fir@256172.4]
+  assign txq_io_enq_bits = _T_42_a_bits_data[7:0]; // @[RegMapFIFO.scala 19:20:shc.marmotcaravel.MarmotCaravelConfig.fir@256173.4]
+  assign txq_io_deq_ready = txm_io_in_ready; // @[UART.scala 79:13:shc.marmotcaravel.MarmotCaravelConfig.fir@256053.4]
+  assign rxm_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@256040.4]
+  assign rxm_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@256041.4]
+  assign rxm_io_en = rxen; // @[UART.scala 84:13:shc.marmotcaravel.MarmotCaravelConfig.fir@256057.4]
+  assign rxm_io_in = auto_io_out_rxd; // @[UART.scala 85:13:shc.marmotcaravel.MarmotCaravelConfig.fir@256058.4]
+  assign rxm_io_div = div; // @[UART.scala 87:14:shc.marmotcaravel.MarmotCaravelConfig.fir@256060.4]
+  assign rxq_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@256044.4]
+  assign rxq_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@256045.4]
+  assign rxq_io_enq_valid = rxm_io_out_valid; // @[UART.scala 86:14:shc.marmotcaravel.MarmotCaravelConfig.fir@256059.4]
+  assign rxq_io_enq_bits = rxm_io_out_bits; // @[UART.scala 86:14:shc.marmotcaravel.MarmotCaravelConfig.fir@256059.4]
+  assign rxq_io_deq_ready = _T_939 & _T_465; // @[RegMapFIFO.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@256307.4]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  div = _RAND_0[15:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  txen = _RAND_1[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  rxen = _RAND_2[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  txwm = _RAND_3[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  rxwm = _RAND_4[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  nstop = _RAND_5[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {1{`RANDOM}};
+  ie_rxwm = _RAND_6[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {1{`RANDOM}};
+  ie_txwm = _RAND_7[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      div <= 16'h364;
+    end else begin
+      if (_T_690) begin
+        div <= _T_692;
+      end
+    end
+    if (reset) begin
+      txen <= 1'h0;
+    end else begin
+      if (_T_715) begin
+        txen <= _T_561;
+      end
+    end
+    if (reset) begin
+      rxen <= 1'h0;
+    end else begin
+      if (_T_794) begin
+        rxen <= _T_561;
+      end
+    end
+    if (reset) begin
+      txwm <= 4'h0;
+    end else begin
+      if (_T_767) begin
+        txwm <= _T_769;
+      end
+    end
+    if (reset) begin
+      rxwm <= 4'h0;
+    end else begin
+      if (_T_819) begin
+        rxwm <= _T_769;
+      end
+    end
+    if (reset) begin
+      nstop <= 1'h0;
+    end else begin
+      if (_T_740) begin
+        nstop <= _T_586;
+      end
+    end
+    if (reset) begin
+      ie_rxwm <= 1'h0;
+    end else begin
+      if (_T_871) begin
+        ie_rxwm <= _T_586;
+      end
+    end
+    if (reset) begin
+      ie_txwm <= 1'h0;
+    end else begin
+      if (_T_846) begin
+        ie_txwm <= _T_561;
+      end
+    end
+  end
+endmodule
+module TLMonitor_68( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@257122.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@257123.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@257124.4]
+  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@257125.4]
+  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@257125.4]
+  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@257125.4]
+  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@257125.4]
+  input  [1:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@257125.4]
+  input  [5:0]  io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@257125.4]
+  input  [28:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@257125.4]
+  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@257125.4]
+  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@257125.4]
+  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@257125.4]
+  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@257125.4]
+  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@257125.4]
+  input  [1:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@257125.4]
+  input  [5:0]  io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@257125.4]
+);
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@258252.4]
+  wire [4:0] _T_36; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@257152.6]
+  wire [1:0] _T_37; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@257153.6]
+  wire [1:0] _T_38; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@257154.6]
+  wire [28:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@257155.6]
+  wire [28:0] _T_39; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@257155.6]
+  wire  _T_40; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@257156.6]
+  wire  _T_42; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@257158.6]
+  wire [1:0] _T_43; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@257159.6]
+  wire [1:0] _T_45; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@257161.6]
+  wire  _T_46; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@257162.6]
+  wire  _T_47; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@257163.6]
+  wire  _T_48; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@257164.6]
+  wire  _T_49; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@257165.6]
+  wire  _T_51; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@257167.6]
+  wire  _T_52; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@257168.6]
+  wire  _T_54; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@257170.6]
+  wire  _T_55; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@257171.6]
+  wire  _T_56; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@257172.6]
+  wire  _T_57; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@257173.6]
+  wire  _T_58; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@257174.6]
+  wire  _T_59; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@257175.6]
+  wire  _T_60; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@257176.6]
+  wire  _T_61; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@257177.6]
+  wire  _T_62; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@257178.6]
+  wire  _T_63; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@257179.6]
+  wire  _T_64; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@257180.6]
+  wire  _T_65; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@257181.6]
+  wire  _T_66; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@257182.6]
+  wire  _T_67; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@257183.6]
+  wire  _T_68; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@257184.6]
+  wire  _T_69; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@257185.6]
+  wire  _T_70; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@257186.6]
+  wire [1:0] _T_71; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@257187.6]
+  wire [1:0] _T_72; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@257188.6]
+  wire [3:0] _T_73; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@257189.6]
+  wire  _T_92; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@257212.6]
+  wire [28:0] _T_94; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@257215.8]
+  wire [29:0] _T_95; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@257216.8]
+  wire [29:0] _T_96; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@257217.8]
+  wire [29:0] _T_97; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@257218.8]
+  wire  _T_98; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@257219.8]
+  wire  _T_103; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257224.8]
+  wire  _T_112; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257245.8]
+  wire  _T_113; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257246.8]
+  wire  _T_115; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257252.8]
+  wire  _T_116; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257253.8]
+  wire  _T_117; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@257258.8]
+  wire  _T_119; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257260.8]
+  wire  _T_120; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257261.8]
+  wire [3:0] _T_121; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@257266.8]
+  wire  _T_122; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@257267.8]
+  wire  _T_124; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257269.8]
+  wire  _T_125; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257270.8]
+  wire  _T_126; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@257275.8]
+  wire  _T_128; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257277.8]
+  wire  _T_129; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257278.8]
+  wire  _T_130; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@257284.6]
+  wire  _T_159; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@257338.8]
+  wire  _T_161; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257340.8]
+  wire  _T_162; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257341.8]
+  wire  _T_172; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@257364.6]
+  wire  _T_174; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@257367.8]
+  wire  _T_182; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@257375.8]
+  wire  _T_185; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257378.8]
+  wire  _T_186; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257379.8]
+  wire  _T_193; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@257398.8]
+  wire  _T_195; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257400.8]
+  wire  _T_196; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257401.8]
+  wire  _T_197; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@257406.8]
+  wire  _T_199; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257408.8]
+  wire  _T_200; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257409.8]
+  wire  _T_205; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@257423.6]
+  wire  _T_234; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@257474.6]
+  wire [3:0] _T_259; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@257516.8]
+  wire [3:0] _T_260; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@257517.8]
+  wire  _T_261; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@257518.8]
+  wire  _T_263; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257520.8]
+  wire  _T_264; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257521.8]
+  wire  _T_265; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@257527.6]
+  wire  _T_283; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@257558.8]
+  wire  _T_285; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257560.8]
+  wire  _T_286; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257561.8]
+  wire  _T_291; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@257575.6]
+  wire  _T_309; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@257606.8]
+  wire  _T_311; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257608.8]
+  wire  _T_312; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257609.8]
+  wire  _T_317; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@257623.6]
+  wire  _T_343; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@257673.6]
+  wire  _T_345; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@257675.6]
+  wire  _T_346; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@257676.6]
+  wire  _T_363; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@257693.6]
+  wire  _T_367; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@257702.8]
+  wire  _T_369; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257704.8]
+  wire  _T_370; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257705.8]
+  wire  _T_383; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@257735.6]
+  wire  _T_411; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@257793.6]
+  wire  _T_504; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@257983.4]
+  reg  _T_514; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@257992.4]
+  reg [31:0] _RAND_0;
+  wire [1:0] _T_515; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@257993.4]
+  wire [1:0] _T_516; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@257994.4]
+  wire  _T_517; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@257995.4]
+  wire  _T_518; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@257996.4]
+  reg [2:0] _T_527; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@258007.4]
+  reg [31:0] _RAND_1;
+  reg [2:0] _T_529; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@258008.4]
+  reg [31:0] _RAND_2;
+  reg [1:0] _T_531; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@258009.4]
+  reg [31:0] _RAND_3;
+  reg [5:0] _T_533; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@258010.4]
+  reg [31:0] _RAND_4;
+  reg [28:0] _T_535; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@258011.4]
+  reg [31:0] _RAND_5;
+  wire  _T_536; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@258012.4]
+  wire  _T_537; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@258013.4]
+  wire  _T_538; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@258015.6]
+  wire  _T_540; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258017.6]
+  wire  _T_541; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258018.6]
+  wire  _T_542; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@258023.6]
+  wire  _T_544; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258025.6]
+  wire  _T_545; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258026.6]
+  wire  _T_546; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@258031.6]
+  wire  _T_548; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258033.6]
+  wire  _T_549; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258034.6]
+  wire  _T_550; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@258039.6]
+  wire  _T_552; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258041.6]
+  wire  _T_553; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258042.6]
+  wire  _T_554; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@258047.6]
+  wire  _T_556; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258049.6]
+  wire  _T_557; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258050.6]
+  wire  _T_559; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@258057.4]
+  wire  _T_560; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@258065.4]
+  reg  _T_569; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@258073.4]
+  reg [31:0] _RAND_6;
+  wire [1:0] _T_570; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@258074.4]
+  wire [1:0] _T_571; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@258075.4]
+  wire  _T_572; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@258076.4]
+  wire  _T_573; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@258077.4]
+  reg [2:0] _T_582; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@258088.4]
+  reg [31:0] _RAND_7;
+  reg [1:0] _T_586; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@258090.4]
+  reg [31:0] _RAND_8;
+  reg [5:0] _T_588; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@258091.4]
+  reg [31:0] _RAND_9;
+  wire  _T_593; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@258094.4]
+  wire  _T_594; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@258095.4]
+  wire  _T_595; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@258097.6]
+  wire  _T_597; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258099.6]
+  wire  _T_598; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258100.6]
+  wire  _T_603; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@258113.6]
+  wire  _T_605; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258115.6]
+  wire  _T_606; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258116.6]
+  wire  _T_607; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@258121.6]
+  wire  _T_609; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258123.6]
+  wire  _T_610; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258124.6]
+  wire  _T_620; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@258147.4]
+  reg [63:0] _T_622; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@258156.4]
+  reg [63:0] _RAND_10;
+  reg  _T_633; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@258166.4]
+  reg [31:0] _RAND_11;
+  wire [1:0] _T_634; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@258167.4]
+  wire [1:0] _T_635; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@258168.4]
+  wire  _T_636; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@258169.4]
+  wire  _T_637; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@258170.4]
+  reg  _T_654; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@258189.4]
+  reg [31:0] _RAND_12;
+  wire [1:0] _T_655; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@258190.4]
+  wire [1:0] _T_656; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@258191.4]
+  wire  _T_657; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@258192.4]
+  wire  _T_658; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@258193.4]
+  wire  _T_669; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@258208.4]
+  wire [63:0] _T_671; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@258211.6]
+  wire [63:0] _T_672; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@258213.6]
+  wire  _T_673; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@258214.6]
+  wire  _T_674; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258215.6]
+  wire  _T_676; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@258217.6]
+  wire  _T_677; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@258218.6]
+  wire [63:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@258210.4]
+  wire  _T_682; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@258229.4]
+  wire  _T_684; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@258231.4]
+  wire  _T_685; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@258232.4]
+  wire [63:0] _T_686; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@258234.6]
+  wire [63:0] _T_687; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@258236.6]
+  wire [63:0] _T_688; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@258237.6]
+  wire  _T_689; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@258238.6]
+  wire  _T_691; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@258240.6]
+  wire  _T_692; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@258241.6]
+  wire [63:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@258233.4]
+  wire [63:0] _T_693; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@258247.4]
+  wire [63:0] _T_694; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@258248.4]
+  wire [63:0] _T_695; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@258249.4]
+  reg [31:0] _T_697; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@258251.4]
+  reg [31:0] _RAND_13;
+  wire  _T_698; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@258254.4]
+  wire  _T_699; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@258255.4]
+  wire  _T_700; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@258256.4]
+  wire  _T_701; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@258257.4]
+  wire  _T_702; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@258258.4]
+  wire  _T_703; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@258259.4]
+  wire  _T_705; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@258261.4]
+  wire  _T_706; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@258262.4]
+  wire [31:0] _T_708; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@258268.4]
+  wire  _T_711; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@258272.4]
+  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257226.10]
+  wire  _GEN_33; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257298.10]
+  wire  _GEN_49; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257381.10]
+  wire  _GEN_59; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257440.10]
+  wire  _GEN_67; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257491.10]
+  wire  _GEN_75; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257541.10]
+  wire  _GEN_83; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257589.10]
+  wire  _GEN_91; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257637.10]
+  wire  _GEN_99; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257707.10]
+  wire  _GEN_101; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257748.10]
+  wire  _GEN_105; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257806.10]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@258252.4]
+    .out(plusarg_reader_out)
+  );
+  assign _T_36 = 5'h3 << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@257152.6]
+  assign _T_37 = _T_36[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@257153.6]
+  assign _T_38 = ~ _T_37; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@257154.6]
+  assign _GEN_18 = {{27'd0}, _T_38}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@257155.6]
+  assign _T_39 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@257155.6]
+  assign _T_40 = _T_39 == 29'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@257156.6]
+  assign _T_42 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@257158.6]
+  assign _T_43 = 2'h1 << _T_42; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@257159.6]
+  assign _T_45 = _T_43 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@257161.6]
+  assign _T_46 = io_in_a_bits_size >= 2'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@257162.6]
+  assign _T_47 = _T_45[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@257163.6]
+  assign _T_48 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@257164.6]
+  assign _T_49 = _T_48 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@257165.6]
+  assign _T_51 = _T_47 & _T_49; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@257167.6]
+  assign _T_52 = _T_46 | _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@257168.6]
+  assign _T_54 = _T_47 & _T_48; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@257170.6]
+  assign _T_55 = _T_46 | _T_54; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@257171.6]
+  assign _T_56 = _T_45[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@257172.6]
+  assign _T_57 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@257173.6]
+  assign _T_58 = _T_57 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@257174.6]
+  assign _T_59 = _T_49 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@257175.6]
+  assign _T_60 = _T_56 & _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@257176.6]
+  assign _T_61 = _T_52 | _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@257177.6]
+  assign _T_62 = _T_49 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@257178.6]
+  assign _T_63 = _T_56 & _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@257179.6]
+  assign _T_64 = _T_52 | _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@257180.6]
+  assign _T_65 = _T_48 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@257181.6]
+  assign _T_66 = _T_56 & _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@257182.6]
+  assign _T_67 = _T_55 | _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@257183.6]
+  assign _T_68 = _T_48 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@257184.6]
+  assign _T_69 = _T_56 & _T_68; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@257185.6]
+  assign _T_70 = _T_55 | _T_69; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@257186.6]
+  assign _T_71 = {_T_64,_T_61}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@257187.6]
+  assign _T_72 = {_T_70,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@257188.6]
+  assign _T_73 = {_T_72,_T_71}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@257189.6]
+  assign _T_92 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@257212.6]
+  assign _T_94 = io_in_a_bits_address ^ 29'h10014000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@257215.8]
+  assign _T_95 = {1'b0,$signed(_T_94)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@257216.8]
+  assign _T_96 = $signed(_T_95) & $signed(-30'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@257217.8]
+  assign _T_97 = $signed(_T_96); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@257218.8]
+  assign _T_98 = $signed(_T_97) == $signed(30'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@257219.8]
+  assign _T_103 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257224.8]
+  assign _T_112 = _T_46 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257245.8]
+  assign _T_113 = _T_112 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257246.8]
+  assign _T_115 = _T_40 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257252.8]
+  assign _T_116 = _T_115 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257253.8]
+  assign _T_117 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@257258.8]
+  assign _T_119 = _T_117 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257260.8]
+  assign _T_120 = _T_119 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257261.8]
+  assign _T_121 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@257266.8]
+  assign _T_122 = _T_121 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@257267.8]
+  assign _T_124 = _T_122 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257269.8]
+  assign _T_125 = _T_124 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257270.8]
+  assign _T_126 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@257275.8]
+  assign _T_128 = _T_126 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257277.8]
+  assign _T_129 = _T_128 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257278.8]
+  assign _T_130 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@257284.6]
+  assign _T_159 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@257338.8]
+  assign _T_161 = _T_159 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257340.8]
+  assign _T_162 = _T_161 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257341.8]
+  assign _T_172 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@257364.6]
+  assign _T_174 = io_in_a_bits_size <= 2'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@257367.8]
+  assign _T_182 = _T_174 & _T_98; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@257375.8]
+  assign _T_185 = _T_182 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257378.8]
+  assign _T_186 = _T_185 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257379.8]
+  assign _T_193 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@257398.8]
+  assign _T_195 = _T_193 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257400.8]
+  assign _T_196 = _T_195 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257401.8]
+  assign _T_197 = io_in_a_bits_mask == _T_73; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@257406.8]
+  assign _T_199 = _T_197 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257408.8]
+  assign _T_200 = _T_199 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257409.8]
+  assign _T_205 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@257423.6]
+  assign _T_234 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@257474.6]
+  assign _T_259 = ~ _T_73; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@257516.8]
+  assign _T_260 = io_in_a_bits_mask & _T_259; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@257517.8]
+  assign _T_261 = _T_260 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@257518.8]
+  assign _T_263 = _T_261 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257520.8]
+  assign _T_264 = _T_263 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257521.8]
+  assign _T_265 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@257527.6]
+  assign _T_283 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@257558.8]
+  assign _T_285 = _T_283 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257560.8]
+  assign _T_286 = _T_285 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257561.8]
+  assign _T_291 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@257575.6]
+  assign _T_309 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@257606.8]
+  assign _T_311 = _T_309 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257608.8]
+  assign _T_312 = _T_311 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257609.8]
+  assign _T_317 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@257623.6]
+  assign _T_343 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@257673.6]
+  assign _T_345 = _T_343 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@257675.6]
+  assign _T_346 = _T_345 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@257676.6]
+  assign _T_363 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@257693.6]
+  assign _T_367 = io_in_d_bits_size >= 2'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@257702.8]
+  assign _T_369 = _T_367 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257704.8]
+  assign _T_370 = _T_369 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257705.8]
+  assign _T_383 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@257735.6]
+  assign _T_411 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@257793.6]
+  assign _T_504 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@257983.4]
+  assign _T_515 = _T_514 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@257993.4]
+  assign _T_516 = $unsigned(_T_515); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@257994.4]
+  assign _T_517 = _T_516[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@257995.4]
+  assign _T_518 = _T_514 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@257996.4]
+  assign _T_536 = _T_518 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@258012.4]
+  assign _T_537 = io_in_a_valid & _T_536; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@258013.4]
+  assign _T_538 = io_in_a_bits_opcode == _T_527; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@258015.6]
+  assign _T_540 = _T_538 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258017.6]
+  assign _T_541 = _T_540 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258018.6]
+  assign _T_542 = io_in_a_bits_param == _T_529; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@258023.6]
+  assign _T_544 = _T_542 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258025.6]
+  assign _T_545 = _T_544 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258026.6]
+  assign _T_546 = io_in_a_bits_size == _T_531; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@258031.6]
+  assign _T_548 = _T_546 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258033.6]
+  assign _T_549 = _T_548 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258034.6]
+  assign _T_550 = io_in_a_bits_source == _T_533; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@258039.6]
+  assign _T_552 = _T_550 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258041.6]
+  assign _T_553 = _T_552 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258042.6]
+  assign _T_554 = io_in_a_bits_address == _T_535; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@258047.6]
+  assign _T_556 = _T_554 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258049.6]
+  assign _T_557 = _T_556 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258050.6]
+  assign _T_559 = _T_504 & _T_518; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@258057.4]
+  assign _T_560 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@258065.4]
+  assign _T_570 = _T_569 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@258074.4]
+  assign _T_571 = $unsigned(_T_570); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@258075.4]
+  assign _T_572 = _T_571[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@258076.4]
+  assign _T_573 = _T_569 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@258077.4]
+  assign _T_593 = _T_573 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@258094.4]
+  assign _T_594 = io_in_d_valid & _T_593; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@258095.4]
+  assign _T_595 = io_in_d_bits_opcode == _T_582; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@258097.6]
+  assign _T_597 = _T_595 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258099.6]
+  assign _T_598 = _T_597 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258100.6]
+  assign _T_603 = io_in_d_bits_size == _T_586; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@258113.6]
+  assign _T_605 = _T_603 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258115.6]
+  assign _T_606 = _T_605 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258116.6]
+  assign _T_607 = io_in_d_bits_source == _T_588; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@258121.6]
+  assign _T_609 = _T_607 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258123.6]
+  assign _T_610 = _T_609 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258124.6]
+  assign _T_620 = _T_560 & _T_573; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@258147.4]
+  assign _T_634 = _T_633 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@258167.4]
+  assign _T_635 = $unsigned(_T_634); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@258168.4]
+  assign _T_636 = _T_635[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@258169.4]
+  assign _T_637 = _T_633 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@258170.4]
+  assign _T_655 = _T_654 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@258190.4]
+  assign _T_656 = $unsigned(_T_655); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@258191.4]
+  assign _T_657 = _T_656[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@258192.4]
+  assign _T_658 = _T_654 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@258193.4]
+  assign _T_669 = _T_504 & _T_637; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@258208.4]
+  assign _T_671 = 64'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@258211.6]
+  assign _T_672 = _T_622 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@258213.6]
+  assign _T_673 = _T_672[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@258214.6]
+  assign _T_674 = _T_673 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258215.6]
+  assign _T_676 = _T_674 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@258217.6]
+  assign _T_677 = _T_676 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@258218.6]
+  assign _GEN_15 = _T_669 ? _T_671 : 64'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@258210.4]
+  assign _T_682 = _T_560 & _T_658; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@258229.4]
+  assign _T_684 = _T_363 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@258231.4]
+  assign _T_685 = _T_682 & _T_684; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@258232.4]
+  assign _T_686 = 64'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@258234.6]
+  assign _T_687 = _GEN_15 | _T_622; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@258236.6]
+  assign _T_688 = _T_687 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@258237.6]
+  assign _T_689 = _T_688[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@258238.6]
+  assign _T_691 = _T_689 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@258240.6]
+  assign _T_692 = _T_691 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@258241.6]
+  assign _GEN_16 = _T_685 ? _T_686 : 64'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@258233.4]
+  assign _T_693 = _T_622 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@258247.4]
+  assign _T_694 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@258248.4]
+  assign _T_695 = _T_693 & _T_694; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@258249.4]
+  assign _T_698 = _T_622 != 64'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@258254.4]
+  assign _T_699 = _T_698 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@258255.4]
+  assign _T_700 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@258256.4]
+  assign _T_701 = _T_699 | _T_700; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@258257.4]
+  assign _T_702 = _T_697 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@258258.4]
+  assign _T_703 = _T_701 | _T_702; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@258259.4]
+  assign _T_705 = _T_703 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@258261.4]
+  assign _T_706 = _T_705 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@258262.4]
+  assign _T_708 = _T_697 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@258268.4]
+  assign _T_711 = _T_504 | _T_560; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@258272.4]
+  assign _GEN_19 = io_in_a_valid & _T_92; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257226.10]
+  assign _GEN_33 = io_in_a_valid & _T_130; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257298.10]
+  assign _GEN_49 = io_in_a_valid & _T_172; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257381.10]
+  assign _GEN_59 = io_in_a_valid & _T_205; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257440.10]
+  assign _GEN_67 = io_in_a_valid & _T_234; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257491.10]
+  assign _GEN_75 = io_in_a_valid & _T_265; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257541.10]
+  assign _GEN_83 = io_in_a_valid & _T_291; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257589.10]
+  assign _GEN_91 = io_in_a_valid & _T_317; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257637.10]
+  assign _GEN_99 = io_in_d_valid & _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257707.10]
+  assign _GEN_101 = io_in_d_valid & _T_383; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257748.10]
+  assign _GEN_105 = io_in_d_valid & _T_411; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257806.10]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  _T_514 = _RAND_0[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  _T_527 = _RAND_1[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  _T_529 = _RAND_2[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  _T_531 = _RAND_3[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  _T_533 = _RAND_4[5:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  _T_535 = _RAND_5[28:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {1{`RANDOM}};
+  _T_569 = _RAND_6[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {1{`RANDOM}};
+  _T_582 = _RAND_7[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_8 = {1{`RANDOM}};
+  _T_586 = _RAND_8[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_9 = {1{`RANDOM}};
+  _T_588 = _RAND_9[5:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_10 = {2{`RANDOM}};
+  _T_622 = _RAND_10[63:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_11 = {1{`RANDOM}};
+  _T_633 = _RAND_11[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_12 = {1{`RANDOM}};
+  _T_654 = _RAND_12[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_13 = {1{`RANDOM}};
+  _T_697 = _RAND_13[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      _T_514 <= 1'h0;
+    end else begin
+      if (_T_504) begin
+        if (_T_518) begin
+          _T_514 <= 1'h0;
+        end else begin
+          _T_514 <= _T_517;
+        end
+      end
+    end
+    if (_T_559) begin
+      _T_527 <= io_in_a_bits_opcode;
+    end
+    if (_T_559) begin
+      _T_529 <= io_in_a_bits_param;
+    end
+    if (_T_559) begin
+      _T_531 <= io_in_a_bits_size;
+    end
+    if (_T_559) begin
+      _T_533 <= io_in_a_bits_source;
+    end
+    if (_T_559) begin
+      _T_535 <= io_in_a_bits_address;
+    end
+    if (reset) begin
+      _T_569 <= 1'h0;
+    end else begin
+      if (_T_560) begin
+        if (_T_573) begin
+          _T_569 <= 1'h0;
+        end else begin
+          _T_569 <= _T_572;
+        end
+      end
+    end
+    if (_T_620) begin
+      _T_582 <= io_in_d_bits_opcode;
+    end
+    if (_T_620) begin
+      _T_586 <= io_in_d_bits_size;
+    end
+    if (_T_620) begin
+      _T_588 <= io_in_d_bits_source;
+    end
+    if (reset) begin
+      _T_622 <= 64'h0;
+    end else begin
+      _T_622 <= _T_695;
+    end
+    if (reset) begin
+      _T_633 <= 1'h0;
+    end else begin
+      if (_T_504) begin
+        if (_T_637) begin
+          _T_633 <= 1'h0;
+        end else begin
+          _T_633 <= _T_636;
+        end
+      end
+    end
+    if (reset) begin
+      _T_654 <= 1'h0;
+    end else begin
+      if (_T_560) begin
+        if (_T_658) begin
+          _T_654 <= 1'h0;
+        end else begin
+          _T_654 <= _T_657;
+        end
+      end
+    end
+    if (reset) begin
+      _T_697 <= 32'h0;
+    end else begin
+      if (_T_711) begin
+        _T_697 <= 32'h0;
+      end else begin
+        _T_697 <= _T_708;
+      end
+    end
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@257137.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@257138.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@257209.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@257210.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257226.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_103) begin
+          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257227.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257233.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_103) begin
+          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257234.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257240.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257241.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_113) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257248.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_113) begin
+          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257249.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257255.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_116) begin
+          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257256.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_120) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257263.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_120) begin
+          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257264.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_125) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257272.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_125) begin
+          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257273.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_129) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257280.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_129) begin
+          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257281.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257298.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_103) begin
+          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257299.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257305.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_103) begin
+          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257306.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257312.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257313.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_113) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257320.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_113) begin
+          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257321.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257327.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_116) begin
+          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257328.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_120) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257335.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_120) begin
+          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257336.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_162) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257343.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_162) begin
+          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257344.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_125) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257352.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_125) begin
+          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257353.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_129) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257360.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_129) begin
+          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257361.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_186) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257381.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_186) begin
+          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257382.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257388.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257389.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257395.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_116) begin
+          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257396.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_196) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257403.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_196) begin
+          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257404.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257411.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_200) begin
+          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257412.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_129) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257419.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_129) begin
+          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257420.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_59 & _T_186) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257440.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_59 & _T_186) begin
+          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257441.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257447.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257448.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_59 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257454.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_59 & _T_116) begin
+          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257455.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_59 & _T_196) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257462.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_59 & _T_196) begin
+          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257463.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_59 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257470.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_59 & _T_200) begin
+          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257471.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_67 & _T_186) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257491.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_67 & _T_186) begin
+          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257492.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257498.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257499.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_67 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257505.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_67 & _T_116) begin
+          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257506.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_67 & _T_196) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257513.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_67 & _T_196) begin
+          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257514.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_67 & _T_264) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257523.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_67 & _T_264) begin
+          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257524.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257541.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_103) begin
+          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257542.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257548.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257549.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257555.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_116) begin
+          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257556.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_286) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257563.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_286) begin
+          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257564.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257571.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_200) begin
+          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257572.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_83 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257589.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_83 & _T_103) begin
+          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257590.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257596.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257597.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_83 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257603.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_83 & _T_116) begin
+          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257604.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_83 & _T_312) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257611.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_83 & _T_312) begin
+          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257612.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_83 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257619.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_83 & _T_200) begin
+          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257620.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_91 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257637.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_91 & _T_103) begin
+          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257638.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257644.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257645.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_91 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257651.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_91 & _T_116) begin
+          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257652.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_91 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257659.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_91 & _T_200) begin
+          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257660.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_91 & _T_129) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257667.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_91 & _T_129) begin
+          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257668.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_346) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@257678.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_346) begin
+          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@257679.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257699.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257700.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_99 & _T_370) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257707.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_99 & _T_370) begin
+          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257708.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257715.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257716.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257723.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257724.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257731.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257732.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257741.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257742.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_101 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257748.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_101 & _T_103) begin
+          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257749.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_101 & _T_370) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257756.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_101 & _T_370) begin
+          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257757.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257764.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257765.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257772.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257773.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257780.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257781.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257789.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257790.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257799.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257800.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257806.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_103) begin
+          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257807.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_370) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257814.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_370) begin
+          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257815.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257822.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257823.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257830.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257831.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257839.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257840.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257848.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257849.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257858.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257859.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257866.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257867.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257874.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257875.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257883.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257884.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257893.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257894.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257901.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257902.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257910.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257911.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257919.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257920.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257929.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257930.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257937.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257938.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257945.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257946.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257954.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257955.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257964.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257965.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257972.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257973.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257980.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257981.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_541) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258020.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_541) begin
+          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258021.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_545) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258028.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_545) begin
+          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258029.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_549) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258036.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_549) begin
+          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258037.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_553) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258044.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_553) begin
+          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258045.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_557) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258052.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_557) begin
+          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258053.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_594 & _T_598) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258102.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_594 & _T_598) begin
+          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258103.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258110.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258111.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_594 & _T_606) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258118.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_594 & _T_606) begin
+          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258119.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_594 & _T_610) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258126.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_594 & _T_610) begin
+          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258127.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258134.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258135.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258142.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258143.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_669 & _T_677) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@258220.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_669 & _T_677) begin
+          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@258221.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_685 & _T_692) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@258243.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_685 & _T_692) begin
+          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@258244.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_706) begin
+          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@258264.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_706) begin
+          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@258265.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+endmodule
+module TLBuffer_22( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@258277.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@258278.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@258279.4]
+  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@258280.4]
+  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@258280.4]
+  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@258280.4]
+  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@258280.4]
+  input  [1:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@258280.4]
+  input  [5:0]  auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@258280.4]
+  input  [28:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@258280.4]
+  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@258280.4]
+  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@258280.4]
+  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@258280.4]
+  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@258280.4]
+  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@258280.4]
+  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@258280.4]
+  output [1:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@258280.4]
+  output [5:0]  auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@258280.4]
+  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@258280.4]
+  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@258280.4]
+  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@258280.4]
+  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@258280.4]
+  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@258280.4]
+  output [1:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@258280.4]
+  output [5:0]  auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@258280.4]
+  output [28:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@258280.4]
+  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@258280.4]
+  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@258280.4]
+  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@258280.4]
+  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@258280.4]
+  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@258280.4]
+  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@258280.4]
+  input  [1:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@258280.4]
+  input  [5:0]  auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@258280.4]
+  input  [31:0] auto_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@258280.4]
+);
+  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@258287.4]
+  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@258287.4]
+  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@258287.4]
+  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@258287.4]
+  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@258287.4]
+  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@258287.4]
+  wire [1:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@258287.4]
+  wire [5:0] TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@258287.4]
+  wire [28:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@258287.4]
+  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@258287.4]
+  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@258287.4]
+  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@258287.4]
+  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@258287.4]
+  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@258287.4]
+  wire [1:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@258287.4]
+  wire [5:0] TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@258287.4]
+  TLMonitor_68 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@258287.4]
+    .clock(TLMonitor_clock),
+    .reset(TLMonitor_reset),
+    .io_in_a_ready(TLMonitor_io_in_a_ready),
+    .io_in_a_valid(TLMonitor_io_in_a_valid),
+    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
+    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
+    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
+    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
+    .io_in_d_ready(TLMonitor_io_in_d_ready),
+    .io_in_d_valid(TLMonitor_io_in_d_valid),
+    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
+    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
+    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source)
+  );
+  assign auto_in_a_ready = auto_out_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@258327.4]
+  assign auto_in_d_valid = auto_out_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@258327.4]
+  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@258327.4]
+  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@258327.4]
+  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@258327.4]
+  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@258327.4]
+  assign auto_out_a_valid = auto_in_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@258326.4]
+  assign auto_out_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@258326.4]
+  assign auto_out_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@258326.4]
+  assign auto_out_a_bits_size = auto_in_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@258326.4]
+  assign auto_out_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@258326.4]
+  assign auto_out_a_bits_address = auto_in_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@258326.4]
+  assign auto_out_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@258326.4]
+  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@258326.4]
+  assign auto_out_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@258326.4]
+  assign auto_out_d_ready = auto_in_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@258326.4]
+  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@258289.4]
+  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@258290.4]
+  assign TLMonitor_io_in_a_ready = auto_out_a_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@258323.4]
+  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@258323.4]
+  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@258323.4]
+  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@258323.4]
+  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@258323.4]
+  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@258323.4]
+  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@258323.4]
+  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@258323.4]
+  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@258323.4]
+  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@258323.4]
+  assign TLMonitor_io_in_d_valid = auto_out_d_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@258323.4]
+  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@258323.4]
+  assign TLMonitor_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@258323.4]
+  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@258323.4]
+endmodule
+module TLMonitor_69( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@258344.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@258345.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@258346.4]
+  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@258347.4]
+  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@258347.4]
+  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@258347.4]
+  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@258347.4]
+  input         io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@258347.4]
+  input  [7:0]  io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@258347.4]
+  input  [29:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@258347.4]
+  input         io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@258347.4]
+  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@258347.4]
+  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@258347.4]
+  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@258347.4]
+  input         io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@258347.4]
+  input  [7:0]  io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@258347.4]
+);
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@259399.4]
+  wire  _T_55; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@258397.6]
+  wire [29:0] _T_57; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@258400.8]
+  wire [30:0] _T_58; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@258401.8]
+  wire [30:0] _T_59; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@258402.8]
+  wire [30:0] _T_60; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@258403.8]
+  wire  _T_61; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@258404.8]
+  wire  _T_66; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258409.8]
+  wire  _T_80; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@258443.8]
+  wire  _T_82; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258445.8]
+  wire  _T_83; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258446.8]
+  wire  _T_84; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@258451.8]
+  wire  _T_85; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@258452.8]
+  wire  _T_87; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258454.8]
+  wire  _T_88; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258455.8]
+  wire  _T_89; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@258460.8]
+  wire  _T_91; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258462.8]
+  wire  _T_92; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258463.8]
+  wire  _T_93; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@258469.6]
+  wire  _T_122; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@258523.8]
+  wire  _T_124; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258525.8]
+  wire  _T_125; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258526.8]
+  wire  _T_135; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@258549.6]
+  wire  _T_136; // @[Parameters.scala 89:48:shc.marmotcaravel.MarmotCaravelConfig.fir@258551.8]
+  wire  _T_143; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@258558.8]
+  wire  _T_146; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258561.8]
+  wire  _T_147; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258562.8]
+  wire  _T_154; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@258581.8]
+  wire  _T_156; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258583.8]
+  wire  _T_157; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258584.8]
+  wire  _T_160; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258591.8]
+  wire  _T_161; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258592.8]
+  wire  _T_166; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@258606.6]
+  wire  _T_192; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@258654.6]
+  wire  _T_220; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@258704.6]
+  wire  _T_238; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@258735.8]
+  wire  _T_240; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258737.8]
+  wire  _T_241; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258738.8]
+  wire  _T_246; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@258752.6]
+  wire  _T_264; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@258783.8]
+  wire  _T_266; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258785.8]
+  wire  _T_267; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258786.8]
+  wire  _T_272; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@258800.6]
+  wire  _T_459; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@259160.4]
+  reg  _T_461; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@259161.4]
+  reg [31:0] _RAND_0;
+  wire [1:0] _T_462; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@259162.4]
+  wire [1:0] _T_463; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@259163.4]
+  wire  _T_464; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@259164.4]
+  wire  _T_465; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@259165.4]
+  reg [2:0] _T_474; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@259176.4]
+  reg [31:0] _RAND_1;
+  reg [2:0] _T_476; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@259177.4]
+  reg [31:0] _RAND_2;
+  reg  _T_478; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@259178.4]
+  reg [31:0] _RAND_3;
+  reg [7:0] _T_480; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@259179.4]
+  reg [31:0] _RAND_4;
+  reg [29:0] _T_482; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@259180.4]
+  reg [31:0] _RAND_5;
+  wire  _T_483; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@259181.4]
+  wire  _T_484; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@259182.4]
+  wire  _T_485; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@259184.6]
+  wire  _T_487; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259186.6]
+  wire  _T_488; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259187.6]
+  wire  _T_489; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@259192.6]
+  wire  _T_491; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259194.6]
+  wire  _T_492; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259195.6]
+  wire  _T_493; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@259200.6]
+  wire  _T_495; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259202.6]
+  wire  _T_496; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259203.6]
+  wire  _T_497; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@259208.6]
+  wire  _T_499; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259210.6]
+  wire  _T_500; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259211.6]
+  wire  _T_501; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@259216.6]
+  wire  _T_503; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259218.6]
+  wire  _T_504; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259219.6]
+  wire  _T_506; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@259226.4]
+  wire  _T_507; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@259234.4]
+  reg  _T_509; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@259235.4]
+  reg [31:0] _RAND_6;
+  wire [1:0] _T_510; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@259236.4]
+  wire [1:0] _T_511; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@259237.4]
+  wire  _T_512; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@259238.4]
+  wire  _T_513; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@259239.4]
+  reg  _T_526; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@259252.4]
+  reg [31:0] _RAND_7;
+  reg [7:0] _T_528; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@259253.4]
+  reg [31:0] _RAND_8;
+  wire  _T_533; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@259256.4]
+  wire  _T_534; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@259257.4]
+  wire  _T_543; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@259275.6]
+  wire  _T_545; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259277.6]
+  wire  _T_546; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259278.6]
+  wire  _T_547; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@259283.6]
+  wire  _T_549; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259285.6]
+  wire  _T_550; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259286.6]
+  wire  _T_560; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@259309.4]
+  reg [255:0] _T_562; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@259318.4]
+  reg [255:0] _RAND_9;
+  reg  _T_565; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@259320.4]
+  reg [31:0] _RAND_10;
+  wire [1:0] _T_566; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@259321.4]
+  wire [1:0] _T_567; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@259322.4]
+  wire  _T_568; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@259323.4]
+  wire  _T_569; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@259324.4]
+  reg  _T_579; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@259336.4]
+  reg [31:0] _RAND_11;
+  wire [1:0] _T_580; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@259337.4]
+  wire [1:0] _T_581; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@259338.4]
+  wire  _T_582; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@259339.4]
+  wire  _T_583; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@259340.4]
+  wire  _T_594; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@259355.4]
+  wire [255:0] _T_596; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@259358.6]
+  wire [255:0] _T_597; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@259360.6]
+  wire  _T_598; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@259361.6]
+  wire  _T_599; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259362.6]
+  wire  _T_601; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@259364.6]
+  wire  _T_602; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@259365.6]
+  wire [255:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@259357.4]
+  wire  _T_607; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@259376.4]
+  wire [255:0] _T_611; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@259381.6]
+  wire [255:0] _T_612; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@259383.6]
+  wire [255:0] _T_613; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@259384.6]
+  wire  _T_614; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@259385.6]
+  wire  _T_616; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@259387.6]
+  wire  _T_617; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@259388.6]
+  wire [255:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@259380.4]
+  wire [255:0] _T_618; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@259394.4]
+  wire [255:0] _T_619; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@259395.4]
+  wire [255:0] _T_620; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@259396.4]
+  reg [31:0] _T_622; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@259398.4]
+  reg [31:0] _RAND_12;
+  wire  _T_623; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@259401.4]
+  wire  _T_624; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@259402.4]
+  wire  _T_625; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@259403.4]
+  wire  _T_626; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@259404.4]
+  wire  _T_627; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@259405.4]
+  wire  _T_628; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@259406.4]
+  wire  _T_630; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@259408.4]
+  wire  _T_631; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@259409.4]
+  wire [31:0] _T_633; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@259415.4]
+  wire  _T_636; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@259419.4]
+  wire  _GEN_18; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258411.10]
+  wire  _GEN_28; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258483.10]
+  wire  _GEN_40; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258564.10]
+  wire  _GEN_48; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258620.10]
+  wire  _GEN_54; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258668.10]
+  wire  _GEN_58; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258718.10]
+  wire  _GEN_64; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258766.10]
+  wire  _GEN_70; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258814.10]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@259399.4]
+    .out(plusarg_reader_out)
+  );
+  assign _T_55 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@258397.6]
+  assign _T_57 = io_in_a_bits_address ^ 30'h20000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@258400.8]
+  assign _T_58 = {1'b0,$signed(_T_57)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@258401.8]
+  assign _T_59 = $signed(_T_58) & $signed(-31'sh20000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@258402.8]
+  assign _T_60 = $signed(_T_59); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@258403.8]
+  assign _T_61 = $signed(_T_60) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@258404.8]
+  assign _T_66 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258409.8]
+  assign _T_80 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@258443.8]
+  assign _T_82 = _T_80 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258445.8]
+  assign _T_83 = _T_82 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258446.8]
+  assign _T_84 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@258451.8]
+  assign _T_85 = _T_84 == 1'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@258452.8]
+  assign _T_87 = _T_85 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258454.8]
+  assign _T_88 = _T_87 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258455.8]
+  assign _T_89 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@258460.8]
+  assign _T_91 = _T_89 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258462.8]
+  assign _T_92 = _T_91 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258463.8]
+  assign _T_93 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@258469.6]
+  assign _T_122 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@258523.8]
+  assign _T_124 = _T_122 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258525.8]
+  assign _T_125 = _T_124 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258526.8]
+  assign _T_135 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@258549.6]
+  assign _T_136 = 1'h0 == io_in_a_bits_size; // @[Parameters.scala 89:48:shc.marmotcaravel.MarmotCaravelConfig.fir@258551.8]
+  assign _T_143 = _T_136 & _T_61; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@258558.8]
+  assign _T_146 = _T_143 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258561.8]
+  assign _T_147 = _T_146 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258562.8]
+  assign _T_154 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@258581.8]
+  assign _T_156 = _T_154 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258583.8]
+  assign _T_157 = _T_156 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258584.8]
+  assign _T_160 = io_in_a_bits_mask | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258591.8]
+  assign _T_161 = _T_160 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258592.8]
+  assign _T_166 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@258606.6]
+  assign _T_192 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@258654.6]
+  assign _T_220 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@258704.6]
+  assign _T_238 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@258735.8]
+  assign _T_240 = _T_238 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258737.8]
+  assign _T_241 = _T_240 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258738.8]
+  assign _T_246 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@258752.6]
+  assign _T_264 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@258783.8]
+  assign _T_266 = _T_264 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258785.8]
+  assign _T_267 = _T_266 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258786.8]
+  assign _T_272 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@258800.6]
+  assign _T_459 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@259160.4]
+  assign _T_462 = _T_461 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@259162.4]
+  assign _T_463 = $unsigned(_T_462); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@259163.4]
+  assign _T_464 = _T_463[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@259164.4]
+  assign _T_465 = _T_461 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@259165.4]
+  assign _T_483 = _T_465 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@259181.4]
+  assign _T_484 = io_in_a_valid & _T_483; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@259182.4]
+  assign _T_485 = io_in_a_bits_opcode == _T_474; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@259184.6]
+  assign _T_487 = _T_485 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259186.6]
+  assign _T_488 = _T_487 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259187.6]
+  assign _T_489 = io_in_a_bits_param == _T_476; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@259192.6]
+  assign _T_491 = _T_489 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259194.6]
+  assign _T_492 = _T_491 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259195.6]
+  assign _T_493 = io_in_a_bits_size == _T_478; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@259200.6]
+  assign _T_495 = _T_493 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259202.6]
+  assign _T_496 = _T_495 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259203.6]
+  assign _T_497 = io_in_a_bits_source == _T_480; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@259208.6]
+  assign _T_499 = _T_497 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259210.6]
+  assign _T_500 = _T_499 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259211.6]
+  assign _T_501 = io_in_a_bits_address == _T_482; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@259216.6]
+  assign _T_503 = _T_501 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259218.6]
+  assign _T_504 = _T_503 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259219.6]
+  assign _T_506 = _T_459 & _T_465; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@259226.4]
+  assign _T_507 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@259234.4]
+  assign _T_510 = _T_509 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@259236.4]
+  assign _T_511 = $unsigned(_T_510); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@259237.4]
+  assign _T_512 = _T_511[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@259238.4]
+  assign _T_513 = _T_509 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@259239.4]
+  assign _T_533 = _T_513 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@259256.4]
+  assign _T_534 = io_in_d_valid & _T_533; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@259257.4]
+  assign _T_543 = io_in_d_bits_size == _T_526; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@259275.6]
+  assign _T_545 = _T_543 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259277.6]
+  assign _T_546 = _T_545 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259278.6]
+  assign _T_547 = io_in_d_bits_source == _T_528; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@259283.6]
+  assign _T_549 = _T_547 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259285.6]
+  assign _T_550 = _T_549 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259286.6]
+  assign _T_560 = _T_507 & _T_513; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@259309.4]
+  assign _T_566 = _T_565 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@259321.4]
+  assign _T_567 = $unsigned(_T_566); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@259322.4]
+  assign _T_568 = _T_567[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@259323.4]
+  assign _T_569 = _T_565 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@259324.4]
+  assign _T_580 = _T_579 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@259337.4]
+  assign _T_581 = $unsigned(_T_580); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@259338.4]
+  assign _T_582 = _T_581[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@259339.4]
+  assign _T_583 = _T_579 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@259340.4]
+  assign _T_594 = _T_459 & _T_569; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@259355.4]
+  assign _T_596 = 256'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@259358.6]
+  assign _T_597 = _T_562 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@259360.6]
+  assign _T_598 = _T_597[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@259361.6]
+  assign _T_599 = _T_598 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259362.6]
+  assign _T_601 = _T_599 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@259364.6]
+  assign _T_602 = _T_601 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@259365.6]
+  assign _GEN_15 = _T_594 ? _T_596 : 256'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@259357.4]
+  assign _T_607 = _T_507 & _T_583; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@259376.4]
+  assign _T_611 = 256'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@259381.6]
+  assign _T_612 = _GEN_15 | _T_562; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@259383.6]
+  assign _T_613 = _T_612 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@259384.6]
+  assign _T_614 = _T_613[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@259385.6]
+  assign _T_616 = _T_614 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@259387.6]
+  assign _T_617 = _T_616 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@259388.6]
+  assign _GEN_16 = _T_607 ? _T_611 : 256'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@259380.4]
+  assign _T_618 = _T_562 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@259394.4]
+  assign _T_619 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@259395.4]
+  assign _T_620 = _T_618 & _T_619; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@259396.4]
+  assign _T_623 = _T_562 != 256'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@259401.4]
+  assign _T_624 = _T_623 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@259402.4]
+  assign _T_625 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@259403.4]
+  assign _T_626 = _T_624 | _T_625; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@259404.4]
+  assign _T_627 = _T_622 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@259405.4]
+  assign _T_628 = _T_626 | _T_627; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@259406.4]
+  assign _T_630 = _T_628 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@259408.4]
+  assign _T_631 = _T_630 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@259409.4]
+  assign _T_633 = _T_622 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@259415.4]
+  assign _T_636 = _T_459 | _T_507; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@259419.4]
+  assign _GEN_18 = io_in_a_valid & _T_55; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258411.10]
+  assign _GEN_28 = io_in_a_valid & _T_93; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258483.10]
+  assign _GEN_40 = io_in_a_valid & _T_135; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258564.10]
+  assign _GEN_48 = io_in_a_valid & _T_166; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258620.10]
+  assign _GEN_54 = io_in_a_valid & _T_192; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258668.10]
+  assign _GEN_58 = io_in_a_valid & _T_220; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258718.10]
+  assign _GEN_64 = io_in_a_valid & _T_246; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258766.10]
+  assign _GEN_70 = io_in_a_valid & _T_272; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258814.10]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  _T_461 = _RAND_0[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  _T_474 = _RAND_1[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  _T_476 = _RAND_2[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  _T_478 = _RAND_3[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  _T_480 = _RAND_4[7:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  _T_482 = _RAND_5[29:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {1{`RANDOM}};
+  _T_509 = _RAND_6[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {1{`RANDOM}};
+  _T_526 = _RAND_7[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_8 = {1{`RANDOM}};
+  _T_528 = _RAND_8[7:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_9 = {8{`RANDOM}};
+  _T_562 = _RAND_9[255:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_10 = {1{`RANDOM}};
+  _T_565 = _RAND_10[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_11 = {1{`RANDOM}};
+  _T_579 = _RAND_11[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_12 = {1{`RANDOM}};
+  _T_622 = _RAND_12[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      _T_461 <= 1'h0;
+    end else begin
+      if (_T_459) begin
+        if (_T_465) begin
+          _T_461 <= 1'h0;
+        end else begin
+          _T_461 <= _T_464;
+        end
+      end
+    end
+    if (_T_506) begin
+      _T_474 <= io_in_a_bits_opcode;
+    end
+    if (_T_506) begin
+      _T_476 <= io_in_a_bits_param;
+    end
+    if (_T_506) begin
+      _T_478 <= io_in_a_bits_size;
+    end
+    if (_T_506) begin
+      _T_480 <= io_in_a_bits_source;
+    end
+    if (_T_506) begin
+      _T_482 <= io_in_a_bits_address;
+    end
+    if (reset) begin
+      _T_509 <= 1'h0;
+    end else begin
+      if (_T_507) begin
+        if (_T_513) begin
+          _T_509 <= 1'h0;
+        end else begin
+          _T_509 <= _T_512;
+        end
+      end
+    end
+    if (_T_560) begin
+      _T_526 <= io_in_d_bits_size;
+    end
+    if (_T_560) begin
+      _T_528 <= io_in_d_bits_source;
+    end
+    if (reset) begin
+      _T_562 <= 256'h0;
+    end else begin
+      _T_562 <= _T_620;
+    end
+    if (reset) begin
+      _T_565 <= 1'h0;
+    end else begin
+      if (_T_459) begin
+        if (_T_569) begin
+          _T_565 <= 1'h0;
+        end else begin
+          _T_565 <= _T_568;
+        end
+      end
+    end
+    if (reset) begin
+      _T_579 <= 1'h0;
+    end else begin
+      if (_T_507) begin
+        if (_T_583) begin
+          _T_579 <= 1'h0;
+        end else begin
+          _T_579 <= _T_582;
+        end
+      end
+    end
+    if (reset) begin
+      _T_622 <= 32'h0;
+    end else begin
+      if (_T_636) begin
+        _T_622 <= 32'h0;
+      end else begin
+        _T_622 <= _T_633;
+      end
+    end
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@258359.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@258360.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@258394.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@258395.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_18 & _T_66) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258411.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_18 & _T_66) begin
+          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258412.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_18 & _T_66) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258418.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_18 & _T_66) begin
+          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258419.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258425.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258426.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258433.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258434.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258440.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258441.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_18 & _T_83) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258448.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_18 & _T_83) begin
+          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258449.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_18 & _T_88) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258457.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_18 & _T_88) begin
+          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258458.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_18 & _T_92) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258465.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_18 & _T_92) begin
+          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258466.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_28 & _T_66) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258483.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_28 & _T_66) begin
+          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258484.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_28 & _T_66) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258490.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_28 & _T_66) begin
+          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258491.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258497.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258498.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258505.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258506.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258512.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258513.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_28 & _T_83) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258520.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_28 & _T_83) begin
+          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258521.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_28 & _T_125) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258528.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_28 & _T_125) begin
+          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258529.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_28 & _T_88) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258537.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_28 & _T_88) begin
+          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258538.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_28 & _T_92) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258545.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_28 & _T_92) begin
+          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258546.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_40 & _T_147) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258564.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_40 & _T_147) begin
+          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258565.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258571.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258572.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258578.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258579.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_40 & _T_157) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258586.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_40 & _T_157) begin
+          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258587.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_40 & _T_161) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258594.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_40 & _T_161) begin
+          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258595.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_40 & _T_92) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258602.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_40 & _T_92) begin
+          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258603.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_48 & _T_66) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258620.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_48 & _T_66) begin
+          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258621.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258627.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258628.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258634.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258635.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_48 & _T_157) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258642.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_48 & _T_157) begin
+          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258643.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_48 & _T_161) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258650.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_48 & _T_161) begin
+          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258651.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_54 & _T_66) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258668.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_54 & _T_66) begin
+          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258669.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258675.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258676.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258682.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258683.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_54 & _T_157) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258690.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_54 & _T_157) begin
+          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258691.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258700.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258701.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_58 & _T_66) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258718.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_58 & _T_66) begin
+          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258719.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258725.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258726.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258732.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258733.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_58 & _T_241) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258740.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_58 & _T_241) begin
+          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258741.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_58 & _T_161) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258748.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_58 & _T_161) begin
+          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258749.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_64 & _T_66) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258766.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_64 & _T_66) begin
+          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258767.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258773.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258774.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258780.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258781.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_64 & _T_267) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258788.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_64 & _T_267) begin
+          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258789.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_64 & _T_161) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258796.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_64 & _T_161) begin
+          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258797.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_70 & _T_66) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258814.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_70 & _T_66) begin
+          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258815.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258821.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258822.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258828.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258829.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_70 & _T_161) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258836.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_70 & _T_161) begin
+          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258837.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_70 & _T_92) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258844.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_70 & _T_92) begin
+          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258845.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@258855.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@258856.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258876.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258877.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258884.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258885.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258892.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258893.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258900.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258901.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258908.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258909.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258918.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258919.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258925.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258926.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258933.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258934.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258941.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258942.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258949.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258950.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258957.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258958.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258966.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258967.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258976.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258977.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258983.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258984.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258991.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258992.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258999.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259000.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259007.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259008.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259016.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259017.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259025.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259026.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259035.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259036.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259043.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259044.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259051.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259052.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259060.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259061.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259070.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259071.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259078.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259079.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259087.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259088.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259096.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259097.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259106.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259107.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259114.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259115.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259122.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259123.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259131.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259132.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259141.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259142.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259149.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259150.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259157.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259158.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_484 & _T_488) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259189.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_484 & _T_488) begin
+          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259190.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_484 & _T_492) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259197.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_484 & _T_492) begin
+          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259198.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_484 & _T_496) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259205.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_484 & _T_496) begin
+          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259206.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_484 & _T_500) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259213.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_484 & _T_500) begin
+          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259214.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_484 & _T_504) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259221.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_484 & _T_504) begin
+          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259222.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259264.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259265.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259272.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259273.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_534 & _T_546) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259280.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_534 & _T_546) begin
+          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259281.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_534 & _T_550) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259288.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_534 & _T_550) begin
+          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259289.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259296.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259297.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259304.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259305.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_594 & _T_602) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@259367.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_594 & _T_602) begin
+          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@259368.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_607 & _T_617) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@259390.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_607 & _T_617) begin
+          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@259391.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_631) begin
+          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@259411.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_631) begin
+          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@259412.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+endmodule
+module TLBuffer_23( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259424.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259425.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259426.4]
+  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259427.4]
+  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259427.4]
+  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259427.4]
+  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259427.4]
+  input         auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259427.4]
+  input  [7:0]  auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259427.4]
+  input  [29:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259427.4]
+  input         auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259427.4]
+  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259427.4]
+  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259427.4]
+  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259427.4]
+  output        auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259427.4]
+  output [7:0]  auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259427.4]
+  output [7:0]  auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259427.4]
+  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259427.4]
+  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259427.4]
+  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259427.4]
+  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259427.4]
+  output        auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259427.4]
+  output [7:0]  auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259427.4]
+  output [29:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259427.4]
+  output        auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259427.4]
+  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259427.4]
+  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259427.4]
+  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259427.4]
+  input         auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259427.4]
+  input  [7:0]  auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259427.4]
+  input  [7:0]  auto_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259427.4]
+);
+  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@259434.4]
+  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@259434.4]
+  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@259434.4]
+  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@259434.4]
+  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@259434.4]
+  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@259434.4]
+  wire  TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@259434.4]
+  wire [7:0] TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@259434.4]
+  wire [29:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@259434.4]
+  wire  TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@259434.4]
+  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@259434.4]
+  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@259434.4]
+  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@259434.4]
+  wire  TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@259434.4]
+  wire [7:0] TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@259434.4]
+  TLMonitor_69 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@259434.4]
+    .clock(TLMonitor_clock),
+    .reset(TLMonitor_reset),
+    .io_in_a_ready(TLMonitor_io_in_a_ready),
+    .io_in_a_valid(TLMonitor_io_in_a_valid),
+    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
+    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
+    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
+    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
+    .io_in_d_ready(TLMonitor_io_in_d_ready),
+    .io_in_d_valid(TLMonitor_io_in_d_valid),
+    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
+    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source)
+  );
+  assign auto_in_a_ready = auto_out_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@259474.4]
+  assign auto_in_d_valid = auto_out_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@259474.4]
+  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@259474.4]
+  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@259474.4]
+  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@259474.4]
+  assign auto_out_a_valid = auto_in_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@259473.4]
+  assign auto_out_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@259473.4]
+  assign auto_out_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@259473.4]
+  assign auto_out_a_bits_size = auto_in_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@259473.4]
+  assign auto_out_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@259473.4]
+  assign auto_out_a_bits_address = auto_in_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@259473.4]
+  assign auto_out_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@259473.4]
+  assign auto_out_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@259473.4]
+  assign auto_out_d_ready = auto_in_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@259473.4]
+  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259436.4]
+  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259437.4]
+  assign TLMonitor_io_in_a_ready = auto_out_a_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@259470.4]
+  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@259470.4]
+  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@259470.4]
+  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@259470.4]
+  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@259470.4]
+  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@259470.4]
+  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@259470.4]
+  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@259470.4]
+  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@259470.4]
+  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@259470.4]
+  assign TLMonitor_io_in_d_valid = auto_out_d_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@259470.4]
+  assign TLMonitor_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@259470.4]
+  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@259470.4]
+endmodule
+module TLMonitor_70( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259545.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259546.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259547.4]
+  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259548.4]
+  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259548.4]
+  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259548.4]
+  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259548.4]
+  input         io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259548.4]
+  input  [7:0]  io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259548.4]
+  input  [29:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259548.4]
+  input         io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259548.4]
+  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259548.4]
+  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259548.4]
+  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259548.4]
+  input         io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259548.4]
+  input  [7:0]  io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259548.4]
+);
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@260600.4]
+  wire  _T_55; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@259598.6]
+  wire [29:0] _T_57; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@259601.8]
+  wire [30:0] _T_58; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@259602.8]
+  wire [30:0] _T_59; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@259603.8]
+  wire [30:0] _T_60; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@259604.8]
+  wire  _T_61; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@259605.8]
+  wire  _T_66; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259610.8]
+  wire  _T_80; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@259644.8]
+  wire  _T_82; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259646.8]
+  wire  _T_83; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259647.8]
+  wire  _T_84; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@259652.8]
+  wire  _T_85; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@259653.8]
+  wire  _T_87; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259655.8]
+  wire  _T_88; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259656.8]
+  wire  _T_89; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@259661.8]
+  wire  _T_91; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259663.8]
+  wire  _T_92; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259664.8]
+  wire  _T_93; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@259670.6]
+  wire  _T_122; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@259724.8]
+  wire  _T_124; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259726.8]
+  wire  _T_125; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259727.8]
+  wire  _T_135; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@259750.6]
+  wire  _T_136; // @[Parameters.scala 89:48:shc.marmotcaravel.MarmotCaravelConfig.fir@259752.8]
+  wire  _T_143; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@259759.8]
+  wire  _T_146; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259762.8]
+  wire  _T_147; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259763.8]
+  wire  _T_154; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@259782.8]
+  wire  _T_156; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259784.8]
+  wire  _T_157; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259785.8]
+  wire  _T_160; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259792.8]
+  wire  _T_161; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259793.8]
+  wire  _T_166; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@259807.6]
+  wire  _T_192; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@259855.6]
+  wire  _T_220; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@259905.6]
+  wire  _T_238; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@259936.8]
+  wire  _T_240; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259938.8]
+  wire  _T_241; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259939.8]
+  wire  _T_246; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@259953.6]
+  wire  _T_264; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@259984.8]
+  wire  _T_266; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259986.8]
+  wire  _T_267; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259987.8]
+  wire  _T_272; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@260001.6]
+  wire  _T_459; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@260361.4]
+  reg  _T_461; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@260362.4]
+  reg [31:0] _RAND_0;
+  wire [1:0] _T_462; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@260363.4]
+  wire [1:0] _T_463; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@260364.4]
+  wire  _T_464; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@260365.4]
+  wire  _T_465; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@260366.4]
+  reg [2:0] _T_474; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@260377.4]
+  reg [31:0] _RAND_1;
+  reg [2:0] _T_476; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@260378.4]
+  reg [31:0] _RAND_2;
+  reg  _T_478; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@260379.4]
+  reg [31:0] _RAND_3;
+  reg [7:0] _T_480; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@260380.4]
+  reg [31:0] _RAND_4;
+  reg [29:0] _T_482; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@260381.4]
+  reg [31:0] _RAND_5;
+  wire  _T_483; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@260382.4]
+  wire  _T_484; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@260383.4]
+  wire  _T_485; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@260385.6]
+  wire  _T_487; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260387.6]
+  wire  _T_488; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260388.6]
+  wire  _T_489; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@260393.6]
+  wire  _T_491; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260395.6]
+  wire  _T_492; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260396.6]
+  wire  _T_493; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@260401.6]
+  wire  _T_495; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260403.6]
+  wire  _T_496; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260404.6]
+  wire  _T_497; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@260409.6]
+  wire  _T_499; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260411.6]
+  wire  _T_500; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260412.6]
+  wire  _T_501; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@260417.6]
+  wire  _T_503; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260419.6]
+  wire  _T_504; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260420.6]
+  wire  _T_506; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@260427.4]
+  wire  _T_507; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@260435.4]
+  reg  _T_509; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@260436.4]
+  reg [31:0] _RAND_6;
+  wire [1:0] _T_510; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@260437.4]
+  wire [1:0] _T_511; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@260438.4]
+  wire  _T_512; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@260439.4]
+  wire  _T_513; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@260440.4]
+  reg  _T_526; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@260453.4]
+  reg [31:0] _RAND_7;
+  reg [7:0] _T_528; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@260454.4]
+  reg [31:0] _RAND_8;
+  wire  _T_533; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@260457.4]
+  wire  _T_534; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@260458.4]
+  wire  _T_543; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@260476.6]
+  wire  _T_545; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260478.6]
+  wire  _T_546; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260479.6]
+  wire  _T_547; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@260484.6]
+  wire  _T_549; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260486.6]
+  wire  _T_550; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260487.6]
+  wire  _T_560; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@260510.4]
+  reg [255:0] _T_562; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@260519.4]
+  reg [255:0] _RAND_9;
+  reg  _T_565; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@260521.4]
+  reg [31:0] _RAND_10;
+  wire [1:0] _T_566; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@260522.4]
+  wire [1:0] _T_567; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@260523.4]
+  wire  _T_568; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@260524.4]
+  wire  _T_569; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@260525.4]
+  reg  _T_579; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@260537.4]
+  reg [31:0] _RAND_11;
+  wire [1:0] _T_580; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@260538.4]
+  wire [1:0] _T_581; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@260539.4]
+  wire  _T_582; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@260540.4]
+  wire  _T_583; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@260541.4]
+  wire  _T_594; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@260556.4]
+  wire [255:0] _T_596; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@260559.6]
+  wire [255:0] _T_597; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@260561.6]
+  wire  _T_598; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@260562.6]
+  wire  _T_599; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260563.6]
+  wire  _T_601; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@260565.6]
+  wire  _T_602; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@260566.6]
+  wire [255:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@260558.4]
+  wire  _T_607; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@260577.4]
+  wire [255:0] _T_611; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@260582.6]
+  wire [255:0] _T_612; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@260584.6]
+  wire [255:0] _T_613; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@260585.6]
+  wire  _T_614; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@260586.6]
+  wire  _T_616; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@260588.6]
+  wire  _T_617; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@260589.6]
+  wire [255:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@260581.4]
+  wire [255:0] _T_618; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@260595.4]
+  wire [255:0] _T_619; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@260596.4]
+  wire [255:0] _T_620; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@260597.4]
+  reg [31:0] _T_622; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@260599.4]
+  reg [31:0] _RAND_12;
+  wire  _T_623; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@260602.4]
+  wire  _T_624; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@260603.4]
+  wire  _T_625; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@260604.4]
+  wire  _T_626; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@260605.4]
+  wire  _T_627; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@260606.4]
+  wire  _T_628; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@260607.4]
+  wire  _T_630; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@260609.4]
+  wire  _T_631; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@260610.4]
+  wire [31:0] _T_633; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@260616.4]
+  wire  _T_636; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@260620.4]
+  wire  _GEN_18; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259612.10]
+  wire  _GEN_28; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259684.10]
+  wire  _GEN_40; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259765.10]
+  wire  _GEN_48; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259821.10]
+  wire  _GEN_54; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259869.10]
+  wire  _GEN_58; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259919.10]
+  wire  _GEN_64; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259967.10]
+  wire  _GEN_70; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260015.10]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@260600.4]
+    .out(plusarg_reader_out)
+  );
+  assign _T_55 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@259598.6]
+  assign _T_57 = io_in_a_bits_address ^ 30'h20000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@259601.8]
+  assign _T_58 = {1'b0,$signed(_T_57)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@259602.8]
+  assign _T_59 = $signed(_T_58) & $signed(-31'sh20000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@259603.8]
+  assign _T_60 = $signed(_T_59); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@259604.8]
+  assign _T_61 = $signed(_T_60) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@259605.8]
+  assign _T_66 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259610.8]
+  assign _T_80 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@259644.8]
+  assign _T_82 = _T_80 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259646.8]
+  assign _T_83 = _T_82 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259647.8]
+  assign _T_84 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@259652.8]
+  assign _T_85 = _T_84 == 1'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@259653.8]
+  assign _T_87 = _T_85 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259655.8]
+  assign _T_88 = _T_87 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259656.8]
+  assign _T_89 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@259661.8]
+  assign _T_91 = _T_89 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259663.8]
+  assign _T_92 = _T_91 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259664.8]
+  assign _T_93 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@259670.6]
+  assign _T_122 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@259724.8]
+  assign _T_124 = _T_122 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259726.8]
+  assign _T_125 = _T_124 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259727.8]
+  assign _T_135 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@259750.6]
+  assign _T_136 = 1'h0 == io_in_a_bits_size; // @[Parameters.scala 89:48:shc.marmotcaravel.MarmotCaravelConfig.fir@259752.8]
+  assign _T_143 = _T_136 & _T_61; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@259759.8]
+  assign _T_146 = _T_143 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259762.8]
+  assign _T_147 = _T_146 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259763.8]
+  assign _T_154 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@259782.8]
+  assign _T_156 = _T_154 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259784.8]
+  assign _T_157 = _T_156 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259785.8]
+  assign _T_160 = io_in_a_bits_mask | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259792.8]
+  assign _T_161 = _T_160 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259793.8]
+  assign _T_166 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@259807.6]
+  assign _T_192 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@259855.6]
+  assign _T_220 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@259905.6]
+  assign _T_238 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@259936.8]
+  assign _T_240 = _T_238 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259938.8]
+  assign _T_241 = _T_240 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259939.8]
+  assign _T_246 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@259953.6]
+  assign _T_264 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@259984.8]
+  assign _T_266 = _T_264 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259986.8]
+  assign _T_267 = _T_266 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259987.8]
+  assign _T_272 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@260001.6]
+  assign _T_459 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@260361.4]
+  assign _T_462 = _T_461 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@260363.4]
+  assign _T_463 = $unsigned(_T_462); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@260364.4]
+  assign _T_464 = _T_463[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@260365.4]
+  assign _T_465 = _T_461 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@260366.4]
+  assign _T_483 = _T_465 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@260382.4]
+  assign _T_484 = io_in_a_valid & _T_483; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@260383.4]
+  assign _T_485 = io_in_a_bits_opcode == _T_474; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@260385.6]
+  assign _T_487 = _T_485 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260387.6]
+  assign _T_488 = _T_487 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260388.6]
+  assign _T_489 = io_in_a_bits_param == _T_476; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@260393.6]
+  assign _T_491 = _T_489 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260395.6]
+  assign _T_492 = _T_491 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260396.6]
+  assign _T_493 = io_in_a_bits_size == _T_478; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@260401.6]
+  assign _T_495 = _T_493 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260403.6]
+  assign _T_496 = _T_495 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260404.6]
+  assign _T_497 = io_in_a_bits_source == _T_480; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@260409.6]
+  assign _T_499 = _T_497 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260411.6]
+  assign _T_500 = _T_499 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260412.6]
+  assign _T_501 = io_in_a_bits_address == _T_482; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@260417.6]
+  assign _T_503 = _T_501 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260419.6]
+  assign _T_504 = _T_503 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260420.6]
+  assign _T_506 = _T_459 & _T_465; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@260427.4]
+  assign _T_507 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@260435.4]
+  assign _T_510 = _T_509 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@260437.4]
+  assign _T_511 = $unsigned(_T_510); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@260438.4]
+  assign _T_512 = _T_511[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@260439.4]
+  assign _T_513 = _T_509 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@260440.4]
+  assign _T_533 = _T_513 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@260457.4]
+  assign _T_534 = io_in_d_valid & _T_533; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@260458.4]
+  assign _T_543 = io_in_d_bits_size == _T_526; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@260476.6]
+  assign _T_545 = _T_543 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260478.6]
+  assign _T_546 = _T_545 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260479.6]
+  assign _T_547 = io_in_d_bits_source == _T_528; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@260484.6]
+  assign _T_549 = _T_547 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260486.6]
+  assign _T_550 = _T_549 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260487.6]
+  assign _T_560 = _T_507 & _T_513; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@260510.4]
+  assign _T_566 = _T_565 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@260522.4]
+  assign _T_567 = $unsigned(_T_566); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@260523.4]
+  assign _T_568 = _T_567[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@260524.4]
+  assign _T_569 = _T_565 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@260525.4]
+  assign _T_580 = _T_579 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@260538.4]
+  assign _T_581 = $unsigned(_T_580); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@260539.4]
+  assign _T_582 = _T_581[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@260540.4]
+  assign _T_583 = _T_579 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@260541.4]
+  assign _T_594 = _T_459 & _T_569; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@260556.4]
+  assign _T_596 = 256'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@260559.6]
+  assign _T_597 = _T_562 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@260561.6]
+  assign _T_598 = _T_597[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@260562.6]
+  assign _T_599 = _T_598 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260563.6]
+  assign _T_601 = _T_599 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@260565.6]
+  assign _T_602 = _T_601 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@260566.6]
+  assign _GEN_15 = _T_594 ? _T_596 : 256'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@260558.4]
+  assign _T_607 = _T_507 & _T_583; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@260577.4]
+  assign _T_611 = 256'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@260582.6]
+  assign _T_612 = _GEN_15 | _T_562; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@260584.6]
+  assign _T_613 = _T_612 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@260585.6]
+  assign _T_614 = _T_613[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@260586.6]
+  assign _T_616 = _T_614 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@260588.6]
+  assign _T_617 = _T_616 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@260589.6]
+  assign _GEN_16 = _T_607 ? _T_611 : 256'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@260581.4]
+  assign _T_618 = _T_562 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@260595.4]
+  assign _T_619 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@260596.4]
+  assign _T_620 = _T_618 & _T_619; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@260597.4]
+  assign _T_623 = _T_562 != 256'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@260602.4]
+  assign _T_624 = _T_623 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@260603.4]
+  assign _T_625 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@260604.4]
+  assign _T_626 = _T_624 | _T_625; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@260605.4]
+  assign _T_627 = _T_622 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@260606.4]
+  assign _T_628 = _T_626 | _T_627; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@260607.4]
+  assign _T_630 = _T_628 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@260609.4]
+  assign _T_631 = _T_630 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@260610.4]
+  assign _T_633 = _T_622 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@260616.4]
+  assign _T_636 = _T_459 | _T_507; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@260620.4]
+  assign _GEN_18 = io_in_a_valid & _T_55; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259612.10]
+  assign _GEN_28 = io_in_a_valid & _T_93; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259684.10]
+  assign _GEN_40 = io_in_a_valid & _T_135; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259765.10]
+  assign _GEN_48 = io_in_a_valid & _T_166; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259821.10]
+  assign _GEN_54 = io_in_a_valid & _T_192; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259869.10]
+  assign _GEN_58 = io_in_a_valid & _T_220; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259919.10]
+  assign _GEN_64 = io_in_a_valid & _T_246; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259967.10]
+  assign _GEN_70 = io_in_a_valid & _T_272; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260015.10]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  _T_461 = _RAND_0[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  _T_474 = _RAND_1[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  _T_476 = _RAND_2[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  _T_478 = _RAND_3[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  _T_480 = _RAND_4[7:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  _T_482 = _RAND_5[29:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {1{`RANDOM}};
+  _T_509 = _RAND_6[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {1{`RANDOM}};
+  _T_526 = _RAND_7[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_8 = {1{`RANDOM}};
+  _T_528 = _RAND_8[7:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_9 = {8{`RANDOM}};
+  _T_562 = _RAND_9[255:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_10 = {1{`RANDOM}};
+  _T_565 = _RAND_10[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_11 = {1{`RANDOM}};
+  _T_579 = _RAND_11[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_12 = {1{`RANDOM}};
+  _T_622 = _RAND_12[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      _T_461 <= 1'h0;
+    end else begin
+      if (_T_459) begin
+        if (_T_465) begin
+          _T_461 <= 1'h0;
+        end else begin
+          _T_461 <= _T_464;
+        end
+      end
+    end
+    if (_T_506) begin
+      _T_474 <= io_in_a_bits_opcode;
+    end
+    if (_T_506) begin
+      _T_476 <= io_in_a_bits_param;
+    end
+    if (_T_506) begin
+      _T_478 <= io_in_a_bits_size;
+    end
+    if (_T_506) begin
+      _T_480 <= io_in_a_bits_source;
+    end
+    if (_T_506) begin
+      _T_482 <= io_in_a_bits_address;
+    end
+    if (reset) begin
+      _T_509 <= 1'h0;
+    end else begin
+      if (_T_507) begin
+        if (_T_513) begin
+          _T_509 <= 1'h0;
+        end else begin
+          _T_509 <= _T_512;
+        end
+      end
+    end
+    if (_T_560) begin
+      _T_526 <= io_in_d_bits_size;
+    end
+    if (_T_560) begin
+      _T_528 <= io_in_d_bits_source;
+    end
+    if (reset) begin
+      _T_562 <= 256'h0;
+    end else begin
+      _T_562 <= _T_620;
+    end
+    if (reset) begin
+      _T_565 <= 1'h0;
+    end else begin
+      if (_T_459) begin
+        if (_T_569) begin
+          _T_565 <= 1'h0;
+        end else begin
+          _T_565 <= _T_568;
+        end
+      end
+    end
+    if (reset) begin
+      _T_579 <= 1'h0;
+    end else begin
+      if (_T_507) begin
+        if (_T_583) begin
+          _T_579 <= 1'h0;
+        end else begin
+          _T_579 <= _T_582;
+        end
+      end
+    end
+    if (reset) begin
+      _T_622 <= 32'h0;
+    end else begin
+      if (_T_636) begin
+        _T_622 <= 32'h0;
+      end else begin
+        _T_622 <= _T_633;
+      end
+    end
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@259560.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@259561.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@259595.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@259596.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_18 & _T_66) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259612.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_18 & _T_66) begin
+          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259613.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_18 & _T_66) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259619.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_18 & _T_66) begin
+          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259620.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259626.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259627.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259634.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259635.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259641.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259642.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_18 & _T_83) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259649.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_18 & _T_83) begin
+          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259650.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_18 & _T_88) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259658.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_18 & _T_88) begin
+          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259659.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_18 & _T_92) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259666.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_18 & _T_92) begin
+          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259667.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_28 & _T_66) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259684.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_28 & _T_66) begin
+          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259685.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_28 & _T_66) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259691.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_28 & _T_66) begin
+          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259692.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259698.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259699.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259706.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259707.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259713.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259714.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_28 & _T_83) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259721.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_28 & _T_83) begin
+          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259722.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_28 & _T_125) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259729.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_28 & _T_125) begin
+          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259730.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_28 & _T_88) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259738.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_28 & _T_88) begin
+          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259739.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_28 & _T_92) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259746.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_28 & _T_92) begin
+          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259747.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_40 & _T_147) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259765.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_40 & _T_147) begin
+          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259766.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259772.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259773.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259779.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259780.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_40 & _T_157) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259787.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_40 & _T_157) begin
+          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259788.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_40 & _T_161) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259795.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_40 & _T_161) begin
+          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259796.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_40 & _T_92) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259803.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_40 & _T_92) begin
+          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259804.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_48 & _T_66) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259821.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_48 & _T_66) begin
+          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259822.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259828.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259829.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259835.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259836.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_48 & _T_157) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259843.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_48 & _T_157) begin
+          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259844.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_48 & _T_161) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259851.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_48 & _T_161) begin
+          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259852.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_54 & _T_66) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259869.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_54 & _T_66) begin
+          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259870.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259876.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259877.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259883.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259884.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_54 & _T_157) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259891.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_54 & _T_157) begin
+          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259892.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259901.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259902.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_58 & _T_66) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259919.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_58 & _T_66) begin
+          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259920.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259926.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259927.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259933.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259934.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_58 & _T_241) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259941.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_58 & _T_241) begin
+          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259942.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_58 & _T_161) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259949.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_58 & _T_161) begin
+          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259950.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_64 & _T_66) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259967.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_64 & _T_66) begin
+          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259968.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259974.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259975.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259981.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259982.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_64 & _T_267) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259989.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_64 & _T_267) begin
+          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259990.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_64 & _T_161) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259997.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_64 & _T_161) begin
+          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259998.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_70 & _T_66) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260015.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_70 & _T_66) begin
+          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260016.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260022.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260023.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260029.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260030.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_70 & _T_161) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260037.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_70 & _T_161) begin
+          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260038.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_70 & _T_92) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260045.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_70 & _T_92) begin
+          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260046.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@260056.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@260057.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260077.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260078.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260085.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260086.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260093.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260094.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260101.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260102.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260109.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260110.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260119.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260120.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260126.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260127.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260134.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260135.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260142.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260143.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260150.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260151.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260158.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260159.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260167.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260168.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260177.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260178.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260184.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260185.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260192.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260193.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260200.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260201.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260208.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260209.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260217.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260218.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260226.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260227.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260236.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260237.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260244.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260245.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260252.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260253.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260261.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260262.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260271.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260272.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260279.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260280.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260288.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260289.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260297.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260298.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260307.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260308.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260315.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260316.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260323.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260324.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260332.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260333.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260342.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260343.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260350.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260351.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260358.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260359.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_484 & _T_488) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260390.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_484 & _T_488) begin
+          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260391.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_484 & _T_492) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260398.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_484 & _T_492) begin
+          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260399.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_484 & _T_496) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260406.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_484 & _T_496) begin
+          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260407.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_484 & _T_500) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260414.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_484 & _T_500) begin
+          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260415.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_484 & _T_504) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260422.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_484 & _T_504) begin
+          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260423.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260465.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260466.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260473.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260474.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_534 & _T_546) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260481.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_534 & _T_546) begin
+          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260482.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_534 & _T_550) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260489.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_534 & _T_550) begin
+          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260490.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260497.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260498.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260505.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260506.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_594 & _T_602) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@260568.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_594 & _T_602) begin
+          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@260569.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_607 & _T_617) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@260591.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_607 & _T_617) begin
+          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@260592.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_631) begin
+          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@260612.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_631) begin
+          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@260613.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+endmodule
+module TLMonitor_71( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@260632.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@260633.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@260634.4]
+  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@260635.4]
+  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@260635.4]
+  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@260635.4]
+  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@260635.4]
+  input  [1:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@260635.4]
+  input  [5:0]  io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@260635.4]
+  input  [28:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@260635.4]
+  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@260635.4]
+  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@260635.4]
+  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@260635.4]
+  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@260635.4]
+  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@260635.4]
+  input  [1:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@260635.4]
+  input  [5:0]  io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@260635.4]
+);
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@261762.4]
+  wire [4:0] _T_36; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@260662.6]
+  wire [1:0] _T_37; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@260663.6]
+  wire [1:0] _T_38; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@260664.6]
+  wire [28:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@260665.6]
+  wire [28:0] _T_39; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@260665.6]
+  wire  _T_40; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@260666.6]
+  wire  _T_42; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@260668.6]
+  wire [1:0] _T_43; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@260669.6]
+  wire [1:0] _T_45; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@260671.6]
+  wire  _T_46; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@260672.6]
+  wire  _T_47; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@260673.6]
+  wire  _T_48; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@260674.6]
+  wire  _T_49; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@260675.6]
+  wire  _T_51; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@260677.6]
+  wire  _T_52; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@260678.6]
+  wire  _T_54; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@260680.6]
+  wire  _T_55; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@260681.6]
+  wire  _T_56; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@260682.6]
+  wire  _T_57; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@260683.6]
+  wire  _T_58; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@260684.6]
+  wire  _T_59; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@260685.6]
+  wire  _T_60; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@260686.6]
+  wire  _T_61; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@260687.6]
+  wire  _T_62; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@260688.6]
+  wire  _T_63; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@260689.6]
+  wire  _T_64; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@260690.6]
+  wire  _T_65; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@260691.6]
+  wire  _T_66; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@260692.6]
+  wire  _T_67; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@260693.6]
+  wire  _T_68; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@260694.6]
+  wire  _T_69; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@260695.6]
+  wire  _T_70; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@260696.6]
+  wire [1:0] _T_71; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@260697.6]
+  wire [1:0] _T_72; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@260698.6]
+  wire [3:0] _T_73; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@260699.6]
+  wire  _T_92; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@260722.6]
+  wire [28:0] _T_94; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@260725.8]
+  wire [29:0] _T_95; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@260726.8]
+  wire [29:0] _T_96; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@260727.8]
+  wire [29:0] _T_97; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@260728.8]
+  wire  _T_98; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@260729.8]
+  wire  _T_103; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260734.8]
+  wire  _T_112; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260755.8]
+  wire  _T_113; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260756.8]
+  wire  _T_115; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260762.8]
+  wire  _T_116; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260763.8]
+  wire  _T_117; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@260768.8]
+  wire  _T_119; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260770.8]
+  wire  _T_120; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260771.8]
+  wire [3:0] _T_121; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@260776.8]
+  wire  _T_122; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@260777.8]
+  wire  _T_124; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260779.8]
+  wire  _T_125; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260780.8]
+  wire  _T_126; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@260785.8]
+  wire  _T_128; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260787.8]
+  wire  _T_129; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260788.8]
+  wire  _T_130; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@260794.6]
+  wire  _T_159; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@260848.8]
+  wire  _T_161; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260850.8]
+  wire  _T_162; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260851.8]
+  wire  _T_172; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@260874.6]
+  wire  _T_174; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@260877.8]
+  wire  _T_182; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@260885.8]
+  wire  _T_185; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260888.8]
+  wire  _T_186; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260889.8]
+  wire  _T_193; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@260908.8]
+  wire  _T_195; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260910.8]
+  wire  _T_196; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260911.8]
+  wire  _T_197; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@260916.8]
+  wire  _T_199; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260918.8]
+  wire  _T_200; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260919.8]
+  wire  _T_205; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@260933.6]
+  wire  _T_234; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@260984.6]
+  wire [3:0] _T_259; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@261026.8]
+  wire [3:0] _T_260; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@261027.8]
+  wire  _T_261; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@261028.8]
+  wire  _T_263; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261030.8]
+  wire  _T_264; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261031.8]
+  wire  _T_265; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@261037.6]
+  wire  _T_283; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@261068.8]
+  wire  _T_285; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261070.8]
+  wire  _T_286; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261071.8]
+  wire  _T_291; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@261085.6]
+  wire  _T_309; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@261116.8]
+  wire  _T_311; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261118.8]
+  wire  _T_312; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261119.8]
+  wire  _T_317; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@261133.6]
+  wire  _T_343; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@261183.6]
+  wire  _T_345; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@261185.6]
+  wire  _T_346; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@261186.6]
+  wire  _T_363; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@261203.6]
+  wire  _T_367; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@261212.8]
+  wire  _T_369; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261214.8]
+  wire  _T_370; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261215.8]
+  wire  _T_383; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@261245.6]
+  wire  _T_411; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@261303.6]
+  wire  _T_504; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@261493.4]
+  reg  _T_514; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@261502.4]
+  reg [31:0] _RAND_0;
+  wire [1:0] _T_515; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@261503.4]
+  wire [1:0] _T_516; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@261504.4]
+  wire  _T_517; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@261505.4]
+  wire  _T_518; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@261506.4]
+  reg [2:0] _T_527; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@261517.4]
+  reg [31:0] _RAND_1;
+  reg [2:0] _T_529; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@261518.4]
+  reg [31:0] _RAND_2;
+  reg [1:0] _T_531; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@261519.4]
+  reg [31:0] _RAND_3;
+  reg [5:0] _T_533; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@261520.4]
+  reg [31:0] _RAND_4;
+  reg [28:0] _T_535; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@261521.4]
+  reg [31:0] _RAND_5;
+  wire  _T_536; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@261522.4]
+  wire  _T_537; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@261523.4]
+  wire  _T_538; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@261525.6]
+  wire  _T_540; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261527.6]
+  wire  _T_541; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261528.6]
+  wire  _T_542; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@261533.6]
+  wire  _T_544; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261535.6]
+  wire  _T_545; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261536.6]
+  wire  _T_546; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@261541.6]
+  wire  _T_548; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261543.6]
+  wire  _T_549; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261544.6]
+  wire  _T_550; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@261549.6]
+  wire  _T_552; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261551.6]
+  wire  _T_553; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261552.6]
+  wire  _T_554; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@261557.6]
+  wire  _T_556; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261559.6]
+  wire  _T_557; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261560.6]
+  wire  _T_559; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@261567.4]
+  wire  _T_560; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@261575.4]
+  reg  _T_569; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@261583.4]
+  reg [31:0] _RAND_6;
+  wire [1:0] _T_570; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@261584.4]
+  wire [1:0] _T_571; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@261585.4]
+  wire  _T_572; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@261586.4]
+  wire  _T_573; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@261587.4]
+  reg [2:0] _T_582; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@261598.4]
+  reg [31:0] _RAND_7;
+  reg [1:0] _T_586; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@261600.4]
+  reg [31:0] _RAND_8;
+  reg [5:0] _T_588; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@261601.4]
+  reg [31:0] _RAND_9;
+  wire  _T_593; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@261604.4]
+  wire  _T_594; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@261605.4]
+  wire  _T_595; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@261607.6]
+  wire  _T_597; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261609.6]
+  wire  _T_598; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261610.6]
+  wire  _T_603; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@261623.6]
+  wire  _T_605; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261625.6]
+  wire  _T_606; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261626.6]
+  wire  _T_607; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@261631.6]
+  wire  _T_609; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261633.6]
+  wire  _T_610; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261634.6]
+  wire  _T_620; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@261657.4]
+  reg [63:0] _T_622; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@261666.4]
+  reg [63:0] _RAND_10;
+  reg  _T_633; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@261676.4]
+  reg [31:0] _RAND_11;
+  wire [1:0] _T_634; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@261677.4]
+  wire [1:0] _T_635; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@261678.4]
+  wire  _T_636; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@261679.4]
+  wire  _T_637; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@261680.4]
+  reg  _T_654; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@261699.4]
+  reg [31:0] _RAND_12;
+  wire [1:0] _T_655; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@261700.4]
+  wire [1:0] _T_656; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@261701.4]
+  wire  _T_657; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@261702.4]
+  wire  _T_658; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@261703.4]
+  wire  _T_669; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@261718.4]
+  wire [63:0] _T_671; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@261721.6]
+  wire [63:0] _T_672; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@261723.6]
+  wire  _T_673; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@261724.6]
+  wire  _T_674; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261725.6]
+  wire  _T_676; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@261727.6]
+  wire  _T_677; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@261728.6]
+  wire [63:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@261720.4]
+  wire  _T_682; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@261739.4]
+  wire  _T_684; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@261741.4]
+  wire  _T_685; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@261742.4]
+  wire [63:0] _T_686; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@261744.6]
+  wire [63:0] _T_687; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@261746.6]
+  wire [63:0] _T_688; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@261747.6]
+  wire  _T_689; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@261748.6]
+  wire  _T_691; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@261750.6]
+  wire  _T_692; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@261751.6]
+  wire [63:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@261743.4]
+  wire [63:0] _T_693; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@261757.4]
+  wire [63:0] _T_694; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@261758.4]
+  wire [63:0] _T_695; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@261759.4]
+  reg [31:0] _T_697; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@261761.4]
+  reg [31:0] _RAND_13;
+  wire  _T_698; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@261764.4]
+  wire  _T_699; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@261765.4]
+  wire  _T_700; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@261766.4]
+  wire  _T_701; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@261767.4]
+  wire  _T_702; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@261768.4]
+  wire  _T_703; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@261769.4]
+  wire  _T_705; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@261771.4]
+  wire  _T_706; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@261772.4]
+  wire [31:0] _T_708; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@261778.4]
+  wire  _T_711; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@261782.4]
+  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260736.10]
+  wire  _GEN_33; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260808.10]
+  wire  _GEN_49; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260891.10]
+  wire  _GEN_59; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260950.10]
+  wire  _GEN_67; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261001.10]
+  wire  _GEN_75; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261051.10]
+  wire  _GEN_83; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261099.10]
+  wire  _GEN_91; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261147.10]
+  wire  _GEN_99; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261217.10]
+  wire  _GEN_101; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261258.10]
+  wire  _GEN_105; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261316.10]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@261762.4]
+    .out(plusarg_reader_out)
+  );
+  assign _T_36 = 5'h3 << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@260662.6]
+  assign _T_37 = _T_36[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@260663.6]
+  assign _T_38 = ~ _T_37; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@260664.6]
+  assign _GEN_18 = {{27'd0}, _T_38}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@260665.6]
+  assign _T_39 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@260665.6]
+  assign _T_40 = _T_39 == 29'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@260666.6]
+  assign _T_42 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@260668.6]
+  assign _T_43 = 2'h1 << _T_42; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@260669.6]
+  assign _T_45 = _T_43 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@260671.6]
+  assign _T_46 = io_in_a_bits_size >= 2'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@260672.6]
+  assign _T_47 = _T_45[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@260673.6]
+  assign _T_48 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@260674.6]
+  assign _T_49 = _T_48 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@260675.6]
+  assign _T_51 = _T_47 & _T_49; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@260677.6]
+  assign _T_52 = _T_46 | _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@260678.6]
+  assign _T_54 = _T_47 & _T_48; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@260680.6]
+  assign _T_55 = _T_46 | _T_54; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@260681.6]
+  assign _T_56 = _T_45[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@260682.6]
+  assign _T_57 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@260683.6]
+  assign _T_58 = _T_57 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@260684.6]
+  assign _T_59 = _T_49 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@260685.6]
+  assign _T_60 = _T_56 & _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@260686.6]
+  assign _T_61 = _T_52 | _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@260687.6]
+  assign _T_62 = _T_49 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@260688.6]
+  assign _T_63 = _T_56 & _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@260689.6]
+  assign _T_64 = _T_52 | _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@260690.6]
+  assign _T_65 = _T_48 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@260691.6]
+  assign _T_66 = _T_56 & _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@260692.6]
+  assign _T_67 = _T_55 | _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@260693.6]
+  assign _T_68 = _T_48 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@260694.6]
+  assign _T_69 = _T_56 & _T_68; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@260695.6]
+  assign _T_70 = _T_55 | _T_69; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@260696.6]
+  assign _T_71 = {_T_64,_T_61}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@260697.6]
+  assign _T_72 = {_T_70,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@260698.6]
+  assign _T_73 = {_T_72,_T_71}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@260699.6]
+  assign _T_92 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@260722.6]
+  assign _T_94 = io_in_a_bits_address ^ 29'h10014000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@260725.8]
+  assign _T_95 = {1'b0,$signed(_T_94)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@260726.8]
+  assign _T_96 = $signed(_T_95) & $signed(-30'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@260727.8]
+  assign _T_97 = $signed(_T_96); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@260728.8]
+  assign _T_98 = $signed(_T_97) == $signed(30'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@260729.8]
+  assign _T_103 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260734.8]
+  assign _T_112 = _T_46 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260755.8]
+  assign _T_113 = _T_112 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260756.8]
+  assign _T_115 = _T_40 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260762.8]
+  assign _T_116 = _T_115 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260763.8]
+  assign _T_117 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@260768.8]
+  assign _T_119 = _T_117 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260770.8]
+  assign _T_120 = _T_119 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260771.8]
+  assign _T_121 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@260776.8]
+  assign _T_122 = _T_121 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@260777.8]
+  assign _T_124 = _T_122 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260779.8]
+  assign _T_125 = _T_124 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260780.8]
+  assign _T_126 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@260785.8]
+  assign _T_128 = _T_126 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260787.8]
+  assign _T_129 = _T_128 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260788.8]
+  assign _T_130 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@260794.6]
+  assign _T_159 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@260848.8]
+  assign _T_161 = _T_159 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260850.8]
+  assign _T_162 = _T_161 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260851.8]
+  assign _T_172 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@260874.6]
+  assign _T_174 = io_in_a_bits_size <= 2'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@260877.8]
+  assign _T_182 = _T_174 & _T_98; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@260885.8]
+  assign _T_185 = _T_182 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260888.8]
+  assign _T_186 = _T_185 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260889.8]
+  assign _T_193 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@260908.8]
+  assign _T_195 = _T_193 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260910.8]
+  assign _T_196 = _T_195 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260911.8]
+  assign _T_197 = io_in_a_bits_mask == _T_73; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@260916.8]
+  assign _T_199 = _T_197 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260918.8]
+  assign _T_200 = _T_199 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260919.8]
+  assign _T_205 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@260933.6]
+  assign _T_234 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@260984.6]
+  assign _T_259 = ~ _T_73; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@261026.8]
+  assign _T_260 = io_in_a_bits_mask & _T_259; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@261027.8]
+  assign _T_261 = _T_260 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@261028.8]
+  assign _T_263 = _T_261 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261030.8]
+  assign _T_264 = _T_263 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261031.8]
+  assign _T_265 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@261037.6]
+  assign _T_283 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@261068.8]
+  assign _T_285 = _T_283 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261070.8]
+  assign _T_286 = _T_285 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261071.8]
+  assign _T_291 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@261085.6]
+  assign _T_309 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@261116.8]
+  assign _T_311 = _T_309 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261118.8]
+  assign _T_312 = _T_311 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261119.8]
+  assign _T_317 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@261133.6]
+  assign _T_343 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@261183.6]
+  assign _T_345 = _T_343 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@261185.6]
+  assign _T_346 = _T_345 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@261186.6]
+  assign _T_363 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@261203.6]
+  assign _T_367 = io_in_d_bits_size >= 2'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@261212.8]
+  assign _T_369 = _T_367 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261214.8]
+  assign _T_370 = _T_369 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261215.8]
+  assign _T_383 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@261245.6]
+  assign _T_411 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@261303.6]
+  assign _T_504 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@261493.4]
+  assign _T_515 = _T_514 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@261503.4]
+  assign _T_516 = $unsigned(_T_515); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@261504.4]
+  assign _T_517 = _T_516[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@261505.4]
+  assign _T_518 = _T_514 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@261506.4]
+  assign _T_536 = _T_518 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@261522.4]
+  assign _T_537 = io_in_a_valid & _T_536; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@261523.4]
+  assign _T_538 = io_in_a_bits_opcode == _T_527; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@261525.6]
+  assign _T_540 = _T_538 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261527.6]
+  assign _T_541 = _T_540 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261528.6]
+  assign _T_542 = io_in_a_bits_param == _T_529; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@261533.6]
+  assign _T_544 = _T_542 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261535.6]
+  assign _T_545 = _T_544 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261536.6]
+  assign _T_546 = io_in_a_bits_size == _T_531; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@261541.6]
+  assign _T_548 = _T_546 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261543.6]
+  assign _T_549 = _T_548 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261544.6]
+  assign _T_550 = io_in_a_bits_source == _T_533; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@261549.6]
+  assign _T_552 = _T_550 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261551.6]
+  assign _T_553 = _T_552 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261552.6]
+  assign _T_554 = io_in_a_bits_address == _T_535; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@261557.6]
+  assign _T_556 = _T_554 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261559.6]
+  assign _T_557 = _T_556 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261560.6]
+  assign _T_559 = _T_504 & _T_518; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@261567.4]
+  assign _T_560 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@261575.4]
+  assign _T_570 = _T_569 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@261584.4]
+  assign _T_571 = $unsigned(_T_570); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@261585.4]
+  assign _T_572 = _T_571[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@261586.4]
+  assign _T_573 = _T_569 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@261587.4]
+  assign _T_593 = _T_573 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@261604.4]
+  assign _T_594 = io_in_d_valid & _T_593; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@261605.4]
+  assign _T_595 = io_in_d_bits_opcode == _T_582; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@261607.6]
+  assign _T_597 = _T_595 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261609.6]
+  assign _T_598 = _T_597 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261610.6]
+  assign _T_603 = io_in_d_bits_size == _T_586; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@261623.6]
+  assign _T_605 = _T_603 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261625.6]
+  assign _T_606 = _T_605 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261626.6]
+  assign _T_607 = io_in_d_bits_source == _T_588; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@261631.6]
+  assign _T_609 = _T_607 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261633.6]
+  assign _T_610 = _T_609 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261634.6]
+  assign _T_620 = _T_560 & _T_573; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@261657.4]
+  assign _T_634 = _T_633 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@261677.4]
+  assign _T_635 = $unsigned(_T_634); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@261678.4]
+  assign _T_636 = _T_635[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@261679.4]
+  assign _T_637 = _T_633 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@261680.4]
+  assign _T_655 = _T_654 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@261700.4]
+  assign _T_656 = $unsigned(_T_655); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@261701.4]
+  assign _T_657 = _T_656[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@261702.4]
+  assign _T_658 = _T_654 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@261703.4]
+  assign _T_669 = _T_504 & _T_637; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@261718.4]
+  assign _T_671 = 64'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@261721.6]
+  assign _T_672 = _T_622 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@261723.6]
+  assign _T_673 = _T_672[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@261724.6]
+  assign _T_674 = _T_673 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261725.6]
+  assign _T_676 = _T_674 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@261727.6]
+  assign _T_677 = _T_676 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@261728.6]
+  assign _GEN_15 = _T_669 ? _T_671 : 64'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@261720.4]
+  assign _T_682 = _T_560 & _T_658; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@261739.4]
+  assign _T_684 = _T_363 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@261741.4]
+  assign _T_685 = _T_682 & _T_684; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@261742.4]
+  assign _T_686 = 64'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@261744.6]
+  assign _T_687 = _GEN_15 | _T_622; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@261746.6]
+  assign _T_688 = _T_687 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@261747.6]
+  assign _T_689 = _T_688[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@261748.6]
+  assign _T_691 = _T_689 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@261750.6]
+  assign _T_692 = _T_691 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@261751.6]
+  assign _GEN_16 = _T_685 ? _T_686 : 64'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@261743.4]
+  assign _T_693 = _T_622 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@261757.4]
+  assign _T_694 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@261758.4]
+  assign _T_695 = _T_693 & _T_694; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@261759.4]
+  assign _T_698 = _T_622 != 64'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@261764.4]
+  assign _T_699 = _T_698 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@261765.4]
+  assign _T_700 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@261766.4]
+  assign _T_701 = _T_699 | _T_700; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@261767.4]
+  assign _T_702 = _T_697 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@261768.4]
+  assign _T_703 = _T_701 | _T_702; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@261769.4]
+  assign _T_705 = _T_703 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@261771.4]
+  assign _T_706 = _T_705 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@261772.4]
+  assign _T_708 = _T_697 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@261778.4]
+  assign _T_711 = _T_504 | _T_560; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@261782.4]
+  assign _GEN_19 = io_in_a_valid & _T_92; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260736.10]
+  assign _GEN_33 = io_in_a_valid & _T_130; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260808.10]
+  assign _GEN_49 = io_in_a_valid & _T_172; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260891.10]
+  assign _GEN_59 = io_in_a_valid & _T_205; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260950.10]
+  assign _GEN_67 = io_in_a_valid & _T_234; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261001.10]
+  assign _GEN_75 = io_in_a_valid & _T_265; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261051.10]
+  assign _GEN_83 = io_in_a_valid & _T_291; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261099.10]
+  assign _GEN_91 = io_in_a_valid & _T_317; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261147.10]
+  assign _GEN_99 = io_in_d_valid & _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261217.10]
+  assign _GEN_101 = io_in_d_valid & _T_383; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261258.10]
+  assign _GEN_105 = io_in_d_valid & _T_411; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261316.10]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  _T_514 = _RAND_0[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  _T_527 = _RAND_1[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  _T_529 = _RAND_2[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  _T_531 = _RAND_3[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  _T_533 = _RAND_4[5:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  _T_535 = _RAND_5[28:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {1{`RANDOM}};
+  _T_569 = _RAND_6[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {1{`RANDOM}};
+  _T_582 = _RAND_7[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_8 = {1{`RANDOM}};
+  _T_586 = _RAND_8[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_9 = {1{`RANDOM}};
+  _T_588 = _RAND_9[5:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_10 = {2{`RANDOM}};
+  _T_622 = _RAND_10[63:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_11 = {1{`RANDOM}};
+  _T_633 = _RAND_11[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_12 = {1{`RANDOM}};
+  _T_654 = _RAND_12[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_13 = {1{`RANDOM}};
+  _T_697 = _RAND_13[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      _T_514 <= 1'h0;
+    end else begin
+      if (_T_504) begin
+        if (_T_518) begin
+          _T_514 <= 1'h0;
+        end else begin
+          _T_514 <= _T_517;
+        end
+      end
+    end
+    if (_T_559) begin
+      _T_527 <= io_in_a_bits_opcode;
+    end
+    if (_T_559) begin
+      _T_529 <= io_in_a_bits_param;
+    end
+    if (_T_559) begin
+      _T_531 <= io_in_a_bits_size;
+    end
+    if (_T_559) begin
+      _T_533 <= io_in_a_bits_source;
+    end
+    if (_T_559) begin
+      _T_535 <= io_in_a_bits_address;
+    end
+    if (reset) begin
+      _T_569 <= 1'h0;
+    end else begin
+      if (_T_560) begin
+        if (_T_573) begin
+          _T_569 <= 1'h0;
+        end else begin
+          _T_569 <= _T_572;
+        end
+      end
+    end
+    if (_T_620) begin
+      _T_582 <= io_in_d_bits_opcode;
+    end
+    if (_T_620) begin
+      _T_586 <= io_in_d_bits_size;
+    end
+    if (_T_620) begin
+      _T_588 <= io_in_d_bits_source;
+    end
+    if (reset) begin
+      _T_622 <= 64'h0;
+    end else begin
+      _T_622 <= _T_695;
+    end
+    if (reset) begin
+      _T_633 <= 1'h0;
+    end else begin
+      if (_T_504) begin
+        if (_T_637) begin
+          _T_633 <= 1'h0;
+        end else begin
+          _T_633 <= _T_636;
+        end
+      end
+    end
+    if (reset) begin
+      _T_654 <= 1'h0;
+    end else begin
+      if (_T_560) begin
+        if (_T_658) begin
+          _T_654 <= 1'h0;
+        end else begin
+          _T_654 <= _T_657;
+        end
+      end
+    end
+    if (reset) begin
+      _T_697 <= 32'h0;
+    end else begin
+      if (_T_711) begin
+        _T_697 <= 32'h0;
+      end else begin
+        _T_697 <= _T_708;
+      end
+    end
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@260647.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@260648.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@260719.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@260720.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260736.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_103) begin
+          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260737.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260743.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_103) begin
+          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260744.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260750.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260751.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_113) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260758.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_113) begin
+          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260759.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260765.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_116) begin
+          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260766.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_120) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260773.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_120) begin
+          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260774.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_125) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260782.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_125) begin
+          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260783.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_129) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260790.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_129) begin
+          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260791.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260808.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_103) begin
+          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260809.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260815.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_103) begin
+          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260816.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260822.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260823.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_113) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260830.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_113) begin
+          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260831.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260837.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_116) begin
+          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260838.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_120) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260845.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_120) begin
+          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260846.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_162) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260853.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_162) begin
+          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260854.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_125) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260862.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_125) begin
+          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260863.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_129) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260870.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_129) begin
+          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260871.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_186) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260891.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_186) begin
+          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260892.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260898.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260899.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260905.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_116) begin
+          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260906.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_196) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260913.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_196) begin
+          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260914.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260921.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_200) begin
+          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260922.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_129) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260929.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_129) begin
+          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260930.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_59 & _T_186) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260950.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_59 & _T_186) begin
+          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260951.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260957.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260958.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_59 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260964.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_59 & _T_116) begin
+          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260965.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_59 & _T_196) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260972.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_59 & _T_196) begin
+          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260973.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_59 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260980.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_59 & _T_200) begin
+          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260981.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_67 & _T_186) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261001.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_67 & _T_186) begin
+          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261002.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261008.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261009.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_67 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261015.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_67 & _T_116) begin
+          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261016.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_67 & _T_196) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261023.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_67 & _T_196) begin
+          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261024.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_67 & _T_264) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261033.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_67 & _T_264) begin
+          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261034.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261051.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_103) begin
+          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261052.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261058.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261059.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261065.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_116) begin
+          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261066.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_286) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261073.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_286) begin
+          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261074.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261081.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_200) begin
+          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261082.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_83 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261099.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_83 & _T_103) begin
+          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261100.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261106.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261107.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_83 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261113.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_83 & _T_116) begin
+          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261114.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_83 & _T_312) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261121.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_83 & _T_312) begin
+          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261122.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_83 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261129.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_83 & _T_200) begin
+          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261130.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_91 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261147.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_91 & _T_103) begin
+          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261148.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261154.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261155.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_91 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261161.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_91 & _T_116) begin
+          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261162.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_91 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261169.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_91 & _T_200) begin
+          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261170.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_91 & _T_129) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261177.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_91 & _T_129) begin
+          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261178.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_346) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@261188.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_346) begin
+          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@261189.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261209.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261210.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_99 & _T_370) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261217.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_99 & _T_370) begin
+          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261218.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261225.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261226.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261233.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261234.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261241.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261242.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261251.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261252.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_101 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261258.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_101 & _T_103) begin
+          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261259.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_101 & _T_370) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261266.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_101 & _T_370) begin
+          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261267.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261274.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261275.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261282.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261283.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261290.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261291.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261299.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261300.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261309.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261310.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261316.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_103) begin
+          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261317.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_370) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261324.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_370) begin
+          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261325.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261332.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261333.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261340.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261341.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261349.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261350.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261358.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261359.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261368.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261369.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261376.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261377.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261384.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261385.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261393.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261394.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261403.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261404.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261411.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261412.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261420.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261421.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261429.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261430.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261439.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261440.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261447.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261448.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261455.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261456.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261464.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261465.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261474.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261475.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261482.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261483.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261490.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261491.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_541) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261530.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_541) begin
+          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261531.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_545) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261538.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_545) begin
+          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261539.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_549) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261546.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_549) begin
+          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261547.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_553) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261554.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_553) begin
+          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261555.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_557) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261562.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_557) begin
+          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261563.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_594 & _T_598) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261612.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_594 & _T_598) begin
+          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261613.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261620.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261621.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_594 & _T_606) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261628.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_594 & _T_606) begin
+          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261629.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_594 & _T_610) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261636.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_594 & _T_610) begin
+          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261637.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261644.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261645.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261652.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261653.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_669 & _T_677) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@261730.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_669 & _T_677) begin
+          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@261731.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_685 & _T_692) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@261753.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_685 & _T_692) begin
+          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@261754.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_706) begin
+          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@261774.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_706) begin
+          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@261775.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+endmodule
+module SPIFIFO( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261897.2]
+  input        clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261898.4]
+  input        reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261899.4]
+  input  [1:0] io_ctrl_fmt_proto, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261900.4]
+  input        io_ctrl_fmt_endian, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261900.4]
+  input        io_ctrl_fmt_iodir, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261900.4]
+  input  [3:0] io_ctrl_fmt_len, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261900.4]
+  input  [1:0] io_ctrl_cs_mode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261900.4]
+  input  [3:0] io_ctrl_wm_tx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261900.4]
+  input  [3:0] io_ctrl_wm_rx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261900.4]
+  input        io_link_tx_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261900.4]
+  output       io_link_tx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261900.4]
+  output [7:0] io_link_tx_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261900.4]
+  input        io_link_rx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261900.4]
+  input  [7:0] io_link_rx_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261900.4]
+  output [7:0] io_link_cnt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261900.4]
+  output [1:0] io_link_fmt_proto, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261900.4]
+  output       io_link_fmt_endian, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261900.4]
+  output       io_link_fmt_iodir, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261900.4]
+  output       io_link_cs_set, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261900.4]
+  output       io_link_cs_clear, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261900.4]
+  output       io_link_lock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261900.4]
+  output       io_tx_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261900.4]
+  input        io_tx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261900.4]
+  input  [7:0] io_tx_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261900.4]
+  input        io_rx_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261900.4]
+  output       io_rx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261900.4]
+  output [7:0] io_rx_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261900.4]
+  output       io_ip_txwm, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261900.4]
+  output       io_ip_rxwm // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261900.4]
+);
+  wire  txq_clock; // @[SPIFIFO.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@261905.4]
+  wire  txq_reset; // @[SPIFIFO.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@261905.4]
+  wire  txq_io_enq_ready; // @[SPIFIFO.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@261905.4]
+  wire  txq_io_enq_valid; // @[SPIFIFO.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@261905.4]
+  wire [7:0] txq_io_enq_bits; // @[SPIFIFO.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@261905.4]
+  wire  txq_io_deq_ready; // @[SPIFIFO.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@261905.4]
+  wire  txq_io_deq_valid; // @[SPIFIFO.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@261905.4]
+  wire [7:0] txq_io_deq_bits; // @[SPIFIFO.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@261905.4]
+  wire [3:0] txq_io_count; // @[SPIFIFO.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@261905.4]
+  wire  rxq_clock; // @[SPIFIFO.scala 22:19:shc.marmotcaravel.MarmotCaravelConfig.fir@261909.4]
+  wire  rxq_reset; // @[SPIFIFO.scala 22:19:shc.marmotcaravel.MarmotCaravelConfig.fir@261909.4]
+  wire  rxq_io_enq_ready; // @[SPIFIFO.scala 22:19:shc.marmotcaravel.MarmotCaravelConfig.fir@261909.4]
+  wire  rxq_io_enq_valid; // @[SPIFIFO.scala 22:19:shc.marmotcaravel.MarmotCaravelConfig.fir@261909.4]
+  wire [7:0] rxq_io_enq_bits; // @[SPIFIFO.scala 22:19:shc.marmotcaravel.MarmotCaravelConfig.fir@261909.4]
+  wire  rxq_io_deq_ready; // @[SPIFIFO.scala 22:19:shc.marmotcaravel.MarmotCaravelConfig.fir@261909.4]
+  wire  rxq_io_deq_valid; // @[SPIFIFO.scala 22:19:shc.marmotcaravel.MarmotCaravelConfig.fir@261909.4]
+  wire [7:0] rxq_io_deq_bits; // @[SPIFIFO.scala 22:19:shc.marmotcaravel.MarmotCaravelConfig.fir@261909.4]
+  wire [3:0] rxq_io_count; // @[SPIFIFO.scala 22:19:shc.marmotcaravel.MarmotCaravelConfig.fir@261909.4]
+  wire  fire_tx; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@261915.4]
+  reg  rxen; // @[SPIFIFO.scala 29:17:shc.marmotcaravel.MarmotCaravelConfig.fir@261916.4]
+  reg [31:0] _RAND_0;
+  wire  _T_31; // @[SPIFIFO.scala 39:32:shc.marmotcaravel.MarmotCaravelConfig.fir@261925.6]
+  wire  _T_32; // @[SPIConsts.scala 13:48:shc.marmotcaravel.MarmotCaravelConfig.fir@261928.4]
+  wire  _T_33; // @[SPIConsts.scala 13:48:shc.marmotcaravel.MarmotCaravelConfig.fir@261929.4]
+  wire  _T_34; // @[SPIConsts.scala 13:48:shc.marmotcaravel.MarmotCaravelConfig.fir@261930.4]
+  wire [2:0] _T_36; // @[SPIFIFO.scala 43:73:shc.marmotcaravel.MarmotCaravelConfig.fir@261932.4]
+  wire [1:0] _T_37; // @[SPIFIFO.scala 43:73:shc.marmotcaravel.MarmotCaravelConfig.fir@261933.4]
+  wire [3:0] _T_39; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@261934.4]
+  wire [2:0] _T_40; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@261935.4]
+  wire [1:0] _T_41; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@261936.4]
+  wire [3:0] _GEN_2; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@261937.4]
+  wire [3:0] _T_42; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@261937.4]
+  wire [3:0] _GEN_3; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@261938.4]
+  wire [3:0] cnt_quot; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@261938.4]
+  wire  _T_45; // @[SPIFIFO.scala 44:83:shc.marmotcaravel.MarmotCaravelConfig.fir@261941.4]
+  wire [1:0] _T_47; // @[SPIFIFO.scala 44:83:shc.marmotcaravel.MarmotCaravelConfig.fir@261943.4]
+  wire  _T_48; // @[SPIFIFO.scala 44:92:shc.marmotcaravel.MarmotCaravelConfig.fir@261944.4]
+  wire  _T_51; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@261946.4]
+  wire  _T_52; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@261947.4]
+  wire  cnt_rmdr; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@261949.4]
+  wire [3:0] _GEN_4; // @[SPIFIFO.scala 46:27:shc.marmotcaravel.MarmotCaravelConfig.fir@261953.4]
+  wire [3:0] _T_57; // @[SPIFIFO.scala 46:27:shc.marmotcaravel.MarmotCaravelConfig.fir@261954.4]
+  reg [1:0] cs_mode; // @[SPIFIFO.scala 48:24:shc.marmotcaravel.MarmotCaravelConfig.fir@261956.4]
+  reg [31:0] _RAND_1;
+  wire  cs_mode_hold; // @[SPIFIFO.scala 49:31:shc.marmotcaravel.MarmotCaravelConfig.fir@261958.4]
+  wire  cs_mode_off; // @[SPIFIFO.scala 50:30:shc.marmotcaravel.MarmotCaravelConfig.fir@261959.4]
+  wire  cs_update; // @[SPIFIFO.scala 51:28:shc.marmotcaravel.MarmotCaravelConfig.fir@261960.4]
+  wire  _T_59; // @[SPIFIFO.scala 52:33:shc.marmotcaravel.MarmotCaravelConfig.fir@261961.4]
+  wire  cs_clear; // @[SPIFIFO.scala 52:18:shc.marmotcaravel.MarmotCaravelConfig.fir@261962.4]
+  wire  _T_61; // @[SPIFIFO.scala 55:45:shc.marmotcaravel.MarmotCaravelConfig.fir@261965.4]
+  Queue_14 txq ( // @[SPIFIFO.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@261905.4]
+    .clock(txq_clock),
+    .reset(txq_reset),
+    .io_enq_ready(txq_io_enq_ready),
+    .io_enq_valid(txq_io_enq_valid),
+    .io_enq_bits(txq_io_enq_bits),
+    .io_deq_ready(txq_io_deq_ready),
+    .io_deq_valid(txq_io_deq_valid),
+    .io_deq_bits(txq_io_deq_bits),
+    .io_count(txq_io_count)
+  );
+  Queue_14 rxq ( // @[SPIFIFO.scala 22:19:shc.marmotcaravel.MarmotCaravelConfig.fir@261909.4]
+    .clock(rxq_clock),
+    .reset(rxq_reset),
+    .io_enq_ready(rxq_io_enq_ready),
+    .io_enq_valid(rxq_io_enq_valid),
+    .io_enq_bits(rxq_io_enq_bits),
+    .io_deq_ready(rxq_io_deq_ready),
+    .io_deq_valid(rxq_io_deq_valid),
+    .io_deq_bits(rxq_io_deq_bits),
+    .io_count(rxq_io_count)
+  );
+  assign fire_tx = io_link_tx_ready & io_link_tx_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@261915.4]
+  assign _T_31 = io_link_fmt_iodir == 1'h0; // @[SPIFIFO.scala 39:32:shc.marmotcaravel.MarmotCaravelConfig.fir@261925.6]
+  assign _T_32 = 2'h0 == io_link_fmt_proto; // @[SPIConsts.scala 13:48:shc.marmotcaravel.MarmotCaravelConfig.fir@261928.4]
+  assign _T_33 = 2'h1 == io_link_fmt_proto; // @[SPIConsts.scala 13:48:shc.marmotcaravel.MarmotCaravelConfig.fir@261929.4]
+  assign _T_34 = 2'h2 == io_link_fmt_proto; // @[SPIConsts.scala 13:48:shc.marmotcaravel.MarmotCaravelConfig.fir@261930.4]
+  assign _T_36 = io_ctrl_fmt_len[3:1]; // @[SPIFIFO.scala 43:73:shc.marmotcaravel.MarmotCaravelConfig.fir@261932.4]
+  assign _T_37 = io_ctrl_fmt_len[3:2]; // @[SPIFIFO.scala 43:73:shc.marmotcaravel.MarmotCaravelConfig.fir@261933.4]
+  assign _T_39 = _T_32 ? io_ctrl_fmt_len : 4'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@261934.4]
+  assign _T_40 = _T_33 ? _T_36 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@261935.4]
+  assign _T_41 = _T_34 ? _T_37 : 2'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@261936.4]
+  assign _GEN_2 = {{1'd0}, _T_40}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@261937.4]
+  assign _T_42 = _T_39 | _GEN_2; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@261937.4]
+  assign _GEN_3 = {{2'd0}, _T_41}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@261938.4]
+  assign cnt_quot = _T_42 | _GEN_3; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@261938.4]
+  assign _T_45 = io_ctrl_fmt_len[0]; // @[SPIFIFO.scala 44:83:shc.marmotcaravel.MarmotCaravelConfig.fir@261941.4]
+  assign _T_47 = io_ctrl_fmt_len[1:0]; // @[SPIFIFO.scala 44:83:shc.marmotcaravel.MarmotCaravelConfig.fir@261943.4]
+  assign _T_48 = _T_47 != 2'h0; // @[SPIFIFO.scala 44:92:shc.marmotcaravel.MarmotCaravelConfig.fir@261944.4]
+  assign _T_51 = _T_33 ? _T_45 : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@261946.4]
+  assign _T_52 = _T_34 ? _T_48 : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@261947.4]
+  assign cnt_rmdr = _T_51 | _T_52; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@261949.4]
+  assign _GEN_4 = {{3'd0}, cnt_rmdr}; // @[SPIFIFO.scala 46:27:shc.marmotcaravel.MarmotCaravelConfig.fir@261953.4]
+  assign _T_57 = cnt_quot + _GEN_4; // @[SPIFIFO.scala 46:27:shc.marmotcaravel.MarmotCaravelConfig.fir@261954.4]
+  assign cs_mode_hold = cs_mode == 2'h2; // @[SPIFIFO.scala 49:31:shc.marmotcaravel.MarmotCaravelConfig.fir@261958.4]
+  assign cs_mode_off = cs_mode == 2'h3; // @[SPIFIFO.scala 50:30:shc.marmotcaravel.MarmotCaravelConfig.fir@261959.4]
+  assign cs_update = cs_mode != io_ctrl_cs_mode; // @[SPIFIFO.scala 51:28:shc.marmotcaravel.MarmotCaravelConfig.fir@261960.4]
+  assign _T_59 = cs_mode_hold | cs_mode_off; // @[SPIFIFO.scala 52:33:shc.marmotcaravel.MarmotCaravelConfig.fir@261961.4]
+  assign cs_clear = _T_59 == 1'h0; // @[SPIFIFO.scala 52:18:shc.marmotcaravel.MarmotCaravelConfig.fir@261962.4]
+  assign _T_61 = fire_tx & cs_clear; // @[SPIFIFO.scala 55:45:shc.marmotcaravel.MarmotCaravelConfig.fir@261965.4]
+  assign io_link_tx_valid = txq_io_deq_valid; // @[SPIFIFO.scala 25:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261914.4]
+  assign io_link_tx_bits = txq_io_deq_bits; // @[SPIFIFO.scala 25:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261914.4]
+  assign io_link_cnt = {{4'd0}, _T_57}; // @[SPIFIFO.scala 46:15:shc.marmotcaravel.MarmotCaravelConfig.fir@261955.4]
+  assign io_link_fmt_proto = io_ctrl_fmt_proto; // @[SPIFIFO.scala 45:15:shc.marmotcaravel.MarmotCaravelConfig.fir@261952.4]
+  assign io_link_fmt_endian = io_ctrl_fmt_endian; // @[SPIFIFO.scala 45:15:shc.marmotcaravel.MarmotCaravelConfig.fir@261952.4]
+  assign io_link_fmt_iodir = io_ctrl_fmt_iodir; // @[SPIFIFO.scala 45:15:shc.marmotcaravel.MarmotCaravelConfig.fir@261952.4]
+  assign io_link_cs_set = cs_mode_off == 1'h0; // @[SPIFIFO.scala 54:18:shc.marmotcaravel.MarmotCaravelConfig.fir@261964.4]
+  assign io_link_cs_clear = cs_update | _T_61; // @[SPIFIFO.scala 55:20:shc.marmotcaravel.MarmotCaravelConfig.fir@261967.4]
+  assign io_link_lock = io_link_tx_valid | rxen; // @[SPIFIFO.scala 58:16:shc.marmotcaravel.MarmotCaravelConfig.fir@261970.4]
+  assign io_tx_ready = txq_io_enq_ready; // @[SPIFIFO.scala 24:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261913.4]
+  assign io_rx_valid = rxq_io_deq_valid; // @[SPIFIFO.scala 33:9:shc.marmotcaravel.MarmotCaravelConfig.fir@261920.4]
+  assign io_rx_bits = rxq_io_deq_bits; // @[SPIFIFO.scala 33:9:shc.marmotcaravel.MarmotCaravelConfig.fir@261920.4]
+  assign io_ip_txwm = txq_io_count < io_ctrl_wm_tx; // @[SPIFIFO.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261972.4]
+  assign io_ip_rxwm = rxq_io_count > io_ctrl_wm_rx; // @[SPIFIFO.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261974.4]
+  assign txq_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261907.4]
+  assign txq_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261908.4]
+  assign txq_io_enq_valid = io_tx_valid; // @[SPIFIFO.scala 24:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261913.4]
+  assign txq_io_enq_bits = io_tx_bits; // @[SPIFIFO.scala 24:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261913.4]
+  assign txq_io_deq_ready = io_link_tx_ready; // @[SPIFIFO.scala 25:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261914.4]
+  assign rxq_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261911.4]
+  assign rxq_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261912.4]
+  assign rxq_io_enq_valid = io_link_rx_valid & rxen; // @[SPIFIFO.scala 31:20:shc.marmotcaravel.MarmotCaravelConfig.fir@261918.4]
+  assign rxq_io_enq_bits = io_link_rx_bits; // @[SPIFIFO.scala 32:19:shc.marmotcaravel.MarmotCaravelConfig.fir@261919.4]
+  assign rxq_io_deq_ready = io_rx_ready; // @[SPIFIFO.scala 33:9:shc.marmotcaravel.MarmotCaravelConfig.fir@261920.4]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  rxen = _RAND_0[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  cs_mode = _RAND_1[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      rxen <= 1'h0;
+    end else begin
+      if (fire_tx) begin
+        rxen <= _T_31;
+      end else begin
+        if (io_link_rx_valid) begin
+          rxen <= 1'h0;
+        end
+      end
+    end
+    if (reset) begin
+      cs_mode <= 2'h0;
+    end else begin
+      cs_mode <= io_ctrl_cs_mode;
+    end
+  end
+endmodule
+module SPIPhysical( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261976.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261977.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261978.4]
+  output        io_port_sck, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261979.4]
+  input         io_port_dq_0_i, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261979.4]
+  output        io_port_dq_0_o, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261979.4]
+  output        io_port_dq_0_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261979.4]
+  input         io_port_dq_1_i, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261979.4]
+  output        io_port_dq_1_o, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261979.4]
+  output        io_port_dq_1_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261979.4]
+  input         io_port_dq_2_i, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261979.4]
+  output        io_port_dq_2_o, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261979.4]
+  output        io_port_dq_2_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261979.4]
+  input         io_port_dq_3_i, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261979.4]
+  output        io_port_dq_3_o, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261979.4]
+  output        io_port_dq_3_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261979.4]
+  input  [11:0] io_ctrl_sck_div, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261979.4]
+  input         io_ctrl_sck_pol, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261979.4]
+  input         io_ctrl_sck_pha, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261979.4]
+  input  [1:0]  io_ctrl_fmt_proto, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261979.4]
+  input         io_ctrl_fmt_endian, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261979.4]
+  input         io_ctrl_fmt_iodir, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261979.4]
+  input  [11:0] io_ctrl_extradel_coarse, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261979.4]
+  input  [4:0]  io_ctrl_sampledel_sd, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261979.4]
+  output        io_op_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261979.4]
+  input         io_op_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261979.4]
+  input         io_op_bits_fn, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261979.4]
+  input         io_op_bits_stb, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261979.4]
+  input  [7:0]  io_op_bits_cnt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261979.4]
+  input  [7:0]  io_op_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261979.4]
+  output        io_rx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261979.4]
+  output [7:0]  io_rx_bits // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261979.4]
+);
+  reg [11:0] ctrl_sck_div; // @[SPIPhysical.scala 51:17:shc.marmotcaravel.MarmotCaravelConfig.fir@261984.4]
+  reg [31:0] _RAND_0;
+  reg  ctrl_sck_pol; // @[SPIPhysical.scala 51:17:shc.marmotcaravel.MarmotCaravelConfig.fir@261984.4]
+  reg [31:0] _RAND_1;
+  reg  ctrl_sck_pha; // @[SPIPhysical.scala 51:17:shc.marmotcaravel.MarmotCaravelConfig.fir@261984.4]
+  reg [31:0] _RAND_2;
+  reg [1:0] ctrl_fmt_proto; // @[SPIPhysical.scala 51:17:shc.marmotcaravel.MarmotCaravelConfig.fir@261984.4]
+  reg [31:0] _RAND_3;
+  reg  ctrl_fmt_endian; // @[SPIPhysical.scala 51:17:shc.marmotcaravel.MarmotCaravelConfig.fir@261984.4]
+  reg [31:0] _RAND_4;
+  reg  ctrl_fmt_iodir; // @[SPIPhysical.scala 51:17:shc.marmotcaravel.MarmotCaravelConfig.fir@261984.4]
+  reg [31:0] _RAND_5;
+  wire  proto_0; // @[SPIConsts.scala 13:48:shc.marmotcaravel.MarmotCaravelConfig.fir@261985.4]
+  wire  proto_1; // @[SPIConsts.scala 13:48:shc.marmotcaravel.MarmotCaravelConfig.fir@261986.4]
+  wire  proto_2; // @[SPIConsts.scala 13:48:shc.marmotcaravel.MarmotCaravelConfig.fir@261987.4]
+  reg  setup_d; // @[SPIPhysical.scala 59:20:shc.marmotcaravel.MarmotCaravelConfig.fir@262000.4]
+  reg [31:0] _RAND_6;
+  reg [7:0] scnt; // @[SPIPhysical.scala 61:17:shc.marmotcaravel.MarmotCaravelConfig.fir@262002.4]
+  reg [31:0] _RAND_7;
+  reg [11:0] tcnt; // @[SPIPhysical.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@262003.4]
+  reg [31:0] _RAND_8;
+  wire  stop; // @[SPIPhysical.scala 64:20:shc.marmotcaravel.MarmotCaravelConfig.fir@262004.4]
+  wire  beat; // @[SPIPhysical.scala 65:20:shc.marmotcaravel.MarmotCaravelConfig.fir@262005.4]
+  wire [11:0] _GEN_74; // @[SPIPhysical.scala 68:48:shc.marmotcaravel.MarmotCaravelConfig.fir@262006.4]
+  wire [11:0] totalCoarseDel; // @[SPIPhysical.scala 68:48:shc.marmotcaravel.MarmotCaravelConfig.fir@262007.4]
+  reg [11:0] del_cntr; // @[SPIPhysical.scala 69:25:shc.marmotcaravel.MarmotCaravelConfig.fir@262008.4]
+  reg [31:0] _RAND_9;
+  reg  sample_d; // @[SPIPhysical.scala 70:25:shc.marmotcaravel.MarmotCaravelConfig.fir@262009.4]
+  reg [31:0] _RAND_10;
+  reg  xfr; // @[SPIPhysical.scala 171:16:shc.marmotcaravel.MarmotCaravelConfig.fir@262197.4]
+  reg [31:0] _RAND_11;
+  reg  cref; // @[SPIPhysical.scala 108:17:shc.marmotcaravel.MarmotCaravelConfig.fir@262058.4]
+  reg [31:0] _RAND_12;
+  wire  _GEN_8; // @[SPIPhysical.scala 179:18:shc.marmotcaravel.MarmotCaravelConfig.fir@262206.8]
+  wire  _GEN_13; // @[SPIPhysical.scala 177:17:shc.marmotcaravel.MarmotCaravelConfig.fir@262203.6]
+  wire  sample; // @[SPIPhysical.scala 173:15:shc.marmotcaravel.MarmotCaravelConfig.fir@262198.4]
+  wire  _T_46; // @[SPIPhysical.scala 71:14:shc.marmotcaravel.MarmotCaravelConfig.fir@262010.4]
+  wire  _T_47; // @[SPIPhysical.scala 75:18:shc.marmotcaravel.MarmotCaravelConfig.fir@262014.4]
+  wire [12:0] _T_48; // @[SPIPhysical.scala 76:26:shc.marmotcaravel.MarmotCaravelConfig.fir@262016.6]
+  wire [12:0] _T_49; // @[SPIPhysical.scala 76:26:shc.marmotcaravel.MarmotCaravelConfig.fir@262017.6]
+  wire [11:0] _T_50; // @[SPIPhysical.scala 76:26:shc.marmotcaravel.MarmotCaravelConfig.fir@262018.6]
+  wire  _T_51; // @[SPIPhysical.scala 79:18:shc.marmotcaravel.MarmotCaravelConfig.fir@262021.4]
+  reg [11:0] del_cntr_last; // @[SPIPhysical.scala 86:30:shc.marmotcaravel.MarmotCaravelConfig.fir@262028.4]
+  reg [31:0] _RAND_13;
+  reg  last_d; // @[SPIPhysical.scala 87:23:shc.marmotcaravel.MarmotCaravelConfig.fir@262029.4]
+  reg [31:0] _RAND_14;
+  wire  _T_178; // @[SPIPhysical.scala 190:14:shc.marmotcaravel.MarmotCaravelConfig.fir@262219.4]
+  wire  _T_179; // @[SPIPhysical.scala 191:18:shc.marmotcaravel.MarmotCaravelConfig.fir@262221.6]
+  wire  _T_180; // @[SPIPhysical.scala 191:26:shc.marmotcaravel.MarmotCaravelConfig.fir@262222.6]
+  wire  last; // @[SPIPhysical.scala 190:27:shc.marmotcaravel.MarmotCaravelConfig.fir@262220.4]
+  wire  _T_54; // @[SPIPhysical.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@262030.4]
+  wire  _T_55; // @[SPIPhysical.scala 93:23:shc.marmotcaravel.MarmotCaravelConfig.fir@262034.4]
+  wire [12:0] _T_56; // @[SPIPhysical.scala 94:36:shc.marmotcaravel.MarmotCaravelConfig.fir@262036.6]
+  wire [12:0] _T_57; // @[SPIPhysical.scala 94:36:shc.marmotcaravel.MarmotCaravelConfig.fir@262037.6]
+  wire [11:0] _T_58; // @[SPIPhysical.scala 94:36:shc.marmotcaravel.MarmotCaravelConfig.fir@262038.6]
+  wire  _T_59; // @[SPIPhysical.scala 97:23:shc.marmotcaravel.MarmotCaravelConfig.fir@262041.4]
+  wire [11:0] _T_60; // @[SPIPhysical.scala 103:17:shc.marmotcaravel.MarmotCaravelConfig.fir@262048.4]
+  wire [12:0] _T_61; // @[SPIPhysical.scala 103:36:shc.marmotcaravel.MarmotCaravelConfig.fir@262049.4]
+  wire [12:0] _T_62; // @[SPIPhysical.scala 103:36:shc.marmotcaravel.MarmotCaravelConfig.fir@262050.4]
+  wire [11:0] decr; // @[SPIPhysical.scala 103:36:shc.marmotcaravel.MarmotCaravelConfig.fir@262051.4]
+  wire  sched; // @[SPIPhysical.scala 173:15:shc.marmotcaravel.MarmotCaravelConfig.fir@262198.4]
+  reg  sck; // @[SPIPhysical.scala 107:16:shc.marmotcaravel.MarmotCaravelConfig.fir@262057.4]
+  reg [31:0] _RAND_15;
+  wire  cinv; // @[SPIPhysical.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@262059.4]
+  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@262060.4]
+  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@262061.4]
+  wire [3:0] rxd; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@262062.4]
+  wire  rxd_delayed_0; // @[SPIPhysical.scala 126:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262069.4]
+  wire  rxd_delayed_1; // @[SPIPhysical.scala 126:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262070.4]
+  wire  rxd_delayed_2; // @[SPIPhysical.scala 126:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262071.4]
+  wire  rxd_delayed_3; // @[SPIPhysical.scala 126:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262072.4]
+  wire [1:0] _T_82; // @[SPIPhysical.scala 129:29:shc.marmotcaravel.MarmotCaravelConfig.fir@262077.4]
+  wire [1:0] _T_83; // @[SPIPhysical.scala 129:29:shc.marmotcaravel.MarmotCaravelConfig.fir@262078.4]
+  wire [3:0] rxd_fin; // @[SPIPhysical.scala 129:29:shc.marmotcaravel.MarmotCaravelConfig.fir@262079.4]
+  wire  samples_0; // @[SPIPhysical.scala 130:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262080.4]
+  wire [1:0] samples_1; // @[SPIPhysical.scala 130:40:shc.marmotcaravel.MarmotCaravelConfig.fir@262081.4]
+  reg [7:0] buffer; // @[SPIPhysical.scala 132:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262082.4]
+  reg [31:0] _RAND_16;
+  wire  _T_84; // @[SPIPhysical.scala 112:20:shc.marmotcaravel.MarmotCaravelConfig.fir@262083.4]
+  wire  _T_85; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@262084.4]
+  wire  _T_86; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@262085.4]
+  wire  _T_87; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@262086.4]
+  wire  _T_88; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@262087.4]
+  wire  _T_89; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@262088.4]
+  wire  _T_90; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@262089.4]
+  wire  _T_91; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@262090.4]
+  wire  _T_92; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@262091.4]
+  wire [1:0] _T_93; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@262092.4]
+  wire [1:0] _T_94; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@262093.4]
+  wire [3:0] _T_95; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@262094.4]
+  wire [1:0] _T_96; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@262095.4]
+  wire [1:0] _T_97; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@262096.4]
+  wire [3:0] _T_98; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@262097.4]
+  wire [7:0] _T_99; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@262098.4]
+  wire [7:0] buffer_in; // @[SPIPhysical.scala 112:8:shc.marmotcaravel.MarmotCaravelConfig.fir@262099.4]
+  wire  _T_100; // @[SPIPhysical.scala 134:36:shc.marmotcaravel.MarmotCaravelConfig.fir@262100.4]
+  wire  _T_101; // @[SPIPhysical.scala 134:65:shc.marmotcaravel.MarmotCaravelConfig.fir@262101.4]
+  wire  _T_102; // @[SPIPhysical.scala 134:52:shc.marmotcaravel.MarmotCaravelConfig.fir@262102.4]
+  wire  shift; // @[SPIPhysical.scala 134:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262103.4]
+  wire [6:0] _T_103; // @[SPIPhysical.scala 138:26:shc.marmotcaravel.MarmotCaravelConfig.fir@262104.4]
+  wire [6:0] _T_104; // @[SPIPhysical.scala 138:42:shc.marmotcaravel.MarmotCaravelConfig.fir@262105.4]
+  wire [6:0] _T_105; // @[SPIPhysical.scala 138:12:shc.marmotcaravel.MarmotCaravelConfig.fir@262106.4]
+  wire  _T_106; // @[SPIPhysical.scala 139:35:shc.marmotcaravel.MarmotCaravelConfig.fir@262107.4]
+  wire  _T_107; // @[SPIPhysical.scala 139:12:shc.marmotcaravel.MarmotCaravelConfig.fir@262108.4]
+  wire [7:0] _T_108; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@262109.4]
+  wire [5:0] _T_109; // @[SPIPhysical.scala 138:26:shc.marmotcaravel.MarmotCaravelConfig.fir@262110.4]
+  wire [5:0] _T_110; // @[SPIPhysical.scala 138:42:shc.marmotcaravel.MarmotCaravelConfig.fir@262111.4]
+  wire [5:0] _T_111; // @[SPIPhysical.scala 138:12:shc.marmotcaravel.MarmotCaravelConfig.fir@262112.4]
+  wire [1:0] _T_112; // @[SPIPhysical.scala 139:35:shc.marmotcaravel.MarmotCaravelConfig.fir@262113.4]
+  wire [1:0] _T_113; // @[SPIPhysical.scala 139:12:shc.marmotcaravel.MarmotCaravelConfig.fir@262114.4]
+  wire [7:0] _T_114; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@262115.4]
+  wire [3:0] _T_115; // @[SPIPhysical.scala 138:26:shc.marmotcaravel.MarmotCaravelConfig.fir@262116.4]
+  wire [3:0] _T_116; // @[SPIPhysical.scala 138:42:shc.marmotcaravel.MarmotCaravelConfig.fir@262117.4]
+  wire [3:0] _T_117; // @[SPIPhysical.scala 138:12:shc.marmotcaravel.MarmotCaravelConfig.fir@262118.4]
+  wire [3:0] _T_119; // @[SPIPhysical.scala 139:12:shc.marmotcaravel.MarmotCaravelConfig.fir@262120.4]
+  wire [7:0] _T_120; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@262121.4]
+  wire [7:0] _T_122; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262122.4]
+  wire [7:0] _T_123; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262123.4]
+  wire [7:0] _T_124; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262124.4]
+  wire [7:0] _T_125; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262125.4]
+  wire [7:0] _T_126; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262126.4]
+  reg [3:0] txd; // @[SPIPhysical.scala 144:16:shc.marmotcaravel.MarmotCaravelConfig.fir@262130.4]
+  reg [31:0] _RAND_17;
+  wire [3:0] _T_130; // @[SPIPhysical.scala 142:41:shc.marmotcaravel.MarmotCaravelConfig.fir@262131.4]
+  wire  _T_181; // @[SPIPhysical.scala 192:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262224.6]
+  wire  _T_182; // @[SPIPhysical.scala 192:16:shc.marmotcaravel.MarmotCaravelConfig.fir@262225.6]
+  wire  _GEN_23; // @[SPIPhysical.scala 192:26:shc.marmotcaravel.MarmotCaravelConfig.fir@262226.6]
+  wire  accept; // @[SPIPhysical.scala 190:27:shc.marmotcaravel.MarmotCaravelConfig.fir@262220.4]
+  wire [3:0] txd_in; // @[SPIPhysical.scala 145:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262133.4]
+  wire [1:0] _T_132; // @[SPIPhysical.scala 146:39:shc.marmotcaravel.MarmotCaravelConfig.fir@262134.4]
+  wire  txd_sel_0; // @[SPIConsts.scala 13:48:shc.marmotcaravel.MarmotCaravelConfig.fir@262135.4]
+  wire  txd_sel_1; // @[SPIConsts.scala 13:48:shc.marmotcaravel.MarmotCaravelConfig.fir@262136.4]
+  wire  txd_sel_2; // @[SPIConsts.scala 13:48:shc.marmotcaravel.MarmotCaravelConfig.fir@262137.4]
+  wire  txd_shf_0; // @[SPIPhysical.scala 147:55:shc.marmotcaravel.MarmotCaravelConfig.fir@262138.4]
+  wire [1:0] txd_shf_1; // @[SPIPhysical.scala 147:55:shc.marmotcaravel.MarmotCaravelConfig.fir@262139.4]
+  wire  _T_134; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262142.6]
+  wire [1:0] _T_135; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262143.6]
+  wire [3:0] _T_136; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262144.6]
+  wire [1:0] _GEN_75; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262145.6]
+  wire [1:0] _T_137; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262145.6]
+  wire [3:0] _GEN_76; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262146.6]
+  wire [3:0] _T_138; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262146.6]
+  reg  done; // @[SPIPhysical.scala 165:17:shc.marmotcaravel.MarmotCaravelConfig.fir@262175.4]
+  reg [31:0] _RAND_18;
+  wire  _T_183; // @[SPIPhysical.scala 199:16:shc.marmotcaravel.MarmotCaravelConfig.fir@262232.4]
+  wire  _T_184; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@262241.8]
+  wire  _GEN_9; // @[SPIPhysical.scala 179:18:shc.marmotcaravel.MarmotCaravelConfig.fir@262206.8]
+  wire  _GEN_14; // @[SPIPhysical.scala 177:17:shc.marmotcaravel.MarmotCaravelConfig.fir@262203.6]
+  wire  _GEN_21; // @[SPIPhysical.scala 173:15:shc.marmotcaravel.MarmotCaravelConfig.fir@262198.4]
+  wire  _GEN_24; // @[SPIPhysical.scala 192:26:shc.marmotcaravel.MarmotCaravelConfig.fir@262226.6]
+  wire  _GEN_28; // @[SPIPhysical.scala 190:27:shc.marmotcaravel.MarmotCaravelConfig.fir@262220.4]
+  wire  _GEN_43; // @[Conditional.scala 40:58:shc.marmotcaravel.MarmotCaravelConfig.fir@262242.8]
+  wire  _GEN_56; // @[SPIPhysical.scala 201:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262235.6]
+  wire  setup; // @[SPIPhysical.scala 199:25:shc.marmotcaravel.MarmotCaravelConfig.fir@262233.4]
+  wire  _T_141; // @[SPIPhysical.scala 153:49:shc.marmotcaravel.MarmotCaravelConfig.fir@262152.4]
+  wire  txen_2; // @[SPIPhysical.scala 153:49:shc.marmotcaravel.MarmotCaravelConfig.fir@262153.4]
+  wire  txen_1; // @[SPIPhysical.scala 153:82:shc.marmotcaravel.MarmotCaravelConfig.fir@262155.4]
+  wire  _T_155; // @[SPIPhysical.scala 166:16:shc.marmotcaravel.MarmotCaravelConfig.fir@262176.4]
+  wire  _T_156; // @[SPIPhysical.scala 112:20:shc.marmotcaravel.MarmotCaravelConfig.fir@262179.4]
+  wire  _T_158; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@262181.4]
+  wire  _T_159; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@262182.4]
+  wire  _T_160; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@262183.4]
+  wire  _T_161; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@262184.4]
+  wire  _T_162; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@262185.4]
+  wire  _T_163; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@262186.4]
+  wire  _T_164; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@262187.4]
+  wire [1:0] _T_165; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@262188.4]
+  wire [1:0] _T_166; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@262189.4]
+  wire [3:0] _T_167; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@262190.4]
+  wire [1:0] _T_168; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@262191.4]
+  wire [1:0] _T_169; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@262192.4]
+  wire [3:0] _T_170; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@262193.4]
+  wire [7:0] _T_171; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@262194.4]
+  wire  _T_175; // @[SPIPhysical.scala 180:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262207.10]
+  wire  _GEN_7; // @[SPIPhysical.scala 179:18:shc.marmotcaravel.MarmotCaravelConfig.fir@262206.8]
+  wire [11:0] _GEN_10; // @[SPIPhysical.scala 184:20:shc.marmotcaravel.MarmotCaravelConfig.fir@262214.8]
+  wire  _GEN_12; // @[SPIPhysical.scala 177:17:shc.marmotcaravel.MarmotCaravelConfig.fir@262203.6]
+  wire [11:0] _GEN_15; // @[SPIPhysical.scala 177:17:shc.marmotcaravel.MarmotCaravelConfig.fir@262203.6]
+  wire  _GEN_19; // @[SPIPhysical.scala 173:15:shc.marmotcaravel.MarmotCaravelConfig.fir@262198.4]
+  wire [11:0] _GEN_22; // @[SPIPhysical.scala 173:15:shc.marmotcaravel.MarmotCaravelConfig.fir@262198.4]
+  wire  _T_185; // @[SPIPhysical.scala 213:27:shc.marmotcaravel.MarmotCaravelConfig.fir@262246.10]
+  wire [11:0] _GEN_49; // @[SPIPhysical.scala 201:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262235.6]
+  wire [11:0] _GEN_62; // @[SPIPhysical.scala 199:25:shc.marmotcaravel.MarmotCaravelConfig.fir@262233.4]
+  assign proto_0 = 2'h0 == ctrl_fmt_proto; // @[SPIConsts.scala 13:48:shc.marmotcaravel.MarmotCaravelConfig.fir@261985.4]
+  assign proto_1 = 2'h1 == ctrl_fmt_proto; // @[SPIConsts.scala 13:48:shc.marmotcaravel.MarmotCaravelConfig.fir@261986.4]
+  assign proto_2 = 2'h2 == ctrl_fmt_proto; // @[SPIConsts.scala 13:48:shc.marmotcaravel.MarmotCaravelConfig.fir@261987.4]
+  assign stop = scnt == 8'h0; // @[SPIPhysical.scala 64:20:shc.marmotcaravel.MarmotCaravelConfig.fir@262004.4]
+  assign beat = tcnt == 12'h0; // @[SPIPhysical.scala 65:20:shc.marmotcaravel.MarmotCaravelConfig.fir@262005.4]
+  assign _GEN_74 = {{7'd0}, io_ctrl_sampledel_sd}; // @[SPIPhysical.scala 68:48:shc.marmotcaravel.MarmotCaravelConfig.fir@262006.4]
+  assign totalCoarseDel = io_ctrl_extradel_coarse + _GEN_74; // @[SPIPhysical.scala 68:48:shc.marmotcaravel.MarmotCaravelConfig.fir@262007.4]
+  assign _GEN_8 = xfr ? cref : 1'h0; // @[SPIPhysical.scala 179:18:shc.marmotcaravel.MarmotCaravelConfig.fir@262206.8]
+  assign _GEN_13 = beat ? _GEN_8 : 1'h0; // @[SPIPhysical.scala 177:17:shc.marmotcaravel.MarmotCaravelConfig.fir@262203.6]
+  assign sample = stop ? 1'h0 : _GEN_13; // @[SPIPhysical.scala 173:15:shc.marmotcaravel.MarmotCaravelConfig.fir@262198.4]
+  assign _T_46 = beat & sample; // @[SPIPhysical.scala 71:14:shc.marmotcaravel.MarmotCaravelConfig.fir@262010.4]
+  assign _T_47 = del_cntr != 12'h0; // @[SPIPhysical.scala 75:18:shc.marmotcaravel.MarmotCaravelConfig.fir@262014.4]
+  assign _T_48 = del_cntr - 12'h1; // @[SPIPhysical.scala 76:26:shc.marmotcaravel.MarmotCaravelConfig.fir@262016.6]
+  assign _T_49 = $unsigned(_T_48); // @[SPIPhysical.scala 76:26:shc.marmotcaravel.MarmotCaravelConfig.fir@262017.6]
+  assign _T_50 = _T_49[11:0]; // @[SPIPhysical.scala 76:26:shc.marmotcaravel.MarmotCaravelConfig.fir@262018.6]
+  assign _T_51 = del_cntr == 12'h1; // @[SPIPhysical.scala 79:18:shc.marmotcaravel.MarmotCaravelConfig.fir@262021.4]
+  assign _T_178 = scnt == 8'h1; // @[SPIPhysical.scala 190:14:shc.marmotcaravel.MarmotCaravelConfig.fir@262219.4]
+  assign _T_179 = beat & cref; // @[SPIPhysical.scala 191:18:shc.marmotcaravel.MarmotCaravelConfig.fir@262221.6]
+  assign _T_180 = _T_179 & xfr; // @[SPIPhysical.scala 191:26:shc.marmotcaravel.MarmotCaravelConfig.fir@262222.6]
+  assign last = _T_178 ? _T_180 : 1'h0; // @[SPIPhysical.scala 190:27:shc.marmotcaravel.MarmotCaravelConfig.fir@262220.4]
+  assign _T_54 = beat & last; // @[SPIPhysical.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@262030.4]
+  assign _T_55 = del_cntr_last != 12'h0; // @[SPIPhysical.scala 93:23:shc.marmotcaravel.MarmotCaravelConfig.fir@262034.4]
+  assign _T_56 = del_cntr_last - 12'h1; // @[SPIPhysical.scala 94:36:shc.marmotcaravel.MarmotCaravelConfig.fir@262036.6]
+  assign _T_57 = $unsigned(_T_56); // @[SPIPhysical.scala 94:36:shc.marmotcaravel.MarmotCaravelConfig.fir@262037.6]
+  assign _T_58 = _T_57[11:0]; // @[SPIPhysical.scala 94:36:shc.marmotcaravel.MarmotCaravelConfig.fir@262038.6]
+  assign _T_59 = del_cntr_last == 12'h1; // @[SPIPhysical.scala 97:23:shc.marmotcaravel.MarmotCaravelConfig.fir@262041.4]
+  assign _T_60 = beat ? {{4'd0}, scnt} : tcnt; // @[SPIPhysical.scala 103:17:shc.marmotcaravel.MarmotCaravelConfig.fir@262048.4]
+  assign _T_61 = _T_60 - 12'h1; // @[SPIPhysical.scala 103:36:shc.marmotcaravel.MarmotCaravelConfig.fir@262049.4]
+  assign _T_62 = $unsigned(_T_61); // @[SPIPhysical.scala 103:36:shc.marmotcaravel.MarmotCaravelConfig.fir@262050.4]
+  assign decr = _T_62[11:0]; // @[SPIPhysical.scala 103:36:shc.marmotcaravel.MarmotCaravelConfig.fir@262051.4]
+  assign sched = stop ? 1'h1 : beat; // @[SPIPhysical.scala 173:15:shc.marmotcaravel.MarmotCaravelConfig.fir@262198.4]
+  assign cinv = ctrl_sck_pha ^ ctrl_sck_pol; // @[SPIPhysical.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@262059.4]
+  assign _T_67 = {io_port_dq_1_i,io_port_dq_0_i}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@262060.4]
+  assign _T_68 = {io_port_dq_3_i,io_port_dq_2_i}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@262061.4]
+  assign rxd = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@262062.4]
+  assign rxd_delayed_0 = rxd[0]; // @[SPIPhysical.scala 126:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262069.4]
+  assign rxd_delayed_1 = rxd[1]; // @[SPIPhysical.scala 126:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262070.4]
+  assign rxd_delayed_2 = rxd[2]; // @[SPIPhysical.scala 126:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262071.4]
+  assign rxd_delayed_3 = rxd[3]; // @[SPIPhysical.scala 126:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262072.4]
+  assign _T_82 = {rxd_delayed_1,rxd_delayed_0}; // @[SPIPhysical.scala 129:29:shc.marmotcaravel.MarmotCaravelConfig.fir@262077.4]
+  assign _T_83 = {rxd_delayed_3,rxd_delayed_2}; // @[SPIPhysical.scala 129:29:shc.marmotcaravel.MarmotCaravelConfig.fir@262078.4]
+  assign rxd_fin = {_T_83,_T_82}; // @[SPIPhysical.scala 129:29:shc.marmotcaravel.MarmotCaravelConfig.fir@262079.4]
+  assign samples_0 = rxd_fin[1]; // @[SPIPhysical.scala 130:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262080.4]
+  assign samples_1 = rxd_fin[1:0]; // @[SPIPhysical.scala 130:40:shc.marmotcaravel.MarmotCaravelConfig.fir@262081.4]
+  assign _T_84 = io_ctrl_fmt_endian == 1'h0; // @[SPIPhysical.scala 112:20:shc.marmotcaravel.MarmotCaravelConfig.fir@262083.4]
+  assign _T_85 = io_op_bits_data[0]; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@262084.4]
+  assign _T_86 = io_op_bits_data[1]; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@262085.4]
+  assign _T_87 = io_op_bits_data[2]; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@262086.4]
+  assign _T_88 = io_op_bits_data[3]; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@262087.4]
+  assign _T_89 = io_op_bits_data[4]; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@262088.4]
+  assign _T_90 = io_op_bits_data[5]; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@262089.4]
+  assign _T_91 = io_op_bits_data[6]; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@262090.4]
+  assign _T_92 = io_op_bits_data[7]; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@262091.4]
+  assign _T_93 = {_T_91,_T_92}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@262092.4]
+  assign _T_94 = {_T_89,_T_90}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@262093.4]
+  assign _T_95 = {_T_94,_T_93}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@262094.4]
+  assign _T_96 = {_T_87,_T_88}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@262095.4]
+  assign _T_97 = {_T_85,_T_86}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@262096.4]
+  assign _T_98 = {_T_97,_T_96}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@262097.4]
+  assign _T_99 = {_T_98,_T_95}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@262098.4]
+  assign buffer_in = _T_84 ? io_op_bits_data : _T_99; // @[SPIPhysical.scala 112:8:shc.marmotcaravel.MarmotCaravelConfig.fir@262099.4]
+  assign _T_100 = totalCoarseDel > 12'h0; // @[SPIPhysical.scala 134:36:shc.marmotcaravel.MarmotCaravelConfig.fir@262100.4]
+  assign _T_101 = sample_d & stop; // @[SPIPhysical.scala 134:65:shc.marmotcaravel.MarmotCaravelConfig.fir@262101.4]
+  assign _T_102 = setup_d | _T_101; // @[SPIPhysical.scala 134:52:shc.marmotcaravel.MarmotCaravelConfig.fir@262102.4]
+  assign shift = _T_100 ? _T_102 : sample_d; // @[SPIPhysical.scala 134:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262103.4]
+  assign _T_103 = buffer[6:0]; // @[SPIPhysical.scala 138:26:shc.marmotcaravel.MarmotCaravelConfig.fir@262104.4]
+  assign _T_104 = buffer[7:1]; // @[SPIPhysical.scala 138:42:shc.marmotcaravel.MarmotCaravelConfig.fir@262105.4]
+  assign _T_105 = shift ? _T_103 : _T_104; // @[SPIPhysical.scala 138:12:shc.marmotcaravel.MarmotCaravelConfig.fir@262106.4]
+  assign _T_106 = buffer[0]; // @[SPIPhysical.scala 139:35:shc.marmotcaravel.MarmotCaravelConfig.fir@262107.4]
+  assign _T_107 = sample_d ? samples_0 : _T_106; // @[SPIPhysical.scala 139:12:shc.marmotcaravel.MarmotCaravelConfig.fir@262108.4]
+  assign _T_108 = {_T_105,_T_107}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@262109.4]
+  assign _T_109 = buffer[5:0]; // @[SPIPhysical.scala 138:26:shc.marmotcaravel.MarmotCaravelConfig.fir@262110.4]
+  assign _T_110 = buffer[7:2]; // @[SPIPhysical.scala 138:42:shc.marmotcaravel.MarmotCaravelConfig.fir@262111.4]
+  assign _T_111 = shift ? _T_109 : _T_110; // @[SPIPhysical.scala 138:12:shc.marmotcaravel.MarmotCaravelConfig.fir@262112.4]
+  assign _T_112 = buffer[1:0]; // @[SPIPhysical.scala 139:35:shc.marmotcaravel.MarmotCaravelConfig.fir@262113.4]
+  assign _T_113 = sample_d ? samples_1 : _T_112; // @[SPIPhysical.scala 139:12:shc.marmotcaravel.MarmotCaravelConfig.fir@262114.4]
+  assign _T_114 = {_T_111,_T_113}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@262115.4]
+  assign _T_115 = buffer[3:0]; // @[SPIPhysical.scala 138:26:shc.marmotcaravel.MarmotCaravelConfig.fir@262116.4]
+  assign _T_116 = buffer[7:4]; // @[SPIPhysical.scala 138:42:shc.marmotcaravel.MarmotCaravelConfig.fir@262117.4]
+  assign _T_117 = shift ? _T_115 : _T_116; // @[SPIPhysical.scala 138:12:shc.marmotcaravel.MarmotCaravelConfig.fir@262118.4]
+  assign _T_119 = sample_d ? rxd_fin : _T_115; // @[SPIPhysical.scala 139:12:shc.marmotcaravel.MarmotCaravelConfig.fir@262120.4]
+  assign _T_120 = {_T_117,_T_119}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@262121.4]
+  assign _T_122 = proto_0 ? _T_108 : 8'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262122.4]
+  assign _T_123 = proto_1 ? _T_114 : 8'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262123.4]
+  assign _T_124 = proto_2 ? _T_120 : 8'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262124.4]
+  assign _T_125 = _T_122 | _T_123; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262125.4]
+  assign _T_126 = _T_125 | _T_124; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262126.4]
+  assign _T_130 = buffer_in[7:4]; // @[SPIPhysical.scala 142:41:shc.marmotcaravel.MarmotCaravelConfig.fir@262131.4]
+  assign _T_181 = cref == 1'h0; // @[SPIPhysical.scala 192:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262224.6]
+  assign _T_182 = beat & _T_181; // @[SPIPhysical.scala 192:16:shc.marmotcaravel.MarmotCaravelConfig.fir@262225.6]
+  assign _GEN_23 = _T_182 ? 1'h1 : stop; // @[SPIPhysical.scala 192:26:shc.marmotcaravel.MarmotCaravelConfig.fir@262226.6]
+  assign accept = _T_178 ? _GEN_23 : stop; // @[SPIPhysical.scala 190:27:shc.marmotcaravel.MarmotCaravelConfig.fir@262220.4]
+  assign txd_in = accept ? _T_130 : _T_116; // @[SPIPhysical.scala 145:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262133.4]
+  assign _T_132 = accept ? io_ctrl_fmt_proto : ctrl_fmt_proto; // @[SPIPhysical.scala 146:39:shc.marmotcaravel.MarmotCaravelConfig.fir@262134.4]
+  assign txd_sel_0 = 2'h0 == _T_132; // @[SPIConsts.scala 13:48:shc.marmotcaravel.MarmotCaravelConfig.fir@262135.4]
+  assign txd_sel_1 = 2'h1 == _T_132; // @[SPIConsts.scala 13:48:shc.marmotcaravel.MarmotCaravelConfig.fir@262136.4]
+  assign txd_sel_2 = 2'h2 == _T_132; // @[SPIConsts.scala 13:48:shc.marmotcaravel.MarmotCaravelConfig.fir@262137.4]
+  assign txd_shf_0 = txd_in[3]; // @[SPIPhysical.scala 147:55:shc.marmotcaravel.MarmotCaravelConfig.fir@262138.4]
+  assign txd_shf_1 = txd_in[3:2]; // @[SPIPhysical.scala 147:55:shc.marmotcaravel.MarmotCaravelConfig.fir@262139.4]
+  assign _T_134 = txd_sel_0 ? txd_shf_0 : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262142.6]
+  assign _T_135 = txd_sel_1 ? txd_shf_1 : 2'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262143.6]
+  assign _T_136 = txd_sel_2 ? txd_in : 4'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262144.6]
+  assign _GEN_75 = {{1'd0}, _T_134}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262145.6]
+  assign _T_137 = _GEN_75 | _T_135; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262145.6]
+  assign _GEN_76 = {{2'd0}, _T_137}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262146.6]
+  assign _T_138 = _GEN_76 | _T_136; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262146.6]
+  assign _T_183 = accept & done; // @[SPIPhysical.scala 199:16:shc.marmotcaravel.MarmotCaravelConfig.fir@262232.4]
+  assign _T_184 = 1'h0 == io_op_bits_fn; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@262241.8]
+  assign _GEN_9 = xfr ? _T_181 : 1'h0; // @[SPIPhysical.scala 179:18:shc.marmotcaravel.MarmotCaravelConfig.fir@262206.8]
+  assign _GEN_14 = beat ? _GEN_9 : 1'h0; // @[SPIPhysical.scala 177:17:shc.marmotcaravel.MarmotCaravelConfig.fir@262203.6]
+  assign _GEN_21 = stop ? 1'h0 : _GEN_14; // @[SPIPhysical.scala 173:15:shc.marmotcaravel.MarmotCaravelConfig.fir@262198.4]
+  assign _GEN_24 = _T_182 ? 1'h0 : _GEN_21; // @[SPIPhysical.scala 192:26:shc.marmotcaravel.MarmotCaravelConfig.fir@262226.6]
+  assign _GEN_28 = _T_178 ? _GEN_24 : _GEN_21; // @[SPIPhysical.scala 190:27:shc.marmotcaravel.MarmotCaravelConfig.fir@262220.4]
+  assign _GEN_43 = _T_184 ? 1'h1 : _GEN_28; // @[Conditional.scala 40:58:shc.marmotcaravel.MarmotCaravelConfig.fir@262242.8]
+  assign _GEN_56 = io_op_valid ? _GEN_43 : _GEN_28; // @[SPIPhysical.scala 201:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262235.6]
+  assign setup = _T_183 ? _GEN_56 : _GEN_28; // @[SPIPhysical.scala 199:25:shc.marmotcaravel.MarmotCaravelConfig.fir@262233.4]
+  assign _T_141 = proto_1 & ctrl_fmt_iodir; // @[SPIPhysical.scala 153:49:shc.marmotcaravel.MarmotCaravelConfig.fir@262152.4]
+  assign txen_2 = proto_2 & ctrl_fmt_iodir; // @[SPIPhysical.scala 153:49:shc.marmotcaravel.MarmotCaravelConfig.fir@262153.4]
+  assign txen_1 = _T_141 | txen_2; // @[SPIPhysical.scala 153:82:shc.marmotcaravel.MarmotCaravelConfig.fir@262155.4]
+  assign _T_155 = done | last_d; // @[SPIPhysical.scala 166:16:shc.marmotcaravel.MarmotCaravelConfig.fir@262176.4]
+  assign _T_156 = ctrl_fmt_endian == 1'h0; // @[SPIPhysical.scala 112:20:shc.marmotcaravel.MarmotCaravelConfig.fir@262179.4]
+  assign _T_158 = buffer[1]; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@262181.4]
+  assign _T_159 = buffer[2]; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@262182.4]
+  assign _T_160 = buffer[3]; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@262183.4]
+  assign _T_161 = buffer[4]; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@262184.4]
+  assign _T_162 = buffer[5]; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@262185.4]
+  assign _T_163 = buffer[6]; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@262186.4]
+  assign _T_164 = buffer[7]; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@262187.4]
+  assign _T_165 = {_T_163,_T_164}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@262188.4]
+  assign _T_166 = {_T_161,_T_162}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@262189.4]
+  assign _T_167 = {_T_166,_T_165}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@262190.4]
+  assign _T_168 = {_T_159,_T_160}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@262191.4]
+  assign _T_169 = {_T_106,_T_158}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@262192.4]
+  assign _T_170 = {_T_169,_T_168}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@262193.4]
+  assign _T_171 = {_T_170,_T_167}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@262194.4]
+  assign _T_175 = cref ^ cinv; // @[SPIPhysical.scala 180:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262207.10]
+  assign _GEN_7 = xfr ? _T_175 : sck; // @[SPIPhysical.scala 179:18:shc.marmotcaravel.MarmotCaravelConfig.fir@262206.8]
+  assign _GEN_10 = _T_181 ? decr : {{4'd0}, scnt}; // @[SPIPhysical.scala 184:20:shc.marmotcaravel.MarmotCaravelConfig.fir@262214.8]
+  assign _GEN_12 = beat ? _GEN_7 : sck; // @[SPIPhysical.scala 177:17:shc.marmotcaravel.MarmotCaravelConfig.fir@262203.6]
+  assign _GEN_15 = beat ? _GEN_10 : {{4'd0}, scnt}; // @[SPIPhysical.scala 177:17:shc.marmotcaravel.MarmotCaravelConfig.fir@262203.6]
+  assign _GEN_19 = stop ? sck : _GEN_12; // @[SPIPhysical.scala 173:15:shc.marmotcaravel.MarmotCaravelConfig.fir@262198.4]
+  assign _GEN_22 = stop ? {{4'd0}, scnt} : _GEN_15; // @[SPIPhysical.scala 173:15:shc.marmotcaravel.MarmotCaravelConfig.fir@262198.4]
+  assign _T_185 = io_op_bits_cnt == 8'h0; // @[SPIPhysical.scala 213:27:shc.marmotcaravel.MarmotCaravelConfig.fir@262246.10]
+  assign _GEN_49 = io_op_valid ? {{4'd0}, io_op_bits_cnt} : _GEN_22; // @[SPIPhysical.scala 201:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262235.6]
+  assign _GEN_62 = _T_183 ? _GEN_49 : _GEN_22; // @[SPIPhysical.scala 199:25:shc.marmotcaravel.MarmotCaravelConfig.fir@262233.4]
+  assign io_port_sck = sck; // @[SPIPhysical.scala 156:15:shc.marmotcaravel.MarmotCaravelConfig.fir@262157.4]
+  assign io_port_dq_0_o = txd[0]; // @[SPIPhysical.scala 160:12:shc.marmotcaravel.MarmotCaravelConfig.fir@262166.4]
+  assign io_port_dq_0_oe = proto_0 | txen_1; // @[SPIPhysical.scala 161:13:shc.marmotcaravel.MarmotCaravelConfig.fir@262167.4]
+  assign io_port_dq_1_o = txd[1]; // @[SPIPhysical.scala 160:12:shc.marmotcaravel.MarmotCaravelConfig.fir@262168.4]
+  assign io_port_dq_1_oe = _T_141 | txen_2; // @[SPIPhysical.scala 161:13:shc.marmotcaravel.MarmotCaravelConfig.fir@262169.4]
+  assign io_port_dq_2_o = txd[2]; // @[SPIPhysical.scala 160:12:shc.marmotcaravel.MarmotCaravelConfig.fir@262170.4]
+  assign io_port_dq_2_oe = proto_2 & ctrl_fmt_iodir; // @[SPIPhysical.scala 161:13:shc.marmotcaravel.MarmotCaravelConfig.fir@262171.4]
+  assign io_port_dq_3_o = txd[3]; // @[SPIPhysical.scala 160:12:shc.marmotcaravel.MarmotCaravelConfig.fir@262172.4]
+  assign io_port_dq_3_oe = proto_2 & ctrl_fmt_iodir; // @[SPIPhysical.scala 161:13:shc.marmotcaravel.MarmotCaravelConfig.fir@262173.4]
+  assign io_op_ready = accept & done; // @[SPIPhysical.scala 163:15:shc.marmotcaravel.MarmotCaravelConfig.fir@262174.4 SPIPhysical.scala 200:17:shc.marmotcaravel.MarmotCaravelConfig.fir@262234.6]
+  assign io_rx_valid = done; // @[SPIPhysical.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@262178.4]
+  assign io_rx_bits = _T_156 ? buffer : _T_171; // @[SPIPhysical.scala 169:14:shc.marmotcaravel.MarmotCaravelConfig.fir@262196.4]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  ctrl_sck_div = _RAND_0[11:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  ctrl_sck_pol = _RAND_1[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  ctrl_sck_pha = _RAND_2[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  ctrl_fmt_proto = _RAND_3[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  ctrl_fmt_endian = _RAND_4[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  ctrl_fmt_iodir = _RAND_5[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {1{`RANDOM}};
+  setup_d = _RAND_6[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {1{`RANDOM}};
+  scnt = _RAND_7[7:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_8 = {1{`RANDOM}};
+  tcnt = _RAND_8[11:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_9 = {1{`RANDOM}};
+  del_cntr = _RAND_9[11:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_10 = {1{`RANDOM}};
+  sample_d = _RAND_10[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_11 = {1{`RANDOM}};
+  xfr = _RAND_11[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_12 = {1{`RANDOM}};
+  cref = _RAND_12[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_13 = {1{`RANDOM}};
+  del_cntr_last = _RAND_13[11:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_14 = {1{`RANDOM}};
+  last_d = _RAND_14[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_15 = {1{`RANDOM}};
+  sck = _RAND_15[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_16 = {1{`RANDOM}};
+  buffer = _RAND_16[7:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_17 = {1{`RANDOM}};
+  txd = _RAND_17[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_18 = {1{`RANDOM}};
+  done = _RAND_18[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (_T_183) begin
+      if (io_op_valid) begin
+        if (!(_T_184)) begin
+          if (io_op_bits_fn) begin
+            if (io_op_bits_stb) begin
+              ctrl_sck_div <= io_ctrl_sck_div;
+            end
+          end
+        end
+      end
+    end
+    if (_T_183) begin
+      if (io_op_valid) begin
+        if (!(_T_184)) begin
+          if (io_op_bits_fn) begin
+            if (io_op_bits_stb) begin
+              ctrl_sck_pol <= io_ctrl_sck_pol;
+            end
+          end
+        end
+      end
+    end
+    if (_T_183) begin
+      if (io_op_valid) begin
+        if (!(_T_184)) begin
+          if (io_op_bits_fn) begin
+            if (io_op_bits_stb) begin
+              ctrl_sck_pha <= io_ctrl_sck_pha;
+            end
+          end
+        end
+      end
+    end
+    if (_T_183) begin
+      if (io_op_valid) begin
+        if (io_op_bits_stb) begin
+          ctrl_fmt_proto <= io_ctrl_fmt_proto;
+        end
+      end
+    end
+    if (_T_183) begin
+      if (io_op_valid) begin
+        if (io_op_bits_stb) begin
+          ctrl_fmt_endian <= io_ctrl_fmt_endian;
+        end
+      end
+    end
+    if (_T_183) begin
+      if (io_op_valid) begin
+        if (io_op_bits_stb) begin
+          ctrl_fmt_iodir <= io_ctrl_fmt_iodir;
+        end
+      end
+    end
+    if (_T_183) begin
+      if (io_op_valid) begin
+        if (_T_184) begin
+          setup_d <= 1'h1;
+        end else begin
+          if (_T_178) begin
+            if (_T_182) begin
+              setup_d <= 1'h0;
+            end else begin
+              if (stop) begin
+                setup_d <= 1'h0;
+              end else begin
+                if (beat) begin
+                  if (xfr) begin
+                    setup_d <= _T_181;
+                  end else begin
+                    setup_d <= 1'h0;
+                  end
+                end else begin
+                  setup_d <= 1'h0;
+                end
+              end
+            end
+          end else begin
+            if (stop) begin
+              setup_d <= 1'h0;
+            end else begin
+              if (beat) begin
+                if (xfr) begin
+                  setup_d <= _T_181;
+                end else begin
+                  setup_d <= 1'h0;
+                end
+              end else begin
+                setup_d <= 1'h0;
+              end
+            end
+          end
+        end
+      end else begin
+        if (_T_178) begin
+          if (_T_182) begin
+            setup_d <= 1'h0;
+          end else begin
+            if (stop) begin
+              setup_d <= 1'h0;
+            end else begin
+              if (beat) begin
+                if (xfr) begin
+                  setup_d <= _T_181;
+                end else begin
+                  setup_d <= 1'h0;
+                end
+              end else begin
+                setup_d <= 1'h0;
+              end
+            end
+          end
+        end else begin
+          if (stop) begin
+            setup_d <= 1'h0;
+          end else begin
+            if (beat) begin
+              if (xfr) begin
+                setup_d <= _T_181;
+              end else begin
+                setup_d <= 1'h0;
+              end
+            end else begin
+              setup_d <= 1'h0;
+            end
+          end
+        end
+      end
+    end else begin
+      if (_T_178) begin
+        if (_T_182) begin
+          setup_d <= 1'h0;
+        end else begin
+          setup_d <= _GEN_21;
+        end
+      end else begin
+        setup_d <= _GEN_21;
+      end
+    end
+    if (reset) begin
+      scnt <= 8'h0;
+    end else begin
+      scnt <= _GEN_62[7:0];
+    end
+    if (sched) begin
+      tcnt <= ctrl_sck_div;
+    end else begin
+      tcnt <= decr;
+    end
+    if (reset) begin
+      del_cntr <= 12'h4;
+    end else begin
+      if (_T_47) begin
+        del_cntr <= _T_50;
+      end else begin
+        if (_T_46) begin
+          del_cntr <= totalCoarseDel;
+        end
+      end
+    end
+    if (reset) begin
+      sample_d <= 1'h0;
+    end else begin
+      sample_d <= _T_51;
+    end
+    if (_T_183) begin
+      if (io_op_valid) begin
+        xfr <= _T_184;
+      end
+    end
+    if (reset) begin
+      cref <= 1'h1;
+    end else begin
+      if (!(stop)) begin
+        if (beat) begin
+          cref <= _T_181;
+        end
+      end
+    end
+    if (reset) begin
+      del_cntr_last <= 12'h4;
+    end else begin
+      if (_T_55) begin
+        del_cntr_last <= _T_58;
+      end else begin
+        if (_T_54) begin
+          del_cntr_last <= totalCoarseDel;
+        end
+      end
+    end
+    if (reset) begin
+      last_d <= 1'h0;
+    end else begin
+      last_d <= _T_59;
+    end
+    if (_T_183) begin
+      if (io_op_valid) begin
+        if (_T_184) begin
+          sck <= cinv;
+        end else begin
+          if (io_op_bits_fn) begin
+            if (io_op_bits_stb) begin
+              sck <= io_ctrl_sck_pol;
+            end else begin
+              if (_T_178) begin
+                if (_T_182) begin
+                  sck <= ctrl_sck_pol;
+                end else begin
+                  if (!(stop)) begin
+                    if (beat) begin
+                      if (xfr) begin
+                        sck <= _T_175;
+                      end
+                    end
+                  end
+                end
+              end else begin
+                if (!(stop)) begin
+                  if (beat) begin
+                    if (xfr) begin
+                      sck <= _T_175;
+                    end
+                  end
+                end
+              end
+            end
+          end else begin
+            if (_T_178) begin
+              if (_T_182) begin
+                sck <= ctrl_sck_pol;
+              end else begin
+                if (!(stop)) begin
+                  if (beat) begin
+                    if (xfr) begin
+                      sck <= _T_175;
+                    end
+                  end
+                end
+              end
+            end else begin
+              if (!(stop)) begin
+                if (beat) begin
+                  if (xfr) begin
+                    sck <= _T_175;
+                  end
+                end
+              end
+            end
+          end
+        end
+      end else begin
+        if (_T_178) begin
+          if (_T_182) begin
+            sck <= ctrl_sck_pol;
+          end else begin
+            sck <= _GEN_19;
+          end
+        end else begin
+          sck <= _GEN_19;
+        end
+      end
+    end else begin
+      if (_T_178) begin
+        if (_T_182) begin
+          sck <= ctrl_sck_pol;
+        end else begin
+          sck <= _GEN_19;
+        end
+      end else begin
+        sck <= _GEN_19;
+      end
+    end
+    if (_T_183) begin
+      if (io_op_valid) begin
+        if (_T_184) begin
+          if (_T_84) begin
+            buffer <= io_op_bits_data;
+          end else begin
+            buffer <= _T_99;
+          end
+        end else begin
+          buffer <= _T_126;
+        end
+      end else begin
+        buffer <= _T_126;
+      end
+    end else begin
+      buffer <= _T_126;
+    end
+    if (reset) begin
+      txd <= 4'h0;
+    end else begin
+      if (setup) begin
+        txd <= _T_138;
+      end
+    end
+    if (reset) begin
+      done <= 1'h1;
+    end else begin
+      if (_T_183) begin
+        if (io_op_valid) begin
+          if (_T_184) begin
+            done <= _T_185;
+          end else begin
+            done <= _T_155;
+          end
+        end else begin
+          done <= _T_155;
+        end
+      end else begin
+        done <= _T_155;
+      end
+    end
+  end
+endmodule
+module SPIMedia( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262261.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262262.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262263.4]
+  output        io_port_sck, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262264.4]
+  input         io_port_dq_0_i, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262264.4]
+  output        io_port_dq_0_o, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262264.4]
+  output        io_port_dq_0_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262264.4]
+  input         io_port_dq_1_i, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262264.4]
+  output        io_port_dq_1_o, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262264.4]
+  output        io_port_dq_1_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262264.4]
+  input         io_port_dq_2_i, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262264.4]
+  output        io_port_dq_2_o, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262264.4]
+  output        io_port_dq_2_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262264.4]
+  input         io_port_dq_3_i, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262264.4]
+  output        io_port_dq_3_o, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262264.4]
+  output        io_port_dq_3_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262264.4]
+  output        io_port_cs_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262264.4]
+  input  [11:0] io_ctrl_sck_div, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262264.4]
+  input         io_ctrl_sck_pol, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262264.4]
+  input         io_ctrl_sck_pha, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262264.4]
+  input  [7:0]  io_ctrl_dla_cssck, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262264.4]
+  input  [7:0]  io_ctrl_dla_sckcs, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262264.4]
+  input  [7:0]  io_ctrl_dla_intercs, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262264.4]
+  input  [7:0]  io_ctrl_dla_interxfr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262264.4]
+  input         io_ctrl_cs_id, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262264.4]
+  input         io_ctrl_cs_dflt_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262264.4]
+  input  [11:0] io_ctrl_extradel_coarse, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262264.4]
+  input  [4:0]  io_ctrl_sampledel_sd, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262264.4]
+  output        io_link_tx_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262264.4]
+  input         io_link_tx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262264.4]
+  input  [7:0]  io_link_tx_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262264.4]
+  output        io_link_rx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262264.4]
+  output [7:0]  io_link_rx_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262264.4]
+  input  [7:0]  io_link_cnt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262264.4]
+  input  [1:0]  io_link_fmt_proto, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262264.4]
+  input         io_link_fmt_endian, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262264.4]
+  input         io_link_fmt_iodir, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262264.4]
+  input         io_link_cs_set, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262264.4]
+  input         io_link_cs_clear, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262264.4]
+  input         io_link_cs_hold, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262264.4]
+  output        io_link_active // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262264.4]
+);
+  wire  phy_clock; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262269.4]
+  wire  phy_reset; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262269.4]
+  wire  phy_io_port_sck; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262269.4]
+  wire  phy_io_port_dq_0_i; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262269.4]
+  wire  phy_io_port_dq_0_o; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262269.4]
+  wire  phy_io_port_dq_0_oe; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262269.4]
+  wire  phy_io_port_dq_1_i; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262269.4]
+  wire  phy_io_port_dq_1_o; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262269.4]
+  wire  phy_io_port_dq_1_oe; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262269.4]
+  wire  phy_io_port_dq_2_i; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262269.4]
+  wire  phy_io_port_dq_2_o; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262269.4]
+  wire  phy_io_port_dq_2_oe; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262269.4]
+  wire  phy_io_port_dq_3_i; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262269.4]
+  wire  phy_io_port_dq_3_o; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262269.4]
+  wire  phy_io_port_dq_3_oe; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262269.4]
+  wire [11:0] phy_io_ctrl_sck_div; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262269.4]
+  wire  phy_io_ctrl_sck_pol; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262269.4]
+  wire  phy_io_ctrl_sck_pha; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262269.4]
+  wire [1:0] phy_io_ctrl_fmt_proto; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262269.4]
+  wire  phy_io_ctrl_fmt_endian; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262269.4]
+  wire  phy_io_ctrl_fmt_iodir; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262269.4]
+  wire [11:0] phy_io_ctrl_extradel_coarse; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262269.4]
+  wire [4:0] phy_io_ctrl_sampledel_sd; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262269.4]
+  wire  phy_io_op_ready; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262269.4]
+  wire  phy_io_op_valid; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262269.4]
+  wire  phy_io_op_bits_fn; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262269.4]
+  wire  phy_io_op_bits_stb; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262269.4]
+  wire [7:0] phy_io_op_bits_cnt; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262269.4]
+  wire [7:0] phy_io_op_bits_data; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262269.4]
+  wire  phy_io_rx_valid; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262269.4]
+  wire [7:0] phy_io_rx_bits; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262269.4]
+  reg  cs_id; // @[SPIMedia.scala 46:15:shc.marmotcaravel.MarmotCaravelConfig.fir@262282.4]
+  reg [31:0] _RAND_0;
+  reg  cs_dflt_0; // @[SPIMedia.scala 46:15:shc.marmotcaravel.MarmotCaravelConfig.fir@262282.4]
+  reg [31:0] _RAND_1;
+  reg  cs_set; // @[SPIMedia.scala 47:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262283.4]
+  reg [31:0] _RAND_2;
+  wire [1:0] _GEN_54; // @[SPIBundle.scala 47:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262284.4]
+  wire [1:0] _T_67; // @[SPIBundle.scala 47:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262284.4]
+  wire [1:0] _GEN_55; // @[SPIBundle.scala 48:33:shc.marmotcaravel.MarmotCaravelConfig.fir@262285.4]
+  wire [1:0] _T_68; // @[SPIBundle.scala 48:33:shc.marmotcaravel.MarmotCaravelConfig.fir@262285.4]
+  wire  cs_active_0; // @[SPIBundle.scala 49:32:shc.marmotcaravel.MarmotCaravelConfig.fir@262286.4]
+  wire  cs_update; // @[SPIMedia.scala 49:37:shc.marmotcaravel.MarmotCaravelConfig.fir@262290.4]
+  reg  clear; // @[SPIMedia.scala 51:18:shc.marmotcaravel.MarmotCaravelConfig.fir@262291.4]
+  reg [31:0] _RAND_3;
+  reg  cs_assert; // @[SPIMedia.scala 52:22:shc.marmotcaravel.MarmotCaravelConfig.fir@262292.4]
+  reg [31:0] _RAND_4;
+  wire  _T_78; // @[SPIMedia.scala 53:44:shc.marmotcaravel.MarmotCaravelConfig.fir@262293.4]
+  wire  _T_79; // @[SPIMedia.scala 53:41:shc.marmotcaravel.MarmotCaravelConfig.fir@262294.4]
+  wire  cs_deassert; // @[SPIMedia.scala 53:27:shc.marmotcaravel.MarmotCaravelConfig.fir@262295.4]
+  wire  _T_80; // @[SPIMedia.scala 55:39:shc.marmotcaravel.MarmotCaravelConfig.fir@262296.4]
+  wire  _T_81; // @[SPIMedia.scala 55:18:shc.marmotcaravel.MarmotCaravelConfig.fir@262297.4]
+  wire  continuous; // @[SPIMedia.scala 57:42:shc.marmotcaravel.MarmotCaravelConfig.fir@262299.4]
+  reg [1:0] state; // @[SPIMedia.scala 68:18:shc.marmotcaravel.MarmotCaravelConfig.fir@262306.4]
+  reg [31:0] _RAND_5;
+  wire  _T_84; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@262307.4]
+  wire  _T_85; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@262321.10]
+  wire [7:0] _GEN_2; // @[SPIMedia.scala 73:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262310.8]
+  wire  _GEN_5; // @[SPIMedia.scala 73:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262310.8]
+  wire  _GEN_6; // @[SPIMedia.scala 73:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262310.8]
+  wire  _GEN_7; // @[SPIMedia.scala 73:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262310.8]
+  wire [7:0] _GEN_11; // @[SPIMedia.scala 88:38:shc.marmotcaravel.MarmotCaravelConfig.fir@262328.8]
+  wire  _GEN_15; // @[SPIMedia.scala 88:38:shc.marmotcaravel.MarmotCaravelConfig.fir@262328.8]
+  wire [7:0] _GEN_17; // @[SPIMedia.scala 72:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262309.6]
+  wire  _GEN_19; // @[SPIMedia.scala 72:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262309.6]
+  wire  _GEN_20; // @[SPIMedia.scala 72:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262309.6]
+  wire  _GEN_21; // @[SPIMedia.scala 72:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262309.6]
+  wire  _GEN_22; // @[SPIMedia.scala 72:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262309.6]
+  wire  _T_86; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@262343.6]
+  wire  _T_87; // @[SPIMedia.scala 106:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262345.8]
+  wire  _T_88; // @[SPIMedia.scala 108:22:shc.marmotcaravel.MarmotCaravelConfig.fir@262348.8]
+  wire  _T_89; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@262354.8]
+  wire [1:0] _GEN_56; // @[SPIBundle.scala 47:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262361.12]
+  wire [1:0] _T_90; // @[SPIBundle.scala 47:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262361.12]
+  wire [1:0] _GEN_57; // @[SPIBundle.scala 48:33:shc.marmotcaravel.MarmotCaravelConfig.fir@262362.12]
+  wire [1:0] _T_91; // @[SPIBundle.scala 48:33:shc.marmotcaravel.MarmotCaravelConfig.fir@262362.12]
+  wire  _T_92; // @[SPIBundle.scala 49:32:shc.marmotcaravel.MarmotCaravelConfig.fir@262363.12]
+  wire [7:0] _GEN_30; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262355.8]
+  wire  _GEN_36; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262344.6]
+  wire [7:0] _GEN_37; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262344.6]
+  wire  _GEN_39; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262344.6]
+  SPIPhysical phy ( // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262269.4]
+    .clock(phy_clock),
+    .reset(phy_reset),
+    .io_port_sck(phy_io_port_sck),
+    .io_port_dq_0_i(phy_io_port_dq_0_i),
+    .io_port_dq_0_o(phy_io_port_dq_0_o),
+    .io_port_dq_0_oe(phy_io_port_dq_0_oe),
+    .io_port_dq_1_i(phy_io_port_dq_1_i),
+    .io_port_dq_1_o(phy_io_port_dq_1_o),
+    .io_port_dq_1_oe(phy_io_port_dq_1_oe),
+    .io_port_dq_2_i(phy_io_port_dq_2_i),
+    .io_port_dq_2_o(phy_io_port_dq_2_o),
+    .io_port_dq_2_oe(phy_io_port_dq_2_oe),
+    .io_port_dq_3_i(phy_io_port_dq_3_i),
+    .io_port_dq_3_o(phy_io_port_dq_3_o),
+    .io_port_dq_3_oe(phy_io_port_dq_3_oe),
+    .io_ctrl_sck_div(phy_io_ctrl_sck_div),
+    .io_ctrl_sck_pol(phy_io_ctrl_sck_pol),
+    .io_ctrl_sck_pha(phy_io_ctrl_sck_pha),
+    .io_ctrl_fmt_proto(phy_io_ctrl_fmt_proto),
+    .io_ctrl_fmt_endian(phy_io_ctrl_fmt_endian),
+    .io_ctrl_fmt_iodir(phy_io_ctrl_fmt_iodir),
+    .io_ctrl_extradel_coarse(phy_io_ctrl_extradel_coarse),
+    .io_ctrl_sampledel_sd(phy_io_ctrl_sampledel_sd),
+    .io_op_ready(phy_io_op_ready),
+    .io_op_valid(phy_io_op_valid),
+    .io_op_bits_fn(phy_io_op_bits_fn),
+    .io_op_bits_stb(phy_io_op_bits_stb),
+    .io_op_bits_cnt(phy_io_op_bits_cnt),
+    .io_op_bits_data(phy_io_op_bits_data),
+    .io_rx_valid(phy_io_rx_valid),
+    .io_rx_bits(phy_io_rx_bits)
+  );
+  assign _GEN_54 = {{1'd0}, io_link_cs_set}; // @[SPIBundle.scala 47:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262284.4]
+  assign _T_67 = _GEN_54 << io_ctrl_cs_id; // @[SPIBundle.scala 47:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262284.4]
+  assign _GEN_55 = {{1'd0}, io_ctrl_cs_dflt_0}; // @[SPIBundle.scala 48:33:shc.marmotcaravel.MarmotCaravelConfig.fir@262285.4]
+  assign _T_68 = _GEN_55 ^ _T_67; // @[SPIBundle.scala 48:33:shc.marmotcaravel.MarmotCaravelConfig.fir@262285.4]
+  assign cs_active_0 = _T_68[0]; // @[SPIBundle.scala 49:32:shc.marmotcaravel.MarmotCaravelConfig.fir@262286.4]
+  assign cs_update = cs_active_0 != cs_dflt_0; // @[SPIMedia.scala 49:37:shc.marmotcaravel.MarmotCaravelConfig.fir@262290.4]
+  assign _T_78 = io_link_cs_hold == 1'h0; // @[SPIMedia.scala 53:44:shc.marmotcaravel.MarmotCaravelConfig.fir@262293.4]
+  assign _T_79 = cs_update & _T_78; // @[SPIMedia.scala 53:41:shc.marmotcaravel.MarmotCaravelConfig.fir@262294.4]
+  assign cs_deassert = clear | _T_79; // @[SPIMedia.scala 53:27:shc.marmotcaravel.MarmotCaravelConfig.fir@262295.4]
+  assign _T_80 = io_link_cs_clear & cs_assert; // @[SPIMedia.scala 55:39:shc.marmotcaravel.MarmotCaravelConfig.fir@262296.4]
+  assign _T_81 = clear | _T_80; // @[SPIMedia.scala 55:18:shc.marmotcaravel.MarmotCaravelConfig.fir@262297.4]
+  assign continuous = io_ctrl_dla_interxfr == 8'h0; // @[SPIMedia.scala 57:42:shc.marmotcaravel.MarmotCaravelConfig.fir@262299.4]
+  assign _T_84 = 2'h0 == state; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@262307.4]
+  assign _T_85 = phy_io_op_ready & phy_io_op_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@262321.10]
+  assign _GEN_2 = cs_deassert ? io_ctrl_dla_sckcs : io_link_cnt; // @[SPIMedia.scala 73:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262310.8]
+  assign _GEN_5 = cs_deassert ? 1'h0 : 1'h1; // @[SPIMedia.scala 73:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262310.8]
+  assign _GEN_6 = cs_deassert ? 1'h1 : io_link_tx_valid; // @[SPIMedia.scala 73:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262310.8]
+  assign _GEN_7 = cs_deassert ? 1'h0 : phy_io_op_ready; // @[SPIMedia.scala 73:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262310.8]
+  assign _GEN_11 = io_link_tx_valid ? io_ctrl_dla_cssck : 8'h0; // @[SPIMedia.scala 88:38:shc.marmotcaravel.MarmotCaravelConfig.fir@262328.8]
+  assign _GEN_15 = io_link_tx_valid ? 1'h0 : 1'h1; // @[SPIMedia.scala 88:38:shc.marmotcaravel.MarmotCaravelConfig.fir@262328.8]
+  assign _GEN_17 = cs_assert ? _GEN_2 : _GEN_11; // @[SPIMedia.scala 72:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262309.6]
+  assign _GEN_19 = cs_assert ? cs_deassert : 1'h1; // @[SPIMedia.scala 72:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262309.6]
+  assign _GEN_20 = cs_assert ? _GEN_5 : _GEN_15; // @[SPIMedia.scala 72:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262309.6]
+  assign _GEN_21 = cs_assert ? _GEN_6 : 1'h1; // @[SPIMedia.scala 72:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262309.6]
+  assign _GEN_22 = cs_assert ? _GEN_7 : 1'h0; // @[SPIMedia.scala 72:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262309.6]
+  assign _T_86 = 2'h1 == state; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@262343.6]
+  assign _T_87 = continuous == 1'h0; // @[SPIMedia.scala 106:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262345.8]
+  assign _T_88 = phy_io_op_ready | continuous; // @[SPIMedia.scala 108:22:shc.marmotcaravel.MarmotCaravelConfig.fir@262348.8]
+  assign _T_89 = 2'h2 == state; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@262354.8]
+  assign _GEN_56 = {{1'd0}, cs_set}; // @[SPIBundle.scala 47:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262361.12]
+  assign _T_90 = _GEN_56 << cs_id; // @[SPIBundle.scala 47:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262361.12]
+  assign _GEN_57 = {{1'd0}, cs_dflt_0}; // @[SPIBundle.scala 48:33:shc.marmotcaravel.MarmotCaravelConfig.fir@262362.12]
+  assign _T_91 = _GEN_57 ^ _T_90; // @[SPIBundle.scala 48:33:shc.marmotcaravel.MarmotCaravelConfig.fir@262362.12]
+  assign _T_92 = _T_91[0]; // @[SPIBundle.scala 49:32:shc.marmotcaravel.MarmotCaravelConfig.fir@262363.12]
+  assign _GEN_30 = _T_89 ? io_ctrl_dla_intercs : io_link_cnt; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262355.8]
+  assign _GEN_36 = _T_86 ? _T_87 : 1'h1; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262344.6]
+  assign _GEN_37 = _T_86 ? io_ctrl_dla_interxfr : _GEN_30; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262344.6]
+  assign _GEN_39 = _T_86 ? 1'h0 : _T_89; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262344.6]
+  assign io_port_sck = phy_io_port_sck; // @[SPIMedia.scala 59:15:shc.marmotcaravel.MarmotCaravelConfig.fir@262300.4]
+  assign io_port_dq_0_o = phy_io_port_dq_0_o; // @[SPIMedia.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@262301.4]
+  assign io_port_dq_0_oe = phy_io_port_dq_0_oe; // @[SPIMedia.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@262301.4]
+  assign io_port_dq_1_o = phy_io_port_dq_1_o; // @[SPIMedia.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@262301.4]
+  assign io_port_dq_1_oe = phy_io_port_dq_1_oe; // @[SPIMedia.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@262301.4]
+  assign io_port_dq_2_o = phy_io_port_dq_2_o; // @[SPIMedia.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@262301.4]
+  assign io_port_dq_2_oe = phy_io_port_dq_2_oe; // @[SPIMedia.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@262301.4]
+  assign io_port_dq_3_o = phy_io_port_dq_3_o; // @[SPIMedia.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@262301.4]
+  assign io_port_dq_3_oe = phy_io_port_dq_3_oe; // @[SPIMedia.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@262301.4]
+  assign io_port_cs_0 = cs_dflt_0; // @[SPIMedia.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@262302.4]
+  assign io_link_tx_ready = _T_84 ? _GEN_22 : 1'h0; // @[SPIMedia.scala 64:20:shc.marmotcaravel.MarmotCaravelConfig.fir@262304.4 SPIMedia.scala 83:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262320.10]
+  assign io_link_rx_valid = phy_io_rx_valid; // @[SPIMedia.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@262303.4]
+  assign io_link_rx_bits = phy_io_rx_bits; // @[SPIMedia.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@262303.4]
+  assign io_link_active = cs_assert; // @[SPIMedia.scala 65:18:shc.marmotcaravel.MarmotCaravelConfig.fir@262305.4]
+  assign phy_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262271.4]
+  assign phy_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262272.4]
+  assign phy_io_port_dq_0_i = io_port_dq_0_i; // @[SPIMedia.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@262301.4]
+  assign phy_io_port_dq_1_i = io_port_dq_1_i; // @[SPIMedia.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@262301.4]
+  assign phy_io_port_dq_2_i = io_port_dq_2_i; // @[SPIMedia.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@262301.4]
+  assign phy_io_port_dq_3_i = io_port_dq_3_i; // @[SPIMedia.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@262301.4]
+  assign phy_io_ctrl_sck_div = io_ctrl_sck_div; // @[SPIMedia.scala 34:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262273.4]
+  assign phy_io_ctrl_sck_pol = io_ctrl_sck_pol; // @[SPIMedia.scala 34:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262273.4]
+  assign phy_io_ctrl_sck_pha = io_ctrl_sck_pha; // @[SPIMedia.scala 34:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262273.4]
+  assign phy_io_ctrl_fmt_proto = io_link_fmt_proto; // @[SPIMedia.scala 35:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262274.4]
+  assign phy_io_ctrl_fmt_endian = io_link_fmt_endian; // @[SPIMedia.scala 35:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262274.4]
+  assign phy_io_ctrl_fmt_iodir = io_link_fmt_iodir; // @[SPIMedia.scala 35:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262274.4]
+  assign phy_io_ctrl_extradel_coarse = io_ctrl_extradel_coarse; // @[SPIMedia.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262275.4]
+  assign phy_io_ctrl_sampledel_sd = io_ctrl_sampledel_sd; // @[SPIMedia.scala 37:25:shc.marmotcaravel.MarmotCaravelConfig.fir@262276.4]
+  assign phy_io_op_valid = _T_84 ? _GEN_21 : _GEN_36; // @[SPIMedia.scala 40:12:shc.marmotcaravel.MarmotCaravelConfig.fir@262277.4 SPIMedia.scala 82:20:shc.marmotcaravel.MarmotCaravelConfig.fir@262319.10 SPIMedia.scala 106:16:shc.marmotcaravel.MarmotCaravelConfig.fir@262346.8]
+  assign phy_io_op_bits_fn = _T_84 ? _GEN_19 : 1'h1; // @[SPIMedia.scala 41:14:shc.marmotcaravel.MarmotCaravelConfig.fir@262278.4 SPIMedia.scala 79:22:shc.marmotcaravel.MarmotCaravelConfig.fir@262317.10]
+  assign phy_io_op_bits_stb = _T_84 ? _GEN_20 : _GEN_39; // @[SPIMedia.scala 42:15:shc.marmotcaravel.MarmotCaravelConfig.fir@262279.4 SPIMedia.scala 80:23:shc.marmotcaravel.MarmotCaravelConfig.fir@262318.10 SPIMedia.scala 99:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262338.10 SPIMedia.scala 116:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262357.10]
+  assign phy_io_op_bits_cnt = _T_84 ? _GEN_17 : _GEN_37; // @[SPIMedia.scala 43:15:shc.marmotcaravel.MarmotCaravelConfig.fir@262280.4 SPIMedia.scala 74:23:shc.marmotcaravel.MarmotCaravelConfig.fir@262311.10 SPIMedia.scala 90:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262329.10 SPIMedia.scala 98:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262337.10 SPIMedia.scala 107:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262347.8 SPIMedia.scala 115:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262356.10]
+  assign phy_io_op_bits_data = io_link_tx_bits; // @[SPIMedia.scala 44:16:shc.marmotcaravel.MarmotCaravelConfig.fir@262281.4]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  cs_id = _RAND_0[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  cs_dflt_0 = _RAND_1[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  cs_set = _RAND_2[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  clear = _RAND_3[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  cs_assert = _RAND_4[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  state = _RAND_5[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (_T_84) begin
+      if (!(cs_assert)) begin
+        if (!(io_link_tx_valid)) begin
+          cs_id <= io_ctrl_cs_id;
+        end
+      end
+    end
+    if (_T_84) begin
+      if (!(cs_assert)) begin
+        if (io_link_tx_valid) begin
+          if (phy_io_op_ready) begin
+            cs_dflt_0 <= cs_active_0;
+          end
+        end else begin
+          cs_dflt_0 <= io_ctrl_cs_dflt_0;
+        end
+      end
+    end else begin
+      if (!(_T_86)) begin
+        if (_T_89) begin
+          if (phy_io_op_ready) begin
+            cs_dflt_0 <= _T_92;
+          end
+        end
+      end
+    end
+    if (_T_84) begin
+      if (!(cs_assert)) begin
+        if (io_link_tx_valid) begin
+          if (phy_io_op_ready) begin
+            cs_set <= io_link_cs_set;
+          end
+        end
+      end
+    end
+    if (reset) begin
+      clear <= 1'h0;
+    end else begin
+      if (_T_84) begin
+        clear <= _T_81;
+      end else begin
+        if (_T_86) begin
+          clear <= _T_81;
+        end else begin
+          if (_T_89) begin
+            clear <= 1'h0;
+          end else begin
+            clear <= _T_81;
+          end
+        end
+      end
+    end
+    if (reset) begin
+      cs_assert <= 1'h0;
+    end else begin
+      if (_T_84) begin
+        if (!(cs_assert)) begin
+          if (io_link_tx_valid) begin
+            if (phy_io_op_ready) begin
+              cs_assert <= 1'h1;
+            end
+          end
+        end
+      end else begin
+        if (!(_T_86)) begin
+          if (_T_89) begin
+            cs_assert <= 1'h0;
+          end
+        end
+      end
+    end
+    if (reset) begin
+      state <= 2'h0;
+    end else begin
+      if (_T_84) begin
+        if (cs_assert) begin
+          if (cs_deassert) begin
+            if (phy_io_op_ready) begin
+              state <= 2'h2;
+            end
+          end else begin
+            if (_T_85) begin
+              state <= 2'h1;
+            end
+          end
+        end
+      end else begin
+        if (_T_86) begin
+          if (_T_88) begin
+            state <= 2'h0;
+          end
+        end else begin
+          if (_T_89) begin
+            if (phy_io_op_ready) begin
+              state <= 2'h0;
+            end
+          end
+        end
+      end
+    end
+  end
+endmodule
+module SPIFlashMap( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262372.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262373.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262374.4]
+  input         io_en, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262375.4]
+  input  [1:0]  io_ctrl_insn_cmd_proto, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262375.4]
+  input  [7:0]  io_ctrl_insn_cmd_code, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262375.4]
+  input         io_ctrl_insn_cmd_en, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262375.4]
+  input  [1:0]  io_ctrl_insn_addr_proto, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262375.4]
+  input  [2:0]  io_ctrl_insn_addr_len, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262375.4]
+  input  [7:0]  io_ctrl_insn_pad_code, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262375.4]
+  input  [3:0]  io_ctrl_insn_pad_cnt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262375.4]
+  input  [1:0]  io_ctrl_insn_data_proto, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262375.4]
+  input         io_ctrl_fmt_endian, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262375.4]
+  output        io_addr_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262375.4]
+  input         io_addr_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262375.4]
+  input  [31:0] io_addr_bits_next, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262375.4]
+  input  [31:0] io_addr_bits_hold, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262375.4]
+  input         io_data_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262375.4]
+  output        io_data_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262375.4]
+  output [7:0]  io_data_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262375.4]
+  input         io_link_tx_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262375.4]
+  output        io_link_tx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262375.4]
+  output [7:0]  io_link_tx_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262375.4]
+  input         io_link_rx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262375.4]
+  input  [7:0]  io_link_rx_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262375.4]
+  output [7:0]  io_link_cnt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262375.4]
+  output [1:0]  io_link_fmt_proto, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262375.4]
+  output        io_link_fmt_endian, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262375.4]
+  output        io_link_fmt_iodir, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262375.4]
+  output        io_link_cs_clear, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262375.4]
+  input         io_link_active, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262375.4]
+  output        io_link_lock // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262375.4]
+);
+  wire [31:0] addr; // @[SPIFlash.scala 55:32:shc.marmotcaravel.MarmotCaravelConfig.fir@262381.4]
+  wire  _T_30; // @[SPIFlash.scala 56:52:shc.marmotcaravel.MarmotCaravelConfig.fir@262382.4]
+  wire  merge; // @[SPIFlash.scala 56:30:shc.marmotcaravel.MarmotCaravelConfig.fir@262383.4]
+  wire  _T_31; // @[SPIConsts.scala 13:48:shc.marmotcaravel.MarmotCaravelConfig.fir@262388.4]
+  wire  _T_32; // @[SPIConsts.scala 13:48:shc.marmotcaravel.MarmotCaravelConfig.fir@262389.4]
+  wire  _T_33; // @[SPIConsts.scala 13:48:shc.marmotcaravel.MarmotCaravelConfig.fir@262390.4]
+  wire [3:0] _T_35; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262391.4]
+  wire [2:0] _T_36; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262392.4]
+  wire [1:0] _T_37; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262393.4]
+  wire [3:0] _GEN_73; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262394.4]
+  wire [3:0] _T_38; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262394.4]
+  wire [3:0] _GEN_74; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262395.4]
+  wire [3:0] _T_39; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262395.4]
+  reg [3:0] cnt; // @[SPIFlash.scala 76:16:shc.marmotcaravel.MarmotCaravelConfig.fir@262406.4]
+  reg [31:0] _RAND_0;
+  wire  cnt_cmp_0; // @[SPIFlash.scala 78:48:shc.marmotcaravel.MarmotCaravelConfig.fir@262410.4]
+  wire  cnt_cmp_1; // @[SPIFlash.scala 78:48:shc.marmotcaravel.MarmotCaravelConfig.fir@262411.4]
+  wire  cnt_cmp_2; // @[SPIFlash.scala 78:48:shc.marmotcaravel.MarmotCaravelConfig.fir@262412.4]
+  wire  cnt_cmp_3; // @[SPIFlash.scala 78:48:shc.marmotcaravel.MarmotCaravelConfig.fir@262413.4]
+  wire  cnt_cmp_4; // @[SPIFlash.scala 78:48:shc.marmotcaravel.MarmotCaravelConfig.fir@262414.4]
+  wire  cnt_last; // @[SPIFlash.scala 80:29:shc.marmotcaravel.MarmotCaravelConfig.fir@262415.4]
+  wire  cnt_done; // @[SPIFlash.scala 81:27:shc.marmotcaravel.MarmotCaravelConfig.fir@262416.4]
+  wire  _T_44; // @[SPIFlash.scala 83:25:shc.marmotcaravel.MarmotCaravelConfig.fir@262418.6]
+  wire  _T_45; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@262420.6]
+  wire [4:0] _T_46; // @[SPIFlash.scala 85:18:shc.marmotcaravel.MarmotCaravelConfig.fir@262422.8]
+  wire [4:0] _T_47; // @[SPIFlash.scala 85:18:shc.marmotcaravel.MarmotCaravelConfig.fir@262423.8]
+  wire [3:0] _T_48; // @[SPIFlash.scala 85:18:shc.marmotcaravel.MarmotCaravelConfig.fir@262424.8]
+  reg [2:0] state; // @[SPIFlash.scala 90:18:shc.marmotcaravel.MarmotCaravelConfig.fir@262428.4]
+  reg [31:0] _RAND_1;
+  wire  _T_51; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@262429.4]
+  wire  _T_53; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@262457.6]
+  wire  _T_54; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@262467.8]
+  wire  _GEN_54; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262458.6]
+  wire  cnt_en; // @[Conditional.scala 40:58:shc.marmotcaravel.MarmotCaravelConfig.fir@262430.4]
+  wire  _GEN_1; // @[SPIFlash.scala 82:17:shc.marmotcaravel.MarmotCaravelConfig.fir@262417.4]
+  wire  _GEN_4; // @[SPIFlash.scala 98:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262435.10]
+  wire  _GEN_6; // @[SPIFlash.scala 97:30:shc.marmotcaravel.MarmotCaravelConfig.fir@262434.8]
+  wire  _GEN_11; // @[SPIFlash.scala 95:20:shc.marmotcaravel.MarmotCaravelConfig.fir@262432.6]
+  wire  _GEN_12; // @[SPIFlash.scala 95:20:shc.marmotcaravel.MarmotCaravelConfig.fir@262432.6]
+  wire [7:0] _T_55; // @[SPIFlash.scala 130:33:shc.marmotcaravel.MarmotCaravelConfig.fir@262469.10]
+  wire [7:0] _T_56; // @[SPIFlash.scala 130:33:shc.marmotcaravel.MarmotCaravelConfig.fir@262470.10]
+  wire [7:0] _T_57; // @[SPIFlash.scala 130:33:shc.marmotcaravel.MarmotCaravelConfig.fir@262471.10]
+  wire [7:0] _T_58; // @[SPIFlash.scala 130:33:shc.marmotcaravel.MarmotCaravelConfig.fir@262472.10]
+  wire [7:0] _T_60; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262473.10]
+  wire [7:0] _T_61; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262474.10]
+  wire [7:0] _T_62; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262475.10]
+  wire [7:0] _T_63; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262476.10]
+  wire [7:0] _T_64; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262477.10]
+  wire [7:0] _T_65; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262478.10]
+  wire [7:0] _T_66; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262479.10]
+  wire  _T_69; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@262489.10]
+  wire  _T_70; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@262498.12]
+  wire  _T_71; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@262507.14]
+  wire  _T_72; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@262511.16]
+  wire  _T_73; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@262517.16]
+  wire [7:0] _GEN_21; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262518.16]
+  wire  _GEN_23; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262508.14]
+  wire  _GEN_24; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262508.14]
+  wire [7:0] _GEN_26; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262508.14]
+  wire [1:0] _GEN_27; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262499.12]
+  wire  _GEN_28; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262499.12]
+  wire  _GEN_30; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262499.12]
+  wire  _GEN_31; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262499.12]
+  wire [7:0] _GEN_32; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262499.12]
+  wire [3:0] _GEN_33; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262490.10]
+  wire [1:0] _GEN_36; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262490.10]
+  wire  _GEN_37; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262490.10]
+  wire  _GEN_38; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262490.10]
+  wire  _GEN_39; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262490.10]
+  wire [7:0] _GEN_40; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262490.10]
+  wire [7:0] _GEN_41; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262468.8]
+  wire [3:0] _GEN_44; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262468.8]
+  wire [1:0] _GEN_45; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262468.8]
+  wire  _GEN_46; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262468.8]
+  wire  _GEN_47; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262468.8]
+  wire  _GEN_48; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262468.8]
+  wire [7:0] _GEN_49; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262468.8]
+  wire [1:0] _GEN_50; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262458.6]
+  wire [3:0] _GEN_55; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262458.6]
+  wire  _GEN_56; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262458.6]
+  wire  _GEN_57; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262458.6]
+  wire  _GEN_58; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262458.6]
+  wire [7:0] _GEN_59; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262458.6]
+  wire [3:0] _GEN_69; // @[Conditional.scala 40:58:shc.marmotcaravel.MarmotCaravelConfig.fir@262430.4]
+  assign addr = io_addr_bits_hold + 32'h1; // @[SPIFlash.scala 55:32:shc.marmotcaravel.MarmotCaravelConfig.fir@262381.4]
+  assign _T_30 = io_addr_bits_next == addr; // @[SPIFlash.scala 56:52:shc.marmotcaravel.MarmotCaravelConfig.fir@262382.4]
+  assign merge = io_link_active & _T_30; // @[SPIFlash.scala 56:30:shc.marmotcaravel.MarmotCaravelConfig.fir@262383.4]
+  assign _T_31 = 2'h0 == io_link_fmt_proto; // @[SPIConsts.scala 13:48:shc.marmotcaravel.MarmotCaravelConfig.fir@262388.4]
+  assign _T_32 = 2'h1 == io_link_fmt_proto; // @[SPIConsts.scala 13:48:shc.marmotcaravel.MarmotCaravelConfig.fir@262389.4]
+  assign _T_33 = 2'h2 == io_link_fmt_proto; // @[SPIConsts.scala 13:48:shc.marmotcaravel.MarmotCaravelConfig.fir@262390.4]
+  assign _T_35 = _T_31 ? 4'h8 : 4'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262391.4]
+  assign _T_36 = _T_32 ? 3'h4 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262392.4]
+  assign _T_37 = _T_33 ? 2'h2 : 2'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262393.4]
+  assign _GEN_73 = {{1'd0}, _T_36}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262394.4]
+  assign _T_38 = _T_35 | _GEN_73; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262394.4]
+  assign _GEN_74 = {{2'd0}, _T_37}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262395.4]
+  assign _T_39 = _T_38 | _GEN_74; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262395.4]
+  assign cnt_cmp_0 = cnt == 4'h0; // @[SPIFlash.scala 78:48:shc.marmotcaravel.MarmotCaravelConfig.fir@262410.4]
+  assign cnt_cmp_1 = cnt == 4'h1; // @[SPIFlash.scala 78:48:shc.marmotcaravel.MarmotCaravelConfig.fir@262411.4]
+  assign cnt_cmp_2 = cnt == 4'h2; // @[SPIFlash.scala 78:48:shc.marmotcaravel.MarmotCaravelConfig.fir@262412.4]
+  assign cnt_cmp_3 = cnt == 4'h3; // @[SPIFlash.scala 78:48:shc.marmotcaravel.MarmotCaravelConfig.fir@262413.4]
+  assign cnt_cmp_4 = cnt == 4'h4; // @[SPIFlash.scala 78:48:shc.marmotcaravel.MarmotCaravelConfig.fir@262414.4]
+  assign cnt_last = cnt_cmp_1 & io_link_tx_ready; // @[SPIFlash.scala 80:29:shc.marmotcaravel.MarmotCaravelConfig.fir@262415.4]
+  assign cnt_done = cnt_last | cnt_cmp_0; // @[SPIFlash.scala 81:27:shc.marmotcaravel.MarmotCaravelConfig.fir@262416.4]
+  assign _T_44 = cnt_cmp_0 == 1'h0; // @[SPIFlash.scala 83:25:shc.marmotcaravel.MarmotCaravelConfig.fir@262418.6]
+  assign _T_45 = io_link_tx_ready & io_link_tx_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@262420.6]
+  assign _T_46 = cnt - 4'h1; // @[SPIFlash.scala 85:18:shc.marmotcaravel.MarmotCaravelConfig.fir@262422.8]
+  assign _T_47 = $unsigned(_T_46); // @[SPIFlash.scala 85:18:shc.marmotcaravel.MarmotCaravelConfig.fir@262423.8]
+  assign _T_48 = _T_47[3:0]; // @[SPIFlash.scala 85:18:shc.marmotcaravel.MarmotCaravelConfig.fir@262424.8]
+  assign _T_51 = 3'h0 == state; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@262429.4]
+  assign _T_53 = 3'h1 == state; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@262457.6]
+  assign _T_54 = 3'h2 == state; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@262467.8]
+  assign _GEN_54 = _T_53 ? 1'h0 : _T_54; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262458.6]
+  assign cnt_en = _T_51 ? 1'h0 : _GEN_54; // @[Conditional.scala 40:58:shc.marmotcaravel.MarmotCaravelConfig.fir@262430.4]
+  assign _GEN_1 = cnt_en ? _T_44 : 1'h1; // @[SPIFlash.scala 82:17:shc.marmotcaravel.MarmotCaravelConfig.fir@262417.4]
+  assign _GEN_4 = merge ? 1'h0 : 1'h1; // @[SPIFlash.scala 98:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262435.10]
+  assign _GEN_6 = io_addr_valid ? _GEN_4 : 1'h0; // @[SPIFlash.scala 97:30:shc.marmotcaravel.MarmotCaravelConfig.fir@262434.8]
+  assign _GEN_11 = io_en ? _GEN_6 : 1'h0; // @[SPIFlash.scala 95:20:shc.marmotcaravel.MarmotCaravelConfig.fir@262432.6]
+  assign _GEN_12 = io_en ? io_addr_valid : 1'h0; // @[SPIFlash.scala 95:20:shc.marmotcaravel.MarmotCaravelConfig.fir@262432.6]
+  assign _T_55 = io_addr_bits_hold[7:0]; // @[SPIFlash.scala 130:33:shc.marmotcaravel.MarmotCaravelConfig.fir@262469.10]
+  assign _T_56 = io_addr_bits_hold[15:8]; // @[SPIFlash.scala 130:33:shc.marmotcaravel.MarmotCaravelConfig.fir@262470.10]
+  assign _T_57 = io_addr_bits_hold[23:16]; // @[SPIFlash.scala 130:33:shc.marmotcaravel.MarmotCaravelConfig.fir@262471.10]
+  assign _T_58 = io_addr_bits_hold[31:24]; // @[SPIFlash.scala 130:33:shc.marmotcaravel.MarmotCaravelConfig.fir@262472.10]
+  assign _T_60 = cnt_cmp_1 ? _T_55 : 8'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262473.10]
+  assign _T_61 = cnt_cmp_2 ? _T_56 : 8'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262474.10]
+  assign _T_62 = cnt_cmp_3 ? _T_57 : 8'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262475.10]
+  assign _T_63 = cnt_cmp_4 ? _T_58 : 8'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262476.10]
+  assign _T_64 = _T_60 | _T_61; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262477.10]
+  assign _T_65 = _T_64 | _T_62; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262478.10]
+  assign _T_66 = _T_65 | _T_63; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262479.10]
+  assign _T_69 = 3'h3 == state; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@262489.10]
+  assign _T_70 = 3'h4 == state; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@262498.12]
+  assign _T_71 = 3'h5 == state; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@262507.14]
+  assign _T_72 = io_data_ready & io_data_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@262511.16]
+  assign _T_73 = 3'h6 == state; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@262517.16]
+  assign _GEN_21 = _T_73 ? 8'h0 : io_link_rx_bits; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262518.16]
+  assign _GEN_23 = _T_71 ? 1'h0 : _GEN_1; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262508.14]
+  assign _GEN_24 = _T_71 ? io_link_rx_valid : _T_73; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262508.14]
+  assign _GEN_26 = _T_71 ? io_link_rx_bits : _GEN_21; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262508.14]
+  assign _GEN_27 = _T_70 ? io_ctrl_insn_data_proto : io_ctrl_insn_addr_proto; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262499.12]
+  assign _GEN_28 = _T_70 ? 1'h0 : 1'h1; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262499.12]
+  assign _GEN_30 = _T_70 ? _GEN_1 : _GEN_23; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262499.12]
+  assign _GEN_31 = _T_70 ? 1'h0 : _GEN_24; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262499.12]
+  assign _GEN_32 = _T_70 ? io_link_rx_bits : _GEN_26; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262499.12]
+  assign _GEN_33 = _T_69 ? io_ctrl_insn_pad_cnt : _T_39; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262490.10]
+  assign _GEN_36 = _T_69 ? io_ctrl_insn_addr_proto : _GEN_27; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262490.10]
+  assign _GEN_37 = _T_69 ? 1'h1 : _GEN_28; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262490.10]
+  assign _GEN_38 = _T_69 ? _GEN_1 : _GEN_30; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262490.10]
+  assign _GEN_39 = _T_69 ? 1'h0 : _GEN_31; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262490.10]
+  assign _GEN_40 = _T_69 ? io_link_rx_bits : _GEN_32; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262490.10]
+  assign _GEN_41 = _T_54 ? _T_66 : io_ctrl_insn_pad_code; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262468.8]
+  assign _GEN_44 = _T_54 ? _T_39 : _GEN_33; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262468.8]
+  assign _GEN_45 = _T_54 ? io_ctrl_insn_addr_proto : _GEN_36; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262468.8]
+  assign _GEN_46 = _T_54 ? 1'h1 : _GEN_37; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262468.8]
+  assign _GEN_47 = _T_54 ? _GEN_1 : _GEN_38; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262468.8]
+  assign _GEN_48 = _T_54 ? 1'h0 : _GEN_39; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262468.8]
+  assign _GEN_49 = _T_54 ? io_link_rx_bits : _GEN_40; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262468.8]
+  assign _GEN_50 = _T_53 ? io_ctrl_insn_cmd_proto : _GEN_45; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262458.6]
+  assign _GEN_55 = _T_53 ? _T_39 : _GEN_44; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262458.6]
+  assign _GEN_56 = _T_53 ? 1'h1 : _GEN_46; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262458.6]
+  assign _GEN_57 = _T_53 ? _GEN_1 : _GEN_47; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262458.6]
+  assign _GEN_58 = _T_53 ? 1'h0 : _GEN_48; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262458.6]
+  assign _GEN_59 = _T_53 ? io_link_rx_bits : _GEN_49; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262458.6]
+  assign _GEN_69 = _T_51 ? _T_39 : _GEN_55; // @[Conditional.scala 40:58:shc.marmotcaravel.MarmotCaravelConfig.fir@262430.4]
+  assign io_addr_ready = 3'h0 == state; // @[SPIFlash.scala 72:17:shc.marmotcaravel.MarmotCaravelConfig.fir@262403.4 SPIFlash.scala 96:23:shc.marmotcaravel.MarmotCaravelConfig.fir@262433.8 SPIFlash.scala 108:23:shc.marmotcaravel.MarmotCaravelConfig.fir@262449.8]
+  assign io_data_valid = _T_51 ? 1'h0 : _GEN_58; // @[SPIFlash.scala 73:17:shc.marmotcaravel.MarmotCaravelConfig.fir@262404.4 SPIFlash.scala 157:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262510.16 SPIFlash.scala 164:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262519.18]
+  assign io_data_bits = _T_51 ? io_link_rx_bits : _GEN_59; // @[SPIFlash.scala 74:16:shc.marmotcaravel.MarmotCaravelConfig.fir@262405.4 SPIFlash.scala 165:20:shc.marmotcaravel.MarmotCaravelConfig.fir@262520.18]
+  assign io_link_tx_valid = _T_51 ? 1'h0 : _GEN_57; // @[SPIFlash.scala 59:20:shc.marmotcaravel.MarmotCaravelConfig.fir@262384.4 SPIFlash.scala 83:22:shc.marmotcaravel.MarmotCaravelConfig.fir@262419.6 SPIFlash.scala 94:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262431.6 SPIFlash.scala 156:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262509.16]
+  assign io_link_tx_bits = _T_53 ? io_ctrl_insn_cmd_code : _GEN_41; // @[SPIFlash.scala 118:23:shc.marmotcaravel.MarmotCaravelConfig.fir@262460.8 SPIFlash.scala 126:23:shc.marmotcaravel.MarmotCaravelConfig.fir@262482.10 SPIFlash.scala 141:23:shc.marmotcaravel.MarmotCaravelConfig.fir@262492.12]
+  assign io_link_cnt = {{4'd0}, _GEN_69}; // @[SPIFlash.scala 63:15:shc.marmotcaravel.MarmotCaravelConfig.fir@262398.4 SPIFlash.scala 140:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262491.12]
+  assign io_link_fmt_proto = _T_51 ? io_ctrl_insn_addr_proto : _GEN_50; // @[SPIFlash.scala 60:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262385.4 SPIFlash.scala 117:25:shc.marmotcaravel.MarmotCaravelConfig.fir@262459.8 SPIFlash.scala 148:25:shc.marmotcaravel.MarmotCaravelConfig.fir@262500.14]
+  assign io_link_fmt_endian = io_ctrl_fmt_endian; // @[SPIFlash.scala 62:22:shc.marmotcaravel.MarmotCaravelConfig.fir@262387.4]
+  assign io_link_fmt_iodir = _T_51 ? 1'h1 : _GEN_56; // @[SPIFlash.scala 61:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262386.4 SPIFlash.scala 149:25:shc.marmotcaravel.MarmotCaravelConfig.fir@262501.14]
+  assign io_link_cs_clear = _T_51 ? _GEN_11 : 1'h0; // @[SPIFlash.scala 68:20:shc.marmotcaravel.MarmotCaravelConfig.fir@262400.4 SPIFlash.scala 102:30:shc.marmotcaravel.MarmotCaravelConfig.fir@262441.12]
+  assign io_link_lock = _T_51 ? _GEN_12 : 1'h1; // @[SPIFlash.scala 70:16:shc.marmotcaravel.MarmotCaravelConfig.fir@262402.4 SPIFlash.scala 105:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262445.10 SPIFlash.scala 109:22:shc.marmotcaravel.MarmotCaravelConfig.fir@262450.8]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  cnt = _RAND_0[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  state = _RAND_1[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (_T_51) begin
+      if (cnt_en) begin
+        if (_T_45) begin
+          cnt <= _T_48;
+        end
+      end
+    end else begin
+      if (_T_53) begin
+        if (io_link_tx_ready) begin
+          cnt <= {{1'd0}, io_ctrl_insn_addr_len};
+        end else begin
+          if (cnt_en) begin
+            if (_T_45) begin
+              cnt <= _T_48;
+            end
+          end
+        end
+      end else begin
+        if (cnt_en) begin
+          if (_T_45) begin
+            cnt <= _T_48;
+          end
+        end
+      end
+    end
+    if (reset) begin
+      state <= 3'h0;
+    end else begin
+      if (_T_51) begin
+        if (io_en) begin
+          if (io_addr_valid) begin
+            if (merge) begin
+              state <= 3'h4;
+            end else begin
+              if (io_ctrl_insn_cmd_en) begin
+                state <= 3'h1;
+              end else begin
+                state <= 3'h2;
+              end
+            end
+          end
+        end else begin
+          if (io_addr_valid) begin
+            state <= 3'h6;
+          end
+        end
+      end else begin
+        if (_T_53) begin
+          if (io_link_tx_ready) begin
+            state <= 3'h2;
+          end
+        end else begin
+          if (_T_54) begin
+            if (cnt_done) begin
+              state <= 3'h3;
+            end
+          end else begin
+            if (_T_69) begin
+              if (io_link_tx_ready) begin
+                state <= 3'h4;
+              end
+            end else begin
+              if (_T_70) begin
+                if (io_link_tx_ready) begin
+                  state <= 3'h5;
+                end
+              end else begin
+                if (_T_71) begin
+                  if (_T_72) begin
+                    state <= 3'h0;
+                  end
+                end else begin
+                  if (_T_73) begin
+                    if (io_data_ready) begin
+                      state <= 3'h0;
+                    end
+                  end
+                end
+              end
+            end
+          end
+        end
+      end
+    end
+  end
+endmodule
+module SPIArbiter( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262526.2]
+  input        clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262527.4]
+  input        reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262528.4]
+  output       io_inner_0_tx_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262529.4]
+  input        io_inner_0_tx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262529.4]
+  input  [7:0] io_inner_0_tx_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262529.4]
+  output       io_inner_0_rx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262529.4]
+  output [7:0] io_inner_0_rx_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262529.4]
+  input  [7:0] io_inner_0_cnt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262529.4]
+  input  [1:0] io_inner_0_fmt_proto, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262529.4]
+  input        io_inner_0_fmt_endian, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262529.4]
+  input        io_inner_0_fmt_iodir, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262529.4]
+  input        io_inner_0_cs_clear, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262529.4]
+  output       io_inner_0_active, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262529.4]
+  input        io_inner_0_lock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262529.4]
+  output       io_inner_1_tx_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262529.4]
+  input        io_inner_1_tx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262529.4]
+  input  [7:0] io_inner_1_tx_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262529.4]
+  output       io_inner_1_rx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262529.4]
+  output [7:0] io_inner_1_rx_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262529.4]
+  input  [7:0] io_inner_1_cnt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262529.4]
+  input  [1:0] io_inner_1_fmt_proto, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262529.4]
+  input        io_inner_1_fmt_endian, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262529.4]
+  input        io_inner_1_fmt_iodir, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262529.4]
+  input        io_inner_1_cs_set, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262529.4]
+  input        io_inner_1_cs_clear, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262529.4]
+  input        io_inner_1_lock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262529.4]
+  input        io_outer_tx_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262529.4]
+  output       io_outer_tx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262529.4]
+  output [7:0] io_outer_tx_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262529.4]
+  input        io_outer_rx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262529.4]
+  input  [7:0] io_outer_rx_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262529.4]
+  output [7:0] io_outer_cnt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262529.4]
+  output [1:0] io_outer_fmt_proto, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262529.4]
+  output       io_outer_fmt_endian, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262529.4]
+  output       io_outer_fmt_iodir, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262529.4]
+  output       io_outer_cs_set, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262529.4]
+  output       io_outer_cs_clear, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262529.4]
+  output       io_outer_cs_hold, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262529.4]
+  input        io_outer_active, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262529.4]
+  input        io_sel // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262529.4]
+);
+  reg  sel_0; // @[SPIArbiter.scala 17:16:shc.marmotcaravel.MarmotCaravelConfig.fir@262538.4]
+  reg [31:0] _RAND_0;
+  reg  sel_1; // @[SPIArbiter.scala 17:16:shc.marmotcaravel.MarmotCaravelConfig.fir@262538.4]
+  reg [31:0] _RAND_1;
+  wire  _T_192; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262539.4]
+  wire  _T_193; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262540.4]
+  wire [7:0] _T_198; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262545.4]
+  wire [7:0] _T_199; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262546.4]
+  wire [7:0] _T_204; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262551.4]
+  wire [7:0] _T_205; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262552.4]
+  wire [2:0] _T_210; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262557.4]
+  wire [3:0] _T_211; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262558.4]
+  wire [3:0] _T_212; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262559.4]
+  wire [2:0] _T_213; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262560.4]
+  wire [3:0] _T_214; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262561.4]
+  wire [3:0] _T_215; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262562.4]
+  wire [3:0] _T_216; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262563.4]
+  wire  _T_224_clear; // @[SPIArbiter.scala 24:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262574.4]
+  wire  nsel_0; // @[SPIArbiter.scala 34:37:shc.marmotcaravel.MarmotCaravelConfig.fir@262590.4]
+  wire  _T_244; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262596.4]
+  wire  _T_245; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262597.4]
+  wire  lock; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262598.4]
+  wire  _T_248; // @[SPIArbiter.scala 36:9:shc.marmotcaravel.MarmotCaravelConfig.fir@262601.4]
+  wire [1:0] _T_249; // @[SPIArbiter.scala 38:15:shc.marmotcaravel.MarmotCaravelConfig.fir@262604.6]
+  wire [1:0] _T_250; // @[SPIArbiter.scala 38:31:shc.marmotcaravel.MarmotCaravelConfig.fir@262605.6]
+  wire  _T_251; // @[SPIArbiter.scala 38:22:shc.marmotcaravel.MarmotCaravelConfig.fir@262606.6]
+  wire  _GEN_0; // @[SPIArbiter.scala 38:39:shc.marmotcaravel.MarmotCaravelConfig.fir@262607.6]
+  assign _T_192 = sel_0 ? io_inner_0_tx_valid : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262539.4]
+  assign _T_193 = sel_1 ? io_inner_1_tx_valid : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262540.4]
+  assign _T_198 = sel_0 ? io_inner_0_tx_bits : 8'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262545.4]
+  assign _T_199 = sel_1 ? io_inner_1_tx_bits : 8'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262546.4]
+  assign _T_204 = sel_0 ? io_inner_0_cnt : 8'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262551.4]
+  assign _T_205 = sel_1 ? io_inner_1_cnt : 8'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262552.4]
+  assign _T_210 = {io_inner_0_fmt_proto,io_inner_0_fmt_endian}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262557.4]
+  assign _T_211 = {_T_210,io_inner_0_fmt_iodir}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262558.4]
+  assign _T_212 = sel_0 ? _T_211 : 4'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262559.4]
+  assign _T_213 = {io_inner_1_fmt_proto,io_inner_1_fmt_endian}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262560.4]
+  assign _T_214 = {_T_213,io_inner_1_fmt_iodir}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262561.4]
+  assign _T_215 = sel_1 ? _T_214 : 4'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262562.4]
+  assign _T_216 = _T_212 | _T_215; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262563.4]
+  assign _T_224_clear = sel_0 ? io_inner_0_cs_clear : io_inner_1_cs_clear; // @[SPIArbiter.scala 24:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262574.4]
+  assign nsel_0 = io_sel == 1'h0; // @[SPIArbiter.scala 34:37:shc.marmotcaravel.MarmotCaravelConfig.fir@262590.4]
+  assign _T_244 = sel_0 ? io_inner_0_lock : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262596.4]
+  assign _T_245 = sel_1 ? io_inner_1_lock : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262597.4]
+  assign lock = _T_244 | _T_245; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262598.4]
+  assign _T_248 = lock == 1'h0; // @[SPIArbiter.scala 36:9:shc.marmotcaravel.MarmotCaravelConfig.fir@262601.4]
+  assign _T_249 = {sel_1,sel_0}; // @[SPIArbiter.scala 38:15:shc.marmotcaravel.MarmotCaravelConfig.fir@262604.6]
+  assign _T_250 = {io_sel,nsel_0}; // @[SPIArbiter.scala 38:31:shc.marmotcaravel.MarmotCaravelConfig.fir@262605.6]
+  assign _T_251 = _T_249 != _T_250; // @[SPIArbiter.scala 38:22:shc.marmotcaravel.MarmotCaravelConfig.fir@262606.6]
+  assign _GEN_0 = _T_251 ? 1'h1 : _T_224_clear; // @[SPIArbiter.scala 38:39:shc.marmotcaravel.MarmotCaravelConfig.fir@262607.6]
+  assign io_inner_0_tx_ready = io_outer_tx_ready & sel_0; // @[SPIArbiter.scala 28:20:shc.marmotcaravel.MarmotCaravelConfig.fir@262577.4]
+  assign io_inner_0_rx_valid = io_outer_rx_valid & sel_0; // @[SPIArbiter.scala 29:20:shc.marmotcaravel.MarmotCaravelConfig.fir@262579.4]
+  assign io_inner_0_rx_bits = io_outer_rx_bits; // @[SPIArbiter.scala 30:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262580.4]
+  assign io_inner_0_active = io_outer_active & sel_0; // @[SPIArbiter.scala 31:18:shc.marmotcaravel.MarmotCaravelConfig.fir@262582.4]
+  assign io_inner_1_tx_ready = io_outer_tx_ready & sel_1; // @[SPIArbiter.scala 28:20:shc.marmotcaravel.MarmotCaravelConfig.fir@262584.4]
+  assign io_inner_1_rx_valid = io_outer_rx_valid & sel_1; // @[SPIArbiter.scala 29:20:shc.marmotcaravel.MarmotCaravelConfig.fir@262586.4]
+  assign io_inner_1_rx_bits = io_outer_rx_bits; // @[SPIArbiter.scala 30:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262587.4]
+  assign io_outer_tx_valid = _T_192 | _T_193; // @[SPIArbiter.scala 19:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262544.4]
+  assign io_outer_tx_bits = _T_198 | _T_199; // @[SPIArbiter.scala 20:20:shc.marmotcaravel.MarmotCaravelConfig.fir@262550.4]
+  assign io_outer_cnt = _T_204 | _T_205; // @[SPIArbiter.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@262556.4]
+  assign io_outer_fmt_proto = _T_216[3:2]; // @[SPIArbiter.scala 22:16:shc.marmotcaravel.MarmotCaravelConfig.fir@262573.4]
+  assign io_outer_fmt_endian = _T_216[1]; // @[SPIArbiter.scala 22:16:shc.marmotcaravel.MarmotCaravelConfig.fir@262573.4]
+  assign io_outer_fmt_iodir = _T_216[0]; // @[SPIArbiter.scala 22:16:shc.marmotcaravel.MarmotCaravelConfig.fir@262573.4]
+  assign io_outer_cs_set = sel_0 ? 1'h1 : io_inner_1_cs_set; // @[SPIArbiter.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@262575.4]
+  assign io_outer_cs_clear = _T_248 ? _GEN_0 : _T_224_clear; // @[SPIArbiter.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@262575.4 SPIArbiter.scala 39:25:shc.marmotcaravel.MarmotCaravelConfig.fir@262608.8]
+  assign io_outer_cs_hold = sel_0; // @[SPIArbiter.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@262575.4]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  sel_0 = _RAND_0[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  sel_1 = _RAND_1[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      sel_0 <= 1'h1;
+    end else begin
+      if (_T_248) begin
+        sel_0 <= nsel_0;
+      end
+    end
+    if (reset) begin
+      sel_1 <= 1'h0;
+    end else begin
+      if (_T_248) begin
+        sel_1 <= io_sel;
+      end
+    end
+  end
+endmodule
+module TLSPIFlash( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262612.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262613.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262614.4]
+  output        auto_int_xing_out_sync_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262615.4]
+  output        auto_mem_xing_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262615.4]
+  input         auto_mem_xing_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262615.4]
+  input  [2:0]  auto_mem_xing_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262615.4]
+  input  [2:0]  auto_mem_xing_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262615.4]
+  input         auto_mem_xing_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262615.4]
+  input  [7:0]  auto_mem_xing_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262615.4]
+  input  [29:0] auto_mem_xing_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262615.4]
+  input         auto_mem_xing_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262615.4]
+  input         auto_mem_xing_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262615.4]
+  input         auto_mem_xing_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262615.4]
+  output        auto_mem_xing_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262615.4]
+  output        auto_mem_xing_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262615.4]
+  output [7:0]  auto_mem_xing_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262615.4]
+  output [7:0]  auto_mem_xing_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262615.4]
+  output        auto_control_xing_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262615.4]
+  input         auto_control_xing_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262615.4]
+  input  [2:0]  auto_control_xing_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262615.4]
+  input  [2:0]  auto_control_xing_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262615.4]
+  input  [1:0]  auto_control_xing_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262615.4]
+  input  [5:0]  auto_control_xing_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262615.4]
+  input  [28:0] auto_control_xing_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262615.4]
+  input  [3:0]  auto_control_xing_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262615.4]
+  input  [31:0] auto_control_xing_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262615.4]
+  input         auto_control_xing_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262615.4]
+  input         auto_control_xing_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262615.4]
+  output        auto_control_xing_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262615.4]
+  output [2:0]  auto_control_xing_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262615.4]
+  output [1:0]  auto_control_xing_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262615.4]
+  output [5:0]  auto_control_xing_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262615.4]
+  output [31:0] auto_control_xing_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262615.4]
+  output        auto_io_out_sck, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262615.4]
+  input         auto_io_out_dq_0_i, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262615.4]
+  output        auto_io_out_dq_0_o, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262615.4]
+  output        auto_io_out_dq_0_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262615.4]
+  input         auto_io_out_dq_1_i, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262615.4]
+  output        auto_io_out_dq_1_o, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262615.4]
+  output        auto_io_out_dq_1_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262615.4]
+  input         auto_io_out_dq_2_i, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262615.4]
+  output        auto_io_out_dq_2_o, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262615.4]
+  output        auto_io_out_dq_2_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262615.4]
+  input         auto_io_out_dq_3_i, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262615.4]
+  output        auto_io_out_dq_3_o, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262615.4]
+  output        auto_io_out_dq_3_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262615.4]
+  output        auto_io_out_cs_0 // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262615.4]
+);
+  wire  buffer_clock; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262620.4]
+  wire  buffer_reset; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262620.4]
+  wire  buffer_auto_in_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262620.4]
+  wire  buffer_auto_in_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262620.4]
+  wire [2:0] buffer_auto_in_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262620.4]
+  wire [2:0] buffer_auto_in_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262620.4]
+  wire [1:0] buffer_auto_in_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262620.4]
+  wire [5:0] buffer_auto_in_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262620.4]
+  wire [28:0] buffer_auto_in_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262620.4]
+  wire [3:0] buffer_auto_in_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262620.4]
+  wire [31:0] buffer_auto_in_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262620.4]
+  wire  buffer_auto_in_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262620.4]
+  wire  buffer_auto_in_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262620.4]
+  wire  buffer_auto_in_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262620.4]
+  wire [2:0] buffer_auto_in_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262620.4]
+  wire [1:0] buffer_auto_in_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262620.4]
+  wire [5:0] buffer_auto_in_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262620.4]
+  wire [31:0] buffer_auto_in_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262620.4]
+  wire  buffer_auto_out_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262620.4]
+  wire  buffer_auto_out_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262620.4]
+  wire [2:0] buffer_auto_out_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262620.4]
+  wire [2:0] buffer_auto_out_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262620.4]
+  wire [1:0] buffer_auto_out_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262620.4]
+  wire [5:0] buffer_auto_out_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262620.4]
+  wire [28:0] buffer_auto_out_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262620.4]
+  wire [3:0] buffer_auto_out_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262620.4]
+  wire [31:0] buffer_auto_out_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262620.4]
+  wire  buffer_auto_out_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262620.4]
+  wire  buffer_auto_out_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262620.4]
+  wire  buffer_auto_out_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262620.4]
+  wire [2:0] buffer_auto_out_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262620.4]
+  wire [1:0] buffer_auto_out_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262620.4]
+  wire [5:0] buffer_auto_out_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262620.4]
+  wire [31:0] buffer_auto_out_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262620.4]
+  wire  buffer_1_clock; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262626.4]
+  wire  buffer_1_reset; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262626.4]
+  wire  buffer_1_auto_in_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262626.4]
+  wire  buffer_1_auto_in_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262626.4]
+  wire [2:0] buffer_1_auto_in_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262626.4]
+  wire [2:0] buffer_1_auto_in_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262626.4]
+  wire  buffer_1_auto_in_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262626.4]
+  wire [7:0] buffer_1_auto_in_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262626.4]
+  wire [29:0] buffer_1_auto_in_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262626.4]
+  wire  buffer_1_auto_in_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262626.4]
+  wire  buffer_1_auto_in_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262626.4]
+  wire  buffer_1_auto_in_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262626.4]
+  wire  buffer_1_auto_in_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262626.4]
+  wire  buffer_1_auto_in_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262626.4]
+  wire [7:0] buffer_1_auto_in_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262626.4]
+  wire [7:0] buffer_1_auto_in_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262626.4]
+  wire  buffer_1_auto_out_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262626.4]
+  wire  buffer_1_auto_out_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262626.4]
+  wire [2:0] buffer_1_auto_out_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262626.4]
+  wire [2:0] buffer_1_auto_out_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262626.4]
+  wire  buffer_1_auto_out_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262626.4]
+  wire [7:0] buffer_1_auto_out_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262626.4]
+  wire [29:0] buffer_1_auto_out_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262626.4]
+  wire  buffer_1_auto_out_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262626.4]
+  wire  buffer_1_auto_out_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262626.4]
+  wire  buffer_1_auto_out_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262626.4]
+  wire  buffer_1_auto_out_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262626.4]
+  wire  buffer_1_auto_out_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262626.4]
+  wire [7:0] buffer_1_auto_out_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262626.4]
+  wire [7:0] buffer_1_auto_out_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262626.4]
+  wire  intsource_clock; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@262632.4]
+  wire  intsource_reset; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@262632.4]
+  wire  intsource_auto_in_0; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@262632.4]
+  wire  intsource_auto_out_sync_0; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@262632.4]
+  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@262644.4]
+  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@262644.4]
+  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@262644.4]
+  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@262644.4]
+  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@262644.4]
+  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@262644.4]
+  wire  TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@262644.4]
+  wire [7:0] TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@262644.4]
+  wire [29:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@262644.4]
+  wire  TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@262644.4]
+  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@262644.4]
+  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@262644.4]
+  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@262644.4]
+  wire  TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@262644.4]
+  wire [7:0] TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@262644.4]
+  wire  TLMonitor_1_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@262683.4]
+  wire  TLMonitor_1_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@262683.4]
+  wire  TLMonitor_1_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@262683.4]
+  wire  TLMonitor_1_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@262683.4]
+  wire [2:0] TLMonitor_1_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@262683.4]
+  wire [2:0] TLMonitor_1_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@262683.4]
+  wire [1:0] TLMonitor_1_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@262683.4]
+  wire [5:0] TLMonitor_1_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@262683.4]
+  wire [28:0] TLMonitor_1_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@262683.4]
+  wire [3:0] TLMonitor_1_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@262683.4]
+  wire  TLMonitor_1_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@262683.4]
+  wire  TLMonitor_1_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@262683.4]
+  wire  TLMonitor_1_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@262683.4]
+  wire [2:0] TLMonitor_1_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@262683.4]
+  wire [1:0] TLMonitor_1_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@262683.4]
+  wire [5:0] TLMonitor_1_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@262683.4]
+  wire  fifo_clock; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@262767.4]
+  wire  fifo_reset; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@262767.4]
+  wire [1:0] fifo_io_ctrl_fmt_proto; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@262767.4]
+  wire  fifo_io_ctrl_fmt_endian; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@262767.4]
+  wire  fifo_io_ctrl_fmt_iodir; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@262767.4]
+  wire [3:0] fifo_io_ctrl_fmt_len; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@262767.4]
+  wire [1:0] fifo_io_ctrl_cs_mode; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@262767.4]
+  wire [3:0] fifo_io_ctrl_wm_tx; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@262767.4]
+  wire [3:0] fifo_io_ctrl_wm_rx; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@262767.4]
+  wire  fifo_io_link_tx_ready; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@262767.4]
+  wire  fifo_io_link_tx_valid; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@262767.4]
+  wire [7:0] fifo_io_link_tx_bits; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@262767.4]
+  wire  fifo_io_link_rx_valid; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@262767.4]
+  wire [7:0] fifo_io_link_rx_bits; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@262767.4]
+  wire [7:0] fifo_io_link_cnt; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@262767.4]
+  wire [1:0] fifo_io_link_fmt_proto; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@262767.4]
+  wire  fifo_io_link_fmt_endian; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@262767.4]
+  wire  fifo_io_link_fmt_iodir; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@262767.4]
+  wire  fifo_io_link_cs_set; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@262767.4]
+  wire  fifo_io_link_cs_clear; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@262767.4]
+  wire  fifo_io_link_lock; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@262767.4]
+  wire  fifo_io_tx_ready; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@262767.4]
+  wire  fifo_io_tx_valid; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@262767.4]
+  wire [7:0] fifo_io_tx_bits; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@262767.4]
+  wire  fifo_io_rx_ready; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@262767.4]
+  wire  fifo_io_rx_valid; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@262767.4]
+  wire [7:0] fifo_io_rx_bits; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@262767.4]
+  wire  fifo_io_ip_txwm; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@262767.4]
+  wire  fifo_io_ip_rxwm; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@262767.4]
+  wire  mac_clock; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262771.4]
+  wire  mac_reset; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262771.4]
+  wire  mac_io_port_sck; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262771.4]
+  wire  mac_io_port_dq_0_i; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262771.4]
+  wire  mac_io_port_dq_0_o; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262771.4]
+  wire  mac_io_port_dq_0_oe; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262771.4]
+  wire  mac_io_port_dq_1_i; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262771.4]
+  wire  mac_io_port_dq_1_o; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262771.4]
+  wire  mac_io_port_dq_1_oe; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262771.4]
+  wire  mac_io_port_dq_2_i; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262771.4]
+  wire  mac_io_port_dq_2_o; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262771.4]
+  wire  mac_io_port_dq_2_oe; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262771.4]
+  wire  mac_io_port_dq_3_i; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262771.4]
+  wire  mac_io_port_dq_3_o; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262771.4]
+  wire  mac_io_port_dq_3_oe; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262771.4]
+  wire  mac_io_port_cs_0; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262771.4]
+  wire [11:0] mac_io_ctrl_sck_div; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262771.4]
+  wire  mac_io_ctrl_sck_pol; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262771.4]
+  wire  mac_io_ctrl_sck_pha; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262771.4]
+  wire [7:0] mac_io_ctrl_dla_cssck; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262771.4]
+  wire [7:0] mac_io_ctrl_dla_sckcs; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262771.4]
+  wire [7:0] mac_io_ctrl_dla_intercs; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262771.4]
+  wire [7:0] mac_io_ctrl_dla_interxfr; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262771.4]
+  wire  mac_io_ctrl_cs_id; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262771.4]
+  wire  mac_io_ctrl_cs_dflt_0; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262771.4]
+  wire [11:0] mac_io_ctrl_extradel_coarse; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262771.4]
+  wire [4:0] mac_io_ctrl_sampledel_sd; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262771.4]
+  wire  mac_io_link_tx_ready; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262771.4]
+  wire  mac_io_link_tx_valid; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262771.4]
+  wire [7:0] mac_io_link_tx_bits; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262771.4]
+  wire  mac_io_link_rx_valid; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262771.4]
+  wire [7:0] mac_io_link_rx_bits; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262771.4]
+  wire [7:0] mac_io_link_cnt; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262771.4]
+  wire [1:0] mac_io_link_fmt_proto; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262771.4]
+  wire  mac_io_link_fmt_endian; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262771.4]
+  wire  mac_io_link_fmt_iodir; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262771.4]
+  wire  mac_io_link_cs_set; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262771.4]
+  wire  mac_io_link_cs_clear; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262771.4]
+  wire  mac_io_link_cs_hold; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262771.4]
+  wire  mac_io_link_active; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262771.4]
+  wire  flash_clock; // @[TLSPIFlash.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262802.4]
+  wire  flash_reset; // @[TLSPIFlash.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262802.4]
+  wire  flash_io_en; // @[TLSPIFlash.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262802.4]
+  wire [1:0] flash_io_ctrl_insn_cmd_proto; // @[TLSPIFlash.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262802.4]
+  wire [7:0] flash_io_ctrl_insn_cmd_code; // @[TLSPIFlash.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262802.4]
+  wire  flash_io_ctrl_insn_cmd_en; // @[TLSPIFlash.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262802.4]
+  wire [1:0] flash_io_ctrl_insn_addr_proto; // @[TLSPIFlash.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262802.4]
+  wire [2:0] flash_io_ctrl_insn_addr_len; // @[TLSPIFlash.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262802.4]
+  wire [7:0] flash_io_ctrl_insn_pad_code; // @[TLSPIFlash.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262802.4]
+  wire [3:0] flash_io_ctrl_insn_pad_cnt; // @[TLSPIFlash.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262802.4]
+  wire [1:0] flash_io_ctrl_insn_data_proto; // @[TLSPIFlash.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262802.4]
+  wire  flash_io_ctrl_fmt_endian; // @[TLSPIFlash.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262802.4]
+  wire  flash_io_addr_ready; // @[TLSPIFlash.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262802.4]
+  wire  flash_io_addr_valid; // @[TLSPIFlash.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262802.4]
+  wire [31:0] flash_io_addr_bits_next; // @[TLSPIFlash.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262802.4]
+  wire [31:0] flash_io_addr_bits_hold; // @[TLSPIFlash.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262802.4]
+  wire  flash_io_data_ready; // @[TLSPIFlash.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262802.4]
+  wire  flash_io_data_valid; // @[TLSPIFlash.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262802.4]
+  wire [7:0] flash_io_data_bits; // @[TLSPIFlash.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262802.4]
+  wire  flash_io_link_tx_ready; // @[TLSPIFlash.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262802.4]
+  wire  flash_io_link_tx_valid; // @[TLSPIFlash.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262802.4]
+  wire [7:0] flash_io_link_tx_bits; // @[TLSPIFlash.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262802.4]
+  wire  flash_io_link_rx_valid; // @[TLSPIFlash.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262802.4]
+  wire [7:0] flash_io_link_rx_bits; // @[TLSPIFlash.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262802.4]
+  wire [7:0] flash_io_link_cnt; // @[TLSPIFlash.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262802.4]
+  wire [1:0] flash_io_link_fmt_proto; // @[TLSPIFlash.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262802.4]
+  wire  flash_io_link_fmt_endian; // @[TLSPIFlash.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262802.4]
+  wire  flash_io_link_fmt_iodir; // @[TLSPIFlash.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262802.4]
+  wire  flash_io_link_cs_clear; // @[TLSPIFlash.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262802.4]
+  wire  flash_io_link_active; // @[TLSPIFlash.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262802.4]
+  wire  flash_io_link_lock; // @[TLSPIFlash.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262802.4]
+  wire  arb_clock; // @[TLSPIFlash.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262806.4]
+  wire  arb_reset; // @[TLSPIFlash.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262806.4]
+  wire  arb_io_inner_0_tx_ready; // @[TLSPIFlash.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262806.4]
+  wire  arb_io_inner_0_tx_valid; // @[TLSPIFlash.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262806.4]
+  wire [7:0] arb_io_inner_0_tx_bits; // @[TLSPIFlash.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262806.4]
+  wire  arb_io_inner_0_rx_valid; // @[TLSPIFlash.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262806.4]
+  wire [7:0] arb_io_inner_0_rx_bits; // @[TLSPIFlash.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262806.4]
+  wire [7:0] arb_io_inner_0_cnt; // @[TLSPIFlash.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262806.4]
+  wire [1:0] arb_io_inner_0_fmt_proto; // @[TLSPIFlash.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262806.4]
+  wire  arb_io_inner_0_fmt_endian; // @[TLSPIFlash.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262806.4]
+  wire  arb_io_inner_0_fmt_iodir; // @[TLSPIFlash.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262806.4]
+  wire  arb_io_inner_0_cs_clear; // @[TLSPIFlash.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262806.4]
+  wire  arb_io_inner_0_active; // @[TLSPIFlash.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262806.4]
+  wire  arb_io_inner_0_lock; // @[TLSPIFlash.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262806.4]
+  wire  arb_io_inner_1_tx_ready; // @[TLSPIFlash.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262806.4]
+  wire  arb_io_inner_1_tx_valid; // @[TLSPIFlash.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262806.4]
+  wire [7:0] arb_io_inner_1_tx_bits; // @[TLSPIFlash.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262806.4]
+  wire  arb_io_inner_1_rx_valid; // @[TLSPIFlash.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262806.4]
+  wire [7:0] arb_io_inner_1_rx_bits; // @[TLSPIFlash.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262806.4]
+  wire [7:0] arb_io_inner_1_cnt; // @[TLSPIFlash.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262806.4]
+  wire [1:0] arb_io_inner_1_fmt_proto; // @[TLSPIFlash.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262806.4]
+  wire  arb_io_inner_1_fmt_endian; // @[TLSPIFlash.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262806.4]
+  wire  arb_io_inner_1_fmt_iodir; // @[TLSPIFlash.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262806.4]
+  wire  arb_io_inner_1_cs_set; // @[TLSPIFlash.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262806.4]
+  wire  arb_io_inner_1_cs_clear; // @[TLSPIFlash.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262806.4]
+  wire  arb_io_inner_1_lock; // @[TLSPIFlash.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262806.4]
+  wire  arb_io_outer_tx_ready; // @[TLSPIFlash.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262806.4]
+  wire  arb_io_outer_tx_valid; // @[TLSPIFlash.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262806.4]
+  wire [7:0] arb_io_outer_tx_bits; // @[TLSPIFlash.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262806.4]
+  wire  arb_io_outer_rx_valid; // @[TLSPIFlash.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262806.4]
+  wire [7:0] arb_io_outer_rx_bits; // @[TLSPIFlash.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262806.4]
+  wire [7:0] arb_io_outer_cnt; // @[TLSPIFlash.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262806.4]
+  wire [1:0] arb_io_outer_fmt_proto; // @[TLSPIFlash.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262806.4]
+  wire  arb_io_outer_fmt_endian; // @[TLSPIFlash.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262806.4]
+  wire  arb_io_outer_fmt_iodir; // @[TLSPIFlash.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262806.4]
+  wire  arb_io_outer_cs_set; // @[TLSPIFlash.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262806.4]
+  wire  arb_io_outer_cs_clear; // @[TLSPIFlash.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262806.4]
+  wire  arb_io_outer_cs_hold; // @[TLSPIFlash.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262806.4]
+  wire  arb_io_outer_active; // @[TLSPIFlash.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262806.4]
+  wire  arb_io_sel; // @[TLSPIFlash.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262806.4]
+  reg [1:0] ctrl_fmt_proto; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@262766.4]
+  reg [31:0] _RAND_0;
+  reg  ctrl_fmt_endian; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@262766.4]
+  reg [31:0] _RAND_1;
+  reg  ctrl_fmt_iodir; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@262766.4]
+  reg [31:0] _RAND_2;
+  reg [3:0] ctrl_fmt_len; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@262766.4]
+  reg [31:0] _RAND_3;
+  reg [11:0] ctrl_sck_div; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@262766.4]
+  reg [31:0] _RAND_4;
+  reg  ctrl_sck_pol; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@262766.4]
+  reg [31:0] _RAND_5;
+  reg  ctrl_sck_pha; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@262766.4]
+  reg [31:0] _RAND_6;
+  reg  ctrl_cs_id; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@262766.4]
+  reg [31:0] _RAND_7;
+  reg  ctrl_cs_dflt_0; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@262766.4]
+  reg [31:0] _RAND_8;
+  reg [1:0] ctrl_cs_mode; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@262766.4]
+  reg [31:0] _RAND_9;
+  reg [7:0] ctrl_dla_cssck; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@262766.4]
+  reg [31:0] _RAND_10;
+  reg [7:0] ctrl_dla_sckcs; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@262766.4]
+  reg [31:0] _RAND_11;
+  reg [7:0] ctrl_dla_intercs; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@262766.4]
+  reg [31:0] _RAND_12;
+  reg [7:0] ctrl_dla_interxfr; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@262766.4]
+  reg [31:0] _RAND_13;
+  reg [3:0] ctrl_wm_tx; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@262766.4]
+  reg [31:0] _RAND_14;
+  reg [3:0] ctrl_wm_rx; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@262766.4]
+  reg [31:0] _RAND_15;
+  reg [11:0] ctrl_extradel_coarse; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@262766.4]
+  reg [31:0] _RAND_16;
+  reg [4:0] ctrl_sampledel_sd; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@262766.4]
+  reg [31:0] _RAND_17;
+  reg  ie_txwm; // @[TLSPI.scala 76:15:shc.marmotcaravel.MarmotCaravelConfig.fir@262793.4]
+  reg [31:0] _RAND_18;
+  reg  ie_rxwm; // @[TLSPI.scala 76:15:shc.marmotcaravel.MarmotCaravelConfig.fir@262793.4]
+  reg [31:0] _RAND_19;
+  wire  _T_650; // @[TLSPI.scala 78:35:shc.marmotcaravel.MarmotCaravelConfig.fir@262794.4]
+  wire  _T_651; // @[TLSPI.scala 78:59:shc.marmotcaravel.MarmotCaravelConfig.fir@262795.4]
+  wire  _T_655; // @[RegMapFIFO.scala 24:9:shc.marmotcaravel.MarmotCaravelConfig.fir@262800.4]
+  wire  _T_656; // @[RegMapFIFO.scala 45:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262801.4]
+  reg  a_size; // @[TLSPIFlash.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@262813.4]
+  reg [31:0] _RAND_20;
+  reg [7:0] a_source; // @[TLSPIFlash.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@262813.4]
+  reg [31:0] _RAND_21;
+  reg [29:0] a_address; // @[TLSPIFlash.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@262813.4]
+  reg [31:0] _RAND_22;
+  wire  _T_108_a_ready; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@262642.4 TLSPIFlash.scala 70:13:shc.marmotcaravel.MarmotCaravelConfig.fir@262823.4]
+  wire  _T_108_a_valid; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@262642.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@262738.4]
+  wire  _T_657; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@262814.4]
+  wire  _T_108_a_bits_size; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@262642.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@262738.4]
+  wire [7:0] _T_108_a_bits_source; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@262642.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@262738.4]
+  wire [29:0] _T_108_a_bits_address; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@262642.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@262738.4]
+  wire [28:0] _T_658; // @[TLSPIFlash.scala 67:46:shc.marmotcaravel.MarmotCaravelConfig.fir@262818.4]
+  wire [28:0] _T_659; // @[TLSPIFlash.scala 68:39:shc.marmotcaravel.MarmotCaravelConfig.fir@262820.4]
+  reg [1:0] insn_cmd_proto; // @[TLSPIFlash.scala 76:17:shc.marmotcaravel.MarmotCaravelConfig.fir@262847.4]
+  reg [31:0] _RAND_23;
+  reg [7:0] insn_cmd_code; // @[TLSPIFlash.scala 76:17:shc.marmotcaravel.MarmotCaravelConfig.fir@262847.4]
+  reg [31:0] _RAND_24;
+  reg  insn_cmd_en; // @[TLSPIFlash.scala 76:17:shc.marmotcaravel.MarmotCaravelConfig.fir@262847.4]
+  reg [31:0] _RAND_25;
+  reg [1:0] insn_addr_proto; // @[TLSPIFlash.scala 76:17:shc.marmotcaravel.MarmotCaravelConfig.fir@262847.4]
+  reg [31:0] _RAND_26;
+  reg [2:0] insn_addr_len; // @[TLSPIFlash.scala 76:17:shc.marmotcaravel.MarmotCaravelConfig.fir@262847.4]
+  reg [31:0] _RAND_27;
+  reg [7:0] insn_pad_code; // @[TLSPIFlash.scala 76:17:shc.marmotcaravel.MarmotCaravelConfig.fir@262847.4]
+  reg [31:0] _RAND_28;
+  reg [3:0] insn_pad_cnt; // @[TLSPIFlash.scala 76:17:shc.marmotcaravel.MarmotCaravelConfig.fir@262847.4]
+  reg [31:0] _RAND_29;
+  reg [1:0] insn_data_proto; // @[TLSPIFlash.scala 76:17:shc.marmotcaravel.MarmotCaravelConfig.fir@262847.4]
+  reg [31:0] _RAND_30;
+  reg  flash_en; // @[TLSPIFlash.scala 77:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262848.4]
+  reg [31:0] _RAND_31;
+  wire [2:0] _T_174_a_bits_opcode; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@262681.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@262736.4]
+  wire  _T_674; // @[RegisterRouter.scala 58:36:shc.marmotcaravel.MarmotCaravelConfig.fir@262859.4]
+  wire [28:0] _T_174_a_bits_address; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@262681.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@262736.4]
+  wire [26:0] _T_675; // @[Edges.scala 192:34:shc.marmotcaravel.MarmotCaravelConfig.fir@262861.4]
+  wire [5:0] _T_174_a_bits_source; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@262681.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@262736.4]
+  wire [1:0] _T_174_a_bits_size; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@262681.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@262736.4]
+  wire [7:0] _T_676; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@262865.4]
+  wire [9:0] _T_671_bits_index; // @[RegisterRouter.scala 57:18:shc.marmotcaravel.MarmotCaravelConfig.fir@262857.4 RegisterRouter.scala 59:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262862.4]
+  wire [9:0] _T_692; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262873.4]
+  wire  _T_694; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262875.4]
+  wire [3:0] _T_174_a_bits_mask; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@262681.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@262736.4]
+  wire  _T_902; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@262919.4]
+  wire  _T_903; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@262920.4]
+  wire  _T_904; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@262921.4]
+  wire  _T_905; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@262922.4]
+  wire [7:0] _T_907; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@262924.4]
+  wire [7:0] _T_909; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@262926.4]
+  wire [7:0] _T_911; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@262928.4]
+  wire [7:0] _T_913; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@262930.4]
+  wire [15:0] _T_914; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@262931.4]
+  wire [15:0] _T_915; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@262932.4]
+  wire [31:0] _T_916; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@262933.4]
+  wire [11:0] _T_932; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262949.4]
+  wire [11:0] _T_935; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262952.4]
+  wire  _T_936; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262953.4]
+  wire  _T_174_a_valid; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@262681.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@262736.4]
+  wire  _T_174_d_ready; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@262681.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@262736.4]
+  wire  _T_1917; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264025.4]
+  wire  _T_1916; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264024.4]
+  wire [1:0] _T_1924; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@264032.4]
+  wire  _T_1915; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264023.4]
+  wire [2:0] _T_1925; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@264033.4]
+  wire  _T_1914; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264022.4]
+  wire  _T_1913; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264021.4]
+  wire [1:0] _T_1923; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@264031.4]
+  wire [4:0] _T_1926; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@264034.4]
+  wire  _T_1993; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264101.4]
+  wire  _T_1994; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264102.4]
+  wire [31:0] _T_1927; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@264035.4]
+  wire  _T_1928; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264036.4]
+  wire  _T_2229; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264401.4]
+  wire  _T_2230; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264402.4]
+  wire  _T_2233; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264405.4]
+  wire  _T_2234; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264406.4]
+  wire  _T_944; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262961.4]
+  wire [31:0] _T_174_a_bits_data; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@262681.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@262736.4]
+  wire [11:0] _T_946; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262963.4]
+  wire  _T_957; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262977.4]
+  wire  _T_960; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262980.4]
+  wire  _T_961; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262981.4]
+  wire  _T_1933; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264041.4]
+  wire  _T_2263; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264444.4]
+  wire  _T_2264; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264445.4]
+  wire  _T_969; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262989.4]
+  wire  _T_971; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262991.4]
+  wire [7:0] _T_982; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263005.4]
+  wire  _T_983; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263006.4]
+  wire [7:0] _T_985; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263008.4]
+  wire  _T_986; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263009.4]
+  wire  _T_1938; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264046.4]
+  wire  _T_2293; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264481.4]
+  wire  _T_2294; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264482.4]
+  wire  _T_994; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263017.4]
+  wire [7:0] _T_996; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263019.4]
+  wire [7:0] _T_1007; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263033.4]
+  wire [7:0] _T_1010; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263036.4]
+  wire  _T_1011; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263037.4]
+  wire  _T_1019; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263045.4]
+  wire [7:0] _T_1021; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263047.4]
+  wire [15:0] _T_1030; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263059.4]
+  wire [23:0] _T_1031; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@263060.4]
+  wire  _T_1952; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264060.4]
+  wire  _T_2377; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264597.4]
+  wire  _T_2378; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264598.4]
+  wire  _T_1046; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263075.4]
+  wire  _T_1953; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264061.4]
+  wire  _T_2383; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264605.4]
+  wire  _T_2384; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264606.4]
+  wire  _T_1071; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263103.4]
+  wire [2:0] _T_1084; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263119.4]
+  wire [2:0] _T_1087; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263122.4]
+  wire  _T_1088; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263123.4]
+  wire  _T_1096; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263131.4]
+  wire [2:0] _T_1098; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263133.4]
+  wire [3:0] _T_1108; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@263146.4]
+  wire [3:0] _T_1111; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263149.4]
+  wire [3:0] _T_1114; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263152.4]
+  wire  _T_1115; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263153.4]
+  wire  _T_1123; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263161.4]
+  wire [3:0] _T_1125; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263163.4]
+  wire [7:0] _T_1135; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@263176.4]
+  wire [1:0] _T_1138; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263179.4]
+  wire [1:0] _T_1141; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263182.4]
+  wire  _T_1142; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263183.4]
+  wire  _T_1150; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263191.4]
+  wire [1:0] _T_1152; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263193.4]
+  wire [9:0] _T_1162; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@263206.4]
+  wire [1:0] _T_1165; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263209.4]
+  wire [1:0] _T_1168; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263212.4]
+  wire  _T_1169; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263213.4]
+  wire  _T_1177; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263221.4]
+  wire [1:0] _T_1179; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263223.4]
+  wire [11:0] _T_1189; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@263236.4]
+  wire [1:0] _T_1192; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263239.4]
+  wire [1:0] _T_1195; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263242.4]
+  wire  _T_1196; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263243.4]
+  wire  _T_1204; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263251.4]
+  wire [1:0] _T_1206; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263253.4]
+  wire [13:0] _T_1216; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@263266.4]
+  wire  _T_1231; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263281.4]
+  wire [15:0] _T_1242; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263295.4]
+  wire [23:0] _T_1243; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@263296.4]
+  wire [7:0] _T_1246; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263299.4]
+  wire [7:0] _T_1249; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263302.4]
+  wire  _T_1250; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263303.4]
+  wire  _T_1258; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263311.4]
+  wire [7:0] _T_1260; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263313.4]
+  wire [31:0] _T_1270; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@263326.4]
+  wire  _T_1942; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264050.4]
+  wire  _T_2317; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264513.4]
+  wire  _T_2318; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264514.4]
+  wire  _T_1285; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263341.4]
+  wire [3:0] _T_1298; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263357.4]
+  wire [3:0] _T_1301; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263360.4]
+  wire  _T_1302; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263361.4]
+  wire  _T_1948; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264056.4]
+  wire  _T_2353; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264567.4]
+  wire  _T_2354; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264568.4]
+  wire  _T_1310; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263369.4]
+  wire [3:0] _T_1312; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263371.4]
+  wire  _T_1346; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263408.4]
+  wire  _T_1348; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263410.4]
+  wire  _T_1351; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263413.4]
+  wire  _T_1352; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263414.4]
+  wire  _T_1362; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263424.4]
+  wire [1:0] _T_1372; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@263434.4]
+  wire  _T_1929; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264037.4]
+  wire  _T_2239; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264413.4]
+  wire  _T_2240; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264414.4]
+  wire  _T_1387; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263449.4]
+  wire  _T_1412; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263477.4]
+  wire [1:0] _T_1424; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@263492.4]
+  wire [1:0] _T_1427; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263495.4]
+  wire [1:0] _T_1430; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263498.4]
+  wire  _T_1431; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263499.4]
+  wire  _T_1934; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264042.4]
+  wire  _T_2269; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264452.4]
+  wire  _T_2270; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264453.4]
+  wire  _T_1439; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263507.4]
+  wire [1:0] _T_1441; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263509.4]
+  wire  _T_1956; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264064.4]
+  wire  _T_2401; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264634.4]
+  wire  _T_2402; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264635.4]
+  wire  _T_1464; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263535.4]
+  wire  _T_1489; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263563.4]
+  wire [1:0] _T_1501; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@263578.4]
+  wire  _T_1949; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264057.4]
+  wire  _T_2359; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264575.4]
+  wire  _T_2360; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264576.4]
+  wire  _T_1516; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263593.4]
+  wire  _T_1946; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264054.4]
+  wire  _T_2341; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264547.4]
+  wire  _T_2342; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264548.4]
+  wire  _T_1541; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263621.4]
+  wire  _T_1590; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263672.4]
+  wire  _T_1591; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263673.4]
+  wire  _T_1592; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263674.4]
+  wire  _T_1596; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263678.4]
+  wire  _T_1597; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263679.4]
+  wire  _T_1599; // @[RegMapFIFO.scala 26:26:shc.marmotcaravel.MarmotCaravelConfig.fir@263681.4]
+  wire  _T_1544; // @[RegMapFIFO.scala 18:33:shc.marmotcaravel.MarmotCaravelConfig.fir@263624.4]
+  wire [31:0] _T_1609; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@263692.4]
+  wire  _T_1944; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264052.4]
+  wire  _T_2329; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264529.4]
+  wire  _T_2330; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264530.4]
+  wire  _T_1624; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263707.4]
+  wire  _T_1637; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263723.4]
+  wire  _T_1640; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263726.4]
+  wire  _T_1641; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263727.4]
+  wire  _T_1649; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263735.4]
+  wire  _T_1651; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263737.4]
+  wire [2:0] _T_1661; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@263750.4]
+  wire  _T_1664; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263753.4]
+  wire  _T_1667; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263756.4]
+  wire  _T_1668; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263757.4]
+  wire  _T_1676; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263765.4]
+  wire  _T_1678; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263767.4]
+  wire [3:0] _T_1688; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@263780.4]
+  wire [3:0] _T_1691; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263783.4]
+  wire [3:0] _T_1694; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263786.4]
+  wire  _T_1695; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263787.4]
+  wire  _T_1703; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263795.4]
+  wire [3:0] _T_1705; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263797.4]
+  wire [15:0] _T_1714; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263809.4]
+  wire [19:0] _T_1715; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@263810.4]
+  wire  _T_1939; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264047.4]
+  wire  _T_2299; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264490.4]
+  wire  _T_2300; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264491.4]
+  wire  _T_1730; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263825.4]
+  wire  _T_1755; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263853.4]
+  wire [15:0] _T_1766; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263867.4]
+  wire [23:0] _T_1767; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@263868.4]
+  wire  _T_1947; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264055.4]
+  wire  _T_2111; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264257.4]
+  wire  _T_2112; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264258.4]
+  wire [7:0] _T_1793; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263895.4]
+  wire [8:0] _T_1819; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@263921.4]
+  wire [30:0] _T_1820; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263922.4]
+  wire [31:0] _T_1846; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@263948.4]
+  wire  _T_1932; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264040.4]
+  wire  _T_2257; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264436.4]
+  wire  _T_2258; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264437.4]
+  wire  _T_1861; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263963.4]
+  wire [4:0] _T_1874; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263979.4]
+  wire [4:0] _T_1877; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263982.4]
+  wire  _T_1878; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263983.4]
+  wire  _T_1943; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264051.4]
+  wire  _T_2323; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264521.4]
+  wire  _T_2324; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264522.4]
+  wire  _T_1886; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263991.4]
+  wire [4:0] _T_1888; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263993.4]
+  wire  _GEN_166; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265345.4]
+  wire  _GEN_167; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265345.4]
+  wire  _GEN_168; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265345.4]
+  wire  _GEN_169; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265345.4]
+  wire  _GEN_170; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265345.4]
+  wire  _GEN_171; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265345.4]
+  wire  _GEN_172; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265345.4]
+  wire  _GEN_173; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265345.4]
+  wire  _GEN_174; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265345.4]
+  wire  _GEN_175; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265345.4]
+  wire  _GEN_176; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265345.4]
+  wire  _GEN_177; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265345.4]
+  wire  _GEN_178; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265345.4]
+  wire  _GEN_179; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265345.4]
+  wire  _GEN_180; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265345.4]
+  wire  _GEN_181; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265345.4]
+  wire  _GEN_182; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265345.4]
+  wire  _GEN_183; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265345.4]
+  wire  _GEN_184; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265345.4]
+  wire  _GEN_185; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265345.4]
+  wire  _GEN_186; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265345.4]
+  wire  _GEN_187; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265345.4]
+  wire  _GEN_188; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265345.4]
+  wire  _GEN_189; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265345.4]
+  wire  _GEN_190; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265345.4]
+  wire  _GEN_191; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265345.4]
+  wire  _GEN_192; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265345.4]
+  wire  _GEN_193; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265345.4]
+  wire  _GEN_194; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265345.4]
+  wire  _GEN_195; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265345.4]
+  wire  _GEN_196; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265345.4]
+  wire [31:0] _T_2986_0; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@265347.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@265349.4]
+  wire [31:0] _T_2986_1; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@265347.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@265350.4]
+  wire [31:0] _GEN_198; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265381.4]
+  wire [31:0] _GEN_199; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265381.4]
+  wire [31:0] _GEN_200; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265381.4]
+  wire [31:0] _T_2986_4; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@265347.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@265353.4]
+  wire [31:0] _GEN_201; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265381.4]
+  wire [31:0] _T_2986_5; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@265347.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@265354.4]
+  wire [31:0] _GEN_202; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265381.4]
+  wire [31:0] _T_2986_6; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@265347.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@265355.4]
+  wire [31:0] _GEN_203; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265381.4]
+  wire [31:0] _GEN_204; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265381.4]
+  wire [31:0] _GEN_205; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265381.4]
+  wire [31:0] _GEN_206; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265381.4]
+  wire [31:0] _T_2986_10; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@265347.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@265359.4]
+  wire [31:0] _GEN_207; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265381.4]
+  wire [31:0] _T_2986_11; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@265347.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@265360.4]
+  wire [31:0] _GEN_208; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265381.4]
+  wire [31:0] _GEN_209; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265381.4]
+  wire [31:0] _GEN_210; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265381.4]
+  wire [31:0] _T_2986_14; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@265347.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@265363.4]
+  wire [31:0] _GEN_211; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265381.4]
+  wire [31:0] _T_2986_15; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@265347.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@265364.4]
+  wire [31:0] _GEN_212; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265381.4]
+  wire [31:0] _T_2986_16; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@265347.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@265365.4]
+  wire [31:0] _GEN_213; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265381.4]
+  wire [31:0] _GEN_214; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265381.4]
+  wire [31:0] _GEN_215; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265381.4]
+  wire [31:0] _GEN_216; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265381.4]
+  wire [31:0] _T_2986_20; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@265347.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@265369.4]
+  wire [31:0] _GEN_217; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265381.4]
+  wire [31:0] _T_2986_21; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@265347.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@265370.4]
+  wire [31:0] _GEN_218; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265381.4]
+  wire [31:0] _GEN_219; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265381.4]
+  wire [31:0] _GEN_220; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265381.4]
+  wire [31:0] _T_2986_24; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@265347.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@265373.4]
+  wire [31:0] _GEN_221; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265381.4]
+  wire [31:0] _GEN_222; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265381.4]
+  wire [31:0] _GEN_223; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265381.4]
+  wire [31:0] _GEN_224; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265381.4]
+  wire [31:0] _T_2986_28; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@265347.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@265377.4]
+  wire [31:0] _GEN_225; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265381.4]
+  wire [31:0] _T_2986_29; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@265347.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@265378.4]
+  wire [31:0] _GEN_226; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265381.4]
+  wire [31:0] _GEN_227; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265381.4]
+  wire [31:0] _GEN_228; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265381.4]
+  TLBuffer_22 buffer ( // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262620.4]
+    .clock(buffer_clock),
+    .reset(buffer_reset),
+    .auto_in_a_ready(buffer_auto_in_a_ready),
+    .auto_in_a_valid(buffer_auto_in_a_valid),
+    .auto_in_a_bits_opcode(buffer_auto_in_a_bits_opcode),
+    .auto_in_a_bits_param(buffer_auto_in_a_bits_param),
+    .auto_in_a_bits_size(buffer_auto_in_a_bits_size),
+    .auto_in_a_bits_source(buffer_auto_in_a_bits_source),
+    .auto_in_a_bits_address(buffer_auto_in_a_bits_address),
+    .auto_in_a_bits_mask(buffer_auto_in_a_bits_mask),
+    .auto_in_a_bits_data(buffer_auto_in_a_bits_data),
+    .auto_in_a_bits_corrupt(buffer_auto_in_a_bits_corrupt),
+    .auto_in_d_ready(buffer_auto_in_d_ready),
+    .auto_in_d_valid(buffer_auto_in_d_valid),
+    .auto_in_d_bits_opcode(buffer_auto_in_d_bits_opcode),
+    .auto_in_d_bits_size(buffer_auto_in_d_bits_size),
+    .auto_in_d_bits_source(buffer_auto_in_d_bits_source),
+    .auto_in_d_bits_data(buffer_auto_in_d_bits_data),
+    .auto_out_a_ready(buffer_auto_out_a_ready),
+    .auto_out_a_valid(buffer_auto_out_a_valid),
+    .auto_out_a_bits_opcode(buffer_auto_out_a_bits_opcode),
+    .auto_out_a_bits_param(buffer_auto_out_a_bits_param),
+    .auto_out_a_bits_size(buffer_auto_out_a_bits_size),
+    .auto_out_a_bits_source(buffer_auto_out_a_bits_source),
+    .auto_out_a_bits_address(buffer_auto_out_a_bits_address),
+    .auto_out_a_bits_mask(buffer_auto_out_a_bits_mask),
+    .auto_out_a_bits_data(buffer_auto_out_a_bits_data),
+    .auto_out_a_bits_corrupt(buffer_auto_out_a_bits_corrupt),
+    .auto_out_d_ready(buffer_auto_out_d_ready),
+    .auto_out_d_valid(buffer_auto_out_d_valid),
+    .auto_out_d_bits_opcode(buffer_auto_out_d_bits_opcode),
+    .auto_out_d_bits_size(buffer_auto_out_d_bits_size),
+    .auto_out_d_bits_source(buffer_auto_out_d_bits_source),
+    .auto_out_d_bits_data(buffer_auto_out_d_bits_data)
+  );
+  TLBuffer_23 buffer_1 ( // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262626.4]
+    .clock(buffer_1_clock),
+    .reset(buffer_1_reset),
+    .auto_in_a_ready(buffer_1_auto_in_a_ready),
+    .auto_in_a_valid(buffer_1_auto_in_a_valid),
+    .auto_in_a_bits_opcode(buffer_1_auto_in_a_bits_opcode),
+    .auto_in_a_bits_param(buffer_1_auto_in_a_bits_param),
+    .auto_in_a_bits_size(buffer_1_auto_in_a_bits_size),
+    .auto_in_a_bits_source(buffer_1_auto_in_a_bits_source),
+    .auto_in_a_bits_address(buffer_1_auto_in_a_bits_address),
+    .auto_in_a_bits_mask(buffer_1_auto_in_a_bits_mask),
+    .auto_in_a_bits_corrupt(buffer_1_auto_in_a_bits_corrupt),
+    .auto_in_d_ready(buffer_1_auto_in_d_ready),
+    .auto_in_d_valid(buffer_1_auto_in_d_valid),
+    .auto_in_d_bits_size(buffer_1_auto_in_d_bits_size),
+    .auto_in_d_bits_source(buffer_1_auto_in_d_bits_source),
+    .auto_in_d_bits_data(buffer_1_auto_in_d_bits_data),
+    .auto_out_a_ready(buffer_1_auto_out_a_ready),
+    .auto_out_a_valid(buffer_1_auto_out_a_valid),
+    .auto_out_a_bits_opcode(buffer_1_auto_out_a_bits_opcode),
+    .auto_out_a_bits_param(buffer_1_auto_out_a_bits_param),
+    .auto_out_a_bits_size(buffer_1_auto_out_a_bits_size),
+    .auto_out_a_bits_source(buffer_1_auto_out_a_bits_source),
+    .auto_out_a_bits_address(buffer_1_auto_out_a_bits_address),
+    .auto_out_a_bits_mask(buffer_1_auto_out_a_bits_mask),
+    .auto_out_a_bits_corrupt(buffer_1_auto_out_a_bits_corrupt),
+    .auto_out_d_ready(buffer_1_auto_out_d_ready),
+    .auto_out_d_valid(buffer_1_auto_out_d_valid),
+    .auto_out_d_bits_size(buffer_1_auto_out_d_bits_size),
+    .auto_out_d_bits_source(buffer_1_auto_out_d_bits_source),
+    .auto_out_d_bits_data(buffer_1_auto_out_d_bits_data)
+  );
+  IntSyncCrossingSource_3 intsource ( // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@262632.4]
+    .clock(intsource_clock),
+    .reset(intsource_reset),
+    .auto_in_0(intsource_auto_in_0),
+    .auto_out_sync_0(intsource_auto_out_sync_0)
+  );
+  TLMonitor_70 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@262644.4]
+    .clock(TLMonitor_clock),
+    .reset(TLMonitor_reset),
+    .io_in_a_ready(TLMonitor_io_in_a_ready),
+    .io_in_a_valid(TLMonitor_io_in_a_valid),
+    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
+    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
+    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
+    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
+    .io_in_d_ready(TLMonitor_io_in_d_ready),
+    .io_in_d_valid(TLMonitor_io_in_d_valid),
+    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
+    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source)
+  );
+  TLMonitor_71 TLMonitor_1 ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@262683.4]
+    .clock(TLMonitor_1_clock),
+    .reset(TLMonitor_1_reset),
+    .io_in_a_ready(TLMonitor_1_io_in_a_ready),
+    .io_in_a_valid(TLMonitor_1_io_in_a_valid),
+    .io_in_a_bits_opcode(TLMonitor_1_io_in_a_bits_opcode),
+    .io_in_a_bits_param(TLMonitor_1_io_in_a_bits_param),
+    .io_in_a_bits_size(TLMonitor_1_io_in_a_bits_size),
+    .io_in_a_bits_source(TLMonitor_1_io_in_a_bits_source),
+    .io_in_a_bits_address(TLMonitor_1_io_in_a_bits_address),
+    .io_in_a_bits_mask(TLMonitor_1_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(TLMonitor_1_io_in_a_bits_corrupt),
+    .io_in_d_ready(TLMonitor_1_io_in_d_ready),
+    .io_in_d_valid(TLMonitor_1_io_in_d_valid),
+    .io_in_d_bits_opcode(TLMonitor_1_io_in_d_bits_opcode),
+    .io_in_d_bits_size(TLMonitor_1_io_in_d_bits_size),
+    .io_in_d_bits_source(TLMonitor_1_io_in_d_bits_source)
+  );
+  SPIFIFO fifo ( // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@262767.4]
+    .clock(fifo_clock),
+    .reset(fifo_reset),
+    .io_ctrl_fmt_proto(fifo_io_ctrl_fmt_proto),
+    .io_ctrl_fmt_endian(fifo_io_ctrl_fmt_endian),
+    .io_ctrl_fmt_iodir(fifo_io_ctrl_fmt_iodir),
+    .io_ctrl_fmt_len(fifo_io_ctrl_fmt_len),
+    .io_ctrl_cs_mode(fifo_io_ctrl_cs_mode),
+    .io_ctrl_wm_tx(fifo_io_ctrl_wm_tx),
+    .io_ctrl_wm_rx(fifo_io_ctrl_wm_rx),
+    .io_link_tx_ready(fifo_io_link_tx_ready),
+    .io_link_tx_valid(fifo_io_link_tx_valid),
+    .io_link_tx_bits(fifo_io_link_tx_bits),
+    .io_link_rx_valid(fifo_io_link_rx_valid),
+    .io_link_rx_bits(fifo_io_link_rx_bits),
+    .io_link_cnt(fifo_io_link_cnt),
+    .io_link_fmt_proto(fifo_io_link_fmt_proto),
+    .io_link_fmt_endian(fifo_io_link_fmt_endian),
+    .io_link_fmt_iodir(fifo_io_link_fmt_iodir),
+    .io_link_cs_set(fifo_io_link_cs_set),
+    .io_link_cs_clear(fifo_io_link_cs_clear),
+    .io_link_lock(fifo_io_link_lock),
+    .io_tx_ready(fifo_io_tx_ready),
+    .io_tx_valid(fifo_io_tx_valid),
+    .io_tx_bits(fifo_io_tx_bits),
+    .io_rx_ready(fifo_io_rx_ready),
+    .io_rx_valid(fifo_io_rx_valid),
+    .io_rx_bits(fifo_io_rx_bits),
+    .io_ip_txwm(fifo_io_ip_txwm),
+    .io_ip_rxwm(fifo_io_ip_rxwm)
+  );
+  SPIMedia mac ( // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262771.4]
+    .clock(mac_clock),
+    .reset(mac_reset),
+    .io_port_sck(mac_io_port_sck),
+    .io_port_dq_0_i(mac_io_port_dq_0_i),
+    .io_port_dq_0_o(mac_io_port_dq_0_o),
+    .io_port_dq_0_oe(mac_io_port_dq_0_oe),
+    .io_port_dq_1_i(mac_io_port_dq_1_i),
+    .io_port_dq_1_o(mac_io_port_dq_1_o),
+    .io_port_dq_1_oe(mac_io_port_dq_1_oe),
+    .io_port_dq_2_i(mac_io_port_dq_2_i),
+    .io_port_dq_2_o(mac_io_port_dq_2_o),
+    .io_port_dq_2_oe(mac_io_port_dq_2_oe),
+    .io_port_dq_3_i(mac_io_port_dq_3_i),
+    .io_port_dq_3_o(mac_io_port_dq_3_o),
+    .io_port_dq_3_oe(mac_io_port_dq_3_oe),
+    .io_port_cs_0(mac_io_port_cs_0),
+    .io_ctrl_sck_div(mac_io_ctrl_sck_div),
+    .io_ctrl_sck_pol(mac_io_ctrl_sck_pol),
+    .io_ctrl_sck_pha(mac_io_ctrl_sck_pha),
+    .io_ctrl_dla_cssck(mac_io_ctrl_dla_cssck),
+    .io_ctrl_dla_sckcs(mac_io_ctrl_dla_sckcs),
+    .io_ctrl_dla_intercs(mac_io_ctrl_dla_intercs),
+    .io_ctrl_dla_interxfr(mac_io_ctrl_dla_interxfr),
+    .io_ctrl_cs_id(mac_io_ctrl_cs_id),
+    .io_ctrl_cs_dflt_0(mac_io_ctrl_cs_dflt_0),
+    .io_ctrl_extradel_coarse(mac_io_ctrl_extradel_coarse),
+    .io_ctrl_sampledel_sd(mac_io_ctrl_sampledel_sd),
+    .io_link_tx_ready(mac_io_link_tx_ready),
+    .io_link_tx_valid(mac_io_link_tx_valid),
+    .io_link_tx_bits(mac_io_link_tx_bits),
+    .io_link_rx_valid(mac_io_link_rx_valid),
+    .io_link_rx_bits(mac_io_link_rx_bits),
+    .io_link_cnt(mac_io_link_cnt),
+    .io_link_fmt_proto(mac_io_link_fmt_proto),
+    .io_link_fmt_endian(mac_io_link_fmt_endian),
+    .io_link_fmt_iodir(mac_io_link_fmt_iodir),
+    .io_link_cs_set(mac_io_link_cs_set),
+    .io_link_cs_clear(mac_io_link_cs_clear),
+    .io_link_cs_hold(mac_io_link_cs_hold),
+    .io_link_active(mac_io_link_active)
+  );
+  SPIFlashMap flash ( // @[TLSPIFlash.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262802.4]
+    .clock(flash_clock),
+    .reset(flash_reset),
+    .io_en(flash_io_en),
+    .io_ctrl_insn_cmd_proto(flash_io_ctrl_insn_cmd_proto),
+    .io_ctrl_insn_cmd_code(flash_io_ctrl_insn_cmd_code),
+    .io_ctrl_insn_cmd_en(flash_io_ctrl_insn_cmd_en),
+    .io_ctrl_insn_addr_proto(flash_io_ctrl_insn_addr_proto),
+    .io_ctrl_insn_addr_len(flash_io_ctrl_insn_addr_len),
+    .io_ctrl_insn_pad_code(flash_io_ctrl_insn_pad_code),
+    .io_ctrl_insn_pad_cnt(flash_io_ctrl_insn_pad_cnt),
+    .io_ctrl_insn_data_proto(flash_io_ctrl_insn_data_proto),
+    .io_ctrl_fmt_endian(flash_io_ctrl_fmt_endian),
+    .io_addr_ready(flash_io_addr_ready),
+    .io_addr_valid(flash_io_addr_valid),
+    .io_addr_bits_next(flash_io_addr_bits_next),
+    .io_addr_bits_hold(flash_io_addr_bits_hold),
+    .io_data_ready(flash_io_data_ready),
+    .io_data_valid(flash_io_data_valid),
+    .io_data_bits(flash_io_data_bits),
+    .io_link_tx_ready(flash_io_link_tx_ready),
+    .io_link_tx_valid(flash_io_link_tx_valid),
+    .io_link_tx_bits(flash_io_link_tx_bits),
+    .io_link_rx_valid(flash_io_link_rx_valid),
+    .io_link_rx_bits(flash_io_link_rx_bits),
+    .io_link_cnt(flash_io_link_cnt),
+    .io_link_fmt_proto(flash_io_link_fmt_proto),
+    .io_link_fmt_endian(flash_io_link_fmt_endian),
+    .io_link_fmt_iodir(flash_io_link_fmt_iodir),
+    .io_link_cs_clear(flash_io_link_cs_clear),
+    .io_link_active(flash_io_link_active),
+    .io_link_lock(flash_io_link_lock)
+  );
+  SPIArbiter arb ( // @[TLSPIFlash.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262806.4]
+    .clock(arb_clock),
+    .reset(arb_reset),
+    .io_inner_0_tx_ready(arb_io_inner_0_tx_ready),
+    .io_inner_0_tx_valid(arb_io_inner_0_tx_valid),
+    .io_inner_0_tx_bits(arb_io_inner_0_tx_bits),
+    .io_inner_0_rx_valid(arb_io_inner_0_rx_valid),
+    .io_inner_0_rx_bits(arb_io_inner_0_rx_bits),
+    .io_inner_0_cnt(arb_io_inner_0_cnt),
+    .io_inner_0_fmt_proto(arb_io_inner_0_fmt_proto),
+    .io_inner_0_fmt_endian(arb_io_inner_0_fmt_endian),
+    .io_inner_0_fmt_iodir(arb_io_inner_0_fmt_iodir),
+    .io_inner_0_cs_clear(arb_io_inner_0_cs_clear),
+    .io_inner_0_active(arb_io_inner_0_active),
+    .io_inner_0_lock(arb_io_inner_0_lock),
+    .io_inner_1_tx_ready(arb_io_inner_1_tx_ready),
+    .io_inner_1_tx_valid(arb_io_inner_1_tx_valid),
+    .io_inner_1_tx_bits(arb_io_inner_1_tx_bits),
+    .io_inner_1_rx_valid(arb_io_inner_1_rx_valid),
+    .io_inner_1_rx_bits(arb_io_inner_1_rx_bits),
+    .io_inner_1_cnt(arb_io_inner_1_cnt),
+    .io_inner_1_fmt_proto(arb_io_inner_1_fmt_proto),
+    .io_inner_1_fmt_endian(arb_io_inner_1_fmt_endian),
+    .io_inner_1_fmt_iodir(arb_io_inner_1_fmt_iodir),
+    .io_inner_1_cs_set(arb_io_inner_1_cs_set),
+    .io_inner_1_cs_clear(arb_io_inner_1_cs_clear),
+    .io_inner_1_lock(arb_io_inner_1_lock),
+    .io_outer_tx_ready(arb_io_outer_tx_ready),
+    .io_outer_tx_valid(arb_io_outer_tx_valid),
+    .io_outer_tx_bits(arb_io_outer_tx_bits),
+    .io_outer_rx_valid(arb_io_outer_rx_valid),
+    .io_outer_rx_bits(arb_io_outer_rx_bits),
+    .io_outer_cnt(arb_io_outer_cnt),
+    .io_outer_fmt_proto(arb_io_outer_fmt_proto),
+    .io_outer_fmt_endian(arb_io_outer_fmt_endian),
+    .io_outer_fmt_iodir(arb_io_outer_fmt_iodir),
+    .io_outer_cs_set(arb_io_outer_cs_set),
+    .io_outer_cs_clear(arb_io_outer_cs_clear),
+    .io_outer_cs_hold(arb_io_outer_cs_hold),
+    .io_outer_active(arb_io_outer_active),
+    .io_sel(arb_io_sel)
+  );
+  assign _T_650 = fifo_io_ip_txwm & ie_txwm; // @[TLSPI.scala 78:35:shc.marmotcaravel.MarmotCaravelConfig.fir@262794.4]
+  assign _T_651 = fifo_io_ip_rxwm & ie_rxwm; // @[TLSPI.scala 78:59:shc.marmotcaravel.MarmotCaravelConfig.fir@262795.4]
+  assign _T_655 = fifo_io_tx_ready == 1'h0; // @[RegMapFIFO.scala 24:9:shc.marmotcaravel.MarmotCaravelConfig.fir@262800.4]
+  assign _T_656 = fifo_io_rx_valid == 1'h0; // @[RegMapFIFO.scala 45:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262801.4]
+  assign _T_108_a_ready = flash_io_addr_ready; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@262642.4 TLSPIFlash.scala 70:13:shc.marmotcaravel.MarmotCaravelConfig.fir@262823.4]
+  assign _T_108_a_valid = buffer_1_auto_out_a_valid; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@262642.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@262738.4]
+  assign _T_657 = _T_108_a_ready & _T_108_a_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@262814.4]
+  assign _T_108_a_bits_size = buffer_1_auto_out_a_bits_size; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@262642.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@262738.4]
+  assign _T_108_a_bits_source = buffer_1_auto_out_a_bits_source; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@262642.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@262738.4]
+  assign _T_108_a_bits_address = buffer_1_auto_out_a_bits_address; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@262642.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@262738.4]
+  assign _T_658 = _T_108_a_bits_address[28:0]; // @[TLSPIFlash.scala 67:46:shc.marmotcaravel.MarmotCaravelConfig.fir@262818.4]
+  assign _T_659 = a_address[28:0]; // @[TLSPIFlash.scala 68:39:shc.marmotcaravel.MarmotCaravelConfig.fir@262820.4]
+  assign _T_174_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@262681.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@262736.4]
+  assign _T_674 = _T_174_a_bits_opcode == 3'h4; // @[RegisterRouter.scala 58:36:shc.marmotcaravel.MarmotCaravelConfig.fir@262859.4]
+  assign _T_174_a_bits_address = buffer_auto_out_a_bits_address; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@262681.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@262736.4]
+  assign _T_675 = _T_174_a_bits_address[28:2]; // @[Edges.scala 192:34:shc.marmotcaravel.MarmotCaravelConfig.fir@262861.4]
+  assign _T_174_a_bits_source = buffer_auto_out_a_bits_source; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@262681.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@262736.4]
+  assign _T_174_a_bits_size = buffer_auto_out_a_bits_size; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@262681.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@262736.4]
+  assign _T_676 = {_T_174_a_bits_source,_T_174_a_bits_size}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@262865.4]
+  assign _T_671_bits_index = _T_675[9:0]; // @[RegisterRouter.scala 57:18:shc.marmotcaravel.MarmotCaravelConfig.fir@262857.4 RegisterRouter.scala 59:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262862.4]
+  assign _T_692 = _T_671_bits_index & 10'h3e0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262873.4]
+  assign _T_694 = _T_692 == 10'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262875.4]
+  assign _T_174_a_bits_mask = buffer_auto_out_a_bits_mask; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@262681.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@262736.4]
+  assign _T_902 = _T_174_a_bits_mask[0]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@262919.4]
+  assign _T_903 = _T_174_a_bits_mask[1]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@262920.4]
+  assign _T_904 = _T_174_a_bits_mask[2]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@262921.4]
+  assign _T_905 = _T_174_a_bits_mask[3]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@262922.4]
+  assign _T_907 = _T_902 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@262924.4]
+  assign _T_909 = _T_903 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@262926.4]
+  assign _T_911 = _T_904 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@262928.4]
+  assign _T_913 = _T_905 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@262930.4]
+  assign _T_914 = {_T_909,_T_907}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@262931.4]
+  assign _T_915 = {_T_913,_T_911}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@262932.4]
+  assign _T_916 = {_T_915,_T_914}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@262933.4]
+  assign _T_932 = _T_916[11:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262949.4]
+  assign _T_935 = ~ _T_932; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262952.4]
+  assign _T_936 = _T_935 == 12'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262953.4]
+  assign _T_174_a_valid = buffer_auto_out_a_valid; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@262681.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@262736.4]
+  assign _T_174_d_ready = buffer_auto_out_d_ready; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@262681.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@262736.4]
+  assign _T_1917 = _T_671_bits_index[4]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264025.4]
+  assign _T_1916 = _T_671_bits_index[3]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264024.4]
+  assign _T_1924 = {_T_1917,_T_1916}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@264032.4]
+  assign _T_1915 = _T_671_bits_index[2]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264023.4]
+  assign _T_1925 = {_T_1924,_T_1915}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@264033.4]
+  assign _T_1914 = _T_671_bits_index[1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264022.4]
+  assign _T_1913 = _T_671_bits_index[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264021.4]
+  assign _T_1923 = {_T_1914,_T_1913}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@264031.4]
+  assign _T_1926 = {_T_1925,_T_1923}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@264034.4]
+  assign _T_1993 = _T_174_a_valid & _T_174_d_ready; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264101.4]
+  assign _T_1994 = _T_1993 & _T_674; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264102.4]
+  assign _T_1927 = 32'h1 << _T_1926; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@264035.4]
+  assign _T_1928 = _T_1927[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264036.4]
+  assign _T_2229 = _T_674 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264401.4]
+  assign _T_2230 = _T_1993 & _T_2229; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264402.4]
+  assign _T_2233 = _T_2230 & _T_1928; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264405.4]
+  assign _T_2234 = _T_2233 & _T_694; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264406.4]
+  assign _T_944 = _T_2234 & _T_936; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262961.4]
+  assign _T_174_a_bits_data = buffer_auto_out_a_bits_data; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@262681.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@262736.4]
+  assign _T_946 = _T_174_a_bits_data[11:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262963.4]
+  assign _T_957 = _T_916[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262977.4]
+  assign _T_960 = ~ _T_957; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262980.4]
+  assign _T_961 = _T_960 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262981.4]
+  assign _T_1933 = _T_1927[5]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264041.4]
+  assign _T_2263 = _T_2230 & _T_1933; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264444.4]
+  assign _T_2264 = _T_2263 & _T_694; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264445.4]
+  assign _T_969 = _T_2264 & _T_961; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262989.4]
+  assign _T_971 = _T_174_a_bits_data[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262991.4]
+  assign _T_982 = _T_916[7:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263005.4]
+  assign _T_983 = _T_982 != 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263006.4]
+  assign _T_985 = ~ _T_982; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263008.4]
+  assign _T_986 = _T_985 == 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263009.4]
+  assign _T_1938 = _T_1927[10]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264046.4]
+  assign _T_2293 = _T_2230 & _T_1938; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264481.4]
+  assign _T_2294 = _T_2293 & _T_694; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264482.4]
+  assign _T_994 = _T_2294 & _T_986; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263017.4]
+  assign _T_996 = _T_174_a_bits_data[7:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263019.4]
+  assign _T_1007 = _T_916[23:16]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263033.4]
+  assign _T_1010 = ~ _T_1007; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263036.4]
+  assign _T_1011 = _T_1010 == 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263037.4]
+  assign _T_1019 = _T_2294 & _T_1011; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263045.4]
+  assign _T_1021 = _T_174_a_bits_data[23:16]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263047.4]
+  assign _T_1030 = {{8'd0}, ctrl_dla_cssck}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263059.4]
+  assign _T_1031 = {ctrl_dla_sckcs,_T_1030}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@263060.4]
+  assign _T_1952 = _T_1927[24]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264060.4]
+  assign _T_2377 = _T_2230 & _T_1952; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264597.4]
+  assign _T_2378 = _T_2377 & _T_694; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264598.4]
+  assign _T_1046 = _T_2378 & _T_961; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263075.4]
+  assign _T_1953 = _T_1927[25]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264061.4]
+  assign _T_2383 = _T_2230 & _T_1953; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264605.4]
+  assign _T_2384 = _T_2383 & _T_694; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264606.4]
+  assign _T_1071 = _T_2384 & _T_961; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263103.4]
+  assign _T_1084 = _T_916[3:1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263119.4]
+  assign _T_1087 = ~ _T_1084; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263122.4]
+  assign _T_1088 = _T_1087 == 3'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263123.4]
+  assign _T_1096 = _T_2384 & _T_1088; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263131.4]
+  assign _T_1098 = _T_174_a_bits_data[3:1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263133.4]
+  assign _T_1108 = {insn_addr_len,insn_cmd_en}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@263146.4]
+  assign _T_1111 = _T_916[7:4]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263149.4]
+  assign _T_1114 = ~ _T_1111; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263152.4]
+  assign _T_1115 = _T_1114 == 4'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263153.4]
+  assign _T_1123 = _T_2384 & _T_1115; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263161.4]
+  assign _T_1125 = _T_174_a_bits_data[7:4]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263163.4]
+  assign _T_1135 = {insn_pad_cnt,_T_1108}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@263176.4]
+  assign _T_1138 = _T_916[9:8]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263179.4]
+  assign _T_1141 = ~ _T_1138; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263182.4]
+  assign _T_1142 = _T_1141 == 2'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263183.4]
+  assign _T_1150 = _T_2384 & _T_1142; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263191.4]
+  assign _T_1152 = _T_174_a_bits_data[9:8]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263193.4]
+  assign _T_1162 = {insn_cmd_proto,_T_1135}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@263206.4]
+  assign _T_1165 = _T_916[11:10]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263209.4]
+  assign _T_1168 = ~ _T_1165; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263212.4]
+  assign _T_1169 = _T_1168 == 2'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263213.4]
+  assign _T_1177 = _T_2384 & _T_1169; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263221.4]
+  assign _T_1179 = _T_174_a_bits_data[11:10]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263223.4]
+  assign _T_1189 = {insn_addr_proto,_T_1162}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@263236.4]
+  assign _T_1192 = _T_916[13:12]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263239.4]
+  assign _T_1195 = ~ _T_1192; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263242.4]
+  assign _T_1196 = _T_1195 == 2'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263243.4]
+  assign _T_1204 = _T_2384 & _T_1196; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263251.4]
+  assign _T_1206 = _T_174_a_bits_data[13:12]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263253.4]
+  assign _T_1216 = {insn_data_proto,_T_1189}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@263266.4]
+  assign _T_1231 = _T_2384 & _T_1011; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263281.4]
+  assign _T_1242 = {{2'd0}, _T_1216}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263295.4]
+  assign _T_1243 = {insn_cmd_code,_T_1242}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@263296.4]
+  assign _T_1246 = _T_916[31:24]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263299.4]
+  assign _T_1249 = ~ _T_1246; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263302.4]
+  assign _T_1250 = _T_1249 == 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263303.4]
+  assign _T_1258 = _T_2384 & _T_1250; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263311.4]
+  assign _T_1260 = _T_174_a_bits_data[31:24]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263313.4]
+  assign _T_1270 = {insn_pad_code,_T_1243}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@263326.4]
+  assign _T_1942 = _T_1927[14]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264050.4]
+  assign _T_2317 = _T_2230 & _T_1942; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264513.4]
+  assign _T_2318 = _T_2317 & _T_694; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264514.4]
+  assign _T_1285 = _T_2318 & _T_936; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263341.4]
+  assign _T_1298 = _T_916[3:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263357.4]
+  assign _T_1301 = ~ _T_1298; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263360.4]
+  assign _T_1302 = _T_1301 == 4'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263361.4]
+  assign _T_1948 = _T_1927[20]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264056.4]
+  assign _T_2353 = _T_2230 & _T_1948; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264567.4]
+  assign _T_2354 = _T_2353 & _T_694; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264568.4]
+  assign _T_1310 = _T_2354 & _T_1302; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263369.4]
+  assign _T_1312 = _T_174_a_bits_data[3:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263371.4]
+  assign _T_1346 = fifo_io_ip_txwm; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263408.4]
+  assign _T_1348 = _T_916[1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263410.4]
+  assign _T_1351 = ~ _T_1348; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263413.4]
+  assign _T_1352 = _T_1351 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263414.4]
+  assign _T_1362 = _T_174_a_bits_data[1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263424.4]
+  assign _T_1372 = {fifo_io_ip_rxwm,_T_1346}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@263434.4]
+  assign _T_1929 = _T_1927[1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264037.4]
+  assign _T_2239 = _T_2230 & _T_1929; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264413.4]
+  assign _T_2240 = _T_2239 & _T_694; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264414.4]
+  assign _T_1387 = _T_2240 & _T_961; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263449.4]
+  assign _T_1412 = _T_2240 & _T_1352; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263477.4]
+  assign _T_1424 = {ctrl_sck_pol,ctrl_sck_pha}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@263492.4]
+  assign _T_1427 = _T_916[1:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263495.4]
+  assign _T_1430 = ~ _T_1427; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263498.4]
+  assign _T_1431 = _T_1430 == 2'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263499.4]
+  assign _T_1934 = _T_1927[6]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264042.4]
+  assign _T_2269 = _T_2230 & _T_1934; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264452.4]
+  assign _T_2270 = _T_2269 & _T_694; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264453.4]
+  assign _T_1439 = _T_2270 & _T_1431; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263507.4]
+  assign _T_1441 = _T_174_a_bits_data[1:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263509.4]
+  assign _T_1956 = _T_1927[28]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264064.4]
+  assign _T_2401 = _T_2230 & _T_1956; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264634.4]
+  assign _T_2402 = _T_2401 & _T_694; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264635.4]
+  assign _T_1464 = _T_2402 & _T_961; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263535.4]
+  assign _T_1489 = _T_2402 & _T_1352; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263563.4]
+  assign _T_1501 = {ie_rxwm,ie_txwm}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@263578.4]
+  assign _T_1949 = _T_1927[21]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264057.4]
+  assign _T_2359 = _T_2230 & _T_1949; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264575.4]
+  assign _T_2360 = _T_2359 & _T_694; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264576.4]
+  assign _T_1516 = _T_2360 & _T_1302; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263593.4]
+  assign _T_1946 = _T_1927[18]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264054.4]
+  assign _T_2341 = _T_2230 & _T_1946; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264547.4]
+  assign _T_2342 = _T_2341 & _T_694; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264548.4]
+  assign _T_1541 = _T_2342 & _T_986; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263621.4]
+  assign _T_1590 = _T_916[31]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263672.4]
+  assign _T_1591 = ~ _T_1590; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263673.4]
+  assign _T_1592 = _T_1591 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263674.4]
+  assign _T_1596 = _T_2342 & _T_1592; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263678.4]
+  assign _T_1597 = _T_174_a_bits_data[31]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263679.4]
+  assign _T_1599 = _T_1596 & _T_1597; // @[RegMapFIFO.scala 26:26:shc.marmotcaravel.MarmotCaravelConfig.fir@263681.4]
+  assign _T_1544 = _T_1599 == 1'h0; // @[RegMapFIFO.scala 18:33:shc.marmotcaravel.MarmotCaravelConfig.fir@263624.4]
+  assign _T_1609 = {_T_655,31'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@263692.4]
+  assign _T_1944 = _T_1927[16]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264052.4]
+  assign _T_2329 = _T_2230 & _T_1944; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264529.4]
+  assign _T_2330 = _T_2329 & _T_694; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264530.4]
+  assign _T_1624 = _T_2330 & _T_1431; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263707.4]
+  assign _T_1637 = _T_916[2]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263723.4]
+  assign _T_1640 = ~ _T_1637; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263726.4]
+  assign _T_1641 = _T_1640 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263727.4]
+  assign _T_1649 = _T_2330 & _T_1641; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263735.4]
+  assign _T_1651 = _T_174_a_bits_data[2]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263737.4]
+  assign _T_1661 = {ctrl_fmt_endian,ctrl_fmt_proto}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@263750.4]
+  assign _T_1664 = _T_916[3]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263753.4]
+  assign _T_1667 = ~ _T_1664; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263756.4]
+  assign _T_1668 = _T_1667 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263757.4]
+  assign _T_1676 = _T_2330 & _T_1668; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263765.4]
+  assign _T_1678 = _T_174_a_bits_data[3]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263767.4]
+  assign _T_1688 = {ctrl_fmt_iodir,_T_1661}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@263780.4]
+  assign _T_1691 = _T_916[19:16]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263783.4]
+  assign _T_1694 = ~ _T_1691; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263786.4]
+  assign _T_1695 = _T_1694 == 4'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263787.4]
+  assign _T_1703 = _T_2330 & _T_1695; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263795.4]
+  assign _T_1705 = _T_174_a_bits_data[19:16]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263797.4]
+  assign _T_1714 = {{12'd0}, _T_1688}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263809.4]
+  assign _T_1715 = {ctrl_fmt_len,_T_1714}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@263810.4]
+  assign _T_1939 = _T_1927[11]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264047.4]
+  assign _T_2299 = _T_2230 & _T_1939; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264490.4]
+  assign _T_2300 = _T_2299 & _T_694; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264491.4]
+  assign _T_1730 = _T_2300 & _T_986; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263825.4]
+  assign _T_1755 = _T_2300 & _T_1011; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263853.4]
+  assign _T_1766 = {{8'd0}, ctrl_dla_intercs}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263867.4]
+  assign _T_1767 = {ctrl_dla_interxfr,_T_1766}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@263868.4]
+  assign _T_1947 = _T_1927[19]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264055.4]
+  assign _T_2111 = _T_1994 & _T_1947; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264257.4]
+  assign _T_2112 = _T_2111 & _T_694; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264258.4]
+  assign _T_1793 = fifo_io_rx_bits; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263895.4]
+  assign _T_1819 = {1'h0,_T_1793}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@263921.4]
+  assign _T_1820 = {{22'd0}, _T_1819}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263922.4]
+  assign _T_1846 = {_T_656,_T_1820}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@263948.4]
+  assign _T_1932 = _T_1927[4]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264040.4]
+  assign _T_2257 = _T_2230 & _T_1932; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264436.4]
+  assign _T_2258 = _T_2257 & _T_694; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264437.4]
+  assign _T_1861 = _T_2258 & _T_961; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263963.4]
+  assign _T_1874 = _T_916[4:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263979.4]
+  assign _T_1877 = ~ _T_1874; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263982.4]
+  assign _T_1878 = _T_1877 == 5'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263983.4]
+  assign _T_1943 = _T_1927[15]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264051.4]
+  assign _T_2323 = _T_2230 & _T_1943; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264521.4]
+  assign _T_2324 = _T_2323 & _T_694; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264522.4]
+  assign _T_1886 = _T_2324 & _T_1878; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263991.4]
+  assign _T_1888 = _T_174_a_bits_data[4:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263993.4]
+  assign _GEN_166 = 5'h1 == _T_1926 ? _T_694 : _T_694; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265345.4]
+  assign _GEN_167 = 5'h2 == _T_1926 ? 1'h1 : _GEN_166; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265345.4]
+  assign _GEN_168 = 5'h3 == _T_1926 ? 1'h1 : _GEN_167; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265345.4]
+  assign _GEN_169 = 5'h4 == _T_1926 ? _T_694 : _GEN_168; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265345.4]
+  assign _GEN_170 = 5'h5 == _T_1926 ? _T_694 : _GEN_169; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265345.4]
+  assign _GEN_171 = 5'h6 == _T_1926 ? _T_694 : _GEN_170; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265345.4]
+  assign _GEN_172 = 5'h7 == _T_1926 ? 1'h1 : _GEN_171; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265345.4]
+  assign _GEN_173 = 5'h8 == _T_1926 ? 1'h1 : _GEN_172; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265345.4]
+  assign _GEN_174 = 5'h9 == _T_1926 ? 1'h1 : _GEN_173; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265345.4]
+  assign _GEN_175 = 5'ha == _T_1926 ? _T_694 : _GEN_174; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265345.4]
+  assign _GEN_176 = 5'hb == _T_1926 ? _T_694 : _GEN_175; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265345.4]
+  assign _GEN_177 = 5'hc == _T_1926 ? 1'h1 : _GEN_176; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265345.4]
+  assign _GEN_178 = 5'hd == _T_1926 ? 1'h1 : _GEN_177; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265345.4]
+  assign _GEN_179 = 5'he == _T_1926 ? _T_694 : _GEN_178; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265345.4]
+  assign _GEN_180 = 5'hf == _T_1926 ? _T_694 : _GEN_179; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265345.4]
+  assign _GEN_181 = 5'h10 == _T_1926 ? _T_694 : _GEN_180; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265345.4]
+  assign _GEN_182 = 5'h11 == _T_1926 ? 1'h1 : _GEN_181; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265345.4]
+  assign _GEN_183 = 5'h12 == _T_1926 ? _T_694 : _GEN_182; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265345.4]
+  assign _GEN_184 = 5'h13 == _T_1926 ? _T_694 : _GEN_183; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265345.4]
+  assign _GEN_185 = 5'h14 == _T_1926 ? _T_694 : _GEN_184; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265345.4]
+  assign _GEN_186 = 5'h15 == _T_1926 ? _T_694 : _GEN_185; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265345.4]
+  assign _GEN_187 = 5'h16 == _T_1926 ? 1'h1 : _GEN_186; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265345.4]
+  assign _GEN_188 = 5'h17 == _T_1926 ? 1'h1 : _GEN_187; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265345.4]
+  assign _GEN_189 = 5'h18 == _T_1926 ? _T_694 : _GEN_188; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265345.4]
+  assign _GEN_190 = 5'h19 == _T_1926 ? _T_694 : _GEN_189; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265345.4]
+  assign _GEN_191 = 5'h1a == _T_1926 ? 1'h1 : _GEN_190; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265345.4]
+  assign _GEN_192 = 5'h1b == _T_1926 ? 1'h1 : _GEN_191; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265345.4]
+  assign _GEN_193 = 5'h1c == _T_1926 ? _T_694 : _GEN_192; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265345.4]
+  assign _GEN_194 = 5'h1d == _T_1926 ? _T_694 : _GEN_193; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265345.4]
+  assign _GEN_195 = 5'h1e == _T_1926 ? 1'h1 : _GEN_194; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265345.4]
+  assign _GEN_196 = 5'h1f == _T_1926 ? 1'h1 : _GEN_195; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265345.4]
+  assign _T_2986_0 = {{20'd0}, ctrl_sck_div}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@265347.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@265349.4]
+  assign _T_2986_1 = {{30'd0}, _T_1424}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@265347.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@265350.4]
+  assign _GEN_198 = 5'h1 == _T_1926 ? _T_2986_1 : _T_2986_0; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265381.4]
+  assign _GEN_199 = 5'h2 == _T_1926 ? 32'h0 : _GEN_198; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265381.4]
+  assign _GEN_200 = 5'h3 == _T_1926 ? 32'h0 : _GEN_199; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265381.4]
+  assign _T_2986_4 = {{31'd0}, ctrl_cs_id}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@265347.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@265353.4]
+  assign _GEN_201 = 5'h4 == _T_1926 ? _T_2986_4 : _GEN_200; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265381.4]
+  assign _T_2986_5 = {{31'd0}, ctrl_cs_dflt_0}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@265347.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@265354.4]
+  assign _GEN_202 = 5'h5 == _T_1926 ? _T_2986_5 : _GEN_201; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265381.4]
+  assign _T_2986_6 = {{30'd0}, ctrl_cs_mode}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@265347.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@265355.4]
+  assign _GEN_203 = 5'h6 == _T_1926 ? _T_2986_6 : _GEN_202; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265381.4]
+  assign _GEN_204 = 5'h7 == _T_1926 ? 32'h0 : _GEN_203; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265381.4]
+  assign _GEN_205 = 5'h8 == _T_1926 ? 32'h0 : _GEN_204; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265381.4]
+  assign _GEN_206 = 5'h9 == _T_1926 ? 32'h0 : _GEN_205; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265381.4]
+  assign _T_2986_10 = {{8'd0}, _T_1031}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@265347.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@265359.4]
+  assign _GEN_207 = 5'ha == _T_1926 ? _T_2986_10 : _GEN_206; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265381.4]
+  assign _T_2986_11 = {{8'd0}, _T_1767}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@265347.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@265360.4]
+  assign _GEN_208 = 5'hb == _T_1926 ? _T_2986_11 : _GEN_207; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265381.4]
+  assign _GEN_209 = 5'hc == _T_1926 ? 32'h0 : _GEN_208; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265381.4]
+  assign _GEN_210 = 5'hd == _T_1926 ? 32'h0 : _GEN_209; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265381.4]
+  assign _T_2986_14 = {{20'd0}, ctrl_extradel_coarse}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@265347.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@265363.4]
+  assign _GEN_211 = 5'he == _T_1926 ? _T_2986_14 : _GEN_210; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265381.4]
+  assign _T_2986_15 = {{27'd0}, ctrl_sampledel_sd}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@265347.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@265364.4]
+  assign _GEN_212 = 5'hf == _T_1926 ? _T_2986_15 : _GEN_211; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265381.4]
+  assign _T_2986_16 = {{12'd0}, _T_1715}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@265347.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@265365.4]
+  assign _GEN_213 = 5'h10 == _T_1926 ? _T_2986_16 : _GEN_212; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265381.4]
+  assign _GEN_214 = 5'h11 == _T_1926 ? 32'h0 : _GEN_213; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265381.4]
+  assign _GEN_215 = 5'h12 == _T_1926 ? _T_1609 : _GEN_214; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265381.4]
+  assign _GEN_216 = 5'h13 == _T_1926 ? _T_1846 : _GEN_215; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265381.4]
+  assign _T_2986_20 = {{28'd0}, ctrl_wm_tx}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@265347.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@265369.4]
+  assign _GEN_217 = 5'h14 == _T_1926 ? _T_2986_20 : _GEN_216; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265381.4]
+  assign _T_2986_21 = {{28'd0}, ctrl_wm_rx}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@265347.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@265370.4]
+  assign _GEN_218 = 5'h15 == _T_1926 ? _T_2986_21 : _GEN_217; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265381.4]
+  assign _GEN_219 = 5'h16 == _T_1926 ? 32'h0 : _GEN_218; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265381.4]
+  assign _GEN_220 = 5'h17 == _T_1926 ? 32'h0 : _GEN_219; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265381.4]
+  assign _T_2986_24 = {{31'd0}, flash_en}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@265347.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@265373.4]
+  assign _GEN_221 = 5'h18 == _T_1926 ? _T_2986_24 : _GEN_220; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265381.4]
+  assign _GEN_222 = 5'h19 == _T_1926 ? _T_1270 : _GEN_221; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265381.4]
+  assign _GEN_223 = 5'h1a == _T_1926 ? 32'h0 : _GEN_222; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265381.4]
+  assign _GEN_224 = 5'h1b == _T_1926 ? 32'h0 : _GEN_223; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265381.4]
+  assign _T_2986_28 = {{30'd0}, _T_1501}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@265347.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@265377.4]
+  assign _GEN_225 = 5'h1c == _T_1926 ? _T_2986_28 : _GEN_224; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265381.4]
+  assign _T_2986_29 = {{30'd0}, _T_1372}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@265347.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@265378.4]
+  assign _GEN_226 = 5'h1d == _T_1926 ? _T_2986_29 : _GEN_225; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265381.4]
+  assign _GEN_227 = 5'h1e == _T_1926 ? 32'h0 : _GEN_226; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265381.4]
+  assign _GEN_228 = 5'h1f == _T_1926 ? 32'h0 : _GEN_227; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265381.4]
+  assign auto_int_xing_out_sync_0 = intsource_auto_out_sync_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@262744.4]
+  assign auto_mem_xing_in_a_ready = buffer_1_auto_in_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@262743.4]
+  assign auto_mem_xing_in_d_valid = buffer_1_auto_in_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@262743.4]
+  assign auto_mem_xing_in_d_bits_size = buffer_1_auto_in_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@262743.4]
+  assign auto_mem_xing_in_d_bits_source = buffer_1_auto_in_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@262743.4]
+  assign auto_mem_xing_in_d_bits_data = buffer_1_auto_in_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@262743.4]
+  assign auto_control_xing_in_a_ready = buffer_auto_in_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@262742.4]
+  assign auto_control_xing_in_d_valid = buffer_auto_in_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@262742.4]
+  assign auto_control_xing_in_d_bits_opcode = buffer_auto_in_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@262742.4]
+  assign auto_control_xing_in_d_bits_size = buffer_auto_in_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@262742.4]
+  assign auto_control_xing_in_d_bits_source = buffer_auto_in_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@262742.4]
+  assign auto_control_xing_in_d_bits_data = buffer_auto_in_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@262742.4]
+  assign auto_io_out_sck = mac_io_port_sck; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@262741.4]
+  assign auto_io_out_dq_0_o = mac_io_port_dq_0_o; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@262741.4]
+  assign auto_io_out_dq_0_oe = mac_io_port_dq_0_oe; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@262741.4]
+  assign auto_io_out_dq_1_o = mac_io_port_dq_1_o; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@262741.4]
+  assign auto_io_out_dq_1_oe = mac_io_port_dq_1_oe; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@262741.4]
+  assign auto_io_out_dq_2_o = mac_io_port_dq_2_o; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@262741.4]
+  assign auto_io_out_dq_2_oe = mac_io_port_dq_2_oe; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@262741.4]
+  assign auto_io_out_dq_3_o = mac_io_port_dq_3_o; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@262741.4]
+  assign auto_io_out_dq_3_oe = mac_io_port_dq_3_oe; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@262741.4]
+  assign auto_io_out_cs_0 = mac_io_port_cs_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@262741.4]
+  assign buffer_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262624.4]
+  assign buffer_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262625.4]
+  assign buffer_auto_in_a_valid = auto_control_xing_in_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@262737.4]
+  assign buffer_auto_in_a_bits_opcode = auto_control_xing_in_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@262737.4]
+  assign buffer_auto_in_a_bits_param = auto_control_xing_in_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@262737.4]
+  assign buffer_auto_in_a_bits_size = auto_control_xing_in_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@262737.4]
+  assign buffer_auto_in_a_bits_source = auto_control_xing_in_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@262737.4]
+  assign buffer_auto_in_a_bits_address = auto_control_xing_in_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@262737.4]
+  assign buffer_auto_in_a_bits_mask = auto_control_xing_in_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@262737.4]
+  assign buffer_auto_in_a_bits_data = auto_control_xing_in_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@262737.4]
+  assign buffer_auto_in_a_bits_corrupt = auto_control_xing_in_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@262737.4]
+  assign buffer_auto_in_d_ready = auto_control_xing_in_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@262737.4]
+  assign buffer_auto_out_a_ready = buffer_auto_out_d_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@262736.4]
+  assign buffer_auto_out_d_valid = buffer_auto_out_a_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@262736.4]
+  assign buffer_auto_out_d_bits_opcode = {{2'd0}, _T_674}; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@262736.4]
+  assign buffer_auto_out_d_bits_size = _T_676[1:0]; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@262736.4]
+  assign buffer_auto_out_d_bits_source = _T_676[7:2]; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@262736.4]
+  assign buffer_auto_out_d_bits_data = _GEN_196 ? _GEN_228 : 32'h0; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@262736.4]
+  assign buffer_1_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262630.4]
+  assign buffer_1_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262631.4]
+  assign buffer_1_auto_in_a_valid = auto_mem_xing_in_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@262739.4]
+  assign buffer_1_auto_in_a_bits_opcode = auto_mem_xing_in_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@262739.4]
+  assign buffer_1_auto_in_a_bits_param = auto_mem_xing_in_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@262739.4]
+  assign buffer_1_auto_in_a_bits_size = auto_mem_xing_in_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@262739.4]
+  assign buffer_1_auto_in_a_bits_source = auto_mem_xing_in_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@262739.4]
+  assign buffer_1_auto_in_a_bits_address = auto_mem_xing_in_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@262739.4]
+  assign buffer_1_auto_in_a_bits_mask = auto_mem_xing_in_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@262739.4]
+  assign buffer_1_auto_in_a_bits_corrupt = auto_mem_xing_in_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@262739.4]
+  assign buffer_1_auto_in_d_ready = auto_mem_xing_in_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@262739.4]
+  assign buffer_1_auto_out_a_ready = flash_io_addr_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@262738.4]
+  assign buffer_1_auto_out_d_valid = flash_io_data_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@262738.4]
+  assign buffer_1_auto_out_d_bits_size = a_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@262738.4]
+  assign buffer_1_auto_out_d_bits_source = a_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@262738.4]
+  assign buffer_1_auto_out_d_bits_data = flash_io_data_bits; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@262738.4]
+  assign intsource_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262636.4]
+  assign intsource_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262637.4]
+  assign intsource_auto_in_0 = _T_650 | _T_651; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@262735.4]
+  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262646.4]
+  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262647.4]
+  assign TLMonitor_io_in_a_ready = flash_io_addr_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262680.4]
+  assign TLMonitor_io_in_a_valid = buffer_1_auto_out_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262680.4]
+  assign TLMonitor_io_in_a_bits_opcode = buffer_1_auto_out_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262680.4]
+  assign TLMonitor_io_in_a_bits_param = buffer_1_auto_out_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262680.4]
+  assign TLMonitor_io_in_a_bits_size = buffer_1_auto_out_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262680.4]
+  assign TLMonitor_io_in_a_bits_source = buffer_1_auto_out_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262680.4]
+  assign TLMonitor_io_in_a_bits_address = buffer_1_auto_out_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262680.4]
+  assign TLMonitor_io_in_a_bits_mask = buffer_1_auto_out_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262680.4]
+  assign TLMonitor_io_in_a_bits_corrupt = buffer_1_auto_out_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262680.4]
+  assign TLMonitor_io_in_d_ready = buffer_1_auto_out_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262680.4]
+  assign TLMonitor_io_in_d_valid = flash_io_data_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262680.4]
+  assign TLMonitor_io_in_d_bits_size = a_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262680.4]
+  assign TLMonitor_io_in_d_bits_source = a_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262680.4]
+  assign TLMonitor_1_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262685.4]
+  assign TLMonitor_1_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262686.4]
+  assign TLMonitor_1_io_in_a_ready = buffer_auto_out_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262719.4]
+  assign TLMonitor_1_io_in_a_valid = buffer_auto_out_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262719.4]
+  assign TLMonitor_1_io_in_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262719.4]
+  assign TLMonitor_1_io_in_a_bits_param = buffer_auto_out_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262719.4]
+  assign TLMonitor_1_io_in_a_bits_size = buffer_auto_out_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262719.4]
+  assign TLMonitor_1_io_in_a_bits_source = buffer_auto_out_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262719.4]
+  assign TLMonitor_1_io_in_a_bits_address = buffer_auto_out_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262719.4]
+  assign TLMonitor_1_io_in_a_bits_mask = buffer_auto_out_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262719.4]
+  assign TLMonitor_1_io_in_a_bits_corrupt = buffer_auto_out_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262719.4]
+  assign TLMonitor_1_io_in_d_ready = buffer_auto_out_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262719.4]
+  assign TLMonitor_1_io_in_d_valid = buffer_auto_out_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262719.4]
+  assign TLMonitor_1_io_in_d_bits_opcode = {{2'd0}, _T_674}; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262719.4]
+  assign TLMonitor_1_io_in_d_bits_size = _T_676[1:0]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262719.4]
+  assign TLMonitor_1_io_in_d_bits_source = _T_676[7:2]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262719.4]
+  assign fifo_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262769.4]
+  assign fifo_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262770.4]
+  assign fifo_io_ctrl_fmt_proto = ctrl_fmt_proto; // @[TLSPI.scala 67:20:shc.marmotcaravel.MarmotCaravelConfig.fir@262776.4]
+  assign fifo_io_ctrl_fmt_endian = ctrl_fmt_endian; // @[TLSPI.scala 67:20:shc.marmotcaravel.MarmotCaravelConfig.fir@262776.4]
+  assign fifo_io_ctrl_fmt_iodir = ctrl_fmt_iodir; // @[TLSPI.scala 67:20:shc.marmotcaravel.MarmotCaravelConfig.fir@262776.4]
+  assign fifo_io_ctrl_fmt_len = ctrl_fmt_len; // @[TLSPI.scala 67:20:shc.marmotcaravel.MarmotCaravelConfig.fir@262776.4]
+  assign fifo_io_ctrl_cs_mode = ctrl_cs_mode; // @[TLSPI.scala 68:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262777.4]
+  assign fifo_io_ctrl_wm_tx = ctrl_wm_tx; // @[TLSPI.scala 69:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262778.4]
+  assign fifo_io_ctrl_wm_rx = ctrl_wm_rx; // @[TLSPI.scala 69:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262778.4]
+  assign fifo_io_link_tx_ready = arb_io_inner_1_tx_ready; // @[TLSPIFlash.scala 127:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262855.4]
+  assign fifo_io_link_rx_valid = arb_io_inner_1_rx_valid; // @[TLSPIFlash.scala 127:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262855.4]
+  assign fifo_io_link_rx_bits = arb_io_inner_1_rx_bits; // @[TLSPIFlash.scala 127:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262855.4]
+  assign fifo_io_tx_valid = _T_1541 & _T_1544; // @[RegMapFIFO.scala 18:21:shc.marmotcaravel.MarmotCaravelConfig.fir@263626.4]
+  assign fifo_io_tx_bits = _T_174_a_bits_data[7:0]; // @[RegMapFIFO.scala 19:20:shc.marmotcaravel.MarmotCaravelConfig.fir@263627.4]
+  assign fifo_io_rx_ready = _T_2112 & _T_983; // @[RegMapFIFO.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@263885.4]
+  assign mac_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262773.4]
+  assign mac_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262774.4]
+  assign mac_io_port_dq_0_i = auto_io_out_dq_0_i; // @[TLSPI.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@262775.4]
+  assign mac_io_port_dq_1_i = auto_io_out_dq_1_i; // @[TLSPI.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@262775.4]
+  assign mac_io_port_dq_2_i = auto_io_out_dq_2_i; // @[TLSPI.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@262775.4]
+  assign mac_io_port_dq_3_i = auto_io_out_dq_3_i; // @[TLSPI.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@262775.4]
+  assign mac_io_ctrl_sck_div = ctrl_sck_div; // @[TLSPI.scala 70:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262779.4]
+  assign mac_io_ctrl_sck_pol = ctrl_sck_pol; // @[TLSPI.scala 70:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262779.4]
+  assign mac_io_ctrl_sck_pha = ctrl_sck_pha; // @[TLSPI.scala 70:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262779.4]
+  assign mac_io_ctrl_dla_cssck = ctrl_dla_cssck; // @[TLSPI.scala 73:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262782.4]
+  assign mac_io_ctrl_dla_sckcs = ctrl_dla_sckcs; // @[TLSPI.scala 73:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262782.4]
+  assign mac_io_ctrl_dla_intercs = ctrl_dla_intercs; // @[TLSPI.scala 73:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262782.4]
+  assign mac_io_ctrl_dla_interxfr = ctrl_dla_interxfr; // @[TLSPI.scala 73:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262782.4]
+  assign mac_io_ctrl_cs_id = ctrl_cs_id; // @[TLSPI.scala 74:18:shc.marmotcaravel.MarmotCaravelConfig.fir@262783.4]
+  assign mac_io_ctrl_cs_dflt_0 = ctrl_cs_dflt_0; // @[TLSPI.scala 74:18:shc.marmotcaravel.MarmotCaravelConfig.fir@262783.4]
+  assign mac_io_ctrl_extradel_coarse = ctrl_extradel_coarse; // @[TLSPI.scala 71:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262780.4]
+  assign mac_io_ctrl_sampledel_sd = ctrl_sampledel_sd; // @[TLSPI.scala 72:25:shc.marmotcaravel.MarmotCaravelConfig.fir@262781.4]
+  assign mac_io_link_tx_valid = arb_io_outer_tx_valid; // @[TLSPIFlash.scala 128:17:shc.marmotcaravel.MarmotCaravelConfig.fir@262856.4]
+  assign mac_io_link_tx_bits = arb_io_outer_tx_bits; // @[TLSPIFlash.scala 128:17:shc.marmotcaravel.MarmotCaravelConfig.fir@262856.4]
+  assign mac_io_link_cnt = arb_io_outer_cnt; // @[TLSPIFlash.scala 128:17:shc.marmotcaravel.MarmotCaravelConfig.fir@262856.4]
+  assign mac_io_link_fmt_proto = arb_io_outer_fmt_proto; // @[TLSPIFlash.scala 128:17:shc.marmotcaravel.MarmotCaravelConfig.fir@262856.4]
+  assign mac_io_link_fmt_endian = arb_io_outer_fmt_endian; // @[TLSPIFlash.scala 128:17:shc.marmotcaravel.MarmotCaravelConfig.fir@262856.4]
+  assign mac_io_link_fmt_iodir = arb_io_outer_fmt_iodir; // @[TLSPIFlash.scala 128:17:shc.marmotcaravel.MarmotCaravelConfig.fir@262856.4]
+  assign mac_io_link_cs_set = arb_io_outer_cs_set; // @[TLSPIFlash.scala 128:17:shc.marmotcaravel.MarmotCaravelConfig.fir@262856.4]
+  assign mac_io_link_cs_clear = arb_io_outer_cs_clear; // @[TLSPIFlash.scala 128:17:shc.marmotcaravel.MarmotCaravelConfig.fir@262856.4]
+  assign mac_io_link_cs_hold = arb_io_outer_cs_hold; // @[TLSPIFlash.scala 128:17:shc.marmotcaravel.MarmotCaravelConfig.fir@262856.4]
+  assign flash_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262804.4]
+  assign flash_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262805.4]
+  assign flash_io_en = flash_en; // @[TLSPIFlash.scala 81:15:shc.marmotcaravel.MarmotCaravelConfig.fir@262851.4]
+  assign flash_io_ctrl_insn_cmd_proto = insn_cmd_proto; // @[TLSPIFlash.scala 79:22:shc.marmotcaravel.MarmotCaravelConfig.fir@262849.4]
+  assign flash_io_ctrl_insn_cmd_code = insn_cmd_code; // @[TLSPIFlash.scala 79:22:shc.marmotcaravel.MarmotCaravelConfig.fir@262849.4]
+  assign flash_io_ctrl_insn_cmd_en = insn_cmd_en; // @[TLSPIFlash.scala 79:22:shc.marmotcaravel.MarmotCaravelConfig.fir@262849.4]
+  assign flash_io_ctrl_insn_addr_proto = insn_addr_proto; // @[TLSPIFlash.scala 79:22:shc.marmotcaravel.MarmotCaravelConfig.fir@262849.4]
+  assign flash_io_ctrl_insn_addr_len = insn_addr_len; // @[TLSPIFlash.scala 79:22:shc.marmotcaravel.MarmotCaravelConfig.fir@262849.4]
+  assign flash_io_ctrl_insn_pad_code = insn_pad_code; // @[TLSPIFlash.scala 79:22:shc.marmotcaravel.MarmotCaravelConfig.fir@262849.4]
+  assign flash_io_ctrl_insn_pad_cnt = insn_pad_cnt; // @[TLSPIFlash.scala 79:22:shc.marmotcaravel.MarmotCaravelConfig.fir@262849.4]
+  assign flash_io_ctrl_insn_data_proto = insn_data_proto; // @[TLSPIFlash.scala 79:22:shc.marmotcaravel.MarmotCaravelConfig.fir@262849.4]
+  assign flash_io_ctrl_fmt_endian = ctrl_fmt_endian; // @[TLSPIFlash.scala 80:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262850.4]
+  assign flash_io_addr_valid = buffer_1_auto_out_a_valid; // @[TLSPIFlash.scala 69:23:shc.marmotcaravel.MarmotCaravelConfig.fir@262822.4]
+  assign flash_io_addr_bits_next = {{3'd0}, _T_658}; // @[TLSPIFlash.scala 67:27:shc.marmotcaravel.MarmotCaravelConfig.fir@262819.4]
+  assign flash_io_addr_bits_hold = {{3'd0}, _T_659}; // @[TLSPIFlash.scala 68:27:shc.marmotcaravel.MarmotCaravelConfig.fir@262821.4]
+  assign flash_io_data_ready = buffer_1_auto_out_d_ready; // @[TLSPIFlash.scala 74:23:shc.marmotcaravel.MarmotCaravelConfig.fir@262836.4]
+  assign flash_io_link_tx_ready = arb_io_inner_0_tx_ready; // @[TLSPIFlash.scala 126:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262854.4]
+  assign flash_io_link_rx_valid = arb_io_inner_0_rx_valid; // @[TLSPIFlash.scala 126:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262854.4]
+  assign flash_io_link_rx_bits = arb_io_inner_0_rx_bits; // @[TLSPIFlash.scala 126:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262854.4]
+  assign flash_io_link_active = arb_io_inner_0_active; // @[TLSPIFlash.scala 126:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262854.4]
+  assign arb_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262808.4]
+  assign arb_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262809.4]
+  assign arb_io_inner_0_tx_valid = flash_io_link_tx_valid; // @[TLSPIFlash.scala 126:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262854.4]
+  assign arb_io_inner_0_tx_bits = flash_io_link_tx_bits; // @[TLSPIFlash.scala 126:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262854.4]
+  assign arb_io_inner_0_cnt = flash_io_link_cnt; // @[TLSPIFlash.scala 126:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262854.4]
+  assign arb_io_inner_0_fmt_proto = flash_io_link_fmt_proto; // @[TLSPIFlash.scala 126:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262854.4]
+  assign arb_io_inner_0_fmt_endian = flash_io_link_fmt_endian; // @[TLSPIFlash.scala 126:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262854.4]
+  assign arb_io_inner_0_fmt_iodir = flash_io_link_fmt_iodir; // @[TLSPIFlash.scala 126:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262854.4]
+  assign arb_io_inner_0_cs_clear = flash_io_link_cs_clear; // @[TLSPIFlash.scala 126:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262854.4]
+  assign arb_io_inner_0_lock = flash_io_link_lock; // @[TLSPIFlash.scala 126:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262854.4]
+  assign arb_io_inner_1_tx_valid = fifo_io_link_tx_valid; // @[TLSPIFlash.scala 127:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262855.4]
+  assign arb_io_inner_1_tx_bits = fifo_io_link_tx_bits; // @[TLSPIFlash.scala 127:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262855.4]
+  assign arb_io_inner_1_cnt = fifo_io_link_cnt; // @[TLSPIFlash.scala 127:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262855.4]
+  assign arb_io_inner_1_fmt_proto = fifo_io_link_fmt_proto; // @[TLSPIFlash.scala 127:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262855.4]
+  assign arb_io_inner_1_fmt_endian = fifo_io_link_fmt_endian; // @[TLSPIFlash.scala 127:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262855.4]
+  assign arb_io_inner_1_fmt_iodir = fifo_io_link_fmt_iodir; // @[TLSPIFlash.scala 127:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262855.4]
+  assign arb_io_inner_1_cs_set = fifo_io_link_cs_set; // @[TLSPIFlash.scala 127:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262855.4]
+  assign arb_io_inner_1_cs_clear = fifo_io_link_cs_clear; // @[TLSPIFlash.scala 127:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262855.4]
+  assign arb_io_inner_1_lock = fifo_io_link_lock; // @[TLSPIFlash.scala 127:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262855.4]
+  assign arb_io_outer_tx_ready = mac_io_link_tx_ready; // @[TLSPIFlash.scala 128:17:shc.marmotcaravel.MarmotCaravelConfig.fir@262856.4]
+  assign arb_io_outer_rx_valid = mac_io_link_rx_valid; // @[TLSPIFlash.scala 128:17:shc.marmotcaravel.MarmotCaravelConfig.fir@262856.4]
+  assign arb_io_outer_rx_bits = mac_io_link_rx_bits; // @[TLSPIFlash.scala 128:17:shc.marmotcaravel.MarmotCaravelConfig.fir@262856.4]
+  assign arb_io_outer_active = mac_io_link_active; // @[TLSPIFlash.scala 128:17:shc.marmotcaravel.MarmotCaravelConfig.fir@262856.4]
+  assign arb_io_sel = flash_en == 1'h0; // @[TLSPIFlash.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@262853.4]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  ctrl_fmt_proto = _RAND_0[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  ctrl_fmt_endian = _RAND_1[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  ctrl_fmt_iodir = _RAND_2[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  ctrl_fmt_len = _RAND_3[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  ctrl_sck_div = _RAND_4[11:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  ctrl_sck_pol = _RAND_5[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {1{`RANDOM}};
+  ctrl_sck_pha = _RAND_6[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {1{`RANDOM}};
+  ctrl_cs_id = _RAND_7[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_8 = {1{`RANDOM}};
+  ctrl_cs_dflt_0 = _RAND_8[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_9 = {1{`RANDOM}};
+  ctrl_cs_mode = _RAND_9[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_10 = {1{`RANDOM}};
+  ctrl_dla_cssck = _RAND_10[7:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_11 = {1{`RANDOM}};
+  ctrl_dla_sckcs = _RAND_11[7:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_12 = {1{`RANDOM}};
+  ctrl_dla_intercs = _RAND_12[7:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_13 = {1{`RANDOM}};
+  ctrl_dla_interxfr = _RAND_13[7:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_14 = {1{`RANDOM}};
+  ctrl_wm_tx = _RAND_14[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_15 = {1{`RANDOM}};
+  ctrl_wm_rx = _RAND_15[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_16 = {1{`RANDOM}};
+  ctrl_extradel_coarse = _RAND_16[11:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_17 = {1{`RANDOM}};
+  ctrl_sampledel_sd = _RAND_17[4:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_18 = {1{`RANDOM}};
+  ie_txwm = _RAND_18[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_19 = {1{`RANDOM}};
+  ie_rxwm = _RAND_19[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_20 = {1{`RANDOM}};
+  a_size = _RAND_20[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_21 = {1{`RANDOM}};
+  a_source = _RAND_21[7:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_22 = {1{`RANDOM}};
+  a_address = _RAND_22[29:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_23 = {1{`RANDOM}};
+  insn_cmd_proto = _RAND_23[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_24 = {1{`RANDOM}};
+  insn_cmd_code = _RAND_24[7:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_25 = {1{`RANDOM}};
+  insn_cmd_en = _RAND_25[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_26 = {1{`RANDOM}};
+  insn_addr_proto = _RAND_26[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_27 = {1{`RANDOM}};
+  insn_addr_len = _RAND_27[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_28 = {1{`RANDOM}};
+  insn_pad_code = _RAND_28[7:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_29 = {1{`RANDOM}};
+  insn_pad_cnt = _RAND_29[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_30 = {1{`RANDOM}};
+  insn_data_proto = _RAND_30[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_31 = {1{`RANDOM}};
+  flash_en = _RAND_31[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      ctrl_fmt_proto <= 2'h0;
+    end else begin
+      if (_T_1624) begin
+        ctrl_fmt_proto <= _T_1441;
+      end
+    end
+    if (reset) begin
+      ctrl_fmt_endian <= 1'h0;
+    end else begin
+      if (_T_1649) begin
+        ctrl_fmt_endian <= _T_1651;
+      end
+    end
+    if (reset) begin
+      ctrl_fmt_iodir <= 1'h0;
+    end else begin
+      if (_T_1676) begin
+        ctrl_fmt_iodir <= _T_1678;
+      end
+    end
+    if (reset) begin
+      ctrl_fmt_len <= 4'h8;
+    end else begin
+      if (_T_1703) begin
+        ctrl_fmt_len <= _T_1705;
+      end
+    end
+    if (reset) begin
+      ctrl_sck_div <= 12'h3;
+    end else begin
+      if (_T_944) begin
+        ctrl_sck_div <= _T_946;
+      end
+    end
+    if (reset) begin
+      ctrl_sck_pol <= 1'h0;
+    end else begin
+      if (_T_1412) begin
+        ctrl_sck_pol <= _T_1362;
+      end
+    end
+    if (reset) begin
+      ctrl_sck_pha <= 1'h0;
+    end else begin
+      if (_T_1387) begin
+        ctrl_sck_pha <= _T_971;
+      end
+    end
+    if (reset) begin
+      ctrl_cs_id <= 1'h0;
+    end else begin
+      if (_T_1861) begin
+        ctrl_cs_id <= _T_971;
+      end
+    end
+    if (reset) begin
+      ctrl_cs_dflt_0 <= 1'h1;
+    end else begin
+      if (_T_969) begin
+        ctrl_cs_dflt_0 <= _T_971;
+      end
+    end
+    if (reset) begin
+      ctrl_cs_mode <= 2'h0;
+    end else begin
+      if (_T_1439) begin
+        ctrl_cs_mode <= _T_1441;
+      end
+    end
+    if (reset) begin
+      ctrl_dla_cssck <= 8'h1;
+    end else begin
+      if (_T_994) begin
+        ctrl_dla_cssck <= _T_996;
+      end
+    end
+    if (reset) begin
+      ctrl_dla_sckcs <= 8'h1;
+    end else begin
+      if (_T_1019) begin
+        ctrl_dla_sckcs <= _T_1021;
+      end
+    end
+    if (reset) begin
+      ctrl_dla_intercs <= 8'h1;
+    end else begin
+      if (_T_1730) begin
+        ctrl_dla_intercs <= _T_996;
+      end
+    end
+    if (reset) begin
+      ctrl_dla_interxfr <= 8'h0;
+    end else begin
+      if (_T_1755) begin
+        ctrl_dla_interxfr <= _T_1021;
+      end
+    end
+    if (reset) begin
+      ctrl_wm_tx <= 4'h0;
+    end else begin
+      if (_T_1310) begin
+        ctrl_wm_tx <= _T_1312;
+      end
+    end
+    if (reset) begin
+      ctrl_wm_rx <= 4'h0;
+    end else begin
+      if (_T_1516) begin
+        ctrl_wm_rx <= _T_1312;
+      end
+    end
+    if (reset) begin
+      ctrl_extradel_coarse <= 12'h0;
+    end else begin
+      if (_T_1285) begin
+        ctrl_extradel_coarse <= _T_946;
+      end
+    end
+    if (reset) begin
+      ctrl_sampledel_sd <= 5'h3;
+    end else begin
+      if (_T_1886) begin
+        ctrl_sampledel_sd <= _T_1888;
+      end
+    end
+    if (reset) begin
+      ie_txwm <= 1'h0;
+    end else begin
+      if (_T_1464) begin
+        ie_txwm <= _T_971;
+      end
+    end
+    if (reset) begin
+      ie_rxwm <= 1'h0;
+    end else begin
+      if (_T_1489) begin
+        ie_rxwm <= _T_1362;
+      end
+    end
+    if (_T_657) begin
+      a_size <= _T_108_a_bits_size;
+    end
+    if (_T_657) begin
+      a_source <= _T_108_a_bits_source;
+    end
+    if (_T_657) begin
+      a_address <= _T_108_a_bits_address;
+    end
+    if (reset) begin
+      insn_cmd_proto <= 2'h0;
+    end else begin
+      if (_T_1150) begin
+        insn_cmd_proto <= _T_1152;
+      end
+    end
+    if (reset) begin
+      insn_cmd_code <= 8'h3;
+    end else begin
+      if (_T_1231) begin
+        insn_cmd_code <= _T_1021;
+      end
+    end
+    if (reset) begin
+      insn_cmd_en <= 1'h1;
+    end else begin
+      if (_T_1071) begin
+        insn_cmd_en <= _T_971;
+      end
+    end
+    if (reset) begin
+      insn_addr_proto <= 2'h0;
+    end else begin
+      if (_T_1177) begin
+        insn_addr_proto <= _T_1179;
+      end
+    end
+    if (reset) begin
+      insn_addr_len <= 3'h3;
+    end else begin
+      if (_T_1096) begin
+        insn_addr_len <= _T_1098;
+      end
+    end
+    if (reset) begin
+      insn_pad_code <= 8'h0;
+    end else begin
+      if (_T_1258) begin
+        insn_pad_code <= _T_1260;
+      end
+    end
+    if (reset) begin
+      insn_pad_cnt <= 4'h0;
+    end else begin
+      if (_T_1123) begin
+        insn_pad_cnt <= _T_1125;
+      end
+    end
+    if (reset) begin
+      insn_data_proto <= 2'h0;
+    end else begin
+      if (_T_1204) begin
+        insn_data_proto <= _T_1206;
+      end
+    end
+    if (reset) begin
+      flash_en <= 1'h1;
+    end else begin
+      if (_T_1046) begin
+        flash_en <= _T_971;
+      end
+    end
+  end
+endmodule
+module TLMonitor_72( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@265476.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@265477.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@265478.4]
+  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@265479.4]
+  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@265479.4]
+  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@265479.4]
+  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@265479.4]
+  input  [1:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@265479.4]
+  input  [5:0]  io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@265479.4]
+  input  [28:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@265479.4]
+  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@265479.4]
+  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@265479.4]
+  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@265479.4]
+  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@265479.4]
+  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@265479.4]
+  input  [1:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@265479.4]
+  input  [5:0]  io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@265479.4]
+);
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@266606.4]
+  wire [4:0] _T_36; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@265506.6]
+  wire [1:0] _T_37; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@265507.6]
+  wire [1:0] _T_38; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@265508.6]
+  wire [28:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@265509.6]
+  wire [28:0] _T_39; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@265509.6]
+  wire  _T_40; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@265510.6]
+  wire  _T_42; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@265512.6]
+  wire [1:0] _T_43; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@265513.6]
+  wire [1:0] _T_45; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@265515.6]
+  wire  _T_46; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@265516.6]
+  wire  _T_47; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@265517.6]
+  wire  _T_48; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@265518.6]
+  wire  _T_49; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@265519.6]
+  wire  _T_51; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@265521.6]
+  wire  _T_52; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@265522.6]
+  wire  _T_54; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@265524.6]
+  wire  _T_55; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@265525.6]
+  wire  _T_56; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@265526.6]
+  wire  _T_57; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@265527.6]
+  wire  _T_58; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@265528.6]
+  wire  _T_59; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@265529.6]
+  wire  _T_60; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@265530.6]
+  wire  _T_61; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@265531.6]
+  wire  _T_62; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@265532.6]
+  wire  _T_63; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@265533.6]
+  wire  _T_64; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@265534.6]
+  wire  _T_65; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@265535.6]
+  wire  _T_66; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@265536.6]
+  wire  _T_67; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@265537.6]
+  wire  _T_68; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@265538.6]
+  wire  _T_69; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@265539.6]
+  wire  _T_70; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@265540.6]
+  wire [1:0] _T_71; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@265541.6]
+  wire [1:0] _T_72; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@265542.6]
+  wire [3:0] _T_73; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@265543.6]
+  wire  _T_92; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@265566.6]
+  wire [28:0] _T_94; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@265569.8]
+  wire [29:0] _T_95; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@265570.8]
+  wire [29:0] _T_96; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@265571.8]
+  wire [29:0] _T_97; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@265572.8]
+  wire  _T_98; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@265573.8]
+  wire  _T_103; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265578.8]
+  wire  _T_112; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265599.8]
+  wire  _T_113; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265600.8]
+  wire  _T_115; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265606.8]
+  wire  _T_116; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265607.8]
+  wire  _T_117; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@265612.8]
+  wire  _T_119; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265614.8]
+  wire  _T_120; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265615.8]
+  wire [3:0] _T_121; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@265620.8]
+  wire  _T_122; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@265621.8]
+  wire  _T_124; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265623.8]
+  wire  _T_125; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265624.8]
+  wire  _T_126; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@265629.8]
+  wire  _T_128; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265631.8]
+  wire  _T_129; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265632.8]
+  wire  _T_130; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@265638.6]
+  wire  _T_159; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@265692.8]
+  wire  _T_161; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265694.8]
+  wire  _T_162; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265695.8]
+  wire  _T_172; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@265718.6]
+  wire  _T_174; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@265721.8]
+  wire  _T_182; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@265729.8]
+  wire  _T_185; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265732.8]
+  wire  _T_186; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265733.8]
+  wire  _T_193; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@265752.8]
+  wire  _T_195; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265754.8]
+  wire  _T_196; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265755.8]
+  wire  _T_197; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@265760.8]
+  wire  _T_199; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265762.8]
+  wire  _T_200; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265763.8]
+  wire  _T_205; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@265777.6]
+  wire  _T_234; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@265828.6]
+  wire [3:0] _T_259; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@265870.8]
+  wire [3:0] _T_260; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@265871.8]
+  wire  _T_261; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@265872.8]
+  wire  _T_263; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265874.8]
+  wire  _T_264; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265875.8]
+  wire  _T_265; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@265881.6]
+  wire  _T_283; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@265912.8]
+  wire  _T_285; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265914.8]
+  wire  _T_286; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265915.8]
+  wire  _T_291; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@265929.6]
+  wire  _T_309; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@265960.8]
+  wire  _T_311; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265962.8]
+  wire  _T_312; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265963.8]
+  wire  _T_317; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@265977.6]
+  wire  _T_343; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@266027.6]
+  wire  _T_345; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@266029.6]
+  wire  _T_346; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@266030.6]
+  wire  _T_363; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@266047.6]
+  wire  _T_367; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@266056.8]
+  wire  _T_369; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266058.8]
+  wire  _T_370; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266059.8]
+  wire  _T_383; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@266089.6]
+  wire  _T_411; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@266147.6]
+  wire  _T_504; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@266337.4]
+  reg  _T_514; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@266346.4]
+  reg [31:0] _RAND_0;
+  wire [1:0] _T_515; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@266347.4]
+  wire [1:0] _T_516; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@266348.4]
+  wire  _T_517; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@266349.4]
+  wire  _T_518; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@266350.4]
+  reg [2:0] _T_527; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@266361.4]
+  reg [31:0] _RAND_1;
+  reg [2:0] _T_529; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@266362.4]
+  reg [31:0] _RAND_2;
+  reg [1:0] _T_531; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@266363.4]
+  reg [31:0] _RAND_3;
+  reg [5:0] _T_533; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@266364.4]
+  reg [31:0] _RAND_4;
+  reg [28:0] _T_535; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@266365.4]
+  reg [31:0] _RAND_5;
+  wire  _T_536; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@266366.4]
+  wire  _T_537; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@266367.4]
+  wire  _T_538; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@266369.6]
+  wire  _T_540; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266371.6]
+  wire  _T_541; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266372.6]
+  wire  _T_542; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@266377.6]
+  wire  _T_544; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266379.6]
+  wire  _T_545; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266380.6]
+  wire  _T_546; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@266385.6]
+  wire  _T_548; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266387.6]
+  wire  _T_549; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266388.6]
+  wire  _T_550; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@266393.6]
+  wire  _T_552; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266395.6]
+  wire  _T_553; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266396.6]
+  wire  _T_554; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@266401.6]
+  wire  _T_556; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266403.6]
+  wire  _T_557; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266404.6]
+  wire  _T_559; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@266411.4]
+  wire  _T_560; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@266419.4]
+  reg  _T_569; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@266427.4]
+  reg [31:0] _RAND_6;
+  wire [1:0] _T_570; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@266428.4]
+  wire [1:0] _T_571; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@266429.4]
+  wire  _T_572; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@266430.4]
+  wire  _T_573; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@266431.4]
+  reg [2:0] _T_582; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@266442.4]
+  reg [31:0] _RAND_7;
+  reg [1:0] _T_586; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@266444.4]
+  reg [31:0] _RAND_8;
+  reg [5:0] _T_588; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@266445.4]
+  reg [31:0] _RAND_9;
+  wire  _T_593; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@266448.4]
+  wire  _T_594; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@266449.4]
+  wire  _T_595; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@266451.6]
+  wire  _T_597; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266453.6]
+  wire  _T_598; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266454.6]
+  wire  _T_603; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@266467.6]
+  wire  _T_605; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266469.6]
+  wire  _T_606; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266470.6]
+  wire  _T_607; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@266475.6]
+  wire  _T_609; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266477.6]
+  wire  _T_610; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266478.6]
+  wire  _T_620; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@266501.4]
+  reg [63:0] _T_622; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@266510.4]
+  reg [63:0] _RAND_10;
+  reg  _T_633; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@266520.4]
+  reg [31:0] _RAND_11;
+  wire [1:0] _T_634; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@266521.4]
+  wire [1:0] _T_635; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@266522.4]
+  wire  _T_636; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@266523.4]
+  wire  _T_637; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@266524.4]
+  reg  _T_654; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@266543.4]
+  reg [31:0] _RAND_12;
+  wire [1:0] _T_655; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@266544.4]
+  wire [1:0] _T_656; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@266545.4]
+  wire  _T_657; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@266546.4]
+  wire  _T_658; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@266547.4]
+  wire  _T_669; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@266562.4]
+  wire [63:0] _T_671; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@266565.6]
+  wire [63:0] _T_672; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@266567.6]
+  wire  _T_673; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@266568.6]
+  wire  _T_674; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266569.6]
+  wire  _T_676; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@266571.6]
+  wire  _T_677; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@266572.6]
+  wire [63:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@266564.4]
+  wire  _T_682; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@266583.4]
+  wire  _T_684; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@266585.4]
+  wire  _T_685; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@266586.4]
+  wire [63:0] _T_686; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@266588.6]
+  wire [63:0] _T_687; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@266590.6]
+  wire [63:0] _T_688; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@266591.6]
+  wire  _T_689; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@266592.6]
+  wire  _T_691; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@266594.6]
+  wire  _T_692; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@266595.6]
+  wire [63:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@266587.4]
+  wire [63:0] _T_693; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@266601.4]
+  wire [63:0] _T_694; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@266602.4]
+  wire [63:0] _T_695; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@266603.4]
+  reg [31:0] _T_697; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@266605.4]
+  reg [31:0] _RAND_13;
+  wire  _T_698; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@266608.4]
+  wire  _T_699; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@266609.4]
+  wire  _T_700; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@266610.4]
+  wire  _T_701; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@266611.4]
+  wire  _T_702; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@266612.4]
+  wire  _T_703; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@266613.4]
+  wire  _T_705; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@266615.4]
+  wire  _T_706; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@266616.4]
+  wire [31:0] _T_708; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@266622.4]
+  wire  _T_711; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@266626.4]
+  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265580.10]
+  wire  _GEN_33; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265652.10]
+  wire  _GEN_49; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265735.10]
+  wire  _GEN_59; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265794.10]
+  wire  _GEN_67; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265845.10]
+  wire  _GEN_75; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265895.10]
+  wire  _GEN_83; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265943.10]
+  wire  _GEN_91; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265991.10]
+  wire  _GEN_99; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266061.10]
+  wire  _GEN_101; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266102.10]
+  wire  _GEN_105; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266160.10]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@266606.4]
+    .out(plusarg_reader_out)
+  );
+  assign _T_36 = 5'h3 << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@265506.6]
+  assign _T_37 = _T_36[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@265507.6]
+  assign _T_38 = ~ _T_37; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@265508.6]
+  assign _GEN_18 = {{27'd0}, _T_38}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@265509.6]
+  assign _T_39 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@265509.6]
+  assign _T_40 = _T_39 == 29'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@265510.6]
+  assign _T_42 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@265512.6]
+  assign _T_43 = 2'h1 << _T_42; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@265513.6]
+  assign _T_45 = _T_43 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@265515.6]
+  assign _T_46 = io_in_a_bits_size >= 2'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@265516.6]
+  assign _T_47 = _T_45[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@265517.6]
+  assign _T_48 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@265518.6]
+  assign _T_49 = _T_48 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@265519.6]
+  assign _T_51 = _T_47 & _T_49; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@265521.6]
+  assign _T_52 = _T_46 | _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@265522.6]
+  assign _T_54 = _T_47 & _T_48; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@265524.6]
+  assign _T_55 = _T_46 | _T_54; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@265525.6]
+  assign _T_56 = _T_45[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@265526.6]
+  assign _T_57 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@265527.6]
+  assign _T_58 = _T_57 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@265528.6]
+  assign _T_59 = _T_49 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@265529.6]
+  assign _T_60 = _T_56 & _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@265530.6]
+  assign _T_61 = _T_52 | _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@265531.6]
+  assign _T_62 = _T_49 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@265532.6]
+  assign _T_63 = _T_56 & _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@265533.6]
+  assign _T_64 = _T_52 | _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@265534.6]
+  assign _T_65 = _T_48 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@265535.6]
+  assign _T_66 = _T_56 & _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@265536.6]
+  assign _T_67 = _T_55 | _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@265537.6]
+  assign _T_68 = _T_48 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@265538.6]
+  assign _T_69 = _T_56 & _T_68; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@265539.6]
+  assign _T_70 = _T_55 | _T_69; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@265540.6]
+  assign _T_71 = {_T_64,_T_61}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@265541.6]
+  assign _T_72 = {_T_70,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@265542.6]
+  assign _T_73 = {_T_72,_T_71}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@265543.6]
+  assign _T_92 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@265566.6]
+  assign _T_94 = io_in_a_bits_address ^ 29'h10024000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@265569.8]
+  assign _T_95 = {1'b0,$signed(_T_94)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@265570.8]
+  assign _T_96 = $signed(_T_95) & $signed(-30'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@265571.8]
+  assign _T_97 = $signed(_T_96); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@265572.8]
+  assign _T_98 = $signed(_T_97) == $signed(30'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@265573.8]
+  assign _T_103 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265578.8]
+  assign _T_112 = _T_46 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265599.8]
+  assign _T_113 = _T_112 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265600.8]
+  assign _T_115 = _T_40 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265606.8]
+  assign _T_116 = _T_115 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265607.8]
+  assign _T_117 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@265612.8]
+  assign _T_119 = _T_117 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265614.8]
+  assign _T_120 = _T_119 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265615.8]
+  assign _T_121 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@265620.8]
+  assign _T_122 = _T_121 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@265621.8]
+  assign _T_124 = _T_122 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265623.8]
+  assign _T_125 = _T_124 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265624.8]
+  assign _T_126 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@265629.8]
+  assign _T_128 = _T_126 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265631.8]
+  assign _T_129 = _T_128 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265632.8]
+  assign _T_130 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@265638.6]
+  assign _T_159 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@265692.8]
+  assign _T_161 = _T_159 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265694.8]
+  assign _T_162 = _T_161 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265695.8]
+  assign _T_172 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@265718.6]
+  assign _T_174 = io_in_a_bits_size <= 2'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@265721.8]
+  assign _T_182 = _T_174 & _T_98; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@265729.8]
+  assign _T_185 = _T_182 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265732.8]
+  assign _T_186 = _T_185 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265733.8]
+  assign _T_193 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@265752.8]
+  assign _T_195 = _T_193 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265754.8]
+  assign _T_196 = _T_195 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265755.8]
+  assign _T_197 = io_in_a_bits_mask == _T_73; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@265760.8]
+  assign _T_199 = _T_197 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265762.8]
+  assign _T_200 = _T_199 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265763.8]
+  assign _T_205 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@265777.6]
+  assign _T_234 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@265828.6]
+  assign _T_259 = ~ _T_73; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@265870.8]
+  assign _T_260 = io_in_a_bits_mask & _T_259; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@265871.8]
+  assign _T_261 = _T_260 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@265872.8]
+  assign _T_263 = _T_261 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265874.8]
+  assign _T_264 = _T_263 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265875.8]
+  assign _T_265 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@265881.6]
+  assign _T_283 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@265912.8]
+  assign _T_285 = _T_283 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265914.8]
+  assign _T_286 = _T_285 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265915.8]
+  assign _T_291 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@265929.6]
+  assign _T_309 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@265960.8]
+  assign _T_311 = _T_309 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265962.8]
+  assign _T_312 = _T_311 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265963.8]
+  assign _T_317 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@265977.6]
+  assign _T_343 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@266027.6]
+  assign _T_345 = _T_343 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@266029.6]
+  assign _T_346 = _T_345 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@266030.6]
+  assign _T_363 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@266047.6]
+  assign _T_367 = io_in_d_bits_size >= 2'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@266056.8]
+  assign _T_369 = _T_367 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266058.8]
+  assign _T_370 = _T_369 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266059.8]
+  assign _T_383 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@266089.6]
+  assign _T_411 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@266147.6]
+  assign _T_504 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@266337.4]
+  assign _T_515 = _T_514 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@266347.4]
+  assign _T_516 = $unsigned(_T_515); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@266348.4]
+  assign _T_517 = _T_516[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@266349.4]
+  assign _T_518 = _T_514 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@266350.4]
+  assign _T_536 = _T_518 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@266366.4]
+  assign _T_537 = io_in_a_valid & _T_536; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@266367.4]
+  assign _T_538 = io_in_a_bits_opcode == _T_527; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@266369.6]
+  assign _T_540 = _T_538 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266371.6]
+  assign _T_541 = _T_540 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266372.6]
+  assign _T_542 = io_in_a_bits_param == _T_529; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@266377.6]
+  assign _T_544 = _T_542 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266379.6]
+  assign _T_545 = _T_544 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266380.6]
+  assign _T_546 = io_in_a_bits_size == _T_531; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@266385.6]
+  assign _T_548 = _T_546 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266387.6]
+  assign _T_549 = _T_548 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266388.6]
+  assign _T_550 = io_in_a_bits_source == _T_533; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@266393.6]
+  assign _T_552 = _T_550 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266395.6]
+  assign _T_553 = _T_552 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266396.6]
+  assign _T_554 = io_in_a_bits_address == _T_535; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@266401.6]
+  assign _T_556 = _T_554 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266403.6]
+  assign _T_557 = _T_556 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266404.6]
+  assign _T_559 = _T_504 & _T_518; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@266411.4]
+  assign _T_560 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@266419.4]
+  assign _T_570 = _T_569 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@266428.4]
+  assign _T_571 = $unsigned(_T_570); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@266429.4]
+  assign _T_572 = _T_571[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@266430.4]
+  assign _T_573 = _T_569 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@266431.4]
+  assign _T_593 = _T_573 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@266448.4]
+  assign _T_594 = io_in_d_valid & _T_593; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@266449.4]
+  assign _T_595 = io_in_d_bits_opcode == _T_582; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@266451.6]
+  assign _T_597 = _T_595 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266453.6]
+  assign _T_598 = _T_597 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266454.6]
+  assign _T_603 = io_in_d_bits_size == _T_586; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@266467.6]
+  assign _T_605 = _T_603 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266469.6]
+  assign _T_606 = _T_605 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266470.6]
+  assign _T_607 = io_in_d_bits_source == _T_588; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@266475.6]
+  assign _T_609 = _T_607 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266477.6]
+  assign _T_610 = _T_609 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266478.6]
+  assign _T_620 = _T_560 & _T_573; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@266501.4]
+  assign _T_634 = _T_633 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@266521.4]
+  assign _T_635 = $unsigned(_T_634); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@266522.4]
+  assign _T_636 = _T_635[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@266523.4]
+  assign _T_637 = _T_633 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@266524.4]
+  assign _T_655 = _T_654 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@266544.4]
+  assign _T_656 = $unsigned(_T_655); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@266545.4]
+  assign _T_657 = _T_656[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@266546.4]
+  assign _T_658 = _T_654 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@266547.4]
+  assign _T_669 = _T_504 & _T_637; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@266562.4]
+  assign _T_671 = 64'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@266565.6]
+  assign _T_672 = _T_622 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@266567.6]
+  assign _T_673 = _T_672[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@266568.6]
+  assign _T_674 = _T_673 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266569.6]
+  assign _T_676 = _T_674 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@266571.6]
+  assign _T_677 = _T_676 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@266572.6]
+  assign _GEN_15 = _T_669 ? _T_671 : 64'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@266564.4]
+  assign _T_682 = _T_560 & _T_658; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@266583.4]
+  assign _T_684 = _T_363 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@266585.4]
+  assign _T_685 = _T_682 & _T_684; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@266586.4]
+  assign _T_686 = 64'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@266588.6]
+  assign _T_687 = _GEN_15 | _T_622; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@266590.6]
+  assign _T_688 = _T_687 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@266591.6]
+  assign _T_689 = _T_688[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@266592.6]
+  assign _T_691 = _T_689 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@266594.6]
+  assign _T_692 = _T_691 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@266595.6]
+  assign _GEN_16 = _T_685 ? _T_686 : 64'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@266587.4]
+  assign _T_693 = _T_622 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@266601.4]
+  assign _T_694 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@266602.4]
+  assign _T_695 = _T_693 & _T_694; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@266603.4]
+  assign _T_698 = _T_622 != 64'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@266608.4]
+  assign _T_699 = _T_698 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@266609.4]
+  assign _T_700 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@266610.4]
+  assign _T_701 = _T_699 | _T_700; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@266611.4]
+  assign _T_702 = _T_697 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@266612.4]
+  assign _T_703 = _T_701 | _T_702; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@266613.4]
+  assign _T_705 = _T_703 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@266615.4]
+  assign _T_706 = _T_705 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@266616.4]
+  assign _T_708 = _T_697 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@266622.4]
+  assign _T_711 = _T_504 | _T_560; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@266626.4]
+  assign _GEN_19 = io_in_a_valid & _T_92; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265580.10]
+  assign _GEN_33 = io_in_a_valid & _T_130; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265652.10]
+  assign _GEN_49 = io_in_a_valid & _T_172; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265735.10]
+  assign _GEN_59 = io_in_a_valid & _T_205; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265794.10]
+  assign _GEN_67 = io_in_a_valid & _T_234; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265845.10]
+  assign _GEN_75 = io_in_a_valid & _T_265; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265895.10]
+  assign _GEN_83 = io_in_a_valid & _T_291; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265943.10]
+  assign _GEN_91 = io_in_a_valid & _T_317; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265991.10]
+  assign _GEN_99 = io_in_d_valid & _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266061.10]
+  assign _GEN_101 = io_in_d_valid & _T_383; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266102.10]
+  assign _GEN_105 = io_in_d_valid & _T_411; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266160.10]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  _T_514 = _RAND_0[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  _T_527 = _RAND_1[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  _T_529 = _RAND_2[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  _T_531 = _RAND_3[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  _T_533 = _RAND_4[5:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  _T_535 = _RAND_5[28:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {1{`RANDOM}};
+  _T_569 = _RAND_6[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {1{`RANDOM}};
+  _T_582 = _RAND_7[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_8 = {1{`RANDOM}};
+  _T_586 = _RAND_8[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_9 = {1{`RANDOM}};
+  _T_588 = _RAND_9[5:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_10 = {2{`RANDOM}};
+  _T_622 = _RAND_10[63:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_11 = {1{`RANDOM}};
+  _T_633 = _RAND_11[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_12 = {1{`RANDOM}};
+  _T_654 = _RAND_12[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_13 = {1{`RANDOM}};
+  _T_697 = _RAND_13[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      _T_514 <= 1'h0;
+    end else begin
+      if (_T_504) begin
+        if (_T_518) begin
+          _T_514 <= 1'h0;
+        end else begin
+          _T_514 <= _T_517;
+        end
+      end
+    end
+    if (_T_559) begin
+      _T_527 <= io_in_a_bits_opcode;
+    end
+    if (_T_559) begin
+      _T_529 <= io_in_a_bits_param;
+    end
+    if (_T_559) begin
+      _T_531 <= io_in_a_bits_size;
+    end
+    if (_T_559) begin
+      _T_533 <= io_in_a_bits_source;
+    end
+    if (_T_559) begin
+      _T_535 <= io_in_a_bits_address;
+    end
+    if (reset) begin
+      _T_569 <= 1'h0;
+    end else begin
+      if (_T_560) begin
+        if (_T_573) begin
+          _T_569 <= 1'h0;
+        end else begin
+          _T_569 <= _T_572;
+        end
+      end
+    end
+    if (_T_620) begin
+      _T_582 <= io_in_d_bits_opcode;
+    end
+    if (_T_620) begin
+      _T_586 <= io_in_d_bits_size;
+    end
+    if (_T_620) begin
+      _T_588 <= io_in_d_bits_source;
+    end
+    if (reset) begin
+      _T_622 <= 64'h0;
+    end else begin
+      _T_622 <= _T_695;
+    end
+    if (reset) begin
+      _T_633 <= 1'h0;
+    end else begin
+      if (_T_504) begin
+        if (_T_637) begin
+          _T_633 <= 1'h0;
+        end else begin
+          _T_633 <= _T_636;
+        end
+      end
+    end
+    if (reset) begin
+      _T_654 <= 1'h0;
+    end else begin
+      if (_T_560) begin
+        if (_T_658) begin
+          _T_654 <= 1'h0;
+        end else begin
+          _T_654 <= _T_657;
+        end
+      end
+    end
+    if (reset) begin
+      _T_697 <= 32'h0;
+    end else begin
+      if (_T_711) begin
+        _T_697 <= 32'h0;
+      end else begin
+        _T_697 <= _T_708;
+      end
+    end
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@265491.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@265492.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@265563.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@265564.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265580.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_103) begin
+          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265581.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265587.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_103) begin
+          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265588.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265594.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265595.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_113) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265602.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_113) begin
+          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265603.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265609.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_116) begin
+          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265610.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_120) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265617.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_120) begin
+          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265618.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_125) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265626.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_125) begin
+          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265627.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_129) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265634.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_129) begin
+          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265635.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265652.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_103) begin
+          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265653.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265659.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_103) begin
+          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265660.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265666.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265667.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_113) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265674.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_113) begin
+          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265675.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265681.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_116) begin
+          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265682.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_120) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265689.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_120) begin
+          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265690.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_162) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265697.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_162) begin
+          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265698.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_125) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265706.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_125) begin
+          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265707.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_129) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265714.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_129) begin
+          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265715.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_186) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265735.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_186) begin
+          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265736.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265742.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265743.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265749.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_116) begin
+          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265750.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_196) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265757.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_196) begin
+          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265758.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265765.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_200) begin
+          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265766.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_129) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265773.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_129) begin
+          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265774.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_59 & _T_186) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265794.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_59 & _T_186) begin
+          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265795.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265801.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265802.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_59 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265808.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_59 & _T_116) begin
+          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265809.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_59 & _T_196) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265816.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_59 & _T_196) begin
+          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265817.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_59 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265824.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_59 & _T_200) begin
+          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265825.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_67 & _T_186) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265845.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_67 & _T_186) begin
+          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265846.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265852.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265853.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_67 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265859.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_67 & _T_116) begin
+          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265860.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_67 & _T_196) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265867.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_67 & _T_196) begin
+          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265868.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_67 & _T_264) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265877.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_67 & _T_264) begin
+          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265878.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265895.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_103) begin
+          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265896.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265902.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265903.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265909.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_116) begin
+          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265910.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_286) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265917.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_286) begin
+          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265918.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265925.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_200) begin
+          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265926.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_83 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265943.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_83 & _T_103) begin
+          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265944.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265950.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265951.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_83 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265957.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_83 & _T_116) begin
+          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265958.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_83 & _T_312) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265965.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_83 & _T_312) begin
+          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265966.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_83 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265973.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_83 & _T_200) begin
+          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265974.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_91 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265991.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_91 & _T_103) begin
+          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265992.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265998.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265999.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_91 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266005.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_91 & _T_116) begin
+          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266006.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_91 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266013.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_91 & _T_200) begin
+          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266014.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_91 & _T_129) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266021.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_91 & _T_129) begin
+          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266022.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_346) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@266032.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_346) begin
+          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@266033.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266053.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266054.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_99 & _T_370) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266061.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_99 & _T_370) begin
+          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266062.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266069.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266070.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266077.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266078.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266085.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266086.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266095.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266096.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_101 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266102.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_101 & _T_103) begin
+          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266103.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_101 & _T_370) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266110.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_101 & _T_370) begin
+          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266111.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266118.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266119.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266126.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266127.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266134.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266135.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266143.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266144.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266153.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266154.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266160.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_103) begin
+          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266161.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_370) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266168.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_370) begin
+          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266169.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266176.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266177.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266184.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266185.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266193.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266194.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266202.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266203.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266212.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266213.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266220.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266221.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266228.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266229.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266237.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266238.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266247.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266248.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266255.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266256.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266264.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266265.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266273.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266274.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266283.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266284.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266291.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266292.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266299.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266300.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266308.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266309.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266318.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266319.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266326.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266327.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266334.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266335.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_541) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266374.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_541) begin
+          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266375.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_545) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266382.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_545) begin
+          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266383.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_549) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266390.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_549) begin
+          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266391.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_553) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266398.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_553) begin
+          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266399.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_557) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266406.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_557) begin
+          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266407.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_594 & _T_598) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266456.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_594 & _T_598) begin
+          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266457.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266464.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266465.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_594 & _T_606) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266472.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_594 & _T_606) begin
+          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266473.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_594 & _T_610) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266480.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_594 & _T_610) begin
+          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266481.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266488.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266489.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266496.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266497.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_669 & _T_677) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@266574.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_669 & _T_677) begin
+          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@266575.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_685 & _T_692) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@266597.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_685 & _T_692) begin
+          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@266598.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_706) begin
+          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@266618.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_706) begin
+          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@266619.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+endmodule
+module TLBuffer_24( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@266631.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@266632.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@266633.4]
+  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@266634.4]
+  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@266634.4]
+  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@266634.4]
+  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@266634.4]
+  input  [1:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@266634.4]
+  input  [5:0]  auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@266634.4]
+  input  [28:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@266634.4]
+  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@266634.4]
+  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@266634.4]
+  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@266634.4]
+  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@266634.4]
+  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@266634.4]
+  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@266634.4]
+  output [1:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@266634.4]
+  output [5:0]  auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@266634.4]
+  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@266634.4]
+  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@266634.4]
+  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@266634.4]
+  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@266634.4]
+  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@266634.4]
+  output [1:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@266634.4]
+  output [5:0]  auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@266634.4]
+  output [28:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@266634.4]
+  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@266634.4]
+  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@266634.4]
+  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@266634.4]
+  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@266634.4]
+  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@266634.4]
+  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@266634.4]
+  input  [1:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@266634.4]
+  input  [5:0]  auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@266634.4]
+  input  [31:0] auto_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@266634.4]
+);
+  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@266641.4]
+  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@266641.4]
+  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@266641.4]
+  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@266641.4]
+  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@266641.4]
+  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@266641.4]
+  wire [1:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@266641.4]
+  wire [5:0] TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@266641.4]
+  wire [28:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@266641.4]
+  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@266641.4]
+  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@266641.4]
+  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@266641.4]
+  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@266641.4]
+  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@266641.4]
+  wire [1:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@266641.4]
+  wire [5:0] TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@266641.4]
+  TLMonitor_72 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@266641.4]
+    .clock(TLMonitor_clock),
+    .reset(TLMonitor_reset),
+    .io_in_a_ready(TLMonitor_io_in_a_ready),
+    .io_in_a_valid(TLMonitor_io_in_a_valid),
+    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
+    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
+    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
+    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
+    .io_in_d_ready(TLMonitor_io_in_d_ready),
+    .io_in_d_valid(TLMonitor_io_in_d_valid),
+    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
+    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
+    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source)
+  );
+  assign auto_in_a_ready = auto_out_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@266681.4]
+  assign auto_in_d_valid = auto_out_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@266681.4]
+  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@266681.4]
+  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@266681.4]
+  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@266681.4]
+  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@266681.4]
+  assign auto_out_a_valid = auto_in_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@266680.4]
+  assign auto_out_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@266680.4]
+  assign auto_out_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@266680.4]
+  assign auto_out_a_bits_size = auto_in_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@266680.4]
+  assign auto_out_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@266680.4]
+  assign auto_out_a_bits_address = auto_in_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@266680.4]
+  assign auto_out_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@266680.4]
+  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@266680.4]
+  assign auto_out_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@266680.4]
+  assign auto_out_d_ready = auto_in_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@266680.4]
+  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@266643.4]
+  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@266644.4]
+  assign TLMonitor_io_in_a_ready = auto_out_a_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@266677.4]
+  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@266677.4]
+  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@266677.4]
+  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@266677.4]
+  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@266677.4]
+  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@266677.4]
+  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@266677.4]
+  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@266677.4]
+  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@266677.4]
+  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@266677.4]
+  assign TLMonitor_io_in_d_valid = auto_out_d_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@266677.4]
+  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@266677.4]
+  assign TLMonitor_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@266677.4]
+  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@266677.4]
+endmodule
+module TLMonitor_73( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@266752.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@266753.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@266754.4]
+  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@266755.4]
+  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@266755.4]
+  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@266755.4]
+  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@266755.4]
+  input  [1:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@266755.4]
+  input  [5:0]  io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@266755.4]
+  input  [28:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@266755.4]
+  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@266755.4]
+  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@266755.4]
+  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@266755.4]
+  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@266755.4]
+  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@266755.4]
+  input  [1:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@266755.4]
+  input  [5:0]  io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@266755.4]
+);
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@267882.4]
+  wire [4:0] _T_36; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@266782.6]
+  wire [1:0] _T_37; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@266783.6]
+  wire [1:0] _T_38; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@266784.6]
+  wire [28:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@266785.6]
+  wire [28:0] _T_39; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@266785.6]
+  wire  _T_40; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@266786.6]
+  wire  _T_42; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@266788.6]
+  wire [1:0] _T_43; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@266789.6]
+  wire [1:0] _T_45; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@266791.6]
+  wire  _T_46; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@266792.6]
+  wire  _T_47; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@266793.6]
+  wire  _T_48; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@266794.6]
+  wire  _T_49; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@266795.6]
+  wire  _T_51; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@266797.6]
+  wire  _T_52; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@266798.6]
+  wire  _T_54; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@266800.6]
+  wire  _T_55; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@266801.6]
+  wire  _T_56; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@266802.6]
+  wire  _T_57; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@266803.6]
+  wire  _T_58; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@266804.6]
+  wire  _T_59; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@266805.6]
+  wire  _T_60; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@266806.6]
+  wire  _T_61; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@266807.6]
+  wire  _T_62; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@266808.6]
+  wire  _T_63; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@266809.6]
+  wire  _T_64; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@266810.6]
+  wire  _T_65; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@266811.6]
+  wire  _T_66; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@266812.6]
+  wire  _T_67; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@266813.6]
+  wire  _T_68; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@266814.6]
+  wire  _T_69; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@266815.6]
+  wire  _T_70; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@266816.6]
+  wire [1:0] _T_71; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@266817.6]
+  wire [1:0] _T_72; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@266818.6]
+  wire [3:0] _T_73; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@266819.6]
+  wire  _T_92; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@266842.6]
+  wire [28:0] _T_94; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@266845.8]
+  wire [29:0] _T_95; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@266846.8]
+  wire [29:0] _T_96; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@266847.8]
+  wire [29:0] _T_97; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@266848.8]
+  wire  _T_98; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@266849.8]
+  wire  _T_103; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266854.8]
+  wire  _T_112; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266875.8]
+  wire  _T_113; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266876.8]
+  wire  _T_115; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266882.8]
+  wire  _T_116; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266883.8]
+  wire  _T_117; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@266888.8]
+  wire  _T_119; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266890.8]
+  wire  _T_120; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266891.8]
+  wire [3:0] _T_121; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@266896.8]
+  wire  _T_122; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@266897.8]
+  wire  _T_124; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266899.8]
+  wire  _T_125; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266900.8]
+  wire  _T_126; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@266905.8]
+  wire  _T_128; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266907.8]
+  wire  _T_129; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266908.8]
+  wire  _T_130; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@266914.6]
+  wire  _T_159; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@266968.8]
+  wire  _T_161; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266970.8]
+  wire  _T_162; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266971.8]
+  wire  _T_172; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@266994.6]
+  wire  _T_174; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@266997.8]
+  wire  _T_182; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@267005.8]
+  wire  _T_185; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267008.8]
+  wire  _T_186; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267009.8]
+  wire  _T_193; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@267028.8]
+  wire  _T_195; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267030.8]
+  wire  _T_196; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267031.8]
+  wire  _T_197; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@267036.8]
+  wire  _T_199; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267038.8]
+  wire  _T_200; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267039.8]
+  wire  _T_205; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@267053.6]
+  wire  _T_234; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@267104.6]
+  wire [3:0] _T_259; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@267146.8]
+  wire [3:0] _T_260; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@267147.8]
+  wire  _T_261; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@267148.8]
+  wire  _T_263; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267150.8]
+  wire  _T_264; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267151.8]
+  wire  _T_265; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@267157.6]
+  wire  _T_283; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@267188.8]
+  wire  _T_285; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267190.8]
+  wire  _T_286; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267191.8]
+  wire  _T_291; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@267205.6]
+  wire  _T_309; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@267236.8]
+  wire  _T_311; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267238.8]
+  wire  _T_312; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267239.8]
+  wire  _T_317; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@267253.6]
+  wire  _T_343; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@267303.6]
+  wire  _T_345; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@267305.6]
+  wire  _T_346; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@267306.6]
+  wire  _T_363; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@267323.6]
+  wire  _T_367; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@267332.8]
+  wire  _T_369; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267334.8]
+  wire  _T_370; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267335.8]
+  wire  _T_383; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@267365.6]
+  wire  _T_411; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@267423.6]
+  wire  _T_504; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@267613.4]
+  reg  _T_514; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@267622.4]
+  reg [31:0] _RAND_0;
+  wire [1:0] _T_515; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@267623.4]
+  wire [1:0] _T_516; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@267624.4]
+  wire  _T_517; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@267625.4]
+  wire  _T_518; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@267626.4]
+  reg [2:0] _T_527; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@267637.4]
+  reg [31:0] _RAND_1;
+  reg [2:0] _T_529; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@267638.4]
+  reg [31:0] _RAND_2;
+  reg [1:0] _T_531; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@267639.4]
+  reg [31:0] _RAND_3;
+  reg [5:0] _T_533; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@267640.4]
+  reg [31:0] _RAND_4;
+  reg [28:0] _T_535; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@267641.4]
+  reg [31:0] _RAND_5;
+  wire  _T_536; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@267642.4]
+  wire  _T_537; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@267643.4]
+  wire  _T_538; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@267645.6]
+  wire  _T_540; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267647.6]
+  wire  _T_541; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267648.6]
+  wire  _T_542; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@267653.6]
+  wire  _T_544; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267655.6]
+  wire  _T_545; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267656.6]
+  wire  _T_546; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@267661.6]
+  wire  _T_548; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267663.6]
+  wire  _T_549; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267664.6]
+  wire  _T_550; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@267669.6]
+  wire  _T_552; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267671.6]
+  wire  _T_553; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267672.6]
+  wire  _T_554; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@267677.6]
+  wire  _T_556; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267679.6]
+  wire  _T_557; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267680.6]
+  wire  _T_559; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@267687.4]
+  wire  _T_560; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@267695.4]
+  reg  _T_569; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@267703.4]
+  reg [31:0] _RAND_6;
+  wire [1:0] _T_570; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@267704.4]
+  wire [1:0] _T_571; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@267705.4]
+  wire  _T_572; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@267706.4]
+  wire  _T_573; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@267707.4]
+  reg [2:0] _T_582; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@267718.4]
+  reg [31:0] _RAND_7;
+  reg [1:0] _T_586; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@267720.4]
+  reg [31:0] _RAND_8;
+  reg [5:0] _T_588; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@267721.4]
+  reg [31:0] _RAND_9;
+  wire  _T_593; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@267724.4]
+  wire  _T_594; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@267725.4]
+  wire  _T_595; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@267727.6]
+  wire  _T_597; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267729.6]
+  wire  _T_598; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267730.6]
+  wire  _T_603; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@267743.6]
+  wire  _T_605; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267745.6]
+  wire  _T_606; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267746.6]
+  wire  _T_607; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@267751.6]
+  wire  _T_609; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267753.6]
+  wire  _T_610; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267754.6]
+  wire  _T_620; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@267777.4]
+  reg [63:0] _T_622; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@267786.4]
+  reg [63:0] _RAND_10;
+  reg  _T_633; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@267796.4]
+  reg [31:0] _RAND_11;
+  wire [1:0] _T_634; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@267797.4]
+  wire [1:0] _T_635; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@267798.4]
+  wire  _T_636; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@267799.4]
+  wire  _T_637; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@267800.4]
+  reg  _T_654; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@267819.4]
+  reg [31:0] _RAND_12;
+  wire [1:0] _T_655; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@267820.4]
+  wire [1:0] _T_656; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@267821.4]
+  wire  _T_657; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@267822.4]
+  wire  _T_658; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@267823.4]
+  wire  _T_669; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@267838.4]
+  wire [63:0] _T_671; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@267841.6]
+  wire [63:0] _T_672; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@267843.6]
+  wire  _T_673; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@267844.6]
+  wire  _T_674; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267845.6]
+  wire  _T_676; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@267847.6]
+  wire  _T_677; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@267848.6]
+  wire [63:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@267840.4]
+  wire  _T_682; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@267859.4]
+  wire  _T_684; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@267861.4]
+  wire  _T_685; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@267862.4]
+  wire [63:0] _T_686; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@267864.6]
+  wire [63:0] _T_687; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@267866.6]
+  wire [63:0] _T_688; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@267867.6]
+  wire  _T_689; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@267868.6]
+  wire  _T_691; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@267870.6]
+  wire  _T_692; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@267871.6]
+  wire [63:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@267863.4]
+  wire [63:0] _T_693; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@267877.4]
+  wire [63:0] _T_694; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@267878.4]
+  wire [63:0] _T_695; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@267879.4]
+  reg [31:0] _T_697; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@267881.4]
+  reg [31:0] _RAND_13;
+  wire  _T_698; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@267884.4]
+  wire  _T_699; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@267885.4]
+  wire  _T_700; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@267886.4]
+  wire  _T_701; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@267887.4]
+  wire  _T_702; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@267888.4]
+  wire  _T_703; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@267889.4]
+  wire  _T_705; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@267891.4]
+  wire  _T_706; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@267892.4]
+  wire [31:0] _T_708; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@267898.4]
+  wire  _T_711; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@267902.4]
+  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266856.10]
+  wire  _GEN_33; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266928.10]
+  wire  _GEN_49; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267011.10]
+  wire  _GEN_59; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267070.10]
+  wire  _GEN_67; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267121.10]
+  wire  _GEN_75; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267171.10]
+  wire  _GEN_83; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267219.10]
+  wire  _GEN_91; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267267.10]
+  wire  _GEN_99; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267337.10]
+  wire  _GEN_101; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267378.10]
+  wire  _GEN_105; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267436.10]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@267882.4]
+    .out(plusarg_reader_out)
+  );
+  assign _T_36 = 5'h3 << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@266782.6]
+  assign _T_37 = _T_36[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@266783.6]
+  assign _T_38 = ~ _T_37; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@266784.6]
+  assign _GEN_18 = {{27'd0}, _T_38}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@266785.6]
+  assign _T_39 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@266785.6]
+  assign _T_40 = _T_39 == 29'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@266786.6]
+  assign _T_42 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@266788.6]
+  assign _T_43 = 2'h1 << _T_42; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@266789.6]
+  assign _T_45 = _T_43 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@266791.6]
+  assign _T_46 = io_in_a_bits_size >= 2'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@266792.6]
+  assign _T_47 = _T_45[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@266793.6]
+  assign _T_48 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@266794.6]
+  assign _T_49 = _T_48 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@266795.6]
+  assign _T_51 = _T_47 & _T_49; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@266797.6]
+  assign _T_52 = _T_46 | _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@266798.6]
+  assign _T_54 = _T_47 & _T_48; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@266800.6]
+  assign _T_55 = _T_46 | _T_54; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@266801.6]
+  assign _T_56 = _T_45[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@266802.6]
+  assign _T_57 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@266803.6]
+  assign _T_58 = _T_57 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@266804.6]
+  assign _T_59 = _T_49 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@266805.6]
+  assign _T_60 = _T_56 & _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@266806.6]
+  assign _T_61 = _T_52 | _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@266807.6]
+  assign _T_62 = _T_49 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@266808.6]
+  assign _T_63 = _T_56 & _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@266809.6]
+  assign _T_64 = _T_52 | _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@266810.6]
+  assign _T_65 = _T_48 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@266811.6]
+  assign _T_66 = _T_56 & _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@266812.6]
+  assign _T_67 = _T_55 | _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@266813.6]
+  assign _T_68 = _T_48 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@266814.6]
+  assign _T_69 = _T_56 & _T_68; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@266815.6]
+  assign _T_70 = _T_55 | _T_69; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@266816.6]
+  assign _T_71 = {_T_64,_T_61}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@266817.6]
+  assign _T_72 = {_T_70,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@266818.6]
+  assign _T_73 = {_T_72,_T_71}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@266819.6]
+  assign _T_92 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@266842.6]
+  assign _T_94 = io_in_a_bits_address ^ 29'h10024000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@266845.8]
+  assign _T_95 = {1'b0,$signed(_T_94)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@266846.8]
+  assign _T_96 = $signed(_T_95) & $signed(-30'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@266847.8]
+  assign _T_97 = $signed(_T_96); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@266848.8]
+  assign _T_98 = $signed(_T_97) == $signed(30'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@266849.8]
+  assign _T_103 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266854.8]
+  assign _T_112 = _T_46 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266875.8]
+  assign _T_113 = _T_112 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266876.8]
+  assign _T_115 = _T_40 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266882.8]
+  assign _T_116 = _T_115 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266883.8]
+  assign _T_117 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@266888.8]
+  assign _T_119 = _T_117 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266890.8]
+  assign _T_120 = _T_119 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266891.8]
+  assign _T_121 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@266896.8]
+  assign _T_122 = _T_121 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@266897.8]
+  assign _T_124 = _T_122 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266899.8]
+  assign _T_125 = _T_124 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266900.8]
+  assign _T_126 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@266905.8]
+  assign _T_128 = _T_126 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266907.8]
+  assign _T_129 = _T_128 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266908.8]
+  assign _T_130 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@266914.6]
+  assign _T_159 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@266968.8]
+  assign _T_161 = _T_159 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266970.8]
+  assign _T_162 = _T_161 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266971.8]
+  assign _T_172 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@266994.6]
+  assign _T_174 = io_in_a_bits_size <= 2'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@266997.8]
+  assign _T_182 = _T_174 & _T_98; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@267005.8]
+  assign _T_185 = _T_182 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267008.8]
+  assign _T_186 = _T_185 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267009.8]
+  assign _T_193 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@267028.8]
+  assign _T_195 = _T_193 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267030.8]
+  assign _T_196 = _T_195 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267031.8]
+  assign _T_197 = io_in_a_bits_mask == _T_73; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@267036.8]
+  assign _T_199 = _T_197 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267038.8]
+  assign _T_200 = _T_199 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267039.8]
+  assign _T_205 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@267053.6]
+  assign _T_234 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@267104.6]
+  assign _T_259 = ~ _T_73; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@267146.8]
+  assign _T_260 = io_in_a_bits_mask & _T_259; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@267147.8]
+  assign _T_261 = _T_260 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@267148.8]
+  assign _T_263 = _T_261 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267150.8]
+  assign _T_264 = _T_263 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267151.8]
+  assign _T_265 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@267157.6]
+  assign _T_283 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@267188.8]
+  assign _T_285 = _T_283 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267190.8]
+  assign _T_286 = _T_285 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267191.8]
+  assign _T_291 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@267205.6]
+  assign _T_309 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@267236.8]
+  assign _T_311 = _T_309 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267238.8]
+  assign _T_312 = _T_311 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267239.8]
+  assign _T_317 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@267253.6]
+  assign _T_343 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@267303.6]
+  assign _T_345 = _T_343 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@267305.6]
+  assign _T_346 = _T_345 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@267306.6]
+  assign _T_363 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@267323.6]
+  assign _T_367 = io_in_d_bits_size >= 2'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@267332.8]
+  assign _T_369 = _T_367 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267334.8]
+  assign _T_370 = _T_369 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267335.8]
+  assign _T_383 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@267365.6]
+  assign _T_411 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@267423.6]
+  assign _T_504 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@267613.4]
+  assign _T_515 = _T_514 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@267623.4]
+  assign _T_516 = $unsigned(_T_515); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@267624.4]
+  assign _T_517 = _T_516[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@267625.4]
+  assign _T_518 = _T_514 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@267626.4]
+  assign _T_536 = _T_518 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@267642.4]
+  assign _T_537 = io_in_a_valid & _T_536; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@267643.4]
+  assign _T_538 = io_in_a_bits_opcode == _T_527; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@267645.6]
+  assign _T_540 = _T_538 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267647.6]
+  assign _T_541 = _T_540 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267648.6]
+  assign _T_542 = io_in_a_bits_param == _T_529; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@267653.6]
+  assign _T_544 = _T_542 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267655.6]
+  assign _T_545 = _T_544 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267656.6]
+  assign _T_546 = io_in_a_bits_size == _T_531; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@267661.6]
+  assign _T_548 = _T_546 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267663.6]
+  assign _T_549 = _T_548 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267664.6]
+  assign _T_550 = io_in_a_bits_source == _T_533; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@267669.6]
+  assign _T_552 = _T_550 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267671.6]
+  assign _T_553 = _T_552 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267672.6]
+  assign _T_554 = io_in_a_bits_address == _T_535; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@267677.6]
+  assign _T_556 = _T_554 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267679.6]
+  assign _T_557 = _T_556 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267680.6]
+  assign _T_559 = _T_504 & _T_518; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@267687.4]
+  assign _T_560 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@267695.4]
+  assign _T_570 = _T_569 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@267704.4]
+  assign _T_571 = $unsigned(_T_570); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@267705.4]
+  assign _T_572 = _T_571[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@267706.4]
+  assign _T_573 = _T_569 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@267707.4]
+  assign _T_593 = _T_573 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@267724.4]
+  assign _T_594 = io_in_d_valid & _T_593; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@267725.4]
+  assign _T_595 = io_in_d_bits_opcode == _T_582; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@267727.6]
+  assign _T_597 = _T_595 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267729.6]
+  assign _T_598 = _T_597 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267730.6]
+  assign _T_603 = io_in_d_bits_size == _T_586; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@267743.6]
+  assign _T_605 = _T_603 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267745.6]
+  assign _T_606 = _T_605 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267746.6]
+  assign _T_607 = io_in_d_bits_source == _T_588; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@267751.6]
+  assign _T_609 = _T_607 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267753.6]
+  assign _T_610 = _T_609 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267754.6]
+  assign _T_620 = _T_560 & _T_573; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@267777.4]
+  assign _T_634 = _T_633 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@267797.4]
+  assign _T_635 = $unsigned(_T_634); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@267798.4]
+  assign _T_636 = _T_635[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@267799.4]
+  assign _T_637 = _T_633 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@267800.4]
+  assign _T_655 = _T_654 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@267820.4]
+  assign _T_656 = $unsigned(_T_655); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@267821.4]
+  assign _T_657 = _T_656[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@267822.4]
+  assign _T_658 = _T_654 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@267823.4]
+  assign _T_669 = _T_504 & _T_637; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@267838.4]
+  assign _T_671 = 64'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@267841.6]
+  assign _T_672 = _T_622 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@267843.6]
+  assign _T_673 = _T_672[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@267844.6]
+  assign _T_674 = _T_673 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267845.6]
+  assign _T_676 = _T_674 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@267847.6]
+  assign _T_677 = _T_676 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@267848.6]
+  assign _GEN_15 = _T_669 ? _T_671 : 64'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@267840.4]
+  assign _T_682 = _T_560 & _T_658; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@267859.4]
+  assign _T_684 = _T_363 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@267861.4]
+  assign _T_685 = _T_682 & _T_684; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@267862.4]
+  assign _T_686 = 64'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@267864.6]
+  assign _T_687 = _GEN_15 | _T_622; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@267866.6]
+  assign _T_688 = _T_687 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@267867.6]
+  assign _T_689 = _T_688[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@267868.6]
+  assign _T_691 = _T_689 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@267870.6]
+  assign _T_692 = _T_691 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@267871.6]
+  assign _GEN_16 = _T_685 ? _T_686 : 64'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@267863.4]
+  assign _T_693 = _T_622 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@267877.4]
+  assign _T_694 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@267878.4]
+  assign _T_695 = _T_693 & _T_694; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@267879.4]
+  assign _T_698 = _T_622 != 64'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@267884.4]
+  assign _T_699 = _T_698 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@267885.4]
+  assign _T_700 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@267886.4]
+  assign _T_701 = _T_699 | _T_700; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@267887.4]
+  assign _T_702 = _T_697 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@267888.4]
+  assign _T_703 = _T_701 | _T_702; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@267889.4]
+  assign _T_705 = _T_703 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@267891.4]
+  assign _T_706 = _T_705 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@267892.4]
+  assign _T_708 = _T_697 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@267898.4]
+  assign _T_711 = _T_504 | _T_560; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@267902.4]
+  assign _GEN_19 = io_in_a_valid & _T_92; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266856.10]
+  assign _GEN_33 = io_in_a_valid & _T_130; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266928.10]
+  assign _GEN_49 = io_in_a_valid & _T_172; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267011.10]
+  assign _GEN_59 = io_in_a_valid & _T_205; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267070.10]
+  assign _GEN_67 = io_in_a_valid & _T_234; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267121.10]
+  assign _GEN_75 = io_in_a_valid & _T_265; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267171.10]
+  assign _GEN_83 = io_in_a_valid & _T_291; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267219.10]
+  assign _GEN_91 = io_in_a_valid & _T_317; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267267.10]
+  assign _GEN_99 = io_in_d_valid & _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267337.10]
+  assign _GEN_101 = io_in_d_valid & _T_383; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267378.10]
+  assign _GEN_105 = io_in_d_valid & _T_411; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267436.10]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  _T_514 = _RAND_0[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  _T_527 = _RAND_1[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  _T_529 = _RAND_2[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  _T_531 = _RAND_3[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  _T_533 = _RAND_4[5:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  _T_535 = _RAND_5[28:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {1{`RANDOM}};
+  _T_569 = _RAND_6[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {1{`RANDOM}};
+  _T_582 = _RAND_7[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_8 = {1{`RANDOM}};
+  _T_586 = _RAND_8[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_9 = {1{`RANDOM}};
+  _T_588 = _RAND_9[5:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_10 = {2{`RANDOM}};
+  _T_622 = _RAND_10[63:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_11 = {1{`RANDOM}};
+  _T_633 = _RAND_11[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_12 = {1{`RANDOM}};
+  _T_654 = _RAND_12[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_13 = {1{`RANDOM}};
+  _T_697 = _RAND_13[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      _T_514 <= 1'h0;
+    end else begin
+      if (_T_504) begin
+        if (_T_518) begin
+          _T_514 <= 1'h0;
+        end else begin
+          _T_514 <= _T_517;
+        end
+      end
+    end
+    if (_T_559) begin
+      _T_527 <= io_in_a_bits_opcode;
+    end
+    if (_T_559) begin
+      _T_529 <= io_in_a_bits_param;
+    end
+    if (_T_559) begin
+      _T_531 <= io_in_a_bits_size;
+    end
+    if (_T_559) begin
+      _T_533 <= io_in_a_bits_source;
+    end
+    if (_T_559) begin
+      _T_535 <= io_in_a_bits_address;
+    end
+    if (reset) begin
+      _T_569 <= 1'h0;
+    end else begin
+      if (_T_560) begin
+        if (_T_573) begin
+          _T_569 <= 1'h0;
+        end else begin
+          _T_569 <= _T_572;
+        end
+      end
+    end
+    if (_T_620) begin
+      _T_582 <= io_in_d_bits_opcode;
+    end
+    if (_T_620) begin
+      _T_586 <= io_in_d_bits_size;
+    end
+    if (_T_620) begin
+      _T_588 <= io_in_d_bits_source;
+    end
+    if (reset) begin
+      _T_622 <= 64'h0;
+    end else begin
+      _T_622 <= _T_695;
+    end
+    if (reset) begin
+      _T_633 <= 1'h0;
+    end else begin
+      if (_T_504) begin
+        if (_T_637) begin
+          _T_633 <= 1'h0;
+        end else begin
+          _T_633 <= _T_636;
+        end
+      end
+    end
+    if (reset) begin
+      _T_654 <= 1'h0;
+    end else begin
+      if (_T_560) begin
+        if (_T_658) begin
+          _T_654 <= 1'h0;
+        end else begin
+          _T_654 <= _T_657;
+        end
+      end
+    end
+    if (reset) begin
+      _T_697 <= 32'h0;
+    end else begin
+      if (_T_711) begin
+        _T_697 <= 32'h0;
+      end else begin
+        _T_697 <= _T_708;
+      end
+    end
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@266767.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@266768.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@266839.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@266840.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266856.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_103) begin
+          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266857.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266863.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_103) begin
+          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266864.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266870.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266871.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_113) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266878.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_113) begin
+          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266879.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266885.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_116) begin
+          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266886.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_120) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266893.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_120) begin
+          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266894.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_125) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266902.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_125) begin
+          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266903.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_129) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266910.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_129) begin
+          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266911.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266928.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_103) begin
+          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266929.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266935.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_103) begin
+          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266936.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266942.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266943.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_113) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266950.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_113) begin
+          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266951.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266957.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_116) begin
+          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266958.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_120) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266965.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_120) begin
+          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266966.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_162) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266973.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_162) begin
+          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266974.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_125) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266982.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_125) begin
+          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266983.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_129) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266990.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_129) begin
+          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266991.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_186) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267011.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_186) begin
+          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267012.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267018.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267019.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267025.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_116) begin
+          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267026.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_196) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267033.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_196) begin
+          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267034.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267041.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_200) begin
+          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267042.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_129) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267049.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_129) begin
+          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267050.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_59 & _T_186) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267070.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_59 & _T_186) begin
+          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267071.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267077.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267078.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_59 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267084.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_59 & _T_116) begin
+          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267085.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_59 & _T_196) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267092.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_59 & _T_196) begin
+          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267093.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_59 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267100.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_59 & _T_200) begin
+          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267101.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_67 & _T_186) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267121.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_67 & _T_186) begin
+          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267122.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267128.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267129.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_67 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267135.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_67 & _T_116) begin
+          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267136.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_67 & _T_196) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267143.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_67 & _T_196) begin
+          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267144.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_67 & _T_264) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267153.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_67 & _T_264) begin
+          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267154.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267171.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_103) begin
+          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267172.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267178.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267179.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267185.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_116) begin
+          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267186.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_286) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267193.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_286) begin
+          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267194.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267201.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_200) begin
+          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267202.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_83 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267219.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_83 & _T_103) begin
+          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267220.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267226.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267227.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_83 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267233.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_83 & _T_116) begin
+          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267234.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_83 & _T_312) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267241.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_83 & _T_312) begin
+          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267242.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_83 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267249.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_83 & _T_200) begin
+          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267250.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_91 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267267.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_91 & _T_103) begin
+          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267268.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267274.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267275.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_91 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267281.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_91 & _T_116) begin
+          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267282.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_91 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267289.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_91 & _T_200) begin
+          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267290.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_91 & _T_129) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267297.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_91 & _T_129) begin
+          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267298.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_346) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@267308.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_346) begin
+          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@267309.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267329.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267330.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_99 & _T_370) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267337.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_99 & _T_370) begin
+          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267338.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267345.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267346.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267353.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267354.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267361.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267362.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267371.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267372.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_101 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267378.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_101 & _T_103) begin
+          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267379.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_101 & _T_370) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267386.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_101 & _T_370) begin
+          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267387.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267394.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267395.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267402.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267403.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267410.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267411.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267419.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267420.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267429.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267430.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267436.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_103) begin
+          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267437.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_370) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267444.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_370) begin
+          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267445.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267452.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267453.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267460.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267461.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267469.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267470.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267478.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267479.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267488.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267489.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267496.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267497.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267504.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267505.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267513.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267514.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267523.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267524.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267531.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267532.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267540.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267541.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267549.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267550.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267559.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267560.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267567.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267568.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267575.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267576.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267584.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267585.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267594.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267595.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267602.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267603.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267610.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267611.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_541) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267650.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_541) begin
+          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267651.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_545) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267658.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_545) begin
+          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267659.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_549) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267666.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_549) begin
+          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267667.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_553) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267674.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_553) begin
+          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267675.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_557) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267682.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_557) begin
+          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267683.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_594 & _T_598) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267732.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_594 & _T_598) begin
+          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267733.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267740.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267741.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_594 & _T_606) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267748.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_594 & _T_606) begin
+          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267749.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_594 & _T_610) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267756.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_594 & _T_610) begin
+          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267757.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267764.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267765.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267772.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267773.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_669 & _T_677) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@267850.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_669 & _T_677) begin
+          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@267851.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_685 & _T_692) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@267873.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_685 & _T_692) begin
+          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@267874.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_706) begin
+          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@267894.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_706) begin
+          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@267895.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+endmodule
+module SPIPhysical_1( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268096.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268097.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268098.4]
+  output        io_port_sck, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268099.4]
+  input         io_port_dq_0_i, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268099.4]
+  output        io_port_dq_0_o, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268099.4]
+  output        io_port_dq_0_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268099.4]
+  input         io_port_dq_1_i, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268099.4]
+  output        io_port_dq_1_o, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268099.4]
+  output        io_port_dq_1_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268099.4]
+  input         io_port_dq_2_i, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268099.4]
+  output        io_port_dq_2_o, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268099.4]
+  output        io_port_dq_2_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268099.4]
+  input         io_port_dq_3_i, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268099.4]
+  output        io_port_dq_3_o, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268099.4]
+  output        io_port_dq_3_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268099.4]
+  input  [11:0] io_ctrl_sck_div, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268099.4]
+  input         io_ctrl_sck_pol, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268099.4]
+  input         io_ctrl_sck_pha, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268099.4]
+  input  [1:0]  io_ctrl_fmt_proto, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268099.4]
+  input         io_ctrl_fmt_endian, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268099.4]
+  input         io_ctrl_fmt_iodir, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268099.4]
+  input  [11:0] io_ctrl_extradel_coarse, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268099.4]
+  input  [4:0]  io_ctrl_sampledel_sd, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268099.4]
+  output        io_op_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268099.4]
+  input         io_op_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268099.4]
+  input         io_op_bits_fn, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268099.4]
+  input         io_op_bits_stb, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268099.4]
+  input  [7:0]  io_op_bits_cnt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268099.4]
+  input  [7:0]  io_op_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268099.4]
+  output        io_rx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268099.4]
+  output [7:0]  io_rx_bits // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268099.4]
+);
+  reg [11:0] ctrl_sck_div; // @[SPIPhysical.scala 51:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268104.4]
+  reg [31:0] _RAND_0;
+  reg  ctrl_sck_pol; // @[SPIPhysical.scala 51:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268104.4]
+  reg [31:0] _RAND_1;
+  reg  ctrl_sck_pha; // @[SPIPhysical.scala 51:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268104.4]
+  reg [31:0] _RAND_2;
+  reg [1:0] ctrl_fmt_proto; // @[SPIPhysical.scala 51:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268104.4]
+  reg [31:0] _RAND_3;
+  reg  ctrl_fmt_endian; // @[SPIPhysical.scala 51:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268104.4]
+  reg [31:0] _RAND_4;
+  reg  ctrl_fmt_iodir; // @[SPIPhysical.scala 51:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268104.4]
+  reg [31:0] _RAND_5;
+  wire  proto_0; // @[SPIConsts.scala 13:48:shc.marmotcaravel.MarmotCaravelConfig.fir@268105.4]
+  wire  proto_1; // @[SPIConsts.scala 13:48:shc.marmotcaravel.MarmotCaravelConfig.fir@268106.4]
+  wire  proto_2; // @[SPIConsts.scala 13:48:shc.marmotcaravel.MarmotCaravelConfig.fir@268107.4]
+  reg  setup_d; // @[SPIPhysical.scala 59:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268120.4]
+  reg [31:0] _RAND_6;
+  reg [7:0] scnt; // @[SPIPhysical.scala 61:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268122.4]
+  reg [31:0] _RAND_7;
+  reg [11:0] tcnt; // @[SPIPhysical.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268123.4]
+  reg [31:0] _RAND_8;
+  wire  stop; // @[SPIPhysical.scala 64:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268124.4]
+  wire  beat; // @[SPIPhysical.scala 65:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268125.4]
+  wire [11:0] _GEN_74; // @[SPIPhysical.scala 68:48:shc.marmotcaravel.MarmotCaravelConfig.fir@268126.4]
+  wire [11:0] totalCoarseDel; // @[SPIPhysical.scala 68:48:shc.marmotcaravel.MarmotCaravelConfig.fir@268127.4]
+  reg [11:0] del_cntr; // @[SPIPhysical.scala 69:25:shc.marmotcaravel.MarmotCaravelConfig.fir@268128.4]
+  reg [31:0] _RAND_9;
+  reg  sample_d; // @[SPIPhysical.scala 70:25:shc.marmotcaravel.MarmotCaravelConfig.fir@268129.4]
+  reg [31:0] _RAND_10;
+  reg  xfr; // @[SPIPhysical.scala 171:16:shc.marmotcaravel.MarmotCaravelConfig.fir@268318.4]
+  reg [31:0] _RAND_11;
+  reg  cref; // @[SPIPhysical.scala 108:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268178.4]
+  reg [31:0] _RAND_12;
+  wire  _GEN_8; // @[SPIPhysical.scala 179:18:shc.marmotcaravel.MarmotCaravelConfig.fir@268327.8]
+  wire  _GEN_13; // @[SPIPhysical.scala 177:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268324.6]
+  wire  sample; // @[SPIPhysical.scala 173:15:shc.marmotcaravel.MarmotCaravelConfig.fir@268319.4]
+  wire  _T_46; // @[SPIPhysical.scala 71:14:shc.marmotcaravel.MarmotCaravelConfig.fir@268130.4]
+  wire  _T_47; // @[SPIPhysical.scala 75:18:shc.marmotcaravel.MarmotCaravelConfig.fir@268134.4]
+  wire [12:0] _T_48; // @[SPIPhysical.scala 76:26:shc.marmotcaravel.MarmotCaravelConfig.fir@268136.6]
+  wire [12:0] _T_49; // @[SPIPhysical.scala 76:26:shc.marmotcaravel.MarmotCaravelConfig.fir@268137.6]
+  wire [11:0] _T_50; // @[SPIPhysical.scala 76:26:shc.marmotcaravel.MarmotCaravelConfig.fir@268138.6]
+  wire  _T_51; // @[SPIPhysical.scala 79:18:shc.marmotcaravel.MarmotCaravelConfig.fir@268141.4]
+  reg [11:0] del_cntr_last; // @[SPIPhysical.scala 86:30:shc.marmotcaravel.MarmotCaravelConfig.fir@268148.4]
+  reg [31:0] _RAND_13;
+  reg  last_d; // @[SPIPhysical.scala 87:23:shc.marmotcaravel.MarmotCaravelConfig.fir@268149.4]
+  reg [31:0] _RAND_14;
+  wire  _T_179; // @[SPIPhysical.scala 190:14:shc.marmotcaravel.MarmotCaravelConfig.fir@268340.4]
+  wire  _T_180; // @[SPIPhysical.scala 191:18:shc.marmotcaravel.MarmotCaravelConfig.fir@268342.6]
+  wire  _T_181; // @[SPIPhysical.scala 191:26:shc.marmotcaravel.MarmotCaravelConfig.fir@268343.6]
+  wire  last; // @[SPIPhysical.scala 190:27:shc.marmotcaravel.MarmotCaravelConfig.fir@268341.4]
+  wire  _T_54; // @[SPIPhysical.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@268150.4]
+  wire  _T_55; // @[SPIPhysical.scala 93:23:shc.marmotcaravel.MarmotCaravelConfig.fir@268154.4]
+  wire [12:0] _T_56; // @[SPIPhysical.scala 94:36:shc.marmotcaravel.MarmotCaravelConfig.fir@268156.6]
+  wire [12:0] _T_57; // @[SPIPhysical.scala 94:36:shc.marmotcaravel.MarmotCaravelConfig.fir@268157.6]
+  wire [11:0] _T_58; // @[SPIPhysical.scala 94:36:shc.marmotcaravel.MarmotCaravelConfig.fir@268158.6]
+  wire  _T_59; // @[SPIPhysical.scala 97:23:shc.marmotcaravel.MarmotCaravelConfig.fir@268161.4]
+  wire [11:0] _T_60; // @[SPIPhysical.scala 103:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268168.4]
+  wire [12:0] _T_61; // @[SPIPhysical.scala 103:36:shc.marmotcaravel.MarmotCaravelConfig.fir@268169.4]
+  wire [12:0] _T_62; // @[SPIPhysical.scala 103:36:shc.marmotcaravel.MarmotCaravelConfig.fir@268170.4]
+  wire [11:0] decr; // @[SPIPhysical.scala 103:36:shc.marmotcaravel.MarmotCaravelConfig.fir@268171.4]
+  wire  sched; // @[SPIPhysical.scala 173:15:shc.marmotcaravel.MarmotCaravelConfig.fir@268319.4]
+  reg  sck; // @[SPIPhysical.scala 107:16:shc.marmotcaravel.MarmotCaravelConfig.fir@268177.4]
+  reg [31:0] _RAND_15;
+  wire  cinv; // @[SPIPhysical.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@268179.4]
+  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268180.4]
+  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268181.4]
+  wire [3:0] rxd; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268182.4]
+  wire  rxd_delayed_0; // @[SPIPhysical.scala 126:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268189.4]
+  wire  rxd_delayed_1; // @[SPIPhysical.scala 126:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268190.4]
+  wire  rxd_delayed_2; // @[SPIPhysical.scala 126:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268191.4]
+  wire  rxd_delayed_3; // @[SPIPhysical.scala 126:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268192.4]
+  wire [1:0] _T_82; // @[SPIPhysical.scala 129:29:shc.marmotcaravel.MarmotCaravelConfig.fir@268197.4]
+  wire [1:0] _T_83; // @[SPIPhysical.scala 129:29:shc.marmotcaravel.MarmotCaravelConfig.fir@268198.4]
+  wire [3:0] rxd_fin; // @[SPIPhysical.scala 129:29:shc.marmotcaravel.MarmotCaravelConfig.fir@268199.4]
+  wire  samples_0; // @[SPIPhysical.scala 130:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268200.4]
+  wire [1:0] samples_1; // @[SPIPhysical.scala 130:40:shc.marmotcaravel.MarmotCaravelConfig.fir@268201.4]
+  reg [7:0] buffer; // @[SPIPhysical.scala 132:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268202.4]
+  reg [31:0] _RAND_16;
+  wire  _T_84; // @[SPIPhysical.scala 112:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268203.4]
+  wire  _T_85; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@268204.4]
+  wire  _T_86; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@268205.4]
+  wire  _T_87; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@268206.4]
+  wire  _T_88; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@268207.4]
+  wire  _T_89; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@268208.4]
+  wire  _T_90; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@268209.4]
+  wire  _T_91; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@268210.4]
+  wire  _T_92; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@268211.4]
+  wire [1:0] _T_93; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268212.4]
+  wire [1:0] _T_94; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268213.4]
+  wire [3:0] _T_95; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268214.4]
+  wire [1:0] _T_96; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268215.4]
+  wire [1:0] _T_97; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268216.4]
+  wire [3:0] _T_98; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268217.4]
+  wire [7:0] _T_99; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268218.4]
+  wire [7:0] buffer_in; // @[SPIPhysical.scala 112:8:shc.marmotcaravel.MarmotCaravelConfig.fir@268219.4]
+  wire  _T_100; // @[SPIPhysical.scala 134:36:shc.marmotcaravel.MarmotCaravelConfig.fir@268220.4]
+  wire  _T_101; // @[SPIPhysical.scala 134:65:shc.marmotcaravel.MarmotCaravelConfig.fir@268221.4]
+  wire  _T_102; // @[SPIPhysical.scala 134:52:shc.marmotcaravel.MarmotCaravelConfig.fir@268222.4]
+  wire  shift; // @[SPIPhysical.scala 134:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268223.4]
+  wire [6:0] _T_103; // @[SPIPhysical.scala 138:26:shc.marmotcaravel.MarmotCaravelConfig.fir@268224.4]
+  wire [6:0] _T_104; // @[SPIPhysical.scala 138:42:shc.marmotcaravel.MarmotCaravelConfig.fir@268225.4]
+  wire [6:0] _T_105; // @[SPIPhysical.scala 138:12:shc.marmotcaravel.MarmotCaravelConfig.fir@268226.4]
+  wire  _T_106; // @[SPIPhysical.scala 139:35:shc.marmotcaravel.MarmotCaravelConfig.fir@268227.4]
+  wire  _T_107; // @[SPIPhysical.scala 139:12:shc.marmotcaravel.MarmotCaravelConfig.fir@268228.4]
+  wire [7:0] _T_108; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268229.4]
+  wire [5:0] _T_109; // @[SPIPhysical.scala 138:26:shc.marmotcaravel.MarmotCaravelConfig.fir@268230.4]
+  wire [5:0] _T_110; // @[SPIPhysical.scala 138:42:shc.marmotcaravel.MarmotCaravelConfig.fir@268231.4]
+  wire [5:0] _T_111; // @[SPIPhysical.scala 138:12:shc.marmotcaravel.MarmotCaravelConfig.fir@268232.4]
+  wire [1:0] _T_112; // @[SPIPhysical.scala 139:35:shc.marmotcaravel.MarmotCaravelConfig.fir@268233.4]
+  wire [1:0] _T_113; // @[SPIPhysical.scala 139:12:shc.marmotcaravel.MarmotCaravelConfig.fir@268234.4]
+  wire [7:0] _T_114; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268235.4]
+  wire [3:0] _T_115; // @[SPIPhysical.scala 138:26:shc.marmotcaravel.MarmotCaravelConfig.fir@268236.4]
+  wire [3:0] _T_116; // @[SPIPhysical.scala 138:42:shc.marmotcaravel.MarmotCaravelConfig.fir@268237.4]
+  wire [3:0] _T_117; // @[SPIPhysical.scala 138:12:shc.marmotcaravel.MarmotCaravelConfig.fir@268238.4]
+  wire [3:0] _T_119; // @[SPIPhysical.scala 139:12:shc.marmotcaravel.MarmotCaravelConfig.fir@268240.4]
+  wire [7:0] _T_120; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268241.4]
+  wire [7:0] _T_122; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@268242.4]
+  wire [7:0] _T_123; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@268243.4]
+  wire [7:0] _T_124; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@268244.4]
+  wire [7:0] _T_125; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@268245.4]
+  wire [7:0] _T_126; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@268246.4]
+  reg [3:0] txd; // @[SPIPhysical.scala 144:16:shc.marmotcaravel.MarmotCaravelConfig.fir@268250.4]
+  reg [31:0] _RAND_17;
+  wire [3:0] _T_130; // @[SPIPhysical.scala 142:41:shc.marmotcaravel.MarmotCaravelConfig.fir@268251.4]
+  wire  _T_182; // @[SPIPhysical.scala 192:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268345.6]
+  wire  _T_183; // @[SPIPhysical.scala 192:16:shc.marmotcaravel.MarmotCaravelConfig.fir@268346.6]
+  wire  _GEN_23; // @[SPIPhysical.scala 192:26:shc.marmotcaravel.MarmotCaravelConfig.fir@268347.6]
+  wire  accept; // @[SPIPhysical.scala 190:27:shc.marmotcaravel.MarmotCaravelConfig.fir@268341.4]
+  wire [3:0] txd_in; // @[SPIPhysical.scala 145:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268253.4]
+  wire [1:0] _T_132; // @[SPIPhysical.scala 146:39:shc.marmotcaravel.MarmotCaravelConfig.fir@268254.4]
+  wire  txd_sel_0; // @[SPIConsts.scala 13:48:shc.marmotcaravel.MarmotCaravelConfig.fir@268255.4]
+  wire  txd_sel_1; // @[SPIConsts.scala 13:48:shc.marmotcaravel.MarmotCaravelConfig.fir@268256.4]
+  wire  txd_sel_2; // @[SPIConsts.scala 13:48:shc.marmotcaravel.MarmotCaravelConfig.fir@268257.4]
+  wire  txd_shf_0; // @[SPIPhysical.scala 147:55:shc.marmotcaravel.MarmotCaravelConfig.fir@268258.4]
+  wire [1:0] txd_shf_1; // @[SPIPhysical.scala 147:55:shc.marmotcaravel.MarmotCaravelConfig.fir@268259.4]
+  wire  _T_134; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@268262.6]
+  wire [1:0] _T_135; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@268263.6]
+  wire [3:0] _T_136; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@268264.6]
+  wire [1:0] _GEN_75; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@268265.6]
+  wire [1:0] _T_137; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@268265.6]
+  wire [3:0] _GEN_76; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@268266.6]
+  wire [3:0] _T_138; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@268266.6]
+  reg  done; // @[SPIPhysical.scala 165:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268296.4]
+  reg [31:0] _RAND_18;
+  wire  _T_184; // @[SPIPhysical.scala 199:16:shc.marmotcaravel.MarmotCaravelConfig.fir@268353.4]
+  wire  _T_185; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@268362.8]
+  wire  _GEN_9; // @[SPIPhysical.scala 179:18:shc.marmotcaravel.MarmotCaravelConfig.fir@268327.8]
+  wire  _GEN_14; // @[SPIPhysical.scala 177:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268324.6]
+  wire  _GEN_21; // @[SPIPhysical.scala 173:15:shc.marmotcaravel.MarmotCaravelConfig.fir@268319.4]
+  wire  _GEN_24; // @[SPIPhysical.scala 192:26:shc.marmotcaravel.MarmotCaravelConfig.fir@268347.6]
+  wire  _GEN_28; // @[SPIPhysical.scala 190:27:shc.marmotcaravel.MarmotCaravelConfig.fir@268341.4]
+  wire  _GEN_43; // @[Conditional.scala 40:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268363.8]
+  wire  _GEN_56; // @[SPIPhysical.scala 201:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268356.6]
+  wire  setup; // @[SPIPhysical.scala 199:25:shc.marmotcaravel.MarmotCaravelConfig.fir@268354.4]
+  wire  _T_141; // @[SPIPhysical.scala 153:49:shc.marmotcaravel.MarmotCaravelConfig.fir@268272.4]
+  wire  txen_2; // @[SPIPhysical.scala 153:49:shc.marmotcaravel.MarmotCaravelConfig.fir@268273.4]
+  wire  txen_1; // @[SPIPhysical.scala 153:82:shc.marmotcaravel.MarmotCaravelConfig.fir@268275.4]
+  wire  _T_156; // @[SPIPhysical.scala 166:16:shc.marmotcaravel.MarmotCaravelConfig.fir@268297.4]
+  wire  _T_157; // @[SPIPhysical.scala 112:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268300.4]
+  wire  _T_159; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@268302.4]
+  wire  _T_160; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@268303.4]
+  wire  _T_161; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@268304.4]
+  wire  _T_162; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@268305.4]
+  wire  _T_163; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@268306.4]
+  wire  _T_164; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@268307.4]
+  wire  _T_165; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@268308.4]
+  wire [1:0] _T_166; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268309.4]
+  wire [1:0] _T_167; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268310.4]
+  wire [3:0] _T_168; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268311.4]
+  wire [1:0] _T_169; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268312.4]
+  wire [1:0] _T_170; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268313.4]
+  wire [3:0] _T_171; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268314.4]
+  wire [7:0] _T_172; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268315.4]
+  wire  _T_176; // @[SPIPhysical.scala 180:21:shc.marmotcaravel.MarmotCaravelConfig.fir@268328.10]
+  wire  _GEN_7; // @[SPIPhysical.scala 179:18:shc.marmotcaravel.MarmotCaravelConfig.fir@268327.8]
+  wire [11:0] _GEN_10; // @[SPIPhysical.scala 184:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268335.8]
+  wire  _GEN_12; // @[SPIPhysical.scala 177:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268324.6]
+  wire [11:0] _GEN_15; // @[SPIPhysical.scala 177:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268324.6]
+  wire  _GEN_19; // @[SPIPhysical.scala 173:15:shc.marmotcaravel.MarmotCaravelConfig.fir@268319.4]
+  wire [11:0] _GEN_22; // @[SPIPhysical.scala 173:15:shc.marmotcaravel.MarmotCaravelConfig.fir@268319.4]
+  wire  _T_186; // @[SPIPhysical.scala 213:27:shc.marmotcaravel.MarmotCaravelConfig.fir@268367.10]
+  wire [11:0] _GEN_49; // @[SPIPhysical.scala 201:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268356.6]
+  wire [11:0] _GEN_62; // @[SPIPhysical.scala 199:25:shc.marmotcaravel.MarmotCaravelConfig.fir@268354.4]
+  assign proto_0 = 2'h0 == ctrl_fmt_proto; // @[SPIConsts.scala 13:48:shc.marmotcaravel.MarmotCaravelConfig.fir@268105.4]
+  assign proto_1 = 2'h1 == ctrl_fmt_proto; // @[SPIConsts.scala 13:48:shc.marmotcaravel.MarmotCaravelConfig.fir@268106.4]
+  assign proto_2 = 2'h2 == ctrl_fmt_proto; // @[SPIConsts.scala 13:48:shc.marmotcaravel.MarmotCaravelConfig.fir@268107.4]
+  assign stop = scnt == 8'h0; // @[SPIPhysical.scala 64:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268124.4]
+  assign beat = tcnt == 12'h0; // @[SPIPhysical.scala 65:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268125.4]
+  assign _GEN_74 = {{7'd0}, io_ctrl_sampledel_sd}; // @[SPIPhysical.scala 68:48:shc.marmotcaravel.MarmotCaravelConfig.fir@268126.4]
+  assign totalCoarseDel = io_ctrl_extradel_coarse + _GEN_74; // @[SPIPhysical.scala 68:48:shc.marmotcaravel.MarmotCaravelConfig.fir@268127.4]
+  assign _GEN_8 = xfr ? cref : 1'h0; // @[SPIPhysical.scala 179:18:shc.marmotcaravel.MarmotCaravelConfig.fir@268327.8]
+  assign _GEN_13 = beat ? _GEN_8 : 1'h0; // @[SPIPhysical.scala 177:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268324.6]
+  assign sample = stop ? 1'h0 : _GEN_13; // @[SPIPhysical.scala 173:15:shc.marmotcaravel.MarmotCaravelConfig.fir@268319.4]
+  assign _T_46 = beat & sample; // @[SPIPhysical.scala 71:14:shc.marmotcaravel.MarmotCaravelConfig.fir@268130.4]
+  assign _T_47 = del_cntr != 12'h0; // @[SPIPhysical.scala 75:18:shc.marmotcaravel.MarmotCaravelConfig.fir@268134.4]
+  assign _T_48 = del_cntr - 12'h1; // @[SPIPhysical.scala 76:26:shc.marmotcaravel.MarmotCaravelConfig.fir@268136.6]
+  assign _T_49 = $unsigned(_T_48); // @[SPIPhysical.scala 76:26:shc.marmotcaravel.MarmotCaravelConfig.fir@268137.6]
+  assign _T_50 = _T_49[11:0]; // @[SPIPhysical.scala 76:26:shc.marmotcaravel.MarmotCaravelConfig.fir@268138.6]
+  assign _T_51 = del_cntr == 12'h1; // @[SPIPhysical.scala 79:18:shc.marmotcaravel.MarmotCaravelConfig.fir@268141.4]
+  assign _T_179 = scnt == 8'h1; // @[SPIPhysical.scala 190:14:shc.marmotcaravel.MarmotCaravelConfig.fir@268340.4]
+  assign _T_180 = beat & cref; // @[SPIPhysical.scala 191:18:shc.marmotcaravel.MarmotCaravelConfig.fir@268342.6]
+  assign _T_181 = _T_180 & xfr; // @[SPIPhysical.scala 191:26:shc.marmotcaravel.MarmotCaravelConfig.fir@268343.6]
+  assign last = _T_179 ? _T_181 : 1'h0; // @[SPIPhysical.scala 190:27:shc.marmotcaravel.MarmotCaravelConfig.fir@268341.4]
+  assign _T_54 = beat & last; // @[SPIPhysical.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@268150.4]
+  assign _T_55 = del_cntr_last != 12'h0; // @[SPIPhysical.scala 93:23:shc.marmotcaravel.MarmotCaravelConfig.fir@268154.4]
+  assign _T_56 = del_cntr_last - 12'h1; // @[SPIPhysical.scala 94:36:shc.marmotcaravel.MarmotCaravelConfig.fir@268156.6]
+  assign _T_57 = $unsigned(_T_56); // @[SPIPhysical.scala 94:36:shc.marmotcaravel.MarmotCaravelConfig.fir@268157.6]
+  assign _T_58 = _T_57[11:0]; // @[SPIPhysical.scala 94:36:shc.marmotcaravel.MarmotCaravelConfig.fir@268158.6]
+  assign _T_59 = del_cntr_last == 12'h1; // @[SPIPhysical.scala 97:23:shc.marmotcaravel.MarmotCaravelConfig.fir@268161.4]
+  assign _T_60 = beat ? {{4'd0}, scnt} : tcnt; // @[SPIPhysical.scala 103:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268168.4]
+  assign _T_61 = _T_60 - 12'h1; // @[SPIPhysical.scala 103:36:shc.marmotcaravel.MarmotCaravelConfig.fir@268169.4]
+  assign _T_62 = $unsigned(_T_61); // @[SPIPhysical.scala 103:36:shc.marmotcaravel.MarmotCaravelConfig.fir@268170.4]
+  assign decr = _T_62[11:0]; // @[SPIPhysical.scala 103:36:shc.marmotcaravel.MarmotCaravelConfig.fir@268171.4]
+  assign sched = stop ? 1'h1 : beat; // @[SPIPhysical.scala 173:15:shc.marmotcaravel.MarmotCaravelConfig.fir@268319.4]
+  assign cinv = ctrl_sck_pha ^ ctrl_sck_pol; // @[SPIPhysical.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@268179.4]
+  assign _T_67 = {io_port_dq_1_i,io_port_dq_0_i}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268180.4]
+  assign _T_68 = {io_port_dq_3_i,io_port_dq_2_i}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268181.4]
+  assign rxd = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268182.4]
+  assign rxd_delayed_0 = rxd[0]; // @[SPIPhysical.scala 126:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268189.4]
+  assign rxd_delayed_1 = rxd[1]; // @[SPIPhysical.scala 126:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268190.4]
+  assign rxd_delayed_2 = rxd[2]; // @[SPIPhysical.scala 126:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268191.4]
+  assign rxd_delayed_3 = rxd[3]; // @[SPIPhysical.scala 126:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268192.4]
+  assign _T_82 = {rxd_delayed_1,rxd_delayed_0}; // @[SPIPhysical.scala 129:29:shc.marmotcaravel.MarmotCaravelConfig.fir@268197.4]
+  assign _T_83 = {rxd_delayed_3,rxd_delayed_2}; // @[SPIPhysical.scala 129:29:shc.marmotcaravel.MarmotCaravelConfig.fir@268198.4]
+  assign rxd_fin = {_T_83,_T_82}; // @[SPIPhysical.scala 129:29:shc.marmotcaravel.MarmotCaravelConfig.fir@268199.4]
+  assign samples_0 = rxd_fin[1]; // @[SPIPhysical.scala 130:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268200.4]
+  assign samples_1 = rxd_fin[1:0]; // @[SPIPhysical.scala 130:40:shc.marmotcaravel.MarmotCaravelConfig.fir@268201.4]
+  assign _T_84 = io_ctrl_fmt_endian == 1'h0; // @[SPIPhysical.scala 112:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268203.4]
+  assign _T_85 = io_op_bits_data[0]; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@268204.4]
+  assign _T_86 = io_op_bits_data[1]; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@268205.4]
+  assign _T_87 = io_op_bits_data[2]; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@268206.4]
+  assign _T_88 = io_op_bits_data[3]; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@268207.4]
+  assign _T_89 = io_op_bits_data[4]; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@268208.4]
+  assign _T_90 = io_op_bits_data[5]; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@268209.4]
+  assign _T_91 = io_op_bits_data[6]; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@268210.4]
+  assign _T_92 = io_op_bits_data[7]; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@268211.4]
+  assign _T_93 = {_T_91,_T_92}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268212.4]
+  assign _T_94 = {_T_89,_T_90}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268213.4]
+  assign _T_95 = {_T_94,_T_93}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268214.4]
+  assign _T_96 = {_T_87,_T_88}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268215.4]
+  assign _T_97 = {_T_85,_T_86}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268216.4]
+  assign _T_98 = {_T_97,_T_96}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268217.4]
+  assign _T_99 = {_T_98,_T_95}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268218.4]
+  assign buffer_in = _T_84 ? io_op_bits_data : _T_99; // @[SPIPhysical.scala 112:8:shc.marmotcaravel.MarmotCaravelConfig.fir@268219.4]
+  assign _T_100 = totalCoarseDel > 12'h0; // @[SPIPhysical.scala 134:36:shc.marmotcaravel.MarmotCaravelConfig.fir@268220.4]
+  assign _T_101 = sample_d & stop; // @[SPIPhysical.scala 134:65:shc.marmotcaravel.MarmotCaravelConfig.fir@268221.4]
+  assign _T_102 = setup_d | _T_101; // @[SPIPhysical.scala 134:52:shc.marmotcaravel.MarmotCaravelConfig.fir@268222.4]
+  assign shift = _T_100 ? _T_102 : sample_d; // @[SPIPhysical.scala 134:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268223.4]
+  assign _T_103 = buffer[6:0]; // @[SPIPhysical.scala 138:26:shc.marmotcaravel.MarmotCaravelConfig.fir@268224.4]
+  assign _T_104 = buffer[7:1]; // @[SPIPhysical.scala 138:42:shc.marmotcaravel.MarmotCaravelConfig.fir@268225.4]
+  assign _T_105 = shift ? _T_103 : _T_104; // @[SPIPhysical.scala 138:12:shc.marmotcaravel.MarmotCaravelConfig.fir@268226.4]
+  assign _T_106 = buffer[0]; // @[SPIPhysical.scala 139:35:shc.marmotcaravel.MarmotCaravelConfig.fir@268227.4]
+  assign _T_107 = sample_d ? samples_0 : _T_106; // @[SPIPhysical.scala 139:12:shc.marmotcaravel.MarmotCaravelConfig.fir@268228.4]
+  assign _T_108 = {_T_105,_T_107}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268229.4]
+  assign _T_109 = buffer[5:0]; // @[SPIPhysical.scala 138:26:shc.marmotcaravel.MarmotCaravelConfig.fir@268230.4]
+  assign _T_110 = buffer[7:2]; // @[SPIPhysical.scala 138:42:shc.marmotcaravel.MarmotCaravelConfig.fir@268231.4]
+  assign _T_111 = shift ? _T_109 : _T_110; // @[SPIPhysical.scala 138:12:shc.marmotcaravel.MarmotCaravelConfig.fir@268232.4]
+  assign _T_112 = buffer[1:0]; // @[SPIPhysical.scala 139:35:shc.marmotcaravel.MarmotCaravelConfig.fir@268233.4]
+  assign _T_113 = sample_d ? samples_1 : _T_112; // @[SPIPhysical.scala 139:12:shc.marmotcaravel.MarmotCaravelConfig.fir@268234.4]
+  assign _T_114 = {_T_111,_T_113}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268235.4]
+  assign _T_115 = buffer[3:0]; // @[SPIPhysical.scala 138:26:shc.marmotcaravel.MarmotCaravelConfig.fir@268236.4]
+  assign _T_116 = buffer[7:4]; // @[SPIPhysical.scala 138:42:shc.marmotcaravel.MarmotCaravelConfig.fir@268237.4]
+  assign _T_117 = shift ? _T_115 : _T_116; // @[SPIPhysical.scala 138:12:shc.marmotcaravel.MarmotCaravelConfig.fir@268238.4]
+  assign _T_119 = sample_d ? rxd_fin : _T_115; // @[SPIPhysical.scala 139:12:shc.marmotcaravel.MarmotCaravelConfig.fir@268240.4]
+  assign _T_120 = {_T_117,_T_119}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268241.4]
+  assign _T_122 = proto_0 ? _T_108 : 8'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@268242.4]
+  assign _T_123 = proto_1 ? _T_114 : 8'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@268243.4]
+  assign _T_124 = proto_2 ? _T_120 : 8'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@268244.4]
+  assign _T_125 = _T_122 | _T_123; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@268245.4]
+  assign _T_126 = _T_125 | _T_124; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@268246.4]
+  assign _T_130 = buffer_in[7:4]; // @[SPIPhysical.scala 142:41:shc.marmotcaravel.MarmotCaravelConfig.fir@268251.4]
+  assign _T_182 = cref == 1'h0; // @[SPIPhysical.scala 192:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268345.6]
+  assign _T_183 = beat & _T_182; // @[SPIPhysical.scala 192:16:shc.marmotcaravel.MarmotCaravelConfig.fir@268346.6]
+  assign _GEN_23 = _T_183 ? 1'h1 : stop; // @[SPIPhysical.scala 192:26:shc.marmotcaravel.MarmotCaravelConfig.fir@268347.6]
+  assign accept = _T_179 ? _GEN_23 : stop; // @[SPIPhysical.scala 190:27:shc.marmotcaravel.MarmotCaravelConfig.fir@268341.4]
+  assign txd_in = accept ? _T_130 : _T_116; // @[SPIPhysical.scala 145:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268253.4]
+  assign _T_132 = accept ? io_ctrl_fmt_proto : ctrl_fmt_proto; // @[SPIPhysical.scala 146:39:shc.marmotcaravel.MarmotCaravelConfig.fir@268254.4]
+  assign txd_sel_0 = 2'h0 == _T_132; // @[SPIConsts.scala 13:48:shc.marmotcaravel.MarmotCaravelConfig.fir@268255.4]
+  assign txd_sel_1 = 2'h1 == _T_132; // @[SPIConsts.scala 13:48:shc.marmotcaravel.MarmotCaravelConfig.fir@268256.4]
+  assign txd_sel_2 = 2'h2 == _T_132; // @[SPIConsts.scala 13:48:shc.marmotcaravel.MarmotCaravelConfig.fir@268257.4]
+  assign txd_shf_0 = txd_in[3]; // @[SPIPhysical.scala 147:55:shc.marmotcaravel.MarmotCaravelConfig.fir@268258.4]
+  assign txd_shf_1 = txd_in[3:2]; // @[SPIPhysical.scala 147:55:shc.marmotcaravel.MarmotCaravelConfig.fir@268259.4]
+  assign _T_134 = txd_sel_0 ? txd_shf_0 : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@268262.6]
+  assign _T_135 = txd_sel_1 ? txd_shf_1 : 2'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@268263.6]
+  assign _T_136 = txd_sel_2 ? txd_in : 4'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@268264.6]
+  assign _GEN_75 = {{1'd0}, _T_134}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@268265.6]
+  assign _T_137 = _GEN_75 | _T_135; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@268265.6]
+  assign _GEN_76 = {{2'd0}, _T_137}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@268266.6]
+  assign _T_138 = _GEN_76 | _T_136; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@268266.6]
+  assign _T_184 = accept & done; // @[SPIPhysical.scala 199:16:shc.marmotcaravel.MarmotCaravelConfig.fir@268353.4]
+  assign _T_185 = 1'h0 == io_op_bits_fn; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@268362.8]
+  assign _GEN_9 = xfr ? _T_182 : 1'h0; // @[SPIPhysical.scala 179:18:shc.marmotcaravel.MarmotCaravelConfig.fir@268327.8]
+  assign _GEN_14 = beat ? _GEN_9 : 1'h0; // @[SPIPhysical.scala 177:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268324.6]
+  assign _GEN_21 = stop ? 1'h0 : _GEN_14; // @[SPIPhysical.scala 173:15:shc.marmotcaravel.MarmotCaravelConfig.fir@268319.4]
+  assign _GEN_24 = _T_183 ? 1'h0 : _GEN_21; // @[SPIPhysical.scala 192:26:shc.marmotcaravel.MarmotCaravelConfig.fir@268347.6]
+  assign _GEN_28 = _T_179 ? _GEN_24 : _GEN_21; // @[SPIPhysical.scala 190:27:shc.marmotcaravel.MarmotCaravelConfig.fir@268341.4]
+  assign _GEN_43 = _T_185 ? 1'h1 : _GEN_28; // @[Conditional.scala 40:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268363.8]
+  assign _GEN_56 = io_op_valid ? _GEN_43 : _GEN_28; // @[SPIPhysical.scala 201:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268356.6]
+  assign setup = _T_184 ? _GEN_56 : _GEN_28; // @[SPIPhysical.scala 199:25:shc.marmotcaravel.MarmotCaravelConfig.fir@268354.4]
+  assign _T_141 = proto_1 & ctrl_fmt_iodir; // @[SPIPhysical.scala 153:49:shc.marmotcaravel.MarmotCaravelConfig.fir@268272.4]
+  assign txen_2 = proto_2 & ctrl_fmt_iodir; // @[SPIPhysical.scala 153:49:shc.marmotcaravel.MarmotCaravelConfig.fir@268273.4]
+  assign txen_1 = _T_141 | txen_2; // @[SPIPhysical.scala 153:82:shc.marmotcaravel.MarmotCaravelConfig.fir@268275.4]
+  assign _T_156 = done | last_d; // @[SPIPhysical.scala 166:16:shc.marmotcaravel.MarmotCaravelConfig.fir@268297.4]
+  assign _T_157 = ctrl_fmt_endian == 1'h0; // @[SPIPhysical.scala 112:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268300.4]
+  assign _T_159 = buffer[1]; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@268302.4]
+  assign _T_160 = buffer[2]; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@268303.4]
+  assign _T_161 = buffer[3]; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@268304.4]
+  assign _T_162 = buffer[4]; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@268305.4]
+  assign _T_163 = buffer[5]; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@268306.4]
+  assign _T_164 = buffer[6]; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@268307.4]
+  assign _T_165 = buffer[7]; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@268308.4]
+  assign _T_166 = {_T_164,_T_165}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268309.4]
+  assign _T_167 = {_T_162,_T_163}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268310.4]
+  assign _T_168 = {_T_167,_T_166}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268311.4]
+  assign _T_169 = {_T_160,_T_161}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268312.4]
+  assign _T_170 = {_T_106,_T_159}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268313.4]
+  assign _T_171 = {_T_170,_T_169}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268314.4]
+  assign _T_172 = {_T_171,_T_168}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268315.4]
+  assign _T_176 = cref ^ cinv; // @[SPIPhysical.scala 180:21:shc.marmotcaravel.MarmotCaravelConfig.fir@268328.10]
+  assign _GEN_7 = xfr ? _T_176 : sck; // @[SPIPhysical.scala 179:18:shc.marmotcaravel.MarmotCaravelConfig.fir@268327.8]
+  assign _GEN_10 = _T_182 ? decr : {{4'd0}, scnt}; // @[SPIPhysical.scala 184:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268335.8]
+  assign _GEN_12 = beat ? _GEN_7 : sck; // @[SPIPhysical.scala 177:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268324.6]
+  assign _GEN_15 = beat ? _GEN_10 : {{4'd0}, scnt}; // @[SPIPhysical.scala 177:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268324.6]
+  assign _GEN_19 = stop ? sck : _GEN_12; // @[SPIPhysical.scala 173:15:shc.marmotcaravel.MarmotCaravelConfig.fir@268319.4]
+  assign _GEN_22 = stop ? {{4'd0}, scnt} : _GEN_15; // @[SPIPhysical.scala 173:15:shc.marmotcaravel.MarmotCaravelConfig.fir@268319.4]
+  assign _T_186 = io_op_bits_cnt == 8'h0; // @[SPIPhysical.scala 213:27:shc.marmotcaravel.MarmotCaravelConfig.fir@268367.10]
+  assign _GEN_49 = io_op_valid ? {{4'd0}, io_op_bits_cnt} : _GEN_22; // @[SPIPhysical.scala 201:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268356.6]
+  assign _GEN_62 = _T_184 ? _GEN_49 : _GEN_22; // @[SPIPhysical.scala 199:25:shc.marmotcaravel.MarmotCaravelConfig.fir@268354.4]
+  assign io_port_sck = sck; // @[SPIPhysical.scala 156:15:shc.marmotcaravel.MarmotCaravelConfig.fir@268277.4]
+  assign io_port_dq_0_o = txd[0]; // @[SPIPhysical.scala 160:12:shc.marmotcaravel.MarmotCaravelConfig.fir@268287.4]
+  assign io_port_dq_0_oe = proto_0 | txen_1; // @[SPIPhysical.scala 161:13:shc.marmotcaravel.MarmotCaravelConfig.fir@268288.4]
+  assign io_port_dq_1_o = txd[1]; // @[SPIPhysical.scala 160:12:shc.marmotcaravel.MarmotCaravelConfig.fir@268289.4]
+  assign io_port_dq_1_oe = _T_141 | txen_2; // @[SPIPhysical.scala 161:13:shc.marmotcaravel.MarmotCaravelConfig.fir@268290.4]
+  assign io_port_dq_2_o = txd[2]; // @[SPIPhysical.scala 160:12:shc.marmotcaravel.MarmotCaravelConfig.fir@268291.4]
+  assign io_port_dq_2_oe = proto_2 & ctrl_fmt_iodir; // @[SPIPhysical.scala 161:13:shc.marmotcaravel.MarmotCaravelConfig.fir@268292.4]
+  assign io_port_dq_3_o = txd[3]; // @[SPIPhysical.scala 160:12:shc.marmotcaravel.MarmotCaravelConfig.fir@268293.4]
+  assign io_port_dq_3_oe = proto_2 & ctrl_fmt_iodir; // @[SPIPhysical.scala 161:13:shc.marmotcaravel.MarmotCaravelConfig.fir@268294.4]
+  assign io_op_ready = accept & done; // @[SPIPhysical.scala 163:15:shc.marmotcaravel.MarmotCaravelConfig.fir@268295.4 SPIPhysical.scala 200:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268355.6]
+  assign io_rx_valid = done; // @[SPIPhysical.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@268299.4]
+  assign io_rx_bits = _T_157 ? buffer : _T_172; // @[SPIPhysical.scala 169:14:shc.marmotcaravel.MarmotCaravelConfig.fir@268317.4]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  ctrl_sck_div = _RAND_0[11:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  ctrl_sck_pol = _RAND_1[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  ctrl_sck_pha = _RAND_2[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  ctrl_fmt_proto = _RAND_3[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  ctrl_fmt_endian = _RAND_4[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  ctrl_fmt_iodir = _RAND_5[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {1{`RANDOM}};
+  setup_d = _RAND_6[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {1{`RANDOM}};
+  scnt = _RAND_7[7:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_8 = {1{`RANDOM}};
+  tcnt = _RAND_8[11:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_9 = {1{`RANDOM}};
+  del_cntr = _RAND_9[11:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_10 = {1{`RANDOM}};
+  sample_d = _RAND_10[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_11 = {1{`RANDOM}};
+  xfr = _RAND_11[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_12 = {1{`RANDOM}};
+  cref = _RAND_12[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_13 = {1{`RANDOM}};
+  del_cntr_last = _RAND_13[11:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_14 = {1{`RANDOM}};
+  last_d = _RAND_14[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_15 = {1{`RANDOM}};
+  sck = _RAND_15[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_16 = {1{`RANDOM}};
+  buffer = _RAND_16[7:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_17 = {1{`RANDOM}};
+  txd = _RAND_17[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_18 = {1{`RANDOM}};
+  done = _RAND_18[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (_T_184) begin
+      if (io_op_valid) begin
+        if (!(_T_185)) begin
+          if (io_op_bits_fn) begin
+            if (io_op_bits_stb) begin
+              ctrl_sck_div <= io_ctrl_sck_div;
+            end
+          end
+        end
+      end
+    end
+    if (_T_184) begin
+      if (io_op_valid) begin
+        if (!(_T_185)) begin
+          if (io_op_bits_fn) begin
+            if (io_op_bits_stb) begin
+              ctrl_sck_pol <= io_ctrl_sck_pol;
+            end
+          end
+        end
+      end
+    end
+    if (_T_184) begin
+      if (io_op_valid) begin
+        if (!(_T_185)) begin
+          if (io_op_bits_fn) begin
+            if (io_op_bits_stb) begin
+              ctrl_sck_pha <= io_ctrl_sck_pha;
+            end
+          end
+        end
+      end
+    end
+    if (_T_184) begin
+      if (io_op_valid) begin
+        if (io_op_bits_stb) begin
+          ctrl_fmt_proto <= io_ctrl_fmt_proto;
+        end
+      end
+    end
+    if (_T_184) begin
+      if (io_op_valid) begin
+        if (io_op_bits_stb) begin
+          ctrl_fmt_endian <= io_ctrl_fmt_endian;
+        end
+      end
+    end
+    if (_T_184) begin
+      if (io_op_valid) begin
+        if (io_op_bits_stb) begin
+          ctrl_fmt_iodir <= io_ctrl_fmt_iodir;
+        end
+      end
+    end
+    if (_T_184) begin
+      if (io_op_valid) begin
+        if (_T_185) begin
+          setup_d <= 1'h1;
+        end else begin
+          if (_T_179) begin
+            if (_T_183) begin
+              setup_d <= 1'h0;
+            end else begin
+              if (stop) begin
+                setup_d <= 1'h0;
+              end else begin
+                if (beat) begin
+                  if (xfr) begin
+                    setup_d <= _T_182;
+                  end else begin
+                    setup_d <= 1'h0;
+                  end
+                end else begin
+                  setup_d <= 1'h0;
+                end
+              end
+            end
+          end else begin
+            if (stop) begin
+              setup_d <= 1'h0;
+            end else begin
+              if (beat) begin
+                if (xfr) begin
+                  setup_d <= _T_182;
+                end else begin
+                  setup_d <= 1'h0;
+                end
+              end else begin
+                setup_d <= 1'h0;
+              end
+            end
+          end
+        end
+      end else begin
+        if (_T_179) begin
+          if (_T_183) begin
+            setup_d <= 1'h0;
+          end else begin
+            if (stop) begin
+              setup_d <= 1'h0;
+            end else begin
+              if (beat) begin
+                if (xfr) begin
+                  setup_d <= _T_182;
+                end else begin
+                  setup_d <= 1'h0;
+                end
+              end else begin
+                setup_d <= 1'h0;
+              end
+            end
+          end
+        end else begin
+          if (stop) begin
+            setup_d <= 1'h0;
+          end else begin
+            if (beat) begin
+              if (xfr) begin
+                setup_d <= _T_182;
+              end else begin
+                setup_d <= 1'h0;
+              end
+            end else begin
+              setup_d <= 1'h0;
+            end
+          end
+        end
+      end
+    end else begin
+      if (_T_179) begin
+        if (_T_183) begin
+          setup_d <= 1'h0;
+        end else begin
+          setup_d <= _GEN_21;
+        end
+      end else begin
+        setup_d <= _GEN_21;
+      end
+    end
+    if (reset) begin
+      scnt <= 8'h0;
+    end else begin
+      scnt <= _GEN_62[7:0];
+    end
+    if (sched) begin
+      tcnt <= ctrl_sck_div;
+    end else begin
+      tcnt <= decr;
+    end
+    if (reset) begin
+      del_cntr <= 12'h4;
+    end else begin
+      if (_T_47) begin
+        del_cntr <= _T_50;
+      end else begin
+        if (_T_46) begin
+          del_cntr <= totalCoarseDel;
+        end
+      end
+    end
+    if (reset) begin
+      sample_d <= 1'h0;
+    end else begin
+      sample_d <= _T_51;
+    end
+    if (_T_184) begin
+      if (io_op_valid) begin
+        xfr <= _T_185;
+      end
+    end
+    if (reset) begin
+      cref <= 1'h1;
+    end else begin
+      if (!(stop)) begin
+        if (beat) begin
+          cref <= _T_182;
+        end
+      end
+    end
+    if (reset) begin
+      del_cntr_last <= 12'h4;
+    end else begin
+      if (_T_55) begin
+        del_cntr_last <= _T_58;
+      end else begin
+        if (_T_54) begin
+          del_cntr_last <= totalCoarseDel;
+        end
+      end
+    end
+    if (reset) begin
+      last_d <= 1'h0;
+    end else begin
+      last_d <= _T_59;
+    end
+    if (_T_184) begin
+      if (io_op_valid) begin
+        if (_T_185) begin
+          sck <= cinv;
+        end else begin
+          if (io_op_bits_fn) begin
+            if (io_op_bits_stb) begin
+              sck <= io_ctrl_sck_pol;
+            end else begin
+              if (_T_179) begin
+                if (_T_183) begin
+                  sck <= ctrl_sck_pol;
+                end else begin
+                  if (!(stop)) begin
+                    if (beat) begin
+                      if (xfr) begin
+                        sck <= _T_176;
+                      end
+                    end
+                  end
+                end
+              end else begin
+                if (!(stop)) begin
+                  if (beat) begin
+                    if (xfr) begin
+                      sck <= _T_176;
+                    end
+                  end
+                end
+              end
+            end
+          end else begin
+            if (_T_179) begin
+              if (_T_183) begin
+                sck <= ctrl_sck_pol;
+              end else begin
+                if (!(stop)) begin
+                  if (beat) begin
+                    if (xfr) begin
+                      sck <= _T_176;
+                    end
+                  end
+                end
+              end
+            end else begin
+              if (!(stop)) begin
+                if (beat) begin
+                  if (xfr) begin
+                    sck <= _T_176;
+                  end
+                end
+              end
+            end
+          end
+        end
+      end else begin
+        if (_T_179) begin
+          if (_T_183) begin
+            sck <= ctrl_sck_pol;
+          end else begin
+            sck <= _GEN_19;
+          end
+        end else begin
+          sck <= _GEN_19;
+        end
+      end
+    end else begin
+      if (_T_179) begin
+        if (_T_183) begin
+          sck <= ctrl_sck_pol;
+        end else begin
+          sck <= _GEN_19;
+        end
+      end else begin
+        sck <= _GEN_19;
+      end
+    end
+    if (_T_184) begin
+      if (io_op_valid) begin
+        if (_T_185) begin
+          if (_T_84) begin
+            buffer <= io_op_bits_data;
+          end else begin
+            buffer <= _T_99;
+          end
+        end else begin
+          buffer <= _T_126;
+        end
+      end else begin
+        buffer <= _T_126;
+      end
+    end else begin
+      buffer <= _T_126;
+    end
+    if (reset) begin
+      txd <= 4'h0;
+    end else begin
+      if (setup) begin
+        txd <= _T_138;
+      end
+    end
+    if (reset) begin
+      done <= 1'h1;
+    end else begin
+      if (_T_184) begin
+        if (io_op_valid) begin
+          if (_T_185) begin
+            done <= _T_186;
+          end else begin
+            done <= _T_156;
+          end
+        end else begin
+          done <= _T_156;
+        end
+      end else begin
+        done <= _T_156;
+      end
+    end
+  end
+endmodule
+module SPIMedia_1( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268382.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268383.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268384.4]
+  output        io_port_sck, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268385.4]
+  input         io_port_dq_0_i, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268385.4]
+  output        io_port_dq_0_o, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268385.4]
+  output        io_port_dq_0_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268385.4]
+  input         io_port_dq_1_i, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268385.4]
+  output        io_port_dq_1_o, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268385.4]
+  output        io_port_dq_1_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268385.4]
+  input         io_port_dq_2_i, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268385.4]
+  output        io_port_dq_2_o, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268385.4]
+  output        io_port_dq_2_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268385.4]
+  input         io_port_dq_3_i, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268385.4]
+  output        io_port_dq_3_o, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268385.4]
+  output        io_port_dq_3_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268385.4]
+  output        io_port_cs_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268385.4]
+  output        io_port_cs_1, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268385.4]
+  input  [11:0] io_ctrl_sck_div, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268385.4]
+  input         io_ctrl_sck_pol, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268385.4]
+  input         io_ctrl_sck_pha, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268385.4]
+  input  [7:0]  io_ctrl_dla_cssck, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268385.4]
+  input  [7:0]  io_ctrl_dla_sckcs, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268385.4]
+  input  [7:0]  io_ctrl_dla_intercs, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268385.4]
+  input  [7:0]  io_ctrl_dla_interxfr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268385.4]
+  input         io_ctrl_cs_id, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268385.4]
+  input         io_ctrl_cs_dflt_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268385.4]
+  input         io_ctrl_cs_dflt_1, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268385.4]
+  input  [11:0] io_ctrl_extradel_coarse, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268385.4]
+  input  [4:0]  io_ctrl_sampledel_sd, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268385.4]
+  output        io_link_tx_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268385.4]
+  input         io_link_tx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268385.4]
+  input  [7:0]  io_link_tx_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268385.4]
+  output        io_link_rx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268385.4]
+  output [7:0]  io_link_rx_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268385.4]
+  input  [7:0]  io_link_cnt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268385.4]
+  input  [1:0]  io_link_fmt_proto, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268385.4]
+  input         io_link_fmt_endian, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268385.4]
+  input         io_link_fmt_iodir, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268385.4]
+  input         io_link_cs_set, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268385.4]
+  input         io_link_cs_clear // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268385.4]
+);
+  wire  phy_clock; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268390.4]
+  wire  phy_reset; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268390.4]
+  wire  phy_io_port_sck; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268390.4]
+  wire  phy_io_port_dq_0_i; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268390.4]
+  wire  phy_io_port_dq_0_o; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268390.4]
+  wire  phy_io_port_dq_0_oe; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268390.4]
+  wire  phy_io_port_dq_1_i; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268390.4]
+  wire  phy_io_port_dq_1_o; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268390.4]
+  wire  phy_io_port_dq_1_oe; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268390.4]
+  wire  phy_io_port_dq_2_i; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268390.4]
+  wire  phy_io_port_dq_2_o; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268390.4]
+  wire  phy_io_port_dq_2_oe; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268390.4]
+  wire  phy_io_port_dq_3_i; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268390.4]
+  wire  phy_io_port_dq_3_o; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268390.4]
+  wire  phy_io_port_dq_3_oe; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268390.4]
+  wire [11:0] phy_io_ctrl_sck_div; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268390.4]
+  wire  phy_io_ctrl_sck_pol; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268390.4]
+  wire  phy_io_ctrl_sck_pha; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268390.4]
+  wire [1:0] phy_io_ctrl_fmt_proto; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268390.4]
+  wire  phy_io_ctrl_fmt_endian; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268390.4]
+  wire  phy_io_ctrl_fmt_iodir; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268390.4]
+  wire [11:0] phy_io_ctrl_extradel_coarse; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268390.4]
+  wire [4:0] phy_io_ctrl_sampledel_sd; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268390.4]
+  wire  phy_io_op_ready; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268390.4]
+  wire  phy_io_op_valid; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268390.4]
+  wire  phy_io_op_bits_fn; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268390.4]
+  wire  phy_io_op_bits_stb; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268390.4]
+  wire [7:0] phy_io_op_bits_cnt; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268390.4]
+  wire [7:0] phy_io_op_bits_data; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268390.4]
+  wire  phy_io_rx_valid; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268390.4]
+  wire [7:0] phy_io_rx_bits; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268390.4]
+  reg  cs_id; // @[SPIMedia.scala 46:15:shc.marmotcaravel.MarmotCaravelConfig.fir@268403.4]
+  reg [31:0] _RAND_0;
+  reg  cs_dflt_0; // @[SPIMedia.scala 46:15:shc.marmotcaravel.MarmotCaravelConfig.fir@268403.4]
+  reg [31:0] _RAND_1;
+  reg  cs_dflt_1; // @[SPIMedia.scala 46:15:shc.marmotcaravel.MarmotCaravelConfig.fir@268403.4]
+  reg [31:0] _RAND_2;
+  reg  cs_set; // @[SPIMedia.scala 47:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268404.4]
+  reg [31:0] _RAND_3;
+  wire [1:0] _GEN_61; // @[SPIBundle.scala 47:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268405.4]
+  wire [1:0] _T_67; // @[SPIBundle.scala 47:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268405.4]
+  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268406.4]
+  wire [1:0] _T_69; // @[SPIBundle.scala 48:33:shc.marmotcaravel.MarmotCaravelConfig.fir@268407.4]
+  wire  cs_active_0; // @[SPIBundle.scala 49:32:shc.marmotcaravel.MarmotCaravelConfig.fir@268408.4]
+  wire  cs_active_1; // @[SPIBundle.scala 49:32:shc.marmotcaravel.MarmotCaravelConfig.fir@268409.4]
+  wire [1:0] _T_79; // @[SPIMedia.scala 49:30:shc.marmotcaravel.MarmotCaravelConfig.fir@268414.4]
+  wire [1:0] _T_80; // @[SPIMedia.scala 49:49:shc.marmotcaravel.MarmotCaravelConfig.fir@268415.4]
+  wire  cs_update; // @[SPIMedia.scala 49:37:shc.marmotcaravel.MarmotCaravelConfig.fir@268416.4]
+  reg  clear; // @[SPIMedia.scala 51:18:shc.marmotcaravel.MarmotCaravelConfig.fir@268417.4]
+  reg [31:0] _RAND_4;
+  reg  cs_assert; // @[SPIMedia.scala 52:22:shc.marmotcaravel.MarmotCaravelConfig.fir@268418.4]
+  reg [31:0] _RAND_5;
+  wire  cs_deassert; // @[SPIMedia.scala 53:27:shc.marmotcaravel.MarmotCaravelConfig.fir@268421.4]
+  wire  _T_85; // @[SPIMedia.scala 55:39:shc.marmotcaravel.MarmotCaravelConfig.fir@268422.4]
+  wire  _T_86; // @[SPIMedia.scala 55:18:shc.marmotcaravel.MarmotCaravelConfig.fir@268423.4]
+  wire  continuous; // @[SPIMedia.scala 57:42:shc.marmotcaravel.MarmotCaravelConfig.fir@268425.4]
+  reg [1:0] state; // @[SPIMedia.scala 68:18:shc.marmotcaravel.MarmotCaravelConfig.fir@268432.4]
+  reg [31:0] _RAND_6;
+  wire  _T_89; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@268433.4]
+  wire  _T_90; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@268447.10]
+  wire [7:0] _GEN_2; // @[SPIMedia.scala 73:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268436.8]
+  wire  _GEN_5; // @[SPIMedia.scala 73:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268436.8]
+  wire  _GEN_6; // @[SPIMedia.scala 73:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268436.8]
+  wire  _GEN_7; // @[SPIMedia.scala 73:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268436.8]
+  wire [7:0] _GEN_12; // @[SPIMedia.scala 88:38:shc.marmotcaravel.MarmotCaravelConfig.fir@268454.8]
+  wire  _GEN_17; // @[SPIMedia.scala 88:38:shc.marmotcaravel.MarmotCaravelConfig.fir@268454.8]
+  wire [7:0] _GEN_19; // @[SPIMedia.scala 72:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268435.6]
+  wire  _GEN_21; // @[SPIMedia.scala 72:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268435.6]
+  wire  _GEN_22; // @[SPIMedia.scala 72:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268435.6]
+  wire  _GEN_23; // @[SPIMedia.scala 72:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268435.6]
+  wire  _GEN_24; // @[SPIMedia.scala 72:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268435.6]
+  wire  _T_91; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@268469.6]
+  wire  _T_92; // @[SPIMedia.scala 106:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268471.8]
+  wire  _T_93; // @[SPIMedia.scala 108:22:shc.marmotcaravel.MarmotCaravelConfig.fir@268474.8]
+  wire  _T_94; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@268480.8]
+  wire [1:0] _GEN_62; // @[SPIBundle.scala 47:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268487.12]
+  wire [1:0] _T_95; // @[SPIBundle.scala 47:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268487.12]
+  wire [1:0] _T_97; // @[SPIBundle.scala 48:33:shc.marmotcaravel.MarmotCaravelConfig.fir@268489.12]
+  wire  _T_98; // @[SPIBundle.scala 49:32:shc.marmotcaravel.MarmotCaravelConfig.fir@268490.12]
+  wire  _T_99; // @[SPIBundle.scala 49:32:shc.marmotcaravel.MarmotCaravelConfig.fir@268491.12]
+  wire [7:0] _GEN_34; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@268481.8]
+  wire  _GEN_41; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@268470.6]
+  wire [7:0] _GEN_42; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@268470.6]
+  wire  _GEN_44; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@268470.6]
+  SPIPhysical_1 phy ( // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268390.4]
+    .clock(phy_clock),
+    .reset(phy_reset),
+    .io_port_sck(phy_io_port_sck),
+    .io_port_dq_0_i(phy_io_port_dq_0_i),
+    .io_port_dq_0_o(phy_io_port_dq_0_o),
+    .io_port_dq_0_oe(phy_io_port_dq_0_oe),
+    .io_port_dq_1_i(phy_io_port_dq_1_i),
+    .io_port_dq_1_o(phy_io_port_dq_1_o),
+    .io_port_dq_1_oe(phy_io_port_dq_1_oe),
+    .io_port_dq_2_i(phy_io_port_dq_2_i),
+    .io_port_dq_2_o(phy_io_port_dq_2_o),
+    .io_port_dq_2_oe(phy_io_port_dq_2_oe),
+    .io_port_dq_3_i(phy_io_port_dq_3_i),
+    .io_port_dq_3_o(phy_io_port_dq_3_o),
+    .io_port_dq_3_oe(phy_io_port_dq_3_oe),
+    .io_ctrl_sck_div(phy_io_ctrl_sck_div),
+    .io_ctrl_sck_pol(phy_io_ctrl_sck_pol),
+    .io_ctrl_sck_pha(phy_io_ctrl_sck_pha),
+    .io_ctrl_fmt_proto(phy_io_ctrl_fmt_proto),
+    .io_ctrl_fmt_endian(phy_io_ctrl_fmt_endian),
+    .io_ctrl_fmt_iodir(phy_io_ctrl_fmt_iodir),
+    .io_ctrl_extradel_coarse(phy_io_ctrl_extradel_coarse),
+    .io_ctrl_sampledel_sd(phy_io_ctrl_sampledel_sd),
+    .io_op_ready(phy_io_op_ready),
+    .io_op_valid(phy_io_op_valid),
+    .io_op_bits_fn(phy_io_op_bits_fn),
+    .io_op_bits_stb(phy_io_op_bits_stb),
+    .io_op_bits_cnt(phy_io_op_bits_cnt),
+    .io_op_bits_data(phy_io_op_bits_data),
+    .io_rx_valid(phy_io_rx_valid),
+    .io_rx_bits(phy_io_rx_bits)
+  );
+  assign _GEN_61 = {{1'd0}, io_link_cs_set}; // @[SPIBundle.scala 47:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268405.4]
+  assign _T_67 = _GEN_61 << io_ctrl_cs_id; // @[SPIBundle.scala 47:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268405.4]
+  assign _T_68 = {io_ctrl_cs_dflt_1,io_ctrl_cs_dflt_0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268406.4]
+  assign _T_69 = _T_68 ^ _T_67; // @[SPIBundle.scala 48:33:shc.marmotcaravel.MarmotCaravelConfig.fir@268407.4]
+  assign cs_active_0 = _T_69[0]; // @[SPIBundle.scala 49:32:shc.marmotcaravel.MarmotCaravelConfig.fir@268408.4]
+  assign cs_active_1 = _T_69[1]; // @[SPIBundle.scala 49:32:shc.marmotcaravel.MarmotCaravelConfig.fir@268409.4]
+  assign _T_79 = {cs_active_1,cs_active_0}; // @[SPIMedia.scala 49:30:shc.marmotcaravel.MarmotCaravelConfig.fir@268414.4]
+  assign _T_80 = {cs_dflt_1,cs_dflt_0}; // @[SPIMedia.scala 49:49:shc.marmotcaravel.MarmotCaravelConfig.fir@268415.4]
+  assign cs_update = _T_79 != _T_80; // @[SPIMedia.scala 49:37:shc.marmotcaravel.MarmotCaravelConfig.fir@268416.4]
+  assign cs_deassert = clear | cs_update; // @[SPIMedia.scala 53:27:shc.marmotcaravel.MarmotCaravelConfig.fir@268421.4]
+  assign _T_85 = io_link_cs_clear & cs_assert; // @[SPIMedia.scala 55:39:shc.marmotcaravel.MarmotCaravelConfig.fir@268422.4]
+  assign _T_86 = clear | _T_85; // @[SPIMedia.scala 55:18:shc.marmotcaravel.MarmotCaravelConfig.fir@268423.4]
+  assign continuous = io_ctrl_dla_interxfr == 8'h0; // @[SPIMedia.scala 57:42:shc.marmotcaravel.MarmotCaravelConfig.fir@268425.4]
+  assign _T_89 = 2'h0 == state; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@268433.4]
+  assign _T_90 = phy_io_op_ready & phy_io_op_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@268447.10]
+  assign _GEN_2 = cs_deassert ? io_ctrl_dla_sckcs : io_link_cnt; // @[SPIMedia.scala 73:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268436.8]
+  assign _GEN_5 = cs_deassert ? 1'h0 : 1'h1; // @[SPIMedia.scala 73:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268436.8]
+  assign _GEN_6 = cs_deassert ? 1'h1 : io_link_tx_valid; // @[SPIMedia.scala 73:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268436.8]
+  assign _GEN_7 = cs_deassert ? 1'h0 : phy_io_op_ready; // @[SPIMedia.scala 73:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268436.8]
+  assign _GEN_12 = io_link_tx_valid ? io_ctrl_dla_cssck : 8'h0; // @[SPIMedia.scala 88:38:shc.marmotcaravel.MarmotCaravelConfig.fir@268454.8]
+  assign _GEN_17 = io_link_tx_valid ? 1'h0 : 1'h1; // @[SPIMedia.scala 88:38:shc.marmotcaravel.MarmotCaravelConfig.fir@268454.8]
+  assign _GEN_19 = cs_assert ? _GEN_2 : _GEN_12; // @[SPIMedia.scala 72:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268435.6]
+  assign _GEN_21 = cs_assert ? cs_deassert : 1'h1; // @[SPIMedia.scala 72:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268435.6]
+  assign _GEN_22 = cs_assert ? _GEN_5 : _GEN_17; // @[SPIMedia.scala 72:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268435.6]
+  assign _GEN_23 = cs_assert ? _GEN_6 : 1'h1; // @[SPIMedia.scala 72:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268435.6]
+  assign _GEN_24 = cs_assert ? _GEN_7 : 1'h0; // @[SPIMedia.scala 72:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268435.6]
+  assign _T_91 = 2'h1 == state; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@268469.6]
+  assign _T_92 = continuous == 1'h0; // @[SPIMedia.scala 106:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268471.8]
+  assign _T_93 = phy_io_op_ready | continuous; // @[SPIMedia.scala 108:22:shc.marmotcaravel.MarmotCaravelConfig.fir@268474.8]
+  assign _T_94 = 2'h2 == state; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@268480.8]
+  assign _GEN_62 = {{1'd0}, cs_set}; // @[SPIBundle.scala 47:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268487.12]
+  assign _T_95 = _GEN_62 << cs_id; // @[SPIBundle.scala 47:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268487.12]
+  assign _T_97 = _T_80 ^ _T_95; // @[SPIBundle.scala 48:33:shc.marmotcaravel.MarmotCaravelConfig.fir@268489.12]
+  assign _T_98 = _T_97[0]; // @[SPIBundle.scala 49:32:shc.marmotcaravel.MarmotCaravelConfig.fir@268490.12]
+  assign _T_99 = _T_97[1]; // @[SPIBundle.scala 49:32:shc.marmotcaravel.MarmotCaravelConfig.fir@268491.12]
+  assign _GEN_34 = _T_94 ? io_ctrl_dla_intercs : io_link_cnt; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@268481.8]
+  assign _GEN_41 = _T_91 ? _T_92 : 1'h1; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@268470.6]
+  assign _GEN_42 = _T_91 ? io_ctrl_dla_interxfr : _GEN_34; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@268470.6]
+  assign _GEN_44 = _T_91 ? 1'h0 : _T_94; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@268470.6]
+  assign io_port_sck = phy_io_port_sck; // @[SPIMedia.scala 59:15:shc.marmotcaravel.MarmotCaravelConfig.fir@268426.4]
+  assign io_port_dq_0_o = phy_io_port_dq_0_o; // @[SPIMedia.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@268427.4]
+  assign io_port_dq_0_oe = phy_io_port_dq_0_oe; // @[SPIMedia.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@268427.4]
+  assign io_port_dq_1_o = phy_io_port_dq_1_o; // @[SPIMedia.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@268427.4]
+  assign io_port_dq_1_oe = phy_io_port_dq_1_oe; // @[SPIMedia.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@268427.4]
+  assign io_port_dq_2_o = phy_io_port_dq_2_o; // @[SPIMedia.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@268427.4]
+  assign io_port_dq_2_oe = phy_io_port_dq_2_oe; // @[SPIMedia.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@268427.4]
+  assign io_port_dq_3_o = phy_io_port_dq_3_o; // @[SPIMedia.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@268427.4]
+  assign io_port_dq_3_oe = phy_io_port_dq_3_oe; // @[SPIMedia.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@268427.4]
+  assign io_port_cs_0 = cs_dflt_0; // @[SPIMedia.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@268428.4]
+  assign io_port_cs_1 = cs_dflt_1; // @[SPIMedia.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@268428.4]
+  assign io_link_tx_ready = _T_89 ? _GEN_24 : 1'h0; // @[SPIMedia.scala 64:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268430.4 SPIMedia.scala 83:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268446.10]
+  assign io_link_rx_valid = phy_io_rx_valid; // @[SPIMedia.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@268429.4]
+  assign io_link_rx_bits = phy_io_rx_bits; // @[SPIMedia.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@268429.4]
+  assign phy_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268392.4]
+  assign phy_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268393.4]
+  assign phy_io_port_dq_0_i = io_port_dq_0_i; // @[SPIMedia.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@268427.4]
+  assign phy_io_port_dq_1_i = io_port_dq_1_i; // @[SPIMedia.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@268427.4]
+  assign phy_io_port_dq_2_i = io_port_dq_2_i; // @[SPIMedia.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@268427.4]
+  assign phy_io_port_dq_3_i = io_port_dq_3_i; // @[SPIMedia.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@268427.4]
+  assign phy_io_ctrl_sck_div = io_ctrl_sck_div; // @[SPIMedia.scala 34:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268394.4]
+  assign phy_io_ctrl_sck_pol = io_ctrl_sck_pol; // @[SPIMedia.scala 34:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268394.4]
+  assign phy_io_ctrl_sck_pha = io_ctrl_sck_pha; // @[SPIMedia.scala 34:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268394.4]
+  assign phy_io_ctrl_fmt_proto = io_link_fmt_proto; // @[SPIMedia.scala 35:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268395.4]
+  assign phy_io_ctrl_fmt_endian = io_link_fmt_endian; // @[SPIMedia.scala 35:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268395.4]
+  assign phy_io_ctrl_fmt_iodir = io_link_fmt_iodir; // @[SPIMedia.scala 35:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268395.4]
+  assign phy_io_ctrl_extradel_coarse = io_ctrl_extradel_coarse; // @[SPIMedia.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268396.4]
+  assign phy_io_ctrl_sampledel_sd = io_ctrl_sampledel_sd; // @[SPIMedia.scala 37:25:shc.marmotcaravel.MarmotCaravelConfig.fir@268397.4]
+  assign phy_io_op_valid = _T_89 ? _GEN_23 : _GEN_41; // @[SPIMedia.scala 40:12:shc.marmotcaravel.MarmotCaravelConfig.fir@268398.4 SPIMedia.scala 82:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268445.10 SPIMedia.scala 106:16:shc.marmotcaravel.MarmotCaravelConfig.fir@268472.8]
+  assign phy_io_op_bits_fn = _T_89 ? _GEN_21 : 1'h1; // @[SPIMedia.scala 41:14:shc.marmotcaravel.MarmotCaravelConfig.fir@268399.4 SPIMedia.scala 79:22:shc.marmotcaravel.MarmotCaravelConfig.fir@268443.10]
+  assign phy_io_op_bits_stb = _T_89 ? _GEN_22 : _GEN_44; // @[SPIMedia.scala 42:15:shc.marmotcaravel.MarmotCaravelConfig.fir@268400.4 SPIMedia.scala 80:23:shc.marmotcaravel.MarmotCaravelConfig.fir@268444.10 SPIMedia.scala 99:21:shc.marmotcaravel.MarmotCaravelConfig.fir@268464.10 SPIMedia.scala 116:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268483.10]
+  assign phy_io_op_bits_cnt = _T_89 ? _GEN_19 : _GEN_42; // @[SPIMedia.scala 43:15:shc.marmotcaravel.MarmotCaravelConfig.fir@268401.4 SPIMedia.scala 74:23:shc.marmotcaravel.MarmotCaravelConfig.fir@268437.10 SPIMedia.scala 90:21:shc.marmotcaravel.MarmotCaravelConfig.fir@268455.10 SPIMedia.scala 98:21:shc.marmotcaravel.MarmotCaravelConfig.fir@268463.10 SPIMedia.scala 107:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268473.8 SPIMedia.scala 115:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268482.10]
+  assign phy_io_op_bits_data = io_link_tx_bits; // @[SPIMedia.scala 44:16:shc.marmotcaravel.MarmotCaravelConfig.fir@268402.4]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  cs_id = _RAND_0[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  cs_dflt_0 = _RAND_1[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  cs_dflt_1 = _RAND_2[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  cs_set = _RAND_3[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  clear = _RAND_4[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  cs_assert = _RAND_5[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {1{`RANDOM}};
+  state = _RAND_6[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (_T_89) begin
+      if (!(cs_assert)) begin
+        if (!(io_link_tx_valid)) begin
+          cs_id <= io_ctrl_cs_id;
+        end
+      end
+    end
+    if (_T_89) begin
+      if (!(cs_assert)) begin
+        if (io_link_tx_valid) begin
+          if (phy_io_op_ready) begin
+            cs_dflt_0 <= cs_active_0;
+          end
+        end else begin
+          cs_dflt_0 <= io_ctrl_cs_dflt_0;
+        end
+      end
+    end else begin
+      if (!(_T_91)) begin
+        if (_T_94) begin
+          if (phy_io_op_ready) begin
+            cs_dflt_0 <= _T_98;
+          end
+        end
+      end
+    end
+    if (_T_89) begin
+      if (!(cs_assert)) begin
+        if (io_link_tx_valid) begin
+          if (phy_io_op_ready) begin
+            cs_dflt_1 <= cs_active_1;
+          end
+        end else begin
+          cs_dflt_1 <= io_ctrl_cs_dflt_1;
+        end
+      end
+    end else begin
+      if (!(_T_91)) begin
+        if (_T_94) begin
+          if (phy_io_op_ready) begin
+            cs_dflt_1 <= _T_99;
+          end
+        end
+      end
+    end
+    if (_T_89) begin
+      if (!(cs_assert)) begin
+        if (io_link_tx_valid) begin
+          if (phy_io_op_ready) begin
+            cs_set <= io_link_cs_set;
+          end
+        end
+      end
+    end
+    if (reset) begin
+      clear <= 1'h0;
+    end else begin
+      if (_T_89) begin
+        clear <= _T_86;
+      end else begin
+        if (_T_91) begin
+          clear <= _T_86;
+        end else begin
+          if (_T_94) begin
+            clear <= 1'h0;
+          end else begin
+            clear <= _T_86;
+          end
+        end
+      end
+    end
+    if (reset) begin
+      cs_assert <= 1'h0;
+    end else begin
+      if (_T_89) begin
+        if (!(cs_assert)) begin
+          if (io_link_tx_valid) begin
+            if (phy_io_op_ready) begin
+              cs_assert <= 1'h1;
+            end
+          end
+        end
+      end else begin
+        if (!(_T_91)) begin
+          if (_T_94) begin
+            cs_assert <= 1'h0;
+          end
+        end
+      end
+    end
+    if (reset) begin
+      state <= 2'h0;
+    end else begin
+      if (_T_89) begin
+        if (cs_assert) begin
+          if (cs_deassert) begin
+            if (phy_io_op_ready) begin
+              state <= 2'h2;
+            end
+          end else begin
+            if (_T_90) begin
+              state <= 2'h1;
+            end
+          end
+        end
+      end else begin
+        if (_T_91) begin
+          if (_T_93) begin
+            state <= 2'h0;
+          end
+        end else begin
+          if (_T_94) begin
+            if (phy_io_op_ready) begin
+              state <= 2'h0;
+            end
+          end
+        end
+      end
+    end
+  end
+endmodule
+module TLSPI( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268501.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268502.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268503.4]
+  output        auto_int_xing_out_sync_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268504.4]
+  output        auto_control_xing_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268504.4]
+  input         auto_control_xing_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268504.4]
+  input  [2:0]  auto_control_xing_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268504.4]
+  input  [2:0]  auto_control_xing_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268504.4]
+  input  [1:0]  auto_control_xing_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268504.4]
+  input  [5:0]  auto_control_xing_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268504.4]
+  input  [28:0] auto_control_xing_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268504.4]
+  input  [3:0]  auto_control_xing_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268504.4]
+  input  [31:0] auto_control_xing_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268504.4]
+  input         auto_control_xing_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268504.4]
+  input         auto_control_xing_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268504.4]
+  output        auto_control_xing_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268504.4]
+  output [2:0]  auto_control_xing_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268504.4]
+  output [1:0]  auto_control_xing_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268504.4]
+  output [5:0]  auto_control_xing_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268504.4]
+  output [31:0] auto_control_xing_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268504.4]
+  output        auto_io_out_sck, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268504.4]
+  input         auto_io_out_dq_0_i, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268504.4]
+  output        auto_io_out_dq_0_o, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268504.4]
+  output        auto_io_out_dq_0_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268504.4]
+  input         auto_io_out_dq_1_i, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268504.4]
+  output        auto_io_out_dq_1_o, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268504.4]
+  output        auto_io_out_dq_1_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268504.4]
+  input         auto_io_out_dq_2_i, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268504.4]
+  output        auto_io_out_dq_2_o, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268504.4]
+  output        auto_io_out_dq_2_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268504.4]
+  input         auto_io_out_dq_3_i, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268504.4]
+  output        auto_io_out_dq_3_o, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268504.4]
+  output        auto_io_out_dq_3_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268504.4]
+  output        auto_io_out_cs_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268504.4]
+  output        auto_io_out_cs_1 // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268504.4]
+);
+  wire  buffer_clock; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268509.4]
+  wire  buffer_reset; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268509.4]
+  wire  buffer_auto_in_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268509.4]
+  wire  buffer_auto_in_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268509.4]
+  wire [2:0] buffer_auto_in_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268509.4]
+  wire [2:0] buffer_auto_in_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268509.4]
+  wire [1:0] buffer_auto_in_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268509.4]
+  wire [5:0] buffer_auto_in_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268509.4]
+  wire [28:0] buffer_auto_in_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268509.4]
+  wire [3:0] buffer_auto_in_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268509.4]
+  wire [31:0] buffer_auto_in_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268509.4]
+  wire  buffer_auto_in_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268509.4]
+  wire  buffer_auto_in_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268509.4]
+  wire  buffer_auto_in_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268509.4]
+  wire [2:0] buffer_auto_in_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268509.4]
+  wire [1:0] buffer_auto_in_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268509.4]
+  wire [5:0] buffer_auto_in_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268509.4]
+  wire [31:0] buffer_auto_in_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268509.4]
+  wire  buffer_auto_out_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268509.4]
+  wire  buffer_auto_out_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268509.4]
+  wire [2:0] buffer_auto_out_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268509.4]
+  wire [2:0] buffer_auto_out_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268509.4]
+  wire [1:0] buffer_auto_out_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268509.4]
+  wire [5:0] buffer_auto_out_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268509.4]
+  wire [28:0] buffer_auto_out_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268509.4]
+  wire [3:0] buffer_auto_out_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268509.4]
+  wire [31:0] buffer_auto_out_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268509.4]
+  wire  buffer_auto_out_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268509.4]
+  wire  buffer_auto_out_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268509.4]
+  wire  buffer_auto_out_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268509.4]
+  wire [2:0] buffer_auto_out_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268509.4]
+  wire [1:0] buffer_auto_out_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268509.4]
+  wire [5:0] buffer_auto_out_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268509.4]
+  wire [31:0] buffer_auto_out_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268509.4]
+  wire  intsource_clock; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@268515.4]
+  wire  intsource_reset; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@268515.4]
+  wire  intsource_auto_in_0; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@268515.4]
+  wire  intsource_auto_out_sync_0; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@268515.4]
+  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@268527.4]
+  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@268527.4]
+  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@268527.4]
+  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@268527.4]
+  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@268527.4]
+  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@268527.4]
+  wire [1:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@268527.4]
+  wire [5:0] TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@268527.4]
+  wire [28:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@268527.4]
+  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@268527.4]
+  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@268527.4]
+  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@268527.4]
+  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@268527.4]
+  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@268527.4]
+  wire [1:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@268527.4]
+  wire [5:0] TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@268527.4]
+  wire  fifo_clock; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268604.4]
+  wire  fifo_reset; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268604.4]
+  wire [1:0] fifo_io_ctrl_fmt_proto; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268604.4]
+  wire  fifo_io_ctrl_fmt_endian; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268604.4]
+  wire  fifo_io_ctrl_fmt_iodir; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268604.4]
+  wire [3:0] fifo_io_ctrl_fmt_len; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268604.4]
+  wire [1:0] fifo_io_ctrl_cs_mode; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268604.4]
+  wire [3:0] fifo_io_ctrl_wm_tx; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268604.4]
+  wire [3:0] fifo_io_ctrl_wm_rx; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268604.4]
+  wire  fifo_io_link_tx_ready; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268604.4]
+  wire  fifo_io_link_tx_valid; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268604.4]
+  wire [7:0] fifo_io_link_tx_bits; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268604.4]
+  wire  fifo_io_link_rx_valid; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268604.4]
+  wire [7:0] fifo_io_link_rx_bits; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268604.4]
+  wire [7:0] fifo_io_link_cnt; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268604.4]
+  wire [1:0] fifo_io_link_fmt_proto; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268604.4]
+  wire  fifo_io_link_fmt_endian; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268604.4]
+  wire  fifo_io_link_fmt_iodir; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268604.4]
+  wire  fifo_io_link_cs_set; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268604.4]
+  wire  fifo_io_link_cs_clear; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268604.4]
+  wire  fifo_io_link_lock; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268604.4]
+  wire  fifo_io_tx_ready; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268604.4]
+  wire  fifo_io_tx_valid; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268604.4]
+  wire [7:0] fifo_io_tx_bits; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268604.4]
+  wire  fifo_io_rx_ready; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268604.4]
+  wire  fifo_io_rx_valid; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268604.4]
+  wire [7:0] fifo_io_rx_bits; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268604.4]
+  wire  fifo_io_ip_txwm; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268604.4]
+  wire  fifo_io_ip_rxwm; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268604.4]
+  wire  mac_clock; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268608.4]
+  wire  mac_reset; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268608.4]
+  wire  mac_io_port_sck; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268608.4]
+  wire  mac_io_port_dq_0_i; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268608.4]
+  wire  mac_io_port_dq_0_o; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268608.4]
+  wire  mac_io_port_dq_0_oe; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268608.4]
+  wire  mac_io_port_dq_1_i; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268608.4]
+  wire  mac_io_port_dq_1_o; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268608.4]
+  wire  mac_io_port_dq_1_oe; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268608.4]
+  wire  mac_io_port_dq_2_i; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268608.4]
+  wire  mac_io_port_dq_2_o; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268608.4]
+  wire  mac_io_port_dq_2_oe; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268608.4]
+  wire  mac_io_port_dq_3_i; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268608.4]
+  wire  mac_io_port_dq_3_o; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268608.4]
+  wire  mac_io_port_dq_3_oe; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268608.4]
+  wire  mac_io_port_cs_0; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268608.4]
+  wire  mac_io_port_cs_1; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268608.4]
+  wire [11:0] mac_io_ctrl_sck_div; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268608.4]
+  wire  mac_io_ctrl_sck_pol; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268608.4]
+  wire  mac_io_ctrl_sck_pha; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268608.4]
+  wire [7:0] mac_io_ctrl_dla_cssck; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268608.4]
+  wire [7:0] mac_io_ctrl_dla_sckcs; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268608.4]
+  wire [7:0] mac_io_ctrl_dla_intercs; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268608.4]
+  wire [7:0] mac_io_ctrl_dla_interxfr; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268608.4]
+  wire  mac_io_ctrl_cs_id; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268608.4]
+  wire  mac_io_ctrl_cs_dflt_0; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268608.4]
+  wire  mac_io_ctrl_cs_dflt_1; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268608.4]
+  wire [11:0] mac_io_ctrl_extradel_coarse; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268608.4]
+  wire [4:0] mac_io_ctrl_sampledel_sd; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268608.4]
+  wire  mac_io_link_tx_ready; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268608.4]
+  wire  mac_io_link_tx_valid; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268608.4]
+  wire [7:0] mac_io_link_tx_bits; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268608.4]
+  wire  mac_io_link_rx_valid; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268608.4]
+  wire [7:0] mac_io_link_rx_bits; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268608.4]
+  wire [7:0] mac_io_link_cnt; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268608.4]
+  wire [1:0] mac_io_link_fmt_proto; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268608.4]
+  wire  mac_io_link_fmt_endian; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268608.4]
+  wire  mac_io_link_fmt_iodir; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268608.4]
+  wire  mac_io_link_cs_set; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268608.4]
+  wire  mac_io_link_cs_clear; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268608.4]
+  reg [1:0] ctrl_fmt_proto; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268603.4]
+  reg [31:0] _RAND_0;
+  reg  ctrl_fmt_endian; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268603.4]
+  reg [31:0] _RAND_1;
+  reg  ctrl_fmt_iodir; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268603.4]
+  reg [31:0] _RAND_2;
+  reg [3:0] ctrl_fmt_len; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268603.4]
+  reg [31:0] _RAND_3;
+  reg [11:0] ctrl_sck_div; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268603.4]
+  reg [31:0] _RAND_4;
+  reg  ctrl_sck_pol; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268603.4]
+  reg [31:0] _RAND_5;
+  reg  ctrl_sck_pha; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268603.4]
+  reg [31:0] _RAND_6;
+  reg  ctrl_cs_id; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268603.4]
+  reg [31:0] _RAND_7;
+  reg  ctrl_cs_dflt_0; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268603.4]
+  reg [31:0] _RAND_8;
+  reg  ctrl_cs_dflt_1; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268603.4]
+  reg [31:0] _RAND_9;
+  reg [1:0] ctrl_cs_mode; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268603.4]
+  reg [31:0] _RAND_10;
+  reg [7:0] ctrl_dla_cssck; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268603.4]
+  reg [31:0] _RAND_11;
+  reg [7:0] ctrl_dla_sckcs; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268603.4]
+  reg [31:0] _RAND_12;
+  reg [7:0] ctrl_dla_intercs; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268603.4]
+  reg [31:0] _RAND_13;
+  reg [7:0] ctrl_dla_interxfr; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268603.4]
+  reg [31:0] _RAND_14;
+  reg [3:0] ctrl_wm_tx; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268603.4]
+  reg [31:0] _RAND_15;
+  reg [3:0] ctrl_wm_rx; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268603.4]
+  reg [31:0] _RAND_16;
+  reg [11:0] ctrl_extradel_coarse; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268603.4]
+  reg [31:0] _RAND_17;
+  reg [4:0] ctrl_sampledel_sd; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268603.4]
+  reg [31:0] _RAND_18;
+  reg  ie_txwm; // @[TLSPI.scala 76:15:shc.marmotcaravel.MarmotCaravelConfig.fir@268630.4]
+  reg [31:0] _RAND_19;
+  reg  ie_rxwm; // @[TLSPI.scala 76:15:shc.marmotcaravel.MarmotCaravelConfig.fir@268630.4]
+  reg [31:0] _RAND_20;
+  wire  _T_410; // @[TLSPI.scala 78:35:shc.marmotcaravel.MarmotCaravelConfig.fir@268631.4]
+  wire  _T_411; // @[TLSPI.scala 78:59:shc.marmotcaravel.MarmotCaravelConfig.fir@268632.4]
+  wire  _T_415; // @[RegMapFIFO.scala 24:9:shc.marmotcaravel.MarmotCaravelConfig.fir@268637.4]
+  wire  _T_416; // @[RegMapFIFO.scala 45:21:shc.marmotcaravel.MarmotCaravelConfig.fir@268638.4]
+  wire [2:0] _T_108_a_bits_opcode; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@268525.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@268575.4]
+  wire  _T_424; // @[RegisterRouter.scala 58:36:shc.marmotcaravel.MarmotCaravelConfig.fir@268642.4]
+  wire [28:0] _T_108_a_bits_address; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@268525.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@268575.4]
+  wire [26:0] _T_425; // @[Edges.scala 192:34:shc.marmotcaravel.MarmotCaravelConfig.fir@268644.4]
+  wire [5:0] _T_108_a_bits_source; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@268525.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@268575.4]
+  wire [1:0] _T_108_a_bits_size; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@268525.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@268575.4]
+  wire [7:0] _T_426; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268648.4]
+  wire [9:0] _T_421_bits_index; // @[RegisterRouter.scala 57:18:shc.marmotcaravel.MarmotCaravelConfig.fir@268640.4 RegisterRouter.scala 59:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268645.4]
+  wire [9:0] _T_442; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268656.4]
+  wire  _T_444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268658.4]
+  wire [3:0] _T_108_a_bits_mask; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@268525.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@268575.4]
+  wire  _T_616; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@268698.4]
+  wire  _T_617; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@268699.4]
+  wire  _T_618; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@268700.4]
+  wire  _T_619; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@268701.4]
+  wire [7:0] _T_621; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@268703.4]
+  wire [7:0] _T_623; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@268705.4]
+  wire [7:0] _T_625; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@268707.4]
+  wire [7:0] _T_627; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@268709.4]
+  wire [15:0] _T_628; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268710.4]
+  wire [15:0] _T_629; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268711.4]
+  wire [31:0] _T_630; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268712.4]
+  wire [11:0] _T_646; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268728.4]
+  wire [11:0] _T_649; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268731.4]
+  wire  _T_650; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268732.4]
+  wire  _T_108_a_valid; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@268525.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@268575.4]
+  wire  _T_108_d_ready; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@268525.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@268575.4]
+  wire  _T_1419; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269568.4]
+  wire  _T_1418; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269567.4]
+  wire [1:0] _T_1426; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@269575.4]
+  wire  _T_1417; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269566.4]
+  wire [2:0] _T_1427; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@269576.4]
+  wire  _T_1416; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269565.4]
+  wire  _T_1415; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269564.4]
+  wire [1:0] _T_1425; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@269574.4]
+  wire [4:0] _T_1428; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@269577.4]
+  wire  _T_1495; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269644.4]
+  wire  _T_1496; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269645.4]
+  wire [31:0] _T_1429; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@269578.4]
+  wire  _T_1430; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269579.4]
+  wire  _T_1731; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269936.4]
+  wire  _T_1732; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269937.4]
+  wire  _T_1735; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269940.4]
+  wire  _T_1736; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269941.4]
+  wire  _T_658; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268740.4]
+  wire [31:0] _T_108_a_bits_data; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@268525.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@268575.4]
+  wire [11:0] _T_660; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268742.4]
+  wire  _T_671; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268756.4]
+  wire  _T_674; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268759.4]
+  wire  _T_675; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268760.4]
+  wire  _T_1435; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269584.4]
+  wire  _T_1765; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269979.4]
+  wire  _T_1766; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269980.4]
+  wire  _T_683; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268768.4]
+  wire  _T_685; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268770.4]
+  wire  _T_696; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268784.4]
+  wire  _T_699; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268787.4]
+  wire  _T_700; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268788.4]
+  wire  _T_708; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268796.4]
+  wire  _T_710; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268798.4]
+  wire [1:0] _T_720; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268811.4]
+  wire [7:0] _T_723; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268814.4]
+  wire  _T_724; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268815.4]
+  wire [7:0] _T_726; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268817.4]
+  wire  _T_727; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268818.4]
+  wire  _T_1440; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269589.4]
+  wire  _T_1795; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@270017.4]
+  wire  _T_1796; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@270018.4]
+  wire  _T_735; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268826.4]
+  wire [7:0] _T_737; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268828.4]
+  wire [7:0] _T_748; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268842.4]
+  wire [7:0] _T_751; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268845.4]
+  wire  _T_752; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268846.4]
+  wire  _T_760; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268854.4]
+  wire [7:0] _T_762; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268856.4]
+  wire [15:0] _T_771; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268868.4]
+  wire [23:0] _T_772; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268869.4]
+  wire  _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269593.4]
+  wire  _T_1819; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@270049.4]
+  wire  _T_1820; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@270050.4]
+  wire  _T_787; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268884.4]
+  wire [3:0] _T_800; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268900.4]
+  wire [3:0] _T_803; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268903.4]
+  wire  _T_804; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268904.4]
+  wire  _T_1450; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269599.4]
+  wire  _T_1855; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@270103.4]
+  wire  _T_1856; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@270104.4]
+  wire  _T_812; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268912.4]
+  wire [3:0] _T_814; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268914.4]
+  wire  _T_848; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268951.4]
+  wire [1:0] _T_874; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268977.4]
+  wire  _T_1431; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269580.4]
+  wire  _T_1741; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269948.4]
+  wire  _T_1742; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269949.4]
+  wire  _T_889; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268992.4]
+  wire  _T_914; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269020.4]
+  wire [1:0] _T_926; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@269035.4]
+  wire [1:0] _T_929; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269038.4]
+  wire [1:0] _T_932; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269041.4]
+  wire  _T_933; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269042.4]
+  wire  _T_1436; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269585.4]
+  wire  _T_1771; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269988.4]
+  wire  _T_1772; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269989.4]
+  wire  _T_941; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269050.4]
+  wire [1:0] _T_943; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269052.4]
+  wire  _T_1458; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269607.4]
+  wire  _T_1903; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@270161.4]
+  wire  _T_1904; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@270162.4]
+  wire  _T_966; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269078.4]
+  wire  _T_991; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269106.4]
+  wire [1:0] _T_1003; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@269121.4]
+  wire  _T_1451; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269600.4]
+  wire  _T_1861; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@270111.4]
+  wire  _T_1862; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@270112.4]
+  wire  _T_1018; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269136.4]
+  wire  _T_1448; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269597.4]
+  wire  _T_1843; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@270083.4]
+  wire  _T_1844; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@270084.4]
+  wire  _T_1043; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269164.4]
+  wire  _T_1092; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269215.4]
+  wire  _T_1093; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269216.4]
+  wire  _T_1094; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269217.4]
+  wire  _T_1098; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269221.4]
+  wire  _T_1099; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269222.4]
+  wire  _T_1101; // @[RegMapFIFO.scala 26:26:shc.marmotcaravel.MarmotCaravelConfig.fir@269224.4]
+  wire  _T_1046; // @[RegMapFIFO.scala 18:33:shc.marmotcaravel.MarmotCaravelConfig.fir@269167.4]
+  wire [31:0] _T_1111; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@269235.4]
+  wire  _T_1446; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269595.4]
+  wire  _T_1831; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@270065.4]
+  wire  _T_1832; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@270066.4]
+  wire  _T_1126; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269250.4]
+  wire  _T_1139; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269266.4]
+  wire  _T_1142; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269269.4]
+  wire  _T_1143; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269270.4]
+  wire  _T_1151; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269278.4]
+  wire  _T_1153; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269280.4]
+  wire [2:0] _T_1163; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@269293.4]
+  wire  _T_1166; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269296.4]
+  wire  _T_1169; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269299.4]
+  wire  _T_1170; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269300.4]
+  wire  _T_1178; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269308.4]
+  wire  _T_1180; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269310.4]
+  wire [3:0] _T_1190; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@269323.4]
+  wire [3:0] _T_1193; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269326.4]
+  wire [3:0] _T_1196; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269329.4]
+  wire  _T_1197; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269330.4]
+  wire  _T_1205; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269338.4]
+  wire [3:0] _T_1207; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269340.4]
+  wire [15:0] _T_1216; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269352.4]
+  wire [19:0] _T_1217; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@269353.4]
+  wire  _T_1441; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269590.4]
+  wire  _T_1801; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@270026.4]
+  wire  _T_1802; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@270027.4]
+  wire  _T_1232; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269368.4]
+  wire  _T_1257; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269396.4]
+  wire [15:0] _T_1268; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269410.4]
+  wire [23:0] _T_1269; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@269411.4]
+  wire  _T_1449; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269598.4]
+  wire  _T_1613; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269801.4]
+  wire  _T_1614; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269802.4]
+  wire [7:0] _T_1295; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269438.4]
+  wire [8:0] _T_1321; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@269464.4]
+  wire [30:0] _T_1322; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269465.4]
+  wire [31:0] _T_1348; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@269491.4]
+  wire  _T_1434; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269583.4]
+  wire  _T_1759; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269971.4]
+  wire  _T_1760; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269972.4]
+  wire  _T_1363; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269506.4]
+  wire [4:0] _T_1376; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269522.4]
+  wire [4:0] _T_1379; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269525.4]
+  wire  _T_1380; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269526.4]
+  wire  _T_1445; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269594.4]
+  wire  _T_1825; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@270057.4]
+  wire  _T_1826; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@270058.4]
+  wire  _T_1388; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269534.4]
+  wire [4:0] _T_1390; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269536.4]
+  wire  _GEN_150; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270856.4]
+  wire  _GEN_151; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270856.4]
+  wire  _GEN_152; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270856.4]
+  wire  _GEN_153; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270856.4]
+  wire  _GEN_154; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270856.4]
+  wire  _GEN_155; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270856.4]
+  wire  _GEN_156; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270856.4]
+  wire  _GEN_157; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270856.4]
+  wire  _GEN_158; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270856.4]
+  wire  _GEN_159; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270856.4]
+  wire  _GEN_160; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270856.4]
+  wire  _GEN_161; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270856.4]
+  wire  _GEN_162; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270856.4]
+  wire  _GEN_163; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270856.4]
+  wire  _GEN_164; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270856.4]
+  wire  _GEN_165; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270856.4]
+  wire  _GEN_166; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270856.4]
+  wire  _GEN_167; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270856.4]
+  wire  _GEN_168; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270856.4]
+  wire  _GEN_169; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270856.4]
+  wire  _GEN_170; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270856.4]
+  wire  _GEN_171; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270856.4]
+  wire  _GEN_172; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270856.4]
+  wire  _GEN_173; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270856.4]
+  wire  _GEN_174; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270856.4]
+  wire  _GEN_175; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270856.4]
+  wire  _GEN_176; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270856.4]
+  wire  _GEN_177; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270856.4]
+  wire  _GEN_178; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270856.4]
+  wire  _GEN_179; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270856.4]
+  wire  _GEN_180; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270856.4]
+  wire [31:0] _T_2488_0; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270858.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270860.4]
+  wire [31:0] _T_2488_1; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270858.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270861.4]
+  wire [31:0] _GEN_182; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270892.4]
+  wire [31:0] _GEN_183; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270892.4]
+  wire [31:0] _GEN_184; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270892.4]
+  wire [31:0] _T_2488_4; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270858.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270864.4]
+  wire [31:0] _GEN_185; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270892.4]
+  wire [31:0] _T_2488_5; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270858.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270865.4]
+  wire [31:0] _GEN_186; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270892.4]
+  wire [31:0] _T_2488_6; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270858.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270866.4]
+  wire [31:0] _GEN_187; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270892.4]
+  wire [31:0] _GEN_188; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270892.4]
+  wire [31:0] _GEN_189; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270892.4]
+  wire [31:0] _GEN_190; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270892.4]
+  wire [31:0] _T_2488_10; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270858.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270870.4]
+  wire [31:0] _GEN_191; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270892.4]
+  wire [31:0] _T_2488_11; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270858.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270871.4]
+  wire [31:0] _GEN_192; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270892.4]
+  wire [31:0] _GEN_193; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270892.4]
+  wire [31:0] _GEN_194; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270892.4]
+  wire [31:0] _T_2488_14; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270858.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270874.4]
+  wire [31:0] _GEN_195; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270892.4]
+  wire [31:0] _T_2488_15; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270858.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270875.4]
+  wire [31:0] _GEN_196; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270892.4]
+  wire [31:0] _T_2488_16; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270858.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270876.4]
+  wire [31:0] _GEN_197; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270892.4]
+  wire [31:0] _GEN_198; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270892.4]
+  wire [31:0] _GEN_199; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270892.4]
+  wire [31:0] _GEN_200; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270892.4]
+  wire [31:0] _T_2488_20; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270858.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270880.4]
+  wire [31:0] _GEN_201; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270892.4]
+  wire [31:0] _T_2488_21; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270858.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270881.4]
+  wire [31:0] _GEN_202; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270892.4]
+  wire [31:0] _GEN_203; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270892.4]
+  wire [31:0] _GEN_204; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270892.4]
+  wire [31:0] _GEN_205; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270892.4]
+  wire [31:0] _GEN_206; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270892.4]
+  wire [31:0] _GEN_207; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270892.4]
+  wire [31:0] _GEN_208; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270892.4]
+  wire [31:0] _T_2488_28; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270858.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270888.4]
+  wire [31:0] _GEN_209; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270892.4]
+  wire [31:0] _T_2488_29; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270858.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270889.4]
+  wire [31:0] _GEN_210; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270892.4]
+  wire [31:0] _GEN_211; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270892.4]
+  wire [31:0] _GEN_212; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270892.4]
+  TLBuffer_24 buffer ( // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268509.4]
+    .clock(buffer_clock),
+    .reset(buffer_reset),
+    .auto_in_a_ready(buffer_auto_in_a_ready),
+    .auto_in_a_valid(buffer_auto_in_a_valid),
+    .auto_in_a_bits_opcode(buffer_auto_in_a_bits_opcode),
+    .auto_in_a_bits_param(buffer_auto_in_a_bits_param),
+    .auto_in_a_bits_size(buffer_auto_in_a_bits_size),
+    .auto_in_a_bits_source(buffer_auto_in_a_bits_source),
+    .auto_in_a_bits_address(buffer_auto_in_a_bits_address),
+    .auto_in_a_bits_mask(buffer_auto_in_a_bits_mask),
+    .auto_in_a_bits_data(buffer_auto_in_a_bits_data),
+    .auto_in_a_bits_corrupt(buffer_auto_in_a_bits_corrupt),
+    .auto_in_d_ready(buffer_auto_in_d_ready),
+    .auto_in_d_valid(buffer_auto_in_d_valid),
+    .auto_in_d_bits_opcode(buffer_auto_in_d_bits_opcode),
+    .auto_in_d_bits_size(buffer_auto_in_d_bits_size),
+    .auto_in_d_bits_source(buffer_auto_in_d_bits_source),
+    .auto_in_d_bits_data(buffer_auto_in_d_bits_data),
+    .auto_out_a_ready(buffer_auto_out_a_ready),
+    .auto_out_a_valid(buffer_auto_out_a_valid),
+    .auto_out_a_bits_opcode(buffer_auto_out_a_bits_opcode),
+    .auto_out_a_bits_param(buffer_auto_out_a_bits_param),
+    .auto_out_a_bits_size(buffer_auto_out_a_bits_size),
+    .auto_out_a_bits_source(buffer_auto_out_a_bits_source),
+    .auto_out_a_bits_address(buffer_auto_out_a_bits_address),
+    .auto_out_a_bits_mask(buffer_auto_out_a_bits_mask),
+    .auto_out_a_bits_data(buffer_auto_out_a_bits_data),
+    .auto_out_a_bits_corrupt(buffer_auto_out_a_bits_corrupt),
+    .auto_out_d_ready(buffer_auto_out_d_ready),
+    .auto_out_d_valid(buffer_auto_out_d_valid),
+    .auto_out_d_bits_opcode(buffer_auto_out_d_bits_opcode),
+    .auto_out_d_bits_size(buffer_auto_out_d_bits_size),
+    .auto_out_d_bits_source(buffer_auto_out_d_bits_source),
+    .auto_out_d_bits_data(buffer_auto_out_d_bits_data)
+  );
+  IntSyncCrossingSource_3 intsource ( // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@268515.4]
+    .clock(intsource_clock),
+    .reset(intsource_reset),
+    .auto_in_0(intsource_auto_in_0),
+    .auto_out_sync_0(intsource_auto_out_sync_0)
+  );
+  TLMonitor_73 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@268527.4]
+    .clock(TLMonitor_clock),
+    .reset(TLMonitor_reset),
+    .io_in_a_ready(TLMonitor_io_in_a_ready),
+    .io_in_a_valid(TLMonitor_io_in_a_valid),
+    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
+    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
+    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
+    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
+    .io_in_d_ready(TLMonitor_io_in_d_ready),
+    .io_in_d_valid(TLMonitor_io_in_d_valid),
+    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
+    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
+    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source)
+  );
+  SPIFIFO fifo ( // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268604.4]
+    .clock(fifo_clock),
+    .reset(fifo_reset),
+    .io_ctrl_fmt_proto(fifo_io_ctrl_fmt_proto),
+    .io_ctrl_fmt_endian(fifo_io_ctrl_fmt_endian),
+    .io_ctrl_fmt_iodir(fifo_io_ctrl_fmt_iodir),
+    .io_ctrl_fmt_len(fifo_io_ctrl_fmt_len),
+    .io_ctrl_cs_mode(fifo_io_ctrl_cs_mode),
+    .io_ctrl_wm_tx(fifo_io_ctrl_wm_tx),
+    .io_ctrl_wm_rx(fifo_io_ctrl_wm_rx),
+    .io_link_tx_ready(fifo_io_link_tx_ready),
+    .io_link_tx_valid(fifo_io_link_tx_valid),
+    .io_link_tx_bits(fifo_io_link_tx_bits),
+    .io_link_rx_valid(fifo_io_link_rx_valid),
+    .io_link_rx_bits(fifo_io_link_rx_bits),
+    .io_link_cnt(fifo_io_link_cnt),
+    .io_link_fmt_proto(fifo_io_link_fmt_proto),
+    .io_link_fmt_endian(fifo_io_link_fmt_endian),
+    .io_link_fmt_iodir(fifo_io_link_fmt_iodir),
+    .io_link_cs_set(fifo_io_link_cs_set),
+    .io_link_cs_clear(fifo_io_link_cs_clear),
+    .io_link_lock(fifo_io_link_lock),
+    .io_tx_ready(fifo_io_tx_ready),
+    .io_tx_valid(fifo_io_tx_valid),
+    .io_tx_bits(fifo_io_tx_bits),
+    .io_rx_ready(fifo_io_rx_ready),
+    .io_rx_valid(fifo_io_rx_valid),
+    .io_rx_bits(fifo_io_rx_bits),
+    .io_ip_txwm(fifo_io_ip_txwm),
+    .io_ip_rxwm(fifo_io_ip_rxwm)
+  );
+  SPIMedia_1 mac ( // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268608.4]
+    .clock(mac_clock),
+    .reset(mac_reset),
+    .io_port_sck(mac_io_port_sck),
+    .io_port_dq_0_i(mac_io_port_dq_0_i),
+    .io_port_dq_0_o(mac_io_port_dq_0_o),
+    .io_port_dq_0_oe(mac_io_port_dq_0_oe),
+    .io_port_dq_1_i(mac_io_port_dq_1_i),
+    .io_port_dq_1_o(mac_io_port_dq_1_o),
+    .io_port_dq_1_oe(mac_io_port_dq_1_oe),
+    .io_port_dq_2_i(mac_io_port_dq_2_i),
+    .io_port_dq_2_o(mac_io_port_dq_2_o),
+    .io_port_dq_2_oe(mac_io_port_dq_2_oe),
+    .io_port_dq_3_i(mac_io_port_dq_3_i),
+    .io_port_dq_3_o(mac_io_port_dq_3_o),
+    .io_port_dq_3_oe(mac_io_port_dq_3_oe),
+    .io_port_cs_0(mac_io_port_cs_0),
+    .io_port_cs_1(mac_io_port_cs_1),
+    .io_ctrl_sck_div(mac_io_ctrl_sck_div),
+    .io_ctrl_sck_pol(mac_io_ctrl_sck_pol),
+    .io_ctrl_sck_pha(mac_io_ctrl_sck_pha),
+    .io_ctrl_dla_cssck(mac_io_ctrl_dla_cssck),
+    .io_ctrl_dla_sckcs(mac_io_ctrl_dla_sckcs),
+    .io_ctrl_dla_intercs(mac_io_ctrl_dla_intercs),
+    .io_ctrl_dla_interxfr(mac_io_ctrl_dla_interxfr),
+    .io_ctrl_cs_id(mac_io_ctrl_cs_id),
+    .io_ctrl_cs_dflt_0(mac_io_ctrl_cs_dflt_0),
+    .io_ctrl_cs_dflt_1(mac_io_ctrl_cs_dflt_1),
+    .io_ctrl_extradel_coarse(mac_io_ctrl_extradel_coarse),
+    .io_ctrl_sampledel_sd(mac_io_ctrl_sampledel_sd),
+    .io_link_tx_ready(mac_io_link_tx_ready),
+    .io_link_tx_valid(mac_io_link_tx_valid),
+    .io_link_tx_bits(mac_io_link_tx_bits),
+    .io_link_rx_valid(mac_io_link_rx_valid),
+    .io_link_rx_bits(mac_io_link_rx_bits),
+    .io_link_cnt(mac_io_link_cnt),
+    .io_link_fmt_proto(mac_io_link_fmt_proto),
+    .io_link_fmt_endian(mac_io_link_fmt_endian),
+    .io_link_fmt_iodir(mac_io_link_fmt_iodir),
+    .io_link_cs_set(mac_io_link_cs_set),
+    .io_link_cs_clear(mac_io_link_cs_clear)
+  );
+  assign _T_410 = fifo_io_ip_txwm & ie_txwm; // @[TLSPI.scala 78:35:shc.marmotcaravel.MarmotCaravelConfig.fir@268631.4]
+  assign _T_411 = fifo_io_ip_rxwm & ie_rxwm; // @[TLSPI.scala 78:59:shc.marmotcaravel.MarmotCaravelConfig.fir@268632.4]
+  assign _T_415 = fifo_io_tx_ready == 1'h0; // @[RegMapFIFO.scala 24:9:shc.marmotcaravel.MarmotCaravelConfig.fir@268637.4]
+  assign _T_416 = fifo_io_rx_valid == 1'h0; // @[RegMapFIFO.scala 45:21:shc.marmotcaravel.MarmotCaravelConfig.fir@268638.4]
+  assign _T_108_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@268525.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@268575.4]
+  assign _T_424 = _T_108_a_bits_opcode == 3'h4; // @[RegisterRouter.scala 58:36:shc.marmotcaravel.MarmotCaravelConfig.fir@268642.4]
+  assign _T_108_a_bits_address = buffer_auto_out_a_bits_address; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@268525.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@268575.4]
+  assign _T_425 = _T_108_a_bits_address[28:2]; // @[Edges.scala 192:34:shc.marmotcaravel.MarmotCaravelConfig.fir@268644.4]
+  assign _T_108_a_bits_source = buffer_auto_out_a_bits_source; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@268525.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@268575.4]
+  assign _T_108_a_bits_size = buffer_auto_out_a_bits_size; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@268525.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@268575.4]
+  assign _T_426 = {_T_108_a_bits_source,_T_108_a_bits_size}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268648.4]
+  assign _T_421_bits_index = _T_425[9:0]; // @[RegisterRouter.scala 57:18:shc.marmotcaravel.MarmotCaravelConfig.fir@268640.4 RegisterRouter.scala 59:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268645.4]
+  assign _T_442 = _T_421_bits_index & 10'h3e0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268656.4]
+  assign _T_444 = _T_442 == 10'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268658.4]
+  assign _T_108_a_bits_mask = buffer_auto_out_a_bits_mask; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@268525.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@268575.4]
+  assign _T_616 = _T_108_a_bits_mask[0]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@268698.4]
+  assign _T_617 = _T_108_a_bits_mask[1]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@268699.4]
+  assign _T_618 = _T_108_a_bits_mask[2]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@268700.4]
+  assign _T_619 = _T_108_a_bits_mask[3]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@268701.4]
+  assign _T_621 = _T_616 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@268703.4]
+  assign _T_623 = _T_617 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@268705.4]
+  assign _T_625 = _T_618 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@268707.4]
+  assign _T_627 = _T_619 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@268709.4]
+  assign _T_628 = {_T_623,_T_621}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268710.4]
+  assign _T_629 = {_T_627,_T_625}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268711.4]
+  assign _T_630 = {_T_629,_T_628}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268712.4]
+  assign _T_646 = _T_630[11:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268728.4]
+  assign _T_649 = ~ _T_646; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268731.4]
+  assign _T_650 = _T_649 == 12'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268732.4]
+  assign _T_108_a_valid = buffer_auto_out_a_valid; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@268525.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@268575.4]
+  assign _T_108_d_ready = buffer_auto_out_d_ready; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@268525.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@268575.4]
+  assign _T_1419 = _T_421_bits_index[4]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269568.4]
+  assign _T_1418 = _T_421_bits_index[3]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269567.4]
+  assign _T_1426 = {_T_1419,_T_1418}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@269575.4]
+  assign _T_1417 = _T_421_bits_index[2]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269566.4]
+  assign _T_1427 = {_T_1426,_T_1417}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@269576.4]
+  assign _T_1416 = _T_421_bits_index[1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269565.4]
+  assign _T_1415 = _T_421_bits_index[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269564.4]
+  assign _T_1425 = {_T_1416,_T_1415}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@269574.4]
+  assign _T_1428 = {_T_1427,_T_1425}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@269577.4]
+  assign _T_1495 = _T_108_a_valid & _T_108_d_ready; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269644.4]
+  assign _T_1496 = _T_1495 & _T_424; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269645.4]
+  assign _T_1429 = 32'h1 << _T_1428; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@269578.4]
+  assign _T_1430 = _T_1429[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269579.4]
+  assign _T_1731 = _T_424 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269936.4]
+  assign _T_1732 = _T_1495 & _T_1731; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269937.4]
+  assign _T_1735 = _T_1732 & _T_1430; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269940.4]
+  assign _T_1736 = _T_1735 & _T_444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269941.4]
+  assign _T_658 = _T_1736 & _T_650; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268740.4]
+  assign _T_108_a_bits_data = buffer_auto_out_a_bits_data; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@268525.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@268575.4]
+  assign _T_660 = _T_108_a_bits_data[11:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268742.4]
+  assign _T_671 = _T_630[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268756.4]
+  assign _T_674 = ~ _T_671; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268759.4]
+  assign _T_675 = _T_674 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268760.4]
+  assign _T_1435 = _T_1429[5]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269584.4]
+  assign _T_1765 = _T_1732 & _T_1435; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269979.4]
+  assign _T_1766 = _T_1765 & _T_444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269980.4]
+  assign _T_683 = _T_1766 & _T_675; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268768.4]
+  assign _T_685 = _T_108_a_bits_data[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268770.4]
+  assign _T_696 = _T_630[1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268784.4]
+  assign _T_699 = ~ _T_696; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268787.4]
+  assign _T_700 = _T_699 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268788.4]
+  assign _T_708 = _T_1766 & _T_700; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268796.4]
+  assign _T_710 = _T_108_a_bits_data[1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268798.4]
+  assign _T_720 = {ctrl_cs_dflt_1,ctrl_cs_dflt_0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268811.4]
+  assign _T_723 = _T_630[7:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268814.4]
+  assign _T_724 = _T_723 != 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268815.4]
+  assign _T_726 = ~ _T_723; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268817.4]
+  assign _T_727 = _T_726 == 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268818.4]
+  assign _T_1440 = _T_1429[10]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269589.4]
+  assign _T_1795 = _T_1732 & _T_1440; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@270017.4]
+  assign _T_1796 = _T_1795 & _T_444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@270018.4]
+  assign _T_735 = _T_1796 & _T_727; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268826.4]
+  assign _T_737 = _T_108_a_bits_data[7:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268828.4]
+  assign _T_748 = _T_630[23:16]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268842.4]
+  assign _T_751 = ~ _T_748; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268845.4]
+  assign _T_752 = _T_751 == 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268846.4]
+  assign _T_760 = _T_1796 & _T_752; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268854.4]
+  assign _T_762 = _T_108_a_bits_data[23:16]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268856.4]
+  assign _T_771 = {{8'd0}, ctrl_dla_cssck}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268868.4]
+  assign _T_772 = {ctrl_dla_sckcs,_T_771}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268869.4]
+  assign _T_1444 = _T_1429[14]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269593.4]
+  assign _T_1819 = _T_1732 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@270049.4]
+  assign _T_1820 = _T_1819 & _T_444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@270050.4]
+  assign _T_787 = _T_1820 & _T_650; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268884.4]
+  assign _T_800 = _T_630[3:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268900.4]
+  assign _T_803 = ~ _T_800; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268903.4]
+  assign _T_804 = _T_803 == 4'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268904.4]
+  assign _T_1450 = _T_1429[20]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269599.4]
+  assign _T_1855 = _T_1732 & _T_1450; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@270103.4]
+  assign _T_1856 = _T_1855 & _T_444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@270104.4]
+  assign _T_812 = _T_1856 & _T_804; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268912.4]
+  assign _T_814 = _T_108_a_bits_data[3:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268914.4]
+  assign _T_848 = fifo_io_ip_txwm; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268951.4]
+  assign _T_874 = {fifo_io_ip_rxwm,_T_848}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268977.4]
+  assign _T_1431 = _T_1429[1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269580.4]
+  assign _T_1741 = _T_1732 & _T_1431; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269948.4]
+  assign _T_1742 = _T_1741 & _T_444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269949.4]
+  assign _T_889 = _T_1742 & _T_675; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268992.4]
+  assign _T_914 = _T_1742 & _T_700; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269020.4]
+  assign _T_926 = {ctrl_sck_pol,ctrl_sck_pha}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@269035.4]
+  assign _T_929 = _T_630[1:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269038.4]
+  assign _T_932 = ~ _T_929; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269041.4]
+  assign _T_933 = _T_932 == 2'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269042.4]
+  assign _T_1436 = _T_1429[6]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269585.4]
+  assign _T_1771 = _T_1732 & _T_1436; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269988.4]
+  assign _T_1772 = _T_1771 & _T_444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269989.4]
+  assign _T_941 = _T_1772 & _T_933; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269050.4]
+  assign _T_943 = _T_108_a_bits_data[1:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269052.4]
+  assign _T_1458 = _T_1429[28]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269607.4]
+  assign _T_1903 = _T_1732 & _T_1458; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@270161.4]
+  assign _T_1904 = _T_1903 & _T_444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@270162.4]
+  assign _T_966 = _T_1904 & _T_675; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269078.4]
+  assign _T_991 = _T_1904 & _T_700; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269106.4]
+  assign _T_1003 = {ie_rxwm,ie_txwm}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@269121.4]
+  assign _T_1451 = _T_1429[21]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269600.4]
+  assign _T_1861 = _T_1732 & _T_1451; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@270111.4]
+  assign _T_1862 = _T_1861 & _T_444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@270112.4]
+  assign _T_1018 = _T_1862 & _T_804; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269136.4]
+  assign _T_1448 = _T_1429[18]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269597.4]
+  assign _T_1843 = _T_1732 & _T_1448; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@270083.4]
+  assign _T_1844 = _T_1843 & _T_444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@270084.4]
+  assign _T_1043 = _T_1844 & _T_727; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269164.4]
+  assign _T_1092 = _T_630[31]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269215.4]
+  assign _T_1093 = ~ _T_1092; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269216.4]
+  assign _T_1094 = _T_1093 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269217.4]
+  assign _T_1098 = _T_1844 & _T_1094; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269221.4]
+  assign _T_1099 = _T_108_a_bits_data[31]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269222.4]
+  assign _T_1101 = _T_1098 & _T_1099; // @[RegMapFIFO.scala 26:26:shc.marmotcaravel.MarmotCaravelConfig.fir@269224.4]
+  assign _T_1046 = _T_1101 == 1'h0; // @[RegMapFIFO.scala 18:33:shc.marmotcaravel.MarmotCaravelConfig.fir@269167.4]
+  assign _T_1111 = {_T_415,31'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@269235.4]
+  assign _T_1446 = _T_1429[16]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269595.4]
+  assign _T_1831 = _T_1732 & _T_1446; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@270065.4]
+  assign _T_1832 = _T_1831 & _T_444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@270066.4]
+  assign _T_1126 = _T_1832 & _T_933; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269250.4]
+  assign _T_1139 = _T_630[2]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269266.4]
+  assign _T_1142 = ~ _T_1139; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269269.4]
+  assign _T_1143 = _T_1142 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269270.4]
+  assign _T_1151 = _T_1832 & _T_1143; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269278.4]
+  assign _T_1153 = _T_108_a_bits_data[2]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269280.4]
+  assign _T_1163 = {ctrl_fmt_endian,ctrl_fmt_proto}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@269293.4]
+  assign _T_1166 = _T_630[3]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269296.4]
+  assign _T_1169 = ~ _T_1166; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269299.4]
+  assign _T_1170 = _T_1169 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269300.4]
+  assign _T_1178 = _T_1832 & _T_1170; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269308.4]
+  assign _T_1180 = _T_108_a_bits_data[3]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269310.4]
+  assign _T_1190 = {ctrl_fmt_iodir,_T_1163}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@269323.4]
+  assign _T_1193 = _T_630[19:16]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269326.4]
+  assign _T_1196 = ~ _T_1193; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269329.4]
+  assign _T_1197 = _T_1196 == 4'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269330.4]
+  assign _T_1205 = _T_1832 & _T_1197; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269338.4]
+  assign _T_1207 = _T_108_a_bits_data[19:16]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269340.4]
+  assign _T_1216 = {{12'd0}, _T_1190}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269352.4]
+  assign _T_1217 = {ctrl_fmt_len,_T_1216}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@269353.4]
+  assign _T_1441 = _T_1429[11]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269590.4]
+  assign _T_1801 = _T_1732 & _T_1441; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@270026.4]
+  assign _T_1802 = _T_1801 & _T_444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@270027.4]
+  assign _T_1232 = _T_1802 & _T_727; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269368.4]
+  assign _T_1257 = _T_1802 & _T_752; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269396.4]
+  assign _T_1268 = {{8'd0}, ctrl_dla_intercs}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269410.4]
+  assign _T_1269 = {ctrl_dla_interxfr,_T_1268}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@269411.4]
+  assign _T_1449 = _T_1429[19]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269598.4]
+  assign _T_1613 = _T_1496 & _T_1449; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269801.4]
+  assign _T_1614 = _T_1613 & _T_444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269802.4]
+  assign _T_1295 = fifo_io_rx_bits; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269438.4]
+  assign _T_1321 = {1'h0,_T_1295}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@269464.4]
+  assign _T_1322 = {{22'd0}, _T_1321}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269465.4]
+  assign _T_1348 = {_T_416,_T_1322}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@269491.4]
+  assign _T_1434 = _T_1429[4]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269583.4]
+  assign _T_1759 = _T_1732 & _T_1434; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269971.4]
+  assign _T_1760 = _T_1759 & _T_444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269972.4]
+  assign _T_1363 = _T_1760 & _T_675; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269506.4]
+  assign _T_1376 = _T_630[4:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269522.4]
+  assign _T_1379 = ~ _T_1376; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269525.4]
+  assign _T_1380 = _T_1379 == 5'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269526.4]
+  assign _T_1445 = _T_1429[15]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269594.4]
+  assign _T_1825 = _T_1732 & _T_1445; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@270057.4]
+  assign _T_1826 = _T_1825 & _T_444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@270058.4]
+  assign _T_1388 = _T_1826 & _T_1380; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269534.4]
+  assign _T_1390 = _T_108_a_bits_data[4:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269536.4]
+  assign _GEN_150 = 5'h1 == _T_1428 ? _T_444 : _T_444; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270856.4]
+  assign _GEN_151 = 5'h2 == _T_1428 ? 1'h1 : _GEN_150; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270856.4]
+  assign _GEN_152 = 5'h3 == _T_1428 ? 1'h1 : _GEN_151; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270856.4]
+  assign _GEN_153 = 5'h4 == _T_1428 ? _T_444 : _GEN_152; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270856.4]
+  assign _GEN_154 = 5'h5 == _T_1428 ? _T_444 : _GEN_153; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270856.4]
+  assign _GEN_155 = 5'h6 == _T_1428 ? _T_444 : _GEN_154; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270856.4]
+  assign _GEN_156 = 5'h7 == _T_1428 ? 1'h1 : _GEN_155; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270856.4]
+  assign _GEN_157 = 5'h8 == _T_1428 ? 1'h1 : _GEN_156; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270856.4]
+  assign _GEN_158 = 5'h9 == _T_1428 ? 1'h1 : _GEN_157; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270856.4]
+  assign _GEN_159 = 5'ha == _T_1428 ? _T_444 : _GEN_158; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270856.4]
+  assign _GEN_160 = 5'hb == _T_1428 ? _T_444 : _GEN_159; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270856.4]
+  assign _GEN_161 = 5'hc == _T_1428 ? 1'h1 : _GEN_160; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270856.4]
+  assign _GEN_162 = 5'hd == _T_1428 ? 1'h1 : _GEN_161; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270856.4]
+  assign _GEN_163 = 5'he == _T_1428 ? _T_444 : _GEN_162; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270856.4]
+  assign _GEN_164 = 5'hf == _T_1428 ? _T_444 : _GEN_163; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270856.4]
+  assign _GEN_165 = 5'h10 == _T_1428 ? _T_444 : _GEN_164; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270856.4]
+  assign _GEN_166 = 5'h11 == _T_1428 ? 1'h1 : _GEN_165; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270856.4]
+  assign _GEN_167 = 5'h12 == _T_1428 ? _T_444 : _GEN_166; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270856.4]
+  assign _GEN_168 = 5'h13 == _T_1428 ? _T_444 : _GEN_167; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270856.4]
+  assign _GEN_169 = 5'h14 == _T_1428 ? _T_444 : _GEN_168; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270856.4]
+  assign _GEN_170 = 5'h15 == _T_1428 ? _T_444 : _GEN_169; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270856.4]
+  assign _GEN_171 = 5'h16 == _T_1428 ? 1'h1 : _GEN_170; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270856.4]
+  assign _GEN_172 = 5'h17 == _T_1428 ? 1'h1 : _GEN_171; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270856.4]
+  assign _GEN_173 = 5'h18 == _T_1428 ? 1'h1 : _GEN_172; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270856.4]
+  assign _GEN_174 = 5'h19 == _T_1428 ? 1'h1 : _GEN_173; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270856.4]
+  assign _GEN_175 = 5'h1a == _T_1428 ? 1'h1 : _GEN_174; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270856.4]
+  assign _GEN_176 = 5'h1b == _T_1428 ? 1'h1 : _GEN_175; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270856.4]
+  assign _GEN_177 = 5'h1c == _T_1428 ? _T_444 : _GEN_176; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270856.4]
+  assign _GEN_178 = 5'h1d == _T_1428 ? _T_444 : _GEN_177; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270856.4]
+  assign _GEN_179 = 5'h1e == _T_1428 ? 1'h1 : _GEN_178; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270856.4]
+  assign _GEN_180 = 5'h1f == _T_1428 ? 1'h1 : _GEN_179; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270856.4]
+  assign _T_2488_0 = {{20'd0}, ctrl_sck_div}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270858.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270860.4]
+  assign _T_2488_1 = {{30'd0}, _T_926}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270858.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270861.4]
+  assign _GEN_182 = 5'h1 == _T_1428 ? _T_2488_1 : _T_2488_0; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270892.4]
+  assign _GEN_183 = 5'h2 == _T_1428 ? 32'h0 : _GEN_182; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270892.4]
+  assign _GEN_184 = 5'h3 == _T_1428 ? 32'h0 : _GEN_183; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270892.4]
+  assign _T_2488_4 = {{31'd0}, ctrl_cs_id}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270858.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270864.4]
+  assign _GEN_185 = 5'h4 == _T_1428 ? _T_2488_4 : _GEN_184; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270892.4]
+  assign _T_2488_5 = {{30'd0}, _T_720}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270858.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270865.4]
+  assign _GEN_186 = 5'h5 == _T_1428 ? _T_2488_5 : _GEN_185; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270892.4]
+  assign _T_2488_6 = {{30'd0}, ctrl_cs_mode}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270858.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270866.4]
+  assign _GEN_187 = 5'h6 == _T_1428 ? _T_2488_6 : _GEN_186; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270892.4]
+  assign _GEN_188 = 5'h7 == _T_1428 ? 32'h0 : _GEN_187; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270892.4]
+  assign _GEN_189 = 5'h8 == _T_1428 ? 32'h0 : _GEN_188; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270892.4]
+  assign _GEN_190 = 5'h9 == _T_1428 ? 32'h0 : _GEN_189; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270892.4]
+  assign _T_2488_10 = {{8'd0}, _T_772}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270858.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270870.4]
+  assign _GEN_191 = 5'ha == _T_1428 ? _T_2488_10 : _GEN_190; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270892.4]
+  assign _T_2488_11 = {{8'd0}, _T_1269}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270858.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270871.4]
+  assign _GEN_192 = 5'hb == _T_1428 ? _T_2488_11 : _GEN_191; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270892.4]
+  assign _GEN_193 = 5'hc == _T_1428 ? 32'h0 : _GEN_192; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270892.4]
+  assign _GEN_194 = 5'hd == _T_1428 ? 32'h0 : _GEN_193; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270892.4]
+  assign _T_2488_14 = {{20'd0}, ctrl_extradel_coarse}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270858.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270874.4]
+  assign _GEN_195 = 5'he == _T_1428 ? _T_2488_14 : _GEN_194; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270892.4]
+  assign _T_2488_15 = {{27'd0}, ctrl_sampledel_sd}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270858.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270875.4]
+  assign _GEN_196 = 5'hf == _T_1428 ? _T_2488_15 : _GEN_195; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270892.4]
+  assign _T_2488_16 = {{12'd0}, _T_1217}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270858.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270876.4]
+  assign _GEN_197 = 5'h10 == _T_1428 ? _T_2488_16 : _GEN_196; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270892.4]
+  assign _GEN_198 = 5'h11 == _T_1428 ? 32'h0 : _GEN_197; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270892.4]
+  assign _GEN_199 = 5'h12 == _T_1428 ? _T_1111 : _GEN_198; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270892.4]
+  assign _GEN_200 = 5'h13 == _T_1428 ? _T_1348 : _GEN_199; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270892.4]
+  assign _T_2488_20 = {{28'd0}, ctrl_wm_tx}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270858.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270880.4]
+  assign _GEN_201 = 5'h14 == _T_1428 ? _T_2488_20 : _GEN_200; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270892.4]
+  assign _T_2488_21 = {{28'd0}, ctrl_wm_rx}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270858.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270881.4]
+  assign _GEN_202 = 5'h15 == _T_1428 ? _T_2488_21 : _GEN_201; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270892.4]
+  assign _GEN_203 = 5'h16 == _T_1428 ? 32'h0 : _GEN_202; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270892.4]
+  assign _GEN_204 = 5'h17 == _T_1428 ? 32'h0 : _GEN_203; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270892.4]
+  assign _GEN_205 = 5'h18 == _T_1428 ? 32'h0 : _GEN_204; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270892.4]
+  assign _GEN_206 = 5'h19 == _T_1428 ? 32'h0 : _GEN_205; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270892.4]
+  assign _GEN_207 = 5'h1a == _T_1428 ? 32'h0 : _GEN_206; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270892.4]
+  assign _GEN_208 = 5'h1b == _T_1428 ? 32'h0 : _GEN_207; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270892.4]
+  assign _T_2488_28 = {{30'd0}, _T_1003}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270858.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270888.4]
+  assign _GEN_209 = 5'h1c == _T_1428 ? _T_2488_28 : _GEN_208; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270892.4]
+  assign _T_2488_29 = {{30'd0}, _T_874}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270858.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270889.4]
+  assign _GEN_210 = 5'h1d == _T_1428 ? _T_2488_29 : _GEN_209; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270892.4]
+  assign _GEN_211 = 5'h1e == _T_1428 ? 32'h0 : _GEN_210; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270892.4]
+  assign _GEN_212 = 5'h1f == _T_1428 ? 32'h0 : _GEN_211; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270892.4]
+  assign auto_int_xing_out_sync_0 = intsource_auto_out_sync_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@268580.4]
+  assign auto_control_xing_in_a_ready = buffer_auto_in_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@268579.4]
+  assign auto_control_xing_in_d_valid = buffer_auto_in_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@268579.4]
+  assign auto_control_xing_in_d_bits_opcode = buffer_auto_in_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@268579.4]
+  assign auto_control_xing_in_d_bits_size = buffer_auto_in_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@268579.4]
+  assign auto_control_xing_in_d_bits_source = buffer_auto_in_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@268579.4]
+  assign auto_control_xing_in_d_bits_data = buffer_auto_in_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@268579.4]
+  assign auto_io_out_sck = mac_io_port_sck; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@268578.4]
+  assign auto_io_out_dq_0_o = mac_io_port_dq_0_o; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@268578.4]
+  assign auto_io_out_dq_0_oe = mac_io_port_dq_0_oe; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@268578.4]
+  assign auto_io_out_dq_1_o = mac_io_port_dq_1_o; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@268578.4]
+  assign auto_io_out_dq_1_oe = mac_io_port_dq_1_oe; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@268578.4]
+  assign auto_io_out_dq_2_o = mac_io_port_dq_2_o; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@268578.4]
+  assign auto_io_out_dq_2_oe = mac_io_port_dq_2_oe; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@268578.4]
+  assign auto_io_out_dq_3_o = mac_io_port_dq_3_o; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@268578.4]
+  assign auto_io_out_dq_3_oe = mac_io_port_dq_3_oe; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@268578.4]
+  assign auto_io_out_cs_0 = mac_io_port_cs_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@268578.4]
+  assign auto_io_out_cs_1 = mac_io_port_cs_1; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@268578.4]
+  assign buffer_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268513.4]
+  assign buffer_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268514.4]
+  assign buffer_auto_in_a_valid = auto_control_xing_in_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@268576.4]
+  assign buffer_auto_in_a_bits_opcode = auto_control_xing_in_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@268576.4]
+  assign buffer_auto_in_a_bits_param = auto_control_xing_in_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@268576.4]
+  assign buffer_auto_in_a_bits_size = auto_control_xing_in_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@268576.4]
+  assign buffer_auto_in_a_bits_source = auto_control_xing_in_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@268576.4]
+  assign buffer_auto_in_a_bits_address = auto_control_xing_in_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@268576.4]
+  assign buffer_auto_in_a_bits_mask = auto_control_xing_in_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@268576.4]
+  assign buffer_auto_in_a_bits_data = auto_control_xing_in_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@268576.4]
+  assign buffer_auto_in_a_bits_corrupt = auto_control_xing_in_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@268576.4]
+  assign buffer_auto_in_d_ready = auto_control_xing_in_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@268576.4]
+  assign buffer_auto_out_a_ready = buffer_auto_out_d_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@268575.4]
+  assign buffer_auto_out_d_valid = buffer_auto_out_a_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@268575.4]
+  assign buffer_auto_out_d_bits_opcode = {{2'd0}, _T_424}; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@268575.4]
+  assign buffer_auto_out_d_bits_size = _T_426[1:0]; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@268575.4]
+  assign buffer_auto_out_d_bits_source = _T_426[7:2]; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@268575.4]
+  assign buffer_auto_out_d_bits_data = _GEN_180 ? _GEN_212 : 32'h0; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@268575.4]
+  assign intsource_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268519.4]
+  assign intsource_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268520.4]
+  assign intsource_auto_in_0 = _T_410 | _T_411; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@268574.4]
+  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268529.4]
+  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268530.4]
+  assign TLMonitor_io_in_a_ready = buffer_auto_out_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268563.4]
+  assign TLMonitor_io_in_a_valid = buffer_auto_out_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268563.4]
+  assign TLMonitor_io_in_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268563.4]
+  assign TLMonitor_io_in_a_bits_param = buffer_auto_out_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268563.4]
+  assign TLMonitor_io_in_a_bits_size = buffer_auto_out_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268563.4]
+  assign TLMonitor_io_in_a_bits_source = buffer_auto_out_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268563.4]
+  assign TLMonitor_io_in_a_bits_address = buffer_auto_out_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268563.4]
+  assign TLMonitor_io_in_a_bits_mask = buffer_auto_out_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268563.4]
+  assign TLMonitor_io_in_a_bits_corrupt = buffer_auto_out_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268563.4]
+  assign TLMonitor_io_in_d_ready = buffer_auto_out_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268563.4]
+  assign TLMonitor_io_in_d_valid = buffer_auto_out_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268563.4]
+  assign TLMonitor_io_in_d_bits_opcode = {{2'd0}, _T_424}; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268563.4]
+  assign TLMonitor_io_in_d_bits_size = _T_426[1:0]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268563.4]
+  assign TLMonitor_io_in_d_bits_source = _T_426[7:2]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268563.4]
+  assign fifo_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268606.4]
+  assign fifo_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268607.4]
+  assign fifo_io_ctrl_fmt_proto = ctrl_fmt_proto; // @[TLSPI.scala 67:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268613.4]
+  assign fifo_io_ctrl_fmt_endian = ctrl_fmt_endian; // @[TLSPI.scala 67:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268613.4]
+  assign fifo_io_ctrl_fmt_iodir = ctrl_fmt_iodir; // @[TLSPI.scala 67:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268613.4]
+  assign fifo_io_ctrl_fmt_len = ctrl_fmt_len; // @[TLSPI.scala 67:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268613.4]
+  assign fifo_io_ctrl_cs_mode = ctrl_cs_mode; // @[TLSPI.scala 68:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268614.4]
+  assign fifo_io_ctrl_wm_tx = ctrl_wm_tx; // @[TLSPI.scala 69:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268615.4]
+  assign fifo_io_ctrl_wm_rx = ctrl_wm_rx; // @[TLSPI.scala 69:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268615.4]
+  assign fifo_io_link_tx_ready = mac_io_link_tx_ready; // @[TLSPI.scala 189:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268639.4]
+  assign fifo_io_link_rx_valid = mac_io_link_rx_valid; // @[TLSPI.scala 189:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268639.4]
+  assign fifo_io_link_rx_bits = mac_io_link_rx_bits; // @[TLSPI.scala 189:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268639.4]
+  assign fifo_io_tx_valid = _T_1043 & _T_1046; // @[RegMapFIFO.scala 18:21:shc.marmotcaravel.MarmotCaravelConfig.fir@269169.4]
+  assign fifo_io_tx_bits = _T_108_a_bits_data[7:0]; // @[RegMapFIFO.scala 19:20:shc.marmotcaravel.MarmotCaravelConfig.fir@269170.4]
+  assign fifo_io_rx_ready = _T_1614 & _T_724; // @[RegMapFIFO.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@269428.4]
+  assign mac_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268610.4]
+  assign mac_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268611.4]
+  assign mac_io_port_dq_0_i = auto_io_out_dq_0_i; // @[TLSPI.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@268612.4]
+  assign mac_io_port_dq_1_i = auto_io_out_dq_1_i; // @[TLSPI.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@268612.4]
+  assign mac_io_port_dq_2_i = auto_io_out_dq_2_i; // @[TLSPI.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@268612.4]
+  assign mac_io_port_dq_3_i = auto_io_out_dq_3_i; // @[TLSPI.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@268612.4]
+  assign mac_io_ctrl_sck_div = ctrl_sck_div; // @[TLSPI.scala 70:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268616.4]
+  assign mac_io_ctrl_sck_pol = ctrl_sck_pol; // @[TLSPI.scala 70:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268616.4]
+  assign mac_io_ctrl_sck_pha = ctrl_sck_pha; // @[TLSPI.scala 70:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268616.4]
+  assign mac_io_ctrl_dla_cssck = ctrl_dla_cssck; // @[TLSPI.scala 73:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268619.4]
+  assign mac_io_ctrl_dla_sckcs = ctrl_dla_sckcs; // @[TLSPI.scala 73:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268619.4]
+  assign mac_io_ctrl_dla_intercs = ctrl_dla_intercs; // @[TLSPI.scala 73:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268619.4]
+  assign mac_io_ctrl_dla_interxfr = ctrl_dla_interxfr; // @[TLSPI.scala 73:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268619.4]
+  assign mac_io_ctrl_cs_id = ctrl_cs_id; // @[TLSPI.scala 74:18:shc.marmotcaravel.MarmotCaravelConfig.fir@268620.4]
+  assign mac_io_ctrl_cs_dflt_0 = ctrl_cs_dflt_0; // @[TLSPI.scala 74:18:shc.marmotcaravel.MarmotCaravelConfig.fir@268620.4]
+  assign mac_io_ctrl_cs_dflt_1 = ctrl_cs_dflt_1; // @[TLSPI.scala 74:18:shc.marmotcaravel.MarmotCaravelConfig.fir@268620.4]
+  assign mac_io_ctrl_extradel_coarse = ctrl_extradel_coarse; // @[TLSPI.scala 71:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268617.4]
+  assign mac_io_ctrl_sampledel_sd = ctrl_sampledel_sd; // @[TLSPI.scala 72:25:shc.marmotcaravel.MarmotCaravelConfig.fir@268618.4]
+  assign mac_io_link_tx_valid = fifo_io_link_tx_valid; // @[TLSPI.scala 189:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268639.4]
+  assign mac_io_link_tx_bits = fifo_io_link_tx_bits; // @[TLSPI.scala 189:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268639.4]
+  assign mac_io_link_cnt = fifo_io_link_cnt; // @[TLSPI.scala 189:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268639.4]
+  assign mac_io_link_fmt_proto = fifo_io_link_fmt_proto; // @[TLSPI.scala 189:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268639.4]
+  assign mac_io_link_fmt_endian = fifo_io_link_fmt_endian; // @[TLSPI.scala 189:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268639.4]
+  assign mac_io_link_fmt_iodir = fifo_io_link_fmt_iodir; // @[TLSPI.scala 189:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268639.4]
+  assign mac_io_link_cs_set = fifo_io_link_cs_set; // @[TLSPI.scala 189:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268639.4]
+  assign mac_io_link_cs_clear = fifo_io_link_cs_clear; // @[TLSPI.scala 189:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268639.4]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  ctrl_fmt_proto = _RAND_0[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  ctrl_fmt_endian = _RAND_1[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  ctrl_fmt_iodir = _RAND_2[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  ctrl_fmt_len = _RAND_3[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  ctrl_sck_div = _RAND_4[11:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  ctrl_sck_pol = _RAND_5[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {1{`RANDOM}};
+  ctrl_sck_pha = _RAND_6[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {1{`RANDOM}};
+  ctrl_cs_id = _RAND_7[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_8 = {1{`RANDOM}};
+  ctrl_cs_dflt_0 = _RAND_8[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_9 = {1{`RANDOM}};
+  ctrl_cs_dflt_1 = _RAND_9[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_10 = {1{`RANDOM}};
+  ctrl_cs_mode = _RAND_10[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_11 = {1{`RANDOM}};
+  ctrl_dla_cssck = _RAND_11[7:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_12 = {1{`RANDOM}};
+  ctrl_dla_sckcs = _RAND_12[7:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_13 = {1{`RANDOM}};
+  ctrl_dla_intercs = _RAND_13[7:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_14 = {1{`RANDOM}};
+  ctrl_dla_interxfr = _RAND_14[7:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_15 = {1{`RANDOM}};
+  ctrl_wm_tx = _RAND_15[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_16 = {1{`RANDOM}};
+  ctrl_wm_rx = _RAND_16[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_17 = {1{`RANDOM}};
+  ctrl_extradel_coarse = _RAND_17[11:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_18 = {1{`RANDOM}};
+  ctrl_sampledel_sd = _RAND_18[4:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_19 = {1{`RANDOM}};
+  ie_txwm = _RAND_19[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_20 = {1{`RANDOM}};
+  ie_rxwm = _RAND_20[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      ctrl_fmt_proto <= 2'h0;
+    end else begin
+      if (_T_1126) begin
+        ctrl_fmt_proto <= _T_943;
+      end
+    end
+    if (reset) begin
+      ctrl_fmt_endian <= 1'h0;
+    end else begin
+      if (_T_1151) begin
+        ctrl_fmt_endian <= _T_1153;
+      end
+    end
+    if (reset) begin
+      ctrl_fmt_iodir <= 1'h0;
+    end else begin
+      if (_T_1178) begin
+        ctrl_fmt_iodir <= _T_1180;
+      end
+    end
+    if (reset) begin
+      ctrl_fmt_len <= 4'h8;
+    end else begin
+      if (_T_1205) begin
+        ctrl_fmt_len <= _T_1207;
+      end
+    end
+    if (reset) begin
+      ctrl_sck_div <= 12'h3;
+    end else begin
+      if (_T_658) begin
+        ctrl_sck_div <= _T_660;
+      end
+    end
+    if (reset) begin
+      ctrl_sck_pol <= 1'h0;
+    end else begin
+      if (_T_914) begin
+        ctrl_sck_pol <= _T_710;
+      end
+    end
+    if (reset) begin
+      ctrl_sck_pha <= 1'h0;
+    end else begin
+      if (_T_889) begin
+        ctrl_sck_pha <= _T_685;
+      end
+    end
+    if (reset) begin
+      ctrl_cs_id <= 1'h0;
+    end else begin
+      if (_T_1363) begin
+        ctrl_cs_id <= _T_685;
+      end
+    end
+    if (reset) begin
+      ctrl_cs_dflt_0 <= 1'h1;
+    end else begin
+      if (_T_683) begin
+        ctrl_cs_dflt_0 <= _T_685;
+      end
+    end
+    if (reset) begin
+      ctrl_cs_dflt_1 <= 1'h1;
+    end else begin
+      if (_T_708) begin
+        ctrl_cs_dflt_1 <= _T_710;
+      end
+    end
+    if (reset) begin
+      ctrl_cs_mode <= 2'h0;
+    end else begin
+      if (_T_941) begin
+        ctrl_cs_mode <= _T_943;
+      end
+    end
+    if (reset) begin
+      ctrl_dla_cssck <= 8'h1;
+    end else begin
+      if (_T_735) begin
+        ctrl_dla_cssck <= _T_737;
+      end
+    end
+    if (reset) begin
+      ctrl_dla_sckcs <= 8'h1;
+    end else begin
+      if (_T_760) begin
+        ctrl_dla_sckcs <= _T_762;
+      end
+    end
+    if (reset) begin
+      ctrl_dla_intercs <= 8'h1;
+    end else begin
+      if (_T_1232) begin
+        ctrl_dla_intercs <= _T_737;
+      end
+    end
+    if (reset) begin
+      ctrl_dla_interxfr <= 8'h0;
+    end else begin
+      if (_T_1257) begin
+        ctrl_dla_interxfr <= _T_762;
+      end
+    end
+    if (reset) begin
+      ctrl_wm_tx <= 4'h0;
+    end else begin
+      if (_T_812) begin
+        ctrl_wm_tx <= _T_814;
+      end
+    end
+    if (reset) begin
+      ctrl_wm_rx <= 4'h0;
+    end else begin
+      if (_T_1018) begin
+        ctrl_wm_rx <= _T_814;
+      end
+    end
+    if (reset) begin
+      ctrl_extradel_coarse <= 12'h0;
+    end else begin
+      if (_T_787) begin
+        ctrl_extradel_coarse <= _T_660;
+      end
+    end
+    if (reset) begin
+      ctrl_sampledel_sd <= 5'h3;
+    end else begin
+      if (_T_1388) begin
+        ctrl_sampledel_sd <= _T_1390;
+      end
+    end
+    if (reset) begin
+      ie_txwm <= 1'h0;
+    end else begin
+      if (_T_966) begin
+        ie_txwm <= _T_685;
+      end
+    end
+    if (reset) begin
+      ie_rxwm <= 1'h0;
+    end else begin
+      if (_T_991) begin
+        ie_rxwm <= _T_710;
+      end
+    end
+  end
+endmodule
+module TLMonitor_74( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@270987.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@270988.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@270989.4]
+  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@270990.4]
+  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@270990.4]
+  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@270990.4]
+  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@270990.4]
+  input  [1:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@270990.4]
+  input  [5:0]  io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@270990.4]
+  input  [28:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@270990.4]
+  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@270990.4]
+  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@270990.4]
+  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@270990.4]
+  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@270990.4]
+  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@270990.4]
+  input  [1:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@270990.4]
+  input  [5:0]  io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@270990.4]
+);
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@272117.4]
+  wire [4:0] _T_36; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@271017.6]
+  wire [1:0] _T_37; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@271018.6]
+  wire [1:0] _T_38; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@271019.6]
+  wire [28:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@271020.6]
+  wire [28:0] _T_39; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@271020.6]
+  wire  _T_40; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@271021.6]
+  wire  _T_42; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@271023.6]
+  wire [1:0] _T_43; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@271024.6]
+  wire [1:0] _T_45; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@271026.6]
+  wire  _T_46; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@271027.6]
+  wire  _T_47; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@271028.6]
+  wire  _T_48; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@271029.6]
+  wire  _T_49; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@271030.6]
+  wire  _T_51; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@271032.6]
+  wire  _T_52; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@271033.6]
+  wire  _T_54; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@271035.6]
+  wire  _T_55; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@271036.6]
+  wire  _T_56; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@271037.6]
+  wire  _T_57; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@271038.6]
+  wire  _T_58; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@271039.6]
+  wire  _T_59; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@271040.6]
+  wire  _T_60; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@271041.6]
+  wire  _T_61; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@271042.6]
+  wire  _T_62; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@271043.6]
+  wire  _T_63; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@271044.6]
+  wire  _T_64; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@271045.6]
+  wire  _T_65; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@271046.6]
+  wire  _T_66; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@271047.6]
+  wire  _T_67; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@271048.6]
+  wire  _T_68; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@271049.6]
+  wire  _T_69; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@271050.6]
+  wire  _T_70; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@271051.6]
+  wire [1:0] _T_71; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@271052.6]
+  wire [1:0] _T_72; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@271053.6]
+  wire [3:0] _T_73; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@271054.6]
+  wire  _T_92; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@271077.6]
+  wire [28:0] _T_94; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@271080.8]
+  wire [29:0] _T_95; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@271081.8]
+  wire [29:0] _T_96; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@271082.8]
+  wire [29:0] _T_97; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@271083.8]
+  wire  _T_98; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@271084.8]
+  wire  _T_103; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271089.8]
+  wire  _T_112; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271110.8]
+  wire  _T_113; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271111.8]
+  wire  _T_115; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271117.8]
+  wire  _T_116; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271118.8]
+  wire  _T_117; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@271123.8]
+  wire  _T_119; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271125.8]
+  wire  _T_120; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271126.8]
+  wire [3:0] _T_121; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@271131.8]
+  wire  _T_122; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@271132.8]
+  wire  _T_124; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271134.8]
+  wire  _T_125; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271135.8]
+  wire  _T_126; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@271140.8]
+  wire  _T_128; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271142.8]
+  wire  _T_129; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271143.8]
+  wire  _T_130; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@271149.6]
+  wire  _T_159; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@271203.8]
+  wire  _T_161; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271205.8]
+  wire  _T_162; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271206.8]
+  wire  _T_172; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@271229.6]
+  wire  _T_174; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@271232.8]
+  wire  _T_182; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@271240.8]
+  wire  _T_185; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271243.8]
+  wire  _T_186; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271244.8]
+  wire  _T_193; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@271263.8]
+  wire  _T_195; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271265.8]
+  wire  _T_196; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271266.8]
+  wire  _T_197; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@271271.8]
+  wire  _T_199; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271273.8]
+  wire  _T_200; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271274.8]
+  wire  _T_205; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@271288.6]
+  wire  _T_234; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@271339.6]
+  wire [3:0] _T_259; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@271381.8]
+  wire [3:0] _T_260; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@271382.8]
+  wire  _T_261; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@271383.8]
+  wire  _T_263; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271385.8]
+  wire  _T_264; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271386.8]
+  wire  _T_265; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@271392.6]
+  wire  _T_283; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@271423.8]
+  wire  _T_285; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271425.8]
+  wire  _T_286; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271426.8]
+  wire  _T_291; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@271440.6]
+  wire  _T_309; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@271471.8]
+  wire  _T_311; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271473.8]
+  wire  _T_312; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271474.8]
+  wire  _T_317; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@271488.6]
+  wire  _T_343; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@271538.6]
+  wire  _T_345; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@271540.6]
+  wire  _T_346; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@271541.6]
+  wire  _T_363; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@271558.6]
+  wire  _T_367; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@271567.8]
+  wire  _T_369; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271569.8]
+  wire  _T_370; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271570.8]
+  wire  _T_383; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@271600.6]
+  wire  _T_411; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@271658.6]
+  wire  _T_504; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@271848.4]
+  reg  _T_514; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@271857.4]
+  reg [31:0] _RAND_0;
+  wire [1:0] _T_515; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@271858.4]
+  wire [1:0] _T_516; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@271859.4]
+  wire  _T_517; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@271860.4]
+  wire  _T_518; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@271861.4]
+  reg [2:0] _T_527; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@271872.4]
+  reg [31:0] _RAND_1;
+  reg [2:0] _T_529; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@271873.4]
+  reg [31:0] _RAND_2;
+  reg [1:0] _T_531; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@271874.4]
+  reg [31:0] _RAND_3;
+  reg [5:0] _T_533; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@271875.4]
+  reg [31:0] _RAND_4;
+  reg [28:0] _T_535; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@271876.4]
+  reg [31:0] _RAND_5;
+  wire  _T_536; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@271877.4]
+  wire  _T_537; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@271878.4]
+  wire  _T_538; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@271880.6]
+  wire  _T_540; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271882.6]
+  wire  _T_541; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271883.6]
+  wire  _T_542; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@271888.6]
+  wire  _T_544; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271890.6]
+  wire  _T_545; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271891.6]
+  wire  _T_546; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@271896.6]
+  wire  _T_548; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271898.6]
+  wire  _T_549; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271899.6]
+  wire  _T_550; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@271904.6]
+  wire  _T_552; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271906.6]
+  wire  _T_553; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271907.6]
+  wire  _T_554; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@271912.6]
+  wire  _T_556; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271914.6]
+  wire  _T_557; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271915.6]
+  wire  _T_559; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@271922.4]
+  wire  _T_560; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@271930.4]
+  reg  _T_569; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@271938.4]
+  reg [31:0] _RAND_6;
+  wire [1:0] _T_570; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@271939.4]
+  wire [1:0] _T_571; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@271940.4]
+  wire  _T_572; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@271941.4]
+  wire  _T_573; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@271942.4]
+  reg [2:0] _T_582; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@271953.4]
+  reg [31:0] _RAND_7;
+  reg [1:0] _T_586; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@271955.4]
+  reg [31:0] _RAND_8;
+  reg [5:0] _T_588; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@271956.4]
+  reg [31:0] _RAND_9;
+  wire  _T_593; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@271959.4]
+  wire  _T_594; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@271960.4]
+  wire  _T_595; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@271962.6]
+  wire  _T_597; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271964.6]
+  wire  _T_598; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271965.6]
+  wire  _T_603; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@271978.6]
+  wire  _T_605; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271980.6]
+  wire  _T_606; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271981.6]
+  wire  _T_607; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@271986.6]
+  wire  _T_609; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271988.6]
+  wire  _T_610; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271989.6]
+  wire  _T_620; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@272012.4]
+  reg [63:0] _T_622; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@272021.4]
+  reg [63:0] _RAND_10;
+  reg  _T_633; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@272031.4]
+  reg [31:0] _RAND_11;
+  wire [1:0] _T_634; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@272032.4]
+  wire [1:0] _T_635; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@272033.4]
+  wire  _T_636; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@272034.4]
+  wire  _T_637; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@272035.4]
+  reg  _T_654; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@272054.4]
+  reg [31:0] _RAND_12;
+  wire [1:0] _T_655; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@272055.4]
+  wire [1:0] _T_656; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@272056.4]
+  wire  _T_657; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@272057.4]
+  wire  _T_658; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@272058.4]
+  wire  _T_669; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@272073.4]
+  wire [63:0] _T_671; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@272076.6]
+  wire [63:0] _T_672; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@272078.6]
+  wire  _T_673; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@272079.6]
+  wire  _T_674; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272080.6]
+  wire  _T_676; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@272082.6]
+  wire  _T_677; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@272083.6]
+  wire [63:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@272075.4]
+  wire  _T_682; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@272094.4]
+  wire  _T_684; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@272096.4]
+  wire  _T_685; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@272097.4]
+  wire [63:0] _T_686; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@272099.6]
+  wire [63:0] _T_687; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@272101.6]
+  wire [63:0] _T_688; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@272102.6]
+  wire  _T_689; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@272103.6]
+  wire  _T_691; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@272105.6]
+  wire  _T_692; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@272106.6]
+  wire [63:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@272098.4]
+  wire [63:0] _T_693; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@272112.4]
+  wire [63:0] _T_694; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@272113.4]
+  wire [63:0] _T_695; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@272114.4]
+  reg [31:0] _T_697; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@272116.4]
+  reg [31:0] _RAND_13;
+  wire  _T_698; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@272119.4]
+  wire  _T_699; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@272120.4]
+  wire  _T_700; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@272121.4]
+  wire  _T_701; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@272122.4]
+  wire  _T_702; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@272123.4]
+  wire  _T_703; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@272124.4]
+  wire  _T_705; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@272126.4]
+  wire  _T_706; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@272127.4]
+  wire [31:0] _T_708; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@272133.4]
+  wire  _T_711; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@272137.4]
+  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271091.10]
+  wire  _GEN_33; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271163.10]
+  wire  _GEN_49; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271246.10]
+  wire  _GEN_59; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271305.10]
+  wire  _GEN_67; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271356.10]
+  wire  _GEN_75; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271406.10]
+  wire  _GEN_83; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271454.10]
+  wire  _GEN_91; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271502.10]
+  wire  _GEN_99; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271572.10]
+  wire  _GEN_101; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271613.10]
+  wire  _GEN_105; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271671.10]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@272117.4]
+    .out(plusarg_reader_out)
+  );
+  assign _T_36 = 5'h3 << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@271017.6]
+  assign _T_37 = _T_36[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@271018.6]
+  assign _T_38 = ~ _T_37; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@271019.6]
+  assign _GEN_18 = {{27'd0}, _T_38}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@271020.6]
+  assign _T_39 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@271020.6]
+  assign _T_40 = _T_39 == 29'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@271021.6]
+  assign _T_42 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@271023.6]
+  assign _T_43 = 2'h1 << _T_42; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@271024.6]
+  assign _T_45 = _T_43 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@271026.6]
+  assign _T_46 = io_in_a_bits_size >= 2'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@271027.6]
+  assign _T_47 = _T_45[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@271028.6]
+  assign _T_48 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@271029.6]
+  assign _T_49 = _T_48 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@271030.6]
+  assign _T_51 = _T_47 & _T_49; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@271032.6]
+  assign _T_52 = _T_46 | _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@271033.6]
+  assign _T_54 = _T_47 & _T_48; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@271035.6]
+  assign _T_55 = _T_46 | _T_54; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@271036.6]
+  assign _T_56 = _T_45[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@271037.6]
+  assign _T_57 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@271038.6]
+  assign _T_58 = _T_57 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@271039.6]
+  assign _T_59 = _T_49 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@271040.6]
+  assign _T_60 = _T_56 & _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@271041.6]
+  assign _T_61 = _T_52 | _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@271042.6]
+  assign _T_62 = _T_49 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@271043.6]
+  assign _T_63 = _T_56 & _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@271044.6]
+  assign _T_64 = _T_52 | _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@271045.6]
+  assign _T_65 = _T_48 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@271046.6]
+  assign _T_66 = _T_56 & _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@271047.6]
+  assign _T_67 = _T_55 | _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@271048.6]
+  assign _T_68 = _T_48 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@271049.6]
+  assign _T_69 = _T_56 & _T_68; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@271050.6]
+  assign _T_70 = _T_55 | _T_69; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@271051.6]
+  assign _T_71 = {_T_64,_T_61}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@271052.6]
+  assign _T_72 = {_T_70,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@271053.6]
+  assign _T_73 = {_T_72,_T_71}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@271054.6]
+  assign _T_92 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@271077.6]
+  assign _T_94 = io_in_a_bits_address ^ 29'h10034000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@271080.8]
+  assign _T_95 = {1'b0,$signed(_T_94)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@271081.8]
+  assign _T_96 = $signed(_T_95) & $signed(-30'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@271082.8]
+  assign _T_97 = $signed(_T_96); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@271083.8]
+  assign _T_98 = $signed(_T_97) == $signed(30'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@271084.8]
+  assign _T_103 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271089.8]
+  assign _T_112 = _T_46 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271110.8]
+  assign _T_113 = _T_112 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271111.8]
+  assign _T_115 = _T_40 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271117.8]
+  assign _T_116 = _T_115 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271118.8]
+  assign _T_117 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@271123.8]
+  assign _T_119 = _T_117 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271125.8]
+  assign _T_120 = _T_119 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271126.8]
+  assign _T_121 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@271131.8]
+  assign _T_122 = _T_121 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@271132.8]
+  assign _T_124 = _T_122 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271134.8]
+  assign _T_125 = _T_124 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271135.8]
+  assign _T_126 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@271140.8]
+  assign _T_128 = _T_126 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271142.8]
+  assign _T_129 = _T_128 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271143.8]
+  assign _T_130 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@271149.6]
+  assign _T_159 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@271203.8]
+  assign _T_161 = _T_159 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271205.8]
+  assign _T_162 = _T_161 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271206.8]
+  assign _T_172 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@271229.6]
+  assign _T_174 = io_in_a_bits_size <= 2'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@271232.8]
+  assign _T_182 = _T_174 & _T_98; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@271240.8]
+  assign _T_185 = _T_182 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271243.8]
+  assign _T_186 = _T_185 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271244.8]
+  assign _T_193 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@271263.8]
+  assign _T_195 = _T_193 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271265.8]
+  assign _T_196 = _T_195 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271266.8]
+  assign _T_197 = io_in_a_bits_mask == _T_73; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@271271.8]
+  assign _T_199 = _T_197 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271273.8]
+  assign _T_200 = _T_199 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271274.8]
+  assign _T_205 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@271288.6]
+  assign _T_234 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@271339.6]
+  assign _T_259 = ~ _T_73; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@271381.8]
+  assign _T_260 = io_in_a_bits_mask & _T_259; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@271382.8]
+  assign _T_261 = _T_260 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@271383.8]
+  assign _T_263 = _T_261 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271385.8]
+  assign _T_264 = _T_263 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271386.8]
+  assign _T_265 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@271392.6]
+  assign _T_283 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@271423.8]
+  assign _T_285 = _T_283 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271425.8]
+  assign _T_286 = _T_285 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271426.8]
+  assign _T_291 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@271440.6]
+  assign _T_309 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@271471.8]
+  assign _T_311 = _T_309 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271473.8]
+  assign _T_312 = _T_311 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271474.8]
+  assign _T_317 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@271488.6]
+  assign _T_343 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@271538.6]
+  assign _T_345 = _T_343 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@271540.6]
+  assign _T_346 = _T_345 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@271541.6]
+  assign _T_363 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@271558.6]
+  assign _T_367 = io_in_d_bits_size >= 2'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@271567.8]
+  assign _T_369 = _T_367 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271569.8]
+  assign _T_370 = _T_369 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271570.8]
+  assign _T_383 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@271600.6]
+  assign _T_411 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@271658.6]
+  assign _T_504 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@271848.4]
+  assign _T_515 = _T_514 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@271858.4]
+  assign _T_516 = $unsigned(_T_515); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@271859.4]
+  assign _T_517 = _T_516[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@271860.4]
+  assign _T_518 = _T_514 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@271861.4]
+  assign _T_536 = _T_518 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@271877.4]
+  assign _T_537 = io_in_a_valid & _T_536; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@271878.4]
+  assign _T_538 = io_in_a_bits_opcode == _T_527; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@271880.6]
+  assign _T_540 = _T_538 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271882.6]
+  assign _T_541 = _T_540 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271883.6]
+  assign _T_542 = io_in_a_bits_param == _T_529; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@271888.6]
+  assign _T_544 = _T_542 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271890.6]
+  assign _T_545 = _T_544 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271891.6]
+  assign _T_546 = io_in_a_bits_size == _T_531; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@271896.6]
+  assign _T_548 = _T_546 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271898.6]
+  assign _T_549 = _T_548 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271899.6]
+  assign _T_550 = io_in_a_bits_source == _T_533; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@271904.6]
+  assign _T_552 = _T_550 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271906.6]
+  assign _T_553 = _T_552 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271907.6]
+  assign _T_554 = io_in_a_bits_address == _T_535; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@271912.6]
+  assign _T_556 = _T_554 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271914.6]
+  assign _T_557 = _T_556 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271915.6]
+  assign _T_559 = _T_504 & _T_518; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@271922.4]
+  assign _T_560 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@271930.4]
+  assign _T_570 = _T_569 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@271939.4]
+  assign _T_571 = $unsigned(_T_570); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@271940.4]
+  assign _T_572 = _T_571[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@271941.4]
+  assign _T_573 = _T_569 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@271942.4]
+  assign _T_593 = _T_573 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@271959.4]
+  assign _T_594 = io_in_d_valid & _T_593; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@271960.4]
+  assign _T_595 = io_in_d_bits_opcode == _T_582; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@271962.6]
+  assign _T_597 = _T_595 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271964.6]
+  assign _T_598 = _T_597 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271965.6]
+  assign _T_603 = io_in_d_bits_size == _T_586; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@271978.6]
+  assign _T_605 = _T_603 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271980.6]
+  assign _T_606 = _T_605 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271981.6]
+  assign _T_607 = io_in_d_bits_source == _T_588; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@271986.6]
+  assign _T_609 = _T_607 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271988.6]
+  assign _T_610 = _T_609 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271989.6]
+  assign _T_620 = _T_560 & _T_573; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@272012.4]
+  assign _T_634 = _T_633 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@272032.4]
+  assign _T_635 = $unsigned(_T_634); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@272033.4]
+  assign _T_636 = _T_635[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@272034.4]
+  assign _T_637 = _T_633 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@272035.4]
+  assign _T_655 = _T_654 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@272055.4]
+  assign _T_656 = $unsigned(_T_655); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@272056.4]
+  assign _T_657 = _T_656[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@272057.4]
+  assign _T_658 = _T_654 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@272058.4]
+  assign _T_669 = _T_504 & _T_637; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@272073.4]
+  assign _T_671 = 64'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@272076.6]
+  assign _T_672 = _T_622 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@272078.6]
+  assign _T_673 = _T_672[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@272079.6]
+  assign _T_674 = _T_673 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272080.6]
+  assign _T_676 = _T_674 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@272082.6]
+  assign _T_677 = _T_676 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@272083.6]
+  assign _GEN_15 = _T_669 ? _T_671 : 64'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@272075.4]
+  assign _T_682 = _T_560 & _T_658; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@272094.4]
+  assign _T_684 = _T_363 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@272096.4]
+  assign _T_685 = _T_682 & _T_684; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@272097.4]
+  assign _T_686 = 64'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@272099.6]
+  assign _T_687 = _GEN_15 | _T_622; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@272101.6]
+  assign _T_688 = _T_687 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@272102.6]
+  assign _T_689 = _T_688[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@272103.6]
+  assign _T_691 = _T_689 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@272105.6]
+  assign _T_692 = _T_691 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@272106.6]
+  assign _GEN_16 = _T_685 ? _T_686 : 64'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@272098.4]
+  assign _T_693 = _T_622 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@272112.4]
+  assign _T_694 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@272113.4]
+  assign _T_695 = _T_693 & _T_694; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@272114.4]
+  assign _T_698 = _T_622 != 64'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@272119.4]
+  assign _T_699 = _T_698 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@272120.4]
+  assign _T_700 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@272121.4]
+  assign _T_701 = _T_699 | _T_700; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@272122.4]
+  assign _T_702 = _T_697 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@272123.4]
+  assign _T_703 = _T_701 | _T_702; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@272124.4]
+  assign _T_705 = _T_703 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@272126.4]
+  assign _T_706 = _T_705 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@272127.4]
+  assign _T_708 = _T_697 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@272133.4]
+  assign _T_711 = _T_504 | _T_560; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@272137.4]
+  assign _GEN_19 = io_in_a_valid & _T_92; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271091.10]
+  assign _GEN_33 = io_in_a_valid & _T_130; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271163.10]
+  assign _GEN_49 = io_in_a_valid & _T_172; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271246.10]
+  assign _GEN_59 = io_in_a_valid & _T_205; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271305.10]
+  assign _GEN_67 = io_in_a_valid & _T_234; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271356.10]
+  assign _GEN_75 = io_in_a_valid & _T_265; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271406.10]
+  assign _GEN_83 = io_in_a_valid & _T_291; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271454.10]
+  assign _GEN_91 = io_in_a_valid & _T_317; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271502.10]
+  assign _GEN_99 = io_in_d_valid & _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271572.10]
+  assign _GEN_101 = io_in_d_valid & _T_383; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271613.10]
+  assign _GEN_105 = io_in_d_valid & _T_411; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271671.10]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  _T_514 = _RAND_0[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  _T_527 = _RAND_1[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  _T_529 = _RAND_2[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  _T_531 = _RAND_3[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  _T_533 = _RAND_4[5:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  _T_535 = _RAND_5[28:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {1{`RANDOM}};
+  _T_569 = _RAND_6[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {1{`RANDOM}};
+  _T_582 = _RAND_7[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_8 = {1{`RANDOM}};
+  _T_586 = _RAND_8[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_9 = {1{`RANDOM}};
+  _T_588 = _RAND_9[5:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_10 = {2{`RANDOM}};
+  _T_622 = _RAND_10[63:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_11 = {1{`RANDOM}};
+  _T_633 = _RAND_11[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_12 = {1{`RANDOM}};
+  _T_654 = _RAND_12[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_13 = {1{`RANDOM}};
+  _T_697 = _RAND_13[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      _T_514 <= 1'h0;
+    end else begin
+      if (_T_504) begin
+        if (_T_518) begin
+          _T_514 <= 1'h0;
+        end else begin
+          _T_514 <= _T_517;
+        end
+      end
+    end
+    if (_T_559) begin
+      _T_527 <= io_in_a_bits_opcode;
+    end
+    if (_T_559) begin
+      _T_529 <= io_in_a_bits_param;
+    end
+    if (_T_559) begin
+      _T_531 <= io_in_a_bits_size;
+    end
+    if (_T_559) begin
+      _T_533 <= io_in_a_bits_source;
+    end
+    if (_T_559) begin
+      _T_535 <= io_in_a_bits_address;
+    end
+    if (reset) begin
+      _T_569 <= 1'h0;
+    end else begin
+      if (_T_560) begin
+        if (_T_573) begin
+          _T_569 <= 1'h0;
+        end else begin
+          _T_569 <= _T_572;
+        end
+      end
+    end
+    if (_T_620) begin
+      _T_582 <= io_in_d_bits_opcode;
+    end
+    if (_T_620) begin
+      _T_586 <= io_in_d_bits_size;
+    end
+    if (_T_620) begin
+      _T_588 <= io_in_d_bits_source;
+    end
+    if (reset) begin
+      _T_622 <= 64'h0;
+    end else begin
+      _T_622 <= _T_695;
+    end
+    if (reset) begin
+      _T_633 <= 1'h0;
+    end else begin
+      if (_T_504) begin
+        if (_T_637) begin
+          _T_633 <= 1'h0;
+        end else begin
+          _T_633 <= _T_636;
+        end
+      end
+    end
+    if (reset) begin
+      _T_654 <= 1'h0;
+    end else begin
+      if (_T_560) begin
+        if (_T_658) begin
+          _T_654 <= 1'h0;
+        end else begin
+          _T_654 <= _T_657;
+        end
+      end
+    end
+    if (reset) begin
+      _T_697 <= 32'h0;
+    end else begin
+      if (_T_711) begin
+        _T_697 <= 32'h0;
+      end else begin
+        _T_697 <= _T_708;
+      end
+    end
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@271002.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@271003.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@271074.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@271075.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271091.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_103) begin
+          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271092.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271098.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_103) begin
+          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271099.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271105.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271106.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_113) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271113.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_113) begin
+          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271114.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271120.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_116) begin
+          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271121.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_120) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271128.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_120) begin
+          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271129.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_125) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271137.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_125) begin
+          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271138.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_129) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271145.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_129) begin
+          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271146.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271163.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_103) begin
+          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271164.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271170.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_103) begin
+          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271171.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271177.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271178.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_113) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271185.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_113) begin
+          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271186.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271192.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_116) begin
+          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271193.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_120) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271200.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_120) begin
+          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271201.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_162) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271208.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_162) begin
+          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271209.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_125) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271217.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_125) begin
+          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271218.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_129) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271225.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_129) begin
+          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271226.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_186) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271246.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_186) begin
+          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271247.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271253.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271254.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271260.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_116) begin
+          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271261.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_196) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271268.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_196) begin
+          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271269.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271276.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_200) begin
+          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271277.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_129) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271284.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_129) begin
+          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271285.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_59 & _T_186) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271305.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_59 & _T_186) begin
+          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271306.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271312.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271313.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_59 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271319.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_59 & _T_116) begin
+          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271320.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_59 & _T_196) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271327.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_59 & _T_196) begin
+          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271328.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_59 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271335.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_59 & _T_200) begin
+          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271336.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_67 & _T_186) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271356.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_67 & _T_186) begin
+          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271357.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271363.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271364.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_67 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271370.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_67 & _T_116) begin
+          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271371.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_67 & _T_196) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271378.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_67 & _T_196) begin
+          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271379.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_67 & _T_264) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271388.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_67 & _T_264) begin
+          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271389.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271406.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_103) begin
+          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271407.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271413.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271414.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271420.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_116) begin
+          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271421.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_286) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271428.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_286) begin
+          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271429.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271436.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_200) begin
+          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271437.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_83 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271454.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_83 & _T_103) begin
+          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271455.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271461.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271462.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_83 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271468.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_83 & _T_116) begin
+          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271469.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_83 & _T_312) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271476.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_83 & _T_312) begin
+          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271477.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_83 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271484.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_83 & _T_200) begin
+          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271485.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_91 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271502.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_91 & _T_103) begin
+          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271503.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271509.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271510.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_91 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271516.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_91 & _T_116) begin
+          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271517.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_91 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271524.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_91 & _T_200) begin
+          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271525.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_91 & _T_129) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271532.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_91 & _T_129) begin
+          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271533.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_346) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@271543.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_346) begin
+          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@271544.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271564.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271565.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_99 & _T_370) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271572.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_99 & _T_370) begin
+          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271573.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271580.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271581.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271588.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271589.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271596.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271597.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271606.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271607.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_101 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271613.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_101 & _T_103) begin
+          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271614.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_101 & _T_370) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271621.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_101 & _T_370) begin
+          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271622.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271629.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271630.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271637.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271638.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271645.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271646.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271654.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271655.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271664.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271665.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271671.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_103) begin
+          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271672.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_370) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271679.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_370) begin
+          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271680.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271687.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271688.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271695.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271696.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271704.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271705.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271713.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271714.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271723.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271724.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271731.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271732.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271739.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271740.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271748.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271749.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271758.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271759.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271766.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271767.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271775.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271776.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271784.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271785.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271794.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271795.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271802.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271803.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271810.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271811.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271819.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271820.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271829.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271830.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271837.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271838.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271845.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271846.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_541) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271885.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_541) begin
+          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271886.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_545) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271893.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_545) begin
+          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271894.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_549) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271901.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_549) begin
+          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271902.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_553) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271909.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_553) begin
+          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271910.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_557) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271917.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_557) begin
+          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271918.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_594 & _T_598) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271967.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_594 & _T_598) begin
+          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271968.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271975.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271976.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_594 & _T_606) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271983.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_594 & _T_606) begin
+          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271984.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_594 & _T_610) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271991.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_594 & _T_610) begin
+          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271992.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271999.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272000.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272007.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272008.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_669 & _T_677) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@272085.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_669 & _T_677) begin
+          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@272086.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_685 & _T_692) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@272108.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_685 & _T_692) begin
+          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@272109.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_706) begin
+          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@272129.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_706) begin
+          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@272130.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+endmodule
+module TLBuffer_25( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272142.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272143.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272144.4]
+  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272145.4]
+  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272145.4]
+  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272145.4]
+  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272145.4]
+  input  [1:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272145.4]
+  input  [5:0]  auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272145.4]
+  input  [28:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272145.4]
+  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272145.4]
+  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272145.4]
+  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272145.4]
+  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272145.4]
+  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272145.4]
+  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272145.4]
+  output [1:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272145.4]
+  output [5:0]  auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272145.4]
+  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272145.4]
+  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272145.4]
+  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272145.4]
+  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272145.4]
+  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272145.4]
+  output [1:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272145.4]
+  output [5:0]  auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272145.4]
+  output [28:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272145.4]
+  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272145.4]
+  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272145.4]
+  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272145.4]
+  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272145.4]
+  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272145.4]
+  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272145.4]
+  input  [1:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272145.4]
+  input  [5:0]  auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272145.4]
+  input  [31:0] auto_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272145.4]
+);
+  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@272152.4]
+  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@272152.4]
+  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@272152.4]
+  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@272152.4]
+  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@272152.4]
+  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@272152.4]
+  wire [1:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@272152.4]
+  wire [5:0] TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@272152.4]
+  wire [28:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@272152.4]
+  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@272152.4]
+  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@272152.4]
+  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@272152.4]
+  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@272152.4]
+  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@272152.4]
+  wire [1:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@272152.4]
+  wire [5:0] TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@272152.4]
+  TLMonitor_74 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@272152.4]
+    .clock(TLMonitor_clock),
+    .reset(TLMonitor_reset),
+    .io_in_a_ready(TLMonitor_io_in_a_ready),
+    .io_in_a_valid(TLMonitor_io_in_a_valid),
+    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
+    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
+    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
+    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
+    .io_in_d_ready(TLMonitor_io_in_d_ready),
+    .io_in_d_valid(TLMonitor_io_in_d_valid),
+    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
+    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
+    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source)
+  );
+  assign auto_in_a_ready = auto_out_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@272192.4]
+  assign auto_in_d_valid = auto_out_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@272192.4]
+  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@272192.4]
+  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@272192.4]
+  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@272192.4]
+  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@272192.4]
+  assign auto_out_a_valid = auto_in_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@272191.4]
+  assign auto_out_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@272191.4]
+  assign auto_out_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@272191.4]
+  assign auto_out_a_bits_size = auto_in_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@272191.4]
+  assign auto_out_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@272191.4]
+  assign auto_out_a_bits_address = auto_in_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@272191.4]
+  assign auto_out_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@272191.4]
+  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@272191.4]
+  assign auto_out_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@272191.4]
+  assign auto_out_d_ready = auto_in_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@272191.4]
+  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272154.4]
+  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272155.4]
+  assign TLMonitor_io_in_a_ready = auto_out_a_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@272188.4]
+  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@272188.4]
+  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@272188.4]
+  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@272188.4]
+  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@272188.4]
+  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@272188.4]
+  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@272188.4]
+  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@272188.4]
+  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@272188.4]
+  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@272188.4]
+  assign TLMonitor_io_in_d_valid = auto_out_d_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@272188.4]
+  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@272188.4]
+  assign TLMonitor_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@272188.4]
+  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@272188.4]
+endmodule
+module TLMonitor_75( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272263.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272264.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272265.4]
+  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272266.4]
+  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272266.4]
+  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272266.4]
+  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272266.4]
+  input  [1:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272266.4]
+  input  [5:0]  io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272266.4]
+  input  [28:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272266.4]
+  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272266.4]
+  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272266.4]
+  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272266.4]
+  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272266.4]
+  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272266.4]
+  input  [1:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272266.4]
+  input  [5:0]  io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272266.4]
+);
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@273393.4]
+  wire [4:0] _T_36; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@272293.6]
+  wire [1:0] _T_37; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@272294.6]
+  wire [1:0] _T_38; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@272295.6]
+  wire [28:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@272296.6]
+  wire [28:0] _T_39; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@272296.6]
+  wire  _T_40; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@272297.6]
+  wire  _T_42; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@272299.6]
+  wire [1:0] _T_43; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@272300.6]
+  wire [1:0] _T_45; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@272302.6]
+  wire  _T_46; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@272303.6]
+  wire  _T_47; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@272304.6]
+  wire  _T_48; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@272305.6]
+  wire  _T_49; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@272306.6]
+  wire  _T_51; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@272308.6]
+  wire  _T_52; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@272309.6]
+  wire  _T_54; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@272311.6]
+  wire  _T_55; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@272312.6]
+  wire  _T_56; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@272313.6]
+  wire  _T_57; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@272314.6]
+  wire  _T_58; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@272315.6]
+  wire  _T_59; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@272316.6]
+  wire  _T_60; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@272317.6]
+  wire  _T_61; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@272318.6]
+  wire  _T_62; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@272319.6]
+  wire  _T_63; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@272320.6]
+  wire  _T_64; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@272321.6]
+  wire  _T_65; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@272322.6]
+  wire  _T_66; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@272323.6]
+  wire  _T_67; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@272324.6]
+  wire  _T_68; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@272325.6]
+  wire  _T_69; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@272326.6]
+  wire  _T_70; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@272327.6]
+  wire [1:0] _T_71; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@272328.6]
+  wire [1:0] _T_72; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@272329.6]
+  wire [3:0] _T_73; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@272330.6]
+  wire  _T_92; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@272353.6]
+  wire [28:0] _T_94; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@272356.8]
+  wire [29:0] _T_95; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@272357.8]
+  wire [29:0] _T_96; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@272358.8]
+  wire [29:0] _T_97; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@272359.8]
+  wire  _T_98; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@272360.8]
+  wire  _T_103; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272365.8]
+  wire  _T_112; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272386.8]
+  wire  _T_113; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272387.8]
+  wire  _T_115; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272393.8]
+  wire  _T_116; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272394.8]
+  wire  _T_117; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@272399.8]
+  wire  _T_119; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272401.8]
+  wire  _T_120; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272402.8]
+  wire [3:0] _T_121; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@272407.8]
+  wire  _T_122; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@272408.8]
+  wire  _T_124; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272410.8]
+  wire  _T_125; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272411.8]
+  wire  _T_126; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@272416.8]
+  wire  _T_128; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272418.8]
+  wire  _T_129; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272419.8]
+  wire  _T_130; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@272425.6]
+  wire  _T_159; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@272479.8]
+  wire  _T_161; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272481.8]
+  wire  _T_162; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272482.8]
+  wire  _T_172; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@272505.6]
+  wire  _T_174; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@272508.8]
+  wire  _T_182; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@272516.8]
+  wire  _T_185; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272519.8]
+  wire  _T_186; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272520.8]
+  wire  _T_193; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@272539.8]
+  wire  _T_195; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272541.8]
+  wire  _T_196; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272542.8]
+  wire  _T_197; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@272547.8]
+  wire  _T_199; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272549.8]
+  wire  _T_200; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272550.8]
+  wire  _T_205; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@272564.6]
+  wire  _T_234; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@272615.6]
+  wire [3:0] _T_259; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@272657.8]
+  wire [3:0] _T_260; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@272658.8]
+  wire  _T_261; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@272659.8]
+  wire  _T_263; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272661.8]
+  wire  _T_264; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272662.8]
+  wire  _T_265; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@272668.6]
+  wire  _T_283; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@272699.8]
+  wire  _T_285; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272701.8]
+  wire  _T_286; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272702.8]
+  wire  _T_291; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@272716.6]
+  wire  _T_309; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@272747.8]
+  wire  _T_311; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272749.8]
+  wire  _T_312; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272750.8]
+  wire  _T_317; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@272764.6]
+  wire  _T_343; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@272814.6]
+  wire  _T_345; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@272816.6]
+  wire  _T_346; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@272817.6]
+  wire  _T_363; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@272834.6]
+  wire  _T_367; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@272843.8]
+  wire  _T_369; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272845.8]
+  wire  _T_370; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272846.8]
+  wire  _T_383; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@272876.6]
+  wire  _T_411; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@272934.6]
+  wire  _T_504; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@273124.4]
+  reg  _T_514; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@273133.4]
+  reg [31:0] _RAND_0;
+  wire [1:0] _T_515; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@273134.4]
+  wire [1:0] _T_516; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@273135.4]
+  wire  _T_517; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@273136.4]
+  wire  _T_518; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@273137.4]
+  reg [2:0] _T_527; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@273148.4]
+  reg [31:0] _RAND_1;
+  reg [2:0] _T_529; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@273149.4]
+  reg [31:0] _RAND_2;
+  reg [1:0] _T_531; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@273150.4]
+  reg [31:0] _RAND_3;
+  reg [5:0] _T_533; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@273151.4]
+  reg [31:0] _RAND_4;
+  reg [28:0] _T_535; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@273152.4]
+  reg [31:0] _RAND_5;
+  wire  _T_536; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@273153.4]
+  wire  _T_537; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@273154.4]
+  wire  _T_538; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@273156.6]
+  wire  _T_540; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273158.6]
+  wire  _T_541; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273159.6]
+  wire  _T_542; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@273164.6]
+  wire  _T_544; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273166.6]
+  wire  _T_545; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273167.6]
+  wire  _T_546; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@273172.6]
+  wire  _T_548; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273174.6]
+  wire  _T_549; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273175.6]
+  wire  _T_550; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@273180.6]
+  wire  _T_552; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273182.6]
+  wire  _T_553; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273183.6]
+  wire  _T_554; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@273188.6]
+  wire  _T_556; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273190.6]
+  wire  _T_557; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273191.6]
+  wire  _T_559; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@273198.4]
+  wire  _T_560; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@273206.4]
+  reg  _T_569; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@273214.4]
+  reg [31:0] _RAND_6;
+  wire [1:0] _T_570; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@273215.4]
+  wire [1:0] _T_571; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@273216.4]
+  wire  _T_572; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@273217.4]
+  wire  _T_573; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@273218.4]
+  reg [2:0] _T_582; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@273229.4]
+  reg [31:0] _RAND_7;
+  reg [1:0] _T_586; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@273231.4]
+  reg [31:0] _RAND_8;
+  reg [5:0] _T_588; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@273232.4]
+  reg [31:0] _RAND_9;
+  wire  _T_593; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@273235.4]
+  wire  _T_594; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@273236.4]
+  wire  _T_595; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@273238.6]
+  wire  _T_597; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273240.6]
+  wire  _T_598; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273241.6]
+  wire  _T_603; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@273254.6]
+  wire  _T_605; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273256.6]
+  wire  _T_606; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273257.6]
+  wire  _T_607; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@273262.6]
+  wire  _T_609; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273264.6]
+  wire  _T_610; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273265.6]
+  wire  _T_620; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@273288.4]
+  reg [63:0] _T_622; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@273297.4]
+  reg [63:0] _RAND_10;
+  reg  _T_633; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@273307.4]
+  reg [31:0] _RAND_11;
+  wire [1:0] _T_634; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@273308.4]
+  wire [1:0] _T_635; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@273309.4]
+  wire  _T_636; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@273310.4]
+  wire  _T_637; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@273311.4]
+  reg  _T_654; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@273330.4]
+  reg [31:0] _RAND_12;
+  wire [1:0] _T_655; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@273331.4]
+  wire [1:0] _T_656; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@273332.4]
+  wire  _T_657; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@273333.4]
+  wire  _T_658; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@273334.4]
+  wire  _T_669; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@273349.4]
+  wire [63:0] _T_671; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@273352.6]
+  wire [63:0] _T_672; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@273354.6]
+  wire  _T_673; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@273355.6]
+  wire  _T_674; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273356.6]
+  wire  _T_676; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@273358.6]
+  wire  _T_677; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@273359.6]
+  wire [63:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@273351.4]
+  wire  _T_682; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@273370.4]
+  wire  _T_684; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@273372.4]
+  wire  _T_685; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@273373.4]
+  wire [63:0] _T_686; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@273375.6]
+  wire [63:0] _T_687; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@273377.6]
+  wire [63:0] _T_688; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@273378.6]
+  wire  _T_689; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@273379.6]
+  wire  _T_691; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@273381.6]
+  wire  _T_692; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@273382.6]
+  wire [63:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@273374.4]
+  wire [63:0] _T_693; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@273388.4]
+  wire [63:0] _T_694; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@273389.4]
+  wire [63:0] _T_695; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@273390.4]
+  reg [31:0] _T_697; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@273392.4]
+  reg [31:0] _RAND_13;
+  wire  _T_698; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@273395.4]
+  wire  _T_699; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@273396.4]
+  wire  _T_700; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@273397.4]
+  wire  _T_701; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@273398.4]
+  wire  _T_702; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@273399.4]
+  wire  _T_703; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@273400.4]
+  wire  _T_705; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@273402.4]
+  wire  _T_706; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@273403.4]
+  wire [31:0] _T_708; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@273409.4]
+  wire  _T_711; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@273413.4]
+  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272367.10]
+  wire  _GEN_33; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272439.10]
+  wire  _GEN_49; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272522.10]
+  wire  _GEN_59; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272581.10]
+  wire  _GEN_67; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272632.10]
+  wire  _GEN_75; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272682.10]
+  wire  _GEN_83; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272730.10]
+  wire  _GEN_91; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272778.10]
+  wire  _GEN_99; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272848.10]
+  wire  _GEN_101; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272889.10]
+  wire  _GEN_105; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272947.10]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@273393.4]
+    .out(plusarg_reader_out)
+  );
+  assign _T_36 = 5'h3 << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@272293.6]
+  assign _T_37 = _T_36[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@272294.6]
+  assign _T_38 = ~ _T_37; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@272295.6]
+  assign _GEN_18 = {{27'd0}, _T_38}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@272296.6]
+  assign _T_39 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@272296.6]
+  assign _T_40 = _T_39 == 29'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@272297.6]
+  assign _T_42 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@272299.6]
+  assign _T_43 = 2'h1 << _T_42; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@272300.6]
+  assign _T_45 = _T_43 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@272302.6]
+  assign _T_46 = io_in_a_bits_size >= 2'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@272303.6]
+  assign _T_47 = _T_45[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@272304.6]
+  assign _T_48 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@272305.6]
+  assign _T_49 = _T_48 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@272306.6]
+  assign _T_51 = _T_47 & _T_49; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@272308.6]
+  assign _T_52 = _T_46 | _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@272309.6]
+  assign _T_54 = _T_47 & _T_48; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@272311.6]
+  assign _T_55 = _T_46 | _T_54; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@272312.6]
+  assign _T_56 = _T_45[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@272313.6]
+  assign _T_57 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@272314.6]
+  assign _T_58 = _T_57 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@272315.6]
+  assign _T_59 = _T_49 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@272316.6]
+  assign _T_60 = _T_56 & _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@272317.6]
+  assign _T_61 = _T_52 | _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@272318.6]
+  assign _T_62 = _T_49 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@272319.6]
+  assign _T_63 = _T_56 & _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@272320.6]
+  assign _T_64 = _T_52 | _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@272321.6]
+  assign _T_65 = _T_48 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@272322.6]
+  assign _T_66 = _T_56 & _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@272323.6]
+  assign _T_67 = _T_55 | _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@272324.6]
+  assign _T_68 = _T_48 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@272325.6]
+  assign _T_69 = _T_56 & _T_68; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@272326.6]
+  assign _T_70 = _T_55 | _T_69; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@272327.6]
+  assign _T_71 = {_T_64,_T_61}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@272328.6]
+  assign _T_72 = {_T_70,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@272329.6]
+  assign _T_73 = {_T_72,_T_71}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@272330.6]
+  assign _T_92 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@272353.6]
+  assign _T_94 = io_in_a_bits_address ^ 29'h10034000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@272356.8]
+  assign _T_95 = {1'b0,$signed(_T_94)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@272357.8]
+  assign _T_96 = $signed(_T_95) & $signed(-30'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@272358.8]
+  assign _T_97 = $signed(_T_96); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@272359.8]
+  assign _T_98 = $signed(_T_97) == $signed(30'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@272360.8]
+  assign _T_103 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272365.8]
+  assign _T_112 = _T_46 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272386.8]
+  assign _T_113 = _T_112 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272387.8]
+  assign _T_115 = _T_40 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272393.8]
+  assign _T_116 = _T_115 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272394.8]
+  assign _T_117 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@272399.8]
+  assign _T_119 = _T_117 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272401.8]
+  assign _T_120 = _T_119 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272402.8]
+  assign _T_121 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@272407.8]
+  assign _T_122 = _T_121 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@272408.8]
+  assign _T_124 = _T_122 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272410.8]
+  assign _T_125 = _T_124 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272411.8]
+  assign _T_126 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@272416.8]
+  assign _T_128 = _T_126 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272418.8]
+  assign _T_129 = _T_128 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272419.8]
+  assign _T_130 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@272425.6]
+  assign _T_159 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@272479.8]
+  assign _T_161 = _T_159 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272481.8]
+  assign _T_162 = _T_161 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272482.8]
+  assign _T_172 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@272505.6]
+  assign _T_174 = io_in_a_bits_size <= 2'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@272508.8]
+  assign _T_182 = _T_174 & _T_98; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@272516.8]
+  assign _T_185 = _T_182 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272519.8]
+  assign _T_186 = _T_185 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272520.8]
+  assign _T_193 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@272539.8]
+  assign _T_195 = _T_193 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272541.8]
+  assign _T_196 = _T_195 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272542.8]
+  assign _T_197 = io_in_a_bits_mask == _T_73; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@272547.8]
+  assign _T_199 = _T_197 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272549.8]
+  assign _T_200 = _T_199 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272550.8]
+  assign _T_205 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@272564.6]
+  assign _T_234 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@272615.6]
+  assign _T_259 = ~ _T_73; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@272657.8]
+  assign _T_260 = io_in_a_bits_mask & _T_259; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@272658.8]
+  assign _T_261 = _T_260 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@272659.8]
+  assign _T_263 = _T_261 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272661.8]
+  assign _T_264 = _T_263 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272662.8]
+  assign _T_265 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@272668.6]
+  assign _T_283 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@272699.8]
+  assign _T_285 = _T_283 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272701.8]
+  assign _T_286 = _T_285 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272702.8]
+  assign _T_291 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@272716.6]
+  assign _T_309 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@272747.8]
+  assign _T_311 = _T_309 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272749.8]
+  assign _T_312 = _T_311 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272750.8]
+  assign _T_317 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@272764.6]
+  assign _T_343 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@272814.6]
+  assign _T_345 = _T_343 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@272816.6]
+  assign _T_346 = _T_345 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@272817.6]
+  assign _T_363 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@272834.6]
+  assign _T_367 = io_in_d_bits_size >= 2'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@272843.8]
+  assign _T_369 = _T_367 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272845.8]
+  assign _T_370 = _T_369 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272846.8]
+  assign _T_383 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@272876.6]
+  assign _T_411 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@272934.6]
+  assign _T_504 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@273124.4]
+  assign _T_515 = _T_514 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@273134.4]
+  assign _T_516 = $unsigned(_T_515); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@273135.4]
+  assign _T_517 = _T_516[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@273136.4]
+  assign _T_518 = _T_514 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@273137.4]
+  assign _T_536 = _T_518 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@273153.4]
+  assign _T_537 = io_in_a_valid & _T_536; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@273154.4]
+  assign _T_538 = io_in_a_bits_opcode == _T_527; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@273156.6]
+  assign _T_540 = _T_538 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273158.6]
+  assign _T_541 = _T_540 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273159.6]
+  assign _T_542 = io_in_a_bits_param == _T_529; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@273164.6]
+  assign _T_544 = _T_542 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273166.6]
+  assign _T_545 = _T_544 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273167.6]
+  assign _T_546 = io_in_a_bits_size == _T_531; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@273172.6]
+  assign _T_548 = _T_546 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273174.6]
+  assign _T_549 = _T_548 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273175.6]
+  assign _T_550 = io_in_a_bits_source == _T_533; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@273180.6]
+  assign _T_552 = _T_550 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273182.6]
+  assign _T_553 = _T_552 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273183.6]
+  assign _T_554 = io_in_a_bits_address == _T_535; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@273188.6]
+  assign _T_556 = _T_554 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273190.6]
+  assign _T_557 = _T_556 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273191.6]
+  assign _T_559 = _T_504 & _T_518; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@273198.4]
+  assign _T_560 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@273206.4]
+  assign _T_570 = _T_569 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@273215.4]
+  assign _T_571 = $unsigned(_T_570); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@273216.4]
+  assign _T_572 = _T_571[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@273217.4]
+  assign _T_573 = _T_569 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@273218.4]
+  assign _T_593 = _T_573 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@273235.4]
+  assign _T_594 = io_in_d_valid & _T_593; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@273236.4]
+  assign _T_595 = io_in_d_bits_opcode == _T_582; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@273238.6]
+  assign _T_597 = _T_595 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273240.6]
+  assign _T_598 = _T_597 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273241.6]
+  assign _T_603 = io_in_d_bits_size == _T_586; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@273254.6]
+  assign _T_605 = _T_603 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273256.6]
+  assign _T_606 = _T_605 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273257.6]
+  assign _T_607 = io_in_d_bits_source == _T_588; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@273262.6]
+  assign _T_609 = _T_607 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273264.6]
+  assign _T_610 = _T_609 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273265.6]
+  assign _T_620 = _T_560 & _T_573; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@273288.4]
+  assign _T_634 = _T_633 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@273308.4]
+  assign _T_635 = $unsigned(_T_634); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@273309.4]
+  assign _T_636 = _T_635[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@273310.4]
+  assign _T_637 = _T_633 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@273311.4]
+  assign _T_655 = _T_654 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@273331.4]
+  assign _T_656 = $unsigned(_T_655); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@273332.4]
+  assign _T_657 = _T_656[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@273333.4]
+  assign _T_658 = _T_654 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@273334.4]
+  assign _T_669 = _T_504 & _T_637; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@273349.4]
+  assign _T_671 = 64'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@273352.6]
+  assign _T_672 = _T_622 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@273354.6]
+  assign _T_673 = _T_672[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@273355.6]
+  assign _T_674 = _T_673 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273356.6]
+  assign _T_676 = _T_674 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@273358.6]
+  assign _T_677 = _T_676 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@273359.6]
+  assign _GEN_15 = _T_669 ? _T_671 : 64'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@273351.4]
+  assign _T_682 = _T_560 & _T_658; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@273370.4]
+  assign _T_684 = _T_363 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@273372.4]
+  assign _T_685 = _T_682 & _T_684; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@273373.4]
+  assign _T_686 = 64'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@273375.6]
+  assign _T_687 = _GEN_15 | _T_622; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@273377.6]
+  assign _T_688 = _T_687 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@273378.6]
+  assign _T_689 = _T_688[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@273379.6]
+  assign _T_691 = _T_689 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@273381.6]
+  assign _T_692 = _T_691 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@273382.6]
+  assign _GEN_16 = _T_685 ? _T_686 : 64'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@273374.4]
+  assign _T_693 = _T_622 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@273388.4]
+  assign _T_694 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@273389.4]
+  assign _T_695 = _T_693 & _T_694; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@273390.4]
+  assign _T_698 = _T_622 != 64'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@273395.4]
+  assign _T_699 = _T_698 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@273396.4]
+  assign _T_700 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@273397.4]
+  assign _T_701 = _T_699 | _T_700; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@273398.4]
+  assign _T_702 = _T_697 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@273399.4]
+  assign _T_703 = _T_701 | _T_702; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@273400.4]
+  assign _T_705 = _T_703 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@273402.4]
+  assign _T_706 = _T_705 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@273403.4]
+  assign _T_708 = _T_697 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@273409.4]
+  assign _T_711 = _T_504 | _T_560; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@273413.4]
+  assign _GEN_19 = io_in_a_valid & _T_92; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272367.10]
+  assign _GEN_33 = io_in_a_valid & _T_130; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272439.10]
+  assign _GEN_49 = io_in_a_valid & _T_172; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272522.10]
+  assign _GEN_59 = io_in_a_valid & _T_205; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272581.10]
+  assign _GEN_67 = io_in_a_valid & _T_234; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272632.10]
+  assign _GEN_75 = io_in_a_valid & _T_265; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272682.10]
+  assign _GEN_83 = io_in_a_valid & _T_291; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272730.10]
+  assign _GEN_91 = io_in_a_valid & _T_317; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272778.10]
+  assign _GEN_99 = io_in_d_valid & _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272848.10]
+  assign _GEN_101 = io_in_d_valid & _T_383; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272889.10]
+  assign _GEN_105 = io_in_d_valid & _T_411; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272947.10]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  _T_514 = _RAND_0[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  _T_527 = _RAND_1[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  _T_529 = _RAND_2[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  _T_531 = _RAND_3[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  _T_533 = _RAND_4[5:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  _T_535 = _RAND_5[28:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {1{`RANDOM}};
+  _T_569 = _RAND_6[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {1{`RANDOM}};
+  _T_582 = _RAND_7[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_8 = {1{`RANDOM}};
+  _T_586 = _RAND_8[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_9 = {1{`RANDOM}};
+  _T_588 = _RAND_9[5:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_10 = {2{`RANDOM}};
+  _T_622 = _RAND_10[63:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_11 = {1{`RANDOM}};
+  _T_633 = _RAND_11[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_12 = {1{`RANDOM}};
+  _T_654 = _RAND_12[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_13 = {1{`RANDOM}};
+  _T_697 = _RAND_13[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      _T_514 <= 1'h0;
+    end else begin
+      if (_T_504) begin
+        if (_T_518) begin
+          _T_514 <= 1'h0;
+        end else begin
+          _T_514 <= _T_517;
+        end
+      end
+    end
+    if (_T_559) begin
+      _T_527 <= io_in_a_bits_opcode;
+    end
+    if (_T_559) begin
+      _T_529 <= io_in_a_bits_param;
+    end
+    if (_T_559) begin
+      _T_531 <= io_in_a_bits_size;
+    end
+    if (_T_559) begin
+      _T_533 <= io_in_a_bits_source;
+    end
+    if (_T_559) begin
+      _T_535 <= io_in_a_bits_address;
+    end
+    if (reset) begin
+      _T_569 <= 1'h0;
+    end else begin
+      if (_T_560) begin
+        if (_T_573) begin
+          _T_569 <= 1'h0;
+        end else begin
+          _T_569 <= _T_572;
+        end
+      end
+    end
+    if (_T_620) begin
+      _T_582 <= io_in_d_bits_opcode;
+    end
+    if (_T_620) begin
+      _T_586 <= io_in_d_bits_size;
+    end
+    if (_T_620) begin
+      _T_588 <= io_in_d_bits_source;
+    end
+    if (reset) begin
+      _T_622 <= 64'h0;
+    end else begin
+      _T_622 <= _T_695;
+    end
+    if (reset) begin
+      _T_633 <= 1'h0;
+    end else begin
+      if (_T_504) begin
+        if (_T_637) begin
+          _T_633 <= 1'h0;
+        end else begin
+          _T_633 <= _T_636;
+        end
+      end
+    end
+    if (reset) begin
+      _T_654 <= 1'h0;
+    end else begin
+      if (_T_560) begin
+        if (_T_658) begin
+          _T_654 <= 1'h0;
+        end else begin
+          _T_654 <= _T_657;
+        end
+      end
+    end
+    if (reset) begin
+      _T_697 <= 32'h0;
+    end else begin
+      if (_T_711) begin
+        _T_697 <= 32'h0;
+      end else begin
+        _T_697 <= _T_708;
+      end
+    end
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@272278.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@272279.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@272350.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@272351.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272367.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_103) begin
+          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272368.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272374.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_103) begin
+          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272375.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272381.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272382.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_113) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272389.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_113) begin
+          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272390.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272396.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_116) begin
+          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272397.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_120) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272404.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_120) begin
+          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272405.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_125) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272413.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_125) begin
+          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272414.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_129) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272421.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_129) begin
+          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272422.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272439.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_103) begin
+          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272440.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272446.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_103) begin
+          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272447.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272453.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272454.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_113) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272461.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_113) begin
+          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272462.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272468.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_116) begin
+          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272469.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_120) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272476.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_120) begin
+          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272477.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_162) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272484.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_162) begin
+          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272485.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_125) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272493.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_125) begin
+          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272494.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_129) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272501.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_129) begin
+          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272502.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_186) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272522.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_186) begin
+          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272523.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272529.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272530.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272536.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_116) begin
+          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272537.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_196) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272544.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_196) begin
+          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272545.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272552.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_200) begin
+          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272553.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_129) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272560.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_129) begin
+          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272561.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_59 & _T_186) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272581.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_59 & _T_186) begin
+          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272582.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272588.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272589.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_59 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272595.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_59 & _T_116) begin
+          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272596.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_59 & _T_196) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272603.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_59 & _T_196) begin
+          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272604.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_59 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272611.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_59 & _T_200) begin
+          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272612.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_67 & _T_186) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272632.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_67 & _T_186) begin
+          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272633.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272639.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272640.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_67 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272646.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_67 & _T_116) begin
+          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272647.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_67 & _T_196) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272654.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_67 & _T_196) begin
+          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272655.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_67 & _T_264) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272664.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_67 & _T_264) begin
+          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272665.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272682.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_103) begin
+          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272683.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272689.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272690.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272696.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_116) begin
+          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272697.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_286) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272704.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_286) begin
+          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272705.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272712.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_200) begin
+          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272713.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_83 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272730.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_83 & _T_103) begin
+          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272731.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272737.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272738.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_83 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272744.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_83 & _T_116) begin
+          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272745.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_83 & _T_312) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272752.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_83 & _T_312) begin
+          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272753.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_83 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272760.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_83 & _T_200) begin
+          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272761.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_91 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272778.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_91 & _T_103) begin
+          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272779.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272785.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272786.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_91 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272792.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_91 & _T_116) begin
+          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272793.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_91 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272800.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_91 & _T_200) begin
+          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272801.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_91 & _T_129) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272808.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_91 & _T_129) begin
+          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272809.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_346) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@272819.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_346) begin
+          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@272820.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272840.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272841.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_99 & _T_370) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272848.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_99 & _T_370) begin
+          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272849.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272856.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272857.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272864.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272865.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272872.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272873.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272882.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272883.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_101 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272889.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_101 & _T_103) begin
+          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272890.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_101 & _T_370) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272897.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_101 & _T_370) begin
+          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272898.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272905.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272906.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272913.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272914.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272921.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272922.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272930.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272931.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272940.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272941.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272947.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_103) begin
+          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272948.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_370) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272955.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_370) begin
+          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272956.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272963.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272964.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272971.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272972.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272980.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272981.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272989.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272990.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272999.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273000.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273007.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273008.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273015.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273016.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273024.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273025.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273034.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273035.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273042.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273043.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273051.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273052.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273060.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273061.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273070.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273071.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273078.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273079.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273086.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273087.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273095.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273096.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273105.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273106.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273113.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273114.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273121.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273122.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_541) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273161.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_541) begin
+          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273162.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_545) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273169.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_545) begin
+          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273170.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_549) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273177.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_549) begin
+          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273178.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_553) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273185.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_553) begin
+          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273186.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_557) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273193.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_557) begin
+          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273194.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_594 & _T_598) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273243.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_594 & _T_598) begin
+          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273244.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273251.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273252.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_594 & _T_606) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273259.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_594 & _T_606) begin
+          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273260.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_594 & _T_610) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273267.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_594 & _T_610) begin
+          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273268.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273275.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273276.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273283.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273284.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_669 & _T_677) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@273361.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_669 & _T_677) begin
+          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@273362.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_685 & _T_692) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@273384.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_685 & _T_692) begin
+          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@273385.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_706) begin
+          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@273405.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_706) begin
+          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@273406.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+endmodule
+module TLSPI_1( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@274003.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@274004.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@274005.4]
+  output        auto_int_xing_out_sync_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@274006.4]
+  output        auto_control_xing_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@274006.4]
+  input         auto_control_xing_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@274006.4]
+  input  [2:0]  auto_control_xing_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@274006.4]
+  input  [2:0]  auto_control_xing_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@274006.4]
+  input  [1:0]  auto_control_xing_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@274006.4]
+  input  [5:0]  auto_control_xing_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@274006.4]
+  input  [28:0] auto_control_xing_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@274006.4]
+  input  [3:0]  auto_control_xing_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@274006.4]
+  input  [31:0] auto_control_xing_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@274006.4]
+  input         auto_control_xing_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@274006.4]
+  input         auto_control_xing_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@274006.4]
+  output        auto_control_xing_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@274006.4]
+  output [2:0]  auto_control_xing_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@274006.4]
+  output [1:0]  auto_control_xing_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@274006.4]
+  output [5:0]  auto_control_xing_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@274006.4]
+  output [31:0] auto_control_xing_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@274006.4]
+  output        auto_io_out_sck, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@274006.4]
+  input         auto_io_out_dq_0_i, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@274006.4]
+  output        auto_io_out_dq_0_o, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@274006.4]
+  output        auto_io_out_dq_0_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@274006.4]
+  input         auto_io_out_dq_1_i, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@274006.4]
+  output        auto_io_out_dq_1_o, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@274006.4]
+  output        auto_io_out_dq_1_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@274006.4]
+  input         auto_io_out_dq_2_i, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@274006.4]
+  output        auto_io_out_dq_2_o, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@274006.4]
+  output        auto_io_out_dq_2_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@274006.4]
+  input         auto_io_out_dq_3_i, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@274006.4]
+  output        auto_io_out_dq_3_o, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@274006.4]
+  output        auto_io_out_dq_3_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@274006.4]
+  output        auto_io_out_cs_0 // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@274006.4]
+);
+  wire  buffer_clock; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@274011.4]
+  wire  buffer_reset; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@274011.4]
+  wire  buffer_auto_in_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@274011.4]
+  wire  buffer_auto_in_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@274011.4]
+  wire [2:0] buffer_auto_in_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@274011.4]
+  wire [2:0] buffer_auto_in_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@274011.4]
+  wire [1:0] buffer_auto_in_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@274011.4]
+  wire [5:0] buffer_auto_in_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@274011.4]
+  wire [28:0] buffer_auto_in_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@274011.4]
+  wire [3:0] buffer_auto_in_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@274011.4]
+  wire [31:0] buffer_auto_in_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@274011.4]
+  wire  buffer_auto_in_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@274011.4]
+  wire  buffer_auto_in_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@274011.4]
+  wire  buffer_auto_in_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@274011.4]
+  wire [2:0] buffer_auto_in_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@274011.4]
+  wire [1:0] buffer_auto_in_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@274011.4]
+  wire [5:0] buffer_auto_in_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@274011.4]
+  wire [31:0] buffer_auto_in_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@274011.4]
+  wire  buffer_auto_out_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@274011.4]
+  wire  buffer_auto_out_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@274011.4]
+  wire [2:0] buffer_auto_out_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@274011.4]
+  wire [2:0] buffer_auto_out_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@274011.4]
+  wire [1:0] buffer_auto_out_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@274011.4]
+  wire [5:0] buffer_auto_out_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@274011.4]
+  wire [28:0] buffer_auto_out_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@274011.4]
+  wire [3:0] buffer_auto_out_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@274011.4]
+  wire [31:0] buffer_auto_out_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@274011.4]
+  wire  buffer_auto_out_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@274011.4]
+  wire  buffer_auto_out_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@274011.4]
+  wire  buffer_auto_out_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@274011.4]
+  wire [2:0] buffer_auto_out_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@274011.4]
+  wire [1:0] buffer_auto_out_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@274011.4]
+  wire [5:0] buffer_auto_out_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@274011.4]
+  wire [31:0] buffer_auto_out_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@274011.4]
+  wire  intsource_clock; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@274017.4]
+  wire  intsource_reset; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@274017.4]
+  wire  intsource_auto_in_0; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@274017.4]
+  wire  intsource_auto_out_sync_0; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@274017.4]
+  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@274029.4]
+  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@274029.4]
+  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@274029.4]
+  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@274029.4]
+  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@274029.4]
+  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@274029.4]
+  wire [1:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@274029.4]
+  wire [5:0] TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@274029.4]
+  wire [28:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@274029.4]
+  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@274029.4]
+  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@274029.4]
+  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@274029.4]
+  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@274029.4]
+  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@274029.4]
+  wire [1:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@274029.4]
+  wire [5:0] TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@274029.4]
+  wire  fifo_clock; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@274105.4]
+  wire  fifo_reset; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@274105.4]
+  wire [1:0] fifo_io_ctrl_fmt_proto; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@274105.4]
+  wire  fifo_io_ctrl_fmt_endian; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@274105.4]
+  wire  fifo_io_ctrl_fmt_iodir; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@274105.4]
+  wire [3:0] fifo_io_ctrl_fmt_len; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@274105.4]
+  wire [1:0] fifo_io_ctrl_cs_mode; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@274105.4]
+  wire [3:0] fifo_io_ctrl_wm_tx; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@274105.4]
+  wire [3:0] fifo_io_ctrl_wm_rx; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@274105.4]
+  wire  fifo_io_link_tx_ready; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@274105.4]
+  wire  fifo_io_link_tx_valid; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@274105.4]
+  wire [7:0] fifo_io_link_tx_bits; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@274105.4]
+  wire  fifo_io_link_rx_valid; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@274105.4]
+  wire [7:0] fifo_io_link_rx_bits; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@274105.4]
+  wire [7:0] fifo_io_link_cnt; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@274105.4]
+  wire [1:0] fifo_io_link_fmt_proto; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@274105.4]
+  wire  fifo_io_link_fmt_endian; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@274105.4]
+  wire  fifo_io_link_fmt_iodir; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@274105.4]
+  wire  fifo_io_link_cs_set; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@274105.4]
+  wire  fifo_io_link_cs_clear; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@274105.4]
+  wire  fifo_io_link_lock; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@274105.4]
+  wire  fifo_io_tx_ready; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@274105.4]
+  wire  fifo_io_tx_valid; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@274105.4]
+  wire [7:0] fifo_io_tx_bits; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@274105.4]
+  wire  fifo_io_rx_ready; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@274105.4]
+  wire  fifo_io_rx_valid; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@274105.4]
+  wire [7:0] fifo_io_rx_bits; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@274105.4]
+  wire  fifo_io_ip_txwm; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@274105.4]
+  wire  fifo_io_ip_rxwm; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@274105.4]
+  wire  mac_clock; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274109.4]
+  wire  mac_reset; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274109.4]
+  wire  mac_io_port_sck; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274109.4]
+  wire  mac_io_port_dq_0_i; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274109.4]
+  wire  mac_io_port_dq_0_o; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274109.4]
+  wire  mac_io_port_dq_0_oe; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274109.4]
+  wire  mac_io_port_dq_1_i; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274109.4]
+  wire  mac_io_port_dq_1_o; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274109.4]
+  wire  mac_io_port_dq_1_oe; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274109.4]
+  wire  mac_io_port_dq_2_i; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274109.4]
+  wire  mac_io_port_dq_2_o; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274109.4]
+  wire  mac_io_port_dq_2_oe; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274109.4]
+  wire  mac_io_port_dq_3_i; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274109.4]
+  wire  mac_io_port_dq_3_o; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274109.4]
+  wire  mac_io_port_dq_3_oe; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274109.4]
+  wire  mac_io_port_cs_0; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274109.4]
+  wire [11:0] mac_io_ctrl_sck_div; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274109.4]
+  wire  mac_io_ctrl_sck_pol; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274109.4]
+  wire  mac_io_ctrl_sck_pha; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274109.4]
+  wire [7:0] mac_io_ctrl_dla_cssck; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274109.4]
+  wire [7:0] mac_io_ctrl_dla_sckcs; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274109.4]
+  wire [7:0] mac_io_ctrl_dla_intercs; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274109.4]
+  wire [7:0] mac_io_ctrl_dla_interxfr; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274109.4]
+  wire  mac_io_ctrl_cs_id; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274109.4]
+  wire  mac_io_ctrl_cs_dflt_0; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274109.4]
+  wire [11:0] mac_io_ctrl_extradel_coarse; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274109.4]
+  wire [4:0] mac_io_ctrl_sampledel_sd; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274109.4]
+  wire  mac_io_link_tx_ready; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274109.4]
+  wire  mac_io_link_tx_valid; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274109.4]
+  wire [7:0] mac_io_link_tx_bits; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274109.4]
+  wire  mac_io_link_rx_valid; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274109.4]
+  wire [7:0] mac_io_link_rx_bits; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274109.4]
+  wire [7:0] mac_io_link_cnt; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274109.4]
+  wire [1:0] mac_io_link_fmt_proto; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274109.4]
+  wire  mac_io_link_fmt_endian; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274109.4]
+  wire  mac_io_link_fmt_iodir; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274109.4]
+  wire  mac_io_link_cs_set; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274109.4]
+  wire  mac_io_link_cs_clear; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274109.4]
+  wire  mac_io_link_cs_hold; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274109.4]
+  wire  mac_io_link_active; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274109.4]
+  reg [1:0] ctrl_fmt_proto; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@274104.4]
+  reg [31:0] _RAND_0;
+  reg  ctrl_fmt_endian; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@274104.4]
+  reg [31:0] _RAND_1;
+  reg  ctrl_fmt_iodir; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@274104.4]
+  reg [31:0] _RAND_2;
+  reg [3:0] ctrl_fmt_len; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@274104.4]
+  reg [31:0] _RAND_3;
+  reg [11:0] ctrl_sck_div; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@274104.4]
+  reg [31:0] _RAND_4;
+  reg  ctrl_sck_pol; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@274104.4]
+  reg [31:0] _RAND_5;
+  reg  ctrl_sck_pha; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@274104.4]
+  reg [31:0] _RAND_6;
+  reg  ctrl_cs_id; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@274104.4]
+  reg [31:0] _RAND_7;
+  reg  ctrl_cs_dflt_0; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@274104.4]
+  reg [31:0] _RAND_8;
+  reg [1:0] ctrl_cs_mode; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@274104.4]
+  reg [31:0] _RAND_9;
+  reg [7:0] ctrl_dla_cssck; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@274104.4]
+  reg [31:0] _RAND_10;
+  reg [7:0] ctrl_dla_sckcs; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@274104.4]
+  reg [31:0] _RAND_11;
+  reg [7:0] ctrl_dla_intercs; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@274104.4]
+  reg [31:0] _RAND_12;
+  reg [7:0] ctrl_dla_interxfr; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@274104.4]
+  reg [31:0] _RAND_13;
+  reg [3:0] ctrl_wm_tx; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@274104.4]
+  reg [31:0] _RAND_14;
+  reg [3:0] ctrl_wm_rx; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@274104.4]
+  reg [31:0] _RAND_15;
+  reg [11:0] ctrl_extradel_coarse; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@274104.4]
+  reg [31:0] _RAND_16;
+  reg [4:0] ctrl_sampledel_sd; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@274104.4]
+  reg [31:0] _RAND_17;
+  reg  ie_txwm; // @[TLSPI.scala 76:15:shc.marmotcaravel.MarmotCaravelConfig.fir@274131.4]
+  reg [31:0] _RAND_18;
+  reg  ie_rxwm; // @[TLSPI.scala 76:15:shc.marmotcaravel.MarmotCaravelConfig.fir@274131.4]
+  reg [31:0] _RAND_19;
+  wire  _T_410; // @[TLSPI.scala 78:35:shc.marmotcaravel.MarmotCaravelConfig.fir@274132.4]
+  wire  _T_411; // @[TLSPI.scala 78:59:shc.marmotcaravel.MarmotCaravelConfig.fir@274133.4]
+  wire  _T_415; // @[RegMapFIFO.scala 24:9:shc.marmotcaravel.MarmotCaravelConfig.fir@274138.4]
+  wire  _T_416; // @[RegMapFIFO.scala 45:21:shc.marmotcaravel.MarmotCaravelConfig.fir@274139.4]
+  wire [2:0] _T_108_a_bits_opcode; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@274027.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@274077.4]
+  wire  _T_424; // @[RegisterRouter.scala 58:36:shc.marmotcaravel.MarmotCaravelConfig.fir@274143.4]
+  wire [28:0] _T_108_a_bits_address; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@274027.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@274077.4]
+  wire [26:0] _T_425; // @[Edges.scala 192:34:shc.marmotcaravel.MarmotCaravelConfig.fir@274145.4]
+  wire [5:0] _T_108_a_bits_source; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@274027.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@274077.4]
+  wire [1:0] _T_108_a_bits_size; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@274027.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@274077.4]
+  wire [7:0] _T_426; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@274149.4]
+  wire [9:0] _T_421_bits_index; // @[RegisterRouter.scala 57:18:shc.marmotcaravel.MarmotCaravelConfig.fir@274141.4 RegisterRouter.scala 59:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274146.4]
+  wire [9:0] _T_442; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274157.4]
+  wire  _T_444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274159.4]
+  wire [3:0] _T_108_a_bits_mask; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@274027.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@274077.4]
+  wire  _T_612; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@274199.4]
+  wire  _T_613; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@274200.4]
+  wire  _T_614; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@274201.4]
+  wire  _T_615; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@274202.4]
+  wire [7:0] _T_617; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@274204.4]
+  wire [7:0] _T_619; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@274206.4]
+  wire [7:0] _T_621; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@274208.4]
+  wire [7:0] _T_623; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@274210.4]
+  wire [15:0] _T_624; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@274211.4]
+  wire [15:0] _T_625; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@274212.4]
+  wire [31:0] _T_626; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@274213.4]
+  wire [11:0] _T_642; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274229.4]
+  wire [11:0] _T_645; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274232.4]
+  wire  _T_646; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274233.4]
+  wire  _T_108_a_valid; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@274027.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@274077.4]
+  wire  _T_108_d_ready; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@274027.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@274077.4]
+  wire  _T_1388; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275039.4]
+  wire  _T_1387; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275038.4]
+  wire [1:0] _T_1395; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@275046.4]
+  wire  _T_1386; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275037.4]
+  wire [2:0] _T_1396; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@275047.4]
+  wire  _T_1385; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275036.4]
+  wire  _T_1384; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275035.4]
+  wire [1:0] _T_1394; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@275045.4]
+  wire [4:0] _T_1397; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@275048.4]
+  wire  _T_1464; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275115.4]
+  wire  _T_1465; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275116.4]
+  wire [31:0] _T_1398; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@275049.4]
+  wire  _T_1399; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275050.4]
+  wire  _T_1700; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275406.4]
+  wire  _T_1701; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275407.4]
+  wire  _T_1704; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275410.4]
+  wire  _T_1705; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275411.4]
+  wire  _T_654; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274241.4]
+  wire [31:0] _T_108_a_bits_data; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@274027.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@274077.4]
+  wire [11:0] _T_656; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274243.4]
+  wire  _T_667; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274257.4]
+  wire  _T_670; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274260.4]
+  wire  _T_671; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274261.4]
+  wire  _T_1404; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275055.4]
+  wire  _T_1734; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275449.4]
+  wire  _T_1735; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275450.4]
+  wire  _T_679; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274269.4]
+  wire  _T_681; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274271.4]
+  wire [7:0] _T_692; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274285.4]
+  wire  _T_693; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274286.4]
+  wire [7:0] _T_695; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274288.4]
+  wire  _T_696; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274289.4]
+  wire  _T_1409; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275060.4]
+  wire  _T_1764; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275486.4]
+  wire  _T_1765; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275487.4]
+  wire  _T_704; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274297.4]
+  wire [7:0] _T_706; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274299.4]
+  wire [7:0] _T_717; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274313.4]
+  wire [7:0] _T_720; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274316.4]
+  wire  _T_721; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274317.4]
+  wire  _T_729; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274325.4]
+  wire [7:0] _T_731; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274327.4]
+  wire [15:0] _T_740; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274339.4]
+  wire [23:0] _T_741; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@274340.4]
+  wire  _T_1413; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275064.4]
+  wire  _T_1788; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275518.4]
+  wire  _T_1789; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275519.4]
+  wire  _T_756; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274355.4]
+  wire [3:0] _T_769; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274371.4]
+  wire [3:0] _T_772; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274374.4]
+  wire  _T_773; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274375.4]
+  wire  _T_1419; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275070.4]
+  wire  _T_1824; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275572.4]
+  wire  _T_1825; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275573.4]
+  wire  _T_781; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274383.4]
+  wire [3:0] _T_783; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274385.4]
+  wire  _T_817; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274422.4]
+  wire  _T_819; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274424.4]
+  wire  _T_822; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274427.4]
+  wire  _T_823; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274428.4]
+  wire  _T_833; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274438.4]
+  wire [1:0] _T_843; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@274448.4]
+  wire  _T_1400; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275051.4]
+  wire  _T_1710; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275418.4]
+  wire  _T_1711; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275419.4]
+  wire  _T_858; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274463.4]
+  wire  _T_883; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274491.4]
+  wire [1:0] _T_895; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@274506.4]
+  wire [1:0] _T_898; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274509.4]
+  wire [1:0] _T_901; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274512.4]
+  wire  _T_902; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274513.4]
+  wire  _T_1405; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275056.4]
+  wire  _T_1740; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275457.4]
+  wire  _T_1741; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275458.4]
+  wire  _T_910; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274521.4]
+  wire [1:0] _T_912; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274523.4]
+  wire  _T_1427; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275078.4]
+  wire  _T_1872; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275630.4]
+  wire  _T_1873; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275631.4]
+  wire  _T_935; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274549.4]
+  wire  _T_960; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274577.4]
+  wire [1:0] _T_972; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@274592.4]
+  wire  _T_1420; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275071.4]
+  wire  _T_1830; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275580.4]
+  wire  _T_1831; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275581.4]
+  wire  _T_987; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274607.4]
+  wire  _T_1417; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275068.4]
+  wire  _T_1812; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275552.4]
+  wire  _T_1813; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275553.4]
+  wire  _T_1012; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274635.4]
+  wire  _T_1061; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274686.4]
+  wire  _T_1062; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274687.4]
+  wire  _T_1063; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274688.4]
+  wire  _T_1067; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274692.4]
+  wire  _T_1068; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274693.4]
+  wire  _T_1070; // @[RegMapFIFO.scala 26:26:shc.marmotcaravel.MarmotCaravelConfig.fir@274695.4]
+  wire  _T_1015; // @[RegMapFIFO.scala 18:33:shc.marmotcaravel.MarmotCaravelConfig.fir@274638.4]
+  wire [31:0] _T_1080; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@274706.4]
+  wire  _T_1415; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275066.4]
+  wire  _T_1800; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275534.4]
+  wire  _T_1801; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275535.4]
+  wire  _T_1095; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274721.4]
+  wire  _T_1108; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274737.4]
+  wire  _T_1111; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274740.4]
+  wire  _T_1112; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274741.4]
+  wire  _T_1120; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274749.4]
+  wire  _T_1122; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274751.4]
+  wire [2:0] _T_1132; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@274764.4]
+  wire  _T_1135; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274767.4]
+  wire  _T_1138; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274770.4]
+  wire  _T_1139; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274771.4]
+  wire  _T_1147; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274779.4]
+  wire  _T_1149; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274781.4]
+  wire [3:0] _T_1159; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@274794.4]
+  wire [3:0] _T_1162; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274797.4]
+  wire [3:0] _T_1165; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274800.4]
+  wire  _T_1166; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274801.4]
+  wire  _T_1174; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274809.4]
+  wire [3:0] _T_1176; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274811.4]
+  wire [15:0] _T_1185; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274823.4]
+  wire [19:0] _T_1186; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@274824.4]
+  wire  _T_1410; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275061.4]
+  wire  _T_1770; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275495.4]
+  wire  _T_1771; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275496.4]
+  wire  _T_1201; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274839.4]
+  wire  _T_1226; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274867.4]
+  wire [15:0] _T_1237; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274881.4]
+  wire [23:0] _T_1238; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@274882.4]
+  wire  _T_1418; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275069.4]
+  wire  _T_1582; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275271.4]
+  wire  _T_1583; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275272.4]
+  wire [7:0] _T_1264; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274909.4]
+  wire [8:0] _T_1290; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@274935.4]
+  wire [30:0] _T_1291; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274936.4]
+  wire [31:0] _T_1317; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@274962.4]
+  wire  _T_1403; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275054.4]
+  wire  _T_1728; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275441.4]
+  wire  _T_1729; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275442.4]
+  wire  _T_1332; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274977.4]
+  wire [4:0] _T_1345; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274993.4]
+  wire [4:0] _T_1348; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274996.4]
+  wire  _T_1349; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274997.4]
+  wire  _T_1414; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275065.4]
+  wire  _T_1794; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275526.4]
+  wire  _T_1795; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275527.4]
+  wire  _T_1357; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275005.4]
+  wire [4:0] _T_1359; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275007.4]
+  wire  _GEN_149; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276323.4]
+  wire  _GEN_150; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276323.4]
+  wire  _GEN_151; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276323.4]
+  wire  _GEN_152; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276323.4]
+  wire  _GEN_153; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276323.4]
+  wire  _GEN_154; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276323.4]
+  wire  _GEN_155; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276323.4]
+  wire  _GEN_156; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276323.4]
+  wire  _GEN_157; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276323.4]
+  wire  _GEN_158; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276323.4]
+  wire  _GEN_159; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276323.4]
+  wire  _GEN_160; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276323.4]
+  wire  _GEN_161; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276323.4]
+  wire  _GEN_162; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276323.4]
+  wire  _GEN_163; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276323.4]
+  wire  _GEN_164; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276323.4]
+  wire  _GEN_165; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276323.4]
+  wire  _GEN_166; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276323.4]
+  wire  _GEN_167; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276323.4]
+  wire  _GEN_168; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276323.4]
+  wire  _GEN_169; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276323.4]
+  wire  _GEN_170; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276323.4]
+  wire  _GEN_171; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276323.4]
+  wire  _GEN_172; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276323.4]
+  wire  _GEN_173; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276323.4]
+  wire  _GEN_174; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276323.4]
+  wire  _GEN_175; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276323.4]
+  wire  _GEN_176; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276323.4]
+  wire  _GEN_177; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276323.4]
+  wire  _GEN_178; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276323.4]
+  wire  _GEN_179; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276323.4]
+  wire [31:0] _T_2457_0; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@276325.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@276327.4]
+  wire [31:0] _T_2457_1; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@276325.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@276328.4]
+  wire [31:0] _GEN_181; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276359.4]
+  wire [31:0] _GEN_182; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276359.4]
+  wire [31:0] _GEN_183; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276359.4]
+  wire [31:0] _T_2457_4; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@276325.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@276331.4]
+  wire [31:0] _GEN_184; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276359.4]
+  wire [31:0] _T_2457_5; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@276325.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@276332.4]
+  wire [31:0] _GEN_185; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276359.4]
+  wire [31:0] _T_2457_6; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@276325.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@276333.4]
+  wire [31:0] _GEN_186; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276359.4]
+  wire [31:0] _GEN_187; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276359.4]
+  wire [31:0] _GEN_188; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276359.4]
+  wire [31:0] _GEN_189; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276359.4]
+  wire [31:0] _T_2457_10; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@276325.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@276337.4]
+  wire [31:0] _GEN_190; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276359.4]
+  wire [31:0] _T_2457_11; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@276325.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@276338.4]
+  wire [31:0] _GEN_191; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276359.4]
+  wire [31:0] _GEN_192; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276359.4]
+  wire [31:0] _GEN_193; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276359.4]
+  wire [31:0] _T_2457_14; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@276325.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@276341.4]
+  wire [31:0] _GEN_194; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276359.4]
+  wire [31:0] _T_2457_15; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@276325.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@276342.4]
+  wire [31:0] _GEN_195; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276359.4]
+  wire [31:0] _T_2457_16; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@276325.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@276343.4]
+  wire [31:0] _GEN_196; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276359.4]
+  wire [31:0] _GEN_197; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276359.4]
+  wire [31:0] _GEN_198; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276359.4]
+  wire [31:0] _GEN_199; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276359.4]
+  wire [31:0] _T_2457_20; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@276325.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@276347.4]
+  wire [31:0] _GEN_200; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276359.4]
+  wire [31:0] _T_2457_21; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@276325.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@276348.4]
+  wire [31:0] _GEN_201; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276359.4]
+  wire [31:0] _GEN_202; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276359.4]
+  wire [31:0] _GEN_203; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276359.4]
+  wire [31:0] _GEN_204; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276359.4]
+  wire [31:0] _GEN_205; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276359.4]
+  wire [31:0] _GEN_206; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276359.4]
+  wire [31:0] _GEN_207; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276359.4]
+  wire [31:0] _T_2457_28; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@276325.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@276355.4]
+  wire [31:0] _GEN_208; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276359.4]
+  wire [31:0] _T_2457_29; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@276325.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@276356.4]
+  wire [31:0] _GEN_209; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276359.4]
+  wire [31:0] _GEN_210; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276359.4]
+  wire [31:0] _GEN_211; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276359.4]
+  TLBuffer_25 buffer ( // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@274011.4]
+    .clock(buffer_clock),
+    .reset(buffer_reset),
+    .auto_in_a_ready(buffer_auto_in_a_ready),
+    .auto_in_a_valid(buffer_auto_in_a_valid),
+    .auto_in_a_bits_opcode(buffer_auto_in_a_bits_opcode),
+    .auto_in_a_bits_param(buffer_auto_in_a_bits_param),
+    .auto_in_a_bits_size(buffer_auto_in_a_bits_size),
+    .auto_in_a_bits_source(buffer_auto_in_a_bits_source),
+    .auto_in_a_bits_address(buffer_auto_in_a_bits_address),
+    .auto_in_a_bits_mask(buffer_auto_in_a_bits_mask),
+    .auto_in_a_bits_data(buffer_auto_in_a_bits_data),
+    .auto_in_a_bits_corrupt(buffer_auto_in_a_bits_corrupt),
+    .auto_in_d_ready(buffer_auto_in_d_ready),
+    .auto_in_d_valid(buffer_auto_in_d_valid),
+    .auto_in_d_bits_opcode(buffer_auto_in_d_bits_opcode),
+    .auto_in_d_bits_size(buffer_auto_in_d_bits_size),
+    .auto_in_d_bits_source(buffer_auto_in_d_bits_source),
+    .auto_in_d_bits_data(buffer_auto_in_d_bits_data),
+    .auto_out_a_ready(buffer_auto_out_a_ready),
+    .auto_out_a_valid(buffer_auto_out_a_valid),
+    .auto_out_a_bits_opcode(buffer_auto_out_a_bits_opcode),
+    .auto_out_a_bits_param(buffer_auto_out_a_bits_param),
+    .auto_out_a_bits_size(buffer_auto_out_a_bits_size),
+    .auto_out_a_bits_source(buffer_auto_out_a_bits_source),
+    .auto_out_a_bits_address(buffer_auto_out_a_bits_address),
+    .auto_out_a_bits_mask(buffer_auto_out_a_bits_mask),
+    .auto_out_a_bits_data(buffer_auto_out_a_bits_data),
+    .auto_out_a_bits_corrupt(buffer_auto_out_a_bits_corrupt),
+    .auto_out_d_ready(buffer_auto_out_d_ready),
+    .auto_out_d_valid(buffer_auto_out_d_valid),
+    .auto_out_d_bits_opcode(buffer_auto_out_d_bits_opcode),
+    .auto_out_d_bits_size(buffer_auto_out_d_bits_size),
+    .auto_out_d_bits_source(buffer_auto_out_d_bits_source),
+    .auto_out_d_bits_data(buffer_auto_out_d_bits_data)
+  );
+  IntSyncCrossingSource_3 intsource ( // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@274017.4]
+    .clock(intsource_clock),
+    .reset(intsource_reset),
+    .auto_in_0(intsource_auto_in_0),
+    .auto_out_sync_0(intsource_auto_out_sync_0)
+  );
+  TLMonitor_75 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@274029.4]
+    .clock(TLMonitor_clock),
+    .reset(TLMonitor_reset),
+    .io_in_a_ready(TLMonitor_io_in_a_ready),
+    .io_in_a_valid(TLMonitor_io_in_a_valid),
+    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
+    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
+    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
+    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
+    .io_in_d_ready(TLMonitor_io_in_d_ready),
+    .io_in_d_valid(TLMonitor_io_in_d_valid),
+    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
+    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
+    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source)
+  );
+  SPIFIFO fifo ( // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@274105.4]
+    .clock(fifo_clock),
+    .reset(fifo_reset),
+    .io_ctrl_fmt_proto(fifo_io_ctrl_fmt_proto),
+    .io_ctrl_fmt_endian(fifo_io_ctrl_fmt_endian),
+    .io_ctrl_fmt_iodir(fifo_io_ctrl_fmt_iodir),
+    .io_ctrl_fmt_len(fifo_io_ctrl_fmt_len),
+    .io_ctrl_cs_mode(fifo_io_ctrl_cs_mode),
+    .io_ctrl_wm_tx(fifo_io_ctrl_wm_tx),
+    .io_ctrl_wm_rx(fifo_io_ctrl_wm_rx),
+    .io_link_tx_ready(fifo_io_link_tx_ready),
+    .io_link_tx_valid(fifo_io_link_tx_valid),
+    .io_link_tx_bits(fifo_io_link_tx_bits),
+    .io_link_rx_valid(fifo_io_link_rx_valid),
+    .io_link_rx_bits(fifo_io_link_rx_bits),
+    .io_link_cnt(fifo_io_link_cnt),
+    .io_link_fmt_proto(fifo_io_link_fmt_proto),
+    .io_link_fmt_endian(fifo_io_link_fmt_endian),
+    .io_link_fmt_iodir(fifo_io_link_fmt_iodir),
+    .io_link_cs_set(fifo_io_link_cs_set),
+    .io_link_cs_clear(fifo_io_link_cs_clear),
+    .io_link_lock(fifo_io_link_lock),
+    .io_tx_ready(fifo_io_tx_ready),
+    .io_tx_valid(fifo_io_tx_valid),
+    .io_tx_bits(fifo_io_tx_bits),
+    .io_rx_ready(fifo_io_rx_ready),
+    .io_rx_valid(fifo_io_rx_valid),
+    .io_rx_bits(fifo_io_rx_bits),
+    .io_ip_txwm(fifo_io_ip_txwm),
+    .io_ip_rxwm(fifo_io_ip_rxwm)
+  );
+  SPIMedia mac ( // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274109.4]
+    .clock(mac_clock),
+    .reset(mac_reset),
+    .io_port_sck(mac_io_port_sck),
+    .io_port_dq_0_i(mac_io_port_dq_0_i),
+    .io_port_dq_0_o(mac_io_port_dq_0_o),
+    .io_port_dq_0_oe(mac_io_port_dq_0_oe),
+    .io_port_dq_1_i(mac_io_port_dq_1_i),
+    .io_port_dq_1_o(mac_io_port_dq_1_o),
+    .io_port_dq_1_oe(mac_io_port_dq_1_oe),
+    .io_port_dq_2_i(mac_io_port_dq_2_i),
+    .io_port_dq_2_o(mac_io_port_dq_2_o),
+    .io_port_dq_2_oe(mac_io_port_dq_2_oe),
+    .io_port_dq_3_i(mac_io_port_dq_3_i),
+    .io_port_dq_3_o(mac_io_port_dq_3_o),
+    .io_port_dq_3_oe(mac_io_port_dq_3_oe),
+    .io_port_cs_0(mac_io_port_cs_0),
+    .io_ctrl_sck_div(mac_io_ctrl_sck_div),
+    .io_ctrl_sck_pol(mac_io_ctrl_sck_pol),
+    .io_ctrl_sck_pha(mac_io_ctrl_sck_pha),
+    .io_ctrl_dla_cssck(mac_io_ctrl_dla_cssck),
+    .io_ctrl_dla_sckcs(mac_io_ctrl_dla_sckcs),
+    .io_ctrl_dla_intercs(mac_io_ctrl_dla_intercs),
+    .io_ctrl_dla_interxfr(mac_io_ctrl_dla_interxfr),
+    .io_ctrl_cs_id(mac_io_ctrl_cs_id),
+    .io_ctrl_cs_dflt_0(mac_io_ctrl_cs_dflt_0),
+    .io_ctrl_extradel_coarse(mac_io_ctrl_extradel_coarse),
+    .io_ctrl_sampledel_sd(mac_io_ctrl_sampledel_sd),
+    .io_link_tx_ready(mac_io_link_tx_ready),
+    .io_link_tx_valid(mac_io_link_tx_valid),
+    .io_link_tx_bits(mac_io_link_tx_bits),
+    .io_link_rx_valid(mac_io_link_rx_valid),
+    .io_link_rx_bits(mac_io_link_rx_bits),
+    .io_link_cnt(mac_io_link_cnt),
+    .io_link_fmt_proto(mac_io_link_fmt_proto),
+    .io_link_fmt_endian(mac_io_link_fmt_endian),
+    .io_link_fmt_iodir(mac_io_link_fmt_iodir),
+    .io_link_cs_set(mac_io_link_cs_set),
+    .io_link_cs_clear(mac_io_link_cs_clear),
+    .io_link_cs_hold(mac_io_link_cs_hold),
+    .io_link_active(mac_io_link_active)
+  );
+  assign _T_410 = fifo_io_ip_txwm & ie_txwm; // @[TLSPI.scala 78:35:shc.marmotcaravel.MarmotCaravelConfig.fir@274132.4]
+  assign _T_411 = fifo_io_ip_rxwm & ie_rxwm; // @[TLSPI.scala 78:59:shc.marmotcaravel.MarmotCaravelConfig.fir@274133.4]
+  assign _T_415 = fifo_io_tx_ready == 1'h0; // @[RegMapFIFO.scala 24:9:shc.marmotcaravel.MarmotCaravelConfig.fir@274138.4]
+  assign _T_416 = fifo_io_rx_valid == 1'h0; // @[RegMapFIFO.scala 45:21:shc.marmotcaravel.MarmotCaravelConfig.fir@274139.4]
+  assign _T_108_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@274027.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@274077.4]
+  assign _T_424 = _T_108_a_bits_opcode == 3'h4; // @[RegisterRouter.scala 58:36:shc.marmotcaravel.MarmotCaravelConfig.fir@274143.4]
+  assign _T_108_a_bits_address = buffer_auto_out_a_bits_address; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@274027.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@274077.4]
+  assign _T_425 = _T_108_a_bits_address[28:2]; // @[Edges.scala 192:34:shc.marmotcaravel.MarmotCaravelConfig.fir@274145.4]
+  assign _T_108_a_bits_source = buffer_auto_out_a_bits_source; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@274027.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@274077.4]
+  assign _T_108_a_bits_size = buffer_auto_out_a_bits_size; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@274027.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@274077.4]
+  assign _T_426 = {_T_108_a_bits_source,_T_108_a_bits_size}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@274149.4]
+  assign _T_421_bits_index = _T_425[9:0]; // @[RegisterRouter.scala 57:18:shc.marmotcaravel.MarmotCaravelConfig.fir@274141.4 RegisterRouter.scala 59:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274146.4]
+  assign _T_442 = _T_421_bits_index & 10'h3e0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274157.4]
+  assign _T_444 = _T_442 == 10'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274159.4]
+  assign _T_108_a_bits_mask = buffer_auto_out_a_bits_mask; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@274027.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@274077.4]
+  assign _T_612 = _T_108_a_bits_mask[0]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@274199.4]
+  assign _T_613 = _T_108_a_bits_mask[1]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@274200.4]
+  assign _T_614 = _T_108_a_bits_mask[2]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@274201.4]
+  assign _T_615 = _T_108_a_bits_mask[3]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@274202.4]
+  assign _T_617 = _T_612 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@274204.4]
+  assign _T_619 = _T_613 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@274206.4]
+  assign _T_621 = _T_614 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@274208.4]
+  assign _T_623 = _T_615 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@274210.4]
+  assign _T_624 = {_T_619,_T_617}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@274211.4]
+  assign _T_625 = {_T_623,_T_621}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@274212.4]
+  assign _T_626 = {_T_625,_T_624}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@274213.4]
+  assign _T_642 = _T_626[11:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274229.4]
+  assign _T_645 = ~ _T_642; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274232.4]
+  assign _T_646 = _T_645 == 12'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274233.4]
+  assign _T_108_a_valid = buffer_auto_out_a_valid; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@274027.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@274077.4]
+  assign _T_108_d_ready = buffer_auto_out_d_ready; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@274027.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@274077.4]
+  assign _T_1388 = _T_421_bits_index[4]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275039.4]
+  assign _T_1387 = _T_421_bits_index[3]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275038.4]
+  assign _T_1395 = {_T_1388,_T_1387}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@275046.4]
+  assign _T_1386 = _T_421_bits_index[2]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275037.4]
+  assign _T_1396 = {_T_1395,_T_1386}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@275047.4]
+  assign _T_1385 = _T_421_bits_index[1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275036.4]
+  assign _T_1384 = _T_421_bits_index[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275035.4]
+  assign _T_1394 = {_T_1385,_T_1384}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@275045.4]
+  assign _T_1397 = {_T_1396,_T_1394}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@275048.4]
+  assign _T_1464 = _T_108_a_valid & _T_108_d_ready; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275115.4]
+  assign _T_1465 = _T_1464 & _T_424; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275116.4]
+  assign _T_1398 = 32'h1 << _T_1397; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@275049.4]
+  assign _T_1399 = _T_1398[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275050.4]
+  assign _T_1700 = _T_424 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275406.4]
+  assign _T_1701 = _T_1464 & _T_1700; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275407.4]
+  assign _T_1704 = _T_1701 & _T_1399; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275410.4]
+  assign _T_1705 = _T_1704 & _T_444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275411.4]
+  assign _T_654 = _T_1705 & _T_646; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274241.4]
+  assign _T_108_a_bits_data = buffer_auto_out_a_bits_data; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@274027.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@274077.4]
+  assign _T_656 = _T_108_a_bits_data[11:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274243.4]
+  assign _T_667 = _T_626[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274257.4]
+  assign _T_670 = ~ _T_667; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274260.4]
+  assign _T_671 = _T_670 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274261.4]
+  assign _T_1404 = _T_1398[5]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275055.4]
+  assign _T_1734 = _T_1701 & _T_1404; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275449.4]
+  assign _T_1735 = _T_1734 & _T_444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275450.4]
+  assign _T_679 = _T_1735 & _T_671; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274269.4]
+  assign _T_681 = _T_108_a_bits_data[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274271.4]
+  assign _T_692 = _T_626[7:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274285.4]
+  assign _T_693 = _T_692 != 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274286.4]
+  assign _T_695 = ~ _T_692; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274288.4]
+  assign _T_696 = _T_695 == 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274289.4]
+  assign _T_1409 = _T_1398[10]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275060.4]
+  assign _T_1764 = _T_1701 & _T_1409; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275486.4]
+  assign _T_1765 = _T_1764 & _T_444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275487.4]
+  assign _T_704 = _T_1765 & _T_696; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274297.4]
+  assign _T_706 = _T_108_a_bits_data[7:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274299.4]
+  assign _T_717 = _T_626[23:16]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274313.4]
+  assign _T_720 = ~ _T_717; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274316.4]
+  assign _T_721 = _T_720 == 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274317.4]
+  assign _T_729 = _T_1765 & _T_721; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274325.4]
+  assign _T_731 = _T_108_a_bits_data[23:16]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274327.4]
+  assign _T_740 = {{8'd0}, ctrl_dla_cssck}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274339.4]
+  assign _T_741 = {ctrl_dla_sckcs,_T_740}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@274340.4]
+  assign _T_1413 = _T_1398[14]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275064.4]
+  assign _T_1788 = _T_1701 & _T_1413; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275518.4]
+  assign _T_1789 = _T_1788 & _T_444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275519.4]
+  assign _T_756 = _T_1789 & _T_646; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274355.4]
+  assign _T_769 = _T_626[3:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274371.4]
+  assign _T_772 = ~ _T_769; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274374.4]
+  assign _T_773 = _T_772 == 4'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274375.4]
+  assign _T_1419 = _T_1398[20]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275070.4]
+  assign _T_1824 = _T_1701 & _T_1419; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275572.4]
+  assign _T_1825 = _T_1824 & _T_444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275573.4]
+  assign _T_781 = _T_1825 & _T_773; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274383.4]
+  assign _T_783 = _T_108_a_bits_data[3:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274385.4]
+  assign _T_817 = fifo_io_ip_txwm; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274422.4]
+  assign _T_819 = _T_626[1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274424.4]
+  assign _T_822 = ~ _T_819; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274427.4]
+  assign _T_823 = _T_822 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274428.4]
+  assign _T_833 = _T_108_a_bits_data[1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274438.4]
+  assign _T_843 = {fifo_io_ip_rxwm,_T_817}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@274448.4]
+  assign _T_1400 = _T_1398[1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275051.4]
+  assign _T_1710 = _T_1701 & _T_1400; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275418.4]
+  assign _T_1711 = _T_1710 & _T_444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275419.4]
+  assign _T_858 = _T_1711 & _T_671; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274463.4]
+  assign _T_883 = _T_1711 & _T_823; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274491.4]
+  assign _T_895 = {ctrl_sck_pol,ctrl_sck_pha}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@274506.4]
+  assign _T_898 = _T_626[1:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274509.4]
+  assign _T_901 = ~ _T_898; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274512.4]
+  assign _T_902 = _T_901 == 2'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274513.4]
+  assign _T_1405 = _T_1398[6]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275056.4]
+  assign _T_1740 = _T_1701 & _T_1405; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275457.4]
+  assign _T_1741 = _T_1740 & _T_444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275458.4]
+  assign _T_910 = _T_1741 & _T_902; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274521.4]
+  assign _T_912 = _T_108_a_bits_data[1:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274523.4]
+  assign _T_1427 = _T_1398[28]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275078.4]
+  assign _T_1872 = _T_1701 & _T_1427; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275630.4]
+  assign _T_1873 = _T_1872 & _T_444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275631.4]
+  assign _T_935 = _T_1873 & _T_671; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274549.4]
+  assign _T_960 = _T_1873 & _T_823; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274577.4]
+  assign _T_972 = {ie_rxwm,ie_txwm}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@274592.4]
+  assign _T_1420 = _T_1398[21]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275071.4]
+  assign _T_1830 = _T_1701 & _T_1420; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275580.4]
+  assign _T_1831 = _T_1830 & _T_444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275581.4]
+  assign _T_987 = _T_1831 & _T_773; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274607.4]
+  assign _T_1417 = _T_1398[18]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275068.4]
+  assign _T_1812 = _T_1701 & _T_1417; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275552.4]
+  assign _T_1813 = _T_1812 & _T_444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275553.4]
+  assign _T_1012 = _T_1813 & _T_696; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274635.4]
+  assign _T_1061 = _T_626[31]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274686.4]
+  assign _T_1062 = ~ _T_1061; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274687.4]
+  assign _T_1063 = _T_1062 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274688.4]
+  assign _T_1067 = _T_1813 & _T_1063; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274692.4]
+  assign _T_1068 = _T_108_a_bits_data[31]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274693.4]
+  assign _T_1070 = _T_1067 & _T_1068; // @[RegMapFIFO.scala 26:26:shc.marmotcaravel.MarmotCaravelConfig.fir@274695.4]
+  assign _T_1015 = _T_1070 == 1'h0; // @[RegMapFIFO.scala 18:33:shc.marmotcaravel.MarmotCaravelConfig.fir@274638.4]
+  assign _T_1080 = {_T_415,31'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@274706.4]
+  assign _T_1415 = _T_1398[16]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275066.4]
+  assign _T_1800 = _T_1701 & _T_1415; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275534.4]
+  assign _T_1801 = _T_1800 & _T_444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275535.4]
+  assign _T_1095 = _T_1801 & _T_902; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274721.4]
+  assign _T_1108 = _T_626[2]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274737.4]
+  assign _T_1111 = ~ _T_1108; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274740.4]
+  assign _T_1112 = _T_1111 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274741.4]
+  assign _T_1120 = _T_1801 & _T_1112; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274749.4]
+  assign _T_1122 = _T_108_a_bits_data[2]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274751.4]
+  assign _T_1132 = {ctrl_fmt_endian,ctrl_fmt_proto}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@274764.4]
+  assign _T_1135 = _T_626[3]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274767.4]
+  assign _T_1138 = ~ _T_1135; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274770.4]
+  assign _T_1139 = _T_1138 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274771.4]
+  assign _T_1147 = _T_1801 & _T_1139; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274779.4]
+  assign _T_1149 = _T_108_a_bits_data[3]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274781.4]
+  assign _T_1159 = {ctrl_fmt_iodir,_T_1132}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@274794.4]
+  assign _T_1162 = _T_626[19:16]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274797.4]
+  assign _T_1165 = ~ _T_1162; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274800.4]
+  assign _T_1166 = _T_1165 == 4'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274801.4]
+  assign _T_1174 = _T_1801 & _T_1166; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274809.4]
+  assign _T_1176 = _T_108_a_bits_data[19:16]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274811.4]
+  assign _T_1185 = {{12'd0}, _T_1159}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274823.4]
+  assign _T_1186 = {ctrl_fmt_len,_T_1185}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@274824.4]
+  assign _T_1410 = _T_1398[11]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275061.4]
+  assign _T_1770 = _T_1701 & _T_1410; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275495.4]
+  assign _T_1771 = _T_1770 & _T_444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275496.4]
+  assign _T_1201 = _T_1771 & _T_696; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274839.4]
+  assign _T_1226 = _T_1771 & _T_721; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274867.4]
+  assign _T_1237 = {{8'd0}, ctrl_dla_intercs}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274881.4]
+  assign _T_1238 = {ctrl_dla_interxfr,_T_1237}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@274882.4]
+  assign _T_1418 = _T_1398[19]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275069.4]
+  assign _T_1582 = _T_1465 & _T_1418; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275271.4]
+  assign _T_1583 = _T_1582 & _T_444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275272.4]
+  assign _T_1264 = fifo_io_rx_bits; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274909.4]
+  assign _T_1290 = {1'h0,_T_1264}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@274935.4]
+  assign _T_1291 = {{22'd0}, _T_1290}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274936.4]
+  assign _T_1317 = {_T_416,_T_1291}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@274962.4]
+  assign _T_1403 = _T_1398[4]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275054.4]
+  assign _T_1728 = _T_1701 & _T_1403; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275441.4]
+  assign _T_1729 = _T_1728 & _T_444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275442.4]
+  assign _T_1332 = _T_1729 & _T_671; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274977.4]
+  assign _T_1345 = _T_626[4:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274993.4]
+  assign _T_1348 = ~ _T_1345; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274996.4]
+  assign _T_1349 = _T_1348 == 5'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274997.4]
+  assign _T_1414 = _T_1398[15]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275065.4]
+  assign _T_1794 = _T_1701 & _T_1414; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275526.4]
+  assign _T_1795 = _T_1794 & _T_444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275527.4]
+  assign _T_1357 = _T_1795 & _T_1349; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275005.4]
+  assign _T_1359 = _T_108_a_bits_data[4:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275007.4]
+  assign _GEN_149 = 5'h1 == _T_1397 ? _T_444 : _T_444; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276323.4]
+  assign _GEN_150 = 5'h2 == _T_1397 ? 1'h1 : _GEN_149; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276323.4]
+  assign _GEN_151 = 5'h3 == _T_1397 ? 1'h1 : _GEN_150; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276323.4]
+  assign _GEN_152 = 5'h4 == _T_1397 ? _T_444 : _GEN_151; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276323.4]
+  assign _GEN_153 = 5'h5 == _T_1397 ? _T_444 : _GEN_152; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276323.4]
+  assign _GEN_154 = 5'h6 == _T_1397 ? _T_444 : _GEN_153; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276323.4]
+  assign _GEN_155 = 5'h7 == _T_1397 ? 1'h1 : _GEN_154; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276323.4]
+  assign _GEN_156 = 5'h8 == _T_1397 ? 1'h1 : _GEN_155; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276323.4]
+  assign _GEN_157 = 5'h9 == _T_1397 ? 1'h1 : _GEN_156; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276323.4]
+  assign _GEN_158 = 5'ha == _T_1397 ? _T_444 : _GEN_157; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276323.4]
+  assign _GEN_159 = 5'hb == _T_1397 ? _T_444 : _GEN_158; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276323.4]
+  assign _GEN_160 = 5'hc == _T_1397 ? 1'h1 : _GEN_159; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276323.4]
+  assign _GEN_161 = 5'hd == _T_1397 ? 1'h1 : _GEN_160; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276323.4]
+  assign _GEN_162 = 5'he == _T_1397 ? _T_444 : _GEN_161; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276323.4]
+  assign _GEN_163 = 5'hf == _T_1397 ? _T_444 : _GEN_162; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276323.4]
+  assign _GEN_164 = 5'h10 == _T_1397 ? _T_444 : _GEN_163; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276323.4]
+  assign _GEN_165 = 5'h11 == _T_1397 ? 1'h1 : _GEN_164; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276323.4]
+  assign _GEN_166 = 5'h12 == _T_1397 ? _T_444 : _GEN_165; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276323.4]
+  assign _GEN_167 = 5'h13 == _T_1397 ? _T_444 : _GEN_166; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276323.4]
+  assign _GEN_168 = 5'h14 == _T_1397 ? _T_444 : _GEN_167; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276323.4]
+  assign _GEN_169 = 5'h15 == _T_1397 ? _T_444 : _GEN_168; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276323.4]
+  assign _GEN_170 = 5'h16 == _T_1397 ? 1'h1 : _GEN_169; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276323.4]
+  assign _GEN_171 = 5'h17 == _T_1397 ? 1'h1 : _GEN_170; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276323.4]
+  assign _GEN_172 = 5'h18 == _T_1397 ? 1'h1 : _GEN_171; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276323.4]
+  assign _GEN_173 = 5'h19 == _T_1397 ? 1'h1 : _GEN_172; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276323.4]
+  assign _GEN_174 = 5'h1a == _T_1397 ? 1'h1 : _GEN_173; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276323.4]
+  assign _GEN_175 = 5'h1b == _T_1397 ? 1'h1 : _GEN_174; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276323.4]
+  assign _GEN_176 = 5'h1c == _T_1397 ? _T_444 : _GEN_175; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276323.4]
+  assign _GEN_177 = 5'h1d == _T_1397 ? _T_444 : _GEN_176; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276323.4]
+  assign _GEN_178 = 5'h1e == _T_1397 ? 1'h1 : _GEN_177; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276323.4]
+  assign _GEN_179 = 5'h1f == _T_1397 ? 1'h1 : _GEN_178; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276323.4]
+  assign _T_2457_0 = {{20'd0}, ctrl_sck_div}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@276325.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@276327.4]
+  assign _T_2457_1 = {{30'd0}, _T_895}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@276325.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@276328.4]
+  assign _GEN_181 = 5'h1 == _T_1397 ? _T_2457_1 : _T_2457_0; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276359.4]
+  assign _GEN_182 = 5'h2 == _T_1397 ? 32'h0 : _GEN_181; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276359.4]
+  assign _GEN_183 = 5'h3 == _T_1397 ? 32'h0 : _GEN_182; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276359.4]
+  assign _T_2457_4 = {{31'd0}, ctrl_cs_id}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@276325.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@276331.4]
+  assign _GEN_184 = 5'h4 == _T_1397 ? _T_2457_4 : _GEN_183; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276359.4]
+  assign _T_2457_5 = {{31'd0}, ctrl_cs_dflt_0}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@276325.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@276332.4]
+  assign _GEN_185 = 5'h5 == _T_1397 ? _T_2457_5 : _GEN_184; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276359.4]
+  assign _T_2457_6 = {{30'd0}, ctrl_cs_mode}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@276325.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@276333.4]
+  assign _GEN_186 = 5'h6 == _T_1397 ? _T_2457_6 : _GEN_185; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276359.4]
+  assign _GEN_187 = 5'h7 == _T_1397 ? 32'h0 : _GEN_186; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276359.4]
+  assign _GEN_188 = 5'h8 == _T_1397 ? 32'h0 : _GEN_187; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276359.4]
+  assign _GEN_189 = 5'h9 == _T_1397 ? 32'h0 : _GEN_188; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276359.4]
+  assign _T_2457_10 = {{8'd0}, _T_741}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@276325.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@276337.4]
+  assign _GEN_190 = 5'ha == _T_1397 ? _T_2457_10 : _GEN_189; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276359.4]
+  assign _T_2457_11 = {{8'd0}, _T_1238}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@276325.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@276338.4]
+  assign _GEN_191 = 5'hb == _T_1397 ? _T_2457_11 : _GEN_190; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276359.4]
+  assign _GEN_192 = 5'hc == _T_1397 ? 32'h0 : _GEN_191; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276359.4]
+  assign _GEN_193 = 5'hd == _T_1397 ? 32'h0 : _GEN_192; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276359.4]
+  assign _T_2457_14 = {{20'd0}, ctrl_extradel_coarse}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@276325.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@276341.4]
+  assign _GEN_194 = 5'he == _T_1397 ? _T_2457_14 : _GEN_193; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276359.4]
+  assign _T_2457_15 = {{27'd0}, ctrl_sampledel_sd}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@276325.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@276342.4]
+  assign _GEN_195 = 5'hf == _T_1397 ? _T_2457_15 : _GEN_194; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276359.4]
+  assign _T_2457_16 = {{12'd0}, _T_1186}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@276325.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@276343.4]
+  assign _GEN_196 = 5'h10 == _T_1397 ? _T_2457_16 : _GEN_195; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276359.4]
+  assign _GEN_197 = 5'h11 == _T_1397 ? 32'h0 : _GEN_196; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276359.4]
+  assign _GEN_198 = 5'h12 == _T_1397 ? _T_1080 : _GEN_197; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276359.4]
+  assign _GEN_199 = 5'h13 == _T_1397 ? _T_1317 : _GEN_198; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276359.4]
+  assign _T_2457_20 = {{28'd0}, ctrl_wm_tx}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@276325.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@276347.4]
+  assign _GEN_200 = 5'h14 == _T_1397 ? _T_2457_20 : _GEN_199; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276359.4]
+  assign _T_2457_21 = {{28'd0}, ctrl_wm_rx}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@276325.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@276348.4]
+  assign _GEN_201 = 5'h15 == _T_1397 ? _T_2457_21 : _GEN_200; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276359.4]
+  assign _GEN_202 = 5'h16 == _T_1397 ? 32'h0 : _GEN_201; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276359.4]
+  assign _GEN_203 = 5'h17 == _T_1397 ? 32'h0 : _GEN_202; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276359.4]
+  assign _GEN_204 = 5'h18 == _T_1397 ? 32'h0 : _GEN_203; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276359.4]
+  assign _GEN_205 = 5'h19 == _T_1397 ? 32'h0 : _GEN_204; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276359.4]
+  assign _GEN_206 = 5'h1a == _T_1397 ? 32'h0 : _GEN_205; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276359.4]
+  assign _GEN_207 = 5'h1b == _T_1397 ? 32'h0 : _GEN_206; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276359.4]
+  assign _T_2457_28 = {{30'd0}, _T_972}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@276325.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@276355.4]
+  assign _GEN_208 = 5'h1c == _T_1397 ? _T_2457_28 : _GEN_207; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276359.4]
+  assign _T_2457_29 = {{30'd0}, _T_843}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@276325.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@276356.4]
+  assign _GEN_209 = 5'h1d == _T_1397 ? _T_2457_29 : _GEN_208; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276359.4]
+  assign _GEN_210 = 5'h1e == _T_1397 ? 32'h0 : _GEN_209; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276359.4]
+  assign _GEN_211 = 5'h1f == _T_1397 ? 32'h0 : _GEN_210; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276359.4]
+  assign auto_int_xing_out_sync_0 = intsource_auto_out_sync_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@274082.4]
+  assign auto_control_xing_in_a_ready = buffer_auto_in_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@274081.4]
+  assign auto_control_xing_in_d_valid = buffer_auto_in_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@274081.4]
+  assign auto_control_xing_in_d_bits_opcode = buffer_auto_in_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@274081.4]
+  assign auto_control_xing_in_d_bits_size = buffer_auto_in_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@274081.4]
+  assign auto_control_xing_in_d_bits_source = buffer_auto_in_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@274081.4]
+  assign auto_control_xing_in_d_bits_data = buffer_auto_in_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@274081.4]
+  assign auto_io_out_sck = mac_io_port_sck; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@274080.4]
+  assign auto_io_out_dq_0_o = mac_io_port_dq_0_o; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@274080.4]
+  assign auto_io_out_dq_0_oe = mac_io_port_dq_0_oe; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@274080.4]
+  assign auto_io_out_dq_1_o = mac_io_port_dq_1_o; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@274080.4]
+  assign auto_io_out_dq_1_oe = mac_io_port_dq_1_oe; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@274080.4]
+  assign auto_io_out_dq_2_o = mac_io_port_dq_2_o; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@274080.4]
+  assign auto_io_out_dq_2_oe = mac_io_port_dq_2_oe; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@274080.4]
+  assign auto_io_out_dq_3_o = mac_io_port_dq_3_o; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@274080.4]
+  assign auto_io_out_dq_3_oe = mac_io_port_dq_3_oe; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@274080.4]
+  assign auto_io_out_cs_0 = mac_io_port_cs_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@274080.4]
+  assign buffer_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@274015.4]
+  assign buffer_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@274016.4]
+  assign buffer_auto_in_a_valid = auto_control_xing_in_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@274078.4]
+  assign buffer_auto_in_a_bits_opcode = auto_control_xing_in_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@274078.4]
+  assign buffer_auto_in_a_bits_param = auto_control_xing_in_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@274078.4]
+  assign buffer_auto_in_a_bits_size = auto_control_xing_in_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@274078.4]
+  assign buffer_auto_in_a_bits_source = auto_control_xing_in_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@274078.4]
+  assign buffer_auto_in_a_bits_address = auto_control_xing_in_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@274078.4]
+  assign buffer_auto_in_a_bits_mask = auto_control_xing_in_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@274078.4]
+  assign buffer_auto_in_a_bits_data = auto_control_xing_in_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@274078.4]
+  assign buffer_auto_in_a_bits_corrupt = auto_control_xing_in_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@274078.4]
+  assign buffer_auto_in_d_ready = auto_control_xing_in_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@274078.4]
+  assign buffer_auto_out_a_ready = buffer_auto_out_d_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@274077.4]
+  assign buffer_auto_out_d_valid = buffer_auto_out_a_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@274077.4]
+  assign buffer_auto_out_d_bits_opcode = {{2'd0}, _T_424}; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@274077.4]
+  assign buffer_auto_out_d_bits_size = _T_426[1:0]; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@274077.4]
+  assign buffer_auto_out_d_bits_source = _T_426[7:2]; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@274077.4]
+  assign buffer_auto_out_d_bits_data = _GEN_179 ? _GEN_211 : 32'h0; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@274077.4]
+  assign intsource_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@274021.4]
+  assign intsource_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@274022.4]
+  assign intsource_auto_in_0 = _T_410 | _T_411; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@274076.4]
+  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@274031.4]
+  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@274032.4]
+  assign TLMonitor_io_in_a_ready = buffer_auto_out_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274065.4]
+  assign TLMonitor_io_in_a_valid = buffer_auto_out_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274065.4]
+  assign TLMonitor_io_in_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274065.4]
+  assign TLMonitor_io_in_a_bits_param = buffer_auto_out_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274065.4]
+  assign TLMonitor_io_in_a_bits_size = buffer_auto_out_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274065.4]
+  assign TLMonitor_io_in_a_bits_source = buffer_auto_out_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274065.4]
+  assign TLMonitor_io_in_a_bits_address = buffer_auto_out_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274065.4]
+  assign TLMonitor_io_in_a_bits_mask = buffer_auto_out_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274065.4]
+  assign TLMonitor_io_in_a_bits_corrupt = buffer_auto_out_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274065.4]
+  assign TLMonitor_io_in_d_ready = buffer_auto_out_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274065.4]
+  assign TLMonitor_io_in_d_valid = buffer_auto_out_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274065.4]
+  assign TLMonitor_io_in_d_bits_opcode = {{2'd0}, _T_424}; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274065.4]
+  assign TLMonitor_io_in_d_bits_size = _T_426[1:0]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274065.4]
+  assign TLMonitor_io_in_d_bits_source = _T_426[7:2]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274065.4]
+  assign fifo_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@274107.4]
+  assign fifo_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@274108.4]
+  assign fifo_io_ctrl_fmt_proto = ctrl_fmt_proto; // @[TLSPI.scala 67:20:shc.marmotcaravel.MarmotCaravelConfig.fir@274114.4]
+  assign fifo_io_ctrl_fmt_endian = ctrl_fmt_endian; // @[TLSPI.scala 67:20:shc.marmotcaravel.MarmotCaravelConfig.fir@274114.4]
+  assign fifo_io_ctrl_fmt_iodir = ctrl_fmt_iodir; // @[TLSPI.scala 67:20:shc.marmotcaravel.MarmotCaravelConfig.fir@274114.4]
+  assign fifo_io_ctrl_fmt_len = ctrl_fmt_len; // @[TLSPI.scala 67:20:shc.marmotcaravel.MarmotCaravelConfig.fir@274114.4]
+  assign fifo_io_ctrl_cs_mode = ctrl_cs_mode; // @[TLSPI.scala 68:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274115.4]
+  assign fifo_io_ctrl_wm_tx = ctrl_wm_tx; // @[TLSPI.scala 69:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274116.4]
+  assign fifo_io_ctrl_wm_rx = ctrl_wm_rx; // @[TLSPI.scala 69:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274116.4]
+  assign fifo_io_link_tx_ready = mac_io_link_tx_ready; // @[TLSPI.scala 189:17:shc.marmotcaravel.MarmotCaravelConfig.fir@274140.4]
+  assign fifo_io_link_rx_valid = mac_io_link_rx_valid; // @[TLSPI.scala 189:17:shc.marmotcaravel.MarmotCaravelConfig.fir@274140.4]
+  assign fifo_io_link_rx_bits = mac_io_link_rx_bits; // @[TLSPI.scala 189:17:shc.marmotcaravel.MarmotCaravelConfig.fir@274140.4]
+  assign fifo_io_tx_valid = _T_1012 & _T_1015; // @[RegMapFIFO.scala 18:21:shc.marmotcaravel.MarmotCaravelConfig.fir@274640.4]
+  assign fifo_io_tx_bits = _T_108_a_bits_data[7:0]; // @[RegMapFIFO.scala 19:20:shc.marmotcaravel.MarmotCaravelConfig.fir@274641.4]
+  assign fifo_io_rx_ready = _T_1583 & _T_693; // @[RegMapFIFO.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@274899.4]
+  assign mac_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@274111.4]
+  assign mac_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@274112.4]
+  assign mac_io_port_dq_0_i = auto_io_out_dq_0_i; // @[TLSPI.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@274113.4]
+  assign mac_io_port_dq_1_i = auto_io_out_dq_1_i; // @[TLSPI.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@274113.4]
+  assign mac_io_port_dq_2_i = auto_io_out_dq_2_i; // @[TLSPI.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@274113.4]
+  assign mac_io_port_dq_3_i = auto_io_out_dq_3_i; // @[TLSPI.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@274113.4]
+  assign mac_io_ctrl_sck_div = ctrl_sck_div; // @[TLSPI.scala 70:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274117.4]
+  assign mac_io_ctrl_sck_pol = ctrl_sck_pol; // @[TLSPI.scala 70:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274117.4]
+  assign mac_io_ctrl_sck_pha = ctrl_sck_pha; // @[TLSPI.scala 70:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274117.4]
+  assign mac_io_ctrl_dla_cssck = ctrl_dla_cssck; // @[TLSPI.scala 73:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274120.4]
+  assign mac_io_ctrl_dla_sckcs = ctrl_dla_sckcs; // @[TLSPI.scala 73:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274120.4]
+  assign mac_io_ctrl_dla_intercs = ctrl_dla_intercs; // @[TLSPI.scala 73:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274120.4]
+  assign mac_io_ctrl_dla_interxfr = ctrl_dla_interxfr; // @[TLSPI.scala 73:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274120.4]
+  assign mac_io_ctrl_cs_id = ctrl_cs_id; // @[TLSPI.scala 74:18:shc.marmotcaravel.MarmotCaravelConfig.fir@274121.4]
+  assign mac_io_ctrl_cs_dflt_0 = ctrl_cs_dflt_0; // @[TLSPI.scala 74:18:shc.marmotcaravel.MarmotCaravelConfig.fir@274121.4]
+  assign mac_io_ctrl_extradel_coarse = ctrl_extradel_coarse; // @[TLSPI.scala 71:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274118.4]
+  assign mac_io_ctrl_sampledel_sd = ctrl_sampledel_sd; // @[TLSPI.scala 72:25:shc.marmotcaravel.MarmotCaravelConfig.fir@274119.4]
+  assign mac_io_link_tx_valid = fifo_io_link_tx_valid; // @[TLSPI.scala 189:17:shc.marmotcaravel.MarmotCaravelConfig.fir@274140.4]
+  assign mac_io_link_tx_bits = fifo_io_link_tx_bits; // @[TLSPI.scala 189:17:shc.marmotcaravel.MarmotCaravelConfig.fir@274140.4]
+  assign mac_io_link_cnt = fifo_io_link_cnt; // @[TLSPI.scala 189:17:shc.marmotcaravel.MarmotCaravelConfig.fir@274140.4]
+  assign mac_io_link_fmt_proto = fifo_io_link_fmt_proto; // @[TLSPI.scala 189:17:shc.marmotcaravel.MarmotCaravelConfig.fir@274140.4]
+  assign mac_io_link_fmt_endian = fifo_io_link_fmt_endian; // @[TLSPI.scala 189:17:shc.marmotcaravel.MarmotCaravelConfig.fir@274140.4]
+  assign mac_io_link_fmt_iodir = fifo_io_link_fmt_iodir; // @[TLSPI.scala 189:17:shc.marmotcaravel.MarmotCaravelConfig.fir@274140.4]
+  assign mac_io_link_cs_set = fifo_io_link_cs_set; // @[TLSPI.scala 189:17:shc.marmotcaravel.MarmotCaravelConfig.fir@274140.4]
+  assign mac_io_link_cs_clear = fifo_io_link_cs_clear; // @[TLSPI.scala 189:17:shc.marmotcaravel.MarmotCaravelConfig.fir@274140.4]
+  assign mac_io_link_cs_hold = 1'h0; // @[TLSPI.scala 189:17:shc.marmotcaravel.MarmotCaravelConfig.fir@274140.4]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  ctrl_fmt_proto = _RAND_0[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  ctrl_fmt_endian = _RAND_1[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  ctrl_fmt_iodir = _RAND_2[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  ctrl_fmt_len = _RAND_3[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  ctrl_sck_div = _RAND_4[11:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  ctrl_sck_pol = _RAND_5[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {1{`RANDOM}};
+  ctrl_sck_pha = _RAND_6[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {1{`RANDOM}};
+  ctrl_cs_id = _RAND_7[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_8 = {1{`RANDOM}};
+  ctrl_cs_dflt_0 = _RAND_8[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_9 = {1{`RANDOM}};
+  ctrl_cs_mode = _RAND_9[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_10 = {1{`RANDOM}};
+  ctrl_dla_cssck = _RAND_10[7:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_11 = {1{`RANDOM}};
+  ctrl_dla_sckcs = _RAND_11[7:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_12 = {1{`RANDOM}};
+  ctrl_dla_intercs = _RAND_12[7:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_13 = {1{`RANDOM}};
+  ctrl_dla_interxfr = _RAND_13[7:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_14 = {1{`RANDOM}};
+  ctrl_wm_tx = _RAND_14[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_15 = {1{`RANDOM}};
+  ctrl_wm_rx = _RAND_15[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_16 = {1{`RANDOM}};
+  ctrl_extradel_coarse = _RAND_16[11:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_17 = {1{`RANDOM}};
+  ctrl_sampledel_sd = _RAND_17[4:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_18 = {1{`RANDOM}};
+  ie_txwm = _RAND_18[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_19 = {1{`RANDOM}};
+  ie_rxwm = _RAND_19[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      ctrl_fmt_proto <= 2'h0;
+    end else begin
+      if (_T_1095) begin
+        ctrl_fmt_proto <= _T_912;
+      end
+    end
+    if (reset) begin
+      ctrl_fmt_endian <= 1'h0;
+    end else begin
+      if (_T_1120) begin
+        ctrl_fmt_endian <= _T_1122;
+      end
+    end
+    if (reset) begin
+      ctrl_fmt_iodir <= 1'h0;
+    end else begin
+      if (_T_1147) begin
+        ctrl_fmt_iodir <= _T_1149;
+      end
+    end
+    if (reset) begin
+      ctrl_fmt_len <= 4'h8;
+    end else begin
+      if (_T_1174) begin
+        ctrl_fmt_len <= _T_1176;
+      end
+    end
+    if (reset) begin
+      ctrl_sck_div <= 12'h3;
+    end else begin
+      if (_T_654) begin
+        ctrl_sck_div <= _T_656;
+      end
+    end
+    if (reset) begin
+      ctrl_sck_pol <= 1'h0;
+    end else begin
+      if (_T_883) begin
+        ctrl_sck_pol <= _T_833;
+      end
+    end
+    if (reset) begin
+      ctrl_sck_pha <= 1'h0;
+    end else begin
+      if (_T_858) begin
+        ctrl_sck_pha <= _T_681;
+      end
+    end
+    if (reset) begin
+      ctrl_cs_id <= 1'h0;
+    end else begin
+      if (_T_1332) begin
+        ctrl_cs_id <= _T_681;
+      end
+    end
+    if (reset) begin
+      ctrl_cs_dflt_0 <= 1'h1;
+    end else begin
+      if (_T_679) begin
+        ctrl_cs_dflt_0 <= _T_681;
+      end
+    end
+    if (reset) begin
+      ctrl_cs_mode <= 2'h0;
+    end else begin
+      if (_T_910) begin
+        ctrl_cs_mode <= _T_912;
+      end
+    end
+    if (reset) begin
+      ctrl_dla_cssck <= 8'h1;
+    end else begin
+      if (_T_704) begin
+        ctrl_dla_cssck <= _T_706;
+      end
+    end
+    if (reset) begin
+      ctrl_dla_sckcs <= 8'h1;
+    end else begin
+      if (_T_729) begin
+        ctrl_dla_sckcs <= _T_731;
+      end
+    end
+    if (reset) begin
+      ctrl_dla_intercs <= 8'h1;
+    end else begin
+      if (_T_1201) begin
+        ctrl_dla_intercs <= _T_706;
+      end
+    end
+    if (reset) begin
+      ctrl_dla_interxfr <= 8'h0;
+    end else begin
+      if (_T_1226) begin
+        ctrl_dla_interxfr <= _T_731;
+      end
+    end
+    if (reset) begin
+      ctrl_wm_tx <= 4'h0;
+    end else begin
+      if (_T_781) begin
+        ctrl_wm_tx <= _T_783;
+      end
+    end
+    if (reset) begin
+      ctrl_wm_rx <= 4'h0;
+    end else begin
+      if (_T_987) begin
+        ctrl_wm_rx <= _T_783;
+      end
+    end
+    if (reset) begin
+      ctrl_extradel_coarse <= 12'h0;
+    end else begin
+      if (_T_756) begin
+        ctrl_extradel_coarse <= _T_656;
+      end
+    end
+    if (reset) begin
+      ctrl_sampledel_sd <= 5'h3;
+    end else begin
+      if (_T_1357) begin
+        ctrl_sampledel_sd <= _T_1359;
+      end
+    end
+    if (reset) begin
+      ie_txwm <= 1'h0;
+    end else begin
+      if (_T_935) begin
+        ie_txwm <= _T_681;
+      end
+    end
+    if (reset) begin
+      ie_rxwm <= 1'h0;
+    end else begin
+      if (_T_960) begin
+        ie_rxwm <= _T_833;
+      end
+    end
+  end
+endmodule
+module SynchronizerShiftReg_w32_d3( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276403.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276404.4]
+  input  [31:0] io_d, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276406.4]
+  output [31:0] io_q // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276406.4]
+);
+  reg [31:0] sync_0; // @[ShiftReg.scala 114:16:shc.marmotcaravel.MarmotCaravelConfig.fir@276411.4]
+  reg [31:0] _RAND_0;
+  reg [31:0] sync_1; // @[ShiftReg.scala 114:16:shc.marmotcaravel.MarmotCaravelConfig.fir@276412.4]
+  reg [31:0] _RAND_1;
+  reg [31:0] sync_2; // @[ShiftReg.scala 114:16:shc.marmotcaravel.MarmotCaravelConfig.fir@276413.4]
+  reg [31:0] _RAND_2;
+  assign io_q = sync_0; // @[ShiftReg.scala 123:8:shc.marmotcaravel.MarmotCaravelConfig.fir@276417.4]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  sync_0 = _RAND_0[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  sync_1 = _RAND_1[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  sync_2 = _RAND_2[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    sync_0 <= sync_1;
+    sync_1 <= sync_2;
+    sync_2 <= io_d;
+  end
+endmodule
+module IntXing_8( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276419.2]
+  input   clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276420.4]
+  input   auto_int_in_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.4]
+  input   auto_int_in_1, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.4]
+  input   auto_int_in_2, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.4]
+  input   auto_int_in_3, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.4]
+  input   auto_int_in_4, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.4]
+  input   auto_int_in_5, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.4]
+  input   auto_int_in_6, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.4]
+  input   auto_int_in_7, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.4]
+  input   auto_int_in_8, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.4]
+  input   auto_int_in_9, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.4]
+  input   auto_int_in_10, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.4]
+  input   auto_int_in_11, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.4]
+  input   auto_int_in_12, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.4]
+  input   auto_int_in_13, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.4]
+  input   auto_int_in_14, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.4]
+  input   auto_int_in_15, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.4]
+  input   auto_int_in_16, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.4]
+  input   auto_int_in_17, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.4]
+  input   auto_int_in_18, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.4]
+  input   auto_int_in_19, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.4]
+  input   auto_int_in_20, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.4]
+  input   auto_int_in_21, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.4]
+  input   auto_int_in_22, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.4]
+  input   auto_int_in_23, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.4]
+  input   auto_int_in_24, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.4]
+  input   auto_int_in_25, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.4]
+  input   auto_int_in_26, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.4]
+  input   auto_int_in_27, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.4]
+  input   auto_int_in_28, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.4]
+  input   auto_int_in_29, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.4]
+  input   auto_int_in_30, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.4]
+  input   auto_int_in_31, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.4]
+  output  auto_int_out_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.4]
+  output  auto_int_out_1, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.4]
+  output  auto_int_out_2, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.4]
+  output  auto_int_out_3, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.4]
+  output  auto_int_out_4, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.4]
+  output  auto_int_out_5, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.4]
+  output  auto_int_out_6, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.4]
+  output  auto_int_out_7, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.4]
+  output  auto_int_out_8, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.4]
+  output  auto_int_out_9, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.4]
+  output  auto_int_out_10, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.4]
+  output  auto_int_out_11, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.4]
+  output  auto_int_out_12, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.4]
+  output  auto_int_out_13, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.4]
+  output  auto_int_out_14, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.4]
+  output  auto_int_out_15, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.4]
+  output  auto_int_out_16, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.4]
+  output  auto_int_out_17, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.4]
+  output  auto_int_out_18, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.4]
+  output  auto_int_out_19, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.4]
+  output  auto_int_out_20, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.4]
+  output  auto_int_out_21, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.4]
+  output  auto_int_out_22, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.4]
+  output  auto_int_out_23, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.4]
+  output  auto_int_out_24, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.4]
+  output  auto_int_out_25, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.4]
+  output  auto_int_out_26, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.4]
+  output  auto_int_out_27, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.4]
+  output  auto_int_out_28, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.4]
+  output  auto_int_out_29, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.4]
+  output  auto_int_out_30, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.4]
+  output  auto_int_out_31 // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.4]
+);
+  wire  SynchronizerShiftReg_w32_d3_clock; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@276433.4]
+  wire [31:0] SynchronizerShiftReg_w32_d3_io_d; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@276433.4]
+  wire [31:0] SynchronizerShiftReg_w32_d3_io_q; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@276433.4]
+  wire [1:0] _T_551; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@276437.4]
+  wire [1:0] _T_552; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@276438.4]
+  wire [3:0] _T_553; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@276439.4]
+  wire [1:0] _T_554; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@276440.4]
+  wire [1:0] _T_555; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@276441.4]
+  wire [3:0] _T_556; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@276442.4]
+  wire [7:0] _T_557; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@276443.4]
+  wire [1:0] _T_558; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@276444.4]
+  wire [1:0] _T_559; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@276445.4]
+  wire [3:0] _T_560; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@276446.4]
+  wire [1:0] _T_561; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@276447.4]
+  wire [1:0] _T_562; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@276448.4]
+  wire [3:0] _T_563; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@276449.4]
+  wire [7:0] _T_564; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@276450.4]
+  wire [15:0] _T_565; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@276451.4]
+  wire [1:0] _T_566; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@276452.4]
+  wire [1:0] _T_567; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@276453.4]
+  wire [3:0] _T_568; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@276454.4]
+  wire [1:0] _T_569; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@276455.4]
+  wire [1:0] _T_570; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@276456.4]
+  wire [3:0] _T_571; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@276457.4]
+  wire [7:0] _T_572; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@276458.4]
+  wire [1:0] _T_573; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@276459.4]
+  wire [1:0] _T_574; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@276460.4]
+  wire [3:0] _T_575; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@276461.4]
+  wire [1:0] _T_576; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@276462.4]
+  wire [1:0] _T_577; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@276463.4]
+  wire [3:0] _T_578; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@276464.4]
+  wire [7:0] _T_579; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@276465.4]
+  wire [15:0] _T_580; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@276466.4]
+  wire [31:0] _T_752; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276471.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@276473.4]
+  SynchronizerShiftReg_w32_d3 SynchronizerShiftReg_w32_d3 ( // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@276433.4]
+    .clock(SynchronizerShiftReg_w32_d3_clock),
+    .io_d(SynchronizerShiftReg_w32_d3_io_d),
+    .io_q(SynchronizerShiftReg_w32_d3_io_q)
+  );
+  assign _T_551 = {auto_int_in_1,auto_int_in_0}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@276437.4]
+  assign _T_552 = {auto_int_in_3,auto_int_in_2}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@276438.4]
+  assign _T_553 = {_T_552,_T_551}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@276439.4]
+  assign _T_554 = {auto_int_in_5,auto_int_in_4}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@276440.4]
+  assign _T_555 = {auto_int_in_7,auto_int_in_6}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@276441.4]
+  assign _T_556 = {_T_555,_T_554}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@276442.4]
+  assign _T_557 = {_T_556,_T_553}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@276443.4]
+  assign _T_558 = {auto_int_in_9,auto_int_in_8}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@276444.4]
+  assign _T_559 = {auto_int_in_11,auto_int_in_10}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@276445.4]
+  assign _T_560 = {_T_559,_T_558}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@276446.4]
+  assign _T_561 = {auto_int_in_13,auto_int_in_12}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@276447.4]
+  assign _T_562 = {auto_int_in_15,auto_int_in_14}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@276448.4]
+  assign _T_563 = {_T_562,_T_561}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@276449.4]
+  assign _T_564 = {_T_563,_T_560}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@276450.4]
+  assign _T_565 = {_T_564,_T_557}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@276451.4]
+  assign _T_566 = {auto_int_in_17,auto_int_in_16}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@276452.4]
+  assign _T_567 = {auto_int_in_19,auto_int_in_18}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@276453.4]
+  assign _T_568 = {_T_567,_T_566}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@276454.4]
+  assign _T_569 = {auto_int_in_21,auto_int_in_20}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@276455.4]
+  assign _T_570 = {auto_int_in_23,auto_int_in_22}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@276456.4]
+  assign _T_571 = {_T_570,_T_569}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@276457.4]
+  assign _T_572 = {_T_571,_T_568}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@276458.4]
+  assign _T_573 = {auto_int_in_25,auto_int_in_24}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@276459.4]
+  assign _T_574 = {auto_int_in_27,auto_int_in_26}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@276460.4]
+  assign _T_575 = {_T_574,_T_573}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@276461.4]
+  assign _T_576 = {auto_int_in_29,auto_int_in_28}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@276462.4]
+  assign _T_577 = {auto_int_in_31,auto_int_in_30}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@276463.4]
+  assign _T_578 = {_T_577,_T_576}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@276464.4]
+  assign _T_579 = {_T_578,_T_575}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@276465.4]
+  assign _T_580 = {_T_579,_T_572}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@276466.4]
+  assign _T_752 = SynchronizerShiftReg_w32_d3_io_q; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276471.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@276473.4]
+  assign auto_int_out_0 = _T_752[0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@276431.4]
+  assign auto_int_out_1 = _T_752[1]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@276431.4]
+  assign auto_int_out_2 = _T_752[2]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@276431.4]
+  assign auto_int_out_3 = _T_752[3]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@276431.4]
+  assign auto_int_out_4 = _T_752[4]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@276431.4]
+  assign auto_int_out_5 = _T_752[5]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@276431.4]
+  assign auto_int_out_6 = _T_752[6]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@276431.4]
+  assign auto_int_out_7 = _T_752[7]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@276431.4]
+  assign auto_int_out_8 = _T_752[8]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@276431.4]
+  assign auto_int_out_9 = _T_752[9]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@276431.4]
+  assign auto_int_out_10 = _T_752[10]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@276431.4]
+  assign auto_int_out_11 = _T_752[11]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@276431.4]
+  assign auto_int_out_12 = _T_752[12]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@276431.4]
+  assign auto_int_out_13 = _T_752[13]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@276431.4]
+  assign auto_int_out_14 = _T_752[14]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@276431.4]
+  assign auto_int_out_15 = _T_752[15]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@276431.4]
+  assign auto_int_out_16 = _T_752[16]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@276431.4]
+  assign auto_int_out_17 = _T_752[17]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@276431.4]
+  assign auto_int_out_18 = _T_752[18]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@276431.4]
+  assign auto_int_out_19 = _T_752[19]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@276431.4]
+  assign auto_int_out_20 = _T_752[20]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@276431.4]
+  assign auto_int_out_21 = _T_752[21]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@276431.4]
+  assign auto_int_out_22 = _T_752[22]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@276431.4]
+  assign auto_int_out_23 = _T_752[23]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@276431.4]
+  assign auto_int_out_24 = _T_752[24]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@276431.4]
+  assign auto_int_out_25 = _T_752[25]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@276431.4]
+  assign auto_int_out_26 = _T_752[26]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@276431.4]
+  assign auto_int_out_27 = _T_752[27]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@276431.4]
+  assign auto_int_out_28 = _T_752[28]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@276431.4]
+  assign auto_int_out_29 = _T_752[29]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@276431.4]
+  assign auto_int_out_30 = _T_752[30]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@276431.4]
+  assign auto_int_out_31 = _T_752[31]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@276431.4]
+  assign SynchronizerShiftReg_w32_d3_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276435.4]
+  assign SynchronizerShiftReg_w32_d3_io_d = {_T_580,_T_565}; // @[ShiftReg.scala 49:16:shc.marmotcaravel.MarmotCaravelConfig.fir@276468.4]
+endmodule
+module TLMonitor_76( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276547.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276548.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276549.4]
+  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276550.4]
+  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276550.4]
+  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276550.4]
+  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276550.4]
+  input  [1:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276550.4]
+  input  [5:0]  io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276550.4]
+  input  [28:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276550.4]
+  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276550.4]
+  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276550.4]
+  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276550.4]
+  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276550.4]
+  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276550.4]
+  input  [1:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276550.4]
+  input  [5:0]  io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276550.4]
+);
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@277677.4]
+  wire [4:0] _T_36; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@276577.6]
+  wire [1:0] _T_37; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@276578.6]
+  wire [1:0] _T_38; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@276579.6]
+  wire [28:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@276580.6]
+  wire [28:0] _T_39; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@276580.6]
+  wire  _T_40; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@276581.6]
+  wire  _T_42; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@276583.6]
+  wire [1:0] _T_43; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@276584.6]
+  wire [1:0] _T_45; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@276586.6]
+  wire  _T_46; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@276587.6]
+  wire  _T_47; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@276588.6]
+  wire  _T_48; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@276589.6]
+  wire  _T_49; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@276590.6]
+  wire  _T_51; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@276592.6]
+  wire  _T_52; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@276593.6]
+  wire  _T_54; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@276595.6]
+  wire  _T_55; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@276596.6]
+  wire  _T_56; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@276597.6]
+  wire  _T_57; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@276598.6]
+  wire  _T_58; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@276599.6]
+  wire  _T_59; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@276600.6]
+  wire  _T_60; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@276601.6]
+  wire  _T_61; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@276602.6]
+  wire  _T_62; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@276603.6]
+  wire  _T_63; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@276604.6]
+  wire  _T_64; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@276605.6]
+  wire  _T_65; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@276606.6]
+  wire  _T_66; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@276607.6]
+  wire  _T_67; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@276608.6]
+  wire  _T_68; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@276609.6]
+  wire  _T_69; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@276610.6]
+  wire  _T_70; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@276611.6]
+  wire [1:0] _T_71; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@276612.6]
+  wire [1:0] _T_72; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@276613.6]
+  wire [3:0] _T_73; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@276614.6]
+  wire  _T_92; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@276637.6]
+  wire [28:0] _T_94; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@276640.8]
+  wire [29:0] _T_95; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@276641.8]
+  wire [29:0] _T_96; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@276642.8]
+  wire [29:0] _T_97; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@276643.8]
+  wire  _T_98; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@276644.8]
+  wire  _T_103; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276649.8]
+  wire  _T_112; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276670.8]
+  wire  _T_113; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276671.8]
+  wire  _T_115; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276677.8]
+  wire  _T_116; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276678.8]
+  wire  _T_117; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@276683.8]
+  wire  _T_119; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276685.8]
+  wire  _T_120; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276686.8]
+  wire [3:0] _T_121; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@276691.8]
+  wire  _T_122; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@276692.8]
+  wire  _T_124; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276694.8]
+  wire  _T_125; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276695.8]
+  wire  _T_126; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@276700.8]
+  wire  _T_128; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276702.8]
+  wire  _T_129; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276703.8]
+  wire  _T_130; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@276709.6]
+  wire  _T_159; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@276763.8]
+  wire  _T_161; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276765.8]
+  wire  _T_162; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276766.8]
+  wire  _T_172; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@276789.6]
+  wire  _T_174; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@276792.8]
+  wire  _T_182; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@276800.8]
+  wire  _T_185; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276803.8]
+  wire  _T_186; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276804.8]
+  wire  _T_193; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@276823.8]
+  wire  _T_195; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276825.8]
+  wire  _T_196; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276826.8]
+  wire  _T_197; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@276831.8]
+  wire  _T_199; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276833.8]
+  wire  _T_200; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276834.8]
+  wire  _T_205; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@276848.6]
+  wire  _T_234; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@276899.6]
+  wire [3:0] _T_259; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@276941.8]
+  wire [3:0] _T_260; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@276942.8]
+  wire  _T_261; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@276943.8]
+  wire  _T_263; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276945.8]
+  wire  _T_264; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276946.8]
+  wire  _T_265; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@276952.6]
+  wire  _T_283; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@276983.8]
+  wire  _T_285; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276985.8]
+  wire  _T_286; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276986.8]
+  wire  _T_291; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@277000.6]
+  wire  _T_309; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@277031.8]
+  wire  _T_311; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277033.8]
+  wire  _T_312; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277034.8]
+  wire  _T_317; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@277048.6]
+  wire  _T_343; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277098.6]
+  wire  _T_345; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@277100.6]
+  wire  _T_346; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@277101.6]
+  wire  _T_363; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@277118.6]
+  wire  _T_367; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@277127.8]
+  wire  _T_369; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277129.8]
+  wire  _T_370; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277130.8]
+  wire  _T_383; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@277160.6]
+  wire  _T_411; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@277218.6]
+  wire  _T_504; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@277408.4]
+  reg  _T_514; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@277417.4]
+  reg [31:0] _RAND_0;
+  wire [1:0] _T_515; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@277418.4]
+  wire [1:0] _T_516; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@277419.4]
+  wire  _T_517; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@277420.4]
+  wire  _T_518; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@277421.4]
+  reg [2:0] _T_527; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@277432.4]
+  reg [31:0] _RAND_1;
+  reg [2:0] _T_529; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@277433.4]
+  reg [31:0] _RAND_2;
+  reg [1:0] _T_531; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@277434.4]
+  reg [31:0] _RAND_3;
+  reg [5:0] _T_533; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@277435.4]
+  reg [31:0] _RAND_4;
+  reg [28:0] _T_535; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@277436.4]
+  reg [31:0] _RAND_5;
+  wire  _T_536; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@277437.4]
+  wire  _T_537; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@277438.4]
+  wire  _T_538; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@277440.6]
+  wire  _T_540; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277442.6]
+  wire  _T_541; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277443.6]
+  wire  _T_542; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@277448.6]
+  wire  _T_544; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277450.6]
+  wire  _T_545; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277451.6]
+  wire  _T_546; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@277456.6]
+  wire  _T_548; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277458.6]
+  wire  _T_549; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277459.6]
+  wire  _T_550; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@277464.6]
+  wire  _T_552; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277466.6]
+  wire  _T_553; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277467.6]
+  wire  _T_554; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@277472.6]
+  wire  _T_556; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277474.6]
+  wire  _T_557; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277475.6]
+  wire  _T_559; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@277482.4]
+  wire  _T_560; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@277490.4]
+  reg  _T_569; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@277498.4]
+  reg [31:0] _RAND_6;
+  wire [1:0] _T_570; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@277499.4]
+  wire [1:0] _T_571; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@277500.4]
+  wire  _T_572; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@277501.4]
+  wire  _T_573; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@277502.4]
+  reg [2:0] _T_582; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@277513.4]
+  reg [31:0] _RAND_7;
+  reg [1:0] _T_586; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@277515.4]
+  reg [31:0] _RAND_8;
+  reg [5:0] _T_588; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@277516.4]
+  reg [31:0] _RAND_9;
+  wire  _T_593; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@277519.4]
+  wire  _T_594; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@277520.4]
+  wire  _T_595; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@277522.6]
+  wire  _T_597; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277524.6]
+  wire  _T_598; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277525.6]
+  wire  _T_603; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@277538.6]
+  wire  _T_605; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277540.6]
+  wire  _T_606; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277541.6]
+  wire  _T_607; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@277546.6]
+  wire  _T_609; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277548.6]
+  wire  _T_610; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277549.6]
+  wire  _T_620; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@277572.4]
+  reg [63:0] _T_622; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@277581.4]
+  reg [63:0] _RAND_10;
+  reg  _T_633; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@277591.4]
+  reg [31:0] _RAND_11;
+  wire [1:0] _T_634; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@277592.4]
+  wire [1:0] _T_635; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@277593.4]
+  wire  _T_636; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@277594.4]
+  wire  _T_637; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@277595.4]
+  reg  _T_654; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@277614.4]
+  reg [31:0] _RAND_12;
+  wire [1:0] _T_655; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@277615.4]
+  wire [1:0] _T_656; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@277616.4]
+  wire  _T_657; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@277617.4]
+  wire  _T_658; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@277618.4]
+  wire  _T_669; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@277633.4]
+  wire [63:0] _T_671; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@277636.6]
+  wire [63:0] _T_672; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@277638.6]
+  wire  _T_673; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@277639.6]
+  wire  _T_674; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277640.6]
+  wire  _T_676; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@277642.6]
+  wire  _T_677; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@277643.6]
+  wire [63:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@277635.4]
+  wire  _T_682; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@277654.4]
+  wire  _T_684; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@277656.4]
+  wire  _T_685; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@277657.4]
+  wire [63:0] _T_686; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@277659.6]
+  wire [63:0] _T_687; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@277661.6]
+  wire [63:0] _T_688; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@277662.6]
+  wire  _T_689; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@277663.6]
+  wire  _T_691; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@277665.6]
+  wire  _T_692; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@277666.6]
+  wire [63:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@277658.4]
+  wire [63:0] _T_693; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@277672.4]
+  wire [63:0] _T_694; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@277673.4]
+  wire [63:0] _T_695; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@277674.4]
+  reg [31:0] _T_697; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@277676.4]
+  reg [31:0] _RAND_13;
+  wire  _T_698; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@277679.4]
+  wire  _T_699; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@277680.4]
+  wire  _T_700; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@277681.4]
+  wire  _T_701; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@277682.4]
+  wire  _T_702; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@277683.4]
+  wire  _T_703; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@277684.4]
+  wire  _T_705; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@277686.4]
+  wire  _T_706; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@277687.4]
+  wire [31:0] _T_708; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@277693.4]
+  wire  _T_711; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@277697.4]
+  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276651.10]
+  wire  _GEN_33; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276723.10]
+  wire  _GEN_49; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276806.10]
+  wire  _GEN_59; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276865.10]
+  wire  _GEN_67; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276916.10]
+  wire  _GEN_75; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276966.10]
+  wire  _GEN_83; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277014.10]
+  wire  _GEN_91; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277062.10]
+  wire  _GEN_99; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277132.10]
+  wire  _GEN_101; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277173.10]
+  wire  _GEN_105; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277231.10]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@277677.4]
+    .out(plusarg_reader_out)
+  );
+  assign _T_36 = 5'h3 << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@276577.6]
+  assign _T_37 = _T_36[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@276578.6]
+  assign _T_38 = ~ _T_37; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@276579.6]
+  assign _GEN_18 = {{27'd0}, _T_38}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@276580.6]
+  assign _T_39 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@276580.6]
+  assign _T_40 = _T_39 == 29'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@276581.6]
+  assign _T_42 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@276583.6]
+  assign _T_43 = 2'h1 << _T_42; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@276584.6]
+  assign _T_45 = _T_43 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@276586.6]
+  assign _T_46 = io_in_a_bits_size >= 2'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@276587.6]
+  assign _T_47 = _T_45[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@276588.6]
+  assign _T_48 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@276589.6]
+  assign _T_49 = _T_48 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@276590.6]
+  assign _T_51 = _T_47 & _T_49; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@276592.6]
+  assign _T_52 = _T_46 | _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@276593.6]
+  assign _T_54 = _T_47 & _T_48; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@276595.6]
+  assign _T_55 = _T_46 | _T_54; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@276596.6]
+  assign _T_56 = _T_45[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@276597.6]
+  assign _T_57 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@276598.6]
+  assign _T_58 = _T_57 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@276599.6]
+  assign _T_59 = _T_49 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@276600.6]
+  assign _T_60 = _T_56 & _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@276601.6]
+  assign _T_61 = _T_52 | _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@276602.6]
+  assign _T_62 = _T_49 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@276603.6]
+  assign _T_63 = _T_56 & _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@276604.6]
+  assign _T_64 = _T_52 | _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@276605.6]
+  assign _T_65 = _T_48 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@276606.6]
+  assign _T_66 = _T_56 & _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@276607.6]
+  assign _T_67 = _T_55 | _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@276608.6]
+  assign _T_68 = _T_48 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@276609.6]
+  assign _T_69 = _T_56 & _T_68; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@276610.6]
+  assign _T_70 = _T_55 | _T_69; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@276611.6]
+  assign _T_71 = {_T_64,_T_61}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@276612.6]
+  assign _T_72 = {_T_70,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@276613.6]
+  assign _T_73 = {_T_72,_T_71}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@276614.6]
+  assign _T_92 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@276637.6]
+  assign _T_94 = io_in_a_bits_address ^ 29'h10012000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@276640.8]
+  assign _T_95 = {1'b0,$signed(_T_94)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@276641.8]
+  assign _T_96 = $signed(_T_95) & $signed(-30'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@276642.8]
+  assign _T_97 = $signed(_T_96); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@276643.8]
+  assign _T_98 = $signed(_T_97) == $signed(30'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@276644.8]
+  assign _T_103 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276649.8]
+  assign _T_112 = _T_46 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276670.8]
+  assign _T_113 = _T_112 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276671.8]
+  assign _T_115 = _T_40 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276677.8]
+  assign _T_116 = _T_115 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276678.8]
+  assign _T_117 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@276683.8]
+  assign _T_119 = _T_117 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276685.8]
+  assign _T_120 = _T_119 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276686.8]
+  assign _T_121 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@276691.8]
+  assign _T_122 = _T_121 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@276692.8]
+  assign _T_124 = _T_122 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276694.8]
+  assign _T_125 = _T_124 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276695.8]
+  assign _T_126 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@276700.8]
+  assign _T_128 = _T_126 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276702.8]
+  assign _T_129 = _T_128 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276703.8]
+  assign _T_130 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@276709.6]
+  assign _T_159 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@276763.8]
+  assign _T_161 = _T_159 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276765.8]
+  assign _T_162 = _T_161 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276766.8]
+  assign _T_172 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@276789.6]
+  assign _T_174 = io_in_a_bits_size <= 2'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@276792.8]
+  assign _T_182 = _T_174 & _T_98; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@276800.8]
+  assign _T_185 = _T_182 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276803.8]
+  assign _T_186 = _T_185 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276804.8]
+  assign _T_193 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@276823.8]
+  assign _T_195 = _T_193 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276825.8]
+  assign _T_196 = _T_195 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276826.8]
+  assign _T_197 = io_in_a_bits_mask == _T_73; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@276831.8]
+  assign _T_199 = _T_197 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276833.8]
+  assign _T_200 = _T_199 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276834.8]
+  assign _T_205 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@276848.6]
+  assign _T_234 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@276899.6]
+  assign _T_259 = ~ _T_73; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@276941.8]
+  assign _T_260 = io_in_a_bits_mask & _T_259; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@276942.8]
+  assign _T_261 = _T_260 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@276943.8]
+  assign _T_263 = _T_261 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276945.8]
+  assign _T_264 = _T_263 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276946.8]
+  assign _T_265 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@276952.6]
+  assign _T_283 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@276983.8]
+  assign _T_285 = _T_283 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276985.8]
+  assign _T_286 = _T_285 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276986.8]
+  assign _T_291 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@277000.6]
+  assign _T_309 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@277031.8]
+  assign _T_311 = _T_309 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277033.8]
+  assign _T_312 = _T_311 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277034.8]
+  assign _T_317 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@277048.6]
+  assign _T_343 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277098.6]
+  assign _T_345 = _T_343 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@277100.6]
+  assign _T_346 = _T_345 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@277101.6]
+  assign _T_363 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@277118.6]
+  assign _T_367 = io_in_d_bits_size >= 2'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@277127.8]
+  assign _T_369 = _T_367 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277129.8]
+  assign _T_370 = _T_369 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277130.8]
+  assign _T_383 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@277160.6]
+  assign _T_411 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@277218.6]
+  assign _T_504 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@277408.4]
+  assign _T_515 = _T_514 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@277418.4]
+  assign _T_516 = $unsigned(_T_515); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@277419.4]
+  assign _T_517 = _T_516[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@277420.4]
+  assign _T_518 = _T_514 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@277421.4]
+  assign _T_536 = _T_518 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@277437.4]
+  assign _T_537 = io_in_a_valid & _T_536; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@277438.4]
+  assign _T_538 = io_in_a_bits_opcode == _T_527; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@277440.6]
+  assign _T_540 = _T_538 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277442.6]
+  assign _T_541 = _T_540 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277443.6]
+  assign _T_542 = io_in_a_bits_param == _T_529; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@277448.6]
+  assign _T_544 = _T_542 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277450.6]
+  assign _T_545 = _T_544 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277451.6]
+  assign _T_546 = io_in_a_bits_size == _T_531; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@277456.6]
+  assign _T_548 = _T_546 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277458.6]
+  assign _T_549 = _T_548 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277459.6]
+  assign _T_550 = io_in_a_bits_source == _T_533; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@277464.6]
+  assign _T_552 = _T_550 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277466.6]
+  assign _T_553 = _T_552 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277467.6]
+  assign _T_554 = io_in_a_bits_address == _T_535; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@277472.6]
+  assign _T_556 = _T_554 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277474.6]
+  assign _T_557 = _T_556 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277475.6]
+  assign _T_559 = _T_504 & _T_518; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@277482.4]
+  assign _T_560 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@277490.4]
+  assign _T_570 = _T_569 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@277499.4]
+  assign _T_571 = $unsigned(_T_570); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@277500.4]
+  assign _T_572 = _T_571[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@277501.4]
+  assign _T_573 = _T_569 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@277502.4]
+  assign _T_593 = _T_573 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@277519.4]
+  assign _T_594 = io_in_d_valid & _T_593; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@277520.4]
+  assign _T_595 = io_in_d_bits_opcode == _T_582; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@277522.6]
+  assign _T_597 = _T_595 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277524.6]
+  assign _T_598 = _T_597 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277525.6]
+  assign _T_603 = io_in_d_bits_size == _T_586; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@277538.6]
+  assign _T_605 = _T_603 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277540.6]
+  assign _T_606 = _T_605 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277541.6]
+  assign _T_607 = io_in_d_bits_source == _T_588; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@277546.6]
+  assign _T_609 = _T_607 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277548.6]
+  assign _T_610 = _T_609 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277549.6]
+  assign _T_620 = _T_560 & _T_573; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@277572.4]
+  assign _T_634 = _T_633 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@277592.4]
+  assign _T_635 = $unsigned(_T_634); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@277593.4]
+  assign _T_636 = _T_635[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@277594.4]
+  assign _T_637 = _T_633 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@277595.4]
+  assign _T_655 = _T_654 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@277615.4]
+  assign _T_656 = $unsigned(_T_655); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@277616.4]
+  assign _T_657 = _T_656[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@277617.4]
+  assign _T_658 = _T_654 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@277618.4]
+  assign _T_669 = _T_504 & _T_637; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@277633.4]
+  assign _T_671 = 64'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@277636.6]
+  assign _T_672 = _T_622 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@277638.6]
+  assign _T_673 = _T_672[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@277639.6]
+  assign _T_674 = _T_673 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277640.6]
+  assign _T_676 = _T_674 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@277642.6]
+  assign _T_677 = _T_676 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@277643.6]
+  assign _GEN_15 = _T_669 ? _T_671 : 64'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@277635.4]
+  assign _T_682 = _T_560 & _T_658; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@277654.4]
+  assign _T_684 = _T_363 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@277656.4]
+  assign _T_685 = _T_682 & _T_684; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@277657.4]
+  assign _T_686 = 64'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@277659.6]
+  assign _T_687 = _GEN_15 | _T_622; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@277661.6]
+  assign _T_688 = _T_687 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@277662.6]
+  assign _T_689 = _T_688[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@277663.6]
+  assign _T_691 = _T_689 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@277665.6]
+  assign _T_692 = _T_691 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@277666.6]
+  assign _GEN_16 = _T_685 ? _T_686 : 64'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@277658.4]
+  assign _T_693 = _T_622 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@277672.4]
+  assign _T_694 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@277673.4]
+  assign _T_695 = _T_693 & _T_694; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@277674.4]
+  assign _T_698 = _T_622 != 64'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@277679.4]
+  assign _T_699 = _T_698 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@277680.4]
+  assign _T_700 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@277681.4]
+  assign _T_701 = _T_699 | _T_700; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@277682.4]
+  assign _T_702 = _T_697 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@277683.4]
+  assign _T_703 = _T_701 | _T_702; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@277684.4]
+  assign _T_705 = _T_703 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@277686.4]
+  assign _T_706 = _T_705 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@277687.4]
+  assign _T_708 = _T_697 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@277693.4]
+  assign _T_711 = _T_504 | _T_560; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@277697.4]
+  assign _GEN_19 = io_in_a_valid & _T_92; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276651.10]
+  assign _GEN_33 = io_in_a_valid & _T_130; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276723.10]
+  assign _GEN_49 = io_in_a_valid & _T_172; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276806.10]
+  assign _GEN_59 = io_in_a_valid & _T_205; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276865.10]
+  assign _GEN_67 = io_in_a_valid & _T_234; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276916.10]
+  assign _GEN_75 = io_in_a_valid & _T_265; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276966.10]
+  assign _GEN_83 = io_in_a_valid & _T_291; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277014.10]
+  assign _GEN_91 = io_in_a_valid & _T_317; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277062.10]
+  assign _GEN_99 = io_in_d_valid & _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277132.10]
+  assign _GEN_101 = io_in_d_valid & _T_383; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277173.10]
+  assign _GEN_105 = io_in_d_valid & _T_411; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277231.10]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  _T_514 = _RAND_0[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  _T_527 = _RAND_1[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  _T_529 = _RAND_2[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  _T_531 = _RAND_3[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  _T_533 = _RAND_4[5:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  _T_535 = _RAND_5[28:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {1{`RANDOM}};
+  _T_569 = _RAND_6[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {1{`RANDOM}};
+  _T_582 = _RAND_7[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_8 = {1{`RANDOM}};
+  _T_586 = _RAND_8[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_9 = {1{`RANDOM}};
+  _T_588 = _RAND_9[5:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_10 = {2{`RANDOM}};
+  _T_622 = _RAND_10[63:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_11 = {1{`RANDOM}};
+  _T_633 = _RAND_11[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_12 = {1{`RANDOM}};
+  _T_654 = _RAND_12[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_13 = {1{`RANDOM}};
+  _T_697 = _RAND_13[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      _T_514 <= 1'h0;
+    end else begin
+      if (_T_504) begin
+        if (_T_518) begin
+          _T_514 <= 1'h0;
+        end else begin
+          _T_514 <= _T_517;
+        end
+      end
+    end
+    if (_T_559) begin
+      _T_527 <= io_in_a_bits_opcode;
+    end
+    if (_T_559) begin
+      _T_529 <= io_in_a_bits_param;
+    end
+    if (_T_559) begin
+      _T_531 <= io_in_a_bits_size;
+    end
+    if (_T_559) begin
+      _T_533 <= io_in_a_bits_source;
+    end
+    if (_T_559) begin
+      _T_535 <= io_in_a_bits_address;
+    end
+    if (reset) begin
+      _T_569 <= 1'h0;
+    end else begin
+      if (_T_560) begin
+        if (_T_573) begin
+          _T_569 <= 1'h0;
+        end else begin
+          _T_569 <= _T_572;
+        end
+      end
+    end
+    if (_T_620) begin
+      _T_582 <= io_in_d_bits_opcode;
+    end
+    if (_T_620) begin
+      _T_586 <= io_in_d_bits_size;
+    end
+    if (_T_620) begin
+      _T_588 <= io_in_d_bits_source;
+    end
+    if (reset) begin
+      _T_622 <= 64'h0;
+    end else begin
+      _T_622 <= _T_695;
+    end
+    if (reset) begin
+      _T_633 <= 1'h0;
+    end else begin
+      if (_T_504) begin
+        if (_T_637) begin
+          _T_633 <= 1'h0;
+        end else begin
+          _T_633 <= _T_636;
+        end
+      end
+    end
+    if (reset) begin
+      _T_654 <= 1'h0;
+    end else begin
+      if (_T_560) begin
+        if (_T_658) begin
+          _T_654 <= 1'h0;
+        end else begin
+          _T_654 <= _T_657;
+        end
+      end
+    end
+    if (reset) begin
+      _T_697 <= 32'h0;
+    end else begin
+      if (_T_711) begin
+        _T_697 <= 32'h0;
+      end else begin
+        _T_697 <= _T_708;
+      end
+    end
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@276562.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@276563.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@276634.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@276635.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276651.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_103) begin
+          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276652.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276658.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_103) begin
+          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276659.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276665.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276666.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_113) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276673.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_113) begin
+          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276674.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276680.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_116) begin
+          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276681.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_120) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276688.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_120) begin
+          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276689.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_125) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276697.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_125) begin
+          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276698.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_129) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276705.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_129) begin
+          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276706.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276723.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_103) begin
+          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276724.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276730.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_103) begin
+          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276731.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276737.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276738.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_113) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276745.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_113) begin
+          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276746.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276752.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_116) begin
+          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276753.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_120) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276760.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_120) begin
+          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276761.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_162) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276768.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_162) begin
+          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276769.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_125) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276777.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_125) begin
+          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276778.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_129) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276785.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_129) begin
+          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276786.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_186) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276806.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_186) begin
+          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276807.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276813.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276814.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276820.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_116) begin
+          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276821.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_196) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276828.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_196) begin
+          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276829.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276836.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_200) begin
+          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276837.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_129) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276844.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_129) begin
+          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276845.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_59 & _T_186) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276865.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_59 & _T_186) begin
+          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276866.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276872.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276873.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_59 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276879.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_59 & _T_116) begin
+          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276880.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_59 & _T_196) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276887.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_59 & _T_196) begin
+          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276888.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_59 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276895.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_59 & _T_200) begin
+          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276896.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_67 & _T_186) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276916.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_67 & _T_186) begin
+          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276917.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276923.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276924.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_67 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276930.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_67 & _T_116) begin
+          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276931.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_67 & _T_196) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276938.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_67 & _T_196) begin
+          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276939.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_67 & _T_264) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276948.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_67 & _T_264) begin
+          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276949.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276966.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_103) begin
+          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276967.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276973.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276974.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276980.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_116) begin
+          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276981.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_286) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276988.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_286) begin
+          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276989.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276996.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_200) begin
+          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276997.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_83 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277014.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_83 & _T_103) begin
+          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277015.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277021.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277022.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_83 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277028.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_83 & _T_116) begin
+          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277029.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_83 & _T_312) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277036.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_83 & _T_312) begin
+          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277037.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_83 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277044.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_83 & _T_200) begin
+          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277045.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_91 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277062.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_91 & _T_103) begin
+          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277063.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277069.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277070.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_91 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277076.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_91 & _T_116) begin
+          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277077.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_91 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277084.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_91 & _T_200) begin
+          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277085.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_91 & _T_129) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277092.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_91 & _T_129) begin
+          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277093.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_346) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@277103.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_346) begin
+          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@277104.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277124.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277125.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_99 & _T_370) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277132.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_99 & _T_370) begin
+          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277133.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277140.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277141.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277148.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277149.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277156.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277157.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277166.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277167.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_101 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277173.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_101 & _T_103) begin
+          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277174.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_101 & _T_370) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277181.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_101 & _T_370) begin
+          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277182.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277189.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277190.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277197.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277198.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277205.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277206.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277214.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277215.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277224.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277225.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277231.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_103) begin
+          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277232.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_370) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277239.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_370) begin
+          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277240.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277247.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277248.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277255.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277256.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277264.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277265.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277273.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277274.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277283.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277284.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277291.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277292.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277299.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277300.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277308.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277309.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277318.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277319.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277326.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277327.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277335.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277336.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277344.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277345.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277354.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277355.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277362.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277363.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277370.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277371.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277379.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277380.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277389.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277390.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277397.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277398.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277405.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277406.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_541) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277445.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_541) begin
+          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277446.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_545) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277453.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_545) begin
+          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277454.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_549) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277461.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_549) begin
+          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277462.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_553) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277469.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_553) begin
+          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277470.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_557) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277477.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_557) begin
+          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277478.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_594 & _T_598) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277527.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_594 & _T_598) begin
+          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277528.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277535.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277536.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_594 & _T_606) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277543.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_594 & _T_606) begin
+          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277544.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_594 & _T_610) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277551.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_594 & _T_610) begin
+          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277552.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277559.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277560.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277567.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277568.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_669 & _T_677) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@277645.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_669 & _T_677) begin
+          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@277646.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_685 & _T_692) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@277668.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_685 & _T_692) begin
+          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@277669.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_706) begin
+          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@277689.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_706) begin
+          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@277690.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+endmodule
+module TLBuffer_26( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@277702.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@277703.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@277704.4]
+  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@277705.4]
+  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@277705.4]
+  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@277705.4]
+  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@277705.4]
+  input  [1:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@277705.4]
+  input  [5:0]  auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@277705.4]
+  input  [28:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@277705.4]
+  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@277705.4]
+  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@277705.4]
+  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@277705.4]
+  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@277705.4]
+  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@277705.4]
+  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@277705.4]
+  output [1:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@277705.4]
+  output [5:0]  auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@277705.4]
+  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@277705.4]
+  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@277705.4]
+  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@277705.4]
+  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@277705.4]
+  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@277705.4]
+  output [1:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@277705.4]
+  output [5:0]  auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@277705.4]
+  output [28:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@277705.4]
+  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@277705.4]
+  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@277705.4]
+  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@277705.4]
+  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@277705.4]
+  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@277705.4]
+  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@277705.4]
+  input  [1:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@277705.4]
+  input  [5:0]  auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@277705.4]
+  input  [31:0] auto_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@277705.4]
+);
+  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@277712.4]
+  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@277712.4]
+  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@277712.4]
+  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@277712.4]
+  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@277712.4]
+  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@277712.4]
+  wire [1:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@277712.4]
+  wire [5:0] TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@277712.4]
+  wire [28:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@277712.4]
+  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@277712.4]
+  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@277712.4]
+  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@277712.4]
+  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@277712.4]
+  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@277712.4]
+  wire [1:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@277712.4]
+  wire [5:0] TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@277712.4]
+  TLMonitor_76 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@277712.4]
+    .clock(TLMonitor_clock),
+    .reset(TLMonitor_reset),
+    .io_in_a_ready(TLMonitor_io_in_a_ready),
+    .io_in_a_valid(TLMonitor_io_in_a_valid),
+    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
+    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
+    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
+    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
+    .io_in_d_ready(TLMonitor_io_in_d_ready),
+    .io_in_d_valid(TLMonitor_io_in_d_valid),
+    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
+    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
+    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source)
+  );
+  assign auto_in_a_ready = auto_out_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@277752.4]
+  assign auto_in_d_valid = auto_out_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@277752.4]
+  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@277752.4]
+  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@277752.4]
+  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@277752.4]
+  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@277752.4]
+  assign auto_out_a_valid = auto_in_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@277751.4]
+  assign auto_out_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@277751.4]
+  assign auto_out_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@277751.4]
+  assign auto_out_a_bits_size = auto_in_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@277751.4]
+  assign auto_out_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@277751.4]
+  assign auto_out_a_bits_address = auto_in_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@277751.4]
+  assign auto_out_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@277751.4]
+  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@277751.4]
+  assign auto_out_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@277751.4]
+  assign auto_out_d_ready = auto_in_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@277751.4]
+  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@277714.4]
+  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@277715.4]
+  assign TLMonitor_io_in_a_ready = auto_out_a_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@277748.4]
+  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@277748.4]
+  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@277748.4]
+  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@277748.4]
+  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@277748.4]
+  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@277748.4]
+  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@277748.4]
+  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@277748.4]
+  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@277748.4]
+  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@277748.4]
+  assign TLMonitor_io_in_d_valid = auto_out_d_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@277748.4]
+  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@277748.4]
+  assign TLMonitor_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@277748.4]
+  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@277748.4]
+endmodule
+module IntSyncCrossingSource_13( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278475.2]
+  input   clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278476.4]
+  input   reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278477.4]
+  input   auto_in_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278478.4]
+  input   auto_in_1, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278478.4]
+  input   auto_in_2, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278478.4]
+  input   auto_in_3, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278478.4]
+  input   auto_in_4, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278478.4]
+  input   auto_in_5, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278478.4]
+  input   auto_in_6, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278478.4]
+  input   auto_in_7, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278478.4]
+  input   auto_in_8, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278478.4]
+  input   auto_in_9, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278478.4]
+  input   auto_in_10, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278478.4]
+  input   auto_in_11, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278478.4]
+  input   auto_in_12, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278478.4]
+  input   auto_in_13, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278478.4]
+  input   auto_in_14, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278478.4]
+  input   auto_in_15, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278478.4]
+  input   auto_in_16, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278478.4]
+  input   auto_in_17, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278478.4]
+  input   auto_in_18, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278478.4]
+  input   auto_in_19, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278478.4]
+  input   auto_in_20, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278478.4]
+  input   auto_in_21, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278478.4]
+  input   auto_in_22, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278478.4]
+  input   auto_in_23, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278478.4]
+  input   auto_in_24, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278478.4]
+  input   auto_in_25, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278478.4]
+  input   auto_in_26, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278478.4]
+  input   auto_in_27, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278478.4]
+  input   auto_in_28, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278478.4]
+  input   auto_in_29, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278478.4]
+  input   auto_in_30, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278478.4]
+  input   auto_in_31, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278478.4]
+  output  auto_out_sync_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278478.4]
+  output  auto_out_sync_1, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278478.4]
+  output  auto_out_sync_2, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278478.4]
+  output  auto_out_sync_3, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278478.4]
+  output  auto_out_sync_4, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278478.4]
+  output  auto_out_sync_5, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278478.4]
+  output  auto_out_sync_6, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278478.4]
+  output  auto_out_sync_7, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278478.4]
+  output  auto_out_sync_8, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278478.4]
+  output  auto_out_sync_9, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278478.4]
+  output  auto_out_sync_10, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278478.4]
+  output  auto_out_sync_11, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278478.4]
+  output  auto_out_sync_12, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278478.4]
+  output  auto_out_sync_13, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278478.4]
+  output  auto_out_sync_14, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278478.4]
+  output  auto_out_sync_15, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278478.4]
+  output  auto_out_sync_16, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278478.4]
+  output  auto_out_sync_17, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278478.4]
+  output  auto_out_sync_18, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278478.4]
+  output  auto_out_sync_19, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278478.4]
+  output  auto_out_sync_20, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278478.4]
+  output  auto_out_sync_21, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278478.4]
+  output  auto_out_sync_22, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278478.4]
+  output  auto_out_sync_23, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278478.4]
+  output  auto_out_sync_24, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278478.4]
+  output  auto_out_sync_25, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278478.4]
+  output  auto_out_sync_26, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278478.4]
+  output  auto_out_sync_27, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278478.4]
+  output  auto_out_sync_28, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278478.4]
+  output  auto_out_sync_29, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278478.4]
+  output  auto_out_sync_30, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278478.4]
+  output  auto_out_sync_31 // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278478.4]
+);
+  wire  AsyncResetRegVec_w32_i0_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@278520.4]
+  wire  AsyncResetRegVec_w32_i0_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@278520.4]
+  wire [31:0] AsyncResetRegVec_w32_i0_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@278520.4]
+  wire [31:0] AsyncResetRegVec_w32_i0_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@278520.4]
+  wire  AsyncResetRegVec_w32_i0_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@278520.4]
+  wire [1:0] _T_389; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278489.4]
+  wire [1:0] _T_390; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278490.4]
+  wire [3:0] _T_391; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278491.4]
+  wire [1:0] _T_392; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278492.4]
+  wire [1:0] _T_393; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278493.4]
+  wire [3:0] _T_394; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278494.4]
+  wire [7:0] _T_395; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278495.4]
+  wire [1:0] _T_396; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278496.4]
+  wire [1:0] _T_397; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278497.4]
+  wire [3:0] _T_398; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278498.4]
+  wire [1:0] _T_399; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278499.4]
+  wire [1:0] _T_400; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278500.4]
+  wire [3:0] _T_401; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278501.4]
+  wire [7:0] _T_402; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278502.4]
+  wire [15:0] _T_403; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278503.4]
+  wire [1:0] _T_404; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278504.4]
+  wire [1:0] _T_405; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278505.4]
+  wire [3:0] _T_406; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278506.4]
+  wire [1:0] _T_407; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278507.4]
+  wire [1:0] _T_408; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278508.4]
+  wire [3:0] _T_409; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278509.4]
+  wire [7:0] _T_410; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278510.4]
+  wire [1:0] _T_411; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278511.4]
+  wire [1:0] _T_412; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278512.4]
+  wire [3:0] _T_413; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278513.4]
+  wire [1:0] _T_414; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278514.4]
+  wire [1:0] _T_415; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278515.4]
+  wire [3:0] _T_416; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278516.4]
+  wire [7:0] _T_417; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278517.4]
+  wire [15:0] _T_418; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278518.4]
+  AsyncResetRegVec_w32_i0 AsyncResetRegVec_w32_i0 ( // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@278520.4]
+    .clock(AsyncResetRegVec_w32_i0_clock),
+    .reset(AsyncResetRegVec_w32_i0_reset),
+    .io_d(AsyncResetRegVec_w32_i0_io_d),
+    .io_q(AsyncResetRegVec_w32_i0_io_q),
+    .io_en(AsyncResetRegVec_w32_i0_io_en)
+  );
+  assign _T_389 = {auto_in_1,auto_in_0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278489.4]
+  assign _T_390 = {auto_in_3,auto_in_2}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278490.4]
+  assign _T_391 = {_T_390,_T_389}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278491.4]
+  assign _T_392 = {auto_in_5,auto_in_4}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278492.4]
+  assign _T_393 = {auto_in_7,auto_in_6}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278493.4]
+  assign _T_394 = {_T_393,_T_392}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278494.4]
+  assign _T_395 = {_T_394,_T_391}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278495.4]
+  assign _T_396 = {auto_in_9,auto_in_8}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278496.4]
+  assign _T_397 = {auto_in_11,auto_in_10}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278497.4]
+  assign _T_398 = {_T_397,_T_396}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278498.4]
+  assign _T_399 = {auto_in_13,auto_in_12}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278499.4]
+  assign _T_400 = {auto_in_15,auto_in_14}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278500.4]
+  assign _T_401 = {_T_400,_T_399}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278501.4]
+  assign _T_402 = {_T_401,_T_398}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278502.4]
+  assign _T_403 = {_T_402,_T_395}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278503.4]
+  assign _T_404 = {auto_in_17,auto_in_16}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278504.4]
+  assign _T_405 = {auto_in_19,auto_in_18}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278505.4]
+  assign _T_406 = {_T_405,_T_404}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278506.4]
+  assign _T_407 = {auto_in_21,auto_in_20}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278507.4]
+  assign _T_408 = {auto_in_23,auto_in_22}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278508.4]
+  assign _T_409 = {_T_408,_T_407}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278509.4]
+  assign _T_410 = {_T_409,_T_406}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278510.4]
+  assign _T_411 = {auto_in_25,auto_in_24}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278511.4]
+  assign _T_412 = {auto_in_27,auto_in_26}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278512.4]
+  assign _T_413 = {_T_412,_T_411}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278513.4]
+  assign _T_414 = {auto_in_29,auto_in_28}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278514.4]
+  assign _T_415 = {auto_in_31,auto_in_30}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278515.4]
+  assign _T_416 = {_T_415,_T_414}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278516.4]
+  assign _T_417 = {_T_416,_T_413}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278517.4]
+  assign _T_418 = {_T_417,_T_410}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278518.4]
+  assign auto_out_sync_0 = AsyncResetRegVec_w32_i0_io_q[0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@278487.4]
+  assign auto_out_sync_1 = AsyncResetRegVec_w32_i0_io_q[1]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@278487.4]
+  assign auto_out_sync_2 = AsyncResetRegVec_w32_i0_io_q[2]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@278487.4]
+  assign auto_out_sync_3 = AsyncResetRegVec_w32_i0_io_q[3]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@278487.4]
+  assign auto_out_sync_4 = AsyncResetRegVec_w32_i0_io_q[4]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@278487.4]
+  assign auto_out_sync_5 = AsyncResetRegVec_w32_i0_io_q[5]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@278487.4]
+  assign auto_out_sync_6 = AsyncResetRegVec_w32_i0_io_q[6]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@278487.4]
+  assign auto_out_sync_7 = AsyncResetRegVec_w32_i0_io_q[7]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@278487.4]
+  assign auto_out_sync_8 = AsyncResetRegVec_w32_i0_io_q[8]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@278487.4]
+  assign auto_out_sync_9 = AsyncResetRegVec_w32_i0_io_q[9]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@278487.4]
+  assign auto_out_sync_10 = AsyncResetRegVec_w32_i0_io_q[10]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@278487.4]
+  assign auto_out_sync_11 = AsyncResetRegVec_w32_i0_io_q[11]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@278487.4]
+  assign auto_out_sync_12 = AsyncResetRegVec_w32_i0_io_q[12]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@278487.4]
+  assign auto_out_sync_13 = AsyncResetRegVec_w32_i0_io_q[13]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@278487.4]
+  assign auto_out_sync_14 = AsyncResetRegVec_w32_i0_io_q[14]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@278487.4]
+  assign auto_out_sync_15 = AsyncResetRegVec_w32_i0_io_q[15]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@278487.4]
+  assign auto_out_sync_16 = AsyncResetRegVec_w32_i0_io_q[16]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@278487.4]
+  assign auto_out_sync_17 = AsyncResetRegVec_w32_i0_io_q[17]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@278487.4]
+  assign auto_out_sync_18 = AsyncResetRegVec_w32_i0_io_q[18]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@278487.4]
+  assign auto_out_sync_19 = AsyncResetRegVec_w32_i0_io_q[19]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@278487.4]
+  assign auto_out_sync_20 = AsyncResetRegVec_w32_i0_io_q[20]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@278487.4]
+  assign auto_out_sync_21 = AsyncResetRegVec_w32_i0_io_q[21]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@278487.4]
+  assign auto_out_sync_22 = AsyncResetRegVec_w32_i0_io_q[22]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@278487.4]
+  assign auto_out_sync_23 = AsyncResetRegVec_w32_i0_io_q[23]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@278487.4]
+  assign auto_out_sync_24 = AsyncResetRegVec_w32_i0_io_q[24]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@278487.4]
+  assign auto_out_sync_25 = AsyncResetRegVec_w32_i0_io_q[25]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@278487.4]
+  assign auto_out_sync_26 = AsyncResetRegVec_w32_i0_io_q[26]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@278487.4]
+  assign auto_out_sync_27 = AsyncResetRegVec_w32_i0_io_q[27]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@278487.4]
+  assign auto_out_sync_28 = AsyncResetRegVec_w32_i0_io_q[28]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@278487.4]
+  assign auto_out_sync_29 = AsyncResetRegVec_w32_i0_io_q[29]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@278487.4]
+  assign auto_out_sync_30 = AsyncResetRegVec_w32_i0_io_q[30]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@278487.4]
+  assign auto_out_sync_31 = AsyncResetRegVec_w32_i0_io_q[31]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@278487.4]
+  assign AsyncResetRegVec_w32_i0_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278522.4]
+  assign AsyncResetRegVec_w32_i0_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278523.4]
+  assign AsyncResetRegVec_w32_i0_io_d = {_T_418,_T_403}; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278524.4]
+  assign AsyncResetRegVec_w32_i0_io_en = 1'h1; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@278525.4]
+endmodule
+module TLMonitor_77( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278598.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278599.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278600.4]
+  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278601.4]
+  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278601.4]
+  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278601.4]
+  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278601.4]
+  input  [1:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278601.4]
+  input  [5:0]  io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278601.4]
+  input  [28:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278601.4]
+  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278601.4]
+  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278601.4]
+  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278601.4]
+  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278601.4]
+  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278601.4]
+  input  [1:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278601.4]
+  input  [5:0]  io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278601.4]
+);
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@279728.4]
+  wire [4:0] _T_36; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@278628.6]
+  wire [1:0] _T_37; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@278629.6]
+  wire [1:0] _T_38; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@278630.6]
+  wire [28:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@278631.6]
+  wire [28:0] _T_39; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@278631.6]
+  wire  _T_40; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278632.6]
+  wire  _T_42; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@278634.6]
+  wire [1:0] _T_43; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@278635.6]
+  wire [1:0] _T_45; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@278637.6]
+  wire  _T_46; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@278638.6]
+  wire  _T_47; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@278639.6]
+  wire  _T_48; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@278640.6]
+  wire  _T_49; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@278641.6]
+  wire  _T_51; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@278643.6]
+  wire  _T_52; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@278644.6]
+  wire  _T_54; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@278646.6]
+  wire  _T_55; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@278647.6]
+  wire  _T_56; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@278648.6]
+  wire  _T_57; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@278649.6]
+  wire  _T_58; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@278650.6]
+  wire  _T_59; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@278651.6]
+  wire  _T_60; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@278652.6]
+  wire  _T_61; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@278653.6]
+  wire  _T_62; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@278654.6]
+  wire  _T_63; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@278655.6]
+  wire  _T_64; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@278656.6]
+  wire  _T_65; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@278657.6]
+  wire  _T_66; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@278658.6]
+  wire  _T_67; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@278659.6]
+  wire  _T_68; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@278660.6]
+  wire  _T_69; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@278661.6]
+  wire  _T_70; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@278662.6]
+  wire [1:0] _T_71; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278663.6]
+  wire [1:0] _T_72; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278664.6]
+  wire [3:0] _T_73; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278665.6]
+  wire  _T_92; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@278688.6]
+  wire [28:0] _T_94; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@278691.8]
+  wire [29:0] _T_95; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@278692.8]
+  wire [29:0] _T_96; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@278693.8]
+  wire [29:0] _T_97; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@278694.8]
+  wire  _T_98; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@278695.8]
+  wire  _T_103; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278700.8]
+  wire  _T_112; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278721.8]
+  wire  _T_113; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278722.8]
+  wire  _T_115; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278728.8]
+  wire  _T_116; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278729.8]
+  wire  _T_117; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@278734.8]
+  wire  _T_119; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278736.8]
+  wire  _T_120; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278737.8]
+  wire [3:0] _T_121; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@278742.8]
+  wire  _T_122; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@278743.8]
+  wire  _T_124; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278745.8]
+  wire  _T_125; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278746.8]
+  wire  _T_126; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@278751.8]
+  wire  _T_128; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278753.8]
+  wire  _T_129; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278754.8]
+  wire  _T_130; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@278760.6]
+  wire  _T_159; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@278814.8]
+  wire  _T_161; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278816.8]
+  wire  _T_162; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278817.8]
+  wire  _T_172; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@278840.6]
+  wire  _T_174; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@278843.8]
+  wire  _T_182; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@278851.8]
+  wire  _T_185; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278854.8]
+  wire  _T_186; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278855.8]
+  wire  _T_193; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@278874.8]
+  wire  _T_195; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278876.8]
+  wire  _T_196; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278877.8]
+  wire  _T_197; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@278882.8]
+  wire  _T_199; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278884.8]
+  wire  _T_200; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278885.8]
+  wire  _T_205; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@278899.6]
+  wire  _T_234; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@278950.6]
+  wire [3:0] _T_259; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@278992.8]
+  wire [3:0] _T_260; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@278993.8]
+  wire  _T_261; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@278994.8]
+  wire  _T_263; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278996.8]
+  wire  _T_264; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278997.8]
+  wire  _T_265; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@279003.6]
+  wire  _T_283; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@279034.8]
+  wire  _T_285; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279036.8]
+  wire  _T_286; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279037.8]
+  wire  _T_291; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@279051.6]
+  wire  _T_309; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@279082.8]
+  wire  _T_311; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279084.8]
+  wire  _T_312; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279085.8]
+  wire  _T_317; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@279099.6]
+  wire  _T_343; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@279149.6]
+  wire  _T_345; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@279151.6]
+  wire  _T_346; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@279152.6]
+  wire  _T_363; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@279169.6]
+  wire  _T_367; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@279178.8]
+  wire  _T_369; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279180.8]
+  wire  _T_370; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279181.8]
+  wire  _T_383; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@279211.6]
+  wire  _T_411; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@279269.6]
+  wire  _T_504; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@279459.4]
+  reg  _T_514; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@279468.4]
+  reg [31:0] _RAND_0;
+  wire [1:0] _T_515; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@279469.4]
+  wire [1:0] _T_516; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@279470.4]
+  wire  _T_517; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@279471.4]
+  wire  _T_518; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@279472.4]
+  reg [2:0] _T_527; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@279483.4]
+  reg [31:0] _RAND_1;
+  reg [2:0] _T_529; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@279484.4]
+  reg [31:0] _RAND_2;
+  reg [1:0] _T_531; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@279485.4]
+  reg [31:0] _RAND_3;
+  reg [5:0] _T_533; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@279486.4]
+  reg [31:0] _RAND_4;
+  reg [28:0] _T_535; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@279487.4]
+  reg [31:0] _RAND_5;
+  wire  _T_536; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@279488.4]
+  wire  _T_537; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@279489.4]
+  wire  _T_538; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@279491.6]
+  wire  _T_540; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279493.6]
+  wire  _T_541; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279494.6]
+  wire  _T_542; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@279499.6]
+  wire  _T_544; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279501.6]
+  wire  _T_545; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279502.6]
+  wire  _T_546; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@279507.6]
+  wire  _T_548; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279509.6]
+  wire  _T_549; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279510.6]
+  wire  _T_550; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@279515.6]
+  wire  _T_552; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279517.6]
+  wire  _T_553; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279518.6]
+  wire  _T_554; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@279523.6]
+  wire  _T_556; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279525.6]
+  wire  _T_557; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279526.6]
+  wire  _T_559; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@279533.4]
+  wire  _T_560; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@279541.4]
+  reg  _T_569; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@279549.4]
+  reg [31:0] _RAND_6;
+  wire [1:0] _T_570; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@279550.4]
+  wire [1:0] _T_571; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@279551.4]
+  wire  _T_572; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@279552.4]
+  wire  _T_573; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@279553.4]
+  reg [2:0] _T_582; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@279564.4]
+  reg [31:0] _RAND_7;
+  reg [1:0] _T_586; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@279566.4]
+  reg [31:0] _RAND_8;
+  reg [5:0] _T_588; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@279567.4]
+  reg [31:0] _RAND_9;
+  wire  _T_593; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@279570.4]
+  wire  _T_594; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@279571.4]
+  wire  _T_595; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@279573.6]
+  wire  _T_597; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279575.6]
+  wire  _T_598; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279576.6]
+  wire  _T_603; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@279589.6]
+  wire  _T_605; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279591.6]
+  wire  _T_606; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279592.6]
+  wire  _T_607; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@279597.6]
+  wire  _T_609; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279599.6]
+  wire  _T_610; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279600.6]
+  wire  _T_620; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@279623.4]
+  reg [63:0] _T_622; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@279632.4]
+  reg [63:0] _RAND_10;
+  reg  _T_633; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@279642.4]
+  reg [31:0] _RAND_11;
+  wire [1:0] _T_634; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@279643.4]
+  wire [1:0] _T_635; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@279644.4]
+  wire  _T_636; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@279645.4]
+  wire  _T_637; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@279646.4]
+  reg  _T_654; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@279665.4]
+  reg [31:0] _RAND_12;
+  wire [1:0] _T_655; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@279666.4]
+  wire [1:0] _T_656; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@279667.4]
+  wire  _T_657; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@279668.4]
+  wire  _T_658; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@279669.4]
+  wire  _T_669; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@279684.4]
+  wire [63:0] _T_671; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@279687.6]
+  wire [63:0] _T_672; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@279689.6]
+  wire  _T_673; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@279690.6]
+  wire  _T_674; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279691.6]
+  wire  _T_676; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@279693.6]
+  wire  _T_677; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@279694.6]
+  wire [63:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@279686.4]
+  wire  _T_682; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@279705.4]
+  wire  _T_684; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@279707.4]
+  wire  _T_685; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@279708.4]
+  wire [63:0] _T_686; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@279710.6]
+  wire [63:0] _T_687; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@279712.6]
+  wire [63:0] _T_688; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@279713.6]
+  wire  _T_689; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@279714.6]
+  wire  _T_691; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@279716.6]
+  wire  _T_692; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@279717.6]
+  wire [63:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@279709.4]
+  wire [63:0] _T_693; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@279723.4]
+  wire [63:0] _T_694; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@279724.4]
+  wire [63:0] _T_695; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@279725.4]
+  reg [31:0] _T_697; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@279727.4]
+  reg [31:0] _RAND_13;
+  wire  _T_698; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@279730.4]
+  wire  _T_699; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@279731.4]
+  wire  _T_700; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@279732.4]
+  wire  _T_701; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@279733.4]
+  wire  _T_702; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@279734.4]
+  wire  _T_703; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@279735.4]
+  wire  _T_705; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@279737.4]
+  wire  _T_706; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@279738.4]
+  wire [31:0] _T_708; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@279744.4]
+  wire  _T_711; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@279748.4]
+  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278702.10]
+  wire  _GEN_33; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278774.10]
+  wire  _GEN_49; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278857.10]
+  wire  _GEN_59; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278916.10]
+  wire  _GEN_67; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278967.10]
+  wire  _GEN_75; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279017.10]
+  wire  _GEN_83; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279065.10]
+  wire  _GEN_91; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279113.10]
+  wire  _GEN_99; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279183.10]
+  wire  _GEN_101; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279224.10]
+  wire  _GEN_105; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279282.10]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@279728.4]
+    .out(plusarg_reader_out)
+  );
+  assign _T_36 = 5'h3 << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@278628.6]
+  assign _T_37 = _T_36[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@278629.6]
+  assign _T_38 = ~ _T_37; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@278630.6]
+  assign _GEN_18 = {{27'd0}, _T_38}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@278631.6]
+  assign _T_39 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@278631.6]
+  assign _T_40 = _T_39 == 29'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278632.6]
+  assign _T_42 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@278634.6]
+  assign _T_43 = 2'h1 << _T_42; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@278635.6]
+  assign _T_45 = _T_43 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@278637.6]
+  assign _T_46 = io_in_a_bits_size >= 2'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@278638.6]
+  assign _T_47 = _T_45[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@278639.6]
+  assign _T_48 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@278640.6]
+  assign _T_49 = _T_48 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@278641.6]
+  assign _T_51 = _T_47 & _T_49; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@278643.6]
+  assign _T_52 = _T_46 | _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@278644.6]
+  assign _T_54 = _T_47 & _T_48; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@278646.6]
+  assign _T_55 = _T_46 | _T_54; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@278647.6]
+  assign _T_56 = _T_45[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@278648.6]
+  assign _T_57 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@278649.6]
+  assign _T_58 = _T_57 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@278650.6]
+  assign _T_59 = _T_49 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@278651.6]
+  assign _T_60 = _T_56 & _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@278652.6]
+  assign _T_61 = _T_52 | _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@278653.6]
+  assign _T_62 = _T_49 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@278654.6]
+  assign _T_63 = _T_56 & _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@278655.6]
+  assign _T_64 = _T_52 | _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@278656.6]
+  assign _T_65 = _T_48 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@278657.6]
+  assign _T_66 = _T_56 & _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@278658.6]
+  assign _T_67 = _T_55 | _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@278659.6]
+  assign _T_68 = _T_48 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@278660.6]
+  assign _T_69 = _T_56 & _T_68; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@278661.6]
+  assign _T_70 = _T_55 | _T_69; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@278662.6]
+  assign _T_71 = {_T_64,_T_61}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278663.6]
+  assign _T_72 = {_T_70,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278664.6]
+  assign _T_73 = {_T_72,_T_71}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278665.6]
+  assign _T_92 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@278688.6]
+  assign _T_94 = io_in_a_bits_address ^ 29'h10012000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@278691.8]
+  assign _T_95 = {1'b0,$signed(_T_94)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@278692.8]
+  assign _T_96 = $signed(_T_95) & $signed(-30'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@278693.8]
+  assign _T_97 = $signed(_T_96); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@278694.8]
+  assign _T_98 = $signed(_T_97) == $signed(30'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@278695.8]
+  assign _T_103 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278700.8]
+  assign _T_112 = _T_46 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278721.8]
+  assign _T_113 = _T_112 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278722.8]
+  assign _T_115 = _T_40 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278728.8]
+  assign _T_116 = _T_115 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278729.8]
+  assign _T_117 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@278734.8]
+  assign _T_119 = _T_117 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278736.8]
+  assign _T_120 = _T_119 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278737.8]
+  assign _T_121 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@278742.8]
+  assign _T_122 = _T_121 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@278743.8]
+  assign _T_124 = _T_122 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278745.8]
+  assign _T_125 = _T_124 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278746.8]
+  assign _T_126 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@278751.8]
+  assign _T_128 = _T_126 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278753.8]
+  assign _T_129 = _T_128 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278754.8]
+  assign _T_130 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@278760.6]
+  assign _T_159 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@278814.8]
+  assign _T_161 = _T_159 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278816.8]
+  assign _T_162 = _T_161 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278817.8]
+  assign _T_172 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@278840.6]
+  assign _T_174 = io_in_a_bits_size <= 2'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@278843.8]
+  assign _T_182 = _T_174 & _T_98; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@278851.8]
+  assign _T_185 = _T_182 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278854.8]
+  assign _T_186 = _T_185 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278855.8]
+  assign _T_193 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@278874.8]
+  assign _T_195 = _T_193 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278876.8]
+  assign _T_196 = _T_195 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278877.8]
+  assign _T_197 = io_in_a_bits_mask == _T_73; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@278882.8]
+  assign _T_199 = _T_197 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278884.8]
+  assign _T_200 = _T_199 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278885.8]
+  assign _T_205 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@278899.6]
+  assign _T_234 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@278950.6]
+  assign _T_259 = ~ _T_73; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@278992.8]
+  assign _T_260 = io_in_a_bits_mask & _T_259; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@278993.8]
+  assign _T_261 = _T_260 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@278994.8]
+  assign _T_263 = _T_261 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278996.8]
+  assign _T_264 = _T_263 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278997.8]
+  assign _T_265 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@279003.6]
+  assign _T_283 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@279034.8]
+  assign _T_285 = _T_283 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279036.8]
+  assign _T_286 = _T_285 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279037.8]
+  assign _T_291 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@279051.6]
+  assign _T_309 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@279082.8]
+  assign _T_311 = _T_309 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279084.8]
+  assign _T_312 = _T_311 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279085.8]
+  assign _T_317 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@279099.6]
+  assign _T_343 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@279149.6]
+  assign _T_345 = _T_343 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@279151.6]
+  assign _T_346 = _T_345 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@279152.6]
+  assign _T_363 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@279169.6]
+  assign _T_367 = io_in_d_bits_size >= 2'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@279178.8]
+  assign _T_369 = _T_367 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279180.8]
+  assign _T_370 = _T_369 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279181.8]
+  assign _T_383 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@279211.6]
+  assign _T_411 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@279269.6]
+  assign _T_504 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@279459.4]
+  assign _T_515 = _T_514 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@279469.4]
+  assign _T_516 = $unsigned(_T_515); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@279470.4]
+  assign _T_517 = _T_516[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@279471.4]
+  assign _T_518 = _T_514 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@279472.4]
+  assign _T_536 = _T_518 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@279488.4]
+  assign _T_537 = io_in_a_valid & _T_536; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@279489.4]
+  assign _T_538 = io_in_a_bits_opcode == _T_527; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@279491.6]
+  assign _T_540 = _T_538 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279493.6]
+  assign _T_541 = _T_540 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279494.6]
+  assign _T_542 = io_in_a_bits_param == _T_529; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@279499.6]
+  assign _T_544 = _T_542 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279501.6]
+  assign _T_545 = _T_544 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279502.6]
+  assign _T_546 = io_in_a_bits_size == _T_531; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@279507.6]
+  assign _T_548 = _T_546 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279509.6]
+  assign _T_549 = _T_548 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279510.6]
+  assign _T_550 = io_in_a_bits_source == _T_533; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@279515.6]
+  assign _T_552 = _T_550 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279517.6]
+  assign _T_553 = _T_552 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279518.6]
+  assign _T_554 = io_in_a_bits_address == _T_535; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@279523.6]
+  assign _T_556 = _T_554 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279525.6]
+  assign _T_557 = _T_556 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279526.6]
+  assign _T_559 = _T_504 & _T_518; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@279533.4]
+  assign _T_560 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@279541.4]
+  assign _T_570 = _T_569 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@279550.4]
+  assign _T_571 = $unsigned(_T_570); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@279551.4]
+  assign _T_572 = _T_571[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@279552.4]
+  assign _T_573 = _T_569 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@279553.4]
+  assign _T_593 = _T_573 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@279570.4]
+  assign _T_594 = io_in_d_valid & _T_593; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@279571.4]
+  assign _T_595 = io_in_d_bits_opcode == _T_582; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@279573.6]
+  assign _T_597 = _T_595 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279575.6]
+  assign _T_598 = _T_597 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279576.6]
+  assign _T_603 = io_in_d_bits_size == _T_586; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@279589.6]
+  assign _T_605 = _T_603 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279591.6]
+  assign _T_606 = _T_605 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279592.6]
+  assign _T_607 = io_in_d_bits_source == _T_588; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@279597.6]
+  assign _T_609 = _T_607 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279599.6]
+  assign _T_610 = _T_609 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279600.6]
+  assign _T_620 = _T_560 & _T_573; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@279623.4]
+  assign _T_634 = _T_633 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@279643.4]
+  assign _T_635 = $unsigned(_T_634); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@279644.4]
+  assign _T_636 = _T_635[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@279645.4]
+  assign _T_637 = _T_633 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@279646.4]
+  assign _T_655 = _T_654 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@279666.4]
+  assign _T_656 = $unsigned(_T_655); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@279667.4]
+  assign _T_657 = _T_656[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@279668.4]
+  assign _T_658 = _T_654 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@279669.4]
+  assign _T_669 = _T_504 & _T_637; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@279684.4]
+  assign _T_671 = 64'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@279687.6]
+  assign _T_672 = _T_622 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@279689.6]
+  assign _T_673 = _T_672[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@279690.6]
+  assign _T_674 = _T_673 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279691.6]
+  assign _T_676 = _T_674 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@279693.6]
+  assign _T_677 = _T_676 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@279694.6]
+  assign _GEN_15 = _T_669 ? _T_671 : 64'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@279686.4]
+  assign _T_682 = _T_560 & _T_658; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@279705.4]
+  assign _T_684 = _T_363 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@279707.4]
+  assign _T_685 = _T_682 & _T_684; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@279708.4]
+  assign _T_686 = 64'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@279710.6]
+  assign _T_687 = _GEN_15 | _T_622; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@279712.6]
+  assign _T_688 = _T_687 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@279713.6]
+  assign _T_689 = _T_688[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@279714.6]
+  assign _T_691 = _T_689 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@279716.6]
+  assign _T_692 = _T_691 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@279717.6]
+  assign _GEN_16 = _T_685 ? _T_686 : 64'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@279709.4]
+  assign _T_693 = _T_622 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@279723.4]
+  assign _T_694 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@279724.4]
+  assign _T_695 = _T_693 & _T_694; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@279725.4]
+  assign _T_698 = _T_622 != 64'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@279730.4]
+  assign _T_699 = _T_698 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@279731.4]
+  assign _T_700 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@279732.4]
+  assign _T_701 = _T_699 | _T_700; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@279733.4]
+  assign _T_702 = _T_697 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@279734.4]
+  assign _T_703 = _T_701 | _T_702; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@279735.4]
+  assign _T_705 = _T_703 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@279737.4]
+  assign _T_706 = _T_705 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@279738.4]
+  assign _T_708 = _T_697 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@279744.4]
+  assign _T_711 = _T_504 | _T_560; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@279748.4]
+  assign _GEN_19 = io_in_a_valid & _T_92; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278702.10]
+  assign _GEN_33 = io_in_a_valid & _T_130; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278774.10]
+  assign _GEN_49 = io_in_a_valid & _T_172; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278857.10]
+  assign _GEN_59 = io_in_a_valid & _T_205; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278916.10]
+  assign _GEN_67 = io_in_a_valid & _T_234; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278967.10]
+  assign _GEN_75 = io_in_a_valid & _T_265; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279017.10]
+  assign _GEN_83 = io_in_a_valid & _T_291; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279065.10]
+  assign _GEN_91 = io_in_a_valid & _T_317; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279113.10]
+  assign _GEN_99 = io_in_d_valid & _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279183.10]
+  assign _GEN_101 = io_in_d_valid & _T_383; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279224.10]
+  assign _GEN_105 = io_in_d_valid & _T_411; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279282.10]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  _T_514 = _RAND_0[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  _T_527 = _RAND_1[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  _T_529 = _RAND_2[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  _T_531 = _RAND_3[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  _T_533 = _RAND_4[5:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  _T_535 = _RAND_5[28:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {1{`RANDOM}};
+  _T_569 = _RAND_6[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {1{`RANDOM}};
+  _T_582 = _RAND_7[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_8 = {1{`RANDOM}};
+  _T_586 = _RAND_8[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_9 = {1{`RANDOM}};
+  _T_588 = _RAND_9[5:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_10 = {2{`RANDOM}};
+  _T_622 = _RAND_10[63:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_11 = {1{`RANDOM}};
+  _T_633 = _RAND_11[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_12 = {1{`RANDOM}};
+  _T_654 = _RAND_12[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_13 = {1{`RANDOM}};
+  _T_697 = _RAND_13[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      _T_514 <= 1'h0;
+    end else begin
+      if (_T_504) begin
+        if (_T_518) begin
+          _T_514 <= 1'h0;
+        end else begin
+          _T_514 <= _T_517;
+        end
+      end
+    end
+    if (_T_559) begin
+      _T_527 <= io_in_a_bits_opcode;
+    end
+    if (_T_559) begin
+      _T_529 <= io_in_a_bits_param;
+    end
+    if (_T_559) begin
+      _T_531 <= io_in_a_bits_size;
+    end
+    if (_T_559) begin
+      _T_533 <= io_in_a_bits_source;
+    end
+    if (_T_559) begin
+      _T_535 <= io_in_a_bits_address;
+    end
+    if (reset) begin
+      _T_569 <= 1'h0;
+    end else begin
+      if (_T_560) begin
+        if (_T_573) begin
+          _T_569 <= 1'h0;
+        end else begin
+          _T_569 <= _T_572;
+        end
+      end
+    end
+    if (_T_620) begin
+      _T_582 <= io_in_d_bits_opcode;
+    end
+    if (_T_620) begin
+      _T_586 <= io_in_d_bits_size;
+    end
+    if (_T_620) begin
+      _T_588 <= io_in_d_bits_source;
+    end
+    if (reset) begin
+      _T_622 <= 64'h0;
+    end else begin
+      _T_622 <= _T_695;
+    end
+    if (reset) begin
+      _T_633 <= 1'h0;
+    end else begin
+      if (_T_504) begin
+        if (_T_637) begin
+          _T_633 <= 1'h0;
+        end else begin
+          _T_633 <= _T_636;
+        end
+      end
+    end
+    if (reset) begin
+      _T_654 <= 1'h0;
+    end else begin
+      if (_T_560) begin
+        if (_T_658) begin
+          _T_654 <= 1'h0;
+        end else begin
+          _T_654 <= _T_657;
+        end
+      end
+    end
+    if (reset) begin
+      _T_697 <= 32'h0;
+    end else begin
+      if (_T_711) begin
+        _T_697 <= 32'h0;
+      end else begin
+        _T_697 <= _T_708;
+      end
+    end
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@278613.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@278614.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@278685.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@278686.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278702.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_103) begin
+          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278703.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278709.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_103) begin
+          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278710.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278716.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278717.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_113) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278724.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_113) begin
+          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278725.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278731.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_116) begin
+          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278732.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_120) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278739.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_120) begin
+          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278740.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_125) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278748.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_125) begin
+          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278749.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_129) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278756.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_129) begin
+          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278757.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278774.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_103) begin
+          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278775.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278781.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_103) begin
+          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278782.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278788.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278789.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_113) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278796.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_113) begin
+          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278797.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278803.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_116) begin
+          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278804.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_120) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278811.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_120) begin
+          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278812.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_162) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278819.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_162) begin
+          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278820.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_125) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278828.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_125) begin
+          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278829.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_129) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278836.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_129) begin
+          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278837.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_186) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278857.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_186) begin
+          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278858.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278864.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278865.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278871.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_116) begin
+          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278872.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_196) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278879.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_196) begin
+          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278880.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278887.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_200) begin
+          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278888.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_129) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278895.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_129) begin
+          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278896.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_59 & _T_186) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278916.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_59 & _T_186) begin
+          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278917.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278923.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278924.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_59 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278930.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_59 & _T_116) begin
+          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278931.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_59 & _T_196) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278938.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_59 & _T_196) begin
+          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278939.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_59 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278946.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_59 & _T_200) begin
+          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278947.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_67 & _T_186) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278967.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_67 & _T_186) begin
+          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278968.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278974.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278975.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_67 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278981.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_67 & _T_116) begin
+          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278982.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_67 & _T_196) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278989.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_67 & _T_196) begin
+          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278990.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_67 & _T_264) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278999.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_67 & _T_264) begin
+          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279000.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279017.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_103) begin
+          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279018.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279024.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279025.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279031.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_116) begin
+          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279032.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_286) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279039.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_286) begin
+          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279040.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279047.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_200) begin
+          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279048.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_83 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279065.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_83 & _T_103) begin
+          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279066.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279072.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279073.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_83 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279079.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_83 & _T_116) begin
+          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279080.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_83 & _T_312) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279087.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_83 & _T_312) begin
+          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279088.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_83 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279095.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_83 & _T_200) begin
+          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279096.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_91 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279113.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_91 & _T_103) begin
+          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279114.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279120.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279121.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_91 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279127.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_91 & _T_116) begin
+          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279128.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_91 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279135.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_91 & _T_200) begin
+          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279136.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_91 & _T_129) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279143.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_91 & _T_129) begin
+          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279144.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_346) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@279154.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_346) begin
+          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@279155.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279175.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279176.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_99 & _T_370) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279183.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_99 & _T_370) begin
+          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279184.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279191.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279192.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279199.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279200.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279207.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279208.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279217.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279218.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_101 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279224.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_101 & _T_103) begin
+          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279225.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_101 & _T_370) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279232.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_101 & _T_370) begin
+          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279233.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279240.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279241.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279248.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279249.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279256.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279257.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279265.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279266.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279275.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279276.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279282.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_103) begin
+          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279283.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_370) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279290.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_370) begin
+          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279291.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279298.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279299.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279306.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279307.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279315.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279316.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279324.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279325.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279334.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279335.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279342.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279343.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279350.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279351.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279359.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279360.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279369.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279370.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279377.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279378.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279386.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279387.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279395.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279396.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279405.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279406.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279413.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279414.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279421.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279422.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279430.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279431.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279440.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279441.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279448.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279449.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279456.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279457.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_541) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279496.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_541) begin
+          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279497.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_545) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279504.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_545) begin
+          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279505.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_549) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279512.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_549) begin
+          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279513.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_553) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279520.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_553) begin
+          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279521.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_557) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279528.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_557) begin
+          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279529.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_594 & _T_598) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279578.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_594 & _T_598) begin
+          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279579.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279586.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279587.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_594 & _T_606) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279594.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_594 & _T_606) begin
+          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279595.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_594 & _T_610) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279602.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_594 & _T_610) begin
+          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279603.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279610.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279611.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279618.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279619.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_669 & _T_677) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@279696.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_669 & _T_677) begin
+          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@279697.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_685 & _T_692) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@279719.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_685 & _T_692) begin
+          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@279720.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_706) begin
+          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@279740.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_706) begin
+          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@279741.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+endmodule
+module TLGPIO( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282621.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282622.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282623.4]
+  output        auto_int_xing_out_sync_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  output        auto_int_xing_out_sync_1, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  output        auto_int_xing_out_sync_2, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  output        auto_int_xing_out_sync_3, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  output        auto_int_xing_out_sync_4, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  output        auto_int_xing_out_sync_5, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  output        auto_int_xing_out_sync_6, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  output        auto_int_xing_out_sync_7, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  output        auto_int_xing_out_sync_8, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  output        auto_int_xing_out_sync_9, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  output        auto_int_xing_out_sync_10, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  output        auto_int_xing_out_sync_11, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  output        auto_int_xing_out_sync_12, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  output        auto_int_xing_out_sync_13, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  output        auto_int_xing_out_sync_14, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  output        auto_int_xing_out_sync_15, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  output        auto_int_xing_out_sync_16, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  output        auto_int_xing_out_sync_17, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  output        auto_int_xing_out_sync_18, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  output        auto_int_xing_out_sync_19, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  output        auto_int_xing_out_sync_20, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  output        auto_int_xing_out_sync_21, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  output        auto_int_xing_out_sync_22, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  output        auto_int_xing_out_sync_23, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  output        auto_int_xing_out_sync_24, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  output        auto_int_xing_out_sync_25, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  output        auto_int_xing_out_sync_26, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  output        auto_int_xing_out_sync_27, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  output        auto_int_xing_out_sync_28, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  output        auto_int_xing_out_sync_29, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  output        auto_int_xing_out_sync_30, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  output        auto_int_xing_out_sync_31, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  output        auto_control_xing_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  input         auto_control_xing_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  input  [2:0]  auto_control_xing_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  input  [2:0]  auto_control_xing_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  input  [1:0]  auto_control_xing_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  input  [5:0]  auto_control_xing_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  input  [28:0] auto_control_xing_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  input  [3:0]  auto_control_xing_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  input  [31:0] auto_control_xing_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  input         auto_control_xing_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  input         auto_control_xing_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  output        auto_control_xing_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  output [2:0]  auto_control_xing_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  output [1:0]  auto_control_xing_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  output [5:0]  auto_control_xing_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  output [31:0] auto_control_xing_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  input         auto_io_out_pins_0_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  output        auto_io_out_pins_0_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  output        auto_io_out_pins_0_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  output        auto_io_out_pins_0_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  input         auto_io_out_pins_1_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  output        auto_io_out_pins_1_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  output        auto_io_out_pins_1_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  output        auto_io_out_pins_1_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  input         auto_io_out_pins_2_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  output        auto_io_out_pins_2_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  output        auto_io_out_pins_2_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  output        auto_io_out_pins_2_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  input         auto_io_out_pins_3_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  output        auto_io_out_pins_3_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  output        auto_io_out_pins_3_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  output        auto_io_out_pins_3_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  input         auto_io_out_pins_4_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  output        auto_io_out_pins_4_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  output        auto_io_out_pins_4_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  output        auto_io_out_pins_4_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  input         auto_io_out_pins_5_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  output        auto_io_out_pins_5_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  output        auto_io_out_pins_5_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  output        auto_io_out_pins_5_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  input         auto_io_out_pins_6_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  output        auto_io_out_pins_6_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  output        auto_io_out_pins_6_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  output        auto_io_out_pins_6_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  input         auto_io_out_pins_7_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  output        auto_io_out_pins_7_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  output        auto_io_out_pins_7_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  output        auto_io_out_pins_7_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  input         auto_io_out_pins_8_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  output        auto_io_out_pins_8_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  output        auto_io_out_pins_8_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  output        auto_io_out_pins_8_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  input         auto_io_out_pins_9_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  output        auto_io_out_pins_9_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  output        auto_io_out_pins_9_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  output        auto_io_out_pins_9_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  input         auto_io_out_pins_10_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  output        auto_io_out_pins_10_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  output        auto_io_out_pins_10_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  output        auto_io_out_pins_10_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  input         auto_io_out_pins_11_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  output        auto_io_out_pins_11_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  output        auto_io_out_pins_11_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  output        auto_io_out_pins_11_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  input         auto_io_out_pins_12_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  output        auto_io_out_pins_12_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  output        auto_io_out_pins_12_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  output        auto_io_out_pins_12_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  input         auto_io_out_pins_13_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  output        auto_io_out_pins_13_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  output        auto_io_out_pins_13_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  output        auto_io_out_pins_13_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  input         auto_io_out_pins_14_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  output        auto_io_out_pins_14_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  output        auto_io_out_pins_14_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  output        auto_io_out_pins_14_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  input         auto_io_out_pins_15_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  output        auto_io_out_pins_15_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  output        auto_io_out_pins_15_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  output        auto_io_out_pins_15_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  input         auto_io_out_pins_16_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  output        auto_io_out_pins_16_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  output        auto_io_out_pins_16_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  output        auto_io_out_pins_16_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  input         auto_io_out_pins_17_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  output        auto_io_out_pins_17_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  output        auto_io_out_pins_17_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  output        auto_io_out_pins_17_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  input         auto_io_out_pins_18_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  output        auto_io_out_pins_18_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  output        auto_io_out_pins_18_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  output        auto_io_out_pins_18_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  input         auto_io_out_pins_19_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  output        auto_io_out_pins_19_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  output        auto_io_out_pins_19_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  output        auto_io_out_pins_19_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  input         auto_io_out_pins_20_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  output        auto_io_out_pins_20_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  output        auto_io_out_pins_20_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  output        auto_io_out_pins_20_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  input         auto_io_out_pins_21_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  output        auto_io_out_pins_21_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  output        auto_io_out_pins_21_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  output        auto_io_out_pins_21_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  input         auto_io_out_pins_22_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  output        auto_io_out_pins_22_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  output        auto_io_out_pins_22_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  output        auto_io_out_pins_22_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  input         auto_io_out_pins_23_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  output        auto_io_out_pins_23_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  output        auto_io_out_pins_23_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  output        auto_io_out_pins_23_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  input         auto_io_out_pins_24_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  output        auto_io_out_pins_24_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  output        auto_io_out_pins_24_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  output        auto_io_out_pins_24_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  input         auto_io_out_iof_0_0_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  input         auto_io_out_iof_0_1_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  output        auto_io_out_iof_0_2_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  input         auto_io_out_iof_0_2_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  input         auto_io_out_iof_0_2_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  input         auto_io_out_iof_0_2_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  output        auto_io_out_iof_0_3_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  input         auto_io_out_iof_0_3_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  input         auto_io_out_iof_0_3_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  input         auto_io_out_iof_0_3_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  output        auto_io_out_iof_0_4_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  input         auto_io_out_iof_0_4_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  input         auto_io_out_iof_0_4_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  input         auto_io_out_iof_0_4_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  output        auto_io_out_iof_0_5_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  input         auto_io_out_iof_0_5_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  input         auto_io_out_iof_0_5_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  input         auto_io_out_iof_0_5_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  input         auto_io_out_iof_0_6_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  input         auto_io_out_iof_0_7_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  output        auto_io_out_iof_0_8_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  input         auto_io_out_iof_0_8_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  input         auto_io_out_iof_0_8_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  input         auto_io_out_iof_0_8_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  output        auto_io_out_iof_0_9_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  input         auto_io_out_iof_0_9_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  input         auto_io_out_iof_0_9_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  input         auto_io_out_iof_0_9_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  output        auto_io_out_iof_0_10_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  input         auto_io_out_iof_0_10_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  input         auto_io_out_iof_0_10_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  input         auto_io_out_iof_0_10_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  output        auto_io_out_iof_0_11_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  input         auto_io_out_iof_0_11_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  input         auto_io_out_iof_0_11_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  input         auto_io_out_iof_0_11_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  output        auto_io_out_iof_0_12_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  input         auto_io_out_iof_0_12_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  output        auto_io_out_iof_0_13_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  input         auto_io_out_iof_0_13_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  output        auto_io_out_iof_0_14_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  input         auto_io_out_iof_0_14_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  output        auto_io_out_iof_0_15_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  input         auto_io_out_iof_0_15_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  output        auto_io_out_iof_0_16_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  input         auto_io_out_iof_0_17_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  output        auto_io_out_iof_0_18_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  input         auto_io_out_iof_0_19_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  output        auto_io_out_iof_0_20_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  input         auto_io_out_iof_0_21_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  output        auto_io_out_iof_0_22_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  input         auto_io_out_iof_0_23_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+  input         auto_io_out_iof_0_24_o_oval // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
+);
+  wire  buffer_clock; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@282629.4]
+  wire  buffer_reset; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@282629.4]
+  wire  buffer_auto_in_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@282629.4]
+  wire  buffer_auto_in_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@282629.4]
+  wire [2:0] buffer_auto_in_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@282629.4]
+  wire [2:0] buffer_auto_in_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@282629.4]
+  wire [1:0] buffer_auto_in_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@282629.4]
+  wire [5:0] buffer_auto_in_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@282629.4]
+  wire [28:0] buffer_auto_in_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@282629.4]
+  wire [3:0] buffer_auto_in_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@282629.4]
+  wire [31:0] buffer_auto_in_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@282629.4]
+  wire  buffer_auto_in_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@282629.4]
+  wire  buffer_auto_in_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@282629.4]
+  wire  buffer_auto_in_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@282629.4]
+  wire [2:0] buffer_auto_in_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@282629.4]
+  wire [1:0] buffer_auto_in_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@282629.4]
+  wire [5:0] buffer_auto_in_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@282629.4]
+  wire [31:0] buffer_auto_in_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@282629.4]
+  wire  buffer_auto_out_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@282629.4]
+  wire  buffer_auto_out_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@282629.4]
+  wire [2:0] buffer_auto_out_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@282629.4]
+  wire [2:0] buffer_auto_out_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@282629.4]
+  wire [1:0] buffer_auto_out_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@282629.4]
+  wire [5:0] buffer_auto_out_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@282629.4]
+  wire [28:0] buffer_auto_out_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@282629.4]
+  wire [3:0] buffer_auto_out_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@282629.4]
+  wire [31:0] buffer_auto_out_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@282629.4]
+  wire  buffer_auto_out_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@282629.4]
+  wire  buffer_auto_out_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@282629.4]
+  wire  buffer_auto_out_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@282629.4]
+  wire [2:0] buffer_auto_out_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@282629.4]
+  wire [1:0] buffer_auto_out_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@282629.4]
+  wire [5:0] buffer_auto_out_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@282629.4]
+  wire [31:0] buffer_auto_out_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@282629.4]
+  wire  intsource_clock; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
+  wire  intsource_reset; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
+  wire  intsource_auto_in_0; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
+  wire  intsource_auto_in_1; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
+  wire  intsource_auto_in_2; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
+  wire  intsource_auto_in_3; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
+  wire  intsource_auto_in_4; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
+  wire  intsource_auto_in_5; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
+  wire  intsource_auto_in_6; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
+  wire  intsource_auto_in_7; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
+  wire  intsource_auto_in_8; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
+  wire  intsource_auto_in_9; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
+  wire  intsource_auto_in_10; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
+  wire  intsource_auto_in_11; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
+  wire  intsource_auto_in_12; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
+  wire  intsource_auto_in_13; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
+  wire  intsource_auto_in_14; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
+  wire  intsource_auto_in_15; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
+  wire  intsource_auto_in_16; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
+  wire  intsource_auto_in_17; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
+  wire  intsource_auto_in_18; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
+  wire  intsource_auto_in_19; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
+  wire  intsource_auto_in_20; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
+  wire  intsource_auto_in_21; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
+  wire  intsource_auto_in_22; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
+  wire  intsource_auto_in_23; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
+  wire  intsource_auto_in_24; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
+  wire  intsource_auto_in_25; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
+  wire  intsource_auto_in_26; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
+  wire  intsource_auto_in_27; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
+  wire  intsource_auto_in_28; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
+  wire  intsource_auto_in_29; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
+  wire  intsource_auto_in_30; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
+  wire  intsource_auto_in_31; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
+  wire  intsource_auto_out_sync_0; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
+  wire  intsource_auto_out_sync_1; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
+  wire  intsource_auto_out_sync_2; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
+  wire  intsource_auto_out_sync_3; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
+  wire  intsource_auto_out_sync_4; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
+  wire  intsource_auto_out_sync_5; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
+  wire  intsource_auto_out_sync_6; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
+  wire  intsource_auto_out_sync_7; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
+  wire  intsource_auto_out_sync_8; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
+  wire  intsource_auto_out_sync_9; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
+  wire  intsource_auto_out_sync_10; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
+  wire  intsource_auto_out_sync_11; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
+  wire  intsource_auto_out_sync_12; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
+  wire  intsource_auto_out_sync_13; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
+  wire  intsource_auto_out_sync_14; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
+  wire  intsource_auto_out_sync_15; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
+  wire  intsource_auto_out_sync_16; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
+  wire  intsource_auto_out_sync_17; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
+  wire  intsource_auto_out_sync_18; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
+  wire  intsource_auto_out_sync_19; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
+  wire  intsource_auto_out_sync_20; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
+  wire  intsource_auto_out_sync_21; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
+  wire  intsource_auto_out_sync_22; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
+  wire  intsource_auto_out_sync_23; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
+  wire  intsource_auto_out_sync_24; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
+  wire  intsource_auto_out_sync_25; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
+  wire  intsource_auto_out_sync_26; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
+  wire  intsource_auto_out_sync_27; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
+  wire  intsource_auto_out_sync_28; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
+  wire  intsource_auto_out_sync_29; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
+  wire  intsource_auto_out_sync_30; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
+  wire  intsource_auto_out_sync_31; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
+  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@282647.4]
+  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@282647.4]
+  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@282647.4]
+  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@282647.4]
+  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@282647.4]
+  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@282647.4]
+  wire [1:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@282647.4]
+  wire [5:0] TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@282647.4]
+  wire [28:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@282647.4]
+  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@282647.4]
+  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@282647.4]
+  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@282647.4]
+  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@282647.4]
+  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@282647.4]
+  wire [1:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@282647.4]
+  wire [5:0] TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@282647.4]
+  wire  oeReg_clock; // @[GPIO.scala 60:22:shc.marmotcaravel.MarmotCaravelConfig.fir@282702.4]
+  wire  oeReg_reset; // @[GPIO.scala 60:22:shc.marmotcaravel.MarmotCaravelConfig.fir@282702.4]
+  wire [31:0] oeReg_io_d; // @[GPIO.scala 60:22:shc.marmotcaravel.MarmotCaravelConfig.fir@282702.4]
+  wire [31:0] oeReg_io_q; // @[GPIO.scala 60:22:shc.marmotcaravel.MarmotCaravelConfig.fir@282702.4]
+  wire  oeReg_io_en; // @[GPIO.scala 60:22:shc.marmotcaravel.MarmotCaravelConfig.fir@282702.4]
+  wire  pueReg_clock; // @[GPIO.scala 61:22:shc.marmotcaravel.MarmotCaravelConfig.fir@282706.4]
+  wire  pueReg_reset; // @[GPIO.scala 61:22:shc.marmotcaravel.MarmotCaravelConfig.fir@282706.4]
+  wire [31:0] pueReg_io_d; // @[GPIO.scala 61:22:shc.marmotcaravel.MarmotCaravelConfig.fir@282706.4]
+  wire [31:0] pueReg_io_q; // @[GPIO.scala 61:22:shc.marmotcaravel.MarmotCaravelConfig.fir@282706.4]
+  wire  pueReg_io_en; // @[GPIO.scala 61:22:shc.marmotcaravel.MarmotCaravelConfig.fir@282706.4]
+  wire  ieReg_clock; // @[GPIO.scala 63:22:shc.marmotcaravel.MarmotCaravelConfig.fir@282711.4]
+  wire  ieReg_reset; // @[GPIO.scala 63:22:shc.marmotcaravel.MarmotCaravelConfig.fir@282711.4]
+  wire [31:0] ieReg_io_d; // @[GPIO.scala 63:22:shc.marmotcaravel.MarmotCaravelConfig.fir@282711.4]
+  wire [31:0] ieReg_io_q; // @[GPIO.scala 63:22:shc.marmotcaravel.MarmotCaravelConfig.fir@282711.4]
+  wire  ieReg_io_en; // @[GPIO.scala 63:22:shc.marmotcaravel.MarmotCaravelConfig.fir@282711.4]
+  wire  inSyncReg_clock; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@282783.4]
+  wire [31:0] inSyncReg_io_d; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@282783.4]
+  wire [31:0] inSyncReg_io_q; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@282783.4]
+  wire  iofEnReg_clock; // @[GPIO.scala 82:25:shc.marmotcaravel.MarmotCaravelConfig.fir@282801.4]
+  wire  iofEnReg_reset; // @[GPIO.scala 82:25:shc.marmotcaravel.MarmotCaravelConfig.fir@282801.4]
+  wire [31:0] iofEnReg_io_d; // @[GPIO.scala 82:25:shc.marmotcaravel.MarmotCaravelConfig.fir@282801.4]
+  wire [31:0] iofEnReg_io_q; // @[GPIO.scala 82:25:shc.marmotcaravel.MarmotCaravelConfig.fir@282801.4]
+  wire  iofEnReg_io_en; // @[GPIO.scala 82:25:shc.marmotcaravel.MarmotCaravelConfig.fir@282801.4]
+  reg [31:0] portReg; // @[GPIO.scala 58:20:shc.marmotcaravel.MarmotCaravelConfig.fir@282701.4]
+  reg [31:0] _RAND_0;
+  reg [31:0] dsReg; // @[GPIO.scala 62:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282710.4]
+  reg [31:0] _RAND_1;
+  wire [1:0] _T_3062; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@282751.4]
+  wire [1:0] _T_3063; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@282752.4]
+  wire [3:0] _T_3064; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@282753.4]
+  wire [1:0] _T_3065; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@282754.4]
+  wire [1:0] _T_3066; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@282755.4]
+  wire [3:0] _T_3067; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@282756.4]
+  wire [7:0] _T_3068; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@282757.4]
+  wire [1:0] _T_3069; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@282758.4]
+  wire [1:0] _T_3070; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@282759.4]
+  wire [3:0] _T_3071; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@282760.4]
+  wire [1:0] _T_3072; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@282761.4]
+  wire [1:0] _T_3073; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@282762.4]
+  wire [3:0] _T_3074; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@282763.4]
+  wire [7:0] _T_3075; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@282764.4]
+  wire [15:0] _T_3076; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@282765.4]
+  wire [1:0] _T_3077; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@282766.4]
+  wire [1:0] _T_3078; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@282767.4]
+  wire [3:0] _T_3079; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@282768.4]
+  wire [1:0] _T_3080; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@282769.4]
+  wire [1:0] _T_3081; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@282770.4]
+  wire [3:0] _T_3082; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@282771.4]
+  wire [7:0] _T_3083; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@282772.4]
+  wire [1:0] _T_3084; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@282773.4]
+  wire [3:0] _T_3086; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@282775.4]
+  wire [7:0] _T_3090; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@282779.4]
+  wire [15:0] _T_3091; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@282780.4]
+  reg [31:0] valueReg; // @[GPIO.scala 69:23:shc.marmotcaravel.MarmotCaravelConfig.fir@282791.4]
+  reg [31:0] _RAND_2;
+  reg [31:0] highIeReg; // @[GPIO.scala 72:22:shc.marmotcaravel.MarmotCaravelConfig.fir@282793.4]
+  reg [31:0] _RAND_3;
+  reg [31:0] lowIeReg; // @[GPIO.scala 73:22:shc.marmotcaravel.MarmotCaravelConfig.fir@282794.4]
+  reg [31:0] _RAND_4;
+  reg [31:0] riseIeReg; // @[GPIO.scala 74:22:shc.marmotcaravel.MarmotCaravelConfig.fir@282795.4]
+  reg [31:0] _RAND_5;
+  reg [31:0] fallIeReg; // @[GPIO.scala 75:22:shc.marmotcaravel.MarmotCaravelConfig.fir@282796.4]
+  reg [31:0] _RAND_6;
+  reg [31:0] highIpReg; // @[GPIO.scala 76:22:shc.marmotcaravel.MarmotCaravelConfig.fir@282797.4]
+  reg [31:0] _RAND_7;
+  reg [31:0] lowIpReg; // @[GPIO.scala 77:22:shc.marmotcaravel.MarmotCaravelConfig.fir@282798.4]
+  reg [31:0] _RAND_8;
+  reg [31:0] riseIpReg; // @[GPIO.scala 78:22:shc.marmotcaravel.MarmotCaravelConfig.fir@282799.4]
+  reg [31:0] _RAND_9;
+  reg [31:0] fallIpReg; // @[GPIO.scala 79:22:shc.marmotcaravel.MarmotCaravelConfig.fir@282800.4]
+  reg [31:0] _RAND_10;
+  reg [31:0] iofSelReg; // @[GPIO.scala 83:22:shc.marmotcaravel.MarmotCaravelConfig.fir@282805.4]
+  reg [31:0] _RAND_11;
+  reg [31:0] xorReg; // @[GPIO.scala 86:22:shc.marmotcaravel.MarmotCaravelConfig.fir@282806.4]
+  reg [31:0] _RAND_12;
+  wire [31:0] _T_3105; // @[GPIO.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@282807.4]
+  wire [31:0] inSyncReg_1; // @[ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@282788.4 ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@282790.4]
+  wire [31:0] rise; // @[GPIO.scala 92:24:shc.marmotcaravel.MarmotCaravelConfig.fir@282808.4]
+  wire [31:0] _T_3106; // @[GPIO.scala 93:25:shc.marmotcaravel.MarmotCaravelConfig.fir@282809.4]
+  wire [31:0] fall; // @[GPIO.scala 93:23:shc.marmotcaravel.MarmotCaravelConfig.fir@282810.4]
+  wire [2:0] _T_1699_a_bits_opcode; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@282645.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282695.4]
+  wire  _T_3115; // @[RegisterRouter.scala 58:36:shc.marmotcaravel.MarmotCaravelConfig.fir@282814.4]
+  wire [28:0] _T_1699_a_bits_address; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@282645.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282695.4]
+  wire [26:0] _T_3116; // @[Edges.scala 192:34:shc.marmotcaravel.MarmotCaravelConfig.fir@282816.4]
+  wire [5:0] _T_1699_a_bits_source; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@282645.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282695.4]
+  wire [1:0] _T_1699_a_bits_size; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@282645.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282695.4]
+  wire [7:0] _T_3117; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@282820.4]
+  wire [9:0] _T_3112_bits_index; // @[RegisterRouter.scala 57:18:shc.marmotcaravel.MarmotCaravelConfig.fir@282812.4 RegisterRouter.scala 59:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282817.4]
+  wire [9:0] _T_3133; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@282828.4]
+  wire  _T_3135; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@282830.4]
+  wire [3:0] _T_1699_a_bits_mask; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@282645.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282695.4]
+  wire  _T_3261; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@282872.4]
+  wire  _T_3262; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@282873.4]
+  wire  _T_3263; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@282874.4]
+  wire  _T_3264; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@282875.4]
+  wire [7:0] _T_3266; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@282877.4]
+  wire [7:0] _T_3268; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@282879.4]
+  wire [7:0] _T_3270; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@282881.4]
+  wire [7:0] _T_3272; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@282883.4]
+  wire [15:0] _T_3273; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@282884.4]
+  wire [15:0] _T_3274; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@282885.4]
+  wire [31:0] _T_3275; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@282886.4]
+  wire [31:0] _T_3294; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@282905.4]
+  wire  _T_3295; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@282906.4]
+  wire  _T_1699_a_valid; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@282645.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282695.4]
+  wire  _T_1699_d_ready; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@282645.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282695.4]
+  wire  _T_3754; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283401.4]
+  wire  _T_3753; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283400.4]
+  wire [1:0] _T_3761; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@283408.4]
+  wire  _T_3752; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283399.4]
+  wire [2:0] _T_3762; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@283409.4]
+  wire  _T_3751; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283398.4]
+  wire  _T_3750; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283397.4]
+  wire [1:0] _T_3760; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@283407.4]
+  wire [4:0] _T_3763; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@283410.4]
+  wire  _T_3830; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283477.4]
+  wire [31:0] _T_3764; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@283411.4]
+  wire  _T_4066; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283757.4]
+  wire  _T_4067; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283758.4]
+  wire [31:0] _T_1699_a_bits_data; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@282645.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282695.4]
+  wire  _T_3770; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283417.4]
+  wire  _T_4100; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283801.4]
+  wire  _T_4101; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283802.4]
+  wire  _T_3328; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@282939.4]
+  wire  _T_3775; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283422.4]
+  wire  _T_4130; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283841.4]
+  wire  _T_4131; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283842.4]
+  wire  _T_3353; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@282967.4]
+  wire  _T_3779; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283426.4]
+  wire  _T_4154; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283873.4]
+  wire  _T_4155; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283874.4]
+  wire [31:0] _T_3389; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283008.4]
+  wire  _T_3766; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283413.4]
+  wire  _T_4076; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283769.4]
+  wire  _T_4077; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283770.4]
+  wire [31:0] _T_3414; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283035.4]
+  wire  _T_3771; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283418.4]
+  wire  _T_4106; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283809.4]
+  wire  _T_4107; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283810.4]
+  wire  _T_3428; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283049.4]
+  wire  _T_3774; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283421.4]
+  wire  _T_4124; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283833.4]
+  wire  _T_4125; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283834.4]
+  wire  _T_3453; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283077.4]
+  wire [31:0] _T_3456; // @[RegField.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@283080.4]
+  wire [31:0] _T_3457; // @[RegField.scala 187:71:shc.marmotcaravel.MarmotCaravelConfig.fir@283081.4]
+  wire [31:0] _T_3458; // @[RegField.scala 187:66:shc.marmotcaravel.MarmotCaravelConfig.fir@283082.4]
+  wire [31:0] _T_3459; // @[RegField.scala 187:59:shc.marmotcaravel.MarmotCaravelConfig.fir@283083.4]
+  wire [31:0] _T_3460; // @[RegField.scala 187:95:shc.marmotcaravel.MarmotCaravelConfig.fir@283084.4]
+  wire  _T_3778; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283425.4]
+  wire  _T_4148; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283865.4]
+  wire  _T_4149; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283866.4]
+  wire  _T_3483; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283108.4]
+  wire [31:0] _T_3486; // @[RegField.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@283111.4]
+  wire [31:0] _T_3487; // @[RegField.scala 187:71:shc.marmotcaravel.MarmotCaravelConfig.fir@283112.4]
+  wire [31:0] _T_3488; // @[RegField.scala 187:66:shc.marmotcaravel.MarmotCaravelConfig.fir@283113.4]
+  wire [31:0] _T_3489; // @[RegField.scala 187:59:shc.marmotcaravel.MarmotCaravelConfig.fir@283114.4]
+  wire [31:0] _T_3490; // @[RegField.scala 187:95:shc.marmotcaravel.MarmotCaravelConfig.fir@283115.4]
+  wire  _T_3767; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283414.4]
+  wire  _T_4082; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283777.4]
+  wire  _T_4083; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283778.4]
+  wire [31:0] _T_3524; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283152.4]
+  wire  _T_3777; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283424.4]
+  wire  _T_4142; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283857.4]
+  wire  _T_4143; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283858.4]
+  wire  _T_3538; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283166.4]
+  wire  _T_3772; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283419.4]
+  wire  _T_4112; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283817.4]
+  wire  _T_4113; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283818.4]
+  wire  _T_3563; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283194.4]
+  wire [31:0] _T_3566; // @[RegField.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@283197.4]
+  wire [31:0] _T_3567; // @[RegField.scala 187:71:shc.marmotcaravel.MarmotCaravelConfig.fir@283198.4]
+  wire [31:0] _T_3568; // @[RegField.scala 187:66:shc.marmotcaravel.MarmotCaravelConfig.fir@283199.4]
+  wire [31:0] _T_3569; // @[RegField.scala 187:59:shc.marmotcaravel.MarmotCaravelConfig.fir@283200.4]
+  wire [31:0] _T_3570; // @[RegField.scala 187:95:shc.marmotcaravel.MarmotCaravelConfig.fir@283201.4]
+  wire  _T_3768; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283415.4]
+  wire  _T_4088; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283785.4]
+  wire  _T_4089; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283786.4]
+  wire  _T_3593; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283225.4]
+  wire  _T_3781; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283428.4]
+  wire  _T_4166; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283889.4]
+  wire  _T_4167; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283890.4]
+  wire  _T_3618; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283253.4]
+  wire  _T_3776; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283423.4]
+  wire  _T_4136; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283849.4]
+  wire  _T_4137; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283850.4]
+  wire  _T_3643; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283281.4]
+  wire [31:0] _T_3646; // @[RegField.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@283284.4]
+  wire [31:0] _T_3647; // @[RegField.scala 187:71:shc.marmotcaravel.MarmotCaravelConfig.fir@283285.4]
+  wire [31:0] _T_3648; // @[RegField.scala 187:66:shc.marmotcaravel.MarmotCaravelConfig.fir@283286.4]
+  wire [31:0] _T_3649; // @[RegField.scala 187:59:shc.marmotcaravel.MarmotCaravelConfig.fir@283287.4]
+  wire [31:0] _T_3650; // @[RegField.scala 187:95:shc.marmotcaravel.MarmotCaravelConfig.fir@283288.4]
+  wire  _T_3773; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283420.4]
+  wire  _T_4118; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283825.4]
+  wire  _T_4119; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283826.4]
+  wire  _T_3673; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283312.4]
+  wire  _T_3769; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283416.4]
+  wire  _T_4094; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283793.4]
+  wire  _T_4095; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283794.4]
+  wire [31:0] _T_3709; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283353.4]
+  wire  _T_3780; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283427.4]
+  wire  _T_4160; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283881.4]
+  wire  _T_4161; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283882.4]
+  wire  _T_3723; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283367.4]
+  wire  _GEN_137; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284641.4]
+  wire  _GEN_138; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284641.4]
+  wire  _GEN_139; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284641.4]
+  wire  _GEN_140; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284641.4]
+  wire  _GEN_141; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284641.4]
+  wire  _GEN_142; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284641.4]
+  wire  _GEN_143; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284641.4]
+  wire  _GEN_144; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284641.4]
+  wire  _GEN_145; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284641.4]
+  wire  _GEN_146; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284641.4]
+  wire  _GEN_147; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284641.4]
+  wire  _GEN_148; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284641.4]
+  wire  _GEN_149; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284641.4]
+  wire  _GEN_150; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284641.4]
+  wire  _GEN_151; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284641.4]
+  wire  _GEN_152; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284641.4]
+  wire  _GEN_153; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284641.4]
+  wire  _GEN_154; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284641.4]
+  wire  _GEN_155; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284641.4]
+  wire  _GEN_156; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284641.4]
+  wire  _GEN_157; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284641.4]
+  wire  _GEN_158; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284641.4]
+  wire  _GEN_159; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284641.4]
+  wire  _GEN_160; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284641.4]
+  wire  _GEN_161; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284641.4]
+  wire  _GEN_162; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284641.4]
+  wire  _GEN_163; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284641.4]
+  wire  _GEN_164; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284641.4]
+  wire  _GEN_165; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284641.4]
+  wire  _GEN_166; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284641.4]
+  wire  _GEN_167; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284641.4]
+  wire [31:0] _GEN_169; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284677.4]
+  wire [31:0] _GEN_170; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284677.4]
+  wire [31:0] _GEN_171; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284677.4]
+  wire [31:0] _GEN_172; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284677.4]
+  wire [31:0] _GEN_173; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284677.4]
+  wire [31:0] _GEN_174; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284677.4]
+  wire [31:0] _GEN_175; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284677.4]
+  wire [31:0] _GEN_176; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284677.4]
+  wire [31:0] _GEN_177; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284677.4]
+  wire [31:0] _GEN_178; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284677.4]
+  wire [31:0] _GEN_179; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284677.4]
+  wire [31:0] _GEN_180; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284677.4]
+  wire [31:0] _GEN_181; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284677.4]
+  wire [31:0] _GEN_182; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284677.4]
+  wire [31:0] _GEN_183; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284677.4]
+  wire [31:0] _GEN_184; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284677.4]
+  wire [31:0] _GEN_185; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284677.4]
+  wire [31:0] _GEN_186; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284677.4]
+  wire [31:0] _GEN_187; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284677.4]
+  wire [31:0] _GEN_188; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284677.4]
+  wire [31:0] _GEN_189; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284677.4]
+  wire [31:0] _GEN_190; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284677.4]
+  wire [31:0] _GEN_191; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284677.4]
+  wire [31:0] _GEN_192; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284677.4]
+  wire [31:0] _GEN_193; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284677.4]
+  wire [31:0] _GEN_194; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284677.4]
+  wire [31:0] _GEN_195; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284677.4]
+  wire [31:0] _GEN_196; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284677.4]
+  wire [31:0] _GEN_197; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284677.4]
+  wire [31:0] _GEN_198; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284677.4]
+  wire [31:0] _GEN_199; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284677.4]
+  wire  swPinCtrl_0_oval; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@284716.4]
+  wire  swPinCtrl_0_oe; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@284718.4]
+  wire  swPinCtrl_0_ie; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@284722.4]
+  wire  _T_5058; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@284734.4]
+  wire  iofCtrl_0_oval; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@284735.4]
+  wire  iofCtrl_0_oe; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@284735.4]
+  wire  iofCtrl_0_ie; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@284735.4]
+  wire  _T_5060; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@284739.4]
+  wire  _T_5061_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@284740.4]
+  wire  _T_5062; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@284743.4]
+  wire  _T_5064; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@284746.4]
+  wire  _T_5065; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@284747.4]
+  wire  _T_5066; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@284748.4]
+  wire  _T_5067; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@284749.4]
+  wire  _T_5068; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@284750.4]
+  wire  _T_5069; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@284751.4]
+  wire  _T_5070; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@284752.4]
+  wire  _T_5071; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@284753.4]
+  wire  _T_5072; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@284754.4]
+  wire  _T_5073; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@284755.4]
+  wire  _T_5074; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@284756.4]
+  wire  _T_5075; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@284757.4]
+  wire  _T_5076; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@284758.4]
+  wire  _T_5077; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@284759.4]
+  wire  swPinCtrl_1_oval; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@284768.4]
+  wire  swPinCtrl_1_oe; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@284770.4]
+  wire  swPinCtrl_1_ie; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@284774.4]
+  wire  _T_5088; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@284786.4]
+  wire  iofCtrl_1_oval; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@284787.4]
+  wire  iofCtrl_1_oe; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@284787.4]
+  wire  iofCtrl_1_ie; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@284787.4]
+  wire  _T_5090; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@284791.4]
+  wire  _T_5091_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@284792.4]
+  wire  _T_5092; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@284795.4]
+  wire  _T_5094; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@284798.4]
+  wire  _T_5095; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@284799.4]
+  wire  _T_5096; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@284800.4]
+  wire  _T_5097; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@284801.4]
+  wire  _T_5098; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@284802.4]
+  wire  _T_5099; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@284803.4]
+  wire  _T_5100; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@284804.4]
+  wire  _T_5101; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@284805.4]
+  wire  _T_5102; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@284806.4]
+  wire  _T_5103; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@284807.4]
+  wire  _T_5104; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@284808.4]
+  wire  _T_5105; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@284809.4]
+  wire  _T_5106; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@284810.4]
+  wire  _T_5107; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@284811.4]
+  wire  swPinCtrl_2_oval; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@284820.4]
+  wire  swPinCtrl_2_oe; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@284822.4]
+  wire  swPinCtrl_2_ie; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@284826.4]
+  wire  _T_5118; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@284838.4]
+  wire  iofCtrl_2_oval; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@284839.4]
+  wire  iofCtrl_2_oe; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@284839.4]
+  wire  iofCtrl_2_ie; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@284839.4]
+  wire  _T_5120; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@284843.4]
+  wire  _T_5121_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@284844.4]
+  wire  _T_5122; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@284847.4]
+  wire  _T_5124; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@284850.4]
+  wire  _T_5125; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@284851.4]
+  wire  _T_5126; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@284852.4]
+  wire  _T_5127; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@284853.4]
+  wire  _T_5128; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@284854.4]
+  wire  _T_5129; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@284855.4]
+  wire  _T_5130; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@284856.4]
+  wire  _T_5131; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@284857.4]
+  wire  _T_5132; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@284858.4]
+  wire  _T_5133; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@284859.4]
+  wire  _T_5134; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@284860.4]
+  wire  _T_5135; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@284861.4]
+  wire  _T_5136; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@284862.4]
+  wire  _T_5137; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@284863.4]
+  wire  swPinCtrl_3_oval; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@284872.4]
+  wire  swPinCtrl_3_oe; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@284874.4]
+  wire  swPinCtrl_3_ie; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@284878.4]
+  wire  _T_5148; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@284890.4]
+  wire  iofCtrl_3_oval; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@284891.4]
+  wire  iofCtrl_3_oe; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@284891.4]
+  wire  iofCtrl_3_ie; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@284891.4]
+  wire  _T_5150; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@284895.4]
+  wire  _T_5151_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@284896.4]
+  wire  _T_5152; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@284899.4]
+  wire  _T_5154; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@284902.4]
+  wire  _T_5155; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@284903.4]
+  wire  _T_5156; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@284904.4]
+  wire  _T_5157; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@284905.4]
+  wire  _T_5158; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@284906.4]
+  wire  _T_5159; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@284907.4]
+  wire  _T_5160; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@284908.4]
+  wire  _T_5161; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@284909.4]
+  wire  _T_5162; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@284910.4]
+  wire  _T_5163; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@284911.4]
+  wire  _T_5164; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@284912.4]
+  wire  _T_5165; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@284913.4]
+  wire  _T_5166; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@284914.4]
+  wire  _T_5167; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@284915.4]
+  wire  swPinCtrl_4_oval; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@284924.4]
+  wire  swPinCtrl_4_oe; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@284926.4]
+  wire  swPinCtrl_4_ie; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@284930.4]
+  wire  _T_5178; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@284942.4]
+  wire  iofCtrl_4_oval; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@284943.4]
+  wire  iofCtrl_4_oe; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@284943.4]
+  wire  iofCtrl_4_ie; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@284943.4]
+  wire  _T_5180; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@284947.4]
+  wire  _T_5181_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@284948.4]
+  wire  _T_5182; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@284951.4]
+  wire  _T_5184; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@284954.4]
+  wire  _T_5185; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@284955.4]
+  wire  _T_5186; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@284956.4]
+  wire  _T_5187; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@284957.4]
+  wire  _T_5188; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@284958.4]
+  wire  _T_5189; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@284959.4]
+  wire  _T_5190; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@284960.4]
+  wire  _T_5191; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@284961.4]
+  wire  _T_5192; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@284962.4]
+  wire  _T_5193; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@284963.4]
+  wire  _T_5194; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@284964.4]
+  wire  _T_5195; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@284965.4]
+  wire  _T_5196; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@284966.4]
+  wire  _T_5197; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@284967.4]
+  wire  swPinCtrl_5_oval; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@284976.4]
+  wire  swPinCtrl_5_oe; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@284978.4]
+  wire  swPinCtrl_5_ie; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@284982.4]
+  wire  _T_5208; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@284994.4]
+  wire  iofCtrl_5_oval; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@284995.4]
+  wire  iofCtrl_5_oe; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@284995.4]
+  wire  iofCtrl_5_ie; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@284995.4]
+  wire  _T_5210; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@284999.4]
+  wire  _T_5211_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285000.4]
+  wire  _T_5212; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285003.4]
+  wire  _T_5214; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@285006.4]
+  wire  _T_5215; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285007.4]
+  wire  _T_5216; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285008.4]
+  wire  _T_5217; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285009.4]
+  wire  _T_5218; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285010.4]
+  wire  _T_5219; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285011.4]
+  wire  _T_5220; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@285012.4]
+  wire  _T_5221; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285013.4]
+  wire  _T_5222; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285014.4]
+  wire  _T_5223; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285015.4]
+  wire  _T_5224; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@285016.4]
+  wire  _T_5225; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@285017.4]
+  wire  _T_5226; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285018.4]
+  wire  _T_5227; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@285019.4]
+  wire  swPinCtrl_6_oval; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@285028.4]
+  wire  swPinCtrl_6_oe; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285030.4]
+  wire  swPinCtrl_6_ie; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285034.4]
+  wire  _T_5238; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285046.4]
+  wire  iofCtrl_6_oval; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285047.4]
+  wire  iofCtrl_6_oe; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285047.4]
+  wire  iofCtrl_6_ie; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285047.4]
+  wire  _T_5240; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285051.4]
+  wire  _T_5241_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285052.4]
+  wire  _T_5242; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285055.4]
+  wire  _T_5244; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@285058.4]
+  wire  _T_5245; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285059.4]
+  wire  _T_5246; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285060.4]
+  wire  _T_5247; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285061.4]
+  wire  _T_5248; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285062.4]
+  wire  _T_5249; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285063.4]
+  wire  _T_5250; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@285064.4]
+  wire  _T_5251; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285065.4]
+  wire  _T_5252; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285066.4]
+  wire  _T_5253; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285067.4]
+  wire  _T_5254; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@285068.4]
+  wire  _T_5255; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@285069.4]
+  wire  _T_5256; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285070.4]
+  wire  _T_5257; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@285071.4]
+  wire  swPinCtrl_7_oval; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@285080.4]
+  wire  swPinCtrl_7_oe; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285082.4]
+  wire  swPinCtrl_7_ie; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285086.4]
+  wire  _T_5268; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285098.4]
+  wire  iofCtrl_7_oval; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285099.4]
+  wire  iofCtrl_7_oe; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285099.4]
+  wire  iofCtrl_7_ie; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285099.4]
+  wire  _T_5270; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285103.4]
+  wire  _T_5271_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285104.4]
+  wire  _T_5272; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285107.4]
+  wire  _T_5274; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@285110.4]
+  wire  _T_5275; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285111.4]
+  wire  _T_5276; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285112.4]
+  wire  _T_5277; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285113.4]
+  wire  _T_5278; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285114.4]
+  wire  _T_5279; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285115.4]
+  wire  _T_5280; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@285116.4]
+  wire  _T_5281; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285117.4]
+  wire  _T_5282; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285118.4]
+  wire  _T_5283; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285119.4]
+  wire  _T_5284; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@285120.4]
+  wire  _T_5285; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@285121.4]
+  wire  _T_5286; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285122.4]
+  wire  _T_5287; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@285123.4]
+  wire  swPinCtrl_8_oval; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@285132.4]
+  wire  swPinCtrl_8_oe; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285134.4]
+  wire  swPinCtrl_8_ie; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285138.4]
+  wire  _T_5298; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285150.4]
+  wire  iofCtrl_8_oval; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285151.4]
+  wire  iofCtrl_8_oe; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285151.4]
+  wire  iofCtrl_8_ie; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285151.4]
+  wire  _T_5300; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285155.4]
+  wire  _T_5301_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285156.4]
+  wire  _T_5302; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285159.4]
+  wire  _T_5304; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@285162.4]
+  wire  _T_5305; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285163.4]
+  wire  _T_5306; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285164.4]
+  wire  _T_5307; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285165.4]
+  wire  _T_5308; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285166.4]
+  wire  _T_5309; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285167.4]
+  wire  _T_5310; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@285168.4]
+  wire  _T_5311; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285169.4]
+  wire  _T_5312; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285170.4]
+  wire  _T_5313; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285171.4]
+  wire  _T_5314; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@285172.4]
+  wire  _T_5315; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@285173.4]
+  wire  _T_5316; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285174.4]
+  wire  _T_5317; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@285175.4]
+  wire  swPinCtrl_9_oval; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@285184.4]
+  wire  swPinCtrl_9_oe; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285186.4]
+  wire  swPinCtrl_9_ie; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285190.4]
+  wire  _T_5328; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285202.4]
+  wire  iofCtrl_9_oval; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285203.4]
+  wire  iofCtrl_9_oe; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285203.4]
+  wire  iofCtrl_9_ie; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285203.4]
+  wire  _T_5330; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285207.4]
+  wire  _T_5331_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285208.4]
+  wire  _T_5332; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285211.4]
+  wire  _T_5334; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@285214.4]
+  wire  _T_5335; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285215.4]
+  wire  _T_5336; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285216.4]
+  wire  _T_5337; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285217.4]
+  wire  _T_5338; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285218.4]
+  wire  _T_5339; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285219.4]
+  wire  _T_5340; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@285220.4]
+  wire  _T_5341; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285221.4]
+  wire  _T_5342; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285222.4]
+  wire  _T_5343; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285223.4]
+  wire  _T_5344; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@285224.4]
+  wire  _T_5345; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@285225.4]
+  wire  _T_5346; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285226.4]
+  wire  _T_5347; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@285227.4]
+  wire  swPinCtrl_10_oval; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@285236.4]
+  wire  swPinCtrl_10_oe; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285238.4]
+  wire  swPinCtrl_10_ie; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285242.4]
+  wire  _T_5358; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285254.4]
+  wire  iofCtrl_10_oval; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285255.4]
+  wire  iofCtrl_10_oe; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285255.4]
+  wire  iofCtrl_10_ie; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285255.4]
+  wire  _T_5360; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285259.4]
+  wire  _T_5361_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285260.4]
+  wire  _T_5362; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285263.4]
+  wire  _T_5364; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@285266.4]
+  wire  _T_5365; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285267.4]
+  wire  _T_5366; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285268.4]
+  wire  _T_5367; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285269.4]
+  wire  _T_5368; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285270.4]
+  wire  _T_5369; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285271.4]
+  wire  _T_5370; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@285272.4]
+  wire  _T_5371; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285273.4]
+  wire  _T_5372; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285274.4]
+  wire  _T_5373; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285275.4]
+  wire  _T_5374; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@285276.4]
+  wire  _T_5375; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@285277.4]
+  wire  _T_5376; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285278.4]
+  wire  _T_5377; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@285279.4]
+  wire  swPinCtrl_11_oval; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@285288.4]
+  wire  swPinCtrl_11_oe; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285290.4]
+  wire  swPinCtrl_11_ie; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285294.4]
+  wire  _T_5388; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285306.4]
+  wire  iofCtrl_11_oval; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285307.4]
+  wire  iofCtrl_11_oe; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285307.4]
+  wire  iofCtrl_11_ie; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285307.4]
+  wire  _T_5390; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285311.4]
+  wire  _T_5391_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285312.4]
+  wire  _T_5392; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285315.4]
+  wire  _T_5394; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@285318.4]
+  wire  _T_5395; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285319.4]
+  wire  _T_5396; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285320.4]
+  wire  _T_5397; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285321.4]
+  wire  _T_5398; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285322.4]
+  wire  _T_5399; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285323.4]
+  wire  _T_5400; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@285324.4]
+  wire  _T_5401; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285325.4]
+  wire  _T_5402; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285326.4]
+  wire  _T_5403; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285327.4]
+  wire  _T_5404; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@285328.4]
+  wire  _T_5405; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@285329.4]
+  wire  _T_5406; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285330.4]
+  wire  _T_5407; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@285331.4]
+  wire  swPinCtrl_12_oval; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@285340.4]
+  wire  swPinCtrl_12_oe; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285342.4]
+  wire  swPinCtrl_12_ie; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285346.4]
+  wire  _T_5418; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285358.4]
+  wire  iofCtrl_12_oval; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285359.4]
+  wire  iofCtrl_12_oe; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285359.4]
+  wire  iofCtrl_12_ie; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285359.4]
+  wire  _T_5420; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285363.4]
+  wire  _T_5421_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285364.4]
+  wire  _T_5422; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285367.4]
+  wire  _T_5424; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@285370.4]
+  wire  _T_5425; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285371.4]
+  wire  _T_5426; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285372.4]
+  wire  _T_5427; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285373.4]
+  wire  _T_5428; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285374.4]
+  wire  _T_5429; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285375.4]
+  wire  _T_5430; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@285376.4]
+  wire  _T_5431; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285377.4]
+  wire  _T_5432; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285378.4]
+  wire  _T_5433; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285379.4]
+  wire  _T_5434; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@285380.4]
+  wire  _T_5435; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@285381.4]
+  wire  _T_5436; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285382.4]
+  wire  _T_5437; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@285383.4]
+  wire  swPinCtrl_13_oval; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@285392.4]
+  wire  swPinCtrl_13_oe; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285394.4]
+  wire  swPinCtrl_13_ie; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285398.4]
+  wire  _T_5448; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285410.4]
+  wire  iofCtrl_13_oval; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285411.4]
+  wire  iofCtrl_13_oe; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285411.4]
+  wire  iofCtrl_13_ie; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285411.4]
+  wire  _T_5450; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285415.4]
+  wire  _T_5451_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285416.4]
+  wire  _T_5452; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285419.4]
+  wire  _T_5454; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@285422.4]
+  wire  _T_5455; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285423.4]
+  wire  _T_5456; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285424.4]
+  wire  _T_5457; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285425.4]
+  wire  _T_5458; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285426.4]
+  wire  _T_5459; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285427.4]
+  wire  _T_5460; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@285428.4]
+  wire  _T_5461; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285429.4]
+  wire  _T_5462; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285430.4]
+  wire  _T_5463; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285431.4]
+  wire  _T_5464; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@285432.4]
+  wire  _T_5465; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@285433.4]
+  wire  _T_5466; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285434.4]
+  wire  _T_5467; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@285435.4]
+  wire  swPinCtrl_14_oval; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@285444.4]
+  wire  swPinCtrl_14_oe; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285446.4]
+  wire  swPinCtrl_14_ie; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285450.4]
+  wire  _T_5478; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285462.4]
+  wire  iofCtrl_14_oval; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285463.4]
+  wire  iofCtrl_14_oe; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285463.4]
+  wire  iofCtrl_14_ie; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285463.4]
+  wire  _T_5480; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285467.4]
+  wire  _T_5481_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285468.4]
+  wire  _T_5482; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285471.4]
+  wire  _T_5484; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@285474.4]
+  wire  _T_5485; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285475.4]
+  wire  _T_5486; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285476.4]
+  wire  _T_5487; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285477.4]
+  wire  _T_5488; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285478.4]
+  wire  _T_5489; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285479.4]
+  wire  _T_5490; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@285480.4]
+  wire  _T_5491; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285481.4]
+  wire  _T_5492; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285482.4]
+  wire  _T_5493; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285483.4]
+  wire  _T_5494; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@285484.4]
+  wire  _T_5495; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@285485.4]
+  wire  _T_5496; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285486.4]
+  wire  _T_5497; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@285487.4]
+  wire  swPinCtrl_15_oval; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@285496.4]
+  wire  swPinCtrl_15_oe; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285498.4]
+  wire  swPinCtrl_15_ie; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285502.4]
+  wire  _T_5508; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285514.4]
+  wire  iofCtrl_15_oval; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285515.4]
+  wire  iofCtrl_15_oe; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285515.4]
+  wire  iofCtrl_15_ie; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285515.4]
+  wire  _T_5510; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285519.4]
+  wire  _T_5511_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285520.4]
+  wire  _T_5512; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285523.4]
+  wire  _T_5514; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@285526.4]
+  wire  _T_5515; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285527.4]
+  wire  _T_5516; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285528.4]
+  wire  _T_5517; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285529.4]
+  wire  _T_5518; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285530.4]
+  wire  _T_5519; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285531.4]
+  wire  _T_5520; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@285532.4]
+  wire  _T_5521; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285533.4]
+  wire  _T_5522; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285534.4]
+  wire  _T_5523; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285535.4]
+  wire  _T_5524; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@285536.4]
+  wire  _T_5525; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@285537.4]
+  wire  _T_5526; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285538.4]
+  wire  _T_5527; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@285539.4]
+  wire  swPinCtrl_16_oval; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@285548.4]
+  wire  swPinCtrl_16_oe; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285550.4]
+  wire  swPinCtrl_16_ie; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285554.4]
+  wire  _T_5538; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285566.4]
+  wire  iofCtrl_16_oval; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285567.4]
+  wire  iofCtrl_16_oe; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285567.4]
+  wire  iofCtrl_16_ie; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285567.4]
+  wire  _T_5540; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285571.4]
+  wire  _T_5541_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285572.4]
+  wire  _T_5542; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285575.4]
+  wire  _T_5544; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@285578.4]
+  wire  _T_5545; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285579.4]
+  wire  _T_5546; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285580.4]
+  wire  _T_5547; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285581.4]
+  wire  _T_5548; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285582.4]
+  wire  _T_5549; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285583.4]
+  wire  _T_5550; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@285584.4]
+  wire  _T_5551; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285585.4]
+  wire  _T_5552; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285586.4]
+  wire  _T_5553; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285587.4]
+  wire  _T_5554; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@285588.4]
+  wire  _T_5555; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@285589.4]
+  wire  _T_5556; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285590.4]
+  wire  _T_5557; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@285591.4]
+  wire  swPinCtrl_17_oval; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@285600.4]
+  wire  swPinCtrl_17_oe; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285602.4]
+  wire  swPinCtrl_17_ie; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285606.4]
+  wire  _T_5568; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285618.4]
+  wire  iofCtrl_17_oval; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285619.4]
+  wire  iofCtrl_17_oe; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285619.4]
+  wire  iofCtrl_17_ie; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285619.4]
+  wire  _T_5570; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285623.4]
+  wire  _T_5571_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285624.4]
+  wire  _T_5572; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285627.4]
+  wire  _T_5574; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@285630.4]
+  wire  _T_5575; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285631.4]
+  wire  _T_5576; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285632.4]
+  wire  _T_5577; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285633.4]
+  wire  _T_5578; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285634.4]
+  wire  _T_5579; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285635.4]
+  wire  _T_5580; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@285636.4]
+  wire  _T_5581; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285637.4]
+  wire  _T_5582; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285638.4]
+  wire  _T_5583; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285639.4]
+  wire  _T_5584; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@285640.4]
+  wire  _T_5585; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@285641.4]
+  wire  _T_5586; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285642.4]
+  wire  _T_5587; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@285643.4]
+  wire  swPinCtrl_18_oval; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@285652.4]
+  wire  swPinCtrl_18_oe; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285654.4]
+  wire  swPinCtrl_18_ie; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285658.4]
+  wire  _T_5598; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285670.4]
+  wire  iofCtrl_18_oval; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285671.4]
+  wire  iofCtrl_18_oe; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285671.4]
+  wire  iofCtrl_18_ie; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285671.4]
+  wire  _T_5600; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285675.4]
+  wire  _T_5601_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285676.4]
+  wire  _T_5602; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285679.4]
+  wire  _T_5604; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@285682.4]
+  wire  _T_5605; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285683.4]
+  wire  _T_5606; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285684.4]
+  wire  _T_5607; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285685.4]
+  wire  _T_5608; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285686.4]
+  wire  _T_5609; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285687.4]
+  wire  _T_5610; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@285688.4]
+  wire  _T_5611; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285689.4]
+  wire  _T_5612; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285690.4]
+  wire  _T_5613; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285691.4]
+  wire  _T_5614; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@285692.4]
+  wire  _T_5615; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@285693.4]
+  wire  _T_5616; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285694.4]
+  wire  _T_5617; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@285695.4]
+  wire  swPinCtrl_19_oval; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@285704.4]
+  wire  swPinCtrl_19_oe; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285706.4]
+  wire  swPinCtrl_19_ie; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285710.4]
+  wire  _T_5628; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285722.4]
+  wire  iofCtrl_19_oval; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285723.4]
+  wire  iofCtrl_19_oe; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285723.4]
+  wire  iofCtrl_19_ie; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285723.4]
+  wire  _T_5630; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285727.4]
+  wire  _T_5631_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285728.4]
+  wire  _T_5632; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285731.4]
+  wire  _T_5634; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@285734.4]
+  wire  _T_5635; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285735.4]
+  wire  _T_5636; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285736.4]
+  wire  _T_5637; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285737.4]
+  wire  _T_5638; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285738.4]
+  wire  _T_5639; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285739.4]
+  wire  _T_5640; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@285740.4]
+  wire  _T_5641; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285741.4]
+  wire  _T_5642; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285742.4]
+  wire  _T_5643; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285743.4]
+  wire  _T_5644; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@285744.4]
+  wire  _T_5645; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@285745.4]
+  wire  _T_5646; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285746.4]
+  wire  _T_5647; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@285747.4]
+  wire  swPinCtrl_20_oval; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@285756.4]
+  wire  swPinCtrl_20_oe; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285758.4]
+  wire  swPinCtrl_20_ie; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285762.4]
+  wire  _T_5658; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285774.4]
+  wire  iofCtrl_20_oval; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285775.4]
+  wire  iofCtrl_20_oe; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285775.4]
+  wire  iofCtrl_20_ie; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285775.4]
+  wire  _T_5660; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285779.4]
+  wire  _T_5661_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285780.4]
+  wire  _T_5662; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285783.4]
+  wire  _T_5664; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@285786.4]
+  wire  _T_5665; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285787.4]
+  wire  _T_5666; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285788.4]
+  wire  _T_5667; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285789.4]
+  wire  _T_5668; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285790.4]
+  wire  _T_5669; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285791.4]
+  wire  _T_5670; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@285792.4]
+  wire  _T_5671; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285793.4]
+  wire  _T_5672; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285794.4]
+  wire  _T_5673; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285795.4]
+  wire  _T_5674; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@285796.4]
+  wire  _T_5675; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@285797.4]
+  wire  _T_5676; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285798.4]
+  wire  _T_5677; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@285799.4]
+  wire  swPinCtrl_21_oval; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@285808.4]
+  wire  swPinCtrl_21_oe; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285810.4]
+  wire  swPinCtrl_21_ie; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285814.4]
+  wire  _T_5688; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285826.4]
+  wire  iofCtrl_21_oval; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285827.4]
+  wire  iofCtrl_21_oe; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285827.4]
+  wire  iofCtrl_21_ie; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285827.4]
+  wire  _T_5690; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285831.4]
+  wire  _T_5691_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285832.4]
+  wire  _T_5692; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285835.4]
+  wire  _T_5694; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@285838.4]
+  wire  _T_5695; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285839.4]
+  wire  _T_5696; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285840.4]
+  wire  _T_5697; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285841.4]
+  wire  _T_5698; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285842.4]
+  wire  _T_5699; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285843.4]
+  wire  _T_5700; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@285844.4]
+  wire  _T_5701; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285845.4]
+  wire  _T_5702; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285846.4]
+  wire  _T_5703; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285847.4]
+  wire  _T_5704; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@285848.4]
+  wire  _T_5705; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@285849.4]
+  wire  _T_5706; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285850.4]
+  wire  _T_5707; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@285851.4]
+  wire  swPinCtrl_22_oval; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@285860.4]
+  wire  swPinCtrl_22_oe; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285862.4]
+  wire  swPinCtrl_22_ie; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285866.4]
+  wire  _T_5718; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285878.4]
+  wire  iofCtrl_22_oval; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285879.4]
+  wire  iofCtrl_22_oe; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285879.4]
+  wire  iofCtrl_22_ie; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285879.4]
+  wire  _T_5720; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285883.4]
+  wire  _T_5721_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285884.4]
+  wire  _T_5722; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285887.4]
+  wire  _T_5724; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@285890.4]
+  wire  _T_5725; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285891.4]
+  wire  _T_5726; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285892.4]
+  wire  _T_5727; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285893.4]
+  wire  _T_5728; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285894.4]
+  wire  _T_5729; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285895.4]
+  wire  _T_5730; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@285896.4]
+  wire  _T_5731; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285897.4]
+  wire  _T_5732; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285898.4]
+  wire  _T_5733; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285899.4]
+  wire  _T_5734; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@285900.4]
+  wire  _T_5735; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@285901.4]
+  wire  _T_5736; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285902.4]
+  wire  _T_5737; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@285903.4]
+  wire  swPinCtrl_23_oval; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@285912.4]
+  wire  swPinCtrl_23_oe; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285914.4]
+  wire  swPinCtrl_23_ie; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285918.4]
+  wire  _T_5748; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285930.4]
+  wire  iofCtrl_23_oval; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285931.4]
+  wire  iofCtrl_23_oe; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285931.4]
+  wire  iofCtrl_23_ie; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285931.4]
+  wire  _T_5750; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285935.4]
+  wire  _T_5751_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285936.4]
+  wire  _T_5752; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285939.4]
+  wire  _T_5754; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@285942.4]
+  wire  _T_5755; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285943.4]
+  wire  _T_5756; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285944.4]
+  wire  _T_5757; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285945.4]
+  wire  _T_5758; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285946.4]
+  wire  _T_5759; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285947.4]
+  wire  _T_5760; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@285948.4]
+  wire  _T_5761; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285949.4]
+  wire  _T_5762; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285950.4]
+  wire  _T_5763; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285951.4]
+  wire  _T_5764; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@285952.4]
+  wire  _T_5765; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@285953.4]
+  wire  _T_5766; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285954.4]
+  wire  _T_5767; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@285955.4]
+  wire  swPinCtrl_24_oval; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@285964.4]
+  wire  swPinCtrl_24_oe; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285966.4]
+  wire  swPinCtrl_24_ie; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285970.4]
+  wire  _T_5778; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285982.4]
+  wire  iofCtrl_24_oval; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285983.4]
+  wire  iofCtrl_24_oe; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285983.4]
+  wire  iofCtrl_24_ie; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285983.4]
+  wire  _T_5780; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285987.4]
+  wire  _T_5781_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285988.4]
+  wire  _T_5782; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285991.4]
+  wire  _T_5784; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@285994.4]
+  wire  _T_5785; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285995.4]
+  wire  _T_5786; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285996.4]
+  wire  _T_5787; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285997.4]
+  wire  _T_5788; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285998.4]
+  wire  _T_5789; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285999.4]
+  wire  _T_5790; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@286000.4]
+  wire  _T_5791; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@286001.4]
+  wire  _T_5792; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@286002.4]
+  wire  _T_5793; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@286003.4]
+  wire  _T_5794; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@286004.4]
+  wire  _T_5795; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@286005.4]
+  wire  _T_5796; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@286006.4]
+  wire  _T_5797; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@286007.4]
+  wire  _T_5814; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@286046.4]
+  wire  _T_5815; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@286047.4]
+  wire  _T_5816; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@286048.4]
+  wire  _T_5817; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@286049.4]
+  wire  _T_5818; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@286050.4]
+  wire  _T_5819; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@286051.4]
+  wire  _T_5820; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@286052.4]
+  wire  _T_5821; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@286053.4]
+  wire  _T_5822; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@286054.4]
+  wire  _T_5823; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@286055.4]
+  wire  _T_5824; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@286056.4]
+  wire  _T_5825; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@286057.4]
+  wire  _T_5826; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@286058.4]
+  wire  _T_5827; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@286059.4]
+  wire  _T_5844; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@286098.4]
+  wire  _T_5845; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@286099.4]
+  wire  _T_5846; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@286100.4]
+  wire  _T_5847; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@286101.4]
+  wire  _T_5848; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@286102.4]
+  wire  _T_5849; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@286103.4]
+  wire  _T_5850; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@286104.4]
+  wire  _T_5851; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@286105.4]
+  wire  _T_5852; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@286106.4]
+  wire  _T_5853; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@286107.4]
+  wire  _T_5854; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@286108.4]
+  wire  _T_5855; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@286109.4]
+  wire  _T_5856; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@286110.4]
+  wire  _T_5857; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@286111.4]
+  wire  _T_5874; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@286150.4]
+  wire  _T_5875; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@286151.4]
+  wire  _T_5876; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@286152.4]
+  wire  _T_5877; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@286153.4]
+  wire  _T_5878; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@286154.4]
+  wire  _T_5879; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@286155.4]
+  wire  _T_5880; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@286156.4]
+  wire  _T_5881; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@286157.4]
+  wire  _T_5882; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@286158.4]
+  wire  _T_5883; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@286159.4]
+  wire  _T_5884; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@286160.4]
+  wire  _T_5885; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@286161.4]
+  wire  _T_5886; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@286162.4]
+  wire  _T_5887; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@286163.4]
+  wire  _T_5904; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@286202.4]
+  wire  _T_5905; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@286203.4]
+  wire  _T_5906; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@286204.4]
+  wire  _T_5907; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@286205.4]
+  wire  _T_5908; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@286206.4]
+  wire  _T_5909; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@286207.4]
+  wire  _T_5910; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@286208.4]
+  wire  _T_5911; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@286209.4]
+  wire  _T_5912; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@286210.4]
+  wire  _T_5913; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@286211.4]
+  wire  _T_5914; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@286212.4]
+  wire  _T_5915; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@286213.4]
+  wire  _T_5916; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@286214.4]
+  wire  _T_5917; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@286215.4]
+  wire  _T_5934; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@286254.4]
+  wire  _T_5935; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@286255.4]
+  wire  _T_5936; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@286256.4]
+  wire  _T_5937; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@286257.4]
+  wire  _T_5938; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@286258.4]
+  wire  _T_5939; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@286259.4]
+  wire  _T_5940; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@286260.4]
+  wire  _T_5941; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@286261.4]
+  wire  _T_5942; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@286262.4]
+  wire  _T_5943; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@286263.4]
+  wire  _T_5944; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@286264.4]
+  wire  _T_5945; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@286265.4]
+  wire  _T_5946; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@286266.4]
+  wire  _T_5947; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@286267.4]
+  wire  _T_5964; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@286306.4]
+  wire  _T_5965; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@286307.4]
+  wire  _T_5966; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@286308.4]
+  wire  _T_5967; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@286309.4]
+  wire  _T_5968; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@286310.4]
+  wire  _T_5969; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@286311.4]
+  wire  _T_5970; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@286312.4]
+  wire  _T_5971; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@286313.4]
+  wire  _T_5972; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@286314.4]
+  wire  _T_5973; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@286315.4]
+  wire  _T_5974; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@286316.4]
+  wire  _T_5975; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@286317.4]
+  wire  _T_5976; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@286318.4]
+  wire  _T_5977; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@286319.4]
+  wire  _T_5994; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@286358.4]
+  wire  _T_5995; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@286359.4]
+  wire  _T_5996; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@286360.4]
+  wire  _T_5997; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@286361.4]
+  wire  _T_5998; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@286362.4]
+  wire  _T_5999; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@286363.4]
+  wire  _T_6000; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@286364.4]
+  wire  _T_6001; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@286365.4]
+  wire  _T_6002; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@286366.4]
+  wire  _T_6003; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@286367.4]
+  wire  _T_6004; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@286368.4]
+  wire  _T_6005; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@286369.4]
+  wire  _T_6006; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@286370.4]
+  wire  _T_6007; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@286371.4]
+  TLBuffer_26 buffer ( // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@282629.4]
+    .clock(buffer_clock),
+    .reset(buffer_reset),
+    .auto_in_a_ready(buffer_auto_in_a_ready),
+    .auto_in_a_valid(buffer_auto_in_a_valid),
+    .auto_in_a_bits_opcode(buffer_auto_in_a_bits_opcode),
+    .auto_in_a_bits_param(buffer_auto_in_a_bits_param),
+    .auto_in_a_bits_size(buffer_auto_in_a_bits_size),
+    .auto_in_a_bits_source(buffer_auto_in_a_bits_source),
+    .auto_in_a_bits_address(buffer_auto_in_a_bits_address),
+    .auto_in_a_bits_mask(buffer_auto_in_a_bits_mask),
+    .auto_in_a_bits_data(buffer_auto_in_a_bits_data),
+    .auto_in_a_bits_corrupt(buffer_auto_in_a_bits_corrupt),
+    .auto_in_d_ready(buffer_auto_in_d_ready),
+    .auto_in_d_valid(buffer_auto_in_d_valid),
+    .auto_in_d_bits_opcode(buffer_auto_in_d_bits_opcode),
+    .auto_in_d_bits_size(buffer_auto_in_d_bits_size),
+    .auto_in_d_bits_source(buffer_auto_in_d_bits_source),
+    .auto_in_d_bits_data(buffer_auto_in_d_bits_data),
+    .auto_out_a_ready(buffer_auto_out_a_ready),
+    .auto_out_a_valid(buffer_auto_out_a_valid),
+    .auto_out_a_bits_opcode(buffer_auto_out_a_bits_opcode),
+    .auto_out_a_bits_param(buffer_auto_out_a_bits_param),
+    .auto_out_a_bits_size(buffer_auto_out_a_bits_size),
+    .auto_out_a_bits_source(buffer_auto_out_a_bits_source),
+    .auto_out_a_bits_address(buffer_auto_out_a_bits_address),
+    .auto_out_a_bits_mask(buffer_auto_out_a_bits_mask),
+    .auto_out_a_bits_data(buffer_auto_out_a_bits_data),
+    .auto_out_a_bits_corrupt(buffer_auto_out_a_bits_corrupt),
+    .auto_out_d_ready(buffer_auto_out_d_ready),
+    .auto_out_d_valid(buffer_auto_out_d_valid),
+    .auto_out_d_bits_opcode(buffer_auto_out_d_bits_opcode),
+    .auto_out_d_bits_size(buffer_auto_out_d_bits_size),
+    .auto_out_d_bits_source(buffer_auto_out_d_bits_source),
+    .auto_out_d_bits_data(buffer_auto_out_d_bits_data)
+  );
+  IntSyncCrossingSource_13 intsource ( // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
+    .clock(intsource_clock),
+    .reset(intsource_reset),
+    .auto_in_0(intsource_auto_in_0),
+    .auto_in_1(intsource_auto_in_1),
+    .auto_in_2(intsource_auto_in_2),
+    .auto_in_3(intsource_auto_in_3),
+    .auto_in_4(intsource_auto_in_4),
+    .auto_in_5(intsource_auto_in_5),
+    .auto_in_6(intsource_auto_in_6),
+    .auto_in_7(intsource_auto_in_7),
+    .auto_in_8(intsource_auto_in_8),
+    .auto_in_9(intsource_auto_in_9),
+    .auto_in_10(intsource_auto_in_10),
+    .auto_in_11(intsource_auto_in_11),
+    .auto_in_12(intsource_auto_in_12),
+    .auto_in_13(intsource_auto_in_13),
+    .auto_in_14(intsource_auto_in_14),
+    .auto_in_15(intsource_auto_in_15),
+    .auto_in_16(intsource_auto_in_16),
+    .auto_in_17(intsource_auto_in_17),
+    .auto_in_18(intsource_auto_in_18),
+    .auto_in_19(intsource_auto_in_19),
+    .auto_in_20(intsource_auto_in_20),
+    .auto_in_21(intsource_auto_in_21),
+    .auto_in_22(intsource_auto_in_22),
+    .auto_in_23(intsource_auto_in_23),
+    .auto_in_24(intsource_auto_in_24),
+    .auto_in_25(intsource_auto_in_25),
+    .auto_in_26(intsource_auto_in_26),
+    .auto_in_27(intsource_auto_in_27),
+    .auto_in_28(intsource_auto_in_28),
+    .auto_in_29(intsource_auto_in_29),
+    .auto_in_30(intsource_auto_in_30),
+    .auto_in_31(intsource_auto_in_31),
+    .auto_out_sync_0(intsource_auto_out_sync_0),
+    .auto_out_sync_1(intsource_auto_out_sync_1),
+    .auto_out_sync_2(intsource_auto_out_sync_2),
+    .auto_out_sync_3(intsource_auto_out_sync_3),
+    .auto_out_sync_4(intsource_auto_out_sync_4),
+    .auto_out_sync_5(intsource_auto_out_sync_5),
+    .auto_out_sync_6(intsource_auto_out_sync_6),
+    .auto_out_sync_7(intsource_auto_out_sync_7),
+    .auto_out_sync_8(intsource_auto_out_sync_8),
+    .auto_out_sync_9(intsource_auto_out_sync_9),
+    .auto_out_sync_10(intsource_auto_out_sync_10),
+    .auto_out_sync_11(intsource_auto_out_sync_11),
+    .auto_out_sync_12(intsource_auto_out_sync_12),
+    .auto_out_sync_13(intsource_auto_out_sync_13),
+    .auto_out_sync_14(intsource_auto_out_sync_14),
+    .auto_out_sync_15(intsource_auto_out_sync_15),
+    .auto_out_sync_16(intsource_auto_out_sync_16),
+    .auto_out_sync_17(intsource_auto_out_sync_17),
+    .auto_out_sync_18(intsource_auto_out_sync_18),
+    .auto_out_sync_19(intsource_auto_out_sync_19),
+    .auto_out_sync_20(intsource_auto_out_sync_20),
+    .auto_out_sync_21(intsource_auto_out_sync_21),
+    .auto_out_sync_22(intsource_auto_out_sync_22),
+    .auto_out_sync_23(intsource_auto_out_sync_23),
+    .auto_out_sync_24(intsource_auto_out_sync_24),
+    .auto_out_sync_25(intsource_auto_out_sync_25),
+    .auto_out_sync_26(intsource_auto_out_sync_26),
+    .auto_out_sync_27(intsource_auto_out_sync_27),
+    .auto_out_sync_28(intsource_auto_out_sync_28),
+    .auto_out_sync_29(intsource_auto_out_sync_29),
+    .auto_out_sync_30(intsource_auto_out_sync_30),
+    .auto_out_sync_31(intsource_auto_out_sync_31)
+  );
+  TLMonitor_77 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@282647.4]
+    .clock(TLMonitor_clock),
+    .reset(TLMonitor_reset),
+    .io_in_a_ready(TLMonitor_io_in_a_ready),
+    .io_in_a_valid(TLMonitor_io_in_a_valid),
+    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
+    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
+    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
+    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
+    .io_in_d_ready(TLMonitor_io_in_d_ready),
+    .io_in_d_valid(TLMonitor_io_in_d_valid),
+    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
+    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
+    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source)
+  );
+  AsyncResetRegVec_w32_i0 oeReg ( // @[GPIO.scala 60:22:shc.marmotcaravel.MarmotCaravelConfig.fir@282702.4]
+    .clock(oeReg_clock),
+    .reset(oeReg_reset),
+    .io_d(oeReg_io_d),
+    .io_q(oeReg_io_q),
+    .io_en(oeReg_io_en)
+  );
+  AsyncResetRegVec_w32_i0 pueReg ( // @[GPIO.scala 61:22:shc.marmotcaravel.MarmotCaravelConfig.fir@282706.4]
+    .clock(pueReg_clock),
+    .reset(pueReg_reset),
+    .io_d(pueReg_io_d),
+    .io_q(pueReg_io_q),
+    .io_en(pueReg_io_en)
+  );
+  AsyncResetRegVec_w32_i0 ieReg ( // @[GPIO.scala 63:22:shc.marmotcaravel.MarmotCaravelConfig.fir@282711.4]
+    .clock(ieReg_clock),
+    .reset(ieReg_reset),
+    .io_d(ieReg_io_d),
+    .io_q(ieReg_io_q),
+    .io_en(ieReg_io_en)
+  );
+  SynchronizerShiftReg_w32_d3 inSyncReg ( // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@282783.4]
+    .clock(inSyncReg_clock),
+    .io_d(inSyncReg_io_d),
+    .io_q(inSyncReg_io_q)
+  );
+  AsyncResetRegVec_w32_i0 iofEnReg ( // @[GPIO.scala 82:25:shc.marmotcaravel.MarmotCaravelConfig.fir@282801.4]
+    .clock(iofEnReg_clock),
+    .reset(iofEnReg_reset),
+    .io_d(iofEnReg_io_d),
+    .io_q(iofEnReg_io_q),
+    .io_en(iofEnReg_io_en)
+  );
+  assign _T_3062 = {auto_io_out_pins_1_i_ival,auto_io_out_pins_0_i_ival}; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@282751.4]
+  assign _T_3063 = {auto_io_out_pins_3_i_ival,auto_io_out_pins_2_i_ival}; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@282752.4]
+  assign _T_3064 = {_T_3063,_T_3062}; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@282753.4]
+  assign _T_3065 = {auto_io_out_pins_5_i_ival,auto_io_out_pins_4_i_ival}; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@282754.4]
+  assign _T_3066 = {auto_io_out_pins_7_i_ival,auto_io_out_pins_6_i_ival}; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@282755.4]
+  assign _T_3067 = {_T_3066,_T_3065}; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@282756.4]
+  assign _T_3068 = {_T_3067,_T_3064}; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@282757.4]
+  assign _T_3069 = {auto_io_out_pins_9_i_ival,auto_io_out_pins_8_i_ival}; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@282758.4]
+  assign _T_3070 = {auto_io_out_pins_11_i_ival,auto_io_out_pins_10_i_ival}; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@282759.4]
+  assign _T_3071 = {_T_3070,_T_3069}; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@282760.4]
+  assign _T_3072 = {auto_io_out_pins_13_i_ival,auto_io_out_pins_12_i_ival}; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@282761.4]
+  assign _T_3073 = {auto_io_out_pins_15_i_ival,auto_io_out_pins_14_i_ival}; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@282762.4]
+  assign _T_3074 = {_T_3073,_T_3072}; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@282763.4]
+  assign _T_3075 = {_T_3074,_T_3071}; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@282764.4]
+  assign _T_3076 = {_T_3075,_T_3068}; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@282765.4]
+  assign _T_3077 = {auto_io_out_pins_17_i_ival,auto_io_out_pins_16_i_ival}; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@282766.4]
+  assign _T_3078 = {auto_io_out_pins_19_i_ival,auto_io_out_pins_18_i_ival}; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@282767.4]
+  assign _T_3079 = {_T_3078,_T_3077}; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@282768.4]
+  assign _T_3080 = {auto_io_out_pins_21_i_ival,auto_io_out_pins_20_i_ival}; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@282769.4]
+  assign _T_3081 = {auto_io_out_pins_23_i_ival,auto_io_out_pins_22_i_ival}; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@282770.4]
+  assign _T_3082 = {_T_3081,_T_3080}; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@282771.4]
+  assign _T_3083 = {_T_3082,_T_3079}; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@282772.4]
+  assign _T_3084 = {1'h0,auto_io_out_pins_24_i_ival}; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@282773.4]
+  assign _T_3086 = {2'h0,_T_3084}; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@282775.4]
+  assign _T_3090 = {4'h0,_T_3086}; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@282779.4]
+  assign _T_3091 = {_T_3090,_T_3083}; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@282780.4]
+  assign _T_3105 = ~ valueReg; // @[GPIO.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@282807.4]
+  assign inSyncReg_1 = inSyncReg_io_q; // @[ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@282788.4 ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@282790.4]
+  assign rise = _T_3105 & inSyncReg_1; // @[GPIO.scala 92:24:shc.marmotcaravel.MarmotCaravelConfig.fir@282808.4]
+  assign _T_3106 = ~ inSyncReg_1; // @[GPIO.scala 93:25:shc.marmotcaravel.MarmotCaravelConfig.fir@282809.4]
+  assign fall = valueReg & _T_3106; // @[GPIO.scala 93:23:shc.marmotcaravel.MarmotCaravelConfig.fir@282810.4]
+  assign _T_1699_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@282645.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282695.4]
+  assign _T_3115 = _T_1699_a_bits_opcode == 3'h4; // @[RegisterRouter.scala 58:36:shc.marmotcaravel.MarmotCaravelConfig.fir@282814.4]
+  assign _T_1699_a_bits_address = buffer_auto_out_a_bits_address; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@282645.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282695.4]
+  assign _T_3116 = _T_1699_a_bits_address[28:2]; // @[Edges.scala 192:34:shc.marmotcaravel.MarmotCaravelConfig.fir@282816.4]
+  assign _T_1699_a_bits_source = buffer_auto_out_a_bits_source; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@282645.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282695.4]
+  assign _T_1699_a_bits_size = buffer_auto_out_a_bits_size; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@282645.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282695.4]
+  assign _T_3117 = {_T_1699_a_bits_source,_T_1699_a_bits_size}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@282820.4]
+  assign _T_3112_bits_index = _T_3116[9:0]; // @[RegisterRouter.scala 57:18:shc.marmotcaravel.MarmotCaravelConfig.fir@282812.4 RegisterRouter.scala 59:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282817.4]
+  assign _T_3133 = _T_3112_bits_index & 10'h3e0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@282828.4]
+  assign _T_3135 = _T_3133 == 10'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@282830.4]
+  assign _T_1699_a_bits_mask = buffer_auto_out_a_bits_mask; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@282645.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282695.4]
+  assign _T_3261 = _T_1699_a_bits_mask[0]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@282872.4]
+  assign _T_3262 = _T_1699_a_bits_mask[1]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@282873.4]
+  assign _T_3263 = _T_1699_a_bits_mask[2]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@282874.4]
+  assign _T_3264 = _T_1699_a_bits_mask[3]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@282875.4]
+  assign _T_3266 = _T_3261 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@282877.4]
+  assign _T_3268 = _T_3262 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@282879.4]
+  assign _T_3270 = _T_3263 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@282881.4]
+  assign _T_3272 = _T_3264 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@282883.4]
+  assign _T_3273 = {_T_3268,_T_3266}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@282884.4]
+  assign _T_3274 = {_T_3272,_T_3270}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@282885.4]
+  assign _T_3275 = {_T_3274,_T_3273}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@282886.4]
+  assign _T_3294 = ~ _T_3275; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@282905.4]
+  assign _T_3295 = _T_3294 == 32'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@282906.4]
+  assign _T_1699_a_valid = buffer_auto_out_a_valid; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@282645.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282695.4]
+  assign _T_1699_d_ready = buffer_auto_out_d_ready; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@282645.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282695.4]
+  assign _T_3754 = _T_3112_bits_index[4]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283401.4]
+  assign _T_3753 = _T_3112_bits_index[3]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283400.4]
+  assign _T_3761 = {_T_3754,_T_3753}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@283408.4]
+  assign _T_3752 = _T_3112_bits_index[2]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283399.4]
+  assign _T_3762 = {_T_3761,_T_3752}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@283409.4]
+  assign _T_3751 = _T_3112_bits_index[1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283398.4]
+  assign _T_3750 = _T_3112_bits_index[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283397.4]
+  assign _T_3760 = {_T_3751,_T_3750}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@283407.4]
+  assign _T_3763 = {_T_3762,_T_3760}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@283410.4]
+  assign _T_3830 = _T_1699_a_valid & _T_1699_d_ready; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283477.4]
+  assign _T_3764 = 32'h1 << _T_3763; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@283411.4]
+  assign _T_4066 = _T_3115 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283757.4]
+  assign _T_4067 = _T_3830 & _T_4066; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283758.4]
+  assign _T_1699_a_bits_data = buffer_auto_out_a_bits_data; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@282645.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282695.4]
+  assign _T_3770 = _T_3764[5]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283417.4]
+  assign _T_4100 = _T_4067 & _T_3770; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283801.4]
+  assign _T_4101 = _T_4100 & _T_3135; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283802.4]
+  assign _T_3328 = _T_4101 & _T_3295; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@282939.4]
+  assign _T_3775 = _T_3764[10]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283422.4]
+  assign _T_4130 = _T_4067 & _T_3775; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283841.4]
+  assign _T_4131 = _T_4130 & _T_3135; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283842.4]
+  assign _T_3353 = _T_4131 & _T_3295; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@282967.4]
+  assign _T_3779 = _T_3764[14]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283426.4]
+  assign _T_4154 = _T_4067 & _T_3779; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283873.4]
+  assign _T_4155 = _T_4154 & _T_3135; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283874.4]
+  assign _T_3389 = iofEnReg_io_q; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283008.4]
+  assign _T_3766 = _T_3764[1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283413.4]
+  assign _T_4076 = _T_4067 & _T_3766; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283769.4]
+  assign _T_4077 = _T_4076 & _T_3135; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283770.4]
+  assign _T_3414 = ieReg_io_q; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283035.4]
+  assign _T_3771 = _T_3764[6]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283418.4]
+  assign _T_4106 = _T_4067 & _T_3771; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283809.4]
+  assign _T_4107 = _T_4106 & _T_3135; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283810.4]
+  assign _T_3428 = _T_4107 & _T_3295; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283049.4]
+  assign _T_3774 = _T_3764[9]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283421.4]
+  assign _T_4124 = _T_4067 & _T_3774; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283833.4]
+  assign _T_4125 = _T_4124 & _T_3135; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283834.4]
+  assign _T_3453 = _T_4125 & _T_3295; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283077.4]
+  assign _T_3456 = ~ fallIpReg; // @[RegField.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@283080.4]
+  assign _T_3457 = _T_3453 ? _T_1699_a_bits_data : 32'h0; // @[RegField.scala 187:71:shc.marmotcaravel.MarmotCaravelConfig.fir@283081.4]
+  assign _T_3458 = _T_3456 | _T_3457; // @[RegField.scala 187:66:shc.marmotcaravel.MarmotCaravelConfig.fir@283082.4]
+  assign _T_3459 = ~ _T_3458; // @[RegField.scala 187:59:shc.marmotcaravel.MarmotCaravelConfig.fir@283083.4]
+  assign _T_3460 = _T_3459 | fall; // @[RegField.scala 187:95:shc.marmotcaravel.MarmotCaravelConfig.fir@283084.4]
+  assign _T_3778 = _T_3764[13]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283425.4]
+  assign _T_4148 = _T_4067 & _T_3778; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283865.4]
+  assign _T_4149 = _T_4148 & _T_3135; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283866.4]
+  assign _T_3483 = _T_4149 & _T_3295; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283108.4]
+  assign _T_3486 = ~ lowIpReg; // @[RegField.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@283111.4]
+  assign _T_3487 = _T_3483 ? _T_1699_a_bits_data : 32'h0; // @[RegField.scala 187:71:shc.marmotcaravel.MarmotCaravelConfig.fir@283112.4]
+  assign _T_3488 = _T_3486 | _T_3487; // @[RegField.scala 187:66:shc.marmotcaravel.MarmotCaravelConfig.fir@283113.4]
+  assign _T_3489 = ~ _T_3488; // @[RegField.scala 187:59:shc.marmotcaravel.MarmotCaravelConfig.fir@283114.4]
+  assign _T_3490 = _T_3489 | _T_3105; // @[RegField.scala 187:95:shc.marmotcaravel.MarmotCaravelConfig.fir@283115.4]
+  assign _T_3767 = _T_3764[2]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283414.4]
+  assign _T_4082 = _T_4067 & _T_3767; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283777.4]
+  assign _T_4083 = _T_4082 & _T_3135; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283778.4]
+  assign _T_3524 = oeReg_io_q; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283152.4]
+  assign _T_3777 = _T_3764[12]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283424.4]
+  assign _T_4142 = _T_4067 & _T_3777; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283857.4]
+  assign _T_4143 = _T_4142 & _T_3135; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283858.4]
+  assign _T_3538 = _T_4143 & _T_3295; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283166.4]
+  assign _T_3772 = _T_3764[7]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283419.4]
+  assign _T_4112 = _T_4067 & _T_3772; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283817.4]
+  assign _T_4113 = _T_4112 & _T_3135; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283818.4]
+  assign _T_3563 = _T_4113 & _T_3295; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283194.4]
+  assign _T_3566 = ~ riseIpReg; // @[RegField.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@283197.4]
+  assign _T_3567 = _T_3563 ? _T_1699_a_bits_data : 32'h0; // @[RegField.scala 187:71:shc.marmotcaravel.MarmotCaravelConfig.fir@283198.4]
+  assign _T_3568 = _T_3566 | _T_3567; // @[RegField.scala 187:66:shc.marmotcaravel.MarmotCaravelConfig.fir@283199.4]
+  assign _T_3569 = ~ _T_3568; // @[RegField.scala 187:59:shc.marmotcaravel.MarmotCaravelConfig.fir@283200.4]
+  assign _T_3570 = _T_3569 | rise; // @[RegField.scala 187:95:shc.marmotcaravel.MarmotCaravelConfig.fir@283201.4]
+  assign _T_3768 = _T_3764[3]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283415.4]
+  assign _T_4088 = _T_4067 & _T_3768; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283785.4]
+  assign _T_4089 = _T_4088 & _T_3135; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283786.4]
+  assign _T_3593 = _T_4089 & _T_3295; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283225.4]
+  assign _T_3781 = _T_3764[16]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283428.4]
+  assign _T_4166 = _T_4067 & _T_3781; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283889.4]
+  assign _T_4167 = _T_4166 & _T_3135; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283890.4]
+  assign _T_3618 = _T_4167 & _T_3295; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283253.4]
+  assign _T_3776 = _T_3764[11]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283423.4]
+  assign _T_4136 = _T_4067 & _T_3776; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283849.4]
+  assign _T_4137 = _T_4136 & _T_3135; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283850.4]
+  assign _T_3643 = _T_4137 & _T_3295; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283281.4]
+  assign _T_3646 = ~ highIpReg; // @[RegField.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@283284.4]
+  assign _T_3647 = _T_3643 ? _T_1699_a_bits_data : 32'h0; // @[RegField.scala 187:71:shc.marmotcaravel.MarmotCaravelConfig.fir@283285.4]
+  assign _T_3648 = _T_3646 | _T_3647; // @[RegField.scala 187:66:shc.marmotcaravel.MarmotCaravelConfig.fir@283286.4]
+  assign _T_3649 = ~ _T_3648; // @[RegField.scala 187:59:shc.marmotcaravel.MarmotCaravelConfig.fir@283287.4]
+  assign _T_3650 = _T_3649 | valueReg; // @[RegField.scala 187:95:shc.marmotcaravel.MarmotCaravelConfig.fir@283288.4]
+  assign _T_3773 = _T_3764[8]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283420.4]
+  assign _T_4118 = _T_4067 & _T_3773; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283825.4]
+  assign _T_4119 = _T_4118 & _T_3135; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283826.4]
+  assign _T_3673 = _T_4119 & _T_3295; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283312.4]
+  assign _T_3769 = _T_3764[4]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283416.4]
+  assign _T_4094 = _T_4067 & _T_3769; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283793.4]
+  assign _T_4095 = _T_4094 & _T_3135; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283794.4]
+  assign _T_3709 = pueReg_io_q; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283353.4]
+  assign _T_3780 = _T_3764[15]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283427.4]
+  assign _T_4160 = _T_4067 & _T_3780; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283881.4]
+  assign _T_4161 = _T_4160 & _T_3135; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283882.4]
+  assign _T_3723 = _T_4161 & _T_3295; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283367.4]
+  assign _GEN_137 = 5'h1 == _T_3763 ? _T_3135 : _T_3135; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284641.4]
+  assign _GEN_138 = 5'h2 == _T_3763 ? _T_3135 : _GEN_137; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284641.4]
+  assign _GEN_139 = 5'h3 == _T_3763 ? _T_3135 : _GEN_138; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284641.4]
+  assign _GEN_140 = 5'h4 == _T_3763 ? _T_3135 : _GEN_139; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284641.4]
+  assign _GEN_141 = 5'h5 == _T_3763 ? _T_3135 : _GEN_140; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284641.4]
+  assign _GEN_142 = 5'h6 == _T_3763 ? _T_3135 : _GEN_141; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284641.4]
+  assign _GEN_143 = 5'h7 == _T_3763 ? _T_3135 : _GEN_142; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284641.4]
+  assign _GEN_144 = 5'h8 == _T_3763 ? _T_3135 : _GEN_143; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284641.4]
+  assign _GEN_145 = 5'h9 == _T_3763 ? _T_3135 : _GEN_144; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284641.4]
+  assign _GEN_146 = 5'ha == _T_3763 ? _T_3135 : _GEN_145; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284641.4]
+  assign _GEN_147 = 5'hb == _T_3763 ? _T_3135 : _GEN_146; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284641.4]
+  assign _GEN_148 = 5'hc == _T_3763 ? _T_3135 : _GEN_147; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284641.4]
+  assign _GEN_149 = 5'hd == _T_3763 ? _T_3135 : _GEN_148; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284641.4]
+  assign _GEN_150 = 5'he == _T_3763 ? _T_3135 : _GEN_149; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284641.4]
+  assign _GEN_151 = 5'hf == _T_3763 ? _T_3135 : _GEN_150; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284641.4]
+  assign _GEN_152 = 5'h10 == _T_3763 ? _T_3135 : _GEN_151; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284641.4]
+  assign _GEN_153 = 5'h11 == _T_3763 ? 1'h1 : _GEN_152; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284641.4]
+  assign _GEN_154 = 5'h12 == _T_3763 ? 1'h1 : _GEN_153; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284641.4]
+  assign _GEN_155 = 5'h13 == _T_3763 ? 1'h1 : _GEN_154; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284641.4]
+  assign _GEN_156 = 5'h14 == _T_3763 ? 1'h1 : _GEN_155; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284641.4]
+  assign _GEN_157 = 5'h15 == _T_3763 ? 1'h1 : _GEN_156; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284641.4]
+  assign _GEN_158 = 5'h16 == _T_3763 ? 1'h1 : _GEN_157; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284641.4]
+  assign _GEN_159 = 5'h17 == _T_3763 ? 1'h1 : _GEN_158; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284641.4]
+  assign _GEN_160 = 5'h18 == _T_3763 ? 1'h1 : _GEN_159; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284641.4]
+  assign _GEN_161 = 5'h19 == _T_3763 ? 1'h1 : _GEN_160; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284641.4]
+  assign _GEN_162 = 5'h1a == _T_3763 ? 1'h1 : _GEN_161; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284641.4]
+  assign _GEN_163 = 5'h1b == _T_3763 ? 1'h1 : _GEN_162; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284641.4]
+  assign _GEN_164 = 5'h1c == _T_3763 ? 1'h1 : _GEN_163; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284641.4]
+  assign _GEN_165 = 5'h1d == _T_3763 ? 1'h1 : _GEN_164; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284641.4]
+  assign _GEN_166 = 5'h1e == _T_3763 ? 1'h1 : _GEN_165; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284641.4]
+  assign _GEN_167 = 5'h1f == _T_3763 ? 1'h1 : _GEN_166; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284641.4]
+  assign _GEN_169 = 5'h1 == _T_3763 ? _T_3414 : valueReg; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284677.4]
+  assign _GEN_170 = 5'h2 == _T_3763 ? _T_3524 : _GEN_169; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284677.4]
+  assign _GEN_171 = 5'h3 == _T_3763 ? portReg : _GEN_170; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284677.4]
+  assign _GEN_172 = 5'h4 == _T_3763 ? _T_3709 : _GEN_171; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284677.4]
+  assign _GEN_173 = 5'h5 == _T_3763 ? dsReg : _GEN_172; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284677.4]
+  assign _GEN_174 = 5'h6 == _T_3763 ? riseIeReg : _GEN_173; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284677.4]
+  assign _GEN_175 = 5'h7 == _T_3763 ? riseIpReg : _GEN_174; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284677.4]
+  assign _GEN_176 = 5'h8 == _T_3763 ? fallIeReg : _GEN_175; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284677.4]
+  assign _GEN_177 = 5'h9 == _T_3763 ? fallIpReg : _GEN_176; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284677.4]
+  assign _GEN_178 = 5'ha == _T_3763 ? highIeReg : _GEN_177; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284677.4]
+  assign _GEN_179 = 5'hb == _T_3763 ? highIpReg : _GEN_178; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284677.4]
+  assign _GEN_180 = 5'hc == _T_3763 ? lowIeReg : _GEN_179; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284677.4]
+  assign _GEN_181 = 5'hd == _T_3763 ? lowIpReg : _GEN_180; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284677.4]
+  assign _GEN_182 = 5'he == _T_3763 ? _T_3389 : _GEN_181; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284677.4]
+  assign _GEN_183 = 5'hf == _T_3763 ? iofSelReg : _GEN_182; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284677.4]
+  assign _GEN_184 = 5'h10 == _T_3763 ? xorReg : _GEN_183; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284677.4]
+  assign _GEN_185 = 5'h11 == _T_3763 ? 32'h0 : _GEN_184; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284677.4]
+  assign _GEN_186 = 5'h12 == _T_3763 ? 32'h0 : _GEN_185; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284677.4]
+  assign _GEN_187 = 5'h13 == _T_3763 ? 32'h0 : _GEN_186; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284677.4]
+  assign _GEN_188 = 5'h14 == _T_3763 ? 32'h0 : _GEN_187; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284677.4]
+  assign _GEN_189 = 5'h15 == _T_3763 ? 32'h0 : _GEN_188; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284677.4]
+  assign _GEN_190 = 5'h16 == _T_3763 ? 32'h0 : _GEN_189; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284677.4]
+  assign _GEN_191 = 5'h17 == _T_3763 ? 32'h0 : _GEN_190; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284677.4]
+  assign _GEN_192 = 5'h18 == _T_3763 ? 32'h0 : _GEN_191; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284677.4]
+  assign _GEN_193 = 5'h19 == _T_3763 ? 32'h0 : _GEN_192; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284677.4]
+  assign _GEN_194 = 5'h1a == _T_3763 ? 32'h0 : _GEN_193; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284677.4]
+  assign _GEN_195 = 5'h1b == _T_3763 ? 32'h0 : _GEN_194; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284677.4]
+  assign _GEN_196 = 5'h1c == _T_3763 ? 32'h0 : _GEN_195; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284677.4]
+  assign _GEN_197 = 5'h1d == _T_3763 ? 32'h0 : _GEN_196; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284677.4]
+  assign _GEN_198 = 5'h1e == _T_3763 ? 32'h0 : _GEN_197; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284677.4]
+  assign _GEN_199 = 5'h1f == _T_3763 ? 32'h0 : _GEN_198; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284677.4]
+  assign swPinCtrl_0_oval = portReg[0]; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@284716.4]
+  assign swPinCtrl_0_oe = oeReg_io_q[0]; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@284718.4]
+  assign swPinCtrl_0_ie = ieReg_io_q[0]; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@284722.4]
+  assign _T_5058 = iofSelReg[0]; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@284734.4]
+  assign iofCtrl_0_oval = _T_5058 ? swPinCtrl_0_oval : auto_io_out_iof_0_0_o_oval; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@284735.4]
+  assign iofCtrl_0_oe = _T_5058 ? swPinCtrl_0_oe : 1'h1; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@284735.4]
+  assign iofCtrl_0_ie = _T_5058 ? swPinCtrl_0_ie : 1'h0; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@284735.4]
+  assign _T_5060 = iofEnReg_io_q[0]; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@284739.4]
+  assign _T_5061_oval = _T_5060 ? iofCtrl_0_oval : swPinCtrl_0_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@284740.4]
+  assign _T_5062 = xorReg[0]; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@284743.4]
+  assign _T_5064 = riseIpReg[0]; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@284746.4]
+  assign _T_5065 = riseIeReg[0]; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@284747.4]
+  assign _T_5066 = _T_5064 & _T_5065; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@284748.4]
+  assign _T_5067 = fallIpReg[0]; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@284749.4]
+  assign _T_5068 = fallIeReg[0]; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@284750.4]
+  assign _T_5069 = _T_5067 & _T_5068; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@284751.4]
+  assign _T_5070 = _T_5066 | _T_5069; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@284752.4]
+  assign _T_5071 = highIpReg[0]; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@284753.4]
+  assign _T_5072 = highIeReg[0]; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@284754.4]
+  assign _T_5073 = _T_5071 & _T_5072; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@284755.4]
+  assign _T_5074 = _T_5070 | _T_5073; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@284756.4]
+  assign _T_5075 = lowIpReg[0]; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@284757.4]
+  assign _T_5076 = lowIeReg[0]; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@284758.4]
+  assign _T_5077 = _T_5075 & _T_5076; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@284759.4]
+  assign swPinCtrl_1_oval = portReg[1]; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@284768.4]
+  assign swPinCtrl_1_oe = oeReg_io_q[1]; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@284770.4]
+  assign swPinCtrl_1_ie = ieReg_io_q[1]; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@284774.4]
+  assign _T_5088 = iofSelReg[1]; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@284786.4]
+  assign iofCtrl_1_oval = _T_5088 ? swPinCtrl_1_oval : auto_io_out_iof_0_1_o_oval; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@284787.4]
+  assign iofCtrl_1_oe = _T_5088 ? swPinCtrl_1_oe : 1'h1; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@284787.4]
+  assign iofCtrl_1_ie = _T_5088 ? swPinCtrl_1_ie : 1'h0; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@284787.4]
+  assign _T_5090 = iofEnReg_io_q[1]; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@284791.4]
+  assign _T_5091_oval = _T_5090 ? iofCtrl_1_oval : swPinCtrl_1_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@284792.4]
+  assign _T_5092 = xorReg[1]; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@284795.4]
+  assign _T_5094 = riseIpReg[1]; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@284798.4]
+  assign _T_5095 = riseIeReg[1]; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@284799.4]
+  assign _T_5096 = _T_5094 & _T_5095; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@284800.4]
+  assign _T_5097 = fallIpReg[1]; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@284801.4]
+  assign _T_5098 = fallIeReg[1]; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@284802.4]
+  assign _T_5099 = _T_5097 & _T_5098; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@284803.4]
+  assign _T_5100 = _T_5096 | _T_5099; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@284804.4]
+  assign _T_5101 = highIpReg[1]; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@284805.4]
+  assign _T_5102 = highIeReg[1]; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@284806.4]
+  assign _T_5103 = _T_5101 & _T_5102; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@284807.4]
+  assign _T_5104 = _T_5100 | _T_5103; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@284808.4]
+  assign _T_5105 = lowIpReg[1]; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@284809.4]
+  assign _T_5106 = lowIeReg[1]; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@284810.4]
+  assign _T_5107 = _T_5105 & _T_5106; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@284811.4]
+  assign swPinCtrl_2_oval = portReg[2]; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@284820.4]
+  assign swPinCtrl_2_oe = oeReg_io_q[2]; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@284822.4]
+  assign swPinCtrl_2_ie = ieReg_io_q[2]; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@284826.4]
+  assign _T_5118 = iofSelReg[2]; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@284838.4]
+  assign iofCtrl_2_oval = _T_5118 ? swPinCtrl_2_oval : auto_io_out_iof_0_2_o_oval; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@284839.4]
+  assign iofCtrl_2_oe = _T_5118 ? swPinCtrl_2_oe : auto_io_out_iof_0_2_o_oe; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@284839.4]
+  assign iofCtrl_2_ie = _T_5118 ? swPinCtrl_2_ie : auto_io_out_iof_0_2_o_ie; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@284839.4]
+  assign _T_5120 = iofEnReg_io_q[2]; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@284843.4]
+  assign _T_5121_oval = _T_5120 ? iofCtrl_2_oval : swPinCtrl_2_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@284844.4]
+  assign _T_5122 = xorReg[2]; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@284847.4]
+  assign _T_5124 = riseIpReg[2]; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@284850.4]
+  assign _T_5125 = riseIeReg[2]; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@284851.4]
+  assign _T_5126 = _T_5124 & _T_5125; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@284852.4]
+  assign _T_5127 = fallIpReg[2]; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@284853.4]
+  assign _T_5128 = fallIeReg[2]; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@284854.4]
+  assign _T_5129 = _T_5127 & _T_5128; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@284855.4]
+  assign _T_5130 = _T_5126 | _T_5129; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@284856.4]
+  assign _T_5131 = highIpReg[2]; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@284857.4]
+  assign _T_5132 = highIeReg[2]; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@284858.4]
+  assign _T_5133 = _T_5131 & _T_5132; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@284859.4]
+  assign _T_5134 = _T_5130 | _T_5133; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@284860.4]
+  assign _T_5135 = lowIpReg[2]; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@284861.4]
+  assign _T_5136 = lowIeReg[2]; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@284862.4]
+  assign _T_5137 = _T_5135 & _T_5136; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@284863.4]
+  assign swPinCtrl_3_oval = portReg[3]; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@284872.4]
+  assign swPinCtrl_3_oe = oeReg_io_q[3]; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@284874.4]
+  assign swPinCtrl_3_ie = ieReg_io_q[3]; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@284878.4]
+  assign _T_5148 = iofSelReg[3]; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@284890.4]
+  assign iofCtrl_3_oval = _T_5148 ? swPinCtrl_3_oval : auto_io_out_iof_0_3_o_oval; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@284891.4]
+  assign iofCtrl_3_oe = _T_5148 ? swPinCtrl_3_oe : auto_io_out_iof_0_3_o_oe; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@284891.4]
+  assign iofCtrl_3_ie = _T_5148 ? swPinCtrl_3_ie : auto_io_out_iof_0_3_o_ie; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@284891.4]
+  assign _T_5150 = iofEnReg_io_q[3]; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@284895.4]
+  assign _T_5151_oval = _T_5150 ? iofCtrl_3_oval : swPinCtrl_3_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@284896.4]
+  assign _T_5152 = xorReg[3]; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@284899.4]
+  assign _T_5154 = riseIpReg[3]; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@284902.4]
+  assign _T_5155 = riseIeReg[3]; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@284903.4]
+  assign _T_5156 = _T_5154 & _T_5155; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@284904.4]
+  assign _T_5157 = fallIpReg[3]; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@284905.4]
+  assign _T_5158 = fallIeReg[3]; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@284906.4]
+  assign _T_5159 = _T_5157 & _T_5158; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@284907.4]
+  assign _T_5160 = _T_5156 | _T_5159; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@284908.4]
+  assign _T_5161 = highIpReg[3]; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@284909.4]
+  assign _T_5162 = highIeReg[3]; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@284910.4]
+  assign _T_5163 = _T_5161 & _T_5162; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@284911.4]
+  assign _T_5164 = _T_5160 | _T_5163; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@284912.4]
+  assign _T_5165 = lowIpReg[3]; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@284913.4]
+  assign _T_5166 = lowIeReg[3]; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@284914.4]
+  assign _T_5167 = _T_5165 & _T_5166; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@284915.4]
+  assign swPinCtrl_4_oval = portReg[4]; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@284924.4]
+  assign swPinCtrl_4_oe = oeReg_io_q[4]; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@284926.4]
+  assign swPinCtrl_4_ie = ieReg_io_q[4]; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@284930.4]
+  assign _T_5178 = iofSelReg[4]; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@284942.4]
+  assign iofCtrl_4_oval = _T_5178 ? swPinCtrl_4_oval : auto_io_out_iof_0_4_o_oval; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@284943.4]
+  assign iofCtrl_4_oe = _T_5178 ? swPinCtrl_4_oe : auto_io_out_iof_0_4_o_oe; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@284943.4]
+  assign iofCtrl_4_ie = _T_5178 ? swPinCtrl_4_ie : auto_io_out_iof_0_4_o_ie; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@284943.4]
+  assign _T_5180 = iofEnReg_io_q[4]; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@284947.4]
+  assign _T_5181_oval = _T_5180 ? iofCtrl_4_oval : swPinCtrl_4_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@284948.4]
+  assign _T_5182 = xorReg[4]; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@284951.4]
+  assign _T_5184 = riseIpReg[4]; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@284954.4]
+  assign _T_5185 = riseIeReg[4]; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@284955.4]
+  assign _T_5186 = _T_5184 & _T_5185; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@284956.4]
+  assign _T_5187 = fallIpReg[4]; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@284957.4]
+  assign _T_5188 = fallIeReg[4]; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@284958.4]
+  assign _T_5189 = _T_5187 & _T_5188; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@284959.4]
+  assign _T_5190 = _T_5186 | _T_5189; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@284960.4]
+  assign _T_5191 = highIpReg[4]; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@284961.4]
+  assign _T_5192 = highIeReg[4]; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@284962.4]
+  assign _T_5193 = _T_5191 & _T_5192; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@284963.4]
+  assign _T_5194 = _T_5190 | _T_5193; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@284964.4]
+  assign _T_5195 = lowIpReg[4]; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@284965.4]
+  assign _T_5196 = lowIeReg[4]; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@284966.4]
+  assign _T_5197 = _T_5195 & _T_5196; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@284967.4]
+  assign swPinCtrl_5_oval = portReg[5]; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@284976.4]
+  assign swPinCtrl_5_oe = oeReg_io_q[5]; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@284978.4]
+  assign swPinCtrl_5_ie = ieReg_io_q[5]; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@284982.4]
+  assign _T_5208 = iofSelReg[5]; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@284994.4]
+  assign iofCtrl_5_oval = _T_5208 ? swPinCtrl_5_oval : auto_io_out_iof_0_5_o_oval; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@284995.4]
+  assign iofCtrl_5_oe = _T_5208 ? swPinCtrl_5_oe : auto_io_out_iof_0_5_o_oe; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@284995.4]
+  assign iofCtrl_5_ie = _T_5208 ? swPinCtrl_5_ie : auto_io_out_iof_0_5_o_ie; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@284995.4]
+  assign _T_5210 = iofEnReg_io_q[5]; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@284999.4]
+  assign _T_5211_oval = _T_5210 ? iofCtrl_5_oval : swPinCtrl_5_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285000.4]
+  assign _T_5212 = xorReg[5]; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285003.4]
+  assign _T_5214 = riseIpReg[5]; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@285006.4]
+  assign _T_5215 = riseIeReg[5]; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285007.4]
+  assign _T_5216 = _T_5214 & _T_5215; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285008.4]
+  assign _T_5217 = fallIpReg[5]; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285009.4]
+  assign _T_5218 = fallIeReg[5]; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285010.4]
+  assign _T_5219 = _T_5217 & _T_5218; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285011.4]
+  assign _T_5220 = _T_5216 | _T_5219; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@285012.4]
+  assign _T_5221 = highIpReg[5]; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285013.4]
+  assign _T_5222 = highIeReg[5]; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285014.4]
+  assign _T_5223 = _T_5221 & _T_5222; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285015.4]
+  assign _T_5224 = _T_5220 | _T_5223; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@285016.4]
+  assign _T_5225 = lowIpReg[5]; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@285017.4]
+  assign _T_5226 = lowIeReg[5]; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285018.4]
+  assign _T_5227 = _T_5225 & _T_5226; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@285019.4]
+  assign swPinCtrl_6_oval = portReg[6]; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@285028.4]
+  assign swPinCtrl_6_oe = oeReg_io_q[6]; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285030.4]
+  assign swPinCtrl_6_ie = ieReg_io_q[6]; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285034.4]
+  assign _T_5238 = iofSelReg[6]; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285046.4]
+  assign iofCtrl_6_oval = _T_5238 ? swPinCtrl_6_oval : auto_io_out_iof_0_6_o_oval; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285047.4]
+  assign iofCtrl_6_oe = _T_5238 ? swPinCtrl_6_oe : 1'h1; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285047.4]
+  assign iofCtrl_6_ie = _T_5238 ? swPinCtrl_6_ie : 1'h0; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285047.4]
+  assign _T_5240 = iofEnReg_io_q[6]; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285051.4]
+  assign _T_5241_oval = _T_5240 ? iofCtrl_6_oval : swPinCtrl_6_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285052.4]
+  assign _T_5242 = xorReg[6]; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285055.4]
+  assign _T_5244 = riseIpReg[6]; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@285058.4]
+  assign _T_5245 = riseIeReg[6]; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285059.4]
+  assign _T_5246 = _T_5244 & _T_5245; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285060.4]
+  assign _T_5247 = fallIpReg[6]; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285061.4]
+  assign _T_5248 = fallIeReg[6]; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285062.4]
+  assign _T_5249 = _T_5247 & _T_5248; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285063.4]
+  assign _T_5250 = _T_5246 | _T_5249; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@285064.4]
+  assign _T_5251 = highIpReg[6]; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285065.4]
+  assign _T_5252 = highIeReg[6]; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285066.4]
+  assign _T_5253 = _T_5251 & _T_5252; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285067.4]
+  assign _T_5254 = _T_5250 | _T_5253; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@285068.4]
+  assign _T_5255 = lowIpReg[6]; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@285069.4]
+  assign _T_5256 = lowIeReg[6]; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285070.4]
+  assign _T_5257 = _T_5255 & _T_5256; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@285071.4]
+  assign swPinCtrl_7_oval = portReg[7]; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@285080.4]
+  assign swPinCtrl_7_oe = oeReg_io_q[7]; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285082.4]
+  assign swPinCtrl_7_ie = ieReg_io_q[7]; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285086.4]
+  assign _T_5268 = iofSelReg[7]; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285098.4]
+  assign iofCtrl_7_oval = _T_5268 ? swPinCtrl_7_oval : auto_io_out_iof_0_7_o_oval; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285099.4]
+  assign iofCtrl_7_oe = _T_5268 ? swPinCtrl_7_oe : 1'h1; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285099.4]
+  assign iofCtrl_7_ie = _T_5268 ? swPinCtrl_7_ie : 1'h0; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285099.4]
+  assign _T_5270 = iofEnReg_io_q[7]; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285103.4]
+  assign _T_5271_oval = _T_5270 ? iofCtrl_7_oval : swPinCtrl_7_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285104.4]
+  assign _T_5272 = xorReg[7]; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285107.4]
+  assign _T_5274 = riseIpReg[7]; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@285110.4]
+  assign _T_5275 = riseIeReg[7]; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285111.4]
+  assign _T_5276 = _T_5274 & _T_5275; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285112.4]
+  assign _T_5277 = fallIpReg[7]; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285113.4]
+  assign _T_5278 = fallIeReg[7]; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285114.4]
+  assign _T_5279 = _T_5277 & _T_5278; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285115.4]
+  assign _T_5280 = _T_5276 | _T_5279; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@285116.4]
+  assign _T_5281 = highIpReg[7]; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285117.4]
+  assign _T_5282 = highIeReg[7]; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285118.4]
+  assign _T_5283 = _T_5281 & _T_5282; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285119.4]
+  assign _T_5284 = _T_5280 | _T_5283; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@285120.4]
+  assign _T_5285 = lowIpReg[7]; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@285121.4]
+  assign _T_5286 = lowIeReg[7]; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285122.4]
+  assign _T_5287 = _T_5285 & _T_5286; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@285123.4]
+  assign swPinCtrl_8_oval = portReg[8]; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@285132.4]
+  assign swPinCtrl_8_oe = oeReg_io_q[8]; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285134.4]
+  assign swPinCtrl_8_ie = ieReg_io_q[8]; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285138.4]
+  assign _T_5298 = iofSelReg[8]; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285150.4]
+  assign iofCtrl_8_oval = _T_5298 ? swPinCtrl_8_oval : auto_io_out_iof_0_8_o_oval; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285151.4]
+  assign iofCtrl_8_oe = _T_5298 ? swPinCtrl_8_oe : auto_io_out_iof_0_8_o_oe; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285151.4]
+  assign iofCtrl_8_ie = _T_5298 ? swPinCtrl_8_ie : auto_io_out_iof_0_8_o_ie; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285151.4]
+  assign _T_5300 = iofEnReg_io_q[8]; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285155.4]
+  assign _T_5301_oval = _T_5300 ? iofCtrl_8_oval : swPinCtrl_8_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285156.4]
+  assign _T_5302 = xorReg[8]; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285159.4]
+  assign _T_5304 = riseIpReg[8]; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@285162.4]
+  assign _T_5305 = riseIeReg[8]; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285163.4]
+  assign _T_5306 = _T_5304 & _T_5305; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285164.4]
+  assign _T_5307 = fallIpReg[8]; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285165.4]
+  assign _T_5308 = fallIeReg[8]; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285166.4]
+  assign _T_5309 = _T_5307 & _T_5308; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285167.4]
+  assign _T_5310 = _T_5306 | _T_5309; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@285168.4]
+  assign _T_5311 = highIpReg[8]; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285169.4]
+  assign _T_5312 = highIeReg[8]; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285170.4]
+  assign _T_5313 = _T_5311 & _T_5312; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285171.4]
+  assign _T_5314 = _T_5310 | _T_5313; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@285172.4]
+  assign _T_5315 = lowIpReg[8]; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@285173.4]
+  assign _T_5316 = lowIeReg[8]; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285174.4]
+  assign _T_5317 = _T_5315 & _T_5316; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@285175.4]
+  assign swPinCtrl_9_oval = portReg[9]; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@285184.4]
+  assign swPinCtrl_9_oe = oeReg_io_q[9]; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285186.4]
+  assign swPinCtrl_9_ie = ieReg_io_q[9]; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285190.4]
+  assign _T_5328 = iofSelReg[9]; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285202.4]
+  assign iofCtrl_9_oval = _T_5328 ? swPinCtrl_9_oval : auto_io_out_iof_0_9_o_oval; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285203.4]
+  assign iofCtrl_9_oe = _T_5328 ? swPinCtrl_9_oe : auto_io_out_iof_0_9_o_oe; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285203.4]
+  assign iofCtrl_9_ie = _T_5328 ? swPinCtrl_9_ie : auto_io_out_iof_0_9_o_ie; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285203.4]
+  assign _T_5330 = iofEnReg_io_q[9]; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285207.4]
+  assign _T_5331_oval = _T_5330 ? iofCtrl_9_oval : swPinCtrl_9_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285208.4]
+  assign _T_5332 = xorReg[9]; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285211.4]
+  assign _T_5334 = riseIpReg[9]; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@285214.4]
+  assign _T_5335 = riseIeReg[9]; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285215.4]
+  assign _T_5336 = _T_5334 & _T_5335; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285216.4]
+  assign _T_5337 = fallIpReg[9]; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285217.4]
+  assign _T_5338 = fallIeReg[9]; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285218.4]
+  assign _T_5339 = _T_5337 & _T_5338; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285219.4]
+  assign _T_5340 = _T_5336 | _T_5339; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@285220.4]
+  assign _T_5341 = highIpReg[9]; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285221.4]
+  assign _T_5342 = highIeReg[9]; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285222.4]
+  assign _T_5343 = _T_5341 & _T_5342; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285223.4]
+  assign _T_5344 = _T_5340 | _T_5343; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@285224.4]
+  assign _T_5345 = lowIpReg[9]; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@285225.4]
+  assign _T_5346 = lowIeReg[9]; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285226.4]
+  assign _T_5347 = _T_5345 & _T_5346; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@285227.4]
+  assign swPinCtrl_10_oval = portReg[10]; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@285236.4]
+  assign swPinCtrl_10_oe = oeReg_io_q[10]; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285238.4]
+  assign swPinCtrl_10_ie = ieReg_io_q[10]; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285242.4]
+  assign _T_5358 = iofSelReg[10]; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285254.4]
+  assign iofCtrl_10_oval = _T_5358 ? swPinCtrl_10_oval : auto_io_out_iof_0_10_o_oval; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285255.4]
+  assign iofCtrl_10_oe = _T_5358 ? swPinCtrl_10_oe : auto_io_out_iof_0_10_o_oe; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285255.4]
+  assign iofCtrl_10_ie = _T_5358 ? swPinCtrl_10_ie : auto_io_out_iof_0_10_o_ie; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285255.4]
+  assign _T_5360 = iofEnReg_io_q[10]; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285259.4]
+  assign _T_5361_oval = _T_5360 ? iofCtrl_10_oval : swPinCtrl_10_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285260.4]
+  assign _T_5362 = xorReg[10]; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285263.4]
+  assign _T_5364 = riseIpReg[10]; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@285266.4]
+  assign _T_5365 = riseIeReg[10]; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285267.4]
+  assign _T_5366 = _T_5364 & _T_5365; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285268.4]
+  assign _T_5367 = fallIpReg[10]; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285269.4]
+  assign _T_5368 = fallIeReg[10]; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285270.4]
+  assign _T_5369 = _T_5367 & _T_5368; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285271.4]
+  assign _T_5370 = _T_5366 | _T_5369; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@285272.4]
+  assign _T_5371 = highIpReg[10]; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285273.4]
+  assign _T_5372 = highIeReg[10]; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285274.4]
+  assign _T_5373 = _T_5371 & _T_5372; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285275.4]
+  assign _T_5374 = _T_5370 | _T_5373; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@285276.4]
+  assign _T_5375 = lowIpReg[10]; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@285277.4]
+  assign _T_5376 = lowIeReg[10]; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285278.4]
+  assign _T_5377 = _T_5375 & _T_5376; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@285279.4]
+  assign swPinCtrl_11_oval = portReg[11]; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@285288.4]
+  assign swPinCtrl_11_oe = oeReg_io_q[11]; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285290.4]
+  assign swPinCtrl_11_ie = ieReg_io_q[11]; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285294.4]
+  assign _T_5388 = iofSelReg[11]; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285306.4]
+  assign iofCtrl_11_oval = _T_5388 ? swPinCtrl_11_oval : auto_io_out_iof_0_11_o_oval; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285307.4]
+  assign iofCtrl_11_oe = _T_5388 ? swPinCtrl_11_oe : auto_io_out_iof_0_11_o_oe; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285307.4]
+  assign iofCtrl_11_ie = _T_5388 ? swPinCtrl_11_ie : auto_io_out_iof_0_11_o_ie; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285307.4]
+  assign _T_5390 = iofEnReg_io_q[11]; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285311.4]
+  assign _T_5391_oval = _T_5390 ? iofCtrl_11_oval : swPinCtrl_11_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285312.4]
+  assign _T_5392 = xorReg[11]; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285315.4]
+  assign _T_5394 = riseIpReg[11]; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@285318.4]
+  assign _T_5395 = riseIeReg[11]; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285319.4]
+  assign _T_5396 = _T_5394 & _T_5395; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285320.4]
+  assign _T_5397 = fallIpReg[11]; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285321.4]
+  assign _T_5398 = fallIeReg[11]; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285322.4]
+  assign _T_5399 = _T_5397 & _T_5398; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285323.4]
+  assign _T_5400 = _T_5396 | _T_5399; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@285324.4]
+  assign _T_5401 = highIpReg[11]; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285325.4]
+  assign _T_5402 = highIeReg[11]; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285326.4]
+  assign _T_5403 = _T_5401 & _T_5402; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285327.4]
+  assign _T_5404 = _T_5400 | _T_5403; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@285328.4]
+  assign _T_5405 = lowIpReg[11]; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@285329.4]
+  assign _T_5406 = lowIeReg[11]; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285330.4]
+  assign _T_5407 = _T_5405 & _T_5406; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@285331.4]
+  assign swPinCtrl_12_oval = portReg[12]; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@285340.4]
+  assign swPinCtrl_12_oe = oeReg_io_q[12]; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285342.4]
+  assign swPinCtrl_12_ie = ieReg_io_q[12]; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285346.4]
+  assign _T_5418 = iofSelReg[12]; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285358.4]
+  assign iofCtrl_12_oval = _T_5418 ? swPinCtrl_12_oval : 1'h0; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285359.4]
+  assign iofCtrl_12_oe = _T_5418 ? swPinCtrl_12_oe : auto_io_out_iof_0_12_o_oe; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285359.4]
+  assign iofCtrl_12_ie = _T_5418 ? swPinCtrl_12_ie : 1'h1; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285359.4]
+  assign _T_5420 = iofEnReg_io_q[12]; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285363.4]
+  assign _T_5421_oval = _T_5420 ? iofCtrl_12_oval : swPinCtrl_12_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285364.4]
+  assign _T_5422 = xorReg[12]; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285367.4]
+  assign _T_5424 = riseIpReg[12]; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@285370.4]
+  assign _T_5425 = riseIeReg[12]; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285371.4]
+  assign _T_5426 = _T_5424 & _T_5425; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285372.4]
+  assign _T_5427 = fallIpReg[12]; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285373.4]
+  assign _T_5428 = fallIeReg[12]; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285374.4]
+  assign _T_5429 = _T_5427 & _T_5428; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285375.4]
+  assign _T_5430 = _T_5426 | _T_5429; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@285376.4]
+  assign _T_5431 = highIpReg[12]; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285377.4]
+  assign _T_5432 = highIeReg[12]; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285378.4]
+  assign _T_5433 = _T_5431 & _T_5432; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285379.4]
+  assign _T_5434 = _T_5430 | _T_5433; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@285380.4]
+  assign _T_5435 = lowIpReg[12]; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@285381.4]
+  assign _T_5436 = lowIeReg[12]; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285382.4]
+  assign _T_5437 = _T_5435 & _T_5436; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@285383.4]
+  assign swPinCtrl_13_oval = portReg[13]; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@285392.4]
+  assign swPinCtrl_13_oe = oeReg_io_q[13]; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285394.4]
+  assign swPinCtrl_13_ie = ieReg_io_q[13]; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285398.4]
+  assign _T_5448 = iofSelReg[13]; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285410.4]
+  assign iofCtrl_13_oval = _T_5448 ? swPinCtrl_13_oval : 1'h0; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285411.4]
+  assign iofCtrl_13_oe = _T_5448 ? swPinCtrl_13_oe : auto_io_out_iof_0_13_o_oe; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285411.4]
+  assign iofCtrl_13_ie = _T_5448 ? swPinCtrl_13_ie : 1'h1; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285411.4]
+  assign _T_5450 = iofEnReg_io_q[13]; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285415.4]
+  assign _T_5451_oval = _T_5450 ? iofCtrl_13_oval : swPinCtrl_13_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285416.4]
+  assign _T_5452 = xorReg[13]; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285419.4]
+  assign _T_5454 = riseIpReg[13]; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@285422.4]
+  assign _T_5455 = riseIeReg[13]; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285423.4]
+  assign _T_5456 = _T_5454 & _T_5455; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285424.4]
+  assign _T_5457 = fallIpReg[13]; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285425.4]
+  assign _T_5458 = fallIeReg[13]; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285426.4]
+  assign _T_5459 = _T_5457 & _T_5458; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285427.4]
+  assign _T_5460 = _T_5456 | _T_5459; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@285428.4]
+  assign _T_5461 = highIpReg[13]; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285429.4]
+  assign _T_5462 = highIeReg[13]; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285430.4]
+  assign _T_5463 = _T_5461 & _T_5462; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285431.4]
+  assign _T_5464 = _T_5460 | _T_5463; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@285432.4]
+  assign _T_5465 = lowIpReg[13]; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@285433.4]
+  assign _T_5466 = lowIeReg[13]; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285434.4]
+  assign _T_5467 = _T_5465 & _T_5466; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@285435.4]
+  assign swPinCtrl_14_oval = portReg[14]; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@285444.4]
+  assign swPinCtrl_14_oe = oeReg_io_q[14]; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285446.4]
+  assign swPinCtrl_14_ie = ieReg_io_q[14]; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285450.4]
+  assign _T_5478 = iofSelReg[14]; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285462.4]
+  assign iofCtrl_14_oval = _T_5478 ? swPinCtrl_14_oval : 1'h0; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285463.4]
+  assign iofCtrl_14_oe = _T_5478 ? swPinCtrl_14_oe : auto_io_out_iof_0_14_o_oe; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285463.4]
+  assign iofCtrl_14_ie = _T_5478 ? swPinCtrl_14_ie : 1'h1; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285463.4]
+  assign _T_5480 = iofEnReg_io_q[14]; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285467.4]
+  assign _T_5481_oval = _T_5480 ? iofCtrl_14_oval : swPinCtrl_14_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285468.4]
+  assign _T_5482 = xorReg[14]; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285471.4]
+  assign _T_5484 = riseIpReg[14]; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@285474.4]
+  assign _T_5485 = riseIeReg[14]; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285475.4]
+  assign _T_5486 = _T_5484 & _T_5485; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285476.4]
+  assign _T_5487 = fallIpReg[14]; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285477.4]
+  assign _T_5488 = fallIeReg[14]; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285478.4]
+  assign _T_5489 = _T_5487 & _T_5488; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285479.4]
+  assign _T_5490 = _T_5486 | _T_5489; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@285480.4]
+  assign _T_5491 = highIpReg[14]; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285481.4]
+  assign _T_5492 = highIeReg[14]; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285482.4]
+  assign _T_5493 = _T_5491 & _T_5492; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285483.4]
+  assign _T_5494 = _T_5490 | _T_5493; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@285484.4]
+  assign _T_5495 = lowIpReg[14]; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@285485.4]
+  assign _T_5496 = lowIeReg[14]; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285486.4]
+  assign _T_5497 = _T_5495 & _T_5496; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@285487.4]
+  assign swPinCtrl_15_oval = portReg[15]; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@285496.4]
+  assign swPinCtrl_15_oe = oeReg_io_q[15]; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285498.4]
+  assign swPinCtrl_15_ie = ieReg_io_q[15]; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285502.4]
+  assign _T_5508 = iofSelReg[15]; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285514.4]
+  assign iofCtrl_15_oval = _T_5508 ? swPinCtrl_15_oval : 1'h0; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285515.4]
+  assign iofCtrl_15_oe = _T_5508 ? swPinCtrl_15_oe : auto_io_out_iof_0_15_o_oe; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285515.4]
+  assign iofCtrl_15_ie = _T_5508 ? swPinCtrl_15_ie : 1'h1; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285515.4]
+  assign _T_5510 = iofEnReg_io_q[15]; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285519.4]
+  assign _T_5511_oval = _T_5510 ? iofCtrl_15_oval : swPinCtrl_15_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285520.4]
+  assign _T_5512 = xorReg[15]; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285523.4]
+  assign _T_5514 = riseIpReg[15]; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@285526.4]
+  assign _T_5515 = riseIeReg[15]; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285527.4]
+  assign _T_5516 = _T_5514 & _T_5515; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285528.4]
+  assign _T_5517 = fallIpReg[15]; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285529.4]
+  assign _T_5518 = fallIeReg[15]; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285530.4]
+  assign _T_5519 = _T_5517 & _T_5518; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285531.4]
+  assign _T_5520 = _T_5516 | _T_5519; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@285532.4]
+  assign _T_5521 = highIpReg[15]; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285533.4]
+  assign _T_5522 = highIeReg[15]; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285534.4]
+  assign _T_5523 = _T_5521 & _T_5522; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285535.4]
+  assign _T_5524 = _T_5520 | _T_5523; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@285536.4]
+  assign _T_5525 = lowIpReg[15]; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@285537.4]
+  assign _T_5526 = lowIeReg[15]; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285538.4]
+  assign _T_5527 = _T_5525 & _T_5526; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@285539.4]
+  assign swPinCtrl_16_oval = portReg[16]; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@285548.4]
+  assign swPinCtrl_16_oe = oeReg_io_q[16]; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285550.4]
+  assign swPinCtrl_16_ie = ieReg_io_q[16]; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285554.4]
+  assign _T_5538 = iofSelReg[16]; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285566.4]
+  assign iofCtrl_16_oval = _T_5538 ? swPinCtrl_16_oval : 1'h0; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285567.4]
+  assign iofCtrl_16_oe = _T_5538 ? swPinCtrl_16_oe : 1'h0; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285567.4]
+  assign iofCtrl_16_ie = _T_5538 ? swPinCtrl_16_ie : 1'h1; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285567.4]
+  assign _T_5540 = iofEnReg_io_q[16]; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285571.4]
+  assign _T_5541_oval = _T_5540 ? iofCtrl_16_oval : swPinCtrl_16_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285572.4]
+  assign _T_5542 = xorReg[16]; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285575.4]
+  assign _T_5544 = riseIpReg[16]; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@285578.4]
+  assign _T_5545 = riseIeReg[16]; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285579.4]
+  assign _T_5546 = _T_5544 & _T_5545; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285580.4]
+  assign _T_5547 = fallIpReg[16]; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285581.4]
+  assign _T_5548 = fallIeReg[16]; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285582.4]
+  assign _T_5549 = _T_5547 & _T_5548; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285583.4]
+  assign _T_5550 = _T_5546 | _T_5549; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@285584.4]
+  assign _T_5551 = highIpReg[16]; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285585.4]
+  assign _T_5552 = highIeReg[16]; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285586.4]
+  assign _T_5553 = _T_5551 & _T_5552; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285587.4]
+  assign _T_5554 = _T_5550 | _T_5553; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@285588.4]
+  assign _T_5555 = lowIpReg[16]; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@285589.4]
+  assign _T_5556 = lowIeReg[16]; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285590.4]
+  assign _T_5557 = _T_5555 & _T_5556; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@285591.4]
+  assign swPinCtrl_17_oval = portReg[17]; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@285600.4]
+  assign swPinCtrl_17_oe = oeReg_io_q[17]; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285602.4]
+  assign swPinCtrl_17_ie = ieReg_io_q[17]; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285606.4]
+  assign _T_5568 = iofSelReg[17]; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285618.4]
+  assign iofCtrl_17_oval = _T_5568 ? swPinCtrl_17_oval : auto_io_out_iof_0_17_o_oval; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285619.4]
+  assign iofCtrl_17_oe = _T_5568 ? swPinCtrl_17_oe : 1'h1; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285619.4]
+  assign iofCtrl_17_ie = _T_5568 ? swPinCtrl_17_ie : 1'h0; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285619.4]
+  assign _T_5570 = iofEnReg_io_q[17]; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285623.4]
+  assign _T_5571_oval = _T_5570 ? iofCtrl_17_oval : swPinCtrl_17_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285624.4]
+  assign _T_5572 = xorReg[17]; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285627.4]
+  assign _T_5574 = riseIpReg[17]; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@285630.4]
+  assign _T_5575 = riseIeReg[17]; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285631.4]
+  assign _T_5576 = _T_5574 & _T_5575; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285632.4]
+  assign _T_5577 = fallIpReg[17]; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285633.4]
+  assign _T_5578 = fallIeReg[17]; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285634.4]
+  assign _T_5579 = _T_5577 & _T_5578; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285635.4]
+  assign _T_5580 = _T_5576 | _T_5579; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@285636.4]
+  assign _T_5581 = highIpReg[17]; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285637.4]
+  assign _T_5582 = highIeReg[17]; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285638.4]
+  assign _T_5583 = _T_5581 & _T_5582; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285639.4]
+  assign _T_5584 = _T_5580 | _T_5583; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@285640.4]
+  assign _T_5585 = lowIpReg[17]; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@285641.4]
+  assign _T_5586 = lowIeReg[17]; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285642.4]
+  assign _T_5587 = _T_5585 & _T_5586; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@285643.4]
+  assign swPinCtrl_18_oval = portReg[18]; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@285652.4]
+  assign swPinCtrl_18_oe = oeReg_io_q[18]; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285654.4]
+  assign swPinCtrl_18_ie = ieReg_io_q[18]; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285658.4]
+  assign _T_5598 = iofSelReg[18]; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285670.4]
+  assign iofCtrl_18_oval = _T_5598 ? swPinCtrl_18_oval : 1'h0; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285671.4]
+  assign iofCtrl_18_oe = _T_5598 ? swPinCtrl_18_oe : 1'h0; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285671.4]
+  assign iofCtrl_18_ie = _T_5598 ? swPinCtrl_18_ie : 1'h1; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285671.4]
+  assign _T_5600 = iofEnReg_io_q[18]; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285675.4]
+  assign _T_5601_oval = _T_5600 ? iofCtrl_18_oval : swPinCtrl_18_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285676.4]
+  assign _T_5602 = xorReg[18]; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285679.4]
+  assign _T_5604 = riseIpReg[18]; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@285682.4]
+  assign _T_5605 = riseIeReg[18]; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285683.4]
+  assign _T_5606 = _T_5604 & _T_5605; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285684.4]
+  assign _T_5607 = fallIpReg[18]; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285685.4]
+  assign _T_5608 = fallIeReg[18]; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285686.4]
+  assign _T_5609 = _T_5607 & _T_5608; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285687.4]
+  assign _T_5610 = _T_5606 | _T_5609; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@285688.4]
+  assign _T_5611 = highIpReg[18]; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285689.4]
+  assign _T_5612 = highIeReg[18]; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285690.4]
+  assign _T_5613 = _T_5611 & _T_5612; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285691.4]
+  assign _T_5614 = _T_5610 | _T_5613; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@285692.4]
+  assign _T_5615 = lowIpReg[18]; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@285693.4]
+  assign _T_5616 = lowIeReg[18]; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285694.4]
+  assign _T_5617 = _T_5615 & _T_5616; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@285695.4]
+  assign swPinCtrl_19_oval = portReg[19]; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@285704.4]
+  assign swPinCtrl_19_oe = oeReg_io_q[19]; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285706.4]
+  assign swPinCtrl_19_ie = ieReg_io_q[19]; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285710.4]
+  assign _T_5628 = iofSelReg[19]; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285722.4]
+  assign iofCtrl_19_oval = _T_5628 ? swPinCtrl_19_oval : auto_io_out_iof_0_19_o_oval; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285723.4]
+  assign iofCtrl_19_oe = _T_5628 ? swPinCtrl_19_oe : 1'h1; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285723.4]
+  assign iofCtrl_19_ie = _T_5628 ? swPinCtrl_19_ie : 1'h0; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285723.4]
+  assign _T_5630 = iofEnReg_io_q[19]; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285727.4]
+  assign _T_5631_oval = _T_5630 ? iofCtrl_19_oval : swPinCtrl_19_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285728.4]
+  assign _T_5632 = xorReg[19]; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285731.4]
+  assign _T_5634 = riseIpReg[19]; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@285734.4]
+  assign _T_5635 = riseIeReg[19]; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285735.4]
+  assign _T_5636 = _T_5634 & _T_5635; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285736.4]
+  assign _T_5637 = fallIpReg[19]; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285737.4]
+  assign _T_5638 = fallIeReg[19]; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285738.4]
+  assign _T_5639 = _T_5637 & _T_5638; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285739.4]
+  assign _T_5640 = _T_5636 | _T_5639; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@285740.4]
+  assign _T_5641 = highIpReg[19]; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285741.4]
+  assign _T_5642 = highIeReg[19]; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285742.4]
+  assign _T_5643 = _T_5641 & _T_5642; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285743.4]
+  assign _T_5644 = _T_5640 | _T_5643; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@285744.4]
+  assign _T_5645 = lowIpReg[19]; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@285745.4]
+  assign _T_5646 = lowIeReg[19]; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285746.4]
+  assign _T_5647 = _T_5645 & _T_5646; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@285747.4]
+  assign swPinCtrl_20_oval = portReg[20]; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@285756.4]
+  assign swPinCtrl_20_oe = oeReg_io_q[20]; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285758.4]
+  assign swPinCtrl_20_ie = ieReg_io_q[20]; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285762.4]
+  assign _T_5658 = iofSelReg[20]; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285774.4]
+  assign iofCtrl_20_oval = _T_5658 ? swPinCtrl_20_oval : 1'h0; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285775.4]
+  assign iofCtrl_20_oe = _T_5658 ? swPinCtrl_20_oe : 1'h0; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285775.4]
+  assign iofCtrl_20_ie = _T_5658 ? swPinCtrl_20_ie : 1'h1; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285775.4]
+  assign _T_5660 = iofEnReg_io_q[20]; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285779.4]
+  assign _T_5661_oval = _T_5660 ? iofCtrl_20_oval : swPinCtrl_20_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285780.4]
+  assign _T_5662 = xorReg[20]; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285783.4]
+  assign _T_5664 = riseIpReg[20]; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@285786.4]
+  assign _T_5665 = riseIeReg[20]; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285787.4]
+  assign _T_5666 = _T_5664 & _T_5665; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285788.4]
+  assign _T_5667 = fallIpReg[20]; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285789.4]
+  assign _T_5668 = fallIeReg[20]; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285790.4]
+  assign _T_5669 = _T_5667 & _T_5668; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285791.4]
+  assign _T_5670 = _T_5666 | _T_5669; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@285792.4]
+  assign _T_5671 = highIpReg[20]; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285793.4]
+  assign _T_5672 = highIeReg[20]; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285794.4]
+  assign _T_5673 = _T_5671 & _T_5672; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285795.4]
+  assign _T_5674 = _T_5670 | _T_5673; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@285796.4]
+  assign _T_5675 = lowIpReg[20]; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@285797.4]
+  assign _T_5676 = lowIeReg[20]; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285798.4]
+  assign _T_5677 = _T_5675 & _T_5676; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@285799.4]
+  assign swPinCtrl_21_oval = portReg[21]; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@285808.4]
+  assign swPinCtrl_21_oe = oeReg_io_q[21]; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285810.4]
+  assign swPinCtrl_21_ie = ieReg_io_q[21]; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285814.4]
+  assign _T_5688 = iofSelReg[21]; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285826.4]
+  assign iofCtrl_21_oval = _T_5688 ? swPinCtrl_21_oval : auto_io_out_iof_0_21_o_oval; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285827.4]
+  assign iofCtrl_21_oe = _T_5688 ? swPinCtrl_21_oe : 1'h1; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285827.4]
+  assign iofCtrl_21_ie = _T_5688 ? swPinCtrl_21_ie : 1'h0; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285827.4]
+  assign _T_5690 = iofEnReg_io_q[21]; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285831.4]
+  assign _T_5691_oval = _T_5690 ? iofCtrl_21_oval : swPinCtrl_21_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285832.4]
+  assign _T_5692 = xorReg[21]; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285835.4]
+  assign _T_5694 = riseIpReg[21]; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@285838.4]
+  assign _T_5695 = riseIeReg[21]; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285839.4]
+  assign _T_5696 = _T_5694 & _T_5695; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285840.4]
+  assign _T_5697 = fallIpReg[21]; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285841.4]
+  assign _T_5698 = fallIeReg[21]; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285842.4]
+  assign _T_5699 = _T_5697 & _T_5698; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285843.4]
+  assign _T_5700 = _T_5696 | _T_5699; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@285844.4]
+  assign _T_5701 = highIpReg[21]; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285845.4]
+  assign _T_5702 = highIeReg[21]; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285846.4]
+  assign _T_5703 = _T_5701 & _T_5702; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285847.4]
+  assign _T_5704 = _T_5700 | _T_5703; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@285848.4]
+  assign _T_5705 = lowIpReg[21]; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@285849.4]
+  assign _T_5706 = lowIeReg[21]; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285850.4]
+  assign _T_5707 = _T_5705 & _T_5706; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@285851.4]
+  assign swPinCtrl_22_oval = portReg[22]; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@285860.4]
+  assign swPinCtrl_22_oe = oeReg_io_q[22]; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285862.4]
+  assign swPinCtrl_22_ie = ieReg_io_q[22]; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285866.4]
+  assign _T_5718 = iofSelReg[22]; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285878.4]
+  assign iofCtrl_22_oval = _T_5718 ? swPinCtrl_22_oval : 1'h0; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285879.4]
+  assign iofCtrl_22_oe = _T_5718 ? swPinCtrl_22_oe : 1'h0; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285879.4]
+  assign iofCtrl_22_ie = _T_5718 ? swPinCtrl_22_ie : 1'h1; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285879.4]
+  assign _T_5720 = iofEnReg_io_q[22]; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285883.4]
+  assign _T_5721_oval = _T_5720 ? iofCtrl_22_oval : swPinCtrl_22_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285884.4]
+  assign _T_5722 = xorReg[22]; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285887.4]
+  assign _T_5724 = riseIpReg[22]; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@285890.4]
+  assign _T_5725 = riseIeReg[22]; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285891.4]
+  assign _T_5726 = _T_5724 & _T_5725; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285892.4]
+  assign _T_5727 = fallIpReg[22]; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285893.4]
+  assign _T_5728 = fallIeReg[22]; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285894.4]
+  assign _T_5729 = _T_5727 & _T_5728; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285895.4]
+  assign _T_5730 = _T_5726 | _T_5729; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@285896.4]
+  assign _T_5731 = highIpReg[22]; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285897.4]
+  assign _T_5732 = highIeReg[22]; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285898.4]
+  assign _T_5733 = _T_5731 & _T_5732; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285899.4]
+  assign _T_5734 = _T_5730 | _T_5733; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@285900.4]
+  assign _T_5735 = lowIpReg[22]; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@285901.4]
+  assign _T_5736 = lowIeReg[22]; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285902.4]
+  assign _T_5737 = _T_5735 & _T_5736; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@285903.4]
+  assign swPinCtrl_23_oval = portReg[23]; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@285912.4]
+  assign swPinCtrl_23_oe = oeReg_io_q[23]; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285914.4]
+  assign swPinCtrl_23_ie = ieReg_io_q[23]; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285918.4]
+  assign _T_5748 = iofSelReg[23]; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285930.4]
+  assign iofCtrl_23_oval = _T_5748 ? swPinCtrl_23_oval : auto_io_out_iof_0_23_o_oval; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285931.4]
+  assign iofCtrl_23_oe = _T_5748 ? swPinCtrl_23_oe : 1'h1; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285931.4]
+  assign iofCtrl_23_ie = _T_5748 ? swPinCtrl_23_ie : 1'h0; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285931.4]
+  assign _T_5750 = iofEnReg_io_q[23]; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285935.4]
+  assign _T_5751_oval = _T_5750 ? iofCtrl_23_oval : swPinCtrl_23_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285936.4]
+  assign _T_5752 = xorReg[23]; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285939.4]
+  assign _T_5754 = riseIpReg[23]; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@285942.4]
+  assign _T_5755 = riseIeReg[23]; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285943.4]
+  assign _T_5756 = _T_5754 & _T_5755; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285944.4]
+  assign _T_5757 = fallIpReg[23]; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285945.4]
+  assign _T_5758 = fallIeReg[23]; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285946.4]
+  assign _T_5759 = _T_5757 & _T_5758; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285947.4]
+  assign _T_5760 = _T_5756 | _T_5759; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@285948.4]
+  assign _T_5761 = highIpReg[23]; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285949.4]
+  assign _T_5762 = highIeReg[23]; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285950.4]
+  assign _T_5763 = _T_5761 & _T_5762; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285951.4]
+  assign _T_5764 = _T_5760 | _T_5763; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@285952.4]
+  assign _T_5765 = lowIpReg[23]; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@285953.4]
+  assign _T_5766 = lowIeReg[23]; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285954.4]
+  assign _T_5767 = _T_5765 & _T_5766; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@285955.4]
+  assign swPinCtrl_24_oval = portReg[24]; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@285964.4]
+  assign swPinCtrl_24_oe = oeReg_io_q[24]; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285966.4]
+  assign swPinCtrl_24_ie = ieReg_io_q[24]; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285970.4]
+  assign _T_5778 = iofSelReg[24]; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285982.4]
+  assign iofCtrl_24_oval = _T_5778 ? swPinCtrl_24_oval : auto_io_out_iof_0_24_o_oval; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285983.4]
+  assign iofCtrl_24_oe = _T_5778 ? swPinCtrl_24_oe : 1'h1; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285983.4]
+  assign iofCtrl_24_ie = _T_5778 ? swPinCtrl_24_ie : 1'h0; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285983.4]
+  assign _T_5780 = iofEnReg_io_q[24]; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285987.4]
+  assign _T_5781_oval = _T_5780 ? iofCtrl_24_oval : swPinCtrl_24_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285988.4]
+  assign _T_5782 = xorReg[24]; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285991.4]
+  assign _T_5784 = riseIpReg[24]; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@285994.4]
+  assign _T_5785 = riseIeReg[24]; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285995.4]
+  assign _T_5786 = _T_5784 & _T_5785; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285996.4]
+  assign _T_5787 = fallIpReg[24]; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285997.4]
+  assign _T_5788 = fallIeReg[24]; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285998.4]
+  assign _T_5789 = _T_5787 & _T_5788; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285999.4]
+  assign _T_5790 = _T_5786 | _T_5789; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@286000.4]
+  assign _T_5791 = highIpReg[24]; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@286001.4]
+  assign _T_5792 = highIeReg[24]; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@286002.4]
+  assign _T_5793 = _T_5791 & _T_5792; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@286003.4]
+  assign _T_5794 = _T_5790 | _T_5793; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@286004.4]
+  assign _T_5795 = lowIpReg[24]; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@286005.4]
+  assign _T_5796 = lowIeReg[24]; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@286006.4]
+  assign _T_5797 = _T_5795 & _T_5796; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@286007.4]
+  assign _T_5814 = riseIpReg[25]; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@286046.4]
+  assign _T_5815 = riseIeReg[25]; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@286047.4]
+  assign _T_5816 = _T_5814 & _T_5815; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@286048.4]
+  assign _T_5817 = fallIpReg[25]; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@286049.4]
+  assign _T_5818 = fallIeReg[25]; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@286050.4]
+  assign _T_5819 = _T_5817 & _T_5818; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@286051.4]
+  assign _T_5820 = _T_5816 | _T_5819; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@286052.4]
+  assign _T_5821 = highIpReg[25]; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@286053.4]
+  assign _T_5822 = highIeReg[25]; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@286054.4]
+  assign _T_5823 = _T_5821 & _T_5822; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@286055.4]
+  assign _T_5824 = _T_5820 | _T_5823; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@286056.4]
+  assign _T_5825 = lowIpReg[25]; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@286057.4]
+  assign _T_5826 = lowIeReg[25]; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@286058.4]
+  assign _T_5827 = _T_5825 & _T_5826; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@286059.4]
+  assign _T_5844 = riseIpReg[26]; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@286098.4]
+  assign _T_5845 = riseIeReg[26]; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@286099.4]
+  assign _T_5846 = _T_5844 & _T_5845; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@286100.4]
+  assign _T_5847 = fallIpReg[26]; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@286101.4]
+  assign _T_5848 = fallIeReg[26]; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@286102.4]
+  assign _T_5849 = _T_5847 & _T_5848; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@286103.4]
+  assign _T_5850 = _T_5846 | _T_5849; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@286104.4]
+  assign _T_5851 = highIpReg[26]; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@286105.4]
+  assign _T_5852 = highIeReg[26]; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@286106.4]
+  assign _T_5853 = _T_5851 & _T_5852; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@286107.4]
+  assign _T_5854 = _T_5850 | _T_5853; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@286108.4]
+  assign _T_5855 = lowIpReg[26]; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@286109.4]
+  assign _T_5856 = lowIeReg[26]; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@286110.4]
+  assign _T_5857 = _T_5855 & _T_5856; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@286111.4]
+  assign _T_5874 = riseIpReg[27]; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@286150.4]
+  assign _T_5875 = riseIeReg[27]; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@286151.4]
+  assign _T_5876 = _T_5874 & _T_5875; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@286152.4]
+  assign _T_5877 = fallIpReg[27]; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@286153.4]
+  assign _T_5878 = fallIeReg[27]; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@286154.4]
+  assign _T_5879 = _T_5877 & _T_5878; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@286155.4]
+  assign _T_5880 = _T_5876 | _T_5879; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@286156.4]
+  assign _T_5881 = highIpReg[27]; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@286157.4]
+  assign _T_5882 = highIeReg[27]; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@286158.4]
+  assign _T_5883 = _T_5881 & _T_5882; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@286159.4]
+  assign _T_5884 = _T_5880 | _T_5883; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@286160.4]
+  assign _T_5885 = lowIpReg[27]; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@286161.4]
+  assign _T_5886 = lowIeReg[27]; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@286162.4]
+  assign _T_5887 = _T_5885 & _T_5886; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@286163.4]
+  assign _T_5904 = riseIpReg[28]; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@286202.4]
+  assign _T_5905 = riseIeReg[28]; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@286203.4]
+  assign _T_5906 = _T_5904 & _T_5905; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@286204.4]
+  assign _T_5907 = fallIpReg[28]; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@286205.4]
+  assign _T_5908 = fallIeReg[28]; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@286206.4]
+  assign _T_5909 = _T_5907 & _T_5908; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@286207.4]
+  assign _T_5910 = _T_5906 | _T_5909; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@286208.4]
+  assign _T_5911 = highIpReg[28]; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@286209.4]
+  assign _T_5912 = highIeReg[28]; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@286210.4]
+  assign _T_5913 = _T_5911 & _T_5912; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@286211.4]
+  assign _T_5914 = _T_5910 | _T_5913; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@286212.4]
+  assign _T_5915 = lowIpReg[28]; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@286213.4]
+  assign _T_5916 = lowIeReg[28]; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@286214.4]
+  assign _T_5917 = _T_5915 & _T_5916; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@286215.4]
+  assign _T_5934 = riseIpReg[29]; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@286254.4]
+  assign _T_5935 = riseIeReg[29]; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@286255.4]
+  assign _T_5936 = _T_5934 & _T_5935; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@286256.4]
+  assign _T_5937 = fallIpReg[29]; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@286257.4]
+  assign _T_5938 = fallIeReg[29]; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@286258.4]
+  assign _T_5939 = _T_5937 & _T_5938; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@286259.4]
+  assign _T_5940 = _T_5936 | _T_5939; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@286260.4]
+  assign _T_5941 = highIpReg[29]; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@286261.4]
+  assign _T_5942 = highIeReg[29]; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@286262.4]
+  assign _T_5943 = _T_5941 & _T_5942; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@286263.4]
+  assign _T_5944 = _T_5940 | _T_5943; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@286264.4]
+  assign _T_5945 = lowIpReg[29]; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@286265.4]
+  assign _T_5946 = lowIeReg[29]; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@286266.4]
+  assign _T_5947 = _T_5945 & _T_5946; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@286267.4]
+  assign _T_5964 = riseIpReg[30]; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@286306.4]
+  assign _T_5965 = riseIeReg[30]; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@286307.4]
+  assign _T_5966 = _T_5964 & _T_5965; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@286308.4]
+  assign _T_5967 = fallIpReg[30]; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@286309.4]
+  assign _T_5968 = fallIeReg[30]; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@286310.4]
+  assign _T_5969 = _T_5967 & _T_5968; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@286311.4]
+  assign _T_5970 = _T_5966 | _T_5969; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@286312.4]
+  assign _T_5971 = highIpReg[30]; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@286313.4]
+  assign _T_5972 = highIeReg[30]; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@286314.4]
+  assign _T_5973 = _T_5971 & _T_5972; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@286315.4]
+  assign _T_5974 = _T_5970 | _T_5973; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@286316.4]
+  assign _T_5975 = lowIpReg[30]; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@286317.4]
+  assign _T_5976 = lowIeReg[30]; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@286318.4]
+  assign _T_5977 = _T_5975 & _T_5976; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@286319.4]
+  assign _T_5994 = riseIpReg[31]; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@286358.4]
+  assign _T_5995 = riseIeReg[31]; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@286359.4]
+  assign _T_5996 = _T_5994 & _T_5995; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@286360.4]
+  assign _T_5997 = fallIpReg[31]; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@286361.4]
+  assign _T_5998 = fallIeReg[31]; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@286362.4]
+  assign _T_5999 = _T_5997 & _T_5998; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@286363.4]
+  assign _T_6000 = _T_5996 | _T_5999; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@286364.4]
+  assign _T_6001 = highIpReg[31]; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@286365.4]
+  assign _T_6002 = highIeReg[31]; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@286366.4]
+  assign _T_6003 = _T_6001 & _T_6002; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@286367.4]
+  assign _T_6004 = _T_6000 | _T_6003; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@286368.4]
+  assign _T_6005 = lowIpReg[31]; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@286369.4]
+  assign _T_6006 = lowIeReg[31]; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@286370.4]
+  assign _T_6007 = _T_6005 & _T_6006; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@286371.4]
+  assign auto_int_xing_out_sync_0 = intsource_auto_out_sync_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282700.4]
+  assign auto_int_xing_out_sync_1 = intsource_auto_out_sync_1; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282700.4]
+  assign auto_int_xing_out_sync_2 = intsource_auto_out_sync_2; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282700.4]
+  assign auto_int_xing_out_sync_3 = intsource_auto_out_sync_3; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282700.4]
+  assign auto_int_xing_out_sync_4 = intsource_auto_out_sync_4; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282700.4]
+  assign auto_int_xing_out_sync_5 = intsource_auto_out_sync_5; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282700.4]
+  assign auto_int_xing_out_sync_6 = intsource_auto_out_sync_6; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282700.4]
+  assign auto_int_xing_out_sync_7 = intsource_auto_out_sync_7; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282700.4]
+  assign auto_int_xing_out_sync_8 = intsource_auto_out_sync_8; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282700.4]
+  assign auto_int_xing_out_sync_9 = intsource_auto_out_sync_9; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282700.4]
+  assign auto_int_xing_out_sync_10 = intsource_auto_out_sync_10; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282700.4]
+  assign auto_int_xing_out_sync_11 = intsource_auto_out_sync_11; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282700.4]
+  assign auto_int_xing_out_sync_12 = intsource_auto_out_sync_12; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282700.4]
+  assign auto_int_xing_out_sync_13 = intsource_auto_out_sync_13; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282700.4]
+  assign auto_int_xing_out_sync_14 = intsource_auto_out_sync_14; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282700.4]
+  assign auto_int_xing_out_sync_15 = intsource_auto_out_sync_15; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282700.4]
+  assign auto_int_xing_out_sync_16 = intsource_auto_out_sync_16; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282700.4]
+  assign auto_int_xing_out_sync_17 = intsource_auto_out_sync_17; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282700.4]
+  assign auto_int_xing_out_sync_18 = intsource_auto_out_sync_18; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282700.4]
+  assign auto_int_xing_out_sync_19 = intsource_auto_out_sync_19; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282700.4]
+  assign auto_int_xing_out_sync_20 = intsource_auto_out_sync_20; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282700.4]
+  assign auto_int_xing_out_sync_21 = intsource_auto_out_sync_21; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282700.4]
+  assign auto_int_xing_out_sync_22 = intsource_auto_out_sync_22; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282700.4]
+  assign auto_int_xing_out_sync_23 = intsource_auto_out_sync_23; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282700.4]
+  assign auto_int_xing_out_sync_24 = intsource_auto_out_sync_24; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282700.4]
+  assign auto_int_xing_out_sync_25 = intsource_auto_out_sync_25; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282700.4]
+  assign auto_int_xing_out_sync_26 = intsource_auto_out_sync_26; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282700.4]
+  assign auto_int_xing_out_sync_27 = intsource_auto_out_sync_27; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282700.4]
+  assign auto_int_xing_out_sync_28 = intsource_auto_out_sync_28; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282700.4]
+  assign auto_int_xing_out_sync_29 = intsource_auto_out_sync_29; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282700.4]
+  assign auto_int_xing_out_sync_30 = intsource_auto_out_sync_30; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282700.4]
+  assign auto_int_xing_out_sync_31 = intsource_auto_out_sync_31; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282700.4]
+  assign auto_control_xing_in_a_ready = buffer_auto_in_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282699.4]
+  assign auto_control_xing_in_d_valid = buffer_auto_in_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282699.4]
+  assign auto_control_xing_in_d_bits_opcode = buffer_auto_in_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282699.4]
+  assign auto_control_xing_in_d_bits_size = buffer_auto_in_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282699.4]
+  assign auto_control_xing_in_d_bits_source = buffer_auto_in_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282699.4]
+  assign auto_control_xing_in_d_bits_data = buffer_auto_in_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282699.4]
+  assign auto_io_out_pins_0_o_oval = _T_5061_oval ^ _T_5062; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
+  assign auto_io_out_pins_0_o_oe = _T_5060 ? iofCtrl_0_oe : swPinCtrl_0_oe; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
+  assign auto_io_out_pins_0_o_ie = _T_5060 ? iofCtrl_0_ie : swPinCtrl_0_ie; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
+  assign auto_io_out_pins_1_o_oval = _T_5091_oval ^ _T_5092; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
+  assign auto_io_out_pins_1_o_oe = _T_5090 ? iofCtrl_1_oe : swPinCtrl_1_oe; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
+  assign auto_io_out_pins_1_o_ie = _T_5090 ? iofCtrl_1_ie : swPinCtrl_1_ie; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
+  assign auto_io_out_pins_2_o_oval = _T_5121_oval ^ _T_5122; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
+  assign auto_io_out_pins_2_o_oe = _T_5120 ? iofCtrl_2_oe : swPinCtrl_2_oe; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
+  assign auto_io_out_pins_2_o_ie = _T_5120 ? iofCtrl_2_ie : swPinCtrl_2_ie; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
+  assign auto_io_out_pins_3_o_oval = _T_5151_oval ^ _T_5152; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
+  assign auto_io_out_pins_3_o_oe = _T_5150 ? iofCtrl_3_oe : swPinCtrl_3_oe; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
+  assign auto_io_out_pins_3_o_ie = _T_5150 ? iofCtrl_3_ie : swPinCtrl_3_ie; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
+  assign auto_io_out_pins_4_o_oval = _T_5181_oval ^ _T_5182; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
+  assign auto_io_out_pins_4_o_oe = _T_5180 ? iofCtrl_4_oe : swPinCtrl_4_oe; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
+  assign auto_io_out_pins_4_o_ie = _T_5180 ? iofCtrl_4_ie : swPinCtrl_4_ie; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
+  assign auto_io_out_pins_5_o_oval = _T_5211_oval ^ _T_5212; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
+  assign auto_io_out_pins_5_o_oe = _T_5210 ? iofCtrl_5_oe : swPinCtrl_5_oe; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
+  assign auto_io_out_pins_5_o_ie = _T_5210 ? iofCtrl_5_ie : swPinCtrl_5_ie; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
+  assign auto_io_out_pins_6_o_oval = _T_5241_oval ^ _T_5242; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
+  assign auto_io_out_pins_6_o_oe = _T_5240 ? iofCtrl_6_oe : swPinCtrl_6_oe; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
+  assign auto_io_out_pins_6_o_ie = _T_5240 ? iofCtrl_6_ie : swPinCtrl_6_ie; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
+  assign auto_io_out_pins_7_o_oval = _T_5271_oval ^ _T_5272; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
+  assign auto_io_out_pins_7_o_oe = _T_5270 ? iofCtrl_7_oe : swPinCtrl_7_oe; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
+  assign auto_io_out_pins_7_o_ie = _T_5270 ? iofCtrl_7_ie : swPinCtrl_7_ie; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
+  assign auto_io_out_pins_8_o_oval = _T_5301_oval ^ _T_5302; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
+  assign auto_io_out_pins_8_o_oe = _T_5300 ? iofCtrl_8_oe : swPinCtrl_8_oe; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
+  assign auto_io_out_pins_8_o_ie = _T_5300 ? iofCtrl_8_ie : swPinCtrl_8_ie; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
+  assign auto_io_out_pins_9_o_oval = _T_5331_oval ^ _T_5332; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
+  assign auto_io_out_pins_9_o_oe = _T_5330 ? iofCtrl_9_oe : swPinCtrl_9_oe; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
+  assign auto_io_out_pins_9_o_ie = _T_5330 ? iofCtrl_9_ie : swPinCtrl_9_ie; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
+  assign auto_io_out_pins_10_o_oval = _T_5361_oval ^ _T_5362; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
+  assign auto_io_out_pins_10_o_oe = _T_5360 ? iofCtrl_10_oe : swPinCtrl_10_oe; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
+  assign auto_io_out_pins_10_o_ie = _T_5360 ? iofCtrl_10_ie : swPinCtrl_10_ie; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
+  assign auto_io_out_pins_11_o_oval = _T_5391_oval ^ _T_5392; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
+  assign auto_io_out_pins_11_o_oe = _T_5390 ? iofCtrl_11_oe : swPinCtrl_11_oe; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
+  assign auto_io_out_pins_11_o_ie = _T_5390 ? iofCtrl_11_ie : swPinCtrl_11_ie; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
+  assign auto_io_out_pins_12_o_oval = _T_5421_oval ^ _T_5422; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
+  assign auto_io_out_pins_12_o_oe = _T_5420 ? iofCtrl_12_oe : swPinCtrl_12_oe; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
+  assign auto_io_out_pins_12_o_ie = _T_5420 ? iofCtrl_12_ie : swPinCtrl_12_ie; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
+  assign auto_io_out_pins_13_o_oval = _T_5451_oval ^ _T_5452; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
+  assign auto_io_out_pins_13_o_oe = _T_5450 ? iofCtrl_13_oe : swPinCtrl_13_oe; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
+  assign auto_io_out_pins_13_o_ie = _T_5450 ? iofCtrl_13_ie : swPinCtrl_13_ie; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
+  assign auto_io_out_pins_14_o_oval = _T_5481_oval ^ _T_5482; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
+  assign auto_io_out_pins_14_o_oe = _T_5480 ? iofCtrl_14_oe : swPinCtrl_14_oe; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
+  assign auto_io_out_pins_14_o_ie = _T_5480 ? iofCtrl_14_ie : swPinCtrl_14_ie; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
+  assign auto_io_out_pins_15_o_oval = _T_5511_oval ^ _T_5512; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
+  assign auto_io_out_pins_15_o_oe = _T_5510 ? iofCtrl_15_oe : swPinCtrl_15_oe; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
+  assign auto_io_out_pins_15_o_ie = _T_5510 ? iofCtrl_15_ie : swPinCtrl_15_ie; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
+  assign auto_io_out_pins_16_o_oval = _T_5541_oval ^ _T_5542; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
+  assign auto_io_out_pins_16_o_oe = _T_5540 ? iofCtrl_16_oe : swPinCtrl_16_oe; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
+  assign auto_io_out_pins_16_o_ie = _T_5540 ? iofCtrl_16_ie : swPinCtrl_16_ie; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
+  assign auto_io_out_pins_17_o_oval = _T_5571_oval ^ _T_5572; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
+  assign auto_io_out_pins_17_o_oe = _T_5570 ? iofCtrl_17_oe : swPinCtrl_17_oe; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
+  assign auto_io_out_pins_17_o_ie = _T_5570 ? iofCtrl_17_ie : swPinCtrl_17_ie; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
+  assign auto_io_out_pins_18_o_oval = _T_5601_oval ^ _T_5602; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
+  assign auto_io_out_pins_18_o_oe = _T_5600 ? iofCtrl_18_oe : swPinCtrl_18_oe; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
+  assign auto_io_out_pins_18_o_ie = _T_5600 ? iofCtrl_18_ie : swPinCtrl_18_ie; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
+  assign auto_io_out_pins_19_o_oval = _T_5631_oval ^ _T_5632; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
+  assign auto_io_out_pins_19_o_oe = _T_5630 ? iofCtrl_19_oe : swPinCtrl_19_oe; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
+  assign auto_io_out_pins_19_o_ie = _T_5630 ? iofCtrl_19_ie : swPinCtrl_19_ie; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
+  assign auto_io_out_pins_20_o_oval = _T_5661_oval ^ _T_5662; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
+  assign auto_io_out_pins_20_o_oe = _T_5660 ? iofCtrl_20_oe : swPinCtrl_20_oe; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
+  assign auto_io_out_pins_20_o_ie = _T_5660 ? iofCtrl_20_ie : swPinCtrl_20_ie; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
+  assign auto_io_out_pins_21_o_oval = _T_5691_oval ^ _T_5692; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
+  assign auto_io_out_pins_21_o_oe = _T_5690 ? iofCtrl_21_oe : swPinCtrl_21_oe; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
+  assign auto_io_out_pins_21_o_ie = _T_5690 ? iofCtrl_21_ie : swPinCtrl_21_ie; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
+  assign auto_io_out_pins_22_o_oval = _T_5721_oval ^ _T_5722; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
+  assign auto_io_out_pins_22_o_oe = _T_5720 ? iofCtrl_22_oe : swPinCtrl_22_oe; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
+  assign auto_io_out_pins_22_o_ie = _T_5720 ? iofCtrl_22_ie : swPinCtrl_22_ie; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
+  assign auto_io_out_pins_23_o_oval = _T_5751_oval ^ _T_5752; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
+  assign auto_io_out_pins_23_o_oe = _T_5750 ? iofCtrl_23_oe : swPinCtrl_23_oe; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
+  assign auto_io_out_pins_23_o_ie = _T_5750 ? iofCtrl_23_ie : swPinCtrl_23_ie; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
+  assign auto_io_out_pins_24_o_oval = _T_5781_oval ^ _T_5782; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
+  assign auto_io_out_pins_24_o_oe = _T_5780 ? iofCtrl_24_oe : swPinCtrl_24_oe; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
+  assign auto_io_out_pins_24_o_ie = _T_5780 ? iofCtrl_24_ie : swPinCtrl_24_ie; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
+  assign auto_io_out_iof_0_2_i_ival = inSyncReg_1[2]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
+  assign auto_io_out_iof_0_3_i_ival = inSyncReg_1[3]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
+  assign auto_io_out_iof_0_4_i_ival = inSyncReg_1[4]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
+  assign auto_io_out_iof_0_5_i_ival = inSyncReg_1[5]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
+  assign auto_io_out_iof_0_8_i_ival = inSyncReg_1[8]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
+  assign auto_io_out_iof_0_9_i_ival = inSyncReg_1[9]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
+  assign auto_io_out_iof_0_10_i_ival = inSyncReg_1[10]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
+  assign auto_io_out_iof_0_11_i_ival = inSyncReg_1[11]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
+  assign auto_io_out_iof_0_12_i_ival = inSyncReg_1[12]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
+  assign auto_io_out_iof_0_13_i_ival = inSyncReg_1[13]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
+  assign auto_io_out_iof_0_14_i_ival = inSyncReg_1[14]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
+  assign auto_io_out_iof_0_15_i_ival = inSyncReg_1[15]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
+  assign auto_io_out_iof_0_16_i_ival = inSyncReg_1[16]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
+  assign auto_io_out_iof_0_18_i_ival = inSyncReg_1[18]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
+  assign auto_io_out_iof_0_20_i_ival = inSyncReg_1[20]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
+  assign auto_io_out_iof_0_22_i_ival = inSyncReg_1[22]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
+  assign buffer_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282633.4]
+  assign buffer_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282634.4]
+  assign buffer_auto_in_a_valid = auto_control_xing_in_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@282696.4]
+  assign buffer_auto_in_a_bits_opcode = auto_control_xing_in_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@282696.4]
+  assign buffer_auto_in_a_bits_param = auto_control_xing_in_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@282696.4]
+  assign buffer_auto_in_a_bits_size = auto_control_xing_in_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@282696.4]
+  assign buffer_auto_in_a_bits_source = auto_control_xing_in_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@282696.4]
+  assign buffer_auto_in_a_bits_address = auto_control_xing_in_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@282696.4]
+  assign buffer_auto_in_a_bits_mask = auto_control_xing_in_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@282696.4]
+  assign buffer_auto_in_a_bits_data = auto_control_xing_in_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@282696.4]
+  assign buffer_auto_in_a_bits_corrupt = auto_control_xing_in_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@282696.4]
+  assign buffer_auto_in_d_ready = auto_control_xing_in_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@282696.4]
+  assign buffer_auto_out_a_ready = buffer_auto_out_d_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282695.4]
+  assign buffer_auto_out_d_valid = buffer_auto_out_a_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282695.4]
+  assign buffer_auto_out_d_bits_opcode = {{2'd0}, _T_3115}; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282695.4]
+  assign buffer_auto_out_d_bits_size = _T_3117[1:0]; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282695.4]
+  assign buffer_auto_out_d_bits_source = _T_3117[7:2]; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282695.4]
+  assign buffer_auto_out_d_bits_data = _GEN_167 ? _GEN_199 : 32'h0; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282695.4]
+  assign intsource_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282639.4]
+  assign intsource_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282640.4]
+  assign intsource_auto_in_0 = _T_5074 | _T_5077; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@282694.4]
+  assign intsource_auto_in_1 = _T_5104 | _T_5107; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@282694.4]
+  assign intsource_auto_in_2 = _T_5134 | _T_5137; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@282694.4]
+  assign intsource_auto_in_3 = _T_5164 | _T_5167; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@282694.4]
+  assign intsource_auto_in_4 = _T_5194 | _T_5197; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@282694.4]
+  assign intsource_auto_in_5 = _T_5224 | _T_5227; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@282694.4]
+  assign intsource_auto_in_6 = _T_5254 | _T_5257; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@282694.4]
+  assign intsource_auto_in_7 = _T_5284 | _T_5287; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@282694.4]
+  assign intsource_auto_in_8 = _T_5314 | _T_5317; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@282694.4]
+  assign intsource_auto_in_9 = _T_5344 | _T_5347; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@282694.4]
+  assign intsource_auto_in_10 = _T_5374 | _T_5377; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@282694.4]
+  assign intsource_auto_in_11 = _T_5404 | _T_5407; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@282694.4]
+  assign intsource_auto_in_12 = _T_5434 | _T_5437; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@282694.4]
+  assign intsource_auto_in_13 = _T_5464 | _T_5467; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@282694.4]
+  assign intsource_auto_in_14 = _T_5494 | _T_5497; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@282694.4]
+  assign intsource_auto_in_15 = _T_5524 | _T_5527; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@282694.4]
+  assign intsource_auto_in_16 = _T_5554 | _T_5557; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@282694.4]
+  assign intsource_auto_in_17 = _T_5584 | _T_5587; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@282694.4]
+  assign intsource_auto_in_18 = _T_5614 | _T_5617; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@282694.4]
+  assign intsource_auto_in_19 = _T_5644 | _T_5647; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@282694.4]
+  assign intsource_auto_in_20 = _T_5674 | _T_5677; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@282694.4]
+  assign intsource_auto_in_21 = _T_5704 | _T_5707; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@282694.4]
+  assign intsource_auto_in_22 = _T_5734 | _T_5737; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@282694.4]
+  assign intsource_auto_in_23 = _T_5764 | _T_5767; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@282694.4]
+  assign intsource_auto_in_24 = _T_5794 | _T_5797; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@282694.4]
+  assign intsource_auto_in_25 = _T_5824 | _T_5827; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@282694.4]
+  assign intsource_auto_in_26 = _T_5854 | _T_5857; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@282694.4]
+  assign intsource_auto_in_27 = _T_5884 | _T_5887; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@282694.4]
+  assign intsource_auto_in_28 = _T_5914 | _T_5917; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@282694.4]
+  assign intsource_auto_in_29 = _T_5944 | _T_5947; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@282694.4]
+  assign intsource_auto_in_30 = _T_5974 | _T_5977; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@282694.4]
+  assign intsource_auto_in_31 = _T_6004 | _T_6007; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@282694.4]
+  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282649.4]
+  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282650.4]
+  assign TLMonitor_io_in_a_ready = buffer_auto_out_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282683.4]
+  assign TLMonitor_io_in_a_valid = buffer_auto_out_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282683.4]
+  assign TLMonitor_io_in_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282683.4]
+  assign TLMonitor_io_in_a_bits_param = buffer_auto_out_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282683.4]
+  assign TLMonitor_io_in_a_bits_size = buffer_auto_out_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282683.4]
+  assign TLMonitor_io_in_a_bits_source = buffer_auto_out_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282683.4]
+  assign TLMonitor_io_in_a_bits_address = buffer_auto_out_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282683.4]
+  assign TLMonitor_io_in_a_bits_mask = buffer_auto_out_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282683.4]
+  assign TLMonitor_io_in_a_bits_corrupt = buffer_auto_out_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282683.4]
+  assign TLMonitor_io_in_d_ready = buffer_auto_out_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282683.4]
+  assign TLMonitor_io_in_d_valid = buffer_auto_out_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282683.4]
+  assign TLMonitor_io_in_d_bits_opcode = {{2'd0}, _T_3115}; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282683.4]
+  assign TLMonitor_io_in_d_bits_size = _T_3117[1:0]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282683.4]
+  assign TLMonitor_io_in_d_bits_source = _T_3117[7:2]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282683.4]
+  assign oeReg_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282704.4]
+  assign oeReg_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282705.4]
+  assign oeReg_io_d = buffer_auto_out_a_bits_data; // @[RegField.scala 195:12:shc.marmotcaravel.MarmotCaravelConfig.fir@283143.4]
+  assign oeReg_io_en = _T_4083 & _T_3295; // @[RegField.scala 194:13:shc.marmotcaravel.MarmotCaravelConfig.fir@283142.4]
+  assign pueReg_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282708.4]
+  assign pueReg_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282709.4]
+  assign pueReg_io_d = buffer_auto_out_a_bits_data; // @[RegField.scala 195:12:shc.marmotcaravel.MarmotCaravelConfig.fir@283344.4]
+  assign pueReg_io_en = _T_4095 & _T_3295; // @[RegField.scala 194:13:shc.marmotcaravel.MarmotCaravelConfig.fir@283343.4]
+  assign ieReg_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282713.4]
+  assign ieReg_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282714.4]
+  assign ieReg_io_d = buffer_auto_out_a_bits_data; // @[RegField.scala 195:12:shc.marmotcaravel.MarmotCaravelConfig.fir@283026.4]
+  assign ieReg_io_en = _T_4077 & _T_3295; // @[RegField.scala 194:13:shc.marmotcaravel.MarmotCaravelConfig.fir@283025.4]
+  assign inSyncReg_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282785.4]
+  assign inSyncReg_io_d = {_T_3091,_T_3076}; // @[ShiftReg.scala 49:16:shc.marmotcaravel.MarmotCaravelConfig.fir@282787.4]
+  assign iofEnReg_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282803.4]
+  assign iofEnReg_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282804.4]
+  assign iofEnReg_io_d = buffer_auto_out_a_bits_data; // @[RegField.scala 195:12:shc.marmotcaravel.MarmotCaravelConfig.fir@282999.4]
+  assign iofEnReg_io_en = _T_4155 & _T_3295; // @[RegField.scala 194:13:shc.marmotcaravel.MarmotCaravelConfig.fir@282998.4]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  portReg = _RAND_0[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  dsReg = _RAND_1[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  valueReg = _RAND_2[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  highIeReg = _RAND_3[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  lowIeReg = _RAND_4[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  riseIeReg = _RAND_5[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {1{`RANDOM}};
+  fallIeReg = _RAND_6[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {1{`RANDOM}};
+  highIpReg = _RAND_7[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_8 = {1{`RANDOM}};
+  lowIpReg = _RAND_8[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_9 = {1{`RANDOM}};
+  riseIpReg = _RAND_9[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_10 = {1{`RANDOM}};
+  fallIpReg = _RAND_10[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_11 = {1{`RANDOM}};
+  iofSelReg = _RAND_11[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_12 = {1{`RANDOM}};
+  xorReg = _RAND_12[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      portReg <= 32'h0;
+    end else begin
+      if (_T_3593) begin
+        portReg <= _T_1699_a_bits_data;
+      end
+    end
+    if (reset) begin
+      dsReg <= 32'h0;
+    end else begin
+      if (_T_3328) begin
+        dsReg <= _T_1699_a_bits_data;
+      end
+    end
+    if (reset) begin
+      valueReg <= 32'h0;
+    end else begin
+      valueReg <= inSyncReg_1;
+    end
+    if (reset) begin
+      highIeReg <= 32'h0;
+    end else begin
+      if (_T_3353) begin
+        highIeReg <= _T_1699_a_bits_data;
+      end
+    end
+    if (reset) begin
+      lowIeReg <= 32'h0;
+    end else begin
+      if (_T_3538) begin
+        lowIeReg <= _T_1699_a_bits_data;
+      end
+    end
+    if (reset) begin
+      riseIeReg <= 32'h0;
+    end else begin
+      if (_T_3428) begin
+        riseIeReg <= _T_1699_a_bits_data;
+      end
+    end
+    if (reset) begin
+      fallIeReg <= 32'h0;
+    end else begin
+      if (_T_3673) begin
+        fallIeReg <= _T_1699_a_bits_data;
+      end
+    end
+    if (reset) begin
+      highIpReg <= 32'h0;
+    end else begin
+      highIpReg <= _T_3650;
+    end
+    if (reset) begin
+      lowIpReg <= 32'h0;
+    end else begin
+      lowIpReg <= _T_3490;
+    end
+    if (reset) begin
+      riseIpReg <= 32'h0;
+    end else begin
+      riseIpReg <= _T_3570;
+    end
+    if (reset) begin
+      fallIpReg <= 32'h0;
+    end else begin
+      fallIpReg <= _T_3460;
+    end
+    if (reset) begin
+      iofSelReg <= 32'h0;
+    end else begin
+      if (_T_3723) begin
+        iofSelReg <= _T_1699_a_bits_data;
+      end
+    end
+    if (reset) begin
+      xorReg <= 32'h0;
+    end else begin
+      if (_T_3618) begin
+        xorReg <= _T_1699_a_bits_data;
+      end
+    end
+  end
+endmodule
+module IntSyncCrossingSink_13( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286379.2]
+  input   auto_in_sync_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286382.4]
+  input   auto_in_sync_1, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286382.4]
+  input   auto_in_sync_2, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286382.4]
+  input   auto_in_sync_3, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286382.4]
+  input   auto_in_sync_4, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286382.4]
+  input   auto_in_sync_5, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286382.4]
+  input   auto_in_sync_6, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286382.4]
+  input   auto_in_sync_7, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286382.4]
+  input   auto_in_sync_8, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286382.4]
+  input   auto_in_sync_9, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286382.4]
+  input   auto_in_sync_10, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286382.4]
+  input   auto_in_sync_11, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286382.4]
+  input   auto_in_sync_12, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286382.4]
+  input   auto_in_sync_13, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286382.4]
+  input   auto_in_sync_14, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286382.4]
+  input   auto_in_sync_15, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286382.4]
+  input   auto_in_sync_16, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286382.4]
+  input   auto_in_sync_17, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286382.4]
+  input   auto_in_sync_18, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286382.4]
+  input   auto_in_sync_19, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286382.4]
+  input   auto_in_sync_20, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286382.4]
+  input   auto_in_sync_21, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286382.4]
+  input   auto_in_sync_22, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286382.4]
+  input   auto_in_sync_23, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286382.4]
+  input   auto_in_sync_24, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286382.4]
+  input   auto_in_sync_25, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286382.4]
+  input   auto_in_sync_26, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286382.4]
+  input   auto_in_sync_27, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286382.4]
+  input   auto_in_sync_28, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286382.4]
+  input   auto_in_sync_29, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286382.4]
+  input   auto_in_sync_30, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286382.4]
+  input   auto_in_sync_31, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286382.4]
+  output  auto_out_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286382.4]
+  output  auto_out_1, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286382.4]
+  output  auto_out_2, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286382.4]
+  output  auto_out_3, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286382.4]
+  output  auto_out_4, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286382.4]
+  output  auto_out_5, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286382.4]
+  output  auto_out_6, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286382.4]
+  output  auto_out_7, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286382.4]
+  output  auto_out_8, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286382.4]
+  output  auto_out_9, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286382.4]
+  output  auto_out_10, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286382.4]
+  output  auto_out_11, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286382.4]
+  output  auto_out_12, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286382.4]
+  output  auto_out_13, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286382.4]
+  output  auto_out_14, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286382.4]
+  output  auto_out_15, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286382.4]
+  output  auto_out_16, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286382.4]
+  output  auto_out_17, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286382.4]
+  output  auto_out_18, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286382.4]
+  output  auto_out_19, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286382.4]
+  output  auto_out_20, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286382.4]
+  output  auto_out_21, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286382.4]
+  output  auto_out_22, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286382.4]
+  output  auto_out_23, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286382.4]
+  output  auto_out_24, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286382.4]
+  output  auto_out_25, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286382.4]
+  output  auto_out_26, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286382.4]
+  output  auto_out_27, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286382.4]
+  output  auto_out_28, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286382.4]
+  output  auto_out_29, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286382.4]
+  output  auto_out_30, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286382.4]
+  output  auto_out_31 // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286382.4]
+);
+  assign auto_out_0 = auto_in_sync_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@286391.4]
+  assign auto_out_1 = auto_in_sync_1; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@286391.4]
+  assign auto_out_2 = auto_in_sync_2; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@286391.4]
+  assign auto_out_3 = auto_in_sync_3; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@286391.4]
+  assign auto_out_4 = auto_in_sync_4; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@286391.4]
+  assign auto_out_5 = auto_in_sync_5; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@286391.4]
+  assign auto_out_6 = auto_in_sync_6; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@286391.4]
+  assign auto_out_7 = auto_in_sync_7; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@286391.4]
+  assign auto_out_8 = auto_in_sync_8; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@286391.4]
+  assign auto_out_9 = auto_in_sync_9; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@286391.4]
+  assign auto_out_10 = auto_in_sync_10; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@286391.4]
+  assign auto_out_11 = auto_in_sync_11; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@286391.4]
+  assign auto_out_12 = auto_in_sync_12; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@286391.4]
+  assign auto_out_13 = auto_in_sync_13; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@286391.4]
+  assign auto_out_14 = auto_in_sync_14; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@286391.4]
+  assign auto_out_15 = auto_in_sync_15; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@286391.4]
+  assign auto_out_16 = auto_in_sync_16; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@286391.4]
+  assign auto_out_17 = auto_in_sync_17; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@286391.4]
+  assign auto_out_18 = auto_in_sync_18; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@286391.4]
+  assign auto_out_19 = auto_in_sync_19; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@286391.4]
+  assign auto_out_20 = auto_in_sync_20; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@286391.4]
+  assign auto_out_21 = auto_in_sync_21; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@286391.4]
+  assign auto_out_22 = auto_in_sync_22; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@286391.4]
+  assign auto_out_23 = auto_in_sync_23; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@286391.4]
+  assign auto_out_24 = auto_in_sync_24; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@286391.4]
+  assign auto_out_25 = auto_in_sync_25; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@286391.4]
+  assign auto_out_26 = auto_in_sync_26; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@286391.4]
+  assign auto_out_27 = auto_in_sync_27; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@286391.4]
+  assign auto_out_28 = auto_in_sync_28; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@286391.4]
+  assign auto_out_29 = auto_in_sync_29; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@286391.4]
+  assign auto_out_30 = auto_in_sync_30; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@286391.4]
+  assign auto_out_31 = auto_in_sync_31; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@286391.4]
+endmodule
+module TLMonitor_78( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286446.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286447.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286448.4]
+  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286449.4]
+  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286449.4]
+  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286449.4]
+  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286449.4]
+  input  [1:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286449.4]
+  input  [5:0]  io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286449.4]
+  input  [28:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286449.4]
+  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286449.4]
+  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286449.4]
+  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286449.4]
+  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286449.4]
+  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286449.4]
+  input  [1:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286449.4]
+  input  [5:0]  io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286449.4]
+);
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@287576.4]
+  wire [4:0] _T_36; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@286476.6]
+  wire [1:0] _T_37; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@286477.6]
+  wire [1:0] _T_38; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@286478.6]
+  wire [28:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@286479.6]
+  wire [28:0] _T_39; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@286479.6]
+  wire  _T_40; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@286480.6]
+  wire  _T_42; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@286482.6]
+  wire [1:0] _T_43; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@286483.6]
+  wire [1:0] _T_45; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@286485.6]
+  wire  _T_46; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@286486.6]
+  wire  _T_47; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@286487.6]
+  wire  _T_48; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@286488.6]
+  wire  _T_49; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@286489.6]
+  wire  _T_51; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@286491.6]
+  wire  _T_52; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@286492.6]
+  wire  _T_54; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@286494.6]
+  wire  _T_55; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@286495.6]
+  wire  _T_56; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@286496.6]
+  wire  _T_57; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@286497.6]
+  wire  _T_58; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@286498.6]
+  wire  _T_59; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@286499.6]
+  wire  _T_60; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@286500.6]
+  wire  _T_61; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@286501.6]
+  wire  _T_62; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@286502.6]
+  wire  _T_63; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@286503.6]
+  wire  _T_64; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@286504.6]
+  wire  _T_65; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@286505.6]
+  wire  _T_66; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@286506.6]
+  wire  _T_67; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@286507.6]
+  wire  _T_68; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@286508.6]
+  wire  _T_69; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@286509.6]
+  wire  _T_70; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@286510.6]
+  wire [1:0] _T_71; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@286511.6]
+  wire [1:0] _T_72; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@286512.6]
+  wire [3:0] _T_73; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@286513.6]
+  wire  _T_92; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@286536.6]
+  wire [28:0] _T_94; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@286539.8]
+  wire [29:0] _T_95; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@286540.8]
+  wire [29:0] _T_96; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@286541.8]
+  wire [29:0] _T_97; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@286542.8]
+  wire  _T_98; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@286543.8]
+  wire  _T_103; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286548.8]
+  wire  _T_112; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286569.8]
+  wire  _T_113; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286570.8]
+  wire  _T_115; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286576.8]
+  wire  _T_116; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286577.8]
+  wire  _T_117; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@286582.8]
+  wire  _T_119; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286584.8]
+  wire  _T_120; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286585.8]
+  wire [3:0] _T_121; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@286590.8]
+  wire  _T_122; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@286591.8]
+  wire  _T_124; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286593.8]
+  wire  _T_125; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286594.8]
+  wire  _T_126; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@286599.8]
+  wire  _T_128; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286601.8]
+  wire  _T_129; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286602.8]
+  wire  _T_130; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@286608.6]
+  wire  _T_159; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@286662.8]
+  wire  _T_161; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286664.8]
+  wire  _T_162; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286665.8]
+  wire  _T_172; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@286688.6]
+  wire  _T_174; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@286691.8]
+  wire  _T_182; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@286699.8]
+  wire  _T_185; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286702.8]
+  wire  _T_186; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286703.8]
+  wire  _T_193; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@286722.8]
+  wire  _T_195; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286724.8]
+  wire  _T_196; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286725.8]
+  wire  _T_197; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@286730.8]
+  wire  _T_199; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286732.8]
+  wire  _T_200; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286733.8]
+  wire  _T_205; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@286747.6]
+  wire  _T_234; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@286798.6]
+  wire [3:0] _T_259; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@286840.8]
+  wire [3:0] _T_260; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@286841.8]
+  wire  _T_261; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@286842.8]
+  wire  _T_263; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286844.8]
+  wire  _T_264; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286845.8]
+  wire  _T_265; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@286851.6]
+  wire  _T_283; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@286882.8]
+  wire  _T_285; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286884.8]
+  wire  _T_286; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286885.8]
+  wire  _T_291; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@286899.6]
+  wire  _T_309; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@286930.8]
+  wire  _T_311; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286932.8]
+  wire  _T_312; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286933.8]
+  wire  _T_317; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@286947.6]
+  wire  _T_343; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@286997.6]
+  wire  _T_345; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@286999.6]
+  wire  _T_346; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@287000.6]
+  wire  _T_363; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@287017.6]
+  wire  _T_367; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@287026.8]
+  wire  _T_369; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287028.8]
+  wire  _T_370; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287029.8]
+  wire  _T_383; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@287059.6]
+  wire  _T_411; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@287117.6]
+  wire  _T_504; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@287307.4]
+  reg  _T_514; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@287316.4]
+  reg [31:0] _RAND_0;
+  wire [1:0] _T_515; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@287317.4]
+  wire [1:0] _T_516; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@287318.4]
+  wire  _T_517; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@287319.4]
+  wire  _T_518; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@287320.4]
+  reg [2:0] _T_527; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@287331.4]
+  reg [31:0] _RAND_1;
+  reg [2:0] _T_529; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@287332.4]
+  reg [31:0] _RAND_2;
+  reg [1:0] _T_531; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@287333.4]
+  reg [31:0] _RAND_3;
+  reg [5:0] _T_533; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@287334.4]
+  reg [31:0] _RAND_4;
+  reg [28:0] _T_535; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@287335.4]
+  reg [31:0] _RAND_5;
+  wire  _T_536; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@287336.4]
+  wire  _T_537; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@287337.4]
+  wire  _T_538; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@287339.6]
+  wire  _T_540; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287341.6]
+  wire  _T_541; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287342.6]
+  wire  _T_542; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@287347.6]
+  wire  _T_544; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287349.6]
+  wire  _T_545; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287350.6]
+  wire  _T_546; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@287355.6]
+  wire  _T_548; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287357.6]
+  wire  _T_549; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287358.6]
+  wire  _T_550; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@287363.6]
+  wire  _T_552; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287365.6]
+  wire  _T_553; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287366.6]
+  wire  _T_554; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@287371.6]
+  wire  _T_556; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287373.6]
+  wire  _T_557; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287374.6]
+  wire  _T_559; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@287381.4]
+  wire  _T_560; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@287389.4]
+  reg  _T_569; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@287397.4]
+  reg [31:0] _RAND_6;
+  wire [1:0] _T_570; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@287398.4]
+  wire [1:0] _T_571; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@287399.4]
+  wire  _T_572; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@287400.4]
+  wire  _T_573; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@287401.4]
+  reg [2:0] _T_582; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@287412.4]
+  reg [31:0] _RAND_7;
+  reg [1:0] _T_586; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@287414.4]
+  reg [31:0] _RAND_8;
+  reg [5:0] _T_588; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@287415.4]
+  reg [31:0] _RAND_9;
+  wire  _T_593; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@287418.4]
+  wire  _T_594; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@287419.4]
+  wire  _T_595; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@287421.6]
+  wire  _T_597; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287423.6]
+  wire  _T_598; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287424.6]
+  wire  _T_603; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@287437.6]
+  wire  _T_605; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287439.6]
+  wire  _T_606; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287440.6]
+  wire  _T_607; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@287445.6]
+  wire  _T_609; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287447.6]
+  wire  _T_610; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287448.6]
+  wire  _T_620; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@287471.4]
+  reg [63:0] _T_622; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@287480.4]
+  reg [63:0] _RAND_10;
+  reg  _T_633; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@287490.4]
+  reg [31:0] _RAND_11;
+  wire [1:0] _T_634; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@287491.4]
+  wire [1:0] _T_635; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@287492.4]
+  wire  _T_636; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@287493.4]
+  wire  _T_637; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@287494.4]
+  reg  _T_654; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@287513.4]
+  reg [31:0] _RAND_12;
+  wire [1:0] _T_655; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@287514.4]
+  wire [1:0] _T_656; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@287515.4]
+  wire  _T_657; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@287516.4]
+  wire  _T_658; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@287517.4]
+  wire  _T_669; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@287532.4]
+  wire [63:0] _T_671; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@287535.6]
+  wire [63:0] _T_672; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@287537.6]
+  wire  _T_673; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@287538.6]
+  wire  _T_674; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287539.6]
+  wire  _T_676; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@287541.6]
+  wire  _T_677; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@287542.6]
+  wire [63:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@287534.4]
+  wire  _T_682; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@287553.4]
+  wire  _T_684; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@287555.4]
+  wire  _T_685; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@287556.4]
+  wire [63:0] _T_686; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@287558.6]
+  wire [63:0] _T_687; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@287560.6]
+  wire [63:0] _T_688; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@287561.6]
+  wire  _T_689; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@287562.6]
+  wire  _T_691; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@287564.6]
+  wire  _T_692; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@287565.6]
+  wire [63:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@287557.4]
+  wire [63:0] _T_693; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@287571.4]
+  wire [63:0] _T_694; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@287572.4]
+  wire [63:0] _T_695; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@287573.4]
+  reg [31:0] _T_697; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@287575.4]
+  reg [31:0] _RAND_13;
+  wire  _T_698; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@287578.4]
+  wire  _T_699; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@287579.4]
+  wire  _T_700; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@287580.4]
+  wire  _T_701; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@287581.4]
+  wire  _T_702; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@287582.4]
+  wire  _T_703; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@287583.4]
+  wire  _T_705; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@287585.4]
+  wire  _T_706; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@287586.4]
+  wire [31:0] _T_708; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@287592.4]
+  wire  _T_711; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@287596.4]
+  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286550.10]
+  wire  _GEN_33; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286622.10]
+  wire  _GEN_49; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286705.10]
+  wire  _GEN_59; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286764.10]
+  wire  _GEN_67; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286815.10]
+  wire  _GEN_75; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286865.10]
+  wire  _GEN_83; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286913.10]
+  wire  _GEN_91; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286961.10]
+  wire  _GEN_99; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287031.10]
+  wire  _GEN_101; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287072.10]
+  wire  _GEN_105; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287130.10]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@287576.4]
+    .out(plusarg_reader_out)
+  );
+  assign _T_36 = 5'h3 << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@286476.6]
+  assign _T_37 = _T_36[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@286477.6]
+  assign _T_38 = ~ _T_37; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@286478.6]
+  assign _GEN_18 = {{27'd0}, _T_38}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@286479.6]
+  assign _T_39 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@286479.6]
+  assign _T_40 = _T_39 == 29'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@286480.6]
+  assign _T_42 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@286482.6]
+  assign _T_43 = 2'h1 << _T_42; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@286483.6]
+  assign _T_45 = _T_43 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@286485.6]
+  assign _T_46 = io_in_a_bits_size >= 2'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@286486.6]
+  assign _T_47 = _T_45[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@286487.6]
+  assign _T_48 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@286488.6]
+  assign _T_49 = _T_48 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@286489.6]
+  assign _T_51 = _T_47 & _T_49; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@286491.6]
+  assign _T_52 = _T_46 | _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@286492.6]
+  assign _T_54 = _T_47 & _T_48; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@286494.6]
+  assign _T_55 = _T_46 | _T_54; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@286495.6]
+  assign _T_56 = _T_45[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@286496.6]
+  assign _T_57 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@286497.6]
+  assign _T_58 = _T_57 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@286498.6]
+  assign _T_59 = _T_49 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@286499.6]
+  assign _T_60 = _T_56 & _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@286500.6]
+  assign _T_61 = _T_52 | _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@286501.6]
+  assign _T_62 = _T_49 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@286502.6]
+  assign _T_63 = _T_56 & _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@286503.6]
+  assign _T_64 = _T_52 | _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@286504.6]
+  assign _T_65 = _T_48 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@286505.6]
+  assign _T_66 = _T_56 & _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@286506.6]
+  assign _T_67 = _T_55 | _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@286507.6]
+  assign _T_68 = _T_48 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@286508.6]
+  assign _T_69 = _T_56 & _T_68; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@286509.6]
+  assign _T_70 = _T_55 | _T_69; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@286510.6]
+  assign _T_71 = {_T_64,_T_61}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@286511.6]
+  assign _T_72 = {_T_70,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@286512.6]
+  assign _T_73 = {_T_72,_T_71}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@286513.6]
+  assign _T_92 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@286536.6]
+  assign _T_94 = io_in_a_bits_address ^ 29'h10016000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@286539.8]
+  assign _T_95 = {1'b0,$signed(_T_94)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@286540.8]
+  assign _T_96 = $signed(_T_95) & $signed(-30'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@286541.8]
+  assign _T_97 = $signed(_T_96); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@286542.8]
+  assign _T_98 = $signed(_T_97) == $signed(30'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@286543.8]
+  assign _T_103 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286548.8]
+  assign _T_112 = _T_46 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286569.8]
+  assign _T_113 = _T_112 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286570.8]
+  assign _T_115 = _T_40 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286576.8]
+  assign _T_116 = _T_115 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286577.8]
+  assign _T_117 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@286582.8]
+  assign _T_119 = _T_117 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286584.8]
+  assign _T_120 = _T_119 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286585.8]
+  assign _T_121 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@286590.8]
+  assign _T_122 = _T_121 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@286591.8]
+  assign _T_124 = _T_122 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286593.8]
+  assign _T_125 = _T_124 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286594.8]
+  assign _T_126 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@286599.8]
+  assign _T_128 = _T_126 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286601.8]
+  assign _T_129 = _T_128 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286602.8]
+  assign _T_130 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@286608.6]
+  assign _T_159 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@286662.8]
+  assign _T_161 = _T_159 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286664.8]
+  assign _T_162 = _T_161 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286665.8]
+  assign _T_172 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@286688.6]
+  assign _T_174 = io_in_a_bits_size <= 2'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@286691.8]
+  assign _T_182 = _T_174 & _T_98; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@286699.8]
+  assign _T_185 = _T_182 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286702.8]
+  assign _T_186 = _T_185 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286703.8]
+  assign _T_193 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@286722.8]
+  assign _T_195 = _T_193 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286724.8]
+  assign _T_196 = _T_195 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286725.8]
+  assign _T_197 = io_in_a_bits_mask == _T_73; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@286730.8]
+  assign _T_199 = _T_197 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286732.8]
+  assign _T_200 = _T_199 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286733.8]
+  assign _T_205 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@286747.6]
+  assign _T_234 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@286798.6]
+  assign _T_259 = ~ _T_73; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@286840.8]
+  assign _T_260 = io_in_a_bits_mask & _T_259; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@286841.8]
+  assign _T_261 = _T_260 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@286842.8]
+  assign _T_263 = _T_261 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286844.8]
+  assign _T_264 = _T_263 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286845.8]
+  assign _T_265 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@286851.6]
+  assign _T_283 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@286882.8]
+  assign _T_285 = _T_283 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286884.8]
+  assign _T_286 = _T_285 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286885.8]
+  assign _T_291 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@286899.6]
+  assign _T_309 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@286930.8]
+  assign _T_311 = _T_309 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286932.8]
+  assign _T_312 = _T_311 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286933.8]
+  assign _T_317 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@286947.6]
+  assign _T_343 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@286997.6]
+  assign _T_345 = _T_343 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@286999.6]
+  assign _T_346 = _T_345 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@287000.6]
+  assign _T_363 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@287017.6]
+  assign _T_367 = io_in_d_bits_size >= 2'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@287026.8]
+  assign _T_369 = _T_367 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287028.8]
+  assign _T_370 = _T_369 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287029.8]
+  assign _T_383 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@287059.6]
+  assign _T_411 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@287117.6]
+  assign _T_504 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@287307.4]
+  assign _T_515 = _T_514 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@287317.4]
+  assign _T_516 = $unsigned(_T_515); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@287318.4]
+  assign _T_517 = _T_516[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@287319.4]
+  assign _T_518 = _T_514 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@287320.4]
+  assign _T_536 = _T_518 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@287336.4]
+  assign _T_537 = io_in_a_valid & _T_536; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@287337.4]
+  assign _T_538 = io_in_a_bits_opcode == _T_527; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@287339.6]
+  assign _T_540 = _T_538 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287341.6]
+  assign _T_541 = _T_540 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287342.6]
+  assign _T_542 = io_in_a_bits_param == _T_529; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@287347.6]
+  assign _T_544 = _T_542 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287349.6]
+  assign _T_545 = _T_544 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287350.6]
+  assign _T_546 = io_in_a_bits_size == _T_531; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@287355.6]
+  assign _T_548 = _T_546 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287357.6]
+  assign _T_549 = _T_548 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287358.6]
+  assign _T_550 = io_in_a_bits_source == _T_533; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@287363.6]
+  assign _T_552 = _T_550 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287365.6]
+  assign _T_553 = _T_552 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287366.6]
+  assign _T_554 = io_in_a_bits_address == _T_535; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@287371.6]
+  assign _T_556 = _T_554 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287373.6]
+  assign _T_557 = _T_556 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287374.6]
+  assign _T_559 = _T_504 & _T_518; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@287381.4]
+  assign _T_560 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@287389.4]
+  assign _T_570 = _T_569 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@287398.4]
+  assign _T_571 = $unsigned(_T_570); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@287399.4]
+  assign _T_572 = _T_571[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@287400.4]
+  assign _T_573 = _T_569 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@287401.4]
+  assign _T_593 = _T_573 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@287418.4]
+  assign _T_594 = io_in_d_valid & _T_593; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@287419.4]
+  assign _T_595 = io_in_d_bits_opcode == _T_582; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@287421.6]
+  assign _T_597 = _T_595 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287423.6]
+  assign _T_598 = _T_597 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287424.6]
+  assign _T_603 = io_in_d_bits_size == _T_586; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@287437.6]
+  assign _T_605 = _T_603 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287439.6]
+  assign _T_606 = _T_605 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287440.6]
+  assign _T_607 = io_in_d_bits_source == _T_588; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@287445.6]
+  assign _T_609 = _T_607 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287447.6]
+  assign _T_610 = _T_609 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287448.6]
+  assign _T_620 = _T_560 & _T_573; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@287471.4]
+  assign _T_634 = _T_633 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@287491.4]
+  assign _T_635 = $unsigned(_T_634); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@287492.4]
+  assign _T_636 = _T_635[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@287493.4]
+  assign _T_637 = _T_633 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@287494.4]
+  assign _T_655 = _T_654 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@287514.4]
+  assign _T_656 = $unsigned(_T_655); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@287515.4]
+  assign _T_657 = _T_656[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@287516.4]
+  assign _T_658 = _T_654 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@287517.4]
+  assign _T_669 = _T_504 & _T_637; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@287532.4]
+  assign _T_671 = 64'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@287535.6]
+  assign _T_672 = _T_622 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@287537.6]
+  assign _T_673 = _T_672[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@287538.6]
+  assign _T_674 = _T_673 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287539.6]
+  assign _T_676 = _T_674 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@287541.6]
+  assign _T_677 = _T_676 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@287542.6]
+  assign _GEN_15 = _T_669 ? _T_671 : 64'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@287534.4]
+  assign _T_682 = _T_560 & _T_658; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@287553.4]
+  assign _T_684 = _T_363 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@287555.4]
+  assign _T_685 = _T_682 & _T_684; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@287556.4]
+  assign _T_686 = 64'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@287558.6]
+  assign _T_687 = _GEN_15 | _T_622; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@287560.6]
+  assign _T_688 = _T_687 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@287561.6]
+  assign _T_689 = _T_688[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@287562.6]
+  assign _T_691 = _T_689 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@287564.6]
+  assign _T_692 = _T_691 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@287565.6]
+  assign _GEN_16 = _T_685 ? _T_686 : 64'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@287557.4]
+  assign _T_693 = _T_622 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@287571.4]
+  assign _T_694 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@287572.4]
+  assign _T_695 = _T_693 & _T_694; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@287573.4]
+  assign _T_698 = _T_622 != 64'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@287578.4]
+  assign _T_699 = _T_698 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@287579.4]
+  assign _T_700 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@287580.4]
+  assign _T_701 = _T_699 | _T_700; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@287581.4]
+  assign _T_702 = _T_697 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@287582.4]
+  assign _T_703 = _T_701 | _T_702; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@287583.4]
+  assign _T_705 = _T_703 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@287585.4]
+  assign _T_706 = _T_705 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@287586.4]
+  assign _T_708 = _T_697 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@287592.4]
+  assign _T_711 = _T_504 | _T_560; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@287596.4]
+  assign _GEN_19 = io_in_a_valid & _T_92; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286550.10]
+  assign _GEN_33 = io_in_a_valid & _T_130; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286622.10]
+  assign _GEN_49 = io_in_a_valid & _T_172; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286705.10]
+  assign _GEN_59 = io_in_a_valid & _T_205; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286764.10]
+  assign _GEN_67 = io_in_a_valid & _T_234; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286815.10]
+  assign _GEN_75 = io_in_a_valid & _T_265; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286865.10]
+  assign _GEN_83 = io_in_a_valid & _T_291; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286913.10]
+  assign _GEN_91 = io_in_a_valid & _T_317; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286961.10]
+  assign _GEN_99 = io_in_d_valid & _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287031.10]
+  assign _GEN_101 = io_in_d_valid & _T_383; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287072.10]
+  assign _GEN_105 = io_in_d_valid & _T_411; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287130.10]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  _T_514 = _RAND_0[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  _T_527 = _RAND_1[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  _T_529 = _RAND_2[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  _T_531 = _RAND_3[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  _T_533 = _RAND_4[5:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  _T_535 = _RAND_5[28:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {1{`RANDOM}};
+  _T_569 = _RAND_6[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {1{`RANDOM}};
+  _T_582 = _RAND_7[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_8 = {1{`RANDOM}};
+  _T_586 = _RAND_8[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_9 = {1{`RANDOM}};
+  _T_588 = _RAND_9[5:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_10 = {2{`RANDOM}};
+  _T_622 = _RAND_10[63:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_11 = {1{`RANDOM}};
+  _T_633 = _RAND_11[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_12 = {1{`RANDOM}};
+  _T_654 = _RAND_12[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_13 = {1{`RANDOM}};
+  _T_697 = _RAND_13[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      _T_514 <= 1'h0;
+    end else begin
+      if (_T_504) begin
+        if (_T_518) begin
+          _T_514 <= 1'h0;
+        end else begin
+          _T_514 <= _T_517;
+        end
+      end
+    end
+    if (_T_559) begin
+      _T_527 <= io_in_a_bits_opcode;
+    end
+    if (_T_559) begin
+      _T_529 <= io_in_a_bits_param;
+    end
+    if (_T_559) begin
+      _T_531 <= io_in_a_bits_size;
+    end
+    if (_T_559) begin
+      _T_533 <= io_in_a_bits_source;
+    end
+    if (_T_559) begin
+      _T_535 <= io_in_a_bits_address;
+    end
+    if (reset) begin
+      _T_569 <= 1'h0;
+    end else begin
+      if (_T_560) begin
+        if (_T_573) begin
+          _T_569 <= 1'h0;
+        end else begin
+          _T_569 <= _T_572;
+        end
+      end
+    end
+    if (_T_620) begin
+      _T_582 <= io_in_d_bits_opcode;
+    end
+    if (_T_620) begin
+      _T_586 <= io_in_d_bits_size;
+    end
+    if (_T_620) begin
+      _T_588 <= io_in_d_bits_source;
+    end
+    if (reset) begin
+      _T_622 <= 64'h0;
+    end else begin
+      _T_622 <= _T_695;
+    end
+    if (reset) begin
+      _T_633 <= 1'h0;
+    end else begin
+      if (_T_504) begin
+        if (_T_637) begin
+          _T_633 <= 1'h0;
+        end else begin
+          _T_633 <= _T_636;
+        end
+      end
+    end
+    if (reset) begin
+      _T_654 <= 1'h0;
+    end else begin
+      if (_T_560) begin
+        if (_T_658) begin
+          _T_654 <= 1'h0;
+        end else begin
+          _T_654 <= _T_657;
+        end
+      end
+    end
+    if (reset) begin
+      _T_697 <= 32'h0;
+    end else begin
+      if (_T_711) begin
+        _T_697 <= 32'h0;
+      end else begin
+        _T_697 <= _T_708;
+      end
+    end
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@286461.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@286462.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@286533.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@286534.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286550.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_103) begin
+          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286551.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286557.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_103) begin
+          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286558.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286564.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286565.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_113) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286572.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_113) begin
+          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286573.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286579.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_116) begin
+          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286580.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_120) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286587.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_120) begin
+          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286588.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_125) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286596.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_125) begin
+          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286597.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_129) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286604.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_129) begin
+          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286605.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286622.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_103) begin
+          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286623.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286629.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_103) begin
+          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286630.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286636.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286637.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_113) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286644.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_113) begin
+          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286645.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286651.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_116) begin
+          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286652.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_120) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286659.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_120) begin
+          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286660.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_162) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286667.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_162) begin
+          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286668.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_125) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286676.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_125) begin
+          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286677.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_129) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286684.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_129) begin
+          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286685.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_186) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286705.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_186) begin
+          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286706.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286712.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286713.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286719.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_116) begin
+          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286720.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_196) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286727.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_196) begin
+          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286728.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286735.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_200) begin
+          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286736.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_129) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286743.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_129) begin
+          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286744.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_59 & _T_186) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286764.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_59 & _T_186) begin
+          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286765.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286771.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286772.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_59 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286778.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_59 & _T_116) begin
+          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286779.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_59 & _T_196) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286786.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_59 & _T_196) begin
+          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286787.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_59 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286794.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_59 & _T_200) begin
+          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286795.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_67 & _T_186) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286815.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_67 & _T_186) begin
+          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286816.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286822.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286823.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_67 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286829.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_67 & _T_116) begin
+          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286830.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_67 & _T_196) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286837.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_67 & _T_196) begin
+          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286838.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_67 & _T_264) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286847.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_67 & _T_264) begin
+          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286848.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286865.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_103) begin
+          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286866.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286872.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286873.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286879.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_116) begin
+          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286880.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_286) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286887.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_286) begin
+          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286888.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286895.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_200) begin
+          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286896.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_83 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286913.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_83 & _T_103) begin
+          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286914.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286920.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286921.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_83 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286927.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_83 & _T_116) begin
+          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286928.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_83 & _T_312) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286935.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_83 & _T_312) begin
+          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286936.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_83 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286943.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_83 & _T_200) begin
+          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286944.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_91 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286961.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_91 & _T_103) begin
+          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286962.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286968.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286969.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_91 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286975.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_91 & _T_116) begin
+          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286976.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_91 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286983.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_91 & _T_200) begin
+          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286984.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_91 & _T_129) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286991.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_91 & _T_129) begin
+          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286992.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_346) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@287002.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_346) begin
+          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@287003.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287023.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287024.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_99 & _T_370) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287031.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_99 & _T_370) begin
+          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287032.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287039.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287040.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287047.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287048.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287055.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287056.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287065.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287066.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_101 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287072.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_101 & _T_103) begin
+          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287073.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_101 & _T_370) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287080.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_101 & _T_370) begin
+          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287081.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287088.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287089.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287096.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287097.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287104.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287105.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287113.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287114.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287123.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287124.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287130.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_103) begin
+          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287131.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_370) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287138.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_370) begin
+          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287139.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287146.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287147.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287154.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287155.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287163.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287164.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287172.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287173.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287182.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287183.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287190.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287191.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287198.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287199.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287207.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287208.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287217.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287218.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287225.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287226.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287234.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287235.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287243.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287244.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287253.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287254.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287261.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287262.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287269.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287270.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287278.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287279.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287288.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287289.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287296.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287297.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287304.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287305.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_541) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287344.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_541) begin
+          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287345.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_545) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287352.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_545) begin
+          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287353.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_549) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287360.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_549) begin
+          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287361.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_553) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287368.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_553) begin
+          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287369.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_557) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287376.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_557) begin
+          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287377.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_594 & _T_598) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287426.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_594 & _T_598) begin
+          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287427.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287434.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287435.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_594 & _T_606) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287442.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_594 & _T_606) begin
+          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287443.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_594 & _T_610) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287450.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_594 & _T_610) begin
+          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287451.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287458.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287459.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287466.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287467.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_669 & _T_677) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@287544.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_669 & _T_677) begin
+          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@287545.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_685 & _T_692) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@287567.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_685 & _T_692) begin
+          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@287568.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_706) begin
+          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@287588.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_706) begin
+          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@287589.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+endmodule
+module TLBuffer_27( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287601.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287602.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287603.4]
+  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287604.4]
+  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287604.4]
+  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287604.4]
+  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287604.4]
+  input  [1:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287604.4]
+  input  [5:0]  auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287604.4]
+  input  [28:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287604.4]
+  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287604.4]
+  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287604.4]
+  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287604.4]
+  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287604.4]
+  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287604.4]
+  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287604.4]
+  output [1:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287604.4]
+  output [5:0]  auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287604.4]
+  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287604.4]
+  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287604.4]
+  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287604.4]
+  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287604.4]
+  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287604.4]
+  output [1:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287604.4]
+  output [5:0]  auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287604.4]
+  output [28:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287604.4]
+  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287604.4]
+  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287604.4]
+  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287604.4]
+  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287604.4]
+  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287604.4]
+  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287604.4]
+  input  [1:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287604.4]
+  input  [5:0]  auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287604.4]
+  input  [31:0] auto_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287604.4]
+);
+  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@287611.4]
+  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@287611.4]
+  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@287611.4]
+  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@287611.4]
+  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@287611.4]
+  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@287611.4]
+  wire [1:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@287611.4]
+  wire [5:0] TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@287611.4]
+  wire [28:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@287611.4]
+  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@287611.4]
+  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@287611.4]
+  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@287611.4]
+  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@287611.4]
+  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@287611.4]
+  wire [1:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@287611.4]
+  wire [5:0] TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@287611.4]
+  TLMonitor_78 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@287611.4]
+    .clock(TLMonitor_clock),
+    .reset(TLMonitor_reset),
+    .io_in_a_ready(TLMonitor_io_in_a_ready),
+    .io_in_a_valid(TLMonitor_io_in_a_valid),
+    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
+    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
+    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
+    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
+    .io_in_d_ready(TLMonitor_io_in_d_ready),
+    .io_in_d_valid(TLMonitor_io_in_d_valid),
+    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
+    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
+    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source)
+  );
+  assign auto_in_a_ready = auto_out_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@287651.4]
+  assign auto_in_d_valid = auto_out_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@287651.4]
+  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@287651.4]
+  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@287651.4]
+  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@287651.4]
+  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@287651.4]
+  assign auto_out_a_valid = auto_in_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@287650.4]
+  assign auto_out_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@287650.4]
+  assign auto_out_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@287650.4]
+  assign auto_out_a_bits_size = auto_in_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@287650.4]
+  assign auto_out_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@287650.4]
+  assign auto_out_a_bits_address = auto_in_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@287650.4]
+  assign auto_out_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@287650.4]
+  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@287650.4]
+  assign auto_out_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@287650.4]
+  assign auto_out_d_ready = auto_in_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@287650.4]
+  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287613.4]
+  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287614.4]
+  assign TLMonitor_io_in_a_ready = auto_out_a_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@287647.4]
+  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@287647.4]
+  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@287647.4]
+  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@287647.4]
+  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@287647.4]
+  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@287647.4]
+  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@287647.4]
+  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@287647.4]
+  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@287647.4]
+  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@287647.4]
+  assign TLMonitor_io_in_d_valid = auto_out_d_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@287647.4]
+  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@287647.4]
+  assign TLMonitor_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@287647.4]
+  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@287647.4]
+endmodule
+module TLMonitor_79( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287722.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287723.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287724.4]
+  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287725.4]
+  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287725.4]
+  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287725.4]
+  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287725.4]
+  input  [1:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287725.4]
+  input  [5:0]  io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287725.4]
+  input  [28:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287725.4]
+  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287725.4]
+  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287725.4]
+  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287725.4]
+  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287725.4]
+  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287725.4]
+  input  [1:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287725.4]
+  input  [5:0]  io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287725.4]
+);
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@288852.4]
+  wire [4:0] _T_36; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@287752.6]
+  wire [1:0] _T_37; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@287753.6]
+  wire [1:0] _T_38; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@287754.6]
+  wire [28:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@287755.6]
+  wire [28:0] _T_39; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@287755.6]
+  wire  _T_40; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@287756.6]
+  wire  _T_42; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@287758.6]
+  wire [1:0] _T_43; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@287759.6]
+  wire [1:0] _T_45; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@287761.6]
+  wire  _T_46; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@287762.6]
+  wire  _T_47; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@287763.6]
+  wire  _T_48; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@287764.6]
+  wire  _T_49; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@287765.6]
+  wire  _T_51; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@287767.6]
+  wire  _T_52; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@287768.6]
+  wire  _T_54; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@287770.6]
+  wire  _T_55; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@287771.6]
+  wire  _T_56; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@287772.6]
+  wire  _T_57; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@287773.6]
+  wire  _T_58; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@287774.6]
+  wire  _T_59; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@287775.6]
+  wire  _T_60; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@287776.6]
+  wire  _T_61; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@287777.6]
+  wire  _T_62; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@287778.6]
+  wire  _T_63; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@287779.6]
+  wire  _T_64; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@287780.6]
+  wire  _T_65; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@287781.6]
+  wire  _T_66; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@287782.6]
+  wire  _T_67; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@287783.6]
+  wire  _T_68; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@287784.6]
+  wire  _T_69; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@287785.6]
+  wire  _T_70; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@287786.6]
+  wire [1:0] _T_71; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@287787.6]
+  wire [1:0] _T_72; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@287788.6]
+  wire [3:0] _T_73; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@287789.6]
+  wire  _T_92; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@287812.6]
+  wire [28:0] _T_94; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@287815.8]
+  wire [29:0] _T_95; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@287816.8]
+  wire [29:0] _T_96; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@287817.8]
+  wire [29:0] _T_97; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@287818.8]
+  wire  _T_98; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@287819.8]
+  wire  _T_103; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287824.8]
+  wire  _T_112; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287845.8]
+  wire  _T_113; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287846.8]
+  wire  _T_115; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287852.8]
+  wire  _T_116; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287853.8]
+  wire  _T_117; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@287858.8]
+  wire  _T_119; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287860.8]
+  wire  _T_120; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287861.8]
+  wire [3:0] _T_121; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@287866.8]
+  wire  _T_122; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@287867.8]
+  wire  _T_124; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287869.8]
+  wire  _T_125; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287870.8]
+  wire  _T_126; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@287875.8]
+  wire  _T_128; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287877.8]
+  wire  _T_129; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287878.8]
+  wire  _T_130; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@287884.6]
+  wire  _T_159; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@287938.8]
+  wire  _T_161; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287940.8]
+  wire  _T_162; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287941.8]
+  wire  _T_172; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@287964.6]
+  wire  _T_174; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@287967.8]
+  wire  _T_182; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@287975.8]
+  wire  _T_185; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287978.8]
+  wire  _T_186; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287979.8]
+  wire  _T_193; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@287998.8]
+  wire  _T_195; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288000.8]
+  wire  _T_196; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288001.8]
+  wire  _T_197; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@288006.8]
+  wire  _T_199; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288008.8]
+  wire  _T_200; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288009.8]
+  wire  _T_205; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@288023.6]
+  wire  _T_234; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@288074.6]
+  wire [3:0] _T_259; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@288116.8]
+  wire [3:0] _T_260; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288117.8]
+  wire  _T_261; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@288118.8]
+  wire  _T_263; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288120.8]
+  wire  _T_264; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288121.8]
+  wire  _T_265; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@288127.6]
+  wire  _T_283; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@288158.8]
+  wire  _T_285; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288160.8]
+  wire  _T_286; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288161.8]
+  wire  _T_291; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@288175.6]
+  wire  _T_309; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@288206.8]
+  wire  _T_311; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288208.8]
+  wire  _T_312; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288209.8]
+  wire  _T_317; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@288223.6]
+  wire  _T_343; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@288273.6]
+  wire  _T_345; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@288275.6]
+  wire  _T_346; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@288276.6]
+  wire  _T_363; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@288293.6]
+  wire  _T_367; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@288302.8]
+  wire  _T_369; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288304.8]
+  wire  _T_370; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288305.8]
+  wire  _T_383; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@288335.6]
+  wire  _T_411; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@288393.6]
+  wire  _T_504; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@288583.4]
+  reg  _T_514; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@288592.4]
+  reg [31:0] _RAND_0;
+  wire [1:0] _T_515; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288593.4]
+  wire [1:0] _T_516; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288594.4]
+  wire  _T_517; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288595.4]
+  wire  _T_518; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@288596.4]
+  reg [2:0] _T_527; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@288607.4]
+  reg [31:0] _RAND_1;
+  reg [2:0] _T_529; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@288608.4]
+  reg [31:0] _RAND_2;
+  reg [1:0] _T_531; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@288609.4]
+  reg [31:0] _RAND_3;
+  reg [5:0] _T_533; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@288610.4]
+  reg [31:0] _RAND_4;
+  reg [28:0] _T_535; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@288611.4]
+  reg [31:0] _RAND_5;
+  wire  _T_536; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@288612.4]
+  wire  _T_537; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@288613.4]
+  wire  _T_538; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@288615.6]
+  wire  _T_540; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288617.6]
+  wire  _T_541; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288618.6]
+  wire  _T_542; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@288623.6]
+  wire  _T_544; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288625.6]
+  wire  _T_545; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288626.6]
+  wire  _T_546; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@288631.6]
+  wire  _T_548; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288633.6]
+  wire  _T_549; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288634.6]
+  wire  _T_550; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@288639.6]
+  wire  _T_552; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288641.6]
+  wire  _T_553; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288642.6]
+  wire  _T_554; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@288647.6]
+  wire  _T_556; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288649.6]
+  wire  _T_557; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288650.6]
+  wire  _T_559; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@288657.4]
+  wire  _T_560; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@288665.4]
+  reg  _T_569; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@288673.4]
+  reg [31:0] _RAND_6;
+  wire [1:0] _T_570; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288674.4]
+  wire [1:0] _T_571; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288675.4]
+  wire  _T_572; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288676.4]
+  wire  _T_573; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@288677.4]
+  reg [2:0] _T_582; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@288688.4]
+  reg [31:0] _RAND_7;
+  reg [1:0] _T_586; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@288690.4]
+  reg [31:0] _RAND_8;
+  reg [5:0] _T_588; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@288691.4]
+  reg [31:0] _RAND_9;
+  wire  _T_593; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@288694.4]
+  wire  _T_594; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@288695.4]
+  wire  _T_595; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@288697.6]
+  wire  _T_597; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288699.6]
+  wire  _T_598; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288700.6]
+  wire  _T_603; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@288713.6]
+  wire  _T_605; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288715.6]
+  wire  _T_606; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288716.6]
+  wire  _T_607; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@288721.6]
+  wire  _T_609; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288723.6]
+  wire  _T_610; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288724.6]
+  wire  _T_620; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@288747.4]
+  reg [63:0] _T_622; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@288756.4]
+  reg [63:0] _RAND_10;
+  reg  _T_633; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@288766.4]
+  reg [31:0] _RAND_11;
+  wire [1:0] _T_634; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288767.4]
+  wire [1:0] _T_635; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288768.4]
+  wire  _T_636; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288769.4]
+  wire  _T_637; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@288770.4]
+  reg  _T_654; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@288789.4]
+  reg [31:0] _RAND_12;
+  wire [1:0] _T_655; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288790.4]
+  wire [1:0] _T_656; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288791.4]
+  wire  _T_657; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288792.4]
+  wire  _T_658; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@288793.4]
+  wire  _T_669; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@288808.4]
+  wire [63:0] _T_671; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@288811.6]
+  wire [63:0] _T_672; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@288813.6]
+  wire  _T_673; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@288814.6]
+  wire  _T_674; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288815.6]
+  wire  _T_676; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@288817.6]
+  wire  _T_677; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@288818.6]
+  wire [63:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@288810.4]
+  wire  _T_682; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@288829.4]
+  wire  _T_684; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@288831.4]
+  wire  _T_685; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@288832.4]
+  wire [63:0] _T_686; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@288834.6]
+  wire [63:0] _T_687; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@288836.6]
+  wire [63:0] _T_688; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@288837.6]
+  wire  _T_689; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@288838.6]
+  wire  _T_691; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@288840.6]
+  wire  _T_692; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@288841.6]
+  wire [63:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@288833.4]
+  wire [63:0] _T_693; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@288847.4]
+  wire [63:0] _T_694; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@288848.4]
+  wire [63:0] _T_695; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@288849.4]
+  reg [31:0] _T_697; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@288851.4]
+  reg [31:0] _RAND_13;
+  wire  _T_698; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@288854.4]
+  wire  _T_699; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@288855.4]
+  wire  _T_700; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@288856.4]
+  wire  _T_701; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@288857.4]
+  wire  _T_702; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@288858.4]
+  wire  _T_703; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@288859.4]
+  wire  _T_705; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@288861.4]
+  wire  _T_706; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@288862.4]
+  wire [31:0] _T_708; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@288868.4]
+  wire  _T_711; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@288872.4]
+  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287826.10]
+  wire  _GEN_33; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287898.10]
+  wire  _GEN_49; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287981.10]
+  wire  _GEN_59; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288040.10]
+  wire  _GEN_67; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288091.10]
+  wire  _GEN_75; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288141.10]
+  wire  _GEN_83; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288189.10]
+  wire  _GEN_91; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288237.10]
+  wire  _GEN_99; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288307.10]
+  wire  _GEN_101; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288348.10]
+  wire  _GEN_105; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288406.10]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@288852.4]
+    .out(plusarg_reader_out)
+  );
+  assign _T_36 = 5'h3 << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@287752.6]
+  assign _T_37 = _T_36[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@287753.6]
+  assign _T_38 = ~ _T_37; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@287754.6]
+  assign _GEN_18 = {{27'd0}, _T_38}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@287755.6]
+  assign _T_39 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@287755.6]
+  assign _T_40 = _T_39 == 29'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@287756.6]
+  assign _T_42 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@287758.6]
+  assign _T_43 = 2'h1 << _T_42; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@287759.6]
+  assign _T_45 = _T_43 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@287761.6]
+  assign _T_46 = io_in_a_bits_size >= 2'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@287762.6]
+  assign _T_47 = _T_45[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@287763.6]
+  assign _T_48 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@287764.6]
+  assign _T_49 = _T_48 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@287765.6]
+  assign _T_51 = _T_47 & _T_49; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@287767.6]
+  assign _T_52 = _T_46 | _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@287768.6]
+  assign _T_54 = _T_47 & _T_48; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@287770.6]
+  assign _T_55 = _T_46 | _T_54; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@287771.6]
+  assign _T_56 = _T_45[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@287772.6]
+  assign _T_57 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@287773.6]
+  assign _T_58 = _T_57 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@287774.6]
+  assign _T_59 = _T_49 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@287775.6]
+  assign _T_60 = _T_56 & _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@287776.6]
+  assign _T_61 = _T_52 | _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@287777.6]
+  assign _T_62 = _T_49 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@287778.6]
+  assign _T_63 = _T_56 & _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@287779.6]
+  assign _T_64 = _T_52 | _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@287780.6]
+  assign _T_65 = _T_48 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@287781.6]
+  assign _T_66 = _T_56 & _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@287782.6]
+  assign _T_67 = _T_55 | _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@287783.6]
+  assign _T_68 = _T_48 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@287784.6]
+  assign _T_69 = _T_56 & _T_68; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@287785.6]
+  assign _T_70 = _T_55 | _T_69; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@287786.6]
+  assign _T_71 = {_T_64,_T_61}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@287787.6]
+  assign _T_72 = {_T_70,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@287788.6]
+  assign _T_73 = {_T_72,_T_71}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@287789.6]
+  assign _T_92 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@287812.6]
+  assign _T_94 = io_in_a_bits_address ^ 29'h10016000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@287815.8]
+  assign _T_95 = {1'b0,$signed(_T_94)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@287816.8]
+  assign _T_96 = $signed(_T_95) & $signed(-30'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@287817.8]
+  assign _T_97 = $signed(_T_96); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@287818.8]
+  assign _T_98 = $signed(_T_97) == $signed(30'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@287819.8]
+  assign _T_103 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287824.8]
+  assign _T_112 = _T_46 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287845.8]
+  assign _T_113 = _T_112 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287846.8]
+  assign _T_115 = _T_40 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287852.8]
+  assign _T_116 = _T_115 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287853.8]
+  assign _T_117 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@287858.8]
+  assign _T_119 = _T_117 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287860.8]
+  assign _T_120 = _T_119 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287861.8]
+  assign _T_121 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@287866.8]
+  assign _T_122 = _T_121 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@287867.8]
+  assign _T_124 = _T_122 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287869.8]
+  assign _T_125 = _T_124 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287870.8]
+  assign _T_126 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@287875.8]
+  assign _T_128 = _T_126 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287877.8]
+  assign _T_129 = _T_128 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287878.8]
+  assign _T_130 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@287884.6]
+  assign _T_159 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@287938.8]
+  assign _T_161 = _T_159 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287940.8]
+  assign _T_162 = _T_161 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287941.8]
+  assign _T_172 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@287964.6]
+  assign _T_174 = io_in_a_bits_size <= 2'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@287967.8]
+  assign _T_182 = _T_174 & _T_98; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@287975.8]
+  assign _T_185 = _T_182 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287978.8]
+  assign _T_186 = _T_185 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287979.8]
+  assign _T_193 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@287998.8]
+  assign _T_195 = _T_193 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288000.8]
+  assign _T_196 = _T_195 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288001.8]
+  assign _T_197 = io_in_a_bits_mask == _T_73; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@288006.8]
+  assign _T_199 = _T_197 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288008.8]
+  assign _T_200 = _T_199 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288009.8]
+  assign _T_205 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@288023.6]
+  assign _T_234 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@288074.6]
+  assign _T_259 = ~ _T_73; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@288116.8]
+  assign _T_260 = io_in_a_bits_mask & _T_259; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288117.8]
+  assign _T_261 = _T_260 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@288118.8]
+  assign _T_263 = _T_261 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288120.8]
+  assign _T_264 = _T_263 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288121.8]
+  assign _T_265 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@288127.6]
+  assign _T_283 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@288158.8]
+  assign _T_285 = _T_283 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288160.8]
+  assign _T_286 = _T_285 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288161.8]
+  assign _T_291 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@288175.6]
+  assign _T_309 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@288206.8]
+  assign _T_311 = _T_309 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288208.8]
+  assign _T_312 = _T_311 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288209.8]
+  assign _T_317 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@288223.6]
+  assign _T_343 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@288273.6]
+  assign _T_345 = _T_343 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@288275.6]
+  assign _T_346 = _T_345 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@288276.6]
+  assign _T_363 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@288293.6]
+  assign _T_367 = io_in_d_bits_size >= 2'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@288302.8]
+  assign _T_369 = _T_367 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288304.8]
+  assign _T_370 = _T_369 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288305.8]
+  assign _T_383 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@288335.6]
+  assign _T_411 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@288393.6]
+  assign _T_504 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@288583.4]
+  assign _T_515 = _T_514 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288593.4]
+  assign _T_516 = $unsigned(_T_515); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288594.4]
+  assign _T_517 = _T_516[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288595.4]
+  assign _T_518 = _T_514 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@288596.4]
+  assign _T_536 = _T_518 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@288612.4]
+  assign _T_537 = io_in_a_valid & _T_536; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@288613.4]
+  assign _T_538 = io_in_a_bits_opcode == _T_527; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@288615.6]
+  assign _T_540 = _T_538 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288617.6]
+  assign _T_541 = _T_540 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288618.6]
+  assign _T_542 = io_in_a_bits_param == _T_529; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@288623.6]
+  assign _T_544 = _T_542 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288625.6]
+  assign _T_545 = _T_544 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288626.6]
+  assign _T_546 = io_in_a_bits_size == _T_531; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@288631.6]
+  assign _T_548 = _T_546 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288633.6]
+  assign _T_549 = _T_548 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288634.6]
+  assign _T_550 = io_in_a_bits_source == _T_533; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@288639.6]
+  assign _T_552 = _T_550 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288641.6]
+  assign _T_553 = _T_552 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288642.6]
+  assign _T_554 = io_in_a_bits_address == _T_535; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@288647.6]
+  assign _T_556 = _T_554 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288649.6]
+  assign _T_557 = _T_556 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288650.6]
+  assign _T_559 = _T_504 & _T_518; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@288657.4]
+  assign _T_560 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@288665.4]
+  assign _T_570 = _T_569 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288674.4]
+  assign _T_571 = $unsigned(_T_570); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288675.4]
+  assign _T_572 = _T_571[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288676.4]
+  assign _T_573 = _T_569 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@288677.4]
+  assign _T_593 = _T_573 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@288694.4]
+  assign _T_594 = io_in_d_valid & _T_593; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@288695.4]
+  assign _T_595 = io_in_d_bits_opcode == _T_582; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@288697.6]
+  assign _T_597 = _T_595 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288699.6]
+  assign _T_598 = _T_597 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288700.6]
+  assign _T_603 = io_in_d_bits_size == _T_586; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@288713.6]
+  assign _T_605 = _T_603 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288715.6]
+  assign _T_606 = _T_605 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288716.6]
+  assign _T_607 = io_in_d_bits_source == _T_588; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@288721.6]
+  assign _T_609 = _T_607 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288723.6]
+  assign _T_610 = _T_609 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288724.6]
+  assign _T_620 = _T_560 & _T_573; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@288747.4]
+  assign _T_634 = _T_633 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288767.4]
+  assign _T_635 = $unsigned(_T_634); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288768.4]
+  assign _T_636 = _T_635[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288769.4]
+  assign _T_637 = _T_633 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@288770.4]
+  assign _T_655 = _T_654 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288790.4]
+  assign _T_656 = $unsigned(_T_655); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288791.4]
+  assign _T_657 = _T_656[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288792.4]
+  assign _T_658 = _T_654 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@288793.4]
+  assign _T_669 = _T_504 & _T_637; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@288808.4]
+  assign _T_671 = 64'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@288811.6]
+  assign _T_672 = _T_622 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@288813.6]
+  assign _T_673 = _T_672[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@288814.6]
+  assign _T_674 = _T_673 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288815.6]
+  assign _T_676 = _T_674 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@288817.6]
+  assign _T_677 = _T_676 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@288818.6]
+  assign _GEN_15 = _T_669 ? _T_671 : 64'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@288810.4]
+  assign _T_682 = _T_560 & _T_658; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@288829.4]
+  assign _T_684 = _T_363 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@288831.4]
+  assign _T_685 = _T_682 & _T_684; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@288832.4]
+  assign _T_686 = 64'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@288834.6]
+  assign _T_687 = _GEN_15 | _T_622; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@288836.6]
+  assign _T_688 = _T_687 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@288837.6]
+  assign _T_689 = _T_688[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@288838.6]
+  assign _T_691 = _T_689 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@288840.6]
+  assign _T_692 = _T_691 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@288841.6]
+  assign _GEN_16 = _T_685 ? _T_686 : 64'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@288833.4]
+  assign _T_693 = _T_622 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@288847.4]
+  assign _T_694 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@288848.4]
+  assign _T_695 = _T_693 & _T_694; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@288849.4]
+  assign _T_698 = _T_622 != 64'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@288854.4]
+  assign _T_699 = _T_698 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@288855.4]
+  assign _T_700 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@288856.4]
+  assign _T_701 = _T_699 | _T_700; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@288857.4]
+  assign _T_702 = _T_697 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@288858.4]
+  assign _T_703 = _T_701 | _T_702; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@288859.4]
+  assign _T_705 = _T_703 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@288861.4]
+  assign _T_706 = _T_705 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@288862.4]
+  assign _T_708 = _T_697 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@288868.4]
+  assign _T_711 = _T_504 | _T_560; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@288872.4]
+  assign _GEN_19 = io_in_a_valid & _T_92; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287826.10]
+  assign _GEN_33 = io_in_a_valid & _T_130; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287898.10]
+  assign _GEN_49 = io_in_a_valid & _T_172; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287981.10]
+  assign _GEN_59 = io_in_a_valid & _T_205; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288040.10]
+  assign _GEN_67 = io_in_a_valid & _T_234; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288091.10]
+  assign _GEN_75 = io_in_a_valid & _T_265; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288141.10]
+  assign _GEN_83 = io_in_a_valid & _T_291; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288189.10]
+  assign _GEN_91 = io_in_a_valid & _T_317; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288237.10]
+  assign _GEN_99 = io_in_d_valid & _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288307.10]
+  assign _GEN_101 = io_in_d_valid & _T_383; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288348.10]
+  assign _GEN_105 = io_in_d_valid & _T_411; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288406.10]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  _T_514 = _RAND_0[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  _T_527 = _RAND_1[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  _T_529 = _RAND_2[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  _T_531 = _RAND_3[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  _T_533 = _RAND_4[5:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  _T_535 = _RAND_5[28:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {1{`RANDOM}};
+  _T_569 = _RAND_6[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {1{`RANDOM}};
+  _T_582 = _RAND_7[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_8 = {1{`RANDOM}};
+  _T_586 = _RAND_8[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_9 = {1{`RANDOM}};
+  _T_588 = _RAND_9[5:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_10 = {2{`RANDOM}};
+  _T_622 = _RAND_10[63:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_11 = {1{`RANDOM}};
+  _T_633 = _RAND_11[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_12 = {1{`RANDOM}};
+  _T_654 = _RAND_12[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_13 = {1{`RANDOM}};
+  _T_697 = _RAND_13[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      _T_514 <= 1'h0;
+    end else begin
+      if (_T_504) begin
+        if (_T_518) begin
+          _T_514 <= 1'h0;
+        end else begin
+          _T_514 <= _T_517;
+        end
+      end
+    end
+    if (_T_559) begin
+      _T_527 <= io_in_a_bits_opcode;
+    end
+    if (_T_559) begin
+      _T_529 <= io_in_a_bits_param;
+    end
+    if (_T_559) begin
+      _T_531 <= io_in_a_bits_size;
+    end
+    if (_T_559) begin
+      _T_533 <= io_in_a_bits_source;
+    end
+    if (_T_559) begin
+      _T_535 <= io_in_a_bits_address;
+    end
+    if (reset) begin
+      _T_569 <= 1'h0;
+    end else begin
+      if (_T_560) begin
+        if (_T_573) begin
+          _T_569 <= 1'h0;
+        end else begin
+          _T_569 <= _T_572;
+        end
+      end
+    end
+    if (_T_620) begin
+      _T_582 <= io_in_d_bits_opcode;
+    end
+    if (_T_620) begin
+      _T_586 <= io_in_d_bits_size;
+    end
+    if (_T_620) begin
+      _T_588 <= io_in_d_bits_source;
+    end
+    if (reset) begin
+      _T_622 <= 64'h0;
+    end else begin
+      _T_622 <= _T_695;
+    end
+    if (reset) begin
+      _T_633 <= 1'h0;
+    end else begin
+      if (_T_504) begin
+        if (_T_637) begin
+          _T_633 <= 1'h0;
+        end else begin
+          _T_633 <= _T_636;
+        end
+      end
+    end
+    if (reset) begin
+      _T_654 <= 1'h0;
+    end else begin
+      if (_T_560) begin
+        if (_T_658) begin
+          _T_654 <= 1'h0;
+        end else begin
+          _T_654 <= _T_657;
+        end
+      end
+    end
+    if (reset) begin
+      _T_697 <= 32'h0;
+    end else begin
+      if (_T_711) begin
+        _T_697 <= 32'h0;
+      end else begin
+        _T_697 <= _T_708;
+      end
+    end
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@287737.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@287738.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@287809.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@287810.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287826.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_103) begin
+          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287827.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287833.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_103) begin
+          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287834.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287840.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287841.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_113) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287848.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_113) begin
+          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287849.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287855.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_116) begin
+          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287856.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_120) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287863.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_120) begin
+          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287864.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_125) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287872.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_125) begin
+          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287873.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_129) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287880.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_129) begin
+          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287881.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287898.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_103) begin
+          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287899.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287905.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_103) begin
+          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287906.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287912.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287913.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_113) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287920.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_113) begin
+          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287921.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287927.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_116) begin
+          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287928.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_120) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287935.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_120) begin
+          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287936.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_162) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287943.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_162) begin
+          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287944.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_125) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287952.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_125) begin
+          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287953.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_129) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287960.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_129) begin
+          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287961.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_186) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287981.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_186) begin
+          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287982.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287988.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287989.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287995.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_116) begin
+          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287996.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_196) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288003.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_196) begin
+          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288004.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288011.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_200) begin
+          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288012.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_129) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288019.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_129) begin
+          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288020.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_59 & _T_186) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288040.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_59 & _T_186) begin
+          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288041.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288047.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288048.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_59 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288054.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_59 & _T_116) begin
+          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288055.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_59 & _T_196) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288062.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_59 & _T_196) begin
+          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288063.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_59 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288070.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_59 & _T_200) begin
+          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288071.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_67 & _T_186) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288091.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_67 & _T_186) begin
+          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288092.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288098.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288099.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_67 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288105.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_67 & _T_116) begin
+          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288106.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_67 & _T_196) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288113.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_67 & _T_196) begin
+          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288114.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_67 & _T_264) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288123.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_67 & _T_264) begin
+          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288124.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288141.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_103) begin
+          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288142.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288148.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288149.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288155.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_116) begin
+          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288156.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_286) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288163.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_286) begin
+          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288164.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288171.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_200) begin
+          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288172.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_83 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288189.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_83 & _T_103) begin
+          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288190.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288196.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288197.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_83 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288203.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_83 & _T_116) begin
+          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288204.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_83 & _T_312) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288211.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_83 & _T_312) begin
+          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288212.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_83 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288219.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_83 & _T_200) begin
+          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288220.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_91 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288237.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_91 & _T_103) begin
+          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288238.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288244.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288245.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_91 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288251.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_91 & _T_116) begin
+          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288252.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_91 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288259.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_91 & _T_200) begin
+          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288260.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_91 & _T_129) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288267.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_91 & _T_129) begin
+          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288268.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_346) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@288278.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_346) begin
+          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@288279.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288299.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288300.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_99 & _T_370) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288307.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_99 & _T_370) begin
+          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288308.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288315.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288316.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288323.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288324.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288331.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288332.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288341.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288342.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_101 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288348.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_101 & _T_103) begin
+          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288349.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_101 & _T_370) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288356.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_101 & _T_370) begin
+          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288357.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288364.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288365.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288372.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288373.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288380.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288381.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288389.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288390.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288399.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288400.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288406.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_103) begin
+          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288407.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_370) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288414.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_370) begin
+          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288415.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288422.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288423.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288430.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288431.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288439.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288440.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288448.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288449.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288458.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288459.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288466.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288467.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288474.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288475.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288483.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288484.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288493.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288494.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288501.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288502.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288510.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288511.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288519.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288520.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288529.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288530.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288537.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288538.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288545.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288546.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288554.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288555.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288564.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288565.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288572.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288573.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288580.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288581.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_541) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288620.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_541) begin
+          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288621.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_545) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288628.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_545) begin
+          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288629.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_549) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288636.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_549) begin
+          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288637.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_553) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288644.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_553) begin
+          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288645.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_557) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288652.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_557) begin
+          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288653.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_594 & _T_598) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288702.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_594 & _T_598) begin
+          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288703.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288710.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288711.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_594 & _T_606) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288718.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_594 & _T_606) begin
+          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288719.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_594 & _T_610) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288726.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_594 & _T_610) begin
+          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288727.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288734.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288735.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288742.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288743.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_669 & _T_677) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@288820.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_669 & _T_677) begin
+          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@288821.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_685 & _T_692) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@288843.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_685 & _T_692) begin
+          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@288844.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_706) begin
+          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@288864.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_706) begin
+          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@288865.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+endmodule
+module TLI2C( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@288877.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@288878.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@288879.4]
+  output        auto_int_xing_out_sync_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@288880.4]
+  output        auto_control_xing_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@288880.4]
+  input         auto_control_xing_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@288880.4]
+  input  [2:0]  auto_control_xing_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@288880.4]
+  input  [2:0]  auto_control_xing_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@288880.4]
+  input  [1:0]  auto_control_xing_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@288880.4]
+  input  [5:0]  auto_control_xing_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@288880.4]
+  input  [28:0] auto_control_xing_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@288880.4]
+  input  [3:0]  auto_control_xing_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@288880.4]
+  input  [31:0] auto_control_xing_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@288880.4]
+  input         auto_control_xing_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@288880.4]
+  input         auto_control_xing_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@288880.4]
+  output        auto_control_xing_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@288880.4]
+  output [2:0]  auto_control_xing_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@288880.4]
+  output [1:0]  auto_control_xing_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@288880.4]
+  output [5:0]  auto_control_xing_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@288880.4]
+  output [31:0] auto_control_xing_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@288880.4]
+  input         auto_io_out_scl_in, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@288880.4]
+  output        auto_io_out_scl_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@288880.4]
+  input         auto_io_out_sda_in, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@288880.4]
+  output        auto_io_out_sda_oe // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@288880.4]
+);
+  wire  buffer_clock; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288885.4]
+  wire  buffer_reset; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288885.4]
+  wire  buffer_auto_in_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288885.4]
+  wire  buffer_auto_in_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288885.4]
+  wire [2:0] buffer_auto_in_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288885.4]
+  wire [2:0] buffer_auto_in_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288885.4]
+  wire [1:0] buffer_auto_in_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288885.4]
+  wire [5:0] buffer_auto_in_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288885.4]
+  wire [28:0] buffer_auto_in_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288885.4]
+  wire [3:0] buffer_auto_in_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288885.4]
+  wire [31:0] buffer_auto_in_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288885.4]
+  wire  buffer_auto_in_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288885.4]
+  wire  buffer_auto_in_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288885.4]
+  wire  buffer_auto_in_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288885.4]
+  wire [2:0] buffer_auto_in_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288885.4]
+  wire [1:0] buffer_auto_in_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288885.4]
+  wire [5:0] buffer_auto_in_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288885.4]
+  wire [31:0] buffer_auto_in_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288885.4]
+  wire  buffer_auto_out_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288885.4]
+  wire  buffer_auto_out_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288885.4]
+  wire [2:0] buffer_auto_out_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288885.4]
+  wire [2:0] buffer_auto_out_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288885.4]
+  wire [1:0] buffer_auto_out_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288885.4]
+  wire [5:0] buffer_auto_out_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288885.4]
+  wire [28:0] buffer_auto_out_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288885.4]
+  wire [3:0] buffer_auto_out_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288885.4]
+  wire [31:0] buffer_auto_out_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288885.4]
+  wire  buffer_auto_out_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288885.4]
+  wire  buffer_auto_out_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288885.4]
+  wire  buffer_auto_out_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288885.4]
+  wire [2:0] buffer_auto_out_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288885.4]
+  wire [1:0] buffer_auto_out_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288885.4]
+  wire [5:0] buffer_auto_out_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288885.4]
+  wire [31:0] buffer_auto_out_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288885.4]
+  wire  intsource_clock; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@288891.4]
+  wire  intsource_reset; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@288891.4]
+  wire  intsource_auto_in_0; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@288891.4]
+  wire  intsource_auto_out_sync_0; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@288891.4]
+  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@288903.4]
+  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@288903.4]
+  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@288903.4]
+  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@288903.4]
+  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@288903.4]
+  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@288903.4]
+  wire [1:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@288903.4]
+  wire [5:0] TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@288903.4]
+  wire [28:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@288903.4]
+  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@288903.4]
+  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@288903.4]
+  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@288903.4]
+  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@288903.4]
+  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@288903.4]
+  wire [1:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@288903.4]
+  wire [5:0] TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@288903.4]
+  reg [7:0] prescaler_hi; // @[I2C.scala 119:25:shc.marmotcaravel.MarmotCaravelConfig.fir@288966.4]
+  reg [31:0] _RAND_0;
+  reg [7:0] prescaler_lo; // @[I2C.scala 119:25:shc.marmotcaravel.MarmotCaravelConfig.fir@288966.4]
+  reg [31:0] _RAND_1;
+  reg  control_coreEn; // @[I2C.scala 120:25:shc.marmotcaravel.MarmotCaravelConfig.fir@288978.4]
+  reg [31:0] _RAND_2;
+  reg  control_intEn; // @[I2C.scala 120:25:shc.marmotcaravel.MarmotCaravelConfig.fir@288978.4]
+  reg [31:0] _RAND_3;
+  reg [7:0] transmitData; // @[I2C.scala 121:25:shc.marmotcaravel.MarmotCaravelConfig.fir@288979.4]
+  reg [31:0] _RAND_4;
+  reg [7:0] receivedData; // @[I2C.scala 122:25:shc.marmotcaravel.MarmotCaravelConfig.fir@288980.4]
+  reg [31:0] _RAND_5;
+  reg  cmd_start; // @[I2C.scala 123:25:shc.marmotcaravel.MarmotCaravelConfig.fir@289000.4]
+  reg [31:0] _RAND_6;
+  reg  cmd_stop; // @[I2C.scala 123:25:shc.marmotcaravel.MarmotCaravelConfig.fir@289000.4]
+  reg [31:0] _RAND_7;
+  reg  cmd_read; // @[I2C.scala 123:25:shc.marmotcaravel.MarmotCaravelConfig.fir@289000.4]
+  reg [31:0] _RAND_8;
+  reg  cmd_write; // @[I2C.scala 123:25:shc.marmotcaravel.MarmotCaravelConfig.fir@289000.4]
+  reg [31:0] _RAND_9;
+  reg  cmd_ack; // @[I2C.scala 123:25:shc.marmotcaravel.MarmotCaravelConfig.fir@289000.4]
+  reg [31:0] _RAND_10;
+  reg  cmd_irqAck; // @[I2C.scala 123:25:shc.marmotcaravel.MarmotCaravelConfig.fir@289000.4]
+  reg [31:0] _RAND_11;
+  reg  status_receivedAck; // @[I2C.scala 124:25:shc.marmotcaravel.MarmotCaravelConfig.fir@289018.4]
+  reg [31:0] _RAND_12;
+  reg  status_busy; // @[I2C.scala 124:25:shc.marmotcaravel.MarmotCaravelConfig.fir@289018.4]
+  reg [31:0] _RAND_13;
+  reg  status_arbLost; // @[I2C.scala 124:25:shc.marmotcaravel.MarmotCaravelConfig.fir@289018.4]
+  reg [31:0] _RAND_14;
+  reg  status_transferInProgress; // @[I2C.scala 124:25:shc.marmotcaravel.MarmotCaravelConfig.fir@289018.4]
+  reg [31:0] _RAND_15;
+  reg  status_irqFlag; // @[I2C.scala 124:25:shc.marmotcaravel.MarmotCaravelConfig.fir@289018.4]
+  reg [31:0] _RAND_16;
+  reg [13:0] filterCnt; // @[I2C.scala 133:22:shc.marmotcaravel.MarmotCaravelConfig.fir@289021.4]
+  reg [31:0] _RAND_17;
+  wire  _T_346; // @[I2C.scala 134:10:shc.marmotcaravel.MarmotCaravelConfig.fir@289022.4]
+  wire  _T_347; // @[I2C.scala 136:28:shc.marmotcaravel.MarmotCaravelConfig.fir@289027.6]
+  wire  _T_348; // @[I2C.scala 136:16:shc.marmotcaravel.MarmotCaravelConfig.fir@289028.6]
+  wire [15:0] _T_349; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@289030.8]
+  wire [13:0] _T_350; // @[I2C.scala 137:50:shc.marmotcaravel.MarmotCaravelConfig.fir@289031.8]
+  wire [14:0] _T_351; // @[I2C.scala 139:28:shc.marmotcaravel.MarmotCaravelConfig.fir@289035.8]
+  wire [14:0] _T_352; // @[I2C.scala 139:28:shc.marmotcaravel.MarmotCaravelConfig.fir@289036.8]
+  wire [13:0] _T_353; // @[I2C.scala 139:28:shc.marmotcaravel.MarmotCaravelConfig.fir@289037.8]
+  reg [2:0] fSCL; // @[I2C.scala 142:22:shc.marmotcaravel.MarmotCaravelConfig.fir@289040.4]
+  reg [31:0] _RAND_18;
+  reg [2:0] fSDA; // @[I2C.scala 143:22:shc.marmotcaravel.MarmotCaravelConfig.fir@289041.4]
+  reg [31:0] _RAND_19;
+  wire [3:0] _T_358; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@289045.6]
+  wire [3:0] _T_359; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@289047.6]
+  wire [3:0] _GEN_2; // @[I2C.scala 144:27:shc.marmotcaravel.MarmotCaravelConfig.fir@289044.4]
+  wire [3:0] _GEN_3; // @[I2C.scala 144:27:shc.marmotcaravel.MarmotCaravelConfig.fir@289044.4]
+  wire  _T_360; // @[Misc.scala 177:40:shc.marmotcaravel.MarmotCaravelConfig.fir@289050.4]
+  wire  _T_361; // @[Misc.scala 177:40:shc.marmotcaravel.MarmotCaravelConfig.fir@289051.4]
+  wire  _T_362; // @[Misc.scala 177:40:shc.marmotcaravel.MarmotCaravelConfig.fir@289052.4]
+  wire  _T_363; // @[Misc.scala 171:48:shc.marmotcaravel.MarmotCaravelConfig.fir@289053.4]
+  wire  _T_364; // @[Misc.scala 171:48:shc.marmotcaravel.MarmotCaravelConfig.fir@289054.4]
+  wire  _T_365; // @[Misc.scala 172:22:shc.marmotcaravel.MarmotCaravelConfig.fir@289055.4]
+  wire  _T_366; // @[Misc.scala 171:48:shc.marmotcaravel.MarmotCaravelConfig.fir@289056.4]
+  wire  _T_367; // @[Misc.scala 172:22:shc.marmotcaravel.MarmotCaravelConfig.fir@289057.4]
+  reg  sSCL; // @[I2C.scala 149:22:shc.marmotcaravel.MarmotCaravelConfig.fir@289058.4]
+  reg [31:0] _RAND_20;
+  wire  _T_369; // @[Misc.scala 177:40:shc.marmotcaravel.MarmotCaravelConfig.fir@289060.4]
+  wire  _T_370; // @[Misc.scala 177:40:shc.marmotcaravel.MarmotCaravelConfig.fir@289061.4]
+  wire  _T_371; // @[Misc.scala 177:40:shc.marmotcaravel.MarmotCaravelConfig.fir@289062.4]
+  wire  _T_372; // @[Misc.scala 171:48:shc.marmotcaravel.MarmotCaravelConfig.fir@289063.4]
+  wire  _T_373; // @[Misc.scala 171:48:shc.marmotcaravel.MarmotCaravelConfig.fir@289064.4]
+  wire  _T_374; // @[Misc.scala 172:22:shc.marmotcaravel.MarmotCaravelConfig.fir@289065.4]
+  wire  _T_375; // @[Misc.scala 171:48:shc.marmotcaravel.MarmotCaravelConfig.fir@289066.4]
+  wire  _T_376; // @[Misc.scala 172:22:shc.marmotcaravel.MarmotCaravelConfig.fir@289067.4]
+  reg  sSDA; // @[I2C.scala 150:22:shc.marmotcaravel.MarmotCaravelConfig.fir@289068.4]
+  reg [31:0] _RAND_21;
+  reg  dSCL; // @[I2C.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@289070.4]
+  reg [31:0] _RAND_22;
+  reg  dSDA; // @[I2C.scala 153:22:shc.marmotcaravel.MarmotCaravelConfig.fir@289072.4]
+  reg [31:0] _RAND_23;
+  reg  dSCLOen; // @[I2C.scala 155:22:shc.marmotcaravel.MarmotCaravelConfig.fir@289074.4]
+  reg [31:0] _RAND_24;
+  wire  _T_381; // @[I2C.scala 159:46:shc.marmotcaravel.MarmotCaravelConfig.fir@289076.4]
+  wire  _T_382; // @[I2C.scala 159:52:shc.marmotcaravel.MarmotCaravelConfig.fir@289077.4]
+  wire  _T_383; // @[I2C.scala 159:61:shc.marmotcaravel.MarmotCaravelConfig.fir@289078.4]
+  reg  startCond; // @[I2C.scala 159:22:shc.marmotcaravel.MarmotCaravelConfig.fir@289079.4]
+  reg [31:0] _RAND_25;
+  wire  _T_385; // @[I2C.scala 160:55:shc.marmotcaravel.MarmotCaravelConfig.fir@289081.4]
+  wire  _T_386; // @[I2C.scala 160:52:shc.marmotcaravel.MarmotCaravelConfig.fir@289082.4]
+  wire  _T_387; // @[I2C.scala 160:61:shc.marmotcaravel.MarmotCaravelConfig.fir@289083.4]
+  reg  stopCond; // @[I2C.scala 160:22:shc.marmotcaravel.MarmotCaravelConfig.fir@289084.4]
+  reg [31:0] _RAND_26;
+  wire  _T_389; // @[I2C.scala 164:27:shc.marmotcaravel.MarmotCaravelConfig.fir@289086.4]
+  wire  _T_390; // @[I2C.scala 164:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289087.4]
+  reg  sclOen; // @[I2C.scala 187:23:shc.marmotcaravel.MarmotCaravelConfig.fir@289121.4]
+  reg [31:0] _RAND_27;
+  wire  _T_411; // @[I2C.scala 188:18:shc.marmotcaravel.MarmotCaravelConfig.fir@289122.4]
+  wire  sclSync; // @[I2C.scala 164:33:shc.marmotcaravel.MarmotCaravelConfig.fir@289088.4]
+  reg  slaveWait; // @[I2C.scala 168:22:shc.marmotcaravel.MarmotCaravelConfig.fir@289089.4]
+  reg [31:0] _RAND_28;
+  wire  _T_392; // @[I2C.scala 169:32:shc.marmotcaravel.MarmotCaravelConfig.fir@289090.4]
+  wire  _T_393; // @[I2C.scala 169:29:shc.marmotcaravel.MarmotCaravelConfig.fir@289091.4]
+  wire  _T_395; // @[I2C.scala 169:41:shc.marmotcaravel.MarmotCaravelConfig.fir@289093.4]
+  wire  _T_397; // @[I2C.scala 169:65:shc.marmotcaravel.MarmotCaravelConfig.fir@289095.4]
+  wire  _T_398; // @[I2C.scala 169:51:shc.marmotcaravel.MarmotCaravelConfig.fir@289096.4]
+  reg  clkEn; // @[I2C.scala 171:22:shc.marmotcaravel.MarmotCaravelConfig.fir@289098.4]
+  reg [31:0] _RAND_29;
+  reg [15:0] cnt; // @[I2C.scala 172:22:shc.marmotcaravel.MarmotCaravelConfig.fir@289099.4]
+  reg [31:0] _RAND_30;
+  wire  _T_401; // @[I2C.scala 175:15:shc.marmotcaravel.MarmotCaravelConfig.fir@289100.4]
+  wire  _T_402; // @[I2C.scala 175:9:shc.marmotcaravel.MarmotCaravelConfig.fir@289101.4]
+  wire  _T_404; // @[I2C.scala 175:20:shc.marmotcaravel.MarmotCaravelConfig.fir@289103.4]
+  wire  _T_405; // @[I2C.scala 175:39:shc.marmotcaravel.MarmotCaravelConfig.fir@289104.4]
+  wire [16:0] _T_407; // @[I2C.scala 183:18:shc.marmotcaravel.MarmotCaravelConfig.fir@289115.8]
+  wire [16:0] _T_408; // @[I2C.scala 183:18:shc.marmotcaravel.MarmotCaravelConfig.fir@289116.8]
+  wire [15:0] _T_409; // @[I2C.scala 183:18:shc.marmotcaravel.MarmotCaravelConfig.fir@289117.8]
+  reg  sdaOen; // @[I2C.scala 190:23:shc.marmotcaravel.MarmotCaravelConfig.fir@289124.4]
+  reg [31:0] _RAND_31;
+  reg  sdaChk; // @[I2C.scala 193:23:shc.marmotcaravel.MarmotCaravelConfig.fir@289127.4]
+  reg [31:0] _RAND_32;
+  reg  transmitBit; // @[I2C.scala 195:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289128.4]
+  reg [31:0] _RAND_33;
+  reg  receivedBit; // @[I2C.scala 196:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289129.4]
+  reg [31:0] _RAND_34;
+  wire  _T_417; // @[I2C.scala 197:17:shc.marmotcaravel.MarmotCaravelConfig.fir@289130.4]
+  wire  _T_418; // @[I2C.scala 197:14:shc.marmotcaravel.MarmotCaravelConfig.fir@289131.4]
+  reg [3:0] bitCmd; // @[I2C.scala 201:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289135.4]
+  reg [31:0] _RAND_35;
+  reg  bitCmdStop; // @[I2C.scala 202:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289136.4]
+  reg [31:0] _RAND_36;
+  wire  _T_421; // @[I2C.scala 204:26:shc.marmotcaravel.MarmotCaravelConfig.fir@289138.6]
+  reg  bitCmdAck; // @[I2C.scala 206:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289141.4]
+  reg [31:0] _RAND_37;
+  reg [4:0] bitState; // @[I2C.scala 213:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289142.4]
+  reg [31:0] _RAND_38;
+  wire  _T_426; // @[I2C.scala 215:56:shc.marmotcaravel.MarmotCaravelConfig.fir@289144.4]
+  wire  _T_427; // @[I2C.scala 215:65:shc.marmotcaravel.MarmotCaravelConfig.fir@289145.4]
+  wire  _T_428; // @[I2C.scala 215:89:shc.marmotcaravel.MarmotCaravelConfig.fir@289146.4]
+  wire  _T_429; // @[I2C.scala 215:105:shc.marmotcaravel.MarmotCaravelConfig.fir@289147.4]
+  wire  _T_430; // @[I2C.scala 215:120:shc.marmotcaravel.MarmotCaravelConfig.fir@289148.4]
+  wire  _T_431; // @[I2C.scala 215:117:shc.marmotcaravel.MarmotCaravelConfig.fir@289149.4]
+  wire  _T_432; // @[I2C.scala 215:76:shc.marmotcaravel.MarmotCaravelConfig.fir@289150.4]
+  reg  arbLost; // @[I2C.scala 215:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289151.4]
+  reg [31:0] _RAND_39;
+  wire  _T_434; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@289163.8]
+  wire  _T_435; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@289165.10]
+  wire  _T_436; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@289170.12]
+  wire  _T_437; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@289175.14]
+  wire  _T_438; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@289180.16]
+  wire  _T_439; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@289187.10]
+  wire  _T_440; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@289195.12]
+  wire  _T_441; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@289203.14]
+  wire  _T_442; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@289211.16]
+  wire  _T_443; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@289219.18]
+  wire  _T_444; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@289228.20]
+  wire  _T_445; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@289236.22]
+  wire  _T_446; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@289244.24]
+  wire  _T_447; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@289252.26]
+  wire  _T_448; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@289261.28]
+  wire  _T_449; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@289269.30]
+  wire  _T_450; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@289277.32]
+  wire  _T_451; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@289285.34]
+  wire  _T_452; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@289294.36]
+  wire  _T_453; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@289302.38]
+  wire  _T_454; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@289310.40]
+  wire  _T_455; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@289318.42]
+  reg  load; // @[I2C.scala 355:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289328.4]
+  reg [31:0] _RAND_40;
+  reg  shift; // @[I2C.scala 356:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289329.4]
+  reg [31:0] _RAND_41;
+  reg  cmdAck; // @[I2C.scala 357:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289330.4]
+  reg [31:0] _RAND_42;
+  reg  receivedAck; // @[I2C.scala 358:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289331.4]
+  reg [31:0] _RAND_43;
+  wire  _T_460; // @[I2C.scala 359:31:shc.marmotcaravel.MarmotCaravelConfig.fir@289332.4]
+  wire  _T_461; // @[I2C.scala 359:43:shc.marmotcaravel.MarmotCaravelConfig.fir@289333.4]
+  wire  _T_462; // @[I2C.scala 359:57:shc.marmotcaravel.MarmotCaravelConfig.fir@289334.4]
+  wire  go; // @[I2C.scala 359:55:shc.marmotcaravel.MarmotCaravelConfig.fir@289335.4]
+  reg [2:0] bitCnt; // @[I2C.scala 361:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289336.4]
+  reg [31:0] _RAND_44;
+  wire [3:0] _T_464; // @[I2C.scala 366:22:shc.marmotcaravel.MarmotCaravelConfig.fir@289342.8]
+  wire [3:0] _T_465; // @[I2C.scala 366:22:shc.marmotcaravel.MarmotCaravelConfig.fir@289343.8]
+  wire [2:0] _T_466; // @[I2C.scala 366:22:shc.marmotcaravel.MarmotCaravelConfig.fir@289344.8]
+  wire  _T_467; // @[I2C.scala 368:30:shc.marmotcaravel.MarmotCaravelConfig.fir@289347.4]
+  wire  bitCntDone; // @[I2C.scala 368:21:shc.marmotcaravel.MarmotCaravelConfig.fir@289348.4]
+  wire [8:0] _T_468; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@289354.8]
+  wire [8:0] _GEN_116; // @[I2C.scala 374:21:shc.marmotcaravel.MarmotCaravelConfig.fir@289353.6]
+  wire [8:0] _GEN_117; // @[I2C.scala 371:15:shc.marmotcaravel.MarmotCaravelConfig.fir@289349.4]
+  reg [2:0] byteState; // @[I2C.scala 379:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289357.4]
+  reg [31:0] _RAND_45;
+  wire  _T_471; // @[I2C.scala 391:32:shc.marmotcaravel.MarmotCaravelConfig.fir@289368.6]
+  wire  _T_472; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@289373.6]
+  wire [2:0] _GEN_119; // @[I2C.scala 407:33:shc.marmotcaravel.MarmotCaravelConfig.fir@289386.14]
+  wire  _T_473; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@289398.8]
+  wire  _T_474; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@289413.10]
+  wire  _T_475; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@289428.12]
+  wire  _T_476; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@289444.14]
+  wire [1:0] _GEN_144; // @[I2C.scala 463:27:shc.marmotcaravel.MarmotCaravelConfig.fir@289447.18]
+  wire  _T_477; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@289464.16]
+  wire  _T_54_a_valid; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@288901.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@288951.4]
+  wire [2:0] _T_54_a_bits_opcode; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@288901.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@288951.4]
+  wire  _T_514; // @[RegisterRouter.scala 58:36:shc.marmotcaravel.MarmotCaravelConfig.fir@289544.4]
+  wire [28:0] _T_54_a_bits_address; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@288901.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@288951.4]
+  wire [26:0] _T_515; // @[Edges.scala 192:34:shc.marmotcaravel.MarmotCaravelConfig.fir@289546.4]
+  wire [9:0] _T_511_bits_index; // @[RegisterRouter.scala 57:18:shc.marmotcaravel.MarmotCaravelConfig.fir@289542.4 RegisterRouter.scala 59:19:shc.marmotcaravel.MarmotCaravelConfig.fir@289547.4]
+  wire  _T_813; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289817.4]
+  wire  _T_812; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289816.4]
+  wire [1:0] _T_821; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@289825.4]
+  wire  _T_811; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289815.4]
+  wire [2:0] _T_822; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@289826.4]
+  wire [9:0] _T_532; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289558.4]
+  wire  _T_542; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289568.4]
+  wire  _T_883; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289899.4]
+  wire  _T_54_d_ready; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@288901.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@288951.4]
+  wire  _T_1056; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@290090.4]
+  wire  _T_1057; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@290091.4]
+  wire  _T_1058; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@290092.4]
+  wire [7:0] _T_844; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@289848.4]
+  wire  _T_849; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289853.4]
+  wire  _T_1085; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@290129.4]
+  wire  _T_1086; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@290130.4]
+  wire [3:0] _T_54_a_bits_mask; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@288901.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@288951.4]
+  wire  _T_614; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@289596.4]
+  wire [7:0] _T_622; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@289604.4]
+  wire  _T_613; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@289595.4]
+  wire [7:0] _T_620; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@289602.4]
+  wire [15:0] _T_624; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@289606.4]
+  wire  _T_612; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@289594.4]
+  wire [7:0] _T_618; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@289600.4]
+  wire  _T_611; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@289593.4]
+  wire [7:0] _T_616; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@289598.4]
+  wire [15:0] _T_623; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@289605.4]
+  wire [31:0] _T_625; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@289607.4]
+  wire [7:0] _T_787; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289787.4]
+  wire [7:0] _T_788; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289788.4]
+  wire  _T_789; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289789.4]
+  wire  _T_793; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289793.4]
+  wire [31:0] _T_54_a_bits_data; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@288901.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@288951.4]
+  wire [7:0] _T_799; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289799.4]
+  wire [1:0] _T_494; // @[I2C.scala 502:18:shc.marmotcaravel.MarmotCaravelConfig.fir@289498.4]
+  wire [1:0] _T_493; // @[I2C.scala 502:18:shc.marmotcaravel.MarmotCaravelConfig.fir@289497.4]
+  wire [3:0] _T_495; // @[I2C.scala 502:18:shc.marmotcaravel.MarmotCaravelConfig.fir@289499.4]
+  wire [2:0] _T_491; // @[I2C.scala 502:18:shc.marmotcaravel.MarmotCaravelConfig.fir@289495.4]
+  wire [3:0] _T_492; // @[I2C.scala 502:18:shc.marmotcaravel.MarmotCaravelConfig.fir@289496.4]
+  wire [7:0] _T_496; // @[I2C.scala 502:18:shc.marmotcaravel.MarmotCaravelConfig.fir@289500.4]
+  wire [7:0] _T_497; // @[I2C.scala 502:25:shc.marmotcaravel.MarmotCaravelConfig.fir@289501.4]
+  wire [7:0] nextCmd; // @[I2C.scala 558:77:shc.marmotcaravel.MarmotCaravelConfig.fir@289800.4]
+  wire  _T_484; // @[I2C.scala 501:38:shc.marmotcaravel.MarmotCaravelConfig.fir@289480.4]
+  wire  _T_486; // @[I2C.scala 501:38:shc.marmotcaravel.MarmotCaravelConfig.fir@289484.4]
+  wire  _T_487; // @[I2C.scala 501:38:shc.marmotcaravel.MarmotCaravelConfig.fir@289486.4]
+  wire  _T_488; // @[I2C.scala 501:38:shc.marmotcaravel.MarmotCaravelConfig.fir@289488.4]
+  wire  _T_489; // @[I2C.scala 501:38:shc.marmotcaravel.MarmotCaravelConfig.fir@289490.4]
+  wire  _T_490; // @[I2C.scala 501:38:shc.marmotcaravel.MarmotCaravelConfig.fir@289492.4]
+  wire  _T_498; // @[I2C.scala 505:16:shc.marmotcaravel.MarmotCaravelConfig.fir@289503.4]
+  wire  _T_501; // @[I2C.scala 527:51:shc.marmotcaravel.MarmotCaravelConfig.fir@289528.4]
+  wire  _T_502; // @[I2C.scala 527:73:shc.marmotcaravel.MarmotCaravelConfig.fir@289529.4]
+  wire  _T_503; // @[I2C.scala 527:70:shc.marmotcaravel.MarmotCaravelConfig.fir@289530.4]
+  reg  statusReadReady; // @[I2C.scala 530:28:shc.marmotcaravel.MarmotCaravelConfig.fir@289532.4]
+  reg [31:0] _RAND_46;
+  wire  _T_506; // @[I2C.scala 534:14:shc.marmotcaravel.MarmotCaravelConfig.fir@289538.6]
+  wire [5:0] _T_54_a_bits_source; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@288901.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@288951.4]
+  wire [1:0] _T_54_a_bits_size; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@288901.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@288951.4]
+  wire [7:0] _T_516; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@289550.4]
+  wire  _T_627; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289609.4]
+  wire  _T_806; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289810.4]
+  wire  _T_807; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289811.4]
+  wire  _T_1020; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@290056.4]
+  wire  _GEN_232; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@290089.4]
+  wire  _GEN_233; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@290089.4]
+  wire  _GEN_234; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@290089.4]
+  wire  _GEN_235; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@290089.4]
+  wire  _T_1125; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@290169.4]
+  wire  _T_836; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289840.4]
+  wire  _T_1061; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@290095.4]
+  wire  _T_1062; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@290096.4]
+  wire  _T_639; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289621.4]
+  wire  _T_837; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289841.4]
+  wire  _T_1067; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@290103.4]
+  wire  _T_1068; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@290104.4]
+  wire  _T_664; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289649.4]
+  wire  _T_838; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289842.4]
+  wire  _T_1073; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@290111.4]
+  wire  _T_1074; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@290112.4]
+  wire  _T_701; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289692.4]
+  wire  _T_704; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289695.4]
+  wire  _T_705; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289696.4]
+  wire  _T_714; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289705.4]
+  wire  _T_715; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289706.4]
+  wire [6:0] _T_725; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@289719.4]
+  wire  _T_728; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289722.4]
+  wire  _T_731; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289725.4]
+  wire  _T_732; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289726.4]
+  wire  _T_741; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289735.4]
+  wire  _T_742; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289736.4]
+  wire [7:0] _T_752; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@289749.4]
+  wire  _T_839; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289843.4]
+  wire  _T_1079; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@290121.4]
+  wire  _T_1080; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@290122.4]
+  wire  _T_768; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289765.4]
+  wire [3:0] _T_794; // @[I2C.scala 555:89:shc.marmotcaravel.MarmotCaravelConfig.fir@289794.4]
+  wire [4:0] _T_795; // @[I2C.scala 555:89:shc.marmotcaravel.MarmotCaravelConfig.fir@289795.4]
+  wire [1:0] _T_796; // @[I2C.scala 555:89:shc.marmotcaravel.MarmotCaravelConfig.fir@289796.4]
+  wire [2:0] _T_797; // @[I2C.scala 555:89:shc.marmotcaravel.MarmotCaravelConfig.fir@289797.4]
+  wire [7:0] _T_798; // @[I2C.scala 555:89:shc.marmotcaravel.MarmotCaravelConfig.fir@289798.4]
+  wire  _GEN_245; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@290190.4]
+  wire  _GEN_246; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@290190.4]
+  wire  _GEN_247; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@290190.4]
+  wire  _GEN_248; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@290190.4]
+  wire  _GEN_249; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@290190.4]
+  wire  _GEN_250; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@290190.4]
+  wire  _GEN_251; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@290190.4]
+  wire [7:0] _GEN_253; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@290202.4]
+  wire [7:0] _GEN_254; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@290202.4]
+  wire [7:0] _GEN_255; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@290202.4]
+  wire [7:0] _GEN_256; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@290202.4]
+  wire [7:0] _GEN_257; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@290202.4]
+  wire [7:0] _GEN_258; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@290202.4]
+  wire [7:0] _GEN_259; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@290202.4]
+  wire [7:0] _T_1164; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@290203.4]
+  TLBuffer_27 buffer ( // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288885.4]
+    .clock(buffer_clock),
+    .reset(buffer_reset),
+    .auto_in_a_ready(buffer_auto_in_a_ready),
+    .auto_in_a_valid(buffer_auto_in_a_valid),
+    .auto_in_a_bits_opcode(buffer_auto_in_a_bits_opcode),
+    .auto_in_a_bits_param(buffer_auto_in_a_bits_param),
+    .auto_in_a_bits_size(buffer_auto_in_a_bits_size),
+    .auto_in_a_bits_source(buffer_auto_in_a_bits_source),
+    .auto_in_a_bits_address(buffer_auto_in_a_bits_address),
+    .auto_in_a_bits_mask(buffer_auto_in_a_bits_mask),
+    .auto_in_a_bits_data(buffer_auto_in_a_bits_data),
+    .auto_in_a_bits_corrupt(buffer_auto_in_a_bits_corrupt),
+    .auto_in_d_ready(buffer_auto_in_d_ready),
+    .auto_in_d_valid(buffer_auto_in_d_valid),
+    .auto_in_d_bits_opcode(buffer_auto_in_d_bits_opcode),
+    .auto_in_d_bits_size(buffer_auto_in_d_bits_size),
+    .auto_in_d_bits_source(buffer_auto_in_d_bits_source),
+    .auto_in_d_bits_data(buffer_auto_in_d_bits_data),
+    .auto_out_a_ready(buffer_auto_out_a_ready),
+    .auto_out_a_valid(buffer_auto_out_a_valid),
+    .auto_out_a_bits_opcode(buffer_auto_out_a_bits_opcode),
+    .auto_out_a_bits_param(buffer_auto_out_a_bits_param),
+    .auto_out_a_bits_size(buffer_auto_out_a_bits_size),
+    .auto_out_a_bits_source(buffer_auto_out_a_bits_source),
+    .auto_out_a_bits_address(buffer_auto_out_a_bits_address),
+    .auto_out_a_bits_mask(buffer_auto_out_a_bits_mask),
+    .auto_out_a_bits_data(buffer_auto_out_a_bits_data),
+    .auto_out_a_bits_corrupt(buffer_auto_out_a_bits_corrupt),
+    .auto_out_d_ready(buffer_auto_out_d_ready),
+    .auto_out_d_valid(buffer_auto_out_d_valid),
+    .auto_out_d_bits_opcode(buffer_auto_out_d_bits_opcode),
+    .auto_out_d_bits_size(buffer_auto_out_d_bits_size),
+    .auto_out_d_bits_source(buffer_auto_out_d_bits_source),
+    .auto_out_d_bits_data(buffer_auto_out_d_bits_data)
+  );
+  IntSyncCrossingSource_3 intsource ( // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@288891.4]
+    .clock(intsource_clock),
+    .reset(intsource_reset),
+    .auto_in_0(intsource_auto_in_0),
+    .auto_out_sync_0(intsource_auto_out_sync_0)
+  );
+  TLMonitor_79 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@288903.4]
+    .clock(TLMonitor_clock),
+    .reset(TLMonitor_reset),
+    .io_in_a_ready(TLMonitor_io_in_a_ready),
+    .io_in_a_valid(TLMonitor_io_in_a_valid),
+    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
+    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
+    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
+    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
+    .io_in_d_ready(TLMonitor_io_in_d_ready),
+    .io_in_d_valid(TLMonitor_io_in_d_valid),
+    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
+    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
+    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source)
+  );
+  assign _T_346 = control_coreEn == 1'h0; // @[I2C.scala 134:10:shc.marmotcaravel.MarmotCaravelConfig.fir@289022.4]
+  assign _T_347 = filterCnt != 14'h0; // @[I2C.scala 136:28:shc.marmotcaravel.MarmotCaravelConfig.fir@289027.6]
+  assign _T_348 = _T_347 == 1'h0; // @[I2C.scala 136:16:shc.marmotcaravel.MarmotCaravelConfig.fir@289028.6]
+  assign _T_349 = {prescaler_hi,prescaler_lo}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@289030.8]
+  assign _T_350 = _T_349[15:2]; // @[I2C.scala 137:50:shc.marmotcaravel.MarmotCaravelConfig.fir@289031.8]
+  assign _T_351 = filterCnt - 14'h1; // @[I2C.scala 139:28:shc.marmotcaravel.MarmotCaravelConfig.fir@289035.8]
+  assign _T_352 = $unsigned(_T_351); // @[I2C.scala 139:28:shc.marmotcaravel.MarmotCaravelConfig.fir@289036.8]
+  assign _T_353 = _T_352[13:0]; // @[I2C.scala 139:28:shc.marmotcaravel.MarmotCaravelConfig.fir@289037.8]
+  assign _T_358 = {fSCL,auto_io_out_scl_in}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@289045.6]
+  assign _T_359 = {fSDA,auto_io_out_sda_in}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@289047.6]
+  assign _GEN_2 = _T_348 ? _T_358 : {{1'd0}, fSCL}; // @[I2C.scala 144:27:shc.marmotcaravel.MarmotCaravelConfig.fir@289044.4]
+  assign _GEN_3 = _T_348 ? _T_359 : {{1'd0}, fSDA}; // @[I2C.scala 144:27:shc.marmotcaravel.MarmotCaravelConfig.fir@289044.4]
+  assign _T_360 = fSCL[0]; // @[Misc.scala 177:40:shc.marmotcaravel.MarmotCaravelConfig.fir@289050.4]
+  assign _T_361 = fSCL[1]; // @[Misc.scala 177:40:shc.marmotcaravel.MarmotCaravelConfig.fir@289051.4]
+  assign _T_362 = fSCL[2]; // @[Misc.scala 177:40:shc.marmotcaravel.MarmotCaravelConfig.fir@289052.4]
+  assign _T_363 = _T_360 & _T_361; // @[Misc.scala 171:48:shc.marmotcaravel.MarmotCaravelConfig.fir@289053.4]
+  assign _T_364 = _T_360 & _T_362; // @[Misc.scala 171:48:shc.marmotcaravel.MarmotCaravelConfig.fir@289054.4]
+  assign _T_365 = _T_363 | _T_364; // @[Misc.scala 172:22:shc.marmotcaravel.MarmotCaravelConfig.fir@289055.4]
+  assign _T_366 = _T_361 & _T_362; // @[Misc.scala 171:48:shc.marmotcaravel.MarmotCaravelConfig.fir@289056.4]
+  assign _T_367 = _T_365 | _T_366; // @[Misc.scala 172:22:shc.marmotcaravel.MarmotCaravelConfig.fir@289057.4]
+  assign _T_369 = fSDA[0]; // @[Misc.scala 177:40:shc.marmotcaravel.MarmotCaravelConfig.fir@289060.4]
+  assign _T_370 = fSDA[1]; // @[Misc.scala 177:40:shc.marmotcaravel.MarmotCaravelConfig.fir@289061.4]
+  assign _T_371 = fSDA[2]; // @[Misc.scala 177:40:shc.marmotcaravel.MarmotCaravelConfig.fir@289062.4]
+  assign _T_372 = _T_369 & _T_370; // @[Misc.scala 171:48:shc.marmotcaravel.MarmotCaravelConfig.fir@289063.4]
+  assign _T_373 = _T_369 & _T_371; // @[Misc.scala 171:48:shc.marmotcaravel.MarmotCaravelConfig.fir@289064.4]
+  assign _T_374 = _T_372 | _T_373; // @[Misc.scala 172:22:shc.marmotcaravel.MarmotCaravelConfig.fir@289065.4]
+  assign _T_375 = _T_370 & _T_371; // @[Misc.scala 171:48:shc.marmotcaravel.MarmotCaravelConfig.fir@289066.4]
+  assign _T_376 = _T_374 | _T_375; // @[Misc.scala 172:22:shc.marmotcaravel.MarmotCaravelConfig.fir@289067.4]
+  assign _T_381 = sSDA == 1'h0; // @[I2C.scala 159:46:shc.marmotcaravel.MarmotCaravelConfig.fir@289076.4]
+  assign _T_382 = _T_381 & dSDA; // @[I2C.scala 159:52:shc.marmotcaravel.MarmotCaravelConfig.fir@289077.4]
+  assign _T_383 = _T_382 & sSCL; // @[I2C.scala 159:61:shc.marmotcaravel.MarmotCaravelConfig.fir@289078.4]
+  assign _T_385 = dSDA == 1'h0; // @[I2C.scala 160:55:shc.marmotcaravel.MarmotCaravelConfig.fir@289081.4]
+  assign _T_386 = sSDA & _T_385; // @[I2C.scala 160:52:shc.marmotcaravel.MarmotCaravelConfig.fir@289082.4]
+  assign _T_387 = _T_386 & sSCL; // @[I2C.scala 160:61:shc.marmotcaravel.MarmotCaravelConfig.fir@289083.4]
+  assign _T_389 = sSCL == 1'h0; // @[I2C.scala 164:27:shc.marmotcaravel.MarmotCaravelConfig.fir@289086.4]
+  assign _T_390 = dSCL & _T_389; // @[I2C.scala 164:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289087.4]
+  assign _T_411 = sclOen == 1'h0; // @[I2C.scala 188:18:shc.marmotcaravel.MarmotCaravelConfig.fir@289122.4]
+  assign sclSync = _T_390 & _T_411; // @[I2C.scala 164:33:shc.marmotcaravel.MarmotCaravelConfig.fir@289088.4]
+  assign _T_392 = dSCLOen == 1'h0; // @[I2C.scala 169:32:shc.marmotcaravel.MarmotCaravelConfig.fir@289090.4]
+  assign _T_393 = _T_411 & _T_392; // @[I2C.scala 169:29:shc.marmotcaravel.MarmotCaravelConfig.fir@289091.4]
+  assign _T_395 = _T_393 & _T_389; // @[I2C.scala 169:41:shc.marmotcaravel.MarmotCaravelConfig.fir@289093.4]
+  assign _T_397 = slaveWait & _T_389; // @[I2C.scala 169:65:shc.marmotcaravel.MarmotCaravelConfig.fir@289095.4]
+  assign _T_398 = _T_395 | _T_397; // @[I2C.scala 169:51:shc.marmotcaravel.MarmotCaravelConfig.fir@289096.4]
+  assign _T_401 = cnt != 16'h0; // @[I2C.scala 175:15:shc.marmotcaravel.MarmotCaravelConfig.fir@289100.4]
+  assign _T_402 = _T_401 == 1'h0; // @[I2C.scala 175:9:shc.marmotcaravel.MarmotCaravelConfig.fir@289101.4]
+  assign _T_404 = _T_402 | _T_346; // @[I2C.scala 175:20:shc.marmotcaravel.MarmotCaravelConfig.fir@289103.4]
+  assign _T_405 = _T_404 | sclSync; // @[I2C.scala 175:39:shc.marmotcaravel.MarmotCaravelConfig.fir@289104.4]
+  assign _T_407 = cnt - 16'h1; // @[I2C.scala 183:18:shc.marmotcaravel.MarmotCaravelConfig.fir@289115.8]
+  assign _T_408 = $unsigned(_T_407); // @[I2C.scala 183:18:shc.marmotcaravel.MarmotCaravelConfig.fir@289116.8]
+  assign _T_409 = _T_408[15:0]; // @[I2C.scala 183:18:shc.marmotcaravel.MarmotCaravelConfig.fir@289117.8]
+  assign _T_417 = dSCL == 1'h0; // @[I2C.scala 197:17:shc.marmotcaravel.MarmotCaravelConfig.fir@289130.4]
+  assign _T_418 = sSCL & _T_417; // @[I2C.scala 197:14:shc.marmotcaravel.MarmotCaravelConfig.fir@289131.4]
+  assign _T_421 = bitCmd == 4'h2; // @[I2C.scala 204:26:shc.marmotcaravel.MarmotCaravelConfig.fir@289138.6]
+  assign _T_426 = sdaChk & _T_381; // @[I2C.scala 215:56:shc.marmotcaravel.MarmotCaravelConfig.fir@289144.4]
+  assign _T_427 = _T_426 & sdaOen; // @[I2C.scala 215:65:shc.marmotcaravel.MarmotCaravelConfig.fir@289145.4]
+  assign _T_428 = bitState != 5'h0; // @[I2C.scala 215:89:shc.marmotcaravel.MarmotCaravelConfig.fir@289146.4]
+  assign _T_429 = _T_428 & stopCond; // @[I2C.scala 215:105:shc.marmotcaravel.MarmotCaravelConfig.fir@289147.4]
+  assign _T_430 = bitCmdStop == 1'h0; // @[I2C.scala 215:120:shc.marmotcaravel.MarmotCaravelConfig.fir@289148.4]
+  assign _T_431 = _T_429 & _T_430; // @[I2C.scala 215:117:shc.marmotcaravel.MarmotCaravelConfig.fir@289149.4]
+  assign _T_432 = _T_427 | _T_431; // @[I2C.scala 215:76:shc.marmotcaravel.MarmotCaravelConfig.fir@289150.4]
+  assign _T_434 = 5'h0 == bitState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@289163.8]
+  assign _T_435 = 4'h1 == bitCmd; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@289165.10]
+  assign _T_436 = 4'h2 == bitCmd; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@289170.12]
+  assign _T_437 = 4'h4 == bitCmd; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@289175.14]
+  assign _T_438 = 4'h8 == bitCmd; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@289180.16]
+  assign _T_439 = 5'h1 == bitState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@289187.10]
+  assign _T_440 = 5'h2 == bitState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@289195.12]
+  assign _T_441 = 5'h3 == bitState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@289203.14]
+  assign _T_442 = 5'h4 == bitState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@289211.16]
+  assign _T_443 = 5'h5 == bitState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@289219.18]
+  assign _T_444 = 5'h6 == bitState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@289228.20]
+  assign _T_445 = 5'h7 == bitState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@289236.22]
+  assign _T_446 = 5'h8 == bitState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@289244.24]
+  assign _T_447 = 5'h9 == bitState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@289252.26]
+  assign _T_448 = 5'ha == bitState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@289261.28]
+  assign _T_449 = 5'hb == bitState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@289269.30]
+  assign _T_450 = 5'hc == bitState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@289277.32]
+  assign _T_451 = 5'hd == bitState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@289285.34]
+  assign _T_452 = 5'he == bitState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@289294.36]
+  assign _T_453 = 5'hf == bitState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@289302.38]
+  assign _T_454 = 5'h10 == bitState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@289310.40]
+  assign _T_455 = 5'h11 == bitState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@289318.42]
+  assign _T_460 = cmd_read | cmd_write; // @[I2C.scala 359:31:shc.marmotcaravel.MarmotCaravelConfig.fir@289332.4]
+  assign _T_461 = _T_460 | cmd_stop; // @[I2C.scala 359:43:shc.marmotcaravel.MarmotCaravelConfig.fir@289333.4]
+  assign _T_462 = cmdAck == 1'h0; // @[I2C.scala 359:57:shc.marmotcaravel.MarmotCaravelConfig.fir@289334.4]
+  assign go = _T_461 & _T_462; // @[I2C.scala 359:55:shc.marmotcaravel.MarmotCaravelConfig.fir@289335.4]
+  assign _T_464 = bitCnt - 3'h1; // @[I2C.scala 366:22:shc.marmotcaravel.MarmotCaravelConfig.fir@289342.8]
+  assign _T_465 = $unsigned(_T_464); // @[I2C.scala 366:22:shc.marmotcaravel.MarmotCaravelConfig.fir@289343.8]
+  assign _T_466 = _T_465[2:0]; // @[I2C.scala 366:22:shc.marmotcaravel.MarmotCaravelConfig.fir@289344.8]
+  assign _T_467 = bitCnt != 3'h0; // @[I2C.scala 368:30:shc.marmotcaravel.MarmotCaravelConfig.fir@289347.4]
+  assign bitCntDone = _T_467 == 1'h0; // @[I2C.scala 368:21:shc.marmotcaravel.MarmotCaravelConfig.fir@289348.4]
+  assign _T_468 = {receivedData,receivedBit}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@289354.8]
+  assign _GEN_116 = shift ? _T_468 : {{1'd0}, receivedData}; // @[I2C.scala 374:21:shc.marmotcaravel.MarmotCaravelConfig.fir@289353.6]
+  assign _GEN_117 = load ? {{1'd0}, transmitData} : _GEN_116; // @[I2C.scala 371:15:shc.marmotcaravel.MarmotCaravelConfig.fir@289349.4]
+  assign _T_471 = receivedData[7]; // @[I2C.scala 391:32:shc.marmotcaravel.MarmotCaravelConfig.fir@289368.6]
+  assign _T_472 = 3'h0 == byteState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@289373.6]
+  assign _GEN_119 = cmd_write ? 3'h4 : 3'h2; // @[I2C.scala 407:33:shc.marmotcaravel.MarmotCaravelConfig.fir@289386.14]
+  assign _T_473 = 3'h1 == byteState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@289398.8]
+  assign _T_474 = 3'h3 == byteState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@289413.10]
+  assign _T_475 = 3'h2 == byteState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@289428.12]
+  assign _T_476 = 3'h4 == byteState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@289444.14]
+  assign _GEN_144 = cmd_stop ? 2'h2 : 2'h0; // @[I2C.scala 463:27:shc.marmotcaravel.MarmotCaravelConfig.fir@289447.18]
+  assign _T_477 = 3'h5 == byteState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@289464.16]
+  assign _T_54_a_valid = buffer_auto_out_a_valid; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@288901.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@288951.4]
+  assign _T_54_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@288901.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@288951.4]
+  assign _T_514 = _T_54_a_bits_opcode == 3'h4; // @[RegisterRouter.scala 58:36:shc.marmotcaravel.MarmotCaravelConfig.fir@289544.4]
+  assign _T_54_a_bits_address = buffer_auto_out_a_bits_address; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@288901.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@288951.4]
+  assign _T_515 = _T_54_a_bits_address[28:2]; // @[Edges.scala 192:34:shc.marmotcaravel.MarmotCaravelConfig.fir@289546.4]
+  assign _T_511_bits_index = _T_515[9:0]; // @[RegisterRouter.scala 57:18:shc.marmotcaravel.MarmotCaravelConfig.fir@289542.4 RegisterRouter.scala 59:19:shc.marmotcaravel.MarmotCaravelConfig.fir@289547.4]
+  assign _T_813 = _T_511_bits_index[2]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289817.4]
+  assign _T_812 = _T_511_bits_index[1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289816.4]
+  assign _T_821 = {_T_813,_T_812}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@289825.4]
+  assign _T_811 = _T_511_bits_index[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289815.4]
+  assign _T_822 = {_T_821,_T_811}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@289826.4]
+  assign _T_532 = _T_511_bits_index & 10'h3f8; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289558.4]
+  assign _T_542 = _T_532 == 10'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289568.4]
+  assign _T_883 = _T_542 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289899.4]
+  assign _T_54_d_ready = buffer_auto_out_d_ready; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@288901.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@288951.4]
+  assign _T_1056 = _T_54_a_valid & _T_54_d_ready; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@290090.4]
+  assign _T_1057 = _T_514 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@290091.4]
+  assign _T_1058 = _T_1056 & _T_1057; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@290092.4]
+  assign _T_844 = 8'h1 << _T_822; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@289848.4]
+  assign _T_849 = _T_844[4]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289853.4]
+  assign _T_1085 = _T_1058 & _T_849; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@290129.4]
+  assign _T_1086 = _T_1085 & _T_542; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@290130.4]
+  assign _T_54_a_bits_mask = buffer_auto_out_a_bits_mask; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@288901.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@288951.4]
+  assign _T_614 = _T_54_a_bits_mask[3]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@289596.4]
+  assign _T_622 = _T_614 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@289604.4]
+  assign _T_613 = _T_54_a_bits_mask[2]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@289595.4]
+  assign _T_620 = _T_613 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@289602.4]
+  assign _T_624 = {_T_622,_T_620}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@289606.4]
+  assign _T_612 = _T_54_a_bits_mask[1]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@289594.4]
+  assign _T_618 = _T_612 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@289600.4]
+  assign _T_611 = _T_54_a_bits_mask[0]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@289593.4]
+  assign _T_616 = _T_611 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@289598.4]
+  assign _T_623 = {_T_618,_T_616}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@289605.4]
+  assign _T_625 = {_T_624,_T_623}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@289607.4]
+  assign _T_787 = _T_625[7:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289787.4]
+  assign _T_788 = ~ _T_787; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289788.4]
+  assign _T_789 = _T_788 == 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289789.4]
+  assign _T_793 = _T_1086 & _T_789; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289793.4]
+  assign _T_54_a_bits_data = buffer_auto_out_a_bits_data; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@288901.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@288951.4]
+  assign _T_799 = _T_54_a_bits_data[7:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289799.4]
+  assign _T_494 = {cmd_start,cmd_stop}; // @[I2C.scala 502:18:shc.marmotcaravel.MarmotCaravelConfig.fir@289498.4]
+  assign _T_493 = {cmd_read,cmd_write}; // @[I2C.scala 502:18:shc.marmotcaravel.MarmotCaravelConfig.fir@289497.4]
+  assign _T_495 = {_T_494,_T_493}; // @[I2C.scala 502:18:shc.marmotcaravel.MarmotCaravelConfig.fir@289499.4]
+  assign _T_491 = {cmd_ack,2'h0}; // @[I2C.scala 502:18:shc.marmotcaravel.MarmotCaravelConfig.fir@289495.4]
+  assign _T_492 = {_T_491,cmd_irqAck}; // @[I2C.scala 502:18:shc.marmotcaravel.MarmotCaravelConfig.fir@289496.4]
+  assign _T_496 = {_T_495,_T_492}; // @[I2C.scala 502:18:shc.marmotcaravel.MarmotCaravelConfig.fir@289500.4]
+  assign _T_497 = _T_496 & 8'hfe; // @[I2C.scala 502:25:shc.marmotcaravel.MarmotCaravelConfig.fir@289501.4]
+  assign nextCmd = _T_793 ? _T_799 : _T_497; // @[I2C.scala 558:77:shc.marmotcaravel.MarmotCaravelConfig.fir@289800.4]
+  assign _T_484 = nextCmd[0]; // @[I2C.scala 501:38:shc.marmotcaravel.MarmotCaravelConfig.fir@289480.4]
+  assign _T_486 = nextCmd[3]; // @[I2C.scala 501:38:shc.marmotcaravel.MarmotCaravelConfig.fir@289484.4]
+  assign _T_487 = nextCmd[4]; // @[I2C.scala 501:38:shc.marmotcaravel.MarmotCaravelConfig.fir@289486.4]
+  assign _T_488 = nextCmd[5]; // @[I2C.scala 501:38:shc.marmotcaravel.MarmotCaravelConfig.fir@289488.4]
+  assign _T_489 = nextCmd[6]; // @[I2C.scala 501:38:shc.marmotcaravel.MarmotCaravelConfig.fir@289490.4]
+  assign _T_490 = nextCmd[7]; // @[I2C.scala 501:38:shc.marmotcaravel.MarmotCaravelConfig.fir@289492.4]
+  assign _T_498 = cmdAck | arbLost; // @[I2C.scala 505:16:shc.marmotcaravel.MarmotCaravelConfig.fir@289503.4]
+  assign _T_501 = _T_498 | status_irqFlag; // @[I2C.scala 527:51:shc.marmotcaravel.MarmotCaravelConfig.fir@289528.4]
+  assign _T_502 = cmd_irqAck == 1'h0; // @[I2C.scala 527:73:shc.marmotcaravel.MarmotCaravelConfig.fir@289529.4]
+  assign _T_503 = _T_501 & _T_502; // @[I2C.scala 527:70:shc.marmotcaravel.MarmotCaravelConfig.fir@289530.4]
+  assign _T_506 = statusReadReady == 1'h0; // @[I2C.scala 534:14:shc.marmotcaravel.MarmotCaravelConfig.fir@289538.6]
+  assign _T_54_a_bits_source = buffer_auto_out_a_bits_source; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@288901.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@288951.4]
+  assign _T_54_a_bits_size = buffer_auto_out_a_bits_size; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@288901.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@288951.4]
+  assign _T_516 = {_T_54_a_bits_source,_T_54_a_bits_size}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@289550.4]
+  assign _T_627 = _T_787 != 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289609.4]
+  assign _T_806 = _T_627 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289810.4]
+  assign _T_807 = statusReadReady | _T_806; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289811.4]
+  assign _T_1020 = _T_807 | _T_883; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@290056.4]
+  assign _GEN_232 = 3'h4 == _T_822 ? _T_1020 : 1'h1; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@290089.4]
+  assign _GEN_233 = 3'h5 == _T_822 ? 1'h1 : _GEN_232; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@290089.4]
+  assign _GEN_234 = 3'h6 == _T_822 ? 1'h1 : _GEN_233; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@290089.4]
+  assign _GEN_235 = 3'h7 == _T_822 ? 1'h1 : _GEN_234; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@290089.4]
+  assign _T_1125 = _T_514 ? _GEN_235 : 1'h1; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@290169.4]
+  assign _T_836 = _T_844[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289840.4]
+  assign _T_1061 = _T_1058 & _T_836; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@290095.4]
+  assign _T_1062 = _T_1061 & _T_542; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@290096.4]
+  assign _T_639 = _T_1062 & _T_789; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289621.4]
+  assign _T_837 = _T_844[1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289841.4]
+  assign _T_1067 = _T_1058 & _T_837; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@290103.4]
+  assign _T_1068 = _T_1067 & _T_542; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@290104.4]
+  assign _T_664 = _T_1068 & _T_789; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289649.4]
+  assign _T_838 = _T_844[2]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289842.4]
+  assign _T_1073 = _T_1058 & _T_838; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@290111.4]
+  assign _T_1074 = _T_1073 & _T_542; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@290112.4]
+  assign _T_701 = _T_625[6]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289692.4]
+  assign _T_704 = ~ _T_701; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289695.4]
+  assign _T_705 = _T_704 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289696.4]
+  assign _T_714 = _T_1074 & _T_705; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289705.4]
+  assign _T_715 = _T_54_a_bits_data[6]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289706.4]
+  assign _T_725 = {control_intEn,6'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@289719.4]
+  assign _T_728 = _T_625[7]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289722.4]
+  assign _T_731 = ~ _T_728; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289725.4]
+  assign _T_732 = _T_731 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289726.4]
+  assign _T_741 = _T_1074 & _T_732; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289735.4]
+  assign _T_742 = _T_54_a_bits_data[7]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289736.4]
+  assign _T_752 = {control_coreEn,_T_725}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@289749.4]
+  assign _T_839 = _T_844[3]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289843.4]
+  assign _T_1079 = _T_1058 & _T_839; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@290121.4]
+  assign _T_1080 = _T_1079 & _T_542; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@290122.4]
+  assign _T_768 = _T_1080 & _T_789; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289765.4]
+  assign _T_794 = {3'h0,status_transferInProgress}; // @[I2C.scala 555:89:shc.marmotcaravel.MarmotCaravelConfig.fir@289794.4]
+  assign _T_795 = {_T_794,status_irqFlag}; // @[I2C.scala 555:89:shc.marmotcaravel.MarmotCaravelConfig.fir@289795.4]
+  assign _T_796 = {status_receivedAck,status_busy}; // @[I2C.scala 555:89:shc.marmotcaravel.MarmotCaravelConfig.fir@289796.4]
+  assign _T_797 = {_T_796,status_arbLost}; // @[I2C.scala 555:89:shc.marmotcaravel.MarmotCaravelConfig.fir@289797.4]
+  assign _T_798 = {_T_797,_T_795}; // @[I2C.scala 555:89:shc.marmotcaravel.MarmotCaravelConfig.fir@289798.4]
+  assign _GEN_245 = 3'h1 == _T_822 ? _T_542 : _T_542; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@290190.4]
+  assign _GEN_246 = 3'h2 == _T_822 ? _T_542 : _GEN_245; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@290190.4]
+  assign _GEN_247 = 3'h3 == _T_822 ? _T_542 : _GEN_246; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@290190.4]
+  assign _GEN_248 = 3'h4 == _T_822 ? _T_542 : _GEN_247; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@290190.4]
+  assign _GEN_249 = 3'h5 == _T_822 ? 1'h1 : _GEN_248; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@290190.4]
+  assign _GEN_250 = 3'h6 == _T_822 ? 1'h1 : _GEN_249; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@290190.4]
+  assign _GEN_251 = 3'h7 == _T_822 ? 1'h1 : _GEN_250; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@290190.4]
+  assign _GEN_253 = 3'h1 == _T_822 ? prescaler_hi : prescaler_lo; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@290202.4]
+  assign _GEN_254 = 3'h2 == _T_822 ? _T_752 : _GEN_253; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@290202.4]
+  assign _GEN_255 = 3'h3 == _T_822 ? receivedData : _GEN_254; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@290202.4]
+  assign _GEN_256 = 3'h4 == _T_822 ? _T_798 : _GEN_255; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@290202.4]
+  assign _GEN_257 = 3'h5 == _T_822 ? 8'h0 : _GEN_256; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@290202.4]
+  assign _GEN_258 = 3'h6 == _T_822 ? 8'h0 : _GEN_257; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@290202.4]
+  assign _GEN_259 = 3'h7 == _T_822 ? 8'h0 : _GEN_258; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@290202.4]
+  assign _T_1164 = _GEN_251 ? _GEN_259 : 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@290203.4]
+  assign auto_int_xing_out_sync_0 = intsource_auto_out_sync_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@288956.4]
+  assign auto_control_xing_in_a_ready = buffer_auto_in_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@288955.4]
+  assign auto_control_xing_in_d_valid = buffer_auto_in_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@288955.4]
+  assign auto_control_xing_in_d_bits_opcode = buffer_auto_in_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@288955.4]
+  assign auto_control_xing_in_d_bits_size = buffer_auto_in_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@288955.4]
+  assign auto_control_xing_in_d_bits_source = buffer_auto_in_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@288955.4]
+  assign auto_control_xing_in_d_bits_data = buffer_auto_in_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@288955.4]
+  assign auto_io_out_scl_oe = sclOen == 1'h0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@288954.4]
+  assign auto_io_out_sda_oe = sdaOen == 1'h0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@288954.4]
+  assign buffer_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@288889.4]
+  assign buffer_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@288890.4]
+  assign buffer_auto_in_a_valid = auto_control_xing_in_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@288952.4]
+  assign buffer_auto_in_a_bits_opcode = auto_control_xing_in_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@288952.4]
+  assign buffer_auto_in_a_bits_param = auto_control_xing_in_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@288952.4]
+  assign buffer_auto_in_a_bits_size = auto_control_xing_in_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@288952.4]
+  assign buffer_auto_in_a_bits_source = auto_control_xing_in_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@288952.4]
+  assign buffer_auto_in_a_bits_address = auto_control_xing_in_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@288952.4]
+  assign buffer_auto_in_a_bits_mask = auto_control_xing_in_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@288952.4]
+  assign buffer_auto_in_a_bits_data = auto_control_xing_in_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@288952.4]
+  assign buffer_auto_in_a_bits_corrupt = auto_control_xing_in_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@288952.4]
+  assign buffer_auto_in_d_ready = auto_control_xing_in_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@288952.4]
+  assign buffer_auto_out_a_ready = _T_54_d_ready & _T_1125; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@288951.4]
+  assign buffer_auto_out_d_valid = _T_54_a_valid & _T_1125; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@288951.4]
+  assign buffer_auto_out_d_bits_opcode = {{2'd0}, _T_514}; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@288951.4]
+  assign buffer_auto_out_d_bits_size = _T_516[1:0]; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@288951.4]
+  assign buffer_auto_out_d_bits_source = _T_516[7:2]; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@288951.4]
+  assign buffer_auto_out_d_bits_data = {{24'd0}, _T_1164}; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@288951.4]
+  assign intsource_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@288895.4]
+  assign intsource_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@288896.4]
+  assign intsource_auto_in_0 = status_irqFlag & control_intEn; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@288950.4]
+  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@288905.4]
+  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@288906.4]
+  assign TLMonitor_io_in_a_ready = _T_54_d_ready & _T_1125; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@288939.4]
+  assign TLMonitor_io_in_a_valid = buffer_auto_out_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@288939.4]
+  assign TLMonitor_io_in_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@288939.4]
+  assign TLMonitor_io_in_a_bits_param = buffer_auto_out_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@288939.4]
+  assign TLMonitor_io_in_a_bits_size = buffer_auto_out_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@288939.4]
+  assign TLMonitor_io_in_a_bits_source = buffer_auto_out_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@288939.4]
+  assign TLMonitor_io_in_a_bits_address = buffer_auto_out_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@288939.4]
+  assign TLMonitor_io_in_a_bits_mask = buffer_auto_out_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@288939.4]
+  assign TLMonitor_io_in_a_bits_corrupt = buffer_auto_out_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@288939.4]
+  assign TLMonitor_io_in_d_ready = buffer_auto_out_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@288939.4]
+  assign TLMonitor_io_in_d_valid = _T_54_a_valid & _T_1125; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@288939.4]
+  assign TLMonitor_io_in_d_bits_opcode = {{2'd0}, _T_514}; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@288939.4]
+  assign TLMonitor_io_in_d_bits_size = _T_516[1:0]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@288939.4]
+  assign TLMonitor_io_in_d_bits_source = _T_516[7:2]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@288939.4]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  prescaler_hi = _RAND_0[7:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  prescaler_lo = _RAND_1[7:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  control_coreEn = _RAND_2[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  control_intEn = _RAND_3[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  transmitData = _RAND_4[7:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  receivedData = _RAND_5[7:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {1{`RANDOM}};
+  cmd_start = _RAND_6[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {1{`RANDOM}};
+  cmd_stop = _RAND_7[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_8 = {1{`RANDOM}};
+  cmd_read = _RAND_8[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_9 = {1{`RANDOM}};
+  cmd_write = _RAND_9[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_10 = {1{`RANDOM}};
+  cmd_ack = _RAND_10[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_11 = {1{`RANDOM}};
+  cmd_irqAck = _RAND_11[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_12 = {1{`RANDOM}};
+  status_receivedAck = _RAND_12[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_13 = {1{`RANDOM}};
+  status_busy = _RAND_13[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_14 = {1{`RANDOM}};
+  status_arbLost = _RAND_14[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_15 = {1{`RANDOM}};
+  status_transferInProgress = _RAND_15[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_16 = {1{`RANDOM}};
+  status_irqFlag = _RAND_16[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_17 = {1{`RANDOM}};
+  filterCnt = _RAND_17[13:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_18 = {1{`RANDOM}};
+  fSCL = _RAND_18[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_19 = {1{`RANDOM}};
+  fSDA = _RAND_19[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_20 = {1{`RANDOM}};
+  sSCL = _RAND_20[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_21 = {1{`RANDOM}};
+  sSDA = _RAND_21[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_22 = {1{`RANDOM}};
+  dSCL = _RAND_22[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_23 = {1{`RANDOM}};
+  dSDA = _RAND_23[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_24 = {1{`RANDOM}};
+  dSCLOen = _RAND_24[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_25 = {1{`RANDOM}};
+  startCond = _RAND_25[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_26 = {1{`RANDOM}};
+  stopCond = _RAND_26[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_27 = {1{`RANDOM}};
+  sclOen = _RAND_27[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_28 = {1{`RANDOM}};
+  slaveWait = _RAND_28[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_29 = {1{`RANDOM}};
+  clkEn = _RAND_29[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_30 = {1{`RANDOM}};
+  cnt = _RAND_30[15:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_31 = {1{`RANDOM}};
+  sdaOen = _RAND_31[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_32 = {1{`RANDOM}};
+  sdaChk = _RAND_32[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_33 = {1{`RANDOM}};
+  transmitBit = _RAND_33[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_34 = {1{`RANDOM}};
+  receivedBit = _RAND_34[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_35 = {1{`RANDOM}};
+  bitCmd = _RAND_35[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_36 = {1{`RANDOM}};
+  bitCmdStop = _RAND_36[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_37 = {1{`RANDOM}};
+  bitCmdAck = _RAND_37[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_38 = {1{`RANDOM}};
+  bitState = _RAND_38[4:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_39 = {1{`RANDOM}};
+  arbLost = _RAND_39[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_40 = {1{`RANDOM}};
+  load = _RAND_40[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_41 = {1{`RANDOM}};
+  shift = _RAND_41[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_42 = {1{`RANDOM}};
+  cmdAck = _RAND_42[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_43 = {1{`RANDOM}};
+  receivedAck = _RAND_43[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_44 = {1{`RANDOM}};
+  bitCnt = _RAND_44[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_45 = {1{`RANDOM}};
+  byteState = _RAND_45[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_46 = {1{`RANDOM}};
+  statusReadReady = _RAND_46[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      prescaler_hi <= 8'hff;
+    end else begin
+      if (_T_664) begin
+        prescaler_hi <= _T_799;
+      end
+    end
+    if (reset) begin
+      prescaler_lo <= 8'hff;
+    end else begin
+      if (_T_639) begin
+        prescaler_lo <= _T_799;
+      end
+    end
+    if (reset) begin
+      control_coreEn <= 1'h0;
+    end else begin
+      if (_T_741) begin
+        control_coreEn <= _T_742;
+      end
+    end
+    if (reset) begin
+      control_intEn <= 1'h0;
+    end else begin
+      if (_T_714) begin
+        control_intEn <= _T_715;
+      end
+    end
+    if (reset) begin
+      transmitData <= 8'h0;
+    end else begin
+      if (_T_768) begin
+        transmitData <= _T_799;
+      end
+    end
+    if (reset) begin
+      receivedData <= 8'h0;
+    end else begin
+      receivedData <= _GEN_117[7:0];
+    end
+    if (reset) begin
+      cmd_start <= 1'h0;
+    end else begin
+      if (_T_498) begin
+        cmd_start <= 1'h0;
+      end else begin
+        cmd_start <= _T_490;
+      end
+    end
+    if (reset) begin
+      cmd_stop <= 1'h0;
+    end else begin
+      if (_T_498) begin
+        cmd_stop <= 1'h0;
+      end else begin
+        cmd_stop <= _T_489;
+      end
+    end
+    if (reset) begin
+      cmd_read <= 1'h0;
+    end else begin
+      if (_T_498) begin
+        cmd_read <= 1'h0;
+      end else begin
+        cmd_read <= _T_488;
+      end
+    end
+    if (reset) begin
+      cmd_write <= 1'h0;
+    end else begin
+      if (_T_498) begin
+        cmd_write <= 1'h0;
+      end else begin
+        cmd_write <= _T_487;
+      end
+    end
+    if (reset) begin
+      cmd_ack <= 1'h0;
+    end else begin
+      cmd_ack <= _T_486;
+    end
+    if (reset) begin
+      cmd_irqAck <= 1'h0;
+    end else begin
+      cmd_irqAck <= _T_484;
+    end
+    if (reset) begin
+      status_receivedAck <= 1'h0;
+    end else begin
+      status_receivedAck <= receivedAck;
+    end
+    if (reset) begin
+      status_busy <= 1'h0;
+    end else begin
+      if (stopCond) begin
+        status_busy <= 1'h0;
+      end else begin
+        if (startCond) begin
+          status_busy <= 1'h1;
+        end
+      end
+    end
+    if (reset) begin
+      status_arbLost <= 1'h0;
+    end else begin
+      if (arbLost) begin
+        status_arbLost <= 1'h1;
+      end else begin
+        if (cmd_start) begin
+          status_arbLost <= 1'h0;
+        end
+      end
+    end
+    if (reset) begin
+      status_transferInProgress <= 1'h0;
+    end else begin
+      status_transferInProgress <= _T_460;
+    end
+    if (reset) begin
+      status_irqFlag <= 1'h0;
+    end else begin
+      status_irqFlag <= _T_503;
+    end
+    if (reset) begin
+      filterCnt <= 14'h0;
+    end else begin
+      if (_T_346) begin
+        filterCnt <= 14'h0;
+      end else begin
+        if (_T_348) begin
+          filterCnt <= _T_350;
+        end else begin
+          filterCnt <= _T_353;
+        end
+      end
+    end
+    if (reset) begin
+      fSCL <= 3'h7;
+    end else begin
+      fSCL <= _GEN_2[2:0];
+    end
+    if (reset) begin
+      fSDA <= 3'h7;
+    end else begin
+      fSDA <= _GEN_3[2:0];
+    end
+    if (reset) begin
+      sSCL <= 1'h1;
+    end else begin
+      sSCL <= _T_367;
+    end
+    if (reset) begin
+      sSDA <= 1'h1;
+    end else begin
+      sSDA <= _T_376;
+    end
+    if (reset) begin
+      dSCL <= 1'h1;
+    end else begin
+      dSCL <= sSCL;
+    end
+    if (reset) begin
+      dSDA <= 1'h1;
+    end else begin
+      dSDA <= sSDA;
+    end
+    dSCLOen <= sclOen == 1'h0;
+    if (reset) begin
+      startCond <= 1'h0;
+    end else begin
+      startCond <= _T_383;
+    end
+    if (reset) begin
+      stopCond <= 1'h0;
+    end else begin
+      stopCond <= _T_387;
+    end
+    if (reset) begin
+      sclOen <= 1'h1;
+    end else begin
+      if (arbLost) begin
+        sclOen <= 1'h1;
+      end else begin
+        if (clkEn) begin
+          if (!(_T_434)) begin
+            if (!(_T_439)) begin
+              if (_T_440) begin
+                sclOen <= 1'h1;
+              end else begin
+                if (_T_441) begin
+                  sclOen <= 1'h1;
+                end else begin
+                  if (_T_442) begin
+                    sclOen <= 1'h1;
+                  end else begin
+                    if (_T_443) begin
+                      sclOen <= 1'h0;
+                    end else begin
+                      if (_T_444) begin
+                        sclOen <= 1'h0;
+                      end else begin
+                        if (_T_445) begin
+                          sclOen <= 1'h1;
+                        end else begin
+                          if (_T_446) begin
+                            sclOen <= 1'h1;
+                          end else begin
+                            if (_T_447) begin
+                              sclOen <= 1'h1;
+                            end else begin
+                              if (_T_448) begin
+                                sclOen <= 1'h0;
+                              end else begin
+                                if (_T_449) begin
+                                  sclOen <= 1'h1;
+                                end else begin
+                                  if (_T_450) begin
+                                    sclOen <= 1'h1;
+                                  end else begin
+                                    if (_T_451) begin
+                                      sclOen <= 1'h0;
+                                    end else begin
+                                      if (_T_452) begin
+                                        sclOen <= 1'h0;
+                                      end else begin
+                                        if (_T_453) begin
+                                          sclOen <= 1'h1;
+                                        end else begin
+                                          if (_T_454) begin
+                                            sclOen <= 1'h1;
+                                          end else begin
+                                            if (_T_455) begin
+                                              sclOen <= 1'h0;
+                                            end
+                                          end
+                                        end
+                                      end
+                                    end
+                                  end
+                                end
+                              end
+                            end
+                          end
+                        end
+                      end
+                    end
+                  end
+                end
+              end
+            end
+          end
+        end
+      end
+    end
+    if (reset) begin
+      slaveWait <= 1'h0;
+    end else begin
+      slaveWait <= _T_398;
+    end
+    if (reset) begin
+      clkEn <= 1'h1;
+    end else begin
+      clkEn <= _T_405;
+    end
+    if (reset) begin
+      cnt <= 16'h0;
+    end else begin
+      if (_T_405) begin
+        cnt <= _T_349;
+      end else begin
+        if (!(slaveWait)) begin
+          cnt <= _T_409;
+        end
+      end
+    end
+    if (reset) begin
+      sdaOen <= 1'h1;
+    end else begin
+      if (arbLost) begin
+        sdaOen <= 1'h1;
+      end else begin
+        if (clkEn) begin
+          if (!(_T_434)) begin
+            if (_T_439) begin
+              sdaOen <= 1'h1;
+            end else begin
+              if (_T_440) begin
+                sdaOen <= 1'h1;
+              end else begin
+                if (_T_441) begin
+                  sdaOen <= 1'h0;
+                end else begin
+                  if (_T_442) begin
+                    sdaOen <= 1'h0;
+                  end else begin
+                    if (_T_443) begin
+                      sdaOen <= 1'h0;
+                    end else begin
+                      if (_T_444) begin
+                        sdaOen <= 1'h0;
+                      end else begin
+                        if (_T_445) begin
+                          sdaOen <= 1'h0;
+                        end else begin
+                          if (_T_446) begin
+                            sdaOen <= 1'h0;
+                          end else begin
+                            if (_T_447) begin
+                              sdaOen <= 1'h1;
+                            end else begin
+                              if (_T_448) begin
+                                sdaOen <= 1'h1;
+                              end else begin
+                                if (_T_449) begin
+                                  sdaOen <= 1'h1;
+                                end else begin
+                                  if (_T_450) begin
+                                    sdaOen <= 1'h1;
+                                  end else begin
+                                    if (_T_451) begin
+                                      sdaOen <= 1'h1;
+                                    end else begin
+                                      if (_T_452) begin
+                                        sdaOen <= transmitBit;
+                                      end else begin
+                                        if (_T_453) begin
+                                          sdaOen <= transmitBit;
+                                        end else begin
+                                          if (_T_454) begin
+                                            sdaOen <= transmitBit;
+                                          end else begin
+                                            if (_T_455) begin
+                                              sdaOen <= transmitBit;
+                                            end
+                                          end
+                                        end
+                                      end
+                                    end
+                                  end
+                                end
+                              end
+                            end
+                          end
+                        end
+                      end
+                    end
+                  end
+                end
+              end
+            end
+          end
+        end
+      end
+    end
+    if (reset) begin
+      sdaChk <= 1'h0;
+    end else begin
+      if (arbLost) begin
+        sdaChk <= 1'h0;
+      end else begin
+        if (clkEn) begin
+          if (_T_434) begin
+            sdaChk <= 1'h0;
+          end else begin
+            if (_T_439) begin
+              sdaChk <= 1'h0;
+            end else begin
+              if (_T_440) begin
+                sdaChk <= 1'h0;
+              end else begin
+                if (_T_441) begin
+                  sdaChk <= 1'h0;
+                end else begin
+                  if (_T_442) begin
+                    sdaChk <= 1'h0;
+                  end else begin
+                    if (_T_443) begin
+                      sdaChk <= 1'h0;
+                    end else begin
+                      if (_T_444) begin
+                        sdaChk <= 1'h0;
+                      end else begin
+                        if (_T_445) begin
+                          sdaChk <= 1'h0;
+                        end else begin
+                          if (_T_446) begin
+                            sdaChk <= 1'h0;
+                          end else begin
+                            if (_T_447) begin
+                              sdaChk <= 1'h0;
+                            end else begin
+                              if (_T_448) begin
+                                sdaChk <= 1'h0;
+                              end else begin
+                                if (_T_449) begin
+                                  sdaChk <= 1'h0;
+                                end else begin
+                                  if (_T_450) begin
+                                    sdaChk <= 1'h0;
+                                  end else begin
+                                    if (_T_451) begin
+                                      sdaChk <= 1'h0;
+                                    end else begin
+                                      if (_T_452) begin
+                                        sdaChk <= 1'h0;
+                                      end else begin
+                                        if (_T_453) begin
+                                          sdaChk <= 1'h0;
+                                        end else begin
+                                          if (_T_454) begin
+                                            sdaChk <= 1'h1;
+                                          end else begin
+                                            if (_T_455) begin
+                                              sdaChk <= 1'h0;
+                                            end
+                                          end
+                                        end
+                                      end
+                                    end
+                                  end
+                                end
+                              end
+                            end
+                          end
+                        end
+                      end
+                    end
+                  end
+                end
+              end
+            end
+          end
+        end
+      end
+    end
+    if (reset) begin
+      transmitBit <= 1'h0;
+    end else begin
+      if (arbLost) begin
+        transmitBit <= 1'h0;
+      end else begin
+        if (_T_472) begin
+          transmitBit <= _T_471;
+        end else begin
+          if (_T_473) begin
+            transmitBit <= _T_471;
+          end else begin
+            if (_T_474) begin
+              transmitBit <= _T_471;
+            end else begin
+              if (_T_475) begin
+                if (bitCmdAck) begin
+                  transmitBit <= cmd_ack;
+                end else begin
+                  transmitBit <= _T_471;
+                end
+              end else begin
+                if (_T_476) begin
+                  if (bitCmdAck) begin
+                    transmitBit <= 1'h1;
+                  end else begin
+                    transmitBit <= cmd_ack;
+                  end
+                end else begin
+                  transmitBit <= _T_471;
+                end
+              end
+            end
+          end
+        end
+      end
+    end
+    if (_T_418) begin
+      receivedBit <= sSDA;
+    end
+    if (reset) begin
+      bitCmd <= 4'h0;
+    end else begin
+      if (arbLost) begin
+        bitCmd <= 4'h0;
+      end else begin
+        if (_T_472) begin
+          if (go) begin
+            if (cmd_start) begin
+              bitCmd <= 4'h1;
+            end else begin
+              if (cmd_read) begin
+                bitCmd <= 4'h8;
+              end else begin
+                bitCmd <= {{1'd0}, _GEN_119};
+              end
+            end
+          end
+        end else begin
+          if (_T_473) begin
+            if (bitCmdAck) begin
+              if (cmd_read) begin
+                bitCmd <= 4'h8;
+              end else begin
+                bitCmd <= 4'h4;
+              end
+            end
+          end else begin
+            if (_T_474) begin
+              if (bitCmdAck) begin
+                if (bitCntDone) begin
+                  bitCmd <= 4'h8;
+                end else begin
+                  bitCmd <= 4'h4;
+                end
+              end
+            end else begin
+              if (_T_475) begin
+                if (bitCmdAck) begin
+                  if (bitCntDone) begin
+                    bitCmd <= 4'h4;
+                  end else begin
+                    bitCmd <= 4'h8;
+                  end
+                end
+              end else begin
+                if (_T_476) begin
+                  if (bitCmdAck) begin
+                    bitCmd <= {{2'd0}, _GEN_144};
+                  end
+                end else begin
+                  if (_T_477) begin
+                    if (bitCmdAck) begin
+                      bitCmd <= 4'h0;
+                    end
+                  end
+                end
+              end
+            end
+          end
+        end
+      end
+    end
+    if (reset) begin
+      bitCmdStop <= 1'h0;
+    end else begin
+      if (clkEn) begin
+        bitCmdStop <= _T_421;
+      end
+    end
+    if (reset) begin
+      bitCmdAck <= 1'h0;
+    end else begin
+      if (arbLost) begin
+        bitCmdAck <= 1'h0;
+      end else begin
+        if (clkEn) begin
+          if (_T_434) begin
+            bitCmdAck <= 1'h0;
+          end else begin
+            if (_T_439) begin
+              bitCmdAck <= 1'h0;
+            end else begin
+              if (_T_440) begin
+                bitCmdAck <= 1'h0;
+              end else begin
+                if (_T_441) begin
+                  bitCmdAck <= 1'h0;
+                end else begin
+                  if (_T_442) begin
+                    bitCmdAck <= 1'h0;
+                  end else begin
+                    if (_T_443) begin
+                      bitCmdAck <= 1'h1;
+                    end else begin
+                      if (_T_444) begin
+                        bitCmdAck <= 1'h0;
+                      end else begin
+                        if (_T_445) begin
+                          bitCmdAck <= 1'h0;
+                        end else begin
+                          if (_T_446) begin
+                            bitCmdAck <= 1'h0;
+                          end else begin
+                            if (_T_447) begin
+                              bitCmdAck <= 1'h1;
+                            end else begin
+                              if (_T_448) begin
+                                bitCmdAck <= 1'h0;
+                              end else begin
+                                if (_T_449) begin
+                                  bitCmdAck <= 1'h0;
+                                end else begin
+                                  if (_T_450) begin
+                                    bitCmdAck <= 1'h0;
+                                  end else begin
+                                    if (_T_451) begin
+                                      bitCmdAck <= 1'h1;
+                                    end else begin
+                                      if (_T_452) begin
+                                        bitCmdAck <= 1'h0;
+                                      end else begin
+                                        if (_T_453) begin
+                                          bitCmdAck <= 1'h0;
+                                        end else begin
+                                          if (_T_454) begin
+                                            bitCmdAck <= 1'h0;
+                                          end else begin
+                                            bitCmdAck <= _T_455;
+                                          end
+                                        end
+                                      end
+                                    end
+                                  end
+                                end
+                              end
+                            end
+                          end
+                        end
+                      end
+                    end
+                  end
+                end
+              end
+            end
+          end
+        end else begin
+          bitCmdAck <= 1'h0;
+        end
+      end
+    end
+    if (reset) begin
+      bitState <= 5'h0;
+    end else begin
+      if (arbLost) begin
+        bitState <= 5'h0;
+      end else begin
+        if (clkEn) begin
+          if (_T_434) begin
+            if (_T_435) begin
+              bitState <= 5'h1;
+            end else begin
+              if (_T_436) begin
+                bitState <= 5'h6;
+              end else begin
+                if (_T_437) begin
+                  bitState <= 5'he;
+                end else begin
+                  if (_T_438) begin
+                    bitState <= 5'ha;
+                  end
+                end
+              end
+            end
+          end else begin
+            if (_T_439) begin
+              bitState <= 5'h2;
+            end else begin
+              if (_T_440) begin
+                bitState <= 5'h3;
+              end else begin
+                if (_T_441) begin
+                  bitState <= 5'h4;
+                end else begin
+                  if (_T_442) begin
+                    bitState <= 5'h5;
+                  end else begin
+                    if (_T_443) begin
+                      bitState <= 5'h0;
+                    end else begin
+                      if (_T_444) begin
+                        bitState <= 5'h7;
+                      end else begin
+                        if (_T_445) begin
+                          bitState <= 5'h8;
+                        end else begin
+                          if (_T_446) begin
+                            bitState <= 5'h9;
+                          end else begin
+                            if (_T_447) begin
+                              bitState <= 5'h0;
+                            end else begin
+                              if (_T_448) begin
+                                bitState <= 5'hb;
+                              end else begin
+                                if (_T_449) begin
+                                  bitState <= 5'hc;
+                                end else begin
+                                  if (_T_450) begin
+                                    bitState <= 5'hd;
+                                  end else begin
+                                    if (_T_451) begin
+                                      bitState <= 5'h0;
+                                    end else begin
+                                      if (_T_452) begin
+                                        bitState <= 5'hf;
+                                      end else begin
+                                        if (_T_453) begin
+                                          bitState <= 5'h10;
+                                        end else begin
+                                          if (_T_454) begin
+                                            bitState <= 5'h11;
+                                          end else begin
+                                            if (_T_455) begin
+                                              bitState <= 5'h0;
+                                            end
+                                          end
+                                        end
+                                      end
+                                    end
+                                  end
+                                end
+                              end
+                            end
+                          end
+                        end
+                      end
+                    end
+                  end
+                end
+              end
+            end
+          end
+        end
+      end
+    end
+    if (reset) begin
+      arbLost <= 1'h0;
+    end else begin
+      arbLost <= _T_432;
+    end
+    if (reset) begin
+      load <= 1'h0;
+    end else begin
+      if (arbLost) begin
+        load <= 1'h0;
+      end else begin
+        if (_T_472) begin
+          load <= go;
+        end else begin
+          if (_T_473) begin
+            load <= bitCmdAck;
+          end else begin
+            load <= 1'h0;
+          end
+        end
+      end
+    end
+    if (reset) begin
+      shift <= 1'h0;
+    end else begin
+      if (arbLost) begin
+        shift <= 1'h0;
+      end else begin
+        if (_T_472) begin
+          shift <= 1'h0;
+        end else begin
+          if (_T_473) begin
+            shift <= 1'h0;
+          end else begin
+            if (_T_474) begin
+              if (bitCmdAck) begin
+                if (bitCntDone) begin
+                  shift <= 1'h0;
+                end else begin
+                  shift <= 1'h1;
+                end
+              end else begin
+                shift <= 1'h0;
+              end
+            end else begin
+              if (_T_475) begin
+                shift <= bitCmdAck;
+              end else begin
+                shift <= 1'h0;
+              end
+            end
+          end
+        end
+      end
+    end
+    if (reset) begin
+      cmdAck <= 1'h0;
+    end else begin
+      if (arbLost) begin
+        cmdAck <= 1'h0;
+      end else begin
+        if (_T_472) begin
+          cmdAck <= 1'h0;
+        end else begin
+          if (_T_473) begin
+            cmdAck <= 1'h0;
+          end else begin
+            if (_T_474) begin
+              cmdAck <= 1'h0;
+            end else begin
+              if (_T_475) begin
+                cmdAck <= 1'h0;
+              end else begin
+                if (_T_476) begin
+                  if (bitCmdAck) begin
+                    if (cmd_stop) begin
+                      cmdAck <= 1'h0;
+                    end else begin
+                      cmdAck <= 1'h1;
+                    end
+                  end else begin
+                    cmdAck <= 1'h0;
+                  end
+                end else begin
+                  if (_T_477) begin
+                    cmdAck <= bitCmdAck;
+                  end else begin
+                    cmdAck <= 1'h0;
+                  end
+                end
+              end
+            end
+          end
+        end
+      end
+    end
+    if (reset) begin
+      receivedAck <= 1'h0;
+    end else begin
+      if (arbLost) begin
+        receivedAck <= 1'h0;
+      end else begin
+        if (!(_T_472)) begin
+          if (!(_T_473)) begin
+            if (!(_T_474)) begin
+              if (!(_T_475)) begin
+                if (_T_476) begin
+                  if (bitCmdAck) begin
+                    receivedAck <= receivedBit;
+                  end
+                end
+              end
+            end
+          end
+        end
+      end
+    end
+    if (reset) begin
+      bitCnt <= 3'h0;
+    end else begin
+      if (load) begin
+        bitCnt <= 3'h7;
+      end else begin
+        if (shift) begin
+          bitCnt <= _T_466;
+        end
+      end
+    end
+    if (reset) begin
+      byteState <= 3'h0;
+    end else begin
+      if (arbLost) begin
+        byteState <= 3'h0;
+      end else begin
+        if (_T_472) begin
+          if (go) begin
+            if (cmd_start) begin
+              byteState <= 3'h1;
+            end else begin
+              if (cmd_read) begin
+                byteState <= 3'h2;
+              end else begin
+                if (cmd_write) begin
+                  byteState <= 3'h3;
+                end else begin
+                  byteState <= 3'h5;
+                end
+              end
+            end
+          end
+        end else begin
+          if (_T_473) begin
+            if (bitCmdAck) begin
+              if (cmd_read) begin
+                byteState <= 3'h2;
+              end else begin
+                byteState <= 3'h3;
+              end
+            end
+          end else begin
+            if (_T_474) begin
+              if (bitCmdAck) begin
+                if (bitCntDone) begin
+                  byteState <= 3'h4;
+                end else begin
+                  byteState <= 3'h3;
+                end
+              end
+            end else begin
+              if (_T_475) begin
+                if (bitCmdAck) begin
+                  if (bitCntDone) begin
+                    byteState <= 3'h4;
+                  end else begin
+                    byteState <= 3'h2;
+                  end
+                end
+              end else begin
+                if (_T_476) begin
+                  if (bitCmdAck) begin
+                    if (cmd_stop) begin
+                      byteState <= 3'h5;
+                    end else begin
+                      byteState <= 3'h0;
+                    end
+                  end
+                end else begin
+                  if (_T_477) begin
+                    if (bitCmdAck) begin
+                      byteState <= 3'h0;
+                    end
+                  end
+                end
+              end
+            end
+          end
+        end
+      end
+    end
+    if (reset) begin
+      statusReadReady <= 1'h1;
+    end else begin
+      if (_T_793) begin
+        statusReadReady <= 1'h0;
+      end else begin
+        if (_T_498) begin
+          statusReadReady <= 1'h0;
+        end else begin
+          if (_T_506) begin
+            statusReadReady <= 1'h1;
+          end
+        end
+      end
+    end
+  end
+endmodule
+module TLMonitor_80( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@290302.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@290303.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@290304.4]
+  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@290305.4]
+  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@290305.4]
+  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@290305.4]
+  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@290305.4]
+  input  [1:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@290305.4]
+  input  [5:0]  io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@290305.4]
+  input  [28:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@290305.4]
+  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@290305.4]
+  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@290305.4]
+  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@290305.4]
+  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@290305.4]
+  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@290305.4]
+  input  [1:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@290305.4]
+  input  [5:0]  io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@290305.4]
+);
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@291432.4]
+  wire [4:0] _T_36; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@290332.6]
+  wire [1:0] _T_37; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@290333.6]
+  wire [1:0] _T_38; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@290334.6]
+  wire [28:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@290335.6]
+  wire [28:0] _T_39; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@290335.6]
+  wire  _T_40; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@290336.6]
+  wire  _T_42; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@290338.6]
+  wire [1:0] _T_43; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@290339.6]
+  wire [1:0] _T_45; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@290341.6]
+  wire  _T_46; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@290342.6]
+  wire  _T_47; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@290343.6]
+  wire  _T_48; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@290344.6]
+  wire  _T_49; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@290345.6]
+  wire  _T_51; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@290347.6]
+  wire  _T_52; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@290348.6]
+  wire  _T_54; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@290350.6]
+  wire  _T_55; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@290351.6]
+  wire  _T_56; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@290352.6]
+  wire  _T_57; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@290353.6]
+  wire  _T_58; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@290354.6]
+  wire  _T_59; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@290355.6]
+  wire  _T_60; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@290356.6]
+  wire  _T_61; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@290357.6]
+  wire  _T_62; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@290358.6]
+  wire  _T_63; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@290359.6]
+  wire  _T_64; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@290360.6]
+  wire  _T_65; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@290361.6]
+  wire  _T_66; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@290362.6]
+  wire  _T_67; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@290363.6]
+  wire  _T_68; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@290364.6]
+  wire  _T_69; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@290365.6]
+  wire  _T_70; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@290366.6]
+  wire [1:0] _T_71; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@290367.6]
+  wire [1:0] _T_72; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@290368.6]
+  wire [3:0] _T_73; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@290369.6]
+  wire  _T_92; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@290392.6]
+  wire [28:0] _T_94; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@290395.8]
+  wire [29:0] _T_95; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@290396.8]
+  wire [29:0] _T_96; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@290397.8]
+  wire [29:0] _T_97; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@290398.8]
+  wire  _T_98; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@290399.8]
+  wire  _T_103; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290404.8]
+  wire  _T_112; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290425.8]
+  wire  _T_113; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290426.8]
+  wire  _T_115; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290432.8]
+  wire  _T_116; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290433.8]
+  wire  _T_117; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@290438.8]
+  wire  _T_119; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290440.8]
+  wire  _T_120; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290441.8]
+  wire [3:0] _T_121; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@290446.8]
+  wire  _T_122; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@290447.8]
+  wire  _T_124; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290449.8]
+  wire  _T_125; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290450.8]
+  wire  _T_126; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@290455.8]
+  wire  _T_128; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290457.8]
+  wire  _T_129; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290458.8]
+  wire  _T_130; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@290464.6]
+  wire  _T_159; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@290518.8]
+  wire  _T_161; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290520.8]
+  wire  _T_162; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290521.8]
+  wire  _T_172; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@290544.6]
+  wire  _T_174; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@290547.8]
+  wire  _T_182; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@290555.8]
+  wire  _T_185; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290558.8]
+  wire  _T_186; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290559.8]
+  wire  _T_193; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@290578.8]
+  wire  _T_195; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290580.8]
+  wire  _T_196; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290581.8]
+  wire  _T_197; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@290586.8]
+  wire  _T_199; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290588.8]
+  wire  _T_200; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290589.8]
+  wire  _T_205; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@290603.6]
+  wire  _T_234; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@290654.6]
+  wire [3:0] _T_259; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@290696.8]
+  wire [3:0] _T_260; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@290697.8]
+  wire  _T_261; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@290698.8]
+  wire  _T_263; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290700.8]
+  wire  _T_264; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290701.8]
+  wire  _T_265; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@290707.6]
+  wire  _T_283; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@290738.8]
+  wire  _T_285; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290740.8]
+  wire  _T_286; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290741.8]
+  wire  _T_291; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@290755.6]
+  wire  _T_309; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@290786.8]
+  wire  _T_311; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290788.8]
+  wire  _T_312; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290789.8]
+  wire  _T_317; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@290803.6]
+  wire  _T_343; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@290853.6]
+  wire  _T_345; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@290855.6]
+  wire  _T_346; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@290856.6]
+  wire  _T_363; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@290873.6]
+  wire  _T_367; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@290882.8]
+  wire  _T_369; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290884.8]
+  wire  _T_370; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290885.8]
+  wire  _T_383; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@290915.6]
+  wire  _T_411; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@290973.6]
+  wire  _T_504; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@291163.4]
+  reg  _T_514; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@291172.4]
+  reg [31:0] _RAND_0;
+  wire [1:0] _T_515; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@291173.4]
+  wire [1:0] _T_516; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@291174.4]
+  wire  _T_517; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@291175.4]
+  wire  _T_518; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@291176.4]
+  reg [2:0] _T_527; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@291187.4]
+  reg [31:0] _RAND_1;
+  reg [2:0] _T_529; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@291188.4]
+  reg [31:0] _RAND_2;
+  reg [1:0] _T_531; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@291189.4]
+  reg [31:0] _RAND_3;
+  reg [5:0] _T_533; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@291190.4]
+  reg [31:0] _RAND_4;
+  reg [28:0] _T_535; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@291191.4]
+  reg [31:0] _RAND_5;
+  wire  _T_536; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@291192.4]
+  wire  _T_537; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@291193.4]
+  wire  _T_538; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@291195.6]
+  wire  _T_540; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291197.6]
+  wire  _T_541; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291198.6]
+  wire  _T_542; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@291203.6]
+  wire  _T_544; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291205.6]
+  wire  _T_545; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291206.6]
+  wire  _T_546; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@291211.6]
+  wire  _T_548; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291213.6]
+  wire  _T_549; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291214.6]
+  wire  _T_550; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@291219.6]
+  wire  _T_552; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291221.6]
+  wire  _T_553; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291222.6]
+  wire  _T_554; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@291227.6]
+  wire  _T_556; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291229.6]
+  wire  _T_557; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291230.6]
+  wire  _T_559; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@291237.4]
+  wire  _T_560; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@291245.4]
+  reg  _T_569; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@291253.4]
+  reg [31:0] _RAND_6;
+  wire [1:0] _T_570; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@291254.4]
+  wire [1:0] _T_571; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@291255.4]
+  wire  _T_572; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@291256.4]
+  wire  _T_573; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@291257.4]
+  reg [2:0] _T_582; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@291268.4]
+  reg [31:0] _RAND_7;
+  reg [1:0] _T_586; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@291270.4]
+  reg [31:0] _RAND_8;
+  reg [5:0] _T_588; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@291271.4]
+  reg [31:0] _RAND_9;
+  wire  _T_593; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@291274.4]
+  wire  _T_594; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@291275.4]
+  wire  _T_595; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@291277.6]
+  wire  _T_597; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291279.6]
+  wire  _T_598; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291280.6]
+  wire  _T_603; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@291293.6]
+  wire  _T_605; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291295.6]
+  wire  _T_606; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291296.6]
+  wire  _T_607; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@291301.6]
+  wire  _T_609; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291303.6]
+  wire  _T_610; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291304.6]
+  wire  _T_620; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@291327.4]
+  reg [63:0] _T_622; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@291336.4]
+  reg [63:0] _RAND_10;
+  reg  _T_633; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@291346.4]
+  reg [31:0] _RAND_11;
+  wire [1:0] _T_634; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@291347.4]
+  wire [1:0] _T_635; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@291348.4]
+  wire  _T_636; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@291349.4]
+  wire  _T_637; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@291350.4]
+  reg  _T_654; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@291369.4]
+  reg [31:0] _RAND_12;
+  wire [1:0] _T_655; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@291370.4]
+  wire [1:0] _T_656; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@291371.4]
+  wire  _T_657; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@291372.4]
+  wire  _T_658; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@291373.4]
+  wire  _T_669; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@291388.4]
+  wire [63:0] _T_671; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@291391.6]
+  wire [63:0] _T_672; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@291393.6]
+  wire  _T_673; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@291394.6]
+  wire  _T_674; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291395.6]
+  wire  _T_676; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@291397.6]
+  wire  _T_677; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@291398.6]
+  wire [63:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@291390.4]
+  wire  _T_682; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@291409.4]
+  wire  _T_684; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@291411.4]
+  wire  _T_685; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@291412.4]
+  wire [63:0] _T_686; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@291414.6]
+  wire [63:0] _T_687; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@291416.6]
+  wire [63:0] _T_688; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@291417.6]
+  wire  _T_689; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@291418.6]
+  wire  _T_691; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@291420.6]
+  wire  _T_692; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@291421.6]
+  wire [63:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@291413.4]
+  wire [63:0] _T_693; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@291427.4]
+  wire [63:0] _T_694; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@291428.4]
+  wire [63:0] _T_695; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@291429.4]
+  reg [31:0] _T_697; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@291431.4]
+  reg [31:0] _RAND_13;
+  wire  _T_698; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@291434.4]
+  wire  _T_699; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@291435.4]
+  wire  _T_700; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@291436.4]
+  wire  _T_701; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@291437.4]
+  wire  _T_702; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@291438.4]
+  wire  _T_703; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@291439.4]
+  wire  _T_705; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@291441.4]
+  wire  _T_706; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@291442.4]
+  wire [31:0] _T_708; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@291448.4]
+  wire  _T_711; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@291452.4]
+  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290406.10]
+  wire  _GEN_33; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290478.10]
+  wire  _GEN_49; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290561.10]
+  wire  _GEN_59; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290620.10]
+  wire  _GEN_67; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290671.10]
+  wire  _GEN_75; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290721.10]
+  wire  _GEN_83; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290769.10]
+  wire  _GEN_91; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290817.10]
+  wire  _GEN_99; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290887.10]
+  wire  _GEN_101; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290928.10]
+  wire  _GEN_105; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290986.10]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@291432.4]
+    .out(plusarg_reader_out)
+  );
+  assign _T_36 = 5'h3 << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@290332.6]
+  assign _T_37 = _T_36[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@290333.6]
+  assign _T_38 = ~ _T_37; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@290334.6]
+  assign _GEN_18 = {{27'd0}, _T_38}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@290335.6]
+  assign _T_39 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@290335.6]
+  assign _T_40 = _T_39 == 29'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@290336.6]
+  assign _T_42 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@290338.6]
+  assign _T_43 = 2'h1 << _T_42; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@290339.6]
+  assign _T_45 = _T_43 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@290341.6]
+  assign _T_46 = io_in_a_bits_size >= 2'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@290342.6]
+  assign _T_47 = _T_45[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@290343.6]
+  assign _T_48 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@290344.6]
+  assign _T_49 = _T_48 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@290345.6]
+  assign _T_51 = _T_47 & _T_49; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@290347.6]
+  assign _T_52 = _T_46 | _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@290348.6]
+  assign _T_54 = _T_47 & _T_48; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@290350.6]
+  assign _T_55 = _T_46 | _T_54; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@290351.6]
+  assign _T_56 = _T_45[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@290352.6]
+  assign _T_57 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@290353.6]
+  assign _T_58 = _T_57 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@290354.6]
+  assign _T_59 = _T_49 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@290355.6]
+  assign _T_60 = _T_56 & _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@290356.6]
+  assign _T_61 = _T_52 | _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@290357.6]
+  assign _T_62 = _T_49 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@290358.6]
+  assign _T_63 = _T_56 & _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@290359.6]
+  assign _T_64 = _T_52 | _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@290360.6]
+  assign _T_65 = _T_48 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@290361.6]
+  assign _T_66 = _T_56 & _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@290362.6]
+  assign _T_67 = _T_55 | _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@290363.6]
+  assign _T_68 = _T_48 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@290364.6]
+  assign _T_69 = _T_56 & _T_68; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@290365.6]
+  assign _T_70 = _T_55 | _T_69; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@290366.6]
+  assign _T_71 = {_T_64,_T_61}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@290367.6]
+  assign _T_72 = {_T_70,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@290368.6]
+  assign _T_73 = {_T_72,_T_71}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@290369.6]
+  assign _T_92 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@290392.6]
+  assign _T_94 = io_in_a_bits_address ^ 29'h10026000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@290395.8]
+  assign _T_95 = {1'b0,$signed(_T_94)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@290396.8]
+  assign _T_96 = $signed(_T_95) & $signed(-30'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@290397.8]
+  assign _T_97 = $signed(_T_96); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@290398.8]
+  assign _T_98 = $signed(_T_97) == $signed(30'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@290399.8]
+  assign _T_103 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290404.8]
+  assign _T_112 = _T_46 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290425.8]
+  assign _T_113 = _T_112 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290426.8]
+  assign _T_115 = _T_40 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290432.8]
+  assign _T_116 = _T_115 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290433.8]
+  assign _T_117 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@290438.8]
+  assign _T_119 = _T_117 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290440.8]
+  assign _T_120 = _T_119 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290441.8]
+  assign _T_121 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@290446.8]
+  assign _T_122 = _T_121 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@290447.8]
+  assign _T_124 = _T_122 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290449.8]
+  assign _T_125 = _T_124 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290450.8]
+  assign _T_126 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@290455.8]
+  assign _T_128 = _T_126 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290457.8]
+  assign _T_129 = _T_128 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290458.8]
+  assign _T_130 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@290464.6]
+  assign _T_159 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@290518.8]
+  assign _T_161 = _T_159 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290520.8]
+  assign _T_162 = _T_161 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290521.8]
+  assign _T_172 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@290544.6]
+  assign _T_174 = io_in_a_bits_size <= 2'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@290547.8]
+  assign _T_182 = _T_174 & _T_98; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@290555.8]
+  assign _T_185 = _T_182 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290558.8]
+  assign _T_186 = _T_185 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290559.8]
+  assign _T_193 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@290578.8]
+  assign _T_195 = _T_193 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290580.8]
+  assign _T_196 = _T_195 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290581.8]
+  assign _T_197 = io_in_a_bits_mask == _T_73; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@290586.8]
+  assign _T_199 = _T_197 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290588.8]
+  assign _T_200 = _T_199 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290589.8]
+  assign _T_205 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@290603.6]
+  assign _T_234 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@290654.6]
+  assign _T_259 = ~ _T_73; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@290696.8]
+  assign _T_260 = io_in_a_bits_mask & _T_259; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@290697.8]
+  assign _T_261 = _T_260 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@290698.8]
+  assign _T_263 = _T_261 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290700.8]
+  assign _T_264 = _T_263 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290701.8]
+  assign _T_265 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@290707.6]
+  assign _T_283 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@290738.8]
+  assign _T_285 = _T_283 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290740.8]
+  assign _T_286 = _T_285 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290741.8]
+  assign _T_291 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@290755.6]
+  assign _T_309 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@290786.8]
+  assign _T_311 = _T_309 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290788.8]
+  assign _T_312 = _T_311 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290789.8]
+  assign _T_317 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@290803.6]
+  assign _T_343 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@290853.6]
+  assign _T_345 = _T_343 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@290855.6]
+  assign _T_346 = _T_345 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@290856.6]
+  assign _T_363 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@290873.6]
+  assign _T_367 = io_in_d_bits_size >= 2'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@290882.8]
+  assign _T_369 = _T_367 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290884.8]
+  assign _T_370 = _T_369 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290885.8]
+  assign _T_383 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@290915.6]
+  assign _T_411 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@290973.6]
+  assign _T_504 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@291163.4]
+  assign _T_515 = _T_514 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@291173.4]
+  assign _T_516 = $unsigned(_T_515); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@291174.4]
+  assign _T_517 = _T_516[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@291175.4]
+  assign _T_518 = _T_514 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@291176.4]
+  assign _T_536 = _T_518 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@291192.4]
+  assign _T_537 = io_in_a_valid & _T_536; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@291193.4]
+  assign _T_538 = io_in_a_bits_opcode == _T_527; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@291195.6]
+  assign _T_540 = _T_538 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291197.6]
+  assign _T_541 = _T_540 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291198.6]
+  assign _T_542 = io_in_a_bits_param == _T_529; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@291203.6]
+  assign _T_544 = _T_542 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291205.6]
+  assign _T_545 = _T_544 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291206.6]
+  assign _T_546 = io_in_a_bits_size == _T_531; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@291211.6]
+  assign _T_548 = _T_546 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291213.6]
+  assign _T_549 = _T_548 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291214.6]
+  assign _T_550 = io_in_a_bits_source == _T_533; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@291219.6]
+  assign _T_552 = _T_550 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291221.6]
+  assign _T_553 = _T_552 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291222.6]
+  assign _T_554 = io_in_a_bits_address == _T_535; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@291227.6]
+  assign _T_556 = _T_554 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291229.6]
+  assign _T_557 = _T_556 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291230.6]
+  assign _T_559 = _T_504 & _T_518; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@291237.4]
+  assign _T_560 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@291245.4]
+  assign _T_570 = _T_569 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@291254.4]
+  assign _T_571 = $unsigned(_T_570); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@291255.4]
+  assign _T_572 = _T_571[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@291256.4]
+  assign _T_573 = _T_569 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@291257.4]
+  assign _T_593 = _T_573 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@291274.4]
+  assign _T_594 = io_in_d_valid & _T_593; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@291275.4]
+  assign _T_595 = io_in_d_bits_opcode == _T_582; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@291277.6]
+  assign _T_597 = _T_595 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291279.6]
+  assign _T_598 = _T_597 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291280.6]
+  assign _T_603 = io_in_d_bits_size == _T_586; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@291293.6]
+  assign _T_605 = _T_603 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291295.6]
+  assign _T_606 = _T_605 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291296.6]
+  assign _T_607 = io_in_d_bits_source == _T_588; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@291301.6]
+  assign _T_609 = _T_607 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291303.6]
+  assign _T_610 = _T_609 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291304.6]
+  assign _T_620 = _T_560 & _T_573; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@291327.4]
+  assign _T_634 = _T_633 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@291347.4]
+  assign _T_635 = $unsigned(_T_634); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@291348.4]
+  assign _T_636 = _T_635[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@291349.4]
+  assign _T_637 = _T_633 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@291350.4]
+  assign _T_655 = _T_654 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@291370.4]
+  assign _T_656 = $unsigned(_T_655); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@291371.4]
+  assign _T_657 = _T_656[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@291372.4]
+  assign _T_658 = _T_654 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@291373.4]
+  assign _T_669 = _T_504 & _T_637; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@291388.4]
+  assign _T_671 = 64'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@291391.6]
+  assign _T_672 = _T_622 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@291393.6]
+  assign _T_673 = _T_672[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@291394.6]
+  assign _T_674 = _T_673 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291395.6]
+  assign _T_676 = _T_674 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@291397.6]
+  assign _T_677 = _T_676 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@291398.6]
+  assign _GEN_15 = _T_669 ? _T_671 : 64'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@291390.4]
+  assign _T_682 = _T_560 & _T_658; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@291409.4]
+  assign _T_684 = _T_363 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@291411.4]
+  assign _T_685 = _T_682 & _T_684; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@291412.4]
+  assign _T_686 = 64'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@291414.6]
+  assign _T_687 = _GEN_15 | _T_622; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@291416.6]
+  assign _T_688 = _T_687 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@291417.6]
+  assign _T_689 = _T_688[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@291418.6]
+  assign _T_691 = _T_689 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@291420.6]
+  assign _T_692 = _T_691 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@291421.6]
+  assign _GEN_16 = _T_685 ? _T_686 : 64'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@291413.4]
+  assign _T_693 = _T_622 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@291427.4]
+  assign _T_694 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@291428.4]
+  assign _T_695 = _T_693 & _T_694; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@291429.4]
+  assign _T_698 = _T_622 != 64'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@291434.4]
+  assign _T_699 = _T_698 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@291435.4]
+  assign _T_700 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@291436.4]
+  assign _T_701 = _T_699 | _T_700; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@291437.4]
+  assign _T_702 = _T_697 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@291438.4]
+  assign _T_703 = _T_701 | _T_702; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@291439.4]
+  assign _T_705 = _T_703 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@291441.4]
+  assign _T_706 = _T_705 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@291442.4]
+  assign _T_708 = _T_697 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@291448.4]
+  assign _T_711 = _T_504 | _T_560; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@291452.4]
+  assign _GEN_19 = io_in_a_valid & _T_92; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290406.10]
+  assign _GEN_33 = io_in_a_valid & _T_130; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290478.10]
+  assign _GEN_49 = io_in_a_valid & _T_172; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290561.10]
+  assign _GEN_59 = io_in_a_valid & _T_205; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290620.10]
+  assign _GEN_67 = io_in_a_valid & _T_234; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290671.10]
+  assign _GEN_75 = io_in_a_valid & _T_265; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290721.10]
+  assign _GEN_83 = io_in_a_valid & _T_291; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290769.10]
+  assign _GEN_91 = io_in_a_valid & _T_317; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290817.10]
+  assign _GEN_99 = io_in_d_valid & _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290887.10]
+  assign _GEN_101 = io_in_d_valid & _T_383; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290928.10]
+  assign _GEN_105 = io_in_d_valid & _T_411; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290986.10]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  _T_514 = _RAND_0[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  _T_527 = _RAND_1[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  _T_529 = _RAND_2[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  _T_531 = _RAND_3[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  _T_533 = _RAND_4[5:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  _T_535 = _RAND_5[28:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {1{`RANDOM}};
+  _T_569 = _RAND_6[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {1{`RANDOM}};
+  _T_582 = _RAND_7[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_8 = {1{`RANDOM}};
+  _T_586 = _RAND_8[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_9 = {1{`RANDOM}};
+  _T_588 = _RAND_9[5:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_10 = {2{`RANDOM}};
+  _T_622 = _RAND_10[63:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_11 = {1{`RANDOM}};
+  _T_633 = _RAND_11[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_12 = {1{`RANDOM}};
+  _T_654 = _RAND_12[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_13 = {1{`RANDOM}};
+  _T_697 = _RAND_13[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      _T_514 <= 1'h0;
+    end else begin
+      if (_T_504) begin
+        if (_T_518) begin
+          _T_514 <= 1'h0;
+        end else begin
+          _T_514 <= _T_517;
+        end
+      end
+    end
+    if (_T_559) begin
+      _T_527 <= io_in_a_bits_opcode;
+    end
+    if (_T_559) begin
+      _T_529 <= io_in_a_bits_param;
+    end
+    if (_T_559) begin
+      _T_531 <= io_in_a_bits_size;
+    end
+    if (_T_559) begin
+      _T_533 <= io_in_a_bits_source;
+    end
+    if (_T_559) begin
+      _T_535 <= io_in_a_bits_address;
+    end
+    if (reset) begin
+      _T_569 <= 1'h0;
+    end else begin
+      if (_T_560) begin
+        if (_T_573) begin
+          _T_569 <= 1'h0;
+        end else begin
+          _T_569 <= _T_572;
+        end
+      end
+    end
+    if (_T_620) begin
+      _T_582 <= io_in_d_bits_opcode;
+    end
+    if (_T_620) begin
+      _T_586 <= io_in_d_bits_size;
+    end
+    if (_T_620) begin
+      _T_588 <= io_in_d_bits_source;
+    end
+    if (reset) begin
+      _T_622 <= 64'h0;
+    end else begin
+      _T_622 <= _T_695;
+    end
+    if (reset) begin
+      _T_633 <= 1'h0;
+    end else begin
+      if (_T_504) begin
+        if (_T_637) begin
+          _T_633 <= 1'h0;
+        end else begin
+          _T_633 <= _T_636;
+        end
+      end
+    end
+    if (reset) begin
+      _T_654 <= 1'h0;
+    end else begin
+      if (_T_560) begin
+        if (_T_658) begin
+          _T_654 <= 1'h0;
+        end else begin
+          _T_654 <= _T_657;
+        end
+      end
+    end
+    if (reset) begin
+      _T_697 <= 32'h0;
+    end else begin
+      if (_T_711) begin
+        _T_697 <= 32'h0;
+      end else begin
+        _T_697 <= _T_708;
+      end
+    end
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@290317.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@290318.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@290389.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@290390.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290406.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_103) begin
+          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290407.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290413.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_103) begin
+          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290414.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290420.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290421.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_113) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290428.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_113) begin
+          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290429.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290435.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_116) begin
+          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290436.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_120) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290443.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_120) begin
+          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290444.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_125) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290452.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_125) begin
+          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290453.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_129) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290460.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_129) begin
+          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290461.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290478.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_103) begin
+          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290479.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290485.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_103) begin
+          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290486.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290492.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290493.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_113) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290500.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_113) begin
+          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290501.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290507.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_116) begin
+          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290508.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_120) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290515.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_120) begin
+          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290516.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_162) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290523.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_162) begin
+          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290524.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_125) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290532.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_125) begin
+          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290533.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_129) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290540.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_129) begin
+          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290541.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_186) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290561.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_186) begin
+          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290562.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290568.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290569.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290575.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_116) begin
+          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290576.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_196) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290583.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_196) begin
+          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290584.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290591.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_200) begin
+          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290592.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_129) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290599.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_129) begin
+          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290600.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_59 & _T_186) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290620.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_59 & _T_186) begin
+          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290621.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290627.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290628.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_59 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290634.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_59 & _T_116) begin
+          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290635.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_59 & _T_196) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290642.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_59 & _T_196) begin
+          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290643.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_59 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290650.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_59 & _T_200) begin
+          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290651.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_67 & _T_186) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290671.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_67 & _T_186) begin
+          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290672.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290678.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290679.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_67 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290685.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_67 & _T_116) begin
+          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290686.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_67 & _T_196) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290693.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_67 & _T_196) begin
+          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290694.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_67 & _T_264) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290703.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_67 & _T_264) begin
+          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290704.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290721.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_103) begin
+          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290722.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290728.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290729.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290735.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_116) begin
+          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290736.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_286) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290743.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_286) begin
+          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290744.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290751.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_200) begin
+          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290752.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_83 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290769.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_83 & _T_103) begin
+          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290770.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290776.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290777.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_83 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290783.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_83 & _T_116) begin
+          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290784.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_83 & _T_312) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290791.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_83 & _T_312) begin
+          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290792.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_83 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290799.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_83 & _T_200) begin
+          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290800.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_91 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290817.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_91 & _T_103) begin
+          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290818.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290824.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290825.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_91 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290831.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_91 & _T_116) begin
+          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290832.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_91 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290839.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_91 & _T_200) begin
+          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290840.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_91 & _T_129) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290847.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_91 & _T_129) begin
+          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290848.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_346) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@290858.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_346) begin
+          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@290859.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290879.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290880.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_99 & _T_370) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290887.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_99 & _T_370) begin
+          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290888.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290895.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290896.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290903.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290904.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290911.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290912.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290921.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290922.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_101 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290928.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_101 & _T_103) begin
+          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290929.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_101 & _T_370) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290936.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_101 & _T_370) begin
+          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290937.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290944.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290945.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290952.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290953.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290960.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290961.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290969.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290970.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290979.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290980.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290986.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_103) begin
+          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290987.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_370) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290994.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_370) begin
+          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290995.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291002.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291003.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291010.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291011.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291019.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291020.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291028.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291029.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291038.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291039.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291046.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291047.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291054.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291055.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291063.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291064.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291073.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291074.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291081.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291082.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291090.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291091.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291099.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291100.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291109.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291110.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291117.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291118.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291125.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291126.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291134.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291135.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291144.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291145.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291152.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291153.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291160.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291161.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_541) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291200.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_541) begin
+          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291201.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_545) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291208.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_545) begin
+          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291209.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_549) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291216.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_549) begin
+          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291217.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_553) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291224.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_553) begin
+          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291225.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_557) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291232.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_557) begin
+          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291233.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_594 & _T_598) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291282.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_594 & _T_598) begin
+          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291283.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291290.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291291.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_594 & _T_606) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291298.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_594 & _T_606) begin
+          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291299.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_594 & _T_610) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291306.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_594 & _T_610) begin
+          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291307.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291314.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291315.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291322.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291323.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_669 & _T_677) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@291400.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_669 & _T_677) begin
+          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@291401.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_685 & _T_692) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@291423.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_685 & _T_692) begin
+          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@291424.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_706) begin
+          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@291444.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_706) begin
+          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@291445.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+endmodule
+module TLBuffer_28( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291457.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291458.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291459.4]
+  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291460.4]
+  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291460.4]
+  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291460.4]
+  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291460.4]
+  input  [1:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291460.4]
+  input  [5:0]  auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291460.4]
+  input  [28:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291460.4]
+  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291460.4]
+  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291460.4]
+  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291460.4]
+  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291460.4]
+  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291460.4]
+  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291460.4]
+  output [1:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291460.4]
+  output [5:0]  auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291460.4]
+  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291460.4]
+  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291460.4]
+  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291460.4]
+  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291460.4]
+  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291460.4]
+  output [1:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291460.4]
+  output [5:0]  auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291460.4]
+  output [28:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291460.4]
+  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291460.4]
+  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291460.4]
+  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291460.4]
+  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291460.4]
+  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291460.4]
+  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291460.4]
+  input  [1:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291460.4]
+  input  [5:0]  auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291460.4]
+  input  [31:0] auto_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291460.4]
+);
+  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@291467.4]
+  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@291467.4]
+  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@291467.4]
+  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@291467.4]
+  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@291467.4]
+  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@291467.4]
+  wire [1:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@291467.4]
+  wire [5:0] TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@291467.4]
+  wire [28:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@291467.4]
+  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@291467.4]
+  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@291467.4]
+  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@291467.4]
+  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@291467.4]
+  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@291467.4]
+  wire [1:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@291467.4]
+  wire [5:0] TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@291467.4]
+  TLMonitor_80 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@291467.4]
+    .clock(TLMonitor_clock),
+    .reset(TLMonitor_reset),
+    .io_in_a_ready(TLMonitor_io_in_a_ready),
+    .io_in_a_valid(TLMonitor_io_in_a_valid),
+    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
+    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
+    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
+    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
+    .io_in_d_ready(TLMonitor_io_in_d_ready),
+    .io_in_d_valid(TLMonitor_io_in_d_valid),
+    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
+    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
+    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source)
+  );
+  assign auto_in_a_ready = auto_out_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@291507.4]
+  assign auto_in_d_valid = auto_out_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@291507.4]
+  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@291507.4]
+  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@291507.4]
+  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@291507.4]
+  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@291507.4]
+  assign auto_out_a_valid = auto_in_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@291506.4]
+  assign auto_out_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@291506.4]
+  assign auto_out_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@291506.4]
+  assign auto_out_a_bits_size = auto_in_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@291506.4]
+  assign auto_out_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@291506.4]
+  assign auto_out_a_bits_address = auto_in_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@291506.4]
+  assign auto_out_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@291506.4]
+  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@291506.4]
+  assign auto_out_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@291506.4]
+  assign auto_out_d_ready = auto_in_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@291506.4]
+  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291469.4]
+  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291470.4]
+  assign TLMonitor_io_in_a_ready = auto_out_a_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@291503.4]
+  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@291503.4]
+  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@291503.4]
+  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@291503.4]
+  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@291503.4]
+  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@291503.4]
+  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@291503.4]
+  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@291503.4]
+  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@291503.4]
+  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@291503.4]
+  assign TLMonitor_io_in_d_valid = auto_out_d_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@291503.4]
+  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@291503.4]
+  assign TLMonitor_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@291503.4]
+  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@291503.4]
+endmodule
+module TLMonitor_81( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291578.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291579.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291580.4]
+  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291581.4]
+  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291581.4]
+  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291581.4]
+  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291581.4]
+  input  [1:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291581.4]
+  input  [5:0]  io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291581.4]
+  input  [28:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291581.4]
+  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291581.4]
+  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291581.4]
+  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291581.4]
+  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291581.4]
+  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291581.4]
+  input  [1:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291581.4]
+  input  [5:0]  io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291581.4]
+);
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@292708.4]
+  wire [4:0] _T_36; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@291608.6]
+  wire [1:0] _T_37; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@291609.6]
+  wire [1:0] _T_38; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@291610.6]
+  wire [28:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@291611.6]
+  wire [28:0] _T_39; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@291611.6]
+  wire  _T_40; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@291612.6]
+  wire  _T_42; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@291614.6]
+  wire [1:0] _T_43; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@291615.6]
+  wire [1:0] _T_45; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@291617.6]
+  wire  _T_46; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@291618.6]
+  wire  _T_47; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@291619.6]
+  wire  _T_48; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@291620.6]
+  wire  _T_49; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@291621.6]
+  wire  _T_51; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@291623.6]
+  wire  _T_52; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@291624.6]
+  wire  _T_54; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@291626.6]
+  wire  _T_55; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@291627.6]
+  wire  _T_56; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@291628.6]
+  wire  _T_57; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@291629.6]
+  wire  _T_58; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@291630.6]
+  wire  _T_59; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@291631.6]
+  wire  _T_60; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@291632.6]
+  wire  _T_61; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@291633.6]
+  wire  _T_62; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@291634.6]
+  wire  _T_63; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@291635.6]
+  wire  _T_64; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@291636.6]
+  wire  _T_65; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@291637.6]
+  wire  _T_66; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@291638.6]
+  wire  _T_67; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@291639.6]
+  wire  _T_68; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@291640.6]
+  wire  _T_69; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@291641.6]
+  wire  _T_70; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@291642.6]
+  wire [1:0] _T_71; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@291643.6]
+  wire [1:0] _T_72; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@291644.6]
+  wire [3:0] _T_73; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@291645.6]
+  wire  _T_92; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@291668.6]
+  wire [28:0] _T_94; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@291671.8]
+  wire [29:0] _T_95; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@291672.8]
+  wire [29:0] _T_96; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@291673.8]
+  wire [29:0] _T_97; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@291674.8]
+  wire  _T_98; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@291675.8]
+  wire  _T_103; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291680.8]
+  wire  _T_112; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291701.8]
+  wire  _T_113; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291702.8]
+  wire  _T_115; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291708.8]
+  wire  _T_116; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291709.8]
+  wire  _T_117; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@291714.8]
+  wire  _T_119; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291716.8]
+  wire  _T_120; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291717.8]
+  wire [3:0] _T_121; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@291722.8]
+  wire  _T_122; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@291723.8]
+  wire  _T_124; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291725.8]
+  wire  _T_125; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291726.8]
+  wire  _T_126; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@291731.8]
+  wire  _T_128; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291733.8]
+  wire  _T_129; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291734.8]
+  wire  _T_130; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@291740.6]
+  wire  _T_159; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@291794.8]
+  wire  _T_161; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291796.8]
+  wire  _T_162; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291797.8]
+  wire  _T_172; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@291820.6]
+  wire  _T_174; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@291823.8]
+  wire  _T_182; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@291831.8]
+  wire  _T_185; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291834.8]
+  wire  _T_186; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291835.8]
+  wire  _T_193; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@291854.8]
+  wire  _T_195; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291856.8]
+  wire  _T_196; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291857.8]
+  wire  _T_197; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@291862.8]
+  wire  _T_199; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291864.8]
+  wire  _T_200; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291865.8]
+  wire  _T_205; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@291879.6]
+  wire  _T_234; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@291930.6]
+  wire [3:0] _T_259; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@291972.8]
+  wire [3:0] _T_260; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@291973.8]
+  wire  _T_261; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@291974.8]
+  wire  _T_263; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291976.8]
+  wire  _T_264; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291977.8]
+  wire  _T_265; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@291983.6]
+  wire  _T_283; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@292014.8]
+  wire  _T_285; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292016.8]
+  wire  _T_286; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292017.8]
+  wire  _T_291; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@292031.6]
+  wire  _T_309; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@292062.8]
+  wire  _T_311; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292064.8]
+  wire  _T_312; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292065.8]
+  wire  _T_317; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@292079.6]
+  wire  _T_343; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292129.6]
+  wire  _T_345; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@292131.6]
+  wire  _T_346; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@292132.6]
+  wire  _T_363; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@292149.6]
+  wire  _T_367; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@292158.8]
+  wire  _T_369; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292160.8]
+  wire  _T_370; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292161.8]
+  wire  _T_383; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@292191.6]
+  wire  _T_411; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@292249.6]
+  wire  _T_504; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@292439.4]
+  reg  _T_514; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@292448.4]
+  reg [31:0] _RAND_0;
+  wire [1:0] _T_515; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292449.4]
+  wire [1:0] _T_516; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292450.4]
+  wire  _T_517; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292451.4]
+  wire  _T_518; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@292452.4]
+  reg [2:0] _T_527; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@292463.4]
+  reg [31:0] _RAND_1;
+  reg [2:0] _T_529; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@292464.4]
+  reg [31:0] _RAND_2;
+  reg [1:0] _T_531; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@292465.4]
+  reg [31:0] _RAND_3;
+  reg [5:0] _T_533; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@292466.4]
+  reg [31:0] _RAND_4;
+  reg [28:0] _T_535; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@292467.4]
+  reg [31:0] _RAND_5;
+  wire  _T_536; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@292468.4]
+  wire  _T_537; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@292469.4]
+  wire  _T_538; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@292471.6]
+  wire  _T_540; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292473.6]
+  wire  _T_541; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292474.6]
+  wire  _T_542; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@292479.6]
+  wire  _T_544; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292481.6]
+  wire  _T_545; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292482.6]
+  wire  _T_546; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@292487.6]
+  wire  _T_548; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292489.6]
+  wire  _T_549; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292490.6]
+  wire  _T_550; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@292495.6]
+  wire  _T_552; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292497.6]
+  wire  _T_553; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292498.6]
+  wire  _T_554; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@292503.6]
+  wire  _T_556; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292505.6]
+  wire  _T_557; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292506.6]
+  wire  _T_559; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@292513.4]
+  wire  _T_560; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@292521.4]
+  reg  _T_569; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@292529.4]
+  reg [31:0] _RAND_6;
+  wire [1:0] _T_570; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292530.4]
+  wire [1:0] _T_571; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292531.4]
+  wire  _T_572; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292532.4]
+  wire  _T_573; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@292533.4]
+  reg [2:0] _T_582; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@292544.4]
+  reg [31:0] _RAND_7;
+  reg [1:0] _T_586; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@292546.4]
+  reg [31:0] _RAND_8;
+  reg [5:0] _T_588; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@292547.4]
+  reg [31:0] _RAND_9;
+  wire  _T_593; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@292550.4]
+  wire  _T_594; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@292551.4]
+  wire  _T_595; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@292553.6]
+  wire  _T_597; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292555.6]
+  wire  _T_598; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292556.6]
+  wire  _T_603; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@292569.6]
+  wire  _T_605; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292571.6]
+  wire  _T_606; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292572.6]
+  wire  _T_607; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@292577.6]
+  wire  _T_609; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292579.6]
+  wire  _T_610; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292580.6]
+  wire  _T_620; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@292603.4]
+  reg [63:0] _T_622; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@292612.4]
+  reg [63:0] _RAND_10;
+  reg  _T_633; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@292622.4]
+  reg [31:0] _RAND_11;
+  wire [1:0] _T_634; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292623.4]
+  wire [1:0] _T_635; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292624.4]
+  wire  _T_636; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292625.4]
+  wire  _T_637; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@292626.4]
+  reg  _T_654; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@292645.4]
+  reg [31:0] _RAND_12;
+  wire [1:0] _T_655; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292646.4]
+  wire [1:0] _T_656; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292647.4]
+  wire  _T_657; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292648.4]
+  wire  _T_658; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@292649.4]
+  wire  _T_669; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@292664.4]
+  wire [63:0] _T_671; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@292667.6]
+  wire [63:0] _T_672; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@292669.6]
+  wire  _T_673; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@292670.6]
+  wire  _T_674; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292671.6]
+  wire  _T_676; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@292673.6]
+  wire  _T_677; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@292674.6]
+  wire [63:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@292666.4]
+  wire  _T_682; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@292685.4]
+  wire  _T_684; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@292687.4]
+  wire  _T_685; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@292688.4]
+  wire [63:0] _T_686; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@292690.6]
+  wire [63:0] _T_687; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@292692.6]
+  wire [63:0] _T_688; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@292693.6]
+  wire  _T_689; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@292694.6]
+  wire  _T_691; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@292696.6]
+  wire  _T_692; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@292697.6]
+  wire [63:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@292689.4]
+  wire [63:0] _T_693; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@292703.4]
+  wire [63:0] _T_694; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@292704.4]
+  wire [63:0] _T_695; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@292705.4]
+  reg [31:0] _T_697; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@292707.4]
+  reg [31:0] _RAND_13;
+  wire  _T_698; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@292710.4]
+  wire  _T_699; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@292711.4]
+  wire  _T_700; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@292712.4]
+  wire  _T_701; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@292713.4]
+  wire  _T_702; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@292714.4]
+  wire  _T_703; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@292715.4]
+  wire  _T_705; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@292717.4]
+  wire  _T_706; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@292718.4]
+  wire [31:0] _T_708; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@292724.4]
+  wire  _T_711; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@292728.4]
+  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291682.10]
+  wire  _GEN_33; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291754.10]
+  wire  _GEN_49; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291837.10]
+  wire  _GEN_59; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291896.10]
+  wire  _GEN_67; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291947.10]
+  wire  _GEN_75; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291997.10]
+  wire  _GEN_83; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292045.10]
+  wire  _GEN_91; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292093.10]
+  wire  _GEN_99; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292163.10]
+  wire  _GEN_101; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292204.10]
+  wire  _GEN_105; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292262.10]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@292708.4]
+    .out(plusarg_reader_out)
+  );
+  assign _T_36 = 5'h3 << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@291608.6]
+  assign _T_37 = _T_36[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@291609.6]
+  assign _T_38 = ~ _T_37; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@291610.6]
+  assign _GEN_18 = {{27'd0}, _T_38}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@291611.6]
+  assign _T_39 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@291611.6]
+  assign _T_40 = _T_39 == 29'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@291612.6]
+  assign _T_42 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@291614.6]
+  assign _T_43 = 2'h1 << _T_42; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@291615.6]
+  assign _T_45 = _T_43 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@291617.6]
+  assign _T_46 = io_in_a_bits_size >= 2'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@291618.6]
+  assign _T_47 = _T_45[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@291619.6]
+  assign _T_48 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@291620.6]
+  assign _T_49 = _T_48 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@291621.6]
+  assign _T_51 = _T_47 & _T_49; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@291623.6]
+  assign _T_52 = _T_46 | _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@291624.6]
+  assign _T_54 = _T_47 & _T_48; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@291626.6]
+  assign _T_55 = _T_46 | _T_54; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@291627.6]
+  assign _T_56 = _T_45[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@291628.6]
+  assign _T_57 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@291629.6]
+  assign _T_58 = _T_57 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@291630.6]
+  assign _T_59 = _T_49 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@291631.6]
+  assign _T_60 = _T_56 & _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@291632.6]
+  assign _T_61 = _T_52 | _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@291633.6]
+  assign _T_62 = _T_49 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@291634.6]
+  assign _T_63 = _T_56 & _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@291635.6]
+  assign _T_64 = _T_52 | _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@291636.6]
+  assign _T_65 = _T_48 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@291637.6]
+  assign _T_66 = _T_56 & _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@291638.6]
+  assign _T_67 = _T_55 | _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@291639.6]
+  assign _T_68 = _T_48 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@291640.6]
+  assign _T_69 = _T_56 & _T_68; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@291641.6]
+  assign _T_70 = _T_55 | _T_69; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@291642.6]
+  assign _T_71 = {_T_64,_T_61}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@291643.6]
+  assign _T_72 = {_T_70,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@291644.6]
+  assign _T_73 = {_T_72,_T_71}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@291645.6]
+  assign _T_92 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@291668.6]
+  assign _T_94 = io_in_a_bits_address ^ 29'h10026000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@291671.8]
+  assign _T_95 = {1'b0,$signed(_T_94)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@291672.8]
+  assign _T_96 = $signed(_T_95) & $signed(-30'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@291673.8]
+  assign _T_97 = $signed(_T_96); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@291674.8]
+  assign _T_98 = $signed(_T_97) == $signed(30'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@291675.8]
+  assign _T_103 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291680.8]
+  assign _T_112 = _T_46 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291701.8]
+  assign _T_113 = _T_112 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291702.8]
+  assign _T_115 = _T_40 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291708.8]
+  assign _T_116 = _T_115 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291709.8]
+  assign _T_117 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@291714.8]
+  assign _T_119 = _T_117 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291716.8]
+  assign _T_120 = _T_119 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291717.8]
+  assign _T_121 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@291722.8]
+  assign _T_122 = _T_121 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@291723.8]
+  assign _T_124 = _T_122 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291725.8]
+  assign _T_125 = _T_124 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291726.8]
+  assign _T_126 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@291731.8]
+  assign _T_128 = _T_126 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291733.8]
+  assign _T_129 = _T_128 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291734.8]
+  assign _T_130 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@291740.6]
+  assign _T_159 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@291794.8]
+  assign _T_161 = _T_159 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291796.8]
+  assign _T_162 = _T_161 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291797.8]
+  assign _T_172 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@291820.6]
+  assign _T_174 = io_in_a_bits_size <= 2'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@291823.8]
+  assign _T_182 = _T_174 & _T_98; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@291831.8]
+  assign _T_185 = _T_182 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291834.8]
+  assign _T_186 = _T_185 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291835.8]
+  assign _T_193 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@291854.8]
+  assign _T_195 = _T_193 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291856.8]
+  assign _T_196 = _T_195 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291857.8]
+  assign _T_197 = io_in_a_bits_mask == _T_73; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@291862.8]
+  assign _T_199 = _T_197 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291864.8]
+  assign _T_200 = _T_199 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291865.8]
+  assign _T_205 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@291879.6]
+  assign _T_234 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@291930.6]
+  assign _T_259 = ~ _T_73; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@291972.8]
+  assign _T_260 = io_in_a_bits_mask & _T_259; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@291973.8]
+  assign _T_261 = _T_260 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@291974.8]
+  assign _T_263 = _T_261 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291976.8]
+  assign _T_264 = _T_263 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291977.8]
+  assign _T_265 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@291983.6]
+  assign _T_283 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@292014.8]
+  assign _T_285 = _T_283 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292016.8]
+  assign _T_286 = _T_285 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292017.8]
+  assign _T_291 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@292031.6]
+  assign _T_309 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@292062.8]
+  assign _T_311 = _T_309 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292064.8]
+  assign _T_312 = _T_311 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292065.8]
+  assign _T_317 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@292079.6]
+  assign _T_343 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292129.6]
+  assign _T_345 = _T_343 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@292131.6]
+  assign _T_346 = _T_345 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@292132.6]
+  assign _T_363 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@292149.6]
+  assign _T_367 = io_in_d_bits_size >= 2'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@292158.8]
+  assign _T_369 = _T_367 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292160.8]
+  assign _T_370 = _T_369 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292161.8]
+  assign _T_383 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@292191.6]
+  assign _T_411 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@292249.6]
+  assign _T_504 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@292439.4]
+  assign _T_515 = _T_514 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292449.4]
+  assign _T_516 = $unsigned(_T_515); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292450.4]
+  assign _T_517 = _T_516[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292451.4]
+  assign _T_518 = _T_514 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@292452.4]
+  assign _T_536 = _T_518 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@292468.4]
+  assign _T_537 = io_in_a_valid & _T_536; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@292469.4]
+  assign _T_538 = io_in_a_bits_opcode == _T_527; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@292471.6]
+  assign _T_540 = _T_538 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292473.6]
+  assign _T_541 = _T_540 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292474.6]
+  assign _T_542 = io_in_a_bits_param == _T_529; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@292479.6]
+  assign _T_544 = _T_542 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292481.6]
+  assign _T_545 = _T_544 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292482.6]
+  assign _T_546 = io_in_a_bits_size == _T_531; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@292487.6]
+  assign _T_548 = _T_546 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292489.6]
+  assign _T_549 = _T_548 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292490.6]
+  assign _T_550 = io_in_a_bits_source == _T_533; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@292495.6]
+  assign _T_552 = _T_550 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292497.6]
+  assign _T_553 = _T_552 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292498.6]
+  assign _T_554 = io_in_a_bits_address == _T_535; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@292503.6]
+  assign _T_556 = _T_554 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292505.6]
+  assign _T_557 = _T_556 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292506.6]
+  assign _T_559 = _T_504 & _T_518; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@292513.4]
+  assign _T_560 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@292521.4]
+  assign _T_570 = _T_569 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292530.4]
+  assign _T_571 = $unsigned(_T_570); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292531.4]
+  assign _T_572 = _T_571[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292532.4]
+  assign _T_573 = _T_569 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@292533.4]
+  assign _T_593 = _T_573 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@292550.4]
+  assign _T_594 = io_in_d_valid & _T_593; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@292551.4]
+  assign _T_595 = io_in_d_bits_opcode == _T_582; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@292553.6]
+  assign _T_597 = _T_595 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292555.6]
+  assign _T_598 = _T_597 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292556.6]
+  assign _T_603 = io_in_d_bits_size == _T_586; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@292569.6]
+  assign _T_605 = _T_603 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292571.6]
+  assign _T_606 = _T_605 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292572.6]
+  assign _T_607 = io_in_d_bits_source == _T_588; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@292577.6]
+  assign _T_609 = _T_607 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292579.6]
+  assign _T_610 = _T_609 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292580.6]
+  assign _T_620 = _T_560 & _T_573; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@292603.4]
+  assign _T_634 = _T_633 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292623.4]
+  assign _T_635 = $unsigned(_T_634); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292624.4]
+  assign _T_636 = _T_635[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292625.4]
+  assign _T_637 = _T_633 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@292626.4]
+  assign _T_655 = _T_654 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292646.4]
+  assign _T_656 = $unsigned(_T_655); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292647.4]
+  assign _T_657 = _T_656[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292648.4]
+  assign _T_658 = _T_654 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@292649.4]
+  assign _T_669 = _T_504 & _T_637; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@292664.4]
+  assign _T_671 = 64'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@292667.6]
+  assign _T_672 = _T_622 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@292669.6]
+  assign _T_673 = _T_672[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@292670.6]
+  assign _T_674 = _T_673 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292671.6]
+  assign _T_676 = _T_674 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@292673.6]
+  assign _T_677 = _T_676 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@292674.6]
+  assign _GEN_15 = _T_669 ? _T_671 : 64'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@292666.4]
+  assign _T_682 = _T_560 & _T_658; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@292685.4]
+  assign _T_684 = _T_363 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@292687.4]
+  assign _T_685 = _T_682 & _T_684; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@292688.4]
+  assign _T_686 = 64'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@292690.6]
+  assign _T_687 = _GEN_15 | _T_622; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@292692.6]
+  assign _T_688 = _T_687 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@292693.6]
+  assign _T_689 = _T_688[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@292694.6]
+  assign _T_691 = _T_689 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@292696.6]
+  assign _T_692 = _T_691 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@292697.6]
+  assign _GEN_16 = _T_685 ? _T_686 : 64'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@292689.4]
+  assign _T_693 = _T_622 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@292703.4]
+  assign _T_694 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@292704.4]
+  assign _T_695 = _T_693 & _T_694; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@292705.4]
+  assign _T_698 = _T_622 != 64'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@292710.4]
+  assign _T_699 = _T_698 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@292711.4]
+  assign _T_700 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@292712.4]
+  assign _T_701 = _T_699 | _T_700; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@292713.4]
+  assign _T_702 = _T_697 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@292714.4]
+  assign _T_703 = _T_701 | _T_702; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@292715.4]
+  assign _T_705 = _T_703 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@292717.4]
+  assign _T_706 = _T_705 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@292718.4]
+  assign _T_708 = _T_697 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@292724.4]
+  assign _T_711 = _T_504 | _T_560; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@292728.4]
+  assign _GEN_19 = io_in_a_valid & _T_92; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291682.10]
+  assign _GEN_33 = io_in_a_valid & _T_130; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291754.10]
+  assign _GEN_49 = io_in_a_valid & _T_172; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291837.10]
+  assign _GEN_59 = io_in_a_valid & _T_205; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291896.10]
+  assign _GEN_67 = io_in_a_valid & _T_234; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291947.10]
+  assign _GEN_75 = io_in_a_valid & _T_265; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291997.10]
+  assign _GEN_83 = io_in_a_valid & _T_291; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292045.10]
+  assign _GEN_91 = io_in_a_valid & _T_317; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292093.10]
+  assign _GEN_99 = io_in_d_valid & _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292163.10]
+  assign _GEN_101 = io_in_d_valid & _T_383; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292204.10]
+  assign _GEN_105 = io_in_d_valid & _T_411; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292262.10]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  _T_514 = _RAND_0[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  _T_527 = _RAND_1[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  _T_529 = _RAND_2[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  _T_531 = _RAND_3[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  _T_533 = _RAND_4[5:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  _T_535 = _RAND_5[28:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {1{`RANDOM}};
+  _T_569 = _RAND_6[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {1{`RANDOM}};
+  _T_582 = _RAND_7[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_8 = {1{`RANDOM}};
+  _T_586 = _RAND_8[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_9 = {1{`RANDOM}};
+  _T_588 = _RAND_9[5:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_10 = {2{`RANDOM}};
+  _T_622 = _RAND_10[63:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_11 = {1{`RANDOM}};
+  _T_633 = _RAND_11[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_12 = {1{`RANDOM}};
+  _T_654 = _RAND_12[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_13 = {1{`RANDOM}};
+  _T_697 = _RAND_13[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      _T_514 <= 1'h0;
+    end else begin
+      if (_T_504) begin
+        if (_T_518) begin
+          _T_514 <= 1'h0;
+        end else begin
+          _T_514 <= _T_517;
+        end
+      end
+    end
+    if (_T_559) begin
+      _T_527 <= io_in_a_bits_opcode;
+    end
+    if (_T_559) begin
+      _T_529 <= io_in_a_bits_param;
+    end
+    if (_T_559) begin
+      _T_531 <= io_in_a_bits_size;
+    end
+    if (_T_559) begin
+      _T_533 <= io_in_a_bits_source;
+    end
+    if (_T_559) begin
+      _T_535 <= io_in_a_bits_address;
+    end
+    if (reset) begin
+      _T_569 <= 1'h0;
+    end else begin
+      if (_T_560) begin
+        if (_T_573) begin
+          _T_569 <= 1'h0;
+        end else begin
+          _T_569 <= _T_572;
+        end
+      end
+    end
+    if (_T_620) begin
+      _T_582 <= io_in_d_bits_opcode;
+    end
+    if (_T_620) begin
+      _T_586 <= io_in_d_bits_size;
+    end
+    if (_T_620) begin
+      _T_588 <= io_in_d_bits_source;
+    end
+    if (reset) begin
+      _T_622 <= 64'h0;
+    end else begin
+      _T_622 <= _T_695;
+    end
+    if (reset) begin
+      _T_633 <= 1'h0;
+    end else begin
+      if (_T_504) begin
+        if (_T_637) begin
+          _T_633 <= 1'h0;
+        end else begin
+          _T_633 <= _T_636;
+        end
+      end
+    end
+    if (reset) begin
+      _T_654 <= 1'h0;
+    end else begin
+      if (_T_560) begin
+        if (_T_658) begin
+          _T_654 <= 1'h0;
+        end else begin
+          _T_654 <= _T_657;
+        end
+      end
+    end
+    if (reset) begin
+      _T_697 <= 32'h0;
+    end else begin
+      if (_T_711) begin
+        _T_697 <= 32'h0;
+      end else begin
+        _T_697 <= _T_708;
+      end
+    end
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@291593.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@291594.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@291665.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@291666.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291682.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_103) begin
+          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291683.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291689.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_103) begin
+          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291690.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291696.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291697.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_113) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291704.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_113) begin
+          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291705.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291711.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_116) begin
+          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291712.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_120) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291719.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_120) begin
+          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291720.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_125) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291728.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_125) begin
+          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291729.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_19 & _T_129) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291736.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_19 & _T_129) begin
+          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291737.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291754.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_103) begin
+          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291755.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291761.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_103) begin
+          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291762.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291768.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291769.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_113) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291776.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_113) begin
+          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291777.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291783.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_116) begin
+          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291784.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_120) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291791.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_120) begin
+          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291792.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_162) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291799.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_162) begin
+          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291800.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_125) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291808.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_125) begin
+          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291809.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_33 & _T_129) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291816.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_33 & _T_129) begin
+          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291817.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_186) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291837.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_186) begin
+          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291838.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291844.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291845.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291851.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_116) begin
+          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291852.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_196) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291859.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_196) begin
+          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291860.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291867.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_200) begin
+          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291868.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_49 & _T_129) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291875.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_49 & _T_129) begin
+          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291876.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_59 & _T_186) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291896.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_59 & _T_186) begin
+          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291897.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291903.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291904.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_59 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291910.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_59 & _T_116) begin
+          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291911.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_59 & _T_196) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291918.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_59 & _T_196) begin
+          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291919.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_59 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291926.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_59 & _T_200) begin
+          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291927.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_67 & _T_186) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291947.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_67 & _T_186) begin
+          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291948.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291954.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291955.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_67 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291961.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_67 & _T_116) begin
+          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291962.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_67 & _T_196) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291969.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_67 & _T_196) begin
+          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291970.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_67 & _T_264) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291979.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_67 & _T_264) begin
+          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291980.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291997.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_103) begin
+          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291998.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292004.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292005.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292011.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_116) begin
+          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292012.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_286) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292019.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_286) begin
+          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292020.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_75 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292027.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_75 & _T_200) begin
+          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292028.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_83 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292045.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_83 & _T_103) begin
+          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292046.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292052.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292053.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_83 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292059.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_83 & _T_116) begin
+          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292060.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_83 & _T_312) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292067.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_83 & _T_312) begin
+          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292068.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_83 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292075.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_83 & _T_200) begin
+          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292076.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_91 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292093.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_91 & _T_103) begin
+          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292094.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292100.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292101.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_91 & _T_116) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292107.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_91 & _T_116) begin
+          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292108.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_91 & _T_200) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292115.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_91 & _T_200) begin
+          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292116.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_91 & _T_129) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292123.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_91 & _T_129) begin
+          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292124.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_346) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@292134.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_346) begin
+          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@292135.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292155.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292156.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_99 & _T_370) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292163.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_99 & _T_370) begin
+          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292164.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292171.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292172.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292179.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292180.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292187.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292188.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292197.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292198.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_101 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292204.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_101 & _T_103) begin
+          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292205.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_101 & _T_370) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292212.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_101 & _T_370) begin
+          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292213.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292220.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292221.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292228.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292229.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292236.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292237.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292245.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292246.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292255.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292256.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_103) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292262.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_103) begin
+          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292263.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_105 & _T_370) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292270.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_105 & _T_370) begin
+          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292271.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292278.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292279.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292286.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292287.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292295.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292296.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292304.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292305.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292314.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292315.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292322.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292323.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292330.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292331.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292339.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292340.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292349.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292350.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292357.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292358.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292366.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292367.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292375.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292376.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292385.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292386.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292393.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292394.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292401.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292402.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292410.10]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292411.10]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292420.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292421.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292428.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292429.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292436.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292437.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_541) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292476.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_541) begin
+          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292477.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_545) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292484.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_545) begin
+          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292485.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_549) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292492.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_549) begin
+          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292493.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_553) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292500.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_553) begin
+          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292501.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & _T_557) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292508.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_537 & _T_557) begin
+          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292509.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_594 & _T_598) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292558.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_594 & _T_598) begin
+          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292559.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292566.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292567.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_594 & _T_606) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292574.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_594 & _T_606) begin
+          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292575.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_594 & _T_610) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292582.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_594 & _T_610) begin
+          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292583.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292590.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292591.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (1'h0) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292598.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (1'h0) begin
+          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292599.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_669 & _T_677) begin
+          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@292676.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_669 & _T_677) begin
+          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@292677.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_685 & _T_692) begin
+          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@292699.8]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_685 & _T_692) begin
+          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@292700.8]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_706) begin
+          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@292720.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_706) begin
+          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@292721.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+endmodule
+module TLI2C_1( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@292733.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@292734.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@292735.4]
+  output        auto_int_xing_out_sync_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@292736.4]
+  output        auto_control_xing_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@292736.4]
+  input         auto_control_xing_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@292736.4]
+  input  [2:0]  auto_control_xing_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@292736.4]
+  input  [2:0]  auto_control_xing_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@292736.4]
+  input  [1:0]  auto_control_xing_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@292736.4]
+  input  [5:0]  auto_control_xing_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@292736.4]
+  input  [28:0] auto_control_xing_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@292736.4]
+  input  [3:0]  auto_control_xing_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@292736.4]
+  input  [31:0] auto_control_xing_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@292736.4]
+  input         auto_control_xing_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@292736.4]
+  input         auto_control_xing_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@292736.4]
+  output        auto_control_xing_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@292736.4]
+  output [2:0]  auto_control_xing_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@292736.4]
+  output [1:0]  auto_control_xing_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@292736.4]
+  output [5:0]  auto_control_xing_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@292736.4]
+  output [31:0] auto_control_xing_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@292736.4]
+  input         auto_io_out_scl_in, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@292736.4]
+  output        auto_io_out_scl_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@292736.4]
+  input         auto_io_out_sda_in, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@292736.4]
+  output        auto_io_out_sda_oe // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@292736.4]
+);
+  wire  buffer_clock; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292741.4]
+  wire  buffer_reset; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292741.4]
+  wire  buffer_auto_in_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292741.4]
+  wire  buffer_auto_in_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292741.4]
+  wire [2:0] buffer_auto_in_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292741.4]
+  wire [2:0] buffer_auto_in_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292741.4]
+  wire [1:0] buffer_auto_in_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292741.4]
+  wire [5:0] buffer_auto_in_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292741.4]
+  wire [28:0] buffer_auto_in_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292741.4]
+  wire [3:0] buffer_auto_in_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292741.4]
+  wire [31:0] buffer_auto_in_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292741.4]
+  wire  buffer_auto_in_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292741.4]
+  wire  buffer_auto_in_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292741.4]
+  wire  buffer_auto_in_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292741.4]
+  wire [2:0] buffer_auto_in_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292741.4]
+  wire [1:0] buffer_auto_in_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292741.4]
+  wire [5:0] buffer_auto_in_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292741.4]
+  wire [31:0] buffer_auto_in_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292741.4]
+  wire  buffer_auto_out_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292741.4]
+  wire  buffer_auto_out_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292741.4]
+  wire [2:0] buffer_auto_out_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292741.4]
+  wire [2:0] buffer_auto_out_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292741.4]
+  wire [1:0] buffer_auto_out_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292741.4]
+  wire [5:0] buffer_auto_out_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292741.4]
+  wire [28:0] buffer_auto_out_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292741.4]
+  wire [3:0] buffer_auto_out_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292741.4]
+  wire [31:0] buffer_auto_out_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292741.4]
+  wire  buffer_auto_out_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292741.4]
+  wire  buffer_auto_out_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292741.4]
+  wire  buffer_auto_out_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292741.4]
+  wire [2:0] buffer_auto_out_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292741.4]
+  wire [1:0] buffer_auto_out_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292741.4]
+  wire [5:0] buffer_auto_out_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292741.4]
+  wire [31:0] buffer_auto_out_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292741.4]
+  wire  intsource_clock; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@292747.4]
+  wire  intsource_reset; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@292747.4]
+  wire  intsource_auto_in_0; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@292747.4]
+  wire  intsource_auto_out_sync_0; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@292747.4]
+  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@292759.4]
+  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@292759.4]
+  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@292759.4]
+  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@292759.4]
+  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@292759.4]
+  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@292759.4]
+  wire [1:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@292759.4]
+  wire [5:0] TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@292759.4]
+  wire [28:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@292759.4]
+  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@292759.4]
+  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@292759.4]
+  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@292759.4]
+  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@292759.4]
+  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@292759.4]
+  wire [1:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@292759.4]
+  wire [5:0] TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@292759.4]
+  reg [7:0] prescaler_hi; // @[I2C.scala 119:25:shc.marmotcaravel.MarmotCaravelConfig.fir@292822.4]
+  reg [31:0] _RAND_0;
+  reg [7:0] prescaler_lo; // @[I2C.scala 119:25:shc.marmotcaravel.MarmotCaravelConfig.fir@292822.4]
+  reg [31:0] _RAND_1;
+  reg  control_coreEn; // @[I2C.scala 120:25:shc.marmotcaravel.MarmotCaravelConfig.fir@292834.4]
+  reg [31:0] _RAND_2;
+  reg  control_intEn; // @[I2C.scala 120:25:shc.marmotcaravel.MarmotCaravelConfig.fir@292834.4]
+  reg [31:0] _RAND_3;
+  reg [7:0] transmitData; // @[I2C.scala 121:25:shc.marmotcaravel.MarmotCaravelConfig.fir@292835.4]
+  reg [31:0] _RAND_4;
+  reg [7:0] receivedData; // @[I2C.scala 122:25:shc.marmotcaravel.MarmotCaravelConfig.fir@292836.4]
+  reg [31:0] _RAND_5;
+  reg  cmd_start; // @[I2C.scala 123:25:shc.marmotcaravel.MarmotCaravelConfig.fir@292856.4]
+  reg [31:0] _RAND_6;
+  reg  cmd_stop; // @[I2C.scala 123:25:shc.marmotcaravel.MarmotCaravelConfig.fir@292856.4]
+  reg [31:0] _RAND_7;
+  reg  cmd_read; // @[I2C.scala 123:25:shc.marmotcaravel.MarmotCaravelConfig.fir@292856.4]
+  reg [31:0] _RAND_8;
+  reg  cmd_write; // @[I2C.scala 123:25:shc.marmotcaravel.MarmotCaravelConfig.fir@292856.4]
+  reg [31:0] _RAND_9;
+  reg  cmd_ack; // @[I2C.scala 123:25:shc.marmotcaravel.MarmotCaravelConfig.fir@292856.4]
+  reg [31:0] _RAND_10;
+  reg  cmd_irqAck; // @[I2C.scala 123:25:shc.marmotcaravel.MarmotCaravelConfig.fir@292856.4]
+  reg [31:0] _RAND_11;
+  reg  status_receivedAck; // @[I2C.scala 124:25:shc.marmotcaravel.MarmotCaravelConfig.fir@292874.4]
+  reg [31:0] _RAND_12;
+  reg  status_busy; // @[I2C.scala 124:25:shc.marmotcaravel.MarmotCaravelConfig.fir@292874.4]
+  reg [31:0] _RAND_13;
+  reg  status_arbLost; // @[I2C.scala 124:25:shc.marmotcaravel.MarmotCaravelConfig.fir@292874.4]
+  reg [31:0] _RAND_14;
+  reg  status_transferInProgress; // @[I2C.scala 124:25:shc.marmotcaravel.MarmotCaravelConfig.fir@292874.4]
+  reg [31:0] _RAND_15;
+  reg  status_irqFlag; // @[I2C.scala 124:25:shc.marmotcaravel.MarmotCaravelConfig.fir@292874.4]
+  reg [31:0] _RAND_16;
+  reg [13:0] filterCnt; // @[I2C.scala 133:22:shc.marmotcaravel.MarmotCaravelConfig.fir@292877.4]
+  reg [31:0] _RAND_17;
+  wire  _T_346; // @[I2C.scala 134:10:shc.marmotcaravel.MarmotCaravelConfig.fir@292878.4]
+  wire  _T_347; // @[I2C.scala 136:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292883.6]
+  wire  _T_348; // @[I2C.scala 136:16:shc.marmotcaravel.MarmotCaravelConfig.fir@292884.6]
+  wire [15:0] _T_349; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@292886.8]
+  wire [13:0] _T_350; // @[I2C.scala 137:50:shc.marmotcaravel.MarmotCaravelConfig.fir@292887.8]
+  wire [14:0] _T_351; // @[I2C.scala 139:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292891.8]
+  wire [14:0] _T_352; // @[I2C.scala 139:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292892.8]
+  wire [13:0] _T_353; // @[I2C.scala 139:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292893.8]
+  reg [2:0] fSCL; // @[I2C.scala 142:22:shc.marmotcaravel.MarmotCaravelConfig.fir@292896.4]
+  reg [31:0] _RAND_18;
+  reg [2:0] fSDA; // @[I2C.scala 143:22:shc.marmotcaravel.MarmotCaravelConfig.fir@292897.4]
+  reg [31:0] _RAND_19;
+  wire [3:0] _T_358; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@292901.6]
+  wire [3:0] _T_359; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@292903.6]
+  wire [3:0] _GEN_2; // @[I2C.scala 144:27:shc.marmotcaravel.MarmotCaravelConfig.fir@292900.4]
+  wire [3:0] _GEN_3; // @[I2C.scala 144:27:shc.marmotcaravel.MarmotCaravelConfig.fir@292900.4]
+  wire  _T_360; // @[Misc.scala 177:40:shc.marmotcaravel.MarmotCaravelConfig.fir@292906.4]
+  wire  _T_361; // @[Misc.scala 177:40:shc.marmotcaravel.MarmotCaravelConfig.fir@292907.4]
+  wire  _T_362; // @[Misc.scala 177:40:shc.marmotcaravel.MarmotCaravelConfig.fir@292908.4]
+  wire  _T_363; // @[Misc.scala 171:48:shc.marmotcaravel.MarmotCaravelConfig.fir@292909.4]
+  wire  _T_364; // @[Misc.scala 171:48:shc.marmotcaravel.MarmotCaravelConfig.fir@292910.4]
+  wire  _T_365; // @[Misc.scala 172:22:shc.marmotcaravel.MarmotCaravelConfig.fir@292911.4]
+  wire  _T_366; // @[Misc.scala 171:48:shc.marmotcaravel.MarmotCaravelConfig.fir@292912.4]
+  wire  _T_367; // @[Misc.scala 172:22:shc.marmotcaravel.MarmotCaravelConfig.fir@292913.4]
+  reg  sSCL; // @[I2C.scala 149:22:shc.marmotcaravel.MarmotCaravelConfig.fir@292914.4]
+  reg [31:0] _RAND_20;
+  wire  _T_369; // @[Misc.scala 177:40:shc.marmotcaravel.MarmotCaravelConfig.fir@292916.4]
+  wire  _T_370; // @[Misc.scala 177:40:shc.marmotcaravel.MarmotCaravelConfig.fir@292917.4]
+  wire  _T_371; // @[Misc.scala 177:40:shc.marmotcaravel.MarmotCaravelConfig.fir@292918.4]
+  wire  _T_372; // @[Misc.scala 171:48:shc.marmotcaravel.MarmotCaravelConfig.fir@292919.4]
+  wire  _T_373; // @[Misc.scala 171:48:shc.marmotcaravel.MarmotCaravelConfig.fir@292920.4]
+  wire  _T_374; // @[Misc.scala 172:22:shc.marmotcaravel.MarmotCaravelConfig.fir@292921.4]
+  wire  _T_375; // @[Misc.scala 171:48:shc.marmotcaravel.MarmotCaravelConfig.fir@292922.4]
+  wire  _T_376; // @[Misc.scala 172:22:shc.marmotcaravel.MarmotCaravelConfig.fir@292923.4]
+  reg  sSDA; // @[I2C.scala 150:22:shc.marmotcaravel.MarmotCaravelConfig.fir@292924.4]
+  reg [31:0] _RAND_21;
+  reg  dSCL; // @[I2C.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@292926.4]
+  reg [31:0] _RAND_22;
+  reg  dSDA; // @[I2C.scala 153:22:shc.marmotcaravel.MarmotCaravelConfig.fir@292928.4]
+  reg [31:0] _RAND_23;
+  reg  dSCLOen; // @[I2C.scala 155:22:shc.marmotcaravel.MarmotCaravelConfig.fir@292930.4]
+  reg [31:0] _RAND_24;
+  wire  _T_381; // @[I2C.scala 159:46:shc.marmotcaravel.MarmotCaravelConfig.fir@292932.4]
+  wire  _T_382; // @[I2C.scala 159:52:shc.marmotcaravel.MarmotCaravelConfig.fir@292933.4]
+  wire  _T_383; // @[I2C.scala 159:61:shc.marmotcaravel.MarmotCaravelConfig.fir@292934.4]
+  reg  startCond; // @[I2C.scala 159:22:shc.marmotcaravel.MarmotCaravelConfig.fir@292935.4]
+  reg [31:0] _RAND_25;
+  wire  _T_385; // @[I2C.scala 160:55:shc.marmotcaravel.MarmotCaravelConfig.fir@292937.4]
+  wire  _T_386; // @[I2C.scala 160:52:shc.marmotcaravel.MarmotCaravelConfig.fir@292938.4]
+  wire  _T_387; // @[I2C.scala 160:61:shc.marmotcaravel.MarmotCaravelConfig.fir@292939.4]
+  reg  stopCond; // @[I2C.scala 160:22:shc.marmotcaravel.MarmotCaravelConfig.fir@292940.4]
+  reg [31:0] _RAND_26;
+  wire  _T_389; // @[I2C.scala 164:27:shc.marmotcaravel.MarmotCaravelConfig.fir@292942.4]
+  wire  _T_390; // @[I2C.scala 164:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292943.4]
+  reg  sclOen; // @[I2C.scala 187:23:shc.marmotcaravel.MarmotCaravelConfig.fir@292977.4]
+  reg [31:0] _RAND_27;
+  wire  _T_411; // @[I2C.scala 188:18:shc.marmotcaravel.MarmotCaravelConfig.fir@292978.4]
+  wire  sclSync; // @[I2C.scala 164:33:shc.marmotcaravel.MarmotCaravelConfig.fir@292944.4]
+  reg  slaveWait; // @[I2C.scala 168:22:shc.marmotcaravel.MarmotCaravelConfig.fir@292945.4]
+  reg [31:0] _RAND_28;
+  wire  _T_392; // @[I2C.scala 169:32:shc.marmotcaravel.MarmotCaravelConfig.fir@292946.4]
+  wire  _T_393; // @[I2C.scala 169:29:shc.marmotcaravel.MarmotCaravelConfig.fir@292947.4]
+  wire  _T_395; // @[I2C.scala 169:41:shc.marmotcaravel.MarmotCaravelConfig.fir@292949.4]
+  wire  _T_397; // @[I2C.scala 169:65:shc.marmotcaravel.MarmotCaravelConfig.fir@292951.4]
+  wire  _T_398; // @[I2C.scala 169:51:shc.marmotcaravel.MarmotCaravelConfig.fir@292952.4]
+  reg  clkEn; // @[I2C.scala 171:22:shc.marmotcaravel.MarmotCaravelConfig.fir@292954.4]
+  reg [31:0] _RAND_29;
+  reg [15:0] cnt; // @[I2C.scala 172:22:shc.marmotcaravel.MarmotCaravelConfig.fir@292955.4]
+  reg [31:0] _RAND_30;
+  wire  _T_401; // @[I2C.scala 175:15:shc.marmotcaravel.MarmotCaravelConfig.fir@292956.4]
+  wire  _T_402; // @[I2C.scala 175:9:shc.marmotcaravel.MarmotCaravelConfig.fir@292957.4]
+  wire  _T_404; // @[I2C.scala 175:20:shc.marmotcaravel.MarmotCaravelConfig.fir@292959.4]
+  wire  _T_405; // @[I2C.scala 175:39:shc.marmotcaravel.MarmotCaravelConfig.fir@292960.4]
+  wire [16:0] _T_407; // @[I2C.scala 183:18:shc.marmotcaravel.MarmotCaravelConfig.fir@292971.8]
+  wire [16:0] _T_408; // @[I2C.scala 183:18:shc.marmotcaravel.MarmotCaravelConfig.fir@292972.8]
+  wire [15:0] _T_409; // @[I2C.scala 183:18:shc.marmotcaravel.MarmotCaravelConfig.fir@292973.8]
+  reg  sdaOen; // @[I2C.scala 190:23:shc.marmotcaravel.MarmotCaravelConfig.fir@292980.4]
+  reg [31:0] _RAND_31;
+  reg  sdaChk; // @[I2C.scala 193:23:shc.marmotcaravel.MarmotCaravelConfig.fir@292983.4]
+  reg [31:0] _RAND_32;
+  reg  transmitBit; // @[I2C.scala 195:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292984.4]
+  reg [31:0] _RAND_33;
+  reg  receivedBit; // @[I2C.scala 196:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292985.4]
+  reg [31:0] _RAND_34;
+  wire  _T_417; // @[I2C.scala 197:17:shc.marmotcaravel.MarmotCaravelConfig.fir@292986.4]
+  wire  _T_418; // @[I2C.scala 197:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292987.4]
+  reg [3:0] bitCmd; // @[I2C.scala 201:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292991.4]
+  reg [31:0] _RAND_35;
+  reg  bitCmdStop; // @[I2C.scala 202:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292992.4]
+  reg [31:0] _RAND_36;
+  wire  _T_421; // @[I2C.scala 204:26:shc.marmotcaravel.MarmotCaravelConfig.fir@292994.6]
+  reg  bitCmdAck; // @[I2C.scala 206:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292997.4]
+  reg [31:0] _RAND_37;
+  reg [4:0] bitState; // @[I2C.scala 213:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292998.4]
+  reg [31:0] _RAND_38;
+  wire  _T_426; // @[I2C.scala 215:56:shc.marmotcaravel.MarmotCaravelConfig.fir@293000.4]
+  wire  _T_427; // @[I2C.scala 215:65:shc.marmotcaravel.MarmotCaravelConfig.fir@293001.4]
+  wire  _T_428; // @[I2C.scala 215:89:shc.marmotcaravel.MarmotCaravelConfig.fir@293002.4]
+  wire  _T_429; // @[I2C.scala 215:105:shc.marmotcaravel.MarmotCaravelConfig.fir@293003.4]
+  wire  _T_430; // @[I2C.scala 215:120:shc.marmotcaravel.MarmotCaravelConfig.fir@293004.4]
+  wire  _T_431; // @[I2C.scala 215:117:shc.marmotcaravel.MarmotCaravelConfig.fir@293005.4]
+  wire  _T_432; // @[I2C.scala 215:76:shc.marmotcaravel.MarmotCaravelConfig.fir@293006.4]
+  reg  arbLost; // @[I2C.scala 215:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293007.4]
+  reg [31:0] _RAND_39;
+  wire  _T_434; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@293019.8]
+  wire  _T_435; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@293021.10]
+  wire  _T_436; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@293026.12]
+  wire  _T_437; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@293031.14]
+  wire  _T_438; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@293036.16]
+  wire  _T_439; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@293043.10]
+  wire  _T_440; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@293051.12]
+  wire  _T_441; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@293059.14]
+  wire  _T_442; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@293067.16]
+  wire  _T_443; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@293075.18]
+  wire  _T_444; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@293084.20]
+  wire  _T_445; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@293092.22]
+  wire  _T_446; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@293100.24]
+  wire  _T_447; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@293108.26]
+  wire  _T_448; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@293117.28]
+  wire  _T_449; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@293125.30]
+  wire  _T_450; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@293133.32]
+  wire  _T_451; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@293141.34]
+  wire  _T_452; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@293150.36]
+  wire  _T_453; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@293158.38]
+  wire  _T_454; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@293166.40]
+  wire  _T_455; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@293174.42]
+  reg  load; // @[I2C.scala 355:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293184.4]
+  reg [31:0] _RAND_40;
+  reg  shift; // @[I2C.scala 356:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293185.4]
+  reg [31:0] _RAND_41;
+  reg  cmdAck; // @[I2C.scala 357:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293186.4]
+  reg [31:0] _RAND_42;
+  reg  receivedAck; // @[I2C.scala 358:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293187.4]
+  reg [31:0] _RAND_43;
+  wire  _T_460; // @[I2C.scala 359:31:shc.marmotcaravel.MarmotCaravelConfig.fir@293188.4]
+  wire  _T_461; // @[I2C.scala 359:43:shc.marmotcaravel.MarmotCaravelConfig.fir@293189.4]
+  wire  _T_462; // @[I2C.scala 359:57:shc.marmotcaravel.MarmotCaravelConfig.fir@293190.4]
+  wire  go; // @[I2C.scala 359:55:shc.marmotcaravel.MarmotCaravelConfig.fir@293191.4]
+  reg [2:0] bitCnt; // @[I2C.scala 361:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293192.4]
+  reg [31:0] _RAND_44;
+  wire [3:0] _T_464; // @[I2C.scala 366:22:shc.marmotcaravel.MarmotCaravelConfig.fir@293198.8]
+  wire [3:0] _T_465; // @[I2C.scala 366:22:shc.marmotcaravel.MarmotCaravelConfig.fir@293199.8]
+  wire [2:0] _T_466; // @[I2C.scala 366:22:shc.marmotcaravel.MarmotCaravelConfig.fir@293200.8]
+  wire  _T_467; // @[I2C.scala 368:30:shc.marmotcaravel.MarmotCaravelConfig.fir@293203.4]
+  wire  bitCntDone; // @[I2C.scala 368:21:shc.marmotcaravel.MarmotCaravelConfig.fir@293204.4]
+  wire [8:0] _T_468; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@293210.8]
+  wire [8:0] _GEN_116; // @[I2C.scala 374:21:shc.marmotcaravel.MarmotCaravelConfig.fir@293209.6]
+  wire [8:0] _GEN_117; // @[I2C.scala 371:15:shc.marmotcaravel.MarmotCaravelConfig.fir@293205.4]
+  reg [2:0] byteState; // @[I2C.scala 379:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293213.4]
+  reg [31:0] _RAND_45;
+  wire  _T_471; // @[I2C.scala 391:32:shc.marmotcaravel.MarmotCaravelConfig.fir@293224.6]
+  wire  _T_472; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@293229.6]
+  wire [2:0] _GEN_119; // @[I2C.scala 407:33:shc.marmotcaravel.MarmotCaravelConfig.fir@293242.14]
+  wire  _T_473; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@293254.8]
+  wire  _T_474; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@293269.10]
+  wire  _T_475; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@293284.12]
+  wire  _T_476; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@293300.14]
+  wire [1:0] _GEN_144; // @[I2C.scala 463:27:shc.marmotcaravel.MarmotCaravelConfig.fir@293303.18]
+  wire  _T_477; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@293320.16]
+  wire  _T_54_a_valid; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@292757.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@292807.4]
+  wire [2:0] _T_54_a_bits_opcode; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@292757.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@292807.4]
+  wire  _T_514; // @[RegisterRouter.scala 58:36:shc.marmotcaravel.MarmotCaravelConfig.fir@293400.4]
+  wire [28:0] _T_54_a_bits_address; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@292757.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@292807.4]
+  wire [26:0] _T_515; // @[Edges.scala 192:34:shc.marmotcaravel.MarmotCaravelConfig.fir@293402.4]
+  wire [9:0] _T_511_bits_index; // @[RegisterRouter.scala 57:18:shc.marmotcaravel.MarmotCaravelConfig.fir@293398.4 RegisterRouter.scala 59:19:shc.marmotcaravel.MarmotCaravelConfig.fir@293403.4]
+  wire  _T_813; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293673.4]
+  wire  _T_812; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293672.4]
+  wire [1:0] _T_821; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@293681.4]
+  wire  _T_811; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293671.4]
+  wire [2:0] _T_822; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@293682.4]
+  wire [9:0] _T_532; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293414.4]
+  wire  _T_542; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293424.4]
+  wire  _T_883; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293755.4]
+  wire  _T_54_d_ready; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@292757.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@292807.4]
+  wire  _T_1056; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293946.4]
+  wire  _T_1057; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293947.4]
+  wire  _T_1058; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293948.4]
+  wire [7:0] _T_844; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@293704.4]
+  wire  _T_849; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293709.4]
+  wire  _T_1085; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293985.4]
+  wire  _T_1086; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293986.4]
+  wire [3:0] _T_54_a_bits_mask; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@292757.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@292807.4]
+  wire  _T_614; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@293452.4]
+  wire [7:0] _T_622; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@293460.4]
+  wire  _T_613; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@293451.4]
+  wire [7:0] _T_620; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@293458.4]
+  wire [15:0] _T_624; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@293462.4]
+  wire  _T_612; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@293450.4]
+  wire [7:0] _T_618; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@293456.4]
+  wire  _T_611; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@293449.4]
+  wire [7:0] _T_616; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@293454.4]
+  wire [15:0] _T_623; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@293461.4]
+  wire [31:0] _T_625; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@293463.4]
+  wire [7:0] _T_787; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293643.4]
+  wire [7:0] _T_788; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293644.4]
+  wire  _T_789; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293645.4]
+  wire  _T_793; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293649.4]
+  wire [31:0] _T_54_a_bits_data; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@292757.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@292807.4]
+  wire [7:0] _T_799; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293655.4]
+  wire [1:0] _T_494; // @[I2C.scala 502:18:shc.marmotcaravel.MarmotCaravelConfig.fir@293354.4]
+  wire [1:0] _T_493; // @[I2C.scala 502:18:shc.marmotcaravel.MarmotCaravelConfig.fir@293353.4]
+  wire [3:0] _T_495; // @[I2C.scala 502:18:shc.marmotcaravel.MarmotCaravelConfig.fir@293355.4]
+  wire [2:0] _T_491; // @[I2C.scala 502:18:shc.marmotcaravel.MarmotCaravelConfig.fir@293351.4]
+  wire [3:0] _T_492; // @[I2C.scala 502:18:shc.marmotcaravel.MarmotCaravelConfig.fir@293352.4]
+  wire [7:0] _T_496; // @[I2C.scala 502:18:shc.marmotcaravel.MarmotCaravelConfig.fir@293356.4]
+  wire [7:0] _T_497; // @[I2C.scala 502:25:shc.marmotcaravel.MarmotCaravelConfig.fir@293357.4]
+  wire [7:0] nextCmd; // @[I2C.scala 558:77:shc.marmotcaravel.MarmotCaravelConfig.fir@293656.4]
+  wire  _T_484; // @[I2C.scala 501:38:shc.marmotcaravel.MarmotCaravelConfig.fir@293336.4]
+  wire  _T_486; // @[I2C.scala 501:38:shc.marmotcaravel.MarmotCaravelConfig.fir@293340.4]
+  wire  _T_487; // @[I2C.scala 501:38:shc.marmotcaravel.MarmotCaravelConfig.fir@293342.4]
+  wire  _T_488; // @[I2C.scala 501:38:shc.marmotcaravel.MarmotCaravelConfig.fir@293344.4]
+  wire  _T_489; // @[I2C.scala 501:38:shc.marmotcaravel.MarmotCaravelConfig.fir@293346.4]
+  wire  _T_490; // @[I2C.scala 501:38:shc.marmotcaravel.MarmotCaravelConfig.fir@293348.4]
+  wire  _T_498; // @[I2C.scala 505:16:shc.marmotcaravel.MarmotCaravelConfig.fir@293359.4]
+  wire  _T_501; // @[I2C.scala 527:51:shc.marmotcaravel.MarmotCaravelConfig.fir@293384.4]
+  wire  _T_502; // @[I2C.scala 527:73:shc.marmotcaravel.MarmotCaravelConfig.fir@293385.4]
+  wire  _T_503; // @[I2C.scala 527:70:shc.marmotcaravel.MarmotCaravelConfig.fir@293386.4]
+  reg  statusReadReady; // @[I2C.scala 530:28:shc.marmotcaravel.MarmotCaravelConfig.fir@293388.4]
+  reg [31:0] _RAND_46;
+  wire  _T_506; // @[I2C.scala 534:14:shc.marmotcaravel.MarmotCaravelConfig.fir@293394.6]
+  wire [5:0] _T_54_a_bits_source; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@292757.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@292807.4]
+  wire [1:0] _T_54_a_bits_size; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@292757.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@292807.4]
+  wire [7:0] _T_516; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@293406.4]
+  wire  _T_627; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293465.4]
+  wire  _T_806; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293666.4]
+  wire  _T_807; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293667.4]
+  wire  _T_1020; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293912.4]
+  wire  _GEN_232; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293945.4]
+  wire  _GEN_233; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293945.4]
+  wire  _GEN_234; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293945.4]
+  wire  _GEN_235; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293945.4]
+  wire  _T_1125; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@294025.4]
+  wire  _T_836; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293696.4]
+  wire  _T_1061; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293951.4]
+  wire  _T_1062; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293952.4]
+  wire  _T_639; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293477.4]
+  wire  _T_837; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293697.4]
+  wire  _T_1067; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293959.4]
+  wire  _T_1068; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293960.4]
+  wire  _T_664; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293505.4]
+  wire  _T_838; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293698.4]
+  wire  _T_1073; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293967.4]
+  wire  _T_1074; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293968.4]
+  wire  _T_701; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293548.4]
+  wire  _T_704; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293551.4]
+  wire  _T_705; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293552.4]
+  wire  _T_714; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293561.4]
+  wire  _T_715; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293562.4]
+  wire [6:0] _T_725; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@293575.4]
+  wire  _T_728; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293578.4]
+  wire  _T_731; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293581.4]
+  wire  _T_732; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293582.4]
+  wire  _T_741; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293591.4]
+  wire  _T_742; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293592.4]
+  wire [7:0] _T_752; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@293605.4]
+  wire  _T_839; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293699.4]
+  wire  _T_1079; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293977.4]
+  wire  _T_1080; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293978.4]
+  wire  _T_768; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293621.4]
+  wire [3:0] _T_794; // @[I2C.scala 555:89:shc.marmotcaravel.MarmotCaravelConfig.fir@293650.4]
+  wire [4:0] _T_795; // @[I2C.scala 555:89:shc.marmotcaravel.MarmotCaravelConfig.fir@293651.4]
+  wire [1:0] _T_796; // @[I2C.scala 555:89:shc.marmotcaravel.MarmotCaravelConfig.fir@293652.4]
+  wire [2:0] _T_797; // @[I2C.scala 555:89:shc.marmotcaravel.MarmotCaravelConfig.fir@293653.4]
+  wire [7:0] _T_798; // @[I2C.scala 555:89:shc.marmotcaravel.MarmotCaravelConfig.fir@293654.4]
+  wire  _GEN_245; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@294046.4]
+  wire  _GEN_246; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@294046.4]
+  wire  _GEN_247; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@294046.4]
+  wire  _GEN_248; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@294046.4]
+  wire  _GEN_249; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@294046.4]
+  wire  _GEN_250; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@294046.4]
+  wire  _GEN_251; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@294046.4]
+  wire [7:0] _GEN_253; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@294058.4]
+  wire [7:0] _GEN_254; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@294058.4]
+  wire [7:0] _GEN_255; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@294058.4]
+  wire [7:0] _GEN_256; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@294058.4]
+  wire [7:0] _GEN_257; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@294058.4]
+  wire [7:0] _GEN_258; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@294058.4]
+  wire [7:0] _GEN_259; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@294058.4]
+  wire [7:0] _T_1164; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@294059.4]
+  TLBuffer_28 buffer ( // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292741.4]
+    .clock(buffer_clock),
+    .reset(buffer_reset),
+    .auto_in_a_ready(buffer_auto_in_a_ready),
+    .auto_in_a_valid(buffer_auto_in_a_valid),
+    .auto_in_a_bits_opcode(buffer_auto_in_a_bits_opcode),
+    .auto_in_a_bits_param(buffer_auto_in_a_bits_param),
+    .auto_in_a_bits_size(buffer_auto_in_a_bits_size),
+    .auto_in_a_bits_source(buffer_auto_in_a_bits_source),
+    .auto_in_a_bits_address(buffer_auto_in_a_bits_address),
+    .auto_in_a_bits_mask(buffer_auto_in_a_bits_mask),
+    .auto_in_a_bits_data(buffer_auto_in_a_bits_data),
+    .auto_in_a_bits_corrupt(buffer_auto_in_a_bits_corrupt),
+    .auto_in_d_ready(buffer_auto_in_d_ready),
+    .auto_in_d_valid(buffer_auto_in_d_valid),
+    .auto_in_d_bits_opcode(buffer_auto_in_d_bits_opcode),
+    .auto_in_d_bits_size(buffer_auto_in_d_bits_size),
+    .auto_in_d_bits_source(buffer_auto_in_d_bits_source),
+    .auto_in_d_bits_data(buffer_auto_in_d_bits_data),
+    .auto_out_a_ready(buffer_auto_out_a_ready),
+    .auto_out_a_valid(buffer_auto_out_a_valid),
+    .auto_out_a_bits_opcode(buffer_auto_out_a_bits_opcode),
+    .auto_out_a_bits_param(buffer_auto_out_a_bits_param),
+    .auto_out_a_bits_size(buffer_auto_out_a_bits_size),
+    .auto_out_a_bits_source(buffer_auto_out_a_bits_source),
+    .auto_out_a_bits_address(buffer_auto_out_a_bits_address),
+    .auto_out_a_bits_mask(buffer_auto_out_a_bits_mask),
+    .auto_out_a_bits_data(buffer_auto_out_a_bits_data),
+    .auto_out_a_bits_corrupt(buffer_auto_out_a_bits_corrupt),
+    .auto_out_d_ready(buffer_auto_out_d_ready),
+    .auto_out_d_valid(buffer_auto_out_d_valid),
+    .auto_out_d_bits_opcode(buffer_auto_out_d_bits_opcode),
+    .auto_out_d_bits_size(buffer_auto_out_d_bits_size),
+    .auto_out_d_bits_source(buffer_auto_out_d_bits_source),
+    .auto_out_d_bits_data(buffer_auto_out_d_bits_data)
+  );
+  IntSyncCrossingSource_3 intsource ( // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@292747.4]
+    .clock(intsource_clock),
+    .reset(intsource_reset),
+    .auto_in_0(intsource_auto_in_0),
+    .auto_out_sync_0(intsource_auto_out_sync_0)
+  );
+  TLMonitor_81 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@292759.4]
+    .clock(TLMonitor_clock),
+    .reset(TLMonitor_reset),
+    .io_in_a_ready(TLMonitor_io_in_a_ready),
+    .io_in_a_valid(TLMonitor_io_in_a_valid),
+    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
+    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
+    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
+    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
+    .io_in_d_ready(TLMonitor_io_in_d_ready),
+    .io_in_d_valid(TLMonitor_io_in_d_valid),
+    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
+    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
+    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source)
+  );
+  assign _T_346 = control_coreEn == 1'h0; // @[I2C.scala 134:10:shc.marmotcaravel.MarmotCaravelConfig.fir@292878.4]
+  assign _T_347 = filterCnt != 14'h0; // @[I2C.scala 136:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292883.6]
+  assign _T_348 = _T_347 == 1'h0; // @[I2C.scala 136:16:shc.marmotcaravel.MarmotCaravelConfig.fir@292884.6]
+  assign _T_349 = {prescaler_hi,prescaler_lo}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@292886.8]
+  assign _T_350 = _T_349[15:2]; // @[I2C.scala 137:50:shc.marmotcaravel.MarmotCaravelConfig.fir@292887.8]
+  assign _T_351 = filterCnt - 14'h1; // @[I2C.scala 139:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292891.8]
+  assign _T_352 = $unsigned(_T_351); // @[I2C.scala 139:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292892.8]
+  assign _T_353 = _T_352[13:0]; // @[I2C.scala 139:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292893.8]
+  assign _T_358 = {fSCL,auto_io_out_scl_in}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@292901.6]
+  assign _T_359 = {fSDA,auto_io_out_sda_in}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@292903.6]
+  assign _GEN_2 = _T_348 ? _T_358 : {{1'd0}, fSCL}; // @[I2C.scala 144:27:shc.marmotcaravel.MarmotCaravelConfig.fir@292900.4]
+  assign _GEN_3 = _T_348 ? _T_359 : {{1'd0}, fSDA}; // @[I2C.scala 144:27:shc.marmotcaravel.MarmotCaravelConfig.fir@292900.4]
+  assign _T_360 = fSCL[0]; // @[Misc.scala 177:40:shc.marmotcaravel.MarmotCaravelConfig.fir@292906.4]
+  assign _T_361 = fSCL[1]; // @[Misc.scala 177:40:shc.marmotcaravel.MarmotCaravelConfig.fir@292907.4]
+  assign _T_362 = fSCL[2]; // @[Misc.scala 177:40:shc.marmotcaravel.MarmotCaravelConfig.fir@292908.4]
+  assign _T_363 = _T_360 & _T_361; // @[Misc.scala 171:48:shc.marmotcaravel.MarmotCaravelConfig.fir@292909.4]
+  assign _T_364 = _T_360 & _T_362; // @[Misc.scala 171:48:shc.marmotcaravel.MarmotCaravelConfig.fir@292910.4]
+  assign _T_365 = _T_363 | _T_364; // @[Misc.scala 172:22:shc.marmotcaravel.MarmotCaravelConfig.fir@292911.4]
+  assign _T_366 = _T_361 & _T_362; // @[Misc.scala 171:48:shc.marmotcaravel.MarmotCaravelConfig.fir@292912.4]
+  assign _T_367 = _T_365 | _T_366; // @[Misc.scala 172:22:shc.marmotcaravel.MarmotCaravelConfig.fir@292913.4]
+  assign _T_369 = fSDA[0]; // @[Misc.scala 177:40:shc.marmotcaravel.MarmotCaravelConfig.fir@292916.4]
+  assign _T_370 = fSDA[1]; // @[Misc.scala 177:40:shc.marmotcaravel.MarmotCaravelConfig.fir@292917.4]
+  assign _T_371 = fSDA[2]; // @[Misc.scala 177:40:shc.marmotcaravel.MarmotCaravelConfig.fir@292918.4]
+  assign _T_372 = _T_369 & _T_370; // @[Misc.scala 171:48:shc.marmotcaravel.MarmotCaravelConfig.fir@292919.4]
+  assign _T_373 = _T_369 & _T_371; // @[Misc.scala 171:48:shc.marmotcaravel.MarmotCaravelConfig.fir@292920.4]
+  assign _T_374 = _T_372 | _T_373; // @[Misc.scala 172:22:shc.marmotcaravel.MarmotCaravelConfig.fir@292921.4]
+  assign _T_375 = _T_370 & _T_371; // @[Misc.scala 171:48:shc.marmotcaravel.MarmotCaravelConfig.fir@292922.4]
+  assign _T_376 = _T_374 | _T_375; // @[Misc.scala 172:22:shc.marmotcaravel.MarmotCaravelConfig.fir@292923.4]
+  assign _T_381 = sSDA == 1'h0; // @[I2C.scala 159:46:shc.marmotcaravel.MarmotCaravelConfig.fir@292932.4]
+  assign _T_382 = _T_381 & dSDA; // @[I2C.scala 159:52:shc.marmotcaravel.MarmotCaravelConfig.fir@292933.4]
+  assign _T_383 = _T_382 & sSCL; // @[I2C.scala 159:61:shc.marmotcaravel.MarmotCaravelConfig.fir@292934.4]
+  assign _T_385 = dSDA == 1'h0; // @[I2C.scala 160:55:shc.marmotcaravel.MarmotCaravelConfig.fir@292937.4]
+  assign _T_386 = sSDA & _T_385; // @[I2C.scala 160:52:shc.marmotcaravel.MarmotCaravelConfig.fir@292938.4]
+  assign _T_387 = _T_386 & sSCL; // @[I2C.scala 160:61:shc.marmotcaravel.MarmotCaravelConfig.fir@292939.4]
+  assign _T_389 = sSCL == 1'h0; // @[I2C.scala 164:27:shc.marmotcaravel.MarmotCaravelConfig.fir@292942.4]
+  assign _T_390 = dSCL & _T_389; // @[I2C.scala 164:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292943.4]
+  assign _T_411 = sclOen == 1'h0; // @[I2C.scala 188:18:shc.marmotcaravel.MarmotCaravelConfig.fir@292978.4]
+  assign sclSync = _T_390 & _T_411; // @[I2C.scala 164:33:shc.marmotcaravel.MarmotCaravelConfig.fir@292944.4]
+  assign _T_392 = dSCLOen == 1'h0; // @[I2C.scala 169:32:shc.marmotcaravel.MarmotCaravelConfig.fir@292946.4]
+  assign _T_393 = _T_411 & _T_392; // @[I2C.scala 169:29:shc.marmotcaravel.MarmotCaravelConfig.fir@292947.4]
+  assign _T_395 = _T_393 & _T_389; // @[I2C.scala 169:41:shc.marmotcaravel.MarmotCaravelConfig.fir@292949.4]
+  assign _T_397 = slaveWait & _T_389; // @[I2C.scala 169:65:shc.marmotcaravel.MarmotCaravelConfig.fir@292951.4]
+  assign _T_398 = _T_395 | _T_397; // @[I2C.scala 169:51:shc.marmotcaravel.MarmotCaravelConfig.fir@292952.4]
+  assign _T_401 = cnt != 16'h0; // @[I2C.scala 175:15:shc.marmotcaravel.MarmotCaravelConfig.fir@292956.4]
+  assign _T_402 = _T_401 == 1'h0; // @[I2C.scala 175:9:shc.marmotcaravel.MarmotCaravelConfig.fir@292957.4]
+  assign _T_404 = _T_402 | _T_346; // @[I2C.scala 175:20:shc.marmotcaravel.MarmotCaravelConfig.fir@292959.4]
+  assign _T_405 = _T_404 | sclSync; // @[I2C.scala 175:39:shc.marmotcaravel.MarmotCaravelConfig.fir@292960.4]
+  assign _T_407 = cnt - 16'h1; // @[I2C.scala 183:18:shc.marmotcaravel.MarmotCaravelConfig.fir@292971.8]
+  assign _T_408 = $unsigned(_T_407); // @[I2C.scala 183:18:shc.marmotcaravel.MarmotCaravelConfig.fir@292972.8]
+  assign _T_409 = _T_408[15:0]; // @[I2C.scala 183:18:shc.marmotcaravel.MarmotCaravelConfig.fir@292973.8]
+  assign _T_417 = dSCL == 1'h0; // @[I2C.scala 197:17:shc.marmotcaravel.MarmotCaravelConfig.fir@292986.4]
+  assign _T_418 = sSCL & _T_417; // @[I2C.scala 197:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292987.4]
+  assign _T_421 = bitCmd == 4'h2; // @[I2C.scala 204:26:shc.marmotcaravel.MarmotCaravelConfig.fir@292994.6]
+  assign _T_426 = sdaChk & _T_381; // @[I2C.scala 215:56:shc.marmotcaravel.MarmotCaravelConfig.fir@293000.4]
+  assign _T_427 = _T_426 & sdaOen; // @[I2C.scala 215:65:shc.marmotcaravel.MarmotCaravelConfig.fir@293001.4]
+  assign _T_428 = bitState != 5'h0; // @[I2C.scala 215:89:shc.marmotcaravel.MarmotCaravelConfig.fir@293002.4]
+  assign _T_429 = _T_428 & stopCond; // @[I2C.scala 215:105:shc.marmotcaravel.MarmotCaravelConfig.fir@293003.4]
+  assign _T_430 = bitCmdStop == 1'h0; // @[I2C.scala 215:120:shc.marmotcaravel.MarmotCaravelConfig.fir@293004.4]
+  assign _T_431 = _T_429 & _T_430; // @[I2C.scala 215:117:shc.marmotcaravel.MarmotCaravelConfig.fir@293005.4]
+  assign _T_432 = _T_427 | _T_431; // @[I2C.scala 215:76:shc.marmotcaravel.MarmotCaravelConfig.fir@293006.4]
+  assign _T_434 = 5'h0 == bitState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@293019.8]
+  assign _T_435 = 4'h1 == bitCmd; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@293021.10]
+  assign _T_436 = 4'h2 == bitCmd; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@293026.12]
+  assign _T_437 = 4'h4 == bitCmd; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@293031.14]
+  assign _T_438 = 4'h8 == bitCmd; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@293036.16]
+  assign _T_439 = 5'h1 == bitState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@293043.10]
+  assign _T_440 = 5'h2 == bitState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@293051.12]
+  assign _T_441 = 5'h3 == bitState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@293059.14]
+  assign _T_442 = 5'h4 == bitState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@293067.16]
+  assign _T_443 = 5'h5 == bitState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@293075.18]
+  assign _T_444 = 5'h6 == bitState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@293084.20]
+  assign _T_445 = 5'h7 == bitState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@293092.22]
+  assign _T_446 = 5'h8 == bitState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@293100.24]
+  assign _T_447 = 5'h9 == bitState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@293108.26]
+  assign _T_448 = 5'ha == bitState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@293117.28]
+  assign _T_449 = 5'hb == bitState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@293125.30]
+  assign _T_450 = 5'hc == bitState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@293133.32]
+  assign _T_451 = 5'hd == bitState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@293141.34]
+  assign _T_452 = 5'he == bitState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@293150.36]
+  assign _T_453 = 5'hf == bitState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@293158.38]
+  assign _T_454 = 5'h10 == bitState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@293166.40]
+  assign _T_455 = 5'h11 == bitState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@293174.42]
+  assign _T_460 = cmd_read | cmd_write; // @[I2C.scala 359:31:shc.marmotcaravel.MarmotCaravelConfig.fir@293188.4]
+  assign _T_461 = _T_460 | cmd_stop; // @[I2C.scala 359:43:shc.marmotcaravel.MarmotCaravelConfig.fir@293189.4]
+  assign _T_462 = cmdAck == 1'h0; // @[I2C.scala 359:57:shc.marmotcaravel.MarmotCaravelConfig.fir@293190.4]
+  assign go = _T_461 & _T_462; // @[I2C.scala 359:55:shc.marmotcaravel.MarmotCaravelConfig.fir@293191.4]
+  assign _T_464 = bitCnt - 3'h1; // @[I2C.scala 366:22:shc.marmotcaravel.MarmotCaravelConfig.fir@293198.8]
+  assign _T_465 = $unsigned(_T_464); // @[I2C.scala 366:22:shc.marmotcaravel.MarmotCaravelConfig.fir@293199.8]
+  assign _T_466 = _T_465[2:0]; // @[I2C.scala 366:22:shc.marmotcaravel.MarmotCaravelConfig.fir@293200.8]
+  assign _T_467 = bitCnt != 3'h0; // @[I2C.scala 368:30:shc.marmotcaravel.MarmotCaravelConfig.fir@293203.4]
+  assign bitCntDone = _T_467 == 1'h0; // @[I2C.scala 368:21:shc.marmotcaravel.MarmotCaravelConfig.fir@293204.4]
+  assign _T_468 = {receivedData,receivedBit}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@293210.8]
+  assign _GEN_116 = shift ? _T_468 : {{1'd0}, receivedData}; // @[I2C.scala 374:21:shc.marmotcaravel.MarmotCaravelConfig.fir@293209.6]
+  assign _GEN_117 = load ? {{1'd0}, transmitData} : _GEN_116; // @[I2C.scala 371:15:shc.marmotcaravel.MarmotCaravelConfig.fir@293205.4]
+  assign _T_471 = receivedData[7]; // @[I2C.scala 391:32:shc.marmotcaravel.MarmotCaravelConfig.fir@293224.6]
+  assign _T_472 = 3'h0 == byteState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@293229.6]
+  assign _GEN_119 = cmd_write ? 3'h4 : 3'h2; // @[I2C.scala 407:33:shc.marmotcaravel.MarmotCaravelConfig.fir@293242.14]
+  assign _T_473 = 3'h1 == byteState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@293254.8]
+  assign _T_474 = 3'h3 == byteState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@293269.10]
+  assign _T_475 = 3'h2 == byteState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@293284.12]
+  assign _T_476 = 3'h4 == byteState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@293300.14]
+  assign _GEN_144 = cmd_stop ? 2'h2 : 2'h0; // @[I2C.scala 463:27:shc.marmotcaravel.MarmotCaravelConfig.fir@293303.18]
+  assign _T_477 = 3'h5 == byteState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@293320.16]
+  assign _T_54_a_valid = buffer_auto_out_a_valid; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@292757.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@292807.4]
+  assign _T_54_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@292757.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@292807.4]
+  assign _T_514 = _T_54_a_bits_opcode == 3'h4; // @[RegisterRouter.scala 58:36:shc.marmotcaravel.MarmotCaravelConfig.fir@293400.4]
+  assign _T_54_a_bits_address = buffer_auto_out_a_bits_address; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@292757.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@292807.4]
+  assign _T_515 = _T_54_a_bits_address[28:2]; // @[Edges.scala 192:34:shc.marmotcaravel.MarmotCaravelConfig.fir@293402.4]
+  assign _T_511_bits_index = _T_515[9:0]; // @[RegisterRouter.scala 57:18:shc.marmotcaravel.MarmotCaravelConfig.fir@293398.4 RegisterRouter.scala 59:19:shc.marmotcaravel.MarmotCaravelConfig.fir@293403.4]
+  assign _T_813 = _T_511_bits_index[2]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293673.4]
+  assign _T_812 = _T_511_bits_index[1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293672.4]
+  assign _T_821 = {_T_813,_T_812}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@293681.4]
+  assign _T_811 = _T_511_bits_index[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293671.4]
+  assign _T_822 = {_T_821,_T_811}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@293682.4]
+  assign _T_532 = _T_511_bits_index & 10'h3f8; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293414.4]
+  assign _T_542 = _T_532 == 10'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293424.4]
+  assign _T_883 = _T_542 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293755.4]
+  assign _T_54_d_ready = buffer_auto_out_d_ready; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@292757.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@292807.4]
+  assign _T_1056 = _T_54_a_valid & _T_54_d_ready; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293946.4]
+  assign _T_1057 = _T_514 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293947.4]
+  assign _T_1058 = _T_1056 & _T_1057; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293948.4]
+  assign _T_844 = 8'h1 << _T_822; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@293704.4]
+  assign _T_849 = _T_844[4]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293709.4]
+  assign _T_1085 = _T_1058 & _T_849; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293985.4]
+  assign _T_1086 = _T_1085 & _T_542; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293986.4]
+  assign _T_54_a_bits_mask = buffer_auto_out_a_bits_mask; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@292757.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@292807.4]
+  assign _T_614 = _T_54_a_bits_mask[3]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@293452.4]
+  assign _T_622 = _T_614 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@293460.4]
+  assign _T_613 = _T_54_a_bits_mask[2]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@293451.4]
+  assign _T_620 = _T_613 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@293458.4]
+  assign _T_624 = {_T_622,_T_620}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@293462.4]
+  assign _T_612 = _T_54_a_bits_mask[1]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@293450.4]
+  assign _T_618 = _T_612 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@293456.4]
+  assign _T_611 = _T_54_a_bits_mask[0]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@293449.4]
+  assign _T_616 = _T_611 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@293454.4]
+  assign _T_623 = {_T_618,_T_616}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@293461.4]
+  assign _T_625 = {_T_624,_T_623}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@293463.4]
+  assign _T_787 = _T_625[7:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293643.4]
+  assign _T_788 = ~ _T_787; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293644.4]
+  assign _T_789 = _T_788 == 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293645.4]
+  assign _T_793 = _T_1086 & _T_789; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293649.4]
+  assign _T_54_a_bits_data = buffer_auto_out_a_bits_data; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@292757.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@292807.4]
+  assign _T_799 = _T_54_a_bits_data[7:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293655.4]
+  assign _T_494 = {cmd_start,cmd_stop}; // @[I2C.scala 502:18:shc.marmotcaravel.MarmotCaravelConfig.fir@293354.4]
+  assign _T_493 = {cmd_read,cmd_write}; // @[I2C.scala 502:18:shc.marmotcaravel.MarmotCaravelConfig.fir@293353.4]
+  assign _T_495 = {_T_494,_T_493}; // @[I2C.scala 502:18:shc.marmotcaravel.MarmotCaravelConfig.fir@293355.4]
+  assign _T_491 = {cmd_ack,2'h0}; // @[I2C.scala 502:18:shc.marmotcaravel.MarmotCaravelConfig.fir@293351.4]
+  assign _T_492 = {_T_491,cmd_irqAck}; // @[I2C.scala 502:18:shc.marmotcaravel.MarmotCaravelConfig.fir@293352.4]
+  assign _T_496 = {_T_495,_T_492}; // @[I2C.scala 502:18:shc.marmotcaravel.MarmotCaravelConfig.fir@293356.4]
+  assign _T_497 = _T_496 & 8'hfe; // @[I2C.scala 502:25:shc.marmotcaravel.MarmotCaravelConfig.fir@293357.4]
+  assign nextCmd = _T_793 ? _T_799 : _T_497; // @[I2C.scala 558:77:shc.marmotcaravel.MarmotCaravelConfig.fir@293656.4]
+  assign _T_484 = nextCmd[0]; // @[I2C.scala 501:38:shc.marmotcaravel.MarmotCaravelConfig.fir@293336.4]
+  assign _T_486 = nextCmd[3]; // @[I2C.scala 501:38:shc.marmotcaravel.MarmotCaravelConfig.fir@293340.4]
+  assign _T_487 = nextCmd[4]; // @[I2C.scala 501:38:shc.marmotcaravel.MarmotCaravelConfig.fir@293342.4]
+  assign _T_488 = nextCmd[5]; // @[I2C.scala 501:38:shc.marmotcaravel.MarmotCaravelConfig.fir@293344.4]
+  assign _T_489 = nextCmd[6]; // @[I2C.scala 501:38:shc.marmotcaravel.MarmotCaravelConfig.fir@293346.4]
+  assign _T_490 = nextCmd[7]; // @[I2C.scala 501:38:shc.marmotcaravel.MarmotCaravelConfig.fir@293348.4]
+  assign _T_498 = cmdAck | arbLost; // @[I2C.scala 505:16:shc.marmotcaravel.MarmotCaravelConfig.fir@293359.4]
+  assign _T_501 = _T_498 | status_irqFlag; // @[I2C.scala 527:51:shc.marmotcaravel.MarmotCaravelConfig.fir@293384.4]
+  assign _T_502 = cmd_irqAck == 1'h0; // @[I2C.scala 527:73:shc.marmotcaravel.MarmotCaravelConfig.fir@293385.4]
+  assign _T_503 = _T_501 & _T_502; // @[I2C.scala 527:70:shc.marmotcaravel.MarmotCaravelConfig.fir@293386.4]
+  assign _T_506 = statusReadReady == 1'h0; // @[I2C.scala 534:14:shc.marmotcaravel.MarmotCaravelConfig.fir@293394.6]
+  assign _T_54_a_bits_source = buffer_auto_out_a_bits_source; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@292757.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@292807.4]
+  assign _T_54_a_bits_size = buffer_auto_out_a_bits_size; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@292757.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@292807.4]
+  assign _T_516 = {_T_54_a_bits_source,_T_54_a_bits_size}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@293406.4]
+  assign _T_627 = _T_787 != 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293465.4]
+  assign _T_806 = _T_627 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293666.4]
+  assign _T_807 = statusReadReady | _T_806; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293667.4]
+  assign _T_1020 = _T_807 | _T_883; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293912.4]
+  assign _GEN_232 = 3'h4 == _T_822 ? _T_1020 : 1'h1; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293945.4]
+  assign _GEN_233 = 3'h5 == _T_822 ? 1'h1 : _GEN_232; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293945.4]
+  assign _GEN_234 = 3'h6 == _T_822 ? 1'h1 : _GEN_233; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293945.4]
+  assign _GEN_235 = 3'h7 == _T_822 ? 1'h1 : _GEN_234; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293945.4]
+  assign _T_1125 = _T_514 ? _GEN_235 : 1'h1; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@294025.4]
+  assign _T_836 = _T_844[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293696.4]
+  assign _T_1061 = _T_1058 & _T_836; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293951.4]
+  assign _T_1062 = _T_1061 & _T_542; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293952.4]
+  assign _T_639 = _T_1062 & _T_789; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293477.4]
+  assign _T_837 = _T_844[1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293697.4]
+  assign _T_1067 = _T_1058 & _T_837; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293959.4]
+  assign _T_1068 = _T_1067 & _T_542; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293960.4]
+  assign _T_664 = _T_1068 & _T_789; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293505.4]
+  assign _T_838 = _T_844[2]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293698.4]
+  assign _T_1073 = _T_1058 & _T_838; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293967.4]
+  assign _T_1074 = _T_1073 & _T_542; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293968.4]
+  assign _T_701 = _T_625[6]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293548.4]
+  assign _T_704 = ~ _T_701; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293551.4]
+  assign _T_705 = _T_704 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293552.4]
+  assign _T_714 = _T_1074 & _T_705; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293561.4]
+  assign _T_715 = _T_54_a_bits_data[6]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293562.4]
+  assign _T_725 = {control_intEn,6'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@293575.4]
+  assign _T_728 = _T_625[7]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293578.4]
+  assign _T_731 = ~ _T_728; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293581.4]
+  assign _T_732 = _T_731 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293582.4]
+  assign _T_741 = _T_1074 & _T_732; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293591.4]
+  assign _T_742 = _T_54_a_bits_data[7]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293592.4]
+  assign _T_752 = {control_coreEn,_T_725}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@293605.4]
+  assign _T_839 = _T_844[3]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293699.4]
+  assign _T_1079 = _T_1058 & _T_839; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293977.4]
+  assign _T_1080 = _T_1079 & _T_542; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293978.4]
+  assign _T_768 = _T_1080 & _T_789; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293621.4]
+  assign _T_794 = {3'h0,status_transferInProgress}; // @[I2C.scala 555:89:shc.marmotcaravel.MarmotCaravelConfig.fir@293650.4]
+  assign _T_795 = {_T_794,status_irqFlag}; // @[I2C.scala 555:89:shc.marmotcaravel.MarmotCaravelConfig.fir@293651.4]
+  assign _T_796 = {status_receivedAck,status_busy}; // @[I2C.scala 555:89:shc.marmotcaravel.MarmotCaravelConfig.fir@293652.4]
+  assign _T_797 = {_T_796,status_arbLost}; // @[I2C.scala 555:89:shc.marmotcaravel.MarmotCaravelConfig.fir@293653.4]
+  assign _T_798 = {_T_797,_T_795}; // @[I2C.scala 555:89:shc.marmotcaravel.MarmotCaravelConfig.fir@293654.4]
+  assign _GEN_245 = 3'h1 == _T_822 ? _T_542 : _T_542; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@294046.4]
+  assign _GEN_246 = 3'h2 == _T_822 ? _T_542 : _GEN_245; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@294046.4]
+  assign _GEN_247 = 3'h3 == _T_822 ? _T_542 : _GEN_246; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@294046.4]
+  assign _GEN_248 = 3'h4 == _T_822 ? _T_542 : _GEN_247; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@294046.4]
+  assign _GEN_249 = 3'h5 == _T_822 ? 1'h1 : _GEN_248; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@294046.4]
+  assign _GEN_250 = 3'h6 == _T_822 ? 1'h1 : _GEN_249; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@294046.4]
+  assign _GEN_251 = 3'h7 == _T_822 ? 1'h1 : _GEN_250; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@294046.4]
+  assign _GEN_253 = 3'h1 == _T_822 ? prescaler_hi : prescaler_lo; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@294058.4]
+  assign _GEN_254 = 3'h2 == _T_822 ? _T_752 : _GEN_253; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@294058.4]
+  assign _GEN_255 = 3'h3 == _T_822 ? receivedData : _GEN_254; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@294058.4]
+  assign _GEN_256 = 3'h4 == _T_822 ? _T_798 : _GEN_255; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@294058.4]
+  assign _GEN_257 = 3'h5 == _T_822 ? 8'h0 : _GEN_256; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@294058.4]
+  assign _GEN_258 = 3'h6 == _T_822 ? 8'h0 : _GEN_257; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@294058.4]
+  assign _GEN_259 = 3'h7 == _T_822 ? 8'h0 : _GEN_258; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@294058.4]
+  assign _T_1164 = _GEN_251 ? _GEN_259 : 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@294059.4]
+  assign auto_int_xing_out_sync_0 = intsource_auto_out_sync_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@292812.4]
+  assign auto_control_xing_in_a_ready = buffer_auto_in_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@292811.4]
+  assign auto_control_xing_in_d_valid = buffer_auto_in_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@292811.4]
+  assign auto_control_xing_in_d_bits_opcode = buffer_auto_in_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@292811.4]
+  assign auto_control_xing_in_d_bits_size = buffer_auto_in_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@292811.4]
+  assign auto_control_xing_in_d_bits_source = buffer_auto_in_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@292811.4]
+  assign auto_control_xing_in_d_bits_data = buffer_auto_in_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@292811.4]
+  assign auto_io_out_scl_oe = sclOen == 1'h0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@292810.4]
+  assign auto_io_out_sda_oe = sdaOen == 1'h0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@292810.4]
+  assign buffer_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@292745.4]
+  assign buffer_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@292746.4]
+  assign buffer_auto_in_a_valid = auto_control_xing_in_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@292808.4]
+  assign buffer_auto_in_a_bits_opcode = auto_control_xing_in_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@292808.4]
+  assign buffer_auto_in_a_bits_param = auto_control_xing_in_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@292808.4]
+  assign buffer_auto_in_a_bits_size = auto_control_xing_in_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@292808.4]
+  assign buffer_auto_in_a_bits_source = auto_control_xing_in_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@292808.4]
+  assign buffer_auto_in_a_bits_address = auto_control_xing_in_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@292808.4]
+  assign buffer_auto_in_a_bits_mask = auto_control_xing_in_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@292808.4]
+  assign buffer_auto_in_a_bits_data = auto_control_xing_in_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@292808.4]
+  assign buffer_auto_in_a_bits_corrupt = auto_control_xing_in_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@292808.4]
+  assign buffer_auto_in_d_ready = auto_control_xing_in_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@292808.4]
+  assign buffer_auto_out_a_ready = _T_54_d_ready & _T_1125; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@292807.4]
+  assign buffer_auto_out_d_valid = _T_54_a_valid & _T_1125; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@292807.4]
+  assign buffer_auto_out_d_bits_opcode = {{2'd0}, _T_514}; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@292807.4]
+  assign buffer_auto_out_d_bits_size = _T_516[1:0]; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@292807.4]
+  assign buffer_auto_out_d_bits_source = _T_516[7:2]; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@292807.4]
+  assign buffer_auto_out_d_bits_data = {{24'd0}, _T_1164}; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@292807.4]
+  assign intsource_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@292751.4]
+  assign intsource_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@292752.4]
+  assign intsource_auto_in_0 = status_irqFlag & control_intEn; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@292806.4]
+  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@292761.4]
+  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@292762.4]
+  assign TLMonitor_io_in_a_ready = _T_54_d_ready & _T_1125; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@292795.4]
+  assign TLMonitor_io_in_a_valid = buffer_auto_out_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@292795.4]
+  assign TLMonitor_io_in_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@292795.4]
+  assign TLMonitor_io_in_a_bits_param = buffer_auto_out_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@292795.4]
+  assign TLMonitor_io_in_a_bits_size = buffer_auto_out_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@292795.4]
+  assign TLMonitor_io_in_a_bits_source = buffer_auto_out_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@292795.4]
+  assign TLMonitor_io_in_a_bits_address = buffer_auto_out_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@292795.4]
+  assign TLMonitor_io_in_a_bits_mask = buffer_auto_out_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@292795.4]
+  assign TLMonitor_io_in_a_bits_corrupt = buffer_auto_out_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@292795.4]
+  assign TLMonitor_io_in_d_ready = buffer_auto_out_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@292795.4]
+  assign TLMonitor_io_in_d_valid = _T_54_a_valid & _T_1125; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@292795.4]
+  assign TLMonitor_io_in_d_bits_opcode = {{2'd0}, _T_514}; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@292795.4]
+  assign TLMonitor_io_in_d_bits_size = _T_516[1:0]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@292795.4]
+  assign TLMonitor_io_in_d_bits_source = _T_516[7:2]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@292795.4]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  prescaler_hi = _RAND_0[7:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  prescaler_lo = _RAND_1[7:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  control_coreEn = _RAND_2[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  control_intEn = _RAND_3[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  transmitData = _RAND_4[7:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  receivedData = _RAND_5[7:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {1{`RANDOM}};
+  cmd_start = _RAND_6[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {1{`RANDOM}};
+  cmd_stop = _RAND_7[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_8 = {1{`RANDOM}};
+  cmd_read = _RAND_8[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_9 = {1{`RANDOM}};
+  cmd_write = _RAND_9[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_10 = {1{`RANDOM}};
+  cmd_ack = _RAND_10[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_11 = {1{`RANDOM}};
+  cmd_irqAck = _RAND_11[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_12 = {1{`RANDOM}};
+  status_receivedAck = _RAND_12[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_13 = {1{`RANDOM}};
+  status_busy = _RAND_13[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_14 = {1{`RANDOM}};
+  status_arbLost = _RAND_14[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_15 = {1{`RANDOM}};
+  status_transferInProgress = _RAND_15[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_16 = {1{`RANDOM}};
+  status_irqFlag = _RAND_16[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_17 = {1{`RANDOM}};
+  filterCnt = _RAND_17[13:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_18 = {1{`RANDOM}};
+  fSCL = _RAND_18[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_19 = {1{`RANDOM}};
+  fSDA = _RAND_19[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_20 = {1{`RANDOM}};
+  sSCL = _RAND_20[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_21 = {1{`RANDOM}};
+  sSDA = _RAND_21[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_22 = {1{`RANDOM}};
+  dSCL = _RAND_22[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_23 = {1{`RANDOM}};
+  dSDA = _RAND_23[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_24 = {1{`RANDOM}};
+  dSCLOen = _RAND_24[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_25 = {1{`RANDOM}};
+  startCond = _RAND_25[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_26 = {1{`RANDOM}};
+  stopCond = _RAND_26[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_27 = {1{`RANDOM}};
+  sclOen = _RAND_27[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_28 = {1{`RANDOM}};
+  slaveWait = _RAND_28[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_29 = {1{`RANDOM}};
+  clkEn = _RAND_29[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_30 = {1{`RANDOM}};
+  cnt = _RAND_30[15:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_31 = {1{`RANDOM}};
+  sdaOen = _RAND_31[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_32 = {1{`RANDOM}};
+  sdaChk = _RAND_32[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_33 = {1{`RANDOM}};
+  transmitBit = _RAND_33[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_34 = {1{`RANDOM}};
+  receivedBit = _RAND_34[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_35 = {1{`RANDOM}};
+  bitCmd = _RAND_35[3:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_36 = {1{`RANDOM}};
+  bitCmdStop = _RAND_36[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_37 = {1{`RANDOM}};
+  bitCmdAck = _RAND_37[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_38 = {1{`RANDOM}};
+  bitState = _RAND_38[4:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_39 = {1{`RANDOM}};
+  arbLost = _RAND_39[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_40 = {1{`RANDOM}};
+  load = _RAND_40[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_41 = {1{`RANDOM}};
+  shift = _RAND_41[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_42 = {1{`RANDOM}};
+  cmdAck = _RAND_42[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_43 = {1{`RANDOM}};
+  receivedAck = _RAND_43[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_44 = {1{`RANDOM}};
+  bitCnt = _RAND_44[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_45 = {1{`RANDOM}};
+  byteState = _RAND_45[2:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_46 = {1{`RANDOM}};
+  statusReadReady = _RAND_46[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      prescaler_hi <= 8'hff;
+    end else begin
+      if (_T_664) begin
+        prescaler_hi <= _T_799;
+      end
+    end
+    if (reset) begin
+      prescaler_lo <= 8'hff;
+    end else begin
+      if (_T_639) begin
+        prescaler_lo <= _T_799;
+      end
+    end
+    if (reset) begin
+      control_coreEn <= 1'h0;
+    end else begin
+      if (_T_741) begin
+        control_coreEn <= _T_742;
+      end
+    end
+    if (reset) begin
+      control_intEn <= 1'h0;
+    end else begin
+      if (_T_714) begin
+        control_intEn <= _T_715;
+      end
+    end
+    if (reset) begin
+      transmitData <= 8'h0;
+    end else begin
+      if (_T_768) begin
+        transmitData <= _T_799;
+      end
+    end
+    if (reset) begin
+      receivedData <= 8'h0;
+    end else begin
+      receivedData <= _GEN_117[7:0];
+    end
+    if (reset) begin
+      cmd_start <= 1'h0;
+    end else begin
+      if (_T_498) begin
+        cmd_start <= 1'h0;
+      end else begin
+        cmd_start <= _T_490;
+      end
+    end
+    if (reset) begin
+      cmd_stop <= 1'h0;
+    end else begin
+      if (_T_498) begin
+        cmd_stop <= 1'h0;
+      end else begin
+        cmd_stop <= _T_489;
+      end
+    end
+    if (reset) begin
+      cmd_read <= 1'h0;
+    end else begin
+      if (_T_498) begin
+        cmd_read <= 1'h0;
+      end else begin
+        cmd_read <= _T_488;
+      end
+    end
+    if (reset) begin
+      cmd_write <= 1'h0;
+    end else begin
+      if (_T_498) begin
+        cmd_write <= 1'h0;
+      end else begin
+        cmd_write <= _T_487;
+      end
+    end
+    if (reset) begin
+      cmd_ack <= 1'h0;
+    end else begin
+      cmd_ack <= _T_486;
+    end
+    if (reset) begin
+      cmd_irqAck <= 1'h0;
+    end else begin
+      cmd_irqAck <= _T_484;
+    end
+    if (reset) begin
+      status_receivedAck <= 1'h0;
+    end else begin
+      status_receivedAck <= receivedAck;
+    end
+    if (reset) begin
+      status_busy <= 1'h0;
+    end else begin
+      if (stopCond) begin
+        status_busy <= 1'h0;
+      end else begin
+        if (startCond) begin
+          status_busy <= 1'h1;
+        end
+      end
+    end
+    if (reset) begin
+      status_arbLost <= 1'h0;
+    end else begin
+      if (arbLost) begin
+        status_arbLost <= 1'h1;
+      end else begin
+        if (cmd_start) begin
+          status_arbLost <= 1'h0;
+        end
+      end
+    end
+    if (reset) begin
+      status_transferInProgress <= 1'h0;
+    end else begin
+      status_transferInProgress <= _T_460;
+    end
+    if (reset) begin
+      status_irqFlag <= 1'h0;
+    end else begin
+      status_irqFlag <= _T_503;
+    end
+    if (reset) begin
+      filterCnt <= 14'h0;
+    end else begin
+      if (_T_346) begin
+        filterCnt <= 14'h0;
+      end else begin
+        if (_T_348) begin
+          filterCnt <= _T_350;
+        end else begin
+          filterCnt <= _T_353;
+        end
+      end
+    end
+    if (reset) begin
+      fSCL <= 3'h7;
+    end else begin
+      fSCL <= _GEN_2[2:0];
+    end
+    if (reset) begin
+      fSDA <= 3'h7;
+    end else begin
+      fSDA <= _GEN_3[2:0];
+    end
+    if (reset) begin
+      sSCL <= 1'h1;
+    end else begin
+      sSCL <= _T_367;
+    end
+    if (reset) begin
+      sSDA <= 1'h1;
+    end else begin
+      sSDA <= _T_376;
+    end
+    if (reset) begin
+      dSCL <= 1'h1;
+    end else begin
+      dSCL <= sSCL;
+    end
+    if (reset) begin
+      dSDA <= 1'h1;
+    end else begin
+      dSDA <= sSDA;
+    end
+    dSCLOen <= sclOen == 1'h0;
+    if (reset) begin
+      startCond <= 1'h0;
+    end else begin
+      startCond <= _T_383;
+    end
+    if (reset) begin
+      stopCond <= 1'h0;
+    end else begin
+      stopCond <= _T_387;
+    end
+    if (reset) begin
+      sclOen <= 1'h1;
+    end else begin
+      if (arbLost) begin
+        sclOen <= 1'h1;
+      end else begin
+        if (clkEn) begin
+          if (!(_T_434)) begin
+            if (!(_T_439)) begin
+              if (_T_440) begin
+                sclOen <= 1'h1;
+              end else begin
+                if (_T_441) begin
+                  sclOen <= 1'h1;
+                end else begin
+                  if (_T_442) begin
+                    sclOen <= 1'h1;
+                  end else begin
+                    if (_T_443) begin
+                      sclOen <= 1'h0;
+                    end else begin
+                      if (_T_444) begin
+                        sclOen <= 1'h0;
+                      end else begin
+                        if (_T_445) begin
+                          sclOen <= 1'h1;
+                        end else begin
+                          if (_T_446) begin
+                            sclOen <= 1'h1;
+                          end else begin
+                            if (_T_447) begin
+                              sclOen <= 1'h1;
+                            end else begin
+                              if (_T_448) begin
+                                sclOen <= 1'h0;
+                              end else begin
+                                if (_T_449) begin
+                                  sclOen <= 1'h1;
+                                end else begin
+                                  if (_T_450) begin
+                                    sclOen <= 1'h1;
+                                  end else begin
+                                    if (_T_451) begin
+                                      sclOen <= 1'h0;
+                                    end else begin
+                                      if (_T_452) begin
+                                        sclOen <= 1'h0;
+                                      end else begin
+                                        if (_T_453) begin
+                                          sclOen <= 1'h1;
+                                        end else begin
+                                          if (_T_454) begin
+                                            sclOen <= 1'h1;
+                                          end else begin
+                                            if (_T_455) begin
+                                              sclOen <= 1'h0;
+                                            end
+                                          end
+                                        end
+                                      end
+                                    end
+                                  end
+                                end
+                              end
+                            end
+                          end
+                        end
+                      end
+                    end
+                  end
+                end
+              end
+            end
+          end
+        end
+      end
+    end
+    if (reset) begin
+      slaveWait <= 1'h0;
+    end else begin
+      slaveWait <= _T_398;
+    end
+    if (reset) begin
+      clkEn <= 1'h1;
+    end else begin
+      clkEn <= _T_405;
+    end
+    if (reset) begin
+      cnt <= 16'h0;
+    end else begin
+      if (_T_405) begin
+        cnt <= _T_349;
+      end else begin
+        if (!(slaveWait)) begin
+          cnt <= _T_409;
+        end
+      end
+    end
+    if (reset) begin
+      sdaOen <= 1'h1;
+    end else begin
+      if (arbLost) begin
+        sdaOen <= 1'h1;
+      end else begin
+        if (clkEn) begin
+          if (!(_T_434)) begin
+            if (_T_439) begin
+              sdaOen <= 1'h1;
+            end else begin
+              if (_T_440) begin
+                sdaOen <= 1'h1;
+              end else begin
+                if (_T_441) begin
+                  sdaOen <= 1'h0;
+                end else begin
+                  if (_T_442) begin
+                    sdaOen <= 1'h0;
+                  end else begin
+                    if (_T_443) begin
+                      sdaOen <= 1'h0;
+                    end else begin
+                      if (_T_444) begin
+                        sdaOen <= 1'h0;
+                      end else begin
+                        if (_T_445) begin
+                          sdaOen <= 1'h0;
+                        end else begin
+                          if (_T_446) begin
+                            sdaOen <= 1'h0;
+                          end else begin
+                            if (_T_447) begin
+                              sdaOen <= 1'h1;
+                            end else begin
+                              if (_T_448) begin
+                                sdaOen <= 1'h1;
+                              end else begin
+                                if (_T_449) begin
+                                  sdaOen <= 1'h1;
+                                end else begin
+                                  if (_T_450) begin
+                                    sdaOen <= 1'h1;
+                                  end else begin
+                                    if (_T_451) begin
+                                      sdaOen <= 1'h1;
+                                    end else begin
+                                      if (_T_452) begin
+                                        sdaOen <= transmitBit;
+                                      end else begin
+                                        if (_T_453) begin
+                                          sdaOen <= transmitBit;
+                                        end else begin
+                                          if (_T_454) begin
+                                            sdaOen <= transmitBit;
+                                          end else begin
+                                            if (_T_455) begin
+                                              sdaOen <= transmitBit;
+                                            end
+                                          end
+                                        end
+                                      end
+                                    end
+                                  end
+                                end
+                              end
+                            end
+                          end
+                        end
+                      end
+                    end
+                  end
+                end
+              end
+            end
+          end
+        end
+      end
+    end
+    if (reset) begin
+      sdaChk <= 1'h0;
+    end else begin
+      if (arbLost) begin
+        sdaChk <= 1'h0;
+      end else begin
+        if (clkEn) begin
+          if (_T_434) begin
+            sdaChk <= 1'h0;
+          end else begin
+            if (_T_439) begin
+              sdaChk <= 1'h0;
+            end else begin
+              if (_T_440) begin
+                sdaChk <= 1'h0;
+              end else begin
+                if (_T_441) begin
+                  sdaChk <= 1'h0;
+                end else begin
+                  if (_T_442) begin
+                    sdaChk <= 1'h0;
+                  end else begin
+                    if (_T_443) begin
+                      sdaChk <= 1'h0;
+                    end else begin
+                      if (_T_444) begin
+                        sdaChk <= 1'h0;
+                      end else begin
+                        if (_T_445) begin
+                          sdaChk <= 1'h0;
+                        end else begin
+                          if (_T_446) begin
+                            sdaChk <= 1'h0;
+                          end else begin
+                            if (_T_447) begin
+                              sdaChk <= 1'h0;
+                            end else begin
+                              if (_T_448) begin
+                                sdaChk <= 1'h0;
+                              end else begin
+                                if (_T_449) begin
+                                  sdaChk <= 1'h0;
+                                end else begin
+                                  if (_T_450) begin
+                                    sdaChk <= 1'h0;
+                                  end else begin
+                                    if (_T_451) begin
+                                      sdaChk <= 1'h0;
+                                    end else begin
+                                      if (_T_452) begin
+                                        sdaChk <= 1'h0;
+                                      end else begin
+                                        if (_T_453) begin
+                                          sdaChk <= 1'h0;
+                                        end else begin
+                                          if (_T_454) begin
+                                            sdaChk <= 1'h1;
+                                          end else begin
+                                            if (_T_455) begin
+                                              sdaChk <= 1'h0;
+                                            end
+                                          end
+                                        end
+                                      end
+                                    end
+                                  end
+                                end
+                              end
+                            end
+                          end
+                        end
+                      end
+                    end
+                  end
+                end
+              end
+            end
+          end
+        end
+      end
+    end
+    if (reset) begin
+      transmitBit <= 1'h0;
+    end else begin
+      if (arbLost) begin
+        transmitBit <= 1'h0;
+      end else begin
+        if (_T_472) begin
+          transmitBit <= _T_471;
+        end else begin
+          if (_T_473) begin
+            transmitBit <= _T_471;
+          end else begin
+            if (_T_474) begin
+              transmitBit <= _T_471;
+            end else begin
+              if (_T_475) begin
+                if (bitCmdAck) begin
+                  transmitBit <= cmd_ack;
+                end else begin
+                  transmitBit <= _T_471;
+                end
+              end else begin
+                if (_T_476) begin
+                  if (bitCmdAck) begin
+                    transmitBit <= 1'h1;
+                  end else begin
+                    transmitBit <= cmd_ack;
+                  end
+                end else begin
+                  transmitBit <= _T_471;
+                end
+              end
+            end
+          end
+        end
+      end
+    end
+    if (_T_418) begin
+      receivedBit <= sSDA;
+    end
+    if (reset) begin
+      bitCmd <= 4'h0;
+    end else begin
+      if (arbLost) begin
+        bitCmd <= 4'h0;
+      end else begin
+        if (_T_472) begin
+          if (go) begin
+            if (cmd_start) begin
+              bitCmd <= 4'h1;
+            end else begin
+              if (cmd_read) begin
+                bitCmd <= 4'h8;
+              end else begin
+                bitCmd <= {{1'd0}, _GEN_119};
+              end
+            end
+          end
+        end else begin
+          if (_T_473) begin
+            if (bitCmdAck) begin
+              if (cmd_read) begin
+                bitCmd <= 4'h8;
+              end else begin
+                bitCmd <= 4'h4;
+              end
+            end
+          end else begin
+            if (_T_474) begin
+              if (bitCmdAck) begin
+                if (bitCntDone) begin
+                  bitCmd <= 4'h8;
+                end else begin
+                  bitCmd <= 4'h4;
+                end
+              end
+            end else begin
+              if (_T_475) begin
+                if (bitCmdAck) begin
+                  if (bitCntDone) begin
+                    bitCmd <= 4'h4;
+                  end else begin
+                    bitCmd <= 4'h8;
+                  end
+                end
+              end else begin
+                if (_T_476) begin
+                  if (bitCmdAck) begin
+                    bitCmd <= {{2'd0}, _GEN_144};
+                  end
+                end else begin
+                  if (_T_477) begin
+                    if (bitCmdAck) begin
+                      bitCmd <= 4'h0;
+                    end
+                  end
+                end
+              end
+            end
+          end
+        end
+      end
+    end
+    if (reset) begin
+      bitCmdStop <= 1'h0;
+    end else begin
+      if (clkEn) begin
+        bitCmdStop <= _T_421;
+      end
+    end
+    if (reset) begin
+      bitCmdAck <= 1'h0;
+    end else begin
+      if (arbLost) begin
+        bitCmdAck <= 1'h0;
+      end else begin
+        if (clkEn) begin
+          if (_T_434) begin
+            bitCmdAck <= 1'h0;
+          end else begin
+            if (_T_439) begin
+              bitCmdAck <= 1'h0;
+            end else begin
+              if (_T_440) begin
+                bitCmdAck <= 1'h0;
+              end else begin
+                if (_T_441) begin
+                  bitCmdAck <= 1'h0;
+                end else begin
+                  if (_T_442) begin
+                    bitCmdAck <= 1'h0;
+                  end else begin
+                    if (_T_443) begin
+                      bitCmdAck <= 1'h1;
+                    end else begin
+                      if (_T_444) begin
+                        bitCmdAck <= 1'h0;
+                      end else begin
+                        if (_T_445) begin
+                          bitCmdAck <= 1'h0;
+                        end else begin
+                          if (_T_446) begin
+                            bitCmdAck <= 1'h0;
+                          end else begin
+                            if (_T_447) begin
+                              bitCmdAck <= 1'h1;
+                            end else begin
+                              if (_T_448) begin
+                                bitCmdAck <= 1'h0;
+                              end else begin
+                                if (_T_449) begin
+                                  bitCmdAck <= 1'h0;
+                                end else begin
+                                  if (_T_450) begin
+                                    bitCmdAck <= 1'h0;
+                                  end else begin
+                                    if (_T_451) begin
+                                      bitCmdAck <= 1'h1;
+                                    end else begin
+                                      if (_T_452) begin
+                                        bitCmdAck <= 1'h0;
+                                      end else begin
+                                        if (_T_453) begin
+                                          bitCmdAck <= 1'h0;
+                                        end else begin
+                                          if (_T_454) begin
+                                            bitCmdAck <= 1'h0;
+                                          end else begin
+                                            bitCmdAck <= _T_455;
+                                          end
+                                        end
+                                      end
+                                    end
+                                  end
+                                end
+                              end
+                            end
+                          end
+                        end
+                      end
+                    end
+                  end
+                end
+              end
+            end
+          end
+        end else begin
+          bitCmdAck <= 1'h0;
+        end
+      end
+    end
+    if (reset) begin
+      bitState <= 5'h0;
+    end else begin
+      if (arbLost) begin
+        bitState <= 5'h0;
+      end else begin
+        if (clkEn) begin
+          if (_T_434) begin
+            if (_T_435) begin
+              bitState <= 5'h1;
+            end else begin
+              if (_T_436) begin
+                bitState <= 5'h6;
+              end else begin
+                if (_T_437) begin
+                  bitState <= 5'he;
+                end else begin
+                  if (_T_438) begin
+                    bitState <= 5'ha;
+                  end
+                end
+              end
+            end
+          end else begin
+            if (_T_439) begin
+              bitState <= 5'h2;
+            end else begin
+              if (_T_440) begin
+                bitState <= 5'h3;
+              end else begin
+                if (_T_441) begin
+                  bitState <= 5'h4;
+                end else begin
+                  if (_T_442) begin
+                    bitState <= 5'h5;
+                  end else begin
+                    if (_T_443) begin
+                      bitState <= 5'h0;
+                    end else begin
+                      if (_T_444) begin
+                        bitState <= 5'h7;
+                      end else begin
+                        if (_T_445) begin
+                          bitState <= 5'h8;
+                        end else begin
+                          if (_T_446) begin
+                            bitState <= 5'h9;
+                          end else begin
+                            if (_T_447) begin
+                              bitState <= 5'h0;
+                            end else begin
+                              if (_T_448) begin
+                                bitState <= 5'hb;
+                              end else begin
+                                if (_T_449) begin
+                                  bitState <= 5'hc;
+                                end else begin
+                                  if (_T_450) begin
+                                    bitState <= 5'hd;
+                                  end else begin
+                                    if (_T_451) begin
+                                      bitState <= 5'h0;
+                                    end else begin
+                                      if (_T_452) begin
+                                        bitState <= 5'hf;
+                                      end else begin
+                                        if (_T_453) begin
+                                          bitState <= 5'h10;
+                                        end else begin
+                                          if (_T_454) begin
+                                            bitState <= 5'h11;
+                                          end else begin
+                                            if (_T_455) begin
+                                              bitState <= 5'h0;
+                                            end
+                                          end
+                                        end
+                                      end
+                                    end
+                                  end
+                                end
+                              end
+                            end
+                          end
+                        end
+                      end
+                    end
+                  end
+                end
+              end
+            end
+          end
+        end
+      end
+    end
+    if (reset) begin
+      arbLost <= 1'h0;
+    end else begin
+      arbLost <= _T_432;
+    end
+    if (reset) begin
+      load <= 1'h0;
+    end else begin
+      if (arbLost) begin
+        load <= 1'h0;
+      end else begin
+        if (_T_472) begin
+          load <= go;
+        end else begin
+          if (_T_473) begin
+            load <= bitCmdAck;
+          end else begin
+            load <= 1'h0;
+          end
+        end
+      end
+    end
+    if (reset) begin
+      shift <= 1'h0;
+    end else begin
+      if (arbLost) begin
+        shift <= 1'h0;
+      end else begin
+        if (_T_472) begin
+          shift <= 1'h0;
+        end else begin
+          if (_T_473) begin
+            shift <= 1'h0;
+          end else begin
+            if (_T_474) begin
+              if (bitCmdAck) begin
+                if (bitCntDone) begin
+                  shift <= 1'h0;
+                end else begin
+                  shift <= 1'h1;
+                end
+              end else begin
+                shift <= 1'h0;
+              end
+            end else begin
+              if (_T_475) begin
+                shift <= bitCmdAck;
+              end else begin
+                shift <= 1'h0;
+              end
+            end
+          end
+        end
+      end
+    end
+    if (reset) begin
+      cmdAck <= 1'h0;
+    end else begin
+      if (arbLost) begin
+        cmdAck <= 1'h0;
+      end else begin
+        if (_T_472) begin
+          cmdAck <= 1'h0;
+        end else begin
+          if (_T_473) begin
+            cmdAck <= 1'h0;
+          end else begin
+            if (_T_474) begin
+              cmdAck <= 1'h0;
+            end else begin
+              if (_T_475) begin
+                cmdAck <= 1'h0;
+              end else begin
+                if (_T_476) begin
+                  if (bitCmdAck) begin
+                    if (cmd_stop) begin
+                      cmdAck <= 1'h0;
+                    end else begin
+                      cmdAck <= 1'h1;
+                    end
+                  end else begin
+                    cmdAck <= 1'h0;
+                  end
+                end else begin
+                  if (_T_477) begin
+                    cmdAck <= bitCmdAck;
+                  end else begin
+                    cmdAck <= 1'h0;
+                  end
+                end
+              end
+            end
+          end
+        end
+      end
+    end
+    if (reset) begin
+      receivedAck <= 1'h0;
+    end else begin
+      if (arbLost) begin
+        receivedAck <= 1'h0;
+      end else begin
+        if (!(_T_472)) begin
+          if (!(_T_473)) begin
+            if (!(_T_474)) begin
+              if (!(_T_475)) begin
+                if (_T_476) begin
+                  if (bitCmdAck) begin
+                    receivedAck <= receivedBit;
+                  end
+                end
+              end
+            end
+          end
+        end
+      end
+    end
+    if (reset) begin
+      bitCnt <= 3'h0;
+    end else begin
+      if (load) begin
+        bitCnt <= 3'h7;
+      end else begin
+        if (shift) begin
+          bitCnt <= _T_466;
+        end
+      end
+    end
+    if (reset) begin
+      byteState <= 3'h0;
+    end else begin
+      if (arbLost) begin
+        byteState <= 3'h0;
+      end else begin
+        if (_T_472) begin
+          if (go) begin
+            if (cmd_start) begin
+              byteState <= 3'h1;
+            end else begin
+              if (cmd_read) begin
+                byteState <= 3'h2;
+              end else begin
+                if (cmd_write) begin
+                  byteState <= 3'h3;
+                end else begin
+                  byteState <= 3'h5;
+                end
+              end
+            end
+          end
+        end else begin
+          if (_T_473) begin
+            if (bitCmdAck) begin
+              if (cmd_read) begin
+                byteState <= 3'h2;
+              end else begin
+                byteState <= 3'h3;
+              end
+            end
+          end else begin
+            if (_T_474) begin
+              if (bitCmdAck) begin
+                if (bitCntDone) begin
+                  byteState <= 3'h4;
+                end else begin
+                  byteState <= 3'h3;
+                end
+              end
+            end else begin
+              if (_T_475) begin
+                if (bitCmdAck) begin
+                  if (bitCntDone) begin
+                    byteState <= 3'h4;
+                  end else begin
+                    byteState <= 3'h2;
+                  end
+                end
+              end else begin
+                if (_T_476) begin
+                  if (bitCmdAck) begin
+                    if (cmd_stop) begin
+                      byteState <= 3'h5;
+                    end else begin
+                      byteState <= 3'h0;
+                    end
+                  end
+                end else begin
+                  if (_T_477) begin
+                    if (bitCmdAck) begin
+                      byteState <= 3'h0;
+                    end
+                  end
+                end
+              end
+            end
+          end
+        end
+      end
+    end
+    if (reset) begin
+      statusReadReady <= 1'h1;
+    end else begin
+      if (_T_793) begin
+        statusReadReady <= 1'h0;
+      end else begin
+        if (_T_498) begin
+          statusReadReady <= 1'h0;
+        end else begin
+          if (_T_506) begin
+            statusReadReady <= 1'h1;
+          end
+        end
+      end
+    end
+  end
+endmodule
+module CaptureUpdateChain( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@294107.2]
+  input        clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@294108.4]
+  input        reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@294109.4]
+  input        io_chainIn_shift, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@294110.4]
+  input        io_chainIn_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@294110.4]
+  input        io_chainIn_capture, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@294110.4]
+  input        io_chainIn_update, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@294110.4]
+  output       io_chainOut_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@294110.4]
+  input  [1:0] io_capture_bits_dmiStatus, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@294110.4]
+  output       io_update_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@294110.4]
+  output       io_update_bits_dmireset // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@294110.4]
+);
+  reg  regs_0; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294118.4]
+  reg [31:0] _RAND_0;
+  reg  regs_1; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294119.4]
+  reg [31:0] _RAND_1;
+  reg  regs_2; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294120.4]
+  reg [31:0] _RAND_2;
+  reg  regs_3; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294121.4]
+  reg [31:0] _RAND_3;
+  reg  regs_4; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294122.4]
+  reg [31:0] _RAND_4;
+  reg  regs_5; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294123.4]
+  reg [31:0] _RAND_5;
+  reg  regs_6; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294124.4]
+  reg [31:0] _RAND_6;
+  reg  regs_7; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294125.4]
+  reg [31:0] _RAND_7;
+  reg  regs_8; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294126.4]
+  reg [31:0] _RAND_8;
+  reg  regs_9; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294127.4]
+  reg [31:0] _RAND_9;
+  reg  regs_10; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294128.4]
+  reg [31:0] _RAND_10;
+  reg  regs_11; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294129.4]
+  reg [31:0] _RAND_11;
+  reg  regs_12; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294130.4]
+  reg [31:0] _RAND_12;
+  reg  regs_13; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294131.4]
+  reg [31:0] _RAND_13;
+  reg  regs_14; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294132.4]
+  reg [31:0] _RAND_14;
+  reg  regs_15; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294133.4]
+  reg [31:0] _RAND_15;
+  reg  regs_16; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294134.4]
+  reg [31:0] _RAND_16;
+  reg  regs_17; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294135.4]
+  reg [31:0] _RAND_17;
+  reg  regs_18; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294136.4]
+  reg [31:0] _RAND_18;
+  reg  regs_19; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294137.4]
+  reg [31:0] _RAND_19;
+  reg  regs_20; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294138.4]
+  reg [31:0] _RAND_20;
+  reg  regs_21; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294139.4]
+  reg [31:0] _RAND_21;
+  reg  regs_22; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294140.4]
+  reg [31:0] _RAND_22;
+  reg  regs_23; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294141.4]
+  reg [31:0] _RAND_23;
+  reg  regs_24; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294142.4]
+  reg [31:0] _RAND_24;
+  reg  regs_25; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294143.4]
+  reg [31:0] _RAND_25;
+  reg  regs_26; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294144.4]
+  reg [31:0] _RAND_26;
+  reg  regs_27; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294145.4]
+  reg [31:0] _RAND_27;
+  reg  regs_28; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294146.4]
+  reg [31:0] _RAND_28;
+  reg  regs_29; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294147.4]
+  reg [31:0] _RAND_29;
+  reg  regs_30; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294148.4]
+  reg [31:0] _RAND_30;
+  reg  regs_31; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294149.4]
+  reg [31:0] _RAND_31;
+  wire [1:0] _T_45; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294151.4]
+  wire [1:0] _T_46; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294152.4]
+  wire [3:0] _T_47; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294153.4]
+  wire [1:0] _T_48; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294154.4]
+  wire [1:0] _T_49; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294155.4]
+  wire [3:0] _T_50; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294156.4]
+  wire [7:0] _T_51; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294157.4]
+  wire [1:0] _T_52; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294158.4]
+  wire [1:0] _T_53; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294159.4]
+  wire [3:0] _T_54; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294160.4]
+  wire [1:0] _T_55; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294161.4]
+  wire [1:0] _T_56; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294162.4]
+  wire [3:0] _T_57; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294163.4]
+  wire [7:0] _T_58; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294164.4]
+  wire [15:0] _T_59; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294165.4]
+  wire [1:0] _T_60; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294166.4]
+  wire [1:0] _T_61; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294167.4]
+  wire [3:0] _T_62; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294168.4]
+  wire [1:0] _T_63; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294169.4]
+  wire [1:0] _T_64; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294170.4]
+  wire [3:0] _T_65; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294171.4]
+  wire [7:0] _T_66; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294172.4]
+  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294173.4]
+  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294174.4]
+  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294175.4]
+  wire [1:0] _T_70; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294176.4]
+  wire [1:0] _T_71; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294177.4]
+  wire [3:0] _T_72; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294178.4]
+  wire [7:0] _T_73; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294179.4]
+  wire [15:0] _T_74; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294180.4]
+  wire [31:0] updateBits; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294181.4]
+  wire [7:0] _T_87; // @[JtagShifter.scala 163:43:shc.marmotcaravel.MarmotCaravelConfig.fir@294203.4]
+  wire [11:0] _T_88; // @[JtagShifter.scala 163:43:shc.marmotcaravel.MarmotCaravelConfig.fir@294204.4]
+  wire [31:0] captureBits; // @[JtagShifter.scala 163:43:shc.marmotcaravel.MarmotCaravelConfig.fir@294208.4]
+  wire  _T_92; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294210.6]
+  wire  _T_93; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294212.6]
+  wire  _T_94; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294214.6]
+  wire  _T_95; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294216.6]
+  wire  _T_96; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294218.6]
+  wire  _T_97; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294220.6]
+  wire  _T_98; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294222.6]
+  wire  _T_99; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294224.6]
+  wire  _T_100; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294226.6]
+  wire  _T_101; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294228.6]
+  wire  _T_102; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294230.6]
+  wire  _T_103; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294232.6]
+  wire  _T_104; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294234.6]
+  wire  _T_105; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294236.6]
+  wire  _T_106; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294238.6]
+  wire  _T_107; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294240.6]
+  wire  _T_108; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294242.6]
+  wire  _T_109; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294244.6]
+  wire  _T_110; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294246.6]
+  wire  _T_111; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294248.6]
+  wire  _T_112; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294250.6]
+  wire  _T_113; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294252.6]
+  wire  _T_114; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294254.6]
+  wire  _T_115; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294256.6]
+  wire  _T_116; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294258.6]
+  wire  _T_117; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294260.6]
+  wire  _T_118; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294262.6]
+  wire  _T_119; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294264.6]
+  wire  _T_120; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294266.6]
+  wire  _T_121; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294268.6]
+  wire  _T_122; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294270.6]
+  wire  _T_123; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294272.6]
+  wire  _T_124; // @[JtagShifter.scala 185:31:shc.marmotcaravel.MarmotCaravelConfig.fir@294323.4]
+  wire  _T_125; // @[JtagShifter.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@294324.4]
+  wire  _T_126; // @[JtagShifter.scala 186:31:shc.marmotcaravel.MarmotCaravelConfig.fir@294325.4]
+  wire  _T_127; // @[JtagShifter.scala 186:10:shc.marmotcaravel.MarmotCaravelConfig.fir@294326.4]
+  wire  _T_128; // @[JtagShifter.scala 186:7:shc.marmotcaravel.MarmotCaravelConfig.fir@294327.4]
+  wire  _T_129; // @[JtagShifter.scala 187:30:shc.marmotcaravel.MarmotCaravelConfig.fir@294328.4]
+  wire  _T_130; // @[JtagShifter.scala 187:10:shc.marmotcaravel.MarmotCaravelConfig.fir@294329.4]
+  wire  _T_131; // @[JtagShifter.scala 187:7:shc.marmotcaravel.MarmotCaravelConfig.fir@294330.4]
+  wire  _T_133; // @[JtagShifter.scala 185:9:shc.marmotcaravel.MarmotCaravelConfig.fir@294332.4]
+  wire  _T_134; // @[JtagShifter.scala 185:9:shc.marmotcaravel.MarmotCaravelConfig.fir@294333.4]
+  assign _T_45 = {regs_1,regs_0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294151.4]
+  assign _T_46 = {regs_3,regs_2}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294152.4]
+  assign _T_47 = {_T_46,_T_45}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294153.4]
+  assign _T_48 = {regs_5,regs_4}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294154.4]
+  assign _T_49 = {regs_7,regs_6}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294155.4]
+  assign _T_50 = {_T_49,_T_48}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294156.4]
+  assign _T_51 = {_T_50,_T_47}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294157.4]
+  assign _T_52 = {regs_9,regs_8}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294158.4]
+  assign _T_53 = {regs_11,regs_10}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294159.4]
+  assign _T_54 = {_T_53,_T_52}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294160.4]
+  assign _T_55 = {regs_13,regs_12}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294161.4]
+  assign _T_56 = {regs_15,regs_14}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294162.4]
+  assign _T_57 = {_T_56,_T_55}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294163.4]
+  assign _T_58 = {_T_57,_T_54}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294164.4]
+  assign _T_59 = {_T_58,_T_51}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294165.4]
+  assign _T_60 = {regs_17,regs_16}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294166.4]
+  assign _T_61 = {regs_19,regs_18}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294167.4]
+  assign _T_62 = {_T_61,_T_60}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294168.4]
+  assign _T_63 = {regs_21,regs_20}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294169.4]
+  assign _T_64 = {regs_23,regs_22}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294170.4]
+  assign _T_65 = {_T_64,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294171.4]
+  assign _T_66 = {_T_65,_T_62}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294172.4]
+  assign _T_67 = {regs_25,regs_24}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294173.4]
+  assign _T_68 = {regs_27,regs_26}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294174.4]
+  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294175.4]
+  assign _T_70 = {regs_29,regs_28}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294176.4]
+  assign _T_71 = {regs_31,regs_30}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294177.4]
+  assign _T_72 = {_T_71,_T_70}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294178.4]
+  assign _T_73 = {_T_72,_T_69}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294179.4]
+  assign _T_74 = {_T_73,_T_66}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294180.4]
+  assign updateBits = {_T_74,_T_59}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294181.4]
+  assign _T_87 = {io_capture_bits_dmiStatus,6'h7}; // @[JtagShifter.scala 163:43:shc.marmotcaravel.MarmotCaravelConfig.fir@294203.4]
+  assign _T_88 = {_T_87,4'h1}; // @[JtagShifter.scala 163:43:shc.marmotcaravel.MarmotCaravelConfig.fir@294204.4]
+  assign captureBits = {20'h5,_T_88}; // @[JtagShifter.scala 163:43:shc.marmotcaravel.MarmotCaravelConfig.fir@294208.4]
+  assign _T_92 = captureBits[0]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294210.6]
+  assign _T_93 = captureBits[1]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294212.6]
+  assign _T_94 = captureBits[2]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294214.6]
+  assign _T_95 = captureBits[3]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294216.6]
+  assign _T_96 = captureBits[4]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294218.6]
+  assign _T_97 = captureBits[5]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294220.6]
+  assign _T_98 = captureBits[6]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294222.6]
+  assign _T_99 = captureBits[7]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294224.6]
+  assign _T_100 = captureBits[8]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294226.6]
+  assign _T_101 = captureBits[9]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294228.6]
+  assign _T_102 = captureBits[10]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294230.6]
+  assign _T_103 = captureBits[11]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294232.6]
+  assign _T_104 = captureBits[12]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294234.6]
+  assign _T_105 = captureBits[13]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294236.6]
+  assign _T_106 = captureBits[14]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294238.6]
+  assign _T_107 = captureBits[15]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294240.6]
+  assign _T_108 = captureBits[16]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294242.6]
+  assign _T_109 = captureBits[17]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294244.6]
+  assign _T_110 = captureBits[18]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294246.6]
+  assign _T_111 = captureBits[19]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294248.6]
+  assign _T_112 = captureBits[20]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294250.6]
+  assign _T_113 = captureBits[21]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294252.6]
+  assign _T_114 = captureBits[22]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294254.6]
+  assign _T_115 = captureBits[23]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294256.6]
+  assign _T_116 = captureBits[24]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294258.6]
+  assign _T_117 = captureBits[25]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294260.6]
+  assign _T_118 = captureBits[26]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294262.6]
+  assign _T_119 = captureBits[27]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294264.6]
+  assign _T_120 = captureBits[28]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294266.6]
+  assign _T_121 = captureBits[29]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294268.6]
+  assign _T_122 = captureBits[30]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294270.6]
+  assign _T_123 = captureBits[31]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294272.6]
+  assign _T_124 = io_chainIn_capture & io_chainIn_update; // @[JtagShifter.scala 185:31:shc.marmotcaravel.MarmotCaravelConfig.fir@294323.4]
+  assign _T_125 = _T_124 == 1'h0; // @[JtagShifter.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@294324.4]
+  assign _T_126 = io_chainIn_capture & io_chainIn_shift; // @[JtagShifter.scala 186:31:shc.marmotcaravel.MarmotCaravelConfig.fir@294325.4]
+  assign _T_127 = _T_126 == 1'h0; // @[JtagShifter.scala 186:10:shc.marmotcaravel.MarmotCaravelConfig.fir@294326.4]
+  assign _T_128 = _T_125 & _T_127; // @[JtagShifter.scala 186:7:shc.marmotcaravel.MarmotCaravelConfig.fir@294327.4]
+  assign _T_129 = io_chainIn_update & io_chainIn_shift; // @[JtagShifter.scala 187:30:shc.marmotcaravel.MarmotCaravelConfig.fir@294328.4]
+  assign _T_130 = _T_129 == 1'h0; // @[JtagShifter.scala 187:10:shc.marmotcaravel.MarmotCaravelConfig.fir@294329.4]
+  assign _T_131 = _T_128 & _T_130; // @[JtagShifter.scala 187:7:shc.marmotcaravel.MarmotCaravelConfig.fir@294330.4]
+  assign _T_133 = _T_131 | reset; // @[JtagShifter.scala 185:9:shc.marmotcaravel.MarmotCaravelConfig.fir@294332.4]
+  assign _T_134 = _T_133 == 1'h0; // @[JtagShifter.scala 185:9:shc.marmotcaravel.MarmotCaravelConfig.fir@294333.4]
+  assign io_chainOut_data = regs_0; // @[JtagShifter.scala 158:20:shc.marmotcaravel.MarmotCaravelConfig.fir@294150.4]
+  assign io_update_valid = io_chainIn_capture ? 1'h0 : io_chainIn_update; // @[JtagShifter.scala 172:21:shc.marmotcaravel.MarmotCaravelConfig.fir@294275.6 JtagShifter.scala 175:21:shc.marmotcaravel.MarmotCaravelConfig.fir@294280.8 JtagShifter.scala 180:21:shc.marmotcaravel.MarmotCaravelConfig.fir@294317.10 JtagShifter.scala 183:21:shc.marmotcaravel.MarmotCaravelConfig.fir@294321.10]
+  assign io_update_bits_dmireset = updateBits[16]; // @[JtagShifter.scala 161:18:shc.marmotcaravel.MarmotCaravelConfig.fir@294202.4]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  regs_0 = _RAND_0[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  regs_1 = _RAND_1[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  regs_2 = _RAND_2[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  regs_3 = _RAND_3[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  regs_4 = _RAND_4[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  regs_5 = _RAND_5[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {1{`RANDOM}};
+  regs_6 = _RAND_6[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {1{`RANDOM}};
+  regs_7 = _RAND_7[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_8 = {1{`RANDOM}};
+  regs_8 = _RAND_8[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_9 = {1{`RANDOM}};
+  regs_9 = _RAND_9[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_10 = {1{`RANDOM}};
+  regs_10 = _RAND_10[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_11 = {1{`RANDOM}};
+  regs_11 = _RAND_11[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_12 = {1{`RANDOM}};
+  regs_12 = _RAND_12[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_13 = {1{`RANDOM}};
+  regs_13 = _RAND_13[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_14 = {1{`RANDOM}};
+  regs_14 = _RAND_14[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_15 = {1{`RANDOM}};
+  regs_15 = _RAND_15[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_16 = {1{`RANDOM}};
+  regs_16 = _RAND_16[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_17 = {1{`RANDOM}};
+  regs_17 = _RAND_17[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_18 = {1{`RANDOM}};
+  regs_18 = _RAND_18[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_19 = {1{`RANDOM}};
+  regs_19 = _RAND_19[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_20 = {1{`RANDOM}};
+  regs_20 = _RAND_20[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_21 = {1{`RANDOM}};
+  regs_21 = _RAND_21[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_22 = {1{`RANDOM}};
+  regs_22 = _RAND_22[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_23 = {1{`RANDOM}};
+  regs_23 = _RAND_23[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_24 = {1{`RANDOM}};
+  regs_24 = _RAND_24[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_25 = {1{`RANDOM}};
+  regs_25 = _RAND_25[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_26 = {1{`RANDOM}};
+  regs_26 = _RAND_26[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_27 = {1{`RANDOM}};
+  regs_27 = _RAND_27[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_28 = {1{`RANDOM}};
+  regs_28 = _RAND_28[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_29 = {1{`RANDOM}};
+  regs_29 = _RAND_29[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_30 = {1{`RANDOM}};
+  regs_30 = _RAND_30[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_31 = {1{`RANDOM}};
+  regs_31 = _RAND_31[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (io_chainIn_capture) begin
+      regs_0 <= _T_92;
+    end else begin
+      if (!(io_chainIn_update)) begin
+        if (io_chainIn_shift) begin
+          regs_0 <= regs_1;
+        end
+      end
+    end
+    if (io_chainIn_capture) begin
+      regs_1 <= _T_93;
+    end else begin
+      if (!(io_chainIn_update)) begin
+        if (io_chainIn_shift) begin
+          regs_1 <= regs_2;
+        end
+      end
+    end
+    if (io_chainIn_capture) begin
+      regs_2 <= _T_94;
+    end else begin
+      if (!(io_chainIn_update)) begin
+        if (io_chainIn_shift) begin
+          regs_2 <= regs_3;
+        end
+      end
+    end
+    if (io_chainIn_capture) begin
+      regs_3 <= _T_95;
+    end else begin
+      if (!(io_chainIn_update)) begin
+        if (io_chainIn_shift) begin
+          regs_3 <= regs_4;
+        end
+      end
+    end
+    if (io_chainIn_capture) begin
+      regs_4 <= _T_96;
+    end else begin
+      if (!(io_chainIn_update)) begin
+        if (io_chainIn_shift) begin
+          regs_4 <= regs_5;
+        end
+      end
+    end
+    if (io_chainIn_capture) begin
+      regs_5 <= _T_97;
+    end else begin
+      if (!(io_chainIn_update)) begin
+        if (io_chainIn_shift) begin
+          regs_5 <= regs_6;
+        end
+      end
+    end
+    if (io_chainIn_capture) begin
+      regs_6 <= _T_98;
+    end else begin
+      if (!(io_chainIn_update)) begin
+        if (io_chainIn_shift) begin
+          regs_6 <= regs_7;
+        end
+      end
+    end
+    if (io_chainIn_capture) begin
+      regs_7 <= _T_99;
+    end else begin
+      if (!(io_chainIn_update)) begin
+        if (io_chainIn_shift) begin
+          regs_7 <= regs_8;
+        end
+      end
+    end
+    if (io_chainIn_capture) begin
+      regs_8 <= _T_100;
+    end else begin
+      if (!(io_chainIn_update)) begin
+        if (io_chainIn_shift) begin
+          regs_8 <= regs_9;
+        end
+      end
+    end
+    if (io_chainIn_capture) begin
+      regs_9 <= _T_101;
+    end else begin
+      if (!(io_chainIn_update)) begin
+        if (io_chainIn_shift) begin
+          regs_9 <= regs_10;
+        end
+      end
+    end
+    if (io_chainIn_capture) begin
+      regs_10 <= _T_102;
+    end else begin
+      if (!(io_chainIn_update)) begin
+        if (io_chainIn_shift) begin
+          regs_10 <= regs_11;
+        end
+      end
+    end
+    if (io_chainIn_capture) begin
+      regs_11 <= _T_103;
+    end else begin
+      if (!(io_chainIn_update)) begin
+        if (io_chainIn_shift) begin
+          regs_11 <= regs_12;
+        end
+      end
+    end
+    if (io_chainIn_capture) begin
+      regs_12 <= _T_104;
+    end else begin
+      if (!(io_chainIn_update)) begin
+        if (io_chainIn_shift) begin
+          regs_12 <= regs_13;
+        end
+      end
+    end
+    if (io_chainIn_capture) begin
+      regs_13 <= _T_105;
+    end else begin
+      if (!(io_chainIn_update)) begin
+        if (io_chainIn_shift) begin
+          regs_13 <= regs_14;
+        end
+      end
+    end
+    if (io_chainIn_capture) begin
+      regs_14 <= _T_106;
+    end else begin
+      if (!(io_chainIn_update)) begin
+        if (io_chainIn_shift) begin
+          regs_14 <= regs_15;
+        end
+      end
+    end
+    if (io_chainIn_capture) begin
+      regs_15 <= _T_107;
+    end else begin
+      if (!(io_chainIn_update)) begin
+        if (io_chainIn_shift) begin
+          regs_15 <= regs_16;
+        end
+      end
+    end
+    if (io_chainIn_capture) begin
+      regs_16 <= _T_108;
+    end else begin
+      if (!(io_chainIn_update)) begin
+        if (io_chainIn_shift) begin
+          regs_16 <= regs_17;
+        end
+      end
+    end
+    if (io_chainIn_capture) begin
+      regs_17 <= _T_109;
+    end else begin
+      if (!(io_chainIn_update)) begin
+        if (io_chainIn_shift) begin
+          regs_17 <= regs_18;
+        end
+      end
+    end
+    if (io_chainIn_capture) begin
+      regs_18 <= _T_110;
+    end else begin
+      if (!(io_chainIn_update)) begin
+        if (io_chainIn_shift) begin
+          regs_18 <= regs_19;
+        end
+      end
+    end
+    if (io_chainIn_capture) begin
+      regs_19 <= _T_111;
+    end else begin
+      if (!(io_chainIn_update)) begin
+        if (io_chainIn_shift) begin
+          regs_19 <= regs_20;
+        end
+      end
+    end
+    if (io_chainIn_capture) begin
+      regs_20 <= _T_112;
+    end else begin
+      if (!(io_chainIn_update)) begin
+        if (io_chainIn_shift) begin
+          regs_20 <= regs_21;
+        end
+      end
+    end
+    if (io_chainIn_capture) begin
+      regs_21 <= _T_113;
+    end else begin
+      if (!(io_chainIn_update)) begin
+        if (io_chainIn_shift) begin
+          regs_21 <= regs_22;
+        end
+      end
+    end
+    if (io_chainIn_capture) begin
+      regs_22 <= _T_114;
+    end else begin
+      if (!(io_chainIn_update)) begin
+        if (io_chainIn_shift) begin
+          regs_22 <= regs_23;
+        end
+      end
+    end
+    if (io_chainIn_capture) begin
+      regs_23 <= _T_115;
+    end else begin
+      if (!(io_chainIn_update)) begin
+        if (io_chainIn_shift) begin
+          regs_23 <= regs_24;
+        end
+      end
+    end
+    if (io_chainIn_capture) begin
+      regs_24 <= _T_116;
+    end else begin
+      if (!(io_chainIn_update)) begin
+        if (io_chainIn_shift) begin
+          regs_24 <= regs_25;
+        end
+      end
+    end
+    if (io_chainIn_capture) begin
+      regs_25 <= _T_117;
+    end else begin
+      if (!(io_chainIn_update)) begin
+        if (io_chainIn_shift) begin
+          regs_25 <= regs_26;
+        end
+      end
+    end
+    if (io_chainIn_capture) begin
+      regs_26 <= _T_118;
+    end else begin
+      if (!(io_chainIn_update)) begin
+        if (io_chainIn_shift) begin
+          regs_26 <= regs_27;
+        end
+      end
+    end
+    if (io_chainIn_capture) begin
+      regs_27 <= _T_119;
+    end else begin
+      if (!(io_chainIn_update)) begin
+        if (io_chainIn_shift) begin
+          regs_27 <= regs_28;
+        end
+      end
+    end
+    if (io_chainIn_capture) begin
+      regs_28 <= _T_120;
+    end else begin
+      if (!(io_chainIn_update)) begin
+        if (io_chainIn_shift) begin
+          regs_28 <= regs_29;
+        end
+      end
+    end
+    if (io_chainIn_capture) begin
+      regs_29 <= _T_121;
+    end else begin
+      if (!(io_chainIn_update)) begin
+        if (io_chainIn_shift) begin
+          regs_29 <= regs_30;
+        end
+      end
+    end
+    if (io_chainIn_capture) begin
+      regs_30 <= _T_122;
+    end else begin
+      if (!(io_chainIn_update)) begin
+        if (io_chainIn_shift) begin
+          regs_30 <= regs_31;
+        end
+      end
+    end
+    if (io_chainIn_capture) begin
+      regs_31 <= _T_123;
+    end else begin
+      if (!(io_chainIn_update)) begin
+        if (io_chainIn_shift) begin
+          regs_31 <= io_chainIn_data;
+        end
+      end
+    end
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_134) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at JtagShifter.scala:185 assert(!(io.chainIn.capture && io.chainIn.update)\n"); // @[JtagShifter.scala 185:9:shc.marmotcaravel.MarmotCaravelConfig.fir@294335.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_134) begin
+          $fatal; // @[JtagShifter.scala 185:9:shc.marmotcaravel.MarmotCaravelConfig.fir@294336.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+endmodule
+module CaptureUpdateChain_1( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@294339.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@294340.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@294341.4]
+  input         io_chainIn_shift, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@294342.4]
+  input         io_chainIn_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@294342.4]
+  input         io_chainIn_capture, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@294342.4]
+  input         io_chainIn_update, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@294342.4]
+  output        io_chainOut_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@294342.4]
+  input  [6:0]  io_capture_bits_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@294342.4]
+  input  [31:0] io_capture_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@294342.4]
+  input  [1:0]  io_capture_bits_resp, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@294342.4]
+  output        io_capture_capture, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@294342.4]
+  output        io_update_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@294342.4]
+  output [6:0]  io_update_bits_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@294342.4]
+  output [31:0] io_update_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@294342.4]
+  output [1:0]  io_update_bits_op // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@294342.4]
+);
+  reg  regs_0; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294350.4]
+  reg [31:0] _RAND_0;
+  reg  regs_1; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294351.4]
+  reg [31:0] _RAND_1;
+  reg  regs_2; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294352.4]
+  reg [31:0] _RAND_2;
+  reg  regs_3; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294353.4]
+  reg [31:0] _RAND_3;
+  reg  regs_4; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294354.4]
+  reg [31:0] _RAND_4;
+  reg  regs_5; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294355.4]
+  reg [31:0] _RAND_5;
+  reg  regs_6; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294356.4]
+  reg [31:0] _RAND_6;
+  reg  regs_7; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294357.4]
+  reg [31:0] _RAND_7;
+  reg  regs_8; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294358.4]
+  reg [31:0] _RAND_8;
+  reg  regs_9; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294359.4]
+  reg [31:0] _RAND_9;
+  reg  regs_10; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294360.4]
+  reg [31:0] _RAND_10;
+  reg  regs_11; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294361.4]
+  reg [31:0] _RAND_11;
+  reg  regs_12; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294362.4]
+  reg [31:0] _RAND_12;
+  reg  regs_13; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294363.4]
+  reg [31:0] _RAND_13;
+  reg  regs_14; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294364.4]
+  reg [31:0] _RAND_14;
+  reg  regs_15; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294365.4]
+  reg [31:0] _RAND_15;
+  reg  regs_16; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294366.4]
+  reg [31:0] _RAND_16;
+  reg  regs_17; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294367.4]
+  reg [31:0] _RAND_17;
+  reg  regs_18; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294368.4]
+  reg [31:0] _RAND_18;
+  reg  regs_19; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294369.4]
+  reg [31:0] _RAND_19;
+  reg  regs_20; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294370.4]
+  reg [31:0] _RAND_20;
+  reg  regs_21; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294371.4]
+  reg [31:0] _RAND_21;
+  reg  regs_22; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294372.4]
+  reg [31:0] _RAND_22;
+  reg  regs_23; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294373.4]
+  reg [31:0] _RAND_23;
+  reg  regs_24; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294374.4]
+  reg [31:0] _RAND_24;
+  reg  regs_25; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294375.4]
+  reg [31:0] _RAND_25;
+  reg  regs_26; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294376.4]
+  reg [31:0] _RAND_26;
+  reg  regs_27; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294377.4]
+  reg [31:0] _RAND_27;
+  reg  regs_28; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294378.4]
+  reg [31:0] _RAND_28;
+  reg  regs_29; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294379.4]
+  reg [31:0] _RAND_29;
+  reg  regs_30; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294380.4]
+  reg [31:0] _RAND_30;
+  reg  regs_31; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294381.4]
+  reg [31:0] _RAND_31;
+  reg  regs_32; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294382.4]
+  reg [31:0] _RAND_32;
+  reg  regs_33; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294383.4]
+  reg [31:0] _RAND_33;
+  reg  regs_34; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294384.4]
+  reg [31:0] _RAND_34;
+  reg  regs_35; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294385.4]
+  reg [31:0] _RAND_35;
+  reg  regs_36; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294386.4]
+  reg [31:0] _RAND_36;
+  reg  regs_37; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294387.4]
+  reg [31:0] _RAND_37;
+  reg  regs_38; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294388.4]
+  reg [31:0] _RAND_38;
+  reg  regs_39; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294389.4]
+  reg [31:0] _RAND_39;
+  reg  regs_40; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294390.4]
+  reg [31:0] _RAND_40;
+  wire [1:0] _T_54; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294392.4]
+  wire [1:0] _T_55; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294393.4]
+  wire [2:0] _T_56; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294394.4]
+  wire [4:0] _T_57; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294395.4]
+  wire [1:0] _T_58; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294396.4]
+  wire [1:0] _T_59; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294397.4]
+  wire [2:0] _T_60; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294398.4]
+  wire [4:0] _T_61; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294399.4]
+  wire [9:0] _T_62; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294400.4]
+  wire [1:0] _T_63; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294401.4]
+  wire [1:0] _T_64; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294402.4]
+  wire [2:0] _T_65; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294403.4]
+  wire [4:0] _T_66; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294404.4]
+  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294405.4]
+  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294406.4]
+  wire [2:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294407.4]
+  wire [4:0] _T_70; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294408.4]
+  wire [9:0] _T_71; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294409.4]
+  wire [19:0] _T_72; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294410.4]
+  wire [1:0] _T_73; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294411.4]
+  wire [1:0] _T_74; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294412.4]
+  wire [2:0] _T_75; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294413.4]
+  wire [4:0] _T_76; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294414.4]
+  wire [1:0] _T_77; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294415.4]
+  wire [1:0] _T_78; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294416.4]
+  wire [2:0] _T_79; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294417.4]
+  wire [4:0] _T_80; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294418.4]
+  wire [9:0] _T_81; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294419.4]
+  wire [1:0] _T_82; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294420.4]
+  wire [1:0] _T_83; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294421.4]
+  wire [2:0] _T_84; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294422.4]
+  wire [4:0] _T_85; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294423.4]
+  wire [1:0] _T_86; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294424.4]
+  wire [2:0] _T_87; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294425.4]
+  wire [1:0] _T_88; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294426.4]
+  wire [2:0] _T_89; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294427.4]
+  wire [5:0] _T_90; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294428.4]
+  wire [10:0] _T_91; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294429.4]
+  wire [20:0] _T_92; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294430.4]
+  wire [40:0] updateBits; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294431.4]
+  wire [38:0] _T_101; // @[JtagShifter.scala 163:43:shc.marmotcaravel.MarmotCaravelConfig.fir@294445.4]
+  wire [40:0] captureBits; // @[JtagShifter.scala 163:43:shc.marmotcaravel.MarmotCaravelConfig.fir@294446.4]
+  wire  _T_102; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294448.6]
+  wire  _T_103; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294450.6]
+  wire  _T_104; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294452.6]
+  wire  _T_105; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294454.6]
+  wire  _T_106; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294456.6]
+  wire  _T_107; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294458.6]
+  wire  _T_108; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294460.6]
+  wire  _T_109; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294462.6]
+  wire  _T_110; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294464.6]
+  wire  _T_111; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294466.6]
+  wire  _T_112; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294468.6]
+  wire  _T_113; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294470.6]
+  wire  _T_114; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294472.6]
+  wire  _T_115; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294474.6]
+  wire  _T_116; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294476.6]
+  wire  _T_117; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294478.6]
+  wire  _T_118; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294480.6]
+  wire  _T_119; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294482.6]
+  wire  _T_120; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294484.6]
+  wire  _T_121; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294486.6]
+  wire  _T_122; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294488.6]
+  wire  _T_123; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294490.6]
+  wire  _T_124; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294492.6]
+  wire  _T_125; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294494.6]
+  wire  _T_126; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294496.6]
+  wire  _T_127; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294498.6]
+  wire  _T_128; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294500.6]
+  wire  _T_129; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294502.6]
+  wire  _T_130; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294504.6]
+  wire  _T_131; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294506.6]
+  wire  _T_132; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294508.6]
+  wire  _T_133; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294510.6]
+  wire  _T_134; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294512.6]
+  wire  _T_135; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294514.6]
+  wire  _T_136; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294516.6]
+  wire  _T_137; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294518.6]
+  wire  _T_138; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294520.6]
+  wire  _T_139; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294522.6]
+  wire  _T_140; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294524.6]
+  wire  _T_141; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294526.6]
+  wire  _T_142; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294528.6]
+  wire  _T_143; // @[JtagShifter.scala 185:31:shc.marmotcaravel.MarmotCaravelConfig.fir@294588.4]
+  wire  _T_144; // @[JtagShifter.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@294589.4]
+  wire  _T_145; // @[JtagShifter.scala 186:31:shc.marmotcaravel.MarmotCaravelConfig.fir@294590.4]
+  wire  _T_146; // @[JtagShifter.scala 186:10:shc.marmotcaravel.MarmotCaravelConfig.fir@294591.4]
+  wire  _T_147; // @[JtagShifter.scala 186:7:shc.marmotcaravel.MarmotCaravelConfig.fir@294592.4]
+  wire  _T_148; // @[JtagShifter.scala 187:30:shc.marmotcaravel.MarmotCaravelConfig.fir@294593.4]
+  wire  _T_149; // @[JtagShifter.scala 187:10:shc.marmotcaravel.MarmotCaravelConfig.fir@294594.4]
+  wire  _T_150; // @[JtagShifter.scala 187:7:shc.marmotcaravel.MarmotCaravelConfig.fir@294595.4]
+  wire  _T_152; // @[JtagShifter.scala 185:9:shc.marmotcaravel.MarmotCaravelConfig.fir@294597.4]
+  wire  _T_153; // @[JtagShifter.scala 185:9:shc.marmotcaravel.MarmotCaravelConfig.fir@294598.4]
+  assign _T_54 = {regs_1,regs_0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294392.4]
+  assign _T_55 = {regs_4,regs_3}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294393.4]
+  assign _T_56 = {_T_55,regs_2}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294394.4]
+  assign _T_57 = {_T_56,_T_54}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294395.4]
+  assign _T_58 = {regs_6,regs_5}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294396.4]
+  assign _T_59 = {regs_9,regs_8}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294397.4]
+  assign _T_60 = {_T_59,regs_7}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294398.4]
+  assign _T_61 = {_T_60,_T_58}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294399.4]
+  assign _T_62 = {_T_61,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294400.4]
+  assign _T_63 = {regs_11,regs_10}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294401.4]
+  assign _T_64 = {regs_14,regs_13}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294402.4]
+  assign _T_65 = {_T_64,regs_12}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294403.4]
+  assign _T_66 = {_T_65,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294404.4]
+  assign _T_67 = {regs_16,regs_15}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294405.4]
+  assign _T_68 = {regs_19,regs_18}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294406.4]
+  assign _T_69 = {_T_68,regs_17}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294407.4]
+  assign _T_70 = {_T_69,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294408.4]
+  assign _T_71 = {_T_70,_T_66}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294409.4]
+  assign _T_72 = {_T_71,_T_62}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294410.4]
+  assign _T_73 = {regs_21,regs_20}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294411.4]
+  assign _T_74 = {regs_24,regs_23}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294412.4]
+  assign _T_75 = {_T_74,regs_22}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294413.4]
+  assign _T_76 = {_T_75,_T_73}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294414.4]
+  assign _T_77 = {regs_26,regs_25}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294415.4]
+  assign _T_78 = {regs_29,regs_28}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294416.4]
+  assign _T_79 = {_T_78,regs_27}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294417.4]
+  assign _T_80 = {_T_79,_T_77}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294418.4]
+  assign _T_81 = {_T_80,_T_76}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294419.4]
+  assign _T_82 = {regs_31,regs_30}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294420.4]
+  assign _T_83 = {regs_34,regs_33}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294421.4]
+  assign _T_84 = {_T_83,regs_32}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294422.4]
+  assign _T_85 = {_T_84,_T_82}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294423.4]
+  assign _T_86 = {regs_37,regs_36}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294424.4]
+  assign _T_87 = {_T_86,regs_35}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294425.4]
+  assign _T_88 = {regs_40,regs_39}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294426.4]
+  assign _T_89 = {_T_88,regs_38}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294427.4]
+  assign _T_90 = {_T_89,_T_87}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294428.4]
+  assign _T_91 = {_T_90,_T_85}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294429.4]
+  assign _T_92 = {_T_91,_T_81}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294430.4]
+  assign updateBits = {_T_92,_T_72}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294431.4]
+  assign _T_101 = {io_capture_bits_addr,io_capture_bits_data}; // @[JtagShifter.scala 163:43:shc.marmotcaravel.MarmotCaravelConfig.fir@294445.4]
+  assign captureBits = {_T_101,io_capture_bits_resp}; // @[JtagShifter.scala 163:43:shc.marmotcaravel.MarmotCaravelConfig.fir@294446.4]
+  assign _T_102 = captureBits[0]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294448.6]
+  assign _T_103 = captureBits[1]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294450.6]
+  assign _T_104 = captureBits[2]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294452.6]
+  assign _T_105 = captureBits[3]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294454.6]
+  assign _T_106 = captureBits[4]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294456.6]
+  assign _T_107 = captureBits[5]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294458.6]
+  assign _T_108 = captureBits[6]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294460.6]
+  assign _T_109 = captureBits[7]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294462.6]
+  assign _T_110 = captureBits[8]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294464.6]
+  assign _T_111 = captureBits[9]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294466.6]
+  assign _T_112 = captureBits[10]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294468.6]
+  assign _T_113 = captureBits[11]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294470.6]
+  assign _T_114 = captureBits[12]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294472.6]
+  assign _T_115 = captureBits[13]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294474.6]
+  assign _T_116 = captureBits[14]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294476.6]
+  assign _T_117 = captureBits[15]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294478.6]
+  assign _T_118 = captureBits[16]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294480.6]
+  assign _T_119 = captureBits[17]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294482.6]
+  assign _T_120 = captureBits[18]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294484.6]
+  assign _T_121 = captureBits[19]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294486.6]
+  assign _T_122 = captureBits[20]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294488.6]
+  assign _T_123 = captureBits[21]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294490.6]
+  assign _T_124 = captureBits[22]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294492.6]
+  assign _T_125 = captureBits[23]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294494.6]
+  assign _T_126 = captureBits[24]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294496.6]
+  assign _T_127 = captureBits[25]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294498.6]
+  assign _T_128 = captureBits[26]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294500.6]
+  assign _T_129 = captureBits[27]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294502.6]
+  assign _T_130 = captureBits[28]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294504.6]
+  assign _T_131 = captureBits[29]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294506.6]
+  assign _T_132 = captureBits[30]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294508.6]
+  assign _T_133 = captureBits[31]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294510.6]
+  assign _T_134 = captureBits[32]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294512.6]
+  assign _T_135 = captureBits[33]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294514.6]
+  assign _T_136 = captureBits[34]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294516.6]
+  assign _T_137 = captureBits[35]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294518.6]
+  assign _T_138 = captureBits[36]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294520.6]
+  assign _T_139 = captureBits[37]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294522.6]
+  assign _T_140 = captureBits[38]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294524.6]
+  assign _T_141 = captureBits[39]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294526.6]
+  assign _T_142 = captureBits[40]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294528.6]
+  assign _T_143 = io_chainIn_capture & io_chainIn_update; // @[JtagShifter.scala 185:31:shc.marmotcaravel.MarmotCaravelConfig.fir@294588.4]
+  assign _T_144 = _T_143 == 1'h0; // @[JtagShifter.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@294589.4]
+  assign _T_145 = io_chainIn_capture & io_chainIn_shift; // @[JtagShifter.scala 186:31:shc.marmotcaravel.MarmotCaravelConfig.fir@294590.4]
+  assign _T_146 = _T_145 == 1'h0; // @[JtagShifter.scala 186:10:shc.marmotcaravel.MarmotCaravelConfig.fir@294591.4]
+  assign _T_147 = _T_144 & _T_146; // @[JtagShifter.scala 186:7:shc.marmotcaravel.MarmotCaravelConfig.fir@294592.4]
+  assign _T_148 = io_chainIn_update & io_chainIn_shift; // @[JtagShifter.scala 187:30:shc.marmotcaravel.MarmotCaravelConfig.fir@294593.4]
+  assign _T_149 = _T_148 == 1'h0; // @[JtagShifter.scala 187:10:shc.marmotcaravel.MarmotCaravelConfig.fir@294594.4]
+  assign _T_150 = _T_147 & _T_149; // @[JtagShifter.scala 187:7:shc.marmotcaravel.MarmotCaravelConfig.fir@294595.4]
+  assign _T_152 = _T_150 | reset; // @[JtagShifter.scala 185:9:shc.marmotcaravel.MarmotCaravelConfig.fir@294597.4]
+  assign _T_153 = _T_152 == 1'h0; // @[JtagShifter.scala 185:9:shc.marmotcaravel.MarmotCaravelConfig.fir@294598.4]
+  assign io_chainOut_data = regs_0; // @[JtagShifter.scala 158:20:shc.marmotcaravel.MarmotCaravelConfig.fir@294391.4]
+  assign io_capture_capture = io_chainIn_capture; // @[JtagShifter.scala 171:24:shc.marmotcaravel.MarmotCaravelConfig.fir@294530.6 JtagShifter.scala 174:24:shc.marmotcaravel.MarmotCaravelConfig.fir@294535.8 JtagShifter.scala 179:24:shc.marmotcaravel.MarmotCaravelConfig.fir@294581.10 JtagShifter.scala 182:24:shc.marmotcaravel.MarmotCaravelConfig.fir@294585.10]
+  assign io_update_valid = io_chainIn_capture ? 1'h0 : io_chainIn_update; // @[JtagShifter.scala 172:21:shc.marmotcaravel.MarmotCaravelConfig.fir@294531.6 JtagShifter.scala 175:21:shc.marmotcaravel.MarmotCaravelConfig.fir@294536.8 JtagShifter.scala 180:21:shc.marmotcaravel.MarmotCaravelConfig.fir@294582.10 JtagShifter.scala 183:21:shc.marmotcaravel.MarmotCaravelConfig.fir@294586.10]
+  assign io_update_bits_addr = updateBits[40:34]; // @[JtagShifter.scala 161:18:shc.marmotcaravel.MarmotCaravelConfig.fir@294444.4]
+  assign io_update_bits_data = updateBits[33:2]; // @[JtagShifter.scala 161:18:shc.marmotcaravel.MarmotCaravelConfig.fir@294444.4]
+  assign io_update_bits_op = updateBits[1:0]; // @[JtagShifter.scala 161:18:shc.marmotcaravel.MarmotCaravelConfig.fir@294444.4]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  regs_0 = _RAND_0[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  regs_1 = _RAND_1[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  regs_2 = _RAND_2[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  regs_3 = _RAND_3[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  regs_4 = _RAND_4[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  regs_5 = _RAND_5[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {1{`RANDOM}};
+  regs_6 = _RAND_6[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {1{`RANDOM}};
+  regs_7 = _RAND_7[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_8 = {1{`RANDOM}};
+  regs_8 = _RAND_8[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_9 = {1{`RANDOM}};
+  regs_9 = _RAND_9[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_10 = {1{`RANDOM}};
+  regs_10 = _RAND_10[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_11 = {1{`RANDOM}};
+  regs_11 = _RAND_11[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_12 = {1{`RANDOM}};
+  regs_12 = _RAND_12[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_13 = {1{`RANDOM}};
+  regs_13 = _RAND_13[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_14 = {1{`RANDOM}};
+  regs_14 = _RAND_14[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_15 = {1{`RANDOM}};
+  regs_15 = _RAND_15[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_16 = {1{`RANDOM}};
+  regs_16 = _RAND_16[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_17 = {1{`RANDOM}};
+  regs_17 = _RAND_17[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_18 = {1{`RANDOM}};
+  regs_18 = _RAND_18[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_19 = {1{`RANDOM}};
+  regs_19 = _RAND_19[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_20 = {1{`RANDOM}};
+  regs_20 = _RAND_20[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_21 = {1{`RANDOM}};
+  regs_21 = _RAND_21[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_22 = {1{`RANDOM}};
+  regs_22 = _RAND_22[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_23 = {1{`RANDOM}};
+  regs_23 = _RAND_23[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_24 = {1{`RANDOM}};
+  regs_24 = _RAND_24[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_25 = {1{`RANDOM}};
+  regs_25 = _RAND_25[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_26 = {1{`RANDOM}};
+  regs_26 = _RAND_26[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_27 = {1{`RANDOM}};
+  regs_27 = _RAND_27[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_28 = {1{`RANDOM}};
+  regs_28 = _RAND_28[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_29 = {1{`RANDOM}};
+  regs_29 = _RAND_29[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_30 = {1{`RANDOM}};
+  regs_30 = _RAND_30[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_31 = {1{`RANDOM}};
+  regs_31 = _RAND_31[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_32 = {1{`RANDOM}};
+  regs_32 = _RAND_32[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_33 = {1{`RANDOM}};
+  regs_33 = _RAND_33[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_34 = {1{`RANDOM}};
+  regs_34 = _RAND_34[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_35 = {1{`RANDOM}};
+  regs_35 = _RAND_35[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_36 = {1{`RANDOM}};
+  regs_36 = _RAND_36[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_37 = {1{`RANDOM}};
+  regs_37 = _RAND_37[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_38 = {1{`RANDOM}};
+  regs_38 = _RAND_38[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_39 = {1{`RANDOM}};
+  regs_39 = _RAND_39[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_40 = {1{`RANDOM}};
+  regs_40 = _RAND_40[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (io_chainIn_capture) begin
+      regs_0 <= _T_102;
+    end else begin
+      if (!(io_chainIn_update)) begin
+        if (io_chainIn_shift) begin
+          regs_0 <= regs_1;
+        end
+      end
+    end
+    if (io_chainIn_capture) begin
+      regs_1 <= _T_103;
+    end else begin
+      if (!(io_chainIn_update)) begin
+        if (io_chainIn_shift) begin
+          regs_1 <= regs_2;
+        end
+      end
+    end
+    if (io_chainIn_capture) begin
+      regs_2 <= _T_104;
+    end else begin
+      if (!(io_chainIn_update)) begin
+        if (io_chainIn_shift) begin
+          regs_2 <= regs_3;
+        end
+      end
+    end
+    if (io_chainIn_capture) begin
+      regs_3 <= _T_105;
+    end else begin
+      if (!(io_chainIn_update)) begin
+        if (io_chainIn_shift) begin
+          regs_3 <= regs_4;
+        end
+      end
+    end
+    if (io_chainIn_capture) begin
+      regs_4 <= _T_106;
+    end else begin
+      if (!(io_chainIn_update)) begin
+        if (io_chainIn_shift) begin
+          regs_4 <= regs_5;
+        end
+      end
+    end
+    if (io_chainIn_capture) begin
+      regs_5 <= _T_107;
+    end else begin
+      if (!(io_chainIn_update)) begin
+        if (io_chainIn_shift) begin
+          regs_5 <= regs_6;
+        end
+      end
+    end
+    if (io_chainIn_capture) begin
+      regs_6 <= _T_108;
+    end else begin
+      if (!(io_chainIn_update)) begin
+        if (io_chainIn_shift) begin
+          regs_6 <= regs_7;
+        end
+      end
+    end
+    if (io_chainIn_capture) begin
+      regs_7 <= _T_109;
+    end else begin
+      if (!(io_chainIn_update)) begin
+        if (io_chainIn_shift) begin
+          regs_7 <= regs_8;
+        end
+      end
+    end
+    if (io_chainIn_capture) begin
+      regs_8 <= _T_110;
+    end else begin
+      if (!(io_chainIn_update)) begin
+        if (io_chainIn_shift) begin
+          regs_8 <= regs_9;
+        end
+      end
+    end
+    if (io_chainIn_capture) begin
+      regs_9 <= _T_111;
+    end else begin
+      if (!(io_chainIn_update)) begin
+        if (io_chainIn_shift) begin
+          regs_9 <= regs_10;
+        end
+      end
+    end
+    if (io_chainIn_capture) begin
+      regs_10 <= _T_112;
+    end else begin
+      if (!(io_chainIn_update)) begin
+        if (io_chainIn_shift) begin
+          regs_10 <= regs_11;
+        end
+      end
+    end
+    if (io_chainIn_capture) begin
+      regs_11 <= _T_113;
+    end else begin
+      if (!(io_chainIn_update)) begin
+        if (io_chainIn_shift) begin
+          regs_11 <= regs_12;
+        end
+      end
+    end
+    if (io_chainIn_capture) begin
+      regs_12 <= _T_114;
+    end else begin
+      if (!(io_chainIn_update)) begin
+        if (io_chainIn_shift) begin
+          regs_12 <= regs_13;
+        end
+      end
+    end
+    if (io_chainIn_capture) begin
+      regs_13 <= _T_115;
+    end else begin
+      if (!(io_chainIn_update)) begin
+        if (io_chainIn_shift) begin
+          regs_13 <= regs_14;
+        end
+      end
+    end
+    if (io_chainIn_capture) begin
+      regs_14 <= _T_116;
+    end else begin
+      if (!(io_chainIn_update)) begin
+        if (io_chainIn_shift) begin
+          regs_14 <= regs_15;
+        end
+      end
+    end
+    if (io_chainIn_capture) begin
+      regs_15 <= _T_117;
+    end else begin
+      if (!(io_chainIn_update)) begin
+        if (io_chainIn_shift) begin
+          regs_15 <= regs_16;
+        end
+      end
+    end
+    if (io_chainIn_capture) begin
+      regs_16 <= _T_118;
+    end else begin
+      if (!(io_chainIn_update)) begin
+        if (io_chainIn_shift) begin
+          regs_16 <= regs_17;
+        end
+      end
+    end
+    if (io_chainIn_capture) begin
+      regs_17 <= _T_119;
+    end else begin
+      if (!(io_chainIn_update)) begin
+        if (io_chainIn_shift) begin
+          regs_17 <= regs_18;
+        end
+      end
+    end
+    if (io_chainIn_capture) begin
+      regs_18 <= _T_120;
+    end else begin
+      if (!(io_chainIn_update)) begin
+        if (io_chainIn_shift) begin
+          regs_18 <= regs_19;
+        end
+      end
+    end
+    if (io_chainIn_capture) begin
+      regs_19 <= _T_121;
+    end else begin
+      if (!(io_chainIn_update)) begin
+        if (io_chainIn_shift) begin
+          regs_19 <= regs_20;
+        end
+      end
+    end
+    if (io_chainIn_capture) begin
+      regs_20 <= _T_122;
+    end else begin
+      if (!(io_chainIn_update)) begin
+        if (io_chainIn_shift) begin
+          regs_20 <= regs_21;
+        end
+      end
+    end
+    if (io_chainIn_capture) begin
+      regs_21 <= _T_123;
+    end else begin
+      if (!(io_chainIn_update)) begin
+        if (io_chainIn_shift) begin
+          regs_21 <= regs_22;
+        end
+      end
+    end
+    if (io_chainIn_capture) begin
+      regs_22 <= _T_124;
+    end else begin
+      if (!(io_chainIn_update)) begin
+        if (io_chainIn_shift) begin
+          regs_22 <= regs_23;
+        end
+      end
+    end
+    if (io_chainIn_capture) begin
+      regs_23 <= _T_125;
+    end else begin
+      if (!(io_chainIn_update)) begin
+        if (io_chainIn_shift) begin
+          regs_23 <= regs_24;
+        end
+      end
+    end
+    if (io_chainIn_capture) begin
+      regs_24 <= _T_126;
+    end else begin
+      if (!(io_chainIn_update)) begin
+        if (io_chainIn_shift) begin
+          regs_24 <= regs_25;
+        end
+      end
+    end
+    if (io_chainIn_capture) begin
+      regs_25 <= _T_127;
+    end else begin
+      if (!(io_chainIn_update)) begin
+        if (io_chainIn_shift) begin
+          regs_25 <= regs_26;
+        end
+      end
+    end
+    if (io_chainIn_capture) begin
+      regs_26 <= _T_128;
+    end else begin
+      if (!(io_chainIn_update)) begin
+        if (io_chainIn_shift) begin
+          regs_26 <= regs_27;
+        end
+      end
+    end
+    if (io_chainIn_capture) begin
+      regs_27 <= _T_129;
+    end else begin
+      if (!(io_chainIn_update)) begin
+        if (io_chainIn_shift) begin
+          regs_27 <= regs_28;
+        end
+      end
+    end
+    if (io_chainIn_capture) begin
+      regs_28 <= _T_130;
+    end else begin
+      if (!(io_chainIn_update)) begin
+        if (io_chainIn_shift) begin
+          regs_28 <= regs_29;
+        end
+      end
+    end
+    if (io_chainIn_capture) begin
+      regs_29 <= _T_131;
+    end else begin
+      if (!(io_chainIn_update)) begin
+        if (io_chainIn_shift) begin
+          regs_29 <= regs_30;
+        end
+      end
+    end
+    if (io_chainIn_capture) begin
+      regs_30 <= _T_132;
+    end else begin
+      if (!(io_chainIn_update)) begin
+        if (io_chainIn_shift) begin
+          regs_30 <= regs_31;
+        end
+      end
+    end
+    if (io_chainIn_capture) begin
+      regs_31 <= _T_133;
+    end else begin
+      if (!(io_chainIn_update)) begin
+        if (io_chainIn_shift) begin
+          regs_31 <= regs_32;
+        end
+      end
+    end
+    if (io_chainIn_capture) begin
+      regs_32 <= _T_134;
+    end else begin
+      if (!(io_chainIn_update)) begin
+        if (io_chainIn_shift) begin
+          regs_32 <= regs_33;
+        end
+      end
+    end
+    if (io_chainIn_capture) begin
+      regs_33 <= _T_135;
+    end else begin
+      if (!(io_chainIn_update)) begin
+        if (io_chainIn_shift) begin
+          regs_33 <= regs_34;
+        end
+      end
+    end
+    if (io_chainIn_capture) begin
+      regs_34 <= _T_136;
+    end else begin
+      if (!(io_chainIn_update)) begin
+        if (io_chainIn_shift) begin
+          regs_34 <= regs_35;
+        end
+      end
+    end
+    if (io_chainIn_capture) begin
+      regs_35 <= _T_137;
+    end else begin
+      if (!(io_chainIn_update)) begin
+        if (io_chainIn_shift) begin
+          regs_35 <= regs_36;
+        end
+      end
+    end
+    if (io_chainIn_capture) begin
+      regs_36 <= _T_138;
+    end else begin
+      if (!(io_chainIn_update)) begin
+        if (io_chainIn_shift) begin
+          regs_36 <= regs_37;
+        end
+      end
+    end
+    if (io_chainIn_capture) begin
+      regs_37 <= _T_139;
+    end else begin
+      if (!(io_chainIn_update)) begin
+        if (io_chainIn_shift) begin
+          regs_37 <= regs_38;
+        end
+      end
+    end
+    if (io_chainIn_capture) begin
+      regs_38 <= _T_140;
+    end else begin
+      if (!(io_chainIn_update)) begin
+        if (io_chainIn_shift) begin
+          regs_38 <= regs_39;
+        end
+      end
+    end
+    if (io_chainIn_capture) begin
+      regs_39 <= _T_141;
+    end else begin
+      if (!(io_chainIn_update)) begin
+        if (io_chainIn_shift) begin
+          regs_39 <= regs_40;
+        end
+      end
+    end
+    if (io_chainIn_capture) begin
+      regs_40 <= _T_142;
+    end else begin
+      if (!(io_chainIn_update)) begin
+        if (io_chainIn_shift) begin
+          regs_40 <= io_chainIn_data;
+        end
+      end
+    end
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_153) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at JtagShifter.scala:185 assert(!(io.chainIn.capture && io.chainIn.update)\n"); // @[JtagShifter.scala 185:9:shc.marmotcaravel.MarmotCaravelConfig.fir@294600.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_153) begin
+          $fatal; // @[JtagShifter.scala 185:9:shc.marmotcaravel.MarmotCaravelConfig.fir@294601.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+endmodule
+module CaptureChain( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@294604.2]
+  input   clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@294605.4]
+  input   reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@294606.4]
+  input   io_chainIn_shift, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@294607.4]
+  input   io_chainIn_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@294607.4]
+  input   io_chainIn_capture, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@294607.4]
+  input   io_chainIn_update, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@294607.4]
+  output  io_chainOut_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@294607.4]
+);
+  reg  regs_0; // @[JtagShifter.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294615.4]
+  reg [31:0] _RAND_0;
+  reg  regs_1; // @[JtagShifter.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294616.4]
+  reg [31:0] _RAND_1;
+  reg  regs_2; // @[JtagShifter.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294617.4]
+  reg [31:0] _RAND_2;
+  reg  regs_3; // @[JtagShifter.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294618.4]
+  reg [31:0] _RAND_3;
+  reg  regs_4; // @[JtagShifter.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294619.4]
+  reg [31:0] _RAND_4;
+  reg  regs_5; // @[JtagShifter.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294620.4]
+  reg [31:0] _RAND_5;
+  reg  regs_6; // @[JtagShifter.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294621.4]
+  reg [31:0] _RAND_6;
+  reg  regs_7; // @[JtagShifter.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294622.4]
+  reg [31:0] _RAND_7;
+  reg  regs_8; // @[JtagShifter.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294623.4]
+  reg [31:0] _RAND_8;
+  reg  regs_9; // @[JtagShifter.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294624.4]
+  reg [31:0] _RAND_9;
+  reg  regs_10; // @[JtagShifter.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294625.4]
+  reg [31:0] _RAND_10;
+  reg  regs_11; // @[JtagShifter.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294626.4]
+  reg [31:0] _RAND_11;
+  reg  regs_12; // @[JtagShifter.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294627.4]
+  reg [31:0] _RAND_12;
+  reg  regs_13; // @[JtagShifter.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294628.4]
+  reg [31:0] _RAND_13;
+  reg  regs_14; // @[JtagShifter.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294629.4]
+  reg [31:0] _RAND_14;
+  reg  regs_15; // @[JtagShifter.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294630.4]
+  reg [31:0] _RAND_15;
+  reg  regs_16; // @[JtagShifter.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294631.4]
+  reg [31:0] _RAND_16;
+  reg  regs_17; // @[JtagShifter.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294632.4]
+  reg [31:0] _RAND_17;
+  reg  regs_18; // @[JtagShifter.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294633.4]
+  reg [31:0] _RAND_18;
+  reg  regs_19; // @[JtagShifter.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294634.4]
+  reg [31:0] _RAND_19;
+  reg  regs_20; // @[JtagShifter.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294635.4]
+  reg [31:0] _RAND_20;
+  reg  regs_21; // @[JtagShifter.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294636.4]
+  reg [31:0] _RAND_21;
+  reg  regs_22; // @[JtagShifter.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294637.4]
+  reg [31:0] _RAND_22;
+  reg  regs_23; // @[JtagShifter.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294638.4]
+  reg [31:0] _RAND_23;
+  reg  regs_24; // @[JtagShifter.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294639.4]
+  reg [31:0] _RAND_24;
+  reg  regs_25; // @[JtagShifter.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294640.4]
+  reg [31:0] _RAND_25;
+  reg  regs_26; // @[JtagShifter.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294641.4]
+  reg [31:0] _RAND_26;
+  reg  regs_27; // @[JtagShifter.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294642.4]
+  reg [31:0] _RAND_27;
+  reg  regs_28; // @[JtagShifter.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294643.4]
+  reg [31:0] _RAND_28;
+  reg  regs_29; // @[JtagShifter.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294644.4]
+  reg [31:0] _RAND_29;
+  reg  regs_30; // @[JtagShifter.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294645.4]
+  reg [31:0] _RAND_30;
+  reg  regs_31; // @[JtagShifter.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294646.4]
+  reg [31:0] _RAND_31;
+  wire  _T_171; // @[JtagShifter.scala 119:31:shc.marmotcaravel.MarmotCaravelConfig.fir@294850.4]
+  wire  _T_172; // @[JtagShifter.scala 119:10:shc.marmotcaravel.MarmotCaravelConfig.fir@294851.4]
+  wire  _T_173; // @[JtagShifter.scala 120:31:shc.marmotcaravel.MarmotCaravelConfig.fir@294852.4]
+  wire  _T_174; // @[JtagShifter.scala 120:10:shc.marmotcaravel.MarmotCaravelConfig.fir@294853.4]
+  wire  _T_175; // @[JtagShifter.scala 120:7:shc.marmotcaravel.MarmotCaravelConfig.fir@294854.4]
+  wire  _T_176; // @[JtagShifter.scala 121:30:shc.marmotcaravel.MarmotCaravelConfig.fir@294855.4]
+  wire  _T_177; // @[JtagShifter.scala 121:10:shc.marmotcaravel.MarmotCaravelConfig.fir@294856.4]
+  wire  _T_178; // @[JtagShifter.scala 121:7:shc.marmotcaravel.MarmotCaravelConfig.fir@294857.4]
+  wire  _T_180; // @[JtagShifter.scala 119:9:shc.marmotcaravel.MarmotCaravelConfig.fir@294859.4]
+  wire  _T_181; // @[JtagShifter.scala 119:9:shc.marmotcaravel.MarmotCaravelConfig.fir@294860.4]
+  assign _T_171 = io_chainIn_capture & io_chainIn_update; // @[JtagShifter.scala 119:31:shc.marmotcaravel.MarmotCaravelConfig.fir@294850.4]
+  assign _T_172 = _T_171 == 1'h0; // @[JtagShifter.scala 119:10:shc.marmotcaravel.MarmotCaravelConfig.fir@294851.4]
+  assign _T_173 = io_chainIn_capture & io_chainIn_shift; // @[JtagShifter.scala 120:31:shc.marmotcaravel.MarmotCaravelConfig.fir@294852.4]
+  assign _T_174 = _T_173 == 1'h0; // @[JtagShifter.scala 120:10:shc.marmotcaravel.MarmotCaravelConfig.fir@294853.4]
+  assign _T_175 = _T_172 & _T_174; // @[JtagShifter.scala 120:7:shc.marmotcaravel.MarmotCaravelConfig.fir@294854.4]
+  assign _T_176 = io_chainIn_update & io_chainIn_shift; // @[JtagShifter.scala 121:30:shc.marmotcaravel.MarmotCaravelConfig.fir@294855.4]
+  assign _T_177 = _T_176 == 1'h0; // @[JtagShifter.scala 121:10:shc.marmotcaravel.MarmotCaravelConfig.fir@294856.4]
+  assign _T_178 = _T_175 & _T_177; // @[JtagShifter.scala 121:7:shc.marmotcaravel.MarmotCaravelConfig.fir@294857.4]
+  assign _T_180 = _T_178 | reset; // @[JtagShifter.scala 119:9:shc.marmotcaravel.MarmotCaravelConfig.fir@294859.4]
+  assign _T_181 = _T_180 == 1'h0; // @[JtagShifter.scala 119:9:shc.marmotcaravel.MarmotCaravelConfig.fir@294860.4]
+  assign io_chainOut_data = regs_0; // @[JtagShifter.scala 105:20:shc.marmotcaravel.MarmotCaravelConfig.fir@294647.4]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  regs_0 = _RAND_0[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  regs_1 = _RAND_1[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  regs_2 = _RAND_2[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  regs_3 = _RAND_3[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  regs_4 = _RAND_4[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  regs_5 = _RAND_5[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {1{`RANDOM}};
+  regs_6 = _RAND_6[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {1{`RANDOM}};
+  regs_7 = _RAND_7[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_8 = {1{`RANDOM}};
+  regs_8 = _RAND_8[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_9 = {1{`RANDOM}};
+  regs_9 = _RAND_9[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_10 = {1{`RANDOM}};
+  regs_10 = _RAND_10[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_11 = {1{`RANDOM}};
+  regs_11 = _RAND_11[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_12 = {1{`RANDOM}};
+  regs_12 = _RAND_12[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_13 = {1{`RANDOM}};
+  regs_13 = _RAND_13[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_14 = {1{`RANDOM}};
+  regs_14 = _RAND_14[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_15 = {1{`RANDOM}};
+  regs_15 = _RAND_15[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_16 = {1{`RANDOM}};
+  regs_16 = _RAND_16[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_17 = {1{`RANDOM}};
+  regs_17 = _RAND_17[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_18 = {1{`RANDOM}};
+  regs_18 = _RAND_18[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_19 = {1{`RANDOM}};
+  regs_19 = _RAND_19[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_20 = {1{`RANDOM}};
+  regs_20 = _RAND_20[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_21 = {1{`RANDOM}};
+  regs_21 = _RAND_21[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_22 = {1{`RANDOM}};
+  regs_22 = _RAND_22[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_23 = {1{`RANDOM}};
+  regs_23 = _RAND_23[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_24 = {1{`RANDOM}};
+  regs_24 = _RAND_24[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_25 = {1{`RANDOM}};
+  regs_25 = _RAND_25[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_26 = {1{`RANDOM}};
+  regs_26 = _RAND_26[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_27 = {1{`RANDOM}};
+  regs_27 = _RAND_27[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_28 = {1{`RANDOM}};
+  regs_28 = _RAND_28[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_29 = {1{`RANDOM}};
+  regs_29 = _RAND_29[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_30 = {1{`RANDOM}};
+  regs_30 = _RAND_30[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_31 = {1{`RANDOM}};
+  regs_31 = _RAND_31[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (io_chainIn_capture) begin
+      regs_0 <= 1'h1;
+    end else begin
+      if (io_chainIn_shift) begin
+        regs_0 <= regs_1;
+      end
+    end
+    if (io_chainIn_capture) begin
+      regs_1 <= 1'h1;
+    end else begin
+      if (io_chainIn_shift) begin
+        regs_1 <= regs_2;
+      end
+    end
+    if (io_chainIn_capture) begin
+      regs_2 <= 1'h0;
+    end else begin
+      if (io_chainIn_shift) begin
+        regs_2 <= regs_3;
+      end
+    end
+    if (io_chainIn_capture) begin
+      regs_3 <= 1'h0;
+    end else begin
+      if (io_chainIn_shift) begin
+        regs_3 <= regs_4;
+      end
+    end
+    if (io_chainIn_capture) begin
+      regs_4 <= 1'h1;
+    end else begin
+      if (io_chainIn_shift) begin
+        regs_4 <= regs_5;
+      end
+    end
+    if (io_chainIn_capture) begin
+      regs_5 <= 1'h0;
+    end else begin
+      if (io_chainIn_shift) begin
+        regs_5 <= regs_6;
+      end
+    end
+    if (io_chainIn_capture) begin
+      regs_6 <= 1'h0;
+    end else begin
+      if (io_chainIn_shift) begin
+        regs_6 <= regs_7;
+      end
+    end
+    if (io_chainIn_capture) begin
+      regs_7 <= 1'h0;
+    end else begin
+      if (io_chainIn_shift) begin
+        regs_7 <= regs_8;
+      end
+    end
+    if (io_chainIn_capture) begin
+      regs_8 <= 1'h1;
+    end else begin
+      if (io_chainIn_shift) begin
+        regs_8 <= regs_9;
+      end
+    end
+    if (io_chainIn_capture) begin
+      regs_9 <= 1'h0;
+    end else begin
+      if (io_chainIn_shift) begin
+        regs_9 <= regs_10;
+      end
+    end
+    if (io_chainIn_capture) begin
+      regs_10 <= 1'h0;
+    end else begin
+      if (io_chainIn_shift) begin
+        regs_10 <= regs_11;
+      end
+    end
+    if (io_chainIn_capture) begin
+      regs_11 <= 1'h1;
+    end else begin
+      if (io_chainIn_shift) begin
+        regs_11 <= regs_12;
+      end
+    end
+    if (io_chainIn_capture) begin
+      regs_12 <= 1'h0;
+    end else begin
+      if (io_chainIn_shift) begin
+        regs_12 <= regs_13;
+      end
+    end
+    if (io_chainIn_capture) begin
+      regs_13 <= 1'h0;
+    end else begin
+      if (io_chainIn_shift) begin
+        regs_13 <= regs_14;
+      end
+    end
+    if (io_chainIn_capture) begin
+      regs_14 <= 1'h0;
+    end else begin
+      if (io_chainIn_shift) begin
+        regs_14 <= regs_15;
+      end
+    end
+    if (io_chainIn_capture) begin
+      regs_15 <= 1'h0;
+    end else begin
+      if (io_chainIn_shift) begin
+        regs_15 <= regs_16;
+      end
+    end
+    if (io_chainIn_capture) begin
+      regs_16 <= 1'h0;
+    end else begin
+      if (io_chainIn_shift) begin
+        regs_16 <= regs_17;
+      end
+    end
+    if (io_chainIn_capture) begin
+      regs_17 <= 1'h0;
+    end else begin
+      if (io_chainIn_shift) begin
+        regs_17 <= regs_18;
+      end
+    end
+    if (io_chainIn_capture) begin
+      regs_18 <= 1'h0;
+    end else begin
+      if (io_chainIn_shift) begin
+        regs_18 <= regs_19;
+      end
+    end
+    if (io_chainIn_capture) begin
+      regs_19 <= 1'h0;
+    end else begin
+      if (io_chainIn_shift) begin
+        regs_19 <= regs_20;
+      end
+    end
+    if (io_chainIn_capture) begin
+      regs_20 <= 1'h0;
+    end else begin
+      if (io_chainIn_shift) begin
+        regs_20 <= regs_21;
+      end
+    end
+    if (io_chainIn_capture) begin
+      regs_21 <= 1'h0;
+    end else begin
+      if (io_chainIn_shift) begin
+        regs_21 <= regs_22;
+      end
+    end
+    if (io_chainIn_capture) begin
+      regs_22 <= 1'h0;
+    end else begin
+      if (io_chainIn_shift) begin
+        regs_22 <= regs_23;
+      end
+    end
+    if (io_chainIn_capture) begin
+      regs_23 <= 1'h0;
+    end else begin
+      if (io_chainIn_shift) begin
+        regs_23 <= regs_24;
+      end
+    end
+    if (io_chainIn_capture) begin
+      regs_24 <= 1'h0;
+    end else begin
+      if (io_chainIn_shift) begin
+        regs_24 <= regs_25;
+      end
+    end
+    if (io_chainIn_capture) begin
+      regs_25 <= 1'h0;
+    end else begin
+      if (io_chainIn_shift) begin
+        regs_25 <= regs_26;
+      end
+    end
+    if (io_chainIn_capture) begin
+      regs_26 <= 1'h0;
+    end else begin
+      if (io_chainIn_shift) begin
+        regs_26 <= regs_27;
+      end
+    end
+    if (io_chainIn_capture) begin
+      regs_27 <= 1'h0;
+    end else begin
+      if (io_chainIn_shift) begin
+        regs_27 <= regs_28;
+      end
+    end
+    if (io_chainIn_capture) begin
+      regs_28 <= 1'h0;
+    end else begin
+      if (io_chainIn_shift) begin
+        regs_28 <= regs_29;
+      end
+    end
+    if (io_chainIn_capture) begin
+      regs_29 <= 1'h1;
+    end else begin
+      if (io_chainIn_shift) begin
+        regs_29 <= regs_30;
+      end
+    end
+    if (io_chainIn_capture) begin
+      regs_30 <= 1'h0;
+    end else begin
+      if (io_chainIn_shift) begin
+        regs_30 <= regs_31;
+      end
+    end
+    if (io_chainIn_capture) begin
+      regs_31 <= 1'h0;
+    end else begin
+      if (io_chainIn_shift) begin
+        regs_31 <= io_chainIn_data;
+      end
+    end
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_181) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at JtagShifter.scala:119 assert(!(io.chainIn.capture && io.chainIn.update)\n"); // @[JtagShifter.scala 119:9:shc.marmotcaravel.MarmotCaravelConfig.fir@294862.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_181) begin
+          $fatal; // @[JtagShifter.scala 119:9:shc.marmotcaravel.MarmotCaravelConfig.fir@294863.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+endmodule
+module AsyncResetRegVec_w4_i15( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@294906.2]
+  input        clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@294907.4]
+  input        reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@294908.4]
+  input  [3:0] io_d, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@294909.4]
+  output [3:0] io_q // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@294909.4]
+);
+  wire  reg_0_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@294914.4]
+  wire  reg_0_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@294914.4]
+  wire  reg_0_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@294914.4]
+  wire  reg_0_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@294914.4]
+  wire  reg_0_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@294914.4]
+  wire  reg_1_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@294920.4]
+  wire  reg_1_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@294920.4]
+  wire  reg_1_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@294920.4]
+  wire  reg_1_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@294920.4]
+  wire  reg_1_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@294920.4]
+  wire  reg_2_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@294926.4]
+  wire  reg_2_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@294926.4]
+  wire  reg_2_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@294926.4]
+  wire  reg_2_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@294926.4]
+  wire  reg_2_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@294926.4]
+  wire  reg_3_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@294932.4]
+  wire  reg_3_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@294932.4]
+  wire  reg_3_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@294932.4]
+  wire  reg_3_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@294932.4]
+  wire  reg_3_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@294932.4]
+  wire [1:0] _T_11; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294958.4]
+  wire [1:0] _T_12; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294959.4]
+  AsyncResetReg #(.RESET_VALUE(1)) reg_0 ( // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@294914.4]
+    .rst(reg_0_rst),
+    .clk(reg_0_clk),
+    .en(reg_0_en),
+    .q(reg_0_q),
+    .d(reg_0_d)
+  );
+  AsyncResetReg #(.RESET_VALUE(1)) reg_1 ( // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@294920.4]
+    .rst(reg_1_rst),
+    .clk(reg_1_clk),
+    .en(reg_1_en),
+    .q(reg_1_q),
+    .d(reg_1_d)
+  );
+  AsyncResetReg #(.RESET_VALUE(1)) reg_2 ( // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@294926.4]
+    .rst(reg_2_rst),
+    .clk(reg_2_clk),
+    .en(reg_2_en),
+    .q(reg_2_q),
+    .d(reg_2_d)
+  );
+  AsyncResetReg #(.RESET_VALUE(1)) reg_3 ( // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@294932.4]
+    .rst(reg_3_rst),
+    .clk(reg_3_clk),
+    .en(reg_3_en),
+    .q(reg_3_q),
+    .d(reg_3_d)
+  );
+  assign _T_11 = {reg_1_q,reg_0_q}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294958.4]
+  assign _T_12 = {reg_3_q,reg_2_q}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294959.4]
+  assign io_q = {_T_12,_T_11}; // @[AsyncResetReg.scala 73:8:shc.marmotcaravel.MarmotCaravelConfig.fir@294961.4]
+  assign reg_0_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@294939.4]
+  assign reg_0_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@294938.4]
+  assign reg_0_en = 1'h1; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@294942.4]
+  assign reg_0_d = io_d[0]; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@294941.4]
+  assign reg_1_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@294944.4]
+  assign reg_1_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@294943.4]
+  assign reg_1_en = 1'h1; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@294947.4]
+  assign reg_1_d = io_d[1]; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@294946.4]
+  assign reg_2_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@294949.4]
+  assign reg_2_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@294948.4]
+  assign reg_2_en = 1'h1; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@294952.4]
+  assign reg_2_d = io_d[2]; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@294951.4]
+  assign reg_3_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@294954.4]
+  assign reg_3_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@294953.4]
+  assign reg_3_en = 1'h1; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@294957.4]
+  assign reg_3_d = io_d[3]; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@294956.4]
+endmodule
+module JtagStateMachine( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@294963.2]
+  input        clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@294964.4]
+  input        reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@294965.4]
+  input        io_tms, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@294966.4]
+  output [3:0] io_currState // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@294966.4]
+);
+  wire  currStateReg_clock; // @[JtagStateMachine.scala 82:29:shc.marmotcaravel.MarmotCaravelConfig.fir@294973.4]
+  wire  currStateReg_reset; // @[JtagStateMachine.scala 82:29:shc.marmotcaravel.MarmotCaravelConfig.fir@294973.4]
+  wire [3:0] currStateReg_io_d; // @[JtagStateMachine.scala 82:29:shc.marmotcaravel.MarmotCaravelConfig.fir@294973.4]
+  wire [3:0] currStateReg_io_q; // @[JtagStateMachine.scala 82:29:shc.marmotcaravel.MarmotCaravelConfig.fir@294973.4]
+  wire  _T_10; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@294979.4]
+  wire [3:0] _T_11; // @[JtagStateMachine.scala 90:23:shc.marmotcaravel.MarmotCaravelConfig.fir@294981.6]
+  wire  _T_12; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@294985.6]
+  wire [3:0] _T_13; // @[JtagStateMachine.scala 93:23:shc.marmotcaravel.MarmotCaravelConfig.fir@294987.8]
+  wire  _T_14; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@294991.8]
+  wire [3:0] _T_15; // @[JtagStateMachine.scala 96:23:shc.marmotcaravel.MarmotCaravelConfig.fir@294993.10]
+  wire  _T_16; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@294997.10]
+  wire [3:0] _T_17; // @[JtagStateMachine.scala 99:23:shc.marmotcaravel.MarmotCaravelConfig.fir@294999.12]
+  wire  _T_18; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@295003.12]
+  wire  _T_20; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@295009.14]
+  wire [3:0] _T_21; // @[JtagStateMachine.scala 105:23:shc.marmotcaravel.MarmotCaravelConfig.fir@295011.16]
+  wire  _T_22; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@295015.16]
+  wire [3:0] _T_23; // @[JtagStateMachine.scala 108:23:shc.marmotcaravel.MarmotCaravelConfig.fir@295017.18]
+  wire  _T_24; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@295021.18]
+  wire [3:0] _T_25; // @[JtagStateMachine.scala 111:23:shc.marmotcaravel.MarmotCaravelConfig.fir@295023.20]
+  wire  _T_26; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@295027.20]
+  wire  _T_28; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@295033.22]
+  wire [3:0] _T_29; // @[JtagStateMachine.scala 117:23:shc.marmotcaravel.MarmotCaravelConfig.fir@295035.24]
+  wire  _T_30; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@295039.24]
+  wire [3:0] _T_31; // @[JtagStateMachine.scala 120:23:shc.marmotcaravel.MarmotCaravelConfig.fir@295041.26]
+  wire  _T_32; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@295045.26]
+  wire  _T_34; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@295051.28]
+  wire [3:0] _T_35; // @[JtagStateMachine.scala 126:23:shc.marmotcaravel.MarmotCaravelConfig.fir@295053.30]
+  wire  _T_36; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@295057.30]
+  wire [3:0] _T_37; // @[JtagStateMachine.scala 129:23:shc.marmotcaravel.MarmotCaravelConfig.fir@295059.32]
+  wire  _T_38; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@295063.32]
+  wire [3:0] _T_39; // @[JtagStateMachine.scala 132:23:shc.marmotcaravel.MarmotCaravelConfig.fir@295065.34]
+  wire [3:0] _GEN_1; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@295064.32]
+  wire [3:0] _GEN_2; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@295058.30]
+  wire [3:0] _GEN_3; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@295052.28]
+  wire [3:0] _GEN_4; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@295046.26]
+  wire [3:0] _GEN_5; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@295040.24]
+  wire [3:0] _GEN_6; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@295034.22]
+  wire [3:0] _GEN_7; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@295028.20]
+  wire [3:0] _GEN_8; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@295022.18]
+  wire [3:0] _GEN_9; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@295016.16]
+  wire [3:0] _GEN_10; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@295010.14]
+  wire [3:0] _GEN_11; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@295004.12]
+  wire [3:0] _GEN_12; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@294998.10]
+  wire [3:0] _GEN_13; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@294992.8]
+  wire [3:0] _GEN_14; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@294986.6]
+  AsyncResetRegVec_w4_i15 currStateReg ( // @[JtagStateMachine.scala 82:29:shc.marmotcaravel.MarmotCaravelConfig.fir@294973.4]
+    .clock(currStateReg_clock),
+    .reset(currStateReg_reset),
+    .io_d(currStateReg_io_d),
+    .io_q(currStateReg_io_q)
+  );
+  assign _T_10 = 4'hf == currStateReg_io_q; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@294979.4]
+  assign _T_11 = io_tms ? 4'hf : 4'hc; // @[JtagStateMachine.scala 90:23:shc.marmotcaravel.MarmotCaravelConfig.fir@294981.6]
+  assign _T_12 = 4'hc == currStateReg_io_q; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@294985.6]
+  assign _T_13 = io_tms ? 4'h7 : 4'hc; // @[JtagStateMachine.scala 93:23:shc.marmotcaravel.MarmotCaravelConfig.fir@294987.8]
+  assign _T_14 = 4'h7 == currStateReg_io_q; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@294991.8]
+  assign _T_15 = io_tms ? 4'h4 : 4'h6; // @[JtagStateMachine.scala 96:23:shc.marmotcaravel.MarmotCaravelConfig.fir@294993.10]
+  assign _T_16 = 4'h6 == currStateReg_io_q; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@294997.10]
+  assign _T_17 = io_tms ? 4'h1 : 4'h2; // @[JtagStateMachine.scala 99:23:shc.marmotcaravel.MarmotCaravelConfig.fir@294999.12]
+  assign _T_18 = 4'h2 == currStateReg_io_q; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@295003.12]
+  assign _T_20 = 4'h1 == currStateReg_io_q; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@295009.14]
+  assign _T_21 = io_tms ? 4'h5 : 4'h3; // @[JtagStateMachine.scala 105:23:shc.marmotcaravel.MarmotCaravelConfig.fir@295011.16]
+  assign _T_22 = 4'h3 == currStateReg_io_q; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@295015.16]
+  assign _T_23 = io_tms ? 4'h0 : 4'h3; // @[JtagStateMachine.scala 108:23:shc.marmotcaravel.MarmotCaravelConfig.fir@295017.18]
+  assign _T_24 = 4'h0 == currStateReg_io_q; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@295021.18]
+  assign _T_25 = io_tms ? 4'h5 : 4'h2; // @[JtagStateMachine.scala 111:23:shc.marmotcaravel.MarmotCaravelConfig.fir@295023.20]
+  assign _T_26 = 4'h5 == currStateReg_io_q; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@295027.20]
+  assign _T_28 = 4'h4 == currStateReg_io_q; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@295033.22]
+  assign _T_29 = io_tms ? 4'hf : 4'he; // @[JtagStateMachine.scala 117:23:shc.marmotcaravel.MarmotCaravelConfig.fir@295035.24]
+  assign _T_30 = 4'he == currStateReg_io_q; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@295039.24]
+  assign _T_31 = io_tms ? 4'h9 : 4'ha; // @[JtagStateMachine.scala 120:23:shc.marmotcaravel.MarmotCaravelConfig.fir@295041.26]
+  assign _T_32 = 4'ha == currStateReg_io_q; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@295045.26]
+  assign _T_34 = 4'h9 == currStateReg_io_q; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@295051.28]
+  assign _T_35 = io_tms ? 4'hd : 4'hb; // @[JtagStateMachine.scala 126:23:shc.marmotcaravel.MarmotCaravelConfig.fir@295053.30]
+  assign _T_36 = 4'hb == currStateReg_io_q; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@295057.30]
+  assign _T_37 = io_tms ? 4'h8 : 4'hb; // @[JtagStateMachine.scala 129:23:shc.marmotcaravel.MarmotCaravelConfig.fir@295059.32]
+  assign _T_38 = 4'h8 == currStateReg_io_q; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@295063.32]
+  assign _T_39 = io_tms ? 4'hd : 4'ha; // @[JtagStateMachine.scala 132:23:shc.marmotcaravel.MarmotCaravelConfig.fir@295065.34]
+  assign _GEN_1 = _T_38 ? _T_39 : _T_13; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@295064.32]
+  assign _GEN_2 = _T_36 ? _T_37 : _GEN_1; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@295058.30]
+  assign _GEN_3 = _T_34 ? _T_35 : _GEN_2; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@295052.28]
+  assign _GEN_4 = _T_32 ? _T_31 : _GEN_3; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@295046.26]
+  assign _GEN_5 = _T_30 ? _T_31 : _GEN_4; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@295040.24]
+  assign _GEN_6 = _T_28 ? _T_29 : _GEN_5; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@295034.22]
+  assign _GEN_7 = _T_26 ? _T_13 : _GEN_6; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@295028.20]
+  assign _GEN_8 = _T_24 ? _T_25 : _GEN_7; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@295022.18]
+  assign _GEN_9 = _T_22 ? _T_23 : _GEN_8; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@295016.16]
+  assign _GEN_10 = _T_20 ? _T_21 : _GEN_9; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@295010.14]
+  assign _GEN_11 = _T_18 ? _T_17 : _GEN_10; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@295004.12]
+  assign _GEN_12 = _T_16 ? _T_17 : _GEN_11; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@294998.10]
+  assign _GEN_13 = _T_14 ? _T_15 : _GEN_12; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@294992.8]
+  assign _GEN_14 = _T_12 ? _T_13 : _GEN_13; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@294986.6]
+  assign io_currState = currStateReg_io_q; // @[JtagStateMachine.scala 139:16:shc.marmotcaravel.MarmotCaravelConfig.fir@295074.4]
+  assign currStateReg_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@294975.4]
+  assign currStateReg_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@294976.4]
+  assign currStateReg_io_d = _T_10 ? _T_11 : _GEN_14; // @[JtagStateMachine.scala 85:22:shc.marmotcaravel.MarmotCaravelConfig.fir@294978.4]
+endmodule
+module CaptureUpdateChain_2( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295236.2]
+  input        clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295237.4]
+  input        reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295238.4]
+  input        io_chainIn_shift, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295239.4]
+  input        io_chainIn_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295239.4]
+  input        io_chainIn_capture, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295239.4]
+  input        io_chainIn_update, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295239.4]
+  output       io_chainOut_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295239.4]
+  output [4:0] io_update_bits // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295239.4]
+);
+  reg  regs_0; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@295247.4]
+  reg [31:0] _RAND_0;
+  reg  regs_1; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@295248.4]
+  reg [31:0] _RAND_1;
+  reg  regs_2; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@295249.4]
+  reg [31:0] _RAND_2;
+  reg  regs_3; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@295250.4]
+  reg [31:0] _RAND_3;
+  reg  regs_4; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@295251.4]
+  reg [31:0] _RAND_4;
+  wire [1:0] _T_18; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@295253.4]
+  wire [1:0] _T_19; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@295254.4]
+  wire [2:0] _T_20; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@295255.4]
+  wire  _T_29; // @[JtagShifter.scala 185:31:shc.marmotcaravel.MarmotCaravelConfig.fir@295295.4]
+  wire  _T_30; // @[JtagShifter.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@295296.4]
+  wire  _T_31; // @[JtagShifter.scala 186:31:shc.marmotcaravel.MarmotCaravelConfig.fir@295297.4]
+  wire  _T_32; // @[JtagShifter.scala 186:10:shc.marmotcaravel.MarmotCaravelConfig.fir@295298.4]
+  wire  _T_33; // @[JtagShifter.scala 186:7:shc.marmotcaravel.MarmotCaravelConfig.fir@295299.4]
+  wire  _T_34; // @[JtagShifter.scala 187:30:shc.marmotcaravel.MarmotCaravelConfig.fir@295300.4]
+  wire  _T_35; // @[JtagShifter.scala 187:10:shc.marmotcaravel.MarmotCaravelConfig.fir@295301.4]
+  wire  _T_36; // @[JtagShifter.scala 187:7:shc.marmotcaravel.MarmotCaravelConfig.fir@295302.4]
+  wire  _T_38; // @[JtagShifter.scala 185:9:shc.marmotcaravel.MarmotCaravelConfig.fir@295304.4]
+  wire  _T_39; // @[JtagShifter.scala 185:9:shc.marmotcaravel.MarmotCaravelConfig.fir@295305.4]
+  assign _T_18 = {regs_1,regs_0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@295253.4]
+  assign _T_19 = {regs_4,regs_3}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@295254.4]
+  assign _T_20 = {_T_19,regs_2}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@295255.4]
+  assign _T_29 = io_chainIn_capture & io_chainIn_update; // @[JtagShifter.scala 185:31:shc.marmotcaravel.MarmotCaravelConfig.fir@295295.4]
+  assign _T_30 = _T_29 == 1'h0; // @[JtagShifter.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@295296.4]
+  assign _T_31 = io_chainIn_capture & io_chainIn_shift; // @[JtagShifter.scala 186:31:shc.marmotcaravel.MarmotCaravelConfig.fir@295297.4]
+  assign _T_32 = _T_31 == 1'h0; // @[JtagShifter.scala 186:10:shc.marmotcaravel.MarmotCaravelConfig.fir@295298.4]
+  assign _T_33 = _T_30 & _T_32; // @[JtagShifter.scala 186:7:shc.marmotcaravel.MarmotCaravelConfig.fir@295299.4]
+  assign _T_34 = io_chainIn_update & io_chainIn_shift; // @[JtagShifter.scala 187:30:shc.marmotcaravel.MarmotCaravelConfig.fir@295300.4]
+  assign _T_35 = _T_34 == 1'h0; // @[JtagShifter.scala 187:10:shc.marmotcaravel.MarmotCaravelConfig.fir@295301.4]
+  assign _T_36 = _T_33 & _T_35; // @[JtagShifter.scala 187:7:shc.marmotcaravel.MarmotCaravelConfig.fir@295302.4]
+  assign _T_38 = _T_36 | reset; // @[JtagShifter.scala 185:9:shc.marmotcaravel.MarmotCaravelConfig.fir@295304.4]
+  assign _T_39 = _T_38 == 1'h0; // @[JtagShifter.scala 185:9:shc.marmotcaravel.MarmotCaravelConfig.fir@295305.4]
+  assign io_chainOut_data = regs_0; // @[JtagShifter.scala 158:20:shc.marmotcaravel.MarmotCaravelConfig.fir@295252.4]
+  assign io_update_bits = {_T_20,_T_18}; // @[JtagShifter.scala 161:18:shc.marmotcaravel.MarmotCaravelConfig.fir@295261.4]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  regs_0 = _RAND_0[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  regs_1 = _RAND_1[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  regs_2 = _RAND_2[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  regs_3 = _RAND_3[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  regs_4 = _RAND_4[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (io_chainIn_capture) begin
+      regs_0 <= 1'h1;
+    end else begin
+      if (!(io_chainIn_update)) begin
+        if (io_chainIn_shift) begin
+          regs_0 <= regs_1;
+        end
+      end
+    end
+    if (io_chainIn_capture) begin
+      regs_1 <= 1'h0;
+    end else begin
+      if (!(io_chainIn_update)) begin
+        if (io_chainIn_shift) begin
+          regs_1 <= regs_2;
+        end
+      end
+    end
+    if (io_chainIn_capture) begin
+      regs_2 <= 1'h0;
+    end else begin
+      if (!(io_chainIn_update)) begin
+        if (io_chainIn_shift) begin
+          regs_2 <= regs_3;
+        end
+      end
+    end
+    if (io_chainIn_capture) begin
+      regs_3 <= 1'h0;
+    end else begin
+      if (!(io_chainIn_update)) begin
+        if (io_chainIn_shift) begin
+          regs_3 <= regs_4;
+        end
+      end
+    end
+    if (io_chainIn_capture) begin
+      regs_4 <= 1'h0;
+    end else begin
+      if (!(io_chainIn_update)) begin
+        if (io_chainIn_shift) begin
+          regs_4 <= io_chainIn_data;
+        end
+      end
+    end
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_39) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at JtagShifter.scala:185 assert(!(io.chainIn.capture && io.chainIn.update)\n"); // @[JtagShifter.scala 185:9:shc.marmotcaravel.MarmotCaravelConfig.fir@295307.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_39) begin
+          $fatal; // @[JtagShifter.scala 185:9:shc.marmotcaravel.MarmotCaravelConfig.fir@295308.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+endmodule
+module JtagTapController( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295311.2]
+  input        clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295312.4]
+  input        reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295313.4]
+  input        io_jtag_TMS, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295314.4]
+  input        io_jtag_TDI, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295314.4]
+  output       io_jtag_TDO_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295314.4]
+  output       io_jtag_TDO_driven, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295314.4]
+  input        io_control_jtag_reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295314.4]
+  output [4:0] io_output_instruction, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295314.4]
+  output       io_output_reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295314.4]
+  output       io_dataChainOut_shift, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295314.4]
+  output       io_dataChainOut_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295314.4]
+  output       io_dataChainOut_capture, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295314.4]
+  output       io_dataChainOut_update, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295314.4]
+  input        io_dataChainIn_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295314.4]
+);
+  wire  stateMachine_clock; // @[JtagTap.scala 90:30:shc.marmotcaravel.MarmotCaravelConfig.fir@295341.4]
+  wire  stateMachine_reset; // @[JtagTap.scala 90:30:shc.marmotcaravel.MarmotCaravelConfig.fir@295341.4]
+  wire  stateMachine_io_tms; // @[JtagTap.scala 90:30:shc.marmotcaravel.MarmotCaravelConfig.fir@295341.4]
+  wire [3:0] stateMachine_io_currState; // @[JtagTap.scala 90:30:shc.marmotcaravel.MarmotCaravelConfig.fir@295341.4]
+  wire  irChain_clock; // @[JtagTap.scala 103:23:shc.marmotcaravel.MarmotCaravelConfig.fir@295348.4]
+  wire  irChain_reset; // @[JtagTap.scala 103:23:shc.marmotcaravel.MarmotCaravelConfig.fir@295348.4]
+  wire  irChain_io_chainIn_shift; // @[JtagTap.scala 103:23:shc.marmotcaravel.MarmotCaravelConfig.fir@295348.4]
+  wire  irChain_io_chainIn_data; // @[JtagTap.scala 103:23:shc.marmotcaravel.MarmotCaravelConfig.fir@295348.4]
+  wire  irChain_io_chainIn_capture; // @[JtagTap.scala 103:23:shc.marmotcaravel.MarmotCaravelConfig.fir@295348.4]
+  wire  irChain_io_chainIn_update; // @[JtagTap.scala 103:23:shc.marmotcaravel.MarmotCaravelConfig.fir@295348.4]
+  wire  irChain_io_chainOut_data; // @[JtagTap.scala 103:23:shc.marmotcaravel.MarmotCaravelConfig.fir@295348.4]
+  wire [4:0] irChain_io_update_bits; // @[JtagTap.scala 103:23:shc.marmotcaravel.MarmotCaravelConfig.fir@295348.4]
+  wire  _T_37; // @[Utils.scala 21:23:shc.marmotcaravel.MarmotCaravelConfig.fir@295323.4]
+  wire  _T_38; // @[Utils.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@295324.4]
+  wire  _T_39; // @[Utils.scala 21:31:shc.marmotcaravel.MarmotCaravelConfig.fir@295325.4]
+  reg  tdoReg; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@295326.4]
+  reg [31:0] _RAND_0;
+  wire [3:0] currState; // @[JtagTap.scala 83:23:shc.marmotcaravel.MarmotCaravelConfig.fir@295339.4 JtagTap.scala 93:15:shc.marmotcaravel.MarmotCaravelConfig.fir@295346.4]
+  wire  _T_62; // @[JtagTap.scala 142:19:shc.marmotcaravel.MarmotCaravelConfig.fir@295395.4]
+  wire  _T_63; // @[JtagTap.scala 145:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295401.6]
+  wire  _GEN_7; // @[JtagTap.scala 145:51:shc.marmotcaravel.MarmotCaravelConfig.fir@295402.6]
+  reg  tdoeReg; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@295334.4]
+  reg [31:0] _RAND_1;
+  wire  _T_49; // @[JtagTap.scala 108:42:shc.marmotcaravel.MarmotCaravelConfig.fir@295357.4]
+  reg [4:0] irReg; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@295367.4]
+  reg [31:0] _RAND_2;
+  wire  updateInstruction; // @[JtagTap.scala 116:23:shc.marmotcaravel.MarmotCaravelConfig.fir@295372.4]
+  wire [4:0] _GEN_3; // @[JtagTap.scala 119:52:shc.marmotcaravel.MarmotCaravelConfig.fir@295378.6]
+  JtagStateMachine stateMachine ( // @[JtagTap.scala 90:30:shc.marmotcaravel.MarmotCaravelConfig.fir@295341.4]
+    .clock(stateMachine_clock),
+    .reset(stateMachine_reset),
+    .io_tms(stateMachine_io_tms),
+    .io_currState(stateMachine_io_currState)
+  );
+  CaptureUpdateChain_2 irChain ( // @[JtagTap.scala 103:23:shc.marmotcaravel.MarmotCaravelConfig.fir@295348.4]
+    .clock(irChain_clock),
+    .reset(irChain_reset),
+    .io_chainIn_shift(irChain_io_chainIn_shift),
+    .io_chainIn_data(irChain_io_chainIn_data),
+    .io_chainIn_capture(irChain_io_chainIn_capture),
+    .io_chainIn_update(irChain_io_chainIn_update),
+    .io_chainOut_data(irChain_io_chainOut_data),
+    .io_update_bits(irChain_io_update_bits)
+  );
+  assign _T_37 = $unsigned(clock); // @[Utils.scala 21:23:shc.marmotcaravel.MarmotCaravelConfig.fir@295323.4]
+  assign _T_38 = _T_37 == 1'h0; // @[Utils.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@295324.4]
+  assign _T_39 = _T_38; // @[Utils.scala 21:31:shc.marmotcaravel.MarmotCaravelConfig.fir@295325.4]
+  assign currState = stateMachine_io_currState; // @[JtagTap.scala 83:23:shc.marmotcaravel.MarmotCaravelConfig.fir@295339.4 JtagTap.scala 93:15:shc.marmotcaravel.MarmotCaravelConfig.fir@295346.4]
+  assign _T_62 = currState == 4'h2; // @[JtagTap.scala 142:19:shc.marmotcaravel.MarmotCaravelConfig.fir@295395.4]
+  assign _T_63 = currState == 4'ha; // @[JtagTap.scala 145:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295401.6]
+  assign _GEN_7 = irChain_io_chainOut_data; // @[JtagTap.scala 145:51:shc.marmotcaravel.MarmotCaravelConfig.fir@295402.6]
+  assign _T_49 = currState == 4'hd; // @[JtagTap.scala 108:42:shc.marmotcaravel.MarmotCaravelConfig.fir@295357.4]
+  assign updateInstruction = reset ? 1'h1 : _T_49; // @[JtagTap.scala 116:23:shc.marmotcaravel.MarmotCaravelConfig.fir@295372.4]
+  assign _GEN_3 = irChain_io_update_bits; // @[JtagTap.scala 119:52:shc.marmotcaravel.MarmotCaravelConfig.fir@295378.6]
+  assign io_jtag_TDO_data = tdoReg; // @[JtagTap.scala 76:20:shc.marmotcaravel.MarmotCaravelConfig.fir@295330.4]
+  assign io_jtag_TDO_driven = tdoeReg; // @[JtagTap.scala 77:22:shc.marmotcaravel.MarmotCaravelConfig.fir@295338.4]
+  assign io_output_instruction = irReg; // @[JtagTap.scala 127:25:shc.marmotcaravel.MarmotCaravelConfig.fir@295385.4]
+  assign io_output_reset = currState == 4'hf; // @[JtagTap.scala 129:19:shc.marmotcaravel.MarmotCaravelConfig.fir@295387.4]
+  assign io_dataChainOut_shift = currState == 4'h2; // @[JtagTap.scala 134:25:shc.marmotcaravel.MarmotCaravelConfig.fir@295389.4]
+  assign io_dataChainOut_data = io_jtag_TDI; // @[JtagTap.scala 135:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295390.4]
+  assign io_dataChainOut_capture = currState == 4'h6; // @[JtagTap.scala 136:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295392.4]
+  assign io_dataChainOut_update = currState == 4'h5; // @[JtagTap.scala 137:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295394.4]
+  assign stateMachine_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295343.4]
+  assign stateMachine_reset = io_control_jtag_reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295344.4]
+  assign stateMachine_io_tms = io_jtag_TMS; // @[JtagTap.scala 92:25:shc.marmotcaravel.MarmotCaravelConfig.fir@295345.4]
+  assign irChain_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295350.4]
+  assign irChain_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295351.4]
+  assign irChain_io_chainIn_shift = currState == 4'ha; // @[JtagTap.scala 105:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295353.4]
+  assign irChain_io_chainIn_data = io_jtag_TDI; // @[JtagTap.scala 106:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295354.4]
+  assign irChain_io_chainIn_capture = currState == 4'he; // @[JtagTap.scala 107:30:shc.marmotcaravel.MarmotCaravelConfig.fir@295356.4]
+  assign irChain_io_chainIn_update = currState == 4'hd; // @[JtagTap.scala 108:29:shc.marmotcaravel.MarmotCaravelConfig.fir@295358.4]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  tdoReg = _RAND_0[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  tdoeReg = _RAND_1[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  irReg = _RAND_2[4:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge _T_39) begin
+    if (_T_62) begin
+      tdoReg <= io_dataChainIn_data;
+    end else begin
+      tdoReg <= _GEN_7;
+    end
+    if (_T_62) begin
+      tdoeReg <= 1'h1;
+    end else begin
+      tdoeReg <= _T_63;
+    end
+    if (updateInstruction) begin
+      if (reset) begin
+        irReg <= 5'h1;
+      end else begin
+        irReg <= _GEN_3;
+      end
+    end
+  end
+endmodule
+module JtagBypassChain( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295410.2]
+  input   clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295411.4]
+  input   reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295412.4]
+  input   io_chainIn_shift, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295413.4]
+  input   io_chainIn_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295413.4]
+  input   io_chainIn_capture, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295413.4]
+  input   io_chainIn_update, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295413.4]
+  output  io_chainOut_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295413.4]
+);
+  reg  reg$; // @[JtagShifter.scala 63:16:shc.marmotcaravel.MarmotCaravelConfig.fir@295421.4]
+  reg [31:0] _RAND_0;
+  wire  _T_10; // @[JtagShifter.scala 74:31:shc.marmotcaravel.MarmotCaravelConfig.fir@295430.4]
+  wire  _T_11; // @[JtagShifter.scala 74:10:shc.marmotcaravel.MarmotCaravelConfig.fir@295431.4]
+  wire  _T_12; // @[JtagShifter.scala 75:31:shc.marmotcaravel.MarmotCaravelConfig.fir@295432.4]
+  wire  _T_13; // @[JtagShifter.scala 75:10:shc.marmotcaravel.MarmotCaravelConfig.fir@295433.4]
+  wire  _T_14; // @[JtagShifter.scala 75:7:shc.marmotcaravel.MarmotCaravelConfig.fir@295434.4]
+  wire  _T_15; // @[JtagShifter.scala 76:30:shc.marmotcaravel.MarmotCaravelConfig.fir@295435.4]
+  wire  _T_16; // @[JtagShifter.scala 76:10:shc.marmotcaravel.MarmotCaravelConfig.fir@295436.4]
+  wire  _T_17; // @[JtagShifter.scala 76:7:shc.marmotcaravel.MarmotCaravelConfig.fir@295437.4]
+  wire  _T_19; // @[JtagShifter.scala 74:9:shc.marmotcaravel.MarmotCaravelConfig.fir@295439.4]
+  wire  _T_20; // @[JtagShifter.scala 74:9:shc.marmotcaravel.MarmotCaravelConfig.fir@295440.4]
+  assign _T_10 = io_chainIn_capture & io_chainIn_update; // @[JtagShifter.scala 74:31:shc.marmotcaravel.MarmotCaravelConfig.fir@295430.4]
+  assign _T_11 = _T_10 == 1'h0; // @[JtagShifter.scala 74:10:shc.marmotcaravel.MarmotCaravelConfig.fir@295431.4]
+  assign _T_12 = io_chainIn_capture & io_chainIn_shift; // @[JtagShifter.scala 75:31:shc.marmotcaravel.MarmotCaravelConfig.fir@295432.4]
+  assign _T_13 = _T_12 == 1'h0; // @[JtagShifter.scala 75:10:shc.marmotcaravel.MarmotCaravelConfig.fir@295433.4]
+  assign _T_14 = _T_11 & _T_13; // @[JtagShifter.scala 75:7:shc.marmotcaravel.MarmotCaravelConfig.fir@295434.4]
+  assign _T_15 = io_chainIn_update & io_chainIn_shift; // @[JtagShifter.scala 76:30:shc.marmotcaravel.MarmotCaravelConfig.fir@295435.4]
+  assign _T_16 = _T_15 == 1'h0; // @[JtagShifter.scala 76:10:shc.marmotcaravel.MarmotCaravelConfig.fir@295436.4]
+  assign _T_17 = _T_14 & _T_16; // @[JtagShifter.scala 76:7:shc.marmotcaravel.MarmotCaravelConfig.fir@295437.4]
+  assign _T_19 = _T_17 | reset; // @[JtagShifter.scala 74:9:shc.marmotcaravel.MarmotCaravelConfig.fir@295439.4]
+  assign _T_20 = _T_19 == 1'h0; // @[JtagShifter.scala 74:9:shc.marmotcaravel.MarmotCaravelConfig.fir@295440.4]
+  assign io_chainOut_data = reg$; // @[JtagShifter.scala 65:20:shc.marmotcaravel.MarmotCaravelConfig.fir@295422.4]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  reg$ = _RAND_0[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (io_chainIn_capture) begin
+      reg$ <= 1'h0;
+    end else begin
+      if (io_chainIn_shift) begin
+        reg$ <= io_chainIn_data;
+      end
+    end
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_20) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at JtagShifter.scala:74 assert(!(io.chainIn.capture && io.chainIn.update)\n"); // @[JtagShifter.scala 74:9:shc.marmotcaravel.MarmotCaravelConfig.fir@295442.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_20) begin
+          $fatal; // @[JtagShifter.scala 74:9:shc.marmotcaravel.MarmotCaravelConfig.fir@295443.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+endmodule
+module DebugTransportModuleJTAG( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295446.2]
+  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295447.4]
+  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295448.4]
+  input         io_dmi_req_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295449.4]
+  output        io_dmi_req_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295449.4]
+  output [6:0]  io_dmi_req_bits_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295449.4]
+  output [31:0] io_dmi_req_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295449.4]
+  output [1:0]  io_dmi_req_bits_op, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295449.4]
+  output        io_dmi_resp_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295449.4]
+  input         io_dmi_resp_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295449.4]
+  input  [31:0] io_dmi_resp_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295449.4]
+  input  [1:0]  io_dmi_resp_bits_resp, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295449.4]
+  input         io_jtag_TMS, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295449.4]
+  input         io_jtag_TDI, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295449.4]
+  output        io_jtag_TDO_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295449.4]
+  output        io_jtag_TDO_driven, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295449.4]
+  input         io_jtag_reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295449.4]
+  output        io_fsmReset // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295449.4]
+);
+  wire  dtmInfoChain_clock; // @[DebugTransport.scala 121:29:shc.marmotcaravel.MarmotCaravelConfig.fir@295487.4]
+  wire  dtmInfoChain_reset; // @[DebugTransport.scala 121:29:shc.marmotcaravel.MarmotCaravelConfig.fir@295487.4]
+  wire  dtmInfoChain_io_chainIn_shift; // @[DebugTransport.scala 121:29:shc.marmotcaravel.MarmotCaravelConfig.fir@295487.4]
+  wire  dtmInfoChain_io_chainIn_data; // @[DebugTransport.scala 121:29:shc.marmotcaravel.MarmotCaravelConfig.fir@295487.4]
+  wire  dtmInfoChain_io_chainIn_capture; // @[DebugTransport.scala 121:29:shc.marmotcaravel.MarmotCaravelConfig.fir@295487.4]
+  wire  dtmInfoChain_io_chainIn_update; // @[DebugTransport.scala 121:29:shc.marmotcaravel.MarmotCaravelConfig.fir@295487.4]
+  wire  dtmInfoChain_io_chainOut_data; // @[DebugTransport.scala 121:29:shc.marmotcaravel.MarmotCaravelConfig.fir@295487.4]
+  wire [1:0] dtmInfoChain_io_capture_bits_dmiStatus; // @[DebugTransport.scala 121:29:shc.marmotcaravel.MarmotCaravelConfig.fir@295487.4]
+  wire  dtmInfoChain_io_update_valid; // @[DebugTransport.scala 121:29:shc.marmotcaravel.MarmotCaravelConfig.fir@295487.4]
+  wire  dtmInfoChain_io_update_bits_dmireset; // @[DebugTransport.scala 121:29:shc.marmotcaravel.MarmotCaravelConfig.fir@295487.4]
+  wire  dmiAccessChain_clock; // @[DebugTransport.scala 127:31:shc.marmotcaravel.MarmotCaravelConfig.fir@295492.4]
+  wire  dmiAccessChain_reset; // @[DebugTransport.scala 127:31:shc.marmotcaravel.MarmotCaravelConfig.fir@295492.4]
+  wire  dmiAccessChain_io_chainIn_shift; // @[DebugTransport.scala 127:31:shc.marmotcaravel.MarmotCaravelConfig.fir@295492.4]
+  wire  dmiAccessChain_io_chainIn_data; // @[DebugTransport.scala 127:31:shc.marmotcaravel.MarmotCaravelConfig.fir@295492.4]
+  wire  dmiAccessChain_io_chainIn_capture; // @[DebugTransport.scala 127:31:shc.marmotcaravel.MarmotCaravelConfig.fir@295492.4]
+  wire  dmiAccessChain_io_chainIn_update; // @[DebugTransport.scala 127:31:shc.marmotcaravel.MarmotCaravelConfig.fir@295492.4]
+  wire  dmiAccessChain_io_chainOut_data; // @[DebugTransport.scala 127:31:shc.marmotcaravel.MarmotCaravelConfig.fir@295492.4]
+  wire [6:0] dmiAccessChain_io_capture_bits_addr; // @[DebugTransport.scala 127:31:shc.marmotcaravel.MarmotCaravelConfig.fir@295492.4]
+  wire [31:0] dmiAccessChain_io_capture_bits_data; // @[DebugTransport.scala 127:31:shc.marmotcaravel.MarmotCaravelConfig.fir@295492.4]
+  wire [1:0] dmiAccessChain_io_capture_bits_resp; // @[DebugTransport.scala 127:31:shc.marmotcaravel.MarmotCaravelConfig.fir@295492.4]
+  wire  dmiAccessChain_io_capture_capture; // @[DebugTransport.scala 127:31:shc.marmotcaravel.MarmotCaravelConfig.fir@295492.4]
+  wire  dmiAccessChain_io_update_valid; // @[DebugTransport.scala 127:31:shc.marmotcaravel.MarmotCaravelConfig.fir@295492.4]
+  wire [6:0] dmiAccessChain_io_update_bits_addr; // @[DebugTransport.scala 127:31:shc.marmotcaravel.MarmotCaravelConfig.fir@295492.4]
+  wire [31:0] dmiAccessChain_io_update_bits_data; // @[DebugTransport.scala 127:31:shc.marmotcaravel.MarmotCaravelConfig.fir@295492.4]
+  wire [1:0] dmiAccessChain_io_update_bits_op; // @[DebugTransport.scala 127:31:shc.marmotcaravel.MarmotCaravelConfig.fir@295492.4]
+  wire  idcodeChain_clock; // @[JtagTap.scala 189:33:shc.marmotcaravel.MarmotCaravelConfig.fir@295645.4]
+  wire  idcodeChain_reset; // @[JtagTap.scala 189:33:shc.marmotcaravel.MarmotCaravelConfig.fir@295645.4]
+  wire  idcodeChain_io_chainIn_shift; // @[JtagTap.scala 189:33:shc.marmotcaravel.MarmotCaravelConfig.fir@295645.4]
+  wire  idcodeChain_io_chainIn_data; // @[JtagTap.scala 189:33:shc.marmotcaravel.MarmotCaravelConfig.fir@295645.4]
+  wire  idcodeChain_io_chainIn_capture; // @[JtagTap.scala 189:33:shc.marmotcaravel.MarmotCaravelConfig.fir@295645.4]
+  wire  idcodeChain_io_chainIn_update; // @[JtagTap.scala 189:33:shc.marmotcaravel.MarmotCaravelConfig.fir@295645.4]
+  wire  idcodeChain_io_chainOut_data; // @[JtagTap.scala 189:33:shc.marmotcaravel.MarmotCaravelConfig.fir@295645.4]
+  wire  JtagTapController_clock; // @[JtagTap.scala 207:36:shc.marmotcaravel.MarmotCaravelConfig.fir@295676.4]
+  wire  JtagTapController_reset; // @[JtagTap.scala 207:36:shc.marmotcaravel.MarmotCaravelConfig.fir@295676.4]
+  wire  JtagTapController_io_jtag_TMS; // @[JtagTap.scala 207:36:shc.marmotcaravel.MarmotCaravelConfig.fir@295676.4]
+  wire  JtagTapController_io_jtag_TDI; // @[JtagTap.scala 207:36:shc.marmotcaravel.MarmotCaravelConfig.fir@295676.4]
+  wire  JtagTapController_io_jtag_TDO_data; // @[JtagTap.scala 207:36:shc.marmotcaravel.MarmotCaravelConfig.fir@295676.4]
+  wire  JtagTapController_io_jtag_TDO_driven; // @[JtagTap.scala 207:36:shc.marmotcaravel.MarmotCaravelConfig.fir@295676.4]
+  wire  JtagTapController_io_control_jtag_reset; // @[JtagTap.scala 207:36:shc.marmotcaravel.MarmotCaravelConfig.fir@295676.4]
+  wire [4:0] JtagTapController_io_output_instruction; // @[JtagTap.scala 207:36:shc.marmotcaravel.MarmotCaravelConfig.fir@295676.4]
+  wire  JtagTapController_io_output_reset; // @[JtagTap.scala 207:36:shc.marmotcaravel.MarmotCaravelConfig.fir@295676.4]
+  wire  JtagTapController_io_dataChainOut_shift; // @[JtagTap.scala 207:36:shc.marmotcaravel.MarmotCaravelConfig.fir@295676.4]
+  wire  JtagTapController_io_dataChainOut_data; // @[JtagTap.scala 207:36:shc.marmotcaravel.MarmotCaravelConfig.fir@295676.4]
+  wire  JtagTapController_io_dataChainOut_capture; // @[JtagTap.scala 207:36:shc.marmotcaravel.MarmotCaravelConfig.fir@295676.4]
+  wire  JtagTapController_io_dataChainOut_update; // @[JtagTap.scala 207:36:shc.marmotcaravel.MarmotCaravelConfig.fir@295676.4]
+  wire  JtagTapController_io_dataChainIn_data; // @[JtagTap.scala 207:36:shc.marmotcaravel.MarmotCaravelConfig.fir@295676.4]
+  wire  JtagBypassChain_clock; // @[JtagTap.scala 215:29:shc.marmotcaravel.MarmotCaravelConfig.fir@295686.4]
+  wire  JtagBypassChain_reset; // @[JtagTap.scala 215:29:shc.marmotcaravel.MarmotCaravelConfig.fir@295686.4]
+  wire  JtagBypassChain_io_chainIn_shift; // @[JtagTap.scala 215:29:shc.marmotcaravel.MarmotCaravelConfig.fir@295686.4]
+  wire  JtagBypassChain_io_chainIn_data; // @[JtagTap.scala 215:29:shc.marmotcaravel.MarmotCaravelConfig.fir@295686.4]
+  wire  JtagBypassChain_io_chainIn_capture; // @[JtagTap.scala 215:29:shc.marmotcaravel.MarmotCaravelConfig.fir@295686.4]
+  wire  JtagBypassChain_io_chainIn_update; // @[JtagTap.scala 215:29:shc.marmotcaravel.MarmotCaravelConfig.fir@295686.4]
+  wire  JtagBypassChain_io_chainOut_data; // @[JtagTap.scala 215:29:shc.marmotcaravel.MarmotCaravelConfig.fir@295686.4]
+  reg  busyReg; // @[DebugTransport.scala 87:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295456.4]
+  reg [31:0] _RAND_0;
+  reg  stickyBusyReg; // @[DebugTransport.scala 88:30:shc.marmotcaravel.MarmotCaravelConfig.fir@295457.4]
+  reg [31:0] _RAND_1;
+  reg  stickyNonzeroRespReg; // @[DebugTransport.scala 89:37:shc.marmotcaravel.MarmotCaravelConfig.fir@295458.4]
+  reg [31:0] _RAND_2;
+  reg  skipOpReg; // @[DebugTransport.scala 91:22:shc.marmotcaravel.MarmotCaravelConfig.fir@295459.4]
+  reg [31:0] _RAND_3;
+  reg  downgradeOpReg; // @[DebugTransport.scala 92:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295460.4]
+  reg [31:0] _RAND_4;
+  reg [6:0] dmiReqReg_addr; // @[DebugTransport.scala 103:23:shc.marmotcaravel.MarmotCaravelConfig.fir@295473.4]
+  reg [31:0] _RAND_5;
+  reg [31:0] dmiReqReg_data; // @[DebugTransport.scala 103:23:shc.marmotcaravel.MarmotCaravelConfig.fir@295473.4]
+  reg [31:0] _RAND_6;
+  reg [1:0] dmiReqReg_op; // @[DebugTransport.scala 103:23:shc.marmotcaravel.MarmotCaravelConfig.fir@295473.4]
+  reg [31:0] _RAND_7;
+  reg  dmiReqValidReg; // @[DebugTransport.scala 104:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295474.4]
+  reg [31:0] _RAND_8;
+  wire  _T_40; // @[DebugTransport.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@295477.4]
+  wire  _T_45; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@295499.4]
+  wire  _T_46; // @[DebugTransport.scala 148:22:shc.marmotcaravel.MarmotCaravelConfig.fir@295503.4]
+  wire  _T_47; // @[DebugTransport.scala 148:20:shc.marmotcaravel.MarmotCaravelConfig.fir@295504.4]
+  wire  busy; // @[DebugTransport.scala 148:42:shc.marmotcaravel.MarmotCaravelConfig.fir@295505.4]
+  wire  _T_49; // @[DebugTransport.scala 159:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295513.6]
+  wire  _T_51; // @[DebugTransport.scala 176:85:shc.marmotcaravel.MarmotCaravelConfig.fir@295525.4]
+  wire  _T_52; // @[DebugTransport.scala 176:60:shc.marmotcaravel.MarmotCaravelConfig.fir@295526.4]
+  wire  nonzeroResp; // @[DebugTransport.scala 176:39:shc.marmotcaravel.MarmotCaravelConfig.fir@295527.4]
+  wire  _T_50; // @[DebugTransport.scala 159:30:shc.marmotcaravel.MarmotCaravelConfig.fir@295514.6]
+  wire  _T_54; // @[DebugTransport.scala 177:10:shc.marmotcaravel.MarmotCaravelConfig.fir@295529.4]
+  wire  _T_56; // @[DebugTransport.scala 177:9:shc.marmotcaravel.MarmotCaravelConfig.fir@295531.4]
+  wire  _T_57; // @[DebugTransport.scala 177:9:shc.marmotcaravel.MarmotCaravelConfig.fir@295532.4]
+  wire  _T_58; // @[DebugTransport.scala 178:10:shc.marmotcaravel.MarmotCaravelConfig.fir@295537.4]
+  wire  _T_60; // @[DebugTransport.scala 178:9:shc.marmotcaravel.MarmotCaravelConfig.fir@295539.4]
+  wire  _T_61; // @[DebugTransport.scala 178:9:shc.marmotcaravel.MarmotCaravelConfig.fir@295540.4]
+  wire [6:0] _T_63_addr; // @[DebugTransport.scala 195:60:shc.marmotcaravel.MarmotCaravelConfig.fir@295555.4]
+  wire [31:0] _T_63_data; // @[DebugTransport.scala 195:60:shc.marmotcaravel.MarmotCaravelConfig.fir@295555.4]
+  wire [1:0] _T_63_resp; // @[DebugTransport.scala 195:60:shc.marmotcaravel.MarmotCaravelConfig.fir@295555.4]
+  wire  _T_68; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@295573.4]
+  wire  _T_74; // @[DebugTransport.scala 216:69:shc.marmotcaravel.MarmotCaravelConfig.fir@295587.8]
+  wire  _T_75; // @[DebugTransport.scala 216:32:shc.marmotcaravel.MarmotCaravelConfig.fir@295588.8]
+  wire  _GEN_22; // @[DebugTransport.scala 216:97:shc.marmotcaravel.MarmotCaravelConfig.fir@295589.8]
+  wire  _GEN_27; // @[DebugTransport.scala 214:22:shc.marmotcaravel.MarmotCaravelConfig.fir@295584.6]
+  wire  dmiReqValidCheck; // @[DebugTransport.scala 213:41:shc.marmotcaravel.MarmotCaravelConfig.fir@295583.4]
+  wire  _T_69; // @[DebugTransport.scala 211:29:shc.marmotcaravel.MarmotCaravelConfig.fir@295574.4]
+  wire  _T_70; // @[DebugTransport.scala 211:10:shc.marmotcaravel.MarmotCaravelConfig.fir@295575.4]
+  wire  _T_72; // @[DebugTransport.scala 211:9:shc.marmotcaravel.MarmotCaravelConfig.fir@295577.4]
+  wire  _T_73; // @[DebugTransport.scala 211:9:shc.marmotcaravel.MarmotCaravelConfig.fir@295578.4]
+  wire  _T_77; // @[DebugTransport.scala 233:18:shc.marmotcaravel.MarmotCaravelConfig.fir@295604.4]
+  wire [31:0] _GEN_0; // @[JtagTap.scala 192:18:shc.marmotcaravel.MarmotCaravelConfig.fir@295652.4]
+  wire [1:0] _T_136; // @[JtagTap.scala 192:18:shc.marmotcaravel.MarmotCaravelConfig.fir@295652.4]
+  wire  _T_137; // @[JtagTap.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295653.4]
+  wire  _T_139; // @[JtagTap.scala 192:15:shc.marmotcaravel.MarmotCaravelConfig.fir@295655.4]
+  wire  _T_140; // @[JtagTap.scala 192:15:shc.marmotcaravel.MarmotCaravelConfig.fir@295656.4]
+  wire [12:0] _T_143; // @[JtagTap.scala 193:41:shc.marmotcaravel.MarmotCaravelConfig.fir@295663.4]
+  wire [12:0] _T_144; // @[JtagTap.scala 193:41:shc.marmotcaravel.MarmotCaravelConfig.fir@295664.4]
+  wire [11:0] _T_145; // @[JtagTap.scala 193:41:shc.marmotcaravel.MarmotCaravelConfig.fir@295665.4]
+  wire [30:0] _GEN_62; // @[JtagTap.scala 193:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295666.4]
+  wire [30:0] _T_146; // @[JtagTap.scala 193:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295666.4]
+  wire  _T_147; // @[JtagTap.scala 193:49:shc.marmotcaravel.MarmotCaravelConfig.fir@295667.4]
+  wire  _T_149; // @[JtagTap.scala 193:15:shc.marmotcaravel.MarmotCaravelConfig.fir@295669.4]
+  wire  _T_150; // @[JtagTap.scala 193:15:shc.marmotcaravel.MarmotCaravelConfig.fir@295670.4]
+  wire  _T_153; // @[JtagTap.scala 231:82:shc.marmotcaravel.MarmotCaravelConfig.fir@295691.4]
+  wire  _T_154; // @[JtagTap.scala 231:82:shc.marmotcaravel.MarmotCaravelConfig.fir@295692.4]
+  wire  _T_155; // @[JtagTap.scala 231:82:shc.marmotcaravel.MarmotCaravelConfig.fir@295693.4]
+  wire  _GEN_35; // @[JtagTap.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295705.10]
+  wire  _GEN_39; // @[JtagTap.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295701.8]
+  CaptureUpdateChain dtmInfoChain ( // @[DebugTransport.scala 121:29:shc.marmotcaravel.MarmotCaravelConfig.fir@295487.4]
+    .clock(dtmInfoChain_clock),
+    .reset(dtmInfoChain_reset),
+    .io_chainIn_shift(dtmInfoChain_io_chainIn_shift),
+    .io_chainIn_data(dtmInfoChain_io_chainIn_data),
+    .io_chainIn_capture(dtmInfoChain_io_chainIn_capture),
+    .io_chainIn_update(dtmInfoChain_io_chainIn_update),
+    .io_chainOut_data(dtmInfoChain_io_chainOut_data),
+    .io_capture_bits_dmiStatus(dtmInfoChain_io_capture_bits_dmiStatus),
+    .io_update_valid(dtmInfoChain_io_update_valid),
+    .io_update_bits_dmireset(dtmInfoChain_io_update_bits_dmireset)
+  );
+  CaptureUpdateChain_1 dmiAccessChain ( // @[DebugTransport.scala 127:31:shc.marmotcaravel.MarmotCaravelConfig.fir@295492.4]
+    .clock(dmiAccessChain_clock),
+    .reset(dmiAccessChain_reset),
+    .io_chainIn_shift(dmiAccessChain_io_chainIn_shift),
+    .io_chainIn_data(dmiAccessChain_io_chainIn_data),
+    .io_chainIn_capture(dmiAccessChain_io_chainIn_capture),
+    .io_chainIn_update(dmiAccessChain_io_chainIn_update),
+    .io_chainOut_data(dmiAccessChain_io_chainOut_data),
+    .io_capture_bits_addr(dmiAccessChain_io_capture_bits_addr),
+    .io_capture_bits_data(dmiAccessChain_io_capture_bits_data),
+    .io_capture_bits_resp(dmiAccessChain_io_capture_bits_resp),
+    .io_capture_capture(dmiAccessChain_io_capture_capture),
+    .io_update_valid(dmiAccessChain_io_update_valid),
+    .io_update_bits_addr(dmiAccessChain_io_update_bits_addr),
+    .io_update_bits_data(dmiAccessChain_io_update_bits_data),
+    .io_update_bits_op(dmiAccessChain_io_update_bits_op)
+  );
+  CaptureChain idcodeChain ( // @[JtagTap.scala 189:33:shc.marmotcaravel.MarmotCaravelConfig.fir@295645.4]
+    .clock(idcodeChain_clock),
+    .reset(idcodeChain_reset),
+    .io_chainIn_shift(idcodeChain_io_chainIn_shift),
+    .io_chainIn_data(idcodeChain_io_chainIn_data),
+    .io_chainIn_capture(idcodeChain_io_chainIn_capture),
+    .io_chainIn_update(idcodeChain_io_chainIn_update),
+    .io_chainOut_data(idcodeChain_io_chainOut_data)
+  );
+  JtagTapController JtagTapController ( // @[JtagTap.scala 207:36:shc.marmotcaravel.MarmotCaravelConfig.fir@295676.4]
+    .clock(JtagTapController_clock),
+    .reset(JtagTapController_reset),
+    .io_jtag_TMS(JtagTapController_io_jtag_TMS),
+    .io_jtag_TDI(JtagTapController_io_jtag_TDI),
+    .io_jtag_TDO_data(JtagTapController_io_jtag_TDO_data),
+    .io_jtag_TDO_driven(JtagTapController_io_jtag_TDO_driven),
+    .io_control_jtag_reset(JtagTapController_io_control_jtag_reset),
+    .io_output_instruction(JtagTapController_io_output_instruction),
+    .io_output_reset(JtagTapController_io_output_reset),
+    .io_dataChainOut_shift(JtagTapController_io_dataChainOut_shift),
+    .io_dataChainOut_data(JtagTapController_io_dataChainOut_data),
+    .io_dataChainOut_capture(JtagTapController_io_dataChainOut_capture),
+    .io_dataChainOut_update(JtagTapController_io_dataChainOut_update),
+    .io_dataChainIn_data(JtagTapController_io_dataChainIn_data)
+  );
+  JtagBypassChain JtagBypassChain ( // @[JtagTap.scala 215:29:shc.marmotcaravel.MarmotCaravelConfig.fir@295686.4]
+    .clock(JtagBypassChain_clock),
+    .reset(JtagBypassChain_reset),
+    .io_chainIn_shift(JtagBypassChain_io_chainIn_shift),
+    .io_chainIn_data(JtagBypassChain_io_chainIn_data),
+    .io_chainIn_capture(JtagBypassChain_io_chainIn_capture),
+    .io_chainIn_update(JtagBypassChain_io_chainIn_update),
+    .io_chainOut_data(JtagBypassChain_io_chainOut_data)
+  );
+  assign _T_40 = stickyNonzeroRespReg | stickyBusyReg; // @[DebugTransport.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@295477.4]
+  assign _T_45 = io_dmi_resp_ready & io_dmi_resp_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@295499.4]
+  assign _T_46 = io_dmi_resp_valid == 1'h0; // @[DebugTransport.scala 148:22:shc.marmotcaravel.MarmotCaravelConfig.fir@295503.4]
+  assign _T_47 = busyReg & _T_46; // @[DebugTransport.scala 148:20:shc.marmotcaravel.MarmotCaravelConfig.fir@295504.4]
+  assign busy = _T_47 | stickyBusyReg; // @[DebugTransport.scala 148:42:shc.marmotcaravel.MarmotCaravelConfig.fir@295505.4]
+  assign _T_49 = busy == 1'h0; // @[DebugTransport.scala 159:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295513.6]
+  assign _T_51 = io_dmi_resp_bits_resp != 2'h0; // @[DebugTransport.scala 176:85:shc.marmotcaravel.MarmotCaravelConfig.fir@295525.4]
+  assign _T_52 = io_dmi_resp_valid & _T_51; // @[DebugTransport.scala 176:60:shc.marmotcaravel.MarmotCaravelConfig.fir@295526.4]
+  assign nonzeroResp = stickyNonzeroRespReg | _T_52; // @[DebugTransport.scala 176:39:shc.marmotcaravel.MarmotCaravelConfig.fir@295527.4]
+  assign _T_50 = _T_49 & nonzeroResp; // @[DebugTransport.scala 159:30:shc.marmotcaravel.MarmotCaravelConfig.fir@295514.6]
+  assign _T_54 = nonzeroResp == 1'h0; // @[DebugTransport.scala 177:10:shc.marmotcaravel.MarmotCaravelConfig.fir@295529.4]
+  assign _T_56 = _T_54 | reset; // @[DebugTransport.scala 177:9:shc.marmotcaravel.MarmotCaravelConfig.fir@295531.4]
+  assign _T_57 = _T_56 == 1'h0; // @[DebugTransport.scala 177:9:shc.marmotcaravel.MarmotCaravelConfig.fir@295532.4]
+  assign _T_58 = stickyNonzeroRespReg == 1'h0; // @[DebugTransport.scala 178:10:shc.marmotcaravel.MarmotCaravelConfig.fir@295537.4]
+  assign _T_60 = _T_58 | reset; // @[DebugTransport.scala 178:9:shc.marmotcaravel.MarmotCaravelConfig.fir@295539.4]
+  assign _T_61 = _T_60 == 1'h0; // @[DebugTransport.scala 178:9:shc.marmotcaravel.MarmotCaravelConfig.fir@295540.4]
+  assign _T_63_addr = io_dmi_resp_valid ? dmiReqReg_addr : 7'h0; // @[DebugTransport.scala 195:60:shc.marmotcaravel.MarmotCaravelConfig.fir@295555.4]
+  assign _T_63_data = io_dmi_resp_valid ? io_dmi_resp_bits_data : 32'h0; // @[DebugTransport.scala 195:60:shc.marmotcaravel.MarmotCaravelConfig.fir@295555.4]
+  assign _T_63_resp = io_dmi_resp_valid ? io_dmi_resp_bits_resp : 2'h0; // @[DebugTransport.scala 195:60:shc.marmotcaravel.MarmotCaravelConfig.fir@295555.4]
+  assign _T_68 = io_dmi_req_ready & io_dmi_req_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@295573.4]
+  assign _T_74 = dmiAccessChain_io_update_bits_op == 2'h0; // @[DebugTransport.scala 216:69:shc.marmotcaravel.MarmotCaravelConfig.fir@295587.8]
+  assign _T_75 = downgradeOpReg | _T_74; // @[DebugTransport.scala 216:32:shc.marmotcaravel.MarmotCaravelConfig.fir@295588.8]
+  assign _GEN_22 = _T_75 ? 1'h0 : 1'h1; // @[DebugTransport.scala 216:97:shc.marmotcaravel.MarmotCaravelConfig.fir@295589.8]
+  assign _GEN_27 = skipOpReg ? 1'h0 : _GEN_22; // @[DebugTransport.scala 214:22:shc.marmotcaravel.MarmotCaravelConfig.fir@295584.6]
+  assign dmiReqValidCheck = dmiAccessChain_io_update_valid ? _GEN_27 : 1'h0; // @[DebugTransport.scala 213:41:shc.marmotcaravel.MarmotCaravelConfig.fir@295583.4]
+  assign _T_69 = dmiReqValidCheck & _T_68; // @[DebugTransport.scala 211:29:shc.marmotcaravel.MarmotCaravelConfig.fir@295574.4]
+  assign _T_70 = _T_69 == 1'h0; // @[DebugTransport.scala 211:10:shc.marmotcaravel.MarmotCaravelConfig.fir@295575.4]
+  assign _T_72 = _T_70 | reset; // @[DebugTransport.scala 211:9:shc.marmotcaravel.MarmotCaravelConfig.fir@295577.4]
+  assign _T_73 = _T_72 == 1'h0; // @[DebugTransport.scala 211:9:shc.marmotcaravel.MarmotCaravelConfig.fir@295578.4]
+  assign _T_77 = dmiReqReg_op == 2'h2; // @[DebugTransport.scala 233:18:shc.marmotcaravel.MarmotCaravelConfig.fir@295604.4]
+  assign _GEN_0 = 32'h20000913 % 32'h2; // @[JtagTap.scala 192:18:shc.marmotcaravel.MarmotCaravelConfig.fir@295652.4]
+  assign _T_136 = _GEN_0[1:0]; // @[JtagTap.scala 192:18:shc.marmotcaravel.MarmotCaravelConfig.fir@295652.4]
+  assign _T_137 = _T_136 == 2'h1; // @[JtagTap.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295653.4]
+  assign _T_139 = _T_137 | reset; // @[JtagTap.scala 192:15:shc.marmotcaravel.MarmotCaravelConfig.fir@295655.4]
+  assign _T_140 = _T_139 == 1'h0; // @[JtagTap.scala 192:15:shc.marmotcaravel.MarmotCaravelConfig.fir@295656.4]
+  assign _T_143 = 12'h800 - 12'h1; // @[JtagTap.scala 193:41:shc.marmotcaravel.MarmotCaravelConfig.fir@295663.4]
+  assign _T_144 = $unsigned(_T_143); // @[JtagTap.scala 193:41:shc.marmotcaravel.MarmotCaravelConfig.fir@295664.4]
+  assign _T_145 = _T_144[11:0]; // @[JtagTap.scala 193:41:shc.marmotcaravel.MarmotCaravelConfig.fir@295665.4]
+  assign _GEN_62 = {{19'd0}, _T_145}; // @[JtagTap.scala 193:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295666.4]
+  assign _T_146 = 31'h10000489 & _GEN_62; // @[JtagTap.scala 193:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295666.4]
+  assign _T_147 = _T_146 != 31'h7f; // @[JtagTap.scala 193:49:shc.marmotcaravel.MarmotCaravelConfig.fir@295667.4]
+  assign _T_149 = _T_147 | reset; // @[JtagTap.scala 193:15:shc.marmotcaravel.MarmotCaravelConfig.fir@295669.4]
+  assign _T_150 = _T_149 == 1'h0; // @[JtagTap.scala 193:15:shc.marmotcaravel.MarmotCaravelConfig.fir@295670.4]
+  assign _T_153 = JtagTapController_io_output_instruction == 5'h1; // @[JtagTap.scala 231:82:shc.marmotcaravel.MarmotCaravelConfig.fir@295691.4]
+  assign _T_154 = JtagTapController_io_output_instruction == 5'h10; // @[JtagTap.scala 231:82:shc.marmotcaravel.MarmotCaravelConfig.fir@295692.4]
+  assign _T_155 = JtagTapController_io_output_instruction == 5'h11; // @[JtagTap.scala 231:82:shc.marmotcaravel.MarmotCaravelConfig.fir@295693.4]
+  assign _GEN_35 = _T_155 ? dmiAccessChain_io_chainOut_data : JtagBypassChain_io_chainOut_data; // @[JtagTap.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295705.10]
+  assign _GEN_39 = _T_154 ? dtmInfoChain_io_chainOut_data : _GEN_35; // @[JtagTap.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295701.8]
+  assign io_dmi_req_valid = dmiReqValidReg; // @[DebugTransport.scala 249:20:shc.marmotcaravel.MarmotCaravelConfig.fir@295621.4]
+  assign io_dmi_req_bits_addr = dmiReqReg_addr; // @[DebugTransport.scala 252:19:shc.marmotcaravel.MarmotCaravelConfig.fir@295622.4]
+  assign io_dmi_req_bits_data = dmiReqReg_data; // @[DebugTransport.scala 252:19:shc.marmotcaravel.MarmotCaravelConfig.fir@295622.4]
+  assign io_dmi_req_bits_op = dmiReqReg_op; // @[DebugTransport.scala 252:19:shc.marmotcaravel.MarmotCaravelConfig.fir@295622.4]
+  assign io_dmi_resp_ready = _T_77 ? io_dmi_resp_valid : dmiAccessChain_io_capture_capture; // @[DebugTransport.scala 232:21:shc.marmotcaravel.MarmotCaravelConfig.fir@295606.4]
+  assign io_jtag_TDO_data = JtagTapController_io_jtag_TDO_data; // @[DebugTransport.scala 270:14:shc.marmotcaravel.MarmotCaravelConfig.fir@295733.4]
+  assign io_jtag_TDO_driven = JtagTapController_io_jtag_TDO_driven; // @[DebugTransport.scala 270:14:shc.marmotcaravel.MarmotCaravelConfig.fir@295733.4]
+  assign io_fsmReset = JtagTapController_io_output_reset; // @[DebugTransport.scala 278:15:shc.marmotcaravel.MarmotCaravelConfig.fir@295735.4]
+  assign dtmInfoChain_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295489.4]
+  assign dtmInfoChain_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295490.4]
+  assign dtmInfoChain_io_chainIn_shift = _T_154 ? JtagTapController_io_dataChainOut_shift : 1'h0; // @[JtagTap.scala 252:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295718.6 JtagTap.scala 254:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295721.6]
+  assign dtmInfoChain_io_chainIn_data = _T_154 ? JtagTapController_io_dataChainOut_data : 1'h0; // @[JtagTap.scala 252:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295718.6 JtagTap.scala 254:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295721.6]
+  assign dtmInfoChain_io_chainIn_capture = _T_154 ? JtagTapController_io_dataChainOut_capture : 1'h0; // @[JtagTap.scala 252:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295718.6 JtagTap.scala 254:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295721.6]
+  assign dtmInfoChain_io_chainIn_update = _T_154 ? JtagTapController_io_dataChainOut_update : 1'h0; // @[JtagTap.scala 252:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295718.6 JtagTap.scala 254:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295721.6]
+  assign dtmInfoChain_io_capture_bits_dmiStatus = {stickyNonzeroRespReg,_T_40}; // @[DebugTransport.scala 122:32:shc.marmotcaravel.MarmotCaravelConfig.fir@295491.4]
+  assign dmiAccessChain_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295494.4]
+  assign dmiAccessChain_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295495.4]
+  assign dmiAccessChain_io_chainIn_shift = _T_155 ? JtagTapController_io_dataChainOut_shift : 1'h0; // @[JtagTap.scala 252:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295724.6 JtagTap.scala 254:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295727.6]
+  assign dmiAccessChain_io_chainIn_data = _T_155 ? JtagTapController_io_dataChainOut_data : 1'h0; // @[JtagTap.scala 252:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295724.6 JtagTap.scala 254:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295727.6]
+  assign dmiAccessChain_io_chainIn_capture = _T_155 ? JtagTapController_io_dataChainOut_capture : 1'h0; // @[JtagTap.scala 252:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295724.6 JtagTap.scala 254:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295727.6]
+  assign dmiAccessChain_io_chainIn_update = _T_155 ? JtagTapController_io_dataChainOut_update : 1'h0; // @[JtagTap.scala 252:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295724.6 JtagTap.scala 254:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295727.6]
+  assign dmiAccessChain_io_capture_bits_addr = busy ? 7'h0 : _T_63_addr; // @[DebugTransport.scala 195:34:shc.marmotcaravel.MarmotCaravelConfig.fir@295557.4]
+  assign dmiAccessChain_io_capture_bits_data = busy ? 32'h0 : _T_63_data; // @[DebugTransport.scala 195:34:shc.marmotcaravel.MarmotCaravelConfig.fir@295557.4]
+  assign dmiAccessChain_io_capture_bits_resp = busy ? 2'h3 : _T_63_resp; // @[DebugTransport.scala 195:34:shc.marmotcaravel.MarmotCaravelConfig.fir@295557.4]
+  assign idcodeChain_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295647.4]
+  assign idcodeChain_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295648.4]
+  assign idcodeChain_io_chainIn_shift = _T_153 ? JtagTapController_io_dataChainOut_shift : 1'h0; // @[JtagTap.scala 252:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295712.6 JtagTap.scala 254:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295715.6]
+  assign idcodeChain_io_chainIn_data = _T_153 ? JtagTapController_io_dataChainOut_data : 1'h0; // @[JtagTap.scala 252:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295712.6 JtagTap.scala 254:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295715.6]
+  assign idcodeChain_io_chainIn_capture = _T_153 ? JtagTapController_io_dataChainOut_capture : 1'h0; // @[JtagTap.scala 252:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295712.6 JtagTap.scala 254:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295715.6]
+  assign idcodeChain_io_chainIn_update = _T_153 ? JtagTapController_io_dataChainOut_update : 1'h0; // @[JtagTap.scala 252:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295712.6 JtagTap.scala 254:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295715.6]
+  assign JtagTapController_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295678.4]
+  assign JtagTapController_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295679.4]
+  assign JtagTapController_io_jtag_TMS = io_jtag_TMS; // @[JtagTap.scala 260:32:shc.marmotcaravel.MarmotCaravelConfig.fir@295729.4]
+  assign JtagTapController_io_jtag_TDI = io_jtag_TDI; // @[JtagTap.scala 260:32:shc.marmotcaravel.MarmotCaravelConfig.fir@295729.4]
+  assign JtagTapController_io_control_jtag_reset = io_jtag_reset; // @[JtagTap.scala 261:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295730.4]
+  assign JtagTapController_io_dataChainIn_data = _T_153 ? idcodeChain_io_chainOut_data : _GEN_39; // @[JtagTap.scala 240:43:shc.marmotcaravel.MarmotCaravelConfig.fir@295698.8 JtagTap.scala 240:43:shc.marmotcaravel.MarmotCaravelConfig.fir@295702.10 JtagTap.scala 240:43:shc.marmotcaravel.MarmotCaravelConfig.fir@295706.12 JtagTap.scala 246:41:shc.marmotcaravel.MarmotCaravelConfig.fir@295709.12]
+  assign JtagBypassChain_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295688.4]
+  assign JtagBypassChain_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295689.4]
+  assign JtagBypassChain_io_chainIn_shift = JtagTapController_io_dataChainOut_shift; // @[JtagTap.scala 218:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295690.4]
+  assign JtagBypassChain_io_chainIn_data = JtagTapController_io_dataChainOut_data; // @[JtagTap.scala 218:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295690.4]
+  assign JtagBypassChain_io_chainIn_capture = JtagTapController_io_dataChainOut_capture; // @[JtagTap.scala 218:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295690.4]
+  assign JtagBypassChain_io_chainIn_update = JtagTapController_io_dataChainOut_update; // @[JtagTap.scala 218:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295690.4]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  busyReg = _RAND_0[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  stickyBusyReg = _RAND_1[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  stickyNonzeroRespReg = _RAND_2[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  skipOpReg = _RAND_3[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_4 = {1{`RANDOM}};
+  downgradeOpReg = _RAND_4[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_5 = {1{`RANDOM}};
+  dmiReqReg_addr = _RAND_5[6:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {1{`RANDOM}};
+  dmiReqReg_data = _RAND_6[31:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {1{`RANDOM}};
+  dmiReqReg_op = _RAND_7[1:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_8 = {1{`RANDOM}};
+  dmiReqValidReg = _RAND_8[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      busyReg <= 1'h0;
+    end else begin
+      if (_T_45) begin
+        busyReg <= 1'h0;
+      end else begin
+        if (io_dmi_req_valid) begin
+          busyReg <= 1'h1;
+        end
+      end
+    end
+    if (reset) begin
+      stickyBusyReg <= 1'h0;
+    end else begin
+      if (dmiAccessChain_io_capture_capture) begin
+        stickyBusyReg <= busy;
+      end else begin
+        if (dtmInfoChain_io_update_valid) begin
+          if (dtmInfoChain_io_update_bits_dmireset) begin
+            stickyBusyReg <= 1'h0;
+          end else begin
+            if (dmiAccessChain_io_capture_capture) begin
+              stickyBusyReg <= busy;
+            end
+          end
+        end else begin
+          if (dmiAccessChain_io_capture_capture) begin
+            stickyBusyReg <= busy;
+          end
+        end
+      end
+    end
+    if (reset) begin
+      stickyNonzeroRespReg <= 1'h0;
+    end else begin
+      if (dmiAccessChain_io_capture_capture) begin
+        stickyNonzeroRespReg <= nonzeroResp;
+      end else begin
+        if (dtmInfoChain_io_update_valid) begin
+          if (dtmInfoChain_io_update_bits_dmireset) begin
+            stickyNonzeroRespReg <= 1'h0;
+          end else begin
+            if (dmiAccessChain_io_capture_capture) begin
+              stickyNonzeroRespReg <= nonzeroResp;
+            end
+          end
+        end else begin
+          if (dmiAccessChain_io_capture_capture) begin
+            stickyNonzeroRespReg <= nonzeroResp;
+          end
+        end
+      end
+    end
+    if (reset) begin
+      skipOpReg <= 1'h0;
+    end else begin
+      if (dmiAccessChain_io_capture_capture) begin
+        skipOpReg <= busy;
+      end else begin
+        if (dmiAccessChain_io_update_valid) begin
+          skipOpReg <= 1'h0;
+        end else begin
+          if (dmiAccessChain_io_capture_capture) begin
+            skipOpReg <= busy;
+          end else begin
+            if (dmiAccessChain_io_update_valid) begin
+              skipOpReg <= 1'h0;
+            end
+          end
+        end
+      end
+    end
+    if (reset) begin
+      downgradeOpReg <= 1'h0;
+    end else begin
+      if (dmiAccessChain_io_capture_capture) begin
+        downgradeOpReg <= _T_50;
+      end else begin
+        if (dmiAccessChain_io_update_valid) begin
+          downgradeOpReg <= 1'h0;
+        end else begin
+          if (dmiAccessChain_io_capture_capture) begin
+            downgradeOpReg <= _T_50;
+          end else begin
+            if (dmiAccessChain_io_update_valid) begin
+              downgradeOpReg <= 1'h0;
+            end
+          end
+        end
+      end
+    end
+    if (dmiAccessChain_io_update_valid) begin
+      if (!(skipOpReg)) begin
+        if (_T_75) begin
+          dmiReqReg_addr <= 7'h0;
+        end else begin
+          dmiReqReg_addr <= dmiAccessChain_io_update_bits_addr;
+        end
+      end
+    end
+    if (dmiAccessChain_io_update_valid) begin
+      if (!(skipOpReg)) begin
+        if (_T_75) begin
+          dmiReqReg_data <= 32'h0;
+        end else begin
+          dmiReqReg_data <= dmiAccessChain_io_update_bits_data;
+        end
+      end
+    end
+    if (dmiAccessChain_io_update_valid) begin
+      if (!(skipOpReg)) begin
+        if (_T_75) begin
+          dmiReqReg_op <= 2'h0;
+        end else begin
+          dmiReqReg_op <= dmiAccessChain_io_update_bits_op;
+        end
+      end
+    end
+    if (reset) begin
+      dmiReqValidReg <= 1'h0;
+    end else begin
+      if (_T_68) begin
+        dmiReqValidReg <= 1'h0;
+      end else begin
+        if (dmiAccessChain_io_update_valid) begin
+          if (!(skipOpReg)) begin
+            if (!(_T_75)) begin
+              dmiReqValidReg <= 1'h1;
+            end
+          end
+        end
+      end
+    end
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_57) begin
+          $fwrite(32'h80000002,"Assertion failed: There is no reason to get a non zero response in the current system.\n    at DebugTransport.scala:177 assert(!nonzeroResp, \"There is no reason to get a non zero response in the current system.\");\n"); // @[DebugTransport.scala 177:9:shc.marmotcaravel.MarmotCaravelConfig.fir@295534.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_57) begin
+          $fatal; // @[DebugTransport.scala 177:9:shc.marmotcaravel.MarmotCaravelConfig.fir@295535.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_61) begin
+          $fwrite(32'h80000002,"Assertion failed: There is no reason to have a sticky non zero response in the current system.\n    at DebugTransport.scala:178 assert(!stickyNonzeroRespReg, \"There is no reason to have a sticky non zero response in the current system.\");\n"); // @[DebugTransport.scala 178:9:shc.marmotcaravel.MarmotCaravelConfig.fir@295542.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_61) begin
+          $fatal; // @[DebugTransport.scala 178:9:shc.marmotcaravel.MarmotCaravelConfig.fir@295543.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_73) begin
+          $fwrite(32'h80000002,"Assertion failed: Conflicting updates for dmiReqValidReg, should not happen.\n    at DebugTransport.scala:211 assert(!(dmiReqValidCheck && io.dmi.req.fire()), \"Conflicting updates for dmiReqValidReg, should not happen.\");\n"); // @[DebugTransport.scala 211:9:shc.marmotcaravel.MarmotCaravelConfig.fir@295580.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_73) begin
+          $fatal; // @[DebugTransport.scala 211:9:shc.marmotcaravel.MarmotCaravelConfig.fir@295581.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_140) begin
+          $fwrite(32'h80000002,"Assertion failed: LSB must be set in IDCODE, see 12.1.1d\n    at JtagTap.scala:192 assert(i %% 2.U === 1.U, \"LSB must be set in IDCODE, see 12.1.1d\")\n"); // @[JtagTap.scala 192:15:shc.marmotcaravel.MarmotCaravelConfig.fir@295658.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_140) begin
+          $fatal; // @[JtagTap.scala 192:15:shc.marmotcaravel.MarmotCaravelConfig.fir@295659.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_150) begin
+          $fwrite(32'h80000002,"Assertion failed: IDCODE must not have 0b00001111111 as manufacturer identity, see 12.2.1b\n    at JtagTap.scala:193 assert(((i >> 1) & ((1.U << 11) - 1.U)) =/= JtagIdcode.dummyMfrId.U,\n"); // @[JtagTap.scala 193:15:shc.marmotcaravel.MarmotCaravelConfig.fir@295672.6]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_150) begin
+          $fatal; // @[JtagTap.scala 193:15:shc.marmotcaravel.MarmotCaravelConfig.fir@295673.6]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+endmodule
+module MarmotCaravelSystem( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295895.2]
+  input   clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295896.4]
+  input   reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295897.4]
+  input   debug_systemjtag_jtag_TCK, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295899.4]
+  input   debug_systemjtag_jtag_TMS, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295899.4]
+  input   debug_systemjtag_jtag_TDI, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295899.4]
+  output  debug_systemjtag_jtag_TDO_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295899.4]
+  output  debug_systemjtag_jtag_TDO_driven, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295899.4]
+  input   debug_systemjtag_reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295899.4]
+  output  uart_0_txd, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295900.4]
+  input   uart_0_rxd, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295900.4]
+  output  uart_1_txd, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295901.4]
+  input   uart_1_rxd, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295901.4]
+  output  uart_2_txd, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295902.4]
+  input   uart_2_rxd, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295902.4]
+  output  uart_3_txd, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295903.4]
+  input   uart_3_rxd, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295903.4]
+  output  uart_4_txd, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295904.4]
+  input   uart_4_rxd, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295904.4]
+  output  spi_0_sck, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295905.4]
+  input   spi_0_dq_0_i, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295905.4]
+  output  spi_0_dq_0_o, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295905.4]
+  output  spi_0_dq_0_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295905.4]
+  input   spi_0_dq_1_i, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295905.4]
+  output  spi_0_dq_1_o, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295905.4]
+  output  spi_0_dq_1_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295905.4]
+  input   spi_0_dq_2_i, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295905.4]
+  output  spi_0_dq_2_o, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295905.4]
+  output  spi_0_dq_2_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295905.4]
+  input   spi_0_dq_3_i, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295905.4]
+  output  spi_0_dq_3_o, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295905.4]
+  output  spi_0_dq_3_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295905.4]
+  output  spi_0_cs_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295905.4]
+  output  spi_0_cs_1, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295905.4]
+  output  spi_1_sck, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295906.4]
+  input   spi_1_dq_0_i, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295906.4]
+  output  spi_1_dq_0_o, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295906.4]
+  output  spi_1_dq_0_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295906.4]
+  input   spi_1_dq_1_i, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295906.4]
+  output  spi_1_dq_1_o, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295906.4]
+  output  spi_1_dq_1_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295906.4]
+  input   spi_1_dq_2_i, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295906.4]
+  output  spi_1_dq_2_o, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295906.4]
+  output  spi_1_dq_2_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295906.4]
+  input   spi_1_dq_3_i, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295906.4]
+  output  spi_1_dq_3_o, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295906.4]
+  output  spi_1_dq_3_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295906.4]
+  output  spi_1_cs_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295906.4]
+  input   gpio_0_pins_0_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  output  gpio_0_pins_0_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  output  gpio_0_pins_0_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  output  gpio_0_pins_0_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  input   gpio_0_pins_1_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  output  gpio_0_pins_1_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  output  gpio_0_pins_1_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  output  gpio_0_pins_1_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  input   gpio_0_pins_2_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  output  gpio_0_pins_2_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  output  gpio_0_pins_2_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  output  gpio_0_pins_2_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  input   gpio_0_pins_3_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  output  gpio_0_pins_3_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  output  gpio_0_pins_3_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  output  gpio_0_pins_3_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  input   gpio_0_pins_4_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  output  gpio_0_pins_4_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  output  gpio_0_pins_4_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  output  gpio_0_pins_4_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  input   gpio_0_pins_5_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  output  gpio_0_pins_5_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  output  gpio_0_pins_5_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  output  gpio_0_pins_5_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  input   gpio_0_pins_6_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  output  gpio_0_pins_6_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  output  gpio_0_pins_6_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  output  gpio_0_pins_6_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  input   gpio_0_pins_7_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  output  gpio_0_pins_7_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  output  gpio_0_pins_7_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  output  gpio_0_pins_7_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  input   gpio_0_pins_8_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  output  gpio_0_pins_8_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  output  gpio_0_pins_8_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  output  gpio_0_pins_8_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  input   gpio_0_pins_9_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  output  gpio_0_pins_9_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  output  gpio_0_pins_9_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  output  gpio_0_pins_9_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  input   gpio_0_pins_10_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  output  gpio_0_pins_10_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  output  gpio_0_pins_10_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  output  gpio_0_pins_10_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  input   gpio_0_pins_11_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  output  gpio_0_pins_11_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  output  gpio_0_pins_11_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  output  gpio_0_pins_11_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  input   gpio_0_pins_12_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  output  gpio_0_pins_12_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  output  gpio_0_pins_12_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  output  gpio_0_pins_12_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  input   gpio_0_pins_13_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  output  gpio_0_pins_13_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  output  gpio_0_pins_13_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  output  gpio_0_pins_13_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  input   gpio_0_pins_14_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  output  gpio_0_pins_14_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  output  gpio_0_pins_14_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  output  gpio_0_pins_14_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  input   gpio_0_pins_15_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  output  gpio_0_pins_15_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  output  gpio_0_pins_15_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  output  gpio_0_pins_15_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  input   gpio_0_pins_16_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  output  gpio_0_pins_16_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  output  gpio_0_pins_16_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  output  gpio_0_pins_16_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  input   gpio_0_pins_17_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  output  gpio_0_pins_17_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  output  gpio_0_pins_17_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  output  gpio_0_pins_17_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  input   gpio_0_pins_18_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  output  gpio_0_pins_18_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  output  gpio_0_pins_18_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  output  gpio_0_pins_18_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  input   gpio_0_pins_19_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  output  gpio_0_pins_19_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  output  gpio_0_pins_19_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  output  gpio_0_pins_19_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  input   gpio_0_pins_20_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  output  gpio_0_pins_20_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  output  gpio_0_pins_20_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  output  gpio_0_pins_20_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  input   gpio_0_pins_21_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  output  gpio_0_pins_21_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  output  gpio_0_pins_21_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  output  gpio_0_pins_21_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  input   gpio_0_pins_22_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  output  gpio_0_pins_22_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  output  gpio_0_pins_22_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  output  gpio_0_pins_22_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  input   gpio_0_pins_23_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  output  gpio_0_pins_23_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  output  gpio_0_pins_23_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  output  gpio_0_pins_23_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  input   gpio_0_pins_24_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  output  gpio_0_pins_24_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  output  gpio_0_pins_24_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  output  gpio_0_pins_24_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  input   gpio_0_iof_0_0_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  input   gpio_0_iof_0_1_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  output  gpio_0_iof_0_2_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  input   gpio_0_iof_0_2_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  input   gpio_0_iof_0_2_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  input   gpio_0_iof_0_2_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  output  gpio_0_iof_0_3_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  input   gpio_0_iof_0_3_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  input   gpio_0_iof_0_3_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  input   gpio_0_iof_0_3_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  output  gpio_0_iof_0_4_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  input   gpio_0_iof_0_4_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  input   gpio_0_iof_0_4_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  input   gpio_0_iof_0_4_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  output  gpio_0_iof_0_5_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  input   gpio_0_iof_0_5_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  input   gpio_0_iof_0_5_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  input   gpio_0_iof_0_5_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  input   gpio_0_iof_0_6_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  input   gpio_0_iof_0_7_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  output  gpio_0_iof_0_8_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  input   gpio_0_iof_0_8_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  input   gpio_0_iof_0_8_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  input   gpio_0_iof_0_8_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  output  gpio_0_iof_0_9_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  input   gpio_0_iof_0_9_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  input   gpio_0_iof_0_9_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  input   gpio_0_iof_0_9_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  output  gpio_0_iof_0_10_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  input   gpio_0_iof_0_10_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  input   gpio_0_iof_0_10_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  input   gpio_0_iof_0_10_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  output  gpio_0_iof_0_11_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  input   gpio_0_iof_0_11_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  input   gpio_0_iof_0_11_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  input   gpio_0_iof_0_11_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  output  gpio_0_iof_0_12_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  input   gpio_0_iof_0_12_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  output  gpio_0_iof_0_13_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  input   gpio_0_iof_0_13_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  output  gpio_0_iof_0_14_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  input   gpio_0_iof_0_14_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  output  gpio_0_iof_0_15_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  input   gpio_0_iof_0_15_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  output  gpio_0_iof_0_16_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  input   gpio_0_iof_0_17_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  output  gpio_0_iof_0_18_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  input   gpio_0_iof_0_19_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  output  gpio_0_iof_0_20_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  input   gpio_0_iof_0_21_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  output  gpio_0_iof_0_22_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  input   gpio_0_iof_0_23_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  input   gpio_0_iof_0_24_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
+  output  qspi_0_sck, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295908.4]
+  input   qspi_0_dq_0_i, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295908.4]
+  output  qspi_0_dq_0_o, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295908.4]
+  output  qspi_0_dq_0_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295908.4]
+  input   qspi_0_dq_1_i, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295908.4]
+  output  qspi_0_dq_1_o, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295908.4]
+  output  qspi_0_dq_1_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295908.4]
+  input   qspi_0_dq_2_i, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295908.4]
+  output  qspi_0_dq_2_o, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295908.4]
+  output  qspi_0_dq_2_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295908.4]
+  input   qspi_0_dq_3_i, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295908.4]
+  output  qspi_0_dq_3_o, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295908.4]
+  output  qspi_0_dq_3_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295908.4]
+  output  qspi_0_cs_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295908.4]
+  input   aon_pins_erst_n_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295909.4]
+  input   aon_pins_lfextclk_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295909.4]
+  output  aon_rsts_corerst, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295909.4]
+  input   i2c_0_scl_in, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295910.4]
+  output  i2c_0_scl_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295910.4]
+  input   i2c_0_sda_in, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295910.4]
+  output  i2c_0_sda_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295910.4]
+  input   i2c_1_scl_in, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295911.4]
+  output  i2c_1_scl_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295911.4]
+  input   i2c_1_sda_in, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295911.4]
+  output  i2c_1_sda_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295911.4]
+  output [11:0] data_arrays_0_ext_RW0_addr,
+  output  data_arrays_0_ext_RW0_en,
+  output  data_arrays_0_ext_RW0_clk,
+  output  data_arrays_0_ext_RW0_wmode,
+  output [31:0] data_arrays_0_ext_RW0_wdata,
+  input  [31:0] data_arrays_0_ext_RW0_rdata,
+  output [3:0] data_arrays_0_ext_RW0_wmask,
+  output [6:0] tag_array_ext_RW0_addr,
+  output  tag_array_ext_RW0_en,
+  output  tag_array_ext_RW0_clk,
+  output  tag_array_ext_RW0_wmode,
+  output [39:0] tag_array_ext_RW0_wdata,
+  input  [39:0] tag_array_ext_RW0_rdata,
+  output [1:0] tag_array_ext_RW0_wmask,
+  output [10:0] data_arrays_0_0_ext_RW0_addr,
+  output  data_arrays_0_0_ext_RW0_en,
+  output  data_arrays_0_0_ext_RW0_clk,
+  output  data_arrays_0_0_ext_RW0_wmode,
+  output [63:0] data_arrays_0_0_ext_RW0_wdata,
+  input  [63:0] data_arrays_0_0_ext_RW0_rdata,
+  output [1:0] data_arrays_0_0_ext_RW0_wmask
+);
+  wire  int_bus_auto_int_in_11_0; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
+  wire  int_bus_auto_int_in_10_0; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
+  wire  int_bus_auto_int_in_9_0; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
+  wire  int_bus_auto_int_in_9_1; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
+  wire  int_bus_auto_int_in_9_2; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
+  wire  int_bus_auto_int_in_9_3; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
+  wire  int_bus_auto_int_in_9_4; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
+  wire  int_bus_auto_int_in_9_5; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
+  wire  int_bus_auto_int_in_9_6; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
+  wire  int_bus_auto_int_in_9_7; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
+  wire  int_bus_auto_int_in_9_8; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
+  wire  int_bus_auto_int_in_9_9; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
+  wire  int_bus_auto_int_in_9_10; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
+  wire  int_bus_auto_int_in_9_11; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
+  wire  int_bus_auto_int_in_9_12; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
+  wire  int_bus_auto_int_in_9_13; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
+  wire  int_bus_auto_int_in_9_14; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
+  wire  int_bus_auto_int_in_9_15; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
+  wire  int_bus_auto_int_in_9_16; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
+  wire  int_bus_auto_int_in_9_17; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
+  wire  int_bus_auto_int_in_9_18; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
+  wire  int_bus_auto_int_in_9_19; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
+  wire  int_bus_auto_int_in_9_20; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
+  wire  int_bus_auto_int_in_9_21; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
+  wire  int_bus_auto_int_in_9_22; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
+  wire  int_bus_auto_int_in_9_23; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
+  wire  int_bus_auto_int_in_9_24; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
+  wire  int_bus_auto_int_in_9_25; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
+  wire  int_bus_auto_int_in_9_26; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
+  wire  int_bus_auto_int_in_9_27; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
+  wire  int_bus_auto_int_in_9_28; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
+  wire  int_bus_auto_int_in_9_29; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
+  wire  int_bus_auto_int_in_9_30; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
+  wire  int_bus_auto_int_in_9_31; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
+  wire  int_bus_auto_int_in_8_0; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
+  wire  int_bus_auto_int_in_7_0; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
+  wire  int_bus_auto_int_in_6_0; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
+  wire  int_bus_auto_int_in_5_0; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
+  wire  int_bus_auto_int_in_4_0; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
+  wire  int_bus_auto_int_in_3_0; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
+  wire  int_bus_auto_int_in_2_0; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
+  wire  int_bus_auto_int_in_1_0; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
+  wire  int_bus_auto_int_in_0_0; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
+  wire  int_bus_auto_int_in_0_1; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
+  wire  int_bus_auto_int_out_0; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
+  wire  int_bus_auto_int_out_1; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
+  wire  int_bus_auto_int_out_2; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
+  wire  int_bus_auto_int_out_3; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
+  wire  int_bus_auto_int_out_4; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
+  wire  int_bus_auto_int_out_5; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
+  wire  int_bus_auto_int_out_6; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
+  wire  int_bus_auto_int_out_7; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
+  wire  int_bus_auto_int_out_8; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
+  wire  int_bus_auto_int_out_9; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
+  wire  int_bus_auto_int_out_10; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
+  wire  int_bus_auto_int_out_11; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
+  wire  int_bus_auto_int_out_12; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
+  wire  int_bus_auto_int_out_13; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
+  wire  int_bus_auto_int_out_14; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
+  wire  int_bus_auto_int_out_15; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
+  wire  int_bus_auto_int_out_16; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
+  wire  int_bus_auto_int_out_17; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
+  wire  int_bus_auto_int_out_18; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
+  wire  int_bus_auto_int_out_19; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
+  wire  int_bus_auto_int_out_20; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
+  wire  int_bus_auto_int_out_21; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
+  wire  int_bus_auto_int_out_22; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
+  wire  int_bus_auto_int_out_23; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
+  wire  int_bus_auto_int_out_24; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
+  wire  int_bus_auto_int_out_25; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
+  wire  int_bus_auto_int_out_26; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
+  wire  int_bus_auto_int_out_27; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
+  wire  int_bus_auto_int_out_28; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
+  wire  int_bus_auto_int_out_29; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
+  wire  int_bus_auto_int_out_30; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
+  wire  int_bus_auto_int_out_31; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
+  wire  int_bus_auto_int_out_32; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
+  wire  int_bus_auto_int_out_33; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
+  wire  int_bus_auto_int_out_34; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
+  wire  int_bus_auto_int_out_35; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
+  wire  int_bus_auto_int_out_36; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
+  wire  int_bus_auto_int_out_37; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
+  wire  int_bus_auto_int_out_38; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
+  wire  int_bus_auto_int_out_39; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
+  wire  int_bus_auto_int_out_40; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
+  wire  int_bus_auto_int_out_41; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
+  wire  int_bus_auto_int_out_42; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
+  wire  int_bus_auto_int_out_43; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
+  wire  sbus_clock; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire  sbus_reset; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire  sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_a_ready; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire  sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_a_valid; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire [2:0] sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_a_bits_opcode; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire [2:0] sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_a_bits_param; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire [3:0] sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_a_bits_size; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire  sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_a_bits_source; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire [31:0] sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_a_bits_address; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire [3:0] sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_a_bits_mask; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire [31:0] sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_a_bits_data; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire  sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_a_bits_corrupt; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire  sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_d_ready; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire  sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_d_valid; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire [2:0] sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_d_bits_opcode; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire [1:0] sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_d_bits_param; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire [3:0] sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_d_bits_size; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire  sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_d_bits_source; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire  sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_d_bits_sink; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire  sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_d_bits_denied; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire [31:0] sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_d_bits_data; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire  sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_d_bits_corrupt; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire [2:0] sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_a_mem_0_opcode; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire [2:0] sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_a_mem_0_param; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire [1:0] sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_a_mem_0_size; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire [5:0] sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_a_mem_0_source; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire [28:0] sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_a_mem_0_address; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire [3:0] sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_a_mem_0_mask; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire [31:0] sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_a_mem_0_data; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire  sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_a_mem_0_corrupt; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire  sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_a_ridx; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire  sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_a_widx; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire  sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_a_safe_ridx_valid; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire  sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_a_safe_widx_valid; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire  sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_a_safe_source_reset_n; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire  sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_a_safe_sink_reset_n; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire [2:0] sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_d_mem_0_opcode; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire [1:0] sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_d_mem_0_param; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire [1:0] sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_d_mem_0_size; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire [5:0] sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_d_mem_0_source; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire  sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_d_mem_0_sink; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire  sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_d_mem_0_denied; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire [31:0] sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_d_mem_0_data; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire  sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_d_mem_0_corrupt; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire  sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_d_ridx; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire  sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_d_widx; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire  sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_d_safe_ridx_valid; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire  sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_d_safe_widx_valid; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire  sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_d_safe_source_reset_n; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire  sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_d_safe_sink_reset_n; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire  sbus_auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_a_ready; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire  sbus_auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_a_valid; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire [2:0] sbus_auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_opcode; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire [2:0] sbus_auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_param; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire [1:0] sbus_auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_size; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire [5:0] sbus_auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_source; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire [16:0] sbus_auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_address; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire [3:0] sbus_auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_mask; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire  sbus_auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_corrupt; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire  sbus_auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_d_ready; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire  sbus_auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_d_valid; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire [1:0] sbus_auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_d_bits_size; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire [5:0] sbus_auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_d_bits_source; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire [31:0] sbus_auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_d_bits_data; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire  sbus_auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_ready; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire  sbus_auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_valid; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire [2:0] sbus_auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_opcode; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire [2:0] sbus_auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_param; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire [2:0] sbus_auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_size; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire  sbus_auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_source; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire [31:0] sbus_auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_address; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire [3:0] sbus_auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_mask; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire [31:0] sbus_auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_data; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire  sbus_auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_corrupt; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire  sbus_auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_ready; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire  sbus_auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_valid; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire [2:0] sbus_auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_opcode; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire [1:0] sbus_auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_param; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire [2:0] sbus_auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_size; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire  sbus_auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_source; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire  sbus_auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_sink; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire  sbus_auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_denied; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire [31:0] sbus_auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_data; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire  sbus_auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_corrupt; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire  sbus_auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_ready; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire  sbus_auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_valid; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire [2:0] sbus_auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_bits_opcode; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire [2:0] sbus_auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_bits_param; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire [1:0] sbus_auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_bits_size; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire [5:0] sbus_auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_bits_source; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire [11:0] sbus_auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_bits_address; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire [3:0] sbus_auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_bits_mask; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire [31:0] sbus_auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_bits_data; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire  sbus_auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_bits_corrupt; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire  sbus_auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_d_ready; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire  sbus_auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_d_valid; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire [2:0] sbus_auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_d_bits_opcode; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire [1:0] sbus_auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_d_bits_size; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire [5:0] sbus_auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_d_bits_source; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire [31:0] sbus_auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_d_bits_data; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire  sbus_auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_ready; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire  sbus_auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_valid; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire [2:0] sbus_auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_bits_opcode; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire [2:0] sbus_auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_bits_param; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire [1:0] sbus_auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_bits_size; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire [5:0] sbus_auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_bits_source; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire [25:0] sbus_auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_bits_address; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire [3:0] sbus_auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_bits_mask; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire [31:0] sbus_auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_bits_data; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire  sbus_auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_bits_corrupt; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire  sbus_auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_d_ready; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire  sbus_auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_d_valid; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire [2:0] sbus_auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_d_bits_opcode; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire [1:0] sbus_auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_d_bits_size; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire [5:0] sbus_auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_d_bits_source; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire [31:0] sbus_auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_d_bits_data; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire  sbus_auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_ready; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire  sbus_auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_valid; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire [2:0] sbus_auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_bits_opcode; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire [2:0] sbus_auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_bits_param; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire [1:0] sbus_auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_bits_size; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire [5:0] sbus_auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_bits_source; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire [27:0] sbus_auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_bits_address; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire [3:0] sbus_auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_bits_mask; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire [31:0] sbus_auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_bits_data; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire  sbus_auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_bits_corrupt; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire  sbus_auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_d_ready; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire  sbus_auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_d_valid; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire [2:0] sbus_auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_d_bits_opcode; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire [1:0] sbus_auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_d_bits_size; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire [5:0] sbus_auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_d_bits_source; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire [31:0] sbus_auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_d_bits_data; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire  sbus_auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_ready; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire  sbus_auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_valid; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire [2:0] sbus_auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_bits_opcode; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire [2:0] sbus_auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_bits_param; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire [3:0] sbus_auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_bits_size; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire  sbus_auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_bits_source; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire [29:0] sbus_auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_bits_address; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire [3:0] sbus_auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_bits_mask; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire [31:0] sbus_auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_bits_data; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire  sbus_auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_bits_corrupt; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire  sbus_auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_ready; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire  sbus_auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_valid; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire [2:0] sbus_auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_bits_opcode; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire [1:0] sbus_auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_bits_param; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire [3:0] sbus_auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_bits_size; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire  sbus_auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_bits_source; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire  sbus_auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_bits_sink; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire  sbus_auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_bits_denied; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire [31:0] sbus_auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_bits_data; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire  sbus_auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_bits_corrupt; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+  wire  pbus_clock; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire  pbus_reset; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire  pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_a_ready; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire  pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_a_valid; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [2:0] pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_a_bits_opcode; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [2:0] pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_a_bits_param; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [1:0] pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_a_bits_size; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [5:0] pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_a_bits_source; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [28:0] pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_a_bits_address; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [3:0] pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_a_bits_mask; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [31:0] pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_a_bits_data; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire  pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_a_bits_corrupt; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire  pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_d_ready; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire  pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_d_valid; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [2:0] pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_d_bits_opcode; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [1:0] pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_d_bits_size; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [5:0] pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_d_bits_source; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [31:0] pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_d_bits_data; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire  pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_a_ready; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire  pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_a_valid; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [2:0] pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_a_bits_opcode; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [2:0] pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_a_bits_param; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [1:0] pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_a_bits_size; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [5:0] pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_a_bits_source; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [28:0] pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_a_bits_address; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [3:0] pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_a_bits_mask; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [31:0] pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_a_bits_data; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire  pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_a_bits_corrupt; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire  pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_d_ready; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire  pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_d_valid; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [2:0] pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_d_bits_opcode; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [1:0] pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_d_bits_size; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [5:0] pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_d_bits_source; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [31:0] pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_d_bits_data; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire  pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_a_ready; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire  pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_a_valid; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [2:0] pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_a_bits_opcode; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [2:0] pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_a_bits_param; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [1:0] pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_a_bits_size; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [5:0] pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_a_bits_source; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [28:0] pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_a_bits_address; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [3:0] pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_a_bits_mask; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [31:0] pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_a_bits_data; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire  pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_a_bits_corrupt; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire  pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_d_ready; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire  pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_d_valid; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [2:0] pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_d_bits_opcode; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [1:0] pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_d_bits_size; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [5:0] pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_d_bits_source; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [31:0] pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_d_bits_data; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire  pbus_auto_coupler_to_device_named_spi_1_control_xing_out_a_ready; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire  pbus_auto_coupler_to_device_named_spi_1_control_xing_out_a_valid; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [2:0] pbus_auto_coupler_to_device_named_spi_1_control_xing_out_a_bits_opcode; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [2:0] pbus_auto_coupler_to_device_named_spi_1_control_xing_out_a_bits_param; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [1:0] pbus_auto_coupler_to_device_named_spi_1_control_xing_out_a_bits_size; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [5:0] pbus_auto_coupler_to_device_named_spi_1_control_xing_out_a_bits_source; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [28:0] pbus_auto_coupler_to_device_named_spi_1_control_xing_out_a_bits_address; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [3:0] pbus_auto_coupler_to_device_named_spi_1_control_xing_out_a_bits_mask; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [31:0] pbus_auto_coupler_to_device_named_spi_1_control_xing_out_a_bits_data; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire  pbus_auto_coupler_to_device_named_spi_1_control_xing_out_a_bits_corrupt; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire  pbus_auto_coupler_to_device_named_spi_1_control_xing_out_d_ready; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire  pbus_auto_coupler_to_device_named_spi_1_control_xing_out_d_valid; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [2:0] pbus_auto_coupler_to_device_named_spi_1_control_xing_out_d_bits_opcode; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [1:0] pbus_auto_coupler_to_device_named_spi_1_control_xing_out_d_bits_size; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [5:0] pbus_auto_coupler_to_device_named_spi_1_control_xing_out_d_bits_source; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [31:0] pbus_auto_coupler_to_device_named_spi_1_control_xing_out_d_bits_data; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire  pbus_auto_coupler_to_device_named_spi_0_control_xing_out_a_ready; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire  pbus_auto_coupler_to_device_named_spi_0_control_xing_out_a_valid; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [2:0] pbus_auto_coupler_to_device_named_spi_0_control_xing_out_a_bits_opcode; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [2:0] pbus_auto_coupler_to_device_named_spi_0_control_xing_out_a_bits_param; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [1:0] pbus_auto_coupler_to_device_named_spi_0_control_xing_out_a_bits_size; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [5:0] pbus_auto_coupler_to_device_named_spi_0_control_xing_out_a_bits_source; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [28:0] pbus_auto_coupler_to_device_named_spi_0_control_xing_out_a_bits_address; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [3:0] pbus_auto_coupler_to_device_named_spi_0_control_xing_out_a_bits_mask; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [31:0] pbus_auto_coupler_to_device_named_spi_0_control_xing_out_a_bits_data; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire  pbus_auto_coupler_to_device_named_spi_0_control_xing_out_a_bits_corrupt; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire  pbus_auto_coupler_to_device_named_spi_0_control_xing_out_d_ready; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire  pbus_auto_coupler_to_device_named_spi_0_control_xing_out_d_valid; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [2:0] pbus_auto_coupler_to_device_named_spi_0_control_xing_out_d_bits_opcode; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [1:0] pbus_auto_coupler_to_device_named_spi_0_control_xing_out_d_bits_size; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [5:0] pbus_auto_coupler_to_device_named_spi_0_control_xing_out_d_bits_source; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [31:0] pbus_auto_coupler_to_device_named_spi_0_control_xing_out_d_bits_data; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire  pbus_auto_coupler_to_mem_named_qspi_0_mem_xing_out_a_ready; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire  pbus_auto_coupler_to_mem_named_qspi_0_mem_xing_out_a_valid; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [2:0] pbus_auto_coupler_to_mem_named_qspi_0_mem_xing_out_a_bits_opcode; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [2:0] pbus_auto_coupler_to_mem_named_qspi_0_mem_xing_out_a_bits_param; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire  pbus_auto_coupler_to_mem_named_qspi_0_mem_xing_out_a_bits_size; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [7:0] pbus_auto_coupler_to_mem_named_qspi_0_mem_xing_out_a_bits_source; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [29:0] pbus_auto_coupler_to_mem_named_qspi_0_mem_xing_out_a_bits_address; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire  pbus_auto_coupler_to_mem_named_qspi_0_mem_xing_out_a_bits_mask; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire  pbus_auto_coupler_to_mem_named_qspi_0_mem_xing_out_a_bits_corrupt; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire  pbus_auto_coupler_to_mem_named_qspi_0_mem_xing_out_d_ready; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire  pbus_auto_coupler_to_mem_named_qspi_0_mem_xing_out_d_valid; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire  pbus_auto_coupler_to_mem_named_qspi_0_mem_xing_out_d_bits_size; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [7:0] pbus_auto_coupler_to_mem_named_qspi_0_mem_xing_out_d_bits_source; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [7:0] pbus_auto_coupler_to_mem_named_qspi_0_mem_xing_out_d_bits_data; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire  pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_a_ready; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire  pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_a_valid; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [2:0] pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_a_bits_opcode; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [2:0] pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_a_bits_param; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [1:0] pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_a_bits_size; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [5:0] pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_a_bits_source; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [28:0] pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_a_bits_address; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [3:0] pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_a_bits_mask; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [31:0] pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_a_bits_data; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire  pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_a_bits_corrupt; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire  pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_d_ready; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire  pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_d_valid; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [2:0] pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_d_bits_opcode; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [1:0] pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_d_bits_size; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [5:0] pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_d_bits_source; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [31:0] pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_d_bits_data; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire  pbus_auto_coupler_to_slave_named_uart_4_control_xing_out_a_ready; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire  pbus_auto_coupler_to_slave_named_uart_4_control_xing_out_a_valid; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [2:0] pbus_auto_coupler_to_slave_named_uart_4_control_xing_out_a_bits_opcode; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [2:0] pbus_auto_coupler_to_slave_named_uart_4_control_xing_out_a_bits_param; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [1:0] pbus_auto_coupler_to_slave_named_uart_4_control_xing_out_a_bits_size; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [5:0] pbus_auto_coupler_to_slave_named_uart_4_control_xing_out_a_bits_source; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [28:0] pbus_auto_coupler_to_slave_named_uart_4_control_xing_out_a_bits_address; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [3:0] pbus_auto_coupler_to_slave_named_uart_4_control_xing_out_a_bits_mask; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [31:0] pbus_auto_coupler_to_slave_named_uart_4_control_xing_out_a_bits_data; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire  pbus_auto_coupler_to_slave_named_uart_4_control_xing_out_a_bits_corrupt; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire  pbus_auto_coupler_to_slave_named_uart_4_control_xing_out_d_ready; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire  pbus_auto_coupler_to_slave_named_uart_4_control_xing_out_d_valid; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [2:0] pbus_auto_coupler_to_slave_named_uart_4_control_xing_out_d_bits_opcode; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [1:0] pbus_auto_coupler_to_slave_named_uart_4_control_xing_out_d_bits_size; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [5:0] pbus_auto_coupler_to_slave_named_uart_4_control_xing_out_d_bits_source; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [31:0] pbus_auto_coupler_to_slave_named_uart_4_control_xing_out_d_bits_data; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire  pbus_auto_coupler_to_slave_named_uart_3_control_xing_out_a_ready; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire  pbus_auto_coupler_to_slave_named_uart_3_control_xing_out_a_valid; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [2:0] pbus_auto_coupler_to_slave_named_uart_3_control_xing_out_a_bits_opcode; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [2:0] pbus_auto_coupler_to_slave_named_uart_3_control_xing_out_a_bits_param; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [1:0] pbus_auto_coupler_to_slave_named_uart_3_control_xing_out_a_bits_size; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [5:0] pbus_auto_coupler_to_slave_named_uart_3_control_xing_out_a_bits_source; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [28:0] pbus_auto_coupler_to_slave_named_uart_3_control_xing_out_a_bits_address; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [3:0] pbus_auto_coupler_to_slave_named_uart_3_control_xing_out_a_bits_mask; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [31:0] pbus_auto_coupler_to_slave_named_uart_3_control_xing_out_a_bits_data; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire  pbus_auto_coupler_to_slave_named_uart_3_control_xing_out_a_bits_corrupt; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire  pbus_auto_coupler_to_slave_named_uart_3_control_xing_out_d_ready; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire  pbus_auto_coupler_to_slave_named_uart_3_control_xing_out_d_valid; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [2:0] pbus_auto_coupler_to_slave_named_uart_3_control_xing_out_d_bits_opcode; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [1:0] pbus_auto_coupler_to_slave_named_uart_3_control_xing_out_d_bits_size; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [5:0] pbus_auto_coupler_to_slave_named_uart_3_control_xing_out_d_bits_source; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [31:0] pbus_auto_coupler_to_slave_named_uart_3_control_xing_out_d_bits_data; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire  pbus_auto_coupler_to_slave_named_uart_2_control_xing_out_a_ready; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire  pbus_auto_coupler_to_slave_named_uart_2_control_xing_out_a_valid; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [2:0] pbus_auto_coupler_to_slave_named_uart_2_control_xing_out_a_bits_opcode; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [2:0] pbus_auto_coupler_to_slave_named_uart_2_control_xing_out_a_bits_param; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [1:0] pbus_auto_coupler_to_slave_named_uart_2_control_xing_out_a_bits_size; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [5:0] pbus_auto_coupler_to_slave_named_uart_2_control_xing_out_a_bits_source; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [28:0] pbus_auto_coupler_to_slave_named_uart_2_control_xing_out_a_bits_address; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [3:0] pbus_auto_coupler_to_slave_named_uart_2_control_xing_out_a_bits_mask; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [31:0] pbus_auto_coupler_to_slave_named_uart_2_control_xing_out_a_bits_data; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire  pbus_auto_coupler_to_slave_named_uart_2_control_xing_out_a_bits_corrupt; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire  pbus_auto_coupler_to_slave_named_uart_2_control_xing_out_d_ready; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire  pbus_auto_coupler_to_slave_named_uart_2_control_xing_out_d_valid; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [2:0] pbus_auto_coupler_to_slave_named_uart_2_control_xing_out_d_bits_opcode; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [1:0] pbus_auto_coupler_to_slave_named_uart_2_control_xing_out_d_bits_size; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [5:0] pbus_auto_coupler_to_slave_named_uart_2_control_xing_out_d_bits_source; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [31:0] pbus_auto_coupler_to_slave_named_uart_2_control_xing_out_d_bits_data; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire  pbus_auto_coupler_to_slave_named_uart_1_control_xing_out_a_ready; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire  pbus_auto_coupler_to_slave_named_uart_1_control_xing_out_a_valid; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [2:0] pbus_auto_coupler_to_slave_named_uart_1_control_xing_out_a_bits_opcode; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [2:0] pbus_auto_coupler_to_slave_named_uart_1_control_xing_out_a_bits_param; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [1:0] pbus_auto_coupler_to_slave_named_uart_1_control_xing_out_a_bits_size; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [5:0] pbus_auto_coupler_to_slave_named_uart_1_control_xing_out_a_bits_source; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [28:0] pbus_auto_coupler_to_slave_named_uart_1_control_xing_out_a_bits_address; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [3:0] pbus_auto_coupler_to_slave_named_uart_1_control_xing_out_a_bits_mask; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [31:0] pbus_auto_coupler_to_slave_named_uart_1_control_xing_out_a_bits_data; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire  pbus_auto_coupler_to_slave_named_uart_1_control_xing_out_a_bits_corrupt; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire  pbus_auto_coupler_to_slave_named_uart_1_control_xing_out_d_ready; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire  pbus_auto_coupler_to_slave_named_uart_1_control_xing_out_d_valid; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [2:0] pbus_auto_coupler_to_slave_named_uart_1_control_xing_out_d_bits_opcode; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [1:0] pbus_auto_coupler_to_slave_named_uart_1_control_xing_out_d_bits_size; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [5:0] pbus_auto_coupler_to_slave_named_uart_1_control_xing_out_d_bits_source; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [31:0] pbus_auto_coupler_to_slave_named_uart_1_control_xing_out_d_bits_data; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire  pbus_auto_coupler_to_slave_named_uart_0_control_xing_out_a_ready; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire  pbus_auto_coupler_to_slave_named_uart_0_control_xing_out_a_valid; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [2:0] pbus_auto_coupler_to_slave_named_uart_0_control_xing_out_a_bits_opcode; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [2:0] pbus_auto_coupler_to_slave_named_uart_0_control_xing_out_a_bits_param; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [1:0] pbus_auto_coupler_to_slave_named_uart_0_control_xing_out_a_bits_size; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [5:0] pbus_auto_coupler_to_slave_named_uart_0_control_xing_out_a_bits_source; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [28:0] pbus_auto_coupler_to_slave_named_uart_0_control_xing_out_a_bits_address; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [3:0] pbus_auto_coupler_to_slave_named_uart_0_control_xing_out_a_bits_mask; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [31:0] pbus_auto_coupler_to_slave_named_uart_0_control_xing_out_a_bits_data; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire  pbus_auto_coupler_to_slave_named_uart_0_control_xing_out_a_bits_corrupt; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire  pbus_auto_coupler_to_slave_named_uart_0_control_xing_out_d_ready; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire  pbus_auto_coupler_to_slave_named_uart_0_control_xing_out_d_valid; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [2:0] pbus_auto_coupler_to_slave_named_uart_0_control_xing_out_d_bits_opcode; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [1:0] pbus_auto_coupler_to_slave_named_uart_0_control_xing_out_d_bits_size; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [5:0] pbus_auto_coupler_to_slave_named_uart_0_control_xing_out_d_bits_source; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [31:0] pbus_auto_coupler_to_slave_named_uart_0_control_xing_out_d_bits_data; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire  pbus_auto_from_cbus_in_a_ready; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire  pbus_auto_from_cbus_in_a_valid; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [2:0] pbus_auto_from_cbus_in_a_bits_opcode; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [2:0] pbus_auto_from_cbus_in_a_bits_param; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [3:0] pbus_auto_from_cbus_in_a_bits_size; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire  pbus_auto_from_cbus_in_a_bits_source; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [29:0] pbus_auto_from_cbus_in_a_bits_address; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [3:0] pbus_auto_from_cbus_in_a_bits_mask; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [31:0] pbus_auto_from_cbus_in_a_bits_data; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire  pbus_auto_from_cbus_in_a_bits_corrupt; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire  pbus_auto_from_cbus_in_d_ready; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire  pbus_auto_from_cbus_in_d_valid; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [2:0] pbus_auto_from_cbus_in_d_bits_opcode; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [1:0] pbus_auto_from_cbus_in_d_bits_param; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [3:0] pbus_auto_from_cbus_in_d_bits_size; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire  pbus_auto_from_cbus_in_d_bits_source; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire  pbus_auto_from_cbus_in_d_bits_sink; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire  pbus_auto_from_cbus_in_d_bits_denied; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire [31:0] pbus_auto_from_cbus_in_d_bits_data; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire  pbus_auto_from_cbus_in_d_bits_corrupt; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+  wire  plic_clock; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295971.4]
+  wire  plic_reset; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295971.4]
+  wire  plic_auto_int_in_0; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295971.4]
+  wire  plic_auto_int_in_1; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295971.4]
+  wire  plic_auto_int_in_2; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295971.4]
+  wire  plic_auto_int_in_3; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295971.4]
+  wire  plic_auto_int_in_4; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295971.4]
+  wire  plic_auto_int_in_5; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295971.4]
+  wire  plic_auto_int_in_6; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295971.4]
+  wire  plic_auto_int_in_7; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295971.4]
+  wire  plic_auto_int_in_8; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295971.4]
+  wire  plic_auto_int_in_9; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295971.4]
+  wire  plic_auto_int_in_10; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295971.4]
+  wire  plic_auto_int_in_11; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295971.4]
+  wire  plic_auto_int_in_12; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295971.4]
+  wire  plic_auto_int_in_13; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295971.4]
+  wire  plic_auto_int_in_14; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295971.4]
+  wire  plic_auto_int_in_15; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295971.4]
+  wire  plic_auto_int_in_16; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295971.4]
+  wire  plic_auto_int_in_17; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295971.4]
+  wire  plic_auto_int_in_18; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295971.4]
+  wire  plic_auto_int_in_19; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295971.4]
+  wire  plic_auto_int_in_20; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295971.4]
+  wire  plic_auto_int_in_21; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295971.4]
+  wire  plic_auto_int_in_22; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295971.4]
+  wire  plic_auto_int_in_23; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295971.4]
+  wire  plic_auto_int_in_24; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295971.4]
+  wire  plic_auto_int_in_25; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295971.4]
+  wire  plic_auto_int_in_26; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295971.4]
+  wire  plic_auto_int_in_27; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295971.4]
+  wire  plic_auto_int_in_28; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295971.4]
+  wire  plic_auto_int_in_29; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295971.4]
+  wire  plic_auto_int_in_30; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295971.4]
+  wire  plic_auto_int_in_31; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295971.4]
+  wire  plic_auto_int_in_32; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295971.4]
+  wire  plic_auto_int_in_33; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295971.4]
+  wire  plic_auto_int_in_34; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295971.4]
+  wire  plic_auto_int_in_35; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295971.4]
+  wire  plic_auto_int_in_36; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295971.4]
+  wire  plic_auto_int_in_37; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295971.4]
+  wire  plic_auto_int_in_38; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295971.4]
+  wire  plic_auto_int_in_39; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295971.4]
+  wire  plic_auto_int_in_40; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295971.4]
+  wire  plic_auto_int_in_41; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295971.4]
+  wire  plic_auto_int_in_42; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295971.4]
+  wire  plic_auto_int_in_43; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295971.4]
+  wire  plic_auto_int_out_0; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295971.4]
+  wire  plic_auto_in_a_ready; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295971.4]
+  wire  plic_auto_in_a_valid; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295971.4]
+  wire [2:0] plic_auto_in_a_bits_opcode; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295971.4]
+  wire [2:0] plic_auto_in_a_bits_param; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295971.4]
+  wire [1:0] plic_auto_in_a_bits_size; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295971.4]
+  wire [5:0] plic_auto_in_a_bits_source; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295971.4]
+  wire [27:0] plic_auto_in_a_bits_address; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295971.4]
+  wire [3:0] plic_auto_in_a_bits_mask; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295971.4]
+  wire [31:0] plic_auto_in_a_bits_data; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295971.4]
+  wire  plic_auto_in_a_bits_corrupt; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295971.4]
+  wire  plic_auto_in_d_ready; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295971.4]
+  wire  plic_auto_in_d_valid; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295971.4]
+  wire [2:0] plic_auto_in_d_bits_opcode; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295971.4]
+  wire [1:0] plic_auto_in_d_bits_size; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295971.4]
+  wire [5:0] plic_auto_in_d_bits_source; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295971.4]
+  wire [31:0] plic_auto_in_d_bits_data; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295971.4]
+  wire  clint_clock; // @[CLINT.scala 99:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295977.4]
+  wire  clint_reset; // @[CLINT.scala 99:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295977.4]
+  wire  clint_auto_int_out_0; // @[CLINT.scala 99:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295977.4]
+  wire  clint_auto_int_out_1; // @[CLINT.scala 99:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295977.4]
+  wire  clint_auto_in_a_ready; // @[CLINT.scala 99:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295977.4]
+  wire  clint_auto_in_a_valid; // @[CLINT.scala 99:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295977.4]
+  wire [2:0] clint_auto_in_a_bits_opcode; // @[CLINT.scala 99:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295977.4]
+  wire [2:0] clint_auto_in_a_bits_param; // @[CLINT.scala 99:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295977.4]
+  wire [1:0] clint_auto_in_a_bits_size; // @[CLINT.scala 99:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295977.4]
+  wire [5:0] clint_auto_in_a_bits_source; // @[CLINT.scala 99:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295977.4]
+  wire [25:0] clint_auto_in_a_bits_address; // @[CLINT.scala 99:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295977.4]
+  wire [3:0] clint_auto_in_a_bits_mask; // @[CLINT.scala 99:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295977.4]
+  wire [31:0] clint_auto_in_a_bits_data; // @[CLINT.scala 99:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295977.4]
+  wire  clint_auto_in_a_bits_corrupt; // @[CLINT.scala 99:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295977.4]
+  wire  clint_auto_in_d_ready; // @[CLINT.scala 99:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295977.4]
+  wire  clint_auto_in_d_valid; // @[CLINT.scala 99:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295977.4]
+  wire [2:0] clint_auto_in_d_bits_opcode; // @[CLINT.scala 99:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295977.4]
+  wire [1:0] clint_auto_in_d_bits_size; // @[CLINT.scala 99:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295977.4]
+  wire [5:0] clint_auto_in_d_bits_source; // @[CLINT.scala 99:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295977.4]
+  wire [31:0] clint_auto_in_d_bits_data; // @[CLINT.scala 99:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295977.4]
+  wire  clint_io_rtcTick; // @[CLINT.scala 99:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295977.4]
+  wire  debug_1_clock; // @[Periphery.scala 32:25:shc.marmotcaravel.MarmotCaravelConfig.fir@295984.4]
+  wire  debug_1_reset; // @[Periphery.scala 32:25:shc.marmotcaravel.MarmotCaravelConfig.fir@295984.4]
+  wire  debug_1_auto_dmInner_dmInner_tl_in_a_ready; // @[Periphery.scala 32:25:shc.marmotcaravel.MarmotCaravelConfig.fir@295984.4]
+  wire  debug_1_auto_dmInner_dmInner_tl_in_a_valid; // @[Periphery.scala 32:25:shc.marmotcaravel.MarmotCaravelConfig.fir@295984.4]
+  wire [2:0] debug_1_auto_dmInner_dmInner_tl_in_a_bits_opcode; // @[Periphery.scala 32:25:shc.marmotcaravel.MarmotCaravelConfig.fir@295984.4]
+  wire [2:0] debug_1_auto_dmInner_dmInner_tl_in_a_bits_param; // @[Periphery.scala 32:25:shc.marmotcaravel.MarmotCaravelConfig.fir@295984.4]
+  wire [1:0] debug_1_auto_dmInner_dmInner_tl_in_a_bits_size; // @[Periphery.scala 32:25:shc.marmotcaravel.MarmotCaravelConfig.fir@295984.4]
+  wire [5:0] debug_1_auto_dmInner_dmInner_tl_in_a_bits_source; // @[Periphery.scala 32:25:shc.marmotcaravel.MarmotCaravelConfig.fir@295984.4]
+  wire [11:0] debug_1_auto_dmInner_dmInner_tl_in_a_bits_address; // @[Periphery.scala 32:25:shc.marmotcaravel.MarmotCaravelConfig.fir@295984.4]
+  wire [3:0] debug_1_auto_dmInner_dmInner_tl_in_a_bits_mask; // @[Periphery.scala 32:25:shc.marmotcaravel.MarmotCaravelConfig.fir@295984.4]
+  wire [31:0] debug_1_auto_dmInner_dmInner_tl_in_a_bits_data; // @[Periphery.scala 32:25:shc.marmotcaravel.MarmotCaravelConfig.fir@295984.4]
+  wire  debug_1_auto_dmInner_dmInner_tl_in_a_bits_corrupt; // @[Periphery.scala 32:25:shc.marmotcaravel.MarmotCaravelConfig.fir@295984.4]
+  wire  debug_1_auto_dmInner_dmInner_tl_in_d_ready; // @[Periphery.scala 32:25:shc.marmotcaravel.MarmotCaravelConfig.fir@295984.4]
+  wire  debug_1_auto_dmInner_dmInner_tl_in_d_valid; // @[Periphery.scala 32:25:shc.marmotcaravel.MarmotCaravelConfig.fir@295984.4]
+  wire [2:0] debug_1_auto_dmInner_dmInner_tl_in_d_bits_opcode; // @[Periphery.scala 32:25:shc.marmotcaravel.MarmotCaravelConfig.fir@295984.4]
+  wire [1:0] debug_1_auto_dmInner_dmInner_tl_in_d_bits_size; // @[Periphery.scala 32:25:shc.marmotcaravel.MarmotCaravelConfig.fir@295984.4]
+  wire [5:0] debug_1_auto_dmInner_dmInner_tl_in_d_bits_source; // @[Periphery.scala 32:25:shc.marmotcaravel.MarmotCaravelConfig.fir@295984.4]
+  wire [31:0] debug_1_auto_dmInner_dmInner_tl_in_d_bits_data; // @[Periphery.scala 32:25:shc.marmotcaravel.MarmotCaravelConfig.fir@295984.4]
+  wire  debug_1_auto_dmOuter_intsource_out_sync_0; // @[Periphery.scala 32:25:shc.marmotcaravel.MarmotCaravelConfig.fir@295984.4]
+  wire  debug_1_io_ctrl_ndreset; // @[Periphery.scala 32:25:shc.marmotcaravel.MarmotCaravelConfig.fir@295984.4]
+  wire  debug_1_io_dmi_dmi_req_ready; // @[Periphery.scala 32:25:shc.marmotcaravel.MarmotCaravelConfig.fir@295984.4]
+  wire  debug_1_io_dmi_dmi_req_valid; // @[Periphery.scala 32:25:shc.marmotcaravel.MarmotCaravelConfig.fir@295984.4]
+  wire [6:0] debug_1_io_dmi_dmi_req_bits_addr; // @[Periphery.scala 32:25:shc.marmotcaravel.MarmotCaravelConfig.fir@295984.4]
+  wire [31:0] debug_1_io_dmi_dmi_req_bits_data; // @[Periphery.scala 32:25:shc.marmotcaravel.MarmotCaravelConfig.fir@295984.4]
+  wire [1:0] debug_1_io_dmi_dmi_req_bits_op; // @[Periphery.scala 32:25:shc.marmotcaravel.MarmotCaravelConfig.fir@295984.4]
+  wire  debug_1_io_dmi_dmi_resp_ready; // @[Periphery.scala 32:25:shc.marmotcaravel.MarmotCaravelConfig.fir@295984.4]
+  wire  debug_1_io_dmi_dmi_resp_valid; // @[Periphery.scala 32:25:shc.marmotcaravel.MarmotCaravelConfig.fir@295984.4]
+  wire [31:0] debug_1_io_dmi_dmi_resp_bits_data; // @[Periphery.scala 32:25:shc.marmotcaravel.MarmotCaravelConfig.fir@295984.4]
+  wire [1:0] debug_1_io_dmi_dmi_resp_bits_resp; // @[Periphery.scala 32:25:shc.marmotcaravel.MarmotCaravelConfig.fir@295984.4]
+  wire  debug_1_io_dmi_dmiClock; // @[Periphery.scala 32:25:shc.marmotcaravel.MarmotCaravelConfig.fir@295984.4]
+  wire  debug_1_io_dmi_dmiReset; // @[Periphery.scala 32:25:shc.marmotcaravel.MarmotCaravelConfig.fir@295984.4]
+  wire  tile_clock; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295997.4]
+  wire  tile_reset; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295997.4]
+  wire  tile_auto_intsink_in_sync_0; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295997.4]
+  wire  tile_auto_int_in_xing_in_1_sync_0; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295997.4]
+  wire  tile_auto_int_in_xing_in_0_sync_0; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295997.4]
+  wire  tile_auto_int_in_xing_in_0_sync_1; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295997.4]
+  wire  tile_auto_tl_slave_xing_in_a_ready; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295997.4]
+  wire  tile_auto_tl_slave_xing_in_a_valid; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295997.4]
+  wire [2:0] tile_auto_tl_slave_xing_in_a_bits_opcode; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295997.4]
+  wire [2:0] tile_auto_tl_slave_xing_in_a_bits_param; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295997.4]
+  wire [2:0] tile_auto_tl_slave_xing_in_a_bits_size; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295997.4]
+  wire  tile_auto_tl_slave_xing_in_a_bits_source; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295997.4]
+  wire [31:0] tile_auto_tl_slave_xing_in_a_bits_address; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295997.4]
+  wire [3:0] tile_auto_tl_slave_xing_in_a_bits_mask; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295997.4]
+  wire [31:0] tile_auto_tl_slave_xing_in_a_bits_data; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295997.4]
+  wire  tile_auto_tl_slave_xing_in_a_bits_corrupt; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295997.4]
+  wire  tile_auto_tl_slave_xing_in_d_ready; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295997.4]
+  wire  tile_auto_tl_slave_xing_in_d_valid; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295997.4]
+  wire [2:0] tile_auto_tl_slave_xing_in_d_bits_opcode; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295997.4]
+  wire [1:0] tile_auto_tl_slave_xing_in_d_bits_param; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295997.4]
+  wire [2:0] tile_auto_tl_slave_xing_in_d_bits_size; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295997.4]
+  wire  tile_auto_tl_slave_xing_in_d_bits_source; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295997.4]
+  wire  tile_auto_tl_slave_xing_in_d_bits_sink; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295997.4]
+  wire  tile_auto_tl_slave_xing_in_d_bits_denied; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295997.4]
+  wire [31:0] tile_auto_tl_slave_xing_in_d_bits_data; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295997.4]
+  wire  tile_auto_tl_slave_xing_in_d_bits_corrupt; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295997.4]
+  wire  tile_auto_tl_master_xing_out_a_ready; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295997.4]
+  wire  tile_auto_tl_master_xing_out_a_valid; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295997.4]
+  wire [2:0] tile_auto_tl_master_xing_out_a_bits_opcode; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295997.4]
+  wire [2:0] tile_auto_tl_master_xing_out_a_bits_param; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295997.4]
+  wire [3:0] tile_auto_tl_master_xing_out_a_bits_size; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295997.4]
+  wire  tile_auto_tl_master_xing_out_a_bits_source; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295997.4]
+  wire [31:0] tile_auto_tl_master_xing_out_a_bits_address; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295997.4]
+  wire [3:0] tile_auto_tl_master_xing_out_a_bits_mask; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295997.4]
+  wire [31:0] tile_auto_tl_master_xing_out_a_bits_data; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295997.4]
+  wire  tile_auto_tl_master_xing_out_a_bits_corrupt; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295997.4]
+  wire  tile_auto_tl_master_xing_out_d_ready; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295997.4]
+  wire  tile_auto_tl_master_xing_out_d_valid; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295997.4]
+  wire [2:0] tile_auto_tl_master_xing_out_d_bits_opcode; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295997.4]
+  wire [1:0] tile_auto_tl_master_xing_out_d_bits_param; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295997.4]
+  wire [3:0] tile_auto_tl_master_xing_out_d_bits_size; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295997.4]
+  wire  tile_auto_tl_master_xing_out_d_bits_source; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295997.4]
+  wire  tile_auto_tl_master_xing_out_d_bits_sink; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295997.4]
+  wire  tile_auto_tl_master_xing_out_d_bits_denied; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295997.4]
+  wire [31:0] tile_auto_tl_master_xing_out_d_bits_data; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295997.4]
+  wire  tile_auto_tl_master_xing_out_d_bits_corrupt; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295997.4]
+  wire  tile_constants_hartid; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295997.4]
+  wire [31:0] tile_constants_reset_vector; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295997.4]
+  wire  intsource_clock; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296004.4]
+  wire  intsource_reset; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296004.4]
+  wire  intsource_auto_in_0; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296004.4]
+  wire  intsource_auto_in_1; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296004.4]
+  wire  intsource_auto_out_sync_0; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296004.4]
+  wire  intsource_auto_out_sync_1; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296004.4]
+  wire  intsource_1_clock; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296010.4]
+  wire  intsource_1_reset; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296010.4]
+  wire  intsource_1_auto_in_0; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296010.4]
+  wire  intsource_1_auto_out_sync_0; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296010.4]
+  wire  maskROM_clock; // @[MaskROM.scala 19:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296022.4]
+  wire  maskROM_reset; // @[MaskROM.scala 19:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296022.4]
+  wire  maskROM_auto_in_a_ready; // @[MaskROM.scala 19:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296022.4]
+  wire  maskROM_auto_in_a_valid; // @[MaskROM.scala 19:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296022.4]
+  wire [2:0] maskROM_auto_in_a_bits_opcode; // @[MaskROM.scala 19:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296022.4]
+  wire [2:0] maskROM_auto_in_a_bits_param; // @[MaskROM.scala 19:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296022.4]
+  wire [1:0] maskROM_auto_in_a_bits_size; // @[MaskROM.scala 19:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296022.4]
+  wire [5:0] maskROM_auto_in_a_bits_source; // @[MaskROM.scala 19:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296022.4]
+  wire [16:0] maskROM_auto_in_a_bits_address; // @[MaskROM.scala 19:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296022.4]
+  wire [3:0] maskROM_auto_in_a_bits_mask; // @[MaskROM.scala 19:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296022.4]
+  wire  maskROM_auto_in_a_bits_corrupt; // @[MaskROM.scala 19:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296022.4]
+  wire  maskROM_auto_in_d_ready; // @[MaskROM.scala 19:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296022.4]
+  wire  maskROM_auto_in_d_valid; // @[MaskROM.scala 19:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296022.4]
+  wire [1:0] maskROM_auto_in_d_bits_size; // @[MaskROM.scala 19:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296022.4]
+  wire [5:0] maskROM_auto_in_d_bits_source; // @[MaskROM.scala 19:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296022.4]
+  wire [31:0] maskROM_auto_in_d_bits_data; // @[MaskROM.scala 19:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296022.4]
+  wire  aon_1_auto_intsource_out_sync_0; // @[MockAONPeriphery.scala 20:23:shc.marmotcaravel.MarmotCaravelConfig.fir@296028.4]
+  wire  aon_1_auto_intsource_out_sync_1; // @[MockAONPeriphery.scala 20:23:shc.marmotcaravel.MarmotCaravelConfig.fir@296028.4]
+  wire [2:0] aon_1_auto_isolation_in_a_mem_0_opcode; // @[MockAONPeriphery.scala 20:23:shc.marmotcaravel.MarmotCaravelConfig.fir@296028.4]
+  wire [2:0] aon_1_auto_isolation_in_a_mem_0_param; // @[MockAONPeriphery.scala 20:23:shc.marmotcaravel.MarmotCaravelConfig.fir@296028.4]
+  wire [1:0] aon_1_auto_isolation_in_a_mem_0_size; // @[MockAONPeriphery.scala 20:23:shc.marmotcaravel.MarmotCaravelConfig.fir@296028.4]
+  wire [5:0] aon_1_auto_isolation_in_a_mem_0_source; // @[MockAONPeriphery.scala 20:23:shc.marmotcaravel.MarmotCaravelConfig.fir@296028.4]
+  wire [28:0] aon_1_auto_isolation_in_a_mem_0_address; // @[MockAONPeriphery.scala 20:23:shc.marmotcaravel.MarmotCaravelConfig.fir@296028.4]
+  wire [3:0] aon_1_auto_isolation_in_a_mem_0_mask; // @[MockAONPeriphery.scala 20:23:shc.marmotcaravel.MarmotCaravelConfig.fir@296028.4]
+  wire [31:0] aon_1_auto_isolation_in_a_mem_0_data; // @[MockAONPeriphery.scala 20:23:shc.marmotcaravel.MarmotCaravelConfig.fir@296028.4]
+  wire  aon_1_auto_isolation_in_a_mem_0_corrupt; // @[MockAONPeriphery.scala 20:23:shc.marmotcaravel.MarmotCaravelConfig.fir@296028.4]
+  wire  aon_1_auto_isolation_in_a_ridx; // @[MockAONPeriphery.scala 20:23:shc.marmotcaravel.MarmotCaravelConfig.fir@296028.4]
+  wire  aon_1_auto_isolation_in_a_widx; // @[MockAONPeriphery.scala 20:23:shc.marmotcaravel.MarmotCaravelConfig.fir@296028.4]
+  wire  aon_1_auto_isolation_in_a_safe_ridx_valid; // @[MockAONPeriphery.scala 20:23:shc.marmotcaravel.MarmotCaravelConfig.fir@296028.4]
+  wire  aon_1_auto_isolation_in_a_safe_widx_valid; // @[MockAONPeriphery.scala 20:23:shc.marmotcaravel.MarmotCaravelConfig.fir@296028.4]
+  wire  aon_1_auto_isolation_in_a_safe_source_reset_n; // @[MockAONPeriphery.scala 20:23:shc.marmotcaravel.MarmotCaravelConfig.fir@296028.4]
+  wire  aon_1_auto_isolation_in_a_safe_sink_reset_n; // @[MockAONPeriphery.scala 20:23:shc.marmotcaravel.MarmotCaravelConfig.fir@296028.4]
+  wire [2:0] aon_1_auto_isolation_in_d_mem_0_opcode; // @[MockAONPeriphery.scala 20:23:shc.marmotcaravel.MarmotCaravelConfig.fir@296028.4]
+  wire [1:0] aon_1_auto_isolation_in_d_mem_0_param; // @[MockAONPeriphery.scala 20:23:shc.marmotcaravel.MarmotCaravelConfig.fir@296028.4]
+  wire [1:0] aon_1_auto_isolation_in_d_mem_0_size; // @[MockAONPeriphery.scala 20:23:shc.marmotcaravel.MarmotCaravelConfig.fir@296028.4]
+  wire [5:0] aon_1_auto_isolation_in_d_mem_0_source; // @[MockAONPeriphery.scala 20:23:shc.marmotcaravel.MarmotCaravelConfig.fir@296028.4]
+  wire  aon_1_auto_isolation_in_d_mem_0_sink; // @[MockAONPeriphery.scala 20:23:shc.marmotcaravel.MarmotCaravelConfig.fir@296028.4]
+  wire  aon_1_auto_isolation_in_d_mem_0_denied; // @[MockAONPeriphery.scala 20:23:shc.marmotcaravel.MarmotCaravelConfig.fir@296028.4]
+  wire [31:0] aon_1_auto_isolation_in_d_mem_0_data; // @[MockAONPeriphery.scala 20:23:shc.marmotcaravel.MarmotCaravelConfig.fir@296028.4]
+  wire  aon_1_auto_isolation_in_d_mem_0_corrupt; // @[MockAONPeriphery.scala 20:23:shc.marmotcaravel.MarmotCaravelConfig.fir@296028.4]
+  wire  aon_1_auto_isolation_in_d_ridx; // @[MockAONPeriphery.scala 20:23:shc.marmotcaravel.MarmotCaravelConfig.fir@296028.4]
+  wire  aon_1_auto_isolation_in_d_widx; // @[MockAONPeriphery.scala 20:23:shc.marmotcaravel.MarmotCaravelConfig.fir@296028.4]
+  wire  aon_1_auto_isolation_in_d_safe_ridx_valid; // @[MockAONPeriphery.scala 20:23:shc.marmotcaravel.MarmotCaravelConfig.fir@296028.4]
+  wire  aon_1_auto_isolation_in_d_safe_widx_valid; // @[MockAONPeriphery.scala 20:23:shc.marmotcaravel.MarmotCaravelConfig.fir@296028.4]
+  wire  aon_1_auto_isolation_in_d_safe_source_reset_n; // @[MockAONPeriphery.scala 20:23:shc.marmotcaravel.MarmotCaravelConfig.fir@296028.4]
+  wire  aon_1_auto_isolation_in_d_safe_sink_reset_n; // @[MockAONPeriphery.scala 20:23:shc.marmotcaravel.MarmotCaravelConfig.fir@296028.4]
+  wire  aon_1_io_pins_erst_n_i_ival; // @[MockAONPeriphery.scala 20:23:shc.marmotcaravel.MarmotCaravelConfig.fir@296028.4]
+  wire  aon_1_io_pins_lfextclk_i_ival; // @[MockAONPeriphery.scala 20:23:shc.marmotcaravel.MarmotCaravelConfig.fir@296028.4]
+  wire  aon_1_io_rsts_corerst; // @[MockAONPeriphery.scala 20:23:shc.marmotcaravel.MarmotCaravelConfig.fir@296028.4]
+  wire  aon_1_io_rtc; // @[MockAONPeriphery.scala 20:23:shc.marmotcaravel.MarmotCaravelConfig.fir@296028.4]
+  wire  aon_1_io_ndreset; // @[MockAONPeriphery.scala 20:23:shc.marmotcaravel.MarmotCaravelConfig.fir@296028.4]
+  wire  intsink_1_clock; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296035.4]
+  wire  intsink_1_auto_in_sync_0; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296035.4]
+  wire  intsink_1_auto_in_sync_1; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296035.4]
+  wire  intsink_1_auto_out_0; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296035.4]
+  wire  intsink_1_auto_out_1; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296035.4]
+  wire  asyncXing_clock; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296041.4]
+  wire  asyncXing_auto_int_in_0; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296041.4]
+  wire  asyncXing_auto_int_out_0; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296041.4]
+  wire  uart_0_1_clock; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296047.4]
+  wire  uart_0_1_reset; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296047.4]
+  wire  uart_0_1_auto_int_xing_out_sync_0; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296047.4]
+  wire  uart_0_1_auto_control_xing_in_a_ready; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296047.4]
+  wire  uart_0_1_auto_control_xing_in_a_valid; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296047.4]
+  wire [2:0] uart_0_1_auto_control_xing_in_a_bits_opcode; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296047.4]
+  wire [2:0] uart_0_1_auto_control_xing_in_a_bits_param; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296047.4]
+  wire [1:0] uart_0_1_auto_control_xing_in_a_bits_size; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296047.4]
+  wire [5:0] uart_0_1_auto_control_xing_in_a_bits_source; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296047.4]
+  wire [28:0] uart_0_1_auto_control_xing_in_a_bits_address; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296047.4]
+  wire [3:0] uart_0_1_auto_control_xing_in_a_bits_mask; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296047.4]
+  wire [31:0] uart_0_1_auto_control_xing_in_a_bits_data; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296047.4]
+  wire  uart_0_1_auto_control_xing_in_a_bits_corrupt; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296047.4]
+  wire  uart_0_1_auto_control_xing_in_d_ready; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296047.4]
+  wire  uart_0_1_auto_control_xing_in_d_valid; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296047.4]
+  wire [2:0] uart_0_1_auto_control_xing_in_d_bits_opcode; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296047.4]
+  wire [1:0] uart_0_1_auto_control_xing_in_d_bits_size; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296047.4]
+  wire [5:0] uart_0_1_auto_control_xing_in_d_bits_source; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296047.4]
+  wire [31:0] uart_0_1_auto_control_xing_in_d_bits_data; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296047.4]
+  wire  uart_0_1_auto_io_out_txd; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296047.4]
+  wire  uart_0_1_auto_io_out_rxd; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296047.4]
+  wire  intsink_2_auto_in_sync_0; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296053.4]
+  wire  intsink_2_auto_out_0; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296053.4]
+  wire  asyncXing_1_clock; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296059.4]
+  wire  asyncXing_1_auto_int_in_0; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296059.4]
+  wire  asyncXing_1_auto_int_out_0; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296059.4]
+  wire  uart_1_1_clock; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296065.4]
+  wire  uart_1_1_reset; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296065.4]
+  wire  uart_1_1_auto_int_xing_out_sync_0; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296065.4]
+  wire  uart_1_1_auto_control_xing_in_a_ready; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296065.4]
+  wire  uart_1_1_auto_control_xing_in_a_valid; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296065.4]
+  wire [2:0] uart_1_1_auto_control_xing_in_a_bits_opcode; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296065.4]
+  wire [2:0] uart_1_1_auto_control_xing_in_a_bits_param; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296065.4]
+  wire [1:0] uart_1_1_auto_control_xing_in_a_bits_size; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296065.4]
+  wire [5:0] uart_1_1_auto_control_xing_in_a_bits_source; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296065.4]
+  wire [28:0] uart_1_1_auto_control_xing_in_a_bits_address; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296065.4]
+  wire [3:0] uart_1_1_auto_control_xing_in_a_bits_mask; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296065.4]
+  wire [31:0] uart_1_1_auto_control_xing_in_a_bits_data; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296065.4]
+  wire  uart_1_1_auto_control_xing_in_a_bits_corrupt; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296065.4]
+  wire  uart_1_1_auto_control_xing_in_d_ready; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296065.4]
+  wire  uart_1_1_auto_control_xing_in_d_valid; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296065.4]
+  wire [2:0] uart_1_1_auto_control_xing_in_d_bits_opcode; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296065.4]
+  wire [1:0] uart_1_1_auto_control_xing_in_d_bits_size; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296065.4]
+  wire [5:0] uart_1_1_auto_control_xing_in_d_bits_source; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296065.4]
+  wire [31:0] uart_1_1_auto_control_xing_in_d_bits_data; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296065.4]
+  wire  uart_1_1_auto_io_out_txd; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296065.4]
+  wire  uart_1_1_auto_io_out_rxd; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296065.4]
+  wire  intsink_3_auto_in_sync_0; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296071.4]
+  wire  intsink_3_auto_out_0; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296071.4]
+  wire  asyncXing_2_clock; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296077.4]
+  wire  asyncXing_2_auto_int_in_0; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296077.4]
+  wire  asyncXing_2_auto_int_out_0; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296077.4]
+  wire  uart_2_1_clock; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296083.4]
+  wire  uart_2_1_reset; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296083.4]
+  wire  uart_2_1_auto_int_xing_out_sync_0; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296083.4]
+  wire  uart_2_1_auto_control_xing_in_a_ready; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296083.4]
+  wire  uart_2_1_auto_control_xing_in_a_valid; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296083.4]
+  wire [2:0] uart_2_1_auto_control_xing_in_a_bits_opcode; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296083.4]
+  wire [2:0] uart_2_1_auto_control_xing_in_a_bits_param; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296083.4]
+  wire [1:0] uart_2_1_auto_control_xing_in_a_bits_size; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296083.4]
+  wire [5:0] uart_2_1_auto_control_xing_in_a_bits_source; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296083.4]
+  wire [28:0] uart_2_1_auto_control_xing_in_a_bits_address; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296083.4]
+  wire [3:0] uart_2_1_auto_control_xing_in_a_bits_mask; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296083.4]
+  wire [31:0] uart_2_1_auto_control_xing_in_a_bits_data; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296083.4]
+  wire  uart_2_1_auto_control_xing_in_a_bits_corrupt; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296083.4]
+  wire  uart_2_1_auto_control_xing_in_d_ready; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296083.4]
+  wire  uart_2_1_auto_control_xing_in_d_valid; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296083.4]
+  wire [2:0] uart_2_1_auto_control_xing_in_d_bits_opcode; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296083.4]
+  wire [1:0] uart_2_1_auto_control_xing_in_d_bits_size; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296083.4]
+  wire [5:0] uart_2_1_auto_control_xing_in_d_bits_source; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296083.4]
+  wire [31:0] uart_2_1_auto_control_xing_in_d_bits_data; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296083.4]
+  wire  uart_2_1_auto_io_out_txd; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296083.4]
+  wire  uart_2_1_auto_io_out_rxd; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296083.4]
+  wire  intsink_4_auto_in_sync_0; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296089.4]
+  wire  intsink_4_auto_out_0; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296089.4]
+  wire  asyncXing_3_clock; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296095.4]
+  wire  asyncXing_3_auto_int_in_0; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296095.4]
+  wire  asyncXing_3_auto_int_out_0; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296095.4]
+  wire  uart_3_1_clock; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296101.4]
+  wire  uart_3_1_reset; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296101.4]
+  wire  uart_3_1_auto_int_xing_out_sync_0; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296101.4]
+  wire  uart_3_1_auto_control_xing_in_a_ready; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296101.4]
+  wire  uart_3_1_auto_control_xing_in_a_valid; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296101.4]
+  wire [2:0] uart_3_1_auto_control_xing_in_a_bits_opcode; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296101.4]
+  wire [2:0] uart_3_1_auto_control_xing_in_a_bits_param; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296101.4]
+  wire [1:0] uart_3_1_auto_control_xing_in_a_bits_size; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296101.4]
+  wire [5:0] uart_3_1_auto_control_xing_in_a_bits_source; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296101.4]
+  wire [28:0] uart_3_1_auto_control_xing_in_a_bits_address; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296101.4]
+  wire [3:0] uart_3_1_auto_control_xing_in_a_bits_mask; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296101.4]
+  wire [31:0] uart_3_1_auto_control_xing_in_a_bits_data; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296101.4]
+  wire  uart_3_1_auto_control_xing_in_a_bits_corrupt; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296101.4]
+  wire  uart_3_1_auto_control_xing_in_d_ready; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296101.4]
+  wire  uart_3_1_auto_control_xing_in_d_valid; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296101.4]
+  wire [2:0] uart_3_1_auto_control_xing_in_d_bits_opcode; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296101.4]
+  wire [1:0] uart_3_1_auto_control_xing_in_d_bits_size; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296101.4]
+  wire [5:0] uart_3_1_auto_control_xing_in_d_bits_source; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296101.4]
+  wire [31:0] uart_3_1_auto_control_xing_in_d_bits_data; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296101.4]
+  wire  uart_3_1_auto_io_out_txd; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296101.4]
+  wire  uart_3_1_auto_io_out_rxd; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296101.4]
+  wire  intsink_5_auto_in_sync_0; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296107.4]
+  wire  intsink_5_auto_out_0; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296107.4]
+  wire  asyncXing_4_clock; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296113.4]
+  wire  asyncXing_4_auto_int_in_0; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296113.4]
+  wire  asyncXing_4_auto_int_out_0; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296113.4]
+  wire  uart_4_1_clock; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296119.4]
+  wire  uart_4_1_reset; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296119.4]
+  wire  uart_4_1_auto_int_xing_out_sync_0; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296119.4]
+  wire  uart_4_1_auto_control_xing_in_a_ready; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296119.4]
+  wire  uart_4_1_auto_control_xing_in_a_valid; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296119.4]
+  wire [2:0] uart_4_1_auto_control_xing_in_a_bits_opcode; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296119.4]
+  wire [2:0] uart_4_1_auto_control_xing_in_a_bits_param; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296119.4]
+  wire [1:0] uart_4_1_auto_control_xing_in_a_bits_size; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296119.4]
+  wire [5:0] uart_4_1_auto_control_xing_in_a_bits_source; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296119.4]
+  wire [28:0] uart_4_1_auto_control_xing_in_a_bits_address; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296119.4]
+  wire [3:0] uart_4_1_auto_control_xing_in_a_bits_mask; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296119.4]
+  wire [31:0] uart_4_1_auto_control_xing_in_a_bits_data; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296119.4]
+  wire  uart_4_1_auto_control_xing_in_a_bits_corrupt; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296119.4]
+  wire  uart_4_1_auto_control_xing_in_d_ready; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296119.4]
+  wire  uart_4_1_auto_control_xing_in_d_valid; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296119.4]
+  wire [2:0] uart_4_1_auto_control_xing_in_d_bits_opcode; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296119.4]
+  wire [1:0] uart_4_1_auto_control_xing_in_d_bits_size; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296119.4]
+  wire [5:0] uart_4_1_auto_control_xing_in_d_bits_source; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296119.4]
+  wire [31:0] uart_4_1_auto_control_xing_in_d_bits_data; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296119.4]
+  wire  uart_4_1_auto_io_out_txd; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296119.4]
+  wire  uart_4_1_auto_io_out_rxd; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296119.4]
+  wire  intsink_6_auto_in_sync_0; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296125.4]
+  wire  intsink_6_auto_out_0; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296125.4]
+  wire  asyncXing_5_clock; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296131.4]
+  wire  asyncXing_5_auto_int_in_0; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296131.4]
+  wire  asyncXing_5_auto_int_out_0; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296131.4]
+  wire  qspi_0_1_clock; // @[SPI.scala 67:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296137.4]
+  wire  qspi_0_1_reset; // @[SPI.scala 67:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296137.4]
+  wire  qspi_0_1_auto_int_xing_out_sync_0; // @[SPI.scala 67:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296137.4]
+  wire  qspi_0_1_auto_mem_xing_in_a_ready; // @[SPI.scala 67:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296137.4]
+  wire  qspi_0_1_auto_mem_xing_in_a_valid; // @[SPI.scala 67:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296137.4]
+  wire [2:0] qspi_0_1_auto_mem_xing_in_a_bits_opcode; // @[SPI.scala 67:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296137.4]
+  wire [2:0] qspi_0_1_auto_mem_xing_in_a_bits_param; // @[SPI.scala 67:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296137.4]
+  wire  qspi_0_1_auto_mem_xing_in_a_bits_size; // @[SPI.scala 67:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296137.4]
+  wire [7:0] qspi_0_1_auto_mem_xing_in_a_bits_source; // @[SPI.scala 67:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296137.4]
+  wire [29:0] qspi_0_1_auto_mem_xing_in_a_bits_address; // @[SPI.scala 67:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296137.4]
+  wire  qspi_0_1_auto_mem_xing_in_a_bits_mask; // @[SPI.scala 67:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296137.4]
+  wire  qspi_0_1_auto_mem_xing_in_a_bits_corrupt; // @[SPI.scala 67:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296137.4]
+  wire  qspi_0_1_auto_mem_xing_in_d_ready; // @[SPI.scala 67:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296137.4]
+  wire  qspi_0_1_auto_mem_xing_in_d_valid; // @[SPI.scala 67:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296137.4]
+  wire  qspi_0_1_auto_mem_xing_in_d_bits_size; // @[SPI.scala 67:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296137.4]
+  wire [7:0] qspi_0_1_auto_mem_xing_in_d_bits_source; // @[SPI.scala 67:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296137.4]
+  wire [7:0] qspi_0_1_auto_mem_xing_in_d_bits_data; // @[SPI.scala 67:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296137.4]
+  wire  qspi_0_1_auto_control_xing_in_a_ready; // @[SPI.scala 67:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296137.4]
+  wire  qspi_0_1_auto_control_xing_in_a_valid; // @[SPI.scala 67:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296137.4]
+  wire [2:0] qspi_0_1_auto_control_xing_in_a_bits_opcode; // @[SPI.scala 67:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296137.4]
+  wire [2:0] qspi_0_1_auto_control_xing_in_a_bits_param; // @[SPI.scala 67:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296137.4]
+  wire [1:0] qspi_0_1_auto_control_xing_in_a_bits_size; // @[SPI.scala 67:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296137.4]
+  wire [5:0] qspi_0_1_auto_control_xing_in_a_bits_source; // @[SPI.scala 67:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296137.4]
+  wire [28:0] qspi_0_1_auto_control_xing_in_a_bits_address; // @[SPI.scala 67:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296137.4]
+  wire [3:0] qspi_0_1_auto_control_xing_in_a_bits_mask; // @[SPI.scala 67:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296137.4]
+  wire [31:0] qspi_0_1_auto_control_xing_in_a_bits_data; // @[SPI.scala 67:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296137.4]
+  wire  qspi_0_1_auto_control_xing_in_a_bits_corrupt; // @[SPI.scala 67:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296137.4]
+  wire  qspi_0_1_auto_control_xing_in_d_ready; // @[SPI.scala 67:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296137.4]
+  wire  qspi_0_1_auto_control_xing_in_d_valid; // @[SPI.scala 67:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296137.4]
+  wire [2:0] qspi_0_1_auto_control_xing_in_d_bits_opcode; // @[SPI.scala 67:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296137.4]
+  wire [1:0] qspi_0_1_auto_control_xing_in_d_bits_size; // @[SPI.scala 67:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296137.4]
+  wire [5:0] qspi_0_1_auto_control_xing_in_d_bits_source; // @[SPI.scala 67:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296137.4]
+  wire [31:0] qspi_0_1_auto_control_xing_in_d_bits_data; // @[SPI.scala 67:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296137.4]
+  wire  qspi_0_1_auto_io_out_sck; // @[SPI.scala 67:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296137.4]
+  wire  qspi_0_1_auto_io_out_dq_0_i; // @[SPI.scala 67:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296137.4]
+  wire  qspi_0_1_auto_io_out_dq_0_o; // @[SPI.scala 67:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296137.4]
+  wire  qspi_0_1_auto_io_out_dq_0_oe; // @[SPI.scala 67:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296137.4]
+  wire  qspi_0_1_auto_io_out_dq_1_i; // @[SPI.scala 67:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296137.4]
+  wire  qspi_0_1_auto_io_out_dq_1_o; // @[SPI.scala 67:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296137.4]
+  wire  qspi_0_1_auto_io_out_dq_1_oe; // @[SPI.scala 67:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296137.4]
+  wire  qspi_0_1_auto_io_out_dq_2_i; // @[SPI.scala 67:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296137.4]
+  wire  qspi_0_1_auto_io_out_dq_2_o; // @[SPI.scala 67:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296137.4]
+  wire  qspi_0_1_auto_io_out_dq_2_oe; // @[SPI.scala 67:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296137.4]
+  wire  qspi_0_1_auto_io_out_dq_3_i; // @[SPI.scala 67:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296137.4]
+  wire  qspi_0_1_auto_io_out_dq_3_o; // @[SPI.scala 67:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296137.4]
+  wire  qspi_0_1_auto_io_out_dq_3_oe; // @[SPI.scala 67:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296137.4]
+  wire  qspi_0_1_auto_io_out_cs_0; // @[SPI.scala 67:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296137.4]
+  wire  intsink_7_auto_in_sync_0; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296143.4]
+  wire  intsink_7_auto_out_0; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296143.4]
+  wire  asyncXing_6_clock; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296149.4]
+  wire  asyncXing_6_auto_int_in_0; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296149.4]
+  wire  asyncXing_6_auto_int_out_0; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296149.4]
+  wire  spi_0_1_clock; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296155.4]
+  wire  spi_0_1_reset; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296155.4]
+  wire  spi_0_1_auto_int_xing_out_sync_0; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296155.4]
+  wire  spi_0_1_auto_control_xing_in_a_ready; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296155.4]
+  wire  spi_0_1_auto_control_xing_in_a_valid; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296155.4]
+  wire [2:0] spi_0_1_auto_control_xing_in_a_bits_opcode; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296155.4]
+  wire [2:0] spi_0_1_auto_control_xing_in_a_bits_param; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296155.4]
+  wire [1:0] spi_0_1_auto_control_xing_in_a_bits_size; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296155.4]
+  wire [5:0] spi_0_1_auto_control_xing_in_a_bits_source; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296155.4]
+  wire [28:0] spi_0_1_auto_control_xing_in_a_bits_address; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296155.4]
+  wire [3:0] spi_0_1_auto_control_xing_in_a_bits_mask; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296155.4]
+  wire [31:0] spi_0_1_auto_control_xing_in_a_bits_data; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296155.4]
+  wire  spi_0_1_auto_control_xing_in_a_bits_corrupt; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296155.4]
+  wire  spi_0_1_auto_control_xing_in_d_ready; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296155.4]
+  wire  spi_0_1_auto_control_xing_in_d_valid; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296155.4]
+  wire [2:0] spi_0_1_auto_control_xing_in_d_bits_opcode; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296155.4]
+  wire [1:0] spi_0_1_auto_control_xing_in_d_bits_size; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296155.4]
+  wire [5:0] spi_0_1_auto_control_xing_in_d_bits_source; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296155.4]
+  wire [31:0] spi_0_1_auto_control_xing_in_d_bits_data; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296155.4]
+  wire  spi_0_1_auto_io_out_sck; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296155.4]
+  wire  spi_0_1_auto_io_out_dq_0_i; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296155.4]
+  wire  spi_0_1_auto_io_out_dq_0_o; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296155.4]
+  wire  spi_0_1_auto_io_out_dq_0_oe; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296155.4]
+  wire  spi_0_1_auto_io_out_dq_1_i; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296155.4]
+  wire  spi_0_1_auto_io_out_dq_1_o; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296155.4]
+  wire  spi_0_1_auto_io_out_dq_1_oe; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296155.4]
+  wire  spi_0_1_auto_io_out_dq_2_i; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296155.4]
+  wire  spi_0_1_auto_io_out_dq_2_o; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296155.4]
+  wire  spi_0_1_auto_io_out_dq_2_oe; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296155.4]
+  wire  spi_0_1_auto_io_out_dq_3_i; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296155.4]
+  wire  spi_0_1_auto_io_out_dq_3_o; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296155.4]
+  wire  spi_0_1_auto_io_out_dq_3_oe; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296155.4]
+  wire  spi_0_1_auto_io_out_cs_0; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296155.4]
+  wire  spi_0_1_auto_io_out_cs_1; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296155.4]
+  wire  intsink_8_auto_in_sync_0; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296161.4]
+  wire  intsink_8_auto_out_0; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296161.4]
+  wire  asyncXing_7_clock; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296167.4]
+  wire  asyncXing_7_auto_int_in_0; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296167.4]
+  wire  asyncXing_7_auto_int_out_0; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296167.4]
+  wire  spi_1_1_clock; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296173.4]
+  wire  spi_1_1_reset; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296173.4]
+  wire  spi_1_1_auto_int_xing_out_sync_0; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296173.4]
+  wire  spi_1_1_auto_control_xing_in_a_ready; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296173.4]
+  wire  spi_1_1_auto_control_xing_in_a_valid; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296173.4]
+  wire [2:0] spi_1_1_auto_control_xing_in_a_bits_opcode; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296173.4]
+  wire [2:0] spi_1_1_auto_control_xing_in_a_bits_param; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296173.4]
+  wire [1:0] spi_1_1_auto_control_xing_in_a_bits_size; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296173.4]
+  wire [5:0] spi_1_1_auto_control_xing_in_a_bits_source; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296173.4]
+  wire [28:0] spi_1_1_auto_control_xing_in_a_bits_address; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296173.4]
+  wire [3:0] spi_1_1_auto_control_xing_in_a_bits_mask; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296173.4]
+  wire [31:0] spi_1_1_auto_control_xing_in_a_bits_data; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296173.4]
+  wire  spi_1_1_auto_control_xing_in_a_bits_corrupt; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296173.4]
+  wire  spi_1_1_auto_control_xing_in_d_ready; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296173.4]
+  wire  spi_1_1_auto_control_xing_in_d_valid; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296173.4]
+  wire [2:0] spi_1_1_auto_control_xing_in_d_bits_opcode; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296173.4]
+  wire [1:0] spi_1_1_auto_control_xing_in_d_bits_size; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296173.4]
+  wire [5:0] spi_1_1_auto_control_xing_in_d_bits_source; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296173.4]
+  wire [31:0] spi_1_1_auto_control_xing_in_d_bits_data; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296173.4]
+  wire  spi_1_1_auto_io_out_sck; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296173.4]
+  wire  spi_1_1_auto_io_out_dq_0_i; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296173.4]
+  wire  spi_1_1_auto_io_out_dq_0_o; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296173.4]
+  wire  spi_1_1_auto_io_out_dq_0_oe; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296173.4]
+  wire  spi_1_1_auto_io_out_dq_1_i; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296173.4]
+  wire  spi_1_1_auto_io_out_dq_1_o; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296173.4]
+  wire  spi_1_1_auto_io_out_dq_1_oe; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296173.4]
+  wire  spi_1_1_auto_io_out_dq_2_i; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296173.4]
+  wire  spi_1_1_auto_io_out_dq_2_o; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296173.4]
+  wire  spi_1_1_auto_io_out_dq_2_oe; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296173.4]
+  wire  spi_1_1_auto_io_out_dq_3_i; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296173.4]
+  wire  spi_1_1_auto_io_out_dq_3_o; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296173.4]
+  wire  spi_1_1_auto_io_out_dq_3_oe; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296173.4]
+  wire  spi_1_1_auto_io_out_cs_0; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296173.4]
+  wire  intsink_9_auto_in_sync_0; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296179.4]
+  wire  intsink_9_auto_out_0; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296179.4]
+  wire  asyncXing_8_clock; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
+  wire  asyncXing_8_auto_int_in_0; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
+  wire  asyncXing_8_auto_int_in_1; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
+  wire  asyncXing_8_auto_int_in_2; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
+  wire  asyncXing_8_auto_int_in_3; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
+  wire  asyncXing_8_auto_int_in_4; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
+  wire  asyncXing_8_auto_int_in_5; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
+  wire  asyncXing_8_auto_int_in_6; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
+  wire  asyncXing_8_auto_int_in_7; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
+  wire  asyncXing_8_auto_int_in_8; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
+  wire  asyncXing_8_auto_int_in_9; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
+  wire  asyncXing_8_auto_int_in_10; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
+  wire  asyncXing_8_auto_int_in_11; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
+  wire  asyncXing_8_auto_int_in_12; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
+  wire  asyncXing_8_auto_int_in_13; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
+  wire  asyncXing_8_auto_int_in_14; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
+  wire  asyncXing_8_auto_int_in_15; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
+  wire  asyncXing_8_auto_int_in_16; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
+  wire  asyncXing_8_auto_int_in_17; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
+  wire  asyncXing_8_auto_int_in_18; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
+  wire  asyncXing_8_auto_int_in_19; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
+  wire  asyncXing_8_auto_int_in_20; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
+  wire  asyncXing_8_auto_int_in_21; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
+  wire  asyncXing_8_auto_int_in_22; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
+  wire  asyncXing_8_auto_int_in_23; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
+  wire  asyncXing_8_auto_int_in_24; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
+  wire  asyncXing_8_auto_int_in_25; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
+  wire  asyncXing_8_auto_int_in_26; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
+  wire  asyncXing_8_auto_int_in_27; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
+  wire  asyncXing_8_auto_int_in_28; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
+  wire  asyncXing_8_auto_int_in_29; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
+  wire  asyncXing_8_auto_int_in_30; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
+  wire  asyncXing_8_auto_int_in_31; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
+  wire  asyncXing_8_auto_int_out_0; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
+  wire  asyncXing_8_auto_int_out_1; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
+  wire  asyncXing_8_auto_int_out_2; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
+  wire  asyncXing_8_auto_int_out_3; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
+  wire  asyncXing_8_auto_int_out_4; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
+  wire  asyncXing_8_auto_int_out_5; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
+  wire  asyncXing_8_auto_int_out_6; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
+  wire  asyncXing_8_auto_int_out_7; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
+  wire  asyncXing_8_auto_int_out_8; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
+  wire  asyncXing_8_auto_int_out_9; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
+  wire  asyncXing_8_auto_int_out_10; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
+  wire  asyncXing_8_auto_int_out_11; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
+  wire  asyncXing_8_auto_int_out_12; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
+  wire  asyncXing_8_auto_int_out_13; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
+  wire  asyncXing_8_auto_int_out_14; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
+  wire  asyncXing_8_auto_int_out_15; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
+  wire  asyncXing_8_auto_int_out_16; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
+  wire  asyncXing_8_auto_int_out_17; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
+  wire  asyncXing_8_auto_int_out_18; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
+  wire  asyncXing_8_auto_int_out_19; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
+  wire  asyncXing_8_auto_int_out_20; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
+  wire  asyncXing_8_auto_int_out_21; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
+  wire  asyncXing_8_auto_int_out_22; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
+  wire  asyncXing_8_auto_int_out_23; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
+  wire  asyncXing_8_auto_int_out_24; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
+  wire  asyncXing_8_auto_int_out_25; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
+  wire  asyncXing_8_auto_int_out_26; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
+  wire  asyncXing_8_auto_int_out_27; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
+  wire  asyncXing_8_auto_int_out_28; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
+  wire  asyncXing_8_auto_int_out_29; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
+  wire  asyncXing_8_auto_int_out_30; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
+  wire  asyncXing_8_auto_int_out_31; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
+  wire  gpio_0_1_clock; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_reset; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_int_xing_out_sync_0; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_int_xing_out_sync_1; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_int_xing_out_sync_2; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_int_xing_out_sync_3; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_int_xing_out_sync_4; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_int_xing_out_sync_5; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_int_xing_out_sync_6; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_int_xing_out_sync_7; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_int_xing_out_sync_8; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_int_xing_out_sync_9; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_int_xing_out_sync_10; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_int_xing_out_sync_11; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_int_xing_out_sync_12; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_int_xing_out_sync_13; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_int_xing_out_sync_14; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_int_xing_out_sync_15; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_int_xing_out_sync_16; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_int_xing_out_sync_17; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_int_xing_out_sync_18; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_int_xing_out_sync_19; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_int_xing_out_sync_20; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_int_xing_out_sync_21; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_int_xing_out_sync_22; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_int_xing_out_sync_23; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_int_xing_out_sync_24; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_int_xing_out_sync_25; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_int_xing_out_sync_26; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_int_xing_out_sync_27; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_int_xing_out_sync_28; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_int_xing_out_sync_29; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_int_xing_out_sync_30; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_int_xing_out_sync_31; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_control_xing_in_a_ready; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_control_xing_in_a_valid; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire [2:0] gpio_0_1_auto_control_xing_in_a_bits_opcode; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire [2:0] gpio_0_1_auto_control_xing_in_a_bits_param; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire [1:0] gpio_0_1_auto_control_xing_in_a_bits_size; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire [5:0] gpio_0_1_auto_control_xing_in_a_bits_source; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire [28:0] gpio_0_1_auto_control_xing_in_a_bits_address; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire [3:0] gpio_0_1_auto_control_xing_in_a_bits_mask; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire [31:0] gpio_0_1_auto_control_xing_in_a_bits_data; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_control_xing_in_a_bits_corrupt; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_control_xing_in_d_ready; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_control_xing_in_d_valid; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire [2:0] gpio_0_1_auto_control_xing_in_d_bits_opcode; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire [1:0] gpio_0_1_auto_control_xing_in_d_bits_size; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire [5:0] gpio_0_1_auto_control_xing_in_d_bits_source; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire [31:0] gpio_0_1_auto_control_xing_in_d_bits_data; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_pins_0_i_ival; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_pins_0_o_oval; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_pins_0_o_oe; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_pins_0_o_ie; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_pins_1_i_ival; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_pins_1_o_oval; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_pins_1_o_oe; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_pins_1_o_ie; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_pins_2_i_ival; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_pins_2_o_oval; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_pins_2_o_oe; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_pins_2_o_ie; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_pins_3_i_ival; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_pins_3_o_oval; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_pins_3_o_oe; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_pins_3_o_ie; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_pins_4_i_ival; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_pins_4_o_oval; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_pins_4_o_oe; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_pins_4_o_ie; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_pins_5_i_ival; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_pins_5_o_oval; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_pins_5_o_oe; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_pins_5_o_ie; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_pins_6_i_ival; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_pins_6_o_oval; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_pins_6_o_oe; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_pins_6_o_ie; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_pins_7_i_ival; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_pins_7_o_oval; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_pins_7_o_oe; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_pins_7_o_ie; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_pins_8_i_ival; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_pins_8_o_oval; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_pins_8_o_oe; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_pins_8_o_ie; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_pins_9_i_ival; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_pins_9_o_oval; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_pins_9_o_oe; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_pins_9_o_ie; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_pins_10_i_ival; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_pins_10_o_oval; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_pins_10_o_oe; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_pins_10_o_ie; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_pins_11_i_ival; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_pins_11_o_oval; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_pins_11_o_oe; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_pins_11_o_ie; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_pins_12_i_ival; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_pins_12_o_oval; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_pins_12_o_oe; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_pins_12_o_ie; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_pins_13_i_ival; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_pins_13_o_oval; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_pins_13_o_oe; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_pins_13_o_ie; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_pins_14_i_ival; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_pins_14_o_oval; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_pins_14_o_oe; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_pins_14_o_ie; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_pins_15_i_ival; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_pins_15_o_oval; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_pins_15_o_oe; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_pins_15_o_ie; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_pins_16_i_ival; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_pins_16_o_oval; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_pins_16_o_oe; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_pins_16_o_ie; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_pins_17_i_ival; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_pins_17_o_oval; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_pins_17_o_oe; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_pins_17_o_ie; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_pins_18_i_ival; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_pins_18_o_oval; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_pins_18_o_oe; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_pins_18_o_ie; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_pins_19_i_ival; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_pins_19_o_oval; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_pins_19_o_oe; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_pins_19_o_ie; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_pins_20_i_ival; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_pins_20_o_oval; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_pins_20_o_oe; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_pins_20_o_ie; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_pins_21_i_ival; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_pins_21_o_oval; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_pins_21_o_oe; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_pins_21_o_ie; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_pins_22_i_ival; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_pins_22_o_oval; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_pins_22_o_oe; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_pins_22_o_ie; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_pins_23_i_ival; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_pins_23_o_oval; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_pins_23_o_oe; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_pins_23_o_ie; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_pins_24_i_ival; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_pins_24_o_oval; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_pins_24_o_oe; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_pins_24_o_ie; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_iof_0_0_o_oval; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_iof_0_1_o_oval; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_iof_0_2_i_ival; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_iof_0_2_o_oval; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_iof_0_2_o_oe; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_iof_0_2_o_ie; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_iof_0_3_i_ival; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_iof_0_3_o_oval; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_iof_0_3_o_oe; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_iof_0_3_o_ie; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_iof_0_4_i_ival; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_iof_0_4_o_oval; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_iof_0_4_o_oe; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_iof_0_4_o_ie; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_iof_0_5_i_ival; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_iof_0_5_o_oval; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_iof_0_5_o_oe; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_iof_0_5_o_ie; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_iof_0_6_o_oval; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_iof_0_7_o_oval; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_iof_0_8_i_ival; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_iof_0_8_o_oval; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_iof_0_8_o_oe; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_iof_0_8_o_ie; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_iof_0_9_i_ival; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_iof_0_9_o_oval; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_iof_0_9_o_oe; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_iof_0_9_o_ie; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_iof_0_10_i_ival; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_iof_0_10_o_oval; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_iof_0_10_o_oe; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_iof_0_10_o_ie; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_iof_0_11_i_ival; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_iof_0_11_o_oval; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_iof_0_11_o_oe; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_iof_0_11_o_ie; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_iof_0_12_i_ival; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_iof_0_12_o_oe; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_iof_0_13_i_ival; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_iof_0_13_o_oe; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_iof_0_14_i_ival; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_iof_0_14_o_oe; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_iof_0_15_i_ival; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_iof_0_15_o_oe; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_iof_0_16_i_ival; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_iof_0_17_o_oval; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_iof_0_18_i_ival; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_iof_0_19_o_oval; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_iof_0_20_i_ival; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_iof_0_21_o_oval; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_iof_0_22_i_ival; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_iof_0_23_o_oval; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  gpio_0_1_auto_io_out_iof_0_24_o_oval; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+  wire  intsink_10_auto_in_sync_0; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
+  wire  intsink_10_auto_in_sync_1; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
+  wire  intsink_10_auto_in_sync_2; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
+  wire  intsink_10_auto_in_sync_3; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
+  wire  intsink_10_auto_in_sync_4; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
+  wire  intsink_10_auto_in_sync_5; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
+  wire  intsink_10_auto_in_sync_6; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
+  wire  intsink_10_auto_in_sync_7; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
+  wire  intsink_10_auto_in_sync_8; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
+  wire  intsink_10_auto_in_sync_9; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
+  wire  intsink_10_auto_in_sync_10; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
+  wire  intsink_10_auto_in_sync_11; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
+  wire  intsink_10_auto_in_sync_12; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
+  wire  intsink_10_auto_in_sync_13; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
+  wire  intsink_10_auto_in_sync_14; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
+  wire  intsink_10_auto_in_sync_15; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
+  wire  intsink_10_auto_in_sync_16; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
+  wire  intsink_10_auto_in_sync_17; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
+  wire  intsink_10_auto_in_sync_18; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
+  wire  intsink_10_auto_in_sync_19; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
+  wire  intsink_10_auto_in_sync_20; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
+  wire  intsink_10_auto_in_sync_21; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
+  wire  intsink_10_auto_in_sync_22; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
+  wire  intsink_10_auto_in_sync_23; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
+  wire  intsink_10_auto_in_sync_24; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
+  wire  intsink_10_auto_in_sync_25; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
+  wire  intsink_10_auto_in_sync_26; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
+  wire  intsink_10_auto_in_sync_27; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
+  wire  intsink_10_auto_in_sync_28; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
+  wire  intsink_10_auto_in_sync_29; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
+  wire  intsink_10_auto_in_sync_30; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
+  wire  intsink_10_auto_in_sync_31; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
+  wire  intsink_10_auto_out_0; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
+  wire  intsink_10_auto_out_1; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
+  wire  intsink_10_auto_out_2; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
+  wire  intsink_10_auto_out_3; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
+  wire  intsink_10_auto_out_4; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
+  wire  intsink_10_auto_out_5; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
+  wire  intsink_10_auto_out_6; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
+  wire  intsink_10_auto_out_7; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
+  wire  intsink_10_auto_out_8; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
+  wire  intsink_10_auto_out_9; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
+  wire  intsink_10_auto_out_10; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
+  wire  intsink_10_auto_out_11; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
+  wire  intsink_10_auto_out_12; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
+  wire  intsink_10_auto_out_13; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
+  wire  intsink_10_auto_out_14; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
+  wire  intsink_10_auto_out_15; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
+  wire  intsink_10_auto_out_16; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
+  wire  intsink_10_auto_out_17; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
+  wire  intsink_10_auto_out_18; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
+  wire  intsink_10_auto_out_19; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
+  wire  intsink_10_auto_out_20; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
+  wire  intsink_10_auto_out_21; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
+  wire  intsink_10_auto_out_22; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
+  wire  intsink_10_auto_out_23; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
+  wire  intsink_10_auto_out_24; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
+  wire  intsink_10_auto_out_25; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
+  wire  intsink_10_auto_out_26; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
+  wire  intsink_10_auto_out_27; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
+  wire  intsink_10_auto_out_28; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
+  wire  intsink_10_auto_out_29; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
+  wire  intsink_10_auto_out_30; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
+  wire  intsink_10_auto_out_31; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
+  wire  asyncXing_9_clock; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296203.4]
+  wire  asyncXing_9_auto_int_in_0; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296203.4]
+  wire  asyncXing_9_auto_int_out_0; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296203.4]
+  wire  i2c_0_1_clock; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296209.4]
+  wire  i2c_0_1_reset; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296209.4]
+  wire  i2c_0_1_auto_int_xing_out_sync_0; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296209.4]
+  wire  i2c_0_1_auto_control_xing_in_a_ready; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296209.4]
+  wire  i2c_0_1_auto_control_xing_in_a_valid; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296209.4]
+  wire [2:0] i2c_0_1_auto_control_xing_in_a_bits_opcode; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296209.4]
+  wire [2:0] i2c_0_1_auto_control_xing_in_a_bits_param; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296209.4]
+  wire [1:0] i2c_0_1_auto_control_xing_in_a_bits_size; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296209.4]
+  wire [5:0] i2c_0_1_auto_control_xing_in_a_bits_source; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296209.4]
+  wire [28:0] i2c_0_1_auto_control_xing_in_a_bits_address; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296209.4]
+  wire [3:0] i2c_0_1_auto_control_xing_in_a_bits_mask; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296209.4]
+  wire [31:0] i2c_0_1_auto_control_xing_in_a_bits_data; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296209.4]
+  wire  i2c_0_1_auto_control_xing_in_a_bits_corrupt; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296209.4]
+  wire  i2c_0_1_auto_control_xing_in_d_ready; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296209.4]
+  wire  i2c_0_1_auto_control_xing_in_d_valid; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296209.4]
+  wire [2:0] i2c_0_1_auto_control_xing_in_d_bits_opcode; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296209.4]
+  wire [1:0] i2c_0_1_auto_control_xing_in_d_bits_size; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296209.4]
+  wire [5:0] i2c_0_1_auto_control_xing_in_d_bits_source; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296209.4]
+  wire [31:0] i2c_0_1_auto_control_xing_in_d_bits_data; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296209.4]
+  wire  i2c_0_1_auto_io_out_scl_in; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296209.4]
+  wire  i2c_0_1_auto_io_out_scl_oe; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296209.4]
+  wire  i2c_0_1_auto_io_out_sda_in; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296209.4]
+  wire  i2c_0_1_auto_io_out_sda_oe; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296209.4]
+  wire  intsink_11_auto_in_sync_0; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296215.4]
+  wire  intsink_11_auto_out_0; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296215.4]
+  wire  asyncXing_10_clock; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296221.4]
+  wire  asyncXing_10_auto_int_in_0; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296221.4]
+  wire  asyncXing_10_auto_int_out_0; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296221.4]
+  wire  i2c_1_1_clock; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296227.4]
+  wire  i2c_1_1_reset; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296227.4]
+  wire  i2c_1_1_auto_int_xing_out_sync_0; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296227.4]
+  wire  i2c_1_1_auto_control_xing_in_a_ready; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296227.4]
+  wire  i2c_1_1_auto_control_xing_in_a_valid; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296227.4]
+  wire [2:0] i2c_1_1_auto_control_xing_in_a_bits_opcode; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296227.4]
+  wire [2:0] i2c_1_1_auto_control_xing_in_a_bits_param; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296227.4]
+  wire [1:0] i2c_1_1_auto_control_xing_in_a_bits_size; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296227.4]
+  wire [5:0] i2c_1_1_auto_control_xing_in_a_bits_source; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296227.4]
+  wire [28:0] i2c_1_1_auto_control_xing_in_a_bits_address; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296227.4]
+  wire [3:0] i2c_1_1_auto_control_xing_in_a_bits_mask; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296227.4]
+  wire [31:0] i2c_1_1_auto_control_xing_in_a_bits_data; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296227.4]
+  wire  i2c_1_1_auto_control_xing_in_a_bits_corrupt; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296227.4]
+  wire  i2c_1_1_auto_control_xing_in_d_ready; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296227.4]
+  wire  i2c_1_1_auto_control_xing_in_d_valid; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296227.4]
+  wire [2:0] i2c_1_1_auto_control_xing_in_d_bits_opcode; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296227.4]
+  wire [1:0] i2c_1_1_auto_control_xing_in_d_bits_size; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296227.4]
+  wire [5:0] i2c_1_1_auto_control_xing_in_d_bits_source; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296227.4]
+  wire [31:0] i2c_1_1_auto_control_xing_in_d_bits_data; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296227.4]
+  wire  i2c_1_1_auto_io_out_scl_in; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296227.4]
+  wire  i2c_1_1_auto_io_out_scl_oe; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296227.4]
+  wire  i2c_1_1_auto_io_out_sda_in; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296227.4]
+  wire  i2c_1_1_auto_io_out_sda_oe; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296227.4]
+  wire  intsink_12_auto_in_sync_0; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296233.4]
+  wire  intsink_12_auto_out_0; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296233.4]
+  wire  dtm_clock; // @[Periphery.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@296442.4]
+  wire  dtm_reset; // @[Periphery.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@296442.4]
+  wire  dtm_io_dmi_req_ready; // @[Periphery.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@296442.4]
+  wire  dtm_io_dmi_req_valid; // @[Periphery.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@296442.4]
+  wire [6:0] dtm_io_dmi_req_bits_addr; // @[Periphery.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@296442.4]
+  wire [31:0] dtm_io_dmi_req_bits_data; // @[Periphery.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@296442.4]
+  wire [1:0] dtm_io_dmi_req_bits_op; // @[Periphery.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@296442.4]
+  wire  dtm_io_dmi_resp_ready; // @[Periphery.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@296442.4]
+  wire  dtm_io_dmi_resp_valid; // @[Periphery.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@296442.4]
+  wire [31:0] dtm_io_dmi_resp_bits_data; // @[Periphery.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@296442.4]
+  wire [1:0] dtm_io_dmi_resp_bits_resp; // @[Periphery.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@296442.4]
+  wire  dtm_io_jtag_TMS; // @[Periphery.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@296442.4]
+  wire  dtm_io_jtag_TDI; // @[Periphery.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@296442.4]
+  wire  dtm_io_jtag_TDO_data; // @[Periphery.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@296442.4]
+  wire  dtm_io_jtag_TDO_driven; // @[Periphery.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@296442.4]
+  wire  dtm_io_jtag_reset; // @[Periphery.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@296442.4]
+  wire  dtm_io_fsmReset; // @[Periphery.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@296442.4]
+  wire  dmiResetCatch_clock; // @[ResetCatchAndSync.scala 39:28:shc.marmotcaravel.MarmotCaravelConfig.fir@296465.4]
+  wire  dmiResetCatch_reset; // @[ResetCatchAndSync.scala 39:28:shc.marmotcaravel.MarmotCaravelConfig.fir@296465.4]
+  wire  dmiResetCatch_io_sync_reset; // @[ResetCatchAndSync.scala 39:28:shc.marmotcaravel.MarmotCaravelConfig.fir@296465.4]
+  wire  rtc_clock; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@296493.4]
+  wire  rtc_io_d; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@296493.4]
+  wire  rtc_io_q; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@296493.4]
+  wire  _T_2162; // @[Periphery.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@296460.4]
+  reg  rtc_last; // @[MockAONPeriphery.scala 45:21:shc.marmotcaravel.MarmotCaravelConfig.fir@296501.4]
+  reg [31:0] _RAND_0;
+  wire  _T_3451; // @[MockAONPeriphery.scala 46:60:shc.marmotcaravel.MarmotCaravelConfig.fir@296503.4]
+  wire  rtc_sync; // @[ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@296498.4 ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@296500.4]
+  wire  _T_3452; // @[MockAONPeriphery.scala 46:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296504.4]
+  reg  rtc_tick; // @[MockAONPeriphery.scala 46:21:shc.marmotcaravel.MarmotCaravelConfig.fir@296505.4]
+  reg [31:0] _RAND_1;
+  wire [31:0] global_reset_vector; // @[ResetVector.scala 10:33:shc.marmotcaravel.MarmotCaravelConfig.fir@296434.4 System.scala 46:23:shc.marmotcaravel.MarmotCaravelConfig.fir@296511.4]
+  wire  tile_inputs_0_hartid; // @[HasTiles.scala 137:35:shc.marmotcaravel.MarmotCaravelConfig.fir@296436.4 RocketSubsystem.scala 74:17:shc.marmotcaravel.MarmotCaravelConfig.fir@296476.4]
+  wire [31:0] tile_inputs_0_reset_vector; // @[HasTiles.scala 137:35:shc.marmotcaravel.MarmotCaravelConfig.fir@296436.4 RocketSubsystem.scala 75:23:shc.marmotcaravel.MarmotCaravelConfig.fir@296477.4]
+  wire  tile_inputs_0_clock; // @[HasTiles.scala 137:35:shc.marmotcaravel.MarmotCaravelConfig.fir@296436.4 RocketSubsystem.scala 72:16:shc.marmotcaravel.MarmotCaravelConfig.fir@296474.4]
+  wire  tile_inputs_0_reset; // @[HasTiles.scala 137:35:shc.marmotcaravel.MarmotCaravelConfig.fir@296436.4 RocketSubsystem.scala 73:16:shc.marmotcaravel.MarmotCaravelConfig.fir@296475.4]
+  IntXbar int_bus ( // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
+    .auto_int_in_11_0(int_bus_auto_int_in_11_0),
+    .auto_int_in_10_0(int_bus_auto_int_in_10_0),
+    .auto_int_in_9_0(int_bus_auto_int_in_9_0),
+    .auto_int_in_9_1(int_bus_auto_int_in_9_1),
+    .auto_int_in_9_2(int_bus_auto_int_in_9_2),
+    .auto_int_in_9_3(int_bus_auto_int_in_9_3),
+    .auto_int_in_9_4(int_bus_auto_int_in_9_4),
+    .auto_int_in_9_5(int_bus_auto_int_in_9_5),
+    .auto_int_in_9_6(int_bus_auto_int_in_9_6),
+    .auto_int_in_9_7(int_bus_auto_int_in_9_7),
+    .auto_int_in_9_8(int_bus_auto_int_in_9_8),
+    .auto_int_in_9_9(int_bus_auto_int_in_9_9),
+    .auto_int_in_9_10(int_bus_auto_int_in_9_10),
+    .auto_int_in_9_11(int_bus_auto_int_in_9_11),
+    .auto_int_in_9_12(int_bus_auto_int_in_9_12),
+    .auto_int_in_9_13(int_bus_auto_int_in_9_13),
+    .auto_int_in_9_14(int_bus_auto_int_in_9_14),
+    .auto_int_in_9_15(int_bus_auto_int_in_9_15),
+    .auto_int_in_9_16(int_bus_auto_int_in_9_16),
+    .auto_int_in_9_17(int_bus_auto_int_in_9_17),
+    .auto_int_in_9_18(int_bus_auto_int_in_9_18),
+    .auto_int_in_9_19(int_bus_auto_int_in_9_19),
+    .auto_int_in_9_20(int_bus_auto_int_in_9_20),
+    .auto_int_in_9_21(int_bus_auto_int_in_9_21),
+    .auto_int_in_9_22(int_bus_auto_int_in_9_22),
+    .auto_int_in_9_23(int_bus_auto_int_in_9_23),
+    .auto_int_in_9_24(int_bus_auto_int_in_9_24),
+    .auto_int_in_9_25(int_bus_auto_int_in_9_25),
+    .auto_int_in_9_26(int_bus_auto_int_in_9_26),
+    .auto_int_in_9_27(int_bus_auto_int_in_9_27),
+    .auto_int_in_9_28(int_bus_auto_int_in_9_28),
+    .auto_int_in_9_29(int_bus_auto_int_in_9_29),
+    .auto_int_in_9_30(int_bus_auto_int_in_9_30),
+    .auto_int_in_9_31(int_bus_auto_int_in_9_31),
+    .auto_int_in_8_0(int_bus_auto_int_in_8_0),
+    .auto_int_in_7_0(int_bus_auto_int_in_7_0),
+    .auto_int_in_6_0(int_bus_auto_int_in_6_0),
+    .auto_int_in_5_0(int_bus_auto_int_in_5_0),
+    .auto_int_in_4_0(int_bus_auto_int_in_4_0),
+    .auto_int_in_3_0(int_bus_auto_int_in_3_0),
+    .auto_int_in_2_0(int_bus_auto_int_in_2_0),
+    .auto_int_in_1_0(int_bus_auto_int_in_1_0),
+    .auto_int_in_0_0(int_bus_auto_int_in_0_0),
+    .auto_int_in_0_1(int_bus_auto_int_in_0_1),
+    .auto_int_out_0(int_bus_auto_int_out_0),
+    .auto_int_out_1(int_bus_auto_int_out_1),
+    .auto_int_out_2(int_bus_auto_int_out_2),
+    .auto_int_out_3(int_bus_auto_int_out_3),
+    .auto_int_out_4(int_bus_auto_int_out_4),
+    .auto_int_out_5(int_bus_auto_int_out_5),
+    .auto_int_out_6(int_bus_auto_int_out_6),
+    .auto_int_out_7(int_bus_auto_int_out_7),
+    .auto_int_out_8(int_bus_auto_int_out_8),
+    .auto_int_out_9(int_bus_auto_int_out_9),
+    .auto_int_out_10(int_bus_auto_int_out_10),
+    .auto_int_out_11(int_bus_auto_int_out_11),
+    .auto_int_out_12(int_bus_auto_int_out_12),
+    .auto_int_out_13(int_bus_auto_int_out_13),
+    .auto_int_out_14(int_bus_auto_int_out_14),
+    .auto_int_out_15(int_bus_auto_int_out_15),
+    .auto_int_out_16(int_bus_auto_int_out_16),
+    .auto_int_out_17(int_bus_auto_int_out_17),
+    .auto_int_out_18(int_bus_auto_int_out_18),
+    .auto_int_out_19(int_bus_auto_int_out_19),
+    .auto_int_out_20(int_bus_auto_int_out_20),
+    .auto_int_out_21(int_bus_auto_int_out_21),
+    .auto_int_out_22(int_bus_auto_int_out_22),
+    .auto_int_out_23(int_bus_auto_int_out_23),
+    .auto_int_out_24(int_bus_auto_int_out_24),
+    .auto_int_out_25(int_bus_auto_int_out_25),
+    .auto_int_out_26(int_bus_auto_int_out_26),
+    .auto_int_out_27(int_bus_auto_int_out_27),
+    .auto_int_out_28(int_bus_auto_int_out_28),
+    .auto_int_out_29(int_bus_auto_int_out_29),
+    .auto_int_out_30(int_bus_auto_int_out_30),
+    .auto_int_out_31(int_bus_auto_int_out_31),
+    .auto_int_out_32(int_bus_auto_int_out_32),
+    .auto_int_out_33(int_bus_auto_int_out_33),
+    .auto_int_out_34(int_bus_auto_int_out_34),
+    .auto_int_out_35(int_bus_auto_int_out_35),
+    .auto_int_out_36(int_bus_auto_int_out_36),
+    .auto_int_out_37(int_bus_auto_int_out_37),
+    .auto_int_out_38(int_bus_auto_int_out_38),
+    .auto_int_out_39(int_bus_auto_int_out_39),
+    .auto_int_out_40(int_bus_auto_int_out_40),
+    .auto_int_out_41(int_bus_auto_int_out_41),
+    .auto_int_out_42(int_bus_auto_int_out_42),
+    .auto_int_out_43(int_bus_auto_int_out_43)
+  );
+  SystemBus sbus ( // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
+    .clock(sbus_clock),
+    .reset(sbus_reset),
+    .auto_coupler_from_tile_named_tile_tl_master_xing_in_a_ready(sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_a_ready),
+    .auto_coupler_from_tile_named_tile_tl_master_xing_in_a_valid(sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_a_valid),
+    .auto_coupler_from_tile_named_tile_tl_master_xing_in_a_bits_opcode(sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_a_bits_opcode),
+    .auto_coupler_from_tile_named_tile_tl_master_xing_in_a_bits_param(sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_a_bits_param),
+    .auto_coupler_from_tile_named_tile_tl_master_xing_in_a_bits_size(sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_a_bits_size),
+    .auto_coupler_from_tile_named_tile_tl_master_xing_in_a_bits_source(sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_a_bits_source),
+    .auto_coupler_from_tile_named_tile_tl_master_xing_in_a_bits_address(sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_a_bits_address),
+    .auto_coupler_from_tile_named_tile_tl_master_xing_in_a_bits_mask(sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_a_bits_mask),
+    .auto_coupler_from_tile_named_tile_tl_master_xing_in_a_bits_data(sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_a_bits_data),
+    .auto_coupler_from_tile_named_tile_tl_master_xing_in_a_bits_corrupt(sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_a_bits_corrupt),
+    .auto_coupler_from_tile_named_tile_tl_master_xing_in_d_ready(sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_d_ready),
+    .auto_coupler_from_tile_named_tile_tl_master_xing_in_d_valid(sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_d_valid),
+    .auto_coupler_from_tile_named_tile_tl_master_xing_in_d_bits_opcode(sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_d_bits_opcode),
+    .auto_coupler_from_tile_named_tile_tl_master_xing_in_d_bits_param(sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_d_bits_param),
+    .auto_coupler_from_tile_named_tile_tl_master_xing_in_d_bits_size(sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_d_bits_size),
+    .auto_coupler_from_tile_named_tile_tl_master_xing_in_d_bits_source(sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_d_bits_source),
+    .auto_coupler_from_tile_named_tile_tl_master_xing_in_d_bits_sink(sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_d_bits_sink),
+    .auto_coupler_from_tile_named_tile_tl_master_xing_in_d_bits_denied(sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_d_bits_denied),
+    .auto_coupler_from_tile_named_tile_tl_master_xing_in_d_bits_data(sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_d_bits_data),
+    .auto_coupler_from_tile_named_tile_tl_master_xing_in_d_bits_corrupt(sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_d_bits_corrupt),
+    .auto_control_bus_coupler_to_slave_named_aon_asource_out_a_mem_0_opcode(sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_a_mem_0_opcode),
+    .auto_control_bus_coupler_to_slave_named_aon_asource_out_a_mem_0_param(sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_a_mem_0_param),
+    .auto_control_bus_coupler_to_slave_named_aon_asource_out_a_mem_0_size(sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_a_mem_0_size),
+    .auto_control_bus_coupler_to_slave_named_aon_asource_out_a_mem_0_source(sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_a_mem_0_source),
+    .auto_control_bus_coupler_to_slave_named_aon_asource_out_a_mem_0_address(sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_a_mem_0_address),
+    .auto_control_bus_coupler_to_slave_named_aon_asource_out_a_mem_0_mask(sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_a_mem_0_mask),
+    .auto_control_bus_coupler_to_slave_named_aon_asource_out_a_mem_0_data(sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_a_mem_0_data),
+    .auto_control_bus_coupler_to_slave_named_aon_asource_out_a_mem_0_corrupt(sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_a_mem_0_corrupt),
+    .auto_control_bus_coupler_to_slave_named_aon_asource_out_a_ridx(sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_a_ridx),
+    .auto_control_bus_coupler_to_slave_named_aon_asource_out_a_widx(sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_a_widx),
+    .auto_control_bus_coupler_to_slave_named_aon_asource_out_a_safe_ridx_valid(sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_a_safe_ridx_valid),
+    .auto_control_bus_coupler_to_slave_named_aon_asource_out_a_safe_widx_valid(sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_a_safe_widx_valid),
+    .auto_control_bus_coupler_to_slave_named_aon_asource_out_a_safe_source_reset_n(sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_a_safe_source_reset_n),
+    .auto_control_bus_coupler_to_slave_named_aon_asource_out_a_safe_sink_reset_n(sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_a_safe_sink_reset_n),
+    .auto_control_bus_coupler_to_slave_named_aon_asource_out_d_mem_0_opcode(sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_d_mem_0_opcode),
+    .auto_control_bus_coupler_to_slave_named_aon_asource_out_d_mem_0_param(sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_d_mem_0_param),
+    .auto_control_bus_coupler_to_slave_named_aon_asource_out_d_mem_0_size(sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_d_mem_0_size),
+    .auto_control_bus_coupler_to_slave_named_aon_asource_out_d_mem_0_source(sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_d_mem_0_source),
+    .auto_control_bus_coupler_to_slave_named_aon_asource_out_d_mem_0_sink(sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_d_mem_0_sink),
+    .auto_control_bus_coupler_to_slave_named_aon_asource_out_d_mem_0_denied(sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_d_mem_0_denied),
+    .auto_control_bus_coupler_to_slave_named_aon_asource_out_d_mem_0_data(sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_d_mem_0_data),
+    .auto_control_bus_coupler_to_slave_named_aon_asource_out_d_mem_0_corrupt(sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_d_mem_0_corrupt),
+    .auto_control_bus_coupler_to_slave_named_aon_asource_out_d_ridx(sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_d_ridx),
+    .auto_control_bus_coupler_to_slave_named_aon_asource_out_d_widx(sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_d_widx),
+    .auto_control_bus_coupler_to_slave_named_aon_asource_out_d_safe_ridx_valid(sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_d_safe_ridx_valid),
+    .auto_control_bus_coupler_to_slave_named_aon_asource_out_d_safe_widx_valid(sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_d_safe_widx_valid),
+    .auto_control_bus_coupler_to_slave_named_aon_asource_out_d_safe_source_reset_n(sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_d_safe_source_reset_n),
+    .auto_control_bus_coupler_to_slave_named_aon_asource_out_d_safe_sink_reset_n(sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_d_safe_sink_reset_n),
+    .auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_a_ready(sbus_auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_a_ready),
+    .auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_a_valid(sbus_auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_a_valid),
+    .auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_opcode(sbus_auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_opcode),
+    .auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_param(sbus_auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_param),
+    .auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_size(sbus_auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_size),
+    .auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_source(sbus_auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_source),
+    .auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_address(sbus_auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_address),
+    .auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_mask(sbus_auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_mask),
+    .auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_corrupt(sbus_auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_corrupt),
+    .auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_d_ready(sbus_auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_d_ready),
+    .auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_d_valid(sbus_auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_d_valid),
+    .auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_d_bits_size(sbus_auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_d_bits_size),
+    .auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_d_bits_source(sbus_auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_d_bits_source),
+    .auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_d_bits_data(sbus_auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_d_bits_data),
+    .auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_ready(sbus_auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_ready),
+    .auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_valid(sbus_auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_valid),
+    .auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_opcode(sbus_auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_opcode),
+    .auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_param(sbus_auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_param),
+    .auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_size(sbus_auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_size),
+    .auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_source(sbus_auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_source),
+    .auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_address(sbus_auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_address),
+    .auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_mask(sbus_auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_mask),
+    .auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_data(sbus_auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_data),
+    .auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_corrupt(sbus_auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_corrupt),
+    .auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_ready(sbus_auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_ready),
+    .auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_valid(sbus_auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_valid),
+    .auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_opcode(sbus_auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_opcode),
+    .auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_param(sbus_auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_param),
+    .auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_size(sbus_auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_size),
+    .auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_source(sbus_auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_source),
+    .auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_sink(sbus_auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_sink),
+    .auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_denied(sbus_auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_denied),
+    .auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_data(sbus_auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_data),
+    .auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_corrupt(sbus_auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_corrupt),
+    .auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_ready(sbus_auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_ready),
+    .auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_valid(sbus_auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_valid),
+    .auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_bits_opcode(sbus_auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_bits_opcode),
+    .auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_bits_param(sbus_auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_bits_param),
+    .auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_bits_size(sbus_auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_bits_size),
+    .auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_bits_source(sbus_auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_bits_source),
+    .auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_bits_address(sbus_auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_bits_address),
+    .auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_bits_mask(sbus_auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_bits_mask),
+    .auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_bits_data(sbus_auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_bits_data),
+    .auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_bits_corrupt(sbus_auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_bits_corrupt),
+    .auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_d_ready(sbus_auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_d_ready),
+    .auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_d_valid(sbus_auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_d_valid),
+    .auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_d_bits_opcode(sbus_auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_d_bits_opcode),
+    .auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_d_bits_size(sbus_auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_d_bits_size),
+    .auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_d_bits_source(sbus_auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_d_bits_source),
+    .auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_d_bits_data(sbus_auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_d_bits_data),
+    .auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_ready(sbus_auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_ready),
+    .auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_valid(sbus_auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_valid),
+    .auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_bits_opcode(sbus_auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_bits_opcode),
+    .auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_bits_param(sbus_auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_bits_param),
+    .auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_bits_size(sbus_auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_bits_size),
+    .auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_bits_source(sbus_auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_bits_source),
+    .auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_bits_address(sbus_auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_bits_address),
+    .auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_bits_mask(sbus_auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_bits_mask),
+    .auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_bits_data(sbus_auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_bits_data),
+    .auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_bits_corrupt(sbus_auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_bits_corrupt),
+    .auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_d_ready(sbus_auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_d_ready),
+    .auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_d_valid(sbus_auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_d_valid),
+    .auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_d_bits_opcode(sbus_auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_d_bits_opcode),
+    .auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_d_bits_size(sbus_auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_d_bits_size),
+    .auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_d_bits_source(sbus_auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_d_bits_source),
+    .auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_d_bits_data(sbus_auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_d_bits_data),
+    .auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_ready(sbus_auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_ready),
+    .auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_valid(sbus_auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_valid),
+    .auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_bits_opcode(sbus_auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_bits_opcode),
+    .auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_bits_param(sbus_auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_bits_param),
+    .auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_bits_size(sbus_auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_bits_size),
+    .auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_bits_source(sbus_auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_bits_source),
+    .auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_bits_address(sbus_auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_bits_address),
+    .auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_bits_mask(sbus_auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_bits_mask),
+    .auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_bits_data(sbus_auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_bits_data),
+    .auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_bits_corrupt(sbus_auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_bits_corrupt),
+    .auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_d_ready(sbus_auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_d_ready),
+    .auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_d_valid(sbus_auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_d_valid),
+    .auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_d_bits_opcode(sbus_auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_d_bits_opcode),
+    .auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_d_bits_size(sbus_auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_d_bits_size),
+    .auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_d_bits_source(sbus_auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_d_bits_source),
+    .auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_d_bits_data(sbus_auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_d_bits_data),
+    .auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_ready(sbus_auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_ready),
+    .auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_valid(sbus_auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_valid),
+    .auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_bits_opcode(sbus_auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_bits_opcode),
+    .auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_bits_param(sbus_auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_bits_param),
+    .auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_bits_size(sbus_auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_bits_size),
+    .auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_bits_source(sbus_auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_bits_source),
+    .auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_bits_address(sbus_auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_bits_address),
+    .auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_bits_mask(sbus_auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_bits_mask),
+    .auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_bits_data(sbus_auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_bits_data),
+    .auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_bits_corrupt(sbus_auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_bits_corrupt),
+    .auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_ready(sbus_auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_ready),
+    .auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_valid(sbus_auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_valid),
+    .auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_bits_opcode(sbus_auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_bits_opcode),
+    .auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_bits_param(sbus_auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_bits_param),
+    .auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_bits_size(sbus_auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_bits_size),
+    .auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_bits_source(sbus_auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_bits_source),
+    .auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_bits_sink(sbus_auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_bits_sink),
+    .auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_bits_denied(sbus_auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_bits_denied),
+    .auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_bits_data(sbus_auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_bits_data),
+    .auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_bits_corrupt(sbus_auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_bits_corrupt)
+  );
+  PeripheryBus_1 pbus ( // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
+    .clock(pbus_clock),
+    .reset(pbus_reset),
+    .auto_coupler_to_device_named_i2c_1_control_xing_out_a_ready(pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_a_ready),
+    .auto_coupler_to_device_named_i2c_1_control_xing_out_a_valid(pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_a_valid),
+    .auto_coupler_to_device_named_i2c_1_control_xing_out_a_bits_opcode(pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_a_bits_opcode),
+    .auto_coupler_to_device_named_i2c_1_control_xing_out_a_bits_param(pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_a_bits_param),
+    .auto_coupler_to_device_named_i2c_1_control_xing_out_a_bits_size(pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_a_bits_size),
+    .auto_coupler_to_device_named_i2c_1_control_xing_out_a_bits_source(pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_a_bits_source),
+    .auto_coupler_to_device_named_i2c_1_control_xing_out_a_bits_address(pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_a_bits_address),
+    .auto_coupler_to_device_named_i2c_1_control_xing_out_a_bits_mask(pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_a_bits_mask),
+    .auto_coupler_to_device_named_i2c_1_control_xing_out_a_bits_data(pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_a_bits_data),
+    .auto_coupler_to_device_named_i2c_1_control_xing_out_a_bits_corrupt(pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_a_bits_corrupt),
+    .auto_coupler_to_device_named_i2c_1_control_xing_out_d_ready(pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_d_ready),
+    .auto_coupler_to_device_named_i2c_1_control_xing_out_d_valid(pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_d_valid),
+    .auto_coupler_to_device_named_i2c_1_control_xing_out_d_bits_opcode(pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_d_bits_opcode),
+    .auto_coupler_to_device_named_i2c_1_control_xing_out_d_bits_size(pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_d_bits_size),
+    .auto_coupler_to_device_named_i2c_1_control_xing_out_d_bits_source(pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_d_bits_source),
+    .auto_coupler_to_device_named_i2c_1_control_xing_out_d_bits_data(pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_d_bits_data),
+    .auto_coupler_to_device_named_i2c_0_control_xing_out_a_ready(pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_a_ready),
+    .auto_coupler_to_device_named_i2c_0_control_xing_out_a_valid(pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_a_valid),
+    .auto_coupler_to_device_named_i2c_0_control_xing_out_a_bits_opcode(pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_a_bits_opcode),
+    .auto_coupler_to_device_named_i2c_0_control_xing_out_a_bits_param(pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_a_bits_param),
+    .auto_coupler_to_device_named_i2c_0_control_xing_out_a_bits_size(pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_a_bits_size),
+    .auto_coupler_to_device_named_i2c_0_control_xing_out_a_bits_source(pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_a_bits_source),
+    .auto_coupler_to_device_named_i2c_0_control_xing_out_a_bits_address(pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_a_bits_address),
+    .auto_coupler_to_device_named_i2c_0_control_xing_out_a_bits_mask(pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_a_bits_mask),
+    .auto_coupler_to_device_named_i2c_0_control_xing_out_a_bits_data(pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_a_bits_data),
+    .auto_coupler_to_device_named_i2c_0_control_xing_out_a_bits_corrupt(pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_a_bits_corrupt),
+    .auto_coupler_to_device_named_i2c_0_control_xing_out_d_ready(pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_d_ready),
+    .auto_coupler_to_device_named_i2c_0_control_xing_out_d_valid(pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_d_valid),
+    .auto_coupler_to_device_named_i2c_0_control_xing_out_d_bits_opcode(pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_d_bits_opcode),
+    .auto_coupler_to_device_named_i2c_0_control_xing_out_d_bits_size(pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_d_bits_size),
+    .auto_coupler_to_device_named_i2c_0_control_xing_out_d_bits_source(pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_d_bits_source),
+    .auto_coupler_to_device_named_i2c_0_control_xing_out_d_bits_data(pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_d_bits_data),
+    .auto_coupler_to_device_named_gpio_0_control_xing_out_a_ready(pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_a_ready),
+    .auto_coupler_to_device_named_gpio_0_control_xing_out_a_valid(pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_a_valid),
+    .auto_coupler_to_device_named_gpio_0_control_xing_out_a_bits_opcode(pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_a_bits_opcode),
+    .auto_coupler_to_device_named_gpio_0_control_xing_out_a_bits_param(pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_a_bits_param),
+    .auto_coupler_to_device_named_gpio_0_control_xing_out_a_bits_size(pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_a_bits_size),
+    .auto_coupler_to_device_named_gpio_0_control_xing_out_a_bits_source(pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_a_bits_source),
+    .auto_coupler_to_device_named_gpio_0_control_xing_out_a_bits_address(pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_a_bits_address),
+    .auto_coupler_to_device_named_gpio_0_control_xing_out_a_bits_mask(pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_a_bits_mask),
+    .auto_coupler_to_device_named_gpio_0_control_xing_out_a_bits_data(pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_a_bits_data),
+    .auto_coupler_to_device_named_gpio_0_control_xing_out_a_bits_corrupt(pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_a_bits_corrupt),
+    .auto_coupler_to_device_named_gpio_0_control_xing_out_d_ready(pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_d_ready),
+    .auto_coupler_to_device_named_gpio_0_control_xing_out_d_valid(pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_d_valid),
+    .auto_coupler_to_device_named_gpio_0_control_xing_out_d_bits_opcode(pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_d_bits_opcode),
+    .auto_coupler_to_device_named_gpio_0_control_xing_out_d_bits_size(pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_d_bits_size),
+    .auto_coupler_to_device_named_gpio_0_control_xing_out_d_bits_source(pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_d_bits_source),
+    .auto_coupler_to_device_named_gpio_0_control_xing_out_d_bits_data(pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_d_bits_data),
+    .auto_coupler_to_device_named_spi_1_control_xing_out_a_ready(pbus_auto_coupler_to_device_named_spi_1_control_xing_out_a_ready),
+    .auto_coupler_to_device_named_spi_1_control_xing_out_a_valid(pbus_auto_coupler_to_device_named_spi_1_control_xing_out_a_valid),
+    .auto_coupler_to_device_named_spi_1_control_xing_out_a_bits_opcode(pbus_auto_coupler_to_device_named_spi_1_control_xing_out_a_bits_opcode),
+    .auto_coupler_to_device_named_spi_1_control_xing_out_a_bits_param(pbus_auto_coupler_to_device_named_spi_1_control_xing_out_a_bits_param),
+    .auto_coupler_to_device_named_spi_1_control_xing_out_a_bits_size(pbus_auto_coupler_to_device_named_spi_1_control_xing_out_a_bits_size),
+    .auto_coupler_to_device_named_spi_1_control_xing_out_a_bits_source(pbus_auto_coupler_to_device_named_spi_1_control_xing_out_a_bits_source),
+    .auto_coupler_to_device_named_spi_1_control_xing_out_a_bits_address(pbus_auto_coupler_to_device_named_spi_1_control_xing_out_a_bits_address),
+    .auto_coupler_to_device_named_spi_1_control_xing_out_a_bits_mask(pbus_auto_coupler_to_device_named_spi_1_control_xing_out_a_bits_mask),
+    .auto_coupler_to_device_named_spi_1_control_xing_out_a_bits_data(pbus_auto_coupler_to_device_named_spi_1_control_xing_out_a_bits_data),
+    .auto_coupler_to_device_named_spi_1_control_xing_out_a_bits_corrupt(pbus_auto_coupler_to_device_named_spi_1_control_xing_out_a_bits_corrupt),
+    .auto_coupler_to_device_named_spi_1_control_xing_out_d_ready(pbus_auto_coupler_to_device_named_spi_1_control_xing_out_d_ready),
+    .auto_coupler_to_device_named_spi_1_control_xing_out_d_valid(pbus_auto_coupler_to_device_named_spi_1_control_xing_out_d_valid),
+    .auto_coupler_to_device_named_spi_1_control_xing_out_d_bits_opcode(pbus_auto_coupler_to_device_named_spi_1_control_xing_out_d_bits_opcode),
+    .auto_coupler_to_device_named_spi_1_control_xing_out_d_bits_size(pbus_auto_coupler_to_device_named_spi_1_control_xing_out_d_bits_size),
+    .auto_coupler_to_device_named_spi_1_control_xing_out_d_bits_source(pbus_auto_coupler_to_device_named_spi_1_control_xing_out_d_bits_source),
+    .auto_coupler_to_device_named_spi_1_control_xing_out_d_bits_data(pbus_auto_coupler_to_device_named_spi_1_control_xing_out_d_bits_data),
+    .auto_coupler_to_device_named_spi_0_control_xing_out_a_ready(pbus_auto_coupler_to_device_named_spi_0_control_xing_out_a_ready),
+    .auto_coupler_to_device_named_spi_0_control_xing_out_a_valid(pbus_auto_coupler_to_device_named_spi_0_control_xing_out_a_valid),
+    .auto_coupler_to_device_named_spi_0_control_xing_out_a_bits_opcode(pbus_auto_coupler_to_device_named_spi_0_control_xing_out_a_bits_opcode),
+    .auto_coupler_to_device_named_spi_0_control_xing_out_a_bits_param(pbus_auto_coupler_to_device_named_spi_0_control_xing_out_a_bits_param),
+    .auto_coupler_to_device_named_spi_0_control_xing_out_a_bits_size(pbus_auto_coupler_to_device_named_spi_0_control_xing_out_a_bits_size),
+    .auto_coupler_to_device_named_spi_0_control_xing_out_a_bits_source(pbus_auto_coupler_to_device_named_spi_0_control_xing_out_a_bits_source),
+    .auto_coupler_to_device_named_spi_0_control_xing_out_a_bits_address(pbus_auto_coupler_to_device_named_spi_0_control_xing_out_a_bits_address),
+    .auto_coupler_to_device_named_spi_0_control_xing_out_a_bits_mask(pbus_auto_coupler_to_device_named_spi_0_control_xing_out_a_bits_mask),
+    .auto_coupler_to_device_named_spi_0_control_xing_out_a_bits_data(pbus_auto_coupler_to_device_named_spi_0_control_xing_out_a_bits_data),
+    .auto_coupler_to_device_named_spi_0_control_xing_out_a_bits_corrupt(pbus_auto_coupler_to_device_named_spi_0_control_xing_out_a_bits_corrupt),
+    .auto_coupler_to_device_named_spi_0_control_xing_out_d_ready(pbus_auto_coupler_to_device_named_spi_0_control_xing_out_d_ready),
+    .auto_coupler_to_device_named_spi_0_control_xing_out_d_valid(pbus_auto_coupler_to_device_named_spi_0_control_xing_out_d_valid),
+    .auto_coupler_to_device_named_spi_0_control_xing_out_d_bits_opcode(pbus_auto_coupler_to_device_named_spi_0_control_xing_out_d_bits_opcode),
+    .auto_coupler_to_device_named_spi_0_control_xing_out_d_bits_size(pbus_auto_coupler_to_device_named_spi_0_control_xing_out_d_bits_size),
+    .auto_coupler_to_device_named_spi_0_control_xing_out_d_bits_source(pbus_auto_coupler_to_device_named_spi_0_control_xing_out_d_bits_source),
+    .auto_coupler_to_device_named_spi_0_control_xing_out_d_bits_data(pbus_auto_coupler_to_device_named_spi_0_control_xing_out_d_bits_data),
+    .auto_coupler_to_mem_named_qspi_0_mem_xing_out_a_ready(pbus_auto_coupler_to_mem_named_qspi_0_mem_xing_out_a_ready),
+    .auto_coupler_to_mem_named_qspi_0_mem_xing_out_a_valid(pbus_auto_coupler_to_mem_named_qspi_0_mem_xing_out_a_valid),
+    .auto_coupler_to_mem_named_qspi_0_mem_xing_out_a_bits_opcode(pbus_auto_coupler_to_mem_named_qspi_0_mem_xing_out_a_bits_opcode),
+    .auto_coupler_to_mem_named_qspi_0_mem_xing_out_a_bits_param(pbus_auto_coupler_to_mem_named_qspi_0_mem_xing_out_a_bits_param),
+    .auto_coupler_to_mem_named_qspi_0_mem_xing_out_a_bits_size(pbus_auto_coupler_to_mem_named_qspi_0_mem_xing_out_a_bits_size),
+    .auto_coupler_to_mem_named_qspi_0_mem_xing_out_a_bits_source(pbus_auto_coupler_to_mem_named_qspi_0_mem_xing_out_a_bits_source),
+    .auto_coupler_to_mem_named_qspi_0_mem_xing_out_a_bits_address(pbus_auto_coupler_to_mem_named_qspi_0_mem_xing_out_a_bits_address),
+    .auto_coupler_to_mem_named_qspi_0_mem_xing_out_a_bits_mask(pbus_auto_coupler_to_mem_named_qspi_0_mem_xing_out_a_bits_mask),
+    .auto_coupler_to_mem_named_qspi_0_mem_xing_out_a_bits_corrupt(pbus_auto_coupler_to_mem_named_qspi_0_mem_xing_out_a_bits_corrupt),
+    .auto_coupler_to_mem_named_qspi_0_mem_xing_out_d_ready(pbus_auto_coupler_to_mem_named_qspi_0_mem_xing_out_d_ready),
+    .auto_coupler_to_mem_named_qspi_0_mem_xing_out_d_valid(pbus_auto_coupler_to_mem_named_qspi_0_mem_xing_out_d_valid),
+    .auto_coupler_to_mem_named_qspi_0_mem_xing_out_d_bits_size(pbus_auto_coupler_to_mem_named_qspi_0_mem_xing_out_d_bits_size),
+    .auto_coupler_to_mem_named_qspi_0_mem_xing_out_d_bits_source(pbus_auto_coupler_to_mem_named_qspi_0_mem_xing_out_d_bits_source),
+    .auto_coupler_to_mem_named_qspi_0_mem_xing_out_d_bits_data(pbus_auto_coupler_to_mem_named_qspi_0_mem_xing_out_d_bits_data),
+    .auto_coupler_to_device_named_qspi_0_control_xing_out_a_ready(pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_a_ready),
+    .auto_coupler_to_device_named_qspi_0_control_xing_out_a_valid(pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_a_valid),
+    .auto_coupler_to_device_named_qspi_0_control_xing_out_a_bits_opcode(pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_a_bits_opcode),
+    .auto_coupler_to_device_named_qspi_0_control_xing_out_a_bits_param(pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_a_bits_param),
+    .auto_coupler_to_device_named_qspi_0_control_xing_out_a_bits_size(pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_a_bits_size),
+    .auto_coupler_to_device_named_qspi_0_control_xing_out_a_bits_source(pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_a_bits_source),
+    .auto_coupler_to_device_named_qspi_0_control_xing_out_a_bits_address(pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_a_bits_address),
+    .auto_coupler_to_device_named_qspi_0_control_xing_out_a_bits_mask(pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_a_bits_mask),
+    .auto_coupler_to_device_named_qspi_0_control_xing_out_a_bits_data(pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_a_bits_data),
+    .auto_coupler_to_device_named_qspi_0_control_xing_out_a_bits_corrupt(pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_a_bits_corrupt),
+    .auto_coupler_to_device_named_qspi_0_control_xing_out_d_ready(pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_d_ready),
+    .auto_coupler_to_device_named_qspi_0_control_xing_out_d_valid(pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_d_valid),
+    .auto_coupler_to_device_named_qspi_0_control_xing_out_d_bits_opcode(pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_d_bits_opcode),
+    .auto_coupler_to_device_named_qspi_0_control_xing_out_d_bits_size(pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_d_bits_size),
+    .auto_coupler_to_device_named_qspi_0_control_xing_out_d_bits_source(pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_d_bits_source),
+    .auto_coupler_to_device_named_qspi_0_control_xing_out_d_bits_data(pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_d_bits_data),
+    .auto_coupler_to_slave_named_uart_4_control_xing_out_a_ready(pbus_auto_coupler_to_slave_named_uart_4_control_xing_out_a_ready),
+    .auto_coupler_to_slave_named_uart_4_control_xing_out_a_valid(pbus_auto_coupler_to_slave_named_uart_4_control_xing_out_a_valid),
+    .auto_coupler_to_slave_named_uart_4_control_xing_out_a_bits_opcode(pbus_auto_coupler_to_slave_named_uart_4_control_xing_out_a_bits_opcode),
+    .auto_coupler_to_slave_named_uart_4_control_xing_out_a_bits_param(pbus_auto_coupler_to_slave_named_uart_4_control_xing_out_a_bits_param),
+    .auto_coupler_to_slave_named_uart_4_control_xing_out_a_bits_size(pbus_auto_coupler_to_slave_named_uart_4_control_xing_out_a_bits_size),
+    .auto_coupler_to_slave_named_uart_4_control_xing_out_a_bits_source(pbus_auto_coupler_to_slave_named_uart_4_control_xing_out_a_bits_source),
+    .auto_coupler_to_slave_named_uart_4_control_xing_out_a_bits_address(pbus_auto_coupler_to_slave_named_uart_4_control_xing_out_a_bits_address),
+    .auto_coupler_to_slave_named_uart_4_control_xing_out_a_bits_mask(pbus_auto_coupler_to_slave_named_uart_4_control_xing_out_a_bits_mask),
+    .auto_coupler_to_slave_named_uart_4_control_xing_out_a_bits_data(pbus_auto_coupler_to_slave_named_uart_4_control_xing_out_a_bits_data),
+    .auto_coupler_to_slave_named_uart_4_control_xing_out_a_bits_corrupt(pbus_auto_coupler_to_slave_named_uart_4_control_xing_out_a_bits_corrupt),
+    .auto_coupler_to_slave_named_uart_4_control_xing_out_d_ready(pbus_auto_coupler_to_slave_named_uart_4_control_xing_out_d_ready),
+    .auto_coupler_to_slave_named_uart_4_control_xing_out_d_valid(pbus_auto_coupler_to_slave_named_uart_4_control_xing_out_d_valid),
+    .auto_coupler_to_slave_named_uart_4_control_xing_out_d_bits_opcode(pbus_auto_coupler_to_slave_named_uart_4_control_xing_out_d_bits_opcode),
+    .auto_coupler_to_slave_named_uart_4_control_xing_out_d_bits_size(pbus_auto_coupler_to_slave_named_uart_4_control_xing_out_d_bits_size),
+    .auto_coupler_to_slave_named_uart_4_control_xing_out_d_bits_source(pbus_auto_coupler_to_slave_named_uart_4_control_xing_out_d_bits_source),
+    .auto_coupler_to_slave_named_uart_4_control_xing_out_d_bits_data(pbus_auto_coupler_to_slave_named_uart_4_control_xing_out_d_bits_data),
+    .auto_coupler_to_slave_named_uart_3_control_xing_out_a_ready(pbus_auto_coupler_to_slave_named_uart_3_control_xing_out_a_ready),
+    .auto_coupler_to_slave_named_uart_3_control_xing_out_a_valid(pbus_auto_coupler_to_slave_named_uart_3_control_xing_out_a_valid),
+    .auto_coupler_to_slave_named_uart_3_control_xing_out_a_bits_opcode(pbus_auto_coupler_to_slave_named_uart_3_control_xing_out_a_bits_opcode),
+    .auto_coupler_to_slave_named_uart_3_control_xing_out_a_bits_param(pbus_auto_coupler_to_slave_named_uart_3_control_xing_out_a_bits_param),
+    .auto_coupler_to_slave_named_uart_3_control_xing_out_a_bits_size(pbus_auto_coupler_to_slave_named_uart_3_control_xing_out_a_bits_size),
+    .auto_coupler_to_slave_named_uart_3_control_xing_out_a_bits_source(pbus_auto_coupler_to_slave_named_uart_3_control_xing_out_a_bits_source),
+    .auto_coupler_to_slave_named_uart_3_control_xing_out_a_bits_address(pbus_auto_coupler_to_slave_named_uart_3_control_xing_out_a_bits_address),
+    .auto_coupler_to_slave_named_uart_3_control_xing_out_a_bits_mask(pbus_auto_coupler_to_slave_named_uart_3_control_xing_out_a_bits_mask),
+    .auto_coupler_to_slave_named_uart_3_control_xing_out_a_bits_data(pbus_auto_coupler_to_slave_named_uart_3_control_xing_out_a_bits_data),
+    .auto_coupler_to_slave_named_uart_3_control_xing_out_a_bits_corrupt(pbus_auto_coupler_to_slave_named_uart_3_control_xing_out_a_bits_corrupt),
+    .auto_coupler_to_slave_named_uart_3_control_xing_out_d_ready(pbus_auto_coupler_to_slave_named_uart_3_control_xing_out_d_ready),
+    .auto_coupler_to_slave_named_uart_3_control_xing_out_d_valid(pbus_auto_coupler_to_slave_named_uart_3_control_xing_out_d_valid),
+    .auto_coupler_to_slave_named_uart_3_control_xing_out_d_bits_opcode(pbus_auto_coupler_to_slave_named_uart_3_control_xing_out_d_bits_opcode),
+    .auto_coupler_to_slave_named_uart_3_control_xing_out_d_bits_size(pbus_auto_coupler_to_slave_named_uart_3_control_xing_out_d_bits_size),
+    .auto_coupler_to_slave_named_uart_3_control_xing_out_d_bits_source(pbus_auto_coupler_to_slave_named_uart_3_control_xing_out_d_bits_source),
+    .auto_coupler_to_slave_named_uart_3_control_xing_out_d_bits_data(pbus_auto_coupler_to_slave_named_uart_3_control_xing_out_d_bits_data),
+    .auto_coupler_to_slave_named_uart_2_control_xing_out_a_ready(pbus_auto_coupler_to_slave_named_uart_2_control_xing_out_a_ready),
+    .auto_coupler_to_slave_named_uart_2_control_xing_out_a_valid(pbus_auto_coupler_to_slave_named_uart_2_control_xing_out_a_valid),
+    .auto_coupler_to_slave_named_uart_2_control_xing_out_a_bits_opcode(pbus_auto_coupler_to_slave_named_uart_2_control_xing_out_a_bits_opcode),
+    .auto_coupler_to_slave_named_uart_2_control_xing_out_a_bits_param(pbus_auto_coupler_to_slave_named_uart_2_control_xing_out_a_bits_param),
+    .auto_coupler_to_slave_named_uart_2_control_xing_out_a_bits_size(pbus_auto_coupler_to_slave_named_uart_2_control_xing_out_a_bits_size),
+    .auto_coupler_to_slave_named_uart_2_control_xing_out_a_bits_source(pbus_auto_coupler_to_slave_named_uart_2_control_xing_out_a_bits_source),
+    .auto_coupler_to_slave_named_uart_2_control_xing_out_a_bits_address(pbus_auto_coupler_to_slave_named_uart_2_control_xing_out_a_bits_address),
+    .auto_coupler_to_slave_named_uart_2_control_xing_out_a_bits_mask(pbus_auto_coupler_to_slave_named_uart_2_control_xing_out_a_bits_mask),
+    .auto_coupler_to_slave_named_uart_2_control_xing_out_a_bits_data(pbus_auto_coupler_to_slave_named_uart_2_control_xing_out_a_bits_data),
+    .auto_coupler_to_slave_named_uart_2_control_xing_out_a_bits_corrupt(pbus_auto_coupler_to_slave_named_uart_2_control_xing_out_a_bits_corrupt),
+    .auto_coupler_to_slave_named_uart_2_control_xing_out_d_ready(pbus_auto_coupler_to_slave_named_uart_2_control_xing_out_d_ready),
+    .auto_coupler_to_slave_named_uart_2_control_xing_out_d_valid(pbus_auto_coupler_to_slave_named_uart_2_control_xing_out_d_valid),
+    .auto_coupler_to_slave_named_uart_2_control_xing_out_d_bits_opcode(pbus_auto_coupler_to_slave_named_uart_2_control_xing_out_d_bits_opcode),
+    .auto_coupler_to_slave_named_uart_2_control_xing_out_d_bits_size(pbus_auto_coupler_to_slave_named_uart_2_control_xing_out_d_bits_size),
+    .auto_coupler_to_slave_named_uart_2_control_xing_out_d_bits_source(pbus_auto_coupler_to_slave_named_uart_2_control_xing_out_d_bits_source),
+    .auto_coupler_to_slave_named_uart_2_control_xing_out_d_bits_data(pbus_auto_coupler_to_slave_named_uart_2_control_xing_out_d_bits_data),
+    .auto_coupler_to_slave_named_uart_1_control_xing_out_a_ready(pbus_auto_coupler_to_slave_named_uart_1_control_xing_out_a_ready),
+    .auto_coupler_to_slave_named_uart_1_control_xing_out_a_valid(pbus_auto_coupler_to_slave_named_uart_1_control_xing_out_a_valid),
+    .auto_coupler_to_slave_named_uart_1_control_xing_out_a_bits_opcode(pbus_auto_coupler_to_slave_named_uart_1_control_xing_out_a_bits_opcode),
+    .auto_coupler_to_slave_named_uart_1_control_xing_out_a_bits_param(pbus_auto_coupler_to_slave_named_uart_1_control_xing_out_a_bits_param),
+    .auto_coupler_to_slave_named_uart_1_control_xing_out_a_bits_size(pbus_auto_coupler_to_slave_named_uart_1_control_xing_out_a_bits_size),
+    .auto_coupler_to_slave_named_uart_1_control_xing_out_a_bits_source(pbus_auto_coupler_to_slave_named_uart_1_control_xing_out_a_bits_source),
+    .auto_coupler_to_slave_named_uart_1_control_xing_out_a_bits_address(pbus_auto_coupler_to_slave_named_uart_1_control_xing_out_a_bits_address),
+    .auto_coupler_to_slave_named_uart_1_control_xing_out_a_bits_mask(pbus_auto_coupler_to_slave_named_uart_1_control_xing_out_a_bits_mask),
+    .auto_coupler_to_slave_named_uart_1_control_xing_out_a_bits_data(pbus_auto_coupler_to_slave_named_uart_1_control_xing_out_a_bits_data),
+    .auto_coupler_to_slave_named_uart_1_control_xing_out_a_bits_corrupt(pbus_auto_coupler_to_slave_named_uart_1_control_xing_out_a_bits_corrupt),
+    .auto_coupler_to_slave_named_uart_1_control_xing_out_d_ready(pbus_auto_coupler_to_slave_named_uart_1_control_xing_out_d_ready),
+    .auto_coupler_to_slave_named_uart_1_control_xing_out_d_valid(pbus_auto_coupler_to_slave_named_uart_1_control_xing_out_d_valid),
+    .auto_coupler_to_slave_named_uart_1_control_xing_out_d_bits_opcode(pbus_auto_coupler_to_slave_named_uart_1_control_xing_out_d_bits_opcode),
+    .auto_coupler_to_slave_named_uart_1_control_xing_out_d_bits_size(pbus_auto_coupler_to_slave_named_uart_1_control_xing_out_d_bits_size),
+    .auto_coupler_to_slave_named_uart_1_control_xing_out_d_bits_source(pbus_auto_coupler_to_slave_named_uart_1_control_xing_out_d_bits_source),
+    .auto_coupler_to_slave_named_uart_1_control_xing_out_d_bits_data(pbus_auto_coupler_to_slave_named_uart_1_control_xing_out_d_bits_data),
+    .auto_coupler_to_slave_named_uart_0_control_xing_out_a_ready(pbus_auto_coupler_to_slave_named_uart_0_control_xing_out_a_ready),
+    .auto_coupler_to_slave_named_uart_0_control_xing_out_a_valid(pbus_auto_coupler_to_slave_named_uart_0_control_xing_out_a_valid),
+    .auto_coupler_to_slave_named_uart_0_control_xing_out_a_bits_opcode(pbus_auto_coupler_to_slave_named_uart_0_control_xing_out_a_bits_opcode),
+    .auto_coupler_to_slave_named_uart_0_control_xing_out_a_bits_param(pbus_auto_coupler_to_slave_named_uart_0_control_xing_out_a_bits_param),
+    .auto_coupler_to_slave_named_uart_0_control_xing_out_a_bits_size(pbus_auto_coupler_to_slave_named_uart_0_control_xing_out_a_bits_size),
+    .auto_coupler_to_slave_named_uart_0_control_xing_out_a_bits_source(pbus_auto_coupler_to_slave_named_uart_0_control_xing_out_a_bits_source),
+    .auto_coupler_to_slave_named_uart_0_control_xing_out_a_bits_address(pbus_auto_coupler_to_slave_named_uart_0_control_xing_out_a_bits_address),
+    .auto_coupler_to_slave_named_uart_0_control_xing_out_a_bits_mask(pbus_auto_coupler_to_slave_named_uart_0_control_xing_out_a_bits_mask),
+    .auto_coupler_to_slave_named_uart_0_control_xing_out_a_bits_data(pbus_auto_coupler_to_slave_named_uart_0_control_xing_out_a_bits_data),
+    .auto_coupler_to_slave_named_uart_0_control_xing_out_a_bits_corrupt(pbus_auto_coupler_to_slave_named_uart_0_control_xing_out_a_bits_corrupt),
+    .auto_coupler_to_slave_named_uart_0_control_xing_out_d_ready(pbus_auto_coupler_to_slave_named_uart_0_control_xing_out_d_ready),
+    .auto_coupler_to_slave_named_uart_0_control_xing_out_d_valid(pbus_auto_coupler_to_slave_named_uart_0_control_xing_out_d_valid),
+    .auto_coupler_to_slave_named_uart_0_control_xing_out_d_bits_opcode(pbus_auto_coupler_to_slave_named_uart_0_control_xing_out_d_bits_opcode),
+    .auto_coupler_to_slave_named_uart_0_control_xing_out_d_bits_size(pbus_auto_coupler_to_slave_named_uart_0_control_xing_out_d_bits_size),
+    .auto_coupler_to_slave_named_uart_0_control_xing_out_d_bits_source(pbus_auto_coupler_to_slave_named_uart_0_control_xing_out_d_bits_source),
+    .auto_coupler_to_slave_named_uart_0_control_xing_out_d_bits_data(pbus_auto_coupler_to_slave_named_uart_0_control_xing_out_d_bits_data),
+    .auto_from_cbus_in_a_ready(pbus_auto_from_cbus_in_a_ready),
+    .auto_from_cbus_in_a_valid(pbus_auto_from_cbus_in_a_valid),
+    .auto_from_cbus_in_a_bits_opcode(pbus_auto_from_cbus_in_a_bits_opcode),
+    .auto_from_cbus_in_a_bits_param(pbus_auto_from_cbus_in_a_bits_param),
+    .auto_from_cbus_in_a_bits_size(pbus_auto_from_cbus_in_a_bits_size),
+    .auto_from_cbus_in_a_bits_source(pbus_auto_from_cbus_in_a_bits_source),
+    .auto_from_cbus_in_a_bits_address(pbus_auto_from_cbus_in_a_bits_address),
+    .auto_from_cbus_in_a_bits_mask(pbus_auto_from_cbus_in_a_bits_mask),
+    .auto_from_cbus_in_a_bits_data(pbus_auto_from_cbus_in_a_bits_data),
+    .auto_from_cbus_in_a_bits_corrupt(pbus_auto_from_cbus_in_a_bits_corrupt),
+    .auto_from_cbus_in_d_ready(pbus_auto_from_cbus_in_d_ready),
+    .auto_from_cbus_in_d_valid(pbus_auto_from_cbus_in_d_valid),
+    .auto_from_cbus_in_d_bits_opcode(pbus_auto_from_cbus_in_d_bits_opcode),
+    .auto_from_cbus_in_d_bits_param(pbus_auto_from_cbus_in_d_bits_param),
+    .auto_from_cbus_in_d_bits_size(pbus_auto_from_cbus_in_d_bits_size),
+    .auto_from_cbus_in_d_bits_source(pbus_auto_from_cbus_in_d_bits_source),
+    .auto_from_cbus_in_d_bits_sink(pbus_auto_from_cbus_in_d_bits_sink),
+    .auto_from_cbus_in_d_bits_denied(pbus_auto_from_cbus_in_d_bits_denied),
+    .auto_from_cbus_in_d_bits_data(pbus_auto_from_cbus_in_d_bits_data),
+    .auto_from_cbus_in_d_bits_corrupt(pbus_auto_from_cbus_in_d_bits_corrupt)
+  );
+  TLPLIC plic ( // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295971.4]
+    .clock(plic_clock),
+    .reset(plic_reset),
+    .auto_int_in_0(plic_auto_int_in_0),
+    .auto_int_in_1(plic_auto_int_in_1),
+    .auto_int_in_2(plic_auto_int_in_2),
+    .auto_int_in_3(plic_auto_int_in_3),
+    .auto_int_in_4(plic_auto_int_in_4),
+    .auto_int_in_5(plic_auto_int_in_5),
+    .auto_int_in_6(plic_auto_int_in_6),
+    .auto_int_in_7(plic_auto_int_in_7),
+    .auto_int_in_8(plic_auto_int_in_8),
+    .auto_int_in_9(plic_auto_int_in_9),
+    .auto_int_in_10(plic_auto_int_in_10),
+    .auto_int_in_11(plic_auto_int_in_11),
+    .auto_int_in_12(plic_auto_int_in_12),
+    .auto_int_in_13(plic_auto_int_in_13),
+    .auto_int_in_14(plic_auto_int_in_14),
+    .auto_int_in_15(plic_auto_int_in_15),
+    .auto_int_in_16(plic_auto_int_in_16),
+    .auto_int_in_17(plic_auto_int_in_17),
+    .auto_int_in_18(plic_auto_int_in_18),
+    .auto_int_in_19(plic_auto_int_in_19),
+    .auto_int_in_20(plic_auto_int_in_20),
+    .auto_int_in_21(plic_auto_int_in_21),
+    .auto_int_in_22(plic_auto_int_in_22),
+    .auto_int_in_23(plic_auto_int_in_23),
+    .auto_int_in_24(plic_auto_int_in_24),
+    .auto_int_in_25(plic_auto_int_in_25),
+    .auto_int_in_26(plic_auto_int_in_26),
+    .auto_int_in_27(plic_auto_int_in_27),
+    .auto_int_in_28(plic_auto_int_in_28),
+    .auto_int_in_29(plic_auto_int_in_29),
+    .auto_int_in_30(plic_auto_int_in_30),
+    .auto_int_in_31(plic_auto_int_in_31),
+    .auto_int_in_32(plic_auto_int_in_32),
+    .auto_int_in_33(plic_auto_int_in_33),
+    .auto_int_in_34(plic_auto_int_in_34),
+    .auto_int_in_35(plic_auto_int_in_35),
+    .auto_int_in_36(plic_auto_int_in_36),
+    .auto_int_in_37(plic_auto_int_in_37),
+    .auto_int_in_38(plic_auto_int_in_38),
+    .auto_int_in_39(plic_auto_int_in_39),
+    .auto_int_in_40(plic_auto_int_in_40),
+    .auto_int_in_41(plic_auto_int_in_41),
+    .auto_int_in_42(plic_auto_int_in_42),
+    .auto_int_in_43(plic_auto_int_in_43),
+    .auto_int_out_0(plic_auto_int_out_0),
+    .auto_in_a_ready(plic_auto_in_a_ready),
+    .auto_in_a_valid(plic_auto_in_a_valid),
+    .auto_in_a_bits_opcode(plic_auto_in_a_bits_opcode),
+    .auto_in_a_bits_param(plic_auto_in_a_bits_param),
+    .auto_in_a_bits_size(plic_auto_in_a_bits_size),
+    .auto_in_a_bits_source(plic_auto_in_a_bits_source),
+    .auto_in_a_bits_address(plic_auto_in_a_bits_address),
+    .auto_in_a_bits_mask(plic_auto_in_a_bits_mask),
+    .auto_in_a_bits_data(plic_auto_in_a_bits_data),
+    .auto_in_a_bits_corrupt(plic_auto_in_a_bits_corrupt),
+    .auto_in_d_ready(plic_auto_in_d_ready),
+    .auto_in_d_valid(plic_auto_in_d_valid),
+    .auto_in_d_bits_opcode(plic_auto_in_d_bits_opcode),
+    .auto_in_d_bits_size(plic_auto_in_d_bits_size),
+    .auto_in_d_bits_source(plic_auto_in_d_bits_source),
+    .auto_in_d_bits_data(plic_auto_in_d_bits_data)
+  );
+  CLINT clint ( // @[CLINT.scala 99:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295977.4]
+    .clock(clint_clock),
+    .reset(clint_reset),
+    .auto_int_out_0(clint_auto_int_out_0),
+    .auto_int_out_1(clint_auto_int_out_1),
+    .auto_in_a_ready(clint_auto_in_a_ready),
+    .auto_in_a_valid(clint_auto_in_a_valid),
+    .auto_in_a_bits_opcode(clint_auto_in_a_bits_opcode),
+    .auto_in_a_bits_param(clint_auto_in_a_bits_param),
+    .auto_in_a_bits_size(clint_auto_in_a_bits_size),
+    .auto_in_a_bits_source(clint_auto_in_a_bits_source),
+    .auto_in_a_bits_address(clint_auto_in_a_bits_address),
+    .auto_in_a_bits_mask(clint_auto_in_a_bits_mask),
+    .auto_in_a_bits_data(clint_auto_in_a_bits_data),
+    .auto_in_a_bits_corrupt(clint_auto_in_a_bits_corrupt),
+    .auto_in_d_ready(clint_auto_in_d_ready),
+    .auto_in_d_valid(clint_auto_in_d_valid),
+    .auto_in_d_bits_opcode(clint_auto_in_d_bits_opcode),
+    .auto_in_d_bits_size(clint_auto_in_d_bits_size),
+    .auto_in_d_bits_source(clint_auto_in_d_bits_source),
+    .auto_in_d_bits_data(clint_auto_in_d_bits_data),
+    .io_rtcTick(clint_io_rtcTick)
+  );
+  TLDebugModule debug_1 ( // @[Periphery.scala 32:25:shc.marmotcaravel.MarmotCaravelConfig.fir@295984.4]
+    .clock(debug_1_clock),
+    .reset(debug_1_reset),
+    .auto_dmInner_dmInner_tl_in_a_ready(debug_1_auto_dmInner_dmInner_tl_in_a_ready),
+    .auto_dmInner_dmInner_tl_in_a_valid(debug_1_auto_dmInner_dmInner_tl_in_a_valid),
+    .auto_dmInner_dmInner_tl_in_a_bits_opcode(debug_1_auto_dmInner_dmInner_tl_in_a_bits_opcode),
+    .auto_dmInner_dmInner_tl_in_a_bits_param(debug_1_auto_dmInner_dmInner_tl_in_a_bits_param),
+    .auto_dmInner_dmInner_tl_in_a_bits_size(debug_1_auto_dmInner_dmInner_tl_in_a_bits_size),
+    .auto_dmInner_dmInner_tl_in_a_bits_source(debug_1_auto_dmInner_dmInner_tl_in_a_bits_source),
+    .auto_dmInner_dmInner_tl_in_a_bits_address(debug_1_auto_dmInner_dmInner_tl_in_a_bits_address),
+    .auto_dmInner_dmInner_tl_in_a_bits_mask(debug_1_auto_dmInner_dmInner_tl_in_a_bits_mask),
+    .auto_dmInner_dmInner_tl_in_a_bits_data(debug_1_auto_dmInner_dmInner_tl_in_a_bits_data),
+    .auto_dmInner_dmInner_tl_in_a_bits_corrupt(debug_1_auto_dmInner_dmInner_tl_in_a_bits_corrupt),
+    .auto_dmInner_dmInner_tl_in_d_ready(debug_1_auto_dmInner_dmInner_tl_in_d_ready),
+    .auto_dmInner_dmInner_tl_in_d_valid(debug_1_auto_dmInner_dmInner_tl_in_d_valid),
+    .auto_dmInner_dmInner_tl_in_d_bits_opcode(debug_1_auto_dmInner_dmInner_tl_in_d_bits_opcode),
+    .auto_dmInner_dmInner_tl_in_d_bits_size(debug_1_auto_dmInner_dmInner_tl_in_d_bits_size),
+    .auto_dmInner_dmInner_tl_in_d_bits_source(debug_1_auto_dmInner_dmInner_tl_in_d_bits_source),
+    .auto_dmInner_dmInner_tl_in_d_bits_data(debug_1_auto_dmInner_dmInner_tl_in_d_bits_data),
+    .auto_dmOuter_intsource_out_sync_0(debug_1_auto_dmOuter_intsource_out_sync_0),
+    .io_ctrl_ndreset(debug_1_io_ctrl_ndreset),
+    .io_dmi_dmi_req_ready(debug_1_io_dmi_dmi_req_ready),
+    .io_dmi_dmi_req_valid(debug_1_io_dmi_dmi_req_valid),
+    .io_dmi_dmi_req_bits_addr(debug_1_io_dmi_dmi_req_bits_addr),
+    .io_dmi_dmi_req_bits_data(debug_1_io_dmi_dmi_req_bits_data),
+    .io_dmi_dmi_req_bits_op(debug_1_io_dmi_dmi_req_bits_op),
+    .io_dmi_dmi_resp_ready(debug_1_io_dmi_dmi_resp_ready),
+    .io_dmi_dmi_resp_valid(debug_1_io_dmi_dmi_resp_valid),
+    .io_dmi_dmi_resp_bits_data(debug_1_io_dmi_dmi_resp_bits_data),
+    .io_dmi_dmi_resp_bits_resp(debug_1_io_dmi_dmi_resp_bits_resp),
+    .io_dmi_dmiClock(debug_1_io_dmi_dmiClock),
+    .io_dmi_dmiReset(debug_1_io_dmi_dmiReset)
+  );
+  RocketTile tile ( // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295997.4]
+    .clock(tile_clock),
+    .reset(tile_reset),
+    .auto_intsink_in_sync_0(tile_auto_intsink_in_sync_0),
+    .auto_int_in_xing_in_1_sync_0(tile_auto_int_in_xing_in_1_sync_0),
+    .auto_int_in_xing_in_0_sync_0(tile_auto_int_in_xing_in_0_sync_0),
+    .auto_int_in_xing_in_0_sync_1(tile_auto_int_in_xing_in_0_sync_1),
+    .auto_tl_slave_xing_in_a_ready(tile_auto_tl_slave_xing_in_a_ready),
+    .auto_tl_slave_xing_in_a_valid(tile_auto_tl_slave_xing_in_a_valid),
+    .auto_tl_slave_xing_in_a_bits_opcode(tile_auto_tl_slave_xing_in_a_bits_opcode),
+    .auto_tl_slave_xing_in_a_bits_param(tile_auto_tl_slave_xing_in_a_bits_param),
+    .auto_tl_slave_xing_in_a_bits_size(tile_auto_tl_slave_xing_in_a_bits_size),
+    .auto_tl_slave_xing_in_a_bits_source(tile_auto_tl_slave_xing_in_a_bits_source),
+    .auto_tl_slave_xing_in_a_bits_address(tile_auto_tl_slave_xing_in_a_bits_address),
+    .auto_tl_slave_xing_in_a_bits_mask(tile_auto_tl_slave_xing_in_a_bits_mask),
+    .auto_tl_slave_xing_in_a_bits_data(tile_auto_tl_slave_xing_in_a_bits_data),
+    .auto_tl_slave_xing_in_a_bits_corrupt(tile_auto_tl_slave_xing_in_a_bits_corrupt),
+    .auto_tl_slave_xing_in_d_ready(tile_auto_tl_slave_xing_in_d_ready),
+    .auto_tl_slave_xing_in_d_valid(tile_auto_tl_slave_xing_in_d_valid),
+    .auto_tl_slave_xing_in_d_bits_opcode(tile_auto_tl_slave_xing_in_d_bits_opcode),
+    .auto_tl_slave_xing_in_d_bits_param(tile_auto_tl_slave_xing_in_d_bits_param),
+    .auto_tl_slave_xing_in_d_bits_size(tile_auto_tl_slave_xing_in_d_bits_size),
+    .auto_tl_slave_xing_in_d_bits_source(tile_auto_tl_slave_xing_in_d_bits_source),
+    .auto_tl_slave_xing_in_d_bits_sink(tile_auto_tl_slave_xing_in_d_bits_sink),
+    .auto_tl_slave_xing_in_d_bits_denied(tile_auto_tl_slave_xing_in_d_bits_denied),
+    .auto_tl_slave_xing_in_d_bits_data(tile_auto_tl_slave_xing_in_d_bits_data),
+    .auto_tl_slave_xing_in_d_bits_corrupt(tile_auto_tl_slave_xing_in_d_bits_corrupt),
+    .auto_tl_master_xing_out_a_ready(tile_auto_tl_master_xing_out_a_ready),
+    .auto_tl_master_xing_out_a_valid(tile_auto_tl_master_xing_out_a_valid),
+    .auto_tl_master_xing_out_a_bits_opcode(tile_auto_tl_master_xing_out_a_bits_opcode),
+    .auto_tl_master_xing_out_a_bits_param(tile_auto_tl_master_xing_out_a_bits_param),
+    .auto_tl_master_xing_out_a_bits_size(tile_auto_tl_master_xing_out_a_bits_size),
+    .auto_tl_master_xing_out_a_bits_source(tile_auto_tl_master_xing_out_a_bits_source),
+    .auto_tl_master_xing_out_a_bits_address(tile_auto_tl_master_xing_out_a_bits_address),
+    .auto_tl_master_xing_out_a_bits_mask(tile_auto_tl_master_xing_out_a_bits_mask),
+    .auto_tl_master_xing_out_a_bits_data(tile_auto_tl_master_xing_out_a_bits_data),
+    .auto_tl_master_xing_out_a_bits_corrupt(tile_auto_tl_master_xing_out_a_bits_corrupt),
+    .auto_tl_master_xing_out_d_ready(tile_auto_tl_master_xing_out_d_ready),
+    .auto_tl_master_xing_out_d_valid(tile_auto_tl_master_xing_out_d_valid),
+    .auto_tl_master_xing_out_d_bits_opcode(tile_auto_tl_master_xing_out_d_bits_opcode),
+    .auto_tl_master_xing_out_d_bits_param(tile_auto_tl_master_xing_out_d_bits_param),
+    .auto_tl_master_xing_out_d_bits_size(tile_auto_tl_master_xing_out_d_bits_size),
+    .auto_tl_master_xing_out_d_bits_source(tile_auto_tl_master_xing_out_d_bits_source),
+    .auto_tl_master_xing_out_d_bits_sink(tile_auto_tl_master_xing_out_d_bits_sink),
+    .auto_tl_master_xing_out_d_bits_denied(tile_auto_tl_master_xing_out_d_bits_denied),
+    .auto_tl_master_xing_out_d_bits_data(tile_auto_tl_master_xing_out_d_bits_data),
+    .auto_tl_master_xing_out_d_bits_corrupt(tile_auto_tl_master_xing_out_d_bits_corrupt),
+    .constants_hartid(tile_constants_hartid),
+    .constants_reset_vector(tile_constants_reset_vector),
+    .data_arrays_0_ext_RW0_addr(data_arrays_0_ext_RW0_addr),
+    .data_arrays_0_ext_RW0_en(data_arrays_0_ext_RW0_en),
+    .data_arrays_0_ext_RW0_clk(data_arrays_0_ext_RW0_clk),
+    .data_arrays_0_ext_RW0_wmode(data_arrays_0_ext_RW0_wmode),
+    .data_arrays_0_ext_RW0_wdata(data_arrays_0_ext_RW0_wdata),
+    .data_arrays_0_ext_RW0_rdata(data_arrays_0_ext_RW0_rdata),
+    .data_arrays_0_ext_RW0_wmask(data_arrays_0_ext_RW0_wmask),
+    .tag_array_ext_RW0_addr(tag_array_ext_RW0_addr),
+    .tag_array_ext_RW0_en(tag_array_ext_RW0_en),
+    .tag_array_ext_RW0_clk(tag_array_ext_RW0_clk),
+    .tag_array_ext_RW0_wmode(tag_array_ext_RW0_wmode),
+    .tag_array_ext_RW0_wdata(tag_array_ext_RW0_wdata),
+    .tag_array_ext_RW0_rdata(tag_array_ext_RW0_rdata),
+    .tag_array_ext_RW0_wmask(tag_array_ext_RW0_wmask),
+    .data_arrays_0_0_ext_RW0_addr(data_arrays_0_0_ext_RW0_addr),
+    .data_arrays_0_0_ext_RW0_en(data_arrays_0_0_ext_RW0_en),
+    .data_arrays_0_0_ext_RW0_clk(data_arrays_0_0_ext_RW0_clk),
+    .data_arrays_0_0_ext_RW0_wmode(data_arrays_0_0_ext_RW0_wmode),
+    .data_arrays_0_0_ext_RW0_wdata(data_arrays_0_0_ext_RW0_wdata),
+    .data_arrays_0_0_ext_RW0_rdata(data_arrays_0_0_ext_RW0_rdata),
+    .data_arrays_0_0_ext_RW0_wmask(data_arrays_0_0_ext_RW0_wmask)
+  );
+  IntSyncCrossingSource_2 intsource ( // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296004.4]
+    .clock(intsource_clock),
+    .reset(intsource_reset),
+    .auto_in_0(intsource_auto_in_0),
+    .auto_in_1(intsource_auto_in_1),
+    .auto_out_sync_0(intsource_auto_out_sync_0),
+    .auto_out_sync_1(intsource_auto_out_sync_1)
+  );
+  IntSyncCrossingSource_3 intsource_1 ( // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296010.4]
+    .clock(intsource_1_clock),
+    .reset(intsource_1_reset),
+    .auto_in_0(intsource_1_auto_in_0),
+    .auto_out_sync_0(intsource_1_auto_out_sync_0)
+  );
+  TLMaskROM maskROM ( // @[MaskROM.scala 19:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296022.4]
+    .clock(maskROM_clock),
+    .reset(maskROM_reset),
+    .auto_in_a_ready(maskROM_auto_in_a_ready),
+    .auto_in_a_valid(maskROM_auto_in_a_valid),
+    .auto_in_a_bits_opcode(maskROM_auto_in_a_bits_opcode),
+    .auto_in_a_bits_param(maskROM_auto_in_a_bits_param),
+    .auto_in_a_bits_size(maskROM_auto_in_a_bits_size),
+    .auto_in_a_bits_source(maskROM_auto_in_a_bits_source),
+    .auto_in_a_bits_address(maskROM_auto_in_a_bits_address),
+    .auto_in_a_bits_mask(maskROM_auto_in_a_bits_mask),
+    .auto_in_a_bits_corrupt(maskROM_auto_in_a_bits_corrupt),
+    .auto_in_d_ready(maskROM_auto_in_d_ready),
+    .auto_in_d_valid(maskROM_auto_in_d_valid),
+    .auto_in_d_bits_size(maskROM_auto_in_d_bits_size),
+    .auto_in_d_bits_source(maskROM_auto_in_d_bits_source),
+    .auto_in_d_bits_data(maskROM_auto_in_d_bits_data)
+  );
+  MockAONWrapper aon_1 ( // @[MockAONPeriphery.scala 20:23:shc.marmotcaravel.MarmotCaravelConfig.fir@296028.4]
+    .auto_intsource_out_sync_0(aon_1_auto_intsource_out_sync_0),
+    .auto_intsource_out_sync_1(aon_1_auto_intsource_out_sync_1),
+    .auto_isolation_in_a_mem_0_opcode(aon_1_auto_isolation_in_a_mem_0_opcode),
+    .auto_isolation_in_a_mem_0_param(aon_1_auto_isolation_in_a_mem_0_param),
+    .auto_isolation_in_a_mem_0_size(aon_1_auto_isolation_in_a_mem_0_size),
+    .auto_isolation_in_a_mem_0_source(aon_1_auto_isolation_in_a_mem_0_source),
+    .auto_isolation_in_a_mem_0_address(aon_1_auto_isolation_in_a_mem_0_address),
+    .auto_isolation_in_a_mem_0_mask(aon_1_auto_isolation_in_a_mem_0_mask),
+    .auto_isolation_in_a_mem_0_data(aon_1_auto_isolation_in_a_mem_0_data),
+    .auto_isolation_in_a_mem_0_corrupt(aon_1_auto_isolation_in_a_mem_0_corrupt),
+    .auto_isolation_in_a_ridx(aon_1_auto_isolation_in_a_ridx),
+    .auto_isolation_in_a_widx(aon_1_auto_isolation_in_a_widx),
+    .auto_isolation_in_a_safe_ridx_valid(aon_1_auto_isolation_in_a_safe_ridx_valid),
+    .auto_isolation_in_a_safe_widx_valid(aon_1_auto_isolation_in_a_safe_widx_valid),
+    .auto_isolation_in_a_safe_source_reset_n(aon_1_auto_isolation_in_a_safe_source_reset_n),
+    .auto_isolation_in_a_safe_sink_reset_n(aon_1_auto_isolation_in_a_safe_sink_reset_n),
+    .auto_isolation_in_d_mem_0_opcode(aon_1_auto_isolation_in_d_mem_0_opcode),
+    .auto_isolation_in_d_mem_0_param(aon_1_auto_isolation_in_d_mem_0_param),
+    .auto_isolation_in_d_mem_0_size(aon_1_auto_isolation_in_d_mem_0_size),
+    .auto_isolation_in_d_mem_0_source(aon_1_auto_isolation_in_d_mem_0_source),
+    .auto_isolation_in_d_mem_0_sink(aon_1_auto_isolation_in_d_mem_0_sink),
+    .auto_isolation_in_d_mem_0_denied(aon_1_auto_isolation_in_d_mem_0_denied),
+    .auto_isolation_in_d_mem_0_data(aon_1_auto_isolation_in_d_mem_0_data),
+    .auto_isolation_in_d_mem_0_corrupt(aon_1_auto_isolation_in_d_mem_0_corrupt),
+    .auto_isolation_in_d_ridx(aon_1_auto_isolation_in_d_ridx),
+    .auto_isolation_in_d_widx(aon_1_auto_isolation_in_d_widx),
+    .auto_isolation_in_d_safe_ridx_valid(aon_1_auto_isolation_in_d_safe_ridx_valid),
+    .auto_isolation_in_d_safe_widx_valid(aon_1_auto_isolation_in_d_safe_widx_valid),
+    .auto_isolation_in_d_safe_source_reset_n(aon_1_auto_isolation_in_d_safe_source_reset_n),
+    .auto_isolation_in_d_safe_sink_reset_n(aon_1_auto_isolation_in_d_safe_sink_reset_n),
+    .io_pins_erst_n_i_ival(aon_1_io_pins_erst_n_i_ival),
+    .io_pins_lfextclk_i_ival(aon_1_io_pins_lfextclk_i_ival),
+    .io_rsts_corerst(aon_1_io_rsts_corerst),
+    .io_rtc(aon_1_io_rtc),
+    .io_ndreset(aon_1_io_ndreset)
+  );
+  IntSyncCrossingSink_4 intsink_1 ( // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296035.4]
+    .clock(intsink_1_clock),
+    .auto_in_sync_0(intsink_1_auto_in_sync_0),
+    .auto_in_sync_1(intsink_1_auto_in_sync_1),
+    .auto_out_0(intsink_1_auto_out_0),
+    .auto_out_1(intsink_1_auto_out_1)
+  );
+  IntXing asyncXing ( // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296041.4]
+    .clock(asyncXing_clock),
+    .auto_int_in_0(asyncXing_auto_int_in_0),
+    .auto_int_out_0(asyncXing_auto_int_out_0)
+  );
+  TLUART uart_0_1 ( // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296047.4]
+    .clock(uart_0_1_clock),
+    .reset(uart_0_1_reset),
+    .auto_int_xing_out_sync_0(uart_0_1_auto_int_xing_out_sync_0),
+    .auto_control_xing_in_a_ready(uart_0_1_auto_control_xing_in_a_ready),
+    .auto_control_xing_in_a_valid(uart_0_1_auto_control_xing_in_a_valid),
+    .auto_control_xing_in_a_bits_opcode(uart_0_1_auto_control_xing_in_a_bits_opcode),
+    .auto_control_xing_in_a_bits_param(uart_0_1_auto_control_xing_in_a_bits_param),
+    .auto_control_xing_in_a_bits_size(uart_0_1_auto_control_xing_in_a_bits_size),
+    .auto_control_xing_in_a_bits_source(uart_0_1_auto_control_xing_in_a_bits_source),
+    .auto_control_xing_in_a_bits_address(uart_0_1_auto_control_xing_in_a_bits_address),
+    .auto_control_xing_in_a_bits_mask(uart_0_1_auto_control_xing_in_a_bits_mask),
+    .auto_control_xing_in_a_bits_data(uart_0_1_auto_control_xing_in_a_bits_data),
+    .auto_control_xing_in_a_bits_corrupt(uart_0_1_auto_control_xing_in_a_bits_corrupt),
+    .auto_control_xing_in_d_ready(uart_0_1_auto_control_xing_in_d_ready),
+    .auto_control_xing_in_d_valid(uart_0_1_auto_control_xing_in_d_valid),
+    .auto_control_xing_in_d_bits_opcode(uart_0_1_auto_control_xing_in_d_bits_opcode),
+    .auto_control_xing_in_d_bits_size(uart_0_1_auto_control_xing_in_d_bits_size),
+    .auto_control_xing_in_d_bits_source(uart_0_1_auto_control_xing_in_d_bits_source),
+    .auto_control_xing_in_d_bits_data(uart_0_1_auto_control_xing_in_d_bits_data),
+    .auto_io_out_txd(uart_0_1_auto_io_out_txd),
+    .auto_io_out_rxd(uart_0_1_auto_io_out_rxd)
+  );
+  IntSyncCrossingSink_2 intsink_2 ( // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296053.4]
+    .auto_in_sync_0(intsink_2_auto_in_sync_0),
+    .auto_out_0(intsink_2_auto_out_0)
+  );
+  IntXing asyncXing_1 ( // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296059.4]
+    .clock(asyncXing_1_clock),
+    .auto_int_in_0(asyncXing_1_auto_int_in_0),
+    .auto_int_out_0(asyncXing_1_auto_int_out_0)
+  );
+  TLUART_1 uart_1_1 ( // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296065.4]
+    .clock(uart_1_1_clock),
+    .reset(uart_1_1_reset),
+    .auto_int_xing_out_sync_0(uart_1_1_auto_int_xing_out_sync_0),
+    .auto_control_xing_in_a_ready(uart_1_1_auto_control_xing_in_a_ready),
+    .auto_control_xing_in_a_valid(uart_1_1_auto_control_xing_in_a_valid),
+    .auto_control_xing_in_a_bits_opcode(uart_1_1_auto_control_xing_in_a_bits_opcode),
+    .auto_control_xing_in_a_bits_param(uart_1_1_auto_control_xing_in_a_bits_param),
+    .auto_control_xing_in_a_bits_size(uart_1_1_auto_control_xing_in_a_bits_size),
+    .auto_control_xing_in_a_bits_source(uart_1_1_auto_control_xing_in_a_bits_source),
+    .auto_control_xing_in_a_bits_address(uart_1_1_auto_control_xing_in_a_bits_address),
+    .auto_control_xing_in_a_bits_mask(uart_1_1_auto_control_xing_in_a_bits_mask),
+    .auto_control_xing_in_a_bits_data(uart_1_1_auto_control_xing_in_a_bits_data),
+    .auto_control_xing_in_a_bits_corrupt(uart_1_1_auto_control_xing_in_a_bits_corrupt),
+    .auto_control_xing_in_d_ready(uart_1_1_auto_control_xing_in_d_ready),
+    .auto_control_xing_in_d_valid(uart_1_1_auto_control_xing_in_d_valid),
+    .auto_control_xing_in_d_bits_opcode(uart_1_1_auto_control_xing_in_d_bits_opcode),
+    .auto_control_xing_in_d_bits_size(uart_1_1_auto_control_xing_in_d_bits_size),
+    .auto_control_xing_in_d_bits_source(uart_1_1_auto_control_xing_in_d_bits_source),
+    .auto_control_xing_in_d_bits_data(uart_1_1_auto_control_xing_in_d_bits_data),
+    .auto_io_out_txd(uart_1_1_auto_io_out_txd),
+    .auto_io_out_rxd(uart_1_1_auto_io_out_rxd)
+  );
+  IntSyncCrossingSink_2 intsink_3 ( // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296071.4]
+    .auto_in_sync_0(intsink_3_auto_in_sync_0),
+    .auto_out_0(intsink_3_auto_out_0)
+  );
+  IntXing asyncXing_2 ( // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296077.4]
+    .clock(asyncXing_2_clock),
+    .auto_int_in_0(asyncXing_2_auto_int_in_0),
+    .auto_int_out_0(asyncXing_2_auto_int_out_0)
+  );
+  TLUART_2 uart_2_1 ( // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296083.4]
+    .clock(uart_2_1_clock),
+    .reset(uart_2_1_reset),
+    .auto_int_xing_out_sync_0(uart_2_1_auto_int_xing_out_sync_0),
+    .auto_control_xing_in_a_ready(uart_2_1_auto_control_xing_in_a_ready),
+    .auto_control_xing_in_a_valid(uart_2_1_auto_control_xing_in_a_valid),
+    .auto_control_xing_in_a_bits_opcode(uart_2_1_auto_control_xing_in_a_bits_opcode),
+    .auto_control_xing_in_a_bits_param(uart_2_1_auto_control_xing_in_a_bits_param),
+    .auto_control_xing_in_a_bits_size(uart_2_1_auto_control_xing_in_a_bits_size),
+    .auto_control_xing_in_a_bits_source(uart_2_1_auto_control_xing_in_a_bits_source),
+    .auto_control_xing_in_a_bits_address(uart_2_1_auto_control_xing_in_a_bits_address),
+    .auto_control_xing_in_a_bits_mask(uart_2_1_auto_control_xing_in_a_bits_mask),
+    .auto_control_xing_in_a_bits_data(uart_2_1_auto_control_xing_in_a_bits_data),
+    .auto_control_xing_in_a_bits_corrupt(uart_2_1_auto_control_xing_in_a_bits_corrupt),
+    .auto_control_xing_in_d_ready(uart_2_1_auto_control_xing_in_d_ready),
+    .auto_control_xing_in_d_valid(uart_2_1_auto_control_xing_in_d_valid),
+    .auto_control_xing_in_d_bits_opcode(uart_2_1_auto_control_xing_in_d_bits_opcode),
+    .auto_control_xing_in_d_bits_size(uart_2_1_auto_control_xing_in_d_bits_size),
+    .auto_control_xing_in_d_bits_source(uart_2_1_auto_control_xing_in_d_bits_source),
+    .auto_control_xing_in_d_bits_data(uart_2_1_auto_control_xing_in_d_bits_data),
+    .auto_io_out_txd(uart_2_1_auto_io_out_txd),
+    .auto_io_out_rxd(uart_2_1_auto_io_out_rxd)
+  );
+  IntSyncCrossingSink_2 intsink_4 ( // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296089.4]
+    .auto_in_sync_0(intsink_4_auto_in_sync_0),
+    .auto_out_0(intsink_4_auto_out_0)
+  );
+  IntXing asyncXing_3 ( // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296095.4]
+    .clock(asyncXing_3_clock),
+    .auto_int_in_0(asyncXing_3_auto_int_in_0),
+    .auto_int_out_0(asyncXing_3_auto_int_out_0)
+  );
+  TLUART_3 uart_3_1 ( // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296101.4]
+    .clock(uart_3_1_clock),
+    .reset(uart_3_1_reset),
+    .auto_int_xing_out_sync_0(uart_3_1_auto_int_xing_out_sync_0),
+    .auto_control_xing_in_a_ready(uart_3_1_auto_control_xing_in_a_ready),
+    .auto_control_xing_in_a_valid(uart_3_1_auto_control_xing_in_a_valid),
+    .auto_control_xing_in_a_bits_opcode(uart_3_1_auto_control_xing_in_a_bits_opcode),
+    .auto_control_xing_in_a_bits_param(uart_3_1_auto_control_xing_in_a_bits_param),
+    .auto_control_xing_in_a_bits_size(uart_3_1_auto_control_xing_in_a_bits_size),
+    .auto_control_xing_in_a_bits_source(uart_3_1_auto_control_xing_in_a_bits_source),
+    .auto_control_xing_in_a_bits_address(uart_3_1_auto_control_xing_in_a_bits_address),
+    .auto_control_xing_in_a_bits_mask(uart_3_1_auto_control_xing_in_a_bits_mask),
+    .auto_control_xing_in_a_bits_data(uart_3_1_auto_control_xing_in_a_bits_data),
+    .auto_control_xing_in_a_bits_corrupt(uart_3_1_auto_control_xing_in_a_bits_corrupt),
+    .auto_control_xing_in_d_ready(uart_3_1_auto_control_xing_in_d_ready),
+    .auto_control_xing_in_d_valid(uart_3_1_auto_control_xing_in_d_valid),
+    .auto_control_xing_in_d_bits_opcode(uart_3_1_auto_control_xing_in_d_bits_opcode),
+    .auto_control_xing_in_d_bits_size(uart_3_1_auto_control_xing_in_d_bits_size),
+    .auto_control_xing_in_d_bits_source(uart_3_1_auto_control_xing_in_d_bits_source),
+    .auto_control_xing_in_d_bits_data(uart_3_1_auto_control_xing_in_d_bits_data),
+    .auto_io_out_txd(uart_3_1_auto_io_out_txd),
+    .auto_io_out_rxd(uart_3_1_auto_io_out_rxd)
+  );
+  IntSyncCrossingSink_2 intsink_5 ( // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296107.4]
+    .auto_in_sync_0(intsink_5_auto_in_sync_0),
+    .auto_out_0(intsink_5_auto_out_0)
+  );
+  IntXing asyncXing_4 ( // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296113.4]
+    .clock(asyncXing_4_clock),
+    .auto_int_in_0(asyncXing_4_auto_int_in_0),
+    .auto_int_out_0(asyncXing_4_auto_int_out_0)
+  );
+  TLUART_4 uart_4_1 ( // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296119.4]
+    .clock(uart_4_1_clock),
+    .reset(uart_4_1_reset),
+    .auto_int_xing_out_sync_0(uart_4_1_auto_int_xing_out_sync_0),
+    .auto_control_xing_in_a_ready(uart_4_1_auto_control_xing_in_a_ready),
+    .auto_control_xing_in_a_valid(uart_4_1_auto_control_xing_in_a_valid),
+    .auto_control_xing_in_a_bits_opcode(uart_4_1_auto_control_xing_in_a_bits_opcode),
+    .auto_control_xing_in_a_bits_param(uart_4_1_auto_control_xing_in_a_bits_param),
+    .auto_control_xing_in_a_bits_size(uart_4_1_auto_control_xing_in_a_bits_size),
+    .auto_control_xing_in_a_bits_source(uart_4_1_auto_control_xing_in_a_bits_source),
+    .auto_control_xing_in_a_bits_address(uart_4_1_auto_control_xing_in_a_bits_address),
+    .auto_control_xing_in_a_bits_mask(uart_4_1_auto_control_xing_in_a_bits_mask),
+    .auto_control_xing_in_a_bits_data(uart_4_1_auto_control_xing_in_a_bits_data),
+    .auto_control_xing_in_a_bits_corrupt(uart_4_1_auto_control_xing_in_a_bits_corrupt),
+    .auto_control_xing_in_d_ready(uart_4_1_auto_control_xing_in_d_ready),
+    .auto_control_xing_in_d_valid(uart_4_1_auto_control_xing_in_d_valid),
+    .auto_control_xing_in_d_bits_opcode(uart_4_1_auto_control_xing_in_d_bits_opcode),
+    .auto_control_xing_in_d_bits_size(uart_4_1_auto_control_xing_in_d_bits_size),
+    .auto_control_xing_in_d_bits_source(uart_4_1_auto_control_xing_in_d_bits_source),
+    .auto_control_xing_in_d_bits_data(uart_4_1_auto_control_xing_in_d_bits_data),
+    .auto_io_out_txd(uart_4_1_auto_io_out_txd),
+    .auto_io_out_rxd(uart_4_1_auto_io_out_rxd)
+  );
+  IntSyncCrossingSink_2 intsink_6 ( // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296125.4]
+    .auto_in_sync_0(intsink_6_auto_in_sync_0),
+    .auto_out_0(intsink_6_auto_out_0)
+  );
+  IntXing asyncXing_5 ( // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296131.4]
+    .clock(asyncXing_5_clock),
+    .auto_int_in_0(asyncXing_5_auto_int_in_0),
+    .auto_int_out_0(asyncXing_5_auto_int_out_0)
+  );
+  TLSPIFlash qspi_0_1 ( // @[SPI.scala 67:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296137.4]
+    .clock(qspi_0_1_clock),
+    .reset(qspi_0_1_reset),
+    .auto_int_xing_out_sync_0(qspi_0_1_auto_int_xing_out_sync_0),
+    .auto_mem_xing_in_a_ready(qspi_0_1_auto_mem_xing_in_a_ready),
+    .auto_mem_xing_in_a_valid(qspi_0_1_auto_mem_xing_in_a_valid),
+    .auto_mem_xing_in_a_bits_opcode(qspi_0_1_auto_mem_xing_in_a_bits_opcode),
+    .auto_mem_xing_in_a_bits_param(qspi_0_1_auto_mem_xing_in_a_bits_param),
+    .auto_mem_xing_in_a_bits_size(qspi_0_1_auto_mem_xing_in_a_bits_size),
+    .auto_mem_xing_in_a_bits_source(qspi_0_1_auto_mem_xing_in_a_bits_source),
+    .auto_mem_xing_in_a_bits_address(qspi_0_1_auto_mem_xing_in_a_bits_address),
+    .auto_mem_xing_in_a_bits_mask(qspi_0_1_auto_mem_xing_in_a_bits_mask),
+    .auto_mem_xing_in_a_bits_corrupt(qspi_0_1_auto_mem_xing_in_a_bits_corrupt),
+    .auto_mem_xing_in_d_ready(qspi_0_1_auto_mem_xing_in_d_ready),
+    .auto_mem_xing_in_d_valid(qspi_0_1_auto_mem_xing_in_d_valid),
+    .auto_mem_xing_in_d_bits_size(qspi_0_1_auto_mem_xing_in_d_bits_size),
+    .auto_mem_xing_in_d_bits_source(qspi_0_1_auto_mem_xing_in_d_bits_source),
+    .auto_mem_xing_in_d_bits_data(qspi_0_1_auto_mem_xing_in_d_bits_data),
+    .auto_control_xing_in_a_ready(qspi_0_1_auto_control_xing_in_a_ready),
+    .auto_control_xing_in_a_valid(qspi_0_1_auto_control_xing_in_a_valid),
+    .auto_control_xing_in_a_bits_opcode(qspi_0_1_auto_control_xing_in_a_bits_opcode),
+    .auto_control_xing_in_a_bits_param(qspi_0_1_auto_control_xing_in_a_bits_param),
+    .auto_control_xing_in_a_bits_size(qspi_0_1_auto_control_xing_in_a_bits_size),
+    .auto_control_xing_in_a_bits_source(qspi_0_1_auto_control_xing_in_a_bits_source),
+    .auto_control_xing_in_a_bits_address(qspi_0_1_auto_control_xing_in_a_bits_address),
+    .auto_control_xing_in_a_bits_mask(qspi_0_1_auto_control_xing_in_a_bits_mask),
+    .auto_control_xing_in_a_bits_data(qspi_0_1_auto_control_xing_in_a_bits_data),
+    .auto_control_xing_in_a_bits_corrupt(qspi_0_1_auto_control_xing_in_a_bits_corrupt),
+    .auto_control_xing_in_d_ready(qspi_0_1_auto_control_xing_in_d_ready),
+    .auto_control_xing_in_d_valid(qspi_0_1_auto_control_xing_in_d_valid),
+    .auto_control_xing_in_d_bits_opcode(qspi_0_1_auto_control_xing_in_d_bits_opcode),
+    .auto_control_xing_in_d_bits_size(qspi_0_1_auto_control_xing_in_d_bits_size),
+    .auto_control_xing_in_d_bits_source(qspi_0_1_auto_control_xing_in_d_bits_source),
+    .auto_control_xing_in_d_bits_data(qspi_0_1_auto_control_xing_in_d_bits_data),
+    .auto_io_out_sck(qspi_0_1_auto_io_out_sck),
+    .auto_io_out_dq_0_i(qspi_0_1_auto_io_out_dq_0_i),
+    .auto_io_out_dq_0_o(qspi_0_1_auto_io_out_dq_0_o),
+    .auto_io_out_dq_0_oe(qspi_0_1_auto_io_out_dq_0_oe),
+    .auto_io_out_dq_1_i(qspi_0_1_auto_io_out_dq_1_i),
+    .auto_io_out_dq_1_o(qspi_0_1_auto_io_out_dq_1_o),
+    .auto_io_out_dq_1_oe(qspi_0_1_auto_io_out_dq_1_oe),
+    .auto_io_out_dq_2_i(qspi_0_1_auto_io_out_dq_2_i),
+    .auto_io_out_dq_2_o(qspi_0_1_auto_io_out_dq_2_o),
+    .auto_io_out_dq_2_oe(qspi_0_1_auto_io_out_dq_2_oe),
+    .auto_io_out_dq_3_i(qspi_0_1_auto_io_out_dq_3_i),
+    .auto_io_out_dq_3_o(qspi_0_1_auto_io_out_dq_3_o),
+    .auto_io_out_dq_3_oe(qspi_0_1_auto_io_out_dq_3_oe),
+    .auto_io_out_cs_0(qspi_0_1_auto_io_out_cs_0)
+  );
+  IntSyncCrossingSink_2 intsink_7 ( // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296143.4]
+    .auto_in_sync_0(intsink_7_auto_in_sync_0),
+    .auto_out_0(intsink_7_auto_out_0)
+  );
+  IntXing asyncXing_6 ( // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296149.4]
+    .clock(asyncXing_6_clock),
+    .auto_int_in_0(asyncXing_6_auto_int_in_0),
+    .auto_int_out_0(asyncXing_6_auto_int_out_0)
+  );
+  TLSPI spi_0_1 ( // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296155.4]
+    .clock(spi_0_1_clock),
+    .reset(spi_0_1_reset),
+    .auto_int_xing_out_sync_0(spi_0_1_auto_int_xing_out_sync_0),
+    .auto_control_xing_in_a_ready(spi_0_1_auto_control_xing_in_a_ready),
+    .auto_control_xing_in_a_valid(spi_0_1_auto_control_xing_in_a_valid),
+    .auto_control_xing_in_a_bits_opcode(spi_0_1_auto_control_xing_in_a_bits_opcode),
+    .auto_control_xing_in_a_bits_param(spi_0_1_auto_control_xing_in_a_bits_param),
+    .auto_control_xing_in_a_bits_size(spi_0_1_auto_control_xing_in_a_bits_size),
+    .auto_control_xing_in_a_bits_source(spi_0_1_auto_control_xing_in_a_bits_source),
+    .auto_control_xing_in_a_bits_address(spi_0_1_auto_control_xing_in_a_bits_address),
+    .auto_control_xing_in_a_bits_mask(spi_0_1_auto_control_xing_in_a_bits_mask),
+    .auto_control_xing_in_a_bits_data(spi_0_1_auto_control_xing_in_a_bits_data),
+    .auto_control_xing_in_a_bits_corrupt(spi_0_1_auto_control_xing_in_a_bits_corrupt),
+    .auto_control_xing_in_d_ready(spi_0_1_auto_control_xing_in_d_ready),
+    .auto_control_xing_in_d_valid(spi_0_1_auto_control_xing_in_d_valid),
+    .auto_control_xing_in_d_bits_opcode(spi_0_1_auto_control_xing_in_d_bits_opcode),
+    .auto_control_xing_in_d_bits_size(spi_0_1_auto_control_xing_in_d_bits_size),
+    .auto_control_xing_in_d_bits_source(spi_0_1_auto_control_xing_in_d_bits_source),
+    .auto_control_xing_in_d_bits_data(spi_0_1_auto_control_xing_in_d_bits_data),
+    .auto_io_out_sck(spi_0_1_auto_io_out_sck),
+    .auto_io_out_dq_0_i(spi_0_1_auto_io_out_dq_0_i),
+    .auto_io_out_dq_0_o(spi_0_1_auto_io_out_dq_0_o),
+    .auto_io_out_dq_0_oe(spi_0_1_auto_io_out_dq_0_oe),
+    .auto_io_out_dq_1_i(spi_0_1_auto_io_out_dq_1_i),
+    .auto_io_out_dq_1_o(spi_0_1_auto_io_out_dq_1_o),
+    .auto_io_out_dq_1_oe(spi_0_1_auto_io_out_dq_1_oe),
+    .auto_io_out_dq_2_i(spi_0_1_auto_io_out_dq_2_i),
+    .auto_io_out_dq_2_o(spi_0_1_auto_io_out_dq_2_o),
+    .auto_io_out_dq_2_oe(spi_0_1_auto_io_out_dq_2_oe),
+    .auto_io_out_dq_3_i(spi_0_1_auto_io_out_dq_3_i),
+    .auto_io_out_dq_3_o(spi_0_1_auto_io_out_dq_3_o),
+    .auto_io_out_dq_3_oe(spi_0_1_auto_io_out_dq_3_oe),
+    .auto_io_out_cs_0(spi_0_1_auto_io_out_cs_0),
+    .auto_io_out_cs_1(spi_0_1_auto_io_out_cs_1)
+  );
+  IntSyncCrossingSink_2 intsink_8 ( // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296161.4]
+    .auto_in_sync_0(intsink_8_auto_in_sync_0),
+    .auto_out_0(intsink_8_auto_out_0)
+  );
+  IntXing asyncXing_7 ( // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296167.4]
+    .clock(asyncXing_7_clock),
+    .auto_int_in_0(asyncXing_7_auto_int_in_0),
+    .auto_int_out_0(asyncXing_7_auto_int_out_0)
+  );
+  TLSPI_1 spi_1_1 ( // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296173.4]
+    .clock(spi_1_1_clock),
+    .reset(spi_1_1_reset),
+    .auto_int_xing_out_sync_0(spi_1_1_auto_int_xing_out_sync_0),
+    .auto_control_xing_in_a_ready(spi_1_1_auto_control_xing_in_a_ready),
+    .auto_control_xing_in_a_valid(spi_1_1_auto_control_xing_in_a_valid),
+    .auto_control_xing_in_a_bits_opcode(spi_1_1_auto_control_xing_in_a_bits_opcode),
+    .auto_control_xing_in_a_bits_param(spi_1_1_auto_control_xing_in_a_bits_param),
+    .auto_control_xing_in_a_bits_size(spi_1_1_auto_control_xing_in_a_bits_size),
+    .auto_control_xing_in_a_bits_source(spi_1_1_auto_control_xing_in_a_bits_source),
+    .auto_control_xing_in_a_bits_address(spi_1_1_auto_control_xing_in_a_bits_address),
+    .auto_control_xing_in_a_bits_mask(spi_1_1_auto_control_xing_in_a_bits_mask),
+    .auto_control_xing_in_a_bits_data(spi_1_1_auto_control_xing_in_a_bits_data),
+    .auto_control_xing_in_a_bits_corrupt(spi_1_1_auto_control_xing_in_a_bits_corrupt),
+    .auto_control_xing_in_d_ready(spi_1_1_auto_control_xing_in_d_ready),
+    .auto_control_xing_in_d_valid(spi_1_1_auto_control_xing_in_d_valid),
+    .auto_control_xing_in_d_bits_opcode(spi_1_1_auto_control_xing_in_d_bits_opcode),
+    .auto_control_xing_in_d_bits_size(spi_1_1_auto_control_xing_in_d_bits_size),
+    .auto_control_xing_in_d_bits_source(spi_1_1_auto_control_xing_in_d_bits_source),
+    .auto_control_xing_in_d_bits_data(spi_1_1_auto_control_xing_in_d_bits_data),
+    .auto_io_out_sck(spi_1_1_auto_io_out_sck),
+    .auto_io_out_dq_0_i(spi_1_1_auto_io_out_dq_0_i),
+    .auto_io_out_dq_0_o(spi_1_1_auto_io_out_dq_0_o),
+    .auto_io_out_dq_0_oe(spi_1_1_auto_io_out_dq_0_oe),
+    .auto_io_out_dq_1_i(spi_1_1_auto_io_out_dq_1_i),
+    .auto_io_out_dq_1_o(spi_1_1_auto_io_out_dq_1_o),
+    .auto_io_out_dq_1_oe(spi_1_1_auto_io_out_dq_1_oe),
+    .auto_io_out_dq_2_i(spi_1_1_auto_io_out_dq_2_i),
+    .auto_io_out_dq_2_o(spi_1_1_auto_io_out_dq_2_o),
+    .auto_io_out_dq_2_oe(spi_1_1_auto_io_out_dq_2_oe),
+    .auto_io_out_dq_3_i(spi_1_1_auto_io_out_dq_3_i),
+    .auto_io_out_dq_3_o(spi_1_1_auto_io_out_dq_3_o),
+    .auto_io_out_dq_3_oe(spi_1_1_auto_io_out_dq_3_oe),
+    .auto_io_out_cs_0(spi_1_1_auto_io_out_cs_0)
+  );
+  IntSyncCrossingSink_2 intsink_9 ( // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296179.4]
+    .auto_in_sync_0(intsink_9_auto_in_sync_0),
+    .auto_out_0(intsink_9_auto_out_0)
+  );
+  IntXing_8 asyncXing_8 ( // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
+    .clock(asyncXing_8_clock),
+    .auto_int_in_0(asyncXing_8_auto_int_in_0),
+    .auto_int_in_1(asyncXing_8_auto_int_in_1),
+    .auto_int_in_2(asyncXing_8_auto_int_in_2),
+    .auto_int_in_3(asyncXing_8_auto_int_in_3),
+    .auto_int_in_4(asyncXing_8_auto_int_in_4),
+    .auto_int_in_5(asyncXing_8_auto_int_in_5),
+    .auto_int_in_6(asyncXing_8_auto_int_in_6),
+    .auto_int_in_7(asyncXing_8_auto_int_in_7),
+    .auto_int_in_8(asyncXing_8_auto_int_in_8),
+    .auto_int_in_9(asyncXing_8_auto_int_in_9),
+    .auto_int_in_10(asyncXing_8_auto_int_in_10),
+    .auto_int_in_11(asyncXing_8_auto_int_in_11),
+    .auto_int_in_12(asyncXing_8_auto_int_in_12),
+    .auto_int_in_13(asyncXing_8_auto_int_in_13),
+    .auto_int_in_14(asyncXing_8_auto_int_in_14),
+    .auto_int_in_15(asyncXing_8_auto_int_in_15),
+    .auto_int_in_16(asyncXing_8_auto_int_in_16),
+    .auto_int_in_17(asyncXing_8_auto_int_in_17),
+    .auto_int_in_18(asyncXing_8_auto_int_in_18),
+    .auto_int_in_19(asyncXing_8_auto_int_in_19),
+    .auto_int_in_20(asyncXing_8_auto_int_in_20),
+    .auto_int_in_21(asyncXing_8_auto_int_in_21),
+    .auto_int_in_22(asyncXing_8_auto_int_in_22),
+    .auto_int_in_23(asyncXing_8_auto_int_in_23),
+    .auto_int_in_24(asyncXing_8_auto_int_in_24),
+    .auto_int_in_25(asyncXing_8_auto_int_in_25),
+    .auto_int_in_26(asyncXing_8_auto_int_in_26),
+    .auto_int_in_27(asyncXing_8_auto_int_in_27),
+    .auto_int_in_28(asyncXing_8_auto_int_in_28),
+    .auto_int_in_29(asyncXing_8_auto_int_in_29),
+    .auto_int_in_30(asyncXing_8_auto_int_in_30),
+    .auto_int_in_31(asyncXing_8_auto_int_in_31),
+    .auto_int_out_0(asyncXing_8_auto_int_out_0),
+    .auto_int_out_1(asyncXing_8_auto_int_out_1),
+    .auto_int_out_2(asyncXing_8_auto_int_out_2),
+    .auto_int_out_3(asyncXing_8_auto_int_out_3),
+    .auto_int_out_4(asyncXing_8_auto_int_out_4),
+    .auto_int_out_5(asyncXing_8_auto_int_out_5),
+    .auto_int_out_6(asyncXing_8_auto_int_out_6),
+    .auto_int_out_7(asyncXing_8_auto_int_out_7),
+    .auto_int_out_8(asyncXing_8_auto_int_out_8),
+    .auto_int_out_9(asyncXing_8_auto_int_out_9),
+    .auto_int_out_10(asyncXing_8_auto_int_out_10),
+    .auto_int_out_11(asyncXing_8_auto_int_out_11),
+    .auto_int_out_12(asyncXing_8_auto_int_out_12),
+    .auto_int_out_13(asyncXing_8_auto_int_out_13),
+    .auto_int_out_14(asyncXing_8_auto_int_out_14),
+    .auto_int_out_15(asyncXing_8_auto_int_out_15),
+    .auto_int_out_16(asyncXing_8_auto_int_out_16),
+    .auto_int_out_17(asyncXing_8_auto_int_out_17),
+    .auto_int_out_18(asyncXing_8_auto_int_out_18),
+    .auto_int_out_19(asyncXing_8_auto_int_out_19),
+    .auto_int_out_20(asyncXing_8_auto_int_out_20),
+    .auto_int_out_21(asyncXing_8_auto_int_out_21),
+    .auto_int_out_22(asyncXing_8_auto_int_out_22),
+    .auto_int_out_23(asyncXing_8_auto_int_out_23),
+    .auto_int_out_24(asyncXing_8_auto_int_out_24),
+    .auto_int_out_25(asyncXing_8_auto_int_out_25),
+    .auto_int_out_26(asyncXing_8_auto_int_out_26),
+    .auto_int_out_27(asyncXing_8_auto_int_out_27),
+    .auto_int_out_28(asyncXing_8_auto_int_out_28),
+    .auto_int_out_29(asyncXing_8_auto_int_out_29),
+    .auto_int_out_30(asyncXing_8_auto_int_out_30),
+    .auto_int_out_31(asyncXing_8_auto_int_out_31)
+  );
+  TLGPIO gpio_0_1 ( // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
+    .clock(gpio_0_1_clock),
+    .reset(gpio_0_1_reset),
+    .auto_int_xing_out_sync_0(gpio_0_1_auto_int_xing_out_sync_0),
+    .auto_int_xing_out_sync_1(gpio_0_1_auto_int_xing_out_sync_1),
+    .auto_int_xing_out_sync_2(gpio_0_1_auto_int_xing_out_sync_2),
+    .auto_int_xing_out_sync_3(gpio_0_1_auto_int_xing_out_sync_3),
+    .auto_int_xing_out_sync_4(gpio_0_1_auto_int_xing_out_sync_4),
+    .auto_int_xing_out_sync_5(gpio_0_1_auto_int_xing_out_sync_5),
+    .auto_int_xing_out_sync_6(gpio_0_1_auto_int_xing_out_sync_6),
+    .auto_int_xing_out_sync_7(gpio_0_1_auto_int_xing_out_sync_7),
+    .auto_int_xing_out_sync_8(gpio_0_1_auto_int_xing_out_sync_8),
+    .auto_int_xing_out_sync_9(gpio_0_1_auto_int_xing_out_sync_9),
+    .auto_int_xing_out_sync_10(gpio_0_1_auto_int_xing_out_sync_10),
+    .auto_int_xing_out_sync_11(gpio_0_1_auto_int_xing_out_sync_11),
+    .auto_int_xing_out_sync_12(gpio_0_1_auto_int_xing_out_sync_12),
+    .auto_int_xing_out_sync_13(gpio_0_1_auto_int_xing_out_sync_13),
+    .auto_int_xing_out_sync_14(gpio_0_1_auto_int_xing_out_sync_14),
+    .auto_int_xing_out_sync_15(gpio_0_1_auto_int_xing_out_sync_15),
+    .auto_int_xing_out_sync_16(gpio_0_1_auto_int_xing_out_sync_16),
+    .auto_int_xing_out_sync_17(gpio_0_1_auto_int_xing_out_sync_17),
+    .auto_int_xing_out_sync_18(gpio_0_1_auto_int_xing_out_sync_18),
+    .auto_int_xing_out_sync_19(gpio_0_1_auto_int_xing_out_sync_19),
+    .auto_int_xing_out_sync_20(gpio_0_1_auto_int_xing_out_sync_20),
+    .auto_int_xing_out_sync_21(gpio_0_1_auto_int_xing_out_sync_21),
+    .auto_int_xing_out_sync_22(gpio_0_1_auto_int_xing_out_sync_22),
+    .auto_int_xing_out_sync_23(gpio_0_1_auto_int_xing_out_sync_23),
+    .auto_int_xing_out_sync_24(gpio_0_1_auto_int_xing_out_sync_24),
+    .auto_int_xing_out_sync_25(gpio_0_1_auto_int_xing_out_sync_25),
+    .auto_int_xing_out_sync_26(gpio_0_1_auto_int_xing_out_sync_26),
+    .auto_int_xing_out_sync_27(gpio_0_1_auto_int_xing_out_sync_27),
+    .auto_int_xing_out_sync_28(gpio_0_1_auto_int_xing_out_sync_28),
+    .auto_int_xing_out_sync_29(gpio_0_1_auto_int_xing_out_sync_29),
+    .auto_int_xing_out_sync_30(gpio_0_1_auto_int_xing_out_sync_30),
+    .auto_int_xing_out_sync_31(gpio_0_1_auto_int_xing_out_sync_31),
+    .auto_control_xing_in_a_ready(gpio_0_1_auto_control_xing_in_a_ready),
+    .auto_control_xing_in_a_valid(gpio_0_1_auto_control_xing_in_a_valid),
+    .auto_control_xing_in_a_bits_opcode(gpio_0_1_auto_control_xing_in_a_bits_opcode),
+    .auto_control_xing_in_a_bits_param(gpio_0_1_auto_control_xing_in_a_bits_param),
+    .auto_control_xing_in_a_bits_size(gpio_0_1_auto_control_xing_in_a_bits_size),
+    .auto_control_xing_in_a_bits_source(gpio_0_1_auto_control_xing_in_a_bits_source),
+    .auto_control_xing_in_a_bits_address(gpio_0_1_auto_control_xing_in_a_bits_address),
+    .auto_control_xing_in_a_bits_mask(gpio_0_1_auto_control_xing_in_a_bits_mask),
+    .auto_control_xing_in_a_bits_data(gpio_0_1_auto_control_xing_in_a_bits_data),
+    .auto_control_xing_in_a_bits_corrupt(gpio_0_1_auto_control_xing_in_a_bits_corrupt),
+    .auto_control_xing_in_d_ready(gpio_0_1_auto_control_xing_in_d_ready),
+    .auto_control_xing_in_d_valid(gpio_0_1_auto_control_xing_in_d_valid),
+    .auto_control_xing_in_d_bits_opcode(gpio_0_1_auto_control_xing_in_d_bits_opcode),
+    .auto_control_xing_in_d_bits_size(gpio_0_1_auto_control_xing_in_d_bits_size),
+    .auto_control_xing_in_d_bits_source(gpio_0_1_auto_control_xing_in_d_bits_source),
+    .auto_control_xing_in_d_bits_data(gpio_0_1_auto_control_xing_in_d_bits_data),
+    .auto_io_out_pins_0_i_ival(gpio_0_1_auto_io_out_pins_0_i_ival),
+    .auto_io_out_pins_0_o_oval(gpio_0_1_auto_io_out_pins_0_o_oval),
+    .auto_io_out_pins_0_o_oe(gpio_0_1_auto_io_out_pins_0_o_oe),
+    .auto_io_out_pins_0_o_ie(gpio_0_1_auto_io_out_pins_0_o_ie),
+    .auto_io_out_pins_1_i_ival(gpio_0_1_auto_io_out_pins_1_i_ival),
+    .auto_io_out_pins_1_o_oval(gpio_0_1_auto_io_out_pins_1_o_oval),
+    .auto_io_out_pins_1_o_oe(gpio_0_1_auto_io_out_pins_1_o_oe),
+    .auto_io_out_pins_1_o_ie(gpio_0_1_auto_io_out_pins_1_o_ie),
+    .auto_io_out_pins_2_i_ival(gpio_0_1_auto_io_out_pins_2_i_ival),
+    .auto_io_out_pins_2_o_oval(gpio_0_1_auto_io_out_pins_2_o_oval),
+    .auto_io_out_pins_2_o_oe(gpio_0_1_auto_io_out_pins_2_o_oe),
+    .auto_io_out_pins_2_o_ie(gpio_0_1_auto_io_out_pins_2_o_ie),
+    .auto_io_out_pins_3_i_ival(gpio_0_1_auto_io_out_pins_3_i_ival),
+    .auto_io_out_pins_3_o_oval(gpio_0_1_auto_io_out_pins_3_o_oval),
+    .auto_io_out_pins_3_o_oe(gpio_0_1_auto_io_out_pins_3_o_oe),
+    .auto_io_out_pins_3_o_ie(gpio_0_1_auto_io_out_pins_3_o_ie),
+    .auto_io_out_pins_4_i_ival(gpio_0_1_auto_io_out_pins_4_i_ival),
+    .auto_io_out_pins_4_o_oval(gpio_0_1_auto_io_out_pins_4_o_oval),
+    .auto_io_out_pins_4_o_oe(gpio_0_1_auto_io_out_pins_4_o_oe),
+    .auto_io_out_pins_4_o_ie(gpio_0_1_auto_io_out_pins_4_o_ie),
+    .auto_io_out_pins_5_i_ival(gpio_0_1_auto_io_out_pins_5_i_ival),
+    .auto_io_out_pins_5_o_oval(gpio_0_1_auto_io_out_pins_5_o_oval),
+    .auto_io_out_pins_5_o_oe(gpio_0_1_auto_io_out_pins_5_o_oe),
+    .auto_io_out_pins_5_o_ie(gpio_0_1_auto_io_out_pins_5_o_ie),
+    .auto_io_out_pins_6_i_ival(gpio_0_1_auto_io_out_pins_6_i_ival),
+    .auto_io_out_pins_6_o_oval(gpio_0_1_auto_io_out_pins_6_o_oval),
+    .auto_io_out_pins_6_o_oe(gpio_0_1_auto_io_out_pins_6_o_oe),
+    .auto_io_out_pins_6_o_ie(gpio_0_1_auto_io_out_pins_6_o_ie),
+    .auto_io_out_pins_7_i_ival(gpio_0_1_auto_io_out_pins_7_i_ival),
+    .auto_io_out_pins_7_o_oval(gpio_0_1_auto_io_out_pins_7_o_oval),
+    .auto_io_out_pins_7_o_oe(gpio_0_1_auto_io_out_pins_7_o_oe),
+    .auto_io_out_pins_7_o_ie(gpio_0_1_auto_io_out_pins_7_o_ie),
+    .auto_io_out_pins_8_i_ival(gpio_0_1_auto_io_out_pins_8_i_ival),
+    .auto_io_out_pins_8_o_oval(gpio_0_1_auto_io_out_pins_8_o_oval),
+    .auto_io_out_pins_8_o_oe(gpio_0_1_auto_io_out_pins_8_o_oe),
+    .auto_io_out_pins_8_o_ie(gpio_0_1_auto_io_out_pins_8_o_ie),
+    .auto_io_out_pins_9_i_ival(gpio_0_1_auto_io_out_pins_9_i_ival),
+    .auto_io_out_pins_9_o_oval(gpio_0_1_auto_io_out_pins_9_o_oval),
+    .auto_io_out_pins_9_o_oe(gpio_0_1_auto_io_out_pins_9_o_oe),
+    .auto_io_out_pins_9_o_ie(gpio_0_1_auto_io_out_pins_9_o_ie),
+    .auto_io_out_pins_10_i_ival(gpio_0_1_auto_io_out_pins_10_i_ival),
+    .auto_io_out_pins_10_o_oval(gpio_0_1_auto_io_out_pins_10_o_oval),
+    .auto_io_out_pins_10_o_oe(gpio_0_1_auto_io_out_pins_10_o_oe),
+    .auto_io_out_pins_10_o_ie(gpio_0_1_auto_io_out_pins_10_o_ie),
+    .auto_io_out_pins_11_i_ival(gpio_0_1_auto_io_out_pins_11_i_ival),
+    .auto_io_out_pins_11_o_oval(gpio_0_1_auto_io_out_pins_11_o_oval),
+    .auto_io_out_pins_11_o_oe(gpio_0_1_auto_io_out_pins_11_o_oe),
+    .auto_io_out_pins_11_o_ie(gpio_0_1_auto_io_out_pins_11_o_ie),
+    .auto_io_out_pins_12_i_ival(gpio_0_1_auto_io_out_pins_12_i_ival),
+    .auto_io_out_pins_12_o_oval(gpio_0_1_auto_io_out_pins_12_o_oval),
+    .auto_io_out_pins_12_o_oe(gpio_0_1_auto_io_out_pins_12_o_oe),
+    .auto_io_out_pins_12_o_ie(gpio_0_1_auto_io_out_pins_12_o_ie),
+    .auto_io_out_pins_13_i_ival(gpio_0_1_auto_io_out_pins_13_i_ival),
+    .auto_io_out_pins_13_o_oval(gpio_0_1_auto_io_out_pins_13_o_oval),
+    .auto_io_out_pins_13_o_oe(gpio_0_1_auto_io_out_pins_13_o_oe),
+    .auto_io_out_pins_13_o_ie(gpio_0_1_auto_io_out_pins_13_o_ie),
+    .auto_io_out_pins_14_i_ival(gpio_0_1_auto_io_out_pins_14_i_ival),
+    .auto_io_out_pins_14_o_oval(gpio_0_1_auto_io_out_pins_14_o_oval),
+    .auto_io_out_pins_14_o_oe(gpio_0_1_auto_io_out_pins_14_o_oe),
+    .auto_io_out_pins_14_o_ie(gpio_0_1_auto_io_out_pins_14_o_ie),
+    .auto_io_out_pins_15_i_ival(gpio_0_1_auto_io_out_pins_15_i_ival),
+    .auto_io_out_pins_15_o_oval(gpio_0_1_auto_io_out_pins_15_o_oval),
+    .auto_io_out_pins_15_o_oe(gpio_0_1_auto_io_out_pins_15_o_oe),
+    .auto_io_out_pins_15_o_ie(gpio_0_1_auto_io_out_pins_15_o_ie),
+    .auto_io_out_pins_16_i_ival(gpio_0_1_auto_io_out_pins_16_i_ival),
+    .auto_io_out_pins_16_o_oval(gpio_0_1_auto_io_out_pins_16_o_oval),
+    .auto_io_out_pins_16_o_oe(gpio_0_1_auto_io_out_pins_16_o_oe),
+    .auto_io_out_pins_16_o_ie(gpio_0_1_auto_io_out_pins_16_o_ie),
+    .auto_io_out_pins_17_i_ival(gpio_0_1_auto_io_out_pins_17_i_ival),
+    .auto_io_out_pins_17_o_oval(gpio_0_1_auto_io_out_pins_17_o_oval),
+    .auto_io_out_pins_17_o_oe(gpio_0_1_auto_io_out_pins_17_o_oe),
+    .auto_io_out_pins_17_o_ie(gpio_0_1_auto_io_out_pins_17_o_ie),
+    .auto_io_out_pins_18_i_ival(gpio_0_1_auto_io_out_pins_18_i_ival),
+    .auto_io_out_pins_18_o_oval(gpio_0_1_auto_io_out_pins_18_o_oval),
+    .auto_io_out_pins_18_o_oe(gpio_0_1_auto_io_out_pins_18_o_oe),
+    .auto_io_out_pins_18_o_ie(gpio_0_1_auto_io_out_pins_18_o_ie),
+    .auto_io_out_pins_19_i_ival(gpio_0_1_auto_io_out_pins_19_i_ival),
+    .auto_io_out_pins_19_o_oval(gpio_0_1_auto_io_out_pins_19_o_oval),
+    .auto_io_out_pins_19_o_oe(gpio_0_1_auto_io_out_pins_19_o_oe),
+    .auto_io_out_pins_19_o_ie(gpio_0_1_auto_io_out_pins_19_o_ie),
+    .auto_io_out_pins_20_i_ival(gpio_0_1_auto_io_out_pins_20_i_ival),
+    .auto_io_out_pins_20_o_oval(gpio_0_1_auto_io_out_pins_20_o_oval),
+    .auto_io_out_pins_20_o_oe(gpio_0_1_auto_io_out_pins_20_o_oe),
+    .auto_io_out_pins_20_o_ie(gpio_0_1_auto_io_out_pins_20_o_ie),
+    .auto_io_out_pins_21_i_ival(gpio_0_1_auto_io_out_pins_21_i_ival),
+    .auto_io_out_pins_21_o_oval(gpio_0_1_auto_io_out_pins_21_o_oval),
+    .auto_io_out_pins_21_o_oe(gpio_0_1_auto_io_out_pins_21_o_oe),
+    .auto_io_out_pins_21_o_ie(gpio_0_1_auto_io_out_pins_21_o_ie),
+    .auto_io_out_pins_22_i_ival(gpio_0_1_auto_io_out_pins_22_i_ival),
+    .auto_io_out_pins_22_o_oval(gpio_0_1_auto_io_out_pins_22_o_oval),
+    .auto_io_out_pins_22_o_oe(gpio_0_1_auto_io_out_pins_22_o_oe),
+    .auto_io_out_pins_22_o_ie(gpio_0_1_auto_io_out_pins_22_o_ie),
+    .auto_io_out_pins_23_i_ival(gpio_0_1_auto_io_out_pins_23_i_ival),
+    .auto_io_out_pins_23_o_oval(gpio_0_1_auto_io_out_pins_23_o_oval),
+    .auto_io_out_pins_23_o_oe(gpio_0_1_auto_io_out_pins_23_o_oe),
+    .auto_io_out_pins_23_o_ie(gpio_0_1_auto_io_out_pins_23_o_ie),
+    .auto_io_out_pins_24_i_ival(gpio_0_1_auto_io_out_pins_24_i_ival),
+    .auto_io_out_pins_24_o_oval(gpio_0_1_auto_io_out_pins_24_o_oval),
+    .auto_io_out_pins_24_o_oe(gpio_0_1_auto_io_out_pins_24_o_oe),
+    .auto_io_out_pins_24_o_ie(gpio_0_1_auto_io_out_pins_24_o_ie),
+    .auto_io_out_iof_0_0_o_oval(gpio_0_1_auto_io_out_iof_0_0_o_oval),
+    .auto_io_out_iof_0_1_o_oval(gpio_0_1_auto_io_out_iof_0_1_o_oval),
+    .auto_io_out_iof_0_2_i_ival(gpio_0_1_auto_io_out_iof_0_2_i_ival),
+    .auto_io_out_iof_0_2_o_oval(gpio_0_1_auto_io_out_iof_0_2_o_oval),
+    .auto_io_out_iof_0_2_o_oe(gpio_0_1_auto_io_out_iof_0_2_o_oe),
+    .auto_io_out_iof_0_2_o_ie(gpio_0_1_auto_io_out_iof_0_2_o_ie),
+    .auto_io_out_iof_0_3_i_ival(gpio_0_1_auto_io_out_iof_0_3_i_ival),
+    .auto_io_out_iof_0_3_o_oval(gpio_0_1_auto_io_out_iof_0_3_o_oval),
+    .auto_io_out_iof_0_3_o_oe(gpio_0_1_auto_io_out_iof_0_3_o_oe),
+    .auto_io_out_iof_0_3_o_ie(gpio_0_1_auto_io_out_iof_0_3_o_ie),
+    .auto_io_out_iof_0_4_i_ival(gpio_0_1_auto_io_out_iof_0_4_i_ival),
+    .auto_io_out_iof_0_4_o_oval(gpio_0_1_auto_io_out_iof_0_4_o_oval),
+    .auto_io_out_iof_0_4_o_oe(gpio_0_1_auto_io_out_iof_0_4_o_oe),
+    .auto_io_out_iof_0_4_o_ie(gpio_0_1_auto_io_out_iof_0_4_o_ie),
+    .auto_io_out_iof_0_5_i_ival(gpio_0_1_auto_io_out_iof_0_5_i_ival),
+    .auto_io_out_iof_0_5_o_oval(gpio_0_1_auto_io_out_iof_0_5_o_oval),
+    .auto_io_out_iof_0_5_o_oe(gpio_0_1_auto_io_out_iof_0_5_o_oe),
+    .auto_io_out_iof_0_5_o_ie(gpio_0_1_auto_io_out_iof_0_5_o_ie),
+    .auto_io_out_iof_0_6_o_oval(gpio_0_1_auto_io_out_iof_0_6_o_oval),
+    .auto_io_out_iof_0_7_o_oval(gpio_0_1_auto_io_out_iof_0_7_o_oval),
+    .auto_io_out_iof_0_8_i_ival(gpio_0_1_auto_io_out_iof_0_8_i_ival),
+    .auto_io_out_iof_0_8_o_oval(gpio_0_1_auto_io_out_iof_0_8_o_oval),
+    .auto_io_out_iof_0_8_o_oe(gpio_0_1_auto_io_out_iof_0_8_o_oe),
+    .auto_io_out_iof_0_8_o_ie(gpio_0_1_auto_io_out_iof_0_8_o_ie),
+    .auto_io_out_iof_0_9_i_ival(gpio_0_1_auto_io_out_iof_0_9_i_ival),
+    .auto_io_out_iof_0_9_o_oval(gpio_0_1_auto_io_out_iof_0_9_o_oval),
+    .auto_io_out_iof_0_9_o_oe(gpio_0_1_auto_io_out_iof_0_9_o_oe),
+    .auto_io_out_iof_0_9_o_ie(gpio_0_1_auto_io_out_iof_0_9_o_ie),
+    .auto_io_out_iof_0_10_i_ival(gpio_0_1_auto_io_out_iof_0_10_i_ival),
+    .auto_io_out_iof_0_10_o_oval(gpio_0_1_auto_io_out_iof_0_10_o_oval),
+    .auto_io_out_iof_0_10_o_oe(gpio_0_1_auto_io_out_iof_0_10_o_oe),
+    .auto_io_out_iof_0_10_o_ie(gpio_0_1_auto_io_out_iof_0_10_o_ie),
+    .auto_io_out_iof_0_11_i_ival(gpio_0_1_auto_io_out_iof_0_11_i_ival),
+    .auto_io_out_iof_0_11_o_oval(gpio_0_1_auto_io_out_iof_0_11_o_oval),
+    .auto_io_out_iof_0_11_o_oe(gpio_0_1_auto_io_out_iof_0_11_o_oe),
+    .auto_io_out_iof_0_11_o_ie(gpio_0_1_auto_io_out_iof_0_11_o_ie),
+    .auto_io_out_iof_0_12_i_ival(gpio_0_1_auto_io_out_iof_0_12_i_ival),
+    .auto_io_out_iof_0_12_o_oe(gpio_0_1_auto_io_out_iof_0_12_o_oe),
+    .auto_io_out_iof_0_13_i_ival(gpio_0_1_auto_io_out_iof_0_13_i_ival),
+    .auto_io_out_iof_0_13_o_oe(gpio_0_1_auto_io_out_iof_0_13_o_oe),
+    .auto_io_out_iof_0_14_i_ival(gpio_0_1_auto_io_out_iof_0_14_i_ival),
+    .auto_io_out_iof_0_14_o_oe(gpio_0_1_auto_io_out_iof_0_14_o_oe),
+    .auto_io_out_iof_0_15_i_ival(gpio_0_1_auto_io_out_iof_0_15_i_ival),
+    .auto_io_out_iof_0_15_o_oe(gpio_0_1_auto_io_out_iof_0_15_o_oe),
+    .auto_io_out_iof_0_16_i_ival(gpio_0_1_auto_io_out_iof_0_16_i_ival),
+    .auto_io_out_iof_0_17_o_oval(gpio_0_1_auto_io_out_iof_0_17_o_oval),
+    .auto_io_out_iof_0_18_i_ival(gpio_0_1_auto_io_out_iof_0_18_i_ival),
+    .auto_io_out_iof_0_19_o_oval(gpio_0_1_auto_io_out_iof_0_19_o_oval),
+    .auto_io_out_iof_0_20_i_ival(gpio_0_1_auto_io_out_iof_0_20_i_ival),
+    .auto_io_out_iof_0_21_o_oval(gpio_0_1_auto_io_out_iof_0_21_o_oval),
+    .auto_io_out_iof_0_22_i_ival(gpio_0_1_auto_io_out_iof_0_22_i_ival),
+    .auto_io_out_iof_0_23_o_oval(gpio_0_1_auto_io_out_iof_0_23_o_oval),
+    .auto_io_out_iof_0_24_o_oval(gpio_0_1_auto_io_out_iof_0_24_o_oval)
+  );
+  IntSyncCrossingSink_13 intsink_10 ( // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
+    .auto_in_sync_0(intsink_10_auto_in_sync_0),
+    .auto_in_sync_1(intsink_10_auto_in_sync_1),
+    .auto_in_sync_2(intsink_10_auto_in_sync_2),
+    .auto_in_sync_3(intsink_10_auto_in_sync_3),
+    .auto_in_sync_4(intsink_10_auto_in_sync_4),
+    .auto_in_sync_5(intsink_10_auto_in_sync_5),
+    .auto_in_sync_6(intsink_10_auto_in_sync_6),
+    .auto_in_sync_7(intsink_10_auto_in_sync_7),
+    .auto_in_sync_8(intsink_10_auto_in_sync_8),
+    .auto_in_sync_9(intsink_10_auto_in_sync_9),
+    .auto_in_sync_10(intsink_10_auto_in_sync_10),
+    .auto_in_sync_11(intsink_10_auto_in_sync_11),
+    .auto_in_sync_12(intsink_10_auto_in_sync_12),
+    .auto_in_sync_13(intsink_10_auto_in_sync_13),
+    .auto_in_sync_14(intsink_10_auto_in_sync_14),
+    .auto_in_sync_15(intsink_10_auto_in_sync_15),
+    .auto_in_sync_16(intsink_10_auto_in_sync_16),
+    .auto_in_sync_17(intsink_10_auto_in_sync_17),
+    .auto_in_sync_18(intsink_10_auto_in_sync_18),
+    .auto_in_sync_19(intsink_10_auto_in_sync_19),
+    .auto_in_sync_20(intsink_10_auto_in_sync_20),
+    .auto_in_sync_21(intsink_10_auto_in_sync_21),
+    .auto_in_sync_22(intsink_10_auto_in_sync_22),
+    .auto_in_sync_23(intsink_10_auto_in_sync_23),
+    .auto_in_sync_24(intsink_10_auto_in_sync_24),
+    .auto_in_sync_25(intsink_10_auto_in_sync_25),
+    .auto_in_sync_26(intsink_10_auto_in_sync_26),
+    .auto_in_sync_27(intsink_10_auto_in_sync_27),
+    .auto_in_sync_28(intsink_10_auto_in_sync_28),
+    .auto_in_sync_29(intsink_10_auto_in_sync_29),
+    .auto_in_sync_30(intsink_10_auto_in_sync_30),
+    .auto_in_sync_31(intsink_10_auto_in_sync_31),
+    .auto_out_0(intsink_10_auto_out_0),
+    .auto_out_1(intsink_10_auto_out_1),
+    .auto_out_2(intsink_10_auto_out_2),
+    .auto_out_3(intsink_10_auto_out_3),
+    .auto_out_4(intsink_10_auto_out_4),
+    .auto_out_5(intsink_10_auto_out_5),
+    .auto_out_6(intsink_10_auto_out_6),
+    .auto_out_7(intsink_10_auto_out_7),
+    .auto_out_8(intsink_10_auto_out_8),
+    .auto_out_9(intsink_10_auto_out_9),
+    .auto_out_10(intsink_10_auto_out_10),
+    .auto_out_11(intsink_10_auto_out_11),
+    .auto_out_12(intsink_10_auto_out_12),
+    .auto_out_13(intsink_10_auto_out_13),
+    .auto_out_14(intsink_10_auto_out_14),
+    .auto_out_15(intsink_10_auto_out_15),
+    .auto_out_16(intsink_10_auto_out_16),
+    .auto_out_17(intsink_10_auto_out_17),
+    .auto_out_18(intsink_10_auto_out_18),
+    .auto_out_19(intsink_10_auto_out_19),
+    .auto_out_20(intsink_10_auto_out_20),
+    .auto_out_21(intsink_10_auto_out_21),
+    .auto_out_22(intsink_10_auto_out_22),
+    .auto_out_23(intsink_10_auto_out_23),
+    .auto_out_24(intsink_10_auto_out_24),
+    .auto_out_25(intsink_10_auto_out_25),
+    .auto_out_26(intsink_10_auto_out_26),
+    .auto_out_27(intsink_10_auto_out_27),
+    .auto_out_28(intsink_10_auto_out_28),
+    .auto_out_29(intsink_10_auto_out_29),
+    .auto_out_30(intsink_10_auto_out_30),
+    .auto_out_31(intsink_10_auto_out_31)
+  );
+  IntXing asyncXing_9 ( // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296203.4]
+    .clock(asyncXing_9_clock),
+    .auto_int_in_0(asyncXing_9_auto_int_in_0),
+    .auto_int_out_0(asyncXing_9_auto_int_out_0)
+  );
+  TLI2C i2c_0_1 ( // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296209.4]
+    .clock(i2c_0_1_clock),
+    .reset(i2c_0_1_reset),
+    .auto_int_xing_out_sync_0(i2c_0_1_auto_int_xing_out_sync_0),
+    .auto_control_xing_in_a_ready(i2c_0_1_auto_control_xing_in_a_ready),
+    .auto_control_xing_in_a_valid(i2c_0_1_auto_control_xing_in_a_valid),
+    .auto_control_xing_in_a_bits_opcode(i2c_0_1_auto_control_xing_in_a_bits_opcode),
+    .auto_control_xing_in_a_bits_param(i2c_0_1_auto_control_xing_in_a_bits_param),
+    .auto_control_xing_in_a_bits_size(i2c_0_1_auto_control_xing_in_a_bits_size),
+    .auto_control_xing_in_a_bits_source(i2c_0_1_auto_control_xing_in_a_bits_source),
+    .auto_control_xing_in_a_bits_address(i2c_0_1_auto_control_xing_in_a_bits_address),
+    .auto_control_xing_in_a_bits_mask(i2c_0_1_auto_control_xing_in_a_bits_mask),
+    .auto_control_xing_in_a_bits_data(i2c_0_1_auto_control_xing_in_a_bits_data),
+    .auto_control_xing_in_a_bits_corrupt(i2c_0_1_auto_control_xing_in_a_bits_corrupt),
+    .auto_control_xing_in_d_ready(i2c_0_1_auto_control_xing_in_d_ready),
+    .auto_control_xing_in_d_valid(i2c_0_1_auto_control_xing_in_d_valid),
+    .auto_control_xing_in_d_bits_opcode(i2c_0_1_auto_control_xing_in_d_bits_opcode),
+    .auto_control_xing_in_d_bits_size(i2c_0_1_auto_control_xing_in_d_bits_size),
+    .auto_control_xing_in_d_bits_source(i2c_0_1_auto_control_xing_in_d_bits_source),
+    .auto_control_xing_in_d_bits_data(i2c_0_1_auto_control_xing_in_d_bits_data),
+    .auto_io_out_scl_in(i2c_0_1_auto_io_out_scl_in),
+    .auto_io_out_scl_oe(i2c_0_1_auto_io_out_scl_oe),
+    .auto_io_out_sda_in(i2c_0_1_auto_io_out_sda_in),
+    .auto_io_out_sda_oe(i2c_0_1_auto_io_out_sda_oe)
+  );
+  IntSyncCrossingSink_2 intsink_11 ( // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296215.4]
+    .auto_in_sync_0(intsink_11_auto_in_sync_0),
+    .auto_out_0(intsink_11_auto_out_0)
+  );
+  IntXing asyncXing_10 ( // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296221.4]
+    .clock(asyncXing_10_clock),
+    .auto_int_in_0(asyncXing_10_auto_int_in_0),
+    .auto_int_out_0(asyncXing_10_auto_int_out_0)
+  );
+  TLI2C_1 i2c_1_1 ( // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296227.4]
+    .clock(i2c_1_1_clock),
+    .reset(i2c_1_1_reset),
+    .auto_int_xing_out_sync_0(i2c_1_1_auto_int_xing_out_sync_0),
+    .auto_control_xing_in_a_ready(i2c_1_1_auto_control_xing_in_a_ready),
+    .auto_control_xing_in_a_valid(i2c_1_1_auto_control_xing_in_a_valid),
+    .auto_control_xing_in_a_bits_opcode(i2c_1_1_auto_control_xing_in_a_bits_opcode),
+    .auto_control_xing_in_a_bits_param(i2c_1_1_auto_control_xing_in_a_bits_param),
+    .auto_control_xing_in_a_bits_size(i2c_1_1_auto_control_xing_in_a_bits_size),
+    .auto_control_xing_in_a_bits_source(i2c_1_1_auto_control_xing_in_a_bits_source),
+    .auto_control_xing_in_a_bits_address(i2c_1_1_auto_control_xing_in_a_bits_address),
+    .auto_control_xing_in_a_bits_mask(i2c_1_1_auto_control_xing_in_a_bits_mask),
+    .auto_control_xing_in_a_bits_data(i2c_1_1_auto_control_xing_in_a_bits_data),
+    .auto_control_xing_in_a_bits_corrupt(i2c_1_1_auto_control_xing_in_a_bits_corrupt),
+    .auto_control_xing_in_d_ready(i2c_1_1_auto_control_xing_in_d_ready),
+    .auto_control_xing_in_d_valid(i2c_1_1_auto_control_xing_in_d_valid),
+    .auto_control_xing_in_d_bits_opcode(i2c_1_1_auto_control_xing_in_d_bits_opcode),
+    .auto_control_xing_in_d_bits_size(i2c_1_1_auto_control_xing_in_d_bits_size),
+    .auto_control_xing_in_d_bits_source(i2c_1_1_auto_control_xing_in_d_bits_source),
+    .auto_control_xing_in_d_bits_data(i2c_1_1_auto_control_xing_in_d_bits_data),
+    .auto_io_out_scl_in(i2c_1_1_auto_io_out_scl_in),
+    .auto_io_out_scl_oe(i2c_1_1_auto_io_out_scl_oe),
+    .auto_io_out_sda_in(i2c_1_1_auto_io_out_sda_in),
+    .auto_io_out_sda_oe(i2c_1_1_auto_io_out_sda_oe)
+  );
+  IntSyncCrossingSink_2 intsink_12 ( // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296233.4]
+    .auto_in_sync_0(intsink_12_auto_in_sync_0),
+    .auto_out_0(intsink_12_auto_out_0)
+  );
+  DebugTransportModuleJTAG dtm ( // @[Periphery.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@296442.4]
+    .clock(dtm_clock),
+    .reset(dtm_reset),
+    .io_dmi_req_ready(dtm_io_dmi_req_ready),
+    .io_dmi_req_valid(dtm_io_dmi_req_valid),
+    .io_dmi_req_bits_addr(dtm_io_dmi_req_bits_addr),
+    .io_dmi_req_bits_data(dtm_io_dmi_req_bits_data),
+    .io_dmi_req_bits_op(dtm_io_dmi_req_bits_op),
+    .io_dmi_resp_ready(dtm_io_dmi_resp_ready),
+    .io_dmi_resp_valid(dtm_io_dmi_resp_valid),
+    .io_dmi_resp_bits_data(dtm_io_dmi_resp_bits_data),
+    .io_dmi_resp_bits_resp(dtm_io_dmi_resp_bits_resp),
+    .io_jtag_TMS(dtm_io_jtag_TMS),
+    .io_jtag_TDI(dtm_io_jtag_TDI),
+    .io_jtag_TDO_data(dtm_io_jtag_TDO_data),
+    .io_jtag_TDO_driven(dtm_io_jtag_TDO_driven),
+    .io_jtag_reset(dtm_io_jtag_reset),
+    .io_fsmReset(dtm_io_fsmReset)
+  );
+  ResetCatchAndSync_d3 dmiResetCatch ( // @[ResetCatchAndSync.scala 39:28:shc.marmotcaravel.MarmotCaravelConfig.fir@296465.4]
+    .clock(dmiResetCatch_clock),
+    .reset(dmiResetCatch_reset),
+    .io_sync_reset(dmiResetCatch_io_sync_reset)
+  );
+  SynchronizerShiftReg_w1_d3 rtc ( // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@296493.4]
+    .clock(rtc_clock),
+    .io_d(rtc_io_d),
+    .io_q(rtc_io_q)
+  );
+  assign _T_2162 = 1'h0; // @[Periphery.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@296460.4]
+  assign _T_3451 = ~ rtc_last; // @[MockAONPeriphery.scala 46:60:shc.marmotcaravel.MarmotCaravelConfig.fir@296503.4]
+  assign rtc_sync = rtc_io_q; // @[ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@296498.4 ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@296500.4]
+  assign _T_3452 = rtc_sync & _T_3451; // @[MockAONPeriphery.scala 46:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296504.4]
+  assign global_reset_vector = 32'h10000; // @[ResetVector.scala 10:33:shc.marmotcaravel.MarmotCaravelConfig.fir@296434.4 System.scala 46:23:shc.marmotcaravel.MarmotCaravelConfig.fir@296511.4]
+  assign tile_inputs_0_hartid = 1'h0; // @[HasTiles.scala 137:35:shc.marmotcaravel.MarmotCaravelConfig.fir@296436.4 RocketSubsystem.scala 74:17:shc.marmotcaravel.MarmotCaravelConfig.fir@296476.4]
+  assign tile_inputs_0_reset_vector = 32'h10000; // @[HasTiles.scala 137:35:shc.marmotcaravel.MarmotCaravelConfig.fir@296436.4 RocketSubsystem.scala 75:23:shc.marmotcaravel.MarmotCaravelConfig.fir@296477.4]
+  assign tile_inputs_0_clock = clock; // @[HasTiles.scala 137:35:shc.marmotcaravel.MarmotCaravelConfig.fir@296436.4 RocketSubsystem.scala 72:16:shc.marmotcaravel.MarmotCaravelConfig.fir@296474.4]
+  assign tile_inputs_0_reset = reset; // @[HasTiles.scala 137:35:shc.marmotcaravel.MarmotCaravelConfig.fir@296436.4 RocketSubsystem.scala 73:16:shc.marmotcaravel.MarmotCaravelConfig.fir@296475.4]
+  assign debug_systemjtag_jtag_TDO_data = dtm_io_jtag_TDO_data; // @[Periphery.scala 52:17:shc.marmotcaravel.MarmotCaravelConfig.fir@296446.4]
+  assign debug_systemjtag_jtag_TDO_driven = dtm_io_jtag_TDO_driven; // @[Periphery.scala 52:17:shc.marmotcaravel.MarmotCaravelConfig.fir@296446.4]
+  assign uart_0_txd = uart_0_1_auto_io_out_txd; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296478.4]
+  assign uart_1_txd = uart_1_1_auto_io_out_txd; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296479.4]
+  assign uart_2_txd = uart_2_1_auto_io_out_txd; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296480.4]
+  assign uart_3_txd = uart_3_1_auto_io_out_txd; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296481.4]
+  assign uart_4_txd = uart_4_1_auto_io_out_txd; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296482.4]
+  assign spi_0_sck = spi_0_1_auto_io_out_sck; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296483.4]
+  assign spi_0_dq_0_o = spi_0_1_auto_io_out_dq_0_o; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296483.4]
+  assign spi_0_dq_0_oe = spi_0_1_auto_io_out_dq_0_oe; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296483.4]
+  assign spi_0_dq_1_o = spi_0_1_auto_io_out_dq_1_o; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296483.4]
+  assign spi_0_dq_1_oe = spi_0_1_auto_io_out_dq_1_oe; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296483.4]
+  assign spi_0_dq_2_o = spi_0_1_auto_io_out_dq_2_o; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296483.4]
+  assign spi_0_dq_2_oe = spi_0_1_auto_io_out_dq_2_oe; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296483.4]
+  assign spi_0_dq_3_o = spi_0_1_auto_io_out_dq_3_o; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296483.4]
+  assign spi_0_dq_3_oe = spi_0_1_auto_io_out_dq_3_oe; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296483.4]
+  assign spi_0_cs_0 = spi_0_1_auto_io_out_cs_0; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296483.4]
+  assign spi_0_cs_1 = spi_0_1_auto_io_out_cs_1; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296483.4]
+  assign spi_1_sck = spi_1_1_auto_io_out_sck; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296484.4]
+  assign spi_1_dq_0_o = spi_1_1_auto_io_out_dq_0_o; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296484.4]
+  assign spi_1_dq_0_oe = spi_1_1_auto_io_out_dq_0_oe; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296484.4]
+  assign spi_1_dq_1_o = spi_1_1_auto_io_out_dq_1_o; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296484.4]
+  assign spi_1_dq_1_oe = spi_1_1_auto_io_out_dq_1_oe; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296484.4]
+  assign spi_1_dq_2_o = spi_1_1_auto_io_out_dq_2_o; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296484.4]
+  assign spi_1_dq_2_oe = spi_1_1_auto_io_out_dq_2_oe; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296484.4]
+  assign spi_1_dq_3_o = spi_1_1_auto_io_out_dq_3_o; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296484.4]
+  assign spi_1_dq_3_oe = spi_1_1_auto_io_out_dq_3_oe; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296484.4]
+  assign spi_1_cs_0 = spi_1_1_auto_io_out_cs_0; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296484.4]
+  assign gpio_0_pins_0_o_oval = gpio_0_1_auto_io_out_pins_0_o_oval; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
+  assign gpio_0_pins_0_o_oe = gpio_0_1_auto_io_out_pins_0_o_oe; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
+  assign gpio_0_pins_0_o_ie = gpio_0_1_auto_io_out_pins_0_o_ie; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
+  assign gpio_0_pins_1_o_oval = gpio_0_1_auto_io_out_pins_1_o_oval; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
+  assign gpio_0_pins_1_o_oe = gpio_0_1_auto_io_out_pins_1_o_oe; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
+  assign gpio_0_pins_1_o_ie = gpio_0_1_auto_io_out_pins_1_o_ie; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
+  assign gpio_0_pins_2_o_oval = gpio_0_1_auto_io_out_pins_2_o_oval; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
+  assign gpio_0_pins_2_o_oe = gpio_0_1_auto_io_out_pins_2_o_oe; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
+  assign gpio_0_pins_2_o_ie = gpio_0_1_auto_io_out_pins_2_o_ie; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
+  assign gpio_0_pins_3_o_oval = gpio_0_1_auto_io_out_pins_3_o_oval; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
+  assign gpio_0_pins_3_o_oe = gpio_0_1_auto_io_out_pins_3_o_oe; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
+  assign gpio_0_pins_3_o_ie = gpio_0_1_auto_io_out_pins_3_o_ie; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
+  assign gpio_0_pins_4_o_oval = gpio_0_1_auto_io_out_pins_4_o_oval; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
+  assign gpio_0_pins_4_o_oe = gpio_0_1_auto_io_out_pins_4_o_oe; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
+  assign gpio_0_pins_4_o_ie = gpio_0_1_auto_io_out_pins_4_o_ie; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
+  assign gpio_0_pins_5_o_oval = gpio_0_1_auto_io_out_pins_5_o_oval; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
+  assign gpio_0_pins_5_o_oe = gpio_0_1_auto_io_out_pins_5_o_oe; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
+  assign gpio_0_pins_5_o_ie = gpio_0_1_auto_io_out_pins_5_o_ie; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
+  assign gpio_0_pins_6_o_oval = gpio_0_1_auto_io_out_pins_6_o_oval; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
+  assign gpio_0_pins_6_o_oe = gpio_0_1_auto_io_out_pins_6_o_oe; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
+  assign gpio_0_pins_6_o_ie = gpio_0_1_auto_io_out_pins_6_o_ie; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
+  assign gpio_0_pins_7_o_oval = gpio_0_1_auto_io_out_pins_7_o_oval; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
+  assign gpio_0_pins_7_o_oe = gpio_0_1_auto_io_out_pins_7_o_oe; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
+  assign gpio_0_pins_7_o_ie = gpio_0_1_auto_io_out_pins_7_o_ie; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
+  assign gpio_0_pins_8_o_oval = gpio_0_1_auto_io_out_pins_8_o_oval; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
+  assign gpio_0_pins_8_o_oe = gpio_0_1_auto_io_out_pins_8_o_oe; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
+  assign gpio_0_pins_8_o_ie = gpio_0_1_auto_io_out_pins_8_o_ie; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
+  assign gpio_0_pins_9_o_oval = gpio_0_1_auto_io_out_pins_9_o_oval; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
+  assign gpio_0_pins_9_o_oe = gpio_0_1_auto_io_out_pins_9_o_oe; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
+  assign gpio_0_pins_9_o_ie = gpio_0_1_auto_io_out_pins_9_o_ie; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
+  assign gpio_0_pins_10_o_oval = gpio_0_1_auto_io_out_pins_10_o_oval; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
+  assign gpio_0_pins_10_o_oe = gpio_0_1_auto_io_out_pins_10_o_oe; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
+  assign gpio_0_pins_10_o_ie = gpio_0_1_auto_io_out_pins_10_o_ie; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
+  assign gpio_0_pins_11_o_oval = gpio_0_1_auto_io_out_pins_11_o_oval; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
+  assign gpio_0_pins_11_o_oe = gpio_0_1_auto_io_out_pins_11_o_oe; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
+  assign gpio_0_pins_11_o_ie = gpio_0_1_auto_io_out_pins_11_o_ie; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
+  assign gpio_0_pins_12_o_oval = gpio_0_1_auto_io_out_pins_12_o_oval; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
+  assign gpio_0_pins_12_o_oe = gpio_0_1_auto_io_out_pins_12_o_oe; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
+  assign gpio_0_pins_12_o_ie = gpio_0_1_auto_io_out_pins_12_o_ie; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
+  assign gpio_0_pins_13_o_oval = gpio_0_1_auto_io_out_pins_13_o_oval; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
+  assign gpio_0_pins_13_o_oe = gpio_0_1_auto_io_out_pins_13_o_oe; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
+  assign gpio_0_pins_13_o_ie = gpio_0_1_auto_io_out_pins_13_o_ie; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
+  assign gpio_0_pins_14_o_oval = gpio_0_1_auto_io_out_pins_14_o_oval; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
+  assign gpio_0_pins_14_o_oe = gpio_0_1_auto_io_out_pins_14_o_oe; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
+  assign gpio_0_pins_14_o_ie = gpio_0_1_auto_io_out_pins_14_o_ie; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
+  assign gpio_0_pins_15_o_oval = gpio_0_1_auto_io_out_pins_15_o_oval; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
+  assign gpio_0_pins_15_o_oe = gpio_0_1_auto_io_out_pins_15_o_oe; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
+  assign gpio_0_pins_15_o_ie = gpio_0_1_auto_io_out_pins_15_o_ie; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
+  assign gpio_0_pins_16_o_oval = gpio_0_1_auto_io_out_pins_16_o_oval; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
+  assign gpio_0_pins_16_o_oe = gpio_0_1_auto_io_out_pins_16_o_oe; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
+  assign gpio_0_pins_16_o_ie = gpio_0_1_auto_io_out_pins_16_o_ie; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
+  assign gpio_0_pins_17_o_oval = gpio_0_1_auto_io_out_pins_17_o_oval; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
+  assign gpio_0_pins_17_o_oe = gpio_0_1_auto_io_out_pins_17_o_oe; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
+  assign gpio_0_pins_17_o_ie = gpio_0_1_auto_io_out_pins_17_o_ie; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
+  assign gpio_0_pins_18_o_oval = gpio_0_1_auto_io_out_pins_18_o_oval; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
+  assign gpio_0_pins_18_o_oe = gpio_0_1_auto_io_out_pins_18_o_oe; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
+  assign gpio_0_pins_18_o_ie = gpio_0_1_auto_io_out_pins_18_o_ie; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
+  assign gpio_0_pins_19_o_oval = gpio_0_1_auto_io_out_pins_19_o_oval; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
+  assign gpio_0_pins_19_o_oe = gpio_0_1_auto_io_out_pins_19_o_oe; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
+  assign gpio_0_pins_19_o_ie = gpio_0_1_auto_io_out_pins_19_o_ie; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
+  assign gpio_0_pins_20_o_oval = gpio_0_1_auto_io_out_pins_20_o_oval; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
+  assign gpio_0_pins_20_o_oe = gpio_0_1_auto_io_out_pins_20_o_oe; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
+  assign gpio_0_pins_20_o_ie = gpio_0_1_auto_io_out_pins_20_o_ie; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
+  assign gpio_0_pins_21_o_oval = gpio_0_1_auto_io_out_pins_21_o_oval; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
+  assign gpio_0_pins_21_o_oe = gpio_0_1_auto_io_out_pins_21_o_oe; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
+  assign gpio_0_pins_21_o_ie = gpio_0_1_auto_io_out_pins_21_o_ie; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
+  assign gpio_0_pins_22_o_oval = gpio_0_1_auto_io_out_pins_22_o_oval; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
+  assign gpio_0_pins_22_o_oe = gpio_0_1_auto_io_out_pins_22_o_oe; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
+  assign gpio_0_pins_22_o_ie = gpio_0_1_auto_io_out_pins_22_o_ie; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
+  assign gpio_0_pins_23_o_oval = gpio_0_1_auto_io_out_pins_23_o_oval; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
+  assign gpio_0_pins_23_o_oe = gpio_0_1_auto_io_out_pins_23_o_oe; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
+  assign gpio_0_pins_23_o_ie = gpio_0_1_auto_io_out_pins_23_o_ie; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
+  assign gpio_0_pins_24_o_oval = gpio_0_1_auto_io_out_pins_24_o_oval; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
+  assign gpio_0_pins_24_o_oe = gpio_0_1_auto_io_out_pins_24_o_oe; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
+  assign gpio_0_pins_24_o_ie = gpio_0_1_auto_io_out_pins_24_o_ie; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
+  assign gpio_0_iof_0_2_i_ival = gpio_0_1_auto_io_out_iof_0_2_i_ival; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
+  assign gpio_0_iof_0_3_i_ival = gpio_0_1_auto_io_out_iof_0_3_i_ival; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
+  assign gpio_0_iof_0_4_i_ival = gpio_0_1_auto_io_out_iof_0_4_i_ival; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
+  assign gpio_0_iof_0_5_i_ival = gpio_0_1_auto_io_out_iof_0_5_i_ival; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
+  assign gpio_0_iof_0_8_i_ival = gpio_0_1_auto_io_out_iof_0_8_i_ival; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
+  assign gpio_0_iof_0_9_i_ival = gpio_0_1_auto_io_out_iof_0_9_i_ival; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
+  assign gpio_0_iof_0_10_i_ival = gpio_0_1_auto_io_out_iof_0_10_i_ival; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
+  assign gpio_0_iof_0_11_i_ival = gpio_0_1_auto_io_out_iof_0_11_i_ival; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
+  assign gpio_0_iof_0_12_i_ival = gpio_0_1_auto_io_out_iof_0_12_i_ival; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
+  assign gpio_0_iof_0_13_i_ival = gpio_0_1_auto_io_out_iof_0_13_i_ival; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
+  assign gpio_0_iof_0_14_i_ival = gpio_0_1_auto_io_out_iof_0_14_i_ival; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
+  assign gpio_0_iof_0_15_i_ival = gpio_0_1_auto_io_out_iof_0_15_i_ival; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
+  assign gpio_0_iof_0_16_i_ival = gpio_0_1_auto_io_out_iof_0_16_i_ival; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
+  assign gpio_0_iof_0_18_i_ival = gpio_0_1_auto_io_out_iof_0_18_i_ival; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
+  assign gpio_0_iof_0_20_i_ival = gpio_0_1_auto_io_out_iof_0_20_i_ival; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
+  assign gpio_0_iof_0_22_i_ival = gpio_0_1_auto_io_out_iof_0_22_i_ival; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
+  assign qspi_0_sck = qspi_0_1_auto_io_out_sck; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296486.4]
+  assign qspi_0_dq_0_o = qspi_0_1_auto_io_out_dq_0_o; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296486.4]
+  assign qspi_0_dq_0_oe = qspi_0_1_auto_io_out_dq_0_oe; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296486.4]
+  assign qspi_0_dq_1_o = qspi_0_1_auto_io_out_dq_1_o; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296486.4]
+  assign qspi_0_dq_1_oe = qspi_0_1_auto_io_out_dq_1_oe; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296486.4]
+  assign qspi_0_dq_2_o = qspi_0_1_auto_io_out_dq_2_o; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296486.4]
+  assign qspi_0_dq_2_oe = qspi_0_1_auto_io_out_dq_2_oe; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296486.4]
+  assign qspi_0_dq_3_o = qspi_0_1_auto_io_out_dq_3_o; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296486.4]
+  assign qspi_0_dq_3_oe = qspi_0_1_auto_io_out_dq_3_oe; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296486.4]
+  assign qspi_0_cs_0 = qspi_0_1_auto_io_out_cs_0; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296486.4]
+  assign aon_rsts_corerst = aon_1_io_rsts_corerst; // @[MockAONPeriphery.scala 36:7:shc.marmotcaravel.MarmotCaravelConfig.fir@296487.4]
+  assign i2c_0_scl_oe = i2c_0_1_auto_io_out_scl_oe; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296509.4]
+  assign i2c_0_sda_oe = i2c_0_1_auto_io_out_sda_oe; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296509.4]
+  assign i2c_1_scl_oe = i2c_1_1_auto_io_out_scl_oe; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296510.4]
+  assign i2c_1_sda_oe = i2c_1_1_auto_io_out_sda_oe; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296510.4]
+  assign int_bus_auto_int_in_11_0 = asyncXing_10_auto_int_out_0; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296406.4]
+  assign int_bus_auto_int_in_10_0 = asyncXing_9_auto_int_out_0; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296400.4]
+  assign int_bus_auto_int_in_9_0 = asyncXing_8_auto_int_out_0; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296394.4]
+  assign int_bus_auto_int_in_9_1 = asyncXing_8_auto_int_out_1; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296394.4]
+  assign int_bus_auto_int_in_9_2 = asyncXing_8_auto_int_out_2; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296394.4]
+  assign int_bus_auto_int_in_9_3 = asyncXing_8_auto_int_out_3; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296394.4]
+  assign int_bus_auto_int_in_9_4 = asyncXing_8_auto_int_out_4; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296394.4]
+  assign int_bus_auto_int_in_9_5 = asyncXing_8_auto_int_out_5; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296394.4]
+  assign int_bus_auto_int_in_9_6 = asyncXing_8_auto_int_out_6; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296394.4]
+  assign int_bus_auto_int_in_9_7 = asyncXing_8_auto_int_out_7; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296394.4]
+  assign int_bus_auto_int_in_9_8 = asyncXing_8_auto_int_out_8; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296394.4]
+  assign int_bus_auto_int_in_9_9 = asyncXing_8_auto_int_out_9; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296394.4]
+  assign int_bus_auto_int_in_9_10 = asyncXing_8_auto_int_out_10; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296394.4]
+  assign int_bus_auto_int_in_9_11 = asyncXing_8_auto_int_out_11; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296394.4]
+  assign int_bus_auto_int_in_9_12 = asyncXing_8_auto_int_out_12; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296394.4]
+  assign int_bus_auto_int_in_9_13 = asyncXing_8_auto_int_out_13; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296394.4]
+  assign int_bus_auto_int_in_9_14 = asyncXing_8_auto_int_out_14; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296394.4]
+  assign int_bus_auto_int_in_9_15 = asyncXing_8_auto_int_out_15; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296394.4]
+  assign int_bus_auto_int_in_9_16 = asyncXing_8_auto_int_out_16; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296394.4]
+  assign int_bus_auto_int_in_9_17 = asyncXing_8_auto_int_out_17; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296394.4]
+  assign int_bus_auto_int_in_9_18 = asyncXing_8_auto_int_out_18; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296394.4]
+  assign int_bus_auto_int_in_9_19 = asyncXing_8_auto_int_out_19; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296394.4]
+  assign int_bus_auto_int_in_9_20 = asyncXing_8_auto_int_out_20; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296394.4]
+  assign int_bus_auto_int_in_9_21 = asyncXing_8_auto_int_out_21; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296394.4]
+  assign int_bus_auto_int_in_9_22 = asyncXing_8_auto_int_out_22; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296394.4]
+  assign int_bus_auto_int_in_9_23 = asyncXing_8_auto_int_out_23; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296394.4]
+  assign int_bus_auto_int_in_9_24 = asyncXing_8_auto_int_out_24; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296394.4]
+  assign int_bus_auto_int_in_9_25 = asyncXing_8_auto_int_out_25; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296394.4]
+  assign int_bus_auto_int_in_9_26 = asyncXing_8_auto_int_out_26; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296394.4]
+  assign int_bus_auto_int_in_9_27 = asyncXing_8_auto_int_out_27; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296394.4]
+  assign int_bus_auto_int_in_9_28 = asyncXing_8_auto_int_out_28; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296394.4]
+  assign int_bus_auto_int_in_9_29 = asyncXing_8_auto_int_out_29; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296394.4]
+  assign int_bus_auto_int_in_9_30 = asyncXing_8_auto_int_out_30; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296394.4]
+  assign int_bus_auto_int_in_9_31 = asyncXing_8_auto_int_out_31; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296394.4]
+  assign int_bus_auto_int_in_8_0 = asyncXing_7_auto_int_out_0; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296388.4]
+  assign int_bus_auto_int_in_7_0 = asyncXing_6_auto_int_out_0; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296382.4]
+  assign int_bus_auto_int_in_6_0 = asyncXing_5_auto_int_out_0; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296375.4]
+  assign int_bus_auto_int_in_5_0 = asyncXing_4_auto_int_out_0; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296369.4]
+  assign int_bus_auto_int_in_4_0 = asyncXing_3_auto_int_out_0; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296363.4]
+  assign int_bus_auto_int_in_3_0 = asyncXing_2_auto_int_out_0; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296357.4]
+  assign int_bus_auto_int_in_2_0 = asyncXing_1_auto_int_out_0; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296351.4]
+  assign int_bus_auto_int_in_1_0 = asyncXing_auto_int_out_0; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296345.4]
+  assign int_bus_auto_int_in_0_0 = intsink_1_auto_out_0; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296344.4]
+  assign int_bus_auto_int_in_0_1 = intsink_1_auto_out_1; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296344.4]
+  assign sbus_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295939.4]
+  assign sbus_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295940.4]
+  assign sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_a_valid = tile_auto_tl_master_xing_out_a_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296335.4]
+  assign sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_a_bits_opcode = tile_auto_tl_master_xing_out_a_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296335.4]
+  assign sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_a_bits_param = tile_auto_tl_master_xing_out_a_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296335.4]
+  assign sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_a_bits_size = tile_auto_tl_master_xing_out_a_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296335.4]
+  assign sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_a_bits_source = tile_auto_tl_master_xing_out_a_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296335.4]
+  assign sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_a_bits_address = tile_auto_tl_master_xing_out_a_bits_address; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296335.4]
+  assign sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_a_bits_mask = tile_auto_tl_master_xing_out_a_bits_mask; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296335.4]
+  assign sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_a_bits_data = tile_auto_tl_master_xing_out_a_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296335.4]
+  assign sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_a_bits_corrupt = tile_auto_tl_master_xing_out_a_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296335.4]
+  assign sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_d_ready = tile_auto_tl_master_xing_out_d_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296335.4]
+  assign sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_a_ridx = aon_1_auto_isolation_in_a_ridx; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296343.4]
+  assign sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_a_safe_ridx_valid = aon_1_auto_isolation_in_a_safe_ridx_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296343.4]
+  assign sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_a_safe_sink_reset_n = aon_1_auto_isolation_in_a_safe_sink_reset_n; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296343.4]
+  assign sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_d_mem_0_opcode = aon_1_auto_isolation_in_d_mem_0_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296343.4]
+  assign sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_d_mem_0_param = aon_1_auto_isolation_in_d_mem_0_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296343.4]
+  assign sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_d_mem_0_size = aon_1_auto_isolation_in_d_mem_0_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296343.4]
+  assign sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_d_mem_0_source = aon_1_auto_isolation_in_d_mem_0_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296343.4]
+  assign sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_d_mem_0_sink = aon_1_auto_isolation_in_d_mem_0_sink; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296343.4]
+  assign sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_d_mem_0_denied = aon_1_auto_isolation_in_d_mem_0_denied; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296343.4]
+  assign sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_d_mem_0_data = aon_1_auto_isolation_in_d_mem_0_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296343.4]
+  assign sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_d_mem_0_corrupt = aon_1_auto_isolation_in_d_mem_0_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296343.4]
+  assign sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_d_widx = aon_1_auto_isolation_in_d_widx; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296343.4]
+  assign sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_d_safe_widx_valid = aon_1_auto_isolation_in_d_safe_widx_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296343.4]
+  assign sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_d_safe_source_reset_n = aon_1_auto_isolation_in_d_safe_source_reset_n; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296343.4]
+  assign sbus_auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_a_ready = maskROM_auto_in_a_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296341.4]
+  assign sbus_auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_d_valid = maskROM_auto_in_d_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296341.4]
+  assign sbus_auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_d_bits_size = maskROM_auto_in_d_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296341.4]
+  assign sbus_auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_d_bits_source = maskROM_auto_in_d_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296341.4]
+  assign sbus_auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_d_bits_data = maskROM_auto_in_d_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296341.4]
+  assign sbus_auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_ready = tile_auto_tl_slave_xing_in_a_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296336.4]
+  assign sbus_auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_valid = tile_auto_tl_slave_xing_in_d_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296336.4]
+  assign sbus_auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_opcode = tile_auto_tl_slave_xing_in_d_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296336.4]
+  assign sbus_auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_param = tile_auto_tl_slave_xing_in_d_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296336.4]
+  assign sbus_auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_size = tile_auto_tl_slave_xing_in_d_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296336.4]
+  assign sbus_auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_source = tile_auto_tl_slave_xing_in_d_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296336.4]
+  assign sbus_auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_sink = tile_auto_tl_slave_xing_in_d_bits_sink; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296336.4]
+  assign sbus_auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_denied = tile_auto_tl_slave_xing_in_d_bits_denied; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296336.4]
+  assign sbus_auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_data = tile_auto_tl_slave_xing_in_d_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296336.4]
+  assign sbus_auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_corrupt = tile_auto_tl_slave_xing_in_d_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296336.4]
+  assign sbus_auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_ready = debug_1_auto_dmInner_dmInner_tl_in_a_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296333.4]
+  assign sbus_auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_d_valid = debug_1_auto_dmInner_dmInner_tl_in_d_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296333.4]
+  assign sbus_auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_d_bits_opcode = debug_1_auto_dmInner_dmInner_tl_in_d_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296333.4]
+  assign sbus_auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_d_bits_size = debug_1_auto_dmInner_dmInner_tl_in_d_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296333.4]
+  assign sbus_auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_d_bits_source = debug_1_auto_dmInner_dmInner_tl_in_d_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296333.4]
+  assign sbus_auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_d_bits_data = debug_1_auto_dmInner_dmInner_tl_in_d_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296333.4]
+  assign sbus_auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_ready = clint_auto_in_a_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296331.4]
+  assign sbus_auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_d_valid = clint_auto_in_d_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296331.4]
+  assign sbus_auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_d_bits_opcode = clint_auto_in_d_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296331.4]
+  assign sbus_auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_d_bits_size = clint_auto_in_d_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296331.4]
+  assign sbus_auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_d_bits_source = clint_auto_in_d_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296331.4]
+  assign sbus_auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_d_bits_data = clint_auto_in_d_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296331.4]
+  assign sbus_auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_ready = plic_auto_in_a_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296329.4]
+  assign sbus_auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_d_valid = plic_auto_in_d_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296329.4]
+  assign sbus_auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_d_bits_opcode = plic_auto_in_d_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296329.4]
+  assign sbus_auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_d_bits_size = plic_auto_in_d_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296329.4]
+  assign sbus_auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_d_bits_source = plic_auto_in_d_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296329.4]
+  assign sbus_auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_d_bits_data = plic_auto_in_d_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296329.4]
+  assign sbus_auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_ready = pbus_auto_from_cbus_in_a_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296327.4]
+  assign sbus_auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_valid = pbus_auto_from_cbus_in_d_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296327.4]
+  assign sbus_auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_bits_opcode = pbus_auto_from_cbus_in_d_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296327.4]
+  assign sbus_auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_bits_param = pbus_auto_from_cbus_in_d_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296327.4]
+  assign sbus_auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_bits_size = pbus_auto_from_cbus_in_d_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296327.4]
+  assign sbus_auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_bits_source = pbus_auto_from_cbus_in_d_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296327.4]
+  assign sbus_auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_bits_sink = pbus_auto_from_cbus_in_d_bits_sink; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296327.4]
+  assign sbus_auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_bits_denied = pbus_auto_from_cbus_in_d_bits_denied; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296327.4]
+  assign sbus_auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_bits_data = pbus_auto_from_cbus_in_d_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296327.4]
+  assign sbus_auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_bits_corrupt = pbus_auto_from_cbus_in_d_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296327.4]
+  assign pbus_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295945.4]
+  assign pbus_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295946.4]
+  assign pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_a_ready = i2c_1_1_auto_control_xing_in_a_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296408.4]
+  assign pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_d_valid = i2c_1_1_auto_control_xing_in_d_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296408.4]
+  assign pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_d_bits_opcode = i2c_1_1_auto_control_xing_in_d_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296408.4]
+  assign pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_d_bits_size = i2c_1_1_auto_control_xing_in_d_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296408.4]
+  assign pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_d_bits_source = i2c_1_1_auto_control_xing_in_d_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296408.4]
+  assign pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_d_bits_data = i2c_1_1_auto_control_xing_in_d_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296408.4]
+  assign pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_a_ready = i2c_0_1_auto_control_xing_in_a_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296402.4]
+  assign pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_d_valid = i2c_0_1_auto_control_xing_in_d_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296402.4]
+  assign pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_d_bits_opcode = i2c_0_1_auto_control_xing_in_d_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296402.4]
+  assign pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_d_bits_size = i2c_0_1_auto_control_xing_in_d_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296402.4]
+  assign pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_d_bits_source = i2c_0_1_auto_control_xing_in_d_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296402.4]
+  assign pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_d_bits_data = i2c_0_1_auto_control_xing_in_d_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296402.4]
+  assign pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_a_ready = gpio_0_1_auto_control_xing_in_a_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296396.4]
+  assign pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_d_valid = gpio_0_1_auto_control_xing_in_d_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296396.4]
+  assign pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_d_bits_opcode = gpio_0_1_auto_control_xing_in_d_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296396.4]
+  assign pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_d_bits_size = gpio_0_1_auto_control_xing_in_d_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296396.4]
+  assign pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_d_bits_source = gpio_0_1_auto_control_xing_in_d_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296396.4]
+  assign pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_d_bits_data = gpio_0_1_auto_control_xing_in_d_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296396.4]
+  assign pbus_auto_coupler_to_device_named_spi_1_control_xing_out_a_ready = spi_1_1_auto_control_xing_in_a_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296390.4]
+  assign pbus_auto_coupler_to_device_named_spi_1_control_xing_out_d_valid = spi_1_1_auto_control_xing_in_d_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296390.4]
+  assign pbus_auto_coupler_to_device_named_spi_1_control_xing_out_d_bits_opcode = spi_1_1_auto_control_xing_in_d_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296390.4]
+  assign pbus_auto_coupler_to_device_named_spi_1_control_xing_out_d_bits_size = spi_1_1_auto_control_xing_in_d_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296390.4]
+  assign pbus_auto_coupler_to_device_named_spi_1_control_xing_out_d_bits_source = spi_1_1_auto_control_xing_in_d_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296390.4]
+  assign pbus_auto_coupler_to_device_named_spi_1_control_xing_out_d_bits_data = spi_1_1_auto_control_xing_in_d_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296390.4]
+  assign pbus_auto_coupler_to_device_named_spi_0_control_xing_out_a_ready = spi_0_1_auto_control_xing_in_a_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296384.4]
+  assign pbus_auto_coupler_to_device_named_spi_0_control_xing_out_d_valid = spi_0_1_auto_control_xing_in_d_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296384.4]
+  assign pbus_auto_coupler_to_device_named_spi_0_control_xing_out_d_bits_opcode = spi_0_1_auto_control_xing_in_d_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296384.4]
+  assign pbus_auto_coupler_to_device_named_spi_0_control_xing_out_d_bits_size = spi_0_1_auto_control_xing_in_d_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296384.4]
+  assign pbus_auto_coupler_to_device_named_spi_0_control_xing_out_d_bits_source = spi_0_1_auto_control_xing_in_d_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296384.4]
+  assign pbus_auto_coupler_to_device_named_spi_0_control_xing_out_d_bits_data = spi_0_1_auto_control_xing_in_d_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296384.4]
+  assign pbus_auto_coupler_to_mem_named_qspi_0_mem_xing_out_a_ready = qspi_0_1_auto_mem_xing_in_a_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296378.4]
+  assign pbus_auto_coupler_to_mem_named_qspi_0_mem_xing_out_d_valid = qspi_0_1_auto_mem_xing_in_d_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296378.4]
+  assign pbus_auto_coupler_to_mem_named_qspi_0_mem_xing_out_d_bits_size = qspi_0_1_auto_mem_xing_in_d_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296378.4]
+  assign pbus_auto_coupler_to_mem_named_qspi_0_mem_xing_out_d_bits_source = qspi_0_1_auto_mem_xing_in_d_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296378.4]
+  assign pbus_auto_coupler_to_mem_named_qspi_0_mem_xing_out_d_bits_data = qspi_0_1_auto_mem_xing_in_d_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296378.4]
+  assign pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_a_ready = qspi_0_1_auto_control_xing_in_a_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296377.4]
+  assign pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_d_valid = qspi_0_1_auto_control_xing_in_d_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296377.4]
+  assign pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_d_bits_opcode = qspi_0_1_auto_control_xing_in_d_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296377.4]
+  assign pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_d_bits_size = qspi_0_1_auto_control_xing_in_d_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296377.4]
+  assign pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_d_bits_source = qspi_0_1_auto_control_xing_in_d_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296377.4]
+  assign pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_d_bits_data = qspi_0_1_auto_control_xing_in_d_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296377.4]
+  assign pbus_auto_coupler_to_slave_named_uart_4_control_xing_out_a_ready = uart_4_1_auto_control_xing_in_a_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296371.4]
+  assign pbus_auto_coupler_to_slave_named_uart_4_control_xing_out_d_valid = uart_4_1_auto_control_xing_in_d_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296371.4]
+  assign pbus_auto_coupler_to_slave_named_uart_4_control_xing_out_d_bits_opcode = uart_4_1_auto_control_xing_in_d_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296371.4]
+  assign pbus_auto_coupler_to_slave_named_uart_4_control_xing_out_d_bits_size = uart_4_1_auto_control_xing_in_d_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296371.4]
+  assign pbus_auto_coupler_to_slave_named_uart_4_control_xing_out_d_bits_source = uart_4_1_auto_control_xing_in_d_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296371.4]
+  assign pbus_auto_coupler_to_slave_named_uart_4_control_xing_out_d_bits_data = uart_4_1_auto_control_xing_in_d_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296371.4]
+  assign pbus_auto_coupler_to_slave_named_uart_3_control_xing_out_a_ready = uart_3_1_auto_control_xing_in_a_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296365.4]
+  assign pbus_auto_coupler_to_slave_named_uart_3_control_xing_out_d_valid = uart_3_1_auto_control_xing_in_d_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296365.4]
+  assign pbus_auto_coupler_to_slave_named_uart_3_control_xing_out_d_bits_opcode = uart_3_1_auto_control_xing_in_d_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296365.4]
+  assign pbus_auto_coupler_to_slave_named_uart_3_control_xing_out_d_bits_size = uart_3_1_auto_control_xing_in_d_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296365.4]
+  assign pbus_auto_coupler_to_slave_named_uart_3_control_xing_out_d_bits_source = uart_3_1_auto_control_xing_in_d_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296365.4]
+  assign pbus_auto_coupler_to_slave_named_uart_3_control_xing_out_d_bits_data = uart_3_1_auto_control_xing_in_d_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296365.4]
+  assign pbus_auto_coupler_to_slave_named_uart_2_control_xing_out_a_ready = uart_2_1_auto_control_xing_in_a_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296359.4]
+  assign pbus_auto_coupler_to_slave_named_uart_2_control_xing_out_d_valid = uart_2_1_auto_control_xing_in_d_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296359.4]
+  assign pbus_auto_coupler_to_slave_named_uart_2_control_xing_out_d_bits_opcode = uart_2_1_auto_control_xing_in_d_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296359.4]
+  assign pbus_auto_coupler_to_slave_named_uart_2_control_xing_out_d_bits_size = uart_2_1_auto_control_xing_in_d_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296359.4]
+  assign pbus_auto_coupler_to_slave_named_uart_2_control_xing_out_d_bits_source = uart_2_1_auto_control_xing_in_d_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296359.4]
+  assign pbus_auto_coupler_to_slave_named_uart_2_control_xing_out_d_bits_data = uart_2_1_auto_control_xing_in_d_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296359.4]
+  assign pbus_auto_coupler_to_slave_named_uart_1_control_xing_out_a_ready = uart_1_1_auto_control_xing_in_a_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296353.4]
+  assign pbus_auto_coupler_to_slave_named_uart_1_control_xing_out_d_valid = uart_1_1_auto_control_xing_in_d_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296353.4]
+  assign pbus_auto_coupler_to_slave_named_uart_1_control_xing_out_d_bits_opcode = uart_1_1_auto_control_xing_in_d_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296353.4]
+  assign pbus_auto_coupler_to_slave_named_uart_1_control_xing_out_d_bits_size = uart_1_1_auto_control_xing_in_d_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296353.4]
+  assign pbus_auto_coupler_to_slave_named_uart_1_control_xing_out_d_bits_source = uart_1_1_auto_control_xing_in_d_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296353.4]
+  assign pbus_auto_coupler_to_slave_named_uart_1_control_xing_out_d_bits_data = uart_1_1_auto_control_xing_in_d_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296353.4]
+  assign pbus_auto_coupler_to_slave_named_uart_0_control_xing_out_a_ready = uart_0_1_auto_control_xing_in_a_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296347.4]
+  assign pbus_auto_coupler_to_slave_named_uart_0_control_xing_out_d_valid = uart_0_1_auto_control_xing_in_d_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296347.4]
+  assign pbus_auto_coupler_to_slave_named_uart_0_control_xing_out_d_bits_opcode = uart_0_1_auto_control_xing_in_d_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296347.4]
+  assign pbus_auto_coupler_to_slave_named_uart_0_control_xing_out_d_bits_size = uart_0_1_auto_control_xing_in_d_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296347.4]
+  assign pbus_auto_coupler_to_slave_named_uart_0_control_xing_out_d_bits_source = uart_0_1_auto_control_xing_in_d_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296347.4]
+  assign pbus_auto_coupler_to_slave_named_uart_0_control_xing_out_d_bits_data = uart_0_1_auto_control_xing_in_d_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296347.4]
+  assign pbus_auto_from_cbus_in_a_valid = sbus_auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296327.4]
+  assign pbus_auto_from_cbus_in_a_bits_opcode = sbus_auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296327.4]
+  assign pbus_auto_from_cbus_in_a_bits_param = sbus_auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296327.4]
+  assign pbus_auto_from_cbus_in_a_bits_size = sbus_auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296327.4]
+  assign pbus_auto_from_cbus_in_a_bits_source = sbus_auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296327.4]
+  assign pbus_auto_from_cbus_in_a_bits_address = sbus_auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296327.4]
+  assign pbus_auto_from_cbus_in_a_bits_mask = sbus_auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296327.4]
+  assign pbus_auto_from_cbus_in_a_bits_data = sbus_auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296327.4]
+  assign pbus_auto_from_cbus_in_a_bits_corrupt = sbus_auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296327.4]
+  assign pbus_auto_from_cbus_in_d_ready = sbus_auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296327.4]
+  assign plic_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295975.4]
+  assign plic_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295976.4]
+  assign plic_auto_int_in_0 = int_bus_auto_int_out_0; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296326.4]
+  assign plic_auto_int_in_1 = int_bus_auto_int_out_1; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296326.4]
+  assign plic_auto_int_in_2 = int_bus_auto_int_out_2; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296326.4]
+  assign plic_auto_int_in_3 = int_bus_auto_int_out_3; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296326.4]
+  assign plic_auto_int_in_4 = int_bus_auto_int_out_4; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296326.4]
+  assign plic_auto_int_in_5 = int_bus_auto_int_out_5; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296326.4]
+  assign plic_auto_int_in_6 = int_bus_auto_int_out_6; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296326.4]
+  assign plic_auto_int_in_7 = int_bus_auto_int_out_7; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296326.4]
+  assign plic_auto_int_in_8 = int_bus_auto_int_out_8; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296326.4]
+  assign plic_auto_int_in_9 = int_bus_auto_int_out_9; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296326.4]
+  assign plic_auto_int_in_10 = int_bus_auto_int_out_10; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296326.4]
+  assign plic_auto_int_in_11 = int_bus_auto_int_out_11; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296326.4]
+  assign plic_auto_int_in_12 = int_bus_auto_int_out_12; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296326.4]
+  assign plic_auto_int_in_13 = int_bus_auto_int_out_13; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296326.4]
+  assign plic_auto_int_in_14 = int_bus_auto_int_out_14; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296326.4]
+  assign plic_auto_int_in_15 = int_bus_auto_int_out_15; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296326.4]
+  assign plic_auto_int_in_16 = int_bus_auto_int_out_16; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296326.4]
+  assign plic_auto_int_in_17 = int_bus_auto_int_out_17; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296326.4]
+  assign plic_auto_int_in_18 = int_bus_auto_int_out_18; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296326.4]
+  assign plic_auto_int_in_19 = int_bus_auto_int_out_19; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296326.4]
+  assign plic_auto_int_in_20 = int_bus_auto_int_out_20; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296326.4]
+  assign plic_auto_int_in_21 = int_bus_auto_int_out_21; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296326.4]
+  assign plic_auto_int_in_22 = int_bus_auto_int_out_22; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296326.4]
+  assign plic_auto_int_in_23 = int_bus_auto_int_out_23; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296326.4]
+  assign plic_auto_int_in_24 = int_bus_auto_int_out_24; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296326.4]
+  assign plic_auto_int_in_25 = int_bus_auto_int_out_25; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296326.4]
+  assign plic_auto_int_in_26 = int_bus_auto_int_out_26; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296326.4]
+  assign plic_auto_int_in_27 = int_bus_auto_int_out_27; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296326.4]
+  assign plic_auto_int_in_28 = int_bus_auto_int_out_28; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296326.4]
+  assign plic_auto_int_in_29 = int_bus_auto_int_out_29; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296326.4]
+  assign plic_auto_int_in_30 = int_bus_auto_int_out_30; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296326.4]
+  assign plic_auto_int_in_31 = int_bus_auto_int_out_31; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296326.4]
+  assign plic_auto_int_in_32 = int_bus_auto_int_out_32; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296326.4]
+  assign plic_auto_int_in_33 = int_bus_auto_int_out_33; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296326.4]
+  assign plic_auto_int_in_34 = int_bus_auto_int_out_34; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296326.4]
+  assign plic_auto_int_in_35 = int_bus_auto_int_out_35; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296326.4]
+  assign plic_auto_int_in_36 = int_bus_auto_int_out_36; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296326.4]
+  assign plic_auto_int_in_37 = int_bus_auto_int_out_37; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296326.4]
+  assign plic_auto_int_in_38 = int_bus_auto_int_out_38; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296326.4]
+  assign plic_auto_int_in_39 = int_bus_auto_int_out_39; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296326.4]
+  assign plic_auto_int_in_40 = int_bus_auto_int_out_40; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296326.4]
+  assign plic_auto_int_in_41 = int_bus_auto_int_out_41; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296326.4]
+  assign plic_auto_int_in_42 = int_bus_auto_int_out_42; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296326.4]
+  assign plic_auto_int_in_43 = int_bus_auto_int_out_43; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296326.4]
+  assign plic_auto_in_a_valid = sbus_auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296329.4]
+  assign plic_auto_in_a_bits_opcode = sbus_auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296329.4]
+  assign plic_auto_in_a_bits_param = sbus_auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296329.4]
+  assign plic_auto_in_a_bits_size = sbus_auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296329.4]
+  assign plic_auto_in_a_bits_source = sbus_auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296329.4]
+  assign plic_auto_in_a_bits_address = sbus_auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296329.4]
+  assign plic_auto_in_a_bits_mask = sbus_auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296329.4]
+  assign plic_auto_in_a_bits_data = sbus_auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296329.4]
+  assign plic_auto_in_a_bits_corrupt = sbus_auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296329.4]
+  assign plic_auto_in_d_ready = sbus_auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296329.4]
+  assign clint_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295982.4]
+  assign clint_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295983.4]
+  assign clint_auto_in_a_valid = sbus_auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296331.4]
+  assign clint_auto_in_a_bits_opcode = sbus_auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296331.4]
+  assign clint_auto_in_a_bits_param = sbus_auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296331.4]
+  assign clint_auto_in_a_bits_size = sbus_auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296331.4]
+  assign clint_auto_in_a_bits_source = sbus_auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296331.4]
+  assign clint_auto_in_a_bits_address = sbus_auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296331.4]
+  assign clint_auto_in_a_bits_mask = sbus_auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296331.4]
+  assign clint_auto_in_a_bits_data = sbus_auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296331.4]
+  assign clint_auto_in_a_bits_corrupt = sbus_auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296331.4]
+  assign clint_auto_in_d_ready = sbus_auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296331.4]
+  assign clint_io_rtcTick = rtc_tick; // @[MockAONPeriphery.scala 49:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296507.4]
+  assign debug_1_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295989.4]
+  assign debug_1_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295990.4]
+  assign debug_1_auto_dmInner_dmInner_tl_in_a_valid = sbus_auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296333.4]
+  assign debug_1_auto_dmInner_dmInner_tl_in_a_bits_opcode = sbus_auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296333.4]
+  assign debug_1_auto_dmInner_dmInner_tl_in_a_bits_param = sbus_auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296333.4]
+  assign debug_1_auto_dmInner_dmInner_tl_in_a_bits_size = sbus_auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296333.4]
+  assign debug_1_auto_dmInner_dmInner_tl_in_a_bits_source = sbus_auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296333.4]
+  assign debug_1_auto_dmInner_dmInner_tl_in_a_bits_address = sbus_auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296333.4]
+  assign debug_1_auto_dmInner_dmInner_tl_in_a_bits_mask = sbus_auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296333.4]
+  assign debug_1_auto_dmInner_dmInner_tl_in_a_bits_data = sbus_auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296333.4]
+  assign debug_1_auto_dmInner_dmInner_tl_in_a_bits_corrupt = sbus_auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296333.4]
+  assign debug_1_auto_dmInner_dmInner_tl_in_d_ready = sbus_auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296333.4]
+  assign debug_1_io_dmi_dmi_req_valid = dtm_io_dmi_req_valid; // @[Periphery.scala 59:35:shc.marmotcaravel.MarmotCaravelConfig.fir@296451.4]
+  assign debug_1_io_dmi_dmi_req_bits_addr = dtm_io_dmi_req_bits_addr; // @[Periphery.scala 59:35:shc.marmotcaravel.MarmotCaravelConfig.fir@296451.4]
+  assign debug_1_io_dmi_dmi_req_bits_data = dtm_io_dmi_req_bits_data; // @[Periphery.scala 59:35:shc.marmotcaravel.MarmotCaravelConfig.fir@296451.4]
+  assign debug_1_io_dmi_dmi_req_bits_op = dtm_io_dmi_req_bits_op; // @[Periphery.scala 59:35:shc.marmotcaravel.MarmotCaravelConfig.fir@296451.4]
+  assign debug_1_io_dmi_dmi_resp_ready = dtm_io_dmi_resp_ready; // @[Periphery.scala 59:35:shc.marmotcaravel.MarmotCaravelConfig.fir@296451.4]
+  assign debug_1_io_dmi_dmiClock = debug_systemjtag_jtag_TCK; // @[Periphery.scala 60:40:shc.marmotcaravel.MarmotCaravelConfig.fir@296452.4]
+  assign debug_1_io_dmi_dmiReset = dmiResetCatch_io_sync_reset; // @[Periphery.scala 64:40:shc.marmotcaravel.MarmotCaravelConfig.fir@296470.4]
+  assign tile_clock = tile_inputs_0_clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296002.4 HasTiles.scala 143:16:shc.marmotcaravel.MarmotCaravelConfig.fir@296438.4]
+  assign tile_reset = tile_inputs_0_reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296003.4 HasTiles.scala 144:16:shc.marmotcaravel.MarmotCaravelConfig.fir@296439.4]
+  assign tile_auto_intsink_in_sync_0 = debug_1_auto_dmOuter_intsource_out_sync_0; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296332.4]
+  assign tile_auto_int_in_xing_in_1_sync_0 = intsource_1_auto_out_sync_0; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296339.4]
+  assign tile_auto_int_in_xing_in_0_sync_0 = intsource_auto_out_sync_0; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296337.4]
+  assign tile_auto_int_in_xing_in_0_sync_1 = intsource_auto_out_sync_1; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296337.4]
+  assign tile_auto_tl_slave_xing_in_a_valid = sbus_auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296336.4]
+  assign tile_auto_tl_slave_xing_in_a_bits_opcode = sbus_auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296336.4]
+  assign tile_auto_tl_slave_xing_in_a_bits_param = sbus_auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296336.4]
+  assign tile_auto_tl_slave_xing_in_a_bits_size = sbus_auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296336.4]
+  assign tile_auto_tl_slave_xing_in_a_bits_source = sbus_auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296336.4]
+  assign tile_auto_tl_slave_xing_in_a_bits_address = sbus_auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296336.4]
+  assign tile_auto_tl_slave_xing_in_a_bits_mask = sbus_auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296336.4]
+  assign tile_auto_tl_slave_xing_in_a_bits_data = sbus_auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296336.4]
+  assign tile_auto_tl_slave_xing_in_a_bits_corrupt = sbus_auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296336.4]
+  assign tile_auto_tl_slave_xing_in_d_ready = sbus_auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296336.4]
+  assign tile_auto_tl_master_xing_out_a_ready = sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296335.4]
+  assign tile_auto_tl_master_xing_out_d_valid = sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296335.4]
+  assign tile_auto_tl_master_xing_out_d_bits_opcode = sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_d_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296335.4]
+  assign tile_auto_tl_master_xing_out_d_bits_param = sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_d_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296335.4]
+  assign tile_auto_tl_master_xing_out_d_bits_size = sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296335.4]
+  assign tile_auto_tl_master_xing_out_d_bits_source = sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296335.4]
+  assign tile_auto_tl_master_xing_out_d_bits_sink = sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_d_bits_sink; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296335.4]
+  assign tile_auto_tl_master_xing_out_d_bits_denied = sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_d_bits_denied; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296335.4]
+  assign tile_auto_tl_master_xing_out_d_bits_data = sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296335.4]
+  assign tile_auto_tl_master_xing_out_d_bits_corrupt = sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_d_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296335.4]
+  assign tile_constants_hartid = _T_2162; // @[HasTiles.scala 145:27:shc.marmotcaravel.MarmotCaravelConfig.fir@296440.4]
+  assign tile_constants_reset_vector = global_reset_vector; // @[HasTiles.scala 146:33:shc.marmotcaravel.MarmotCaravelConfig.fir@296441.4]
+  assign intsource_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296008.4]
+  assign intsource_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296009.4]
+  assign intsource_auto_in_0 = clint_auto_int_out_0; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296330.4]
+  assign intsource_auto_in_1 = clint_auto_int_out_1; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296330.4]
+  assign intsource_1_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296014.4]
+  assign intsource_1_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296015.4]
+  assign intsource_1_auto_in_0 = plic_auto_int_out_0; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296328.4]
+  assign maskROM_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296026.4]
+  assign maskROM_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296027.4]
+  assign maskROM_auto_in_a_valid = sbus_auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296341.4]
+  assign maskROM_auto_in_a_bits_opcode = sbus_auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296341.4]
+  assign maskROM_auto_in_a_bits_param = sbus_auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296341.4]
+  assign maskROM_auto_in_a_bits_size = sbus_auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296341.4]
+  assign maskROM_auto_in_a_bits_source = sbus_auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296341.4]
+  assign maskROM_auto_in_a_bits_address = sbus_auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296341.4]
+  assign maskROM_auto_in_a_bits_mask = sbus_auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296341.4]
+  assign maskROM_auto_in_a_bits_corrupt = sbus_auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296341.4]
+  assign maskROM_auto_in_d_ready = sbus_auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296341.4]
+  assign aon_1_auto_isolation_in_a_mem_0_opcode = sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_a_mem_0_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296343.4]
+  assign aon_1_auto_isolation_in_a_mem_0_param = sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_a_mem_0_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296343.4]
+  assign aon_1_auto_isolation_in_a_mem_0_size = sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_a_mem_0_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296343.4]
+  assign aon_1_auto_isolation_in_a_mem_0_source = sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_a_mem_0_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296343.4]
+  assign aon_1_auto_isolation_in_a_mem_0_address = sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_a_mem_0_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296343.4]
+  assign aon_1_auto_isolation_in_a_mem_0_mask = sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_a_mem_0_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296343.4]
+  assign aon_1_auto_isolation_in_a_mem_0_data = sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_a_mem_0_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296343.4]
+  assign aon_1_auto_isolation_in_a_mem_0_corrupt = sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_a_mem_0_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296343.4]
+  assign aon_1_auto_isolation_in_a_widx = sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_a_widx; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296343.4]
+  assign aon_1_auto_isolation_in_a_safe_widx_valid = sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_a_safe_widx_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296343.4]
+  assign aon_1_auto_isolation_in_a_safe_source_reset_n = sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_a_safe_source_reset_n; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296343.4]
+  assign aon_1_auto_isolation_in_d_ridx = sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_d_ridx; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296343.4]
+  assign aon_1_auto_isolation_in_d_safe_ridx_valid = sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_d_safe_ridx_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296343.4]
+  assign aon_1_auto_isolation_in_d_safe_sink_reset_n = sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_d_safe_sink_reset_n; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296343.4]
+  assign aon_1_io_pins_erst_n_i_ival = aon_pins_erst_n_i_ival; // @[MockAONPeriphery.scala 36:7:shc.marmotcaravel.MarmotCaravelConfig.fir@296487.4]
+  assign aon_1_io_pins_lfextclk_i_ival = aon_pins_lfextclk_i_ival; // @[MockAONPeriphery.scala 36:7:shc.marmotcaravel.MarmotCaravelConfig.fir@296487.4]
+  assign aon_1_io_ndreset = debug_1_io_ctrl_ndreset; // @[MockAONPeriphery.scala 52:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296508.4]
+  assign intsink_1_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296039.4]
+  assign intsink_1_auto_in_sync_0 = aon_1_auto_intsource_out_sync_0; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296342.4]
+  assign intsink_1_auto_in_sync_1 = aon_1_auto_intsource_out_sync_1; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296342.4]
+  assign asyncXing_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296045.4]
+  assign asyncXing_auto_int_in_0 = intsink_2_auto_out_0; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296348.4]
+  assign uart_0_1_clock = pbus_clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296051.4 UART.scala 160:38:shc.marmotcaravel.MarmotCaravelConfig.fir@296412.4]
+  assign uart_0_1_reset = pbus_reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296052.4 UART.scala 161:38:shc.marmotcaravel.MarmotCaravelConfig.fir@296413.4]
+  assign uart_0_1_auto_control_xing_in_a_valid = pbus_auto_coupler_to_slave_named_uart_0_control_xing_out_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296347.4]
+  assign uart_0_1_auto_control_xing_in_a_bits_opcode = pbus_auto_coupler_to_slave_named_uart_0_control_xing_out_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296347.4]
+  assign uart_0_1_auto_control_xing_in_a_bits_param = pbus_auto_coupler_to_slave_named_uart_0_control_xing_out_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296347.4]
+  assign uart_0_1_auto_control_xing_in_a_bits_size = pbus_auto_coupler_to_slave_named_uart_0_control_xing_out_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296347.4]
+  assign uart_0_1_auto_control_xing_in_a_bits_source = pbus_auto_coupler_to_slave_named_uart_0_control_xing_out_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296347.4]
+  assign uart_0_1_auto_control_xing_in_a_bits_address = pbus_auto_coupler_to_slave_named_uart_0_control_xing_out_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296347.4]
+  assign uart_0_1_auto_control_xing_in_a_bits_mask = pbus_auto_coupler_to_slave_named_uart_0_control_xing_out_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296347.4]
+  assign uart_0_1_auto_control_xing_in_a_bits_data = pbus_auto_coupler_to_slave_named_uart_0_control_xing_out_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296347.4]
+  assign uart_0_1_auto_control_xing_in_a_bits_corrupt = pbus_auto_coupler_to_slave_named_uart_0_control_xing_out_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296347.4]
+  assign uart_0_1_auto_control_xing_in_d_ready = pbus_auto_coupler_to_slave_named_uart_0_control_xing_out_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296347.4]
+  assign uart_0_1_auto_io_out_rxd = uart_0_rxd; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296346.4]
+  assign intsink_2_auto_in_sync_0 = uart_0_1_auto_int_xing_out_sync_0; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296349.4]
+  assign asyncXing_1_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296063.4]
+  assign asyncXing_1_auto_int_in_0 = intsink_3_auto_out_0; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296354.4]
+  assign uart_1_1_clock = pbus_clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296069.4 UART.scala 160:38:shc.marmotcaravel.MarmotCaravelConfig.fir@296414.4]
+  assign uart_1_1_reset = pbus_reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296070.4 UART.scala 161:38:shc.marmotcaravel.MarmotCaravelConfig.fir@296415.4]
+  assign uart_1_1_auto_control_xing_in_a_valid = pbus_auto_coupler_to_slave_named_uart_1_control_xing_out_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296353.4]
+  assign uart_1_1_auto_control_xing_in_a_bits_opcode = pbus_auto_coupler_to_slave_named_uart_1_control_xing_out_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296353.4]
+  assign uart_1_1_auto_control_xing_in_a_bits_param = pbus_auto_coupler_to_slave_named_uart_1_control_xing_out_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296353.4]
+  assign uart_1_1_auto_control_xing_in_a_bits_size = pbus_auto_coupler_to_slave_named_uart_1_control_xing_out_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296353.4]
+  assign uart_1_1_auto_control_xing_in_a_bits_source = pbus_auto_coupler_to_slave_named_uart_1_control_xing_out_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296353.4]
+  assign uart_1_1_auto_control_xing_in_a_bits_address = pbus_auto_coupler_to_slave_named_uart_1_control_xing_out_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296353.4]
+  assign uart_1_1_auto_control_xing_in_a_bits_mask = pbus_auto_coupler_to_slave_named_uart_1_control_xing_out_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296353.4]
+  assign uart_1_1_auto_control_xing_in_a_bits_data = pbus_auto_coupler_to_slave_named_uart_1_control_xing_out_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296353.4]
+  assign uart_1_1_auto_control_xing_in_a_bits_corrupt = pbus_auto_coupler_to_slave_named_uart_1_control_xing_out_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296353.4]
+  assign uart_1_1_auto_control_xing_in_d_ready = pbus_auto_coupler_to_slave_named_uart_1_control_xing_out_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296353.4]
+  assign uart_1_1_auto_io_out_rxd = uart_1_rxd; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296352.4]
+  assign intsink_3_auto_in_sync_0 = uart_1_1_auto_int_xing_out_sync_0; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296355.4]
+  assign asyncXing_2_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296081.4]
+  assign asyncXing_2_auto_int_in_0 = intsink_4_auto_out_0; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296360.4]
+  assign uart_2_1_clock = pbus_clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296087.4 UART.scala 160:38:shc.marmotcaravel.MarmotCaravelConfig.fir@296416.4]
+  assign uart_2_1_reset = pbus_reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296088.4 UART.scala 161:38:shc.marmotcaravel.MarmotCaravelConfig.fir@296417.4]
+  assign uart_2_1_auto_control_xing_in_a_valid = pbus_auto_coupler_to_slave_named_uart_2_control_xing_out_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296359.4]
+  assign uart_2_1_auto_control_xing_in_a_bits_opcode = pbus_auto_coupler_to_slave_named_uart_2_control_xing_out_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296359.4]
+  assign uart_2_1_auto_control_xing_in_a_bits_param = pbus_auto_coupler_to_slave_named_uart_2_control_xing_out_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296359.4]
+  assign uart_2_1_auto_control_xing_in_a_bits_size = pbus_auto_coupler_to_slave_named_uart_2_control_xing_out_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296359.4]
+  assign uart_2_1_auto_control_xing_in_a_bits_source = pbus_auto_coupler_to_slave_named_uart_2_control_xing_out_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296359.4]
+  assign uart_2_1_auto_control_xing_in_a_bits_address = pbus_auto_coupler_to_slave_named_uart_2_control_xing_out_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296359.4]
+  assign uart_2_1_auto_control_xing_in_a_bits_mask = pbus_auto_coupler_to_slave_named_uart_2_control_xing_out_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296359.4]
+  assign uart_2_1_auto_control_xing_in_a_bits_data = pbus_auto_coupler_to_slave_named_uart_2_control_xing_out_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296359.4]
+  assign uart_2_1_auto_control_xing_in_a_bits_corrupt = pbus_auto_coupler_to_slave_named_uart_2_control_xing_out_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296359.4]
+  assign uart_2_1_auto_control_xing_in_d_ready = pbus_auto_coupler_to_slave_named_uart_2_control_xing_out_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296359.4]
+  assign uart_2_1_auto_io_out_rxd = uart_2_rxd; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296358.4]
+  assign intsink_4_auto_in_sync_0 = uart_2_1_auto_int_xing_out_sync_0; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296361.4]
+  assign asyncXing_3_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296099.4]
+  assign asyncXing_3_auto_int_in_0 = intsink_5_auto_out_0; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296366.4]
+  assign uart_3_1_clock = pbus_clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296105.4 UART.scala 160:38:shc.marmotcaravel.MarmotCaravelConfig.fir@296418.4]
+  assign uart_3_1_reset = pbus_reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296106.4 UART.scala 161:38:shc.marmotcaravel.MarmotCaravelConfig.fir@296419.4]
+  assign uart_3_1_auto_control_xing_in_a_valid = pbus_auto_coupler_to_slave_named_uart_3_control_xing_out_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296365.4]
+  assign uart_3_1_auto_control_xing_in_a_bits_opcode = pbus_auto_coupler_to_slave_named_uart_3_control_xing_out_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296365.4]
+  assign uart_3_1_auto_control_xing_in_a_bits_param = pbus_auto_coupler_to_slave_named_uart_3_control_xing_out_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296365.4]
+  assign uart_3_1_auto_control_xing_in_a_bits_size = pbus_auto_coupler_to_slave_named_uart_3_control_xing_out_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296365.4]
+  assign uart_3_1_auto_control_xing_in_a_bits_source = pbus_auto_coupler_to_slave_named_uart_3_control_xing_out_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296365.4]
+  assign uart_3_1_auto_control_xing_in_a_bits_address = pbus_auto_coupler_to_slave_named_uart_3_control_xing_out_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296365.4]
+  assign uart_3_1_auto_control_xing_in_a_bits_mask = pbus_auto_coupler_to_slave_named_uart_3_control_xing_out_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296365.4]
+  assign uart_3_1_auto_control_xing_in_a_bits_data = pbus_auto_coupler_to_slave_named_uart_3_control_xing_out_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296365.4]
+  assign uart_3_1_auto_control_xing_in_a_bits_corrupt = pbus_auto_coupler_to_slave_named_uart_3_control_xing_out_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296365.4]
+  assign uart_3_1_auto_control_xing_in_d_ready = pbus_auto_coupler_to_slave_named_uart_3_control_xing_out_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296365.4]
+  assign uart_3_1_auto_io_out_rxd = uart_3_rxd; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296364.4]
+  assign intsink_5_auto_in_sync_0 = uart_3_1_auto_int_xing_out_sync_0; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296367.4]
+  assign asyncXing_4_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296117.4]
+  assign asyncXing_4_auto_int_in_0 = intsink_6_auto_out_0; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296372.4]
+  assign uart_4_1_clock = pbus_clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296123.4 UART.scala 160:38:shc.marmotcaravel.MarmotCaravelConfig.fir@296420.4]
+  assign uart_4_1_reset = pbus_reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296124.4 UART.scala 161:38:shc.marmotcaravel.MarmotCaravelConfig.fir@296421.4]
+  assign uart_4_1_auto_control_xing_in_a_valid = pbus_auto_coupler_to_slave_named_uart_4_control_xing_out_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296371.4]
+  assign uart_4_1_auto_control_xing_in_a_bits_opcode = pbus_auto_coupler_to_slave_named_uart_4_control_xing_out_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296371.4]
+  assign uart_4_1_auto_control_xing_in_a_bits_param = pbus_auto_coupler_to_slave_named_uart_4_control_xing_out_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296371.4]
+  assign uart_4_1_auto_control_xing_in_a_bits_size = pbus_auto_coupler_to_slave_named_uart_4_control_xing_out_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296371.4]
+  assign uart_4_1_auto_control_xing_in_a_bits_source = pbus_auto_coupler_to_slave_named_uart_4_control_xing_out_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296371.4]
+  assign uart_4_1_auto_control_xing_in_a_bits_address = pbus_auto_coupler_to_slave_named_uart_4_control_xing_out_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296371.4]
+  assign uart_4_1_auto_control_xing_in_a_bits_mask = pbus_auto_coupler_to_slave_named_uart_4_control_xing_out_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296371.4]
+  assign uart_4_1_auto_control_xing_in_a_bits_data = pbus_auto_coupler_to_slave_named_uart_4_control_xing_out_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296371.4]
+  assign uart_4_1_auto_control_xing_in_a_bits_corrupt = pbus_auto_coupler_to_slave_named_uart_4_control_xing_out_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296371.4]
+  assign uart_4_1_auto_control_xing_in_d_ready = pbus_auto_coupler_to_slave_named_uart_4_control_xing_out_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296371.4]
+  assign uart_4_1_auto_io_out_rxd = uart_4_rxd; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296370.4]
+  assign intsink_6_auto_in_sync_0 = uart_4_1_auto_int_xing_out_sync_0; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296373.4]
+  assign asyncXing_5_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296135.4]
+  assign asyncXing_5_auto_int_in_0 = intsink_7_auto_out_0; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296379.4]
+  assign qspi_0_1_clock = pbus_clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296141.4 SPI.scala 84:38:shc.marmotcaravel.MarmotCaravelConfig.fir@296422.4]
+  assign qspi_0_1_reset = pbus_reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296142.4 SPI.scala 85:38:shc.marmotcaravel.MarmotCaravelConfig.fir@296423.4]
+  assign qspi_0_1_auto_mem_xing_in_a_valid = pbus_auto_coupler_to_mem_named_qspi_0_mem_xing_out_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296378.4]
+  assign qspi_0_1_auto_mem_xing_in_a_bits_opcode = pbus_auto_coupler_to_mem_named_qspi_0_mem_xing_out_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296378.4]
+  assign qspi_0_1_auto_mem_xing_in_a_bits_param = pbus_auto_coupler_to_mem_named_qspi_0_mem_xing_out_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296378.4]
+  assign qspi_0_1_auto_mem_xing_in_a_bits_size = pbus_auto_coupler_to_mem_named_qspi_0_mem_xing_out_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296378.4]
+  assign qspi_0_1_auto_mem_xing_in_a_bits_source = pbus_auto_coupler_to_mem_named_qspi_0_mem_xing_out_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296378.4]
+  assign qspi_0_1_auto_mem_xing_in_a_bits_address = pbus_auto_coupler_to_mem_named_qspi_0_mem_xing_out_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296378.4]
+  assign qspi_0_1_auto_mem_xing_in_a_bits_mask = pbus_auto_coupler_to_mem_named_qspi_0_mem_xing_out_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296378.4]
+  assign qspi_0_1_auto_mem_xing_in_a_bits_corrupt = pbus_auto_coupler_to_mem_named_qspi_0_mem_xing_out_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296378.4]
+  assign qspi_0_1_auto_mem_xing_in_d_ready = pbus_auto_coupler_to_mem_named_qspi_0_mem_xing_out_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296378.4]
+  assign qspi_0_1_auto_control_xing_in_a_valid = pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296377.4]
+  assign qspi_0_1_auto_control_xing_in_a_bits_opcode = pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296377.4]
+  assign qspi_0_1_auto_control_xing_in_a_bits_param = pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296377.4]
+  assign qspi_0_1_auto_control_xing_in_a_bits_size = pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296377.4]
+  assign qspi_0_1_auto_control_xing_in_a_bits_source = pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296377.4]
+  assign qspi_0_1_auto_control_xing_in_a_bits_address = pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296377.4]
+  assign qspi_0_1_auto_control_xing_in_a_bits_mask = pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296377.4]
+  assign qspi_0_1_auto_control_xing_in_a_bits_data = pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296377.4]
+  assign qspi_0_1_auto_control_xing_in_a_bits_corrupt = pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296377.4]
+  assign qspi_0_1_auto_control_xing_in_d_ready = pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296377.4]
+  assign qspi_0_1_auto_io_out_dq_0_i = qspi_0_dq_0_i; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296376.4]
+  assign qspi_0_1_auto_io_out_dq_1_i = qspi_0_dq_1_i; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296376.4]
+  assign qspi_0_1_auto_io_out_dq_2_i = qspi_0_dq_2_i; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296376.4]
+  assign qspi_0_1_auto_io_out_dq_3_i = qspi_0_dq_3_i; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296376.4]
+  assign intsink_7_auto_in_sync_0 = qspi_0_1_auto_int_xing_out_sync_0; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296380.4]
+  assign asyncXing_6_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296153.4]
+  assign asyncXing_6_auto_int_in_0 = intsink_8_auto_out_0; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296385.4]
+  assign spi_0_1_clock = pbus_clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296159.4 SPI.scala 49:37:shc.marmotcaravel.MarmotCaravelConfig.fir@296424.4]
+  assign spi_0_1_reset = pbus_reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296160.4 SPI.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@296425.4]
+  assign spi_0_1_auto_control_xing_in_a_valid = pbus_auto_coupler_to_device_named_spi_0_control_xing_out_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296384.4]
+  assign spi_0_1_auto_control_xing_in_a_bits_opcode = pbus_auto_coupler_to_device_named_spi_0_control_xing_out_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296384.4]
+  assign spi_0_1_auto_control_xing_in_a_bits_param = pbus_auto_coupler_to_device_named_spi_0_control_xing_out_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296384.4]
+  assign spi_0_1_auto_control_xing_in_a_bits_size = pbus_auto_coupler_to_device_named_spi_0_control_xing_out_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296384.4]
+  assign spi_0_1_auto_control_xing_in_a_bits_source = pbus_auto_coupler_to_device_named_spi_0_control_xing_out_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296384.4]
+  assign spi_0_1_auto_control_xing_in_a_bits_address = pbus_auto_coupler_to_device_named_spi_0_control_xing_out_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296384.4]
+  assign spi_0_1_auto_control_xing_in_a_bits_mask = pbus_auto_coupler_to_device_named_spi_0_control_xing_out_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296384.4]
+  assign spi_0_1_auto_control_xing_in_a_bits_data = pbus_auto_coupler_to_device_named_spi_0_control_xing_out_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296384.4]
+  assign spi_0_1_auto_control_xing_in_a_bits_corrupt = pbus_auto_coupler_to_device_named_spi_0_control_xing_out_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296384.4]
+  assign spi_0_1_auto_control_xing_in_d_ready = pbus_auto_coupler_to_device_named_spi_0_control_xing_out_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296384.4]
+  assign spi_0_1_auto_io_out_dq_0_i = spi_0_dq_0_i; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296383.4]
+  assign spi_0_1_auto_io_out_dq_1_i = spi_0_dq_1_i; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296383.4]
+  assign spi_0_1_auto_io_out_dq_2_i = spi_0_dq_2_i; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296383.4]
+  assign spi_0_1_auto_io_out_dq_3_i = spi_0_dq_3_i; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296383.4]
+  assign intsink_8_auto_in_sync_0 = spi_0_1_auto_int_xing_out_sync_0; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296386.4]
+  assign asyncXing_7_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296171.4]
+  assign asyncXing_7_auto_int_in_0 = intsink_9_auto_out_0; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296391.4]
+  assign spi_1_1_clock = pbus_clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296177.4 SPI.scala 49:37:shc.marmotcaravel.MarmotCaravelConfig.fir@296426.4]
+  assign spi_1_1_reset = pbus_reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296178.4 SPI.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@296427.4]
+  assign spi_1_1_auto_control_xing_in_a_valid = pbus_auto_coupler_to_device_named_spi_1_control_xing_out_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296390.4]
+  assign spi_1_1_auto_control_xing_in_a_bits_opcode = pbus_auto_coupler_to_device_named_spi_1_control_xing_out_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296390.4]
+  assign spi_1_1_auto_control_xing_in_a_bits_param = pbus_auto_coupler_to_device_named_spi_1_control_xing_out_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296390.4]
+  assign spi_1_1_auto_control_xing_in_a_bits_size = pbus_auto_coupler_to_device_named_spi_1_control_xing_out_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296390.4]
+  assign spi_1_1_auto_control_xing_in_a_bits_source = pbus_auto_coupler_to_device_named_spi_1_control_xing_out_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296390.4]
+  assign spi_1_1_auto_control_xing_in_a_bits_address = pbus_auto_coupler_to_device_named_spi_1_control_xing_out_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296390.4]
+  assign spi_1_1_auto_control_xing_in_a_bits_mask = pbus_auto_coupler_to_device_named_spi_1_control_xing_out_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296390.4]
+  assign spi_1_1_auto_control_xing_in_a_bits_data = pbus_auto_coupler_to_device_named_spi_1_control_xing_out_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296390.4]
+  assign spi_1_1_auto_control_xing_in_a_bits_corrupt = pbus_auto_coupler_to_device_named_spi_1_control_xing_out_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296390.4]
+  assign spi_1_1_auto_control_xing_in_d_ready = pbus_auto_coupler_to_device_named_spi_1_control_xing_out_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296390.4]
+  assign spi_1_1_auto_io_out_dq_0_i = spi_1_dq_0_i; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296389.4]
+  assign spi_1_1_auto_io_out_dq_1_i = spi_1_dq_1_i; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296389.4]
+  assign spi_1_1_auto_io_out_dq_2_i = spi_1_dq_2_i; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296389.4]
+  assign spi_1_1_auto_io_out_dq_3_i = spi_1_dq_3_i; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296389.4]
+  assign intsink_9_auto_in_sync_0 = spi_1_1_auto_int_xing_out_sync_0; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296392.4]
+  assign asyncXing_8_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296189.4]
+  assign asyncXing_8_auto_int_in_0 = intsink_10_auto_out_0; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296397.4]
+  assign asyncXing_8_auto_int_in_1 = intsink_10_auto_out_1; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296397.4]
+  assign asyncXing_8_auto_int_in_2 = intsink_10_auto_out_2; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296397.4]
+  assign asyncXing_8_auto_int_in_3 = intsink_10_auto_out_3; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296397.4]
+  assign asyncXing_8_auto_int_in_4 = intsink_10_auto_out_4; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296397.4]
+  assign asyncXing_8_auto_int_in_5 = intsink_10_auto_out_5; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296397.4]
+  assign asyncXing_8_auto_int_in_6 = intsink_10_auto_out_6; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296397.4]
+  assign asyncXing_8_auto_int_in_7 = intsink_10_auto_out_7; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296397.4]
+  assign asyncXing_8_auto_int_in_8 = intsink_10_auto_out_8; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296397.4]
+  assign asyncXing_8_auto_int_in_9 = intsink_10_auto_out_9; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296397.4]
+  assign asyncXing_8_auto_int_in_10 = intsink_10_auto_out_10; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296397.4]
+  assign asyncXing_8_auto_int_in_11 = intsink_10_auto_out_11; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296397.4]
+  assign asyncXing_8_auto_int_in_12 = intsink_10_auto_out_12; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296397.4]
+  assign asyncXing_8_auto_int_in_13 = intsink_10_auto_out_13; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296397.4]
+  assign asyncXing_8_auto_int_in_14 = intsink_10_auto_out_14; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296397.4]
+  assign asyncXing_8_auto_int_in_15 = intsink_10_auto_out_15; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296397.4]
+  assign asyncXing_8_auto_int_in_16 = intsink_10_auto_out_16; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296397.4]
+  assign asyncXing_8_auto_int_in_17 = intsink_10_auto_out_17; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296397.4]
+  assign asyncXing_8_auto_int_in_18 = intsink_10_auto_out_18; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296397.4]
+  assign asyncXing_8_auto_int_in_19 = intsink_10_auto_out_19; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296397.4]
+  assign asyncXing_8_auto_int_in_20 = intsink_10_auto_out_20; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296397.4]
+  assign asyncXing_8_auto_int_in_21 = intsink_10_auto_out_21; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296397.4]
+  assign asyncXing_8_auto_int_in_22 = intsink_10_auto_out_22; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296397.4]
+  assign asyncXing_8_auto_int_in_23 = intsink_10_auto_out_23; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296397.4]
+  assign asyncXing_8_auto_int_in_24 = intsink_10_auto_out_24; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296397.4]
+  assign asyncXing_8_auto_int_in_25 = intsink_10_auto_out_25; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296397.4]
+  assign asyncXing_8_auto_int_in_26 = intsink_10_auto_out_26; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296397.4]
+  assign asyncXing_8_auto_int_in_27 = intsink_10_auto_out_27; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296397.4]
+  assign asyncXing_8_auto_int_in_28 = intsink_10_auto_out_28; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296397.4]
+  assign asyncXing_8_auto_int_in_29 = intsink_10_auto_out_29; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296397.4]
+  assign asyncXing_8_auto_int_in_30 = intsink_10_auto_out_30; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296397.4]
+  assign asyncXing_8_auto_int_in_31 = intsink_10_auto_out_31; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296397.4]
+  assign gpio_0_1_clock = pbus_clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296195.4 GPIO.scala 231:38:shc.marmotcaravel.MarmotCaravelConfig.fir@296428.4]
+  assign gpio_0_1_reset = pbus_reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296196.4 GPIO.scala 232:38:shc.marmotcaravel.MarmotCaravelConfig.fir@296429.4]
+  assign gpio_0_1_auto_control_xing_in_a_valid = pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296396.4]
+  assign gpio_0_1_auto_control_xing_in_a_bits_opcode = pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296396.4]
+  assign gpio_0_1_auto_control_xing_in_a_bits_param = pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296396.4]
+  assign gpio_0_1_auto_control_xing_in_a_bits_size = pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296396.4]
+  assign gpio_0_1_auto_control_xing_in_a_bits_source = pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296396.4]
+  assign gpio_0_1_auto_control_xing_in_a_bits_address = pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296396.4]
+  assign gpio_0_1_auto_control_xing_in_a_bits_mask = pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296396.4]
+  assign gpio_0_1_auto_control_xing_in_a_bits_data = pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296396.4]
+  assign gpio_0_1_auto_control_xing_in_a_bits_corrupt = pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296396.4]
+  assign gpio_0_1_auto_control_xing_in_d_ready = pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296396.4]
+  assign gpio_0_1_auto_io_out_pins_0_i_ival = gpio_0_pins_0_i_ival; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296395.4]
+  assign gpio_0_1_auto_io_out_pins_1_i_ival = gpio_0_pins_1_i_ival; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296395.4]
+  assign gpio_0_1_auto_io_out_pins_2_i_ival = gpio_0_pins_2_i_ival; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296395.4]
+  assign gpio_0_1_auto_io_out_pins_3_i_ival = gpio_0_pins_3_i_ival; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296395.4]
+  assign gpio_0_1_auto_io_out_pins_4_i_ival = gpio_0_pins_4_i_ival; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296395.4]
+  assign gpio_0_1_auto_io_out_pins_5_i_ival = gpio_0_pins_5_i_ival; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296395.4]
+  assign gpio_0_1_auto_io_out_pins_6_i_ival = gpio_0_pins_6_i_ival; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296395.4]
+  assign gpio_0_1_auto_io_out_pins_7_i_ival = gpio_0_pins_7_i_ival; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296395.4]
+  assign gpio_0_1_auto_io_out_pins_8_i_ival = gpio_0_pins_8_i_ival; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296395.4]
+  assign gpio_0_1_auto_io_out_pins_9_i_ival = gpio_0_pins_9_i_ival; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296395.4]
+  assign gpio_0_1_auto_io_out_pins_10_i_ival = gpio_0_pins_10_i_ival; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296395.4]
+  assign gpio_0_1_auto_io_out_pins_11_i_ival = gpio_0_pins_11_i_ival; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296395.4]
+  assign gpio_0_1_auto_io_out_pins_12_i_ival = gpio_0_pins_12_i_ival; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296395.4]
+  assign gpio_0_1_auto_io_out_pins_13_i_ival = gpio_0_pins_13_i_ival; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296395.4]
+  assign gpio_0_1_auto_io_out_pins_14_i_ival = gpio_0_pins_14_i_ival; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296395.4]
+  assign gpio_0_1_auto_io_out_pins_15_i_ival = gpio_0_pins_15_i_ival; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296395.4]
+  assign gpio_0_1_auto_io_out_pins_16_i_ival = gpio_0_pins_16_i_ival; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296395.4]
+  assign gpio_0_1_auto_io_out_pins_17_i_ival = gpio_0_pins_17_i_ival; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296395.4]
+  assign gpio_0_1_auto_io_out_pins_18_i_ival = gpio_0_pins_18_i_ival; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296395.4]
+  assign gpio_0_1_auto_io_out_pins_19_i_ival = gpio_0_pins_19_i_ival; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296395.4]
+  assign gpio_0_1_auto_io_out_pins_20_i_ival = gpio_0_pins_20_i_ival; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296395.4]
+  assign gpio_0_1_auto_io_out_pins_21_i_ival = gpio_0_pins_21_i_ival; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296395.4]
+  assign gpio_0_1_auto_io_out_pins_22_i_ival = gpio_0_pins_22_i_ival; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296395.4]
+  assign gpio_0_1_auto_io_out_pins_23_i_ival = gpio_0_pins_23_i_ival; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296395.4]
+  assign gpio_0_1_auto_io_out_pins_24_i_ival = gpio_0_pins_24_i_ival; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296395.4]
+  assign gpio_0_1_auto_io_out_iof_0_0_o_oval = gpio_0_iof_0_0_o_oval; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296395.4]
+  assign gpio_0_1_auto_io_out_iof_0_1_o_oval = gpio_0_iof_0_1_o_oval; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296395.4]
+  assign gpio_0_1_auto_io_out_iof_0_2_o_oval = gpio_0_iof_0_2_o_oval; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296395.4]
+  assign gpio_0_1_auto_io_out_iof_0_2_o_oe = gpio_0_iof_0_2_o_oe; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296395.4]
+  assign gpio_0_1_auto_io_out_iof_0_2_o_ie = gpio_0_iof_0_2_o_ie; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296395.4]
+  assign gpio_0_1_auto_io_out_iof_0_3_o_oval = gpio_0_iof_0_3_o_oval; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296395.4]
+  assign gpio_0_1_auto_io_out_iof_0_3_o_oe = gpio_0_iof_0_3_o_oe; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296395.4]
+  assign gpio_0_1_auto_io_out_iof_0_3_o_ie = gpio_0_iof_0_3_o_ie; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296395.4]
+  assign gpio_0_1_auto_io_out_iof_0_4_o_oval = gpio_0_iof_0_4_o_oval; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296395.4]
+  assign gpio_0_1_auto_io_out_iof_0_4_o_oe = gpio_0_iof_0_4_o_oe; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296395.4]
+  assign gpio_0_1_auto_io_out_iof_0_4_o_ie = gpio_0_iof_0_4_o_ie; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296395.4]
+  assign gpio_0_1_auto_io_out_iof_0_5_o_oval = gpio_0_iof_0_5_o_oval; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296395.4]
+  assign gpio_0_1_auto_io_out_iof_0_5_o_oe = gpio_0_iof_0_5_o_oe; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296395.4]
+  assign gpio_0_1_auto_io_out_iof_0_5_o_ie = gpio_0_iof_0_5_o_ie; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296395.4]
+  assign gpio_0_1_auto_io_out_iof_0_6_o_oval = gpio_0_iof_0_6_o_oval; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296395.4]
+  assign gpio_0_1_auto_io_out_iof_0_7_o_oval = gpio_0_iof_0_7_o_oval; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296395.4]
+  assign gpio_0_1_auto_io_out_iof_0_8_o_oval = gpio_0_iof_0_8_o_oval; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296395.4]
+  assign gpio_0_1_auto_io_out_iof_0_8_o_oe = gpio_0_iof_0_8_o_oe; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296395.4]
+  assign gpio_0_1_auto_io_out_iof_0_8_o_ie = gpio_0_iof_0_8_o_ie; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296395.4]
+  assign gpio_0_1_auto_io_out_iof_0_9_o_oval = gpio_0_iof_0_9_o_oval; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296395.4]
+  assign gpio_0_1_auto_io_out_iof_0_9_o_oe = gpio_0_iof_0_9_o_oe; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296395.4]
+  assign gpio_0_1_auto_io_out_iof_0_9_o_ie = gpio_0_iof_0_9_o_ie; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296395.4]
+  assign gpio_0_1_auto_io_out_iof_0_10_o_oval = gpio_0_iof_0_10_o_oval; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296395.4]
+  assign gpio_0_1_auto_io_out_iof_0_10_o_oe = gpio_0_iof_0_10_o_oe; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296395.4]
+  assign gpio_0_1_auto_io_out_iof_0_10_o_ie = gpio_0_iof_0_10_o_ie; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296395.4]
+  assign gpio_0_1_auto_io_out_iof_0_11_o_oval = gpio_0_iof_0_11_o_oval; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296395.4]
+  assign gpio_0_1_auto_io_out_iof_0_11_o_oe = gpio_0_iof_0_11_o_oe; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296395.4]
+  assign gpio_0_1_auto_io_out_iof_0_11_o_ie = gpio_0_iof_0_11_o_ie; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296395.4]
+  assign gpio_0_1_auto_io_out_iof_0_12_o_oe = gpio_0_iof_0_12_o_oe; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296395.4]
+  assign gpio_0_1_auto_io_out_iof_0_13_o_oe = gpio_0_iof_0_13_o_oe; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296395.4]
+  assign gpio_0_1_auto_io_out_iof_0_14_o_oe = gpio_0_iof_0_14_o_oe; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296395.4]
+  assign gpio_0_1_auto_io_out_iof_0_15_o_oe = gpio_0_iof_0_15_o_oe; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296395.4]
+  assign gpio_0_1_auto_io_out_iof_0_17_o_oval = gpio_0_iof_0_17_o_oval; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296395.4]
+  assign gpio_0_1_auto_io_out_iof_0_19_o_oval = gpio_0_iof_0_19_o_oval; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296395.4]
+  assign gpio_0_1_auto_io_out_iof_0_21_o_oval = gpio_0_iof_0_21_o_oval; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296395.4]
+  assign gpio_0_1_auto_io_out_iof_0_23_o_oval = gpio_0_iof_0_23_o_oval; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296395.4]
+  assign gpio_0_1_auto_io_out_iof_0_24_o_oval = gpio_0_iof_0_24_o_oval; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296395.4]
+  assign intsink_10_auto_in_sync_0 = gpio_0_1_auto_int_xing_out_sync_0; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296398.4]
+  assign intsink_10_auto_in_sync_1 = gpio_0_1_auto_int_xing_out_sync_1; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296398.4]
+  assign intsink_10_auto_in_sync_2 = gpio_0_1_auto_int_xing_out_sync_2; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296398.4]
+  assign intsink_10_auto_in_sync_3 = gpio_0_1_auto_int_xing_out_sync_3; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296398.4]
+  assign intsink_10_auto_in_sync_4 = gpio_0_1_auto_int_xing_out_sync_4; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296398.4]
+  assign intsink_10_auto_in_sync_5 = gpio_0_1_auto_int_xing_out_sync_5; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296398.4]
+  assign intsink_10_auto_in_sync_6 = gpio_0_1_auto_int_xing_out_sync_6; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296398.4]
+  assign intsink_10_auto_in_sync_7 = gpio_0_1_auto_int_xing_out_sync_7; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296398.4]
+  assign intsink_10_auto_in_sync_8 = gpio_0_1_auto_int_xing_out_sync_8; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296398.4]
+  assign intsink_10_auto_in_sync_9 = gpio_0_1_auto_int_xing_out_sync_9; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296398.4]
+  assign intsink_10_auto_in_sync_10 = gpio_0_1_auto_int_xing_out_sync_10; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296398.4]
+  assign intsink_10_auto_in_sync_11 = gpio_0_1_auto_int_xing_out_sync_11; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296398.4]
+  assign intsink_10_auto_in_sync_12 = gpio_0_1_auto_int_xing_out_sync_12; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296398.4]
+  assign intsink_10_auto_in_sync_13 = gpio_0_1_auto_int_xing_out_sync_13; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296398.4]
+  assign intsink_10_auto_in_sync_14 = gpio_0_1_auto_int_xing_out_sync_14; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296398.4]
+  assign intsink_10_auto_in_sync_15 = gpio_0_1_auto_int_xing_out_sync_15; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296398.4]
+  assign intsink_10_auto_in_sync_16 = gpio_0_1_auto_int_xing_out_sync_16; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296398.4]
+  assign intsink_10_auto_in_sync_17 = gpio_0_1_auto_int_xing_out_sync_17; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296398.4]
+  assign intsink_10_auto_in_sync_18 = gpio_0_1_auto_int_xing_out_sync_18; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296398.4]
+  assign intsink_10_auto_in_sync_19 = gpio_0_1_auto_int_xing_out_sync_19; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296398.4]
+  assign intsink_10_auto_in_sync_20 = gpio_0_1_auto_int_xing_out_sync_20; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296398.4]
+  assign intsink_10_auto_in_sync_21 = gpio_0_1_auto_int_xing_out_sync_21; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296398.4]
+  assign intsink_10_auto_in_sync_22 = gpio_0_1_auto_int_xing_out_sync_22; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296398.4]
+  assign intsink_10_auto_in_sync_23 = gpio_0_1_auto_int_xing_out_sync_23; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296398.4]
+  assign intsink_10_auto_in_sync_24 = gpio_0_1_auto_int_xing_out_sync_24; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296398.4]
+  assign intsink_10_auto_in_sync_25 = gpio_0_1_auto_int_xing_out_sync_25; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296398.4]
+  assign intsink_10_auto_in_sync_26 = gpio_0_1_auto_int_xing_out_sync_26; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296398.4]
+  assign intsink_10_auto_in_sync_27 = gpio_0_1_auto_int_xing_out_sync_27; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296398.4]
+  assign intsink_10_auto_in_sync_28 = gpio_0_1_auto_int_xing_out_sync_28; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296398.4]
+  assign intsink_10_auto_in_sync_29 = gpio_0_1_auto_int_xing_out_sync_29; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296398.4]
+  assign intsink_10_auto_in_sync_30 = gpio_0_1_auto_int_xing_out_sync_30; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296398.4]
+  assign intsink_10_auto_in_sync_31 = gpio_0_1_auto_int_xing_out_sync_31; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296398.4]
+  assign asyncXing_9_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296207.4]
+  assign asyncXing_9_auto_int_in_0 = intsink_11_auto_out_0; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296403.4]
+  assign i2c_0_1_clock = pbus_clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296213.4 I2C.scala 602:37:shc.marmotcaravel.MarmotCaravelConfig.fir@296430.4]
+  assign i2c_0_1_reset = pbus_reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296214.4 I2C.scala 603:37:shc.marmotcaravel.MarmotCaravelConfig.fir@296431.4]
+  assign i2c_0_1_auto_control_xing_in_a_valid = pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296402.4]
+  assign i2c_0_1_auto_control_xing_in_a_bits_opcode = pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296402.4]
+  assign i2c_0_1_auto_control_xing_in_a_bits_param = pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296402.4]
+  assign i2c_0_1_auto_control_xing_in_a_bits_size = pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296402.4]
+  assign i2c_0_1_auto_control_xing_in_a_bits_source = pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296402.4]
+  assign i2c_0_1_auto_control_xing_in_a_bits_address = pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296402.4]
+  assign i2c_0_1_auto_control_xing_in_a_bits_mask = pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296402.4]
+  assign i2c_0_1_auto_control_xing_in_a_bits_data = pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296402.4]
+  assign i2c_0_1_auto_control_xing_in_a_bits_corrupt = pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296402.4]
+  assign i2c_0_1_auto_control_xing_in_d_ready = pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296402.4]
+  assign i2c_0_1_auto_io_out_scl_in = i2c_0_scl_in; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296401.4]
+  assign i2c_0_1_auto_io_out_sda_in = i2c_0_sda_in; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296401.4]
+  assign intsink_11_auto_in_sync_0 = i2c_0_1_auto_int_xing_out_sync_0; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296404.4]
+  assign asyncXing_10_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296225.4]
+  assign asyncXing_10_auto_int_in_0 = intsink_12_auto_out_0; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296409.4]
+  assign i2c_1_1_clock = pbus_clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296231.4 I2C.scala 602:37:shc.marmotcaravel.MarmotCaravelConfig.fir@296432.4]
+  assign i2c_1_1_reset = pbus_reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296232.4 I2C.scala 603:37:shc.marmotcaravel.MarmotCaravelConfig.fir@296433.4]
+  assign i2c_1_1_auto_control_xing_in_a_valid = pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296408.4]
+  assign i2c_1_1_auto_control_xing_in_a_bits_opcode = pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296408.4]
+  assign i2c_1_1_auto_control_xing_in_a_bits_param = pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296408.4]
+  assign i2c_1_1_auto_control_xing_in_a_bits_size = pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296408.4]
+  assign i2c_1_1_auto_control_xing_in_a_bits_source = pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296408.4]
+  assign i2c_1_1_auto_control_xing_in_a_bits_address = pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296408.4]
+  assign i2c_1_1_auto_control_xing_in_a_bits_mask = pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296408.4]
+  assign i2c_1_1_auto_control_xing_in_a_bits_data = pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296408.4]
+  assign i2c_1_1_auto_control_xing_in_a_bits_corrupt = pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296408.4]
+  assign i2c_1_1_auto_control_xing_in_d_ready = pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296408.4]
+  assign i2c_1_1_auto_io_out_scl_in = i2c_1_scl_in; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296407.4]
+  assign i2c_1_1_auto_io_out_sda_in = i2c_1_sda_in; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296407.4]
+  assign intsink_12_auto_in_sync_0 = i2c_1_1_auto_int_xing_out_sync_0; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296410.4]
+  assign dtm_clock = debug_systemjtag_jtag_TCK; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296444.4 Periphery.scala 54:24:shc.marmotcaravel.MarmotCaravelConfig.fir@296447.4]
+  assign dtm_reset = dtm_io_fsmReset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296445.4 Periphery.scala 57:24:shc.marmotcaravel.MarmotCaravelConfig.fir@296450.4]
+  assign dtm_io_dmi_req_ready = debug_1_io_dmi_dmi_req_ready; // @[Periphery.scala 59:35:shc.marmotcaravel.MarmotCaravelConfig.fir@296451.4]
+  assign dtm_io_dmi_resp_valid = debug_1_io_dmi_dmi_resp_valid; // @[Periphery.scala 59:35:shc.marmotcaravel.MarmotCaravelConfig.fir@296451.4]
+  assign dtm_io_dmi_resp_bits_data = debug_1_io_dmi_dmi_resp_bits_data; // @[Periphery.scala 59:35:shc.marmotcaravel.MarmotCaravelConfig.fir@296451.4]
+  assign dtm_io_dmi_resp_bits_resp = debug_1_io_dmi_dmi_resp_bits_resp; // @[Periphery.scala 59:35:shc.marmotcaravel.MarmotCaravelConfig.fir@296451.4]
+  assign dtm_io_jtag_TMS = debug_systemjtag_jtag_TMS; // @[Periphery.scala 52:17:shc.marmotcaravel.MarmotCaravelConfig.fir@296446.4]
+  assign dtm_io_jtag_TDI = debug_systemjtag_jtag_TDI; // @[Periphery.scala 52:17:shc.marmotcaravel.MarmotCaravelConfig.fir@296446.4]
+  assign dtm_io_jtag_reset = debug_systemjtag_reset; // @[Periphery.scala 55:24:shc.marmotcaravel.MarmotCaravelConfig.fir@296448.4]
+  assign dmiResetCatch_clock = debug_systemjtag_jtag_TCK; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296467.4]
+  assign dmiResetCatch_reset = debug_systemjtag_reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296468.4]
+  assign rtc_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296495.4]
+  assign rtc_io_d = $unsigned(aon_1_io_rtc); // @[ShiftReg.scala 49:16:shc.marmotcaravel.MarmotCaravelConfig.fir@296497.4]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  rtc_last = _RAND_0[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  rtc_tick = _RAND_1[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      rtc_last <= 1'h0;
+    end else begin
+      rtc_last <= rtc_sync;
+    end
+    if (reset) begin
+      rtc_tick <= 1'h0;
+    end else begin
+      rtc_tick <= _T_3452;
+    end
+  end
+endmodule
+module AsyncResetSynchronizerShiftReg_w1_d20_i0( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297133.2]
+  input   clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297134.4]
+  input   reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297135.4]
+  output  io_q // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297136.4]
+);
+  wire  sync_0_clock; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297141.4]
+  wire  sync_0_reset; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297141.4]
+  wire  sync_0_io_d; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297141.4]
+  wire  sync_0_io_q; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297141.4]
+  wire  sync_0_io_en; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297141.4]
+  wire  sync_1_clock; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297145.4]
+  wire  sync_1_reset; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297145.4]
+  wire  sync_1_io_d; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297145.4]
+  wire  sync_1_io_q; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297145.4]
+  wire  sync_1_io_en; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297145.4]
+  wire  sync_2_clock; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297149.4]
+  wire  sync_2_reset; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297149.4]
+  wire  sync_2_io_d; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297149.4]
+  wire  sync_2_io_q; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297149.4]
+  wire  sync_2_io_en; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297149.4]
+  wire  sync_3_clock; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297153.4]
+  wire  sync_3_reset; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297153.4]
+  wire  sync_3_io_d; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297153.4]
+  wire  sync_3_io_q; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297153.4]
+  wire  sync_3_io_en; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297153.4]
+  wire  sync_4_clock; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297157.4]
+  wire  sync_4_reset; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297157.4]
+  wire  sync_4_io_d; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297157.4]
+  wire  sync_4_io_q; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297157.4]
+  wire  sync_4_io_en; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297157.4]
+  wire  sync_5_clock; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297161.4]
+  wire  sync_5_reset; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297161.4]
+  wire  sync_5_io_d; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297161.4]
+  wire  sync_5_io_q; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297161.4]
+  wire  sync_5_io_en; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297161.4]
+  wire  sync_6_clock; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297165.4]
+  wire  sync_6_reset; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297165.4]
+  wire  sync_6_io_d; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297165.4]
+  wire  sync_6_io_q; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297165.4]
+  wire  sync_6_io_en; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297165.4]
+  wire  sync_7_clock; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297169.4]
+  wire  sync_7_reset; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297169.4]
+  wire  sync_7_io_d; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297169.4]
+  wire  sync_7_io_q; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297169.4]
+  wire  sync_7_io_en; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297169.4]
+  wire  sync_8_clock; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297173.4]
+  wire  sync_8_reset; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297173.4]
+  wire  sync_8_io_d; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297173.4]
+  wire  sync_8_io_q; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297173.4]
+  wire  sync_8_io_en; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297173.4]
+  wire  sync_9_clock; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297177.4]
+  wire  sync_9_reset; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297177.4]
+  wire  sync_9_io_d; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297177.4]
+  wire  sync_9_io_q; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297177.4]
+  wire  sync_9_io_en; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297177.4]
+  wire  sync_10_clock; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297181.4]
+  wire  sync_10_reset; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297181.4]
+  wire  sync_10_io_d; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297181.4]
+  wire  sync_10_io_q; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297181.4]
+  wire  sync_10_io_en; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297181.4]
+  wire  sync_11_clock; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297185.4]
+  wire  sync_11_reset; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297185.4]
+  wire  sync_11_io_d; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297185.4]
+  wire  sync_11_io_q; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297185.4]
+  wire  sync_11_io_en; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297185.4]
+  wire  sync_12_clock; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297189.4]
+  wire  sync_12_reset; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297189.4]
+  wire  sync_12_io_d; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297189.4]
+  wire  sync_12_io_q; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297189.4]
+  wire  sync_12_io_en; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297189.4]
+  wire  sync_13_clock; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297193.4]
+  wire  sync_13_reset; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297193.4]
+  wire  sync_13_io_d; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297193.4]
+  wire  sync_13_io_q; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297193.4]
+  wire  sync_13_io_en; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297193.4]
+  wire  sync_14_clock; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297197.4]
+  wire  sync_14_reset; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297197.4]
+  wire  sync_14_io_d; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297197.4]
+  wire  sync_14_io_q; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297197.4]
+  wire  sync_14_io_en; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297197.4]
+  wire  sync_15_clock; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297201.4]
+  wire  sync_15_reset; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297201.4]
+  wire  sync_15_io_d; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297201.4]
+  wire  sync_15_io_q; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297201.4]
+  wire  sync_15_io_en; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297201.4]
+  wire  sync_16_clock; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297205.4]
+  wire  sync_16_reset; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297205.4]
+  wire  sync_16_io_d; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297205.4]
+  wire  sync_16_io_q; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297205.4]
+  wire  sync_16_io_en; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297205.4]
+  wire  sync_17_clock; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297209.4]
+  wire  sync_17_reset; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297209.4]
+  wire  sync_17_io_d; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297209.4]
+  wire  sync_17_io_q; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297209.4]
+  wire  sync_17_io_en; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297209.4]
+  wire  sync_18_clock; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297213.4]
+  wire  sync_18_reset; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297213.4]
+  wire  sync_18_io_d; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297213.4]
+  wire  sync_18_io_q; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297213.4]
+  wire  sync_18_io_en; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297213.4]
+  wire  sync_19_clock; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297217.4]
+  wire  sync_19_reset; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297217.4]
+  wire  sync_19_io_d; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297217.4]
+  wire  sync_19_io_q; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297217.4]
+  wire  sync_19_io_en; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297217.4]
+  AsyncResetRegVec_w1_i0 sync_0 ( // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297141.4]
+    .clock(sync_0_clock),
+    .reset(sync_0_reset),
+    .io_d(sync_0_io_d),
+    .io_q(sync_0_io_q),
+    .io_en(sync_0_io_en)
+  );
+  AsyncResetRegVec_w1_i0 sync_1 ( // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297145.4]
+    .clock(sync_1_clock),
+    .reset(sync_1_reset),
+    .io_d(sync_1_io_d),
+    .io_q(sync_1_io_q),
+    .io_en(sync_1_io_en)
+  );
+  AsyncResetRegVec_w1_i0 sync_2 ( // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297149.4]
+    .clock(sync_2_clock),
+    .reset(sync_2_reset),
+    .io_d(sync_2_io_d),
+    .io_q(sync_2_io_q),
+    .io_en(sync_2_io_en)
+  );
+  AsyncResetRegVec_w1_i0 sync_3 ( // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297153.4]
+    .clock(sync_3_clock),
+    .reset(sync_3_reset),
+    .io_d(sync_3_io_d),
+    .io_q(sync_3_io_q),
+    .io_en(sync_3_io_en)
+  );
+  AsyncResetRegVec_w1_i0 sync_4 ( // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297157.4]
+    .clock(sync_4_clock),
+    .reset(sync_4_reset),
+    .io_d(sync_4_io_d),
+    .io_q(sync_4_io_q),
+    .io_en(sync_4_io_en)
+  );
+  AsyncResetRegVec_w1_i0 sync_5 ( // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297161.4]
+    .clock(sync_5_clock),
+    .reset(sync_5_reset),
+    .io_d(sync_5_io_d),
+    .io_q(sync_5_io_q),
+    .io_en(sync_5_io_en)
+  );
+  AsyncResetRegVec_w1_i0 sync_6 ( // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297165.4]
+    .clock(sync_6_clock),
+    .reset(sync_6_reset),
+    .io_d(sync_6_io_d),
+    .io_q(sync_6_io_q),
+    .io_en(sync_6_io_en)
+  );
+  AsyncResetRegVec_w1_i0 sync_7 ( // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297169.4]
+    .clock(sync_7_clock),
+    .reset(sync_7_reset),
+    .io_d(sync_7_io_d),
+    .io_q(sync_7_io_q),
+    .io_en(sync_7_io_en)
+  );
+  AsyncResetRegVec_w1_i0 sync_8 ( // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297173.4]
+    .clock(sync_8_clock),
+    .reset(sync_8_reset),
+    .io_d(sync_8_io_d),
+    .io_q(sync_8_io_q),
+    .io_en(sync_8_io_en)
+  );
+  AsyncResetRegVec_w1_i0 sync_9 ( // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297177.4]
+    .clock(sync_9_clock),
+    .reset(sync_9_reset),
+    .io_d(sync_9_io_d),
+    .io_q(sync_9_io_q),
+    .io_en(sync_9_io_en)
+  );
+  AsyncResetRegVec_w1_i0 sync_10 ( // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297181.4]
+    .clock(sync_10_clock),
+    .reset(sync_10_reset),
+    .io_d(sync_10_io_d),
+    .io_q(sync_10_io_q),
+    .io_en(sync_10_io_en)
+  );
+  AsyncResetRegVec_w1_i0 sync_11 ( // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297185.4]
+    .clock(sync_11_clock),
+    .reset(sync_11_reset),
+    .io_d(sync_11_io_d),
+    .io_q(sync_11_io_q),
+    .io_en(sync_11_io_en)
+  );
+  AsyncResetRegVec_w1_i0 sync_12 ( // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297189.4]
+    .clock(sync_12_clock),
+    .reset(sync_12_reset),
+    .io_d(sync_12_io_d),
+    .io_q(sync_12_io_q),
+    .io_en(sync_12_io_en)
+  );
+  AsyncResetRegVec_w1_i0 sync_13 ( // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297193.4]
+    .clock(sync_13_clock),
+    .reset(sync_13_reset),
+    .io_d(sync_13_io_d),
+    .io_q(sync_13_io_q),
+    .io_en(sync_13_io_en)
+  );
+  AsyncResetRegVec_w1_i0 sync_14 ( // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297197.4]
+    .clock(sync_14_clock),
+    .reset(sync_14_reset),
+    .io_d(sync_14_io_d),
+    .io_q(sync_14_io_q),
+    .io_en(sync_14_io_en)
+  );
+  AsyncResetRegVec_w1_i0 sync_15 ( // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297201.4]
+    .clock(sync_15_clock),
+    .reset(sync_15_reset),
+    .io_d(sync_15_io_d),
+    .io_q(sync_15_io_q),
+    .io_en(sync_15_io_en)
+  );
+  AsyncResetRegVec_w1_i0 sync_16 ( // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297205.4]
+    .clock(sync_16_clock),
+    .reset(sync_16_reset),
+    .io_d(sync_16_io_d),
+    .io_q(sync_16_io_q),
+    .io_en(sync_16_io_en)
+  );
+  AsyncResetRegVec_w1_i0 sync_17 ( // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297209.4]
+    .clock(sync_17_clock),
+    .reset(sync_17_reset),
+    .io_d(sync_17_io_d),
+    .io_q(sync_17_io_q),
+    .io_en(sync_17_io_en)
+  );
+  AsyncResetRegVec_w1_i0 sync_18 ( // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297213.4]
+    .clock(sync_18_clock),
+    .reset(sync_18_reset),
+    .io_d(sync_18_io_d),
+    .io_q(sync_18_io_q),
+    .io_en(sync_18_io_en)
+  );
+  AsyncResetRegVec_w1_i0 sync_19 ( // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297217.4]
+    .clock(sync_19_clock),
+    .reset(sync_19_reset),
+    .io_d(sync_19_io_d),
+    .io_q(sync_19_io_q),
+    .io_en(sync_19_io_en)
+  );
+  assign io_q = sync_0_io_q; // @[ShiftReg.scala 70:8:shc.marmotcaravel.MarmotCaravelConfig.fir@297261.4]
+  assign sync_0_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297143.4]
+  assign sync_0_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297144.4]
+  assign sync_0_io_d = sync_1_io_q; // @[ShiftReg.scala 67:15:shc.marmotcaravel.MarmotCaravelConfig.fir@297223.4]
+  assign sync_0_io_en = 1'h1; // @[ShiftReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@297224.4]
+  assign sync_1_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297147.4]
+  assign sync_1_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297148.4]
+  assign sync_1_io_d = sync_2_io_q; // @[ShiftReg.scala 67:15:shc.marmotcaravel.MarmotCaravelConfig.fir@297225.4]
+  assign sync_1_io_en = 1'h1; // @[ShiftReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@297226.4]
+  assign sync_2_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297151.4]
+  assign sync_2_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297152.4]
+  assign sync_2_io_d = sync_3_io_q; // @[ShiftReg.scala 67:15:shc.marmotcaravel.MarmotCaravelConfig.fir@297227.4]
+  assign sync_2_io_en = 1'h1; // @[ShiftReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@297228.4]
+  assign sync_3_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297155.4]
+  assign sync_3_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297156.4]
+  assign sync_3_io_d = sync_4_io_q; // @[ShiftReg.scala 67:15:shc.marmotcaravel.MarmotCaravelConfig.fir@297229.4]
+  assign sync_3_io_en = 1'h1; // @[ShiftReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@297230.4]
+  assign sync_4_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297159.4]
+  assign sync_4_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297160.4]
+  assign sync_4_io_d = sync_5_io_q; // @[ShiftReg.scala 67:15:shc.marmotcaravel.MarmotCaravelConfig.fir@297231.4]
+  assign sync_4_io_en = 1'h1; // @[ShiftReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@297232.4]
+  assign sync_5_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297163.4]
+  assign sync_5_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297164.4]
+  assign sync_5_io_d = sync_6_io_q; // @[ShiftReg.scala 67:15:shc.marmotcaravel.MarmotCaravelConfig.fir@297233.4]
+  assign sync_5_io_en = 1'h1; // @[ShiftReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@297234.4]
+  assign sync_6_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297167.4]
+  assign sync_6_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297168.4]
+  assign sync_6_io_d = sync_7_io_q; // @[ShiftReg.scala 67:15:shc.marmotcaravel.MarmotCaravelConfig.fir@297235.4]
+  assign sync_6_io_en = 1'h1; // @[ShiftReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@297236.4]
+  assign sync_7_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297171.4]
+  assign sync_7_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297172.4]
+  assign sync_7_io_d = sync_8_io_q; // @[ShiftReg.scala 67:15:shc.marmotcaravel.MarmotCaravelConfig.fir@297237.4]
+  assign sync_7_io_en = 1'h1; // @[ShiftReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@297238.4]
+  assign sync_8_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297175.4]
+  assign sync_8_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297176.4]
+  assign sync_8_io_d = sync_9_io_q; // @[ShiftReg.scala 67:15:shc.marmotcaravel.MarmotCaravelConfig.fir@297239.4]
+  assign sync_8_io_en = 1'h1; // @[ShiftReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@297240.4]
+  assign sync_9_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297179.4]
+  assign sync_9_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297180.4]
+  assign sync_9_io_d = sync_10_io_q; // @[ShiftReg.scala 67:15:shc.marmotcaravel.MarmotCaravelConfig.fir@297241.4]
+  assign sync_9_io_en = 1'h1; // @[ShiftReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@297242.4]
+  assign sync_10_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297183.4]
+  assign sync_10_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297184.4]
+  assign sync_10_io_d = sync_11_io_q; // @[ShiftReg.scala 67:15:shc.marmotcaravel.MarmotCaravelConfig.fir@297243.4]
+  assign sync_10_io_en = 1'h1; // @[ShiftReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@297244.4]
+  assign sync_11_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297187.4]
+  assign sync_11_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297188.4]
+  assign sync_11_io_d = sync_12_io_q; // @[ShiftReg.scala 67:15:shc.marmotcaravel.MarmotCaravelConfig.fir@297245.4]
+  assign sync_11_io_en = 1'h1; // @[ShiftReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@297246.4]
+  assign sync_12_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297191.4]
+  assign sync_12_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297192.4]
+  assign sync_12_io_d = sync_13_io_q; // @[ShiftReg.scala 67:15:shc.marmotcaravel.MarmotCaravelConfig.fir@297247.4]
+  assign sync_12_io_en = 1'h1; // @[ShiftReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@297248.4]
+  assign sync_13_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297195.4]
+  assign sync_13_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297196.4]
+  assign sync_13_io_d = sync_14_io_q; // @[ShiftReg.scala 67:15:shc.marmotcaravel.MarmotCaravelConfig.fir@297249.4]
+  assign sync_13_io_en = 1'h1; // @[ShiftReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@297250.4]
+  assign sync_14_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297199.4]
+  assign sync_14_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297200.4]
+  assign sync_14_io_d = sync_15_io_q; // @[ShiftReg.scala 67:15:shc.marmotcaravel.MarmotCaravelConfig.fir@297251.4]
+  assign sync_14_io_en = 1'h1; // @[ShiftReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@297252.4]
+  assign sync_15_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297203.4]
+  assign sync_15_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297204.4]
+  assign sync_15_io_d = sync_16_io_q; // @[ShiftReg.scala 67:15:shc.marmotcaravel.MarmotCaravelConfig.fir@297253.4]
+  assign sync_15_io_en = 1'h1; // @[ShiftReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@297254.4]
+  assign sync_16_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297207.4]
+  assign sync_16_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297208.4]
+  assign sync_16_io_d = sync_17_io_q; // @[ShiftReg.scala 67:15:shc.marmotcaravel.MarmotCaravelConfig.fir@297255.4]
+  assign sync_16_io_en = 1'h1; // @[ShiftReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@297256.4]
+  assign sync_17_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297211.4]
+  assign sync_17_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297212.4]
+  assign sync_17_io_d = sync_18_io_q; // @[ShiftReg.scala 67:15:shc.marmotcaravel.MarmotCaravelConfig.fir@297257.4]
+  assign sync_17_io_en = 1'h1; // @[ShiftReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@297258.4]
+  assign sync_18_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297215.4]
+  assign sync_18_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297216.4]
+  assign sync_18_io_d = sync_19_io_q; // @[ShiftReg.scala 67:15:shc.marmotcaravel.MarmotCaravelConfig.fir@297259.4]
+  assign sync_18_io_en = 1'h1; // @[ShiftReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@297260.4]
+  assign sync_19_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297219.4]
+  assign sync_19_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297220.4]
+  assign sync_19_io_d = 1'h1; // @[ShiftReg.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297221.4]
+  assign sync_19_io_en = 1'h1; // @[ShiftReg.scala 64:20:shc.marmotcaravel.MarmotCaravelConfig.fir@297222.4]
+endmodule
+module ResetCatchAndSync_d20( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297263.2]
+  input   clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297264.4]
+  input   reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297265.4]
+  output  io_sync_reset // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297266.4]
+);
+  wire  AsyncResetSynchronizerShiftReg_w1_d20_i0_clock; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@297272.4]
+  wire  AsyncResetSynchronizerShiftReg_w1_d20_i0_reset; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@297272.4]
+  wire  AsyncResetSynchronizerShiftReg_w1_d20_i0_io_q; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@297272.4]
+  wire  _T_7; // @[ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@297277.4 ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@297279.4]
+  AsyncResetSynchronizerShiftReg_w1_d20_i0 AsyncResetSynchronizerShiftReg_w1_d20_i0 ( // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@297272.4]
+    .clock(AsyncResetSynchronizerShiftReg_w1_d20_i0_clock),
+    .reset(AsyncResetSynchronizerShiftReg_w1_d20_i0_reset),
+    .io_q(AsyncResetSynchronizerShiftReg_w1_d20_i0_io_q)
+  );
+  assign _T_7 = AsyncResetSynchronizerShiftReg_w1_d20_i0_io_q; // @[ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@297277.4 ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@297279.4]
+  assign io_sync_reset = ~ _T_7; // @[ResetCatchAndSync.scala 28:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297282.4]
+  assign AsyncResetSynchronizerShiftReg_w1_d20_i0_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297274.4]
+  assign AsyncResetSynchronizerShiftReg_w1_d20_i0_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297275.4]
+endmodule
+module SyncResetSynchronizerShiftReg_w1_d0_i1( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297284.2]
+  input   io_d, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297287.4]
+  output  io_q // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297287.4]
+);
+  assign io_q = io_d; // @[ShiftReg.scala 139:8:shc.marmotcaravel.MarmotCaravelConfig.fir@297292.4]
+endmodule
+module SyncResetSynchronizerShiftReg_w1_d3_i1( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297438.2]
+  input   clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297439.4]
+  input   reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297440.4]
+  input   io_d, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297441.4]
+  output  io_q // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297441.4]
+);
+  reg  sync_2; // @[ShiftReg.scala 15:18:shc.marmotcaravel.MarmotCaravelConfig.fir@297446.4]
+  reg [31:0] _RAND_0;
+  reg  sync_1; // @[ShiftReg.scala 15:18:shc.marmotcaravel.MarmotCaravelConfig.fir@297448.4]
+  reg [31:0] _RAND_1;
+  reg  sync_0; // @[ShiftReg.scala 15:18:shc.marmotcaravel.MarmotCaravelConfig.fir@297450.4]
+  reg [31:0] _RAND_2;
+  assign io_q = sync_0; // @[ShiftReg.scala 139:8:shc.marmotcaravel.MarmotCaravelConfig.fir@297452.4]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  sync_2 = _RAND_0[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  sync_1 = _RAND_1[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  sync_0 = _RAND_2[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clock) begin
+    if (reset) begin
+      sync_2 <= 1'h1;
+    end else begin
+      sync_2 <= io_d;
+    end
+    if (reset) begin
+      sync_1 <= 1'h1;
+    end else begin
+      sync_1 <= sync_2;
+    end
+    if (reset) begin
+      sync_0 <= 1'h1;
+    end else begin
+      sync_0 <= sync_1;
+    end
+  end
+endmodule
+module MarmotCaravelPlatform( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297454.2]
+  input   clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297455.4]
+  input   io_pins_jtag_TCK_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
+  input   io_pins_jtag_TMS_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
+  input   io_pins_jtag_TDI_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
+  output  io_pins_jtag_TDO_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
+  output  io_pins_jtag_TDO_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
+  input   io_pins_gpio_pins_0_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
+  output  io_pins_gpio_pins_0_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
+  output  io_pins_gpio_pins_0_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
+  output  io_pins_gpio_pins_0_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
+  input   io_pins_gpio_pins_1_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
+  output  io_pins_gpio_pins_1_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
+  output  io_pins_gpio_pins_1_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
+  output  io_pins_gpio_pins_1_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
+  input   io_pins_gpio_pins_2_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
+  output  io_pins_gpio_pins_2_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
+  output  io_pins_gpio_pins_2_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
+  output  io_pins_gpio_pins_2_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
+  input   io_pins_gpio_pins_3_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
+  output  io_pins_gpio_pins_3_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
+  output  io_pins_gpio_pins_3_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
+  output  io_pins_gpio_pins_3_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
+  input   io_pins_gpio_pins_4_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
+  output  io_pins_gpio_pins_4_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
+  output  io_pins_gpio_pins_4_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
+  output  io_pins_gpio_pins_4_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
+  input   io_pins_gpio_pins_5_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
+  output  io_pins_gpio_pins_5_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
+  output  io_pins_gpio_pins_5_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
+  output  io_pins_gpio_pins_5_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
+  input   io_pins_gpio_pins_6_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
+  output  io_pins_gpio_pins_6_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
+  output  io_pins_gpio_pins_6_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
+  output  io_pins_gpio_pins_6_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
+  input   io_pins_gpio_pins_7_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
+  output  io_pins_gpio_pins_7_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
+  output  io_pins_gpio_pins_7_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
+  output  io_pins_gpio_pins_7_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
+  input   io_pins_gpio_pins_8_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
+  output  io_pins_gpio_pins_8_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
+  output  io_pins_gpio_pins_8_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
+  output  io_pins_gpio_pins_8_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
+  input   io_pins_gpio_pins_9_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
+  output  io_pins_gpio_pins_9_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
+  output  io_pins_gpio_pins_9_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
+  output  io_pins_gpio_pins_9_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
+  input   io_pins_gpio_pins_10_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
+  output  io_pins_gpio_pins_10_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
+  output  io_pins_gpio_pins_10_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
+  output  io_pins_gpio_pins_10_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
+  input   io_pins_gpio_pins_11_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
+  output  io_pins_gpio_pins_11_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
+  output  io_pins_gpio_pins_11_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
+  output  io_pins_gpio_pins_11_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
+  input   io_pins_gpio_pins_12_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
+  output  io_pins_gpio_pins_12_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
+  output  io_pins_gpio_pins_12_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
+  output  io_pins_gpio_pins_12_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
+  input   io_pins_gpio_pins_13_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
+  output  io_pins_gpio_pins_13_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
+  output  io_pins_gpio_pins_13_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
+  output  io_pins_gpio_pins_13_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
+  input   io_pins_gpio_pins_14_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
+  output  io_pins_gpio_pins_14_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
+  output  io_pins_gpio_pins_14_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
+  output  io_pins_gpio_pins_14_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
+  input   io_pins_gpio_pins_15_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
+  output  io_pins_gpio_pins_15_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
+  output  io_pins_gpio_pins_15_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
+  output  io_pins_gpio_pins_15_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
+  input   io_pins_gpio_pins_16_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
+  output  io_pins_gpio_pins_16_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
+  output  io_pins_gpio_pins_16_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
+  output  io_pins_gpio_pins_16_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
+  input   io_pins_gpio_pins_17_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
+  output  io_pins_gpio_pins_17_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
+  output  io_pins_gpio_pins_17_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
+  output  io_pins_gpio_pins_17_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
+  input   io_pins_gpio_pins_18_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
+  output  io_pins_gpio_pins_18_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
+  output  io_pins_gpio_pins_18_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
+  output  io_pins_gpio_pins_18_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
+  input   io_pins_gpio_pins_19_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
+  output  io_pins_gpio_pins_19_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
+  output  io_pins_gpio_pins_19_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
+  output  io_pins_gpio_pins_19_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
+  input   io_pins_gpio_pins_20_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
+  output  io_pins_gpio_pins_20_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
+  output  io_pins_gpio_pins_20_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
+  output  io_pins_gpio_pins_20_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
+  input   io_pins_gpio_pins_21_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
+  output  io_pins_gpio_pins_21_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
+  output  io_pins_gpio_pins_21_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
+  output  io_pins_gpio_pins_21_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
+  input   io_pins_gpio_pins_22_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
+  output  io_pins_gpio_pins_22_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
+  output  io_pins_gpio_pins_22_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
+  output  io_pins_gpio_pins_22_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
+  input   io_pins_gpio_pins_23_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
+  output  io_pins_gpio_pins_23_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
+  output  io_pins_gpio_pins_23_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
+  output  io_pins_gpio_pins_23_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
+  input   io_pins_gpio_pins_24_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
+  output  io_pins_gpio_pins_24_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
+  output  io_pins_gpio_pins_24_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
+  output  io_pins_gpio_pins_24_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
+  output  io_pins_qspi_sck_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
+  input   io_pins_qspi_dq_0_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
+  output  io_pins_qspi_dq_0_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
+  output  io_pins_qspi_dq_0_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
+  output  io_pins_qspi_dq_0_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
+  input   io_pins_qspi_dq_1_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
+  output  io_pins_qspi_dq_1_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
+  output  io_pins_qspi_dq_1_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
+  output  io_pins_qspi_dq_1_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
+  input   io_pins_qspi_dq_2_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
+  output  io_pins_qspi_dq_2_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
+  output  io_pins_qspi_dq_2_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
+  output  io_pins_qspi_dq_2_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
+  input   io_pins_qspi_dq_3_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
+  output  io_pins_qspi_dq_3_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
+  output  io_pins_qspi_dq_3_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
+  output  io_pins_qspi_dq_3_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
+  output  io_pins_qspi_cs_0_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
+  input   io_pins_uart_rxd_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
+  output  io_pins_uart_txd_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
+  input   io_pins_aon_erst_n_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
+  input   io_pins_aon_lfextclk_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
+  input   io_jtag_reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
+  output [11:0] data_arrays_0_ext_RW0_addr,
+  output  data_arrays_0_ext_RW0_en,
+  output  data_arrays_0_ext_RW0_clk,
+  output  data_arrays_0_ext_RW0_wmode,
+  output [31:0] data_arrays_0_ext_RW0_wdata,
+  input  [31:0] data_arrays_0_ext_RW0_rdata,
+  output [3:0] data_arrays_0_ext_RW0_wmask,
+  output [6:0] tag_array_ext_RW0_addr,
+  output  tag_array_ext_RW0_en,
+  output  tag_array_ext_RW0_clk,
+  output  tag_array_ext_RW0_wmode,
+  output [39:0] tag_array_ext_RW0_wdata,
+  input  [39:0] tag_array_ext_RW0_rdata,
+  output [1:0] tag_array_ext_RW0_wmask,
+  output [10:0] data_arrays_0_0_ext_RW0_addr,
+  output  data_arrays_0_0_ext_RW0_en,
+  output  data_arrays_0_0_ext_RW0_clk,
+  output  data_arrays_0_0_ext_RW0_wmode,
+  output [63:0] data_arrays_0_0_ext_RW0_wdata,
+  input  [63:0] data_arrays_0_0_ext_RW0_rdata,
+  output [1:0] data_arrays_0_0_ext_RW0_wmask
+);
+  wire  sys_clock; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_reset; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_debug_systemjtag_jtag_TCK; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_debug_systemjtag_jtag_TMS; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_debug_systemjtag_jtag_TDI; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_debug_systemjtag_jtag_TDO_data; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_debug_systemjtag_jtag_TDO_driven; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_debug_systemjtag_reset; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_uart_0_txd; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_uart_0_rxd; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_uart_1_txd; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_uart_1_rxd; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_uart_2_txd; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_uart_2_rxd; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_uart_3_txd; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_uart_3_rxd; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_uart_4_txd; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_uart_4_rxd; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_spi_0_sck; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_spi_0_dq_0_i; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_spi_0_dq_0_o; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_spi_0_dq_0_oe; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_spi_0_dq_1_i; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_spi_0_dq_1_o; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_spi_0_dq_1_oe; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_spi_0_dq_2_i; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_spi_0_dq_2_o; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_spi_0_dq_2_oe; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_spi_0_dq_3_i; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_spi_0_dq_3_o; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_spi_0_dq_3_oe; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_spi_0_cs_0; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_spi_0_cs_1; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_spi_1_sck; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_spi_1_dq_0_i; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_spi_1_dq_0_o; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_spi_1_dq_0_oe; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_spi_1_dq_1_i; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_spi_1_dq_1_o; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_spi_1_dq_1_oe; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_spi_1_dq_2_i; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_spi_1_dq_2_o; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_spi_1_dq_2_oe; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_spi_1_dq_3_i; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_spi_1_dq_3_o; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_spi_1_dq_3_oe; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_spi_1_cs_0; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_pins_0_i_ival; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_pins_0_o_oval; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_pins_0_o_oe; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_pins_0_o_ie; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_pins_1_i_ival; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_pins_1_o_oval; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_pins_1_o_oe; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_pins_1_o_ie; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_pins_2_i_ival; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_pins_2_o_oval; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_pins_2_o_oe; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_pins_2_o_ie; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_pins_3_i_ival; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_pins_3_o_oval; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_pins_3_o_oe; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_pins_3_o_ie; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_pins_4_i_ival; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_pins_4_o_oval; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_pins_4_o_oe; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_pins_4_o_ie; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_pins_5_i_ival; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_pins_5_o_oval; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_pins_5_o_oe; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_pins_5_o_ie; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_pins_6_i_ival; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_pins_6_o_oval; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_pins_6_o_oe; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_pins_6_o_ie; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_pins_7_i_ival; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_pins_7_o_oval; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_pins_7_o_oe; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_pins_7_o_ie; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_pins_8_i_ival; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_pins_8_o_oval; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_pins_8_o_oe; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_pins_8_o_ie; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_pins_9_i_ival; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_pins_9_o_oval; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_pins_9_o_oe; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_pins_9_o_ie; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_pins_10_i_ival; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_pins_10_o_oval; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_pins_10_o_oe; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_pins_10_o_ie; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_pins_11_i_ival; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_pins_11_o_oval; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_pins_11_o_oe; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_pins_11_o_ie; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_pins_12_i_ival; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_pins_12_o_oval; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_pins_12_o_oe; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_pins_12_o_ie; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_pins_13_i_ival; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_pins_13_o_oval; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_pins_13_o_oe; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_pins_13_o_ie; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_pins_14_i_ival; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_pins_14_o_oval; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_pins_14_o_oe; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_pins_14_o_ie; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_pins_15_i_ival; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_pins_15_o_oval; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_pins_15_o_oe; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_pins_15_o_ie; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_pins_16_i_ival; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_pins_16_o_oval; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_pins_16_o_oe; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_pins_16_o_ie; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_pins_17_i_ival; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_pins_17_o_oval; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_pins_17_o_oe; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_pins_17_o_ie; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_pins_18_i_ival; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_pins_18_o_oval; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_pins_18_o_oe; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_pins_18_o_ie; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_pins_19_i_ival; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_pins_19_o_oval; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_pins_19_o_oe; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_pins_19_o_ie; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_pins_20_i_ival; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_pins_20_o_oval; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_pins_20_o_oe; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_pins_20_o_ie; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_pins_21_i_ival; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_pins_21_o_oval; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_pins_21_o_oe; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_pins_21_o_ie; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_pins_22_i_ival; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_pins_22_o_oval; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_pins_22_o_oe; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_pins_22_o_ie; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_pins_23_i_ival; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_pins_23_o_oval; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_pins_23_o_oe; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_pins_23_o_ie; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_pins_24_i_ival; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_pins_24_o_oval; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_pins_24_o_oe; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_pins_24_o_ie; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_iof_0_0_o_oval; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_iof_0_1_o_oval; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_iof_0_2_i_ival; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_iof_0_2_o_oval; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_iof_0_2_o_oe; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_iof_0_2_o_ie; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_iof_0_3_i_ival; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_iof_0_3_o_oval; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_iof_0_3_o_oe; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_iof_0_3_o_ie; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_iof_0_4_i_ival; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_iof_0_4_o_oval; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_iof_0_4_o_oe; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_iof_0_4_o_ie; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_iof_0_5_i_ival; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_iof_0_5_o_oval; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_iof_0_5_o_oe; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_iof_0_5_o_ie; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_iof_0_6_o_oval; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_iof_0_7_o_oval; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_iof_0_8_i_ival; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_iof_0_8_o_oval; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_iof_0_8_o_oe; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_iof_0_8_o_ie; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_iof_0_9_i_ival; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_iof_0_9_o_oval; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_iof_0_9_o_oe; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_iof_0_9_o_ie; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_iof_0_10_i_ival; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_iof_0_10_o_oval; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_iof_0_10_o_oe; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_iof_0_10_o_ie; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_iof_0_11_i_ival; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_iof_0_11_o_oval; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_iof_0_11_o_oe; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_iof_0_11_o_ie; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_iof_0_12_i_ival; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_iof_0_12_o_oe; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_iof_0_13_i_ival; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_iof_0_13_o_oe; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_iof_0_14_i_ival; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_iof_0_14_o_oe; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_iof_0_15_i_ival; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_iof_0_15_o_oe; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_iof_0_16_i_ival; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_iof_0_17_o_oval; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_iof_0_18_i_ival; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_iof_0_19_o_oval; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_iof_0_20_i_ival; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_iof_0_21_o_oval; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_iof_0_22_i_ival; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_iof_0_23_o_oval; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_gpio_0_iof_0_24_o_oval; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_qspi_0_sck; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_qspi_0_dq_0_i; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_qspi_0_dq_0_o; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_qspi_0_dq_0_oe; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_qspi_0_dq_1_i; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_qspi_0_dq_1_o; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_qspi_0_dq_1_oe; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_qspi_0_dq_2_i; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_qspi_0_dq_2_o; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_qspi_0_dq_2_oe; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_qspi_0_dq_3_i; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_qspi_0_dq_3_o; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_qspi_0_dq_3_oe; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_qspi_0_cs_0; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_aon_pins_erst_n_i_ival; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_aon_pins_lfextclk_i_ival; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_aon_rsts_corerst; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_i2c_0_scl_in; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_i2c_0_scl_oe; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_i2c_0_sda_in; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_i2c_0_sda_oe; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_i2c_1_scl_in; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_i2c_1_scl_oe; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_i2c_1_sda_in; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  sys_i2c_1_sda_oe; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+  wire  ResetCatchAndSync_d20_clock; // @[ResetCatchAndSync.scala 39:28:shc.marmotcaravel.MarmotCaravelConfig.fir@297481.4]
+  wire  ResetCatchAndSync_d20_reset; // @[ResetCatchAndSync.scala 39:28:shc.marmotcaravel.MarmotCaravelConfig.fir@297481.4]
+  wire  ResetCatchAndSync_d20_io_sync_reset; // @[ResetCatchAndSync.scala 39:28:shc.marmotcaravel.MarmotCaravelConfig.fir@297481.4]
+  wire  uart_rxd_sync_io_d; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@297523.4]
+  wire  uart_rxd_sync_io_q; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@297523.4]
+  wire  uart_rxd_sync_1_io_d; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@297539.4]
+  wire  uart_rxd_sync_1_io_q; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@297539.4]
+  wire  uart_rxd_sync_2_io_d; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@297555.4]
+  wire  uart_rxd_sync_2_io_q; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@297555.4]
+  wire  uart_rxd_sync_3_io_d; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@297571.4]
+  wire  uart_rxd_sync_3_io_q; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@297571.4]
+  wire  uart_rxd_sync_4_io_d; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@297587.4]
+  wire  uart_rxd_sync_4_io_q; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@297587.4]
+  wire  i2c_scl_sync_io_d; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@297674.4]
+  wire  i2c_scl_sync_io_q; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@297674.4]
+  wire  i2c_sda_sync_io_d; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@297687.4]
+  wire  i2c_sda_sync_io_q; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@297687.4]
+  wire  i2c_scl_sync_1_io_d; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@297701.4]
+  wire  i2c_scl_sync_1_io_q; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@297701.4]
+  wire  i2c_sda_sync_1_io_d; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@297714.4]
+  wire  i2c_sda_sync_1_io_q; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@297714.4]
+  wire  spi_dq_0_sync_clock; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298071.4]
+  wire  spi_dq_0_sync_io_d; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298071.4]
+  wire  spi_dq_0_sync_io_q; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298071.4]
+  wire  spi_dq_1_sync_clock; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298086.4]
+  wire  spi_dq_1_sync_io_d; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298086.4]
+  wire  spi_dq_1_sync_io_q; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298086.4]
+  wire  spi_dq_2_sync_clock; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298101.4]
+  wire  spi_dq_2_sync_io_d; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298101.4]
+  wire  spi_dq_2_sync_io_q; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298101.4]
+  wire  spi_dq_3_sync_clock; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298116.4]
+  wire  spi_dq_3_sync_io_d; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298116.4]
+  wire  spi_dq_3_sync_io_q; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298116.4]
+  wire  uart_rxd_sync_5_clock; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298135.4]
+  wire  uart_rxd_sync_5_reset; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298135.4]
+  wire  uart_rxd_sync_5_io_d; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298135.4]
+  wire  uart_rxd_sync_5_io_q; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298135.4]
+  MarmotCaravelSystem sys ( // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
+    .clock(sys_clock),
+    .reset(sys_reset),
+    .debug_systemjtag_jtag_TCK(sys_debug_systemjtag_jtag_TCK),
+    .debug_systemjtag_jtag_TMS(sys_debug_systemjtag_jtag_TMS),
+    .debug_systemjtag_jtag_TDI(sys_debug_systemjtag_jtag_TDI),
+    .debug_systemjtag_jtag_TDO_data(sys_debug_systemjtag_jtag_TDO_data),
+    .debug_systemjtag_jtag_TDO_driven(sys_debug_systemjtag_jtag_TDO_driven),
+    .debug_systemjtag_reset(sys_debug_systemjtag_reset),
+    .uart_0_txd(sys_uart_0_txd),
+    .uart_0_rxd(sys_uart_0_rxd),
+    .uart_1_txd(sys_uart_1_txd),
+    .uart_1_rxd(sys_uart_1_rxd),
+    .uart_2_txd(sys_uart_2_txd),
+    .uart_2_rxd(sys_uart_2_rxd),
+    .uart_3_txd(sys_uart_3_txd),
+    .uart_3_rxd(sys_uart_3_rxd),
+    .uart_4_txd(sys_uart_4_txd),
+    .uart_4_rxd(sys_uart_4_rxd),
+    .spi_0_sck(sys_spi_0_sck),
+    .spi_0_dq_0_i(sys_spi_0_dq_0_i),
+    .spi_0_dq_0_o(sys_spi_0_dq_0_o),
+    .spi_0_dq_0_oe(sys_spi_0_dq_0_oe),
+    .spi_0_dq_1_i(sys_spi_0_dq_1_i),
+    .spi_0_dq_1_o(sys_spi_0_dq_1_o),
+    .spi_0_dq_1_oe(sys_spi_0_dq_1_oe),
+    .spi_0_dq_2_i(sys_spi_0_dq_2_i),
+    .spi_0_dq_2_o(sys_spi_0_dq_2_o),
+    .spi_0_dq_2_oe(sys_spi_0_dq_2_oe),
+    .spi_0_dq_3_i(sys_spi_0_dq_3_i),
+    .spi_0_dq_3_o(sys_spi_0_dq_3_o),
+    .spi_0_dq_3_oe(sys_spi_0_dq_3_oe),
+    .spi_0_cs_0(sys_spi_0_cs_0),
+    .spi_0_cs_1(sys_spi_0_cs_1),
+    .spi_1_sck(sys_spi_1_sck),
+    .spi_1_dq_0_i(sys_spi_1_dq_0_i),
+    .spi_1_dq_0_o(sys_spi_1_dq_0_o),
+    .spi_1_dq_0_oe(sys_spi_1_dq_0_oe),
+    .spi_1_dq_1_i(sys_spi_1_dq_1_i),
+    .spi_1_dq_1_o(sys_spi_1_dq_1_o),
+    .spi_1_dq_1_oe(sys_spi_1_dq_1_oe),
+    .spi_1_dq_2_i(sys_spi_1_dq_2_i),
+    .spi_1_dq_2_o(sys_spi_1_dq_2_o),
+    .spi_1_dq_2_oe(sys_spi_1_dq_2_oe),
+    .spi_1_dq_3_i(sys_spi_1_dq_3_i),
+    .spi_1_dq_3_o(sys_spi_1_dq_3_o),
+    .spi_1_dq_3_oe(sys_spi_1_dq_3_oe),
+    .spi_1_cs_0(sys_spi_1_cs_0),
+    .gpio_0_pins_0_i_ival(sys_gpio_0_pins_0_i_ival),
+    .gpio_0_pins_0_o_oval(sys_gpio_0_pins_0_o_oval),
+    .gpio_0_pins_0_o_oe(sys_gpio_0_pins_0_o_oe),
+    .gpio_0_pins_0_o_ie(sys_gpio_0_pins_0_o_ie),
+    .gpio_0_pins_1_i_ival(sys_gpio_0_pins_1_i_ival),
+    .gpio_0_pins_1_o_oval(sys_gpio_0_pins_1_o_oval),
+    .gpio_0_pins_1_o_oe(sys_gpio_0_pins_1_o_oe),
+    .gpio_0_pins_1_o_ie(sys_gpio_0_pins_1_o_ie),
+    .gpio_0_pins_2_i_ival(sys_gpio_0_pins_2_i_ival),
+    .gpio_0_pins_2_o_oval(sys_gpio_0_pins_2_o_oval),
+    .gpio_0_pins_2_o_oe(sys_gpio_0_pins_2_o_oe),
+    .gpio_0_pins_2_o_ie(sys_gpio_0_pins_2_o_ie),
+    .gpio_0_pins_3_i_ival(sys_gpio_0_pins_3_i_ival),
+    .gpio_0_pins_3_o_oval(sys_gpio_0_pins_3_o_oval),
+    .gpio_0_pins_3_o_oe(sys_gpio_0_pins_3_o_oe),
+    .gpio_0_pins_3_o_ie(sys_gpio_0_pins_3_o_ie),
+    .gpio_0_pins_4_i_ival(sys_gpio_0_pins_4_i_ival),
+    .gpio_0_pins_4_o_oval(sys_gpio_0_pins_4_o_oval),
+    .gpio_0_pins_4_o_oe(sys_gpio_0_pins_4_o_oe),
+    .gpio_0_pins_4_o_ie(sys_gpio_0_pins_4_o_ie),
+    .gpio_0_pins_5_i_ival(sys_gpio_0_pins_5_i_ival),
+    .gpio_0_pins_5_o_oval(sys_gpio_0_pins_5_o_oval),
+    .gpio_0_pins_5_o_oe(sys_gpio_0_pins_5_o_oe),
+    .gpio_0_pins_5_o_ie(sys_gpio_0_pins_5_o_ie),
+    .gpio_0_pins_6_i_ival(sys_gpio_0_pins_6_i_ival),
+    .gpio_0_pins_6_o_oval(sys_gpio_0_pins_6_o_oval),
+    .gpio_0_pins_6_o_oe(sys_gpio_0_pins_6_o_oe),
+    .gpio_0_pins_6_o_ie(sys_gpio_0_pins_6_o_ie),
+    .gpio_0_pins_7_i_ival(sys_gpio_0_pins_7_i_ival),
+    .gpio_0_pins_7_o_oval(sys_gpio_0_pins_7_o_oval),
+    .gpio_0_pins_7_o_oe(sys_gpio_0_pins_7_o_oe),
+    .gpio_0_pins_7_o_ie(sys_gpio_0_pins_7_o_ie),
+    .gpio_0_pins_8_i_ival(sys_gpio_0_pins_8_i_ival),
+    .gpio_0_pins_8_o_oval(sys_gpio_0_pins_8_o_oval),
+    .gpio_0_pins_8_o_oe(sys_gpio_0_pins_8_o_oe),
+    .gpio_0_pins_8_o_ie(sys_gpio_0_pins_8_o_ie),
+    .gpio_0_pins_9_i_ival(sys_gpio_0_pins_9_i_ival),
+    .gpio_0_pins_9_o_oval(sys_gpio_0_pins_9_o_oval),
+    .gpio_0_pins_9_o_oe(sys_gpio_0_pins_9_o_oe),
+    .gpio_0_pins_9_o_ie(sys_gpio_0_pins_9_o_ie),
+    .gpio_0_pins_10_i_ival(sys_gpio_0_pins_10_i_ival),
+    .gpio_0_pins_10_o_oval(sys_gpio_0_pins_10_o_oval),
+    .gpio_0_pins_10_o_oe(sys_gpio_0_pins_10_o_oe),
+    .gpio_0_pins_10_o_ie(sys_gpio_0_pins_10_o_ie),
+    .gpio_0_pins_11_i_ival(sys_gpio_0_pins_11_i_ival),
+    .gpio_0_pins_11_o_oval(sys_gpio_0_pins_11_o_oval),
+    .gpio_0_pins_11_o_oe(sys_gpio_0_pins_11_o_oe),
+    .gpio_0_pins_11_o_ie(sys_gpio_0_pins_11_o_ie),
+    .gpio_0_pins_12_i_ival(sys_gpio_0_pins_12_i_ival),
+    .gpio_0_pins_12_o_oval(sys_gpio_0_pins_12_o_oval),
+    .gpio_0_pins_12_o_oe(sys_gpio_0_pins_12_o_oe),
+    .gpio_0_pins_12_o_ie(sys_gpio_0_pins_12_o_ie),
+    .gpio_0_pins_13_i_ival(sys_gpio_0_pins_13_i_ival),
+    .gpio_0_pins_13_o_oval(sys_gpio_0_pins_13_o_oval),
+    .gpio_0_pins_13_o_oe(sys_gpio_0_pins_13_o_oe),
+    .gpio_0_pins_13_o_ie(sys_gpio_0_pins_13_o_ie),
+    .gpio_0_pins_14_i_ival(sys_gpio_0_pins_14_i_ival),
+    .gpio_0_pins_14_o_oval(sys_gpio_0_pins_14_o_oval),
+    .gpio_0_pins_14_o_oe(sys_gpio_0_pins_14_o_oe),
+    .gpio_0_pins_14_o_ie(sys_gpio_0_pins_14_o_ie),
+    .gpio_0_pins_15_i_ival(sys_gpio_0_pins_15_i_ival),
+    .gpio_0_pins_15_o_oval(sys_gpio_0_pins_15_o_oval),
+    .gpio_0_pins_15_o_oe(sys_gpio_0_pins_15_o_oe),
+    .gpio_0_pins_15_o_ie(sys_gpio_0_pins_15_o_ie),
+    .gpio_0_pins_16_i_ival(sys_gpio_0_pins_16_i_ival),
+    .gpio_0_pins_16_o_oval(sys_gpio_0_pins_16_o_oval),
+    .gpio_0_pins_16_o_oe(sys_gpio_0_pins_16_o_oe),
+    .gpio_0_pins_16_o_ie(sys_gpio_0_pins_16_o_ie),
+    .gpio_0_pins_17_i_ival(sys_gpio_0_pins_17_i_ival),
+    .gpio_0_pins_17_o_oval(sys_gpio_0_pins_17_o_oval),
+    .gpio_0_pins_17_o_oe(sys_gpio_0_pins_17_o_oe),
+    .gpio_0_pins_17_o_ie(sys_gpio_0_pins_17_o_ie),
+    .gpio_0_pins_18_i_ival(sys_gpio_0_pins_18_i_ival),
+    .gpio_0_pins_18_o_oval(sys_gpio_0_pins_18_o_oval),
+    .gpio_0_pins_18_o_oe(sys_gpio_0_pins_18_o_oe),
+    .gpio_0_pins_18_o_ie(sys_gpio_0_pins_18_o_ie),
+    .gpio_0_pins_19_i_ival(sys_gpio_0_pins_19_i_ival),
+    .gpio_0_pins_19_o_oval(sys_gpio_0_pins_19_o_oval),
+    .gpio_0_pins_19_o_oe(sys_gpio_0_pins_19_o_oe),
+    .gpio_0_pins_19_o_ie(sys_gpio_0_pins_19_o_ie),
+    .gpio_0_pins_20_i_ival(sys_gpio_0_pins_20_i_ival),
+    .gpio_0_pins_20_o_oval(sys_gpio_0_pins_20_o_oval),
+    .gpio_0_pins_20_o_oe(sys_gpio_0_pins_20_o_oe),
+    .gpio_0_pins_20_o_ie(sys_gpio_0_pins_20_o_ie),
+    .gpio_0_pins_21_i_ival(sys_gpio_0_pins_21_i_ival),
+    .gpio_0_pins_21_o_oval(sys_gpio_0_pins_21_o_oval),
+    .gpio_0_pins_21_o_oe(sys_gpio_0_pins_21_o_oe),
+    .gpio_0_pins_21_o_ie(sys_gpio_0_pins_21_o_ie),
+    .gpio_0_pins_22_i_ival(sys_gpio_0_pins_22_i_ival),
+    .gpio_0_pins_22_o_oval(sys_gpio_0_pins_22_o_oval),
+    .gpio_0_pins_22_o_oe(sys_gpio_0_pins_22_o_oe),
+    .gpio_0_pins_22_o_ie(sys_gpio_0_pins_22_o_ie),
+    .gpio_0_pins_23_i_ival(sys_gpio_0_pins_23_i_ival),
+    .gpio_0_pins_23_o_oval(sys_gpio_0_pins_23_o_oval),
+    .gpio_0_pins_23_o_oe(sys_gpio_0_pins_23_o_oe),
+    .gpio_0_pins_23_o_ie(sys_gpio_0_pins_23_o_ie),
+    .gpio_0_pins_24_i_ival(sys_gpio_0_pins_24_i_ival),
+    .gpio_0_pins_24_o_oval(sys_gpio_0_pins_24_o_oval),
+    .gpio_0_pins_24_o_oe(sys_gpio_0_pins_24_o_oe),
+    .gpio_0_pins_24_o_ie(sys_gpio_0_pins_24_o_ie),
+    .gpio_0_iof_0_0_o_oval(sys_gpio_0_iof_0_0_o_oval),
+    .gpio_0_iof_0_1_o_oval(sys_gpio_0_iof_0_1_o_oval),
+    .gpio_0_iof_0_2_i_ival(sys_gpio_0_iof_0_2_i_ival),
+    .gpio_0_iof_0_2_o_oval(sys_gpio_0_iof_0_2_o_oval),
+    .gpio_0_iof_0_2_o_oe(sys_gpio_0_iof_0_2_o_oe),
+    .gpio_0_iof_0_2_o_ie(sys_gpio_0_iof_0_2_o_ie),
+    .gpio_0_iof_0_3_i_ival(sys_gpio_0_iof_0_3_i_ival),
+    .gpio_0_iof_0_3_o_oval(sys_gpio_0_iof_0_3_o_oval),
+    .gpio_0_iof_0_3_o_oe(sys_gpio_0_iof_0_3_o_oe),
+    .gpio_0_iof_0_3_o_ie(sys_gpio_0_iof_0_3_o_ie),
+    .gpio_0_iof_0_4_i_ival(sys_gpio_0_iof_0_4_i_ival),
+    .gpio_0_iof_0_4_o_oval(sys_gpio_0_iof_0_4_o_oval),
+    .gpio_0_iof_0_4_o_oe(sys_gpio_0_iof_0_4_o_oe),
+    .gpio_0_iof_0_4_o_ie(sys_gpio_0_iof_0_4_o_ie),
+    .gpio_0_iof_0_5_i_ival(sys_gpio_0_iof_0_5_i_ival),
+    .gpio_0_iof_0_5_o_oval(sys_gpio_0_iof_0_5_o_oval),
+    .gpio_0_iof_0_5_o_oe(sys_gpio_0_iof_0_5_o_oe),
+    .gpio_0_iof_0_5_o_ie(sys_gpio_0_iof_0_5_o_ie),
+    .gpio_0_iof_0_6_o_oval(sys_gpio_0_iof_0_6_o_oval),
+    .gpio_0_iof_0_7_o_oval(sys_gpio_0_iof_0_7_o_oval),
+    .gpio_0_iof_0_8_i_ival(sys_gpio_0_iof_0_8_i_ival),
+    .gpio_0_iof_0_8_o_oval(sys_gpio_0_iof_0_8_o_oval),
+    .gpio_0_iof_0_8_o_oe(sys_gpio_0_iof_0_8_o_oe),
+    .gpio_0_iof_0_8_o_ie(sys_gpio_0_iof_0_8_o_ie),
+    .gpio_0_iof_0_9_i_ival(sys_gpio_0_iof_0_9_i_ival),
+    .gpio_0_iof_0_9_o_oval(sys_gpio_0_iof_0_9_o_oval),
+    .gpio_0_iof_0_9_o_oe(sys_gpio_0_iof_0_9_o_oe),
+    .gpio_0_iof_0_9_o_ie(sys_gpio_0_iof_0_9_o_ie),
+    .gpio_0_iof_0_10_i_ival(sys_gpio_0_iof_0_10_i_ival),
+    .gpio_0_iof_0_10_o_oval(sys_gpio_0_iof_0_10_o_oval),
+    .gpio_0_iof_0_10_o_oe(sys_gpio_0_iof_0_10_o_oe),
+    .gpio_0_iof_0_10_o_ie(sys_gpio_0_iof_0_10_o_ie),
+    .gpio_0_iof_0_11_i_ival(sys_gpio_0_iof_0_11_i_ival),
+    .gpio_0_iof_0_11_o_oval(sys_gpio_0_iof_0_11_o_oval),
+    .gpio_0_iof_0_11_o_oe(sys_gpio_0_iof_0_11_o_oe),
+    .gpio_0_iof_0_11_o_ie(sys_gpio_0_iof_0_11_o_ie),
+    .gpio_0_iof_0_12_i_ival(sys_gpio_0_iof_0_12_i_ival),
+    .gpio_0_iof_0_12_o_oe(sys_gpio_0_iof_0_12_o_oe),
+    .gpio_0_iof_0_13_i_ival(sys_gpio_0_iof_0_13_i_ival),
+    .gpio_0_iof_0_13_o_oe(sys_gpio_0_iof_0_13_o_oe),
+    .gpio_0_iof_0_14_i_ival(sys_gpio_0_iof_0_14_i_ival),
+    .gpio_0_iof_0_14_o_oe(sys_gpio_0_iof_0_14_o_oe),
+    .gpio_0_iof_0_15_i_ival(sys_gpio_0_iof_0_15_i_ival),
+    .gpio_0_iof_0_15_o_oe(sys_gpio_0_iof_0_15_o_oe),
+    .gpio_0_iof_0_16_i_ival(sys_gpio_0_iof_0_16_i_ival),
+    .gpio_0_iof_0_17_o_oval(sys_gpio_0_iof_0_17_o_oval),
+    .gpio_0_iof_0_18_i_ival(sys_gpio_0_iof_0_18_i_ival),
+    .gpio_0_iof_0_19_o_oval(sys_gpio_0_iof_0_19_o_oval),
+    .gpio_0_iof_0_20_i_ival(sys_gpio_0_iof_0_20_i_ival),
+    .gpio_0_iof_0_21_o_oval(sys_gpio_0_iof_0_21_o_oval),
+    .gpio_0_iof_0_22_i_ival(sys_gpio_0_iof_0_22_i_ival),
+    .gpio_0_iof_0_23_o_oval(sys_gpio_0_iof_0_23_o_oval),
+    .gpio_0_iof_0_24_o_oval(sys_gpio_0_iof_0_24_o_oval),
+    .qspi_0_sck(sys_qspi_0_sck),
+    .qspi_0_dq_0_i(sys_qspi_0_dq_0_i),
+    .qspi_0_dq_0_o(sys_qspi_0_dq_0_o),
+    .qspi_0_dq_0_oe(sys_qspi_0_dq_0_oe),
+    .qspi_0_dq_1_i(sys_qspi_0_dq_1_i),
+    .qspi_0_dq_1_o(sys_qspi_0_dq_1_o),
+    .qspi_0_dq_1_oe(sys_qspi_0_dq_1_oe),
+    .qspi_0_dq_2_i(sys_qspi_0_dq_2_i),
+    .qspi_0_dq_2_o(sys_qspi_0_dq_2_o),
+    .qspi_0_dq_2_oe(sys_qspi_0_dq_2_oe),
+    .qspi_0_dq_3_i(sys_qspi_0_dq_3_i),
+    .qspi_0_dq_3_o(sys_qspi_0_dq_3_o),
+    .qspi_0_dq_3_oe(sys_qspi_0_dq_3_oe),
+    .qspi_0_cs_0(sys_qspi_0_cs_0),
+    .aon_pins_erst_n_i_ival(sys_aon_pins_erst_n_i_ival),
+    .aon_pins_lfextclk_i_ival(sys_aon_pins_lfextclk_i_ival),
+    .aon_rsts_corerst(sys_aon_rsts_corerst),
+    .i2c_0_scl_in(sys_i2c_0_scl_in),
+    .i2c_0_scl_oe(sys_i2c_0_scl_oe),
+    .i2c_0_sda_in(sys_i2c_0_sda_in),
+    .i2c_0_sda_oe(sys_i2c_0_sda_oe),
+    .i2c_1_scl_in(sys_i2c_1_scl_in),
+    .i2c_1_scl_oe(sys_i2c_1_scl_oe),
+    .i2c_1_sda_in(sys_i2c_1_sda_in),
+    .i2c_1_sda_oe(sys_i2c_1_sda_oe),
+    .data_arrays_0_ext_RW0_addr(data_arrays_0_ext_RW0_addr),
+    .data_arrays_0_ext_RW0_en(data_arrays_0_ext_RW0_en),
+    .data_arrays_0_ext_RW0_clk(data_arrays_0_ext_RW0_clk),
+    .data_arrays_0_ext_RW0_wmode(data_arrays_0_ext_RW0_wmode),
+    .data_arrays_0_ext_RW0_wdata(data_arrays_0_ext_RW0_wdata),
+    .data_arrays_0_ext_RW0_rdata(data_arrays_0_ext_RW0_rdata),
+    .data_arrays_0_ext_RW0_wmask(data_arrays_0_ext_RW0_wmask),
+    .tag_array_ext_RW0_addr(tag_array_ext_RW0_addr),
+    .tag_array_ext_RW0_en(tag_array_ext_RW0_en),
+    .tag_array_ext_RW0_clk(tag_array_ext_RW0_clk),
+    .tag_array_ext_RW0_wmode(tag_array_ext_RW0_wmode),
+    .tag_array_ext_RW0_wdata(tag_array_ext_RW0_wdata),
+    .tag_array_ext_RW0_rdata(tag_array_ext_RW0_rdata),
+    .tag_array_ext_RW0_wmask(tag_array_ext_RW0_wmask),
+    .data_arrays_0_0_ext_RW0_addr(data_arrays_0_0_ext_RW0_addr),
+    .data_arrays_0_0_ext_RW0_en(data_arrays_0_0_ext_RW0_en),
+    .data_arrays_0_0_ext_RW0_clk(data_arrays_0_0_ext_RW0_clk),
+    .data_arrays_0_0_ext_RW0_wmode(data_arrays_0_0_ext_RW0_wmode),
+    .data_arrays_0_0_ext_RW0_wdata(data_arrays_0_0_ext_RW0_wdata),
+    .data_arrays_0_0_ext_RW0_rdata(data_arrays_0_0_ext_RW0_rdata),
+    .data_arrays_0_0_ext_RW0_wmask(data_arrays_0_0_ext_RW0_wmask)
+  );
+  ResetCatchAndSync_d20 ResetCatchAndSync_d20 ( // @[ResetCatchAndSync.scala 39:28:shc.marmotcaravel.MarmotCaravelConfig.fir@297481.4]
+    .clock(ResetCatchAndSync_d20_clock),
+    .reset(ResetCatchAndSync_d20_reset),
+    .io_sync_reset(ResetCatchAndSync_d20_io_sync_reset)
+  );
+  SyncResetSynchronizerShiftReg_w1_d0_i1 uart_rxd_sync ( // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@297523.4]
+    .io_d(uart_rxd_sync_io_d),
+    .io_q(uart_rxd_sync_io_q)
+  );
+  SyncResetSynchronizerShiftReg_w1_d0_i1 uart_rxd_sync_1 ( // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@297539.4]
+    .io_d(uart_rxd_sync_1_io_d),
+    .io_q(uart_rxd_sync_1_io_q)
+  );
+  SyncResetSynchronizerShiftReg_w1_d0_i1 uart_rxd_sync_2 ( // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@297555.4]
+    .io_d(uart_rxd_sync_2_io_d),
+    .io_q(uart_rxd_sync_2_io_q)
+  );
+  SyncResetSynchronizerShiftReg_w1_d0_i1 uart_rxd_sync_3 ( // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@297571.4]
+    .io_d(uart_rxd_sync_3_io_d),
+    .io_q(uart_rxd_sync_3_io_q)
+  );
+  SyncResetSynchronizerShiftReg_w1_d0_i1 uart_rxd_sync_4 ( // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@297587.4]
+    .io_d(uart_rxd_sync_4_io_d),
+    .io_q(uart_rxd_sync_4_io_q)
+  );
+  SyncResetSynchronizerShiftReg_w1_d0_i1 i2c_scl_sync ( // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@297674.4]
+    .io_d(i2c_scl_sync_io_d),
+    .io_q(i2c_scl_sync_io_q)
+  );
+  SyncResetSynchronizerShiftReg_w1_d0_i1 i2c_sda_sync ( // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@297687.4]
+    .io_d(i2c_sda_sync_io_d),
+    .io_q(i2c_sda_sync_io_q)
+  );
+  SyncResetSynchronizerShiftReg_w1_d0_i1 i2c_scl_sync_1 ( // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@297701.4]
+    .io_d(i2c_scl_sync_1_io_d),
+    .io_q(i2c_scl_sync_1_io_q)
+  );
+  SyncResetSynchronizerShiftReg_w1_d0_i1 i2c_sda_sync_1 ( // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@297714.4]
+    .io_d(i2c_sda_sync_1_io_d),
+    .io_q(i2c_sda_sync_1_io_q)
+  );
+  SynchronizerShiftReg_w1_d3 spi_dq_0_sync ( // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298071.4]
+    .clock(spi_dq_0_sync_clock),
+    .io_d(spi_dq_0_sync_io_d),
+    .io_q(spi_dq_0_sync_io_q)
+  );
+  SynchronizerShiftReg_w1_d3 spi_dq_1_sync ( // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298086.4]
+    .clock(spi_dq_1_sync_clock),
+    .io_d(spi_dq_1_sync_io_d),
+    .io_q(spi_dq_1_sync_io_q)
+  );
+  SynchronizerShiftReg_w1_d3 spi_dq_2_sync ( // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298101.4]
+    .clock(spi_dq_2_sync_clock),
+    .io_d(spi_dq_2_sync_io_d),
+    .io_q(spi_dq_2_sync_io_q)
+  );
+  SynchronizerShiftReg_w1_d3 spi_dq_3_sync ( // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298116.4]
+    .clock(spi_dq_3_sync_clock),
+    .io_d(spi_dq_3_sync_io_d),
+    .io_q(spi_dq_3_sync_io_q)
+  );
+  SyncResetSynchronizerShiftReg_w1_d3_i1 uart_rxd_sync_5 ( // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298135.4]
+    .clock(uart_rxd_sync_5_clock),
+    .reset(uart_rxd_sync_5_reset),
+    .io_d(uart_rxd_sync_5_io_d),
+    .io_q(uart_rxd_sync_5_io_q)
+  );
+  assign io_pins_jtag_TDO_o_oval = sys_debug_systemjtag_jtag_TDO_data; // @[PinCtrl.scala 58:17:shc.marmotcaravel.MarmotCaravelConfig.fir@298157.4]
+  assign io_pins_jtag_TDO_o_oe = sys_debug_systemjtag_jtag_TDO_driven; // @[PinCtrl.scala 59:17:shc.marmotcaravel.MarmotCaravelConfig.fir@298158.4 JTAGPins.scala 35:19:shc.marmotcaravel.MarmotCaravelConfig.fir@298160.4]
+  assign io_pins_gpio_pins_0_o_oval = sys_gpio_0_pins_0_o_oval; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298029.4]
+  assign io_pins_gpio_pins_0_o_oe = sys_gpio_0_pins_0_o_oe; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298029.4]
+  assign io_pins_gpio_pins_0_o_ie = sys_gpio_0_pins_0_o_ie; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298029.4]
+  assign io_pins_gpio_pins_1_o_oval = sys_gpio_0_pins_1_o_oval; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298030.4]
+  assign io_pins_gpio_pins_1_o_oe = sys_gpio_0_pins_1_o_oe; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298030.4]
+  assign io_pins_gpio_pins_1_o_ie = sys_gpio_0_pins_1_o_ie; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298030.4]
+  assign io_pins_gpio_pins_2_o_oval = sys_gpio_0_pins_2_o_oval; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298031.4]
+  assign io_pins_gpio_pins_2_o_oe = sys_gpio_0_pins_2_o_oe; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298031.4]
+  assign io_pins_gpio_pins_2_o_ie = sys_gpio_0_pins_2_o_ie; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298031.4]
+  assign io_pins_gpio_pins_3_o_oval = sys_gpio_0_pins_3_o_oval; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298032.4]
+  assign io_pins_gpio_pins_3_o_oe = sys_gpio_0_pins_3_o_oe; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298032.4]
+  assign io_pins_gpio_pins_3_o_ie = sys_gpio_0_pins_3_o_ie; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298032.4]
+  assign io_pins_gpio_pins_4_o_oval = sys_gpio_0_pins_4_o_oval; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298033.4]
+  assign io_pins_gpio_pins_4_o_oe = sys_gpio_0_pins_4_o_oe; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298033.4]
+  assign io_pins_gpio_pins_4_o_ie = sys_gpio_0_pins_4_o_ie; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298033.4]
+  assign io_pins_gpio_pins_5_o_oval = sys_gpio_0_pins_5_o_oval; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298034.4]
+  assign io_pins_gpio_pins_5_o_oe = sys_gpio_0_pins_5_o_oe; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298034.4]
+  assign io_pins_gpio_pins_5_o_ie = sys_gpio_0_pins_5_o_ie; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298034.4]
+  assign io_pins_gpio_pins_6_o_oval = sys_gpio_0_pins_6_o_oval; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298035.4]
+  assign io_pins_gpio_pins_6_o_oe = sys_gpio_0_pins_6_o_oe; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298035.4]
+  assign io_pins_gpio_pins_6_o_ie = sys_gpio_0_pins_6_o_ie; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298035.4]
+  assign io_pins_gpio_pins_7_o_oval = sys_gpio_0_pins_7_o_oval; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298036.4]
+  assign io_pins_gpio_pins_7_o_oe = sys_gpio_0_pins_7_o_oe; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298036.4]
+  assign io_pins_gpio_pins_7_o_ie = sys_gpio_0_pins_7_o_ie; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298036.4]
+  assign io_pins_gpio_pins_8_o_oval = sys_gpio_0_pins_8_o_oval; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298037.4]
+  assign io_pins_gpio_pins_8_o_oe = sys_gpio_0_pins_8_o_oe; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298037.4]
+  assign io_pins_gpio_pins_8_o_ie = sys_gpio_0_pins_8_o_ie; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298037.4]
+  assign io_pins_gpio_pins_9_o_oval = sys_gpio_0_pins_9_o_oval; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298038.4]
+  assign io_pins_gpio_pins_9_o_oe = sys_gpio_0_pins_9_o_oe; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298038.4]
+  assign io_pins_gpio_pins_9_o_ie = sys_gpio_0_pins_9_o_ie; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298038.4]
+  assign io_pins_gpio_pins_10_o_oval = sys_gpio_0_pins_10_o_oval; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298039.4]
+  assign io_pins_gpio_pins_10_o_oe = sys_gpio_0_pins_10_o_oe; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298039.4]
+  assign io_pins_gpio_pins_10_o_ie = sys_gpio_0_pins_10_o_ie; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298039.4]
+  assign io_pins_gpio_pins_11_o_oval = sys_gpio_0_pins_11_o_oval; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298040.4]
+  assign io_pins_gpio_pins_11_o_oe = sys_gpio_0_pins_11_o_oe; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298040.4]
+  assign io_pins_gpio_pins_11_o_ie = sys_gpio_0_pins_11_o_ie; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298040.4]
+  assign io_pins_gpio_pins_12_o_oval = sys_gpio_0_pins_12_o_oval; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298041.4]
+  assign io_pins_gpio_pins_12_o_oe = sys_gpio_0_pins_12_o_oe; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298041.4]
+  assign io_pins_gpio_pins_12_o_ie = sys_gpio_0_pins_12_o_ie; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298041.4]
+  assign io_pins_gpio_pins_13_o_oval = sys_gpio_0_pins_13_o_oval; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298042.4]
+  assign io_pins_gpio_pins_13_o_oe = sys_gpio_0_pins_13_o_oe; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298042.4]
+  assign io_pins_gpio_pins_13_o_ie = sys_gpio_0_pins_13_o_ie; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298042.4]
+  assign io_pins_gpio_pins_14_o_oval = sys_gpio_0_pins_14_o_oval; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298043.4]
+  assign io_pins_gpio_pins_14_o_oe = sys_gpio_0_pins_14_o_oe; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298043.4]
+  assign io_pins_gpio_pins_14_o_ie = sys_gpio_0_pins_14_o_ie; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298043.4]
+  assign io_pins_gpio_pins_15_o_oval = sys_gpio_0_pins_15_o_oval; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298044.4]
+  assign io_pins_gpio_pins_15_o_oe = sys_gpio_0_pins_15_o_oe; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298044.4]
+  assign io_pins_gpio_pins_15_o_ie = sys_gpio_0_pins_15_o_ie; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298044.4]
+  assign io_pins_gpio_pins_16_o_oval = sys_gpio_0_pins_16_o_oval; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298045.4]
+  assign io_pins_gpio_pins_16_o_oe = sys_gpio_0_pins_16_o_oe; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298045.4]
+  assign io_pins_gpio_pins_16_o_ie = sys_gpio_0_pins_16_o_ie; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298045.4]
+  assign io_pins_gpio_pins_17_o_oval = sys_gpio_0_pins_17_o_oval; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298046.4]
+  assign io_pins_gpio_pins_17_o_oe = sys_gpio_0_pins_17_o_oe; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298046.4]
+  assign io_pins_gpio_pins_17_o_ie = sys_gpio_0_pins_17_o_ie; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298046.4]
+  assign io_pins_gpio_pins_18_o_oval = sys_gpio_0_pins_18_o_oval; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298047.4]
+  assign io_pins_gpio_pins_18_o_oe = sys_gpio_0_pins_18_o_oe; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298047.4]
+  assign io_pins_gpio_pins_18_o_ie = sys_gpio_0_pins_18_o_ie; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298047.4]
+  assign io_pins_gpio_pins_19_o_oval = sys_gpio_0_pins_19_o_oval; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298048.4]
+  assign io_pins_gpio_pins_19_o_oe = sys_gpio_0_pins_19_o_oe; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298048.4]
+  assign io_pins_gpio_pins_19_o_ie = sys_gpio_0_pins_19_o_ie; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298048.4]
+  assign io_pins_gpio_pins_20_o_oval = sys_gpio_0_pins_20_o_oval; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298049.4]
+  assign io_pins_gpio_pins_20_o_oe = sys_gpio_0_pins_20_o_oe; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298049.4]
+  assign io_pins_gpio_pins_20_o_ie = sys_gpio_0_pins_20_o_ie; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298049.4]
+  assign io_pins_gpio_pins_21_o_oval = sys_gpio_0_pins_21_o_oval; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298050.4]
+  assign io_pins_gpio_pins_21_o_oe = sys_gpio_0_pins_21_o_oe; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298050.4]
+  assign io_pins_gpio_pins_21_o_ie = sys_gpio_0_pins_21_o_ie; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298050.4]
+  assign io_pins_gpio_pins_22_o_oval = sys_gpio_0_pins_22_o_oval; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298051.4]
+  assign io_pins_gpio_pins_22_o_oe = sys_gpio_0_pins_22_o_oe; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298051.4]
+  assign io_pins_gpio_pins_22_o_ie = sys_gpio_0_pins_22_o_ie; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298051.4]
+  assign io_pins_gpio_pins_23_o_oval = sys_gpio_0_pins_23_o_oval; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298052.4]
+  assign io_pins_gpio_pins_23_o_oe = sys_gpio_0_pins_23_o_oe; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298052.4]
+  assign io_pins_gpio_pins_23_o_ie = sys_gpio_0_pins_23_o_ie; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298052.4]
+  assign io_pins_gpio_pins_24_o_oval = sys_gpio_0_pins_24_o_oval; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298053.4]
+  assign io_pins_gpio_pins_24_o_oe = sys_gpio_0_pins_24_o_oe; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298053.4]
+  assign io_pins_gpio_pins_24_o_ie = sys_gpio_0_pins_24_o_ie; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298053.4]
+  assign io_pins_qspi_sck_o_oval = sys_qspi_0_sck; // @[PinCtrl.scala 58:17:shc.marmotcaravel.MarmotCaravelConfig.fir@298062.4]
+  assign io_pins_qspi_dq_0_o_oval = sys_qspi_0_dq_0_o; // @[PinCtrl.scala 58:17:shc.marmotcaravel.MarmotCaravelConfig.fir@298065.4]
+  assign io_pins_qspi_dq_0_o_oe = sys_qspi_0_dq_0_oe; // @[PinCtrl.scala 59:17:shc.marmotcaravel.MarmotCaravelConfig.fir@298066.4 SPIPins.scala 28:16:shc.marmotcaravel.MarmotCaravelConfig.fir@298068.4]
+  assign io_pins_qspi_dq_0_o_ie = ~ sys_qspi_0_dq_0_oe; // @[PinCtrl.scala 60:17:shc.marmotcaravel.MarmotCaravelConfig.fir@298067.4 SPIPins.scala 29:16:shc.marmotcaravel.MarmotCaravelConfig.fir@298070.4]
+  assign io_pins_qspi_dq_1_o_oval = sys_qspi_0_dq_1_o; // @[PinCtrl.scala 58:17:shc.marmotcaravel.MarmotCaravelConfig.fir@298080.4]
+  assign io_pins_qspi_dq_1_o_oe = sys_qspi_0_dq_1_oe; // @[PinCtrl.scala 59:17:shc.marmotcaravel.MarmotCaravelConfig.fir@298081.4 SPIPins.scala 28:16:shc.marmotcaravel.MarmotCaravelConfig.fir@298083.4]
+  assign io_pins_qspi_dq_1_o_ie = ~ sys_qspi_0_dq_1_oe; // @[PinCtrl.scala 60:17:shc.marmotcaravel.MarmotCaravelConfig.fir@298082.4 SPIPins.scala 29:16:shc.marmotcaravel.MarmotCaravelConfig.fir@298085.4]
+  assign io_pins_qspi_dq_2_o_oval = sys_qspi_0_dq_2_o; // @[PinCtrl.scala 58:17:shc.marmotcaravel.MarmotCaravelConfig.fir@298095.4]
+  assign io_pins_qspi_dq_2_o_oe = sys_qspi_0_dq_2_oe; // @[PinCtrl.scala 59:17:shc.marmotcaravel.MarmotCaravelConfig.fir@298096.4 SPIPins.scala 28:16:shc.marmotcaravel.MarmotCaravelConfig.fir@298098.4]
+  assign io_pins_qspi_dq_2_o_ie = ~ sys_qspi_0_dq_2_oe; // @[PinCtrl.scala 60:17:shc.marmotcaravel.MarmotCaravelConfig.fir@298097.4 SPIPins.scala 29:16:shc.marmotcaravel.MarmotCaravelConfig.fir@298100.4]
+  assign io_pins_qspi_dq_3_o_oval = sys_qspi_0_dq_3_o; // @[PinCtrl.scala 58:17:shc.marmotcaravel.MarmotCaravelConfig.fir@298110.4]
+  assign io_pins_qspi_dq_3_o_oe = sys_qspi_0_dq_3_oe; // @[PinCtrl.scala 59:17:shc.marmotcaravel.MarmotCaravelConfig.fir@298111.4 SPIPins.scala 28:16:shc.marmotcaravel.MarmotCaravelConfig.fir@298113.4]
+  assign io_pins_qspi_dq_3_o_ie = ~ sys_qspi_0_dq_3_oe; // @[PinCtrl.scala 60:17:shc.marmotcaravel.MarmotCaravelConfig.fir@298112.4 SPIPins.scala 29:16:shc.marmotcaravel.MarmotCaravelConfig.fir@298115.4]
+  assign io_pins_qspi_cs_0_o_oval = sys_qspi_0_cs_0; // @[PinCtrl.scala 58:17:shc.marmotcaravel.MarmotCaravelConfig.fir@298125.4]
+  assign io_pins_uart_txd_o_oval = sys_uart_0_txd; // @[PinCtrl.scala 58:17:shc.marmotcaravel.MarmotCaravelConfig.fir@298129.4]
+  assign sys_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297479.4]
+  assign sys_reset = ResetCatchAndSync_d20_io_sync_reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297480.4 Platform.scala 60:13:shc.marmotcaravel.MarmotCaravelConfig.fir@297497.4]
+  assign sys_debug_systemjtag_jtag_TCK = io_pins_jtag_TCK_i_ival; // @[JTAGPins.scala 29:15:shc.marmotcaravel.MarmotCaravelConfig.fir@298148.4]
+  assign sys_debug_systemjtag_jtag_TMS = io_pins_jtag_TMS_i_ival; // @[JTAGPins.scala 30:15:shc.marmotcaravel.MarmotCaravelConfig.fir@298152.4]
+  assign sys_debug_systemjtag_jtag_TDI = io_pins_jtag_TDI_i_ival; // @[JTAGPins.scala 31:15:shc.marmotcaravel.MarmotCaravelConfig.fir@298156.4]
+  assign sys_debug_systemjtag_reset = io_jtag_reset; // @[Platform.scala 164:15:shc.marmotcaravel.MarmotCaravelConfig.fir@298161.4]
+  assign sys_uart_0_rxd = uart_rxd_sync_5_io_q; // @[UARTPins.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@297531.4 UARTPins.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@298143.4]
+  assign sys_uart_1_rxd = uart_rxd_sync_1_io_q; // @[UARTPins.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@297547.4]
+  assign sys_uart_2_rxd = uart_rxd_sync_2_io_q; // @[UARTPins.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@297563.4]
+  assign sys_uart_3_rxd = uart_rxd_sync_3_io_q; // @[UARTPins.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@297579.4]
+  assign sys_uart_4_rxd = uart_rxd_sync_4_io_q; // @[UARTPins.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@297595.4]
+  assign sys_spi_0_dq_0_i = sys_gpio_0_iof_0_2_i_ival; // @[SPIPins.scala 30:13:shc.marmotcaravel.MarmotCaravelConfig.fir@297606.4]
+  assign sys_spi_0_dq_1_i = sys_gpio_0_iof_0_3_i_ival; // @[SPIPins.scala 30:13:shc.marmotcaravel.MarmotCaravelConfig.fir@297613.4]
+  assign sys_spi_0_dq_2_i = sys_gpio_0_iof_0_4_i_ival; // @[SPIPins.scala 30:13:shc.marmotcaravel.MarmotCaravelConfig.fir@297620.4]
+  assign sys_spi_0_dq_3_i = sys_gpio_0_iof_0_5_i_ival; // @[SPIPins.scala 30:13:shc.marmotcaravel.MarmotCaravelConfig.fir@297627.4]
+  assign sys_spi_1_dq_0_i = sys_gpio_0_iof_0_8_i_ival; // @[SPIPins.scala 30:13:shc.marmotcaravel.MarmotCaravelConfig.fir@297644.4]
+  assign sys_spi_1_dq_1_i = sys_gpio_0_iof_0_9_i_ival; // @[SPIPins.scala 30:13:shc.marmotcaravel.MarmotCaravelConfig.fir@297651.4]
+  assign sys_spi_1_dq_2_i = sys_gpio_0_iof_0_10_i_ival; // @[SPIPins.scala 30:13:shc.marmotcaravel.MarmotCaravelConfig.fir@297658.4]
+  assign sys_spi_1_dq_3_i = sys_gpio_0_iof_0_11_i_ival; // @[SPIPins.scala 30:13:shc.marmotcaravel.MarmotCaravelConfig.fir@297665.4]
+  assign sys_gpio_0_pins_0_i_ival = io_pins_gpio_pins_0_i_ival; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298029.4]
+  assign sys_gpio_0_pins_1_i_ival = io_pins_gpio_pins_1_i_ival; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298030.4]
+  assign sys_gpio_0_pins_2_i_ival = io_pins_gpio_pins_2_i_ival; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298031.4]
+  assign sys_gpio_0_pins_3_i_ival = io_pins_gpio_pins_3_i_ival; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298032.4]
+  assign sys_gpio_0_pins_4_i_ival = io_pins_gpio_pins_4_i_ival; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298033.4]
+  assign sys_gpio_0_pins_5_i_ival = io_pins_gpio_pins_5_i_ival; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298034.4]
+  assign sys_gpio_0_pins_6_i_ival = io_pins_gpio_pins_6_i_ival; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298035.4]
+  assign sys_gpio_0_pins_7_i_ival = io_pins_gpio_pins_7_i_ival; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298036.4]
+  assign sys_gpio_0_pins_8_i_ival = io_pins_gpio_pins_8_i_ival; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298037.4]
+  assign sys_gpio_0_pins_9_i_ival = io_pins_gpio_pins_9_i_ival; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298038.4]
+  assign sys_gpio_0_pins_10_i_ival = io_pins_gpio_pins_10_i_ival; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298039.4]
+  assign sys_gpio_0_pins_11_i_ival = io_pins_gpio_pins_11_i_ival; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298040.4]
+  assign sys_gpio_0_pins_12_i_ival = io_pins_gpio_pins_12_i_ival; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298041.4]
+  assign sys_gpio_0_pins_13_i_ival = io_pins_gpio_pins_13_i_ival; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298042.4]
+  assign sys_gpio_0_pins_14_i_ival = io_pins_gpio_pins_14_i_ival; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298043.4]
+  assign sys_gpio_0_pins_15_i_ival = io_pins_gpio_pins_15_i_ival; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298044.4]
+  assign sys_gpio_0_pins_16_i_ival = io_pins_gpio_pins_16_i_ival; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298045.4]
+  assign sys_gpio_0_pins_17_i_ival = io_pins_gpio_pins_17_i_ival; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298046.4]
+  assign sys_gpio_0_pins_18_i_ival = io_pins_gpio_pins_18_i_ival; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298047.4]
+  assign sys_gpio_0_pins_19_i_ival = io_pins_gpio_pins_19_i_ival; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298048.4]
+  assign sys_gpio_0_pins_20_i_ival = io_pins_gpio_pins_20_i_ival; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298049.4]
+  assign sys_gpio_0_pins_21_i_ival = io_pins_gpio_pins_21_i_ival; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298050.4]
+  assign sys_gpio_0_pins_22_i_ival = io_pins_gpio_pins_22_i_ival; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298051.4]
+  assign sys_gpio_0_pins_23_i_ival = io_pins_gpio_pins_23_i_ival; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298052.4]
+  assign sys_gpio_0_pins_24_i_ival = io_pins_gpio_pins_24_i_ival; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298053.4]
+  assign sys_gpio_0_iof_0_0_o_oval = sys_spi_0_cs_0; // @[IOF.scala 33:18:shc.marmotcaravel.MarmotCaravelConfig.fir@297723.4 IOF.scala 60:9:shc.marmotcaravel.MarmotCaravelConfig.fir@297979.4]
+  assign sys_gpio_0_iof_0_1_o_oval = sys_spi_0_sck; // @[IOF.scala 33:18:shc.marmotcaravel.MarmotCaravelConfig.fir@297727.4 IOF.scala 60:9:shc.marmotcaravel.MarmotCaravelConfig.fir@297981.4]
+  assign sys_gpio_0_iof_0_2_o_oval = sys_spi_0_dq_0_o; // @[IOF.scala 33:18:shc.marmotcaravel.MarmotCaravelConfig.fir@297731.4 IOF.scala 60:9:shc.marmotcaravel.MarmotCaravelConfig.fir@297983.4]
+  assign sys_gpio_0_iof_0_2_o_oe = sys_spi_0_dq_0_oe; // @[IOF.scala 34:18:shc.marmotcaravel.MarmotCaravelConfig.fir@297732.4 IOF.scala 60:9:shc.marmotcaravel.MarmotCaravelConfig.fir@297983.4]
+  assign sys_gpio_0_iof_0_2_o_ie = ~ sys_spi_0_dq_0_oe; // @[IOF.scala 35:18:shc.marmotcaravel.MarmotCaravelConfig.fir@297733.4 IOF.scala 60:9:shc.marmotcaravel.MarmotCaravelConfig.fir@297983.4]
+  assign sys_gpio_0_iof_0_3_o_oval = sys_spi_0_dq_1_o; // @[IOF.scala 33:18:shc.marmotcaravel.MarmotCaravelConfig.fir@297735.4 IOF.scala 60:9:shc.marmotcaravel.MarmotCaravelConfig.fir@297985.4]
+  assign sys_gpio_0_iof_0_3_o_oe = sys_spi_0_dq_1_oe; // @[IOF.scala 34:18:shc.marmotcaravel.MarmotCaravelConfig.fir@297736.4 IOF.scala 60:9:shc.marmotcaravel.MarmotCaravelConfig.fir@297985.4]
+  assign sys_gpio_0_iof_0_3_o_ie = ~ sys_spi_0_dq_1_oe; // @[IOF.scala 35:18:shc.marmotcaravel.MarmotCaravelConfig.fir@297737.4 IOF.scala 60:9:shc.marmotcaravel.MarmotCaravelConfig.fir@297985.4]
+  assign sys_gpio_0_iof_0_4_o_oval = sys_spi_0_dq_2_o; // @[IOF.scala 33:18:shc.marmotcaravel.MarmotCaravelConfig.fir@297739.4 IOF.scala 60:9:shc.marmotcaravel.MarmotCaravelConfig.fir@297987.4]
+  assign sys_gpio_0_iof_0_4_o_oe = sys_spi_0_dq_2_oe; // @[IOF.scala 34:18:shc.marmotcaravel.MarmotCaravelConfig.fir@297740.4 IOF.scala 60:9:shc.marmotcaravel.MarmotCaravelConfig.fir@297987.4]
+  assign sys_gpio_0_iof_0_4_o_ie = ~ sys_spi_0_dq_2_oe; // @[IOF.scala 35:18:shc.marmotcaravel.MarmotCaravelConfig.fir@297741.4 IOF.scala 60:9:shc.marmotcaravel.MarmotCaravelConfig.fir@297987.4]
+  assign sys_gpio_0_iof_0_5_o_oval = sys_spi_0_dq_3_o; // @[IOF.scala 33:18:shc.marmotcaravel.MarmotCaravelConfig.fir@297743.4 IOF.scala 60:9:shc.marmotcaravel.MarmotCaravelConfig.fir@297989.4]
+  assign sys_gpio_0_iof_0_5_o_oe = sys_spi_0_dq_3_oe; // @[IOF.scala 34:18:shc.marmotcaravel.MarmotCaravelConfig.fir@297744.4 IOF.scala 60:9:shc.marmotcaravel.MarmotCaravelConfig.fir@297989.4]
+  assign sys_gpio_0_iof_0_5_o_ie = ~ sys_spi_0_dq_3_oe; // @[IOF.scala 35:18:shc.marmotcaravel.MarmotCaravelConfig.fir@297745.4 IOF.scala 60:9:shc.marmotcaravel.MarmotCaravelConfig.fir@297989.4]
+  assign sys_gpio_0_iof_0_6_o_oval = sys_spi_1_cs_0; // @[IOF.scala 33:18:shc.marmotcaravel.MarmotCaravelConfig.fir@297747.4 IOF.scala 60:9:shc.marmotcaravel.MarmotCaravelConfig.fir@297993.4]
+  assign sys_gpio_0_iof_0_7_o_oval = sys_spi_1_sck; // @[IOF.scala 33:18:shc.marmotcaravel.MarmotCaravelConfig.fir@297751.4 IOF.scala 60:9:shc.marmotcaravel.MarmotCaravelConfig.fir@297995.4]
+  assign sys_gpio_0_iof_0_8_o_oval = sys_spi_1_dq_0_o; // @[IOF.scala 33:18:shc.marmotcaravel.MarmotCaravelConfig.fir@297755.4 IOF.scala 60:9:shc.marmotcaravel.MarmotCaravelConfig.fir@297997.4]
+  assign sys_gpio_0_iof_0_8_o_oe = sys_spi_1_dq_0_oe; // @[IOF.scala 34:18:shc.marmotcaravel.MarmotCaravelConfig.fir@297756.4 IOF.scala 60:9:shc.marmotcaravel.MarmotCaravelConfig.fir@297997.4]
+  assign sys_gpio_0_iof_0_8_o_ie = ~ sys_spi_1_dq_0_oe; // @[IOF.scala 35:18:shc.marmotcaravel.MarmotCaravelConfig.fir@297757.4 IOF.scala 60:9:shc.marmotcaravel.MarmotCaravelConfig.fir@297997.4]
+  assign sys_gpio_0_iof_0_9_o_oval = sys_spi_1_dq_1_o; // @[IOF.scala 33:18:shc.marmotcaravel.MarmotCaravelConfig.fir@297759.4 IOF.scala 60:9:shc.marmotcaravel.MarmotCaravelConfig.fir@297999.4]
+  assign sys_gpio_0_iof_0_9_o_oe = sys_spi_1_dq_1_oe; // @[IOF.scala 34:18:shc.marmotcaravel.MarmotCaravelConfig.fir@297760.4 IOF.scala 60:9:shc.marmotcaravel.MarmotCaravelConfig.fir@297999.4]
+  assign sys_gpio_0_iof_0_9_o_ie = ~ sys_spi_1_dq_1_oe; // @[IOF.scala 35:18:shc.marmotcaravel.MarmotCaravelConfig.fir@297761.4 IOF.scala 60:9:shc.marmotcaravel.MarmotCaravelConfig.fir@297999.4]
+  assign sys_gpio_0_iof_0_10_o_oval = sys_spi_1_dq_2_o; // @[IOF.scala 33:18:shc.marmotcaravel.MarmotCaravelConfig.fir@297763.4 IOF.scala 60:9:shc.marmotcaravel.MarmotCaravelConfig.fir@298001.4]
+  assign sys_gpio_0_iof_0_10_o_oe = sys_spi_1_dq_2_oe; // @[IOF.scala 34:18:shc.marmotcaravel.MarmotCaravelConfig.fir@297764.4 IOF.scala 60:9:shc.marmotcaravel.MarmotCaravelConfig.fir@298001.4]
+  assign sys_gpio_0_iof_0_10_o_ie = ~ sys_spi_1_dq_2_oe; // @[IOF.scala 35:18:shc.marmotcaravel.MarmotCaravelConfig.fir@297765.4 IOF.scala 60:9:shc.marmotcaravel.MarmotCaravelConfig.fir@298001.4]
+  assign sys_gpio_0_iof_0_11_o_oval = sys_spi_1_dq_3_o; // @[IOF.scala 33:18:shc.marmotcaravel.MarmotCaravelConfig.fir@297767.4 IOF.scala 60:9:shc.marmotcaravel.MarmotCaravelConfig.fir@298003.4]
+  assign sys_gpio_0_iof_0_11_o_oe = sys_spi_1_dq_3_oe; // @[IOF.scala 34:18:shc.marmotcaravel.MarmotCaravelConfig.fir@297768.4 IOF.scala 60:9:shc.marmotcaravel.MarmotCaravelConfig.fir@298003.4]
+  assign sys_gpio_0_iof_0_11_o_ie = ~ sys_spi_1_dq_3_oe; // @[IOF.scala 35:18:shc.marmotcaravel.MarmotCaravelConfig.fir@297769.4 IOF.scala 60:9:shc.marmotcaravel.MarmotCaravelConfig.fir@298003.4]
+  assign sys_gpio_0_iof_0_12_o_oe = sys_i2c_0_sda_oe; // @[IOF.scala 34:18:shc.marmotcaravel.MarmotCaravelConfig.fir@297772.4 IOF.scala 60:9:shc.marmotcaravel.MarmotCaravelConfig.fir@298005.4]
+  assign sys_gpio_0_iof_0_13_o_oe = sys_i2c_0_scl_oe; // @[IOF.scala 34:18:shc.marmotcaravel.MarmotCaravelConfig.fir@297776.4 IOF.scala 60:9:shc.marmotcaravel.MarmotCaravelConfig.fir@298007.4]
+  assign sys_gpio_0_iof_0_14_o_oe = sys_i2c_1_sda_oe; // @[IOF.scala 34:18:shc.marmotcaravel.MarmotCaravelConfig.fir@297780.4 IOF.scala 60:9:shc.marmotcaravel.MarmotCaravelConfig.fir@298009.4]
+  assign sys_gpio_0_iof_0_15_o_oe = sys_i2c_1_scl_oe; // @[IOF.scala 34:18:shc.marmotcaravel.MarmotCaravelConfig.fir@297784.4 IOF.scala 60:9:shc.marmotcaravel.MarmotCaravelConfig.fir@298011.4]
+  assign sys_gpio_0_iof_0_17_o_oval = sys_uart_1_txd; // @[IOF.scala 33:18:shc.marmotcaravel.MarmotCaravelConfig.fir@297791.4 IOF.scala 60:9:shc.marmotcaravel.MarmotCaravelConfig.fir@298015.4]
+  assign sys_gpio_0_iof_0_19_o_oval = sys_uart_2_txd; // @[IOF.scala 33:18:shc.marmotcaravel.MarmotCaravelConfig.fir@297799.4 IOF.scala 60:9:shc.marmotcaravel.MarmotCaravelConfig.fir@298019.4]
+  assign sys_gpio_0_iof_0_21_o_oval = sys_uart_3_txd; // @[IOF.scala 33:18:shc.marmotcaravel.MarmotCaravelConfig.fir@297807.4 IOF.scala 60:9:shc.marmotcaravel.MarmotCaravelConfig.fir@298023.4]
+  assign sys_gpio_0_iof_0_23_o_oval = sys_uart_4_txd; // @[IOF.scala 33:18:shc.marmotcaravel.MarmotCaravelConfig.fir@297815.4 IOF.scala 60:9:shc.marmotcaravel.MarmotCaravelConfig.fir@298027.4]
+  assign sys_gpio_0_iof_0_24_o_oval = sys_spi_0_cs_1; // @[IOF.scala 33:18:shc.marmotcaravel.MarmotCaravelConfig.fir@297819.4 IOF.scala 60:9:shc.marmotcaravel.MarmotCaravelConfig.fir@297991.4]
+  assign sys_qspi_0_dq_0_i = spi_dq_0_sync_io_q; // @[SPIPins.scala 30:13:shc.marmotcaravel.MarmotCaravelConfig.fir@298079.4]
+  assign sys_qspi_0_dq_1_i = spi_dq_1_sync_io_q; // @[SPIPins.scala 30:13:shc.marmotcaravel.MarmotCaravelConfig.fir@298094.4]
+  assign sys_qspi_0_dq_2_i = spi_dq_2_sync_io_q; // @[SPIPins.scala 30:13:shc.marmotcaravel.MarmotCaravelConfig.fir@298109.4]
+  assign sys_qspi_0_dq_3_i = spi_dq_3_sync_io_q; // @[SPIPins.scala 30:13:shc.marmotcaravel.MarmotCaravelConfig.fir@298124.4]
+  assign sys_aon_pins_erst_n_i_ival = io_pins_aon_erst_n_i_ival; // @[Platform.scala 172:15:shc.marmotcaravel.MarmotCaravelConfig.fir@298164.4]
+  assign sys_aon_pins_lfextclk_i_ival = io_pins_aon_lfextclk_i_ival; // @[Platform.scala 172:15:shc.marmotcaravel.MarmotCaravelConfig.fir@298164.4]
+  assign sys_i2c_0_scl_in = i2c_scl_sync_io_q; // @[I2CPins.scala 22:18:shc.marmotcaravel.MarmotCaravelConfig.fir@297682.4]
+  assign sys_i2c_0_sda_in = i2c_sda_sync_io_q; // @[I2CPins.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@297695.4]
+  assign sys_i2c_1_scl_in = i2c_scl_sync_1_io_q; // @[I2CPins.scala 22:18:shc.marmotcaravel.MarmotCaravelConfig.fir@297709.4]
+  assign sys_i2c_1_sda_in = i2c_sda_sync_1_io_q; // @[I2CPins.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@297722.4]
+  assign ResetCatchAndSync_d20_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297483.4]
+  assign ResetCatchAndSync_d20_reset = sys_aon_rsts_corerst; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297484.4]
+  assign uart_rxd_sync_io_d = 1'h0; // @[ShiftReg.scala 49:16:shc.marmotcaravel.MarmotCaravelConfig.fir@297527.4]
+  assign uart_rxd_sync_1_io_d = sys_gpio_0_iof_0_16_i_ival; // @[ShiftReg.scala 49:16:shc.marmotcaravel.MarmotCaravelConfig.fir@297543.4]
+  assign uart_rxd_sync_2_io_d = sys_gpio_0_iof_0_18_i_ival; // @[ShiftReg.scala 49:16:shc.marmotcaravel.MarmotCaravelConfig.fir@297559.4]
+  assign uart_rxd_sync_3_io_d = sys_gpio_0_iof_0_20_i_ival; // @[ShiftReg.scala 49:16:shc.marmotcaravel.MarmotCaravelConfig.fir@297575.4]
+  assign uart_rxd_sync_4_io_d = sys_gpio_0_iof_0_22_i_ival; // @[ShiftReg.scala 49:16:shc.marmotcaravel.MarmotCaravelConfig.fir@297591.4]
+  assign i2c_scl_sync_io_d = sys_gpio_0_iof_0_13_i_ival; // @[ShiftReg.scala 49:16:shc.marmotcaravel.MarmotCaravelConfig.fir@297678.4]
+  assign i2c_sda_sync_io_d = sys_gpio_0_iof_0_12_i_ival; // @[ShiftReg.scala 49:16:shc.marmotcaravel.MarmotCaravelConfig.fir@297691.4]
+  assign i2c_scl_sync_1_io_d = sys_gpio_0_iof_0_15_i_ival; // @[ShiftReg.scala 49:16:shc.marmotcaravel.MarmotCaravelConfig.fir@297705.4]
+  assign i2c_sda_sync_1_io_d = sys_gpio_0_iof_0_14_i_ival; // @[ShiftReg.scala 49:16:shc.marmotcaravel.MarmotCaravelConfig.fir@297718.4]
+  assign spi_dq_0_sync_clock = sys_clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298073.4]
+  assign spi_dq_0_sync_io_d = io_pins_qspi_dq_0_i_ival; // @[ShiftReg.scala 49:16:shc.marmotcaravel.MarmotCaravelConfig.fir@298075.4]
+  assign spi_dq_1_sync_clock = sys_clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298088.4]
+  assign spi_dq_1_sync_io_d = io_pins_qspi_dq_1_i_ival; // @[ShiftReg.scala 49:16:shc.marmotcaravel.MarmotCaravelConfig.fir@298090.4]
+  assign spi_dq_2_sync_clock = sys_clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298103.4]
+  assign spi_dq_2_sync_io_d = io_pins_qspi_dq_2_i_ival; // @[ShiftReg.scala 49:16:shc.marmotcaravel.MarmotCaravelConfig.fir@298105.4]
+  assign spi_dq_3_sync_clock = sys_clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298118.4]
+  assign spi_dq_3_sync_io_d = io_pins_qspi_dq_3_i_ival; // @[ShiftReg.scala 49:16:shc.marmotcaravel.MarmotCaravelConfig.fir@298120.4]
+  assign uart_rxd_sync_5_clock = sys_clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298137.4]
+  assign uart_rxd_sync_5_reset = sys_reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298138.4]
+  assign uart_rxd_sync_5_io_d = io_pins_uart_rxd_i_ival; // @[ShiftReg.scala 49:16:shc.marmotcaravel.MarmotCaravelConfig.fir@298139.4]
+endmodule
+module MarmotCaravelChip( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298166.2]
+  input   clk, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298167.4]
+  input   rst_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298168.4]
+  input   io_in_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298169.4]
+  input   io_in_1, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298169.4]
+  input   io_in_2, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298169.4]
+  input   io_in_3, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298169.4]
+  input   io_in_4, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298169.4]
+  input   io_in_5, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298169.4]
+  input   io_in_6, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298169.4]
+  input   io_in_7, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298169.4]
+  input   io_in_8, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298169.4]
+  input   io_in_9, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298169.4]
+  input   io_in_10, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298169.4]
+  input   io_in_11, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298169.4]
+  input   io_in_12, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298169.4]
+  input   io_in_13, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298169.4]
+  input   io_in_14, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298169.4]
+  input   io_in_15, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298169.4]
+  input   io_in_16, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298169.4]
+  input   io_in_17, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298169.4]
+  input   io_in_18, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298169.4]
+  input   io_in_19, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298169.4]
+  input   io_in_20, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298169.4]
+  input   io_in_21, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298169.4]
+  input   io_in_22, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298169.4]
+  input   io_in_23, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298169.4]
+  input   io_in_24, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298169.4]
+  input   io_in_25, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298169.4]
+  input   io_in_26, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298169.4]
+  input   io_in_27, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298169.4]
+  input   io_in_28, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298169.4]
+  input   io_in_29, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298169.4]
+  input   io_in_30, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298169.4]
+  input   io_in_31, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298169.4]
+  input   io_in_32, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298169.4]
+  input   io_in_33, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298169.4]
+  input   io_in_34, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298169.4]
+  input   io_in_35, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298169.4]
+  input   io_in_36, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298169.4]
+  input   io_in_37, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298169.4]
+  output  io_out_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298170.4]
+  output  io_out_1, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298170.4]
+  output  io_out_2, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298170.4]
+  output  io_out_3, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298170.4]
+  output  io_out_4, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298170.4]
+  output  io_out_5, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298170.4]
+  output  io_out_6, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298170.4]
+  output  io_out_7, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298170.4]
+  output  io_out_8, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298170.4]
+  output  io_out_9, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298170.4]
+  output  io_out_10, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298170.4]
+  output  io_out_11, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298170.4]
+  output  io_out_12, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298170.4]
+  output  io_out_13, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298170.4]
+  output  io_out_14, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298170.4]
+  output  io_out_15, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298170.4]
+  output  io_out_16, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298170.4]
+  output  io_out_17, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298170.4]
+  output  io_out_18, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298170.4]
+  output  io_out_19, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298170.4]
+  output  io_out_20, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298170.4]
+  output  io_out_21, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298170.4]
+  output  io_out_22, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298170.4]
+  output  io_out_23, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298170.4]
+  output  io_out_24, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298170.4]
+  output  io_out_25, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298170.4]
+  output  io_out_26, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298170.4]
+  output  io_out_27, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298170.4]
+  output  io_out_28, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298170.4]
+  output  io_out_29, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298170.4]
+  output  io_out_30, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298170.4]
+  output  io_out_31, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298170.4]
+  output  io_out_32, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298170.4]
+  output  io_out_33, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298170.4]
+  output  io_out_34, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298170.4]
+  output  io_out_35, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298170.4]
+  output  io_out_36, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298170.4]
+  output  io_out_37, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298170.4]
+  output  io_oeb_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298171.4]
+  output  io_oeb_1, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298171.4]
+  output  io_oeb_2, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298171.4]
+  output  io_oeb_3, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298171.4]
+  output  io_oeb_4, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298171.4]
+  output  io_oeb_5, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298171.4]
+  output  io_oeb_6, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298171.4]
+  output  io_oeb_7, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298171.4]
+  output  io_oeb_8, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298171.4]
+  output  io_oeb_9, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298171.4]
+  output  io_oeb_10, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298171.4]
+  output  io_oeb_11, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298171.4]
+  output  io_oeb_12, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298171.4]
+  output  io_oeb_13, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298171.4]
+  output  io_oeb_14, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298171.4]
+  output  io_oeb_15, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298171.4]
+  output  io_oeb_16, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298171.4]
+  output  io_oeb_17, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298171.4]
+  output  io_oeb_18, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298171.4]
+  output  io_oeb_19, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298171.4]
+  output  io_oeb_20, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298171.4]
+  output  io_oeb_21, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298171.4]
+  output  io_oeb_22, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298171.4]
+  output  io_oeb_23, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298171.4]
+  output  io_oeb_24, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298171.4]
+  output  io_oeb_25, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298171.4]
+  output  io_oeb_26, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298171.4]
+  output  io_oeb_27, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298171.4]
+  output  io_oeb_28, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298171.4]
+  output  io_oeb_29, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298171.4]
+  output  io_oeb_30, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298171.4]
+  output  io_oeb_31, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298171.4]
+  output  io_oeb_32, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298171.4]
+  output  io_oeb_33, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298171.4]
+  output  io_oeb_34, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298171.4]
+  output  io_oeb_35, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298171.4]
+  output  io_oeb_36, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298171.4]
+  output  io_oeb_37, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298171.4]
+  output [11:0] data_arrays_0_ext_RW0_addr,
+  output  data_arrays_0_ext_RW0_en,
+  output  data_arrays_0_ext_RW0_clk,
+  output  data_arrays_0_ext_RW0_wmode,
+  output [31:0] data_arrays_0_ext_RW0_wdata,
+  input  [31:0] data_arrays_0_ext_RW0_rdata,
+  output [3:0] data_arrays_0_ext_RW0_wmask,
+  output [6:0] tag_array_ext_RW0_addr,
+  output  tag_array_ext_RW0_en,
+  output  tag_array_ext_RW0_clk,
+  output  tag_array_ext_RW0_wmode,
+  output [39:0] tag_array_ext_RW0_wdata,
+  input  [39:0] tag_array_ext_RW0_rdata,
+  output [1:0] tag_array_ext_RW0_wmask,
+  output [10:0] data_arrays_0_0_ext_RW0_addr,
+  output  data_arrays_0_0_ext_RW0_en,
+  output  data_arrays_0_0_ext_RW0_clk,
+  output  data_arrays_0_0_ext_RW0_wmode,
+  output [63:0] data_arrays_0_0_ext_RW0_wdata,
+  input  [63:0] data_arrays_0_0_ext_RW0_rdata,
+  output [1:0] data_arrays_0_0_ext_RW0_wmask
+);
+  wire  MarmotCaravelPlatform_clock; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+  wire  MarmotCaravelPlatform_io_pins_jtag_TCK_i_ival; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+  wire  MarmotCaravelPlatform_io_pins_jtag_TMS_i_ival; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+  wire  MarmotCaravelPlatform_io_pins_jtag_TDI_i_ival; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+  wire  MarmotCaravelPlatform_io_pins_jtag_TDO_o_oval; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+  wire  MarmotCaravelPlatform_io_pins_jtag_TDO_o_oe; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+  wire  MarmotCaravelPlatform_io_pins_gpio_pins_0_i_ival; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+  wire  MarmotCaravelPlatform_io_pins_gpio_pins_0_o_oval; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+  wire  MarmotCaravelPlatform_io_pins_gpio_pins_0_o_oe; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+  wire  MarmotCaravelPlatform_io_pins_gpio_pins_0_o_ie; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+  wire  MarmotCaravelPlatform_io_pins_gpio_pins_1_i_ival; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+  wire  MarmotCaravelPlatform_io_pins_gpio_pins_1_o_oval; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+  wire  MarmotCaravelPlatform_io_pins_gpio_pins_1_o_oe; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+  wire  MarmotCaravelPlatform_io_pins_gpio_pins_1_o_ie; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+  wire  MarmotCaravelPlatform_io_pins_gpio_pins_2_i_ival; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+  wire  MarmotCaravelPlatform_io_pins_gpio_pins_2_o_oval; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+  wire  MarmotCaravelPlatform_io_pins_gpio_pins_2_o_oe; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+  wire  MarmotCaravelPlatform_io_pins_gpio_pins_2_o_ie; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+  wire  MarmotCaravelPlatform_io_pins_gpio_pins_3_i_ival; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+  wire  MarmotCaravelPlatform_io_pins_gpio_pins_3_o_oval; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+  wire  MarmotCaravelPlatform_io_pins_gpio_pins_3_o_oe; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+  wire  MarmotCaravelPlatform_io_pins_gpio_pins_3_o_ie; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+  wire  MarmotCaravelPlatform_io_pins_gpio_pins_4_i_ival; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+  wire  MarmotCaravelPlatform_io_pins_gpio_pins_4_o_oval; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+  wire  MarmotCaravelPlatform_io_pins_gpio_pins_4_o_oe; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+  wire  MarmotCaravelPlatform_io_pins_gpio_pins_4_o_ie; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+  wire  MarmotCaravelPlatform_io_pins_gpio_pins_5_i_ival; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+  wire  MarmotCaravelPlatform_io_pins_gpio_pins_5_o_oval; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+  wire  MarmotCaravelPlatform_io_pins_gpio_pins_5_o_oe; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+  wire  MarmotCaravelPlatform_io_pins_gpio_pins_5_o_ie; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+  wire  MarmotCaravelPlatform_io_pins_gpio_pins_6_i_ival; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+  wire  MarmotCaravelPlatform_io_pins_gpio_pins_6_o_oval; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+  wire  MarmotCaravelPlatform_io_pins_gpio_pins_6_o_oe; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+  wire  MarmotCaravelPlatform_io_pins_gpio_pins_6_o_ie; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+  wire  MarmotCaravelPlatform_io_pins_gpio_pins_7_i_ival; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+  wire  MarmotCaravelPlatform_io_pins_gpio_pins_7_o_oval; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+  wire  MarmotCaravelPlatform_io_pins_gpio_pins_7_o_oe; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+  wire  MarmotCaravelPlatform_io_pins_gpio_pins_7_o_ie; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+  wire  MarmotCaravelPlatform_io_pins_gpio_pins_8_i_ival; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+  wire  MarmotCaravelPlatform_io_pins_gpio_pins_8_o_oval; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+  wire  MarmotCaravelPlatform_io_pins_gpio_pins_8_o_oe; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+  wire  MarmotCaravelPlatform_io_pins_gpio_pins_8_o_ie; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+  wire  MarmotCaravelPlatform_io_pins_gpio_pins_9_i_ival; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+  wire  MarmotCaravelPlatform_io_pins_gpio_pins_9_o_oval; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+  wire  MarmotCaravelPlatform_io_pins_gpio_pins_9_o_oe; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+  wire  MarmotCaravelPlatform_io_pins_gpio_pins_9_o_ie; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+  wire  MarmotCaravelPlatform_io_pins_gpio_pins_10_i_ival; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+  wire  MarmotCaravelPlatform_io_pins_gpio_pins_10_o_oval; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+  wire  MarmotCaravelPlatform_io_pins_gpio_pins_10_o_oe; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+  wire  MarmotCaravelPlatform_io_pins_gpio_pins_10_o_ie; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+  wire  MarmotCaravelPlatform_io_pins_gpio_pins_11_i_ival; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+  wire  MarmotCaravelPlatform_io_pins_gpio_pins_11_o_oval; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+  wire  MarmotCaravelPlatform_io_pins_gpio_pins_11_o_oe; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+  wire  MarmotCaravelPlatform_io_pins_gpio_pins_11_o_ie; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+  wire  MarmotCaravelPlatform_io_pins_gpio_pins_12_i_ival; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+  wire  MarmotCaravelPlatform_io_pins_gpio_pins_12_o_oval; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+  wire  MarmotCaravelPlatform_io_pins_gpio_pins_12_o_oe; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+  wire  MarmotCaravelPlatform_io_pins_gpio_pins_12_o_ie; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+  wire  MarmotCaravelPlatform_io_pins_gpio_pins_13_i_ival; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+  wire  MarmotCaravelPlatform_io_pins_gpio_pins_13_o_oval; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+  wire  MarmotCaravelPlatform_io_pins_gpio_pins_13_o_oe; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+  wire  MarmotCaravelPlatform_io_pins_gpio_pins_13_o_ie; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+  wire  MarmotCaravelPlatform_io_pins_gpio_pins_14_i_ival; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+  wire  MarmotCaravelPlatform_io_pins_gpio_pins_14_o_oval; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+  wire  MarmotCaravelPlatform_io_pins_gpio_pins_14_o_oe; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+  wire  MarmotCaravelPlatform_io_pins_gpio_pins_14_o_ie; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+  wire  MarmotCaravelPlatform_io_pins_gpio_pins_15_i_ival; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+  wire  MarmotCaravelPlatform_io_pins_gpio_pins_15_o_oval; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+  wire  MarmotCaravelPlatform_io_pins_gpio_pins_15_o_oe; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+  wire  MarmotCaravelPlatform_io_pins_gpio_pins_15_o_ie; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+  wire  MarmotCaravelPlatform_io_pins_gpio_pins_16_i_ival; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+  wire  MarmotCaravelPlatform_io_pins_gpio_pins_16_o_oval; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+  wire  MarmotCaravelPlatform_io_pins_gpio_pins_16_o_oe; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+  wire  MarmotCaravelPlatform_io_pins_gpio_pins_16_o_ie; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+  wire  MarmotCaravelPlatform_io_pins_gpio_pins_17_i_ival; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+  wire  MarmotCaravelPlatform_io_pins_gpio_pins_17_o_oval; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+  wire  MarmotCaravelPlatform_io_pins_gpio_pins_17_o_oe; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+  wire  MarmotCaravelPlatform_io_pins_gpio_pins_17_o_ie; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+  wire  MarmotCaravelPlatform_io_pins_gpio_pins_18_i_ival; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+  wire  MarmotCaravelPlatform_io_pins_gpio_pins_18_o_oval; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+  wire  MarmotCaravelPlatform_io_pins_gpio_pins_18_o_oe; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+  wire  MarmotCaravelPlatform_io_pins_gpio_pins_18_o_ie; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+  wire  MarmotCaravelPlatform_io_pins_gpio_pins_19_i_ival; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+  wire  MarmotCaravelPlatform_io_pins_gpio_pins_19_o_oval; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+  wire  MarmotCaravelPlatform_io_pins_gpio_pins_19_o_oe; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+  wire  MarmotCaravelPlatform_io_pins_gpio_pins_19_o_ie; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+  wire  MarmotCaravelPlatform_io_pins_gpio_pins_20_i_ival; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+  wire  MarmotCaravelPlatform_io_pins_gpio_pins_20_o_oval; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+  wire  MarmotCaravelPlatform_io_pins_gpio_pins_20_o_oe; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+  wire  MarmotCaravelPlatform_io_pins_gpio_pins_20_o_ie; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+  wire  MarmotCaravelPlatform_io_pins_gpio_pins_21_i_ival; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+  wire  MarmotCaravelPlatform_io_pins_gpio_pins_21_o_oval; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+  wire  MarmotCaravelPlatform_io_pins_gpio_pins_21_o_oe; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+  wire  MarmotCaravelPlatform_io_pins_gpio_pins_21_o_ie; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+  wire  MarmotCaravelPlatform_io_pins_gpio_pins_22_i_ival; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+  wire  MarmotCaravelPlatform_io_pins_gpio_pins_22_o_oval; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+  wire  MarmotCaravelPlatform_io_pins_gpio_pins_22_o_oe; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+  wire  MarmotCaravelPlatform_io_pins_gpio_pins_22_o_ie; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+  wire  MarmotCaravelPlatform_io_pins_gpio_pins_23_i_ival; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+  wire  MarmotCaravelPlatform_io_pins_gpio_pins_23_o_oval; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+  wire  MarmotCaravelPlatform_io_pins_gpio_pins_23_o_oe; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+  wire  MarmotCaravelPlatform_io_pins_gpio_pins_23_o_ie; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+  wire  MarmotCaravelPlatform_io_pins_gpio_pins_24_i_ival; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+  wire  MarmotCaravelPlatform_io_pins_gpio_pins_24_o_oval; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+  wire  MarmotCaravelPlatform_io_pins_gpio_pins_24_o_oe; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+  wire  MarmotCaravelPlatform_io_pins_gpio_pins_24_o_ie; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+  wire  MarmotCaravelPlatform_io_pins_qspi_sck_o_oval; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+  wire  MarmotCaravelPlatform_io_pins_qspi_dq_0_i_ival; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+  wire  MarmotCaravelPlatform_io_pins_qspi_dq_0_o_oval; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+  wire  MarmotCaravelPlatform_io_pins_qspi_dq_0_o_oe; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+  wire  MarmotCaravelPlatform_io_pins_qspi_dq_0_o_ie; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+  wire  MarmotCaravelPlatform_io_pins_qspi_dq_1_i_ival; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+  wire  MarmotCaravelPlatform_io_pins_qspi_dq_1_o_oval; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+  wire  MarmotCaravelPlatform_io_pins_qspi_dq_1_o_oe; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+  wire  MarmotCaravelPlatform_io_pins_qspi_dq_1_o_ie; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+  wire  MarmotCaravelPlatform_io_pins_qspi_dq_2_i_ival; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+  wire  MarmotCaravelPlatform_io_pins_qspi_dq_2_o_oval; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+  wire  MarmotCaravelPlatform_io_pins_qspi_dq_2_o_oe; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+  wire  MarmotCaravelPlatform_io_pins_qspi_dq_2_o_ie; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+  wire  MarmotCaravelPlatform_io_pins_qspi_dq_3_i_ival; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+  wire  MarmotCaravelPlatform_io_pins_qspi_dq_3_o_oval; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+  wire  MarmotCaravelPlatform_io_pins_qspi_dq_3_o_oe; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+  wire  MarmotCaravelPlatform_io_pins_qspi_dq_3_o_ie; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+  wire  MarmotCaravelPlatform_io_pins_qspi_cs_0_o_oval; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+  wire  MarmotCaravelPlatform_io_pins_uart_rxd_i_ival; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+  wire  MarmotCaravelPlatform_io_pins_uart_txd_o_oval; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+  wire  MarmotCaravelPlatform_io_pins_aon_erst_n_i_ival; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+  wire  MarmotCaravelPlatform_io_pins_aon_lfextclk_i_ival; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+  wire  MarmotCaravelPlatform_io_jtag_reset; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+  wire  _T_374; // @[Chip.scala 28:26:shc.marmotcaravel.MarmotCaravelConfig.fir@298180.4]
+  reg  slow_clock; // @[Chip.scala 29:33:shc.marmotcaravel.MarmotCaravelConfig.fir@298181.4]
+  reg [31:0] _RAND_0;
+  reg  value; // @[Counter.scala 26:33:shc.marmotcaravel.MarmotCaravelConfig.fir@298182.4]
+  reg [31:0] _RAND_1;
+  wire  _T_380; // @[Counter.scala 35:22:shc.marmotcaravel.MarmotCaravelConfig.fir@298186.6]
+  wire  _T_382; // @[Chip.scala 32:40:shc.marmotcaravel.MarmotCaravelConfig.fir@298191.6]
+  MarmotCaravelPlatform MarmotCaravelPlatform ( // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
+    .clock(MarmotCaravelPlatform_clock),
+    .io_pins_jtag_TCK_i_ival(MarmotCaravelPlatform_io_pins_jtag_TCK_i_ival),
+    .io_pins_jtag_TMS_i_ival(MarmotCaravelPlatform_io_pins_jtag_TMS_i_ival),
+    .io_pins_jtag_TDI_i_ival(MarmotCaravelPlatform_io_pins_jtag_TDI_i_ival),
+    .io_pins_jtag_TDO_o_oval(MarmotCaravelPlatform_io_pins_jtag_TDO_o_oval),
+    .io_pins_jtag_TDO_o_oe(MarmotCaravelPlatform_io_pins_jtag_TDO_o_oe),
+    .io_pins_gpio_pins_0_i_ival(MarmotCaravelPlatform_io_pins_gpio_pins_0_i_ival),
+    .io_pins_gpio_pins_0_o_oval(MarmotCaravelPlatform_io_pins_gpio_pins_0_o_oval),
+    .io_pins_gpio_pins_0_o_oe(MarmotCaravelPlatform_io_pins_gpio_pins_0_o_oe),
+    .io_pins_gpio_pins_0_o_ie(MarmotCaravelPlatform_io_pins_gpio_pins_0_o_ie),
+    .io_pins_gpio_pins_1_i_ival(MarmotCaravelPlatform_io_pins_gpio_pins_1_i_ival),
+    .io_pins_gpio_pins_1_o_oval(MarmotCaravelPlatform_io_pins_gpio_pins_1_o_oval),
+    .io_pins_gpio_pins_1_o_oe(MarmotCaravelPlatform_io_pins_gpio_pins_1_o_oe),
+    .io_pins_gpio_pins_1_o_ie(MarmotCaravelPlatform_io_pins_gpio_pins_1_o_ie),
+    .io_pins_gpio_pins_2_i_ival(MarmotCaravelPlatform_io_pins_gpio_pins_2_i_ival),
+    .io_pins_gpio_pins_2_o_oval(MarmotCaravelPlatform_io_pins_gpio_pins_2_o_oval),
+    .io_pins_gpio_pins_2_o_oe(MarmotCaravelPlatform_io_pins_gpio_pins_2_o_oe),
+    .io_pins_gpio_pins_2_o_ie(MarmotCaravelPlatform_io_pins_gpio_pins_2_o_ie),
+    .io_pins_gpio_pins_3_i_ival(MarmotCaravelPlatform_io_pins_gpio_pins_3_i_ival),
+    .io_pins_gpio_pins_3_o_oval(MarmotCaravelPlatform_io_pins_gpio_pins_3_o_oval),
+    .io_pins_gpio_pins_3_o_oe(MarmotCaravelPlatform_io_pins_gpio_pins_3_o_oe),
+    .io_pins_gpio_pins_3_o_ie(MarmotCaravelPlatform_io_pins_gpio_pins_3_o_ie),
+    .io_pins_gpio_pins_4_i_ival(MarmotCaravelPlatform_io_pins_gpio_pins_4_i_ival),
+    .io_pins_gpio_pins_4_o_oval(MarmotCaravelPlatform_io_pins_gpio_pins_4_o_oval),
+    .io_pins_gpio_pins_4_o_oe(MarmotCaravelPlatform_io_pins_gpio_pins_4_o_oe),
+    .io_pins_gpio_pins_4_o_ie(MarmotCaravelPlatform_io_pins_gpio_pins_4_o_ie),
+    .io_pins_gpio_pins_5_i_ival(MarmotCaravelPlatform_io_pins_gpio_pins_5_i_ival),
+    .io_pins_gpio_pins_5_o_oval(MarmotCaravelPlatform_io_pins_gpio_pins_5_o_oval),
+    .io_pins_gpio_pins_5_o_oe(MarmotCaravelPlatform_io_pins_gpio_pins_5_o_oe),
+    .io_pins_gpio_pins_5_o_ie(MarmotCaravelPlatform_io_pins_gpio_pins_5_o_ie),
+    .io_pins_gpio_pins_6_i_ival(MarmotCaravelPlatform_io_pins_gpio_pins_6_i_ival),
+    .io_pins_gpio_pins_6_o_oval(MarmotCaravelPlatform_io_pins_gpio_pins_6_o_oval),
+    .io_pins_gpio_pins_6_o_oe(MarmotCaravelPlatform_io_pins_gpio_pins_6_o_oe),
+    .io_pins_gpio_pins_6_o_ie(MarmotCaravelPlatform_io_pins_gpio_pins_6_o_ie),
+    .io_pins_gpio_pins_7_i_ival(MarmotCaravelPlatform_io_pins_gpio_pins_7_i_ival),
+    .io_pins_gpio_pins_7_o_oval(MarmotCaravelPlatform_io_pins_gpio_pins_7_o_oval),
+    .io_pins_gpio_pins_7_o_oe(MarmotCaravelPlatform_io_pins_gpio_pins_7_o_oe),
+    .io_pins_gpio_pins_7_o_ie(MarmotCaravelPlatform_io_pins_gpio_pins_7_o_ie),
+    .io_pins_gpio_pins_8_i_ival(MarmotCaravelPlatform_io_pins_gpio_pins_8_i_ival),
+    .io_pins_gpio_pins_8_o_oval(MarmotCaravelPlatform_io_pins_gpio_pins_8_o_oval),
+    .io_pins_gpio_pins_8_o_oe(MarmotCaravelPlatform_io_pins_gpio_pins_8_o_oe),
+    .io_pins_gpio_pins_8_o_ie(MarmotCaravelPlatform_io_pins_gpio_pins_8_o_ie),
+    .io_pins_gpio_pins_9_i_ival(MarmotCaravelPlatform_io_pins_gpio_pins_9_i_ival),
+    .io_pins_gpio_pins_9_o_oval(MarmotCaravelPlatform_io_pins_gpio_pins_9_o_oval),
+    .io_pins_gpio_pins_9_o_oe(MarmotCaravelPlatform_io_pins_gpio_pins_9_o_oe),
+    .io_pins_gpio_pins_9_o_ie(MarmotCaravelPlatform_io_pins_gpio_pins_9_o_ie),
+    .io_pins_gpio_pins_10_i_ival(MarmotCaravelPlatform_io_pins_gpio_pins_10_i_ival),
+    .io_pins_gpio_pins_10_o_oval(MarmotCaravelPlatform_io_pins_gpio_pins_10_o_oval),
+    .io_pins_gpio_pins_10_o_oe(MarmotCaravelPlatform_io_pins_gpio_pins_10_o_oe),
+    .io_pins_gpio_pins_10_o_ie(MarmotCaravelPlatform_io_pins_gpio_pins_10_o_ie),
+    .io_pins_gpio_pins_11_i_ival(MarmotCaravelPlatform_io_pins_gpio_pins_11_i_ival),
+    .io_pins_gpio_pins_11_o_oval(MarmotCaravelPlatform_io_pins_gpio_pins_11_o_oval),
+    .io_pins_gpio_pins_11_o_oe(MarmotCaravelPlatform_io_pins_gpio_pins_11_o_oe),
+    .io_pins_gpio_pins_11_o_ie(MarmotCaravelPlatform_io_pins_gpio_pins_11_o_ie),
+    .io_pins_gpio_pins_12_i_ival(MarmotCaravelPlatform_io_pins_gpio_pins_12_i_ival),
+    .io_pins_gpio_pins_12_o_oval(MarmotCaravelPlatform_io_pins_gpio_pins_12_o_oval),
+    .io_pins_gpio_pins_12_o_oe(MarmotCaravelPlatform_io_pins_gpio_pins_12_o_oe),
+    .io_pins_gpio_pins_12_o_ie(MarmotCaravelPlatform_io_pins_gpio_pins_12_o_ie),
+    .io_pins_gpio_pins_13_i_ival(MarmotCaravelPlatform_io_pins_gpio_pins_13_i_ival),
+    .io_pins_gpio_pins_13_o_oval(MarmotCaravelPlatform_io_pins_gpio_pins_13_o_oval),
+    .io_pins_gpio_pins_13_o_oe(MarmotCaravelPlatform_io_pins_gpio_pins_13_o_oe),
+    .io_pins_gpio_pins_13_o_ie(MarmotCaravelPlatform_io_pins_gpio_pins_13_o_ie),
+    .io_pins_gpio_pins_14_i_ival(MarmotCaravelPlatform_io_pins_gpio_pins_14_i_ival),
+    .io_pins_gpio_pins_14_o_oval(MarmotCaravelPlatform_io_pins_gpio_pins_14_o_oval),
+    .io_pins_gpio_pins_14_o_oe(MarmotCaravelPlatform_io_pins_gpio_pins_14_o_oe),
+    .io_pins_gpio_pins_14_o_ie(MarmotCaravelPlatform_io_pins_gpio_pins_14_o_ie),
+    .io_pins_gpio_pins_15_i_ival(MarmotCaravelPlatform_io_pins_gpio_pins_15_i_ival),
+    .io_pins_gpio_pins_15_o_oval(MarmotCaravelPlatform_io_pins_gpio_pins_15_o_oval),
+    .io_pins_gpio_pins_15_o_oe(MarmotCaravelPlatform_io_pins_gpio_pins_15_o_oe),
+    .io_pins_gpio_pins_15_o_ie(MarmotCaravelPlatform_io_pins_gpio_pins_15_o_ie),
+    .io_pins_gpio_pins_16_i_ival(MarmotCaravelPlatform_io_pins_gpio_pins_16_i_ival),
+    .io_pins_gpio_pins_16_o_oval(MarmotCaravelPlatform_io_pins_gpio_pins_16_o_oval),
+    .io_pins_gpio_pins_16_o_oe(MarmotCaravelPlatform_io_pins_gpio_pins_16_o_oe),
+    .io_pins_gpio_pins_16_o_ie(MarmotCaravelPlatform_io_pins_gpio_pins_16_o_ie),
+    .io_pins_gpio_pins_17_i_ival(MarmotCaravelPlatform_io_pins_gpio_pins_17_i_ival),
+    .io_pins_gpio_pins_17_o_oval(MarmotCaravelPlatform_io_pins_gpio_pins_17_o_oval),
+    .io_pins_gpio_pins_17_o_oe(MarmotCaravelPlatform_io_pins_gpio_pins_17_o_oe),
+    .io_pins_gpio_pins_17_o_ie(MarmotCaravelPlatform_io_pins_gpio_pins_17_o_ie),
+    .io_pins_gpio_pins_18_i_ival(MarmotCaravelPlatform_io_pins_gpio_pins_18_i_ival),
+    .io_pins_gpio_pins_18_o_oval(MarmotCaravelPlatform_io_pins_gpio_pins_18_o_oval),
+    .io_pins_gpio_pins_18_o_oe(MarmotCaravelPlatform_io_pins_gpio_pins_18_o_oe),
+    .io_pins_gpio_pins_18_o_ie(MarmotCaravelPlatform_io_pins_gpio_pins_18_o_ie),
+    .io_pins_gpio_pins_19_i_ival(MarmotCaravelPlatform_io_pins_gpio_pins_19_i_ival),
+    .io_pins_gpio_pins_19_o_oval(MarmotCaravelPlatform_io_pins_gpio_pins_19_o_oval),
+    .io_pins_gpio_pins_19_o_oe(MarmotCaravelPlatform_io_pins_gpio_pins_19_o_oe),
+    .io_pins_gpio_pins_19_o_ie(MarmotCaravelPlatform_io_pins_gpio_pins_19_o_ie),
+    .io_pins_gpio_pins_20_i_ival(MarmotCaravelPlatform_io_pins_gpio_pins_20_i_ival),
+    .io_pins_gpio_pins_20_o_oval(MarmotCaravelPlatform_io_pins_gpio_pins_20_o_oval),
+    .io_pins_gpio_pins_20_o_oe(MarmotCaravelPlatform_io_pins_gpio_pins_20_o_oe),
+    .io_pins_gpio_pins_20_o_ie(MarmotCaravelPlatform_io_pins_gpio_pins_20_o_ie),
+    .io_pins_gpio_pins_21_i_ival(MarmotCaravelPlatform_io_pins_gpio_pins_21_i_ival),
+    .io_pins_gpio_pins_21_o_oval(MarmotCaravelPlatform_io_pins_gpio_pins_21_o_oval),
+    .io_pins_gpio_pins_21_o_oe(MarmotCaravelPlatform_io_pins_gpio_pins_21_o_oe),
+    .io_pins_gpio_pins_21_o_ie(MarmotCaravelPlatform_io_pins_gpio_pins_21_o_ie),
+    .io_pins_gpio_pins_22_i_ival(MarmotCaravelPlatform_io_pins_gpio_pins_22_i_ival),
+    .io_pins_gpio_pins_22_o_oval(MarmotCaravelPlatform_io_pins_gpio_pins_22_o_oval),
+    .io_pins_gpio_pins_22_o_oe(MarmotCaravelPlatform_io_pins_gpio_pins_22_o_oe),
+    .io_pins_gpio_pins_22_o_ie(MarmotCaravelPlatform_io_pins_gpio_pins_22_o_ie),
+    .io_pins_gpio_pins_23_i_ival(MarmotCaravelPlatform_io_pins_gpio_pins_23_i_ival),
+    .io_pins_gpio_pins_23_o_oval(MarmotCaravelPlatform_io_pins_gpio_pins_23_o_oval),
+    .io_pins_gpio_pins_23_o_oe(MarmotCaravelPlatform_io_pins_gpio_pins_23_o_oe),
+    .io_pins_gpio_pins_23_o_ie(MarmotCaravelPlatform_io_pins_gpio_pins_23_o_ie),
+    .io_pins_gpio_pins_24_i_ival(MarmotCaravelPlatform_io_pins_gpio_pins_24_i_ival),
+    .io_pins_gpio_pins_24_o_oval(MarmotCaravelPlatform_io_pins_gpio_pins_24_o_oval),
+    .io_pins_gpio_pins_24_o_oe(MarmotCaravelPlatform_io_pins_gpio_pins_24_o_oe),
+    .io_pins_gpio_pins_24_o_ie(MarmotCaravelPlatform_io_pins_gpio_pins_24_o_ie),
+    .io_pins_qspi_sck_o_oval(MarmotCaravelPlatform_io_pins_qspi_sck_o_oval),
+    .io_pins_qspi_dq_0_i_ival(MarmotCaravelPlatform_io_pins_qspi_dq_0_i_ival),
+    .io_pins_qspi_dq_0_o_oval(MarmotCaravelPlatform_io_pins_qspi_dq_0_o_oval),
+    .io_pins_qspi_dq_0_o_oe(MarmotCaravelPlatform_io_pins_qspi_dq_0_o_oe),
+    .io_pins_qspi_dq_0_o_ie(MarmotCaravelPlatform_io_pins_qspi_dq_0_o_ie),
+    .io_pins_qspi_dq_1_i_ival(MarmotCaravelPlatform_io_pins_qspi_dq_1_i_ival),
+    .io_pins_qspi_dq_1_o_oval(MarmotCaravelPlatform_io_pins_qspi_dq_1_o_oval),
+    .io_pins_qspi_dq_1_o_oe(MarmotCaravelPlatform_io_pins_qspi_dq_1_o_oe),
+    .io_pins_qspi_dq_1_o_ie(MarmotCaravelPlatform_io_pins_qspi_dq_1_o_ie),
+    .io_pins_qspi_dq_2_i_ival(MarmotCaravelPlatform_io_pins_qspi_dq_2_i_ival),
+    .io_pins_qspi_dq_2_o_oval(MarmotCaravelPlatform_io_pins_qspi_dq_2_o_oval),
+    .io_pins_qspi_dq_2_o_oe(MarmotCaravelPlatform_io_pins_qspi_dq_2_o_oe),
+    .io_pins_qspi_dq_2_o_ie(MarmotCaravelPlatform_io_pins_qspi_dq_2_o_ie),
+    .io_pins_qspi_dq_3_i_ival(MarmotCaravelPlatform_io_pins_qspi_dq_3_i_ival),
+    .io_pins_qspi_dq_3_o_oval(MarmotCaravelPlatform_io_pins_qspi_dq_3_o_oval),
+    .io_pins_qspi_dq_3_o_oe(MarmotCaravelPlatform_io_pins_qspi_dq_3_o_oe),
+    .io_pins_qspi_dq_3_o_ie(MarmotCaravelPlatform_io_pins_qspi_dq_3_o_ie),
+    .io_pins_qspi_cs_0_o_oval(MarmotCaravelPlatform_io_pins_qspi_cs_0_o_oval),
+    .io_pins_uart_rxd_i_ival(MarmotCaravelPlatform_io_pins_uart_rxd_i_ival),
+    .io_pins_uart_txd_o_oval(MarmotCaravelPlatform_io_pins_uart_txd_o_oval),
+    .io_pins_aon_erst_n_i_ival(MarmotCaravelPlatform_io_pins_aon_erst_n_i_ival),
+    .io_pins_aon_lfextclk_i_ival(MarmotCaravelPlatform_io_pins_aon_lfextclk_i_ival),
+    .io_jtag_reset(MarmotCaravelPlatform_io_jtag_reset),
+    .data_arrays_0_ext_RW0_addr(data_arrays_0_ext_RW0_addr),
+    .data_arrays_0_ext_RW0_en(data_arrays_0_ext_RW0_en),
+    .data_arrays_0_ext_RW0_clk(data_arrays_0_ext_RW0_clk),
+    .data_arrays_0_ext_RW0_wmode(data_arrays_0_ext_RW0_wmode),
+    .data_arrays_0_ext_RW0_wdata(data_arrays_0_ext_RW0_wdata),
+    .data_arrays_0_ext_RW0_rdata(data_arrays_0_ext_RW0_rdata),
+    .data_arrays_0_ext_RW0_wmask(data_arrays_0_ext_RW0_wmask),
+    .tag_array_ext_RW0_addr(tag_array_ext_RW0_addr),
+    .tag_array_ext_RW0_en(tag_array_ext_RW0_en),
+    .tag_array_ext_RW0_clk(tag_array_ext_RW0_clk),
+    .tag_array_ext_RW0_wmode(tag_array_ext_RW0_wmode),
+    .tag_array_ext_RW0_wdata(tag_array_ext_RW0_wdata),
+    .tag_array_ext_RW0_rdata(tag_array_ext_RW0_rdata),
+    .tag_array_ext_RW0_wmask(tag_array_ext_RW0_wmask),
+    .data_arrays_0_0_ext_RW0_addr(data_arrays_0_0_ext_RW0_addr),
+    .data_arrays_0_0_ext_RW0_en(data_arrays_0_0_ext_RW0_en),
+    .data_arrays_0_0_ext_RW0_clk(data_arrays_0_0_ext_RW0_clk),
+    .data_arrays_0_0_ext_RW0_wmode(data_arrays_0_0_ext_RW0_wmode),
+    .data_arrays_0_0_ext_RW0_wdata(data_arrays_0_0_ext_RW0_wdata),
+    .data_arrays_0_0_ext_RW0_rdata(data_arrays_0_0_ext_RW0_rdata),
+    .data_arrays_0_0_ext_RW0_wmask(data_arrays_0_0_ext_RW0_wmask)
+  );
+  assign _T_374 = ~ rst_n; // @[Chip.scala 28:26:shc.marmotcaravel.MarmotCaravelConfig.fir@298180.4]
+  assign _T_380 = value + 1'h1; // @[Counter.scala 35:22:shc.marmotcaravel.MarmotCaravelConfig.fir@298186.6]
+  assign _T_382 = ~ slow_clock; // @[Chip.scala 32:40:shc.marmotcaravel.MarmotCaravelConfig.fir@298191.6]
+  assign io_out_0 = 1'h0; // @[Chip.scala 48:15:shc.marmotcaravel.MarmotCaravelConfig.fir@298199.4]
+  assign io_out_1 = MarmotCaravelPlatform_io_pins_jtag_TDO_o_oval; // @[Chip.scala 52:15:shc.marmotcaravel.MarmotCaravelConfig.fir@298201.4]
+  assign io_out_2 = 1'h0; // @[Chip.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@298204.4]
+  assign io_out_3 = 1'h0; // @[Chip.scala 61:15:shc.marmotcaravel.MarmotCaravelConfig.fir@298208.4]
+  assign io_out_4 = 1'h0; // @[Chip.scala 66:15:shc.marmotcaravel.MarmotCaravelConfig.fir@298212.4]
+  assign io_out_5 = 1'h0; // @[Chip.scala 82:15:shc.marmotcaravel.MarmotCaravelConfig.fir@298221.4]
+  assign io_out_6 = MarmotCaravelPlatform_io_pins_uart_txd_o_oval; // @[Chip.scala 87:15:shc.marmotcaravel.MarmotCaravelConfig.fir@298225.4]
+  assign io_out_7 = MarmotCaravelPlatform_io_pins_gpio_pins_24_o_oval; // @[Chip.scala 134:16:shc.marmotcaravel.MarmotCaravelConfig.fir@298374.4]
+  assign io_out_8 = MarmotCaravelPlatform_io_pins_qspi_cs_0_o_oval; // @[Chip.scala 95:16:shc.marmotcaravel.MarmotCaravelConfig.fir@298228.4]
+  assign io_out_9 = MarmotCaravelPlatform_io_pins_qspi_sck_o_oval; // @[Chip.scala 99:16:shc.marmotcaravel.MarmotCaravelConfig.fir@298231.4]
+  assign io_out_10 = MarmotCaravelPlatform_io_pins_qspi_dq_0_o_oval; // @[Chip.scala 103:16:shc.marmotcaravel.MarmotCaravelConfig.fir@298234.4]
+  assign io_out_11 = MarmotCaravelPlatform_io_pins_qspi_dq_1_o_oval; // @[Chip.scala 108:16:shc.marmotcaravel.MarmotCaravelConfig.fir@298239.4]
+  assign io_out_12 = MarmotCaravelPlatform_io_pins_qspi_dq_2_o_oval; // @[Chip.scala 113:16:shc.marmotcaravel.MarmotCaravelConfig.fir@298244.4]
+  assign io_out_13 = MarmotCaravelPlatform_io_pins_qspi_dq_3_o_oval; // @[Chip.scala 118:16:shc.marmotcaravel.MarmotCaravelConfig.fir@298249.4]
+  assign io_out_14 = MarmotCaravelPlatform_io_pins_gpio_pins_0_o_oval; // @[Chip.scala 128:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298254.4]
+  assign io_out_15 = MarmotCaravelPlatform_io_pins_gpio_pins_1_o_oval; // @[Chip.scala 128:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298259.4]
+  assign io_out_16 = MarmotCaravelPlatform_io_pins_gpio_pins_2_o_oval; // @[Chip.scala 128:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298264.4]
+  assign io_out_17 = MarmotCaravelPlatform_io_pins_gpio_pins_3_o_oval; // @[Chip.scala 128:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298269.4]
+  assign io_out_18 = MarmotCaravelPlatform_io_pins_gpio_pins_4_o_oval; // @[Chip.scala 128:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298274.4]
+  assign io_out_19 = MarmotCaravelPlatform_io_pins_gpio_pins_5_o_oval; // @[Chip.scala 128:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298279.4]
+  assign io_out_20 = MarmotCaravelPlatform_io_pins_gpio_pins_6_o_oval; // @[Chip.scala 128:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298284.4]
+  assign io_out_21 = MarmotCaravelPlatform_io_pins_gpio_pins_7_o_oval; // @[Chip.scala 128:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298289.4]
+  assign io_out_22 = MarmotCaravelPlatform_io_pins_gpio_pins_8_o_oval; // @[Chip.scala 128:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298294.4]
+  assign io_out_23 = MarmotCaravelPlatform_io_pins_gpio_pins_9_o_oval; // @[Chip.scala 128:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298299.4]
+  assign io_out_24 = MarmotCaravelPlatform_io_pins_gpio_pins_10_o_oval; // @[Chip.scala 128:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298304.4]
+  assign io_out_25 = MarmotCaravelPlatform_io_pins_gpio_pins_11_o_oval; // @[Chip.scala 128:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298309.4]
+  assign io_out_26 = MarmotCaravelPlatform_io_pins_gpio_pins_12_o_oval; // @[Chip.scala 128:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298314.4]
+  assign io_out_27 = MarmotCaravelPlatform_io_pins_gpio_pins_13_o_oval; // @[Chip.scala 128:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298319.4]
+  assign io_out_28 = MarmotCaravelPlatform_io_pins_gpio_pins_14_o_oval; // @[Chip.scala 128:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298324.4]
+  assign io_out_29 = MarmotCaravelPlatform_io_pins_gpio_pins_15_o_oval; // @[Chip.scala 128:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298329.4]
+  assign io_out_30 = MarmotCaravelPlatform_io_pins_gpio_pins_16_o_oval; // @[Chip.scala 128:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298334.4]
+  assign io_out_31 = MarmotCaravelPlatform_io_pins_gpio_pins_17_o_oval; // @[Chip.scala 128:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298339.4]
+  assign io_out_32 = MarmotCaravelPlatform_io_pins_gpio_pins_18_o_oval; // @[Chip.scala 128:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298344.4]
+  assign io_out_33 = MarmotCaravelPlatform_io_pins_gpio_pins_19_o_oval; // @[Chip.scala 128:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298349.4]
+  assign io_out_34 = MarmotCaravelPlatform_io_pins_gpio_pins_20_o_oval; // @[Chip.scala 128:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298354.4]
+  assign io_out_35 = MarmotCaravelPlatform_io_pins_gpio_pins_21_o_oval; // @[Chip.scala 128:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298359.4]
+  assign io_out_36 = MarmotCaravelPlatform_io_pins_gpio_pins_22_o_oval; // @[Chip.scala 128:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298364.4]
+  assign io_out_37 = MarmotCaravelPlatform_io_pins_gpio_pins_23_o_oval; // @[Chip.scala 128:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298369.4]
+  assign io_oeb_0 = 1'h1; // @[Chip.scala 49:15:shc.marmotcaravel.MarmotCaravelConfig.fir@298200.4]
+  assign io_oeb_1 = ~ MarmotCaravelPlatform_io_pins_jtag_TDO_o_oe; // @[Chip.scala 53:15:shc.marmotcaravel.MarmotCaravelConfig.fir@298203.4]
+  assign io_oeb_2 = 1'h1; // @[Chip.scala 57:15:shc.marmotcaravel.MarmotCaravelConfig.fir@298205.4]
+  assign io_oeb_3 = 1'h1; // @[Chip.scala 62:15:shc.marmotcaravel.MarmotCaravelConfig.fir@298209.4]
+  assign io_oeb_4 = 1'h1; // @[Chip.scala 67:15:shc.marmotcaravel.MarmotCaravelConfig.fir@298213.4]
+  assign io_oeb_5 = 1'h1; // @[Chip.scala 83:15:shc.marmotcaravel.MarmotCaravelConfig.fir@298222.4]
+  assign io_oeb_6 = 1'h0; // @[Chip.scala 88:15:shc.marmotcaravel.MarmotCaravelConfig.fir@298227.4]
+  assign io_oeb_7 = ~ MarmotCaravelPlatform_io_pins_gpio_pins_24_o_oe; // @[Chip.scala 135:16:shc.marmotcaravel.MarmotCaravelConfig.fir@298376.4]
+  assign io_oeb_8 = 1'h0; // @[Chip.scala 96:16:shc.marmotcaravel.MarmotCaravelConfig.fir@298230.4]
+  assign io_oeb_9 = 1'h0; // @[Chip.scala 100:16:shc.marmotcaravel.MarmotCaravelConfig.fir@298233.4]
+  assign io_oeb_10 = ~ MarmotCaravelPlatform_io_pins_qspi_dq_0_o_oe; // @[Chip.scala 104:16:shc.marmotcaravel.MarmotCaravelConfig.fir@298236.4]
+  assign io_oeb_11 = ~ MarmotCaravelPlatform_io_pins_qspi_dq_1_o_oe; // @[Chip.scala 109:16:shc.marmotcaravel.MarmotCaravelConfig.fir@298241.4]
+  assign io_oeb_12 = ~ MarmotCaravelPlatform_io_pins_qspi_dq_2_o_oe; // @[Chip.scala 114:16:shc.marmotcaravel.MarmotCaravelConfig.fir@298246.4]
+  assign io_oeb_13 = ~ MarmotCaravelPlatform_io_pins_qspi_dq_3_o_oe; // @[Chip.scala 119:16:shc.marmotcaravel.MarmotCaravelConfig.fir@298251.4]
+  assign io_oeb_14 = ~ MarmotCaravelPlatform_io_pins_gpio_pins_0_o_oe; // @[Chip.scala 129:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298256.4]
+  assign io_oeb_15 = ~ MarmotCaravelPlatform_io_pins_gpio_pins_1_o_oe; // @[Chip.scala 129:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298261.4]
+  assign io_oeb_16 = ~ MarmotCaravelPlatform_io_pins_gpio_pins_2_o_oe; // @[Chip.scala 129:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298266.4]
+  assign io_oeb_17 = ~ MarmotCaravelPlatform_io_pins_gpio_pins_3_o_oe; // @[Chip.scala 129:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298271.4]
+  assign io_oeb_18 = ~ MarmotCaravelPlatform_io_pins_gpio_pins_4_o_oe; // @[Chip.scala 129:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298276.4]
+  assign io_oeb_19 = ~ MarmotCaravelPlatform_io_pins_gpio_pins_5_o_oe; // @[Chip.scala 129:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298281.4]
+  assign io_oeb_20 = ~ MarmotCaravelPlatform_io_pins_gpio_pins_6_o_oe; // @[Chip.scala 129:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298286.4]
+  assign io_oeb_21 = ~ MarmotCaravelPlatform_io_pins_gpio_pins_7_o_oe; // @[Chip.scala 129:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298291.4]
+  assign io_oeb_22 = ~ MarmotCaravelPlatform_io_pins_gpio_pins_8_o_oe; // @[Chip.scala 129:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298296.4]
+  assign io_oeb_23 = ~ MarmotCaravelPlatform_io_pins_gpio_pins_9_o_oe; // @[Chip.scala 129:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298301.4]
+  assign io_oeb_24 = ~ MarmotCaravelPlatform_io_pins_gpio_pins_10_o_oe; // @[Chip.scala 129:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298306.4]
+  assign io_oeb_25 = ~ MarmotCaravelPlatform_io_pins_gpio_pins_11_o_oe; // @[Chip.scala 129:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298311.4]
+  assign io_oeb_26 = ~ MarmotCaravelPlatform_io_pins_gpio_pins_12_o_oe; // @[Chip.scala 129:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298316.4]
+  assign io_oeb_27 = ~ MarmotCaravelPlatform_io_pins_gpio_pins_13_o_oe; // @[Chip.scala 129:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298321.4]
+  assign io_oeb_28 = ~ MarmotCaravelPlatform_io_pins_gpio_pins_14_o_oe; // @[Chip.scala 129:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298326.4]
+  assign io_oeb_29 = ~ MarmotCaravelPlatform_io_pins_gpio_pins_15_o_oe; // @[Chip.scala 129:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298331.4]
+  assign io_oeb_30 = ~ MarmotCaravelPlatform_io_pins_gpio_pins_16_o_oe; // @[Chip.scala 129:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298336.4]
+  assign io_oeb_31 = ~ MarmotCaravelPlatform_io_pins_gpio_pins_17_o_oe; // @[Chip.scala 129:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298341.4]
+  assign io_oeb_32 = ~ MarmotCaravelPlatform_io_pins_gpio_pins_18_o_oe; // @[Chip.scala 129:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298346.4]
+  assign io_oeb_33 = ~ MarmotCaravelPlatform_io_pins_gpio_pins_19_o_oe; // @[Chip.scala 129:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298351.4]
+  assign io_oeb_34 = ~ MarmotCaravelPlatform_io_pins_gpio_pins_20_o_oe; // @[Chip.scala 129:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298356.4]
+  assign io_oeb_35 = ~ MarmotCaravelPlatform_io_pins_gpio_pins_21_o_oe; // @[Chip.scala 129:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298361.4]
+  assign io_oeb_36 = ~ MarmotCaravelPlatform_io_pins_gpio_pins_22_o_oe; // @[Chip.scala 129:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298366.4]
+  assign io_oeb_37 = ~ MarmotCaravelPlatform_io_pins_gpio_pins_23_o_oe; // @[Chip.scala 129:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298371.4]
+  assign MarmotCaravelPlatform_clock = clk; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298197.4]
+  assign MarmotCaravelPlatform_io_pins_jtag_TCK_i_ival = io_in_4; // @[Chip.scala 68:33:shc.marmotcaravel.MarmotCaravelConfig.fir@298215.4]
+  assign MarmotCaravelPlatform_io_pins_jtag_TMS_i_ival = io_in_3; // @[Chip.scala 63:33:shc.marmotcaravel.MarmotCaravelConfig.fir@298211.4]
+  assign MarmotCaravelPlatform_io_pins_jtag_TDI_i_ival = io_in_2; // @[Chip.scala 58:33:shc.marmotcaravel.MarmotCaravelConfig.fir@298207.4]
+  assign MarmotCaravelPlatform_io_pins_gpio_pins_0_i_ival = io_in_14 & MarmotCaravelPlatform_io_pins_gpio_pins_0_o_ie; // @[Chip.scala 130:41:shc.marmotcaravel.MarmotCaravelConfig.fir@298258.4]
+  assign MarmotCaravelPlatform_io_pins_gpio_pins_1_i_ival = io_in_15 & MarmotCaravelPlatform_io_pins_gpio_pins_1_o_ie; // @[Chip.scala 130:41:shc.marmotcaravel.MarmotCaravelConfig.fir@298263.4]
+  assign MarmotCaravelPlatform_io_pins_gpio_pins_2_i_ival = io_in_16 & MarmotCaravelPlatform_io_pins_gpio_pins_2_o_ie; // @[Chip.scala 130:41:shc.marmotcaravel.MarmotCaravelConfig.fir@298268.4]
+  assign MarmotCaravelPlatform_io_pins_gpio_pins_3_i_ival = io_in_17 & MarmotCaravelPlatform_io_pins_gpio_pins_3_o_ie; // @[Chip.scala 130:41:shc.marmotcaravel.MarmotCaravelConfig.fir@298273.4]
+  assign MarmotCaravelPlatform_io_pins_gpio_pins_4_i_ival = io_in_18 & MarmotCaravelPlatform_io_pins_gpio_pins_4_o_ie; // @[Chip.scala 130:41:shc.marmotcaravel.MarmotCaravelConfig.fir@298278.4]
+  assign MarmotCaravelPlatform_io_pins_gpio_pins_5_i_ival = io_in_19 & MarmotCaravelPlatform_io_pins_gpio_pins_5_o_ie; // @[Chip.scala 130:41:shc.marmotcaravel.MarmotCaravelConfig.fir@298283.4]
+  assign MarmotCaravelPlatform_io_pins_gpio_pins_6_i_ival = io_in_20 & MarmotCaravelPlatform_io_pins_gpio_pins_6_o_ie; // @[Chip.scala 130:41:shc.marmotcaravel.MarmotCaravelConfig.fir@298288.4]
+  assign MarmotCaravelPlatform_io_pins_gpio_pins_7_i_ival = io_in_21 & MarmotCaravelPlatform_io_pins_gpio_pins_7_o_ie; // @[Chip.scala 130:41:shc.marmotcaravel.MarmotCaravelConfig.fir@298293.4]
+  assign MarmotCaravelPlatform_io_pins_gpio_pins_8_i_ival = io_in_22 & MarmotCaravelPlatform_io_pins_gpio_pins_8_o_ie; // @[Chip.scala 130:41:shc.marmotcaravel.MarmotCaravelConfig.fir@298298.4]
+  assign MarmotCaravelPlatform_io_pins_gpio_pins_9_i_ival = io_in_23 & MarmotCaravelPlatform_io_pins_gpio_pins_9_o_ie; // @[Chip.scala 130:41:shc.marmotcaravel.MarmotCaravelConfig.fir@298303.4]
+  assign MarmotCaravelPlatform_io_pins_gpio_pins_10_i_ival = io_in_24 & MarmotCaravelPlatform_io_pins_gpio_pins_10_o_ie; // @[Chip.scala 130:41:shc.marmotcaravel.MarmotCaravelConfig.fir@298308.4]
+  assign MarmotCaravelPlatform_io_pins_gpio_pins_11_i_ival = io_in_25 & MarmotCaravelPlatform_io_pins_gpio_pins_11_o_ie; // @[Chip.scala 130:41:shc.marmotcaravel.MarmotCaravelConfig.fir@298313.4]
+  assign MarmotCaravelPlatform_io_pins_gpio_pins_12_i_ival = io_in_26 & MarmotCaravelPlatform_io_pins_gpio_pins_12_o_ie; // @[Chip.scala 130:41:shc.marmotcaravel.MarmotCaravelConfig.fir@298318.4]
+  assign MarmotCaravelPlatform_io_pins_gpio_pins_13_i_ival = io_in_27 & MarmotCaravelPlatform_io_pins_gpio_pins_13_o_ie; // @[Chip.scala 130:41:shc.marmotcaravel.MarmotCaravelConfig.fir@298323.4]
+  assign MarmotCaravelPlatform_io_pins_gpio_pins_14_i_ival = io_in_28 & MarmotCaravelPlatform_io_pins_gpio_pins_14_o_ie; // @[Chip.scala 130:41:shc.marmotcaravel.MarmotCaravelConfig.fir@298328.4]
+  assign MarmotCaravelPlatform_io_pins_gpio_pins_15_i_ival = io_in_29 & MarmotCaravelPlatform_io_pins_gpio_pins_15_o_ie; // @[Chip.scala 130:41:shc.marmotcaravel.MarmotCaravelConfig.fir@298333.4]
+  assign MarmotCaravelPlatform_io_pins_gpio_pins_16_i_ival = io_in_30 & MarmotCaravelPlatform_io_pins_gpio_pins_16_o_ie; // @[Chip.scala 130:41:shc.marmotcaravel.MarmotCaravelConfig.fir@298338.4]
+  assign MarmotCaravelPlatform_io_pins_gpio_pins_17_i_ival = io_in_31 & MarmotCaravelPlatform_io_pins_gpio_pins_17_o_ie; // @[Chip.scala 130:41:shc.marmotcaravel.MarmotCaravelConfig.fir@298343.4]
+  assign MarmotCaravelPlatform_io_pins_gpio_pins_18_i_ival = io_in_32 & MarmotCaravelPlatform_io_pins_gpio_pins_18_o_ie; // @[Chip.scala 130:41:shc.marmotcaravel.MarmotCaravelConfig.fir@298348.4]
+  assign MarmotCaravelPlatform_io_pins_gpio_pins_19_i_ival = io_in_33 & MarmotCaravelPlatform_io_pins_gpio_pins_19_o_ie; // @[Chip.scala 130:41:shc.marmotcaravel.MarmotCaravelConfig.fir@298353.4]
+  assign MarmotCaravelPlatform_io_pins_gpio_pins_20_i_ival = io_in_34 & MarmotCaravelPlatform_io_pins_gpio_pins_20_o_ie; // @[Chip.scala 130:41:shc.marmotcaravel.MarmotCaravelConfig.fir@298358.4]
+  assign MarmotCaravelPlatform_io_pins_gpio_pins_21_i_ival = io_in_35 & MarmotCaravelPlatform_io_pins_gpio_pins_21_o_ie; // @[Chip.scala 130:41:shc.marmotcaravel.MarmotCaravelConfig.fir@298363.4]
+  assign MarmotCaravelPlatform_io_pins_gpio_pins_22_i_ival = io_in_36 & MarmotCaravelPlatform_io_pins_gpio_pins_22_o_ie; // @[Chip.scala 130:41:shc.marmotcaravel.MarmotCaravelConfig.fir@298368.4]
+  assign MarmotCaravelPlatform_io_pins_gpio_pins_23_i_ival = io_in_37 & MarmotCaravelPlatform_io_pins_gpio_pins_23_o_ie; // @[Chip.scala 130:41:shc.marmotcaravel.MarmotCaravelConfig.fir@298373.4]
+  assign MarmotCaravelPlatform_io_pins_gpio_pins_24_i_ival = io_in_7 & MarmotCaravelPlatform_io_pins_gpio_pins_24_o_ie; // @[Chip.scala 136:38:shc.marmotcaravel.MarmotCaravelConfig.fir@298378.4]
+  assign MarmotCaravelPlatform_io_pins_qspi_dq_0_i_ival = io_in_10 & MarmotCaravelPlatform_io_pins_qspi_dq_0_o_ie; // @[Chip.scala 105:35:shc.marmotcaravel.MarmotCaravelConfig.fir@298238.4]
+  assign MarmotCaravelPlatform_io_pins_qspi_dq_1_i_ival = io_in_11 & MarmotCaravelPlatform_io_pins_qspi_dq_1_o_ie; // @[Chip.scala 110:35:shc.marmotcaravel.MarmotCaravelConfig.fir@298243.4]
+  assign MarmotCaravelPlatform_io_pins_qspi_dq_2_i_ival = io_in_12 & MarmotCaravelPlatform_io_pins_qspi_dq_2_o_ie; // @[Chip.scala 115:35:shc.marmotcaravel.MarmotCaravelConfig.fir@298248.4]
+  assign MarmotCaravelPlatform_io_pins_qspi_dq_3_i_ival = io_in_13 & MarmotCaravelPlatform_io_pins_qspi_dq_3_o_ie; // @[Chip.scala 120:35:shc.marmotcaravel.MarmotCaravelConfig.fir@298253.4]
+  assign MarmotCaravelPlatform_io_pins_uart_rxd_i_ival = io_in_5; // @[Chip.scala 84:33:shc.marmotcaravel.MarmotCaravelConfig.fir@298224.4]
+  assign MarmotCaravelPlatform_io_pins_aon_erst_n_i_ival = rst_n; // @[Chip.scala 147:41:shc.marmotcaravel.MarmotCaravelConfig.fir@298386.4]
+  assign MarmotCaravelPlatform_io_pins_aon_lfextclk_i_ival = slow_clock; // @[Chip.scala 148:41:shc.marmotcaravel.MarmotCaravelConfig.fir@298387.4]
+  assign MarmotCaravelPlatform_io_jtag_reset = ~ rst_n; // @[Chip.scala 71:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298217.4]
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE
+  integer initvar;
+  initial begin
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_0 = {1{`RANDOM}};
+  slow_clock = _RAND_0[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  `ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  value = _RAND_1[0:0];
+  `endif // RANDOMIZE_REG_INIT
+  end
+`endif // RANDOMIZE
+  always @(posedge clk) begin
+    if (_T_374) begin
+      slow_clock <= 1'h0;
+    end else begin
+      if (value) begin
+        slow_clock <= _T_382;
+      end
+    end
+    if (_T_374) begin
+      value <= 1'h0;
+    end else begin
+      value <= _T_380;
+    end
+  end
+endmodule
+module data_arrays_0(
+  input  [11:0] RW0_addr,
+  input         RW0_en,
+  input         RW0_clk,
+  input         RW0_wmode,
+  input  [7:0]  RW0_wdata_0,
+  input  [7:0]  RW0_wdata_1,
+  input  [7:0]  RW0_wdata_2,
+  input  [7:0]  RW0_wdata_3,
+  output [7:0]  RW0_rdata_0,
+  output [7:0]  RW0_rdata_1,
+  output [7:0]  RW0_rdata_2,
+  output [7:0]  RW0_rdata_3,
+  input         RW0_wmask_0,
+  input         RW0_wmask_1,
+  input         RW0_wmask_2,
+  input         RW0_wmask_3,
+  output [11:0] data_arrays_0_ext_RW0_addr,
+  output  data_arrays_0_ext_RW0_en,
+  output  data_arrays_0_ext_RW0_clk,
+  output  data_arrays_0_ext_RW0_wmode,
+  output [31:0] data_arrays_0_ext_RW0_wdata,
+  input  [31:0] data_arrays_0_ext_RW0_rdata,
+  output [3:0] data_arrays_0_ext_RW0_wmask
+);
+  wire [7:0] _GEN_0;
+  wire [7:0] _GEN_1;
+  wire [7:0] _GEN_2;
+  wire [7:0] _GEN_3;
+  wire [7:0] _GEN_4;
+  wire [7:0] _GEN_5;
+  wire [7:0] _GEN_6;
+  wire [7:0] _GEN_7;
+  wire [15:0] _GEN_8;
+  wire [15:0] _GEN_9;
+  wire  _GEN_10;
+  wire  _GEN_11;
+  wire  _GEN_12;
+  wire  _GEN_13;
+  wire [1:0] _GEN_14;
+  wire [1:0] _GEN_15;
+//  data_arrays_0_ext data_arrays_0_ext (
+//    .RW0_addr(data_arrays_0_ext_RW0_addr),
+//    .RW0_en(data_arrays_0_ext_RW0_en),
+//    .RW0_clk(data_arrays_0_ext_RW0_clk),
+//    .RW0_wmode(data_arrays_0_ext_RW0_wmode),
+//    .RW0_wdata(data_arrays_0_ext_RW0_wdata),
+//    .RW0_rdata(data_arrays_0_ext_RW0_rdata),
+//    .RW0_wmask(data_arrays_0_ext_RW0_wmask)
+//  );
+  assign data_arrays_0_ext_RW0_clk = RW0_clk;
+  assign data_arrays_0_ext_RW0_en = RW0_en;
+  assign data_arrays_0_ext_RW0_addr = RW0_addr;
+  assign _GEN_0 = data_arrays_0_ext_RW0_rdata[7:0];
+  assign RW0_rdata_0 = $unsigned(_GEN_0);
+  assign _GEN_1 = data_arrays_0_ext_RW0_rdata[15:8];
+  assign RW0_rdata_1 = $unsigned(_GEN_1);
+  assign _GEN_2 = data_arrays_0_ext_RW0_rdata[23:16];
+  assign RW0_rdata_2 = $unsigned(_GEN_2);
+  assign _GEN_3 = data_arrays_0_ext_RW0_rdata[31:24];
+  assign RW0_rdata_3 = $unsigned(_GEN_3);
+  assign data_arrays_0_ext_RW0_wmode = RW0_wmode;
+  assign _GEN_4 = $unsigned(RW0_wdata_3);
+  assign _GEN_5 = $unsigned(RW0_wdata_2);
+  assign _GEN_6 = $unsigned(RW0_wdata_1);
+  assign _GEN_7 = $unsigned(RW0_wdata_0);
+  assign _GEN_8 = {_GEN_4,_GEN_5};
+  assign _GEN_9 = {_GEN_6,_GEN_7};
+  assign data_arrays_0_ext_RW0_wdata = {_GEN_8,_GEN_9};
+  assign _GEN_10 = $unsigned(RW0_wmask_3);
+  assign _GEN_11 = $unsigned(RW0_wmask_2);
+  assign _GEN_12 = $unsigned(RW0_wmask_1);
+  assign _GEN_13 = $unsigned(RW0_wmask_0);
+  assign _GEN_14 = {_GEN_10,_GEN_11};
+  assign _GEN_15 = {_GEN_12,_GEN_13};
+  assign data_arrays_0_ext_RW0_wmask = {_GEN_14,_GEN_15};
+endmodule
+module tag_array(
+  input  [6:0]  RW0_addr,
+  input         RW0_en,
+  input         RW0_clk,
+  input         RW0_wmode,
+  input  [19:0] RW0_wdata_0,
+  input  [19:0] RW0_wdata_1,
+  output [19:0] RW0_rdata_0,
+  output [19:0] RW0_rdata_1,
+  input         RW0_wmask_0,
+  input         RW0_wmask_1,
+  output [6:0] tag_array_ext_RW0_addr,
+  output  tag_array_ext_RW0_en,
+  output  tag_array_ext_RW0_clk,
+  output  tag_array_ext_RW0_wmode,
+  output [39:0] tag_array_ext_RW0_wdata,
+  input  [39:0] tag_array_ext_RW0_rdata,
+  output [1:0] tag_array_ext_RW0_wmask
+);
+  wire [19:0] _GEN_0;
+  wire [19:0] _GEN_1;
+  wire [19:0] _GEN_2;
+  wire [19:0] _GEN_3;
+  wire  _GEN_4;
+  wire  _GEN_5;
+//tag_array_ext tag_array_ext (
+//  .RW0_addr(tag_array_ext_RW0_addr),
+//  .RW0_en(tag_array_ext_RW0_en),
+//  .RW0_clk(tag_array_ext_RW0_clk),
+//  .RW0_wmode(tag_array_ext_RW0_wmode),
+//  .RW0_wdata(tag_array_ext_RW0_wdata),
+//  .RW0_rdata(tag_array_ext_RW0_rdata),
+//  .RW0_wmask(tag_array_ext_RW0_wmask)
+//);
+  assign tag_array_ext_RW0_clk = RW0_clk;
+  assign tag_array_ext_RW0_en = RW0_en;
+  assign tag_array_ext_RW0_addr = RW0_addr;
+  assign _GEN_0 = tag_array_ext_RW0_rdata[19:0];
+  assign RW0_rdata_0 = $unsigned(_GEN_0);
+  assign _GEN_1 = tag_array_ext_RW0_rdata[39:20];
+  assign RW0_rdata_1 = $unsigned(_GEN_1);
+  assign tag_array_ext_RW0_wmode = RW0_wmode;
+  assign _GEN_2 = $unsigned(RW0_wdata_1);
+  assign _GEN_3 = $unsigned(RW0_wdata_0);
+  assign tag_array_ext_RW0_wdata = {_GEN_2,_GEN_3};
+  assign _GEN_4 = $unsigned(RW0_wmask_1);
+  assign _GEN_5 = $unsigned(RW0_wmask_0);
+  assign tag_array_ext_RW0_wmask = {_GEN_4,_GEN_5};
+endmodule
+module data_arrays_0_0(
+  input  [10:0] RW0_addr,
+  input         RW0_en,
+  input         RW0_clk,
+  input         RW0_wmode,
+  input  [31:0] RW0_wdata_0,
+  input  [31:0] RW0_wdata_1,
+  output [31:0] RW0_rdata_0,
+  output [31:0] RW0_rdata_1,
+  input         RW0_wmask_0,
+  input         RW0_wmask_1,
+  output [10:0] data_arrays_0_0_ext_RW0_addr,
+  output  data_arrays_0_0_ext_RW0_en,
+  output  data_arrays_0_0_ext_RW0_clk,
+  output  data_arrays_0_0_ext_RW0_wmode,
+  output [63:0] data_arrays_0_0_ext_RW0_wdata,
+  input  [63:0] data_arrays_0_0_ext_RW0_rdata,
+  output [1:0] data_arrays_0_0_ext_RW0_wmask
+);
+  wire [31:0] _GEN_0;
+  wire [31:0] _GEN_1;
+  wire [31:0] _GEN_2;
+  wire [31:0] _GEN_3;
+  wire  _GEN_4;
+  wire  _GEN_5;
+//data_arrays_0_0_ext data_arrays_0_0_ext (
+//  .RW0_addr(data_arrays_0_0_ext_RW0_addr),
+//  .RW0_en(data_arrays_0_0_ext_RW0_en),
+//  .RW0_clk(data_arrays_0_0_ext_RW0_clk),
+//  .RW0_wmode(data_arrays_0_0_ext_RW0_wmode),
+//  .RW0_wdata(data_arrays_0_0_ext_RW0_wdata),
+//  .RW0_rdata(data_arrays_0_0_ext_RW0_rdata),
+//  .RW0_wmask(data_arrays_0_0_ext_RW0_wmask)
+//);
+  assign data_arrays_0_0_ext_RW0_clk = RW0_clk;
+  assign data_arrays_0_0_ext_RW0_en = RW0_en;
+  assign data_arrays_0_0_ext_RW0_addr = RW0_addr;
+  assign _GEN_0 = data_arrays_0_0_ext_RW0_rdata[31:0];
+  assign RW0_rdata_0 = $unsigned(_GEN_0);
+  assign _GEN_1 = data_arrays_0_0_ext_RW0_rdata[63:32];
+  assign RW0_rdata_1 = $unsigned(_GEN_1);
+  assign data_arrays_0_0_ext_RW0_wmode = RW0_wmode;
+  assign _GEN_2 = $unsigned(RW0_wdata_1);
+  assign _GEN_3 = $unsigned(RW0_wdata_0);
+  assign data_arrays_0_0_ext_RW0_wdata = {_GEN_2,_GEN_3};
+  assign _GEN_4 = $unsigned(RW0_wmask_1);
+  assign _GEN_5 = $unsigned(RW0_wmask_0);
+  assign data_arrays_0_0_ext_RW0_wmask = {_GEN_4,_GEN_5};
+endmodule
diff --git a/verilog/rtl/user_project_wrapper.v b/verilog/rtl/user_project_wrapper.v
index 5ee1cee..b4336ac 100644
--- a/verilog/rtl/user_project_wrapper.v
+++ b/verilog/rtl/user_project_wrapper.v
@@ -81,8 +81,51 @@
 /*--------------------------------------*/
 /* User project is instantiated  here   */
 /*--------------------------------------*/
+  // For data_arrays_0_ext
+//wire [8:0]  data_arrays_0_ext_ram_addr;
+//wire        data_arrays_0_ext_ram_clk;
+//wire [31:0] data_arrays_0_ext_ram_wdata;
+//wire [3:0]  data_arrays_0_ext_ram_wmask;
+//wire [7:0]  data_arrays_0_ext_ram_csb;
+//wire        data_arrays_0_ext_ram_web;
+//wire [31:0] data_arrays_0_ext_ram_rdata0;
+//wire [31:0] data_arrays_0_ext_ram_rdata1;
+//wire [31:0] data_arrays_0_ext_ram_rdata2;
+//wire [31:0] data_arrays_0_ext_ram_rdata3;
+//wire [31:0] data_arrays_0_ext_ram_rdata4;
+//wire [31:0] data_arrays_0_ext_ram_rdata5;
+//wire [31:0] data_arrays_0_ext_ram_rdata6;
+//wire [31:0] data_arrays_0_ext_ram_rdata7;
+//wire [7:0]  data_arrays_0_ext_ram_csb1;
+//wire [8:0]  data_arrays_0_ext_ram_addr1;
 
-user_proj_example mprj (
+  // For tag_array_ext
+  wire [7:0]  tag_array_ext_ram_addr;
+  wire        tag_array_ext_ram_clk;
+  wire [63:0] tag_array_ext_ram_wdata;
+  wire [1:0]  tag_array_ext_ram_wmask;
+  wire        tag_array_ext_ram_csb;
+  wire        tag_array_ext_ram_web;
+  wire [31:0] tag_array_ext_ram_rdata0;
+  wire [31:0] tag_array_ext_ram_rdata1;
+  wire [1:0]  tag_array_ext_ram_csb1;
+  wire [7:0]  tag_array_ext_ram_addr1;
+
+  // For data_arrays_0_0_ext
+  wire [8:0]  data_arrays_0_0_ext_ram_addr;
+  wire        data_arrays_0_0_ext_ram_clk;
+  wire [63:0] data_arrays_0_0_ext_ram_wdata;
+  wire [1:0]  data_arrays_0_0_ext_ram_wmask;
+  wire [3:0]  data_arrays_0_0_ext_ram_csb;
+  wire        data_arrays_0_0_ext_ram_web;
+  wire [63:0] data_arrays_0_0_ext_ram_rdata0;
+  wire [63:0] data_arrays_0_0_ext_ram_rdata1;
+  wire [63:0] data_arrays_0_0_ext_ram_rdata2;
+  wire [63:0] data_arrays_0_0_ext_ram_rdata3;
+  wire [7:0]  data_arrays_0_0_ext_ram_csb1;
+  wire [8:0]  data_arrays_0_0_ext_ram_addr1;
+
+Marmot Marmot (
 `ifdef USE_POWER_PINS
 	.vccd1(vccd1),	// User area 1 1.8V power
 	.vssd1(vssd1),	// User area 1 digital ground
@@ -115,9 +158,390 @@
     .io_oeb(io_oeb),
 
     // IRQ
-    .irq(user_irq)
+    .irq(user_irq),
+
+    // RAM Signals
+//  .data_arrays_0_ext_ram_addr(data_arrays_0_ext_ram_addr),
+//  .data_arrays_0_ext_ram_clk(data_arrays_0_ext_ram_clk),
+//  .data_arrays_0_ext_ram_wdata(data_arrays_0_ext_ram_wdata),
+//  .data_arrays_0_ext_ram_wmask(data_arrays_0_ext_ram_wmask),
+//  .data_arrays_0_ext_ram_csb(data_arrays_0_ext_ram_csb),
+//  .data_arrays_0_ext_ram_web(data_arrays_0_ext_ram_web),
+//  .data_arrays_0_ext_ram_rdata0(data_arrays_0_ext_ram_rdata0),
+//  .data_arrays_0_ext_ram_rdata1(data_arrays_0_ext_ram_rdata1),
+//  .data_arrays_0_ext_ram_rdata2(data_arrays_0_ext_ram_rdata2),
+//  .data_arrays_0_ext_ram_rdata3(data_arrays_0_ext_ram_rdata3),
+//  .data_arrays_0_ext_ram_rdata4(data_arrays_0_ext_ram_rdata4),
+//  .data_arrays_0_ext_ram_rdata5(data_arrays_0_ext_ram_rdata5),
+//  .data_arrays_0_ext_ram_rdata6(data_arrays_0_ext_ram_rdata6),
+//  .data_arrays_0_ext_ram_rdata7(data_arrays_0_ext_ram_rdata7),
+//  .data_arrays_0_ext_ram_csb1(data_arrays_0_ext_ram_csb1),
+//  .data_arrays_0_ext_ram_addr1(data_arrays_0_ext_ram_addr1),
+
+    .tag_array_ext_ram_addr(tag_array_ext_ram_addr),
+    .tag_array_ext_ram_clk(tag_array_ext_ram_clk),
+    .tag_array_ext_ram_wdata(tag_array_ext_ram_wdata),
+    .tag_array_ext_ram_wmask(tag_array_ext_ram_wmask),
+    .tag_array_ext_ram_csb(tag_array_ext_ram_csb),
+    .tag_array_ext_ram_web(tag_array_ext_ram_web),
+    .tag_array_ext_ram_rdata0(tag_array_ext_ram_rdata0),
+    .tag_array_ext_ram_rdata1(tag_array_ext_ram_rdata1),
+    .tag_array_ext_ram_csb1(tag_array_ext_ram_csb1),
+    .tag_array_ext_ram_addr1(tag_array_ext_ram_addr1),
+
+    .data_arrays_0_0_ext_ram_addr(data_arrays_0_0_ext_ram_addr),
+    .data_arrays_0_0_ext_ram_clk(data_arrays_0_0_ext_ram_clk),
+    .data_arrays_0_0_ext_ram_wdata(data_arrays_0_0_ext_ram_wdata),
+    .data_arrays_0_0_ext_ram_wmask(data_arrays_0_0_ext_ram_wmask),
+    .data_arrays_0_0_ext_ram_csb(data_arrays_0_0_ext_ram_csb),
+    .data_arrays_0_0_ext_ram_web(data_arrays_0_0_ext_ram_web),
+    .data_arrays_0_0_ext_ram_rdata0(data_arrays_0_0_ext_ram_rdata0),
+    .data_arrays_0_0_ext_ram_rdata1(data_arrays_0_0_ext_ram_rdata1),
+    .data_arrays_0_0_ext_ram_rdata2(data_arrays_0_0_ext_ram_rdata2),
+    .data_arrays_0_0_ext_ram_rdata3(data_arrays_0_0_ext_ram_rdata3),
+    .data_arrays_0_0_ext_ram_csb1(data_arrays_0_0_ext_ram_csb1),
+    .data_arrays_0_0_ext_ram_addr1(data_arrays_0_0_ext_ram_addr1)
 );
 
+`ifndef VERBOSE
+  `define VERBOSE 0
+`endif
+
+//-----------------------------------------------------------------------
+// RAMs for data_arrays_0_ext
+//-----------------------------------------------------------------------
+`ifdef DO_NOT_DEFINE
+  sky130_sram_2kbyte_1rw1r_32x512_8 #(.VERBOSE(`VERBOSE)) data_arrays_0_ext_ram0 (
+`ifdef USE_POWER_PINS
+    .vccd1  (vccd1),
+    .vssd1  (vssd1),
+`endif
+    .clk0   (data_arrays_0_ext_ram_clk),    // clock
+    .csb0   (data_arrays_0_ext_ram_csb[0]), // active low chip select
+    .web0   (data_arrays_0_ext_ram_web),    // active low write control
+    .wmask0 (data_arrays_0_ext_ram_wmask),  // write mask
+    .addr0  (data_arrays_0_ext_ram_addr),
+    .din0   (data_arrays_0_ext_ram_wdata),
+    .dout0  (data_arrays_0_ext_ram_rdata0),
+    .clk1   (data_arrays_0_ext_ram_clk),    // clock
+    .csb1   (data_arrays_0_ext_ram_csb1[0]),// active low chip select
+    .addr1  (data_arrays_0_ext_ram_addr1),
+    .dout1  ()
+  );
+
+  sky130_sram_2kbyte_1rw1r_32x512_8 #(.VERBOSE(`VERBOSE)) data_arrays_0_ext_ram1 (
+`ifdef USE_POWER_PINS
+    .vccd1  (vccd1),
+    .vssd1  (vssd1),
+`endif
+    .clk0   (data_arrays_0_ext_ram_clk),    // clock
+    .csb0   (data_arrays_0_ext_ram_csb[1]), // active low chip select
+    .web0   (data_arrays_0_ext_ram_web),    // active low write control
+    .wmask0 (data_arrays_0_ext_ram_wmask),  // write mask
+    .addr0  (data_arrays_0_ext_ram_addr),
+    .din0   (data_arrays_0_ext_ram_wdata),
+    .dout0  (data_arrays_0_ext_ram_rdata1),
+    .clk1   (data_arrays_0_ext_ram_clk),    // clock
+    .csb1   (data_arrays_0_ext_ram_csb1[1]),// active low chip select
+    .addr1  (data_arrays_0_ext_ram_addr1),
+    .dout1  ()
+  );
+
+  sky130_sram_2kbyte_1rw1r_32x512_8 #(.VERBOSE(`VERBOSE)) data_arrays_0_ext_ram2 (
+`ifdef USE_POWER_PINS
+    .vccd1  (vccd1),
+    .vssd1  (vssd1),
+`endif
+    .clk0   (data_arrays_0_ext_ram_clk),    // clock
+    .csb0   (data_arrays_0_ext_ram_csb[2]), // active low chip select
+    .web0   (data_arrays_0_ext_ram_web),    // active low write control
+    .wmask0 (data_arrays_0_ext_ram_wmask),  // write mask
+    .addr0  (data_arrays_0_ext_ram_addr),
+    .din0   (data_arrays_0_ext_ram_wdata),
+    .dout0  (data_arrays_0_ext_ram_rdata2),
+    .clk1   (data_arrays_0_ext_ram_clk),    // clock
+    .csb1   (data_arrays_0_ext_ram_csb1[2]),// active low chip select
+    .addr1  (data_arrays_0_ext_ram_addr1),
+    .dout1  ()
+  );
+
+  sky130_sram_2kbyte_1rw1r_32x512_8 #(.VERBOSE(`VERBOSE)) data_arrays_0_ext_ram3 (
+`ifdef USE_POWER_PINS
+    .vccd1  (vccd1),
+    .vssd1  (vssd1),
+`endif
+    .clk0   (data_arrays_0_ext_ram_clk),    // clock
+    .csb0   (data_arrays_0_ext_ram_csb[3]), // active low chip select
+    .web0   (data_arrays_0_ext_ram_web),    // active low write control
+    .wmask0 (data_arrays_0_ext_ram_wmask),  // write mask
+    .addr0  (data_arrays_0_ext_ram_addr),
+    .din0   (data_arrays_0_ext_ram_wdata),
+    .dout0  (data_arrays_0_ext_ram_rdata3),
+    .clk1   (data_arrays_0_ext_ram_clk),    // clock
+    .csb1   (data_arrays_0_ext_ram_csb1[3]),// active low chip select
+    .addr1  (data_arrays_0_ext_ram_addr1),
+    .dout1  ()
+  );
+
+  sky130_sram_2kbyte_1rw1r_32x512_8 #(.VERBOSE(`VERBOSE)) data_arrays_0_ext_ram4 (
+`ifdef USE_POWER_PINS
+    .vccd1  (vccd1),
+    .vssd1  (vssd1),
+`endif
+    .clk0   (data_arrays_0_ext_ram_clk),    // clock
+    .csb0   (data_arrays_0_ext_ram_csb[4]), // active low chip select
+    .web0   (data_arrays_0_ext_ram_web),    // active low write control
+    .wmask0 (data_arrays_0_ext_ram_wmask),  // write mask
+    .addr0  (data_arrays_0_ext_ram_addr),
+    .din0   (data_arrays_0_ext_ram_wdata),
+    .dout0  (data_arrays_0_ext_ram_rdata4),
+    .clk1   (data_arrays_0_ext_ram_clk),    // clock
+    .csb1   (data_arrays_0_ext_ram_csb1[4]),// active low chip select
+    .addr1  (data_arrays_0_ext_ram_addr1),
+    .dout1  ()
+  );
+
+  sky130_sram_2kbyte_1rw1r_32x512_8 #(.VERBOSE(`VERBOSE)) data_arrays_0_ext_ram5 (
+`ifdef USE_POWER_PINS
+    .vccd1  (vccd1),
+    .vssd1  (vssd1),
+`endif
+    .clk0   (data_arrays_0_ext_ram_clk),    // clock
+    .csb0   (data_arrays_0_ext_ram_csb[5]), // active low chip select
+    .web0   (data_arrays_0_ext_ram_web),    // active low write control
+    .wmask0 (data_arrays_0_ext_ram_wmask),  // write mask
+    .addr0  (data_arrays_0_ext_ram_addr),
+    .din0   (data_arrays_0_ext_ram_wdata),
+    .dout0  (data_arrays_0_ext_ram_rdata5),
+    .clk1   (data_arrays_0_ext_ram_clk),    // clock
+    .csb1   (data_arrays_0_ext_ram_csb1[5]),// active low chip select
+    .addr1  (data_arrays_0_ext_ram_addr1),
+    .dout1  ()
+  );
+
+  sky130_sram_2kbyte_1rw1r_32x512_8 #(.VERBOSE(`VERBOSE)) data_arrays_0_ext_ram6 (
+`ifdef USE_POWER_PINS
+    .vccd1  (vccd1),
+    .vssd1  (vssd1),
+`endif
+    .clk0   (data_arrays_0_ext_ram_clk),    // clock
+    .csb0   (data_arrays_0_ext_ram_csb[6]), // active low chip select
+    .web0   (data_arrays_0_ext_ram_web),    // active low write control
+    .wmask0 (data_arrays_0_ext_ram_wmask),  // write mask
+    .addr0  (data_arrays_0_ext_ram_addr),
+    .din0   (data_arrays_0_ext_ram_wdata),
+    .dout0  (data_arrays_0_ext_ram_rdata6),
+    .clk1   (data_arrays_0_ext_ram_clk),    // clock
+    .csb1   (data_arrays_0_ext_ram_csb1[6]),// active low chip select
+    .addr1  (data_arrays_0_ext_ram_addr1),
+    .dout1  ()
+  );
+
+  sky130_sram_2kbyte_1rw1r_32x512_8 #(.VERBOSE(`VERBOSE)) data_arrays_0_ext_ram7 (
+`ifdef USE_POWER_PINS
+    .vccd1  (vccd1),
+    .vssd1  (vssd1),
+`endif
+    .clk0   (data_arrays_0_ext_ram_clk),    // clock
+    .csb0   (data_arrays_0_ext_ram_csb[7]), // active low chip select
+    .web0   (data_arrays_0_ext_ram_web),    // active low write control
+    .wmask0 (data_arrays_0_ext_ram_wmask),  // write mask
+    .addr0  (data_arrays_0_ext_ram_addr),
+    .din0   (data_arrays_0_ext_ram_wdata),
+    .dout0  (data_arrays_0_ext_ram_rdata7),
+    .clk1   (data_arrays_0_ext_ram_clk),    // clock
+    .csb1   (data_arrays_0_ext_ram_csb1[7]),// active low chip select
+    .addr1  (data_arrays_0_ext_ram_addr1),
+    .dout1  ()
+  );
+`endif // DO_NOT_DEFINE
+
+//-----------------------------------------------------------------------
+// RAMs for tag_array_ext
+//-----------------------------------------------------------------------
+  sky130_sram_1kbyte_1rw1r_32x256_8 #(.VERBOSE(`VERBOSE)) tag_array_ext_ram0h (
+`ifdef USE_POWER_PINS
+    .vccd1  (vccd1),
+    .vssd1  (vssd1),
+`endif
+    .clk0   (tag_array_ext_ram_clk),    // clock
+    .csb0   (tag_array_ext_ram_csb),    // active low chip select
+    .web0   (tag_array_ext_ram_web),    // active low write control
+    .wmask0 ({4{tag_array_ext_ram_wmask[1]}}), // write mask
+    .addr0  (tag_array_ext_ram_addr),
+    .din0   (tag_array_ext_ram_wdata[63:32]),
+    .dout0  (tag_array_ext_ram_rdata1),
+    .clk1   (tag_array_ext_ram_clk),    // clock
+    .csb1   (tag_array_ext_ram_csb1[1]),// active low chip select
+    .addr1  (tag_array_ext_ram_addr1),
+    .dout1  ()
+  );
+
+  sky130_sram_1kbyte_1rw1r_32x256_8 #(.VERBOSE(`VERBOSE)) tag_array_ext_ram0l (
+`ifdef USE_POWER_PINS
+    .vccd1  (vccd1),
+    .vssd1  (vssd1),
+`endif
+    .clk0   (tag_array_ext_ram_clk),    // clock
+    .csb0   (tag_array_ext_ram_csb),    // active low chip select
+    .web0   (tag_array_ext_ram_web),    // active low write control
+    .wmask0 ({4{tag_array_ext_ram_wmask[0]}}), // write mask
+    .addr0  (tag_array_ext_ram_addr),
+    .din0   (tag_array_ext_ram_wdata[31:0]),
+    .dout0  (tag_array_ext_ram_rdata0),
+    .clk1   (tag_array_ext_ram_clk),    // clock
+    .csb1   (tag_array_ext_ram_csb1[0]),// active low chip select
+    .addr1  (tag_array_ext_ram_addr1),
+    .dout1  ()
+  );
+
+//-----------------------------------------------------------------------
+// RAMs for  data_arrays_0_0_ext
+//-----------------------------------------------------------------------
+  sky130_sram_2kbyte_1rw1r_32x512_8 #(.VERBOSE(`VERBOSE)) data_arrays_0_0_ext_ram0h (
+`ifdef USE_POWER_PINS
+    .vccd1  (vccd1),
+    .vssd1  (vssd1),
+`endif
+    .clk0   (data_arrays_0_0_ext_ram_clk),    // clock
+    .csb0   (data_arrays_0_0_ext_ram_csb[0]), // active low chip select
+    .web0   (data_arrays_0_0_ext_ram_web),    // active low write control
+    .wmask0 ({4{data_arrays_0_0_ext_ram_wmask[1]}}), // write mask
+    .addr0  (data_arrays_0_0_ext_ram_addr),
+    .din0   (data_arrays_0_0_ext_ram_wdata[63:32]),
+    .dout0  (data_arrays_0_0_ext_ram_rdata0[63:32]),
+    .clk1   (data_arrays_0_0_ext_ram_clk),    // clock
+    .csb1   (data_arrays_0_0_ext_ram_csb1[0]),// active low chip select
+    .addr1  (data_arrays_0_0_ext_ram_addr1),
+    .dout1  ()
+  );
+
+  sky130_sram_2kbyte_1rw1r_32x512_8 #(.VERBOSE(`VERBOSE)) data_arrays_0_0_ext_ram0l (
+`ifdef USE_POWER_PINS
+    .vccd1  (vccd1),
+    .vssd1  (vssd1),
+`endif
+    .clk0   (data_arrays_0_0_ext_ram_clk),    // clock
+    .csb0   (data_arrays_0_0_ext_ram_csb[0]), // active low chip select
+    .web0   (data_arrays_0_0_ext_ram_web),    // active low write control
+    .wmask0 ({4{data_arrays_0_0_ext_ram_wmask[0]}}), // write mask
+    .addr0  (data_arrays_0_0_ext_ram_addr),
+    .din0   (data_arrays_0_0_ext_ram_wdata[31:0]),
+    .dout0  (data_arrays_0_0_ext_ram_rdata0[31:0]),
+    .clk1   (data_arrays_0_0_ext_ram_clk),   // clock
+    .csb1   (data_arrays_0_0_ext_ram_csb1[1]),// active low chip select
+    .addr1  (data_arrays_0_0_ext_ram_addr1),
+    .dout1  ()
+  );
+
+  sky130_sram_2kbyte_1rw1r_32x512_8 #(.VERBOSE(`VERBOSE)) data_arrays_0_0_ext_ram1h (
+`ifdef USE_POWER_PINS
+    .vccd1  (vccd1),
+    .vssd1  (vssd1),
+`endif
+    .clk0   (data_arrays_0_0_ext_ram_clk),    // clock
+    .csb0   (data_arrays_0_0_ext_ram_csb[1]), // active low chip select
+    .web0   (data_arrays_0_0_ext_ram_web),    // active low write control
+    .wmask0 ({4{data_arrays_0_0_ext_ram_wmask[1]}}), // write mask
+    .addr0  (data_arrays_0_0_ext_ram_addr),
+    .din0   (data_arrays_0_0_ext_ram_wdata[63:32]),
+    .dout0  (data_arrays_0_0_ext_ram_rdata1[63:32]),
+    .clk1   (data_arrays_0_0_ext_ram_clk),    // clock
+    .csb1   (data_arrays_0_0_ext_ram_csb1[2]),// active low chip select
+    .addr1  (data_arrays_0_0_ext_ram_addr1),
+    .dout1  ()
+  );
+
+  sky130_sram_2kbyte_1rw1r_32x512_8 #(.VERBOSE(`VERBOSE)) data_arrays_0_0_ext_ram1l (
+`ifdef USE_POWER_PINS
+    .vccd1  (vccd1),
+    .vssd1  (vssd1),
+`endif
+    .clk0   (data_arrays_0_0_ext_ram_clk),    // clock
+    .csb0   (data_arrays_0_0_ext_ram_csb[1]), // active low chip select
+    .web0   (data_arrays_0_0_ext_ram_web),    // active low write control
+    .wmask0 ({4{data_arrays_0_0_ext_ram_wmask[0]}}), // write mask
+    .addr0  (data_arrays_0_0_ext_ram_addr),
+    .din0   (data_arrays_0_0_ext_ram_wdata[31:0]),
+    .dout0  (data_arrays_0_0_ext_ram_rdata1[31:0]),
+    .clk1   (data_arrays_0_0_ext_ram_clk),    // clock
+    .csb1   (data_arrays_0_0_ext_ram_csb1[3]),// active low chip select
+    .addr1  (data_arrays_0_0_ext_ram_addr1),
+    .dout1  ()
+  );
+
+  sky130_sram_2kbyte_1rw1r_32x512_8 #(.VERBOSE(`VERBOSE)) data_arrays_0_0_ext_ram2h (
+`ifdef USE_POWER_PINS
+    .vccd1  (vccd1),
+    .vssd1  (vssd1),
+`endif
+    .clk0   (data_arrays_0_0_ext_ram_clk),    // clock
+    .csb0   (data_arrays_0_0_ext_ram_csb[2]), // active low chip select
+    .web0   (data_arrays_0_0_ext_ram_web),    // active low write control
+    .wmask0 ({4{data_arrays_0_0_ext_ram_wmask[1]}}), // write mask
+    .addr0  (data_arrays_0_0_ext_ram_addr),
+    .din0   (data_arrays_0_0_ext_ram_wdata[63:32]),
+    .dout0  (data_arrays_0_0_ext_ram_rdata2[63:32]),
+    .clk1   (data_arrays_0_0_ext_ram_clk),    // clock
+    .csb1   (data_arrays_0_0_ext_ram_csb1[4]),// active low chip select
+    .addr1  (data_arrays_0_0_ext_ram_addr1),
+    .dout1  ()
+  );
+
+  sky130_sram_2kbyte_1rw1r_32x512_8 #(.VERBOSE(`VERBOSE)) data_arrays_0_0_ext_ram2l (
+`ifdef USE_POWER_PINS
+    .vccd1  (vccd1),
+    .vssd1  (vssd1),
+`endif
+    .clk0   (data_arrays_0_0_ext_ram_clk),    // clock
+    .csb0   (data_arrays_0_0_ext_ram_csb[2]), // active low chip select
+    .web0   (data_arrays_0_0_ext_ram_web),    // active low write control
+    .wmask0 ({4{data_arrays_0_0_ext_ram_wmask[0]}}), // write mask
+    .addr0  (data_arrays_0_0_ext_ram_addr),
+    .din0   (data_arrays_0_0_ext_ram_wdata[31:0]),
+    .dout0  (data_arrays_0_0_ext_ram_rdata2[31:0]),
+    .clk1   (data_arrays_0_0_ext_ram_clk),    // clock
+    .csb1   (data_arrays_0_0_ext_ram_csb1[5]),// active low chip select
+    .addr1  (data_arrays_0_0_ext_ram_addr1),
+    .dout1  ()
+  );
+
+  sky130_sram_2kbyte_1rw1r_32x512_8 #(.VERBOSE(`VERBOSE)) data_arrays_0_0_ext_ram3h (
+`ifdef USE_POWER_PINS
+    .vccd1  (vccd1),
+    .vssd1  (vssd1),
+`endif
+    .clk0   (data_arrays_0_0_ext_ram_clk),    // clock
+    .csb0   (data_arrays_0_0_ext_ram_csb[3]), // active low chip select
+    .web0   (data_arrays_0_0_ext_ram_web),    // active low write control
+    .wmask0 ({4{data_arrays_0_0_ext_ram_wmask[1]}}), // write mask
+    .addr0  (data_arrays_0_0_ext_ram_addr),
+    .din0   (data_arrays_0_0_ext_ram_wdata[63:32]),
+    .dout0  (data_arrays_0_0_ext_ram_rdata3[63:32]),
+    .clk1   (data_arrays_0_0_ext_ram_clk),    // clock
+    .csb1   (data_arrays_0_0_ext_ram_csb1[6]),// active low chip select
+    .addr1  (data_arrays_0_0_ext_ram_addr1),
+    .dout1  ()
+  );
+
+  sky130_sram_2kbyte_1rw1r_32x512_8 #(.VERBOSE(`VERBOSE)) data_arrays_0_0_ext_ram3l (
+`ifdef USE_POWER_PINS
+    .vccd1  (vccd1),
+    .vssd1  (vssd1),
+`endif
+    .clk0   (data_arrays_0_0_ext_ram_clk),    // clock
+    .csb0   (data_arrays_0_0_ext_ram_csb[3]), // active low chip select
+    .web0   (data_arrays_0_0_ext_ram_web),    // active low write control
+    .wmask0 ({4{data_arrays_0_0_ext_ram_wmask[0]}}), // write mask
+    .addr0  (data_arrays_0_0_ext_ram_addr),
+    .din0   (data_arrays_0_0_ext_ram_wdata[31:0]),
+    .dout0  (data_arrays_0_0_ext_ram_rdata3[31:0]),
+    .clk1   (data_arrays_0_0_ext_ram_clk),    // clock
+    .csb1   (data_arrays_0_0_ext_ram_csb1[7]),// active low chip select
+    .addr1  (data_arrays_0_0_ext_ram_addr1),
+    .dout1  ()
+  );
+
 endmodule	// user_project_wrapper
 
 `default_nettype wire